WO2011121843A1 - 画像符号化及び画像復号化方法 - Google Patents
画像符号化及び画像復号化方法 Download PDFInfo
- Publication number
- WO2011121843A1 WO2011121843A1 PCT/JP2010/071155 JP2010071155W WO2011121843A1 WO 2011121843 A1 WO2011121843 A1 WO 2011121843A1 JP 2010071155 W JP2010071155 W JP 2010071155W WO 2011121843 A1 WO2011121843 A1 WO 2011121843A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- flag
- blocks
- decoding
- data
- 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/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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- This embodiment relates to an encoding and decoding method.
- H.264 (for example, Non-Patent Document 1) is known.
- H. H.264 is a standard that defines a decoding method.
- H. In H.264 a residual (prediction error) in intra-frame and inter-frame prediction is converted by a predetermined orthogonal transform, and the transform coefficient is quantized and encoded.
- the size of the orthogonal transform either a 4 ⁇ 4 pixel block or an 8 ⁇ 8 pixel block is used depending on the encoding mode.
- the coefficient of the orthogonal transform often becomes zero due to quantization. So H.
- a 1-bit flag indicating whether all transform coefficients are zero is encoded, and when all transform coefficients are zero, encoding of the transform coefficients is skipped. This flag indicates that 0 indicates that all coefficients are zero, and 1 indicates that there is at least one non-zero coefficient.
- CBF coded block flag
- CBP coded block pattern
- CBP is encoded for a block of 16 ⁇ 16 pixels
- this CBP is composed of four 8 ⁇ 8 pixel luminance signal (Luminance) blocks and all two color difference signal (Chrominance) blocks corresponding to the block of 16 ⁇ 16 pixels. Represents whether or not the conversion coefficient is zero.
- information (CBP and CBF) indicating whether or not the transform coefficient is 0 is hierarchically encoded.
- ITU-T Telecommunication Standardization-Sector-International-Telecommunication Union
- An object of the present invention is to obtain compressed data from which redundancy at the time of encoding hierarchical CBP, CBF, and skip flag is obtained, and to decode the compressed data.
- An image decoding method includes a flag indicating division information in units of blocks in a moving image decoding method for decoding a block in which an input image signal is divided into block sizes corresponding to a hierarchical depth N.
- a step of acquiring a bitstream, and a step of decoding and acquiring an upper flag indicating division information of a quadtree of the upper block given to an upper block belonging to a hierarchy having a depth smaller than the depth N of the hierarchy Decoding and obtaining a first lower flag indicating division information of the quadtree of the upper block given to the first lower block among the lower blocks belonging to the depth N of the hierarchy;
- the quarter of the second lower block belonging to the depth N of the hierarchy when the upper flag and the plurality of first lower flags already acquired are in a specific combination
- the image decoding method is a moving image encoding method in which an input image signal is encoded into blocks divided into block sizes corresponding to the depth N of the hierarchy. And a step of obtaining an upper flag indicating division information of a quadtree of the upper block given to an upper block belonging to a hierarchy having a depth smaller than the depth N of the hierarchy. And obtaining a first lower flag indicating division information of the quadtree of the upper block, which is assigned to the first lower block among the lower blocks belonging to the depth N of the hierarchy, and has already been acquired When the upper flag and the plurality of first lower flags are in a specific combination, the division information of the quadtree of the second lower block belonging to the depth N of the hierarchy is shown.
- a predetermined first value is set as a lower flag of 2, and when the combination is not the specific combination, the step of acquiring the second lower flag, the upper flag, and the first and second lower flags And generating a locally decoded image signal of the block.
- an image decoding method for decoding when data compressed by an encoding unit that eliminates redundancy in encoding of hierarchical CBP, CBF, and skip flag is given. be able to.
- FIG. 6 is a block diagram of an encoding device that performs the operation of FIG. 5.
- movement of FIG. The figure which shows an example of the decoding method of hierarchical CBP of this Embodiment.
- the figure which shows another example of FIG. The figure which shows an example of the decoding method which reversed the conditional branch of FIG.
- segmentation The figure which shows an example of the recursive block division
- H An encoding means for generating data that can be decoded by H.264 will be briefly described.
- This encoding means for example, as shown in FIG. 1, is an integer-precision orthogonal transform that is an approximation of intra-frame prediction (Intra prediction), inter-frame prediction (Inter prediction), or discrete cosine transform (DCT).
- Intra prediction intra-frame prediction
- Inter prediction inter-frame prediction
- DCT discrete cosine transform
- CABAC Context-based Adaptive Binary Arithmetic Code
- CAVLC variable length coding
- the image decoding method of the present embodiment aims to decode such compressed data.
- the upper skip flag is 0, encoding is performed while avoiding the assignment of codes to redundant combinations in which the lower skip flags are all 1.
- the image decoding method according to the present embodiment decodes such compressed data.
- coded pattern data (Reduce redundancy of hierarchical CBP, encoder)
- coded pattern data data that summarizes flags for a plurality of 8 ⁇ 8 pixel or 16 ⁇ 16 pixel blocks corresponds to CBP, and a flag for one 4 ⁇ 4 pixel block corresponds to CBF.
- the coded pattern data corresponding to the upper one block is called upper_flag
- the i-th lower coded pattern data belonging to the upper one block is called lower_flags [i].
- upper_flag and lower_flags [i] are 1 bit in CodedBlockPatternLuma and the remaining of the i-th 4 ⁇ 4 pixel block, respectively.
- coded_block_flag for the difference signal corresponds to coded_block_flag for the difference signal.
- MPEG-1 / 2/4 compressed video decoding standard and H.264 In the decoding process defined in many standards such as H.264, the image is divided in units of blocks, and then the decoding process is performed in units of blocks. Therefore, in the following description, an example of a process of encoding (encoding) in units of blocks and an example of a process of decoding (decoding) in units of blocks will be described.
- the processing of the entire screen can be performed by repeating the processing for each block by the number of divided blocks.
- a means for improving the compression ratio by reducing the amount of code corresponding to a specific pattern is provided, and generated by such means.
- Decoded bitstream is decoded.
- a specific example of a specific pattern (when the lower order is 4 bits) is shown in FIG. 2, and an example of simple hierarchical code pattern data corresponding to FIG. 2 (when the lower order is 4 bits) is shown in FIG. 3 is used in H.264 of Non-Patent Document 1).
- the low-order code pattern data is 4 bits. However, it is not particularly required to be 4 bits. For example, 2 bits shown in FIG. 4 may be used. In the case of 2 bits, if it is found that the upper code pattern data is 1 and the first 1 bit is 0 in the 2-bit lower code pattern, the last 1 bit may be 1. Recognize. Therefore, in this case as well, there is a case where it is not necessary to encode one bit in encoding and it is not necessary to decode one bit in decoding encoded data.
- FIG. 5 shows a flowchart showing the process of encoding CBP in block units
- FIG. 6 shows an example of an apparatus used for encoding.
- the coding pattern data can be encoded by the following method, for example. In the following description, step 3 and step 11 which are encoding of portions other than the codet pattern data will be described.
- Step 1 The image input unit 601 reads an image block.
- the block to be read here is typically assumed to have the same size or larger size (for example, 16 ⁇ 16 pixels) than the block corresponding to the higher-order code pattern data in step 5.
- Step 2 The calculation unit 602 reads from the program memory 605 the prediction mode to be encoded for the block read in S501.
- the prediction mode may be determined in advance, or the best mode may be selected by performing step S503 and subsequent steps in each of a plurality of prediction modes. There are many other variations for setting the prediction mode.
- Step 3 The arithmetic unit 602 encodes the prediction mode, and the encoded data output unit 604 outputs it to the bit stream.
- Step 4. The arithmetic unit 602 performs block prediction using the prediction mode and data that has already been decoded, and obtains a prediction residual that is the difference between the input image block and the predicted image block.
- Step 5 The arithmetic unit 602 performs block transform (for example, KLT base generated by training data in advance or orthogonal transform using DCT base) and quantization on the prediction residual.
- block transform for example, KLT base generated by training data in advance or orthogonal transform using DCT base
- the arithmetic unit 602 calculates information representing whether or not non-zero coefficients exist in the quantized transform coefficients in units of blocks.
- this information is 1-bit flag information for each block, which is 1 when a non-zero coefficient exists in the block and 0 when all the coefficients in the block are 0. This information is referred to as lower-order code pattern data (lower-order CBP or CBF).
- higher-order code pattern data which is code pattern data for a larger block, represents information indicating whether or not a set of lower-order code pattern data (for example, four lower-order code pattern data) is all zero.
- the high-order code pattern data is 1 bit for each block, 0 if the low-order code pattern data is all 0, and 1 if there is any non-zero information in the low-order code pattern data. It becomes flag information.
- the size of the block corresponding to the high-order code pattern data is larger than the low-order code pattern data (for example, 8 ⁇ 8 pixels).
- Step 6 The arithmetic unit 602 encodes the high-order code pattern data, and the encoded data output unit 604 outputs it to the bit stream.
- Step 7. The arithmetic unit 602 skips Steps 8 to 10 if the higher-order code pattern data is 0, and executes Step 8 if not.
- Step 8 to 10 are processes in which the lower code pattern data is encoded bit by bit.
- the arithmetic unit 602 is a case where the already encoded lower-order code pattern data is specific pattern data (typically, the last one-bit lower-order code pattern data is encoded, and If all the encoded lower-order code pattern data is 0), step 9 for outputting to the next bit stream is skipped; otherwise, step 9 is executed.
- Step 9 the arithmetic unit 602 encodes lower-order code pattern data to be encoded, and the encoded data output unit 604 outputs it to the bit stream.
- Step 10 The arithmetic unit 602 proceeds to step 11 if all the lower-order code pattern data have been encoded, and returns to step 8 if not.
- the number of times of rotation is determined according to the number of bits.
- Step 11 The encoded data output unit 604 encodes the quantized transform coefficient for a block having non-zero coded pattern data, and outputs the result to a bit stream.
- step 3 may be prior to S501 and S502.
- the encoder can improve the compression rate by, for example, repeatedly trying steps 2 to 11 while switching the prediction mode to be encoded and then selecting a prediction mode with good encoding efficiency.
- repetition is not essential, and the prediction mode may be determined based on another criterion.
- the encoding apparatus includes an image input unit 601, an arithmetic unit 602, a data memory 603, an encoded data output unit 604, and a program memory 605.
- the image input unit 601 reads an image block.
- the arithmetic unit 602 encodes the image block read by the image input unit 601 with reference to the data memory 603 and the program memory 605.
- the data memory 603 is a temporary storage device, and temporarily stores, for example, a frame before the currently processed frame.
- the data memory 603 is a RAM, for example.
- the program memory 605 stores a program for encoding.
- the program memory 605 is, for example, a ROM or a RAM.
- the encoded data output unit 604 outputs the encoded data to a bit stream.
- FIG. 7 shows an example of a flowchart of a method for decoding the bit stream generated by the above method (decoding of CBP in units of blocks), and FIG. 8 shows an example of an apparatus for executing the decoding.
- the decoding of the coded pattern data can be performed by, for example, the following steps 1 to 10.
- Step 1 The encoded data input unit 801 inputs a bit stream as input data.
- the bit stream includes prediction information in units of blocks, coded pattern data indicating the presence / absence of a prediction residual signal in units of blocks, and image data obtained by entropy encoding the prediction residual signal in units of blocks.
- Step 2 the arithmetic unit 802 determines whether the data to be acquired is higher-order code pattern data (for example, higher-order CBP), and if it is determined that the data is higher-order code pattern data, step S702 If not, jump to step 4.
- higher-order code pattern data for example, higher-order CBP
- Step 3 The arithmetic unit 802 obtains higher-order code pattern data by entropy decoding. Jump to step 9.
- Step 4. the arithmetic unit 802 determines whether the data to be acquired is low-order code pattern data (for example, low-order CBP or low-order CBF) that is code pattern data belonging to the high-order code pattern data. If it is determined that the code pattern data is lower order, the process jumps to step 6; otherwise, the process jumps to step 5.
- low-order code pattern data for example, low-order CBP or low-order CBF
- Step 5 the data to be acquired by the arithmetic unit 802 (other than the coded pattern data) is acquired and the process jumps to Step 9.
- Step 6 The arithmetic unit 802 determines whether the already acquired lower-order code pattern data is a predetermined pattern. If it is a predetermined pattern, the operation unit 802 jumps to step 7, otherwise. Jump to step 8.
- the predetermined pattern is that the lower-order code pattern data is 4 bits, and the lower-order code pattern data has already been acquired in 3 bits, and the next data to be acquired is It is the 4th bit code pattern data, and indicates the pattern in which 3 bits already acquired is 000.
- Step 7 the arithmetic unit 802 sets a predetermined fixed value as lower-order code pattern data to be acquired, and jumps to step 9 after the setting. For example, in the example of FIG. 2, 1 is set as the fourth bit code pattern data to be acquired next.
- Step 9 The arithmetic unit 802 determines whether or not the acquisition of the block information has been completed. If the acquisition has been completed, the process jumps to Step 10, and if not, the process jumps to Step 2.
- Block information indicates decoded prediction information in units of blocks and prediction residual signals in units of blocks. That is, although not explicitly shown in this flow, when the information included in the bitstream is prediction information in units of blocks, there is a step of decoding the bitstream to obtain prediction information in units of blocks, which is included in the bitstream. If the information to be received is a prediction residual signal in units of blocks, there is a step of obtaining a prediction residual signal in units of blocks by decoding the bit stream.
- Step 10 The arithmetic unit 802 restores the block image signal based on the acquired block information, and the image output unit 804 outputs the restored image.
- the decoding apparatus includes an encoded data input unit 801, an arithmetic unit 802, a data memory 803, an image output unit 804, and a program memory 805.
- the encoded data input unit 801 inputs a bit stream as input data.
- the arithmetic unit 802 decodes the blocks included in the bit stream input by the encoded data input unit 801 with reference to the data memory 603 and the program memory 605 while determining the block breaks.
- the data memory 803 is a temporary storage device, and temporarily stores, for example, the bit stream input by the encoded data input unit 801.
- the program memory 805 stores a program for decoding and stores, for example, a program corresponding to the pseudo program shown in FIG. 9 or FIG.
- FIG. 9 shows an example of the syntax of the decoding method when the lower-order code pattern data is a 4-bit hierarchical CBP.
- FIG. 9 shows the decoding method when the lower-order code pattern data is a num_lower_blocks-bit hierarchical CBP.
- An example of the syntax is shown in FIG. 9 and 10, a line indicated as ae (v) indicates that 1-bit information is acquired by entropy decoding (for example, CABAC), and a line that does not indicate that the line is executed.
- “(Upper_flag is ready decoded)” indicates that the upper-level code pattern data has already been acquired as upper_flag.
- “(Other decoding processes, optional)” indicates that if other syntax processing is necessary, the syntax processing is executed.
- the conditional branch determination for determining whether the coded pattern data is a specific combination can be reversed. An example in which the conditional branch determination in FIG. 9 is reversed is shown in FIG. The same applies to other figures.
- coded_block_flag that is coded pattern data corresponding to a block of 4 ⁇ 4 pixels is the first coded_block_flag, and when the first coded_block_flag is non-zero, the first conversion coefficient, the second coded_block_flag, and the second coded_block are In the case of non-zero, the second transform coefficient is decoded together with the transform coefficient.
- the syntax is as shown in FIG. It can be expressed as follows.
- FIG. 12 shows an example of a method for decoding a CBF of a 4 ⁇ 4 pixel block when the CBP corresponding to the block of 8 ⁇ 8 pixels is non-zero.
- an argument blockIndex represents an index when a 4 ⁇ 4 pixel block being processed has a leading block of 0 in an 8 ⁇ 8 pixel block including the block, and (decode residual coefficients coeffLevel [i]) represents a conversion coefficient. It represents decoding. Also, before decoding the first 4 ⁇ 4 pixel block, 0 is set to nonzero_coded_block_flag_found. Since there are four 4 ⁇ 4 pixel blocks constituting an 8 ⁇ 8 pixel block, when blockIndex is 3 and other coded_block_flag is 0, coded_block_flag can be set to 1 without decoding. Otherwise, the coded_block_flag needs to be decoded. Although not included in FIG.
- the size of a block (macroblock) having higher-order code pattern data is 16 ⁇ 16 pixels.
- an extension of expanding the macroblock size to 32 ⁇ 32 pixels or 64 ⁇ 64 pixels is also conceivable.
- This is called an extended macroblock.
- the extended macroblock for example, there are four 16 ⁇ 16 pixel blocks constituting the extended macroblock of 32 ⁇ 32 pixels if only the luminance block is considered, and if there are four luminance blocks and Cb and Cr color difference blocks, there are 12 blocks. Will do. CBP is often 0, and it is desirable to avoid coding 12 flags of 0.
- coded_block_pattern_32 is 1-bit flag information. If a level 2 extended macroblock of 64 ⁇ 64 pixels is considered as a larger extended macroblock, coded_block_pattern_32 which is a 32 ⁇ 32 pixel CBP constituting the level 2 extended macroblock is all 0, or one or more non-zero bits are set. It is conceivable to encode whether the CBP is possessed.
- coded pattern data for an extended macroblock of 64 ⁇ 64 pixels is called coded_block_pattern_64, and the four 32 ⁇ 32 pixel blocks constituting the 64 ⁇ 64 pixel block are indexed and coded_block_pattern_32 [0] to coded_block_pattern_32 [3]. ].
- FIG. 13 shows an example of the flow of processing for decoding coded_block_pattern_64 and coded_block_pattern_32
- FIG. 14 shows another example. Both figures show an example of a method of decoding a hierarchical CBP in which the size of the upper block is 64 ⁇ 64 pixels, the size of the lower block is 32 ⁇ 32 pixels, and the lower block is 4 bits.
- FIG. 13 illustrates an example of decoding data in which coded_block_pattern_64 and coded_block_pattern_32 are encoded. In FIG. 13, first, coded_block_pattern_64 is decoded, and when it is not 0, each element of coded_block_pattern_32 is decoded.
- coded_block_pattern_32 [3] is decoded if at least one of coded_block_pattern_32 [0] to coded_block_pattern_32 [2] is non-zero, but coded_block_pattern_32 [0] to all of coded_block_block_patter_block_patt_p32_patt_patch_block0_32_32_3 In this case, coded_block_pattern_32 [3] is set to 1.
- FIG. 14 shows an example in which coded_block_pattern_64 and coded_block_pattern_32 in FIG. 13 are expressed as different functions. In FIG.
- macroblock_cluster_residual_64x64 is a function for decoding a residual of a level 2 extended macroblock of 64x64 pixels
- macroblock_cluster_residual_32x32 is a function for decoding a residual of an extended macroblock of 32x32 pixels.
- FIG. 15 shows an example of a syntax for obtaining cbp for 4 ⁇ 4, 8 ⁇ 8, 16 ⁇ 8, 8 ⁇ 16, and 16 ⁇ 16 conversion when a 1-bit luminance CBP for a 16 ⁇ 16 pixel block is given.
- cur_transform_type when cur_transform_type is 0 or 1, reading corresponding to FIG. 2 is performed, and when cur_transform_type is 2 and the conversion size is 16 ⁇ 8/8 ⁇ 16, reading corresponding to FIG. 4 is performed.
- cur_transform_type is 2 and the transform size is 16x16
- the present invention can be used by using the given CBP as it is.
- “cbp_luma — 1 bit” represents 1-bit luminance CBP
- “MbPartWidth (mb_type)” and “MbPartHeight (mb_type)” represent prediction block sizes
- cbp represents 16 ⁇ 16 luminance blocks in four 8 ⁇ 8 blocks.
- cbp When divided, 4 bits of cbp corresponding to each 8 ⁇ 8 luminance block are represented.
- cbp is set to 4 bits in accordance with the 8 ⁇ 8 block.
- H CBF coding in hierarchical blocks with recursive structure by quadtree partitioning
- M is a power of 2
- N is a power of 2
- 20A and 20B show 2Nx2N size and NxN size encoded blocks.
- the presence / absence of division is expressed using a 1-bit flag indicating division.
- an upper block CBF exists in the upper block, and in the following block, four lower CBFs exist for every four NxN blocks indicated by 0 to 3.
- the expression is the same as when the upper CBF is 0, which is redundant.
- the upper CBF is equivalent to information indicating whether to divide the upper block.
- FIG. 20C shows an example of hierarchical quadtree partitioning when the upper block and the lower block are recursively combined.
- Block 2 which was a lower block in FIG. 20B is further divided into quadtrees in FIG. 20C.
- CBF as an upper block exists in block 2 in FIG. 20C
- four CBFs in the lower block also exist because block 2 is divided into quadtrees.
- the lower block number of the block 2 is distinguished from the upper block as 0 ', 1', 2 ', 3'.
- the structure of the upper block and the lower block changes depending on the depth of the hierarchy.
- an upper block expressed by a layer depth (layer) has four lower blocks in the layer (layer + 1).
- the upper block expressed in the (layer + 1) hierarchy has four lower blocks in the (layer + 2) hierarchy.
- Quad tree division by similar hierarchization is also possible for CBF.
- FIG. 10 Transform_unit () shown in the figure encodes upper_coded_block_flag indicating the presence / absence of non-zero transform coefficients in the upper block and lower_coded_block_flag representing the presence / absence of non-zero transform coefficients in the lower block, which are shown in bold in the figure. Shows the syntax structure.
- currBlockPos is information indicating the position of the block, and layer indicates the depth of the hierarchical structure. For example, currBlockPos0 indicates block 0 in FIG. 20B, and currBlockPos3 indicates block 3 in FIG.
- the layer in FIG. 20A, when the 2N ⁇ 2N size is 64 ⁇ 64, the N ⁇ N size is 32 ⁇ 32 and the layer is 1. Further, when NxN is divided, the N / 2xN / 2 size is 16x16, and the layer is 2.
- CurrLowerAvailable is an internal variable indicating whether or not the block can hold a lower CBF. In other words, it indicates whether or not the block can be divided. For example, if the block size when the block is divided is smaller than a predetermined minimum divided block size, currLowerAvailable is 0 because the lower CBF cannot be provided. On the other hand, currLowerAvailable is 1 when the block can be further divided.
- the upper_coded_block_flag is a flag indicating the presence / absence of a non-zero transform coefficient in the upper block, in other words, whether the upper block is to be divided. It is 1 when dividing, and 0 when not dividing.
- upper_coded_block_flag is 1, since there is a non-zero conversion coefficient in the upper block, it is possible to have a lower CBF.
- the function calculateBlockPos () is a function that returns the position of the block after division indicated by i (i is from 0 to a maximum of 3) when the block is divided into quadtrees. currBlockPos0 to 3 indicate the positions of blocks after division up to four.
- Lower_coded_block_flag is a syntax element indicating the presence or absence of a non-zero transform coefficient in a lower block, and is 1 when a non-zero transform coefficient is present in the lower block, and 0 when not present.
- Residual_block () is a function that encodes information related to transform coefficients other than CBF. This function is called only when a non-zero conversion coefficient exists (only when lower_coded_block_flag is 1). Further, this function may be called by a function other than transform_unit ().
- FIG. 22 shows an example of a syntax structure in which the redundancy of the lower CBF that occurs even in the case of the CBF syntax structure having the recursive structure described in FIG. 21 is reduced.
- “DecodedSkipFlag” is added as an argument to the transform_unit () function.
- “DecodedSkipFlag” is a 1-bit internal variable indicating whether or not lower_coded_block_flag is encoded or decoded in the block.
- the decoded skip flag is 1, since the CBFs from the first to the third of the lower blocks are 0, the CBF (lower_coded_block_flag) of the fourth lower block is automatically set to 1.
- the case where the first three lower_coded_block_flags are all 0 has been described.
- the blocks other than the last processed block are all 0 when encoding and decoding, it is also easily realized that the Decoded Skip Flag is 1. Is possible. By having such a syntax structure, it becomes possible to reduce the redundancy of the lower CBF in the syntax structure divided by the quadtree.
- FIG. 23A shows a syntax structure in which only the upper_coded_block_flag is recursively encoded.
- the transform_unit_tree () function is called.
- FIG. 23B shows a transform_unit_tree () function.
- the transform_unit_tree () function is a function that encodes only the lower_coded_block_flag. As described above, even if the upper block and the lower block are divided, the same function as that of FIG.
- FIG. 20B the code length of each block when the CBF is encoded / decoded using the syntax structure of FIG. 21 is shown in FIG. 24A.
- the flow of encoding / decoding will be described with reference to FIG.
- FIG. 20B consider a case where only block 3 has a non-zero transform coefficient, and the other blocks do not have a non-zero transform coefficient.
- transform_unit () is called for the 2N ⁇ 2N upper block 0 ′′ of FIG. 20A. Since the upper block is divided into four lower blocks, upper_coded_block_flag is encoded as 1. Next, FIG. 20B is encoded. Transform_unit () is called for block 0. Since NxN block 0 is not divided into lower blocks, upper_coded_block_flag is encoded and decoded as 0. Further, the block has non-zero transform coefficients. Therefore, lower_coded_block_flag is encoded / decoded as 0.
- transform_unit () is called for block 1.
- N ⁇ N block 1 is not divided into lower blocks
- upper_coded_block_flag is encoded and decoded as 0.
- lower_coded_block_flag is encoded / decoded as 0.
- a similar encoding / decoding process is performed on the block 2 as well.
- transform_unit () is called for block 3.
- the N ⁇ N block 3 is not divided into lower blocks, the upper_coded_block_flag is encoded and decoded as 0. Since the block has a non-zero transform coefficient, lower_coded_block_flag is encoded and decoded as 1.
- the encoded / decoded CBF information becomes a 5-bit upper_coded_block_flag and a 4-bit lower_coded_block_flag, and has a 9-bit code length.
- FIG. 24B shows the code length of each block when the CBF is encoded / decoded using the syntax structure of FIG.
- the flow of encoding / decoding will be described with reference to FIG.
- only the block 3 has a non-zero transform coefficient, and the other blocks have no non-zero transform coefficient.
- the encoded / decoded CBF information becomes a 5-bit upper_coded_block_flag and a 3-bit lower_coded_block_flag, and has a code length of 8 bits. Thereby, a 1-bit useless code can be reduced.
- FIG. 20C the code length of each block when the CBF is encoded / decoded using the syntax structure of FIG. 21 is shown in FIG. 24C.
- the flow of encoding / decoding will be described with reference to FIG.
- FIG. 20C a case is considered in which only block 3 ′ has a non-zero transform coefficient, and other blocks do not have a non-zero transform coefficient.
- Block 0 ′′, block 0, and block 1 are subjected to the same processing as described in FIG. 24A.
- transform_unit () is called for block 2.
- block 2 is divided into four lower blocks. Therefore, upper_coded_block_flag is encoded and decoded as 1.
- transform_unit () is called for block 0 ′ which is a lower block of block 2.
- N / 2 ⁇ N / 2 block 0 ′ is called. Since it is not divided into lower blocks, upper_coded_block_flag is encoded / decoded as 0. Furthermore, since the block does not have a non-zero transform coefficient, lower_coded_block_flag is encoded / decoded as 0.
- transform_unit () is called for block 1 '.
- N / 2 ⁇ N / 2 block 1 ′ is not divided into lower blocks
- upper_coded_block_flag is encoded / decoded as 0.
- lower_coded_block_flag is encoded / decoded as 0.
- a similar encoding / decoding process is performed on the block 2 '.
- transform_unit () is called for the block 3 '.
- the N / 2 ⁇ N / 2 block 3 ′ is not divided into lower blocks, the upper_coded_block_flag is encoded and decoded as 0. Since the block has a non-zero transform coefficient, lower_coded_block_flag is encoded and decoded as 1.
- transform_unit () is called for block 3.
- the upper_coded_block_flag is encoded and decoded as 0.
- lower_coded_block_flag is encoded / decoded as 0.
- the encoded / decoded CBF information is 9 bits upper_coded_block_flag and 7 bits lower_coded_block_flag, and has a 16-bit code length.
- FIG. 20C the code length of each block when CBF is encoded / decoded using the syntax structure of FIG. 22 is shown in FIG. 24D.
- the flow of encoding / decoding will be described with reference to FIG.
- only the block 3 ′ has a non-zero transform coefficient, and the other blocks have no non-zero transform coefficient.
- Block 0 ", block 0 to block 1, and block 0 'to block 2' are subjected to the same processing as described above.
- DecodeSkipFlag is 0.
- transform_unit is applied to block 3 '.
- Block 3 ′ is divided into lower blocks. Therefore, upper_coded_block_flag is encoded / decoded as 0.
- DecodeSkipFlag is 1, lower_coded_block_flag is not encoded / decoded and is set to 1 internally.
- transform_unit () is called for block 3.
- the upper_coded_block_flag is encoded and decoded as 0.
- lower_coded_block_flag is encoded / decoded as 0.
- the encoded / decoded CBF information becomes a 9-bit upper_coded_block_flag and a 6-bit lower_coded_block_flag, and has a 15-bit code length. Thereby, a 1-bit useless code can be reduced.
- the coding pattern data can be encoded by the following method, for example. In the following description, step 3 and step 11 which are encoding of portions other than the codet pattern data will be described.
- Step 1 The image input unit 601 reads an image block.
- the block read here is typically assumed to have the same size or larger size (for example, 64 ⁇ 64 pixels) than the block corresponding to the higher-order code pattern data in step 5.
- Step 2 The calculation unit 602 reads from the program memory 605 the prediction mode to be encoded for the block read in S501.
- the prediction mode may be determined in advance, or the best mode may be selected by performing step S503 and subsequent steps in each of a plurality of prediction modes. There are many other variations for setting the prediction mode.
- Step 3 The arithmetic unit 602 encodes the prediction mode, and the encoded data output unit 604 outputs it to the bit stream.
- Step 4. The arithmetic unit 602 performs block prediction using the prediction mode and data that has already been decoded, and obtains a prediction residual that is the difference between the input image block and the predicted image block.
- Step 5 The arithmetic unit 602 performs block transform (for example, KLT base generated by training data in advance or orthogonal transform using DCT base) and quantization on the prediction residual.
- block transform for example, KLT base generated by training data in advance or orthogonal transform using DCT base
- the arithmetic unit 602 calculates information representing whether or not non-zero coefficients exist in the quantized transform coefficients in units of blocks.
- this information is 1-bit flag information for each block, which is 1 when a non-zero coefficient exists in the block and 0 when all the coefficients in the block are 0. This information is referred to as lower-order code pattern data (lower-order CBP or CBF).
- higher-order code pattern data which is code pattern data for a larger block, represents information indicating whether or not a set of lower-order code pattern data (for example, four lower-order code pattern data) is all zero.
- the high-order code pattern data is 1 bit for each block, 0 if the low-order code pattern data is all 0, and 1 if there is any non-zero information in the low-order code pattern data. It becomes flag information.
- the size of the block corresponding to the high-order code pattern data is larger than the low-order code pattern data (for example, 8 ⁇ 8 pixels).
- This process is performed hierarchically to set from the lowest CBP to the highest CBP. For example, when the lowest block is 4 ⁇ 4 pixels and the highest block is 64 ⁇ 64 pixels, the hierarchical depth is expressed from 0 (64 ⁇ 64 pixel block) to 5 (4 ⁇ 4 pixel block).
- Step 6 The arithmetic unit 602 encodes the high-order code pattern data, and the encoded data output unit 604 outputs it to the bit stream.
- Step 7. The arithmetic unit 602 skips Steps 8 to 10 if the higher-order code pattern data is 0, and executes Step 8 if not.
- Step 8 to 10 are processes in which the lower code pattern data is encoded bit by bit.
- the arithmetic unit 602 is a case where the already encoded lower-order code pattern data is specific pattern data (typically, the last one-bit lower-order code pattern data is encoded, and If all the encoded lower-order code pattern data is 0), step 9 for outputting to the next bit stream is skipped; otherwise, step 9 is executed.
- Step 9 the arithmetic unit 602 encodes lower-order code pattern data to be encoded, and the encoded data output unit 604 outputs it to the bit stream.
- Step 10 The arithmetic unit 602 proceeds to step 11 if all the lower-order code pattern data have been encoded, and returns to step 8 if not.
- the number of times of rotation is determined according to the number of bits. Also, steps 7 to 10 are recursively repeated according to the hierarchy until the upper block is not divided (until the determination in step 10 is Yes).
- Step 11 The encoded data output unit 604 encodes the quantized transform coefficient for a block having non-zero coded pattern data, and outputs the result to a bit stream.
- step 3 may be prior to S501 and S502.
- the encoder can improve the compression rate by, for example, repeatedly trying steps 2 to 11 while switching the prediction mode to be encoded and then selecting a prediction mode with good encoding efficiency.
- repetition is not essential, and the prediction mode may be determined based on another criterion.
- FIG. 7 shows an example of a flowchart of a method for decoding the bitstream generated by the above method (decoding of CBP in block units), and FIG. 8 shows an example of an apparatus for executing the decoding.
- the decoding of the coded pattern data can be performed by, for example, the following steps 1 to 10.
- Step 1 The encoded data input unit 801 inputs a bit stream as input data.
- the bit stream includes prediction information in units of blocks, coded pattern data indicating the presence / absence of a prediction residual signal in units of blocks, and image data obtained by entropy encoding the prediction residual signal in units of blocks.
- Step 2 the arithmetic unit 802 determines whether the data to be acquired is higher-order code pattern data (for example, higher-order CBP), and if it is determined that the data is higher-order code pattern data, step S702 If not, jump to step 4.
- higher-order code pattern data for example, higher-order CBP
- Step 3 The arithmetic unit 802 obtains higher-order code pattern data by entropy decoding. Jump to step 9.
- Step 4. the arithmetic unit 802 determines whether the data to be acquired is low-order code pattern data (for example, low-order CBP or low-order CBF) that is code pattern data belonging to the high-order code pattern data. If it is determined that the code pattern data is lower order, the process jumps to step 6; otherwise, the process jumps to step 5.
- low-order code pattern data for example, low-order CBP or low-order CBF
- Step 5 the data to be acquired by the arithmetic unit 802 (other than the coded pattern data) is acquired and the process jumps to Step 9.
- Step 6 The arithmetic unit 802 determines whether the already acquired lower-order code pattern data is a predetermined pattern. If it is a predetermined pattern, the operation unit 802 jumps to step 7, otherwise. Jump to step 8.
- the predetermined pattern is that the lower-order code pattern data is 4 bits, and the lower-order code pattern data has already been acquired in 3 bits, and the next data to be acquired is It is the 4th bit code pattern data, and indicates the pattern in which 3 bits already acquired is 000.
- Step 7 the arithmetic unit 802 sets a predetermined fixed value as lower-order code pattern data to be acquired, and jumps to step 9 after the setting. For example, in the example of FIG. 2, 1 is set as the fourth bit code pattern data to be acquired next.
- Step 9 The arithmetic unit 802 determines whether or not the acquisition of the block information has been completed. If the acquisition has been completed, the process jumps to Step 10, and if not, the process jumps to Step 2.
- Block information indicates decoded prediction information in units of blocks and prediction residual signals in units of blocks. That is, although not explicitly shown in this flow, when the information included in the bitstream is prediction information in units of blocks, there is a step of decoding the bitstream to obtain prediction information in units of blocks, which is included in the bitstream. If the information to be received is a prediction residual signal in units of blocks, there is a step of obtaining a prediction residual signal in units of blocks by decoding the bit stream.
- Step 10 The arithmetic unit 802 restores the block image signal based on the acquired block information, and the image output unit 804 outputs the restored image.
- Steps 2 to 9 are recursively repeated according to the hierarchy until the upper block is not divided (the determination in Step 9 is Yes).
- decryption apparatus Since the decryption apparatus according to the present embodiment has the same configuration as that shown in FIG.
- the skip mode is a mode in which there is no prediction residual of the direct mode.
- H.264 it is possible to encode a direct mode in which no prediction residual exists, but in such a case, it is encoded in the skip mode, and it is interpreted that there is always a prediction residual in the direct mode at the time of decoding. It can be seen that the direct mode without the prediction residual is a redundant mode. Therefore, when decoding the hierarchical coded block data in the extended macroblock, only the coded block data having the same size as the block coded as the direct mode is acquired without entropy decoding. A fixed value (1) representing the presence of the prediction residual can be set.
- a predetermined value is set without decoding higher-order code pattern data from the bitstream.
- the prediction residual Presence / absence of existence is unknown, and it is necessary to encode and decode the coded block data.
- the explanation so far has described means for reducing the waste of code block data. With the same means, redundant information can be reduced for the skip flag indicating the skip mode.
- the skip mode is a flag that becomes 1 when the block is skipped and 0 when it is not.
- FIG. 16 an example of a simple hierarchical skip flag. This is a table obtained by logically inverting the examples of CBP and CBF described so far. It is redundant for the same reason that the coded block data is redundant. Therefore, as shown in FIG.
- the upper skip flag is 0 and the lower skip is performed. If the first, second, and third skip flags among the flags are 1, a fixed value of 0 can be used without encoding and decoding the fourth lower skip flag.
- FIG. 28 shows the flow of a method for encoding a hierarchical skip flag. Encoding is performed in the following flow.
- Step 1. The image input unit 601 reads an image block.
- Step 2 The calculation unit 602 reads from the program memory 605 the prediction mode to be encoded for the block read in S501.
- the prediction mode includes information on a skip flag (Skip).
- the prediction mode may be determined in advance, or the best mode may be selected by performing step S503 and subsequent steps in each of a plurality of prediction modes. There are many other variations for setting the prediction mode.
- Step 3 The arithmetic unit 602 encodes the upper skip flag, and the encoded data output unit 604 outputs it to the bit stream.
- Step 4. This step executes the next conditional branch. If the upper skip flag is 1, the arithmetic unit 602 skips steps 5 to 9. Otherwise, step 5 is executed.
- Step 5 The arithmetic unit 602 encodes a higher-order prediction mode other than the skip flag, and outputs it from the encoded data output unit 604 to a bit stream.
- Step 6 to 8 are processes for encoding one bit of the lower skip flags.
- the next conditional branch is executed.
- the arithmetic unit 602 uses the encoding of the low-order skip flag that has already been encoded as the specific pattern data (typically, the encoding of the low-order skip flag of the last 1 bit and the encoding If all the skipped lower flags are 1), step 7 to be output to the next bit stream is skipped; otherwise, step 7 is executed.
- Step 7. The arithmetic unit 602 encodes the low-order skip flag to be encoded, and outputs it from the encoded data output unit 604 to the bit stream.
- Step 8. The arithmetic unit 602 encodes a lower prediction mode other than the skip flag, and outputs it from the encoded data output unit 604 to a bit stream. Also, if there is residual information, the arithmetic unit 602 encodes the residual information and outputs it from the encoded data output unit 604 to a bit stream.
- Step 9 The arithmetic unit 602 ends the encoding of the block if all the lower blocks (including the lower skip flag) have been encoded. Otherwise, go back to step 6 to encode the next lower block. In the loop from S2806 to S2809, the number of times of rotation is determined according to the number of lower blocks belonging to the upper block.
- the encoder for example, can improve the compression rate by repeatedly selecting the prediction mode with good encoding efficiency after repeatedly trying steps 2 to 9 while switching the prediction mode to be encoded.
- the prediction mode may be determined based on another criterion.
- FIG. 18 shows an example of the decoding flow of the block-by-block skip flag corresponding to FIG.
- the flow in FIG. 18 differs from FIG. 7 in that the CBP in S702 to S708 is replaced with a skip flag in S1802 to S1808 (indicated as skip in FIG. 18).
- the corresponding syntax is, for example, as shown in FIG. FIG. 19 is an example of flag reduction using this embodiment for hierarchical skip flags.
- FIG. 25 shows an example of the syntax structure in this case.
- Coding_unit () shown in FIG. 25 is a function that encodes information related to the prediction mode and the like. The basic structure of this function is almost the same as in FIG.
- the skip flag of the upper block is expressed as upper_skip_flag
- the skip flag of the four lower blocks is expressed as lower_skip_flag.
- the upper skip flag is equivalent to information indicating whether or not to divide the block.
- currLowerAvailable is an internal variable indicating whether or not the block can be divided. For example, when the block size when the block is divided is smaller than a predetermined minimum divided block size, currLowerAvailable is 0 because the lower block cannot take the skip mode. On the other hand, currLowerAvailable is 1 when the block can be further divided.
- Upper_skip_flag is a flag indicating whether or not the upper block is in the skip mode, in other words, whether or not the upper block is divided. It is 1 when dividing, and 0 when not dividing.
- “AvailableSkip” is a 1-bit internal variable indicating whether or not the block can select the skip mode.
- AvailableSkip is set to 0. Otherwise, it is set to 1. That is, lower_skip_flag is encoded only when DecodedSkipFlag is 0 and AvailableSkip is 1.
- DecodedSkipFlag is a 1-bit internal variable that indicates whether lower_skip_flag is to be encoded or decoded in the block.
- the DecodedSkipFlag is 1. Otherwise, DecodedSkipFlag is set to 0.
- the Skipped Flag is 1, the skip flag from the first to the third of the lower block is 0, so the skip flag (lower_skip_flag) of the lower block corresponding to the fourth is automatically set to 1. .
- FIG. 26A shows a syntax structure that recursively encodes only the upper_skip_flag.
- upper_skip_flag becomes 0, the prediction_unit () function is called.
- the prediction_unit () function is shown in FIG. 26B.
- the prediction_unit () function is a function that encodes only the lower_skip_flag. As described above, even when the upper block and the lower block are divided, the same function as that of FIG. 25 can be realized.
- FIG. 27 shows a syntax structure when these two are combined.
- the prediction_unit () function and the transform_unit () function are called inside the coding_unit () function, the redundancy of the coded block flag and the skip flag can be reduced.
- DecodeSkipTransFlag shown in the figure has the same function as DecodeSkipFlag described with reference to FIG. 22, but is given a different index because it has a flag name when the redundancy of the skip flag is reduced.
- the instructions shown in the processing procedure shown in the above-described embodiment can be executed based on a program that is software.
- a general-purpose computer system stores this program in advance and reads this program, so that it is possible to obtain the same effects as those obtained by the image decoding method and the image encoding method of the above-described embodiment.
- the instructions described in the above-described embodiments are, as programs that can be executed by a computer, magnetic disks (flexible disks, hard disks, etc.), optical disks (CD-ROM, CD-R, CD-RW, DVD-ROM, DVD). ⁇ R, DVD ⁇ RW, etc.), semiconductor memory, or a similar recording medium.
- the storage format may be any form.
- the computer If the computer reads the program from the recording medium and causes the CPU to execute instructions described in the program based on the program, the computer performs the same operation as the image decoding method and the image encoding method of the above-described embodiment. Can be realized.
- the computer when the computer acquires or reads the program, it may be acquired or read through a network.
- the OS operating system
- database management software database management software
- MW middleware
- a part of each process for performing may be executed.
- the storage medium in the present invention is not limited to a medium independent of a computer or an embedded system, but also includes a storage medium in which a program transmitted via a LAN or the Internet is downloaded and stored or temporarily stored.
- the number of storage media is not limited to one, and the processing in the present embodiment is executed from a plurality of media, and the configuration of the media is included in the storage media in the present invention.
- the computer or the embedded system in the present invention is for executing each process in the present embodiment based on a program stored in a storage medium, and includes a single device such as a personal computer or a microcomputer, Any configuration such as a system in which apparatuses are connected to a network may be used.
- the computer in the embodiment of the present invention is not limited to a personal computer, but includes an arithmetic processing device, a microcomputer, and the like included in an information processing device, and a device capable of realizing the functions in the embodiment of the present invention by a program, The device is a general term.
- the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying constituent elements without departing from the scope of the invention in the implementation stage.
- various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment.
- constituent elements over different embodiments may be appropriately combined.
- 601 Image input unit, 602, 802 ... Arithmetic unit, 603, 803 ... Data memory, 604 ... Encoded data output unit, 605, 805 ... Program memory, 801 ... Encoded data input unit, 804 ... Image output unit .
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
まず、H.264で復号化可能なデータを生成する符号化手段について簡単に説明しておく。この符号化手段は、例えば、図1に示すような、フレーム内予測(Intra予測)またはフレーム間予測(Inter予測)、離散コサイン変換(DCT;Discrete Cosine Transform)の近似である整数精度の直交変換およびその逆変換、係数の量子化および逆量子化、コンテキスト適応2値算術符号(CABAC; Context-based Adaptive Binary Arithmetic Code)あるいは可変長符号化(CAVLC;Context-adaptive Variable Length Coding)と呼ばれるエントロピー符号を組み合わせた手段により、H.264で復号化可能なデータを生成できる。
以下、残差信号の有無を表す情報をコーデットパターンデータと呼ぶこととする。H.264の規格書においては、コーデットパターンデータのうち、複数の8x8画素あるいは16x16画素ブロックに対するフラグをまとめたデータがCBP、1つの4x4画素ブロックに対するフラグがCBFに対応する。コーデットパターンデータのうち、上位の1ブロックに対応するコーデットパターンデータをupper_flag、その上位の1ブロックに属するi番目の下位のコーデットパターンデータをlower_flags[i]と呼ぶことにする。例えば、上記非特許文献1において、Luminance信号に対する8x8画素ブロックのCBPおよび4x4画素ブロックのCBFの場合、upper_flagおよびlower_flags[i]は、それぞれCodedBlockPatternLuma内の1ビット、およびi番目の4x4画素ブロックの残差信号に対するcoded_block_flagに対応する。
本実施の形態の符号化装置は、画像入力部601、演算ユニット602、データ用メモリ603、符号化データ出力部604、プログラム用メモリ605を含む。
以上の方法で生成されたビットストリームを復号化(ブロック単位のCBPの復号化)する方法のフローチャートの一例を図7に、復号化を実行するための装置の一例を図8に示す。コーデットパターンデータの復号化は、例えば、次のステップ1~10の方法により行える。
本実施の形態の復号化装置は、符号化データ入力部801、演算ユニット802、データ用メモリ803、画像出力部804、プログラム用メモリ805を含む。
H.264では、4x4画素のブロックに対応したコーデットパターンデータであるcoded_block_flagは、第1のcoded_block_flag、第1のcoded_block_flagが非0の場合には第1の変換係数、第2のcoded_block_flag、第2のcoded_block_flagが非0の場合には第2の変換係数、というように、変換係数とあわせて復号化される。この場合、上位のコーデットパターンデータとして8x8画素のブロックに対応するCBP、下位のコーデットパターンデータとして8x8画素のブロックを構成する各4x4画素のブロックに対応したCBFを考えると、シンタックスは図12のように表せる。図12は、8x8画素のブロックに対応するCBPが非0の場合に、4x4画素ブロックのCBFを復号化する方法の一例を示す。
H.264では、上位のコーデットパターンデータを持つブロック(マクロブロック)のサイズは16x16画素である。しかし、符号化効率を考えると、例えばマクロブロックのサイズを32x32画素や64x64画素に拡張するという拡張も考えられる。これを拡張マクロブロックと呼ぶことにする。拡張マクロブロックでは、例えば、32x32画素の拡張マクロブロックを構成する16x16画素のブロックは、輝度ブロックのみを考えれば4個、輝度ブロック4つに加えてCb、Crの色差ブロックまで考えれば12個存在することになる。CBPは0となることが多く、0のフラグを12個も符号化することは避けたい。そこでマクロブロックの拡張として、32x32画素の拡張マクロブロックを構成するCBPがすべて0であるか、1つ以上の非0のビットを持つCBPであるかというコーデットパターンデータを符号化することが考えられる。この実施例では、32x32画素の拡張マクロブロックに対するコーデットパターンデータをcoded_block_pattern_32と呼ぶことにする。coded_block_pattern_32は1ビットのフラグ情報である。さらに大きな拡張マクロブロックとして、64x64画素のレベル2拡張マクロブロックを考えるなら、レベル2拡張マクロブロックを構成する32x32画素のCBPであるcoded_block_pattern_32がすべて0であるか、1つ以上の非0のビットを持つCBPであるかを符号化することが考えられる。この実施例では、64x64画素の拡張マクロブロックに対するコーデットパターンデータをcoded_block_pattern_64と呼ぶこととし、その64x64画素ブロックを構成する4つの32x32画素ブロックについては、インデックスを付与してcoded_block_pattern_32[0]~coded_block_pattern_32[3]と呼ぶことにする。
シンタックスの一例として、16x16画素のブロックに対して1ビットの輝度CBPが符号化および復号化され、輝度CBPが1の場合にのみ、16x16画素のブロック内に属する各ブロックについて、変換係数の有無をCBPとして符号化および復号化される例を、図15のシンタックスにしたがって説明する。図15は、16x16の画素ブロックに対する1ビットの輝度CBPが与えられた場合に、4x4、8x8、16x8、8x16、16x16の変換についてのcbpを得るシンタックスの一例を示す。
本実施形態の変更例として、H.264のブロック構造をMxMサイズ(Mは2のべき乗)のブロックに階層的に分割することを考える。この際、上位ブロックサイズを2Nx2N、下位ブロックサイズをNxN(Nは2のべき乗)で表現する。図20A、図20Bに2Nx2NサイズとNxNサイズの符号化ブロックを示す。上位ブロックサイズを分割する際には、分割を示す1ビットのフラグを用いて分割の有無を表現する。CBFについても同様に、上位ブロックに上位CBFが存在し、下記ブロックには0から3で示される4つのNxNブロック毎に4つの下位CBFが存在する。ここで上位CBFが1で有りかつ下位CBFが全て0の場合は、上位CBFが0である場合と同じ表現となるため冗長である。このようなCBFの符号化を考えた場合、上位CBFは、上位ブロックを分割するかどうかを示す情報と等価となる。
図21で説明した再帰構造を持つCBFのシンタクス構造時にも発生する下位CBFの冗長性を削減したシンタクス構造の一例が図22に示されている。図22では、transform_unit()関数に、DecodedSkipFlagが引数として追加されている。DecodedSkipFlagは、当該ブロックにおいてlower_coded_block_flagを符号化又は復号するかどうかを示す1ビットの内部変数である。上位CBFが存在した場合(上位ブロックのupper_coded_block_flagが1の場合)で且つ、4つの下位CBFの内の最初の3つのlower_coded_block_flagが全て0である場合、DecodedSkipFlagが1となる。そうでない場合は、DecodedSkipFlagは0に設定される。
なお、本実施の形態に関わるシンタクス要素のupper_coded_block_flagとlower_coded_block_flagを別々の関数として分けることも可能である。この例が図23A及び図23Bに記述されている。
図20Bの場合で、4つの下位ブロックと上位ブロックのCBFの符号長を図21のシンタクスに従って算出した場合の符号量は、図3で示されている。下位CBFの組み合わせ(lower_codes)が0001の場合に、符号化データは0001となり、4ビットが必要となる。これに対し、図22のシンタクスに従って算出した場合の符号量は、図2で示されている。下位CBF(lower_codes)が0001の場合には最後の1ビットを符号せず、符号化データを000とする。これにより、冗長な最後の1ビットの符号量を削減できる。
次に図20Bの場合に、図22のシンタクス構造を用いてCBFを符号化・復号化した場合の、各ブロックの符号長を図24Bに示す。本図を用いて符号化・復号化の流れを説明する。ここでは、先ほどと同様に、ブロック3のみが非0の変換係数を有し、それ以外のブロックは非0の変換係数を持たない場合を考える。
次に図20Cの場合に、図21のシンタクス構造を用いてCBFを符号化・復号化した場合の、各ブロックの符号長を図24Cに示す。本図を用いて符号化・復号化の流れを説明する。ここで、図20Cでは、ブロック3’のみが非0の変換係数を有し、それ以外のブロックは非0の変換係数を持たない場合を考える。
次に図20Cの場合に、図22のシンタクス構造を用いてCBFを符号化・復号化した場合の、各ブロックの符号長を図24Dに示す。本図を用いて符号化・復号化の流れを説明する。ここでは、先ほどと同様に、ブロック3’のみが非0の変換係数を有し、それ以外のブロックは非0の変換係数を持たない場合を考える。
図22のシンタクス構造に基づいて、本実施の形態を図5のフローチャート及び図6の符号化装置に沿って説明する。コーデットパターンデータの符号化は、例えば、次の方法により行える。なお、以下の説明では、コーデットパターンデータ以外の部分の符号化であるステップ3、ステップ11も含めて説明する。
次に本実施の形態で説明した図22のシンタクス構造を図7のフローチャート及び図8の復号装置に沿って説明する。
H.264の多くのフレーム間符号化モードでは、すでに復号化した情報から求められる動き予測に対する動きの予測誤差、および予測で得られたブロックと画像ブロックとの予測残差の2つの情報を符号化および復号化する。しかし、動きの予測誤差を符号化および復号化せず予測残差のみを符号化および復号化するダイレクトモード、すでに復号化した情報から求められる動き予測のみを利用したスキップモードという2つの特殊なモードが用意されている。なお、H.264ではBスライスと呼ばれるデータに対してのみダイレクトモードが用意されているが、Pスライスと呼ばれるデータについても同じ定義でのダイレクトモードが実現できるため、本実施の形態ではスライスの種類については特に限定しない。
今までの説明ではコーデットブロックデータの無駄を減らす手段について述べてきた。同じ手段で、スキップモードをあらわすスキップフラグについても冗長な情報を減らすことができる。スキップモードは、ブロックがスキップである場合に1、そうでない場合に0となるフラグである。スキップ予測が可能なブロックのサイズとして2種以上のサイズが用意されている場合には、スキップフラグを階層的に符号化する必要がある。この場合、図16(単純な階層的スキップフラグの一例)のように実装することになるが、これは今まで述べてきたCBPとCBFの例を論理反転させた表になっており、従来のコーデットブロックデータが冗長であった理由と同じ理由で冗長である。したがって、図17(本実施の形態の階層的スキップフラグの一例)に示すように、下位のスキップフラグとして4つのフラグが符号化および復号化される場合、上位のスキップフラグが0、下位のスキップフラグのうち第1、第2、第3のスキップフラグが1であるなら、第4の下位のスキップフラグを符号化および復号化せずに、0という固定値を利用できる。
図20Aから図20Cまでで説明したような四分木分割による再帰構造においても、前述の通り、スキップフラグ或いはダイレクトモードの冗長度を削減可能である。図25にこの場合のシンタクス構造の一例を示す。図25に示されるcoding_unit()は、予測モードなどに関連する情報を符号化する関数である。本関数の基本構造は、図22とほぼ同じである。上位ブロックのスキップフラグをupper_skip_flag、4つの下位ブロックのスキップフラグをlower_skip_flagと表現している。ここで、図22の説明時と同様、上位スキップフラグは、当該ブロックを分割するかどうかを示す情報と等価である。currLowerAvailableは、当該ブロックを分割することが可能かどうかを示す内部変数である。例えば、予め定めた最小分割ブロックサイズよりも当該ブロックを分割したときのブロックサイズが小さくなる場合、下位ブロックがスキップモードを取ることができないためcurrLowerAvailableは0となる。一方、当該ブロックを更に分割することが可能である場合currLowerAvailableは1となる。
このようなシンタクス構造をもつことで、四分木分割されたシンタクス構造における下位スキップフラグの冗長性を削減することが可能となる。なお、本実施の形態に関わるシンタクス要素のupper_skip_flagとlower_skip_flagを別々の関数として分けることも可能である。この例が図26A及び図26Bに記述されている。
実施の形態で説明した、図22に示されるコーデットブロックフラグのシンタクス構造と図26に示されるスキップフラグのシンタクス構造を組み合わせることも可能である。図27にこれら2つを組み合わせた場合のシンタクス構造を示す。coding_unit()関数内部で、prediction_unit()関数とtransform_unit()関数が呼ばれる構成とすることで、コーデットブロックフラグとスキップフラグの冗長性をそれぞれ削減できる。尚、図中に示されるDecodeSkipTransFlagは、図22で説明したDecodeSkipFlagと同じ機能を有するが、スキップフラグの冗長度削減時のフラグの名称が被るため、異なるインデックスを与えている。
以上に述べたように、本実施の形態を用いると、階層的なCBPやCBF、およびスキップフラグについて、その冗長性の排除により、圧縮率の高い符号化手段、およびその符号化手段により圧縮されたデータの復号化手段を提供できる。なお、本実施の形態での手段および方法は従来の冗長性を排除するものであって、新しい符号化モードやフラグの追加は行っていない。したがって、従来の符号化方法に対して本実施の形態に記載の方法でフラグの符号化を行うという変更のみを加えた符号化手段を用いるなら、符号量が減ることはあっても増えることはないと期待できる。
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
Claims (10)
- 入力画像信号を、階層の深さNに応じたブロックサイズに分割されたブロックを復号する動画像復号化方法において、
ブロック単位での分割情報を示すフラグを含むビットストリームを取得するステップと、
前記階層の深さNよりも深さが小さい階層に属する上位ブロックに付与された、前記上位ブロックの四分木の分割情報を示す上位フラグを復号し取得するステップと、
前記階層の深さNに属する下位ブロックのうち、第1の下位ブロックに付与された、前記上位ブロックの四分木の分割情報を示す第1の下位フラグを復号し取得するステップと、
既に取得している前記上位フラグ及び複数の前記第1の下位フラグが特定の組み合わせである場合に、前記階層の深さNに属する第2の下位ブロックの四分木の分割情報を示す第2の下位フラグとして予め定めた第1の値を設定し、前記特定の組み合わせではない場合に、前記第2の下位フラグを復号し取得するステップと、
前記上位フラグと、第1及び第2の下位フラグに従って、前記ブロックの復号画像信号を生成するステップと、
を具備する動画像復号化方法。 - 前記フラグは、予測残差信号の有無を表すコーデットブロックフラグであることを、特徴とする請求項1記載の動画像復号化方法。
- 前記フラグは、画面間予測で使われるスキップモードかどうかを表すスキップフラグであることを、特徴とする請求項1記載の動画像復号化方法。
- 前記特定の組み合わせは、前記上位フラグが前記第1の値であり、前記上位ブロックに包含される複数の前記下位ブロックのうち、前記第2の下位ブロックを除いた全ての下位ブロックの前記第1のフラグが前記第1の値とは異なる第2の値であることを、特徴とする請求項1記載の動画像復号化方法。
- 入力画像信号を、階層の深さNに応じたブロックサイズに分割されたブロックに符号化処理を行う動画像符号化方法において、
ブロック単位での分割情報を示すフラグを符号化するステップと、
前記階層の深さNよりも深さが小さい階層に属する上位ブロックに付与された、前記上位ブロックの四分木の分割情報を示す上位フラグを取得するステップと、
前記階層の深さNに属する下位ブロックのうち、第1の下位ブロックに付与された、前記上位ブロックの四分木の分割情報を示す第1の下位フラグを取得するステップと、
既に取得している前記上位フラグ及び複数の前記第1の下位フラグが特定の組み合わせである場合に、前記階層の深さNに属する第2の下位ブロックの四分木の分割情報を示す第2の下位フラグとして予め定めた第1の値を設定し、前記特定の組み合わせではない場合に、前記第2の下位フラグを取得するステップと、
前記上位フラグと、第1及び第2の下位フラグに従って、前記ブロックの局部復号画像信号を生成するステップと、
を具備する動画像符号化方法。 - 前記フラグは、予測残差信号の有無を表すコーデットブロックフラグであることを、特徴とする請求項5記載の動画像符号化方法。
- 前記フラグは、画面間予測で使われるスキップモードかどうかを表すスキップフラグであることを、特徴とする請求項5記載の動画像符号化方法。
- 記特定の組み合わせは、前記上位フラグが前記第1の値であり、前記上位ブロックに包含される複数の前記下位ブロックのうち、前記第2の下位ブロックを除いた全ての下位ブロックの前記第1のフラグが前記第1の値とは異なる第2の値であることを特徴とする請求項5記載の動画像符号化方法。
- ブロック単位での予測情報、ブロック単位での予測残差信号の有無を表すコーデットパターンデータ、およびブロック単位での予測残差信号をエントロピー符号化した画像データを含むビットストリームを入力するステップと、
前記ビットストリームに含まれる情報が上位コーデットパターンデータである場合に、前記ビットストリームを復号化し上位コーデットパターンデータを取得するステップと、
前記ビットストリームに含まれる情報が前記上位コーデットパターンデータに属するコーデットパターンデータである下位コーデットパターンデータであり、かつ、すでに取得した前記上位コーデットパターンデータと該下位コーデットパターンデータの組み合わせが特定の組み合わせである場合に下位コーデットパターンデータとして予め定めたデータを設定し、前記特定の組み合わせでない場合に前記ビットストリームを復号化し次の下位コーデットパターンデータを取得するステップと、
前記コーデットパターンデータによりブロック単位での予測残差信号の有無を判別するステップと、
前記ビットストリームに含まれる情報がブロック単位での予測情報である場合には、前記ビットストリームを復号化しブロック単位での予測情報を得るステップと、
前記ビットストリームに含まれる情報がブロック単位での予測残差信号である場合には、前記ビットストリームを復号化しブロック単位での予測残差信号を得るステップと、
前記ブロック単位での予測情報、および前記ブロック単位での予測残差信号を利用して、画像信号を復号化するステップと、を具備することを特徴とする画像復号化方法。 - ブロック単位での予測情報、およびブロック単位での予測残差信号をエントロピー符号化した画像データを含むビットストリームを入力するステップと、
前記ビットストリームに含まれる予測情報が複数のブロックのスキップ予測を表す上位スキップデータである場合に、前記ビットストリームを復号化し上位スキップデータを取得するステップと、
前記ビットストリームに含まれる予測情報が前記上位スキップデータに属するスキップデータである下位スキップデータであり、かつ、すでに取得した前記上位スキップデータと該下位スキップデータの組み合わせが特定の組み合わせである場合に次の下位スキップデータとして予め定めたデータを設定し、前記特定の組み合わせでない場合に前記ビットストリームを復号化し次の下位スキップデータを取得するステップと、
前記ブロック単位での予測情報、および前記ブロック単位での予測残差信号を利用して、画像信号を復号化するステップと、を具備することを特徴とする画像復号化方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012508020A JPWO2011121843A1 (ja) | 2010-03-30 | 2010-11-26 | 画像符号化及び画像復号化方法 |
CN2010800376170A CN102484716A (zh) | 2010-03-30 | 2010-11-26 | 图像编码以及图像解码方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/055640 WO2011121715A1 (ja) | 2010-03-30 | 2010-03-30 | 画像復号化方法 |
JPPCT/JP2010/055640 | 2010-03-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011121843A1 true WO2011121843A1 (ja) | 2011-10-06 |
Family
ID=44711509
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/055640 WO2011121715A1 (ja) | 2010-03-30 | 2010-03-30 | 画像復号化方法 |
PCT/JP2010/071155 WO2011121843A1 (ja) | 2010-03-30 | 2010-11-26 | 画像符号化及び画像復号化方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/055640 WO2011121715A1 (ja) | 2010-03-30 | 2010-03-30 | 画像復号化方法 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JPWO2011121843A1 (ja) |
KR (1) | KR20120043014A (ja) |
CN (1) | CN102484716A (ja) |
WO (2) | WO2011121715A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012121284A1 (ja) * | 2011-03-10 | 2012-09-13 | シャープ株式会社 | 画像復号装置、画像符号化装置、および符号化データのデータ構造 |
CN103118250A (zh) * | 2011-11-16 | 2013-05-22 | 中兴通讯股份有限公司 | 一种帧内划分标志的编解码方法及装置 |
CN104081777A (zh) * | 2012-01-30 | 2014-10-01 | 高通股份有限公司 | 用于视频译码的残余四叉树(rqt)译码 |
JP2014534750A (ja) * | 2011-11-04 | 2014-12-18 | インフォブリッジ ピーティーイー. エルティーディー. | 量子化ブロックを生成する方法 |
US10390016B2 (en) | 2011-11-04 | 2019-08-20 | Infobridge Pte. Ltd. | Apparatus of encoding an image |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013107027A1 (en) | 2012-01-19 | 2013-07-25 | Mediatek Singapore Pte. Ltd. | Methods and apparatuses of cbf coding in hevc |
CN104137545B (zh) * | 2012-01-19 | 2018-06-05 | 寰发股份有限公司 | 编码块旗标的编码及视频比特流的解码方法与装置 |
WO2013190990A1 (ja) * | 2012-06-22 | 2013-12-27 | シャープ株式会社 | 算術復号装置、算術符号化装置、画像復号装置、および画像符号化装置 |
US9503719B2 (en) * | 2012-06-26 | 2016-11-22 | Intel Corporation | Inter-layer coding unit quadtree pattern prediction |
KR102134367B1 (ko) * | 2012-09-10 | 2020-07-15 | 선 페이턴트 트러스트 | 화상 부호화 방법, 화상 복호화 방법, 화상 부호화 장치, 화상 복호화 장치, 및 화상 부호화 복호화 장치 |
US9307257B2 (en) * | 2013-09-25 | 2016-04-05 | Mitsubishi Electric Research Laboratories, Inc. | Method for improving compression efficiency of distributed source coding using intra-band information |
US9014499B2 (en) * | 2013-09-25 | 2015-04-21 | Mitsubishi Electric Research Laboratories, Inc. | Distributed source coding using prediction modes obtained from side information |
CN103826115B (zh) * | 2014-03-21 | 2016-03-02 | 华为技术有限公司 | 图像分割方式的编解码处理方法和装置 |
JP6341756B2 (ja) * | 2014-05-26 | 2018-06-13 | キヤノン株式会社 | 画像処理装置、画像処理装置の制御方法 |
MX2020005179A (es) * | 2017-11-22 | 2020-08-20 | Panasonic Ip Corp America | Método de codificación de datos tridimensionales, método de decodificación de datos tridimensionales, dispositivo codificador de datos tridimensionales y dispositivo decodificador de datos tridimensionales. |
BR112020016755A2 (pt) * | 2018-03-05 | 2020-12-15 | Panasonic Intellectual Property Corporation Of America | Codificador, decodificador, método de codificação e método de decodificação |
CN118540480A (zh) * | 2019-04-26 | 2024-08-23 | 松下电器(美国)知识产权公司 | 编码装置、解码装置和非暂时性计算机可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003324731A (ja) * | 2002-04-26 | 2003-11-14 | Sony Corp | 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム |
JP2009510962A (ja) * | 2005-10-03 | 2009-03-12 | ノキア コーポレイション | 独立変数のための適応性可変長コード |
JP2009531997A (ja) * | 2006-03-27 | 2009-09-03 | クゥアルコム・インコーポレイテッド | ビデオ圧縮に関連する情報を符号化および復号化する方法およびシステム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101258756A (zh) * | 2005-07-21 | 2008-09-03 | 诺基亚公司 | 用于可伸缩视频编码的可变长度编码 |
US20070230564A1 (en) * | 2006-03-29 | 2007-10-04 | Qualcomm Incorporated | Video processing with scalability |
US8634456B2 (en) * | 2008-10-03 | 2014-01-21 | Qualcomm Incorporated | Video coding with large macroblocks |
-
2010
- 2010-03-30 WO PCT/JP2010/055640 patent/WO2011121715A1/ja active Application Filing
- 2010-11-26 CN CN2010800376170A patent/CN102484716A/zh active Pending
- 2010-11-26 KR KR1020127004738A patent/KR20120043014A/ko not_active Application Discontinuation
- 2010-11-26 WO PCT/JP2010/071155 patent/WO2011121843A1/ja active Application Filing
- 2010-11-26 JP JP2012508020A patent/JPWO2011121843A1/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003324731A (ja) * | 2002-04-26 | 2003-11-14 | Sony Corp | 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム |
JP2009510962A (ja) * | 2005-10-03 | 2009-03-12 | ノキア コーポレイション | 独立変数のための適応性可変長コード |
JP2009531997A (ja) * | 2006-03-27 | 2009-09-03 | クゥアルコム・インコーポレイテッド | ビデオ圧縮に関連する情報を符号化および復号化する方法およびシステム |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012121284A1 (ja) * | 2011-03-10 | 2012-09-13 | シャープ株式会社 | 画像復号装置、画像符号化装置、および符号化データのデータ構造 |
US10148974B2 (en) | 2011-03-10 | 2018-12-04 | Sharp Kabushiki Kaisha | Image decoding device, image encoding device, and data structure of encoded data |
JPWO2012121284A1 (ja) * | 2011-03-10 | 2014-07-17 | シャープ株式会社 | 画像復号装置、画像符号化装置、および符号化データのデータ構造 |
JP2017147750A (ja) * | 2011-03-10 | 2017-08-24 | シャープ株式会社 | 画像復号装置、および画像符号化装置 |
US9325994B2 (en) | 2011-11-04 | 2016-04-26 | Infobridge Pte. Ltd. | Method of generating quantized block |
US9621893B2 (en) | 2011-11-04 | 2017-04-11 | Infobridge Pte. Ltd. | Method of generating quantized block |
JP2016001901A (ja) * | 2011-11-04 | 2016-01-07 | インフォブリッジ ピーティーイー. エルティーディー. | 量子化ブロックを生成する方法 |
JP2016001902A (ja) * | 2011-11-04 | 2016-01-07 | インフォブリッジ ピーティーイー. エルティーディー. | 量子化ブロックを生成する方法 |
JP2016007016A (ja) * | 2011-11-04 | 2016-01-14 | インフォブリッジ ピーティーイー. エルティーディー. | 量子化ブロックを生成する方法 |
JP2016007017A (ja) * | 2011-11-04 | 2016-01-14 | インフォブリッジ ピーティーイー. エルティーディー. | 量子化ブロックを生成する方法 |
JP2014534750A (ja) * | 2011-11-04 | 2014-12-18 | インフォブリッジ ピーティーイー. エルティーディー. | 量子化ブロックを生成する方法 |
US9332263B2 (en) | 2011-11-04 | 2016-05-03 | Infobridge Pte. Ltd. | Method of generating quantized block |
US9357216B2 (en) | 2011-11-04 | 2016-05-31 | Infobridge Pte. Ltd. | Method of generating quantized block |
US8989258B2 (en) | 2011-11-04 | 2015-03-24 | Infobridge Pte. Ltd | Method of generating quantized block |
US11343502B2 (en) | 2011-11-04 | 2022-05-24 | Infobridge Pte. Ltd. | Method and apparatus for encoding an image |
US10939111B2 (en) | 2011-11-04 | 2021-03-02 | Infobridge Pte. Ltd. | Method and apparatus for encoding an image |
US10630984B2 (en) | 2011-11-04 | 2020-04-21 | Infobridge Pte. Ltd. | Method and apparatus for encoding an image |
US10390016B2 (en) | 2011-11-04 | 2019-08-20 | Infobridge Pte. Ltd. | Apparatus of encoding an image |
US10205947B2 (en) | 2011-11-04 | 2019-02-12 | Infobridge Pte. Ltd. | Apparatus of encoding an image |
CN103118250A (zh) * | 2011-11-16 | 2013-05-22 | 中兴通讯股份有限公司 | 一种帧内划分标志的编解码方法及装置 |
CN103118250B (zh) * | 2011-11-16 | 2017-09-26 | 中兴通讯股份有限公司 | 一种帧内划分标志的编解码方法及装置 |
CN104081777B (zh) * | 2012-01-30 | 2018-06-01 | 高通股份有限公司 | 对视频数据进行编码或解码的方法、装置、设备及非暂时计算机可读媒体 |
CN104081777A (zh) * | 2012-01-30 | 2014-10-01 | 高通股份有限公司 | 用于视频译码的残余四叉树(rqt)译码 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2011121843A1 (ja) | 2013-07-04 |
WO2011121715A1 (ja) | 2011-10-06 |
CN102484716A (zh) | 2012-05-30 |
KR20120043014A (ko) | 2012-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011121843A1 (ja) | 画像符号化及び画像復号化方法 | |
US11750841B2 (en) | Methods and apparatuses for coding transform blocks | |
JP6461355B2 (ja) | 画像を符号化または復号する装置、方法、プログラム | |
JP6162150B2 (ja) | ビデオコーディング用の残差4分木(rqt)コーディング | |
JP5869108B2 (ja) | メモリ効率的コンテキストモデリング | |
JP5869008B2 (ja) | ビデオコーディングにおける変換 | |
KR101446287B1 (ko) | 쿼드 트리를 이용한 영상 부호화 방법 및 컴퓨터로 판독 가능한 저장매체 | |
US9706214B2 (en) | Image and video decoding implementations | |
CN108810539B (zh) | 从视频数据的位流解码多个编码单位的方法 | |
JP7245341B2 (ja) | 統合変換タイプ通知および変換タイプ依存変換係数レベルコーディング | |
KR101466534B1 (ko) | Cabac에서 savs를 사용한 dqp의 이진화 | |
US20130241752A1 (en) | Methods and devices for coding and decoding the position of the last significant coefficient | |
TW201513639A (zh) | 於視訊寫碼程序中用於係數層級寫碼之萊斯(rice)參數初始化 | |
JP2005229632A (ja) | 画像および/またはビデオ符号器と復号器における変換係数を符号化するための方法と装置および対応するコンピュータプログラムと対応するコンピュータによる読み出し可能な記憶媒体 | |
KR101975254B1 (ko) | 병렬 엔트로피 부호화/복호화 방법 및 장치 | |
JP2020526145A (ja) | 境界の強制的な区分けの改善 | |
EP3499892B1 (en) | Multi-level significance maps for encoding and decoding | |
JP7553687B2 (ja) | 復号装置、プログラム、及び復号方法 | |
JP7388900B2 (ja) | 符号化装置、復号装置、及びプログラム | |
KR101863689B1 (ko) | 레지듀얼 블록의 부호화 방법 및 장치, 복호화 방법 및 장치 | |
JP2011061878A (ja) | 符号化装置、符号化方法、復号装置、復号方法及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201080037617.0 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10849014 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012508020 Country of ref document: JP |
|
ENP | Entry into the national phase |
Ref document number: 20127004738 Country of ref document: KR Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10849014 Country of ref document: EP Kind code of ref document: A1 |