WO2013065673A1 - 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 - Google Patents
動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 Download PDFInfo
- Publication number
- WO2013065673A1 WO2013065673A1 PCT/JP2012/078012 JP2012078012W WO2013065673A1 WO 2013065673 A1 WO2013065673 A1 WO 2013065673A1 JP 2012078012 W JP2012078012 W JP 2012078012W WO 2013065673 A1 WO2013065673 A1 WO 2013065673A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- tile
- filter
- unit
- decoded image
- frame
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
Definitions
- the present invention relates to a moving picture coding apparatus and a moving picture coding method for compressing and coding an image and transmitting the same, a moving picture decoding apparatus for decoding an image from coded data transmitted by the moving picture coding apparatus, and a moving picture decoding apparatus It relates to the method.
- a square block called an input video frame by a name such as a macro block (MB) or a coding unit (CU)
- MB macro block
- CU coding unit
- intra-frame prediction, inter-frame prediction, orthogonal transformation of prediction error signal, quantization, entropy coding processing and the like are performed.
- processing for determining loop filter parameters, processing for filtering the local decoded image using the loop filter And the entropy coding process is performed.
- the encoding process of each coding unit is premised on processing the coding units in raster scan order, and the encoding process of a certain coding unit requires the encoding result of the previous coding unit in raster scan order. Specifically, when performing inter-frame prediction, a local decoded image of an adjacent coding unit is used as a pixel reference. Also, in the entropy coding process, when estimating the probability of occurrence of a symbol, a probability transition model is shared with the previous coding unit in raster scan order, and adjacent macroblocks for switching the probability model.
- Non-Patent Document 1 in order to solve the above problems, a structure called a tile is used.
- the tile is a rectangular area made up of a plurality of coding units, as shown in FIG.
- Parallel processing at the tile level is possible by eliminating the dependency on coding units belonging to different tiles.
- the tiles have the following characteristics.
- the image division into tiles is performed in units of coding units.
- the width of each row and each column is nonuniform grid shape. That is, vertically adjacent tiles have equal left and right coordinates, and horizontally adjacent tiles have equal upper and lower coordinates.
- Each coding unit is processed within the tile in a closed raster scan order. Also, it is possible to perform slice division in the tile.
- the coding unit to be processed first in the tile starts entropy coding from the initial state.
- (5) In the processing of intraframe prediction, interframe prediction, and entropy coding / decoding, when referring to locally decoded images of adjacent coding units and coding modes, adjacent coding units are different tiles. If it belongs, processing of the screen edge is performed without referring to the adjacent coding unit.
- the loop filter process is performed on the entire screen after processing of all the tiles is completed and a decoded image for the entire screen is created.
- JCT VC-F 335 Tiles
- JCT-VC Joint Collaborative Team on Video Coding
- the conventional moving picture coding apparatus is configured as described above, parallel processing is possible for intra-frame / inter-frame prediction, orthogonal transformation / quantization of prediction error signal, and entropy coding.
- the loop filter process is performed on the entire screen.
- the tile boundary filtering process it is necessary to refer to locally decoded images of both tiles adjacent to the boundary, so both tiles must have been processed, and parallel processing at tile level is required. There was a problem that processing could not be performed.
- the present invention has been made to solve the above-described problems, and a moving picture coding apparatus, a moving picture decoding apparatus, a moving picture coding method, and a moving picture which can perform loop filter processing in parallel at tile level.
- the purpose is to obtain an image decoding method.
- a moving picture coding apparatus comprises: a division control means for outputting division control information for instructing a division state of an input image; and a rectangular area of a predetermined size according to the division control information outputted from the division control means Tile distribution with reference to the locally decoded image stored in the image memory, and tile distribution means for dividing the tile into tiles and distributing the divided tiles, an image memory for storing the locally decoded image after the filtering process, and One or more tile codes for generating a locally decoded image from the coded bit data as well as outputting coded bit data which is the coding result by performing predictive difference coding processing on the tiles distributed by the means.
- Filter and tile-by-tile filter suitable for filtering the locally decoded image generated by the tile coding unit One or more tile filter means for performing the filtering process on the local decoded image using the filter, and local decoding after the filtering process by the one or more tile filter means according to the division control information output from the division control means
- a local decoded image storage unit that combines the images to generate a frame-by-frame local decoded image and stores the local decoded image in an image memory; and the multiplexing unit includes encoded bit data output from the tile encoding unit
- the filter parameter indicating the tile-based filter determined by the tile filter means and the division control information output from the division control means are multiplexed to generate a bit stream.
- the division control means for outputting division control information for instructing the division state of the input image, and the input image is divided into tiles which are rectangular areas of a predetermined size according to the division control information outputted from the division control means
- tile distribution means for distributing tiles after division, and by performing prediction differential encoding processing on the tiles distributed by the tile distribution means with reference to the locally decoded image stored in the image memory
- One or more tile coding means for outputting coded bit data which is a coding result and generating a local decoded image from the coded bit data is provided, and one or more tile filter means are provided by the tile coding means Determine a tile-based filter suitable for the filtering process of the generated local decoded image, and use the filter to execute the local decoding Since it is configured to perform filtering processing on the image, there is an effect that it is possible to perform parallel processing of the loop filter at the tile level.
- FIG. 1 is a block diagram showing a moving picture coding apparatus according to a first embodiment of the present invention.
- the encoding control unit 1 executes processing for outputting tile division control information (division control information) for instructing a division state when dividing an input image represented by a video signal into tiles which are rectangular areas of a predetermined size.
- tile division control information division control information
- the encoding control unit 1 is a filter parameter sharing flag indicating whether or not the filter used in the filtering process of the locally decoded image in units of tiles generated by the tile encoding units 5-1 to 5-N is shared by each tile Implement processing to output (filter sharing flag).
- the coding control unit 1 constitutes a division control unit.
- the tile division control unit 2 performs processing of controlling division of the input image in the parallel processing start unit 3 so that the tile division control information output from the encoding control unit 1 matches the designated division state.
- the parallel processing start unit 3 divides the input image represented by the video signal into tiles of a predetermined size, and distributes the divided tiles to the tile encoding units 5-1 to 5-N. Perform the process.
- the tile division control unit 2 and the parallel processing start unit 3 constitute tile distribution means.
- the motion compensation prediction frame memory 4 is a recording medium for storing the locally decoded image after the filtering process.
- the motion compensation prediction frame memory 4 constitutes an image memory.
- the tile encoding device 5 has N tile encoding units 5-1 to 5-N implemented, and the N tile encoding units 5-1 to 5-N independently perform prediction differential encoding processing. carry out. N is an integer of 1 or more.
- the tile coding units 5-1 to 5-N refer to the local decoded image after filtering processing stored in the motion compensation prediction frame memory 4 and perform predictive difference coding on the tiles distributed by the parallel processing start unit 3
- the bit sequence data (coding bit data) which is the coding result and the coding parameter
- the coding parameter is a parameter used when performing the prediction differential coding process, coding While outputting a mode, a prediction differential coding parameter, an intra prediction parameter, and an inter prediction parameter
- a process of generating a tile local decoded image is performed.
- the tile encoding units 5-1 to 5-N constitute tile encoding means.
- the loop filter control unit 6 When the filter parameter sharing flag output from the encoding control unit 1 indicates that the filter is shared by each tile, the loop filter control unit 6 generates the tiles generated by the tile encoding units 5-1 to 5-N. A local decoded image in frame units is obtained from the local decoded image, a filter in frame units suitable for the local decoded image in frame units is determined, and a process of outputting a filter parameter indicating the filter to the tile loop filter device 7 is performed. Further, the loop filter control unit 6 performs variable length coding on the filter parameter indicating the filter in frame units, and outputs the coded data of the filter parameter to the parallel processing end unit 8. The loop filter control unit 6 constitutes a frame unit filter determination unit.
- the tile loop filter device 7 implements N tile loop filter units 7-1 to 7-N, and the N tile loop filter units 7-1 to 7-N independently perform filtering processing.
- N is an integer of 1 or more.
- the tile loop filter units 7-1 to 7-N indicate that the filter parameter sharing flag output from the encoding control unit 1 indicates that the filters are not shared in each tile.
- Determine a tile-based filter suitable for filtering the tile local decoded image generated by N perform filtering on the tile local decoded image using the filter, and change the filter parameter indicating the tile-based filter
- a long encoding process is performed to multiplex the encoded data of the filter parameter into the bit sequence data output from the tile encoding units 5-1 to 5-N.
- the tile encoding unit 5-1 through the frame unit filter indicated by the filter parameter output from the loop filter control unit 6 are used.
- a filtering process of the tile local decoded image generated by 5-N is performed, and a process of outputting the bit series data output from the tile encoding units 5-1 to 5-N as it is.
- the tile loop filter units 7-1 to 7-N constitute tile filter means.
- the parallel processing end unit 8 combines the tile local decoded images after the filtering processing by the tile loop filter units 7-1 to 7-N according to the tile division control information output from the encoding control unit 1 and generates a local decoded image in frame units. Processing for storing the local decoded image in the motion compensation prediction frame memory 4 and outputting the bit sequence data output from the tile loop filter units 7-1 to 7-N to the variable length code multiplexing unit 9 Conduct.
- the parallel processing end unit 8 indicates that the filter parameter sharing flag output from the encoding control unit 1 makes the filter common to each tile, the filter in frame unit output from the loop filter control unit 6 is used. A process of outputting the encoded data of the filter parameter shown to the variable-length code multiplexing unit 9 is performed.
- the parallel processing end unit 8 constitutes a local decoded image storage unit.
- variable-length code multiplexing unit 9 When the variable-length code multiplexing unit 9 indicates that the filter parameter sharing flag output from the encoding control unit 1 does not make the filter common to each tile, bit sequence data output from the parallel processing end unit 8; A process of generating a bit stream by multiplexing the tile division control information and the filter parameter sharing flag output from the encoding control unit 1 is performed. On the other hand, when the filter parameter sharing flag indicates that the filters should be shared in each tile, the bit sequence data output from the parallel processing end unit 8 and the encoded data of the filter parameter indicating the filter in frame units, and encoding The tile division control information and the filter parameter sharing flag output from the control unit 1 are multiplexed to generate a bit stream.
- the variable-length code multiplexing unit 9 constitutes a multiplexing means.
- a coding control unit 1 a tile division control unit 2, a parallel processing start unit 3, a motion compensation prediction frame memory 4, a tile coding device 5, and a loop filter control, which are components of a moving picture coding device.
- Each of the unit 6, the tile loop filter unit 7, the parallel processing end unit 8 and the variable-length code multiplexing unit 9 is configured by dedicated hardware (for example, a semiconductor integrated circuit on which a CPU is mounted, a one-chip microcomputer, etc.)
- the coding control unit 1, the tile division control unit 2, the parallel processing start unit 3, the tile coding device 5, and the loop filter are assumed.
- FIG. 2 is a flowchart showing the contents of processing (moving picture coding method) of the moving picture coding apparatus according to the first embodiment of the present invention.
- the tile coding control unit 21 determines a coding block size which is a size of a coding target block, and selects a block division unit from among one or more selectable intra coding modes and inter coding modes. A process of determining the coding mode with the highest coding efficiency for the current block to be coded output from 22 is performed.
- the tile coding control unit 21 uses the intra prediction parameter to be used when performing the intra prediction process on the current block in the intra coding mode.
- the process of determining the inter prediction parameter to be used when performing the inter prediction process on the current block in the inter coding mode is determined. carry out. Further, the tile coding control unit 21 performs processing of determining prediction difference coding parameters to be provided to the transform / quantization unit 27, the inverse quantization / inverse transform unit 28, and the variable length coding unit 31.
- the coding mode, the prediction difference coding parameter, the intra prediction parameter, or the inter prediction parameter determined by the tile coding control unit 21 will be collectively referred to as a coding parameter.
- the block division unit 22 divides the tile distributed by the parallel processing start unit 3 into blocks of the coding block size (blocks of prediction processing units) determined by the tile coding control unit 21 and generates blocks of prediction processing units. A process of outputting a certain encoding target block is performed.
- the changeover switch 23 outputs the coding target block output from the block division unit 22 to the intra prediction unit 24 and performs tile coding. If the coding mode determined by the control unit 21 is the inter coding mode, a process of outputting the coding target block output from the block division unit 22 to the motion compensation prediction unit 25 is performed.
- the intra prediction unit 24 uses the intra prediction parameter determined by the tile coding control unit 21 while referring to the locally decoded image stored in the tile local decoded image memory 30, and outputs the coding output from the changeover switch 23 The intra prediction process is performed on the target block to generate an intra predicted image.
- locally decoded images stored in the tile local decoded image memory 30 are only locally decoded images of blocks belonging to the same tile, in the intra prediction processing in the intra prediction unit 24, local decoding of blocks belonging to different tiles No image reference is made. If the block at the reference position is a block belonging to a different tile, intra prediction processing is performed in which pixel reference is unnecessary.
- the motion compensation prediction unit 25 compares the coding target block output from the changeover switch 23 with the locally decoded image after filtering processing stored in the motion compensation prediction frame memory 4 to search for a motion vector, and The inter prediction process (motion compensation prediction process) is performed on the current block to be encoded using the inter prediction parameter determined by the tile coding control unit 21 to generate an inter prediction image.
- the subtraction unit 26 subtracts the intra prediction image generated by the intra prediction unit 24 or the inter prediction image generated by the motion compensation prediction unit 25 from the encoding target block output from the block division unit 22, and A process of outputting a prediction difference signal (difference image) which is a subtraction result to the conversion / quantization unit 27 is performed.
- the transform / quantization unit 27 refers to the prediction difference coding parameter determined by the tile coding control unit 21 and performs orthogonal transformation processing (for example, DCT (discrete cosine transform) on the prediction difference signal output from the subtraction unit 26. And orthogonal transformation processing such as KL transformation or the like in which a basic design is made on a specific learning sequence in advance to calculate transformation coefficients, and referring to the prediction difference encoding parameter, the transformation coefficients are calculated A process of quantizing and outputting compressed data (quantized coefficients of a difference image) which is a transform coefficient after quantization to the inverse quantization / inverse transform unit 28 and the variable-length coding unit 31 is performed.
- orthogonal transformation processing for example, DCT (discrete cosine transform)
- KL transformation or the like in which a basic design is made on a specific learning sequence in advance to calculate transformation coefficients, and referring to the prediction difference encoding parameter, the transformation coefficients are calculated
- the inverse quantization / inverse transform unit 28 dequantizes the compressed data output from the transform / quantization unit 27 with reference to the prediction differential coding parameter determined by the tile coding control unit 21 and also predicts the same.
- An inverse orthogonal transformation process is performed on the transform coefficient, which is compressed data after inverse quantization, with reference to the differential encoding parameter to calculate a local decoded predictive differential signal corresponding to the predictive differential signal output from the subtractor 26.
- the addition unit 29 adds the locally decoded prediction difference signal calculated by the inverse quantization / inverse conversion unit 28, the intra prediction image generated by the intra prediction unit 24, or the inter prediction image generated by the motion compensation prediction unit 25. Are added to each other to calculate a locally decoded image corresponding to the encoding target block output from the block division unit 22.
- the tile local decoded image memory 30 is a recording medium for storing the local decoded image calculated by the adding unit 29.
- a locally decoded image for one tile stored inside is output to the tile loop filter unit 7-n.
- the variable-length coding unit 31 receives the compressed data output from the transform / quantization unit 27, the coding parameter output from the tile coding control unit 21, and the motion vector output from the motion compensation prediction unit 25 (coding The variable length coding is performed when the mode is the inter coding mode), and the bit sequence data as the coding result is output to the tile loop filter unit 7-n.
- the tile loop filter control unit 41 is generated by the tile encoding unit 5-n when the filter parameter sharing flag output from the encoding control unit 1 indicates that the filters are not shared in each tile.
- a tile-based filter suitable for filtering the tile local decoded image is determined, and a process of outputting a filter parameter indicating the filter to the loop filter implementation unit 42 and the variable length coding unit 43 is performed.
- the loop filter implementation unit 42 indicates a tile unit indicated by the filter parameter output from the tile loop filter control unit 41.
- the filtering process is performed on the tile local decoded image output from the tile encoding unit 5-n using the filter of and the encoding parameter output from the tile encoding unit 5-n.
- the filter parameter sharing flag indicates that the filters should be shared in each tile
- the filter in the frame unit indicated by the filter parameter output from the loop filter control unit 6 and the tile encoding unit 5-n are output.
- the filtering process is performed on the tile local decoded image output from the tile coding unit 5-n using the coding parameter.
- variable-length encoding unit 43 outputs the tile-based filter output from the tile loop filter control unit 41.
- the filter parameters shown are variable-length encoded, and the encoded data of the filter parameters is multiplexed into bit series data output from the tile encoding unit 5-n, and output to the parallel processing end unit 8.
- processing is performed to output the bit series data output from the tile encoding unit 5-n to the parallel processing end unit 8 as it is.
- FIG. 6 is a block diagram showing a moving picture decoding apparatus in accordance with Embodiment 1 of the present invention.
- the variable-length code separation unit 51 receives a bit stream generated by the moving picture coding apparatus shown in FIG. 1, bit sequence data in frame units multiplexed into the bit stream (bit sequence in tile units) Data containing data), tile division control information indicating the division state of the input image, a filter sharing flag indicating whether to make the filter common to each tile, and a code of a filter parameter indicating a filter in frame units A process is performed to separate the conversion data (when the filter parameter sharing flag indicates that the filter is common to each tile).
- the variable-length code separation unit 51 constitutes a separation means.
- Parallel processing start unit 52 divides bit sequence data in frame units output from variable length code separation unit 51 into bit sequence data in tile units, and tile bit sequence data in tile units is divided into tile decoding units 54-1 to 54-N. Implement the process of distributing to The parallel processing start unit 52 constructs an encoded bit data distribution unit.
- the motion compensation prediction frame memory 53 is a recording medium for storing the decoded image after the filtering process.
- the motion compensation prediction frame memory 53 constitutes an image memory.
- the tile decoding device 54 implements N tile decoding units 54-1 to 54-N, and the N tile decoding units 54-1 to 54-N independently perform prediction differential decoding processing.
- N is an integer of 1 or more.
- the tile decoding units 54-1 to 54-N refer to the decoded image after filtering processing stored in the motion compensation prediction frame memory 53, and predict the bit series data in tile units distributed by the parallel processing start unit 52.
- a tile-decoded image (a decoded image in tile units) is generated, and the coding parameter (multiplexed in bit sequence data) used when performing the prediction differential decoding process is generated.
- a process of outputting the coding parameter) to tile loop filter units 56-1 to 56-N is performed.
- tile decoding units 54-1 to 54-N constitute tile decoding means.
- the filter parameter decoding unit 55 uses the encoded data output from the filter parameter decoding unit 55 as a frame unit. A filter parameter indicating the filter of (1) is decoded, and the filter parameter is output to tile loop filter units 56-1 to 56-N.
- the tile loop filter device 56 implements N tile loop filter units 56-1 to 56-N, and the N tile loop filter units 56-1 to 56-N independently perform the filtering process.
- N is an integer of 1 or more.
- the tile loop filter units 56-1 to 56-N indicate that the filter parameter sharing flags separated by the variable-length code separation unit 51 indicate that the filters are not shared among the tiles.
- a filter parameter indicating a tile unit filter is decoded from the encoded data output from N, and tile decoding is performed by tile decoding units 54-1 to 54-N using the tile unit filter indicated by the filter parameter Implement processing to implement filtering processing on the image.
- the tile decoding units 54-1 to 54 use the frame unit filter indicated by the filter parameter output from the filter parameter decoding unit 55. Perform processing to execute filtering processing on the tiled decoded image generated by -N.
- the tile loop filter units 56-1 to 56-N constitute tile filter means.
- the tile division control unit 57 recognizes the tile division state from the tile division control information separated by the variable-length code separation unit 51, and obtains the decoded image corresponding to the original input image in the parallel processing end unit 58. A process of controlling the arrangement of each tile decoded image is performed. Under control of the tile division control unit 57, the parallel processing end unit 58 combines the tile decoded images after the filtering processing by the tile loop filter units 56-1 to 56-N to generate a decoded image in frame units, and decodes the decoded image A process of storing the image in the motion compensation prediction frame memory 53 is performed.
- the tile division control unit 57 and the parallel processing end unit 58 constitute a decoded image storage unit.
- FIG. 6 is a flowchart showing the processing content (moving picture decoding method) of the moving picture decoding apparatus in accordance with Embodiment 1 of the present invention.
- the variable-length decoding unit 61 uses the bit sequence data in tile units distributed by the parallel processing start unit 52 to compress data related to a decoding target block (block corresponding to a coding target block) which is a block of prediction processing unit.
- tile-based filter that performs variable-length decoding on the motion vector (when the coding mode is the inter coding mode) and that is multiplexed into the coding parameters after variable-length decoding and bit sequence data in tile units
- the tile loop filter unit 56-n encodes the encoded data of the filter parameter indicating And it carries out a process of outputting.
- the changeover switch 62 outputs the intra prediction parameter variable-length decoded by the variable-length decoding unit 61 to the intra prediction unit 63
- the coding mode variable-length decoded by the variable-length decoding unit 61 is the inter coding mode, processing for outputting the inter prediction parameter and motion vector variable-length decoded by the variable-length decoding unit 61 to the motion compensation unit 64 carry out.
- the intra prediction unit 63 performs the intra prediction process on the block to be decoded using the intra prediction parameter output from the changeover switch 62 while referring to the decoded image stored in the tile decoded image memory 67, thereby generating an intra predicted image Implement the process to generate
- the motion compensation unit 64 refers to the decoded image after filtering processing stored in the motion compensation prediction frame memory 53, and uses the motion vector and the inter prediction parameter output from the changeover switch 62 to perform inter prediction on the current block A process is performed to generate an inter predicted image.
- the inverse quantization / inverse transform unit 65 dequantizes the compressed data subjected to the variable length decoding by the variable length decoding unit 61 with reference to the prediction differential encoding parameter subjected to the variable length decoding by the variable length decoding unit 61, An inverse orthogonal transformation process is performed on the transform coefficient which is compressed data after inverse quantization with reference to the prediction difference encoding parameter, and a process of calculating a decoded prediction difference signal is performed.
- the addition unit 66 adds the decoded prediction difference signal calculated by the inverse quantization / inverse conversion unit 65 and the intra prediction image generated by the intra prediction unit 63 or the inter prediction image generated by the motion compensation unit 64. Then, a process of calculating a decoded image is performed.
- the tile decoded image memory 67 is a recording medium for storing the decoded image calculated by the adding unit 66.
- a decoded image of one tile stored is output to the outside of the tile decoding unit 54-n.
- the tile filter parameter decoding unit 71 is separated by the variable-length code separation unit 51 when the filter parameter sharing flag separated by the variable-length code separation unit 51 indicates that the filter is not shared in each tile.
- a process of decoding encoded data of a filter parameter indicating a tile-based filter and outputting a filter parameter as a decoding result to the loop filter implementation unit 72 is performed.
- the loop filter implementation unit 72 indicates the tile indicated by the filter parameter decoded by the tile filter parameter decoding unit 71.
- the filtering process is performed on the tile-decoded image output from the tile decoding unit 54-n using the filter of the unit and the encoding parameter that is variable-length decoded by the variable-length decoding unit 61 of the tile decoding unit 54-n.
- the filter parameter sharing flag indicates that the filters should be shared in each tile
- the filter in frame units indicated by the filter parameter output from the filter parameter decoding unit 55 and the variable length decoding unit of the tile decoding unit 54-n
- the filtering process is performed on the tile-decoded image output from the tile decoding unit 54-n using the coding parameter that has been variable-length decoded by the L.S.
- motion compensated prediction is performed between adjacent frames using each frame image of video as an input image, and compression processing by orthogonal transformation and quantization is performed on the obtained prediction difference signal, and then, A video encoding apparatus that performs variable-length coding to generate a bitstream and a video decoding apparatus that decodes a bitstream output from the video encoding apparatus will be described.
- the moving picture coding apparatus shown in FIG. 1 This is characterized in that parallel processing at tile level is made possible in coding processing. At the same time, it is characterized in that in the decoding process, an encoding result that enables parallel processing at the tile level is output.
- the amount of processing In the coding process of the video signal, the amount of processing generally increases in proportion to the spatial, temporal and luminance level resolution of the input video.
- the temporal, spatial and luminance level resolutions of video signals tend to increase, and existing moving image encoding devices and moving image decoding devices are at a predetermined speed. It is conceivable that it becomes impossible to perform encoding processing and decoding processing.
- an input image is spatially divided and given to a plurality of encoding units, and the processing time is reduced by operating the plurality of encoding units in parallel. Is considered. In this case, also on the decoding side, it is possible to reduce the processing time by giving divided and encoded data to different decoding units, and the plurality of decoding units performing decoding processing in parallel.
- the input image is divided into rectangular areas called tiles, and parallelization of prediction differential coding processing at the tile level is performed.
- the filter coefficient derivation and the filtering process can be parallelized, and it is possible to switch whether or not to parallelize the filter coefficient derivation.
- the image frame is an arbitrary video signal such as a monochrome image signal or an infrared image signal, which is composed of horizontal and vertical two-dimensional digital sample (pixel) columns.
- the gradation of each pixel may be 8 bits, or may be gradation such as 10 bits or 12 bits.
- the video signal of the input image is assumed to be a YUV signal, and two color difference components U and V are subsampled with respect to the luminance component Y 4: 2: 0
- a processing data unit corresponding to each frame of the video signal is referred to as a "picture".
- picture is described as a video frame signal which is sequentially scanned (progressive scan), but when the video signal is an interlace signal, “picture” is a unit forming a video frame. It may be a field image signal.
- the encoding control unit 1 controls the tile division control information 2, which instructs the division state when dividing the input image indicated by the video signal into tiles of a predetermined size, to the tile division control unit 2, the parallel processing end unit 8, and the variable length code. It is output to the multiplexing unit 9. Also, the encoding control unit 1 performs filter parameter sharing indicating whether or not the filter used in the filtering process of the locally decoded image in units of tiles generated by the tile encoding units 5-1 to 5-N is shared by each tile.
- the tile division control unit 2, the loop filter control unit 6, the tile loop filter units 7-1 to 7-N, and the variable in the case of common to each tile: flag of ON, not common to each tile: flag of OFF) It is output to the long code multiplexing unit 9.
- the tile division control unit 2 When the tile division control unit 2 receives tile division control information from the encoding control unit 1, the tile division control unit 2 divides the input image in the parallel processing start unit 3 so that the tile division control information matches the designated division state. Control.
- the parallel processing start unit 3 receives the video signal indicating the input image, the parallel processing start unit 3 divides the input image into tiles of a predetermined size under the instruction of the tile division control unit 2, and the tile after division is divided into tile coding units 5- It is distributed to 1 to 5-N (step ST1 in FIG. 2).
- information that controls tile division can be expressed in various ways. For example, tile division is specified according to information indicating how many LCUs the tile has as the smallest unit of the largest CU (Largest CU: LCU). Think about it.
- FIG. 11 is an explanatory view showing an example of LCU division and tile division of an image.
- the input image is divided into LCUs arranged in a grid, starting from the upper left. This division is uniquely determined by specifying the height and width of the image and the length of one side of the LCU. Since tile division is performed with LCU as a minimum unit, the width and height of each tile can be represented by the number of LCUs included in the horizontal and vertical sides. Therefore, ColumnWidthArray [] and RowHeightArray [], which are series of two integers, are given as tile division control information.
- ColumnWidthArray [] is a value in which the width of tiles aligned in the horizontal direction is represented by the number of LCUs, arranged in order from the right.
- RowHeightArray [] is a value in which the heights of tiles aligned in the vertical direction are represented by the number of LCUs, arranged in order from the top.
- the tile division control information must also be information that can express such a division state. For example, it is exemplified to represent by the coordinates of the top left pixel or LCU of the tile, and the information of the width and height of the tile. Further, the tile division state may maintain the same division state in the whole sequence, may be changed in frame units, or may be switched for each picture type such as intra picture, inter picture or the like. When the same tile division state is used throughout the sequence, the tile division information may be multiplexed by the header of the sequence, and when switching in the middle of the sequence, the tile division information may be multiplexed into the picture header of the picture immediately after switching.
- the moving picture coding apparatus shown in FIG. 1 can also operate not to perform parallel processing at any tile level.
- the tile division control information may be specified such that the number of tiles is one and the size of the tiles matches the size of the input image, and the tile coding parallel flag or tile loop filter The parallel flag may turn off all parallel processing. Further, another flag may be multiplexed to tile division control information, and the execution / non-execution of parallel processing may be switched by the flag.
- the parallel processing start unit 3 divides the input image into tiles of a predetermined size and distributes the divided tiles to the tile encoding units 5-1 to 5-N as described above, but the number of tiles that can be simultaneously processed in parallel Since the number of tile encoding units 5-1 to 5-N is the upper limit, one tile encoding unit is used if the number of tiles is larger than the number of tile encoding units 5-1 to 5-N. Output multiple tiles for 5-n. For example, when the number of tiles is 7 and the number of tile encoding units is 3, the tile encoding unit 5-1 processes the tiles 1 to 3 and the tile encoding unit 5-2 processes the tiles 4 to 5 The processing of tiles 6 to 7 is assigned to the tile coding unit 5-3. In addition, even when the number of divisions of tiles is less than the number of tile encoding units, control may be performed to assign a plurality of tiles to one tile encoding unit.
- step ST2 When the filter parameter sharing flag output from the encoding control unit 1 is OFF (step ST2), the processing of the tile encoding unit 5-n and the tile loop filter unit 7-n is continuously performed (step ST3, ST4). At this time, the processing of the tile encoding unit 5-n and the tile loop filter unit 7-n is repeatedly performed by the number of tiles (steps ST5 and ST6), and the processing of each loop is independent. It is possible to execute in parallel as many as the number of encoding units 5-n. When the filter parameter sharing flag is OFF, tile encoding processing and tile loop filter processing can be performed together in parallel, so that the parallelism of the encoding processing can be further improved. In addition, since the filter parameters are localized, the image quality can be improved when the nature of the image is greatly different for each screen area. The details of the processing contents of the tile encoding unit 5-n and the tile loop filter unit 7-n will be described later.
- the tile encoding unit 5-n performs tile encoding processing until the encoding processing of all tiles is completed.
- steps ST8 to ST10 are repeatedly executed (steps ST8 to ST10), and when the encoding process of all the tiles is completed, the loop filter control unit 6 is the entire screen from the tile local decoded image generated by the tile encoding unit 5-n.
- Obtain a local decoded image in frame units determine a filter in frame units suitable for the local decoded image in frame units, and output a filter parameter indicating the filter to tile loop filter unit 7-n and parallel processing end unit 8 ( Step ST11). Details of processing contents of the loop filter control unit 6 will be described later.
- the tile loop filter unit 7-n When the tile loop filter unit 7-n receives the filter parameter from the loop filter control unit 6, the tile loop filter unit 7-n repeatedly executes the filtering process of the tile local decoded image until the filtering process of all tile local decoded images is completed (step ST12 to ST12) ST14).
- the filter parameter sharing flag When the filter parameter sharing flag is ON, the filter parameter is shared by all tiles, so that the code amount of the filter parameter can be suppressed as compared with the case where the filter parameter sharing flag is OFF. Further, designing the filter parameters using the locally decoded image of the entire frame is effective, for example, when the image quality is improved. However, if the filter parameter sharing flag is ON, parallel processing of the tile encoding unit 5-n and tile loop filter unit 7-n needs to be synchronized once, so the parallel performance of the encoding processing is degraded. . In the moving picture decoding apparatus described later, the parallel performance does not deteriorate even when decoding the bit stream created when the filter parameter sharing flag is ON.
- the parallel processing end unit 8 controls the tile loop filter units 7-1 to 7-7 according to the tile division control information output from the encoding control unit 1.
- the tile local decoded image after the filtering process by -N is combined to generate a local decoded image in frame units, and the local decoded image is stored in the motion compensated prediction frame memory 4 and the tile loop filter units 7-1 to 7-
- the bit sequence data output from N is output to the variable-length code multiplexing unit 9.
- the parallel processing end unit 8 outputs the encoded data of the filter parameter indicating the filter in frame units output from the loop filter control unit 6. It is output to the variable-length code multiplexing unit 9.
- variable-length code multiplexing unit 9 When the filter parameter sharing flag output from the encoding control unit 1 is OFF, the variable-length code multiplexing unit 9 outputs the bit series data output from the parallel processing end unit 8 (tile encoding units 5-1 to 5 The bit sequence data generated by -N, the tile division control information output from the encoding control unit 1, and the filter parameter sharing flag are multiplexed by a predetermined method to generate a bit stream (step ST7).
- the filter parameter sharing flag when the filter parameter sharing flag is ON, the bit sequence data (bit sequence data generated by the tile encoding units 5-1 to 5-N) output from the parallel processing end unit 8 and the encoding control unit
- the tile division control information and filter parameter sharing flag output from 1 and the encoded data of the filter parameter indicating the frame unit filter output from the loop filter control unit 6 are multiplexed by a predetermined method to generate a bit stream To do (step ST15).
- the tile encoding device 5 implements N tile encoding units 5-1 to 5-N, and the N tile encoding units 5-1 to 5-N independently perform prediction differential encoding processing (Prediction differential encoding processing without any information reference between tiles) is performed.
- the tile coding control unit 21 of the tile coding unit 5-n determines the size of the largest coding block (LCU) and the upper limit of the number of division layers, and determines the image area of each LCU in a specific order as shown in FIG.
- the processing of steps ST21 to ST31 is performed.
- the tile coding control unit 21 outputs, to the block division unit 22, an instruction to divide into coding target blocks having a coding block size hierarchically up to the upper limit of the number of division layers determined above.
- the coding mode for each coding target block is determined (step ST21 in FIG. 4).
- the block division unit 22 divides the tile distributed by the parallel processing start unit 3 into blocks of coding block size (blocks of prediction processing unit) under the instruction of the tile coding control unit 21 and Output a block to be encoded, which is a block.
- FIG. 12 is an explanatory view showing an example in which the largest coding block is hierarchically divided into a plurality of coding target blocks.
- the largest coding block is a coding target block in which the luminance component described as “the 0th hierarchy” has a size of (L 0 , M 0 ).
- the coding target block is obtained by hierarchically dividing to a predetermined depth separately defined in the quadtree structure.
- the block to be encoded is an image area of size (L n , M n ).
- the coding block size determined by the tile coding control unit 21 is defined as the size (L n , M n ) of the luminance component of the coding target block.
- the size of all color components is (L n , M n ), but 4: 2
- the coding block size of the corresponding chrominance component is (L n / 2, M n / 2).
- the encoding mode m (B n ) may be configured to use an individual mode for each color component, or may be common to all color components. It may be configured to use the mode. The following description will be made on the assumption that the coding mode for the luminance component of the YUV signal and the coding block of the 4: 2: 0 format is indicated unless otherwise specified.
- the coding mode m (B n ) includes one or more intra coding modes (collectively referred to as “INTRA”) and one or more inter coding modes (collectively, “INTER”). And the tile coding control unit 21 selects the coding mode with the highest coding efficiency for the current block B n out of all the coding modes available for the picture or a subset thereof. Choose Furthermore, as shown in FIG. 13, the block to be encoded B n is divided by the block division unit 22 into one or more prediction processing units (partitions).
- the partition belonging to the encoding target block B n P i n i is the partition number in the n layer
- Partition P i n is the prediction processing is carried out all in accordance with the coding mode m (B n), for each encoding target block B n to partition P i n, the prediction parameters are selected.
- the tile coding control unit 21 generates, for example, a block division state as illustrated in FIG. 13 for the largest coding block, and specifies a coding target block.
- the hatched part in FIG. 13A shows the distribution of partitions after division
- FIG. 13B shows the situation where coding mode m (Bn) is allocated by hierarchical division in a quadtree graph .
- the nodes enclosed by ⁇ in FIG. 13B are nodes to which the coding mode m (B n ) is assigned (coding target block).
- the changeover switch 23 is output from the block division unit 22.
- the coding target block B n is output to the intra prediction unit 24.
- the coding mode m (B n ) determined by the tile coding control unit 21 is the inter coding mode (m (B n ) ⁇ INTER)
- the coding output from the block division unit 22 The target block B n is output to the motion compensation prediction unit 25.
- the intra prediction unit 24 determines that the coding mode m (B n ) determined by the tile coding control unit 21 is the intra coding mode (in the case where m (B n ) ⁇ INTRA) and the coding target is selected from the changeover switch 23
- block B n is received (step ST22)
- coding is performed using the intra prediction parameter determined by the tile coding control unit 21 while referring to the locally decoded image stored in the tile local decoded image memory 30. and implementing intra prediction process for each partition P i n in the target block B n, it generates an intra prediction image P INTRAi n (step ST23).
- the intra prediction processing at the tile end is a screen end where reference to adjacent pixels is unnecessary. Perform the same process as intra prediction of.
- intra prediction parameters used for generating the intra prediction image P INTRAi n is tiled coding It is output from the control unit 21 to the variable-length coding unit 31 and multiplexed into a bit stream.
- the motion compensation prediction unit 25 performs coding from the changeover switch 23 when the coding mode m (B n ) determined by the tile coding control unit 21 is the inter coding mode (when m (B n ) ⁇ INTER).
- the motion by comparing each partition P i n and the local decoded image after the filtering process stored in the motion compensated prediction frame memory 4 of the encoding target block B n searching a vector, its using the motion vectors and the inter prediction parameters determined by the tile encoding control unit 21, to implement the inter-prediction processing for each partition P i n in the encoding target block B n, inter generating a predicted image P INTERi n (step ST24).
- control unit 21 outputs the motion vector to the variable length coding unit 31 to be multiplexed into a bit stream, and the motion vector is output from the motion compensation prediction unit 25 to the variable length coding unit 31 to be multiplexed into the bit stream.
- Subtracting unit 26 receives the encoding target block B n from the block dividing unit 22 from its partition P i n in the encoding target block B n, the intra prediction image P INTRAi n generated by the intra prediction unit 24, or subtracts the inter prediction image P INTERi n generated by the motion compensation prediction unit 25, and outputs the prediction difference signal e i n a subtraction result to the transform and quantization unit 27 (step ST25).
- Transform and quantization unit 27 receives the prediction difference signal e i n from the subtracting unit 26, with reference to the predictive differential coding parameters determined by the tile encoding control unit 21, for the prediction difference signal e i n
- An orthogonal transformation process (for example, an orthogonal transformation process such as a discrete cosine transformation (DCT) or a KL transformation in which a basic learning design is previously performed on a specific learning sequence) is performed to calculate transformation coefficients.
- the transform / quantization unit 27 quantizes the transform coefficient with reference to the prediction differential encoding parameter, and performs inverse quantization / inverse transform unit 28 and variable length of the compressed data which is the transform coefficient after quantization. It is output to the encoding unit 31 (step ST26).
- the inverse quantization / inverse transform unit 28 When the inverse quantization / inverse transform unit 28 receives the compressed data from the transform / quantization unit 27, the inverse quantization / inverse transform unit 28 dequantizes the compressed data with reference to the prediction differential encoding parameter determined by the tile encoding control unit 21. Do. Further, the inverse quantization / inverse transform unit 28 refers to the prediction differential encoding parameter to perform inverse orthogonal transform processing (for example, inverse DCT, inverse KL transformation, etc.) on transform coefficients that are compressed data after inverse quantization. was performed, and calculates a local decoded prediction difference signal corresponding to the prediction difference signal e i n output from the subtraction unit 26 (step ST29).
- inverse orthogonal transform processing for example, inverse DCT, inverse KL transformation, etc.
- Addition unit 29 when the inverse quantization and inverse transform unit 28 receives the local decoded prediction difference signal, and the local decoded prediction difference signal or intra prediction image P INTRAi n, generated by the intra prediction unit 24, a motion compensation by adding the inter prediction image P INTERi n generated by the prediction unit 25, a local decoded partition image, or as a collection of the local decoded partition image, the encoding target block B n output from the block dividing unit 22 A corresponding local decoded image is calculated (step ST30).
- the addition unit 29 stores the locally decoded image in the tile locally decoded image memory 30. This local decoded image becomes an image signal for subsequent intra prediction in the current tile.
- variable-length coding unit 31 performs tile coding with the compressed data output from the transform / quantization unit 27.
- the coding mode m (B n ) output from the control unit 21 and the intra prediction parameter (when the coding mode is the intra coding mode) or the inter prediction parameter (coding) output from the tile coding control unit 21 If the mode is the inter coding mode) and the motion vector (if the coding mode is the inter coding mode) output from the motion compensation prediction unit 25 are subjected to variable length coding, the coding results are The bit series data shown is generated (step ST31).
- variable length coding unit 31 When, for example, context adaptive arithmetic coding is used as a variable length coding method, the internal state of the variable length coding unit 31 is updated according to the progress of coding. As the initial value of the state, a predetermined fixed value or a value output from the parallel processing start unit 3 of FIG. 1 is used, and no handover of the state between tiles is performed.
- the tile coding unit 5-n reference is not made to the coding parameters of the blocks belonging to tiles different from the current tile and the local decoded image in any processing including the above-mentioned intra prediction and variable length code. .
- the reference process at the tile end is replaced with a process that does not require any reference. It is necessary to make the moving image encoding device and the moving image decoding device coincide with what kind of processing, but the same processing may be fixedly performed on the encoding side and the decoding side, or the processing content Signaling may be signaled.
- the processes of the tile encoding units 5-1 to 5-N are independent for each tile and can be executed in parallel.
- the modules sequentially code the respective tiles. Implement the conversion process. Also, even between tiles encoded in the same module, the independence between the tiles is maintained, and the output bit sequence is operated to be equal to the case of parallel processing.
- the tile coding unit 5-n may process the current tile by dividing it into one or more structures called slices.
- a slice is a structure that further divides a tile, and includes one or more LCUs that are processed consecutively, or a coding block smaller than the LCU.
- parameters and modes defined independently for each slice can be used.
- processing such as prohibiting reference to information of blocks belonging to a slice different from the current slice or initializing the internal state of entropy coding in the block at the beginning of a slice can be performed.
- Slices like tiles, have the effect of facilitating parallel processing.
- data can be used for packetization, such as packetizing a bit sequence output by processing of one slice. There is also an advantage in terms of error tolerance.
- variable length coding control information when the variable length coding control information is multiplexed in the slice header, and the variable length coding control information indicates that context switching is not performed, context switching is performed in the slice. Perform adaptive arithmetic coding without doing.
- variable-length coding processing control information indicates that context switching and adaptive processing are not limited, arithmetic coding is performed on the slice without performing context switching and adaptive processing.
- context switching and adaptive processing can be omitted as appropriate, and variable-length coding can be performed. For tiles that are determined to be longer than the other tiles, the time required for coding is longer.
- the tile encoding process can be performed at high speed by limiting the encoding process as described above in the slice to be processed next, and the difference in the encoding process time with other tiles can be shortened. Therefore, tile parallelism can be improved.
- context adaptive arithmetic coding has been described as an example, but it is possible to perform variable length coding even if some of the processing is removed for any other variable length coding method, as long as variable length coding is possible. The same effect is obtained.
- the tile loop filter unit 7-n performs filter design and filtering processing for correcting coding distortion included in the local decoded image.
- one or more types of different loop filters deblocking filter for mitigating block boundary discontinuity, variation of DC component due to quantization error, SAO (Sample Adaptive Offset) for correcting edge discontinuity
- SAO Sample Adaptive Offset
- the filter in frame units indicated by the filter parameter output from the loop filter control unit 6 is used.
- the tile loop filter control unit 41 determines a tile-based filter suitable for the tile local decoded image output from the tile encoding unit 5-n, and uses the filter .
- ALF Adaptive Loop Filter
- ALF is a method of dividing a screen into a fixed number of filter definition areas and defining a filter that minimizes an error between a locally decoded image and an input image for each filter definition area.
- the filter parameters in the ALF are information indicating the shape of the divided area, the shape of the filter defined in each area, and the filter coefficient.
- the number of filter definition regions is 16 and a region division method is used in which a processing unit rectangle (frame or tile) is divided into 4 ⁇ 4 rectangular regions.
- the loop filter control unit 6 of FIG. 1 divides the locally decoded image for one frame into 4 ⁇ 4 16 filter definition regions. (See FIG. 14 (a)), and determine the filter shape and the filter coefficient for each filter definition area. Further, relative position information in each tile of each filter definition area is obtained, and the relative position information and the filter shape / filter coefficient information are output as filter parameters to each tile.
- the loop filter implementation unit 42 of the tile loop filter unit 7-n is based on the relative position and the filter shape / filter coefficient information Perform the filtering process.
- the tile loop filter control unit 41 divides the filter definition area independently for each tile, and determines the filter shape / filter coefficient for each filter definition area (FIG. 14).
- the filter definition area information and the filter shape / filter coefficient information are output to the loop filter implementation unit 42 as filter parameters.
- the loop filter implementation unit 42 performs the filtering process based on the filter definition area information and the filter shape / filter coefficient information.
- variable-length coding unit 43 When the filter parameter sharing flag is OFF, the variable-length coding unit 43 performs variable-length coding on the filter definition area information and the filter shape / filter coefficient information output from the tile loop filter control unit 41, and outputs the coding result
- the bit sequence data output from the tile encoding unit 5-n is multiplexed and output to the parallel processing end unit 8.
- the filter parameter sharing flag is ON, the bit sequence data output from the tile encoding unit 5-n is output to the parallel processing end unit 8 as it is.
- the filter parameter sharing flag when the filter parameter sharing flag is ON, at most one set of filter parameters is defined in the frame, but when the filter parameter sharing flag is OFF, at most one set is defined for each tile.
- the filter parameter sharing flag When the filter parameter sharing flag is ON, the filter parameter is multiplexed as a picture header on the bit stream, for example, as shown in FIG. 15 (a).
- the filter parameter sharing flag When the filter parameter sharing flag is OFF, the filter parameter set defined for each tile is multiplexed at the start position of each tile data as a tile header, for example, as shown in FIG. Be
- the loop filter implementation unit 42 uses the filter indicated by the filter parameter output from the loop filter control unit 6 or the tile loop filter control unit 41 to perform the filtering process on the tile local decoded image.
- filtering is performed without reference to pixels of tiles different from the current tile.
- the filter shape is changed so as not to refer to the outside of the filter boundary at the filter boundary, as shown in FIG.
- FIG. 16C filtering processing is performed that does not refer to pixels in a tile different from the current tile, by copying pixels in the vicinity of the filter boundary.
- the filtering method that does not require pixel reference between different tiles needs to be matched between the video encoding device and the video decoding device, but the encoding side and the decoding side may perform the same technique in a fixed manner, A signal indicating processing content may be signaled. Even when the filter parameter sharing flag is ON and the same tile is used in the tile adjacent to the current tile, pixel reference across tiles is not performed. By not performing pixel reference across tiles, parallelization of loop filter processing of tile encoding unit 7-n becomes possible, and in decoding of a bit stream created by tile encoding unit 7-n, Parallelization of loop filter processing becomes possible.
- variable-length code separation unit 51 separates the filter parameter sharing flag multiplexed in the bit stream, and converts the filter parameter sharing flag. It outputs to the filter parameter decoding unit 55 and the tile loop filter unit 56-n. Also, the variable-length code separation unit 51 separates tile division control information multiplexed in the bit stream, and outputs the tile division control information to the tile division control unit 57, and the filter parameter sharing flag is ON.
- variable-length code separation unit 51 separates bit sequence data multiplexed in a bit stream by the number of tiles, and outputs the bit sequence data to the parallel processing start unit 52 (step ST41 in FIG. 7). .
- the tile division control unit 57 grasps the tile division state from the tile division control information (step ST42), and the decoded image corresponding to the original input image is The arrangement of tile decoded images in the parallel processing end unit 58 described later is controlled so as to be obtained.
- the parallel processing start section 52 divides the bit series data in tile units into bit series data in tile units. Are distributed to the tile decoding units 54-1 to 54-N.
- the filter parameter decoding unit 55 uses the frame-based filter from the encoded data output from the variable-length code separation unit 51.
- the filter parameter shown is decoded, and the filter parameter is output to the tile loop filter unit 56-n (step ST44).
- the process of the tile decoding unit 54-n and the process of the tile loop filter unit 56-n are continuously performed (steps ST45 and ST46), and these two processes are repeatedly performed on all tiles (step ST47, ST 48).
- the processes in the loop of steps ST45 to ST48 can be executed in parallel because they are independent for each tile as described later. Unlike the moving picture coding apparatus shown in FIG. 1, regardless of the ON / OFF state of the filter parameter sharing flag, the processes of steps ST45 to ST48 can be collectively parallelized.
- the parallel processing end unit 58 performs filtering processing by the tile loop filter units 56-1 to 56-N under the control of the tile division control unit 57.
- a subsequent tile decoded image is combined to generate a frame-based decoded image, and the decoded image is stored in the motion compensation prediction frame memory 53, and the decoded image is output to the outside as a reproduced image.
- the tile decoding device 54 has implemented N tile decoding units 54-1 to 54-N, and the N tile decoding units 54-1 to 54-N independently perform prediction differential decoding processing (between tiles The prediction differential decoding process which does not perform any information reference is performed.
- variable length decoding unit 61 of the tile decoding unit 54-n receives bit series data in tile units distributed by the parallel processing start unit 52, the maximum code is obtained in the same manner as the tile encoding control unit 21 of FIG. Determine the size of the integrated block (LCU) and the upper limit of the number of division layers.
- the variable length decoding unit 61 determines the size of the largest coding block and the upper limit of the number of division layers, it decodes the coding mode m (B n ) assigned to the largest coding block from bit series data in tile units.
- the information indicating the division state of the largest coding block included in the coding mode m (B n ) is decoded (step ST51 in FIG. 9).
- the variable-length decoding unit 61 decodes the information indicating the division state of the largest encoded block
- the decoding target block hierarchical code of the moving picture encoding device in FIG.
- the block corresponding to the conversion target block is identified (step ST52).
- the variable-length decoding unit 61 decodes the block to be decoded from bit series data in tile units. Decode intra prediction parameters for each of one or more partitions contained in.
- the coding mode m (B n ) assigned to the block to be decoded (the block to be encoded) is the inter coding mode, decoding is performed for each block to be decoded or its decoding from bit series data in tile units. Inter prediction parameters and motion vectors are decoded for each of one or more partitions included in the target block (step ST53).
- the variable-length decoding unit 61 further divides the partition serving as the prediction processing unit into one or more partitions serving as the conversion processing unit based on the information of the transform block size included in the prediction differential coding parameter, and performs tile unit From bit series data, compressed data (transformed and quantized transform coefficients) is decoded for each partition serving as a transform processing unit (step ST53). If the filter parameter sharing flag is OFF, the encoded data of the filter parameter indicating the filter in tile units is multiplexed with the bit sequence data in tile units since the variable length decoding unit 61 is OFF. It is separated and output to the tile loop filter unit 56-n. The variable-length decoding unit 61 also outputs the coding parameter to the tile loop filter unit 56-n.
- variable-length decoding unit 61 If the coding mode m (B n ) variable-length decoded by the variable-length decoding unit 61 is the intra coding mode (if m (B n ) ⁇ INTRA), the change-over switch 62 operates the variable-length decoding unit 61 The intra prediction parameter subjected to the variable length decoding is output to the intra prediction unit 63. On the other hand, if the coding mode m (B n ) variable-length decoded by the variable-length decoding unit 61 is the inter coding mode (if m (B n ) ⁇ INTER), the variable-length decoding unit 61 The calculated inter prediction parameter and motion vector are output to the motion compensation unit 64.
- the initial value of the internal state of the variable length decoding unit 61 is The same value as the variable-length coding unit 31 of FIG. 3 is used, and handover between tiles is not performed.
- the intra prediction unit 63 performs the intra prediction from the changeover switch 62 when the coding mode m (B n ) variable-length decoded by the variable-length decoding unit 61 is the intra coding mode (m (B n ) ⁇ INTRA).
- the intra prediction parameter output from the changeover switch 62 is referred to while referring to the decoded image stored in the tile decoded image memory 67 in the same procedure as the intra prediction unit 24 in FIG. used, to implement the intra prediction process for each partition P i n the decoding target block B n, it generates an intra prediction image P INTRAi n (step ST55).
- the motion compensation unit 64 determines that the coding mode m (B n ) variable-length decoded by the variable-length decoding unit 61 is the inter coding mode (when m (B n ) ⁇ INTER), and the inter prediction
- the motion compensated prediction frame memory 53 uses the motion vector and the inter prediction parameter output from the changeover switch 62 while referring to the decoded image after filtering processing stored in the memory , by carrying out inter-prediction process for the current block B n or partition P i n generates an inter prediction image P INTERi n (step ST56).
- the motion compensation unit 64 for all the partitions P i n the decoding target block B n, if the common reference picture indication index and the common inter prediction mode is determined, its reference picture indication index a common reference picture in all the partitions P i n that indicates, by using the motion vector for each partition P i n, to implement inter-prediction process generates an inter prediction image P INTERi n with respect to the partition P i n.
- the predictive difference encoding is performed in the same procedure as the inverse quantization / inverse transform unit 28 in FIG.
- the compressed data is dequantized, and with reference to the prediction differential coding parameters, the inverse orthogonal transformation processing is performed on the transform coefficients which are the compressed data after the dequantization, as shown in FIG.
- the decoded prediction difference signal corresponding to the prediction difference signal output from the subtraction unit 26 of is calculated (step ST57).
- Addition unit 66 decodes the prediction difference signal calculated by the inverse quantization and inverse transform unit 65, an intra prediction image P INTRAi n generated by the intra prediction unit 63 or, inter prediction generated by the motion compensation section 64 by adding the image P INTERi n, as a collection of one or more of the decoded partition image included in the decoding target block, and stores the decoded image into tiles decoded image memory 67 (step ST58). This decoded image becomes an image signal for the subsequent intra prediction.
- the tile decoding unit 54-n does not refer to the decoding parameter and the decoded image of a block different from the current tile in any process including the above-described intra prediction and variable length decoding.
- the reference process at the tile end is replaced with a process that does not require the same reference as the encoding side. Therefore, the processing of the tile decoding unit 54-n is independent for each tile and can be executed in parallel.
- the tile decoding unit 54-n when the inside of the tile is divided into slices on the encoding side as described above, the current tile is divided into slices based on the slice division information multiplexed in the bit stream.
- the decoding process is performed in accordance with parameters and mode information defined independently for each slice.
- variable length coding control information multiplexed in a slice header is decoded, and the variable length coding control information is restricted so as not to switch contexts. If it indicates, adaptive arithmetic decoding is performed without performing context switching in the slice.
- variable-length coding process control information indicates that context switching and adaptive processing are not limited
- arithmetic decoding is performed on the slice without performing context switching and adaptive processing.
- the processing contents of the tile loop filter units 56-1 to 56-N in the tile loop filter device 56 will be described in detail.
- the tile filter parameter decoding unit 71 of the tile loop filter unit 56-n is the code of the filter parameter output from the tile decoding unit 54-n.
- the filter parameter indicating the filter in tile units is decoded from the quantization data, and the filter parameter as the decoding result is output to the loop filter implementation unit 72.
- the loop filter implementation unit 72 receives the filter parameter from the tile filter parameter decoding unit 71, and the filter in tile units indicated by the filter parameter The filtering process is performed on the tile-decoded image output from the tile decoding unit 54-n using the coding parameter that is variable-length decoded by the variable-length decoding unit 61 of the tile decoding unit 54-n.
- the filter parameter sharing flag separated by the variable-length code separation unit 51 is ON, when the filter parameter is received from the filter parameter decoding unit 55, the filter and tile decoding unit in frame unit indicated by the filter parameter The filtering process is performed on the tile-decoded image output from the tile decoding unit 54-n using the coding parameter that has been variable-length decoded by the n variable-length decoding units 61.
- the loop filter implementation unit 72 performs the same processing as the loop filter implementation unit 42 of FIG. 5. That is, in order to perform a filtering process that does not perform pixel reference across different tiles, the process of the tile loop filter unit 45-n is independent for each tile and can be executed in parallel.
- the encoding control unit 1 that outputs division control information that instructs the division state of the input image, and the division control information output from the encoding control unit 1 Therefore, the input image is divided into tiles, which are rectangular areas of a predetermined size, and the parallel processing start unit 3 that distributes the divided tiles and the local decoded image stored in the motion compensation prediction frame memory 4 are referred to in parallel.
- N pieces of encoded bit data which are the encoding result are output, and N local decoded images are generated from the encoded bit data
- Tile encoding units 5-1 to 5-N, and N tile loop filter units 7-1 to 7-N are locally decoded images generated by the tile encoding units 5-1 to 5-N. Since the tile-by-tile filter suitable for the filtering process of is determined and the filtering process is performed on the locally decoded image using the filter, the loop filter process can be performed in parallel at the tile level. Play.
- a moving picture coding apparatus will be described in which a switching function of performing / not performing parallel processing at tile level is added to the moving picture coding apparatus according to the first embodiment.
- a moving picture decoding apparatus capable of decoding a moving picture from a bit stream generated by the moving picture coding apparatus will be described.
- FIG. 17 is a block diagram showing a moving picture coding apparatus according to a second embodiment of the present invention.
- the encoding control unit 81 instructs tile division control information for dividing an input image represented by the video signal into tiles of a predetermined size as in the encoding control unit 1 of FIG. Perform the process of outputting information). Further, the encoding control unit 81 outputs an encoding parallel flag (division flag) indicating whether or not the input image is divided and parallelized, and the filter used for the filtering process is classified according to the type of filtering process A process of outputting a filter parameter sharing flag (filter sharing flag) # 1 to M indicating whether or not to make common is performed.
- the coding control unit 81 carries out a process of outputting loop filter parallel flags # 1 to M indicating the connection relationship between the processing unit of the former stage and the processing unit of the latter stage.
- the coding control unit 81 constitutes a division control unit.
- the tile division control unit 82 controls the division of the input image in the parallel processing start unit 83 so that the tile division control information output from the encoding control unit 81 matches the designated division state.
- the parallel processing start unit 83 indicates that the encoding parallel flag output from the encoding control unit 81 divides and parallelizes the input image
- the video signal indicates under the instruction of the tile division control unit 2.
- the input image is divided into tiles of a predetermined size, and the divided tiles are distributed to tile encoding units 85-1 to 85-N.
- the encoding parallel flag indicates that the input image is not divided and not parallelized, the input image, which is an image in units of frames, is transmitted to the frame encoding unit 86 without dividing the input image indicated by the video signal. Implement the process to output.
- the tile division control unit 82 and the parallel processing start unit 83 constitute tile distribution means.
- the motion compensation prediction frame memory 84 is a recording medium for storing the locally decoded image after the filtering process.
- the motion compensation prediction frame memory 84 constitutes an image memory.
- the tile coding device 85 has N tile coding units 85-1 to 85-N mounted, and the N tile coding units 85-1 to 85-N independently perform prediction differential coding processing. carry out. N is an integer of 1 or more. Similar to the tile coding units 5-1 to 5-N in FIG. 1, the tile coding units 85-1 to 85-N refer to the locally decoded image after filtering processing stored in the motion compensation prediction frame memory 84.
- the tile encoding units 85-1 to 85-N constitute tile encoding means.
- the frame encoding unit 86 refers to the locally decoded image after filtering processing stored in the motion compensation prediction frame memory 84, and predicts the difference with respect to the input image (frame unit image not divided by the parallel processing start unit 83). By performing the encoding process, a process of generating a frame local decoded image (local decoded image) is performed while outputting bit sequence data and an encoding parameter that are the encoding result.
- the frame coding unit 86 constitutes a frame coding unit.
- the loop filter control units 87-1 to 87-M indicate that the filter parameter sharing flags # 1 to M output from the encoding control unit 81 indicate that the filters are shared by the tiles, the parallel processing switching unit 90- A local decoded image in frame units is obtained from the tile local decoded image output from 1 to 90-M, and a filter in frame units suitable for the local decoded image in frame units is determined, and a filter parameter indicating the filter is tile loop filter A process of outputting to the devices 88-1 to 88-M is performed. Also, the loop filter control units 87-1 to 87-M perform variable length coding on the filter parameter indicating the filter in units of frames, and output the coded data of the filter parameter to the parallel processing end unit 91.
- M is an integer of 1 or more.
- a tile-based filter suitable for filtering the tile local decoded image output from the parallel processing switching unit 90-m is determined, and the filtering process is performed on the tile local decoded image using the filter, and the tile A filter parameter indicating a unit filter is subjected to variable length coding, and the coding result is multiplexed into bit series data output from the parallel processing switching units 90-1 to 90-M.
- the filter parameter sharing flag #m indicates that the filters are shared in each tile, the parallel processing switching unit is used by using the frame unit filter indicated by the filter parameter output from the loop filter control unit 87-m.
- a filtering process of the tile local decoded image output from 90-m is performed, and a process of outputting the bit series data output from the parallel processing switching unit 90-m as it is.
- the tile loop filter units 88-1-1 to 88-1-N, 88-2-1 to 88-2-N, ..., 88-M-1 to 88-MN use tile filter means. Configured.
- the frame loop filter unit 89-m When the tile local decoded image is output from the parallel processing switching unit 90-m, the frame loop filter unit 89-m performs filtering processing on the frame local decoded image (local decoded image in frame unit) obtained from the tile local decoded image.
- a suitable frame unit filter is determined and the frame local decoded image is output from the parallel processing switching unit 90-m, a frame unit filter suitable for the frame local decoded image is determined, and using the frame unit filter, The filtering process is performed on the frame local decoded image, and variable length coding is performed on the filter parameter indicating the frame unit filter, and the coding result is used as bit sequence data output from the parallel processing switching units 90-1 to 90-M.
- the frame loop filter units 89-1 to 89-M constitute frame filter means.
- the parallel processing switching unit 90-m executes processing to control the connection relationship between the processing unit of the preceding stage and the processing unit of the subsequent stage in accordance with the loop filter parallel flag #m output from the encoding control unit 81.
- the filter parameter sharing flag # 1 to # output from the encoding control unit 81 Among M, for example, when the filter parameter sharing flag #x indicates that the filter is shared in each tile, the locally decoded image, the encoding parameter, and the bit series data output from the processing unit in the previous stage are tile loop filters
- the frame loop filter unit 89-x is output instead of the unit 88-x-n.
- the parallel processing end unit 91 outputs the filter parameter sharing flag output from the encoding control unit 81 when the encoding parallel flag output from the encoding control unit 81 indicates that the input image is to be divided and parallelized. If #M indicates that the filter is not common to each tile, filtering processing by tile loop filter units 88 -M-1 to 88 -MN according to the tile division control information output from encoding control unit 81 The subsequent tile local decoded images are combined to generate a frame-based local decoded image, and the local decoded image is stored in the motion compensated prediction frame memory 84, and the tile loop filter units 88-M-1 to 88-MN are used.
- a process of outputting the bit series data output from the variable length code multiplexing unit 92 to the variable length code multiplexing unit 92 is performed.
- the filter parameter sharing flag #M output from the encoding control unit 81 indicates that the filter is shared among the tiles. If so, the frame local decoded image after the filtering processing by the frame loop filter unit 88-M is stored in the motion compensated prediction frame memory 84, and the bit sequence data output from the frame loop filter unit 88-M is variable length code The processing to be output to the multiplexing unit 92 is performed.
- the frame local decoded image after the filtering processing by the frame loop filter unit 88-M is stored in the motion compensation prediction frame memory 84.
- the bit sequence data output from the frame loop filter unit 88-M is output to the variable-length code multiplexing unit 92.
- the parallel processing end unit 91 constructs a local decoded image storage unit.
- Variable-length code multiplexing section 92 receives the bit series data output from parallel processing end section 91, the tile division control information output from encoding control section 81, the encoding parallel flag, loop filter parallel flag # 1 to M A bit stream is generated by multiplexing filter parameter sharing flags # 1 to M and coded data of filter parameters indicating a filter determined by tile loop filter unit 88-mn or frame loop filter unit 89-m. Perform the process.
- the variable-length code multiplexing unit 92 constitutes a multiplexing means.
- a coding control unit 81 In the example of FIG. 17, a coding control unit 81, a tile division control unit 82, a parallel processing start unit 83, a motion compensation prediction frame memory 84, a tile coding unit 85, and a frame coding, which are components of a moving picture coding apparatus.
- each of the parallel processing end unit 91 and the variable-length code multiplexing unit 92 is configured by dedicated hardware (for example, a semiconductor integrated circuit on which a CPU is mounted, a one-chip microcomputer, etc.)
- a program describing the processing contents of the parallel processing end unit 91 and the variable-length code multiplexing unit 92 is stored in the memory of the computer, and
- FIG. 18 is a block diagram showing a moving picture decoding apparatus according to a second embodiment of the present invention.
- the variable-length code separation unit 101 receives a bit stream generated by the moving picture coding apparatus shown in FIG. 17, the bit sequence data multiplexed in the bit stream, tile division control information, and a code A process is performed to separate the coded parallel flag, the loop filter parallel flag # 1 to M, the filter parameter sharing flag # 1 to M, and the encoded data of the filter parameter.
- the variable-length code separation unit 101 constitutes separation means.
- the parallel processing start unit 102 indicates that the encoding parallel flag separated by the variable length code separation unit 101 divides and parallelizes the input image
- the frame unit output from the variable length code separation unit 101 A process of dividing bit series data into bit series data in tile units and distributing bit series data in tile units to tile decoding units 104-1 to 104-N is performed.
- the encoding parallel flag indicates that the input image is not divided and not parallelized
- processing is performed to output the bit sequence data in units of frames output from the variable length code separation unit 101 to the frame decoding unit 105.
- the parallel processing start unit 102 constructs a coded bit data distribution unit.
- the motion compensation prediction frame memory 103 is a recording medium for storing the decoded image after the filtering process.
- the motion compensation prediction frame memory 103 constitutes an image memory.
- the tile decoding device 104 implements N tile decoding units 104-1 to 104-N, and the N tile decoding units 104-1 to 104-N independently perform prediction differential decoding processing.
- N is an integer of 1 or more. Similar to the tile decoding units 54-1 to 54-N in FIG.
- the tile decoding units 104-1 to 104-N refer to the decoded image after filtering processing stored in the motion compensation prediction frame memory 103,
- a tile-decoded image (a tile-based decoded image) is generated by performing a prediction difference decoding process on tile-based bit sequence data distributed by the parallel processing start unit 102, and the tile-decoded image and the prediction difference decoding process
- a processing is performed to output the coding parameter (coding parameter multiplexed to the bit sequence data) used when performing the processing to the parallel processing switching unit 110-1.
- processing is performed to output, to the parallel processing switching unit 110-1, encoded data of filter parameters indicating a tile-based filter multiplexed in bit sequence data.
- the tile decoding units 104-1 to 104-N constitute tile decoding means.
- the frame decoding unit 105 refers to the locally decoded image after filtering processing stored in the motion compensation prediction frame memory 103, and performs prediction difference decoding processing on bit series data in units of frames output from the parallel processing start unit 102. By doing this, a frame decoded image (a frame-by-frame decoded image) is generated, and the frame decoded image and a coding parameter (code multiplexed to bit sequence data) used when performing predictive differential decoding processing are generated. Processing for outputting the conversion parameter) to the parallel processing switching unit 110-1. In addition, processing is performed to output, to the parallel processing switching unit 110-1, encoded data of filter parameters indicating a filter in units of frames multiplexed into bit sequence data.
- the frame decoding unit 105 constitutes a frame decoding unit.
- the filter parameter decoding units 106-1 to 106-M are variable length code separation units. A process of decoding a filter parameter indicating a filter in a frame unit from encoded data # 1 to M of the filter parameter separated by 101, and outputting the filter parameter to tile loop filter devices 107-1 to 107-M is performed .
- M is an integer of 1 or more.
- the filter parameter indicating the tile unit filter is decoded from the encoded data of the filter parameter output from the parallel processing switching unit 110-m
- the filtering process is performed on the tile decoded image using a tile-by-tile filter.
- the filter parameter indicating the frame unit filter is selected from the encoded data of the filter parameter output from the parallel processing switching unit 110-m. Decoding and filtering on tile-decoded images are performed using frame-based filters.
- the tile loop filter units 107-1-1 to 107-1-N, 107-2-1 to 107-2-N,..., 107-M-1 to 107-MN use tile filter means. Configured.
- the frame loop filter unit 108-m is a filter that indicates a frame-based filter from encoded data of filter parameters output from the parallel processing switching unit 110-m.
- the parameters are decoded, and filtering processing is performed on the frame decoded image using a frame-based filter.
- the frame loop filter units 108-1 to 108-M constitute frame filter means.
- the tile division control unit 109 recognizes the tile division state from the tile division control information separated by the variable-length code separation unit 101, and obtains the decoded image corresponding to the original input image in the parallel processing end unit 111. A process of controlling the arrangement of each tile decoded image is performed.
- the parallel processing switching unit 110-m executes processing to control the connection relationship between the processing unit of the former stage and the processing unit of the latter stage according to the loop filter parallel flag #m separated by the variable length code separation unit 101.
- the filter parameter sharing flag # separated by the variable-length code separation unit 101 Among 1 to M, for example, when the filter parameter sharing flag #x indicates that the filter is shared by each tile, the decoded image, the encoding parameter, and the encoded data of the filter parameter output from the processing unit of the preceding stage Are output not to the tile loop filter unit 107-x-n but to the frame loop filter unit 108-x.
- the parallel processing end unit 111 Under control of the tile division control unit 109, the parallel processing end unit 111 combines the tile decoded images after the filtering processing by the tile loop filter units 107-M-1 to 107-MN to generate a decoded image in frame units. And stores the decoded image in the motion compensated prediction frame memory 103.
- the tile division control unit 109 and the parallel processing end unit 111 constitute a decoded image storage unit.
- variable-length code separation unit 101 the parallel processing start unit 102, the motion compensation prediction frame memory 103, the tile decoding unit 104, the frame decoding unit 105, and the filter parameter decoding unit 106 which are components of the moving picture decoding apparatus.
- -1 to 106-M tile loop filter devices 107-1 to 107-M, frame loop filter units 108-1 to 108-M, tile division control unit 109, parallel processing switching units 110-1 to 110-M, and parallel
- each of the processing end units 111 is configured by dedicated hardware (for example, a semiconductor integrated circuit on which a CPU is mounted, a one-chip microcomputer, etc.), the moving image decoding apparatus is a computer.
- variable-length code separation unit 101 When configured, variable-length code separation unit 101, parallel processing start unit 102, tile decoding device 104, frame decoding 105, filter parameter decoding units 106-1 to 106-M, tile loop filter devices 107-1 to 107-M, frame loop filter units 108-1 to 108-M, tile division control unit 109, parallel processing switching unit 110-
- a program in which the processing contents of 1 to 110-M and the parallel processing end unit 111 are described may be stored in the memory of the computer, and the CPU of the computer may execute the program stored in the memory.
- the tile loop filter device 7 is shown to have a one-stage configuration, but in the third embodiment, tile loop filter devices 88-1 to 88- that realize different types of loop filters are used.
- M is connected in multiple stages.
- SAO deblocking filter
- ALF ALF
- encoding processing and all filtering processing are not performed between tiles if the image is divided into tiles. It must be carried out in a manner.
- the third embodiment it is possible to switch between dividing the input image and performing parallel processing in units of tiles or processing in units of frames without parallelization. In addition, it is possible to switch whether to perform tile-based filtering processing or frame-based filtering processing for each loop filter.
- the encoding control unit 81 performs tile division control unit 82 on tile division control information for instructing a division state when dividing an input image represented by a video signal into tiles of a predetermined size. , And the parallel processing end unit 91 and the variable length code multiplexing unit 92. Also, the encoding control unit 81 outputs to the parallel processing start unit 83 an encoding parallel flag indicating whether or not the input image is divided and parallelized, and a filter used for the filtering processing according to the type of filtering processing.
- Filter parameter sharing flags # 1 to M (in the case of common to each tile: flag of ON, not common to each tile: flag of OFF) indicating whether to make each tile common or not to the loop filter control unit 87-1 Through 87-M, tile loop filter devices 88-1 through 88-M, and variable-length code multiplexer 91. Further, the coding control unit 81 outputs, to the parallel processing switching units 90-1 to 90-M, the loop filter parallel flags # 1 to M indicating the connection relationship between the processing units of the former stage and the processing units of the latter stage.
- the tile division control unit 82 When the tile division control unit 82 receives tile division control information from the encoding control unit 81, the tile division control unit 82 divides the input image in the parallel processing start unit 83 so that the tile division control information matches the designated division state. Control. If the parallel processing start unit 83 indicates that the encoding parallel flag output from the encoding control unit 81 divides and parallelizes the input image, the video signal is an instruction under the instruction of the tile division control unit 82. The input image to be shown is divided into tiles of a predetermined size, and the tiles after division are distributed to tile coding units 85-1 to 85-N.
- the encoding parallel flag indicates that the input image is not divided and not parallelized
- the input image which is an image in units of frames
- the frame encoding unit 86 without dividing the input image indicated by the video signal. Output.
- tile encoding units 85-1 to 85-N receive tiles from parallel processing start unit 83, tile local decoded images are generated in the same procedure as tile encoding units 5-1 to 5-N in FIG. . That is, the tile coding units 85-1 to 85-N refer to the locally decoded image after filtering processing stored in the motion compensation prediction frame memory 84, and predict the tiles distributed by the parallel processing start unit 83. By performing the differential encoding process, the bit sequence data and the encoding parameter that are the encoding result are output, and the tile local decoded image is generated.
- the frame encoding unit 86 When the frame encoding unit 86 receives an input image that is a frame unit image from the parallel processing start unit 83, the frame encoding unit 86 refers to the locally decoded image after filtering processing stored in the motion compensated prediction frame memory 84, By performing prediction differential encoding processing on an image, the bit sequence data and encoding parameters that are the encoding result are output, and a frame local decoded image is generated. It differs from tile encoding units 85-1 to 85-N in that the unit of processing for encoding processing is in units of frames, but the encoding processing itself is similar to that for tile encoding units 85-1 to 85-N. Therefore, the detailed description is omitted.
- the parallel processing switching unit 90-m controls the connection relationship between the processing unit of the former stage and the processing unit of the latter stage according to the loop filter parallel flag #m output from the encoding control unit 81. If the input image is not divided and not parallelized, the parallel processing start unit 83 does not divide the input image, and the frame encoding unit 86 performs encoding processing in units of frames. The output signal (frame local decoded image, bit sequence data, coding parameter) of the unit 86 (or the frame loop filter unit of the former stage) is transmitted to the frame loop filter unit of the latter stage.
- the tile encoding unit 85 performs filtering processing in units of tiles.
- the output signal (tile local decoded image, bit sequence data, coding parameter) of -1 to 85-N (or the tile loop filter unit of the former stage) is transmitted to the tile loop filter unit of the latter stage.
- frame-by-frame filtering processing is performed in the (m ⁇ 1) -th stage loop filter
- the frame local decoded image output from the previous frame loop filter unit is divided into tile local decoded images, and the tile local decoded image is generated.
- the decoded image, bit sequence data, and coding parameters are transmitted to the tile loop filter unit in the subsequent stage.
- the loop filter control unit 87-m When the filter parameter sharing flag #m output from the encoding control unit 81 is ON, the loop filter control unit 87-m generates a frame local decoded image from the tile local decoded image output from the parallel processing switching unit 90-m To determine a frame-by-frame filter suitable for the frame local decoded image. When the frame local decoded image is output from the parallel processing switching unit 90-m, a frame-based filter suitable for the frame local decoded image is determined. When the loop filter control unit 87-m determines a filter in frame units, it outputs a filter parameter indicating the filter to the tile loop filter device 88-m. Also, the loop filter control unit 87-m performs variable length coding on the filter parameter indicating the filter in frame units, and outputs the coded data of the filter parameter to the parallel processing end unit 91.
- the tile loop filter unit 88-mn upon receiving the tile local decoded image from the parallel processing switching unit 90-m, is output from the encoding control unit 81 in the same manner as the tile loop filter unit 7-n in FIG. If the filter parameter sharing flag #m is OFF, the tile-based filter suitable for the filtering process of the tile local decoded image is determined based on the coding parameter output from the parallel processing switching unit 90-m, and the filter The filtering process is performed on the tile local decoded image, and the tile local decoded image after the filtering process is output to the parallel processing switching unit or the parallel processing end unit 91 in the subsequent stage.
- the tile loop filter unit 88-m-n performs variable length coding on the filter parameter indicating the filter in tile units, and converts the coded data of the filter parameter into bit sequence data output from the parallel processing switching unit 90-m. It multiplexes and outputs to the parallel processing switching part or parallel processing end part 91 of the latter stage.
- the parallel processing switching unit 90-m provides the frame local decoded image to the frame loop filter unit 89-m, and supplies the tile local decoded image to the tile loop filter unit 88-mn. Since this is not the case, filter processing of tile local decoded image is performed using a frame-by-frame filter Not with.
- the coding control unit 81 outputs the coding parallel flag.
- a situation where the function of the frame loop filter unit 89-m is stopped or the like can be considered without using it (configuration similar to the first embodiment).
- the frame loop filter unit 89-m When the frame loop filter unit 89-m receives the tile local decoded image from the parallel processing switching unit 90-m, the frame loop filter unit 89-m obtains the frame local decoded image from the tile local decoded image, and outputs the frame local decoded image from the parallel processing switching unit 90-m. Based on the coding parameter, a frame-based filter suitable for filtering processing of the frame local decoded image is determined. When the frame local decoded image is output from the parallel processing switching unit 90-m, a frame-based filter suitable for the frame local decoded image is determined based on the encoding parameter.
- the frame loop filter unit 89-m determines the frame unit filter, it performs filtering processing on the frame local decoded image using the frame unit filter, and performs parallel processing of the frame local decoded image after the filtering processing It is output to the switching unit or parallel processing end unit 91.
- the frame loop filter unit 89-m performs variable-length coding on the filter parameter indicating the filter in frame units, and multiplexes the encoded data of the filter parameter into the bit series data output from the parallel processing switching unit 90-m. The data is output to the parallel processing switching unit or parallel processing end unit 91 in the subsequent stage.
- the parallel processing end unit 91 uses the filter parameter sharing output from the encoding control unit 81 when the encoding parallel flag output from the encoding control unit 81 indicates that the input image is divided and parallelized. If the flag #M is OFF, the tile local decoded image after the filtering process by the tile loop filter units 88-M-1 to 88-MN is combined according to the tile division control information output from the encoding control unit 81. The local decoded image is generated in frame units, and the local decoded image is stored in the motion compensated prediction frame memory 84, and the bit sequence data output from the tile loop filter units 88-M-1 to 88-MN is used. It is output to the variable-length code multiplexing unit 92.
- the frame loop filter unit 88 when the encoding parallel flag indicates that the input image is divided and parallelized, the frame loop filter unit 88 if the filter parameter sharing flag #M output from the encoding control unit 81 is ON. As well as storing the frame local decoded image after the filtering processing by ⁇ M in the motion compensation prediction frame memory 84, the bit sequence data output from the frame loop filter unit 88 -M is output to the variable length code multiplexing unit 92. On the other hand, when the encoding parallel flag indicates that the input image is not divided and not parallelized, the frame local decoded image after the filtering processing by the frame loop filter unit 88-M is stored in the motion compensation prediction frame memory 84. The bit sequence data output from the frame loop filter unit 88 -M is output to the variable-length code multiplexing unit 92.
- the variable-length code multiplexing unit 92 includes the bit sequence data output from the parallel processing end unit 91, the tile division control information output from the encoding control unit 81, the encoding parallel flag, and the loop filter parallel flag # 1 to M. And the filter parameter sharing flags # 1 to M to generate a bit stream.
- variable-length code separation unit 101 receives a bit stream generated by the moving picture coding apparatus shown in FIG. 17, the bit-sequence data multiplexed in the bit stream, tile division control information, and encoding parallel flag are input. , Loop filter parallel flags # 1 to M, filter parameter sharing flags # 1 to M, and encoded data of filter parameters are separated and output.
- the parallel processing start unit 102 indicates that the encoding parallel flag separated by the variable length code separation unit 101 divides and parallelizes the input image
- the frame unit output from the variable length code separation unit 101 Is divided into tile series bit series data, and tile series bit series data is distributed to tile decoding units 104-1 to 104-N.
- the encoding parallel flag indicates that the input image is not divided and not parallelized
- the bit sequence data in units of frames output from the variable length code separation unit 101 is output to the frame decoding unit 105.
- the tile decoding units 104-1 to 104-N receive the bit sequence data in tile units from the parallel processing start unit 102, the tile decoding units 104-1 to 104-N are processed in the same manner as the tile decoding units 54-1 to 54-N in FIG. Generate That is, the tile decoding units 104-1 to 104-N refer to the decoded image after filtering processing stored in the motion compensation prediction frame memory 103, and the bit sequence of tile unit distributed by the parallel processing start unit 102.
- a tile decoded image is generated, and the tile decoded image and a coding parameter (multiplexed in bit sequence data) used in performing the prediction differential decoding process are generated.
- the coding parameter is output to the parallel processing end unit 111.
- processing is performed to output, to the parallel processing switching unit 110-1, encoded data of filter parameters indicating a tile-based filter multiplexed in bit sequence data.
- frame decoding section 105 When receiving bit series data in frame units from parallel processing start section 102, frame decoding section 105 refers to the locally decoded image after filtering processing stored in motion compensated prediction frame memory 103, and selects bits in that frame A frame decoded image is generated by performing a prediction differential decoding process on sequence data, and a coding parameter (a code multiplexed with bit sequence data) used when performing the frame decoded image and the prediction differential decoding process Optimization parameter) is output to the parallel processing end unit 111. In addition, processing is performed to output, to the parallel processing switching unit 110-1, encoded data of filter parameters indicating a filter in units of frames multiplexed into bit sequence data.
- the parallel processing switching unit 100-m controls the connection relationship between the processing unit of the former stage and the processing unit of the latter stage according to the loop filter parallel flag #m separated by the variable length code separation unit 101. If the flag indicates that the input image is not divided and not parallelized, the parallel processing start unit 102 does not divide the bit sequence data in frame units into bit sequence data in tile units, and the frame decoding unit 105 performs frame units
- the frame decoding unit 105 (or the frame loop filter unit at the previous stage) (frame decoded image, coding parameter, encoded data of filter parameter indicating a filter in frame units) Transmit to the loop filter unit.
- the tile decoding unit 104- performs filtering processing in units of tiles. Transmit the output signal (tiled local decoded image, coding parameter, coded data of filter parameter indicating filter in tile unit) from 1 to 104-N (or previous tile loop filter unit) to the tile loop filter unit of the latter stage Do.
- the frame decoded image output from the previous frame loop filter unit is divided into tile decoded images, and the tile decoded image,
- the encoded data and the encoded data of the filter parameter indicating the filter in tile units are transmitted to the tile loop filter unit in the subsequent stage.
- the m-th stage loop filter performs the frame-by-frame filtering process.
- An output signal of tile decoding units 104-1 to 104-N (or a tile loop filter unit of the previous stage) (a tile local decoded image, a coding parameter, coded data of a filter parameter indicating a filter in a tile unit), or
- An output signal (a frame decoded image, an encoding parameter, and encoded data of a filter parameter indicating a filter in a frame unit) of the preceding frame loop filter unit is transmitted to the subsequent frame loop filter unit.
- the filter parameter decoding unit 106-m uses the encoded data #m of the filter parameter separated by the variable length code separation unit 101.
- the filter parameter indicating the frame-based filter is decoded, and the filter parameter is output to the tile loop filter device 107-m.
- the tile loop filter unit 107-m-n receives a tile decoded image from the parallel processing switching unit 110-m, parallel processing is performed if the filter parameter sharing flag #m separated by the variable length code separation unit 101 is OFF.
- the filter parameter indicating the filter in tile units is decoded from the encoded data of the filter parameter output from the switching unit 110-m, and the filtering process is performed on the tile decoded image using the filter in tile units. If the filter parameter sharing flag #m is ON, the filtering process is performed on the tile-decoded image using the filter in units of frames indicated by the filter parameter output from the filter parameter decoding unit 106-m.
- the parallel processing switching unit 110-m even when the encoding parallel flag indicates that the input image is divided and parallelized, the parallel processing switching unit 110-m generates a frame decoded image when the filter parameter sharing flag #m is ON.
- the frame loop filter unit 108-m does not give the tiled decoded image to the tile loop filter unit 107-m-n, so under this circumstance, filtering of the tiled decoded image is performed using the frame-based filter. It will not be implemented.
- the tile loop filter unit 107-m-n performs filtering processing of tile-decoded images using frame-based filters, for example, the coding side does not use the function of outputting the coding parallel flag.
- the situation where the function of the frame loop filter unit 108-m is stopped can be considered (configuration similar to that of the first embodiment).
- the frame loop filter unit 108-m uses the encoded data of the filter parameter output from the parallel processing switching unit 110-m as a filter parameter indicating a filter in frame units. Are decoded, and a filtering process is performed on the frame decoded image using a frame-based filter.
- the tile division control unit 109 grasps the tile division state from the tile division control information separated by the variable length code separation unit 101, and the parallel processing end unit 111 so that a decoded image corresponding to the original input image can be obtained.
- a parallel processing end unit 111 is a filter separated by the variable-length code separation unit 101 when the encoding parallel flag separated by the variable-length code separation unit 101 indicates that the input image is divided and parallelized. If the parameter sharing flag #M is OFF, under the control of the tile division control unit 109, the tile decoded image after the filtering processing by the tile loop filter units 107-M-1 to 107-MN is combined and frame united.
- the decoded image is stored in the motion compensation prediction frame memory 103.
- the filter parameter sharing flag #M is ON, the frame after the filtering process by the frame loop filter unit 108-M
- the decoded image is stored in the motion compensation prediction frame memory 103.
- the frame decoded image after filtering processing by the frame loop filter unit 108 -M is stored in the motion compensation prediction frame memory 103.
- the third embodiment it is possible to switch whether to divide the input image and perform parallel processing in units of tiles or to perform processing in units of frames without parallelization, and to use a loop filter Since it is possible to switch between tile-by-tile filtering and frame-by-frame filtering each time, even if different types of loop filters are connected in multiple stages to improve the overall filter performance, An effect of speeding up the processing can be achieved.
- the present invention allows free combination of each embodiment, or modification of any component of each embodiment, or omission of any component in each embodiment. .
- a moving picture coding apparatus, a moving picture decoding apparatus, a moving picture coding method, and a moving picture decoding method generate a locally decoded image in tile units and determine a filter in tile units suitable for the locally decoded image. And the tile is used to perform the filtering process of the locally decoded image, and the loop filter process can be performed in parallel at the tile level.
- the present invention can be applied to an image coding method, and a moving picture decoding apparatus and a moving picture decoding method for decoding an image from coded data transmitted by a moving picture coding apparatus.
- 1 encoding control unit 2 tile division control unit (tile distribution unit) 3 parallel processing start unit (tile distribution unit) 4 motion compensation prediction frame memory (image memory) 5 tile encoding device 5-1 to 5-N tile encoding unit (tile encoding unit), 6 loop filter control unit (frame unit filter determining unit), 7 tile loop filter apparatus, 7-1 to 7-N tile loop filter unit (tile Filter means), 8 Parallel processing end unit (local decoded image storage means), 9 variable length code multiplexing unit (multiplexing means), 21 tile coding control unit, 22 block division unit, 23 changeover switch, 24 intra prediction unit , 25 motion compensation prediction unit, 26 subtraction unit, 27 transformation / quantization unit, 28 inverse quantization / inversion unit, 29 addition unit, 30 tiles Partially decoded image memory, 31 variable length coding unit, 41 tile loop filter control unit, 42 loop filter implementation unit, 43 variable length coding unit, 51 variable length code separation unit (separation unit), 52 parallel processing start unit (code Block data distribution means), 53 motion compensated prediction frame
- tile loop filter section (tile filter means), 89-1 to 89-M frame loop filter section Filter unit), 90-1 to 90-M parallel processing switching unit, 91 parallel processing end unit (local decoded image storage unit), 92 variable length code multiplexing unit (multiplexing unit), 101 variable length code separation unit (separation Means), 102 Parallel processing start unit (coded bit data distribution unit), 103 motion compensation prediction frame memory (image memory), 104 tile decoding device, 104-1 to 104-N tile decoding unit (tile decoding unit), 105 Frame decoding unit (frame decoding unit), 106-1 to 106-M filter parameter decoding unit, 107-1 to 107-M tile loop filter apparatus, 107-1-1 to 107-1-N, 107-2-1 107107-2-N, ..., 107-M-1 to 107-MN tile loop filter section (tile filter means), 108- ⁇ 108-M frame loop filter unit (frame filter means), 109 tile dividing unit (decode
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
また、全てのマクロブロックの処理が完了して、画面一枚分の局所復号画像が作成された後に、ループフィルタのパラメータを決定する処理、そのループフィルタを用いて、局所復号画像をフィルタリングする処理や、エントロピー符号化処理を実施している。
具体的には、フレーム間予測を行う場合、隣接しているコーディングユニットの局所復号画像を画素参照として使用する。
また、エントロピー符号化処理では、シンボルの生起確率を推定する際、確率遷移モデルをラスタスキャン順に前のコーディングユニットと共有しており、また、確率モデルの切り替えのために、隣接しているマクロブロックのモード情報を参照する必要がある。
よって、あるコーディングユニットの符号化処理を進めるためには、ラスタスキャン順で前のコーディングユニットの処理の一部または全部が完了していなければならない。
このようなコーディングユニット間の依存性が、符号化処理及び復号処理の並列化の障害となっている。
ここで、タイルは、図11に示すように、複数のコーディングユニットからなる矩形領域である。異なるタイルに属するコーディングユニットとの依存性を無くすことで、タイルレベルでの並列処理が可能になる。
具体的には、タイルは、以下に示すような特徴を有している。
(2)画像のタイルによる分割は、各行・各列の幅が非均一な格子状となる。即ち、縦方向に隣接しているタイルは、左右両端の座標が等しく、横方向に隣接しているタイルは上下両端の座標が等しい。
(3)各コーディングユニットはタイル内で閉じたラスタスキャン順に処理される。また、タイル内でスライス分割を行うことが可能である。
(4)タイル内で最初に処理されるコーディングユニットは、エントロピー符号化が初期状態から開始される。
(5)フレーム内予測、フレーム間予測、エントロピー符号化・復号の処理において、隣接しているコーディングユニットの局所復号画像及び符号化モードの参照を行う際、隣接しているコーディングユニットが異なるタイルに属している場合、隣接しているコーディングユニットの参照を行わずに、画面端の処理を実施する。
(6)ループフィルタ処理は、全てのタイルの処理が完了して、画面全体分の復号画像が作成された後に、画面全体に対して実施する。
よって、符号化処理のうち、フレーム内/フレーム間予測、予測誤差信号の直交変換・量子化、エントロピー符号化の処理をタイルレベルで並列処理することが可能になる。
また、タイルを用いて作成されたビットストリームの復号処理では、エントロピー復号、予測誤差信号の逆量子化・逆変換、フレーム内/フレーム間予測の処理をタイルレベルでの並列処理が可能になる。
実施の形態1.
図1はこの発明の実施の形態1による動画像符号化装置を示す構成図である。
図1において、符号化制御部1は映像信号が示す入力画像を所定サイズの矩形領域であるタイルに分割する際の分割状態を指示するタイル分割制御情報(分割制御情報)を出力する処理を実施する。
また、符号化制御部1はタイル符号化部5-1~5-Nにより生成されたタイル単位の局所復号画像のフィルタリング処理に用いるフィルタを各タイルで共通させるか否かを示すフィルタパラメータ共有フラグ(フィルタ共有フラグ)を出力する処理を実施する。
なお、符号化制御部1は分割制御手段を構成している。
並列処理開始部3はタイル分割制御部2の指示の下、映像信号が示す入力画像を所定サイズのタイルに分割し、分割後のタイルをタイル符号化部5-1~5-Nに分配する処理を実施する。
なお、タイル分割制御部2及び並列処理開始部3からタイル分配手段が構成されている。
タイル符号化装置5はN個のタイル符号化部5-1~5-Nを実装しており、N個のタイル符号化部5-1~5-Nが独立して予測差分符号化処理を実施する。Nは1以上の整数である。
タイル符号化部5-1~5-Nは動き補償予測フレームメモリ4に記憶されているフィルタリング処理後の局所復号画像を参照して、並列処理開始部3により分配されたタイルに対する予測差分符号化処理を実施することで、その符号化結果であるビット系列データ(符号化ビットデータ)及び符号化パラメータ(符号化パラメータは予測差分符号化処理を実施する際に用いられたパラメータであり、符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ、インター予測パラメータが該当する)を出力するとともに、タイル局所復号画像(局所復号画像)を生成する処理を実施する。なお、タイル符号化部5-1~5-Nはタイル符号化手段を構成している。
また、ループフィルタ制御部6はフレーム単位のフィルタを示すフィルタパラメータを可変長符号化し、そのフィルタパラメータの符号化データを並列処理終了部8に出力する処理を実施する。
なお、ループフィルタ制御部6はフレーム単位フィルタ決定手段を構成している。
タイルループフィルタ部7-1~7-Nは符号化制御部1から出力されたフィルタパラメータ共有フラグが各タイルでフィルタを共通させない旨を示している場合、タイル符号化部5-1~5-Nにより生成されたタイル局所復号画像のフィルタリング処理に適するタイル単位のフィルタを決定し、そのフィルタを用いて、タイル局所復号画像に対するフィルタリング処理を実施するとともに、タイル単位のフィルタを示すフィルタパラメータを可変長符号化し、そのフィルタパラメータの符号化データをタイル符号化部5-1~5-Nから出力されたビット系列データに多重化する処理を実施する。
一方、フィルタパラメータ共有フラグが各タイルでフィルタを共通させる旨を示している場合、ループフィルタ制御部6から出力されたフィルタパラメータが示すフレーム単位のフィルタを用いて、タイル符号化部5-1~5-Nにより生成されたタイル局所復号画像のフィルタリング処理を実施するとともに、タイル符号化部5-1~5-Nから出力されたビット系列データをそのまま出力する処理を実施する。
なお、タイルループフィルタ部7-1~7-Nはタイルフィルタ手段を構成している。
また、並列処理終了部8は符号化制御部1から出力されたフィルタパラメータ共有フラグが各タイルでフィルタを共通させる旨を示している場合、ループフィルタ制御部6から出力されたフレーム単位のフィルタを示すフィルタパラメータの符号化データを可変長符号多重化部9に出力する処理を実施する。
なお、並列処理終了部8は局所復号画像格納手段を構成している。
一方、フィルタパラメータ共有フラグが各タイルでフィルタを共通させる旨を示している場合、並列処理終了部8から出力されたビット系列データ及びフレーム単位のフィルタを示すフィルタパラメータの符号化データと、符号化制御部1から出力されたタイル分割制御情報及びフィルタパラメータ共有フラグとを多重化してビットストリームを生成する処理を実施する。
なお、可変長符号多重化部9は多重化手段を構成している。
図2はこの発明の実施の形態1による動画像符号化装置の処理内容(動画像符号化方法)を示すフローチャートである。
図3において、タイル符号化制御部21は符号化対象ブロックのサイズである符号化ブロックサイズを決定するとともに、選択可能な1以上のイントラ符号化モード及びインター符号化モードの中から、ブロック分割部22から出力される符号化対象ブロックに対する符号化効率が最も高い符号化モードを決定する処理を実施する。
また、タイル符号化制御部21は符号化効率が最も高い符号化モードがイントラ符号化モードである場合、そのイントラ符号化モードで符号化対象ブロックに対するイントラ予測処理を実施する際に用いるイントラ予測パラメータを決定し、符号化効率が最も高い符号化モードがインター符号化モードである場合、そのインター符号化モードで符号化対象ブロックに対するインター予測処理を実施する際に用いるインター予測パラメータを決定する処理を実施する。
さらに、タイル符号化制御部21は変換・量子化部27、逆量子化・逆変換部28及び可変長符号化部31に与える予測差分符号化パラメータを決定する処理を実施する。
以降、タイル符号化制御部21により決定された符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ又はインター予測パラメータをまとめて符号化パラメータと称する。タイル符号化制御部21は符号化パラメータをタイルループフィルタ部7-n(n=1,2,・・・,N)に出力する処理を実施する。
切換スイッチ23はタイル符号化制御部21により決定された符号化モードがイントラ符号化モードであれば、ブロック分割部22から出力された符号化対象ブロックをイントラ予測部24に出力し、タイル符号化制御部21により決定された符号化モードがインター符号化モードであれば、ブロック分割部22から出力された符号化対象ブロックを動き補償予測部25に出力する処理を実施する。
なお、タイル局所復号画像メモリ30に格納されている局所復号画像は、同じタイルに属するブロックの局所復号画像のみであるため、イントラ予測部24におけるイントラ予測処理では、異なるタイルに属するブロックの局所復号画像の参照は行わない。参照位置のブロックが異なるタイルに属するブロックである場合は、画素参照が不要なイントラ予測処理を実施する。
減算部26はブロック分割部22より出力された符号化対象ブロックから、イントラ予測部24により生成されたイントラ予測画像、または、動き補償予測部25により生成されたインター予測画像を減算して、その減算結果である予測差分信号(差分画像)を変換・量子化部27に出力する処理を実施する。
加算部29は逆量子化・逆変換部28により算出された局所復号予測差分信号と、イントラ予測部24により生成されたイントラ予測画像、または、動き補償予測部25により生成されたインター予測画像とを加算して、ブロック分割部22から出力された符号化対象ブロックに相当する局所復号画像を算出する処理を実施する。
可変長符号化部31は変換・量子化部27から出力された圧縮データと、タイル符号化制御部21から出力された符号化パラメータと、動き補償予測部25から出力された動きベクトル(符号化モードがインター符号化モードである場合)とを可変長符号化し、その符号化結果であるビット系列データをタイルループフィルタ部7-nに出力する処理を実施する。
なお、図4はこの発明の実施の形態1による動画像符号化装置のタイル符号化部5-n(n=1,2,・・・,N)の処理内容を示すフローチャートである。
図5において、タイルループフィルタ制御部41は符号化制御部1から出力されたフィルタパラメータ共有フラグが各タイルでフィルタを共通させない旨を示している場合、タイル符号化部5-nにより生成されたタイル局所復号画像のフィルタリング処理に適するタイル単位のフィルタを決定し、そのフィルタを示すフィルタパラメータをループフィルタ実施部42及び可変長符号化部43に出力する処理を実施する。
一方、フィルタパラメータ共有フラグが各タイルでフィルタを共通させる旨を示している場合、ループフィルタ制御部6から出力されたフィルタパラメータが示すフレーム単位のフィルタとタイル符号化部5-nから出力された符号化パラメータを用いて、タイル符号化部5-nから出力されたタイル局所復号画像に対するフィルタリング処理を実施する。
一方、フィルタパラメータ共有フラグが各タイルでフィルタを共通させる旨を示している場合、タイル符号化部5-nから出力されたビット系列データをそのまま並列処理終了部8に出力する処理を実施する。
図6において、可変長符号分離部51は図1の動画像符号化装置により生成されたビットストリームを入力すると、そのビットストリームに多重化されているフレーム単位のビット系列データ(タイル単位のビット系列データが纏まっているデータ)と、入力画像の分割状態を指示するタイル分割制御情報と、各タイルでフィルタを共通させるか否かを示すフィルタ共有フラグと、フレーム単位のフィルタを示すフィルタパラメータの符号化データ(フィルタパラメータ共有フラグが各タイルでフィルタを共通させる旨を示している場合)とを分離する処理を実施する。なお、可変長符号分離部51は分離手段を構成している。
動き補償予測フレームメモリ53はフィルタリング処理後の復号画像を記憶する記録媒体である。なお、動き補償予測フレームメモリ53は画像メモリを構成している。
タイル復号部54-1~54-Nは動き補償予測フレームメモリ53に記憶されているフィルタリング処理後の復号画像を参照して、並列処理開始部52により分配されたタイル単位のビット系列データに対する予測差分復号処理を実施することで、タイル復号画像(タイル単位の復号画像)を生成するとともに、その予測差分復号処理を実施する際に用いている符号化パラメータ(ビット系列データに多重化されている符号化パラメータ)をタイルループフィルタ部56-1~56-Nに出力する処理を実施する。
また、タイル単位のフィルタを示すフィルタパラメータの符号化データがビット系列データに多重化されている場合、そのフィルタパラメータの符号化データをタイルループフィルタ部56-1~56-Nに出力する処理を実施する。
なお、タイル復号部54-1~54-Nはタイル復号手段を構成している。
タイルループフィルタ部56-1~56-Nは可変長符号分離部51により分離されたフィルタパラメータ共有フラグが各タイルでフィルタを共通させない旨を示している場合、タイル復号部54-1~54-Nから出力された符号化データからタイル単位のフィルタを示すフィルタパラメータを復号し、そのフィルタパラメータが示すタイル単位のフィルタを用いて、タイル復号部54-1~54-Nにより生成されたタイル復号画像に対するフィルタリング処理を実施する処理を実施する。
一方、フィルタパラメータ共有フラグが各タイルでフィルタを共通させる旨を示している場合、フィルタパラメータ復号部55から出力されたフィルタパラメータが示すフレーム単位のフィルタを用いて、タイル復号部54-1~54-Nにより生成されたタイル復号画像に対するフィルタリング処理を実施する処理を実施する。
なお、タイルループフィルタ部56-1~56-Nはタイルフィルタ手段を構成している。
並列処理終了部58はタイル分割制御部57の制御の下で、タイルループフィルタ部56-1~56-Nによるフィルタリング処理後のタイル復号画像を組み合わせてフレーム単位の復号画像を生成し、その復号画像を動き補償予測フレームメモリ53に格納する処理を実施する。
なお、タイル分割制御部57及び並列処理終了部58から復号画像格納手段が構成されている。
図7はこの発明の実施の形態1による動画像復号装置の処理内容(動画像復号方法)を示すフローチャートである。
図8において、可変長復号部61は並列処理開始部52により分配されたタイル単位のビット系列データから予測処理単位のブロックである復号対象ブロック(符号化対象ブロックに相当するブロック)に係る圧縮データと、符号化パラメータ(符号化モード、イントラ予測パラメータ(符号化モードがイントラ符号化モードである場合)、インター予測パラメータ(符号化モードがインター符号化モードである場合)、予測差分符号化パラメータ)と、動きベクトル(符号化モードがインター符号化モードである場合)とを可変長復号するとともに、可変長復号後の符号化パラメータ及びタイル単位のビット系列データに多重化されているタイル単位のフィルタを示すフィルタパラメータの符号化データをタイルループフィルタ部56-nに出力する処理を実施する。
動き補償部64は動き補償予測フレームメモリ53に格納されているフィルタリング処理後の復号画像を参照しながら、切換スイッチ62から出力された動きベクトルとインター予測パラメータを用いて、復号対象ブロックに対するインター予測処理を実施してインター予測画像を生成する処理を実施する。
加算部66は逆量子化・逆変換部65により算出された復号予測差分信号と、イントラ予測部63により生成されたイントラ予測画像、または、動き補償部64により生成されたインター予測画像とを加算して、復号画像を算出する処理を実施する。
タイル復号画像メモリ67は加算部66により算出された復号画像を格納する記録媒体である。
タイルに属する全てのコーディングユニット(CU)の復号処理が終了した時点で、格納されているタイル1つ分の復号画像がタイル復号部54-nの外部に出力される。
なお、図9はこの発明の実施の形態1による動画像復号装置のタイル復号部54-n(n=1,2,・・・,N)の処理内容を示すフローチャートである。
図10において、タイルフィルタパラメータ復号部71は可変長符号分離部51により分離されたフィルタパラメータ共有フラグが各タイルでフィルタを共通させない旨を示している場合、可変長符号分離部51により分離されたタイル単位のフィルタを示すフィルタパラメータの符号化データを復号し、その復号結果であるフィルタパラメータをループフィルタ実施部72に出力する処理を実施する。
一方、フィルタパラメータ共有フラグが各タイルでフィルタを共通させる旨を示している場合、フィルタパラメータ復号部55から出力されたフィルタパラメータが示すフレーム単位のフィルタとタイル復号部54-nの可変長復号部61により可変長復号された符号化パラメータを用いて、タイル復号部54-nから出力されたタイル復号画像に対するフィルタリング処理を実施する。
この実施の形態1では、映像の各フレーム画像を入力画像として、近接フレーム間で動き補償予測を実施して、得られた予測差分信号に対して直交変換・量子化による圧縮処理を施し、その後、可変長符号化を行ってビットストリームを生成する動画像符号化装置と、その動画像符号化装置から出力されるビットストリームを復号する動画像復号装置について説明する。
同時に、復号処理において、タイルレベルでの並列処理が可能となる符号化結果を出力することを特徴としている。
撮像装置、記憶装置及び伝送装置などの進化に伴って、映像信号の時間・空間・輝度レベル解像度は増加する傾向にあり、既存の動画像符号化装置、動画像復号装置では、所定の速度で符号化処理や復号処理を行うことが不可能になることが考えられる。
このような状況に対応する解の一つとして、入力画像を空間的に分割して、複数の符号化部に与え、複数の符号化部を並列に動作させることで、処理時間を低減させることが考えられる。この場合、復号側においても、分割されて符号化されたデータをそれぞれ異なる復号部に与え、複数の復号部が復号処理を並列処理することで、処理時間を低減させることが可能となる。
ある領域の符号化を行う際に、近接領域が別の符号化部で並列的に処理されていた場合、これらの情報の参照を行うためには処理の同期が必要になるため、並列性能を高めるためには好ましくない。
また、上記の情報以外にも、画面のフィルタリング処理を行う場合に近接領域の画素参照が必要になる。よって、フィルタリング処理も含めた並列性能を高めるためには、フィルタリング処理においても、別の符号化部・復号部で並列的に処理されている近接領域の画素参照を行うべきではない。
ただし、各画素の諧調は、8ビットでもよいし、10ビットや12ビットなどの諧調でもよい。
以下の説明では、便宜上、特に断らない限り、入力画像の映像信号はYUV信号であるとし、かつ、2つの色差成分U,Vが輝度成分Yに対して、サブサンプルされた4:2:0フォーマットの信号を扱う場合について述べる。
また、映像信号の各フレームに対応する処理データ単位を「ピクチャ」と称する。
この実施の形態1では、「ピクチャ」は順次走査(プログレッシブスキャン)された映像フレーム信号として説明を行うが、映像信号がインタレース信号である場合、「ピクチャ」は映像フレームを構成する単位であるフィールド画像信号であってもよい。
また、符号化制御部1は、タイル符号化部5-1~5-Nにより生成されたタイル単位の局所復号画像のフィルタリング処理に用いるフィルタを各タイルで共通させるか否かを示すフィルタパラメータ共有フラグ(各タイルで共通させる場合:ONのフラグ、各タイルで共通させない場合:OFFのフラグ)をタイル分割制御部2、ループフィルタ制御部6、タイルループフィルタ部7-1~7-N及び可変長符号多重化部9に出力する。
並列処理開始部3は、入力画像を示す映像信号を入力すると、タイル分割制御部2の指示の下、その入力画像を所定サイズのタイルに分割し、分割後のタイルをタイル符号化部5-1~5-Nに分配する(図2のステップST1)。
ここで、タイル分割を制御する情報は様々な表現が考えられるが、例えば、タイルを最大サイズのCU(Largest CU:LCU)を最小単位として、LCUをいくつ含むかという情報によってタイル分割を指定することを考える。
入力画像は、図11に示すように、左上を始点として、格子状に並ぶLCUに分割される。画像の高さと幅及びLCUの一辺の長さを指定すると、この分割は一意に定まる。
タイル分割は、LCUを最小単位として行われるため、各タイルの幅及び高さは、横及び縦の辺に含まれるLCUの数で表すことができる。
よって、タイル分割制御情報として、2つの整数の系列であるColumnWidthArray[],RowHeightArray[]を与える。
ColumnWidthArray[]は、横方向に並ぶタイルの幅をLCUの数で表現した値を、右から順に並べたものである。
また、RowHeightArray[]は、上下方向に並ぶタイルの高さをLCUの数で表現した値を、上から順に並べたものである。
また、入力画像のLCU分割は、画像サイズとLCUの一辺の長さから一意に決定されるため、最も右の列の幅と、最も下の行の高さは指定しなくとも、その他の行や列の情報から一意に定めることが可能となる。
よって、これらの情報は省略が可能であり、その場合、ColumnWidthArray[]={4, 3, 6, 4}、RowHeightArray[]={3, 3, 4}と指定すればよい。
上記では、図11に示されるように、フレームを格子状に分割するタイルの例を説明したが、図19に示すような、格子状配置でないより自由なタイル分割も可能である。このような場合、タイル分割制御情報もこのような分割状態を表現できる情報でなければならない。例えば、タイルの最も左上の画素またはLCUの座標、タイルの幅及び高さの情報により表現することが例として挙げられる。
またタイル分割状態は、シーケンス全体で同じ分割状態を維持してもよいし、フレーム単位で変更してもよいし、またはイントラピクチャ、インターピクチャなどのピクチャ種ごとに切り替えてもよい。シーケンス全体で同じタイル分割状態を用いる場合は、タイル分割情報はシーケンスのヘッダで多重化すればよく、シーケンスの途中で切り替える場合は、切り替わった直後のピクチャのピクチャヘッダに多重化すればよい。
この場合、タイルの数が1つであり、かつ、タイルのサイズが入力画像のサイズと一致するようにタイル分割制御情報を指定してもよいし、また、タイル符号化並列フラグやタイルループフィルタ並列フラグによって、全ての並列処理をOFFにしてもよい。
また、別のフラグをタイル分割制御情報に多重化し、そのフラグで並列処理の実施/不実施を切り替えるようにしてもよい。
以下では、タイルレベルでの並列処理を行う場合について説明するが、並列処理を行わない場合の動作はフレーム全体が1つのタイルである場合の動作と同等である。
例えば、タイル数が7で、タイル符号化部の個数が3である場合、タイル1~3の処理をタイル符号化部5-1、タイル4~5の処理をタイル符号化部5-2、タイル6~7の処理をタイル符号化部5-3に割り当てるようにする。
また、タイルの分割数がタイル符号化部の個数に満たない場合でも、1つのタイル符号化部に対して、複数のタイルを割り当てるように制御してもよい。
このとき、タイル符号化部5-n及びタイルループフィルタ部7-nの処理は、タイルの数だけ繰り返し実行され(ステップST5,ST6)、かつ、各ループの処理は独立しているため、タイル符号化部5-nの個数だけ並列的に実行することが可能である。
フィルタパラメータ共有フラグがOFFである場合、タイルの符号化処理とタイルのループフィルタ処理をまとめて並列化することが可能であるため、より符号化処理の並列性を向上させることが可能となる。また、フィルタパラメータが局所化されるため、画面領域毎に、画像の性質が大きく異なる場合に画質向上につながる。
なお、タイル符号化部5-n及びタイルループフィルタ部7-nの処理内容の詳細については後述する。
タイルループフィルタ部7-nは、ループフィルタ制御部6からフィルタパラメータを受けると、全てのタイル局所復号画像のフィルタリング処理が終了するまで、タイル局所復号画像のフィルタリング処理を繰り返し実行する(ステップST12~ST14)。
ただし、フィルタパラメータ共有フラグがONである場合、タイル符号化部5-nとタイルループフィルタ部7-nの間で並列処理を一旦同期させる必要があるため、符号化処理の並列性能は低下する。
後述する動画像復号装置においては、フィルタパラメータ共有フラグがONの際に作成されたビットストリームを復号する場合でも並列性能が低下しない。
また、並列処理終了部8は、符号化制御部1から出力されたフィルタパラメータ共有フラグがONである場合、ループフィルタ制御部6から出力されたフレーム単位のフィルタを示すフィルタパラメータの符号化データを可変長符号多重化部9に出力する。
一方、フィルタパラメータ共有フラグがONである場合、並列処理終了部8から出力されたビット系列データ(タイル符号化部5-1~5-Nにより生成されたビット系列データ)と、符号化制御部1から出力されたタイル分割制御情報及びフィルタパラメータ共有フラグと、ループフィルタ制御部6から出力されたフレーム単位のフィルタを示すフィルタパラメータの符号化データとを所定の方式で多重化してビットストリームを生成する(ステップST15)。
タイル符号化装置5は、N個のタイル符号化部5-1~5-Nを実装しており、N個のタイル符号化部5-1~5-Nが独立して予測差分符号化処理(タイル間のいかなる情報参照も行わない予測差分符号化処理)を実施する。
まず、タイル符号化制御部21は、上記で定めた分割階層数の上限に至るまで、階層的に符号化ブロックサイズを有する符号化対象ブロックに分割する指示をブロック分割部22に出力するとともに、各符号化対象ブロックに対する符号化モードを決定する(図4のステップST21)。
ブロック分割部22は、タイル符号化制御部21の指示の下、並列処理開始部3により分配されたタイルを符号化ブロックサイズのブロック(予測処理単位のブロック)に分割して、予測処理単位のブロックである符号化対象ブロックを出力する。
ここで、図12は最大符号化ブロックが階層的に複数の符号化対象ブロックに分割される例を示す説明図である。
図12において、最大符号化ブロックは、「第0階層」と記されている輝度成分が(L0,M0)のサイズを有する符号化対象ブロックである。
深さnにおいては、符号化対象ブロックはサイズ(Ln,Mn)の画像領域である。
ただし、LnとMnは、同じであってもよいし、異なっていてもよいが、図12では、Ln=Mnのケースを示している。
以降、タイル符号化制御部21により決定される符号化ブロックサイズは、符号化対象ブロックの輝度成分におけるサイズ(Ln,Mn)と定義する。
4分木分割を行うため、常に、(Ln+1,Mn+1)=(Ln/2,Mn/2)が成立する。
以降、第n階層の符号化対象ブロックをBnで表し、符号化対象ブロックBnで選択可能な符号化モードをm(Bn)で表すものとする。
複数の色成分からなるカラー映像信号の場合、符号化モードm(Bn)は、色成分毎に、それぞれ個別のモードを用いるように構成されてもよいし、すべての色成分に対し共通のモードを用いるように構成されてもよい。以降、特に断らない限り、YUV信号、4:2:0フォーマットの符号化ブロックの輝度成分に対する符号化モードを指すものとして説明を行う。
さらに、符号化対象ブロックBnは、図13に示すように、ブロック分割部22によって、1つないし複数の予測処理単位(パーティション)に分割される。
以降、符号化対象ブロックBnに属するパーティションをPi n(iは、第n階層におけるパーティション番号)と表記する。
符号化対象ブロックBnのパーティション分割が、どのようになされているかは、符号化モードm(Bn)の中に情報として含まれる。
パーティションPi nは、すべて符号化モードm(Bn)に従って予測処理が行われるが、符号化対象ブロックBnないしパーティションPi n毎に、予測パラメータが選択される。
図13(a)の斜線部分は、分割後のパーティションの分布を示しており、図13(b)は階層分割によって符号化モードm(Bn)が割り当てられる状況を4分木グラフで示している。
図13(b)の□で囲まれているノードは、符号化モードm(Bn)が割り当てられたノード(符号化対象ブロック)である。
一方、タイル符号化制御部21により決定された符号化モードm(Bn)がインター符号化モードである場合(m(Bn)∈INTERの場合)、ブロック分割部22から出力された符号化対象ブロックBnを動き補償予測部25に出力する。
また、図6の動画像復号装置がイントラ予測画像PINTRAi nと全く同じイントラ予測画像を生成する必要があるため、イントラ予測画像PINTRAi nの生成に用いられたイントラ予測パラメータは、タイル符号化制御部21から可変長符号化部31に出力されて、ビットストリームに多重化される。
なお、図6の動画像復号装置がインター予測画像PINTERi nと全く同じインター予測画像を生成する必要があるため、インター予測画像PINTERi nの生成に用いられたインター予測パラメータは、タイル符号化制御部21から可変長符号化部31に出力されて、ビットストリームに多重化され、その動きベクトルは、動き補償予測部25から可変長符号化部31に出力されて、ビットストリームに多重化される。
変換・量子化部27は、減算部26から予測差分信号ei nを受けると、タイル符号化制御部21により決定された予測差分符号化パラメータを参照して、その予測差分信号ei nに対する直交変換処理(例えば、DCT(離散コサイン変換)や、予め特定の学習系列に対して基底設計がなされているKL変換等の直交変換処理)を実施して、その変換係数を算出する。
また、変換・量子化部27は、その予測差分符号化パラメータを参照して、その変換係数を量子化し、量子化後の変換係数である圧縮データを逆量子化・逆変換部28及び可変長符号化部31に出力する(ステップST26)。
また、逆量子化・逆変換部28は、その予測差分符号化パラメータを参照して、逆量子化後の圧縮データである変換係数に対する逆直交変換処理(例えば、逆DCT、逆KL変換など)を実施して、減算部26から出力された予測差分信号ei nに相当する局所復号予測差分信号を算出する(ステップST29)。
なお、加算部29は、その局所復号画像をタイル局所復号画像メモリ30に格納する。この局所復号画像が、カレントタイルにおける以降のイントラ予測用の画像信号になる。
なお、可変長符号化の手法として、例えば、コンテキスト適応型算術符号化などを用いた場合、可変長符号化部31の内部の状態を符号化の進行に合わせて更新していくが、この内部状態の初期値は、所定の固定値もしくは図1の並列処理開始部3から出力される値を使用するものとして、タイル間での状態の引継ぎは行わないようにする。
どのような処理に置き換えられるかは、動画像符号化装置と動画像復号装置で一致させる必要があるが、符号化側と復号側で固定的に同じ処理を行ってもよいし、処理内容を示す信号をシグナリングしてもよい。
以上よりタイル符号化部5-1~5-Nの処理は各タイルで独立しており、並列実行可能である。
また、タイル符号化部5-1~5-Nの一つのモジュールに対して、並列処理開始部3から複数のタイルが出力された場合、当該モジュールは、それぞれのタイルに対して逐次的に符号化処理を実施する。また、同じモジュールで符号化されたタイル同士であっても、タイル間の独立性は維持し、出力されるビット系列が、並列的に処理した場合と等しくなるように動作する。
タイル内をスライスに分割する場合、スライスの分割情報、各スライス独立のパラメータやモード情報及びスライス間を跨いだ情報参照を行うかどうかを示すフラグなどの情報はビットストリームに多重化され復号側に伝送される。
可変長符号化の手法として前記コンテキスト適応型算術符号化を用いる場合、コンテキスト適応算術符号化処理の演算が複雑であるため処理速度のボトルネックとなる場合がある。タイル符号化処理の並列処理性を向上させるためは、すべてのタイルの符号化が同時に終了することが望ましいため、スライス単位にコンテキスト適応算術符号化の処理の一部を制限するよう構成する。
ここではコンテキスト適応算術符号化を例に説明したが、他のいかなる可変長符号化手法であっても、その一部の処理を取り除いてもなお可変長符号化が可能であれば同様の手段によって同様の効果が得られる。
タイルループフィルタ部7-nでは、局所復号画像に含まれている符号化歪を補正するフィルタの設計やフィルタリング処理を行う。
ここで、ループフィルタ処理は、異なる1種以上のループフィルタ(ブロック境界の不連続を緩和するデブロッキングフィルタ、量子化誤差による直流成分の変動、エッジの不連続を補正するSAO(Sample Adaptive Offset)、入力画像との誤差を最小にするフィルタを都度設計する適応型ループフィルタなど)を、入力された局所復号画像に対して直列的に実施するフィルタリング処理である。このとき、いずれのフィルタリング処理においても、タイルを跨いだ画素や、その他の情報の参照を行わないフィルタリング処理を実施する。
一方、フィルタパラメータ共有フラグがOFFである場合、タイルループフィルタ制御部41が、タイル符号化部5-nから出力されるタイル局所復号画像に適するタイル単位のフィルタを決定し、そのフィルタを使用する。
ALFは、画面を一定数のフィルタ定義領域に分割し、かつ、フィルタ定義領域毎に局所復号画像と入力画像の誤差が最小となるようなフィルタを定義する手法である。
ALFにおけるフィルタパラメータは、分割領域の形状、各領域に定義されたフィルタの形状及びフィルタ係数を示す情報となる。
ここでは、説明の便宜上、フィルタ定義領域数を16として、処理単位の矩形(フレーム又はタイル)を4×4の矩形領域に分割する領域分割手法を用いた場合を考える。
また、各フィルタ定義領域の各タイル内での相対位置情報を求め、その相対位置情報及びフィルタ形状/フィルタ係数情報をフィルタパラメータとして各タイルに出力する。
タイルループフィルタ部7-nのループフィルタ実施部42は、ループフィルタ制御部6からフィルタ定義領域の相対位置及びフィルタ形状/フィルタ係数情報を受けると、その相対位置及びフィルタ形状/フィルタ係数情報に基づいてフィルタリング処理を実施する。
したがって、例えば、画像の特性が局所的に大きく変化しているような画像に対しては画質への改善効果が大きくなる利点が考えられる。
一方、個々のタイル対して、16種類のフィルタを設計することが、画質改善上オーバスペックであり、むしろフィルタパラメータの符号量の増加が問題になることも考えられる。
このような場合は、フィルタパラメータ共有フラグをONにすることで、フィルタパラメータの符号量を削減し、効率的にループフィルタ処理を行うことが可能となる。
ループフィルタ実施部42は、タイルループフィルタ制御部41からフィルタ定義領域情報及びフィルタ形状/フィルタ係数情報を受けると、そのフィルタ定義領域情報及びフィルタ形状/フィルタ係数情報に基づいてフィルタリング処理を実施する。
一方、フィルタパラメータ共有フラグがONである場合、タイル符号化部5-nから出力されたビット系列データをそのまま並列処理終了部8に出力する。
フィルタパラメータ共有フラグがONである場合、フィルタパラメータは、ビットストリーム上では、例えば、図15(a)に示すように、ピクチャのヘッダとして多重化される。
フィルタパラメータ共有フラグがOFFである場合、タイル毎に定義されるフィルタパラメータセットは、ビットストリーム上では、例えば、図15(b)に示すように、タイルのヘッダとして各タイルデータの先頭位置に多重化される。
この際、タイル境界においては、カレントタイルと異なるタイルの画素を参照しないフィルタリングを実施する。
例えば、図16(a)に示すフィルタ形状の線形フィルタを用いる場合、フィルタ境界では、図16(b)に示すように、フィルタ境界の外部を参照しないようにフィルタ形状を変更する。
あるいは、図16(c)に示すように、フィルタ境界付近の画素をコピーするような処理によって、カレントタイルと異なるタイルの画素を参照しないフィルタリング処理を実施する。
フィルタパラメータ共有フラグがONであり、カレントタイルと隣接するタイルで同じフィルタパラメータを用いる場合でも、タイルを跨いだ画素参照は行わない。
タイルを跨いだ画素参照を行わないことで、タイル符号化部7-nのループフィルタ処理の並列化が可能になるとともに、このタイル符号化部7-nで作成されたビットストリームの復号において、ループフィルタ処理の並列化が可能になる。
可変長符号分離部51は、図1の動画像符号化装置により生成されたビットストリームを入力すると、そのビットストリームに多重化されているフィルタパラメータ共有フラグを分離して、そのフィルタパラメータ共有フラグをフィルタパラメータ復号部55及びタイルループフィルタ部56-nに出力する。
また、可変長符号分離部51は、ビットストリームに多重化されているタイル分割制御情報を分離して、そのタイル分割制御情報をタイル分割制御部57に出力し、そのフィルタパラメータ共有フラグがONであれば、ビットストリームに多重化されているフレーム単位のフィルタを示すフィルタパラメータの符号化データを分離して、そのフィルタパラメータの符号化データをフィルタパラメータ復号部55に出力する。
また、可変長符号分離部51は、タイルの個数だけビットストリームに多重化されているビット系列データを分離して、そのビット系列データを並列処理開始部52に出力する(図7のステップST41)。
並列処理開始部52は、可変長符号分離部51からタイルの個数分のビット系列データ(フレーム単位のビット系列データ)を受けると、タイル単位のビット系列データに分割し、タイル単位のビット系列データをタイル復号部54-1~54-Nに分配する。
ステップST45~ST48のループ内の処理は、後述するように、各タイルで独立しているため並列的に実行することができる。
図1の動画像符号化装置と異なり、フィルタパラメータ共有フラグのON/OFFに関わらず、ステップST45~ST48の処理をまとめて並列化することが可能である。
タイル復号装置54は、N個のタイル復号部54-1~54-Nを実装しており、N個のタイル復号部54-1~54-Nが独立して予測差分復号処理(タイル間のいかなる情報参照も行わない予測差分復号処理)を実施する。
可変長復号部61は、最大符号化ブロックのサイズと分割階層数の上限を決定すると、タイル単位のビット系列データから最大符号化ブロックに割り当てられている符号化モードm(Bn)を復号し、その符号化モードm(Bn)に含まれている最大符号化ブロックの分割状態を示す情報を復号する(図9のステップST51)。
可変長復号部61は、最大符号化ブロックの分割状態を示す情報を復号すると、その分割状態に基づいて、階層的に分割されている復号対象ブロック(図1の動画像符号化装置の「符号化対象ブロック」に相当するブロック)を特定する(ステップST52)。
一方、復号対象ブロック(符号化対象ブロック)に割り当てられている符号化モードm(Bn)がインター符号化モードである場合、タイル単位のビット系列データから、復号対象ブロック毎、あるいは、その復号対象ブロックに含まれている1つ以上のパーティション毎にインター予測パラメータ及び動きベクトルを復号する(ステップST53)。
可変長復号部61は、フィルタパラメータ共有フラグがOFFであるために、タイル単位のフィルタを示すフィルタパラメータの符号化データがタイル単位のビット系列データに多重化されている場合、その符号化データを分離してタイルループフィルタ部56-nに出力する。
また、可変長復号部61は、符号化パラメータをタイルループフィルタ部56-nに出力する。
一方、可変長復号部61により可変長復号された符号化モードm(Bn)がインター符号化モードであれば(m(Bn)∈INTERの場合)、可変長復号部61により可変長復号されたインター予測パラメータ及び動きベクトルを動き補償部64に出力する。
なお、入力されたビット系列データがコンテキスト適応型算術符号など、過去のブロックの符号化結果により内部状態が変化する符号化方式を用いている場合、可変長復号部61の内部状態の初期値は、図3の可変長符号化部31と同様の値を使用し、タイル間の引継ぎを行わない。
ただし、動き補償部64は、復号対象ブロックBn内の全てのパーティションPi nに対して、共通のインター予測モードと共通の参照画像指示インデックスが決定されている場合、その参照画像指示インデックスが示す全てのパーティションPi nで共通の参照画像と、パーティションPi n毎の動きベクトルとを用いて、当該パーティションPi nに対するインター予測処理を実施してインター予測画像PINTERi nを生成する。
この復号画像が、以降のイントラ予測用の画像信号になる。
また、タイル復号部54-nにおいては、上述のように符号化側でタイル内がスライスに分割されていた場合、ビットストリームに多重化されているスライス分割情報に基づいてカレントタイルをスライスに分割し、スライス毎に独立して定義されたパラメータおよびモード情報に従い復号処理を行う。
また、可変長復号手段としてコンテキスト適応算術復号を用いる場合、スライスヘッダに多重化された可変長符号化処理制御情報を復号し、前記可変長符号化処理制御情報がコンテキスト切り替えを行わないよう制限することを示す場合には、当該スライスにおいてはコンテキスト切り替えを行わないで適応算術復号を行う。同様に前記可変長符号化処理制御情報がコンテキスト切り替えおよび適応処理を行わないよう制限することを示す場合には、当該スライスにおいてはコンテキスト切り替えおよび適応処理を行わずに算術復号を行う。このように構成することで、本発明による符号化手段によって生成されたビットストリームを好適に復号することができる。ここではコンテキスト適応算術復号を例に説明したが、他のいかなる可変長復号手法であっても、その一部の処理を取り除いてもなお可変長復号が可能であれば同様の手段によって同様の効果が得られる。
タイルループフィルタ部56-nのタイルフィルタパラメータ復号部71は、可変長符号分離部51により分離されたフィルタパラメータ共有フラグがOFFである場合、タイル復号部54-nから出力されたフィルタパラメータの符号化データからタイル単位のフィルタを示すフィルタパラメータを復号し、その復号結果であるフィルタパラメータをループフィルタ実施部72に出力する。
一方、可変長符号分離部51により分離されたフィルタパラメータ共有フラグがONであるために、フィルタパラメータ復号部55からフィルタパラメータを受けると、そのフィルタパラメータが示すフレーム単位のフィルタとタイル復号部54-nの可変長復号部61により可変長復号された符号化パラメータを用いて、タイル復号部54-nから出力されたタイル復号画像に対するフィルタリング処理を実施する。
ループフィルタ実施部72は、図5のループフィルタ実施部42と等しい処理を行うものである。即ち、異なるタイルを跨いだ画素参照を行わないフィルタリング処理を行うため、タイルループフィルタ部45-nの処理は各タイルで独立しており、並列実行可能である。
この実施の形態2では、上記実施の形態1における動画像符号化装置に対して、タイルレベルでの並列処理の実施/不実施の切り替え機能を追加している動画像符号化装置について説明する。
また、当該動画像符号化装置により作成されたビットストリームから動画像を復号することが可能な動画像復号装置について説明する。
図17において、符号化制御部81は図1の符号化制御部1と同様に、映像信号が示す入力画像を所定サイズのタイルに分割する際の分割状態を指示するタイル分割制御情報(分割制御情報)を出力する処理を実施する。
また、符号化制御部81は入力画像を分割して並列化するか否かを示す符号化並列フラグ(分割フラグ)を出力するとともに、フィルタリング処理の種類別に、当該フィルタリング処理に用いるフィルタを各タイルで共通させるか否かを示すフィルタパラメータ共有フラグ(フィルタ共有フラグ)#1~Mを出力する処理を実施する。
さらに、符号化制御部81は前段の処理部と後段の処理部の接続関係を示すループフィルタ並列フラグ#1~Mを出力する処理を実施する。
なお、符号化制御部81は分割制御手段を構成している。
並列処理開始部83は符号化制御部81から出力された符号化並列フラグが入力画像を分割して並列化する旨を示している場合、タイル分割制御部2の指示の下、映像信号が示す入力画像を所定サイズのタイルに分割し、分割後のタイルをタイル符号化部85-1~85-Nに分配する処理を実施する。
一方、符号化並列フラグが入力画像を分割して並列化しない旨を示している場合、映像信号が示す入力画像を分割せずに、フレーム単位の画像である入力画像をフレーム符号化部86に出力する処理を実施する。
なお、タイル分割制御部82及び並列処理開始部83からタイル分配手段が構成されている。
タイル符号化装置85はN個のタイル符号化部85-1~85-Nを実装しており、N個のタイル符号化部85-1~85-Nが独立して予測差分符号化処理を実施する。Nは1以上の整数である。
タイル符号化部85-1~85-Nは図1のタイル符号化部5-1~5-Nと同様に、動き補償予測フレームメモリ84に記憶されているフィルタリング処理後の局所復号画像を参照して、並列処理開始部83により分配されたタイルに対する予測差分符号化処理を実施することで、その符号化結果であるビット系列データ及び符号化パラメータを出力するとともに、タイル局所復号画像(局所復号画像)を生成する処理を実施する。なお、タイル符号化部85-1~85-Nはタイル符号化手段を構成している。
また、ループフィルタ制御部87-1~87-Mはフレーム単位のフィルタを示すフィルタパラメータを可変長符号化し、そのフィルタパラメータの符号化データを並列処理終了部91に出力する処理を実施する。
タイルループフィルタ部88-m-n(n=1,2,・・・,N)は符号化制御部81から出力されたフィルタパラメータ共有フラグ#mが各タイルでフィルタを共通させない旨を示している場合、並列処理切替部90-mから出力されたタイル局所復号画像のフィルタリング処理に適するタイル単位のフィルタを決定し、そのフィルタを用いて、タイル局所復号画像に対するフィルタリング処理を実施するとともに、タイル単位のフィルタを示すフィルタパラメータを可変長符号化し、その符号化結果を並列処理切替部90-1~90-Mから出力されたビット系列データに多重化する処理を実施する。
一方、フィルタパラメータ共有フラグ#mが各タイルでフィルタを共通させる旨を示している場合、ループフィルタ制御部87-mから出力されたフィルタパラメータが示すフレーム単位のフィルタを用いて、並列処理切替部90-mから出力されたタイル局所復号画像のフィルタリング処理を実施するとともに、並列処理切替部90-mから出力されたビット系列データをそのまま出力する処理を実施する。
なお、タイルループフィルタ部88-1-1~88-1-N,88-2-1~88-2-N,・・・,88-M-1~88-M-Nはタイルフィルタ手段を構成している。
これにより、符号化制御部81から出力された符号化並列フラグが入力画像を分割して並列化する旨を示している場合でも、符号化制御部81から出力されたフィルタパラメータ共有フラグ#1~Mのうち、例えば、フィルタパラメータ共有フラグ#xが各タイルでフィルタを共通させる旨を示している場合、前段の処理部から出力された局所復号画像、符号化パラメータ及びビット系列データをタイルループフィルタ部88-x-nではなく、フレームループフィルタ部89-xに出力するようになる。
また、符号化並列フラグが入力画像を分割して並列化する旨を示している場合において、符号化制御部81から出力されたフィルタパラメータ共有フラグ#Mが各タイルでフィルタを共通させる旨を示していれば、フレームループフィルタ部88-Mによるフィルタリング処理後のフレーム局所復号画像を動き補償予測フレームメモリ84に格納するとともに、フレームループフィルタ部88-Mから出力されたビット系列データを可変長符号多重化部92に出力する処理を実施する。
一方、符号化並列フラグが入力画像を分割して並列化しない旨を示している場合、フレームループフィルタ部88-Mによるフィルタリング処理後のフレーム局所復号画像を動き補償予測フレームメモリ84に格納するとともに、フレームループフィルタ部88-Mから出力されたビット系列データを可変長符号多重化部92に出力する処理を実施する。
なお、並列処理終了部91は局所復号画像格納手段を構成している。
なお、可変長符号多重化部92は多重化手段を構成している。
図18において、可変長符号分離部101は図17の動画像符号化装置により生成されたビットストリームを入力すると、そのビットストリームに多重化されているビット系列データと、タイル分割制御情報と、符号化並列フラグと、ループフィルタ並列フラグ#1~Mと、フィルタパラメータ共有フラグ#1~Mと、フィルタパラメータの符号化データとを分離する処理を実施する。なお、可変長符号分離部101は分離手段を構成している。
一方、符号化並列フラグが入力画像を分割して並列化しない旨を示している場合、可変長符号分離部101から出力されたフレーム単位のビット系列データをフレーム復号部105に出力する処理を実施する。なお、並列処理開始部102は符号化ビットデータ分配手段を構成している。
動き補償予測フレームメモリ103はフィルタリング処理後の復号画像を記憶する記録媒体である。なお、動き補償予測フレームメモリ103は画像メモリを構成している。
タイル復号部104-1~104-Nは図6のタイル復号部54-1~54-Nと同様に、動き補償予測フレームメモリ103に記憶されているフィルタリング処理後の復号画像を参照して、並列処理開始部102により分配されたタイル単位のビット系列データに対する予測差分復号処理を実施することで、タイル復号画像(タイル単位の復号画像)を生成するとともに、そのタイル復号画像と予測差分復号処理を実施する際に用いている符号化パラメータ(ビット系列データに多重化されている符号化パラメータ)を並列処切替部110-1に出力する処理を実施する。
また、ビット系列データに多重化されているタイル単位のフィルタを示すフィルタパラメータの符号化データを並列処理切替部110-1に出力する処理を実施する。
なお、タイル復号部104-1~104-Nはタイル復号手段を構成している。
また、ビット系列データに多重化されているフレーム単位のフィルタを示すフィルタパラメータの符号化データを並列処理切替部110-1に出力する処理を実施する。
なお、フレーム復号部105はフレーム復号手段を構成している。
タイルループフィルタ部107-m-n(n=1,2,・・・,N)は並列処理切替部110-mからタイル復号画像が出力されると、可変長符号分離部101により分離されたフィルタパラメータ共有フラグ#mが各タイルでフィルタを共通させない旨を示している場合、並列処理切替部110-mから出力されたフィルタパラメータの符号化データからタイル単位のフィルタを示すフィルタパラメータを復号し、タイル単位のフィルタを用いて、タイル復号画像に対するフィルタリング処理を実施する。
一方、フィルタパラメータ共有フラグ#mが各タイルでフィルタを共通させる旨を示している場合、並列処理切替部110-mから出力されたフィルタパラメータの符号化データからフレーム単位のフィルタを示すフィルタパラメータを復号し、フレーム単位のフィルタを用いて、タイル復号画像に対するフィルタリング処理を実施する。
なお、タイルループフィルタ部107-1-1~107-1-N,107-2-1~107-2-N,・・・,107-M-1~107-M-Nはタイルフィルタ手段を構成している。
並列処理切替部110-mは可変長符号分離部101により分離されたループフィルタ並列フラグ#mにしたがって前段の処理部と後段の処理部との接続関係を制御する処理を実施する。
これにより、可変長符号分離部101により分離された符号化並列フラグが入力画像を分割して並列化する旨を示している場合でも、可変長符号分離部101により分離されたフィルタパラメータ共有フラグ#1~Mのうち、例えば、フィルタパラメータ共有フラグ#xが各タイルでフィルタを共通させる旨を示している場合、前段の処理部から出力された復号画像、符号化パラメータ及びフィルタパラメータの符号化データをタイルループフィルタ部107-x-nではなく、フレームループフィルタ部108-xに出力するようになる。
なお、タイル分割制御部109及び並列処理終了部111から復号画像格納手段が構成されている。
上記実施の形態1では、タイルループフィルタ装置7が1段構成であるものを示したが、この実施の形態3では、互いに異なる種類のループフィルタを実現するタイルループフィルタ装置88-1~88-Mが多段に接続されている点で相違している。
例えば、画像に施すループフィルタとして、デブロッキングフィルタ、SAO、ALFが定義されている場合、画像がタイルに分割されていれば、符号化処理及び全てのフィルタリング処理を、タイル間で参照を行わない手法で実施しなければならない。
ただし、ループフィルタの種類によっては、タイル単位でフィルタリング処理を行うよりも、フレーム単位でフィルタリング処理を行う方が、都合がよい場合もある。
このような状況下では、画質の観点から、並列化が不要なループフィルタはタイル間を跨いだ画素参照を行うフィルタリング処理を施すことが望ましい。
また、予測差分符号化処理や復号処理は並列化の必要性があるが、ループフィルタ処理は並列化の必要性がない場合、あるいは、その逆で、予測差分符号化処理や復号処理は並列化の必要性がないが、ループフィルタ処理は並列化の必要性がある場合がある。
このような状況に対処するには、予測差分符号化処理・復号処理と各種のループフィルタ処理は、それぞれ独立に並列化のためのタイル間を跨る参照を行うか否かを切り替えられるような手法が有効となる。
また、ループフィルタ毎に、タイル単位のフィルタリング処理を行うか、フレーム単位のフィルタリング処理を行うかを切り替えられるようにしている。
符号化制御部81は、図1の符号化制御部1と同様に、映像信号が示す入力画像を所定サイズのタイルに分割する際の分割状態を指示するタイル分割制御情報をタイル分割制御部82、並列処理終了部91及び可変長符号多重化部92に出力する。
また、符号化制御部81は、入力画像を分割して並列化するか否かを示す符号化並列フラグを並列処理開始部83に出力するとともに、フィルタリング処理の種類別に、当該フィルタリング処理に用いるフィルタを各タイルで共通させるか否かを示すフィルタパラメータ共有フラグ#1~M(各タイルで共通させる場合:ONのフラグ、各タイルで共通させない場合:OFFのフラグ)をループフィルタ制御部87-1~87-M、タイルループフィルタ装置88-1~88-M及び可変長符号多重化部91に出力する。
さらに、符号化制御部81は、前段の処理部と後段の処理部の接続関係を示すループフィルタ並列フラグ#1~Mを並列処理切替部90-1~90-Mに出力する。
並列処理開始部83は、符号化制御部81から出力された符号化並列フラグが入力画像を分割して並列化する旨を示している場合、タイル分割制御部82の指示の下、映像信号が示す入力画像を所定サイズのタイルに分割し、分割後のタイルをタイル符号化部85-1~85-Nに分配する。
一方、符号化並列フラグが入力画像を分割して並列化しない旨を示している場合、映像信号が示す入力画像を分割せずに、フレーム単位の画像である入力画像をフレーム符号化部86に出力する。
即ち、タイル符号化部85-1~85-Nは、動き補償予測フレームメモリ84に記憶されているフィルタリング処理後の局所復号画像を参照して、並列処理開始部83により分配されたタイルに対する予測差分符号化処理を実施することで、その符号化結果であるビット系列データ及び符号化パラメータを出力するとともに、タイル局所復号画像を生成する。
符号化処理の処理単位がフレーム単位である点で、タイル符号化部85-1~85-Nと相違しているが、符号化処理自体はタイル符号化部85-1~85-Nと同様であるため詳細な説明を省略する。
一方、符号化並列フラグが入力画像を分割して並列化する旨を示している場合において、フィルタパラメータ共有フラグ#mがOFFであれば、タイル単位のフィルタリング処理を行うため、タイル符号化部85-1~85-N(または、前段のタイルループフィルタ部)の出力信号(タイル局所復号画像、ビット系列データ、符号化パラメータ)を後段のタイルループフィルタ部に伝送する。
ただし、m-1段目のループフィルタで、フレーム単位のフィルタリング処理が行われている場合、前段のフレームループフィルタ部から出力されたフレーム局所復号画像をタイル局所復号画像に分割し、そのタイル局所復号画像、ビット系列データ及び符号化パラメータを後段のタイルループフィルタ部に伝送する。
ループフィルタ制御部87-mは、フレーム単位のフィルタを決定すると、そのフィルタを示すフィルタパラメータをタイルループフィルタ装置88-mに出力する。
また、ループフィルタ制御部87-mは、フレーム単位のフィルタを示すフィルタパラメータを可変長符号化し、そのフィルタパラメータの符号化データを並列処理終了部91に出力する。
また、タイルループフィルタ部88-m-nは、タイル単位のフィルタを示すフィルタパラメータを可変長符号化し、そのフィルタパラメータの符号化データを並列処理切替部90-mから出力されたビット系列データに多重化して後段の並列処理切替部又は並列処理終了部91に出力する。
タイルループフィルタ部88-m-nが、フレーム単位のフィルタを用いて、タイル局所復号画像のフィルタリング処理を実施する状況としては、例えば、符号化制御部81が符号化並列フラグを出力する機能を使用せずに、フレームループフィルタ部89-mの機能を停止している状況などが考えられる(実施の形態1と類似の構成)。
フレームループフィルタ部89-mは、フレーム単位のフィルタを決定すると、フレーム単位のフィルタを用いて、そのフレーム局所復号画像に対するフィルタリング処理を実施し、フィルタリング処理後のフレーム局所復号画像を後段の並列処理切替部又は並列処理終了部91に出力する。
また、フレームループフィルタ部89-mは、フレーム単位のフィルタを示すフィルタパラメータを可変長符号化し、そのフィルタパラメータの符号化データを並列処理切替部90-mから出力されたビット系列データに多重化して後段の並列処理切替部又は並列処理終了部91に出力する。
また、符号化並列フラグが入力画像を分割して並列化する旨を示している場合において、符号化制御部81から出力されたフィルタパラメータ共有フラグ#MがONであれば、フレームループフィルタ部88-Mによるフィルタリング処理後のフレーム局所復号画像を動き補償予測フレームメモリ84に格納するとともに、フレームループフィルタ部88-Mから出力されたビット系列データを可変長符号多重化部92に出力する。
一方、符号化並列フラグが入力画像を分割して並列化しない旨を示している場合、フレームループフィルタ部88-Mによるフィルタリング処理後のフレーム局所復号画像を動き補償予測フレームメモリ84に格納するとともに、フレームループフィルタ部88-Mから出力されたビット系列データを可変長符号多重化部92に出力する。
可変長符号分離部101は、図17の動画像符号化装置により生成されたビットストリームを入力すると、そのビットストリームに多重化されているビット系列データと、タイル分割制御情報と、符号化並列フラグと、ループフィルタ並列フラグ#1~Mと、フィルタパラメータ共有フラグ#1~Mと、フィルタパラメータの符号化データとを分離して出力する。
一方、符号化並列フラグが入力画像を分割して並列化しない旨を示している場合、可変長符号分離部101から出力されたフレーム単位のビット系列データをフレーム復号部105に出力する。
即ち、タイル復号部104-1~104-Nは、動き補償予測フレームメモリ103に記憶されているフィルタリング処理後の復号画像を参照して、並列処理開始部102により分配されたタイル単位のビット系列データに対する予測差分復号処理を実施することで、タイル復号画像を生成するとともに、そのタイル復号画像及び予測差分復号処理を実施する際に用いている符号化パラメータ(ビット系列データに多重化されている符号化パラメータ)を並列処理終了部111に出力する。
また、ビット系列データに多重化されているタイル単位のフィルタを示すフィルタパラメータの符号化データを並列処理切替部110-1に出力する処理を実施する。
また、ビット系列データに多重化されているフレーム単位のフィルタを示すフィルタパラメータの符号化データを並列処理切替部110-1に出力する処理を実施する。
一方、符号化並列フラグが入力画像を分割して並列化する旨を示している場合において、フィルタパラメータ共有フラグ#mがOFFであれば、タイル単位のフィルタリング処理を行うため、タイル復号部104-1~104-N(または、前段のタイルループフィルタ部)の出力信号(タイル局所復号画像、符号化パラメータ、タイル単位のフィルタを示すフィルタパラメータの符号化データ)を後段のタイルループフィルタ部に伝送する。
ただし、m-1段目のループフィルタで、フレーム単位のフィルタリング処理が行われている場合、前段のフレームループフィルタ部から出力されたフレーム復号画像をタイル復号画像に分割し、そのタイル復号画像、符号化パラメータ及びタイル単位のフィルタを示すフィルタパラメータの符号化データを後段のタイルループフィルタ部に伝送する。
なお、フィルタパラメータ共有フラグ#mがONであれば、フィルタパラメータ復号部106-mから出力されたフィルタパラメータが示すフレーム単位のフィルタを用いて、タイル復号画像に対するフィルタリング処理を実施するが、この実施の形態2では、符号化並列フラグが入力画像を分割して並列化する旨を示している場合でも、フィルタパラメータ共有フラグ#mがONである場合、並列処理切替部110-mがフレーム復号画像をフレームループフィルタ部108-mに与えて、タイル復号画像をタイルループフィルタ部107-m-nに与えないので、この状況下では、フレーム単位のフィルタを用いて、タイル復号画像のフィルタリング処理を実施することはない。
タイルループフィルタ部107-m-nが、フレーム単位のフィルタを用いて、タイル復号画像のフィルタリング処理を実施する状況としては、例えば、符号化側が符号化並列フラグを出力する機能を使用せずに、フレームループフィルタ部108-mの機能を停止している状況などが考えられる(実施の形態1と類似の構成)。
並列処理終了部111は、可変長符号分離部101により分離された符号化並列フラグが入力画像を分割して並列化する旨を示している場合において、可変長符号分離部101により分離されたフィルタパラメータ共有フラグ#MがOFFであれば、タイル分割制御部109の制御の下で、タイルループフィルタ部107-M-1~107-M-Nによるフィルタリング処理後のタイル復号画像を組み合わせてフレーム単位の復号画像を生成し、その復号画像を動き補償予測フレームメモリ103に格納する。
また、符号化並列フラグが入力画像を分割して並列化する旨を示している場合において、そのフィルタパラメータ共有フラグ#MがONであれば、フレームループフィルタ部108-Mによるフィルタリング処理後のフレーム復号画像を動き補償予測フレームメモリ103に格納する。
一方、符号化並列フラグが入力画像を分割して並列化しない旨を示している場合、フレームループフィルタ部108-Mによるフィルタリング処理後のフレーム復号画像を動き補償予測フレームメモリ103に格納する。
Claims (10)
- 入力画像の分割状態を指示する分割制御情報を出力する分割制御手段と、上記分割制御手段から出力された分割制御情報にしたがって入力画像を所定サイズの矩形領域であるタイルに分割し、分割後のタイルを分配するタイル分配手段と、フィルタリング処理後の局所復号画像を記憶する画像メモリと、上記画像メモリに記憶された局所復号画像を参照して、上記タイル分配手段により分配されたタイルに対する予測差分符号化処理を実施し、その符号化結果である符号化ビットデータを出力するとともに、上記符号化ビットデータから局所復号画像を生成する1以上のタイル符号化手段と、上記タイル符号化手段により生成された局所復号画像のフィルタリング処理に対応したタイル単位のフィルタを決定し、上記フィルタを用いて、上記局所復号画像に対するフィルタリング処理を実施する1以上のタイルフィルタ手段と、上記分割制御手段から出力された分割制御情報にしたがって1以上のタイルフィルタ手段によるフィルタリング処理後の局所復号画像を組み合わせてフレーム単位の局所復号画像を生成し、上記局所復号画像を上記画像メモリに格納する局所復号画像格納手段と、上記タイル符号化手段から出力された符号化ビットデータ、上記タイルフィルタ手段により決定されたタイル単位のフィルタを示すフィルタパラメータ及び上記分割制御手段から出力された分割制御情報を多重化してビットストリームを生成する多重化手段とを備えた動画像符号化装置。
- 分割制御手段から、1以上のタイル符号化手段により生成された局所復号画像のフィルタリング処理に用いるフィルタを各タイルで共通させるか否かを示すフィルタ共有フラグが出力される場合において、上記フィルタ共有フラグが各タイルでフィルタを共通させる旨を示していれば、各タイルで共通であるフレーム単位のフィルタを決定するフレーム単位フィルタ決定手段を設け、
1以上のタイルフィルタ手段は、上記フィルタ共有フラグが各タイルでフィルタを共通させない旨を示していれば、タイル単位のフィルタを用いて、上記タイル符号化手段により生成された局所復号画像に対するフィルタリング処理を実施し、上記フィルタ共有フラグが各タイルでフィルタを共通させる旨を示していれば、上記フレーム単位フィルタ決定手段により決定されたフレーム単位のフィルタを用いて、上記タイル符号化手段により生成された局所復号画像に対するフィルタリング処理を実施し、
多重化手段は、上記分割制御手段から出力されたフィルタ共有フラグをビットストリームに多重化するとともに、上記フィルタ共有フラグが各タイルでフィルタを共通させない旨を示していれば、上記タイルフィルタ手段により決定されたタイル単位のフィルタを示すフィルタパラメータを多重化し、上記フィルタ共有フラグが各タイルでフィルタを共通させる旨を示していれば、上記フレーム単位フィルタ決定手段により決定されたフレーム単位のフィルタを示すフィルタパラメータを多重化する
ことを特徴とする請求項1記載の動画像符号化装置。 - 入力画像の分割状態を指示する分割制御情報を出力するとともに、上記入力画像を分割するか否かを示す分割フラグを出力する分割制御手段と、上記分割制御手段から出力された分割フラグが分割する旨を示している場合、上記分割制御手段から出力された分割制御情報にしたがって入力画像を所定サイズの矩形領域であるタイルに分割して、分割後のタイルを分配し、上記分割フラグが分割しない旨を示している場合、上記入力画像を分割せずに出力するタイル分配手段と、フィルタリング処理後の局所復号画像を記憶する画像メモリと、上記画像メモリに記憶されている局所復号画像を参照して、上記タイル分配手段により分配されたタイルに対する予測差分符号化処理を実施し、その符号化結果である符号化ビットデータを出力するとともに、上記符号化ビットデータから局所復号画像を生成する1以上のタイル符号化手段と、上記画像メモリに記憶されている局所復号画像を参照して、上記タイル分配手段から出力された入力画像に対する予測差分符号化処理を実施し、その符号化結果である符号化ビットデータを出力するとともに、上記符号化ビットデータから局所復号画像を生成するフレーム符号化手段と、上記タイル符号化手段により生成された局所復号画像のフィルタリング処理に適するタイル単位のフィルタを決定し、上記フィルタを用いて、上記局所復号画像に対するフィルタリング処理を実施する1以上のタイルフィルタ手段と、上記フレーム符号化手段により生成された局所復号画像のフィルタリング処理に適するフレーム単位のフィルタを決定し、上記フィルタを用いて、上記局所復号画像に対するフィルタリング処理を実施するフレームフィルタ手段と、上記分割制御手段から出力された分割フラグが分割する旨を示している場合、上記分割制御手段から出力された分割制御情報にしたがって1以上のタイルフィルタ手段によるフィルタリング処理後の局所復号画像を組み合わせてフレーム単位の局所復号画像を生成して、上記局所復号画像を上記画像メモリに格納し、上記分割フラグが分割しない旨を示している場合、上記フレームフィルタ手段によるフィルタリング処理後の局所復号画像を上記画像メモリに格納する局所復号画像格納手段と、上記タイル符号化手段又は上記フレームフィルタ手段から出力された符号化ビットデータ、上記タイルフィルタ手段又は上記フレームフィルタ手段により決定されたフィルタを示すフィルタパラメータ、上記分割制御手段から出力された分割制御情報及び分割フラグを多重化してビットストリームを生成する多重化手段とを備えた動画像符号化装置。
- 分割制御手段は、タイルフィルタ手段及びフレームフィルタ手段が複数の種類のフィルタリング処理を実施する機能を備えている場合、フィルタリング処理の種類別に、当該フィルタリング処理に用いるフィルタを各タイルで共通させるか否かを示すフィルタ共有フラグを出力し、
上記分割制御手段から出力された分割フラグが分割する旨を示している場合でも、上記分割制御手段から出力されたフィルタ共有フラグが或る種類のフィルタリング処理について、各タイルでフィルタを共通させる旨を示している場合、当該フィルタリング処理については、タイルフィルタ手段の代わりに、フレームフィルタ手段がフレーム単位のフィルタを用いて、局所復号画像に対するフィルタリング処理を実施し、
多重化手段は、上記分割制御手段から出力されたフィルタリング処理の種類別のフィルタ共有フラグをビットストリームに多重化する
ことを特徴とする請求項3記載の動画像符号化装置。 - ビットストリームに多重化された符号化ビットデータ、所定サイズの矩形領域であるタイル単位のフィルタを示すフィルタパラメータ及び入力画像の分割状態を指示する分割制御情報を分離する分離手段と、上記分離手段により分離された分割制御情報にしたがって上記符号化ビットデータをタイル単位の符号化ビットデータに分割し、分割後の符号化ビットデータを分配する符号化ビットデータ分配手段と、フィルタリング処理後の復号画像を記憶する画像メモリと、上記画像メモリに記憶されている復号画像を参照して、上記符号化ビットデータ分配手段により分配された符号化ビットデータに対する予測差分復号処理を実施し、タイル単位の復号画像を生成する1以上のタイル復号手段と、上記分離手段により分離されたフィルタパラメータが示すタイル単位のフィルタを用いて、上記タイル復号手段により生成された復号画像に対するフィルタリング処理を実施する1以上のタイルフィルタ手段と、上記分離手段により分離された分割制御情報にしたがって1以上のタイルフィルタ手段によるフィルタリング処理後の復号画像を組み合わせてフレーム単位の復号画像を生成し、上記復号画像を上記画像メモリに格納する復号画像格納手段とを備えた動画像復号装置。
- 分離手段は、各タイルでフィルタを共通させるか否かを示すフィルタ共有フラグがビットストリームに多重化されている場合、上記フィルタ共有フラグを分離するとともに、タイル単位のフィルタを示すフィルタパラメータ又はフレーム単位のフィルタを示すフィルタパラメータを分離し、
1以上のタイルフィルタ手段は、上記分離手段により分離されたフィルタ共有フラグが各タイルでフィルタを共通させない旨を示していれば、上記分離手段により分離されたフィルタパラメータが示すタイル単位のフィルタを用いて、上記タイル復号手段により生成されたタイル単位の復号画像に対するフィルタリング処理を実施し、上記フィルタ共有フラグが各タイルでフィルタを共通させる旨を示していれば、上記分離手段により分離されたフィルタパラメータが示すフレーム単位のフィルタを用いて、上記タイル復号手段により生成されたタイル単位の復号画像に対するフィルタリング処理を実施する
ことを特徴とする請求項5記載の動画像復号装置。 - ビットストリームに多重化された符号化ビットデータ、タイル単位のフィルタを示すフィルタパラメータ又はフレーム単位のフィルタを示すフィルタパラメータ、入力画像の分割状態を指示する分割制御情報及び入力画像を分割するか否かを示す分割フラグを分離する分離手段と、上記分離手段により分離された分割フラグが分割する旨を示している場合、上記分離手段により分離された分割制御情報にしたがって上記符号化ビットデータをタイル単位の符号化ビットデータに分割して、分割後の符号化ビットデータを分配し、上記分割フラグが分割しない旨を示している場合、上記分離手段により分離された符号化ビットデータを分割せずにフレーム単位の符号化ビットデータを出力する符号化ビットデータ分配手段と、フィルタリング処理後の復号画像を記憶する画像メモリと、上記画像メモリに記憶された復号画像を参照して、上記符号化ビットデータ分配手段により分配されたタイル単位の符号化ビットデータに対する予測差分復号処理を実施し、タイル単位の復号画像を生成する1以上のタイル復号手段と、上記画像メモリに記憶された復号画像を参照して、上記分離手段から出力されたフレーム単位の符号化ビットデータに対する予測差分復号処理を実施し、フレーム単位の復号画像を生成するフレーム復号手段と、上記分離手段により分離されたフィルタパラメータが示すタイル単位のフィルタを用いて、上記タイル復号手段により生成された復号画像に対するフィルタリング処理を実施する1以上のタイルフィルタ手段と、上記分離手段により分離されたフィルタパラメータが示すフレーム単位のフィルタを用いて、上記フレーム復号手段により生成された復号画像に対するフィルタリング処理を実施するフレームフィルタ手段と、上記分離手段により分離された分割フラグが分割する旨を示している場合、上記分離手段により分離された分割制御情報にしたがって1以上のタイルフィルタ手段によるフィルタリング処理後の復号画像を組み合わせてフレーム単位の復号画像を生成して、上記復号画像を上記画像メモリに格納し、上記分割フラグが分割しない旨を示している場合、上記フレームフィルタ手段によるフィルタリング処理後の復号画像を上記画像メモリに格納する復号画像格納手段とを備えた動画像復号装置。
- 分離手段は、タイルフィルタ手段及びフレームフィルタ手段が複数の種類のフィルタリング処理を実施する機能を備えている場合、ビットストリームから各タイルでフィルタを共通させるか否かを示すフィルタリング処理の種類別のフィルタ共有フラグを分離し、
上記分離手段により分離された分割フラグが分割する旨を示している場合でも、上記分離手段により分離されたフィルタ共有フラグが或る種類のフィルタリング処理について、各タイルでフィルタを共通させる旨を示している場合、当該フィルタリング処理については、タイルフィルタ手段の代わりに、フレームフィルタ手段がフレーム単位のフィルタを用いて、フレーム復号手段により生成された復号画像に対するフィルタリング処理を実施する
ことを特徴とする請求項7記載の動画像復号装置。 - 分割制御手段が、入力画像の分割状態を指示する分割制御情報を出力する分割制御処理ステップと、タイル分配手段が、上記分割制御処理ステップで出力された分割制御情報にしたがって入力画像を所定サイズの矩形領域であるタイルに分割し、分割後のタイルを分配するタイル分配処理ステップと、1以上のタイル符号化手段が、画像メモリに記憶されたフィルタリング処理後の局所復号画像を参照して、上記タイル分配処理ステップで分配されたタイルに対する予測差分符号化処理を実施し、その符号化結果である符号化ビットデータを出力するとともに、上記符号化ビットデータから局所復号画像を生成するタイル符号化処理ステップと、1以上のタイルフィルタ手段が、上記タイル符号化処理ステップで生成された局所復号画像のフィルタリング処理に対応したタイル単位のフィルタを決定し、上記フィルタを用いて、上記局所復号画像に対するフィルタリング処理を実施するタイルフィルタ処理ステップと、局所復号画像格納手段が、上記分割制御処理ステップで出力された分割制御情報にしたがって上記タイルフィルタ処理ステップでのフィルタリング処理後の局所復号画像を組み合わせてフレーム単位の局所復号画像を生成し、上記局所復号画像を上記画像メモリに格納する局所復号画像格納処理ステップと、多重化手段が、上記タイル符号化処理ステップで出力された符号化ビットデータ、上記タイルフィルタ処理ステップで決定されたタイル単位のフィルタを示すフィルタパラメータ及び上記分割制御処理ステップで出力された分割制御情報を多重化してビットストリームを生成する多重化処理ステップとを備えた動画像符号化方法。
- 分離手段が、ビットストリームに多重化された符号化ビットデータ、所定サイズの矩形領域であるタイル単位のフィルタを示すフィルタパラメータ及び入力画像の分割状態を指示する分割制御情報を分離する分離処理ステップと、符号化ビットデータ分配手段が、上記分離処理ステップで分離された分割制御情報にしたがって上記符号化ビットデータをタイル単位の符号化ビットデータに分割し、分割後の符号化ビットデータを分配する符号化ビットデータ分配処理ステップと、1以上のタイル復号手段が、画像メモリに記憶されているフィルタリング処理後の復号画像を参照して、上記符号化ビットデータ分配処理ステップで分配された符号化ビットデータに対する予測差分復号処理を実施し、タイル単位の復号画像を生成するタイル復号処理ステップと、1以上のタイルフィルタ手段が、上記分離処理ステップで分離されたフィルタパラメータが示すタイル単位のフィルタを用いて、上記タイル復号処理ステップで生成された復号画像に対するフィルタリング処理を実施するタイルフィルタ処理ステップと、復号画像格納手段が、上記分離処理ステップで分離された分割制御情報にしたがって上記タイルフィルタ処理ステップでのフィルタリング処理後の復号画像を組み合わせてフレーム単位の復号画像を生成し、上記復号画像を上記画像メモリに格納する復号画像格納処理ステップとを備えた動画像復号方法。
Priority Applications (12)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN2948CHN2014 IN2014CN02948A (ja) | 2011-10-31 | 2012-10-30 | |
KR1020167007203A KR101893664B1 (ko) | 2011-10-31 | 2012-10-30 | 동화상 복호 장치 |
EP12845564.9A EP2775715A4 (en) | 2011-10-31 | 2012-10-30 | DEVICES AND METHODS FOR ENCODING AND DECODING MOVING IMAGES |
BR112014009569-8A BR112014009569B1 (pt) | 2011-10-31 | 2012-10-30 | Dispositivo e método de decodificação de vídeo |
KR1020147014571A KR20140092862A (ko) | 2011-10-31 | 2012-10-30 | 동화상 복호 장치 및 동화상 복호 방법 |
KR1020207023042A KR102272561B1 (ko) | 2011-10-31 | 2012-10-30 | 동화상 복호 장치 |
KR1020187024061A KR102145782B1 (ko) | 2011-10-31 | 2012-10-30 | 동화상 부호화 장치, 동화상 부호화 방법 및 컴퓨터 독취 가능한 기억 매체 |
CN201280053518.0A CN103907348A (zh) | 2011-10-31 | 2012-10-30 | 运动图像编码装置、运动图像解码装置、运动图像编码方法以及运动图像解码方法 |
US14/350,732 US9986235B2 (en) | 2011-10-31 | 2012-10-30 | Video decoding device and video decoding method |
US15/880,260 US10523935B2 (en) | 2011-10-31 | 2018-01-25 | Video decoding device and video decoding method |
US16/688,475 US10708586B2 (en) | 2011-10-31 | 2019-11-19 | Video decoding device and video decoding method |
US16/890,468 US11051014B2 (en) | 2011-10-31 | 2020-06-02 | Video decoding device and video decoding method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011239105 | 2011-10-31 | ||
JP2011-239105 | 2011-10-31 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/350,732 A-371-Of-International US9986235B2 (en) | 2011-10-31 | 2012-10-30 | Video decoding device and video decoding method |
US15/880,260 Division US10523935B2 (en) | 2011-10-31 | 2018-01-25 | Video decoding device and video decoding method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013065673A1 true WO2013065673A1 (ja) | 2013-05-10 |
Family
ID=48192020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/078012 WO2013065673A1 (ja) | 2011-10-31 | 2012-10-30 | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 |
Country Status (8)
Country | Link |
---|---|
US (4) | US9986235B2 (ja) |
EP (1) | EP2775715A4 (ja) |
JP (2) | JPWO2013065673A1 (ja) |
KR (4) | KR102145782B1 (ja) |
CN (1) | CN103907348A (ja) |
BR (1) | BR112014009569B1 (ja) |
IN (1) | IN2014CN02948A (ja) |
WO (1) | WO2013065673A1 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015040824A1 (ja) * | 2013-09-20 | 2015-03-26 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 送信方法、受信方法、送信装置及び受信装置 |
JP2015061316A (ja) * | 2013-09-20 | 2015-03-30 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 送信方法、受信方法、送信装置及び受信装置 |
JPWO2013111593A1 (ja) * | 2012-01-27 | 2015-05-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置 |
WO2015185742A1 (en) * | 2014-06-05 | 2015-12-10 | France Brevets | System for video sequence coding using enlarged coding zones |
WO2015194394A1 (ja) * | 2014-06-20 | 2015-12-23 | ソニー株式会社 | 画像符号化装置および方法、並びに画像復号装置および方法 |
JP2016529789A (ja) * | 2013-07-15 | 2016-09-23 | ソニー株式会社 | インタラクティビティのための動き制約タイルセットseiメッセージの拡張 |
WO2018061589A1 (ja) * | 2016-09-27 | 2018-04-05 | 株式会社ドワンゴ | 画像符号化装置、画像符号化方法、及び画像符号化プログラム、並びに、画像復号装置、画像復号方法、及び画像復号プログラム |
JP2022515946A (ja) * | 2019-11-28 | 2022-02-24 | ウキョン インフォメーション テクノロジー カンパニー リミテッド | 並列フォレンジックマーキング装置及び方法 |
US20220329871A1 (en) * | 2019-09-20 | 2022-10-13 | Nokia Technologies Oy | An Apparatus, A Method and a Computer Program for Volumetric Video |
US12047604B2 (en) | 2019-03-19 | 2024-07-23 | Nokia Technologies Oy | Apparatus, a method and a computer program for volumetric video |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101907122B1 (ko) * | 2009-07-07 | 2018-10-12 | 톰슨 라이센싱 | 영역 기반 필터에 대해서 협력적 분할 부호화하는 방법 및 장치 |
CN103718553B (zh) * | 2011-08-11 | 2017-03-01 | 太阳专利托管公司 | 图像编码方法、图像解码方法、图像编码装置、图像解码装置及图像编码解码装置 |
JP6080405B2 (ja) * | 2012-06-29 | 2017-02-15 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
US9241163B2 (en) * | 2013-03-15 | 2016-01-19 | Intersil Americas LLC | VC-2 decoding using parallel decoding paths |
US20150003520A1 (en) * | 2013-06-26 | 2015-01-01 | Texas Instruments Incorporated | Hevc video encoder and decoder for multi-core |
KR102571062B1 (ko) * | 2016-05-10 | 2023-08-25 | 삼성전자주식회사 | 영상을 부호화/복호화 하는 방법 및 그 장치 |
JP2018107500A (ja) * | 2016-12-22 | 2018-07-05 | キヤノン株式会社 | 符号化装置、符号化方法及びプログラム、復号装置、復号方法及びプログラム |
KR101895294B1 (ko) * | 2017-03-03 | 2018-09-05 | 주식회사 칩스앤미디어 | 프리 스캔을 이용한 블록 기반 동영상 복호화 방법 및 그 장치 |
EP3606077A4 (en) | 2017-03-22 | 2021-01-06 | Industry - University Cooperation Foundation Hanyang University | LOOP FILTERING PROCESS ACCORDING TO AN ADAPTIVE PIXEL CLASSIFICATION STANDARD |
WO2019009590A1 (ko) * | 2017-07-03 | 2019-01-10 | 김기백 | 추가 영역을 포함하는 분할 단위를 이용한 영상 복호화 방법 및 장치 |
CN116248863A (zh) | 2017-07-03 | 2023-06-09 | 汉阳大学校产学协力团 | 利用包含追加区域的分割单位的影像解码方法以及装置 |
US11044490B2 (en) * | 2017-09-28 | 2021-06-22 | Sharp Kabushiki Kaisha | Motion compensation filter apparatus, image decoding apparatus, and video coding apparatus |
CN107846263B (zh) * | 2017-11-01 | 2020-07-14 | 南京莱斯电子设备有限公司 | 一种基于分段计算的信源二进制算术编码方法和编码系统 |
CN109076224B (zh) * | 2017-12-29 | 2021-05-07 | 深圳市大疆创新科技有限公司 | 视频解码器及其制造方法,数据处理电路、系统和方法 |
US10491897B2 (en) * | 2018-04-13 | 2019-11-26 | Google Llc | Spatially adaptive quantization-aware deblocking filter |
WO2019243534A1 (en) | 2018-06-21 | 2019-12-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Tile shuffling for 360 degree video decoding |
CN118590646A (zh) * | 2018-06-21 | 2024-09-03 | 瑞典爱立信有限公司 | 灵活图块分区 |
CN112640455B (zh) | 2018-06-21 | 2024-06-14 | 瑞典爱立信有限公司 | 视频编码中具有子图块的图块分区 |
TWI692939B (zh) * | 2018-08-14 | 2020-05-01 | 鈺創科技股份有限公司 | 過濾訊號的數位濾波器 |
KR102432406B1 (ko) * | 2018-09-05 | 2022-08-12 | 엘지전자 주식회사 | 비디오 신호의 부호화/복호화 방법 및 이를 위한 장치 |
US11064194B2 (en) * | 2019-10-31 | 2021-07-13 | Western Digital Technologies, Inc. | Encoding digital videos using controllers of data storage devices |
US12058335B2 (en) | 2019-11-22 | 2024-08-06 | Lg Electronics Inc. | Image coding method based on entry point-related information in video or image coding system |
CN114930814A (zh) | 2019-12-24 | 2022-08-19 | 韩国电子通信研究院 | 图像编码/解码方法以及装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7330596B2 (en) * | 2002-07-17 | 2008-02-12 | Ricoh Company, Ltd. | Image decoding technique for suppressing tile boundary distortion |
US8254707B2 (en) * | 2005-12-07 | 2012-08-28 | Sony Corporation | Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program in interlace scanning |
JP2007251553A (ja) * | 2006-03-15 | 2007-09-27 | Matsushita Electric Ind Co Ltd | リアルタイム処理装置及びその方法 |
JP4956550B2 (ja) * | 2006-11-30 | 2012-06-20 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法及び動画像復号化プログラム |
US8019167B2 (en) * | 2007-01-03 | 2011-09-13 | Human Monitoring Ltd. | Compressing high resolution images in a low resolution video |
WO2008120577A1 (ja) * | 2007-03-29 | 2008-10-09 | Kabushiki Kaisha Toshiba | 画像符号化及び復号化の方法及び装置 |
EP2252063A4 (en) * | 2008-03-07 | 2012-09-12 | Toshiba Kk | DEVICE FOR DYNAMIC IMAGE CODING / DECODING |
JP4539755B2 (ja) * | 2008-04-11 | 2010-09-08 | ソニー株式会社 | 情報処理システム及び情報処理方法、並びにプログラム |
US20100225655A1 (en) * | 2009-03-06 | 2010-09-09 | Microsoft Corporation | Concurrent Encoding/Decoding of Tiled Data |
JP5344238B2 (ja) | 2009-07-31 | 2013-11-20 | ソニー株式会社 | 画像符号化装置および方法、記録媒体、並びにプログラム |
US8767824B2 (en) | 2011-07-11 | 2014-07-01 | Sharp Kabushiki Kaisha | Video decoder parallelization for tiles |
US8913656B2 (en) * | 2011-10-14 | 2014-12-16 | Mediatek Inc. | Method and apparatus for in-loop filtering |
US9584819B2 (en) * | 2011-10-24 | 2017-02-28 | Qualcomm Incorporated | Grouping of tiles for video coding |
US20130107973A1 (en) * | 2011-10-28 | 2013-05-02 | Qualcomm Incorporated | Loop filtering control over tile boundaries |
-
2012
- 2012-10-30 US US14/350,732 patent/US9986235B2/en active Active
- 2012-10-30 KR KR1020187024061A patent/KR102145782B1/ko active IP Right Grant
- 2012-10-30 JP JP2013541779A patent/JPWO2013065673A1/ja active Pending
- 2012-10-30 CN CN201280053518.0A patent/CN103907348A/zh active Pending
- 2012-10-30 BR BR112014009569-8A patent/BR112014009569B1/pt active IP Right Grant
- 2012-10-30 KR KR1020207023042A patent/KR102272561B1/ko active IP Right Grant
- 2012-10-30 KR KR1020167007203A patent/KR101893664B1/ko active IP Right Grant
- 2012-10-30 KR KR1020147014571A patent/KR20140092862A/ko active Application Filing
- 2012-10-30 IN IN2948CHN2014 patent/IN2014CN02948A/en unknown
- 2012-10-30 EP EP12845564.9A patent/EP2775715A4/en not_active Withdrawn
- 2012-10-30 WO PCT/JP2012/078012 patent/WO2013065673A1/ja active Application Filing
-
2015
- 2015-10-07 JP JP2015199350A patent/JP2016029821A/ja active Pending
-
2018
- 2018-01-25 US US15/880,260 patent/US10523935B2/en active Active
-
2019
- 2019-11-19 US US16/688,475 patent/US10708586B2/en active Active
-
2020
- 2020-06-02 US US16/890,468 patent/US11051014B2/en active Active
Non-Patent Citations (4)
Title |
---|
ARILD FULDSETH ET AL.: "Tiles", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 5TH MEETING, 16 March 2011 (2011-03-16), GENEVA, CH, XP030048513 * |
ARILD FULDSETH; MICHAEL HOROWITZ; SHILIN XU; ANDREW SEGALL; MINHUA ZHOU: "JCTVC-F335: Tiles", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16WP3 AND ISO/IEC JTC1/SC29/WG11 6TH MEETING: TORINO, IT, 14 July 2011 (2011-07-14) |
See also references of EP2775715A4 |
TOMOO YAMAKAGE ET AL.: "CE12: Deblocking filter parameter adjustment in slice level", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 6TH MEETING, 14 July 2011 (2011-07-14), TORINO, XP055147612 * |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9774870B2 (en) | 2012-01-27 | 2017-09-26 | Sun Patent Trust | Encoding method, decoding method, encoding apparatus, and decoding apparatus |
US11375210B2 (en) | 2012-01-27 | 2022-06-28 | Sun Patent Trust | Encoding method, decoding method, encoding apparatus, and decoding apparatus |
JPWO2013111593A1 (ja) * | 2012-01-27 | 2015-05-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置 |
US10701372B2 (en) | 2012-01-27 | 2020-06-30 | Sun Patent Trust | Encoding method, decoding method, encoding apparatus, and decoding apparatus |
US11765364B2 (en) | 2012-01-27 | 2023-09-19 | Sun Patent Trust | Encoding method, decoding method, encoding apparatus, and decoding apparatus |
US12101491B2 (en) | 2012-01-27 | 2024-09-24 | Sun Patent Trust | Encoding method, decoding method, encoding apparatus, and decoding apparatus |
US10212431B2 (en) | 2012-01-27 | 2019-02-19 | Sun Patent Trust | Encoding method, decoding method, encoding apparatus, and decoding apparatus |
JP2017055433A (ja) * | 2012-01-27 | 2017-03-16 | サン パテント トラスト | 復号方法及び復号装置 |
US10368078B2 (en) | 2013-07-15 | 2019-07-30 | Sony Corporation | Extensions of motion-constrained tile sets SEI message for interactivity |
JP2016529789A (ja) * | 2013-07-15 | 2016-09-23 | ソニー株式会社 | インタラクティビティのための動き制約タイルセットseiメッセージの拡張 |
US10841592B2 (en) | 2013-07-15 | 2020-11-17 | Sony Corporation | Extensions of motion-constrained tile sets sei message for interactivity |
US11553190B2 (en) | 2013-07-15 | 2023-01-10 | Sony Corporation | Extensions of motion-constrained tile sets SEI message for interactivity |
US12010395B2 (en) | 2013-09-20 | 2024-06-11 | Panasonic Intellectual Property Corporation Of America | Transmission method, reception method, transmitting apparatus, and receiving apparatus |
WO2015040824A1 (ja) * | 2013-09-20 | 2015-03-26 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 送信方法、受信方法、送信装置及び受信装置 |
CN109905748A (zh) * | 2013-09-20 | 2019-06-18 | 松下电器(美国)知识产权公司 | 图像编码方法及装置、图像解码方法及装置 |
CN109905748B (zh) * | 2013-09-20 | 2022-05-10 | 松下电器(美国)知识产权公司 | 图像编码方法及装置、图像解码方法及装置 |
US10499113B2 (en) | 2013-09-20 | 2019-12-03 | Panasonic Intellectual Property Corporation Of America | Transmission method, reception method, transmitting apparatus, and receiving apparatus |
JP2018057011A (ja) * | 2013-09-20 | 2018-04-05 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 送信方法、受信方法、送信装置及び受信装置 |
JP2015061316A (ja) * | 2013-09-20 | 2015-03-30 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 送信方法、受信方法、送信装置及び受信装置 |
JP6271074B1 (ja) * | 2013-09-20 | 2018-01-31 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 送信方法、受信方法、送信装置及び受信装置 |
FR3022063A1 (fr) * | 2014-06-05 | 2015-12-11 | France Brevets | Systeme de codage de sequence video utilisant des zones de codage elargies |
WO2015185742A1 (en) * | 2014-06-05 | 2015-12-10 | France Brevets | System for video sequence coding using enlarged coding zones |
JPWO2015194394A1 (ja) * | 2014-06-20 | 2017-04-20 | ソニー株式会社 | 画像符号化装置および方法、並びに画像復号装置および方法 |
US11095879B2 (en) | 2014-06-20 | 2021-08-17 | Sony Corporation | Image encoding device and method, and image decoding device and method |
JP2020174400A (ja) * | 2014-06-20 | 2020-10-22 | ソニー株式会社 | 画像復号装置および方法 |
US10701354B2 (en) | 2014-06-20 | 2020-06-30 | Sony Corporation | Image encoding device and method, and image decoding device and method |
US11627309B2 (en) | 2014-06-20 | 2023-04-11 | Sony Group Corporation | Image encoding device and method, and image decoding device and method |
JP2019195209A (ja) * | 2014-06-20 | 2019-11-07 | ソニー株式会社 | 画像復号装置および方法 |
US12063357B2 (en) | 2014-06-20 | 2024-08-13 | Sony Group Corporation | Image encoding device and method, and image decoding device and method |
WO2015194394A1 (ja) * | 2014-06-20 | 2015-12-23 | ソニー株式会社 | 画像符号化装置および方法、並びに画像復号装置および方法 |
WO2018061589A1 (ja) * | 2016-09-27 | 2018-04-05 | 株式会社ドワンゴ | 画像符号化装置、画像符号化方法、及び画像符号化プログラム、並びに、画像復号装置、画像復号方法、及び画像復号プログラム |
US12047604B2 (en) | 2019-03-19 | 2024-07-23 | Nokia Technologies Oy | Apparatus, a method and a computer program for volumetric video |
US20220329871A1 (en) * | 2019-09-20 | 2022-10-13 | Nokia Technologies Oy | An Apparatus, A Method and a Computer Program for Volumetric Video |
US12069314B2 (en) * | 2019-09-20 | 2024-08-20 | Nokia Technologies Oy | Apparatus, a method and a computer program for volumetric video |
JP2022515946A (ja) * | 2019-11-28 | 2022-02-24 | ウキョン インフォメーション テクノロジー カンパニー リミテッド | 並列フォレンジックマーキング装置及び方法 |
Also Published As
Publication number | Publication date |
---|---|
KR102145782B1 (ko) | 2020-08-19 |
BR112014009569A2 (pt) | 2017-04-18 |
US20140247875A1 (en) | 2014-09-04 |
US11051014B2 (en) | 2021-06-29 |
US20180152702A1 (en) | 2018-05-31 |
JPWO2013065673A1 (ja) | 2015-04-02 |
KR102272561B1 (ko) | 2021-07-02 |
US10708586B2 (en) | 2020-07-07 |
BR112014009569B1 (pt) | 2022-07-05 |
US10523935B2 (en) | 2019-12-31 |
KR20140092862A (ko) | 2014-07-24 |
KR20160038062A (ko) | 2016-04-06 |
JP2016029821A (ja) | 2016-03-03 |
KR101893664B1 (ko) | 2018-08-30 |
EP2775715A4 (en) | 2015-09-23 |
IN2014CN02948A (ja) | 2015-07-03 |
KR20200097817A (ko) | 2020-08-19 |
US20200296361A1 (en) | 2020-09-17 |
KR20180097775A (ko) | 2018-08-31 |
CN103907348A (zh) | 2014-07-02 |
US9986235B2 (en) | 2018-05-29 |
EP2775715A1 (en) | 2014-09-10 |
US20200092549A1 (en) | 2020-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2013065673A1 (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
JP6615287B2 (ja) | 画像復号装置 | |
KR101728285B1 (ko) | 화상 부호화 장치, 화상 부호화 방법, 화상 복호 장치, 화상 복호 방법 및 기억 매체 | |
KR101914018B1 (ko) | 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체 | |
KR102024516B1 (ko) | 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법 및 기억 매체 | |
EP2685720B1 (en) | Video encoding device, video decoding device, video encoding method, and video decoding method | |
WO2013065402A1 (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
KR101538248B1 (ko) | 화상 부호화 장치 | |
JPWO2015034061A1 (ja) | 動画像符号化装置、動画像トランスコード装置、動画像符号化方法、動画像トランスコード方法及び動画像ストリーム伝送システム | |
JP2012080213A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
JP2014197795A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12845564 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2013541779 Country of ref document: JP Kind code of ref document: A |
|
REEP | Request for entry into the european phase |
Ref document number: 2012845564 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012845564 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14350732 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 20147014571 Country of ref document: KR Kind code of ref document: A |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112014009569 Country of ref document: BR |
|
ENP | Entry into the national phase |
Ref document number: 112014009569 Country of ref document: BR Kind code of ref document: A2 Effective date: 20140417 |