WO2013057877A1 - 画像符号化方法、画像符号化装置、画像復号方法、および、画像復号装置 - Google Patents

画像符号化方法、画像符号化装置、画像復号方法、および、画像復号装置 Download PDF

Info

Publication number
WO2013057877A1
WO2013057877A1 PCT/JP2012/006110 JP2012006110W WO2013057877A1 WO 2013057877 A1 WO2013057877 A1 WO 2013057877A1 JP 2012006110 W JP2012006110 W JP 2012006110W WO 2013057877 A1 WO2013057877 A1 WO 2013057877A1
Authority
WO
WIPO (PCT)
Prior art keywords
merge candidate
derivation
merge
unit
encoding
Prior art date
Application number
PCT/JP2012/006110
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 BR112014008403-3A priority Critical patent/BR112014008403B1/pt
Priority to EP21176324.8A priority patent/EP3923572A1/en
Priority to JP2013539507A priority patent/JP6308495B2/ja
Priority to CN201280049393.4A priority patent/CN103858428B/zh
Priority to IN2602CHN2014 priority patent/IN2014CN02602A/en
Priority to KR1020147009186A priority patent/KR101999869B1/ko
Priority to EP12841970.2A priority patent/EP2770738A4/en
Priority to CA2850595A priority patent/CA2850595C/en
Priority to MX2014003991A priority patent/MX2014003991A/es
Publication of WO2013057877A1 publication Critical patent/WO2013057877A1/ja

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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/46Embedding additional information in the video signal during the compression process

Definitions

  • the present invention relates to an image encoding method and an image decoding method.
  • the amount of information is compressed using redundancy in the spatial direction and temporal direction of a moving image.
  • redundancy in the spatial direction conversion to the frequency domain is used.
  • temporal redundancy inter-picture prediction (hereinafter referred to as “inter prediction”) encoding processing is used.
  • inter prediction inter-picture prediction
  • the inter prediction encoding process when a certain picture is encoded, an encoded picture that is ahead or behind in the display time order with respect to the encoding target picture is used as a reference picture. Then, a motion vector is derived by detecting the motion of the encoding target picture with respect to the reference picture.
  • the present invention provides an image encoding method and an image decoding method capable of improving encoding efficiency in image encoding and decoding using inter prediction.
  • An image encoding method is an image encoding method for generating a bitstream by encoding an image for each block, and includes a prediction direction and a motion vector used for encoding an encoding target block. And a first derivation step for performing a first derivation process for deriving a merge candidate that is a candidate for a set of reference picture indexes as a first merge candidate, and a merge candidate as a second merge candidate by a method different from the first derivation process A second derivation step for performing a second derivation process to be derived; a selection step for selecting a merge candidate used for encoding the encoding target block from the first merge candidate and the second merge candidate; And adding an index for identifying the merge candidate to the bitstream, the first derivation.
  • the first derivation process is performed so that the total number of the first merge candidates does not exceed a predetermined number.
  • the total number of the first merge candidates is a predetermined maximum number of merge candidates. If it is smaller, the second derivation process is performed.
  • a recording medium such as a system, a method, an integrated circuit, a computer program, or a computer-readable CD-ROM (Compact Disc Only Memory). You may implement
  • the image coding method according to an aspect of the present invention can improve coding efficiency in image coding and decoding using inter prediction.
  • FIG. 1A is a diagram for explaining an example of a reference picture list in a B picture.
  • FIG. 1B is a diagram illustrating an example of a reference picture list in a prediction direction 0 in a B picture.
  • FIG. 1C is a diagram illustrating an example of a reference picture list in a prediction direction 1 in a B picture.
  • FIG. 2 is a diagram for explaining motion vectors in the temporal prediction motion vector mode.
  • FIG. 3 is a diagram illustrating an example of motion vectors of adjacent blocks used in the merge mode.
  • FIG. 4 is a diagram for explaining an example of the merge candidate list.
  • FIG. 5 is a diagram illustrating the relationship between the merge candidate size and the bit string assigned to the merge index.
  • FIG. 6 is a flowchart illustrating an example of the encoding process when the merge mode is used.
  • FIG. 7 is a flowchart showing a decoding process when the merge mode is used.
  • FIG. 8 is a diagram illustrating a syntax for attaching a merge index to a bitstream.
  • FIG. 9 is a block diagram showing a configuration of the image coding apparatus according to Embodiment 1.
  • FIG. 10A is a flowchart showing a processing operation of the image coding apparatus according to Embodiment 1.
  • FIG. 10B is a flowchart illustrating merge candidate derivation processing according to Embodiment 1.
  • FIG. 11 is a diagram showing an example of a merge candidate list generated by the image coding apparatus according to Embodiment 1.
  • FIG. 12 is a block diagram showing a configuration of the image decoding apparatus according to Embodiment 2.
  • FIG. 13A is a flowchart showing the processing operation of the image decoding apparatus according to Embodiment 2.
  • FIG. 13B is a flowchart showing merge candidate derivation processing according to Embodiment 2.
  • FIG. 14 is a block diagram showing a configuration of an image coding apparatus according to Embodiment 3.
  • FIG. 15 is a flowchart showing the processing operation of the image coding apparatus according to Embodiment 3.
  • FIG. 16 is a flowchart showing processing relating to selection of merge candidates in the third embodiment.
  • FIG. 17 is a block diagram showing a configuration of an image decoding apparatus according to Embodiment 4.
  • FIG. 13A is a flowchart showing the processing operation of the image decoding apparatus according to Embodiment 2.
  • FIG. 13B is a flowchart showing merge candidate derivation processing according to Embodiment 2.
  • FIG. 14 is a block diagram showing
  • FIG. 18 is a flowchart showing the processing operation of the image decoding apparatus according to the fourth embodiment.
  • FIG. 19 is a flowchart showing a process of deriving a zero merge candidate in the fifth embodiment.
  • FIG. 20 is a diagram illustrating an example of a zero merge candidate derived in the fifth embodiment.
  • FIG. 21 is a flowchart showing the combined merge candidate derivation process in the sixth embodiment.
  • FIG. 22 is a flowchart showing processing for deriving a scaling merge candidate according to the seventh embodiment.
  • FIG. 23 is a diagram illustrating an example of motion vectors and reference picture indexes calculated in the seventh embodiment.
  • FIG. 24 is an overall configuration diagram of a content supply system that realizes a content distribution service.
  • FIG. 25 is an overall configuration diagram of a digital broadcasting system.
  • FIG. 26 is a block diagram illustrating a configuration example of a television.
  • FIG. 27 is a block diagram illustrating a configuration example of an information reproducing / recording unit that reads and writes information from and on a recording medium that is an optical disk.
  • FIG. 28 is a diagram illustrating a structure example of a recording medium that is an optical disk.
  • FIG. 29A is a diagram illustrating an example of a mobile phone.
  • FIG. 29B is a block diagram illustrating a configuration example of a mobile phone.
  • FIG. 30 is a diagram showing a structure of multiplexed data.
  • FIG. 31 is a diagram schematically showing how each stream is multiplexed in the multiplexed data.
  • FIG. 32 is a diagram showing in more detail how the video stream is stored in the PES packet sequence.
  • FIG. 33 is a diagram showing the structure of TS packets and source packets in multiplexed data.
  • FIG. 34 shows the data structure of the PMT.
  • FIG. 35 is a diagram showing an internal configuration of multiplexed data information.
  • FIG. 36 shows the internal structure of stream attribute information.
  • FIG. 37 is a diagram showing steps for identifying video data.
  • FIG. 38 is a block diagram illustrating a configuration example of an integrated circuit that realizes the moving picture coding method and the moving picture decoding method according to each embodiment.
  • FIG. 39 is a diagram showing a configuration for switching drive frequencies.
  • FIG. 40 is a diagram illustrating steps for identifying video data and switching between driving frequencies.
  • FIG. 41 is a diagram illustrating an example of a look-up table in which video data standards are associated with drive frequencies.
  • FIG. 42A is a diagram illustrating an example of a configuration for sharing a module of a signal processing unit.
  • FIG. 42B is a diagram illustrating another example of a configuration for
  • H. already standardized.
  • three types of picture types i.e., an I picture, a P picture, and a B picture, are used to compress the amount of information.
  • the I picture is not encoded by the inter prediction encoding process. That is, an I picture is encoded by intra-picture prediction (hereinafter referred to as “intra prediction”) encoding processing.
  • the P picture is inter-predictively encoded with reference to one already encoded picture in front of or behind the current picture in display time order.
  • the B picture is inter-predictively encoded with reference to two already encoded pictures that are in front of or behind the current picture in display time order.
  • a reference picture list for specifying a reference picture is generated.
  • the reference picture list is a list in which a reference picture index is assigned to an encoded reference picture that is referred to in inter prediction. For example, since the B picture can be encoded with reference to two pictures, two reference lists (L0, L1) are generated.
  • FIG. 1A is a diagram for explaining an example of a reference picture list in a B picture.
  • FIG. 1B shows an example of reference picture list 0 (L0) in prediction direction 0 in bidirectional prediction.
  • the reference picture index 0 having the value 0 is assigned to the reference picture 0 in the display order 2.
  • the value 1 of the reference picture index 0 having the value 1 is assigned to the reference picture 1 in the display order 1.
  • Reference picture index 0 having a value of 2 is assigned to reference picture 2 in display order 0. That is, a reference picture index having a smaller value is assigned to a reference picture that is closer in time to the encoding target picture in display order.
  • FIG. 1C shows an example of the reference picture list 1 (L1) in the prediction direction 1 in bidirectional prediction.
  • the reference picture index 1 having a value 0 is assigned to the reference picture 1 in the display order 1.
  • Reference picture index 1 having a value of 1 is assigned to reference picture 0 in display order 2.
  • Reference picture index 1 having a value of 2 is assigned to reference picture 2 in display order 0.
  • a reference picture index having a different value for each prediction direction is assigned to each reference picture (reference pictures 0 and 1 in FIG. 1A), or a reference picture index having the same value is assigned (FIG. 1A).
  • Reference picture 2 is possible.
  • a motion vector detection mode is used as an inter prediction coding mode for each coding target block in a B picture.
  • the motion vector detection mode the difference value between the predicted image data and the image data of the encoding target block and the motion vector used to generate the predicted image data are encoded.
  • bidirectional prediction and unidirectional prediction can be selected as the prediction direction.
  • bi-directional prediction a predicted image is generated with reference to two already encoded pictures that are in front of or behind the current picture.
  • the unidirectional prediction a prediction image is generated with reference to one already encoded picture in the front or rear.
  • a motion vector when a motion vector is derived in coding a B picture, a coding mode called a temporal prediction motion vector mode can be selected.
  • An inter prediction encoding method in the temporal prediction motion vector mode will be described with reference to FIG.
  • FIG. 2 is a diagram for explaining a motion vector in the temporal motion vector predictor mode. Specifically, FIG. 2 illustrates a case where the block a of the picture B2 is encoded in the temporal prediction motion vector mode.
  • a motion vector vb used for encoding a block b (hereinafter referred to as “co-located block”) in the same position as the block a in the picture P3 which is a reference picture behind the picture B2 is It's being used.
  • the motion vector vb is a motion vector used when the block b is encoded with reference to the picture P1.
  • the motion vector used when coding the block a is the motion vector va1 for the picture P1 and the motion vector va2 for the picture P3.
  • Non-Patent Document 2 a merge mode has been studied as an inter prediction mode for each encoding target block in a B picture or a P picture.
  • the encoding target block is encoded by copying a set of the prediction direction, the motion vector, and the reference picture index used for encoding the adjacent block of the encoding target block.
  • an index representing a prediction direction, a motion vector, and a reference picture index set used for encoding is added to the bitstream. This enables the decoding side to select a prediction direction, a motion vector, and a reference picture index set used for encoding.
  • FIG. 1 A specific example will be described with reference to FIG.
  • FIG. 3 is a diagram illustrating an example of motion vectors of adjacent blocks used in the merge mode.
  • an adjacent block A is an encoded block on the left side of the encoding target block.
  • the adjacent block B is an encoded block that is adjacent to the encoding target block.
  • the adjacent block C is an encoded block adjacent to the upper right of the encoding target block.
  • the adjacent block D is an encoded block adjacent to the lower left of the encoding target block.
  • the adjacent block A is a block encoded by unidirectional prediction with the prediction direction 0.
  • the adjacent block A has a motion vector MvL0_A in the prediction direction 0 as a motion vector for the reference picture indicated by the reference picture index RefL0_A in the prediction direction 0.
  • MvL0 indicates a motion vector that refers to a reference picture specified by reference picture list 0 (L0).
  • MvL1 indicates a motion vector that refers to the reference picture specified by the reference picture list 1 (L1).
  • the adjacent block B is a block encoded by unidirectional prediction in the prediction direction 1.
  • the adjacent block B has a motion vector MvL1_B in the prediction direction 1 as a motion vector for the reference picture indicated by the reference picture index RefL1_B in the prediction direction 1.
  • the adjacent block C is a block encoded by intra prediction.
  • the adjacent block D is a block encoded by unidirectional prediction in the prediction direction 0.
  • the adjacent block D has a motion vector MvL0_D in the prediction direction 0 as a motion vector for the reference picture indicated by the reference picture index RefL0_D in the prediction direction 0.
  • the prediction direction of the adjacent blocks A to D, the set of motion vectors and reference picture indexes, and the prediction direction and motion vector in the temporal prediction motion vector mode obtained using the co-located block are used. Also, from the set of reference picture indexes, the one with the highest coding efficiency is selected as the set of the prediction direction, motion vector, and reference picture index of the current block.
  • a set of prediction directions, motion vectors, and reference picture indexes that are candidates for selection is called a merge candidate.
  • a merge index representing the selected merge candidate is added to the bitstream.
  • the encoding target block is encoded using the motion vector MvL0_A in the prediction direction 0 and the reference picture index RefL0_A. Then, only the merge index value 0 indicating that the adjacent block A merge candidate shown in FIG. 4 is used is added to the bitstream. Thereby, the information amount of a prediction direction, a motion vector, and a reference picture index can be reduced.
  • non-merge candidates merge candidates that cannot be used
  • prediction directions motion vectors
  • reference picture index sets merge candidates that coincide with other merge candidates
  • the merge candidates that cannot be used are, for example, (1) a merge candidate of a block encoded by intra prediction, (2) a merge candidate of a block existing outside a slice or picture boundary, or ( 3) A merge candidate for a block that has not been encoded yet.
  • a bit string is assigned to the merge index according to the size of the merge candidate list size, and variable length coding is performed.
  • the bit amount assigned to the merge index is changed according to the size of the merge candidate list size, thereby reducing the code amount.
  • FIG. 6 is a flowchart showing an example of the encoding process when the merge mode is used.
  • step S1001 a set of a prediction direction, a motion vector, and a reference picture index is acquired as a merge candidate from the adjacent block and the co-located block.
  • step S1002 duplicate candidates and non-mergeable candidates are deleted from the merge candidates.
  • step S1003 the number of merge candidates after the deletion process is set as the merge candidate list size.
  • a merge index used for encoding the current block is determined.
  • the determined merge index is variable-length encoded using the bit string determined by the merge candidate list size.
  • FIG. 7 is a flowchart showing an example of a decoding process when the merge mode is used.
  • step S2001 a set of a prediction direction, a motion vector, and a reference picture index is acquired as a merge candidate from the adjacent block and the co-located block.
  • step S2002 duplicate candidates and non-mergeable candidates are deleted from the merge candidates.
  • step S2003 the number of merge candidates after the deletion process is set to the merge candidate list size.
  • the merge index used for decoding the decoding target block is decoded from the bitstream using the merge candidate list size.
  • step S2005 a prediction image is generated using the merge candidate indicated by the decoded merge index, and a decoding process is performed.
  • FIG. 8 shows a syntax for adding a merge index to a bitstream.
  • merge_idx represents a merge index.
  • merge_flag represents a merge flag.
  • NumMergeCand represents the merge candidate list size. This NumMergeCand is set with the number of merge candidates after the non-mergeable candidates and duplicate candidates are deleted from the merge candidates.
  • the merge mode if the duplication candidate is deleted from the merge candidates, when the number of merge candidates does not match between the image encoding device and the image decoding device, the image code is added to the bit string assigned to the merge index. Mismatch between the encoding device and the image decoding device, and the merge index cannot be correctly decoded.
  • the merge candidate list size is a fixed size
  • the number of merge candidates may be smaller than the merge candidate list size when duplicate candidates are deleted. In such a case, the possibility that there is a merge candidate having a motion vector with high prediction accuracy is low. That is, the encoding efficiency may decrease.
  • an image encoding method is an image encoding method for generating a bitstream by encoding an image for each block, and a prediction direction used for encoding an encoding target block,
  • a first derivation step for performing a first derivation process for deriving a merge candidate that is a candidate for a set of motion vectors and a reference picture index as a first merge candidate; and a second merging of merge candidates by a method different from the first derivation process
  • a second derivation step for performing a second derivation process for derivation as a candidate a selection step for selecting a merge candidate used for encoding the encoding target block from the first merge candidate and the second merge candidate; Adding an index for identifying the selected merge candidate to the bitstream, and
  • the first derivation process is performed so that the total number of the first merge candidates does not exceed a predetermined number.
  • the total number of the first merge candidates is a predetermined number.
  • the total number of the first merge candidates is a pre-
  • the first derivation process can be performed so that the total number of first merge candidates does not exceed a predetermined number. Therefore, the total number of first merge candidates can be controlled, and the number of selectable merge candidates can be increased. As a result, encoding efficiency can be improved.
  • the image encoding method further includes a third derivation step of performing a third derivation process for deriving a merge candidate as a third merge candidate by a method different from the first derivation process and the second derivation process,
  • the second derivation process is performed when the total number of the first merge candidates and the third merge candidates is smaller than the predetermined maximum number of merge candidates, and in the selection step,
  • a merge candidate used for encoding the encoding target block may be selected from among the first merge candidate, the second merge candidate, and the third merge candidate.
  • the third derivation process can be further performed by a method different from the first derivation process and the second derivation process. Therefore, the types of merge candidates that can be selected can be further increased, and the encoding efficiency can be improved.
  • a plurality of third merge candidates are derived by the third derivation process, and in the first derivation step, a plurality of prediction directions and motion vectors respectively included in the plurality of third merge candidates.
  • a process of deriving a merge candidate for bi-directional prediction as the first merge candidate by combining a set of reference picture indexes may be performed as the first deriving process.
  • a merge candidate for bi-directional prediction it is possible to derive a first merge candidate for bi-directional prediction by combining a plurality of third merge candidates. Therefore, even if the merge candidates for bi-directional prediction are not included in the plurality of third merge candidates, a merge candidate for bi-directional prediction can be newly derived as the first merge candidate. it can. As a result, the types of merge candidates that can be selected can be increased, and the encoding efficiency can be improved.
  • the third merge candidate is generated using a set of a prediction direction, a motion vector, and a reference picture index used for coding a block spatially or temporally adjacent to the coding target block.
  • the process of deriving may be performed as the third derivation process.
  • the third merge candidate can be derived using the set of the prediction direction, the motion vector, and the reference picture index used for encoding the block spatially or temporally adjacent to the encoding target block. . Therefore, a merge candidate with high reliability can be derived as the third merge candidate, and encoding efficiency can be improved.
  • the second derivation process is performed until the total number of the first merge candidates, the second merge candidates, and the third merge candidates matches the predetermined maximum number of merge candidates. It may be repeated.
  • the second derivation process can be repeated until the total number of the second merge candidates and the third merge candidates matches the predetermined maximum number of merge candidates. Therefore, merge candidates can be derived up to the maximum number of merge candidates, and encoding efficiency can be improved.
  • a process of deriving a merge candidate having a zero vector as a motion vector as the second merge candidate may be performed as the second derivation process.
  • a merge candidate having a zero vector as a motion vector can be derived as a second merge candidate. Therefore, when the encoding target block is a static region, a merge candidate with high reliability can be derived, and encoding efficiency can be improved.
  • the predetermined number may depend on the total number of first merge candidates that can be derived by the first derivation process.
  • the first merge candidate can be derived using a predetermined number appropriate for increasing the number of merge candidates, and the encoding efficiency can be improved.
  • the image encoding method further includes a switching step of switching the encoding process to a first encoding process compliant with the first standard or a second encoding process compliant with the second standard, and the switched An identification information adding step of adding identification information indicating the first standard or the second standard to which the encoding process conforms to the bitstream, and the encoding process is switched to the first encoding process.
  • the first derivation step, the second derivation step, the selection step, and the addition step may be performed as the first encoding process.
  • An image decoding method is an image decoding method for decoding an encoded image included in a bitstream for each block, and includes a prediction direction, a motion vector, and a reference picture used for decoding a decoding target block.
  • a first derivation step for performing a first derivation process for deriving a merge candidate that is an index set candidate as a first merge candidate, and a merging candidate as a second merge candidate by a method different from the first derivation process.
  • a second derivation step for performing two derivation processes an acquisition step for acquiring an index from the bitstream; and using the acquired index, the decoding target from the first merge candidate and the second merge candidate Selecting a merge candidate used for decoding a block, and in the first derivation step
  • the first derivation process is performed so that the total number of the first merge candidates does not exceed a predetermined number.
  • the total number of the first merge candidates is greater than a predetermined maximum number of merge candidates. If it is smaller, the second derivation process is performed.
  • the first derivation process can be performed so that the total number of first merge candidates does not exceed a predetermined number. Therefore, the total number of first merge candidates can be controlled, and the number of selectable merge candidates can be increased. As a result, it is possible to appropriately decode a bitstream with improved encoding efficiency.
  • the image decoding method further includes a third derivation step of performing a third derivation process for deriving a merge candidate as a third merge candidate by a method different from the first derivation process and the second derivation process,
  • the second derivation process is performed when the total number of the first merge candidates and the third merge candidates is smaller than the predetermined maximum number of merge candidates, and in the selection step, A merge candidate used for decoding of the decoding target block may be selected from one merge candidate, the second merge candidate, and the third merge candidate.
  • the third merge candidate can be derived by a method different from the first derivation process and the second derivation process. Therefore, the types of merge candidates that can be selected can be further increased, and a bitstream with improved encoding efficiency can be appropriately decoded.
  • a plurality of third merge candidates are derived by the third derivation process, and in the first derivation step, a plurality of prediction directions and motion vectors respectively included in the plurality of third merge candidates.
  • a merge candidate for bi-directional prediction may be derived as the first merge candidate by combining the set of reference picture indexes.
  • a merge candidate for bi-directional prediction can be newly derived as the first merge candidate. It can. As a result, the number of selectable merge candidates can be increased, and a bitstream with improved encoding efficiency can be appropriately decoded.
  • the third merge candidate is derived using a set of a prediction direction, a motion vector, and a reference picture index used for decoding a block spatially or temporally adjacent to the decoding target block.
  • the process to be performed may be performed as the third derivation process.
  • the third merge candidate can be derived using the set of the prediction direction, the motion vector, and the reference picture index used for encoding the block spatially or temporally adjacent to the encoding target block. . Therefore, a merge candidate with high reliability can be derived as the third merge candidate, and a bitstream with improved coding efficiency can be appropriately decoded.
  • the second derivation process is performed until the total number of the first merge candidates, the second merge candidates, and the third merge candidates matches the predetermined maximum number of merge candidates. It may be repeated.
  • the second derivation process can be repeated until the total number of the second merge candidates and the third merge candidates matches the predetermined maximum number of merge candidates. Therefore, merge candidates can be derived up to the maximum number of merge candidates, and a bitstream with improved coding efficiency can be appropriately decoded.
  • a process of deriving a merge candidate having a zero vector as a motion vector as the second merge candidate may be performed as the second derivation process.
  • a merge candidate having a zero vector as a motion vector can be derived as a second merge candidate. Therefore, when the encoding target block is a static region, a merge candidate with high reliability can be derived, and a bitstream with improved encoding efficiency can be appropriately decoded.
  • the predetermined number may depend on the total number of first merge candidates that can be derived by the first derivation process.
  • the first merge candidate by using, as the predetermined number, the number depending on the total number of first merge candidates that can be derived by the first derivation process. Therefore, it is possible to derive the first merge candidate using an appropriate predetermined number in order to increase the number of merge candidates, and it is possible to appropriately decode a bitstream with improved encoding efficiency.
  • the image decoding method further includes a first decoding process compliant with the first standard, or a second standard according to identification information indicating the first standard or the second standard added to the bitstream.
  • the compliant second decoding process includes a switching step for switching the decoding process.
  • the first derivation step and the second derivation are performed as the first decoding process.
  • a step, the acquisition step, and the selection step may be performed.
  • FIG. 9 is a block diagram showing a configuration of the image coding apparatus 100 according to Embodiment 1.
  • the image encoding device 100 generates a bitstream by encoding an image for each block.
  • the image encoding device 100 includes a merge candidate derivation unit 110, a prediction control unit 120, and an encoding unit 130.
  • the merge candidate derivation unit 110 derives merge candidates. Then, merge candidate derivation unit 110 generates a merge candidate list by associating each derived merge candidate with an index (hereinafter referred to as “merge index”) for specifying the merge candidate. Specifically, the merge candidate derivation unit 110 includes a third derivation unit 111, a first derivation unit 112, and a second derivation unit 113, as shown in FIG.
  • the third derivation unit 111 performs a third derivation process for deriving merge candidates by the third derivation method.
  • the merge candidate derived by the third derivation process is referred to as a third merge candidate.
  • the third deriving unit 111 registers the third merge candidate in the merge candidate list in association with the merge index.
  • the third derivation unit 111 uses, for example, a prediction direction, a motion vector, and a reference picture index set used for coding a block spatially or temporally adjacent to the coding target block.
  • the process of deriving 3 merge candidates is performed as a third derivation process.
  • the third merge candidates derived from spatially and temporally adjacent blocks in this way are referred to as spatial merge candidates and temporal merge candidates, respectively.
  • a spatially adjacent block is a block in a picture that includes an encoding target block, and is a block adjacent to the encoding target block.
  • spatially adjacent blocks are, for example, adjacent blocks A to D shown in FIG.
  • the spatially adjacent blocks are not limited to the adjacent blocks A to D shown in FIG.
  • the spatially adjacent block may be a block adjacent to any of the adjacent blocks A to D.
  • a temporally adjacent block is a block that is included in a picture different from the picture that includes the encoding target block, and that corresponds to the encoding target block.
  • the temporally adjacent blocks are, for example, co-located blocks.
  • temporally adjacent blocks do not necessarily have to be the same position as the coding target block (co-located block).
  • the temporally adjacent block may be a block adjacent to the co-located block.
  • the third derivation unit 111 may perform a process of deriving merge candidates by another derivation method as the third derivation process. That is, the third derivation unit 111 may not perform the process of deriving the spatial merge candidate or the temporal merge candidate as the third derivation process.
  • the first derivation unit 112 performs a first derivation process for deriving merge candidates using a first derivation method different from the third derivation method.
  • the merge candidate derived by the first derivation process is referred to as a first merge candidate.
  • the first derivation unit 112 performs the first derivation process so that the total number of first merge candidates does not exceed a predetermined number. Then, the first derivation unit 112 registers the first merge candidate in the merge candidate list in association with the merge index.
  • the predetermined number is the upper limit number of first merge candidates.
  • the predetermined number may be a fixed number or a variable number.
  • the predetermined number may be determined depending on the total number of merge candidates that can be derived by the first derivation process.
  • the first derivation unit 112 may determine the predetermined value depending on, for example, the total number of third merge candidates or the total number of referable pictures. In this way, by making the predetermined number depend on the total number of merge candidates derivable by the first derivation process, it is possible to derive the first merge candidate using an appropriate predetermined number in order to increase the number of merge candidates. Thus, the encoding efficiency can be improved.
  • the first derivation unit 112 combines, for example, a set of a plurality of prediction directions, motion vectors, and reference picture indexes included in each of the plurality of third merge candidates, into the first merge candidate for bi-directional prediction.
  • the process derived as a candidate is performed as the first derivation process.
  • a merge candidate derived in this way is called a combined merge candidate. The details of the combined merge candidate derivation process will be described in detail in the sixth embodiment.
  • the first derivation unit 112 may perform the process of deriving the merge candidate by another derivation method as the first derivation process. That is, the first derivation unit 112 may perform a process different from the process of deriving a combined merge candidate as the first derivation process.
  • the second derivation unit 113 determines a second derivation method different from the first derivation method and the third derivation method when the total number of the first merge candidates and the third merge candidates is smaller than a predetermined maximum number of merge candidates.
  • a second derivation process for deriving merge candidates is performed.
  • the merge candidate derived by the second derivation process is referred to as a second merge candidate.
  • the second derivation unit 113 registers the second merge candidate in the merge candidate list in association with the merge index.
  • the second derivation unit 113 performs, for example, a process of deriving a merge candidate having a zero vector as a motion vector as the second derivation process.
  • the merge candidate derived in this way is called a zero merge candidate. Details of the derivation process of the zero merge candidate will be described in detail in the fifth embodiment.
  • the second derivation unit 113 may perform the process of deriving merge candidates by another derivation method as the second derivation process. That is, the second derivation unit 113 may not perform the process of deriving the zero merge candidate as the first derivation process.
  • the maximum number of merge candidates determined in advance is, for example, the number determined in advance in a standardized standard.
  • the predetermined maximum number of merge candidates may be determined according to, for example, the characteristics of the encoding target picture. In this case, the determined maximum number may be added to the bitstream.
  • the prediction control unit 120 selects a merge candidate used for encoding the block to be encoded from the first to third merge candidates. That is, the prediction control unit 120 selects a merge candidate used for generating a predicted image of the encoding target block from the merge candidate list.
  • the encoding unit 130 adds an index (merge index) for specifying the selected merge candidate to the bitstream. For example, the encoding unit 130 encodes an index using the total number of first to third merge candidates (number of merge candidates), and adds the encoded index to the bitstream. Then, the encoding unit 130 adds the encoded index to the bitstream.
  • the encoding unit 130 may encode the index using a predetermined maximum number of merge candidates instead of the total number of first to third merge candidates. Specifically, for example, as illustrated in FIG. 5, the encoding unit 130 determines a bit string assigned to the index value by using a predetermined maximum number of merge candidates, and changes the determined bit string. Long encoding may be used. Accordingly, the encoding unit 130 can encode the index without depending on the total number of merge candidates that are actually derived. Therefore, even when information necessary for derivation of merge candidates (for example, information such as a co-located block) is lost, the decoding side can decode the index and improve error resistance. On the decoding side, the index can be decoded without depending on the total number of merge candidates actually derived. That is, the decoding side can perform index decoding processing without waiting for merge candidate derivation processing. In other words, it is possible to generate a bitstream that can perform merge candidate derivation processing and index decoding processing in parallel.
  • FIG. 10A is a flowchart showing the processing operation of the image coding apparatus 100 according to Embodiment 1.
  • the merge candidate derivation unit 110 derives merge candidates (S110).
  • the merge candidate derivation unit 110 registers the derived merge candidates in the merge candidate list.
  • the prediction control unit 120 selects a merge candidate to be used for encoding the encoding target block from the first to third merge candidates (S120). For example, the prediction control unit 120 selects a merge candidate that minimizes the cost indicating the code amount of the encoding target block from the derived merge candidates.
  • the encoding unit 130 adds an index for specifying the selected merge candidate to the bitstream (S130). Also, the encoding unit 130 generates an inter prediction image of the encoding target block by performing inter prediction using the selected merge candidate. Input image data is encoded using the inter prediction image generated in this way.
  • step S110 in FIG. 10A will be described with reference to FIG. 10B and FIG.
  • FIG. 10B is a flowchart showing merge candidate derivation processing according to Embodiment 1.
  • FIG. 11 is a diagram showing an example of a merge candidate list generated by the image coding apparatus 100 according to Embodiment 1. In FIG. 11, the predetermined maximum number of merge candidates is “5”, and the predetermined number is “2”.
  • the third derivation unit 111 performs a third derivation process (S111).
  • the third merge candidate is not necessarily derived in step S111.
  • the third derivation unit 111 performs the third derivation process by the current third derivation process.
  • the two merge candidates overlap means that the prediction direction, motion vector, and reference picture index set included in the two merge candidates all match.
  • the block spatially or temporally adjacent to the encoding target block is encoded by (1) intra prediction.
  • the third derivation unit 111 does not derive a third merge candidate from the block that is a block that has been processed, (2) a block that exists outside a slice or picture boundary, or (3) a block that has not yet been encoded.
  • the third derivation unit 111 determines whether or not to end the third derivation process (S112). For example, the third derivation unit 111 determines whether or not to end the third derivation process by determining whether or not the third derivation process is ended from all predetermined adjacent blocks.
  • the third derivation unit 111 performs the third derivation process again (S111).
  • two third merge candidates are derived from the adjacent blocks A to D and the co-located block. These third merge candidates are assigned merge indexes having values “0” and “1”, respectively.
  • the first derivation unit 112 performs the first derivation process (S113). Subsequently, the first derivation unit 112 determines whether or not the total number of first merge candidates derived by the first derivation process is less than a predetermined number (S114).
  • the first derivation unit 112 performs the first derivation process again (S113). That is, the first derivation unit 112 performs the first derivation process so that the total number of first merge candidates does not exceed a predetermined number.
  • two first merge candidates are derived by combining two third merge candidates.
  • Each of these first merge candidates is assigned a merge index having a larger value (“2” and “3”) than the third merge candidate.
  • the second derivation unit 113 performs a second derivation process (S115). Subsequently, the second derivation unit 113 determines whether or not the total number of first to third merge candidates is less than a predetermined maximum number of merge candidates (S116).
  • the second derivation unit 113 performs the second derivation process again (S115). That is, the second derivation unit 113 repeats the second derivation process until the total number of first to third merge candidates matches the predetermined maximum number of merge candidates.
  • the total number of the first merge candidates and the third merge candidates is “4”, and the predetermined maximum number of merge candidates is “5”, so one second merge candidate (zero merge candidate). Has been derived.
  • a merge index having a larger value (“4”) than the third merge candidate and the first merge candidate is assigned to the second merge candidate.
  • the first derivation process can be performed so that the total number of first merge candidates does not exceed a predetermined number. Therefore, the image coding apparatus 100 can control the total number of first merge candidates, and can increase the number of selectable merge candidates. As a result, the image encoding device 100 can improve encoding efficiency.
  • the second derivation unit 113 can repeat the second derivation process until the total number of the second merge candidates and the third merge candidates matches the predetermined maximum number of merge candidates. Therefore, the second derivation unit 113 can derive merge candidates up to the maximum number of merge candidates, and can improve encoding efficiency.
  • the space / time merge candidate is derived as the third merge candidate
  • the combined merge candidate is derived as the first merge candidate
  • the zero merge candidate is derived as the second merge candidate
  • the trust The merge candidates are derived in order from the merge candidates having the highest reliability, and the possibility that the merge candidates having high reliability will be derived increases.
  • the merge candidate derivation unit 110 performs merge in the order of the spatial / temporal merge candidate (third merge candidate), the combined merge candidate (first merge candidate), and the zero merge candidate (second merge candidate).
  • a merge index may be assigned to a merge candidate so that the index value becomes large.
  • the merge candidate derivation unit 110 can assign an index having a smaller value to a merge candidate that is highly likely to be selected, and can suppress the amount of code for the index.
  • first to third merge candidates are not limited to combined merge candidates, zero merge candidates, and space / time merge candidates. Further, the index values assigned to the first to third merge candidates are not limited to the index values shown in FIG.
  • the image coding apparatus 100 derives the third merge candidate, but the third merge candidate may not be derived. That is, the merge candidate derivation unit 110 may not include the third derivation unit 111 illustrated in FIG. In this case, the image encoding device 100 does not have to perform the processes of step S111 and step S112 illustrated in FIG. 10B. Further, in steps S113 to S116, the process may be performed without using the third merge candidate. For example, in step S115, the second derivation unit 113 may determine whether the total number of first merge candidates is less than a predetermined maximum number of merge candidates.
  • the image encoding device 100 may further derive the fourth merge candidate. For example, if the second merge candidate cannot be derived until the total number of first to third merge candidates matches the maximum number of merge candidates, the merge candidate deriving unit 110 derives the scaling merge candidate as the fourth merge candidate. May be.
  • the scaling merge candidates will be described in detail in the seventh embodiment.
  • the second derivation unit 113 repeats the second derivation process until the total number of first to third merge candidates matches the predetermined maximum number of merge candidates.
  • the total number of third merge candidates does not necessarily match the predetermined maximum number of merge candidates. For example, if the predetermined maximum number of merge candidates and the total number and difference of the first merge candidate and the third merge candidate are larger than the total number of second merge candidates derivable by the second derivation process, the first The total number of third merge candidates does not match the predetermined maximum number of merge candidates.
  • FIG. 12 is a block diagram showing a configuration of the image decoding apparatus 200 according to the second embodiment.
  • This image decoding apparatus 200 is an apparatus corresponding to the image encoding apparatus 100 according to Embodiment 1. Specifically, for example, the image decoding apparatus 200 decodes, for each block, an encoded image included in the bitstream generated by the image encoding apparatus 100 according to Embodiment 1.
  • the image decoding device 200 includes a merge candidate derivation unit 210, a decoding unit 220, and a prediction control unit 230.
  • the merge candidate derivation unit 210 derives merge candidates in the same manner as the merge candidate derivation unit 110 in the first embodiment. Then, the merge candidate derivation unit 210 associates a merge index with each derived merge candidate and generates a merge candidate list. Specifically, the merge candidate derivation unit 210 includes a third derivation unit 211, a first derivation unit 212, and a second derivation unit 213, as shown in FIG.
  • the third derivation unit 211 performs the same processing as the third derivation unit 111 in the first embodiment. That is, the third derivation unit 211 performs a third derivation process for deriving a third merge candidate by the third derivation method. Then, the third deriving unit 111 registers the third merge candidate in the merge candidate list in association with the merge index.
  • the third derivation unit 211 performs, for example, a third merge using a set of prediction direction, motion vector, and reference picture index used for decoding a block spatially or temporally adjacent to the decoding target block.
  • a process for deriving candidates is performed as a third derivation process.
  • the first derivation unit 212 performs the same processing as the first derivation unit 112 in the first embodiment. That is, the first derivation unit 212 performs the first derivation process for deriving the first merge candidate by the first derivation method. At this time, the first derivation unit 212 performs the first derivation process so that the total number of first merge candidates does not exceed a predetermined number. Then, the first derivation unit 212 registers the first merge candidate in the merge candidate list in association with the merge index.
  • the first derivation unit 212 for example, combines a plurality of prediction directions, motion vectors, and reference picture index sets included in the plurality of third merge candidates to generate a merge candidate for bi-directional prediction as the first merge candidate. As the first derivation process.
  • the bi-directional prediction means prediction that refers to both the first reference picture list and the second reference picture list. Note that bi-directional prediction does not necessarily have to be made with reference to temporally forward and backward reference pictures. That is, bi-directional prediction may be prediction that refers to two reference pictures in the same direction (forward or backward).
  • the second derivation unit 213 performs the same processing as the second derivation unit 113 in the first embodiment. That is, the second derivation unit 213 derives the second merge candidate by the second derivation method when the total number of the first merge candidates and the third merge candidates is smaller than the predetermined maximum number of merge candidates. Perform derivation processing. Then, the second derivation unit 213 registers the second merge candidate in the merge candidate list in association with the merge index.
  • the second deriving unit 213 performs, for example, a process of deriving a merge candidate (zero merge candidate) having a zero vector as a motion vector as the second deriving process.
  • the second derivation unit 213 may perform the second derivation process by sequentially using indexes of a plurality of referable pictures as reference picture indexes included in the zero merge candidates.
  • the decoding unit 220 acquires an index (merge index) for specifying merge candidates from the bitstream. For example, the decoding unit 220 decodes the encoded merge index added to the bitstream using the total number of first to third merge candidates or a predetermined maximum number of merge candidates, thereby obtaining a merge index. To get.
  • the prediction control unit 230 uses the index acquired by the decoding unit 220 to select a merge candidate used for decoding the decoding target block from the first to third merge candidates. That is, the prediction control unit 230 selects a merge candidate used for generating a prediction image of the decoding target block from the merge candidate list.
  • FIG. 13A is a flowchart showing the processing operation of the image decoding apparatus 200 according to Embodiment 2.
  • the merge candidate derivation unit 210 derives merge candidates as in step S110 of FIG. 10A (S210).
  • the decoding unit 220 acquires a merge index from the bitstream (S220). For example, the decoding unit 220 acquires the merge index by decoding the encoded merge index using the total number of first to third merge candidates (number of merge candidates).
  • the decoding unit 220 may acquire the merge index by decoding the encoded merge index using, for example, a predetermined maximum number of merge candidates.
  • the decoding unit 220 may perform a merge index acquisition process (S220) before the merge candidate derivation process (S210).
  • the decoding unit 220 may perform a merge index acquisition process (S220) in parallel with the merge candidate derivation process (S210).
  • the prediction control unit 230 selects a merge candidate used for decoding the decoding target block from the first to third merge candidates (S230).
  • step S210 in FIG. 13A details of step S210 in FIG. 13A will be described with reference to FIG. 13B.
  • FIG. 13B is a flowchart showing merge candidate derivation processing according to Embodiment 2.
  • the third derivation unit 211 performs a third derivation process as in step S111 of FIG. 10B (S211). Subsequently, the third derivation unit 211 determines whether or not to end the third derivation process (S212). Here, when it is determined not to end the third derivation process (No in S212), the third derivation unit 211 performs the third derivation process again (S211).
  • the first derivation unit 212 performs the first derivation process in the same manner as Step S113 in FIG. 10B (S213). Subsequently, the first derivation unit 212 determines whether or not the total number of first merge candidates is less than a predetermined number (S214).
  • the second derivation unit 213 performs the second derivation process similarly to Step S115 in FIG. 10B (S215). Subsequently, the second derivation unit 213 determines whether the total number of first to third merge candidates is less than a predetermined maximum number of merge candidates (S216).
  • the second derivation unit 213 performs the second derivation process again (S215). That is, the second derivation unit 213 repeats the second derivation process until the total number of first to third merge candidates matches the predetermined maximum number of merge candidates.
  • the first derivation process can be performed so that the total number of first merge candidates does not exceed a predetermined number. Therefore, the image decoding apparatus 200 can control the total number of first merge candidates, and can increase the types of merge candidates that can be selected. As a result, the image decoding apparatus 200 can appropriately decode a bitstream with improved encoding efficiency.
  • the second derivation unit 213 can repeat the second derivation process until the total number of the first to third merge candidates matches the predetermined maximum number of merge candidates. Therefore, the second derivation unit 213 can derive merge candidates up to the maximum number of merge candidates. As a result, the image decoding apparatus 200 can appropriately decode a bitstream with improved encoding efficiency.
  • the image decoding apparatus 200 derives the third merge candidate, but the third merge candidate may not be derived. That is, the merge candidate derivation unit 210 may not include the third derivation unit 211 illustrated in FIG. In this case, the image decoding apparatus 200 does not have to perform the processes of step S211 and step S212 illustrated in FIG. 13B. Further, in steps S213 to S216, the process may be performed without using the third merge candidate. For example, in step S215, the second derivation unit 213 may determine whether the total number of first merge candidates is less than a predetermined maximum number of merge candidates.
  • FIG. 14 is a block diagram showing a configuration of an image coding apparatus 300 according to Embodiment 3.
  • the image encoding device 300 generates a bitstream by encoding an image for each block.
  • the image encoding device 300 includes a subtraction unit 301, an orthogonal transformation unit 302, a quantization unit 303, an inverse quantization unit 304, an inverse orthogonal transformation unit 305, an addition unit 306, Block memory 307, frame memory 308, intra prediction unit 309, inter prediction unit 310, inter prediction control unit 311, picture type determination unit 312, switch 313, merge candidate derivation unit 314, and colPic memory 315 And a variable length coding unit 316.
  • the subtraction unit 301 generates prediction error data by subtracting predicted image data from input image data included in the input image sequence for each block.
  • the orthogonal transform unit 302 performs transformation from the image domain to the frequency domain on the generated prediction error data.
  • the quantization unit 303 performs a quantization process on the prediction error data converted into the frequency domain.
  • the inverse quantization unit 304 performs an inverse quantization process on the prediction error data quantized by the quantization unit 303.
  • the inverse orthogonal transform unit 305 transforms the prediction error data subjected to the inverse quantization process from the frequency domain to the image domain.
  • the addition unit 306 generates reconstructed image data by adding the predicted image data and the prediction error data subjected to the inverse quantization processing by the inverse orthogonal transform unit 305 for each block.
  • reconstructed image data is stored in units of blocks.
  • reconstructed image data is stored in units of frames.
  • the picture type determination unit 312 determines which of the I picture, B picture, and P picture is used to encode the input image data. Then, the picture type determination unit 312 generates picture type information indicating the determined picture type.
  • the intra prediction unit 309 generates intra prediction image data of a block to be encoded by performing intra prediction using the reconstructed image data in units of blocks stored in the block memory 307.
  • the inter prediction unit 310 performs inter prediction using the reconstructed image data in units of frames stored in the frame memory 308 and the motion vector derived by motion detection or the like, so that the inter prediction image of the encoding target block Generate data. For example, when the merge mode is selected as the prediction mode, the inter prediction unit 310 generates predicted image data of the encoding target block by performing inter prediction using the merge candidate.
  • the switch 313 outputs the intra prediction image data generated by the intra prediction unit 309 to the subtraction unit 301 and the addition unit 306 as prediction image data of the encoding target block when the encoding target block is intra prediction encoded. To do. On the other hand, when the block to be encoded is subjected to inter prediction encoding, the switch 313 uses the inter prediction image data generated by the inter prediction unit 310 as the prediction image data of the block to be encoded, and the subtraction unit 301 and the addition unit 306. Output to.
  • the merge candidate derivation unit 314 derives merge candidates in the same manner as the merge candidate derivation unit 110 in the first embodiment. That is, the merge candidate derivation unit 314 performs a process (first derivation process and second derivation process) for deriving merge candidates using at least two different derivation methods (first derivation method and second derivation method). Do. For example, the merge candidate derivation unit 314 derives a merge candidate using colPic information indicating the adjacent block of the encoding target block, the motion vector of the co-located block stored in the colPic memory 315, and the like.
  • the merge candidate derivation unit 314 sets a limit on the total number of first merge candidates derived by the first derivation method, and does not limit the total number of second merge candidates derived by the second derivation method. That is, the merge candidate derivation unit 314 derives the first merge candidate so that the total number of first merge candidates does not exceed a predetermined number. On the other hand, when the first merge candidate is smaller than the merge candidate list size, the merge candidate derivation unit 314 outputs the second merge candidate until the total number of the first merge candidates and the second merge candidates becomes equal to the merge candidate list size. Is derived.
  • the merge candidate derivation unit 314 can derive merge candidates having different variations. Further, the merge candidate derivation unit 314 derives merge candidates until the number becomes the same as the merge candidate list size. Therefore, there is a high possibility that merge candidates having highly accurate motion vectors exist in the merge candidate list. That is, the merge candidate derivation unit 314 can improve the encoding efficiency.
  • the merge candidate derivation unit 314 assigns a merge index to each derived merge candidate. Then, the merge candidate derivation unit 314 sends the merge candidate and the merge index to the inter prediction control unit 311. Further, the merge candidate derivation unit 314 transmits the derived total number of merge candidates (number of merge candidates) to the variable length coding unit 316.
  • the inter prediction control unit 311 selects a prediction mode in which the smallest prediction error is obtained between a prediction mode (motion detection mode) using a motion vector derived by motion detection and a prediction mode (merge mode) using a merge candidate. select. Further, the inter prediction control unit 311 transmits a merge flag indicating whether the prediction mode is the merge mode to the variable length coding unit 316. In addition, when the merge mode is selected as the prediction mode, the inter prediction control unit 311 transmits a merge index corresponding to the selected merge candidate to the variable length coding unit 316. Further, the inter prediction control unit 311 transfers colPic information including the motion vector of the encoding target block to the colPic memory 315.
  • the variable length encoding unit 316 generates a bitstream by performing variable length encoding processing on the quantized prediction error data, the merge flag, and the picture type information. Further, the variable length coding unit 316 sets the number of merge candidates to the merge candidate list size. Then, the variable length coding unit 316 assigns a bit string corresponding to the merge candidate list size to the merge index used for coding, and performs variable length coding on the assigned bit string.
  • FIG. 15 is a flowchart showing the processing operation of the image coding apparatus 300 according to the third embodiment.
  • step S310 merge candidate derivation unit 314 derives merge candidates as in the first embodiment.
  • step S320 the inter prediction control unit 311 calculates the prediction error of the prediction image generated using the motion vector derived by the motion detection and the prediction error of the prediction image generated using the merge candidate by a method described later. Compare and select the prediction mode. Here, if the selected prediction mode is the merge mode, the inter prediction control unit 311 sets “1” to the merge flag, and otherwise sets “0” to the merge flag.
  • step S330 it is determined whether or not the value of the merge flag is “1” (that is, whether or not the prediction mode is the merge mode).
  • step S340 the variable length coding unit 316 adds a merge flag to the bitstream. Further, in step S350, the variable length coding unit 316 assigns a bit string corresponding to the merge candidate list size as shown in FIG. 5 to the merge index of the merge candidate used for coding. Then, the variable length coding unit 316 performs variable length coding on the allocated bit string.
  • step S360 the variable length coding unit 316 adds the merge flag and motion detection vector mode information to the bitstream.
  • step S350 the variable length encoding unit 316 adds the merge index to the bitstream.
  • the merge candidate list size is “1”
  • the merge index may not be added to the bitstream. Thereby, the information amount of the merge index can be reduced.
  • FIG. 16 is a flowchart showing detailed processing of step S320 in FIG. Specifically, FIG. 16 shows processing related to selection of merge candidates. Hereinafter, FIG. 16 will be described.
  • step S321 the inter prediction control unit 311 initializes the process. Specifically, the inter prediction control unit 311 sets “0” as the merge candidate index, sets the prediction error (cost) of the motion vector detection mode as the minimum prediction error, and sets “0” as the merge flag. To do.
  • the cost is calculated by, for example, the following equation of the RD optimization model.
  • D represents coding distortion.
  • D Used the sum of absolute differences between a pixel value obtained by encoding and decoding a block to be encoded using a predicted image generated with a certain motion vector and the original pixel value of the block to be encoded is D Used.
  • R represents a generated code amount. The code amount necessary for encoding the motion vector used for generating the predicted image is used as R.
  • is a Lagrange's undetermined multiplier.
  • step S322 the inter prediction control unit 311 determines whether the value of the merge candidate index is smaller than the number of merge candidates of the encoding target block. That is, the inter prediction control unit 311 determines whether there is a merge candidate that has not been subjected to the processing of the following steps S323 to S325.
  • step S323 the inter prediction control unit 311 calculates the cost of the merge candidate to which the merge candidate index is allocated.
  • step S324 the inter prediction control unit 311 determines whether the calculated cost of the merge candidate is smaller than the minimum prediction error.
  • step S325 the inter prediction control unit 311 updates the values of the minimum prediction error, the merge index, and the merge flag.
  • the determination result in step S324 is false (No in S324), the inter prediction control unit 311 does not update the values of the minimum prediction error, the merge index, and the merge flag.
  • step S326 the inter prediction control unit 311 adds 1 to the value of the merge candidate index, and repeats steps S322 to S326.
  • step S322 determines whether there are no unprocessed merge candidates. If the determination result in step S322 is false (No in S322), that is, if there are no unprocessed merge candidates, in step S327, the inter prediction control unit 311 finally sets the merge flag and merge. Determine the index value.
  • the merge flag is always added to the bitstream in the merge mode, but this is not necessarily the case.
  • the merge flag need not be added to the bitstream. Thereby, the amount of information can be reduced, and the encoding efficiency can be improved.
  • the merge mode encoding is performed in which the encoding target block is encoded using the merge candidate obtained by copying the prediction direction, the motion vector, and the reference picture index from the adjacent block of the encoding target block.
  • encoding target block encoding may be performed in the skip merge mode.
  • the skip merge mode the encoding target block is encoded using the merge candidates as in the merge mode.
  • the skip flag is set to “1”
  • the skip flag and the merge index are added to the bitstream. If the prediction error data is not “0”, “0” is set in the skip flag, and the skip flag, merge flag, merge index, and prediction error data are added to the bitstream.
  • motion vectors in the motion vector detection mode may be encoded using merge candidates. That is, the difference may be calculated by subtracting the motion vector of the merge candidate specified by the merge index from the motion vector in the motion vector detection mode, and the difference and the merge index may be added to the bitstream.
  • the motion vector detection mode reference picture index RefIdx_ME and the merge candidate reference picture index RefIdx_Merge are used to scale the motion vector MV_Merge of the merge candidate as shown in Equation 2, and after scaling from the motion vector of the motion vector detection mode The difference may be calculated by subtracting the motion vector scaledMV_Merge of the merge candidates. Then, the calculated difference and merge index may be added to the bitstream.
  • POC represents the display order of the reference picture indicated by the reference picture index RefIdx_ME.
  • POC (RefIdx_Merge) represents the display order of the reference picture indicated by the reference picture index RefIdx_Merge.
  • curPOC represents the display order of the encoding target picture.
  • FIG. 17 is a block diagram showing a configuration of the image decoding apparatus 400 according to the fourth embodiment.
  • This image decoding apparatus 400 is an apparatus corresponding to the image encoding apparatus 300 according to Embodiment 3. Specifically, the image decoding apparatus 400 decodes, for example, an encoded image included in the bitstream generated by the image encoding apparatus 300 according to Embodiment 3 for each block.
  • the image decoding apparatus 400 includes a variable length decoding unit 401, an inverse quantization unit 402, an inverse orthogonal transform unit 403, an addition unit 404, a block memory 405, a frame memory 406, an intra A prediction unit 407, an inter prediction unit 408, an inter prediction control unit 409, a switch 410, a merge candidate derivation unit 411, and a colPic memory 412 are provided.
  • variable length decoding unit 401 performs variable length decoding processing on the input bitstream to generate picture type information, a merge flag, and a quantization coefficient. Also, the variable length decoding unit 401 performs merge index variable length decoding processing using the merge candidate list size.
  • the inverse quantization unit 402 performs an inverse quantization process on the quantization coefficient obtained by the variable length decoding process.
  • the inverse orthogonal transform unit 403 generates prediction error data by transforming the orthogonal transform coefficient obtained by the inverse quantization process from the frequency domain to the image domain.
  • decoded image data generated by adding the prediction error and the prediction image data is stored in units of blocks.
  • the decoded image data is stored in units of frames.
  • the intra prediction unit 407 generates predicted image data of the decoding target block by performing intra prediction using the decoded image data in units of blocks stored in the block memory 405.
  • the inter prediction unit 408 generates the predicted image data of the decoding target block by performing inter prediction using the decoded image data in units of frames stored in the frame memory 406. For example, when the merge flag is set to 1, the inter prediction unit 408 generates predicted image data of the decoding target block by performing inter prediction using merge candidates.
  • the switch 410 outputs the intra prediction image data generated by the intra prediction unit 407 or the inter prediction image data generated by the inter prediction unit 408 to the adding unit 404 as prediction image data of the decoding target block.
  • merge candidate derivation unit 411 uses each of at least two different derivation methods (first derivation method and second derivation method) to derive merge candidates (first derivation process and (Second derivation process) is performed.
  • the merge candidate derivation unit 411 derives merge candidates using colPic information indicating the adjacent block of the decoding target block and the motion vector of the co-located block stored in the colPic memory 412.
  • the merge candidate derivation unit 411 sets a limit on the total number of first merge candidates derived by the first derivation method, and does not set a limit on the total number of second merge candidates derived by the second derivation method. That is, the merge candidate derivation unit 411 derives first merge candidates so that the total number of first merge candidates does not exceed a predetermined number. On the other hand, when the first merge candidate is less than the merge candidate list size, the merge candidate derivation unit 411 performs the second merge candidate until the total number of the first merge candidates and the second merge candidates becomes equal to the merge candidate list size. Is derived.
  • the merge candidate deriving unit 411 can derive merge candidates having different variations. . Further, the merge candidate derivation unit 411 derives merge candidates until the number becomes the same as the merge candidate list size. Therefore, there is a high possibility that merge candidates having highly accurate motion vectors exist in the merge candidate list.
  • the merge candidate derivation unit 411 assigns a merge index value to each derived merge candidate. Then, the merge candidate derivation unit 411 sends the merge candidate and the merge index to the inter prediction control unit 409. Further, the merge candidate derivation unit 411 transmits the derived total number of merge candidates (number of merge candidates) to the variable length decoding unit 401.
  • the inter prediction control unit 409 causes the inter prediction unit 408 to generate an inter prediction image using the information of the motion vector detection mode.
  • the inter prediction control unit 409 selects a merge candidate to be used for inter prediction from a plurality of derived merge candidates based on the decoded merge index. Then, the inter prediction control unit 409 causes the inter prediction unit 408 to generate an inter prediction image using the selected merge candidate. Also, the inter prediction control unit 409 transfers colPic information including the motion vector of the decoding target block to the colPic memory 412.
  • the addition unit 404 generates decoded image data by adding the predicted image data and the prediction error data.
  • FIG. 18 is a flowchart showing the processing operation of the image decoding apparatus 400 according to the fourth embodiment.
  • step S410 the variable length decoding unit 401 decodes the merge flag.
  • step S420 If the value of the merge flag is “1” in step S420 (Yes in S420), merge candidates are derived in the same manner as in step S310 in FIG. 15 in step S430.
  • step S440 the variable length decoding unit 401 performs variable length decoding of the merge index in the bitstream using the merge candidate list size.
  • step S450 the inter prediction control unit 409 generates an inter prediction image using the prediction direction, the motion vector, and the reference picture index included in the merge candidate indicated by the decoded merge index.
  • step S460 the inter prediction unit 408 uses the motion vector detection mode information decoded by the variable length decoding unit 401 to perform inter prediction. Generate an image.
  • the merge index may be estimated as “0” without being decoded.
  • FIG. 19 is a flowchart showing the zero merge candidate derivation process in the fifth embodiment. Specifically, FIG. 19 shows a part of the processing operation of the merge candidate derivation unit 110, 210, 314, or 411 in the first to fourth embodiments. That is, FIG. 19 shows the processing operation of the first derivation unit or the second derivation unit.
  • step S501 the merge candidate derivation unit updates the value of the reference picture index refIdxL0 in the prediction direction 0 and the value of the reference picture index refIdxL1 in the prediction direction 1 used when deriving the zero merge candidate.
  • the reference picture indexes refIdxL0 and refIdxL1 “ ⁇ 1” is set as an initial value.
  • the values of the reference picture indexes refIdxL0 and refIdxL1 are incremented by +1.
  • a zero merge candidate having a motion vector (zero vector) with a value of 0 and a reference picture index with a value of 0 is included in the merge candidate list as a zero merge candidate for a still region. Added. Then, in the second merge candidate derivation process, a zero merge candidate having a motion vector of value 0 and a reference picture index of value 1 is added to the merge candidate list.
  • step S502 the merge candidate derivation unit has the updated value of the reference picture index refIdxL0 in the prediction direction 0 smaller than the maximum reference number of the reference picture list 0 in the prediction direction 0 and the updated reference picture index in the prediction direction 1 It is determined whether or not the value of refIdxL1 is smaller than the maximum reference number in the reference picture list 1 in the prediction direction 1.
  • step S503 the merge candidate derivation unit sets the motion vector (0, 0) and the reference picture index refIdxL0 in the zero merge candidate prediction direction 0. assign. Further, in step S504, the merge candidate derivation unit assigns the motion vector (0, 0) and the reference picture index refIdxL1 to the prediction direction 1 of the zero merge candidate.
  • the merge candidate deriving unit can derive a zero-merge candidate for bi-directional prediction through the processing of step S503 and step S504.
  • FIG. 20 shows an example of the derived zero merge candidate.
  • step S505 the merge candidate derivation unit determines whether a merge candidate having the same prediction direction, motion vector, and reference picture index as the derived zero merge candidate already exists in the merge candidate list. That is, the merge candidate derivation unit determines whether or not the derived zero merge candidate is a duplication candidate.
  • step S506 the merge candidate derivation unit registers the zero merge candidate in the merge candidate list.
  • step S502 determines whether the zero merge candidate is registered in the merge list. If the determination result in step S502 is false (No in S502) or the determination result in step S505 is true (Yes in S505), the zero merge candidate is not registered in the merge list.
  • the merge candidate derivation unit derives a zero merge candidate having a motion vector of 0 for each reference picture that can be referred to. Then, the merge candidate derivation unit newly adds the derived zero merge candidate to the merge candidate list.
  • the image encoding apparatus can improve the encoding efficiency in the merge mode particularly when the encoding target block is a still area.
  • the merge candidate derivation unit may derive a zero merge candidate in the prediction direction 0 using a motion vector having a value of 0 and a reference picture index in the prediction direction 0.
  • the merge candidate derivation unit may derive a zero merge candidate in the prediction direction 1 using a motion vector having a value of 0 and a reference picture index in the prediction direction 1.
  • the merge candidate derivation unit may derive the zero merge candidates in order from the reference picture index assigned to the reference picture that is closest in the display order from the encoding target picture.
  • the merge candidate derivation unit determines whether or not the zero merge candidate is a duplicate candidate in step S505 in FIG. 19, but is not necessarily limited thereto.
  • the merge candidate derivation unit may omit the determination in step S505. Thereby, the merge candidate derivation unit can reduce the merge candidate derivation processing amount.
  • the merge candidate derivation unit can derive a merge candidate having a zero motion vector for a still region as the first merge candidate or the second merge candidate. It becomes possible to improve. More specifically, the merge candidate derivation unit can derive a merge candidate having a zero vector as a motion vector for each reference picture that can be referred to, and can newly register the derived merge candidate in the merge candidate list. . Thereby, when the encoding target block is a still region, a merge candidate with high reliability can be derived, and encoding efficiency can be improved.
  • this Embodiment showed the example which derives the merge candidate which has a zero vector as a motion vector for static regions, it does not necessarily restrict to this.
  • the motion vector (0, 1) has a motion vector having a value slightly larger or slightly smaller than the zero motion vector (0, 0).
  • Merge candidates may be derived.
  • an offset parameter (OffsetX, OffsetY) or the like may be added to a sequence, picture, slice header, or the like to derive a merge candidate having a motion vector (OffsetX, OffsetY).
  • FIG. 21 is a flowchart showing the combined merge candidate derivation process in the sixth embodiment. Specifically, FIG. 21 illustrates a part of the processing operation of the merge candidate derivation unit 110, 210, 314, or 411 in the first to fourth embodiments. That is, FIG. 21 shows the processing operation of the first derivation unit or the second derivation unit.
  • step S601 the merge candidate derivation unit updates the merge candidate indexes idx1 and idx2.
  • the merge candidate indexes idx1 and idx2 are indexes for determining two merge candidates used for deriving a combined merge candidate.
  • the merge candidate derivation unit updates the merge candidate indexes idx1 and idx2 to “0” and “1”.
  • the merge candidate derivation unit performs the following steps S602 to S610, so that the prediction direction, the motion vector, and the motion vector included in the merge candidate [0] to which the merge index of value 0 is assigned in the merge candidate list.
  • a combined merge candidate is derived by combining the reference picture index and the prediction direction, motion vector, and reference picture index included in the merge candidate [1] to which the merge index of value 1 is assigned.
  • the merge candidate index idx1 and idx2 values are updated in order in step S601.
  • update procedure of the merge indexes idx1 and idx2 need not be particularly limited. Any procedure may be used as long as the combined merge candidate derivation process can be performed using all combinations of merge candidates already derived before the combined merge candidate derivation process.
  • step S602 the merge candidate derivation unit (1) merge candidate indexes idx1 and idx2 are not the same value, (2) the merge candidate [idx1] is not a combined merge candidate, and (3) merge It is determined whether the candidate [idx2] is not a combined merge candidate.
  • step S603 the merge candidate derivation unit (1) has different prediction directions for the merge candidate [idx1] and the merge candidate [idx2], or (2) It is determined whether both the merge candidate [idx1] and the merge candidate [idx2] are two-way prediction.
  • step S604 the merge candidate derivation unit (1) the merge candidate [idx1] is the prediction direction 0 or the two-way prediction, and (2) It is determined whether the merge candidate [idx2] is the prediction direction 1 or the two-way prediction. That is, the merge candidate derivation unit determines whether or not the merge candidate [idx1] has at least a motion vector in the prediction direction 0 and the merge candidate [idx2] has at least a motion vector in the prediction direction 1.
  • step S605 the merge candidate derivation unit predicts the motion vector and reference picture index in the prediction direction 0 of the merge candidate [idx1] as the combined merge candidate prediction. Assign to direction 0. Further, in step S606, the merge candidate derivation unit assigns the motion vector and the reference picture index in the prediction direction 1 of the merge candidate [idx2] to the prediction direction 1 of the combined merge candidate. As a result, the merge candidate derivation unit derives a combined merge candidate for bi-directional prediction.
  • step S607 the merge candidate derivation unit uses the motion vector in the prediction direction 0 and the reference picture index of the merge candidate [idx2] as the combined merge candidate prediction direction. Assign to 0. Further, in step S608, the merge candidate derivation unit assigns the motion vector and reference picture index in the prediction direction 1 of the merge candidate [idx1] to the prediction direction 1 of the combined merge candidate. As a result, the merge candidate derivation unit derives a combined merge candidate for bi-directional prediction.
  • step S609 the merge candidate derivation unit determines whether a merge candidate having the same prediction direction, motion vector, and reference picture index as the derived combined merge candidate already exists in the merge candidate list. That is, the merge candidate derivation unit determines whether or not the derived combined merge candidate is a duplication candidate.
  • step S610 the merge candidate derivation unit registers the derived combined merge candidate in the merge candidate list.
  • step S602 or step S603 determines whether the determination result in step S602 or step S603 is false (No in S602 or S603), or if the determination result in step S609 is true (Yes in S609), the merge candidate derivation unit determines the derived combined Do not register merge candidates in the merge candidate list.
  • the merge candidate derivation unit derives a combined merge candidate and registers it in the merge candidate list.
  • the merge candidate derivation unit determines whether or not the combined merge candidate is a duplication candidate in step S609, but this is not necessarily the case.
  • the merge candidate derivation unit may omit the determination in step S609. Thereby, the merge candidate derivation unit can reduce the merge candidate derivation processing amount.
  • the merge candidate derivation unit can derive a merge candidate for bi-directional prediction by combining a plurality of merge candidates already derived. Therefore, even if a merge candidate for bi-directional prediction is not included in a plurality of merge candidates already derived, the merge candidate deriving unit newly derives a merge candidate for bi-directional prediction can do. As a result, the merge candidate derivation unit can increase the number of selectable merge candidates and improve the encoding efficiency.
  • FIG. 22 is a flowchart showing the derivation process of the scaling merge candidate in the seventh embodiment. Specifically, FIG. 22 shows a part of the processing operation of the merge candidate derivation unit 110, 210, 314, or 411 in the first to fourth embodiments. That is, FIG. 22 shows the processing operation of the first derivation unit or the second derivation unit.
  • step S701 the merge candidate derivation unit updates the prediction direction index X.
  • step S702 the merge candidate derivation unit updates the merge candidate index idx.
  • the prediction direction index X and the merge candidate index idx are indexes for determining the prediction direction and the merge candidate used for deriving the scaling merge candidate.
  • the merge candidate derivation unit updates the prediction direction index X to “0” and updates the merge candidate index idx to “0”.
  • the merge candidate derivation unit performs the following steps S702 to S711, whereby the motion vector in the prediction direction 0 of the merge candidate [0] to which the merge index of value 0 is assigned in the merge candidate list and A scaling merge candidate is derived using the reference picture index.
  • the merge candidate derivation unit updates the values of the prediction direction X and the merge candidate index idx in steps S701 and S702 each time the scaling merge candidate derivation process is performed.
  • step S703 the merge candidate derivation unit determines whether the merge candidate [idx] is not a scaling merge candidate and the merge candidate [idx] has a motion vector in the prediction direction X. If the determination result in step S703 is true (Yes in S703), in step S704, the merge candidate derivation unit uses the motion vector mvLX in the prediction direction X of the merge candidate [idx] and the reference picture index refIdxLX. A motion vector mvL (1-X) and a reference picture index refIdxL (1-X) in the prediction direction (1-X) are calculated. For example, the merge candidate derivation unit calculates mvL (1-X) and refIdxL (1-X) using the following Expression 3 and Expression 4.
  • POC represents the display order of the reference picture indicated by the reference picture index refIdxLX.
  • POC (refIdxL (1-X)) represents the display order of the reference picture indicated by the reference picture index refIdxL (1-X).
  • CurPOC represents the display order of the encoding target picture.
  • FIG. 23 shows an example of a motion vector and a reference picture index calculated in the seventh embodiment.
  • the merge candidate derivation unit performs the scaling process using the motion vector mvLX and the reference picture index refIdxLX in one prediction direction (prediction direction X) included in the merge candidate, thereby performing another prediction direction.
  • a motion vector mvL (1-X) and a reference picture index refIdxL (1-X) in (prediction direction (1-X)) are calculated.
  • step S705 the merge candidate derivation unit determines whether or not the value of the prediction direction X is “0”.
  • the merge candidate derivation unit predicts the motion vector and reference picture index in the prediction direction X of the merge candidate [idx] and predicts the merge candidate. Assign to direction 0.
  • the merge candidate derivation unit sets the calculated motion vector mvL (1-X) in the prediction direction (1-X) and the reference picture index refIdxL (1-X) to the prediction direction 1 of the scaling merge candidate. assign. Accordingly, the merge candidate derivation unit derives a scaling merge candidate for bi-directional prediction.
  • step S705 determines whether the prediction direction X is “1” (No in S705).
  • step S708 the merge candidate derivation unit calculates the calculated prediction direction (1-X ) Motion vector mvL (1-X) and reference picture index refIdxL (1-X) are assigned to the prediction direction 0 of the scaling merge candidate. Further, in step S709, the merge candidate derivation unit assigns the motion vector and reference picture index in the prediction direction X of the merge candidate [idx] to the prediction direction 1 of the scaling merge candidate. Accordingly, the merge candidate derivation unit derives a scaling merge candidate for bi-directional prediction.
  • step S710 the merge candidate derivation unit determines whether a merge candidate having the same prediction direction, motion vector, and reference picture index as the derived scaling merge candidate already exists in the merge candidate list. That is, the merge candidate derivation unit determines whether or not the derived scaling merge candidate is a duplication candidate.
  • step S711 the merge candidate derivation unit registers the derived scaling merge candidate in the merge candidate list.
  • step S703 determines whether the scaling merge candidate is registered in the merge candidate list. If the determination result in step S703 is false (No in S703) or the determination result in step S710 is true (Yes in S710), the scaling merge candidate is not registered in the merge candidate list.
  • the merge candidate derivation unit derives the scaling merge candidate and registers it in the merge candidate list.
  • the merge candidate derivation unit does not have to add the derived scaling merge candidate to the merge candidate list. Further, when the calculated value of refIdxL (1-X) is not included in the reference picture list L (1-X), the merge candidate derivation unit does not register the scaling merge candidate in the merge candidate list. Also good.
  • POC (refIdxLX) and POC (refIdxL (1-X)) are different values, and the absolute value of (POC (refIdxL (1-X))-curPOC) and (POC (refIdxLX) -curPOC) Only when the absolute value of) is the same, the merge candidate derivation unit may calculate mvL (1-X) by directly substituting -mvLX for mvL (1-X).
  • the merge candidate derivation unit can derive the scaling merge candidate by omitting the scaling process shown in Equation 4, and thus can improve the coding efficiency while suppressing an increase in the processing amount.
  • the merge candidate derivation unit determines whether or not the scaling merge candidate is a duplication candidate in step S710, but the present invention is not necessarily limited thereto.
  • the merge candidate derivation unit may omit the determination in step S710. Thereby, the merge candidate derivation unit can reduce the merge candidate derivation processing amount.
  • the image encoding device and the image decoding device according to one or more aspects have been described based on the embodiment, but the present invention is not limited to this embodiment. Unless it deviates from the gist of the present invention, various modifications conceived by those skilled in the art have been made in this embodiment, and forms constructed by combining components in different embodiments are also within the scope of one or more aspects. May be included.
  • each component may be configured by dedicated hardware or may be realized by executing a software program suitable for each component.
  • Each component may be realized by a program execution unit such as a CPU or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
  • the software that realizes the image encoding device or the image decoding device according to each of the above embodiments is the following program.
  • this program is an image encoding method for generating a bitstream by encoding an image for each block in a computer, and includes a prediction direction, a motion vector, and a reference picture index used for encoding an encoding target block.
  • a first derivation step for performing a first derivation process for deriving a merge candidate that is a set candidate as a first merge candidate, and a second derivation for a merge candidate as a second merge candidate by a method different from the first derivation process A second derivation step for performing a derivation process; a selection step for selecting a merge candidate to be used for encoding the block to be encoded from the first merge candidate and the second merge candidate; and the selected merge candidate Adding to the bitstream an index for specifying
  • the first derivation process is performed so that the total number of the first merge candidates does not exceed a predetermined number, and in the second derivation step, the total number of the first merge candidates is a maximum of the predetermined merge candidates
  • this program is an image decoding method for decoding an encoded image included in a bitstream on a computer-by-block basis, and a set of prediction direction, motion vector, and reference picture index used for decoding a decoding target block
  • a first derivation process for deriving a merge candidate as a first merge candidate and a second derivation process for deriving the merge candidate as a second merge candidate by a method different from the first derivation process Using the second derivation step, the acquisition step of acquiring an index from the bitstream, and the decoding of the decoding target block from the first merge candidate and the second merge candidate using the acquired index Selecting a merge candidate, the first derivation step Performs the first derivation process so that the total number of the first merge candidates does not exceed a predetermined number, and in the second derivation step, the total number of the first merge candidates is greater than a predetermined maximum number of merge candidates. Is smaller, the image decoding method for performing the second derivation process is executed.
  • the storage medium may be any medium that can record a program, such as a magnetic disk, an optical disk, a magneto-optical disk, an IC card, and a semiconductor memory.
  • the system has an image encoding / decoding device including an image encoding device using an image encoding method and an image decoding device using an image decoding method.
  • image encoding / decoding device including an image encoding device using an image encoding method and an image decoding device using an image decoding method.
  • Other configurations in the system can be appropriately changed according to circumstances.
  • FIG. 24 is a diagram showing an overall configuration of a content supply system ex100 that realizes a content distribution service.
  • a communication service providing area is divided into desired sizes, and base stations ex106, ex107, ex108, ex109, and ex110, which are fixed wireless stations, are installed in each cell.
  • This content supply system ex100 includes a computer ex111, a PDA (Personal Digital Assistant) ex112, a camera ex113, a mobile phone ex114, a game machine ex115 via the Internet ex101, the Internet service provider ex102, the telephone network ex104, and the base stations ex106 to ex110. Etc. are connected.
  • PDA Personal Digital Assistant
  • each device may be directly connected to the telephone network ex104 without going from the base station ex106, which is a fixed wireless station, to ex110.
  • the devices may be directly connected to each other via short-range wireless or the like.
  • the camera ex113 is a device that can shoot moving images such as a digital video camera
  • the camera ex116 is a device that can shoot still images and movies such as a digital camera.
  • the mobile phone ex114 is a GSM (registered trademark) (Global System for Mobile Communications) system, a CDMA (Code Division Multiple Access) system, a W-CDMA (Wideband-Code Division Multiple Access) system, or an LTE (Long Terminal Term Evolution). It is possible to use any of the above-mentioned systems, HSPA (High Speed Packet Access) mobile phone, PHS (Personal Handyphone System), or the like.
  • the camera ex113 and the like are connected to the streaming server ex103 through the base station ex109 and the telephone network ex104, thereby enabling live distribution and the like.
  • live distribution content that is shot by a user using the camera ex113 (for example, music live video) is encoded as described in each of the above embodiments (that is, in one aspect of the present invention).
  • the streaming server ex103 stream-distributes the content data transmitted to the requested client. Examples of the client include a computer ex111, a PDA ex112, a camera ex113, a mobile phone ex114, and a game machine ex115 that can decode the encoded data.
  • Each device that receives the distributed data decodes the received data and reproduces it (that is, functions as an image decoding device according to one embodiment of the present invention).
  • the captured data may be encoded by the camera ex113, the streaming server ex103 that performs data transmission processing, or may be shared with each other.
  • the decryption processing of the distributed data may be performed by the client, the streaming server ex103, or may be performed in common with each other.
  • still images and / or moving image data captured by the camera ex116 may be transmitted to the streaming server ex103 via the computer ex111.
  • the encoding process in this case may be performed by any of the camera ex116, the computer ex111, and the streaming server ex103, or may be performed in a shared manner.
  • these encoding / decoding processes are generally performed in the computer ex111 and the LSI ex500 included in each device.
  • the LSI ex500 may be configured as a single chip or a plurality of chips.
  • moving image encoding / decoding software is incorporated into some recording medium (CD-ROM, flexible disk, hard disk, etc.) that can be read by the computer ex111, etc., and encoding / decoding processing is performed using the software. May be.
  • moving image data acquired by the camera may be transmitted.
  • the moving image data at this time is data encoded by the LSI ex500 included in the mobile phone ex114.
  • the streaming server ex103 may be a plurality of servers or a plurality of computers, and may process, record, and distribute data in a distributed manner.
  • the encoded data can be received and reproduced by the client.
  • the information transmitted by the user can be received, decrypted and reproduced by the client in real time, and personal broadcasting can be realized even for a user who does not have special rights or facilities.
  • the digital broadcasting system ex200 also includes at least the moving image encoding device (image encoding device) or the moving image decoding according to each of the above embodiments. Any of the devices (image decoding devices) can be incorporated.
  • the broadcast station ex201 multiplexed data obtained by multiplexing music data and the like on video data is transmitted to a communication or satellite ex202 via radio waves.
  • This video data is data encoded by the moving image encoding method described in each of the above embodiments (that is, data encoded by the image encoding apparatus according to one aspect of the present invention).
  • the broadcasting satellite ex202 transmits a radio wave for broadcasting, and this radio wave is received by a home antenna ex204 capable of receiving satellite broadcasting.
  • the received multiplexed data is decoded and reproduced by an apparatus such as the television (receiver) ex300 or the set top box (STB) ex217 (that is, functions as an image decoding apparatus according to one embodiment of the present invention).
  • a reader / recorder ex218 that reads and decodes multiplexed data recorded on a recording medium ex215 such as a DVD or a BD, or encodes a video signal on the recording medium ex215 and, in some cases, multiplexes and writes it with a music signal. It is possible to mount the moving picture decoding apparatus or moving picture encoding apparatus described in the above embodiments. In this case, the reproduced video signal is displayed on the monitor ex219, and the video signal can be reproduced in another device or system using the recording medium ex215 on which the multiplexed data is recorded.
  • a moving picture decoding apparatus may be mounted in a set-top box ex217 connected to a cable ex203 for cable television or an antenna ex204 for satellite / terrestrial broadcasting and displayed on the monitor ex219 of the television.
  • the moving picture decoding apparatus may be incorporated in the television instead of the set top box.
  • FIG. 26 is a diagram illustrating a television (receiver) ex300 that uses the video decoding method and the video encoding method described in each of the above embodiments.
  • the television ex300 obtains or outputs multiplexed data in which audio data is multiplexed with video data via the antenna ex204 or the cable ex203 that receives the broadcast, and demodulates the received multiplexed data.
  • the modulation / demodulation unit ex302 that modulates multiplexed data to be transmitted to the outside, and the demodulated multiplexed data is separated into video data and audio data, or the video data and audio data encoded by the signal processing unit ex306 Is provided with a multiplexing / demultiplexing unit ex303.
  • the television ex300 also decodes the audio data and the video data, or encodes the information, the audio signal processing unit ex304, the video signal processing unit ex305 (the image encoding device or the image according to one embodiment of the present invention) A signal processing unit ex306 that functions as a decoding device), a speaker ex307 that outputs the decoded audio signal, and an output unit ex309 that includes a display unit ex308 such as a display that displays the decoded video signal. Furthermore, the television ex300 includes an interface unit ex317 including an operation input unit ex312 that receives an input of a user operation. Furthermore, the television ex300 includes a control unit ex310 that performs overall control of each unit, and a power supply circuit unit ex311 that supplies power to each unit.
  • the interface unit ex317 includes a bridge unit ex313 connected to an external device such as a reader / recorder ex218, a recording unit ex216 such as an SD card, and an external recording unit such as a hard disk.
  • a driver ex315 for connecting to a medium, a modem ex316 for connecting to a telephone network, and the like may be included.
  • the recording medium ex216 is capable of electrically recording information by using a nonvolatile / volatile semiconductor memory element to be stored.
  • Each part of the television ex300 is connected to each other via a synchronous bus.
  • the television ex300 receives a user operation from the remote controller ex220 or the like, and demultiplexes the multiplexed data demodulated by the modulation / demodulation unit ex302 by the multiplexing / demultiplexing unit ex303 based on the control of the control unit ex310 having a CPU or the like. Furthermore, in the television ex300, the separated audio data is decoded by the audio signal processing unit ex304, and the separated video data is decoded by the video signal processing unit ex305 using the decoding method described in each of the above embodiments.
  • the decoded audio signal and video signal are output from the output unit ex309 to the outside. At the time of output, these signals may be temporarily stored in the buffers ex318, ex319, etc. so that the audio signal and the video signal are reproduced in synchronization. Also, the television ex300 may read multiplexed data from recording media ex215 and ex216 such as a magnetic / optical disk and an SD card, not from broadcasting. Next, a configuration in which the television ex300 encodes an audio signal or a video signal and transmits the signal to the outside or to a recording medium will be described.
  • the television ex300 receives a user operation from the remote controller ex220 and the like, encodes an audio signal with the audio signal processing unit ex304, and converts the video signal with the video signal processing unit ex305 based on the control of the control unit ex310. Encoding is performed using the encoding method described in (1).
  • the encoded audio signal and video signal are multiplexed by the multiplexing / demultiplexing unit ex303 and output to the outside. When multiplexing, these signals may be temporarily stored in the buffers ex320, ex321, etc. so that the audio signal and the video signal are synchronized.
  • a plurality of buffers ex318, ex319, ex320, and ex321 may be provided as illustrated, or one or more buffers may be shared. Further, in addition to the illustrated example, data may be stored in the buffer as a buffer material that prevents system overflow and underflow, for example, between the modulation / demodulation unit ex302 and the multiplexing / demultiplexing unit ex303.
  • the television ex300 has a configuration for receiving AV input of a microphone and a camera, and performs encoding processing on the data acquired from them. Also good.
  • the television ex300 has been described as a configuration capable of the above-described encoding processing, multiplexing, and external output, but these processing cannot be performed, and only the above-described reception, decoding processing, and external output are possible. It may be a configuration.
  • the decoding process or the encoding process may be performed by either the television ex300 or the reader / recorder ex218,
  • the reader / recorder ex218 may share with each other.
  • FIG. 27 shows a configuration of the information reproducing / recording unit ex400 when data is read from or written to an optical disk.
  • the information reproducing / recording unit ex400 includes elements ex401, ex402, ex403, ex404, ex405, ex406, and ex407 described below.
  • the optical head ex401 irradiates a laser spot on the recording surface of the recording medium ex215 that is an optical disk to write information, and detects information reflected from the recording surface of the recording medium ex215 to read the information.
  • the modulation recording unit ex402 electrically drives a semiconductor laser built in the optical head ex401 and modulates the laser beam according to the recording data.
  • the reproduction demodulator ex403 amplifies the reproduction signal obtained by electrically detecting the reflected light from the recording surface by the photodetector built in the optical head ex401, separates and demodulates the signal component recorded on the recording medium ex215, and is necessary To play back information.
  • the buffer ex404 temporarily holds information to be recorded on the recording medium ex215 and information reproduced from the recording medium ex215.
  • the disk motor ex405 rotates the recording medium ex215.
  • the servo control unit ex406 moves the optical head ex401 to a predetermined information track while controlling the rotational drive of the disk motor ex405, and performs a laser spot tracking process.
  • the system control unit ex407 controls the entire information reproduction / recording unit ex400.
  • the system control unit ex407 uses various types of information held in the buffer ex404, and generates and adds new information as necessary.
  • the modulation recording unit ex402, the reproduction demodulation unit This is realized by recording / reproducing information through the optical head ex401 while operating the ex403 and the servo control unit ex406 in a coordinated manner.
  • the system control unit ex407 includes, for example, a microprocessor, and executes these processes by executing a read / write program.
  • the optical head ex401 has been described as irradiating a laser spot.
  • a configuration in which higher-density recording is performed using near-field light may be used.
  • FIG. 28 shows a schematic diagram of a recording medium ex215 that is an optical disk.
  • Guide grooves grooves
  • address information indicating the absolute position on the disc is recorded in advance on the information track ex230 by changing the shape of the groove.
  • This address information includes information for specifying the position of the recording block ex231 that is a unit for recording data, and the recording block is specified by reproducing the information track ex230 and reading the address information in a recording or reproducing apparatus.
  • the recording medium ex215 includes a data recording area ex233, an inner peripheral area ex232, and an outer peripheral area ex234.
  • the area used for recording user data is the data recording area ex233, and the inner circumference area ex232 and the outer circumference area ex234 arranged on the inner or outer circumference of the data recording area ex233 are used for specific purposes other than user data recording. Used.
  • the information reproducing / recording unit ex400 reads / writes encoded audio data, video data, or multiplexed data obtained by multiplexing these data with respect to the data recording area ex233 of the recording medium ex215.
  • an optical disk such as a single-layer DVD or BD has been described as an example.
  • the present invention is not limited to these, and an optical disk having a multilayer structure and capable of recording other than the surface may be used.
  • an optical disc with a multi-dimensional recording / reproducing structure such as recording information using light of different wavelengths in the same place on the disc, or recording different layers of information from various angles. It may be.
  • the car ex210 having the antenna ex205 can receive data from the satellite ex202 and the like, and the moving image can be reproduced on a display device such as the car navigation ex211 that the car ex210 has.
  • the configuration of the car navigation ex211 may be, for example, a configuration in which a GPS receiving unit is added in the configuration illustrated in FIG. 26, and the same may be considered for the computer ex111, the mobile phone ex114, and the like.
  • FIG. 29A is a diagram showing the mobile phone ex114 using the moving picture decoding method and the moving picture encoding method described in the above embodiment.
  • the mobile phone ex114 includes an antenna ex350 for transmitting and receiving radio waves to and from the base station ex110, a camera unit ex365 capable of capturing video and still images, a video captured by the camera unit ex365, a video received by the antenna ex350, and the like Is provided with a display unit ex358 such as a liquid crystal display for displaying the decrypted data.
  • the mobile phone ex114 further includes a main body unit having an operation key unit ex366, an audio output unit ex357 such as a speaker for outputting audio, an audio input unit ex356 such as a microphone for inputting audio, a captured video,
  • an audio input unit ex356 such as a microphone for inputting audio
  • a captured video In the memory unit ex367 for storing encoded data or decoded data such as still images, recorded audio, received video, still images, mails, or the like, or an interface unit with a recording medium for storing data
  • a slot ex364 is provided.
  • the mobile phone ex114 has a power supply circuit part ex361, an operation input control part ex362, and a video signal processing part ex355 with respect to a main control part ex360 that comprehensively controls each part of the main body including the display part ex358 and the operation key part ex366.
  • a camera interface unit ex363, an LCD (Liquid Crystal Display) control unit ex359, a modulation / demodulation unit ex352, a multiplexing / demultiplexing unit ex353, an audio signal processing unit ex354, a slot unit ex364, and a memory unit ex367 are connected to each other via a bus ex370. ing.
  • the power supply circuit unit ex361 starts up the mobile phone ex114 in an operable state by supplying power from the battery pack to each unit.
  • the cellular phone ex114 converts the audio signal collected by the audio input unit ex356 in the voice call mode into a digital audio signal by the audio signal processing unit ex354 based on the control of the main control unit ex360 having a CPU, a ROM, a RAM, and the like. Then, this is subjected to spectrum spread processing by the modulation / demodulation unit ex352, digital-analog conversion processing and frequency conversion processing are performed by the transmission / reception unit ex351, and then transmitted via the antenna ex350.
  • the mobile phone ex114 also amplifies the received data received via the antenna ex350 in the voice call mode, performs frequency conversion processing and analog-digital conversion processing, performs spectrum despreading processing by the modulation / demodulation unit ex352, and performs voice signal processing unit After being converted into an analog audio signal by ex354, this is output from the audio output unit ex357.
  • the text data of the e-mail input by operating the operation key unit ex366 of the main unit is sent to the main control unit ex360 via the operation input control unit ex362.
  • the main control unit ex360 performs spread spectrum processing on the text data in the modulation / demodulation unit ex352, performs digital analog conversion processing and frequency conversion processing in the transmission / reception unit ex351, and then transmits the text data to the base station ex110 via the antenna ex350.
  • almost the reverse process is performed on the received data and output to the display unit ex358.
  • the video signal processing unit ex355 compresses the video signal supplied from the camera unit ex365 by the moving image encoding method described in the above embodiments. Encode (that is, function as an image encoding device according to an aspect of the present invention), and send the encoded video data to the multiplexing / demultiplexing unit ex353.
  • the audio signal processing unit ex354 encodes the audio signal picked up by the audio input unit ex356 while the camera unit ex365 images a video, a still image, etc., and sends the encoded audio data to the multiplexing / separating unit ex353. To do.
  • the multiplexing / demultiplexing unit ex353 multiplexes the encoded video data supplied from the video signal processing unit ex355 and the encoded audio data supplied from the audio signal processing unit ex354 by a predetermined method, and is obtained as a result.
  • the multiplexed data is subjected to spread spectrum processing by the modulation / demodulation unit (modulation / demodulation circuit unit) ex352, digital-analog conversion processing and frequency conversion processing by the transmission / reception unit ex351, and then transmitted via the antenna ex350.
  • the multiplexing / separating unit ex353 separates the multiplexed data into a video data bit stream and an audio data bit stream, and performs video signal processing on the video data encoded via the synchronization bus ex370.
  • the encoded audio data is supplied to the audio signal processing unit ex354 while being supplied to the unit ex355.
  • the video signal processing unit ex355 decodes the video signal by decoding using the video decoding method corresponding to the video encoding method described in each of the above embodiments (that is, an image according to an aspect of the present invention).
  • video and still images included in the moving image file linked to the home page are displayed from the display unit ex358 via the LCD control unit ex359.
  • the audio signal processing unit ex354 decodes the audio signal, and the audio is output from the audio output unit ex357.
  • the terminal such as the mobile phone ex114 is referred to as a transmission terminal having only an encoder and a receiving terminal having only a decoder.
  • a transmission terminal having only an encoder
  • a receiving terminal having only a decoder.
  • multiplexed data in which music data or the like is multiplexed with video data is received and transmitted, but data in which character data or the like related to video is multiplexed in addition to audio data It may be video data itself instead of multiplexed data.
  • the moving picture encoding method or the moving picture decoding method shown in each of the above embodiments can be used in any of the above-described devices / systems. The described effect can be obtained.
  • multiplexed data obtained by multiplexing audio data or the like with video data is configured to include identification information indicating which standard the video data conforms to.
  • identification information indicating which standard the video data conforms to.
  • FIG. 30 is a diagram showing a structure of multiplexed data.
  • the multiplexed data is obtained by multiplexing one or more of a video stream, an audio stream, a presentation graphics stream (PG), and an interactive graphics stream.
  • the video stream indicates the main video and sub-video of the movie
  • the audio stream (IG) indicates the main audio portion of the movie and the sub-audio mixed with the main audio
  • the presentation graphics stream indicates the subtitles of the movie.
  • the main video indicates a normal video displayed on the screen
  • the sub-video is a video displayed on a small screen in the main video.
  • the interactive graphics stream indicates an interactive screen created by arranging GUI components on the screen.
  • the video stream is encoded by the moving image encoding method or apparatus shown in the above embodiments, or the moving image encoding method or apparatus conforming to the conventional standards such as MPEG-2, MPEG4-AVC, and VC-1. ing.
  • the audio stream is encoded by a method such as Dolby AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, or linear PCM.
  • Each stream included in the multiplexed data is identified by PID. For example, 0x1011 for video streams used for movie images, 0x1100 to 0x111F for audio streams, 0x1200 to 0x121F for presentation graphics, 0x1400 to 0x141F for interactive graphics streams, 0x1B00 to 0x1B1F are assigned to the video stream used for the sub-picture, and 0x1A00 to 0x1A1F are assigned to the audio stream used for the sub-audio mixed with the main audio.
  • FIG. 31 is a diagram schematically showing how multiplexed data is multiplexed.
  • a video stream ex235 composed of a plurality of video frames and an audio stream ex238 composed of a plurality of audio frames are converted into PES packet sequences ex236 and ex239, respectively, and converted into TS packets ex237 and ex240.
  • the data of the presentation graphics stream ex241 and interactive graphics ex244 are converted into PES packet sequences ex242 and ex245, respectively, and further converted into TS packets ex243 and ex246.
  • the multiplexed data ex247 is configured by multiplexing these TS packets into one stream.
  • FIG. 32 shows in more detail how the video stream is stored in the PES packet sequence.
  • the first row in FIG. 32 shows a video frame sequence of the video stream.
  • the second level shows a PES packet sequence.
  • a plurality of Video Presentation Units in the video stream are divided into pictures, B pictures, and P pictures and stored in the payload of the PES packet.
  • Each PES packet has a PES header, and a PTS (Presentation Time-Stamp) that is a display time of a picture and a DTS (Decoding Time-Stamp) that is a decoding time of a picture are stored in the PES header.
  • PTS Presentation Time-Stamp
  • DTS Decoding Time-Stamp
  • FIG. 33 shows the format of TS packets that are finally written in the multiplexed data.
  • the TS packet is a 188-byte fixed-length packet composed of a 4-byte TS header having information such as a PID for identifying a stream and a 184-byte TS payload for storing data.
  • the PES packet is divided and stored in the TS payload.
  • a 4-byte TP_Extra_Header is added to a TS packet, forms a 192-byte source packet, and is written in multiplexed data.
  • TP_Extra_Header information such as ATS (Arrival_Time_Stamp) is described.
  • ATS indicates the transfer start time of the TS packet to the PID filter of the decoder.
  • Source packets are arranged in the multiplexed data as shown in the lower part of FIG. 33, and the number incremented from the head of the multiplexed data is called SPN (source packet number).
  • TS packets included in the multiplexed data include PAT (Program Association Table), PMT (Program Map Table), PCR (Program Clock Reference), and the like in addition to each stream such as video / audio / caption.
  • PAT indicates what the PID of the PMT used in the multiplexed data is, and the PID of the PAT itself is registered as 0.
  • the PMT has the PID of each stream such as video / audio / subtitles included in the multiplexed data and the attribute information of the stream corresponding to each PID, and has various descriptors related to the multiplexed data.
  • the descriptor includes copy control information for instructing permission / non-permission of copying of multiplexed data.
  • the PCR corresponds to the ATS in which the PCR packet is transferred to the decoder. Contains STC time information.
  • FIG. 34 is a diagram for explaining the data structure of the PMT in detail.
  • a PMT header describing the length of data included in the PMT is arranged at the head of the PMT.
  • a plurality of descriptors related to multiplexed data are arranged.
  • the copy control information and the like are described as descriptors.
  • a plurality of pieces of stream information regarding each stream included in the multiplexed data are arranged.
  • the stream information includes a stream descriptor in which a stream type, a stream PID, and stream attribute information (frame rate, aspect ratio, etc.) are described to identify a compression codec of the stream.
  • the multiplexed data is recorded together with the multiplexed data information file.
  • the multiplexed data information file is management information of multiplexed data, has a one-to-one correspondence with the multiplexed data, and includes multiplexed data information, stream attribute information, and an entry map.
  • the multiplexed data information is composed of a system rate, a reproduction start time, and a reproduction end time.
  • the system rate indicates a maximum transfer rate of multiplexed data to a PID filter of a system target decoder described later.
  • the ATS interval included in the multiplexed data is set to be equal to or less than the system rate.
  • the playback start time is the PTS of the first video frame of the multiplexed data
  • the playback end time is set by adding the playback interval for one frame to the PTS of the video frame at the end of the multiplexed data.
  • attribute information about each stream included in the multiplexed data is registered for each PID.
  • the attribute information has different information for each video stream, audio stream, presentation graphics stream, and interactive graphics stream.
  • the video stream attribute information includes the compression codec used to compress the video stream, the resolution of the individual picture data constituting the video stream, the aspect ratio, and the frame rate. It has information such as how much it is.
  • the audio stream attribute information includes the compression codec used to compress the audio stream, the number of channels included in the audio stream, the language supported, and the sampling frequency. With information. These pieces of information are used for initialization of the decoder before the player reproduces it.
  • the stream type included in the PMT is used.
  • video stream attribute information included in the multiplexed data information is used.
  • the video encoding shown in each of the above embodiments for the stream type or video stream attribute information included in the PMT.
  • FIG. 37 shows steps of the moving picture decoding method according to the present embodiment.
  • step exS100 the stream type included in the PMT or the video stream attribute information included in the multiplexed data information is acquired from the multiplexed data.
  • step exS101 it is determined whether or not the stream type or the video stream attribute information indicates multiplexed data generated by the moving picture encoding method or apparatus described in the above embodiments. To do.
  • step exS102 the above embodiments are performed. Decoding is performed by the moving picture decoding method shown in the form.
  • the conventional information Decoding is performed by a moving image decoding method compliant with the standard.
  • FIG. 38 shows a configuration of the LSI ex500 that is made into one chip.
  • the LSI ex500 includes elements ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508, and ex509 described below, and each element is connected via a bus ex510.
  • the power supply circuit unit ex505 is activated to an operable state by supplying power to each unit when the power supply is on.
  • the LSI ex500 uses the AV I / O ex509 to perform the microphone ex117 and the camera ex113 based on the control of the control unit ex501 including the CPU ex502, the memory controller ex503, the stream controller ex504, the driving frequency control unit ex512, and the like.
  • the AV signal is input from the above.
  • the input AV signal is temporarily stored in an external memory ex511 such as SDRAM.
  • the accumulated data is divided into a plurality of times as appropriate according to the processing amount and the processing speed and sent to the signal processing unit ex507, and the signal processing unit ex507 encodes an audio signal and / or video. Signal encoding is performed.
  • the encoding process of the video signal is the encoding process described in the above embodiments.
  • the signal processing unit ex507 further performs processing such as multiplexing the encoded audio data and the encoded video data according to circumstances, and outputs the result from the stream I / Oex 506 to the outside.
  • the output multiplexed data is transmitted to the base station ex107 or written to the recording medium ex215. It should be noted that data should be temporarily stored in the buffer ex508 so as to be synchronized when multiplexing.
  • the memory ex511 is described as an external configuration of the LSI ex500.
  • a configuration included in the LSI ex500 may be used.
  • the number of buffers ex508 is not limited to one, and a plurality of buffers may be provided.
  • the LSI ex500 may be made into one chip or a plurality of chips.
  • control unit ex501 includes the CPU ex502, the memory controller ex503, the stream controller ex504, the drive frequency control unit ex512, and the like, but the configuration of the control unit ex501 is not limited to this configuration.
  • the signal processing unit ex507 may further include a CPU.
  • the CPU ex502 may be configured to include a signal processing unit ex507 or, for example, an audio signal processing unit that is a part of the signal processing unit ex507.
  • the control unit ex501 is configured to include a signal processing unit ex507 or a CPU ex502 having a part thereof.
  • LSI LSI
  • IC system LSI
  • super LSI ultra LSI depending on the degree of integration
  • the method of circuit integration is not limited to LSI, and implementation with a dedicated circuit or a general-purpose processor is also possible.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • FIG. 39 shows a configuration ex800 in the present embodiment.
  • the drive frequency switching unit ex803 sets the drive frequency high when the video data is generated by the moving image encoding method or apparatus described in the above embodiments.
  • the decoding processing unit ex801 that executes the moving picture decoding method described in each of the above embodiments is instructed to decode the video data.
  • the video data is video data compliant with the conventional standard, compared to the case where the video data is generated by the moving picture encoding method or apparatus shown in the above embodiments, Set the drive frequency low. Then, it instructs the decoding processing unit ex802 compliant with the conventional standard to decode the video data.
  • the drive frequency switching unit ex803 includes the CPU ex502 and the drive frequency control unit ex512 of FIG.
  • the decoding processing unit ex801 that executes the video decoding method shown in each of the above embodiments and the decoding processing unit ex802 that complies with the conventional standard correspond to the signal processing unit ex507 in FIG.
  • the CPU ex502 identifies which standard the video data conforms to.
  • the drive frequency control unit ex512 sets the drive frequency.
  • the signal processing unit ex507 decodes the video data.
  • the identification of the video data for example, it is conceivable to use the identification information described in the ninth embodiment.
  • the identification information is not limited to that described in Embodiment 9, and any information that can identify which standard the video data conforms to may be used. For example, it is possible to identify which standard the video data conforms to based on an external signal that identifies whether the video data is used for a television or a disk. In some cases, identification may be performed based on such an external signal. In addition, the selection of the driving frequency in the CPU ex502 may be performed based on, for example, a lookup table in which video data standards and driving frequencies are associated with each other as shown in FIG. The look-up table is stored in the buffer ex508 or the internal memory of the LSI, and the CPU ex502 can select the drive frequency by referring to the look-up table.
  • FIG. 40 shows steps for executing the method of the present embodiment.
  • the signal processing unit ex507 acquires identification information from the multiplexed data.
  • the CPU ex502 identifies whether the video data is generated by the encoding method or apparatus described in each of the above embodiments based on the identification information.
  • the CPU ex502 sends a signal for setting the drive frequency high to the drive frequency control unit ex512. Then, the drive frequency control unit ex512 sets a high drive frequency.
  • step exS203 the CPU ex502 drives the signal for setting the drive frequency low. This is sent to the frequency control unit ex512. Then, in the drive frequency control unit ex512, the drive frequency is set to be lower than that in the case where the video data is generated by the encoding method or apparatus described in the above embodiments.
  • the power saving effect can be further enhanced by changing the voltage applied to the LSI ex500 or the device including the LSI ex500 in conjunction with the switching of the driving frequency. For example, when the drive frequency is set low, it is conceivable that the voltage applied to the LSI ex500 or the device including the LSI ex500 is set low as compared with the case where the drive frequency is set high.
  • the setting method of the driving frequency may be set to a high driving frequency when the processing amount at the time of decoding is large, and to a low driving frequency when the processing amount at the time of decoding is small. It is not limited to the method.
  • the amount of processing for decoding video data compliant with the MPEG4-AVC standard is larger than the amount of processing for decoding video data generated by the moving picture encoding method or apparatus described in the above embodiments. It is conceivable that the setting of the driving frequency is reversed to that in the case described above.
  • the method for setting the drive frequency is not limited to the configuration in which the drive frequency is lowered.
  • the voltage applied to the LSIex500 or the apparatus including the LSIex500 is set high.
  • the driving of the CPU ex502 is stopped.
  • the CPU ex502 is temporarily stopped because there is room in processing. Is also possible. Even when the identification information indicates that the video data is generated by the moving image encoding method or apparatus described in each of the above embodiments, if there is a margin for processing, the CPU ex502 is temporarily driven. It can also be stopped. In this case, it is conceivable to set the stop time shorter than in the case where the video data conforms to the conventional standards such as MPEG-2, MPEG4-AVC, and VC-1.
  • a plurality of video data that conforms to different standards may be input to the above-described devices and systems such as a television and a mobile phone.
  • the signal processing unit ex507 of the LSI ex500 needs to support a plurality of standards in order to be able to decode even when a plurality of video data complying with different standards is input.
  • the signal processing unit ex507 corresponding to each standard is used individually, there is a problem that the circuit scale of the LSI ex500 increases and the cost increases.
  • a decoding processing unit for executing the moving picture decoding method shown in each of the above embodiments and a decoding conforming to a standard such as MPEG-2, MPEG4-AVC, or VC-1
  • the processing unit is partly shared.
  • An example of this configuration is shown as ex900 in FIG. 42A.
  • the moving picture decoding method shown in each of the above embodiments and the moving picture decoding method compliant with the MPEG4-AVC standard are processed in processes such as entropy coding, inverse quantization, deblocking filter, and motion compensation. Some contents are common.
  • the decoding processing unit ex902 corresponding to the MPEG4-AVC standard is shared, and for other processing contents specific to one aspect of the present invention that do not correspond to the MPEG4-AVC standard, a dedicated decoding processing unit A configuration using ex901 is conceivable.
  • a dedicated decoding processing unit ex901 is used for motion compensation, and other entropy decoding, deblocking filter, and inverse quantization are performed. For any or all of these processes, it is conceivable to share the decoding processing unit.
  • the decoding processing unit for executing the moving picture decoding method described in each of the above embodiments is shared, and the processing content specific to the MPEG4-AVC standard As for, a configuration using a dedicated decoding processing unit may be used.
  • ex1000 in FIG. 42B shows another example in which processing is partially shared.
  • a dedicated decoding processing unit ex1001 corresponding to the processing content specific to one aspect of the present invention
  • a dedicated decoding processing unit ex1002 corresponding to the processing content specific to another conventional standard
  • a common decoding processing unit ex1003 corresponding to the processing contents common to the moving image decoding method according to the above and other conventional moving image decoding methods.
  • the dedicated decoding processing units ex1001 and ex1002 are not necessarily specialized in one aspect of the present invention or processing content specific to other conventional standards, and can execute other general-purpose processing. Also good.
  • the configuration of the present embodiment can be implemented by LSI ex500.
  • the processing content common to the moving picture decoding method according to one aspect of the present invention and the moving picture decoding method of the conventional standard reduces the circuit scale of the LSI by sharing the decoding processing unit, In addition, the cost can be reduced.
  • the image encoding method and the image decoding method according to an aspect of the present invention are advantageously used for a moving image encoding method and a decoding method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

 画像符号化方法は、符号化対象ブロックの符号化に用いる予測方向、動きベクトルおよび参照ピクチャインデックスのセットの候補であるマージ候補を第1マージ候補として導出する第1導出処理を行う第1導出ステップ(S113)と、第1導出処理とは異なる方法によりマージ候補を第2マージ候補として導出する第2導出処理を行う第2導出ステップ(S115)と、第1マージ候補および第2マージ候補の中から、符号化対象ブロックの符号化に用いるマージ候補を選択する選択ステップ(S120)と、選択されたマージ候補を特定するためのインデックスをビットストリームに付加する付加ステップ(S130)とを含み、第1導出ステップ(S113)では、第1マージ候補の総数が所定数を超えないように第1導出処理を行い、第2導出ステップ(S115)では、第1マージ候補の総数が予め定められたマージ候補の最大数よりも小さい場合に、第2導出処理を行う。

Description

画像符号化方法、画像符号化装置、画像復号方法、および、画像復号装置
 本発明は、画像符号化方法および画像復号方法に関する。
 動画像符号化処理では、一般に、動画像が有する空間方向および時間方向の冗長性を利用して情報量の圧縮が行われる。ここで一般に、空間方向の冗長性を利用する方法としては、周波数領域への変換が用いられる。また、時間方向の冗長性を利用する方法としては、ピクチャ間予測(以降、「インター予測」と呼ぶ)符号化処理が用いられる。インター予測符号化処理では、あるピクチャを符号化する際に、符号化対象ピクチャに対して表示時間順で前方または後方にある符号化済みのピクチャが、参照ピクチャとして用いられる。そして、その参照ピクチャに対する符号化対象ピクチャの動き検出により、動きベクトルが導出される。そして、導出された動きベクトルに基づいて動き補償を行って得られた予測画像データと符号化対象ピクチャの画像データとの差分を算出することにより、時間方向の冗長性が取り除かれる(例えば、非特許文献1参照)。ここで、動き検出では、符号化ピクチャ内の符号化対象ブロックと、参照ピクチャ内のブロックとの差分値を算出し、最も差分値の小さい参照ピクチャ内のブロックが参照ブロックとして決定される。そして、符号化対象ブロックと、参照ブロックとを用いて、動きベクトルが検出される。
ITU-T Recommendation H.264「Advanced video coding for generic audiovisual services」、2010年3月 JCT-VC,"WD3:Working Draft 3 of High-Efficiency Video Coding",JCTVC-E603,March 2011.
 しかしながら、上記従来の技術では、インター予測を用いた画像符号化及び復号において、符号化効率を向上させることが望まれている。
 そこで、本発明は、インター予測を用いた画像符号化及び復号において、符号化効率を向上させることができる画像符号化方法および画像復号方法を提供する。
 本発明の一態様に係る画像符号化方法は、画像をブロック毎に符号化することでビットストリームを生成する画像符号化方法であって、符号化対象ブロックの符号化に用いる予測方向、動きベクトルおよび参照ピクチャインデックスのセットの候補であるマージ候補を第1マージ候補として導出する第1導出処理を行う第1導出ステップと、前記第1導出処理とは異なる方法によりマージ候補を第2マージ候補として導出する第2導出処理を行う第2導出ステップと、前記第1マージ候補および前記第2マージ候補の中から、前記符号化対象ブロックの符号化に用いるマージ候補を選択する選択ステップと、選択された前記マージ候補を特定するためのインデックスを前記ビットストリームに付加する付加ステップとを含み、前記第1導出ステップでは、前記第1マージ候補の総数が所定数を超えないように前記第1導出処理を行い、前記第2導出ステップでは、前記第1マージ候補の総数が予め定められたマージ候補の最大数よりも小さい場合に、前記第2導出処理を行う。
 なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROM(Compact Disc Read Only Memory)などの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
 本発明の一態様に係る画像符号化方法は、インター予測を用いた画像符号化及び復号において、符号化効率を向上させることができる。
図1Aは、Bピクチャにおける参照ピクチャリストの一例を説明するための図である。 図1Bは、Bピクチャにおける予測方向0の参照ピクチャリストの一例を示す図である。 図1Cは、Bピクチャにおける予測方向1の参照ピクチャリストの一例を示す図である。 図2は、時間予測動きベクトルモードにおける動きベクトルを説明するための図である。 図3は、マージモードにおいて用いられる隣接ブロックの動きベクトルの一例を示す図である。 図4は、マージ候補リストの一例を説明するための図である。 図5は、マージ候補サイズとマージインデックスに割り当てられるビット列との関係を示す図である。 図6は、マージモードを用いる場合の符号化処理の一例を示すフローチャートである。 図7は、マージモードを用いる場合の復号処理を示すフローチャートである。 図8は、マージインデックスをビットストリームに付随させる際のシンタックスを表す図である。 図9は、実施の形態1に係る画像符号化装置の構成を示すブロック図である。 図10Aは、実施の形態1に係る画像符号化装置の処理動作を示すフローチャートである。 図10Bは、実施の形態1に係るマージ候補の導出処理を示すフローチャートである。 図11は、実施の形態1に係る画像符号化装置によって生成されたマージ候補リストの一例を示す図である。 図12は、実施の形態2に係る画像復号装置の構成を示すブロック図である。 図13Aは、実施の形態2に係る画像復号装置の処理動作を示すフローチャートである。 図13Bは、実施の形態2に係るマージ候補の導出処理を示すフローチャートである。 図14は、実施の形態3に係る画像符号化装置の構成を示すブロック図である。 図15は、実施の形態3に係る画像符号化装置の処理動作を示すフローチャートである。 図16は、実施の形態3におけるマージ候補の選択に関する処理を示すフローチャートである。 図17は、実施の形態4に係る画像復号装置の構成を示すブロック図である。 図18は、実施の形態4に係る画像復号装置の処理動作を示すフローチャートである。 図19は、実施の形態5におけるzeroマージ候補の導出処理を示すフローチャートである。 図20は、実施の形態5において導出されたzeroマージ候補の一例を示す図である。 図21は、実施の形態6におけるcombinedマージ候補の導出処理を示すフローチャートである。 図22は、実施の形態7におけるscalingマージ候補の導出処理を示すフローチャートである。 図23は、実施の形態7において算出される動きベクトルおよび参照ピクチャインデックスの一例を示す図である。 図24は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。 図25は、デジタル放送用システムの全体構成図である。 図26は、テレビの構成例を示すブロック図である。 図27は、光ディスクである記録メディアに情報の読み書きを行う情報再生/記録部の構成例を示すブロック図である。 図28は、光ディスクである記録メディアの構造例を示す図である。 図29Aは、携帯電話の一例を示す図である。 図29Bは、携帯電話の構成例を示すブロック図である。 図30は、多重化データの構成を示す図である。 図31は、各ストリームが多重化データにおいてどのように多重化されているかを模式的に示す図である。 図32は、PESパケット列に、ビデオストリームがどのように格納されるかを更に詳しく示した図である。 図33は、多重化データにおけるTSパケットとソースパケットの構造を示す図である。 図34は、PMTのデータ構成を示す図である。 図35は、多重化データ情報の内部構成を示す図である。 図36は、ストリーム属性情報の内部構成を示す図である。 図37は、映像データを識別するステップを示す図である。 図38は、各実施の形態の動画像符号化方法および動画像復号化方法を実現する集積回路の構成例を示すブロック図である。 図39は、駆動周波数を切り替える構成を示す図である。 図40は、映像データを識別し、駆動周波数を切り替えるステップを示す図である。 図41は、映像データの規格と駆動周波数を対応づけたルックアップテーブルの一例を示す図である。 図42Aは、信号処理部のモジュールを共有化する構成の一例を示す図である。 図42Bは、信号処理部のモジュールを共有化する構成の他の一例を示す図である。
 (本発明の基礎となった知見)
 既に標準化されている、H.264と呼ばれる動画像符号化方式では、情報量の圧縮のために、Iピクチャ、Pピクチャ、Bピクチャという3種類のピクチャタイプを用いている。
 Iピクチャは、インター予測符号化処理で符号化されない。すなわち、Iピクチャは、ピクチャ内予測(以降、「イントラ予測」と呼ぶ)符号化処理で符号化される。Pピクチャは、表示時間順で、符号化対象ピクチャの前方または後方にある既に符号化済みの1つのピクチャを参照してインター予測符号化される。Bピクチャは、表示時間順で、符号化対象ピクチャの前方または後方にある既に符号化済みの2つのピクチャを参照してインター予測符号化される。
 インター予測符号化においては、参照ピクチャを特定するための参照ピクチャリストが生成される。参照ピクチャリストは、インター予測で参照する符号化済みの参照ピクチャに参照ピクチャインデックスを割り当てたリストである。例えば、Bピクチャでは、2つのピクチャを参照して符号化を行えるため、2つの参照リスト(L0、L1)が生成される。
 図1Aは、Bピクチャにおける参照ピクチャリストの一例を説明するための図である。図1Bは、双方向予測における予測方向0の参照ピクチャリスト0(L0)の一例を示す。ここでは、参照ピクチャリスト0において、値0を有する参照ピクチャインデックス0は、表示順2の参照ピクチャ0に割り当てられている。また、値1を有する参照ピクチャインデックス0の値1は、表示順1の参照ピクチャ1に割り当てられている。また、値2を有する参照ピクチャインデックス0は、表示順0の参照ピクチャ2に割り当てられている。つまり、符号化対象ピクチャに対して表示順で時間的に近い参照ピクチャほど、小さい値を有する参照ピクチャインデックスが割り当てられている。
 一方、図1Cは、双方向予測における予測方向1の参照ピクチャリスト1(L1)の一例を示す。ここでは、参照ピクチャリスト1において、値0を有する参照ピクチャインデックス1は、表示順1の参照ピクチャ1に割り当てられている。また、値1を有する参照ピクチャインデックス1は、表示順2の参照ピクチャ0に割り当てられている。また、値2を有する参照ピクチャインデックス1は、表示順0の参照ピクチャ2に割り当てられている。
 このように、各参照ピクチャに対して、予測方向毎に異なる値を有する参照ピクチャインデックスを割り当てることや(図1Aの参照ピクチャ0、1)、同じ値を有する参照ピクチャインデックスを割り当てること(図1Aの参照ピクチャ2)が可能である。
 また、H.264と呼ばれる動画像符号化方式(非特許文献1)では、Bピクチャにおける各符号化対象ブロックのインター予測の符号化モードとして、動きベクトル検出モードが用いられる。動きベクトル検出モードでは、予測画像データおよび符号化対象ブロックの画像データの差分値と、予測画像データ生成に用いた動きベクトルとが符号化される。また、動きベクトル検出モードでは、予測方向として、双方向予測と片方向予測とを選択することができる。双方向予測では、符号化対象ピクチャの前方または後方にある既に符号化済みの2つのピクチャを参照して予測画像が生成される。また、片方向予測では、前方または後方にある既に符号化済みの1つのピクチャを参照して予測画像が生成される。
 また、H.264と呼ばれる動画像符号化方式では、Bピクチャの符号化において、動きベクトルを導出する際に、時間予測動きベクトルモードと呼ばれる符号化モードを選択することができる。時間予測動きベクトルモードにおけるインター予測符号化方法を、図2を用いて説明する。
 図2は、時間予測動きベクトルモードにおける動きベクトルを説明するための図である。具体的には、図2は、ピクチャB2のブロックaを時間予測動きベクトルモードで符号化する場合を示している。
 ここでは、ピクチャB2の後方にある参照ピクチャであるピクチャP3内の、ブロックaと同じ位置にあるブロックb(以下、「co-locatedブロック」と呼ぶ)の符号化に用いられた動きベクトルvbが利用されている。動きベクトルvbは、ブロックbがピクチャP1を参照して符号化された際に用いられた動きベクトルである。
 動きベクトルvbと平行な動きベクトルを用いて、前方向参照ピクチャであるピクチャP1と、後方向参照ピクチャであるピクチャP3とから、ブロックaのための2つの参照ブロックが取得される。そして、取得された2つの参照ブロックに基づいて2方向予測を行うことにより、ブロックaが符号化される。すなわち、ブロックaを符号化する際に用いられる動きベクトルは、ピクチャP1に対しては動きベクトルva1であり、ピクチャP3に対しては動きベクトルva2である。
 また、BピクチャやPピクチャにおける各符号化対象ブロックのインター予測モードとして、マージモードが検討されている(非特許文献2)。マージモードでは、符号化対象ブロックの隣接ブロックの符号化に用いられた予測方向、動きベクトルおよび参照ピクチャインデックスのセットをコピーして、符号化対象ブロックが符号化される。この際に、符号化に用いられた予測方向、動きベクトルおよび参照ピクチャインデックスのセットを表すインデックス等がビットストリームに付加される。これにより、符号化に用いられた予測方向、動きベクトルおよび参照ピクチャインデックスのセットを復号側で選択できるようにする。具体例を、図3を参照して説明する。
 図3は、マージモードにおいて用いられる隣接ブロックの動きベクトルの一例を示す図である。図3において、隣接ブロックAは、符号化対象ブロックの左隣接の符号化済みブロックである。隣接ブロックBは、符号化対象ブロックの上隣接の符号化済みブロックである。隣接ブロックCは、符号化対象ブロックの右上隣接の符号化済みブロックである。隣接ブロックDは、符号化対象ブロックの左下隣接の符号化済みブロックである。
 また、隣接ブロックAは、予測方向0の片方向予測で符号化されたブロックである。隣接ブロックAは、予測方向0の参照ピクチャインデックスRefL0_Aの示す参照ピクチャに対する動きベクトルとして、予測方向0の動きベクトルMvL0_Aを持つ。ここで、MvL0とは、参照ピクチャリスト0(L0)により特定される参照ピクチャを参照する動きベクトルを示す。また、MvL1とは、参照ピクチャリスト1(L1)により特定される参照ピクチャを参照する動きベクトルを示す。
 また、隣接ブロックBは、予測方向1の片方向予測で符号化されたブロックある。隣接ブロックBは、予測方向1の参照ピクチャインデックスRefL1_Bが示す参照ピクチャに対する動きベクトルとして、予測方向1の動きベクトルMvL1_Bを持つ。
 また、隣接ブロックCは、イントラ予測で符号化されたブロックである。
 また、隣接ブロックDは、予測方向0の片方向予測で符号化されたブロックである。隣接ブロックDは、予測方向0の参照ピクチャインデックスRefL0_Dが示す参照ピクチャに対する動きベクトルとして、予測方向0の動きベクトルMvL0_Dを持つ。
 図3のような場合では、例えば、隣接ブロックA~Dの予測方向、動きベクトルおよび参照ピクチャインデックスのセット、および、co-locatedブロックを用いて求めた時間予測動きベクトルモードによる予測方向、動きベクトルおよび参照ピクチャインデックスのセットの中から、符号化対象ブロックの予測方向、動きベクトルおよび参照ピクチャインデックスのセットとして、最も符号化効率の良いものが選択される。ここで、選択の候補となる予測方向、動きベクトルおよび参照ピクチャインデックスのセットをマージ候補と呼ぶ。選択されたマージ候補を表すマージインデックスがビットストリームに付加される。
 例えば、隣接ブロックAのマージ候補が選択された場合、符号化対象ブロックは、予測方向0の動きベクトルMvL0_A、および参照ピクチャインデックスRefL0_Aを用いて符号化される。そして、図4に示すような隣接ブロックAのマージ候補を用いたことを表すマージインデックスの値0のみがビットストリームに付加される。これにより、予測方向、動きベクトルおよび参照ピクチャインデックスの情報量を削減できる。
 また、図4に示すように、マージモードでは、利用することが不可能なマージ候補(以下、「マージ不可能候補」と呼ぶ)、および、予測方向、動きベクトルおよび、参照ピクチャインデックスのセットが他のマージ候補と一致するマージ候補(以下、「重複候補」と呼ぶ)は、マージ候補リストから削除される。
 このように、マージ候補数を削減することで、マージインデックスに割り当てる符号量が削減される。ここで、利用することが不可能なマージ候補とは、例えば、(1)イントラ予測で符号化されたブロックのマージ候補、(2)スライスあるいはピクチャ境界外に存在するブロックのマージ候補、または(3)まだ符号化されていないブロックのマージ候補である。
 図4の例では、隣接ブロックCがイントラ予測で符号化されている。そのため、隣接ブロックCのマージ候補(マージインデックス=3)は、マージ不可能候補であり、マージ候補リストから削除される。また、隣接ブロックDのマージ候補は、隣接ブロックAのマージ候補と、予測方向、動きベクトルおよび、参照ピクチャインデックスのセットが一致している。そのため、隣接ブロックDのマージ候補(マージインデックス=4)は、マージ候補リストから削除される。その結果、最終的に、マージ候補数は3となり、マージ候補リストのリストサイズは3に設定される。
 マージインデックスは、マージ候補リストサイズの大きさに応じて、図5に示すように、ビット列が割り当てられ、可変長符号化される。このように、マージモードでは、マージインデックスに割り当てるビット列を、マージ候補リストサイズの大きさによって変化させることにより、符号量を削減している。
 図6は、マージモードを用いる場合の符号化処理の一例を示すフローチャートである。ステップS1001では、隣接ブロックおよびco-locatedブロックから、予測方向、動きベクトル、および参照ピクチャインデックスのセットがマージ候補として取得される。ステップS1002では、マージ候補から重複候補およびマージ不可能候補が削除される。ステップS1003では、削除処理後のマージ候補数が、マージ候補リストサイズに設定される。ステップS1004では、符号化対象ブロックの符号化に用いるマージインデックスが決定される。ステップS1005において、決定したマージインデックスが、マージ候補リストサイズによって決められたビット列を用いて可変長符号化される。
 図7は、マージモードを用いる場合の復号処理の一例を示すフローチャートである。ステップS2001では、隣接ブロックおよびco-locatedブロックから、予測方向、動きベクトル、および参照ピクチャインデックスのセットがマージ候補として取得される。ステップS2002では、マージ候補から重複候補およびマージ不可能候補が削除される。ステップS2003では、削除処理後のマージ候補数が、マージ候補リストサイズに設定される。ステップS2004では、ビットストリームから復号対象ブロックの復号に用いるマージインデックスを、マージ候補リストサイズを用いて復号する。ステップS2005において、復号したマージインデックスが示すマージ候補を用いて、予測画像が生成され、復号処理が行われる。
 図8は、マージインデックスをビットストリームに付加する際のシンタックスを表す。図8において、merge_idxは、マージインデックスを表す。merge_flagは、マージフラグを表す。NumMergeCandは、マージ候補リストサイズを表す。このNumMergeCandには、マージ候補から、マージ不可能候補および重複候補が削除された後のマージ候補数が設定されている。
 一方、マージモードにおいて、マージ候補から重複候補が削除されれば、画像符号化装置と画像復号装置との間でマージ候補数に不一致が発生した場合などに、マージインデックスに割り当てられるビット列に画像符号化装置と画像復号装置との間で不一致が生じ、マージインデックスを正しく復号できなくなる。
 そこで、マージ候補リストサイズを固定サイズにすることが検討されている。
 マージ候補数がマージ候補リストサイズと同数である場合には、マージ候補リストの中に、予測精度が高い動きベクトルを有するマージ候補が存在する可能性が高くなる。すなわち、符号化効率を向上させることが可能となる。
 しかしながら、マージ候補リストサイズを固定サイズとすると、重複候補が削除された場合に、マージ候補数がマージ候補リストサイズより小さくなる場合が生じる。このような場合には、予測精度が高い動きベクトルを有するマージ候補が存在する可能性が低くなる。すなわち、符号化効率が低下する場合がある。
 そこで、本発明の一態様に係る画像符号化方法は、画像をブロック毎に符号化することでビットストリームを生成する画像符号化方法であって、符号化対象ブロックの符号化に用いる予測方向、動きベクトルおよび参照ピクチャインデックスのセットの候補であるマージ候補を第1マージ候補として導出する第1導出処理を行う第1導出ステップと、前記第1導出処理とは異なる方法によりマージ候補を第2マージ候補として導出する第2導出処理を行う第2導出ステップと、前記第1マージ候補および前記第2マージ候補の中から、前記符号化対象ブロックの符号化に用いるマージ候補を選択する選択ステップと、選択された前記マージ候補を特定するためのインデックスを前記ビットストリームに付加する付加ステップとを含み、前記第1導出ステップでは、前記第1マージ候補の総数が所定数を超えないように前記第1導出処理を行い、前記第2導出ステップでは、前記第1マージ候補の総数が予め定められたマージ候補の最大数よりも小さい場合に、前記第2導出処理を行う。
 これによれば、第1マージ候補の総数が所定数を超えないように第1導出処理を行うことができる。したがって、第1マージ候補の総数を制御することができ、選択可能なマージ候補の種類を増加させることができる。その結果、符号化効率を向上させることが可能となる。
 例えば、前記画像符号化方法は、さらに、前記第1導出処理および前記第2導出処理とは異なる方法によりマージ候補を第3マージ候補として導出する第3導出処理を行う第3導出ステップを含み、前記第2導出ステップでは、前記第1マージ候補および前記第3マージ候補の総数が前記予め定められたマージ候補の最大数よりも小さい場合に前記第2導出処理を行い、前記選択ステップでは、前記第1マージ候補、前記第2マージ候補および前記第3マージ候補の中から、前記符号化対象ブロックの符号化に用いるマージ候補を選択してもよい。
 これによれば、さらに第1導出処理および第2導出処理とは異なる方法により第3導出処理を行うことができる。したがって、選択可能なマージ候補の種類をさらに増加させることができ、符号化効率を向上させることが可能となる。
 例えば、前記第3導出ステップでは、前記第3導出処理により複数の第3マージ候補を導出し、前記第1導出ステップでは、前記複数の第3マージ候補にそれぞれ含まれる複数の予測方向、動きベクトルおよび参照ピクチャインデックスのセットを組み合わせて2方向予測のためのマージ候補を前記第1マージ候補として導出する処理を前記第1導出処理として行ってもよい。
 これによれば、複数の第3マージ候補を組み合わせて、2方向予測のための第1マージ候補を導出することができる。したがって、複数の第3マージ候補の中に2方向予測のためのマージ候補が含まれていない場合であっても、2方向予測のためのマージ候補を第1マージ候補として新たに導出することができる。その結果、選択可能なマージ候補の種類を増加させることができ、符号化効率を向上させることが可能となる。
 例えば、前記第3導出ステップでは、前記符号化対象ブロックに空間的または時間的に隣接するブロックの符号化に用いられた予測方向、動きベクトルおよび参照ピクチャインデックスのセットを用いて前記第3マージ候補を導出する処理を前記第3導出処理として行ってもよい。
 これによれば、符号化対象ブロックに空間的または時間的に隣接するブロックの符号化に用いられた予測方向、動きベクトルおよび参照ピクチャインデックスのセットを用いて第3マージ候補を導出することができる。したがって、信頼性が高いマージ候補を第3マージ候補として導出することができ、符号化効率を向上させることが可能となる。
 例えば、前記第2導出ステップでは、前記第1マージ候補、前記第2マージ候補および前記第3マージ候補の総数が前記予め定められたマージ候補の最大数と一致するまで、前記第2導出処理を繰り返してもよい。
 これによれば、第2マージ候補および第3マージ候補の総数が予め定められたマージ候補の最大数と一致するまで、第2導出処理を繰り返すことができる。したがって、マージ候補の最大数までマージ候補を導出することができ、符号化効率を向上させることが可能となる。
 例えば、前記第2導出ステップでは、零ベクトルを動きベクトルとして持つマージ候補を前記第2マージ候補として導出する処理を前記第2導出処理として行ってもよい。
 これによれば、零ベクトルを動きベクトルとして持つマージ候補を第2マージ候補として導出することができる。したがって、符号化対象ブロックが静止領域である場合に、信頼性が高いマージ候補を導出することができ、符号化効率を向上させることが可能となる。
 例えば、前記所定数は、前記第1導出処理により導出可能な第1マージ候補の総数に依存してもよい。
 これによれば、第1導出処理により導出可能な第1マージ候補の総数に依存する数を所定数として用いて、第1マージ候補を導出することができる。したがって、マージ候補の種類を増加させるために適切な所定数を用いて第1マージ候補を導出することができ、符号化効率を向上させることが可能となる。
 例えば、前記画像符号化方法は、さらに、第1規格に準拠する第1符号化処理、または第2規格に準拠する第2符号化処理に、符号化処理を切り替える切り替えステップと、切り替えられた前記符号化処理が準拠する前記第1規格または前記第2規格を示す識別情報を前記ビットストリームに付加する識別情報付加ステップとを含み、前記符号化処理が前記第1符号化処理に切り替えられた場合に、前記第1符号化処理として、前記第1導出ステップと、前記第2導出ステップと、前記選択ステップと、前記付加ステップとが行われてもよい。
 これによれば、第1規格に準拠する第1符号化処理と第2規格に準拠する第2符号化処理とを切り替えることが可能となる。
 また、本発明の一態様に係る画像復号方法は、ビットストリームに含まれる符号化画像をブロック毎に復号する画像復号方法であって、復号対象ブロックの復号に用いる予測方向、動きベクトルおよび参照ピクチャインデックスのセットの候補であるマージ候補を第1マージ候補として導出する第1導出処理を行う第1導出ステップと、前記第1導出処理とは異なる方法によりマージ候補を第2マージ候補として導出する第2導出処理を行う第2導出ステップと、前記ビットストリームからインデックスを取得する取得ステップと、取得された前記インデックスを用いて、前記第1マージ候補および前記第2マージ候補の中から、前記復号対象ブロックの復号に用いるマージ候補を選択する選択ステップとを含み、前記第1導出ステップでは、前記第1マージ候補の総数が所定数を超えないように前記第1導出処理を行い、前記第2導出ステップでは、前記第1マージ候補の総数が予め定められたマージ候補の最大数よりも小さい場合に、前記第2導出処理を行う。
 これによれば、第1マージ候補の総数が所定数を超えないように第1導出処理を行うことができる。したがって、第1マージ候補の総数を制御することができ、選択可能なマージ候補の種類を増加させることができる。その結果、符号化効率が向上されたビットストリームを適切に復号することが可能となる。
 例えば、前記画像復号方法は、さらに、前記第1導出処理および前記第2導出処理とは異なる方法によりマージ候補を第3マージ候補として導出する第3導出処理を行う第3導出ステップを含み、前記第2導出ステップでは、前記第1マージ候補および前記第3マージ候補の総数が前記予め定められたマージ候補の最大数よりも小さい場合に前記第2導出処理を行い、前記選択ステップでは、前記第1マージ候補、前記第2マージ候補および前記第3マージ候補の中から、前記復号対象ブロックの復号に用いるマージ候補を選択してもよい。
 これによれば、さらに第1導出処理および第2導出処理とは異なる方法により第3マージ候補を導出することができる。したがって、選択可能なマージ候補の種類をさらに増加させることができ、符号化効率が向上されたビットストリームを適切に復号することが可能となる。
 例えば、前記第3導出ステップでは、前記第3導出処理により複数の第3マージ候補を導出し、前記第1導出ステップでは、前記複数の第3マージ候補にそれぞれ含まれる複数の予測方向、動きベクトルおよび参照ピクチャインデックスのセットを組み合わせて2方向予測のためのマージ候補を前記第1マージ候補として導出してもよい。
 これによれば、複数の第3マージ候補を組み合わせて、2方向予測のための第1マージ候補を導出することができる。したがって、複数の第3マージ候補の中に2方向予測のためのマージ候補が含まれていない場合であっても、2方向予測のためのマージ候補を第1マージ候補として新たに導出することができる。その結果、選択可能なマージ候補の種類を増加させることができ、符号化効率が向上されたビットストリームを適切に復号することが可能となる。
 例えば、前記第3導出ステップでは、前記復号対象ブロックに空間的または時間的に隣接するブロックの復号に用いられた予測方向、動きベクトルおよび参照ピクチャインデックスのセットを用いて前記第3マージ候補を導出する処理を前記第3導出処理として行ってもよい。
 これによれば、符号化対象ブロックに空間的または時間的に隣接するブロックの符号化に用いられた予測方向、動きベクトルおよび参照ピクチャインデックスのセットを用いて第3マージ候補を導出することができる。したがって、信頼性が高いマージ候補を第3マージ候補として導出することができ、符号化効率が向上されたビットストリームを適切に復号することが可能となる。
 例えば、前記第2導出ステップでは、前記第1マージ候補、前記第2マージ候補および前記第3マージ候補の総数が前記予め定められたマージ候補の最大数と一致するまで、前記第2導出処理を繰り返してもよい。
 これによれば、第2マージ候補および第3マージ候補の総数が予め定められたマージ候補の最大数と一致するまで、第2導出処理を繰り返すことができる。したがって、マージ候補の最大数までマージ候補を導出することができ、符号化効率が向上されたビットストリームを適切に復号することが可能となる。
 例えば、前記第2導出ステップでは、零ベクトルを動きベクトルとして持つマージ候補を前記第2マージ候補として導出する処理を前記第2導出処理として行ってもよい。
 これによれば、零ベクトルを動きベクトルとして持つマージ候補を第2マージ候補として導出することができる。したがって、符号化対象ブロックが静止領域である場合に、信頼性が高いマージ候補を導出することができ、符号化効率が向上されたビットストリームを適切に復号することが可能となる。
 例えば、前記所定数は、前記第1導出処理により導出可能な第1マージ候補の総数に依存してもよい。
 これによれば、第1導出処理により導出可能な第1マージ候補の総数に依存する数を所定数として用いて、第1マージ候補を導出することができる。したがって、マージ候補の種類を増加させるために適切な所定数を用いて第1マージ候補を導出することができ、符号化効率が向上されたビットストリームを適切に復号することが可能となる。
 例えば、前記画像復号方法は、さらに、前記ビットストリームに付加された第1規格または第2規格を示す識別情報に応じて、前記第1規格に準拠する第1復号処理、または前記第2規格に準拠する第2復号処理に、復号処理を切り替える切り替えステップを含み、前記復号処理が第1復号処理に切り替えられた場合に、前記第1復号処理として、前記第1導出ステップと、前記第2導出ステップと、前記取得ステップと、前記選択ステップとが行われてもよい。
 これによれば、第1規格に準拠する第1復号処理と第2規格に準拠する第2復号処理とを切り替えることが可能となる。
 なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
 以下、実施の形態について、図面を参照しながら説明する。
 なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、請求の範囲を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
 (実施の形態1)
 図9は、実施の形態1に係る画像符号化装置100の構成を示すブロック図である。画像符号化装置100は、画像をブロック毎に符号化することでビットストリームを生成する。図9に示すように、画像符号化装置100は、マージ候補導出部110と、予測制御部120と、符号化部130とを備える。
 マージ候補導出部110は、マージ候補を導出する。そして、マージ候補導出部110は、導出された各マージ候補に、当該マージ候補を特定するためのインデックス(以下、「マージインデックス」と呼ぶ)を対応付けてマージ候補リストを生成する。具体的には、マージ候補導出部110は、図9に示すように、第3導出部111と、第1導出部112と、第2導出部113とを備える。
 第3導出部111は、第3導出方法によりマージ候補を導出する第3導出処理を行う。以下、第3導出処理によって導出されたマージ候補を第3マージ候補と呼ぶ。そして、第3導出部111は、第3マージ候補をマージインデックスに対応付けてマージ候補リストに登録する。
 具体的には、第3導出部111は、例えば、符号化対象ブロックに空間的または時間的に隣接するブロックの符号化に用いられた予測方向、動きベクトルおよび参照ピクチャインデックスのセットを用いて第3マージ候補を導出する処理を第3導出処理として行う。このようにして空間的および時間的に隣接するブロックから導出された第3マージ候補をそれぞれ空間マージ候補および時間マージ候補と呼ぶ。
 空間的に隣接するブロックとは、符号化対象ブロックを含むピクチャ内のブロックであって、符号化対象ブロックに隣接するブロックである。具体的には、空間的に隣接するブロックは、例えば、図3に示す隣接ブロックA~Dである。
 なお、空間的に隣接するブロックは、図3に示す隣接ブロックA~Dに限定されない。例えば、空間的に隣接するブロックは、隣接ブロックA~Dのいずれかに隣接するブロックであってもよい。
 時間的に隣接するブロックとは、符号化対象ブロックを含むピクチャと異なるピクチャに含まれるブロックであって、符号化対象ブロックに対応するブロックである。具体的には、時間的に隣接するブロックは、例えば、co-locatedブロックである。
 なお、時間的に隣接するブロックは、必ずしも符号化対象ブロックと同じ位置のブロック(co-locatedブロック)である必要はない。例えば、時間的に隣接するブロックは、co-locatedブロックに隣接するブロックであってもよい。
 また、第3導出部111は、他の導出方法によりマージ候補を導出する処理を第3導出処理として行ってもよい。つまり、第3導出部111は、空間マージ候補または時間マージ候補を導出する処理を第3導出処理として行わなくてもよい。
 第1導出部112は、第3導出方法とは異なる第1導出方法によりマージ候補を導出する第1導出処理を行う。以下、この第1導出処理によって導出されるマージ候補を第1マージ候補と呼ぶ。ここで、第1導出部112は、第1マージ候補の総数が所定数を超えないように第1導出処理を行う。そして、第1導出部112は、第1マージ候補をマージインデックスに対応付けてマージ候補リストに登録する。
 所定数は、第1マージ候補の上限数である。所定数は、固定数であってもよいし、可変数であってもよい。例えば、所定数は、第1導出処理により導出可能なマージ候補の総数に依存して決定されてもよい。具体的には、第1導出部112は、例えば、第3マージ候補の総数、あるいは参照可能なピクチャの総数などに依存して所定値を決定してもよい。このように、第1導出処理により導出可能なマージ候補の総数に所定数を依存させることにより、マージ候補の種類を増加させるために適切な所定数を用いて第1マージ候補を導出することができ、符号化効率を向上させることが可能となる。
 具体的には、第1導出部112は、例えば、複数の第3マージ候補にそれぞれ含まれる複数の予測方向、動きベクトルおよび参照ピクチャインデックスのセットを組み合わせて2方向予測のマージ候補を第1マージ候補として導出する処理を第1導出処理として行う。このように導出されるマージ候補を、combinedマージ候補と呼ぶ。なお、combinedマージ候補の導出処理の詳細は、実施の形態6において詳細に説明する。
 なお、第1導出部112は、他の導出方法によりマージ候補を導出する処理を第1導出処理として行ってもよい。つまり、第1導出部112は、combinedマージ候補を導出する処理とは異なる処理を第1導出処理として行ってもよい。
 第2導出部113は、第1マージ候補および第3マージ候補の総数が予め定められたマージ候補の最大数よりも小さい場合に、第1導出方法および第3導出方法とは異なる第2導出方法によりマージ候補を導出する第2導出処理を行う。以下、第2導出処理によって導出されるマージ候補を第2マージ候補と呼ぶ。そして、第2導出部113は、第2マージ候補をマージインデックスに対応付けてマージ候補リストに登録する。
 具体的には、第2導出部113は、例えば、零ベクトルを動きベクトルとして持つマージ候補を導出する処理を第2導出処理として行う。このように導出されるマージ候補を、zeroマージ候補と呼ぶ。なお、zeroマージ候補の導出処理の詳細は、実施の形態5において詳細に説明する。
 なお、第2導出部113は、他の導出方法によりマージ候補を導出する処理を第2導出処理として行ってもよい。つまり、第2導出部113は、zeroマージ候補を導出する処理を第1導出処理として行わなくてもよい。
 また、予め定められたマージ候補の最大数は、例えば、標準化された規格において予め定められた数である。また例えば、予め定められたマージ候補の最大数は、例えば、符号化対象ピクチャの特徴などに従って決定されてもよい。この場合、決定された最大数は、ビットストリームに付加されてもよい。
 予測制御部120は、第1~第3マージ候補の中から、符号化対象ブロックの符号化に用いるマージ候補を選択する。つまり、予測制御部120は、マージ候補リストから、符号化対象ブロックの予測画像の生成に用いるマージ候補を選択する。
 符号化部130は、選択されたマージ候補を特定するためのインデックス(マージインデックス)をビットストリームに付加する。例えば、符号化部130は、第1~第3マージ候補の総数(マージ候補数)を用いてインデックスを符号化し、符号化されたインデックスをビットストリームに付加する。そして、符号化部130は、符号化されたインデックスをビットストリームに付加する。
 また例えば、符号化部130は、第1~第3マージ候補の総数ではなく、予め定められたマージ候補の最大数を用いてインデックスを符号化してもよい。具体的には、符号化部130は、例えば図5に示すように、予め定められたマージ候補の最大数を用いて、インデックスの値に割り当てられたビット列を決定し、決定されたビット列を可変長符号化してもよい。これにより、符号化部130は、実際に導出されるマージ候補の総数に依存せずに、インデックスを符号化することができる。したがって、マージ候補の導出に必要な情報(例えば、co-locatedブロック等の情報)がロスされた場合でも、復号側ではインデックスを復号することができ、エラー耐性を向上させることが可能となる。また、復号側では、実際に導出されるマージ候補の総数に依存せずにインデックスを復号できる。つまり、復号側では、マージ候補の導出処理を待たずにインデックスの復号処理を行うことができる。すなわち、マージ候補の導出処理とインデックスの復号処理とを並列に行うことが可能なビットストリームを生成することができる。
 次に、以上のように構成された画像符号化装置100の各種動作について説明する。
 図10Aは、実施の形態1に係る画像符号化装置100の処理動作を示すフローチャートである。
 まず、マージ候補導出部110は、マージ候補を導出する(S110)。マージ候補導出部110は、導出されたマージ候補をマージ候補リストに登録する。
 次に、予測制御部120は、第1~第3マージ候補の中から符号化対象ブロックの符号化に用いるマージ候補を選択する(S120)。例えば、予測制御部120は、導出されたマージ候補の中から、符号化対象ブロックの符号量などを示すコストが最小となるマージ候補を選択する。
 そして、符号化部130は、選択されたマージ候補を特定するためのインデックスを、ビットストリームに付加する(S130)。また、符号化部130は、選択されたマージ候補を用いてインター予測を行うことにより、符号化対象ブロックのインター予測画像を生成する。このように生成されたインター予測画像を用いて、入力画像データが符号化される。
 次に、図10AのステップS110の詳細について図10Bおよび図11を用いて説明する。
 図10Bは、実施の形態1に係るマージ候補の導出処理を示すフローチャートである。図11は、実施の形態1に係る画像符号化装置100によって生成されたマージ候補リストの一例を示す図である。図11において、予め定められたマージ候補の最大数は「5」とし、所定数は「2」としている。
 まず、第3導出部111は、第3導出処理を行う(S111)。なお、ステップS111において、第3マージ候補が導出されるとは限らない。例えば、今回の第3導出処理によって導出される予定の第3マージ候補が、すでに導出された第3マージ候補と重複する場合には、第3導出部111は、今回の第3導出処理によって第3マージ候補を導出しない。なお、2つのマージ候補が重複するとは、2つのマージ候補に含まれる予測方向、動きベクトルおよび参照ピクチャインデックスのセットがすべて一致することを意味する。また例えば、符号化対象ブロックに空間的または時間的に隣接するブロックからマージ候補を導出する場合に、符号化対象ブロックに空間的または時間的に隣接するブロックが、(1)イントラ予測で符号化されたブロック、(2)スライスあるいはピクチャ境界外に存在するブロック、または(3)まだ符号化されていないブロックであるときには、第3導出部111は、当該ブロックから第3マージ候補を導出しない。
 続いて、第3導出部111は、第3導出処理を終了するか否かを判定する(S112)。例えば、第3導出部111は、予め定められたすべての隣接ブロックから第3導出処理を終了したか否かを判定することにより、第3導出処理を終了するか否かを判定する。
 ここで、第3導出処理を終了しないと判定された場合(S112のNo)、第3導出部111は、再度、第3導出処理を行う(S111)。
 図11では、隣接ブロックA~Dおよびco-locatedブロックから2つの第3マージ候補(空間マージ候補および時間マージ候補)が導出されている。そして、これらの第3マージ候補には、それぞれ、値が「0」および「1」のマージインデックスが割り当てられている。
 一方、第3導出処理を終了すると判定された場合(S112のYes)、第1導出部112は、第1導出処理を行う(S113)。続いて、第1導出部112は、第1導出処理によって導出された第1マージ候補の総数が所定数未満か否かを判定する(S114)。
 ここで、第1マージ候補の総数が所定数未満である場合(S114のYes)、第1導出部112は、再度、第1導出処理を行う(S113)。つまり、第1導出部112は、第1マージ候補の総数が所定数を超えないように第1導出処理を行う。
 図11では、2つの第3マージ候補を組み合わせることにより、2つの第1マージ候補(combinedマージ候補)が導出されている。これらの第1マージ候補には、それぞれ、第3マージ候補よりも大きな値(「2」および「3」)のマージインデックスが割り当てられている。
 一方、第1マージ候補の総数が所定数未満でない場合(S114のNo)、第2導出部113は、第2導出処理を行う(S115)。続いて、第2導出部113は、第1~第3マージ候補の総数が予め定められたマージ候補の最大数未満か否かを判定する(S116)。
 ここで、第1~第3マージ候補の総数が最大数未満である場合(S116のYes)、第2導出部113は、再度、第2導出処理を行う(S115)。つまり、第2導出部113は、第1~第3マージ候補の総数が予め定められたマージ候補の最大数と一致するまで、第2導出処理を繰り返す。
 図11では、第1マージ候補および第3マージ候補の総数が「4」であり、予め定められたマージ候補の最大数が「5」であるので、1つの第2マージ候補(zeroマージ候補)が導出されている。この第2マージ候補には、第3マージ候補および第1マージ候補よりも大きな値(「4」)のマージインデックスが割り当てられている。
 一方、第1~第3マージ候補の総数が最大数未満でない場合(S116のNo)、図10AのステップS120に進む。
 以上のように、本実施の形態に係る画像符号化装置100によれば、第1マージ候補の総数が所定数を超えないように第1導出処理を行うことができる。したがって、画像符号化装置100は、第1マージ候補の総数を制御することができ、選択可能なマージ候補の種類を増加させることができる。その結果、画像符号化装置100は、符号化効率を向上させることが可能となる。
 また、第2導出部113は、第2マージ候補および第3マージ候補の総数が予め定められたマージ候補の最大数と一致するまで、第2導出処理を繰り返すことができる。したがって、第2導出部113は、マージ候補の最大数までマージ候補を導出することができ、符号化効率を向上させることが可能となる。
 また、図11に示すように、第3マージ候補として空間/時間マージ候補が導出され、第1マージ候補としてcombinedマージ候補が導出され、第2マージ候補としてzeroマージ候補が導出されれば、信頼性が高いマージ候補から順にマージ候補が導出されることとなり、信頼性が高いマージ候補が導出される可能性が高くなる。
 また、図11に示すように、マージ候補導出部110は、空間/時間マージ候補(第3マージ候補)、combinedマージ候補(第1マージ候補)およびzeroマージ候補(第2マージ候補)の順にマージインデックスの値が大きくなるように、マージ候補にマージインデックスが割り当ててもよい。これにより、マージ候補導出部110は、選択される可能性が高いマージ候補により小さな値のインデックスを割り当てることができ、インデックスのための符号量を抑制することが可能となる。
 なお、第1~第3マージ候補は、combinedマージ候補、zeroマージ候補および空間/時間マージ候補に限定されない。また、第1~第3マージ候補に割り当てられるインデックスの値も図11に示すインデックスの値に限定されない。
 なお、本実施の形態において、画像符号化装置100は、第3マージ候補を導出していたが、第3マージ候補を導出しなくてもよい。つまり、マージ候補導出部110は、図9に示す第3導出部111を備えなくてもよい。この場合、画像符号化装置100は、図10Bに示すステップS111およびステップS112の処理を行わなくてもよい。また、ステップS113~ステップS116では、第3マージ候補を用いずに処理が行われればよい。例えば、ステップS115では、第2導出部113は、第1マージ候補の総数が予め定められたマージ候補の最大数未満か否かを判定すればよい。
 また、画像符号化装置100は、さらに第4マージ候補を導出してもよい。例えば、第1~第3マージ候補の総数がマージ候補の最大数と一致するまで第2マージ候補を導出できない場合には、マージ候補導出部110は、scalingマージ候補を第4マージ候補として導出してもよい。なお、scalingマージ候補については、実施の形態7において詳細に説明する。
 また、本実施の形態において、第2導出部113は、第1~第3マージ候補の総数が予め定められたマージ候補の最大数と一致するまで第2導出処理を繰り返しているが、第1~第3マージ候補の総数と予め定められたマージ候補の最大数とは必ずしも一致しなくてもよい。例えば、予め定められたマージ候補の最大数と第1マージ候補および第3マージ候補の総数と差分が、第2導出処理によって導出可能な第2マージ候補の総数よりも大きい場合には、第1~第3マージ候補の総数と予め定められたマージ候補の最大数とは一致しない。
 (実施の形態2)
 次に、実施の形態2について説明する。
 図12は、実施の形態2に係る画像復号装置200の構成を示すブロック図である。この画像復号装置200は、実施の形態1に係る画像符号化装置100に対応する装置である。具体的には、画像復号装置200は、例えば、実施の形態1に係る画像符号化装置100によって生成されたビットストリームに含まれる符号化画像をブロック毎に復号する。図12に示すように、画像復号装置200は、マージ候補導出部210と、復号部220と、予測制御部230とを備える。
 マージ候補導出部210は、実施の形態1におけるマージ候補導出部110と同様に、マージ候補を導出する。そして、マージ候補導出部210は、導出された各マージ候補にマージインデックスを対応付けてマージ候補リストを生成する。具体的には、マージ候補導出部210は、図12に示すように、第3導出部211と、第1導出部212と、第2導出部213とを備える。
 第3導出部211は、実施の形態1における第3導出部111と同様の処理を行う。つまり、第3導出部211は、第3導出方法により第3マージ候補を導出する第3導出処理を行う。そして、第3導出部111は、第3マージ候補をマージインデックスに対応付けてマージ候補リストに登録する。
 具体的には、第3導出部211は、例えば、復号対象ブロックに空間的または時間的に隣接するブロックの復号に用いられた予測方向、動きベクトルおよび参照ピクチャインデックスのセットを用いて第3マージ候補を導出する処理を第3導出処理として行う。
 第1導出部212は、実施の形態1における第1導出部112と同様の処理を行う。つまり、第1導出部212は、第1導出方法により第1マージ候補を導出する第1導出処理を行う。このとき、第1導出部212は、第1マージ候補の総数が所定数を超えないように第1導出処理を行う。そして、第1導出部212は、第1マージ候補をマージインデックスに対応付けてマージ候補リストに登録する。
 具体的には、第1導出部212は、例えば、複数の第3マージ候補に含まれる複数の予測方向、動きベクトルおよび参照ピクチャインデックスのセットを組み合わせて2方向予測のマージ候補を第1マージ候補として導出する処理を第1導出処理として行う。
 2方向予測とは、第1参照ピクチャリストおよび第2参照ピクチャリストの両方を参照する予測を意味する。なお、2方向予測は、必ずしも、時間的に前方向および後方向の参照ピクチャを参照する予測でなくてもよい。つまり、2方向予測は、2つの同一の方向(前方向または後方向)の参照ピクチャを参照する予測であってもよい。
 第2導出部213は、実施の形態1における第2導出部113と同様の処理を行う。つまり、第2導出部213は、第1マージ候補および第3マージ候補の総数が予め定められたマージ候補の最大数よりも小さい場合に、第2導出方法により第2マージ候補を導出する第2導出処理を行う。そして、第2導出部213は、第2マージ候補をマージインデックスに対応付けてマージ候補リストに登録する。
 具体的には、第2導出部213は、例えば、零ベクトルを動きベクトルとして持つマージ候補(zeroマージ候補)を導出する処理を第2導出処理として行う。この場合、第2導出部213は、zeroマージ候補に含まれる参照ピクチャインデックスとして、参照可能な複数のピクチャのインデックスを順に用いて、第2導出処理を行えばよい。
 復号部220は、ビットストリームから、マージ候補を特定するためのインデックス(マージインデックス)を取得する。例えば、復号部220は、ビットストリームに付加された符号化されたマージインデックスを、第1~第3マージ候補の総数または予め定められたマージ候補の最大数を用いて復号することにより、マージインデックスを取得する。
 予測制御部230は、復号部220によって取得されたインデックスを用いて、第1~第3マージ候補の中から、復号対象ブロックの復号に用いるマージ候補を選択する。つまり、予測制御部230は、マージ候補リストから、復号対象ブロックの予測画像の生成に用いるマージ候補を選択する。
 次に、以上のように構成された画像復号装置200の各種動作について説明する。
 図13Aは、実施の形態2に係る画像復号装置200の処理動作を示すフローチャートである。
 まず、マージ候補導出部210は、図10AのステップS110と同様にマージ候補を導出する(S210)。
 次に、復号部220は、ビットストリームからマージインデックスを取得する(S220)。例えば、復号部220は、第1~第3マージ候補の総数(マージ候補数)を用いて、符号化されたマージインデックスを復号することにより、マージインデックスを取得する。
 なお、復号部220は、例えば、予め定められたマージ候補の最大数を用いて、符号化されたマージインデックスを復号することにより、マージインデックスを取得してもよい。この場合、復号部220は、マージ候補導出処理(S210)の前に、マージインデックスの取得処理(S220)を行ってもよい。あるいは、復号部220は、マージ候補導出処理(S210)と並行して、マージインデックスの取得処理(S220)を行ってもよい。
 次に、予測制御部230は、取得されたマージインデックスを用いて、第1~第3マージ候補の中から復号対象ブロックの復号に用いるマージ候補を選択する(S230)。
 次に、図13AのステップS210の詳細について図13Bを用いて説明する。
 図13Bは、実施の形態2に係るマージ候補の導出処理を示すフローチャートである。
 まず、第3導出部211は、図10BのステップS111と同様に、第3導出処理を行う(S211)。続いて、第3導出部211は、第3導出処理を終了するか否かを判定する(S212)。ここで、第3導出処理を終了しないと判定された場合(S212のNo)、第3導出部211は、再度、第3導出処理を行う(S211)。
 一方、第3導出処理を終了すると判定された場合(S212のYes)、第1導出部212は、図10BのステップS113と同様に、第1導出処理を行う(S213)。続いて、第1導出部212は、第1マージ候補の総数が所定数未満か否かを判定する(S214)。
 一方、第1マージ候補の総数が所定数未満でない場合(S214のNo)、第2導出部213は、図10BのステップS115と同様に、第2導出処理を行う(S215)。続いて、第2導出部213は、第1~第3マージ候補の総数が予め定められたマージ候補の最大数未満か否かを判定する(S216)。
 ここで、第1~第3マージ候補の総数が最大数未満である場合(S216のYes)、第2導出部213は、再度、第2導出処理を行う(S215)。つまり、第2導出部213は、第1~第3マージ候補の総数が予め定められたマージ候補の最大数と一致するまで、第2導出処理を繰り返す。
 一方、第1~第3マージ候補の総数が最大数未満でない場合(S216のNo)、図13AのステップS220に進む。
 以上のように、本実施の形態に係る画像復号装置200によれば、第1マージ候補の総数が所定数を超えないように第1導出処理を行うことができる。したがって、画像復号装置200は、第1マージ候補の総数を制御することができ、選択可能なマージ候補の種類を増加させることができる。その結果、画像復号装置200は、符号化効率が向上されたビットストリームを適切に復号することが可能となる。
 また、第2導出部213は、第1~第3マージ候補の総数が予め定められたマージ候補の最大数と一致するまで、第2導出処理を繰り返すことができる。したがって、第2導出部213は、マージ候補の最大数までマージ候補を導出することができる。その結果、画像復号装置200は、符号化効率が向上されたビットストリームを適切に復号することが可能となる。
 なお、本実施の形態において、画像復号装置200は、第3マージ候補を導出していたが、第3マージ候補を導出しなくてもよい。つまり、マージ候補導出部210は、図12に示す第3導出部211を備えなくてもよい。この場合、画像復号装置200は、図13Bに示すステップS211およびステップS212の処理を行わなくてもよい。また、ステップS213~ステップS216では、第3マージ候補を用いずに処理が行われればよい。例えば、ステップS215では、第2導出部213は、第1マージ候補の総数が予め定められたマージ候補の最大数未満か否かを判定すればよい。
 (実施の形態3)
 次に、実施の形態1に係る画像符号化装置の応用例として、実施の形態3に係る画像符号化装置を、図面を用いて具体的に説明する。
 図14は、実施の形態3に係る画像符号化装置300の構成を示すブロック図である。画像符号化装置300は、画像をブロック毎に符号化することでビットストリームを生成する。
 画像符号化装置300は、図14に示すように、減算部301と、直交変換部302と、量子化部303と、逆量子化部304と、逆直交変換部305と、加算部306と、ブロックメモリ307と、フレームメモリ308と、イントラ予測部309と、インター予測部310と、インター予測制御部311と、ピクチャタイプ決定部312と、スイッチ313と、マージ候補導出部314と、colPicメモリ315と、可変長符号化部316とを備える。
 減算部301は、ブロック毎に、入力画像列に含まれる入力画像データから予測画像データを減算することにより予測誤差データを生成する。
 直交変換部302は、生成された予測誤差データに対し、画像領域から周波数領域への変換を行う。
 量子化部303は、周波数領域に変換された予測誤差データに対し、量子化処理を行う。
 逆量子化部304は、量子化部303によって量子化処理された予測誤差データに対し、逆量子化処理を行う。
 逆直交変換部305は、逆量子化処理された予測誤差データに対し、周波数領域から画像領域への変換を行う。
 加算部306は、ブロック毎に、予測画像データと、逆直交変換部305によって逆量子化処理された予測誤差データとを加算することにより、再構成画像データを生成する。
 ブロックメモリ307には、再構成画像データがブロック単位で保存される。
 フレームメモリ308には、再構成画像データがフレーム単位で保存される。
 ピクチャタイプ決定部312は、Iピクチャ、Bピクチャ、およびPピクチャのいずれのピクチャタイプで入力画像データを符号化するかを決定する。そして、ピクチャタイプ決定部312は、決定されたピクチャタイプを示すピクチャタイプ情報を生成する。
 イントラ予測部309は、ブロックメモリ307に保存されているブロック単位の再構成画像データを用いてイントラ予測を行うことにより、符号化対象ブロックのイントラ予測画像データを生成する。
 インター予測部310は、フレームメモリ308に保存されているフレーム単位の再構成画像データと、動き検出等により導出した動きベクトルとを用いてインター予測を行うことにより、符号化対象ブロックのインター予測画像データを生成する。例えば、インター予測部310は、予測モードとしてマージモードが選択された場合に、マージ候補を用いてインター予測を行うことにより、符号化対象ブロックの予測画像データを生成する。
 スイッチ313は、符号化対象ブロックがイントラ予測符号化される場合に、イントラ予測部309によって生成されたイントラ予測画像データを、符号化対象ブロックの予測画像データとして減算部301および加算部306に出力する。一方、スイッチ313は、符号化対象ブロックがインター予測符号化される場合に、インター予測部310によって生成されたインター予測画像データを、符号化対象ブロックの予測画像データとして減算部301および加算部306に出力する。
 マージ候補導出部314は、実施の形態1におけるマージ候補導出部110と同様にマージ候補を導出する。つまり、マージ候補導出部314は、互いに異なる少なくとも2つの導出方法(第1導出方法および第2導出方法)をそれぞれ用いて、マージ候補を導出する処理(第1導出処理および第2導出処理)を行う。例えば、マージ候補導出部314は、符号化対象ブロックの隣接ブロック、および、colPicメモリ315に格納されているco-locatedブロックの動きベクトル等を示すcolPic情報を用いて、マージ候補を導出する。
 ここで、マージ候補導出部314は、第1導出方法で導出する第1マージ候補の総数には制限を設け、第2導出方法で導出する第2マージ候補の総数には制限を設けない。すなわち、マージ候補導出部314は、第1マージ候補の総数が所定数を超えないように、第1マージ候補を導出する。一方、マージ候補導出部314は、第1マージ候補がマージ候補リストサイズに満たない場合に、第1マージ候補および第2マージ候補の総数がマージ候補リストサイズと同数になるまで、第2マージ候補を導出する。
 このように、第1マージ候補の総数には制限を設け、第2マージ候補の総数には制限を設けないことにより、マージ候補導出部314は、バリエーションの異なるマージ候補を導出することができる。また、マージ候補導出部314は、マージ候補リストサイズと同数になるまでマージ候補を導出する。そのため、精度の高い動きベクトルを有するマージ候補がマージ候補リストに存在する可能性が高くなる。すなわち、マージ候補導出部314は、符号化効率を向上させることが可能となる。
 また、マージ候補導出部314は、導出した各マージ候補に対して、マージインデックスを割り当てる。そして、マージ候補導出部314は、マージ候補と、マージインデックスとを、インター予測制御部311に送る。また、マージ候補導出部314は、導出したマージ候補の総数(マージ候補数)を可変長符号化部316に送信する。
 インター予測制御部311は、動き検出により導出された動きベクトルを用いる予測モード(動き検出モード)と、マージ候補を用いる予測モード(マージモード)とのうち、最も小さい予測誤差が得られる予測モードを選択する。また、インター予測制御部311は、予測モードがマージモードかどうかを表すマージフラグを可変長符号化部316に送信する。また、インター予測制御部311は、予測モードとしてマージモードが選択された場合に、選択されたマージ候補に対応するマージインデックスを、可変長符号化部316に送信する。さらに、インター予測制御部311は、符号化対象ブロックの動きベクトル等を含むcolPic情報をcolPicメモリ315に転送する。
 可変長符号化部316は、量子化処理された予測誤差データと、マージフラグおよびピクチャタイプ情報とに対し、可変長符号化処理を行うことで、ビットストリームを生成する。また、可変長符号化部316は、マージ候補数をマージ候補リストサイズに設定する。そして、可変長符号化部316は、符号化に用いるマージインデックスに、マージ候補リストサイズに応じたビット列を割り当てて、割り当てられたビット列に対して可変長符号化を行う。
 次に、以上のように構成された画像符号化装置300の各種動作について説明する。
 図15は、実施の形態3に係る画像符号化装置300の処理動作を示すフローチャートである。
 ステップS310では、マージ候補導出部314は、実施の形態1と同様にマージ候補を導出する。
 ステップS320では、インター予測制御部311は、動き検出により導出された動きベクトルを用いて生成した予測画像の予測誤差と、マージ候補を用いて生成した予測画像の予測誤差とを、後述する方法で比較し、予測モードを選択する。ここでは、選択された予測モードがマージモードであれば、インター予測制御部311は、マージフラグに「1」をセットし、そうでなければ、マージフラグに「0」をセットする。
 ステップS330では、マージフラグの値が「1」であるか否か(すなわち、予測モードがマージモードかどうか)が判定される。
 ここで、ステップS330の判定結果が真ならば(S330のYes)、ステップS340において、可変長符号化部316は、マージフラグをビットストリームに付加する。さらに、ステップS350において、可変長符号化部316は、符号化に用いるマージ候補のマージインデックスに、図5に示すようなマージ候補リストサイズに応じたビット列を割り当てる。そして、可変長符号化部316は、割り当てられたビット列に対して可変長符号化を行う。
 一方、ステップS330の判定結果が偽ならば(S330のNo)、ステップS360において、可変長符号化部316は、マージフラグおよび動き検出ベクトルモードの情報をビットストリームに付加する。
 なお、ステップS350において、可変長符号化部316は、マージインデックスをビットストリームに付加したが、例えばマージ候補リストサイズが「1」の場合は、マージインデックスをビットストリームに付加しなくてもよい。これにより、マージインデックスの情報量を削減できる。
 図16は、図15のステップS320の詳細な処理を示すフローチャートである。具体的には、図16は、マージ候補の選択に関する処理を示す。以下、図16について説明する。
 ステップS321では、インター予測制御部311は、処理の初期化を行う。具体的には、インター予測制御部311は、マージ候補インデックスに「0」をセットし、最小予測誤差に、動きベクトル検出モードの予測誤差(コスト)をセットし、マージフラグに「0」をセットする。ここで、コストは、例えば、R-D最適化モデルの以下の式で算出される。
 (式1)
 Cost=D+λR
 式1において、Dは、符号化歪を表す。例えば、ある動きベクトルで生成した予測画像を用いて符号化対象ブロックを符号化および復号して得られた画素値と、符号化対象ブロックの元の画素値との差分絶対値和などがDとして用いられる。また、Rは、発生符号量を表す。予測画像生成に用いた動きベクトルを符号化するために必要な符号量などがRとして用いられる。また、λは、ラグランジュの未定乗数である。
 ステップS322では、インター予測制御部311は、マージ候補インデックスの値が、符号化対象ブロックのマージ候補数よりも小さいかどうかを判定する。つまり、インター予測制御部311は、まだ以下のステップS323~ステップS325の処理が行われていないマージ候補が存在するかどうかを判定する。
 ここで、ステップS322の判定結果が真ならば(S322のYes)、ステップS323において、インター予測制御部311は、マージ候補インデックスが割り振られたマージ候補のコストを算出する。そして、ステップS324では、インター予測制御部311は、算出したマージ候補のコストが、最小予測誤差よりも小さいかどうかを判定する。
 ここで、ステップS324の判定結果が真ならば(S324のYes)、ステップS325において、インター予測制御部311は、最小予測誤差、マージインデックス、およびマージフラグの値を更新する。一方、ステップS324の判定結果が偽ならば(S324のNo)、インター予測制御部311は、最小予測誤差、マージインデックス、およびマージフラグの値を更新しない。
 ステップS326では、インター予測制御部311は、マージ候補インデックスの値に1を加算し、ステップS322からステップS326を繰り返し行う。
 一方、ステップS322の判定結果が偽ならば(S322のNo)、すなわち、未処理のマージ候補がなくなれば、ステップS327において、インター予測制御部311は、最終的に設定されているマージフラグおよびマージインデックスの値を確定する。
 なお、本実施の形態では、マージモードにおいて常にマージフラグがビットストリームに付加されていたが、必ずしもこれに限らない。例えば、符号化対象ブロックが所定の条件を満たす場合に、強制的にマージモードを選択するときには、マージフラグは、ビットストリームに付加させなくてもよい。これにより、情報量を削減することができ、符号化効率を向上させることができる。
 なお、本実施の形態では、符号化対象ブロックの隣接ブロックから予測方向、動きベクトルおよび参照ピクチャインデックスをコピーして得られたマージ候補を用いて、符号化対象ブロックの符号化を行うマージモードの例を示したが、必ずしもこれに限らない。例えば、スキップマージモードで符号化対象ブロック符号化されてもよい。スキップマージモードでは、マージモードと同様にマージ候補を用いて符号化対象ブロックの符号化を行う。その結果、符号化対象ブロックのすべての予測誤差データが「0」であれば、スキップフラグに「1」をセットし、スキップフラグおよびマージインデックスをビットストリームに付加する。また、予測誤差データが「0」でなければ、スキップフラグに「0」をセットして、スキップフラグ、マージフラグ、マージインデックス、および予測誤差データをビットストリームに付加する。
 なお、本実施の形態では、マージ候補を用いて符号化対象ブロックを符号化する例を示したが、必ずしもこれに限らない。例えば、マージ候補を用いて動きベクトル検出モードの動きベクトルを符号化してもよい。つまり、動きベクトル検出モードの動きベクトルから、マージインデックスで指定したマージ候補の動きベクトルを減ずることにより差分を算出し、その差分およびマージインデックスをビットストリームに付加してもよい。また、動きベクトル検出モードの参照ピクチャインデックスRefIdx_MEと、マージ候補の参照ピクチャインデックスRefIdx_Mergeとを用いて、マージ候補の動きベクトルMV_Mergeを式2のようにスケーリングし、動きベクトル検出モードの動きベクトルからスケーリング後のマージ候補の動きベクトルscaledMV_Mergeを減ずることにより差分を算出してもよい。そして、算出された差分およびマージインデックスをビットストリームに付加しても構わない。
 (式2)
 scaledMV_Merge=MV_Merge×(POC(RefIdx_ME)-curPOC)/(POC(RefIdx_Merge)-curPOC)
 ここで、POC(RefIdx_ME)は、参照ピクチャインデックスRefIdx_MEが示す参照ピクチャの表示順を表す。POC(RefIdx_Merge)は、参照ピクチャインデックスRefIdx_Mergeが示す参照ピクチャの表示順を表す。curPOCは、符号化対象ピクチャの表示順を表す。
 (実施の形態4)
 次に、実施の形態4について説明する。
 図17は、実施の形態4に係る画像復号装置400の構成を示すブロック図である。この画像復号装置400は、実施の形態3に係る画像符号化装置300に対応する装置である。具体的には、画像復号装置400は、例えば、実施の形態3に係る画像符号化装置300によって生成されたビットストリームに含まれる符号化画像をブロック毎に復号する。
 画像復号装置400は、図17に示すように、可変長復号部401と、逆量子化部402と、逆直交変換部403と、加算部404と、ブロックメモリ405と、フレームメモリ406と、イントラ予測部407と、インター予測部408と、インター予測制御部409と、スイッチ410と、マージ候補導出部411と、colPicメモリ412とを備える。
 可変長復号部401は、入力されたビットストリームに対し、可変長復号処理を行い、ピクチャタイプ情報、マージフラグ、および量子化係数を生成する。また、可変長復号部401は、マージ候補リストサイズを用いて、マージインデックスの可変長復号処理を行う。
 逆量子化部402は、可変長復号処理によって得られた量子化係数に対し、逆量子化処理を行う。
 逆直交変換部403は、逆量子化処理によって得られた直交変換係数を、周波数領域から画像領域へ変換することにより、予測誤差データを生成する。
 ブロックメモリ405には、予測誤差と予測画像データとが加算されて生成された復号画像データが、ブロック単位で保存される。
 フレームメモリ406には、復号画像データがフレーム単位で保存される。
 イントラ予測部407は、ブロックメモリ405に保存されているブロック単位の復号画像データを用いてイントラ予測を行うことにより、復号対象ブロックの予測画像データを生成する。
 インター予測部408は、フレームメモリ406に保存されているフレーム単位の復号画像データを用いてインター予測を行うことにより、復号対象ブロックの予測画像データを生成する。例えば、インター予測部408は、マージフラグに1が設定されている場合に、マージ候補を用いてインター予測を行うことにより、復号対象ブロックの予測画像データを生成する。
 スイッチ410は、イントラ予測部407によって生成されたイントラ予測画像データ、またはインター予測部408によって生成されたインター予測画像データを、復号対象ブロックの予測画像データとして加算部404に出力する。
 マージ候補導出部411は、実施の形態3と同様に、互いに異なる少なくとも2つの導出方法(第1導出方法および第2導出方法)をそれぞれ用いて、マージ候補を導出する処理(第1導出処理および第2導出処理)を行う。例えば、マージ候補導出部411は、復号対象ブロックの隣接ブロック、および、colPicメモリ412に格納されているco-locatedブロックの動きベクトル等を示すcolPic情報を用いて、マージ候補を導出する。
 ここで、マージ候補導出部411は、第1導出方法で導出する第1マージ候補の総数には制限を設け、第2導出方法で導出する第2マージ候補の総数には制限を設けない。すなわち、マージ候補導出部411は、第1マージ候補の総数が所定数を超えないように、第1マージ候補を導出する。一方、マージ候補導出部411は、第1マージ候補がマージ候補リストサイズに満たない場合に、第1マージ候補および第2マージ候補の総数がマージ候補リストサイズと同数になるまで、第2マージ候補を導出する。
 このように、第1マージ候補の総数には制限を設け、第2のマージ候補の総数には制限を設けないことにより、マージ候補導出部411は、バリエーションの異なるマージ候補を導出することができる。また、マージ候補導出部411は、マージ候補リストサイズと同数になるまでマージ候補を導出する。そのため、精度の高い動きベクトルを有するマージ候補がマージ候補リストに存在する可能性が高くなる。
 また、マージ候補導出部411は、導出した各マージ候補に対して、マージインデックスの値を割り当てる。そして、マージ候補導出部411は、マージ候補とマージインデックスとを、インター予測制御部409に送る。また、マージ候補導出部411は、導出したマージ候補の総数(マージ候補数)を可変長復号部401に送信する。
 インター予測制御部409は、復号されたマージフラグの値が「0」ならば、動きベクトル検出モードの情報を用いて、インター予測部408にインター予測画像を生成させる。一方、マージフラグの値が「1」ならば、インター予測制御部409は、復号されたマージインデックスに基づいて、導出された複数のマージ候補の中からインター予測に用いるマージ候補を選択する。そして、インター予測制御部409は、選択されたマージ候補を用いて、インター予測部408にインター予測画像を生成させる。また、インター予測制御部409は、復号対象ブロックの動きベクトル等を含むcolPic情報をcolPicメモリ412に転送する。
 最後に、加算部404は、予測画像データと予測誤差データとを加算することにより、復号画像データを生成する。
 図18は、実施の形態4に係る画像復号装置400の処理動作を示すフローチャートである。
 ステップS410では、可変長復号部401は、マージフラグを復号する。
 ステップS420においてマージフラグの値が「1」ならば(S420のYes)、ステップS430において、図15のステップS310と同様の方法で、マージ候補を導出する。
 ステップS440では、可変長復号部401は、マージ候補リストサイズを用いて、ビットストリーム中のマージインデックスを可変長復号する。
 ステップS450では、インター予測制御部409は、復号されたマージインデックスが示すマージ候補に含まれる予測方向、動きベクトル、および参照ピクチャインデックスを用いてインター予測画像を生成する。
 ステップS420においてマージフラグの値が「0」ならば(S420のNo)、ステップS460において、インター予測部408は、可変長復号部401によって復号された動きベクトル検出モードの情報を用いて、インター予測画像を生成する。
 なお、ステップS430で導出されたマージ候補の総数(マージ候補リストサイズ)が「1」の場合は、マージインデックスは、復号されずに、「0」と推定されても構わない。
 (実施の形態5)
 実施の形態5では、第1導出処理または第2導出処理の一例として、zeroマージ候補の導出処理を、図面を用いて詳細に説明する。
 図19は、実施の形態5におけるzeroマージ候補の導出処理を示すフローチャートである。具体的には、図19は、実施の形態1~4におけるマージ候補導出部110、210、314または411の処理動作の一部を示す。つまり、図19は、第1導出部または第2導出部の処理動作を示す。
 ステップS501では、マージ候補導出部は、zeroマージ候補を導出する際に用いる、予測方向0の参照ピクチャインデックスrefIdxL0の値、および、予測方向1の参照ピクチャインデックスrefIdxL1の値を更新する。参照ピクチャインデックスrefIdxL0およびrefIdxL1には、初期値として「-1」が設定されている。そして、ステップS501の処理が行われるたびに、参照ピクチャインデックスrefIdxL0およびrefIdxL1の値が+1だけ加算される。
 つまり、1回目のマージ候補の導出処理では、静止領域のためのzeroマージ候補として、値0の動きベクトル(零ベクトル)と、値0の参照ピクチャインデックスとを持つzeroマージ候補がマージ候補リストに追加される。そして、2回目のマージ候補の導出処理では、値0の動きベクトルと、値1の参照ピクチャインデックスとを持つzeroマージ候補がマージ候補リストに追加される。
 ステップS502では、マージ候補導出部は、更新した予測方向0の参照ピクチャインデックスrefIdxL0の値が、予測方向0の参照ピクチャリスト0の最大参照枚数より小さい、かつ、更新した予測方向1の参照ピクチャインデックスrefIdxL1の値が、予測方向1の参照ピクチャリスト1の最大参照枚数より小さいかどうかを判定する。
 ここで、ステップS502の判定結果が真ならば(S502のYes)、ステップS503において、マージ候補導出部は、動きベクトル(0,0)および参照ピクチャインデックスrefIdxL0を、zeroマージ候補の予測方向0に割り当てる。さらに、ステップS504において、マージ候補導出部は、動きベクトル(0,0)および参照ピクチャインデックスrefIdxL1を、zeroマージ候補の予測方向1に割り当てる。
 これらのステップS503およびステップS504の処理により、マージ候補導出部は、2方向予測のzeroマージ候補を導出することができる。図20は、導出されたzeroマージ候補の一例を示す。
 ステップS505では、マージ候補導出部は、導出されたzeroマージ候補と同一の予測方向、動きベクトル、および参照ピクチャインデックスを持つマージ候補が、既にマージ候補リスト内に存在するかどうかを判定する。つまり、マージ候補導出部は、導出されたzeroマージ候補が重複候補であるかどうかを判定する。
 ここで、ステップS505の判定結果が偽であれば(S505のNo)、ステップS506において、マージ候補導出部は、zeroマージ候補をマージ候補リストに登録する。
 一方、ステップS502の判定結果が偽(S502のNo)、またはステップS505の判定結果が真であれば(S505のYes)、zeroマージ候補をマージリストに登録しない。
 このように、マージ候補導出部は、参照可能な各参照ピクチャに対して値0の動きベクトルを持つzeroマージ候補を導出する。そして、マージ候補導出部は、導出されたzeroマージ候補を新たにマージ候補リストに追加する。これによって、画像符号化装置は、特に、符号化対象ブロックが静止領域の場合に、マージモードの符号化効率を向上することができる。
 なお、本実施の形態では、値0の動きベクトル、予測方向0の参照ピクチャインデックス、および予測方向1の参照ピクチャインデックスを用いて、2方向予測のzeroマージ候補を導出する例を示したが、必ずしもこれに限らない。例えば、マージ候補導出部は、値0の動きベクトルおよび予測方向0の参照ピクチャインデックスを用いて、予測方向0のzeroマージ候補を導出してもよい。また、同様に、マージ候補導出部は、値0の動きベクトルおよび予測方向1の参照ピクチャインデックスを用いて、予測方向1のzeroマージ候補を導出してもよい。
 なお、本実施の形態では、参照ピクチャインデックスを値0から順に+1を加算しながら、zeroマージ候補を導出する例を示したが、必ずしもこれに限らない。例えば、マージ候補導出部は、符号化対象ピクチャから表示順において最も距離が近い参照ピクチャに割り振られた参照ピクチャインデックスから順に、zeroマージ候補を導出しても構わない。
 なお、本実施の形態では、マージ候補導出部は、図19のステップS505においてzeroマージ候補が重複候補であるかどうかを判定したが、必ずしもこれに限らない。例えば、マージ候補導出部は、ステップS505の判定を省略してもよい。これにより、マージ候補導出部は、マージ候補導出処理量を削減することができる。
 このように、本実施の形態によれば、マージ候補導出部は、第1マージ候補または第2マージ候補として、静止領域用の零動きベクトルを持つマージ候補を導出することができ、符号化効率を向上することが可能になる。より具体的には、マージ候補導出部は、参照可能な各参照ピクチャに対して零ベクトルを動きベクトルとして持つマージ候補を導出し、導出したマージ候補を新たにマージ候補リストに登録することができる。これにより、符号化対象ブロックが静止領域の場合に、信頼性が高いマージ候補を導出することができ、符号化効率を向上させることができる。
 なお、本実施の形態は、静止領域用の動きベクトルとして、零ベクトルを持つマージ候補を導出する例を示したが、必ずしもこれには限らない。例えば、ビデオ撮影時の微小なカメラぶれ等を考慮するために、動きベクトル(0、1)など、零動きベクトル(0、0)よりもやや大きい、または、やや小さい値を有する動きベクトルを持つマージ候補を導出してもよい。また、シーケンス、ピクチャ、または、スライスのヘッダ等に、オフセットパラメータ(OffsetX、OffsetY)等を付加し、動きベクトル(OffsetX、OffsetY)を持つマージ候補を導出してもよい。
 (実施の形態6)
 実施の形態6では、第1導出処理、または、第2導出処理の一例として、combinedマージ候補の導出処理を、図面を用いて詳細に説明する。
 図21は、実施の形態6におけるcombinedマージ候補の導出処理を示すフローチャートである。具体的には、図21は、実施の形態1~4におけるマージ候補導出部110、210、314または411の処理動作の一部を示す。つまり、図21は、第1導出部または第2導出部の処理動作を示す。
 ステップS601では、マージ候補導出部は、マージ候補インデックスidx1、idx2を更新する。マージ候補インデックスidx1、idx2は、combinedマージ候補を導出するために用いられる2つのマージ候補を決定するためのインデックスである。
 例えば、マージ候補導出部は、マージ候補インデックスidx1、idx2を「0」、「1」に更新する。この場合、マージ候補導出部は、以下のステップS602~ステップS610の処理を行うことにより、マージ候補リストにおいて値0のマージインデックスが割り当てられたマージ候補[0]に含まれる予測方向、動きベクトルおよび参照ピクチャインデックスと、値1のマージインデックスが割り当てられたマージ候補[1]に含まれる予測方向、動きベクトルおよび参照ピクチャインデックスとを組み合わせて、combinedマージ候補を導出する。マージ候補導出部は、combinedマージ候補の導出処理を行うたびに、ステップS601において、マージ候補インデックスidx1、idx2の値を順に更新する。なお、マージインデックスidx1、idx2の更新手順は、特に限定される必要はない。combinedマージ候補の導出処理の前にすでに導出されているマージ候補の全ての組合せを用いてcombinedマージ候補の導出処理ができるような手順であれば、どのような手順でも構わない。
 ステップS602では、マージ候補導出部は、(1)マージ候補インデックスidx1、idx2の値が同一ではなく、かつ、(2)マージ候補[idx1]が、combinedマージ候補ではなく、かつ、(3)マージ候補[idx2]が、combinedマージ候補でないかどうかを判定する。
 ステップS602の判定結果が真ならば(S142のYes)、ステップS603において、マージ候補導出部は、(1)マージ候補[idx1]およびマージ候補[idx2]の予測方向が異なる、または、(2)マージ候補[idx1]とマージ候補[idx2]がともに2方向予測であるかどうかを判定する。ここで、ステップS603の判定結果が真ならば(S603のYes)、ステップS604において、マージ候補導出部は、(1)マージ候補[idx1]が予測方向0、または2方向予測であり、かつ、(2)マージ候補[idx2]が予測方向1、または2方向予測であるかどうかを判定する。つまり、マージ候補導出部は、マージ候補[idx1]が少なくとも予測方向0の動きベクトルを持ち、かつ、マージ候補[idx2]が少なくとも予測方向1の動きベクトルを持つかどうかを判定する。
 ここで、ステップS604の判定結果が真ならば(S604のYes)、ステップS605において、マージ候補導出部は、マージ候補[idx1]の予測方向0の動きベクトルおよび参照ピクチャインデックスをcombinedマージ候補の予測方向0に割り当てる。さらに、ステップS606において、マージ候補導出部は、マージ候補[idx2]の予測方向1の動きベクトルおよび参照ピクチャインデックスをcombinedマージ候補の予測方向1に割り当てる。これにより、マージ候補導出部は、2方向予測のためのcombinedマージ候補を導出する。
 一方、ステップS604の判定結果が偽ならば(S604のNo)、ステップS607において、マージ候補導出部は、マージ候補[idx2]の予測方向0の動きベクトルおよび参照ピクチャインデックスをcombinedマージ候補の予測方向0に割り当てる。さらに、ステップS608において、マージ候補導出部は、マージ候補[idx1]の予測方向1の動きベクトルおよび参照ピクチャインデックスをcombinedマージ候補の予測方向1に割り当てる。これにより、マージ候補導出部は、2方向予測のためのcombinedマージ候補を導出する。
 ステップS609では、マージ候補導出部は、導出されたcombinedマージ候補と同一の予測方向、動きベクトル、および参照ピクチャインデックスを持つマージ候補が、既にマージ候補リスト内に存在するかどうかを判定する。つまり、マージ候補導出部は、導出されたcombinedマージ候補が重複候補であるかどうかを判定する。
 ここで、ステップS609の判定結果が偽であれば(S609のNo)、ステップS610において、マージ候補導出部は、導出されたcombinedマージ候補をマージ候補リストに登録する。
 一方、ステップS602もしくはステップS603の判定結果が偽(S602またはS603のNo)、またはステップS609の判定結果が真であれば(S609のYes)であれば、マージ候補導出部は、導出されたcombinedマージ候補をマージ候補リストに登録しない。
 以上のように、マージ候補導出部は、combinedマージ候補を導出し、マージ候補リストに登録する。
 なお、本実施の形態では、マージ候補導出部は、ステップS609においてcombinedマージ候補が重複候補であるかどうかを判定したが、必ずしもこれに限らない。例えば、マージ候補導出部は、ステップS609の判定を省略してもよい。これにより、マージ候補導出部は、マージ候補導出処理量を削減することができる。
 以上のように、本実施の形態によれば、マージ候補導出部は、既に導出された複数のマージ候補を組み合わせて、2方向予測のためのマージ候補を導出することができる。したがって、既に導出された複数のマージ候補の中に2方向予測のためのマージ候補が含まれていない場合であっても、マージ候補導出部は、2方向予測のためのマージ候補を新たに導出することができる。その結果、マージ候補導出部は、選択可能なマージ候補の種類を増加させることができ、符号化効率を向上させることが可能となる。
 (実施の形態7)
 実施の形態7では、第1導出処理または第2導出処理の一例として、scalingマージ候補の導出処理を、図面を用いて詳細に説明する。
 図22は、実施の形態7におけるscalingマージ候補の導出処理を示すフローチャートである。具体的には、図22は、実施の形態1~4におけるマージ候補導出部110、210、314または411の処理動作の一部を示す。つまり、図22は、第1導出部または第2導出部の処理動作を示す。
 ステップS701では、マージ候補導出部は、予測方向インデックスXを更新する。そして、ステップS702では、マージ候補導出部は、マージ候補インデックスidxを更新する。予測方向インデックスXおよびマージ候補インデックスidxは、scalingマージ候補を導出するために用いられる予測方向およびマージ候補を決定するためのインデックスである。
 例えば、マージ候補導出部は、予測方向インデックスXを「0」に更新し、マージ候補インデックスidxを「0」に更新する。この場合、マージ候補導出部は、以下のステップS702~ステップS711の処理を行うことにより、マージ候補リストにおいて値0のマージインデックスが割り当てられたマージ候補[0]の、予測方向0の動きベクトルおよび参照ピクチャインデックスを用いて、scalingマージ候補を導出する。マージ候補導出部は、scalingマージ候補の導出処理を行うたびに、ステップS701およびステップS702において、予測方向Xおよびマージ候補インデックスidxの値を順に更新する。
 ステップS703では、マージ候補導出部は、マージ候補[idx]が、scalingマージ候補ではなく、かつ、マージ候補[idx]が予測方向Xの動きベクトルを持つかどうかを判定する。ここで、ステップS703の判定結果が真ならば(S703のYes)、ステップS704において、マージ候補導出部は、マージ候補[idx]の予測方向Xの動きベクトルmvLXおよび参照ピクチャインデックスrefIdxLXを用いて、予測方向(1-X)の動きベクトルmvL(1-X)および参照ピクチャインデックスrefIdxL(1-X)を算出する。例えば、マージ候補導出部は、mvL(1-X)およびrefIdxL(1-X)を、以下の式3および式4を用いて算出する。
 (式3)
 refIdxL(1-X)=refIdxLX
 (式4)
 mvL(1-X)=mvLX×(POC(refIdxL(1-X))-curPOC)/(POC(refIdxLX)-curPOC)
 ここで、POC(refIdxLX)は、参照ピクチャインデックスrefIdxLXが示す参照ピクチャの表示順を表す。また、POC(refIdxL(1-X))は、参照ピクチャインデックスrefIdxL(1-X)が示す参照ピクチャの表示順を表す。また、curPOCは、符号化対象ピクチャの表示順を表す。
 図23は、実施の形態7において算出される動きベクトルおよび参照ピクチャインデックスの一例を示す。図23に示すように、マージ候補導出部は、マージ候補に含まれる1つの予測方向(予測方向X)の動きベクトルmvLXおよび参照ピクチャインデックスrefIdxLXを用いてスケーリング処理を行うことにより、他の予測方向(予測方向(1-X))の動きベクトルmvL(1-X)および参照ピクチャインデックスrefIdxL(1-X)を算出する。
 ステップS705では、マージ候補導出部は、予測方向Xの値が「0」かどうかを判定する。ここで、ステップS705の判定結果が真ならば(S705のYes)、ステップS706において、マージ候補導出部は、マージ候補[idx]の予測方向Xの動きベクトルおよび参照ピクチャインデックスをscalingマージ候補の予測方向0に割り当てる。さらに、ステップS707において、マージ候補導出部は、算出された予測方向(1-X)の動きベクトルmvL(1-X)および参照ピクチャインデックスrefIdxL(1-X)をscalingマージ候補の予測方向1に割り当てる。これにより、マージ候補導出部は、2方向予測のためのscalingマージ候補を導出する。
 一方、ステップS705の判定結果が偽ならば(つまり予測方向Xの値が「1」ならば)(S705のNo)、ステップS708において、マージ候補導出部は、算出された予測方向(1-X)の動きベクトルmvL(1-X)および参照ピクチャインデックスrefIdxL(1-X)をscalingマージ候補の予測方向0に割り当てる。さらに、ステップS709において、マージ候補導出部は、マージ候補[idx]の予測方向Xの動きベクトルおよび参照ピクチャインデックスをscalingマージ候補の予測方向1に割り当てる。これにより、マージ候補導出部は、2方向予測のためのscalingマージ候補を導出する。
 ステップS710では、マージ候補導出部は、導出されたscalingマージ候補と同一の予測方向、動きベクトル、および参照ピクチャインデックスを持つマージ候補が、既にマージ候補リスト内に存在するかどうかを判定する。つまり、マージ候補導出部は、導出されたscalingマージ候補が重複候補であるかどうかを判定する。
 ここで、ステップS710の判定結果が偽であれば(S710のNo)、ステップS711において、マージ候補導出部は、導出されたscalingマージ候補をマージ候補リストに登録する。
 一方、ステップS703の判定結果が偽(S703のNo)、またはステップS710の判定結果が真(S710のYes)であれば、scalingマージ候補をマージ候補リストに登録しない。
 以上のように、マージ候補導出部は、scalingマージ候補を導出し、マージ候補リストに登録する。
 なお、POC(refIdxLX)とPOC(refIdxL(1-X))とが同じ場合(つまり、refIdxLXとrefIdxL(1-X)とが同一ピクチャを示す場合)は、mvL(1-X)とmvLXとは同じ値となるので、マージ候補導出部は、導出されたscalingマージ候補を、マージ候補リストに追加しなくてもよい。また、算出されたrefIdxL(1-X)の値が、参照ピクチャリストL(1-X)に含まれない場合は、マージ候補導出部は、scalingマージ候補を、マージ候補リストに登録しなくてもよい。
 また、POC(refIdxLX)とPOC(refIdxL(1-X))とが異なる値であり、かつ、(POC(refIdxL(1-X))-curPOC)の絶対値と、(POC(refIdxLX)-curPOC)の絶対値とが同じ場合にのみ、マージ候補導出部は、mvL(1-X)に-mvLXを直接代入することにより、mvL(1-X)を算出してもよい。これは、refIdxLXとrefIdxL(1-X)とで参照するピクチャが異なり、かつ、符号化対象ピクチャから、refIdxLXが示すピクチャまでの表示順での距離と、符号化対象ピクチャから、refIdx(1-X)が示すピクチャまでの表示順での距離とが等しい場合には、mvL(1-X)がmvLXの逆ベクトルとなることを示す。これにより、マージ候補導出部は、式4で示すスケーリング処理を省略して、scalingマージ候補を導出することができるため、処理量増加を抑えつつ、符号化効率を向上させることができる。
 また、本実施の形態では、マージ候補導出部は、ステップS710においてscalingマージ候補が重複候補であるかどうかを判定したが、必ずしもこれに限らない。例えば、マージ候補導出部は、ステップS710の判定を省略してもよい。これにより、マージ候補導出部は、マージ候補導出処理量を削減することができる。
 以上、1つまたは複数の態様に係る画像符号化装置および画像復号装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、1つまたは複数の態様の範囲内に含まれてもよい。
 なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の画像符号化装置または画像復号装置などを実現するソフトウェアは、次のようなプログラムである。
 すなわち、このプログラムは、コンピュータに、画像をブロック毎に符号化することでビットストリームを生成する画像符号化方法であって、符号化対象ブロックの符号化に用いる予測方向、動きベクトルおよび参照ピクチャインデックスのセットの候補であるマージ候補を第1マージ候補として導出する第1導出処理を行う第1導出ステップと、前記第1導出処理とは異なる方法によりマージ候補を第2マージ候補として導出する第2導出処理を行う第2導出ステップと、前記第1マージ候補および前記第2マージ候補の中から、前記符号化対象ブロックの符号化に用いるマージ候補を選択する選択ステップと、選択された前記マージ候補を特定するためのインデックスを前記ビットストリームに付加する付加ステップとを含み、前記第1導出ステップでは、前記第1マージ候補の総数が所定数を超えないように前記第1導出処理を行い、前記第2導出ステップでは、前記第1マージ候補の総数が予め定められたマージ候補の最大数よりも小さい場合に、前記第2導出処理を行う、画像符号化方法を実行させる。
 あるいは、このプログラムは、コンピュータに、ビットストリームに含まれる符号化画像をブロック毎に復号する画像復号方法であって、復号対象ブロックの復号に用いる予測方向、動きベクトルおよび参照ピクチャインデックスのセットの候補であるマージ候補を第1マージ候補として導出する第1導出処理を行う第1導出ステップと、前記第1導出処理とは異なる方法によりマージ候補を第2マージ候補として導出する第2導出処理を行う第2導出ステップと、前記ビットストリームからインデックスを取得する取得ステップと、取得された前記インデックスを用いて、前記第1マージ候補および前記第2マージ候補の中から、前記復号対象ブロックの復号に用いるマージ候補を選択する選択ステップとを含み、前記第1導出ステップでは、前記第1マージ候補の総数が所定数を超えないように前記第1導出処理を行い、前記第2導出ステップでは、前記第1マージ候補の総数が予め定められたマージ候補の最大数よりも小さい場合に、前記第2導出処理を行う、画像復号方法を実行させる。
 (実施の形態8)
 上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
 さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
 図24は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
 このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
 しかし、コンテンツ供給システムex100は図24のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106からex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
 カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(登録商標)(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W-CDMA(Wideband-Code Division Multiple Access)方式、若しくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
 コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記各実施の形態で説明したように符号化処理を行い(即ち、本発明の一態様に係る画像符号化装置として機能する)、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
 なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
 また、これら符号化・復号化処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD-ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
 また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
 以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
 なお、コンテンツ供給システムex100の例に限らず、図25に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
 また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
 図26は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex301と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調/復調部ex302と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex306で符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。
 また、テレビex300は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305(本発明の一態様に係る画像符号化装置または画像復号装置として機能する)を有する信号処理部ex306と、復号化した音声信号を出力するスピーカex307、復号化した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
 まず、テレビex300がアンテナex204等により外部から取得した多重化データを復号化し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した多重化データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号化し、分離した映像データを映像信号処理部ex305で上記各実施の形態で説明した復号化方法を用いて復号化する。復号化した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から多重化データを読み出してもよい。次に、テレビex300が音声信号や映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318、ex319、ex320、ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302や多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
 また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
 また、リーダ/レコーダex218で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
 一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図27に示す。情報再生/記録部ex400は、以下に説明する要素ex401、ex402、ex403、ex404、ex405、ex406、ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しや書き込みの処理はシステム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成・追加を行うと共に、変調記録部ex402、再生復調部ex403、サーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
 以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
 図28に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
 以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
 また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図26に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
 図29Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
 さらに、携帯電話ex114の構成例について、図29Bを用いて説明する。携帯電話ex114は、表示部ex358及び操作キー部ex366を備えた本体部の各部を統括的に制御する主制御部ex360に対して、電源回路部ex361、操作入力制御部ex362、映像信号処理部ex355、カメラインタフェース部ex363、LCD(Liquid Crystal Display)制御部ex359、変調/復調部ex352、多重/分離部ex353、音声信号処理部ex354、スロット部ex364、メモリ部ex367がバスex370を介して互いに接続されている。
 電源回路部ex361は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex114を動作可能な状態に起動する。
 携帯電話ex114は、CPU、ROM、RAM等を有する主制御部ex360の制御に基づいて、音声通話モード時に音声入力部ex356で収音した音声信号を音声信号処理部ex354でデジタル音声信号に変換し、これを変調/復調部ex352でスペクトラム拡散処理し、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex350を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調/復調部ex352でスペクトラム逆拡散処理し、音声信号処理部ex354でアナログ音声信号に変換した後、これを音声出力部ex357から出力する。
 さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex366等の操作によって入力された電子メールのテキストデータは操作入力制御部ex362を介して主制御部ex360に送出される。主制御部ex360は、テキストデータを変調/復調部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して基地局ex110へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex358に出力される。
 データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex355は、カメラ部ex365から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し(即ち、本発明の一態様に係る画像符号化装置として機能する)、符号化された映像データを多重/分離部ex353に送出する。また、音声信号処理部ex354は、映像、静止画等をカメラ部ex365で撮像中に音声入力部ex356で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex353に送出する。
 多重/分離部ex353は、映像信号処理部ex355から供給された符号化された映像データと音声信号処理部ex354から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調/復調部(変調/復調回路部)ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex350を介して送信する。
 データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex350を介して受信された多重化データを復号化するために、多重/分離部ex353は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex370を介して符号化された映像データを映像信号処理部ex355に供給するとともに、符号化された音声データを音声信号処理部ex354に供給する。映像信号処理部ex355は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し(即ち、本発明の一態様に係る画像復号装置として機能する)、LCD制御部ex359を介して表示部ex358から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex354は、音声信号を復号し、音声出力部ex357から音声が出力される。
 また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
 このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
 また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
 (実施の形態9)
 上記各実施の形態で示した動画像符号化方法または装置と、MPEG-2、MPEG4-AVC、VC-1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
 ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
 この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG-2トランスポートストリーム形式のデジタルストリームである。
 図30は、多重化データの構成を示す図である。図30に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラフィックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム(IG)は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーAC-3、Dolby Digital Plus、MLP、DTS、DTS-HD、または、リニアPCMのなどの方式で符号化されている。
 多重化データに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画の副映像に利用するビデオストリームには0x1B00から0x1B1Fまで、主音声とミキシングする副音声に利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
 図31は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
 図32は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図32における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図32の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time-Stamp)やピクチャの復号時刻であるDTS(Decoding Time-Stamp)が格納される。
 図33は、多重化データに最終的に書き込まれるTSパケットの形式を示している。TSパケットは、ストリームを識別するPIDなどの情報を持つ4ByteのTSヘッダとデータを格納する184ByteのTSペイロードから構成される188Byte固定長のパケットであり、上記PESパケットは分割されTSペイロードに格納される。BD-ROMの場合、TSパケットには、4ByteのTP_Extra_Headerが付与され、192Byteのソースパケットを構成し、多重化データに書き込まれる。TP_Extra_HeaderにはATS(Arrival_Time_Stamp)などの情報が記載される。ATSは当該TSパケットのデコーダのPIDフィルタへの転送開始時刻を示す。多重化データには図33下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
 また、多重化データに含まれるTSパケットには、映像・音声・字幕などの各ストリーム以外にもPAT(Program Association Table)、PMT(Program Map Table)、PCR(Program Clock Reference)などがある。PATは多重化データ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPIDは0で登録される。PMTは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC(Arrival Time Clock)とPTS・DTSの時間軸であるSTC(System Time Clock)の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
 図34はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
 記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
 多重化データ情報ファイルは、図35に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
 多重化データ情報は図35に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
 ストリーム属性情報は図36に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
 本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
 また、本実施の形態における動画像復号化方法のステップを図37に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
 このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
 (実施の形態10)
 上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図38に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
 例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化および/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力された多重化データは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
 なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
 また、上記では、制御部ex501が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex501の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
 なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
 さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
 (実施の形態11)
 上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
 この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図39は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
 より具体的には、駆動周波数切替え部ex803は、図38のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図38の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態9で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態9で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図41のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
 図40は、本実施の形態の方法を実施するステップを示している。まず、ステップexS200では、信号処理部ex507において、多重化データから識別情報を取得する。次に、ステップexS201では、CPUex502において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexS202において、駆動周波数を高く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、高い駆動周波数に設定される。一方、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合には、ステップexS203において、駆動周波数を低く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
 さらに、駆動周波数の切替えに連動して、LSIex500またはLSIex500を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することが考えられる。
 また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、MPEG4-AVC規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
 さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を高く設定し、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することも考えられる。また、他の例としては、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、CPUex502の駆動を停止させることなく、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合には、処理に余裕があるため、CPUex502の駆動を一時停止させることも考えられる。識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合であっても、処理に余裕があれば、CPUex502の駆動を一時停止させることも考えられる。この場合は、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
 このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてLSIex500またはLSIex500を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
 (実施の形態12)
 テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
 この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図42Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4-AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4-AVC規格に対応する復号処理部ex902を共有し、MPEG4-AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明の一態様は、動き補償に特徴を有していることから、例えば、動き補償については専用の復号処理部ex901を用い、それ以外のエントロピー復号、デブロッキング・フィルタ、逆量子化のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4-AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
 また、処理を一部共有化する他の例を図42Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
 このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。
 本発明の一態様に係る画像符号化方法及び画像復号方法は、動画像の符号化方法及び復号方法に有利に利用される。
 100、300 画像符号化装置
 110、210、314、411 マージ候補導出部
 111、211 第3導出部
 112、212 第1導出部
 113、213 第2導出部
 120、230 予測制御部
 130 符号化部
 200、400 画像復号装置
 220 復号部
 301 減算部
 302 直交変換部
 303 量子化部
 304、402 逆量子化部
 305、403 逆直交変換部
 306、404 加算部
 307、405 ブロックメモリ
 308、406 フレームメモリ
 309、407 イントラ予測部
 310、408 インター予測部
 311、409 インター予測制御部
 312 ピクチャタイプ決定部
 313、410 スイッチ
 315、412 colPicメモリ
 316 可変長符号化部
 401 可変長復号部

Claims (19)

  1.  画像をブロック毎に符号化することでビットストリームを生成する画像符号化方法であって、
     符号化対象ブロックの符号化に用いる予測方向、動きベクトルおよび参照ピクチャインデックスのセットの候補であるマージ候補を第1マージ候補として導出する第1導出処理を行う第1導出ステップと、
     前記第1導出処理とは異なる方法によりマージ候補を第2マージ候補として導出する第2導出処理を行う第2導出ステップと、
     前記第1マージ候補および前記第2マージ候補の中から、前記符号化対象ブロックの符号化に用いるマージ候補を選択する選択ステップと、
     選択された前記マージ候補を特定するためのインデックスを前記ビットストリームに付加する付加ステップとを含み、
     前記第1導出ステップでは、前記第1マージ候補の総数が所定数を超えないように前記第1導出処理を行い、
     前記第2導出ステップでは、前記第1マージ候補の総数が予め定められたマージ候補の最大数よりも小さい場合に、前記第2導出処理を行う、
     画像符号化方法。
  2.  前記画像符号化方法は、さらに、
     前記第1導出処理および前記第2導出処理とは異なる方法によりマージ候補を第3マージ候補として導出する第3導出処理を行う第3導出ステップを含み、
     前記第2導出ステップでは、前記第1マージ候補および前記第3マージ候補の総数が前記予め定められたマージ候補の最大数よりも小さい場合に前記第2導出処理を行い、
     前記選択ステップでは、前記第1マージ候補、前記第2マージ候補および前記第3マージ候補の中から、前記符号化対象ブロックの符号化に用いるマージ候補を選択する、
     請求項1に記載の画像符号化方法。
  3.  前記第3導出ステップでは、前記第3導出処理により複数の第3マージ候補を導出し、
     前記第1導出ステップでは、前記複数の第3マージ候補にそれぞれ含まれる複数の予測方向、動きベクトルおよび参照ピクチャインデックスのセットを組み合わせて2方向予測のためのマージ候補を前記第1マージ候補として導出する処理を前記第1導出処理として行う、
     請求項2に記載の画像符号化方法。
  4.  前記第3導出ステップでは、前記符号化対象ブロックに空間的または時間的に隣接するブロックの符号化に用いられた予測方向、動きベクトルおよび参照ピクチャインデックスのセットを用いて前記第3マージ候補を導出する処理を前記第3導出処理として行う、
     請求項2または3に記載の画像符号化方法。
  5.  前記第2導出ステップでは、前記第1マージ候補、前記第2マージ候補および前記第3マージ候補の総数が前記予め定められたマージ候補の最大数と一致するまで、前記第2導出処理を繰り返す、
     請求項2~4のいずれか1項に記載の画像符号化方法。
  6.  前記第2導出ステップでは、零ベクトルを動きベクトルとして持つマージ候補を前記第2マージ候補として導出する処理を前記第2導出処理として行う、
     請求項1~5のいずれか1項に記載の画像符号化方法。
  7.  前記所定数は、前記第1導出処理により導出可能な第1マージ候補の総数に依存する、
     請求項1~6のいずれか1項に記載の画像符号化方法。
  8.  前記画像符号化方法は、さらに、
     第1規格に準拠する第1符号化処理、または第2規格に準拠する第2符号化処理に、符号化処理を切り替える切り替えステップと、
     切り替えられた前記符号化処理が準拠する前記第1規格または前記第2規格を示す識別情報を前記ビットストリームに付加する識別情報付加ステップとを含み、
     前記符号化処理が前記第1符号化処理に切り替えられた場合に、前記第1符号化処理として、前記第1導出ステップと、前記第2導出ステップと、前記選択ステップと、前記付加ステップとが行われる、
     請求項1に記載の画像符号化方法。
  9.  画像をブロック毎に符号化することでビットストリームを生成する画像符号化装置であって、
     符号化対象ブロックの符号化に用いる予測方向、動きベクトルおよび参照ピクチャインデックスのセットの候補であるマージ候補を第1マージ候補として導出する第1導出処理を行う第1導出部と、
     前記第1導出処理とは異なる方法によりマージ候補を第2マージ候補として導出する第2導出処理を行う第2導出部と、
     前記第1マージ候補および前記第2マージ候補の中から、前記符号化対象ブロックの符号化に用いるマージ候補を選択する予測制御部と、
     選択された前記マージ候補を特定するためのインデックスを前記ビットストリームに付加する符号化部とを備え、
     前記第1導出部は、前記第1マージ候補の総数が所定数を超えないように前記第1導出処理を行い、
     前記第2導出部は、前記第1マージ候補の総数が予め定められたマージ候補の最大数よりも小さい場合に、前記第2導出処理を行う、
     画像符号化装置。
  10.  ビットストリームに含まれる符号化画像をブロック毎に復号する画像復号方法であって、
     復号対象ブロックの復号に用いる予測方向、動きベクトルおよび参照ピクチャインデックスのセットの候補であるマージ候補を第1マージ候補として導出する第1導出処理を行う第1導出ステップと、
     前記第1導出処理とは異なる方法によりマージ候補を第2マージ候補として導出する第2導出処理を行う第2導出ステップと、
     前記ビットストリームからインデックスを取得する取得ステップと、
     取得された前記インデックスを用いて、前記第1マージ候補および前記第2マージ候補の中から、前記復号対象ブロックの復号に用いるマージ候補を選択する選択ステップとを含み、
     前記第1導出ステップでは、前記第1マージ候補の総数が所定数を超えないように前記第1導出処理を行い、
     前記第2導出ステップでは、前記第1マージ候補の総数が予め定められたマージ候補の最大数よりも小さい場合に、前記第2導出処理を行う、
     画像復号方法。
  11.  前記画像復号方法は、さらに、
     前記第1導出処理および前記第2導出処理とは異なる方法によりマージ候補を第3マージ候補として導出する第3導出処理を行う第3導出ステップを含み、
     前記第2導出ステップでは、前記第1マージ候補および前記第3マージ候補の総数が前記予め定められたマージ候補の最大数よりも小さい場合に前記第2導出処理を行い、
     前記選択ステップでは、前記第1マージ候補、前記第2マージ候補および前記第3マージ候補の中から、前記復号対象ブロックの復号に用いるマージ候補を選択する、
     請求項10に記載の画像復号方法。
  12.  前記第3導出ステップでは、前記第3導出処理により複数の第3マージ候補を導出し、
     前記第1導出ステップでは、前記複数の第3マージ候補にそれぞれ含まれる複数の予測方向、動きベクトルおよび参照ピクチャインデックスのセットを組み合わせて2方向予測のためのマージ候補を前記第1マージ候補として導出する、
     請求項11に記載の画像復号方法。
  13.  前記第3導出ステップでは、前記復号対象ブロックに空間的または時間的に隣接するブロックの復号に用いられた予測方向、動きベクトルおよび参照ピクチャインデックスのセットを用いて前記第3マージ候補を導出する処理を前記第3導出処理として行う、
     請求項11または12に記載の画像復号方法。
  14.  前記第2導出ステップでは、前記第1マージ候補、前記第2マージ候補および前記第3マージ候補の総数が前記予め定められたマージ候補の最大数と一致するまで、前記第2導出処理を繰り返す、
     請求項11~13のいずれか1項に記載の画像復号方法。
  15.  前記第2導出ステップでは、零ベクトルを動きベクトルとして持つマージ候補を前記第2マージ候補として導出する処理を前記第2導出処理として行う、
     請求項10~14のいずれか1項に記載の画像復号方法。
  16.  前記所定数は、前記第1導出処理により導出可能な第1マージ候補の総数に依存する、
     請求項10~15のいずれか1項に記載の画像復号方法。
  17.  前記画像復号方法は、さらに、
     前記ビットストリームに付加された第1規格または第2規格を示す識別情報に応じて、前記第1規格に準拠する第1復号処理、または前記第2規格に準拠する第2復号処理に、復号処理を切り替える切り替えステップを含み、
     前記復号処理が第1復号処理に切り替えられた場合に、前記第1復号処理として、前記第1導出ステップと、前記第2導出ステップと、前記取得ステップと、前記選択ステップとが行われる、
     請求項10に記載の画像復号方法。
  18.  ビットストリームに含まれる符号化画像をブロック毎に復号する画像復号装置であって、
     復号対象ブロックの復号に用いる予測方向、動きベクトルおよび参照ピクチャインデックスのセットの候補であるマージ候補を第1マージ候補として導出する第1導出処理を行う第1導出部と、
     前記第1導出処理とは異なる方法によりマージ候補を第2マージ候補として導出する第2導出処理を行う第2導出部と、
     前記ビットストリームからインデックスを取得する復号部と、
     取得された前記インデックスを用いて、前記第1マージ候補および前記第2マージ候補の中から、前記復号対象ブロックの復号に用いるマージ候補を選択する予測制御部とを備え、
     前記第1導出部は、前記第1マージ候補の総数が所定数を超えないように前記第1導出処理を行い、
     前記第2導出部は、前記第1マージ候補の総数が予め定められたマージ候補の最大数よりも小さい場合に、前記第2導出処理を行う、
     画像復号装置。
  19.  請求項9に記載の画像符号化装置と、
     請求項18に記載の画像復号装置とを備える
     画像符号化復号装置。
PCT/JP2012/006110 2011-10-19 2012-09-25 画像符号化方法、画像符号化装置、画像復号方法、および、画像復号装置 WO2013057877A1 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
BR112014008403-3A BR112014008403B1 (pt) 2011-10-19 2012-09-25 Método de codificação de imagem, aparelho de codificação de imagem, método de decodificação de imagem, e aparelho de decodificação de imagem
EP21176324.8A EP3923572A1 (en) 2011-10-19 2012-09-25 Image encoding method, image encoding device, image decoding method, and picture decoding device
JP2013539507A JP6308495B2 (ja) 2011-10-19 2012-09-25 画像復号方法、および、画像復号装置
CN201280049393.4A CN103858428B (zh) 2011-10-19 2012-09-25 图像编码方法、图像编码装置、图像解码方法及图像解码装置
IN2602CHN2014 IN2014CN02602A (ja) 2011-10-19 2012-09-25
KR1020147009186A KR101999869B1 (ko) 2011-10-19 2012-09-25 화상 부호화 방법, 화상 부호화 장치, 화상 복호 방법, 및, 화상 복호 장치
EP12841970.2A EP2770738A4 (en) 2011-10-19 2012-09-25 IMAGE ENCRYPTION METHOD, IMAGE ENCRYPTION DEVICE, IMAGE KEYING METHOD AND IMAGE WRITING DEVICE
CA2850595A CA2850595C (en) 2011-10-19 2012-09-25 Picture coding method, picture coding apparatus, picture decoding method, and picture decoding apparatus
MX2014003991A MX2014003991A (es) 2011-10-19 2012-09-25 Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes y aparato de decodificacion de imagenes.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161548828P 2011-10-19 2011-10-19
US61/548,828 2011-10-19

Publications (1)

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

Family

ID=48135976

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/006110 WO2013057877A1 (ja) 2011-10-19 2012-09-25 画像符号化方法、画像符号化装置、画像復号方法、および、画像復号装置

Country Status (13)

Country Link
US (3) US11218708B2 (ja)
EP (2) EP2770738A4 (ja)
JP (1) JP6308495B2 (ja)
KR (1) KR101999869B1 (ja)
CN (2) CN103858428B (ja)
AR (2) AR088390A1 (ja)
BR (1) BR112014008403B1 (ja)
CA (1) CA2850595C (ja)
IN (1) IN2014CN02602A (ja)
MX (1) MX2014003991A (ja)
MY (1) MY180182A (ja)
TW (1) TWI593276B (ja)
WO (1) WO2013057877A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013168929A (ja) * 2012-01-18 2013-08-29 Jvc Kenwood Corp 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP2013168930A (ja) * 2012-01-18 2013-08-29 Jvc Kenwood Corp 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2013236366A (ja) * 2012-04-12 2013-11-21 Jvc Kenwood Corp 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP2013236367A (ja) * 2012-04-12 2013-11-21 Jvc Kenwood Corp 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
WO2015180014A1 (en) * 2014-05-26 2015-12-03 Mediatek Singapore Pte. Ltd. An improved merge candidate list construction method for intra block copy
US9872038B2 (en) 2012-04-12 2018-01-16 JVC Kenwood Corporation Moving picture coding device, moving picture coding method, and moving picture coding program

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101210894B1 (ko) * 2011-08-29 2012-12-11 주식회사 아이벡스피티홀딩스 머지 모드 움직임 정보 복호화 장치
ES2713477T3 (es) * 2011-09-09 2019-05-22 Lg Electronics Inc Método de predicción inter y aparato correspondiente
US8964845B2 (en) * 2011-12-28 2015-02-24 Microsoft Corporation Merge mode for motion information prediction
US20170195677A1 (en) * 2014-05-22 2017-07-06 Mediatek Inc. Method of Intra Block Copy with Flipping for Image and Video Coding
US10182240B2 (en) * 2014-11-18 2019-01-15 Mediatek Inc. Method of bi-prediction video coding based on motion vectors from uni-prediction and merge candidate
US10575011B2 (en) * 2015-09-24 2020-02-25 Lg Electronics Inc. Inter prediction method and apparatus in image coding system
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
CN116489387A (zh) * 2017-09-29 2023-07-25 Lx 半导体科技有限公司 图像编码/解码方法和设备
CN116866592A (zh) * 2017-10-20 2023-10-10 株式会社Kt 视频信号处理方法以及存储介质
CN110662053B (zh) 2018-06-29 2022-03-25 北京字节跳动网络技术有限公司 使用查找表的视频处理方法、装置和存储介质
BR112020024202A2 (pt) 2018-06-29 2021-02-17 Beijing Bytedance Network Technology Co., Ltd. método de processamento de dados de vídeo, aparelho de processamento de vídeo e meios de armazenamento e gravação legíveis por computador não transitório
KR102660666B1 (ko) 2018-06-29 2024-04-26 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut들을 업데이트하기 위한 조건들
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
WO2020003284A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
KR20240005240A (ko) 2018-06-29 2024-01-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
KR20210024502A (ko) 2018-06-29 2021-03-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Hmvp 후보를 병합/amvp에 추가할 때의 부분/풀 프루닝
WO2020003280A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Which lut to be updated or no updating
EP3806472A1 (en) * 2018-06-30 2021-04-14 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Merge mode-based inter-prediction method and apparatus
US11758175B2 (en) 2018-06-30 2023-09-12 B1 Institute Of Image Technology, Inc Image encoding/decoding method and apparatus
EP4307679A2 (en) 2018-07-02 2024-01-17 Beijing Bytedance Network Technology Co., Ltd. Luts with intra prediction modes and intra mode prediction from non-adjacent blocks
TWI820211B (zh) 2018-09-12 2023-11-01 大陸商北京字節跳動網絡技術有限公司 取決於總數減去k的開始檢查hmvp候選的條件
KR20200034646A (ko) 2018-09-21 2020-03-31 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
WO2020114407A1 (en) 2018-12-03 2020-06-11 Beijing Bytedance Network Technology Co., Ltd. Partial pruning method for hmvp mode
TWI766214B (zh) * 2018-12-28 2022-06-01 日商Jvc建伍股份有限公司 影像編碼裝置、影像編碼方法、影像編碼程式、影像解碼裝置、影像解碼方法及影像解碼程式
EP3906689A4 (en) 2019-01-02 2022-11-23 Telefonaktiebolaget LM Ericsson (publ) LATERAL MOTION REFINEMENT IN VIDEO CODING/DECODING SYSTEMS
EP3888355A4 (en) 2019-01-10 2022-03-23 Beijing Bytedance Network Technology Co., Ltd. LOOKUP TABLE UPDATE INVOCATION
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
WO2020147772A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Motion candidates derivation
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
WO2020236723A1 (en) * 2019-05-19 2020-11-26 Bytedance Inc. Transform bypass coded residual blocks in digital video
WO2021136349A1 (en) * 2019-12-30 2021-07-08 FG Innovation Company Limited Device and method for coding video data

Family Cites Families (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3883701T2 (de) 1987-10-30 1994-02-10 Nippon Telegraph & Telephone Verfahren und Vorrichtung für multiplexierte Vektorquantifizierung.
FR2725577B1 (fr) 1994-10-10 1996-11-29 Thomson Consumer Electronics Procede de codage ou de decodage de vecteurs mouvement et dispositif de codage ou de decodage mettant en oeuvre ledit procede
US5995080A (en) 1996-06-21 1999-11-30 Digital Equipment Corporation Method and apparatus for interleaving and de-interleaving YUV pixel data
JP3263807B2 (ja) 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
US6148026A (en) 1997-01-08 2000-11-14 At&T Corp. Mesh node coding to enable object based functionalities within a motion compensated transform video coder
JPH10224800A (ja) 1997-02-07 1998-08-21 Matsushita Electric Ind Co Ltd 動きベクトル符号化方法および復号化方法
US6043838A (en) 1997-11-07 2000-03-28 General Instrument Corporation View offset estimation for stereoscopic video coding
JP4004653B2 (ja) 1998-08-03 2007-11-07 カスタム・テクノロジー株式会社 動きベクトル検出方法および装置、記録媒体
US6192148B1 (en) 1998-11-05 2001-02-20 Winbond Electronics Corp. Method for determining to skip macroblocks in encoding video
US6192080B1 (en) 1998-12-04 2001-02-20 Mitsubishi Electric Research Laboratories, Inc. Motion compensated digital video signal processing
US6594313B1 (en) 1998-12-23 2003-07-15 Intel Corporation Increased video playback framerate in low bit-rate video applications
JP4487374B2 (ja) 1999-06-01 2010-06-23 ソニー株式会社 符号化装置及び符号化方法並びに多重化装置及び多重化方法
US6842483B1 (en) 2000-09-11 2005-01-11 The Hong Kong University Of Science And Technology Device, method and digital video encoder for block-matching motion estimation
JP2002152750A (ja) 2000-11-10 2002-05-24 Matsushita Electric Ind Co Ltd 動きベクトル検出方法および装置
WO2003041385A2 (en) 2001-11-06 2003-05-15 Matsushita Electric Industrial Co., Ltd. Moving image coding method, and moving image decoding method
JP4015934B2 (ja) 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
JP2004088722A (ja) 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
PT3525464T (pt) 2002-04-19 2021-04-06 Panasonic Ip Corp America Método e sistema de codificação e descodificação de imagem
EP3324623B1 (en) 2002-04-19 2019-06-12 Panasonic Intellectual Property Corporation of America Motion vector calculating method
TWI259726B (en) 2002-04-19 2006-08-01 Matsushita Electric Ind Co Ltd Motion vector derivation method
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
EP1427216A1 (en) 2002-07-02 2004-06-09 Matsushita Electric Industrial Co., Ltd. Image encoding method and image decoding method
US8406301B2 (en) 2002-07-15 2013-03-26 Thomson Licensing Adaptive weighting of reference pictures in video encoding
WO2004008773A1 (ja) 2002-07-11 2004-01-22 Matsushita Electric Industrial Co., Ltd. フィルタリング強度の決定方法、動画像符号化方法、および動画像復号化方法
WO2004008775A1 (ja) 2002-07-15 2004-01-22 Hitachi, Ltd. 動画像符号化方法及び復号化方法
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
US7023921B2 (en) 2002-08-06 2006-04-04 Motorola, Inc. Method and apparatus for determining block match quality
ES2767954T3 (es) 2002-08-08 2020-06-19 Godo Kaisha Ip Bridge 1 Procedimiento de descodificación de imágenes en movimiento
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
KR100990829B1 (ko) 2002-11-01 2010-10-29 파나소닉 주식회사 동화상 부호화 방법 및 동화상 복호화 방법
CN100591138C (zh) 2002-11-25 2010-02-17 松下电器产业株式会社 图像编码方法及其装置、图像解码方法及其装置
JP5068947B2 (ja) 2003-02-18 2012-11-07 ノキア コーポレイション ピクチャの符号化方法
KR100693669B1 (ko) 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
US7266147B2 (en) 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
US7523234B2 (en) 2003-07-15 2009-04-21 Thomson Licensing Motion estimation with fast search block matching
US7426308B2 (en) 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding
KR100579542B1 (ko) 2003-07-29 2006-05-15 삼성전자주식회사 블럭 간의 상관성을 고려한 움직임 추정 장치 및 방법
EP1654706B1 (en) 2003-08-05 2012-10-10 Trident Microsystems (Far East) Ltd. Video encoding and decoding methods and corresponding devices
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
CN1225127C (zh) 2003-09-12 2005-10-26 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法
FR2860678A1 (fr) 2003-10-01 2005-04-08 Thomson Licensing Sa Procede de codage differentiel
GB2407006A (en) 2003-10-08 2005-04-13 Sony Uk Ltd Communicating streamed payload data and packet based auxiliary data
JP3675464B2 (ja) 2003-10-29 2005-07-27 ソニー株式会社 動画像符号化装置および動画像符号化制御方法
TWI330976B (en) 2003-12-05 2010-09-21 Trident Microsystems Far East Method and apparatus for encoding/decoding dynamic graphic content
US7301482B1 (en) 2003-12-12 2007-11-27 Marvell International Ltd. Circuits, architectures, systems, methods, algorithms and software for conditional modulation coding
JP2005184042A (ja) 2003-12-15 2005-07-07 Sony Corp 画像復号装置及び画像復号方法並びに画像復号プログラム
KR100608050B1 (ko) 2004-01-14 2006-08-02 삼성전자주식회사 사용자의 요구에 의해 활성화되는 인터랙티브 그래픽스트림을 저장한 저장 매체, 재생 장치 및 그 재생 방법
US8190003B2 (en) 2004-01-14 2012-05-29 Samsung Electronics Co., Ltd. Storage medium storing interactive graphics stream activated in response to user's command, and reproducing apparatus for reproducing from the same
US7103989B2 (en) 2004-03-22 2006-09-12 Etc Iii Llc Sports equipment conditioning apparatus
EP1583367A1 (en) 2004-03-30 2005-10-05 Matsushita Electric Industrial Co., Ltd. Motion estimation employing line and column vectors
EP1592258B1 (en) 2004-04-30 2011-01-12 Panasonic Corporation Motion estimation employing adaptive spatial update vectors
JP4145275B2 (ja) 2004-07-27 2008-09-03 富士通株式会社 動きベクトル検出・補償装置
TWI250423B (en) 2004-07-30 2006-03-01 Ind Tech Res Inst Method for processing video images
TWI268715B (en) 2004-08-16 2006-12-11 Nippon Telegraph & Telephone Picture encoding method, picture decoding method, picture encoding apparatus, and picture decoding apparatus
EP1638333A1 (en) 2004-09-17 2006-03-22 Mitsubishi Electric Information Technology Centre Europe B.V. Rate adaptive video coding
JP4375305B2 (ja) 2004-10-26 2009-12-02 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP4148228B2 (ja) 2005-02-10 2008-09-10 ソニー株式会社 画像記録装置、画像再生制御装置、画像記録再生制御装置、これらの装置の処理方法およびその方法をコンピュータに実行させるプログラム
US7660354B2 (en) 2005-05-11 2010-02-09 Fang Shi Temporal error concealment for bi-directionally predicted frames
US8761258B2 (en) 2005-06-17 2014-06-24 The Hong Kong University Of Science And Technology Enhanced block-based motion estimation algorithms for video compression
US9661376B2 (en) 2005-07-13 2017-05-23 Polycom, Inc. Video error concealment method
EP1753242A2 (en) 2005-07-18 2007-02-14 Matsushita Electric Industrial Co., Ltd. Switchable mode and prediction information coding
US7697783B2 (en) 2005-07-26 2010-04-13 Sony Corporation Coding device, coding method, decoding device, decoding method, and programs of same
US20070025444A1 (en) 2005-07-28 2007-02-01 Shigeyuki Okada Coding Method
JP4401336B2 (ja) 2005-08-31 2010-01-20 三洋電機株式会社 符号化方法
JP2008011455A (ja) 2006-06-30 2008-01-17 Sanyo Electric Co Ltd 符号化方法
JP4570532B2 (ja) 2005-08-02 2010-10-27 パナソニック株式会社 動き検出装置、動き検出方法、集積回路およびプログラム
US20070030894A1 (en) 2005-08-03 2007-02-08 Nokia Corporation Method, device, and module for improved encoding mode control in video encoding
JP2007142637A (ja) 2005-11-16 2007-06-07 Matsushita Electric Ind Co Ltd 画像情報符号化装置
CN101379829B (zh) 2006-02-02 2016-05-18 汤姆逊许可公司 用于运动补偿预测的自适应加权选择的方法和设备
WO2007092192A2 (en) 2006-02-02 2007-08-16 Thomson Licensing Method and apparatus for motion estimation using combined reference bi-prediction
US20070200949A1 (en) 2006-02-21 2007-08-30 Qualcomm Incorporated Rapid tuning in multimedia applications
JP4757080B2 (ja) 2006-04-03 2011-08-24 パナソニック株式会社 動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置
US7672377B2 (en) 2006-04-21 2010-03-02 Dilithium Holdings, Inc. Method and system for video encoding and transcoding
CN101090491B (zh) 2006-06-16 2016-05-18 香港科技大学 用于视频压缩的增强的基于块的运动估计算法
US8325814B2 (en) 2006-06-19 2012-12-04 Lg Electronics Inc. Method and apparatus for processing a video signal
KR20070120416A (ko) 2006-06-19 2007-12-24 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치, 비디오 신호 인코딩방법 및 장치
DE102006043707A1 (de) 2006-09-18 2008-03-27 Robert Bosch Gmbh Verfahren zur Datenkompression in einer Videosequenz
US8250618B2 (en) 2006-09-18 2012-08-21 Elemental Technologies, Inc. Real-time network adaptive digital video encoding/decoding
US8213509B2 (en) 2006-10-06 2012-07-03 Calos Fund Limited Liability Company Video coding on parallel processing systems
US8599926B2 (en) 2006-10-12 2013-12-03 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
US8565314B2 (en) 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US9319700B2 (en) 2006-10-12 2016-04-19 Qualcomm Incorporated Refinement coefficient coding based on history of corresponding transform coefficient values
US8325819B2 (en) 2006-10-12 2012-12-04 Qualcomm Incorporated Variable length coding table selection based on video block type for refinement coefficient coding
EP2079242A4 (en) 2006-10-30 2010-11-03 Nippon Telegraph & Telephone METHOD FOR GENERATING PREDICTIVE REFERENCE INFORMATION, DYNAMIC IMAGE ENCODING AND DECODING METHOD, DEVICE THEREOF, PROGRAM THEREOF, AND STORAGE MEDIUM CONTAINING THE PROGRAM
JP2008199587A (ja) * 2007-01-18 2008-08-28 Matsushita Electric Ind Co Ltd 画像符号化装置、画像復号化装置および方法
JP5025286B2 (ja) 2007-02-28 2012-09-12 シャープ株式会社 符号化装置及び復号装置
TW200845758A (en) 2007-05-03 2008-11-16 Nat Univ Chung Cheng Fast intra coding algorithms for dynamic definition adjustment
KR101403341B1 (ko) 2007-03-28 2014-06-09 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
BRPI0809512A2 (pt) 2007-04-12 2016-03-15 Thomson Licensing método e aparelho para mesclagem dependente de contexto para modos salto-direto para codificação e decodificação de vídeo
US20100086053A1 (en) 2007-04-26 2010-04-08 Panasonic Corporation Motion estimation device, motion estimation method, and motion estimation program
JP2008283490A (ja) 2007-05-10 2008-11-20 Ntt Docomo Inc 動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラム
WO2008156548A1 (en) 2007-06-12 2008-12-24 Thomson Licensing Methods and apparatus supporting multi-pass video syntax structure for slice data
KR101495886B1 (ko) 2007-07-19 2015-02-26 한국전자통신연구원 하향링크 프레임 생성 방법 및 셀 탐색 방법
US8462853B2 (en) 2007-10-16 2013-06-11 Lg Electronics Inc. Method and an apparatus for processing a video signal
KR101228020B1 (ko) 2007-12-05 2013-01-30 삼성전자주식회사 사이드 매칭을 이용한 영상의 부호화 방법 및 장치, 그복호화 방법 및 장치
CN101198064A (zh) 2007-12-10 2008-06-11 武汉大学 一种分辨率分层技术中的运动矢量预测方法
KR20090095012A (ko) 2008-03-04 2009-09-09 삼성전자주식회사 연속적인 움직임 추정을 이용한 영상 부호화, 복호화 방법및 장치
JP2009218873A (ja) 2008-03-11 2009-09-24 Nec Personal Products Co Ltd デジタル放送受信機、および、プログラム
ES2812473T3 (es) 2008-03-19 2021-03-17 Nokia Technologies Oy Vector de movimiento combinado y predicción de índice de referencia para la codificación de vídeo
EP2269379B1 (en) 2008-04-11 2019-02-27 InterDigital Madison Patent Holdings Methods and apparatus for template matching prediction (tmp) in video encoding and decoding
KR101596829B1 (ko) 2008-05-07 2016-02-23 엘지전자 주식회사 비디오 신호의 디코딩 방법 및 장치
PT104083A (pt) 2008-06-02 2009-12-02 Inst Politecnico De Leiria Método para transcodificar imagens de vídeo h.264/avc em mpeg-2
WO2010090629A1 (en) 2009-02-05 2010-08-12 Thomson Licensing Methods and apparatus for adaptive mode video encoding and decoding
CN102883160B (zh) 2009-06-26 2016-06-29 华为技术有限公司 视频图像运动信息获取方法、装置及设备、模板构造方法
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
US9060176B2 (en) 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
WO2011046008A1 (ja) 2009-10-16 2011-04-21 シャープ株式会社 動画像符号化装置、および、動画像復号装置
TWI566586B (zh) 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
KR101459714B1 (ko) 2009-10-28 2014-11-13 에스케이텔레콤 주식회사 공간 분할을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101441905B1 (ko) 2009-11-18 2014-09-24 에스케이텔레콤 주식회사 후보 예측 움직임 벡터 집합 선택을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
WO2011061880A1 (ja) 2009-11-19 2011-05-26 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
US9288495B2 (en) * 2009-11-24 2016-03-15 Sk Telecom Co., Ltd. Adaptive secondary prediction-based image encoding/decoding method, device and recording medium
WO2011064673A1 (en) 2009-11-30 2011-06-03 France Telecom Method of and apparatus for encoding video frames, method of and apparatus for decoding video frames
CN101860754B (zh) 2009-12-16 2013-11-13 香港应用科技研究院有限公司 运动矢量编码和解码的方法和装置
US9071845B2 (en) 2009-12-17 2015-06-30 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for video coding
US9036692B2 (en) 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
EP2532160A1 (en) 2010-02-05 2012-12-12 Telefonaktiebolaget L M Ericsson (PUBL) Managing predicted motion vector candidates
WO2011099792A2 (ko) * 2010-02-10 2011-08-18 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
US8995527B2 (en) 2010-02-19 2015-03-31 Qualcomm Incorporated Block type signalling in video coding
US20130003843A1 (en) 2010-03-12 2013-01-03 Mediatek Singapore Pte. Ltd. Motion Prediction Method
CN102210910B (zh) 2010-04-02 2013-02-13 重庆融海超声医学工程研究中心有限公司 一种超声换能器
KR101752418B1 (ko) 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR101789635B1 (ko) 2010-05-04 2017-10-25 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
US9124898B2 (en) 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
CN103081470B (zh) 2010-09-02 2016-08-03 Lg电子株式会社 编码和解码视频的方法和使用该方法的装置
US10104391B2 (en) 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
US20120082228A1 (en) 2010-10-01 2012-04-05 Yeping Su Nested entropy encoding
JP2012109720A (ja) 2010-11-16 2012-06-07 Panasonic Corp 画像変換装置、画像再生装置及び画像変換方法
US8824558B2 (en) 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
US8976873B2 (en) 2010-11-24 2015-03-10 Stmicroelectronics S.R.L. Apparatus and method for performing error concealment of inter-coded video frames
US8711940B2 (en) 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
CN102986224B (zh) * 2010-12-21 2017-05-24 英特尔公司 用于增强的解码器侧运动向量导出处理的系统及方法
US9049455B2 (en) 2010-12-28 2015-06-02 Panasonic Intellectual Property Corporation Of America Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block
EP3554079B1 (en) 2011-01-07 2022-10-19 LG Electronics Inc. Method for encoding video information, method of decoding video information and decoding apparatus for decoding video information
US20130301734A1 (en) 2011-01-12 2013-11-14 Canon Kabushiki Kaisha Video encoding and decoding with low complexity
US9319716B2 (en) 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
US9066110B2 (en) 2011-03-08 2015-06-23 Texas Instruments Incorporated Parsing friendly and error resilient merge flag coding in video coding
KR101532665B1 (ko) 2011-03-14 2015-07-09 미디어텍 인크. 시간적 움직임 백터 예측을 도출하기 위한 방법 및 장치
US9648334B2 (en) 2011-03-21 2017-05-09 Qualcomm Incorporated Bi-predictive merge mode based on uni-predictive neighbors in video coding
US9143795B2 (en) 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding
PL2698999T3 (pl) 2011-04-12 2017-10-31 Sun Patent Trust Sposób kodowania ruchomych obrazów, urządzenie do kodowania ruchomych obrazów, sposób dekodowania ruchomych obrazów, urządzenie do dekodowania ruchomych obrazów, oraz urządzenie do kodowania/dekodowania ruchomych obrazów
CA2833893C (en) 2011-05-24 2024-02-27 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
PL3614665T3 (pl) 2011-05-27 2022-07-04 Sun Patent Trust Sposób kodowania obrazów, urządzenie do kodowania obrazów, sposób dekodowania obrazów, urządzenie do dekodowania obrazów, i urządzenie do kodowania i dekodowania obrazów
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
SG194746A1 (en) 2011-05-31 2013-12-30 Kaba Gmbh Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
CA2834191C (en) 2011-05-31 2019-04-09 Panasonic Corporation Video encoding method, video encoding device, video decoding method, video decoding device, and video encoding/decoding device
US9866859B2 (en) 2011-06-14 2018-01-09 Texas Instruments Incorporated Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding
EP2723076A4 (en) 2011-06-14 2015-03-04 Samsung Electronics Co Ltd METHOD AND APPARATUS FOR ENCODING MOVEMENT INFORMATION, AND METHOD AND APPARATUS FOR DECODING THE SAME
US9131239B2 (en) * 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
WO2013001803A1 (ja) 2011-06-30 2013-01-03 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法および画像復号プログラム
KR20150088909A (ko) 2011-06-30 2015-08-03 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
IN2014CN00729A (ja) 2011-08-03 2015-04-03 Panasonic Corp
AU2012323631B2 (en) * 2011-10-11 2015-09-17 Mediatek Inc. Method and apparatus of motion and disparity vector derivation for 3D video coding and HEVC

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"WD3: Working Draft 3 of High-Efficiency Video Coding", JCTVC-E603, March 2011 (2011-03-01)
ADVANCED VIDEO CODING FOR GENERIC AUDIOVISUAL SERVICES, March 2010 (2010-03-01)
MINHUA ZHOU ET AL.: "A study on HM3.0 parsing throughput issue", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 6TH MEETING, [JCTVC- F068], 14 July 2011 (2011-07-14) - 22 July 2011 (2011-07-22), TORINO, IT, pages 1 - 22, XP030049044 *
See also references of EP2770738A4
TOSHIYASU SUGIO ET AL.: "Parsing Robustness for Merge/AMVP", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 6TH MEETING, [JCTVC-F470], 14 July 2011 (2011-07-14) - 22 July 2011 (2011-07-22), TORINO, IT, pages 1 - 33, XP030049463 *

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5846330B1 (ja) * 2012-01-18 2016-01-20 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP2013168930A (ja) * 2012-01-18 2013-08-29 Jvc Kenwood Corp 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2016048953A (ja) * 2012-01-18 2016-04-07 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP5846327B1 (ja) * 2012-01-18 2016-01-20 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP2014112865A (ja) * 2012-01-18 2014-06-19 Jvc Kenwood Corp 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP2014112864A (ja) * 2012-01-18 2014-06-19 Jvc Kenwood Corp 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP2014112863A (ja) * 2012-01-18 2014-06-19 Jvc Kenwood Corp 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP2014112862A (ja) * 2012-01-18 2014-06-19 Jvc Kenwood Corp 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP2013168929A (ja) * 2012-01-18 2013-08-29 Jvc Kenwood Corp 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP5846329B1 (ja) * 2012-01-18 2016-01-20 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP5846328B1 (ja) * 2012-01-18 2016-01-20 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP2014220846A (ja) * 2012-04-12 2014-11-20 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP2017005724A (ja) * 2012-04-12 2017-01-05 株式会社Jvcケンウッド 受信装置、受信方法及び受信プログラム
JP2014220845A (ja) * 2012-04-12 2014-11-20 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP2014220844A (ja) * 2012-04-12 2014-11-20 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP2014220847A (ja) * 2012-04-12 2014-11-20 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP2013236367A (ja) * 2012-04-12 2013-11-21 Jvc Kenwood Corp 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
JP2013236366A (ja) * 2012-04-12 2013-11-21 Jvc Kenwood Corp 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP6020761B1 (ja) * 2012-04-12 2016-11-02 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP6020760B1 (ja) * 2012-04-12 2016-11-02 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP6020762B1 (ja) * 2012-04-12 2016-11-02 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
JP6020763B1 (ja) * 2012-04-12 2016-11-02 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
US11831898B2 (en) 2012-04-12 2023-11-28 Jvckenwood Corporation Moving picture coding device, moving picture coding method, moving picture coding program, moving picture decoding device, moving picture decoding method, and moving picture decoding program
JP2017028720A (ja) * 2012-04-12 2017-02-02 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
US9872038B2 (en) 2012-04-12 2018-01-16 JVC Kenwood Corporation Moving picture coding device, moving picture coding method, and moving picture coding program
US9872037B2 (en) 2012-04-12 2018-01-16 JVC Kenwood Corporation Moving picture decoding device, moving picture decoding method, and moving picture decoding program
US9918103B2 (en) 2012-04-12 2018-03-13 JVC Kenwood Corporation Moving picture decoding device, moving picture decoding method, and moving picture decoding program
US10230975B2 (en) 2012-04-12 2019-03-12 JVC Kenwood Corporation Moving picture decoding device, moving picture decoding method, and moving picture decoding program
US10523962B2 (en) 2012-04-12 2019-12-31 JVC Kenwood Corporation Moving picture coding device, moving picture coding method, moving picture coding program, moving picture decoding device, moving picture decoding method, and moving picture decoding program
US10791336B2 (en) 2012-04-12 2020-09-29 Jvckenwood Corporation Moving picture coding device, moving picture coding method, moving picture coding program, moving picture decoding device, moving picture decoding method, and moving picture decoding program
US11206421B2 (en) 2012-04-12 2021-12-21 Jvckenwood Corporation Moving picture coding device, moving picture coding method, moving picture coding program, moving picture decoding device, moving picture decoding method, and moving picture decoding program
WO2015180014A1 (en) * 2014-05-26 2015-12-03 Mediatek Singapore Pte. Ltd. An improved merge candidate list construction method for intra block copy

Also Published As

Publication number Publication date
US20220094952A1 (en) 2022-03-24
US11647208B2 (en) 2023-05-09
TW201334561A (zh) 2013-08-16
US11218708B2 (en) 2022-01-04
CN108881903A (zh) 2018-11-23
CN108881903B (zh) 2022-01-04
CA2850595A1 (en) 2013-04-25
KR101999869B1 (ko) 2019-07-12
CN103858428A (zh) 2014-06-11
US20130101042A1 (en) 2013-04-25
EP3923572A1 (en) 2021-12-15
US20230224480A1 (en) 2023-07-13
BR112014008403A2 (pt) 2017-04-04
CA2850595C (en) 2020-09-08
MY180182A (en) 2020-11-24
IN2014CN02602A (ja) 2015-08-07
JP6308495B2 (ja) 2018-04-11
CN103858428B (zh) 2018-07-03
AR088390A1 (es) 2014-05-28
JPWO2013057877A1 (ja) 2015-04-02
EP2770738A1 (en) 2014-08-27
TWI593276B (zh) 2017-07-21
KR20140082969A (ko) 2014-07-03
MX2014003991A (es) 2014-05-07
EP2770738A4 (en) 2016-07-27
BR112014008403B1 (pt) 2022-05-10
AR110354A2 (es) 2019-03-20

Similar Documents

Publication Publication Date Title
JP6340707B2 (ja) 画像符号化方法および画像符号化装置
JP6436404B2 (ja) 動画像復号化方法、および動画像復号化装置
JP6167409B2 (ja) 画像復号化方法および画像復号化装置
JP6094983B2 (ja) 画像処理装置
JP6308495B2 (ja) 画像復号方法、および、画像復号装置
JP6403125B2 (ja) 復号方法および復号装置
JP6422011B2 (ja) 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置
JP2016015787A (ja) 動画像復号化方法
JP5893570B2 (ja) 画像符号化方法および画像復号化方法
JP5883431B2 (ja) 画像符号化方法および画像復号化方法
JP6304571B2 (ja) 動画像復号化方法および動画像復号化装置
WO2012090495A1 (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: 12841970

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
ENP Entry into the national phase

Ref document number: 2850595

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2012841970

Country of ref document: EP

Ref document number: MX/A/2014/003991

Country of ref document: MX

ENP Entry into the national phase

Ref document number: 2013539507

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20147009186

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112014008403

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112014008403

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20140408