WO2013057782A1 - 符号化方法及び復号方法 - Google Patents

符号化方法及び復号方法 Download PDF

Info

Publication number
WO2013057782A1
WO2013057782A1 PCT/JP2011/073851 JP2011073851W WO2013057782A1 WO 2013057782 A1 WO2013057782 A1 WO 2013057782A1 JP 2011073851 W JP2011073851 W JP 2011073851W WO 2013057782 A1 WO2013057782 A1 WO 2013057782A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
index
reference image
prediction
information
Prior art date
Application number
PCT/JP2011/073851
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 EP11874125.5A priority Critical patent/EP2770735A4/en
Priority to AU2011379258A priority patent/AU2011379258C1/en
Priority to EP17150477.2A priority patent/EP3174301A1/en
Priority to CA2847296A priority patent/CA2847296C/en
Priority to EP17150471.5A priority patent/EP3174296A1/en
Priority to KR1020147005322A priority patent/KR20140057301A/ko
Priority to PCT/JP2011/073851 priority patent/WO2013057782A1/ja
Priority to KR1020157019999A priority patent/KR20150092765A/ko
Priority to MYPI2014000579A priority patent/MY168194A/en
Priority to CN201610895415.9A priority patent/CN106231321B/zh
Priority to BR112014004797-9A priority patent/BR112014004797B1/pt
Priority to EP17150470.7A priority patent/EP3174300A1/en
Priority to CN201180073124.7A priority patent/CN103782599A/zh
Priority to MX2015005669A priority patent/MX336653B/es
Priority to JP2013539429A priority patent/JP5592023B2/ja
Priority to SG11201400288VA priority patent/SG11201400288VA/en
Priority to RU2014107469/08A priority patent/RU2014107469A/ru
Priority to MX2014002534A priority patent/MX2014002534A/es
Priority to MX2016001118A priority patent/MX344805B/es
Priority to KR1020167012309A priority patent/KR101694664B1/ko
Priority to TW109128457A priority patent/TWI742809B/zh
Priority to TW107131923A priority patent/TWI703859B/zh
Priority to TW106135506A priority patent/TWI639332B/zh
Priority to TW106129366A priority patent/TWI617184B/zh
Priority to TW104142717A priority patent/TWI575943B/zh
Priority to TW105143925A priority patent/TWI608730B/zh
Priority to TW101101750A priority patent/TW201318437A/zh
Priority to TW106135507A priority patent/TWI639333B/zh
Priority to TW112108135A priority patent/TW202332275A/zh
Priority to TW110130330A priority patent/TWI794935B/zh
Publication of WO2013057782A1 publication Critical patent/WO2013057782A1/ja
Priority to US14/028,024 priority patent/US20140072237A1/en
Priority to ZA2014/01564A priority patent/ZA201401564B/en
Priority to US14/799,253 priority patent/US9681138B2/en
Priority to AU2015213330A priority patent/AU2015213330C1/en
Priority to US15/590,876 priority patent/US9872027B2/en
Priority to AU2017203354A priority patent/AU2017203354B2/en
Priority to US15/679,520 priority patent/US10110904B2/en
Priority to US15/679,438 priority patent/US10187642B2/en
Priority to PH12017501851A priority patent/PH12017501851B1/en
Priority to AU2018206856A priority patent/AU2018206856B2/en
Priority to US16/113,330 priority patent/US10412394B2/en
Priority to PH12019501571A priority patent/PH12019501571A1/en
Priority to US16/521,145 priority patent/US10674161B2/en
Priority to AU2019232774A priority patent/AU2019232774B2/en
Priority to US16/858,002 priority patent/US11483570B2/en
Priority to US16/857,650 priority patent/US11323721B2/en
Priority to US16/857,910 priority patent/US11425396B2/en
Priority to US16/858,053 priority patent/US11356674B2/en
Priority to US16/857,846 priority patent/US11381826B2/en
Priority to AU2021200773A priority patent/AU2021200773B2/en
Priority to AU2022221509A priority patent/AU2022221509B2/en
Priority to US17/941,083 priority patent/US11871007B2/en
Priority to US18/515,891 priority patent/US20240098278A1/en
Priority to AU2023274145A priority patent/AU2023274145A1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/39Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability involving multiple description coding [MDC], i.e. with separate layers being structured as independently decodable descriptions of input picture data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption

Definitions

  • Embodiments of the present invention relate to an encoding method and a decoding method.
  • H. H.264 discloses an inter-prediction coding scheme that eliminates temporal redundancy and realizes high coding efficiency by performing fractional accuracy motion compensated prediction using a coded image as a reference image. ing.
  • the problem to be solved by the present invention is to provide an encoding method and a decoding method capable of improving the encoding efficiency.
  • the encoding method of the embodiment includes an index generation step and an encoding step.
  • a first index indicating a combination including one or more reference images referred to by the first reference image and a second index indicating a combination including one or more reference images referred to by the second reference image are set.
  • the numbers of one or more reference images included in the first index and the numbers of one or more reference images included in the second index are scanned in a predetermined order and do not include the same reference image.
  • the common index is encoded.
  • two-way prediction of 1st Embodiment The block diagram which shows the example of the multi-frame motion compensation part of 1st Embodiment. Explanatory drawing of the example of the fixed point precision of the weighting coefficient in 1st Embodiment.
  • FIG 5 is a flowchart illustrating an example of index information generation processing according to the first embodiment.
  • the flowchart which shows the production
  • the block diagram which shows the structural example of the encoding apparatus of 3rd Embodiment.
  • the flowchart which shows the other example of the storing process to MergeCandList of 3rd Embodiment.
  • the block diagram which shows the structural example of the decoding apparatus of 4th Embodiment.
  • the block diagram which shows the structural example of the index setting part of 4th Embodiment.
  • the block diagram which shows the structural example of the index setting part of 5th Embodiment.
  • the block diagram which shows the structural example of the decoding apparatus of 6th Embodiment.
  • the encoding device and decoding device of each of the following embodiments can be realized by hardware such as an LSI (Large-Scale Integration) chip, a DSP (Digital Signal Processor), or an FPGA (Field Programmable Gate Array).
  • the encoding device and the decoding device of each of the following embodiments can be realized by software by causing a computer to execute a program.
  • the term “image” can be appropriately replaced with a term such as “video”, “pixel”, “image signal”, “picture”, or “image data”.
  • FIG. 1 is a block diagram illustrating an example of the configuration of the encoding device 100 according to the first embodiment.
  • the encoding apparatus 100 divides each frame or each field constituting the input image into a plurality of pixel blocks, and uses the encoding parameters input from the encoding control unit 111 to predict the encoded code for the divided pixel blocks. To generate a predicted image.
  • the encoding apparatus 100 subtracts the input image divided into a plurality of pixel blocks and the prediction image to generate a prediction error, orthogonally transforms and quantizes the generated prediction error, and further performs entropy encoding to perform encoding. Generate and output data.
  • the encoding apparatus 100 performs predictive encoding by selectively applying a plurality of prediction modes in which at least one of the block size of the pixel block and the prediction image generation method is different.
  • the generation method of the prediction image is roughly classified into two types: intra prediction that performs prediction within the encoding target frame and inter prediction that performs motion compensation prediction using one or more reference frames that are temporally different.
  • intra prediction is also referred to as intra prediction or intra frame prediction
  • inter prediction is also referred to as inter prediction, inter frame prediction, motion compensation prediction, or the like.
  • FIG. 2 is an explanatory diagram showing an example of a predictive coding order of pixel blocks in the first embodiment.
  • the encoding device 100 performs predictive encoding from the upper left to the lower right of the pixel block, and the left side of the encoding target pixel block c in the encoding target frame f and The encoded pixel block p is located on the upper side.
  • the encoding apparatus 100 performs predictive encoding in the order shown in FIG. 2, but the order of predictive encoding is not limited to this.
  • the pixel block indicates a unit for processing an image, and corresponds to, for example, an M ⁇ N size block (M and N are natural numbers), a coding tree block, a macro block, a sub block, or one pixel.
  • M and N are natural numbers
  • the pixel block is basically used in the meaning of the coding tree block, but may be used in other meanings.
  • a pixel block is used to mean a pixel block of the prediction unit.
  • a block may be called by a name such as a unit.
  • a coding block is called a coding unit.
  • FIG. 3A is a diagram showing an example of the block size of the coding tree block in the first embodiment.
  • the coding tree block is typically a 64 ⁇ 64 pixel block as shown in FIG. 3A.
  • the present invention is not limited to this, and it may be a 32 ⁇ 32 pixel block, a 16 ⁇ 16 pixel block, an 8 ⁇ 8 pixel block, a 4 ⁇ 4 pixel block, or the like.
  • the coding tree block may not be a square, and may be, for example, an M ⁇ N size (M ⁇ N) pixel block.
  • FIG. 3B to 3D are diagrams illustrating specific examples of the coding tree block according to the first embodiment.
  • N represents the size of the reference coding tree block.
  • the size when divided is defined as N, and the size when not divided is defined as 2N.
  • FIG. 3C shows a coding tree block obtained by dividing the coding tree block of FIG. 3B into quadtrees.
  • the coding tree block has a quadtree structure as shown in FIG. 3C.
  • the four pixel blocks after the division are numbered in the Z-scan order as shown in FIG. 3C.
  • the coding tree block can be further divided into quadtrees within one quadtree number.
  • a coding tree block can be divided
  • the depth of division is defined by Depth.
  • the Depth of the coding tree block shown in FIG. 3B is 0, and the Depth of the coding tree block shown in FIG.
  • the coding tree block having the largest unit is called a large coding tree block, and the input image signal is encoded in this unit in the raster scan order.
  • the encoding target block or coding tree block of the input image may be referred to as a prediction target block or a prediction pixel block.
  • the encoding unit is not limited to a pixel block, and at least one of a frame, a field, a slice, a line, and a pixel can be used.
  • the encoding device 100 includes a subtraction unit 101, an orthogonal transformation unit 102, a quantization unit 103, an inverse quantization unit 104, an inverse orthogonal transformation unit 105, an addition unit 106, and a prediction
  • the image generation unit 107, the index setting unit 108, the motion evaluation unit 109, and the encoding unit 110 are provided.
  • the encoding control unit 111 shown in FIG. 1 controls the encoding apparatus 100 and can be realized by, for example, a CPU (Central Processing Unit).
  • the subtraction unit 101 subtracts the corresponding prediction image from the input image divided into pixel blocks to obtain a prediction error.
  • the subtraction unit 101 outputs a prediction error and inputs it to the orthogonal transform unit 102.
  • the orthogonal transform unit 102 performs orthogonal transform such as discrete cosine transform (DCT) or discrete sine transform (DST) on the prediction error input from the subtraction unit 101 to obtain transform coefficients.
  • the orthogonal transform unit 102 outputs transform coefficients and inputs them to the quantization unit 103.
  • the quantization unit 103 performs a quantization process on the transform coefficient input from the orthogonal transform unit 102 to obtain a quantized transform coefficient. Specifically, the quantization unit 103 performs quantization according to quantization information such as a quantization parameter or a quantization matrix specified by the encoding control unit 111. More specifically, the quantization unit 103 divides the transform coefficient by the quantization step size derived from the quantization information to obtain a quantized transform coefficient.
  • the quantization parameter indicates the fineness of quantization.
  • the quantization matrix is used for weighting the fineness of quantization for each component of the transform coefficient.
  • the quantization unit 103 outputs the quantized transform coefficient and inputs it to the inverse quantization unit 104 and the encoding unit 110.
  • the inverse quantization unit 104 performs an inverse quantization process on the quantized transform coefficient input from the quantization unit 103 to obtain a restored transform coefficient. Specifically, the inverse quantization unit 104 performs inverse quantization according to the quantization information used in the quantization unit 103. More specifically, the inverse quantization unit 104 multiplies the quantization transform coefficient by the quantization step size derived from the quantization information to obtain a restored transform coefficient. Note that the quantization information used in the quantization unit 103 is loaded from an internal memory (not shown) of the encoding control unit 111 and used. The inverse quantization unit 104 outputs the restored transform coefficient and inputs it to the inverse orthogonal transform unit 105.
  • the inverse orthogonal transform unit 105 performs inverse orthogonal transform such as inverse discrete cosine transform (IDCT) or inverse discrete sine transform (IDST) on the restored transform coefficient input from the inverse quantization unit 104, Get the restoration prediction error. Note that the inverse orthogonal transform performed by the inverse orthogonal transform unit 105 corresponds to the orthogonal transform performed by the orthogonal transform unit 102. The inverse orthogonal transform unit 105 outputs the reconstruction prediction error and inputs it to the addition unit 106.
  • inverse orthogonal transform such as inverse discrete cosine transform (IDCT) or inverse discrete sine transform (IDST)
  • the addition unit 106 adds the restored prediction error input from the inverse orthogonal transform unit 105 and the corresponding predicted image to generate a locally decoded image.
  • the adding unit 106 outputs the local decoded image and inputs it to the predicted image generation unit 107.
  • the predicted image generation unit 107 stores the locally decoded image input from the addition unit 106 as a reference image in a memory (not shown in FIG. 1), outputs the reference image stored in the memory, and inputs the reference image to the motion evaluation unit 109. . Further, the predicted image generation unit 107 performs weighted motion compensation prediction based on the motion information and WP parameter information input from the motion evaluation unit 109, and generates a predicted image. The predicted image generation unit 107 outputs a predicted image and inputs it to the subtracting unit 101 and the adding unit 106.
  • FIG. 4 is a block diagram illustrating an example of the configuration of the predicted image generation unit 107 of the first embodiment.
  • the predicted image generation unit 107 includes a multi-frame motion compensation unit 201, a memory 202, a unidirectional motion compensation unit 203, a prediction parameter control unit 204, a reference image selector 205, and a frame memory 206. And a reference image control unit 207.
  • the frame memory 206 stores the locally decoded image input from the addition unit 106 as a reference image under the control of the reference image control unit 207.
  • the frame memory 206 includes a plurality of memory sets FM1 to FMN (N ⁇ 2) for temporarily storing reference images.
  • the prediction parameter control unit 204 prepares a plurality of combinations of reference image numbers and prediction parameters as a table based on the motion information input from the motion evaluation unit 109.
  • the motion information indicates a motion vector indicating a shift amount of motion used in motion compensation prediction, a reference image number, information on a prediction mode such as unidirectional / bidirectional prediction, and the like.
  • the prediction parameter refers to information regarding a motion vector and a prediction mode. Then, the prediction parameter control unit 204 selects and outputs a combination of the reference image number and the prediction parameter used for generating the prediction image based on the input image, inputs the reference image number to the reference image selector 205, and outputs the prediction parameter. Is input to the unidirectional motion compensation unit 203.
  • the reference image selector 205 is a switch for switching which of the output terminals of the frame memories FM1 to FMN included in the frame memory 206 is connected according to the reference image number input from the prediction parameter control unit 204. For example, the reference image selector 205 connects the output end of FM1 to the output end of the reference image selector 205 if the reference image number is 0, and refers to the output end of the FMN if the reference image number is N-1. Connected to the output terminal of the image selector 205. The reference image selector 205 outputs the reference image stored in the frame memory to which the output terminal is connected among the frame memories FM1 to FMN included in the frame memory 206, and the unidirectional motion compensation unit 203 and the motion evaluation unit 109. Enter.
  • the unidirectional prediction motion compensation unit 203 performs a motion compensation prediction process according to the prediction parameter input from the prediction parameter control unit 204 and the reference image input from the reference image selector 205, and generates a unidirectional prediction image.
  • FIG. 5 is a diagram illustrating an example of a motion vector relationship of motion compensation prediction in the bidirectional prediction according to the first embodiment.
  • motion compensated prediction interpolation processing is performed using a reference image, and a unidirectional prediction image is generated based on the amount of motion deviation from the pixel block at the encoding target position between the generated interpolation image and the input image. .
  • the amount of deviation is a motion vector.
  • a prediction image is generated using a set of two types of reference images and motion vectors.
  • an interpolation process with 1/2 pixel accuracy, an interpolation process with 1/4 pixel accuracy, or the like is used, and the value of the interpolation image is generated by performing the filtering process on the reference image.
  • H.P. capable of performing interpolation processing up to 1/4 pixel accuracy on a luminance signal.
  • the shift amount is expressed by four times the integer pixel accuracy.
  • the unidirectional predicted motion compensation unit 203 outputs a unidirectional predicted image and temporarily stores it in the memory 202.
  • the multi-frame motion compensation unit 201 performs weighted prediction using two types of unidirectional prediction images, and thus the unidirectional prediction motion compensation unit 203.
  • the first unidirectional prediction image corresponding to the first is the first prediction image
  • the second unidirectional prediction image is the second prediction image.
  • two unidirectional motion compensation units 203 may be prepared and each may generate two unidirectional prediction images.
  • the unidirectional motion compensation unit 203 directly outputs the first unidirectional prediction image as the first prediction image to the multi-frame motion compensation unit 201. Good.
  • the multi-frame motion compensation unit 201 uses the first prediction image input from the memory 202, the second prediction image input from the unidirectional prediction motion compensation unit 203, and the WP parameter information input from the motion evaluation unit 109. Then, a prediction image is generated by performing weighted prediction.
  • the multi-frame motion compensation unit 201 outputs a prediction image and inputs the prediction image to the subtraction unit 101 and the addition unit 106.
  • FIG. 6 is a block diagram illustrating an example of the configuration of the multi-frame motion compensation unit 201 according to the first embodiment.
  • the multi-frame motion compensation unit 201 includes a default motion compensation unit 301, a weighted motion compensation unit 302, a WP parameter control unit 303, and WP selectors 304 and 305.
  • the WP parameter control unit 303 outputs a WP application flag and weight information based on the WP parameter information input from the motion evaluation unit 109, inputs the WP application flag to the WP selectors 304 and 305, and weights the weight information. Input to the motion compensation unit 302.
  • the WP parameter information includes the fixed-point precision of the weighting factor, the first WP application flag corresponding to the first predicted image, the first weighting factor, the first offset, and the second WP adaptation corresponding to the second predicted image. Contains information on flag, second weighting factor, and second offset.
  • the WP application flag is a parameter that can be set for each corresponding reference image and signal component, and indicates whether to perform weighted motion compensation prediction.
  • the weight information includes information on the fixed point precision of the weight coefficient, the first weight coefficient, the first offset, the second weight coefficient, and the second offset.
  • the WP parameter control unit 303 separates the WP parameter information into a first WP application flag, a second WP application flag, and weight information, and outputs them.
  • the first WP application flag is input to the WP selector 304
  • the second WP application flag is input to the WP selector 305
  • the weight information is input to the weighted motion compensation unit 302.
  • the WP selectors 304 and 305 switch the connection end of each predicted image based on the WP application flag input from the WP parameter control unit 303.
  • each WP application flag is 0, the WP selectors 304 and 305 connect each output terminal to the default motion compensation unit 301. Then, the WP selectors 304 and 305 output the first predicted image and the second predicted image and input them to the default motion compensation unit 301.
  • each WP application flag is 1
  • the WP selectors 304 and 305 connect each output terminal to the weighted motion compensation unit 302.
  • the WP selectors 304 and 305 output the first predicted image and the second predicted image, and input them to the weighted motion compensation unit 302.
  • the default motion compensation unit 301 performs an average value process based on the two unidirectional prediction images (first prediction image and second prediction image) input from the WP selectors 304 and 305 to generate a prediction image. Specifically, when the first WP application flag and the second WP application flag are 0, the default motion compensation unit 301 performs average value processing based on Expression (1).
  • P [x, y] is a predicted image
  • PL0 [x, y] is a first predicted image
  • PL1 [x, y] is a second predicted image
  • offset2 and shift2 are parameters of the rounding process in the average value process, and are determined by the internal calculation accuracy of the first predicted image and the second predicted image. If the bit accuracy of the prediction image is L and the bit accuracy of the first prediction image and the second prediction image is M (L ⁇ M), shift2 is formulated by Equation (2), and offset2 is formulated by Equation (3). Is done.
  • Offset2 (1 ⁇ (shift2-1) ... (3)
  • the default motion compensation unit 301 uses only the first prediction image and calculates a final prediction image based on Expression (4). calculate.
  • PLX [x, y] indicates a unidirectional prediction image (first prediction image), and X is an identifier indicating either 0 or 1 in the reference list.
  • X is an identifier indicating either 0 or 1 in the reference list.
  • offset1 and shift1 are parameters of the rounding process, and are determined by the internal calculation accuracy of the first predicted image.
  • bit accuracy of the predicted image is L and the bit accuracy of the first predicted image is M
  • shift1 is formulated by Equation (5)
  • offset1 is formulated by Equation (6).
  • Offset1 (1 ⁇ (shift1-1) ... (6)
  • the weighted motion compensation unit 302 is based on the two unidirectional prediction images (first prediction image and second prediction image) input from the WP selectors 304 and 305 and the weight information input from the WP parameter control unit 303. Performs weighted motion compensation. Specifically, when the first WP application flag and the second WP application flag are 1, the weighted motion compensation unit 302 performs the weighting process based on Expression (7).
  • w 0C is a weight coefficient corresponding to the first predicted image
  • w 1C is a weight coefficient corresponding to the second predicted image
  • o 0C is an offset corresponding to the first predicted image
  • o 1C is corresponding to the second predicted image.
  • logWD C is a parameter indicating the fixed-point precision of each weighting factor.
  • the weighted motion compensation unit 302 rounds off the log WD C , which is the fixed-point precision, as in Expression (8) when the calculation accuracy of the first prediction image, the second prediction image, and the prediction image is different. Realize processing.
  • the rounding process can be realized by replacing logWD C in Expression (7) with logWD ′ C in Expression (8).
  • a bit precision of the predicted image 8 when the bit precision of the first prediction image and the second prediction image is 14, by resetting the LogWD C, the same operation accuracy and shift2 formula (1) It is possible to implement a batch rounding process in
  • the weighted motion compensation unit 302 uses only the first predicted image and uses the final predicted image based on Equation (9). Is calculated.
  • PLX [x, y] indicates a unidirectional prediction image (first prediction image)
  • wXC indicates a weighting factor corresponding to unidirectional prediction
  • X is either 0 or 1 in the reference list. Is an identifier. For example, when the reference list is 0, PL0 [x, y] and w 0C are obtained , and when the reference list is 1, PL1 [x, y] and w 1C are obtained.
  • the weighted motion compensator 302 if the calculation accuracy of the predicted image and the first prediction image and the second prediction image are different, equation as in the case of bidirectional prediction the LogWD C is a fixed point precision (8)
  • the rounding process is realized by controlling as described above.
  • the rounding process can be realized by replacing logWD C in Expression (7) with logWD ′ C in Expression (8). For example, when the bit accuracy of the predicted image is 8 and the bit accuracy of the first predicted image is 14, by resetting logWD C , the batch rounding process with the same calculation accuracy as shift1 of Expression (4) is performed. It can be realized.
  • FIG. 7 is an explanatory diagram of an example of the fixed-point precision of the weighting coefficient in the first embodiment, and is a diagram illustrating an example of a change between a moving image having a brightness change in the time direction and a gradation value.
  • the encoding target frame is Frame (t)
  • the temporally previous frame is Frame (t ⁇ 1)
  • the temporally subsequent frame is Frame (t + 1).
  • the weighting coefficient means the degree of change in FIG. 7 and takes a value of 1.0 when there is no change in brightness, as is clear from Equation (7) and Equation (9).
  • Fixed point precision is a parameter for controlling the step size corresponding to the decimal of the weighting factor, the weighting factor when there is no change in lightness is a 1 ⁇ logWD C.
  • second WP adaptive flag In the case of unidirectional prediction, various parameters (second WP adaptive flag, second weighting factor, and second offset information) corresponding to the second predicted image are not used, and are set to predetermined initial values. May be.
  • the motion evaluation unit 109 performs motion evaluation between a plurality of frames based on the input image and the reference image input from the predicted image generation unit 107, outputs motion information and WP parameter information, and stores the motion information.
  • the prediction image generation unit 107 and the encoding unit 110 are input, and the WP parameter information is input to the prediction image generation unit 107 and the index setting unit 108.
  • the motion evaluation unit 109 calculates an error by calculating a difference value starting from a plurality of reference images corresponding to the same position as the input image of the prediction target pixel block, shifts the position with a fractional accuracy, and minimizes the error.
  • Optimal motion information is calculated by a technique such as block matching for searching for a block.
  • the motion evaluation unit 109 performs block matching including default motion compensation prediction as shown in Equation (1) and Equation (4) using motion information derived by unidirectional prediction.
  • motion information for bidirectional prediction is calculated.
  • the motion evaluation unit 109 can calculate the WP parameter information by performing block matching including the weighted motion compensation prediction as represented by Expression (7) and Expression (9).
  • the WP parameter information may be calculated using a method of calculating a weighting factor or an offset using the brightness gradient of the input image, or a method of calculating a weighting factor or an offset by accumulating prediction errors when encoded. Good.
  • the WP parameter information may be a fixed value determined in advance for each encoding device.
  • the motion evaluation unit 109 can calculate a weighting coefficient by calculating this inclination.
  • the fixed-point precision of the weighting factor is information indicating the accuracy of this inclination
  • the motion evaluation unit 109 can calculate an optimum value from the temporal distance of the reference image and the degree of change in image brightness. For example, in FIG. 7, when the weighting coefficient between Frame (t ⁇ 1) and Frame (t + 1) is 0.75 in decimal point precision, 3/4 can be expressed with 1 ⁇ 4 precision.
  • the unit 109 sets the fixed point precision to 2 (1 ⁇ 2). Since the value of the fixed-point precision affects the code amount when the weighting coefficient is encoded, an optimal value may be selected in consideration of the code amount and the prediction accuracy. Note that the fixed-point precision value may be a predetermined fixed value.
  • the motion evaluation unit 109 can calculate the offset value by obtaining a correction value (deviation amount) corresponding to the intercept of the linear function. For example, in FIG. 7, when the weighting coefficient between Frame (t ⁇ 1) and Frame (t + 1) is 0.60 in decimal point precision and the fixed point precision is 1 (1 ⁇ 1), the weighting coefficient is 1 (That is, it corresponds to the decimal point precision 0.50 of the weighting factor) is likely to be set. In this case, since the decimal point accuracy of the weighting coefficient is deviated from 0.60, which is the optimum value, by 0.10, the motion evaluation unit 109 calculates the correction value for this amount from the maximum value of the pixel and uses it as an offset value. Set. When the maximum value of the pixel is 255, the motion evaluation unit 109 may set a value such as 25 (255 ⁇ 0.1).
  • the motion evaluation unit 109 is illustrated as a function of the encoding device 100.
  • the motion evaluation unit 109 is not an essential component of the encoding device 100.
  • the motion evaluation unit 109 is encoded. It is good also as an apparatus outside the conversion apparatus 100. In this case, the motion information and WP parameter information calculated by the motion evaluation unit 109 may be loaded into the encoding device 100.
  • the index setting unit 108 receives the WP parameter information input from the motion evaluation unit 109, confirms the reference list (list number) and the reference image (reference number), outputs the index information, and sends it to the index setting unit 108. input.
  • FIG. 8 is a block diagram illustrating an example of the configuration of the index setting unit 108 of the first embodiment.
  • the index setting unit 108 includes a reference image confirmation unit 401 and an index generation unit 402.
  • the reference image confirmation unit 401 receives the WP parameter information input from the motion evaluation unit 109 and confirms whether there is a WP parameter in which the reference numbers included in the two reference lists indicate the same reference image.
  • the reference image confirmation unit 401 deletes the WP parameter indicating the same reference image from the WP parameter information, outputs the WP parameter information after the deletion, and inputs the WP parameter information to the index generation unit 402.
  • the index generation unit 402 receives the WP parameter information from which the redundant WP parameter has been deleted from the reference image confirmation unit 401, performs mapping on syntax elements described later, and generates index information.
  • the index generation unit 402 outputs index information and inputs it to the encoding unit 110.
  • FIGS. 9A and 9B are diagrams illustrating examples of WP parameter information according to the first embodiment.
  • An example of WP parameter information at the time of P-slice is as shown in FIG. 9A
  • an example of WP parameter information at the time of B-slice is as shown in FIGS. 9A and 9B.
  • the list number is an identifier indicating the prediction direction, and takes a value of 0 when unidirectional prediction is used, and two values of 0 and 1 can be used when bidirectional prediction is used.
  • the reference number is a value corresponding to 1 to N shown in the frame memory 206. Since the WP parameter information is stored for each reference list and reference image, the information necessary for B-slice is 2N when N reference images are provided.
  • the reference image confirmation unit 401 reconverts these WP parameter information and deletes redundant WP parameters.
  • FIG. 10 is a diagram showing an example of the encoding order and display order (POC: Pcorder Order Count) in the low delay encoding structure of the first embodiment, and B-slice that can be a reference image is represented by rB- The example of the encoding structure used as slice is shown.
  • POC Pcorder Order Count
  • FIG. 11 is a diagram illustrating an example of a relationship between a reference image and a reference number in the low delay coding structure according to the first embodiment, and simplifies the relationship between the reference image and the reference number when the frame 4 is encoded.
  • WP parameter information In the example shown in FIG. 11, the order of reference numbers in the reference list is the same in list 0 and list 1, which means that the reference images in list 0 and list 1 are the same.
  • FIG. 12 is a diagram illustrating an example of the encoding order and the display order in the random access encoding structure of the first embodiment.
  • frames 0, 2, 4, and 8 have been encoded in the display order.
  • encoding frame 1 For encoding frame 1.
  • FIG. 13 is a diagram illustrating an example of the relationship between the reference image and the reference number in the random access coding structure according to the first embodiment, and simplifies the relationship between the reference image and the reference number when encoding frame 1.
  • WP parameter information In the example illustrated in FIG. 13, the order of reference numbers for each reference list is different, but list 0 and list 1 include four common reference images. This means that the reference images are the same.
  • the reference image confirmation unit 401 deletes redundant WP parameters, that is, WP parameters indicating the same reference images included in the two reference lists, so that the reference numbers are rearranged and a common new index Convert to
  • FIG. 14 is a diagram illustrating an example of a reference image list number and a reference number scan order according to the first embodiment.
  • the reference image confirmation unit 401 converts a two-dimensional reference list (two reference lists) into a one-dimensional common list (one common list) in the scan order shown in FIG. Specifically, the reference image confirmation unit 401 reads the WP parameter information shown in FIGS. 9A and 9B in the scan order shown in FIG. 14, rearranges the two reference lists into a common list, and redundant WP parameters. Is deleted.
  • the reference image confirmation unit 401 reads WP parameter information in accordance with the pseudo code shown in Equation (10).
  • common_scan_list is a function that returns a list number corresponding to the scan number in FIG.
  • common_scan_ref_idx is a function that returns a reference number corresponding to the scan number of FIG.
  • RefPicOrderCnt is a function that returns a POC number corresponding to a list number and a reference number.
  • the POC number is a number indicating the display order of reference images. However, when the POC number exceeds a predetermined maximum number, the POC number is mapped to an initial value. For example, when the maximum POC number is 255, the POC number corresponding to 256 is 0.
  • CommonRefPicOrderCount is a function that returns a POC number corresponding to the reference number of the common list (CommonList).
  • InsertCommonRefPicOrderCount is a function for inserting a POC number corresponding to a scan number into a common list (CommonList).
  • the scan order shown in FIG. 14 is an example, and any other scan order may be used as long as it is a predetermined scan order.
  • the pseudo code shown in Equation (10) is an example, and if the purpose of this processing can be realized, it is possible to add processing and reduce redundant processing.
  • FIG. 15 and FIG. 16 are diagrams showing a simplified example of WP parameter information after common list conversion in the first embodiment.
  • 15 shows simplified WP parameter information of the common list obtained by converting the WP parameter information of the reference list shown in FIG. 11
  • FIG. 16 shows a common list obtained by converting the WP parameter information of the reference list shown in FIG. The WP parameter information is simply shown.
  • FIG. 17 is a flowchart showing an example of index information generation processing executed by the index setting unit 108 of the first embodiment.
  • the reference image confirmation unit 401 branches the process according to the slice type (step S101).
  • the reference image confirmation unit 401 When the slice type is a unidirectional prediction slice (P-slice) using only one reference list (No in step S101), the reference image confirmation unit 401 directly uses the WP parameter information illustrated in FIG. 9A as an index generation unit. Output to 402.
  • the index generation unit 402 generates index information by mapping the WP parameter information input from the reference image confirmation unit 401 to a predetermined syntax element to be described later, and outputs the index information.
  • the reference image confirmation unit 401 initializes the variable scan to 0 (step S102). ).
  • the variable scan indicates the scan number in FIG.
  • the reference image confirmation unit 401 acquires a variable list indicating a list number corresponding to the scan number by using the variable scan (step S103), and acquires a variable refIdx indicating the reference number corresponding to the scan number. (Step S104).
  • the reference image confirmation unit 401 derives a variable refPOC indicating the POC number of the reference image corresponding to the list number indicated by the variable list and the reference number indicated by the variable refIdx (step S105).
  • the reference image confirmation unit 401 sets the flag identifier_ref_flag to false (step S106) and sets the variable curridx to 0 (step S107).
  • the flag “identical_ref_flag” indicates whether or not the same reference image exists in the common list.
  • the variable curridx indicates the reference number of the common list.
  • the reference image confirmation unit 401 determines whether the POC number indicated by the derived variable refPOC is the same as the POC number of the reference image corresponding to the reference number indicated by the variable curridx (step S108).
  • step S109 If both POC numbers are the same (Yes in step S108), the reference image confirmation unit 401 sets the flag “identical_ref_flag” to true (step S109). On the other hand, when both POC numbers are not the same (No in step S108), the process of step S109 is not performed.
  • the reference image confirmation unit 401 increments the variable curridx (step S110).
  • the reference image confirmation unit 401 determines whether or not the value of the variable curridx is larger than num_of_common_active_ref_minus1 that is a value obtained by subtracting 1 from the maximum number of common lists (step S111), and during num_of_common_active_ref_minus1 or less (No in step S111) ), The processing from step S108 to step S110 is repeated.
  • the reference image confirmation unit 401 completes the confirmation of the common list, and further confirms whether the flag identifier_ref_flag is false (step S112).
  • the reference image confirmation unit 401 determines that the common list does not include the same reference image as the reference image having the POC number indicated by the variable refPOC, and the POC indicated by the variable refPOC. The number is added to the common list (step S113). On the other hand, if the flag identifier_ref_flag is true (No in step S112), the reference image confirmation unit 401 determines that the same reference image as the reference image of the POC number indicated by the variable refPOC is included in the common list, and the process of step S113 Do not do.
  • the reference image confirmation unit 401 increments the variable scan (step S114).
  • the reference image confirmation unit 401 determines whether or not the value of the variable scan is larger than num_of_common_active_ref_minus1 that is a value obtained by subtracting 1 from the maximum number of common lists (step S115), and if it is less than or equal to num_of_common_active_ref_minus1 (in step S115) No), it returns to step S103. On the other hand, if it is larger than num_of_common_active_ref_minus1 (Yes in step S115), the reference image confirmation unit 401 outputs the WP parameter information converted into the common list to the index generation unit 402.
  • the index generation unit 402 generates index information by mapping the WP parameter information input from the reference image confirmation unit 401 to a predetermined syntax element to be described later, and outputs the index information.
  • the encoding unit 110 receives the quantized transform coefficient input from the quantization unit 103, the motion information input from the motion evaluation unit 109, the index information input from the index setting unit 108, and the encoding control.
  • Entropy encoding is performed on various encoding parameters such as quantization information specified by the unit 111 to generate encoded data.
  • Entropy coding corresponds to, for example, Huffman coding or arithmetic coding.
  • the encoding parameter is a parameter necessary for decoding, such as prediction information indicating a prediction method, information on quantization transform coefficients, information on quantization, and the like.
  • the encoding control unit 111 has an internal memory (not shown), the encoding parameters are held in the internal memory, and the encoding parameters of the adjacent already encoded pixel block are used when encoding the pixel block. You can For example, H.M. In the H.264 intra prediction, the prediction information of the pixel block can be derived from the prediction information of the encoded adjacent block.
  • the encoding unit 110 outputs the generated encoded data according to an appropriate output timing managed by the encoding control unit 111.
  • the output encoded data is, for example, multiplexed with various information such as a multiplexing unit (not shown) and temporarily stored in an output buffer (not shown). (Storage medium) or transmission system (communication line).
  • FIG. 18 is a diagram illustrating an example of the syntax 500 used by the encoding device 100 according to the first embodiment.
  • a syntax 500 indicates a structure of encoded data generated by the encoding apparatus 100 by encoding an input image (moving image data).
  • a decoding device described later refers to the same syntax structure as that of the syntax 500 and interprets the syntax of the moving image.
  • the syntax 500 includes three parts: a high level syntax 501, a slice level syntax 502, and a coding tree level syntax 503.
  • the high level syntax 501 includes syntax information of a layer higher than the slice.
  • a slice refers to a rectangular area or a continuous area included in a frame or a field.
  • the slice level syntax 502 includes information necessary for decoding each slice.
  • the coding tree level syntax 503 includes information necessary for decoding each coding tree (ie, each coding tree block). Each of these parts includes more detailed syntax.
  • the high level syntax 501 includes sequence and picture level syntaxes such as a sequence parameter set syntax 504, a picture parameter set syntax 505, and an adaptation parameter set syntax 506.
  • the slice level syntax 502 includes a slice header syntax 507, a bread weight table syntax 508, a slice data syntax 509, and the like.
  • the tread weight table syntax 508 is called from the slice header syntax 507.
  • the coding tree level syntax 503 includes a coding tree unit syntax 510, a transform unit syntax 511, a prediction unit syntax 512, and the like.
  • the coding tree unit syntax 510 may have a quadtree structure. Specifically, the coding tree unit syntax 510 can be recursively called as a syntax element of the coding tree unit syntax 510. That is, one coding tree block can be subdivided with a quadtree.
  • the coding tree unit syntax 510 includes a transform unit syntax 511.
  • the transform unit syntax 511 is called in each coding tree unit syntax 510 at the extreme end of the quadtree.
  • the transform unit syntax 511 describes information related to inverse orthogonal transformation and quantization. In these syntaxes, information related to weighted motion compensation prediction may be described.
  • FIG. 19 is a diagram illustrating an example of the picture parameter set syntax 505 according to the first embodiment.
  • weighted_pred_flag is a syntax element indicating whether the weighted compensation prediction of the first embodiment related to P-slice is valid or invalid.
  • weighted_pred_flag is 0, the weighted motion compensation prediction of the first embodiment in the P-slice is invalid.
  • the WP application flag included in the WP parameter information is always set to 0, and the WP selectors 304 and 305 connect the respective output terminals to the default motion compensation unit 301.
  • weighted_pred_flag is 1, the weighted motion compensation prediction of the first embodiment in the P-slice is valid.
  • weighted_pred_flag 1
  • syntax of lower layers slice header, coding tree block, transform unit, prediction unit, etc.
  • validity or invalidity of the weighted motion compensated prediction of one embodiment may be specified.
  • Weighted_bipred_idc is a syntax element indicating, for example, the validity or invalidity of the weighted compensation prediction of the first embodiment related to B-slice.
  • weighted_bipred_idc is 0, the weighted motion compensation prediction of the first embodiment in the B-slice is invalid. Accordingly, the WP application flag included in the WP parameter information is always set to 0, and the WP selectors 304 and 305 connect the respective output terminals to the default motion compensation unit 301.
  • weighted_bipred_idc is 1, the weighted motion compensation prediction of the first embodiment in the B-slice is valid.
  • weighted_bipred_idc is 1, in the syntax of lower layers (slice header, coding tree block, transform unit, etc.), the syntax of the first embodiment is determined for each local region inside the slice.
  • the validity or invalidity of the weighted motion compensation prediction may be defined.
  • FIG. 20 is a diagram illustrating an example of the slice header syntax 507 according to the first embodiment.
  • the slice_type indicates the slice type (I-slice, P-slice, B-slice, etc.) of the slice.
  • pic_parameter_set_id is an identifier indicating which picture parameter set syntax 505 is to be referred to.
  • num_ref_idx_active_override_flag is a flag indicating whether or not the number of valid reference images is updated. When this flag is 1, num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1 that define the number of reference images in the reference list can be used.
  • pred_weight_table is a function indicating the breadth table syntax used for weighted motion compensation prediction.
  • FIG. 21 is a diagram illustrating an example of the tread weight table syntax 508 according to the first embodiment.
  • luma_log2_weight_denom represents the fixed point precision of the weighting coefficients of the luminance signal in the slice is a value corresponding to the LogWD C of Equation (7) or formula (9).
  • chroma_log2_weight_denom represents the fixed point precision of the weighting coefficients of the color difference signal in the slice is a value corresponding to the LogWD C of Equation (7) or formula (9).
  • chroma_format_idc is an identifier representing a color space
  • MONO_IDX is a value indicating a monochrome video.
  • num_ref_common_active_minus1 indicates a value obtained by subtracting 1 from the number of reference images included in the common list in the slice, and is used in Expression (10).
  • the maximum value of this value is a value obtained by adding the maximum values of the two reference image numbers of list 0 and list 1.
  • luma_weight_common_flag indicates a WP adaptation flag in the luminance signal.
  • the weighted motion compensated prediction of the luminance signal of the first embodiment is effective over the entire slice.
  • chroma_weight_common_flag indicates a WP adaptation flag in the color difference signal.
  • this flag is 1, the weighted motion compensation prediction of the chrominance signal of the first embodiment is valid in the entire slice.
  • luma_weight_common [i] is a weighting factor of the luminance signal corresponding to the i-th managed in the common list.
  • luma_offset_common [i] is an offset of the luminance signal corresponding to the i-th managed in the common list.
  • chroma_weight_common [i] [j] is a weight coefficient of the color difference signal corresponding to the i-th managed in the common list.
  • chroma_offset_common [i] [j] is an offset of the color difference signal corresponding to the i-th managed in the common list.
  • C Cr or Cb.
  • the index setting unit 108 includes two reference lists when there is a combination including the same reference image in the two reference lists of the list 0 and the list 1 in the WP parameter information.
  • the code amount of the index information can be reduced.
  • the weighting factor and the offset need to be encoded for each reference image, the amount of information signaled to the decoder increases as the number of reference images increases. However, when the number of reference images increases, the same information is included in the reference list. Since the number of cases in which reference images are referred to increases, a large code amount reduction effect can be expected by managing the reference images.
  • Modification of the first embodiment A modification of the first embodiment will be described.
  • the syntax elements used by the index generation unit 402 are different from the syntax elements of the first embodiment.
  • FIG. 22 is a diagram illustrating an example of a sequence parameter set syntax 504 according to a modification of the first embodiment.
  • profile_idc is an identifier indicating information on a profile of encoded data.
  • level_idc is an identifier indicating information on the level of encoded data.
  • seq_parameter_set_id is an identifier indicating which sequence parameter set syntax 504 is to be referred to.
  • num_ref_frames is a variable indicating the maximum number of reference images in a frame.
  • the weighted_prediction_enabled_flag is a syntax element indicating, for example, whether the weighted motion compensated prediction of the modified example is valid or invalid with respect to the encoded data.
  • weighted_prediction_enabled_flag When weighted_prediction_enabled_flag is 0, the weighted motion compensated prediction of the modified example in the encoded data is invalid. Accordingly, the WP application flag included in the WP parameter information is always set to 0, and the WP selectors 304 and 305 connect the respective output terminals to the default motion compensation unit 301. On the other hand, when weighted_prediction_enabled_flag is 1, the weighted motion compensation prediction of the modified example is valid over the entire encoded data.
  • weighted_prediction_enabled_flag 1
  • the syntax of lower layers picture parameter set, adaptation parameter set, slice header, coding tree block, transform unit, prediction unit, etc.
  • the validity or invalidity of the weighted motion compensated prediction of the modified example may be defined for each local region inside the slice.
  • FIG. 23 is a diagram illustrating an example of an adaptation parameter set syntax 506 according to a modification of the first embodiment.
  • the adaptation parameter set syntax 506 holds parameters that affect the entire encoded frame, and is encoded independently as an upper unit. For example, H.M. In H.264, syntax elements corresponding to the high-level syntax 501 are encoded as NAL units. For this reason, the adaptation parameter set syntax 506 is different in syntax and encoding unit from the lower level syntax than the slice level syntax 502 that holds parameters of lower information represented by slices and pixel blocks.
  • Aps_id is an identifier indicating which adaptation parameter set syntax 506 is to be referred to.
  • the lower slice can refer to any encoded aps_id. In this case, for example, by adding a similar aps_id to the slice header syntax 507 in FIG. 20, it is possible to read parameters that affect the entire frame.
  • Aps_weighted_prediction_flag is a syntax element indicating the validity or invalidity of weighted motion compensation prediction in a modified example related to P-slice in a frame, for example.
  • aps_weighted_prediction_flag When aps_weighted_prediction_flag is 0, the weighted motion compensation prediction of the modified example with P-slice in the frame is invalid. Accordingly, the WP application flag included in the WP parameter information is always set to 0, and the WP selectors 304 and 305 connect the respective output terminals to the default motion compensation unit 301.
  • aps_weighted_prediction_flag is 1, the weighted motion compensated prediction of the modified example is valid throughout the frame.
  • aps_weighted_prediction_flag 1
  • the syntax of lower layers (slice header, coding tree block, transform unit, prediction unit, etc.) is modified for each local region in the slice.
  • the validity or invalidity of the weighted motion compensation prediction of the example prediction may be specified.
  • Aps_weighted_bipred_idx is a syntax element indicating whether weighted motion compensated prediction of a modified example related to B-slice in a frame is valid or invalid.
  • aps_weighted_bipred_idx is 0, the weighted motion compensated prediction of the modified example with P-slice in the frame is invalid.
  • the WP application flag included in the WP parameter information is always set to 0, and the WP selectors 304 and 305 connect the respective output terminals to the default motion compensation unit 301.
  • aps_weighted_bipred_idx is 1, the weighted motion compensated prediction of the modified example is valid throughout the frame.
  • aps_weighted_bipred_idx is 1
  • the syntax of lower layers is modified for each local region inside the slice.
  • the validity or invalidity of the weighted motion compensation prediction of the example prediction may be specified.
  • Pred_weight_table is a function indicating the predicate weight table syntax used for weighted motion compensation prediction. This function is called when aps_weighted_prediction_flag is 1 or aps_weighted_bipred_idx is 1.
  • FIG. 24 is a diagram illustrating an example of a predicate weight table syntax 508 according to a modification of the first embodiment.
  • the tread weight table syntax 508 is called from the adaptation parameter set syntax 506.
  • a difference from the predicate weight table syntax 508 of FIG. 21 is that num_ref_common_active_minus1 is changed to MAX_COMMON_REF_MINUS1. Since the number of reference images is described in the slice header syntax 507, it cannot be referenced in the adaptation parameter set syntax 506 that is an upper layer.
  • a value obtained by subtracting 1 from the value of num_ref_frames described in the sequence parameter set syntax 504 is set in MAX_COMMON_REF_MINUS1. Further, a value capable of obtaining the maximum number of reference images may be determined according to a predetermined profile or level. Other syntax elements are the same as those in FIG.
  • the WP parameter information code when one frame is divided into a plurality of slices is obtained by using the structure in which the preadweight table syntax 508 is called from the adaptation parameter set syntax 506. The amount can be greatly reduced.
  • the adaptation parameter set syntax 506 having three different types of WP parameter information to be used is encoded first, and the slice header syntax 507 calls a necessary WP parameter information using aps_id according to the situation.
  • the amount of codes can be reduced as compared with the configuration in which the WP parameter information is always encoded with the slice header syntax 507.
  • FIG. 25 is a block diagram illustrating an example of the configuration of the index setting unit 608 of the second embodiment.
  • the index setting unit 608 includes a reuse determination unit 601 and an index generation unit 602.
  • the reuse determination unit 601 collates the reference number of list 1 with the reference number of list 0 and determines whether to reuse the WP parameter information of list 0 as the WP parameter information of list 1.
  • the reuse determination unit 601 reuses the WP parameter information in the list 0.
  • the reuse determination unit 601 sets the reuse flag to 1 when reusing the WP parameter information in list 0, and sets the reference number of the reference destination (list 0) as reference information.
  • the reuse determining unit 601 sets the reuse flag to 0 when not reusing the WP parameter information in list 0, and sets the WP parameter information corresponding to the reference number in list 1 in the syntax.
  • the reuse determination unit 601 determines whether to reuse the WP parameter information in list 0 as the WP parameter information in list 1 according to, for example, the pseudo code shown in Equation (11).
  • ListL0 indicates list 0 and ListL1 indicates list 1.
  • RefWPTable () is a flag indicating whether or not the input reference WP parameter matches the WP parameter corresponding to the input list number and reference number. A function to return. A flag value of 1 indicates that both WP parameters match.
  • the reuse flag is set. The reuse_wp_flag to be shown is set to “ture”, and the corresponding reference number in the list 0 is set to “reuse_ref_idx”.
  • the reuse determination unit 601 outputs the WP parameter information after the reuse determination (reuse is set) and inputs the WP parameter information to the index generation unit 602.
  • the index generation unit 602 receives the WP parameter information after the reuse determination from the reuse determination unit 601, performs mapping to a syntax element described later, and generates index information. Note that the syntax elements to which the index generation unit 602 performs mapping are different from those in the first embodiment.
  • the index generation unit 602 outputs index information and inputs it to the encoding unit 110.
  • FIG. 26 is a flowchart illustrating an example of index information generation processing executed by the index setting unit 608 of the second embodiment.
  • the reuse determination unit 601 branches the process according to the slice type (step S201).
  • the reuse determination unit 601 directly uses the WP parameter information illustrated in FIG. 9A as an index generation unit. Output to 602.
  • the index generation unit 602 generates index information by mapping the WP parameter information input from the reuse determination unit 601 to a predetermined syntax element to be described later, and outputs the index information.
  • the reuse determination unit 601 initializes the variable refIdc to 0 (step S202).
  • the variable refIdc indicates the reference number of list 1.
  • the reuse determination unit 601 derives a variable refPOC indicating the POC number of the reference image corresponding to the reference number indicated by the variable refIdx (step S203), and derives a WP parameter corresponding to the reference number indicated by the variable refIdx. (Step S204).
  • the reuse determining unit 601 sets the flag reuse_wp_flag to false (step S205) and sets the variable curridx to 0 (step S206).
  • the flag reuse_wp_flag indicates whether or not the WP parameters of list 0 and list 1 are the same.
  • the variable curridx indicates the reference number of list 0.
  • the reuse determination unit 601 has the same POC number indicated by the derived variable refPOC and the POC number of the reference image corresponding to the reference number indicated by the variable curridx, and the WP corresponding to the reference number indicated by the variable refIdx. It is determined whether the parameter and the WP parameter corresponding to the reference number indicated by the variable curridx are the same (step S207).
  • Step S207 When both POC numbers and both WP parameters are the same (Yes in Step S207), the reuse determining unit 601 sets the flag reuse_wp_flag to true (Step S208) and substitutes the value of the variable curridx for the variable reuse_ref_idx ( Step S209). On the other hand, if both POC numbers or both WP parameters are not the same (No in step S207), the processes in steps S208 and S209 are not performed. A configuration in which the POC number match is not confirmed may be used.
  • the reuse determination unit 601 increments the variable curridx (step S210).
  • the reuse determination unit 601 determines whether or not the value of the variable curridx is larger than num_of_active_ref_l0_minus1 that is a value obtained by subtracting 1 from the maximum number in list 0 (step S211), and during num_of_active_ref_l0_minus1 or less (No in step S211) ), The processing of step S207 to step S210 is repeated.
  • the reuse determination unit 601 completes the confirmation of the list 0 and increments the variable refIdx (step S212).
  • the reuse determination unit 601 determines whether or not the value of the variable refIdx is larger than num_of_active_ref_l1_minus1 that is a value obtained by subtracting 1 from the maximum number in list 1 (step S213), and during num_of_active_ref_l1_minus1 or less (No in step S213) ), The processing of step S203 to step S212 is repeated.
  • the reuse determination unit 601 completes confirmation of the list 1, and outputs the WP parameter information after the reuse determination to the index generation unit 602.
  • the index generation unit 602 generates index information by mapping the WP parameter information input from the reuse determination unit 601 to a predetermined syntax element to be described later, and outputs the index information.
  • FIG. 27 is a diagram illustrating an example of the predicate weight table syntax 506 of the second embodiment.
  • those having symbols l0 and l1 correspond to lists 0 and 1, respectively.
  • syntax elements having the same prefix as in FIG. 21 are used as the same variable except that the list is different from the list 0 or list 1 but not the common list.
  • luma_weight_l0 [i] is a syntax element representing the i-th weight coefficient with the reference number in the reference list l0.
  • Luma_log2_weight_denom and chroma_log2_weight_denom have the same configuration as in the first embodiment.
  • luma_weight_l0_flag, luma_weight_l0 [i], luma_offset_l0 [i], chroma_weight_l0_flag, chroma_weight_l0 [i] [j], and chroma_offset_l0 [i] [j] are defined for the list 0 having the symbol l0.
  • a syntax element relating to the list 1 having the symbol l1 is defined.
  • reuse_wp_flag is a syntax element indicating whether to reuse the WP parameter of l0 corresponding to list 0.
  • reuse_ref_idx is encoded without encoding the weighting coefficient and the offset.
  • reuse_ref_idx indicates which WP parameter corresponding to which reference number of l0 corresponding to list 0 is used. For example, when reuse_ref_idx is 1, the WP parameter corresponding to reference number 1 in list 0 is copied to the WP parameter corresponding to reference number i in list 1.
  • luma_weight_l1_flag When reuse_wp_flag is 0, as in list 0, luma_weight_l1_flag, luma_weight_l1 [i], luma_offset_l1 [i], chroma_weight_l1_flag, chroma_weight_l1 [i] [j], and chroma_offset_l1 [i] [j] are encoded.
  • the index setting unit 608 when there is a combination including the same reference image in the two reference lists of list 0 and list 1 in the WP parameter information, By reusing, redundant redundant WP parameters are deleted from the WP parameter information to generate index information. Therefore, according to the second embodiment, the code amount of the index information can be reduced.
  • the WP parameter information corresponding to the list 0 is encoded as before, and when the WP parameter information corresponding to the list 1 is encoded, it is checked whether or not the same reference image is referred to in the list 0. If the same reference image is referenced and the WP parameters are the same, a flag for reusing the WP parameter in list 0 is encoded, and information indicating which reference number in list 0 corresponds is encoded. Turn into. Since these pieces of information are much smaller than the information about weighting factors and offsets, the amount of code of WP parameter information can be greatly reduced as compared with the case where List 0 and List 1 are encoded separately. .
  • the reference numbers included in the list 0 and the list 1 indicate the same reference image and the WP parameters are different
  • different WP parameters can be set. That is, when there is a combination indicating the same reference image in the reference list, in the first embodiment, the same WP parameter is forcibly set, and in the second embodiment, the same only when the WP parameter is the same. Remove redundant representation of WP parameters.
  • FIG. 28 is a block diagram illustrating an example of the configuration of the encoding apparatus 700 according to the third embodiment.
  • the encoding apparatus 700 of the third embodiment is different from the encoding apparatus 100 of the first embodiment in that it further includes a motion information memory 701, a motion information acquisition unit 702, and a changeover switch 703.
  • differences from the first embodiment will be mainly described, and components having the same functions as those in the first embodiment will be given the same names and symbols as those in the first embodiment, and the description thereof will be made. Omitted.
  • the motion information memory 701 temporarily stores the motion information applied to the pixel block that has been encoded as reference motion information.
  • the motion information memory 701 may reduce the amount of information by performing compression processing such as sub-sampling on the motion information.
  • FIG. 29 is a diagram illustrating a detailed example of the motion information memory 701 according to the third embodiment.
  • the motion information memory 701 is held in units of frames or slices, and stores spatial direction reference motion information memory 701A that stores motion information on the same frame as reference motion information 710, and has already been encoded. It further has a time direction reference motion information memory 701B for storing the motion information of the frame for which the processing is completed as reference motion information 710.
  • a plurality of temporal direction reference motion information memories 701B may be provided depending on the number of reference frames used for prediction by the encoding target frame.
  • the reference motion information 710 is held in the spatial direction reference motion information memory 701A and the temporal direction reference motion information memory 701B in a predetermined area unit (for example, 4 ⁇ 4 pixel block unit).
  • the reference motion information 710 further includes information indicating whether the region is encoded by inter prediction described later or encoded by intra prediction described later.
  • the pixel block (coding unit or prediction unit) is H.264. As in skip mode, direct mode, or merge mode described later in H.264, motion vector values in motion information are not encoded, but are inter-predicted using motion information predicted from an encoded region. In this case, the motion information of the pixel block is held as the reference motion information 710.
  • the handling of the spatial direction reference motion information memory 701A of the frame is changed as the temporal direction reference motion information memory 701B used for the frame to be encoded next.
  • the motion information may be compressed and the compressed motion information may be stored in the time direction reference motion information memory 701B.
  • the motion information acquisition unit 702 receives reference motion information from the motion information memory 701 and outputs motion information B used for the encoded pixel block. Details of the motion information acquisition unit 702 will be described later.
  • the changeover switch 703 selects either motion information B output from the motion information acquisition unit 702 or motion information A output from the motion evaluation unit 109 according to prediction mode information described later, and generates a predicted image as motion information. Output to the unit 107.
  • the motion information A output from the motion evaluation unit 109 encodes difference information with a predicted motion vector acquired from a predicted motion vector acquisition unit (not shown) and predicted motion vector acquisition position information.
  • Such a prediction mode is hereinafter referred to as an inter mode.
  • the motion information B output from the motion information acquisition unit 702 according to the prediction mode information is merged with the motion information from adjacent pixel blocks and applied to the encoded pixel block as it is. It is not necessary to encode information (for example, motion vector difference information).
  • a merge mode is referred to as a merge mode.
  • the prediction mode information conforms to the prediction mode controlled by the encoding control unit 111 and includes switching information of the changeover switch 703.
  • the motion information acquisition unit 702 receives the reference motion information and outputs motion information B to the changeover switch 703.
  • 30A and 30B are diagrams illustrating examples of block positions from which motion information candidates are derived with respect to the encoded pixel block according to the third embodiment.
  • 30A, spatially adjacent pixel blocks for deriving motion information candidates to the encoded pixel block, and T in FIG. 30B indicate temporally adjacent pixel blocks for deriving motion information candidates. .
  • FIG. 31 is a diagram illustrating an example of a relationship between a pixel block position and a pixel block position index (idx) of a plurality of motion information candidates according to the third embodiment.
  • the block positions of motion information candidates are arranged in the order of spatially adjacent block positions (A to E) and temporally adjacent pixel block positions (T), and Available (inter prediction is applied in that order).
  • a to E spatially adjacent block positions
  • T temporally adjacent pixel block positions
  • Available Inter prediction is applied in that order.
  • N ⁇ 1 the maximum number of motion information stored in the merge mode storage list MergeCandList
  • FIG. 32 is a flowchart illustrating an example of storage processing in the MergeCandList of the third embodiment.
  • the motion information acquisition unit 702 initializes the number numMergeCand stored in the MergeCandList with 0 (step S301).
  • the motion information acquisition unit 702 determines whether or not all spatial adjacent blocks (for example, blocks A to E) are available (steps S302 and S303). If it is “Available” (Yes in Step S303), the motion information acquisition unit 702 stores the motion information of the space adjacent block in the MergeCandList and increments numMergeCand (Step S304). When it is not Available (No in Step S303), the motion information acquisition unit 702 does not perform the process of Step S304.
  • the motion information acquisition unit 702 executes the processes of steps S303 and S304 for all spatial adjacent blocks (step S305), the motion information acquisition unit 702 determines whether the temporal adjacent block (for example, block T) is available. (Step S306).
  • Step S306 If it is Available (Yes in Step S306), the motion information acquisition unit 702 stores the motion information of the time adjacent block T in the MergeCandList and increments numMergeCand (Step S307). When it is not Available (No in Step S306), the motion information acquisition unit 702 does not perform the process of Step S307.
  • the motion information acquisition unit 702 deletes the motion information that is duplicated in the MergeCandList, and decrements numMergeCand by the deleted number (step S308).
  • numMergeCand by the deleted number.
  • the encoding pixel block selects any of the maximum N types of idx, derives reference motion information of the pixel block corresponding to the selected idx from MergeCandList [idx], and outputs it as motion information B.
  • the encoded pixel block outputs motion information having a zero vector as a predicted motion information candidate B when there is no reference motion information.
  • Information on the selected idx (a syntax merge_idx described later) is included in the prediction mode information, and is encoded by the encoding unit 110.
  • blocks adjacent in space and time are not limited to FIGS. 30A and 30B, and may be any positions as long as they are already encoded regions.
  • the maximum number (N) and order in the MergeCandList are not limited to the above, and any order / maximum number may be used.
  • MergeCandList If the encoded slice is a B slice and the reference motion information of spatially and temporally adjacent pixel blocks is stored in MergeCandList [] but does not reach the maximum storage number (N), then MergeCandList The bi-directional prediction is newly generated by combining the motion information of list 0 and list 1 stored in [] with each other, and stored in MergeCandList [].
  • FIG. 34 is a flowchart illustrating an example of a method for storing the motion information in the storage list according to the third embodiment.
  • the motion information acquisition unit 702 sets the number stored in the MergeCandList from spatially and temporally adjacent pixel blocks as numInputMergeCand, initializes the variable numMergeCand indicating the current stored number with numInputMergeCand, and sets the variables combIdx and combCnt. It is initialized with 0 (step S401).
  • the motion information acquisition unit 702 derives a variable l0CandIdx and a variable l1CandIdx from combIdx by using a newly generated bidirectional prediction combination (see FIG. 35) (step S402).
  • the combination for deriving the variable l0CandIdx and the variable l1CandIdx from the combIdx is not limited to the example shown in FIG. 36, and may be rearranged in an arbitrary order as long as they do not overlap.
  • the motion information acquisition unit 702 sets the reference motion information (two types of list 0 and list 1 in the case of bidirectional prediction) stored in MergeCandList [l0CandIdx] to l0Cand.
  • the reference number in l0Cand is referred to as refIdxL0l0Cand, and the motion vector is referred to as mvL0l0Cand.
  • the motion information acquisition unit 702 sets the reference motion information stored in MergeCandList [l1CandIdx] to l1Cand.
  • the reference number in l1Cand is referred to as refIdxL1l1Cand
  • the motion vector is referred to as mvL1l1Cand (step S403).
  • a combination of motion information that performs bidirectional prediction using l0Cand as the motion information of list 0 and L1Cand as the motion information of list 1 is referred to as combCand.
  • the motion information acquisition unit 702 determines whether the blocks referenced by l0Cand and l1Cand are the same using the conditional expressions (12) to (15) (step S404).
  • RefPicOrderCnt (refIdxL0l0Cand, L0)! RefPicOrderCnt (refIdxL1l1Cand, L1) ... (13)
  • WpParam (refIdxL0l0Cand, L0)! WpParam (refIdxL1l1Cand, L1) ... (15)
  • WpParam it is not necessary to check the match of all parameters, but only using a part of the data of WP parameters, such as checking the match of WP presence / absence WP_flag and offset Offset only. May be.
  • step S404 the motion information acquisition unit 702 is the same as l0Cand and l1Cand in mergeCandList []. It is determined whether or not there is bidirectional prediction using the combination (step S405).
  • the motion information acquisition unit 702 adds the combCand to the end of the mergeCandList (step S406). Specifically, the motion information acquisition unit 702 substitutes combCand into mergeCandList [numMergeCand], and increments numMergeCand and combCnt.
  • the motion information acquisition unit 702 increments combIdx (step S407).
  • the motion information acquisition unit 702 determines whether to end the storage in mergeCandList [] using the conditional expressions (16) to (18) (step S408).
  • step S408 If any of the conditional expressions (16) to (18) is satisfied (Yes in step S408), the process ends. If any of the conditional expressions (16) to (18) are satisfied (No in step S408). ), The process returns to step S402.
  • the motion information B is output from the motion information acquisition unit 702 to the changeover switch 703.
  • FIG. 36 is a diagram illustrating an example of the tread unit syntax 512 of the third embodiment.
  • skip_flag is a flag indicating whether or not the prediction mode of the coding unit to which the prediction unit syntax belongs is the skip mode. When skip_flag is 1, it indicates that syntaxes other than prediction mode information (coding unit syntax, prediction unit syntax, transform unit syntax) are not encoded. When skip_flag is 0, it indicates that the prediction mode of the coding unit to which the prediction unit syntax belongs is not the skip mode.
  • merge_flag which is a flag indicating whether or not the encoded pixel block (prediction unit) is in the merge mode
  • Merge_flag indicates that the prediction unit is in the merge mode when the value is 1, and indicates that the prediction unit uses the inter mode when the value is 0.
  • merge_idx which is information specifying the above-described pixel block position index (idx)
  • Merge_flag When Merge_flag is 1, it is not necessary to encode the prediction unit syntax other than merge_flag and merge_idx, and when Merge_flag is 0, it indicates that the prediction unit is in inter mode.
  • the encoding apparatus 700 uses the merge mode storage list (MergeCandList) for the reference motion information of pixel blocks adjacent in space and time.
  • MergeCandList merge mode storage list
  • the overlapping motion information in () is deleted, even if the motion vector and the reference number match, if the WP parameter information is different, the problem of being deleted from the MergeCandList is solved.
  • the maximum number (N) of storage is not reached even if it is stored in MergeCandList, the motion information of list 0 and list 1 stored in MergeCandList at that time is combined with each other and a new bidirectional prediction is performed.
  • MergeCandList [] the problem that two types of motion information used for bidirectional prediction refer to the same block is solved.
  • the prediction value by bidirectional prediction and the prediction value by unidirectional prediction match. Since the prediction efficiency of bidirectional prediction is generally higher than the prediction efficiency of unidirectional prediction, it is desirable that the two types of motion information used for bidirectional prediction do not refer to the same block.
  • the encoding apparatus 700 in addition to the motion vector and the reference frame number position (POC) derived from the reference number, In addition, a weighted motion compensation parameter is introduced as a determination item.
  • the encoding apparatus 700 determines that two types of motion information with different weighted motion compensation parameters do not refer to the same block even if the motion vector and the reference frame number position (POC) are the same.
  • the prediction efficiency of motion information used for bidirectional prediction stored in the merge mode storage list can be improved.
  • the WP parameter in the reference frame of the temporally adjacent block T and the WP parameter in the reference frame of the encoded pixel block are It may be determined whether or not they match, and may be stored in the MergeCandList only when the WP parameters match. This is because when the WP parameter in the reference frame of the temporally adjacent block T and the WP parameter in the reference frame of the encoded pixel block are different, it can be assumed that the correlation of motion information decreases in the temporally adjacent block T and the encoded pixel block. It is.
  • FIG. 37 is a flowchart showing another example of the storing process in the MergeCandList of the third embodiment.
  • the flowchart shown in FIG. 38 is the same as the flowchart shown in FIG. 32 except for step S507.
  • the encoded pixel of the blocks spatially adjacent to the block T A block having the same WP parameter in the reference frame of the block may be replaced with the block T. At this time, the correlation of motion information does not decrease between the temporally adjacent block T and the encoded pixel block.
  • FIG. 38 is a block diagram illustrating an example of the configuration of the decoding device 800 according to the fourth embodiment.
  • the decoding apparatus 800 decodes encoded data stored in an input buffer (not shown) into a decoded image and outputs the decoded image to an output buffer (not shown) as an output image.
  • the encoded data is output from, for example, the encoding device 100 of FIG. 1 and the like, and is input to the decoding device 800 via a storage system, a transmission system, or a buffer (not shown).
  • the decoding device 800 includes a decoding unit 801, an inverse quantization unit 802, an inverse orthogonal transform unit 803, an addition unit 804, a predicted image generation unit 805, and an index setting unit 806.
  • the inverse quantization unit 802, the inverse orthogonal transform unit 803, the addition unit 804, and the predicted image generation unit 805 are respectively the inverse quantization unit 104, the inverse orthogonal transform unit 105, the addition unit 106, the predicted image generation unit 107, FIG. Are substantially the same or similar elements.
  • the decoding control unit 807 shown in FIG. 38 controls the decoding device 800 and can be realized by, for example, a CPU.
  • the decoding unit 801 performs decoding based on the syntax for each frame or field for decoding the encoded data.
  • the decoding unit 801 sequentially entropy-decodes the code string of each syntax, and includes motion information including a prediction mode, a motion vector, a reference number, and the like, index information for weighted motion compensation prediction, and codes such as quantization transform coefficients
  • the encoding parameter of the conversion target block is reproduced.
  • the encoding parameters are all parameters necessary for decoding such as information related to transform coefficients other than the above and information related to quantization.
  • the decoding unit 801 outputs the motion information, the index information, and the quantized transform coefficient, inputs the quantized transform coefficient to the inverse quantization unit 802, inputs the index information to the index setting unit 806, and converts the motion information into the predicted image. Input to the generation unit 805.
  • the inverse quantization unit 802 performs an inverse quantization process on the quantized transform coefficient input from the decoding unit 801 to obtain a restored transform coefficient. Specifically, the inverse quantization unit 802 performs inverse quantization according to the quantization information used in the decoding unit 801. More specifically, the inverse quantization unit 802 multiplies the quantized transform coefficient by the quantization step size derived from the quantization information to obtain a restored transform coefficient. The inverse quantization unit 802 outputs the restored transform coefficient and inputs it to the inverse orthogonal transform unit 803.
  • the inverse orthogonal transform unit 803 performs inverse orthogonal transform corresponding to the orthogonal transform performed on the encoding side on the reconstructed transform coefficient input from the inverse quantization unit 802 to obtain a reconstructed prediction error.
  • the inverse orthogonal transform unit 803 outputs the restoration prediction error and inputs it to the addition unit 804.
  • the addition unit 804 adds the restored prediction error input from the inverse orthogonal transform unit 803 and the corresponding prediction image, and generates a decoded image.
  • the adding unit 804 outputs the decoded image and inputs the decoded image to the predicted image generation unit 805.
  • the adding unit 804 outputs the decoded image to the outside as an output image.
  • the output image is then temporarily stored in an external output buffer (not shown) or the like. For example, in accordance with the output timing managed by the decoding control unit 807, the output image is sent to a display device system or a video device system (not shown). Is output.
  • the index setting unit 806 receives the index information input from the decoding unit 801, confirms the reference list (list number) and the reference image (reference number), outputs WP parameter information, and outputs the WP parameter information to the predicted image generation unit 805. input.
  • FIG. 39 is a block diagram illustrating an example of the configuration of the index setting unit 806 according to the fourth embodiment.
  • the index setting unit 806 includes a reference image confirmation unit 901 and a WP parameter generation unit 902.
  • the reference image confirmation unit 901 receives the index information from the decoding unit 801 and confirms whether the reference numbers included in the two reference lists indicate the same reference image.
  • the reference number in the reference list is, for example, H. H.264 has already been decoded.
  • the reference image confirmation unit 901 uses the H.264 standard.
  • DPB Decoded Picture Buffer
  • DPB control is described in H.264.
  • the method described in H.264 or the like may be used, or another method may be used.
  • the reference list and the reference number may be determined in advance by DPB control.
  • the reference image confirmation unit 901 creates a common reference list and confirms the reference list and the reference number in the scan order shown in FIG.
  • the common reference list is created in accordance with the pseudo code shown in Equation (10).
  • the WP parameter generation unit 902 generates WP parameter information corresponding to the reference list and the reference number from the created common reference list based on the relationship between the reference list and the reference number confirmed by the reference image confirmation unit 901. Output to the predicted image generation unit 805. Since the WP parameter information has already been described with reference to FIGS. 9A and 9B, description thereof will be omitted.
  • the WP parameter generation unit 902 uses the common_scan_list () function and the common_scan_ref_idx () function according to the common list, draws the reference list and the reference number by scanning, and supplements the WP parameter information in the missing place.
  • the scan order shown in FIG. 14 is an example, and any other scan order may be used as long as it is a predetermined scan order.
  • the pseudo code shown in Equation (10) is an example, and if the purpose of this processing can be realized, it is possible to add processing and reduce redundant processing.
  • the predicted image generation unit 805 uses the motion information input from the decoding unit 801, the WP parameter information input from the index setting unit 806, and the decoded image input from the addition unit 804 to generate a predicted image. Is generated.
  • the predicted image generation unit 805 includes a multi-frame motion compensation unit 201, a memory 202, a unidirectional motion compensation unit 203, a prediction parameter control unit 204, a reference image selector 205, and a frame memory 206. And a reference image control unit 207.
  • the frame memory 206 stores the decoded image input from the addition unit 106 as a reference image under the control of the reference image control unit 207.
  • the frame memory 206 includes a plurality of memory sets FM1 to FMN (N ⁇ 2) for temporarily storing reference images.
  • the prediction parameter control unit 204 prepares a plurality of combinations of reference image numbers and prediction parameters as a table based on the motion information input from the decoding unit 801.
  • the motion information indicates a motion vector indicating a shift amount of motion used in motion compensation prediction, a reference image number, information on a prediction mode such as unidirectional / bidirectional prediction, and the like.
  • the prediction parameter refers to information regarding a motion vector and a prediction mode. Then, the prediction parameter control unit 204 selects and outputs a combination of a reference image number and a prediction parameter used for generating a prediction image based on the motion information, inputs the reference image number to the reference image selector 205, and outputs the prediction parameter. Is input to the unidirectional motion compensation unit 203.
  • the reference image selector 205 is a switch for switching which of the output terminals of the frame memories FM1 to FMN included in the frame memory 206 is connected according to the reference image number input from the prediction parameter control unit 204. For example, the reference image selector 205 connects the output end of FM1 to the output end of the reference image selector 205 if the reference image number is 0, and refers to the output end of the FMN if the reference image number is N-1. Connected to the output terminal of the image selector 205. The reference image selector 205 outputs the reference image stored in the frame memory to which the output terminal is connected among the frame memories FM1 to FMN included in the frame memory 206, and inputs the reference image to the unidirectional motion compensation unit 203. Note that in the decoding device 800, since the reference image is not used except by the predicted image generation unit 805, the reference image does not have to be output to the outside of the predicted image generation unit 805.
  • the unidirectional prediction motion compensation unit 203 performs a motion compensation prediction process according to the prediction parameter input from the prediction parameter control unit 204 and the reference image input from the reference image selector 205, and generates a unidirectional prediction image. Since motion compensation prediction has already been described with reference to FIG. 5, description thereof will be omitted.
  • the unidirectional predicted motion compensation unit 203 outputs a unidirectional predicted image and temporarily stores it in the memory 202.
  • the multi-frame motion compensation unit 201 performs weighted prediction using two types of unidirectional prediction images, and thus the unidirectional prediction motion compensation unit 203.
  • the first unidirectional prediction image corresponding to the first is the first prediction image
  • the second unidirectional prediction image is the second prediction image.
  • two unidirectional motion compensation units 203 may be prepared and each may generate two unidirectional prediction images.
  • the unidirectional motion compensation unit 203 directly outputs the first unidirectional prediction image as the first prediction image to the multi-frame motion compensation unit 201. Good.
  • the multi-frame motion compensation unit 201 uses the first prediction image input from the memory 202, the second prediction image input from the unidirectional prediction motion compensation unit 203, and the WP parameter information input from the motion evaluation unit 109. Then, a prediction image is generated by performing weighted prediction.
  • the multi-frame motion compensation unit 201 outputs a prediction image and inputs the prediction image to the addition unit 804.
  • the multi-frame motion compensation unit 201 includes a default motion compensation unit 301, a weighted motion compensation unit 302, a WP parameter control unit 303, and WP selectors 304 and 305.
  • the WP parameter control unit 303 outputs a WP application flag and weight information based on the WP parameter information input from the index setting unit 806, inputs the WP application flag to the WP selectors 304 and 305, and weights the weight information. Input to the motion compensation unit 302.
  • the WP parameter information includes the fixed-point precision of the weighting factor, the first WP application flag corresponding to the first predicted image, the first weighting factor, the first offset, and the second WP adaptation corresponding to the second predicted image. Contains information on flag, second weighting factor, and second offset.
  • the WP application flag is a parameter that can be set for each corresponding reference image and signal component, and indicates whether to perform weighted motion compensation prediction.
  • the weight information includes information on the fixed point precision of the weight coefficient, the first weight coefficient, the first offset, the second weight coefficient, and the second offset.
  • the WP parameter information represents the same information as in the first embodiment.
  • the WP parameter control unit 303 separates the WP parameter information into a first WP application flag, a second WP application flag, and weight information, and outputs them.
  • the first WP application flag is input to the WP selector 304
  • the second WP application flag is input to the WP selector 305
  • the weight information is input to the weighted motion compensation unit 302.
  • the WP selectors 304 and 305 switch the connection end of each predicted image based on the WP application flag input from the WP parameter control unit 303.
  • each WP application flag is 0, the WP selectors 304 and 305 connect each output terminal to the default motion compensation unit 301. Then, the WP selectors 304 and 305 output the first predicted image and the second predicted image and input them to the default motion compensation unit 301.
  • each WP application flag is 1
  • the WP selectors 304 and 305 connect each output terminal to the weighted motion compensation unit 302.
  • the WP selectors 304 and 305 output the first predicted image and the second predicted image, and input them to the weighted motion compensation unit 302.
  • the default motion compensation unit 301 performs an average value process based on the two unidirectional prediction images (first prediction image and second prediction image) input from the WP selectors 304 and 305 to generate a prediction image. Specifically, when the first WP application flag and the second WP application flag are 0, the default motion compensation unit 301 performs average value processing based on Expression (1).
  • the default motion compensation unit 301 uses only the first prediction image and calculates a final prediction image based on Expression (4). calculate.
  • the weighted motion compensation unit 302 is based on the two unidirectional prediction images (first prediction image and second prediction image) input from the WP selectors 304 and 305 and the weight information input from the WP parameter control unit 303. Performs weighted motion compensation. Specifically, when the first WP application flag and the second WP application flag are 1, the weighted motion compensation unit 302 performs the weighting process based on Expression (7).
  • the weighted motion compensation unit 302 rounds off the log WD C , which is the fixed-point precision, as in Expression (8) when the calculation accuracy of the first prediction image, the second prediction image, and the prediction image is different. Realize processing.
  • the weighted motion compensation unit 302 uses only the first prediction image and uses the final prediction image based on Equation (9). Is calculated.
  • the weighted motion compensator 302 if the calculation accuracy of the predicted image and the first prediction image and the second prediction image are different, equation as in the case of bidirectional prediction the LogWD C is a fixed point precision (8)
  • the rounding process is realized by controlling as described above.
  • Decoding section 801 uses syntax 500 shown in FIG.
  • a syntax 500 indicates a structure of encoded data to be decoded by the decoding unit 801.
  • the syntax 500 has already been described with reference to FIG.
  • the picture parameter set syntax 505 has already been described with reference to FIG. 19 except that encoding is decoding, and thus description thereof will be omitted.
  • the slice header syntax 507 has already been described with reference to FIG. 20 except that encoding is decoding, and thus description thereof will be omitted.
  • the treadweight table syntax 508 has already been described with reference to FIG. 21 except that the encoding is decoding, and thus the description thereof will be omitted.
  • the decoding apparatus 800 is a bi-directional prediction slice in which bi-directional prediction can be selected, and weighted motion using two indexes having the same reference image but different reference image numbers.
  • the index having the same value is decoded twice, thereby solving the problem that the coding efficiency is lowered.
  • the decoding apparatus 800 can reduce the code amount of the redundant index.
  • Modification of the fourth embodiment A modification of the fourth embodiment will be described.
  • the syntax element used by the decoding unit 801 is different from the syntax element of the fourth embodiment. Since the sequence parameter set syntax 504 has already been described with reference to FIG. 22 except that the encoding is decoding, the description thereof will be omitted.
  • the adaptation parameter set syntax 506 has already been described with reference to FIG. 23 except that the encoding is decoding, and thus the description thereof will be omitted.
  • the treadweight table syntax 508 has already been described with reference to FIG. 24 except that the encoding is decoding, and thus the description thereof will be omitted.
  • the structure of calling the preadweight table syntax 508 from the adaptation parameter set syntax 506 makes it possible to code the WP parameter information when one frame is divided into a plurality of slices. The amount can be greatly reduced.
  • the adaptation parameter set syntax 506 having three different types of WP parameter information to be used is decoded first, and the slice header syntax 507 calls the necessary WP parameter information using aps_id according to the situation.
  • the amount of codes can be reduced as compared with the configuration in which the WP parameter information is always decoded with the slice header syntax 507.
  • the decoding device 1000 of the fifth embodiment a decoding device that decodes encoded data encoded by the encoding device of the second embodiment will be described.
  • the configuration of the index setting unit 1006 is different from that of the decoding device 800 of the fourth embodiment.
  • differences from the fourth embodiment will be mainly described, and components having the same functions as those in the fourth embodiment will be given the same names and symbols as those in the fourth embodiment, and the description thereof will be made. Omitted.
  • FIG. 40 is a block diagram illustrating an example of the configuration of the index setting unit 1006 of the fifth embodiment. As shown in FIG. 40, the index setting unit 1006 includes a reuse determination unit 1001 and a WP parameter generation unit 1002.
  • the reuse determination unit 1001 checks the reuse flag and confirms whether to reuse the WP parameter in list 0.
  • the WP parameter generation unit 1002 copies the WP parameter in list 0 as a reference destination to the WP parameter in list 1 according to information on which WP parameter in list 0 is to be copied. Information on the reuse flag and the reference number indicating the reference destination is described in the syntax element, and the WP parameter generation unit 1002 interprets the index information to restore the WP parameter information.
  • the reuse determination unit 1001 confirms whether or not to reuse the WP parameter in list 0, for example, according to the pseudo code shown in Equation (11).
  • predicate table syntax 508 Since the predicate table syntax 508 has already been described with reference to FIG. 27 except that the encoding is decoding, the description thereof will be omitted.
  • the decoding apparatus 1000 is a bi-directional prediction slice in which bi-directional prediction can be selected, and weighted motion using two indexes having the same reference image but different reference image numbers.
  • the index having the same value is decoded twice, thereby solving the problem that the coding efficiency is lowered.
  • the decoding apparatus 1000 decodes the index of the list 0 as usual, and when decoding the index of the list 1, checks whether a combination of reference numbers indicating the same reference image exists in the reference list, and the index is the same. In this case, by reusing the index used in the list 1 with the index used in the list 0, it is possible to avoid decoding the same index twice and reduce the code amount of the redundant index.
  • FIG. 41 is a block diagram illustrating an example of the configuration of the decoding device 1100 according to the sixth embodiment.
  • the decoding device 1100 of the sixth embodiment is different from the decoding device 800 of the fourth embodiment in that it further includes a motion information memory 1101, a motion information acquisition unit 1102, and a changeover switch 1103.
  • differences from the fourth embodiment will be mainly described, and components having the same functions as those in the fourth embodiment will be given the same names and symbols as those in the fourth embodiment, and the description thereof will be made. Omitted.
  • the motion information memory 1101 temporarily stores motion information applied to the decoded pixel block as reference motion information.
  • the motion information memory 1101 may reduce the amount of information by performing compression processing such as sub-sampling on the motion information.
  • the motion information memory 1101 is held in units of frames or slices.
  • the spatial direction reference motion information memory 701A stores motion information on the same frame as reference motion information 710, and decoding has already been completed. It further has a time direction reference motion information memory 701B for storing the motion information of the frame as reference motion information 710.
  • a plurality of temporal direction reference motion information memories 701B may be provided according to the number of reference frames used for prediction by the decoding target frame.
  • the reference motion information 710 is held in the spatial direction reference motion information memory 701A and the temporal direction reference motion information memory 701B in a predetermined area unit (for example, 4 ⁇ 4 pixel block unit).
  • the reference motion information 710 further includes information indicating whether the region is encoded by inter prediction described later or encoded by intra prediction described later.
  • the pixel block (coding unit or prediction unit) is H.264.
  • the motion vector value in the motion information is not decoded and is inter-predicted using the motion information predicted from the decoded region, as in the skip mode, the direct mode or the merge mode described later in H.264
  • the motion information of the pixel block is held as reference motion information 710.
  • the handling of the spatial direction reference motion information memory 701A of the frame is changed as the temporal direction reference motion information memory 701B used for the next frame to be decoded.
  • the motion information may be compressed and the compressed motion information may be stored in the time direction reference motion information memory 701B.
  • the motion information acquisition unit 1102 receives reference motion information from the motion information memory 1101 and outputs motion information B used for the decoded pixel block. Since the operation of the motion information acquisition unit 1102 is the same as that of the motion information acquisition unit 702 of the third embodiment, description thereof is omitted.
  • the change-over switch 1103 selects either the motion information B output from the motion information acquisition unit 1102 or the motion information A output from the decoding unit 801 in accordance with prediction mode information described later, and generates a prediction image generation unit as motion information. Output to 805.
  • the motion information A output from the decoding unit 801 decodes difference information from a prediction motion vector acquired from a prediction motion vector acquisition unit (not shown) and prediction motion vector acquisition position information.
  • Such a prediction mode is hereinafter referred to as an inter mode.
  • the motion information B output from the motion information acquisition unit 1102 according to the prediction mode information is merged with the motion information from the adjacent pixel blocks and applied as it is to the decoded pixel block. Decoding of (for example, motion vector difference information) is not necessary.
  • a prediction mode is referred to as a merge mode.
  • the prediction mode information follows the prediction mode controlled by the decoding control unit 807, and includes switching information of the changeover switch 1103.
  • the predicate unit syntax 512 has already been described with reference to FIG. 36 except that the encoding is decoding, and thus the description thereof will be omitted.
  • the WP parameter in the reference frame of the temporally adjacent block T and the WP parameter in the reference frame of the decoded pixel block are the same. Only if the WP parameters match, it may be stored in the MergeCandList. This is because when the WP parameter in the reference frame of the temporally adjacent block T and the WP parameter in the reference frame of the decoded pixel block are different, it can be estimated that the correlation of motion information decreases in the temporally adjacent block T and the decoded pixel block. .
  • the first to third embodiments may be selectively used. That is, information on which method to select is determined in advance, and information indicating whether the method of the first embodiment or the method of the second embodiment is used when a bidirectional slice is selected, You may switch. For example, a flag for switching between these methods can be set in the slice header syntax shown in FIG. 20 and can be easily selected in accordance with the coding situation. Further, it may be determined in advance which method is used in accordance with a specific hardware configuration.
  • the predicted image generation unit and index setting unit of the first to third embodiments are suitable for both hardware implementation and software implementation.
  • the fourth to sixth embodiments may be selectively used. That is, information on which method to select is determined in advance, and information indicating whether to use the method of the fourth embodiment or the method of the fifth embodiment when the bidirectional slice is selected, You may switch. For example, a flag for switching between these methods can be set in the slice header syntax shown in FIG. 20 and can be easily selected in accordance with the coding situation. Further, it may be determined in advance which method is used in accordance with a specific hardware configuration.
  • the predicted image generation unit and the index setting unit of the fourth to sixth embodiments are suitable for both hardware implementation and software implementation.
  • syntax elements not defined in the above embodiment may be inserted between the rows of the syntax tables exemplified in the first to sixth embodiments, or descriptions related to other conditional branches may be included.
  • the syntax table may be divided into a plurality of tables, or a plurality of syntax tables may be integrated.
  • the term of each illustrated syntax element can be changed arbitrarily.
  • the modification of the first embodiment can be easily applied to the second embodiment.
  • the maximum number of reference images corresponding to list 0 and list 1 may be set, or may be a predetermined maximum number.
  • the modification of the fourth embodiment can be easily applied to the fifth embodiment.
  • the maximum number of reference images corresponding to list 0 and list 1 may be set, or may be a predetermined maximum number.
  • encoding and decoding may be performed in order from the lower right to the upper left, or encoding and decoding may be performed so as to draw a spiral from the center of the screen toward the screen end.
  • encoding and decoding may be performed in order from the upper right to the lower left, or encoding and decoding may be performed so as to draw a spiral from the screen end toward the center of the screen.
  • the position of the adjacent pixel block that can be referred to changes depending on the encoding order, the position may be changed to a usable position as appropriate.
  • the description has been given by exemplifying the prediction target block size such as the 4 ⁇ 4 pixel block, the 8 ⁇ 8 pixel block, and the 16 ⁇ 16 pixel block.
  • the prediction target block is a uniform block. It does not have to be a shape.
  • the prediction target block size may be a 16 ⁇ 8 pixel block, an 8 ⁇ 16 pixel block, an 8 ⁇ 4 pixel block, a 4 ⁇ 8 pixel block, or the like.
  • the code amount for encoding or decoding the division information increases as the number of divisions increases. Therefore, it is desirable to select the block size in consideration of the balance between the code amount of the division information and the quality of the locally decoded image or the decoded image.
  • the color signal component has been described without distinguishing between the prediction process for the luminance signal and the color difference signal.
  • the same or different prediction methods may be used. If different prediction methods are used between the luminance signal and the color difference signal, the prediction method selected for the color difference signal can be encoded or decoded in the same manner as the luminance signal.
  • the weighted motion compensation prediction process is different between the luminance signal and the color difference signal, the same or different weighted motion compensation prediction process may be used. If a weighted motion compensation prediction process that is different between the luminance signal and the color difference signal is used, the weighted motion compensation prediction process selected for the color difference signal can be encoded or decoded in the same manner as the luminance signal.
  • syntax elements not defined in this embodiment can be inserted between the rows of the table shown in the syntax configuration, and other conditional branch descriptions are included. It does not matter.
  • the syntax table can be divided and integrated into a plurality of tables. Moreover, it is not always necessary to use the same term, and it may be arbitrarily changed depending on the form to be used.
  • each embodiment realizes highly efficient weighted motion compensation prediction processing while solving the problem of encoding redundant information when performing weighted motion compensation prediction. Therefore, according to each embodiment, the encoding efficiency is improved, and the subjective image quality is also improved.
  • the storage medium can be a computer-readable storage medium such as a magnetic disk, optical disk (CD-ROM, CD-R, DVD, etc.), magneto-optical disk (MO, etc.), semiconductor memory, etc.
  • the storage format may be any form.
  • the program for realizing the processing of each of the above embodiments may be stored on a computer (server) connected to a network such as the Internet and downloaded to the computer (client) via the network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

 実施形態の符号化方法は、インデックス生成ステップと、符号化ステップとを、含む。インデックス生成ステップでは、第1参照画像が参照する1以上の参照画像を含む組み合わせを示す第1インデックスと第2参照画像が参照する1以上の参照画像を含む組み合わせを示す第2インデックスとを設定し、前記第1インデックスに含まれる1以上の参照画像の番号と前記第2インデックスに含まれる1以上の参照画像の番号とを、予め定められた順序でスキャンして、同一の参照画像を含まない組み合わせに並び替えた共通インデックスを生成する。符号化ステップでは、前記共通インデックスを符号化する。

Description

符号化方法及び復号方法
 本発明の実施形態は、符号化方法及び復号方法に関する。
 近年、符号化効率を大幅に向上させた画像符号化方法が、ITU-T(International Telecommunication Union Telecommunication Standardization Sector)とISO(International Organization for Standardization)/IEC(International Electrotechnical Commission)との共同で、ITU-T REC. H.264及びISO/IEC 14496-10(以下、「H.264」という)として勧告されている。
 H.264には、符号化済みの画像を参照画像に用いて分数精度の動き補償予測を行うことにより、時間方向の冗長性を削除し、高い符号化効率を実現するインター予測符号化方式が開示されている。
 また、ISO/IEC MPEG(Moving Picture Experts Group)-1,2,4におけるインター予測符号化方式よりも、フェードやディゾルブ効果を含む動画像を高効率に符号化する方式も提案されている。この方式では、時間方向における明度変化を予測する枠組みとして、輝度と2つの色差とを有する入力動画像に対して分数精度の動き補償予測を行う。そして、参照画像と、輝度及び2つの色差毎の重み係数と、輝度及び2つの色差毎のオフセットと、を含む組み合わせ示すインデックスを用いて、予測画像に重み係数を乗じ、オフセットを加算する。
特開2004-7377号公報
 しかしながら、上述したような従来技術では、双方向予測を選択可能な双方向予測スライスにおいて、参照画像が同一であるが参照画像番号が異なる2つのインデックスを用いて重み付き動き補償を行う際に、同一の値を持つインデックスを2回符号化する場合が発生し、符号化効率が低下する場合がある。本発明が解決しようとする課題は、符号化効率を向上できる符号化方法及び復号方法を提供することである。
 実施形態の符号化方法は、インデックス生成ステップと、符号化ステップとを、含む。インデックス生成ステップでは、第1参照画像が参照する1以上の参照画像を含む組み合わせを示す第1インデックスと第2参照画像が参照する1以上の参照画像を含む組み合わせを示す第2インデックスとを設定し、前記第1インデックスに含まれる1以上の参照画像の番号と前記第2インデックスに含まれる1以上の参照画像の番号とを、予め定められた順序でスキャンして、同一の参照画像を含まない組み合わせに並び替えた共通インデックスを生成する。符号化ステップでは、前記共通インデックスを符号化する。
第1実施形態の符号化装置の例を示すブロック図。 第1実施形態における画素ブロックの予測符号化順序例を示す説明図。 第1実施形態におけるコーディングツリーブロックのブロックサイズ例を示す図。 第1実施形態のコーディングツリーブロックの具体例を示す図。 第1実施形態のコーディングツリーブロックの具体例を示す図。 第1実施形態のコーディングツリーブロックの具体例を示す図。 第1実施形態の予測画像生成部の例を示すブロック図。 第1実施形態の双方向予測における動き補償予測の動きベクトルの関係の例を示す図。 第1実施形態の複数フレーム動き補償部の例を示すブロック図。 第1実施形態における重み係数の固定小数点精度の例の説明図。 第1実施形態のインデックス設定部の例を示すブロック図。 第1実施形態のWPパラメータ情報例を示す図。 第1実施形態のWPパラメータ情報例を示す図。 第1実施形態の低遅延符号化構造における符号化順と表示順の例を示す図。 第1実施形態の低遅延符号化構造における参照画像と参照番号との関係の例を示す図。 第1実施形態のランダムアクセス符号化構造における符号化順と表示順の例を示す図。 第1実施形態のランダムアクセス符号化構造における参照画像と参照番号との関係の例を示す図。 第1実施形態の参照画像のリスト番号及び参照番号のスキャン順序の例を示す図。 第1実施形態における共通リスト変換後のWPパラメータ情報の例を簡略化して示した図。 第1実施形態における共通リスト変換後のWPパラメータ情報の例を簡略化して示した図。 第1実施形態のインデックス情報の生成処理例を示すフローチャート。 第1実施形態のシンタクスの例を示す図。 第1実施形態のピクチャパラメータセットシンタクスの例を示す図。 第1実施形態のスライスヘッダーシンタクスの例を示す図。 第1実施形態のプレッドウェイトテーブルシンタクスの例を示す図。 変形例のシーケンスパラメータセットシンタクスの例を示す図。 変形例のアダプテーションパラメータセットシンタクスの例を示す図。 変形例のプレッドウェイトテーブルシンタクスの例を示す図。 第2実施形態のインデックス設定部の構成例を示すブロック図。 第2実施形態のインデックス情報の生成処理例を示すフローチャート。 第2実施形態のプレッドウェイトテーブルシンタクスの例を示す図。 第3実施形態の符号化装置の構成例を示すブロック図。 第3実施形態の動き情報メモリの詳細例を示す図。 第3実施形態の符号化画素ブロックに対する動き情報候補を導出するブロック位置の例を示す図。 第3実施形態の符号化画素ブロックに対する動き情報候補を導出するブロック位置の例を示す図。 第3実施形態の複数の動き情報候補の画素ブロック位置と画素ブロック位置インデクスとの関係の例を示す図。 第3実施形態のMergeCandListへの格納処理例を示すフローチャート。 第3実施形態の動き情報の格納リストの例を示す図。 第3実施形態の動き情報の格納リストへの格納方法の例を示すフローチャート。 第3実施形態の双方向予測の組み合わせ例を示す図。 第3実施形態のプレッドユニットシンタクスの例を示す図。 第3実施形態のMergeCandListへの格納処理の他の例を示すフローチャート。 第4実施形態の復号装置の構成例を示すブロック図。 第4実施形態のインデックス設定部の構成例を示すブロック図。 第5実施形態のインデックス設定部の構成例を示すブロック図。 第6実施形態の復号装置の構成例を示すブロック図。
 以下、添付図面を参照しながら、実施形態を詳細に説明する。以下の各実施形態の符号化装置及び復号装置は、LSI(Large-Scale Integration)チップ、DSP(Digital Signal Processor)、又はFPGA(Field Programmable Gate Array)などのハードウェアにより実現できる。また、以下の各実施形態の符号化装置及び復号装置は、コンピュータにプログラムを実行させること、即ち、ソフトウェアにより実現させることもできる。なお、以降の説明において、「画像」という用語は、「映像」、「画素」、「画像信号」、「絵」、又は「画像データ」などの用語に適宜読み替えることができる。
(第1実施形態)
 第1実施形態では、動画像を符号化する符号化装置について説明する。
 図1は、第1実施形態の符号化装置100の構成の一例を示すブロック図である。
 符号化装置100は、入力画像を構成する各フレーム又は各フィールドを複数の画素ブロックに分割し、符号化制御部111から入力される符号化パラメータを用いて、分割した画素ブロックに対して予測符号化を行い、予測画像を生成する。そして符号化装置100は、複数の画素ブロックに分割した入力画像と予測画像とを減算して予測誤差を生成し、生成した予測誤差を直交変換及び量子化し、更にエントロピー符号化を行って符号化データを生成し、出力する。
 符号化装置100は、画素ブロックのブロックサイズ及び予測画像の生成方法の少なくともいずれかが異なる複数の予測モードを選択的に適用して予測符号化を行う。予測画像の生成方法は、大別すると、符号化対象フレーム内で予測を行うイントラ予測と、時間的に異なる1以上の参照フレームを用いて動き補償予測を行うインター予測との2種類である。なお、イントラ予測は、画面内予測又はフレーム内予測などとも称され、インター予測は、画面間予測、フレーム間予測、又は動き補償予測などとも称される。
 図2は、第1実施形態における画素ブロックの予測符号化順序の一例を示す説明図である。図2に示す例では、符号化装置100は、画素ブロックの左上から右下に向かって予測符号化を行っており、符号化処理対象のフレームfにおいて、符号化対象画素ブロックcよりも左側及び上側に符号化済み画素ブロックpが位置している。以下では、説明の簡単化のため、符号化装置100は、図2に示す順序で予測符号化を行うものとするが、予測符号化の順序はこれに限定されるものではない。
 画素ブロックは、画像を処理する単位を示し、例えば、M×Nサイズのブロック(M及びNは自然数)、コーディングツリーブロック、マクロブロック、サブブロック、又は1画素などが該当する。以降の説明では、基本的に、画素ブロックをコーディングツリーブロックの意味で使用するが、他の意味で使用する場合もある。例えば、プレディクションユニットの説明では、画素ブロックを、プレディクションユニットの画素ブロックの意味で使用する。また、ブロックはユニットなどの名称で呼ばれることもある。例えばコーディングブロックをコーディングユニットと呼ぶ。
 図3Aは、第1実施形態におけるコーディングツリーブロックのブロックサイズの一例を示す図である。コーディングツリーブロックは、典型的には、図3Aに示すような64×64の画素ブロックである。但し、これに限定されるものではなく、32×32の画素ブロック、16×16の画素ブロック、8×8の画素ブロック、又は4×4の画素ブロックなどであってもよい。また、コーディングツリーブロックは、正方形でなくてもよく、例えば、M×Nサイズ(M≠N)の画素ブロックであってもよい。
 図3B~図3Dは、第1実施形態のコーディングツリーブロックの具体例を示す図である。図3Bは、ブロックサイズが64×64(N=32)のコーディングツリーブロックを示している。Nは、基準となるコーディングツリーブロックのサイズを表しており、分割された場合のサイズがN、分割されない場合のサイズが2Nと定義されている。図3Cは、図3Bのコーディングツリーブロックを四分木分割したコーディングツリーブロックを示している。コーディングツリーブロックは、図3Cに示すように、四分木構造を持つ。コーディングツリーブロックが分割された場合、分割後の4つの画素ブロックに対して、図3Cに示すように、Zスキャン順で番号が付される。
 なお、コーディングツリーブロックは、1つの四分木の番号内で更に四分木分割することができる。これにより、コーディングツリーブロックを階層的に分割することができる。この場合、分割の深さは、Depthで定義される。図3Dは、図3Bのコーディングツリーブロックを四分木分割したコーディングツリーブロックの1つを示し、ブロックサイズが32×32(N=16)となっている。図3Bに示すコーディングツリーブロックのDepthは0であり、図3Dに示すコーディングツリーブロックのDepthは、1である。なお、最もユニットが大きいコーディングツリーブロックは、ラージコーディングツリーブロックと呼ばれ、この単位で入力画像信号がラスタースキャン順に符号化される。
 以降の説明では、入力画像の符号化対象ブロック又はコーディングツリーブロックを予測対象ブロック又は予測画素ブロックと称することもある。なお、符号化単位は画素ブロックに限らず、フレーム、フィールド、スライス、ライン、及び画素の少なくともいずれかを用いることもできる。
 符号化装置100は、図1に示すように、減算部101と、直交変換部102と、量子化部103と、逆量子化部104と、逆直交変換部105と、加算部106と、予測画像生成部107と、インデックス設定部108と、動き評価部109と、符号化部110とを、備える。なお、図1に示す符号化制御部111は、符号化装置100を制御するものであり、例えば、CPU(Central Processing Unit)などにより実現できる。
 減算部101は、画素ブロックに分割された入力画像から対応する予測画像を減算して予測誤差を得る。減算部101は、予測誤差を出力し、直交変換部102に入力する。
 直交変換部102は、減算部101から入力された予測誤差に対して、例えば、離散コサイン変換(DCT)又は離散サイン変換(DST)のような直交変換を行い、変換係数を得る。直交変換部102は、変換係数を出力し、量子化部103に入力する。
 量子化部103は、直交変換部102から入力された変換係数に対して量子化処理を行い、量子化変換係数を得る。具体的には、量子化部103は、符号化制御部111によって指定される量子化パラメータや量子化マトリクスなどの量子化情報に従って量子化を行う。より詳細には、量子化部103は、変換係数を量子化情報によって導出される量子化ステップサイズで除算し、量子化変換係数を得る。量子化パラメータは、量子化の細かさを示す。量子化マトリクスは、量子化の細かさを変換係数の成分毎に重み付けするために使用される。量子化部103は、量子化変換係数を出力し、逆量子化部104及び符号化部110に入力する。
 逆量子化部104は、量子化部103から入力された量子化変換係数に対して逆量子化処理を行い、復元変換係数を得る。具体的には、逆量子化部104は、量子化部103において使用された量子化情報に従って逆量子化を行う。より詳細には、逆量子化部104は、量子化情報によって導出された量子化ステップサイズを量子化変換係数に乗算し、復元変換係数を得る。なお、量子化部103において使用された量子化情報は、符号化制御部111の図示せぬ内部メモリからロードされて利用される。逆量子化部104は、復元変換係数を出力し、逆直交変換部105に入力する。
 逆直交変換部105は、逆量子化部104から入力された復元変換係数に対して、例えば、逆離散コサイン変換(IDCT)又は逆離散サイン変換(IDST)などのような逆直交変換を行い、復元予測誤差を得る。なお、逆直交変換部105が行う逆直交変換は、直交変換部102において行われた直交変換に対応する。逆直交変換部105は、復元予測誤差を出力し、加算部106に入力する。
 加算部106は、逆直交変換部105から入力された復元予測誤差と対応する予測画像とを加算し、局所復号画像を生成する。加算部106は、局所復号画像を出力し、予測画像生成部107に入力する。
 予測画像生成部107は、加算部106から入力された局所復号画像を参照画像としてメモリ(図1では図示省略)に蓄積し、メモリに蓄積した参照画像を出力し、動き評価部109に入力する。また予測画像生成部107は、動き評価部109から入力される動き情報及びWPパラメータ情報に基づいて重み付き動き補償予測を行い、予測画像を生成する。予測画像生成部107は、予測画像を出力し、減算部101及び加算部106に入力する。
 図4は、第1実施形態の予測画像生成部107の構成の一例を示すブロック図である。予測画像生成部107は、図4に示すように、複数フレーム動き補償部201と、メモリ202と、単方向動き補償部203と、予測パラメータ制御部204と、参照画像セレクタ205と、フレームメモリ206と、参照画像制御部207と、を備える。
 フレームメモリ206は、参照画像制御部207の制御の下、加算部106から入力された局所復号画像を参照画像として格納する。フレームメモリ206は、参照画像を一時保持するための複数のメモリセットFM1~FMN(N≧2)を有する。
 予測パラメータ制御部204は、動き評価部109から入力される動き情報に基づいて、参照画像番号と予測パラメータとの複数の組み合わせをテーブルとして用意している。ここで、動き情報とは、動き補償予測で用いられる動きのズレ量を示す動きベクトルや参照画像番号、単方向/双方向予測などの予測モードに関する情報などを指す。予測パラメータは、動きベクトル及び予測モードに関する情報を指す。そして予測パラメータ制御部204は、入力画像に基づいて、予測画像の生成に用いる参照画像番号と予測パラメータとの組み合わせを選択して出力し、参照画像番号を参照画像セレクタ205に入力し、予測パラメータを単方向動き補償部203に入力する。
 参照画像セレクタ205は、フレームメモリ206が有するフレームメモリFM1~FMNのいずれの出力端を接続するかを、予測パラメータ制御部204から入力された参照画像番号に従って切り替えるスイッチである。参照画像セレクタ205は、例えば、参照画像番号が0であれば、FM1の出力端を参照画像セレクタ205の出力端に接続し、参照画像番号がN-1であれば、FMNの出力端を参照画像セレクタ205の出力端に接続する。参照画像セレクタ205は、フレームメモリ206が有するフレームメモリFM1~FMNのうち、出力端が接続されているフレームメモリに格納されている参照画像を出力し、単方向動き補償部203及び動き評価部109へ入力する。
 単方向予測動き補償部203は、予測パラメータ制御部204から入力された予測パラメータと参照画像セレクタ205から入力された参照画像に従って、動き補償予測処理を行い、単方向予測画像を生成する。
 図5は、第1実施形態の双方向予測における動き補償予測の動きベクトルの関係の一例を示す図である。動き補償予測では、参照画像を用いて補間処理が行われ、作成された補間画像と入力画像との符号化対象位置の画素ブロックからの動きのズレ量を元に単方向予測画像が生成される。ここで、ズレ量は、動きベクトルである。図5に示すように、双方向予測スライス(B-slice)では、2種類の参照画像と動きベクトルのセットを用いて予測画像が生成される。補間処理としては、1/2画素精度の補間処理や、1/4画素精度の補間処理などが用いられ、参照画像に対してフィルタリング処理が行われることによって、補間画像の値が生成される。例えば、輝度信号に対して1/4画素精度までの補間処理な可能なH.264では、ズレ量は整数画素精度の4倍で表現される。
 単方向予測動き補償部203は、単方向予測画像を出力し、メモリ202に一時的に格納する。ここで、動き情報(予測パラメータ)が双方向予測を示す場合には、複数フレーム動き補償部201が2種類の単方向予測画像を用いて重み付き予測を行うため、単方向予測動き補償部203は、1つ目に対応する単方向予測画像をメモリ202に格納し、2つ目に対応する単法予測画像を複数フレーム動き補償部201に直接出力する。ここでは、1つ目に対応する単方向予測画像を第一予測画像とし、2つ目に対応する単方向予測画像を第二予測画像とする。
 なお、単方向動き補償部203を2つ用意し、それぞれが2つの単方向予測画像を生成するようにしてもよい。この場合、動き情報(予測パラメータ)が単方向予測を示すときには、単方向動き補償部203が、1つ目の単方向予測画像を第一予測画像として複数フレーム動き補償部201に直接出力すればよい。
 複数フレーム動き補償部201は、メモリ202から入力される第一予測画像、単方向予測動き補償部203から入力される第二予測画像、及び動き評価部109から入力されるWPパラメータ情報を用いて、重み付き予測を行って予測画像を生成する。複数フレーム動き補償部201は、予測画像を出力し、減算部101及び加算部106に入力する。
 図6は、第1実施形態の複数フレーム動き補償部201の構成の一例を示すブロック図である。複数フレーム動き補償部201は、図6に示すように、デフォルト動き補償部301と、重み付き動き補償部302と、WPパラメータ制御部303と、WPセレクタ304、305とを、備える。
 WPパラメータ制御部303は、動き評価部109から入力されるWPパラメータ情報に基づいて、WP適用フラグ及び重み情報を出力し、WP適用フラグをWPセレクタ304、305に入力し、重み情報を重み付き動き補償部302に入力する。
 ここで、WPパラメータ情報は、重み係数の固定小数点精度、第一予測画像に対応する第一WP適用フラグ,第一重み係数,及び第一オフセット、並びに第二予測画像に対応する第二WP適応フラグ,第二重み係数,及び第二オフセットの情報を含む。WP適用フラグは、該当する参照画像及び信号成分毎に設定可能なパラメータであり、重み付き動き補償予測を行うかどうかを示す。重み情報は、重み係数の固定小数点精度、第一重み係数、第一オフセット、第二重み係数、及び第二オフセットの情報を含む。
 詳細には、WPパラメータ制御部303は、動き評価部109からWPパラメータ情報が入力されると、WPパラメータ情報を第一WP適用フラグ、第二WP適用フラグ、及び重み情報に分離して出力し、第一WP適用フラグをWPセレクタ304に入力し、第二WP適用フラグをWPセレクタ305に入力し、重み情報を重み付き動き補償部302に入力する。
 WPセレクタ304、305は、WPパラメータ制御部303から入力されたWP適用フラグに基づいて、各々の予測画像の接続端を切り替える。WPセレクタ304、305は、各々のWP適用フラグが0の場合、各々の出力端をデフォルト動き補償部301へ接続する。そしてWPセレクタ304、305は、第一予測画像及び第二予測画像を出力し、デフォルト動き補償部301に入力する。一方、WPセレクタ304、305は、各々のWP適用フラグが1の場合、各々の出力端を重み付き動き補償部302へ接続する。そしてWPセレクタ304、305は、第一予測画像及び第二予測画像を出力し、重み付き動き補償部302に入力する。
 デフォルト動き補償部301は、WPセレクタ304、305から入力された2つの単方向予測画像(第一予測画像及び第二予測画像)を元に平均値処理を行い、予測画像を生成する。具体的には、デフォルト動き補償部301は、第一WP適用フラグ及び第二WP適用フラグが0の場合、数式(1)に基づいて平均値処理を行う。
 P[x,y]=Clip1((PL0[x,y]+PL1[x,y]+offset2)>>(shift2))   …(1)
 ここで、P[x,y]は予測画像、PL0[x,y]は第一予測画像、PL1[x,y]は第二予測画像である。offset2及びshift2は平均値処理における丸め処理のパラメータであり、第一予測画像及び第二予測画像の内部演算精度によって定まる。予測画像のビット精度をL、第一予測画像及び第二予測画像のビット精度をM(L≦M)とすると、shift2は数式(2)で定式化され、offset2は数式(3)で定式化される。
 shift2=(M-L+1)   …(2)
 offset2=(1<<(shift2-1)   …(3)
 例えば、予測画像のビット精度が8であり、第一予測画像及び第二予測画像のビット精度が14である場合、数式(2)よりshift2=7、数式(3)よりoffset2=(1<<6)となる。
 なお、動き情報(予測パラメータ)で示される予測モードが単方向予測である場合、デフォルト動き補償部301は、第一予測画像のみを用いて、数式(4)に基づいて最終的な予測画像を算出する。
 P[x,y]=Clip1((PLX[x,y]+offset1)>>(shift1))   …(4)
 ここで、PLX[x,y]は単方向予測画像(第一予測画像)を示しており、Xは参照リストの0又は1のいずれかを示す識別子である。例えば、参照リストが0の場合はPL0[x,y]、参照リストが1の場合はPL1[x,y]となる。offset1及びshift1は丸め処理のパラメータであり、第一予測画像の内部演算精度によって定まる。予測画像のビット精度をL、第一予測画像のビット精度をMとすると、shift1は数式(5)で定式化され、offset1は数式(6)で定式化される。
 shift1=(M-L)   …(5)
 offset1=(1<<(shift1-1)   …(6)
 例えば、予測画像のビット精度が8であり、第一予測画像のビット精度が14である場合、数式(5)よりshift1=6、数式(6)よりoffset1=(1<<5)となる。
 重み付き動き補償部302は、WPセレクタ304、305から入力された2つの単方向予測画像(第一予測画像及び第二予測画像)とWPパラメータ制御部303から入力された重み情報とを元に重み付き動き補償を行う。具体的には、重み付き動き補償部302は、第一WP適用フラグ及び第二WP適用フラグが1の場合、数式(7)に基づいて重み付き処理を行う。
 P[x,y]=Clip1(((PL0[x,y]*w0C+PL1[x,y]*w1C+(1<<logWD))>>(logWD+1))+((o0C+o1C+1)>>1))   …(7)
 ここで、w0Cは第一予測画像に対応する重み係数、w1Cは第二予測画像に対応する重み係数、o0Cは第一予測画像に対応するオフセット、o1Cは第二予測画像に対応するオフセットを表す。以後、それぞれを第一重み係数、第二重み係数、第一オフセット、第二オフセットと呼ぶ。logWDはそれぞれの重み係数の固定小数点精度を示すパラメータである。変数Cは、信号成分を意味する。例えば、YUV空間信号の場合、輝度信号をC=Yとし、Cr色差信号をC=Cr、Cb色差成分をC=Cbと表す。
 なお、重み付き動き補償部302は、第一予測画像及び第二予測画像と予測画像との演算精度が異なる場合、固定小数点精度であるlogWDを数式(8)のように制御することで丸め処理を実現する。
 logWD’=logWD+offset1   …(8)
 丸め処理は、数式(7)のlogWDを、数式(8)のlogWD’に置き換えることで実現できる。例えば、予測画像のビット精度が8であり、第一予測画像及び第二予測画像のビット精度が14である場合、logWDを再設定することにより、数式(1)のshift2と同様の演算精度における一括丸め処理を実現することが可能となる。
 なお、動き情報(予測パラメータ)で示される予測モードが単方向予測である場合、重み付き動き補償部302は、第一予測画像のみを用いて、数式(9)に基づいて最終的な予測画像を算出する。
 P[x,y]=Clip1((PLX[x,y]*wXC+(1<<logWD-1))>>(logWD))   …(9)
 ここで、PLX[x,y]は単方向予測画像(第一予測画像)を示し、wXCは単方向予測に対応する重み係数を示しており、Xは参照リストの0又は1のいずれかを示す識別子である。例えば、参照リストが0の場合はPL0[x,y]、w0C、参照リストが1の場合はPL1[x,y]、w1Cとなる。
 なお、重み付き動き補償部302は、第一予測画像及び第二予測画像と予測画像との演算精度が異なる場合、固定小数点精度であるlogWDを双方向予測時と同様に数式(8)のように制御することで丸め処理を実現する。
 丸め処理は、数式(7)のlogWDを、数式(8)のlogWD’に置き換えることで実現できる。例えば、予測画像のビット精度が8であり、第一予測画像のビット精度が14である場合、logWDを再設定することにより、数式(4)のshift1と同様の演算精度における一括丸め処理を実現することが可能となる。
 図7は、第1実施形態における重み係数の固定小数点精度の一例の説明図であり、時間方向の明度変化がある動画像と階調値との変化の一例を示す図である。図7に示す例では、符号化対象フレームをFrame(t)とし、時間的に1つ前のフレームをFrame(t-1)、時間的に1つ後のフレームをFrame(t+1)としている。図7に示すように、白から黒に変化するフェード画像では、画像の明度(階調値)が時間とともに減少していく。重み係数は、図7における変化の度合いを意味しており、数式(7)及び数式(9)から明らかなように、明度変化がない場合に1.0の値を取る。固定小数点精度は、重み係数の小数点に対応する刻み幅を制御するパラメータであり、明度変化がない場合の重み係数は、1<<logWDとなる。
 なお、単方向予測の場合には、第二予測画像に対応する各種パラメータ(第二WP適応フラグ,第二重み係数,及び第二オフセットの情報)は利用されないため、予め定めた初期値に設定されていてもよい。
 図1に戻り、動き評価部109は、入力画像と予測画像生成部107から入力された参照画像とに基づき複数フレーム間の動き評価を行い、動き情報及びWPパラメータ情報を出力し、動き情報を予測画像生成部107及び符号化部110に入力し、WPパラメータ情報を予測画像生成部107及びインデックス設定部108に入力する。
 動き評価部109は、例えば、予測対象画素ブロックの入力画像と同位置に対応する複数の参照画像を起点として差分値を計算することで誤差を算出し、この位置を分数精度でずらし、誤差最小のブロックを探すブロックマッチングなどの手法により、最適な動き情報を算出する。動き評価部109は、双方向予測の場合には、単方向予測で導出された動き情報を用いて、数式(1)及び数式(4)に示すようなデフォルト動き補償予測を含むブロックマッチングを行うことにより、双方向予測の動き情報を算出する。
 この際、動き評価部109は、数式(7)及び数式(9)で示されるような重み付き動き補償予測を含むブロックマッチングを行うことにより、WPパラメータ情報を算出できる。なお、WPパラメータ情報の算出には、入力画像の明度勾配を用いて重み係数やオフセットを算出する方法や、符号化した際の予測誤差の累積による重み係数やオフセットの算出方法などを用いてもよい。またWPパラメータ情報は、符号化装置毎に予め定めた固定値を用いてもよい。
 ここで、図7を参照しながら、時間的に明度変化のある動画像から、重み係数、重み係数の固定小数点精度、及びオフセットを算出する方法を説明する。前述したように、図7に示すような白から黒に変化するフェード画像では、画像の明度(階調値)が時間とともに減少していく。動き評価部109は、この傾きを計算することにより、重み係数を算出することができる。
 また、重み係数の固定小数点精度は、この傾きの精度を示す情報であり、動き評価部109は、参照画像の時間的な距離と画像明度の変化度から、最適な値を計算できる。例えば、図7において、Frame(t-1)~Frame(t+1)間の重み係数が小数点精度で0.75である場合、1/4精度であれば、3/4が表現できるため、動き評価部109は、固定小数点精度を2(1<<2)に設定する。固定小数点精度の値は、重み係数を符号化した場合の符号量に影響を与えるため、符号量と予測精度を考慮して最適な値を選択すればよい。なお、固定小数点精度の値は、予め定めた固定値としてもよい。
 また、動き評価部109は、傾きが一致しない場合、一次関数の切片に対応する補正値(ズレ量)を求めることでオフセット値を算出できる。例えば、図7において、Frame(t-1)~Frame(t+1)間の重み係数が小数点精度で0.60であり、固定小数点精度が1(1<<1)である場合、重み係数は1(つまり、重み係数の小数点精度0.50に該当)が設定される可能性が高い。この場合、重み係数の小数点精度は、最適な値である0.60から0.10ずれているため、動き評価部109は、この分の補正値を画素の最大値から計算し、オフセット値として設定する。画素の最大値が255である場合、動き評価部109は、25(255×0.1)などの値を設定すればよい。
 なお第1実施形態では、符号化装置100の一機能として動き評価部109を例示しているが、動き評価部109は符号化装置100の必須の構成ではなく、例えば、動き評価部109を符号化装置100外の装置としてもよい。この場合、動き評価部109で算出された動き情報及びWPパラメータ情報を符号化装置100にロードするようにすればよい。
 インデックス設定部108は、動き評価部109から入力されたWPパラメータ情報を受け取り、参照リスト(リスト番号)と参照画像(参照番号)とを確認して、インデックス情報を出力し、インデックス設定部108に入力する。
 図8は、第1実施形態のインデックス設定部108の構成の一例を示すブロック図である。インデックス設定部108は、図8に示すように、参照画像確認部401と、インデックス生成部402とを、備える。
 参照画像確認部401は、動き評価部109から入力されたWPパラメータ情報を受け取り、2つの参照リストに含まれる参照番号が互いに同一の参照画像を指しているWPパラメータがあるかどうかを確認する。そして参照画像確認部401は、WPパラメータ情報のうち同一の参照画像を指しているWPパラメータを削除し、削除後のWPパラメータ情報を出力し、インデックス生成部402に入力する。
 インデックス生成部402は、参照画像確認部401から冗長なWPパラメータが削除されたWPパラメータ情報を受け取り、後述するシンタクス要素にマッピングを行ってインデックス情報を生成する。インデックス生成部402は、インデックス情報を出力し、符号化部110に入力する。
 図9A及び図9Bは、第1実施形態のWPパラメータ情報の一例を示す図である。P-slice時のWPパラメータ情報の一例は、図9Aに示すとおりであり、B-slice時のWPパラメータ情報の一例は、図9A及び図9Bに示すとおりである。リスト番号は、予測方向を示す識別子であり、単方向予測時は0の値を取り、双方向予測時は2種類の予測を用いることができるため、0と1の2つの値を取る。参照番号は、フレームメモリ206に示される1~Nに対応する値である。WPパラメータ情報は、参照リストと参照画像毎に保持されるため、B-slice時で必要な情報は、参照画像がN個とすると2N個となる。参照画像確認部401は、これらのWPパラメータ情報を再変換し、冗長なWPパラメータを削除する。
 図10は、第1実施形態の低遅延符号化構造における符号化順と表示順(POC:Pciture Order Count)の一例を示す図であり、参照画像となることが可能なB-sliceをrB-sliceとして用いた符号化構造の例を示している。低遅延符号化構造では、画像の先読みが出来ないため、符号化順と表示順が同一となる。ここでは、表示順でフレーム0~3までが符号化済みとし、フレーム4を符号化することを考える。
 図11は、第1実施形態の低遅延符号化構造における参照画像と参照番号との関係の一例を示す図であり、フレーム4を符号化する場合の参照画像と参照番号との関係を簡略化したWPパラメータ情報で示している。図11に示す例では、参照リスト内の参照番号の順序がリスト0とリスト1とで同一となっており、リスト0とリスト1との参照画像が同一であることを意味している。
 図12は、第1実施形態のランダムアクセス符号化構造における符号化順と表示順の一例を示す図であり、ここでは、表示順でフレーム0、2、4、8が符号化済みであり、フレーム1を符号化することを考える。
 図13は、第1実施形態のランダムアクセス符号化構造における参照画像と参照番号との関係の一例を示す図であり、フレーム1を符号化する場合の参照画像と参照番号との関係を簡略化したWPパラメータ情報で示している。図13に示す例では、参照リスト別の参照番号の順序はそれぞれ異なっているが、リスト0とリスト1とには、共通の4つの参照画像が含まれており、リスト0とリスト1との参照画像が同一であることを意味している。
 参照画像確認部401は、冗長なWPパラメータ、即ち、2つの参照リストに含まれる参照番号が互いに同一の参照画像を指しているWPパラメータを削除するため、参照番号を並び替え、共通の新しいインデックスに変換する。
 図14は、第1実施形態の参照画像のリスト番号及び参照番号のスキャン順序の一例を示す図である。参照画像確認部401は、図14に示すスキャン順で、2次元の参照リスト(2つの参照リスト)を1次元の共通リスト(1つの共通リスト)に変換する。具体的には、参照画像確認部401は、図14に示すスキャン順で、図9A及び図9Bに示すWPパラメータ情報を読み込むことにより、2つの参照リストを共通リストに並び替え、冗長なWPパラメータを削除する。ここでは、参照画像確認部401は、数式(10)に示す疑似コードに従って、WPパラメータ情報を読み込む。
for (scan=0; scan<=num_of_common_active_ref_minus1; scan++){
list = common_scan_list(scan)
ref_idx = common_scan_ref_idx(scan)
refPOC = RefPicOrderCount(list, ref_idx)
identical_ref_flag=false;
for (curridx=0; curridx<=num_of_common_active_ref_minus1; curridx++){
if( refPOC == CommonRefPicOrderCount(curridx) ){
identical_ref_flag=true;
}
}
if(!identical_ref_flag)
InsertCommonRefPicOrderCount(scan, refPOC);
}   …(10)
 ここで、common_scan_list()は、図14のスキャン番号に対応するリスト番号を返す関数である。common_scan_ref_idx()は、図14のスキャン番号に対応する参照番号を返す関数である。RefPicOrderCnt()は、リスト番号及び参照番号に対応するPOC番号を返す関数である。POC番号は、参照画像の表示順を示す番号である。但し、POC番号は、予め定められた最大数を超える場合、初期値にマッピングされる。例えば、POC番号の最大値が255である場合、256に対応するPOC番号は0となる。CommonRefPicOrderCount()は、共通リスト(CommonList)の参照番号に対応するPOC番号を返す関数である。InsertCommonRefPicOrderCount()は、スキャン番号に対応するPOC番号を、共通リスト(CommonList)に挿入する関数である。
 なお、図14に示すスキャン順序は一例であり、予め定めたスキャン順序であればこれ以外のスキャン順序を用いてもよい。また、数式(10)で示した疑似コードは一例であり、本処理の目的を実現できれば処理の追加や冗長な処理の削減も可能である。
 図15及び図16は、第1実施形態における共通リスト変換後のWPパラメータ情報の一例を簡略化して示した図である。図15は、図11に示す参照リストのWPパラメータ情報を変換した共通リストのWPパラメータ情報を簡略化して示しており、図16は、図13に示す参照リストのWPパラメータ情報を変換した共通リストのWPパラメータ情報を簡略化して示している。
 図17は、第1実施形態のインデックス設定部108で実行されるインデックス情報の生成処理の一例を示すフローチャートである。
 参照画像確認部401は、WPパラメータ情報が入力されると、スライスタイプに従って処理を分岐する(ステップS101)。
 スライスタイプが1つの参照リストのみを用いる単方向予測スライス(P-slice)である場合には(ステップS101でNo)、参照画像確認部401は、図9Aに示すWPパラメータ情報をそのままインデックス生成部402へ出力する。インデックス生成部402は、参照画像確認部401から入力されたWPパラメータ情報を後述する予め定められたシンタクス要素にマッピングしてインデックス情報を生成し、出力する。
 一方、スライスタイプが2つの参照リストを用いる双方向予測スライス(B-slice)である場合には(ステップS101でYes)、参照画像確認部401は、変数scanを0に初期化する(ステップS102)。変数scanは、図14のスキャン番号を示す。
 続いて、参照画像確認部401は、変数scanを用いて、スキャン番号に対応するリスト番号を示す変数listを取得するとともに(ステップS103)、スキャン番号に対応する参照番号を示す変数refIdxを取得する(ステップS104)。
 続いて、参照画像確認部401は、変数listが示すリスト番号及び変数refIdxが示す参照番号に対応する参照画像のPOC番号を示す変数refPOCを導出する(ステップS105)。
 続いて、参照画像確認部401は、フラグidentical_ref_flagをfalseに設定するとともに(ステップS106)、変数curridxを0に設定する(ステップS107)。フラグidentical_ref_flagは、共通リストに同一の参照画像があるか否かを示す。変数curridxは、共通リストの参照番号を示す。
 続いて、参照画像確認部401は、導出した変数refPOCが示すPOC番号と変数curridxが示す参照番号に対応する参照画像のPOC番号とが同一であるかどうかを判断する(ステップS108)。
 両POC番号が同一である場合(ステップS108でYes)、参照画像確認部401は、フラグidentical_ref_flagをtrueに設定する(ステップS109)。一方、両POC番号が同一でない場合(ステップS108でNo)、ステップS109の処理は行われない。
 続いて、参照画像確認部401は、変数curridxをインクリメントする(ステップS110)。
 続いて、参照画像確認部401は、変数curridxの値が共通リストの最大数から1を引いた値であるnum_of_common_active_ref_minus1より大きいかどうかを判断し(ステップS111)、num_of_common_active_ref_minus1以下の間(ステップS111でNo)、ステップS108~ステップS110の処理を繰り返す。
 num_of_common_active_ref_minus1より大きくなると(ステップS111でYes)、参照画像確認部401は、共通リストの確認を完了し、フラグidentical_ref_flagがfalseかどうかを更に確認する(ステップS112)。
 フラグidentical_ref_flagがfalseの場合(ステップS112でYes)、参照画像確認部401は、共通リストに変数refPOCが示すPOC番号の参照画像と同一の参照画像が含まれないと判断し、変数refPOCが示すPOC番号を共通リストに追加する(ステップS113)。一方、フラグidentical_ref_flagがtrueの場合(ステップS112でNo)、参照画像確認部401は、共通リストに変数refPOCが示すPOC番号の参照画像と同一の参照画像が含まれると判断し、ステップS113の処理は行わない。
 続いて、参照画像確認部401は、変数scanをインクリメントする(ステップS114)。
 続いて、参照画像確認部401は、変数scanの値が共通リストの最大数から1を引いた値であるnum_of_common_active_ref_minus1より大きいかどうかを判断し(ステップS115)、num_of_common_active_ref_minus1以下であれば(ステップS115でNo)、ステップS103に戻る。一方、num_of_common_active_ref_minus1より大きければ(ステップS115でYes)、参照画像確認部401は、共通リストに変換後のWPパラメータ情報をインデックス生成部402へ出力する。インデックス生成部402は、参照画像確認部401から入力されたWPパラメータ情報を後述する予め定められたシンタクス要素にマッピングしてインデックス情報を生成し、出力する。
 図1に戻り、符号化部110は、量子化部103から入力された量子化変換係数、動き評価部109から入力された動き情報、インデックス設定部108から入力されたインデックス情報、及び符号化制御部111によって指定される量子化情報などの様々な符号化パラメータに対してエントロピー符号化を行い、符号化データを生成する。エントロピー符号化は、例えば、ハフマン符号化や算術符号化などが該当する。
 符号化パラメータとは、予測方法などを示す予測情報、量子化変換係数に関する情報、及び量子化に関する情報などの復号に必要となるパラメータである。例えば、符号化制御部111が図示せぬ内部メモリを持ち、この内部メモリに符号化パラメータが保持され、画素ブロックを符号化する際に隣接する既に符号化済みの画素ブロックの符号化パラメータを用いるようにできる。例えば、H.264のイントラ予測では、符号化済みの隣接ブロックの予測情報から、画素ブロックの予測情報を導出することができる。
 符号化部110は、生成した符号化データを、符号化制御部111が管理する適切な出力タイミングに従って出力する。出力された符号化データは、例えば、図示せぬ多重化部などで様々な情報が多重化されて、図示せぬ出力バッファなどに一時的に蓄積された後に、例えば、図示せぬ蓄積系(蓄積メディア)又は伝送系(通信回線)へ出力される。
 図18は、第1実施形態の符号化装置100が利用するシンタクス500の一例を示す図である。シンタクス500は、符号化装置100が入力画像(動画像データ)を符号化して生成した符号化データの構造を示している。符号化データを復号化する場合、後述の復号装置は、シンタクス500と同一のシンタクス構造を参照して動画像のシンタクス解釈を行う。
 シンタクス500は、ハイレベルシンタクス501、スライスレベルシンタクス502及びコーディングツリーレベルシンタクス503の3つのパートを含む。ハイレベルシンタクス501は、スライスよりも上位のレイヤのシンタクス情報を含む。スライスとは、フレーム若しくはフィールドに含まれる矩形領域又は連続領域を指す。スライスレベルシンタクス502は、各スライスを復号化するために必要な情報を含む。コーディングツリーレベルシンタクス503は、各コーディングツリー(即ち、各コーディングツリーブロック)を復号するために必要な情報を含む。これら各パートは、更に詳細なシンタクスを含む。
 ハイレベルシンタクス501は、シーケンスパラメータセットシンタクス504、ピクチャパラメータセットシンタクス505、及びアダプテーションパラメータセットシンタクス506などのシーケンス及びピクチャレベルのシンタクスを含む。
 スライスレベルシンタクス502は、スライスヘッダーシンタクス507、プレッドウェイトテーブルシンタクス508、及びスライスデータシンタクス509などを含む。プレッドウェイトテーブルシンタクス508は、スライスヘッダーシンタクス507から呼び出される。
 コーディングツリーレベルシンタクス503は、コーディングツリーユニットシンタクス510、トランスフォームユニットシンタクス511、及びプレディクションユニットシンタクス512などを含む。コーディングツリーユニットシンタクス510は、四分木構造を持つことができる。具体的には、コーディングツリーユニットシンタクス510のシンタクス要素として、更にコーディングツリーユニットシンタクス510を再帰呼び出しすることができる。即ち、1つのコーディングツリーブロックを四分木で細分化することができる。また、コーディングツリーユニットシンタクス510内にはトランスフォームユニットシンタクス511が含まれている。トランスフォームユニットシンタクス511は、四分木の最末端の各コーディングツリーユニットシンタクス510において呼び出される。トランスフォームユニットシンタクス511は、逆直交変換及び量子化などに関わる情報が記述されている。これらのシンタクスには、重み付き動き補償予測に関する情報が記述されてもよい。
 図19は、第1実施形態のピクチャパラメータセットシンタクス505の一例を示す図である。weighted_pred_flagは、例えば、P-sliceに関する第1実施形態の重み付き補償予測の有効又は無効を示すシンタクス要素である。weighted_pred_flagが0である場合、P-slice内での第1実施形態の重み付き動き補償予測は無効となる。従って、WPパラメータ情報に含まれるWP適用フラグは常に0に設定され、WPセレクタ304、305は、各々の出力端をデフォルト動き補償部301へ接続する。一方、weighted_pred_flagが1である場合、P-slice内での第1実施形態の重み付き動き補償予測は有効となる。
 なお、別の例として、weighted_pred_flagが1である場合には、より下位のレイヤ(スライスヘッダー、コーディングツリーブロック、トランスフォームユニット、及びプレディクションユニットなど)のシンタクスにおいて、スライス内部の局所領域毎に第1実施形態の重み付き動き補償予測の有効又は無効を規定するようにしてもよい。
 weighted_bipred_idcは、例えば、B-sliceに関する第1実施形態の重み付き補償予測の有効又は無効を示すシンタクス要素である。weighted_bipred_idcが0である場合、B-slice内での第1実施形態の重み付き動き補償予測は無効となる。従って、WPパラメータ情報に含まれるWP適用フラグは常に0に設定され、WPセレクタ304、305は、各々の出力端をデフォルト動き補償部301へ接続する。一方、weighted_bipred_idcが1である場合、B-slice内での第1実施形態の重み付き動き補償予測は有効となる。
 なお、別の例として、weighted_bipred_idcが1である場合には、より下位のレイヤ(スライスヘッダー、コーディングツリーブロック、及びトランスフォームユニットなど)のシンタクスにおいて、スライス内部の局所領域毎に第1実施形態の重み付き動き補償予測の有効又は無効を規定するようにしてもよい。
 図20は、第1実施形態のスライスヘッダーシンタクス507の一例を示す図である。slice_typeはスライスのスライスタイプ(I-slice,P-slice,B-sliceなど)を示している。pic_parameter_set_idは、いずれのピクチャパラメータセットシンタクス505を参照するかを示す識別子である。num_ref_idx_active_override_flagは、有効な参照画像の数を更新するかどうかを示すフラグであり、本フラグが1の場合、参照リストの参照画像数を定義するnum_ref_idx_l0_active_minus1及びnum_ref_idx_l1_active_minus1が利用できる。pred_weight_table()は、重み付き動き補償予測に利用するプレッドウェイトテーブルシンタクスを示す関数であり、前述のweighted_pred_flagが1かつP-sliceの場合、及びweighted_bipred_idcが1かつB-sliceの場合に、本関数が呼び出される。
 図21は、第1実施形態のプレッドウェイトテーブルシンタクス508の一例を示す図である。luma_log2_weight_denomは、スライスにおける輝度信号の重み係数の固定小数点精度を表しており、数式(7)又は数式(9)のlogWDに対応する値である。chroma_log2_weight_denomは、スライスにおける色差信号の重み係数の固定小数点精度を表しており、数式(7)又は数式(9)のlogWDに対応する値である。chroma_format_idcは、色空間を表す識別子であり、MONO_IDXはモノクロ映像を示す値である。num_ref_common_active_minus1は、スライスにおける共通リストに含まれる参照画像の数から1を引いた値を示し、数式(10)で用いられる。この値の最大値は、リスト0とリスト1の2つの参照画像枚数の最大値を足した値となる。
 luma_weight_common_flagは、輝度信号におけるWP適応フラグを示している。本フラグが1の場合、スライス内全域で第1実施形態の輝度信号の重み付き動き補償予測が有効となる。chroma_weight_common_flagは、色差信号におけるWP適応フラグを示している。本フラグが1の場合、スライス内全域で第1実施形態の色差信号の重み付き動き補償予測が有効となる。luma_weight_common[i]は、共通リストで管理されたi番目に対応する輝度信号の重み係数である。luma_offset_common[i]は、共通リストで管理されたi番目に対応する輝度信号のオフセットである。これらは、それぞれ、数式(7)又は数式(9)のw0C、w1C、o0C、o1Cに対応する値である。但し、C=Yとする。
 chroma_weight_common[i][j]は、共通リストで管理されたi番目に対応する色差信号の重み係数である。chroma_offset_common[i][j]は、共通リストで管理されたi番目に対応する色差信号のオフセットである。これらは、それぞれ、数式(7)又は数式(9)のw0C、w1C、o0C、o1Cに対応する値である。但し、C=Cr又はCbとする。jは色差成分のコンポーネントを示しており、例えばYUV4:2:0信号の場合、j=0がCr成分、j=1がCb成分であることを示す。
 以上のように第1実施形態では、インデックス設定部108は、WPパラメータ情報において、リスト0及びリスト1の2つの参照リスト内に互いに同一の参照画像を含む組み合わせがある場合、2つの参照リストを共通リストへ変換することによって、WPパラメータ情報から重複する冗長なWPパラメータを削除してインデックス情報を生成する。従って、第1実施形態によれば、インデックス情報の符号量を削減することができる。
 特に、重み係数及びオフセットは、参照画像毎に符号化する必要があるため、参照画像枚数の増加に従ってデコーダにシグナリングする情報量も増大するが、参照画像枚数が増加すると、参照リスト内に同一の参照画像を参照するケースが増えるため、共通リストで管理することにより大幅な符号量の削減効果が期待できる。
(第1実施形態の変形例)
 第1実施形態の変形例について説明する。第1実施形態の変形例では、インデックス生成部402が用いるシンタクス要素が第1実施形態のシンタクス要素と異なる。
 図22は、第1実施形態の変形例のシーケンスパラメータセットシンタクス504の一例を示す図である。profile_idcは、符号化データのプロファイルに関する情報を示す識別子である。level_idcは、符号化データのレベルに関する情報を示す識別子である。seq_parameter_set_idは、いずれのシーケンスパラメータセットシンタクス504を参照するかを示す識別子である。num_ref_framesは、フレームにおける参照画像の最大枚数を示す変数である。weighted_prediction_enabled_flagは、例えば、符号化データに関して変形例の重み付き動き補償予測の有効又は無効を示すシンタクス要素である。
 weighted_prediction_enabled_flagが0である場合、符号化データ内での変形例の重み付き動き補償予測は無効となる。従って、WPパラメータ情報に含まれるWP適用フラグは常に0に設定され、WPセレクタ304、305は、各々の出力端をデフォルト動き補償部301へ接続する。一方、weighted_prediction_enabled_flagが1である場合、符号化データ内全域で変形例の重み付き動き補償予測が有効となる。
 なお、別の例として、weighted_prediction_enabled_flagが1である場合には、より下位のレイヤ(ピクチャパラメータセット、アダプテーションパラメータセット、スライスヘッダー、コーディングツリーブロック、トランスフォームユニット、及びプレディクションユニットなど)のシンタクスにおいて、スライス内部の局所領域毎に変形例の重み付き動き補償予測の有効又は無効を規定するようにしてもよい。
 図23は、第1実施形態の変形例のアダプテーションパラメータセットシンタクス506の一例を示す図である。アダプテーションパラメータセットシンタクス506は、符号化フレーム全体に影響を与えるパラメータを保持しており、上位ユニットとして独立に符号化される。例えば、H.264では、ハイレベルシンタクス501に該当するシンタクス要素をNALユニットとして符号化する。このため、アダプテーションパラメータセットシンタクス506は、スライスや画素ブロックに代表される下位情報のパラメータを保持するスライスレベルシンタクス502より下位のシンタクスと符号化ユニットが異なる。
 aps_idは、いずれのアダプテーションパラメータセットシンタクス506を参照するかを示す識別子である。本識別子を参照することにより、下位のスライスは、符号化済みの任意のaps_idを参照することができる。この場合、例えば、図20のスライスヘッダーシンタクス507にも同様のaps_idを付加することによって、フレーム全体に影響を与えるパラメータを読み込むことが可能となる。
 aps_weighted_prediction_flagは、例えば、フレームにおけるP-sliceに関する変形例の重み付き動き補償予測の有効又は無効を示すシンタクス要素である。aps_weighted_prediction_flagが0である場合、フレーム内におけるP-sliceでの変形例の重み付き動き補償予測は無効となる。従って、WPパラメータ情報に含まれるWP適用フラグは常に0に設定され、WPセレクタ304、305は、各々の出力端をデフォルト動き補償部301へ接続する。一方、aps_weighted_prediction_flagが1である場合、当該フレーム内全域で変形例の重み付き動き補償予測が有効となる。
 なお、別の例として、aps_weighted_prediction_flagが1である場合には、より下位のレイヤ(スライスヘッダー、コーディングツリーブロック、トランスフォームユニット、及びプレディクションユニットなど)のシンタクスにおいて、スライス内部の局所領域毎に変形例の予測の重み付き動き補償予測の有効又は無効を規定するようにしてもよい。
 aps_weighted_bipred_idxは、例えば、フレームにおけるB-sliceに関する変形例の重み付き動き補償予測の有効又は無効を示すシンタクス要素である。aps_weighted_bipred_idxが0である場合、フレーム内におけるP-sliceでの変形例の重み付き動き補償予測は無効となる。従って、WPパラメータ情報に含まれるWP適用フラグは常に0に設定され、WPセレクタ304、305は、各々の出力端をデフォルト動き補償部301へ接続する。一方、aps_weighted_bipred_idxが1である場合、当該フレーム内全域で変形例の重み付き動き補償予測が有効となる。
 なお、別の例として、aps_weighted_bipred_idxが1である場合には、より下位のレイヤ(スライスヘッダー、コーディングツリーブロック、トランスフォームユニット、及びプレディクションユニットなど)のシンタクスにおいて、スライス内部の局所領域毎に変形例の予測の重み付き動き補償予測の有効又は無効を規定するようにしてもよい。
 pred_weight_table()は、重み付き動き補償予測に利用するプレッドウェイトテーブルシンタクスを示す関数であり、前述のaps_weighted_prediction_flagが1の場合、又はaps_weighted_bipred_idxが1の場合に、本関数が呼び出される。
 図24は、第1実施形態の変形例のプレッドウェイトテーブルシンタクス508の一例を示す図である。第1実施形態の変形例では、図18のシンタクス構造において、アダプテーションパラメータセットシンタクス506からプレッドウェイトテーブルシンタクス508が呼び出される。図21のプレッドウェイトテーブルシンタクス508との違いは、num_ref_common_active_minus1が、MAX_COMMON_REF_MINUS1に変更されている点である。参照画像の枚数は、スライスヘッダーシンタクス507で記述されているため、上位レイヤであるアダプテーションパラメータセットシンタクス506では参照することが出来ない。このため、例えばシーケンスパラメータセットシンタクス504に記述されているnum_ref_framesの値から1を引いた値をMAX_COMMON_REF_MINUS1にセットする。また、予め定めたプロファイル又はレベルに応じて最大の参照画像枚数を取れる値を定めておいてもよい。なお、他のシンタクス要素は図21と同一である。
 以上のように第1実施形態の変形例によれば、プレッドウェイトテーブルシンタクス508をアダプテーションパラメータセットシンタクス506から呼び出す構造とすることにより、1フレームを複数のスライスに分割した際のWPパラメータ情報の符号量を大幅に削減することができる。
 例えば、利用する3種類の異なるWPパラメータ情報を持つアダプテーションパラメータセットシンタクス506を先に符号化しておき、スライスヘッダーシンタクス507が、状況に応じてaps_idを用いて、必要なWPパラメータ情報を呼び出すことにより、スライスヘッダーシンタクス507でWPパラメータ情報を常に符号化する構成よりも、符号量を削減できる。
(第2実施形態)
 第2実施形態について説明する。第2実施形態の符号化装置600では、インデックス設定部608の構成が第1実施形態の符号化装置100と相違する。以下では、第1実施形態との相違点の説明を主に行い、第1実施形態と同様の機能を有する構成要素については、第1実施形態と同様の名称・符号を付し、その説明を省略する。
 図25は、第2実施形態のインデックス設定部608の構成の一例を示すブロック図である。インデックス設定部608は、図25に示すように、再利用判定部601と、インデックス生成部602とを、備える。
 再利用判定部601は、リスト1の参照番号をリスト0の参照番号と照合し、リスト0のWPパラメータ情報をリスト1のWPパラメータ情報として再利用するかどうかを判定する。2つの参照リスト間で同一の参照画像が含まれており、かつ対応するWPパラメータ情報の値が同一である場合、リスト0だけでなく、リスト1でも同じ情報を符号化すると符号量の増大を招く。このため、再利用判定部601は、リスト0のWPパラメータ情報を再利用する。
 具体的には、再利用判定部601は、リスト0のWPパラメータ情報を再利用する場合は再利用フラグを1とし、参照先(リスト0)の参照番号を参照情報として設定する。一方、再利用判定部601は、リスト0のWPパラメータ情報を再利用しない場合は再利用フラグを0とし、リスト1の参照番号に対応するWPパラメータ情報をシンタクスにセットする。
 再利用判定部601は、例えば、数式(11)に示す疑似コードに従って、リスト0のWPパラメータ情報をリスト1のWPパラメータ情報として再利用するかどうかを判定する。
for (refIdx=0; refidx<=num_of_active_ref_l1_minus1; refIdx++){
refPOC = RefPicOrderCnt(ListL1, refIdx)
refWP = RefWPTable(ListL1, refIdx)
reuse_wp_flag=false;
reuse_ref_idx=0;
for (curridx=0; curridx<= num_of_active_ref_l0_minus1; curridx++){
if( refPOC == RefPicOrderCnt(ListL0, curridx) 
&& RefWPTable(ListL0, curridx,refWP) ){
reuse_wp_flag=true;
reuse_ref_idx=curridx;
}
}
}   …(11)
 ここで、ListL0は、リスト0を示し、ListL1はリスト1を示す。RefWPTable()は、リスト番号、参照番号、及び参照用WPパラメータを入力すると、入力された参照用WPパラメータが入力されたリスト番号及び参照番号に対応するWPパラメータと一致しているかどうかをフラグで返す関数である。フラグの値が1の場合は、両WPパラメータが一致していることを示す。数式(11)に示す疑似コードでは、リスト1の参照番号を順にスキャンし、リスト0の中に同一のPOC番号の参照画像が存在した場合に、WPパラメータが同一であれば、再利用フラグを示すreuse_wp_flagをtureに設定するとともに、リスト0の対応する参照番号をreuse_ref_idxに設定する。
 再利用判定部601は、再利用判定後の(再利用の設定を行った)WPパラメータ情報を出力し、インデックス生成部602に入力する。
 インデックス生成部602は、再利用判定部601から再利用判定後のWPパラメータ情報を受け取り、後述するシンタクス要素にマッピングを行ってインデックス情報を生成する。なお、インデックス生成部602がマッピングを行うシンタクス要素は、第1実施形態と異なる。インデックス生成部602は、インデックス情報を出力し、符号化部110に入力する。
 図26は、第2実施形態のインデックス設定部608で実行されるインデックス情報の生成処理の一例を示すフローチャートである。
 再利用判定部601は、WPパラメータ情報が入力されると、スライスタイプに従って処理を分岐する(ステップS201)。
 スライスタイプが1つの参照リストのみを用いる単方向予測スライス(P-slice)である場合には(ステップS201でNo)、再利用判定部601は、図9Aに示すWPパラメータ情報をそのままインデックス生成部602へ出力する。インデックス生成部602は、再利用判定部601から入力されたWPパラメータ情報を後述する予め定められたシンタクス要素にマッピングしてインデックス情報を生成し、出力する。
 一方、スライスタイプが2つの参照リストを用いる双方向予測スライス(B-slice)である場合には(ステップS201でYes)、再利用判定部601は、変数refIdcを0に初期化する(ステップS202)。変数refIdcは、リスト1の参照番号を示す。
 続いて、再利用判定部601は、変数refIdxが示す参照番号に対応する参照画像のPOC番号を示す変数refPOCを導出するとともに(ステップS203)、変数refIdxが示す参照番号に対応するWPパラメータを導出する(ステップS204)。
 続いて、再利用判定部601は、フラグreuse_wp_flagをfalseに設定するとともに(ステップS205)、変数curridxを0に設定する(ステップS206)。フラグreuse_wp_flagは、リスト0とリスト1のWPパラメータが同一であるか否かを示す。変数curridxは、リスト0の参照番号を示す。
 続いて、再利用判定部601は、導出した変数refPOCが示すPOC番号と変数curridxが示す参照番号に対応する参照画像のPOC番号とが同一であり、かつ変数refIdxが示す参照番号に対応するWPパラメータと変数curridxが示す参照番号に対応するWPパラメータとが同一であるかを判断する(ステップS207)。
 両POC番号及び両WPパラメータが同一である場合(ステップS207でYes)、再利用判定部601は、フラグreuse_wp_flagをtrueに設定するとともに(ステップS208)、変数reuse_ref_idxに変数curridxの値を代入する(ステップS209)。一方、両POC番号又は両WPパラメータが同一でない場合(ステップS207でNo)、ステップS208、S209の処理は行われない。なお、POC番号の一致を確認しない構成としてもよい。
 続いて、再利用判定部601は、変数curridxをインクリメントする(ステップS210)。
 続いて、再利用判定部601は、変数curridxの値がリスト0の最大数から1を引いた値であるnum_of_active_ref_l0_minus1より大きいかどうかを判断し(ステップS211)、num_of_active_ref_l0_minus1以下の間(ステップS211でNo)、ステップS207~ステップS210の処理を繰り返す。
 num_of_active_ref_l0_minus1より大きくなると(ステップS211でYes)、再利用判定部601は、リスト0の確認を完了し、変数refIdxをインクリメントする(ステップS212)。
 続いて、再利用判定部601は、変数refIdxの値がリスト1の最大数から1を引いた値であるnum_of_active_ref_l1_minus1より大きいかどうかを判断し(ステップS213)、num_of_active_ref_l1_minus1以下の間(ステップS213でNo)、ステップS203~ステップS212の処理を繰り返す。
 num_of_active_ref_l1_minus1より大きくとなると(ステップS213でYes)、再利用判定部601は、リスト1の確認を完了し、再利用判定後のWPパラメータ情報をインデックス生成部602へ出力する。インデックス生成部602は、再利用判定部601から入力されたWPパラメータ情報を後述する予め定められたシンタクス要素にマッピングしてインデックス情報を生成し、出力する。
 図27は、第2実施形態のプレッドウェイトテーブルシンタクス506の一例を示す図である。図27に示すシンタクス要素のうち、l0、l1の記号があるものは、それぞれ、リスト0、1に対応する。また、接頭語が図21と同じシンタクス要素は、共通リストではなくリスト0又はリスト1の違いがあるが、参照リストの扱いが異なる以外は同一の変数として利用する。例えば、luma_weight_l0[i]は、参照リストl0における参照番号i番目の重み係数を表すシンタクス要素である。
 luma_log2_weight_denom及びchroma_log2_weight_denomは、第1実施形態と同じ構成となっている。まず、l0の記号のあるリスト0に対して、luma_weight_l0_flag、luma_weight_l0[i]、luma_offset_l0[i]、chroma_weight_l0_flag、chroma_weight_l0[i][j]、及びchroma_offset_l0[i][j]が定義されている。次に、l1の記号のあるリスト1に関するシンタクス要素が定義されている。
 ここで、reuse_wp_flagは、リスト0に対応するl0のWPパラメータを再利用するかどうかを示すシンタクス要素である。reuse_wp_flagが1の場合、重み係数及びオフセットは符号化されずに、reuse_ref_idxが符号化される。reuse_ref_idxは、リスト0に対応するl0のどの参照番号に対応するWPパラメータを利用するかを示す。例えば、reuse_ref_idxが1である場合、リスト0の参照番号1に対応するWPパラメータがリスト1の参照番号iに対応するWPパラメータにコピーされる。reuse_wp_flagが0の場合、リスト0と同様、luma_weight_l1_flag、luma_weight_l1[i]、luma_offset_l1[i]、chroma_weight_l1_flag、chroma_weight_l1[i][j]、及びchroma_offset_l1[i][j]が符号化される。
 以上のように第2実施形態では、インデックス設定部608は、WPパラメータ情報において、リスト0及びリスト1の2つの参照リスト内に互いに同一の参照画像を含む組み合わせがある場合、重複するWPパラメータを再利用することにより、WPパラメータ情報から重複する冗長なWPパラメータを削除してインデックス情報を生成する。従って、第2実施形態によれば、インデックス情報の符号量を削減することができる。
 第2実施形態では、リスト0に対応するWPパラメータ情報は従来通り符号化し、リスト1に対応するWPパラメータ情報を符号化する際には、リスト0内で同じ参照画像を参照するかどうかをチェックし、同じ参照画像を参照し、WPパラメータも同一である場合には、リスト0のWPパラメータを再利用するフラグを符号化するとともに、リスト0のどの参照番号に対応するかを示す情報を符号化する。これらの情報は、重み係数及びオフセットに関する情報量よりも格段に少ない情報であるため、リスト0及びリスト1を別々に符号化する場合と比較して、WPパラメータ情報の符号量を大幅に削減できる。
 また、第2実施形態では、リスト0及びリスト1に含まれる参照番号が同一の参照画像を指しており、且つWPパラメータが異なる場合、異なるWPパラメータを設定することが可能である。つまり、参照リスト内に同一の参照画像を指す組み合わせがあった場合、第1実施形態では、強制的に同一のWPパラメータを設定し、第2実施形態では、WPパラメータが同一の場合のみ、同じWPパラメータの冗長な表現を削除する。
(第3実施形態)
 第3実施形態について説明する。図28は、第3実施形態の符号化装置700の構成の一例を示すブロック図である。第3実施形態の符号化装置700は、動き情報メモリ701、動き情報取得部702、及び切替スイッチ703を更に備えている点で、第1実施形態の符号化装置100と相違する。以下では、第1実施形態との相違点の説明を主に行い、第1実施形態と同様の機能を有する構成要素については、第1実施形態と同様の名称・符号を付し、その説明を省略する。
 動き情報メモリ701は、符号化が終了した画素ブロックに適用された動き情報を、参照動き情報として一時的に格納する。動き情報メモリ701では、動き情報に対してサブサンプリングなどの圧縮処理を行い、情報量を削減しても構わない。
 図29は、第3実施形態の動き情報メモリ701の詳細例を示す図である。動き情報メモリ701は、図29に示すように、フレーム又はスライス単位で保持されており、同一フレーム上の動き情報を参照動き情報710として格納する空間方向参照動き情報メモリ701A、及び、既に符号化が終了したフレームの動き情報を参照動き情報710として格納する時間方向参照動き情報メモリ701Bを更に有する。時間方向参照動き情報メモリ701Bは、符号化対象フレームが予測に用いる参照フレームの数に応じて複数有しても構わない。
 参照動き情報710は、所定の領域単位(例えば、4×4画素ブロック単位)で空間方向参照動き情報メモリ701A及び時間方向参照動き情報メモリ701B内に保持される。参照動き情報710は、その領域が後述するインター予測で符号化されたのか又は後述するイントラ予測で符号化されたのかを示す情報をさらに有する。また、画素ブロック(コーディングユニット又はプレディクションユニット)がH.264で規定されるスキップモード、ダイレクトモード又は後述するマージモードのように、動き情報内の動きベクトルの値が符号化されず、符号化済みの領域から予測された動き情報を用いてインター予測される場合においても、当該画素ブロックの動き情報が参照動き情報710として保持される。
 符号化対象のフレーム又はスライスの符号化処理が終了したら、当該フレームの空間方向参照動き情報メモリ701Aは、次に符号化処理を行うフレームに用いる時間方向参照動き情報メモリ701Bとしてその扱いが変更される。この際、時間方向参照動き情報メモリ701Bのメモリ容量を削減するために、動き情報を圧縮し、圧縮された動き情報を時間方向参照動き情報メモリ701Bに格納しても構わない。
 動き情報取得部702は、動き情報メモリ701から参照動き情報が入力され、符号化画素ブロックに用いる動き情報Bを出力する。動き情報取得部702の詳細は後述する。
 切替スイッチ703は、後述する予測モード情報に従って動き情報取得部702から出力される動き情報Bと動き評価部109から出力される動き情報Aの内、いずれかを選択して動き情報として予測画像生成部107に出力する。動き評価部109から出力される動き情報Aは、図示せぬ予測動きベクトル取得部から取得する予測動きベクトルとの差分情報や、予測動きベクトル取得位置情報を符号化する。このような予測モードを以降インターモードと称する。一方、予測モード情報に従って動き情報取得部702から出力される動き情報Bは、隣接する画素ブロックから動き情報をマージして、符号化画素ブロックに対してそのまま適用されるため、その他の動き情報に関する情報(例えば、動きベクトル差分情報)の符号化は不要である。以降、このような予測モードをマージモードと称する。
 予測モード情報は、符号化制御部111が制御する予測モードに従っており、切替スイッチ703の切替情報を含む。
 以下、動き情報取得部702の詳細について説明する。
 動き情報取得部702は、参照動き情報を入力として、動き情報Bを切替スイッチ703に出力する。図30A及び図30Bは、第3実施形態の符号化画素ブロックに対する動き情報候補を導出するブロック位置の一例を示す図である。図30AにおけるA~Eは、符号化画素ブロックに動き情報候補を導出する空間的に隣接する画素ブロック、図30BにおけるTは、動き情報候補を導出する時間的に隣接する画素ブロックを示している。
 図31は、第3実施形態の複数の動き情報候補の画素ブロック位置と画素ブロック位置インデクス(idx)との関係の一例を示す図である。動き情報候補のブロック位置は、空間的に隣接するブロック位置(A~E)、時間的に隣接する画素ブロック位置(T)の順序で並べられ、当該順序でAvailable(インター予測が適用されている)な画素ブロックがあれば、マージモードの格納リストMergeCandListへ格納する動き情報の最大数(N-1)に達するまで順次idxが割り当てられる。
 図32は、第3実施形態のMergeCandListへの格納処理の一例を示すフローチャートである。
 まず、動き情報取得部702は、MergeCandListへの格納数numMergeCandを0で初期化する(ステップS301)。
 続いて、動き情報取得部702は、全ての空間隣接ブロック(例えば、ブロックA~E)に対して、Availableであるか否かを判定する(ステップS302、S303)。Availableである場合(ステップS303でYes)、動き情報取得部702は、MergeCandListに当該空間隣接ブロックの動き情報を格納し、numMergeCandをインクリメントする(ステップS304)。Availableでない場合(ステップS303でNo)、動き情報取得部702は、ステップS304の処理を行わない。
 動き情報取得部702は、全ての空間隣接ブロックに対してステップS303、S304の処理を実行すると(ステップS305)、時間隣接ブロック(例えばブロックT)に対して、Availableであるか否かを判定する(ステップS306)。
 Availableである場合(ステップS306でYes)、動き情報取得部702は、MergeCandListに当該時間隣接ブロックTの動き情報を格納し、numMergeCandをインクリメントする(ステップS307)。Availableでない場合(ステップS306でNo)、動き情報取得部702は、ステップS307の処理を行わない。
 続いて、動き情報取得部702は、MergeCandList内で重複する動き情報を削除し、削除した数だけnumMergeCandをデクリメントする(ステップS308)。MergeCandList内で重複する動き情報か否かを判定するために、MergeCandList内の2種類の動き情報(動きベクトルmv,参照番号refIdx)及びWPパラメータ情報が一致しているかを判定し、全ての情報が一致している場合には、一方をMergeCandList[]から削除する。
 図33は、第3実施形態の動き情報の格納リストの一例を示す図であり、詳細には、N=5として図31に示す表に従った、各idxに対応する動き情報(動きベクトルmv,参照番号refIdx)の格納リスト(MergeCandList[idx])の一例を示している。図33において、idx=0は、リスト0の参照動き情報(動きベクトルmv0L0,参照番号refIdx0L0)、idx=1は、リスト1の参照動き情報(動きベクトルmv1L1,参照番号refIdx1L1)、idx=2~4は、リスト0及びリスト1の両方の参照動き情報(動きベクトルmv2L0,mv2L1,参照番号refIdx2L0,refIdx2L1)が格納されている。
 符号化画素ブロックは、最大N種類のidxのうちいずれかを選択し、選択したidxに対応する画素ブロックの参照動き情報をMergeCandList[idx]から導出し、動き情報Bとして出力する。なお符号化画素ブロックは、参照動き情報が存在しない場合、ゼロベクトルを有する動き情報を、予測動き情報候補Bとして出力する。選択したidxの情報(後述するシンタクスmerge_idx)は予測モード情報に含まれ、符号化部110において符号化される。
 なお、空間及び時間的に隣接するブロックは図30A及び図30Bに限らず、既に符号化済みの領域であればいずれの位置でも構わない。また、上記リストの別の例として、MergeCandListへの格納最大数(N)や順序は、上述の限りではなく任意の順序・最大数を用いても構わない。
 符号化スライスがBスライスであって、空間・時間的に隣接する画素ブロックの参照動き情報をMergeCandList[]へ格納しても格納最大数(N)に達しなかった場合には、その時点でMergeCandList[]に格納されているリスト0及びリスト1の動き情報を相互に組み合わせて、新たに双方向予測を生成しMergeCandList[]に格納する。
 図34は、第3実施形態の動き情報の格納リストへの格納方法の一例を示すフローチャートである。
 まず、動き情報取得部702は、空間・時間的に隣接する画素ブロックからのMergeCandListへの格納数をnumInputMergeCandとし、現在の格納数を示す変数numMergeCandをnumInputMergeCandで初期化するとともに、変数combIdx及びcombCntを0で初期化する(ステップS401)。
 続いて、動き情報取得部702は、新たに生成する双方向予測の組み合わせ(図35参照)を用いて、combIdxから変数l0CandIdx,変数l1CandIdxを導出する(ステップS402)。なお、combIdxから変数l0CandIdx,変数l1CandIdxを導出する組み合わせは、図36に示す例に限らず、重複しなければ任意の順序に並び替えても構わない。
 続いて、動き情報取得部702は、MergeCandList[l0CandIdx]に格納されている参照動き情報(双方向予測の場合はリスト0及びリスト1の2種類)をl0Candに設定する。l0Candにおける参照番号をrefIdxL0l0Cand、動きベクトルをmvL0l0Candと称する。同様に、動き情報取得部702は、MergeCandList[l1CandIdx]に格納されている参照動き情報をl1Candに設定する。l1Candにおける参照番号をrefIdxL1l1Cand、動きベクトルをmvL1l1Candと称する(ステップS403)。リスト0の動き情報としてl0Cand、リスト1の動き情報としてL1Candを用いて双方向予測を行う動き情報の組み合わせをcombCandと称する。
 続いて、動き情報取得部702は、条件式(12)~(15)を用いて、l0Candとl1Candが参照するブロックを同一であるか否かを判定する(ステップS404)。
 l0Cand,l1CandがAvailableか?   …(12)
 RefPicOrderCnt(refIdxL0l0Cand,L0)!=RefPicOrderCnt(refIdxL1l1Cand,L1)    …(13)
 mvL0l0Cand!=mvL1l1Cand   …(14)
 WpParam(refIdxL0l0Cand,L0)!=WpParam(refIdxL1l1Cand,L1)    …(15)
 RefPicOrderCnt(refIdx,LX)は、参照リストX(X=0,1)において、参照番号refIdxが対応する参照フレームのPOC(Picture Order Count)を導出する関数である。WpParam(refIdx,LX)は、参照リストX(X=0,1)において、参照番号refIdxが対応する参照フレームのWPパラメータ情報を導出する関数である。この関数は、リスト0の参照フレームとリスト1の参照フレームが、同一のWPパラメータ(WPの有無WP_flag、重み係数Weight、オフセットOffset)ではない場合はYes、完全に同一のパラメータである場合にはNoを返す。WpParam()の別の例として、全てのパラメータの一致を確認する必要はなく、WPの有無WP_flag及びオフセットOffsetのみの一致を確認するなど、WPパラメータの一部のデータのみを用いて判定を行ってもよい。
 条件式(12)を満たし、かつ条件式(13)~(15)の何れかを満たす場合には(ステップS404でYes)、動き情報取得部702は、mergeCandList[]内でl0Candとl1Candと同一の組み合わせを用いる双方向予測があるか否かを判定する(ステップS405)。
 mergeCandList[]内でl0Candとl1Candと同一の組み合わせがない場合(ステップS405でYes)、動き情報取得部702は、当該combCandをmergeCandListの最後尾に追加する(ステップS406)。具体的には、動き情報取得部702は、combCandをmergeCandList[numMergeCand]に代入し、numMergeCand及びcombCntをインクリメントする。
 続いて、動き情報取得部702は、combIdxをインクリメントする(ステップS407)。
 続いて、動き情報取得部702は、条件式(16)~(18)を用いて、mergeCandList[]への格納を終了するか否かを判定する(ステップS408)。
 combIdx == numInputMergeCand*(numInputMergeCand?1))   …(16)
 numMergeCand == maxNumMergeCand   …(17)
 combCnt == N   …(18)
 条件式(16)~(18)の何れかを満たす場合には(ステップS408でYes)、処理は終了となり、条件式(16)~(18)の何れも満たす場合には(ステップS408でNo)、ステップS402へ戻る。
 以上が、符号化スライスがBスライスであって、空間・時間的に隣接する画素ブロックの参照動き情報をMergeCandList[]へ格納しても格納最大数(N)に達しなかった場合の処理の説明である。以上により、動き情報取得部702から動き情報Bが切替スイッチ703に出力される。
 図36は、第3実施形態のプレッドユニットシンタクス512の一例を示す図である。skip_flagは、プレディクションユニットシンタクスが属するコーディングユニットの予測モードがスキップモードであるか否かを示すフラグである。skip_flagが1である場合、予測モード情報以外のシンタクス(コーディングユニットシンタクス、プレディクションユニットシンタクス、トランスフォームユニットシンタクス)を符号化しないことを示す。skip_flagが0である場合、プレディクションユニットシンタクスが属するコーディングユニットの予測モードがスキップモードではないことを示す。
 次に符号化画素ブロック(プレディクションユニット)がマージモードであるか否かを示すフラグであるmerge_flagが符号化される。Merge_flagは、値が1である場合、プレディクションユニットがマージモードであることを示し、値が0である場合、プレディクションユニットがインターモードを用いることを示す。Merge_flagの場合、前述の画素ブロック位置インデクス(idx)を特定する情報であるmerge_idxが符号化される。
 Merge_flagが1である場合、merge_flag、merge_idx以外のプレディクションユニットシンタクスは符号化する必要はなく、Merge_flagが0である場合、プレディクションユニットがインターモードであることを示す。
 以上のように第3実施形態では、符号化装置700は、重み付き動き補償とマージモードを同時に適用するにあたって、空間・時間的に隣接する画素ブロックの参照動き情報をマージモードの格納リスト(MergeCandList)内の重複する動き情報を削除する際に、動きベクトル及び参照番号が一致しても、WPパラメータ情報が異なる場合に、MergeCandListから削除されてしまう問題を解消する。また、MergeCandListへ格納しても格納最大数(N)に達しなかった場合に、その時点でMergeCandListに格納されているリスト0及びリスト1の動き情報を相互に組み合わせて、新たに双方向予測を生成し、MergeCandList[]に格納する際に、双方向予測に用いる2種類の動き情報が同一のブロックを参照する問題を解消する。
 双方向予測に用いる2種類の動き情報が同一のブロックを参照する場合には、双方向予測による予測値と単方向予測による予測値の値が一致する。一般に双方向予測の予測効率は単方向予測の予測効率より高いために、双方向予測に用いる2種類の動き情報が同一のブロックを参照しないことが望ましい。符号化装置700は、双方向予測に用いる2種類の動き情報が同一のブロックを参照するか否かを判定する際に、動きベクトル、参照番号から導出される参照フレーム番号位置(POC)の他に、重み付き動き補償のパラメータを判定項目に導入する。これにより、符号化装置700は、動きベクトルと参照フレーム番号位置(POC)が同一であっても、重み付き動き補償のパラメータの異なる2種類の動き情報は同一のブロックを参照しないと判定し、マージモードの格納リストに格納される双方向予測に用いる動き情報の予測効率を向上させることができる。
 なお、MergeCandListへの格納処理の別の例として、時間隣接ブロックTの動き情報をMergeCandListに格納する際に、時間隣接ブロックTの参照フレームにおけるWPパラメータと符号化画素ブロックの参照フレームにおけるWPパラメータが一致しているかを判定し、WPパラメータが一致している場合のみ、MergeCandListに格納するようにしてもよい。これは、時間隣接ブロックTの参照フレームにおけるWPパラメータと符号化画素ブロックの参照フレームにおけるWPパラメータが異なる場合には、時間隣接ブロックTと符号化画素ブロックで動き情報の相関が低下すると推測できるためである。
 図37は、第3実施形態のMergeCandListへの格納処理の他の例を示すフローチャートである。図38に示すフローチャートは、ステップS507を除き、図32に示すフローチャートと同一である。
 また、更に別の例として、時間隣接ブロックTの参照フレームにおけるWPパラメータと符号化画素ブロックの参照フレームにおけるWPパラメータが異なる場合には、ブロックTに空間的に隣接するブロックのうち、符号化画素ブロックの参照フレームにおけるWPパラメータが同一となるブロックをブロックTと置き換えてもよい。この時、時間隣接ブロックTと符号化画素ブロックで動き情報の相関は低下しない。
(第4実施形態)
 第4実施形態では、第1実施形態の符号化装置で符号化された符号化データを復号する復号装置について説明する。
 図38は、第4実施形態の復号装置800の構成の一例を示すブロック図である。
 復号装置800は、図示せぬ入力バッファなどに蓄積された符号化データを復号画像に復号し、出力画像として図示せぬ出力バッファに出力する。符号化データは、例えば、図1の符号化装置100などから出力され、図示せぬ蓄積系、伝送系、又はバッファなどを経て、復号装置800に入力される。
 復号装置800は、図38に示すように、復号部801と、逆量子化部802と、逆直交変換部803と、加算部804と、予測画像生成部805と、インデックス設定部806とを、備える。逆量子化部802、逆直交変換部803、加算部804、予測画像生成部805は、それぞれ、図1の逆量子化部104、逆直交変換部105、加算部106、予測画像生成部107、と実質的に同一又は類似の要素である。なお、図38に示す復号制御部807は、復号装置800を制御するものであり、例えば、CPUなどにより実現できる。
 復号部801は、符号化データの復号のために、1フレーム又は1フィールド毎にシンタクスに基づいて解読を行う。復号部801は、各シンタクスの符号列を順次エントロピー復号し、予測モード、動きベクトル、及び参照番号などを含む動き情報、重み付き動き補償予測のためのインデックス情報、並びに量子化変換係数などの符号化対象ブロックの符号化パラメータを再生する。符号化パラメータとは、上記以外の変換係数に関する情報や量子化に関する情報などの復号に必要となる全てのパラメータである。復号部801は、動き情報、インデックス情報、及び量子化変換係数を出力し、量子化変換係数を逆量子化部802に入力し、インデックス情報をインデックス設定部806に入力し、動き情報を予測画像生成部805に入力する。
 逆量子化部802は、復号部801から入力された量子化変換係数に対して逆量子化処理を行い、復元変換係数を得る。具体的には、逆量子化部802は、復号部801において使用された量子化情報に従って逆量子化を行う。より詳細には、逆量子化部802は、量子化情報によって導出された量子化ステップサイズを量子化変換係数に乗算し、復元変換係数を得る。逆量子化部802は、復元変換係数を出力し、逆直交変換部803に入力する。
 逆直交変換部803は、逆量子化部802から入力された復元変換係数に対して、符号化側において行われた直交変換に対応する逆直交変換を行い、復元予測誤差を得る。逆直交変換部803は、復元予測誤差を出力し、加算部804に入力する。
 加算部804は、逆直交変換部803から入力された復元予測誤差と、対応する予測画像とを加算し、復号画像を生成する。加算部804は、復号画像を出力し、予測画像生成部805に入力する。また加算部804は、復号画像を出力画像として外部に出力する。出力画像は、その後図示せぬ外部の出力バッファなどに一時的に蓄積され、例えば、復号制御部807によって管理される出力タイミングに従って、図示せぬディスプレイやモニタなどの表示装置系又は映像デバイス系へ出力される。
 インデックス設定部806は、復号部801から入力されたインデックス情報を受け取り、参照リスト(リスト番号)と参照画像(参照番号)とを確認して、WPパラメータ情報を出力し、予測画像生成部805に入力する。
 図39は、第4実施形態のインデックス設定部806の構成の一例を示すブロック図である。インデックス設定部806は、図39に示すように、参照画像確認部901と、WPパラメータ生成部902とを、備える。
 参照画像確認部901は、復号部801からインデックス情報を受け取り、2つの参照リストに含まれる参照番号が互いに同一の参照画像を指しているかどうかを確認する。
 ここで、参照リスト内の参照番号は、例えば、H.264などで規定される方法により既に解読されている。このため、参照画像確認部901は、H.264などで規定されているDecoded Picture Buffer(DPB)の管理に従って、導出された参照リストと参照番号を用いて、同一の参照画像を指す組み合わせがあるかどうかを確認できる。なお、DPBの制御については、H.264などに記述されている方式でもよいし、別の方式であってもよい。ここでは、DPB制御により参照リストと参照番号が予め確定していればよい。
 参照画像確認部901は、共通参照リストを作成し、図14に示すスキャン順で参照リストと参照番号を確認する。なお、共通参照リストは、数式(10)に示す疑似コードに従って作成されている。
 WPパラメータ生成部902は、参照画像確認部901で確認された参照リストと参照番号との関係を元に、作成された共通参照リストから、参照リストと参照番号に対応するWPパラメータ情報を生成して出力し、予測画像生成部805に入力する。WPパラメータ情報については、図9A及び図9Bを参照して既に説明しているため、説明を省略する。
 WPパラメータ生成部902は、共通リストに従って、common_scan_list()関数及びcommon_scan_ref_idx()関数を用いて、スキャンで参照リストと参照番号を引き、抜けている場所にWPパラメータ情報を補填する。
 つまり、図15、図16の共通リストを、それぞれ、図11、図13へと復元し、これらの対応に基づいて、共通リストに対応するインデックス情報を、図9A及び図9Bに示されるWPパラメータ情報に割り当てる。
 なお、図14に示すスキャン順序は一例であり、予め定めたスキャン順序であればこれ以外のスキャン順序を用いてもよい。また、数式(10)で示した疑似コードは一例であり、本処理の目的を実現できれば処理の追加や冗長な処理の削減も可能である。
 図38に戻り、予測画像生成部805は、復号部801から入力された動き情報、インデックス設定部806から入力されたWPパラメータ情報、及び加算部804から入力された復号画像を用いて、予測画像を生成する。
 ここで、図4を参照しながら、予測画像生成部805の詳細について説明する。予測画像生成部805は、予測画像生成部107同様、複数フレーム動き補償部201と、メモリ202と、単方向動き補償部203と、予測パラメータ制御部204と、参照画像セレクタ205と、フレームメモリ206と、参照画像制御部207と、を備える。
 フレームメモリ206は、参照画像制御部207の制御の下、加算部106から入力された復号画像を参照画像として格納する。フレームメモリ206は、参照画像を一時保持するための複数のメモリセットFM1~FMN(N≧2)を有する。
 予測パラメータ制御部204は、復号部801から入力される動き情報に基づいて、参照画像番号と予測パラメータとの複数の組み合わせをテーブルとして用意している。ここで、動き情報とは、動き補償予測で用いられる動きのズレ量を示す動きベクトルや参照画像番号、単方向/双方向予測などの予測モードに関する情報などを指す。予測パラメータは、動きベクトル及び予測モードに関する情報を指す。そして予測パラメータ制御部204は、動き情報に基づいて、予測画像の生成に用いる参照画像番号と予測パラメータとの組み合わせを選択して出力し、参照画像番号を参照画像セレクタ205に入力し、予測パラメータを単方向動き補償部203に入力する。
 参照画像セレクタ205は、フレームメモリ206が有するフレームメモリFM1~FMNのいずれの出力端を接続するかを、予測パラメータ制御部204から入力された参照画像番号に従って切り替えるスイッチである。参照画像セレクタ205は、例えば、参照画像番号が0であれば、FM1の出力端を参照画像セレクタ205の出力端に接続し、参照画像番号がN-1であれば、FMNの出力端を参照画像セレクタ205の出力端に接続する。参照画像セレクタ205は、フレームメモリ206が有するフレームメモリFM1~FMNのうち、出力端が接続されているフレームメモリに格納されている参照画像を出力し、単方向動き補償部203へ入力する。なお、復号装置800では、予測画像生成部805以外で参照画像は利用されないため、予測画像生成部805の外部へ参照画像を出力しなくてもよい。
 単方向予測動き補償部203は、予測パラメータ制御部204から入力された予測パラメータと参照画像セレクタ205から入力された参照画像に従って、動き補償予測処理を行い、単方向予測画像を生成する。動き補償予測については、図5を参照して既に説明しているため、説明を省略する。
 単方向予測動き補償部203は、単方向予測画像を出力し、メモリ202に一時的に格納する。ここで、動き情報(予測パラメータ)が双方向予測を示す場合には、複数フレーム動き補償部201が2種類の単方向予測画像を用いて重み付き予測を行うため、単方向予測動き補償部203は、1つ目に対応する単方向予測画像をメモリ202に格納し、2つ目に対応する単法予測画像を複数フレーム動き補償部201に直接出力する。ここでは、1つ目に対応する単方向予測画像を第一予測画像とし、2つ目に対応する単方向予測画像を第二予測画像とする。
 なお、単方向動き補償部203を2つ用意し、それぞれが2つの単方向予測画像を生成するようにしてもよい。この場合、動き情報(予測パラメータ)が単方向予測を示すときには、単方向動き補償部203が、1つ目の単方向予測画像を第一予測画像として複数フレーム動き補償部201に直接出力すればよい。
 複数フレーム動き補償部201は、メモリ202から入力される第一予測画像、単方向予測動き補償部203から入力される第二予測画像、及び動き評価部109から入力されるWPパラメータ情報を用いて、重み付き予測を行って予測画像を生成する。複数フレーム動き補償部201は、予測画像を出力し、加算部804に入力する。
 ここで、図6を参照しながら、複数フレーム動き補償部201の詳細について説明する。複数フレーム動き補償部201は、予測画像生成部107同様、デフォルト動き補償部301と、重み付き動き補償部302と、WPパラメータ制御部303と、WPセレクタ304、305とを、備える。
 WPパラメータ制御部303は、インデックス設定部806から入力されるWPパラメータ情報に基づいて、WP適用フラグ及び重み情報を出力し、WP適用フラグをWPセレクタ304、305に入力し、重み情報を重み付き動き補償部302に入力する。
 ここで、WPパラメータ情報は、重み係数の固定小数点精度、第一予測画像に対応する第一WP適用フラグ,第一重み係数,及び第一オフセット、並びに第二予測画像に対応する第二WP適応フラグ,第二重み係数,及び第二オフセットの情報を含む。WP適用フラグは、該当する参照画像及び信号成分毎に設定可能なパラメータであり、重み付き動き補償予測を行うかどうかを示す。重み情報は、重み係数の固定小数点精度、第一重み係数、第一オフセット、第二重み係数、及び第二オフセットの情報を含む。なおWPパラメータ情報は、第1実施形態と同様の情報を表す。
 詳細には、WPパラメータ制御部303は、インデックス設定部806からWPパラメータ情報が入力されると、WPパラメータ情報を第一WP適用フラグ、第二WP適用フラグ、及び重み情報に分離して出力し、第一WP適用フラグをWPセレクタ304に入力し、第二WP適用フラグをWPセレクタ305に入力し、重み情報を重み付き動き補償部302に入力する。
 WPセレクタ304、305は、WPパラメータ制御部303から入力されたWP適用フラグに基づいて、各々の予測画像の接続端を切り替える。WPセレクタ304、305は、各々のWP適用フラグが0の場合、各々の出力端をデフォルト動き補償部301へ接続する。そしてWPセレクタ304、305は、第一予測画像及び第二予測画像を出力し、デフォルト動き補償部301に入力する。一方、WPセレクタ304、305は、各々のWP適用フラグが1の場合、各々の出力端を重み付き動き補償部302へ接続する。そしてWPセレクタ304、305は、第一予測画像及び第二予測画像を出力し、重み付き動き補償部302に入力する。
 デフォルト動き補償部301は、WPセレクタ304、305から入力された2つの単方向予測画像(第一予測画像及び第二予測画像)を元に平均値処理を行い、予測画像を生成する。具体的には、デフォルト動き補償部301は、第一WP適用フラグ及び第二WP適用フラグが0の場合、数式(1)に基づいて平均値処理を行う。
 なお、動き情報(予測パラメータ)で示される予測モードが単方向予測である場合、デフォルト動き補償部301は、第一予測画像のみを用いて、数式(4)に基づいて最終的な予測画像を算出する。
 重み付き動き補償部302は、WPセレクタ304、305から入力された2つの単方向予測画像(第一予測画像及び第二予測画像)とWPパラメータ制御部303から入力された重み情報とを元に重み付き動き補償を行う。具体的には、重み付き動き補償部302は、第一WP適用フラグ及び第二WP適用フラグが1の場合、数式(7)に基づいて重み付き処理を行う。
 なお、重み付き動き補償部302は、第一予測画像及び第二予測画像と予測画像との演算精度が異なる場合、固定小数点精度であるlogWDを数式(8)のように制御することで丸め処理を実現する。
 また、動き情報(予測パラメータ)で示される予測モードが単方向予測である場合、重み付き動き補償部302は、第一予測画像のみを用いて、数式(9)に基づいて最終的な予測画像を算出する。
 なお、重み付き動き補償部302は、第一予測画像及び第二予測画像と予測画像との演算精度が異なる場合、固定小数点精度であるlogWDを双方向予測時と同様に数式(8)のように制御することで丸め処理を実現する。
 重み係数の固定小数点精度については、図7を参照して既に説明しているため、説明を省略する。なお、単方向予測の場合には、第二予測画像に対応する各種パラメータ(第二WP適応フラグ,第二重み係数,及び第二オフセットの情報)は利用されないため、予め定めた初期値に設定されていてもよい。
 復号部801は、図18に示すシンタクス500を利用する。シンタクス500は、復号部801の復号対象の符号化データの構造を示している。シンタクス500については、図18を参照して既に説明しているため、説明を省略する。また、ピクチャパラメータセットシンタクス505については、符号化が復号である点を除き、図19を参照して既に説明しているため、説明を省略する。また、スライスヘッダーシンタクス507についても、符号化が復号である点を除き、図20を参照して既に説明しているため、説明を省略する。また、プレッドウェイトテーブルシンタクス508についても、符号化が復号である点を除き、図21を参照して既に説明しているため、説明を省略する。
 以上のように第4実施形態では、復号化装置800は、双方向予測を選択可能な双方向予測スライスで、参照画像が同一であるが参照画像番号が異なる2つのインデックスを用いて重み付き動き補償を行う際に、同一の値を持つインデックスを2回復号することにより、符号化効率が低下する問題を解消する。
 双方向予測スライスで所持する2つの参照リストとリスト毎に定められた参照番号を、共通リストと共通の参照番号に並び変えることにより、参照リスト内に同一の参照画像を指す参照番号の組み合わせが含まれないようになるので、復号化装置800は、冗長なインデックスの符号量を削減することができる。
(第4実施形態の変形例)
 第4実施形態の変形例について説明する。第4実施形態の変形例では、復号部801が用いるシンタクス要素が第4実施形態のシンタクス要素と異なる。シーケンスパラメータセットシンタクス504については、符号化が復号である点を除き、図22を参照して既に説明しているため、説明を省略する。アダプテーションパラメータセットシンタクス506についても、符号化が復号である点を除き、図23を参照して既に説明しているため、説明を省略する。プレッドウェイトテーブルシンタクス508についても、符号化が復号である点を除き、図24を参照して既に説明しているため、説明を省略する。
 以上のように第4実施形態の変形例によれば、プレッドウェイトテーブルシンタクス508をアダプテーションパラメータセットシンタクス506から呼び出す構造とすることにより、1フレームを複数のスライスに分割した際のWPパラメータ情報の符号量を大幅に削減することができる。
 例えば、利用する3種類の異なるWPパラメータ情報を持つアダプテーションパラメータセットシンタクス506を先に復号しておき、スライスヘッダーシンタクス507が、状況に応じてaps_idを用いて、必要なWPパラメータ情報を呼び出すことにより、スライスヘッダーシンタクス507でWPパラメータ情報を常に復号する構成よりも、符号量を削減できる。
(第5実施形態)
 第5実施形態では、第2実施形態の符号化装置で符号化された符号化データを復号する復号装置について説明する。第5実施形態の復号装置1000では、インデックス設定部1006の構成が第4実施形態の復号装置800と相違する。以下では、第4実施形態との相違点の説明を主に行い、第4実施形態と同様の機能を有する構成要素については、第4実施形態と同様の名称・符号を付し、その説明を省略する。
 図40は、第5実施形態のインデックス設定部1006の構成の一例を示すブロック図である。インデックス設定部1006は、図40に示すように、再利用判定部1001と、WPパラメータ生成部1002とを、備える。
 再利用判定部1001は、再利用フラグをチェックし、リスト0のWPパラメータを再利用するかどうかを確認する。WPパラメータ生成部1002は、リスト0のWPパラメータを再利用する場合、リスト0のどのWPパラメータをコピーするかの情報に従って、参照先のリスト0のWPパラメータをリスト1のWPパラメータにコピーする。再利用フラグと参照先を示す参照番号に関する情報は、シンタクス要素に記述されており、WPパラメータ生成部1002がインデックス情報を解釈することにより、WPパラメータ情報を復元する。
 再利用判定部1001は、例えば、数式(11)に示す疑似コードに従って、リスト0のWPパラメータを再利用するかどうかを確認する。
 プレッドウェイトテーブルシンタクス508については、符号化が復号である点を除き、図27を参照して既に説明しているため、説明を省略する。
 以上のように第5実施形態では、復号化装置1000は、双方向予測を選択可能な双方向予測スライスで、参照画像が同一であるが参照画像番号が異なる2つのインデックスを用いて重み付き動き補償を行う際に、同一の値を持つインデックスを2回復号することにより、符号化効率が低下する問題を解消する。
 復号化装置1000は、リスト0のインデックスを従来通り復号し、リスト1のインデックスを復号する際に、参照リスト内に同一の参照画像を指す参照番号の組み合わせが存在するか確認し、インデックスが同一の場合には、リスト1で用いるインデックスをリスト0で用いたインデックスで再利用することにより、同一のインデックスが2度復号されることを避け、冗長なインデックスの符号量を削減することができる。
(第6実施形態)
 第6実施形態では、第3実施形態の符号化装置で符号化された符号化データを復号する復号装置について説明する。図41は、第6実施形態の復号装置1100の構成の一例を示すブロック図である。第6実施形態の復号装置1100は、動き情報メモリ1101、動き情報取得部1102、及び切替スイッチ1103を更に備えている点で、第4実施形態の復号装置800と相違する。以下では、第4実施形態との相違点の説明を主に行い、第4実施形態と同様の機能を有する構成要素については、第4実施形態と同様の名称・符号を付し、その説明を省略する。
 動き情報メモリ1101は、復号が終了した画素ブロックに適用された動き情報を参照動き情報として一時的に格納する。動き情報メモリ1101では、動き情報に対してサブサンプリングなどの圧縮処理を行って情報量を削減しても構わない。動き情報メモリ1101は、図29に示すように、フレーム又はスライス単位で保持されており、同一フレーム上の動き情報を参照動き情報710として格納する空間方向参照動き情報メモリ701A、及び既に復号が終了したフレームの動き情報を参照動き情報710として格納する時間方向参照動き情報メモリ701Bを更に有する。時間方向参照動き情報メモリ701Bは、復号対象フレームが予測に用いる参照フレームの数に応じて、複数有しても構わない。
 参照動き情報710は、所定の領域単位(例えば、4×4画素ブロック単位)で空間方向参照動き情報メモリ701A及び時間方向参照動き情報メモリ701B内に保持される。参照動き情報710は、その領域が後述するインター予測で符号化されたのか又は後述するイントラ予測で符号化されたのかを示す情報をさらに有する。また、画素ブロック(コーディングユニット又はプレディクションユニット)がH.264で規定されるスキップモード、ダイレクトモード又は後述するマージモードのように、動き情報内の動きベクトルの値が復号されず、復号済みの領域から予測された動き情報を用いてインター予測される場合においても、当該画素ブロックの動き情報が参照動き情報710として保持される。
 復号対象のフレーム又はスライスの復号処理が終了したら、当該フレームの空間方向参照動き情報メモリ701Aは、次に復号処理を行うフレームに用いる時間方向参照動き情報メモリ701Bとしてその扱いが変更される。この際、時間方向参照動き情報メモリ701Bのメモリ容量を削減するために、動き情報を圧縮し、圧縮された動き情報を時間方向参照動き情報メモリ701Bに格納しても構わない。
 動き情報取得部1102は、動き情報メモリ1101から参照動き情報が入力され、復号画素ブロックに用いる動き情報Bを出力する。動き情報取得部1102の動作は、第3実施形態の動き情報取得部702と同一であるため、その説明を省略する。
 切替スイッチ1103は、後述する予測モード情報に従って動き情報取得部1102から出力される動き情報Bと復号部801から出力される動き情報Aの内、いずれかを選択して動き情報として予測画像生成部805に出力する。復号部801から出力される動き情報Aは、図示せぬ予測動きベクトル取得部から取得する予測動きベクトルとの差分情報や、予測動きベクトル取得位置情報を復号する。このような予測モードを以降インターモードと称する。一方、予測モード情報に従って動き情報取得部1102から出力される動き情報Bは、隣接する画素ブロックから動き情報をマージして、復号画素ブロックに対してそのまま適用されるため、その他の動き情報に関する情報(例えば、動きベクトル差分情報)の復号は不要である。以降、このような予測モードをマージモードと称する。
 予測モード情報は、復号制御部807が制御する予測モードに従っており、切替スイッチ1103の切替情報を含む。
 プレッドユニットシンタクス512については、符号化が復号である点を除き、図36を参照して既に説明しているため、説明を省略する。
 第6実施形態の効果は、第3実施形態と同様であるため、その説明を省略する。
 なお、MergeCandListへの格納処理の別の例として、時間隣接ブロックTの動き情報をMergeCandListに格納する際に、時間隣接ブロックTの参照フレームにおけるWPパラメータと復号画素ブロックの参照フレームにおけるWPパラメータが一致しているかを判定し、WPパラメータが一致している場合のみ、MergeCandListに格納するようにしてもよい。これは、時間隣接ブロックTの参照フレームにおけるWPパラメータと復号画素ブロックの参照フレームにおけるWPパラメータが異なる場合には、時間隣接ブロックTと復号画素ブロックで動き情報の相関が低下すると推測できるためである。
 また、更に別の例として、時間隣接ブロックTの参照フレームにおけるWPパラメータと復号画素ブロックの参照フレームにおけるWPパラメータが異なる場合には、ブロックTに空間的に隣接するブロックのうち、復号画素ブロックの参照フレームにおけるWPパラメータが同一となるブロックをブロックTと置き換えてもよい。この時、時間隣接ブロックTと復号画素ブロックで動き情報の相関は低下しない。
(変形例)
 なお、第1~第3実施形態を選択的に用いてもよい。つまり、予めいずれの方法を選択するかの情報を定めておき、双方向スライスが選択された場合に、第1実施形態の手法を用いるか第2実施形態の手法を用いるかを示す情報により、切り替えてもよい。例えば、図20に示すスライスヘッダーシンタクスに、これらの手法を切り替えるフラグを設定し、符号化状況に合わせて選択することも容易に可能である。また、特定のハードウェアの構成に合わせて予めいずれかの手法を用いるかを定めておいてもよい。第1~第3実施形態の予測画像生成部及びインデックス設定部は、ハードウェア実装及びソフトウェア実装のいずれにも好適である。
 また、第4~第6実施形態を選択的に用いてもよい。つまり、予めいずれの方法を選択するかの情報を定めておき、双方向スライスが選択された場合に、第4実施形態の手法を用いるか第5実施形態の手法を用いるかを示す情報により、切り替えてもよい。例えば、図20に示すスライスヘッダーシンタクスに、これらの手法を切り替えるフラグを設定し、符号化状況に合わせて選択することも容易に可能である。また、特定のハードウェアの構成に合わせて予めいずれかの手法を用いるかを定めておいてもよい。第4~第6実施形態の予測画像生成部及びインデックス設定部は、ハードウェア実装及びソフトウェア実装のいずれにも好適である。
 また、第1~第6実施形態で例示したシンタクステーブルの行間には、上記実施形態において規定していないシンタクス要素が挿入されてもよいし、その他の条件分岐に関する記述が含まれていてもよい。また、シンタクステーブルを複数のテーブルに分割したり、複数のシンタクステーブルを統合したりしてもよい。また、例示した各シンタクス要素の用語は、任意に変更可能である。
 また、第1実施形態の変形例は、第2実施形態に容易に適用できる。この場合、リスト0とリスト1に対応する参照画像の最大数を設定してもよいし、予め定めた最大数としてもよい。
 また、第4実施形態の変形例は、第5実施形態に容易に適用できる。この場合、リスト0とリスト1に対応する参照画像の最大数を設定してもよいし、予め定めた最大数としてもよい。
 上記第1~第6実施形態では、フレームを16×16画素サイズなどの矩形ブロックに分割し、画面左上のブロックから右下に向かって順に符号化/復号を行う例について説明している(図3Aを参照)。しかしながら、符号化順序及び復号順序はこの例に限定されない。例えば、右下から左上に向かって順に符号化及び復号が行われてもよいし、画面中央から画面端に向かって渦巻を描くように符号化及び復号が行われてもよい。更に、右上から左下に向かって順に符号化及び復号が行われてもよいし、画面端から画面中央に向かって渦巻きを描くように符号化及び復号が行われてもよい。この場合、符号化順序によって参照できる隣接画素ブロックの位置が変わるので、適宜利用可能な位置に変更すればよい。
 上記第1~第6実施形態では、4×4画素ブロック、8×8画素ブロック、16×16画素ブロックなどの予測対象ブロックサイズを例示して説明を行ったが、予測対象ブロックは均一なブロック形状でなくてもよい。例えば、予測対象ブロックサイズは、16×8画素ブロック、8×16画素ブロック、8×4画素ブロック、4×8画素ブロックなどであってもよい。また、1つのコーディングツリーブロック内で全てのブロックサイズを統一させる必要はなく、複数の異なるブロックサイズを混在させてもよい。1つのコーディングツリーブロック内で複数の異なるブロックサイズを混在させる場合、分割数の増加に伴って分割情報を符号化又は復号するための符号量も増加する。そこで、分割情報の符号量と局部復号画像または復号画像の品質との間のバランスを考慮して、ブロックサイズを選択することが望ましい。
 上記第1~第6実施形態では、簡単化のために、輝度信号と色差信号における予測処理とを区別せず、色信号成分に関して包括的な説明を記述した。しかしながら、予測処理が輝度信号と色差信号との間で異なる場合には、同一または異なる予測方法が用いられてよい。輝度信号と色差信号との間で異なる予測方法が用いられるならば、色差信号に対して選択した予測方法を輝度信号と同様の方法で符号化又は復号できる。
 上記第1~第6実施形態では、簡単化のために、輝度信号と色差信号における重み付き動き補償予測処理とを区別せず、色信号成分に関して包括的な説明を記述した。しかしながら、重み付き動き補償予測処理が輝度信号と色差信号との間で異なる場合には、同一または異なる重み付き動き補償予測処理が用いられてよい。輝度信号と色差信号との間で異なる重み付き動き補償予測処理が用いられるならば、色差信号に対して選択した重み付き動き補償予測処理を輝度信号と同様の方法で符号化又は復号できる。
 上記第1~第6実施形態では、シンタクス構成に示す表の行間には、本実施形態で規定していないシンタクス要素が挿入されることも可能であるし、それ以外の条件分岐に関する記述が含まれていても構わない。或いは、シンタクステーブルを複数のテーブルに分割、統合することも可能である。また、必ずしも同一の用語を用いる必要は無く、利用する形態によって任意に変更しても構わない。
 以上説明したように、各実施形態は、重み付き動き補償予測を行う際に冗長な情報を符号化する問題を解消しつつ、高効率な重み付き動き補償予測処理を実現する。故に、各実施形態によれば、符号化効率が向上し、ひいては主観画質も向上する。
 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
 例えば、上記各実施形態の処理を実現するプログラムを、コンピュータで読み取り可能な記憶媒体に格納して提供することも可能である。記憶媒体としては、磁気ディスク、光ディスク(CD-ROM、CD-R、DVD等)、光磁気ディスク(MO等)、半導体メモリなど、プログラムを記憶でき、かつ、コンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
 また、上記各実施形態の処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。
 100、600、700 符号化装置
 101 減算部
 102 直交変換部
 103 量子化部
 104 逆量子化部
 105 逆直交変換部
 106 加算部
 107 予測画像生成部
 108、608 インデックス設定部
 109 動き評価部
 110 符号化部
 111 符号化制御部
 201 複数フレーム動き補償部
 202 メモリ
 203 単方向動き補償部
 204 予測パラメータ制御部
 205 参照画像セレクタ
 206 フレームメモリ
 207 参照画像制御部
 301 デフォルト動き補償部
 302 重み付き動き補償部
 303 WPパラメータ制御部
 304、305 WPセレクタ
 401、901 参照画像確認部
 402、602 インデックス生成部
 601、1001 再利用判定部
 701、1101 動き情報メモリ
 702、1102 動き情報取得部
 703、1103 切替スイッチ
 800、1000、1100 復号装置
 801 復号部
 802 逆量子化部
 803 逆直交変換部
 804 加算部
 805 予測画像生成部
 806、1006 インデックス設定部
 807 復号制御部
 902、1002 WPパラメータ生成部

Claims (18)

  1.  第1参照画像が参照する1以上の参照画像を含む組み合わせを示す第1インデックスと第2参照画像が参照する1以上の参照画像を含む組み合わせを示す第2インデックスとを設定し、前記第1インデックスに含まれる1以上の参照画像の番号と前記第2インデックスに含まれる1以上の参照画像の番号とを、予め定められた順序でスキャンして、同一の参照画像を含まない組み合わせに並び替えた共通インデックスを生成するインデックス生成ステップと、
     前記共通インデックスを符号化する符号化ステップと、
     を含む符号化方法。
  2.  前記第1インデックス及び前記第2インデックスは、それぞれ、1以上の重み係数を含み、
     入力画像を分割した複数のブロックのうちの対象ブロックで参照される前記第1参照画像及び前記第2参照画像と前記第1参照画像及び前記第2参照画像それぞれに対応する動きベクトルとで動き補償予測した値に、前記第1参照画像及び前記第2参照画像それぞれの重み係数を乗じることにより、前記対象ブロックの予測画像を生成する予測画像生成ステップと、
     前記入力画像と前記予測画像に基づいて、前記対象ブロックの量子化変換係数を生成する量子化変換係数生成ステップと、を更に含み、
     前記符号化ステップでは、更に、前記量子化変換係数及び前記動きベクトルを符号化することを特徴とする請求項1に記載の符号化方法。
  3.  前記第1インデックス及び前記第2インデックスは、それぞれ、1以上のオフセットを含み、
     前記予測画像生成ステップでは、入力画像を分割した複数のブロックのうちの対象ブロックで参照される前記第1参照画像及び前記第2参照画像と前記第1参照画像及び前記第2参照画像それぞれに対応する前記動きベクトルとで動き補償予測して動き補償予測画像を生成し、生成した前記動き補償予測画像に前記第1参照画像及び前記第2参照画像それぞれの重み係数を乗じ、前記第1参照画像及び前記第2参照画像それぞれのオフセットを加算することにより、前記対象ブロックの予測画像を生成することを特徴とする請求項2に記載の符号化方法。
  4.  前記符号化ステップでは、前記共通インデックスを含む情報で構成される1以上のピクチャ単位の上位情報と、前記量子化変換係数及び前記動きベクトルとを含む情報で構成され、前記上位情報の識別番号を参照する下位情報とを、異なるユニットとして符号化することを特徴とする請求項3に記載の符号化方法。
  5.  前記共通インデックスは、許容する最大枚数の参照画像及びピクチャより上位のユニット構造が保持する参照画像の枚数に関する情報を含むことを特徴とする請求項4に記載の符号化方法。
  6.  前記インデックス生成ステップでは、前記第2インデックスに含まれる1以上の参照画像のうち前記第1インデックスに含まれる参照画像と同一の参照画像を、前記第1インデックスに含まれる前記参照画像を参照する参照情報に置き換え、
     前記符号化ステップでは、前記第1インデックス及び前記参照情報に置き換え後の前記第2インデックスを符号化することを特徴とする請求項1に記載の符号化方法。
  7.  第1参照画像が参照する1以上の参照画像を含む組み合わせを示す第1インデックスと第2参照画像が参照する1以上の参照画像を含む組み合わせを示す第2インデックスとを設定し、前記第2インデックスに含まれる1以上の参照画像のうち前記第1インデックスに含まれる参照画像と同一の参照画像を、前記第1インデックスに含まれる前記参照画像を参照する参照情報に置き換えるインデックス生成ステップと、
     前記第1インデックス及び前記参照情報に置き換え後の前記第2インデックスを符号化する符号化ステップと、
     を含む符号化方法。
  8.  前記第1インデックス及び前記第2インデックスは、それぞれ、1以上の重み係数を含み、
     入力画像を分割した複数のブロックのうちの対象ブロックで参照される前記第1参照画像及び前記第2参照画像と前記第1参照画像及び前記第2参照画像それぞれに対応する動きベクトルとで動き補償予測した値に、前記第1参照画像及び前記第2参照画像それぞれの重み係数を乗じることにより、前記対象ブロックの予測画像を生成する予測画像生成ステップと、
     前記入力画像と前記予測画像に基づいて、前記対象ブロックの量子化変換係数を生成する量子化変換係数生成ステップと、を更に含み、
     前記符号化ステップでは、更に、前記量子化変換係数及び前記動きベクトルを符号化することを特徴とする請求項7に記載の符号化方法。
  9.  前記第1インデックス及び前記第2インデックスは、それぞれ、1以上のオフセットを含み、
     前記予測画像生成ステップでは、入力画像を分割した複数のブロックのうちの対象ブロックで参照される前記第1参照画像及び前記第2参照画像と前記第1参照画像及び前記第2参照画像それぞれに対応する前記動きベクトルとで動き補償予測して動き補償予測画像を生成し、生成した前記動き補償予測画像に前記第1参照画像及び前記第2参照画像それぞれの重み係数を乗じ、前記第1参照画像及び前記第2参照画像それぞれのオフセットを加算することにより、前記対象ブロックの予測画像を生成することを特徴とする請求項8に記載の符号化方法。
  10.  符号化データを復号して、第1インデックスに含まれる1以上の参照画像の番号と第2インデックスに含まれる1以上の参照画像の番号とが、予め定められた順序でスキャンされて、同一の参照画像を含まない組み合わせに並び替えられている共通インデックスを生成する復号ステップと、
     生成された前記共通インデックスから前記第1インデックスと前記第2インデックスとを生成するインデックス生成ステップと、
     を含む復号方法。
  11.  前記第1インデックス及び前記第2インデックスは、それぞれ、1以上の重み係数を含み、
     前記復号ステップでは、前記符号化データを復号して、量子化変換係数及び動きベクトルを生成し、
     前記量子化変換係数に基づく復号画像を分割した複数のブロックのうちの対象ブロックで参照される前記第1参照画像及び前記第2参照画像と前記第1参照画像及び前記第2参照画像それぞれに対応する前記動きベクトルとで動き補償予測した値に、前記第1参照画像及び前記第2参照画像それぞれの重み係数を乗じることにより、前記対象ブロックの予測画像を生成する予測画像生成ステップと、
     前記復号画像と前記予測画像とを用いて、出力画像を生成する出力画像生成ステップと、
     を更に含むことを特徴とする請求項10に記載の復号方法。
  12.  前記第1インデックス及び前記第2インデックスは、それぞれ、1以上のオフセットを含み、
     前記予測画像生成ステップでは、前記復号画像を分割した複数のブロックのうちの対象ブロックで参照される前記第1参照画像及び前記第2参照画像と前記第1参照画像及び前記第2参照画像それぞれに対応する前記動きベクトルとで動き補償予測して動き補償予測画像を生成し、生成した前記動き補償予測画像に前記第1参照画像及び前記第2参照画像それぞれの重み係数を乗じ、前記第1参照画像及び前記第2参照画像それぞれのオフセットを加算することにより、前記対象ブロックの予測画像を生成することを特徴とする請求項11に記載の復号方法。
  13.  前記復号ステップでは、前記共通インデックスを含む情報で構成される1以上のピクチャ単位の上位情報と、前記量子化変換係数及び前記動きベクトルとを含む情報で構成され、前記上位情報の識別番号を参照する下位情報とを、異なるユニットとして復号することを特徴とする請求項12に記載の復号方法。
  14.  前記共通インデックスは、許容する最大枚数の参照画像及びピクチャより上位のユニット構造が保持する参照画像の枚数に関する情報を含むことを特徴とする請求項13に記載の復号方法。
  15.  前記復号ステップでは、前記符号化データを復号して、第1参照画像が参照する1以上の参照画像を含む組み合わせを示す第1インデックスと、1以上の参照画像のうち前記第1インデックスに含まれる参照画像と同一の参照画像が、前記第1インデックスに含まれる前記参照画像を参照する参照情報に置き換えられた第2インデックスと、を生成し、
     前記インデックス生成ステップでは、前記第2インデックスの前記参照情報を前記第1インデックスに含まれる前記参照画像に置き換えることを特徴とする請求項10に記載の復号方法。
  16.  符号化データを復号して、第1参照画像が参照する1以上の参照画像を含む組み合わせを示す第1インデックスと、1以上の参照画像のうち前記第1インデックスに含まれる参照画像と同一の参照画像が、前記第1インデックスに含まれる前記参照画像を参照する参照情報に置き換えられた第2インデックスと、を生成する復号ステップと、
     前記第2インデックスの前記参照情報を前記第1インデックスに含まれる前記参照画像に置き換えるインデックス生成ステップと、
     を含む復号方法。
  17.  前記第1インデックス及び前記第2インデックスは、それぞれ、1以上の重み係数を含み、
     前記復号ステップでは、前記符号化データを復号して、量子化変換係数及び動きベクトルを生成し、
     前記量子化変換係数に基づく復号画像を分割した複数のブロックのうちの対象ブロックで参照される前記第1参照画像及び前記第2参照画像と前記第1参照画像及び前記第2参照画像それぞれに対応する前記動きベクトルとで動き補償予測した値に、前記第1参照画像及び前記第2参照画像それぞれの重み係数を乗じることにより、前記対象ブロックの予測画像を生成する予測画像生成ステップと、
     前記復号画像と前記予測画像とを用いて、出力画像を生成する出力画像生成ステップと、
     を更に含むことを特徴とする請求項16に記載の復号方法。
  18.  前記第1インデックス及び前記第2インデックスは、それぞれ、1以上のオフセットを含み、
     前記予測画像生成ステップでは、前記復号画像を分割した複数のブロックのうちの対象ブロックで参照される前記第1参照画像及び前記第2参照画像と前記第1参照画像及び前記第2参照画像それぞれに対応する前記動きベクトルとで動き補償予測して動き補償予測画像を生成し、生成した前記動き補償予測画像に前記第1参照画像及び前記第2参照画像それぞれの重み係数を乗じ、前記第1参照画像及び前記第2参照画像それぞれのオフセットを加算することにより、前記対象ブロックの予測画像を生成することを特徴とする請求項17に記載の復号方法。
PCT/JP2011/073851 2011-10-17 2011-10-17 符号化方法及び復号方法 WO2013057782A1 (ja)

Priority Applications (54)

Application Number Priority Date Filing Date Title
EP11874125.5A EP2770735A4 (en) 2011-10-17 2011-10-17 CODING METHOD AND DECODING METHOD
AU2011379258A AU2011379258C1 (en) 2011-10-17 2011-10-17 Encoding method and decoding method
EP17150477.2A EP3174301A1 (en) 2011-10-17 2011-10-17 Decoding device and decoding method
CA2847296A CA2847296C (en) 2011-10-17 2011-10-17 Encoding device, decoding device, encoding method, and decoding method
EP17150471.5A EP3174296A1 (en) 2011-10-17 2011-10-17 Decoding device and decoding method
KR1020147005322A KR20140057301A (ko) 2011-10-17 2011-10-17 암호화 장치, 복호 장치, 암호화 방법, 및 복호 방법
PCT/JP2011/073851 WO2013057782A1 (ja) 2011-10-17 2011-10-17 符号化方法及び復号方法
KR1020157019999A KR20150092765A (ko) 2011-10-17 2011-10-17 암호화 장치, 복호 장치, 암호화 방법, 및 복호 방법
MYPI2014000579A MY168194A (en) 2011-10-17 2011-10-17 Encoding device, decoding device, encoding method, and decoding method
CN201610895415.9A CN106231321B (zh) 2011-10-17 2011-10-17 解码方法和解码设备
BR112014004797-9A BR112014004797B1 (pt) 2011-10-17 2011-10-17 Método de decodificação
EP17150470.7A EP3174300A1 (en) 2011-10-17 2011-10-17 Decoding device and decoding method
CN201180073124.7A CN103782599A (zh) 2011-10-17 2011-10-17 编码方法和解码方法
MX2015005669A MX336653B (es) 2011-10-17 2011-10-17 Dispositivo de codificcion, dispositivo de decodificacion, metodo de codificacion, y metodo de decodificacion.
JP2013539429A JP5592023B2 (ja) 2011-10-17 2011-10-17 符号化方法及び符号化装置
SG11201400288VA SG11201400288VA (en) 2011-10-17 2011-10-17 Encoding device, decoding device, encoding method, and decoding method
RU2014107469/08A RU2014107469A (ru) 2011-10-17 2011-10-17 Устройство кодирования, устройство декодирования, способ кодирования и способ декодирования
MX2014002534A MX2014002534A (es) 2011-10-17 2011-10-17 Dispositivo de codificacion, dispositivo de decodificacion, metodo de codificacion, y metodo de decodificacion.
MX2016001118A MX344805B (es) 2011-10-17 2011-10-17 Dispositivo de codificación, dispositivo de decodificación, método de codificación, y método de decodificación.
KR1020167012309A KR101694664B1 (ko) 2011-10-17 2011-10-17 복호 장치 및 복호 방법
TW109128457A TWI742809B (zh) 2011-10-17 2012-01-17 解碼方法及解碼裝置
TW107131923A TWI703859B (zh) 2011-10-17 2012-01-17 解碼方法及解碼裝置
TW106135506A TWI639332B (zh) 2011-10-17 2012-01-17 Decoding method and decoding device
TW106129366A TWI617184B (zh) 2011-10-17 2012-01-17 Decoding method and decoding device
TW104142717A TWI575943B (zh) 2011-10-17 2012-01-17 Coding method and decoding method
TW105143925A TWI608730B (zh) 2011-10-17 2012-01-17 Decoding method and decoding apparatus
TW101101750A TW201318437A (zh) 2011-10-17 2012-01-17 編碼方法及解碼方法
TW106135507A TWI639333B (zh) 2011-10-17 2012-01-17 Decoding method and decoding device
TW112108135A TW202332275A (zh) 2011-10-17 2012-01-17 編碼方法及編碼裝置
TW110130330A TWI794935B (zh) 2011-10-17 2012-01-17 解碼方法及解碼裝置
US14/028,024 US20140072237A1 (en) 2011-10-17 2013-09-16 Encoding device, decoding device, encoding method, and decoding method
ZA2014/01564A ZA201401564B (en) 2011-10-17 2014-02-28 Encoding method and decoding method
US14/799,253 US9681138B2 (en) 2011-10-17 2015-07-14 Encoding device, decoding device, encoding method, and decoding method
AU2015213330A AU2015213330C1 (en) 2011-10-17 2015-08-13 Decoding device and decoding method
US15/590,876 US9872027B2 (en) 2011-10-17 2017-05-09 Encoding device, decoding device, encoding method, and decoding method
AU2017203354A AU2017203354B2 (en) 2011-10-17 2017-05-19 Decoding device and decoding method
US15/679,520 US10110904B2 (en) 2011-10-17 2017-08-17 Encoding device, decoding device, encoding method, and decoding method
US15/679,438 US10187642B2 (en) 2011-10-17 2017-08-17 Encoding device, decoding device, encoding method, and decoding method
PH12017501851A PH12017501851B1 (en) 2011-10-17 2017-10-09 Encoding device, decoding device, encoding method and decoding method
AU2018206856A AU2018206856B2 (en) 2011-10-17 2018-07-23 Decoding device and decoding method
US16/113,330 US10412394B2 (en) 2011-10-17 2018-08-27 Encoding device, decoding device, encoding method, and decoding method
PH12019501571A PH12019501571A1 (en) 2011-10-17 2019-07-03 Encoding device, decoding device, encoding method and encoding method
US16/521,145 US10674161B2 (en) 2011-10-17 2019-07-24 Encoding device, decoding device, encoding method, and decoding method
AU2019232774A AU2019232774B2 (en) 2011-10-17 2019-09-16 Decoding device and decoding method
US16/858,002 US11483570B2 (en) 2011-10-17 2020-04-24 Encoding device, decoding device, encoding method, and decoding method
US16/857,650 US11323721B2 (en) 2011-10-17 2020-04-24 Encoding device, decoding device, encoding method, and decoding method
US16/857,910 US11425396B2 (en) 2011-10-17 2020-04-24 Encoding device, decoding device, encoding method, and decoding method
US16/858,053 US11356674B2 (en) 2011-10-17 2020-04-24 Encoding device, decoding device, encoding method, and decoding method
US16/857,846 US11381826B2 (en) 2011-10-17 2020-04-24 Encoding device, decoding device, encoding method, and decoding method
AU2021200773A AU2021200773B2 (en) 2011-10-17 2021-02-06 Decoding device and decoding method
AU2022221509A AU2022221509B2 (en) 2011-10-17 2022-08-25 Decoding device and decoding method
US17/941,083 US11871007B2 (en) 2011-10-17 2022-09-09 Encoding device, decoding device, encoding method, and decoding method
US18/515,891 US20240098278A1 (en) 2011-10-17 2023-11-21 Encoding device, decoding device, encoding method, and decoding method
AU2023274145A AU2023274145A1 (en) 2011-10-17 2023-11-29 Decoding device and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/073851 WO2013057782A1 (ja) 2011-10-17 2011-10-17 符号化方法及び復号方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/028,024 Continuation US20140072237A1 (en) 2011-10-17 2013-09-16 Encoding device, decoding device, encoding method, and decoding method

Publications (1)

Publication Number Publication Date
WO2013057782A1 true WO2013057782A1 (ja) 2013-04-25

Family

ID=48140460

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/073851 WO2013057782A1 (ja) 2011-10-17 2011-10-17 符号化方法及び復号方法

Country Status (16)

Country Link
US (14) US20140072237A1 (ja)
EP (4) EP3174301A1 (ja)
JP (1) JP5592023B2 (ja)
KR (3) KR20140057301A (ja)
CN (2) CN103782599A (ja)
AU (8) AU2011379258C1 (ja)
BR (1) BR112014004797B1 (ja)
CA (1) CA2847296C (ja)
MX (3) MX344805B (ja)
MY (1) MY168194A (ja)
PH (2) PH12017501851B1 (ja)
RU (1) RU2014107469A (ja)
SG (1) SG11201400288VA (ja)
TW (10) TWI742809B (ja)
WO (1) WO2013057782A1 (ja)
ZA (1) ZA201401564B (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016036189A (ja) * 2015-12-17 2016-03-17 株式会社東芝 復号方法及び復号装置
JP2017085633A (ja) * 2017-01-04 2017-05-18 株式会社東芝 復号方法及び復号装置
US9681138B2 (en) 2011-10-17 2017-06-13 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method
WO2018061503A1 (ja) * 2016-09-27 2018-04-05 株式会社ドワンゴ 符号化装置、符号化方法、復号化装置、及び復号化方法
US11223827B2 (en) 2013-09-30 2022-01-11 Nippon Hoso Kyokai Image encoding device, image decoding device, and the programs thereof
US11303920B2 (en) 2017-07-07 2022-04-12 Samsung Electronics Co., Ltd. Apparatus and method for encoding motion vector determined using adaptive motion vector resolution, and apparatus and method for decoding motion vector
US11432003B2 (en) 2017-09-28 2022-08-30 Samsung Electronics Co., Ltd. Encoding method and apparatus therefor, and decoding method and apparatus therefor
US20220360779A1 (en) * 2019-07-05 2022-11-10 V-Nova International Limited Quantization of residuals in video coding

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3675497B1 (en) 2011-10-17 2021-12-29 Kabushiki Kaisha Toshiba Encoding method and decoding method
US20130114710A1 (en) * 2011-11-08 2013-05-09 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by prediction using reference picture list, and method and apparatus for decoding video by performing compensation using reference picture list
CA3160230A1 (en) 2012-06-27 2014-01-03 Kabushiki Kaisha Toshiba Video encoding and decoding using weighting factor with predetermined bit precision
CA2986476A1 (en) * 2015-05-19 2016-11-24 Magic Leap, Inc. Semi-global shutter imager
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
FR3041850B1 (fr) * 2015-09-30 2018-05-25 Vogo Procede d'encodage de flux de donnees video basees sur des groupements d'images (gop)
WO2018008906A1 (ko) * 2016-07-05 2018-01-11 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10750203B2 (en) 2016-12-22 2020-08-18 Mediatek Inc. Method and apparatus of adaptive bi-prediction for video coding
DE112017006638B4 (de) * 2016-12-28 2023-05-11 Arris Enterprises Llc Verbesserte Videobitstromkodierung
WO2019111013A1 (en) * 2017-12-06 2019-06-13 V-Nova International Ltd Method and apparatus for decoding a received set of encoded data
EP3854099A4 (en) * 2018-09-21 2022-06-29 Sharp Kabushiki Kaisha Systems and methods for signaling reference pictures in video coding
US11758132B2 (en) 2018-12-28 2023-09-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder and decoder, encoding method and decoding method with complexity handling for flexibly sized picture partitions
CN111726632B (zh) * 2019-03-18 2022-08-26 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
US11076152B2 (en) * 2019-03-18 2021-07-27 Sony Group Corporation Quantization step parameter for point cloud compression
WO2021202667A1 (en) * 2020-03-31 2021-10-07 Alibaba Group Holding Limited Methods for palette prediction
CN112004096A (zh) * 2020-07-20 2020-11-27 浙江大华技术股份有限公司 角度模式帧间预测方法、编码器及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004007377A (ja) * 2002-04-18 2004-01-08 Toshiba Corp 動画像符号化/復号化方法及び装置
JP2007221201A (ja) * 2006-02-14 2007-08-30 Victor Co Of Japan Ltd 動画像符号化装置及び動画像符号化プログラム
JP2009525687A (ja) * 2006-02-02 2009-07-09 トムソン ライセンシング 動き補償予測のための適応重み選択を行う方法および装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6002802A (en) * 1995-10-27 1999-12-14 Kabushiki Kaisha Toshiba Video encoding and decoding apparatus
JP2004007379A (ja) * 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
EP1467569A4 (en) * 2002-01-18 2007-11-14 Toshiba Kk METHOD AND APPARATUS FOR ENCODING IMAGES IN MOTION, DECODING METHOD AND APPARATUS
US8406301B2 (en) * 2002-07-15 2013-03-26 Thomson Licensing Adaptive weighting of reference pictures in video encoding
PT2320659E (pt) 2002-08-08 2014-11-13 Panasonic Ip Corp America Método de codificação e método de descodificação de imagens em movimento
JP4485157B2 (ja) 2002-08-08 2010-06-16 パナソニック株式会社 画像復号化方法および画像復号化装置
JP2004179687A (ja) 2002-11-22 2004-06-24 Toshiba Corp 動画像符号化/復号化方法及び装置
US20050201470A1 (en) * 2004-03-12 2005-09-15 John Sievers Intra block walk around refresh for H.264
JP2005318297A (ja) 2004-04-28 2005-11-10 Toshiba Corp 動画像符号化・復号方法及び装置
DE102004059993B4 (de) 2004-10-15 2006-08-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Bewegungsdaten-Prädiktion sowie Computerprogramm und computerlesbares Medium
KR100896279B1 (ko) * 2005-04-15 2009-05-07 엘지전자 주식회사 영상 신호의 스케일러블 인코딩 및 디코딩 방법
KR20070038396A (ko) * 2005-10-05 2007-04-10 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
US8687694B2 (en) * 2005-10-05 2014-04-01 Panasonic Corporation Reference picture selection method and apparatus
JP4691062B2 (ja) 2007-03-30 2011-06-01 株式会社東芝 情報処理装置
KR20120046729A (ko) * 2009-08-06 2012-05-10 파나소닉 주식회사 부호화 방법, 복호 방법, 부호화 장치 및 복호 장치
KR20110050283A (ko) * 2009-11-06 2011-05-13 삼성전자주식회사 다중 참조 영상을 이용한 고속 움직임 추정 방법
US9277228B2 (en) * 2011-07-18 2016-03-01 Qualcomm Incorporated Adaptation parameter sets for video coding
SG11201400288VA (en) 2011-10-17 2014-05-29 Toshiba Kk Encoding device, decoding device, encoding method, and decoding method
JP6015034B2 (ja) 2012-03-07 2016-10-26 セイコーエプソン株式会社 光学センサー及び電子機器
JP2017003482A (ja) 2015-06-12 2017-01-05 ヤマシンフィルタ株式会社 測定装置
JP6105034B2 (ja) 2015-12-17 2017-03-29 株式会社東芝 復号方法及び復号装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004007377A (ja) * 2002-04-18 2004-01-08 Toshiba Corp 動画像符号化/復号化方法及び装置
JP2009525687A (ja) * 2006-02-02 2009-07-09 トムソン ライセンシング 動き補償予測のための適応重み選択を行う方法および装置
JP2007221201A (ja) * 2006-02-14 2007-08-30 Victor Co Of Japan Ltd 動画像符号化装置及び動画像符号化プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JOONYOUNG PARK ET AL.: "Redundancy of Bi- directional Inter Prediction in Generalized P and B picture", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-D089RL, 4TH MEETING, 20 January 2011 (2011-01-20) - 28 January 2011 (2011-01-28), DAEGU, KR, pages 1 - 3, XP030047408 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11356674B2 (en) 2011-10-17 2022-06-07 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method
US11381826B2 (en) 2011-10-17 2022-07-05 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method
US10674161B2 (en) 2011-10-17 2020-06-02 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method
US9872027B2 (en) 2011-10-17 2018-01-16 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method
US11483570B2 (en) 2011-10-17 2022-10-25 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method
US10110904B2 (en) 2011-10-17 2018-10-23 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method
US10187642B2 (en) 2011-10-17 2019-01-22 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method
US11871007B2 (en) 2011-10-17 2024-01-09 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method
US9681138B2 (en) 2011-10-17 2017-06-13 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method
US11425396B2 (en) 2011-10-17 2022-08-23 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method
US10412394B2 (en) 2011-10-17 2019-09-10 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method
US11323721B2 (en) 2011-10-17 2022-05-03 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method
US11647195B2 (en) 2013-09-30 2023-05-09 Nippon Hoso Kyokai Image encoding device, image decoding device, and the programs thereof
US11223827B2 (en) 2013-09-30 2022-01-11 Nippon Hoso Kyokai Image encoding device, image decoding device, and the programs thereof
JP2016036189A (ja) * 2015-12-17 2016-03-17 株式会社東芝 復号方法及び復号装置
WO2018061503A1 (ja) * 2016-09-27 2018-04-05 株式会社ドワンゴ 符号化装置、符号化方法、復号化装置、及び復号化方法
JP2017085633A (ja) * 2017-01-04 2017-05-18 株式会社東芝 復号方法及び復号装置
US11303920B2 (en) 2017-07-07 2022-04-12 Samsung Electronics Co., Ltd. Apparatus and method for encoding motion vector determined using adaptive motion vector resolution, and apparatus and method for decoding motion vector
US11991383B2 (en) 2017-07-07 2024-05-21 Samsung Electronics Co., Ltd. Apparatus and method for encoding motion vector determined using adaptive motion vector resolution, and apparatus and method for decoding motion vector
US11432003B2 (en) 2017-09-28 2022-08-30 Samsung Electronics Co., Ltd. Encoding method and apparatus therefor, and decoding method and apparatus therefor
US20220360779A1 (en) * 2019-07-05 2022-11-10 V-Nova International Limited Quantization of residuals in video coding

Also Published As

Publication number Publication date
PH12019501571A1 (en) 2019-11-11
PH12017501851A1 (en) 2018-07-09
TW201714454A (en) 2017-04-16
AU2021200773A1 (en) 2021-03-04
AU2019232774A1 (en) 2019-10-03
AU2011379258A1 (en) 2014-03-27
US11871007B2 (en) 2024-01-09
US10110904B2 (en) 2018-10-23
US20170359585A1 (en) 2017-12-14
US11425396B2 (en) 2022-08-23
AU2011379258C1 (en) 2015-11-26
AU2019232774B2 (en) 2020-11-12
TW201611584A (zh) 2016-03-16
US20170244973A1 (en) 2017-08-24
TW201318437A (zh) 2013-05-01
TW202046735A (zh) 2020-12-16
AU2015213330A1 (en) 2015-09-03
AU2017203354A1 (en) 2017-06-08
AU2021200773B2 (en) 2022-05-26
PH12017501851B1 (en) 2018-07-09
AU2022221509A1 (en) 2022-09-22
KR101694664B1 (ko) 2017-01-09
MX344805B (es) 2017-01-09
TW202147852A (zh) 2021-12-16
US10187642B2 (en) 2019-01-22
AU2022221509B2 (en) 2023-10-12
US10412394B2 (en) 2019-09-10
MX336653B (es) 2016-01-27
SG11201400288VA (en) 2014-05-29
US11381826B2 (en) 2022-07-05
AU2015213330C1 (en) 2017-08-31
US11323721B2 (en) 2022-05-03
AU2015213330B2 (en) 2017-04-20
TWI617184B (zh) 2018-03-01
US20200252625A1 (en) 2020-08-06
TW201811048A (zh) 2018-03-16
CN103782599A (zh) 2014-05-07
US20240098278A1 (en) 2024-03-21
KR20150092765A (ko) 2015-08-13
EP2770735A4 (en) 2015-06-03
TW201804800A (zh) 2018-02-01
US20170347104A1 (en) 2017-11-30
US20140072237A1 (en) 2014-03-13
JPWO2013057782A1 (ja) 2015-04-02
US20200014933A1 (en) 2020-01-09
US20230007275A1 (en) 2023-01-05
CA2847296C (en) 2017-09-19
KR20140057301A (ko) 2014-05-12
JP5592023B2 (ja) 2014-09-17
TWI742809B (zh) 2021-10-11
KR20160058967A (ko) 2016-05-25
TW202332275A (zh) 2023-08-01
CN106231321B (zh) 2020-01-17
MY168194A (en) 2018-10-15
TW201804801A (zh) 2018-02-01
US20200252623A1 (en) 2020-08-06
TWI639333B (zh) 2018-10-21
TWI575943B (zh) 2017-03-21
CA2847296A1 (en) 2013-04-25
US9681138B2 (en) 2017-06-13
US10674161B2 (en) 2020-06-02
TWI703859B (zh) 2020-09-01
US11356674B2 (en) 2022-06-07
TWI639332B (zh) 2018-10-21
US20150319445A1 (en) 2015-11-05
ZA201401564B (en) 2015-07-29
TWI608730B (zh) 2017-12-11
BR112014004797A2 (pt) 2017-03-28
AU2023274145A1 (en) 2023-12-21
EP3174296A1 (en) 2017-05-31
TW201902220A (zh) 2019-01-01
RU2014107469A (ru) 2015-11-27
MX2014002534A (es) 2014-04-16
US9872027B2 (en) 2018-01-16
AU2011379258B2 (en) 2015-07-09
AU2018206856B2 (en) 2019-08-29
TWI794935B (zh) 2023-03-01
EP3174300A1 (en) 2017-05-31
US20200252624A1 (en) 2020-08-06
EP2770735A1 (en) 2014-08-27
CN106231321A (zh) 2016-12-14
US11483570B2 (en) 2022-10-25
US20200252628A1 (en) 2020-08-06
BR112014004797B1 (pt) 2022-02-15
AU2018206856A1 (en) 2018-08-09
AU2017203354B2 (en) 2018-06-28
EP3174301A1 (en) 2017-05-31
US20180367803A1 (en) 2018-12-20
US20200252626A1 (en) 2020-08-06

Similar Documents

Publication Publication Date Title
JP5592023B2 (ja) 符号化方法及び符号化装置
JP6105034B2 (ja) 復号方法及び復号装置
JP6775039B2 (ja) 復号方法及び復号装置
JP2018007278A (ja) 復号方法及び復号装置
JP2017085633A (ja) 復号方法及び復号装置
JP2021002876A (ja) 復号方法及び符号化方法
JP2018007279A (ja) 復号方法及び復号装置
WO2013069117A1 (ja) 予測画像生成方法、符号化方法及び復号方法
JP2014197852A (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: 11874125

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013539429

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2011874125

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2011874125

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20147005322

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2847296

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: MX/A/2014/002534

Country of ref document: MX

ENP Entry into the national phase

Ref document number: 2011379258

Country of ref document: AU

Date of ref document: 20111017

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2014107469

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: 112014004797

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112014004797

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20140227

WWE Wipo information: entry into national phase

Ref document number: 12017501851

Country of ref document: PH