WO2015166639A1 - 符号化方法、復号方法、符号化装置および復号装置 - Google Patents

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

Info

Publication number
WO2015166639A1
WO2015166639A1 PCT/JP2015/002110 JP2015002110W WO2015166639A1 WO 2015166639 A1 WO2015166639 A1 WO 2015166639A1 JP 2015002110 W JP2015002110 W JP 2015002110W WO 2015166639 A1 WO2015166639 A1 WO 2015166639A1
Authority
WO
WIPO (PCT)
Prior art keywords
neighboring
template
dmvd
templates
target block
Prior art date
Application number
PCT/JP2015/002110
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 JP2016515852A priority Critical patent/JPWO2015166639A1/ja
Priority to EP15785284.9A priority patent/EP3139605A4/en
Priority to CN201580014731.4A priority patent/CN106105196A/zh
Publication of WO2015166639A1 publication Critical patent/WO2015166639A1/ja
Priority to US15/229,142 priority patent/US20160345011A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to encoding and decoding of any multimedia data, and more particularly to encoding and decoding of images and videos corresponding to motion search on the decoder side.
  • Non-Patent Document 1 the complexity of the decoder is much lower than the complexity of the encoder. Therefore, research is ongoing to improve coding efficiency by placing a complexity burden on the decoder side.
  • Non-Patent Document 2 Even with the encoding method and decoding method of Non-Patent Document 2, there is a problem that the encoding efficiency may not be improved sufficiently.
  • the present invention provides an encoding method and a decoding method that can improve the encoding efficiency.
  • An encoding method is an encoding method for encoding a moving image on a block-by-block basis, and is different from each other spatially adjacent to the target block, which is defined in advance for the target block.
  • One neighborhood template is selected from N neighborhood templates (N is an integer of 2 or more) indicating a region, a reconstructed image in the region indicated by the selected neighborhood template, and a picture including the target block
  • a DMVD parameter indicating whether to enable the DMVD function, which is a function, is set to the encoded target block.
  • the encoding method and decoding method of the present invention can improve the encoding efficiency.
  • FIG. 1 is a block diagram showing an exemplary structure of the encoding apparatus according to Embodiment 1.
  • FIG. 2 is a diagram illustrating an example of a neighborhood template assumed for the target block in the first embodiment.
  • FIG. 3 is a diagram illustrating an example of a neighborhood template assumed for the target block in the first embodiment.
  • FIG. 4 is a diagram illustrating an example of a neighborhood template assumed for the target block in the first embodiment.
  • FIG. 5 is a diagram illustrating an example of a neighborhood template assumed for the target block in the first embodiment.
  • FIG. 6 is a diagram illustrating an example of a neighborhood template assumed for the target block in the first embodiment.
  • FIG. 7 is a diagram illustrating an example of a neighborhood template assumed for the target block in the first embodiment.
  • FIG. 1 is a block diagram showing an exemplary structure of the encoding apparatus according to Embodiment 1.
  • FIG. 2 is a diagram illustrating an example of a neighborhood template assumed for the target block in the first embodiment.
  • FIG. 8 is a flowchart illustrating an example of the encoding process according to the first embodiment.
  • FIG. 9 is a flowchart illustrating another example of the encoding process according to the first embodiment.
  • FIG. 10 is a flowchart showing still another example of the encoding process in the first embodiment.
  • FIG. 11 is a flowchart illustrating an example of a selection process for selecting one neighboring template from a plurality of neighboring templates based on a predefined criterion in the first embodiment.
  • FIG. 12 is a flowchart illustrating another example of the selection process for selecting one neighboring template from a plurality of neighboring templates based on a predefined criterion in the first embodiment.
  • FIG. 12 is a flowchart illustrating another example of the selection process for selecting one neighboring template from a plurality of neighboring templates based on a predefined criterion in the first embodiment.
  • FIG. 13 is a diagram illustrating an example of the position of the DMVD validation flag in the first embodiment.
  • FIG. 14 is a diagram showing an example of parameter positions related to selecting a neighborhood template in the first embodiment.
  • FIG. 15 is a diagram illustrating an example of positions of one or more parameters indicating a plurality of predefined neighboring templates in the first embodiment.
  • FIG. 16A is a diagram showing an example of parameter positions for selecting a neighborhood template in the first embodiment.
  • FIG. 16B is a diagram showing another example of parameter positions for selecting a neighborhood template in the first embodiment.
  • FIG. 16C is a diagram showing still another example of a parameter position for selecting a neighborhood template in the first embodiment.
  • FIG. 17 is a block diagram illustrating an exemplary structure of the decoding apparatus according to the first embodiment.
  • FIG. 18 is a flowchart illustrating an example of the decoding process according to the first embodiment.
  • FIG. 19 is a flowchart illustrating another example of the decoding process according to the first embodiment.
  • FIG. 20 is a flowchart showing still another example of the decoding process in the first embodiment.
  • FIG. 21A is a flowchart illustrating an example of processing for selecting a DMVD template from a plurality of neighboring templates based on parameters according to Embodiment 1.
  • FIG. 21B is a flowchart illustrating an example of processing for selecting a DMVD template from a plurality of neighboring templates based on parameters according to Embodiment 1.
  • FIG. 21A is a flowchart illustrating an example of processing for selecting a DMVD template from a plurality of neighboring templates based on parameters according to Embodiment 1.
  • FIG. 21B is a flowchart illustrating an example of processing for selecting a DMVD template from a plurality of neighboring templates based on parameters according to
  • 21C is a flowchart illustrating another example of processing for selecting a DMVD template from a plurality of neighboring templates based on parameters according to Embodiment 1.
  • FIG. 21D is a flowchart illustrating yet another example of processing for selecting a DMVD template from a plurality of neighboring templates based on parameters according to Embodiment 1.
  • FIG. 21E is a flowchart illustrating yet another example of processing for selecting a DMVD template from a plurality of neighboring templates based on parameters according to Embodiment 1.
  • FIG. 21F is a flowchart illustrating yet another example of processing for selecting a DMVD template from a plurality of neighboring templates based on parameters according to Embodiment 1.
  • FIG. 21C is a flowchart illustrating another example of processing for selecting a DMVD template from a plurality of neighboring templates based on parameters according to Embodiment 1.
  • FIG. 21E is a flowchart illustrating yet another example of processing for selecting a DMV
  • FIG. 22A is a flowchart illustrating an example of an encoding method according to an aspect of the present invention.
  • FIG. 22B is a flowchart illustrating an example of a decoding method according to an aspect of the present invention.
  • FIG. 23 is an overall configuration diagram of a content supply system that implements a content distribution service.
  • FIG. 24 is an overall configuration diagram of a digital broadcasting system.
  • FIG. 25 is a block diagram illustrating a configuration example of a television.
  • FIG. 26 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. 27 is a diagram illustrating a structure example of a recording medium that is an optical disk.
  • FIG. 28A is a diagram illustrating an example of a mobile phone.
  • FIG. 28B is a block diagram illustrating a configuration example of a mobile phone.
  • FIG. 29 is a diagram showing a structure of multiplexed data.
  • FIG. 30 is a diagram schematically showing how each stream is multiplexed in the multiplexed data.
  • FIG. 31 is a diagram showing in more detail how the video stream is stored in the PES packet sequence.
  • FIG. 32 is a diagram showing the structure of TS packets and source packets in multiplexed data.
  • FIG. 33 shows the data structure of the PMT.
  • FIG. 34 shows the internal structure of multiplexed data information.
  • FIG. 35 shows the internal structure of stream attribute information.
  • FIG. 36 is a diagram showing steps for identifying video data.
  • FIG. 29 is a diagram showing a structure of multiplexed data.
  • FIG. 30 is a diagram schematically showing how each stream is multiplexed in the multiplexed data.
  • FIG. 37 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. 38 is a diagram showing a configuration for switching the drive frequency.
  • FIG. 39 is a diagram illustrating steps for identifying video data and switching between driving frequencies.
  • FIG. 40 is a diagram illustrating an example of a look-up table in which video data standards are associated with drive frequencies.
  • FIG. 41A is a diagram illustrating an example of a configuration for sharing a module of a signal processing unit.
  • FIG. 41B is a diagram illustrating another example of a configuration for sharing a module of a signal processing unit.
  • Non-Patent Document 2 In the encoding method and decoding method of Non-Patent Document 2, only one template is predetermined for the target block, and only that template can be used. Therefore, if the size and shape of the template are inappropriate for the target block, the accuracy of motion search is reduced, and the coding efficiency is not improved.
  • an encoding method for encoding a moving image on a block-by-block basis, wherein the target is defined in advance for the target block.
  • a neighborhood template is selected from among N neighborhood templates (N is an integer of 2 or more) indicating different regions that are spatially neighboring in the block, and the region in the region indicated by the selected neighborhood template is selected.
  • Deriving a motion vector using a constituent image and a reference picture different from a picture including the target block, and performing motion compensation on the target block using the derived motion vector A DMVD parameter indicating whether to enable the DMVD function, which is a function of encoding and deriving a motion vector in the decoder. And writes the bit stream including the object blocks coded.
  • one neighboring template is selected from the N neighboring templates defined in advance for the target block. Therefore, an appropriate neighboring template can be selected for the target block, and the accuracy of motion search can be selected. Can be improved. As a result, the encoding efficiency can be improved. Furthermore, since the DMVD parameter is written in the bitstream, the decoder can be made to perform motion vector derivation for decoding the target block, that is, motion search, as necessary. Therefore, the decoder can appropriately decode the bit stream with improved encoding efficiency.
  • the encoding method further identifies the N neighboring templates defined in advance for the target block, and the selection of the neighboring template includes selecting the neighborhood from the identified N neighboring templates.
  • the selection of the neighboring template includes selecting the neighborhood from the identified N neighboring templates.
  • an identification parameter for identifying the selected neighboring template may be written as the DMVD parameter indicating that the DMVD function is enabled.
  • the decoder can appropriately decode the target block.
  • the encoding method further determines which subset of a plurality of subsets each including less than N neighboring templates is used, and which subset is not used, and a determination result of the subset
  • the extension parameter indicates a predetermined value
  • the extension parameter is selected from the plurality of subsets.
  • a corresponding subset is identified, and one of the N neighboring templates is selected from among the M neighboring templates (M is an integer less than or equal to 2 and less than N) included in the identified subset.
  • M is an integer less than or equal to 2 and less than N
  • one neighboring template is selected from M neighboring templates that are fewer than N neighboring templates, that is, a plurality of candidate neighboring templates to be selected are selected. Since the number of neighboring templates is reduced, the processing load for selecting neighboring templates can be reduced.
  • the encoding method further determines whether or not to change a neighborhood template adaptively, and in writing the DMVD parameter, a parameter indicating the determination result of whether to change the value as a value is used as the DMVD.
  • the DMVD parameter indicates a predetermined value
  • the region of the reconstructed image generated around the target block when the target block is encoded Depending on, one neighboring template may be selected from the N neighboring templates.
  • a neighboring template with the highest priority may be selected from at least one neighboring template in which all reconstructed images in the region indicated by the neighboring template are generated.
  • the decoder side can appropriately select the neighborhood template selected by the encoder.
  • an image indicated by a motion vector derived for the neighboring template and the neighboring template may be calculated as a distortion value, and a neighboring template having the smallest distortion value may be selected from the plurality of candidate neighboring templates.
  • the decoder side can appropriately select the neighborhood template selected by the encoder.
  • a value indicating whether or not to enable the DMVD function may be written as the DMVD parameter depending on whether or not the DMVD parameter is larger than a predetermined threshold.
  • the DMVD parameter can be also used as a parameter indicating a value used for a function other than the DMVD function such as a size of a candidate list. Therefore, since other parameters included in the bitstream can be used as DMVD parameters, the encoding efficiency can be further improved.
  • a decoding method is a decoding method for decoding a bitstream indicating an encoded moving image for each block, and enables a DMVD function, which is a function for deriving a motion vector, in a decoder.
  • a DMVD parameter indicating whether or not to perform is read from the bitstream, and N numbers (N is an integer of 2 or more) are defined in advance for the target block and indicate different regions spatially adjacent to the target block. ) Is selected based on the DMVD parameter that has been read, the reconstructed image in the region indicated by the selected neighborhood template, and the target block
  • a motion vector is derived using a picture that includes By performing motion compensation for the target block using the motion vector, it may decode the current block.
  • the DMVD parameter indicates that the DMVD function is to be enabled
  • one neighboring template is selected from the N neighboring templates defined in advance for the target block. Therefore, it is possible to select an appropriate neighborhood template for the target block, and it is possible to appropriately decode a bitstream with improved encoding efficiency.
  • the decoding method further identifies the N neighboring templates defined in advance for the target block, and in the interpretation of the DMVD parameter, as the DMVD parameter indicating that the DMVD function is enabled, Reading an identification parameter for identifying a neighborhood template to be selected, and in selecting the neighborhood template, the neighborhood template corresponding to the identification parameter may be selected from the identified N neighborhood templates. Good.
  • the neighborhood template used for encoding the target block can be easily selected and used. Therefore, the target block can be appropriately decoded.
  • the decoding method further includes an extended parameter indicating as a value which one of a plurality of subsets each including less than N neighboring templates is used, and which subset is not used.
  • an extended parameter indicating as a value which one of a plurality of subsets each including less than N neighboring templates is used, and which subset is not used.
  • one neighboring template is selected from M neighboring templates that are fewer than N neighboring templates, that is, a plurality of candidate neighboring templates to be selected are selected. Since the number of neighboring templates is reduced, the processing load for selecting neighboring templates can be reduced.
  • a parameter indicating whether or not the neighborhood template is adaptively changed is interpreted as the DMVD parameter, and in the selection of the neighborhood template, the DMVD parameter is set to a predetermined value.
  • the stream can be properly decoded.
  • a neighborhood template with the highest priority may be selected from at least one neighborhood template in which all reconstructed images in the region indicated by the neighborhood template are generated.
  • an image indicated by a motion vector derived for the neighboring template and the neighboring template may be calculated as a distortion value, and a neighboring template having the smallest distortion value may be selected from the plurality of candidate neighboring templates.
  • a value indicating whether or not to enable the DMVD function may be interpreted as the DMVD parameter depending on whether or not it is larger than a predetermined threshold value.
  • the DMVD parameter can be also used as a parameter indicating a value used for a function other than the DMVD function such as a size of a candidate list. Therefore, since other parameters included in the bitstream can be used as the DMVD parameter, it is possible to appropriately decode the bitstream in which the encoding efficiency is further improved.
  • a recording medium such as a system, an apparatus, an integrated circuit, a computer program, or a computer-readable CD-ROM, and the system, apparatus, integrated circuit, and computer program.
  • a recording medium such as a system, an apparatus, an integrated circuit, a computer program, or a computer-readable CD-ROM, and the system, apparatus, integrated circuit, and computer program.
  • it may be realized by any combination of recording media.
  • FIG. 1 is a block diagram showing an exemplary structure of the encoding apparatus according to the present embodiment.
  • the encoding apparatus 100 generates a bit stream Bs by encoding an input video (that is, a moving image) in units of blocks.
  • the encoding device 100 includes a transform unit 101, a quantizer 102, an inverse quantizer 103, an inverse transform unit 104, a block memory 105, a picture memory (also referred to as a frame memory) 106, and intra prediction.
  • the subtractor 110 generates a difference image composed of a plurality of subtraction values by subtracting a prediction image corresponding to the target block from a block to be encoded (hereinafter referred to as a target block) included in the input video,
  • the difference image is output to the conversion unit 101.
  • the predicted image is an image generated by the intra prediction unit 107 or the inter prediction unit 108.
  • the conversion unit 101 converts the difference image into a plurality of frequency coefficients, and outputs the obtained plurality of frequency coefficients to the quantization unit 102.
  • the quantization unit 102 quantizes the plurality of input frequency coefficients, and outputs a plurality of quantization values obtained by the quantization to the inverse quantization unit 103 and the entropy encoding unit 109.
  • the entropy encoding unit 109 entropy-encodes the plurality of quantization values output from the quantization unit 102, and outputs a bit stream Bs including the plurality of entropy-encoded quantization values. That is, this bit stream Bs includes the encoded target block.
  • the inverse quantization unit 103 inversely quantizes the plurality of quantized values output from the quantization unit 102 and outputs the plurality of frequency coefficients obtained by the inverse quantization to the inverse transform unit 104.
  • the inverse transform unit 104 performs inverse frequency transform on the plurality of frequency coefficients, thereby transforming the frequency coefficients into a difference image composed of a plurality of pixel values (also referred to as sample values), and the difference image is sent to the adder 111.
  • the adder 111 generates a reconstructed image by adding the difference image output from the inverse conversion unit 104 to the prediction image output from the inter prediction unit 108 or the intra prediction unit 107. Then, the adder 111 outputs the generated reconstructed image to the block memory 105 or the picture memory 106 for further prediction.
  • the intra prediction unit 107 performs intra prediction using at least one reconstructed image stored in the block memory 105, and generates a prediction image for the target block by the intra prediction.
  • the inter prediction unit 108 performs motion compensation based on the motion vector derived or selected by the motion vector prediction unit 131. That is, the inter prediction unit 108 converts, for example, an image of the target block (or a neighboring template described later) from the reference picture including at least one reconstructed image stored in the picture memory 106 based on the motion vector. Get the most similar image. Thereby, a prediction image (also referred to as a prediction block or a prediction sample) is generated.
  • the reference picture is a picture different from the picture including the target block, and is specified by, for example, a reference index.
  • the control unit 130 receives a plurality of parameters for deriving a plurality of defined neighborhood templates and motion vector prediction (MVP).
  • each of the plurality of parameters is a parameter indicating a reference index, a candidate index, or a plurality of neighboring templates.
  • control unit 130 uses a plurality of predefined neighborhood templates to generate motion vector prediction candidates for inclusion in a candidate list (also referred to as a candidate set). Determine or identify.
  • control unit 130 determines whether or not to include those neighboring templates (specifically, motion vectors based on a plurality of predefined neighboring templates) in the candidate set. Thereafter, the control unit 130 outputs a signal 133 indicating the determination result to the motion vector prediction unit 131.
  • the motion vector prediction unit 131 derives at least one motion vector prediction candidate used in a candidate list (of motion vector prediction candidates) for a target block having a motion vector and a reference picture. Further, the motion vector prediction unit 131 derives a motion vector by performing a motion search. The motion vector prediction unit 131 also derives one motion vector prediction candidate as a motion vector prediction from at least one motion vector prediction candidate included in the candidate list, based on the motion vector derived by motion search. After that, the motion vector prediction unit 131 includes a candidate index for specifying the derived motion vector prediction from the candidate list created based on the signal 133 from the control unit 130 in the signal 137 to the writing unit 136. Output.
  • the motion vector prediction unit 131 calculates a difference between the motion vector derived by the motion search and the derived motion vector prediction as a delta motion vector, and calculates the delta motion vector and the reference index of the reference picture as described above.
  • the signal 137 is included and output to the writing unit 136.
  • the writing unit 136 acquires from the control unit 130 a parameter 138 that is determined or identified by the control unit 130 and indicates a plurality of pre-defined neighboring templates for the target block, and writes the parameter 138 to the bitstream Bs. . Further, the writing unit 136 writes the candidate index, delta motion vector, reference index, and the like included in the signal 137 to the bit stream Bs.
  • the encoding apparatus 100 is an apparatus related to the decoder side motion estimation (DSME) technology, in other words, a function for deriving a motion vector on the decoder side (DMVD: Decoder side Motion Vector Derivation). ). Therefore, the motion vector prediction unit 131 of the encoding apparatus 100 performs a motion search based on a reconstructed image in a neighboring template that is a spatially neighboring region of the target block (hereinafter referred to as a neighboring template) in order to realize DMVD. Based motion search).
  • a neighboring template a spatially neighboring region of the target block
  • the control unit 130 determines whether to perform a motion search based on a target block included in an input video (hereinafter referred to as a motion search based on an input image) or a motion search based on a neighboring template.
  • the motion search based on the input image is a process of searching for a block similar to the image of the target block from a reference picture different from the picture including the target block.
  • the motion search based on the neighborhood template is processing for searching for a block similar to the reconstructed image in the neighborhood template from reference pictures different from the picture including the target block.
  • the control unit 130 determines or identifies a plurality of neighborhood templates previously defined for the target block as described above, and selects those neighborhood templates as candidates. Decide to include in the list. Further, it is determined that a motion vector derived by motion search for the neighboring template is included in the candidate set.
  • the motion vector prediction unit 131 When it is determined that the motion search based on the input image is performed, the motion vector prediction unit 131 performs a motion search based on the input image and outputs a motion vector obtained by the motion search to the inter prediction unit 108. On the other hand, when it is determined that the motion search based on the neighborhood template is performed, the motion vector prediction unit 131 generates a candidate list including a plurality of predefined neighborhood templates indicated by the signal 133. The plurality of predefined neighborhood templates is N (N is an integer of 2 or more). Then, the motion vector prediction unit 131 selects one neighboring template from the N neighboring templates. Further, the motion vector prediction unit 131 derives a motion vector using the reconstructed image in the region indicated by the selected neighborhood template and the reference picture.
  • the motion vector prediction unit 131 performs a motion search based on the neighborhood template. Then, the motion vector prediction unit 131 outputs the motion vector derived by the motion search to the inter prediction unit 108. In addition, the motion vector prediction unit 131 includes an identification parameter for identifying the selected template as a candidate index in the signal 137 and outputs it to the writing unit 136.
  • FIG. 2 to FIG. 7 are diagrams showing examples of several neighboring templates assumed for the target block. All of the illustrated neighborhood templates can correspond to the functionality of the decoder-side motion vector derivation (DMVD) process, so these are represented as DMVD templates in this embodiment. However, the DMVD template is not limited to the examples illustrated in FIGS.
  • DMVD decoder-side motion vector derivation
  • a rectangular area adjacent to the target block may be identified as a neighborhood template.
  • the width of the selected neighborhood template is not less than the width of the target block.
  • the area of the selected neighborhood template may be equal to or larger than the area of the target block.
  • a rectangular area adjacent to the left of the target block may be identified as a neighborhood template.
  • the height of the selected neighborhood template is equal to or higher than the height of the target block. May be.
  • the width of the selected neighborhood template is smaller than the width of the target block, the area of the selected neighborhood template may be equal to or larger than the area of the target block.
  • an inverted L-shaped region adjacent to the upper and left sides of the target block (in FIGS. 4 and 5).
  • a region indicated by hatched hatching) may be identified as a neighborhood template.
  • the target in the block group You may treat 5 blocks except a block as a block which can be used for a neighborhood template. Therefore, an area composed of a combination of at least one of the five blocks is identified as a neighboring template or DMVD template of the target block. Since there are multiple combinations, multiple predefined neighborhood templates are identified. Then, as shown in FIG. 6B, for example, an area composed of two blocks on the left of the target block is selected as a neighborhood template.
  • two square areas of different sizes adjacent to the left or top of the target block are defined in advance for the target block. May be identified as neighboring templates. Then, one of the neighboring templates is selected from those neighboring templates. Thus, the selected neighborhood template is an available neighborhood block adjacent to the target block.
  • the neighboring block that can be used is a block in which all the reconstructed images included in the neighboring block are generated when the target block is encoded.
  • Such an encoding apparatus 100 is an encoding apparatus that encodes a moving image for each block, and includes a selection unit, a derivation unit, an encoding unit, and a writing unit 136. .
  • the selection unit is realized by a partial function of the motion vector prediction unit 131. That is, the selection unit selects one of N neighboring templates (N is an integer of 2 or more) that are different from each other and are spatially adjacent to the target block. Select a neighborhood template.
  • the derivation unit is realized by a part of the function of the motion vector prediction unit 131. That is, the derivation unit derives a motion vector using the reconstructed image in the region indicated by the selected neighborhood template and a reference picture different from the picture including the target block.
  • the encoding unit includes an inter prediction unit 108, a conversion unit 101, a quantization unit 102, an inverse quantization unit 103, an inverse conversion unit 104, a picture memory 106, an entropy encoding unit 109, a subtractor 110, and an adder 111. It consists of at least one of them. That is, the encoding unit encodes the target block by performing motion compensation on the target block using the derived motion vector.
  • the writing unit 136 also writes a DMVD parameter indicating whether or not to enable the DMVD function, which is a function for deriving a motion vector, in the decoder to the bitstream Bs including the encoded target block. For example, the writing unit 136 writes an identification parameter (for example, a candidate index) for identifying the selected neighboring template into the bit stream Bs as a DMVD parameter.
  • one neighboring template is selected from the N neighboring templates defined in advance for the target block. Therefore, an appropriate neighboring template can be selected for the target block, and the accuracy of motion search can be selected. Can be improved. As a result, the encoding efficiency can be improved. Furthermore, since the DMVD parameter is written to the bit stream Bs, the decoder can be made to perform motion vector derivation for decoding the target block, that is, motion search, as necessary. Therefore, the decoder can appropriately decode the bit stream Bs with improved encoding efficiency.
  • FIG. 8 is a flowchart showing an example of the encoding process in the present embodiment.
  • the control unit 130 of the encoding device 100 identifies a plurality of predefined neighborhood templates for the target block.
  • the motion vector prediction unit 131 selects one neighboring template based on a predefined criterion from a plurality of predefined neighboring templates.
  • the motion vector prediction unit 131 derives a motion vector using the selected neighborhood template during the motion search process.
  • the inter prediction unit 108 performs motion compensation using the derived motion vector.
  • the target block is encoded by this motion compensation.
  • the writing unit 136 writes one or more identification parameters that specify the selected neighboring template in the bit stream Bs.
  • step S1003 when the current block is encoded as a block included in a B picture or a B slice based on two reference picture lists, a plurality of motion vectors are derived from the selected neighboring templates. . Further, even when the target block is not included in any of the B picture and the B slice, a plurality of motion vectors may be derived as motion vector candidates from the selected neighboring template.
  • the neighborhood template used for encoding the target block can be easily selected and used by the decoder. . Therefore, the decoder can appropriately decode the target block.
  • FIG. 9 is a flowchart showing another example of the encoding process in the present embodiment.
  • the control unit 130 of the encoding device 100 determines whether or not to use an extension template (a so-called subset described later) for the motion search process.
  • the writing unit 136 writes an extension parameter representing the determination result in the header of the bit stream Bs.
  • the motion vector prediction unit 131 determines whether or not the extension parameter has a predefined value.
  • the motion vector predicting unit 131 selects a subset of candidate templates from a plurality of predefined neighboring templates based on the extended parameter. Identify. If a plurality of predefined neighborhood templates are N (N is an integer of 2 or more), the subset is M (N is an integer of 2 or more and less than N) of the N neighborhood templates. Each neighborhood template is included as a candidate template.
  • step S1105 the motion vector prediction unit 131 selects one candidate template, that is, a neighboring template, based on a predefined criterion from among a plurality of candidate templates included in the identified subset.
  • This selection of the neighborhood template is performed, for example, according to a selection process shown in FIG.
  • step S1106 the motion vector predictor 131 determines a plurality of (for example, N) predefined parameters based on a predefined criterion.
  • One neighboring template is directly selected from the neighboring templates.
  • step S1107 the motion vector prediction unit 131 derives a motion vector for the target block using the selected neighborhood template during the motion search process. Thereafter, in step S1108, the inter prediction unit 108 performs a motion compensation process using the derived motion vector. Finally, in step S1109, the writing unit 136 writes one or more identification parameters that specify the selected neighboring template to the bitstream Bs.
  • the encoding apparatus 100 further uses which subset of a plurality of subsets each including a plurality of neighboring templates less than N, Decide whether to use subsets. Then, the encoding apparatus 100 writes the extension parameter indicating the subset determination result as a value in the bit stream Bs. Then, when selecting an adjacent template, encoding apparatus 100 specifies a subset corresponding to the extension parameter from among a plurality of subsets when the extension parameter indicates a predetermined value. Furthermore, encoding apparatus 100 selects one neighborhood template from M neighborhood templates (M is an integer less than or equal to 2 and less than N) included in the specified subset of the N neighborhood templates. To do. On the other hand, when the extension parameter does not indicate a predetermined value, encoding apparatus 100 selects one neighboring template from N neighboring templates.
  • M neighborhood templates M is an integer less than or equal to 2 and less than N
  • one neighboring template is selected from M neighboring templates that are fewer than N neighboring templates, that is, a plurality of candidate neighboring templates to be selected are selected. Since the number of neighboring templates is reduced, the processing load for selecting neighboring templates can be reduced.
  • FIG. 10 is a flowchart showing still another example of the encoding process in the present embodiment.
  • the control unit 130 of the encoding device 100 determines whether or not to use an adaptive template form for the motion search process in the decoder. That is, the control unit 130 determines whether to change the neighborhood template adaptively.
  • the writing unit 136 writes a parameter indicating the determination result (as the above-described DMVD parameter) in the header of the bit stream Bs.
  • the motion vector prediction unit 131 determines whether or not the parameter has a predefined value.
  • step S1204 the motion vector prediction unit 131 executes a motion search process using the adaptive template form.
  • An adaptive template shape is an adaptive change in at least one of the position, size and shape of neighboring templates.
  • the motion vector prediction unit 131 selects one neighboring template from N neighboring templates according to the region of the reconstructed image generated around the target block when the target block is encoded. To do. More specifically, the motion vector predicting unit 131 generates at least all reconstructed images in the region indicated by the neighboring template at the time of encoding the target block among the N neighboring templates.
  • One neighborhood template is selected from one neighborhood template.
  • FIG. 11 is a flowchart showing an example of a selection process for selecting one neighboring template from a plurality of neighboring templates based on a predefined criterion.
  • the motion vector predicting unit 131 arranges, that is, arranges each of a plurality of candidate neighborhood templates in a predetermined order. For example, the motion vector prediction unit 131 arranges a plurality of neighboring templates in order from the largest to the smallest. That is, for each of a plurality of candidate neighborhood templates, a higher priority is determined as the size of the neighborhood template is larger. At this time, each of the plurality of neighboring templates that are candidates is arranged so that the size of the neighboring template decreases from the top to the back, and the priority of each of the plurality of neighboring templates is determined according to the arranged order.
  • the motion vector prediction unit 131 arranges, that is, arranges each of a plurality of candidate neighborhood templates in a predetermined order. For example, the motion vector prediction unit 131 arranges a plurality of neighboring templates in order from the largest to the smallest. That is, for each of a plurality of candidate neighborhood templates, a higher priority is determined as the size of the neighborhood template is larger. At this time, each of
  • the motion vector prediction unit 131 selects the first neighboring template that satisfies a predetermined criterion from the plurality of neighboring templates arranged in the predefined order.
  • This predetermined criterion is a criterion that the entire neighborhood template is satisfied with the reconstructed pixels (image samples). Some neighboring templates may not have all image samples reconstructed when needed to be used for motion search due to the coding order of the target block. Thus, these incomplete neighborhood templates are not selected in the selection process.
  • the motion vector prediction unit 131 determines the priority for each of a plurality of neighboring templates that are candidates among the N neighboring templates. Furthermore, the motion vector predicting unit 131 generates at least one reconstructed image in the region indicated by the neighboring template at the time of encoding the target block among the plurality of candidate neighboring templates. A neighborhood template with the highest priority is selected from the neighborhood templates.
  • the decoder side can appropriately select the neighborhood template selected by the encoder.
  • FIG. 12 is a flowchart showing another example of selection processing for selecting one neighboring template from a plurality of neighboring templates based on a predefined criterion.
  • the motion vector prediction unit 131 derives a motion vector for each of the plurality of neighboring templates by performing a motion search for each of the plurality of candidate neighboring templates in the first step S2301.
  • the inter prediction unit 134 performs a motion compensation process on the neighboring template using the derived motion vector for each neighboring template.
  • the motion vector prediction unit 131 calculates a distortion value for each neighboring template based on the motion compensation process for the neighboring template. This distortion value is a value indicating the difference between the image generated by the motion compensation process and the original image of the neighboring template.
  • the motion vector prediction unit 131 selects a neighboring template having the lowest distortion value among a plurality of candidate neighboring templates.
  • the motion vector prediction unit 131 calculates a distortion value for each of a plurality of neighboring templates that are candidates among the N neighboring templates.
  • the distortion value is a value indicating the degree of distortion between the image indicated by the motion vector derived for the neighboring template and the image of the neighboring template. Then, the motion vector prediction unit 131 selects a neighboring template having the smallest distortion value from among a plurality of candidate neighboring templates.
  • one neighboring template can be appropriately selected from a plurality of candidate neighboring templates.
  • the decoder side can appropriately select the neighborhood template selected by the encoder.
  • FIG. 13 is a diagram illustrating an example of the position of the DMVD activation flag. If the DMVD validation flag is not in the bitstream, the remaining processing of this embodiment is performed independently.
  • the DMVD validation flag is a DMVD parameter indicating whether or not to enable the DMVD function that is a function for deriving a motion vector in the decoder.
  • the writing unit 136 may write the DMVD activation flag as vps_DMVD_flag in the video parameter set (VPS) as shown in (i) of FIG.
  • vps_DMVD_flag indicates that the DMVD function is valid
  • a process for realizing DMVD that is, a motion search based on a neighboring template is performed on the entire image included in the bitstream Bs.
  • the writing unit 136 may write the DMVD enable flag as sps_DMVD_flag in the sequence parameter set (SPS).
  • the writing unit 136 may write the DMVD enable flag as pps_DMVD_flag in the picture parameter set (PPS).
  • PPS picture parameter set
  • the writing unit 136 may write the DMVD activation flag as slice_DMVD_flag in the slice header.
  • slice_DMVD_flag indicates that the DMVD function is valid
  • processing for realizing DMVD is performed on the entire image included in the slice corresponding to the slice header.
  • the writing unit 136 may write a DMVD validation flag as a block_DMVD_flag in a coding unit.
  • this block_DMVD_flag indicates that the DMVD function is valid, processing for realizing DMVD is performed on the entire image included in the encoding unit.
  • the writing unit 136 may write a parameter indicating the size of the candidate list (that is, the number of candidates included in the candidate list) to the bitstream Bs as a DMVD parameter.
  • a parameter indicating the size of the candidate list that is, the number of candidates included in the candidate list
  • the candidate list includes candidates for neighboring templates. If the number of candidates is equal to or less than the threshold, the candidate list includes Candidates are not included. Therefore, the parameter indicating the size of the candidate list indicates whether to enable the DMVD function that is a function for deriving a motion vector in the decoder.
  • the writing unit 136 may write a value indicating whether or not to enable the DMVD function to the bit stream Bs as a DMVD parameter depending on whether or not the threshold is larger than a predetermined threshold.
  • the DMVD parameter can also be used as a parameter indicating a value used for a function other than the DMVD function, such as the size of the candidate list, for example. Therefore, since other parameters included in the bit stream Bs can be used as DMVD parameters, the encoding efficiency can be further improved.
  • FIG. 14 is a diagram showing an example of parameter positions related to selecting one neighboring template from a plurality of predefined neighboring templates. This parameter is an identification parameter for identifying the selected neighborhood template.
  • the writing unit 136 may write a parameter in a coding unit as shown in (i) of FIG. This parameter indicates, for example, the width and height of a block (target block). Further, the writing unit 136 may write the parameter in the slice header as shown in (ii) of FIG. This parameter indicates, for example, the slice type (slice_type) or the maximum value (max_num_cand) of the number of motion vector prediction candidates included in the candidate list.
  • the writing unit 136 may write the parameter in the picture parameter set as shown in (iii) of FIG. This parameter indicates, for example, the picture type (pic_type). Further, the writing unit 136 may write the parameter into the sequence parameter set (SPS) as shown in (iv) of FIG. This parameter indicates, for example, a layer identifier (templral_id) or a NAL unit type (nal_unit_type) in temporal layer coding.
  • SPS sequence parameter set
  • FIG. 15 is a diagram illustrating an example of positions of one or more parameters indicating a plurality of predefined neighborhood templates.
  • one or more parameters indicating a plurality of predefined neighborhood templates may be either a sequence parameter set (SPS) or a picture parameter set (PPS), as shown in (i) and (ii) of FIG. include.
  • An identification parameter that explicitly or implicitly indicates the neighborhood template selected for each block is included in the block and transmitted.
  • one or more parameters indicating a plurality of predefined neighborhood templates may be included in either the slice header or the coding unit, as shown in (iii) and (iv) of FIG. .
  • each of a plurality of predefined neighborhood templates may be represented in a look-out table or a classification table that allows a neighborhood template to be searched based on a candidate index. For example, if the initially selected subset of neighboring templates is Template_A, the neighboring template used for motion search can be selected from a plurality of neighboring templates A0 to An that are candidates in the subset.
  • FIGS. 16A to 16C are diagrams showing exemplary positions of parameters for selecting a neighborhood template.
  • a unique identification parameter for selecting one neighboring template (this parameter is also effective when selecting a neighboring template from a subset) is selected.
  • This is an identification parameter for identifying a neighboring template, and particularly a parameter specific to the neighboring template.
  • This unique identification parameter may be included as a template identification parameter, for example, in SPS, PPS, slice header, or slice data.
  • a parameter for identifying a subset may be included as a template identification parameter in, for example, SPS, PPS, slice header, or slice data.
  • the maximum candidate buffer size (max_cand_buffer_size) may be included in the slice header or the slice data as a template ID for determining a neighboring template from the subset.
  • a parameter (enabled_extended_template_selection) specifying a subset, that is, an extension template may be explicitly included in, for example, SPS, PPS, slice header, or slice data.
  • FIG. 17 is a block diagram illustrating an exemplary structure of the decoding device according to the present embodiment.
  • the decoding apparatus 200 outputs a decoded video by decoding the bit stream Bs indicating the encoded moving image in units of blocks.
  • the decoding device 200 includes an entropy decoding unit 201, an inverse quantization unit 202, an inverse transform unit 203, a block memory 204, a picture memory (also referred to as a frame memory) 205, an intra prediction unit 206, an inter prediction.
  • Unit 207 motion vector prediction unit 210, control unit 212, reading unit 213, and adder 215.
  • the entropy decoding unit 201 performs entropy decoding on the bit stream Bs and outputs a plurality of quantized values obtained by the entropy decoding to the inverse quantization unit 202.
  • the inverse quantization unit 202 inversely quantizes these quantized values, and outputs a plurality of frequency coefficients obtained by the inverse quantization to the inverse transform unit 203.
  • the inverse transform unit 203 performs inverse frequency transform on the plurality of frequency coefficients, thereby transforming the frequency coefficients into a difference image composed of a plurality of pixel values (also referred to as sample values), and the difference image is sent to the adder 215. Output.
  • the adder 215 adds the difference image to the prediction image output from the inter prediction unit 207 or the intra prediction unit 206 (that is, the prediction image for the decoding target block), thereby generating a reconstructed image. Then, the adder 215 outputs the decoded video composed of at least one reconstructed image for display, and outputs the generated reconstructed image to the block memory 204 or the picture memory 205 for further prediction.
  • the intra prediction unit 206 performs intra prediction using at least one reconstructed image stored in the block memory 204, and generates a prediction image for a decoding target block (hereinafter referred to as a target block) by the intra prediction.
  • the inter prediction unit 207 performs motion compensation based on the motion vector derived or selected from the motion vector prediction unit 210. That is, the inter prediction unit 207 converts, for example, an image of the target block (or a neighboring template described later) from the reference picture including at least one reconstructed image stored in the picture memory 205 based on the motion vector. Get the most similar image. Thereby, a predicted image is generated.
  • the reading / understanding unit 213 reads and interprets the plurality of parameters 209 from the bitstream Bs, and outputs the plurality of parameters 209 thus read out to the control unit 212.
  • These parameters 209 include a parameter indicating a plurality of predefined neighborhood templates and an identification parameter indicating the selected neighborhood template. Note that these parameters 209 may include an extension parameter indicating whether or not the extension template can be used.
  • the reading interpreting unit 213 may also output prediction information 208 included in the bitstream Bs, including, for example, a candidate index, a reference index indicating a used reference picture, and a delta motion vector, to the motion vector prediction unit 210. .
  • the control unit 212 identifies a plurality of predefined neighboring templates based on the plurality of parameters 209 read from the reading unit 213, and selects one neighboring template from the plurality of neighboring templates.
  • the parameter indicating the selected neighboring template among the plurality of parameters 209 is the candidate list. May be a candidate index.
  • the control unit 212 includes a parameter indicating the selected neighborhood template in the signal 214 and outputs the parameter to the motion vector prediction unit 210.
  • the motion vector prediction unit 210 derives at least one motion vector prediction candidate used for the candidate list.
  • the motion vector prediction unit 210 selects one motion vector prediction candidate as a motion vector prediction from at least one motion vector prediction candidate included in the candidate list based on a candidate index included in the prediction information 208.
  • the motion vector prediction unit 210 derives the motion vector of the target block by adding the delta motion vector to the selected motion vector prediction.
  • the motion vector predicting unit 210 derives a motion vector of the target block by performing a motion search based on the neighboring template. Then, the motion vector prediction unit 210 outputs a signal 211 including the derived motion vector to the inter prediction unit 207.
  • the decoding device 200 is a decoding device that decodes the bitstream Bs for each block, and includes a reading unit 213, a selection unit, a derivation unit, and a decoding unit.
  • the interpretation unit 213 interprets the identification parameter as a DMVD parameter from the bit stream.
  • the selection unit is composed of the control unit 212, and it has been read that one neighboring template is selected from N (N is an integer of 2 or more) neighboring templates defined in advance for the target block. Perform based on DMVD parameters.
  • the derivation unit includes a motion vector prediction unit 210, and derives a motion vector using the reconstructed image in the region indicated by the selected neighborhood template and a reference picture different from the picture including the target block.
  • the decoding unit includes an inter prediction unit 207, at least one of an entropy decoding unit 201, an inverse quantization unit 202, an inverse transformation unit 203, a picture memory 205, and an adder 215. That is, the decoding unit decodes the target block by performing motion compensation on the target block using the derived motion vector.
  • the reading unit 213 may read a value indicating whether or not to enable the DMVD function as a DMVD parameter depending on whether or not the threshold value is larger than a predetermined threshold.
  • the DMVD parameter can also be used as a parameter indicating a value used for a function other than the DMVD function, such as the size of the candidate list, for example. Therefore, since other parameters included in the bitstream can be used as the DMVD parameter, it is possible to appropriately decode the bitstream in which the encoding efficiency is further improved.
  • a decoding method for executing a motion search process using a neighborhood template according to the present embodiment will be described with reference to FIGS.
  • FIG. 18 is a flowchart showing an example of the decoding process in the present embodiment.
  • the decoding process shown in this flowchart is a process corresponding to the encoding process shown in the flowchart of FIG.
  • the interpretation unit 213 of the decoding device 200 interprets the identification parameter for the target block from the bit stream Bs as the first step S2002.
  • step S2003 the control unit 212 identifies a plurality of neighboring templates defined in advance for the target block. Thereafter, in step S2004, the control unit 212 selects one neighboring template from a plurality of predefined neighboring templates based on the identification parameter read by the reading unit 213.
  • step S2005 the motion vector prediction unit 210 derives a motion vector using the selected neighborhood template during the motion search process.
  • the inter prediction unit 207 performs motion compensation using the derived motion vector. The target block is decoded by this motion compensation.
  • step S2005 when the target block is decoded as a block included in a B picture or a B slice based on two reference picture lists, a plurality of motion vectors are derived from the selected neighboring template. Further, even when the target block is not included in any of the B picture and the B slice, a plurality of motion vectors may be derived as motion vector candidates from the selected neighboring template.
  • one neighboring template is selected based on the identification parameter.
  • one neighboring template may be selected based on, for example, a predefined criterion shown by the flowchart of FIG. 11 or FIG. .
  • FIG. 19 is a flowchart showing another example of the decoding process in the present embodiment.
  • the decoding process shown in this flowchart is a process corresponding to the encoding process shown in the flowchart of FIG.
  • the reading unit 213 of the decoding device 200 reads a plurality of parameters including an extension parameter indicating whether the extension template can be used and an identification parameter from the bit stream Bs.
  • the control unit 212 determines whether or not the read extension parameter has a predefined value.
  • the control unit 212 determines a plurality of pre-defined neighbors based on the read extended parameter.
  • a subset of candidate templates is identified from the templates.
  • the control unit 212 selects one candidate template (that is, a neighboring template) from among a plurality of candidate templates included in the identified subset based on the read identification parameter.
  • step S2102 if the read extended parameter does not have a predefined value (No in step S2102), in step S2103, the control unit 212 determines a plurality of values based on the read identification parameter.
  • One neighborhood template is selected from the predefined neighborhood templates. At this time, the control unit 212 may select one neighboring template based on, for example, a predefined criterion shown by the flowchart of FIG. 11 or FIG.
  • step S2106 the motion vector prediction unit 210 derives a motion vector for the target block using the selected neighborhood template during the motion search process.
  • the inter prediction unit 207 performs motion compensation using the derived motion vector.
  • the decoding apparatus 200 further uses which subset of the plurality of subsets each including less than N neighboring templates, and which subset is used.
  • An extension parameter indicating whether or not to use is read from the bit stream Bs.
  • the decoding device 200 specifies a subset corresponding to the extension parameter from among a plurality of subsets when the extension parameter indicates a predetermined value.
  • the decoding apparatus 200 selects one neighboring template from M (M is an integer of 2 or more and less than N) neighboring templates included in the specified subset of the N neighboring templates. To do.
  • M is an integer of 2 or more and less than N
  • one neighboring template is selected from M neighboring templates that are fewer than N neighboring templates, that is, a plurality of candidate neighboring templates to be selected are selected. Since the number of neighboring templates is reduced, the processing load for selecting neighboring templates can be reduced.
  • FIG. 20 is a flowchart showing still another example of the decoding process according to the present embodiment.
  • the decoding process shown by this flowchart is a process corresponding to the encoding process shown by the flowchart of FIG.
  • the reading unit 213 of the decoding device 200 reads a parameter indicating whether or not to use the adaptive template form for the motion search process in the decoder (as the DMVD parameter described above) from the header of the bit stream Bs.
  • the control unit 212 determines whether or not the read parameter has a predefined value.
  • the motion vector prediction unit 210 performs motion search processing using the adaptive template form, thereby Derive a vector.
  • the reading unit 213 interprets, as a DMVD parameter, a parameter indicating whether or not to change the neighborhood template adaptively. Then, when the DMVD parameter indicates a predetermined value, the control unit 212 determines that the number of N images depends on the region of the reconstructed image generated around the target block when the target block is decoded.
  • One neighborhood template is selected from among the neighborhood templates. More specifically, the control unit 212 has at least one neighborhood in which all the reconstructed images in the region indicated by the neighborhood template are generated at the time of decoding of the target block among the N neighborhood templates.
  • One neighboring template is selected from the templates.
  • the stream Bs can be appropriately decoded.
  • the control unit 212 may select one neighborhood template based on, for example, a predefined criterion shown by the flowchart of FIG. 11 or FIG. . Thereby, one neighborhood template can be appropriately selected from a plurality of neighborhood templates as candidates.
  • the neighborhood template selected by the encoder can be appropriately selected.
  • FIGS. 1-10 several neighboring templates assumed for the target block are exemplified by FIGS. All of the illustrated neighborhood templates correspond to the functionality of the motion vector derivation (DMVD) processing on the decoder side, so they are represented as DMVD templates in this embodiment.
  • DMVD motion vector derivation
  • the DMVD template is not limited to the examples illustrated in FIGS.
  • 21A to 21F are flowcharts showing an example of processing for selecting a DMVD template from a plurality of neighboring templates based on parameters read from the bitstream Bs.
  • the decoding device 200 reads and interprets a plurality of parameters from the bitstream Bs in order to determine a neighborhood template used for the target block (step S2501).
  • the decoding apparatus 200 determines an identification parameter for identifying a neighboring template among the plurality of interpreted parameters (step S2502).
  • the decoding device 200 identifies a plurality of predefined neighboring templates, for example, according to a predefined template list, look-up table, or candidate list configured in the coding device 100 (step S2503).
  • decoding apparatus 200 selects one neighboring template (DMVD template) from the plurality of identified neighboring templates based on the identification parameter determined in step S2502 (step S2504).
  • DMVD template neighboring template
  • the decoding device 200 may perform the processing of steps S2601 to S2604 as shown in FIG. 21B. That is, in step S2602, the decoding apparatus 200 determines a parameter indicating the size of the target block instead of the identification parameter. In step S2604, the decoding apparatus 200 selects one neighboring template (DMVD template) from the identified plurality of neighboring templates based on the parameter indicating the determined size.
  • DMVD template neighboring template
  • the decoding device 200 may perform the processes of steps S2701 to S2704 as shown in FIG. 21C. That is, in step S2702, the decoding apparatus 200 determines a parameter indicating the picture type or slice type of the target block instead of the identification parameter. In step S2704, decoding apparatus 200 selects one neighboring template (DMVD template) from the identified plurality of neighboring templates based on a parameter indicating the determined picture type or slice type.
  • DMVD template neighboring template
  • the decoding device 200 may perform the processes of steps S2801 to S2804 as shown in FIG. 21D. That is, in step S2802, the decoding apparatus 200 determines a parameter (temporal ID) indicating the temporal layer of the target picture including the target block, instead of the identification parameter. In step S2804, decoding apparatus 200 selects one neighboring template (DMVD template) from the identified plurality of neighboring templates based on the parameter indicating the determined time layer.
  • DMVD template neighboring template
  • the decoding device 200 may perform the processes of steps S2901 to S2904 as shown in FIG. 21E. That is, in step S2902, the decoding apparatus 200 determines a parameter indicating the coding structure of the target sequence including the target block, instead of the identification parameter. In step S2904, decoding apparatus 200 selects one neighboring template (DMVD template) from the identified plurality of neighboring templates based on the parameter indicating the determined coding structure.
  • DMVD template neighboring template
  • the decoding device 200 may perform the processes of steps S3001 to S3004 as shown in FIG. 21F. That is, in step S3002, the decoding apparatus 200 determines a parameter (DMVD parameter) indicating whether or not the DMVD template can be used instead of the identification parameter. In step S3004, decoding apparatus 200 selects one neighboring template (DMVD template) from the identified plurality of neighboring templates based on the determined parameter indicating whether the DMVD template can be used.
  • DMVD parameter a parameter indicating whether or not the DMVD template can be used instead of the identification parameter.
  • decoding apparatus 200 selects one neighboring template (DMVD template) from the identified plurality of neighboring templates based on the determined parameter indicating whether the DMVD template can be used.
  • FIGS. 21A to 21F are shown as an exemplary process for selecting a DMVD template based on some assumed parameters.
  • DMVD parameters may be selected based on other parameters.
  • the selected neighborhood template that is, the DMVD template
  • the implicit parameter may be used as a DMVD parameter indicating whether or not to enable the DMVD function that is a function of deriving a motion vector in the decoder.
  • the implicit parameter is a parameter indicating the size of the target block, a parameter indicating the type of slice, or a parameter (temporal ID) indicating the time layer.
  • the DMVD parameter in the bitstream is an implicit parameter that can determine whether to enable the DMVD function based on a predetermined determination method.
  • the implicit parameter is a parameter indicating the type of slice.
  • the decoding apparatus 200 determines to enable the DMVD function when the parameter indicates a specific type of slice.
  • the implicit parameter is a parameter indicating the size of the target block.
  • the decoding apparatus 200 determines whether to enable the DMVD function by comparing the size of the target block with a predefined size.
  • the implicit parameter is a temporal ID of a picture in temporal hierarchical coding. In this case, the decoding apparatus 200 determines whether to enable the DMVD function by comparing the temporal ID with a predefined threshold value.
  • the encoding method and the decoding method shown in FIGS. 22A and 22B are also included in the present invention.
  • FIG. 22A is a flowchart illustrating an example of an encoding method according to an aspect of the present invention.
  • This encoding method is an encoding method for encoding a moving image on a block-by-block basis, and is defined in advance for a target block, and N (s) indicating different regions that are spatially adjacent to the target block ( Step S11 for selecting one neighboring template from among neighboring templates (where N is an integer equal to or greater than 2), a reconstructed image in a region indicated by the selected neighboring template, and a reference different from the picture including the target block Step S12 for deriving a motion vector using a picture, Step S13 for encoding the target block by performing motion compensation on the target block using the derived motion vector, and motion in a decoder A DMVD parameter indicating whether or not to enable the DMVD function which is a function for deriving a vector.
  • the meter includes a step S14 of writing the bit stream including the object blocks coded.
  • FIG. 22B is a flowchart illustrating an example of a decoding method according to an aspect of the present invention.
  • This decoding method is a decoding method for decoding a bit stream indicating an encoded moving image for each block, and a DMVD parameter indicating whether or not to enable a DMVD function that is a function for deriving a motion vector in a decoder Are read from the bitstream, and N (N is an integer of 2 or more) neighboring templates that are defined in advance for the target block and indicate different regions that are spatially adjacent to the target block.
  • Deriving a motion vector using a picture and a different reference picture A step S23, by performing motion compensation for the target block using the motion vector derived, and a step S24 for decoding the target block.
  • 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 encoding device, the decoding device, and the like according to the above-described embodiment causes the computer to execute each step shown in FIG. 22A or 22B.
  • 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. 23 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.
  • the 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. 25 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. 26 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. 27 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.
  • FIG. 28A 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. 29 is a diagram showing a structure of multiplexed data.
  • 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 video streams used for sub-pictures, and 0x1A00 to 0x1A1F are assigned to audio streams used for sub-audio mixed with the main audio.
  • FIG. 30 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. 31 shows in more detail how the video stream is stored in the PES packet sequence.
  • the first row in FIG. 31 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 are 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. 32 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. 32, 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. 33 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. 36 shows the 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. 37 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 when performing the encoding process, performs the microphone ex117 and the camera ex113 by the AV I / O ex509 based on the control of the control unit ex501 including the CPU ex502, the memory controller ex503, the stream controller ex504, the drive 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
  • Such a programmable logic device typically loads or reads a program constituting software or firmware from a memory or the like, so that the moving image encoding method or the moving image described in each of the above embodiments is used.
  • An image decoding method can be performed.
  • FIG. 38 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 in FIG.
  • the decoding processing unit ex801 that executes the moving picture decoding method described in each of the above embodiments and the decoding processing unit ex802 that conforms to the conventional standard correspond to the signal processing unit ex507 in FIG.
  • the CPU ex502 identifies which standard the video data conforms to. Then, based on the signal from the CPU ex502, the drive frequency control unit ex512 sets the drive frequency. Further, based on the signal from the CPU ex502, 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 third embodiment.
  • the identification information is not limited to that described in Embodiment 3, 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. 39 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. 41A.
  • 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.
  • 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. 41B 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 encoding method and the decoding method according to the present invention have the effect that the encoding efficiency can be improved.
  • information display of a television, a digital video recorder, a car navigation system, a mobile phone, a digital camera, a digital video camera, etc. can be used for equipment and imaging equipment.

Landscapes

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

Abstract

 符号化方法は、対象ブロックに対して予め定義された、前記対象ブロックの空間的に近隣にある互いに異なる領域を示すN個(Nは2以上の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択するステップ(S11)と、選択された前記近隣テンプレートによって示される領域における再構成画像と、前記対象ブロックを含むピクチャと異なる参照ピクチャとを用いて動きベクトルを導出するステップ(S12)、導出された前記動きベクトルを用いて前記対象ブロックに対して動き補償を行うことによって、前記対象ブロックを符号化するステップ(S13)と、デコーダにおいて動きベクトルを導出する機能であるDMVD機能を有効にするか否かを示すDMVDパラメータを、符号化された前記対象ブロックを含むビットストリームに書き込むステップ(S14)とを含む。

Description

符号化方法、復号方法、符号化装置および復号装置
 本発明は、あらゆるマルチメディアデータの符号化および復号に関し、特に、デコーダ側の動き探索に対応する画像および映像の符号化および復号に関する。
 次世代映像(例えば、4K/8K解像度)の無線送信および有線送信においては、現在の符号化能力を超える符号化効率が求められる可能性がある。より高い符号化効率が不可欠ではあるが、エンコーダを大幅に複雑化することは望ましくなく、その配備には大きな懸念が生じえる。現在の映像符号化規格(非特許文献1参照)において、デコーダの複雑性はエンコーダの複雑性に比べてずっと低い。したがって、複雑性という負荷をデコーダ側に負わせることによって符号化効率を改善するための研究が続けられている。
 デコーダサイド・モーションエスティメーション(DSME)技術に関するいくつかの研究および実験が実施され、その結果、符号化効率の改善が証明されている。動き探索(ME)処理は、デコーダにおいて、近隣の再構成されたブロックをテンプレートとして用いることで実行され、その結果得られた最適な動きベクトル(MV)が対象ブロックの動きベクトルとして用いられる。先行技術(非特許文献2参照)では、ビットストリームに明示的に動きベクトルを符号化する代わりに、デコーダ側でテンプレートに基づいて動きベクトルが導出される。よって、その結果、これらの動きベクトルをビットストリームに含めて送信するための負荷を削減することで、符号化効率が改善される。
ITU-T H.265 04/2013 Steffan Kamp、外2名、" DECODER SIDE MOTION VECTOR DERIVATION FOR INTER FRAME VIDEO CODING"、アーヘン大学、インターネット<URL:http://www.ient.rwth-aachen.de/services/bib2web/pdf/KaEvWi08.pdf>
 しかしながら、非特許文献2の符号化方法および復号方法であっても、符号化効率が十分には改善されない場合があるという問題がある。
 そこで、本発明は、符号化効率の向上を図ることができる符号化方法および復号方法を提供する。
 本発明の一態様に係る符号化方法は、動画像をブロックごとに符号化する符号化方法であって、対象ブロックに対して予め定義された、前記対象ブロックの空間的に近隣にある互いに異なる領域を示すN個(Nは2以上の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択し、選択された前記近隣テンプレートによって示される領域における再構成画像と、前記対象ブロックを含むピクチャと異なる参照ピクチャとを用いて動きベクトルを導出し、導出された前記動きベクトルを用いて前記対象ブロックに対して動き補償を行うことによって、前記対象ブロックを符号化し、デコーダにおいて動きベクトルを導出する機能であるDMVD機能を有効にするか否かを示すDMVDパラメータを、符号化された前記対象ブロックを含むビットストリームに書き込む。
 なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
 本発明の符号化方法および復号方法は、符号化効率の向上を図ることができる。
図1は、実施の形態1における符号化装置の例示的な構造を示すブロック図である。 図2は、実施の形態1における、対象ブロックに対して想定される近隣テンプレートの例を示す図である。 図3は、実施の形態1における、対象ブロックに対して想定される近隣テンプレートの例を示す図である。 図4は、実施の形態1における、対象ブロックに対して想定される近隣テンプレートの例を示す図である。 図5は、実施の形態1における、対象ブロックに対して想定される近隣テンプレートの例を示す図である。 図6は、実施の形態1における、対象ブロックに対して想定される近隣テンプレートの例を示す図である。 図7は、実施の形態1における、対象ブロックに対して想定される近隣テンプレートの例を示す図である。 図8は、実施の形態1における符号化処理の一例を示すフローチャートである。 図9は、実施の形態1における符号化処理の他の例を示すフローチャートである。 図10は、実施の形態1における符号化処理のさらに他の例を示すフローチャートである。 図11は、実施の形態1における、予め定義された基準に基づいて、複数の近隣テンプレートから1つの近隣テンプレートを選択する選択処理の一例を示すフローチャートである。 図12は、実施の形態1における、予め定義された基準に基づいて、複数の近隣テンプレートから1つの近隣テンプレートを選択する選択処理の他の例を示すフローチャートである。 図13は、実施の形態1における、DMVD有効化フラグの位置の例を示す図である。 図14は、実施の形態1における、近隣テンプレートを選択することに関するパラメータの位置の例を示す図である。 図15は、実施の形態1における、複数の予め定義された近隣テンプレートを示す1つ以上のパラメータの位置の例を示す図である。 図16Aは、実施の形態1における、近隣テンプレートを選択するためのパラメータの位置の一例を示す図である。 図16Bは、実施の形態1における、近隣テンプレートを選択するためのパラメータの位置の他の例を示す図である。 図16Cは、実施の形態1における、近隣テンプレートを選択するためのパラメータの位置のさらに他の例を示す図である。 図17は、実施の形態1における復号装置の例示的な構造を示すブロック図である。 図18は、実施の形態1における復号処理の一例を示すフローチャートである。 図19は、実施の形態1における復号処理の他の例を示すフローチャートである。 図20は、実施の形態1における復号処理のさらに他の例を示すフローチャートである。 図21Aは、実施の形態1における、パラメータに基づいて、複数の近隣テンプレートからDMVDテンプレートを選択する処理の一例を示すフローチャートである。 図21Bは、実施の形態1における、パラメータに基づいて、複数の近隣テンプレートからDMVDテンプレートを選択する処理の一例を示すフローチャートである。 図21Cは、実施の形態1における、パラメータに基づいて、複数の近隣テンプレートからDMVDテンプレートを選択する処理の他の例を示すフローチャートである。 図21Dは、実施の形態1における、パラメータに基づいて、複数の近隣テンプレートからDMVDテンプレートを選択する処理のさらに他の例を示すフローチャートである。 図21Eは、実施の形態1における、パラメータに基づいて、複数の近隣テンプレートからDMVDテンプレートを選択する処理のさらに他の例を示すフローチャートである。 図21Fは、実施の形態1における、パラメータに基づいて、複数の近隣テンプレートからDMVDテンプレートを選択する処理のさらに他の例を示すフローチャートである。 図22Aは、本発明の一態様に係る符号化方法の一例を示すフローチャートである。 図22Bは、本発明の一態様に係る復号方法の一例を示すフローチャートである。 図23は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。 図24は、デジタル放送用システムの全体構成図である。 図25は、テレビの構成例を示すブロック図である。 図26は、光ディスクである記録メディアに情報の読み書きを行う情報再生/記録部の構成例を示すブロック図である。 図27は、光ディスクである記録メディアの構造例を示す図である。 図28Aは、携帯電話の一例を示す図である。 図28Bは、携帯電話の構成例を示すブロック図である。 図29は、多重化データの構成を示す図である。 図30は、各ストリームが多重化データにおいてどのように多重化されているかを模式的に示す図である。 図31は、PESパケット列に、ビデオストリームがどのように格納されるかを更に詳しく示した図である。 図32は、多重化データにおけるTSパケットとソースパケットの構造を示す図である。 図33は、PMTのデータ構成を示す図である。 図34は、多重化データ情報の内部構成を示す図である。 図35は、ストリーム属性情報の内部構成を示す図である。 図36は、映像データを識別するステップを示す図である。 図37は、各実施の形態の動画像符号化方法および動画像復号化方法を実現する集積回路の構成例を示すブロック図である。 図38は、駆動周波数を切り替える構成を示す図である。 図39は、映像データを識別し、駆動周波数を切り替えるステップを示す図である。 図40は、映像データの規格と駆動周波数を対応づけたルックアップテーブルの一例を示す図である。 図41Aは、信号処理部のモジュールを共有化する構成の一例を示す図である。 図41Bは、信号処理部のモジュールを共有化する構成の他の一例を示す図である。
 (本発明の基礎となった知見)
 非特許文献2の符号化方法および復号方法では、対象ブロックに対しては1つのテンプレートだけが予め定められてあり、そのテンプレートしか用いることができない。したがって、テンプレートの大きさおよび形が対象ブロックに対して不適切であれば、動き探索の精度が低下してしまい、符号化効率が改善されない。
 このような問題を解決するために、本発明の一態様に係る符号化方法は、動画像をブロックごとに符号化する符号化方法であって、対象ブロックに対して予め定義された、前記対象ブロックの空間的に近隣にある互いに異なる領域を示すN個(Nは2以上の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択し、選択された前記近隣テンプレートによって示される領域における再構成画像と、前記対象ブロックを含むピクチャと異なる参照ピクチャとを用いて動きベクトルを導出し、導出された前記動きベクトルを用いて前記対象ブロックに対して動き補償を行うことによって、前記対象ブロックを符号化し、デコーダにおいて動きベクトルを導出する機能であるDMVD機能を有効にするか否かを示すDMVDパラメータを、符号化された前記対象ブロックを含むビットストリームに書き込む。
 これにより、対象ブロックに対して予め定義されたN個の近隣テンプレートの中から1つの近隣テンプレートが選択されるため、対象ブロックに対して適切な近隣テンプレートを選択することができ、動き探索の精度を向上させることができる。その結果、符号化効率の向上を図ることができる。さらに、DMVDパラメータがビットストリームに書き込まれるため、デコーダに対して、対象ブロックの復号のための動きベクトルの導出、つまり動き探索を、必要に応じて実行させることができる。したがって、デコーダは、符号化効率が向上されたビットストリームを適切に復号することができる。
 また、前記符号化方法は、さらに、対象ブロックに対して予め定義された前記N個の近隣テンプレートを識別し、前記近隣テンプレートの選択では、識別された前記N個の近隣テンプレートの中から前記近隣テンプレートを選択し、前記DMVDパラメータの書き込みでは、前記DMVD機能を有効にすることを示す前記DMVDパラメータとして、選択された前記近隣テンプレートを識別するための識別パラメータを書き込んでもよい。
 これにより、識別パラメータがビットストリームに書き込まれるため、対象ブロックの符号化に用いられた近隣テンプレートをデコーダでも容易に選択して用いることができる。したがって、デコーダは対象ブロックを適切に復号することができる。
 また、前記符号化方法は、さらに、それぞれN個未満の複数の近隣テンプレートからなる複数のサブセットのうちの何れのサブゼットを用いるか、何れのサブセットも用いないかを決定し、前記サブセットの決定結果を値として示す拡張パラメータを前記ビットストリームに書き込み、前記近隣テンプレートの選択では、(a)前記拡張パラメータが予め定められた値を示す場合には、前記複数のサブセットの中から、前記拡張パラメータに応じたサブセットを特定し、前記N個の近隣テンプレートのうちの、特定された前記サブセットに含まれるM個(Mは2以上N未満の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択し、(b)前記拡張パラメータが予め定められた値を示さない場合には、前記N個の近隣テンプレートの中から、1つの近隣テンプレートを選択してもよい。
 これにより、サブセットが用いられる場合には、N個の近隣テンプレートよりも少ないM個の近隣テンプレートの中から1つの近隣テンプレートが選択されるため、つまり、選択される近隣テンプレートの候補となる複数の近隣テンプレートの数が減るため、近隣テンプレートの選択の処理負担を軽減することができる。
 また、前記符号化方法は、さらに、近隣テンプレートを適応的に変更するか否かを決定し、前記DMVDパラメータの書き込みでは、前記変更するか否かの決定結果を値として示すパラメータを、前記DMVDパラメータとして書き込み、前記近隣テンプレートの選択では、前記DMVDパラメータが予め定められた値を示す場合には、前記対象ブロックの符号化時において、当該対象ブロックの周辺に生成されている再構成画像の領域に応じて、前記N個の近隣テンプレートの中から1つの近隣テンプレートを選択してもよい。
 これにより、符号化時の状況に応じて近隣テンプレートを適応的に選択すること、つまり、近隣テンプレートの大きさおよびサイズなどを適応的に変更することができ、符号化効率を向上することができる。
 また、前記近隣テンプレートの選択では、前記N個の近隣テンプレートのうちの候補となる複数の近隣テンプレートのそれぞれに対して優先度を決定し、前記候補となる複数の近隣テンプレートのうちの、前記対象ブロックの符号化時において、当該近隣テンプレートによって示される領域内の全ての再構成画像が生成されている少なくとも1つの近隣テンプレートの中から、最も優先度の高い近隣テンプレートを選択してもよい。
 これにより、候補となる複数の近隣テンプレートから1つの近隣テンプレートを適切に選択することができる。また、このような近隣テンプレートの選択の手法を、予め定義された基準として、デコーダ側にも実行させることによって、デコーダ側でも、エンコーダで選択された近隣テンプレートを適切に選択することができる。
 また、前記近隣テンプレートの選択では、前記N個の近隣テンプレートのうちの候補となる複数の近隣テンプレートのそれぞれに対して、当該近隣テンプレートに対して導出される動きベクトルによって示される画像と当該近隣テンプレートの画像との間の歪みの程度を歪み値として算出し、前記候補となる複数の近隣テンプレートの中から、最も歪み値の小さい近隣テンプレートを選択してもよい。
 これにより、候補となる複数の近隣テンプレートから1つの近隣テンプレートを適切に選択することができる。また、このような近隣テンプレートの選択の手法を、予め定義された基準として、デコーダ側にも実行させることによって、デコーダ側でも、エンコーダで選択された近隣テンプレートを適切に選択することができる。
 また、前記DMVDパラメータの書き込みでは、予め定められた閾値よりも大きいか否かによって、前記DMVD機能を有効にするか否かを示す値を、前記DMVDパラメータとして書き込んでもよい。
 これにより、DMVDパラメータを、例えば、候補リストのサイズなどのように、DMVD機能以外の他の機能に用いられる値を示すパラメータと兼用させることができる。したがって、ビットストリームに含まれる他のパラメータをDMVDパラメータとして用いることができるため、符号化効率をさらに向上することができる。
 また、本発明の一態様に係る復号方法は、符号化された動画像を示すビットストリームをブロックごとに復号する復号方法であって、デコーダにおいて動きベクトルを導出する機能であるDMVD機能を有効にするか否かを示すDMVDパラメータを、前記ビットストリームから読み解き、対象ブロックに対して予め定義された、前記対象ブロックの空間的に近隣にある互いに異なる領域を示すN個(Nは2以上の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択することを、読み解かれた前記DMVDパラメータに基づいて実行し、選択された前記近隣テンプレートによって示される領域における再構成画像と、前記対象ブロックを含むピクチャと異なる参照ピクチャとを用いて動きベクトルを導出し、導出された前記動きベクトルを用いて前記対象ブロックに対して動き補償を行うことによって、前記対象ブロックを復号してもよい。
 これにより、DMVDパラメータが、DMVD機能を有効にすることを示していれば、対象ブロックに対して予め定義されたN個の近隣テンプレートの中から1つの近隣テンプレートが選択される。したがって、対象ブロックに対して適切な近隣テンプレートを選択することができ、符号化効率の向上が図られたビットストリームを適切に復号することができる。
 また、前記復号方法は、さらに、対象ブロックに対して予め定義された前記N個の近隣テンプレートを識別し、前記DMVDパラメータの読み解きでは、前記DMVD機能を有効にすることを示す前記DMVDパラメータとして、選択されるべき近隣テンプレートを識別するための識別パラメータを読み解き、前記近隣テンプレートの選択では、識別された前記N個の近隣テンプレートの中から、前記識別パラメータに応じた前記近隣テンプレートを選択してもよい。
 これにより、識別パラメータがビットストリームから読み解かれるため、対象ブロックの符号化に用いられた近隣テンプレートを容易に選択して用いることができる。したがって、対象ブロックを適切に復号することができる。
 また、前記復号方法は、さらに、それぞれN個未満の複数の近隣テンプレートからなる複数のサブセットのうちの何れのサブゼットを用いるか、何れのサブセットも用いないかを、値として示す拡張パラメータを、前記ビットストリームから読み解き、前記近隣テンプレートの選択では、(a)前記拡張パラメータが予め定められた値を示す場合には、前記複数のサブセットの中から、前記拡張パラメータに応じたサブセットを特定し、前記N個の近隣テンプレートのうちの、特定された前記サブセットに含まれるM個(Mは2以上N未満の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択し、(b)前記拡張パラメータが予め定められた値を示さない場合には、前記N個の近隣テンプレートの中から、1つの近隣テンプレートを選択してもよい。
 これにより、サブセットが用いられる場合には、N個の近隣テンプレートよりも少ないM個の近隣テンプレートの中から1つの近隣テンプレートが選択されるため、つまり、選択される近隣テンプレートの候補となる複数の近隣テンプレートの数が減るため、近隣テンプレートの選択の処理負担を軽減することができる。
 また、前記DMVDパラメータの読み解きでは、近隣テンプレートを適応的に変更するか否かを値として示すパラメータを、前記DMVDパラメータとして読み解き、前記近隣テンプレートの選択では、前記DMVDパラメータが予め定められた値を示す場合には、前記対象ブロックの復号時において、当該対象ブロックの周辺に生成されている再構成画像の領域に応じて、前記N個の近隣テンプレートの中から1つの近隣テンプレートを選択してもよい。
 これにより、復号時の状況に応じて近隣テンプレートを適応的に選択すること、つまり、近隣テンプレートの大きさおよびサイズなどを適応的に変更することができ、符号化効率の向上が図られたビットストリームを適切に復号することができる。
 また、前記近隣テンプレートの選択では、前記N個の近隣テンプレートのうちの候補となる複数の近隣テンプレートのそれぞれに対して優先度を決定し、前記候補となる複数の近隣テンプレートのうちの、前記対象ブロックの復号時において、当該近隣テンプレートによって示される領域内の全ての再構成画像が生成されている少なくとも1つの近隣テンプレートの中から、最も優先度の高い近隣テンプレートを選択してもよい。
 これにより、候補となる複数の近隣テンプレートから1つの近隣テンプレートを適切に選択することができる。また、このような近隣テンプレートの選択の手法が、予め定義された基準として、エンコーダ側でも実行されている場合には、エンコーダで選択された近隣テンプレートを適切に選択することができる。
 また、前記近隣テンプレートの選択では、前記N個の近隣テンプレートのうちの候補となる複数の近隣テンプレートのそれぞれに対して、当該近隣テンプレートに対して導出される動きベクトルによって示される画像と当該近隣テンプレートの画像との間の歪みの程度を歪み値として算出し、前記候補となる複数の近隣テンプレートの中から、最も歪み値の小さい近隣テンプレートを選択してもよい。
 これにより、候補となる複数の近隣テンプレートから1つの近隣テンプレートを適切に選択することができる。また、このような近隣テンプレートの選択の手法が、予め定義された基準として、エンコーダ側にも実行されている場合には、エンコーダで選択された近隣テンプレートを適切に選択することができる。
 また、前記DMVDパラメータの読み解きでは、予め定められた閾値よりも大きいか否かによって、前記DMVD機能を有効にするか否かを示す値を、前記DMVDパラメータとして読み解いてもよい。
 これにより、DMVDパラメータを、例えば、候補リストのサイズなどのように、DMVD機能以外の他の機能に用いられる値を示すパラメータと兼用させることができる。したがって、ビットストリームに含まれる他のパラメータをDMVDパラメータとして用いることができるため、符号化効率のさらなる向上が図られたビットストリームを適切に復号することができる。
 なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
 以下、実施の形態について、図面を参照しながら具体的に説明する。
 なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
 (実施の形態1)
 図1は、本実施の形態における符号化装置の例示的な構造を示すブロック図である。
 符号化装置100は、ブロック単位で入力映像(つまり動画像)を符号化することによって、ビットストリームBsを生成する。図1に示されるように、符号化装置100は、変換部101、量子化部102、逆量子化部103、逆変換部104、ブロックメモリ105、ピクチャメモリ(フレームメモリともいう)106、イントラ予測部107、インター予測部108、エントロピー符号化部109、減算器110、加算器111、制御部130、動きベクトル予測部131、および書込部136を備えてもよい。
 減算器110は、入力映像に含まれる符号化対象のブロック(以下、対象ブロックという)から、その対象ブロックに対応する予測画像を減算することによって、複数の減算値からなる差分画像を生成し、その差分画像を変換部101に出力する。なお、予測画像は、イントラ予測部107またはインター予測部108によって生成された画像である。変換部101は、その差分画像を複数の周波数係数に変換し、得られた複数の周波数係数を量子化部102に出力する。量子化部102は、入力された複数の周波数係数を量子化し、その量子化によって得られた複数の量子化値を逆量子化部103およびエントロピー符号化部109に出力する。エントロピー符号化部109は、量子化部102から出力された複数の量子化値をエントロピー符号化し、エントロピー符号化された複数の量子化値を含むビットストリームBsを出力する。つまり、このビットストリームBsは、符号化された対象ブロックを含む。
 逆量子化部103は、量子化部102から出力された複数の量子化値を逆量子化し、その逆量子化によって得られた複数の周波数係数を逆変換部104に出力する。逆変換部104は、複数の周波数係数を逆周波数変換することによって、それらの周波数係数を、複数の画素値(サンプル値ともいう)からなる差分画像に変換し、その差分画像を加算器111に出力する。加算器111は、逆変換部104から出力された差分画像を、インター予測部108またはイントラ予測部107から出力された予測画像に加算することによって、再構成画像を生成する。そして、加算器111は、生成された再構成画像を、ブロックメモリ105またはピクチャメモリ106に、さらなる予測のため出力する。
 イントラ予測部107は、ブロックメモリ105に格納されている少なくとも1つの再構成画像を用いてイントラ予測を行い、そのイントラ予測によって対象ブロックに対する予測画像を生成する。インター予測部108は、動きベクトル予測部131によって導出または選択された動きベクトルに基づいて動き補償を行う。つまり、インター予測部108は、ピクチャメモリ106に格納されている少なくとも1つの再構成画像からなる参照ピクチャ内から、その動きベクトルに基づいて、例えば対象ブロック(または、後述の近隣テンプレート)の画像に最も類似した画像を取得する。これにより、予測画像(予測ブロックまたは予測サンプルともいう)が生成される。なお、参照ピクチャは、対象ブロックを含むピクチャとは異なるピクチャであって、例えば、参照インデックスによって指定される。
 制御部130は、複数の定義された近隣テンプレートおよび動きベクトル予測(MVP)を導出するための複数のパラメータを受け取る。例えば、これらの複数のパラメータはそれぞれ、参照インデックス、候補インデックス、または複数の近隣テンプレートなどを示すパラメータである。本実施の形態では、上記参照ピクチャの種類に基づいて、制御部130は、候補リスト(候補セットともいう)に含めるための動きベクトル予測候補を生成するために、複数の予め定義された近隣テンプレートを決定または識別する。かつ/または、制御部130は、それらの近隣テンプレート(具体的には、複数の予め定義された近隣テンプレートに基づく動きベクトル)を候補セットに含めるか否かを決定する。制御部130は、その後、その決定の結果を示す信号133を、動きベクトル予測部131に出力する。
 動きベクトル予測部131は、動きベクトルおよび参照ピクチャを有する対象ブロックに対する(動きベクトル予測候補の)候補リストに用いられる少なくとも1つの動きベクトル予測候補を導出する。さらに、動きベクトル予測部131は、動き探索を行うことによって、動きベクトルを導出する。動きベクトル予測部131はまた、当該候補リストに含まれる少なくとも1つの動きベクトル予測候補から、動き探索によって導出された動きベクトルに基づいて、1つの動きベクトル予測候補を動きベクトル予測として導出する。その後、動きベクトル予測部131は、制御部130からの信号133に基づいて作成される候補リストから、導出された動きベクトル予測を特定するための候補インデックスを信号137に含めて書込部136に出力する。さらに、動きベクトル予測部131は、動き探索によって導出された動きベクトルと、導出された動きベクトル予測との差分をデルタ動きベクトルとして算出し、そのデルタ動きベクトルおよび参照ピクチャの参照インデックスなどを上述の信号137に含めて書込部136に出力する。
 書込部136は、制御部130によって決定または識別された、対象ブロックに対して予め定義された複数の近隣テンプレートを示すパラメータ138を制御部130から取得し、そのパラメータ138をビットストリームBsに書き込む。さらに、書込部136は、信号137に含まれる候補インデックス、デルタ動きベクトルおよび参照インデックスなどをビットストリームBsに書き込む。
 ここで、本実施の形態における符号化装置100は、デコーダサイド・モーションエスティメーション(DSME)技術に関する装置であって、言い換えれば、デコーダ側において動きベクトルを導出する機能(DMVD:Decoder side Motion Vector Derivation)に対応する装置である。したがって、符号化装置100の動きベクトル予測部131は、DMVDを実現するために、対象ブロックの空間的に近隣にある領域である近隣テンプレート内の再構成画像に基づく動き探索(以下、近隣テンプレートに基づく動き探索という)を行う。
 つまり、本実施の形態における制御部130は、入力映像に含まれる対象ブロックに基づく動き探索(以下、入力画像に基づく動き探索という)を行うか、近隣テンプレートに基づく動き探索を行うかを決定する。入力画像に基づく動き探索は、対象ブロックの画像に類似するブロックを、対象ブロックを含むピクチャと異なる参照ピクチャの中から探索する処理である。また、近隣テンプレートに基づく動き探索は、近隣テンプレート内の再構成画像に類似するブロックを、対象ブロックを含むピクチャと異なる参照ピクチャの中から探索する処理である。
 制御部130は、近隣テンプレートに基づく動き探索を行うと決定する際には、上述のように、対象ブロックに対して予め定義された複数の近隣テンプレートを決定または識別し、それらの近隣テンプレートを候補リストに含めると決定する。さらに、その近隣テンプレートに対する動き探索によって導出される動きベクトルを候補セットに含めると決定する。
 動きベクトル予測部131は、入力画像に基づく動き探索を行うと決定されると、その入力画像に基づく動き探索を行い、その動き探索によって得られる動きベクトルをインター予測部108に出力する。一方、動きベクトル予測部131は、近隣テンプレートに基づく動き探索を行うと決定されると、信号133によって示される複数の予め定義された近隣テンプレートを含む候補リストを生成する。なお、この複数の予め定義された近隣テンプレートはN個(Nは2以上の整数)である。そして、動きベクトル予測部131は、そのN個の近隣テンプレートの中から、1つの近隣テンプレートを選択する。さらに、動きベクトル予測部131は、選択された近隣テンプレートによって示される領域における再構成画像と、参照ピクチャとを用いて動きベクトルを導出する。つまり、動きベクトル予測部131は、その近隣テンプレートに基づく動き探索を行う。そして、動きベクトル予測部131は、その動き探索によって導出される動きベクトルをインター予測部108に出力する。また、動きベクトル予測部131は、選択されたテンプレートを識別するための識別パラメータを候補インデックスとして信号137に含めて書込部136に出力する。
 図2~図7のそれぞれは、対象ブロックに対して想定されるいくつかの近隣テンプレートの例を示す図である。図示された近隣テンプレートは全て、デコーダ側の動きベクトル導出(DMVD)処理の機能性に対応できるため、これらは本実施の形態においてDMVDテンプレートとして表される。しかしながら、DMVDテンプレートは、図2~図7に図示された例に限定されない。
 例えば、図2の(a)~(e)に示すように、対象ブロックの上に隣接する矩形の領域(図2において、斜め斜線のハッチングで示される領域)が近隣テンプレートとして識別されてもよい。ここで、図2の(c)~(e)に示すように、選択される近隣テンプレートが対象ブロックの上に位置する場合、選択される近隣テンプレートの幅は対象ブロックの幅以上であってもよい。また、図2の(e)に示すように、選択される近隣テンプレートの高さが対象ブロックの高さよりも小さい場合、選択される近隣テンプレートの面積は対象ブロックの面積以上であってもよい。
 また、図3の(a)~(e)に示すように、対象ブロックの左に隣接する矩形の領域(図3において、斜め斜線のハッチングで示される領域)が近隣テンプレートとして識別されてもよい。ここで、図3の(c)~(e)に示すように、選択される近隣テンプレートが対象ブロックの左側に位置する場合、選択される近隣テンプレートの高さは対象ブロックの高さ以上であってもよい。また、図3の(e)に示すように、選択される近隣テンプレートの幅が対象ブロックの幅よりも小さい場合、選択される近隣テンプレートの面積は対象ブロックの面積以上であってもよい。
 さらに、図4の(a)および(b)と図5の(c)および(d)に示すように、対象ブロックの上および左に隣接する逆L字形の領域(図4および図5において、斜め斜線のハッチングで示される領域)が近隣テンプレートとして識別されてもよい。
 また、例えば、図6の(a)に示すように、幅3個×高さ2個のブロックからなるブロック群のうち、右下端のブロックが対象ブロックである場合、そのブロック群のうちの対象ブロックを除く5個のブロックを、近隣テンプレートに利用可能なブロックとして扱ってもよい。したがって、5個のブロックのうちの少なくとも1つのブロックの組み合わせからなる領域が、その対象ブロックの近隣テンプレートまたはDMVDテンプレートとして識別される。この組み合わせは複数あるため、複数の予め定義された近隣テンプレートが識別される。そして、図6の(b)に示すように、例えば対象ブロックの左にある2つのブロックからなる領域が近隣テンプレートとして選択される。
 また、例えば、図7の(a)または(b)に示すように、対象ブロックの左または上に隣接する、互いに大きさの異なる2つの正方形の領域が、その対象ブロックに対して予め定義された近隣テンプレートとして識別されてもよい。そして、それらの近隣テンプレートから、何れか1つの近隣テンプレートが選択される。このように、選択される近隣テンプレートは、対象ブロックに隣接する利用可能な近隣ブロックである。なお、利用可能な近隣ブロックとは、対象ブロックの符号化時において、近隣ブロックに含まれる全ての再構成画像が生成されているブロックである。
 このような本実施の形態における符号化装置100は、動画像をブロックごとに符号化する符号化装置であって、選択部と、導出部と、符号化部と、書込部136とを備える。
 選択部は、動きベクトル予測部131の一部の機能によって実現される。つまり、選択部は、対象ブロックに対して予め定義された、その対象ブロックの空間的に近隣にある互いに異なる領域を示すN個(Nは2以上の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択する。導出部は、動きベクトル予測部131の一部の機能によって実現される。つまり、導出部は、選択された近隣テンプレートによって示される領域における再構成画像と、その対象ブロックを含むピクチャと異なる参照ピクチャとを用いて動きベクトルを導出する。符号化部は、インター予測部108と、変換部101、量子化部102、逆量子化部103、逆変換部104、ピクチャメモリ106、エントロピー符号化部109、減算器110、および加算器111のうちの少なくとも1つとからなる。つまり、符号化部は、導出された前記動きベクトルを用いて対象ブロックに対して動き補償を行うことによって、その対象ブロックを符号化する。また、書込部136は、デコーダにおいて動きベクトルを導出する機能であるDMVD機能を有効にするか否かを示すDMVDパラメータを、符号化された対象ブロックを含むビットストリームBsに書き込む。例えば、書込部136は、選択された近隣テンプレートを識別するための識別パラメータ(例えば候補インデックス)をDMVDパラメータとしてビットストリームBsに書き込む。
 これにより、対象ブロックに対して予め定義されたN個の近隣テンプレートの中から1つの近隣テンプレートが選択されるため、対象ブロックに対して適切な近隣テンプレートを選択することができ、動き探索の精度を向上させることができる。その結果、符号化効率の向上を図ることができる。さらに、DMVDパラメータがビットストリームBsに書き込まれるため、デコーダに対して、対象ブロックの復号のための動きベクトルの導出、つまり動き探索を、必要に応じて実行させることができる。したがって、デコーダは、符号化効率が向上されたビットストリームBsを適切に復号することができる。
 図8~図10を参照し、本実施の形態による、近隣テンプレートを用いた動き探索処理を実行する符号化方法を説明する。
 図8は、本実施の形態における符号化処理の一例を示すフローチャートである。
 符号化装置100の制御部130は、最初のステップS1001として、対象ブロックに対する、複数の予め定義された近隣テンプレートを識別する。次のステップS1002において、動きベクトル予測部131は、複数の予め定義された近隣テンプレートの中から、予め定義された基準に基づいて1つの近隣テンプレートを選択する。次にステップS1003において、動きベクトル予測部131は、動き探索処理の間に、選択された近隣テンプレートを用いて動きベクトルを導出する。ステップS1004において、インター予測部108は、導出された動きベクトルを用いて動き補償を実行する。この動き補償によって、対象ブロックが符号化される。最後にステップS1008において、書込部136は、選択された近隣テンプレートを特定する1以上の識別パラメータを、ビットストリームBsに書き込む。
 なお、ステップS1003において、対象ブロックが、BピクチャまたはBスライスに含まれるブロックとして2つの参照ピクチャリストに基づいて符号化される場合には、選択された近隣テンプレートから複数の動きベクトルが導出される。また、対象ブロックが、BピクチャおよびBスライスの何れにも含まれていない場合においても、選択された近隣テンプレートから動きベクトルの候補として複数の動きベクトルが導出されてもよい。
 このように、図8のフローチャートによって示される符号化処理では、識別パラメータがビットストリームBsに書き込まれるため、対象ブロックの符号化に用いられた近隣テンプレートをデコーダでも容易に選択して用いることができる。したがって、デコーダは対象ブロックを適切に復号することができる。
 図9は、本実施の形態における符号化処理の他の例を示すフローチャートである。
 符号化装置100の制御部130は、最初のステップS1101として、動き探索処理に拡張テンプレート(いわゆる後述のサブセット)を用いるか否かを決定する。書込部136は、次のステップS1102において、その決定の結果を表す拡張パラメータをビットストリームBsのヘッダに書き込む。次のステップS1103において、動きベクトル予測部131は、その拡張パラメータが予め定義された値を有するか否かを判定する。拡張パラメータが予め定義された値を有する場合(ステップS1103のYes)、動きベクトル予測部131は、ステップS1104において、複数の予め定義された近隣テンプレートから、拡張パラメータに基づいて、候補テンプレートのサブセットを識別する。なお、複数の予め定義された近隣テンプレートがN個(Nは2以上の整数)であれば、サブセットは、そのN個の近隣テンプレートのうちのM個(Mは2以上N未満の整数)の近隣テンプレートをそれぞれ候補テンプレートとして含む。
 その後、ステップS1105において、動きベクトル予測部131は、識別されたサブセットに含まれる複数の候補テンプレートの中から、予め定義された基準に基づいて、1つの候補テンプレート、つまり近隣テンプレートを選択する。この近隣テンプレートの選択は、例えば、後述の図11または図12に示す選択処理にしたがって行われる。
 一方、拡張パラメータが予め定義された値を有しない場合(ステップS1103のNo)、ステップS1106において、動きベクトル予測部131は、予め定義された基準に基づいて、複数(例えばN個)の予め定義された近隣テンプレートから、1つの近隣テンプレートを直接選択する。
 次にステップS1107において、動きベクトル予測部131は、動き探索処理の間に、選択された近隣テンプレートを用いて、対象ブロックに対する動きベクトルを導出する。その後、ステップS1108において、インター予測部108は、導出された動きベクトルを用いて動き補償処理を実行する。最後にステップS1109において、書込部136は、選択された近隣テンプレートを特定する1以上の識別パラメータを、ビットストリームBsに書き込む。
 このように、図9のフローチャートによって示される符号化処理では、符号化装置100は、さらに、それぞれN個未満の複数の近隣テンプレートからなる複数のサブセットのうちの何れのサブゼットを用いるか、何れのサブセットも用いないかを決定する。そして、符号化装置100は、サブセットの決定結果を値として示す拡張パラメータをビットストリームBsに書き込む。そして、符号化装置100は、近隣テンプレートの選択では、拡張パラメータが予め定められた値を示す場合には、複数のサブセットの中から、拡張パラメータに応じたサブセットを特定する。さらに、符号化装置100は、そのN個の近隣テンプレートのうちの、特定されたサブセットに含まれるM個(Mは2以上N未満の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択する。一方、符号化装置100は、拡張パラメータが予め定められた値を示さない場合には、N個の近隣テンプレートの中から、1つの近隣テンプレートを選択する。
 これにより、サブセットが用いられる場合には、N個の近隣テンプレートよりも少ないM個の近隣テンプレートの中から1つの近隣テンプレートが選択されるため、つまり、選択される近隣テンプレートの候補となる複数の近隣テンプレートの数が減るため、近隣テンプレートの選択の処理負担を軽減することができる。
 図10は、本実施の形態における符号化処理のさらに他の例を示すフローチャートである。符号化装置100の制御部130は、最初のステップS1201として、デコーダにおける動き探索処理に適応的テンプレート形を用いるか否かを決定する。つまり、制御部130は、近隣テンプレートを適応的に変更するか否かを決定する。書込部136は、次のステップS1202において、その決定の結果を示すパラメータを(上述のDMVDパラメータとして)ビットストリームBsのヘッダに書き込む。動きベクトル予測部131は、次のステップS1203において、当該パラメータが予め定義された値を有するか否かを判定する。当該パラメータが予め定義された値を有する場合(ステップS1203のYes)、最後にステップS1204において、動きベクトル予測部131は、適応的テンプレート形を用いて動き探索処理を実行する。適応的テンプレート形は、近隣テンプレートの位置、大きさおよび形のうちの少なくとも一方を適応的に変えることである。
 つまり、動きベクトル予測部131は、対象ブロックの符号化時において、その対象ブロックの周辺に生成されている再構成画像の領域に応じて、N個の近隣テンプレートの中から1つの近隣テンプレートを選択する。より具体的には、動きベクトル予測部131は、N個の近隣テンプレートのうちの、対象ブロックの符号化時において、その近隣テンプレートによって示される領域内の全ての再構成画像が生成されている少なくとも1つの近隣テンプレートの中から、1つの近隣テンプレートを選択する。
 これにより、符号化時の状況に応じて近隣テンプレートを適応的に選択すること、つまり、近隣テンプレートの位置、大きさおよびサイズなどを適応的に変更することができ、符号化効率を向上することができる。
 図11は、予め定義された基準に基づいて、複数の近隣テンプレートから1つの近隣テンプレートを選択する選択処理の一例を示すフローチャートである。
 動きベクトル予測部131は、最初のステップS2201において、候補となる複数の近隣テンプレートのそれぞれを、予め定められた順序に配列する、つまり並べる。例えば、動きベクトル予測部131は、最も大きなものから最も小さなものの順に複数の近隣テンプレートを配列する。つまり、候補となる複数の近隣テンプレートのそれぞれに対しては、その近隣テンプレートのサイズが大きいほど、高い優先度が決定される。このとき、候補となる複数の近隣テンプレートのそれぞれは、先頭から後に向かって近隣テンプレートのサイズが小さくなるように並べられ、その並べられた順にしたがって、複数の近隣テンプレートのそれぞれの優先度が決定される。
 最後にステップS2202において、動きベクトル予測部131は、その予め定義された順序に配列されている複数の近隣テンプレートから、所定の基準を満たす先頭の近隣テンプレートを選択する。この所定の基準は、再構成されている画素(画像サンプル)で近隣テンプレートの全体が満たされるという基準である。複数の近隣テンプレートの中には、対象ブロックの符号化順序が原因で、動き探索に用いられるために必要とされる時に、全ての画像サンプルが再構成されていないものもある。よって、これらの不完全な近隣テンプレートは、選択処理において選択されない。
 このように、図11のフローチャートによって示される選択処理では、動きベクトル予測部131は、N個の近隣テンプレートのうちの候補となる複数の近隣テンプレートのそれぞれに対して優先度を決定する。さらに、動きベクトル予測部131は、候補となる複数の近隣テンプレートのうちの、対象ブロックの符号化時において、その近隣テンプレートによって示される領域内の全ての再構成画像が生成されている少なくとも1つの近隣テンプレートの中から、最も優先度の高い近隣テンプレートを選択する。
 これにより、候補となる複数の近隣テンプレートから1つの近隣テンプレートを適切に選択することができる。また、このような近隣テンプレートの選択の手法を、予め定義された基準として、デコーダ側にも実行させることによって、デコーダ側でも、エンコーダで選択された近隣テンプレートを適切に選択することができる。
 図12は、予め定義された基準に基づいて、複数の近隣テンプレートから1つの近隣テンプレートを選択する選択処理の他の例を示すフローチャートである。
 動きベクトル予測部131は、最初のステップS2301において、候補となる複数の近隣テンプレートのそれぞれに対して動き探索を実行することで、複数の近隣テンプレートのそれぞれに対する動きベクトルを導出する。次のステップS2302において、インター予測部134は、近隣テンプレートごとに、導出された動きベクトルを用いてその近隣テンプレートに対する動き補償処理を実行する。ステップS2303において、動きベクトル予測部131は、近隣テンプレートごとに、その近隣テンプレートに対する動き補償処理に基づいて歪み値を計算する。この歪み値は、動き補償処理によって生成される画像と、近隣テンプレートの元の画像との差分を示す値である。最後にステップS2304において、動きベクトル予測部131は、候補となる複数の近隣テンプレートのうち歪み値が最も低い近隣テンプレートを選択する。
 このように、図11のフローチャートによって示される選択処理では、動きベクトル予測部131は、N個の近隣テンプレートのうちの候補となる複数の近隣テンプレートのそれぞれに対して歪み値を算出する。その歪み値は、近隣テンプレートに対して導出される動きベクトルによって示される画像と当該近隣テンプレートの画像との間の歪みの程度を示す値である。そして、動きベクトル予測部131は、候補となる複数の近隣テンプレートの中から、最も歪み値の小さい近隣テンプレートを選択する。
 これにより、図10に示す選択処理と同様、候補となる複数の近隣テンプレートから1つの近隣テンプレートを適切に選択することができる。また、このような近隣テンプレートの選択の手法を、予め定義された基準として、デコーダ側にも実行させることによって、デコーダ側でも、エンコーダで選択された近隣テンプレートを適切に選択することができる。
 図13は、DMVD有効化フラグの位置の例を示す図である。DMVD有効化フラグがビットストリームにない場合、本実施の形態の残りの処理は、独立して実行される。なお、DMVD有効化フラグは、デコーダにおいて動きベクトルを導出する機能であるDMVD機能を有効にするか否かを示すDMVDパラメータである。
 例えば、書込部136は、図13の(i)に示すように、ビデオパラメータセット(VPS)にDMVD有効化フラグをvps_DMVD_flagとして書き込んでもよい。このvps_DMVD_flagがDMVD機能の有効を示す場合、ビットストリームBsに含まれる画像の全体に対して、DMVDを実現するための処理、つまり近隣テンプレートに基づく動き探索が行われる。また、書込部136は、図13の(ii)に示すように、シーケンスパラメータセット(SPS)にDMVD有効化フラグをsps_DMVD_flagとして書き込んでもよい。このsps_DMVD_flagがDMVD機能の有効を示す場合、そのSPSに対応するシーケンスに含まれる画像の全体に対して、DMVDを実現するための処理が行われる。また、書込部136は、図13の(iii)に示すように、ピクチャパラメータセット(PPS)にDMVD有効化フラグをpps_DMVD_flagとして書き込んでもよい。このpps_DMVD_flagがDMVD機能の有効を示す場合、そのPPSに対応するピクチャに含まれる画像の全体に対して、DMVDを実現するための処理が行われる。
 また、書込部136は、図13の(iv)に示すように、スライスヘッダにDMVD有効化フラグをslice_DMVD_flagとして書き込んでもよい。このslice_DMVD_flagがDMVD機能の有効を示す場合、そのスライスヘッダに対応するスライスに含まれる画像の全体に対して、DMVDを実現するための処理が行われる。また、書込部136は、図13の(v)に示すように、符号化単位にDMVD有効化フラグをblock_DMVD_flagとして書き込んでもよい。このblock_DMVD_flagがDMVD機能の有効を示す場合、その符号化単位に含まれる画像の全体に対して、DMVDを実現するための処理が行われる。
 また、書込部136は、候補リストのサイズ(つまり、候補リストに含まれる候補の数)を示すパラメータをDMVDパラメータとしてビットストリームBsに書き込んでもよい。この場合、候補リストに含まれる候補の数が閾値よりも大きい場合には、その候補リストに近隣テンプレートの候補が含まれ、候補の数が閾値以下の場合には、その候補リストに近隣テンプレートの候補は含まれていない。したがって、候補リストのサイズを示すパラメータは、デコーダにおいて動きベクトルを導出する機能であるDMVD機能を有効にするか否かを示す。つまり、書込部136は、予め定められた閾値よりも大きいか否かによって、DMVD機能を有効にするか否かを示す値を、DMVDパラメータとしてビットストリームBsに書き込んでもよい。これにより、DMVDパラメータを、例えば、候補リストのサイズなどのように、DMVD機能以外の他の機能に用いられる値を示すパラメータと兼用させることができる。したがって、ビットストリームBsに含まれる他のパラメータをDMVDパラメータとして用いることができるため、符号化効率をさらに向上することができる。
 図14は、複数の予め定義された近隣テンプレートから1つの近隣テンプレートを選択することに関するパラメータの位置の例を示す図である。なお、このパラメータは、選択された近隣テンプレートを識別するための識別パラメータである。
 例えば、書込部136は、図14の(i)に示すように、符号化単位にパラメータを書き込んでもよい。このパラメータは、例えばブロック(対象ブロック)の幅および高さなどを示す。また、書込部136は、図14の(ii)に示すように、スライスヘッダにパラメータを書き込んでもよい。このパラメータは、例えばスライスのタイプ(slice_type)または候補リストに含まれる動きベクトル予測候補の数の最大値(max_num_cand)などを示す。
 または、書込部136は、図14の(iii)に示すように、ピクチャパラメータセットにパラメータを書き込んでもよい。このパラメータは、例えばピクチャのタイプ(pic_type)などを示す。また、書込部136は、図14の(iv)に示すように、シーケンスパラメータセット(SPS)にパラメータを書き込んでもよい。このパラメータは、例えば、時間階層符号化における階層識別子(templral_id)またはNALユニットのタイプ(nal_unit_type)などを示す。
 図15は、複数の予め定義された近隣テンプレートを示す1つ以上のパラメータの位置の例を示す図である。例えば、複数の予め定義された近隣テンプレートを示す1つ以上のパラメータは、図15の(i)および(ii)に示すように、シーケンスパラメータセット(SPS)またはピクチャパラメータセット(PPS)の何れかに含まれる。そして、ブロックごとに選択された近隣テンプレートを明示的または暗示的に示す識別パラメータは、そのブロックに含まれて送信される。また、複数の予め定義された近隣テンプレートを示す1つ以上のパラメータは、図15の(iii)および(iv)に示すように、スライスヘッダまたは符号化単位の何れかに含まれていてもよい。
 また、複数の予め定義された近隣テンプレートのそれぞれは、候補インデックスに基づいて近隣テンプレートが検索できるルックアウトテーブルまたは分類テーブル内に表されてもよい。例えば、最初に選択された近隣テンプレートのサブセットがTemplate_Aであれば、動き探索に用いられる近隣テンプレートを、サブセット内の候補となる複数の近隣テンプレートA0~Anから選ぶことができる。
 図16A~図16Cは、近隣テンプレートを選択するためのパラメータの例示的な位置を示す図である。図16Aの(i)~(iv)に示すように、1つの近隣テンプレートを選択するための固有識別パラメータ(このパラメータは、サブセットから近隣テンプレートを選択するときにも有効である)は、選択される近隣テンプレートを識別するための識別パラメータであって、特に、その近隣テンプレートに固有のパラメータである。この固有識別パラメータは、テンプレート識別パラメータとして、例えばSPS、PPS、スライスヘッダ、またはスライスデータに含まれてもよい。また、図16Bの(i)~(iv)に示すように、サブセットを識別するためのパラメータが、テンプレート識別パラメータとして、例えばSPS、PPS、スライスヘッダ、またはスライスデータに含まれてもよい。さらに、最大候補バッファサイズ(max_cand_buffer_size)が、サブセットから近隣テンプレートを決定するためのテンプレートIDとして、スライスヘッダまたはスライスデータに含まれてもよい。また、図16Cの(i)~(iv)に示すように、サブセットつまり拡張テンプレートを特定するパラメータ(enabled_extended_template_selection)が、例えばSPS、PPS、スライスヘッダ、またはスライスデータに明示的に含まれてもよい。
 図17は、本実施の形態における復号装置の例示的な構造を示すブロック図である。
 復号装置200は、符号化された動画像を示すビットストリームBsをブロック単位で復号することによって、復号映像を出力する。図17に示されるように、復号装置200は、エントロピー復号部201、逆量子化部202、逆変換部203、ブロックメモリ204、ピクチャメモリ(フレームメモリともいう)205、イントラ予測部206、インター予測部207、動きベクトル予測部210、制御部212、読解部213、および加算器215を備える。
 エントロピー復号部201は、ビットストリームBsをエントロピー復号し、そのエントロピー復号によって得られた複数の量子化値を逆量子化部202に出力する。逆量子化部202は、それらの量子化値を逆量子化し、その逆量子化によって得られた複数の周波数係数を逆変換部203に出力する。逆変換部203は、複数の周波数係数を逆周波数変換することによって、それらの周波数係数を、複数の画素値(サンプル値ともいう)からなる差分画像に変換し、その差分画像を加算器215に出力する。加算器215は、その差分画像を、インター予測部207またはイントラ予測部206から出力された予測画像(つまり、復号対象ブロックに対する予測画像)に加算することによって、再構成画像を生成する。そして、加算器215は、少なくとも1つの再構成画像からなる復号映像を表示するために出力し、かつ、さらなる予測のため、生成された再構成画像をブロックメモリ204またはピクチャメモリ205に出力する。
 イントラ予測部206は、ブロックメモリ204に格納されている少なくとも1つの再構成画像を用いてイントラ予測を行い、そのイントラ予測によって復号対象ブロック(以下、対象ブロックという)に対する予測画像を生成する。インター予測部207は、動きベクトル予測部210から導出または選択された動きベクトルに基づいて動き補償を行う。つまり、インター予測部207は、ピクチャメモリ205に格納されている少なくとも1つの再構成画像からなる参照ピクチャ内から、その動きベクトルに基づいて、例えば対象ブロック(または、後述の近隣テンプレート)の画像に最も類似した画像を取得する。これにより、予測画像が生成される。
 読解部213は、ビットストリームBsから複数のパラメータ209を読み解き、読み解かれた複数のパラメータ209を制御部212に出力する。それらのパラメータ209は、複数の予め定義された近隣テンプレートを示すパラメータと、選択された近隣テンプレートを示す識別パラメータとを含む。なお、それらのパラメータ209は、拡張テンプレートの利用可否を示す拡張パラメータを含んでもよい。読解部213はまた、ビットストリームBsに含まれる、例えば候補インデックス、用いられた参照ピクチャを示す参照インデックス、およびデルタ動きベクトルなどを含む予測情報208を、動きベクトル予測部210に出力してもよい。
 制御部212は、読解部213からの読み解かれた複数のパラメータ209に基づいて、複数の予め定義された近隣テンプレートを識別し、その複数の近隣テンプレートの中から1つの近隣テンプレートを選択する。なお、複数の予め定義された近隣テンプレートの動きベクトルが動きベクトル予測候補として候補リストに含まれている場合には、複数のパラメータ209のうち、選択された近隣テンプレートを示すパラメータは、その候補リストの候補インデックスであってもよい。制御部212はその選択された近隣テンプレートを示すパラメータを信号214に含めて動きベクトル予測部210に出力する。
 動きベクトル予測部210は、候補リストに用いられる少なくとも1つの動きベクトル予測候補を導出する。動きベクトル予測部210は、当該候補リストに含まれる少なくとも1つの動きベクトル予測候補から、予測情報208に含まれる候補インデックスに基づいて、1つの動きベクトル予測候補を動きベクトル予測として選択する。このときには、動きベクトル予測部210は、選択された動きベクトル予測にデルタ動きベクトルを加算することによって、対象ブロックの動きベクトルを導出する。また、動きベクトル予測部210は、制御部212によって近隣テンプレートが選択されたときには、その近隣テンプレートに基づく動き探索を行うことによって、対象ブロックの動きベクトルを導出する。そして、動きベクトル予測部210は、その導出された動きベクトルを含む信号211をインター予測部207に出力する。
 このような本実施の形態における復号装置200は、ビットストリームBsをブロックごとに復号する復号装置であって、読解部213と、選択部と、導出部と、復号部とを備える。
 読解部213は、DMVDパラメータとして識別パラメータを前記ビットストリームから読み解く。選択部は、制御部212からなり、対象ブロックに対して予め定義されたN個(Nは2以上の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択することを、読み解かれたDMVDパラメータに基づいて実行する。
 導出部は、動きベクトル予測部210からなり、選択された近隣テンプレートによって示される領域における再構成画像と、対象ブロックを含むピクチャと異なる参照ピクチャとを用いて動きベクトルを導出する。復号部は、インター予測部207と、エントロピー復号部201、逆量子化部202、逆変換部203、ピクチャメモリ205、および加算器215のうちの少なくとも1つとからなる。つまり、復号部は、導出された動きベクトルを用いて対象ブロックに対して動き補償を行うことによって、対象ブロックを復号する。
 これにより、DMVDパラメータが、DMVD機能を有効にすることを示していれば、対象ブロックに対して予め定義されたN個の近隣テンプレートの中から1つの近隣テンプレートが選択される。したがって、対象ブロックに対して適切な近隣テンプレートを選択することができ、符号化効率の向上が図られたビットストリームを適切に復号することができる。なお、読解部213は、予め定められた閾値よりも大きいか否かによって、DMVD機能を有効にするか否かを示す値を、DMVDパラメータとして読み解いてもよい。これにより、DMVDパラメータを、例えば、候補リストのサイズなどのように、DMVD機能以外の他の機能に用いられる値を示すパラメータと兼用させることができる。したがって、ビットストリームに含まれる他のパラメータをDMVDパラメータとして用いることができるため、符号化効率のさらなる向上が図られたビットストリームを適切に復号することができる。
 図18~図20を参照し、本発実施の形態による、近隣テンプレートを用いた動き探索処理を実行する復号方法を説明する。
 図18は、本実施の形態における復号処理の一例を示すフローチャートである。なお、このフローチャートによって示される復号処理は、図8のフローチャートによって示される符号化処理に対応する処理である。
 復号装置200の読解部213は、最初のステップS2002として、対象ブロックに対する識別パラメータをビットストリームBsから読み解く。ステップS2003において、制御部212は、対象ブロックに対して予め定義された複数の近隣テンプレートを識別する。その後、ステップS2004において、制御部212は、読解部213で読み解かれた識別パラメータに基づいて、複数の予め定義された近隣テンプレートの中から1つの近隣テンプレートを選択する。ステップS2005において、動きベクトル予測部210は、動き探索処理の間に、選択された近隣テンプレートを用いて動きベクトルを導出する。最後のステップS2006において、インター予測部207は、導出された動きベクトルを用いて動き補償を実行する。この動き補償によって、対象ブロックが復号される。
 なお、ステップS2005において、対象ブロックが、BピクチャまたはBスライスに含まれるブロックとして2つの参照ピクチャリストに基づいて復号される場合には、選択された近隣テンプレートから複数の動きベクトルが導出される。また、対象ブロックが、BピクチャおよびBスライスの何れにも含まれていない場合においても、選択された近隣テンプレートから動きベクトルの候補として複数の動きベクトルが導出されてもよい。
 このように、図18のフローチャートによって示される復号処理では、識別パラメータがビットストリームBsから読み解かれるため、対象ブロックの符号化に用いられた近隣テンプレートを容易に選択して用いることができる。したがって、対象ブロックを適切に復号することができる。なお、ステップS2004では、識別パラメータに基づいて1つの近隣テンプレートを選択したが、例えば図11または図12のフローチャートによって示される予め定義された基準に基づいて、1つの近隣テンプレートを選択してもよい。
 図19は、本実施の形態における復号処理の他の例を示すフローチャートである。なお、このフローチャートによって示される復号処理は、図9のフローチャートによって示される符号化処理に対応する処理である。
 復号装置200の読解部213は、最初のステップS2101として、拡張テンプレートの利用可否を示す拡張パラメータと識別パラメータとを含む複数のパラメータを、ビットストリームBsから読み解く。次のステップS2102において、制御部212は、読み解かれた拡張パラメータが、予め定義された値を有するか否かを判定する。読み解かれた拡張パラメータが、予め定義された値を有する場合(ステップS2102のYes)、ステップS2104において、制御部212は、その読み解かれた拡張パラメータに基づいて、予め定義された複数の近隣テンプレートの中から、候補テンプレートのサブセットを識別する。その後、ステップS2105において、制御部212は、読み解かれた識別パラメータに基づいて、識別されたサブセットに含まれる複数の候補テンプレートの中から1つの候補テンプレート(つまり近隣テンプレート)を選択する。
 一方、ステップS2102において、読み解かれた拡張パラメータが予め定義された値を有しない場合(ステップS2102のNo)、ステップS2103において、制御部212は、読み解かれた識別パラメータに基づいて、複数の予め定義された近隣テンプレートから、1つの近隣テンプレートを選択する。なお、このとき、制御部212は、例えば図11または図12のフローチャートによって示される予め定義された基準に基づいて、1つの近隣テンプレートを選択してもよい。
 ステップS2106において、動きベクトル予測部210は、動き探索処理の間に、選択された近隣テンプレートを用いて、対象ブロックに対する動きベクトルを導出する。最後のステップS2107において、インター予測部207は、導出された動きベクトルを用いて、動き補償を実行する。
 このように、図19のフローチャートによって示される復号処理では、復号装置200は、さらに、それぞれN個未満の複数の近隣テンプレートからなる複数のサブセットのうちの何れのサブゼットを用いるか、何れのサブセットも用いないかを、値として示す拡張パラメータを、ビットストリームBsから読み解く。そして、復号装置200は、記近隣テンプレートの選択では、拡張パラメータが予め定められた値を示す場合には、複数のサブセットの中から、その拡張パラメータに応じたサブセットを特定する。さらに、復号装置200は、そのN個の近隣テンプレートのうちの、特定された前記サブセットに含まれるM個(Mは2以上N未満の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択する。一方、復号装置200は、拡張パラメータが予め定められた値を示さない場合には、N個の近隣テンプレートの中から、1つの近隣テンプレートを選択する。
 これにより、サブセットが用いられる場合には、N個の近隣テンプレートよりも少ないM個の近隣テンプレートの中から1つの近隣テンプレートが選択されるため、つまり、選択される近隣テンプレートの候補となる複数の近隣テンプレートの数が減るため、近隣テンプレートの選択の処理負担を軽減することができる。
 図20は、本実施の形態における復号処理のさらに他の例を示すフローチャートである。なお、このフローチャートによって示される復号処理は、図10のフローチャートによって示される符号化処理に対応する処理である。
 復号装置200の読解部213は、最初のステップS2401として、デコーダにおける動き探索処理に適応的テンプレート形を用いるか否かを示すパラメータを(上述のDMVDパラメータとして)ビットストリームBsのヘッダから読み解く。次のステップS2402において、制御部212は、読み解かれたパラメータが予め定義された値を有するか否かを判定する。読み解かれたパラメータが予め定義された値を有する場合は(ステップS2402のYes)、ステップS2403において、動きベクトル予測部210は、適応的テンプレート形を用いて動き探索処理を実行することで、動きベクトルを導出する。
 このように、図20のフローチャートによって示される復号処理では、読解部213は、近隣テンプレートを適応的に変更するか否かを値として示すパラメータを、DMVDパラメータとして読み解く。そして、制御部212は、そのDMVDパラメータが予め定められた値を示す場合には、対象ブロックの復号時において、その対象ブロックの周辺に生成されている再構成画像の領域に応じて、N個の近隣テンプレートの中から1つの近隣テンプレートを選択する。より具体的には、制御部212は、N個の近隣テンプレートのうちの、対象ブロックの復号時において、その近隣テンプレートによって示される領域内の全ての再構成画像が生成されている少なくとも1つの近隣テンプレートの中から、1つの近隣テンプレートを選択する。
 これにより、復号時の状況に応じて近隣テンプレートを適応的に選択すること、つまり、近隣テンプレートの大きさおよびサイズなどを適応的に変更することができ、符号化効率の向上が図られたビットストリームBsを適切に復号することができる。
 また、図18のステップS2004および図19のステップS2105では、制御部212は、例えば図11または図12のフローチャートによって示される予め定義された基準に基づいて、1つの近隣テンプレートを選択してもよい。これにより、候補となる複数の近隣テンプレートから1つの近隣テンプレートを適切に選択することができる。また、このような近隣テンプレートの選択の手法が、予め定義された基準として、エンコーダ側でも実行されている場合には、エンコーダで選択された近隣テンプレートを適切に選択することができる。
 上述の復号処理において、対象ブロックに対して想定されるいくつかの近隣テンプレートは、図2~7のそれぞれによって例示されている。図示された近隣テンプレートは全て、デコーダ側の動きベクトル導出(DMVD)処理の機能性に対応するため、これらは本実施の形態においてDMVDテンプレートとして表される。しかしながら、DMVDテンプレートは、図2~図7に図示された例に限定されない。
 図21A~図21Fは、ビットストリームBsから読み解かれたパラメータに基づいて、複数の近隣テンプレートからDMVDテンプレートを選択する処理の例を示すフローチャートである。
 例えば、復号装置200は、図21Aに示すように、対象ブロックに用いられる近隣テンプレートを決定するために、ビットストリームBsから複数のパラメータを読み解く(ステップS2501)。次に、復号装置200は、複数の読み解かれたパラメータのうち、近隣テンプレートを識別するための識別パラメータを決定する(ステップS2502)。次に、復号装置200は、例えば、符号化装置100において構成される予め定義されたテンプレートリスト、ルックアプトテーブルまたは候補リストにしたがって、複数の予め定義された近隣テンプレートを識別する(ステップS2503)。そして、復号装置200は、識別された複数の近隣テンプレートの中から、1つの近隣テンプレート(DMVDテンプレート)を、ステップS2502で決定された識別パラメータに基づいて選択する(ステップS2504)。
 また、復号装置200は、図21Bに示すように、ステップS2601~S2604の処理を行ってもよい。つまり、復号装置200は、ステップS2602において、識別パラメータの代わりに、対象ブロックのサイズを示すパラメータを決定する。そして、復号装置200は、ステップS2604において、識別された複数の近隣テンプレートの中から、1つの近隣テンプレート(DMVDテンプレート)を、決定されたサイズを示すパラメータに基づいて選択する。
 あるいは、復号装置200は、図21Cに示すように、ステップS2701~S2704の処理を行ってもよい。つまり、復号装置200は、ステップS2702において、識別パラメータの代わりに、対象ブロックのピクチャタイプまたはスライスタイプを示すパラメータを決定する。そして、復号装置200は、ステップS2704において、識別された複数の近隣テンプレートの中から、1つの近隣テンプレート(DMVDテンプレート)を、決定されたピクチャタイプまたはスライスタイプを示すパラメータに基づいて選択する。
 また、復号装置200は、図21Dに示すように、ステップS2801~S2804の処理を行ってもよい。つまり、復号装置200は、ステップS2802において、識別パラメータの代わりに、対象ブロックを含む対象ピクチャの時間層を示すパラメータ(テンポラルID)を決定する。そして、復号装置200は、ステップS2804において、識別された複数の近隣テンプレートの中から、1つの近隣テンプレート(DMVDテンプレート)を、決定された時間層を示すパラメータに基づいて選択する。
 あるいは、復号装置200は、図21Eに示すように、ステップS2901~S2904の処理を行ってもよい。つまり、復号装置200は、ステップS2902において、識別パラメータの代わりに、対象ブロックを含む対象シーケンスの符号化構造を示すパラメータを決定する。そして、復号装置200は、ステップS2904において、識別された複数の近隣テンプレートの中から、1つの近隣テンプレート(DMVDテンプレート)を、決定された符号化構造を示すパラメータに基づいて選択する。
 また、復号装置200は、図21Fに示すように、ステップS3001~S3004の処理を行ってもよい。つまり、復号装置200は、ステップS3002において、識別パラメータの代わりに、DMVDテンプレートの利用可否を示すパラメータ(DMVDパラメータ)を決定する。そして、復号装置200は、ステップS3004において、識別された複数の近隣テンプレートの中から、1つの近隣テンプレート(DMVDテンプレート)を、決定された、DMVDテンプレートの利用可否を示すパラメータに基づいて選択する。
 なお、図21A~図21Fに示すフローチャートは、いくつか想定されるパラメータに基づいてDMVDテンプレートを選択するための例示的な処理として示される。これらの例示的なパラメータに限らず、他のパラメータに基づいてDMVDパラメータを選択してもよい。
 また、図21A~図21Fに示すフローチャートでは、選択される近隣テンプレート、つまりDMVDテンプレートが、暗示的なパラメータに基づいて選択されている。ここで、その暗示的なパラメータを、デコーダにおいて動きベクトルを導出する機能であるDMVD機能を有効にするか否かを示すDMVDパラメータとして用いてもよい。例えば、その暗示的なパラメータは、対象ブロックのサイズを示すパラメータ、スライスの種類を示すパラメータ、または、時間層を示すパラメータ(テンポラルID)である。
 つまり、ビットストリーム内のDMVDパラメータは、予め定義された決定方式に基づいて、DMVD機能を有効にするか否かを決定し得る暗示的なパラメータである。例えば、その暗示的なパラメータは、スライスの種類を示すパラメータである。この場合、復号装置200は、そのパラメータが特定の種類のスライスを示す場合に、DMVD機能を有効にすると決定する。または、その暗示的なパラメータは、対象ブロックのサイズを示すパラメータである。この場合、復号装置200は、対象ブロックのサイズと予め定義されたサイズとを比較することによって、DMVD機能を有効にするか否かを決定する。または、その暗示的なパラメータは、時間階層符号化におけるピクチャのテンポラルIDである。この場合、復号装置200は、テンポラルIDと予め定義された閾値とを比較することによって、DMVD機能を有効にするか否かを決定する。
 以上、本発明に係る符号化方法および復号方法について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれてもよい。
 例えば、図22Aおよび図22Bに示す符号化方法および復号方法も本発明に含まれる。
 図22Aは、本発明の一態様に係る符号化方法の一例を示すフローチャートである。
 この符号化方法は、動画像をブロックごとに符号化する符号化方法であって、対象ブロックに対して予め定義された、前記対象ブロックの空間的に近隣にある互いに異なる領域を示すN個(Nは2以上の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択するステップS11と、選択された前記近隣テンプレートによって示される領域における再構成画像と、前記対象ブロックを含むピクチャと異なる参照ピクチャとを用いて動きベクトルを導出するステップS12と、導出された前記動きベクトルを用いて前記対象ブロックに対して動き補償を行うことによって、前記対象ブロックを符号化するステップS13と、デコーダにおいて動きベクトルを導出する機能であるDMVD機能を有効にするか否かを示すDMVDパラメータを、符号化された前記対象ブロックを含むビットストリームに書き込むステップS14とを含む。
 これにより、上記実施の形態と同様の効果を奏することができる。つまり、符号化効率の向上を図ることができる。
 図22Bは、本発明の一態様に係る復号方法の一例を示すフローチャートである。
 この復号方法は、符号化された動画像を示すビットストリームをブロックごとに復号する復号方法であって、デコーダにおいて動きベクトルを導出する機能であるDMVD機能を有効にするか否かを示すDMVDパラメータを、前記ビットストリームから読み解くステップS21と、対象ブロックに対して予め定義された、前記対象ブロックの空間的に近隣にある互いに異なる領域を示すN個(Nは2以上の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択することを、読み解かれた前記DMVDパラメータに基づいて実行するステップS22と、選択された前記近隣テンプレートによって示される領域における再構成画像と、前記対象ブロックを含むピクチャと異なる参照ピクチャとを用いて動きベクトルを導出するステップS23と、導出された前記動きベクトルを用いて前記対象ブロックに対して動き補償を行うことによって、前記対象ブロックを復号するステップS24とを含む。
 これにより、上記実施の形態と同様の効果を奏することができる。つまり、符号化効率の向上が図られたビットストリームを適切に復号することができる。
 なお、上記実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記実施の形態の符号化装置および復号化装置などを実現するソフトウェアは、コンピュータに、図22Aまたは図22Bによって示される各ステップを実行させる。
 (実施の形態2)
 上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
 さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
 図23は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
 このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
 しかし、コンテンツ供給システムex100は図23のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局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の例に限らず、図24に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
 また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
 図25は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)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の構成を図26に示す。情報再生/記録部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はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
 図27に光ディスクである記録メディア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の構成は例えば図25に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
 図28Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
 さらに、携帯電話ex114の構成例について、図28Bを用いて説明する。携帯電話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において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
 このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
 また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
 (実施の形態3)
 上記各実施の形態で示した動画像符号化方法または装置と、MPEG-2、MPEG4-AVC、VC-1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
 ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
 この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG-2トランスポートストリーム形式のデジタルストリームである。
 図29は、多重化データの構成を示す図である。図29に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(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が、それぞれ割り当てられている。
 図30は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
 図31は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図31における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図31の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time-Stamp)やピクチャの復号時刻であるDTS(Decoding Time-Stamp)が格納される。
 図32は、多重化データに最終的に書き込まれる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フィルタへの転送開始時刻を示す。多重化データには図32下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号は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時間の情報を持つ。
 図33はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
 記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
 多重化データ情報ファイルは、図34に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
 多重化データ情報は図34に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
 ストリーム属性情報は図35に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
 本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
 また、本実施の形態における動画像復号化方法のステップを図36に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
 このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
 (実施の形態4)
 上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図37に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に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
 (実施の形態5)
 上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
 この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図38は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
 より具体的には、駆動周波数切替え部ex803は、図37のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図37の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態3で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態3で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図40のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
 図39は、本実施の形態の方法を実施するステップを示している。まず、ステップ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を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
 (実施の形態6)
 テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
 この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図41Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4-AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4-AVC規格に対応する復号処理部ex902を共有し、MPEG4-AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4-AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
 また、処理を一部共有化する他の例を図41Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
 このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。
 本発明に係る符号化方法および復号方法は、符号化効率を向上することができるという効果を奏し、例えば、テレビ、デジタルビデオレコーダー、カーナビゲーション、携帯電話、デジタルカメラ、デジタルビデオカメラ等の情報表示機器や撮像機器に利用可能である。
 100  符号化装置
 101  変換部
 102  量子化部
 103  逆量子化部
 104  逆変換部
 105  ブロックメモリ
 106  ピクチャメモリ
 107  イントラ予測部
 108  インター予測部
 109  エントロピー符号化部
 110  減算器
 111  加算器
 130  制御部
 131  動きベクトル予測部
 136  書込部
 200  復号装置
 201  エントロピー復号部
 202  逆量子化部
 203  逆変換部
 204  ブロックメモリ
 205  ピクチャメモリ
 206  イントラ予測部
 207  インター予測部
 210  動きベクトル予測部
 212  制御部
 213  読解部
 215  加算器

Claims (16)

  1.  動画像をブロックごとに符号化する符号化方法であって、
     対象ブロックに対して予め定義された、前記対象ブロックの空間的に近隣にある互いに異なる領域を示すN個(Nは2以上の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択し、
     選択された前記近隣テンプレートによって示される領域における再構成画像と、前記対象ブロックを含むピクチャと異なる参照ピクチャとを用いて動きベクトルを導出し、
     導出された前記動きベクトルを用いて前記対象ブロックに対して動き補償を行うことによって、前記対象ブロックを符号化し、
     デコーダにおいて動きベクトルを導出する機能であるDMVD機能を有効にするか否かを示すDMVDパラメータを、符号化された前記対象ブロックを含むビットストリームに書き込む
     符号化方法。
  2.  前記符号化方法は、さらに、
     対象ブロックに対して予め定義された前記N個の近隣テンプレートを識別し、
     前記近隣テンプレートの選択では、
     識別された前記N個の近隣テンプレートの中から前記近隣テンプレートを選択し、
     前記DMVDパラメータの書き込みでは、
     前記DMVD機能を有効にすることを示す前記DMVDパラメータとして、選択された前記近隣テンプレートを識別するための識別パラメータを書き込む
     請求項1に記載の符号化方法。
  3.  前記符号化方法は、さらに、
     それぞれN個未満の複数の近隣テンプレートからなる複数のサブセットのうちの何れのサブゼットを用いるか、何れのサブセットも用いないかを決定し、
     前記サブセットの決定結果を値として示す拡張パラメータを前記ビットストリームに書き込み、
     前記近隣テンプレートの選択では、
    (a)前記拡張パラメータが予め定められた値を示す場合には、
     前記複数のサブセットの中から、前記拡張パラメータに応じたサブセットを特定し、
     前記N個の近隣テンプレートのうちの、特定された前記サブセットに含まれるM個(Mは2以上N未満の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択し、
    (b)前記拡張パラメータが予め定められた値を示さない場合には、
     前記N個の近隣テンプレートの中から、1つの近隣テンプレートを選択する
     請求項1に記載の符号化方法。
  4.  前記符号化方法は、さらに、
     近隣テンプレートを適応的に変更するか否かを決定し、
     前記DMVDパラメータの書き込みでは、
     前記変更するか否かの決定結果を値として示すパラメータを、前記DMVDパラメータとして書き込み、
     前記近隣テンプレートの選択では、
     前記DMVDパラメータが予め定められた値を示す場合には、
     前記対象ブロックの符号化時において、当該対象ブロックの周辺に生成されている再構成画像の領域に応じて、前記N個の近隣テンプレートの中から1つの近隣テンプレートを選択する
     請求項1に記載の符号化方法。
  5.  前記近隣テンプレートの選択では、
     前記N個の近隣テンプレートのうちの候補となる複数の近隣テンプレートのそれぞれに対して優先度を決定し、
     前記候補となる複数の近隣テンプレートのうちの、前記対象ブロックの符号化時において、当該近隣テンプレートによって示される領域内の全ての再構成画像が生成されている少なくとも1つの近隣テンプレートの中から、最も優先度の高い近隣テンプレートを選択する
     請求項2または3に記載の符号化方法。
  6.  前記近隣テンプレートの選択では、
     前記N個の近隣テンプレートのうちの候補となる複数の近隣テンプレートのそれぞれに対して、当該近隣テンプレートに対して導出される動きベクトルによって示される画像と当該近隣テンプレートの画像との間の歪みの程度を歪み値として算出し、
     前記候補となる複数の近隣テンプレートの中から、最も歪み値の小さい近隣テンプレートを選択する
     請求項2または3に記載の符号化方法。
  7.  前記DMVDパラメータの書き込みでは、
     予め定められた閾値よりも大きいか否かによって、前記DMVD機能を有効にするか否かを示す値を、前記DMVDパラメータとして書き込む
     請求項1に記載の符号化方法。
  8.  符号化された動画像を示すビットストリームをブロックごとに復号する復号方法であって、
     デコーダにおいて動きベクトルを導出する機能であるDMVD機能を有効にするか否かを示すDMVDパラメータを、前記ビットストリームから読み解き、
     対象ブロックに対して予め定義された、前記対象ブロックの空間的に近隣にある互いに異なる領域を示すN個(Nは2以上の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択することを、読み解かれた前記DMVDパラメータに基づいて実行し、
     選択された前記近隣テンプレートによって示される領域における再構成画像と、前記対象ブロックを含むピクチャと異なる参照ピクチャとを用いて動きベクトルを導出し、
     導出された前記動きベクトルを用いて前記対象ブロックに対して動き補償を行うことによって、前記対象ブロックを復号する
     復号方法。
  9.  前記復号方法は、さらに、
     対象ブロックに対して予め定義された前記N個の近隣テンプレートを識別し、
     前記DMVDパラメータの読み解きでは、
     前記DMVD機能を有効にすることを示す前記DMVDパラメータとして、選択されるべき近隣テンプレートを識別するための識別パラメータを読み解き、
     前記近隣テンプレートの選択では、
     識別された前記N個の近隣テンプレートの中から、前記識別パラメータに応じた前記近隣テンプレートを選択する
     請求項8に記載の復号方法。
  10.  前記復号方法は、さらに、
     それぞれN個未満の複数の近隣テンプレートからなる複数のサブセットのうちの何れのサブゼットを用いるか、何れのサブセットも用いないかを、値として示す拡張パラメータを、前記ビットストリームから読み解き、
     前記近隣テンプレートの選択では、
    (a)前記拡張パラメータが予め定められた値を示す場合には、
     前記複数のサブセットの中から、前記拡張パラメータに応じたサブセットを特定し、
     前記N個の近隣テンプレートのうちの、特定された前記サブセットに含まれるM個(Mは2以上N未満の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択し、
    (b)前記拡張パラメータが予め定められた値を示さない場合には、
     前記N個の近隣テンプレートの中から、1つの近隣テンプレートを選択する
     請求項8に記載の復号方法。
  11.  前記DMVDパラメータの読み解きでは、
     近隣テンプレートを適応的に変更するか否かを値として示すパラメータを、前記DMVDパラメータとして読み解き、
     前記近隣テンプレートの選択では、
     前記DMVDパラメータが予め定められた値を示す場合には、
     前記対象ブロックの復号時において、当該対象ブロックの周辺に生成されている再構成画像の領域に応じて、前記N個の近隣テンプレートの中から1つの近隣テンプレートを選択する
     請求項8に記載の復号方法。
  12.  前記近隣テンプレートの選択では、
     前記N個の近隣テンプレートのうちの候補となる複数の近隣テンプレートのそれぞれに対して優先度を決定し、
     前記候補となる複数の近隣テンプレートのうちの、前記対象ブロックの復号時において、当該近隣テンプレートによって示される領域内の全ての再構成画像が生成されている少なくとも1つの近隣テンプレートの中から、最も優先度の高い近隣テンプレートを選択する
     請求項10に記載の復号方法。
  13.  前記近隣テンプレートの選択では、
     前記N個の近隣テンプレートのうちの候補となる複数の近隣テンプレートのそれぞれに対して、当該近隣テンプレートに対して導出される動きベクトルによって示される画像と当該近隣テンプレートの画像との間の歪みの程度を歪み値として算出し、
     前記候補となる複数の近隣テンプレートの中から、最も歪み値の小さい近隣テンプレートを選択する
     請求項10に記載の復号方法。
  14.  前記DMVDパラメータの読み解きでは、
     予め定められた閾値よりも大きいか否かによって、前記DMVD機能を有効にするか否かを示す値を、前記DMVDパラメータとして読み解く
     請求項8に記載の復号方法。
  15.  動画像をブロックごとに符号化する符号化装置であって、
     対象ブロックに対して予め定義された、前記対象ブロックの空間的に近隣にある互いに異なる領域を示すN個(Nは2以上の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択する選択部と、
     選択された前記近隣テンプレートによって示される領域における再構成画像と、前記対象ブロックを含むピクチャと異なる参照ピクチャとを用いて動きベクトルを導出する導出部と、
     導出された前記動きベクトルを用いて前記対象ブロックに対して動き補償を行うことによって、前記対象ブロックを符号化する符号化部と、
     デコーダにおいて動きベクトルを導出する機能であるDMVD機能を有効にするか否かを示すDMVDパラメータを、符号化された前記対象ブロックを含むビットストリームに書き込む書込部と
     を備える符号化装置。
  16.  符号化された動画像を示すビットストリームをブロックごとに復号する復号装置であって、
     動きベクトルを導出する機能であるDMVD機能を有効にするか否かを示すDMVDパラメータを、前記ビットストリームから読み解く読解部と、
     対象ブロックに対して予め定義された、前記対象ブロックの空間的に近隣にある互いに異なる領域を示すN個(Nは2以上の整数)の近隣テンプレートの中から、1つの近隣テンプレートを選択することを、読み解かれた前記DMVDパラメータに基づいて実行する選択部と、
     選択された前記近隣テンプレートによって示される領域における再構成画像と、前記対象ブロックを含むピクチャと異なる参照ピクチャとを用いて動きベクトルを導出する導出部と、
     導出された前記動きベクトルを用いて前記対象ブロックに対して動き補償を行うことによって、前記対象ブロックを復号する復号部と
     を備える復号装置。
PCT/JP2015/002110 2014-04-28 2015-04-17 符号化方法、復号方法、符号化装置および復号装置 WO2015166639A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016515852A JPWO2015166639A1 (ja) 2014-04-28 2015-04-17 符号化方法、復号方法、符号化装置および復号装置
EP15785284.9A EP3139605A4 (en) 2014-04-28 2015-04-17 Encoding method, decoding method, encoding apparatus, and decoding apparatus
CN201580014731.4A CN106105196A (zh) 2014-04-28 2015-04-17 编码方法、解码方法、编码装置以及解码装置
US15/229,142 US20160345011A1 (en) 2014-04-28 2016-08-05 Image coding method and decoding method related to motion estimation on decoder side

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2014-093071 2014-04-28
JP2014093071 2014-04-28
US201462003582P 2014-05-28 2014-05-28
US62/003,582 2014-05-28
JP2015021590 2015-02-05
JP2015-021590 2015-02-05

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/229,142 Continuation US20160345011A1 (en) 2014-04-28 2016-08-05 Image coding method and decoding method related to motion estimation on decoder side

Publications (1)

Publication Number Publication Date
WO2015166639A1 true WO2015166639A1 (ja) 2015-11-05

Family

ID=54358385

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/002110 WO2015166639A1 (ja) 2014-04-28 2015-04-17 符号化方法、復号方法、符号化装置および復号装置

Country Status (5)

Country Link
US (1) US20160345011A1 (ja)
EP (1) EP3139605A4 (ja)
JP (1) JPWO2015166639A1 (ja)
CN (1) CN106105196A (ja)
WO (1) WO2015166639A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200066737A (ko) * 2017-11-30 2020-06-10 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치
JP2021514145A (ja) * 2018-02-15 2021-06-03 アリス エンタープライジズ エルエルシーArris Enterprises Llc テンプレートマッチングのための可変テンプレートサイズ

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106454643A (zh) * 2016-12-03 2017-02-22 邯郸学院 一种补偿频率可调的音频播放器
CN116233416A (zh) * 2017-01-16 2023-06-06 世宗大学校产学协力团 影像编码/解码方法
US10491917B2 (en) * 2017-03-22 2019-11-26 Qualcomm Incorporated Decoder-side motion vector derivation
GB2563943B (en) 2017-06-30 2021-02-24 Canon Kk Method and apparatus for encoding or decoding video data in FRUC mode with reduced memory accesses
GB2564133B (en) * 2017-07-04 2021-03-17 Canon Kk Method and apparatus for encoding or decoding video data with sub-pixel motion vector refinement
CN107483867A (zh) * 2017-08-22 2017-12-15 广州波视信息科技股份有限公司 一种tico格式4k/8k解码器及其实现方法
JP2019041165A (ja) * 2017-08-23 2019-03-14 富士通株式会社 画像符号化装置、画像復号装置、画像処理方法、及び画像処理プログラム
US11750832B2 (en) * 2017-11-02 2023-09-05 Hfi Innovation Inc. Method and apparatus for video coding
US11265551B2 (en) * 2018-01-18 2022-03-01 Qualcomm Incorporated Decoder-side motion vector derivation
CN110121073B (zh) * 2018-02-06 2021-07-09 浙江大学 一种双向帧间预测方法及装置
WO2019234676A1 (en) * 2018-06-07 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Mv precision refine
EP3809701A4 (en) 2018-06-18 2022-06-22 Industry Academy Cooperation Foundation Of Sejong University METHOD AND APPARATUS FOR ENCODING/DECODING AN IMAGE
WO2020005002A1 (ko) * 2018-06-28 2020-01-02 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 템플릿 영역 도출 방법 및 장치
TWI719519B (zh) 2018-07-02 2021-02-21 大陸商北京字節跳動網絡技術有限公司 對於dmvr的塊尺寸限制
US10911768B2 (en) * 2018-07-11 2021-02-02 Tencent America LLC Constraint for template matching in decoder side motion derivation and refinement
US10911751B2 (en) * 2018-09-14 2021-02-02 Tencent America LLC Method and apparatus for video coding
WO2020084474A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Gradient computation in bi-directional optical flow
WO2020084476A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Sub-block based prediction
CN112913240A (zh) 2018-10-22 2021-06-04 北京字节跳动网络技术有限公司 解码器侧运动矢量推导和其他编解码工具之间的并置
WO2020098647A1 (en) 2018-11-12 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Bandwidth control methods for affine prediction
CN113056914B (zh) 2018-11-20 2024-03-01 北京字节跳动网络技术有限公司 基于部分位置的差计算
CN113170097B (zh) 2018-11-20 2024-04-09 北京字节跳动网络技术有限公司 视频编解码模式的编解码和解码
JP2022521554A (ja) 2019-03-06 2022-04-08 北京字節跳動網絡技術有限公司 変換された片予測候補の利用
JP6867611B2 (ja) * 2019-03-11 2021-04-28 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP7307192B2 (ja) 2019-04-02 2023-07-11 北京字節跳動網絡技術有限公司 デコーダ側の動きベクトルの導出
WO2021008470A1 (en) * 2019-07-12 2021-01-21 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007043651A (ja) * 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
WO2010095560A1 (ja) * 2009-02-20 2010-08-26 ソニー株式会社 画像処理装置および方法
WO2011002809A2 (en) * 2009-07-02 2011-01-06 Qualcomm Incorporated Template matching for video coding
WO2011071514A2 (en) * 2009-12-08 2011-06-16 Thomson Licensing Methods and apparatus for adaptive residual updating of template matching prediction for video encoding and decoding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007043651A (ja) * 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
WO2010095560A1 (ja) * 2009-02-20 2010-08-26 ソニー株式会社 画像処理装置および方法
WO2011002809A2 (en) * 2009-07-02 2011-01-06 Qualcomm Incorporated Template matching for video coding
WO2011071514A2 (en) * 2009-12-08 2011-06-16 Thomson Licensing Methods and apparatus for adaptive residual updating of template matching prediction for video encoding and decoding

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"Steffen Kamp and Mathias Wien, Multi-hypothesis prediction with decoder side motion vector derivation", JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 AND ITU-T SG 16 Q.6), JVT-AA040, 27TH MEETING, April 2008 (2008-04-01), Geneva, CH, pages 1 - 11, XP030007383 *
MATHIAS WIEN ET AL.: "TE1: RWTH partner report on DMVD", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-B030, 2ND MEETING, July 2010 (2010-07-01), Geneva, CH, pages 1 - 14, XP030007610 *
See also references of EP3139605A4 *
YU-WEN HUANG ET AL.: "A Technical Description of MediaTek's Proposal to the JCT-VC CfP", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-A109_R2, 1ST MEETING, April 2010 (2010-04-01), Dresden, DE, pages 1, 24 - 27, XP002664256 *
YU-WEN HUANG ET AL.: "TE1: Decoder-Side Motion Vector Derivation with Switchable Template Matching", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-B076, 2ND MEETING, July 2010 (2010-07-01), Geneva, CH, pages 1 - 11, XP030007656 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200066737A (ko) * 2017-11-30 2020-06-10 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치
KR102387363B1 (ko) 2017-11-30 2022-04-18 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치
JP2021514145A (ja) * 2018-02-15 2021-06-03 アリス エンタープライジズ エルエルシーArris Enterprises Llc テンプレートマッチングのための可変テンプレートサイズ
JP7350757B2 (ja) 2018-02-15 2023-09-26 アリス エンタープライジズ エルエルシー テンプレートマッチングのための可変テンプレートサイズ

Also Published As

Publication number Publication date
CN106105196A (zh) 2016-11-09
EP3139605A4 (en) 2017-05-17
US20160345011A1 (en) 2016-11-24
EP3139605A1 (en) 2017-03-08
JPWO2015166639A1 (ja) 2017-04-20

Similar Documents

Publication Publication Date Title
WO2015166639A1 (ja) 符号化方法、復号方法、符号化装置および復号装置
JP6090670B2 (ja) 符号化復号装置
JP6090625B2 (ja) 画像復号方法及び画像復号装置
JP6327435B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置、及び、画像復号装置
JP6210368B2 (ja) 画像復号方法および画像復号装置
JP6414712B2 (ja) 多数の参照ピクチャを用いる動画像符号化方法、動画像復号方法、動画像符号化装置、および動画像復号方法
WO2012023281A1 (ja) 動画像復号方法、動画像符号化方法、動画像復号装置、及び、動画像符号化装置
JP6489337B2 (ja) 算術復号方法および算術符号化方法
WO2012120840A1 (ja) 画像復号方法、画像符号化方法、画像復号装置および画像符号化装置
JP5331944B2 (ja) 画像復号化方法および画像復号化装置
WO2011129090A1 (ja) 符号化歪み除去方法、符号化方法、復号化方法、符号化歪み除去装置、符号化装置、および復号化装置
WO2012098878A1 (ja) 動画像符号化方法及び動画像復号化方法
JP2018133820A (ja) 符号化方法、復号方法、符号化装置、および復号装置
WO2011132400A1 (ja) 画像符号化方法及び画像復号化方法
WO2013014884A1 (ja) 動画像符号化方法、動画像符号化装置、動画像復号化方法、および動画像復号化装置
JP2019213242A (ja) 符号化方法、復号方法、符号化装置および復号装置
WO2012095930A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
WO2012086166A1 (ja) 画像符号化方法及び画像復号化方法
WO2012120876A1 (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: 15785284

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016515852

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2015785284

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015785284

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE