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

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

Info

Publication number
WO2012096104A1
WO2012096104A1 PCT/JP2011/079400 JP2011079400W WO2012096104A1 WO 2012096104 A1 WO2012096104 A1 WO 2012096104A1 JP 2011079400 W JP2011079400 W JP 2011079400W WO 2012096104 A1 WO2012096104 A1 WO 2012096104A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
reference screen
signal
motion information
screen
Prior art date
Application number
PCT/JP2011/079400
Other languages
English (en)
French (fr)
Inventor
鈴木 芳典
ブン チュンセン
タン ティオ ケン
Original Assignee
株式会社エヌ・ティ・ティ・ドコモ
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 株式会社エヌ・ティ・ティ・ドコモ filed Critical 株式会社エヌ・ティ・ティ・ドコモ
Priority to BR112013017756A priority Critical patent/BR112013017756A2/pt
Priority to AU2011354870A priority patent/AU2011354870A1/en
Priority to MX2013008105A priority patent/MX2013008105A/es
Priority to CN201180064647.5A priority patent/CN103299635B/zh
Priority to RU2013137443/08A priority patent/RU2013137443A/ru
Priority to KR1020137017928A priority patent/KR101866440B1/ko
Priority to EP11855584.6A priority patent/EP2665270B1/en
Priority to CA2824459A priority patent/CA2824459A1/en
Publication of WO2012096104A1 publication Critical patent/WO2012096104A1/ja
Priority to US13/941,180 priority patent/US8879621B2/en

Links

Images

Classifications

    • 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
    • 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/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/103Selection of coding mode or of prediction mode
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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

Definitions

  • Embodiments described herein relate generally to an image predictive encoding device, an image predictive encoding method, an image predictive encoding program, an image predictive decoding device, an image predictive decoding method, and an image predictive decoding program, and in particular, inter-screen prediction.
  • the present invention relates to an image predictive encoding device, an image predictive encoding method, an image predictive encoding program, an image predictive decoding device, an image predictive decoding method, and an image predictive decoding program that generate a list of reference screens used in the above.
  • Compressive coding technology is used to efficiently transmit and store still images and moving image data.
  • MPEG-1 to 4 and ITU (International Telecommunication Union) H.264. 261-H. H.264 is widely used.
  • an encoding process or a decoding process is performed after an image to be encoded is divided into a plurality of blocks.
  • predictive coding within a screen a predicted signal is generated using an adjacent previously reproduced image signal (reconstructed compressed image data) in the same screen as the target block, and then the predicted signal is The differential signal obtained by subtracting from the signal of the target block is encoded.
  • predictive coding between screens by referencing a previously reproduced image signal in a screen different from the target block, performing motion correction, generating a predicted signal, and subtracting the predicted signal from the signal of the target block The resulting difference signal is encoded.
  • H. H.264 intra-screen predictive encoding employs a method of generating a prediction signal by extrapolating already reproduced pixel values adjacent to a block to be encoded in a predetermined direction.
  • FIG. 16 shows ITU H.264. 2 is a schematic diagram for explaining an intra-screen prediction method used for H.264.
  • a target block 802 is a block to be encoded
  • a pixel group 801 composed of pixels A to M adjacent to the boundary of the target block 802 is an adjacent region. This is an image signal that has already been reproduced.
  • a prediction signal is generated by extending a pixel group 801 that is an adjacent pixel directly above the target block 802 downward.
  • the prediction signal is generated by extending the already reproduced pixels (I to L) on the left of the target block 804 to the right.
  • Patent Document 1 A specific method for generating a prediction signal is described in Patent Document 1, for example.
  • the difference between each of the nine prediction signals generated by the method shown in FIGS. 16A to 16I and the pixel signal of the target block is taken, and the one with the smallest difference value is determined as the optimum prediction signal.
  • a prediction signal can be generated by extrapolating pixels. The above contents are described in Patent Document 1 below.
  • a prediction signal is generated by searching for a signal similar to the pixel signal from a screen that has already been reproduced for a block to be coded. Then, a motion vector that is a spatial displacement amount between the target block and a region formed by the searched signal, and a residual signal between the pixel signal and the prediction signal of the target block are encoded. Such a method for searching for a motion vector for each block is called block matching.
  • FIG. 15 is a schematic diagram for explaining the block matching process.
  • a procedure for generating a prediction signal will be described using the target block 702 in the encoding target screen 701 as an example.
  • the screen 703 has already been reproduced, and the area 704 is an area in the same position as the target block 702.
  • the screen 703 is referred to as a reference screen in the sense that the screen 703 is referred to during prediction.
  • a search range 705 surrounding the region 704 is set, and a region 706 in which the absolute value error sum with the pixel signal of the target block 702 is minimum is detected from the pixel signal in this search range.
  • the signal in the area 706 becomes a prediction signal, and the amount of displacement from the area 704 to the area 706 is detected as a motion vector 707. Also, there may be used a method of preparing a plurality of reference screens 703, selecting a reference screen for performing block matching for each target block, and detecting reference screen selection information.
  • H. H.264 provides a plurality of prediction types having different block sizes for encoding motion vectors in order to cope with changes in local features of an image. H. H.264 prediction types are described in Patent Document 2, for example.
  • the encoding order of each screen may be arbitrary.
  • the first method is forward prediction in which a prediction signal is generated with reference to a past reproduced screen in the display order
  • the second method is a prediction signal with reference to a future reproduced screen in the display order.
  • This is a backward prediction to be generated
  • the third method is bidirectional prediction in which both forward prediction and backward prediction are performed and two prediction signals are averaged.
  • the kind of prediction between screens it describes in patent document 3, for example.
  • H.264 as a reference screen 703 candidate, two reference screen lists composed of a plurality of reproduced screens are created and the third method is performed. Block matching is performed for a plurality of reference screens registered in each reference screen list, two regions corresponding to the region 706 are detected, and the two detected prediction signals are averaged. Also in forward prediction and backward prediction, block matching is performed on either of the two reference screen lists created, an area corresponding to the area 706 is detected, and a signal in that area is used as a prediction signal of the target block. And
  • a screen 403 indicates an encoding target image
  • screens 401, 402, 404, and 405 indicate reproduced images.
  • Each image (screen) is identified by a frame number (frame_num).
  • L0 and L1 in FIG. 3A-1 indicate two reference screen lists.
  • two reference screen frame numbers are registered in the two reference screen lists, respectively.
  • the frame number of each reference screen is identified by a reference screen number (ref_idx), that is, an index indicating the frame number of the reference screen.
  • the reproduced images that can be registered in the reference screen list are basically arbitrary. As shown in Table 451 shown in FIG. 3A-1, all the reference screens registered in the two reference screen lists may be past reproduced images.
  • both of the two prediction signals are forward predictions.
  • a prediction method that averages two prediction signals is called bi-prediction rather than bidirectional prediction. In this bi-prediction, two combinations of motion vectors and reference screen numbers (motion information) are encoded.
  • the screen 411 shows the encoding target image
  • the screens 408, 409, 410, and 412 show the reproduced images.
  • L0 and L1 indicate two reference screen lists.
  • two reference screen frame numbers are registered in the two reference screen lists, respectively.
  • past and future screens are mixedly included in one reference list with respect to the encoding target screen 411.
  • a prediction method for generating a prediction signal from one reference screen is sometimes referred to as uni-prediction instead of forward prediction or backward prediction.
  • Bi-prediction shows high prediction performance due to the noise removal effect by averaging two signals, but the prediction performance decreases in an area in the screen where the object of the encoding target screen appears only on one of the two reference screens To do. Therefore, bi-prediction using the two reference screen lists L0 and L1 and uni-prediction using the reference screen lists L0 and L1 independently are selectively used. That is, a prediction mode with high prediction performance is selected in units of blocks, with three predictions using L0, one prediction using L1, and bi-prediction as prediction mode candidates.
  • the two uni-predictions using L0 and L1 are duplicated as candidates for the uni-prediction reference screen as a whole, even if they are prediction mode candidates. Does not occur.
  • FIG. 3 which is an example of the reference screen list corresponding to (A) in FIG. 2
  • two predictions that is, a single prediction using L0 and a single prediction using L1 are used as prediction mode candidates. Even if they are added as they are, the four reference screens 401, 402, 404, and 405 are candidates for reference screens used for uni-prediction.
  • preparing two prediction modes for selecting a reference screen list causes an increase in the code amount of the prediction mode.
  • An object is to provide an image predictive encoding method, an image predictive encoding program, an image predictive decoding apparatus, an image predictive decoding method, and an image predictive decoding program.
  • An image predictive coding apparatus provides a correlation between a region dividing unit that divides an input image into a plurality of regions and a pixel signal of a target region to be encoded divided by the region dividing unit.
  • Motion information estimation means for obtaining motion information for acquiring a high signal from the already-reproduced reference screen, prediction signal generation means for generating a prediction signal for the target area based on the motion information, and a prediction signal for the target area
  • residual signal generating means for generating a residual signal based on the pixel signal of the target region, quantization means for performing quantization processing on the residual signal and generating a quantization coefficient, the motion information, and the above Encoding means for encoding quantization coefficients of a residual signal; inverse quantization means for performing inverse quantization processing on the quantization coefficients generated by the quantization means to reproduce a residual signal; and the prediction Signal and played above Recording means for storing, as a reference screen, a screen including the restored pixel signal of the target area generated by addition with
  • the image predictive coding method includes a step in which an area dividing unit divides an input image into a plurality of areas, and an encoding target obtained by dividing the motion information estimating unit by the area dividing unit.
  • a step of generating a residual signal based on the prediction signal of the target region and the pixel signal of the target region, and a quantization unit performs a quantization process on the residual signal to generate a quantization coefficient
  • a step of encoding the motion information and the quantized coefficient of the residual signal ; and an inverse quantizing unit that performs an inverse quantization process on the quantized coefficient generated by the quantizing unit.
  • the above-mentioned one reference screen is determined from a single reference screen list for uni-prediction in which frame numbers of a plurality of reference screens are registered
  • the motion information is obtained, and the encoding means encodes at least a prediction mode as motion information.
  • An image predictive coding program includes a region dividing unit that divides an input image into a plurality of regions, and pixels of a target region that is an encoding target divided by the region dividing unit.
  • Motion information estimation means for obtaining motion information for acquiring a signal having a high correlation with the signal from the already-reproduced reference screen, prediction signal generation means for generating a prediction signal of the target region based on the motion information, and Residual signal generation means for generating a residual signal based on the prediction signal of the target area and the pixel signal of the target area; and quantization means for performing quantization processing on the residual signal and generating a quantization coefficient; Coding means for coding the motion information and the quantized coefficient of the residual signal, and inverse quantization for reproducing the residual signal by applying an inverse quantization process to the quantized coefficient generated by the quantizing means.
  • Means, And recording means for storing as a reference screen a screen including the restored pixel signal of the target area generated by adding the prediction signal and the reproduced residual signal, and the motion information is one reference Including a prediction mode in which a single prediction using a screen and a bi-prediction using two reference screens are selected candidates, and the motion information estimation unit selects one of the two prediction mode candidates, When selecting a prediction, the motion information is obtained from one reference screen defined by a single reference screen list for uni-prediction in which frame numbers of a plurality of reference screens are registered. At least a prediction mode is encoded as information.
  • a single reference screen list for uni-prediction is used. Therefore, the prediction performance of one-sided prediction can be improved. Further, when uni-prediction is selected, it is not necessary to encode information for specifying a bi-prediction reference screen list used for uni-prediction. Therefore, the reference screen number and the prediction mode can be encoded more efficiently.
  • the motion information estimation unit selects one from the two prediction mode candidates, and when the bi-prediction is selected, from the plurality of reference screens stored in the recording unit.
  • the prediction mode included in the motion information is bi-prediction, it is determined by first and second reference screen lists in which frame numbers of a plurality of reference screens usable for bi-prediction are registered.
  • one motion vector may be encoded.
  • the reference screen of the third reference screen list is registered in the third reference screen list in ascending order of the absolute value of the difference between the frame number of the input image and the frame number of the reference screen. May be.
  • An image predictive decoding device analyzes compressed data of an image divided and encoded into a plurality of regions, and decodes motion data of a signal in a target region to be decoded;
  • Decoding means for decoding the decoded data of the residual signal, prediction signal generating means for generating a prediction signal of the target region based on the decoded motion information and the previously reproduced reference screen, and decoding of the residual signal
  • Inverse quantization means for performing a dequantization process on a quantization coefficient that is data to reproduce a reproduction residual signal, and a restored pixel of the target region generated by adding the prediction signal and the reproduction residual signal
  • Recording means for storing a reference screen including a signal, and the motion information includes a prediction mode in which a single prediction using one reference screen and a bi-prediction using two reference screens are selected as selection candidates.
  • the decoding means At least the prediction mode is decoded as information, and when the prediction mode is uni-prediction, the prediction signal generation unit adds a single reference screen list for uni-prediction in which frame numbers of a plurality of reference screens are registered. The prediction signal is generated based on one reference screen determined as described above.
  • the decoding unit analyzes the compressed data of the image that is encoded by being divided into a plurality of regions, and the motion of the signal in the target region to be decoded
  • a step of inverse quantization means performing inverse quantization processing on the quantized coefficient which is decoded data of the residual signal to reproduce a reproduction residual signal, and a recording means comprising the prediction signal and the reproduction residual.
  • Select bi-prediction A prediction mode serving as a complement is included, and the decoding unit decodes at least the prediction mode as motion information, and the prediction signal generation unit includes a plurality of reference screens when the prediction mode is uni-prediction.
  • the prediction signal is generated based on one reference screen defined by a single reference screen list for uni-prediction in which frame numbers are registered.
  • an image predictive decoding program analyzes compressed data of an image encoded by dividing a computer into a plurality of regions, and motion information of signals in a target region to be decoded
  • Decoding means for decoding the decoded data of the residual signal, decoding data of the residual signal, prediction signal generation means for generating a prediction signal of the target region based on the decoded motion information and the already-reproduced reference screen, and
  • the quantization coefficient, which is the decoded data of the residual signal is subjected to inverse quantization processing to reproduce the reproduction residual signal, and the prediction signal and the reproduction residual signal are added to each other.
  • the motion information is made to function as a candidate for selection of uni-prediction using one reference screen and bi-prediction using two reference screens.
  • Prediction mode And the decoding means decodes at least the prediction mode as motion information, and the prediction signal generation means, when the prediction mode is uni-prediction, when the prediction mode is uni-prediction, Generates the prediction signal based on one reference screen defined by a single reference screen list for uni-prediction in which frame numbers of a plurality of reference screens are registered.
  • a single reference screen list for uni-prediction is used. Therefore, the prediction performance of one-sided prediction can be improved. Further, when uni-prediction is selected, it is not necessary for the compressed data to include information for specifying a bi-prediction reference screen list used for uni-prediction. Therefore, it is possible to decode an image from data encoded efficiently with respect to the reference screen number and the prediction mode.
  • the decoding means decodes the prediction mode, and further, when the decoded prediction mode is bi-prediction, the two references defined in the first and second reference screen lists If the index for identifying the frame number of the screen is decoded, the two motion vectors are decoded, and the decoded prediction mode is uni-prediction, the frame of one reference screen determined by the third reference screen list An index for identifying a number may be decoded and one motion vector may be decoded.
  • the reference screen of the third reference screen list is registered in the third reference screen list in ascending order of the absolute value of the difference between the frame number of the input image and the frame number of the reference screen. May be.
  • an image predictive encoding device By preparing the reference screen list for uni-prediction without duplication, there is an effect that the prediction mode and the reference screen number can be encoded more efficiently.
  • FIG. 1 is a block diagram showing an image predictive encoding device 100 according to an embodiment.
  • the image predictive coding apparatus 100 includes an input terminal 101, a block divider 102, a prediction signal generator 103, a frame memory 104, a subtractor 105, a transformer 106, a quantizer 107, an inverse quantizer 108, and an inverse transformer. 109, an adder 110, an encoder 111, an output terminal 112, a motion information estimator 113, and a reference screen list manager 114.
  • the converter 106 and the quantizer 107 function as quantization means.
  • the inverse quantizer 108 and the inverse transformer 109 function as inverse quantization means.
  • the reference screen list manager 114 may be included in the prediction signal generator 103 and the motion information estimator 113.
  • the input terminal 101 is a terminal for inputting a moving image signal composed of a plurality of images.
  • the block divider 102 divides an image to be encoded, which is represented by a signal input from the input terminal 101, into a plurality of regions.
  • the image to be encoded is divided into blocks each having 16 ⁇ 16 pixels, but may be divided into blocks having other sizes or shapes. Further, blocks of different sizes may be mixed in the screen.
  • the divided blocks are output as target blocks from the block divider 102 in the encoding order, and are output to the motion information estimator 113 and the subtractor 105 via L102a and L102b, respectively.
  • the motion information estimator 113 detects motion information necessary for generating a prediction signal in the target block.
  • a method for generating a prediction signal of the target block prediction method
  • inter-screen prediction and intra-screen prediction not shown for intra-screen prediction
  • the motion information includes a motion vector, a prediction mode (single prediction / bi-prediction), and a reference screen number that indicates a frame number of a reference screen used for prediction from a plurality of reference screens.
  • the motion information estimator 113 detects one (one-prediction) or two (bi-prediction) motion vectors using block matching, and selects a prediction mode and a reference screen to generate motion information. Then, the generated motion information is output to the prediction signal generator 103 and the encoder 111.
  • the prediction signal generator 103 acquires the already reproduced signal from the frame memory 104 via the L104 based on the motion information of the target block input via the L113, and generates a prediction signal for the target block.
  • the prediction signal generated by the prediction signal generator 103 is output to the subtracter 105 and the adder 110 via L103.
  • the subtractor 105 subtracts the prediction signal for the target block input via L103 from the pixel signal of the target block divided by the block divider 102 and input via L102a to generate a residual signal.
  • the subtractor 105 outputs the residual signal obtained by subtraction to the converter 106 via L105.
  • the converter 106 is a part that performs discrete cosine transform on the input residual signal.
  • the quantizer 107 is a part that quantizes the transform coefficient that has been discrete cosine transformed by the transformer 106, and outputs the quantized transform coefficient to the encoder 111.
  • the inverse quantizer 108 inversely quantizes the quantized transform coefficient.
  • the inverse transformer 109 restores the residual signal by inverse discrete cosine transform.
  • the adder 110 adds the restored residual signal and the prediction signal input via the L103b, reproduces the signal of the target block, and stores the reproduced signal in the frame memory 104.
  • the converter 106 and the inverse converter 109 are used, but other conversion processes in place of these converters may be used. Further, the converter 106 and the inverse converter 109 are not essential. As described above, the encoded reproduction signal of the target block is restored by inverse processing and stored in the frame memory 104 for use in generating a prediction signal of the subsequent target block.
  • the encoder 111 entropy encodes the quantized transform coefficient input to the quantizer 107 via L107 and the motion information input via L113.
  • the entropy encoding method is not limited, but arithmetic encoding, variable length encoding, and the like can be applied.
  • Encoded data is output to the output terminal 112 via L111.
  • the output terminal 112 collectively outputs information output from the encoder 111 and outputs it to the outside.
  • the reference screen list manager 114 stores reference screens stored in the frame memory 104 (for example, 401, 402, 404, 405 in FIG. 2A and 408, 409, 410, 412 in FIG. 2B). ) 3 reference screen lists (L0, L1, L2) are created for associating the frame number assigned to) with the reference screen number included in the motion information. In bi-prediction, L0 and L1 are used to derive a frame number of the reference screen from the reference screen number and to obtain a reproduction signal from the frame memory 104 during uni-prediction.
  • the information of the reference screen list is notified to the motion information estimator 113 and the prediction signal generator 103 (not shown). Therefore, the motion information estimator 113 and the prediction signal generator 103 can acquire information of reference screen numbers that can be used for bi-prediction from the reference screen lists of L0 and L1. Also, information of reference screen numbers that can be used for one-sided prediction can be acquired from the L2 reference screen list.
  • the prediction signal generator 103 acquires the reproduction signal based on the motion information from the frame memory 104
  • the prediction mode and the reference screen number are notified to the reference screen list manager 114 (L115).
  • the motion information estimator 113 acquires a reproduction signal based on the motion information from the frame memory 104
  • the prediction mode and the reference screen number are notified to the reference screen list manager 114. Since the reference screen is managed by the frame number of the reference screen in the frame memory, the reference screen list manager 114 derives the frame number of the reference screen using the reference screen list, and stores the acquisition target in the frame memory via L114. Notify the frame number of the reference screen.
  • the prediction signal generator 103 and the motion information estimator 113 obtain a reproduction signal corresponding to the motion information.
  • the reference screen list manager 114 uses two reference screens using L0 and L1 when the prediction mode is bi-prediction.
  • the frame numbers of the two reference screens corresponding to the numbers are derived.
  • the frame number of one reference screen corresponding to one reference screen number is derived using L2.
  • 4A is an example of a reference screen list for the reference screens 401, 402, 404, and 405 shown in FIG. These four reference screens are stored in the frame memory 104.
  • L0 and L1 are reference screen lists used for bi-prediction, and L2 is a reference screen list used for uni-prediction.
  • ref_idx indicates an index (reference screen number; ref_idx) for indicating the frame number (frame_num) of the reference screen registered in each list.
  • the reference screen list manager 114 determines the reference screen to be registered in the reference screen list L2 based on the reference screens registered in L0 and L1.
  • the reference screen list manager 114 registers only one in L2.
  • the frame numbers of the four reference screens (401, 402, 404 and 405) are registered in L2.
  • the reference screens registered in L2 have the ref_idx from the 0th in order of decreasing distance in the time direction from the encoding target screen 403, that is, in ascending order of absolute value of the difference between the reference frame numbers between the two screens. Is granted.
  • ref_idx having a small value is assigned to the reference screen having a small frame number.
  • FIG. 4B is an example of a reference screen list for the reference screens 408, 409, 410, and 412 shown in FIG.
  • the reference screen list manager 114 determines a reference screen to be registered in the reference screen list L2 based on the reference screen stored in the frame memory.
  • frame numbers of four reference screens (408, 409, 410 and 412) are registered in L2.
  • the reference screens registered in L2 have the ref_idx from the 0th in order of decreasing distance in the time direction from the encoding target screen 411, that is, in ascending order of the absolute value of the difference between the reference frame numbers between the two screens. Is granted.
  • ref_idx having a small value is assigned to the reference screen having a small frame number.
  • FIG. 4C is an example of a reference screen list for the reference screens 408, 409, 410, and 412 shown in FIG.
  • the reference screen list manager 114 uses the reference screens registered in the reference screen list L2 based on the reference screens registered in L0 and L1. Has been decided.
  • the frame numbers of the three reference screens (409, 410, and 412) are registered in L2.
  • L2 is determined based on the reference screens registered in L0 and L1
  • the number of reference screens that can be used for one-sided prediction may be reduced.
  • the three reference screen lists may be updated for each frame, may be updated for each slice obtained by collecting a plurality of blocks, or may be updated for each block.
  • FIG. 5 is a flowchart showing the procedure of the image predictive coding method in the image predictive coding apparatus 100 according to the present embodiment.
  • the input image is divided into 16 ⁇ 16 encoded blocks by the block divider 102 (may be divided into blocks of other sizes or shapes. In addition, blocks of different sizes may be mixed in the screen. Good).
  • inter-screen prediction and intra-screen prediction (not shown for intra-screen prediction) as described in the background art can be applied.
  • the motion information includes a motion vector, a prediction mode (single prediction / bi-prediction), and a reference screen number that indicates a frame number of a reference screen used for prediction from a plurality of reference screens.
  • the reference screen list manager 114 uses the frames attached to the reference screens stored in the frame memory 104 (for example, 401, 402, 404, 405 in FIG. 2 and 408, 409, 410, 412 in FIG. 2). Based on the number information, three reference screen lists are created (step S101).
  • the motion information estimator 113 generates motion information (prediction mode, reference screen number, motion vector) based on the encoding target screen and the reference screen stored in the frame memory 104 (step S102).
  • the prediction signal generator 103 generates a prediction signal of the target block based on the motion information and the reference screen stored in the frame memory 104 (step S103).
  • the encoder 111 performs entropy encoding on the prediction mode included in the motion information (step S104). If the prediction mode is bi-prediction, the process proceeds to step S106, and if it is uni-prediction, the process proceeds to step S107 (step S105).
  • step S106 the reference screen numbers (ref_idx) corresponding to the frame numbers of the two reference screens included in the motion information based on L0 and L1 described in FIG. 4 are entropy encoded.
  • two motion vectors used for bi-prediction are entropy encoded.
  • step S107 the reference screen number (ref_idx) corresponding to the frame number of the reference screen included in the motion information based on L2 described in FIG. 4 is entropy encoded.
  • entropy coding is performed on a motion vector used for one-sided prediction.
  • the residual signal that is the difference between the pixel signal of the target block and the prediction signal is converted and quantized by the converter 106 and the quantizer 107.
  • the encoder 111 entropy-encodes the quantized transform generated by this processing (step S108).
  • the inverse transform unit 108 performs inverse quantization and inverse transform on the quantized transform coefficients after these processes or in parallel with these processes. To restore the residual signal. Then, the adder 110 adds the restored residual signal and the prediction signal to reproduce the signal of the target block. The reproduction signal is stored as a reference screen in the frame memory 104 (step S109). If all the target blocks have not been processed, the process returns to step S102, and the process for the next target block is performed. If all the target blocks have been processed, the process ends (step S110). Note that when the three reference screen lists are updated in units of blocks, step S101 is included in the processing loop of step S110. When updating the three reference screen lists in units of slices, the entire process in FIG. 5 is performed in units of slices.
  • FIG. 6 is a flowchart showing the three reference screen list management processing procedures (step S101) in FIG.
  • FIGS. 4A and 4C an example of a procedure for determining a reference screen to be registered in the reference screen list L2 based on the reference screens registered in L0 and L1 is shown.
  • FIGS. 4A and 4C an example of a procedure for determining a reference screen to be registered in the reference screen list L2 based on the reference screens registered in L0 and L1 is shown.
  • the reference screen list manager 114 first generates a reference screen list of L0 and L1 as shown in FIG. 4 based on the frame number information of the reference screen stored in the frame memory 104 (step S701).
  • the reference screen list manager 114 performs parameter initialization processing (step S705).
  • various parameters i, j, and k are reset to zero.
  • i, j, and k indicate ref_idx of L0, L1, and L2, respectively.
  • step S710 it is determined whether the processes of S720, S730, and S740 have been performed on the N reference screens included in L0. If completed, the process proceeds to step S750. If not completed, the process proceeds to S720, and the processes of S720, S730, and S740 are repeated.
  • the reference screen list manager 114 performs the reference screen number registered in L2 in ascending order of the time-direction distance difference between the processing target screen and the reference screen, that is, the reference frame number between the two screens.
  • the frame numbers of the reference screens are rearranged so that ref_idx (reference screen number) with a smaller value is assigned in ascending order of the absolute value of the difference.
  • ref_idx having a small value is assigned to a reference screen having a small frame number.
  • the reference screen prepared in the frame memory can be efficiently used. You can use it. For example, if four reference screens are stored in the frame memory and there are overlaps in the L0 and L1 reference screens, the number of reference screens used for one-sided prediction (the number of reference screens registered in L0 and L1) Will be 3 or less in total.
  • the reference screen list L2 for uni-prediction uni-prediction can be performed using four reference screens even when there are overlaps in the reference screens of L0 and L1.
  • FIG. 7 is a block diagram illustrating an image predictive decoding device 200 according to an embodiment.
  • the image predictive decoding apparatus 200 includes an input terminal 201, a decoder 202, an inverse quantizer 203, an inverse transformer 204, an adder 205, an output terminal 206, a frame memory 104, a prediction signal generator 103, and a reference screen list manager. 114.
  • the inverse quantizer 108 and the inverse transformer 109 function as inverse quantization means. Note that the inverse quantization means may be used other than these. Further, the inverse converter 204 may not be provided.
  • the reference screen list manager 114 may be included in the prediction signal generator 103.
  • the input terminal 201 inputs compressed data that has been compression-encoded by the above-described image predictive encoding method.
  • the compressed data includes a quantized transform coefficient obtained by transform-quantizing an error signal and entropy-coding the block to be decoded (target block) divided into a plurality of pieces, and motion information for generating a block prediction signal. Encoded data for restoration is included.
  • inter-screen prediction and intra-screen prediction (not shown for intra-screen prediction) as described in the background art can be applied.
  • the motion information includes a motion vector, a prediction mode (single prediction / bi-prediction), and a reference screen number that indicates a frame number of a reference screen used for prediction from a plurality of reference screens.
  • the size of the target block to be decoded is 16 ⁇ 16, but it may be divided into blocks of other sizes or shapes. Further, blocks of different sizes may be mixed in the screen.
  • the decoder 202 analyzes the compressed data input to the input terminal 201, separates it into encoded data of quantized transform coefficients and encoded data of motion information regarding the target block to be decoded, entropy decodes, and decodes Data, that is, quantized transform coefficients and motion information are output to the inverse quantizer 203 and the prediction signal generator 103 via L202a and L202b, respectively.
  • the entropy decoding method is not limited, but an arithmetic code, a variable length code, or the like can be applied.
  • the decoder 202 decodes the prediction mode, the reference screen number (ref_idx), and the motion vector.
  • the prediction signal generator 103 acquires the already reproduced signal from the frame memory 104 based on the motion information input via L202b, and generates a prediction signal for the target block.
  • the generated prediction signal is output to the adder 205 via L103.
  • the inverse quantizer 203 inversely quantizes the quantized transform coefficient input via the line L202a.
  • the inverse transformer 204 performs inverse discrete cosine transform on the dequantized data, and restores the error signal of the target block.
  • the adder 205 adds the prediction signal generated by the prediction signal generator 103 to the residual signal restored by the inverse quantizer 203 and the inverse transformer 204, and outputs the reproduced pixel signal of the target block via the line L205. To output to the output terminal 206 and the frame memory 104. The output terminal 206 outputs to the outside (for example, a display).
  • the frame memory 104 stores the playback image output from the adder 205 as a reference screen as a reference playback image for the next decoding process.
  • the reference screen list manager 114 stores reference screens stored in the frame memory 104 (for example, 401, 402, 404, 405 in FIG. 2A and 408, 409, 410, 412 in FIG. 2B). ) 3 reference screen lists (L0, L1, L2) are created for associating the frame number assigned to) with the reference screen number included in the motion information. In bi-prediction, L0 and L1 are used to derive a frame number of the reference screen from the reference screen number and to obtain a reproduction signal from the frame memory 104 during uni-prediction.
  • the prediction signal generator 103 can acquire information of reference screen numbers that can be used for bi-prediction from the reference screen lists of L0 and L1. Also, information of reference screen numbers that can be used for one-sided prediction can be acquired from the L2 reference screen list.
  • the prediction signal generator 103 acquires a reproduction signal based on motion information from the frame memory 104, the prediction mode and the reference screen number are notified to the reference screen list manager 114 (L115). Since the frame memory 104 manages the reference screen using the frame number of the reference screen, the reference screen list manager 114 derives the frame number of the reference screen based on the reference screen list and stores it in the frame memory via L114. Notify the frame number of the reference screen to be acquired. Thus, the prediction signal generator 103 acquires a reproduction signal corresponding to the motion information.
  • the reference screen list manager 114 uses two reference screens using L0 and L1 when the prediction mode is bi-prediction.
  • the frame numbers of the two reference screens corresponding to the numbers are derived.
  • the frame number of one reference screen corresponding to one reference screen number is derived using L2.
  • 4A is an example of a reference screen list for the reference screens 401, 402, 404, and 405 shown in FIG. These four reference screens are stored in the frame memory 104.
  • L0 and L1 are reference screen lists used for bi-prediction, and L2 is a reference screen list used for uni-prediction.
  • ref_idx indicates an index (reference screen number; ref_idx) for indicating the frame number (frame_num) of the reference screen registered in each list.
  • the reference screen list manager 114 determines the reference screen to be registered in the reference screen list L2 based on the reference screens registered in L0 and L1.
  • the reference screen list manager 114 registers only one frame number of these two reference screens in L2.
  • the frame numbers of the four reference screens (401, 401, 404 and 405) are registered in L2.
  • the reference screens registered in L2 have the ref_idx from the 0th in order of decreasing distance in the time direction from the encoding target screen 411, that is, in ascending order of the absolute value of the difference between the reference frame numbers between the two screens. Is granted.
  • ref_idx having a small value is assigned to the reference screen having a small frame number.
  • FIG. 4B is an example of a reference screen list for the reference screens 408, 409, 410, and 412 shown in FIG.
  • the reference screen list manager 114 determines a reference screen to be registered in the reference screen list L2 based on the reference screen stored in the frame memory.
  • frame numbers of four reference screens (408, 409, 410 and 412) are registered in L2.
  • the reference screens registered in L2 have the ref_idx from the 0th in order of decreasing distance in the time direction from the encoding target screen 411, that is, in ascending order of the absolute value of the difference between the reference frame numbers between the two screens. Is granted.
  • ref_idx having a small value is assigned to the reference screen having a small frame number.
  • FIG. 4C is an example of a reference screen list for the reference screens 408, 409, 410, and 412 shown in FIG.
  • the reference screen list manager 114 uses the reference screens registered in the reference screen list L2 based on the reference screens registered in L0 and L1. Has been decided.
  • the frame numbers of the three reference screens (409, 410, and 412) are registered in L2.
  • L2 is determined based on the reference screens registered in L0 and L1
  • the number of reference screens that can be used for one-sided prediction may be reduced.
  • the three reference screen lists may be updated for each frame, may be updated for each slice obtained by collecting a plurality of blocks, or may be updated for each block.
  • compressed data is input via the input terminal 201.
  • the compressed data includes a quantized transform coefficient obtained by transform-quantizing an error signal and entropy-encoding the block to be decoded (target block) divided into a plurality of pieces, and motion information for generating a prediction signal of the block. Encoded data is included.
  • inter-screen prediction and intra-screen prediction (not shown for intra-screen prediction) as described in the background art can be applied.
  • the motion information includes a motion vector, a prediction mode (single prediction / bi-prediction), and a reference screen number that indicates a frame number of a reference screen used for prediction from a plurality of reference screens.
  • the size of the target block to be decoded is 16 ⁇ 16, but it may be divided into blocks of other sizes or shapes. Further, blocks of different sizes may be mixed in the screen.
  • the reference screen list manager 114 uses the frames attached to the reference screens stored in the frame memory 104 (for example, 401, 402, 404, 405 in FIG. 2 and 408, 409, 410, 412 in FIG. 2). Based on the number information, three reference screen lists are generated (step S101).
  • the decoder 202 analyzes the compressed data input to the input terminal 201 and performs entropy decoding on the motion information regarding the target block to be decoded.
  • the decoded data of motion information includes a prediction mode, a reference screen number (ref_idx), and a motion vector.
  • step S201 the decoder 202 entropy-decodes the prediction mode.
  • the decoder 202 determines the reference screen to be decoded and the number of motion vectors based on the decoded prediction mode.
  • the process proceeds to step S203, and when the prediction mode is uni-prediction, the process proceeds to step S204 (step S202).
  • step S203 two reference screen numbers (ref_idx) and two motion vectors based on L0 and L1 are entropy decoded for bi-prediction.
  • step S204 one reference screen number (ref_idx) based on L2 and one motion vector are entropy decoded for uni-prediction.
  • the prediction signal generator 103 generates a prediction signal of the target block based on the decoded motion information (step S205).
  • the reproduction signal based on the motion information is acquired from the frame memory 104
  • the prediction mode and the reference screen number are notified to the reference screen list manager 114.
  • the reference screen list manager 114 derives the frame number of the reference screen and acquires the reproduction signal of the desired reference screen. .
  • the prediction signal generator 103 acquires a reproduction signal corresponding to the motion information in step S203.
  • entropy decoding is performed on the quantized transform coefficient for the target block to be decoded.
  • the quantized transform coefficient decoded by the decoder 202 is inversely quantized by the inverse quantizer 203, and inversely transformed by the inverse transformer 204 to generate a reproduction residual signal (step S206).
  • the generated prediction signal and the reproduction residual signal are added to generate a reproduction signal, and this reproduction signal is stored in the frame memory 104 to reproduce the next target block (step S207). If there is next compressed data, the processes of S201 to S207 are repeated (S208), and all data is processed to the end.
  • step S101 is included in the processing loop of step S208.
  • step S101 is included in the processing loop of step S208.
  • step S101 is included in the processing loop of step S208.
  • step S101 is included in the processing loop of step S208.
  • step S101 is included in the processing loop of step S208.
  • step S101 is included in the processing loop of step S208.
  • step S101 is included in the processing loop of step S208.
  • step S101 is included in the processing loop of step S208.
  • the entire process in FIG. 8 is performed in units of slices.
  • FIG. 6 is a flowchart showing the three reference screen list management processing procedures (step S101) in FIG.
  • the reference screen list manager 114 first generates a reference screen list of L0 and L1 as shown in FIG. 4 based on the frame number information of the reference screen stored in the frame memory 104 (step S701).
  • FIGS. 4A and 4C an example of a procedure for determining a reference screen to be registered in the reference screen list L2 based on the reference screens registered in L0 and L1 is shown.
  • FIGS. 4A and 4C an example of a procedure for determining a reference screen to be registered in the reference screen list L2 based on the reference screens registered in L0 and L1 is shown.
  • the reference screen list manager 114 performs parameter initialization processing (step S705).
  • various parameters i, j, and k are reset to zero.
  • i, j, and k indicate ref_idx of L0, L1, and L2, respectively.
  • step S710 it is determined whether the processes of S720, S730, and S740 have been performed on the N reference screens included in L0. If completed, the process proceeds to step S750. If not completed, the process proceeds to S720, and the processes of S720, S730, and S740 are repeated.
  • the reference screen list manager 114 performs the reference screen number registered in L2 in ascending order of the time-direction distance difference between the processing target screen and the reference screen, that is, the reference frame number between the two screens.
  • the frame numbers of the reference screens are rearranged so that ref_idx (reference screen number) with a smaller value is assigned in ascending order of the absolute value of the difference.
  • ref_idx having a small value is assigned to a reference screen having a small frame number.
  • the reference screen and the code target screen are identified by the frame number, but it is not limited to the frame number. Any information that can identify each screen, such as a difference value from the frame number of an arbitrary screen, can be used instead of the frame number.
  • the method for generating the reference screen list is not limited to the procedure in FIG. Another example is shown in FIGS.
  • FIG. 6 the reference screen registered in L2 is not replaced. This is effective when the reference screens of L0 and L1 are arranged so that the reference screen of L2 does not need to be replaced. That is, if the process of registering the L0 and L1 reference screens in L2 in the order shown in FIGS. 9 and 10 is performed, the reference screen that is close to the target screen, that is, the absolute difference between the reference frame numbers between the two screens. It is assumed that L0 and L1 are configured to be registered in L2 from a screen with a small value.
  • the reference screen list manager 114 first generates a reference screen list of L0 and L1 as shown in FIG. 4 based on the frame number information of the reference screen stored in the frame memory 104 ( Step S501).
  • the reference screen list manager 114 performs parameter initialization processing (step S505).
  • various parameters i, j, and k are reset to zero.
  • i, j, and k indicate ref_idx of L0, L1, and L2, respectively.
  • the reference screen list manager 114 proceeds to step S510.
  • step S510 it is determined whether i is smaller than N. If i is smaller, the process proceeds to step S520. If i is larger or equal, the process proceeds to step S550.
  • step S550 it is determined whether j is smaller than M. If it is smaller, the process proceeds to step S560, and if larger or equal, the process proceeds to step S590.
  • the reference screen list manager 114 first generates a reference screen list of L0 and L1 as shown in FIG. 4 based on the frame number information of the reference screen stored in the frame memory 104 ( Step S601).
  • the reference screen list manager 114 performs parameter initialization processing (step S605).
  • various parameters i, j, and k are reset to zero.
  • i, j, and k indicate ref_idx of L0, L1, and L2, respectively.
  • step S610 it is determined whether the processes of S620, S630, and S640 have been performed on the N reference screens included in L0. The process proceeds to S650, and if not completed, the process proceeds to S620, and the processes of S620, S630, and S640 are repeated.
  • step S650 it is determined whether or not the processing of S660, S670, and S680 has been performed on the M reference screens included in L1, and if the conditions are satisfied, the processing ends. If the condition is not satisfied, the process proceeds to S660, and the processes of S660, S670, and S680 are repeated.
  • the reference screen list L2 is used for uni-prediction and L0 and L1 are used for bi-prediction, but the method of using the three reference screen lists is not limited to this. For example, only L2 may be created and L2 may be used to derive the bi-prediction reference screen number. That is, L0 and L1 are not used for bi-prediction.
  • bi-directional prediction (a prediction signal is generated from the past and future reference screens) is effective. Therefore, the reference screen used for generating the first prediction signal for bi-prediction is excluded from the candidates for the reference screen for generating the second prediction signal.
  • the reference screen list 460 shown in (A-1) of FIG. 17 is used.
  • a reference screen list 461 excluding the reference screen 402 is used as shown in (A-2) of FIG.
  • two reference screen numbers ref_idx_0 for bi-prediction (here, ref_idx_0 is 0 or 1 is not limited) and ref_idx_1 (here, ref_idx_1 is 0 or 1) (But not limited) may be provided to convert the function to ref_idx in the L2 reference screen list.
  • the first reference screen candidates are the same as L0 and L1 of FIG. Can be set on the screens 402 and 401, and candidates for the second reference screen can be set on the screens 403 and 404.
  • the first reference screen number is ref_idx
  • ref_idx_0 ⁇ 2 + offset_0 ref_idx_1 ⁇ 2 + offset_1.
  • L2 is the reference screen list 463 in FIG. 17C
  • Screen candidates can be set to the screens 402 and 401, and second reference screen candidates can be set to the screens 403 and 404.
  • the reference screen number can be encoded.
  • a plurality of such functions may be prepared and adaptively selected and used for each frame, slice, or block. At this time, information necessary for selection is encoded.
  • one bi-prediction reference screen list different from L2 may be generated, and the function as described above may be used. That is, using the two reference screen lists for uni-prediction and bi-prediction, the reference screen number is encoded and the frame number of the reference screen is derived.
  • the reference screen list is automatically generated according to a predetermined rule.
  • the L2 reference screen list may be encoded for each block, each frame, or each slice. In this case, the process for generating the reference screen list is unnecessary in the decoding device.
  • the reference screen lists for L0 and L1 may be similarly encoded. On the decoding side, the reference screen list is reproduced by the decoder 202.
  • a plurality of reference screen list generation methods may be prepared, and selection information indicating which generation method is to be used for each block, frame, or slice may be encoded.
  • the generation method may be prepared separately for each list and encoded.
  • the decoder 202 outputs the decoded generation method to the reference screen list manager 114.
  • the reference screen list manager 114 generates three reference screen lists according to the input reference screen list generation method.
  • the reference screen list is nothing but a mechanism for efficiently entropy encoding information for identifying the reference screen used for prediction.
  • the reference screen list as shown in FIG. 4 is used as a variable length coding encoding table or a binary coding table of arithmetic coding elements to directly encode and decode the frame number of the reference screen. You may do it.
  • the column of ref_idx in FIG. 4 is replaced with a variable length code or a binary code. Note that three types of variable-length codes and binary codes may be prepared individually for the first and second reference screens for bi-prediction and for the reference screen for uni-prediction.
  • the motion vector is usually encoded with a difference value from a motion vector (predicted motion vector) associated with a block adjacent to the target block. Even when the motion vector is differentially encoded, a method of encoding and decoding the frame number of the reference screen for uniprediction using the third reference screen list can be used.
  • the encoder and the decoder store a motion vector as a set of a reference screen list, a reference screen number, and a motion vector, or a set of a reference screen frame number and a motion vector.
  • the motion vector that indicates the same reference screen as the reference screen indicated by the motion vector of the target block is normally used as the predicted motion vector.
  • a motion vector that satisfies this condition is selected as a predicted motion vector from a plurality of adjacent blocks (for example, blocks immediately above, right to left, top left, and top right of the target block).
  • the motion vector of a different reference screen list is also predicted. It can be selected as a motion vector.
  • the predicted motion vector of the target block may be selected from the motion vectors of adjacent blocks predicted in the same prediction mode as the prediction mode of the target block.
  • the motion vector prediction process is simplified. That is, instead of the frame number of the reference screen, the reference screen number registered in L2 may be compared in the case of uni-prediction. In the case of bi-prediction, the two motion vectors held by the block indicate the reference screen based on L0 and L1, respectively. Therefore, the reference screen number registered in L0 may be compared with the reference screen number registered in L1.
  • the reference screen list L2 can be used not only for encoding / decoding of the prediction mode and reference screen number but also for processing for referring to the reference screen such as encoding / decoding of a motion vector.
  • the reference screens indicated by the motion vectors of the target block and adjacent blocks may be compared using the reference screen numbers of L0 and L1 and the reference screen list.
  • the encoder and the decoder change the reference screen number of the reference screen list L2 to the reference screen number of the reference screen list L0 or L1 after encoding or decoding the reference screen number. Convert it. Since the relationship between the reference screen number of L2 and the reference screen number of L0 or L1 is clear in the processes of FIGS.
  • the encoder and decoder There is no contradiction, and conversion from the reference screen number of the reference screen list L2 to the reference screen number of the reference screen list L0 or L1 can be performed.
  • the reference screen list manager 114 determines the reference screen to be registered in the reference screen list L2 based on the reference screen stored in the frame memory, the reference screen number of L2 and L0 or L1 The reference screen number relationship may be encoded. In this case, the conversion process between the reference screen numbers of L0 and L1 and the reference screen of L2 may be performed only by the encoder.
  • the reference screen list L2 is used only for encoding / decoding of the prediction mode and the reference screen number, and the motion vector code
  • the encoding process and the decoding process can be configured to use L0 and L1.
  • the residual signal conversion process may be performed with a fixed block size, or the target area may be subdivided according to the partial area and the conversion process may be performed.
  • the prediction signal generation processing may be performed separately from the luminance signal for the color signal or the color difference signal. Further, the prediction signal generation processing may be performed in conjunction with the luminance signal processing.
  • a reference screen list for color signals may be prepared separately from the luminance signal for the third reference screen list for uni-prediction.
  • the image predictive encoding method and the image predictive decoding method according to the present embodiment can be provided by being stored in a recording medium as a program.
  • the recording medium include a recording medium such as a floppy disk (registered trademark), CD-ROM, DVD, or ROM, or a semiconductor memory.
  • FIG. 11 is a block diagram showing modules of a program that can execute the image predictive coding method.
  • the image predictive coding program P100 includes a block division module P101, a motion information estimation module P102, a prediction signal generation module P103, a storage module P104, a subtraction module P105, a transform module P106, a quantization module P107, an inverse quantization module P108, and an inverse transform.
  • a module P109, an addition module P110, an encoding module P111, and a reference screen list management module P112 are provided.
  • the functions realized by the above modules being executed by a computer are the same as the functions of the image predictive coding apparatus 100 described above.
  • block division module P101 block division module P101, motion information estimation module P102, prediction signal generation module P103, storage module P104, subtraction module P105, transformation module P106, quantization module P107, inverse quantization module P108, inverse transformation module P109, addition module P110 ,
  • the computer executes the same functions as those of the encoder 108, the inverse converter 109, the adder 110, the encoder 111, and the reference screen list manager 114.
  • FIG. 12 is a block diagram showing modules of a program that can execute the image predictive decoding method.
  • the image predictive decoding program P200 includes a decoding module P201, a reference screen list management module P202, a prediction signal generation module P203, a storage module P204, an inverse quantization module P205, an inverse transform module P206, and an addition module P207.
  • the decoding module P201, the reference screen list management module P202, the prediction signal generation module P203, the storage module P204, the inverse quantization module P205, the inverse transformation module P206, and the addition module P207 are the decoder 202, the reference screen list manager 114,
  • the prediction signal generator 103, the frame memory 104, the inverse quantizer 203, the inverse transformer 204, and the adder 205 are each caused to execute the same function.
  • the image predictive encoding program P100 or the image predictive decoding program P200 configured as described above is stored in the recording medium 10 and executed by a computer to be described later.
  • FIG. 13 is a diagram showing a hardware configuration of a computer for executing a program recorded on a recording medium
  • FIG. 14 is a perspective view of the computer for executing the program stored in the recording medium.
  • a program that executes a program stored in a recording medium is not limited to a computer, and may be a DVD player, a set-top box, a mobile phone, or the like that includes a CPU and performs processing and control by software.
  • the computer 30 includes a reading device 12 such as a floppy disk drive device, a CD-ROM drive device, a DVD drive device, a working memory (RAM) 14 in which an operating system is resident, and a recording medium 10.
  • a reading device 12 such as a floppy disk drive device, a CD-ROM drive device, a DVD drive device, a working memory (RAM) 14 in which an operating system is resident, and a recording medium 10.
  • a memory 16 for storing programs stored therein, a display device 18 such as a display, a mouse 20 and a keyboard 22 as input devices, a communication device 24 for transmitting and receiving data and the like, and a CPU 26 for controlling execution of the programs.
  • a display device 18 such as a display, a mouse 20 and a keyboard 22 as input devices
  • a communication device 24 for transmitting and receiving data and the like
  • a CPU 26 for controlling execution of the programs.
  • the computer 30 can access the image predictive encoding / decoding program stored in the recording medium 10 from the reading device 12, and the image encoding or decoding program can It becomes possible to operate as an image encoding device or an image decoding device according to the present embodiment.
  • the image predictive encoding program and the image decoding program may be provided via a network as a computer data signal 40 superimposed on a carrier wave.
  • the computer 30 can store the image predictive encoding program or the image decoding program received by the communication device 24 in the memory 16 and execute the image predictive encoding program or the image predictive decoding program.
  • DESCRIPTION OF SYMBOLS 100 ... Image predictive coding apparatus, 101 ... Input terminal, 102 ... Block divider, 103 ... Prediction signal generator, 104 ... Frame memory, 105 ... Subtractor, 106 ... Converter, 107 ... Quantizer, 108 ... Inverse Quantizer, 109 ... Inverse transformer, 110 ... Adder, 111 ... Encoder, 112 ... Output terminal, 113 ... Motion information estimator, 114 ... Reference screen list manager, 201 ... Input terminal, 202 ... Decoder , 203 ... inverse quantizer, 204 ... inverse transformer, 205 ... adder, 206 ... output terminal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

 一実施形態の画像予測符号化装置は、符号化対象とする対象領域の画素信号との相関が高い信号を既再生の参照画面から取得するための動き情報を求める。動き情報は、1つの参照画面を利用する片予測と2つの参照画面を利用する双予測を選択候補とする予測モードを含んでいる。2つの予測モードの候補から1つの予測モードが選択され、片予測が選択される場合には、複数の参照画面のフレーム番号を登録した片予測用の単一の参照画面リストにて定められる一つの参照画面から動き情報が求められる。動き情報として少なくとも予測モードが符号化される。

Description

画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び画像予測復号プログラム
 本発明の実施形態は、画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び画像予測復号プログラムに関するものであり、とりわけ、画面間予測に用いる参照画面のリストを生成する画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラムに関するものである。
 静止画像や動画像データの伝送や蓄積を効率よく行うために、圧縮符号化技術が用いられる。動画像の場合ではMPEG-1~4やITU(International Telecommunication Union)H.261~H.264の方式が広く用いられている。
 これらの符号化方式では、符号化の対象となる画像を複数のブロックに分割した上で符号化処理又は復号処理を行う。画面内の予測符号化では、対象ブロックと同じ画面内にある隣接する既再生の画像信号(圧縮された画像データが復元されたもの)を用いて予測信号を生成した上で、その予測信号を対象ブロックの信号から引き算することによって得られる差分信号を符号化する。画面間の予測符号化では、対象ブロックと異なる画面内にある既再生の画像信号を参照し、動きの補正を行い、予測信号を生成し、その予測信号を対象ブロックの信号から引き算することによって得られる差分信号を符号化する。
 例えば、H.264の画面内予測符号化では、符号化の対象となるブロックに隣接する既再生の画素値を所定の方向に外挿して予測信号を生成する方法を採用している。図16は、ITU H.264に用いられる画面内予測方法を説明するための模式図である。図16の(A)において、対象ブロック802は符号化の対象となるブロックであり、その対象ブロック802の境界に隣接する画素A~Mからなる画素群801は隣接領域であり、過去の処理において既に再生された画像信号である。
 図16の(A)に示す場合には、対象ブロック802の真上にある隣接画素である画素群801を下方に引き伸ばすことにより予測信号を生成する。また、図16の(B)に示す場合では、対象ブロック804の左にある既再生画素(I~L)を右に引き伸ばすことにより予測信号を生成する。予測信号を生成する具体的な方法は、例えば特許文献1に記載されている。このように図16の(A)~(I)に示す方法で生成された9つの予測信号のそれぞれと対象ブロックの画素信号との差分をとり、差分値が最も小さいものを最適な予測信号とする。以上のように、画素を外挿することにより予測信号を生成することができる。以上の内容については、下記特許文献1に記載されている。
 通常の画面間予測符号化では、符号化の対象となるブロックについて、その画素信号に類似する信号を既に再生済みの画面から探索するという方法で予測信号を生成する。そして、対象ブロックと探索した信号が構成する領域との間の空間的な変位量である動きベクトルと、対象ブロックの画素信号と予測信号との残差信号とを符号化する。このようにブロック毎に動きベクトルを探索する手法はブロックマッチングと呼ばれる。
 図15は、ブロックマッチング処理を説明するための模式図である。以下、符号化対象の画面701内の対象ブロック702を例に予測信号の生成手順を説明する。画面703は既に再生済みであり、領域704は対象ブロック702と空間的に同一位置の領域である。画面703を予測の際に参照するという意味から参照画面と呼ぶ。ブロックマッチングでは、領域704を囲む探索範囲705を設定し、この探索範囲の画素信号から対象ブロック702の画素信号との絶対値誤差和が最小となる領域706を検出する。この領域706の信号が予測信号となり、領域704から領域706への変位量が動きベクトル707として検出される。また、参照画面703を複数用意し、対象ブロック毎にブロックマッチングを実施する参照画面を選択し、参照画面選択情報を検出する方法も用いられることがある。H.264では、画像の局所的な特徴の変化に対応するため、動きベクトルを符号化するブロックサイズが異なる複数の予測タイプを用意している。H.264の予測タイプについては、例えば特許文献2に記載されている。
 動画像データの圧縮符号化では、各画面(フレーム、フィールド)の符号化順序は任意でよい。そのため、再生済み画面を参照して予測信号を生成する画面間予測にも、符号化順序について3種類の手法がある。第1の手法は、表示順で過去の再生済み画面を参照して予測信号を生成する前方向予測であり、第2の手法は、表示順で未来の再生済み画面を参照して予測信号を生成する後方向予測であり、第3の手法は、前方向予測と後方向予測を共に行い、2つの予測信号を平均化する双方向予測である。画面間予測の種類については、例えば特許文献3に記載されている。
 H.264では、参照画面703の候補として、複数の再生済み画面から成る2つの参照画面リストを作成して第3の手法を行う。各参照画面リストに登録される複数の参照画面を対象としてブロックマッチングを行い、領域706に相当する領域を2つ検出し、検出した2つの予測信号を平均化する。また、前方向予測や後方向予測においても、作成した2つの参照画面リストの何れかを対象としてブロックマッチングを行い、領域706に相当する領域を検出し、その領域の信号を対象ブロックの予測信号とする。
 図2と図3にて参照画面リストの例を説明する。図2の(A)では、画面403が符号化対象画像、画面401、402、404、及び405が再生済み画像を示している。各画像(画面)の識別はフレーム番号(frame_num)にて行われる。図3の(A-1)のL0とL1が2つの参照画面リストを示しており、この例では、2つの参照画面リストにそれぞれ2個の参照画面のフレーム番号が登録されている。各参照画面のフレーム番号は参照画面番号(ref_idx)、つまり参照画面のフレーム番号を指示するインデックス、にて識別される。
 参照画面リストに登録できる再生済み画像は、基本的に任意である。図3の(A-1)に示す表451のように、2つの参照画面リストに登録されている参照画面が全て過去の再生済み画像であってもよい。2つの参照画面リストからそれぞれ、1つの参照画面を選択して双方向予測を行うため、この場合、2つの予測信号が共に前方向予測となる。このようなケースに対応するため、近年では、2つの予測信号を平均化する予測手法を双方向予測ではなく双予測と呼んでいる。この双予測では、動きベクトルと参照画面番号の組み合わせ(動き情報)を2つ符号化する。
 一方、図2の(B)では、画面411が符号化対象画像、画面408、409、410、及び412が再生済み画像を示している。図3の(B)のL0とL1が2つの参照画面リストを示しており、この例でも、2つの参照画面リストにそれぞれ2個の参照画面のフレーム番号が登録されている。この場合、符号化対象画面411に対して過去と未来の画面が1つの参照リストに混在して含まれている。このような予測に対応するため、近年では、1つの参照画面から予測信号を生成する予測手法を前方向予測や後方向予測ではなく、片予測と呼ぶ場合がある。
米国特許公報第6765964号 米国特許公報第7003035号 米国特許公報第6259739号
 双予測は、2つの信号の平均化によるノイズ除去効果により高い予測性能を示すが、符号化対象画面の物体が2つの参照画面の一方にしか現れないような画面内の領域では予測性能が低下する。そのため、L0とL1の2つの参照画面リストを用いる双予測と、L0、L1の参照画面リストを単独で用いる片予測とが選択的に利用される。つまり、L0を用いる片予測、L1を用いる片予測、及び双予測の3つを予測モードの候補として、ブロック単位で予測性能の高い予測モードを選択する。
 2つの参照画面リストに登録されている参照画面に重複がない場合には、L0とL1を用いた2つの片予測を予測モードの候補としても、全体としての片予測の参照画面の候補に重複は発生しない。例えば、図2の(A)に対応する参照画面リストの例である図3の(A-2)によれば、L0を用いる片予測とL1を用いる片予測の2つを予測モードの候補にそのまま加えても、4個の参照画面401、402、404、405が片予測に用いる参照画面の候補となる。
 しかしながら、双予測では、同じ参照画面から2つの予測信号を生成し、その平均により予測信号が効率よく生成できる場合がある。例えば、図3の(B)の例のように、2つの参照画面リストに同じ参照画面が重複して登録される。このとき、L0を用いる片予測とL1を用いる片予測の2つを予測モードの候補とすると、全体としての片予測の参照画面の候補に重複が発生する。そのため、例えば、図3の(B)では、実際の参照画面は4個保存されているにも係わらず、片予測に用いる参照画面の候補は3個のみとなり、4個の参照画面を用いる場合に比較して、予測効率が低下する。
 また、片予測は1つの予測方法であるのに対して、参照画面リストを選択するために2つの予測モードを用意することは予測モードの符号量を増加させる要因となる。
 そこで、上述の課題を解決するために、本発明の種々の側面及び実施形態は、片予測の予測性能を高めると共に、参照画面番号と予測モードをより効率良く符号化する画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラムを提供することを目的とする。
 本発明の一側面に係る画像予測符号化装置は、入力画像を複数の領域に分割する領域分割手段と、上記領域分割手段により分割された符号化対象とする対象領域の画素信号との相関が高い信号を既再生の参照画面から取得するための動き情報を求める動き情報推定手段と、上記動き情報に基づいて、対象領域の予測信号を生成する予測信号生成手段と、上記対象領域の予測信号と上記対象領域の画素信号とに基づく残差信号を生成する残差信号生成手段と、上記残差信号に量子化処理を施し、量子化係数を生成する量子化手段と、上記動き情報と上記残差信号の量子化係数を符号化する符号化手段と、上記量子化手段にて生成した上記量子化係数に逆量子化処理を施し、残差信号を再生する逆量子化手段と、上記予測信号と上記再生された残差信号との加算によって生成される上記対象領域の復元画素信号を含む画面を参照画面として保存する記録手段と、を具備し、上記動き情報は、1つの参照画面を利用する片予測と2つの参照画面を利用する双予測を選択候補とする予測モードを含んでおり、上記動き情報推定手段は、上記2つの予測モードの候補から1つを選択し、片予測を選択する場合には、複数の参照画面のフレーム番号を登録した片予測用の単一の参照画面リストにて定められる一つの参照画面から上記動き情報を求め、上記符号化手段は、動き情報として少なくとも予測モードを符号化する。
 また、本発明の一側面に係る画像予測符号化方法は、領域分割手段が、入力画像を複数の領域に分割するステップと、動き情報推定手段が、上記領域分割手段により分割された符号化対象とする対象領域の画素信号との相関が高い信号を既再生の参照画面から取得するための動き情報を求めるステップと、予測信号生成手段が、上記動き情報に基づいて、対象領域の予測信号を生成すると、上記対象領域の予測信号と上記対象領域の画素信号とに基づく残差信号を生成するステップと、量子化手段が、上記残差信号に量子化処理を施し、量子化係数を生成するステップと、符号化手段が、上記動き情報と上記残差信号の量子化係数を符号化するステップと、逆量子化手段が、上記量子化手段にて生成した上記量子化係数に逆量子化処理を施し、残差信号を再生するステップと、記録手段が、上記予測信号と上記再生された残差信号との加算によって生成される上記対象領域の復元画素信号を含む画面を参照画面として保存するステップと、を含み、上記動き情報は、1つの参照画面を利用する片予測と2つの参照画面を利用する双予測を選択候補とする予測モードを含んでおり、上記動き情報推定手段は、上記2つの予測モードの候補から1つを選択し、片予測を選択する場合には、複数の参照画面のフレーム番号を登録した片予測用の単一の参照画面リストにて定められる一つの参照画面から上記動き情報を求め、上記符号化手段は、動き情報として少なくとも予測モードを符号化する。
 また、本発明の一側面に係る画像予測符号化プログラムは、コンピュータを、入力画像を複数の領域に分割する領域分割手段と、上記領域分割手段により分割された符号化対象とする対象領域の画素信号との相関が高い信号を既再生の参照画面から取得するための動き情報を求める動き情報推定手段と、上記動き情報に基づいて、対象領域の予測信号を生成する予測信号生成手段と、上記対象領域の予測信号と上記対象領域の画素信号とに基づく残差信号を生成する残差信号生成手段と、上記残差信号に量子化処理を施し、量子化係数を生成する量子化手段と、上記動き情報と上記残差信号の量子化係数を符号化する符号化手段と、上記量子化手段にて生成した上記量子化係数に逆量子化処理を施し、残差信号を再生する逆量子化手段と、上記予測信号と上記再生された残差信号との加算によって生成される上記対象領域の復元画素信号を含む画面を参照画面として保存する記録手段と、として機能させ、上記動き情報は、1つの参照画面を利用する片予測と2つの参照画面を利用する双予測を選択候補とする予測モードを含んでおり、上記動き情報推定手段は、上記2つの予測モードの候補から1つを選択し、片予測を選択する場合には、複数の参照画面のフレーム番号を登録した片予測用の単一の参照画面リストにて定められる一つの参照画面から上記動き情報を求め、上記符号化手段は、動き情報として少なくとも予測モードを符号化する。
 これら本発明の一側面に係る画像予測符号化技術によれば、片予測用の単一の参照画面リストが用いられる。したがって、片予測の予測性能が高められ得る。また、片予測が選択される場合に、片予測に利用される双予測用の参照画面リストを特定する情報を符号化する必要がなくなる。したがって、参照画面番号と予測モードをより効率良く符号化することが可能となる。
 一実施形態においては、上記動き情報推定手段は、上記2つの予測モードの候補から1つを選択し、上記双予測を選択した場合には、上記記録手段に保存されている複数の参照画面から2つの参照画面を選択し、上記片予測を選択した場合には、上記記録手段に保存されている複数の参照画面から1つの参照画面を選択し、上記符号化手段は、上記予測モードを符号化し、上記動き情報に含まれる予測モードが双予測の場合には、上記双予測に利用可能な複数の参照画面のフレーム番号を登録した第1と第2の参照画面リストにて定められる、2つの参照画面のフレーム番号を識別するインデックスを符号化し、2つの動きベクトルを符号化し、上記動き情報に含まれる予測モードが片予測の場合には、上記片予測に利用可能な複数の参照画面のフレーム番号を登録した第3の参照画面リストにて定められる、1つの参照画面のフレーム番号を識別するインデックスを符号化し、1つの動きベクトルを符号化してもよい。
 また、一実施形態においては、上記第3の参照画面リストの参照画面は、上記入力画像のフレーム番号と参照画面のフレーム番号との差の絶対値が小さい順に、第3の参照画面リストに登録されていてもよい。
 本発明の別の一側面に係る画像予測復号装置は、複数の領域に分割して符号化された画像の圧縮データを解析し、復号対象となる対象領域の信号の動き情報の復号データと、残差信号の復号データとを復号する復号手段と、上記の復号した動き情報と既再生の参照画面に基づいて、対象領域の予測信号を生成する予測信号生成手段と、上記残差信号の復号データである量子化係数に逆量子化処理を施して、再生残差信号を再生する逆量子化手段と、上記予測信号と上記再生残差信号との加算により生成される上記対象領域の復元画素信号を含む参照画面を保存する記録手段と、を具備し、上記動き情報は、1つの参照画面を利用する片予測と2つの参照画面を利用する双予測を選択候補とする予測モードを含んでおり、上記復号手段は、動き情報として少なくとも上記予測モードを復号し、上記予測信号生成手段は、上記予測モードが片予測である場合には、複数の参照画面のフレーム番号を登録した片予測用の単一の参照画面リストにて定められる一つの参照画面に基づいて、上記予測信号を生成する。
 また、本発明の別の一側面に係る画像予測復号方法は、復号手段が、複数の領域に分割して符号化された画像の圧縮データを解析し、復号対象となる対象領域の信号の動き情報の復号データと、残差信号の復号データとを復号するステップと、予測信号生成手段が、上記の復号した動き情報と既再生の参照画面に基づいて、対象領域の予測信号を生成するステップと、逆量子化手段が、上記残差信号の復号データである量子化係数に逆量子化処理を施して、再生残差信号を再生するステップと、記録手段が、上記予測信号と上記再生残差信号との加算により生成される上記対象領域の復元画素信号を含む参照画面を保存するステップと、を含み、上記動き情報は、1つの参照画面を利用する片予測と2つの参照画面を利用する双予測を選択候補とする予測モードを含んでおり、上記復号手段は、動き情報として少なくとも上記予測モードを復号し、上記予測信号生成手段は、上記予測モードが片予測である場合には、複数の参照画面のフレーム番号を登録した片予測用の単一の参照画面リストにて定められる一つの参照画面に基づいて、上記予測信号を生成する。
 また、本発明の別の一側面に係る画像予測復号プログラムは、コンピュータを、複数の領域に分割して符号化された画像の圧縮データを解析し、復号対象となる対象領域の信号の動き情報の復号データと、残差信号の復号データとを復号する復号手段と、上記の復号した動き情報と既再生の参照画面に基づいて、対象領域の予測信号を生成する予測信号生成手段と、上記残差信号の復号データである量子化係数に逆量子化処理を施して、再生残差信号を再生する逆量子化手段と、上記予測信号と上記再生残差信号との加算により生成される上記対象領域の復元画素信号を含む参照画面を保存する記録手段と、として機能させ、上記動き情報は、1つの参照画面を利用する片予測と2つの参照画面を利用する双予測を選択候補とする予測モードを含んでおり、上記復号手段は、動き情報として少なくとも上記予測モードを復号し、上記予測信号生成手段は、上記予測モードが片予測である場合には、上記予測モードが片予測である場合には、複数の参照画面のフレーム番号を登録した片予測用の単一の参照画面リストにて定められる一つの参照画面に基づいて、上記予測信号を生成する。
 これら本発明の一側面に係る画像予測復号技術によれば、片予測用の単一の参照画面リストが用いられる。したがって、片予測の予測性能が高められ得る。また、片予測が選択される場合に、片予測に用いる双予測用の参照画面リストを特定する情報が圧縮データに含まれている必要がない。したがって、参照画面番号と予測モードに関して効率よく符号化されたデータから、画像を復号することが可能となる。
 一実施形態においては、上記復号手段は、上記予測モードを復号し、さらに、上記復号した予測モードが双予測の場合には、第1と第2の参照画面リストにて定められる、2つの参照画面のフレーム番号を識別するインデックスを復号し、2つの動きベクトルを復号し、上記復号した予測モードが片予測の場合には、第3の参照画面リストにて定められる、1つの参照画面のフレーム番号を識別するインデックスを復号し、1つの動きベクトルを復号してもよい。
 また、一実施形態においては、上記第3の参照画面リストの参照画面は、上記入力画像のフレーム番号と参照画面のフレーム番号との差の絶対値が小さい順に、第3の参照画面リストに登録されていてもよい。
 本発明の種々の側面及び実施形態に係る画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラムによれば、参照画面の重複がない片予測用の参照画面リストを用意することにより、予測モードと参照画面番号の符号化をより効率良く符号化できるという効果がある。
一実施形態に係る画像予測符号化装置を示すブロック図である。 画面の符号化順と参照画面の例を説明する模式図である。 従来の参照画面リストを説明するための図表である。 参照画面リストの例を説明するための図表である。 図1に示す画像予測符号化装置の処理を説明するフローチャートである。 第3の参照画面リストの生成処理を説明するフローチャートである。 一実施形態に係る画像予測復号装置を示すブロック図である。 図7に示す画像予測復号装置の処理を説明するフローチャートである。 第3の参照画面リストの生成処理を説明するフローチャートの第2の例を示すフローチャートである。 第3の参照画面リストの生成処理を説明するフローチャートの第3の例を示すフローチャートである。 一実施形態に係る画像予測符号化方法を実行することができるプログラムを示すブロック図である。 一実施形態に係る画像予測復号方法を実行することができるプログラムを示すブロック図である。 記録媒体に記録されたプログラムを実行するためのコンピュータのハードウェア構成を示す図である。 記録媒体に記憶されたプログラムを実行するためのコンピュータの斜視図である。 画面間予測におけるブロックマッチング処理を説明するための模式図である。 従来の画面内予測方法を説明するための模式図である。 参照画面リストの第2例を説明するための図表である。
 以下、添付図面を参照しながら本実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
 図1は、一実施形態に係る画像予測符号化装置100を示すブロック図である。この画像予測符号化装置100は、入力端子101、ブロック分割器102、予測信号生成器103、フレームメモリ104、減算器105、変換器106、量子化器107、逆量子化器108、逆変換器109、加算器110、符号化器111、出力端子112、動き情報推定器113、参照画面リスト管理器114を備えている。なお、変換器106と量子化器107は量子化手段として機能する。また、逆量子化器108と逆変換器109は逆量子化手段として機能する。参照画面リスト管理器114は予測信号生成器103と動き情報推定器113に含まれていてもよい。
 入力端子101は、複数枚の画像からなる動画像の信号を入力する端子である。
 ブロック分割器102は、入力端子101から入力された信号で表される、符号化処理の対象となる画像を複数の領域に分割する。本実施形態では、符号化対象の画像を16x16の画素からなるブロックに分割するが、それ以外の大きさ又は形状のブロックに分割してもよい。また、画面内にサイズの異なるブロックが混在してもよい。分割されたブロックは符号化順にブロック分割器102から対象ブロックとして出力され、L102aとL102bを経由して、それぞれ動き情報推定器113及び減算器105に出力される。
 動き情報推定器113では、対象ブロック内の予測信号を生成するために必要な動き情報を検出する。対象ブロックの予測信号の生成方法(予測方法)については、背景技術で説明したような画面間予測や画面内予測(画面内予測については図示せず)が適用可能であるが、本実施形態では、ブロックマッチング(図15)にて検出した動き情報を用いて予測する方法を考える。なお、動き情報には、動きベクトル、予測モード(片予測/双予測)、複数の参照画面から予測に利用する参照画面のフレーム番号を指示する参照画面番号が含まれる。
 動き情報推定器113は、ブロックマッチングを用いて、1つ(片予測)または2つ(双予測)の動きベクトルを検出すると共に、予測モードと参照画面の選択を行い、動き情報を生成する。そして、生成した動き情報を予測信号生成器103と符号化器111に出力する。
 予測信号生成器103では、L113経由で入力された対象ブロックの動き情報に基づいて、L104を経由してフレームメモリ104から既再生信号を取得し、対象ブロックの予測信号を生成する。
 予測信号生成器103にて生成された予測信号は、L103経由で減算器105と加算器110に出力される。
 減算器105は、ブロック分割器102で分割されてL102a経由で入力された対象ブロックの画素信号からL103を経由して入力される対象ブロックに対する予測信号を減算して、残差信号を生成する。減算器105は、減算して得た残差信号を、L105を経由して変換器106に出力する。
 変換器106は、入力された残差信号を離散コサイン変換する部分である。また、量子化器107は、変換器106により離散コサイン変換された変換係数を量子化する部分であり、量子化変換係数を符号化器111に出力する。
 逆量子化器108は、量子化された変換係数を逆量子化する。逆変換器109は、逆離散コサイン変換により残差信号を復元する。加算器110は、復元された残差信号とL103b経由で入力される予測信号とを加算し、対象ブロックの信号を再生し、再生された信号をフレームメモリ104に格納する。本実施形態では、変換器106と逆変換器109とを用いているが、これらの変換器に代わる他の変換処理を用いてもよい。また、変換器106及び逆変換器109は必須ではない。このように、後続の対象ブロックの予測信号生成に用いるため、符号化された対象ブロックの再生信号は、逆処理にて復元されフレームメモリ104に記憶される。
 符号化器111は、量子化器107にL107経由で入力された量子化変換係数、L113を経由して入力された動き情報をエントロピー符号化する。エントロピー符号化の方法は限定されないが、算術符号化や可変長符号化などが適用できる。
 符号化データはL111を経由して出力端子112に出力される。
 出力端子112は、符号化器111から出力された情報をまとめて外部に出力する。
 参照画面リスト管理器114は、フレームメモリ104に保存されている参照画面(例えば、図2の(A)の401、402、404、405や図2の(B)の408、409、410、412)に付与されたフレーム番号と動き情報に含まれる参照画面番号を対応づけるための参照画面リストを3つ(L0,L1,L2)作成する。L0とL1は双予測、L2は片予測の際に、参照画面番号から参照画面のフレーム番号を導出し、フレームメモリ104から再生信号を取得するために用いられる。
 参照画面リストの情報は、動き情報推定器113と予測信号生成器103に通知される(図示せず)。そのため、動き情報推定器113と予測信号生成器103はL0とL1の参照画面リストから双予測に利用可能な参照画面番号の情報を取得できる。また、L2の参照画面リストから片予測に利用可能な参照画面番号の情報を取得できる。
 予測信号生成器103が、フレームメモリ104から動き情報に基づく再生信号を取得する際には、予測モードと参照画面番号が参照画面リスト管理器114に通知される(L115)。また、動き情報推定器113がフレームメモリ104から動き情報に基づく再生信号を取得する際にも、予測モードと参照画面番号が参照画面リスト管理器114に通知される。フレームメモリでは参照画面のフレーム番号で参照画面を管理しているため、参照画面リスト管理器114は、参照画面リストを用いて参照画面のフレーム番号を導出し、L114経由でフレームメモリに取得対象の参照画面のフレーム番号を通知する。このように、予測信号生成器103と動き情報推定器113は、動き情報に対応する再生信号を取得する。
 つまり、参照画面リスト管理器114は、予測信号生成器103から予測モードと参照画面番号の通知を受けたとき、予測モードが双予測の場合には、L0とL1を用いて、2つの参照画面番号に対応する2つの参照画面のフレーム番号を導出する。一方、予測モードが片予測の場合には、L2を用いて、1つの参照画面番号に対応する1つの参照画面のフレーム番号を導出する。
 図4で参照画面リストの例を説明する。
 図4の(A)は、図2の(A)に示す参照画面401、402、404と405に対する参照画面リストの例である。これら4つの参照画面がフレームメモリ104に保存されている。
 L0とL1は双予測に用いられる参照画面リストであり、L2は片予測に用いられる参照画面リストである。ref_idxは各リストに登録された参照画面のフレーム番号(frame_num)を指示するためのインデックス(参照画面番号;ref_idx)を示している。
 図4の(A)の例では、参照画面リスト管理器114は、参照画面リストL2に登録する参照画面を、L0とL1に登録されている参照画面に基づいて決定している。
 L0とL1に同じ参照画面が重複して登録されている場合には、参照画面リスト管理器114は、L2に1つだけを登録する。図4の(A)の例では、L0とL1に登録されている参照画面に重複がないため、L0とL1に登録されているすべての参照画面をL2に登録する。図4の(A)の例では、4個の参照画面(401、402、404と405)のフレーム番号がL2に登録される。L2に登録された参照画面には、符号化対象画面403との時間方向の距離差が小さい順、つまり、2つの画面間の参照フレーム番号の差の絶対値が小さい順で、0番からref_idxを付与する。距離差が同じ参照画面がある場合には、値の小さいフレーム番号の参照画面に、値の小さいref_idxを付与する。
 図4の(B)は、図2の(B)に示す参照画面408、409、410と412に対する参照画面リストの例である。図4の(B)の例では、参照画面リスト管理器114は、参照画面リストL2に登録する参照画面を、フレームメモリに保存されている参照画面に基づいて決定している。この例では、4個の参照画面(408、409、410と412)のフレーム番号をL2に登録している。L2に登録された参照画面には、符号化対象画面411との時間方向の距離差が小さい順、つまり、2つの画面間の参照フレーム番号の差の絶対値が小さい順で、0番からref_idxを付与する。距離差が同じ参照画面がある場合には、値の小さいフレーム番号の参照画面に、値の小さいref_idxを付与する。
 図4の(C)は、図2の(B)に示す参照画面408、409、410と412に対する参照画面リストの例である。図4の(C)の例では、図4の(B)と異なり、参照画面リスト管理器114は、参照画面リストL2に登録する参照画面を、L0とL1に登録されている参照画面に基づいて決定している。図4の(C)の例では、L0とL1に登録されている参照画面に重複があるため、3個の参照画面(409、410と412)のフレーム番号がL2に登録される。このように、L0とL1に登録されている参照画面に基づいてL2を決定すると、片予測に利用できる参照画面の数が減ってしまう場合がある。
 なお、3つの参照画面リストは、フレーム毎に更新してもよいし、複数のブロックをまとめたスライス毎に更新してもよいし、ブロック毎に更新してもよい。
 図5は、本実施形態に係る画像予測符号化装置100における画像予測符号化方法の手順を示すフローチャートである。まず、ブロック分割器102にて入力画像を16x16の符号化ブロックに分割する(それ以外の大きさ又は形状のブロックに分割してもよい。また、画面内にサイズの異なるブロックが混在してもよい)。
 対象ブロックの予測信号の生成方法(予測方法)については、背景技術で説明したような画面間予測や画面内予測(画面内予測については図示せず)が適用可能であるが、本実施形態では、ブロックマッチング(図15)にて検出した動き情報を用いて予測する方法を考える。なお、動き情報には、動きベクトル、予測モード(片予測/双予測)、複数の参照画面から予測に利用する参照画面のフレーム番号を指示する参照画面番号が含まれる。
 まず、参照画面リスト管理器114は、フレームメモリ104に保存されている参照画面(例えば、図2の401、402、404、405や図2の408、409、410、412)に付与されたフレーム番号の情報に基づいて、3つの参照画面リストを作成する(ステップS101)。
 次に、動き情報推定器113は、動き情報(予測モード、参照画面番号、動きベクトル)を符号化対象の画面とフレームメモリ104に保存されている参照画面に基づいて生成する(ステップS102)。予測信号生成器103は、動き情報とフレームメモリ104に保存されている参照画面に基づいて対象ブロックの予測信号を生成する(ステップS103)。
 次に、符号化器111は、動き情報に含まれる予測モードをエントロピー符号化する(ステップS104)。予測モードが双予測の場合にはステップS106に進み、片予測の場合にはステップS107に進む(ステップS105)。
 ステップS106では、図4に説明したL0とL1に基づく、動き情報に含まれる2つの参照画面のフレーム番号に対応する参照画面番号(ref_idx)をエントロピー符号化する。加えて、双予測に用いる2本の動きベクトルをエントロピー符号化する。
 一方、ステップS107では、図4に説明したL2に基づく、動き情報に含まれる参照画面のフレーム番号に対応する参照画面番号(ref_idx)をエントロピー符号化する。加えて、片予測に用いる動きベクトルをエントロピー符号化する。
 対象ブロックの画素信号と予測信号との差分である残差信号は、変換器106、量子化器107にて、変換、量子化される。符号化器111は、この処理により生成された量子化変換をエントロピー符号化する(ステップS108)。
 後続の対象ブロックを予測符号化するため、これら処理の後に又はこれらの処理と並行して、量子化変換係数に逆量子化器108及び逆変換器109にて、逆量子化と逆変換を施して残差信号を復元する。そして、加算器110にて、復元された残差信号と予測信号とが加算され、対象ブロックの信号が再生される。再生信号はフレームメモリ104に参照画面として記憶される(ステップS109)。そして、すべての対象ブロックの処理が完了していない場合には処理はステップS102に戻り、次の対象ブロックに対する処理が行われる。すべての対象ブロックの処理が完了している場合には、処理を終了する(ステップS110)。なお、3つの参照画面リストの更新をブロック単位で行う場合には、ステップS101はステップS110の処理ループに含まれる。また、3つの参照画面リストの更新をスライス単位で行う場合には、図5の処理全体をスライス単位で実施する。
 図6は、図5における3つの参照画面リスト管理処理手順(ステップS101)を示すフローチャートである。ここでは、図4の(A)と(C)に示したように、参照画面リストL2に登録する参照画面を、L0とL1に登録されている参照画面に基づいて決定する場合の手順を例に説明する。
 参照画面リスト管理器114は、まず、フレームメモリ104に保存されている参照画面のフレーム番号の情報に基づいて、図4に示すようなL0とL1の参照画面リストを生成する(ステップS701)。
 次に、参照画面リスト管理器114は、パラメータの初期化処理(ステップS705)を行う。初期化では、i, j, kの各種パラメータを0にリセットする。i, j, kはそれぞれ、L0, L1, L2のref_idxを示している。
 初期化後、参照画面リスト管理器114は、L0に登録されているN個の参照画面をL2に登録するか否かを判定する処理を行う。まず、ref_idx=iが付与されている参照画面L0[i]のフレーム番号が、L2に存在するかを判定する(ステップS720)。既に存在する場合には、L0[i]をL2に登録せずにS740に進む。存在しない場合には、L0[i]に登録されている参照画面のフレーム番号をL2[k]に登録する。そして、kの値を1増やした後、ステップS740に進む(ステップS730)。ステップS740では、iの値を1増やす。ステップS710は、L0に含まれるN個の参照画面にS720、S730、S740の処理が行われたかを判定する。終了している場合には、ステップS750に進み、終了していない場合には、S720に進み、S720、S730、S740の処理を繰り返す。
 次に、L1に登録されているM個の参照画面をL2に登録するか否かを判定する処理を行う。まず、ref_idx=jが付与されている参照画面L1[j]のフレーム番号が、L2に存在するかを判定する(ステップS760)。既に存在する場合には、L1[j]をL2に登録せずにS780に進む。存在しない場合には、L1[j]に登録されている参照画面のフレーム番号をL2[k]に登録する。そして、kの値を1増やした後、ステップS780に進む(ステップS770)。ステップS780では、jの値を1増やし、ステップS750にて、L1に含まれるM個の参照画面にS760、S770、S780の処理が行われたかを判定する。終了している場合には、ステップS790に進み、終了していない場合には、S760に進み、S760、S770、S780の処理を繰り返す。
 最後に、参照画面リスト管理器114は、L2に登録された参照画面のフレーム番号について、処理対象画面と参照画面間の時間方向な距離差が小さい順に、つまり、2つの画面間の参照フレーム番号の差の絶対値が小さい順に、値の小さいref_idx(参照画面番号)が付与されるように、参照画面のフレーム番号を並び替える。なお、距離差が同じ参照画面が登録されている場合には、値の小さいフレーム番号の参照画面に、値の小さいref_idxを付与する。
 このように、双予測に適した2つの参照画面リストL0とL1に加えて、片予測に適した第3の参照画面リストL2を用意することにより、フレームメモリに用意された参照画面を効率良く使うことができるようになる。例えば、4個の参照画面がフレームメモリに保存されているとき、L0とL1の参照画面に重複があると、片予測に用いる参照画面の数(L0とL1に登録された参照画面の数)はトータルで3個以下となってしまう。片予測用に参照画面リストL2を用意することにより、L0とL1の参照画面に重複がある場合でも、4個の参照画面を用いて片予測が実施できるようになる。
 また、片予測の参照画面リストが1つとなるため、片予測の際に、予測モードにて参照画面リストを選択する必要がなくなり、予測モードの符号化効率が改善する。
 次に、一実施形態に係る画像予測復号について説明する。図7は、一実施形態に係る画像予測復号装置200を示すブロック図である。この画像予測復号装置200は、入力端子201、復号器202、逆量子化器203、逆変換器204、加算器205、出力端子206、フレームメモリ104、予測信号生成器103、参照画面リスト管理器114を備えている。逆量子化器108と逆変換器109は逆量子化手段として機能する。なお、逆量子化手段は、これらのもの以外を用いて行ってもよい。また、逆変換器204はなくてもよい。参照画面リスト管理器114は予測信号生成器103に含まれていてもよい。
 入力端子201は、上述した画像予測符号化方法で圧縮符号化された圧縮データを入力する。この圧縮データには、複数に分割された復号対象のブロック(対象ブロック)について、誤差信号を変換量子化してエントロピー符号化した量子化変換係数と、ブロックの予測信号を生成するための動き情報を復元するための符号化データが含まれている。
 対象ブロックの予測信号の生成方法(予測方法)については、背景技術で説明したような画面間予測や画面内予測(画面内予測については図示せず)が適用可能であるが、本実施形態では、ブロックマッチング(図15)にて検出した動き情報を用いて予測する方法を考える。なお、動き情報には、動きベクトル、予測モード(片予測/双予測)、複数の参照画面から予測に利用する参照画面のフレーム番号を指示する参照画面番号が含まれる。
 本実施形態では、復号対象の対象ブロックのサイズを16x16とするが、それ以外の大きさ又は形状のブロックに分割でもよい。また、画面内にサイズの異なるブロックが混在してもよい。
 復号器202は、入力端子201に入力された圧縮データを解析して、復号対象の対象ブロックに関する量子化変換係数の符号化データと動き情報の符号化データに分離すると共に、エントロピー復号し、復号データ、即ち量子化変換係数と動き情報をL202a、L202b経由で、それぞれ、逆量子化器203と予測信号生成器103に出力する。エントロピー復号の方法は限定されないが、算術符号や可変長符号などが適用できる。
 動き情報については、復号器202は、予測モードと参照画面番号(ref_idx)と動きベクトルを復号する。
 予測信号生成器103では、L202b経由で入力された動き情報に基づいて、フレームメモリ104から既再生信号を取得し、対象ブロックの予測信号を生成する。生成された予測信号はL103経由で加算器205に出力される。
 逆量子化器203は、ラインL202a経由で入力された量子化変換係数を逆量子化する。逆変換器204は、逆量子化したデータを逆離散コサイン変換し、対象ブロックの誤差信号を復元する。
 加算器205は、予測信号生成器103で生成された予測信号を、逆量子化器203及び逆変換器204により復元された残差信号に加算して、対象ブロックの再生画素信号をラインL205経由で出力端子206及びフレームメモリ104に出力する。出力端子206は、外部に(例えばディスプレイ)出力する。
 フレームメモリ104は、次の復号処理のための参照用の再生画像として、加算器205から出力された再生画像を参照画面として記憶する。
 参照画面リスト管理器114は、フレームメモリ104に保存されている参照画面(例えば、図2の(A)の401、402、404、405や図2の(B)の408、409、410、412)に付与されたフレーム番号と動き情報に含まれる参照画面番号を対応づけるための参照画面リストを3つ(L0,L1,L2)作成する。L0とL1は双予測、L2は片予測の際に、参照画面番号から参照画面のフレーム番号を導出し、フレームメモリ104から再生信号を取得するために用いられる。
 参照画面リストの情報は、予測信号生成器103に通知される(図示せず)。そのため、予測信号生成器103はL0とL1の参照画面リストから双予測に利用可能な参照画面番号の情報を取得できる。また、L2の参照画面リストから片予測に利用可能な参照画面番号の情報を取得できる。
 予測信号生成器103がフレームメモリ104から動き情報に基づく再生信号を取得する際には、予測モードと参照画面番号が参照画面リスト管理器114に通知される(L115)。フレームメモリ104では参照画面のフレーム番号を用いて参照画面を管理しているため、参照画面リスト管理器114は、参照画面リストに基づいて参照画面のフレーム番号を導出し、L114経由でフレームメモリに取得対象の参照画面のフレーム番号を通知する。このように、予測信号生成器103は、動き情報に対応する再生信号を取得する。
 つまり、参照画面リスト管理器114は、予測信号生成器103から予測モードと参照画面番号の通知を受けたとき、予測モードが双予測の場合には、L0とL1を用いて、2つの参照画面番号に対応する2つの参照画面のフレーム番号を導出する。一方、予測モードが片予測の場合には、L2を用いて、1つの参照画面番号に対応する1つの参照画面のフレーム番号を導出する。
 図4で参照画面リストの例を説明する。
 図4の(A)は、図2の(A)に示す参照画面401、402、404と405に対する参照画面リストの例である。これら4つの参照画面がフレームメモリ104に保存されている。
 L0とL1は双予測に用いられる参照画面リストであり、L2は片予測に用いられる参照画面リストである。ref_idxは各リストに登録された参照画面のフレーム番号(frame_num)を指示するためのインデックス(参照画面番号;ref_idx)を示している。
 図4の(A)の例では、参照画面リスト管理器114は、参照画面リストL2に登録する参照画面を、L0とL1に登録されている参照画面に基づいて決定している。
 L0とL1に同じ参照画面が重複して登録されている場合には、参照画面リスト管理器114は、L2にこれら重複する二つの参照画面の1つのフレーム番号だけを登録する。図4の(A)の例では、L0とL1に登録されている参照画面に重複がないため、L0とL1に登録されているすべての参照画面をL2に登録する。図4の(A)の例では、4個の参照画面(401、401、404と405)のフレーム番号がL2に登録される。L2に登録された参照画面には、符号化対象画面411との時間方向の距離差が小さい順、つまり、2つの画面間の参照フレーム番号の差の絶対値が小さい順で、0番からref_idxを付与する。距離差が同じ参照画面がある場合には、値の小さいフレーム番号の参照画面に、値の小さいref_idxを付与する。
 図4の(B)は、図2の(B)に示す参照画面408、409、410と412に対する参照画面リストの例である。図4の(B)の例では、参照画面リスト管理器114は、参照画面リストL2に登録する参照画面を、フレームメモリに保存されている参照画面に基づいて決定している。この例では、4個の参照画面(408、409、410と412)のフレーム番号をL2に登録している。L2に登録された参照画面には、符号化対象画面411との時間方向の距離差が小さい順、つまり、2つの画面間の参照フレーム番号の差の絶対値が小さい順で、0番からref_idxを付与する。距離差が同じ参照画面がある場合には、値の小さいフレーム番号の参照画面に、値の小さいref_idxを付与する。
 図4の(C)は、図2の(B)に示す参照画面408、409、410と412に対する参照画面リストの例である。図4の(C)の例では、図4の(B)と異なり、参照画面リスト管理器114は、参照画面リストL2に登録する参照画面を、L0とL1に登録されている参照画面に基づいて決定している。図4の(C)の例では、L0とL1に登録されている参照画面に重複があるため、3個の参照画面(409、410と412)のフレーム番号がL2に登録される。このように、L0とL1に登録されている参照画面に基づいてL2を決定すると、片予測に利用できる参照画面の数が減ってしまう場合がある。
 なお、3つの参照画面リストは、フレーム毎に更新してもよいし、複数のブロックをまとめたスライス毎に更新してもよいし、ブロック毎に更新してもよい。
 次に、図8を用いて、図7に示す画像予測復号装置200における画像予測復号方法を説明する。まず、入力端子201を介して、圧縮データが入力される。この圧縮データには、複数に分割された復号対象のブロック(対象ブロック)について、誤差信号を変換量子化してエントロピー符号化した量子化変換係数と、ブロックの予測信号を生成するための動き情報の符号化データが含まれている。
 対象ブロックの予測信号の生成方法(予測方法)については、背景技術で説明したような画面間予測や画面内予測(画面内予測については図示せず)が適用可能であるが、本実施形態では、ブロックマッチング(図15)にて検出した動き情報を用いて予測する方法を考える。なお、動き情報には、動きベクトル、予測モード(片予測/双予測)、複数の参照画面から予測に利用する参照画面のフレーム番号を指示する参照画面番号が含まれる。
 本実施形態では、復号対象の対象ブロックのサイズを16x16とするが、それ以外の大きさ又は形状のブロックに分割でもよい。また、画面内にサイズの異なるブロックが混在してもよい。
 まず、参照画面リスト管理器114は、フレームメモリ104に保存されている参照画面(例えば、図2の401、402、404、405や図2の408、409、410、412)に付与されたフレーム番号の情報に基づいて、3つの参照画面リストを生成する(ステップS101)。
 次に、復号器202は、入力端子201に入力された圧縮データを解析して、復号対象の対象ブロックに関する動き情報をエントロピー復号する。動き情報の復号データには、予測モード、参照画面番号(ref_idx)と動きベクトルが含まれる。
 まず、ステップS201では、復号器202は、予測モードをエントロピー復号する。
 続いて復号器202は、復号した予測モードに基づいて、復号する参照画面と動きベクトルの数を判定する。復号した予測モードが双予測の場合は、ステップS203に進み、予測モードが片予測の場合はステップS204に進む(ステップS202)。
 ステップS203では、双予測のため、L0とL1に基づく2つの参照画面番号(ref_idx)と2つの動きベクトルをエントロピー復号する。一方、ステップS204では、片予測のため、L2に基づく1つの参照画面番号(ref_idx)と1つの動きベクトルをエントロピー復号する。
 次に、予測信号生成器103は、復号した動き情報に基づいて、対象ブロックの予測信号を生成する(ステップS205)。フレームメモリ104から動き情報に基づく再生信号を取得する際には、参照画面リスト管理器114に予測モードと参照画面番号を通知する。フレームメモリ104では、参照画面のフレーム番号を用いて参照画面を管理しているため、参照画面リスト管理器114にて、参照画面のフレーム番号を導出し、所望の参照画面の再生信号を取得する。このように、予測信号生成器103はステップS203にて、動き情報に対応する再生信号を取得する。
 次に、復号対象の対象ブロックに関する量子化変換係数をエントロピー復号する。復号器202にて復号された量子化変換係数は、逆量子化器203において逆量子化され、逆変換器204において逆変換が行われ、再生残差信号が生成される(ステップS206)。そして、生成された予測信号と再生残差信号とが加算されることで再生信号が生成され、この再生信号が次の対象ブロックを再生するためにフレームメモリ104に格納される(ステップS207)。次の圧縮データがある場合には、S201~S207のプロセスを繰り返し(S208)、全データが最後まで処理される。
 なお、3つの参照画面リストの更新をブロック単位で行う場合には、ステップS101はステップS208の処理ループに含まれる。また、3つの参照画面リストの更新をスライス単位で行う場合には、図8の処理全体をスライス単位で実施する。
 図6は、図8における3つの参照画面リスト管理処理手順(ステップS101)を示すフローチャートである。
 参照画面リスト管理器114は、まず、フレームメモリ104に保存されている参照画面のフレーム番号の情報に基づいて、図4に示すようなL0とL1の参照画面リストを生成する(ステップS701)。ここでは、図4の(A)と(C)に示したように、参照画面リストL2に登録する参照画面を、L0とL1に登録されている参照画面に基づいて決定する場合の手順を例に説明する。
 次に、参照画面リスト管理器114は、パラメータの初期化処理(ステップS705)を行う。初期化では、i, j, kの各種パラメータを0にリセットする。i, j, kはそれぞれ、L0, L1, L2のref_idxを示している。
 初期化後、参照画面リスト管理器114は、L0に登録されているN個の参照画面をL2に登録するか否かを判定する処理を行う。まず、ref_idx=iが付与されている参照画面L0[i]のフレーム番号が、L2に存在するかを判定する(ステップS720)。既に存在する場合には、L0[i]をL2に登録せずにS740に進む。存在しない場合には、L0[i]に登録されている参照画面のフレーム番号をL2[k]に登録する。そして、kの値を1増やした後、ステップS740に進む(ステップS730)。ステップS740では、iの値を1増やす。ステップS710は、L0に含まれるN個の参照画面にS720、S730、S740の処理が行われたかを判定する。終了している場合には、ステップS750に進み、終了していない場合には、S720に進み、S720、S730、S740の処理を繰り返す。
 次に、L1に登録されているM個の参照画面をL2に登録するか否かを判定する処理を行う。まず、ref_idx=jが付与されている参照画面L1[j]のフレーム番号が、L2に存在するかを判定する(ステップS760)。既に存在する場合には、L1[j]をL2に登録せずにS780に進む。存在しない場合には、L1[j]に登録されている参照画面のフレーム番号をL2[k]に登録する。そして、kの値を1増やした後、ステップS780に進む(ステップS770)。ステップS780では、jの値を1増やし、ステップS750にて、L1に含まれるM個の参照画面にS760、S770、S780の処理が行われたかを判定する。終了している場合には、ステップS790に進み、終了していない場合には、S760に進み、S760、S770、S780の処理を繰り返す。
 最後に、参照画面リスト管理器114は、L2に登録された参照画面のフレーム番号について、処理対象画面と参照画面間の時間方向な距離差が小さい順に、つまり、2つの画面間の参照フレーム番号の差の絶対値が小さい順に、値の小さいref_idx(参照画面番号)が付与されるように、参照画面のフレーム番号を並び替える。なお、距離差が同じ参照画面が登録されている場合には、値の小さいフレーム番号の参照画面に、値の小さいref_idxを付与する。
 本発明では、さらに下記の変形が可能である。
 (フレーム番号)
 上記では、参照画面や符号対象画面の識別をフレーム番号にて行っているが、フレーム番号には限定されない。任意の画面のフレーム番号からの差分値など、各画面を識別できる情報であればフレーム番号の変わりに利用できる。
 (参照画面リストの作成方法)
 L0とL1に登録されている参照画面に基づいて参照画面リストを生成する場合について、参照画面リストの生成方法は、図6の手順には限定されない。図9と図10に別例を示す。これらの例では、図6のように、L2に登録された参照画面の入れ替え処理は行わない。L0とL1の参照画面が、L2の参照画面の入れ替えを行わなくてもよいように整列している場合には有効である。つまり、図9と図10に示す順番でL0とL1の参照画面をL2に登録する処理を行えば、対象画面に距離が近い参照画面、つまり、2つの画面間の参照フレーム番号の差の絶対値が小さい画面からL2に登録されるようにL0とL1が構成されている場合を想定している。
 図9では、参照画面リスト管理器114は、まず、フレームメモリ104に保存されている参照画面のフレーム番号の情報に基づいて、図4に示すようなL0とL1の参照画面リストを生成する(ステップS501)。
 次に、参照画面リスト管理器114は、パラメータの初期化処理(ステップS505)を行う。初期化では、i, j, kの各種パラメータを0にリセットする。i, j, kはそれぞれ、L0, L1, L2のref_idxを示している。
 初期化後、参照画面リスト管理器114は、ステップS510に進む。
 ステップS510では、iがNより小さいかを判定し、小さい場合は、ステップS520に進み、大きいか同じ場合にはステップS550に進む。ステップS520では、L0に登録されているN個の参照画面のうち、ref_idx=iが付与されている参照画面L0[i]のフレーム番号が、L2に存在するかを判定する。既に存在する場合には、L0[i]をL2に登録せずにS540に進む。存在しない場合には、L0[i]に登録されている参照画面のフレーム番号をL2[k]に登録する。そして、kの値を1増やした後、ステップS540に進む(ステップS530)。ステップS540では、iの値を1増やし、ステップS550に進む。
 ステップS550では、jがMより小さいかを判定し、小さい場合は、ステップS560に進み、大きいか同じ場合にはステップS590に進む。ステップS560では、L0に登録されているM個の参照画面のうち、ref_idx=jが付与されている参照画面L1[j]のフレーム番号が、L2に存在するかを判定する。既に存在する場合には、L1[j]をL2に登録せずにS580に進む。存在しない場合には、L1[j]に登録されている参照画面のフレーム番号をL2[k]に登録する。そして、kの値を1増やした後、ステップS580に進む(ステップS570)。ステップS580では、jの値を1増やし、ステップS590に進む。
 ステップS590にて、i=Nでかつj=Mであるかを判定する。条件を満たす場合には、終了し、満たさない場合は、ステップS510に戻る。
 図10では、参照画面リスト管理器114は、まず、フレームメモリ104に保存されている参照画面のフレーム番号の情報に基づいて、図4に示すようなL0とL1の参照画面リストを生成する(ステップS601)。
 次に、参照画面リスト管理器114は、パラメータの初期化処理(ステップS605)を行う。初期化では、i, j, kの各種パラメータを0にリセットする。i, j, kはそれぞれ、L0, L1, L2のref_idxを示している。
 初期化後、参照画面リスト管理器114は、L0に登録されているN個の参照画面をL2に登録するか否かを判定する処理を行う。まず、ref_idx=iが付与されている参照画面L0[i]のフレーム番号が、L2に存在するかを判定する(ステップS620)。既に存在する場合には、L0[i]をL2に登録せずにS640に進む。存在しない場合には、L0[i]に登録されている参照画面のフレーム番号をL2[k]に登録する。そして、kの値を1増やした後、ステップS640に進む(ステップS630)。ステップS640では、iの値を1増やし、ステップS610にて、L0に含まれるN個の参照画面にS620、S630、S640の処理が行われたかを判定し、終了している場合には、ステップS650に進み、終了していない場合には、S620に進み、S620、S630、S640の処理を繰り返す。
 次に、L1に登録されているM個の参照画面をL2に登録するか否かを判定する処理を行う。まず、ref_idx=jが付与されている参照画面L1[j]のフレーム番号が、L2に存在するかを判定する(ステップS660)。既に存在する場合には、L1[j]をL2に登録せずにS680に進む。存在しない場合には、L1[j]に登録されている参照画面のフレーム番号をL2[k]に登録する。そして、kの値を1増やした後、ステップS680に進む(ステップS670)。ステップS680では、jの値を1増やし、ステップS650にて、L1に含まれるM個の参照画面にS660、S670、S680の処理が行われたかを判定し、条件を満たす場合には処理を終了し、条件を満たさない場合には、S660に進み、S660、S670、S680の処理を繰り返す。
 (参照画面リストの利用方法)
 上記では、参照画面リストL2を片予測に利用し、L0とL1を双予測に利用していたが3つの参照画面リストの利用方法はこれには限定されない。例えば、L2のみを作成し、双予測の参照画面番号の導出にもL2を用いるようにしてもよい。すなわち、L0とL1は双予測の際に使用しない。
 この際には、2つの異なる参照画面番号を選択するように制限をかけてもよい。未来に表示される参照画面がフレームメモリに存在する場合では、双方向予測(過去と未来の参照画面から予測信号を生成する)が効果的である。そこで、双予測の第1の予測信号の生成に利用した参照画面は、第2の予測信号を生成するための参照画面の候補から外す。
 この例を図17の(A-1)と(A-2)で説明する。図2の(A)に示すように、符号化対象画面403に対して、4つの参照画面401、402、404、405がフレームメモリに保存されている場合を想定する。
 第1の予測信号の生成に用いる参照画面番号を扱う際には、図17の(A-1)に示す参照画面リスト460を使う。ここで、参照画面402を第1の予測信号生成のために選択した場合には、参照画面リスト460に基づいて、ref_idx=0(frame_num=1)が第1の参照画面番号となる。
 一方、第2の予測信号の生成に用いる参照画面を選択する際には、図17の(A-2)に示すように参照画面402を除いた参照画面リスト461を利用する。画面404を第2の予測信号の生成に用いる参照画面と決定した場合には、ref_idx=0(frame_num=3)が第2の参照画面番号になる。このように、第2の参照画面を符号化する際の参照画面の候補が実質的に少なくなるため、第2の参照画面番号の符号化に要する符号量が削減される。
 復号側では、第1の予測信号の参照画面番号としてref_idx=(frame_num=1)0を復号した後、ref_idx=0に対応する画面401を外した参照画面リスト461を作成する。第2の予測信号の参照画面番号としてref_idx=0(frame_num=3)を復号すると、参照画面リスト461から第2の参照画面が画面404であることが分かる。
 また、L2を双予測に用いる別の方法として、双予測用の2つの参照画面番号ref_idx_0(ここでは、ref_idx_0は0か1とするが限定されない)とref_idx_1(ここでは、ref_idx_1は0か1とするが限定されない)をL2の参照画面リストのref_idxに変換する関数を用意してもよい。例えば、第1の参照画面番号をref_idx = ref_idx_0+offset_0、第2の参照画面番号ref_idx_1をref_idx =
ref_idx_1+offset_1で算出するものとする。L2が図17の(A)の参照画面リスト462であるとき、offset_0=0、offset_1=2とすれば、図4の(A)のL0とL1と同じように、第1の参照画面の候補を画面402と401、第2の参照画面の候補を画面403、404に設定することができる。
 別の例として、第1の参照画面番号をref_idx
= ref_idx_0 ×2+ offset_0、第2の参照画面番号をref_idx = ref_idx_1 ×2+ offset_1で算出する場合を考える。L2が図17の(C)の参照画面リスト463であるとき、このとき、offset_0=0、offset_1=1とすれば、図4の(A)のL0とL1と同じように、第1の参照画面の候補を画面402と401、第2の参照画面の候補を画面403、404に設定することができる。
 このように、双予測用の2つの参照画面番号ref_idx_0とref_idx_1をL2の参照画面リストのref_idxに変換する関数を用意することにより、1つの参照画面リストでも効率を損なうことなく双予測の2つの参照画面番号を符号化できる。
 なお、このような関数を複数用意し、フレーム単位、スライス単位、ブロック単位で適応的に選択して用いるようにしてもよい。このとき、選択に必要な情報は符号化される。
 また、L2とは異なる1つの双予測用の参照画面リストを生成し、上記で説明したような関数を用いてもよい。つまり、片予測用と双予測用の2つの参照画面リストを用いて、参照画面番号の符号化及び参照画面のフレーム番号の導出処理を実施する。
 (参照画面リストの符号化)
 上記では、参照画面リストは予め定めたルールで自動的に生成されているが、L2の参照画面リストを、ブロック毎、フレーム毎あるいはスライス毎に符号化してもよい。この場合は、参照画面リストを生成する処理は復号装置では不要となる。L0とL1の参照画面リストも同様に符号化してもよい。復号側では、参照画面リストを復号器202にて再生する。
 また、参照画面リストの生成方法を複数用意し、ブロック毎、フレーム毎あるいはスライス毎にどの生成方法を用いるか指示する選択情報を符号化してもよい。生成方法は各リストで個別に用意して符号化してもよい。復号側では、復号器202が、復号した生成方法を参照画面リスト管理器114に出力する。参照画面リスト管理器114は、入力された参照画面リストの生成方法に従って、3つの参照画面リストを生成する。
 (参照画面のフレーム番号の符号化)
 参照画面リストの利用は、予測に用いる参照画面を識別する情報を効率良くエントロピー符号化するための仕組みに他ならない。そのため、図4に示すような参照画面リストを、可変長符号化の符号化テーブルや、算術符号化の符号化要素のバイナリー化テーブルとして用い、参照画面のフレーム番号を直接符号化し、復号するにようにしてもよい。この場合、図4のref_idxの欄が、可変長符号やバイナリーコードに置き換わる。なお、可変長符号やバイナリーコードについては、双予測の第1と第2の参照画面用と、片予測の参照画面用に個別に3種類用意してよい。
 (動きベクトルの符号化)
 動きベクトルは、通常、対象ブロックに隣接するブロックに付随する動きベクトル(予測動きベクトル)との差分値で符号化される。動きベクトルを差分符号化する場合においても、第3の参照画面リストを用いた片予測の参照画面のフレーム番号を符号化し、復号する手法は利用できる。
 このため、符号化器及び復号器では、参照画面リスト、参照画面番号、及び動きベクトルの組、あるいは、参照画面のフレーム番号、及び動きベクトルの組で動きベクトルを保存する。
 予測動きベクトルには、通常、対象ブロックの動きベクトルが指示する参照画面と同じ参照画面を指示する動きベクトルを用いる。複数の隣接ブロック(例えば、対象ブロックの直上、直左、左上、右上のブロックなど)からこの条件を満たす動きベクトルが予測動きベクトルとして選ばれる。
 この際、参照画面のフレーム番号を用いて対象ブロックと隣接ブロックの動きベクトルが指示する参照画面を比較する方法では、参照画面のフレーム番号が同じであれば、異なる参照画面リストの動きベクトルも予測動きベクトルとして選択可能となる。なお、対象ブロックの予測動きベクトルを、対象ブロックの予測モードと同じ予測モードで予測された隣接ブロックの動きベクトルから選ぶようにしてもよい。この場合、同じ参照画面リストの参照画面番号を比較すればよいため、動きベクトルの予測処理は簡単になる。つまり、参照画面のフレーム番号ではなく、片予測の場合はL2に登録されている参照画面番号を比較すればよい。双予測の場合には、ブロックが保有する2つの動きベクトルはそれぞれ、L0とL1に基づいて参照画面を指示している。そのため、L0に登録されている参照画面番号とL1に登録されている参照画面番号をそれぞれ比較すればよい。
 この方法では、参照画面リストL2を、予測モードと参照画面番号の符号化/復号のみではなく、動きベクトルの符号化/復号などの参照画面を参照する処理にも利用できる。
 一方、動きベクトルの符号化/復号の際には、L0とL1の参照画面番号と参照画面リストを用いて対象ブロックと隣接ブロックの動きベクトルが指示する参照画面を比較してもよい。この場合、符号化器と復号器は、予測モードが片予測のとき、参照画面番号の符号化後又は復号後に、参照画面リストL2の参照画面番号を参照画面リストL0あるいはL1の参照画面番号に変換しておく。符号化器と復号器にて実施する図6、図9や図10の処理にて、L2の参照画面番号とL0あるいはL1の参照画面番号の関係は明確であるため、符号化器と復号器は矛盾なく、参照画面リストL2の参照画面番号から参照画面リストL0あるいはL1の参照画面番号への変換は実施できる。また、参照画面リスト管理器114が、参照画面リストL2に登録する参照画面を、フレームメモリに保存されている参照画面に基づいて決定するような場合には、L2の参照画面番号とL0あるいはL1の参照画面番号の関係を符号化するようにしてもよい。この場合、L0とL1の参照画面番号とL2の参照画面との間の変換処理は符号化器のみで行えばよい。
 このように、L2の参照画面番号とL0あるいはL1の参照画面番号の関係を明確することで、参照画面リストL2を予測モードと参照画面番号の符号化/復号のみに利用し、動きベクトルの符号化/復号のように動きベクトルを用いる処理ではL0とL1を利用するように、符号化処理並びに復号処理を構成することが可能となる。
 (変換器、逆変換器)
 残差信号の変換処理は、固定のブロックサイズで行っても良いし、部分領域にあわせて対象領域を再分割して変換処理を行ってもよい。
 (色信号)
 上述した説明では、色フォーマットについては特に述べていないが、色信号あるいは色差信号についても、輝度信号と個別に予測信号の生成処理を行ってもよい。また、輝度信号の処理と連動して予測信号の生成処理を行ってもよい。輝度信号とは別に予測信号を生成する場合には、片予測用の第3の参照画面リストについても、輝度信号とは別に、色信号用の参照画面リストを用意してもよい。
 本実施形態に係る画像予測符号化方法及び画像予測復号方法を、プログラムとして記録媒体に格納して提供することもできる。記録媒体としては、フロッピーディスク(登録商標)、CD-ROM、DVD、あるいはROM等の記録媒体、あるいは半導体メモリ等が例示される。
 図11は、画像予測符号化方法を実行することができるプログラムのモジュールを示すブロック図である。画像予測符号化プログラムP100は、ブロック分割モジュールP101、動き情報推定モジュールP102、予測信号生成モジュールP103、記憶モジュールP104、減算モジュールP105、変換モジュールP106、量子化モジュールP107、逆量子化モジュールP108、逆変換モジュールP109、加算モジュールP110、符号化モジュールP111、及び参照画面リスト管理モジュールP112を備えている。上記各モジュールがコンピュータで実行されることにより実現される機能は、上述した画像予測符号化装置100の機能と同じである。すなわち、ブロック分割モジュールP101、動き情報推定モジュールP102、予測信号生成モジュールP103、記憶モジュールP104、減算モジュールP105、変換モジュールP106、量子化モジュールP107、逆量子化モジュールP108、逆変換モジュールP109、加算モジュールP110、符号化モジュールP111、参照画面リスト管理モジュールP112は、ブロック分割器102、動き情報推定器113、予測信号生成器103、フレームメモリ104、減算器105、変換器106、量子化器107、逆量子化器108、逆変換器109、加算器110、符号化器111、参照画面リスト管理器114とそれぞれ同様の機能をコンピュータに実行させる。
 また、図12は、画像予測復号方法を実行することができるプログラムのモジュールを示すブロック図である。画像予測復号プログラムP200は、復号モジュールP201、参照画面リスト管理モジュールP202、予測信号生成モジュールP203、記憶モジュールP204、逆量子化モジュールP205、逆変換モジュールP206及び加算モジュールP207を備えている。
 上記各モジュールが実行されることにより実現される機能は、上述した画像予測復号装置200の各構成要素と同じである。すなわち、復号モジュールP201、参照画面リスト管理モジュールP202、予測信号生成モジュールP203、記憶モジュールP204、逆量子化モジュールP205、逆変換モジュールP206、加算モジュールP207は、復号器202、参照画面リスト管理器114、予測信号生成器103、フレームメモリ104、逆量子化器203、逆変換器204、加算器205と、それぞれ同様の機能をコンピュータに実行させる。
 このように構成された画像予測符号化プログラムP100又は画像予測復号プログラムP200は、記録媒体10に記憶され、後述するコンピュータで実行される。
 図13は、記録媒体に記録されたプログラムを実行するためのコンピュータのハードウェア構成を示す図であり、図14は、記録媒体に記憶されたプログラムを実行するためのコンピュータの斜視図である。なお、記録媒体に記憶されたプログラムを実行するものはコンピュータに限定されず、CPUを具備しソフトウエアによる処理や制御を行うDVDプレーヤ、セットトップボックス、携帯電話などでもよい。
 図14に示すように、コンピュータ30は、フロッピーディスクドライブ装置、CD-ROMドライブ装置、DVDドライブ装置等の読取装置12と、オペレーティングシステムを常駐させた作業用メモリ(RAM)14と、記録媒体10に記憶されたプログラムを記憶するメモリ16と、ディスプレイといった表示装置18と、入力装置であるマウス20及びキーボード22と、データ等の送受を行うための通信装置24と、プログラムの実行を制御するCPU26とを備えている。コンピュータ30は、記録媒体10が読取装置12に挿入されると、読取装置12から記録媒体10に格納された画像予測符号化・復号プログラムにアクセス可能になり、当該画像符号化又は復号プログラムによって、本実施形態に係る画像符号化装置又は画像復号装置として動作することが可能になる。
 図13に示すように、画像予測符号化プログラム及び画像復号プログラムは、搬送波に重畳されたコンピュータデータ信号40としてネットワークを介して提供されるものであってもよい。この場合、コンピュータ30は、通信装置24によって受信した画像予測符号化プログラム若しくは画像復号プログラをメモリ16に格納し、当該画像予測符号化プログラム若しくは画像予測復号プログラムを実行することができる。
 以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明はさらに上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
 100…画像予測符号化装置、101…入力端子、102…ブロック分割器、103…予測信号生成器、104…フレームメモリ、105…減算器、106…変換器、107…量子化器、108…逆量子化器、109…逆変換器、110…加算器、111…符号化器、112…出力端子、113…動き情報推定器、114…参照画面リスト管理器、201…入力端子、202…復号器、203…逆量子化器、204…逆変換器、205…加算器、206…出力端子。

Claims (10)

  1.  入力画像を複数の領域に分割する領域分割手段と、
     前記領域分割手段により分割された符号化対象とする対象領域の画素信号との相関が高い信号を既再生の参照画面から取得するための動き情報を求める動き情報推定手段と、
     前記動き情報に基づいて、対象領域の予測信号を生成する予測信号生成手段と、
     前記対象領域の予測信号と前記対象領域の画素信号とに基づく残差信号を生成する残差信号生成手段と、
     前記残差信号に量子化処理を施し、量子化係数を生成する量子化手段と、
     前記動き情報と前記残差信号の量子化係数を符号化する符号化手段と、
     前記量子化手段にて生成した前記量子化係数に逆量子化処理を施し、残差信号を再生する逆量子化手段と、
     前記予測信号と前記再生された残差信号との加算によって生成される前記対象領域の復元画素信号を含む画面を参照画面として保存する記録手段と、
    を具備し、
     前記動き情報は、1つの参照画面を利用する片予測と2つの参照画面を利用する双予測を選択候補とする予測モードを含んでおり、
     前記動き情報推定手段は、前記2つの予測モードの候補から1つを選択し、片予測を選択する場合には、複数の参照画面のフレーム番号を登録した片予測用の単一の参照画面リストにて定められる一つの参照画面から前記動き情報を求め、
     前記符号化手段は、動き情報として少なくとも予測モードを符号化することを特徴とする画像予測符号化装置。
  2.  前記動き情報推定手段は、前記2つの予測モードの候補から1つを選択し、前記双予測を選択した場合には、前記記録手段に保存されている複数の参照画面から2つの参照画面を選択し、前記片予測を選択した場合には、前記記録手段に保存されている複数の参照画面から1つの参照画面を選択し、
     前記符号化手段は、
     前記予測モードを符号化し、
     前記動き情報に含まれる予測モードが双予測の場合には、前記双予測に利用可能な複数の参照画面のフレーム番号を登録した第1と第2の参照画面リストにて定められる、2つの参照画面のフレーム番号を識別するインデックスを符号化し、2つの動きベクトルを符号化し、
     前記動き情報に含まれる予測モードが片予測の場合には、前記片予測に利用可能な複数の参照画面のフレーム番号を登録した第3の参照画面リストにて定められる、1つの参照画面のフレーム番号を識別するインデックスを符号化し、1つの動きベクトルを符号化する、
    ことを特徴とする請求項1に記載の画像予測符号化装置。
  3.  前記第3の参照画面リストの参照画面は、前記入力画像のフレーム番号と参照画面のフレーム番号との差の絶対値が小さい順に、第3の参照画面リストに登録されていることを特徴とする、
    請求項2に記載の画像予測符号化装置。
  4.  複数の領域に分割して符号化された画像の圧縮データを解析し、復号対象となる対象領域の信号の動き情報の復号データと、残差信号の復号データとを復号する復号手段と、
     前記の復号した動き情報と既再生の参照画面に基づいて、対象領域の予測信号を生成する予測信号生成手段と、
     前記残差信号の復号データである量子化係数に逆量子化処理を施して、再生残差信号を再生する逆量子化手段と、
     前記予測信号と前記再生残差信号との加算により生成される前記対象領域の復元画素信号を含む参照画面を保存する記録手段と、
    を具備し、
     前記動き情報は、1つの参照画面を利用する片予測と2つの参照画面を利用する双予測を選択候補とする予測モードを含んでおり、
     前記復号手段は、動き情報として少なくとも前記予測モードを復号し、
     前記予測信号生成手段は、前記予測モードが片予測である場合には、複数の参照画面のフレーム番号を登録した片予測用の単一の参照画面リストにて定められる一つの参照画面に基づいて、前記予測信号を生成する、
    ことを特徴とする画像予測復号装置。
  5.  前記復号手段は、
     前記予測モードを復号し、さらに、
     前記復号した予測モードが双予測の場合には、第1と第2の参照画面リストにて定められる、2つの参照画面のフレーム番号を識別するインデックスを復号し、2つの動きベクトルを復号し、
     前記復号した予測モードが片予測の場合には、第3の参照画面リストにて定められる、1つの参照画面のフレーム番号を識別するインデックスを復号し、1つの動きベクトルを復号する、
    ことを特徴とする請求項4に記載の画像予測復号装置。
  6.  前記第3の参照画面リストの参照画面は、前記画像のフレーム番号と参照画面のフレーム番号との差の絶対値が小さい順に、第3の参照画面リストに登録されていることを特徴とする、
    請求項5に記載の画像予測復号装置。
  7.  領域分割手段が、入力画像を複数の領域に分割するステップと、
     動き情報推定手段が、前記領域分割手段により分割された符号化対象とする対象領域の画素信号との相関が高い信号を既再生の参照画面から取得するための動き情報を求めるステップと、
     予測信号生成手段が、前記動き情報に基づいて、対象領域の予測信号を生成すると、
     前記対象領域の予測信号と前記対象領域の画素信号とに基づく残差信号を生成するステップと、
     量子化手段が、前記残差信号に量子化処理を施し、量子化係数を生成するステップと、
     符号化手段が、前記動き情報と前記残差信号の量子化係数を符号化するステップと、
     逆量子化手段が、前記量子化手段にて生成した前記量子化係数に逆量子化処理を施し、残差信号を再生するステップと、
     記録手段が、前記予測信号と前記再生された残差信号との加算によって生成される前記対象領域の復元画素信号を含む画面を参照画面として保存するステップと、
    を含み、
     前記動き情報は、1つの参照画面を利用する片予測と2つの参照画面を利用する双予測を選択候補とする予測モードを含んでおり、
     前記動き情報推定手段は、前記2つの予測モードの候補から1つを選択し、片予測を選択する場合には、複数の参照画面のフレーム番号を登録した片予測用の単一の参照画面リストにて定められる一つの参照画面から前記動き情報を求め、
     前記符号化手段は、動き情報として少なくとも予測モードを符号化することを特徴とする画像予測符号化方法。
  8.  コンピュータを、
     入力画像を複数の領域に分割する領域分割手段と、
     前記領域分割手段により分割された符号化対象とする対象領域の画素信号との相関が高い信号を既再生の参照画面から取得するための動き情報を求める動き情報推定手段と、
     前記動き情報に基づいて、対象領域の予測信号を生成する予測信号生成手段と、
     前記対象領域の予測信号と前記対象領域の画素信号とに基づく残差信号を生成する残差信号生成手段と、
     前記残差信号に量子化処理を施し、量子化係数を生成する量子化手段と、
     前記動き情報と前記残差信号の量子化係数を符号化する符号化手段と、
     前記量子化手段にて生成した前記量子化係数に逆量子化処理を施し、残差信号を再生する逆量子化手段と、
     前記予測信号と前記再生された残差信号との加算によって生成される前記対象領域の復元画素信号を含む画面を参照画面として保存する記録手段と、
    として機能させ、
     前記動き情報は、1つの参照画面を利用する片予測と2つの参照画面を利用する双予測を選択候補とする予測モードを含んでおり、
     前記動き情報推定手段は、前記2つの予測モードの候補から1つを選択し、片予測を選択する場合には、複数の参照画面のフレーム番号を登録した片予測用の単一の参照画面リストにて定められる一つの参照画面から前記動き情報を求め、
     前記符号化手段は、動き情報として少なくとも予測モードを符号化することを特徴とする画像予測符号化プログラム。
  9.  復号手段が、複数の領域に分割して符号化された画像の圧縮データを解析し、復号対象となる対象領域の信号の動き情報の復号データと、残差信号の復号データとを復号するステップと、
     予測信号生成手段が、前記の復号した動き情報と既再生の参照画面に基づいて、対象領域の予測信号を生成するステップと、
     逆量子化手段が、前記残差信号の復号データである量子化係数に逆量子化処理を施して、再生残差信号を再生するステップと、
     記録手段が、前記予測信号と前記再生残差信号との加算により生成される前記対象領域の復元画素信号を含む参照画面を保存するステップと、
    を含み、
     前記動き情報は、1つの参照画面を利用する片予測と2つの参照画面を利用する双予測を選択候補とする予測モードを含んでおり、
     前記復号手段は、動き情報として少なくとも前記予測モードを復号し、
     前記予測信号生成手段は、前記予測モードが片予測である場合には、複数の参照画面のフレーム番号を登録した片予測用の単一の参照画面リストにて定められる一つの参照画面に基づいて、前記予測信号を生成する、
    ことを特徴とする画像予測復号方法。
  10.  コンピュータを、
     複数の領域に分割して符号化された画像の圧縮データを解析し、復号対象となる対象領域の信号の動き情報の復号データと、残差信号の復号データとを復号する復号手段と、
     前記の復号した動き情報と既再生の参照画面に基づいて、対象領域の予測信号を生成する予測信号生成手段と、
     前記残差信号の復号データである量子化係数に逆量子化処理を施して、再生残差信号を再生する逆量子化手段と、
     前記予測信号と前記再生残差信号との加算により生成される前記対象領域の復元画素信号を含む参照画面を保存する記録手段と、
    として機能させ、
     前記動き情報は、1つの参照画面を利用する片予測と2つの参照画面を利用する双予測を選択候補とする予測モードを含んでおり、
     前記復号手段は、動き情報として少なくとも前記予測モードを復号し、
     前記予測信号生成手段は、前記予測モードが片予測である場合には、複数の参照画面のフレーム番号を登録した片予測用の単一の参照画面リストにて定められる一つの参照画面に基づいて、前記予測信号を生成する、
    ことを特徴とする画像予測復号プログラム。
PCT/JP2011/079400 2011-01-12 2011-12-19 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び画像予測復号プログラム WO2012096104A1 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
BR112013017756A BR112013017756A2 (pt) 2011-01-12 2011-12-19 dispositivo de codificação preditiva da imagem, método de codificação preditiva da imagem, programa de codificação preditiva de imagem, dispositivo de decodificação preditiva da imagem, programa de decodificação preditiva da imagem
AU2011354870A AU2011354870A1 (en) 2011-01-12 2011-12-19 Image predict coding device, image predict coding method, image predict coding program, image predict decoding device, image predict decoding method, and image predict decoding program
MX2013008105A MX2013008105A (es) 2011-01-12 2011-12-19 Dispositivo de codificacion de prediccion de imagen, metodo de codificacion de prediccion de imagen, programa de codificacion de prediccion de imagen, dispositivo de descodificacion de prediccion de imagen, metodo de descodificacion de prediccion de imagen y programa de descodificacion de prediccion de imagen.
CN201180064647.5A CN103299635B (zh) 2011-01-12 2011-12-19 图像预测编码装置及方法、图像预测解码装置及方法
RU2013137443/08A RU2013137443A (ru) 2011-01-12 2011-12-19 Устройство прогнозирующего кодирования изображений, способ прогнозирующего кодирования изображений, программа прогнозирующего кодирования изображений, устройство прогнозирующего декодирования изображений, способ прогнозирующего декодирования изображений и программа прогнозирующего декодирования изображений
KR1020137017928A KR101866440B1 (ko) 2011-01-12 2011-12-19 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법, 및 화상 예측 복호 프로그램
EP11855584.6A EP2665270B1 (en) 2011-01-12 2011-12-19 Image predict coding device, image predict coding method, image predict coding program, image predict decoding device, image predict decoding method, and image predict decoding program
CA2824459A CA2824459A1 (en) 2011-01-12 2011-12-19 Image predict coding device, image predict coding method, image predict coding program, image predict decoding device, image predict decoding method, and image predict decoding program
US13/941,180 US8879621B2 (en) 2011-01-12 2013-07-12 Image predictive coding device, image predictive coding method, image predictive coding program, image predictive decoding device, image predictive decoding method, and image predictive decoding program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-004338 2011-01-12
JP2011004338A JP5298140B2 (ja) 2011-01-12 2011-01-12 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び画像予測復号プログラム

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US13/941,180 Continuation US8879621B2 (en) 2011-01-12 2013-07-12 Image predictive coding device, image predictive coding method, image predictive coding program, image predictive decoding device, image predictive decoding method, and image predictive decoding program
US13/941,235 Continuation US10075723B2 (en) 2011-01-12 2013-07-12 Mode identification data reducing method for intra-prediction coding

Publications (1)

Publication Number Publication Date
WO2012096104A1 true WO2012096104A1 (ja) 2012-07-19

Family

ID=46507016

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/079400 WO2012096104A1 (ja) 2011-01-12 2011-12-19 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び画像予測復号プログラム

Country Status (12)

Country Link
US (1) US8879621B2 (ja)
EP (1) EP2665270B1 (ja)
JP (1) JP5298140B2 (ja)
KR (1) KR101866440B1 (ja)
CN (1) CN103299635B (ja)
AU (1) AU2011354870A1 (ja)
BR (1) BR112013017756A2 (ja)
CA (1) CA2824459A1 (ja)
MX (1) MX2013008105A (ja)
RU (1) RU2013137443A (ja)
TW (1) TW201242376A (ja)
WO (1) WO2012096104A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2959376A1 (fr) * 2010-04-22 2011-10-28 France Telecom Procede de traitement d'une information de mouvement, procedes de codage et de decodage, dispositifs, signal et programme d'ordinateur correspondants
KR102246545B1 (ko) * 2013-10-12 2021-04-30 삼성전자주식회사 멀티 레이어 비디오 부호화 방법 및 장치, 멀티 레이어 비디오 복호화 방법 및 장치
WO2017030198A1 (ja) * 2015-08-20 2017-02-23 日本放送協会 画像符号化装置、画像復号化装置、及びこれらのプログラム
BR112021001156A2 (pt) 2018-09-07 2021-04-27 Panasonic Intellectual Property Corporation Of America sistema e método para codificação de vídeo

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259739B1 (en) 1996-11-26 2001-07-10 Matsushita Electric Industrial Co., Ltd. Moving picture variable bit rate coding apparatus, moving picture variable bit rate coding method, and recording medium for moving picture variable bit rate coding program
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
JP2006324906A (ja) * 2005-05-18 2006-11-30 Canon Inc 画像符号化方法、及び画像符号化装置
JP2008541502A (ja) * 2005-05-26 2008-11-20 株式会社エヌ・ティ・ティ・ドコモ 動き及び予測の重み付けパラメータを符号化する方法及び装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4373702B2 (ja) * 2003-05-07 2009-11-25 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
WO2005022923A2 (en) * 2003-08-26 2005-03-10 Thomson Licensing S.A. Method and apparatus for minimizing number of reference pictures used for inter-coding
JP5002286B2 (ja) * 2006-04-27 2012-08-15 キヤノン株式会社 画像符号化装置、画像符号化方法、プログラム及び記憶媒体
CN101080013A (zh) * 2007-06-19 2007-11-28 中山大学 一种基于预测编码的jpeg无损压缩图像隐写方法
CN101917615A (zh) * 2010-06-03 2010-12-15 北京邮电大学 一种混合视频编码框架中的增强型双向运动矢量预测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259739B1 (en) 1996-11-26 2001-07-10 Matsushita Electric Industrial Co., Ltd. Moving picture variable bit rate coding apparatus, moving picture variable bit rate coding method, and recording medium for moving picture variable bit rate coding program
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
JP2006324906A (ja) * 2005-05-18 2006-11-30 Canon Inc 画像符号化方法、及び画像符号化装置
JP2008541502A (ja) * 2005-05-26 2008-11-20 株式会社エヌ・ティ・ティ・ドコモ 動き及び予測の重み付けパラメータを符号化する方法及び装置

Also Published As

Publication number Publication date
JP5298140B2 (ja) 2013-09-25
CA2824459A1 (en) 2012-07-19
US20130301708A1 (en) 2013-11-14
RU2013137443A (ru) 2015-02-20
CN103299635B (zh) 2016-12-07
BR112013017756A2 (pt) 2016-10-11
US8879621B2 (en) 2014-11-04
EP2665270A1 (en) 2013-11-20
AU2011354870A1 (en) 2013-08-01
TW201242376A (en) 2012-10-16
KR20140029369A (ko) 2014-03-10
KR101866440B1 (ko) 2018-06-11
CN103299635A (zh) 2013-09-11
JP2012147273A (ja) 2012-08-02
EP2665270A4 (en) 2016-03-23
MX2013008105A (es) 2013-09-26
EP2665270B1 (en) 2019-12-18

Similar Documents

Publication Publication Date Title
JP5648183B2 (ja) 高い効率の動画符号化のためのコンテンツアダプティブ動き補償フィルタリング
JP5485969B2 (ja) 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
JP5594536B2 (ja) 画像処理装置および方法、プログラム、並びに、記録媒体
JP2002315004A (ja) 画像符号化方法及び装置、画像復号方法及び装置、並びに画像処理システム
JP2008278091A (ja) 動画像記録方法及びその装置
KR20120092684A (ko) 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법 및 화상 예측 복호 프로그램
RU2506711C2 (ru) Способ и устройство обработки изображения
JP5298140B2 (ja) 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び画像予測復号プログラム
JP6045222B2 (ja) 動画像予測復号装置、方法及びプログラム
JP2013251752A (ja) 電子機器及び復号方法
JP2020058075A (ja) 動画像予測符号化装置、動画像予測復号装置、動画像予測符号化方法、動画像予測復号方法及び記録媒体
JP5950726B2 (ja) 動画像予測符号化方法、動画像予測符号化装置、動画像予測符号化プログラム、動画像予測復号方法、動画像予測復号装置及び動画像予測復号プログラム
JP5922281B2 (ja) 動画像予測符号化装置、動画像予測符号化方法、動画像予測復号装置及び動画像予測復号方法
CN113228674A (zh) 视频编码和视频解码
JP2013251759A (ja) 電子機器及び復号方法
JP6637151B2 (ja) 動画像予測復号方法
JP6134418B2 (ja) 動画像予測復号装置及び動画像予測復号方法
JP6646125B2 (ja) 動画像予測復号方法及び動画像予測復号装置
JP6510084B2 (ja) 動画像復号化方法及び電子装置
JP5736083B2 (ja) 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
JP5642305B2 (ja) 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
JP5668169B2 (ja) 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
JP5698541B2 (ja) 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
EA045634B1 (ru) Кодирование видео и декодирование видео
JP2020043613A (ja) 動画像予測復号方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11855584

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20137017928

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2824459

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: MX/A/2013/008105

Country of ref document: MX

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2011855584

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2011354870

Country of ref document: AU

Date of ref document: 20111219

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2013137443

Country of ref document: RU

Kind code of ref document: A

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112013017756

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112013017756

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20130710