WO2004039083A1 - 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム - Google Patents

画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム Download PDF

Info

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
Application number
PCT/JP2003/005388
Other languages
English (en)
French (fr)
Inventor
Kazuo Sugimoto
Satoru Adachi
Sadaatsu Kato
Minoru Etoh
Mitsuru Kobayashi
Hiroyuki Yamaguchi
Original Assignee
Ntt Docomo, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ntt Docomo, Inc. filed Critical Ntt Docomo, Inc.
Priority to ES03719223T priority Critical patent/ES2401991T3/es
Priority to KR20047001198A priority patent/KR100627597B1/ko
Priority to JP2005501563A priority patent/JP3944225B2/ja
Priority to EP20030719223 priority patent/EP1478190B1/en
Priority to US10/487,048 priority patent/US7596279B2/en
Publication of WO2004039083A1 publication Critical patent/WO2004039083A1/ja
Priority to US11/754,110 priority patent/US7903891B2/en
Priority to US12/558,299 priority patent/US7970223B2/en
Priority to US13/116,716 priority patent/US8265405B2/en
Priority to US13/348,367 priority patent/US20120106630A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/192Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/91Entropy 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.

Abstract

可変長符号化部16では、入力シンボルH1として可変長符号出力部30にCBPが入力される。また、符号化シンボルメモリ31から符号化マップテーブル提供部32に符号化マップテーブル参照情報H2として周囲ブロックにおけるCBPが入力される。これら周囲ブロックにおけるCBPに基づいて、符号化マップテーブル提供部32において、CBPの符号化に対して用いる符号化マップテーブルが決定され、符号化マップテーブルH4が可変長符号出力部30に提供される。また、可変長符号化テーブル提供部33から可変長符号化テーブルH5が可変長符号出力部30に入力される。そして、符号化対象CBPは可変長符号化され、符号化データD9として出力される。これにより、符号化シンボルの情報源符号化を、符号化条件や画像の性質に応じて、効率的に行うことができる。

Description

糸田 »
画像符号化装置、 画像復号装置、 画像符号化方法、 画像復号方法、 画像符号化プ 口グラム及び画像復号プログラム
技術分野
本発明は、 画像符号化装置、 画像復号装置、 画像符号化方法、 画像復号方法、 画像符号化プログラム及び画像復号プログラムに関するものである。
背景技術
近年、 フォト CD、 ビデオ CD、 DVDビデオ (D i g i t a l Ve r s a t i l e D i s k— V i d e o)、 テレビ電話、 テレビ会議、 デジタルテレビ放 送、 VOD (V i 'd e o On D e m a n d ) など、 画像信号の蓄積再生や伝 送を行うシステムが普及しつつある。 図 29 Aに示すように、 画像伝送システム において、 送信側では、 入力された画像が画像符号化部 1によってビットストリ ームに符号化され、 ビッ トストリームはビットストリーム送信部 2によってネッ トワークを介して伝送され、 受信側では、 ビットス トリーム受信部 3によってビ ットス トリームが受信され、 受信されたビットス トリームは画像復号部 4で復号 されて画像が出力される。また、図 29 Bに示すように、画像蓄積システムでは、 入力画像は画像符号化部 1によってビットス トリームに符号化され、 ビッ トス ト リームは記憶媒体などのビットス トリーム蓄積部 5に蓄積される。 また、 図 29 Cに示すように、 画像再生システムでは、 ビットス トリーム蓄積部 5に蓄積され たビットストリームは画像復号部 4によって復号されて再生画像が出力される。 これらのシステムでは、 伝送帯域や蓄積容量に制限があるため、 できるだけ圧 縮率の高い画像符号化方式を用いることによりこれらの資源を有効に利用したい という要求がある。 画像符号化方式には、 静止画像符号化方式と動画像符号化方 式に区別できるが、 ·その一例として動画像符号化方式を用いて説明する。
従来、動画像信号の符号化方式として、 ITU-T Recommendation H.263や IS0/IEC
International Standard 14496-2 (MPEG- 4 Visual) などの国際標準化動画像符号 化方式が知られている。
一般的に、 これらの動画像符号化方式においては符号化対象として入力された 動画像信号を構成するフレーム画像に対して、 他のフレーム画像との間で動き補 償フレーム問予測を行って動画像信号における時間的な冗長度を削減し、 またフ レーム間予測結果としての差分画像信号ゃフレーム間予測を行わない画像信号に 対して直交変換および量子化を行って動画像信号における空間的な冗長度を削減 し、 さらに、 得られた動きベク トルや直交変換係数などの予測 .変換データに対 して情報源符号化を行ってデータ表現の冗長度を削減する。 これらの処理に り 動画像信号に含まれる冗長度を取り除き、 効率的な動画像符号化が達成される。 またこれらの動 ίί像符号化方式においては、 上記のような処理はマクロプロッ クと呼ばれるフレーム画像内の部分毎に行われる。 一般的にひとつのマクロブ口 ックは 1 6画素 X 1 6画素からなり、 複数個が集まってスライス、 フレームを構 成する一方、 ひとつのマクロブロックの中にはより小さく分割したブロックの単 位を持ち、 前述の動き補償や直交変換などの処理は、 マクロブロックを最大単位 として、 必要に応じてより小さなブロックの単位で行われる。
図 1は動画像符号化方法の一例を概略的に示すフローチヤ一トである。 本符号 化方法は、 動画像などでのフレーム画像である入力画像 D 1に対して所定の変換 処理操作および符号化処理操作を行って、 画像伝送システムや画像蓄積システム において伝送または蓄積可能なデータ圧縮された符号化データ D 9を生成する画 像符号化方法である。
図 1に示した画像符号化方法において、 データ処理操作は入力画像 D 1を所定 のサイズ (所定の画素数) に分割したマクロブロック単位に行われる。 まず、 入 力画像 D 1に対して所定のデータ処理操作を行って画像デ一タを変換し、 空間座 標によつて表される予測残差画像 D 5およびデータ処理操作の情報を表す符号化 モード情報 D 3および動きべク トル情報 D 2を出力する (ステップ S 1 0 1 )。 こ こで、 動きべク トル情報 D 2には、 例えば、 動きべク トルの値そのものが含まれ ていても良いし、 対象となるブロックにおける動きべク トルと近隣のブロックに おける動きべク トルとの差分である動きべク トル差分値が含まれていてもよい。 具体的には、後に説明する局部復号画像 D 1 2内の所定の画像領域を参照して、 該符号化対象マクロプロックの画像と類似する画像領域を探索し(動き探索)、探 索の結果検出された該符号化対象マクロプロックに類似する画像領域に対する該 符号化対象マクロプロックとの間の空間的な移動量によって動きべク トルを決定 する (動き補償予測)。 また、 探索の結果検出された該符号化対象マクロブロック の画像データに類似する画像領域と該符号化対象マクロブロックとの画素値の差 分データを予測残差画像 D 5として生成する。 そして、 動き探索の結果得られた これらの動きべク'トルおよび画素値の差分データに基づいて、 用意された複数の マクロブロック符号化モードから画像データに適用するマクロプロック符号化モ ードを選択する。
マクロプロック符号化モードとしては、 動き補償を用いるィンター符号化モー ドと、 動き補償を用いないイントラ符号化モードに大別することができる。 イン ター符号化モードでは、 マクロブロックに動き補償を適用し、 その結果得られる 画素値の予測残差を予測残差画像 D 5として出力する。 また、 イントラ符号化モ ードでは、 マクロブロック内の画素値の予測値を 0とすることにより、 入力画像 D 1がそのまま予測残差画像 D 5として出力される。 また、 選択された符号化モ 一ドおよび量子化パラメータを示す情報を符号化モード情報 D 3として、 動きべ ク トルに関する情報を動きべク トル情報ひ 2として出力する。
次に、 予測残差画像 D 5に対して直交変換操作を行って、 空間周波数によつ.て 表される画像データ (周波数画像データ) である複数の直交変換係数 D 6を生成 する (ステップ S 1 0 2 )。 この直交変換は、 マクロブロックをさらに分割したブ 口ック毎に行われ、 ·それぞれの直交変換係数が得られる。
この直交変換係数は所定の量子化パラメータによって量子化されて、 量子化直 交変換係数 D 7が得られる (ステップ S 1 0 3 )。 ところでブロックによっては量子化によってブロック内の直交変換係数が全て 零になる場合がある。 そのように全ての直交変換係数が零である無効プロックに ついては直交変換係数に関する情報を符号化する必要がない。 そこで、 該ブロッ ク内に有意な量子化直交変換係数があるか否かを示す符号化プロックパタン情報 (以下、 C B Pとよぶ。 C o d e d B l o c k P a t t e r nの略) を用レヽ ることによって無効プロックの係数情報の符号化を省き、 符号化効率を高める。 また、 量子化処理の結果、 マクロブロック内の全てのブロック内の直交変換係 数が全て零になり、 しかも動きベク トルの各成分も零となる場合がある。 そのよ うな全ての直交変換係数が零である無効マクロブロックについては、 該マクロブ ロックに関する情報を符号化する必要がない。 静止している背景部分などにこの ような無効マク口プロックが多発するため、 各マクロプロックに対してマクロブ ロック符号化フラグ (C O Dフラグ) を用いることによって該マクロブロックの 有効 ·無効を識別する。
上記 C B Pおよび上記 C O Dフラグを符号化補助情報 D 8として出力する。 続いて、 動きベク トル情報 D 2、 符号化モード情報 D 3、 量子化直交変換係数
■ D 7、 符号化補助情報 D 8に対して可変長符号化および多重化を行い、 圧縮デー タである符号化データ D 9を生成する (ステップ S 1 0 4 )。
具体的には、 動きべク トル情報 D 2、 符号化モード情報 D 3、 量子化直交変換 係数 D 7、 符号化補助情報 D 8に含まれるそれぞれの符号化シンボルに対して可 変長符号化テーブルを用いて可変長符号化を行うことによって符号化データ D 9 が生成される。
図 2は画像符号化装置の構成の一例を示すブロック図である。 以下、 図 2に示 した画像符号化装置を参照しつつ、 図 1に示した画像符号化方法についてさらに 説明する。 ·
符号化対象として入力された入力画像 D 1に対し、 まず、 輝度信号画像フレー ムは 1 6画素 X 1 6ライン、 色差信号画像フレームは 8画素 X 8ラインのサイズ で正方形の画像ブロックであるマクロブロックへと分割される。 このマクロブロ ックは、 動き補償などのデータ処理の単位となる画像ブロックである。 なお、 後 述する D C T (直交変換) では、 例えば M P E G— 4符号化方式では、 8画素 X 8ラインのサイズの D C Tブロックが用いられる。 この場合、 1個のマクロブロ ックは、 D C Tにおいて、 4個の輝度 (Y ) ブロックと、 2個の色差 (C b , C r ) ブロックとを有する。 画像符号化はこれらのブロック毎に行われる。
入力画像 D 1は、 動き検出部 1 1及び動き補償部 1 2からなる動き補償手段へ と入力される。 まず、 入力画像 D 1は動き検出部 1 1に入力され、 マクロブロッ ク毎に画像の動きが検出される。 動き検出部 1 1は、 該符号化対象マクロプロッ クの画像データと; 局部復号画像内のマクロブロックと同じ大きさの画像領域で の画像データとを比較することによって、 該符号化対象マクロブロックの画像と 類似する画像領域を検出し、 画像の動きを示す動きべク トル D 2を生成する。
.具体的には、 動き検出部 1 1では、 符号化済のフレーム画像としてフレームメ モリ 2 0に格納されている局部復号画像 D 1 2内の所^^の画像領域を参照して、 入力画像 D 1内の符号化対象となっているマクロブロックに類似する画像領域を 探索する。 そして、 探索の結果検出された該符号化対象マクロブロックの画像デ ータに類似する画像領域と該符号化対象マクロプロックとの間の空間的な移動量 によって、 動きベク トル情報 D 2を決定する。
またこのとき、 予め用意された複数の符号化モードの中から、 該符号化対象マ クロブロックに用いられる符号化モードが選択される。 図 3 A〜Cは、 動き補償 について用意される符号化モードの一例を示す模式図である。 図 3 Aに例示した 符号化モードはィンター符号化モード 0、 図 3 Bに例示した符号化モ一ドはィン ター符号化モード 1、 図 3 Cに例示した符号化モードはィントラ符号化モード 2 である。 - インター符号化モード 0 ~ 1は、 それぞれ異なる動き補償用ブロックへのプロ ック区分を用いてフレーム間符号化を行う場合のモードである。 それぞれでの動 き補償用ブ ックについては、 図 3 Aに示すように、 インター符号化モード 0で は、 輝度成分画像に対して 1 6画素 X I 6ラインのサイズで 1個のブロックが用 いられる。 また、 図 3 Bに示すように、 インター符号化モード 1では、 輝度成分 画像に対して 8画素 X 8ラインのサイズで 4個のブロックが用いられる。
上記動きベク トル情報 D 2は、 選択されたインター符号化モードにおける区分 された動き補償用ブロック毎に付与される。 したがって、 各マクロブロックに対 して、 区分されたブロックの個数分の動きベク トル情報 D 2が付与される。 各動 き補償用ブロックへの動きベク トル情報 D 2の付与の順序については、 例えば、 図 3 A〜C中の各符号化モードにおいて、 ブロック内の数字によって示した順序 で行われる。 なお: 色差成分画像に対しては両インター符号化モードとも 8画素 X 8ラインのサイズのブロックを用い、 輝度成分画像に対する動きべク トルの半 分の長さの動きべク トノレ力 S割り当てられる。
符号化モードの選択方法として一例を挙げると、 例えばマクロブロック内の動 き補償後の予測残差画像の画素値の分散値を求め、 該分散値が予め設定しておい た閾値より大きい場合、 あるいは入力画像における該マクロブロックの画素値の 分散値より大きい場合にはイントラ符号化モードを選択し、 それ以外の場合には インター符号化モードを選択する。 これは該マクロプロックの画像データが複雑 である場合にィントラ符号化モードを選択することを意味する。
ィンター符号化モードが選択された場合には、 マクロプロックを 4つに分割し たブロックごとに動き探索を行うことによって各ブロックに対応する動きべク ト ルおよび画像データの差分値を生成する。 そして、 インター符号化モード 0にお ける 1つの動きべク トルに対する符号量 M (MV) , インター符号化モード 1にお ける 4つの動きベク トルに対する符号量の合計値 M ( 4 MV ) を算出する。 さら にインター符号化モード 0における画像データの差分値 D (MV)、インター符号 化モード 1における画像データの差分値の合計値 D ( 4 MV) を算出する。 そし て、 予め設定してある係数 αを用いて、 M (MV ) + α - D (MV) と Μ ( 4 Μ V) + α ■ D ( 4 MV ) の値を比較し、 例えば前者の方が小さいか等しければィ ンタ一符号化モード 0を、 後者の方が小さければインター符号化モード 1を選択 する。
該符号化モードがィンター符号化モードである場合には、 各動き補償用プロッ クに対して動きべク トルが求められたら、 動き補償部 1 2において、 動き検出部 1 1からの動きべクトル情報 D 2と、 フレームメモリ 2 0からの局部復号画像 D 1 2とを用いて、 予測画像 D 4を生成する。 続いて、 減算器 1 3において、 入力 画像 D 1と予測画像 D 4との間の差分 (予測残差) を求めることによつて予測残 差画像 D 5が生成される。
該符号化モ一ドがィントラ符号化モ一ドである場合には、 予測画像 D 4の画素 データを 0とすることにより、 入力画像 D 1がそのまま予測残差画像 D 5として 出力される。 .
また、 選択された符号化モ一ドを示す情報および量子化パラメータを符号化モ 一ド情報 D 3として、 動きべク トルに関する情報を動きべク トル情報 D 2として 出力する。
予測残差画像 D 5の画像データは、 直交変換部 (直交変換手段) 1 4へと入力 される。 直交変換部 1 4では、 予測残差画像 D 5に対して、 マクロプロックに含 まれる直交変換プロック毎に直交変換が行われて、 周波数画像データである直交 変換係数 D 6が生成される。 例えば M P E G— 4では輝度成分画像に対して 8画 素 X 8ラインのサイズの 4個のブロックが、 それぞれの色差成分画像に対して 8 画素 X 8ラインのサイズの 1個の直交変換ブロックがマクロブロックに含まれる。 図 4 A , Bは、 画像データの直交変換について示す図である。 予測残差画像 D 5内にある直交変換用に分割された各プロックの画像データは空間画像データで あり、 図 4 Aに 8画素 X 8ラインの画像成分によって例示するように、 水平座標 と垂直座標とで規定される 8画素 X 8ラインの空間画像成分 a u a Mによって 表される。 直交変換部 1 4は、 この空間画像データを所定の変換方法で直交変換 することによって、 図 4 Bに示す周波数画像データへと変換する。 この周波数画. 像データは、 水平周波数と垂直周波数とで規定される 8画素 X 8ラインの周波数 画像成分である直交変換係数 f u〜 f 88によって表される。
具体的な直交変換としては、 例えば、 離散コサイン変換 (D C T : Discrete Cosine Transform) を適用することができる。 D C Tは、 フーリエ変換のコサイ ンの項を用いる直交変換であり、 画像符号化において多く用いられている。 空間 画像データに対して D C Tを行うことにより、 周波数画像データである D C T係 数 f u〜 f 88が生成される。 なお、 D C Tにおいては、 例えば M P E G— 4符号化 方式では、 直交変換用のブロックとして、 図 4 A , Bに示したように 8画素 X 8 ラインの D C Tブ'ロックが用いられる。
こうして生成された直交変換係数 D 6は、 量子化部 1 5において所定の量子化 パラメータによって量子化されて、 量子化直交変換係数 D 7が得られる。 また、 ブロック単位に有意な直交変換係数があるか否かを示す C B Pおよび、 マクロブ 口ック内に有意な直交変換係数があるか否かを示す C O Dフラグを生成し、 符号 化補助情報 D 8として出力する。
量子化部 1 5によって生成された量子化直交変換係数 D 7および符号化補助情 報 D 8は可変長符号化部 1 6において可変長符号化され、 これにより入力画像 D 1の圧縮データである符号化データ D 9が生成される。 また、 可変長符号化部 1 6にはさらに動き検出部 1 1によって検出された動きべク トル情報 D 2と、 動き 検出部 1 1において選択された符号化モードおよび量子化パラメータを示す符号 化モード情報 D 3と、 が入力されている。 これらの動きベク トル情報 D 2および 符号化モード情報 D 3も可変長符号化部 1 6において可変長符号化されて、 符号 化データ D 9に多重化される。
また、 量子化部 1· 5において生成された量子化直交変換係数 D 7は、 本画像符 号化装置内において、 逆量子化部 1 7によって逆量子化されて逆量子化直交変換 係数 D 1 0となり、 さらに逆直交変換部 1 8によって逆直交変換されて局部復号 残差画像 D 1 1となる。 そして、 局部復号残差画像 D 1 1と予測画像 D 4とが加 算器 1 9において加算されて、 局部復号画像 D 1 2が生成される。 この局部復号 画像 D 1 2はフレームメモリ 2 0に格納されて、 他のフレーム画像の動き補償に 利用される。
次に、 動画像復号方法及び動画像復号装置の一例を示す。
図 5は、 画像復号方法の一例を概略的に示すフローチャートである。 本復号方 法は、 図 1に示した画像符号化方法によって生成された符号化データ D 9に対し て所定の復号処理操作及び変換処理操作を行って、 局部復号画像 D 1 2と同一の 画像として復号画像 D 1 2を復元する画像復号方法である。
図 5に示した画 ί象復号方法においては、 まず、 符号化データ D 9に対して可変 長復号テーブルを用いて可変長復号を行い、 量子化直交変換係数 D 7を生成する (ステップ S 2 0 1 )。 また、 動きべク トル情報 D 2、 符号化モード情報 D 3、 符 号化補助情報 D 8も同様に可変長復号テーブルを用いて符号化データ D 9から可 変長復号される。
具体的には、 まず、 符号化データ D 9に対して適用する可変長復号テーブルが 設定され、 その可変長復号テーブルを用いて符号化データ D 9が可変長復号され てそれぞれの符号化シンポルが生成される。
次に、 量子化直交変換係数 D 7に対して逆量子化操作を行って逆量子化直交変 換係数 D 1 0を生成し(ステップ S 2 0 2 )、 さらに逆直交変換操作を行って局部 復号残差画像 D 1 1を生成する (ステップ S 2 0 3 )。 そして、 局部復号残差画像 D 1 1および既復号フレームを用いて符号化モード情報 D 3が示す符号化モード を適用して動き補償を行い、 復号画像 D 1 2を復元する (S 2 0 4 )。
図 6は、 動画像復号装置の一例の構成を概略的に示すプロック図である。
復号対象として入力された符号化データ D 9は可変長復号部 2 1に入力され、 所定の可変長復号テ一ブルを用いて可変長復号されて動きベク トル情報 D 2、 符 号化モード情報 D 3、 量子化直交変換係数 D 7、 符号化補助情報 D 8の各復号シ ンボルが生成される。 具体的には可変長復号部 2 1は、 データ圧縮された符号化 データ D 9について、 フレーム画像の先頭から、 マクロブロック毎に符号化デー タ D 9に含まれている各データをビットストリームより読み込み、 それを可変長 復号して、 動きベクトル情報 D 2、 符号化モード情報 D 3、 量子化直交変換係数 D 7、 符号化補助情報 D 8を生成する。 なお、 可変長復号に用いる可変長復号テ 一ブルは、 上述のように適宜各シンボルに応じて切り替えられる。
量子化直交変換係数 D 7は、 逆量子化部 2 2及び逆直交変換部 2 3によって逆 量子化、逆直交変換される。これにより、局部復号残差画像 D 1 1が生成される。 この局部復号残差画像 D 1 1は、 符号化前の予測残差画像 D 5に対応した画像で あるが、 量子化 '逆量子化のプロセスによって情報が失われている。
一方、 動きベク トル情報 D 2及び符号化モード情報 D 3は、 動き補償部 2 4へ と入力される。 動き補償部 2 4では、 符号化モード情報 D 3が示す符号化モード によって画像の動き補償が行われ、 可変長復号部 2 1からの動きべク トル情報 D 2と、 フレームメモリ 2 5に格納されている復号画像とを用いて、 予測画像 D 4 が生成される。 そして、 加算器 2 6において、 局部復号残差画像 D 1 1と予測画 像 D 4とが加算されて、 復元されたフレーム画像が復号画像 D 1 2として出力さ れる。
発明の開示 .
上述したように、 従来の一般的な動画像符号化方式においては、 マクロブロッ ク內の所定のブロック毎に、 有意な画像データが含まれるか否かを示す符号化ブ ロックパタン情報 (C B P ) を伝送することにより、 ブロック毎の画像データ伝 送を省略することができるようにして、 符号化の効率を高めていた。 また符号化 プロックパタン情報は、 輝度信号と色差信号とで異なるェントロピー符号を用い ることにより、 それぞれの信号の特性に合わせてより適したエントロピー符号を 適用して符号化し、 符号化の ¾率を高めていた。
プロック毎の有意な画像データを示す符号化プロックパタン情報は、 当該マク 口ブロックにおける有意な画像データの発生しやすさ、 あるいは有意な画像デー タを持つブロック毎の出現パタンを示しているといえる。 このような情報は、 輝 - 度信号もしくは色差信号の同一の信号においても、 符号化条件や画像の性質によ り、 その性質が大きく異なる。
例えば、 動画像符号化においては量子化パラメータによって直交変換係数を量 子化し、 その過程において、 小さな値を持ち復号画像の品質に大きな影響を与え ないような直交変換係数を 0として省略することにより、 画像データの量を少な くする処理が行われる。
このとき、 量子化パラメータが大きな値を取る場合にはより粗い量子化がなさ れる-ため、 多くの ¾:交変換係数が 0として省略されることとなり、 したがって有 意な画像データを持つブロックが少なくなる。 このとき、 有意な画像データを持 ■つブロックが少ないような符号化プロックパタン情報に対してより符号長の短い 符号が割り当てられた情報源符号化を行うと、 効率的な符号化を行うことができ 他方で量子化パラメータが小さな値を取る場合にはより細かな量子化がなされ るため、 0として省略されてしまう直交変換係数は少なくなり、 したがって有意 な画像データを持つブロックは多くなる。 このような場合、 有意な罔像データを 持つブロックが多いような符号化プロックバタン情報に対してより符号長の長い 符号が割り当てられた情報源符号化を行うと、 効率的な符号化を行うことができ なくなる。
また例えば、 動画像符号化においては、 動き補償フレーム問予測符号化の処理 により、 画像上での動きが大きくかつ複雑であるような領域においては、 予測が 当たりにくく差分画像の信号が大きくなる傾向があるのに対して、 画像上での動 きが小さくかつ単純であるような領域においては、 予測が当たりやすく差分画像 の信号が小さくなる傾向がある。
このとき、 差分画像の信号が大きくなる場合には有意な画像データを持つプロ ックが多くなり、 また差分画像の信号が小さくなる場合には有意な画像データを 持つプロックは少なくなる。 このような場合にも、 ひとつの情報源符号化手段に より符号化プロックパタン情報を符号化すると、 どちらの場合においても効率的 となるような符号化を行うことは難しい。
また、 通常、 動きべク トルは周囲のブロックの動きべク トルの値から符号化対 象となるブロックにおける動きべク トル値を予測した予測動きべク トルと実際の 動きべク トルとの差分である差分動きべク トルが情報源符号化される。 差分動き べク トルは周辺画像の動きが単調な場合にはその大きさが 0に集中する傾向があ るのに対し、 周辺画像の動きが激しい場合には差分動きべク トルの大きさが 0に 集中しない傾向がある。 従ってこのような場合にも、 ひとつの情報源符号化手段 により差分動きべク トルを符号化すると、 どちらの場合においても効率的となる ような符号化を行うことは難しい。
また、 マクロブロックの符号化モードについても、 周辺画像の動きやテクスチ ャが複雑な場合と単調な場合とで発生する符号化モードの確率分布の特性が大き く異なるため、 ひとつの情報源符号化手段により符号化モードを符号化すると、 どちらの場合においても効率的となるような符号化を行うことは難しい。
また、 量子化直交変換係数についても、 符号化条件や画像の性質により、 プロ ック内に発生する係数の分布の特性が大きく異なる。 例えば、 量子化パラメータ が小さな値を取る場合にはより細かな量子化がなされるため、 値の大きな量子化 直交変換係数が多く発生する傾向があるのに対して、 量子化パラメータが大きな 値を取る場合には値の小さな量子化直交変換係数が発生しやすい傾向がある。 こ のような場合にも、 ひとつの情報源符号化手段により量子化直交変換係数を符号 化する'と、 どちらの場合においても効率的となるような符号化を行うことは難し い。 ·
ここで、量子化直交変換係数についてより詳しく述べておく。上述したように、 従来の一般的な画像符号化方式においては、 量子化された直交変換係数に対して さらに可変長符号化すなわち情報源符号化を行い、 直交変換係数の伝送に必要な 情報量を削減することにより、 符号化の効率を高めていた。
直交変換係数について、 どのような情報が発生しやすいかという性質は、 画像 の性質により変化する。 例えば動画像符号化においてィントラ符号化モードであ るかもしくはインター符号化モードであるかによって、 直交変換される画像が画 像そのものであるか、 あるいは動き補償が行われたあとの残差画像であるかが異 なるため、 直交変換係数の性質も大きく異なってくる。 このため一般的な動画像 符号化方式においては、 それぞれの符号化モードにおける直交変換係数に対して それぞれ専用の可変長符号化テーブルを用意することにより、 それぞれの直交変 換係数の性質に適!した情報源符号化がなされるようになっている。
しかしながら直交変換係数は、 符号化しょうとしている直交変換係数そのもの の状況によっても、 どのような情報が発生しやすいかという性質が変化する。 直交変換係数は、 画像信号を直交変換により空間周波数領域での離散信号に変 換した結果として得られるものである。 したがって、 自然画像においては隣接す る画素同士の相関が高く空間低周波領域の信号がより強くなるため、 これを直交 変換した直交変換係数は一般的に、 低周波領域において大きな係数値が密に発生 しゃすくなる一方、 高周波領域においては非ゼロの係数値が発生しにくくなりま た大きな係数値をとることも少ないという特徴がある。 さらに一般的な画像符号 化方式においては、 上述の量子化により、 高周波領域における値の小さな直交変 換係数がゼロとなるような処理がなされる。 これは人間の視覚上における影響の 小さい信号を削減してより符号化効率を高めようとするものであるが、 このよう な処理により、 高周波領域においては係数値が発生しにくくなるという傾向がよ り強くなる。
また直交変換係数では、 自然画像においては各係数の発生はまったく無相関と なるわけではなく、 例えば画像信号に画素値の大きな信号が含まれていれば、 こ れを直交変換した係数値は大きな値をとるものが多くなる。 あるいは逆に、 それ ぞれの直交変換係数が属する周波数領域が離れた領域であれば、 上述の周波数領 域による性質の違いもあり、 各係数の相関は低くなる。
このように直交変換係数は、 それが属する周波数領域などによってその性質が 大きく変化するが、 一般的な画像符号化方式においてはそれらの変化にかかわら ず一律な情報源符号化を行っており、 効率的な情報源符号化を実現できていない という問題があった。
このように従来の動画像符号化においては、 符号化関連情報について、 その性 質が、 符号化条件や画像の性質により異なるために、 情報源符号化を効率的に行 うことができないという問題があった。
本発明は以上の うな問題点を解決するためになされたものであり、 符号化関 連情報の情報源符号化が、 符号化条件や画像の性質に応じて効率的になされるこ とのできる画像符号化装置、 画像復号装置、 画像符号化方法、 画像復号方法、 画 像符号化プログラム及び画像復号プログラムを提供することを課題とする。
上記課題を解決するために、 本発明の画像符号化装置は、 符号化対象画像を所 定サィズのマクロブロックに分害 ijし、 上記マクロブロックをマクロブロックタイ プに基づいて特定される所定の形状およびサイズのプロックに分割し、 上記プロ ックを単位として動き補償予測を行って動きべク トルを出力する動き検出部と、 上記動き検出部によって出力された上記動きべク トルに基づいて参照画像から予 測画像を生成する動き補償部と、 上記動き補償部によって生成された上記予測画 像と上記符号化対象画像との差分演算を行って予測残差画像を出力する減算部と、 上記減算部によって出力された上記予測残差画像を所定の変換プロックを単位と して変換符号化して変換係数を出力する変換部と、 上記変換部によって出力され た上記変換係数を量子化係数に基づいて量子化して量子化変換係数を出力する量 子化部と、 上記動き ·検出部によって出力された上記動きべク トルと上記マクロブ 口ックタイプと上記量子化係数と上記量子化部によって出力された上記量子化変 換係数とを含む符号化関連情報を圧縮符号化した符号化データを出力する符号化 部とを備える画像符号化装置であって、 上記符号化部は、 上記符号化関連情報を 記憶する符号化シンボルメモリと、 1つまたは複数種類の符号化手順を提供する 符号化手順提供部と、 上記符号化シンボルメモリに格納されている符号化関連情 報を利用し、 所定の符号化手順選択基準に基づいて、 上記符号化手順提供部が提 供するいずれかの符号化手順を選択し、 選択された符号化手順に基づいて上記符 号化関連情報を圧縮符号化して符号化データを出力する符号化データ出力部とを 備えることを特徴としている。
また、 これに対応する画像復号装置は、 符号化対象画像が所定サイズのマクロ ブロックに分割され、 上記マクロブロックがマクロブロックタイプに基づいて特 定される所定の形状およびサイズのブロックに分割され、 上記ブロックを単位と して動き補償予測力 S行われて出力された動きべク トノレと、 上記動きべク トルに基 づいて参照画像から予測画像が生成され、 上記予測画像と上記符号化対象画像と の差分演算が行われて予測画像が出力され、 上記予測残差画像が所定の変換プロ シクを単位として変換符号化されて変換係数が出力され、 上記変換係数が量子化 係数に基づいて量子化された量子化変換係数と、 上記マクロブロックタイプと、 上記量子化係数とを含む符号化関連情報を圧縮符号化した符号化データを復号す る復号部を備えた画像復号装置であって、 上記復号部は、 復号済の上記符号化関 連情報を記憶する復号シンボルメモリと、 1つまたは複数種類の復号手順を提供 する復号手順提供部と、 上記復号シンボルメモリに格納されている復号済の符号 化関連情報を利用し、 所定の復号手順選択基準に基づいて、 上記復号手順提供部 が提供するレ、ずれかの復号手順であつて復号対象となる符号化関連情報の符号ィ匕 に用いられた符号化手順に対応する復号手順を選択し、 選択された復号手順に基 づいて上記符号化関連情報を復号して復号データを出力する復号データ出力部と を備えることを特徴としている。
また、 上記課題を解決するために本発明の画像符号化方法は、 符号化対象画像 を所定サイズのマクロブロックに分割し、 上記マクロブロックをマクロブロック タイプに基づいて特定される所定の形状およびサイズのプロックに分割し、 上記 プロックを単位として動き補償予測を行って動きべク トルを出力する動き検出ス テツプと、 上記動き検出ステップにおいて出力された上記動きべク トルに基づい て参照画像から予測画像を生成する動き補償ステップと、 上記動き補償ステップ において生成された上記予測画像と上記符号化対象画像との差分演算を行って予 測残差画像を出力する減算ステップと、 上記減算ステップにおいて出力された上 記予測残差画像を所定の変換プロックを単位として変換符号化して変換係数を出 力する変換ステップと、 上記変換ステップにおいて出力された上記変換係数を量 子化係数に基づいて量子化して量子化変換係数を出力する量子化ステップと、 上 記動き検出ステツ 0において出力された上記動きべク トルと上記マクロブロック タイプと上記量子化係数と上記量子化ステツプにおいて出力された上記量子化変 換係数とを含む符号化関連情報を圧縮符号化した符号化データを出力する符号化 ステップとを備える画像符号化方法であって、 上記符号化ステップは、 1つまた は複数種類の符号化手順を用意しておき、 符号化シンボルメモリに格納されてい る符号化関連情報を利用し、 所定の符号化手順選択基準に基づいて、 上記 1つま たは複数種類の符号化手順の中からいずれかの符号化手順を選択し、 選択された 符号化手順に基づいて上記符号化関連情報を圧縮符号化して符号化データを出力 することを特徴としている。
また、 これに対応する画像復号方法は、 符号化対象画像が所定サイズのマクロ ブロックに分割され、 上記マクロブロックがマクロブロックタイプに基づいて特 定される所定の形状およびサイズのプロックに分割され、 上記プロックを単位と して動き補償予測が行われて出力された動きべク トルと、 上記動きべク トルに基 づいて参照画像から予測画像が生成され、 上記予測画像と上記符号化対象画像と の差分演算が行われて予測画像が出力され、 上記予測残差画像が所定の変換プロ ックを単位として変換符号化されて変換係数が出力され、 上記変換係数が量子化 • 係数に基づいて量子化された量子化変換係数と、 上記マクロブロックタイプと、 上記量子化係数とを含む符号化関連情報を圧縮符号化した符号化データを復号す る復号ステップを備えた画像復号方法であって、 上記復号ステップは、 1つまた は複数種類の復号手順を用意しておき、 復号シンボルメモリに格納されている復 号済の符号化関連情報を利用し、 所定の復号手順選択基準に基づいて、 上記 1つ または複数種類の復号手順の中からいずれかの復号手順であつて復号対象となる 符号化関連情報の符号化に用いられた符号化手順に対応する復号手順を選択し、 選択された復号手順に基づいて上記符号化関連情報を復号して復号データを出力 することを特徴としている。
また、 上記課題を解決するために、 本発明の画像符号化プログラムは、 コンビ ユータを、 符号化 ¾象画像を所定サイズのマクロブロックに分割し、 上記マクロ ブロックをマクロプロックタイプに基づい Γ特定される所定の形状およびサイズ のプロックに分割し、 上記プロックを単位として動き補償予測を行って動きべク トルを出力する動き検出手段と、 上記動き検出手段によって出力された上記動き ベタ トルに基づいて参照画像から予測画像を生成する動き補償手段と、 上記動き 補償手段によって生成された上記予測画像と上記符号化対象画像との差分演算を 行って予測残差画像を出力する減算手段と、 上記減算手段によって出力された上 記予測残差画像を所定の変換プロックを単位として変換符号化して変換係数を出 力する変換手段と、 上記変換手段によって出力された上記変換係数を量子化係数 に基づいて量子化して量子化変換係数を出力する量子化手段と、 上記動き検出手 段によって出力された上記動きべク トルと上記マクロブロックタイプと上記量子 化係数と上記量子化手段によって出力された上記量子化変換係数とを含む符号化 関連情報を圧縮符号化した符号化データを出力する符号化手段として機能きせる 画像符号化プログラムであって、 上記符号化手段は、 1つまたは複数種類の符号 化手順を提供する符号化手順提供手段と、 符号化シンボルメモリに格納されてい る符号化関連情報を利用し、 所定の符号化手順選択基準に基づいて、 上記符号化 手順提供手段が提供するいずれかの符号化手順を選択し、 選択された符号化手順 に基づいて上記符号化関連情報を圧縮符号化して符号化データを出力する符号化 データ出力手段とを備えることを特徴としている。
また、 これに対応する画像復号プログラムは、 コンピュータを、 符号化対象画 像が所定サイズのマクロブ口ックに分割され、 上記マクロブロックがマクロブ口 ックタイプに基づいて特定される所定の形状およびサイズのブ口ックに分割され、 上記ブロックを単位として動き補償予測が行われて出力された動きべク トルと、 上記動きべク トルに基づいて参照画像から予測画像が生成され、 上記予測画像と 上記符号化対象画像との差分演算が行われて予測画像が出力され、 上記予測残差 画像が所定の変換プロックを単位として変換符号化されて変換係数が出力され、 上記変換係数が量牛化係数に基づいて量子化された量子化変換係数と、 上記マク ロブロックタイプと、 上記量子化係数とを含む符号化関連情報を圧縮符号化した 符号化データを復号する復号手段として機能させる画像復号プログラムであって、 上記復号手段は、 1つまたは複数種類の復号手順を提供する復号手順提供手段と、 復号シンボルメモリに格納されている復号済の符号化関連情報を利用し、 所定の 復号手順選択基準に基づいて、 上記復号手順提供手段が提供するいずれかの復号 手順であって復号対象となる符号化関連情報の符号化に用いられた符号化手順に 対応する復号手順を選択し、 選択された復号手順に基づいて上記符号化関連情報 を復号して復号データを出力する復号データ出力手段とを備えることを特徴とし ている。
上述の画像符号化装置、 画像符号化方法及び画像符号化プログラムは、 ひとつ の符号化関連情報について情報源符号化を行うための手順を複数用意し、 プロッ クにおける当該符号化関連情報の情報源符号化に用レ、る手順をこれら複数の手順 から選択する。 従って、 上述のように変化する符号化シンボルの性質に適した情 報源符号化に用いる'手順を、 複数の手順の中から選択することができる。 その結 果、 符号化条件や画像の性質に応じて、 符号化シンボルの情報源符号化を効率的 に行うことが可能となる。 また、 上述の画像復号装置、 画像復号方法及び画像復号プログラムは、 ひとつ の符号化関連情報について情報源復号を行うための手順を複数用意し、 プロック における当該符号化関連情報の情報源復号に用いる手順をこれら複数の手順から 選択する。 従って、 上述の画像符号化装置、 画像符号化方法及び画像符号化プロ グラムによつて符号化された符号化データを正しく復号することができる。 また、 本発明の画像符号化装置においては、 上記符号化部は、 上記マクロプロ ック内のそれぞれの上記変換ブロックについて、 非零である上記量子化変換係数 が存在するか否かを示す非零係数存在フラグを含む符号化プロックパタン情報を 圧縮符号化する機能を備え、 上記符号化手順提供部は、 当該符号化対象マクロブ 口ックにおける符每化ブロックパタン情報を符号化するときに、 該符号化対象マ クロブロックの周囲マクロブ口ックと当該符号化対象マクロプロックとの間で上 記符号化プロックパタン情報の空間的相関が高くなるほど符号長が短くなるよう な符号化手順を提供することを特徴とすることもできる。 '
また、 これに対応する画像復号装置においては、 上記復号部は、 上記マクロブ ロック内のそれぞれの上記変換ブロックについて、 非零である上記量子化変換係 数が存在するか否かを示す非零係数存在フラグを含む符号化プロックバタン情報 を復号する機能を備え、 上記復号手順提供部は、 当該符号化対象マクロブロック における符号化プロックパタン情報を復号するときに、 該符号化対象マクロプロ ックの周囲マクロブロックと当該符号化対象マクロブロックとの間で上記符号化 プロックパタン情報の空間的相関が高くなるほど符号長が短くなるように提供さ れた符号化手順に対応する復号手順を提供する。
また、 本発明の画像符号化装置においては、 上記符号化手順提供部は、 当該符 号化対象マクロブロックの周囲マクロブロックにおけるマクロブロックタイプが 当該符号化対象マク'ロブ口ックを最も多くのプロックに分割することを示すマク ロブロックタイプである場合には、 当該符号化対象マクロブロック内の全ての符 号化プロックは非零である量子化変換係数を持つことを示す符号化プロックバタ ン情報を持つものとして、 当該符号化対象マクロプロックにおける符号化プロッ クバタン情報を符号化するときに、 当該符号化対象マクロプロックの周囲マクロ ブロックと当該符号化対象マクロブロックとの間で上記符号化ブロックパタン情 報の空間的相関が高くなるほど符号長が短くなるような符号化手順を提供するこ とを特徴とすることもできる。
また、 これに対応する画像復号装置においては、 上記復号手順提供部は、 当該 符号化対象マクロプロックの周囲マクロブ口ックにおけるマクロブ口ックタイプ が当該符号化対象マクロプロックを最も多くのプロックに分割することを示すマ クロプロックタイプである場合には、 当該符号化対象マクロブロック内の全ての 符号化プロックは^零である量子化変換係数を持つことを示す符号化プロックパ タン情報を持つものとして、 当該符号化対象マクロブロックにおける符号化プロ ックパタン情報を復号するときに、 当該符号化対象マクロブロックの周囲マクロ ブロックと当該符号化対象マクロブロックとの間で上記符号化プロックパタン情 報の空間的相関が高くなるほど符号長が短くなるように提供された符号化手順に 対応する復号手順を提供する。
さらに、 本発明の画像符号化装置においては、 上記符号化手順提供部は、 当該 符号化対象マクロプロックにおける上記符号化プロックパタン情報を符号化する ときに、 当該符号化対象マクロプロックにおける量子化係数の大きさが予め設定 された閾値より大きい場合には、 非零である量子化変換係数を含むプロック数が より少ないことを示す上記符号化ブロックパタン情報に対して符号長がより短く なるような符号化手順を提供することを特徴とすることもできる。
これに対応する画像復号装置においては、 上記復号手順提供部は、 当該符号化 対象マクロブロックにおける上記符号化プロックバタン情報を復号するときに、 当該符号化対象マグロブロックにおける量子化係数の大きさが予め設定された閾 値より大きい場合には、 非零である量子化変換係数を含むプロック数がより少な いことを示す上記符号化ブロックパタン情報に対して符号長がより短くなるよう に提供された符号化手順に対応する復号手順を提供する。
また、 本発明の画像符号化装置においては、 上記符号化手順提供部は、 当該符 号化対象マクロプロックにおける上記符号化プロックパタン情報を符号化すると きに、 当該符号化対象マクロブロックの周囲マクロブロックに含まれるブロック 数が多いほど符号長の偏りが小さくなるような符号化手順を提供することを特徴 とすることもできる。
また、 これに対応する画像復号装置においては、 上記復号手順提供部は、 当該 符号化対象マクロプロックにおける上記符号化プロックパタン情報を復号すると きに、 当該符号化対象マクロブロックの周囲マクロブロックに含まれるブロック 数が多いほど符号長の偏りが小さくなるように提供された符号化手順に対応する 復号手順を提供する。
また、 本発明の画像符号化装置においては、 上記符号化手順提供部は、 当該符 号化対象マクロプロックにおける上記量子化変換係数を符号化するときに、 当該 符号化対象マク口プロックの周囲マク口ブロ '夕クにおける上記量子化変換係数の 絶対値が大きいほど符号長の偏りが小さくなるような符号化手順を提供すること を特徴とすることもできる。
これに対応する画像復号装置においては、 上記復号手順提供部は、 当該符号化 対象マクロプロックにおける上記量子化変換係数を復号するときに、 当該符号化 対象マクロブロックの周囲マクロブロックにおける上記量子化変換係数の絶対値 が大きいほど符号長の偏りが小さくなるように提供された符号化手順に対応する 復号手順を提供する。
また、 本発明の画像符号化装置においては、 上記符号化手順提供部は、 当該符. 号化対象マクロブロックにおける上記マクロブロックタイプを符号化するときに、 当該符号化対象マグロブロックの周囲マクロブロックと当該符号化対象マク口ブ 口ックとの間で上記マクロプロックタイプの空間的相関が高くなるほど符号長が 短くなるような符号化手順を提供することを特徴とすることもできる。 これに対応する画像復号装置においては、 上記復号手順提供部は、 当該符号化 対象マクロプロックにおける上記マクロプロックタイプを復号するときに、 当該 符号化対象マクロブロックの周囲マクロブロックと当該符号化対象マクロブロッ クとの間で上記マクロプロックタイプの空問的相関が高くなるほど符号長が短く なるように提供された符号化手順に対応する復号手順を提供する。
また、 本発明の画像符号化装置においては、 上記符号化手順提供部は、 当該符 号化対象マクロブロックにおける上記マクロブロックタイプを符号化するときに、 より多くのプロックを含むマクロプロックタイプに対して符号長がより短くなる ような符号化手順を提供することを特徴とすることもできる。
これに対応する ¾像復号装置においては、 上記復号手順提供部は、 当該符号化 対象マクロプロックにおける上記マクロプロックタイプを復号するときに、 より 多くのプロックを含むマクロブロックタイプに対して符号長がより短くなるよう に提供された符号化手順に対応する復号手順を提供する。
また、 本発明の画像符号化装置において'は、 上記符号化部は、 上記ブロック内 の上記非零である量子化変換係数の数を符号化する機能を備え、 上記符号化手順 提供部は、 当該符号化対象マクロプロックにおける上記非零である量子化変換係 数の数を符号化するときに、 当該符号化対象プロックの周囲プロックにおける上 記非零である量子化変換係数の数が予め設定された閾値より小さい場合には、 上 記非零である量子化変換係数の数が小さいほど符号長が短く ¾るような符号化手 順を提供することを特徴とすることもできる。
これに対応する画像復号装置においては、 上記復号部は、 上記ブロック内の上 記非零である量子化変換係数の数を復号する機能を備え、上記復号手順提供部は、 当該符号化対象マクロブロックにおける上記非零である量子化変換係数の数を復 号するときに、 当該符号化対象ブロックの周囲ブロックにおける上記非零である 量子化変換係数の数が予め設定された閾値より小さい場合には、 上記非零である 量子化変換係数の数が小さいほど符号長が短くなるように提供された符号化手順 に対応する復号手順を提供する。
また、 本発明の画像符号化装置においては、 上記符号化シンボルメモリは、 周 囲ブロックから予測した予測動きべク トルと実際の動きべク トルの差分値である 差分動きべク トル値を保持する機能を備え、 上記符号化手順提供部は、 当該符号 化対象マクロプロックにおける上記符号化プロックパタン情報を符号化するとき に、 当該符号化対象マクロプロックの周囲マクロブロックにおける差分動きべク トル値の大きさが予め設定された閾値より大きい場合には、 非零である量子化変 換係数を含むプロック数がより多いことを示す符号化プロックパタン情報に対し て符号長がより短くなるような符号化手順を提供することを特徴とすることもで きる。 '
これに対応する画像復号装置においては、 上記復号シンボルメモリは、 周囲ブ ロックから予測した予測動きべクトルと実際の動きべク トルの差分値である差分 動きべク トル値を保持する機能を備え、 上記復号手順提供部は、 当該符号化対象 マクロプロックにおける上記符号化プロックパタン情報を復号するときに、 当該 符号化対象マクロブロックの周囲マクロブロックにおける差分動きべク トル値の 大きさが予め設定された閾値より大きい場合には、 非零である量子化変換係数を 含むプロック数がより多いことを示す符号化プロックパタン情報に対して符号長 がより短くなるように提供された符号化手順に対応する復号手順を提供する。 また、 本発明の画像符号化装置においては、 上記符号化シンボルメモリは、 周 囲ブロックから予測した予測動きべク トルと実際の動きべク トルの差分値である 差分動きべク トル値を保持する機能を備え、 上記符号化手順提供部は、 当該符号 化対象マクロブロックにおける上記差分動きべク トル値を符号化するときに、 当 該符号化対象プロックの周囲プロックにおける差分動きべク トル値の大きさが予 め設定された閾値よ ·り小さい場合には、 より小さい差分動きべク トル値に対して 符号長がより短くなるような符号化手順を提供することを特徴とすることもでき る。 これに対応する画像復号装置においては、 上記復号シンボルメモリは、 周囲ブ ロックから予測した予測動きべク トルと実際の動きべク トルの差分値である差分 動きべク トル値を保持する機能を備え、 上記復号手順提供部は、 当該符号化対象 マクロブロックにおける上記差分動きべク トル値を復号するときに、 当該符号化 対象ブロックの周囲ブロックにおける差分動きべク トル値の大きさが予め設定さ れた閾値より小さい場合には、 より小さい差分動きべク トル値に対して符号長が より短くなるように提供された符号化手順に対応する復号手順を提供する。 また、 本発明の画像符号化装置においては、 上記符号化シンボルメモリは、 周 囲ブロックから予測した予測動きベク トルと実際の動きべク トルの差分値である 差分動きべク トル feを保持する機能を備え、 上記符号化手順提供部は、 当該符号 化対象マクロブロックにおける上記マクロブロックタイプを符号化するときに、 当該符号化対象ブロックの周囲ブロックにおける差分動きべク w直の大きさが 予め設定された閾値より大きい場合には、 より多くのブロックを含むマクロブロ ックタイプに対して符号長がより短くなるような符号化手順を提供することを特 徴とすることもできる。
これに対応する画像復号装置においては、 上記復号シンボルメモリは、 周囲ブ ロックから予測した予測動きべク トルと実際の動きべク トルの差分値である差分 動きべク トル値を保持する機能を備え、 上記復号手順提供部は、 当該符号化対象 マクロブロックにおける上記マクロブロックタイプを復号するときに、 当該符号 化対象ブロックの周囲ブロックにおける差分動きべク トル値の大きさが予め設定 された閾値より大きい場合には、 より多くのプロックを含むマクロプロックタイ プに対して符号長がより短くなるように提供された符号化手順に対応する復号手 順を提供する。
また、 上記課題を解決するために、 本発明の画像符号化装置は、 符号化対象画 像または上記符号化対象画像に基づいて生成された予測残差画像を所定の変換ブ 口ックに分割し、 上記符号化対象画像または上記予測残差画像を上記変換プロッ クを単位として変換符号化し変換係数を出力する変換部と、 上記変換部によって 出力された上記変換係数を量子化係数に基づいて量子化して量子化変換係数を出 力する量子化部と、 上記量子化係数と上記量子化部によって出力された上記量子 化変換係数とを含む符号化関連情報を圧縮符号化した符号化データを出力する符 号化部とを備える画像符号化装置であって、 上記符号化部は、 当該符号化対象ブ 口ック内の上記量子化変換係数を周波数に応じて 1次元系列に変換し、 上記 1次 元系列における上記量子化変換係数の絶対値が 0となる係数の連続数であるゼロ ラン値と上記量子化変換係数の絶対値であるレベル値と上記量子化変換係数の正 負を示す正負符号とを符号化する機能を備え、 上記符号化関連情報を記憶する符 号化シンボルメモ'リと、 1つまたは複数種類の符号化手順を提供する符号化手順 提供部と、上記符号化シンボルメモリに格納されている符号化関連情報を利用し、 所定の符号化手順選択基準に基づいて、 上記符号化手順提供部が提供するいずれ かの符号化手順を選択し、 選択された符号化手順に基づいて上記符号化関連情報 を圧縮符号化し符号化データを出力する符号化データ出力部とを備えることを特 徴としている。
これに対応する画像復号装置は、 符号化対象画像または上記符号化対象画像に 基づいて生成された予測残差画像を所定の変換プロックに分割し、 上記符号化対 象画像または上記予測残差画像を上記変換プロックを単位として変換符号化して 変換係数を出力し、 出力された上記変換係数を量子化係数に基づいて量子化して 出力された量子化変換係数と、 上記量子化係数とを含む符号化関連情報を圧縮符 号化した符号化データを復号する復号部を備える画像復号装置であって、 上記復 号部は、 当該符号化対象プロック内の上記量子化変換係数を周波数に応じて 1次 元系列に変換し、 上記 1次元系列における上記量子化変換係数の絶対値が 0とな る係数の連続数であるゼ口ラン値と上記量子化変換係数の絶対値であるレベル値 と上記量子化変換係数の正負を示す正負符号とを復号する機能を備え、 復号済の 上記符号化関連情報を記憶する復号シンボルメモリと、 1つまたは複数種類の復 号手順を提供する復号手順提供部と、 上記復号シンボルメモリに格納されている 復号済の符号化関連情報を利用し、 所定の符号化手順選択基準に基づいて、 上記 復号手順提供部が提供するいずれかの復号手順であって復号対象となる符号化関 連情報の符号化に用いられた符号化手順に対応する復号手順を選択し、 選択され た復号手順に基づいて上記符号化関連情報を復号して復号データを出力する復号 データ出力部とを備えることを特徴としている。
また、 上記課題を解決するために、 本発明の画像符号化方法は、 符号化対象画 像または上記符号化対象画像に基づいて生成された予測残差画像を所定の変換ブ 口ックに分割し、 上記符号化対象画像または上記予測残差画像を上記変換プロッ クを単位として変換符号化し変換係数を出力する変換ステップと、 上記変換ステ ップにおいて出力された上記変換係数を量子化係数に基づいて量子化して量子化 変換係数を出力する量子化ステップと、 上記量子化係数と上記量子化ステップに おいて出力された上記量子化変換係数とを含む符号化関連情報を圧縮符号化した 符号化データを出力する符号化ステップとを備える画像符号化方法であって、 上 記符号化ステップは、 当該符号化対象ブロック内の上記量子化変換係数を周波数 に応じて 1次元系列に変換し、 上記 1次元系列における上記量子化変換係数の絶 対値が 0となる係数の連続数であるゼロラン値と上記量子化変換係数の絶対値で あるレベル値と上記量子化変換係数の正負を示す正負符号とを符号化するステツ プであって、 1つまたは複数種類の符号化手順を用意しておき、 符号化シンボル メモリに格納されている符号化関連情報を利用し、 所定の符号化手順選択基準に 基づいて、 上記 1つまたは複数種類の符号化手順の中からいずれかの符号化手順 を選択し、 選択された符号化手順に基づいて上記符号化関連情報を圧縮符号化し 符号化データを出力することを特徴としている。
これに対応する画像復号方法は、 符号化対象画像または上記符号化対象画像に 基づいて生成された予測残差画像を所定の変換プロックに分割し、 上記符号化対 象画像または上記予測残差画像を上記変換プロックを単位として変換符号化して 変換係数を出力し、 出力された上記変換係数を量子化係数に基づいて量子化して 出力された量子化変換係数と、 上記量子化係数とを含む符号化関連情報を圧縮符 号化した符号化データを復号する復号ステップを備える画像復号方法であって、 上記復号ステップは、 当該符号化対象プロック内の上記量子化変換係数を周波数 に応じて 1次元系列に変換し、 上記 1次元系列における上記量子化変換係数の絶 対値が 0となる係数の連続数であるゼロラン値と上記量子化変換係数の絶対値で あるレベル値と上記量子化変換係数の正負を示す正負符号とを復号するステップ であって、 1つまたは複数種類の復号手順を用意しておき、 復号シンボルメモリ に格納されている復号済の符号化関連情報を利用し、 所定の符号化手順選択基準 に基づいて、 上記' 1つまたは複数種類の復号手順の中からいずれかの復号手順で あって復号対象となる符号化関連情報の符号化に用いられた符号化手順に対応す る復号手順を選択し、 選択された復号手順に基づいて上記符号化関連情報を復号 して復号データを出力することを特徴としている。
また、 上記課題を解決するために、 本発明の画像符号化プログラムは、 コンビ ユータを、 符号化対象画像または上記符号化対象画像に基づいて生成された予測 残差画像を所定の変換プロックに分割し、 上記符号化対象画像または上記予測残 差画像を上記変換プロックを単位として変換符号化し変換係数を出力する変換手 段と、 上記変換手段によって出力された上記変換係数を量子化係数に基づいて量 子化して量子化変換係数を出力する量子化手段と、 上記量子化係数と上記量子化 手段によって出力された上記量子化変換係数とを含む符号化関連情報を圧縮符号 化した符号化データを出力する符号化手段として機能させる画像符号化プログラ ムであって、 上記符号化手段は、 当該符号化対象ブロック内の上記量子化変換係 数を周波数に応じて 1次元系列に変換し、 上記 1次元系列における上記量子化変 換係数の絶対値がひとなる係数の連続数であるゼロラン値と上記量子化変換係数 の絶対値であるレベル値と上記量子化変換係数の正負を示す正負符号とを符号化 する手段を備え.、 1つまたは複数種類の符号化手順を提供する符号化手順提供手 段と、 符号化シンボルメモリに格納されている符号化関連情報を利用し、 所定の 符号化手順選択基準に基づいて、 上記符号化手順提供手段が提供するいずれかの 符号化手順を選択し、 選択された符号化手順に基づいて上記符号化関連情報を圧 縮符号化し符号化データを出力する符号化データ出力手段とを備えることを特徴 としている。
これに対応する画像復号プログラムは、 コンピュータを、 符号化対象画像また は上記符号化対象画像に基づいて生成された予測残差画像を所定の変換ブロック に分割し、 上記符号化対象画像または上記予測残差画像を上記変換プロックを単 位として変換符号化して変換係数を出力し、 出力された上記変換係数を量子化係 数に基づいて量子化して出力された量子化変換係数と、 上記量子化係数とを含む 符号化関連情報を圧縮符号化した符号化データを復号する復号手段として機能さ せる画像復号プログラムであって、 上記復号手段は、 当該符号化対象ブロック内 の上記量子化変換係数を周波数に応じて 1次元系列に変換し、 上記 1次元系列に おける上記量子化変換係数の絶対値が 0となる係数の連続数であるゼロラン値と 上記量子化変換係数の絶対値であるレベル ^(直と上記量子化変換係数の正負を示す 正負符号とを復号する手段を備え、 1つまたは複数種類の復号手順を提供する復 号手順提供手段と、 復号シンボルメモリに格納されている符号化関連情報を利用 し、 所定の符号化手順選択基準に基づいて、 上記復号手順提供手段が提供するい ずれかの復号手順であって復号対象となる符号化関連情報の符号化に用いられた 符号化手順に対応する復号手順を選択し、 選択された復号手順に基づいて上記符 号化関連情報を復号して復号データを出力する復号データ出力手段とを備えるこ とを特徴としている。
上述の画像符号化装置、 画像符号化方法及び画像符号化プログラムは、 ひとつ の符号化関連情報について情報源符号化を行うための手順を複数用意し、 プロッ クにおける当該符号化関連情報の情報源符号化に用いる手順をこれら複数の手順 から選択する。 従って、 上述のように変化する符号化シンボルの性質に適した情 報源符号化に用いる手順を、 複数の手順の中から選択することができる。 その結 果、 符号化条件や画像の性質に応じて、 符号化シンボルの情報源符号化を効率的 に行うことが可能となる。
また、 上述の画像復号装置、 画像復号方法及び画像復号プログラムは、 ひとつ の符号化関連情報について情報源復号を行うための手順を複数用意し、 プロック における当該符号化関連情報の情報源復号に用いる手順をこれら複数の手順から 選択する。 従って、 上述の画像符号化装置、 画像符号化方法及び画像符号化プロ グラムによつて符号化された符号化データを正しく復号することができる。 本発明の画像符号化装置においては、 上記符号化手順提供部は、 上記レベル値 を符号化するとき(こ、 符号化対象レベル値の近傍の周波数におけるレベル値によ り近い値に対して符号長がより短ぐなるような符号化手順を提供することを特徴 とすることもできる。
これに対応する画像復号装置においては、 上記復号手順提供部は、 上記レベル 値を復号するときに、 符号化対象レベル値の近傍の周波数におけるレベル値によ り近い値に対して符号長がより短くなるように提供された符号化手順に対応する 復号手順を提供する。
また、 本発明の画像符号化装置においては、 上記符号化手順提供部は、 上記レ ベル値を符号化するときに、 符号化対象レベル値の近傍の周波数におけるゼロラ ン値が予め設定された閾値より大きい場合には、 小さいレベル値ほど符号長が短 くなるような符号化手順を提供することを特徴とすることもできる。
これに対応する画像復号装置においては、 上記復号手順提供部は、 上記レベル 値を復号するときに、 符号化対象レベル値の近傍の周波数におけるゼロラン値が 予め設定された閾値より大きい場合には、 小さいレベル値ほど符号長が短くなる ように提供された符号化手順に対応する復号手順を提供する。
また、 本発明の画像符号化装置においては、 上記符号化手順提供部は、 上記レ ベル値を符号化するときに、 符号化対象レベル値の周波数帯域が大きいほど符号 長の偏りが大きくなるような符号化手順を提供することを特徴とすることもでき る。
これに対応する画像復号装置においては、 上記復号手順提供部は、 上記レベル 値を復号するときに、 符号化対象レベル値の周波数帯域が大きいほど符号長の偏 りが大きくなるように提供された符号化手順に対応する復号手順を提供する。 また、 本発明の画像符号化装置においては、 上記符号化手順提供部は、 上記レ ベル値を符号化するときに、 符号化対象レべノレ値の近傍の周波数におけるレベル 値が小さくなるほど符号長の偏りが小さくなるような符号化手順を提供すること を特徴とすることもできる。
これに対応する ¾像復号装置においては、 上記復号手順提供部は、 上記レベル 値を復号するときに、 符号化対象レベル値の近傍の周波数におけるレベル値が小 さくなるほど符号長の偏りが小さくなるように提供された符号化手順に対応する 復号手順を提供する。
また、 本発明の画像符号化装置においては、 上記符号化手順提供部は、 上記ゼ ロラン値を符号化するときに、 符号化対象ゼロラン値の近傍の周波数におけるレ ベル値が小さくなるほど符号長の偏りが大きくなるような符号化手順を提供する ことを特徴とすることもできる。
これに対応する画像復号装置においては、 上記復号手順提供部は、 上記ゼロラ ン値を復号するときに、 符号化対象ゼロラン値の近傍の周波数におけるレベル値 が小さくなるほど符号長の偏りが大きくなるように提供された符号化手順に対応 する復号手順を提供する。
また、 本発明の画像符号化装置においては、 上記符号化部は、 上記符号化対象 プロック内の非零である量子化変換係数の数を圧縮符号化する機能を備え、 上記 符号化対象プロック'の非零である量子化係数の数が予め設定された閾値より小さ い場合には、上記レベル値および上記ゼロラン値を低周波成分から順に符号化し、 上記符号化対象プロックの非零である量子化係数の数が予め設定された閾ィ直より 大きい場合には、 上記レベル値および上記ゼロラン値を高周波成分から順に符号 化することを特徴とすることもできる。
これに対応する画像復号装置においては、 上記復号部は、 上記符号化対象プロ ック内の非零である量子化変換係数の数を復号する機能を備え、 上記符号化対象 プロックの非零である量子化係数の数が予め設定された閾値より小さい場合には、 上記レベル値および上記ゼロラン値を低周波成分から順に復号し、 上記符号化対 象ブロックの非零である量子化係数の数が予め設定された閾値より大きい場合に は、 上記レベル値および上記ゼ口ラン値を高周波成分から順に復号する。
また、 上記課題を解決するために、 本発明の画像符号化方法は、 画像を所定サ ィズのブ口ックに 割して符号化し、 上記ブロックの単位にて符号化関連情報を 情報源符号化して符号化データ出力とする画像符号化方法であって、 ひとつの符 号化関連情報について上記情報源符号化を行うための手段を複数用意し、 上記ブ 口ックにおける当該符号化関連情報の情報源符号化に用いる手段を上記複数の手 段から選択することを特徴とする。
また、 上記課題を解決するために本発明の画像符号化装置は、 画像を所定サイ ズのブ口ックに分割して符号化し、 上記プロックの単位にて符号化関連情報を情 報源符号化して符号化データ出力とする画像符号化装置であって、 ひとつの符号 化関連情報について上記情報源符号化を行うための手段を複数備え、 上記プロッ クにおける当該符号化関連情報の情報源符号化に用いる手段を上記複数の手段か ら選択することを特徴とする。
ひとつの符号化関連情報について情報源符号化を行うための手段を複数用意し、 プロックにおける当該符号化関連情報の情報源符号化に用いる手段をこれら複数 の手段から選択することにより、 多様に変化する符号化シンボルの性質に適した 情報源符号化に用いる手段を、 複数の手段の中から選択することができる。
また、 本発明の画像復号方法は、 画像が所定サイズのブロックに分割され、 上 記ブロックの単位にて符号化関連情報が情報源符号化された符号化データ入力を 後号する画像復号方法であって、 ひとつの符号化関連情報について情報源復号を 行うための手段を複数用意し、 上記プロックにおける当該符号化関連情報の情報 源復号に用いる手段を上記複数の手段から選択することを.特徴とする。
また、 本発明の画像復号装置は、 画像が所定サイズのブロックに分割され、 上 記プロックの単位にて符号化関連情報が情報源符号化された符号化データ入力を 復号する画像復号装置であって、 ひとつの符号化関連情報について情報源復号を 行うための手段を複数備え、 上記プロックにおける当該符号化関連情報の情報源 復号に用いる手段を上記複数の手段から選択することを特徴とする。
このような構成をとることで、 上述の画像符号化方法または画像符号化装置に よって符号化され 符号化データを正しく復号することができる。
また、 本発明の画像符号化方法、 画像符号化装置においては、 上記情報源符号 化に用いる手段の選択は、 当該プロックにおいて適用される符号化関連†青報に基 づくことを特徴することが好適である。
情報源符号化に用いる手段の選択を、 当該プロックにおいて適用される符号化 関連情報に基づいて行うことで、 上述のように当該ブロックに適用される符号化 条件に応じて変化する符号化シンボルの性質に適した、 情報源符号化を行うこと ができる。
また、 本発明の画像復号方法、 画像復号装置においては、 上記情報源復号に用 いる手段の選択は、 当該プロックにおいて適用される符号化関連情報に基づくこ とを特徴することが好適である。
このような構成をとることで、 上述の画像符号化方法または画像符号化装置に よって符号化された符号化データを正しく復号することができる。
この場合、 符号化関連情報には、 当該符号化関連情報の符号化に先立って符号 化される同じ種類の符号化関連情報、 当該符号化関連情報の符号化に先立って符 号化される異なる種類の符号化関連情報を含ませることができ、 また、 情報源符 号化に用いる手段の選択を符号化関連情報が情報源符号化される際の符号表上の 順位に基づいて行うようにすることもできる。
また、 本発明の画像符号化方法、 画像符号化装置においては、 上記情報源符号 化に用いる手段の選択は、 当該プロックの近隣に位置するプロックにおいて適用 される符号化関連情報に基づくことを特徴することもできる。
情報源符号化に用いる手段の選択を、 当該ブロックの近隣に位置するブロック において適用される符号化関連情報に基づいて行うことで、 上述のように当該ブ ロックが含まれる画像上の領域における画像の性質によつて変化する符号化関連 情報の性質を、 近隣に位置するブロックにおける符号化関連情報から予測し、 符 号化関連情報の性質に適した、 情報源符号化を行うことができる。
また、 本発明の 像復号方法、 画像復号装置においては、 上記情報源復号に用 いる手段の選択は、 当該プロックの近隣に位置するプロックにおいて適用される . 符号化関連情報に基づくことを特徴することもできる。
このような構成をとることで、 上述の画像符号化方法または画像符号化装置に よって符号化された符号化データを正しく復号することができる。
この場合、 符号化関連情報には、 当該符号化関連情報と同じ種類の符号化関連 情報、当該符号化関連情報と異なる種類の符号化関連情報を含ませることができ、 また、 情報源符号化に用いる手段の選択を符号化関連情報が情報源符号化される 際の符号表上の順位に基づいて行うようにすることもできる。
また、 本発明の画像符号化方法、 画像符号化装置においては、 上記情報源符号 化に用いる複数の手段は、 それぞれ当該符号化関連情報の情報源符号化における 符号表への割り当て順位が異なることを特徴とすることが好適である。
これにより、 上述のように符号化シンボルの性質の変化に応じて符号化シンポ ルの出現頻度の分布が変化した符号化シンボルに対してもその性質に適した情報 源符号化を行うことができる。
また、 本発明の画像復号方法、 画像復号装置においては、 上記情報源復号に用 いる複数の手段は、 それぞれ当該符号化関連情報の情報源復号における符号表〜 の割り当て順位が異なることを特徴とすることが好適である。
このような構成をとることで、 上述の画像符号化方法または画像符号化装置に よつて符号化された符号化デ一タを正しく復号することができる。
また、 本発明の画像符号化方法、 画像符号化装置においては、 上記情報源符号 化に用いる複数の手段は、 それぞれ当該符号化関連情報の情報源符号化における 符号の構成方法が異なることを特徴とすることもできる。
これにより、 上述のように符号化シンボルの性質の変化に応じて符号化シンポ ルの出現頻度の分布の偏りが変化した符号化シンボルに対してもその性質に適し た情報源符号化を行うことができる。
また、 本発明の阖像復号方法、 画像復号装置においては、 上記情報源復号に用 いる複数の手段は、 それぞれ当該符号化関連情報の情報源復号における符号の構 成方法が異なることを特徴とすることもできる。
このような構成をとることで、 上述の画像符号化方法または画像符号化装置に よつて符号化された符号化データを正しく復号することができる。
また、 本発明の画像符号化方法、 画像符号化装置においては、 当該符号化関連 情報に対する複数の予測手段と、 上記複数の予測手段の結果得られた複数の予測 値の類似度を生成する予測値類似度生成手段とを用意し、 上記情報源符号化に用 いる手段の選択は、 上記複数の予測手段の類似度に基づくことを特徴とすること が好適である。
複数の予測手段の結果得られた複数の予測値の類似度に基づいて情報源符号化 に用いる手段の選択を行うことで、 情報源符号化に用いる手段を効率よく選択す ることができる。
また、 本発明の画像復号方法、 画像復号装置においては、 当該符号化関連情報 に対する複数の予測手段と、 上記複数の予測手段の結果得られた複数の予測値の 類似度を生成する予測値類似度生成手段とを用意し、 上記情報源復号に用いる手 段の選択は、 上記複数の予測手段の類似度に基づくことを特徴とすることが好適 である。
このような構成をとることで、 上述の画像符号化方法または画像符号化装置に よって符号化された符号化データを正しく復号することができる。
また、 本発明の画像符号化方法、 画像符号化装置、 画像復号方法、 画像復号装 置において符号化され、 あるいは復号される符号化関連情報としては、 符号化対 象となるプロックにおける符号化モード情報、 当該プロックにおける符号化プロ ックパタン情報、 当該ブロックにおける動きベク トル情報、 当該ブロックにおけ る直交変換係数のレベル値、 当該プロックにおける直交変換係数の非零係数数な どが該当する。 ·
また、 本発明の M像符号化方法、 画像符号化装置、 画像復号方法、 画像復号装 置において、 上記手段の選択に用いられる符号化関連情報には、 符号化モード情 報、 量子化パラメータ、 符号化ブロックパタン情報、 動きべク トル、 直交変換係 数のレベル値、 直交変換係数の非零係数数などを含ませることができる。 上記手 段の選択に用いられる符号化関連情報に符号化モード情報を含ませた場合は、 当 該符号化モード情報により定義づけられる、 周囲ブロックにおける活性度を利用 するようにしてもよい。 また、 上記手段の選択に用いられる符号化関連情報に符 号化ブロックパタン情報を含ませた場合は、 当該符号化プロックパタン情報によ り示される、 周囲プロックにおける有意直交変換係数の出現パタンの方向的偏り を利用するようにしてもよい。
また、 本発明の画像符号化方法、 画像符号化装置においては、 上記情報源符号 化に用いる複数の手段は、 符号化結果に応じてそれぞれの手段が独立に更新され ることを特徴とすることが好適である。
符号化結果に応じてそれぞれの手段が独立に更新されることにより、 より符号 化条件や画像の性質に適した情報源符号化を行うことができる。
また、 本発明の画像復号方法、 画像復号装置においては、 上記情報源復号に用 いる複数の手段は、 復号結果に応じてそれぞれの手段が独立に更新されることを 特徴とすることが好適である。 ,
このような構成をとることで、 上述の画像符号化方法または画像符号化装置に よつて符号化された符号化データを正しく復号することができる。
また、 上記課題を解決するために、 本発明の画像伝送システムは、 画像を符号 化する画像符号化部と、 上記画像符号化部によって符号化されたビッ トス トリー ムを送信するビットストリーム送信部と、 上記送信されたビッ トストリームを受 信するビッ トス トリーム受信部と、 上記受信されたビッ トス ト リームを復号する 画像復号部とを備える画像伝送システムであって、 上記画像符号化部は、 上記い ずれかの画像符号化方法によつて符号化を行うことを特徴とする。
上記いずれかの ¾像符号化方法によって符号化を行うことで、 多様に変化する 符号化シンボルの性質に適した情報源符号化に用いる手段を、 複数の手段の中か ら選択することができる。
また、 本発明の画像伝送システムは、 画像を符号化する画像符号化部と、 上記 画像符号化部によつて符号化されたビットストリームを送信するビットス トリー ム送信部と、 上記送信されたビッ トストリームを受信するビッ トス トリーム受信 部と、 上記受信されたビットストリームを復号する画像復号部とを備える画像伝 送システムであって、 上記画像復号部は、 上記いずれかの画像復号方法によって 復号を行うことを特徴とする。
このような構成をとることで、 上記いずれかの画像符号化方法によつて符号化 された符号化データを正しく復号することができる。
また、 上記課題を解決するために、 本発明の画像蓄積システムは、 画像を符号 化する画像符号化部と、 上記画像符号化部によって符号化されたビットストリー ムを蓄積するビットストリーム蓄積部と、 を備える画像蓄積システムであって、 上記画像符号化部は、 上記いずれかの画像符号化方法によって符号化を行うこと を特徴とする。
上記いずれかの画像符号化方法によって符号化を行うことで、 多様に変化する 符号化シンボルの性質に適した情報源符号化に用いる手段を、 複数の手段の中か ら選択することができる。
また、 本発明の画像再生システムは、 蓄積されたビットス トリームを保持する ビッ トス トリーム蓄積部と、 上記ビッ トス トリーム蓄積部より読み出したビット ス トリームを復号する画像復号部と、 を備える画像再生システムであって、 上記 画像復号部は、 上記いずれかの画像復号方法によって復号を行うことを特徴とす る。
このような構成をとることで、 上記いずれかの画像符号化方法によって符号化 された符号化データを正しく復号することができる。
上記課題を解決するために、 本発明の画像符号化方法は、 画像を所定サイズの プロックに分割して直交変換を行い、 直交変換係数情報について情報源符号化を 行う画像符号化方法であって、上記情報源符号化を行うための手段を複数用意し、 当該直交変換係数情報の情報源符号化に用いる手段を上記複数の手段から選択す ることを特徴とする。
また、 本発明の画像符号化装置は、 画像を所定サイズのブロックに分割して直 交変換を行い、 直交変換係数情報について情報源符号化を行う画像符号化装置で あって、 上記情報源符号化を行うための手段を複数備え、 当該直交変換係数情報 の情報源符号化に用いる手段を上記複数の手段から選択することを特徴とする。 直交変換係数情報について情報源符号化を行うための手段を複数用意し、 当該 直交変換係数情報の情報源符号化に用いる手段を上記複数の手段から選択するこ とで、 多様に変化する直交変換係数情報の性質に適した情報源符号化に用いる手 段を、 上記複数の手段の中から選択することができる。
また、 本発明の画像復号方法は、 画像が所定サイズのブロックに分割されて直 交変換が行われ、 直交変換係数情報について情報源符号化が行われた符号化デー タ入力を復号する画像復号方法であって、 情報源復号を行うための手段を複数用 意し、 当該直交変換係数情報の情報源復号に用いる手段を上記複数の手段から選 択することを特徴とする。
さらに、 本発明の画像復号装置は、 画像が所定サイズのブロックに分割されて 直交変換が行われ、 直交変換係数情報について情報源符号化が行われた符号化デ ータ入力を復号する画像復号装置であって、 情報源復号を行うための手段を複数 備え、 当該直交変換係数情報の情報源復号に用いる手段を上記複数の手段から選 択することを特徴とする。
このような構成をとることで、 上述の画像符号化方法または画像符号化装置に よって符号化された符号化データを正しく復号することができる。
また、 本発明の画像符号化方法、 画像符号化装置においては、 上記情報源符号 化に用いる手段の ¾択は、 事前に伝送された直交変換係数情報における有意係数 の係数値に基づくことを特徴することが好適である。
直交変換係数情報における有意係数の係数値に基づいて、 情報源符号化に用い る手段を選択することで、 多様に変化する直交変換係数情報の性質の変化を、 事 前に伝送された係数値から予測し、 直交変換係数情報の性質に適した情報源符号 化を行うことができる。 "
また、 本発明の画像復号方法、 画像復号装置においては、 上記情報源復号に用 いる手段の選択は、 事前に伝送された直交変換係数情報における有意係数の係数 値に基づくことを特徴することが好適である。
このような構成をとることで、 上述の画像符号化方法または画像符号化装置に よつて符号化された符号化データを正しく復号することができる。
また、 本発明の画像符号化方法、 画像符号化装置においては、 上記情報源符号 化に用いる手段の選択は、 事前に伝送された直交変換係数情報におけるゼロラン 数に基づくことを特徴することもできる。
直交変換係数情報におけるゼロラン数に基づいて、 情報源符号化に用いる手段 を選択することで、 多様に変化する直交変換係数情報の性質の変化を、 事前に伝 送されたゼ口ラン数から予測し、 直交変換係数情報の性質に適した情報源符号化 を ί亍うことができる。
また、 本発明の画像復号方法、 画像復号装置においては、 上記情報源復号に用 いる手段の選択は、 事前に伝送された直交変換係数情報におけるゼロラン数に基 づくことを特徴することもできる。
このような構成をとることで、 上述の画像符号化方法または画像符号化装置に よつて符号化された符号化データを正しく復号することができる。
また、 本発明の画像符号化方法、 画像符号化装置においては、 上記情報源符号 化に用いる手段の選択は、 当該直交変換係数情報が属する空間周波数に基づくこ とを特徴することもできる。
直交変換係数情 ¾が属する空間周波数に基づいて、 情報源符号化に用いる手段 を選択することで、 多様に変化する直交変換係数情報の性質の変化を、 空間周波 数から予測し、 直交変換係数情報の性質に適した情報源符号化を行うことができ る。
また、 本発明の画像復号方法、 画像復号装置においては、 上記情報源復号に用 いる手段の選択は、 当該直交変換係数情報が属する空間周波数に基づくことを特 徴することもできる。
このような構成をとることで、 上述の画像符号化方法または画像符号化装置に よつて符号化された符号化データを正しく復号することができる。
また、 本発明の画像符号化方法、 画像符号化装置においては、 上記情報源符号 化に用いる複数の手段は、 それぞれ直交変換係数情報の情報源符号化における符 号表への割り当て順位が異なることを特徴とすることが好適である。
これにより、 直交変換係数情報の性質が変化し、 その情報毎の出現頻度が変化 した場合においても、 直交変換係数情報の性質に適した情報源符号化を行うこと ができる。 ·
また、 本発明の画像復号方法、 画像復号装置においては、 上記情報源復号に用 いる複数の手段は、 それぞれ直交変換係数情報の情報源復号における符号表への 割り当て順位が異なることを特徴とすることが好適である。
このような構成をとることで、 上述の画像符号化方法または画像符号化装置に よつて符号化された符号化データを正しく復号することができる。
また、 本発明の画像符号化方法、 画像符号化装置においては、 上記情報源符号 化に用いる複数の手段は、 それぞれ直交変換係数情報の情報源符号化における符 号の構成方法が異なることを特徴とすることが好適である。
これにより、 直交変換係数情報の性質が変化し、 その情報毎の出現頻度の分布 の偏りが変化した場合においても、 直交変換係数情報の性質に適した情報源符号 ィ匕を行うことができる。
また、 本発明の ®像復号方法、 画像復号装置においては、 上記情報源復号に用
V、る複数の手段は、 それぞれ直交変換係数情報の情報源復号における符号の構成 方法が異なることを特徴とすることが好適である。
このような構成をとることで、 上述の画像符号化方法または画像符号化装置に よつて符号化された符号化データを正しく復号することができる。
また、 本発明の画像符号化方法、 画像符号化装置においては、 上記直交変換係 数情報についての情報源符号化は、 直交変換係数列におけるゼロラン数および係 数値の組み合わせについて行われてもよいし、 直交変換係数列におけるゼロラン 数および係数値それぞれについて個別に行われてもよい。
同様に、 本発明の画像復号方法、 画像復号装置においては、 上記直交変換係数 情報についての情報源復号は、 直交変換係数列におけるゼロラン数および係数値 の組み合わせについて行われてもよいし、 直交変換係数列におけるゼロラン数お よび係数値それぞれについて個別に行われてもよい。
また、 本発明の画像符号化方法、 画像符号化装置においては、 上記直交変換係 数情報として、 同じ大きさのレベル値が連続する数が符号表へ割り当てられるこ とを特徴とすることが好適である。
このような構成をとることで、 さらに効率のょレ、符号化が可能となる。 また、 本発明の画像復号方法、 画像復号装置においては、 上記直交変換係数情 報として、 同じ大きさのレベル値が連続する数が符号表へ割り当てられることを 特徴とすることが好適である。
このような構成をとることで、 上述の画像符号化方法または画像符号化装置に よつて符号化された符号化データを正しく復号することができる。
また、 本発明の画像符号化方法、 画像符号化装置においては、 符号化対象プロ ックにおける符号化情報に応じて上記直交変換係数情報を低周波成分と高周波成 分のレ、ずれから順に符号化するかを決定することを特徴とすることが好適である。 このような構成をとることで、 さらに効率のよい符号化が可能となる。
また、 本発明の ii像復号方法、 画像復号装置においては、 復号対象ブロックに おける復号済みの情報に応じて上記直交変換係数情報を低周波成分と高周波成分 のいずれから順に復号するかを決定することを特徴とすることが好適である。 このような構成をとることで、 上述の画像符号化方法または画像符号化装置に よつて符号化された符号化データを正しく復号することができる。
また、 本発明の画像符号化方法、 画像符号化装置においては、 上記情報源符号 化に用いる手段の選択は、 事前に伝送された符号化対象プロックにおける動きべ ク トル差分値に基づくことを特徴することが好適である。
事前に伝送された符号化対象ブロックにおける動きべク トル差分値に基づいて、 情報源符号化に用いる手段を選択することで、 多様に変化する直交変換係数情報 の性質の変化を、 事前に伝送された動きベク トル差分値から予測し、 直交変換係 数情報の性質に適した情報源符号化を行うことができる。
また、 本発明の画像復号方法、 画像復号装置においては、 上記情報源復号化に 用いる手段の選択は、 事前に伝送された復号対象ブロックにおける動きべク トル 差分値に基づくことを特徴することが好適である。
このような構成をとることで、 上述の画像符号化方法または画像符号化装置に よつて符号化された符号化データを正しく復号することができる。 また、 本発明の画像符号化方法、 画像符号化装置においては、 当該符号化対象 となる直交変換係数情報は、 プロック内のゼロラン長の合計値であることを特徴 とすることが好適である。
このような構成をとることで、 ゼロラン長の合計値を効率よく符号化すること ができる。
また、 本発明の画像復号方法、 画像復号装置においては、 上記復号対象となる 直交変換係数情報は、 プロック内のゼロラン長の合計値であることを特徴とする ことが好適である。
このような構成をとることで、 上述の画像符号化方法または画像符号化装置に よつて符号化され 符号化データを正しく復号することができる。'
また、 上記課題を解決するために、 本発明の画像伝送システムは、 画像を符号 化する画像符号化部と、 上記画像符号化部によって符号化されたビットストリー ムを送信するビットストリーム送信部と、 上記送信されたビットストリームを受 信するビット.ストリーム受信部と、 上記受信されたビットス トリームを復号する 画像復号部とを備える画像伝送システムであって、 上記画像符号化部は、 上記い ずれかの画像符号化方法によって符号化を行うことを特徴とする。
上記レ、ずれかの画像符号化方法によつて符号化を行うことで、 多様に変化する 直交変換係数情報の性質に適した情報源符号化を行うことができる。
また、 上記課題を解決するために、 '本発明の画像伝送システムは、 画像を符号 化する画像符号化部と、 上記画像符号化部によって符号化されたビットス トリー ムを送信するビッ トストリーム送信部と、 上記送信されたビットストリ ムを受 信するビットストリーム受信部と、 上記受信されたビッ トストリームを復号する 画像復号部とを備える画像伝送システムであって、 上記画像復号部は、 上記いず れかの画像復号方法によって復号を行うことを特徴とする。
このような構成をとることで、 上記いずれかの画像符号化方法によって符号化 された符号化データを正しく復号することができる。 また、 上記課題を解決するために、 本発明の画像蓄積システムは、 画像を符号 化する画像符号化部と、 上記画像符号化部によって符号化されたビットストリー ムを蓄積するビットストリーム蓄積部と、 を備える画像蓄積システムであって、 上記画像符号化部は、 上記いずれかの画像符号化方法によって符号化を行うこと を特徴とする。
上記いずれかの画像符号化方法によって符号化を行うことで、 多様に変化する 直交変換係数情報の性質に適した情報源符号化を行うことができる。
また、 上記課題を解決するために、 本発明の画像再生システムは、 蓄積された ビットストリームを保持するビットストリーム蓄積部と、 上記ビットス トリーム 蓄積部より読み出'したビッ トストリームを復号する画像復号部と、 を備える画像 再生システムであって、 上記画像復号部は、 上記いずれかの画像復号方法によつ て復号を行うことを特徴とする。
このような構成をとることで、 上記いずれかの画像符号化方法によつて符号化 された符号化データを正しく復号することができる。
本発明の画像符号化方法、 画像符号化装置は、 ひとつの符号化関連情報につい て情報源符号化を行うための手段を複数用意し、 プロックにおける当該符号化関 連情報の情報源符号化に用いる手段をこれら複数の手段から選択する。 従って、 上述のように変化する符号化シンボルの性質に適した情報源符号化に用いる手段 を、 複数の手段の中から選択することができる。 その結果、 符号化条件や画像の 性質に応じて、符号化シンボルの情報源符号化を効率的に行うことが可能となる。 また、 本発明の画像復号方法、 画像復号装置は、 ひとつの符号化関連情報につ いて情報源復号を行うための手段を複数用意し、 プロックにおける当該符号化関 連情報の情報源復号に用いる手段をこれら複数の手段から選択する。 従って、 上 述の画像符号化方法または画像符号化装置によって符号化された符号化データを 正しく復号することができる。
本発明の画像符号化方法、 画像符号化装置は、 直交変換係数情報について情報 源符号化を行うための手段を複数用意し、 当該直交変換係数情報の情報源符号化 に用いる手段を上記複数の手段から選択する。 従って、 多様に変化する直交変換 係数情報の性質に適した情報源符号化に用いる手段を、 上記複数の手段の中から 選択することができる。 その結果、 直交変換係数の周波数領域や他の直交変換係 数の傾向に応じて変化した、 直交変換係数情報の性質に適した情報源符号化をお こなうことができるようになり、 効率的な符号化を行うことが可能となる。 また、 本発明の画像復号方法、 画像復号装置は、 情報源復号を行うための手段 を複数用意し、 当該直交変換係数情報の情報源復号に用いる手段を上記複数の手 段から選択する。 従って、 上述の画像符号化方法または画像符号化装置によって 符号化された符号化データを正しく復号することができる。
図面の簡単な説明
図 1は、 従来の技術のよる動画像符号化手法の一例を概略的に示すフローチヤ 一トである。
図 2は、 従来の技術による動画像符号化装置の一例を概略的に示すプロック図 である。
図 3 A〜Cは、 従来の技術によるマクロブロック符号化モード種別の一例を示 す図である。
図 4 A , Bは、 従来の技術による直交変換の一例を示す図である。
図 5は、 従来の技術による動画像復号手法の一例を概略的に示すフローチヤ一 トである。 '
図 6は、 従来の技術による動画像復号装置の一例を概略的に示すプロック図で ある。
図 7 'A , Bは、 非零量子化直交変換係数の分布の一例を示す図である。
図 8は、 マクロブロック内のブロックと隣接するブロックの関係を示す図であ る。
図 9 Α ,· Bは、 輝度信号の符号化ブロックパタン情報とインデックス値の関係 を示すマップテーブルの一例および、 ィンデックス値と可変長符号の関係を示す 可変長符号化テ一ブルの一例を示す図である。
図 10A, Bは、 輝度信号の符号化ブロックパタン情報に本発明によるマップ テーブルの切り替えを適用した一例を示す図である。
図 1 1A, Bは、 色差信号の符号化ブロックパタン情報とインデックス値の関 係を示すマップテーブルの一例および、 ィンデックス値と可変長符号の関係を示 す可変長符号化テーブルの一例を示す図である。
図 1 2A, Bは、 色差信号の符号化ブロックパタン情報に本発明によるマップ テーブルの切り替えを適用した一例を示す図である。
図 1 3は、 本発^による可変長符号化部の一例を概略的に示すブロック図であ る。
図 14は、本発明による可変長復号部の一例を概略的に示すブロック図である。 図 15A, Bは、 本発明による符号化ブロックパタン情報のコンテキス ト生成 に用いるブロックの位置の一例を示す図である。
図 16A, Bは、 H. 26 L符号化方式におけるマクロブロックおよび符号化 プロックパタン情報の構成を概略的に示す図である。
図 17A, Bは、 H. 26 L符号化方式において本発明を適用する場合のマク ロブ口ックと隣接するブロックの関係を示す図である。
図 18 A〜Dは、 H. 26 L符号化方式における符号化プロックパタン情報に 本発明によるマップテーブルの切り替えを適用した一例を示す図である。' 図 19は、 H. 26 L符号化方式における色差信号の符号化プロックバタン情 報に本発明によるマップテーブルの切り替えを適用した一例を示す図である。 図 2 OA, Bは、 符号化ブロックパタン情報の各シンボルの出現確率の分布の 一例を示す図である。
図 21A〜Cは、 複数の特性の異なる可変長符号化テーブルの一例を示す図で ある。 図 2 2 A〜Dは、量子化直交変換係数の符号化方法を概略的に示した図である。 図 2 3は、 符号化対象マクロブロックと、 隣接するマクロブロックの位置関係 を示した図である。
図 2 4 A〜 Jは、 マクロプロック符号化モード種別の他の一例を概略的に示し た図である。
図 2 5は、 マクロプロック符号化モードに対するポィントの定義の一例を示し た図である。 .
図 2 6 A, Bは、 マクロブロック符号化モードとインデックス値の関係を示す マップテーブルの一例および、 ィンデックス値と可変長符号の関係を示す可変長 符号化テーブルの二例を示す図である。
図 2 7は、 マクロブロック符号化モードに対するポイントの定義の他の一例を 示した図である。
図 2 8 A, Bは、 マクロブロック符号化モードとインデックス値の関係を示す マップテーブルの他の一例および、 ィンデックス値と可変長符号の関係を示す可 変長符号化テーブルの他の一例を示す図である。
図 2 9 Aは、 画像伝送システムの構成を概略的に示す図である。
図 2 9 Bは、 画像蓄積システムの構成を概略的に示す図である。
図 2 9 Cは、 画像再生システムの構成を概略的に示す図である。
図 3 0は、 本発明による可変長符号化部の一例を概略的に示すプロック図であ る。
図 3 1は、 C Xが 0から 7までの値を取る場合のマップテーブル M T ( C X) を示す図である。
図 3 は、本発明による可変長復号部の一例を概略的に示すブロック図である。 図 3 3は、 符号化対象マクロブロックと、 瞵接するマクロブロックの位置関係 を示した図である。
図 3 4 A , Bは、 非零量子化直交変換係数値とインデックス値の関係を示すマ ップテーブルの一例および、 ィンデックス値と可変長の関係を示す可変長符号化 テーブルの一例を示す図である。
図 3 5 A , Bは、 本発明によるマップテーブルの変更例、 および変更後のマツ プテ一ブルを用いた符号列の一例を示す図である。
図 3 6は、 L e v e l値の絶対値が 1であるものが連続する数を符号表に割り 当てたマップテーブルの一例を示す図である。
図 3 7 A〜Cは、 複数の特性の異なる可変長符号化テーブルの他の一例を示す 図である。
図 3 8 A〜Cは、 確率テーブルを示す図である。
発明を実施するた'めの最良の形態
【発明の実施形態】
(第 1の実施形態)
以下、 図面とともに本発明の第 1の実施形態による画像符号化方法、 画像復号 方法、 画像符号化装置、 画像復号装置、 画像伝送システム、 画像蓄積システム、 画像再生システムの実施形態について詳細に説明する。 なお、 図面の説明におい ては同一要素のものには同一符号を付し、 重複する説明は省略する。 また、 図形 の寸法比率は、 説明のものと必ずしも一致していない。 以下においては、 符号化 対象として入力される入力フレーム画像について、 時系列のフレーム画像からな る動画像を想定して説明する。
以下、 本発明の第 1の実施形態の特徴である、 符号化補助情報 D 8に含まれる
C B Pの可変長符号化の手順およびその好適な符号化条件について、 M P E G— 4符号化方式を例として、 具体例を示しつつ説明する。 なお、 以下に説明する符 号化方法および符号化条件については、 図 1、 図 2に示した画像符号化方法およ び画像符号化装置、 '図 5、 図 6に示した画像復号方法および画像復号装置に対し ても同様に適用することが可能である。 また、 具体的な符号化方式、 復号方式に ついては、 上記した M P E G— 4符号化方式には限定されない。 M P E G— 4において C B Pは、 イントラ符号化モードが選択されたマクロブ 口ックにおいては各プロックにおいて直交変換係数の非零交流成分があるか否か を示すフラグである。 また、 インター符号化モードが選択されたマクロブロック においては各プロックにおいて直交変換係数の非零直流成分または非零交流成分 があるか否かを示すフラグである。
ところで、 非零直交変換係数が存在する領域は画像の空間的特徴および量子化 パラメータに大きく依存する。 図 7 A, Bは画像の空間的特徴と非零直交変換係 数の関係を示した概念図である。 図 7 A, Bに示す通り、 画面中の背景部分は動 きが少なく、 比較的動き補償予測が当たるため、 非零直交変換係数は出現しにく レ、。 逆に、 画面中 移動する人物の部分は、 動きが激しくテクスチャの変化も激 しいため、 動き補償予測による残差が多く出現する。 そのため、 このような領域 には非 直交変換係数が出現しやすい。 つまり、 テクスチャや動きに変化が少な い領域は非零直交変換係数が出現しにくく、 逆にテクスチャや動きに変化の多い 領域は非零直交変換係数が出現しやすい。 また、 特に自然画像などでは形状や動 きの変化の傾向が近傍領域において類似することが多い。
ここで図 8に示すように、 輝度成分画像において符号化対象マクロプロックの 各ブロックをそれぞれラスタスキャン順にプロック A、ブロック B、ブロック C、 ブロック Dとし、 上に隣接するマクロブ口ックの下側のブロックをそれぞれプロ ック E、 プロック Fとする。 また、 左に隣接するマクロブロックの右側のブロッ クをそれぞれブロック G、 ブロック Hとする。 また、 符号化対象マクロブロック における C b , C rのブロックをそれぞれブロック I , Lとし、 それぞれの上に 隣接するブロックをブロック J, M、 左に隣接するブロックをそれぞれブロック K , N'とする。
すると例えばプロ ·ック E , F , Gの全てに非零直交変換係数が存在する場合に は、 画像の空間的連続性を考慮すればプロック Aにも非零直交変換係数が存在す る可能性が高いと類推できる。 また逆に例えばブロック E, F , Gが全て非零直 交変換係数を持たない場合には、 プロック Aにも非零直交変換係数が存在しない 可能性が高いと類推できる。 このように、 符号化対象マクロブロックの各ブロッ クに対し、 近傍のプロックの非零直交変換係数の有無によって符号化対象マクロ プロックにおける非零直交変換係数の存在する確率が変化する。 上記を踏まえ、 本発明の第 1の実施形態における画像符号化方法は、 符号化対象マク口プロック の近傍のプロックの非零直交変換係数の有無をもとに空間コンテキストを生成し、 空間コンテキストに基づいて符号化対象マクロブロックの CB Pの可変長符号化 に用いるマップテーブルを切り替えることによって効率良く符号化を行うことが できることを特徴としている。
.以下、 本発明の第 1の実施形態における C B Pの符号化における可変長符号化 に用いるマップテーブルの切り替え手段の一例を以下に説明する。 まず、 輝度成 分に対する CB Pである CB P Yおよび色差成分に対する CB Pである CB PC に対して以下のように空間コンテキストを導入し、 空間コンテキストに応じてマ ップテーブルを切り替えるよう構成する。
図 9 Aに CB PYとそれぞれの CB PYに対応するインデックス値を関連付け たマップテーブルを示す。 また、 図 9 Bには、 インデックス値とそれぞれのイン デックス :に対応する可変長符号を関連付けた可変長符号化テーブルの一例を示 す。 C B P Yは 4ビットで表し、 MSB (Mo s t S i g n i f i c a n t B i t) 側から順にブロック A, B, C, Dに対応しており、 非零直交変換係数が 存在する場合に 1、 存在しない場合に 0とする。 ここで、 ブロック A, B, C, Dとその近傍のブロックとの相関関係を表すために、ポイント P (A), P (B), P (C), および演算子 「 = =」 を導入する。 演算子 「 = =」 は二つの数値が一致 している場合には 1を返し、 一致していない場合には 0を返す演算子である。 す なわち、 ブロック Α·の C B Pである C B P (A) がブロック Gの CB Pである C B P (G) と一致している場合には、以下に示す式(1) の演算結果は 1となる。 式 ( 1) : CB P (A) ==CB P (G) つまり、 CBP (A) および CB P (G) が共に 1である力 \ あるいは共に 0 であれば式 (1) の演算結果は 1となり、 それ以外の場合は式 (1) の演算結果 は 0となる。 ここで、ポイント P (A), P (B), P (C)を以下の式(2), (3), (4) によって定義する。
式 (2) : P (A) =2 - (CB P (A) = = C B P (E)) + 2 . (CBP (A)
= = CB P (G)) + (CBP (A) = = CB P (H)) + (CBP (A) = = C B P (F))
式 (3) : P (B) =4 - (CB P (B) = = C B P (F)) + 2 - (CBP (B) = = CB P (E))
式 (4) : P (C) =4 · (CBP (C) = = C B P (H)) + 2 · (CB P (C)
= = CB P (G))
これらの式によってブロック A, B, Cに対して近傍ブロックとの C B Pに関 する相関度をポイント P (A), P (B), P (C) によって表すことができる。 図 9 A, Bに示したマップテーブルの全てのパターンについて P (A), P (B), P (C) を算出し、 その合計値を P (CBPY) とする。 すなわち、 P (CBP
Y) は次式で表される。
式 (5) : P (CB PY) = P (A) + P (B) +P (C)
ただし、 符号化対象マクロプロックの近傍プロックが画面外またはスライス外 となる場合には、 相関性が認められないため演算子 「二-」 による演算結果を常 に 0とする。 つまり例えばブロック G, Hが画面外またはスライス外となる場合 には、 例えば (CB P (A) = = CBP (G)) および (CB P (A) ==CBP (H)) の値は常に 0とする。
こうして求められた P (CB PY) は、 符号化対象マクロブロックの周囲にお ける CB PYとの空間的相関の高い CB P Yほど大きい値を提供する。 つまり、 空間的コンテキストをもとにした場合に出現する確率の高いと推定される CBP Yほど P (CBPY) が大きい値となる。 そこで、 こうして求められた P (CB P Y) の値が大きい順に図 9 Aにおける CB PYのインデックス値が小さくなる ように並びかえたマップテーブルを作成する。 ただし、 P (CBPY) が等しい 場合には図 9 Αのマップテーブルにおいてィンデッタス値が小さいものが新しい マップテーブルにおいてもィンデッタス値が小さくなるようにする。 図 10 A, Bにはブロック E, F, G, Hの CBPがそれぞれ 1 , 1, 0, 0である場合 (図
1 OA) と、 0, 1, 1, 0である場合 (図 1 0 B) を例として CB PYのマツ プテーブルを示す。
次に、 CB PCについても同様に空間コンテキストをもとにしてマップテープ ノレを切り替える。 図 1 1 Aに C B P Cのマップテーブル、 図 1 1 Bに CBPCの 可変長符号化テー^ルの一例を示す。 CB P Cは 2ビッ トで表し、 MS B側から 順に Cb, C r対応しており、 非零直交変換係数が存在する場合に 1、 存在しな い場合に 0とする。 図 8に従って、 CBPYの時と同様に、 P (I), P (L), P (CB PC) を以下の式 (6), (7), (8) によって定義する。
式 (6) : P (I ) = (CB P ( I ) = = CB P (J)) + (CBP (I ) == CBP (K))
式 (7) : P (L) = (CB P (L) = = C B P (M)) + (CB P (L) == CB P (N))
式 (8) : P (CB PC) = P ( I ) + P (L)
ただし、 符号化対象マクロプロックの近傍ブロックが画面外またはスライス外 となる場合には、 相関性が認められないため演算子 「==」 による演算結果を常 に 0とする。つまり例えばブロック Kが画面外またはスライス外となる場合には、 例えば (CB P (I ) = = CB P (K)) の値は常に 0とする。
こうして求められた P (CB PC) は、 符号化対象マクロブロックの周囲にお ける C B P Cとの空間的相関の高い C B P Cほど大きい^ ίを提供する。 つまり、 空間コンテキストをもとにした場合に出現する確率の高いと推定される CB PC ほど P (CB PC) が大きい値となる。 そこで、 こうして求められた P (CBP C) の値が大きい順に図 1 1 Aにおける CB PCのインデックス値が小さくなる ように並び替えたマップテーブルを作成する。 ただし、 P (CBPC) が等しい 場合には図 1 1 Aのマップテーブルにおいてィンデックス値の小さいものが新し いマップテーブルにおいてもィンデックス値が小さくなるようにする。図 1 2 A, Bには、 図 8における J , K, M, Nの C B Pがそれぞれ (0, 1, 0, 0) で ある場合 (図 1 2 A) と、 (0, 0, 1, 1) である場合 (図 1 2 B) を例として CB PCのマップテープノレを示す。
以上のように本発明の第 1の実施形態では、 CB P Yおよび CB PCのマップ テーブルを画像の連続性を考慮して切り替えるよう構成したので、 出現しやすい シンボルに短い符 語を、 出現しにくいシンボルに長い符号語を割り当てること ができ、 好適に CB Pを符号化することができる。
図 13は本発明の第 1の実施形態による可変長符号化部 1 6のブロック図を示 した図である。 すなわち、 図 1 3の可変長符号化部 1 6においてまず入力シンポ ル H 1として可変長符号出力部 30に CB Pが入力される。 そして符号化シンポ ノレメモリ 3 1より、 符号化マップテーブル提供部 32に符号化マップテーブル参 照情報 H 2として周囲ブロックにおける CB Pが入力される。 そして、 符号化マ ップテ一ブル提供部 3 2にて上記の手法に基づいて C B Pの符号化に対して用い る符号化マップテーブルが決定され、 符号化マップテーブル H 4が可変長符号出 力部 30に提供される。 また、 可変長符号化テーブル提供部 3 3から可変長符号 化テーブル H 5が可変長符号出力部 30に入力される。 なお、 可変長符号化テー ブル提供部 33には可変長符号化テーブル参照情報 H 3を入力することができる 力 本実施の例ではこの入力が無くてもよい。 そして、 符号化対象 C BPは可変 長符号化され、 符号化データ D 9として出力される。
本発明の第 1の実施形態では、 C BPの空間コンテキストを生成する際に符号 化対象マクロブロックに隣接するブロックのみを参照していたが、 もちろん隣接 しているブロックに限らず、 例えば図 1 5 Aに示すような符号化対象マクロプロ ックに隣接はしていないが近傍に存在するプロックの CB Pの情報も加えて利用 することによって空間コンテキストを生成してもよいし、 もちろん、 例えば図 1 5 Bに示すように、 本発明の第 1の実施形態では用いなかったマクロブロック内 のプロックの情報を利用して空間コンテキストを生成しても同様の効果を得られ る。
また、 本発明の第 1の実施形態による符号化方法では、 CB PYと CBPCを 別々の可変長符号化テーブルを用いてそれぞれ別々に可変長符号化するよう説明 したが、 もちろん例えば 6ビットで表され MS B側の 4ビットが C B P Y、 L S B側の 2ビットが CB PCとなっている CB Pに対する可変長符号化テーブルお よびマップテ一ブ)レを用いてマツプテーブルを切り替えることによって CBPY と CB PCを分けずに符号化しても同様の効果を得られる。 この場合には式(5) と式 (8) によって算出される P (CB PY) および P (CB PC) を用いて、 例えば以下の式 (9) によって得られる P (CBP) の値を利用して、 可変長符 号化テーブルを切り替えるよう構成してもよい。
式 (9) : P (CBP) = P (CB PY) + P (CB PC)
なお、 本発明の第 1の実施形態による符号化方法では、 既に符号化済の近傍ブ ロックにおける情報を元に空間コンテキストを生成したので、 復号する際にも同 様の空間コンテキストを再生することができ、 符号化側と同様に可変長復号テ一 ブルを切り替えることができる。
すなわち、 図 14に示した可変長復号部 2 1のブロック図において、 本発明の 第 1の実施形態による符号化方法によって符号化された符号化データ D 9が可変 長復号部 2 1の復号シンボル出力部 40に入力されると、 既に復号済のシンボル より周辺ブロックの CB Pが復号シンボルメモリ 41から復号マップテーブル参 照情報 H 7として復号マップテーブル提供部 42に入力される。 そして、 復号マ ップテーブル提供部 42から復号マップテーブル H 9が符号化と同様の手続きに て選択されて復号シンボル出力部 40に入力される。 また、 可変長復号テーブル 提供部 43からは可変長復号テーブル H 1 0が復号シンボル出力部 40に入力さ れる。 なお、 可変長復号テーブル提供部 43には可変長復号テーブル参照情報 H 8を入力することができる力 本実施の例ではこの入力が無くてもよい。そして、 復号シンボル出力部 40において可変長復号が成され、 復号シンボル H 6として C B Pが復号されて出力されると同時に、復号シンボルメモリ 41に記憶される。 従って、 本発明の第 1の実施形態による復号方法によって本発明の第 1の実施 形態による符号化方法によつて符号化された C B Pを好適に復号することができ る。
また、 本発明の第 1の実施形態による符号化方法の説明として MP EG— 4符 号化方式を例に説^したが、 もちろんその他の符号化方式においても CB Pの符 号化に空間コンテキストを同様に生成し、 空間コンテキストに基づいて可変長符 号化テーブルを切り替えることによって同様の効果を得ることができる。 その他 の符号化方式として H. 26 L符号化方式における CB Pの符号化方法について 本発明の第 1の実施形態を適用した例を以下に示す。
図 16A, Bには H. 26 L符号化方式におけるマクロブロックの構成および
C BPの構成を示す。 H. 26 Lにおいてマクロブロックは輝度成分画像が 16 画素 X 1 6ラインの大きさから成り、 2種類の色差成分画像が 8画素 X 8ライン の大きさから成る。 直交変換はそれぞれ 4画素 X 4ライン単位に行われるが、 こ うして生成された直交変換係数のうち色差成分画像の DC成分はさらに 2画素 X 2ラインの直交変換が行われる。 イントラ符号化されたマクロブロックの場合、 符号化モードとしてイントラ 4 X4符号化モードとイントラ 1 6 X 1 6符号化モ 一ドの 2種類の符号化モードがあり、 それぞれ CB Pの構成が異なる。
まず、 イントラ 4 X 4符号化モードでは、 CBPYにっぃてはMPEG— 4と 同様にマクロブロッ'クを 4つの 8画素 X 8ラインのプロックに分割し、 それぞれ のプロック内に非零直交変換係数が存在するか否かを示す。一方、 C B P Cは「 0 J、 「1」、 「2」 の 3通りがある。 CB PCとして 「0」 は色差成分に関'しては非零 直交変換係数が存在しないことを示す。 「 1」は色差成分の D C成分のみに非零直 交変換係数が存在し、 A C成分には非零直交変換係数が存在しないことを示す。
「 2」 は色差成分の A C成分に非零直交変換係数が少なく とも 1つ以上存在する ことを示す。 なおインター符号化されたマクロブロックでは、 イントラ 4 X 4符 号化モードと同様の CB Pの構成となっている。 イントラ 1 6 X 1 6符号化モー ドにおける C B Pにおいて、 C B P Yはマクロブ口ック内の AC成分に非零直交 変換係数があるか否かを示す 1ビットのみで構成される。 イントラ 1 6 X 16符 号化モードにおける CB PCはイントラ 4 X 4符号化モードと同様である。
まず、 C B P Yの構成はィントラ 1 6 X 1 6符号化モードの場合を除いては M PEG— 4と同様 構成されているため、 イントラ 1 6 X 1 6符号化モードにお ける場合のみ例外処理として扱い、 その他の符号化方法は MP EG— 4に適用し た場合と同様の方法を用いることができる。 図 8における符号化対象マク口プロ ックがィントラ 1 6 X 1 6符号化モードで符号化される場合には、 例えば以下の 式 (10) を用いて P (CB PY) を算出し、 P (CB PY) の値の大きいもの を優先度の高い CB P Yとする。 図 1 7 Aに示すように該符号化対象マクロブロ ック全体をブロック Qとし、 CBP (Q) は符号化対象マクロブロックにおける CB P Yの値を表すものとする。 また図 1 8 A, Bには、図 9A, Bと同様に H. 26 Lに適用した場合の C.B PYの符号化におけるマップテーブルおよび可変長 符号化テーブルを示す。
式 (1 0) : P (CB PY) = (CB P (Q) = = CB P (E)) + (CBP (Q)
= = CB P (F)) + (CBP (Q) = = CB P (G)) + (CB P (Q) = = C BP (H))
符号化対象マクロプロックに隣接するマクロプロックがィントラ 16 X 16符 号化モードで符号化されている場合には、 該イントラ 1 6 X 1 6符号化モードで 符号化されているマクロブ口ックの輝度成分に対する CB Pはすべて該ィントラ 16 X 1 6符号化モードで符号化されているマクロブロックの CBPYと同じ値 であるとして、 本発明の第 1の実施形態において MP EG-4に適用した場合と 同様の方法によって符号化を行う。 すなわち、 例えば符号化対象マクロブロック の左に隣接するマクロブ口ックの符号化モードがイントラ 1 6 X 1 6符号化モー ドであり、 かつ、 その CB PYが 「1」 であった場合には、 図 8におけるブロッ ク Gおよびブロック Hの CBPの値である CB P (G) および C B P (H) はい ずれも 「 1」 であるとして空間コンテキス トを生成する。
次に、 C B P Cの構成は符号化モードに限らず共通であるため、 符号化方法に 例外処理は必要ない。 図 1 7 Bに示す'ように、 符号化対象マクロブロックの色差 成分画像のブロックをブロック I とし、 上に隣接するプロックを J、 左に隣接す るブロックを Kと十る。 H. 26 Lに適用した場合の C B P Cの符号化における マップテーブルおよび可変長符号化テーブルを図 18 C, Dに示す。 H. 26 L に適用した場合の C B P Cは 「0」、 「1」、 「2」 のいずれかの値をとり得る。 こ の値は近傍ブロックにおける CB P Cの値と類似していると考えられるため、 ブ ロック Iの C B P Cの'値をブロック Jおよびブロック Kの C B P Cのィ直から推測 するよう空間コンテキス トを生成する。 すなわち、 ブロック Jにおける CB PC の値を CB P C (J)、 ブロック Kにおける CB PCの値を CBP C (K) とする と、 次に示す式 (1 1) によって算出される P (CB PC) を求め、 CB PCの 値が P (CB PC) に近い順にインデックス値が小さくなるようにマップテープ ルを切り替える。
式 (1 1) : P (CB PC) = (CBPC (K) +CB PC (J)) /2 すなわち、 例えば CBPC (J) =CB P C (K) =2である場合には、 式 (1 1) より P (CB PC) = 2となるため、 図 1 9に示すテーブルのように符号化 対象マクロブロックにおける CBPCとして CB PC=2のインデックス値が最 も小さい値となり、 続いて CBPC= 1、 最後に CB PC=0の順でインデック ス値が増加するようマップテーブルを生成する。
以上のように構成すれば、 H. 26 L符号化方式においても、 CB Pの符号化 を符号化対象マクロブロックの近傍プロックでの情報を利用した空間コンテキス トに基づいてマップテーブルを切り替えることができ、 出現確率の高いシンボル に短い符号語を割り当てることができるため、 C B Pの好適な符号化が実現でき る。
(第 2の実施形態) "
本発明の第 1の実施形態では、 C B Pの符号化を行う際に近傍プロックにおけ る C B Pの情報を利用して空間コンテキストを生成し、 該空間コンテキストに基 づいてマップテ一ブルを切り替えるように構成することによって C B Pの好適な 符号化を実現する方法を示'したが、 本発明の第 2の実施形態による符号化方法及 び装置では、 C B 'Pの符号化を行う際にさらに近傍ブロックにおける符号化モー ド情報を利用して空間コンテキス トを生成することによってマップテーブルを切 り替えることにより、 符号化効率を向上させることを特徴とする。
本発明の第 2の実施形態による符号化および復号においては本発明の第 1の実 施形態で説明したのと同様に M P E G - 4符号化方式をもとにして説明する。 本 発明の第 1の実施形態では、 符号化対象マクロブロックの C B Pの符号化を行う 際にその近傍ブロックにおける C B Pの値を利用して空間コンテキストを生成し、 該空間コンテキストに応じて C B Pのマップテーブルを切り替えるよう構成した 、 本発明の第 2の実施形態においてはさらに該空間コンテキストの生成に近傍 マクロプロックにおける符号化モード情報を利用する。
既に説明したように、 M P E G— 4においてマクロブロックの符号化モードは
2種類のィンター符号化モードおよび 1種類のイントラ符号化モードから構成さ れる。 インター符号化モードのうち 4つの動きべク トルを用いることを特徴とす るインター符号化モード 1は、 マクロブロック内のそれぞれのブロックの動きが 異なるために選択きれると考えられ、 この場合には動きが単調ではないために非 零直交変換係数が発生しやすいと考えられる。 従って、 例えば図 8に示した符号 化対象マクロブ口ックの近傍ブロックの C B Pに対して、 もし近傍ブロックの属 するマクロプロックがインター符号化モード 1によって符号化されている場合に は、 実際の C B Pの値にかかわらず C B P = 1であるとして空問コンテキス トを 生成するよう構成する。 このように構成すれば、 動きが複雑であると考えられる ィンター符号化モード 1の周辺領域の動きも複雑であるために非零直交変換係数 が出現しやすいことを反映したマップテーブルの設定が可能となり、 C B Pの符 号化効率を向上させることができる。
また、 復号する際にも上記と同様の手段によってマップテーブルの設定をする ことによって、 上記の方法によつて符号化された符号化データを好適に復号する ことができる。
また、.本発明の 2の実施形態による符号化方法においては、 符号化対象マク ロブ口ックの近傍マクロブロックにおける符号化モードに応じて空間コンテキス トを生成するよう説明したが、 もちろん、 当該符号化対象マクロブロックにおけ る符号化モードも参照して空間コンテキストを生成してもよい。
(第 3の実施形態)
本発明の第 3の実施形態による符号化方法は、 C B Pの符号化において、 C B
Pのそれぞれのパターンの出現する確率の分布に応じて可変長符号化テーブルを 切り替えることを特徴とする。 すなわち、 図 2 O A, Bに示すように、 例えば C B P Yのィンデックス順に対するシンボルの発生率が画像によって異なる場合が ある。 図 2 O Aは上位のいくつかのインデックス値に対する発生確率が高く、 そ の他の発生確率が低い場合を示した表である。 図 2 0 Bはインデックスィ直に対す る発生確率にあまり偏りのない場合を示した表である。 このように特性の異なる 発生率の分布が生じる場合、 それぞれの特性に適した可変長符号化テーブルに切 り替えることによって符号化効率をさらに向上させることができる。
例えば図 2 1 A〜' Cに示すように複数の可変長符号化テーブルを用意しておき、 これらを適応的に切り替えるよう制御する。 一例として図 2 1 A〜Cに示した複 数の可変長符号化テーブルは e X p - G o 1 o m b符号と呼ばれ、 以下のように 構成される。 すなわち、 j + 1ビッ トの U n a r yパートに対して、 k+ j ビッ トの B i n a r yパートを追加することによって符号を構成する ( j = 0, 1, ...)。 すなわち、 jはその符号における Un a r yパートの 「0」 の個数に、 また kは 0番目の符号における B i n a r.yパートの符号長に等しい。 図 21 Aは k =0の場合、 図 2 1 Bは k = 1の場合、 図 2 1 Cは k= 2の場合の e x p— G o
1 omb符号である。 図から自明であるように、 kの値が大きいほど符号長の分 布の偏りが小さくなる傾向がある。
さて、 このように符号長の分布の偏りの特性の異なる可変長符号化テーブルを 複数用意し、 適応的にこれらを切り替える。 これらの可変長符号化テーブルの切 り替え方法として 、 例えば、 量子化パラメ.一タが大きい場合には非零直交変換 係数が発生しにくいため、 CBPYの各ビッ ト力 S 「0」 になるものほど出現しや すく、 空間コンテキス トによる予測も当たりやすい。 逆に CB PYの各ビットが 「1」 になるものは出現しにくいため、 空間コンテキス トによる予測がはずれや すい。量子化パラメータが小さい場令には非零直交変換係数が発生しやすいため、 CB.PYの各ビットが 「1」 になるものほど出現しやすく、 空間コンテキストに よる予測も当たりやすい。 逆に CBPYの各ビットが 「0」 になるものは出現し にくいため、 空間コンテキス トによる予測ははずれやすい。 量子化パラメータが 大きくも小さくもない場合には、 CB PYの各ビットが 「0」 や 「1」 に偏らな いため、 それぞれのパターンが発生し、 空間コンテキス トによる予測も当たりに くい。 そこで、 該符号化対象マクロブロックの量子化パラメータの値を参照し、 量子化パラメータが予め設定した閾値 Th 1より大きい場合には例えば図 2 1 A のテーブルを、 量子化パラメータが閾値 Th 1以下であり閾値 Th 2より大きい 場合には例えば図 21 Cのテーブルを、 量子化パラメータが閾値 Th 2より小さ い場合には図 2 1Α·のテーブルを用いるよう制御することによって'、 それぞれの 場合に好適な可変長符号化テーブルを提供することができ、 符号化効率のよい可 変長符号化を実現することができる。 また、 可変長符号化テーブルの切り替え方法の別の例では、 CBPYのインデ ックス値に応じた実際の C BP Yの出現数をカウントする。 すなわち、 C (n) を CBPYのそれぞれのインデックス値に応じた出現回数のカウンタとし (n = 1〜1 5)、 C (n) を正規化した C' (n). の分散値が予め設定した閾値 T h 3 よりも小さい場合には例えば図 2 1 Cのテーブルを、 閾値 Th 3以上の場合には 例えば図 2 1 Aのテーブルを用いるよう制御することによって、 それぞれの場合 に好適な可変長符号化テーブルを提供することができ、 符号化効率のよい 変長 符号化を実現することができる。
なお、 図 2 1A Cでは 3つの可変長符号化テーブルを用いて説明したが、 も ちろん可変長符号 テーブルの個数やその値は図 21 A〜Cに限定されるもので はない。 また、 複数の可変長符号化テーブルをメモリに保持しておくことによつ て可変長符号化テーブルを切り替えることもできるが、 例として示した e X p - G o 1 011113符号などの1;11 i V e r s a 1符号を用いてそのパラメータを切り 替えることによって可変長符号化テーブルを切り替えることもできる。
すなわち、 図 1 3の可変長符号化部 1 6においてまず入力シンボル H 1として 可変長符号出力部 30に CB Pが入力される。 そして符号化シンボルメモリ 3 1 より、 符号化マップテーブル提供部 32に可変長符号化テーブル参照情報 H 2と して周囲ブロックにおける CB Pが入力される。 そして、 符号化マップテーブル 提供部 3 2にて例えば本発明の第 1の実施形態による手法に基づいて CB Pの符 号化に対して用いる符号化マップテーブルが決定され、 符号化テーブル H 4が可 変長符号出力部 30に提供される。 また、 可変長符号化テーブル提供部 3 3には 符号化シンボルメモリ 3 1より、 符号化対象マクロブロックの量子化パラメータ が可変長符号化テーブル参照情報 H 3として入力される。 そして、 可変長符号化 テーブル提供部 33·にて、 本発明の第 3の実施形態による手法に基づいて CB P の符号化に対して用いる可変長符号化テーブルが決定され、 該可変長符号化テー ブル H 5が可変長符号出力部 30に入力される。 そして、 符号化対象 C B Pは可 W 変長符号化され、 符号化データ D 9として出力される。
また、 同様に図 1 4に示した可変長復号部 2 1のブロック図において、 本発明 の第 3の実施形態による符号化方法によって符号化された符号化データ D 9が可 変長復号部 2 1の復号シンボル出力部 4 0に入力されると、 既に復号済のシンポ ノレより復号対象マクロブロックの量子化パラメータが復号シンボルメモリ 4 1か ら復号マップテーブル参照情報 H 7として復号マップテーブル提供部 4 2に入力 される。 そして、 復号マップテーブル提供部 4 2から復号マップテーブル H 9が- 符号化と同様の手続きにて選択されて復号シンボル出力部 4 0に入力される。 ま た、 復号シンボルメモリ 4 1から可変長復号テーブル参照情報 H 8として復号対 象マクロブロックの既復号済の周辺プロックにおける C B Pが可変長復号テープ ル提供部 4 3に入力される。 そして、 可変長復号テーブル提供部 4 3にて、 符号 化と同様の手続きにて可変長復号テーブルが選択され、 可変長復号テーブル H 1 0として復号シンボル出力部 4 0に入力される。 そして、 復号シンボル出力部 4 0において可変長復号が成され、 復号シンボル H 6として C B Pが復号されて出 力されると同時に、 復号シンボルメモリ 4 1に記憶される。
なお、 本発明の第 3の実施形態による符号化方法では、 該符号化対象マク口ブ ロックにおける量子化パラメータに基づいて可変長符号化テーブルを切り替える よう構成したが、 もちろん、 該符号化対象マクロブロックの符号化すべき画像の 複雑さに影響を及ぼす符号化情報であれば、 いかなる情報でも同様の手段によつ て本発明を適用することができる。 例えば、 マクロブロック符号化モードは、 マ クロブロックがより細かいブロックに分割されるモードであるほど、 画像の複雑 さの度合いが高いと考えられる。 逆に、 分割ブロック数が少ないほど、 画像の複 雑さの度合いが低いと考えられる。 従って、 マクロブロック符号化モードに基づ いて画像の複雑さの度合いが高いと考えられる場合には、 非零量子化直交変換係 数が発生しやすいことから、 あらゆる C B Pの発生の可能性が考えられるため、 C B P符号化のための可変長符号化テーブルとしてより符号長の偏りの小さい可 変長符号化テーブルを用いて符号化するように制御する。 逆に画像の複雑さの度 合いが低いと考えられる場合には、 C B P符号化のための可変長符号化テーブル としてより符号長の偏りの大きい可変長符号化テーブルを用いて符号化するよう に制御する。 また、 例えば動きべク トルに関しても、 動きべク トルが長ければ長 いほど符号化すべき画像が複雑である可能性が高くなる傾向がある。 そのため、 該マクロブロックにおける動きべク トルの長さが長いほど、 可変長符号化テープ ノレとしてより符号長の偏りの小さいものを用いるように制御するよう構成しても よい。 また、 周囲ブロックの動きべク トルから符号化対象ブロックの動きべク ト ルを予測し、 予測値と実際の動きべク トルの差分値を符号化する符号化方式の場 合には、 符号化対 となるマクロブロックにおける動きベク トル差分値を基に可 変長符号化テーブルを切り替えるよう構成してもよい。 すなわち、 動きベク トル 差分値が大きければ大きいほど、 符号化対象マクロブ口ック近傍における動きが 複雑であり、 その結果として非零量子化直交変換係数が発生しやすいと類推でき ることから、 この場合には、 例えば符号化対象マクロブロックにおける差分動き ベク トルの絶対値が大きければ大きいほど、 符号長の偏りの少ない可変長符号化 テーブルを用いるように制御するよう構成してもよい。
このように、 本発明の第 3の実施形態では、 各 C B Pの発生する確率の分布に 応じて可変長符号化テーブルを切り替えるよう構成したので、 効率よく符号化を 行うことができる。
(第 4の実施形態)
次に本発明の第 4の実施形態による符号化方法における直交変換係数の可変長 符号化の手順について説明する。 ここでは、 空間画像データを周波数画像データ へと変換する直交変換としては、 離散コサイン変換 (D C T : D i s c r e t e C o s i n e T r' a n s f o r m) を想定する。 図 2 2 Aは、 図 4 Bに示した 8画素 X 8ラインの直交変換係数 f u~ f 88に量子化処理を加えた量子化直交変 換係数 q u〜q 88の具体的な一数値例を示している。画像符号化装置 可変長符号 化部では、 このような量子化直交変換係数に対して所定の処理手順で可変長符号 化を行って、 符号化データを生成する。
係数 』の添字の値 i、 jが対応する垂直周波数、 水平周波数をそれぞれ表し ている量子化直交変換係数 q„〜q 88においては、空間画像データでの画像成分 a u a ^ (図 4 A参照) とは異なり、 各量子化直交変換係数が、 その係数値の大き
. さなどについて、 対応する空間周波数の値に依存したデータ特性を有している。 ' 一般に、 自然画像においては、 低周波数域で大きい直交変換の係数値が得られ、 高周波数になるにしたがって係数値が小さくなる。 この分布は零をピークにもつ ラプラス分布により近似することができる。 また、 そのとき各ブロック内の各画 素の濃度の変化が敫しいほど変換係数の分布の広がりも大きくなり、 係数の平均 振幅値が増大する。
量子化直交変換係数の可変長符号化の処理手順においては、 まず、 2次元デー タである量子化直交変換係数 88が、 例えば図 2 2 Bに示すジグザグ ·スキ ヤンに J;つて、 1次元データへと変換される。 このジグザグ ' スキャンでは、 ス キャン後の 1次元データが低周波数域から高周波数域へと移行していくデータ列 となるように、 量子化直交変換係数がスキャンされる。 これにより、 低周波数域 から高周波数域へと量子/ (ヒ直交変換係数が並ぶ、 図 2 2 Cに示す 1次元データが 得られる。
この量子化直交変換係数の 1次元データは、 そのデータ量を低減するため、 さ らに、 図 2 2 Dに示す L e v e l (レベル) 及び R u ιι (ラン) からなるデータ へと変換される。 ここで、 L e V e 1は、 複数の量子化直交変換係数のうちで非 零係数値を持つ量子化直交変換係数での係数レベルを示す。 また、 R u nは、 0 でなレ、量子化直交変換係数の直前にある係数値が 0のデータの数であるゼロラン 長を示す。 ·
例えば、図 2 2 Aに示した D C T係数のデータ例では、図 2 2 Cに示すように、
6 4個の D C T係数 ci u q M力 0でない係数値を持つ D C T係数の出現位置に 基づいて、 係数 quからなる係数群 係数 q12、 q21からなる係数群 S2、 係数 q31〜q13からなる係数群 S3、 係数 q14〜(! 32からなる係数群 S4、 係数 q41~q15 カ らなる係数群 S 5、 及び係数 q l6〜 q 88からなる係数群 S 6へと区分される。
そして、 これらの係数群 Si (i= l〜6) 対して、 図 22Dに示すように、 そ れぞれ L e v e 1値 及び R u n値 Riが求められる。 具体的には、 係数群 S , では、 1^=9^= 10、 1^=0である。 また、 係数群 S2では、 L2=q21 =— 2、 R2= lである。 また、 係数群 S'3では、 L3=q13=2、 R3=2である。 また、 係 数群 'S4では、 L4=q32 =— 1、 R4=2である。 また、 係数群 S5では、 L5=q15 = 1、 R5= 5である。 また、 最後の係数群 S6は、 全ての係数 q16〜q88の係数値 が 0となっている罕、数群であり、 L6=0、 R6は未定義である。
さて、 図 22Dに示した L e V e 1及び R u nからなるデータより、 該符号化 対象プロックにおける非零係数数 CCおよび R u n合計値 RTを算出 る。 例え ば、 具体的には図 22 Dより非零係数数 C C = 5、 Ru n合計値 R T = 10とな る。
ここで、 これらの係数群および非零係数数 CCや Ru n合計値 RTの符号化を 行う際に用いる可変長符号化テーブルとして例えば図 9 Bに示したものと同一の ものを用いることができる。 この可変長符号化テーブルの左側の項はィンデック ス値を表し、 右側はインデックス値に対応する可変長符号を表している。
図 1 3は本発明の第 4の実施形態による可変長符号化部 1 6のブロック図を示 した図である。 まず入力シンボル H 1として非零係数数 CCおよび R u n合計値 RTが可変長符号出力部 30および可変長符号化テーブル提供部 33に入力され る。 可変長符号化テーブル提供部 33は入力シンボル H 1に対応する可変長符号 化テーブルとして、 例えば図 9 Bに示したような可変長符号化テーブル H 5を可 変長符号出力部 3ひに提供し、 入力シンボル H 1は可変長符号化テーブル H 5を 用いて符号化される。 すなわち、 非零係数数 CCの値から 1を減じた値をインデ ックス値として対応する可変長符号を符号化データ D 9として出力する。 また同 様に R u n合計値 R Tの値をィンデックス値として対応する可変長符号化データ D 9として出力する。
次に、 高周波側の係数群より順に符号化を行う。 ただし、 全ての係数値が 0と なっている係数群については符号化しない。 まず、 すべての係数群の R u n値 R i が入力シンボル H 1として可変長符号出力部 3 0に入力されると、 R u n '^ R i をインデックスとして同様に可変長符号化テーブルを用いて符号化され、 符号化 データ D 9として出力される。
次に、 L e v e l値の符号化を高周波側の係数群から順に全ての非零 L e v e 1値に対して行う。
本発明の第 4の ¾施形態による符号化方法においては、 符号化対象となるプロ ックの L e V e 1値の符号化を行う際の可変長符号化テーブルを、 符号化対象と なるブロックの周辺で符号化済のブロックにおける L e v e 1値に応じて切り替 えることを特徴とする。
ここで、 図 2 3に示すように、 符号化対象となるブロックをブロック A、 上に 隣接するブロックをブロック B、 左に隣接するブロックをブロック Cとする。 画 像信号においてテクスチャや動きに変化が少ない領域は非零直交変換係数が出現 しにくく、 逆にテクスチャや動きに変化の多い領域は非零直交変換係数が出現し やすいことが知られている。 また、 特に自然画像などではテクスチャや動きの変 化の傾向が近傍領域において類似することが多い。 従って、 符号化対象となるブ 口ックの周辺プロックにおける符号化係数の出現する傾向から符号化対象となる ブロックにおける符号化係数の出現する傾向を類推することができる。
すなわち、 符号化対象となるブロック Aに隣接するブロック Bおよびブロック Cにおいて例えば L e V e 1値が大きな係数が多数出現していれば、 その近傍領 域は画像信号においてテクスチャや動きの変化が複雑であると考えられるため、 符号化対象ブロック Aにおいても L e V e 1値が大きな係数が多数出現すると類 推できる。 逆に例えば符号化対象となるブロック Aに瞵接するブロック Bおよび ブロック Cにおいて L e v e 1値が小さな係数しか出現していないか、 もしくは L e v e l値が非零の係数が存在しなければ、 その近傍領域は画像信号において テクスチャや動きが単調であると考えられるため、 符号化対象プロック Cにおい ても L e V e 1値が小さな係数が出現しやすいと類推できる。
ところで、 L e v e l値が大きい値が多数出現する場合には、 L e v e 1値が 小さい値をとるか大きい; ί直をとるかを類推するのは難しいため、 できるだけ各 L e v e 1値に対する符号長が偏らない可変長符号化テーブルを用いることによつ て符号化を効率よく行うことができる。 逆に、 L e V e 1値が小さい値をとりや すい場合には、 L e v e l値の小さい係数に対する符号長が短くなるよう可変長 符号化テーブルを いることによって、 符号化を効率よく行うことができる。 そこで、 例えば図 21A〜Cに示したように符号長の分布の偏りの特性の異な る可変長符号化テーブルを複数用意し、 周囲マクロブロックにおける L e V e 1 値に従って該符号化対象 L e v e 1値に対する可変長符号化テーブルを切り替え る。 すなわち、 周囲マクロブ口ックにおける L e V e I値より、 符号化対象マク ロブロックにおける L e V e 1値は小さい値が出現しやすいと類推される場合に は図 21 Aに示すように、 符号長の偏りが大きいテーブルを用いるよう制御し、 L e v e l値が大きい値も出現しやすいと類推される場合には図 21 Cに示すよ うに、 符号長の偏りが小さいテーブルを用いるよう制御する。
具体的には、 符号化対象となるブロックにおける L e V e 1値を符号化する際 に、 例えば図 23におけるブロック Bおよびブロック Cにおける L e V e 1 の 絶対値の最大値 Ma X Lを求め、 予め設定した閾値 Th 7および Th 8 (Th 7 <T h 8) に対して、 Ma x Lが T h 7より小さければ図 21 Aの可変長符号化 テーブルを、 Ma X Lが Th 7以上であり Th 8より小さければ図 2 1 Bの可変 長符号化テーブルを、 Ma X Lが Th 8以上であれば図 2 1 Cの可変長符号化テ 一ブルを用いるよう切り替える。 .
すなわち、 図 1 3の可変長符号化部 1 6において、 可変長符号出力部 30に入 カシンボル H 1として L e v e 1値が入力されると、 符号化シンボルメモリ 3 1 より M a X Lが可変長符号化テーブル参照情報 H 3として入力され、 可変長符号 化テ一ブル提供部 3 3は可変長符号化テーブル参照情報 H 3に基づいて上記の制 御手法によって選ばれる可変長符号化テーブル H 5を可変長符号出力部 3 0に提 供する。 他の動作は本発明の第 1から第 3の実施形態と同様である。
このように構成すれば、 符号化対象となるブロックの近傍ブロックから符号化 対象となるブロックにおける L e V e 1値の出現傾向を類推でき、 小さい L e v e 1値が出現しやすい場合には小さい L e v e 1値に対して短い符号長を割り当 て、 L e v .e 1·値が小さい値をとるか大きい値をとるか類推し難い場合には大き い L e V e 1値に しても長くない符号長を割り当てることができるため、 L e V e 1値の符号化を効率よく行うことができる。
本発明の第 4の実施形態による符号化方法においては、 可変長符号化テーブル 参照情報 H 3として符号化対象ブロックの近傍にあるプロック Bおよびプロック Cの L e V e 1値の絶対値 Ινί a x Lを用いるように説明したが、 もちろん本発明 はこれに限定されることなく、 例えば他の符号化済の近傍ブロックをも参照の範 囲に入れた上で L e V e 1値の絶対値の最大値を用いてもよいし、 最大値の代わ りに中間 ί直、 絶対値の合計値、 分散値、 絶対値の平均値など、 近傍ブロックにお ける L e V e 1値の特徴を示す情報であれば種々の情報を利用することができる。 なお、 本発明の第 4の実施形態による符号化方法において、 R u r^直の符号化 を L e V e 1値の前に行うよう記述したが、 もちろん本発明は R u n値を L e v e 1値の後に符号化しても R u n値と L e v e 1値を交互に符号化してもよレ、。 図 1 4は本発明の第 4の実施形態による可変長復号部 2 1のブロック図を示し た図である。 本発明の第 4の実施形態による符号化方法によって符号化された符 号化データ D 9が可変長復号部 2 1の復号シンボル出力部 4 0に入力されると、 復号シンボルメモリ 4 1より M a X Lが可変長復号テーブル提供部 4 3に入力さ れる。 そして、 符号化の際と同様の処理によって可変長復号テ ブル提供部 4 3 は使用する可変長復号テーブルを決定し、 可変長復号テーブル H 9が復号シンポ ル出力部 4 0に入力される。 そして、 復号シンボル出力部 4 0において可変長復 号が成され、 復号シンボル H 6として L e V e 1値が復号されて出力されると同 時に、 復号シンボルメモリ 4 1に記憶される。
上記のように可変長復号部を構成したので、 本発明の第 4の実施形態による符 号化方法によって符号化された符号化データを、 好適に復号することができる。 なお、 本発明の第 4の実施形態による符号化方法および復号方法においては、 具体的なテーブル値を用いて説明したが、 もちろん本発明はこれらの値に限定さ れるものではない。 また、 本発明の実施形態においては、 8画素 X 8ラインの D C T係数を例に用いて説明したが、 もちろん直交変換の種類やブロックの大きさ がこれらに限定されるものではない。
(第 5の実施形態)
次に、 本 §明の第 5の実施形態による符号化方法について説明する。 さて、 動 きべク トル情報 D 2は、 例えば M P E G— 4における符号化では、 符号化対象と なるマクロブロックの動きベク トルに対して、 周辺マクロブロックにおける動き べク トルの中間値が予測値として生成され、 該予測値と実際の動きべク トルとの 差分値 M V Dを符号化する。
ここで、 図 2 3に示すように、 符号化対象となるマクロブロックをマクロブロ ック A、 上に隣接するブロックをマクロブロック B、 左に隣接するブロックをマ クロブロック Cとする。 画像信号において、 特に自然画像などではある領域のテ タスチヤや動きの変化の傾向がその近傍領域において類似していることが多い。 従って、 符号化対象となるマクロブロックの周辺マクロブロックにおける動きの 変化が激しい場合には、 符号化対象となるマクロプロックにおける動きの変化も 激しく、 動きべク トル差分値の絶対値がどのような値を取るかを類推することは 難しレ、。 逆に、 周辺マクロブロックにおける動きの変化があまりない場合には、 その近傍領域は単調な動きをしているかもしくは静止している可能性が高いと類 推できるため、 符号化対象となるマクロブロックにおいても動きベク トル差分値 の絶対値は小さな値を取るものと類推することができる。
従って、 符号化対象となるマクロプロックの周辺マクロプロックにおける動き べク トル差分値の絶対値が小さい場合には、 該符号化対象となる動きべク トル差 分値の絶対値は 0近傍に集中する可能性が高いため、 0近傍の符号長が短くなる ような可変長符号化テーブルを用いることによって効率よく符号化できる。逆に、 符号化対象となるマクロブロックの周辺マクロブロックにおける動きべク トル差 分値の絶対値が大きい場合には、 該符号化対象となる動きべク トル差分値の絶対 値が 0近傍に集中するとは限らない。 したがって、 このような場合には、 動きべ ク トル差分値の絶 値が大きい値でも小さい値でも符号長にあまり差がないよう な可変長符号テ一ブルを用いることによって効率よく符号化することができる。 これらのことを念頭におき、 本発明の第 5の実施形態においては、 例えば図 2 1 A〜C示すように符号長の分布の偏りの特性の異なる可変長符号化テーブルを 複数用意し、 符号化対象マク口ブ口ックの周辺マクロブロックにおける動きベタ トル差分値の絶対値の大きさに応じて、 符号化対象マクロブロックにおける動き べク トル差分値に対する可変長符号化テーブルを切り替える。
具体的には、 例えば図 23に示した符号化対象マクロブロック Aの周辺マクロ ブロックとして上に隣接するマクロブロック Bおよび左に隣接するマクロブロッ ク Cにおける動きベク トル差分値の絶対値を MVD (B) および MVD (C) と する。 予め設定した閾値 T h 0に対し、 MVD (B) および MVD (C) のいず れも Th 0より小さければ、 マクロブロック Aにおける動きべクトル差分値の可 変長符号化テーブルとして図 2 1 Aのテーブルを、 MVD (B)または MVD (A) のいずれか片方のみ T h 0に等しいか T h 0より大きければ図 21 Bのテーブル を、 MVQ (B) および MVD (C) の両方が T h 0に等しいか T h 0より大き ければ図 2 1 Cのテーブルを用いて可変長符号化を行うように構成する。ただし、 マクロプロック Bもしくはマクロブ口ック Cが画面外もしくはスライス外に存在 する場合には、 そのマクロブロックの動きべク トル差分値の絶対値は予め設定し ておいた値 Z ( Z≥T h 0 ) であるとして処理する。 これは、 隣接するマクロブ ロックが画面外またはスライス外であれば、 動きべク トルの予測値が当たりにく く、 符号化対象の動きべク トル差分値の取り うる値が 0近傍に集中するとは限ら ないためである。 また、 隣接するマクロブロックがイントラマクロブロックであ つた場合にも同様にそのマクロプロックの動きべク トル差分値の絶対値は Zであ るとして処理する。 これも、 上記と同様に符号化対象め動きベクトルの予測値が 当たりにく く、 符号化対象の動きべク トル差分値の取り うる値が 0近傍に集中す るとは限らないためである。
すなわち、 図 1 '3の可変長符号化部 1 6においてまず入力シンボル H 1として 可変長符号出力部 3 0に動きベク トル差分値 MV Dが入力される。 そして符号化 シンボルメモリ 3 1より、 可変長符号化テーブル提供部 3 3に可変長符号化テー ブル参照情報 H 3として MV D ( B ) および MV D ( C ) が入力される。 そして、 可変 符号 1ϋテーフノレ ί¾1Λ¾τΐ;> 3 3 tこて上 δ::のよつに MV D ( Β )およ Όゝ丄 viV D ( Cリ が予め設定しておいた閾値 T h 0と比較され、 それに基づいて符号化対象動きべ ク トルに対して用いる可変長符号化テーブルが決定され、 可変長符号化テーブル I - 1 5が可変長符号出力部 3 0に提供される。 そして、 符号化対象動きベク トルは 可変長符号化され、 符号化データ D 9として出力される。
本発明の第 5の実施形態による符号化方法においては、 以上のように M V D値 が 0近傍に集中しやすい場合には、 0近傍の符号長が短い可変長符号化テーブル に切り替えることによって MV D値が 0近傍であった場合の符号長が短くなるよ うに制御し、 M V D値が 0近傍に集中するとは限らない場合には符号長の偏りの 小さいテーブノレに切り替えることによって MV D値が大きな値であっても符号長 が長くならないよう ·構成したので、 MV D値を効率よく符号化することができる。 なお、 図 2 1 A〜Cでは 3つの可変長符号化テーブルを用いて説明したが、 も ちろん可変長符号化テーブルの個数やその値は図 2 1 A〜Cに限定されるもので はない。 また、 複数の可変長符号化テーブルを可変長符号化テーブル提供部 3 3 內のメモリに保持しておき、 可変長符号化テーブル H 3の提供を切り替えること によって実現しても、 例として示した e X p — G o 1 。111 13符号などの11 11 i v e r s a 1符号を用いてそのパラメータを切り替えることによって可変長符号化 テーブル提供部 3 3内で可変長符号化テーブル H 3を生成することによって実現 してもよレ、。
図 1 4は本発明の第 5の実施形態.による可変長復号部 2 1のブロック図を示し た図である。 本発明の第 5の実施形態による符号化方法によつて符号化された符 号化データ D 9が可変長復号部 2 1の復号シンボル出力部 4 0に入力されると、 既に復号済のシン ルより算出された MV D ( B ) および MV D ( C ) が復号シ ンボルメモリ 4 1から可変長復号テーブル参照情報 H 8として可変長復号テープ ル提供部 4 3に入力される。 そして、 可変長復号テーブル提供部 4 3から可変長 復号テーブル H 1 0が符号化と同様の手続きにて選択されて復号シンボル出力部 4 0に入力される。 そして、 復号シンボル出力部 4 0において可変長復号が成さ れ、 復号シンボル H 6として MV D値が復号されて出力されると同時に、 復号シ ンボノレメモリ 4 1に記憶される。
上記のように可変長復号部を構成したので、 本発明の第 5の実施形態による符 号化方法によって符号化された符号化データを、 好適に復号することができる。 (第 6の実施形態)
本発明の第 5の実施形態による符号化方法では、 符号化対象となるマクロプロ ックの周囲のマクロブロックにおける動きべク トルに応じて可変長符号化テープ ルを切り替えるように構成したが、 本発明の第 6の実施形態による符号化方法で は、 符号化対象となるマクロブロックの周囲のマクロブロックにおけるマクロブ 口ック符号化モードに応じて可変長符号化テーブルを切り替えることを特徴とす る。
既に図 3 A〜Cに示したように、 例えば M P E G— 4においてはマクロブ口ッ クの符号化モードとして、 インター符号化モード 0、 インター符号化モード 1、 イントラ符号化モードの 3つに分類される。 ところで、 インタ一符号化モード 1 はィンター符号化モード 0よりも画面の動きが複雑である場合により効果的に 4 つの動きベク トルを用いて動き補償を行う符号化モードである。 従って、 インタ —符号化モード 1が選択されているマクロブロックにおいては画面の動きはイン ター符号化モード 0が選択されているマクロブロックに比べて複雑であると類推 できる。 従って、 本発明の第 2の実施形態による符号化方法においては、 図 25 に示すように任意のマクロブロック MBに対して各符号化モードに応じて複雑さ を示すポイント P (MB) を定義する。 これらを符号化対象となるマクロブロッ クに隣接する図 8 'に示したマクロプロック Bおよび Cに対して算出したボイント を、 ポイント P (B) および P (C) とする。 そして、 符号化対象となるマクロ ブロック Aに対するポイントを、 以下の式 (1 2) によって定義する。
式 (1 2) : P (A) =P (B) +P (C)
さて、 以上によって算出されたポイント P (A) は符号化対象となるマクロブ ロックに隣接するマクロブロックにおける画面の動きの複雑さおよび、 隣接する マクロブロックから符号化対象となるマクロブロックの動きべク トルの予測の難 しさをあらわしている。 ボイントが大きければ大きいほど予測が難しいか動きが 複雑であることを表す。
従って、 図 2 1A〜Cに示すような符号長の分布の偏りの特性の異なる可変長 符号化テーブルを複数用意し、 符号化対象マクロブロックの周辺マクロブロック におけるマクロブロック符号化モードから算出したポイント P (A) の大きさに 応じて、 符号化対象マクロブロックにおける動きべク トル差分値に対する可変長 符号化テーブルを切り替える。
具体的には、 例えば予め設定した閾値 Th 1および Th 2 (Th KT h 2) に対し、 ポイント P (A) が Th 1より小さければ、 動きが複雑でなく動きべク トル予測値が当たりやすいと類推できるので、 動きべク トルの絶対値が 0に近い 符号がより短い符号長となるよう構成されている図 2 1 Aのテーブルを用いて可 変長符号化を行うように構成する。 同様に、 P ( A) が T h i以上であり T h 2 より小さければ図 2 1 Bのテーブルを、 P (A ) が T h 2以上であれば図 2 1 C のテーブルを用いて可変長符号化を行うように構成する。 ただし、 マクロブロッ ク Bもしくはマクロプロック Cが画面外もしくはスライス外に存在する場合には、 例えばそのマクロブロックのポイント P ( X ) (ただし Xは Bまたは C )はイント ラ符号化モード (A C係数あり) 'に対するポイントと同じポイントを用いること とする。 これは、 隣接するマクロブロックが画面外またはスライス外であれば、 動きべク トルの予測値が当たりにくく、 符号化対象の動きべク トル差分値のとり うる値が 0近傍に 中するとは限らないためである。
すなわち、 図 1 3の可変長符号化部 1 6においてまず入力シンボル H 1として 可変長符号出力部 3 0に動きべク トル差分値 M V Dが入力される。 そして符号化 シンボルメモリ 3 1より、 可変長符号化テーブル提供部 3 3に可変長符号化テー ブル参照情報 H 3としてマクロブロック Bおよびマクロブロック Cの符号化モー ド情報が入力される。 そして、 可変長符号化テーブル提供部 3 3にて上記のよう にポイント P (A ) が算出されて予め設定しておいた閾値 T h 1および T h 2と 比較され、 それに基づいて符号化対象動きべク トルに対して用いる可変長符号化 テーブルが決定され、 可変長符号化テーブル H 5が可変長符号出力部 3 0に提供 される。 そして、 符号化対象動きべク トルは可変長符号化され、 符号化データ D 9として出力される。
本発明の第 6の実施形態による符号化方法においては、 以上のように符号化対 象となるマクロブ口ックの周囲のマクロブロックにおけるマク口プロック符号化 モードから類推して、 MV D値が 0近傍に集中しやすい場合には、 0近傍の符号 長が短い可変長符号化テーブルに切り替えることによって M V D値が 0近傍であ つた場合の符号長が短くなるように制御し、 M V D値が 0近傍に集中するとは限 らない場合には符号長の偏りの小さいテーブルに切り替えることによって MV D 値が大きな値であっても符号長が長くならないよう構成したので、 MV D値を効 率よく符号化することができる。
なお、 図 2 1 A〜Cでは 3つの可変長符号化テーブルを用いて説明したが、 も ちろん可変長符号化テーブルの個数やその値は図 2 1 A〜Cに限定されるもので はない。 また、 複数の可変長符号化テーブルを可変長符号化テーブル提供部 3 3 内のメモリに保持しておき、 可変長符号化テーブル H 5の提供を切り替えること によって実現しても、 例として示した e X p— G o 1 o m b符号などの U n i v e r s a 1符号を用いてそのパラメータを切り替えることによって可変長符号化 テーブル提供部 3 3内で可変長符号化テーブル H 5を生成することによって実現
. 図 1 4は本発明の第 6の実施形態による可変長復号部 2 1のブロック図を示し た図である。 本発明の第 6の実施形態による符号化方法によって符号化された符 号化データ D 9が可変長復号部 2 1の復号シンボル出力部 4 0に入力されると、 既に復号済のシンボルより算出された符号化対象となるマクロプロックに隣接す るマクロプロック Bおよび Cおけるマクロブ口ック符号化モードが復号シンボル メモリ 4 1から可変長復号テーブル参照情報 H 8として可変長復号テーブル提供 部 4 3に入力される。 そして、 可変長復号テーブル提供部 4 3から可変長復号テ 一ブル H I 0が符号化と同様の手続きにて選択されて復号シンボル出力部 4 0に 入力される。 そして、 復号シンボル出力部 4 0において可変長復号が成され、 復 号シンボル H 6として MV D値が復号されて出力されると同時に、 復号シンボル メモリ 4 1に記憶される。
上記のように可変長復号部を構成したので、 本発明の第 6の実施形態による符 号化方法によって符号化された符号化データを、 好適に復号することができる。 本発明の第 6の実施形態においてはマクロブロック符号化モードを利用した動 きべク トル差分値の好適な符号化方法および復号方法を M P E G— 4に適用した 例を用いて説明したが、 もちろん、 符号化方法はこれに限定されない。 その一例 として、 H . 2 6 L符号化方式に適用した符号化方法を以下に示す。
H . 2 6 L符号化方式においては、 マクロブロック符号化モードは図 2 4 A〜 Jに示すように 1個のスキップ (S k i p ) モード.0と、 7個のィンターモード 1〜7と、 2個のイントラモード 8、 9との 1 0個の符号化モードが用意されて いる。
このうち、 スキップモード 0は、 画像の動きが検出されず、 動き補償に使用す る参照フレームと同位置の画像をコピーするモードである。
また、 インターモード 1〜7は、 それぞれ異なるブロック区分を用いてインタ 一フレーム符号化 (フレーム間符号化) を行う場合のモードである。 それぞれで の動き補償用ブ口'ック.については、 図 2 4 A〜 Jに示すように、 モード 1では、 1 6画素 X 1 6ラインのサイズで 1個のブロックが用いられる。 モード 2では、 1 6画素 X 8ラインのサイズで 2個のブロックが用いられる。 モード 3では、 8 画素 X 1 6ラインのサイズで 2個のブロックが用いられる。 モード 4では、 8画 素 X 8ラインのサイズで 4個のブロックが用いられる。 モード 5では、. 8画素 X 4ラインのサイズで 8個のブロックが用いられる。 モード 6では、 4画素 X 8ラ インのサイズで 8個のプロックが用いられる。 モード 7では、 4画素 X 4ライン のサイズで 1 6個のブロックが用いられる。 図 2 8 Aには、 これらのモードとィ ンデックス値の対応を表すマップテーブルを、 図 2 8 Bには、 それぞれのインデ ックス値と対応する符号を示す可変長符号化テーブルを示す。
また、 イントラモード 8、 9は、 それぞれ異なるブロック区分を用いてイント ラフレーム符号化 (フレーム内符号化) を行う場合のモードである。 それぞれで のブロックについては、 図 2 4 A〜 Jに示すように、 モード 8では、 4画素 X 4 画素のサイズで 1 6個のブロックが用いられる。 モード 9では、 1 6 X 1 6のサ ィズで 1個のブロヅクが用いられる。
さて、 これらの 1 0個の符号化モードに対して、 ] VI P E G— 4に適用した例と 同様にポイント Pを定義する。例えば、図 2 7に示すようにポイントを定義する。 すなわち、 インター符号化モードにおいてはプロック区分数が多いほど動きが複 雑であると類推されるため、 プロック区分数が多いほどボイントが大きい値を取 るように定義している。また、スキップモードでは動きがないと考えられるため、 周囲の動きも無いか小さいことが多いと類推できるため、 ポィントが小さい値を 取るように定義している。 また、 イントラ符号化モードにおいても、 ブロック区 分数が多い場合には動きが複雑であり、 符号化対象マクロプロックにおける動き ベク トルの予測が当たりにくく、 ブロック区分数が少ない場合には、 動きは複雑 ではない可能性があるが動きべク トルの予測は当たりにくいと予想されるため、 モード 8ではポイントが大きい をとるように、 モード 9ではモード 8よりもポ イン卜が小さい値'を取るように定義している。 これらの値は説明を分かりやすく するために一例としてあげただけであり、 本発明はこれらのテーブルの具体的な 値に限定されるものではない。
さて、 図 2 7における符号化モ^"ドに対するポイントの表を用いて、 M P E G 一 4に適用した例と同様に、 符号化対象となるマクロブロックに隣接するマク口 ブロック Bおよびマクロプロック Cのポィント P ( B )および P ( C ) を求める。 そして、 P ( B ) および P ( C ) より、 符号化対象となるマクロブロックに対す るポイント P (A) が求められる。
以下、 同様に P (A) と閾値を比較し、 その結果に応じて可変長符号化テープ ルを切り替えることにより、 H . 2 6 L符号化方式においても、 本発明を適用す ることができる。
(第 7の実施形態)
次に本発明の第 7の実施形態による符号化方法について説明する。 さて、 マク ロブロック符号化モードは既に図 3 A〜Cに示したように、 例えば M P E G— 4 においてはマクロブロックの符号化モードとして、 インター符号化モード 0、 ィ ンター符号化モード 1、 イントラ符号化モードの 3つに分類される。 ところで、 ィンター符号化モード 1はィンター符号化モード 0よりも画面の動きが複雑であ る場合やテクスチャが複雑である場合により効果的に 4つの動きべク トルを用い て動き補償を行う符号化モードである。 従って、 インター符号化モード 1が選択 されているマクロブ口ックにおいては画面の動きやテクスチャはィンター符号化 モード 0が選択されているマクロブロックに比べて複雑であると類推できる。 ま た、 イントラ符号化モードに関しては、 マクロブロックに含まれる非零係数数が 多ければテクスチャが複雑であると考えられ、 逆に非零係数数が少なければテク スチヤが単調であると考えられる。
ここで、 図 2 3に示すように、 符号化対象となるマクロブロックをマクロブロ ック A、 上に隣接するブロックをマクロブロック B、 左に隣接するブロックをマ クロブロック Cと る。 画像信号において、 特に自然画像などではある領域のテ クスチヤや動きの変化の傾向がその近傍領域において類似していることが多い。 従って、 符号化対象となるマクロブロックの周辺マクロブロックにおける動きや テクスチャが複雑な場合には、 符号化対象となるマクロブロックにおける動きや テクスチャも複雑となると類推できる。 逆に、 周辺マクロブロックにおける動き やテクスチャが単調な場合には、 符号化対象となるマクロブロックにおける動き やテクスチャも単調であると類推できる。
従って、 符号化対象となるマクロプロックの周辺マクロブロックにおけるマク ロブ口ック符号化モードなどの情報から、 符号化対象マクロプロックにおいて出 現しゃすい符号化モードが類推できる。
そこで、 本発明の第 7の実施形態による符号化方法においては、 図 2 5に示す ように任意のマクロブ口ック M Bに対して各符号化モードに応じて複雑さを示す ポイント P (M B ) を定義する。 ただし、 イントラ符号化モードに対しては、 輝 度成分の直交変換係数の A C成分があるか否かによって異なるポイントを定義し ている。 ·
これらを符号化対象となるマクロブロックに隣接する図 2 3に示したマクロブ ロック Bおよび Cに対して算出したポイントを、 ポイント P ( B ) および P ( C ) とする。 そして、 符号化対象となるマクロブロック Aに対するポイントを、 以下 の式 (1 3 ) によって定義する。
式 (1 3 ) : P (A) = ( P ( B ) + P ( C ) ) / 2
さて、 以上によって算出されたポイント P (A) は符号化対象となるマクロブ 口ックに隣接するマクロプロックにおける動きやテクスチャの複雑さをあらわし ている。 ボイントが大きければ大きいほど動きやテクスチャが複雑であることを あらわす。
従って、 図 2 6 Aに示すようなマップテーブルおよび図 2 6 Bに示すような可 変長符号化テ^ブルを用意し、 符号化対象マクロブロックの周辺マクロブロック におけるマクロブ'ロック符号化モードから算出したポイント P (A) の大きさに 応じて、 マップテーブルを切り替えることによって符号化対象マクロプロックに おけるマクロプロック符号化モードの可変長符号化における符号語の割り当てを 切り替える。 ただし、 イントラマクロブロックに対しては 2つのポイントが算出 されるので、 小さい値の方を採用することとする。
具体的には、 例えば算出したポイント P (A) と各符号化モードに対して定義 されたポイントとの差 D Pを求め、 D Pが小さい符号化モードほどマップテープ ルにおけるィンデックス値が小さくなるようにマップテーブルを切り替える。 • すなわち、 図 1 3の可変長符号化部 1 6においてまず入力シンボル H 1として 可変長符号出力部 3 0にマクロブロック符号化モードが入力される。 そして符号 化シンボルメモリ 3 1より、 符号化マップテーブル提供部 3 2に符号化マップテ 一ブル参照情報 H 2としてマクロブロック Bおよぴマクロブロック Cの符号化モ ード情報および C B Pが入力される。 そして符号化マップテーブル提供部 3 2に て上記'のようにポイント P (A) が算出され、 それに基づいて符号化マップテー ブルが決定され、 符号化マップテーブル H 4が可変長符号出力部 3 0に提供され る。 また、 可変長符号化テーブル提供部 3 3より可変長符号化テーブル H 5が可 変長符号出力部 3 0に提供される。 そして、 マクロブロック符号化モードが可変 長符号ィヒされ、 符号化データ D 9として出力される。 . 本発明の第 7の実施形態による符号化方法においては、 以上のように出現しや すいと類推されるマクロプロック符号化モードがより短い符号長で符号化される ようにマップテーブルを切り替えるように構成したので、 マクロブロック符号化 モードを効率よく符号化することができる。
図 1 4は本発明の第 7の実施形態による可変長復号部 2 1のブロック図を示し た図である。 本発明の第 7の実施形態による符号化方法によって符号化された符 号化データ D 9が可変長復号部 2 1の復号シンボル出力部 4 0に入力されると、 既に復号済のシンポノレであるマクロブロック Bおよび Cにおけるマクロブロック 符号化モードおよ C B Pが復号シンボルメモリ 4 1から復号マップテーブル参 照情報 H 7として復号マップテーブル提供部 4 2に入力される。 そして、 復号マ ップテーブル提供部 4 2から復号マップテーブル H 9が符号化と同様の手続きに て選択されて復号シンボル出力部 4 0に入力される。 また、 可変長復号テーブル 提供部 4 3より可変長復号テーブル H 1 0が復号シンボル出力部 4 0に入力され る。 そして、 復号シンボル出力部 4 0において可変長復号が成され、 復号シンポ ル H 6として符号化モードが復号されて出力されると同時に、 復号シンボルメモ リ 4 1に記憶される。
上記のように可変長復号部を構成したので、 本発明の第 7の実施形態による符 号化方法によって符号化された符号化データを、 好適に復号することができる。 本発明の第 7の実施形態においては符号化対象となるマクロブロックの周囲の マクロブロックの符号化情報を利用したマクロブロック符号化モ一ドの好適な符 号化方法および復号方法を M P E G - 4に適用した例を用いて説明したが、 もち ろん、 符号化方法はこれに限定されない。 その一例として、 H . 2 6 L符号化方 式に適用した符号化方法を以下に示す。
H . 2 6 L符号化方式においては、 マクロブロック符号化モードは図 2 4 A ~
Jに示すように 1個のスキップ (S k i p ) モード 0と、 7個のインターモード 1〜7と、 2個のイントラモード 8、 9との 1 0個の符号化モードが用意されて いる。
このうち、 スキップモード 0は、 画像の動きが検出されず、 動き補償に使用す る参照フレームと同位置の画像をコピ一するモードである。
また、 インターモード 1〜7は、 それぞれ異なるブロック区分を用いてインタ 一フレーム符号化 (フレーム間符号化) を行う場合のモードである。 それぞれで の動き補償用ブロックについては、 図 2 4 A〜 Jに示すように、 モード 1では、 1 6画素 X 1 6ラインのサイズで 1個のブロックが用いられる。 モード 2では、 1 6画素 X 8ラインのサイズで 2個のブロックが用いられる。 モード 3では、 8 画素 X 1 6ラインのサイズで 2個のブロックが用いられる。 モード 4では、 8画 素 X 8ラインのサイズで 4個のブロックが用いられる。 モード 5では、 8画素 X 4ラインのサイズで 8個のブロックが用いられる。 モード 6では、 4画素 X 8ラ インのサイズで 8個のブロックが用いられる。 モード 7では、 4画素 X 4ライン のサイズで 1 6個のブロックが用いられる。
また、 イントラモード 8、 9は、 それぞれ異なるブロック区分を用いてイント ラフレーム符号化 (フレーム内符号化) を行う場合のモードである。 それぞれで の: ロックについては、 図 2 4 A〜 Jに示すように、 モード 8では、 4画素 X 4 画素のサイズで 1 6個のブロックが用いられる。 モード 9では、 1 6 X 1 6のサ ィズで 1個のブロックが用いられる。
さて、 これらの 1 0個の符号化モードに対して、 M P E G— 4に適用した例と 同様にポイント Pを定義する。例えば、図 2 7に示すようにポイントを定義する。 すなわち、 インター符号化モードにおいてはプロック区分数が多いほど動きゃテ クスチヤが複雑であると類推されるため、 プロック区分数が多いほどボイントが 大きい値を取るよう—に定義している。 また、 スキップモードでは動きがないと考 えられるため、 周囲の動きも無いか小さいことが多いと類推できるため、 ポイン トが小さい値を取るように定義している。 また、 イントラ符号化モードにおいて も、 ブロック区分数が多い場合には動きやテクスチャが複雑であり、 符号化対象 マクロブロックにおける動きべク トルの予測が当たりにくく、 ブロック区分数が 少ない場合には、 動きやテクスチャは複雑ではない可能性があるが動きべク トル の予測は当たりにくいと予想されるため、 モード 8ではボイントが大きい値を取 るように、 モード 9ではモード 8よりもポイントが小さい値を取るように定義し ている。 これらの値は説明を分かりやすくするために一例としてあげただけであ り、 本発明はこれらのテーブルの具体的な値に限定されるものではない。
さて、 図 2 7における符号化モードに対するポイントの表を用いて、 M P E G _ 4に適用した例と同様に、 符号化対象となるマクロプロックに隣接するマクロ ブロック. Bおよびマクロブ口ック Cのポィント P ( B )および P ( C ) を求める。 そして、 P ( B ) および P ( C ) より式 ( 1 3 ) を用いて符号化対象となるマク ロブロックに対するポイント P (A) が求められる。
以下、 同様に P (A) の値を参照し、 各符号化モードのポイントがポイント P (A) の値に近いほどィンデックス値が小さくなるようにマップテーブルを切り 替えることにより、 H . 2 6 L符号化方式においても、 本発明を適用することが できる。 - (第 8の実施形態)
本発明の第 7の実施形態においては、 マップテーブルのみを切り替え、 可変長 符号化テーブルを切り替えなかったが、 本発明の第 8の実施形態による符号化方 法においては、 符号化対象となるマクロブロックの周囲のマクロブロックの符号 化モードに応じて可変長符号化テーブルを切り替えることにより、 より効率のよ い符号化を実現することを特徴とする。
さて、 図 2 3に既に示した符号化対象となるマクロブロック Aに隣接するマク 口プロック Bと Cにおいて、 同程度の複雑さを示す符号化モードが選ばれていた 場合には、 マクロブロック Aにおいてもマクロブロック Bおよびマクロブロック
Cと同程度の複雑さを示す符号化モードが選択される可能性が高いと類推できる。 し力 し、 マクロブロック Bと Cにおいてまったく異なる複雑さを示す符号化モー ドが選ばれていた場合には、 マクロプロック Aにおいてどのような符号化モード が選択されるかを類推できない。 そこで、 マクロブロック Bおよび Cにおいて選 択された符号化モードの複雑度が類似する場合には、 インデックス値の小さい符 号化モードに対してより短い符号長で符号化するような、 符号長の偏りの大きい 可変長符号化テーブルを用い、 逆にマクロプロック Bおよび Cにおいて選択され た符号化モードの複雑度が類似しない場合には、 イ デックス値の小さい符号化 モードでも大きい符号化モードでも符号長に大きな差がでないような、 符号長の 偏りの少ない可変長符号化テーブルを用いることによって、 効率よく符号化モー ドを可変長符号化 ることができる。
例えば図 2 1 A〜C示すように符号長の分布の偏りの特性の異なる可変長符号 化テーブルを複数用意し、 符号化対象マクロプロックの周辺マクロブロックにお けるポイント P (B) および P (C) の差の大きさに応じて、 符号化対象マクロ プロックにおける可変長符号化テーブルを切り替える。
具体的には、 例えば H. 26 L符号化方式に適用した場合には、 本発明の第 7 の実施形態によるマップテーブルの切り替えを行うと共に、 図 27における表よ りマクロブロック Bおよび Cに対して求められたポイント P (B) および P (C) の差分値の絶対値 PDを算出する。 そして、 例えば予め設定した閾値 Th 1およ ' び Th 2に対し(T h l<Th 2)、 0が丁111より小さい場合には符号長の偏 りの大きい図 2 1 Aの可変長符号化テーブルを用い、 P Dが T h i以上でありか つ Th 2より小さい場合には図 21 Bの可変長符号化テーブルを、 ?0が丁 2 以上であれば符号長の偏りの小さい図 2 1 Cの可変長符号化テーブルを切り替え ることによって、 マクロブロック符号化モードを効率よく符号化できる。
すなわち、 図 1 3:の可変長符号化部 1 6においてまず入力シンボル H 1として 可変長符号出力部 30にマクロブロック符号化モードが入力される。 そして符号 化シンボルメモリ 3 1より、 符号化マップテーブル提供部 32に符号化マップテ 一プル参照情報 H 2としてマクロブロック Bおよびマクロブロック Cの符号化モ —ド情報が入力される。 また、 同様に符号化シンボルメモリ 3 1より、 可変長符 号化テーブル提供部 3 3に可変長符号化テーブル参照情報 H 3としてマクロプロ ック Bおよびマクロプロック Cの符号化モード情報が入力される。 そして符号化 マップテーブル提供部 3 2にて上記のようにポイント P (A) が算出され、 それ に基づいて符号化マップテーブルが決定され、 符号化マップテーブル H 4が可変 長符号出力部 3 0に提供される。 また、 可変長符号化テーブル提供部 3 3にて上 記のようにポイント P ( B ) とポイント P ( C ) の差分値の絶対値 P Dと予め設 定した閾値 T h 1および T h 2を比較することにより選択された可変長符号化テ 一プル H 5が可変 符号出力部 3 0に提供される。 そして、 マクロブロック符号 化モードが可変長符号化され、 符号化データ D 9として出力される。
また図 1 4に示した本発明の第 8の実施形態による可変長復号部においては、 本発明の第 8の実施形態による符号化方法によつて符号化された符号化データ D 9が可変長復号部 2 1の復号シンボル出力部 4 0に入力されると、 既に復号済の シンボルであるマクロブロック Bおよび Cにおけるマクロブ口ック符号化モード 情報が復号シンボルメモリ 4 1から復号マップテーブル参照情報 H 7として復号 マップテーブル提供部 4 2に入力される。 同様に既に復号済のシンボルであるマ クロブロック Bおよび Cにおけるマクロプロック符号化モード情報が復号シンポ ルメモリ 4 1から可変長復号テーブル参照情報 H 8として可変長復号テーブル提 供部 4 3に入力される。 そして、 復号マップテーブル提供部 4 2から復号マップ テーブル H 9が符号化と同様の手続きにて選択されて復号シンボル出力部 4· 0に 入力される。 また、 可変長復号テーブル提供部 4 3より可変長復号テーブル H 1 0が符号化と同様の手続きにて選択された復号シンボル出力部 4 0に入力される。 そして、 復号シンボル出力部 4 0において可変長復号が成され、 復号シンボル H 6として符号化モードが復号されて出力されると同時に、 復号シンボルメモリ 4
1に記憶される。 上記のように可変長復号部を構成したので、 本発明の第 8の実施形態によ.る符 号化方法によつて符号化された符号化データを、 好適に復号することができる。
(第 9の実施形態)
本発明の第 1から第 8の実施形態による符号化方法においては、 周囲のコンテ キストに応じて適応的に符号化マップテーブルあるいは可変長符号化テーブルを 切り替えることを特徴としていたが、 本発明の第 9の実施形態による符号化方法 においては、 さらに各符号化マップテーブルにおける各インデックス値に対応す る符号化情報を過去の符号化結果から学習させることを特徴とする。
図 3 0は本発明の第 9の実施形態による学習機能付き可変長符号化部 5 0の構 成を示すブロック囱である。 図 3 0においては、 図 1 3における可変長符号化部 1 6と同一要素のものには同一符号を付し、 重複する説明は省略する。 本発明の 第 9の実施形態による学習機能付き可変長符号化部 5 0において、 フィードバッ ク機能付き可変長符号出力部 5 1は図 1 3における可変長符号出力部 3 0の機能 に加え、 さらに符号化マップテーブルにおける入力シンボルに対するインデック ス値である採用インデックス値 H I 1を出力する機能を備えることを特徴として いる。 また、 学習機能付き符号化マップテーブル提供部 5 2は図 1 3における符 号化マップテーブル提供部 3 2の機能に加え、 さらに採用インデヅクス値 H 1 1 を入力し、 入力シンボル H 1に対するコンテキス卜におけるマップテーブルを更 新する機能を備えることを特徴としている。
さて、 本発明の第 9の実施形態による学習機能付き可変長符号化部 5 0に入力 シンボル H Iが入力されると、 学習機能付き符号化マップテーブル提供部 5 2は 符号化マップテ一ブル参照情報 H 2および過去の学習結果を基に使用するマップ テーブルを決定し、 使用するマップテーブル H 4をフィードバック機能付き可変 長符号出力部 5 1に提供する。 また、 可変長符号化テーブル提供部 3 3は必要で あれば可変長符号化テーブル参照情報 H 3を基に使用する可変長符号化テーブル を決定し、 使用する可変長符号化テーブル H 5をフィードバック機能付き可変長 符号出力部 5 1に提供する。 フィードバック機能付き可変長符号出力部 5 1は、 こうして得られたマップテーブルおよび可変長符号化テープノレによって入力シン ボル H 1を可変長符号化し、 符号化データ D 9を出力すると共に、 入力シンボル H 1に対応するマップテーブルにおけるインデックス値である採用ィンデックス 値 H 1 1を学習機能付き符号化マップテーブル提供部 5 2に提供する。 学習機能 付き符号化マップテーブル提供部 5 2では、 入力された採用インデックス値 H I 1を基にして使用したマップテーブルの更新を行い、 次回同じコンテキストが選 択された場合にはこう して更新されたマップテーブルを使用して符号化が行われ る。 ·
次に、具体的な^!を示しながらマツプテーブルの更新について詳しく説明する。 ここでは符号化対象シンボルとして H. 2 6 Lにおけるマクロブロックの符号化 モードを例にとり、 本発明の第 7の実施形態に適用した場合について説明する。
H. 2 6 Lにおけるマクロブロックの符号化モードは図 24 A〜 Jに示すよう に 1 0通り存在し、 本発明の第 7の実施形態の一例では図 2 7に示すようなボイ ントを定義し、 図 2 3に示す符号化対象マクロブロック Aに隣接するマクロプロ ック Bおよび Cの符号化モードに対するポイント P (B) および P (C) から式 ( 1 3) によってポイント P (A) を求め、 ポイント P (A) をコンテキストと してマップテーブルを切り替えていた。
式 (1 3) より、 P (A) の取り うる値は 0から 7までの 8種類の整数である ことは自明である。 P (A) の値 CXに応じて生成されるマップテーブル MT (C X) は 8種類であることが自明である。 ここで、 CXが 0から 7までの値を取る 場合のマップテーブル MT (CX) を図 3 1に示す。 図 3 1に示したテーブルに おいて、 マップテーブル MT (CX) において符号化モード Mに対応するインデ ックス値を MT (CX, M) と表すことにする。 図 3 1から分かるように、 例え ば P (A) = 3に対するマップテーブル MT (3, M) は M= 0から 9の順に、
7、 2、 0、 1、 3、 4、 5、 8、 9、 6のインデックス値を取るよう構成され ている。
ここで、 コンテキストとして P (A) = 3であり、 符号化対象となる符号化モ ードがモード 8であった場合、 マップテーブル MT (3) を用いて MT (3, 8) に該当するィンデックス値 9に対応する符号を例えば図 9 Bに示す可変長符号化 テーブルによって出力する。 ところが、 もし、 コンテキスト P (A) =3が発生 した場合に符号化モードとしてモード 8が選択される頻度が多い場合には、 対応 すべきィンデッタス値をより小さい値にすることによって、 短い符号をモ一ド 8 に割り当てるべきである。
従って、 例えば MT (3) においてモード 8が選択される回数 C (3, 8) を カウントし、 その 数が予め設定した閾値 Th 9より大きくなつた場合には、 モ ード 8に対応するインデックス値 MT (3, 8.) を、 MT (3, 8) の次に小さ いインデックス値を持つ MT (3, 7) と入れ替える。 また、 モード 8に対応す る選択回数 C (3, 8) をリセットして 0にする。 このように、 選択回数が多い モードはインデックス値が小さくなるよう制御し、 各マップテーブルごとに独立 してマップテーブルを更新していくことによって、 各コンテキストに応じてそれ ぞれのマップテーブルを最適化することができる。
ここで説明したマップテーブルの更新方法はほんの一例に過ぎないが、 このよ うにコンテキストごとにマップテ一ブルの最適化を行えば、 より符号化条件や画 像の性質に応じて効率のよい可変長符号化を行うことができる。
図 32は本発明の第 9の実施形態による学習機能付き可変長復号部 60の構成 を示すブロック図である。 図 32においては、 図 14における可変長復号部 21 と同一要素のものには同一符号を付し、 重複する説明は省略する。 本発明の第 9 の実施形態による学習機能付き可変長復号部 60において、 フィードバック機能 付き復号シンボル出力部 61は図 14における復号シンボル出力部 40の機能に 加え、 さらに復号マップテーブルにおける出力シンボルに対するインデックス値 である使用インデックス値 H 1 2を出力する機能を備えることを特徴としている。 また、 学習機能付き復号マップテーブル提供部 6 2は図 1 4における復号マップ テーブル提供部 4 2の機能に加え、 さらに使用インデックス値 H I 2を入力し、 出力シンボル H 6に対するコンテキス トにおけるマップテーブルを更新する機能 を備えることを特徴としている。
このように構成した本発明の第 9の実施形態による学習機能付き可変長復号部
6 0において学習の過程を本発明の第 9の実施形態による学習の過程と同一にす ることによって、 本発明の第 9の実施形態による符号化方法によって符号化され た符号化データを好適に復号することができる。
なお、 本発明の第 9の実施形態においては H . 2 6 L符号化方式におけるマク ロブロックの符号化モードを例にして学習の過程を説明したが、 もちろんこれに 限らずあらゆる符号化シンボルに対しても適用でき、 その結果として好適な符号 化方法ならびに復号方法を提供することができる。
また、 本発明の第 9の実施形態においては本発明の第 7の実施形態によるマ.ッ プテーブルの切り替え方法を用いて説明したが、 もちろんこれに限らずコンテキ ス卜に基づいてシンボルに割り当てる符号語を選択する手段をもつあらゆる符号 化方法ならびに復号方法に本発明を適用でき、 その結果として好適な符号化方法 ならびに復号方法を提供することができる。
(第 1 0の実施形態)
次に、 本発明の第 1 0の実施形態による符号化方法について説明する。 本発明 の第 5の実施形態による符号化方法においては、 符号化対象となるマクロブロッ クの動きべク トル差分値 MV Dを動きべク トル情報 D 2として符号化する際に周 囲のマクロブロックにおける動きべク トル差分値を参照して可変長符号化テープ ノレを切り替えるように構成したが、 本発明の第 1 0の実施形態による符号化方法 においては、 周辺マクロブロックにおける動きべク トルを参照して可変長符号化 テーブルを切り替えることを特徴とする。
すなわち、 前述したように動きべク トル情報 D 2は、 例えば M P E G— 4にお 2003/005388
ける符号化では、 符号化対象となるマクロブロックの動きべク トルに対して、 周 辺マクロブロックにおける動きべク トルの中間値が予測ィ直として生成され、 該予 測値と実際の動きべク トルとの差分値 MVDを符号化するが、 周辺マクロブロッ クにおける動き ク トルが互いに同じような値になる場合には動きべク トルの予 測値が信頼できる値であると考えられるため、 動きベク トル差分値 MVDは 0近 傍に集中する可能性が高くなる。 従ってこのような場合には、 0近傍の符号長が 短くなるような可変長符号化テーブルを用いることによって効率よく符号化でき る。 逆に、 周辺マクロブロックにおける動きべク トルが互いに大きく異なる値に なる場合には動きべク トル予測値が信頼できない値であると考えられるため、 動 きベク トル差分値 ilVDは 0近傍に集中するとは限らない。 したがって、 このよ うな場合には、 動きべク トル差分値の絶対値が大きい値でも小さい値でも符号長 にあまり差がないような可変長符号化テーブルを用いることによって効率よく符 号化することができる。
これらのことを念頭におき、 本発明の第 1 0の実施形態においては、 例えば図 2 1 A〜Cに示すように符号長の分布の偏りの特性の異なる可変長符号化テープ ノレを複数用意し、 符号化対象マクロブロックの周辺マクロブロックにおける各動 きべク トル同士の絶対差分和の大きさに応じて、 符号化対象マクロブロックにお ける動きべク トル差分値に対する可変長符号化テーブルを切り替える。
具体的には、 例えば図 33に示した符号化対象マクロブロック Aの周辺マクロ プロックとして上に隣接するマクロブロック Bおよび左に隣接するマクロブロッ ク Cおよび右上にあるマクロブロック Dにおける動きベク トルを MV (B) およ び MV (C) および MV (D) とする。 予め設定した閾値 Th 10、 Th l lに 対し(ただし T h 1 0く T h 1 1とする)、それぞれの動きべク トルの絶対差分和 として S= I MV (B) -MVD (C) I + I MV (C) — MV (D) | の値が Th 10より小さければ、 マクロブロック Aにおける動きベク トル差分値の可変 長符号化テーブルとして図 2 1 Aのテーブルを、 Sが T h 1 0以上でありかつ T h 1 1より小さければ図 2 1 Bのテーブルを、 Sが T h 1 1以上であれば図 2 1 Cのテーブルを用いて可変長符号化を行うように構成する。 ただし、 マクロプロ ック Bもしくはマクロブロック Cもしくはマクロブ口ック Dが画面外かスライス 外に存在する場合またはイントラ符号化されたマクロプロックである場合には、 そのマクロブロックの動きべク トルとの絶対差分値は予め設定しておいた値 Z 1
0 ( Z 1 0≥T h 1 0 ) であるとして処理する。 これは、 動きベク トル予測値を 生成するためのマクロブロックが画面外かスライス外またはィントラ符号化され ているのであれば、 動きべク トルの予測値が当たりにく く、 符号化対象の動きべ ク トル差分値の取りうる値が 0近傍に集中するとは限らないためである。
すなわち、 図 1 3の可変長符号化部 1 6においてまず入力シンボル H 1として 可変長符号出力部 3 0に動きべクトル差分値 MV Dが入力される。 そして符号化 シンボルメモリ 3 1より、 可変長符号化テーブル提供部 3 3に可変長符号化テー ブル参照情報 H 3として MV ( B )、 MV ( C ) および MV ( D ) が入力される。 そして、可変長符号化テーブル提供部 3 3にて上記のように MV ( B )、 M V ( C) および MV (D ) の絶対差分和 Sが予め設定しておいた閾値 T h 1 0および T h 1 1と比較され、 それに基づいて符号化対象動きべク トルに対して用いる可変長 符号化テーブルが決定され、 可変長符号化テーブル H 5が可変長符号出力部 3 0 に提供される。 そして、 符号化対象動きベク トルは可変長符号化され、 符号化デ ータ D 9として出力される。
本発明の第 1 0の実施形態による符号化方法においては、 以上のように MV D 値が 0近傍に集中しやすい場合には、 0近傍の符号長が短い可変長符号化テープ ルに切り替えることによつて M V D値が 0近傍であつた場合の符号長が短くなる ように制御し、 MV D値の予測が 0近傍に集中するとは限らない場合には符号長 の偏りの小さいテープ'ノレに切り替えることによって MV D値が大きな値であって も符号長が長くならないよう構成したので、 MV D値を効率よく符号化すること ができる。 なお、 図 2 1 A〜Cでは 3つの可変長符号化テーブルを用いて説明したが、 も ちろん可変長符号化テーブルの個数やその値は図 2 1 A〜Cに限定されるもので はない。 また、 複数の可変長符号化テーブルを可変長符号化テーブル提供部 3 3 内のメモリに保持しておき、 可変長符号化テーブル H 3の提供を切り替えること によって実現しても、 例として示した e X p— G o 1 o m b符号などの U n i v e r s a 1符号を用いてそのパラメータを切り替えることによって可変長符号化 テーブル提供部 3 3内で可変長符号化テーブル H 3を生成することによって実現 してもよレヽ。 '
図 1 4は本発明の第 1 0の実施形態による可変長復号部 2 1のブロック図を示 した図である。 本 ½明の第 1 0の実施形態による符号化方法によって符号化され た符号化データ D 9が可変長復号部 2 1の復号シンボル出力部 4 0に入力される と、 既に復号済のシンボルより算出された MV ( B )、 M V ( C ) および M V ( D ) が復号シンボルメモリ 4 1から可変長復号テーブル参照情報 H 8として可変長復 号テーブル提供部 4 2に入力される。 そして、 可変長復号テーブル提供部 4 3か ら可変長復号テーブル H I 0が符号化と同様の手続きにて選択されて復号シンポ ノレ出力部 4 0に入力される。 そして、 復号シンボル出力部 4 0において可変長復 号が成され、 復号シンボル H 6として動きべク トルが復号されて出力されると同 時に、 復号シンボルメモリ 4 1に記憶される。
上記のように可変長復号部を構成したので、 本発明の第 1 0の実施形態による 符号化方法によって符号化された符号化データを、好適に復号することができる。
(第 1 . 1の実施形態)
次に、 本発明の第 1 1の実施形態による符号化方法について説明する。 本発明 の第 4 'の実施形態による符号化方法においては、 ブロック内の非零係数数 C Cを 符号化する際に可変長符号化テーブルを切り替えることを行わなかったが、 本発 明の第 1 1の実施形態による符号化方法においては、 非零係数数 C Cを符号化す る際に周囲のブロックにおける非零係数数を参照して可変長符号化テ一ブルを切 り替えることを特徴とする。
すなわち、 前述したように画面内のある地点における画像の特徴はその近傍領 域における画像の特徴に類似する傾向があるため、 あるプロックにおける非零係 数数は近傍プロックにおける非零係数数に近い値を取る可能性が高い。 従って、 符号化対象となるプロックの周辺プロックにおける非零係数数が 0に近い値であ る場合には、 符号化対象となるブロックにおける非零係数数 C Cも 0に近レ、値で ある可能性が高くなる。 従ってこのような場合には、 0近傍の符号長が短くなる ような可変長符号化テーブルを用いることによって効率よく符号化できる。逆に、 周辺ブロックにおける非零係数数が 0に近くない値である場合には、 符号化対象 となるブロックに ける非零係数数 CCは 0近傍に集中するとは限らない。 した がって、 このような場合には、 非零係数数 CCの値が大きい値でも小さい値でも 符号長にあまり差がないような可変長符号テーブルを用いることによって効率よ く符号化することができる。
これらのことを念頭におき、 本発明の第 1 1の実施形態においては、.例えば図 2 1 A〜Cに示すように符号長の分布の偏りの特性の異なる可変長符号化テープ ルを複数用意し、 符号化対象プロックの周辺プロックにおける各非零係数数の値 の平均値に応じて、 符号化対象ブロックにおける非零係数数 CCに対する可変長 符号化テーブルを切り替える。
具体的には、 例えば図 23に示した符号化対象ブロック Aの周辺ブロックとし て上に隣接するプロック Bおよび左に隣接するプロック Cにおける非零係数数を CC (B) および CC (C) とする。 予め設定した閾値 T h 1 2、 Th l 3に対 し(ただし T h 1 2く Th 1 3とする)、それぞれのプロックにおける非零係数数 の平均値として MC= (CC (B) +CC (Ο) 2の値が Τ h 1 2より小さけ れば、 ブロック Aにおける非零係数数 CC (A) の可変長符号化テ一ブルとして 図 2 1 Aのテーブルを.、 MCが Th 1 2以上でありかつ Th 1 3より小さければ 図 2 1 Bのテーブルを、 MCが Th 1 3以上であれば図 2 1 Cのテーブルを用い て可変長符号化を行うように構成する。 ただし、 ブロック Bもしくはブロック C が画面外かスライス外に存在する場合には、 そのプロックの非零係数数は予め設 定しておいた値 Z 1 1 (Z 1 1≥T h 1 2) であるとして処理する。 これは、 隣 接プロックが画面外かスライス外またはィントラ符号化されているのであれば、 符号化対象の非零係数数の取りうる値が予想しにくいため、 0近傍に集中すると は限らないためである。
すなわち、 図 1 3の可変長符号化部 1 6においてまず入力シンボル H 1として 可変長符号出力部 30に非零係数数 CCが入力される。 そして符号化シンボルメ モリ 31より、 可変長符号化テーブル提供部 33に可変長符号化テーブル参照情 報 H3として CC' (B) および CC (C) が入力される。 そして、 可変長符号化 テーブル提供部 33にて上記のように CC (B) および CC (C) の平均値 MC が予め設定しておいた閾値 Th 1 2および Th 1 3と比較され、 それに基づいて 符号化対象非零係数数に対して用いる可変長符号化テ一プルが決定され、 可変長 符号化テーブル H 5が可変長符号出力部 30に提供される。 そして、 符号化対象 動きべク トルは可変長符号化され、 符号化データ D 9として出力される。
本発明の第 1 1の実施形態による符号化方法においては、 以上のように非零係 数数 C Cが 0近傍に集中しゃすい場合には、 0近傍の符号長が短い可変長符号化 テーブルに切り替えることによって非零係数数 C Cが 0近傍であつた場合の符号 長が短くなるように制御し、 非零係数数 CCの予測が 0近傍に集中するとは限ら ない場合には符号長の偏りの小さいテーブルに切り替えることによつて非零係数 数 CCが大きな値であっても符号長が長くならないよう構成したので、 非零係数 数 C Cを効率よく符号化することができる。
なお、 図 2 1A〜Cでは 3つの可変長符号化テーブルを用いて説明したが、 も ちろん可変長符号化テーブルの個数やその値は図 21 A〜Cに限定されるもので はない。 また、 複数の可変長符号化テーブルを可変長符号化テーブル提供部 33 内のメモリに保持しておき、 可変長符号化テーブル H 3の提供を切り替えること によって実現しても、 例として示した e X p -G o 1 0111ヒ符号などの1111 i v e r s a 1符号を用いてそのパラメータを切り替えることによって可変長符号化 テーブル提供部 33内で可変長符号化テーブル H 3を生成することによって実現 図 14は本発明の第 1 1の実施形態による可変長復号部 2 1のブロック図を示 した図である。 本発明の第 1 1の実施形態による符号化方法によって符号化され た符号化データ D 9が可変長復号部 21の復号シンボル出力部 40に入力される と、 既に復号済のシンボルより算出された C C (B) および CC (C) が復号シ ンボルメモリ 4 1から可変長復号テーブル参照情報 H 8として可変長復号テープ ル提供部 42に入^!される。 そして、 可変長復号テーブル提供部 43から可変長 復号テーブル H 1 0が符号化と同様の手続きにて選択されて復号シンボル出力部 40に入力される。 そして、 復号シンボル出力部 40において可変長復号が成さ れ、 復号シンボル H 6として非零係数数 CCが復号されて出力されると同時に、 復号シンボルメモリ 4 1に記憶される。
(第 1 2の実施形態)
まず、 図 22A〜Dを参照して、 本発明の第 1 2の実施形態による符号化方法 における画像データである直交変換係数の可変長符号化の手順について説明する。 ここでは、 空間画像データを周波数画像データへと変換する直交変換としては、 離散コサイン変換 (DCT : D i s c r e t e C o s i n e T r a n s f o r m) を想定する。 図 22 Aは、 図 4 Bに示した 8画素 X '8ラインの直交変換係 数 f u〜 f 88に量子化処理を加えた量子化直交変換係数 qu〜q88の具体的な一数 値例を示している。 画像符号化装置の可変長符号化部では、 このような量子化直 交変換係数に対して所定の処理手順で可変長符号化を行って、 符号化データを生 成する。 ·
係数 の添字の値 i、 jが対応する垂直周波数、 水平周波数をそれぞれ表し ている量子化直交変換係数 q lt〜 q88においては、空間画像データでの画像成分 a 3005388
u a^ (図 4 A参照) とは異なり、 各量子化直交変換係数が、 その係数値の大き さなどについて、 対応する空間周波数の値に依存したデータ特性を有している。 一般に、 自然画像においては、 低周波域で絶対値の大きい直交変換の係数値が得 られ、 高周波数になるにしたがって係数値の絶対値は小さくなる。 この分布は零 をピークにもつラプラス分布により近似することができる。 また、 そのとき各ブ 口ック内の各画素の濃度の変化が激しいほど変換係数の分布の広がりも大きくな り、 係数の平均振幅値が増大する。
量子化直交変換係数の可変長符号化の処理手順においては、 まず、 2次元デー タである量子化直交変換係数 qu〜q 88力 例えば図 22 Bに示すジグザグ ·スキ ヤンによって、 1 元データへと変換される。 このジグザグ .スキャンでは、 ス キャン後の 1次元データが低周波数域から高周波数域へと移行していくデータ列 となるように、 量子化直交変換係数がスキャンされる。 これにより、 低周波数域 から高周波数域へと量子化直交変換係数が並ぶ、 図 22 Cに示す 1次元データが 得られる。
この量子化直交変換係数の 1次元データは、 そのデータ量を低減するため、 さ らに、 図 22Dに示す L e v e l (レベル) 及び R u n (ラン) からなるデータ へと変換される。 ここで、 L e V e lは、 複数の量子化直交変換係数のうちで非 零係数値を持つ量子化直交変換係数での係数値を示す。 また、 Ru nは、 0でな い量子化直交変換係数の直前にある係数値が 0のデータの数であるゼロラン長を 示す。
例えば、図 22 Aに示した DC T係数のデータ例では、図 22 Cに示すように、 64個の DCT係数 ciu qM力 0でない係数値を持つ DC T係数の出現位置に 基づいて、 係数 quからなる係数群 St、 係数 q12、 q2lからなる係数群 S2、 係数 q 31〜q13からなる係数群 S3、 係数 q14〜q32からなる係数群 S4、 係数 q41〜(! 15から なる係数群 S5、 及び係数 q16〜q88からなる係数群 S6へと区分される。
そして、 これらの係数群 S i (i= l〜6) 対して、 図 22Dに示すように、 そ れぞれ L e v e 1値 及び R u n値 が求められる。 具体的には、 係数群 で は、 1^= ^= 10、 1^=0である。 また、 係数群 S2では、 L2=q21 =— 2、 R 2= 1である。 また、 係数群 S3では、 L3=q13=2、 R3= 2である。 また、 係数 群 S4では、 L4=q32=— 1、 R4=2である。また、係数群 S5では、 L5= q15- 1、 R5= 5である。 また、 最後の係数群 S6は、 全ての係数 q16〜q88の係数値が 0と なっている係数群であり、 L6=0、 R6は未定義であるが、 便宜上、 0として扱 うことにする。
さて、 図 22Dに示した L e v e 1及び R u nからなるデータより、 該符号化 対象プロックにおける非零係数数 CCおよび Ru n合計値 RTを算出する。 例え ば、 具体的には図 22 Dより非零係数数 C C = 5、 Ru n合計値 R T = 10とな る。
ここで、 係数群 Siの R u n値を Rい L e V e 1値を L;、 スキャン後の非零係 数の周波数位置を Pi、直前に符号化した Si+1の L e V e 1値を Li+1とする。また、 該符号化対象プロックにおける R u n合計値を R T、 非零係数数を C Cとし、 係 数群 Siにおける R u η合計値残を RTi、 非零係数残数を C Ciとする。 RTiお よび CCiは次に示す式 (1) および式 (2) によって、 Piは次式 (3) によつ て算出される。 ただし、 最後の係数群 Sjに対する非零係数残数は、 便宜上、 CC + 1とする。
式 (1) : RTi = RTi+1—Ri+1
式 (2) : - 1
式 (3) : Pi-RTi+CCi
ここで、 これらの係数群および非零係数数 C Cや R u n合計値 R Tの符号化を 行う際に用いる可変長符号化テーブルの一例を図 34 Bに示す。 この可変長符号 化テーブルの左側の項はィンデックス値を表し、 中央はィンデックス値に対応す る可変長符号を表し、 右側は可変長符号それぞれの符号長を表している。
図 1 3は本発明の第 1 2の実施形態による可変長符号化部 1 6のブロック図を 3005388
示した図である。 まず入力シンボル H 1として非零係数数 CCおよび R u n合計 値 RTが可変長符号出力部 3 0に入力される。 可変長符号化テーブル提供部 3 3 は入力シンボル H 1に対応する可変長符号化テーブルとして、 例えば図 3 4 Bに 示すような可変長符号化テーブル H 5を可変長符号出力部 3 0に提 し、 入力シ ンボル H 1は可変長符号化テーブル H 5を用いて符号化される。 すなわち、 非零 係数数 CCの値から 1引いたィ直をインデックスィ直として対応する可変長符号を符 号化データ D 9として出力する。 また同様に R u n合計値 RTの値をィンデック ス値として対応する可変長符号を、 符号化データ D 9として出力する。
次に、 高周波側の係数群より順に符号化を行う。 ただし、 全ての係数値が 0と なっている係数群については符号ィ匕しない。 まず、 すべての係数群の R u n値 Ri が入力シンボル H 1 として可変長符号出力部 3 0に入力されると、 R u n値 1^ をインデックスとして同様に可変長符号化テーブルを用いて符号化され、 符号化 データ D 9として出力される。
次に、 L e v e l値の符号化を高周波側の係数群から順に全ての非零 L e v e 1値に対して行う。 前述したように DC Tにおいて直交変換係数は高周波数にな るにしたがって L e v e 1値の絶対値が小さくなり、 この分布は零をピークにも つラプラス分布により近似することができる。 従って、 ^号化対象となっている L e V e 1値の絶対ィ直は、 該符号化対象となっている係数の直前に符号化した L e V e 1値の絶対値より類推することができる。 つまり、 周波数軸上で高周波側 から順に符号化を行うため、 符号化対象 L e v e 1値が 1つ高周波側の係数群に おける L e v e 1値に周波数軸上で近い位置にあるため、 符号化対象 L e v e 1 値の絶対値は 1つ高周波側の係数群における L e V e 1値の絶対値と同程度の値 を取る'可能性が高いと類推することができる。 以上のことから、 符号化対象 L e V e 1値の 1つ高周波側の係数群における L e V e 1値の絶対値によってコンテ キストを生成し、 該コンテキス トに基づいて可変長符号化テーブルにおけるイン デックス値と L e v e l値の絶対値を関連付けるためのマップテーブルを切り替 えることによつて符号化効率を高めることができる。
ここで、 該符号化対象 L e V e 1値の絶対値を | L{ |、 正負を示す符号を s i g n (L 、 1つ高周波側の係数群 Si+1における L e V e 1値の絶対値を | Li+1 Iとする。 まず、 符号化マップテーブル提供部 32には符号化シンボルメモリ 3 1より符号化マップテーブル参照情報 H 2として I Li+1 Iが入力され、 I Iは I Li+1 Iに近い値をとるものと類推されることから、 I Li+1 Iが最も短い可変長 符号となるィンデックス値に対応し、 つづいて I Li+1 I - 1および I Li+1 I + 1 が次に短い可変長符号となるインデックス値に対応するよう、 同様に I Li+1 Iに 近いほど短い可変長符号となるィンデックス値に対応するようにマツプテーブル H 4を作成する。
すなわち具体的には、 図 22 Cに示した係数群 S5に対しては S6の L e V e 1 値の絶対値である 「0」 に近いほどインデックス値が小さくなるよう図 34 Aに 示すようなマップテーブルを構成する。 同様に係数群 S4に対しては S5の L e V e 1値の絶対値である 「1」 に近いほどインデックス値が小さくなるよう図 34 Aに示すようなマップテーブルを構成する。 係数群 S3に対しては S4の L e V e
1値の絶対値である 「 1」 に近いほどィンデックス値が小さくなるよう図 34A に示すようなマップテーブルを構成する。 係数群 S2に対しては S3の L e V e 1 値の絶対値である 「2」 に近いほどインデックス値が小さくなるよう図 35 Aに 示すようなマップテーブルを構成する。 係数群 Siに対しては S2の L e V e 1値 の絶対値である 「2」 に近いほどインデックス値が小さくなるよう図 35 Aに示 すようなマップテーブルを構成する。
このようにマップテーブル H 4を生成し、 それぞれに対応する L e V e 1値の 絶対値'をインデックス値として可変長符号化テーブル H 5を用いて可変長符号出 力部 30において可変長符号化を行い、 それぞれの可変長符号につづいて正負を 示す符号を正の場合には 「0」、負の場合は 「1」 で表される 1ビットによって符 号化する。 つまり、 可変長符号出力部 30に入力シンボルとして L e V e 1値 Li が入力されると、 符号化マップテーブル提供部 3 2には符号化シンボルメモリ 3 1より符号化マップテーブル参照情報 H 2として' I L i+1 I が入力され、 対応する 符号化マップテーブル H 4が可変長符号出力部 3 0に提供されると同時に、 可変 長符号化テーブル提供部 3 3より可変長符号化テーブル H 5が可変長符号出力部 3 0に提供され、 入力シンボル H Iが可変長符号化されて符号化データ D 9が出 力される。
図 2 2 Cに示した具体例 係数列を本発明の第 1 2の実施形態による符号化を 行った場合の L e V e 1値の符号化結果と、 従来のマップテーブルを切り替えな い場合の符号化結果を図 3 5 Bに示す。
本発明の第 1 2 実施形態による符号化方法おいては、 符号化対象係数に対し て周波数軸上で近傍にある L e V e 1値を参照して、 符号化対象 L e v e 1値と して発生する可能性の高い値が短い可変長符号に割り当てられるようマップテー ブルを切り替えて可変長符号化するよう構成したので、 L e V e 1値を効率よく 符号化することができる。
なお、 本発明の第 1 2の実施形態による符号化方法において、 R u n値の符号 ィ匕を L e v e 1値の前に行うよう記述したが、 もちろん本発明は R u n値を L e V e 1値の後に符号化しても R u n値と L e v e 1値を交互に符号化しても適用 することができる。
図 3 6は本発明の第 1 2の実施形態による可変長復号部 2 1のブロック図を示 した図である。 本発明の第 1 2の実施形態による符号化方法によって符号化され た符号化データ D 9が可変長復号部 2 1の復号シンボル出力部 4 0に入力される と、 既に復号済のシンボル I L i+1 Iが復号シンボルメモリ 4 1から復号マップテ 一ブル参照情報 H 7として復号マップテーブル提供部 4 2に入力される。そして、 復号 ップテーブル提供部 4 2から復号マップテーブル H 9が符号化と同様の手 続きにて選択されて復号シンボル出力部 4 0に入力され、 可変長復号テーブル提 供部 4 3からは可変長復号テーブル H 1 0が復号シンボル出力部 4 0に入力され る。 そして、 復号シンボル出力部 4 0において可変長復号が成され、 復号シンポ ル H 6として L e .v e 1値が復号されて出力されると同時に、.復号シンボルメモ リ 4 1に記憶される。
上記のように可変長復号部を構成したので、 本発明の第 1 2の実施形態による 符号化方法によって符号化された符号化データは、好適に復号することができる。 なお、 本発明の第 1 2の実施形態においては、 L e V e 1値を D C T係数の高 周波成分から順に符号化するよう構成したが、 その際には L e v e 1値の高周波 成分の絶対値が 「1」 となる可能性が高くなるため、 高周波側から 「1」 の連続 する数を L e V e 1値のマップテーブルに加えることによってさらに好適な符号 化及び復号を実現 ることができる。そのマップテーブルの一例を図 3 6に示す。
(第 1 3の実施形態)
本発明の第 1 2の実施形態による符号化方法に加え、 本発明の第 1 3の実施形 態による符号化方法においては、 L e v e 1値の符号化を行う際に、 該符号化対 象係数群における R u n値を用いてマップテーブルを切り替えることを特徴とす る。 従って本発明の第 1 3の実施形態による符号化方法においては、 符号化対象 となる L e V e 1値の前に該符号化対象係数群における R u n値が符号化される ように構成する。つまり本発明の第 1 3の実施形態による符号化方法においては、 図 1 3に示した可変長符号化部 1 6において、 符号化シンボルメモリ 3 1より符 号化マップテーブル参照情報 H 2として L e V e 1値 | L i+1 | に加えて!^ u n値 が符号化マップテーブル提供部 3 2に入力される。 すなわち、 例えば R u n値が 大きい場合には、 符号化対象係数はラプラス分布において裾野に位置すると考え られるため、 出現する L e V e 1値は小さい値であると考えられる。 そこで、 例 えば予め閾値 T h 0を設定しておき、 R u n値が閾値 T h 0より大きい場合には L e v e 1値に対するマップテーブルは L e v e 1値が小さければ小さレ、ほどィ ンデックス値が小さくなるように構成されたマップテーブルを用いるよう制御す る。 その他の動作は本発明の第 1 2の実施形態による符号化方法と同じである。 以上のように構成したので、 本発明の第 1 3の形態による符号化方法では、 R u n値が大きい場合には L e V e 1値が小さくなる可能性が高いので、 R u n値 が大きい場合には出現しやすい小さい L e V e 1値を短い符号長で符号化できる ため、 L e V e 1値を効率よく符号化することができる。
また、 本発明の第 1 3の実施形態による符号化方法と同様の手続にて符号化マ ップテーブル (復号マップテーブル) の切り替えを行い、 本発明の第 1 2の実施 形態による復号方法と同様の処理を行うことによって、 本発明の第 1 3の実施形 態による復号方法が寒現する。 本発明の第 1 3の実施形態による復号方法によつ て、 本発明の第 1 3の実施形態による符号化方法によって符号化された符号化デ ータを好適に復号することができる。
(第 1 4の実施形態)
本発明の第 1 2および第 1 3の実施形態による符号化方法に加え、 本発明の第 1 4の実施形態による符号化方法においては、 さらに符号化対象係数群における L e v e l値の符号化を行う際に、 該符号化対象係数群における周波数位置 Pを 用いて可変長符号化テーブルを切り替えることを特徴とする。 従って本発明の第 1 4の実施形態による符号化方法においては、 符号化対象となる L e V e 1値の 前に該符号化対象係数群における R u n値が符号化されるように構成する。 すなわち、 例えば周波数位置 Pが大きければ大きいほど、 符号化対象係数はラ プラス分布において裾野の方であると考えられるため、 出現する L e v e 1値は 1つ高周波側の係数群における L e V e 1値に近い値である可能性が高いと類推 できる。 また、 周波数位置 Pが小さければ小さいほど、 符号化対象係数はラプラ ス分布において頂に近いと考えられるため、 出現する L e v e 1値は 1つ高周波 側の係数群における L e V e 1値からの類推精度が低下する。 そこで、 例えば図 2 1 A〜Cに示すように複数の可変長符号化テ一プルを用意しておき、 これらを 適応的に切り替えるよう制御する。 一例として図 2 1 A〜Cに示した複数の可変 長符号化テーブルは e X - G o 1 o m b符号と呼ばれ、 以下のように構成され る。 すなわち、 j + 1ビットの Un a r yパートに対して、 ¾: +:) ビットの8 1 n a r yパートを追加することによって符号を構成する ( j =0, 1, …;)。 すな わち、 j はその符号における Un a r yパートの 「◦」 の個数に、 また kは 0番 目の符号における B i n a r yパートの符号長に等しい。 図 2 1 Aは k = 0の場 合、 図 2 1 Bは k = lの場合、 図 2 1 Cは k = 2の場合の e x p— G o 1 o m b 符号である。 図から自明であるように、 kの値が大きいほど符号長の分布の偏り が小さくなる傾向がある。
さて、 このように符号長の分布の偏りの特性の異なる可変長符号化テーブルを 複数用意し、 該符号化対象係数群における周波数位置 Pに従って該符号化対象 L e v e 1値に対す'る可変長符号化テーブルを切り替える。 すなわち、 周波数位置
Pが大きい場合には図 2 1 Aに示すように、 符号長の偏りが大きいテーブルを用 いるよう制御し、 周波数位置が小さい場合には図 21 Cに示すように、 符号長の 偏りが小さいテーブルを用いるよう制御する。
具体的には例えば、 予め閾値 Th 1および Th 2を設定しておき (ただし Th 1 >Th 2)、符号化対象となっている係数群 Siにおける周波数位置 Piが閾値 T h 1より大きい場合には図 2 1 Aの可変長符号化テーブルを、 Piが閾値 Th 1以 下であり T h 2より大きい場合には図 2 1 Bの可変長符号化テーブルを、 Piが閾 値 Th 2より小さい場合には図 21 Cの可変長符号化テ一ブルを用いるように切 り替える。
すなわち、 図 1 3の可変長符号化部 1 6において、 可変長符号出力部 30に入 カシンボル H 1として L e V e 1値が入力されると、 符号化シンボルメモリ 3 1 において算出された符号化対象係数群 Siにおける周波数位置 Piが可変長符号化 テーブル参照情報 H 3として入力され、 可変長符号化テーブル提供部 33は可変 長符号化テーブル参照情報 H 3に基づいて上記の制御手法によって選ばれる可変 長符号化テーブル H 5を可変長符号出力部 30に提供する。 他の動作は本発明の 第 1 2および第 1 3の実施形態と同様である。 本発明の第 1 4の実施形態による符号化方法においては、 以上のように L e V e 1値の予測が当たりやすい場合には符号長の偏りの大きいテーブルに切り替え ることによって予測が当たった場合の符号長が短くなるように制御し、 L e V e 1値の予測が当たりにくレ、場合には符号長の偏りの小さいテーブルに切り替える ことによって予測が当たらない場合の符号長が長くならないよう構成したので、 L e V e 1値を効率よく符号化することができる。
なお、 図 2 1 A〜Cでは 3つの可変長符号化テーブルを用いて説明したが、 も ちろん可変長符号化テーブルの個数やその値は図 2 1 A〜Cに限定されるもので はない。 また、 複数の可変長符号化テーブルを可変長符号化テーブル提供部 3 2 内のメモリに保持'しておき、 可変長符号化テーブル H 5の提供を切り替えること によって実現しても、 例として示した e X p - G o 1 o m b符号などの U n i v e r s a 1符号を用いてそのパラメータを切り替えることによって可変長符号化 テーブル提供部 3 2内で可変長符号化テーブル H 5を生成するこどによって実現 してもよい。
また、 本発明の第 1 4の実施形態による符号化方法と同様の手続にて符号化マ ップテーブル (復号マップテーブル) の切り替えを行い、 本発明の第 1 2の実施 形態による復号方法と同様の処理を行うことによって、 本発明の第 1 4の実施形 態による復号方法が実現する。 本発明の第 1 4の実施形態による復号方法によつ て、 本発明の第 1 4の実施形態による符号化方法によって符号化された符号化デ ータを好適に復号することができる。
(第 1 5の実施形態)
本発明の第 1 2から第 1 4の実施形態による符号化方法に加え、 本発明の第 1 5の実施形態による符号化方法においては、 さらに符号化対象係数群における L e V e 1値の符号化を行う際に、 該符号化対象係数群の 1つ高周波側の係数群に おける L e V e 1値の絶対値を用いて可変長符号化テーブルを切り替えることを 特徴とする。 T/JP2003/005388 すなわち、 例えば 1つ高周波側の係数群における L e V e 1値の絶対値が大き ければ、 該符号化対象係数群における L e V e 1値は予測し難くなる。 逆に 1つ 高周波側の係数群における L e v e 1値の絶対 ^£が小さければ、 該符号化対象係 数群における L e v e 1値に対する予測は当たりやすい。 そこで、 本発明の第 1 4の実施形態による符号化方法と同様に、 例えば図 2 1 A〜 Cに示すような複数 の可変長符号化テーブルを用意しておき、 これらを適応的に切り替えるように制 御する。 具体的には例えば、 予め閾値 Th 3および Th 4を設定しておき (ただ し T h 3く T h 4)、符号化対象となっている係数群 Siにおける L e v e 1値 の符号化の際に、 1つ高周波側の係数群 Si+1における L e v e 1値の絶対値 | L i+1 Iが Th 3より さい場合には図 2 1 Aの可変長符号化テーブルを、 I Li+1 I が T h 3以上であり T h 4より小さい場合には図 2 1 Bの可変長符号化テーブル を、 I Li+1 Iが T h 4以上である場合には図 2 1 Cの可変長符号化テーブルを用 いるように切り替える。
すなわち、 図 1 3の可変長符号化部 1 6において、 可変長符号出力部 30に入 カシンボル H 1として L e V e 1値が入力されると、 符号化シンボルメモリ 3 1 より I Li+1 Iが可変長符号化テーブル参照情報 H 3として入力され、 可変長符号 化テーブル提供部 3 3は可変長符号化テーブル参照情報 H 3に基づいて上記の制 御手法によって選ばれる可変長符号化テーブル H 5を可変長符号出力部 30に提 供する。 他の動作は本発明の第 1 2力ゝら第 1 4の実施形態と同様である。
本発明の第 1 5の実施形態による符号化方法においては、 以上のように L e V e 1値の予測が当たりやすい場合には符号長の偏りの大きいテーブルに切り替え ることによって予測が当たった場合の符号長が短くなるように制御し、 L e V e 1値の予測が当たりにくい場合には符号長の偏りの小さいテーブルに切り替える ことによって予測が当たらない場合の符号長が長くならないよう構成したので、 L e V e 1値を効率よく符号化することができる。
なお、 本発明の第 15の実施形態による符号化方法において、 Ru n値の符号 2003/005388
ィ匕を L e v e 1値の前に行うよう記述したが、 もちろん本発明は R u n値を L e V e 1値の後に符号化しても R u n値と L e v e 1値を交互に符号化しても適用 することができる。
また、 本発明の第 1 5の実施形態による符号化方法と同様の手続にて符号化マ ップテーブル (復号マップテーブル) の切り替えを行い、 本発明の第 1 2の実施 形態による復号方法と同様の処理を行うことによって、 本発明の第 1 5の実施形 態による復号方法が実現する。 本発明の第 1 5の実施形態による復号方法によつ て、 本発明の第 1 5の実施形態による符号化方法によって符号化された符号化デ ータを好適に復号することができる。
(第 1 6の実施形態)
本発明の第 1 6の実施形態による符号化方法おいては、 符号化対象係数群にお ける R u n値の符号化を行う際に、 該符号化対象係数群における L e V e 1値の 絶対値を用いて可変長符号化テーブルを切り替えることを特徴とする。 従って本 発明の第 1 6の実施形態による符号化方法においては、 符号化対象となる R u n 値の前に該符号化対象係数群における L e v e l値が符号化されるように構成す る。
すなわち、 該符号化対象係数群における L e V e 1値の絶対値が大きければ、 該符号化対象係数はラプラス分布において頂に近い部分に位置すると考えられ、 近傍の周波数成分も非零となる可能性が高いと考えられるため、 R u n値は小さ い値をとると予測できる。 逆に該符号化対象群における L e v e l値の絶対値が 小さければ、 該符号化対象係数はラプラス分布において裾野の部分に位置すると 考えられ、 近傍の周波数成分も非零となる可能性が高いとは限らないため、 R u n値の予測がし難くなる。 そこで、 本発明の第 1 5の実施形態による符号化方法 と同様に、 例えば図 2 1 A〜Cに示すような複数の可変長符号化テーブルを用意 しておき、 これらを適応的に切り替えるように制御する。 具体的には例えば、 予 め閾値 T h 5および T h 6を設定しておき (ただし T h 5 > T h 6 )、符号化対象 388
となっている係数群 S iにおける R u n値 R ; 'の符号化の際に、係数群 S iにおける L e v e l値の絶対値 | | が T h 5より大きい場合には図 2 1 Aの可変長符 号化テ一ブルを、 I Iが T h 5以下であり T h 6より大きい場合には図 2 1 B の可変長符号化テーブルを、 I Iが T h 6以下である場合には図 2 1 Cの可変 長符号化テーブルを用いるように切り替える。
すなわち、 図 1 3の可変長符号化部 1 6において、 可変長符号出力部 3 0に入 カシンボル H 1として R u n値が入力されると、 符号化シンボルメモリ 3 1より I Iが可変長符号化テーブル参照情報 H 3として入力され、可変長符号化テー ブル提供部 3 3は可変長符号化テーブル参照情報 H 3に基づいて上記の制御手法 によって選ばれる ^変長符号化テーブル H 5を可変長符号出力部 3 0に提供する。 他の動作は本発明の第 1 2から第 1 5の実施形態と同様である。
本発明の第 1 6の実施形態による符号化方法においては、 以上のように R u n 値が小さい値を取ると予測しやすい場合には符号長の偏りの大きいテーブルに切 り替えることによつて予測が当たつた場合の符号長が短くなるように制御し、 R u n値の予測が難しい場合には符号長の偏りの小さいテーブルに切り替えること によって予測が当たらない場合の符号長が長くならないよう構成したので、 R u n値を効率よく符号化することができる。
また、 本発明の第 1 6の実施形態による符号化方法と同様の手続にて符号化マ ップテーブル (復号マップテーブル) の切り替えを行い、 本発明の第 1 5の実施 形態による復号方法と同様の処理を行うことによって、 本発明の第 1 6の実施形 態による復号方法が実現する。 本発明の第 1 6の実施形態による復号方法によつ て、 本発明の第 1 6の実施形態による符号化方法によって符号化された符号化デ ータを好適に復号することができる。
(第 1 7の実施形態)
次に、 本発明の第 1 7の実施形態による符号化方法について説明する。 本発明 の第 1 2の実施形態による符号化方法においては、 ブロック内の R u n合計値 R Tを符号化する際に可変長符号化テーブルを切り替えることを行わなかったが、 本発明の第 1 7の実施形態による符号化方法においては、 ブロック内の R u n合 計値 R Tを符号化する際に該符号化対象プロックに対する動きべク トル差分値 D MVに応じて可変長符号化テーブルを切り替えることを特徴とする。
ブロック内の R u n合計値 R Tはブロック内の非零係数数 C Cの値および D C
T係数が自然画像ではラプラス分布で近似できることなどから予測できる。 この ようにして予測された R u n合計値を P R Tとする。 さて、 周辺ブロックから予 測された動きべク トル予測値と符号化対象ブロックの動きべク トルとの差分値で ある動きべク トル差分値 D MVが小さい場合には、 該符号化対象ブロックにおい て出現する D C T系数はラプラス分布で近似しやすい可能性が高い。 したがって このような場合には、 ブロック内の R u n合計値 R Tの可変長符号化テーブルを R u n合計値の予測値 P R Tの近傍において符号長が短くなるような可変長符号 化テーブルを用いることによって効率よく符号化できる。 逆に該符号化対象プロ ックにおける動きべク トル差分値 DMVが大きい場合には、 該符号化対象ブロッ ク周辺において動きやテクスチャが複雑に変化している可能性が高い。 このよう な場合には D C T係数はラプラス分布で近似できない可能性が高いく、 符号化対 象となるブロックにおける R u n合計値 R Tは R u n合計値の予測値 P R Tの近 傍に集中するとは限らない。 したがって、 このような場合には、 尺 :!合計値!^ Tがどのような値でも符号長にあまり差がないような可変長符号テーブルを用い ることによって効率よく符号化することができる。
これらのことを念頭におき、 本発明の第 1 7の実施形態においては、 例えば図 2 1 A〜Cに示すように符号長の分布の偏りの特性の異なる可変長符号化テープ ノレを複数用意し、 符号化対象ブロックにおける動きべク トル差分値 DM Vの大き さに応じて、 符号化対象プロックにおける R u n合計値 R Tに対する可変長符号 化テーブルを切り替える。
具体的には、 例えば符号化対象ブロックにおける動きべク トル差分値 DMVの 大きさ I DM V Iに対して予め設定した閾値 T h 7、 T h 8 (ただし Th 7く T h 8とする) と比較することによって可変長符号化テーブルを切り替える。 | D MV Iの値が T h 7より小さければ、 符号化対象プロックにおける R u n合計値 RTの可変長符号化テーブルとして図 21 Aのテーブルを、 I DMV Iが T h 7 以上でありかつ Th 8より小さければ図 2 1 Bのテーブルを、 | DMV | がTh 8以上であれば図 21 Cのテーブルを用いて可変長符号化を行うように構成する。 すなわち、 図 1 3の可変長符号化部 16においてまず入力シンボル H 1として 可変長符号出力部 30に Ru n合計 !RTが入力される。 そして符号化シンボル メモリ 3 1より、 可変長符号化テーブル提供部 33に可変長符号化テーブル参照 情報 H 3として符½ "化対象ブロックにおける I DMV Iが入力される。 そして、 可変長符号化テーブル提供部 33にて上記のように I DMV Iが予め設定してお いた閾値 T h 7および T h 8と比較され、 それに基づいて符号化対象プロックに おける Ru n合計値 RTに対して用いる可変長符号化テーブルが決定され、 可変 長符号化テーブル H 5が可変長符号出力部 30に提供される。 そして、 Ru n合 計値 RTは可変長符号化され、 符号化データ D 9として出力される。
本発明の第 1 7の実施形態による符号化方法においては、 以上のように Run 合計値が Ru n合計値の予測値 PR Tの近傍に集中しやすい場合には、 PR丁の 近傍の符号長が短い可変長符号化テーブルに切り替えることによって PR Tの近 傍であった場合の符号長が短くなるように制御し、 R u n合計値が R u n合計値 の予測値 P R Tの近傍に集中するとは限らない場合には符号長の偏りの小さいテ —ブルに切り替えることによって R u n合計値 RTがどのような値であっても符 号長が長くならないよう構成したので、 Ru n合計値 R Tを効率よく符号化する ことができる。
図 36は本発明の第 1 7の実施形態による可変長復号部 21のブロック図を示 した図である。 本発明の第 1 7の実施形態による符号化方法によって符号化され た符号化データ D 9が可変長復号部 21の復号シンボル出力部 40に入力される PC漏 00雇 5388
と、 既に復号済のシンボルより算出された I D MV Iが復号シンボルメモリ 4 1 から可変長復号テーブル参照情報 H 8として可変長復号テーブル提供部 4 3に入 力される。 そして、 可変長復号テーブル提供部 4 3から可変長復号テーブル H I 0が符号化と同様の手続きにて選択されて復号シンボル出力部 4 0に入力される。 そして、 復号シンボル出力部 4 0において可変長復号が成され、 復号シンボルト I 6として R u n合計値 R Tが復号されて出力される
上記実施形態では、 符号化装置および復号装置を用いて説明したが、 これらは ハードウェアで実現してもソフトウェアで実現してもよレ、。 また、 説明を分かり やすくするために具体的な可変長符号化テーブルや画像符号化方式を用いて説明 したが、 もちろん 発明はこれらに限定されるわけでない。
また、 上記実施形態で説明したように、 符号化条件や画像特徴を用いて符号化 テ一ブルおよびマップテ一ブルを切り替える方法は容易にさまざまな変更例を想 像することができるが、 それらすべてに本発明が適用できる。
また、 上記実施形態では動画像符号化の一例を用いて説明したが、 もちろんこ れに限らず、 対象となる符号化シンボルおよび利用するコンテキス トが適用でき る方式であれば、 あらゆる動画像符号化方式および静止画像符号化方式に適用で さる。
また、 上記実施形態による画像符号化方式および画像復号方式は、 図 2 9 A、 B , Cに示した画像伝送システム、 画像蓄積システム、 画像再生システムに適用 することによって、 伝送帯域や蓄積容量などの資源を有効に活用するのに好適な ものである。
なお、 上記実施形態では、 図 2 1 A〜Cの 3つの可変長符号化テーブルを用い て説明'したが、 もちろん可変長符号化テーブルの個数やその値は図 2 1 A〜Cに 限定されるものではない。 例えば図 3 7 A〜Cに示すように e x p— G o 1 o m b符号の他の係数を変えることによつて生成した符号長分布の異なる可変長符号 可テーブルを用いてもよい。 なお、 上記実施形態による符号化方法および復号方法においては、 具体的なテ 一ブル値を用いて説明したが、 もちろん本発明はこれらの値に限定されるもので はない。 また、 上記実施形態においては、 8画素 X 8ラインの DCT係数を例に 用いて説明したが、 もちろん直交変換の種類やブロックの大きさがこれらに限定 されるものではない。
また、 上記実施形態によれば、 R u n値は高周波成分に関するものから順に処 理するよう構成したが、 もちろん、 低周波成分から処理しても同様の効果を得る ことができる。 そして、 例えば当該処理対象ブロックにおける非零係数数 CCの 値に応じて R u n値を処理する順序を変更するよう構成すれば、 さらに好適な符 復号が可能である。' つまり、 例えば予め設定した閾値 T h Cに対して、 非零係数 数 CCが小さい場合にはように Ru n値を低周波成分から、 上記閾値 ThCに対 して非零係数数 CCが同じか大きい場合には R u n値を高周波成分から処理する ことによって、 R u n値に対してより小さい が処理される可能性が高くなるた め、 より好適な符号化及び復号が可能となる。
また、 上記実施形態による符号化方法および復号方法はそれぞれ別の実施形態 として記述したが、 もちろんその中の複数の方法を同時に用いても同様の効果が 得られる。
また、 上記実施形態による符号化方法および復号方法においては、 Ru n値お よび L e V e 1値をそれぞれ 1次元の可変長符号化テーブルを用いて直列的に符 復号するよう説明したが、 もちろん 2次元の可変長符号化テーブルを用いて並列 的に (1 ^ 11値とし 6 V e 1値の組み合わせについて) 符復号するよう構成して も同様の効果が得られる。 しかしながら、 Ru nと L e v e 1の相関関係を利用 した 2次元可変長テーブルにおいてマップテーブルの切り替えによるインデック スィ直の変更を行うと'、 Ru nと L e v e 1の相関関係が崩れてしまい符号化効率 が悪くなるため、 本発明の実施形態において説明した 1次元の可変長符号化テー ブルを用いる方が効率のよい符号化を行うことができる。 なお、 実施形態では可変長符号化テーブルを切り替える可変長符号化を用いて 符号化を行うよう記述したが、 もちろん算術符号化を用いてこれらの処理を行つ ても同様の効果を得ることができる。 算術符号化を用いる場合には、 前記実施形 態において、 短い符号長を割り当てる符号化対象シンボルに対しては算術符号化 におけるシンボル発生確率が大きい確率テーブルを、 長い符号長を割り当てる符 号化対象シンボルに対しては算術符号化におけるシンボル発生確率が小さい確率 テーブルを使用することによって同様の効果が得られる。
また、 前記実施形態において用いた符号長に偏りの大きい可変長符号化テープ ルに対しては、 算術符号化におけるそれぞれのシンボルに対応するシンボル発生 確率の偏りが大き 、確率テーブルを、 符号長に偏りの小さい可変長符号化テープ ルに対しては、 算術符号化におけるそれぞれのシンボルに対応するシンボル発生 確率の偏りが小さい確率テーブルを使用することによって同様の効果を得られる。 具体的には、 例えば図 2 1 A ~ Cの可変長符号化テーブルに対し、 次の図 3 8 A 〜 Cの確率テ一ブルを用いることによって同様の効果を得ることができる。なお、 他の動作に関してはこれまで述べた実施形態と同様であるので詳細を省略する。 また、 上記各実施形態において示した動き検出部 1 1、 動き補償部 1 2、 直交 変換部 1 4、 量子化部 1 5、 可変長符号化部 1 6、 逆量子化部 1 7、 逆直交変換 部 1 8、 可変長復号部 2 1、 逆量子化部 2 2、 逆直交変換部 2 3、 動き補償部 2 4、 符号化マップテーブル提供部 3 2、 可変長符号化テーブル提供部 3 3、 可変 長符号出力部 3 0、 復号シンボル出力部 4 0、 復号マップテーブル提供部 4 2、 可変長復号テーブル提供部 4 3、学習機能付き符号化マップテーブル提供部 5 2、 フィードバック機能付き可変長符号出力部 5 1、 学習機能付き符復号マップテー ブル提供部 6 2、 フィードバック機能付き復号シンボル出力部 6 1それぞれの機 能は、 コンピュータプログラムとして提供することもできる。 さらにこのコンビ ユータプログラムを搬送波にのせて伝搬させることもできる。
産業上の利用可能性 本発明は、 画像符号化装置、 画像復号装置、 画像符号化方法、 画像復号方法、 画像符号化プログラム及び画像復号プログラムとして利用可能である。

Claims

言青求の範囲
1 . 符号化対象画像を所定サイズのマク口プロックに分割し、 前記マク口プロ ックをマクロブロックタイプに基づいて特定される所定の形状およびサイズのブ ロックに分割し、 前記ブロックを単位として動き補償予測を行って動きべク トル を出力する動き検出部と、
前記動き検出部によって出力された前記動きべク トルに基づいて参照画像から 予測画像を生成する動き補償部と、
前記動き補償部によって生成された前記予測画像と前記符号化対象画像との差 分演算を行って予測残差画像を出力する減算部と、 '
前記減算部によ'つて出力された前記予測残差画像を所定の変換プロックを単位 として変換符号化して変換係数を出力する変換部と、
前記変換部によって出力された前記変換係数を量子化係数に基づいて量子化し て量子化変換係数を出力する量子化部と、
前記動き検出部によって出力された前記動きべク トルと前記マクロプロックタ イブと前記量子化係数と前記量子化部によって出力された前記量子化変換係数と を含む符号化関連情報を圧縮符号化した符号化データを出力する符号化部と を備える画像符号化装置であって、
前記符号化部は、 前記符号化関連情報を記憶する符号化シンボルメモリ と、 1 つまたは複数種類の符号化手順を提供する符号化手順提供部と、 前記符号化シン ボルメモリに格納されている符号化関連情報を利用し、 所定の符号化手順選択基 準に基づいて、前記符号化手順提供部が提供するいずれかの符号化手順を選択し、 選択されだ符号化手順に基づいて前記符号化関連情報を圧縮符号化して符号化デ ータを'出力する符号化データ出力部とを備える
ことを特徴とする画像符号化装置。
2 . 前記符号化部は、 前記マク口ブロック内のそれぞれの前記変換ブロックに ついて、 非零である前記量子化変換係数が存在するか否かを示す非零係数存在フ ラグを含む符号化プロックパタン情報を圧縮符号化する機能を備え、
前記符号化手順提供部は、 当該符号化対象マクロブ口ックにおける符号化プロ ックノ タン情報を符号化するときに、 該符号化対象マク口プロックの周囲マク口 ブロックと当該符号化対象マクロブロックとの間で前記符号化プロックバタン情 報の空間的相関が高くなるほど符号長が短くなるような符号化手順を提供する ことを特徴とする請求項 1記載の画像符号化装置。
3 . 前記符号化手順提供部は、 当該符号化対象マクロブロックの周囲マクロブ 口ックにおけるマクロプロックタイプが当該符号化対象マクロプロックを最も多 くのブロックに分割することを示すマクロブ口ックタイプである場合には、 当該 符号化対象マクロ 、'口ック内の全ての符号化プロックは非零である量子化変換係 数を持つことを示す符号化ブロックパタン情報を持つものとして、 当該符号化対 象マクロブロックにおける符号化ブロックパタン情報を符号化するときに、 当該 符号化対象マクロプロックの周囲マクロブロックと当該符号化対象マクロプロッ クとの間で前記符号化プロックパタン情報の空間的相関が高くなるほど符号長が 短くなるような符号化手順を提供する
ことを特徴とする請求項 1記載の画像符号化装置。
4 . 前記符号化手順提供部は、 当該符号化対象マクロブロックにおける前記符 号化プロックパタン情報を符号化するときに、 当該符号化対象マクロプロックに おける量子化係数の大きさが予め設定された閾値より大きレ、場合には、 非零であ る量子化変換係数を含むプロック数がより少ないことを示す前記符号化プロック パタン情報に対して符号長がより短くなるような符号化手順を提供する ことを特徴とする請求項 1記載の画像符号化装置。
5 . 前記符号化手順提供部は、 当該符号化対象マクロブロックにおける前記符 号化プロックバタン情報を符号化するときに、 当該符号化対象マクロブロックの 周囲マクロプロックに含まれるプロック数が多いほど符号長の偏りが小さくなる ような符号化手順を提供する ことを特徴とする請求項 1記載の画像符号化装置。
6 . 前記符号化手順提供部は、 当該符号化対象マク口プロックにおける前記量 子化変換係数を符号化するときに、 当該符号化対象マクロプロックの周囲マクロ プロックにおける前記量子化変換係数の絶対値が大きいほど符号長の偏りが小さ くなるような符号化手順を提供する
ことを特徴とする請求項 1記載の画像符号化装置。
7 . 前記符号化手順提供部は、 当該符号化対象マクロプロックにおける前記マ クロブロックタイプを符号化するときに、 当該符号化対象マクロブロックの周囲 マクロブロックと当該符号化対象マクロブロックとの間で前記マクロブロックタ ィプの空間的相関 高くなるほど符号長が短くなるような符号化手順を提供する ことを特徴とする請求項 1 ¾載の画像符号化装置。
8 . 前記符号化手順提供部は、 当該符号化対象マクロプロックにおける前記マ クロブロックタイプを符号化するときに、 より多くのブロックを含むマクロブロ ックタイプに対して符号長がより短くなるような符号化手順を提供する ことを特徴とする請求項 1記載の画像符号化装置。
9 . 前記符号化部は、 前記プロック内の前記非零である量子化変換係数の数を 符号化する機能を備え、
前記符号化手順提供部は、 当該符号化対象マクロプロックにおける前記非零で ' ある量子化変換係数の数を符号化するときに、 当該符号化対象ブロックの周囲ブ 口ックにおける前記非零である量子化変換係数の数が予め設定された閾値より小 さい場合には、 前記非零である.量子化変換係数の数が小さいほど符号長が短くな るような符号化手順を提供する
ことを特徴とする請求項 1記載の画像符号化装置。
1 0 . 前記符号化シンボルメモリは、 周囲ブロックから予測した予測動きべク トルと実際の動きべク トルの差分値である差分動きべク トル値を保持する機能を 備え、 前記符号化手順提供部は、 当該符号化対象マクロプロックにおける前記符号化 プロックパタン情報を符号化するときに、 当該符号化対象マクロブ口ックの周囲 マクロブロックにおける差分動きべタトル値の大きさが予め設定された閾値より 大きい場合には、 非零である量子化変換係数を含むプロック数がより多いことを 示す符号化プロックバタン情報に対して符号長がより短くなるような符号化手順 を提供する
ことを特徴とする請求項 1記載の画像符号化装置。
1 1 . 前記符号化シンボルメモリは、 周囲ブロックから予測した予測動きべク トルと実際の動きべク トルの差分値である差分動きべク トル値を保持する機能を 備え、
前記符号化手順提供部は、 当該符号化対象マクロブロックにおける前記差分動 きべク トル値を符号化するときに、 当該符号化対象ブロックの周囲ブロックにお ける差分動きべク トル値の大きさが予め設定された閾値より小さい場合には、 よ り小さい差分動きべク トル値に対して符号長がより短くなるような符号化手順を 提供する
ことを特徴とする請求項 1記載の画像符号化装置。
1 2 . 前記符号化シンボルメモリは、 周囲プロックから予測した予測動きべク トルと実際の動きべク トルの差分値である差分動きべク トル値を保持する機能を 備え、
前記符号化手順提供部は、 当該符号化対象マクロプロックにおける前記マク口 プロックタイプを符号化すると.きに、 当該符号化対象プロックの周囲プロックに おける差分動きべクトル値の大きさが予め設定された閾値より大きい場合には、 より多くのブロックを含むマクロブロックタイプに対して符号長がより短くなる ような符号化手順を提供する
ことを特徴とする請求項 1記載の画像符号化装置。
1 3 . 符号化対象画像または前記符号化対象画像に基づいて生成された予測残 差画像を所定の変換プロックに分割し、 前記符号化対象画像または前記予測残差 画像を前記変換ブロックを単位として変換符号化し変換係数を出力する変換部と、 前記変換部によって出力された前記変換係数を量子化係数に基づいて量子化し て量子化変換係数を出力する量子化部と、
前記量子化係数と前記量子化部によって出力された前記量子化変換係数とを含 む符号化関連情報を圧縮符号化した符号化データを出力する符号化部と
を備える画像符号化装置であって、
前記符号化部は、 当該符号化対象プロック内の前記量子化変換係数を周波数に 応じて 1次元系列に変換し、 前記 1次元系列における前記量子化変換係数の絶対 値が 0となる係数 00連続数であるゼロラン値と前記量子化変換係数の絶対値であ るレベルィ直と前記量子化変換係数の正負を示す正負符号とを符号化する機能を備 え、 前記符号化関連情報を記憶する符号化シンボルメモリと、 1つまたは複数種 類の符号化手順を提供する符号化手順提供部と、 前記符号化シンボルメモリに格 納されている符号化関連情報を利用し、 所定の符号化手順選択基準に基づいて、 前記符号化手順提供部が提供するいずれかの符号化手順を選択し、 選択された符 号化手順に基づいて前記符号化関連情報を圧縮符号化し符号化データを出力する 符号化データ出力部とを備える
ことを特徴とする画像符号化装置。
1 4 . 前記符号化手順提供部は、 前記レベル値を符号化するときに、 符号化対 象レベル値の近傍の周波数におけるレベル値により近い値に対して符号長がより 短くなるような符号化手順を提供する
ことを特徴とする請求項 1 3記載の画像符号化装置。
1 5 . 前記符号化手順提供部は、 前記レベル を符号化するときに、 符号化対 象レベル の近傍の周波数におけるゼロラン値が予め設定された閾値より大きい 場合には、 小さいレベル値ほど符号長が短くなるような符号化手順を提供する ことを特徴とする請求項 1 3記載の画像符号化装置。
1 6 . 前記符号化手順提供部は、 前記レベル値を符号化するときに、 符号化対 象レベル値の周波数帯域が大きいほど符号長の偏りが大きくなるような符号化手 順を提供する
ことを特徴とする請求項 1 3記載の画像符号化装置。
1 7 . 前記符号化手順提供部は、 前記レベル値を符号化するときに、 符号化対 象レベル値の近傍の周波数におけるレベル値が小さくなるほど符号長の偏りが小 さくなるような符号化手順を提供する
ことを特徴とする請求項 1 3記載の画像符号化装匱。
1 8 . 前記符号化手順提供部は、 前記ゼロラン値を符号化するときに、 符号化 対象ゼロラン値の 傍の周波数におけるレベル値が小さくなるほど符号長の偏り が大きくなるような符号化手順を提供する
ことを特徴とする請求項 1 3記載の画像符号化装置。
1 9 . 前記符号化部は、 前記符号化対象ブロック内の非零である量子化変換係 数の数を圧縮符号化する機能を備え、 前記符号化対象プロックの非零である量子 化係数の数が予め設定された閾値より小さい場合には、 前記レベル値および前記 ゼロラン値を低周波成分から順に符号化し、 前記符号化対象プロックの非零であ る量子化係数の数が予め設定された閾値より大きい場合には、 前記レベル値およ び前記ゼロラン値を高周波成分から順に符号化する
ことを特徴とする請求項 1 3記載の画像符号化装置。 .
2 0 . 符号化対象画像が所定サイズのマクロブロックに分割され、 前記マクロ ブロックがマクロプロックタイプに基づいて特定される所定の形状およびサイズ のブロックに分割され、 前記ブロックを単位として動き補償予測が行われて出力 された動きべク トノレと、 前記動きべク トルに基づいて参照画像から予測画像が生 成され、 前記予測画像と前記符号化対象画像との差分演算が行われて予測画像が 出力され、 前記予測残差画像が所定の変換プロックを単位として変換符号化され て変換係数が出力され、 前記変換係数が量子化係数に基づいて量子化された量子 化変換係数と、 前記マクロブロックタイプと、 前記量子化係数とを含む符号化関 連情報を圧縮符号化した符号化データを復号する復号部
を備えた画像復号装置であって、
前記復号部は、復号済の前記符号化関連情報を記憶する復号シンボルメモリと、 1つまたは複数種類の復号手順を提供する復号手順提供部と、 前記復号シンボル メモリに格納されている復号済の符号化関連情報を利用し、 所定の復号手順選択 基準に基づいて、 前記復号手順提供部が提供するいずれかの復号手順であって復 号対象となる符号化関連情報の符号化に用いられた符号化手順に対応する復号手 順を選択し、 選択された復号手順に基づいて前記符号化関連情報を復号して復号. データを出力する ¾号データ出力部とを備える
ことを特徴とする画像復号装置。
2 1 . 前記復号部は、 前記マクロブロック内のそれぞれの前記変換プロックに ついて、 非零である前記量子化変換係数が存在するか否かを示す非零係数存在フ ラグを含む符号化プロックパタン情報を復号する機能を備え、
前記復号手順提供部は、 当該符号化対象マクロプロックにおける符号化プロッ クバタン情報を復号するときに、 該符号化対象マクロプロックの周囲マクロプロ ックと当該符号化対象マクロブロックとの間で前記符号化ブロックパタン情報の 空間的相関が高くなるほど符号長が短くなるように提供された符号化手順に対応 する復号手順を提供する
ことを特徴とする請求項 2 0記載の画像復号装置。
2 2 . 前記復号手順提供部は、 当該符号化対象マクロプロックの周囲マクロブ 口ックにおけるマクロプロックタイプが当該符号化対象マクロプロックを最も多 くのプロックに分割することを示すマクロプロックタイプである場合には、 当該 符号化対象マクロプロック内の全ての符号化プロックは非零である量子化変換係 数を持つことを示す符号化ブロックパタン情報を持つものとして、 当該符号化対 象マクロプロックにおける符号化プロックパタン情報を復号するときに、 当該符 号化対象マクロブ口ックの周囲マクロブロックと当該符号化対象マクロプロック との間で前記符号化プロックパタン情報の空間的相関が高くなるほど符号長が短 くなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項 2 0記載の画像復号装置。
2 3 . 前記復号手順提供部は、 当該符号化対象マクロプロックにおける前記符 号化プロックバタン情報を復号するときに、 当該符号化対象マクロプロックにお ける量子化係数の大きさが予め設定された閾値より大きい場合には、 非零である 量子化変換係数を含むプロック数がより少ないことを示す前記符号化プロックパ タン情報に対して符号長がより短くなるように提供された符号化手順に対応する 復号手順を提供す'る
ことを特徴とする請求項 2 0記載の画像復号装置。
2 4 · 前記復号手順提供部は、 当該符号化対象マクロブロックにおける前記符 号化ブ口ックパタン情報を復号するときに、 当該符号化対象マクロブロックの周 囲マクロブロックに含まれるプロック数が多いほど符号長の偏りが小さくなるよ うに提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項 2 0記載の画像復号装置。
2 5 . 前記復号手順提供部は、 当該符号化対象マク口プロックにおける前記量 子化変換係数を復号するときに、 当該符号化対象マクロプロックの周囲マクロブ 口ックにおける前記量子化変換係数の絶対値が大きいほど符号長の偏りが小さく なるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項 2 0記載の画像復号装置。
2 6 . 前記復号手順提供部は、 当該符号化対象マクロプロックにおける前記マ クロプロックタイプを復号するときに、 当該符号化対象マクロプロックの周囲マ クロブロックと当該符号化対象マクロブロックとの間で前記マクロブロックタイ プの空間的相関が高くなるほど符号長が短くなるように提供された符号化手順に 対応する復号手順を提供する ことを特徴とする請求項 2 0記載の画像復号装置。
2 7 . 前記復号手順提供部は、 当該符号化対象マクロブロックにおける前記マ クロブ口ックタイプを復号するときに、 より多くのプロックを含むマクロプロッ クタイプに対して符号長がより短くなるように提供された符号化手順に対応する 復号手順を提供する
ことを特徴とする請求項 2 0記載の画像復号装置。
2 8 . 前記復号部は、 前記プロック內の前記非零である量子化変換係数の数を 復号する機能を備え、
前記復号手順提供部は、 当該符号化対象マク口プロックにおける前記非零であ る量子化変換係数 数を復号するときに、 当該符号化対象ブロックの周囲プロッ クにおける前記非零である量子化変換係数の数が予め設定された閾値より小さレヽ 場合には、 前記非零である量子化変換係数の数が小さいほど符号長が短くなるよ うに提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項 2 0記載の画像復号装置。
2 9 . 前記復号シンボルメモリは、 周囲ブロックから予測した予測動きべクト ルと実際の動きべク トルの差分値である差分動きべク トル値を保持する機能を備 え、
前記復号手順提供部は、 当該符号化対象マクロプロックにおける前記符号化ブ 口ックパタン情報を復号するときに、 当該符号化対象マクロプロックの周囲マク ロブロックにおける差分動きべク トル値の大きさが予め設定された閾値より大き い場合には、 非零である量子化変換係数を含むブロック数がより多いことを示す 符号化プロックパタン情報に対して符号長がより短くなるように提供された符号 化手順に対応する復号手順を提供する
ことを特徴とする請求項 2 0記載の画像復号装置。
3 0 . 前記復号シンボルメモリは、 周囲ブロックから予測した予測動きべク ト ルと実際の動きべク トルの差分値である差分動きべク トル値を保持する機能を備 え、
前記復号手順提供部は、 当該符号化対象マクロプロックにおける前記差分動き べク トル値を復号するときに、 当該符号化対象ブロックの周囲ブロックにおける 差分動きべク トル値の大きさが予め設定された閾値より小さい場合には、 より小 さい差分動きべク トル値に対して符号長がより短くなるように提供された符号化 手順に対応する復号手順を提供する
ことを特徴とする請求項 2 0記載の画像復号装置。
3 1 . 前記復号シンボルメモリは、 周囲プロックから予測した予測動きべタ ト ルと実際の動きべクトルの差分値である差分動きべク トル値を保持する機能を備 え、
前記復号手順提供部は、 当該符号化対象マクロブロックにおける前記マクロブ 口ックタイプを復号するときに、 当該符号化対象プロックの周囲プロックにおけ る差分動きべクトル値の大きさが予め設定された閾値より大きい場合には、 より 多くのブロックを含むマクロブロックタイプに対.して符号長がより短くなるよう に提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項 2 0記載の画像復号装置。
3 2 . 符号化対象画像または前記符号化対象画像に基づいて生成された予測残 差画像を所定の変換ブロックに分割し、 前記符号化対象画像または前記予測残差 画像を前記変換プロックを単位として変換符号化して変換係数を出力し、 出力さ れた前記変換係数を量子化係数に基づいて量子化して出力された量子化変換係数 と、 前記量子化係数とを含む符号化関連情報を圧縮符号化した符号化データを復 号する復号部
を備える画像復号装置であって、
前記復号部は、 当亥符号化対象プロック内の前記量子化変換係数を周波数に応 じて 1次元系列に変換し、 前記 1次元系列における前記量子化変換係数の絶対値 が 0となる係数の連続数であるゼロラン値と前記量子化変換係数の絶対値である レベル値と前記量子化変換係数の正負を示す正負符号とを復号する機能を備え、 復号済の前記符号化関連情報を記憶する復号シンボルメモリと、 1つまたは複数 種類の復号手順を提供する復号手順提供部と、 前記復号シンボルメモリに格納さ れている復号済の符号化関連情報を利用し、 所定の符号化手順選択基準に基づい て、 前記復号手順提供部が提供するいずれかの復号手順であって復号対象となる 符号化関連情報の符号化に用いられた符号化手順に対応する復号手順を選択し、 選択された復号手順に基づいて前記符号化関連情報を復号して復号データを出力 する復号データ出力部とを備える
ことを特徴とする画像復号装置。
3 3 . 前記復号 ¥順提供部は、 前記レベル値を復号するときに、 符号化対象レ ベル値の近傍の周波数におけるレベル値により近い値に対して符号長がより短く なるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項 3 2記載の画像復号装置。
3 4 . 前記復号手順提供部は、 前記レベル値を復号するときに、 符号化対象レ ベル値の近傍の周波数におけるゼロラン値が予め設定された閾値より大きい場合 には、 小さいレベル値ほど符号長が短くなるように提供された符号化手順に対応 する復号手順を提供する
ことを特徴とする請求項 3 2記載の画像復号装置。
3 5 . 前記復号手順提供部は、 前記レベル値を復号するときに、 符号化対象レ ベル値の周波数帯域が大きいほど符号長の偏りが大きくなるように提供された符 号化手順に対応する復号手順を提供する
ことを特徴とする請求項 3 2記載の画像復号装置。
3 6 . 前記復号手順提供部は、 前記レベル値を復号するときに、 符号化対象レ ベル値の近傍の周波数におけるレベル値が小さくなるほど符号長の偏りが小さく なるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項 3 2記載の画像復号装置。
3 7 . 前記復号手順提供部は、 前記ゼロラン値を復号するときに、 符号化対象 ゼロラン値の近傍の周波数におけるレベル値が小さくなるほど符号長の偏りが大 きくなるように提供された符号化手順に対応する復号手順を提供する
ことを特徴とする請求項 3 2記載の画像復号装置。
3 8 . 前記復号部は、 前記符号化対象ブロック内の非零である量子化変換係数 の数を復号する機能を備え、 前記符号化対象プロックの非零である量子化係数の 数が予め設定された閾値より小さい場合には、 前記レベル値および前記ゼロラン 値を低周波成分から順に復号し、 前記符号化対象プロックの非零である量子化係 '数の数が予め設定された閾値より大きい場合には、 前記レベル値および前記ゼロ ラン値を高周波成 から順に復号する
ことを特徴とする請求項 3 2記載の画像復号装置。
3 9 . 符号化対象画像を所定サイズのマクロブロックに分割し、 前記マク口プ 口ックをマク口ブロックタイプに基づいて特定される所定の形状およびサイズの プロックに分割し、 前記プロックを単位として動き補償予測を行って動きべク ト ルを出力する動き検出ステップと、
前記動き検出ステップにおいて出力された前記動きべク トルに基づいて参照画 像から予測画像を生成する動き補償ステップと、
前記動き補償ステップにおいて生成された前記予測画像と前記符号化対象画像 との差分演算を行って予測残差画像を出力する減算ステップと、
前記減算ステップにおいて出力された前記予測残差画像を所定の変換プロック を単位として変換符号化して変換係数を出力する変換ステップと、
前記変換ステップにおいて出力された前記変換係数を量子化係数に基づいて量 子化して量子化変換係数を出力する量子化ステップと、
前記動き検出ステップにおいて出力された前記動きべク トルと前記マクロプロ ックタイプと前記量子化係数と前記量子化ステップにおいて出力された前記量子 化変換係数とを含む符号化関連情報を圧縮符号化した符号化データを出力する符 号化ステップと
を備える画像符号化方法であつて、
前記符号化ステップは、 1つまたは複数種類の符号化手順を用意しておき、 符 号化シンボルメモリに格納されている符号化関連情報を利用し、 所定の符号化手 順選択基準に基づいて、 前記 1つまたは複数種類の符号化手順の中からいずれか の符号化手順を選択し、 選択された符号化手順に基づいて前記符号化関連情報を 圧縮符号化して符号化データを出力する
ことを特徴とする画像符号化方法。
4 0 . 符号化対象画像または前記符号化対象画像に基づいて生成された予測残 差画像を所定の変奐プロックに分割し、 前記符号化対象画像または前記予測残差 画像を前記変換プロックを単位として変換符号化し 換係数を出力する変換ステ ップと、
前記変換ステツプにおいて出力された前記変換係数を量子化係数に基づレ、て量 子化して量子化変換係数を出力する量子化ステツプと、
前記量子化係数と前記量子化ステップにおいて出力された前記量子化変換係数 とを含む符号化関連情報を圧縮符号化した符号化データを出力する符号化ステツ プと
を備える画像符号化方法であって、
前記符号化ステップは、 当該符号化対象プロック内の前記量子化変換係数を周 波数に応じて 1次元系列に変換し、 前記 1次元系列における前記量子化変換係数 の絶対値が 0となる係数の連続数であるゼロラン値と前記量子化変換係数の絶対 値であるレベル値と前記量子化変換係数の正負を示す正負符号とを符号化するス テツプ'であって、 1つまたは複数種類の符号化手順を用意しておき、 符号化シン ボルメモリに格納ざれている符号化関連情報を利用し、 所定の符号化手順選択基 準に基づいて、 前記 1つまたは複数種類の符号化手順の中からいずれかの符号化 手順を選択し、 選択された符号化手順に基づいて前記符号化関連情報を圧縮符号 化し符号化データを出力する
ことを特徴とする画像符号化方法。
4 1 . 符号化対象画像が所定サイズのマクロブロックに分割され、 前記マクロ プロックがマクロブ口ックタイプに基づいて特定される所定の形状およびサイズ ' のプロックに分割され、 前記プロックを単位として動き補償予測が行われて出力 された動きべク トノレと、 前記動きべク トルに基づいて参照画像から予測画像が生 成され、 前記予測画像と前記符号化対象画像との差分演算が行われて予測画像が 出力され、 前記予測残差画像が所定の変換プロックを単位として変換符号化され て変換係数が出力され、 前記変換係数が量子化係数に基づいて量子化された量子 化変換係数と、 前奮己マクロブロックタイプと、 前記量子化係数とを含む符号化関 連情報を圧縮符号化した符号化データを復号する復号ステップ
を備えた画像復号方法であって、
前記復号ステップは、 1つまたは複数種類の復号手順を用意しておき、 復号シ ンボルメモリに格納されている復号済の符号化関連情報を利用し、 所定の復号手 順選択基準に基づいて、 前記 1つまたは複数種類の復号手順の中からいずれかの 復号手順であって復号対象となる符号化関連情報の符号化に用いられた符号化手 順に対応する復号手順を選択し、 選択された復号手順に基づいて前記符号化関連 情報を復号して復号データを出力する
ことを特徴とする画像復号方法。
4 2 . 符号化対象画像または前記符号化対象画像に基づいて生成された予測残 差画像を所定の変換プロックに分割し、 前記符号化対象画像または前記予測残差 画像を前記変換プロックを単位として変換符号化して変換係数を出力し、 出力さ れた前記変換係数を量子化係数に基づいて量子化して出力された量子化変換係数 と、 前記量子化係数とを含む符号化関連情報を圧縮符号化した符号化データを復 号する復号ステップ
を備える画像復号方法であって、 前記復号ステップは、 当該符号化対象プロック内の前記量子化変換係数を周波 数に応じて 1次元系列に変換し、 前記 1次元系列における前記量子化変換係数の 絶対値が 0となる係数の連続数であるゼロラン値と前記量子化変換係数の絶対値 であるレベル値と前記量子化変換係数の正負を示す正負符号とを復号するステッ プであって、 1つまたは複数種類の復号手順を用意しておき、 復号シンボルメモ リに格納されている復号済の符号化関連情報を利用し、 所定の符号化手順選択基 準に基づいて、 前記 1つまたは複数種類の復号手順の中からいずれかの復号手順 であって復号対象となる符号化関連情報の符号化に用いられた符号化手順に対応 する復号手順を選択し、 選択された復号手順に基づいて前記符号化関連情報を復 号して復号データ'を出力する
ことを特徴とする画像復号方法。
4 3 . コンピュータを、
符号化対象画像を所定サイズのマクロブ口ックに分割し、 前記マクロブロック をマクロプロックタイプに基づいて特定される所定の形状およびサイズのブロッ クに分割し、 前記ブロックを単位として動き補償予測を行って動きべク トルを出 力する動き検出手段と、
前記動き検出手段によって出力された前記動きベク トルに基づいて参照画像か ら予測画像を生成する動き補償手段と、
前記動き補償手段によって生成された前記予測画像と前記符号化対象画像との 差分演算を行って予測残差画像を出力する減算手段と、
前記減算手段によって出力された前記予測残差画像を所定の変換ブロックを単 位として変換符号化して変換係数を出力する変換手段と、
前記変換手段によって出力された前記変換係数を量子化係数に基づいて量子化 して量子化変換係数を出力する量子化手段と、
前記動き検出手段によって出力された前記動きべク トルと前記マクロブロック タイプと前記量子化係数と前記量子化手段によって出力された前記量子化変換係 数とを含む符号化関連情報を圧縮符号化した符号化データを出力する符号化手段 と
して機能させる画像符号化プログラムであって、
前記符号化手段は、 1つまたは複数種類の符号化手順を提供する符号化手順提 供手段と、 符号化シンボルメモリに格納されている符号化関連情報を利用し、 所 定の符号化手順選択基準に基づいて、 前記符号化手順提供手段が提供するいずれ 力の符号化手順を選択し、 選択された符号化手順に基づいて前記符号化関連情報 を圧縮符号化して符号化データを出力する符号化データ出力手段とを備える ことを特徴とする画像符号化プログラム。
4 4 . コンピュータを、
符号化対象画像または前記符号化対象画像に基づいて生成された予測残差画像 を所定の変換プロックに分割し、 前記符号化対象画像または前記予測残差画像を 前記変換プロックを単位として変換符号化し変換係数を出力する変換手段と、 前記変換手段によって出力された前記変換係数を量子化係数に基づいて量子化 して量子化変換係数を出力する量子化手段と、
前記量子化係数と前記量子化手段によって出力された前記量子化変換係数とを 含む符号化関連情報を圧縮符号化した符号化データを出力する符号化手段と して機能させる画像符号化プログラムであって、
前記符号化手段は、 当該符号化対象プロック内の前記量子化変換係数を周波数 に応じて 1次元系列に変換し、 前記 1次元系列における前記量子化変換係数の絶 対値が 0となる係数の連続数であるゼロラン値と前記量子化変換係数の絶対値で あるレベル値と前記量子化変換係数の正負を示す正負符号とを符号化する手段を 備え、 1つまたは複数種類の符号化手順を提供する符号化手順提供手段と、 符号 化シンボルメモリに格納されている符号化関連情報を利用し、 所定の符号化手順 選択基準に基づいて、 前記符号化手順提供手段が提供するいずれかの符号化手順 を選択し、 選択された符号化手順に基づいて前記符号化関連情報を圧縮符号化し 符号化データを出力する符号化データ出力手段とを備える
ことを特徴とする画像符号化プログラム。
4 5 . コンピュータを、
符号化対象画像が所定サイズ'のマクロブロックに分割され、 前記マクロプロッ クがマクロプロックタイプに基づいて特定される所定の形状およびサイズのプロ ックに分割され、 前記プロックを単位として動き補償予測が行われて出力された 動きべク トルと、前記動きべク トルに基づいて参照画^から予測画像が生成され、 前記予測画像と前記符号化対象画像との差分演算が行われて予測画像が出力され、 前記予測残差画像が所定の変換プロックを単位として変換符号化されて変換係数 が出力され、 前記 換係数が量子化係数に基づいて量子化された量子化変換係数 と、 前記マクロブロックタイプと、 前記量子化係数とを含む符号化関連情報を圧 縮符号化した符号化データを復号する復号手段
として機能させる画像復号プログラムであって、
前記復号手段は、 1つまたは複数種類の復号手順を提供する復号手順提供手段 と、 復号シンボルメモリに格納されている復号済の符号化関連情報を利用し、 所 定の復号手順選択基準に基づいて、 前記復号手順提供手段が提供するいずれかの 復号手順であって復号対象となる符号化関連情報の符号化に用いられた符号化手 順に対応する復号手順を選択し、 選択された復号手順に基づいて前記符号化関連 情報を復号して復号データを出力する復号データ出力手段とを備える
ことを特徴とする画像復号プログラム。 .
4 6 . コンピュータを、
符号化対象画像または前記符号化対象画像に基づいて生成された予測残差画像 を所定の変換プロックに分割し、 前記符号化対象画像または前記予測残差画像を 前記変換プロックを単位として変換符号化して変換係数を出力し、 出力された前 記変換係数を量子化係数に基づいて量子化して出力された量子化変換係数と、 前 記量子化係数とを含む符号化関連情報を圧縮符号化した符号化データを復号する 復号手段
として機能させる画像復号プログラムであって、
前記復号手段は、 当該符号化対象プロック内の前記量子化変換係数を周波数に 応じて 1次元系列に変換し、 前記 1次元系列における前記量子化変換係数の絶対 値が 0となる係数の連続数であるゼロラン値と前記量子化変換係数の絶対値であ るレベル値と前記量子化変換係数の正負を示す正負符号とを復号する手段を備え、
1つまたは複数種類の復号手順を提供する復号手順提供手段と、 復号シンボルメ モリに格納されている符号化関連情報を利用し、 所定の符号化手順選択基準に基 づいて、 前記復号手順提供手段が提供するいずれかの復号手順であって復号対象 となる符号化関連' i青報の符号化に用いられた符号化手順に対応する復号手順を選 択し、 選択された復号手順に基づいて前記符号化関連情報を復号して復号データ を出力する復号データ出力手段とを備える
ことを特徴とする画像復号プログラム。
PCT/JP2003/005388 2002-04-26 2003-04-25 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム WO2004039083A1 (ja)

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
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
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
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
JP2002-127485 2002-04-26
JP2002127485 2002-04-26
JP2002-127471 2002-04-26
JP2002127471 2002-04-26
JP2002-195158 2002-07-03
JP2002-195162 2002-07-03
JP2002195162 2002-07-03
JP2002195158 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) EP2202989B1 (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)

* Cited by examiner, † Cited by third party
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 (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003045065A2 (en) * 2001-11-22 2003-05-30 Matsushita Electric Industrial Co., Ltd. Variable length coding method and variable length decoding method
ES2277174T3 (es) * 2002-05-02 2007-07-01 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Codificacion aritmetica de coeficientes de transformacion.
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
US20070297517A1 (en) * 2005-07-15 2007-12-27 Samsung Electronics Co., Ltd. Entropy encoding and decoding apparatuses, and entropy encoding and decoding methods
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
CN102611892B (zh) 2006-03-16 2014-10-08 华为技术有限公司 在编码过程中实现自适应量化的方法及装置
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 パナソニック株式会社 動画像符号化方法及び動画像符号化装置
AU2007351295B2 (en) 2007-03-20 2011-03-31 Fujitsu Limited Time-varying image encoding method and device, and time-varying image decoding device
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
CN101926175A (zh) * 2008-03-07 2010-12-22 株式会社东芝 运动图像编码/解码方法以及装置
JP5007259B2 (ja) * 2008-03-27 2012-08-22 ルネサスエレクトロニクス株式会社 画像符号化装置
US9042457B2 (en) * 2008-06-10 2015-05-26 Panasonic Intellectual Property Management Co., Ltd. Image decoding apparatus and image coding apparatus wth parallel decoding
US8311116B2 (en) 2008-07-09 2012-11-13 Marvell World Trade Ltd. Method and apparatus for periodic structure handling for motion compensation
US8687692B2 (en) * 2008-08-12 2014-04-01 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
MX2011005749A (es) * 2008-12-03 2011-06-20 Nokia Corp Conmutacion entre modos de codificacion de coeficientes dct.
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
WO2010090629A1 (en) * 2009-02-05 2010-08-12 Thomson Licensing Methods and apparatus for adaptive mode video encoding and decoding
CN104159111B (zh) * 2009-05-29 2018-11-06 三菱电机株式会社 图像解码装置以及图像解码方法
US9635368B2 (en) 2009-06-07 2017-04-25 Lg Electronics Inc. Method and apparatus for decoding a video signal
KR101805531B1 (ko) 2009-06-07 2018-01-10 엘지전자 주식회사 비디오 신호의 디코딩 방법 및 장치
KR101719382B1 (ko) * 2009-06-22 2017-03-23 톰슨 라이센싱 이미지 시퀀스에 대한 비디오 데이터의 일치 추적 기반 코딩을 위한 프로세스
JP5184447B2 (ja) * 2009-06-22 2013-04-17 株式会社Kddi研究所 動画像符号化装置および復号装置
WO2011021914A2 (ko) 2009-08-21 2011-02-24 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
KR101377530B1 (ko) * 2009-08-21 2014-03-27 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
TW201121335A (en) * 2009-12-02 2011-06-16 Sunplus Core Technology Co Ltd Method and apparatus for adaptively determining compression modes to compress frames
CN102668561A (zh) * 2009-12-17 2012-09-12 瑞典爱立信有限公司 用于视频编码的方法和设备
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
PT3410716T (pt) 2010-04-13 2020-04-21 Ge Video Compression Llc Codificação de mapas de significância e blocos de coeficientes de transformada
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
CA2810899C (en) 2010-10-05 2016-08-09 General Instrument Corporation Coding and decoding utilizing adaptive context model selection with zigzag scan
US8787459B2 (en) * 2010-11-09 2014-07-22 Sony Computer Entertainment Inc. Video coding methods and apparatus
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
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.
US9490839B2 (en) 2011-01-03 2016-11-08 Qualcomm Incorporated Variable length coding of video block coefficients
CN103299622B (zh) * 2011-01-07 2016-06-29 联发科技(新加坡)私人有限公司 编码方法与装置以及解码方法与装置
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
EP3419289B1 (en) * 2011-06-30 2020-12-23 JVC KENWOOD Corporation Image decoding device, image decoding method, and image decoding 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
CN107105246B (zh) 2011-07-29 2020-01-10 太阳专利托管公司 图像编码方法以及图像编码装置
ES2728529T3 (es) * 2011-11-01 2019-10-25 Velos Media Int Ltd Mapas de significancia multinivel para codificación y decodificación
US9571833B2 (en) 2011-11-04 2017-02-14 Nokia Technologies Oy Method for coding and an apparatus
WO2013074964A1 (en) 2011-11-16 2013-05-23 Vanguard Software Solutions, Inc. Video compression for high efficiency video coding
US9247257B1 (en) 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
CN105187828A (zh) * 2011-12-13 2015-12-23 Jvc建伍株式会社 动图像解码装置、动图像解码方法、接收装置及接收方法
US9350996B2 (en) * 2011-12-20 2016-05-24 Google Technology Holdings LLC Method and apparatus for last coefficient indexing for high efficiency video coding
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
CN105245906B (zh) * 2012-04-13 2017-03-29 Jvc建伍株式会社 图像解码装置、图像解码方法、接收装置及接收方法
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
CN104244002B (zh) * 2013-06-14 2019-02-05 北京三星通信技术研究有限公司 一种视频编/解码中运动信息的获取方法及装置
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 에스케이텔레콤 주식회사 인터 예측을 이용한 영상 부호화 및 복호화 방법과 장치
WO2016191915A1 (en) * 2015-05-29 2016-12-08 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
US10630991B2 (en) * 2015-12-15 2020-04-21 Nippon Telegraph And Telephone Corporation Image difference detection device, method for detecting image difference, and computer program
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 平安普惠企业管理有限公司 层级动画生成方法、终端及可读存储介质
US11030480B2 (en) 2018-08-31 2021-06-08 Samsung Electronics Co., Ltd. Electronic device for high-speed compression processing of feature map of CNN utilizing system and controlling method thereof
US10873747B2 (en) * 2018-11-18 2020-12-22 Sony Corporation Residual mapping method for image/video compression
KR20210107118A (ko) 2019-01-02 2021-08-31 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 통합된 변환 타입 시그널링 및 변환 타입 종속 변환 계수 레벨 코딩
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 创新先进技术有限公司 一种数据压缩、解压方法、装置和设备
JPWO2020255578A1 (ja) * 2019-06-19 2020-12-24

Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 株式会社東芝 画像符号化/復号化方法及び装置
EP1689190A3 (en) * 1996-11-07 2008-12-10 Panasonic Corporation Image encoder and image decoder
US6462791B1 (en) * 1997-06-30 2002-10-08 Intel Corporation Constrained motion estimation and compensation for packet loss resiliency in standard based codec
DE69830552T2 (de) 1997-09-26 2006-05-11 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren und Vorrichtung zum dekodieren von Bildern und Datenaufzeichnungsmedium
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 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法、及び画像復号プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
EP1478190A1 (en) 2004-11-17
US7970223B2 (en) 2011-06-28
CN100420308C (zh) 2008-09-17
TW200401560A (en) 2004-01-16
ES2401991T3 (es) 2013-04-26
US20110228842A1 (en) 2011-09-22
CN1545813A (zh) 2004-11-10
JPWO2004039083A1 (ja) 2006-02-23
EP2202989A1 (en) 2010-06-30
US20040234144A1 (en) 2004-11-25
TWI273832B (en) 2007-02-11
EP2202989B1 (en) 2014-04-16
EP1478190B1 (en) 2013-01-02
US8265405B2 (en) 2012-09-11
KR20040068535A (ko) 2004-07-31
US20070242892A1 (en) 2007-10-18
US20100002945A1 (en) 2010-01-07
KR100627597B1 (ko) 2006-09-25
JP3944225B2 (ja) 2007-07-11
US7903891B2 (en) 2011-03-08
US7596279B2 (en) 2009-09-29
EP2367358A1 (en) 2011-09-21
EP1478190A4 (en) 2009-04-01
US20120106630A1 (en) 2012-05-03

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) 참조 픽쳐 리스트 관리 방법 및 이러한 방법을 사용하는 장치
KR20140043759A (ko) 움직임 벡터 리스트 설정 방법 및 이러한 방법을 사용하는 장치
KR101974952B1 (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