WO2004039083A1 - 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム - Google Patents
画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム Download PDFInfo
- Publication number
- WO2004039083A1 WO2004039083A1 PCT/JP2003/005388 JP0305388W WO2004039083A1 WO 2004039083 A1 WO2004039083 A1 WO 2004039083A1 JP 0305388 W JP0305388 W JP 0305388W WO 2004039083 A1 WO2004039083 A1 WO 2004039083A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- encoding
- decoding
- image
- coding
- procedure
- Prior art date
Links
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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
-
- 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/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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Definitions
- Image encoding device image decoding device, image encoding method, image decoding method, image encoding program, and image decoding program
- the present invention relates to an image encoding device, an image decoding device, an image encoding method, an image decoding method, an image encoding program, and an image decoding program.
- FIG. 29A in the image transmission system, on the transmission side, an input image is encoded into a bit stream by an image encoding unit 1, and the bit stream is transmitted to a network by a bit stream transmission unit 2.
- the bit stream is received by the bit stream receiving unit 3 on the receiving side, and the received bit stream is decoded by the image decoding unit 4 to output an image.
- FIG. 29A in the image transmission system, on the transmission side, an input image is encoded into a bit stream by an image encoding unit 1, and the bit stream is transmitted to a network by a bit stream transmission unit 2.
- the bit stream is received by the bit stream receiving unit 3 on the receiving side, and the received bit stream is decoded by the image decoding unit 4 to output an image.
- the input image is encoded into a bit stream by the image encoding unit 1, and the bit stream is accumulated in the bit stream accumulation unit 5 such as a storage medium.
- the bit stream stored in the bit stream storage unit 5 is decoded by the image decoding unit 4 to output a reproduced image.
- the image coding method can be classified into a still image coding method and a moving image coding method.
- the moving image coding method will be described as an example.
- motion-compensated frame prediction is performed on a frame image constituting a video signal input as a coding target with another frame image, and a moving image is obtained.
- the temporal redundancy in the image signal is reduced, and the difference image signal as the inter-frame prediction result ⁇ the image signal not subjected to the inter-frame prediction is subjected to orthogonal transform and quantization to perform spatial transformation in the moving image signal.
- Redundancy is reduced, and information source coding is performed on the obtained predicted and transformed data, such as motion vectors and orthogonal transform coefficients, to reduce the redundancy of data representation.
- one macroblock is composed of 16 pixels x 16 pixels, and a plurality of slices and frames are assembled into a single macroblock. Processing such as motion compensation and orthogonal transformation described above is performed in units of smaller blocks as necessary, with the macroblock as the maximum unit.
- FIG. 1 is a flowchart schematically showing an example of a moving picture coding method.
- This encoding method performs a predetermined conversion processing operation and an encoding processing operation on an input image D1, which is a frame image of a moving image or the like, so that data that can be transmitted or stored in an image transmission system or an image storage system.
- This is an image encoding method for generating compressed encoded data D9.
- the data processing operation is performed in units of macroblocks obtained by dividing the input image D1 into a predetermined size (a predetermined number of pixels).
- a predetermined data processing operation is performed on the input image D1 to convert image data, and a prediction residual image D5 represented by a spatial coordinate and a code representing information on the data processing operation. It outputs the mode information D3 and the motion vector information D2 (step S101).
- the motion vector information D2 includes, for example, the value itself of the motion vector. Or a motion vector difference value that is a difference between a motion vector of a target block and a motion vector of a neighboring block.
- an image area similar to the image of the encoding target macroblock is searched for with reference to a predetermined image area in the locally decoded image D12 described later (motion search), and the search result is obtained.
- a motion vector is determined based on a spatial movement amount between the detected image region similar to the encoding target macro block and the encoding target macro block (motion compensation prediction).
- difference data of pixel values between an image region similar to the image data of the encoding target macroblock detected as a result of the search and the encoding target macroblock is generated as a prediction residual image D5.
- a macroblock coding mode applied to image data from a plurality of prepared macroblock coding modes is determined. select.
- the macroblock coding modes can be broadly classified into an inter coding mode using motion compensation and an intra coding mode not using motion compensation.
- motion compensation is applied to the macroblock, and the resulting prediction residual of the pixel value is output as a prediction residual image D5.
- the input image D1 is output as it is as the prediction residual image D5 by setting the prediction value of the pixel value in the macroblock to 0.
- information indicating the selected encoding mode and quantization parameter is output as encoding mode information D3, and information about the motion vector is output as motion vector information H2.
- an orthogonal transform operation is performed on the prediction residual image D5 to generate a plurality of orthogonal transform coefficients D6, which are image data (frequency image data) represented by spatial frequencies (step S102).
- This orthogonal transformation is performed for each block obtained by further dividing the macroblock, and each orthogonal transformation coefficient is obtained.
- This orthogonal transform coefficient is quantized by a predetermined quantization parameter to obtain a quantized orthogonal transform coefficient D7 (step S103).
- a predetermined quantization parameter to obtain a quantized orthogonal transform coefficient D7 (step S103).
- the orthogonal transformation coefficients in all the blocks in the macroblock may be all zero, and each component of the motion vector may also be zero.
- each component of the motion vector may also be zero.
- the CBP and the COD flag are output as encoding auxiliary information D8.
- motion vector information D 2 coding mode information D 3
- variable-length coding is performed on each of the coded symbols included in the motion vector information D2, the coding mode information D3, the quantized orthogonal transform coefficient D7, and the coding auxiliary information D8.
- the coded data D 9 is generated by performing variable length coding using the table.
- FIG. 2 is a block diagram illustrating an example of a configuration of the image encoding device.
- the image encoding method shown in FIG. 1 will be further described with reference to the image encoding device shown in FIG. ⁇
- the luminance signal image frame has a size of 16 pixels x 16 lines
- the color difference signal image frame has a size of 8 pixels x 8 lines for the input image D1 input as the encoding target.
- macroblocks which are square image blocks.
- This macro block is an image block that is a unit of data processing such as motion compensation.
- DCT orthogonal transform
- a DCT block having a size of 8 pixels ⁇ 8 lines is used.
- one macro block has four luminance (Y) blocks and two color difference (C b, Cr) blocks in the DCT. Image coding is performed for each of these blocks.
- the input image D1 is input to a motion compensating means including a motion detecting unit 11 and a motion compensating unit 12.
- the input image D1 is input to the motion detection unit 11, and the motion of the image is detected for each macro block.
- the motion detection unit 11 compares the image data of the macroblock to be coded with the image data in the image area having the same size as the macroblock in the locally decoded image, thereby obtaining the macroblock of the current macroblock.
- An image area similar to the image is detected, and a motion vector D2 indicating the motion of the image is generated.
- the motion detection unit 11 refers to the image area at ⁇ in the locally decoded image D 12 stored in the frame memory 20 as an encoded frame image, and Search for an image area in the image D1 that is similar to the macroblock to be encoded. Then, the motion vector information D 2 is determined by a spatial movement amount between the image area similar to the image data of the encoding target macroblock detected as a result of the search and the encoding target macroblock. I do.
- an encoding mode used for the encoding target macroblock is selected from a plurality of encoding modes prepared in advance.
- 3A to 3C are schematic diagrams illustrating an example of an encoding mode prepared for motion compensation.
- the coding mode illustrated in FIG. 3A is the inter coding mode 0, the coding mode illustrated in FIG. 3B is the inter coding mode 1, and the coding mode illustrated in FIG. 3C is the intra coding mode.
- 2 -Inter-coding modes 0 to 1 are modes in which inter-frame coding is performed using block division into different motion compensation blocks. Movement in each As shown in FIG. 3A, in the inter-encoding mode 0, one block having a size of 16 pixels and 6 lines of XI is used for the luminance component image. Also, as shown in FIG. 3B, in the inter-coding mode 1, four blocks having a size of 8 pixels ⁇ 8 lines are used for the luminance component image.
- the motion vector information D2 is provided for each of the divided motion compensation blocks in the selected inter-coding mode. Therefore, the motion vector information D2 corresponding to the number of the divided blocks is added to each macroblock.
- the order of adding the motion vector information D2 to each motion compensation block is performed, for example, in each coding mode in FIGS. 3A to 3C in the order indicated by the numbers in the block.
- both inter-encoding modes use a block with the size of 8 pixels x 8 lines, and are assigned a motion vector S of half the length of the motion vector for the luminance component image. .
- a coding mode selection method for example, a variance value of a pixel value of a prediction residual image after motion compensation in a macroblock is obtained, and when the variance value is larger than a preset threshold value, Alternatively, if the variance is larger than the variance of the pixel values of the macroblock in the input image, the intra-coding mode is selected; otherwise, the inter-coding mode is selected. This means that the intra coding mode is selected when the image data of the macroblock is complicated.
- a motion vector and a difference value of image data corresponding to each block are generated by performing a motion search for each block obtained by dividing the macro block into four blocks. Then, the code amount M (MV) for one motion vector in inter-coding mode 0 and the total value M (4 MV) of code amounts for four motion vectors in inter-coding mode 1 are calculated. I do. Further, a difference value D (MV) of the image data in the inter coding mode 0 and a total value D (4 MV) of the difference values of the image data in the inter coding mode 1 are calculated.
- the motion vector from the motion detection unit 11 is sent to the motion compensation unit 12.
- a predicted image D4 is generated.
- the subtraction unit 13 calculates a difference (prediction residual) between the input image D1 and the prediction image D4 to generate a prediction residual image D5.
- the input image D1 is output as it is as the prediction residual image D5 by setting the pixel data of the prediction image D4 to 0. .
- the information indicating the selected encoding mode and the quantization parameter are output as encoding mode information D3, and the information regarding the motion vector is output as motion vector information D2.
- the image data of the prediction residual image D5 is input to an orthogonal transformation unit (orthogonal transformation means) 14.
- the orthogonal transform unit 14 performs orthogonal transform on the prediction residual image D5 for each orthogonal transform block included in the macroblock, and generates an orthogonal transform coefficient D6 that is frequency image data.
- an orthogonal transform coefficient D6 that is frequency image data.
- MPEG-4 four blocks of size 8 pixels x 8 lines are used for the luminance component image, and one orthogonal transform block of size 8 pixels x 8 lines is used for each color difference component image. Included in the block. 4A and 4B are diagrams showing the orthogonal transformation of image data.
- the image data of each block divided for orthogonal transformation in the prediction residual image D5 is spatial image data.
- the spatial image component of 8 pixels X 8 lines defined by the coordinates is represented by auaM.
- the orthogonal transform unit 14 performs orthogonal transform on the spatial image data by a predetermined transform method. By doing so, it is converted into the frequency image data shown in FIG. 4B.
- Image data is represented by an orthogonal transform coefficient f u ⁇ f 88 is a frequency image components 8 pixels X 8 lines defined by the horizontal frequency and vertical frequency.
- DCT discrete cosine transform
- a discrete cosine transform is an orthogonal transform using the term of the cosine of the Fourier transform, and is often used in image coding.
- DCT coefficient fu ⁇ f 88 is a frequency image data is generated.
- a DCT block of 8 pixels ⁇ 8 lines is used as a block for orthogonal transformation as shown in FIGS. 4A and 4B.
- the orthogonal transform coefficient D 6 thus generated is quantized by the quantization unit 15 using a predetermined quantization parameter, and a quantized orthogonal transform coefficient D 7 is obtained.
- a CBP indicating whether or not a significant orthogonal transform coefficient exists in a block unit and a COD flag indicating whether or not a significant orthogonal transform coefficient exists in a macro block are generated.
- the quantized orthogonal transform coefficient D 7 and the encoding auxiliary information D 8 generated by the quantization unit 15 are subjected to variable-length encoding in the variable-length encoding unit 16, and are thus compressed data of the input image D 1.
- Encoded data D9 is generated.
- the variable-length coding unit 16 further includes the motion vector information D2 detected by the motion detection unit 11 and coding indicating the coding mode and the quantization parameter selected by the motion detection unit 11. Mode information D 3 and are input.
- the motion vector information D 2 and the coding mode information D 3 are also variable-length coded by the variable-length coding unit 16 and multiplexed with the coded data D 9.
- the quantized orthogonal transform coefficient D 7 generated in the quantization units 1.5 is inversely quantized by the inverse quantization unit 17 in the image encoding apparatus, and the inversely quantized orthogonal transform coefficient D 1 It becomes 0, and is further subjected to inverse orthogonal transformation by the inverse orthogonal transformation unit 18 to perform local decoding.
- the residual image is D11.
- the locally decoded residual image D 11 and the predicted image D 4 are added in the adder 19 to generate a locally decoded image D 12.
- This locally decoded image D 12 is stored in the frame memory 20 and used for motion compensation of another frame image.
- FIG. 5 is a flowchart schematically illustrating an example of the image decoding method.
- This decoding method performs a predetermined decoding processing operation and a conversion processing operation on the encoded data D 9 generated by the image encoding method shown in FIG. 1 to obtain the same image as the locally decoded image D 12.
- variable-length decoding is performed on the encoded data D9 using a variable-length decoding table to generate a quantized orthogonal transform coefficient D7 (step S2). 0 1).
- the motion vector information D2, the encoding mode information D3, and the encoding auxiliary information D8 are similarly variable-length decoded from the encoded data D9 using the variable-length decoding table.
- variable-length decoding table to be applied to the encoded data D 9 is set, and the encoded data D 9 is subjected to variable-length decoding using the variable-length decoding table, and each encoding symbol is encoded. Generated.
- an inverse quantization operation is performed on the quantized orthogonal transform coefficient D7 to generate an inverse quantized orthogonal transform coefficient D10 (step S202).
- a decoded residual image D11 is generated (step S203).
- motion compensation is performed by applying the encoding mode indicated by the encoding mode information D3 using the local decoded residual image D11 and the already decoded frame, and the decoded image D12 is restored (S204) ).
- FIG. 6 is a block diagram schematically showing a configuration of an example of the video decoding device.
- variable length decoding unit 21 converts the data included in the encoded data D 9 for each macroblock from the bit stream from the beginning of the frame image for the encoded data D 9 that has been compressed. It reads and performs variable length decoding on it to generate motion vector information D 2, coding mode information D 3, quantized orthogonal transform coefficients D 7, and coding auxiliary information D 8. Note that the variable length decoding table used for variable length decoding is appropriately switched according to each symbol as described above.
- the quantized orthogonal transform coefficient D7 is inversely quantized and inverse orthogonally transformed by the inverse quantization unit 22 and the inverse orthogonal transformation unit 23. As a result, a locally decoded residual image D 11 is generated.
- the local decoded residual image D 11 is an image corresponding to the prediction residual image D 5 before encoding, but information is lost by the quantization and inverse quantization processes.
- the motion vector information D2 and the encoding mode information D3 are input to the motion compensation unit 24.
- the motion compensator 24 performs motion compensation on the image according to the encoding mode indicated by the encoding mode information D 3, and stores the motion vector information D 2 from the variable length decoder 21 and the frame memory 25.
- a predicted image D 4 is generated using the decoded image that has been obtained. Then, in the adder 26, the local decoded residual image D11 and the predicted image D4 are added, and the restored frame image is output as the decoded image D12.
- coding block pattern information indicating whether or not significant image data is included for each predetermined block of the macroblock II.
- CBP coding block pattern information
- the encoding block pattern information is encoded using different entropy codes for the luminance signal and the color-difference signal, by applying a more suitable entropy code in accordance with the characteristics of each signal, thereby reducing the encoding efficiency. I was raising it.
- the encoded block pattern information indicating significant image data for each block is It can be said that it indicates the easiness of generating significant image data in the mouth block, or the appearance pattern of each block having significant image data. Such information greatly differs in the same signal of the luminance-luminance signal or the color difference signal depending on the encoding conditions and the characteristics of the image.
- orthogonal transform coefficients are quantized by quantization parameters, and in the process, orthogonal transform coefficients that have small values and do not significantly affect the quality of decoded images are omitted by omitting them as 0. Then, processing for reducing the amount of image data is performed.
- motion compensation frame-based predictive coding processing makes it difficult to predict in regions where motion on the image is large and complicated, and the signal of the differential image tends to be large.
- prediction is easy to be performed, and the signal of the difference image tends to be small.
- the motion vector is the difference between the predicted motion vector obtained by predicting the motion vector value of the block to be encoded from the value of the motion vector of the surrounding blocks and the actual motion vector.
- the difference motion vector which is the difference, is source-coded.
- the size of the differential motion vector tends to concentrate on 0, whereas when the motion of the peripheral image is severe, the size of the differential motion vector is small. They tend not to concentrate on zero. Therefore, even in such a case, if the differential motion vector is encoded by one information source encoding means, it is difficult to perform the encoding in both cases efficiently.
- the characteristics of the distribution of the coefficients generated in the block differ greatly depending on the coding conditions and the properties of the image. For example, when the quantization parameter takes a small value, finer quantization is performed.Therefore, a large value of the orthogonal transformation coefficient tends to occur, whereas a large value of the quantization parameter takes a large value. When it is used, a quantized orthogonal transform coefficient having a small value tends to be generated. In such a case, it is difficult to perform efficient encoding in either case by encoding the quantized orthogonal transform coefficients by one information source encoding unit. ⁇
- variable-length coding that is, information source coding
- the nature of what kind of information is likely to be generated for the orthogonal transform coefficients depends on the nature of the image. For example, depending on whether the mode is the intra-coding mode or the inter-coding mode in video coding, the image to be orthogonally transformed is the image itself, or the residual image after motion compensation has been performed. Since these are different, the properties of the orthogonal transform coefficients also differ greatly. For this reason, in a general video coding method, by preparing a dedicated variable-length coding table for each orthogonal transform coefficient in each coding mode, it is suitable for the characteristics of each orthogonal transform coefficient! The information source coding is performed.
- the orthogonal transform coefficient is obtained as a result of converting an image signal into a discrete signal in the spatial frequency domain by orthogonal transform. Therefore, in a natural image, since the correlation between adjacent pixels is high and the signal in the spatial low-frequency region becomes stronger, the orthogonal transform coefficient obtained by orthogonally transforming this signal generally has a large coefficient value in the low-frequency region. It is characterized by non-zero coefficient values that are less likely to occur in high-frequency regions, and rarely take large coefficient values.
- a process is performed by the above-described quantization so that an orthogonal transform coefficient having a small value in a high frequency region becomes zero. This is intended to improve the coding efficiency by reducing signals that have little effect on human vision, but such processing tends to make it difficult for coefficient values to be generated in the high-frequency region. Become stronger.
- each coefficient is not completely uncorrelated in the natural image. Many take values. Or conversely, it If the frequency domain to which each orthogonal transform coefficient belongs is a distant region, there is also a difference in properties depending on the above-mentioned frequency domain, and the correlation of each coefficient is low.
- the properties of the orthogonal transform coefficient greatly change depending on the frequency domain to which the orthogonal transform coefficient belongs, but in a general image coding method, uniform information source coding is performed irrespective of such a change. There was a problem that information source coding could not be realized.
- the present invention has been made to solve the above problems, and the information source coding of the coding-related information can be efficiently performed according to the coding conditions and the properties of the image. It is an object to provide an image encoding device, an image decoding device, an image encoding method, an image decoding method, an image encoding program, and an image decoding program.
- an image encoding apparatus provides a method for distributing an image to be encoded into macroblocks of a predetermined size, and determining the macroblock based on a macroblock type.
- a motion detection unit that divides the block into shape and size blocks, performs motion compensation prediction in units of the above blocks, and outputs a motion vector; and a motion vector based on the motion vector output by the motion detection unit.
- a motion compensation unit that generates a predicted image from a reference image, a subtraction unit that performs a difference operation between the predicted image generated by the motion compensation unit and the encoding target image and outputs a prediction residual image,
- a transform unit for transform-encoding the prediction residual image output by the subtraction unit in units of a predetermined conversion block and outputting a transform coefficient;
- a quantizer for quantizing the transform coefficient based on the quantized coefficient and outputting a quantized transform coefficient; a motion vector output by the motion / detector, the macroblock type, and the quantized coefficient.
- Encoding that outputs encoded data obtained by compression-encoding the encoding-related information including the quantization conversion coefficient output by the quantization unit; A coding symbol memory that stores the coding-related information; and a coding procedure providing unit that provides one or more types of coding procedures.
- a coded data output unit for compressing and coding the coding-related information based on the selected coding procedure and outputting coded data.
- the image decoding apparatus corresponding to this, the encoding target image is divided into macroblocks of a predetermined size, the macroblock is divided into blocks of a predetermined shape and size specified based on the macroblock type, A predicted image is generated from the reference image based on the motion vector output obtained by performing the motion compensation prediction power S in units of the block and the motion vector, and the predicted image and the encoding target are generated. A difference calculation with respect to the image is performed to output a predicted image. The predicted residual image is transformed and coded in units of a predetermined transformation cycle, and a transformed coefficient is output. The transformed coefficient is based on a quantization coefficient.
- a decoding method for decoding encoded data obtained by compression-encoding encoding-related information including quantized quantized transform coefficients, the macroblock type, and the quantized coefficients.
- a decoding symbol memory that stores the decoded encoding-related information
- a decoding procedure providing unit that provides one or more types of decoding procedures. Using the decoding-related information stored in the decoding symbol memory, based on a predetermined decoding procedure selection criterion, the decoding procedure providing unit provides a decoding procedure that is either a decoding procedure or a decoding procedure.
- a decoding procedure corresponding to the encoding procedure used for encoding the target encoding-related information is selected, and the encoding-related information is decoded based on the selected decoding procedure and decoded data is output. And a decrypted data output unit.
- an image encoding method comprising: dividing an encoding target image into macroblocks of a predetermined size; A motion detection step of dividing the block into blocks of a predetermined shape and size specified based on the type, performing a motion compensation prediction in units of the block and outputting a motion vector, and outputting the motion vector.
- an encoding target image is divided into macroblocks of a predetermined size, and the macroblock is divided into blocks of a predetermined shape and size specified based on a macroblock type.
- a motion vector output by performing motion compensation prediction in units of the block and a reference image based on the motion vector are used to generate a prediction image, and the prediction image and the encoding target image are generated.
- a predicted image is output, and the predicted residual image is transformed and coded in units of a predetermined transform block, and a transformed coefficient is outputted. The transformed coefficient is based on the quantization coefficient.
- An image decoding method comprising a decoding step of decoding encoded data obtained by compressing and encoding the encoding-related information including the quantization coefficient, wherein the decoding step includes one or a plurality of types of decoding procedures.
- a decoding procedure corresponding to the encoding procedure used for encoding the encoding-related information to be decoded is selected, and the encoding-related information is decoded and decoded based on the selected decoding procedure. It is characterized by outputting data.
- an image encoding program divides an encoded target image into macroblocks of a predetermined size, and identifies the macroblock based on a macroblock type.
- Motion detecting means for dividing the blocks into blocks of a predetermined shape and size, performing motion compensation prediction in units of the blocks, and outputting a motion vector, and based on the motion vectors output by the motion detecting means.
- Motion compensation means for generating a prediction image from a reference image; subtraction means for performing a difference operation between the prediction image generated by the motion compensation means and the encoding target image to output a prediction residual image; Means for transform-encoding the predictive residual image output by the means in units of a predetermined transform block and outputting transform coefficients.
- Transforming means quantizing means for quantizing the transform coefficient output by the transforming means based on the quantized coefficient to output a quantized transform coefficient; and the motion vector outputted by the motion detecting means.
- Image coding functioning as coding means for outputting coded data obtained by compression-coding coding-related information including the macroblock type, the quantized coefficient, and the quantized transform coefficient output by the quantizing means.
- An encoding procedure providing means for providing one or more types of encoding procedures, and encoding-related information stored in an encoding symbol memory. Based on the coding procedure selection criteria, select one of the coding procedures provided by the coding procedure providing means, and select the selected coding procedure.
- Coded data output means for compressing and coding the coding-related information based on the data and outputting coded data.
- the image decoding program corresponding to the above-mentioned method is configured to divide the image to be encoded into macroblocks of a predetermined size, and the macroblock has a predetermined shape and size specified based on the macroblock type.
- the difference calculation with respect to the image to be encoded is performed to output a predicted image.
- the predicted residual image is transformed and coded in units of a predetermined transformation block, and a transformation coefficient is output. Coding obtained by compression-coding coding-related information including a quantized transform coefficient quantized based on a coefficient, the macroblock type, and the quantized coefficient.
- An image decoding program functioning as decoding means for decoding data, the decoding means comprising: decoding procedure providing means for providing one or more types of decoding procedures; and a decoded code stored in a decoding symbol memory.
- decoding-related information based on a predetermined decoding procedure selection criterion, any one of the decoding procedures provided by the decoding procedure providing means, and the coding used for coding the coding-related information to be decoded.
- a decoding data output means for selecting a decoding procedure corresponding to the procedure, decoding the encoding-related information based on the selected decoding procedure, and outputting decoded data.
- the image encoding apparatus, the image encoding method, and the image encoding program described above prepare a plurality of procedures for performing information source encoding for one piece of encoding-related information, and provide the information source of the encoding-related information in the block.
- the procedure used for encoding is selected from these multiple procedures. Therefore, the 'procedure used for information source coding suitable for the property of the coded symbol changing as described above can be selected from a plurality of procedures. As a result, it becomes possible to efficiently perform information source coding of the coded symbols according to the coding conditions and the properties of the image.
- the image decoding apparatus, the image decoding method, and the image decoding program described above prepare a plurality of procedures for performing information source decoding on one piece of encoding related information, and use the procedure for information source decoding of the encoding related information in the block. Choose a procedure from these multiple procedures. Therefore, it is possible to correctly decode the encoded data encoded by the image encoding device, the image encoding method, and the image encoding program described above. Further, in the image coding apparatus according to the present invention, the coding unit includes a non-zero indicating whether or not the non-zero quantized transform coefficient exists for each of the transform blocks in the macro block.
- the encoding procedure providing unit has a function of compressing and encoding the encoded block pattern information including the zero coefficient existence flag, and the encoding procedure providing unit, when encoding the encoded block pattern information in the encoding target macroblock, A coding procedure is provided such that the higher the spatial correlation of the above-mentioned coding block pattern information between the macroblock around the coding target macroblock and the coding target macroblock, the shorter the code length. It can also be characterized by doing. '
- the decoding unit includes a non-zero coefficient indicating whether or not the non-zero quantization conversion coefficient exists for each of the conversion blocks in the macro block.
- the decoding procedure providing unit has a function of decoding the encoded block pattern information including the presence flag, and the decoding procedure providing unit decodes the encoded block pattern information of the encoding target macroblock when decoding the encoded block pattern information.
- the encoding procedure providing unit may determine that the macroblock type in the macroblock around the encoding target macroblock is the largest number of the encoding target macroblocks. If the macroblock type indicates that the block is divided into blocks, the coding block butter indicates that all coding blocks in the current macroblock have non-zero quantized transform coefficients.
- the encoding is performed between the macroblock around the encoding target macroblock and the encoding target macroblock. It is also possible to provide an encoding procedure in which the code length becomes shorter as the spatial correlation of the block pattern information becomes higher.
- the decoding procedure providing unit divides the encoding target macroblock into the largest number of blocks with the macroblock type in the macroblock around the encoding target macroblock. If the macroblock type is a macroblock type indicating that all the coding blocks in the current macroblock have coding block pattern information indicating that they have a quantized transform coefficient of zero, When decoding the coding block pattern information of the coding target macroblock, the spatial correlation of the coding block pattern information between the surrounding macroblock of the coding target macroblock and the coding target macroblock. Decoding corresponding to the encoding procedure provided such that the code length becomes shorter as Provide instructions.
- the encoding procedure providing unit when encoding the encoding block pattern information in the encoding target macroblock, includes a quantization coefficient in the encoding target macroblock. Is larger than a preset threshold value, the code length becomes shorter with respect to the above-described coded block pattern information indicating that the number of blocks including the non-zero quantized transform coefficient is smaller. It can also be characterized by providing an encoding procedure.
- the decoding procedure providing unit when decoding the encoding block battan information in the encoding target macroblock, the size of the quantization coefficient in the encoding target tuna block is If the value is larger than the preset threshold value, the code length becomes shorter with respect to the coded block pattern information indicating that the number of blocks including non-zero quantized transform coefficients is smaller. Provides a decoding procedure corresponding to the encoding procedure provided in.
- the encoding procedure providing unit when encoding the encoding block pattern information in the encoding target macroblock, generates a macro around the encoding target macroblock. It is also possible to provide an encoding procedure in which the larger the number of blocks included in a block, the smaller the deviation in code length becomes.
- the decoding procedure providing unit includes the decoding block pattern information in the surrounding macroblocks of the encoding target macroblock when decoding the encoding block pattern information in the encoding target macroblock.
- the encoding procedure providing unit when encoding the quantized transform coefficient in the encoding target macroblock, may include a macro around the encoding target macroblock. It is also possible to provide an encoding procedure in which the larger the absolute value of the above-mentioned quantized transform coefficient in the mouth block becomes, the smaller the deviation of the code length becomes.
- the decoding procedure providing unit when decoding the quantized transform coefficient in the encoding target macroblock, performs the quantization conversion in a macroblock surrounding the encoding target macroblock.
- a decoding procedure corresponding to the encoding procedure provided so that the deviation of the code length becomes smaller as the absolute value of the coefficient becomes larger is provided.
- the encoding procedure providing unit encodes the macroblock type in the encoding target macroblock, a macroblock around the encoding target tuna block. It is also possible to provide an encoding procedure in which the code length becomes shorter as the spatial correlation of the macroblock type becomes higher between the macroblock and the encoding target macroblock.
- the decoding procedure providing unit determines the surrounding macroblocks of the encoding target macroblock and the encoding target macroblock. A decoding procedure corresponding to the encoding procedure provided so that the code length becomes shorter as the aerial correlation of the macroblock type with the block becomes higher.
- the encoding procedure providing unit encodes the macroblock type in the encoding target macroblock, when encoding the macroblock type including more blocks, It is also possible to provide an encoding procedure in which the code length is shorter.
- the decoding procedure providing unit when decoding the macroblock type in the encoding target macroblock, has a code length for a macroblock type including more blocks. It provides a decoding procedure corresponding to the encoding procedure provided to be shorter.
- the encoding unit has a function of encoding the number of the non-zero quantized transform coefficients in the block
- the encoding procedure providing unit includes: When encoding the number of the non-zero quantized transform coefficients in the encoding target macro block, the number of the non-zero quantized transform coefficients in blocks surrounding the encoding target block is set in advance. If the threshold value is smaller than the threshold value, a coding procedure may be provided in which the smaller the number of non-zero quantized transform coefficients, the shorter the code length.
- the decoding unit has a function of decoding the number of the above-mentioned non-zero quantized transform coefficients in the block
- the decoding procedure providing unit includes When decoding the number of the non-zero quantized transform coefficients in a block, if the number of the non-zero quantized transform coefficients in a block around the current block is smaller than a preset threshold value, Is an encoding procedure provided such that the smaller the number of non-zero quantized transform coefficients, the shorter the code length. Is provided.
- the encoded symbol memory holds a differential motion vector value which is a difference value between a predicted motion vector predicted from a surrounding block and an actual motion vector.
- the encoding procedure providing unit when encoding the encoding block pattern information in the encoding target macroblock, a differential motion vector value in a macroblock around the encoding target macroblock. Is larger than a preset threshold, the code length becomes shorter for the coded block pattern information indicating that the number of blocks including the non-zero quantized transform coefficient is larger. It can also be characterized by providing an encoding procedure. '
- the decoded symbol memory has a function of holding a difference motion vector value which is a difference value between a predicted motion vector predicted from surrounding blocks and an actual motion vector.
- the decoding procedure providing unit sets in advance the magnitude of the differential motion vector value in a macroblock surrounding the encoding target macroblock. If the threshold value is larger than the threshold value, the coding procedure provided so that the code length becomes shorter for the coding block pattern information indicating that the number of blocks including non-zero quantized transform coefficients is larger. Provide a corresponding decoding procedure.
- the encoded symbol memory holds a differential motion vector value which is a difference value between a predicted motion vector predicted from a surrounding block and an actual motion vector.
- the encoding procedure providing unit includes a differential motion vector value in a surrounding block of the encoding target block. If the size of the motion vector is smaller than a preset threshold value, an encoding procedure that provides a shorter code length for a smaller differential motion vector value may be provided. it can.
- the decoded symbol memory has a function of holding a difference motion vector value which is a difference value between a predicted motion vector predicted from surrounding blocks and an actual motion vector.
- the decoding procedure providing unit when decoding the differential motion vector value in the encoding target macroblock, sets the magnitude of the differential motion vector value in a surrounding block of the encoding target block in advance. If the difference is smaller than the threshold value, a decoding procedure corresponding to the encoding procedure provided so that the code length becomes shorter for the smaller differential motion vector value is provided. Further, in the image coding apparatus of the present invention, the coded symbol memory holds a differential motion vector fe which is a difference value between a predicted motion vector predicted from a surrounding block and an actual motion vector.
- the encoding procedure providing unit determines in advance the magnitude of the differential motion vector w in a block around the encoding target block. If it is larger than the set threshold value, it may be a feature to provide an encoding procedure in which the code length becomes shorter for a macro block type including more blocks.
- the decoded symbol memory has a function of holding a difference motion vector value which is a difference value between a predicted motion vector predicted from surrounding blocks and an actual motion vector.
- the decoding procedure providing unit when decoding the macroblock type in the encoding target macroblock, sets a magnitude of a difference motion vector value in a surrounding block of the encoding target block to a predetermined threshold value. If so, provide a decoding procedure corresponding to the coding procedure provided so that the code length is shorter for macroblock types containing more blocks.
- an image encoding apparatus divides an encoding target image or a prediction residual image generated based on the encoding target image into predetermined transform blocks. Transforming the encoding target image or the prediction residual image into the conversion A transform unit for transform-encoding and outputting a transform coefficient in units of clocks, a quantizing unit for quantizing the transform coefficient output by the transform unit based on the quantized coefficient and outputting a quantized transform coefficient,
- An image encoding apparatus comprising: an encoding unit that outputs encoded data obtained by compressing and encoding encoding-related information including a quantization coefficient and the quantization transform coefficient output by the quantization unit, The encoding unit converts the quantized transform coefficient in the encoding target block into a one-dimensional sequence according to a frequency, and sets the absolute value of the quantized transform coefficient in the one-dimensional sequence to 0.
- Encoding symbol that memorizes Using a memory, an encoding procedure providing unit that provides one or more types of encoding procedures, and encoding-related information stored in the encoding symbol memory, a predetermined encoding procedure selection criterion is used. And selecting one of the coding procedures provided by the coding procedure providing unit on the basis of the selected coding procedure, and compressing and coding the coding-related information based on the selected coding procedure to output coded data. It is characterized by having a department.
- the image decoding apparatus divides the encoding target image or the prediction residual image generated based on the encoding target image into a predetermined conversion block, and generates the encoding target image or the prediction residual image.
- a code including the transform block in units of the transform block, outputting a transform coefficient, quantizing the output transform coefficient based on the quantized coefficient, and outputting the quantized transform coefficient and the quantized coefficient
- An image decoding apparatus comprising a decoding unit that decodes encoded data obtained by compressing and encoding the encoding-related information, wherein the decoding unit converts the quantized transform coefficient in the encoding target block into one according to a frequency.
- a decoding symbol memory having a function of decoding a positive / negative sign indicating positive / negative of a transform coefficient, and storing the decoded encoding-related information; and one or more types of decoding symbol memory.
- a decoding procedure providing unit that provides a decoding procedure, and the decoding procedure providing unit that provides, based on a predetermined coding procedure selection criterion, using the decoded encoding-related information stored in the decoding symbol memory.
- a decoding procedure corresponding to the encoding procedure used for encoding the encoding-related information to be decoded is selected, and the encoding-related information is determined based on the selected decoding procedure.
- a decoded data output unit for decoding and outputting decoded data is provided.
- an image encoding method includes dividing an encoding target image or a prediction residual image generated based on the encoding target image into predetermined transform blocks.
- An encoding step of outputting encoded data wherein the encoding step comprises: converting the quantized transform coefficient in the encoding target block into one according to a frequency.
- a zero-run value which is a continuous number of coefficients in which the absolute value of the quantized transform coefficient is 0 in the one-dimensional sequence, a level value, which is an absolute value of the quantized transform coefficient, and the quantized transform.
- This is a step of encoding a positive / negative sign indicating the positive / negative of a coefficient.
- One or more types of encoding procedures are prepared, and the encoding-related information stored in the encoding symbol memory is used.
- coding procedure selection criterion Based on a predetermined coding procedure selection criterion, select one of the above-described one or more types of coding procedures, and compress the coding-related information based on the selected coding procedure. It is characterized by encoding and outputting encoded data.
- An image decoding method corresponding to this method is to divide an encoding target image or a prediction residual image generated based on the encoding target image into predetermined conversion blocks, and to divide the encoding target image or the prediction residual image Is transformed and encoded in units of the above transformation block.
- a coding method that outputs a transform coefficient, quantizes the output transform coefficient based on the quantization coefficient, and compresses and encodes encoding-related information including the output quantized transform coefficient and the quantized coefficient.
- An image decoding method comprising a decoding step of decoding data, wherein the decoding step converts the quantized transform coefficient in the encoding target block into a one-dimensional sequence according to a frequency, and A step of decoding a zero-run value, which is a continuous number of coefficients whose absolute value of the quantized transform coefficient is 0, a level value, which is an absolute value of the quantized transform coefficient, and a sign, which indicates whether the quantized transform coefficient is positive or negative;
- One or more types of decoding procedures are prepared, and the decoded encoding-related information stored in the decoding symbol memory is used, based on predetermined coding procedure selection criteria.
- Select a decoding procedure corresponding to the encoding procedure used for encoding the encoding-related information to be decoded which is one of the above-mentioned one or more types of decoding procedures, and select The decoding-related information is decoded based on the decoding procedure thus performed, and decoded data is output.
- an image encoding program divides a computer into an encoding target image or a prediction residual image generated based on the encoding target image into predetermined transform blocks.
- Quantizing means for quantizing and outputting a quantized transform coefficient; and coded data obtained by compression-coding coding-related information including the quantized coefficient and the quantized transform coefficient output by the quantizing means.
- An image encoding program that functions as encoding means for outputting, wherein the encoding means converts the quantization conversion coefficient in the encoding target block into a frequency. Is converted to a one-dimensional sequence according to the following equation.
- a means for encoding the sign of the quantized transform coefficient with a sign is provided.
- a coded data output means for compressing and coding the coding-related information based on the selected coding procedure and outputting coded data.
- An image decoding program corresponding to this program divides the encoding target image or the prediction residual image generated based on the encoding target image into predetermined transform blocks, Transform coding the residual image using the transform block as a unit to output a transform coefficient, quantizing the output transform coefficient based on a quantization coefficient, and outputting a quantized transform coefficient; and
- An image decoding program that functions as decoding means for decoding encoded data obtained by compressing and encoding the encoding-related information including coefficients, wherein the decoding means converts the quantized transform coefficient in the current block to be encoded.
- a zero-run value which is the number of consecutive coefficients whose absolute value of the quantized transform coefficient in the one-dimensional sequence is 0, is converted to a one-dimensional sequence according to the frequency, and the quantization is
- a decoding procedure providing means for providing one or a plurality of types of decoding procedures, comprising: means for decoding the level ⁇ (direct, which is the absolute value of the permutation coefficient, and a sign indicating the sign of the quantized transform coefficient. Utilizing the encoding-related information stored in the symbol memory, based on a predetermined encoding procedure selection criterion, one of the decoding procedures provided by the decoding procedure providing means, the encoding-related information to be decoded.
- Decoding data output means for selecting a decoding procedure corresponding to the coding procedure used for encoding the information, decoding the coding-related information based on the selected decoding procedure, and outputting decoded data. This is the feature.
- the image encoding apparatus, the image encoding method, and the image encoding program described above prepare a plurality of procedures for performing information source encoding for one piece of encoding-related information, and provide the information source of the encoding-related information in the block.
- the procedure used for encoding is selected from these multiple procedures. Therefore, information suitable for the characteristics of the coded symbol that changes as described above.
- the procedure used for source coding can be selected from multiple procedures. As a result, it becomes possible to efficiently perform information source coding of the coded symbols according to the coding conditions and the properties of the image.
- the image decoding device, the image decoding method, and the image decoding program described above prepare a plurality of procedures for performing information source decoding on one piece of encoding related information, and use the procedure for information source decoding of the encoding related information in the block. Choose a procedure from these multiple procedures. Therefore, it is possible to correctly decode the encoded data encoded by the above-described image encoding device, image encoding method, and image encoding program.
- the encoding procedure providing unit encodes the level value when encoding a value closer to a level value at a frequency near the encoding target level value. It may also be characterized by providing an encoding procedure with a shorter length.
- the decoding procedure providing unit when decoding the level value, sets the code length to a value closer to the level value at a frequency near the encoding target level value. Provide a decoding procedure corresponding to the encoding procedure provided to be shorter.
- the encoding procedure providing unit when encoding the level value, sets a zero-run value at a frequency near the encoding target level value to a predetermined threshold value. If it is larger, a coding procedure may be provided in which a smaller level value has a shorter code length.
- the decoding procedure providing unit when decoding the level value, when a zero run value at a frequency near the encoding target level value is larger than a preset threshold value, A decoding procedure corresponding to an encoding procedure provided such that a smaller level value has a shorter code length is provided.
- the encoding procedure providing unit when encoding the level value, performs encoding as the frequency band of the encoding target level value increases. It may also be characterized by providing an encoding procedure in which the length deviation becomes large.
- the decoding procedure providing unit is provided such that, when decoding the level value, the code length deviation increases as the frequency band of the encoding target level value increases.
- a decoding procedure corresponding to the encoding procedure is provided.
- the encoding procedure providing unit when encoding the level value, sets a code length as the level value at a frequency near the encoding target level value decreases. It is also possible to provide an encoding procedure that reduces the bias of the encoding.
- the decoding procedure providing unit when decoding the level value, reduces the bias of the code length as the level value at a frequency near the encoding target level value decreases. And provide a decoding procedure corresponding to the provided coding procedure.
- the encoding procedure providing unit when encoding the zero run value, sets a code length as the level value at a frequency near the zero run value to be encoded becomes smaller. It is also possible to provide an encoding procedure that increases the bias.
- the decoding procedure providing unit when decoding the zero run value, increases the code length deviation as the level value at a frequency near the zero run value to be encoded becomes smaller. It provides a decoding procedure corresponding to the encoding procedure provided in.
- the encoding unit has a function of compression-encoding the number of non-zero quantized transform coefficients in the encoding target block, and the encoding target block ′ If the number of non-zero quantized coefficients is smaller than a predetermined threshold value, the level value and the zero-run value are sequentially encoded from the low-frequency component, and the non-zero quantum The number of conversion coefficients is from a preset threshold If it is larger, the level value and the zero run value may be encoded in order from the high frequency component.
- the decoding unit has a function of decoding the number of non-zero quantized transform coefficients in the coding target block, and the decoding unit has a function of decoding the non-zero number of the coding target block. If the number of certain quantized coefficients is smaller than a preset threshold, the level value and the zero run value are decoded in order from the low frequency component, and the number of non-zero quantized coefficients of the block to be coded is calculated. Is larger than a preset threshold, the level value and the Zerun value are decoded in order from the high-frequency component.
- an image encoding method comprises: dividing an image into blocks of a predetermined size to encode; An image encoding method for encoding and outputting encoded data, wherein a plurality of means for performing the information source encoding for one piece of encoding-related information are prepared, and It is characterized in that a means used for information source coding is selected from the plurality of means.
- an image encoding apparatus of the present invention divides an image into blocks of a predetermined size and encodes them, and encodes encoding-related information in units of the blocks by an information source code.
- An image encoding apparatus for encoding and outputting encoded data comprising: a plurality of means for performing the information source encoding for one piece of encoding related information; and an information source code of the encoding related information in the block. It is characterized in that the means used for the conversion is selected from the plurality of means.
- Various means for preparing information source coding for one piece of encoding-related information are prepared, and the means used to encode the information related to the coding-related information in the block is selected from these multiple means, thereby making various changes.
- the means used for information source coding suitable for the nature of the coding symbol to be used can be selected from a plurality of means.
- an image is divided into blocks of a predetermined size, and encoded data input in which encoding-related information is source-coded in units of the above blocks is provided.
- a plurality of means for performing information source decoding for one piece of encoding related information are prepared, and the means used for decoding the information source of the encoding related information in the block are used as the plurality of means.
- the feature is to select from.
- an image decoding apparatus is an image decoding apparatus that decodes an encoded data input in which an image is divided into blocks of a predetermined size, and encoding-related information is source-coded in units of the block.
- a plurality of means for performing information source decoding for one piece of encoding-related information, and a means used for decoding the information of the encoding-related information in the block in the information source is selected from the plurality of means.
- encoded data encoded by the image encoding method or the image encoding device described above can be correctly decoded.
- the selection of the means used for the information source coding is characterized in that it is based on a coding-related blue report applied in the block. It is suitable.
- the coding symbol that changes in accordance with the coding conditions applied to the block Source coding suitable for the nature can be performed.
- the selection of the means used for the information source decoding is based on encoding-related information applied in the block.
- the encoding-related information includes the same type of encoding-related information that is encoded prior to the encoding of the encoding-related information, and different encoding that is encoded prior to the encoding of the encoding-related information.
- Type of encoding-related information can be included. It can be performed based on the ranking.
- the selection of the means used for the information source coding is based on coding related information applied to a block located near the block. You can also.
- the image in the area on the image including the block as described above is obtained. It is possible to predict the properties of the coding-related information that changes depending on the properties of the coding-related information in the neighboring blocks, and perform information source coding suitable for the properties of the coding-related information.
- the selection of the means used for the information source decoding is applied to a block located in the vicinity of the block and is based on encoding-related information. You can also.
- the encoding-related information can include the same type of encoding-related information as the encoding-related information, and a type of encoding-related information different from the encoding-related information.
- the means to be used for the selection can be selected based on the order in the code table when the encoding-related information is encoded by the information source.
- the plurality of means used for the information source coding may be different in the allocation order of the coding-related information to the code table in the information source coding. It is preferable to have a feature.
- the plurality of means used for the information source decoding may include: Are preferably characterized in that the assignment ranks are different.
- the plurality of means used for the information source coding are different from each other in the method of configuring the code in the information source coding of the coding-related information. It can also be.
- the plurality of means used for the information source decoding are different from each other in a method of configuring a code in the information source decoding of the encoding-related information. You can also.
- a plurality of prediction means for the coding-related information and a prediction method for generating a similarity between a plurality of prediction values obtained as a result of the plurality of prediction means.
- a value similarity generating means is provided, and the means used for the information source coding is selected based on the similarity of the plurality of predicting means.
- the means used for information source coding can be efficiently selected.
- a plurality of predicting units for the encoding related information and a predicted value similarity generating a similarity of a plurality of predicted values obtained as a result of the plurality of predicting units It is preferable that a degree generating means is prepared, and the means used for decoding the information source is selected based on the similarity of the plurality of predicting means. It is.
- the encoding mode in the block to be encoded is Information, coding block pattern information in the block, motion vector information in the block, the level value of the orthogonal transform coefficient in the block, the number of non-zero coefficients of the orthogonal transform coefficient in the block, and the like.
- the encoding related information used for selecting the above means includes encoding mode information, a quantization parameter, It can include coded block pattern information, motion vectors, level values of orthogonal transform coefficients, and the number of non-zero coefficients of orthogonal transform coefficients.
- encoding mode information is included in the encoding-related information used for selecting the above method, the activity in the surrounding blocks defined by the encoding mode information may be used.
- the coding block pattern information is included in the coding related information used for selecting the above means, the appearance pattern of the significant orthogonal transform coefficient in the surrounding block indicated by the coding block pattern information is considered.
- Directional bias may be used.
- the plurality of means used for the information source coding are each independently updated according to a coding result. Is preferred.
- the plurality of means used for the information source decoding are such that each means is independently updated according to a decoding result.
- it is a feature.
- an image transmission system comprising: an image encoding unit that encodes an image; and a bit stream transmission unit that transmits a bit stream encoded by the image encoding unit.
- An image transmission system comprising: a bitstream receiving unit that receives the transmitted bitstream; and an image decoding unit that decodes the received bitstream, wherein the image encoding unit includes: The encoding is performed by any one of the image encoding methods described above.
- the image transmission system of the present invention includes: an image encoding unit that encodes an image; a bit stream transmission unit that transmits a bit stream encoded by the image encoding unit; Transmission system comprising: a bitstream receiving unit that receives a stream; and an image decoding unit that decodes the received bitstream, wherein the image decoding unit decodes by any one of the image decoding methods described above. Is performed.
- an image storage system comprising: an image encoding unit that encodes an image; and a bit stream accumulation unit that accumulates a bitstream encoded by the image encoding unit.
- An image storage system comprising: (a) and (b), wherein the image encoding unit performs encoding by any one of the image encoding methods.
- the means used for information source coding suitable for the properties of the coded symbol can be selected from a plurality of means.
- an image reproduction system includes: a bitstream storage unit that holds a stored bitstream; and an image decoding unit that decodes the bitstream read from the bitstream storage unit.
- the image decoding unit performs decoding by any of the image decoding methods described above.
- an image encoding method is an image encoding method that divides an image into blocks of a predetermined size, performs orthogonal transform, and performs information source encoding on orthogonal transform coefficient information.
- a plurality of means for performing the information source coding are prepared, and a means used for the information source coding of the orthogonal transform coefficient information is selected from the plurality of means.
- An image encoding apparatus is an image encoding apparatus that divides an image into blocks of a predetermined size, performs orthogonal transform, and performs information source coding on orthogonal transform coefficient information.
- a plurality of means for performing orthogonalization coefficient information, and a means used for information source coding of the orthogonal transform coefficient information is selected from the plurality of means.
- a plurality of means for performing information source coding on orthogonal transform coefficient information are prepared, and the means used for information source coding of the orthogonal transform coefficient information is selected from the plurality of means, so that the orthogonal transform that changes in various ways is obtained.
- the means used for information source coding suitable for the properties of the coefficient information can be selected from among the above-mentioned plurality of means.
- the image decoding method of the present invention is an image decoding method that divides an image into blocks of a predetermined size, performs orthogonal transform, and decodes coded data input obtained by performing information source coding on orthogonal transform coefficient information.
- the image decoding apparatus includes an image decoding device that divides an image into blocks of a predetermined size, performs orthogonal transform, and decodes coded data input obtained by performing source coding on orthogonal transform coefficient information.
- An apparatus comprising: a plurality of means for performing information source decoding, wherein a means used for decoding the orthogonal transform coefficient information for the information source is selected from the plurality of means.
- selection of the means used for the information source coding is based on a coefficient value of a significant coefficient in orthogonal transform coefficient information transmitted in advance. It is preferred to do so.
- the selection of the means used for the information source decoding is based on a coefficient value of a significant coefficient in orthogonal transform coefficient information transmitted in advance. It is suitable.
- the selection of the means used for the information source coding may be based on a zero-run number in orthogonal transform coefficient information transmitted in advance. .
- the selection of the means used for the information source decoding may be characterized in that it is based on the zero-run number in the orthogonal transform coefficient information transmitted in advance.
- the selection of the means used for the information source coding may be based on a spatial frequency to which the orthogonal transform coefficient information belongs.
- the selection of the means used for the information source decoding may be characterized in that it is based on the spatial frequency to which the orthogonal transform coefficient information belongs.
- the plurality of means used for the information source coding each have a different allocation order of orthogonal transform coefficient information to a code table in the information source coding. It is preferable to have a feature.
- the plurality of means used for the information source decoding are each configured to convert the orthogonal transform coefficient information into a code table in the information source decoding. It is preferable that the assignment order is different.
- the plurality of means used for the information source coding are different from each other in the method of configuring the code in the information source coding of the orthogonal transform coefficient information. It is preferable that
- the plurality of means have different code construction methods in the information source decoding of the orthogonal transform coefficient information.
- the information source coding for the orthogonal transform coefficient information may be performed on a combination of the zero run number and the coefficient value in the orthogonal transform coefficient sequence. , May be performed individually for each of the zero-run number and the coefficient value in the orthogonal transform coefficient sequence.
- the information source decoding of the orthogonal transform coefficient information may be performed on a combination of the zero-run number and the coefficient value in the orthogonal transform coefficient sequence, and the orthogonal transform may be performed. It may be performed individually for each of the zero run number and the coefficient value in the coefficient sequence.
- a number of consecutive level values of the same magnitude is assigned to a code table as the orthogonal transformation coefficient information. It is.
- a number of consecutive level values of the same magnitude is assigned to a code table as the orthogonal transform coefficient information.
- the orthogonal transform coefficient information is encoded in order from the low-frequency component and the high-frequency component in accordance with the encoding information in the encoding target block, starting from the low-frequency component and the shift. It is preferable to determine whether or not to convert. With such a configuration, more efficient encoding can be performed.
- the ii image decoding method and the image decoding device of the present invention it is determined which of the low frequency component and the high frequency component is to be decoded in order from the low frequency component or the high frequency component according to the decoded information in the current block. It is preferable to be characterized. With such a configuration, it is possible to correctly decode the encoded data encoded by the image encoding method or the image encoding device described above.
- the selection of the means used for the information source coding is based on a motion vector difference value in a coding target block transmitted in advance. It is preferred to do so.
- the selection of the means used for the information source decoding is based on a motion vector difference value of a decoding target block transmitted in advance. It is suitable.
- the orthogonal transform coefficient information to be encoded is a total value of a zero run length in a block.
- the orthogonal transform coefficient information to be decoded is a total value of a zero run length in a block.
- an image transmission system comprising: an image encoding unit that encodes an image; and a bit stream transmission unit that transmits a bit stream encoded by the image encoding unit.
- an image transmission system comprises an image encoding unit that encodes an image, and a bit stream transmission that transmits a bit stream encoded by the image encoding unit.
- a bit stream receiving unit that receives the transmitted bit stream, and an image decoding unit that decodes the received bit stream, wherein the image decoding unit includes: The decoding is performed by any one of the image decoding methods.
- an image storage system comprising: an image encoding unit that encodes an image; and a bitstream accumulation unit that accumulates a bitstream encoded by the image encoding unit.
- An image storage system comprising: (a) and (b), wherein the image encoding unit performs encoding by any one of the image encoding methods.
- an image reproduction system comprising: a bit stream storage unit that stores a stored bit stream; and an image decoding unit that decodes a bit stream read from the bit stream storage unit. And an image decoding system, wherein the image decoding unit performs decoding by any one of the image decoding methods described above.
- the image encoding method and the image encoding device of the present invention provide a plurality of means for performing information source encoding for one piece of encoding-related information, and perform information source encoding of the encoding-related information in a block.
- the means to be used is selected from these plural means. Therefore, the means used for information source coding suitable for the characteristics of the coding symbol that changes as described above can be selected from a plurality of means. As a result, it becomes possible to efficiently perform information source coding of the coded symbols according to the coding conditions and the properties of the image.
- the image decoding method and the image decoding apparatus of the present invention prepare a plurality of means for performing information source decoding on one piece of encoding related information, and use the means for decoding the encoding related information in a block in the information source.
- the means is selected from the plurality of means. Therefore, encoded data encoded by the above-described image encoding method or image encoding device can be correctly decoded.
- An image encoding method and an image encoding device provide information on orthogonal transform coefficient information.
- a plurality of means for performing source coding are prepared, and a means used for information source coding of the orthogonal transform coefficient information is selected from the plurality of means. Therefore, the means used for information source coding suitable for the property of the orthogonal transformation coefficient information that changes in various ways can be selected from the above-described plurality of means. As a result, it becomes possible to perform information source coding suitable for the property of the orthogonal transform coefficient information, which changes according to the frequency domain of the orthogonal transform coefficients and the tendency of other orthogonal transform coefficients. Encoding can be performed.
- the image decoding method and the image decoding device of the present invention prepare a plurality of means for performing information source decoding, and select a means used for decoding the orthogonal transform coefficient information from the plurality of means. Therefore, the encoded data encoded by the above-described image encoding method or image encoding device can be correctly decoded.
- FIG. 1 is a flowchart schematically showing an example of a moving picture coding method according to a conventional technique.
- FIG. 2 is a block diagram schematically illustrating an example of a moving image encoding device according to a conventional technique.
- FIGS. 3A to 3C are diagrams showing examples of macroblock coding mode types according to the related art.
- 4A and 4B are diagrams showing an example of an orthogonal transform according to a conventional technique.
- FIG. 5 is a flowchart schematically showing an example of a moving image decoding method according to a conventional technique. '
- FIG. 6 is a block diagram schematically showing an example of a moving image decoding device according to a conventional technique.
- FIGS. 7A and 7B are diagrams showing an example of the distribution of non-zero quantized orthogonal transform coefficients.
- FIG. 8 is a diagram showing the relationship between blocks in a macroblock and adjacent blocks.
- FIG. 6 is a diagram showing an example of a map table showing an index value and an example of a variable length coding table showing a relationship between an index value and a variable length code.
- FIGS. 10A and 10B are diagrams illustrating an example in which the switching of the map table according to the present invention is applied to the encoded block pattern information of the luminance signal.
- FIGS. 11A and 11B are diagrams showing an example of a map table showing a relationship between coded block pattern information of a chrominance signal and an index value, and a diagram showing an example of a variable length coding table showing a relationship between an index value and a variable length code. It is.
- FIGS. 12A and 12B are diagrams showing an example in which the switching of the map table according to the present invention is applied to the coded block pattern information of the color difference signal.
- FIG. 13 is a block diagram schematically showing an example of the variable length coding unit according to the present invention.
- FIG. 14 is a block diagram schematically showing an example of the variable length decoding unit according to the present invention.
- 15A and 15B are diagrams showing an example of the position of a block used for generating the context of the coded block pattern information according to the present invention.
- FIGS. 16A and 16B are diagrams schematically showing configurations of macroblocks and encoded block pattern information in the H.26L encoding scheme.
- FIGS. 17A and 17B are diagrams showing the relationship between a macroblock and adjacent blocks when the present invention is applied in the H.26L encoding scheme.
- FIGS. 18A to 18D are diagrams illustrating an example in which the switching of the map table according to the present invention is applied to the encoded block pattern information in the H.26L encoding method.
- 'FIG. 19 is a diagram showing an example in which the switching of the map table according to the present invention is applied to the encoded block pattern information of the color difference signal in the H.26L encoding method.
- FIGS. 2A and 2B are diagrams illustrating an example of the distribution of the appearance probabilities of the respective symbols in the coded block pattern information.
- FIGS. 21A to 21C are diagrams illustrating an example of a variable-length encoding table having a plurality of different characteristics.
- FIGS. 22A to 22D are diagrams schematically showing a coding method of a quantized orthogonal transform coefficient.
- FIG. 23 is a diagram illustrating a positional relationship between a coding-target macroblock and an adjacent macroblock.
- 24A to 24J are diagrams schematically showing another example of the macroblock coding mode type.
- FIG. 25 is a diagram showing an example of the definition of points for the macroblock coding mode. .
- FIGS. 26A and 26B are diagrams showing an example of a map table showing the relationship between macroblock coding modes and index values, and two examples of a variable length coding table showing the relationship between index values and variable length codes.
- FIG. 27 is a diagram showing another example of the definition of points for the macroblock coding mode.
- FIGS. 28A and B show another example of a map table showing the relationship between macroblock coding modes and index values, and another example of a variable length coding table showing the relationship between index values and variable length codes.
- FIG. 28A shows another example of a map table showing the relationship between macroblock coding modes and index values, and another example of a variable length coding table showing the relationship between index values and variable length codes.
- FIG. 29A is a diagram schematically showing the configuration of the image transmission system.
- FIG. 29B is a diagram schematically showing the configuration of the image storage system.
- FIG. 29C is a diagram schematically showing the configuration of the image reproduction system.
- FIG. 30 is a block diagram schematically showing an example of the variable length coding unit according to the present invention.
- FIG. 31 is a diagram showing a map table M T (C X) when C X takes a value from 0 to 7.
- FIG. 3 is a block diagram schematically showing an example of the variable length decoding unit according to the present invention.
- FIG. 33 is a diagram illustrating a positional relationship between a coding-target macroblock and an adjacent macroblock.
- FIG. 3 is a diagram illustrating an example of a top-up table and an example of a variable-length encoding table indicating a relationship between an index value and a variable length.
- FIGS. 35A and 35B are diagrams showing an example of changing the map table according to the present invention, and an example of a code string using the changed map table.
- FIG. 36 is a diagram illustrating an example of a map table in which the number of consecutive Lev e1 values having an absolute value of 1 is assigned to a code table.
- FIGS. 37A to 37C are diagrams showing another example of the variable length coding table having a plurality of different characteristics.
- FIGS. 38A to 38C are diagrams showing probability tables.
- CBP is a flag indicating whether or not there is a non-zero AC component of an orthogonal transform coefficient in each block in a macroblock in which the intra coding mode is selected. Also, in a macroblock in which the inter-coding mode is selected, this flag indicates whether or not each block has a non-zero DC component or a non-zero AC component of the orthogonal transform coefficient.
- FIGs. 7A and 7B are conceptual diagrams showing the relationship between the spatial features of the image and the nonzero orthogonal transform coefficients.
- the non-zero orthogonal transform coefficients are hard to appear because the background in the screen has little motion and is relatively motion compensated. Conversely, the part of the person moving on the screen moves rapidly and the texture changes rapidly, so that many residuals due to motion compensation prediction appear. Therefore, non-orthogonal transform coefficients tend to appear in such a region.
- non-zero orthogonal transform coefficients are less likely to appear in areas with little change in texture and motion, and conversely, non-zero orthogonal transform coefficients are more likely to appear in areas with many changes in texture and motion.
- the tendency of a change in shape or motion is often similar in a nearby region.
- each block of the encoding target macroblock in the luminance component image is referred to as block A, block B, block C, and block D in the raster scan order, and the lower side of the adjacent macroblock These blocks are called block E and block F, respectively.
- the blocks on the right side of the macroblock adjacent to the left are called block G and block H, respectively.
- the blocks of C b and Cr in the macro block to be coded are referred to as blocks I and L, respectively, and the blocks adjacent thereto are referred to as blocks J and M, and the blocks adjacent to the left are referred to as blocks K and N ′, respectively.
- non-zero orthogonal transform coefficients may exist in block A if spatial continuity of the image is considered. It can be inferred that the nature is high. Conversely, for example, blocks E, F, and G are all non-zero If there is no cross transformation coefficient, it can be inferred that there is a high possibility that block A does not have any non-zero orthogonal transformation coefficients. Thus, for each block of the macroblock to be encoded, the probability of the existence of the nonzero orthogonal transform coefficient in the macroblock to be encoded changes depending on the presence or absence of the nonzero orthogonal transform coefficient of the neighboring block.
- the image coding method generates a spatial context based on the presence or absence of a non-zero orthogonal transform coefficient of a block in the vicinity of an encoding target macroblock,
- the feature is that coding can be performed efficiently by switching the map table used for variable-length coding of the CBP of the macroblock to be coded based on this.
- CB PY which is a CPP for the luminance component
- CBPC a CBP for the color difference component
- FIG. 9A shows a map table that associates CB PYs with index values corresponding to each CB PY.
- FIG. 9B shows an example of a variable-length coding table in which an index value and a variable-length code corresponding to each index are associated with each other.
- CBPY is represented by 4 bits and corresponds to blocks A, B, C, and D in order from the most significant bit (MSB) side. 1 when non-zero orthogonal transform coefficients exist, and 0 when non-zero orthogonal transform coefficients do not exist.
- Equation (1) CB P (G)
- the points P (A), P (B) and P (C) are defined by the following equations (2), (3) and (4).
- the correlations of blocks A, B, and C with respect to CBP with neighboring blocks can be represented by points P (A), P (B), and P (C).
- P (A), P (B), and P (C) are calculated for all the patterns in the map tables shown in FIGS. 9A and B, and the total value is defined as P (CBPY). That is, P (CBP
- the P (CB PY) thus obtained provides a larger value as the CB PY having a higher spatial correlation with the CB PY around the macroblock to be coded.
- P (CBPY) becomes larger as CBP Y is estimated to have a higher probability of appearing based on spatial context. Therefore, P (CB Create a map table that is rearranged so that the index value of CB PY in Fig. 9A becomes smaller in the order of larger values of (PY).
- P (CBPY) is equal, the map table in Fig. 9 (1) with a small index value should have a smaller index value in the new map table.
- Figures 10A and 10B show the case where the CBP of blocks E, F, G and H is 1, 1, 0 and 0, respectively.
- Fig. 11A shows an example of a CBPC map table
- Fig. 11B shows an example of a CBPC variable-length coding table.
- CBPC is represented by 2 bits, and corresponds to Cb and Cr in order from the MSB side, and is set to 1 when a non-zero orthogonal transform coefficient exists and 0 when it does not exist.
- P (I), P (L), and P (CB PC) are defined by the following equations (6), (7), and (8) as in the case of CBPY.
- the P (CB PC) thus obtained provides a larger ⁇ for a CBPC having a higher spatial correlation with the CBPC around the macroblock to be coded.
- the CB PC estimated to have a higher probability of appearing based on the spatial context has a larger value of P (CB PC). Therefore, P (CBP Create a map table that is rearranged so that the index value of CB PC in Fig. 11A becomes smaller in the descending order of the value of C).
- P (CBPC) is equal, the one with the smaller index value in the map table of Fig. 11A will have the smaller index value in the new map table.
- FIGS. 12A and B show the cases where the CBPs of J, K, M, and N in FIG. 8 are (0, 1, 0, 0), respectively (FIG. 12A), and (0, 0, 1,
- the case of (1) (Fig. 12B) is an example of the map tape of the CB PC.
- the map tables of CB PY and CB PC are configured to be switched in consideration of the continuity of images, so that a short code is hardly generated for a symbol that is likely to appear.
- a long codeword can be assigned to a symbol, and CBP can be suitably encoded.
- FIG. 13 is a block diagram of the variable length coding unit 16 according to the first embodiment of the present invention. That is, in the variable length coding unit 16 in FIG. 13, the CBP is first input to the variable length code output unit 30 as the input symbol H1. Then, from the encoding symbol memory 31, the CBP in the surrounding block is input to the encoding map table providing unit 32 as the encoding map table reference information H 2. Then, the coding map table providing unit 32 determines a coding map table to be used for CBP coding based on the above-described method, and the coding map table H4 is used as a variable length code output unit. Offered to 30.
- variable length coding table H5 is input from the variable length coding table providing unit 33 to the variable length code output unit 30.
- the variable-length coding table providing unit 33 can input the variable-length coding table reference information H3. In the present embodiment, this input need not be provided. Then, the encoding target CBP is subjected to variable-length encoding and output as encoded data D9.
- the present invention when generating the spatial context of the CBP, only the blocks adjacent to the encoding target macroblock are referred to. However, the present invention is not limited to the blocks adjacent to the macroblock. 5
- the spatial context may be generated by additionally using the information of the CBP of a block that is not adjacent to the block but exists in the vicinity.
- a similar effect can be obtained by generating a spatial context using information of a block in a macroblock not used in the first embodiment.
- CB PY and CBPC have been described as being individually subjected to variable-length encoding using different variable-length encoding tables.
- the CBPY and the CB PC are switched by using the variable length coding table and the map table for the CB P where the 4 bits on the MS B side are CBPY and the 2 bits on the LSB side are CB PC.
- the same effect can be obtained by encoding without dividing.
- using P (CB PY) and P (CB PC) calculated by equations (5) and (8) for example, use the value of P (CBP) obtained by equation (9) below.
- the configuration may be such that the variable length coding table is switched.
- Equation (9) P (CBP) + P (CB PC)
- variable length decoding table can be switched in the same way as the encoding side.
- the coded data D 9 coded by the coding method according to the first embodiment of the present invention is the decoded symbol of the variable length decoding unit 21.
- the CBP of the peripheral block of the already decoded symbol is input from the decoded symbol memory 41 to the decoding map table providing unit 42 as decoding map table reference information H 7.
- the decoding map table H 9 is selected from the decoding map table providing unit 42 in the same procedure as the encoding, and is input to the decoding symbol output unit 40.
- variable length decoding table The variable length decoding table H 10 is input from the providing unit 43 to the decoded symbol output unit 40.
- variable-length decoding table providing unit 43 does not have to be able to input the variable-length decoding table reference information H8 in the present embodiment. Then, variable-length decoding is performed in the decoded symbol output unit 40, and the CBP is decoded and output as the decoded symbol H6, and is stored in the decoded symbol memory 41 at the same time. Therefore, the CBP encoded by the encoding method according to the first embodiment of the present invention can be suitably decoded by the decoding method according to the first embodiment of the present invention.
- the MPEG-4 encoding method has been described as an example of the encoding method according to the first embodiment of the present invention.
- the spatial context is also used for encoding the CBP.
- the same effect can be obtained by switching the variable length coding table based on the spatial context.
- a method of encoding a CBP in the H.26L encoding method is described below. An example in which the first embodiment of the present invention is applied is shown below.
- Figures 16A and 16B show the macroblock configuration and the H.26L coding scheme.
- a macroblock has a luminance component image having a size of 16 pixels ⁇ 16 lines, and two types of color difference component images having a size of 8 pixels ⁇ 8 lines.
- Each of the orthogonal transforms is performed in units of 4 pixels ⁇ 4 lines.
- the DC component of the color difference component image is further subjected to orthogonal transform of 2 pixels ⁇ 2 lines.
- an intra-coded macroblock there are two types of coding modes, an intra 4 ⁇ 4 coding mode and an intra 16 ⁇ 16 coding mode, each having a different CPP configuration.
- the macroblock is divided into four 8-pixel x 8-line blocks in the same way as MPEG-4 for CBPY, and non-zero orthogonal transform is performed in each block. Indicates whether a coefficient exists.
- CBPC there are three types of CBPC: "0J,””1" and "2.”"0" is non-zero for the color difference component as CB PC Indicates that there are no orthogonal transform coefficients. “1” indicates that only the DC component of the color difference component has a non-zero orthogonal transform coefficient, and the AC component has no non-zero orthogonal transform coefficient.
- CBP in the intra 16 X 16 encoding mode CBPY is composed of only one bit indicating whether or not the AC component in the macroblock has a non-zero orthogonal transform coefficient.
- the CB PC in the intra 16 ⁇ 16 coding mode is the same as the intra 4 ⁇ 4 coding mode.
- the configuration of CBPY is the same as that of MPEG-4 except for the case of the Intra 16 X 16 encoding mode, so exception processing is only performed in the Intra 16 X 16 encoding mode.
- the same method as applied to MPEG-4 can be used.
- P (CB PY) is calculated using the following equation (10), and P The one with the larger value of (CB PY) is made the CB PY with the higher priority. As shown in FIG.
- FIGS. 18A and 18B show a map table and a variable-length encoding table in C.B PY encoding when applied to H.26L as in FIGS. 9A and 9B.
- the macro block adjacent to the encoding target macro block is coded in the intra 16 ⁇ 16 coding mode
- the macro block coded in the intra 16 ⁇ 16 coding mode is used.
- the CBP for the luminance component is the same as the CBPY of the macroblock coded in the Intra 16 x 16 coding mode.
- encoding is performed by the same method as that applied to MPEG-4.
- the spatial context is generated by assuming that the values of CBP (G) and CBP (H), which are the CBP values of block G and block H in FIG. 8, are both “1”.
- FIG. 17B the block of the chrominance component image of the encoding target macroblock is referred to as block I, the block adjacent to the top is designated as J, and the block adjacent to the left is designated as K.
- Figures 18C and 18D show the map table and variable-length coding table in CBPC coding when applied to H.26L.
- CBPC when applied to H.26L can take any of the values "0", "1", and "2".
- the spatial context is generated so that the value of CBPC in block I is inferred from the CBPC in block J and block K. . That is, if the value of CB PC in block J is CB PC (J) and the value of CB PC in block K is CBP C (K), then P (CB PC) calculated by the following equation (1 1) , And switch the map table so that the index value becomes smaller in the order in which the value of CB PC is closer to P (CB PC).
- the map table can be switched based on the spatial context using information in the neighboring block of the encoding target macroblock, and a short codeword can be assigned to the symbol with a high occurrence probability. Can be realized.
- a spatial context is generated by using information of a CBP in a neighboring block, and a map table is switched based on the spatial context.
- Encoding and decoding according to the second embodiment of the present invention will be described based on the MPEG-4 encoding method as described in the first embodiment of the present invention.
- a spatial context is generated using a CBP value of a neighboring block, and a CBP map is generated according to the spatial context.
- the encoding mode information in the neighboring macroblock is further used for generating the spatial context.
- the coding mode of the macroblock in M PEG-4 is
- mapping tables can be set to reflect that non-zero orthogonal transform coefficients are likely to appear because the motion in the surrounding area of the inter coding mode 1 is also complicated. Thus, the coding efficiency of CBP can be improved.
- the spatial context is generated according to the encoding mode in the macroblock in the vicinity of the macroblock to be encoded.
- the spatial context may be generated with reference to the encoding mode of the encoding target macroblock.
- variable length coding table is switched according to the distribution of the probability of occurrence of each pattern of P. That is, as shown in FIGS. 2OA and B, for example, the occurrence rate of symbols in the CBPY index order may differ depending on the image.
- Fig. 2 OA is a table showing a case where the occurrence probabilities for some of the higher index values are high and other occurrence probabilities are low.
- FIG. 20B is a table showing a case where the occurrence probabilities for the direct index are not biased.
- variable length coding tables are prepared, and control is performed so that these are adaptively switched.
- variable-length coding tables having different code length distribution bias characteristics are prepared in this way, and these are adaptively switched.
- a method of switching between these variable-length coding tables for example, when the quantization parameter is large, non-zero orthogonal transform coefficients are hardly generated, so that each bit power S of CBPY becomes “0”. The more they appear, the easier they are to predict using spatial context. Conversely, it is difficult for the CB PY bits whose bits are set to “1” to appear, so predictions based on spatial context are likely to be lost. Non-zero orthogonal transform coefficients are likely to be generated in an instruction with a small quantization parameter.
- variable-length coding table is used, and if the quantization parameter is smaller than the threshold Th2, the table shown in FIG. A suitable variable-length coding table can be provided, and variable-length coding with good coding efficiency can be realized.
- variable length coding table can be switched by storing a plurality of variable length coding tables in the memory.
- 1 such as eXp-G0101113 code shown as an example; It is also possible to switch the variable length coding table by switching the parameters using 11 i Versa 1 codes.
- variable length coding section 16 in FIG. 13 first, CBP is input to variable length code output section 30 as input symbol H1. Then, from the encoding symbol memory 31, the CBP in the surrounding block is input to the encoding map table providing unit 32 as the variable length encoding table reference information H 2. Then, the encoding map table providing unit 32 determines an encoding map table to be used for encoding the CBP based on, for example, the method according to the first embodiment of the present invention, and the encoding table H 4 is The variable length code output unit 30 is provided. Further, the quantization parameter of the macroblock to be coded is input from the coding symbol memory 31 to the variable-length coding table providing unit 33 as variable-length coding table reference information H3.
- the variable-length coding table providing unit 33 determines a variable-length coding table to be used for coding CBP based on the method according to the third embodiment of the present invention.
- the table H5 is input to the variable length code output unit 30.
- the CBP to be coded is W Variable-length coding is performed and output as coded data D 9.
- the encoded data D 9 encoded by the encoding method according to the third embodiment of the present invention is the variable length decoding unit 2.
- the quantization parameter of the macroblock to be decoded is obtained from the decoded symbol table from the decoded symbol memory 41 as decoding map table reference information H7. 4 Entered in 2.
- the decoding map table H9 is selected from the decoding map table providing unit 42 by the same procedure as in the -encoding, and is input to the decoding symbol output unit 40.
- variable-length decoding table providing unit 43 selects a variable-length decoding table in the same procedure as the encoding, and inputs it to the decoded symbol output unit 40 as a variable-length decoding table H10. Then, variable-length decoding is performed in the decoded symbol output unit 40, and CBP is decoded and output as the decoded symbol H6, and is stored in the decoded symbol memory 41 at the same time.
- variable length encoding table is switched based on the quantization parameter in the encoding target macroblock, but, of course, the encoding target macro is switched.
- the present invention can be applied to any type of encoded information that affects the complexity of an image to be encoded by a similar means. For example, in the macroblock coding mode, the mode in which the macroblock is divided into smaller blocks is considered to have a higher degree of image complexity. Conversely, the smaller the number of divided blocks, the lower the complexity of the image.
- variable length encoding table for CBP encoding The encoding is controlled using the variable-length encoding table. Conversely, if the degree of complexity of the image is considered to be low, the coding should be performed using a variable length coding table with a larger code length bias as the variable length coding table for CBP coding. Control. Also, for example, as for the motion vector, the longer the motion vector, the higher the possibility that the image to be coded is likely to be complicated.
- control may be made such that as the length of the motion vector in the macroblock is longer, a variable length coded tape with a smaller code length deviation is used.
- the variable length coding table may be switched based on a motion vector difference value in a macroblock to be converted. In other words, it can be inferred that the larger the motion vector difference value, the more complicated the motion near the macroblock to be coded, and as a result, the more likely it is to generate non-zero quantized orthogonal transform coefficients.
- the control may be performed such that the larger the absolute value of the differential motion vector in the encoding target macroblock is, the smaller the code length bias is in the variable length coding table.
- variable length coding table is switched according to the distribution of the probability of occurrence of each CBP, coding can be performed efficiently.
- the quantized orthogonal transform coefficients 88 which are two-dimensional data, are converted into, for example, J-Zag scans shown in FIG. Converted to data.
- the quantized orthogonal transform coefficients are scanned so that the one-dimensional data after scanning becomes a data sequence that shifts from a low frequency band to a high frequency band.
- FIG. 22C one-dimensional data shown in which quantum / (h orthogonal transform coefficients are arranged) from the low frequency band to the high frequency band can be obtained.
- the one-dimensional data of the quantized orthogonal transform coefficients is further converted into data comprising L evel (level) and R u ⁇ (run) shown in Fig. 22D in order to reduce the amount of data.
- L e V e 1 indicates a coefficient level of a quantized orthogonal transform coefficient having a non-zero coefficient value among a plurality of quantized orthogonal transform coefficients.
- Run indicates a zero-run length that is not 0 and is the number of data having a coefficient value of 0 immediately before the quantized orthogonal transform coefficient.
- the Leve 1 value and the Run value Ri are obtained, respectively.
- the non-zero coefficient number CC and Run total value RT in the encoding target block are calculated.
- variable length coding table used when coding these coefficient groups and the number of non-zero coefficients CC and the total Run value RT.
- the left-hand term of this variable-length coding table represents an index value
- the right-hand side represents a variable-length code corresponding to an index value.
- FIG. 13 is a diagram showing a block diagram of the variable length coding unit 16 according to the fourth embodiment of the present invention.
- a non-zero coefficient number CC and a total value R un RT as an input symbol H 1 are input to the variable-length code output section 30 and the variable-length coding table providing section 33.
- the variable length coding table providing unit 33 provides the variable length coding table H5 as shown in FIG. 9B as a variable length coding table corresponding to the input symbol H1 to the variable length code output unit 3.
- the input symbol H1 is encoded using the variable length encoding table H5.
- variable length code corresponding to a value obtained by subtracting 1 from the value of the non-zero coefficient number CC is output as coded data D9 as an index value.
- the value of the R un total value RT is output as an index value as the corresponding variable-length coded data D9.
- encoding is performed in order from the coefficient group on the high frequency side. However, encoding is not performed for coefficient groups in which all coefficient values are 0.
- a variable-length coding table is similarly used using R un ' ⁇ R i as an index. It is encoded and output as encoded data D9.
- the encoding of the L evel value is performed on all the non-zero L evel 1 values in order from the coefficient group on the high frequency side.
- a variable-length encoding table used when encoding the LeVe1 value of a target encoding target is encoded. Switching is performed according to the Level 1 value of the encoded block around the block.
- the block to be encoded is block A
- the block adjacent above is block B
- the block adjacent to the left is block C.
- a non-zero orthogonal transform coefficient is less likely to appear in an area of an image signal where there is little change in texture or motion
- a non-zero orthogonal transform coefficient is more likely to appear in an area where the texture or movement is large.
- the tendency of a change in texture or motion is often similar in a nearby region. Therefore, the tendency of the appearance of the coding coefficient in the block to be coded can be inferred from the tendency of the appearance of the coding coefficient in the block around the block to be coded.
- variable length coding tables having different bias characteristics of the code length distribution are prepared, and the encoding target L eve is determined according to the value of Le V e 1 in the surrounding macro block. Switches the variable length coding table for one value.
- Le V e 1 value in the encoding target macro block is likely to appear smaller than the Le V e I value in the surrounding macro block, as shown in Fig.
- control is performed to use a table with a large code length bias, and if it is presumed that values with large L evel values are likely to appear, control is performed to use a table with a small code length bias as shown in Figure 21C. I do.
- the maximum value Ma XL of the absolute value of Le V e 1 in block B and block C in FIG. 23 is obtained.
- Th 7 and Th 8 if Max L is smaller than Th 7, the variable-length coding table in FIG. Yes If smaller than Th8, switch the variable length coding table in Fig. 21B to use the variable length coding table in Fig. 21C if Ma XL is Th8 or more. .
- variable length coding unit 16 in FIG.
- Level 1 value is input as the symbol H1
- Ma XL is input as the variable-length coding table reference information H3 from the coding symbol memory 31 and the variable-length coding table providing unit 33
- the variable length coding table H5 selected by the above control method based on the variable length coding table reference information H3 is provided to the variable length code output unit 30.
- Other operations are the same as those of the first to third embodiments of the present invention.
- the absolute value ⁇ ax of the L e V e 1 values of the blocks B and C near the block to be encoded as the variable-length encoding table reference information H3
- L the absolute value of the LeVe1 value
- the absolute value of the LeVe1 value may be obtained after other encoded neighboring blocks are included in the range of reference. May be used, and instead of the maximum value, the characteristics of the Le V e 1 values in the neighboring blocks, such as the median value, the sum of absolute values, the variance, and the average of the absolute values, may be used.
- Various information can be used as long as the information is indicated.
- FIG. 14 is a diagram showing a block diagram of the variable length decoding unit 21 according to the fourth embodiment of the present invention.
- M a XL is input to the variable-length decoding table providing unit 43.
- variable-length decoding table providing unit 4 3 Determines the variable length decoding table to be used, and the variable length decoding table H9 is input to the decoding symbol output unit 40. Then, variable length decoding is performed in the decoded symbol output unit 40, and the Lev e1 value is decoded and output as the decoded symbol H6, and at the same time, is stored in the decoded symbol memory 41.
- variable length decoding unit Since the variable length decoding unit is configured as described above, it is possible to preferably decode the encoded data encoded by the encoding method according to the fourth embodiment of the present invention.
- the encoding method and the decoding method according to the fourth embodiment of the present invention have been described using specific table values, the present invention is of course not limited to these values. Further, in the embodiment of the present invention, the description has been made using the DCT coefficients of 8 pixels ⁇ 8 lines as an example, but the type of orthogonal transform and the size of the block are not limited thereto.
- the motion vector information D 2 is obtained by calculating the median value of the motion vector of the surrounding macroblock with respect to the motion vector of the coding target macroblock. And a difference value MVD between the predicted value and the actual motion vector is encoded.
- a macroblock to be encoded is defined as macroblock A
- an upper adjacent block is defined as macroblock B
- a left adjacent block is defined as macroblock C.
- the change in the motion of the macroblock surrounding the macroblock to be encoded is drastic
- the change in the motion of the macroblock to be encoded is also drastic
- the absolute value of the motion vector difference value is It is difficult to guess at what value to take.
- the absolute value of the motion vector difference value takes a small value even in the macroblock to be encoded.
- variable-length coding tables having different code length distribution bias characteristics are prepared.
- the variable length coding table for the motion vector difference value in the macroblock to be coded is switched according to the absolute value of the motion vector difference value in the macroblock around the macroblock to be coded.
- macro block B or macro block C exists outside the screen or slice.
- processing is performed assuming that the absolute value of the motion vector difference value of the macroblock is a preset value Z (Z ⁇ Th0). This is because if the neighboring macroblock is outside the screen or outside the slice, the predicted value of the motion vector is hard to hit, and if the value of the motion vector difference value to be coded is concentrated near 0 This is not always the case.
- the processing is performed assuming that the absolute value of the motion vector difference value of the macroblock is Z. This is also because the predicted value of the motion vector to be coded is hard to hit, and the possible values of the motion vector difference value to be coded are not always concentrated near 0, as described above. .
- variable length coding unit 16 of FIG. 1 ′ 3 first, the motion vector difference value MVD is input to the variable length code output unit 30 as an input symbol H 1. Then, MV D (B) and MV D (C) are input from the encoding symbol memory 31 to the variable length encoding table providing unit 33 as variable length encoding table reference information H 3.
- trowel ⁇ comparison with MV D ( ⁇ ) and ⁇ ⁇ ⁇ viV D (C)
- the variable length coding table to be used for the encoding target motion vector is determined based on the result, and the variable length coding table I- 15 is provided to the variable length code output unit 30.
- the motion vector to be encoded is subjected to variable-length encoding and output as encoded data D9.
- the MVD value when the MVD value tends to concentrate near 0 as described above, the MVD value is switched to a variable-length coding table in which the code length near 0 is short. If the MVD value is near 0, the code length is controlled to be short.If the MVD value is not always concentrated near 0, the MVD value is increased by switching to a table with smaller code length bias. Even so, the configuration is such that the code length does not become long. Thus, the MV D value can be efficiently encoded.
- FIGS. 21A to 21C have been described using three variable-length coding tables, the number and values of the variable-length coding tables are, of course, limited to those in FIGS. 21A to 21C.
- variable-length coding tables are held in the memory of the variable-length coding table providing unit 33 and the provision of the variable-length coding table H3 is switched, this is shown as an example.
- 111 yo les be realized by generating a variable-length coding table H 3 in the variable-length coding table provider 3 3 by switching the parameter using the 1 3 11 1 1 iversa 1 codes such as codes ,.
- FIG. 14 is a diagram showing a block diagram of the variable length decoding unit 21 according to the fifth embodiment of the present invention.
- the encoded data D9 encoded by the encoding method according to the fifth embodiment of the present invention is input to the decoded symbol output unit 40 of the variable length decoding unit 21, the already decoded synth MV D (B) and MV D (C) calculated from the table are input from the decoding symbol memory 41 to the variable length decoding table providing unit 43 as variable length decoding table reference information H 8.
- the variable-length decoding table H 10 is selected from the variable-length decoding table providing unit 43 by the same procedure as the encoding, and is input to the decoded symbol output unit 40.
- variable length decoding is performed in the decoded symbol output unit 40, and the MVD value is decoded and output as the decoded symbol H6, and at the same time, is stored in the decoded symbol memory 41.
- variable length decoding unit Since the variable length decoding unit is configured as described above, it is possible to suitably decode the encoded data encoded by the encoding method according to the fifth embodiment of the present invention. (Sixth embodiment)
- variable length encoding table is switched in accordance with the motion vector in a macroblock around the macroblock to be encoded.
- the encoding method according to the sixth embodiment of the present invention is characterized in that a variable-length encoding table is switched according to a macroblock encoding mode in a macroblock around a macroblock to be encoded.
- the macro block Coding modes are classified into three: inter coding mode 0, inter coding mode 1, and intra coding mode.
- the inter-coding mode 1 is a coding mode in which the motion is more effectively compensated using four motion vectors when the screen motion is more complicated than in the inter-coding mode 0. Therefore, it can be inferred that the screen motion is more complicated in a macroblock in which the inter-coding mode 1 is selected than in a macroblock in which the inter-coding mode 0 is selected. Therefore, in the encoding method according to the second embodiment of the present invention, as shown in FIG.
- a point P (MB) indicating complexity is defined for an arbitrary macroblock MB according to each encoding mode.
- Points calculated for the macroblocks B and C shown in FIG. 8 'adjacent to the macroblock to be encoded are defined as points P (B) and P (C). Then, the point for the macroblock A to be encoded is defined by the following equation (12).
- the point P (A) calculated as described above is based on the complexity of the screen motion in the macroblock adjacent to the macroblock to be coded and the motion vector of the macroblock to be coded from the adjacent macroblock. It shows the difficulty of predicting the torr. The larger the point, the more difficult it is to predict or the more complicated the motion.
- variable length coding tables having different code length distribution characteristics as shown in FIGS. 21A to 21C are prepared, and the points calculated from the macroblock coding mode in the surrounding macroblocks of the coding target macroblock are prepared.
- the variable length encoding table for the motion vector difference value in the encoding target macroblock is switched according to the size of P (A).
- the motion is not complicated and the motion vector predicted value is likely to hit
- the absolute value of the motion vector is close to 0 It is configured to perform variable-length coding using the table in FIG. 21A in which the code has a shorter code length.
- P (A) is greater than or equal to T hi and smaller than Th 2
- P (A) is greater than or equal to Th 2
- variable-length coding unit 16 in FIG. 13 first, the motion vector difference value M VD is input to the variable-length code output unit 30 as the input symbol H1. Then, the encoding mode information of the macroblocks B and C is input from the encoding symbol memory 31 to the variable length encoding table providing unit 33 as the variable length encoding table reference information H3. Then, the variable-length coding table providing unit 33 calculates the point P (A) as described above and compares it with the preset thresholds Th 1 and Th 2, and based on the calculated values, The variable length coding table used for the motion vector is determined, and the variable length coding table H5 is provided to the variable length code output unit 30. Then, the motion vector to be coded is subjected to variable-length coding and output as coded data D9.
- the MV D value is inferred from the macroblock coding mode in the macroblock around the macroblock to be coded.
- control is performed so that the code length when the MVD value is close to 0 is shortened by switching to a variable length coding table in which the code length near 0 is short, and the MVD value is 0. If it is not always possible to concentrate on the neighborhood, switch to a table with a small code length bias to obtain MV D Since the code length is configured not to increase even if the value is large, the MVD value can be efficiently encoded.
- FIGS. 21A to 21C have been described using three variable-length coding tables, the number and values of the variable-length coding tables are, of course, not limited to those in FIGS. 21A to 21C. Absent. Further, even if a plurality of variable-length coding tables are stored in a memory in the variable-length coding table providing unit 33 and the provision of the variable-length coding table H5 is switched, this is shown as an example.
- e Xp Realized by generating a variable-length coding table H 5 in the variable-length coding table providing unit 33 by switching its parameters using a U niversa 1 code such as a Go 1 omb code
- FIG. 14 is a diagram showing a block diagram of the variable length decoding unit 21 according to the sixth embodiment of the present invention.
- the coded data D 9 coded by the coding method according to the sixth embodiment of the present invention is input to the decoded symbol output unit 40 of the variable length decoding unit 21, the calculation is performed based on the already decoded symbols.
- the macroblock coding modes in the macroblocks B and C adjacent to the selected macroblock to be coded are decoded symbol memory 41.
- the variable length decoding table is provided as variable length decoding table reference information H 8 from the decoding symbol memory 41.
- variable-length decoding table providing unit 43 selects the variable-length decoding table HI0 in the same procedure as the encoding, and inputs it to the decoded symbol output unit 40. Then, variable length decoding is performed in the decoded symbol output unit 40, and the MVD value is decoded and output as a decoded symbol H6, and is stored in the decoded symbol memory 41 at the same time.
- variable length decoding unit Since the variable length decoding unit is configured as described above, it is possible to suitably decode the encoded data encoded by the encoding method according to the sixth embodiment of the present invention.
- the sixth embodiment of the present invention has been described using an example in which a suitable encoding method and decoding method of a motion vector difference value using a macroblock encoding mode are applied to MPEG-4.
- the encoding method is not limited to this.
- An example An encoding method applied to the H.26L encoding method is shown below.
- the macroblock coding mode includes one skip mode (S kip) mode 0 and seven inter mode 1 to 7 as shown in FIGS. There are provided 10 coding modes, ie, two intra modes 8 and 9.
- skip mode 0 is a mode in which no image motion is detected and an image at the same position as a reference frame used for motion compensation is copied.
- Inter modes 1 to 7 are modes for performing inter-frame coding (inter-frame coding) using different block divisions.
- mode 1 one block is used with a size of 16 pixels ⁇ 16 lines.
- mode 2 two blocks each having a size of 16 pixels ⁇ 8 lines are used.
- mode 3 two blocks with a size of 8 pixels ⁇ 16 lines are used.
- mode 4 4 blocks are used with a size of 8 pixels x 8 lines.
- mode 5 eight blocks with a size of .8 pixels by 4 lines are used.
- mode 6 8 blocks are used with a size of 4 pixels x 8 lines.
- mode 7 16 blocks with a size of 4 pixels ⁇ 4 lines are used.
- FIG. 28A shows a map table indicating the correspondence between these modes and index values
- FIG. 28B shows a variable-length encoding table showing the codes corresponding to each index value.
- Intra modes 8 and 9 are modes in which intra-frame coding (intra-frame coding) is performed using different block divisions. For each block, as shown in Figs. 24A to 24J, in mode 8, 16 blocks with a size of 4 pixels x 4 pixels are used. In mode 9, one block is used with a size of 16 ⁇ 16.
- point P as in the example applied to VI PEG-4.
- points are defined as shown in Figure 27.
- the motion is complicated as the number of block segments increases, so that the point is defined to take a larger value as the number of block segments increases.
- skip mode it is assumed that there is no motion, so it can be inferred that there is often no or little surrounding motion. Therefore, the point is defined to take a small value.
- the motion is complicated when the number of block segments is large, and it is difficult to predict the motion vector of the macroblock to be coded.When the number of block segments is small, the motion is complicated.
- the macroblock B and macroblock C adjacent to the macroblock to be encoded are used. Points P (B) and P (C) are obtained, and a point P (A) for the macroblock to be encoded is obtained from P (B) and P (C).
- the present invention can be applied to the H.26L coding method by comparing P (A) with the threshold value and switching the variable length coding table according to the result. .
- the macroblock coding mode is, for example, in MPEG-4, the coding modes of macroblocks are inter coding mode 0, inter coding mode 1, and intra coding mode. Are classified into three modes.
- the screen coding is more complicated in the inter coding mode 1 than in the inter coding mode 0.
- This is a coding mode that performs motion compensation using four motion vectors more effectively when the texture is complex or when the texture is complex. Therefore, it can be inferred that the motion and texture of the screen are more complicated in the macroblock where the inter-coding mode 1 is selected than in the macroblock where the inter-coding mode 0 is selected.
- the texture is considered to be complicated if the number of non-zero coefficients included in the macroblock is large, and conversely, the texture is considered to be monotonous if the number of non-zero coefficients is small.
- a macroblock to be encoded is a macroblock A
- an upper adjacent block is a macroblock B
- a left adjacent block is a macroblock C.
- the texture and movement of a certain area tend to be similar in the vicinity. Therefore, when the motion and the texture in the macroblock around the macroblock to be encoded are complicated, it can be estimated that the motion and the texture in the macroblock to be encoded are also complicated. Conversely, if the motion and texture in the surrounding macroblocks are monotonic, it can be inferred that the motion and texture in the macroblock to be encoded are also monotonic.
- MB a point indicating the complexity according to each encoding mode for an arbitrary macroblock MB.
- different points are defined depending on whether or not there is an AC component of the orthogonal transform coefficient of the brightness component.
- the point P (A) calculated above represents the motion and texture complexity of the macroblock adjacent to the macroblock to be encoded. The larger the point, the more complex the movement and the texture.
- a map table as shown in FIG. 26A and a variable-length coding table as shown in FIG. 26B are prepared, and the macroblock coding mode in the macroblock around the coding target macroblock is changed.
- the map table according to the size of the calculated point P (A) the allocation of codewords in the variable-length coding in the macroblock coding mode in the macroblock to be coded is switched.
- the smaller value is used.
- the difference DP between the calculated point P (A) and the point defined for each coding mode is determined, and the index value in the map table becomes smaller in the coding mode with a smaller DP.
- Switch between map tables. in the variable length coding unit 16 in FIG. 13, first, the macroblock coding mode is input to the variable length code output unit 30 as the input symbol H1. Then, the coding mode information and CBP of the macroblocks B and C are input from the coding symbol memory 31 to the coding map table providing unit 32 as the coding map table reference information H2. . Then, the point P (A) is calculated by the encoding map table providing unit 32 as described above, and the encoding map table is determined based on the point P (A).
- variable-length coding table providing unit 33 provides the variable-length coding table H5 to the variable-length code output unit 30.
- the macroblock coding mode is variable The data is long-coded and output as encoded data D9.
- the map table is switched so that the macroblock encoding mode, which is assumed to be likely to appear as described above, is encoded with a shorter code length.
- the macroblock coding mode can be efficiently coded.
- FIG. 14 is a diagram showing a block diagram of the variable-length decoding unit 21 according to the seventh embodiment of the present invention.
- the encoded data D 9 encoded by the encoding method according to the seventh embodiment of the present invention is input to the decoded symbol output unit 40 of the variable length decoding unit 21, it is a decoded symbolonole.
- the macroblock coding mode and CBP in macroblocks B and C are input from decoding symbol memory 41 as decoding map table reference information H7 to decoding map table providing section 42.
- the decoding map table H9 is selected from the decoding map table providing unit 42 by the same procedure as the encoding, and is input to the decoding symbol output unit 40.
- variable length decoding table H 10 is input to the decoded symbol output unit 40 from the variable length decoding table providing unit 43. Then, variable-length decoding is performed in the decoded symbol output unit 40, and the encoding mode is decoded and output as the decoding symbol H6, and at the same time, it is stored in the decoded symbol memory 41.
- variable length decoding unit Since the variable length decoding unit is configured as described above, it is possible to preferably decode the encoded data encoded by the encoding method according to the seventh embodiment of the present invention.
- a preferred coding method and decoding method of a macroblock coding mode using coding information of macroblocks around a macroblock to be coded are described in MPEG-4.
- an encoding method applied to the H.26L encoding method is shown below.
- the macroblock coding mode is
- one skip (S kip) mode 0 and seven inter modes There are provided 10 coding modes, 1 to 7 and two intra modes 8 and 9.
- skip mode 0 is a mode in which no image motion is detected and an image at the same position as a reference frame used for motion compensation is copied.
- Inter modes 1 to 7 are modes for performing inter-frame coding (inter-frame coding) using different block divisions.
- mode 1 one block with a size of 16 pixels x 16 lines is used.
- mode 2 two blocks each having a size of 16 pixels ⁇ 8 lines are used.
- mode 3 two blocks with a size of 8 pixels ⁇ 16 lines are used.
- mode 4 4 blocks are used with a size of 8 pixels x 8 lines.
- mode 5 eight blocks each having a size of 8 pixels ⁇ 4 lines are used.
- mode 6 eight blocks with a size of 4 pixels ⁇ 8 lines are used.
- mode 7 16 blocks with a size of 4 pixels ⁇ 4 lines are used.
- Intra modes 8 and 9 are modes in which intra-frame coding (intra-frame coding) is performed using different block divisions. For each: For locks, Mode 8 uses 16 blocks of size 4 pixels x 4 pixels, as shown in Figures 24A-J. In mode 9, one block is used with a size of 16 ⁇ 16.
- a point P is defined as in the example applied to MPEG-4.
- points are defined as shown in Figure 27. That is, in the inter-coding mode, it is presumed that the more the number of block sections, the more complicated the motion texture is. Therefore, it is defined that the larger the number of block sections, the larger the point. In the skip mode, it is considered that there is no motion, so it can be inferred that there is little or no surrounding motion in many cases. Therefore, the point is defined to have a small value.
- the map table is switched so that the index value becomes smaller as the point of each coding mode is closer to the value of point P (A), thereby obtaining H.26.
- the present invention can also be applied to the L encoding scheme. -(Eighth embodiment)
- the macro to be encoded is It is characterized by achieving more efficient encoding by switching the variable length encoding table according to the encoding mode of macroblocks around the block.
- variable length coding tables with different code length distribution bias characteristics are prepared, and points P (B) and P ( The variable length coding table in the macroblock to be coded is switched according to the magnitude of the difference in C).
- the map table is switched according to the seventh embodiment of the present invention, and the macroblocks B and C are compared with the table in FIG.
- the absolute value PD of the difference value between the points P (B) and P (C) obtained by the calculation is calculated.
- Th 1 and Th 2 T hl ⁇ Th 2
- the macroblock coding mode is input to the variable length code output unit 30 as the input symbol H1.
- the encoding symbol memory 31 then sends the encoding map table to the encoding map table providing unit 32.
- the encoding mode information of the macroblock B and the macroblock C is input as the pull reference information H2.
- the encoding mode information of the macroblock B and the macroblock C is input from the encoding symbol memory 31 to the variable length encoding table providing unit 33 as the variable length encoding table reference information H3.
- the point P (A) is calculated by the coding map table providing unit 32 as described above, and the coding map table is determined based on the calculated point P (A), and the coding map table H 4 is stored in the variable length code output unit 30.
- the variable-length coding table providing unit 33 calculates the absolute value PD of the difference value between the point P (B) and the point P (C) and the preset threshold values Th1 and Th2.
- the variable length coded template H5 selected by the comparison is provided to the variable code output unit 30.
- the macroblock coding mode is variable-length coded and output as coded data D9.
- the encoded data D 9 encoded by the encoding method according to the eighth embodiment of the present invention When input to the decoded symbol output unit 40 of the decoding unit 21, the macroblock coding mode information in the macroblocks B and C which are already decoded symbols is decoded from the decoding symbol memory 41 and the decoding map table reference information. It is input to the decoding map table providing unit 42 as H7. Similarly, the macroblock coding mode information in the macroblocks B and C, which are already decoded symbols, is input from the decoding symbol memory 41 to the variable-length decoding table providing unit 43 as variable-length decoding table reference information H8. You.
- the decoding map table H9 is selected from the decoding map table providing unit 42 by the same procedure as the encoding, and is input to the decoding symbol output unit 4.0. Further, the variable length decoding table H 10 is input from the variable length decoding table providing unit 43 to the decoded symbol output unit 40 selected in the same procedure as the encoding. Then, variable length decoding is performed in the decoded symbol output section 40, and the decoding mode is decoded and output as the decoded symbol H6.
- variable length decoding unit Since the variable length decoding unit is configured as described above, it is possible to preferably decode the encoded data encoded by the encoding method according to the eighth embodiment of the present invention.
- the encoding method according to the first to eighth embodiments of the present invention is characterized in that the encoding map table or the variable-length encoding table is adaptively switched according to the surrounding context.
- the encoding method according to the ninth embodiment is characterized in that encoding information corresponding to each index value in each encoding map table is learned from past encoding results.
- FIG. 30 is a block diagram # showing the configuration of the variable length coding unit 50 with a learning function according to the ninth embodiment of the present invention.
- the same elements as those of the variable length coding unit 16 in FIG. 13 are denoted by the same reference numerals, and redundant description will be omitted.
- the variable length code output unit 51 with the feedback function is the same as the variable length code output unit 30 in FIG. Further, it has a function of outputting an adopted index value HI1, which is an index value for an input symbol in the encoding map table.
- the encoding map table providing unit with learning function 52 inputs the adopted index value H 11 in addition to the function of the encoding map table providing unit 32 in FIG. 13 and provides a context for the input symbol H 1. It has a function to update the map table in.
- the encoding map table providing unit 52 with the learning function is referred to as the encoding map table reference information.
- the map table to be used is determined based on H2 and the past learning result, and the used map table H4 is provided to the variable-length code output unit 51 with a feedback function.
- the variable-length coding table providing unit 33 determines the variable-length coding table to be used based on the variable-length coding table reference information H3 if necessary, and feeds back the variable-length coding table H5 to be used.
- Variable length with function It is provided to the sign output unit 51.
- variable-length code output unit 51 with a feedback function performs variable-length coding of the input symbol H1 using the map table and the variable-length coding tape thus obtained, outputs coded data D9, and outputs the input symbol H1.
- Is provided to the coded map table providing unit 52 with the learning function which is an index value H 11 used as an index value in the map table corresponding to.
- the coded map table providing unit with learning function 52 updates the map table used based on the input adoption index value HI 1 and updates it the next time the same context is selected. Encoding is performed using the mapped map table. ⁇
- FIGS. 24A to 24J there are 10 types of macroblock coding modes in H.26L, and an example of the seventh embodiment of the present invention defines a point as shown in FIG. From the points P (B) and P (C) for the coding modes of the macroblocks B and C adjacent to the coding target macroblock A shown in Fig. 23, the point P (A) And switched the map table using point P (A) as the context.
- the possible values of P (A) are eight types of integers from 0 to 7. It is obvious that there are eight types of map tables MT (C X) generated according to the value CX of P (A).
- the map table MT (CX) when CX takes a value from 0 to 7 is shown in FIG.
- the index value corresponding to the encoding mode M in the map table MT (CX) is represented as MT (CX, M).
- Is configured to take index values of 7, 2, 0, 1, 3, 4, 5, 8, 9, 6. ing.
- P (A) 3 as the context and the encoding mode to be encoded is mode 8, it corresponds to MT (3, 8) using the map table MT (3).
- the code corresponding to the index value 9 is output by, for example, the variable length coding table shown in FIG. 9B.
- the number of times C (3, 8) in which mode 8 is selected in MT (3) is counted, and when the number becomes larger than a preset threshold Th9, the index corresponding to mode 8 is selected.
- the value MT (3, 8.) with MT (3, 7) with the next lowest index value after MT (3, 8).
- the number of selections C (3, 8) corresponding to mode 8 is reset to 0. In this way, in the mode with a large number of selections, the index value is controlled to be small, and the map table is updated independently for each map table, so that each map table is optimized according to each context. Can be
- map table updating method described here is only an example, by optimizing the map table for each context in this way, an efficient variable length method can be used in accordance with encoding conditions and image characteristics. Encoding can be performed.
- FIG. 32 is a block diagram showing a configuration of the variable length decoding unit with a learning function 60 according to the ninth embodiment of the present invention.
- the decoded symbol output unit with feedback function 61 has the function of the decoded symbol output unit 40 in FIG. It is characterized by having a function of outputting a use index value H 1 2 as a value.
- the decoding map table providing unit with learning function 62 receives the use index value HI 2 in addition to the function of the decoding map table providing unit 42 in FIG. It is characterized by having a function to update.
- variable length decoding unit with the learning function according to the ninth embodiment of the present invention configured as described above.
- the encoded data encoded by the encoding method according to the ninth embodiment of the present invention can be suitably used. Can be decrypted.
- the learning process has been described using the macroblock coding mode in the H.26L coding method as an example.
- the present invention is not limited to this.
- the present invention can be applied to any of them, and as a result, a suitable encoding method and decoding method can be provided.
- the ninth embodiment of the present invention has been described using the map table switching method according to the seventh embodiment of the present invention, it is needless to say that the present invention is not limited to this, and the symbols are assigned to the symbols based on the context.
- the present invention can be applied to any encoding method and decoding method having a means for selecting a codeword, and as a result, a suitable encoding method and decoding method can be provided.
- the encoding method according to the tenth embodiment of the present invention when encoding a motion vector difference value MV D of a macro block to be encoded as motion vector information D 2, a surrounding macro is used.
- the configuration is such that the variable length coded tape code is switched with reference to the motion vector difference value in the block
- the coding method according to the tenth embodiment of the present invention employs a motion vector in the peripheral macroblock.
- the variable length coding table is switched by referring to FIG.
- the motion vector information D2 is, for example, MPEG-4. 2003/005388
- the intermediate value of the motion vector in the peripheral macroblock is generated as a prediction straight line for the motion vector of the macroblock to be coded, and the predicted value and the actual motion vector are generated.
- MVD is encoded. If the motion vectors in neighboring macroblocks have similar values, the predicted value of the motion vector is considered to be a reliable value. However, the motion vector difference value MVD is likely to concentrate near zero. Therefore, in such a case, coding can be performed efficiently by using a variable length coding table in which the code length near zero becomes short.
- the motion vector prediction value is considered to be unreliable, so the motion vector difference value ilVD is concentrated near 0. Not necessarily. Therefore, in such a case, efficient coding should be performed by using a variable-length coding table in which the code length has little difference whether the absolute value of the motion vector difference value is large or small. Can be.
- variable-length coded tapes having different code length distribution bias characteristics are prepared as shown in FIGS. 21A to 21C, for example.
- the variable-length coding table for the motion vector difference value in the coding target macroblock according to the magnitude of the absolute difference sum between the motion vectors in the surrounding macroblocks of the coding target macroblock. Switch.
- the motion vectors of the macroblock B adjacent to the upper side, the macroblock C adjacent to the left, and the macroblock D adjacent to the upper right as the peripheral macroblock of the macroblock A to be encoded shown in FIG. MV (B) and MV (C) and MV (D).
- 21A is used as a variable-length coding table of the motion vector difference value in macroblock A, and S is T h 1 0 or more and T If h is smaller than h 11, the table of FIG. 21B is configured to perform variable-length coding using the table of FIG. 21C if S is greater than or equal to Th 11. However, if macro block B or macro block C or macro block D exists outside the screen or slice, or is an intra-coded macro block, the motion vector of the macro block Is the preset value Z 1
- the motion vector difference value MVD is first input to the variable length code output unit 30 as the input symbol H1.
- MV (B), MV (C) and MV (D) are input from the encoding symbol memory 31 to the variable length encoding table providing unit 33 as the variable length encoding table reference information H3.
- the variable-length coding table providing unit 33 sets the absolute difference sum S of MV (B), MV (C) and MV (D) as the thresholds Th 10 and T
- the variable length encoding table to be used for the encoding target motion vector is determined based on the comparison with h 11, and the variable length encoding table H 5 is provided to the variable length code output unit 30.
- the motion vector to be coded is subjected to variable-length coding and output as coded data D9.
- variable-length coding table H 3 in the variable-length coding table providing unit 33 by switching its parameters using a U niversa 1 code such as e X p—Go 1 omb code.
- FIG. 14 is a diagram showing a block diagram of the variable length decoding unit 21 according to the tenth embodiment of the present invention.
- the coded data D 9 coded by the coding method according to the tenth embodiment of the present invention is input to the decoded symbol output unit 40 of the variable length decoding unit 21,
- the calculated MV (B), MV (C) and MV (D) are input from the decoded symbol memory 41 to the variable length decoding table providing unit 42 as variable length decoding table reference information H8.
- the variable length decoding table HI0 is selected from the variable length decoding table providing unit 43 in the same procedure as the encoding, and is input to the decoding symbol output unit 40.
- the decoded symbol output section 40 performs variable-length decoding, and the motion vector is decoded and output as the decoded symbol H6, and at the same time, is stored in the decoded symbol memory 41.
- variable length decoding unit Since the variable length decoding unit is configured as described above, it is possible to preferably decode the encoded data encoded by the encoding method according to the tenth embodiment of the present invention.
- variable length coding table is not switched when coding the number of non-zero coefficients CC in the block.
- the variable-length coding table is cut by referring to the number of non-zero coefficients in surrounding blocks. It is characterized by being replaced.
- the nonzero coefficient in a certain block is close to the nonzero coefficient number in a neighboring block. It is likely to take a value. Therefore, if the number of non-zero coefficients in the block around the block to be coded is close to 0, the number of non-zero coefficients CC in the block to be coded may also be close to 0 and the value. The nature becomes high. Therefore, in such a case, coding can be efficiently performed by using a variable length coding table in which the code length near zero becomes short.
- variable-length coded tables having different code length distribution bias characteristics are provided.
- the numbers of nonzero coefficients in the block B adjacent to the upper side and the block C adjacent to the left as the peripheral blocks of the encoding target block A shown in FIG. 23 are denoted by CC (B) and CC (C).
- CC (B) and CC (C) the numbers of nonzero coefficients in the block B adjacent to the upper side and the block C adjacent to the left as the peripheral blocks of the encoding target block A shown in FIG. 23 are denoted by CC (B) and CC (C).
- MC (CC (B) + CC) as the average of the number of nonzero coefficients in each block for the preset thresholds Th12 and Th13 (though it is assumed that Th12 and Th13).
- ⁇ If the value of 2 is smaller than ⁇ h 1 2, the table in Fig. 21A is used as a variable length coding table for the number of non-zero coefficients CC (A) in block A.
- MC is Th 1 If it is 2 or more and smaller than Th 13, use the
- variable length coding unit 16 in FIG. 13 first, the non-zero coefficient number CC is input to the variable length code output unit 30 as the input symbol H1. Then, CC ′ (B) and CC (C) are input to the variable-length coding table providing unit 33 from the coding symbol memory 31 as variable-length coding table reference information H3. Then, the variable-length coding table providing unit 33 compares the average value MC of CC (B) and CC (C) with the threshold values Th 1 2 and Th 13 set in advance as described above, and Thus, the variable-length coding template used for the number of non-zero coefficients to be coded is determined, and the variable-length coding table H5 is provided to the variable-length code output unit 30. Then, the motion vector to be encoded is subjected to variable-length encoding and output as encoded data D9.
- the code length near 0 is reduced to a variable length encoding table.
- the code length is controlled so as to shorten the code length when the non-zero coefficient number CC is close to 0. If the prediction of the non-zero coefficient number CC is not always concentrated near 0, the code length is biased.
- the code length is not increased, so that the non-zero coefficient number CC can be efficiently coded.
- FIGS. 21A to 21C have been described using three variable-length coding tables, the number and values of the variable-length coding tables are not limited to FIGS. 21A to 21C. It is also possible to store a plurality of variable-length coding tables in the memory of the variable-length coding table providing unit 33 and switch the provision of the variable-length coding table H3. Even if this is realized by changing the parameters using the 11 1 1 iversa 1 code such as e X p -G o 1 0111 H code shown as an example, the variable length code FIG. 14 is a block diagram showing the variable-length decoding unit 21 according to the first embodiment of the present invention.
- the encoded data D 9 encoded by the encoding method according to the first embodiment of the present invention is input to the decoded symbol output unit 40 of the variable length decoding unit 21, the encoded data D 9 is calculated from the already decoded symbols.
- CC (B) and CC (C) enter the variable-length decoding table providing section 42 from the decoding symbol memory 41 as variable-length decoding table reference information H8! Is done.
- the variable-length decoding table H 10 is selected from the variable-length decoding table providing unit 43 in the same procedure as the encoding, and is input to the decoded symbol output unit 40.
- variable-length decoding is performed in the decoded symbol output unit 40, and the non-zero coefficient number CC is decoded and output as the decoded symbol H6, and is stored in the decoded symbol memory 41 at the same time.
- FIGS. 22A to 22D a procedure of variable-length encoding of orthogonal transform coefficients as image data in the encoding method according to the 12th embodiment of the present invention will be described.
- a discrete cosine transform DCT
- FIG. 22A shows a specific number of quantized orthogonal transform coefficients q u to q 88 obtained by applying a quantization process to the orthogonal transform coefficients f u to f 88 of the eight pixels X′8 lines shown in FIG. 4B. Example values are shown.
- the variable-length coding unit of the image coding device performs variable-length coding on such a quantized orthogonal transform coefficient according to a predetermined processing procedure to generate coded data. ⁇
- the image components a in the spatial image data 3005388 For the quantized orthogonal transform coefficients q lt to q 88 in which the subscript values i and j of the coefficients represent the corresponding vertical and horizontal frequencies, the image components a in the spatial image data 3005388
- each quantized orthogonal transform coefficient has a data characteristic that depends on the value of the corresponding spatial frequency, such as the magnitude of the coefficient value.
- the coefficient value of the orthogonal transform having a large absolute value is obtained in a low frequency range, and the absolute value of the coefficient value decreases as the frequency increases.
- This distribution can be approximated by a Laplace distribution with a peak at zero. Also, at this time, as the change in the density of each pixel in each block becomes more intense, the spread of the distribution of the conversion coefficient increases, and the average amplitude value of the coefficient increases.
- the quantized orthogonal transform coefficients q u to q 88 which are two-dimensional data, are converted into one-dimensional data by zigzag scan shown in FIG. 22B. Is converted to In this zigzag scan, the quantized orthogonal transform coefficients are scanned so that the one-dimensional data after scanning becomes a data sequence that shifts from a low frequency band to a high frequency band. As a result, the one-dimensional data shown in FIG. 22C in which the quantized orthogonal transform coefficients are arranged from the low frequency band to the high frequency band is obtained.
- the one-dimensional data of the quantized orthogonal transform coefficients is further converted into data composed of L evel (level) and R un (run) shown in FIG. 22D in order to reduce the amount of data.
- LeVel indicates a coefficient value of a quantized orthogonal transform coefficient having a non-zero coefficient value among a plurality of quantized orthogonal transform coefficients.
- Run indicates a zero-run length that is the number of data whose coefficient value is 0 immediately before the quantized orthogonal transform coefficient that is not 0.
- the coefficient q is calculated based on the appearance position of the DCT coefficient having 64 non-zero coefficient values.
- coefficient set S t composed of u, the coefficient q 12, q coefficient set S 2 consisting 2l, coefficients q 31 to q 13 coefficient set S 3 consisting of the coefficients q 14 to q 32 coefficient set S 4 made of the coefficient q 41 ⁇ (! 15 coefficient set S 5 consisting of, and is partitioned into coefficient groups S 6 consisting of coefficients q 16 to q 88.
- the number CC of non-zero coefficients and the total value RT of Run in the encoding target block are calculated from the data composed of Leve1 and Run shown in FIG. 22D.
- R is the R un value of the coefficient group Si
- L is the value of L e V e
- 1 is the value of L
- the frequency position of the non-zero coefficient after scanning is Pi
- L e V e of the previously encoded S i + 1 is Let 1 value be L i + 1 .
- RT be the total value of R un in the block to be encoded
- CC be the number of non-zero coefficients
- RTi be the residual value of Ru ⁇ in the coefficient group Si
- C Ci be the residual number of non-zero coefficients.
- RTi and CCi are calculated by the following equations (1) and (2)
- Pi is calculated by the following equation (3).
- the remaining number of non-zero coefficients for the last coefficient group Sj is CC + 1 for convenience.
- Equation (2) -1
- Equation (3) Pi-RTi + CCi
- FIG. 34B shows an example of a variable-length coding table used when coding these coefficient groups and the number of non-zero coefficients C C and the total value R Run R T.
- the term on the left side of the variable length coding table indicates the index value, the center indicates the variable length code corresponding to the index value, and the right side indicates the code length of each variable length code.
- FIG. 13 is a block diagram of the variable length coding unit 16 according to the first and second embodiments of the present invention. 3005388
- variable-length coding table providing unit 33 supplies a variable-length coding table H5 as shown in FIG. 34B to the variable-length coding output unit 30 as a variable-length coding table corresponding to the input symbol H1, for example.
- the input symbol H1 is encoded using the variable length encoding table H5. That is, a variable length code corresponding to a value obtained by subtracting 1 from the value of the number of non-zero coefficients CC is output as encoded data D 9 as an index value.
- a variable length code corresponding to the value of the Run total value RT as an index value is output as encoded data D9.
- the absolute value of the Leve 1 value becomes smaller as the frequency becomes higher as the frequency becomes higher, and this distribution can be approximated by a Laplace distribution with zero as a peak. Therefore, the absolute value of the Le V e 1 value to be encoded should be inferred from the absolute value of the Le V e 1 value encoded immediately before the coefficient to be encoded. Can be.
- the Leve 1 value to be encoded is located close to the Leve 1 value in the coefficient group on the high frequency side on the frequency axis. It can be inferred that the absolute value of the target L eve 1 value is likely to take the same value as the absolute value of the L e V e 1 value in one coefficient group on the high frequency side. From the above, a context is generated based on the absolute value of the LeVe1 value in the coefficient group on the high-frequency side, which is one of the LevE1 values to be coded, and the variable-length coding table is generated based on the context. Switch map table to associate index value and absolute value of Level value in Thus, the coding efficiency can be improved.
- the absolute value of the encoding target L e V e 1 value is
- the sign indicating the sign is sign (L, one of the L e V e 1 values in the coefficient group S i + 1 on the high frequency side.
- the absolute value is
- IL i + 1 I is input to the encoding map table providing unit 32 as encoding map table reference information H 2 from the encoding symbol memory 31, and II is since it is inferred as to take a value close to IL i + 1 I, correspond to Indekkusu value IL i + 1 I is the shortest length code, followed by IL i + 1 I - 1 and IL i + A map table H 4 is created so that 1 I + 1 corresponds to the index value that becomes the next shorter variable length code, and similarly, the index value that becomes shorter as the variable length code becomes closer to IL i + 1 I. .
- a map table as shown in Fig. 34A is constructed so that the index value becomes smaller as the absolute value of the value becomes closer to "1".
- the map table H4 is generated, and the variable-length code output unit 30 uses the variable-length coding table H5 as an index value with the absolute value of the corresponding LeVe1 value as the index value.
- a sign indicating positive or negative is encoded using one bit represented by “0” if positive and “1” if negative.
- the encoded data D9 is output.
- the encoding target coefficient is referred to as an encoding target L eve 1 value on the frequency axis, and the encoding target L eve 1 value is determined. Since the configuration is such that the map table is switched and the variable length coding is performed so that the value which is likely to be generated by the short variable length code is assigned, the LeVe1 value can be efficiently coded.
- FIG. 36 is a diagram showing a block diagram of the variable length decoding unit 21 according to the 12th embodiment of the present invention.
- coded data D 9 coded by the coding method according to the twelfth embodiment of the present invention is input to decoded symbol output section 40 of variable length decoding section 21
- already decoded symbols IL i + 1I is input from the decoded symbol memory 41 to the decoded map table providing unit 42 as decoded map table reference information H7.
- the decoding map table H9 is selected from the decoding up-table providing unit 42 by the same procedure as in the encoding and input to the decoded symbol output unit 40, and the variable-length decoding table providing unit 43 selects the variable-length decoding table.
- the decoding table H 10 is input to the decoding symbol output unit 40. You. Then, variable-length decoding is performed in the decoded symbol output unit 40, and the Le.ve 1 value is decoded and output as a decoding symbol H6, and is stored in the decoded symbol memory 41 at the same time.
- the coded data coded by the coding method according to the 12th embodiment of the present invention can be suitably decoded.
- the LeVe1 value is encoded in order from the high frequency component of the DCT coefficient.
- the absolute value of the high frequency component of the Leve1 value is used. Since the value is more likely to be “1”, more suitable encoding and decoding can be realized by adding successive numbers of “1” from the high frequency side to the LeVe 1 value map table. it can.
- An example of the map table is shown in Figure 36.
- the encoding method according to the thirteenth embodiment of the present invention in addition to the encoding method according to the twelfth embodiment of the present invention, when encoding a Level 1 value, The feature is that the map table is switched using the Run value in the coefficient group. Therefore, the encoding method according to the thirteenth embodiment of the present invention is configured such that the R un value in the encoding target coefficient group is encoded before the L e V e 1 value to be encoded. . That is, in the encoding method according to the thirteenth embodiment of the present invention, in the variable-length encoding unit 16 shown in FIG. 13, L is used as the encoding map table reference information H 2 from the encoding symbol memory 31.
- the encoding map table providing unit 32 In addition to e V e 1 value
- the L e V e 1 value is likely to be small, so the R un value is large.
- a small LeVe1 value that is likely to appear can be coded with a short code length, so that the LeVe1 value can be coded efficiently.
- switching of the encoding map table is performed in the same procedure as in the encoding method according to the thirteenth embodiment of the present invention, and the same as the decoding method according to the thirteenth embodiment of the present invention.
- the decoding method according to the thirteenth embodiment of the present invention becomes apparent. According to the decoding method according to the thirteenth embodiment of the present invention, it is possible to preferably decode the encoded data encoded by the encoding method according to the thirteenth embodiment of the present invention.
- the encoding method according to the fourteenth embodiment of the present invention further includes encoding the L evel value in the encoding target coefficient group.
- the variable length encoding table is switched using the frequency position P in the encoding target coefficient group. Therefore, the encoding method according to the fourteenth embodiment of the present invention is configured such that the R un value in the encoding target coefficient group is encoded before the L e V e 1 value to be encoded. . That is, for example, the larger the frequency position P, the more the coding target coefficient is considered to be the tail in the Laplace distribution.
- a plurality of variable-length encoded tapes are prepared, and control is performed so that these are adaptively switched.
- variable length encoding tables having different code length distribution bias characteristics are prepared as described above, and the variable length encoding table for the encoding target L eve 1 value is set according to the frequency position P in the encoding target coefficient group. Switch the encoding table. That is, the frequency position
- thresholds Th 1 and Th 2 are set in advance (where Th 1> Th 2), and the frequency position Pi in the coefficient group Si to be encoded is larger than the threshold Th 1 Is the variable-length coding table of Fig. 21A, and if Pi is less than the threshold Th1 and greater than Th2, the variable-length coding table of Fig. 21B is used, and Pi is less than the threshold Th2. In this case, switch to use the variable length coded table in Fig. 21C.
- variable-length encoding unit 16 of FIG. 13 when the value of L e V e 1 is input to the variable-length code output unit 30 as the input symbol H 1, the code calculated in the encoding symbol memory 31
- the frequency position Pi in the coding target coefficient group Si is input as the variable-length coding table reference information H3, and the variable-length coding table providing unit 33 is selected by the above-described control method based on the variable-length coding table reference information H3.
- the variable length encoding table H5 is provided to the variable length code output unit 30.
- Other operations are the same as those in the 12th and 13th embodiments of the present invention.
- the prediction is achieved by switching to a table having a large code length bias. In this case, control is performed so that the code length becomes shorter, and prediction of the value of L e V e 1 becomes difficult.In this case, by switching to a table with a smaller code length bias, the code length becomes longer when prediction is not possible. Since it is configured not to be, the value of LeVe1 can be efficiently encoded.
- FIGS. 21A to 21C have been described using three variable-length coding tables, the number and values of the variable-length coding tables are, of course, not limited to those in FIGS. 21A to 21C. Absent. Also, a plurality of variable-length coding tables may be stored in a memory in the variable-length coding table providing unit 32, and may be realized by switching the provision of the variable-length coding table H5. It is realized by generating a variable-length coding table H5 in the variable-length coding table providing unit 32 by switching its parameters using a Universa 1 code such as eXp-Go1omb code. May be.
- a Universa 1 code such as eXp-Go1omb code. May be.
- switching of the encoding map table is performed in the same procedure as in the encoding method according to the fourteenth embodiment of the present invention, and the same as the decoding method according to the twenty-first embodiment of the present invention.
- the decoding method according to the fourteenth embodiment of the present invention is realized. According to the decoding method according to the fourteenth embodiment of the present invention, it is possible to suitably decode the encoded data encoded by the encoding method according to the fourteenth embodiment of the present invention.
- the encoding method according to the 15th embodiment of the present invention further includes an encoding method for the L e V e 1 value in the encoding target coefficient group.
- the variable-length encoding table is switched using the absolute value of the LeVe1 value in one of the coefficient groups on the high frequency side of the encoding target coefficient group. T / JP2003 / 005388 That is, for example, if the absolute value of the value of Le V e 1 in one coefficient group on the high frequency side is large, the value of Le V e 1 in the coefficient group to be encoded becomes difficult to predict.
- a plurality of variable length encoding tables as shown in FIGS. 21A to 21C are prepared and these are adaptively switched. Control. Specifically, for example, thresholds Th 3 and Th 4 are set in advance (though Th 3 and Th 4), and the encoding of the Leve 1 value in the coefficient group Si to be encoded is performed.
- of L i + 1 I is the case again from the Th 3 Figure 2 1 a variable-length coding table, IL i + If 1 I is greater than or equal to Th 3 and less than Th 4, the variable length coding table in FIG. 21B is used.If IL i + 1 I is greater than Th 4, the variable length coding table in FIG. Switch to using the long coding table.
- variable-length coding unit 16 of FIG. 13 when the value of L e V e 1 is input as the input symbol H 1 to the variable-length code output unit 30, the coding symbol memory 31 outputs IL i + 1 I is input as the variable-length coding table reference information H 3, and the variable-length coding table providing unit 33 selects the variable-length coding table selected by the control method based on the variable-length coding table reference information H 3.
- H5 is provided to the variable length code output unit 30.
- Other operations are the same as those of the first to fourth embodiments of the present invention.
- the prediction is achieved by switching to a table having a large code length bias.
- the code length is controlled so as to be shorter, and if it is difficult to predict the value of L e V e 1, the table is switched to a table with a smaller code length bias so that the code length will not be longer if the prediction does not hit. Therefore, the LeVe1 value can be efficiently encoded.
- switching of the encoding map table is performed in the same procedure as in the encoding method according to the fifteenth embodiment of the present invention, and the same as the decoding method according to the fifteenth embodiment of the present invention.
- the decoding method according to the fifteenth embodiment of the present invention is realized. According to the decoding method according to the fifteenth embodiment of the present invention, it is possible to preferably decode the encoded data encoded by the encoding method according to the fifteenth embodiment of the present invention.
- the encoding method according to the sixteenth embodiment of the present invention when encoding the R un value in the encoding target coefficient group, the L e V e 1 value in the encoding target coefficient group is encoded.
- the variable length coding table is switched using the absolute value. Therefore, the encoding method according to the sixteenth embodiment of the present invention is configured such that the L evel value in the encoding target coefficient group is encoded before the R u n value to be encoded.
- the encoding target coefficient is considered to be located near the top in the Laplace distribution, and the nearby frequency components are also nonzero. Since the probability is high, the run value can be predicted to be small. Conversely, if the absolute value of the L evel value in the encoding target group is small, the encoding target coefficient is considered to be located at the tail of the Laplace distribution, and it is highly probable that nearby frequency components will also be nonzero. Is not always constant, making it difficult to predict the R un value. Therefore, similarly to the encoding method according to the fifteenth embodiment of the present invention, for example, a plurality of variable length encoding tables as shown in FIGS. 21A to 21C are prepared, and these are adaptively switched. To control. Specifically, for example, the thresholds Th5 and Th6 are set in advance (though Th5> Th6), and the 388
- variable length coding table shown in FIG. 21B is used when the length of the long coding table is less than or equal to Th5 and larger than Th6. Switch to using a 1 C variable length coding table.
- variable-length coding unit 16 in FIG. 13 when the R un value is input as the input symbol H 1 to the variable-length code output unit 30, the variable-length coding unit 31 converts the variable-length coding II from the coding symbol memory 31.
- the variable length coding table providing unit 33 is selected by the above control method based on the variable length coding table reference information H 3 ⁇
- the variable length coding table H 5 is variable length It is provided to the sign output unit 30.
- Other operations are the same as those of the 12th to 15th embodiments of the present invention.
- the table is switched to a table having a large code length bias. If the prediction is successful, control the code length to be shorter, and if it is difficult to predict the Run value, switch to a table with a smaller code length bias so that the code length when the prediction is not correct is not increased. With this configuration, the Run value can be efficiently encoded.
- switching of the encoding map table is performed in the same procedure as the encoding method according to the sixteenth embodiment of the present invention, and the same processing as that of the decoding method according to the fifteenth embodiment of the present invention is performed.
- the decoding method according to the sixteenth embodiment of the present invention is realized. According to the decoding method according to the sixteenth embodiment of the present invention, it is possible to preferably decode the encoded data encoded by the encoding method according to the sixteenth embodiment of the present invention.
- the encoding method according to the seventeenth embodiment of the present invention encodes the total R un value RT in the block.
- the variable-length coding table is switched according to the motion vector difference value DMV for the coding target block.
- the total value of R n in the block R T is the number of non-zero coefficients in the block C C and the value of D C
- the T coefficient can be approximated by a Laplace distribution in a natural image.
- the total R Run value thus predicted be P R T. If the motion vector difference value D MV, which is the difference between the motion vector prediction value predicted from the surrounding block and the motion vector of the current block, is small, the current block It is highly likely that the DCT coefficients appearing in the above are easily approximated by Laplace distribution. Therefore, in such a case, the variable-length coding table of the total R un value RT in the block is changed by using a variable-length coding table in which the code length becomes short in the vicinity of the predicted value PRT of the total R un value. Coding can be performed efficiently.
- variable length coded tapes having different code length distribution bias characteristics are prepared, for example, as shown in FIGS. 21A to 21C. Then, the variable length encoding table for the total Run value RT in the encoding target block is switched according to the magnitude of the motion vector difference value DMV in the encoding target block.
- the motion vector difference value DMV in the current block is encoded.
- the variable length coding table is switched by comparing the thresholds Th7 and Th8 (though it is assumed to be Th7 and Th8) preset for the size I DMVI.
- the IDMV I in the encoding target block is input from the encoding symbol memory 31 to the variable length encoding table providing unit 33 as the variable length encoding table reference information H3.
- the provision unit 33 compares the I DMV I with the preset thresholds Th 7 and Th 8 as described above, and based on the comparison, uses the variable Run total value RT in the encoding target block for the variable RT.
- the long coding table is determined, and the variable length coding table H5 is provided to the variable length code output unit 30. Then, the total Run value RT is variable length coded and output as coded data D9. You.
- the code length near the PR Is switched to a short variable-length coding table, so that the code length in the vicinity of PRT is controlled to be short, and the total R un value is concentrated near the predicted value PRT of R un total value.
- the table is configured so that the code length does not become longer regardless of the value of the total value R un by switching to a table having a smaller code length bias. Can be encoded well.
- FIG. 36 is a diagram showing a block diagram of the variable length decoding unit 21 according to the seventeenth embodiment of the present invention.
- the coded data D 9 coded by the coding method according to the seventeenth embodiment of the present invention is input to the decoded symbol output unit 40 of the variable length decoding unit 21 PC leak 00 hire 5388
- variable-length decoding table HI0 is selected from the variable-length decoding table providing unit 43 by the same procedure as the encoding, and is input to the decoded symbol output unit 40. Then, variable-length decoding is performed in the decoded symbol output unit 40, and the total Run value RT is decoded and output as the decoded symbol I6.
- the method of switching between the encoding table and the map table using the encoding conditions and image characteristics can easily envisage various modified examples.
- the present invention is applicable to:
- video coding has been described.
- the present invention is not limited to this, and any video coding method can be used as long as the coding symbol to be used and the context to be used can be applied. It is applicable to the encoding method and the still image encoding method.
- the image encoding method and the image decoding method according to the above embodiment are applied to the image transmission system, the image storage system, and the image reproduction system shown in FIGS. It is suitable for making effective use of the resources.
- variable-length coding tables having different code length distributions generated by changing other coefficients of the exp-G0 1 omb code may be used.
- the encoding method and the decoding method according to the above embodiments have been described using specific table values, the present invention is, of course, not limited to these values.
- the DCT coefficients of 8 pixels ⁇ 8 lines have been described as an example.
- the type of orthogonal transform and the size of the block are not limited to these.
- the Run value is processed in order from the one related to the high frequency component.
- the same effect can be obtained by processing the low value component. If, for example, the order in which the Run values are processed is changed according to the value of the number of non-zero coefficients CC in the processing target block, more suitable codec can be performed.
- the Run value and the LeVe1 value are respectively serially decoded and decoded using the one-dimensional variable-length coding table.
- the same effect can be obtained by performing code decoding using a two-dimensional variable-length encoding table in parallel (for a combination of 1 ⁇ 11 values and 6 V e 1 values).
- the index length is changed by switching the map table in a two-dimensional variable-length table that uses the correlation between Run and Level 1, the correlation between Run and Level 1 breaks down, and encoding is performed. Since the efficiency is reduced, efficient encoding can be performed by using the one-dimensional variable length encoding table described in the embodiment of the present invention.
- the bias of the symbol occurrence probability corresponding to each symbol in the arithmetic coding is large, and the probability table is set to the code length.
- the same effect can be obtained by using a probability table with a small bias in the symbol occurrence probability corresponding to each symbol in arithmetic coding.
- the same effect can be obtained by using the probability tables of FIGS. 38A to 38C for the variable length coding tables of FIGS. 21A to 21C. Note that other operations are the same as those of the above-described embodiments, and thus the details are omitted.
- the functions of the code output unit 51, the codec-decoding map table providing unit 62 with a learning function, and the decoded symbol output unit 61 with a feedback function can be provided as a computer program. Furthermore, the computer program can be propagated on a carrier wave.
- the present invention can be used as an image encoding device, an image decoding device, an image encoding method, an image decoding method, an image encoding program, and an image decoding program.
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
Claims
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES03719223T ES2401991T3 (es) | 2002-04-26 | 2003-04-25 | Dispositivo para la codificación de imágenes, procedimiento para la codificación de imágenes y programa para la codificación de imágenes |
US10/487,048 US7596279B2 (en) | 2002-04-26 | 2003-04-25 | Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, and image decoding program |
KR20047001198A KR100627597B1 (ko) | 2002-04-26 | 2003-04-25 | 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법, 화상 부호화 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 화상 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 |
JP2005501563A JP3944225B2 (ja) | 2002-04-26 | 2003-04-25 | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム |
EP20030719223 EP1478190B1 (en) | 2002-04-26 | 2003-04-25 | Image encoding device, image encoding method, and image encoding program |
US11/754,110 US7903891B2 (en) | 2002-04-26 | 2007-05-25 | Image encoding apparatus, image decoding apparatus, image encoding method, image decoding method, image encoding program, and image decoding program |
US12/558,299 US7970223B2 (en) | 2002-04-26 | 2009-09-11 | Image encoding apparatus, image decoding apparatus, image encoding method, image decoding method, image encoding program, and image decoding program |
US13/116,716 US8265405B2 (en) | 2002-04-26 | 2011-05-26 | Image encoding apparatus, image decoding apparatus, image encoding method, image decoding method, image encoding program, and image decoding program |
US13/348,367 US20120106630A1 (en) | 2002-04-26 | 2012-01-11 | Image encoding apparatus, image decoding apparatus, image encoding method, image decoding method, image encoding program, and image decoding program |
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002127471 | 2002-04-26 | ||
JP2002127485 | 2002-04-26 | ||
JP2002-127471 | 2002-04-26 | ||
JP2002-127485 | 2002-04-26 | ||
JP2002-195158 | 2002-07-03 | ||
JP2002-195162 | 2002-07-03 | ||
JP2002195158 | 2002-07-03 | ||
JP2002195162 | 2002-07-03 |
Related Child Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10487048 A-371-Of-International | 2003-04-25 | ||
US11/754,110 Division US7903891B2 (en) | 2002-04-26 | 2007-05-25 | Image encoding apparatus, image decoding apparatus, image encoding method, image decoding method, image encoding program, and image decoding program |
US12/558,299 Division US7970223B2 (en) | 2002-04-26 | 2009-09-11 | Image encoding apparatus, image decoding apparatus, image encoding method, image decoding method, image encoding program, and image decoding program |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2004039083A1 true WO2004039083A1 (ja) | 2004-05-06 |
Family
ID=32180613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2003/005388 WO2004039083A1 (ja) | 2002-04-26 | 2003-04-25 | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム |
Country Status (8)
Country | Link |
---|---|
US (5) | US7596279B2 (ja) |
EP (3) | EP2367358A1 (ja) |
JP (1) | JP3944225B2 (ja) |
KR (1) | KR100627597B1 (ja) |
CN (1) | CN100420308C (ja) |
ES (1) | ES2401991T3 (ja) |
TW (1) | TWI273832B (ja) |
WO (1) | WO2004039083A1 (ja) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008005504A (ja) * | 2006-06-22 | 2008-01-10 | Samsung Electronics Co Ltd | フラグエンコード方法、フラグデコード方法、および前記方法を用いた装置 |
JP2009005217A (ja) * | 2007-06-25 | 2009-01-08 | Nippon Telegr & Teleph Corp <Ntt> | 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラム,画像復号プログラムおよびコンピュータ読み取り可能な記録媒体 |
JP2009523349A (ja) * | 2006-01-12 | 2009-06-18 | サムスン エレクトロニクス カンパニー リミテッド | フラッグ符号化方法、フラッグ復号化方法、および前記方法を利用した装置 |
WO2010032693A1 (ja) * | 2008-09-19 | 2010-03-25 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、及び動画像復号プログラム |
WO2010119757A1 (ja) * | 2009-04-14 | 2010-10-21 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム |
WO2011007719A1 (ja) * | 2009-07-17 | 2011-01-20 | ソニー株式会社 | 画像処理装置および方法 |
JP2011229190A (ja) * | 2011-08-17 | 2011-11-10 | Sharp Corp | 動画像符号化装置及び動画像復号装置 |
JP2012060376A (ja) * | 2010-09-08 | 2012-03-22 | Olympus Corp | データ圧縮装置、データ復号装置、データ圧縮方法、データ復号方法およびデータ圧縮および復号システム |
JPWO2013128526A1 (ja) * | 2012-02-28 | 2015-07-30 | パナソニックIpマネジメント株式会社 | 画像処理装置、及び、画像処理方法 |
US9172963B2 (en) | 2010-11-01 | 2015-10-27 | Qualcomm Incorporated | Joint coding of syntax elements for video coding |
JP2017060180A (ja) * | 2009-08-14 | 2017-03-23 | サムスン エレクトロニクス カンパニー リミテッド | ビデオ復号化方法及びビデオ復号化装置 |
CN104104391B (zh) * | 2008-12-09 | 2017-04-26 | 日本电信电话株式会社 | 编码方法以及编码装置 |
Families Citing this family (119)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PT2268034T (pt) | 2001-11-22 | 2016-11-18 | Godo Kaisha Ip Bridge 1 | Método de codificação de comprimento variável e método de descodificação de comprimento variável |
PT1467491E (pt) * | 2002-05-02 | 2007-03-30 | Fraunhofer Ges Forschung | Codificação aritmética de coeficientes de transformação |
US9351013B2 (en) * | 2003-11-13 | 2016-05-24 | Qualcomm Incorporated | Selective and/or scalable complexity control for video codecs |
US7573406B2 (en) * | 2004-05-21 | 2009-08-11 | Broadcom Corporation | System and method for decoding context adaptive variable length coding |
US7843997B2 (en) * | 2004-05-21 | 2010-11-30 | Broadcom Corporation | Context adaptive variable length code decoder for decoding macroblock adaptive field/frame coded video data |
US7570827B2 (en) * | 2004-07-14 | 2009-08-04 | Slipstream Data Inc. | Method, system and computer program product for optimization of data compression with cost function |
US7298297B1 (en) * | 2004-08-18 | 2007-11-20 | Mediatek Inc. | Hardware-implemented Huffman decoder |
US8548055B2 (en) * | 2005-03-10 | 2013-10-01 | Qualcomm Incorporated | Encoding of multimedia data |
KR100703770B1 (ko) * | 2005-03-25 | 2007-04-06 | 삼성전자주식회사 | 가중 예측을 이용한 비디오 코딩 및 디코딩 방법, 이를위한 장치 |
US20070005553A1 (en) * | 2005-06-30 | 2007-01-04 | Ravi Sahita | System for composite instrumented resource data |
KR101261525B1 (ko) * | 2005-07-15 | 2013-05-06 | 삼성전자주식회사 | 영상 부호화 및 복호화 방법과 장치 |
JP4534935B2 (ja) * | 2005-10-04 | 2010-09-01 | 株式会社日立製作所 | トランスコーダ、記録装置及びトランスコード方法 |
KR20070046752A (ko) * | 2005-10-31 | 2007-05-03 | 엘지전자 주식회사 | 신호 처리 방법 및 장치 |
US8306118B1 (en) * | 2006-03-01 | 2012-11-06 | Maxim Integrated, Inc. | High quality low bitrate video coding by enabling and disabling a non-residual mode |
EP1995967A4 (en) * | 2006-03-16 | 2009-11-11 | Huawei Tech Co Ltd | METHOD AND APPARATUS FOR ADAPTIVE QUANTIFICATION IN AN ENCODING PROCEDURE |
KR100829169B1 (ko) * | 2006-07-07 | 2008-05-13 | 주식회사 리버트론 | H.264 코딩의 압축모드 예측 장치 및 방법 |
US8577171B1 (en) * | 2006-07-31 | 2013-11-05 | Gatan, Inc. | Method for normalizing multi-gain images |
KR20080035891A (ko) * | 2006-10-20 | 2008-04-24 | 포스데이타 주식회사 | 움직임의 스마트 서치를 지원하는 영상 재생 장치 및 방법 |
US8315466B2 (en) * | 2006-12-22 | 2012-11-20 | Qualcomm Incorporated | Decoder-side region of interest video processing |
US8335261B2 (en) | 2007-01-08 | 2012-12-18 | Qualcomm Incorporated | Variable length coding techniques for coded block patterns |
JP4901772B2 (ja) * | 2007-02-09 | 2012-03-21 | パナソニック株式会社 | 動画像符号化方法及び動画像符号化装置 |
CA2681025C (en) | 2007-03-20 | 2015-10-13 | Fujitsu Limited | Video encoding and decoding apparatus and method using quantization in sub-blocks |
JP5217270B2 (ja) * | 2007-06-26 | 2013-06-19 | ソニー株式会社 | 画像処理装置およびその方法、並びにプログラム |
US8023562B2 (en) | 2007-09-07 | 2011-09-20 | Vanguard Software Solutions, Inc. | Real-time video coding/decoding |
US8127233B2 (en) * | 2007-09-24 | 2012-02-28 | Microsoft Corporation | Remote user interface updates using difference and motion encoding |
US8619877B2 (en) * | 2007-10-11 | 2013-12-31 | Microsoft Corporation | Optimized key frame caching for remote interface rendering |
JP2009182623A (ja) * | 2008-01-30 | 2009-08-13 | Panasonic Corp | 画像符号化方法 |
GB2457262A (en) * | 2008-02-08 | 2009-08-12 | Linear Algebra Technologies | Compression / decompression of data blocks, applicable to video reference frames |
JPWO2009110160A1 (ja) * | 2008-03-07 | 2011-07-14 | 株式会社東芝 | 動画像符号化/復号化方法及び装置 |
JP5007259B2 (ja) * | 2008-03-27 | 2012-08-22 | ルネサスエレクトロニクス株式会社 | 画像符号化装置 |
JP5756921B2 (ja) * | 2008-06-10 | 2015-07-29 | パナソニックIpマネジメント株式会社 | 画像復号装置、画像復号方法、画像符号化装置、画像符号化方法、プログラムおよび集積回路 |
US8311116B2 (en) | 2008-07-09 | 2012-11-13 | Marvell World Trade Ltd. | Method and apparatus for periodic structure handling for motion compensation |
WO2010018992A2 (en) * | 2008-08-12 | 2010-02-18 | Lg Electronics Inc. | Method of processing a video signal |
KR101377660B1 (ko) * | 2008-09-30 | 2014-03-26 | 에스케이텔레콤 주식회사 | 복수 개의 움직임 벡터 추정을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
TWI482499B (zh) * | 2008-10-03 | 2015-04-21 | Ind Tech Res Inst | 影像訊號處理裝置和方法 |
US8879637B2 (en) * | 2008-10-06 | 2014-11-04 | Lg Electronics Inc. | Method and an apparatus for processing a video signal by which coding efficiency of a video signal can be raised by using a mixed prediction mode in predicting different macroblock sizes |
CA2745314A1 (en) * | 2008-12-03 | 2010-06-10 | Nokia Corporation | Switching between dct coefficient coding modes |
US8044831B2 (en) * | 2009-01-16 | 2011-10-25 | Canon Kabushiki Kaisha | Decoding apparatus and control method thereof |
US8576910B2 (en) * | 2009-01-23 | 2013-11-05 | Nippon Telegraph And Telephone Corporation | Parameter selection method, parameter selection apparatus, program, and recording medium |
CN102308580B (zh) * | 2009-02-05 | 2016-05-04 | 汤姆森特许公司 | 用于自适应模式视频编码和解码的方法和装置 |
CN104270635B (zh) * | 2009-05-29 | 2018-12-11 | 三菱电机株式会社 | 图像解码装置以及图像解码方法 |
WO2010143853A2 (ko) | 2009-06-07 | 2010-12-16 | 엘지전자 주식회사 | 비디오 신호의 디코딩 방법 및 장치 |
US9635368B2 (en) | 2009-06-07 | 2017-04-25 | Lg Electronics Inc. | Method and apparatus for decoding a video signal |
JP5184447B2 (ja) * | 2009-06-22 | 2013-04-17 | 株式会社Kddi研究所 | 動画像符号化装置および復号装置 |
CN102804771B (zh) * | 2009-06-22 | 2015-07-01 | 汤姆森特许公司 | 基于匹配追踪编码图像序列的视频数据的方法 |
KR101377530B1 (ko) | 2009-08-21 | 2014-03-27 | 에스케이텔레콤 주식회사 | 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치 |
WO2011021914A2 (ko) | 2009-08-21 | 2011-02-24 | 에스케이텔레콤 주식회사 | 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치 |
TW201121335A (en) * | 2009-12-02 | 2011-06-16 | Sunplus Core Technology Co Ltd | Method and apparatus for adaptively determining compression modes to compress frames |
US9100658B2 (en) | 2009-12-17 | 2015-08-04 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for video coding |
JP5556996B2 (ja) * | 2010-01-06 | 2014-07-23 | ソニー株式会社 | 画像処理装置および方法 |
KR101703327B1 (ko) * | 2010-01-14 | 2017-02-06 | 삼성전자 주식회사 | 계층적 데이터 단위의 패턴 정보를 이용하는 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치 |
WO2011100347A2 (en) * | 2010-02-09 | 2011-08-18 | Vanguard Software Solutions, Inc. | Video sequence encoding system and algorithms |
JP5583992B2 (ja) * | 2010-03-09 | 2014-09-03 | パナソニック株式会社 | 信号処理装置 |
US20110249754A1 (en) * | 2010-04-12 | 2011-10-13 | Qualcomm Incorporated | Variable length coding of coded block pattern (cbp) in video compression |
US8942282B2 (en) * | 2010-04-12 | 2015-01-27 | Qualcomm Incorporated | Variable length coding of coded block pattern (CBP) in video compression |
DK3435674T3 (da) * | 2010-04-13 | 2023-08-21 | Ge Video Compression Llc | Kodning af signifikanskort og transformationskoefficientblokke |
KR20110135763A (ko) * | 2010-06-11 | 2011-12-19 | 에스케이 텔레콤주식회사 | 문맥 모델링 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치 |
KR101181970B1 (ko) * | 2010-07-09 | 2012-09-11 | (주)에프씨아이 | 송수신데이터의 복호화 방법 및 장치 |
KR20120035096A (ko) * | 2010-10-04 | 2012-04-13 | 한국전자통신연구원 | 쿼드 트리 변환 구조에서 부가 정보의 시그널링 방법 및 장치 |
US9532059B2 (en) | 2010-10-05 | 2016-12-27 | Google Technology Holdings LLC | Method and apparatus for spatial scalability for video coding |
KR20130054408A (ko) | 2010-10-05 | 2013-05-24 | 제너럴 인스트루먼트 코포레이션 | 지그재그 스캔에 의한 적응적 컨텍스트 모델 선택을 이용하는 코딩 및 디코딩 |
US8787459B2 (en) * | 2010-11-09 | 2014-07-22 | Sony Computer Entertainment Inc. | Video coding methods and apparatus |
FR2968862A1 (fr) * | 2010-12-13 | 2012-06-15 | France Telecom | Procedes de codage et de decodage d'une valeur n-aire, dispositifs et programme d'ordinateur correspondants. |
WO2012080627A1 (fr) * | 2010-12-13 | 2012-06-21 | France Telecom | Procedes de codage et de decodage d'une valeur n-aire, dispositifs et programme d'ordinateur correspondants |
US9490839B2 (en) | 2011-01-03 | 2016-11-08 | Qualcomm Incorporated | Variable length coding of video block coefficients |
WO2012092763A1 (en) * | 2011-01-07 | 2012-07-12 | Mediatek Singapore Pte. Ltd. | Method and apparatus of improved intra luma prediction mode coding |
US8755620B2 (en) | 2011-01-12 | 2014-06-17 | Panasonic Corporation | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus for performing arithmetic coding and/or arithmetic decoding |
WO2012118358A2 (ko) * | 2011-03-03 | 2012-09-07 | 한국전자통신연구원 | 변환 계수 스캔 방법 및 그 장치 |
US11102494B2 (en) * | 2011-03-03 | 2021-08-24 | Electronics And Telecommunication Research Institute | Method for scanning transform coefficient and device therefor |
US20120230396A1 (en) * | 2011-03-11 | 2012-09-13 | Mitsubishi Electric Research Laboratories, Inc. | Method for Embedding Decoding Information in Quantized Transform Coefficients |
US8938001B1 (en) | 2011-04-05 | 2015-01-20 | Google Inc. | Apparatus and method for coding using combinations |
US20120294353A1 (en) * | 2011-05-16 | 2012-11-22 | Mediatek Inc. | Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components |
US8989256B2 (en) | 2011-05-25 | 2015-03-24 | Google Inc. | Method and apparatus for using segmentation-based coding of prediction information |
JP2013034162A (ja) * | 2011-06-03 | 2013-02-14 | Sony Corp | 画像処理装置及び画像処理方法 |
US9516316B2 (en) | 2011-06-29 | 2016-12-06 | Qualcomm Incorporated | VLC coefficient coding for large chroma block |
HUE052632T2 (hu) * | 2011-06-30 | 2021-05-28 | Jvc Kenwood Corp | Képkódoló készülék, képkódoló eljárás, képkódoló program, képdekódoló készülék, képdekódoló eljárás és képdekódoló program |
US9338456B2 (en) | 2011-07-11 | 2016-05-10 | Qualcomm Incorporated | Coding syntax elements using VLC codewords |
US8891616B1 (en) | 2011-07-27 | 2014-11-18 | Google Inc. | Method and apparatus for entropy encoding based on encoding cost |
MX2013001709A (es) | 2011-07-29 | 2013-03-06 | Panasonic Corp | Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imágenes en movimiento, y aparato de codificacion y decodificacion de imagenes en movimiento. |
EP3754989A1 (en) * | 2011-11-01 | 2020-12-23 | Velos Media International Limited | Multi-level significance maps for encoding and decoding |
US9571833B2 (en) | 2011-11-04 | 2017-02-14 | Nokia Technologies Oy | Method for coding and an apparatus |
EP2777284B1 (en) | 2011-11-11 | 2018-09-05 | GE Video Compression, LLC | Effective wedgelet partition coding using spatial prediction |
US8693551B2 (en) | 2011-11-16 | 2014-04-08 | Vanguard Software Solutions, Inc. | Optimal angular intra prediction for block-based video coding |
US9247257B1 (en) | 2011-11-30 | 2016-01-26 | Google Inc. | Segmentation based entropy encoding and decoding |
HUE036966T2 (hu) * | 2011-12-13 | 2018-08-28 | Jvc Kenwood Corp | Mozgóképkódoló eszköz, mozgóképkódoló módszer, mozgóképkódoló program, mozgókép dekódoló eszköz, mozgókép dekódoló módszer és mozgókép dekódoló program |
EP2795901A1 (en) * | 2011-12-20 | 2014-10-29 | Motorola Mobility LLC | Method and apparatus for efficient transform unit encoding |
BR112014015171B1 (pt) * | 2011-12-22 | 2020-10-06 | Samsung Electronics Co., Ltd | Aparelho de decodificação de vídeo |
US8660374B1 (en) * | 2011-12-23 | 2014-02-25 | Massachusetts Institute Of Technology | Selecting transform paths for compressing visual data |
JP5988577B2 (ja) * | 2011-12-28 | 2016-09-07 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム |
US9094681B1 (en) | 2012-02-28 | 2015-07-28 | Google Inc. | Adaptive segmentation |
US11039138B1 (en) | 2012-03-08 | 2021-06-15 | Google Llc | Adaptive coding of prediction modes using probability distributions |
US9143781B2 (en) * | 2012-04-03 | 2015-09-22 | Qualcomm Incorporated | Weighted prediction parameter coding |
TWI613908B (zh) * | 2012-04-13 | 2018-02-01 | Jvc Kenwood Corp | 影像解碼裝置、影像解碼方法、影像解碼程式 |
JP2014007469A (ja) * | 2012-06-21 | 2014-01-16 | Canon Inc | 画像符号化装置及び画像符号化方法 |
US9774856B1 (en) | 2012-07-02 | 2017-09-26 | Google Inc. | Adaptive stochastic entropy coding |
US9332276B1 (en) | 2012-08-09 | 2016-05-03 | Google Inc. | Variable-sized super block based direct prediction mode |
US9380298B1 (en) | 2012-08-10 | 2016-06-28 | Google Inc. | Object-based intra-prediction |
US9979960B2 (en) | 2012-10-01 | 2018-05-22 | Microsoft Technology Licensing, Llc | Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions |
KR101491591B1 (ko) * | 2012-11-05 | 2015-02-09 | 주식회사 케이티 | 웹앱 가상화 서비스를 제공하는 가상화 서버 및 웹앱 가상화 서비스 제공을 위한 데이터 전송방법 |
US9106922B2 (en) | 2012-12-19 | 2015-08-11 | Vanguard Software Solutions, Inc. | Motion estimation engine for video encoding |
US10127624B1 (en) * | 2012-12-28 | 2018-11-13 | Amazon Technologies, Inc. | Block mapping in high efficiency video coding compliant encoders and decoders |
US9509998B1 (en) | 2013-04-04 | 2016-11-29 | Google Inc. | Conditional predictive multi-symbol run-length coding |
CN111200736B (zh) * | 2013-06-14 | 2022-06-21 | 北京三星通信技术研究有限公司 | 一种视频编/解码中运动信息的获取方法及装置 |
US9967594B2 (en) * | 2013-06-28 | 2018-05-08 | Mozilla Corporation | Probability modeling of intra prediction modes |
US9392288B2 (en) | 2013-10-17 | 2016-07-12 | Google Inc. | Video coding using scatter-based scan tables |
US9179151B2 (en) | 2013-10-18 | 2015-11-03 | Google Inc. | Spatial proximity context entropy coding |
KR101582504B1 (ko) * | 2014-06-12 | 2016-01-07 | 에스케이텔레콤 주식회사 | 인터 예측을 이용한 영상 부호화 및 복호화 방법과 장치 |
EP3152907B1 (en) * | 2015-05-29 | 2021-01-06 | SZ DJI Technology Co., Ltd. | System and method for video processing |
US10171810B2 (en) | 2015-06-22 | 2019-01-01 | Cisco Technology, Inc. | Transform coefficient coding using level-mode and run-mode |
WO2017104699A1 (ja) * | 2015-12-15 | 2017-06-22 | 日本電信電話株式会社 | 画像差異検出装置、画像差異検出方法及びコンピュータプログラム |
US10368080B2 (en) | 2016-10-21 | 2019-07-30 | Microsoft Technology Licensing, Llc | Selective upsampling or refresh of chroma sample values |
CN107862729B (zh) * | 2017-08-24 | 2021-07-02 | 平安普惠企业管理有限公司 | 层级动画生成方法、终端及可读存储介质 |
CN110876062B (zh) | 2018-08-31 | 2024-07-12 | 三星电子株式会社 | 用于特征图的高速压缩处理的电子设备及其控制方法 |
US10873747B2 (en) * | 2018-11-18 | 2020-12-22 | Sony Corporation | Residual mapping method for image/video compression |
BR112021013117A2 (pt) | 2019-01-02 | 2021-09-21 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Aparelho para decodificar e codificar uma imagem usando codificação preditiva e codificação residual de transformada com base em bloco, métodos e fluxo de dados |
US10897268B2 (en) * | 2019-02-21 | 2021-01-19 | Cirrus Logic, Inc. | Probability-based synchronization of a serial code stream |
CN110266316B (zh) * | 2019-05-08 | 2023-02-21 | 创新先进技术有限公司 | 一种数据压缩、解压方法、装置和设备 |
EP3989563A4 (en) * | 2019-06-19 | 2022-12-07 | Sony Group Corporation | IMAGE PROCESSING DEVICE AND METHOD |
WO2024107210A1 (en) * | 2022-11-15 | 2024-05-23 | Google Llc | Dc only transform coefficient mode for image and video coding |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01179584A (ja) * | 1988-01-11 | 1989-07-17 | Fujitsu Ltd | 動き補償動ベクトル探索方法 |
JPH08214310A (ja) * | 1995-02-06 | 1996-08-20 | Sony Corp | 画像データ符号化方法及び画像データ符号化装置 |
JPH10191324A (ja) * | 1996-11-07 | 1998-07-21 | Matsushita Electric Ind Co Ltd | 画像符号化方法および画像符号化装置並びに画像符号化プログラムを記録した記録媒体 |
JPH10327411A (ja) * | 1997-03-26 | 1998-12-08 | Sony Corp | 画像符号化方法及び装置、画像復号方法及び装置、並びに記録媒体 |
JPH1169358A (ja) * | 1997-07-30 | 1999-03-09 | Lg Semicon Co Ltd | 動画像の動きベクトル予測方法 |
JP2001320715A (ja) * | 2000-05-10 | 2001-11-16 | Robert Bosch Gmbh | 動画の局所的階層符号化方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1000000A (en) * | 1910-04-25 | 1911-08-08 | Francis H Holton | Vehicle-tire. |
JPS5816665B2 (ja) * | 1975-10-30 | 1983-04-01 | ケイディディ株式会社 | フアクシミリシンゴウノフゴウカホウシキ |
JPH02179584A (ja) | 1988-12-29 | 1990-07-12 | Suzuki Motor Co Ltd | 車両の4輪操舵装置 |
US5875266A (en) * | 1990-07-31 | 1999-02-23 | Fujitsu Limited | Image data processing a method and apparatus |
US5116684A (en) * | 1990-09-28 | 1992-05-26 | Corning Incorporated | Composite ophthalmic lens |
JPH04185119A (ja) * | 1990-11-20 | 1992-07-02 | Matsushita Electric Ind Co Ltd | 可変長符号化装置 |
US5122875A (en) * | 1991-02-27 | 1992-06-16 | General Electric Company | An HDTV compression system |
US5227878A (en) * | 1991-11-15 | 1993-07-13 | At&T Bell Laboratories | Adaptive coding and decoding of frames and fields of video |
US5510785A (en) * | 1993-03-19 | 1996-04-23 | Sony Corporation | Method of coding a digital signal, method of generating a coding table, coding apparatus and coding method |
JPH08205140A (ja) | 1995-01-31 | 1996-08-09 | Canon Inc | 画像圧縮装置 |
US6101276A (en) * | 1996-06-21 | 2000-08-08 | Compaq Computer Corporation | Method and apparatus for performing two pass quality video compression through pipelining and buffer management |
JP4034380B2 (ja) * | 1996-10-31 | 2008-01-16 | 株式会社東芝 | 画像符号化/復号化方法及び装置 |
KR100425615B1 (ko) | 1996-11-07 | 2004-04-01 | 마쯔시다덴기산교 가부시키가이샤 | 부호화 방법 및 장치와 복호화 방법 및 장치 |
US6462791B1 (en) * | 1997-06-30 | 2002-10-08 | Intel Corporation | Constrained motion estimation and compensation for packet loss resiliency in standard based codec |
EP0905987B1 (en) * | 1997-09-26 | 2005-06-15 | Matsushita Electric Industrial Co., Ltd. | Image decoding method and apparatus, and data recording medium |
TW515192B (en) * | 2000-06-06 | 2002-12-21 | Noa Kk Off | Compression method of motion picture image data and system there for |
JP2002112268A (ja) * | 2000-09-29 | 2002-04-12 | Toshiba Corp | 圧縮画像データ復号装置 |
JP3959039B2 (ja) * | 2003-02-28 | 2007-08-15 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法、及び画像復号プログラム |
-
2003
- 2003-04-25 JP JP2005501563A patent/JP3944225B2/ja not_active Expired - Lifetime
- 2003-04-25 EP EP20110169997 patent/EP2367358A1/en not_active Ceased
- 2003-04-25 KR KR20047001198A patent/KR100627597B1/ko not_active IP Right Cessation
- 2003-04-25 EP EP20100157091 patent/EP2202989B1/en not_active Expired - Lifetime
- 2003-04-25 WO PCT/JP2003/005388 patent/WO2004039083A1/ja active Application Filing
- 2003-04-25 ES ES03719223T patent/ES2401991T3/es not_active Expired - Lifetime
- 2003-04-25 US US10/487,048 patent/US7596279B2/en not_active Expired - Fee Related
- 2003-04-25 EP EP20030719223 patent/EP1478190B1/en not_active Expired - Lifetime
- 2003-04-25 CN CNB038008394A patent/CN100420308C/zh not_active Expired - Fee Related
- 2003-04-25 TW TW92109754A patent/TWI273832B/zh not_active IP Right Cessation
-
2007
- 2007-05-25 US US11/754,110 patent/US7903891B2/en not_active Expired - Fee Related
-
2009
- 2009-09-11 US US12/558,299 patent/US7970223B2/en not_active Expired - Fee Related
-
2011
- 2011-05-26 US US13/116,716 patent/US8265405B2/en not_active Expired - Fee Related
-
2012
- 2012-01-11 US US13/348,367 patent/US20120106630A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01179584A (ja) * | 1988-01-11 | 1989-07-17 | Fujitsu Ltd | 動き補償動ベクトル探索方法 |
JPH08214310A (ja) * | 1995-02-06 | 1996-08-20 | Sony Corp | 画像データ符号化方法及び画像データ符号化装置 |
JPH10191324A (ja) * | 1996-11-07 | 1998-07-21 | Matsushita Electric Ind Co Ltd | 画像符号化方法および画像符号化装置並びに画像符号化プログラムを記録した記録媒体 |
JPH10327411A (ja) * | 1997-03-26 | 1998-12-08 | Sony Corp | 画像符号化方法及び装置、画像復号方法及び装置、並びに記録媒体 |
JPH1169358A (ja) * | 1997-07-30 | 1999-03-09 | Lg Semicon Co Ltd | 動画像の動きベクトル予測方法 |
JP2001320715A (ja) * | 2000-05-10 | 2001-11-16 | Robert Bosch Gmbh | 動画の局所的階層符号化方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009523349A (ja) * | 2006-01-12 | 2009-06-18 | サムスン エレクトロニクス カンパニー リミテッド | フラッグ符号化方法、フラッグ復号化方法、および前記方法を利用した装置 |
JP2008005504A (ja) * | 2006-06-22 | 2008-01-10 | Samsung Electronics Co Ltd | フラグエンコード方法、フラグデコード方法、および前記方法を用いた装置 |
JP2009005217A (ja) * | 2007-06-25 | 2009-01-08 | Nippon Telegr & Teleph Corp <Ntt> | 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラム,画像復号プログラムおよびコンピュータ読み取り可能な記録媒体 |
WO2010032693A1 (ja) * | 2008-09-19 | 2010-03-25 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、及び動画像復号プログラム |
JP2010098710A (ja) * | 2008-09-19 | 2010-04-30 | Ntt Docomo Inc | 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、及び動画像復号プログラム |
US9277238B2 (en) | 2008-09-19 | 2016-03-01 | Ntt Docomo, Inc. | Moving image encoding and decoding system |
CN104104391B (zh) * | 2008-12-09 | 2017-04-26 | 日本电信电话株式会社 | 编码方法以及编码装置 |
JP2010251946A (ja) * | 2009-04-14 | 2010-11-04 | Ntt Docomo Inc | 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム |
US8666179B2 (en) | 2009-04-14 | 2014-03-04 | Ntt Docomo, Inc. | Image encoding apparatus and decoding apparatus |
WO2010119757A1 (ja) * | 2009-04-14 | 2010-10-21 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム |
WO2011007719A1 (ja) * | 2009-07-17 | 2011-01-20 | ソニー株式会社 | 画像処理装置および方法 |
CN102474618A (zh) * | 2009-07-17 | 2012-05-23 | 索尼公司 | 图像处理装置和方法 |
JP2017060180A (ja) * | 2009-08-14 | 2017-03-23 | サムスン エレクトロニクス カンパニー リミテッド | ビデオ復号化方法及びビデオ復号化装置 |
JP2012060376A (ja) * | 2010-09-08 | 2012-03-22 | Olympus Corp | データ圧縮装置、データ復号装置、データ圧縮方法、データ復号方法およびデータ圧縮および復号システム |
US9172963B2 (en) | 2010-11-01 | 2015-10-27 | Qualcomm Incorporated | Joint coding of syntax elements for video coding |
JP2011229190A (ja) * | 2011-08-17 | 2011-11-10 | Sharp Corp | 動画像符号化装置及び動画像復号装置 |
JPWO2013128526A1 (ja) * | 2012-02-28 | 2015-07-30 | パナソニックIpマネジメント株式会社 | 画像処理装置、及び、画像処理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1478190B1 (en) | 2013-01-02 |
US7903891B2 (en) | 2011-03-08 |
US20040234144A1 (en) | 2004-11-25 |
EP2202989B1 (en) | 2014-04-16 |
US8265405B2 (en) | 2012-09-11 |
CN1545813A (zh) | 2004-11-10 |
US7970223B2 (en) | 2011-06-28 |
TWI273832B (en) | 2007-02-11 |
EP1478190A4 (en) | 2009-04-01 |
ES2401991T3 (es) | 2013-04-26 |
EP2367358A1 (en) | 2011-09-21 |
US20120106630A1 (en) | 2012-05-03 |
KR100627597B1 (ko) | 2006-09-25 |
US20110228842A1 (en) | 2011-09-22 |
KR20040068535A (ko) | 2004-07-31 |
EP2202989A1 (en) | 2010-06-30 |
TW200401560A (en) | 2004-01-16 |
EP1478190A1 (en) | 2004-11-17 |
JPWO2004039083A1 (ja) | 2006-02-23 |
US7596279B2 (en) | 2009-09-29 |
JP3944225B2 (ja) | 2007-07-11 |
US20070242892A1 (en) | 2007-10-18 |
CN100420308C (zh) | 2008-09-17 |
US20100002945A1 (en) | 2010-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3944225B2 (ja) | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム | |
KR102096423B1 (ko) | 쿼드 트리를 이용한 블록 정보 부/복호화 방법 및 이러한 방법을 사용하는 장치 | |
RU2751082C1 (ru) | Способ кодирования и декодирования изображений, устройство кодирования и декодирования и соответствующие компьютерные программы | |
JP6165798B2 (ja) | イントラ予測を使用したビデオ符号化 | |
KR100701810B1 (ko) | 신호 부호화 방법, 신호 복호 방법, 신호 부호화 장치, 신호 복호 장치, 및 컴퓨터로 판독가능한 기록매체 | |
KR101859079B1 (ko) | 화면 내 예측 모드에 기초한 적응적인 변환 방법 및 이러한 방법을 사용하는 장치 | |
JP5547199B2 (ja) | 大型マクロ・ブロックを用いたビデオ・コーディング | |
KR20140120891A (ko) | 효율적인 변환 유닛 인코딩을 위한 방법 및 장치 | |
JP2014143706A (ja) | 大型マクロ・ブロックを用いたビデオ・コーディング | |
KR20140029459A (ko) | 참조 픽쳐 리스트 관리 방법 및 이러한 방법을 사용하는 장치 | |
KR101974952B1 (ko) | 두 개의 후보 인트라 예측 모드를 이용한 화면 내 예측 모드의 부/복호화 방법 및 이러한 방법을 사용하는 장치 | |
KR20140043759A (ko) | 움직임 벡터 리스트 설정 방법 및 이러한 방법을 사용하는 장치 | |
KR101802375B1 (ko) | 시간적 후보 움직임 벡터 유도 방법 및 이러한 방법을 사용하는 장치 | |
RU2782400C2 (ru) | Способ кодирования и декодирования изображений, устройство кодирования и декодирования и соответствующие компьютерные программы |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 2005501563 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020047001198 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2003719223 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 20038008394 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 10487048 Country of ref document: US |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): CN JP KR US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWP | Wipo information: published in national office |
Ref document number: 2003719223 Country of ref document: EP |