[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPWO2011034148A1 - Encoding device, decoding device, moving image encoding device, moving image decoding device, and encoded data - Google Patents

Encoding device, decoding device, moving image encoding device, moving image decoding device, and encoded data Download PDF

Info

Publication number
JPWO2011034148A1
JPWO2011034148A1 JP2011531972A JP2011531972A JPWO2011034148A1 JP WO2011034148 A1 JPWO2011034148 A1 JP WO2011034148A1 JP 2011531972 A JP2011531972 A JP 2011531972A JP 2011531972 A JP2011531972 A JP 2011531972A JP WO2011034148 A1 JPWO2011034148 A1 JP WO2011034148A1
Authority
JP
Japan
Prior art keywords
data
unit
candidate
prediction
encoding
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2011531972A
Other languages
Japanese (ja)
Inventor
知宏 猪飼
知宏 猪飼
堅田 裕之
裕之 堅田
山本 智幸
智幸 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Publication of JPWO2011034148A1 publication Critical patent/JPWO2011034148A1/en
Pending legal-status Critical Current

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/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/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

Landscapes

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

Abstract

符号化装置は、複数のPMV候補からどのPMVを選択したかの情報を用いて、仮MV候補の中からMVの存在可能領域にあるMV候補を抽出するMVフラグ決定部(1115)と、MVフラグ決定部(1115)で抽出されたMV候補を特定するMVインデックスが2以上ある場合に各MVインデックスを符号化するMVインデックス符号化部(1153)と、を備えている。The encoding apparatus uses an information indicating which PMV is selected from a plurality of PMV candidates, and extracts an MV candidate in the MV existence area from the temporary MV candidates, and an MV An MV index encoding unit (1153) that encodes each MV index when there are two or more MV indexes specifying the MV candidates extracted by the flag determination unit (1115).

Description

本発明は、主に、動きベクトルを効率的に符号化する動画像符号化装置および動画像復号装置に関する。   The present invention mainly relates to a moving image encoding device and a moving image decoding device that efficiently encode a motion vector.

動画像符号化技術の分野では、一般に画像データを複数のブロックに分割し、分割したブロック単位で符号化が行われる。ブロック単位の符号化では、入力信号の予測信号の生成、入力信号と予測信号の差分である残差信号の算出、算出された残差信号の変換、変換で得られた変換係数の量子化、量子化された変換係数の可変長符号化等の符号化処理がなされる。   In the field of moving image encoding technology, generally, image data is divided into a plurality of blocks, and encoding is performed in units of divided blocks. In block unit coding, prediction signal generation of an input signal, calculation of a residual signal that is a difference between the input signal and the prediction signal, conversion of the calculated residual signal, quantization of a transform coefficient obtained by the conversion, An encoding process such as variable length encoding of the quantized transform coefficient is performed.

予測信号の生成方法には、対象ブロック周囲の再生画像を用いるイントラ予測と既に符号化/復号されたフレームの再生画像を用いるインター予測がある。   As a method for generating a prediction signal, there are intra prediction using a reproduced image around the target block and inter prediction using a reproduced image of an already encoded / decoded frame.

イントラ予測には、DC予測、水平予測、垂直予測など複数のイントラ予測モードがあり、いずれのイントラ予測モードを用いるかを示す情報が符号化される。   Intra prediction includes a plurality of intra prediction modes such as DC prediction, horizontal prediction, and vertical prediction, and information indicating which intra prediction mode is used is encoded.

また、インター予測では、予測に使う参照フレームを特定するためのフレームID、および、動きベクトル(MV)が符号化される。   In inter prediction, a frame ID for specifying a reference frame used for prediction and a motion vector (MV) are encoded.

MVの符号化は、まずMVの予測値である予測動きベクトル(PMV)を算出し、次にPMVとMVの差分を符号化することで行われる。図16は、非特許文献1のMVの符号化データの構成を示す図である。図16に示すように、MVはPMVを示すPMVインデックス、PMVとMVの差分の絶対値(MVD絶対値)、及び差分が正であるか負であるかを示すMVD符号に分けて符号化される。なお、MVD絶対値とMVD符号はX成分、Y成分の順に符号化され、成分毎のMVD絶対値が0の場合にはMVD符号は符号化されない。   MV encoding is performed by first calculating a predicted motion vector (PMV) that is a predicted value of MV, and then encoding the difference between PMV and MV. FIG. 16 is a diagram illustrating a configuration of MV encoded data of Non-Patent Document 1. As shown in FIG. 16, the MV is encoded by being divided into a PMV index indicating PMV, an absolute value of the difference between PMV and MV (MVD absolute value), and an MVD code indicating whether the difference is positive or negative. The The MVD absolute value and the MVD code are encoded in the order of the X component and the Y component, and when the MVD absolute value for each component is 0, the MVD code is not encoded.

ここで、MVD絶対値は2値化され適応的な確率を用いる算術符号により効率的に符号化される。MVD符号についても2値化され算術符号により符号化されるが、非特許文献1においては2値化された符号の0、1の発生確率は常に0.5であり、符号化された結果、符号量が固定長符号化の場合と同等になる。   Here, the MVD absolute value is binarized and efficiently encoded by an arithmetic code using an adaptive probability. The MVD code is also binarized and encoded by an arithmetic code. However, in Non-Patent Document 1, the probability of occurrence of 0 and 1 of the binarized code is always 0.5, and as a result of encoding, The code amount is the same as in the case of fixed length coding.

非特許文献2には、MVD絶対値とMVD符号とに分けて符号化することなく、MVをそのまま符号化する方法が開示されている。この方法では、MVの存在確率を、複数のPMVの各々についてPMVとMVとの距離を算出するとともにそれらの距離を用いて一般化ガウス関数を用いた分布関数の和を用いたモデルで推定し、推定したモデルから算出される確率を用いた多値算術符号を用いて符号化する。   Non-Patent Document 2 discloses a method of encoding an MV as it is without encoding the MVD absolute value and the MVD code separately. In this method, the existence probability of MV is estimated by a model using the sum of distribution functions using a generalized Gaussian function by calculating the distance between PMV and MV for each of a plurality of PMVs. Then, encoding is performed using a multi-valued arithmetic code using the probability calculated from the estimated model.

また、非特許文献1には、MotionVectorCompetition(MVCOMP)と呼ばれる技術が開示されている。MVCOMPでは、複数の予測動きベクトル候補(PMV候補)を用いることにより、符号化効率を向上させている。具体的には、PMV候補の中から符号化対象とするMVに近いPMVを選択し、PMV候補を特定するインデックス(PMVインデックス)を符号化する。次いでPMVとMVとの差分を符号化する。MVCOMPでは、複数のPMV候補から好適なPMVを選択することにより、1つのPMVを用いる場合よりもMVとPMVの差分を小さくすることができるため、差分の符号量を削減することができる。   Non-Patent Document 1 discloses a technique called Motion Vector Completion (MVCOMP). In MVCOMP, encoding efficiency is improved by using a plurality of motion vector predictor candidates (PMV candidates). Specifically, a PMV close to the MV to be encoded is selected from among the PMV candidates, and an index (PMV index) that identifies the PMV candidate is encoded. Next, the difference between PMV and MV is encoded. In MVCOMP, by selecting a suitable PMV from a plurality of PMV candidates, the difference between MV and PMV can be made smaller than when one PMV is used, so that the code amount of the difference can be reduced.

Competition―Based Scheme for Motion Vector Selection and Coding、ITU−T Q.6/SG16 VCEG、VCEG−AC06、2006Competition-Based Schema for Motion Vector Selection and Coding, ITU-T Q. 6 / SG16 VCEG, VCEG-AC06, 2006 竹内他、多峰性の確率モデルを用いた動ベクトルの算術符号化、映像情報メディア学会年次大会、5−3、2009Takeuchi et al., Arithmetic Coding of Motion Vectors Using Multimodal Probabilistic Models, IPSJ Annual Meeting, 5-3, 2009

複数の予測動きベクトル候補(PMV候補)を算出し、PMV候補から1つの予測動きベクトル(PMV)を選択した上で、動きベクトル(MV)とPMVとの差分を符号化する非特許文献1のMV符号化では、MVとPMVの差分の符号化に、選択したPMVの情報を用いていないため、符号量が多くなっていた。   Non-Patent Document 1 that calculates a plurality of motion vector predictor candidates (PMV candidates), selects one motion vector predictor (PMV) from the PMV candidates, and encodes the difference between the motion vector (MV) and the PMV. In MV encoding, since the information of the selected PMV is not used for encoding the difference between MV and PMV, the code amount is large.

より具体的には、選択したPMVとPMV候補の関係により、符号化対象MVの存在可能領域が限定されるという性質を用いていないため効率が低下していた。   More specifically, the efficiency is reduced because the relationship between the selected PMV and the PMV candidate does not use the property that the region where the encoding target MV can exist is limited.

さらに、非特許文献1のMV符号化においては、PMVとMVとの差分の絶対値であるMVD絶対値については適応的な確率を用いる算術符号化により効率的に符号化されるが、MV符号等、MVD絶対値以外の部分の符号化については固定的な確率を用いるために効率的な符号化が行われなかった。   Furthermore, in the MV coding of Non-Patent Document 1, the MVD absolute value that is the absolute value of the difference between PMV and MV is efficiently coded by arithmetic coding using an adaptive probability. As for the encoding of portions other than the MVD absolute value, etc., since a fixed probability is used, efficient encoding has not been performed.

一方、非特許文献2のMV符号化においては、MVD絶対値を用いないため、MVの存在確率に応じて符号化することができるが、予め分布関数の特性を決定するパラメータ(例えば、一般化ガウス関数の標準偏差および形状パラメータ)を算出しておく必要があるため、非特許文献2のMV符号化を任意の画像に適応することは困難であった。また、累積分布関数の値を繰り返し計算する必要があるため非特許文献2に記載されているテーブル参照を用いても演算量が大きいという課題があった。また、MVD絶対値の大きさは空間的な相関が高い傾向にあるが、MVD絶対値を分離していないため、このような傾向を利用することが困難であった。   On the other hand, in the MV encoding of Non-Patent Document 2, since the MVD absolute value is not used, encoding can be performed according to the existence probability of MV, but a parameter (for example, generalization) that determines characteristics of the distribution function in advance. Since it is necessary to calculate the standard deviation and shape parameters of the Gaussian function, it is difficult to apply the MV encoding of Non-Patent Document 2 to an arbitrary image. Further, since it is necessary to repeatedly calculate the value of the cumulative distribution function, there is a problem that the amount of calculation is large even if the table reference described in Non-Patent Document 2 is used. Moreover, although the magnitude of the MVD absolute value tends to have a high spatial correlation, it is difficult to use such a tendency because the MVD absolute value is not separated.

上記課題を解決するために、本発明は次の特徴を備えている。すなわち、
本発明の符号化装置は、所定のデータの符号化に際し、既に符号化済みのデータから予測データを生成し、前記前記所定のデータと前記予測データとの差分絶対値を符号化する差分絶対値符号化部と、前記差分絶対値と前記予測データとからデータ候補を算出するデータ候補算出部と、データ候補算出部で算出されたデータ候補の数が2以上である場合に、前記データ候補毎に異なるフラグを設定し、各データ候補に対して設定されたフラグを符号化するデータ候補特定フラグ符号化部と、を備えていることを特徴とする。
In order to solve the above problems, the present invention has the following features. That is,
The encoding apparatus according to the present invention generates a prediction data from already encoded data and encodes a difference absolute value between the predetermined data and the prediction data when encoding the predetermined data. When the number of data candidates calculated by the encoding unit, the data candidate calculation unit calculating the data candidate from the difference absolute value and the prediction data, and the data candidate calculation unit is 2 or more, for each data candidate And a data candidate specifying flag encoding unit that encodes the flag set for each data candidate.

本発明の符号化装置は、所定のデータの符号化に際し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から符号化に用いる予測データを選択する予測データ決定部と、前記所定のデータと前記予測データとの差分絶対値を符号化する差分絶対値符号化部と、前記差分絶対値と前記予測データからデータ候補を算出するデータ候補算出部と、前記予測データと前記予測データ候補から、前記差分絶対値と前記予測データから算出されるデータ候補の有効性を判定するデータ候補判定部と、を備え、データ候補判定部で有効とされたデータ候補の数が2以上である場合に、前記データ候補を特定するフラグを符号化する、データ候補特定フラグ符号化部を備えることを特徴とする。   The encoding apparatus of the present invention generates a plurality of prediction data candidates from already encoded data when encoding predetermined data, and selects prediction data to be used for encoding from the prediction data candidates A determination unit; a difference absolute value encoding unit that encodes a difference absolute value between the predetermined data and the prediction data; a data candidate calculation unit that calculates a data candidate from the difference absolute value and the prediction data; A data candidate determination unit that determines the validity of the data candidate calculated from the absolute value of the difference and the prediction data from the prediction data and the prediction data candidate, and the data candidate that has been validated by the data candidate determination unit A data candidate specifying flag encoding unit is provided that encodes a flag that specifies the data candidate when the number is two or more.

本発明の符号化装置は、所定のデータの符号化に際し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から符号化に用いる予測データを選択する予測データ決定部と、前記所定のデータと前記予測データとの差分絶対値をシンボル列とするとともに該シンボル列を算術符号化することにより、前記差分絶対値を符号化する差分絶対値符号化部と、を備え、差分絶対値符号化部は、前記シンボル列を算術符号化するために用いる各シンボルの出現確率を、前記予測データ決定部が選択した予測データに応じて変更することを特徴とする。   The encoding apparatus of the present invention generates a plurality of prediction data candidates from already encoded data when encoding predetermined data, and selects prediction data to be used for encoding from the prediction data candidates A determination unit, and a difference absolute value encoding unit that encodes the difference absolute value by using the difference absolute value between the predetermined data and the prediction data as a symbol string and arithmetically encoding the symbol string; The difference absolute value encoding unit changes the appearance probability of each symbol used for arithmetic encoding of the symbol string according to the prediction data selected by the prediction data determination unit.

また、本発明の復号装置は、所定のデータの復号に際し、符号化されている差分絶対値を復号する差分絶対値復号部と、既に符号化済みのデータから予測データを生成し、前記差分絶対値と前記予測データとからデータ候補を算出するデータ候補算出部と、前記データ候補算出部で生成されたデータ候補の数が2以上である場合に、各データ候補に対してデータ候補毎に異なる値が設定されたフラグを復号するデータ候補特定フラグ復号部と、を備えていることを特徴とする。   The decoding apparatus of the present invention, when decoding predetermined data, generates a difference absolute value decoding unit that decodes an encoded difference absolute value, prediction data from already encoded data, and the difference absolute value When the number of data candidates generated by the data candidate calculation unit and the data candidate calculation unit that calculates data candidates from the value and the prediction data is two or more, each data candidate differs for each data candidate A data candidate specifying flag decoding unit that decodes a flag for which a value is set.

本発明の復号装置は、所定のデータの復号に際し、符号化されている差分絶対値を復号し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から符号化に用いる予測データを選択する予測データ決定部と、前記予測データと前記予測データ候補から、前記差分絶対値と前記予測データから算出されるデータ候補の有効性を判定するデータ候補判定部と、を備え、前記データ候補判定部で有効とされたデータ候補の数が2以上である場合に、前記データ候補を特定するフラグを復号する、データ候補特定フラグ復号部を備えることを特徴とする。   When decoding predetermined data, the decoding device of the present invention decodes an encoded difference absolute value, generates a plurality of prediction data candidates from already encoded data, and generates a code from among the prediction data candidates. A prediction data determination unit that selects prediction data to be used for conversion, a data candidate determination unit that determines the validity of the data candidate calculated from the absolute value of the difference and the prediction data from the prediction data and the prediction data candidate, And a data candidate specifying flag decoding unit for decoding a flag for specifying the data candidate when the number of data candidates validated by the data candidate determining unit is 2 or more.

本発明の復号装置は、所定のデータの復号に際し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から復号に用いる予測データを選択する予測データ決定部と、前記所定のデータと前記予測データとの差分絶対値であるシンボル列を算術復号することにより、前記差分絶対値を復号する差分絶対値復号部と、を備え、前記差分絶対値復号部は、前記シンボル列を復号するために用いる各シンボルの出現確率を、前記予測データ決定部が選択した予測データに応じて変更することを特徴とする。   A decoding apparatus according to the present invention, when decoding predetermined data, generates a plurality of prediction data candidates from already encoded data, and selects a prediction data to be used for decoding from the prediction data candidates; A difference absolute value decoding unit that decodes the difference absolute value by arithmetically decoding a symbol string that is a difference absolute value between the predetermined data and the prediction data, and the difference absolute value decoding unit includes: The appearance probability of each symbol used for decoding the symbol string is changed according to the prediction data selected by the prediction data determination unit.

複数の予測動きベクトル候補からどの予測動きベクトルを選択したかの情報を用いて、動きベクトルの存在可能領域を限定した上で、その限定を利用して動きベクトルを符号化もしくは復号することにより、符号化データ中の動きベクトルの符号量を削減することができる。動きベクトルの符号量を削減することで、動画像符号化における符号化効率が向上する。   By using information on which prediction motion vector is selected from a plurality of motion vector predictor candidates, and limiting the motion vector existence possible area, by encoding or decoding the motion vector using the limitation, It is possible to reduce the code amount of the motion vector in the encoded data. By reducing the code amount of the motion vector, the coding efficiency in moving picture coding is improved.

本発明の第1の実施形態の動画像符号化装置100のブロック図である。1 is a block diagram of a video encoding apparatus 100 according to a first embodiment of the present invention. 本発明の第2の実施形態の動画像復号装置200のブロック図である。It is a block diagram of the moving image decoding apparatus 200 of the 2nd Embodiment of this invention. 本発明の第1の実施形態の動きベクトル符号化部111のブロック図である。It is a block diagram of the motion vector encoding part 111 of the 1st Embodiment of this invention. 本発明の第2の実施形態の動きベクトル復号部211のブロック図である。It is a block diagram of the motion vector decoding part 211 of the 2nd Embodiment of this invention. 本発明の第1の実施形態によるMVフラグ決定部1115のブロック図である。It is a block diagram of the MV flag determination part 1115 by the 1st Embodiment of this invention. 本発明の第2の実施形態によるMV選択部2115のブロック図である。It is a block diagram of the MV selection part 2115 by the 2nd Embodiment of this invention. 本発明の第1、第2の実施形態によるMV候補算出部5001の動作フローを示す図である。It is a figure which shows the operation | movement flow of the MV candidate calculation part 5001 by the 1st, 2nd embodiment of this invention. 本発明の第1、第2の実施形態によるMV候補判定部5002の動作フローを示す図である。It is a figure which shows the operation | movement flow of the MV candidate determination part 5002 by the 1st, 2nd embodiment of this invention. 本発明の第1の実施形態によるMVインデックス決定部5003の動作フローを示す図である。It is a figure which shows the operation | movement flow of the MV index determination part 5003 by the 1st Embodiment of this invention. 本発明の予測動きベクトルを説明する図である。It is a figure explaining the prediction motion vector of this invention. 本発明のMVの存在可能領域の例を説明する図である。It is a figure explaining the example of the possible area | region of MV of this invention. 本発明のMVの存在可能領域の別の例を説明する図である。It is a figure explaining another example of the possible area | region of MV of this invention. 本発明のMVの存在可能領域の別の例を説明する図である。It is a figure explaining another example of the possible area | region of MV of this invention. 本発明のMVの存在可能領域とMV候補の関係を説明する図である。It is a figure explaining the relationship between the MV existence possible area | region of this invention, and an MV candidate. 本発明のMVの符号化データの構成を示す図である。It is a figure which shows the structure of the encoding data of MV of this invention. 従来のMVの符号化データの構成を示す図である。It is a figure which shows the structure of the encoding data of the conventional MV. 本発明の第3の実施形態の動画像符号化装置100’のブロック図である。It is a block diagram of the moving image encoder 100 'of the 3rd Embodiment of this invention. 本発明の第3の実施形態の動きベクトル符号化部111’のブロック図である。It is a block diagram of the motion vector encoding part 111 'of the 3rd Embodiment of this invention. 本発明の第3の実施形態の動画像符号化装置を構成する要部のブロック図である。(a)は本発明の第3の実施形態によるMVフラグ決定部1115’を示しており、(b)はMV候補ソート部5004を示している。It is a block diagram of the principal part which comprises the moving image encoder of the 3rd Embodiment of this invention. (A) shows the MV flag determination unit 1115 ′ according to the third embodiment of the present invention, and (b) shows the MV candidate sorting unit 5004. 本発明の第4の実施形態の動画像復号装置200’のブロック図である。It is a block diagram of the moving image decoding apparatus 200 'of the 4th Embodiment of this invention. 本発明の第4の実施形態の動きベクトル復号部211’のブロック図である。It is a block diagram of the motion vector decoding part 211 'of the 4th Embodiment of this invention. 本発明の第4の実施形態によるMV選択部2115’のブロック図である。It is a block diagram of MV selection part 2115 'by the 4th Embodiment of this invention. 本発明のMVの符号化データの構成を示す別の図である。It is another figure which shows the structure of the encoding data of MV of this invention. 本発明の第3の実施形態を示すものであり、各MVインデックスに割り当てる2値データの値をどのように決定するかを示す模式図である。(a)は、PMV候補と選択されやすいMV候補との関係を模式的に示しており、(b)は、算術符号化されるMVインデックスの値とする2値データの例を示している。It is a schematic diagram which shows the 3rd Embodiment of this invention and shows how the value of the binary data allocated to each MV index is determined. (A) schematically shows a relationship between a PMV candidate and an easily selectable MV candidate, and (b) shows an example of binary data used as a value of an MV index to be arithmetically encoded. 本発明の第5の実施形態の動画像符号化装置100”のブロック図である。It is a block diagram of the moving image encoder 100 "of the 5th Embodiment of this invention. 本発明の第5の実施形態の可変長符号化部115’のブロック図である。It is a block diagram of the variable-length encoding part 115 'of the 5th Embodiment of this invention. 本発明の第5の実施形態によるMVD絶対値符号化部1152’のブロック図である。It is a block diagram of the MVD absolute value encoding part 1152 'by the 5th Embodiment of this invention.

以下、図面を参照して、本発明の各実施形態について説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

(動画像符号化装置)
図1は本発明の第1の実施形態の動画像符号化装置100の構成を示すブロック図である。動画像符号化装置100は、動きベクトル符号化部111、変換部112、量子化部113、可変長符号化部115、逆量子化部116、逆変換部117、フレームメモリ118、イントラ予測部121、インター予測部123、動き推定部124、予測モード決定部125、減算部101、加算部102から構成される。また図中の符号103は、フレームメモリ118から抽出された局所復号信号である。
(Moving picture encoding device)
FIG. 1 is a block diagram showing a configuration of a moving image encoding apparatus 100 according to the first embodiment of the present invention. The moving image encoding apparatus 100 includes a motion vector encoding unit 111, a conversion unit 112, a quantization unit 113, a variable length encoding unit 115, an inverse quantization unit 116, an inverse conversion unit 117, a frame memory 118, and an intra prediction unit 121. , An inter prediction unit 123, a motion estimation unit 124, a prediction mode determination unit 125, a subtraction unit 101, and an addition unit 102. Reference numeral 103 in the figure is a local decoded signal extracted from the frame memory 118.

動画像符号化装置100では、入力された画像データを複数のブロックに分割し、分割したブロック単位で符号化が行われる。ブロック単位の符号化では、予測モード決定部125の出力として得られた予測信号を用いて、減算部101で入力信号と予測信号との差分である残差信号が算出される。残差信号は変換部112でDCTなどにより変換係数に変換され、変換係数はさらに量子化部113で量子化される。量子化変換係数は一方では、可変長符号化部115に入力されて符号化される。量子化変換係数は他方では、逆量子化部116で逆量子化され、逆変換部117で逆DCT変換などがなされ、復号残差信号が得られる。復号残差信号は加算部102で予測信号と加算され、局所復号信号としてフレームメモリ118に格納される。   In the moving image encoding apparatus 100, input image data is divided into a plurality of blocks, and encoding is performed in units of the divided blocks. In block unit coding, a subtraction signal is calculated by the subtraction unit 101 using a prediction signal obtained as an output of the prediction mode determination unit 125. The residual signal is converted into a conversion coefficient by DCT or the like by the conversion unit 112, and the conversion coefficient is further quantized by the quantization unit 113. On the other hand, the quantized transform coefficient is input to the variable length encoding unit 115 and encoded. On the other hand, the quantized transform coefficient is inversely quantized by the inverse quantization unit 116 and subjected to inverse DCT transform or the like by the inverse transform unit 117 to obtain a decoded residual signal. The decoded residual signal is added to the prediction signal by the adding unit 102 and stored in the frame memory 118 as a local decoded signal.

(予測信号の生成)
予測信号の生成は、以下の手順で行われる。イントラ予測部121は入力信号の予測信号であるイントラ予測信号を生成し、イントラ予測信号と入力信号とから予測の良さを評価する符号化コストを算出する。イントラ予測信号と符号化コスト(イントラ予測コスト)は、予測モード決定部125に入力する。
(Prediction signal generation)
The generation of the prediction signal is performed according to the following procedure. The intra prediction unit 121 generates an intra prediction signal that is a prediction signal of the input signal, and calculates an encoding cost for evaluating good prediction from the intra prediction signal and the input signal. The intra prediction signal and the coding cost (intra prediction cost) are input to the prediction mode determination unit 125.

符号化コストには入力信号と予測信号との差分絶対値和を用いても良いし、差分二乗和を用いても良い。さらに、予測パラメータの符号量を考慮しても良い。   For the coding cost, the sum of absolute differences between the input signal and the prediction signal may be used, or the sum of squared differences may be used. Furthermore, the code amount of the prediction parameter may be taken into consideration.

インター予測部123は、動き推定部124から入力された、参照フレームを特定するためのフレームID、参照フレーム上の抽出位置を符号化対象ブロックからの相対位置として示す動きベクトル(MV)に応じてインター予測信号を生成する。生成されたインター予測信号は、動き推定部124及び予測モード決定部125に入力される。   The inter prediction unit 123 responds to the frame ID for specifying the reference frame and the motion vector (MV) indicating the extraction position on the reference frame as a relative position from the encoding target block, which are input from the motion estimation unit 124. An inter prediction signal is generated. The generated inter prediction signal is input to the motion estimation unit 124 and the prediction mode determination unit 125.

動き推定部124は、あらかじめ定められたフレームIDと、あらかじめ定められたMVの範囲内の予測パラメータに対し、インター予測部123で生成したインター予測信号を用いて、予測の良さを評価する符号化コストを算出する。   The motion estimation unit 124 uses the inter prediction signal generated by the inter prediction unit 123 for a predetermined frame ID and a prediction parameter within a predetermined MV range, and performs encoding to evaluate the goodness of prediction. Calculate the cost.

そして、動き推定部124は、前述の予測パラメータの中で、算出された符号化コストを最小化する予測パラメータとそのときのコスト(インター予測コスト)を予測モード決定部125に入力する。   Then, the motion estimation unit 124 inputs, to the prediction mode determination unit 125, a prediction parameter that minimizes the calculated coding cost and the cost (inter prediction cost) among the prediction parameters described above.

予測モード決定部125では、イントラ予測コストとインター予測コストを比較し、コストの小さい方の予測モードを選択する。選択した予測モードと予測パラメータは可変長符号化部115に入力される。また、選択した予測モードに対応する予測信号は減算部101及び加算部102に入力される。   The prediction mode determination unit 125 compares the intra prediction cost and the inter prediction cost, and selects the prediction mode with the smaller cost. The selected prediction mode and prediction parameter are input to the variable length coding unit 115. In addition, the prediction signal corresponding to the selected prediction mode is input to the subtraction unit 101 and the addition unit 102.

(可変長符号化部115)
可変長符号化部115は、量子化変換係数を符号化するだけでなく、予測モード決定部125から出力される予測モードと予測パラメータを符号化する。予測モードがインター予測の場合には予測パラメータのうちフレームIDが可変長符号化部115で符号化される。MVは動きベクトル符号化部111で符号化に必要な処理がなされ、可変長符号化部115で符号化データとして符号化される。
(Variable length encoding unit 115)
The variable length coding unit 115 codes not only the quantized transform coefficient but also the prediction mode and the prediction parameter output from the prediction mode determination unit 125. When the prediction mode is inter prediction, the frame ID of the prediction parameters is encoded by the variable length encoding unit 115. The MV is subjected to processing necessary for encoding by the motion vector encoding unit 111, and is encoded as encoded data by the variable length encoding unit 115.

(動きベクトル符号化部111)
図3に示すとおり、動きベクトル符号化部111は、MV格納部1111、PMV候補算出部1112、PMV決定部1113、MVD算出部1114、MVフラグ決定部1115から構成される。図中の符号301はPMV候補およびPMV候補数を示し、302は、PMVを示す。
(Motion vector encoding unit 111)
As shown in FIG. 3, the motion vector encoding unit 111 includes an MV storage unit 1111, a PMV candidate calculation unit 1112, a PMV determination unit 1113, an MVD calculation unit 1114, and an MV flag determination unit 1115. Reference numeral 301 in the figure indicates a PMV candidate and the number of PMV candidates, and 302 indicates a PMV.

MV格納部1111は、動きベクトル符号化部111に入力されたMVを格納する。PMV候補算出部1112は、MV格納部1111に格納されたMVを参照して予測動きベクトル候補(PMV候補)を算出する。算出されたPMV候補およびPMV候補数は、PMV決定部1113及びMVフラグ決定部1115に入力される。またPMV候補数は、可変長符号化部115の内部に備えるPMVインデックス符号化部1151にも入力される。   The MV storage unit 1111 stores the MV input to the motion vector encoding unit 111. The PMV candidate calculation unit 1112 calculates a motion vector predictor candidate (PMV candidate) with reference to the MV stored in the MV storage unit 1111. The calculated PMV candidates and the number of PMV candidates are input to the PMV determination unit 1113 and the MV flag determination unit 1115. The number of PMV candidates is also input to a PMV index encoding unit 1151 provided in the variable length encoding unit 115.

PMV決定部1113では、MVとPMV候補、PMV候補数を入力とし、PMV候補のうちで、MVとPMV候補とから算出されるコスト関数PMVCOST(MV,PMV)を最小化するPMV候補をPMVとして選択する。選択されたPMVを特定するためのフラグ(PMVインデックス)はPMVインデックス符号化部1151に入力され、PMVインデックス符号化部1151では、PMV候補数をもとにPMVインデックスが符号化される(後述)。選択されたPMVは、MVD算出部1114及びMVフラグ決定部1115に入力される。   The PMV determination unit 1113 receives the MV, the PMV candidates, and the number of PMV candidates. Among the PMV candidates, the PMV candidate that minimizes the cost function PMVCOST (MV, PMV) calculated from the MV and the PMV candidates is used as the PMV. select. A flag (PMV index) for specifying the selected PMV is input to the PMV index encoding unit 1151, and the PMV index encoding unit 1151 encodes the PMV index based on the number of PMV candidates (described later). . The selected PMV is input to the MVD calculation unit 1114 and the MV flag determination unit 1115.

MVD算出部1114は、入力されたMVとPMVとの差分(MVD)の絶対値(MVD絶対値)を算出し、可変長符号化部115内のMVD絶対値符号化部1152及びMVフラグ決定部1115に入力する。MVD絶対値符号化部1152では、MVD絶対値が符号化される。   The MVD calculation unit 1114 calculates the absolute value (MVD absolute value) of the difference (MVD) between the input MV and PMV, and the MVD absolute value encoding unit 1152 and the MV flag determination unit in the variable length encoding unit 115. 1115 is entered. The MVD absolute value encoding unit 1152 encodes the MVD absolute value.

MVフラグ決定部1115では、入力されたMV、PMV、PMV候補、およびPMV候補数から、MV候補およびMV候補数を算出し、さらに算出したMV候補の中からMVを特定するためのフラグ(MVインデックス)を決定する。MV候補数とMVインデックスは可変長符号化部115内のMVインデックス符号化部1153に入力される。MVインデックス符号化部1153では、MV候補数をもとにMVインデックスが符号化される。   The MV flag determination unit 1115 calculates the MV candidate and the number of MV candidates from the input MV, PMV, PMV candidate, and the number of PMV candidates, and further specifies a flag (MV for specifying the MV from the calculated MV candidates. Index). The number of MV candidates and the MV index are input to the MV index encoding unit 1153 in the variable length encoding unit 115. The MV index encoding unit 1153 encodes the MV index based on the number of MV candidates.

(PMVインデックス及びMVインデックスの符号化)
PMVインデックス及びMVインデックスは、各々、候補数に応じて符号化が行われる。
(Encoding of PMV index and MV index)
The PMV index and the MV index are each encoded according to the number of candidates.

具体的には、候補数が1の場合にはインデックスは符号化しない。候補数が2の場合には、2進数で“0”もしくは“1”を符号化する。候補数が3の場合には、“0”、“10”、“11”のいずれかを符号化する。候補数が4の場合には、“00”、“01”、“10”、“11”のいずれかを符号化する。各候補の選択される割合に偏りがある場合には、候補数が4の場合に、“0”、“10”、“110”、“111”のいずれかを符号化するようにしても良い。2進数の符号化は、前述の値をそのまま符号化データとする固定長符号を用いても良いが、0と1の発生確率を適応的に変更する算術符号を用いればより好適である。   Specifically, the index is not encoded when the number of candidates is 1. When the number of candidates is 2, “0” or “1” is encoded in binary. When the number of candidates is 3, “0”, “10”, or “11” is encoded. When the number of candidates is 4, one of “00”, “01”, “10”, and “11” is encoded. If the selection ratio of each candidate is biased, when the number of candidates is 4, any one of “0”, “10”, “110”, and “111” may be encoded. . For binary encoding, a fixed-length code having the above-described value as encoded data as it is may be used, but it is more preferable to use an arithmetic code that adaptively changes the occurrence probability of 0 and 1.

以下、PMV候補の算出方法、関数PMVCOSTを説明し、本発明のポイントであるMVの存在可能領域について説明する。最後にMVフラグ決定部1115の詳細を説明する。   Hereinafter, the PMV candidate calculation method and the function PMVCOST will be described, and the MV existence area, which is the point of the present invention, will be described. Finally, details of the MV flag determination unit 1115 will be described.

(PMV候補の算出方法)
図10は、PMV候補の算出方法を説明するための図である。符号化対象ブロックの左、上、右上に隣接するブロックのMVを各々mv_a、mv_b、mv_cと表現する。また、符号化対象ブロックと参照画像上で空間的に同じ位置のブロックのMVをmv_colと表現する。また、空間的に隣接するブロックのMVの中央値をmv_medと表現する。具体的には、mv_a、mv_b、mv_cのX成分、Y成分毎に中央値をとることで算出する。
(PMV candidate calculation method)
FIG. 10 is a diagram for explaining a PMV candidate calculation method. The MVs of blocks adjacent to the left, top, and top right of the encoding target block are expressed as mv_a, mv_b, and mv_c, respectively. In addition, the MV of the block at the same spatial position on the encoding target block and the reference image is expressed as mv_col. In addition, the median value of MVs of spatially adjacent blocks is expressed as mv_med. Specifically, calculation is performed by taking the median value for each of the X component and Y component of mv_a, mv_b, and mv_c.

PMV候補としては、mv_medとmv_aとを用いるか、もしくはmv_medとmv_colとを用いることが好適であるが、本発明のPMV候補は上記2通りに限定するものではなく、PMV候補数及びPMV候補として他の値を用いることもできる。例えば、PMV候補算出部1112はmv_med、mv_a、mv_colの3つをPMV候補としても良い。   As the PMV candidates, it is preferable to use mv_med and mv_a, or mv_med and mv_col. However, the PMV candidates of the present invention are not limited to the above two types, and the number of PMV candidates and PMV candidates are as follows. Other values can also be used. For example, the PMV candidate calculation unit 1112 may use mv_med, mv_a, and mv_col as PMV candidates.

(関数PMVCOST)
関数PMVCOST(MV、PMV)は、MVとPMVを入力し、MVとPMVとの距離に相当するコストを算出する関数である。PMVを用いてMVを符号化する場合、MVに距離が近いPMVを選択する方がMVの符号量を減らすことができる。関数PMVCOSTはこの距離を算出するものである。
(Function PMVCOST)
The function PMVCOST (MV, PMV) is a function that inputs MV and PMV and calculates a cost corresponding to the distance between MV and PMV. When encoding MV using PMV, the code amount of MV can be reduced by selecting PMV whose distance is close to MV. The function PMVCOST calculates this distance.

PMVCOSTは、MVとPMVとの差分絶対値であるMVD絶対値から算出される関数とする。すなわち、任意の関数F、Gを用いて、
PMVCOST=F(|MV_X−PMV_X|)+G(|MV_Y−PMV_Y|)
で表現できる関数とする。ここで||は絶対値を示す記号である。この様な関数としてコストを定義することにより、MVとPMVが得られない場合でも、MVとPMVとの差分絶対値であるMVD絶対値が得られればコストを算出することができる。
PMVCOST is a function calculated from an MVD absolute value that is a difference absolute value between MV and PMV. That is, using arbitrary functions F and G,
PMVCOST = F (| MV_X−PMV_X |) + G (| MV_Y−PMV_Y |)
A function that can be expressed as Here, || is a symbol indicating an absolute value. By defining the cost as such a function, even if MV and PMV cannot be obtained, the cost can be calculated if an MVD absolute value that is a difference absolute value between MV and PMV is obtained.

例えば、市街値距離
PMVCOST=|MV_X−PMV_X|+|MV_Y−PMV_Y|
あるいは、ユークリッド距離の2乗
PMVCOST=|MV_X−PMV_X|^2+|MV_Y−PMV_Y|^2
を距離として用いることができる。
For example, city value distance PMVCOST = | MV_X−PMV_X | + | MV_Y−PMV_Y |
Alternatively, the square of the Euclidean distance PMVCOST = | MV_X−PMV_X | ^ 2 + | MV_Y−PMV_Y | ^ 2
Can be used as a distance.

また、他の距離として、MVの符号量を考慮したコスト関数が考えられる。より具体的には、
PMVCOST=R(|MV_X−PMV_X|)+R(|MV_Y−PMV_Y|)により算出する。ここでR(X)はXとしてMVの差分絶対値を入力し、その符号量もしくは符号量に相当する量を算出する関数である。
As another distance, a cost function considering the MV code amount can be considered. More specifically,
PMVCOST = R (| MV_X−PMV_X |) + R (| MV_Y−PMV_Y |). Here, R (X) is a function for inputting an absolute value of the MV as X and calculating a code amount or an amount corresponding to the code amount.

MVD絶対値(=X)の分布は多くの場合X=0の周りに集中する。この場合、符号量はXが大きくなるにつれてその増加度が小さくなるような関数R(X)となるような符号を用いることが好適である。そのため、R(X)としてLOG(X+1)を用いると良い。また、MVD絶対値Xが0である場合には正負を示すための符号化が不要であるため、MVD絶対値Xが0以外の場合よりも1ビット少なくMVDを符号化できる。この性質を考慮して、R(X)=1(Xが0の場合)、R(X)=X+2(Xが0以外の場合)を用いることも好適である。   The distribution of MVD absolute values (= X) is often concentrated around X = 0. In this case, it is preferable to use a code such that the code amount is a function R (X) that increases as X increases. Therefore, LOG (X + 1) is preferably used as R (X). Further, when the MVD absolute value X is 0, encoding for indicating positive / negative is unnecessary, and therefore, the MVD can be encoded by 1 bit less than when the MVD absolute value X is other than 0. In consideration of this property, it is also preferable to use R (X) = 1 (when X is 0) and R (X) = X + 2 (when X is other than 0).

(MVの存在可能領域)
図11は、PMV候補数が2の場合のMVの存在可能領域を説明する図である。PMV候補としてPMV候補算出部1112でPMV1とPMV2が算出され、PMV決定部1113でPMVとしてPMV1が選択された状態を示す。また、PMVCOSTには市街値距離を用いる。PMV決定部1113でPMV1が選択されたということは、PMVCOSTを距離として、MVとPMV1の距離が、MVとPMV2の距離と等しいか、より小さいことを意味する。すなわち、
PMVCOST(MV、PMV1) <= PMVCOST(MV、PMV2)
が成り立つ。よってMVの存在可能領域は上記領域(図11中の斜線領域)に限定される。
(Area where MV can exist)
FIG. 11 is a diagram for explaining the MV existence possible area when the number of PMV candidates is two. The PMV candidate calculation unit 1112 calculates PMV1 and PMV2 as PMV candidates, and the PMV determination unit 1113 indicates that PMV1 is selected as PMV. In addition, the city value distance is used for PMVCOST. The fact that PMV1 is selected by the PMV determination unit 1113 means that the distance between MV and PMV1 is equal to or smaller than the distance between MV and PMV2 with PMVCOST as the distance. That is,
PMVCOST (MV, PMV1) <= PMVCOST (MV, PMV2)
Holds. Therefore, the area where MV can exist is limited to the above-described area (shaded area in FIG. 11).

PMVCOSTが市街値距離の場合、MVの存在可能領域とそれ以外の領域とを分割する線は、PMV1とPMV2の垂直2等分線L1となる。   When PMVCOST is a city value distance, a line dividing the MV-existing area and the other area is a perpendicular bisector L1 of PMV1 and PMV2.

図12は、PMV候補数が3の場合のMVの存在可能領域を説明する図である。この場合もMVの存在可能領域(図12中の斜線領域)は、下記2つの式
PMVCOST(MV、PMV1) <= PMVCOST(MV、PMV2)
PMVCOST(MV、PMV1) <= PMVCOST(MV、PMV3)
の双方が成り立つ領域に限定される。このようにPMV候補の数がm個(mは1以上の整数)である場合、m−1個の不等式からなる連立方程式の解としてMVの存在可能領域は限定される。
FIG. 12 is a diagram for explaining a possible MV existence area when the number of PMV candidates is three. Also in this case, the MV can exist area (shaded area in FIG. 12) is expressed by the following two formulas PMVCOST (MV, PMV1) <= PMVCOST (MV, PMV2)
PMVCOST (MV, PMV1) <= PMVCOST (MV, PMV3)
It is limited to the area where both of the above hold. Thus, when the number of PMV candidates is m (m is an integer equal to or greater than 1), the MV existence region is limited as a solution of simultaneous equations composed of m-1 inequalities.

図13は、PMVCOSTが市街値距離ではない場合を示す図である。図に示すとおり、PMVCOSTが市街値距離ではない場合には、MVの存在可能領域とそれ以外の領域とを分割する線は曲線となる場合もある。また、図示しないが線は滑らかな曲線であるとは限らず、折れ線となることもある。   FIG. 13 is a diagram illustrating a case where PMVCOST is not a city value distance. As shown in the figure, when PMVCOST is not the city value distance, the line dividing the MV-existing region and the other region may be a curve. Although not shown, the line is not necessarily a smooth curve, and may be a broken line.

(MVフラグ決定部1115)
図5は、MVフラグ決定部1115の構成を示すブロック図である。MVフラグ決定部1115は、MV候補算出部5001、MV候補判定部5002、MVインデックス決定部5003から構成される。MVフラグ決定部1115では、PMV、PMVとMVとの差分絶対値(MVD絶対値)の情報が既知である。
(MV flag determination unit 1115)
FIG. 5 is a block diagram showing a configuration of the MV flag determination unit 1115. The MV flag determination unit 1115 includes an MV candidate calculation unit 5001, an MV candidate determination unit 5002, and an MV index determination unit 5003. In the MV flag determining unit 1115, information on the absolute value of the difference (MVD absolute value) between PMV and PMV and MV is known.

図14は、PMV候補数が2の場合(PMV1とPMV2)におけるMV候補とMVの存在可能領域との関係を示す図である。PMVとMVD絶対値のみの情報では、MV候補としては通常(MVD絶対値のX成分、Y成分がともに0以外の場合)、MV1からMV4の4つのMV候補が挙げられる。従ってPMVとMVD絶対値からMVを特定するためには4つのMV候補の中から1つを特定するためのMVインデックスが必要である。このとき、4通りのMV候補からMVを特定するために必要な符号量は2ビットとなる。   FIG. 14 is a diagram showing the relationship between MV candidates and MV existence possible areas when the number of PMV candidates is 2 (PMV1 and PMV2). In the information of only the PMV and the MVD absolute value, the MV candidates usually include four MV candidates from MV1 to MV4 (when both the X component and the Y component of the MVD absolute value are other than 0). Therefore, in order to specify the MV from the PMV and MVD absolute values, an MV index for specifying one of the four MV candidates is necessary. At this time, the code amount necessary for specifying the MV from the four MV candidates is 2 bits.

今、符号化されるPMVがPMV1の場合に、図11と同様にMVの存在可能領域を限定すると、図14においてはMV4はMVの存在可能領域から外れる。MVの存在可能領域外のMV候補を除外すると、有効なMV候補数は3になる。この場合、MVインデックスの符号化に必要な符号量は2ビット以内に減らすことができる。   If the PMV to be encoded is PMV1 and the MV existence area is limited as in FIG. 11, MV4 is out of the MV existence area in FIG. If the MV candidates outside the MV existable area are excluded, the number of valid MV candidates is 3. In this case, the code amount necessary for encoding the MV index can be reduced to within 2 bits.

以下、PMVとMVD絶対値とから定まるMV候補と、前述のMV候補の中でMVの存在可能領域内にあるMV候補と、を区別するために、前者を仮MV候補、後者をMV候補と呼ぶこととする。   Hereinafter, in order to distinguish between MV candidates determined from PMV and MVD absolute values and MV candidates in the MV existence area in the above-mentioned MV candidates, the former is a temporary MV candidate and the latter is an MV candidate. I will call it.

(MV候補算出部5001)
MV候補算出部5001は、PMVとMVD絶対値を入力とし、仮MV候補および仮MV候補の数を算出する。図7はMV候補算出部5001の動作フローを示すフローチャートである。MVD絶対値とPMVのX成分、Y成分は各々(mvd_x、mvd_y)、(pmv_x、pmv_y)と表現されるものとする。
(MV candidate calculation unit 5001)
The MV candidate calculation unit 5001 receives the PMV and the MVD absolute value as inputs, and calculates the temporary MV candidates and the number of temporary MV candidates. FIG. 7 is a flowchart showing an operation flow of the MV candidate calculation unit 5001. The X component and Y component of the MVD absolute value and PMV are expressed as (mvd_x, mvd_y) and (pmv_x, pmv_y), respectively.

S701 mvd_x==0かつmvd_y==0の場合にはS702に進み、そうでない場合にはS703に移行する。   S701 If mvd_x == 0 and mvd_y == 0, the process proceeds to S702, and if not, the process proceeds to S703.

S702 仮MV候補数nを1とし、仮MV候補tMV1を以下により算出する。   S702: The temporary MV candidate number n is set to 1, and the temporary MV candidate tMV1 is calculated as follows.

tMV1=(pmv_x、pmv_y)
S703 mvd_x==0の場合にはS704に進み、そうでない場合にはS705に移行する。
tMV1 = (pmv_x, pmv_y)
S703 If mvd_x == 0, the process proceeds to S704; otherwise, the process proceeds to S705.

S704 仮MV候補数nを2とし、仮MV候補tMV1、tMV2を以下により算出する。   S704: The temporary MV candidate number n is set to 2, and temporary MV candidates tMV1 and tMV2 are calculated as follows.

tMV1=(pmv_x、pmv_y+mvd_x)
tMV2=(pmv_x、pmv_y―mvd_x)
S705 mvd_y==0の場合にはS706に進み、そうでない場合にはS707に移行する。
tMV1 = (pmv_x, pmv_y + mvd_x)
tMV2 = (pmv_x, pmv_y−mvd_x)
S705 If mvd_y == 0, the process proceeds to S706, and if not, the process proceeds to S707.

S706 仮MV候補数nを2とし、仮MV候補tMV1、tMV2を以下により算出する。   S706: The number of temporary MV candidates n is 2, and temporary MV candidates tMV1 and tMV2 are calculated as follows.

tMV1=(pmv_x+mvd_x、pmv_y)
tMV2=(pmv_x―mvd_x、pmv_y)
S707 仮MV候補数nを4とし、仮MV候補tMV1、tMV2、tMV3、tMV4を以下により算出する。
tMV1 = (pmv_x + mvd_x, pmv_y)
tMV2 = (pmv_x−mvd_x, pmv_y)
S707: The number of temporary MV candidates n is 4, and the temporary MV candidates tMV1, tMV2, tMV3, and tMV4 are calculated as follows.

tMV1=(pmv_x+mvd_x、pmv_y+mvd_y)
tMV2=(pmv_x+mvd_x、pmv_y―mvd_y)
tMV3=(pmv_x―mvd_x、pmv_y+mvd_y)
tMV4=(pmv_x―mvd_x、pmv_y―mvd_y)
(MV候補判定部5002)
MV候補判定部5002は、PMV、仮MV候補、仮MV候補数、MVD絶対値を入力とし、仮MV候補がMVの存在可能領域にあるか否かの判定を行う。この判定により、MVの存在可能領域外にある仮MV候補を排除することで得られるMV候補とMV候補数をMVインデックス決定部5003に出力する。
tMV1 = (pmv_x + mvd_x, pmv_y + mvd_y)
tMV2 = (pmv_x + mvd_x, pmv_y−mvd_y)
tMV3 = (pmv_x−mvd_x, pmv_y + mvd_y)
tMV4 = (pmv_x−mvd_x, pmv_y−mvd_y)
(MV candidate determination unit 5002)
The MV candidate determination unit 5002 receives the PMV, the temporary MV candidates, the number of temporary MV candidates, and the MVD absolute value, and determines whether or not the temporary MV candidate is in the MV existence area. By this determination, the MV candidates and the number of MV candidates obtained by eliminating the temporary MV candidates outside the MV existence area are output to the MV index determination unit 5003.

図8は、MV候補判定部5002の動作フローを示すフローチャートである。   FIG. 8 is a flowchart showing an operation flow of the MV candidate determination unit 5002.

S801では、PMV決定部1113において用いたコスト関数PMVCOSTを用いてPMVとMVとの間の距離min_distを算出する。MV候補判定部5002にはMVを入力していないが、既に説明したように関数PMVCOSTはPMVとMVの差分絶対値であるMVD絶対値から算出可能である。   In step S <b> 801, the distance min_dist between PMV and MV is calculated using the cost function PMVCOST used in the PMV determination unit 1113. Although no MV is input to the MV candidate determination unit 5002, as described above, the function PMVCOST can be calculated from an MVD absolute value that is a difference absolute value between PMV and MV.

仮MV候補とPMV候補の距離は、仮MV候補がMVの存在可能領域にある場合、常にmin_dist以上になる。逆に、仮MV候補とPMV候補の距離がmin_dist未満になる場合、その仮PMV候補は、MV候補ではないとして排除することが可能である。   The distance between the temporary MV candidate and the PMV candidate is always greater than or equal to min_dist when the temporary MV candidate is in the MV existence possible area. Conversely, if the distance between the temporary MV candidate and the PMV candidate is less than min_dist, the temporary PMV candidate can be excluded as not being an MV candidate.

S802 MV候補インデックスを示す変数nnを1に初期化する。   S802: A variable nn indicating an MV candidate index is initialized to 1.

L801 仮MV候補インデックスを示す変数iをループ変数として、iが1から仮MV候補数nと等しくなるまでのn回だけL802からS806の間をループする。   L801 A variable i indicating a temporary MV candidate index is set as a loop variable, and a loop between L802 and S806 is performed n times until i becomes equal to the number of temporary MV candidates n.

L802 PMV候補インデックスを示す変数jをループ変数として、jが1からPMV候補数mと等しくなるまでのm回だけS803からS804の間をループする。   L802 A variable j indicating a PMV candidate index is set as a loop variable, and a loop between S803 and S804 is performed m times until j is equal to the number of PMV candidates m.

S803 仮MV候補インデックスiで示される仮MV候補tMViと、PMV候補インデックスjで示されるPMV候補PMVjとの間の距離dist_ijを、PMV決定部1113で用いたコスト関数PMVCOSTを用いて算出する。   S803: The distance dist_ij between the temporary MV candidate tMVi indicated by the temporary MV candidate index i and the PMV candidate PMVj indicated by the PMV candidate index j is calculated using the cost function PMVCOST used by the PMV determination unit 1113.

S804 dist_ijがmin_dist未満である場合、PMVインデックスを示す変数jのループ(L802のループ)を抜ける。そうではない場合にはL802のループを継続する。なお、dist_ijがmin_dist未満であるということは、仮MV候補tMViがMVの存在可能領域外にあることを意味する。   S804: When dist_ij is less than min_dist, exit the loop of variable j indicating the PMV index (L802 loop). If not, the L802 loop is continued. Note that dist_ij is less than min_dist means that the provisional MV candidate tMVi is outside the MV existence region.

S805 仮MV候補tMViは、MVの存在可能領域にあると判断されたため、MV候補fMVに追加する。具体的には、fMVnnにtMViを代入する。   S805 Since it is determined that the temporary MV candidate tMVi is in the MV existence possible area, it is added to the MV candidate fMV. Specifically, tMVi is substituted for fMVnn.

S806 MV候補インデックスを示す変数nnを1だけインクリメントする。
以上の動作フローにより、MV候補数nnとMV候補fMVを得る。
S806: The variable nn indicating the MV candidate index is incremented by 1.
The number of MV candidates nn and the MV candidate fMV are obtained by the above operation flow.

なお、MV候補算出部5001とMV候補判定部5002を一体とすることにより、全ての仮MV候補を算出することなく、MV候補を算出することも可能である。この場合、仮MV候補の1つ1つを算出する度にL802のループによる判定を行う。   Note that, by integrating the MV candidate calculation unit 5001 and the MV candidate determination unit 5002, it is possible to calculate MV candidates without calculating all the temporary MV candidates. In this case, every time a temporary MV candidate is calculated, the determination by the loop of L802 is performed.

(MVインデックス決定部5003)
MVインデックス決定部5003は、入力されたMV(符号化対象ブロックのMV)とMV候補、MV候補数から、MVがMV候補のうちのいずれであるかを判定し、それを示すMVインデックスを決定する。
(MV index determination unit 5003)
The MV index determining unit 5003 determines whether the MV is one of the MV candidates from the input MV (MV of the encoding target block), the MV candidates, and the number of MV candidates, and determines an MV index indicating the MV index. To do.

図9はMVインデックス決定部5003の動作フローを示すフローチャートである。   FIG. 9 is a flowchart showing an operation flow of the MV index determination unit 5003.

L901 MV候補のインデックスを示すループ変数iについて1からMV候補数nnまで、S901をループする。   L901 S901 is looped from 1 to the number of MV candidates nn for the loop variable i indicating the index of the MV candidate.

S901 MV候補fMViがMVと一致するかを判定する。一致する場合にはS902に進む。一致しない場合はループの終了条件までループを継続する。   S901: It is determined whether the MV candidate fMVi matches MV. If they match, the process proceeds to S902. If they do not match, the loop continues until the loop end condition.

S902 MVインデックスiiにiを代入する。   S902 Assign i to the MV index ii.

以上の動作フローにより、MVインデックスiiを得る。   The MV index ii is obtained by the above operation flow.

図15は、本発明のMVの符号化データの構成を示す図である。図15に示すように、MVはPMVを示すPMVインデックス、PMVとMVとの差分の絶対値(MVD絶対値)、及びMVインデックスに分けて符号化される。なお、MVD絶対値はX成分、Y成分の順に符号化される。なお、PMV候補数が1の場合にはPMVインデックスは符号化されず、MV候補数が1の場合にはMVインデックスは符号化されない。   FIG. 15 is a diagram showing a structure of MV encoded data according to the present invention. As shown in FIG. 15, the MV is encoded by being divided into a PMV index indicating PMV, an absolute value of a difference between PMV and MV (MVD absolute value), and an MV index. The MVD absolute value is encoded in the order of the X component and the Y component. When the number of PMV candidates is 1, the PMV index is not encoded. When the number of MV candidates is 1, the MV index is not encoded.

以上、説明した動画像符号化装置100では、MVの予測値として複数のPMV候補を算出し、MVの符号化に適したPMVを選択し符号化する動きベクトル符号化方法において、PMV候補とPMVを用いてMVの存在可能領域を限定することでMVを効率的に符号化できる。   As described above, in the motion picture encoding apparatus 100 described above, in the motion vector encoding method for calculating a plurality of PMV candidates as MV prediction values and selecting and encoding a PMV suitable for MV encoding, the PMV candidate and the PMV The MV can be efficiently encoded by limiting the MV existence possible area using

より具体的には、MVとPMVの差分絶対値(MVD絶対値)を符号化した上で、PMVとMVD絶対値から定まる仮MV候補から、MVの存在可能領域外にあるものを排除することでMV候補を限定し、限定したMV候補からMVを一意に特定するMVインデックスを符号化する。   More specifically, after encoding the difference absolute value (MVD absolute value) between MV and PMV, the temporary MV candidates determined from the PMV and MVD absolute values are excluded from the MV existing area. The MV candidates are limited by and an MV index that uniquely identifies the MV from the limited MV candidates is encoded.

MVの存在可能領域を限定することにより、MV候補からMVを特定するためのMVインデックスの符号量を削減することができる。   By limiting the MV existence area, it is possible to reduce the code amount of the MV index for identifying the MV from the MV candidates.

(復号装置)
図2は本発明の第2の実施形態の動画像復号装置200の構成を示すブロック図である。動画像復号装置200は、動きベクトル復号部211、可変長符号化復号部201、逆量子化部116、逆変換部117、フレームメモリ118、イントラ予測部121、インター予測部123、予測モード選択部225、加算部102から構成される。なお、図中の符号203は、予測パラメータのうちのフレームIDを意味する。
(Decryption device)
FIG. 2 is a block diagram showing the configuration of the moving picture decoding apparatus 200 according to the second embodiment of the present invention. The moving picture decoding apparatus 200 includes a motion vector decoding unit 211, a variable length coding decoding unit 201, an inverse quantization unit 116, an inverse transform unit 117, a frame memory 118, an intra prediction unit 121, an inter prediction unit 123, and a prediction mode selection unit. 225 and the addition unit 102. In addition, the code | symbol 203 in a figure means frame ID among prediction parameters.

動画像復号装置200も、動画像符号化装置100同様、入力された画像データを複数のブロックに分割し、分割したブロック単位で復号が行われる。ブロック単位の復号では、可変長符号化復号部201で、予測モード、量子化変換係数が復号される。   Similar to the moving image encoding apparatus 100, the moving image decoding apparatus 200 divides input image data into a plurality of blocks, and decoding is performed in units of divided blocks. In block unit decoding, the variable length coding / decoding unit 201 decodes the prediction mode and the quantized transform coefficient.

予測モードは、当該ブロックがイントラ予測であるかインター予測であるかを示すモードである。予測モードがインター予測の場合、予測パラメータであるフレームID及びMVを復号する。フレームIDは可変長符号化復号部201で復号される。MVは可変長符号化復号部201、および動きベクトル復号部211で復号処理がなされる。   The prediction mode is a mode indicating whether the block is intra prediction or inter prediction. When the prediction mode is inter prediction, the frame ID and MV which are prediction parameters are decoded. The frame ID is decoded by the variable length coding / decoding unit 201. The MV is decoded by the variable length coding / decoding unit 201 and the motion vector decoding unit 211.

イントラ予測部121およびインター予測部123は、フレームメモリ118に格納された復号済みの画像(再生画像)から、復号された予測パラメータを用いて、イントラ予測信号およびインター予測信号を生成する。生成された予測信号は予測モード選択部225に入力される。予測モード選択部225は、予測モードに対応する予測信号を選択し、加算部102に出力する。   The intra prediction unit 121 and the inter prediction unit 123 generate an intra prediction signal and an inter prediction signal from the decoded image (reproduced image) stored in the frame memory 118 using the decoded prediction parameter. The generated prediction signal is input to the prediction mode selection unit 225. The prediction mode selection unit 225 selects a prediction signal corresponding to the prediction mode and outputs it to the addition unit 102.

復号された量子化変換係数は、逆量子化部116で逆量子化され、逆変換部117で逆DCTなどの変換がなされて復号残差信号が加算部102に出力される。加算部102では、予測信号と復号残差信号が加算され局所復号信号が生成される。生成された局所復号信号はフレームメモリ118に出力される。フレームメモリ118に出力された再生画像は、イントラ予測部121およびインター予測部123で参照画像として用いられるとともに動画像復号装置200外に出力される。   The decoded quantized transform coefficient is inversely quantized by the inverse quantization unit 116, converted by the inverse transform unit 117, such as inverse DCT, and the decoded residual signal is output to the addition unit 102. Adder 102 adds the prediction signal and the decoded residual signal to generate a local decoded signal. The generated local decoded signal is output to the frame memory 118. The reproduced image output to the frame memory 118 is used as a reference image by the intra prediction unit 121 and the inter prediction unit 123 and is output to the outside of the video decoding device 200.

図4は、動きベクトル復号部211の構成を示すブロック図である。動きベクトル復号部211は、MV格納部1111、PMV候補算出部1112、PMV選択部2113、MV選択部2115から構成される。   FIG. 4 is a block diagram showing a configuration of the motion vector decoding unit 211. The motion vector decoding unit 211 includes an MV storage unit 1111, a PMV candidate calculation unit 1112, a PMV selection unit 2113, and an MV selection unit 2115.

MV格納部1111は、動きベクトル復号部211で復号したMVを格納する。PMV候補算出部1112はPMV候補を算出する。算出されたPMV候補およびPMV候補数はPMV選択部2113およびMV選択部2115に入力される。PMV候補数は可変長符号化復号部201内のPMVインデックス復号部2011に入力される。PMVインデックス復号部2011は、PMV候補数を用いてPMVインデックスを復号し、PMV選択部2113に入力する。PMV選択部2113は、PMV候補からPMVインデックスで示される候補を選択し、PMVとしてMV選択部2115に入力する。   The MV storage unit 1111 stores the MV decoded by the motion vector decoding unit 211. The PMV candidate calculation unit 1112 calculates a PMV candidate. The calculated PMV candidates and the number of PMV candidates are input to the PMV selection unit 2113 and the MV selection unit 2115. The number of PMV candidates is input to the PMV index decoding unit 2011 in the variable length coding / decoding unit 201. The PMV index decoding unit 2011 decodes the PMV index using the number of PMV candidates and inputs the PMV index to the PMV selection unit 2113. The PMV selection unit 2113 selects a candidate indicated by the PMV index from the PMV candidates, and inputs the candidate as the PMV to the MV selection unit 2115.

また、可変長符号化復号部201は、PMVインデックスに続き、内部のMVD絶対値復号部2012により、MVD絶対値を復号し、MV選択部2115に入力する。   Further, the variable length coding / decoding unit 201 decodes the MVD absolute value by the internal MVD absolute value decoding unit 2012 following the PMV index, and inputs the MVD absolute value to the MV selection unit 2115.

図6は、MV選択部2115の構成を示すブロック図である。MV選択部2115は、MV候補算出部5001、MV候補判定部5002、MV抽出部6004から構成される。MV候補算出部5001、MV候補判定部5002は、実施形態1で説明したため説明は省略するが、これら手段により、PMVとMVD絶対値から算出される仮MV候補のうち、PMVとPMV候補を用いて判定されるMVの存在可能領域にあるもの(=MV候補)が算出される。MV抽出部6004は、MV候補からMVインデックスで示される候補を選択することでMVを復号する。   FIG. 6 is a block diagram illustrating a configuration of the MV selection unit 2115. The MV selection unit 2115 includes an MV candidate calculation unit 5001, an MV candidate determination unit 5002, and an MV extraction unit 6004. The MV candidate calculation unit 5001 and the MV candidate determination unit 5002 have been described in the first embodiment and thus will not be described. However, among these provisional MV candidates calculated from PMV and MVD absolute values, PMV and PMV candidates are used. Are calculated in the possible MV existence area (= MV candidate). The MV extraction unit 6004 decodes the MV by selecting a candidate indicated by the MV index from the MV candidates.

以上、説明した動画像復号装置200では、MVの予測値として複数のPMV候補を算出し、MVの符号化に適したPMVを選択し復号に用いる動きベクトル復号方法において、PMV候補とPMVを用いてMVの存在可能領域を限定することで効率的に符号化されたMVを復号できる。   As described above, the moving picture decoding apparatus 200 calculates a plurality of PMV candidates as MV prediction values, selects a PMV suitable for MV encoding, and uses the PMV candidate and PMV in the motion vector decoding method used for decoding. Thus, the encoded MV can be efficiently decoded by limiting the MV existence area.

より具体的には、MVとPMVとの差分絶対値(MVD絶対値)を復号した上で、PMVとMVD絶対値とから定まる仮MV候補から、MVの存在可能領域外にあるものを排除することでMV候補を限定し、限定したMV候補からMVを特定するMVインデックスを復号することでMVを復号する。   More specifically, after the absolute difference value (MVD absolute value) between MV and PMV is decoded, the temporary MV candidates determined from the PMV and the MVD absolute value are excluded from the MV existence area. Thus, the MV candidates are limited, and the MV is decoded by decoding the MV index that identifies the MV from the limited MV candidates.

MVの存在可能領域を限定することにより、MV候補からMVを特定するために必要なMVインデックスの符号量を削減した符号化データからMVを復号できる。   By limiting the possible MV areas, it is possible to decode MVs from encoded data in which the code amount of the MV index necessary for specifying MVs from MV candidates is reduced.

(動画像符号化装置100’)
次に、本発明の第3の実施形態の動画像符号化装置100’について図17〜図19、図23を参照しつつ、以下に説明する。図23は、MVの符号化データの構成を示す図である。図23に示すように、MVの符号化データは「MVD」の部分と「MVD以外」の部分から構成されている。
(Moving picture encoding apparatus 100 ′)
Next, a moving picture coding apparatus 100 ′ according to a third embodiment of the present invention will be described below with reference to FIGS. 17 to 19 and FIG. FIG. 23 is a diagram illustrating a configuration of MV encoded data. As shown in FIG. 23, the MV encoded data is composed of “MVD” and “other than MVD”.

本実施形態の動画像符号化装置100’は、MV候補の出現確率を考慮して算術符号化することにより、MV候補の存在確率が高いものほどそのMV候補を特定するためのフラグであるMVインデックスの符号化後の符号長が短くなるという傾向を強め、出現確率を考慮しない場合よりMVインデックスの符号量を削減するものである。   The moving image encoding apparatus 100 ′ according to the present embodiment performs arithmetic encoding in consideration of the appearance probability of the MV candidate, so that the higher the existence probability of the MV candidate, the more the MV that is a flag for specifying the MV candidate. The tendency that the code length after index encoding becomes short is strengthened, and the code amount of the MV index is reduced as compared with the case where the appearance probability is not taken into consideration.

すなわち、本実施形態の動画像符号化装置100’は、第1の実施形態の動画像符号化装置100に比べて、図23の「MVD以外」の部分の符号量をさらに削減することにより、MV符号化の符号量をさらに削減することができる。そのために、本実施形態に係る動画像符号化装置100’は、MVの存在確率が高いと推定される順序にMV候補を並び替える動作を行う。   That is, the moving picture encoding apparatus 100 ′ of the present embodiment further reduces the code amount of the portion other than “MVD” in FIG. 23 compared to the moving picture encoding apparatus 100 of the first embodiment, The code amount of MV encoding can be further reduced. For this purpose, the moving picture coding apparatus 100 ′ according to the present embodiment performs an operation of rearranging the MV candidates in an order in which it is estimated that the existence probability of the MV is high.

図17は本発明の第3の実施形態の動画像符号化装置100’の構成を示すブロック図である。動画像符号化装置100’は、第1の実施形態の動画像符号化装置100と同様に、変換部112、量子化部113、可変長符号化部115、逆量子化部116、逆変換部117、フレームメモリ118、イントラ予測部121、インター予測部123、動き推定部124、予測モード決定部125、減算部101、加算部102を備えているが、動きベクトル符号化部111’の構成が第1の実施形態の動きベクトル符号化部111と異なっている。動きベクトル符号化部111’を除く他の部材は、第1の実施形態と同様の動作を行うので、これらの部材についての説明は省略し、動きベクトル符号化部111’について図18、図19を参照して説明していくことにする。   FIG. 17 is a block diagram showing a configuration of a moving image encoding apparatus 100 ′ according to the third embodiment of the present invention. Similar to the video encoding device 100 of the first embodiment, the video encoding device 100 ′ includes a transform unit 112, a quantization unit 113, a variable length coding unit 115, an inverse quantization unit 116, and an inverse transform unit. 117, a frame memory 118, an intra prediction unit 121, an inter prediction unit 123, a motion estimation unit 124, a prediction mode determination unit 125, a subtraction unit 101, and an addition unit 102, but the configuration of the motion vector encoding unit 111 ′ is This is different from the motion vector encoding unit 111 of the first embodiment. The other members excluding the motion vector encoding unit 111 ′ perform the same operations as those in the first embodiment, and thus description of these members is omitted, and the motion vector encoding unit 111 ′ is illustrated in FIGS. Will be described with reference to.

図18に示すとおり、動きベクトル符号化部111’は、動きベクトル符号化部111同様に、MV格納部1111、PMV候補算出部1112、PMV決定部1113、MVD算出部1114を備えているが、MVフラグ決定部1115’が第1の実施形態のMVフラグ決定部1115と異なっている。   As shown in FIG. 18, the motion vector encoding unit 111 ′ includes an MV storage unit 1111, a PMV candidate calculation unit 1112, a PMV determination unit 1113, and an MVD calculation unit 1114, like the motion vector encoding unit 111. The MV flag determination unit 1115 ′ is different from the MV flag determination unit 1115 of the first embodiment.

図19の(a)に示すように、MVフラグ決定部1115’には、MV候補算出部5001とMV候補判定部5002との間にMV候補ソート部5004が設けられている。MV候補ソート部5004は、図19の(b)に示すように、MV候補コスト算出部5004aとソート部5004bと、を備えている。   As shown in (a) of FIG. 19, the MV flag determining unit 1115 ′ is provided with an MV candidate sorting unit 5004 between the MV candidate calculating unit 5001 and the MV candidate determining unit 5002. The MV candidate sorting unit 5004 includes an MV candidate cost calculating unit 5004a and a sorting unit 5004b as shown in FIG.

なお、MV候補ソート部5004は、MV候補判定部5002の後に設ける構成としても良い。   Note that the MV candidate sorting unit 5004 may be provided after the MV candidate determination unit 5002.

MV候補ソート部5004では、MV候補算出部5001から、仮MV候補および仮MV候補の数を入力値として受け付ける。MV候補ソート部5004のMV候補コスト算出部5004aは、各仮MV候補について、その仮MV候補の座標値を入力としてMVCOSTと呼ぶ関数を適用することにより、その仮MV候補のコストを算出する。MVCOSTは、MV候補の出現確率が高いと推定されるほど、より大きな値(もしくはより小さな値)を与える関数であり様々な関数を適用することが可能である。具体的には、MV候補の座標値と各PMV候補(もしくはPMV)の座標値を入力として、仮MV候補とPMV候補との距離が大きくなるほどコストの値が大きくなるものが適当である。なお、そのような関数の具体例について後述することにする。   The MV candidate sorting unit 5004 receives the temporary MV candidates and the number of temporary MV candidates as input values from the MV candidate calculation unit 5001. The MV candidate cost calculation unit 5004a of the MV candidate sorting unit 5004 calculates the cost of the temporary MV candidate by applying a function called MVCOST to each temporary MV candidate with the coordinate value of the temporary MV candidate as an input. MVCOST is a function that gives a larger value (or smaller value) as the appearance probability of an MV candidate is higher, and various functions can be applied. Specifically, it is appropriate that the coordinate value of the MV candidate and the coordinate value of each PMV candidate (or PMV) are input and the cost value increases as the distance between the temporary MV candidate and the PMV candidate increases. A specific example of such a function will be described later.

そして、ソート部5004bはコストの小さい順に仮MV候補を並び変える。あるいは、ソート部5004bはコストの大きい順に仮MV候補を並び変えてもよい。   The sorting unit 5004b rearranges the temporary MV candidates in ascending order of cost. Alternatively, the sorting unit 5004b may rearrange the temporary MV candidates in descending order of cost.

MV候補判定部5002は、第1の実施形態と同様の方法で仮MV候補の中からMV候補を決定し、MV候補およびMV候補の数をMVインデックス決定部5003に出力する。   The MV candidate determination unit 5002 determines MV candidates from the temporary MV candidates by the same method as in the first embodiment, and outputs the MV candidates and the number of MV candidates to the MV index determination unit 5003.

MVインデックス決定部5003は、MV候補およびMV候補の数を受け付け、各MV候補に割り当てるMVインデックスの2値データの値を決定する。ここで、各MVインデックスに割り当てる2値データの値をどのように決定するかについて、図24を参照しつつ以下に説明する。   The MV index determination unit 5003 receives the MV candidates and the number of MV candidates, and determines the value of binary data of the MV index to be assigned to each MV candidate. Here, how to determine the value of binary data to be assigned to each MV index will be described below with reference to FIG.

図24の(a)は、PMV候補と選択されやすいMV候補との関係を示した模式図である。図24において、PMV0は、PMV決定部1113により選択されたPMVであることを示している。また、MV1〜MV4は、MV候補判定部5002から出力されたMV候補を示している。   FIG. 24A is a schematic diagram showing a relationship between a PMV candidate and an MV candidate that can be easily selected. In FIG. 24, PMV0 indicates that the PMV is selected by the PMV determination unit 1113. Further, MV1 to MV4 indicate MV candidates output from the MV candidate determination unit 5002.

一般に、MV候補のうち、選択されたPMV候補以外のPMV候補との距離が小さいものほど、MVに決定される傾向がある。MVインデックス決定部5003は、この傾向を利用して、MVインデックスの2値データの値を決定する。   In general, among MV candidates, the smaller the distance from a PMV candidate other than the selected PMV candidate, the more likely that the MV is determined. The MV index determination unit 5003 determines the value of the binary data of the MV index using this tendency.

すなわち、後述するように、算術符号化の際は、「0」に高い確率が割り当てられ、「1」に低い確率が割り当てられることとなるが、MVインデックス決定部5003は、MV候補ソート部5004でソートされた順(コストの小さい順)に、MV候補に「00」「01」「10」「11」を割り当てていく。この結果、図24の(b)に示すように、MV1に「00」、MV2に「01」、MV3に「10」、MV4に「11」が割り当てられることになる。   That is, as will be described later, when arithmetic coding is performed, a high probability is assigned to “0” and a low probability is assigned to “1”, but the MV index determination unit 5003 uses the MV candidate sorting unit 5004. “00”, “01”, “10”, and “11” are assigned to the MV candidates in the order sorted in the order (in ascending order of cost). As a result, as shown in FIG. 24B, “00” is assigned to MV1, “01” to MV2, “10” to MV3, and “11” to MV4.

そして、MVインデックス決定部5003は、決定されたMVインデックスをMVインデックス符号化部1153に出力する。そして、可変長符号化部115は、「0」および「1」に割り当てられた確率に基づいて、各MVインデックスを算術符号化する。   Then, the MV index determination unit 5003 outputs the determined MV index to the MV index encoding unit 1153. Then, the variable length encoding unit 115 arithmetically encodes each MV index based on the probabilities assigned to “0” and “1”.

従って、MVインデックスの符号語は、MV1の符号語の符号長が短くなり、MV4の符号語の符号長が長くなる傾向が強まる。結果として、実施形態1の場合より、MVインデックスの符号語の平均符号長が短くなり、符号量が少なくなることがわかる。なお、MVインデックス符号化部1153は、算術符号化するときに「0」「1」に割り当てる確率を適応的に変更するようにしてもよい。   Therefore, the code word of the MV index has a tendency that the code length of the code word of MV1 becomes short and the code length of the code word of MV4 becomes long. As a result, it can be seen that the average code length of the code word of the MV index becomes shorter and the code amount becomes smaller than in the case of the first embodiment. Note that the MV index encoding unit 1153 may adaptively change the probability assigned to “0” and “1” when performing arithmetic encoding.

また、可変長符号化部115は、固定長符号化を用いて、MV候補ソート部5004でソートされた順(コストの小さい順)に短い符号を割り当てても良い。例えば、「0」「10」「110」「111」を割り当てることで可能である。   In addition, the variable length coding unit 115 may assign a short code to the order sorted by the MV candidate sorting unit 5004 (the order from the lowest cost) using fixed length coding. For example, “0”, “10”, “110”, and “111” can be assigned.

このように、出現確率が高いMV候補に応じてMVインデックスを割り当てることにより2値化を行った際に、算術符号化される場合の「0」、「1」の確率に偏りを持たせる方法は、MV候補判定部5002を用いない場合にも適用できる。   As described above, when binarization is performed by assigning an MV index according to an MV candidate having a high appearance probability, a method of biasing the probability of “0” and “1” when arithmetic coding is performed. Is applicable even when the MV candidate determination unit 5002 is not used.

なお、MV候補判定部5002を用いる場合には、出現確率が高いMV候補に応じて符号化を行うことはさらに効率的になる。例えば、MV候補判定部5002によりMV候補の数が3となった場合、「0」、「10」、「11」のように、出現確率の高いMV候補に短い符号(もしくは算術符号の場合の2進数列)を割り当てることで符号量を低減することができる。   Note that when the MV candidate determination unit 5002 is used, it is more efficient to perform encoding according to an MV candidate having a high appearance probability. For example, when the number of MV candidates is 3 by the MV candidate determination unit 5002, a short code (or an arithmetic code in the case of an arithmetic code) such as “0”, “10”, and “11” has a high appearance probability. The amount of codes can be reduced by assigning a binary number sequence.

また、MV候補の数が3である場合のような、MV候補の数が2の整数乗でない場合には一般にMV候補に対応する符号もしくは2進数列は不等長になる。この場合、MV候補の出現確率に応じてMVインデックスを割り当てる当該処理の有効性が大きい。この特性を考慮して、最も効果の高い場合のみこの処理を適用する、すなわち、MV候補の数が特定の条件に合致した場合(例えば2の整数乗ではない場合)のみ、MV候補のソートを行うことも可能である。この処理には、有効と判定されたMV候補の数を必要なので、MV候補ソート部5004はMV候補判定部5002の後に設ける。   In addition, when the number of MV candidates is not an integer power of 2, as in the case where the number of MV candidates is 3, generally the codes or binary number sequences corresponding to the MV candidates are unequal. In this case, the effectiveness of the process of assigning the MV index according to the appearance probability of the MV candidate is large. In consideration of this characteristic, this process is applied only when it is most effective. That is, only when the number of MV candidates matches a specific condition (for example, when it is not an integer power of 2), sorting of MV candidates is performed. It is also possible to do this. Since this process requires the number of MV candidates determined to be valid, the MV candidate sorting unit 5004 is provided after the MV candidate determination unit 5002.

なお、出現確率が高いMV候補に応じてMVインデックスの値を割り当てる処理は、MV候補の文字通りのソートを用いる必要はない。高々4個程度のMV候補数であれば、複数の条件分岐を組み合わせることで容易に処理が可能である。   The process of assigning the value of the MV index according to the MV candidate having a high appearance probability does not need to use the MV candidate literal sort. If the number of MV candidates is at most about 4, processing can be easily performed by combining a plurality of conditional branches.

例えば、MV候補コストが、コストA、コストB、コストC、コストDがコストA<=コストB<=コストC<=コストDの順にあるかは、
IF(コストA<=コストB かつ コストB<=コストC かつコストC<=コストD)
という条件分岐文で判定できる。この条件分に該当した場合において、対応するMVインデックス、すなわち、コストA〜コストDのMV候補に、「00」「01」「10」「11」で割り当てる。他の順序であるかどうかも同様の条件分岐文を並べることで容易に実施できる。
For example, whether the MV candidate cost is in the order of cost A, cost B, cost C, cost D, cost A <= cost B <= cost C <= cost D,
IF (cost A <= cost B and cost B <= cost C and cost C <= cost D)
Can be determined by the conditional branch statement. When this condition is met, “00”, “01”, “10”, and “11” are assigned to the corresponding MV indexes, that is, MV candidates of cost A to cost D. Whether the order is other can be easily implemented by arranging similar conditional branch statements.

この場合、ソート部5004bは不要になり、MVインデックス決定部5003において上記のようなMV候補コストを用いた条件分岐によるMVインデックス決定を行うことになる。   In this case, the sorting unit 5004b is not necessary, and the MV index determination unit 5003 performs MV index determination by conditional branching using the MV candidate cost as described above.

また、MV候補コストの順に割り振るのではなく、最小の(もしくは最大の)N個のMV候補コストについてMV候補コストの順に割り振るのであればさらに処理が容易になる。例えば、MV候補コスト最小(もしくは最大)のMV候補を算出し特定のMVインデックスを割り振るような処理は、最小値のMV候補を特定する処理だけで実現できることから極めて簡易な構成で実現できる。   Further, if the minimum (or maximum) N MV candidate costs are not allocated in the order of the MV candidate costs but are allocated in the order of the MV candidate costs, the processing becomes easier. For example, the process of calculating the MV candidate with the minimum (or maximum) MV candidate cost and allocating a specific MV index can be realized with only the process of specifying the MV candidate with the minimum value, and thus can be realized with a very simple configuration.

本発明は、MV候補の完全な順序付けを行わないような、このような簡略化された構成も含むものとする。   The present invention is also intended to include such a simplified arrangement that does not provide complete ordering of MV candidates.

(MVCOST関数の具体例)
MVCOST関数の具体例としては、以下の関数1〜関数4が考えられる。
関数1:MV候補コスト=Σ(|mv_x−pmvi_x|+|mv_y−pmvi_y|)(i:1〜N、pmviは選択されなかったPMV候補)
関数1´:MV候補コスト=Σ((mv_x−pmvi_x)^2+(mv_y−pmvi_y)^2)(i:1〜N、pmviは選択されなかったPMV候補、^は2乗を示す)
関数2:MV候補コスト=|mv_x|+|mv_y|
関数3:MV候補コスト=|mv_x−pmv0_x|+|mv_y−pmv0_y|(pmv0は選択されたPMV候補)
関数4:MV候補コスト=MIN(|mv_x−pmvi_x|+|mv_y−pmvi_y|)(i:1〜N、pmviは選択されなかったPMV候補)
使用するMVCOST関数は、関数1であることが望ましいが、関数1´や関数2〜関数4を用いてもよい。また、フレームタイプに応じて、MVCOST関数として使用する関数を変更してもよい。例えば、PフレームではMVCOST関数として関数1を用い、BフレームではMVCOST関数として関数2を用いるようにしてもよい。なお、後述のように、MVインデックス符号化部1153は、MV候補コスト算出部5004aが使用したMVCOST関数を示す情報を符号化して、符号化データのヘッダに記録しておいても良い。
(Specific example of MVCOST function)
As specific examples of the MVCOST function, the following functions 1 to 4 can be considered.
Function 1: MV candidate cost = Σ (| mv_x−pmv i —x | + | mv_y−pmv i —y |) (i: 1 to N, pmv i is a PMV candidate not selected)
Function 1 ′: MV candidate cost = Σ ((mv_x−pmv i _x) ^ 2 + (mv_y−pmv i _y) ^ 2) (i: 1 to N, pmv i are unselected PMV candidates, and ^ is a square Indicate)
Function 2: MV candidate cost = | mv_x | + | mv_y |
Function 3: MV candidate cost = | mv_x−pmv 0 _x | + | mv_y−pmv 0 _y | (where pmv 0 is the selected PMV candidate)
Function 4: MV candidate cost = MIN (| mv_x−pmv i —x | + | mv_y−pmv i —y |) (i: 1 to N, PMv i is not selected PMV candidate)
The MVCOST function to be used is preferably function 1, but function 1 ′ or function 2 to function 4 may be used. Further, the function used as the MVCOST function may be changed according to the frame type. For example, the function 1 may be used as the MVCOST function in the P frame, and the function 2 may be used as the MVCOST function in the B frame. As will be described later, the MV index encoding unit 1153 may encode the information indicating the MVCOST function used by the MV candidate cost calculation unit 5004a and record it in the header of the encoded data.

なお、MV候補コスト算出に用いる(MVCOST関数に入力する)PMVは、PMV候補算出部1112で算出されたPMV候補、すなわち、PMVインデックスで選択対象となるPMV候補に限る必要はない(そのため「MV候補コスト算出に用いるPMV候補」ではなく単に「MV候補コスト算出に用いるPMV」と記載している)。例えば、PMV候補算出部1112において、mv_medとmv_colをPMV候補として算出する場合において、MV候補コスト算出に用いるPMVをmv_medとmv_col、mv_aとしても良い。   Note that the PMV used for calculating the MV candidate cost (input to the MVCOST function) need not be limited to the PMV candidate calculated by the PMV candidate calculation unit 1112, that is, the PMV candidate to be selected by the PMV index (so “MV” “PMV candidates used for calculating candidate costs” are simply described as “PMV candidates used for calculating candidate costs”). For example, when the PMV candidate calculation unit 1112 calculates mv_med and mv_col as PMV candidates, the PMV used for MV candidate cost calculation may be mv_med, mv_col, and mv_a.

これは、PMVインデックスの符号量を小さくするためには、PMV候補の数を小さい数(2個が適当)に制限する必要があるが、MV候補の出現確率を推定するためにはそのような制限がないためである。   In order to reduce the code amount of the PMV index, it is necessary to limit the number of PMV candidates to a small number (2 is appropriate), but in order to estimate the appearance probability of the MV candidate, This is because there is no limit.

なお、PMVインデックスで選択対象となるPMV候補とは全く異なるPMV、例えば、mv_aをMV候補コスト算出に用いるPMV候補としても良い。このようにPMVを考えると、関数2はPMVとして{0、0}を用いたのと同一となる。   Note that a PMV that is completely different from the PMV candidate to be selected in the PMV index, for example, mv_a, may be used as a PMV candidate used for MV candidate cost calculation. Considering PMV in this way, function 2 is the same as using {0, 0} as PMV.

なお、MV候補コスト算出用のPMVは、上述のようにPMV候補算出部1112のPMV候補をそのまま用いる構成にしても良いし、PMV候補算出部1112においてPMV候補とは別にMV候補コスト算出用のPMVを算出する構成としても良い。また、動きベクトル符号化部111’内に、PMV候補算出部1112とは別のPMVを算出する手段を設ける構成にしても良い。   The PMV for calculating the MV candidate cost may be configured to use the PMV candidate of the PMV candidate calculating unit 1112 as it is as described above, or the PMV candidate calculating unit 1112 may calculate the MV candidate cost separately from the PMV candidate. It is good also as a structure which calculates PMV. Further, a configuration may be provided in which means for calculating a PMV different from the PMV candidate calculation unit 1112 is provided in the motion vector encoding unit 111 ′.

この場合、複数のPMV候補を算出しMVの符号化に適したPMVを選択し、MVとPMVの差分を符号化/復号する符号化装置/復号装置ではなく、単一のPMVを算出しMVとPMVの差分を符号化/復号する符号化装置/復号装置にも適用可能である。この場合、PMV候補算出部1112、PMV決定部1113、PMVインデックス符号化部1151、MV候補判定部5002を備えない符号化装置の構成でも実現できる。   In this case, a plurality of PMV candidates are calculated, a PMV suitable for MV encoding is selected, and a single PMV is calculated instead of an encoding / decoding apparatus that encodes / decodes the difference between MV and PMV. The present invention can also be applied to an encoding device / decoding device that encodes / decodes a difference between a signal and a PMV. In this case, the present invention can also be realized by a configuration of an encoding device that does not include the PMV candidate calculation unit 1112, the PMV determination unit 1113, the PMV index encoding unit 1151, and the MV candidate determination unit 5002.

(PMV決定部1113が使用するPMVCOST関数について)
前述したように、PMV決定部1113では、MVとPMV候補、PMV候補数を入力とし、PMV候補のうちでMVとPMVとから算出されるコスト関数PMVCOST(MV,PMV)を最小化する候補をPMVとして選択するが、PMV決定部1113は、動きベクトル符号化部111の負荷の状況に応じて、PMVCOST関数として使用する関数を動的に変更するようにしてもよい。
(PMVCOST function used by the PMV determination unit 1113)
As described above, the PMV determination unit 1113 receives the MV, the PMV candidates, and the number of PMV candidates, and selects among the PMV candidates candidates for minimizing the cost function PMVCOST (MV, PMV) calculated from the MV and PMV. Although selected as PMV, the PMV determination unit 1113 may dynamically change the function used as the PMVCOST function according to the load state of the motion vector encoding unit 111.

すなわち、前述したようにPMVCOST関数としては様々な関数を適用可能であるが、その中には、PMVCOST=0のように符号化効率も演算量も変わらないもの、PMVCOST=|MV_X−PMV_X|+|MV_Y−PMV_Y|のように符号化効率はあまり改善しないが演算量も少ないもの、PMVCOST=R(|MV_X−PMV_X|)+R(|MV_Y−PMV_Y|)のように、符号化効率が大きく改善するが演算量も大きいもの、など様々なものがある。そこで、PMV決定部1113は、動きベクトル符号化部111の負荷の状況に応じて、負荷が軽い場合には、符号化効率の高い関数を用い、負荷が一定以上である場合には、演算量の小さい関数を用いて、PMVを選択するようにしてもよい。この場合、MVインデックス符号化部1151は、PMV決定部1113が使用したPMVCOST関数を示す情報(フラグ)を符号化して、符号化データのヘッダに記録しておく。なお、記録するヘッダは、シーケンスヘッダ、ピクチャヘッダ、スライスヘッダ、MBヘッダなどであればよい。また、シーケンスやピクチャ毎にヘッダを符号化することなく、シーケンスパラメータ、ピクチャパラメータというデータを先に符号化し、各シーケンス、ピクチャではそのデータをインデックスで指定、参照する方式もあるが、当該発明では、このようなデータもヘッダとして扱うため、これらデータで関数を示すフラグを符号化すれば良い。   That is, as described above, various functions can be applied as the PMVCOST function. Among these functions, the PMVCOST = | MV_X−PMV_X | + | MV_Y-PMV_Y |, which does not improve the coding efficiency so much, but has a small amount of calculation. However, there are various things such as a large amount of calculation. Therefore, the PMV determination unit 1113 uses a function with high encoding efficiency when the load is light, depending on the load state of the motion vector encoding unit 111, and when the load is above a certain level, the amount of computation The PMV may be selected using a function having a small value. In this case, the MV index encoding unit 1151 encodes information (flag) indicating the PMVCOST function used by the PMV determination unit 1113 and records it in the header of the encoded data. The header to be recorded may be a sequence header, a picture header, a slice header, an MB header, or the like. In addition, there is a method in which data such as sequence parameters and picture parameters is encoded first without encoding a header for each sequence or picture, and the data is specified and referred to by an index in each sequence and picture. Since such data is also handled as a header, a flag indicating a function may be encoded with these data.

このように、動きベクトル符号化部111の負荷の状況に応じて、PMVを選択可能にすることにより、符号化効率と演算量とのバランスをとることができる。また、符号化装置の構成を簡略化する場合や符号化の負荷が高い場合には、PMVCOST=0を選択することにより、PMVによる制約を利用しない符号化も可能である、すなわち、動きベクトル符号化部111でPMVの制約を考慮することなく自由にPMVを選択することができる。   Thus, by making PMV selectable according to the load state of the motion vector encoding unit 111, it is possible to balance the encoding efficiency and the calculation amount. Further, when the configuration of the encoding device is simplified or when the encoding load is high, by selecting PMVCOST = 0, it is possible to perform encoding without using PMV restrictions, that is, motion vector code. The conversion unit 111 can freely select a PMV without considering PMV restrictions.

PMVCOST関数を選択する場合には、PMV決定部1113で用いたPMVCOST関数と同じ関数をMV候補判定部5002でも用いることが必要である。なお、符号化装置を簡略化するため、符号化装置では常にPMVCOST=0を選択する場合には、仮MV候補がそのままMV候補となるため、MV候補の判定を行うMV候補判定部5002を備えない構成も可能である。   When selecting the PMVCOST function, the MV candidate determination unit 5002 needs to use the same function as the PMVCOST function used in the PMV determination unit 1113. In order to simplify the encoding apparatus, when PMVCOST = 0 is always selected in the encoding apparatus, the provisional MV candidate becomes an MV candidate as it is, and therefore, an MV candidate determination unit 5002 that determines an MV candidate is provided. No configuration is possible.

(MV候補ソート部5004が使用するMVCOST関数について)
MV候補ソート部5004で用いるMVCOST関数についても、PMVCOST関数と同様、MVCOST関数を示す情報(フラグ)を符号化して、符号化データのヘッダに記録しておくことにより、符号化効率と演算量とのバランスをとることができる。符号化装置の構成の簡略化及び、符号化装置の高速化の要求が強い場合には、MVCOST=0とすればソート自体が不要になり演算量を削減できる。
(About the MVCOST function used by the MV candidate sort unit 5004)
Similarly to the PMVCOST function, the MVCOST function used in the MV candidate sorting unit 5004 is encoded with information (flag) indicating the MVCOST function and recorded in the header of the encoded data, so that the encoding efficiency and the calculation amount can be calculated. Can be balanced. If there is a strong demand for simplification of the configuration of the encoding device and speeding up of the encoding device, setting MVCOST = 0 can eliminate the sort itself and reduce the amount of calculation.

なお、PMVCOST関数やMVCOST関数をフレームタイプによって変更する場合には、フレームタイプ毎のMVCOST関数を示すフラグを符号化することが適当である。   When the PMVCOST function or the MVCOST function is changed depending on the frame type, it is appropriate to encode a flag indicating the MVCOST function for each frame type.

(復号装置200’)
次に、本発明の第4の実施形態の復号装置200’について図20〜図22を参照しつつ、以下に説明する。
(Decoding device 200 ')
Next, a decoding device 200 ′ according to the fourth embodiment of the present invention will be described below with reference to FIGS.

図20は本発明の第4の実施形態の復号装置200’の構成を示すブロック図である。復号装置200’は、第2の実施形態の復号装置200と同様に、可変長符号化復号部201、逆量子化部116、逆変換部117、フレームメモリ118、イントラ予測部121、インター予測部123、予測モード選択部225、加算部102を備えているが、動きベクトル復号部211’が第2の実施形態の動きベクトル復号部211と異なっている。動きベクトル復号部211’を除く他の部材は、第2の実施形態と同様の動作を行うので、これらの部材についての説明は省略し、動きベクトル復号部211’について図21、図22を参照して説明していくことにする。   FIG. 20 is a block diagram showing a configuration of a decoding apparatus 200 'according to the fourth embodiment of the present invention. Similar to the decoding device 200 of the second embodiment, the decoding device 200 ′ includes a variable-length coding / decoding unit 201, an inverse quantization unit 116, an inverse transform unit 117, a frame memory 118, an intra prediction unit 121, and an inter prediction unit. 123, the prediction mode selection unit 225, and the addition unit 102, but the motion vector decoding unit 211 ′ is different from the motion vector decoding unit 211 of the second embodiment. The other members excluding the motion vector decoding unit 211 ′ perform the same operations as those in the second embodiment, so description of these members will be omitted, and refer to FIGS. 21 and 22 for the motion vector decoding unit 211 ′. I will explain it.

図21に示すとおり、動きベクトル復号部211’は、動きベクトル復号部211と同様に、MV格納部1111、PMV候補算出部1112、PMV選択部2113を備えているが、MV選択部2115’が第2の実施形態のMV選択部2115と異なっている。   As shown in FIG. 21, the motion vector decoding unit 211 ′ includes an MV storage unit 1111, a PMV candidate calculation unit 1112, and a PMV selection unit 2113, like the motion vector decoding unit 211, but the MV selection unit 2115 ′ This is different from the MV selection unit 2115 of the second embodiment.

図22に示すように、MV選択部2115’には、MV候補算出部5001とMV候補判定部5002との間にMV候補ソート部5004が設けられている。   As shown in FIG. 22, the MV selection sorting unit 5004 is provided between the MV candidate calculation unit 5001 and the MV candidate determination unit 5002 in the MV selection unit 2115 ′.

MV候補ソート部5004では、MV候補算出部5001から、仮MV候補および仮MV候補の数を入力値として受け付ける。MV候補ソート部5004は、MVフラグ決定部1115’のMV候補ソート部5004と同様のソートを行う。なお、MVフラグ決定部1115’のMV候補ソート部5004が動的にMVCOST関数を変更した場合には、MV候補ソート部5004は、符号化データのヘッダに記録された、MVCOST関数を示す情報を復号して参照することにより、ソートを行う。   The MV candidate sorting unit 5004 receives the temporary MV candidates and the number of temporary MV candidates as input values from the MV candidate calculation unit 5001. The MV candidate sorting unit 5004 performs the same sort as the MV candidate sorting unit 5004 of the MV flag determining unit 1115 ′. When the MV candidate sorting unit 5004 of the MV flag determining unit 1115 ′ dynamically changes the MVCOST function, the MV candidate sorting unit 5004 stores information indicating the MVCOST function recorded in the header of the encoded data. Sorting is performed by decoding and referencing.

なお、PMV決定部1113及びMV候補判定部5002が動的にPMVCOST関数を変更した場合には、符号化データのヘッダに記録された、PMVCOST関数を示す情報を復号してMV候補判定部5002における判定を行う。   In addition, when the PMV determination unit 1113 and the MV candidate determination unit 5002 dynamically change the PMVCOST function, the information indicating the PMVCOST function recorded in the header of the encoded data is decoded and the MV candidate determination unit 5002 Make a decision.

そして、MV候補判定部5002は、第2の実施形態と同様の方法で仮MV候補の中からMV候補を決定し、MV候補およびMV候補の数をMV抽出部6004に出力する。   Then, the MV candidate determination unit 5002 determines MV candidates from the temporary MV candidates by the same method as in the second embodiment, and outputs the MV candidates and the number of MV candidates to the MV extraction unit 6004.

最後に、MV抽出部6004は、MV候補およびMV候補の数を受け付け、MV候補からMVインデックスで示される候補を選択することでMVを復号する。   Finally, the MV extraction unit 6004 receives the MV candidates and the number of MV candidates, and decodes the MV by selecting a candidate indicated by the MV index from the MV candidates.

なお、単一のPMVを算出しMVとPMVの差分を復号する復号装置においては、PMV候補算出部1112、PMV選択部2113、PMVインデックス復号部2011、MV候補判定部5002を備えない復号装置の構成でも実現できる。   Note that in a decoding apparatus that calculates a single PMV and decodes the difference between MV and PMV, a decoding apparatus that does not include the PMV candidate calculation unit 1112, the PMV selection unit 2113, the PMV index decoding unit 2011, and the MV candidate determination unit 5002. It can also be realized with a configuration.

(動画像符号化装置100”)
最後に、本発明の第5の実施形態の動画像符号化装置100”について図25〜図27を参照しつつ、以下に説明する。
(Moving picture encoding apparatus 100 ")
Finally, a moving picture coding apparatus 100 ″ according to a fifth embodiment of the present invention will be described below with reference to FIGS.

本実施形態の動画像符号化装置100”は、PMVに応じて、MVDの算術符号化に用いる確率(コンテキスト)を適応的に切り替えることにより、MVD絶対値の符号化効率を向上させるものである。   The moving image coding apparatus 100 ″ of the present embodiment improves the coding efficiency of the MVD absolute value by adaptively switching the probability (context) used for MVD arithmetic coding according to PMV. .

この切り替えは、MVD絶対値の大きさに、MVDの算出に用いたPMVの種類に応じた傾向があるという観察結果に基づくものである。より具体的には、PMV候補がmv_medとmv_colである場合において、mv_colがPMVの場合には、mv_medがPMVの場合よりもMVD絶対値が小さくなる傾向がある。なお、以下の構成においては、後述する初期値以外は、いずれのPMVがよりMVD絶対値が小さくなる傾向があるかを明示的な処理として組み込まなくても、算術符号において適応的に「0」、「1」の出現確率として学習されるため効果を実現できる。   This switching is based on the observation result that the magnitude of the MVD absolute value has a tendency corresponding to the type of PMV used to calculate the MVD. More specifically, when the PMV candidates are mv_med and mv_col, when mv_col is PMV, the MVD absolute value tends to be smaller than when mv_med is PMV. In the following configuration, except for the initial value to be described later, “0” is adaptively applied to the arithmetic code even if it is not included as an explicit process which PMV tends to have a smaller MVD absolute value. , The effect can be realized because it is learned as the appearance probability of “1”.

図25は本発明の第5の実施形態の動画像符号化装置100”の構成を示すブロック図である。動画像符号化装置100”は、第1の実施形態の動画像符号化装置100と同様に、動きベクトル符号化部111、変換部112、量子化部113、逆量子化部116、逆変換部117、フレームメモリ118、イントラ予測部121、インター予測部123、動き推定部124、予測モード決定部125、減算部101、加算部102を備えているが、可変長符号化部115’の構成が第1の実施形態の可変長符号化部115と異なっている。可変長符号化部115’を除く他の部材は、第1の実施形態と同様の動作を行うので、これらの部材についての説明は省略し、可変長符号化部115’について図26、図27を参照して説明していくことにする。   FIG. 25 is a block diagram showing a configuration of a video encoding device 100 ″ according to the fifth embodiment of the present invention. The video encoding device 100 ″ is the same as the video encoding device 100 according to the first embodiment. Similarly, the motion vector encoding unit 111, the conversion unit 112, the quantization unit 113, the inverse quantization unit 116, the inverse conversion unit 117, the frame memory 118, the intra prediction unit 121, the inter prediction unit 123, the motion estimation unit 124, and the prediction Although the mode determination unit 125, the subtraction unit 101, and the addition unit 102 are provided, the configuration of the variable length coding unit 115 ′ is different from the variable length coding unit 115 of the first embodiment. The other members excluding the variable length coding unit 115 ′ perform the same operations as those in the first embodiment, and thus description of these members is omitted, and the variable length coding unit 115 ′ is illustrated in FIGS. Will be described with reference to.

図26に示すとおり、可変長符号化部115’は、PMVインデックス符号化部1151、MVD絶対値符号化部1152’、MVインデックス符号化部1153を備えている。PMVインデックス符号化部1151、MVインデックス符号化部1153については、第1の実施形態と同様の動作を行うので、MVD絶対値符号化部1152’について説明する。   As shown in FIG. 26, the variable length encoding unit 115 'includes a PMV index encoding unit 1151, an MVD absolute value encoding unit 1152', and an MV index encoding unit 1153. Since the PMV index encoding unit 1151 and the MV index encoding unit 1153 perform the same operation as in the first embodiment, the MVD absolute value encoding unit 1152 'will be described.

図27に示すように、MVD絶対値符号化部1152’は、コンテキスト決定部1152a、確率保持部1152b、確率更新部1152c、2進化部1152d、算術符号化部1152eを備えている。   As shown in FIG. 27, the MVD absolute value encoding unit 1152 'includes a context determination unit 1152a, a probability holding unit 1152b, a probability update unit 1152c, a binarization unit 1152d, and an arithmetic encoding unit 1152e.

2進化部1152dは、MVD絶対値を「0」「1」の2進数列にして算術符号化部1152eに出力する。2進化部1152dは、MVD絶対値「n」を、連続するn個の「1」の後ろに1個の「0」が付加された2進数列に変換する。例えば、nが0の場合、2進数列は「0」となり、nが2の場合、2進数列は「110」になる。   The binarization unit 1152d converts the MVD absolute value into a binary sequence of “0” and “1” and outputs the binary sequence to the arithmetic coding unit 1152e. The binarization unit 1152d converts the MVD absolute value “n” into a binary number sequence in which one “0” is added after n consecutive “1” s. For example, when n is 0, the binary sequence is “0”, and when n is 2, the binary sequence is “110”.

一方、コンテキスト決定部1152aは、PMV決定部1113から入力されたPMVインデックスの値を用いて定めたコンテキストインデックスを確率保持部1152bに出力する。   On the other hand, the context determination unit 1152a outputs the context index determined using the PMV index value input from the PMV determination unit 1113 to the probability holding unit 1152b.

コンテキストインデックスは、X成分かY成分かを示す値と、既に符号化/復号した隣接するブロックのMVDの大きさを段階的に示す値と、2進数列の何個目付近を処理しているかを段階的に示す値と、PMVインデックスの値と、の組み合わせによって定めるのが好適である。すなわち、コンポーネントが2個、MVDの大きさを段階的に示す値が3段階、2進数列の何個目付近を処理しているかを段階的に示す値が3段階、PMV候補数が2個で有った場合、2×3×3×2の24個のコンテキストインデックスの中から出力すべきコンテキストインデックスを定めることになる。この場合、確率保持部1152bは「1」「0」の確率を24通り保持するように構成される。なお、PMVインデックスの値を用いていれば、他の条件を用いてコンテキストインデックスを定めても構わない。   The context index is a value indicating whether it is an X component or a Y component, a value indicating the size of the MVD of an adjacent block that has already been encoded / decoded, and the number in the vicinity of the binary sequence. Is preferably determined by a combination of a value indicating stepwise and a PMV index value. That is, there are 2 components, 3 values for the MVD size stepwise, 3 steps for the binary sequence, and 2 PMV candidates. In this case, a context index to be output is determined from 24 context indexes of 2 × 3 × 3 × 2. In this case, the probability holding unit 1152b is configured to hold 24 probabilities of “1” and “0”. As long as the value of the PMV index is used, the context index may be determined using other conditions.

算術符号化部1152eは、確率保持部1152bに入力されたコンテキストインデックスに対応する、確率保持部1152bに保持されている「1」「0」の確率に基づいて2進数列を符号化する。本実施形態は、2進数列(シンボル列)を適応的に符号化する点、すなわち、2進数列を符号化する際に、各ビットを符号化するたびに、「1」「0」の確率を更新していく点に特徴がある。   The arithmetic encoding unit 1152e encodes the binary sequence based on the probabilities “1” and “0” held in the probability holding unit 1152b corresponding to the context index input to the probability holding unit 1152b. In the present embodiment, a point that adaptively encodes a binary number sequence (symbol sequence), that is, a probability of “1” or “0” every time each bit is encoded when the binary number sequence is encoded. The feature is that it is updated.

このことについて、算術符号化部1152eに入力される2進数列が「110」である場合を例として2進数列の符号化を説明する。なお、符号化前の「1」の確率はP1であるものとする。With respect to this, the encoding of the binary sequence will be described by taking as an example the case where the binary sequence input to the arithmetic encoding unit 1152e is “110”. It is assumed that the probability of “1” before encoding is P 1 .

算術符号化部1152eは、確率P1を用いて「110」の1ビット目「1」を符号化する。そして、算術符号化部1152eは、符号化ビット「1」を確率更新部1152cに出力する。確率更新部1152cは、符号化ビットが入力されると、「1」の確率をP2に更新する。The arithmetic encoding unit 1152e encodes the first bit “1” of “110” using the probability P 1 . Then, the arithmetic encoding unit 1152e outputs the encoded bit “1” to the probability updating unit 1152c. Probability updating unit 1152c, when coded bits are input, and updates the probability of "1" to P 2.

次に、算術符号化部1152eは、確率P2を用いて「110」の2ビット目「1」を符号化する。そして、算術符号化部1152eは、符号化ビット「1」を確率更新部1152cに出力する。確率更新部1152cは、符号化ビットが入力されると、「1」の確率をP3に更新する。Next, the arithmetic encoding unit 1152e encodes the second bit “1” of “110” using the probability P 2 . Then, the arithmetic encoding unit 1152e outputs the encoded bit “1” to the probability updating unit 1152c. Probability updating unit 1152c, when coded bits are input, and updates the probability of "1" to P 3.

最後に、算術符号化部1152eは、確率1−P3を用いて「110」の3ビット目「0」を符号化する。そして、算術符号化部1152eは、確率P1、P2、1−P3で「110」を符号化して得られた符号化データを出力する。Finally, the arithmetic encoding unit 1152e encodes the third bit “0” of “110” using the probability 1-P 3 . Then, the arithmetic encoding unit 1152e outputs encoded data obtained by encoding “110” with the probabilities P 1 , P 2 , and 1-P 3 .

ところで、確率保持部1152bはシーケンス先頭、フレーム先頭、スライス先頭などで、確率を初期化するための初期値を保持する。この初期値は、「0」、「1」を等確率、すなわち0.5としても良いが、多くのシーケンスで実験的に求めた出現確率の平均値のような適当な値を用いることが適当である。この場合、PMV候補が、同一フレームの既に符号化/復号したブロックのMVから求めた空間的予測ベクトル(例えばmv_med)と参照フレームの既に符号化/復号したブロックのMVも用いて求めた時間的予測ベクトル(例えばmv_col)である場合において、時間的予測ベクトルの方が短いMVD絶対値を小さな符号量で符号化するように初期値を設定すると適切である。上記の例では、「0」の確率の初期値を時間的予測ベクトルの方が空間的予測ベクトルよりも大きく設定する。   Incidentally, the probability holding unit 1152b holds initial values for initializing the probabilities at the sequence head, frame head, slice head, and the like. The initial value may be “0” or “1” with an equal probability, that is, 0.5, but it is appropriate to use an appropriate value such as an average value of appearance probabilities experimentally obtained in many sequences. It is. In this case, the PMV candidate is obtained using the spatial prediction vector (for example, mv_med) obtained from the MV of the already encoded / decoded block of the same frame and the MV of the already encoded / decoded block of the reference frame. In the case of a prediction vector (for example, mv_col), it is appropriate to set an initial value so that an MVD absolute value with a shorter temporal prediction vector is encoded with a smaller code amount. In the above example, the initial value of the probability of “0” is set so that the temporal prediction vector is larger than the spatial prediction vector.

以上のように、動画像符号化装置100”は、MVD絶対値から変換された2進数列を算術符号化する過程で、「0」「1」の出現確率を切り替えることができるので、MVD絶対値の符号化効率を向上させることができる。   As described above, the moving image encoding apparatus 100 ″ can switch the appearance probability of “0” and “1” in the process of arithmetic encoding the binary sequence converted from the MVD absolute value. Value encoding efficiency can be improved.

(付記事項)
なお、MVD絶対値は、X成分の絶対値とY成分の絶対値とに分けて符号化するのではなく、X成分の絶対値とY成分の絶対値との和を符号化しても構わない。この場合には、PMVCOST=F(|MV_X−PMV_X|+|MV_Y−PMV_Y|)となる。また、PMV仮候補の数は4とは限らず、MVD絶対値の値によって変化する。すなわち、X成分の絶対値とY成分の絶対値との和が1の場合にはMV仮候補の数は8、和が2の場合にはMV仮候補の数は16となり、一般的には、和がNの場合にMV仮候補の数は8Nとなる。
(Additional notes)
Note that the MVD absolute value is not encoded separately for the X component absolute value and the Y component absolute value, but the sum of the X component absolute value and the Y component absolute value may be encoded. . In this case, PMVCOST = F (| MV_X−PMV_X | + | MV_Y−PMV_Y |). Further, the number of temporary PMV candidates is not limited to four, and varies depending on the value of the MVD absolute value. That is, when the sum of the absolute value of the X component and the absolute value of the Y component is 1, the number of MV temporary candidates is 8, and when the sum is 2, the number of MV temporary candidates is 16. When the sum is N, the number of MV provisional candidates is 8N.

また、以上説明したそれぞれの実施形態において、動画像符号化装置および動画像復号装置の各機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより動画像符号化装置や動画像復号装置の制御を行っても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。   In each of the embodiments described above, a program for realizing each function of the moving image encoding device and the moving image decoding device is recorded on a computer-readable recording medium, and the program is recorded on the recording medium. May be read by a computer system and executed to control the video encoding device or the video decoding device. Here, the “computer system” includes an OS and hardware such as peripheral devices.

また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるものであっても良い。   The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Furthermore, the “computer-readable recording medium” means that a program is dynamically held for a short time, like a communication line when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In this case, it is intended to include those that hold a program for a certain period of time, such as a volatile memory inside a computer system serving as a server or a client in that case. The program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system. .

以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も特許請求の範囲に含まれる。   The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and the design and the like within the scope of the present invention are also within the scope of the claims. include.

本発明の符号化装置は、各データ候補のコストを算出するデータ候補コスト算出部を更に備え、前記データ候補特定フラグ符号化部により各データ候補に対して設定されるフラグは、前記データ候補コスト算出部により算出されたそのデータ候補のコストに応じたフラグである、ことが望ましい。例えば、符号化装置は、前記データ候補特定フラグ符号化部が、前記データ候補を特定するフラグの値を該データ候補と前記予測データとの距離が短いほど出現確率の高いシンボルが多く含まれるようなシンボル列にするとともに前記シンボル列を算術符号化することにより、前記フラグを符号化することが望ましい。   The encoding apparatus of the present invention further includes a data candidate cost calculation unit that calculates the cost of each data candidate, and the flag set for each data candidate by the data candidate identification flag encoding unit is the data candidate cost. It is desirable that the flag be in accordance with the cost of the data candidate calculated by the calculation unit. For example, in the encoding apparatus, the data candidate specifying flag encoding unit includes a value of a flag specifying the data candidate so that a symbol having a higher appearance probability is included as the distance between the data candidate and the prediction data is shorter. It is desirable to encode the flag by making the symbol sequence into a simple symbol sequence and arithmetically encoding the symbol sequence.

本発明の符号化装置は、前記差分絶対値符号化部が、前記所定のデータおよび前記予測データが複数の成分からなるデータである場合に、成分毎に前記差分絶対値を符号化するか、または、成分ごとの差分絶対値の和を符号化することを特徴とすることが望ましい。   In the encoding device of the present invention, the difference absolute value encoding unit encodes the difference absolute value for each component when the predetermined data and the prediction data are data composed of a plurality of components, Alternatively, it is desirable to encode the sum of absolute differences for each component.

本発明の符号化装置は、前記データ候補と前記予測データ候補とを入力とする関数により、前記データ候補と前記予測データ候補との距離に応じた値である距離コストを算出する距離コスト算出部であって、前記関数として演算量の異なる複数の関数を選択可能な距離コスト算出部を、さらに備え、前記差分絶対値符号化部は、前記距離コスト算出部が選択した関数を示すインデックスを符号化することが望ましい。   The encoding apparatus according to the present invention includes a distance cost calculation unit that calculates a distance cost that is a value corresponding to a distance between the data candidate and the prediction data candidate, using a function that receives the data candidate and the prediction data candidate. A distance cost calculation unit capable of selecting a plurality of functions having different calculation amounts as the function, and the difference absolute value encoding unit codes an index indicating the function selected by the distance cost calculation unit. It is desirable to make it.

また、本発明の符号化装置は、前記所定のデータが、動きベクトルデータであることが望ましい。   In the encoding device of the present invention, it is preferable that the predetermined data is motion vector data.

また、本発明は、入力画像と既に復号済みの参照画像との間の動きベクトルを推定する動き推定部と、前記動きベクトルを符号化する動きベクトル符号化部と、前記動きベクトルを用いて前記参照画像から予測信号を生成するインター予測部と、前記予測信号と前記入力画像の差分を算出する差分算出部と、前記差分を変換する変換部と、前記変換で得られた変換係数を量子化する量子化部を備える動画像符号化装置であって、前記動きベクトル符号化部での動きベクトルの符号化に前記特徴の符号化装置を用いることが望ましい。   Also, the present invention provides a motion estimation unit that estimates a motion vector between an input image and a reference image that has already been decoded, a motion vector encoding unit that encodes the motion vector, and the motion vector An inter prediction unit that generates a prediction signal from a reference image, a difference calculation unit that calculates a difference between the prediction signal and the input image, a conversion unit that converts the difference, and a quantization coefficient obtained by the conversion It is preferable that the moving picture coding apparatus including the quantizing unit that uses the feature coding apparatus for the motion vector coding in the motion vector coding unit.

また、本発明の復号装置は、各データ候補のコストを算出するデータ候補コスト算出部を更に備え、前記データ候補特定フラグ復号部により復号されるフラグは、前記データ候補コスト算出部により算出されたそのデータ候補のコストに応じたフラグである、ことが望ましい。   The decoding device of the present invention further includes a data candidate cost calculation unit that calculates the cost of each data candidate, and the flag decoded by the data candidate identification flag decoding unit is calculated by the data candidate cost calculation unit. It is desirable that the flag corresponds to the cost of the data candidate.

また、本発明の復号装置では、前記差分絶対値復号部が、前記所定のデータおよび前記予測データが複数の成分からなるデータである場合に、成分毎に前記差分絶対値を復号するか、または、成分ごとの差分絶対値の和を復号することが望ましい。   In the decoding device of the present invention, the difference absolute value decoding unit decodes the difference absolute value for each component when the predetermined data and the prediction data are data composed of a plurality of components, or It is desirable to decode the sum of absolute differences for each component.

また、本発明の復号装置は、前記データ候補と前記予測データ候補とを入力とする関数により、前記データ候補と前記予測データ候補との距離に応じた値である距離コストを算出する距離コスト算出部であって、前記関数として演算量の異なる複数の関数を選択可能な距離コスト算出部を、さらに備え、前記差分絶対値復号部は、前記距離コスト算出部が選択した関数を示すインデックスを復号することが望ましい。   Further, the decoding apparatus of the present invention calculates a distance cost that calculates a distance cost that is a value corresponding to a distance between the data candidate and the prediction data candidate, using a function that receives the data candidate and the prediction data candidate. A distance cost calculation unit capable of selecting a plurality of functions having different calculation amounts as the function, and the difference absolute value decoding unit decodes an index indicating the function selected by the distance cost calculation unit It is desirable to do.

また、本発明の復号装置は、前記所定のデータが、動きベクトルデータであることが望ましい。   In the decoding device of the present invention, it is desirable that the predetermined data is motion vector data.

また、本発明は、動きベクトルを復号する動きベクトル復号部と、既に復号済みの参照画像と、前記動きベクトルから予測信号を生成するインター予測部と、変換係数を逆量子化する逆量子化部と、変換係数を逆変換し差分信号を生成する逆変換部を備え、前記予測信号と前記差分信号を加算し復号信号を再生する動画像復号装置であって、前記動きベクトル復号部での動きベクトルの復号に前記特徴の復号装置を用いることが望ましい。   The present invention also provides a motion vector decoding unit that decodes a motion vector, a reference image that has already been decoded, an inter prediction unit that generates a prediction signal from the motion vector, and an inverse quantization unit that dequantizes transform coefficients. And an inverse transform unit that inversely transforms the transform coefficient to generate a difference signal, adds the predicted signal and the difference signal, and reproduces a decoded signal, wherein a motion in the motion vector decoding unit It is desirable to use the above-described decoding device for decoding vectors.

なお、記載の符号化装置が出力する符号化データであって、データ候補を特定するフラグを含む符号化データも本発明の範疇に含まれる。   Note that encoded data that is output by the described encoding device and includes a flag that specifies a data candidate is also included in the scope of the present invention.

100…動画像符号化装置、101…減算部、102…加算部、103…局所復号信号、111…動きベクトル符号化部、112…変換部、113…量子化部、115…可変長符号化部、116…逆量子化部、117…逆変換部、118…フレームメモリ、121…イントラ予測部、123…インター予測部、124…動き推定部、125…予測モード決定部、200…動画像復号装置、201…可変長符号化復号部、203…予測パラメータ、211…動きベクトル復号部、225…予測モード選択部、301…PMV候補およびPMV候補数、302…PMV、1111…MV格納部、1112…PMV候補算出部、1113…PMV決定部、1114…MVD算出部、1115…MVフラグ決定部、1151…PMVインデックス符号化部、1152…MVD絶対値符号化部、1153…MVインデックス符号化部、2011…PMVインデックス復号部、2012…MVD絶対値復号部、2013…MVインデックス復号部、2113…PMV選択部、2115…MV選択部、5001…MV候補算出部、5002…MV候補判定部、5003…MVインデックス決定部、6004…MV抽出部 DESCRIPTION OF SYMBOLS 100 ... Moving image encoding device, 101 ... Subtraction part, 102 ... Addition part, 103 ... Local decoded signal, 111 ... Motion vector encoding part, 112 ... Conversion part, 113 ... Quantization part, 115 ... Variable length encoding part , 116: Inverse quantization unit, 117: Inverse transform unit, 118 ... Frame memory, 121 ... Intra prediction unit, 123 ... Inter prediction unit, 124 ... Motion estimation unit, 125 ... Prediction mode determination unit, 200 ... Video decoding device , 201: variable length coding / decoding unit, 203 ... prediction parameter, 211 ... motion vector decoding unit, 225 ... prediction mode selection unit, 301 ... PMV candidate and number of PMV candidates, 302 ... PMV, 1111 ... MV storage unit, 1112 ... PMV candidate calculation unit, 1113 ... PMV determination unit, 1114 ... MVD calculation unit, 1115 ... MV flag determination unit, 1151 ... PMV index code , 1152 ... MVD absolute value encoding unit, 1153 ... MV index encoding unit, 2011 ... PMV index decoding unit, 2012 ... MVD absolute value decoding unit, 2013 ... MV index decoding unit, 2113 ... PMV selection unit, 2115 ... MV Selection unit, 5001 ... MV candidate calculation unit, 5002 ... MV candidate determination unit, 5003 ... MV index determination unit, 6004 ... MV extraction unit

Claims (17)

所定のデータの符号化に際し、既に符号化済みのデータから予測データを生成し、前記前記所定のデータと前記予測データとの差分絶対値を符号化する差分絶対値符号化部と、
前記差分絶対値と前記予測データとからデータ候補を算出するデータ候補算出部と、
データ候補算出部で算出されたデータ候補の数が2以上である場合に、前記データ候補毎に異なるフラグを設定し、各データ候補に対して設定されたフラグを符号化するデータ候補特定フラグ符号化部と、を備えていることを特徴とする符号化装置。
When encoding predetermined data, a difference absolute value encoding unit that generates prediction data from already encoded data and encodes a difference absolute value between the predetermined data and the prediction data;
A data candidate calculation unit that calculates data candidates from the difference absolute value and the prediction data;
A data candidate identification flag code that sets a different flag for each data candidate and encodes the flag set for each data candidate when the number of data candidates calculated by the data candidate calculation unit is 2 or more And a coding unit.
請求項1に記載の符号化装置であって、
各データ候補のコストを算出するデータ候補コスト算出部を更に備え、
前記データ候補特定フラグ符号化部により各データ候補に対して設定されるフラグは、前記データ候補コスト算出部により算出されたそのデータ候補のコストに応じたフラグである、ことを特徴とする符号化装置。
The encoding device according to claim 1, comprising:
A data candidate cost calculation unit for calculating the cost of each data candidate;
Coding characterized in that the flag set for each data candidate by the data candidate specifying flag encoding unit is a flag corresponding to the cost of the data candidate calculated by the data candidate cost calculating unit. apparatus.
請求項1または2に記載の符号化装置であって、
前記差分絶対値符号化部は、前記所定のデータおよび前記予測データが複数の成分からなるデータである場合に、成分毎に前記差分絶対値を符号化するか、または、成分ごとの差分絶対値の和を符号化することを特徴とする符号化装置。
The encoding device according to claim 1 or 2,
The difference absolute value encoding unit encodes the difference absolute value for each component or the difference absolute value for each component when the predetermined data and the prediction data are data composed of a plurality of components. An encoding device that encodes the sum of the two.
所定のデータの符号化に際し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から符号化に用いる予測データを選択する予測データ決定部と、
前記所定のデータと前記予測データとの差分絶対値を符号化する差分絶対値符号化部と、
前記差分絶対値と前記予測データからデータ候補を算出するデータ候補算出部と、
前記予測データと前記予測データ候補から、前記差分絶対値と前記予測データから算出されるデータ候補の有効性を判定するデータ候補判定部と、を備え、
データ候補判定部で有効とされたデータ候補の数が2以上である場合に、前記データ候補を特定するフラグを符号化する、データ候補特定フラグ符号化部を備えることを特徴とする符号化装置。
When encoding predetermined data, a prediction data determination unit that generates a plurality of prediction data candidates from already encoded data and selects prediction data used for encoding from the prediction data candidates;
A difference absolute value encoding unit that encodes a difference absolute value between the predetermined data and the prediction data;
A data candidate calculator that calculates a data candidate from the absolute difference value and the prediction data;
A data candidate determination unit that determines the validity of the data candidate calculated from the difference absolute value and the prediction data from the prediction data and the prediction data candidate;
An encoding apparatus comprising: a data candidate specifying flag encoding unit that encodes a flag for specifying the data candidate when the number of data candidates validated by the data candidate determination unit is 2 or more .
請求項4に記載の符号化装置であって、
前記データ候補と前記予測データ候補とを入力とする関数により、前記データ候補と前記予測データ候補との距離に応じた値である距離コストを算出する距離コスト算出部であって、前記関数として演算量の異なる複数の関数を選択可能な距離コスト算出部を、さらに備え、
前記差分絶対値符号化部は、前記距離コスト算出部が選択した関数を示すインデックスを符号化することを特徴とする符号化装置。
The encoding device according to claim 4,
A distance cost calculation unit that calculates a distance cost that is a value corresponding to a distance between the data candidate and the prediction data candidate by a function having the data candidate and the prediction data candidate as inputs, and calculates the function as the function A distance cost calculation unit capable of selecting a plurality of functions having different amounts is further provided,
The difference absolute value encoding unit encodes an index indicating the function selected by the distance cost calculation unit.
所定のデータの符号化に際し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から符号化に用いる予測データを選択する予測データ決定部と、
前記所定のデータと前記予測データとの差分絶対値をシンボル列とするとともに該シンボル列を算術符号化することにより、前記差分絶対値を符号化する差分絶対値符号化部と、を備え、
前記差分絶対値符号化部は、前記シンボル列を算術符号化するために用いる各シンボルの出現確率を、前記予測データ決定部が選択した予測データに応じて変更することを特徴とする符号化装置。
When encoding predetermined data, a prediction data determination unit that generates a plurality of prediction data candidates from already encoded data and selects prediction data used for encoding from the prediction data candidates;
A difference absolute value encoding unit that encodes the difference absolute value by arithmetically encoding the symbol string while using the difference absolute value between the predetermined data and the prediction data as a symbol string; and
The difference absolute value encoding unit changes an appearance probability of each symbol used for arithmetic encoding of the symbol sequence according to the prediction data selected by the prediction data determination unit. .
前記所定のデータが、動きベクトルデータであることを特徴とする請求項1から6のいずれか1項に記載の符号化装置。   The encoding apparatus according to claim 1, wherein the predetermined data is motion vector data. 入力画像と既に復号済みの参照画像との間の動きベクトルを推定する動き推定部と、前記動きベクトルを符号化する動きベクトル符号化部と、前記動きベクトルを用いて前記参照画像から予測信号を生成するインター予測部と、前記予測信号と前記入力画像の差分を算出する差分算出部と、前記差分を変換する変換部と、前記変換で得られた変換係数を量子化する量子化部を備える動画像符号化装置であって、前記動きベクトル符号化部での動きベクトルの符号化に請求項7に記載の符号化装置を用いることを特徴とする動画像符号化装置。   A motion estimation unit that estimates a motion vector between an input image and a reference image that has already been decoded, a motion vector encoding unit that encodes the motion vector, and a prediction signal from the reference image using the motion vector An inter prediction unit to be generated; a difference calculation unit that calculates a difference between the prediction signal and the input image; a conversion unit that converts the difference; and a quantization unit that quantizes a conversion coefficient obtained by the conversion. 8. A moving picture coding apparatus according to claim 7, wherein the coding apparatus according to claim 7 is used for coding a motion vector in the motion vector coding unit. 所定のデータの復号に際し、符号化されている差分絶対値を復号する差分絶対値復号部と、
既に符号化済みのデータから予測データを生成し、前記差分絶対値と前記予測データとからデータ候補を算出するデータ候補算出部と、
前記データ候補算出部で生成されたデータ候補の数が2以上である場合に、各データ候補に対してデータ候補毎に異なる値が設定されたフラグを復号するデータ候補特定フラグ復号部と、を備えていることを特徴とする復号装置。
A difference absolute value decoding unit for decoding the encoded difference absolute value when decoding predetermined data; and
A data candidate calculation unit that generates prediction data from already encoded data, and calculates a data candidate from the difference absolute value and the prediction data;
A data candidate identification flag decoding unit that decodes a flag in which a different value is set for each data candidate for each data candidate when the number of data candidates generated by the data candidate calculation unit is 2 or more; A decoding device comprising:
請求項9に記載の復号装置であって、
各データ候補のコストを算出するデータ候補コスト算出部を更に備え、
前記データ候補特定フラグ復号部により復号されるフラグは、前記データ候補コスト算出部により算出されたそのデータ候補のコストに応じたフラグである、ことを特徴とする復号装置。
The decoding device according to claim 9, wherein
A data candidate cost calculation unit for calculating the cost of each data candidate;
The decoding device characterized in that the flag decoded by the data candidate identification flag decoding unit is a flag corresponding to the cost of the data candidate calculated by the data candidate cost calculation unit.
請求項9または10に記載の復号装置であって、
前記差分絶対値復号部は、前記所定のデータおよび前記予測データが複数の成分からなるデータである場合に、成分毎に前記差分絶対値を復号するか、または、成分ごとの差分絶対値の和を復号することを特徴とする復号装置。
The decoding device according to claim 9 or 10,
The difference absolute value decoding unit decodes the difference absolute value for each component or the sum of the difference absolute values for each component when the predetermined data and the prediction data are data composed of a plurality of components. The decoding apparatus characterized by decoding.
所定のデータの復号に際し、符号化されている差分絶対値を復号し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から符号化に用いる予測データを選択する予測データ決定部と、
前記予測データと前記予測データ候補から、前記差分絶対値と前記予測データから算出されるデータ候補の有効性を判定するデータ候補判定部と、を備え、
前記データ候補判定部で有効とされたデータ候補の数が2以上である場合に、前記データ候補を特定するフラグを復号する、データ候補特定フラグ復号部を備えることを特徴とする復号装置。
When decoding predetermined data, the encoded absolute difference value is decoded, a plurality of prediction data candidates are generated from the already encoded data, and the prediction data used for encoding is selected from the prediction data candidates A prediction data determination unit to
A data candidate determination unit that determines the validity of the data candidate calculated from the difference absolute value and the prediction data from the prediction data and the prediction data candidate;
A decoding apparatus comprising: a data candidate specifying flag decoding unit configured to decode a flag for specifying the data candidate when the number of data candidates validated by the data candidate determination unit is two or more.
請求項12に記載の復号装置であって、
前記データ候補と前記予測データ候補とを入力とする関数により、前記データ候補と前記予測データ候補との距離に応じた値である距離コストを算出する距離コスト算出部であって、前記関数として演算量の異なる複数の関数を選択可能な距離コスト算出部を、さらに備え、
前記差分絶対値復号部は、前記距離コスト算出部が選択した関数を示すインデックスを復号することを特徴とする復号装置。
The decoding device according to claim 12, comprising:
A distance cost calculation unit that calculates a distance cost that is a value corresponding to a distance between the data candidate and the prediction data candidate by a function having the data candidate and the prediction data candidate as inputs, and calculates the function as the function A distance cost calculation unit capable of selecting a plurality of functions having different amounts is further provided,
The absolute difference decoding unit decodes an index indicating the function selected by the distance cost calculation unit.
所定のデータの復号に際し、既に符号化済みのデータから複数の予測データ候補を生成し、前記予測データ候補の中から復号に用いる予測データを選択する予測データ決定部と、
前記所定のデータと前記予測データとの差分絶対値であるシンボル列を算術復号することにより、前記差分絶対値を復号する差分絶対値復号部と、を備え、
前記差分絶対値復号部は、前記シンボル列を復号するために用いる各シンボルの出現確率を、前記予測データ決定部が選択した予測データに応じて変更することを特徴とする復号装置。
When decoding predetermined data, a prediction data determination unit that generates a plurality of prediction data candidates from already encoded data and selects prediction data used for decoding from the prediction data candidates;
A difference absolute value decoding unit that decodes the difference absolute value by arithmetically decoding a symbol string that is a difference absolute value between the predetermined data and the prediction data; and
The difference absolute value decoding unit changes the appearance probability of each symbol used for decoding the symbol string according to the prediction data selected by the prediction data determination unit.
前記所定のデータが、動きベクトルデータであることを特徴とする請求項9から14のいずれか1項に記載の復号装置。   15. The decoding apparatus according to claim 9, wherein the predetermined data is motion vector data. 動きベクトルを復号する動きベクトル復号部と、既に復号済みの参照画像と、前記動きベクトルから予測信号を生成するインター予測部と、変換係数を逆量子化する逆量子化部と、変換係数を逆変換し差分信号を生成する逆変換部を備え、前記予測信号と前記差分信号を加算し復号信号を再生する動画像復号装置であって、前記動きベクトル復号部での動きベクトルの復号に請求項15に記載の復号装置を用いることを特徴とする動画像復号装置。   A motion vector decoding unit that decodes a motion vector, an already decoded reference image, an inter prediction unit that generates a prediction signal from the motion vector, an inverse quantization unit that inversely quantizes the transform coefficient, and an inverse transform coefficient A video decoding device comprising an inverse conversion unit that converts and generates a difference signal, adds the prediction signal and the difference signal, and reproduces a decoded signal, wherein the motion vector decoding unit decodes the motion vector. 15. A moving picture decoding apparatus using the decoding apparatus according to 15. 請求項1から7のいずれか1項に記載の符号化装置が出力する符号化データであって、前記フラグを含む符号化データ。   The encoded data output from the encoding device according to any one of claims 1 to 7, wherein the encoded data includes the flag.
JP2011531972A 2009-09-18 2010-09-16 Encoding device, decoding device, moving image encoding device, moving image decoding device, and encoded data Pending JPWO2011034148A1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2009217137 2009-09-18
JP2009217137 2009-09-18
JP2009238216 2009-10-15
JP2009238216 2009-10-15
PCT/JP2010/066087 WO2011034148A1 (en) 2009-09-18 2010-09-16 Encoder apparatus, decoder apparatus, moving image encoder apparatus, moving image decoder apparatus, and encoding data

Publications (1)

Publication Number Publication Date
JPWO2011034148A1 true JPWO2011034148A1 (en) 2013-02-14

Family

ID=43758748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011531972A Pending JPWO2011034148A1 (en) 2009-09-18 2010-09-16 Encoding device, decoding device, moving image encoding device, moving image decoding device, and encoded data

Country Status (2)

Country Link
JP (1) JPWO2011034148A1 (en)
WO (1) WO2011034148A1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101522850B1 (en) * 2010-01-14 2015-05-26 삼성전자주식회사 Method and apparatus for encoding/decoding motion vector
KR101768207B1 (en) * 2010-01-19 2017-08-16 삼성전자주식회사 Method and apparatus for encoding/decoding motion vector based on reduced motion vector predictor candidates
JP6523494B2 (en) * 2010-01-19 2019-06-05 サムスン エレクトロニクス カンパニー リミテッド Method and apparatus for encoding / decoding motion vector based on reduced predicted motion vector candidate
US9532066B2 (en) * 2011-01-21 2016-12-27 Qualcomm Incorporated Motion vector prediction
EP3522377A1 (en) * 2011-06-24 2019-08-07 Velos Media International Limited Image encoding method, image decoding method, image encoding device, image decoding device, aind image encoding/decoding device
WO2013001795A1 (en) * 2011-06-29 2013-01-03 パナソニック株式会社 Image encoding method, image decoding method, image encoding device, and image decoding device
US10536701B2 (en) * 2011-07-01 2020-01-14 Qualcomm Incorporated Video coding using adaptive motion vector resolution
WO2013065300A1 (en) * 2011-10-31 2013-05-10 株式会社Jvcケンウッド Moving-image encoding device, moving-image encoding method, moving-image encoding program, transmitter, transmission method and transmission program, and moving-image decoding device, moving-image decoding method, moving-image decoding program, receiver, and reception method and reception program
CN108235032B (en) * 2012-01-18 2022-01-07 Jvc 建伍株式会社 Moving picture decoding device and moving picture decoding method
WO2019150411A1 (en) * 2018-01-30 2019-08-08 富士通株式会社 Video encoding device, video encoding method, video decoding device, and video decoding method, and video encoding system
JP7242811B2 (en) * 2019-10-21 2023-03-20 株式会社東芝 Image encoding method and image decoding method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004135251A (en) * 2002-10-10 2004-04-30 Sony Corp Method of encoding image information, and method of decoding the image information
JP2007525100A (en) * 2003-06-30 2007-08-30 株式会社エヌ・ティ・ティ・ドコモ Method and apparatus for encoding motion information
JP2008211697A (en) * 2007-02-28 2008-09-11 Sharp Corp Encoder and decoder

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004135251A (en) * 2002-10-10 2004-04-30 Sony Corp Method of encoding image information, and method of decoding the image information
JP2007525100A (en) * 2003-06-30 2007-08-30 株式会社エヌ・ティ・ティ・ドコモ Method and apparatus for encoding motion information
JP2008211697A (en) * 2007-02-28 2008-09-11 Sharp Corp Encoder and decoder

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6012065700; Yong Ho Moon et al.: 'A hybrid motion-vector coding scheme based on an estimation of the locality for motion-vector differ' IEEE Transactions on Circuits and Systems for Video Technology Vol.16, No.6, 200606, pp.781-785, IEEE *
JPN6012065701; Sung Deuk Kim and Jong Beom Ra: 'An efficient motion vector coding scheme based on minimum bitrate prediction' An efficient motion vector coding scheme based on minimum bitrate prediction Vol.8, No.8, 199908, pp.1117-1120, IEEE *
JPN6012065703; Joel Jung and Guillaume Laroche: 'Competition-Based Scheme for Motion Vector Selection and Coding' ITU - Telecommunications Standardization Sector STUDY GROUP 16 Question 6 Video Coding Experts Group VCEG-AC06, 200607, pp.1-7, 29th Meeting: Klagenfurt, Austria *

Also Published As

Publication number Publication date
WO2011034148A1 (en) 2011-03-24

Similar Documents

Publication Publication Date Title
JPWO2011034148A1 (en) Encoding device, decoding device, moving image encoding device, moving image decoding device, and encoded data
US11689740B2 (en) Motion vector prediction
CN108781295B (en) Method and apparatus for pattern-based motion vector derivation for video coding
CN108028939B (en) Method and apparatus for decoder-side motion derivation for video coding
JP5277257B2 (en) Video decoding method and video encoding method
RU2678510C2 (en) Method and device for coding and decoding motion vector based on reduced predictors-candidates of motion vector
KR101128533B1 (en) Image encoding method and decoding method, their device, their program, and recording medium with the program recorded thereon
Kim et al. An efficient motion vector coding scheme based on minimum bitrate prediction
KR101083379B1 (en) Motion vector searching method and device, and record medium having recorded the program therefor
US12081790B2 (en) Method and apparatus for encoding/decoding images using adaptive motion vector resolution
US20140140408A1 (en) Method and apparatus for encoding motion information and method and apparatus for decoding same
KR101314836B1 (en) Predicted pixel value generation procedure automatic producing method, image encoding method, image decoding method, apparatus therefor, programs therefor, and storage media which store the programs
US20120224635A1 (en) Method and apparatus for encoding/decoding images using adaptive motion vector resolution
JP5367097B2 (en) Motion vector predictive coding method, motion vector predictive decoding method, moving picture coding apparatus, moving picture decoding apparatus, and programs thereof
CN111418214A (en) Syntactic prediction using reconstructed pixel points
US20210218977A1 (en) Methods and systems of exponential partitioning
JP5590269B1 (en) Video encoding method, video encoding apparatus, and video encoding program
JP2016154395A (en) Method and apparatus for encoding/decoding video using motion vector of previous block as motion vector for current block
JP2019110530A (en) Method and device for encoding video data
JP2024098086A (en) Decoding method, coding method, apparatus, device, and storage medium
KR20120105412A (en) Methods for arithmetic coding and decoding
CN103959788A (en) Estimation of motion at the level of the decoder by matching of models
WO2019150411A1 (en) Video encoding device, video encoding method, video decoding device, and video decoding method, and video encoding system
JP2012129756A (en) Encoder, decoder, encoding method, decoding method, encoding program, and decoding program
JP2015111774A (en) Video coding device and video coding program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121218

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130409