JP2014135744A - Moving image decoding method, moving image decoder and moving image decoding program - Google Patents

Moving image decoding method, moving image decoder and moving image decoding program Download PDF

Info

Publication number
JP2014135744A
JP2014135744A JP2014034086A JP2014034086A JP2014135744A JP 2014135744 A JP2014135744 A JP 2014135744A JP 2014034086 A JP2014034086 A JP 2014034086A JP 2014034086 A JP2014034086 A JP 2014034086A JP 2014135744 A JP2014135744 A JP 2014135744A
Authority
JP
Japan
Prior art keywords
motion vector
vector
prediction
picture
unit
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.)
Granted
Application number
JP2014034086A
Other languages
Japanese (ja)
Other versions
JP5786988B2 (en
Inventor
Tomohito Shimada
智史 島田
Akira Nakagawa
章 中川
Kimihiko Kazui
君彦 数井
Junpei Koyama
純平 小山
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014034086A priority Critical patent/JP5786988B2/en
Publication of JP2014135744A publication Critical patent/JP2014135744A/en
Application granted granted Critical
Publication of JP5786988B2 publication Critical patent/JP5786988B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To improve prediction accuracy of a prediction vector candidate.SOLUTION: In a moving image decoding method, when motion vector information including a motion vector mvc (mvcx, mvcy) of a block which is spatially or temporally adjacent to picture information of a picture to which a processing object block can refer and the processing object block and a reference picture identifier showing a picture to which the motion vector mvc refers is used, and a prediction vector candidate mvc' to the motion vector mv of the processing object block is scaled by correcting the prediction vector candidate in a zero direction by using a prescribed mathematical formula when the motion vector mvc of the adjacent block is scaled and calculated and when a Scale coefficient has N bits as accuracy or a decimal point or below and N=8 bits, and a difference with the motion vector of the processing object block is calculated by using the scaled prediction vector candidate mvc'.

Description

本発明は、各ピクチャを複数のブロックに分割してブロックごとに動き補償する動画像復号方法、動画像復号装置、及び動画像復号プログラムに関する。   The present invention relates to a moving picture decoding method, a moving picture decoding apparatus, and a moving picture decoding program that divide each picture into a plurality of blocks and perform motion compensation for each block.

近年の動画像符号化では、画像をブロックに分割し、ブロックに含まれる画素を予測して予測差分を符号化することで高い圧縮率を達成している。符号化対象のピクチャ内の画素から予測画素を構成する予測モードをイントラ予測といい、動き補償と呼ばれる過去に符号化した参照画像から予測画素を構成する予測モードをインター予測という。   In recent video coding, a high compression rate is achieved by dividing an image into blocks, predicting pixels included in the block, and coding a prediction difference. A prediction mode that configures a prediction pixel from pixels in a picture to be encoded is called intra prediction, and a prediction mode that configures a prediction pixel from a previously encoded reference image called motion compensation is called inter prediction.

動画像符号化装置において、インター予測では、予測画素として参照する領域を動きベクトルという水平成分・垂直成分の2次元座標データで表現し、動きベクトルと画素の予測差分データを符号化する。動きベクトルは、その符号量を抑えるため、符号化対象ブロックに隣接するブロックの動きベクトルから予測ベクトルを生成し、動きベクトルと予測ベクトルとの差分ベクトルを符号化する。小さい差分ベクトルほど符号量を小さく割り当てることで、動きベクトルの符号量を削減することができ、符号効率を向上させることができる。   In the inter-prediction apparatus, in inter prediction, a region referred to as a prediction pixel is expressed by two-dimensional coordinate data of horizontal and vertical components called motion vectors, and motion vector and pixel prediction difference data are encoded. In order to suppress the coding amount of the motion vector, a prediction vector is generated from a motion vector of a block adjacent to the encoding target block, and a difference vector between the motion vector and the prediction vector is encoded. By assigning a smaller code amount to a smaller difference vector, the code amount of the motion vector can be reduced, and the code efficiency can be improved.

動画像復号装置においても、各ブロックで動画像符号化装置と同一の予測ベクトルを決定し、符号化された差分ベクトルと予測ベクトルを加算することによって動きベクトルを復元する。そのため、動画像符号化装置と動画像復号装置とは、同一の動きベクトル予測部を備える。   Also in the video decoding apparatus, the same prediction vector as that of the video encoding apparatus is determined for each block, and the motion vector is restored by adding the encoded difference vector and the prediction vector. Therefore, the moving image encoding device and the moving image decoding device include the same motion vector prediction unit.

動画像復号装置において、各ブロックは、一般には画像の左上から右下に向かってラスタースキャンやzスキャンの順序で復号される。そのため、動画像符号化装置及び動画像復号装置における動きベクトル予測部が、予測に利用できる周辺ブロックの動きベクトルは、動画像復号装置にて処理対象ブロックを復号するときに既に復号済みとなる左や上に隣接するブロックの動きベクトルとなる。   In the moving image decoding apparatus, each block is generally decoded in the order of raster scan or z scan from the upper left to the lower right of the image. Therefore, the motion vectors of peripheral blocks that can be used for prediction by the motion vector prediction unit in the video encoding device and the video decoding device are already decoded when the processing target block is decoded by the video decoding device. It becomes the motion vector of the block adjacent to the top.

さらに、MPEG(Moving Picture Experts Group)−4 AVC/H.264(以下、H.264ともいう)では、処理対象ピクチャではなく、過去に符号化、復号処理した参照ピクチャの動きベクトルを用いて予測ベクトルを決定することもある(非特許文献1)。   Furthermore, MPEG (Moving Picture Experts Group) -4 AVC / H. In H.264 (hereinafter also referred to as H.264), a prediction vector may be determined using a motion vector of a reference picture that has been encoded and decoded in the past instead of a processing target picture (Non-patent Document 1).

予測ベクトル決定方法の従来技術として、国際標準化団体ISO/IECとITU−Tが共同に標準化を検討している動画像符号化方式HEVC(High Efficiency Video Coding)の技術が開示されている(非特許文献2)。また、参照ソフトウェアとしてはHM Software(Version 3.0)が開示されている。   As a conventional technique of a prediction vector determination method, a technique of HEVC (High Efficiency Video Coding) which is an international standardization organization ISO / IEC and ITU-T jointly studying standardization is disclosed (non-patent document). Reference 2). As reference software, HM Software (Version 3.0) is disclosed.

以下に、HEVCに関する概要説明を行う。HEVCでは、参照可能なピクチャのリスト(以下、参照ピクチャリストともいう)として、L0と、L1という2つのリストを持つ。各ブロックは、L0とL1それぞれに対応する動きベクトルによって、最大2つの参照ピクチャの領域をインター予測に使用することができる。   Below, the outline | summary description regarding HEVC is given. In HEVC, there are two lists, L0 and L1, as lists of pictures that can be referred to (hereinafter also referred to as reference picture lists). Each block can use a maximum of two reference picture areas for inter prediction by motion vectors corresponding to L0 and L1, respectively.

L0とL1とは一般には、表示時間の方向に対応し、L0は処理対象ピクチャに対して過去のピクチャの参照リストであり、L1は未来のピクチャの参照リストである。参照ピクチャリストの各エントリは、画素データの記憶位置、及びそのピクチャの表示時間情報POC(Picture Order Count)値を含む情報を有する。   L0 and L1 generally correspond to the direction of display time, L0 is a reference list of past pictures with respect to the processing target picture, and L1 is a reference list of future pictures. Each entry of the reference picture list has information including a storage position of pixel data and display time information POC (Picture Order Count) value of the picture.

POCとは、各ピクチャの表示順序と相対的な表示時間を表す整数値である。POC値が0となるピクチャの表示時間を0としたときに、あるピクチャの表示時間は、そのピクチャのPOC値の定数倍で表すことができる。例えば、フレームの表示周期(Hz)をfr、POC値がpであるピクチャの表示時間は、式(1)で表すことができる。これにより、POCはある定数(秒)を単位とした表示時間と見なすことができる。
表示時間=p×(fr/2) ・・・式(1)
1つの参照ピクチャリストのエントリ数が2以上であった場合、各動きベクトルは、参照ピクチャリスト内のインデックス番号(参照インデックス)によって、どの参照ピクチャを参照するかを指定する。特に参照ピクチャリストのエントリ数が1ピクチャしか含まない場合、そのリストに対応する動きベクトルの参照インデックスは自動的に0番となるため、明示的に参照インデックスを指定する必要はない。
The POC is an integer value representing the display time relative to the display order of each picture. When the display time of a picture with a POC value of 0 is assumed to be 0, the display time of a picture can be represented by a constant multiple of the POC value of that picture. For example, the display time of a picture in which the frame display period (Hz) is fr and the POC value is p can be expressed by Expression (1). Thereby, POC can be regarded as a display time in units of a certain constant (second).
Display time = p × (fr / 2) (1)
When the number of entries in one reference picture list is 2 or more, each motion vector specifies which reference picture is to be referred to by an index number (reference index) in the reference picture list. In particular, when the number of entries in the reference picture list includes only one picture, the reference index of the motion vector corresponding to that list is automatically 0, so there is no need to explicitly specify the reference index.

すなわち、ブロックの動きベクトルは、L0/L1リスト識別子と、参照インデックスと、ベクトルデータ(Vx,Vy)とを含む。L0/L1リスト識別子と、参照インデックスとにより参照ピクチャが指定される。参照ピクチャ内の領域は、(Vx,Vy)で指定される。VxとVyとは、それぞれ水平方向と垂直方向における参照領域の座標と処理対象ブロック(現ブロックともいう)の座標の差であり、例えば1/4画素単位で表現される。L0/L1リスト識別子と、参照インデックスとを参照ピクチャ識別子と呼び、(Vx,Vy)をベクトルデータと呼び、(0,0)のベクトルを0ベクトルと呼ぶ。   That is, the motion vector of the block includes an L0 / L1 list identifier, a reference index, and vector data (Vx, Vy). A reference picture is designated by the L0 / L1 list identifier and the reference index. An area in the reference picture is specified by (Vx, Vy). Vx and Vy are the differences between the coordinates of the reference area and the coordinates of the processing target block (also referred to as the current block) in the horizontal direction and the vertical direction, respectively. The L0 / L1 list identifier and the reference index are referred to as a reference picture identifier, (Vx, Vy) is referred to as vector data, and the (0, 0) vector is referred to as a 0 vector.

HEVCにおける予測ベクトルの決定方法について説明する。予測ベクトルは、L0/L1リスト識別子と、参照インデックスとで指定された参照ピクチャごとに決定される。参照ピクチャリストがLX、参照インデックスがrefidxで指定される参照ピクチャを参照する動きベクトルに対する予測ベクトルのベクトルデータmvpを決定するとき、最大で3つのベクトルデータを予測ベクトル候補として算出する。   A method for determining a prediction vector in HEVC will be described. The prediction vector is determined for each reference picture specified by the L0 / L1 list identifier and the reference index. When determining vector data mvp of a prediction vector for a motion vector that refers to a reference picture specified by a reference picture list of LX and a reference index of refidx, a maximum of three vector data are calculated as prediction vector candidates.

処理対象ブロックに対して空間方向と時間方向に隣接するブロックは、左方向に隣接したブロック、上方向に隣接したブロック、時間方向に隣接したブロックの3つに分類される。この3グループからそれぞれ最大で1本の予測ベクトル候補が選出される。   Blocks adjacent to the processing target block in the spatial direction and time direction are classified into three blocks: a block adjacent in the left direction, a block adjacent in the upward direction, and a block adjacent in the time direction. A maximum of one prediction vector candidate is selected from each of these three groups.

選出された予測ベクトル候補は、時間方向に隣接したグループ、左に隣接したグループ、上に隣接したグループの優先順序でリスト化される。このリストを配列mvp_candとする。もし、全てのグループで予測ベクトル候補が1つも存在していなかった場合、0ベクトルをmvp_candに追加する。   The selected prediction vector candidates are listed in the priority order of the group adjacent in the time direction, the group adjacent to the left, and the group adjacent above. This list is an array mvp_cand. If no prediction vector candidate exists in all groups, the 0 vector is added to mvp_cand.

また、候補リスト内のいずれの予測ベクトル候補を予測ベクトルとして使用するかの識別子として、予測候補インデックスmvp_idxを用いる。予測ベクトルmvpは、mvp_candのmvp_idx番目にエントリされた予測ベクトル候補のベクトルデータとなる。   Further, the prediction candidate index mvp_idx is used as an identifier of which prediction vector candidate in the candidate list is used as the prediction vector. The prediction vector mvp is vector data of a prediction vector candidate entered in the mvp_idxth of mvp_cand.

動画像符号化装置において、符号化対象ブロックのLXのrefidxを参照する動きベクトルがmvであったとき、mvp_candの中で、mvと最も近い予測ベクトル候補を探し、そのインデックスをmvp_idxとする。さらに、差分ベクトルmvdを式(2)で算出し、リストLXの動きベクトル情報として、refidx、mvd、mvp_idxが符号化される。
mvd=mv−mvp ・・・式(2)
動画像復号装置は、refidx、mvd、mvp_idxを復号し、refidxに基づき、mvp_candを決定し、予測ベクトルmvpを、mvp_candのmvp_idx番目の予測ベクトル候補とする。動画像復号装置は、式(3)に基づき、処理対象ブロックの動きベクトルmvを復元する。
mv=mvd+mvp ・・・式(3)
次に、空間方向に隣接したブロックの説明をする。図1は、従来技術(その1)を説明するための図である。図1に示す例では、左隣接のブロックと、上隣接ブロックから予測ベクトル候補を選択する手順について説明する。
In the moving image encoding device, when the motion vector referring to the LX refidx of the block to be encoded is mv, a prediction vector candidate closest to mv is searched for in mvp_cand, and its index is set to mvp_idx. Further, the difference vector mvd is calculated by the equation (2), and refidx, mvd, and mvp_idx are encoded as the motion vector information of the list LX.
mvd = mv−mvp (2)
The moving picture decoding apparatus decodes refidx, mvd, and mvp_idx, determines mvp_cand based on refidx, and sets the prediction vector mvp as the mvp_idxth prediction vector candidate of mvp_cand. The moving image decoding apparatus restores the motion vector mv of the processing target block based on Expression (3).
mv = mvd + mvp (3)
Next, blocks adjacent in the spatial direction will be described. FIG. 1 is a diagram for explaining the prior art (part 1). In the example illustrated in FIG. 1, a procedure for selecting a prediction vector candidate from the left adjacent block and the upper adjacent block will be described.

まず、左隣接ブロックから予測ベクトル候補を選出する手順について説明する。処理対象ブロックの左側に隣接したブロックI、ブロックHの順で、参照リストがLXでrefidxと等しい参照インデックスを持つ動きベクトルが見つかるまで探索する。参照リストがLXでrefidxと等しい参照インデックスを持つ動きベクトル1が見つかれば、この動きベクトル1が選択される。   First, a procedure for selecting a prediction vector candidate from the left adjacent block will be described. Search is performed in the order of block I and block H adjacent to the left side of the processing target block until a motion vector having a reference index equal to refidx with a reference list of LX is found. If a motion vector 1 having a reference index equal to refidx in the reference list is found, this motion vector 1 is selected.

動きベクトル1が見つからなければ、LXではない参照リストLYの中で、参照リストLXのrefidxが示す参照ピクチャと同一の参照ピクチャを参照する動きベクトル2があれば、その動きベクトル2が選択される。   If motion vector 1 is not found, if there is motion vector 2 that refers to the same reference picture as the reference picture indicated by refidx in reference list LX in reference list LY that is not LX, motion vector 2 is selected. .

動きベクトル2が見つからなければ、インター予測による動きベクトル3が存在すれば、この動きベクトル3が選択される。参照リストLXのrefidxが示す参照ピクチャと同一の参照ピクチャを参照する動きベクトルが選択されなかった場合、後述するスケーリング処理が行われる。   If motion vector 2 is not found, if motion vector 3 by inter prediction exists, motion vector 3 is selected. When a motion vector that refers to the same reference picture as the reference picture indicated by refidx in the reference list LX is not selected, scaling processing described later is performed.

次に、上隣接ブロックから予測ベクトル候補を選出する手順について説明する。処理対象ブロックの上側に隣接したブロックE、ブロックD、ブロックAの順で、参照リストがLXでrefidxと等しい参照インデックスを持つ動きベクトル1が見つかるまで探索する。参照リストがLXでrefidxと等しい参照インデックスを持つ動きベクトル1が見つかれば、この動きベクトル1が選択される。   Next, a procedure for selecting a prediction vector candidate from the upper adjacent block will be described. Search is performed in the order of block E, block D, and block A adjacent to the upper side of the processing target block until a motion vector 1 having a reference index equal to refidx is found in the reference list LX. If a motion vector 1 having a reference index equal to refidx in the reference list is found, this motion vector 1 is selected.

動きベクトル1が見つからなければ、LXではない参照リストLYの中で、参照リストLXのrefidxが示す参照ピクチャと同一の参照ピクチャを参照する動きベクトル2があれば、その動きベクトル2が選択される。   If motion vector 1 is not found, if there is motion vector 2 that refers to the same reference picture as the reference picture indicated by refidx in reference list LX in reference list LY that is not LX, motion vector 2 is selected. .

動きベクトル2が見つからなければ、インター予測による動きベクトル3が存在すれば、この動きベクトル3が選択される。参照リストLXのrefidxが示す参照ピクチャと同一の参照ピクチャを参照する動きベクトルが選択されなかった場合、後述するスケーリング処理が行われる。   If motion vector 2 is not found, if motion vector 3 by inter prediction exists, motion vector 3 is selected. When a motion vector that refers to the same reference picture as the reference picture indicated by refidx in the reference list LX is not selected, scaling processing described later is performed.

次に、時間方向に隣接したブロックの説明をする。図2は、従来技術(その2)を説明するための図である。図2に示す例では、時間方向に隣接するブロックから予測ベクトル候補を選択する手順について説明する。   Next, blocks adjacent in the time direction will be described. FIG. 2 is a diagram for explaining the prior art (part 2). In the example illustrated in FIG. 2, a procedure for selecting a prediction vector candidate from blocks adjacent in the time direction will be described.

まず、時間方向に隣接するブロックを含むピクチャとしてCollocated Picture(以下、ColPicともいう)と呼ばれる時間方向に隣接した参照ピクチャ20が指定される。ColPic20は、L0とL1とのどちらかの参照リストの参照インデックス0番の参照ピクチャである。通常はL1の参照インデックス0番がColPicとなる。   First, a reference picture 20 adjacent in the time direction called Collated Picture (hereinafter also referred to as ColPic) is designated as a picture including blocks adjacent in the time direction. ColPic20 is a reference picture with reference index 0 in the reference list of either L0 or L1. Normally, reference index 0 of L1 is ColPic.

ColPic20の中で処理対象ブロック11と同一位置のブロック(Colブロック)21が有する動きベクトルをmvCol22とし、mvCol22を後述するスケーリング方法にてスケーリングして、予測ベクトル候補が生成される。   A motion vector included in a block (Col block) 21 at the same position as the processing target block 11 in the ColPic 20 is set as mvCol22, and the mvCol22 is scaled by a scaling method described later to generate a prediction vector candidate.

動きベクトルのスケーリング方法について記述する。入力の動きベクトルをmvc=(mvcx、mvcy)とし、出力ベクトル(予測ベクトル候補)をmvc'=(mvcx'、mvcy')とする。次に、mvcがmvColである場合を例として説明する。   A motion vector scaling method is described. The input motion vector is mvc = (mvcx, mvcy), and the output vector (predicted vector candidate) is mvc ′ = (mvcx ′, mvcy ′). Next, a case where mvc is mvCol will be described as an example.

mvcが参照するピクチャをColRefPic23とする。mvcを有するピクチャ20のPOC値をColPicPoc、ColRefPic23のPOCをColRefPocとする。現在の処理対象ピクチャ10のPOC値をCurPoc、RefPicList LXとRefIdxとで指定されるピクチャ25のPOC値をCurrRefPocとする。   A picture referred to by mvc is referred to as ColRefPic23. The POC value of the picture 20 having mvc is ColPicPoc, and the POC value of ColRefPic23 is ColRefPoc. The POC value of the current processing target picture 10 is CurPoc, and the POC value of the picture 25 specified by RefPicList LX and RefIdx is CurrRefPoc.

なおスケーリング対象の動きベクトルが、空間方向に隣接するブロックの動きベクトルであった場合、ColPicPocは、CurrPOCと等しい。また、スケーリング対象の動きベクトルが、時間方向に隣接するブロックの動きベクトルであった場合、ColPicPocはColPicのPOC値と等しい。   Note that when the motion vector to be scaled is a motion vector of a block adjacent in the spatial direction, ColPicPoc is equal to CurrPOC. In addition, when the motion vector to be scaled is a motion vector of a block adjacent in the time direction, ColPicPoc is equal to the POC value of ColPic.

mvcは、式(4)、式(5)に示すように、ピクチャの時間間隔の比に基づいてスケーリングされる。
mvcx'=mvcx×(CurrPoc−CurRefPoc)÷(ColPicPoc−ColRefPoc) ・・・式(4)
mvcy'=mvcy×(CurrPoc−CurRefPoc)÷(ColPicPoc−ColRefPoc) ・・・式(5)
ただし、除算は計算量が大きいため、例えば、以下のようにして、mvc'は乗算とシフトで近似して算出される。
DiffPocD=ColPicPOC−ColRefPOC ・・・式(6)
DiffPocB=CurrPOC−CurrRefPOC ・・・式(7)
とすると、
TDB=Clip3(−128,127,DiffPocB) ・・・式(8)
TDD=Clip3(−128,127,DiffPocD) ・・・式(9)
iX=(0x4000+abs(TDD/2))/TDD ・・・式(10)
Scale=Clip3(−1024,1023,(TDB×iX+32)>>6)・・・式(11)
abs(・):絶対値を返す関数
Clip3(x,y,z):x、y、zの中央値を返す関数
>>:算術右シフト
最終的に求まったScaleをスケーリング係数とする。この例では、Scaleが256の場合、1倍の係数、すなわち、スケールしないことを意味する。このとき、Scale係数は小数点以下の精度として8ビットを有し、スケーリング係数を乗算することで、動きベクトルは小数点以下の精度が8ビット拡張される。
mvc is scaled based on the ratio of the time intervals of pictures as shown in equations (4) and (5).
mvcx ′ = mvcx × (CurrPoc−CurRefPoc) ÷ (ColPicPoc−ColRefPoc) (4)
mvcy ′ = mvcy × (CurrPoc−CurRefPoc) ÷ (ColPicPoc−ColRefPoc) (5)
However, since division requires a large amount of calculation, for example, mvc ′ is calculated by approximation by multiplication and shift as follows.
DiffPocD = ColPicPOC-ColRefPOC (6)
DiffPocB = CurrPOC-CurrRefPOC (7)
Then,
TDB = Clip3 (−128, 127, DiffPocB) (8)
TDD = Clip3 (−128, 127, DiffPocD) (9)
iX = (0x4000 + abs (TDD / 2)) / TDD (10)
Scale = Clip3 (−1024, 1023, (TDB × iX + 32) >> 6) (11)
abs (•): Function that returns absolute value Clip3 (x, y, z): Function that returns median value of x, y, z >>: Arithmetic right shift The finally obtained Scale is used as a scaling factor. In this example, when Scale is 256, it means that the coefficient is one time, that is, it is not scaled. At this time, the Scale coefficient has 8 bits as the precision after the decimal point, and the motion vector is expanded by 8 bits below the decimal point by multiplying by the scaling coefficient.

次に、スケーリング係数に基づいて行うスケーリング演算は、以下のようにして算出される。
mvcx'=(Scale×mvcx+128)>>8 ・・・式(12)
mvcy'=(Scale×mvcy+128)>>8 ・・・式(13)
当業者には自明であるが、2N−1を加算してNビット右シフトすることは、小数点以下Nビットの値を最も近い整数に丸めることを意味する。また、このスケーリング処理は、H.264(非特許文献1)でも同様の処理が行われる。このmvc'は、予測ベクトル候補となる。
Next, the scaling operation performed based on the scaling coefficient is calculated as follows.
mvcx ′ = (Scale × mvcx + 128) >> 8 Expression (12)
mvcy ′ = (Scale × mvcy + 128) >> 8 Expression (13)
As is obvious to those skilled in the art, adding 2 N-1 and shifting N bits to the right means rounding the value of N bits after the decimal point to the nearest integer. In addition, this scaling processing is performed by H.264. The same processing is performed in H.264 (Non-Patent Document 1). This mvc ′ is a prediction vector candidate.

ISO/IEC 14496-10 (MPEG-4 Part 10) / ITU-T Rec.H.264ISO / IEC 14496-10 (MPEG-4 Part 10) / ITU-T Rec.H.264 Thomas Wiegand、Woo-Jin Han、Benjamin Bross、Jens-Rainer Ohm、Gary J. Sullivan、"WD3: Working Draft 3 of High-Efficiency Video Coding" JCTVC-E603, JCT-VC 5th Meeting, 2011年3月Thomas Wiegand, Woo-Jin Han, Benjamin Bross, Jens-Rainer Ohm, Gary J. Sullivan, "WD3: Working Draft 3 of High-Efficiency Video Coding" JCTVC-E603, JCT-VC 5th Meeting, March 2011

HEVCやH.264において、各フレーム間の動きは、ブロックごとに動きベクトルによって表現される。通常、時間方向に隣接するブロックから予測ベクトルを生成する場合、時間方向に隣接するブロックの動きベクトルをスケーリングする。このとき、処理対象ピクチャの表示時間と処理対象ブロックが参照するピクチャの表示時間との差T1と、時間方向に隣接するブロックが属するピクチャの表示時間と、時間方向に隣接するブロックの動きベクトルが参照するピクチャの表示時間との差T2が異なる。   HEVC and H.C. In H.264, the motion between frames is represented by a motion vector for each block. Usually, when a prediction vector is generated from a block adjacent in the time direction, the motion vector of the block adjacent in the time direction is scaled. At this time, the difference T1 between the display time of the processing target picture and the display time of the picture referred to by the processing target block, the display time of the picture to which the block adjacent in the time direction belongs, and the motion vector of the block adjacent in the time direction are The difference T2 from the display time of the picture to be referenced is different.

ここで、単位時間あたりの動き量を一定とするために、表示時間差の比(T1÷T2)で動きベクトルをスケーリングする。このとき、例えば式(12)(13)に示すように、所定の小数点以下の精度を有するスケーリング係数でスケーリングを行い、スケーリングされたベクトルと最も近い整数値を持つベクトルを予測ベクトルとしてしまっては、予測ベクトルの精度が上がらないという問題があった。   Here, in order to make the motion amount per unit time constant, the motion vector is scaled by the display time difference ratio (T1 ÷ T2). At this time, for example, as shown in equations (12) and (13), scaling is performed with a scaling coefficient having a precision below a predetermined decimal point, and a vector having an integer value closest to the scaled vector is assumed as a prediction vector. There is a problem that the accuracy of the prediction vector does not increase.

そこで、開示の技術は、予測ベクトルの精度を向上させることを目的とする。   Therefore, the disclosed technique aims to improve the accuracy of a prediction vector.

開示の一態様における動画像復号方法は、処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて復号処理を行う動画像復号装置が実行する動画像復号方法であって、前記処理対象ブロックが参照可能なピクチャのピクチャ情報及び前記処理対象ブロックに対して空間的又は時間的に隣接するブロックの水平成分mvcx及び垂直成分mvcyを有する動きベクトルmvcと、該動きベクトルmvcが参照するピクチャを示す参照ピクチャ識別子とを含む動きベクトル情報を用いて、前記処理対象ブロックの動きベクトルmvに対する予測ベクトル候補mvc'を、前記隣接するブロックの動きベクトルmvcをスケーリングして算出する場合で、Scale係数は小数点以下の精度としてNビット有し、N=8ビットの場合、
mvcx'=sign(Scale×mvcx)×{(abs(Scale×mvcx)−a+128)>>8}
mvcy'=sign(Scale×mvcy)×{(abs(Scale×mvcy)−a+128)>>8}
abs(・):絶対値を返す関数
sign(・):符号(1または−1)を返す関数
とし、所定量aを、1≦a≦2N−2の範囲で該予測ベクトル候補を0方向に補正してスケーリングし、スケーリングされた予測ベクトル候補mvc'=(mvcx'、mvcy')を用いて前記処理対象ブロックの動きベクトルとの差分を算出する。
A moving image decoding method according to an aspect of the disclosure includes a moving image decoding apparatus that performs a decoding process using a motion vector of a processing target block and a prediction vector candidate of the motion vector for each processing target block. A motion vector mvc having picture information of a picture that can be referred to by the processing target block, and a horizontal component mvcx and a vertical component mvcy of a block spatially or temporally adjacent to the processing target block; Using motion vector information including a reference picture identifier indicating a picture to which a motion vector mvc refers, a predicted vector candidate mvc ′ for the motion vector mv of the processing target block is scaled with a motion vector mvc of the adjacent block In the case of calculation, the Scale coefficient should be accurate to the decimal point. N bits and N = 8 bits
mvcx ′ = sign (Scale × mvcx) × {(abs (Scale × mvcx) −a + 128) >> 8}
mvcy ′ = sign (Scale × mvcy) × {(abs (Scale × mvcy) −a + 128) >> 8}
abs (·): function that returns an absolute value sign (·): a function that returns a sign (1 or −1), and a predetermined amount a is set in the 0 direction within a range of 1 ≦ a ≦ 2 N−2. And the difference from the motion vector of the block to be processed is calculated using the scaled prediction vector candidate mvc ′ = (mvcx ′, mvcy ′).

開示の技術によれば、予測ベクトルの精度を向上させることができる。   According to the disclosed technique, the accuracy of a prediction vector can be improved.

従来技術(その1)を説明するための図。The figure for demonstrating a prior art (the 1). 従来技術(その2)を説明するための図。The figure for demonstrating a prior art (the 2). mvp'とmvColとの関係を示す図。The figure which shows the relationship between mvp 'and mvCol. mvp'が正の場合のmvの出現確率分布を示す図。The figure which shows the appearance probability distribution of mv in case mvp 'is positive. mvp'が負の場合のmvの出現確率分布を示す図。The figure which shows the appearance probability distribution of mv in case mvp 'is negative. 実施例1における動画像復号装置の構成の一例を示すブロック図。1 is a block diagram illustrating an example of a configuration of a video decoding device in Embodiment 1. FIG. 実施例1における予測ベクトル生成部の構成の一例を示すブロック図。FIG. 3 is a block diagram illustrating an example of a configuration of a prediction vector generation unit according to the first embodiment. 実施例1におけるスケーリング演算部の構成の一例を示すブロック図。FIG. 3 is a block diagram illustrating an example of a configuration of a scaling calculation unit according to the first embodiment. スケーリング演算部の各部の構成(その1)の一例を示すブロック図。The block diagram which shows an example of the structure (the 1) of each part of a scaling calculating part. スケーリング演算部の各部の構成(その2)の一例を示すブロック図。The block diagram which shows an example of the structure (the 2) of each part of a scaling calculating part. 具体例を用いたスケーリング演算部の処理を説明するための図。The figure for demonstrating the process of the scaling calculating part using a specific example. スケーリング演算部の各部の構成(その3)の一例を示すブロック図。The block diagram which shows an example of the structure (the 3) of each part of a scaling calculating part. 実施例1における動画像復号装置の処理の一例を示すフローチャート。5 is a flowchart illustrating an example of processing of the video decoding device in the first embodiment. 実施例1における予測ベクトル生成部による処理(その1)の一例を示すフローチャート。9 is a flowchart illustrating an example of a process (part 1) by a prediction vector generation unit according to the first embodiment. 実施例1における予測ベクトル生成部による処理(その2)の一例を示すフローチャート。9 is a flowchart illustrating an example of a process (part 2) by a prediction vector generation unit according to the first embodiment. 実施例2における予測ベクトル生成部の構成の一例を示すブロック図。FIG. 10 is a block diagram illustrating an example of a configuration of a prediction vector generation unit according to the second embodiment. 実施例2における予測ベクトル生成部による処理の一例を示すフローチャート。10 is a flowchart illustrating an example of processing performed by a prediction vector generation unit according to the second embodiment. 実施例3における予測ベクトル生成部の構成の一例を示すブロック図。FIG. 10 is a block diagram illustrating an example of a configuration of a prediction vector generation unit according to a third embodiment. 実施例3における予測ベクトル生成部による処理(その1)の一例を示すフローチャート。10 is a flowchart illustrating an example of a process (part 1) by a prediction vector generation unit according to the third embodiment. 実施例3における予測ベクトル生成部による処理(その2)の一例を示すフローチャート。10 is a flowchart illustrating an example of a process (part 2) by a prediction vector generation unit according to the third embodiment. 実施例4における予測ベクトル生成部の構成の一例を示すブロック図。FIG. 10 is a block diagram illustrating an example of a configuration of a prediction vector generation unit according to a fourth embodiment. 実施例4における予測ベクトル生成部による処理(その1)の一例を示すフローチャート。10 is a flowchart illustrating an example of a process (part 1) by a prediction vector generation unit according to the fourth embodiment. 実施例4における予測ベクトル生成部による処理(その2)の一例を示すフローチャート。10 is a flowchart illustrating an example of a process (part 2) performed by a prediction vector generation unit according to the fourth embodiment. 実施例5における動画像符号化装置の構成の一例を示すブロック図。FIG. 10 is a block diagram illustrating an example of a configuration of a moving image encoding device according to a fifth embodiment. 動画像符号化装置の処理の一例を示すフローチャート。The flowchart which shows an example of a process of a moving image encoder. 画像処理装置の構成の一例を示すブロック図。1 is a block diagram illustrating an example of a configuration of an image processing device.

まず、発明者らによる予測ベクトルの精度に関する検証について説明する。図3は、mvp'とmvColとの関係を示す図である。図3に示すように、処理対象ブロック11と時間方向に隣接するブロック(Colブロック)21の動きベクトルをmvCol22とし、処理対象ブロックの動きベクトルをmvとする。   First, verification regarding the accuracy of the prediction vector by the inventors will be described. FIG. 3 is a diagram illustrating the relationship between mvp ′ and mvCol. As illustrated in FIG. 3, the motion vector of a block (Col block) 21 adjacent to the processing target block 11 in the time direction is mvCol22, and the motion vector of the processing target block is mv.

また、mvCol22を前述した(T1÷T2)の比で無限の実数精度でスケーリングして得られる動きベクトル(予測ベクトル候補)を、mvp'とする。
mvp'=mvCol×(T1÷T2) ・・・式(14)
予測ベクトルは、mvと等しい予測ベクトルが予測ベクトル候補から選択されると、差分ベクトルが0となり、符号化効率が向上する。よって、このmvp'がmvと等しい又は近似することが符号化効率を上げるのに重要となってくる。ここで、スケーリングされたmvp'とmvとの誤差を発明者らは調べた。
In addition, a motion vector (predicted vector candidate) obtained by scaling mvCol22 with infinite real number precision at the ratio of (T1 ÷ T2) described above is mvp ′.
mvp ′ = mvCol × (T1 ÷ T2) Expression (14)
When a prediction vector equal to mv is selected from the prediction vector candidates, the difference vector becomes 0 and the encoding efficiency is improved. Therefore, it is important to increase the coding efficiency that mvp ′ is equal to or approximate to mv. Here, the inventors examined the error between the scaled mvp ′ and mv.

図4は、mvp'が正の場合のmvの出現確率分布を示す図である。図4に示す確率分布は、ベクトルの水平成分に着目した場合を示す。図5は、mvp'が負の場合のmvの出願確率分布を示す図である。図5に示す確率分布も、ベクトルの水平成分に着目した場合を示す。   FIG. 4 is a diagram illustrating an appearance probability distribution of mv when mvp ′ is positive. The probability distribution shown in FIG. 4 shows a case where attention is paid to the horizontal component of the vector. FIG. 5 is a diagram showing an application probability distribution of mv when mvp ′ is negative. The probability distribution shown in FIG. 5 also shows a case where attention is paid to the horizontal component of the vector.

発明者らは、スケーリング対象の動きベクトルから算出されたmvp'とmvを比較すると、図4及び図5に示すように、0ベクトル方向にmvの出現頻度が高くなることを発見した。そこで、以下に示す実施例は、スケーリング係数でスケーリングする際に、予測ベクトル候補を0ベクトルの方向に補正する。以下、添付図面を参照しながら各実施例について詳細に説明する。   The inventors have found that when mvp ′ and mv calculated from the motion vector to be scaled are compared, the appearance frequency of mv increases in the 0 vector direction as shown in FIGS. 4 and 5. Therefore, in the embodiment described below, the prediction vector candidate is corrected in the direction of the zero vector when scaling with the scaling coefficient. Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

[実施例1]
<構成>
図6は、実施例1における動画像復号装置100の構成の一例を示すブロック図である。図6に示す動画像復号装置100は、エントロピー復号部101、参照ピクチャリスト記憶部102、動きベクトル情報記憶部103、予測ベクトル生成部104、動きベクトル復元部105、予測画素生成部106、逆量子化部107、逆直交変換部108、復号画素生成部109、復号画像記憶部110を有する。
[Example 1]
<Configuration>
FIG. 6 is a block diagram illustrating an example of the configuration of the video decoding device 100 according to the first embodiment. A moving picture decoding apparatus 100 shown in FIG. 6 includes an entropy decoding unit 101, a reference picture list storage unit 102, a motion vector information storage unit 103, a prediction vector generation unit 104, a motion vector restoration unit 105, a prediction pixel generation unit 106, an inverse quantum. A conversion unit 107, an inverse orthogonal transform unit 108, a decoded pixel generation unit 109, and a decoded image storage unit 110.

エントロピー復号部101は、圧縮されたストリームに対してエントロピー復号を行い、処理対象ブロックのL0とL1の参照インデックス、差分ベクトル、予測候補インデックス、直交変換係数を復号する。   The entropy decoding unit 101 performs entropy decoding on the compressed stream, and decodes the L0 and L1 reference indexes, the difference vector, the prediction candidate index, and the orthogonal transform coefficient of the processing target block.

参照ピクチャリスト記憶部102は、処理対象ブロックが参照可能なピクチャのPOCを含むピクチャ情報や画像データの記憶位置などを記憶する。   The reference picture list storage unit 102 stores picture information including a POC of a picture that can be referred to by the processing target block, a storage position of image data, and the like.

動きベクトル情報記憶部103は、処理対象ブロックの時間的及び空間的に隣接するブロックの動きベクトル、この動きベクトルが参照するピクチャを示す参照ピクチャ識別子を含む動きベクトル情報を記憶する。これらの動きベクトル情報は、動きベクトル復元部105により生成される。   The motion vector information storage unit 103 stores motion vector information including motion vectors of temporally and spatially adjacent blocks of the processing target block, and a reference picture identifier indicating a picture to which the motion vector refers. The motion vector information is generated by the motion vector restoration unit 105.

予測ベクトル生成部104は、エントロピー復号部101からL0とL1との参照インデックス(参照ピクチャ識別子)を取得し、処理対象ブロックの動きベクトルに対する予測ベクトルの候補リストを生成する。予測ベクトル生成部104の詳細については後述する。   The prediction vector generation unit 104 acquires a reference index (reference picture identifier) between L0 and L1 from the entropy decoding unit 101, and generates a prediction vector candidate list for the motion vector of the processing target block. Details of the prediction vector generation unit 104 will be described later.

動きベクトル復元部105は、エントロピー復号部101からL0とL1との予測候補インデックス、差分ベクトルを取得し、予測候補インデックスが示す予測ベクトル候補と差分ベクトルとを加算して動きベクトルを復元する。   The motion vector restoration unit 105 acquires the prediction candidate index and difference vector of L0 and L1 from the entropy decoding unit 101, adds the prediction vector candidate and the difference vector indicated by the prediction candidate index, and restores the motion vector.

予測画素生成部106は、復元された動きベクトルと復号画像記憶部110に記憶される復号画像とを用いて予測画素信号を生成する。   The predicted pixel generation unit 106 generates a predicted pixel signal using the restored motion vector and the decoded image stored in the decoded image storage unit 110.

逆量子化部107は、エントロピー復号部101から取得した直交変換係数に対して逆量子化処理を行う。逆直交変換部108は、逆量子化された出力信号に対して逆直交変換処理を行い、予測誤差信号を生成する。予測誤差信号は復号画素生成部109に出力される。   The inverse quantization unit 107 performs an inverse quantization process on the orthogonal transform coefficient acquired from the entropy decoding unit 101. The inverse orthogonal transform unit 108 performs an inverse orthogonal transform process on the inversely quantized output signal to generate a prediction error signal. The prediction error signal is output to the decoded pixel generation unit 109.

復号画素生成部109は、予測画素信号と予測誤差信号とを加算して復号画素を生成する。   The decoded pixel generation unit 109 adds the prediction pixel signal and the prediction error signal to generate a decoded pixel.

復号画像記憶部110は、復号画素生成部109により生成された復号画素を含む復号画像を記憶する。復号画像記憶部110に記憶された復号画像は、ディスプレイなどの表示部に出力される。   The decoded image storage unit 110 stores a decoded image including the decoded pixel generated by the decoded pixel generation unit 109. The decoded image stored in the decoded image storage unit 110 is output to a display unit such as a display.

次に、予測ベクトル生成部104について詳細に説明する。図7は、実施例1における予測ベクトル生成部104の構成の一例を示すブロック図である。図7に示す予測ベクトル生成部104は、スケーリング係数計算部201、ベクトル情報取得部202、スケーリング演算部203を有する。   Next, the prediction vector generation unit 104 will be described in detail. FIG. 7 is a block diagram illustrating an example of the configuration of the prediction vector generation unit 104 according to the first embodiment. The prediction vector generation unit 104 illustrated in FIG. 7 includes a scaling coefficient calculation unit 201, a vector information acquisition unit 202, and a scaling calculation unit 203.

予測ベクトル生成部104は、処理対象ブロックの参照ピクチャ識別子、処理対象ブロックのPOC情報を入力する。ここで、処理対象ブロックの参照ピクチャ識別子に含まれる参照リスト識別子をLX、参照インデックスをrefidxとする。   The prediction vector generation unit 104 receives the reference picture identifier of the processing target block and the POC information of the processing target block. Here, the reference list identifier included in the reference picture identifier of the processing target block is LX, and the reference index is refidx.

動きベクトル情報記憶部103は、過去に処理したブロックの動きベクトル情報を保持する。動きベクトル情報は、各動きベクトルを有するブロックが属するピクチャの識別子と、動きベクトルの参照先となるピクチャの識別子(参照ピクチャ識別子)と、動きベクトルの水平成分と垂直成分の値を記憶している。   The motion vector information storage unit 103 holds motion vector information of blocks processed in the past. The motion vector information stores the identifier of the picture to which the block having each motion vector belongs, the identifier of the picture that becomes the reference destination of the motion vector (reference picture identifier), and the values of the horizontal and vertical components of the motion vector. .

ベクトル情報取得部202は、動きベクトル情報記憶部103から処理対象ブロックに隣接するブロックの動きベクトル情報を取得する。動きベクトル情報には、動きベクトル、動きベクトルを有するブロックが属するピクチャの識別子、動きベクトルの参照先の参照ピクチャ識別子が含まれる。   The vector information acquisition unit 202 acquires motion vector information of a block adjacent to the processing target block from the motion vector information storage unit 103. The motion vector information includes a motion vector, an identifier of a picture to which a block having the motion vector belongs, and a reference picture identifier of a motion vector reference destination.

ベクトル情報取得部202は、処理対象ブロックに対し、空間方向または時間方向に隣接するブロックの動きベクトル情報を、順次に取得する。この処理は、前述したように、まず、左方向に隣接するブロックの動きベクトルを探索する。ベクトル情報取得部202は、参照リストがLXでrefidxと等しい参照インデックスを持つ動きベクトルが見つかるまで探索し、見つかればその動きベクトルを選択する。   The vector information acquisition unit 202 sequentially acquires motion vector information of blocks adjacent to the processing target block in the spatial direction or the time direction. In this process, as described above, first, a motion vector of a block adjacent in the left direction is searched. The vector information acquisition unit 202 searches until a motion vector having a reference index equal to refidx in the reference list is found, and if found, selects the motion vector.

この動きベクトルが見つからなければ、ベクトル情報取得部202は、LXでない参照リストLYの中で、参照リストLXのrefidxが示す参照ピクチャと同一の参照ピクチャを参照する動きベクトルがあれば、その動きベクトルを選択する。   If this motion vector is not found, the vector information acquisition unit 202, if there is a motion vector that refers to the same reference picture as the reference picture indicated by the refidx of the reference list LX in the reference list LY that is not LX, Select.

さらに、この動きベクトルが見つからなければ、ベクトル情報取得部202は、動きベクトルが存在すれば、その動きベクトルを選択する。参照リストLXのrefidxが示す参照ピクチャと同一の参照ピクチャを参照する動きベクトルが選択されなかった場合、次にスケーリング処理が行われる。ベクトル情報取得部202は、取得した動きベクトル情報をスケーリング係数計算部201に出力する。   Furthermore, if this motion vector is not found, the vector information acquisition unit 202 selects the motion vector if a motion vector exists. When a motion vector that refers to the same reference picture as the reference picture indicated by refidx in the reference list LX is not selected, scaling processing is performed next. The vector information acquisition unit 202 outputs the acquired motion vector information to the scaling coefficient calculation unit 201.

スケーリング係数計算部201は、ベクトル情報取得部202から動きベクトル情報を取得し、参照ピクチャリスト記憶部102から動きベクトルが属するピクチャのPOC値を取得し、スケーリング係数を計算する。   The scaling coefficient calculation unit 201 acquires the motion vector information from the vector information acquisition unit 202, acquires the POC value of the picture to which the motion vector belongs from the reference picture list storage unit 102, and calculates the scaling coefficient.

ここで、処理対象ピクチャのPOC値をCurrPOCとする。スケーリング係数計算部201は、参照ピクチャリスト記憶部102から、処理対象ブロックが参照するピクチャのPOC値CurrRefPocと、スケーリング対象の動きベクトルが属するピクチャのPOC値ColPicPocと、この動きベクトルが参照するピクチャのPOC値ColRefPocとを取得する。   Here, the POC value of the processing target picture is CurrPOC. The scaling coefficient calculation unit 201 receives, from the reference picture list storage unit 102, the POC value CurrRefPoc of the picture referenced by the processing target block, the POC value ColPicPoc of the picture to which the motion vector to be scaled belongs, and the picture referenced by this motion vector. The POC value ColRefPoc is acquired.

スケーリング係数計算部201は、スケーリング係数を次の式により算出する。
スケーリング係数を、以下のように計算する。
DiffPocD=ColPicPOC−ColRefPOC ・・・式(6)
DiffPocB=CurrPOC−CurrRefPOC ・・・式(7)
TDB=Clip3(−128,127,DiffPocB) ・・・式(8)
TDD=Clip3(−128,127,DiffPocD) ・・・式(9)
iX=(0x4000+abs(TDD/2))/TDD ・・・式(10)
Scale=Clip3(−1024,1023,(TDB*iX+32)>>6)・・・式(11)
abs(x):xの絶対値を返す関数
Clip3(x,y,z):x、y、zの中央値を返す関数
>>:算術右シフト
計算されたスケーリング係数は、小数点以下の精度として8ビット精度を有する。スケーリング係数計算部201は、計算されたスケール係数Scaleをスケーリング演算部203に出力する。
The scaling coefficient calculation unit 201 calculates the scaling coefficient by the following formula.
The scaling factor is calculated as follows:
DiffPocD = ColPicPOC-ColRefPOC (6)
DiffPocB = CurrPOC-CurrRefPOC (7)
TDB = Clip3 (−128, 127, DiffPocB) (8)
TDD = Clip3 (−128, 127, DiffPocD) (9)
iX = (0x4000 + abs (TDD / 2)) / TDD (10)
Scale = Clip3 (−1024, 1023, (TDB * iX + 32) >> 6) Expression (11)
abs (x): a function that returns the absolute value of x Clip3 (x, y, z): a function that returns the median of x, y, z >>: arithmetic right shift The calculated scaling factor is the precision after the decimal point Has 8-bit precision. The scaling coefficient calculation unit 201 outputs the calculated scale coefficient Scale to the scaling calculation unit 203.

スケーリング演算部203は、ベクトル情報取得部202から取得した動きベクトル情報とスケーリング係数計算部201から取得したスケーリング係数とに基づき、動きベクトルをスケーリングする。   The scaling calculation unit 203 scales the motion vector based on the motion vector information acquired from the vector information acquisition unit 202 and the scaling coefficient acquired from the scaling coefficient calculation unit 201.

図8は、実施例1におけるスケーリング演算部203の構成の一例を示すブロック図である。スケーリング演算部203は、スケーリング係数計算部201で計算されたスケーリング係数と、ベクトル情報取得部202により取得されたスケーリング対象の動きベクトル(mvcx,mvcy)を入力する。スケーリング対象の動きベクトルは予測ベクトル候補である。スケーリング演算部203は、スケーリング後の動きベクトル(mvcx',mvcy')を出力する。出力される動きベクトルが、最終的な予測ベクトル候補となる。   FIG. 8 is a block diagram illustrating an example of the configuration of the scaling calculation unit 203 according to the first embodiment. The scaling operation unit 203 receives the scaling coefficient calculated by the scaling coefficient calculation unit 201 and the scaling target motion vector (mvcx, mvcy) acquired by the vector information acquisition unit 202. The motion vector to be scaled is a prediction vector candidate. The scaling operation unit 203 outputs the motion vector (mvcx ′, mvcy ′) after scaling. The output motion vector becomes the final prediction vector candidate.

図8に示すスケーリング演算部203は、スケーリング部301、補正部302、調整部303を有する。スケーリング係数は、所定の小数点以下の精度を有しており、スケーリング部301は、スケーリング係数を予測ベクトル候補に乗算してスケーリングされた予測ベクトル候補を求める。スケーリングされた予測ベクトル候補はスケーリング係数が有する小数点以下の精度に拡張される。   A scaling calculation unit 203 illustrated in FIG. 8 includes a scaling unit 301, a correction unit 302, and an adjustment unit 303. The scaling coefficient has accuracy below a predetermined decimal point, and the scaling unit 301 obtains a scaled prediction vector candidate by multiplying the prediction vector candidate by the scaling coefficient. The scaled prediction vector candidate is expanded to the precision below the decimal point of the scaling coefficient.

補正部302は、スケーリング部301でスケーリングされた予測ベクトル候補を0方向に所定量補正する。調整部303は、スケーリング部301で所定の小数点以下の精度を有するスケーリング係数でスケーリングされ、補正部302で補正された予測ベクトル候補を、最も近い整数値を持つ動きベクトルに変換する。以下にスケーリング部301、補正部302、調整部303の詳細な動作を説明する。
スケーリング部301は、スケーリング係数Scale×動きベクトル(mvcx,mvcy)を算出する。スケーリング係数は、小数点以下の精度としてNビットの精度を有していた場合、スケーリング係数を乗算することで得られるスケーリング後の動きベクトルの小数点以下の精度はNビットに拡張される。
The correction unit 302 corrects the prediction vector candidate scaled by the scaling unit 301 by a predetermined amount in the 0 direction. The adjustment unit 303 converts the predicted vector candidate that has been scaled by the scaling factor having the precision below a predetermined decimal point by the scaling unit 301 and corrected by the correction unit 302 into a motion vector having the closest integer value. Hereinafter, detailed operations of the scaling unit 301, the correction unit 302, and the adjustment unit 303 will be described.
The scaling unit 301 calculates a scaling coefficient Scale × motion vector (mvcx, mvcy). When the scaling coefficient has N-bit precision as the precision after the decimal point, the precision after the decimal point of the motion vector after scaling obtained by multiplying the scaling coefficient is extended to N bits.

補正部302は、スケーリング後の動きベクトルに対し0方向に補正するために、絶対値演算をした後に所定量aを減算する。調整部303は、減算後の値を最も近い整数値に丸めるため、2N−1を加算した後、Nビット右シフトする。右シフトした後に絶対値化したスケーリング後の動きベクトルの符号を乗算する。 The correction unit 302 subtracts the predetermined amount a after calculating the absolute value in order to correct the scaled motion vector in the 0 direction. The adjustment unit 303 adds 2 N−1 and then right shifts N bits to round the subtracted value to the nearest integer value. Multiply by the sign of the scaled motion vector that has been converted to an absolute value after shifting to the right.

以上をまとめると、スケーリング演算部203は、スケーリング対象となる動きベクトルに対して、以下の式により、スケーリング演算を行う。
mvcx'=sign(Scale×mvcx)×{(abs(Scale×mvcx)−a+2N−1)>>N} ・・・式(15)
mvcy'=sign(Scale×mvcy)×{(abs(Scale×mvcy)−a+2N−1)>>N} ・・・式(16)
abs(・):絶対値を返す関数
sign(・):符号(1または−1)を返す関数
式(15)、式(16)で絶対値を求める理由は、(Scale×mvcx)が正又は負の場合でも、aを減算することで0方向に補正するためである。式(15)、式(16)は、スケーリング後の動きベクトルに対し、0ベクトル方向に所定量a補正することを表す。aだけ0方向に補正することにより、スケーリング演算部203が出力する予測ベクトル候補の平均値を0に近づけることが出来る。
In summary, the scaling calculation unit 203 performs scaling calculation on the motion vector to be scaled by the following equation.
mvcx ′ = sign (Scale × mvcx) × {(abs (Scale × mvcx) −a + 2 N−1 ) >> N} Expression (15)
mvcy ′ = sign (Scale × mvcy) × {(abs (Scale × mvcy) −a + 2 N−1 ) >> N} (16)
abs (·): function that returns an absolute value sign (·): function that returns a sign (1 or −1) The reason why the absolute value is obtained by the equations (15) and (16) is that (Scale × mvcx) is positive or This is because even in the negative case, correction is made in the 0 direction by subtracting a. Expressions (15) and (16) represent that the motion vector after scaling is corrected by a predetermined amount a in the 0 vector direction. By correcting a by 0 in the 0 direction, the average value of the prediction vector candidates output from the scaling calculation unit 203 can be brought close to 0.

例えば、式(15)、式(16)のNを8とした場合、式(15)、式(16)はそれぞれ式(17)、式(18)になる。
mvcx'=sign(Scale×mvcx)×{(abs(Scale×mvcx)−a+128)>>8} ・・・式(17)
mvcy'=sign(Scale×mvcy)×{(abs(Scale×mvcy)−a+128)>>8} ・・・式(18)
発明者らは所定量aに対する実験を行ったところ、所定量aが、1≦a≦2N−2の範囲にあるときに、符号化効率がよくなることが判明した。よって、例えばN=8の場合、所定量aは、1≦a≦64のいずれかの値とする。
For example, when N in Expression (15) and Expression (16) is 8, Expression (15) and Expression (16) become Expression (17) and Expression (18), respectively.
mvcx ′ = sign (Scale × mvcx) × {(abs (Scale × mvcx) −a + 128) >> 8} Expression (17)
mvcy ′ = sign (Scale × mvcy) × {(abs (Scale × mvcy) −a + 128) >> 8} Expression (18)
The inventors conducted experiments on the predetermined amount a and found that the encoding efficiency is improved when the predetermined amount a is in the range of 1 ≦ a ≦ 2 N−2 . Therefore, for example, when N = 8, the predetermined amount a is any value of 1 ≦ a ≦ 64.

ここで、所定量aの値については、上記の範囲の固定値でもよい。また、シーン毎や、スケーリング係数に応じて最適な値を動的に求め、その値を用いてよい。スケーリング係数に応じて値を動的に変更する例は、後述する。   Here, the value of the predetermined amount a may be a fixed value in the above range. In addition, an optimum value may be dynamically obtained for each scene or according to the scaling factor, and that value may be used. An example of dynamically changing the value according to the scaling factor will be described later.

図9は、スケーリング演算部203の各部の構成(その1)の一例を示すブロック図である。図9に示す例では、スケーリング部301が、式(15)、式(16)の(Scale×mvcx)を算出する。   FIG. 9 is a block diagram illustrating an example of the configuration (part 1) of each unit of the scaling operation unit 203. In the example illustrated in FIG. 9, the scaling unit 301 calculates (Scale × mvcx) of Expression (15) and Expression (16).

補正部302は、(Scale×mvcx)に対し、絶対値演算abs(Scale×mvcx)を行い、この値から所定量aを減算する。また、補正部302は、(Scale×mvcx)に対し、sign(Scale×mvcx)を計算し、符号を求める。   The correction unit 302 performs an absolute value calculation abs (Scale × mvcx) on (Scale × mvcx), and subtracts a predetermined amount a from this value. Further, the correction unit 302 calculates sign (Scale × mvcx) for (Scale × mvcx) to obtain a sign.

調整部303は、所定量aが減算された値に所定量2N−1を加算し、Nビットシフトする。調整部303は、Nビットシフトした値に符号を乗算することで、スケーリング後の動きベクトル(mvcx',mvcy')を予測ベクトル候補として出力する。 The adjustment unit 303 adds the predetermined amount 2 N-1 to the value obtained by subtracting the predetermined amount a, and shifts by N bits. The adjustment unit 303 multiplies the value shifted by N bits by a sign, and outputs the scaled motion vector (mvcx ′, mvcy ′) as a prediction vector candidate.

図10は、スケーリング演算部203の各部の構成(その2)の一例を示すブロック図である。図10に示す例では、補正部304は、abs(Scale×mvcx)に2N−1−aを加算する。 FIG. 10 is a block diagram illustrating an example of the configuration (part 2) of each unit of the scaling operation unit 203. In the example illustrated in FIG. 10, the correction unit 304 adds 2 N−1 −a to abs (Scale × mvcx).

調整部305は、補正部304から出力される値に対してNビットシフト演算を行い、符号を乗算する。スケーリング部301の処理は、図9に示すスケーリング部301の処理と同様である。   The adjustment unit 305 performs an N-bit shift operation on the value output from the correction unit 304 and multiplies the code. The processing of the scaling unit 301 is the same as the processing of the scaling unit 301 shown in FIG.

図11は、具体例を用いたスケーリング演算部203の処理を説明するための図である。図11に示す例は、入力ストリームが静止した物体を写した動画像を圧縮したものとする。しかし、静止した物体を写した動画像であっても、各画像に乗っているノイズなどにより、動きベクトルとして0でない小さいベクトルが選択される場合がある。   FIG. 11 is a diagram for explaining the processing of the scaling operation unit 203 using a specific example. In the example shown in FIG. 11, it is assumed that a moving image in which an object whose input stream is stationary is copied is compressed. However, even a moving image in which a stationary object is captured, a small vector other than 0 may be selected as a motion vector due to noise or the like riding on each image.

ここで、入力ストリームが完全に静止しており、0ベクトルが予測されることが期待される状況とする。時間方向に隣接した動きベクトルが0でなかった場合、例えば、(mvcx、mvcy)=(2、0)(画素単位で言うと(2/4画素、0画素)の動き)で、Scale=64として1/4倍にスケーリングする例を考える。このとき、mvcx/4=0.5であるために、出力する予測ベクトル候補としてmvcx'=0を選択するか、mvcx'=1を選択するか、の2通りが考えられる。   Here, it is assumed that the input stream is completely stationary and a zero vector is expected to be predicted. When the motion vector adjacent in the time direction is not 0, for example, when (mvcx, mvcy) = (2, 0) (the motion of (2/4 pixel, 0 pixel) in pixel units), Scale = 64 Consider an example of scaling by a factor of 1/4. At this time, since mvcx / 4 = 0.5, there are two possible ways to select mvcx ′ = 0 or mvcx ′ = 1 as a predicted vector candidate to be output.

このとき、式(12)、式(13)に従うスケーリング演算方法では、mvcx'=1となる(図11に示す予測ベクトル候補2)。実施例の式(15)、式(16)に従うスケーリング演算部203は、まず、スケーリング部301は、2(mvcx)×64(Scale)=128を出力する。補正部302は、128−a+128=256−aとする。上記のaの範囲においては、調整部303は、8ビットシフトし、mvcx'=0となる(図11に示す予測ベクトル候補1)。   At this time, in the scaling calculation method according to the equations (12) and (13), mvcx ′ = 1 (predicted vector candidate 2 shown in FIG. 11). In the scaling operation unit 203 according to the formulas (15) and (16) of the embodiment, the scaling unit 301 first outputs 2 (mvcx) × 64 (Scale) = 128. The correction unit 302 sets 128−a + 128 = 256−a. In the range a described above, the adjustment unit 303 shifts by 8 bits and becomes mvcx ′ = 0 (predicted vector candidate 1 shown in FIG. 11).

よって、(mvcx'、mvcy')=(0、0)となり、スケーリング演算部203は、期待される静止した予測ベクトル候補を得ることができる。   Therefore, (mvcx ′, mvcy ′) = (0, 0), and the scaling operation unit 203 can obtain an expected stationary prediction vector candidate.

ここで、mvが(0,0)である頻度がN0回で、mvが(1,0)である頻度がN1回であった場合、N0>N1であれば、予測ベクトルが0ベクトルになる回数が従来技術よりも増加し、差分ベクトルの符号量が低下し、符号化効率が向上する。   Here, when the frequency with mv being (0, 0) is N0 times and the frequency with mv being (1, 0) is N1 times, if N0> N1, the prediction vector is 0 vector. The number of times increases as compared with the prior art, the code amount of the difference vector decreases, and the coding efficiency improves.

また、スケーリング演算方法は、次のような方法であってもよい。図12は、スケーリング演算部203の各部の構成(その3)の一例を示すブロック図である。図12に示す例では、所定量aをスケーリング係数の大きさに基づいて計算する。2N−1−aをオフセットと呼ぶ。 Further, the scaling calculation method may be the following method. FIG. 12 is a block diagram illustrating an example of the configuration (No. 3) of each unit of the scaling calculation unit 203. In the example shown in FIG. 12, the predetermined amount a is calculated based on the size of the scaling coefficient. 2 N-1 -a is called an offset.

図12に示す補正部306は、オフセット計算部361を有する。オフセット計算部361は、スケーリング係数をスケーリング部301から取得し、スケーリング係数の大きさに基づいて、所定量aを計算し、オフセット(2N−1−a)を計算する。例えば、所定量aを、例えば次の式により計算する。
a=MIN(2N−2、abs(Scale)>>3) ・・・式(19)
MIN(x、y):xとyで小さい方を返す関数
スケーリング係数Scaleの絶対値が大きいとき、所定量aが大きくなるので、0ベクトル方向に丸める度合いが大きくなる。式(19)は、スケーリング係数が大きくなればaの値が大きくなり、aの上限値が2N−2であることを表す式である。
The correction unit 306 illustrated in FIG. 12 includes an offset calculation unit 361. The offset calculation unit 361 acquires the scaling coefficient from the scaling unit 301, calculates a predetermined amount a based on the magnitude of the scaling coefficient, and calculates an offset (2 N−1 −a). For example, the predetermined amount a is calculated by, for example, the following formula.
a = MIN (2 N−2 , abs (Scale) >> 3) (19)
MIN (x, y): a function that returns the smaller of x and y When the absolute value of the scaling coefficient Scale is large, the predetermined amount a increases, and therefore the degree of rounding in the 0 vector direction increases. Expression (19) is an expression representing that the value of a increases as the scaling coefficient increases, and the upper limit value of a is 2 N−2 .

以上により、予測ベクトル候補をスケーリングするときに、0ベクトル方向に補正をすることで、予測ベクトルの精度を上げることができる。   As described above, when the prediction vector candidate is scaled, the accuracy of the prediction vector can be improved by correcting in the 0 vector direction.

<動作>
次に、実施例1における動画像復号装置100の動作について説明する。図13は、実施例1における動画像復号装置の処理の一例を示すフローチャートである。図13に示す処理は、1処理単位ブロックにおける復号処理である。
<Operation>
Next, the operation of the video decoding device 100 according to the first embodiment will be described. FIG. 13 is a flowchart illustrating an example of processing of the video decoding device in the first embodiment. The process shown in FIG. 13 is a decoding process in one processing unit block.

ステップS101で、エントロピー復号部101で、入力されたストリームデータをエントロピー復号する。エントロピー復号部101は、処理対象ブロックのL0の参照インデックスと差分ベクトル、予測候補インデックス、L1の参照インデックスと差分ベクトル、予測候補インデックスと、直交変換係数を復号する。   In step S101, the entropy decoding unit 101 performs entropy decoding on the input stream data. The entropy decoding unit 101 decodes the L0 reference index and the difference vector, the prediction candidate index, the L1 reference index and the difference vector, the prediction candidate index, and the orthogonal transformation coefficient of the processing target block.

ステップS102で、予測ベクトル生成部104は、復号されたL0とL1との参照インデックス、動きベクトル情報などを用いて、L0とL1の予測ベクトル候補のリストを算出する。   In step S102, the prediction vector generation unit 104 calculates a list of prediction vector candidates of L0 and L1, using the decoded reference indexes of L0 and L1, motion vector information, and the like.

ステップS103で、動きベクトル復元部105は、エントロピー復号部101で復号されたL0とL1の予測候補インデックスと差分ベクトル情報を取得する。動きベクトル復元部105は、予測ベクトル候補リストの中から予測候補インデックスによって識別される予測ベクトルをL0とL1それぞれ算出する。動きベクトル復元部105は、予測ベクトルと差分ベクトルとを加算することによりL0とL1それぞれの動きベクトルを復元する。   In step S <b> 103, the motion vector restoration unit 105 acquires the L0 and L1 prediction candidate indexes and difference vector information decoded by the entropy decoding unit 101. The motion vector restoration unit 105 calculates each of the prediction vectors identified by the prediction candidate index from the prediction vector candidate list, L0 and L1. The motion vector restoration unit 105 restores the motion vectors of L0 and L1 by adding the prediction vector and the difference vector.

ステップS104で、動きベクトル復元部105は、復元したL0とL1の参照インデックスと、動きベクトル情報とを動きベクトル情報記憶部103に記憶する。これらの情報は、以降のブロックの復号処理で用いられる。   In step S104, the motion vector restoration unit 105 stores the restored L0 and L1 reference indexes and the motion vector information in the motion vector information storage unit 103. These pieces of information are used in the subsequent block decoding process.

ステップS105で、予測画素生成部106は、L0動きベクトルとL1動きベクトルを取得し、復号画像記憶部110から動きベクトルが参照する領域の画素データを取得し、予測画素信号を生成する。   In step S105, the prediction pixel generation unit 106 acquires the L0 motion vector and the L1 motion vector, acquires pixel data of an area referred to by the motion vector from the decoded image storage unit 110, and generates a prediction pixel signal.

ステップS106で、逆量子化部107は、エントロピー復号部101で復号された直交変換係数を取得し、逆量子化処理を行う。   In step S106, the inverse quantization unit 107 acquires the orthogonal transform coefficient decoded by the entropy decoding unit 101, and performs an inverse quantization process.

ステップS107で、逆直交変換部108で、逆量子化された信号に対し、逆直交変換処理を行う。逆直交変換処理の決定、予測誤差信号が生成される。   In step S107, the inverse orthogonal transform unit 108 performs inverse orthogonal transform processing on the inversely quantized signal. Determination of the inverse orthogonal transform process and a prediction error signal are generated.

なお、ステップS102〜S104の処理と、ステップS106、S07の処理とは、並列で行われ、順不同である。   Note that the processes in steps S102 to S104 and the processes in steps S106 and S07 are performed in parallel and are not in any order.

ステップS108で、復号画素生成部109は、予測画素信号と予測誤差信号とを加算し、復号画素を生成する。   In step S108, the decoded pixel generation unit 109 adds the predicted pixel signal and the prediction error signal to generate a decoded pixel.

ステップS109で、復号画像記憶部110は、復号画素を含む復号画像を記憶する。以上で、ブロックの復号処理が終了し、次のブロックの復号処理に移行する。   In step S109, the decoded image storage unit 110 stores a decoded image including decoded pixels. Thus, the block decoding process ends, and the process proceeds to the next block decoding process.

(空間方向に隣接するブロックの予測ベクトル候補)
次に、予測ベクトル生成部104の動作について説明する。まず、処理対象ブロックと空間方向で隣接するブロックの予測ベクトル候補を生成する処理について説明する。図14は、実施例1における予測ベクトル生成部による処理(その1)の一例を示すフローチャートである。図14に示すステップS201で、ベクトル情報取得部202は、処理対象ブロックに対して空間方向に隣接したブロック(上隣接ブロック及び左隣接ブロック)の動きベクトル情報を、順次取得する。動きベクトル情報の取得については前述した通りである。
(Predicted vector candidates for blocks adjacent in the spatial direction)
Next, the operation of the prediction vector generation unit 104 will be described. First, a process for generating a prediction vector candidate of a block adjacent to the processing target block in the spatial direction will be described. FIG. 14 is a flowchart illustrating an example of a process (part 1) performed by the prediction vector generation unit according to the first embodiment. In step S201 illustrated in FIG. 14, the vector information acquisition unit 202 sequentially acquires motion vector information of blocks adjacent to the processing target block in the spatial direction (upper adjacent block and left adjacent block). The acquisition of motion vector information is as described above.

ステップS202で、ベクトル情報取得部202は、参照リストLXのrefidxが示す参照ピクチャと同一の参照ピクチャを参照する動きベクトル(所定の動きベクトルとも言う)が選択されたか否かを判定する。所定の動きベクトルが選択されていれば(ステップS202−YES)ステップS205に進み、所定の動きベクトルが選択されていなければ(ステップS202−NO)ステップS203に進む。   In step S202, the vector information acquisition unit 202 determines whether a motion vector (also referred to as a predetermined motion vector) that refers to the same reference picture as the reference picture indicated by refidx in the reference list LX has been selected. If a predetermined motion vector has been selected (step S202—YES), the process proceeds to step S205, and if a predetermined motion vector has not been selected (step S202—NO), the process proceeds to step S203.

ステップS203で、スケーリング係数計算部201は、前述した式(5)〜(10)を用いてスケーリング係数を計算する。   In step S203, the scaling coefficient calculation unit 201 calculates a scaling coefficient using the above-described equations (5) to (10).

ステップS204で、スケーリング演算部203は、スケーリング後の動きベクトル(予測ベクトル候補)に対し、0ベクトル方向に所定量補正を行い、ビットシフト演算を行う。   In step S204, the scaling calculation unit 203 performs a bit shift calculation by correcting a predetermined amount in the 0 vector direction for the scaled motion vector (predicted vector candidate).

ステップS205で、スケーリング演算部203は、スケーリング後の補正された動きベクトルを予測ベクトル候補として出力する。また、スケーリング演算部203は、所定の動きベクトルであれば、スケーリング演算を行わずに、所定の動きベクトルを予測ベクトル候補として出力する。   In step S205, the scaling calculator 203 outputs the corrected motion vector after scaling as a prediction vector candidate. Further, the scaling operation unit 203 outputs a predetermined motion vector as a prediction vector candidate without performing the scaling operation if it is a predetermined motion vector.

(時間方向に隣接するブロックの予測ベクトル候補)
次に、処理対象ブロックと時間方向で隣接するブロックの予測ベクトル候補を生成する処理について説明する。図15は、実施例1における予測ベクトル生成部による処理(その2)の一例を示すフローチャートである。
(Predicted vector candidates for blocks adjacent in the time direction)
Next, a process for generating a prediction vector candidate for a block adjacent to the processing target block in the time direction will be described. FIG. 15 is a flowchart illustrating an example of a process (part 2) performed by the prediction vector generation unit according to the first embodiment.

図15に示すステップS301で、ベクトル情報取得部202は、処理対象ブロックに対して時間方向に隣接したブロックの動きベクトル情報を取得する。動きベクトル情報の取得については前述した通りである。   In step S301 illustrated in FIG. 15, the vector information acquisition unit 202 acquires motion vector information of a block adjacent to the processing target block in the time direction. The acquisition of motion vector information is as described above.

ステップS302で、スケーリング係数計算部201は、前述した式(5)〜(10)を用いてスケーリング係数を計算する。   In step S302, the scaling coefficient calculation unit 201 calculates the scaling coefficient using the above-described equations (5) to (10).

ステップS303で、スケーリング係数計算部201は、スケーリング係数Scaleが1でないか否かを判定する。スケーリング係数が1でなければ(ステップS303−YES)ステップS304に進み、スケーリング係数が1であれば(ステップS303−NO)ステップS305に進む。   In step S303, the scaling coefficient calculator 201 determines whether the scaling coefficient Scale is not 1. If the scaling coefficient is not 1 (step S303—YES), the process proceeds to step S304. If the scaling coefficient is 1 (step S303—NO), the process proceeds to step S305.

ステップS304で、スケーリング演算部203は、スケーリング後の動きベクトル(予測ベクトル候補)に対し、0ベクトル方向に所定量補正を行い、ビットシフト演算を行う。   In step S304, the scaling calculation unit 203 performs a bit shift calculation by correcting a predetermined amount in the 0 vector direction for the scaled motion vector (predicted vector candidate).

ステップS305で、スケーリング演算部203は、スケーリング後の補正された動きベクトルを予測ベクトル候補として出力する。また、スケーリング演算部203は、スケーリング係数が1であれば、スケーリング演算を行わずに、その動きベクトルを予測ベクトル候補として出力する。   In step S305, the scaling calculation unit 203 outputs the corrected motion vector after scaling as a prediction vector candidate. Further, if the scaling coefficient is 1, the scaling operation unit 203 outputs the motion vector as a prediction vector candidate without performing the scaling operation.

以上、実施例1によれば、発明者らの発見に基づき、予測ベクトル候補を0ベクトル方向に補正することで、予測ベクトルの精度を向上させ、差分ベクトルの符号量を小さくし、符号化効率を向上させることができる。   As described above, according to the first embodiment, the prediction vector candidate is corrected in the 0 vector direction based on the discovery of the inventors, thereby improving the accuracy of the prediction vector, reducing the code amount of the difference vector, and encoding efficiency. Can be improved.

[実施例2]
次に、実施例2における動画像復号装置について説明する。実施例2では、予測ベクトル候補の動きベクトルが属するピクチャが、処理対象ブロックと空間方向に隣接するか、時間方向に隣接するかでスケーリング演算を切り替える。
[Example 2]
Next, a moving picture decoding apparatus according to the second embodiment will be described. In the second embodiment, the scaling operation is switched depending on whether the picture to which the motion vector of the prediction vector candidate belongs is adjacent to the processing target block in the spatial direction or in the temporal direction.

<構成>
実施例2における動画像復号装置の構成は、予測ベクトル生成部以外は実施例1と同様であるため、以下、予測ベクトル生成部について説明する。
<Configuration>
Since the configuration of the moving picture decoding apparatus in the second embodiment is the same as that of the first embodiment except for the prediction vector generation unit, the prediction vector generation unit will be described below.

図16は、実施例2における予測ベクトル生成部400の構成の一例を示すブロック図である。図16に示す例では、予測ベクトル生成部400は、スケーリング演算部を複数有し、これらを適応的に切り替える構成である。図16に示す構成で、実施例1における構成と同様のものは同じ符号を付し、その説明を省略する。   FIG. 16 is a block diagram illustrating an example of the configuration of the prediction vector generation unit 400 according to the second embodiment. In the example illustrated in FIG. 16, the prediction vector generation unit 400 has a plurality of scaling calculation units and is configured to adaptively switch between these. In the configuration shown in FIG. 16, the same components as those in the first embodiment are denoted by the same reference numerals, and the description thereof is omitted.

ブロック判定部401は、予測ベクトル候補の生成に使用する動きベクトルを有するブロックが、処理対象ブロックと空間方向に隣接しているか、時間方向に隣接しているかを判定する。ブロック判定部401は、時間方向に隣接していればスケーリング演算部A402、空間方向に隣接していればスケーリング演算部B403に切り替える。   The block determination unit 401 determines whether a block having a motion vector used for generating a prediction vector candidate is adjacent to the processing target block in the spatial direction or in the temporal direction. The block determination unit 401 switches to the scaling calculation unit A402 if adjacent to the time direction and to the scaling calculation unit B403 if adjacent to the spatial direction.

スケーリング演算部A402は、実施例1のスケーリング演算部203と同様の処理(式(15)、式(16)を用いるスケーリング演算)を行い、スケーリング対象の予測ベクトル候補を補正する。   The scaling calculation unit A402 performs processing similar to that of the scaling calculation unit 203 of the first embodiment (scaling calculation using Expression (15) and Expression (16)), and corrects the prediction vector candidate to be scaled.

スケーリング演算部B403は、式(12)、式(13)を用いて、予測ベクトル候補をスケーリングする。各スケーリング演算部で生成された動きベクトルが、予測ベクトル候補となる。   The scaling operation unit B403 scales the prediction vector candidate using Expression (12) and Expression (13). The motion vector generated by each scaling calculation unit is a prediction vector candidate.

これは、予測ベクトル候補の生成に使用する動きベクトルが属するブロックが、処理対象ブロックと空間方向に隣接しているか、時間方向に隣接しているかで、mvの出現頻度の偏りが異なってくると考えられるからである。時間方向に隣接するか、空間方向に隣接するかを示す情報を隣接情報と呼ぶ。   This is because, when the block to which the motion vector used to generate the prediction vector candidate belongs is adjacent to the processing target block in the spatial direction or in the temporal direction, the appearance frequency bias differs. It is possible. Information indicating whether adjacent in the time direction or adjacent in the spatial direction is referred to as adjacent information.

例えば、時間方向に隣接する場合は、スケーリングを行うことが多いため、実施例1で説明した補正を行うことで、符号化効率を向上させることができる。一方、空間方向に隣接する場合は、そもそもスケーリングを行うことが少ないため、式(12)、式(13)によりスケーリングを行っても問題にはならない。   For example, since the scaling is often performed when adjacent in the time direction, the encoding efficiency can be improved by performing the correction described in the first embodiment. On the other hand, when adjacent to each other in the spatial direction, scaling is rarely performed in the first place. Therefore, there is no problem even if scaling is performed using Expression (12) and Expression (13).

なお、実施例2では、複数のスケーリング演算部を用いる例について説明したが、1つのスケーリング演算部でも実施することができる。例えば、ブロック判定部401は、隣接情報をスケーリング演算部に通知する。   In the second embodiment, an example in which a plurality of scaling calculators are used has been described. However, a single scaling calculator can also be used. For example, the block determination unit 401 notifies adjacent information to the scaling calculation unit.

スケーリング演算部は、隣接情報が時間方向を示せば、式(15)、式(16)を用いてスケーリングを行い、隣接情報が空間方向を示せば、式(15)、式(16)の所定量aを減算する処理を省略してスケーリングを行えばよい。   The scaling operation unit performs scaling using the equations (15) and (16) if the neighboring information indicates the time direction, and if the neighboring information indicates the spatial direction, the scaling calculation unit performs the operations of the equations (15) and (16). Scaling may be performed by omitting the process of subtracting the fixed amount a.

これにより、ブロック判定部401の判定結果により、所定量aを減算するかしないかを切り替えれば、1つのスケーリング演算部で実施例2を実施することができる。   Thus, the second embodiment can be implemented with one scaling calculation unit by switching whether or not the predetermined amount a is subtracted according to the determination result of the block determination unit 401.

<動作>
次に、実施例2における動画像復号装置の処理について説明する。復号処理は、図13に示す処理と同様であるため説明を省略する。
<Operation>
Next, processing of the video decoding device in the second embodiment will be described. The decoding process is the same as the process shown in FIG.

図17は、実施例2における予測ベクトル生成部による処理の一例を示すフローチャートである。   FIG. 17 is a flowchart illustrating an example of processing performed by the prediction vector generation unit according to the second embodiment.

ステップS401で、予測ベクトル生成部400は、予測ベクトル候補の動きベクトルを有するブロックが、処理対象ブロックと空間方向に隣接するか、時間方向に隣接するかを判定する。この判定は、ピクチャ識別子を参照すれば判定できる。時間方向に隣接すれば(ステップS401−YES)ステップS402に進み、空間方向に隣接すれば(ステップS401−NO)ステップS407に進む。   In step S401, the prediction vector generation unit 400 determines whether the block having the motion vector of the prediction vector candidate is adjacent to the processing target block in the spatial direction or in the temporal direction. This determination can be made by referring to the picture identifier. If it is adjacent in the time direction (step S401-YES), the process proceeds to step S402. If it is adjacent in the space direction (step S401-NO), the process proceeds to step S407.

ステップS402〜S406は、図15で説明したステップS301〜S305と同様であるため説明を省略する。スケーリング演算Aは、スケーリング演算部A402により行われる。   Steps S402 to S406 are the same as steps S301 to S305 described in FIG. The scaling calculation A is performed by the scaling calculation unit A402.

ステップS407〜S409、S411は、図14で説明したステップS201〜S203、S205と同様である。   Steps S407 to S409 and S411 are the same as steps S201 to S203 and S205 described in FIG.

ステップS410で、スケーリング演算部B403は、式(12)、式(13)に示すスケーリング演算を行う。   In step S410, the scaling calculation unit B403 performs the scaling calculation shown in Expression (12) and Expression (13).

以上、実施例2によれば、予測ベクトル候補の動きベクトルが属するブロックの隣接情報に応じて、スケーリング演算処理を適応的に切り替え、予測ベクトルの精度を向上させることができる。   As described above, according to the second embodiment, it is possible to adaptively switch the scaling operation processing according to the adjacent information of the block to which the motion vector of the prediction vector candidate belongs, and to improve the accuracy of the prediction vector.

[実施例3]
次に、実施例3における動画像復号装置について説明する。実施例3では、予測ベクトル候補の動きベクトルの大きさに基づいて、スケーリング演算を切り替える。
[Example 3]
Next, a moving picture decoding apparatus according to the third embodiment will be described. In the third embodiment, the scaling operation is switched based on the magnitude of the motion vector of the prediction vector candidate.

<構成>
実施例3における動画像復号装置の構成は、予測ベクトル生成部以外は実施例1と同様であるため、以下、予測ベクトル生成部について説明する。
<Configuration>
Since the configuration of the moving picture decoding apparatus in the third embodiment is the same as that of the first embodiment except for the prediction vector generation unit, the prediction vector generation unit will be described below.

図18は、実施例3における予測ベクトル生成部500の構成の一例を示すブロック図である。図18に示す例では、予測ベクトル生成部500は、スケーリング演算部を複数有し、これらを適応的に切り替える構成である。図18に示す構成で、実施例1における構成と同様のものは同じ符号を付し、その説明を省略する。   FIG. 18 is a block diagram illustrating an example of a configuration of the prediction vector generation unit 500 according to the third embodiment. In the example illustrated in FIG. 18, the prediction vector generation unit 500 has a plurality of scaling operation units and is configured to adaptively switch between these. In the configuration shown in FIG. 18, the same components as those in the first embodiment are denoted by the same reference numerals, and the description thereof is omitted.

動きベクトル判定部501は、入力されたスケーリング前の動きベクトル(予測ベクトル候補)の大きさに応じて、スケーリング演算部を切り替える。例えば、動きベクトル判定部501は、取得した動きベクトルの大きさが所定値(例えば16)以下となるか否かを判定する。   The motion vector determination unit 501 switches the scaling operation unit according to the magnitude of the input pre-scaling motion vector (predicted vector candidate). For example, the motion vector determination unit 501 determines whether the magnitude of the acquired motion vector is a predetermined value (for example, 16) or less.

動きベクトル判定部501は、動きベクトルの大きさが所定値以下であれば、スケーリング演算部A502、動きベクトルの大きさが所定値より大きければ、スケーリング演算部B503に切り替える。   The motion vector determination unit 501 switches to the scaling calculation unit A502 if the magnitude of the motion vector is less than or equal to a predetermined value, and switches to the scaling calculation unit B503 if the magnitude of the motion vector is greater than the predetermined value.

スケーリング演算部A502は、実施例1のスケーリング演算部203と同様の処理(式(15)、式(16)を用いるスケーリング演算)を行い、スケーリング対象の予測ベクトル候補を補正する。   The scaling calculation unit A502 performs processing similar to that of the scaling calculation unit 203 of the first embodiment (scaling calculation using Expression (15) and Expression (16)) to correct the prediction vector candidate to be scaled.

スケーリング演算部B503は、式(12)、式(13)を用いて、予測ベクトル候補をスケーリングする。各スケーリング演算部で生成された動きベクトルが、最終的な予測ベクトル候補となる。   The scaling calculation unit B503 scales the prediction vector candidate using the equations (12) and (13). The motion vector generated by each scaling calculation unit becomes the final prediction vector candidate.

これは、スケーリング前の動きベクトル(予測ベクトル候補)の大きさによって、mvの出現頻度の偏りが異なってくる可能性があるからである。動きベクトルの絶対値が小さいほど、予測ベクトルとの誤差の影響が大きくなるので、動きベクトルの絶対値が小さい場合に、実施例1で説明した補正処理を行う。   This is because the bias in the appearance frequency of mv may vary depending on the size of the motion vector (predicted vector candidate) before scaling. The smaller the absolute value of the motion vector, the greater the influence of the error from the prediction vector. Therefore, when the absolute value of the motion vector is small, the correction processing described in the first embodiment is performed.

なお、実施例3では、複数のスケーリング演算部を用いる例について説明したが、1つのスケーリング演算部でも実施することができる。例えば、動きベクトル判定部501は、動きベクトルの大きさが所定値以下であるか否かの判定結果をスケーリング演算部に通知する。   In the third embodiment, an example in which a plurality of scaling calculation units are used has been described. However, a single scaling calculation unit can be used. For example, the motion vector determination unit 501 notifies the scaling calculation unit of the determination result as to whether or not the magnitude of the motion vector is a predetermined value or less.

スケーリング演算部は、判定結果が、所定値以下であることを示せば、式(15)、式(16)を用いてスケーリングを行い、判定結果が、所定値より大きいことを示せば、式(15)、式(16)の所定量aを減算する処理を省略してスケーリングを行えばよい。   The scaling operation unit performs scaling using Expression (15) and Expression (16) if the determination result indicates that the determination result is equal to or less than the predetermined value, and if the determination result indicates that the determination result is greater than the predetermined value, the expression ( 15) Scaling may be performed by omitting the process of subtracting the predetermined amount a in Expression (16).

これにより、動きベクトル判定部501の判定結果により、所定量aを減算するかしないかを切り替えれば、1つのスケーリング演算部で実施例3を実施することができる。   Thus, the third embodiment can be implemented with one scaling calculation unit by switching whether or not the predetermined amount a is subtracted according to the determination result of the motion vector determination unit 501.

<動作>
次に、実施例3における動画像復号装置の処理について説明する。復号処理は、図13に示す処理と同様であるため説明を省略する。実施例3における予測ベクトル生成部による処理について説明する。
<Operation>
Next, processing of the video decoding device in the third embodiment will be described. The decoding process is the same as the process shown in FIG. The process by the prediction vector production | generation part in Example 3 is demonstrated.

(空間方向に隣接するブロックの予測ベクトル候補)
図19は、実施例3における予測ベクトル生成部による処理(その1)の一例を示すフローチャートである。図19に示すステップS501〜503の処理は、図14に示すステップS201〜S203の処理と同様である。
(Predicted vector candidates for blocks adjacent in the spatial direction)
FIG. 19 is a flowchart illustrating an example of a process (part 1) performed by the prediction vector generation unit according to the third embodiment. The processes in steps S501 to S503 shown in FIG. 19 are the same as the processes in steps S201 to S203 shown in FIG.

ステップS504で、動きベクトル判定部501は、動きベクトル(予測ベクトル候補)の大きさが所定値以下であるか否かを判定する。動きベクトルの大きさが所定値以下であれば(ステップS504−YES)ステップS505に進み、動きベクトルの大きさが所定値より大きければ(ステップS504−NO)ステップS506に進む。   In step S504, the motion vector determination unit 501 determines whether the magnitude of the motion vector (predicted vector candidate) is equal to or less than a predetermined value. If the magnitude of the motion vector is equal to or smaller than the predetermined value (step S504—YES), the process proceeds to step S505. If the magnitude of the motion vector is greater than the predetermined value (step S504—NO), the process proceeds to step S506.

ステップS505で、スケーリング演算部A502は、式(15)、式(16)を用いて、所定量aで補正を行うスケーリング演算を行う。   In step S505, the scaling calculation unit A502 performs a scaling calculation that corrects by a predetermined amount a using Expressions (15) and (16).

ステップS506で、スケーリング演算部B503は、式(12)、式(13)を用いて、スケーリング演算を行う。   In step S506, the scaling calculation unit B503 performs scaling calculation using Expression (12) and Expression (13).

ステップS507で、予測ベクトル生成部500は、各スケーリング演算部で算出された動きベクトルを予測ベクトル候補として出力する。また、予測ベクトル生成部500は、所定の動きベクトルであれば、スケーリング演算を行わずに、所定の動きベクトルを予測ベクトル候補として出力する。   In step S507, the prediction vector generation unit 500 outputs the motion vector calculated by each scaling calculation unit as a prediction vector candidate. Moreover, if it is a predetermined motion vector, the prediction vector production | generation part 500 will output a predetermined motion vector as a prediction vector candidate, without performing a scaling calculation.

(時間方向に隣接するブロックの予測ベクトル候補)
図20は、実施例3における予測ベクトル生成部による処理(その2)の一例を示すフローチャートである。
(Predicted vector candidates for blocks adjacent in the time direction)
FIG. 20 is a flowchart illustrating an example of a process (part 2) performed by the prediction vector generation unit according to the third embodiment.

図20に示すステップS601〜S603は、図15に示すステップS301〜S303の処理と同様である。   Steps S601 to S603 shown in FIG. 20 are the same as the processes of steps S301 to S303 shown in FIG.

ステップS604で、動きベクトル判定部501は、動きベクトル(予測ベクトル候補)の大きさが所定値以下であるか否かを判定する。動きベクトルの大きさが所定値以下であれば(ステップS604−YES)ステップS605に進み、動きベクトルの大きさが所定値より大きければ(ステップS604−NO)ステップS606に進む。   In step S604, the motion vector determination unit 501 determines whether the magnitude of the motion vector (predicted vector candidate) is equal to or less than a predetermined value. If the magnitude of the motion vector is equal to or smaller than the predetermined value (step S604—YES), the process proceeds to step S605, and if the magnitude of the motion vector is greater than the predetermined value (step S604—NO), the process proceeds to step S606.

ステップS605で、スケーリング演算部A502は、式(15)、式(16)を用いて、所定量aで補正を行うスケーリング演算を行う。   In step S <b> 605, the scaling calculation unit A <b> 502 performs a scaling calculation that corrects by a predetermined amount a using Expression (15) and Expression (16).

ステップS606で、スケーリング演算部B503は、式(12)、式(13)を用いて、スケーリング演算を行う。   In step S606, the scaling calculation unit B503 performs scaling calculation using Expression (12) and Expression (13).

ステップS607で、予測ベクトル生成部500は、各スケーリング演算部で算出された動きベクトルを予測ベクトル候補として出力する。また、予測ベクトル生成部500は、スケーリング係数が1であれば、スケーリング演算を行わずに、その動きベクトルを予測ベクトル候補として出力する。   In step S607, the prediction vector generation unit 500 outputs the motion vector calculated by each scaling calculation unit as a prediction vector candidate. Further, if the scaling coefficient is 1, the prediction vector generation unit 500 outputs the motion vector as a prediction vector candidate without performing the scaling operation.

以上、実施例3によれば、予測ベクトル候補の動きベクトルの大きさに応じて、スケーリング演算処理を適応的に切り替え、予測ベクトルの精度を向上させることができる。   As described above, according to the third embodiment, it is possible to adaptively switch the scaling calculation processing according to the size of the motion vector of the prediction vector candidate and improve the accuracy of the prediction vector.

[実施例4]
次に、実施例4における動画像復号装置について説明する。実施例4では、スケーリング前の動きベクトル(予測ベクトル候補)の属するピクチャの表示時間と、動きベクトルが参照するピクチャの表示時間との差に基づいて、スケーリング演算を切り替える。
[Example 4]
Next, a moving picture decoding apparatus according to the fourth embodiment will be described. In the fourth embodiment, the scaling operation is switched based on the difference between the display time of the picture to which the motion vector (prediction vector candidate) before scaling belongs and the display time of the picture referenced by the motion vector.

<構成>
実施例4における動画像復号装置の構成は、予測ベクトル生成部以外は実施例1と同様であるため、以下、予測ベクトル生成部について説明する。
<Configuration>
Since the configuration of the moving picture decoding apparatus according to the fourth embodiment is the same as that of the first embodiment except for the prediction vector generation unit, the prediction vector generation unit will be described below.

図21は、実施例4における予測ベクトル生成部600の構成の一例を示すブロック図である。図21に示す例では、予測ベクトル生成部600は、スケーリング演算部を複数有し、これらを適応的に切り替える構成である。図21に示す構成で、実施例1における構成と同様のものは同じ符号を付し、その説明を省略する。   FIG. 21 is a block diagram illustrating an example of a configuration of the prediction vector generation unit 600 according to the fourth embodiment. In the example illustrated in FIG. 21, the predicted vector generation unit 600 has a plurality of scaling calculation units and is configured to adaptively switch between these. In the configuration shown in FIG. 21, the same components as those in the first embodiment are denoted by the same reference numerals, and the description thereof is omitted.

時間差判定部601は、スケーリング前の動きベクトル(予測ベクトル候補)の属するピクチャの表示時間と、動きベクトルが参照するピクチャの表示時間との差に応じて、スケーリング演算部を切り替える。   The time difference determination unit 601 switches the scaling operation unit according to the difference between the display time of the picture to which the motion vector (prediction vector candidate) before scaling belongs and the display time of the picture referenced by the motion vector.

例えば、時間差判定部601は、処理対象ブロックの参照ピクチャ識別子と、処理対象ピクチャのPOC値を取得する。また、時間差判定部601は、ベクトル情報取得部202が取得した動きベクトルが属するピクチャの識別子と、その動きベクトルが参照するピクチャの識別子を取得する。   For example, the time difference determination unit 601 acquires the reference picture identifier of the processing target block and the POC value of the processing target picture. Further, the time difference determination unit 601 acquires the identifier of the picture to which the motion vector acquired by the vector information acquisition unit 202 belongs and the identifier of the picture referred to by the motion vector.

時間差判定部601は、取得した各ピクチャのPOC値を参照ピクチャリスト記憶部102から取得し、スケーリング前の動きベクトル(予測ベクトル候補)の属するピクチャのPOC値と、動きベクトルが参照するピクチャのPOC値との差を算出する。時間差判定部601は、このPOCを用いて算出した時間差(間隔)が、所定値(例えば4)以下となるか否かを判定する。   The time difference determination unit 601 acquires the POC value of each acquired picture from the reference picture list storage unit 102, and the POC value of the picture to which the motion vector (prediction vector candidate) before scaling belongs and the POC of the picture referenced by the motion vector The difference from the value is calculated. The time difference determination unit 601 determines whether or not the time difference (interval) calculated using this POC is a predetermined value (for example, 4) or less.

時間差判定部601は、POCの時間差(間隔)が所定値以下であれば、スケーリング演算部A602、POCの時間差が所定値より大きければ、スケーリング演算部B603に切り替える。   If the time difference (interval) of the POC is less than or equal to a predetermined value, the time difference determination unit 601 switches to the scaling operation unit A602, and if the time difference of the POC is greater than the predetermined value, the time difference determination unit 601 switches to the scaling operation unit B603.

スケーリング演算部A602は、実施例1のスケーリング演算部203と同様の処理(式(15)、式(16)を用いるスケーリング演算)を行い、スケーリング後の予測ベクトル候補を補正する。   The scaling calculation unit A602 performs the same processing as the scaling calculation unit 203 of the first embodiment (scaling calculation using Expression (15) and Expression (16)), and corrects the predicted vector candidate after scaling.

スケーリング演算部B603は、式(12)、式(13)を用いて、予測ベクトル候補をスケーリングする。各スケーリング演算部で生成された動きベクトルが、最終的な予測ベクトル候補となる。   The scaling operation unit B603 scales the prediction vector candidate using Expression (12) and Expression (13). The motion vector generated by each scaling calculation unit becomes the final prediction vector candidate.

これは、スケーリング前の動きベクトル(予測ベクトル候補)の属するピクチャの表示時間と、動きベクトルが参照するピクチャの表示時間との差によって、mvの出現頻度の偏りが異なってくる可能性があるからである。   This is because the bias in the frequency of appearance of mv may differ depending on the difference between the display time of the picture to which the motion vector (predicted vector candidate) before scaling belongs and the display time of the picture referenced by the motion vector. It is.

なお、実施例4では、複数のスケーリング演算部を用いる例について説明したが、1つのスケーリング演算部でも実施することができる。例えば、時間差判定部601は、算出した時間差が所定値以下であるか否かの判定結果をスケーリング演算部に通知する。   In the fourth embodiment, an example in which a plurality of scaling calculation units are used has been described. However, a single scaling calculation unit can be used. For example, the time difference determination unit 601 notifies the scaling calculation unit of the determination result as to whether or not the calculated time difference is equal to or less than a predetermined value.

スケーリング演算部は、判定結果が、所定値以下であることを示せば、式(15)、式(16)を用いてスケーリングを行い、判定結果が、所定値より大きいことを示せば、式(15)、式(16)の所定量aを減算する処理を省略してスケーリングを行えばよい。   The scaling operation unit performs scaling using Expression (15) and Expression (16) if the determination result indicates that the determination result is equal to or less than the predetermined value, and if the determination result indicates that the determination result is greater than the predetermined value, the expression ( 15) Scaling may be performed by omitting the process of subtracting the predetermined amount a in Expression (16).

これにより、時間差判定部601の判定結果により、所定量aを減算するかしないかを切り替えれば、1つのスケーリング演算部で実施例4を実施することができる。   Accordingly, the fourth embodiment can be implemented with one scaling calculation unit by switching whether or not the predetermined amount a is subtracted according to the determination result of the time difference determination unit 601.

<動作>
次に、実施例4における動画像復号装置の処理について説明する。復号処理は、図13に示す処理と同様であるため説明を省略する。実施例4における予測ベクトル生成部による処理について説明する。
<Operation>
Next, processing of the video decoding device in the fourth embodiment will be described. The decoding process is the same as the process shown in FIG. The process by the prediction vector production | generation part in Example 4 is demonstrated.

(空間方向に隣接するブロックの予測ベクトル候補)
図22は、実施例4における予測ベクトル生成部による処理(その1)の一例を示すフローチャートである。図22に示すステップS701〜703の処理は、図14に示すステップS201〜S203の処理と同様である。
(Predicted vector candidates for blocks adjacent in the spatial direction)
FIG. 22 is a flowchart illustrating an example of a process (part 1) performed by the prediction vector generation unit according to the fourth embodiment. The processes in steps S701 to S703 shown in FIG. 22 are the same as the processes in steps S201 to S203 shown in FIG.

ステップS704で、時間差判定部601は、スケーリング前の動きベクトル(予測ベクトル候補)の属するピクチャの表示時間と、動きベクトルが参照するピクチャの表示時間との差が所定値以下であるか否かを判定する。時間差が所定値以下であれば(ステップS704−YES)ステップS705に進み、時間差が所定値より大きければ(ステップS704−NO)ステップS706に進む。   In step S704, the time difference determination unit 601 determines whether or not the difference between the display time of the picture to which the motion vector (prediction vector candidate) before scaling belongs and the display time of the picture referred to by the motion vector is equal to or smaller than a predetermined value. judge. If the time difference is less than or equal to the predetermined value (step S704-YES), the process proceeds to step S705, and if the time difference is greater than the predetermined value (step S704-NO), the process proceeds to step S706.

ステップS705で、スケーリング演算部A602は、式(15)、式(16)を用いて、所定量aで補正を行うスケーリング演算を行う。   In step S <b> 705, the scaling calculation unit A <b> 602 performs a scaling calculation that corrects by a predetermined amount a using Expression (15) and Expression (16).

ステップS706で、スケーリング演算部B603は、式(12)、式(13)を用いて、スケーリング演算を行う。   In step S706, the scaling calculation unit B603 performs scaling calculation using Expression (12) and Expression (13).

ステップS707で、予測ベクトル生成部600は、各スケーリング演算部で算出された動きベクトルを予測ベクトル候補として出力する。また、予測ベクトル生成部600は、所定の動きベクトルであれば、スケーリング演算を行わずに、所定の動きベクトルを予測ベクトル候補として出力する。   In step S707, the prediction vector generation unit 600 outputs the motion vector calculated by each scaling calculation unit as a prediction vector candidate. Moreover, if it is a predetermined motion vector, the prediction vector production | generation part 600 will output a predetermined motion vector as a prediction vector candidate, without performing a scaling calculation.

(時間方向に隣接するブロックの予測ベクトル候補)
図23は、実施例4における予測ベクトル生成部による処理(その2)の一例を示すフローチャートである。
(Predicted vector candidates for blocks adjacent in the time direction)
FIG. 23 is a flowchart illustrating an example of the process (part 2) performed by the prediction vector generation unit according to the fourth embodiment.

図23に示すステップS801〜S803は、図15に示すステップS301〜S303の処理と同様である。   Steps S801 to S803 shown in FIG. 23 are the same as the processes of steps S301 to S303 shown in FIG.

ステップS804で、時間差判定部601は、スケーリング前の動きベクトル(予測ベクトル候補)の属するピクチャの表示時間と、動きベクトルが参照するピクチャの表示時間との差が所定値以下であるか否かを判定する。時間差が所定値以下であれば(ステップS804−YES)ステップS805に進み、時間差が所定値より大きければ(ステップS804−NO)ステップS806に進む。   In step S804, the time difference determination unit 601 determines whether or not the difference between the display time of the picture to which the motion vector (prediction vector candidate) before scaling belongs and the display time of the picture referenced by the motion vector is equal to or smaller than a predetermined value. judge. If the time difference is less than or equal to the predetermined value (step S804-YES), the process proceeds to step S805, and if the time difference is greater than the predetermined value (step S804-NO), the process proceeds to step S806.

ステップS805で、スケーリング演算部A602は、式(15)、式(16)を用いて、所定量aで補正を行うスケーリング演算を行う。   In step S805, the scaling calculation unit A602 performs scaling calculation for performing correction by the predetermined amount a using Expressions (15) and (16).

ステップS806で、スケーリング演算部B603は、式(12)、式(13)を用いて、スケーリング演算を行う。   In step S806, the scaling calculation unit B603 performs scaling calculation using Expression (12) and Expression (13).

ステップS807で、予測ベクトル生成部600は、各スケーリング演算部で算出された動きベクトルを予測ベクトル候補として出力する。また、予測ベクトル生成部600は、スケーリング係数が1であれば、スケーリング演算を行わずに、その動きベクトルを予測ベクトル候補として出力する。   In step S807, the prediction vector generation unit 600 outputs the motion vector calculated by each scaling calculation unit as a prediction vector candidate. Further, if the scaling coefficient is 1, the predicted vector generation unit 600 outputs the motion vector as a predicted vector candidate without performing the scaling operation.

以上、実施例4によれば、スケーリング前の動きベクトルの属するピクチャの表示時間と、動きベクトルが参照するピクチャの表示時間との差に応じて、スケーリング演算処理を適応的に切り替え、予測ベクトルの精度を向上させることができる。   As described above, according to the fourth embodiment, the scaling operation processing is adaptively switched according to the difference between the display time of the picture to which the motion vector before scaling belongs and the display time of the picture referred to by the motion vector. Accuracy can be improved.

[実施例5]
次に、実施例5における動画像符号化装置について説明する。実施例5における動画像符号化装置は、実施例1〜4のいずれかの予測ベクトル生成部を有する動画像符号化装置である。
[Example 5]
Next, a moving picture encoding apparatus in Embodiment 5 will be described. A moving picture encoding apparatus according to the fifth embodiment is a moving picture encoding apparatus including the prediction vector generation unit according to any one of the first to fourth embodiments.

<構成>
図24は、実施例5における動画像符号化装置700の構成の一例を示すブロック図である。図24に示す動画像符号化装置700は、動き検出部701、参照ピクチャリスト記憶部702、復号画像記憶部703、動きベクトル情報記憶部704、予測ベクトル生成部705、差分ベクトル算出部706を有する。
<Configuration>
FIG. 24 is a block diagram illustrating an example of a configuration of the moving image encoding apparatus 700 according to the fifth embodiment. A moving image encoding apparatus 700 illustrated in FIG. 24 includes a motion detection unit 701, a reference picture list storage unit 702, a decoded image storage unit 703, a motion vector information storage unit 704, a prediction vector generation unit 705, and a difference vector calculation unit 706. .

また、動画像符号化装置700は、予測画素生成部707、予測誤差生成部708、直交変換部709、量子化部710、逆量子化部711、逆直交変換部712、復号画素生成部713、エントロピー符号化部714を有する。   In addition, the moving image encoding apparatus 700 includes a prediction pixel generation unit 707, a prediction error generation unit 708, an orthogonal transformation unit 709, a quantization unit 710, an inverse quantization unit 711, an inverse orthogonal transformation unit 712, a decoded pixel generation unit 713, An entropy encoding unit 714 is included.

動き検出部701は、原画像を取得し、参照ピクチャリスト記憶部702から参照ピクチャの記憶位置を取得し、復号画像記憶部703から参照ピクチャの画素データを取得する。動き検出部701は、L0、L1の参照インデックスと動きベクトルを検出する。動き検出部701は、検出された動きベクトルが参照する参照画像の領域位置情報を予測画素生成部707に出力する。   The motion detection unit 701 acquires the original image, acquires the storage position of the reference picture from the reference picture list storage unit 702, and acquires pixel data of the reference picture from the decoded image storage unit 703. The motion detection unit 701 detects the reference indexes and motion vectors of L0 and L1. The motion detection unit 701 outputs the region position information of the reference image referred to by the detected motion vector to the predicted pixel generation unit 707.

参照ピクチャリスト記憶部702は、参照ピクチャの記憶位置と、処理対象ブロックが参照可能なピクチャのPOC情報を含むピクチャ情報を記憶する。   The reference picture list storage unit 702 stores a reference picture storage location and picture information including POC information of a picture that can be referred to by the processing target block.

復号画像記憶部703は、動き補償の参照ピクチャとして利用するため、過去に符号化処理し、動画像符号化装置内で局所復号処理されたピクチャを記憶する。   The decoded image storage unit 703 stores a picture that has been encoded in the past and locally decoded in the moving image encoding device in order to be used as a reference picture for motion compensation.

動きベクトル情報記憶部704は、動き検出部701で検出された動きベクトル及びL0とL1の参照インデックス情報を含む動きベクトル情報を記憶する。動きベクトル情報記憶部704は、例えば、処理対象ブロックに対して空間的及び時間的に隣接するブロックの動きベクトル、この動きベクトルが参照するピクチャを示す参照ピクチャ識別子を含む動きベクトル情報を記憶する。   The motion vector information storage unit 704 stores motion vector information including the motion vector detected by the motion detection unit 701 and the reference index information of L0 and L1. The motion vector information storage unit 704 stores, for example, motion vector information including a motion vector of a block spatially and temporally adjacent to the processing target block and a reference picture identifier indicating a picture to which the motion vector refers.

予測ベクトル生成部705は、L0とL1とで予測ベクトル候補リストを生成する。予測ベクトル候補を生成する処理は、実施例1〜4で説明した処理と同様である。   The prediction vector generation unit 705 generates a prediction vector candidate list using L0 and L1. The process of generating a prediction vector candidate is the same as the process described in the first to fourth embodiments.

差分ベクトル算出部706は、動き検出部701からL0とL1の動きベクトルを取得し、予測ベクトル生成部705からL0とL1の予測ベクトル候補リストを取得し、それぞれの差分ベクトルを算出する。   The difference vector calculation unit 706 acquires the L0 and L1 motion vectors from the motion detection unit 701, acquires the L0 and L1 prediction vector candidate lists from the prediction vector generation unit 705, and calculates the respective difference vectors.

例えば、差分ベクトル算出部706は、L0とL1の動きベクトルに最も近い予測ベクトルを予測ベクトル候補リストの中からそれぞれ選択し、L0とL1の予測ベクトルと予測ベクトル候補インデックスをそれぞれ決定する。   For example, the difference vector calculation unit 706 selects prediction vectors closest to the L0 and L1 motion vectors from the prediction vector candidate list, and determines the prediction vectors and prediction vector candidate indexes of L0 and L1, respectively.

さらに、差分ベクトル算出部706は、L0の動きベクトルからL0の予測ベクトルを減算してL0の差分ベクトルを生成し、L1の動きベクトルからL1の予測ベクトルを減算してL1の差分ベクトルを生成する。   Further, the difference vector calculation unit 706 generates an L0 difference vector by subtracting the L0 prediction vector from the L0 motion vector, and generates an L1 difference vector by subtracting the L1 prediction vector from the L1 motion vector. .

予測画素生成部707は、入力された参照画像の領域位置情報に基づいて、復号画像記憶部703から参照画素を取得し、予測画素信号を生成する。   The prediction pixel generation unit 707 acquires a reference pixel from the decoded image storage unit 703 based on the input region position information of the reference image, and generates a prediction pixel signal.

予測誤差生成部708は、原画像と予測画素信号とを取得し、原画像と予測画素信号の差分を算出することで予測誤差信号を生成する。   The prediction error generation unit 708 acquires an original image and a prediction pixel signal, and generates a prediction error signal by calculating a difference between the original image and the prediction pixel signal.

直交変換部709は、予測誤差信号に離散コサイン変換などの直交変換処理を行い、直交変換係数を量子化部710に出力する。量子化部710は、直交変換係数を量子化する。   The orthogonal transform unit 709 performs orthogonal transform processing such as discrete cosine transform on the prediction error signal, and outputs the orthogonal transform coefficient to the quantization unit 710. The quantization unit 710 quantizes the orthogonal transform coefficient.

逆量子化部711は、量子化された直交変換係数に対し、逆量子化処理を行う。逆直交変換部712は、逆量子化された係数に対し、逆直交変換処理を行う。   The inverse quantization unit 711 performs inverse quantization processing on the quantized orthogonal transform coefficient. The inverse orthogonal transform unit 712 performs an inverse orthogonal transform process on the inversely quantized coefficient.

復号画素生成部713は、予測誤差信号と予測画素信号とを加算することで、復号画素を生成する。生成された復号画素を含む復号画像は、復号画像記憶部703に記憶される。   The decoded pixel generation unit 713 generates a decoded pixel by adding the prediction error signal and the prediction pixel signal. The decoded image including the generated decoded pixel is stored in the decoded image storage unit 703.

エントロピー符号化部714は、差分ベクトル算出部706及び量子化部710から取得した、L0とL1との参照インデックスと差分ベクトルと予測候補インデックス、量子化された直交変換係数に対し、エントロピー符号化を行う。エントロピー符号化部714は、エントロピー符号化後のデータをストリームとして出力する。   The entropy encoding unit 714 performs entropy encoding on the reference index of L0 and L1, the difference vector, the prediction candidate index, and the quantized orthogonal transform coefficient acquired from the difference vector calculation unit 706 and the quantization unit 710. Do. The entropy encoding unit 714 outputs the data after entropy encoding as a stream.

<動作>
次に、実施例5における動画像符号化装置700の動作について説明する。図25は、動画像符号化装置の処理の一例を示すフローチャートである。図25に示す符号化処理は、1処理単位ブロックの符号化処理を示す。
<Operation>
Next, the operation of the moving picture coding apparatus 700 according to the fifth embodiment will be described. FIG. 25 is a flowchart illustrating an example of processing of the video encoding device. The encoding process shown in FIG. 25 shows the encoding process of one process unit block.

ステップS901で、動きベクトル検出部701は、原画像を取得し、参照ピクチャの画素データを取得し、L0、L1の参照インデックスと動きベクトルを検出する。   In step S901, the motion vector detection unit 701 acquires an original image, acquires pixel data of a reference picture, and detects reference indexes and motion vectors of L0 and L1.

ステップS902で、予測ベクトル生成部705は、L0とL1の予測ベクトル候補リストをそれぞれ算出する。このとき、予測ベクトル生成部705は、実施例1〜4のいずれか同様、予測ベクトル候補に対して、スケーリングを行う場合は、0ベクトル方向に所定量a補正するようにする。   In step S902, the prediction vector generation unit 705 calculates prediction vector candidate lists for L0 and L1, respectively. At this time, the prediction vector generation unit 705 corrects the prediction vector candidate by a predetermined amount a in the zero vector direction when scaling the prediction vector candidate, as in any of the first to fourth embodiments.

ステップS903で、差分ベクトル算出部706は、L0とL1の動きベクトルに最も近い予測ベクトルを予測ベクトル候補リストの中からそれぞれ選択し、L0とL1の予測ベクトルと予測候補インデックスをそれぞれ決定する。   In step S903, the difference vector calculation unit 706 selects a prediction vector closest to the L0 and L1 motion vectors from the prediction vector candidate list, and determines a prediction vector and a prediction candidate index for L0 and L1, respectively.

さらに、差分ベクトル算出部706は、L0の動きベクトルからL0の予測ベクトルを減算してL0の差分ベクトルを生成し、L1の動きベクトルからL1の予測ベクトルを減算してL1の差分ベクトルを生成する。   Further, the difference vector calculation unit 706 generates an L0 difference vector by subtracting the L0 prediction vector from the L0 motion vector, and generates an L1 difference vector by subtracting the L1 prediction vector from the L1 motion vector. .

ステップS904で、予測画素生成部707は、入力された参照画像の領域位置情報に基づいて、復号画像記憶部703から参照画素を取得し、予測画素信号を生成する。   In step S904, the predicted pixel generation unit 707 acquires a reference pixel from the decoded image storage unit 703 based on the input region position information of the reference image, and generates a predicted pixel signal.

ステップS905で、予測誤差生成部708は、原画像と予測画素信号が入力され、原画像と予測画素信号の差分を算出することで予測誤差信号を生成する。   In step S905, the prediction error generation unit 708 receives the original image and the prediction pixel signal, and generates a prediction error signal by calculating a difference between the original image and the prediction pixel signal.

ステップS906で、直交変換部709は、予測誤差信号に対して直交変換処理を行い、直交変換係数を生成する。   In step S906, the orthogonal transform unit 709 performs orthogonal transform processing on the prediction error signal to generate orthogonal transform coefficients.

ステップS907で、量子化部710は、直交変換係数に対して、量子化処理を行い、量子化後の直交変換係数を生成する。   In step S907, the quantization unit 710 performs a quantization process on the orthogonal transform coefficient, and generates an orthogonal transform coefficient after quantization.

ステップS908で、動きベクトル情報記憶部704は、動きベクトル検出部701から出力されたL0とL1の参照インデックス情報と動きベクトルを含む動きベクトル情報を記憶する。これらの情報は、次のブロックの符号化に利用される。   In step S908, the motion vector information storage unit 704 stores the motion vector information including the reference index information and the motion vector of L0 and L1 output from the motion vector detection unit 701. These pieces of information are used for encoding the next block.

なお、ステップS902〜S903、ステップS904〜S907、S908の各処理は、並列して行われ、順不同である。   In addition, each process of step S902-S903, step S904-S907, and S908 is performed in parallel and is in no particular order.

ステップS909で、逆量子化部711は、量子化された直交変換係数に対し、逆量子化処理を行い、直交変換係数を生成する。次に、逆直交変換部712は、直交変換係数に対し、逆直交変換処理を行い、予測誤差信号を生成する。   In step S909, the inverse quantization unit 711 performs an inverse quantization process on the quantized orthogonal transform coefficient to generate an orthogonal transform coefficient. Next, the inverse orthogonal transform unit 712 performs an inverse orthogonal transform process on the orthogonal transform coefficient to generate a prediction error signal.

ステップS910で、復号画素生成部713は、予測誤差信号と予測画素信号とを加算し、復号画素を生成する。   In step S910, the decoded pixel generation unit 713 adds the prediction error signal and the prediction pixel signal to generate a decoded pixel.

ステップS911で、復号画像記憶部703は、復号画素を含む復号画像を記憶する。この復号画像は、以降のブロックの符号化処理に用いられる。   In step S911, the decoded image storage unit 703 stores a decoded image including decoded pixels. This decoded image is used for subsequent block encoding processing.

ステップS912で、エントロピー符号化部714は、L0とL1との参照インデックスと差分ベクトルと予測候補インデックス、量子化された直交変換係数をエントロピー符号化し、ストリームとして出力する。   In step S912, the entropy encoding unit 714 entropy-encodes the reference index of L0 and L1, the difference vector, the prediction candidate index, and the quantized orthogonal transform coefficient, and outputs the result as a stream.

以上、実施例5によれば、予測ベクトルの精度を向上させることができ、符号化効率を上げた動画像符号化装置を提供することができる。なお、動画像符号化装置700の予測ベクトル生成部705について、当該業者においては、各実施例1〜4のいずれかの予測ベクトル生成部を用いることができることは自明である。   As described above, according to the fifth embodiment, it is possible to provide a moving picture encoding apparatus that can improve the accuracy of a prediction vector and increase the encoding efficiency. Note that it is obvious for the prediction vector generation unit 705 of the moving picture encoding apparatus 700 that any one of the first to fourth embodiments can be used by those skilled in the art.

また、各実施例で説明した予測ベクトル生成部により予測ベクトル候補を算出することで、標準化技術のテストシーケンスに対して、符号化効率が約1%〜2%良くなることが発明者らの実験により確認された。   In addition, the inventors' experiment has shown that the prediction vector candidate is calculated by the prediction vector generation unit described in each embodiment, thereby improving the coding efficiency by about 1% to 2% with respect to the test sequence of the standardization technique. Confirmed by

[変形例]
図26は、画像処理装置800の構成の一例を示すブロック図である。画像処理装置800は、実施例で説明した動画像符号化装置、又は動画像復号装置の一例である。図26に示すように、画像処理装置800は、制御部801、主記憶部802、補助記憶部803、ドライブ装置804、ネットワークI/F部806、入力部807、表示部808を含む。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
[Modification]
FIG. 26 is a block diagram illustrating an example of the configuration of the image processing apparatus 800. The image processing device 800 is an example of the moving image encoding device or the moving image decoding device described in the embodiments. As illustrated in FIG. 26, the image processing apparatus 800 includes a control unit 801, a main storage unit 802, an auxiliary storage unit 803, a drive device 804, a network I / F unit 806, an input unit 807, and a display unit 808. These components are connected to each other via a bus so as to be able to transmit and receive data.

制御部801は、コンピュータの中で、各装置の制御やデータの演算、加工を行うCPUである。また、制御部801は、主記憶部802や補助記憶部803に記憶されたプログラムを実行する演算装置であり、入力部807や記憶装置からデータを受け取り、演算、加工した上で、表示部808や記憶装置などに出力する。   The control unit 801 is a CPU that controls each device, calculates data, and processes in a computer. The control unit 801 is an arithmetic device that executes a program stored in the main storage unit 802 or the auxiliary storage unit 803. The control unit 801 receives data from the input unit 807 or the storage device, calculates and processes the data, and then displays the display unit 808. Or output to a storage device.

主記憶部802は、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、制御部801が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。   The main storage unit 802 is a ROM (Read Only Memory), a RAM (Random Access Memory), or the like, and a storage device that stores or temporarily stores programs and data such as an OS and application software that are basic software executed by the control unit 801. It is.

補助記憶部803は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。   The auxiliary storage unit 803 is an HDD (Hard Disk Drive) or the like, and is a storage device that stores data related to application software and the like.

ドライブ装置804は、記録媒体805、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。   The drive device 804 reads the program from the recording medium 805, for example, a flexible disk, and installs it in the storage device.

また、記録媒体805は、所定のプログラムを格納する。この記録媒体805に格納されたプログラムは、ドライブ装置804を介して画像処理装置800にインストールされる。インストールされた所定のプログラムは、画像処理装置800により実行可能となる。   The recording medium 805 stores a predetermined program. The program stored in the recording medium 805 is installed in the image processing apparatus 800 via the drive apparatus 804. The installed predetermined program can be executed by the image processing apparatus 800.

ネットワークI/F部806は、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続された通信機能を有する周辺機器と画像処理装置800とのインターフェースである。   The network I / F unit 806 has a communication function connected via a network such as a LAN (Local Area Network) or a WAN (Wide Area Network) constructed by a data transmission path such as a wired and / or wireless line. This is an interface between the device and the image processing apparatus 800.

入力部807は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部808の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部807は、ユーザが制御部801に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。   The input unit 807 includes a keyboard having cursor keys, numeric input, various function keys, and the like, a mouse and a slice pad for performing key selection on the display screen of the display unit 808, and the like. An input unit 807 is a user interface for a user to give an operation instruction to the control unit 801 or input data.

表示部808は、LCD(Liquid Crystal Display)等を有し、制御部801から入力される表示データに応じた表示が行われる。なお、表示部808は、外部に設けられてもよく、その場合は、画像処理装置800は、表示制御部を有する。   The display unit 808 has an LCD (Liquid Crystal Display) or the like, and performs display according to display data input from the control unit 801. Note that the display unit 808 may be provided outside, and in that case, the image processing apparatus 800 includes a display control unit.

このように、前述した実施例で説明した動画像符号化処理又は動画像復号処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、前述した画像符号化処理又は画像復号処理を実現することができる。   As described above, the moving image encoding process or the moving image decoding process described in the above-described embodiment may be realized as a program for causing a computer to execute. By installing this program from a server or the like and causing the computer to execute it, the above-described image encoding process or image decoding process can be realized.

また、この動画像符号化プログラム又は動画像復号プログラムを記録媒体805に記録し、このプログラムが記録された記録媒体805をコンピュータや携帯端末に読み取らせて、前述した動画像符号化処理又は動画像復号処理を実現させることも可能である。   In addition, the moving image encoding program or the moving image decoding program is recorded on the recording medium 805, and the recording medium 805 on which the program is recorded is read by a computer or a portable terminal, so that the above-described moving image encoding process or moving image is performed. Decoding processing can also be realized.

なお、記録媒体805は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。また、前述した各実施例で説明した動画像符号化処理又は動画像復号処理は、1つ又は複数の集積回路に実装してもよい。   The recording medium 805 is a recording medium that records information optically, electrically, or magnetically, such as a CD-ROM, a flexible disk, or a magneto-optical disk, and information is electrically stored such as a ROM or flash memory. Various types of recording media such as a semiconductor memory for recording can be used. Further, the moving picture encoding process or the moving picture decoding process described in each of the above embodiments may be implemented in one or a plurality of integrated circuits.

以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。   Although each embodiment has been described in detail above, it is not limited to a specific embodiment, and various modifications and changes can be made within the scope described in the claims. It is also possible to combine all or a plurality of the components of the above-described embodiments.

なお、以上の実施例に関し、さらに以下の付記を開示する。
(付記1)
処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて復号処理を行う動画像復号装置であって、
前記処理対象ブロックが参照可能なピクチャのピクチャ情報を記憶する参照ピクチャリスト記憶部と、
前記処理対象ブロックに対して空間的及び時間的に隣接するブロックの動きベクトル、該動きベクトルが参照するピクチャを示す参照ピクチャ識別子を含む動きベクトル情報を記憶する動きベクトル情報記憶部と、
前記処理対象ブロックの動きベクトルに対する予測ベクトル候補に、前記ピクチャ情報及び前記動きベクトル情報を用いてスケーリングを行う場合、該予測ベクトル候補を0方向に所定量補正する予測ベクトル生成部と、
を備える動画像復号装置。
(付記2)
前記予測ベクトル生成部は、
前記ピクチャ情報及び前記動きベクトル情報を用いてスケーリング係数を計算するスケーリング係数計算部と、
前記スケーリング係数の大きさに基づいて前記所定量を計算し、計算された該所定量を用いて前記予測ベクトル候補を補正するスケーリング演算部と、
を備える付記1記載の動画像復号装置。
(付記3)
前記スケーリング係数は、小数点以下の精度として所定の精度を有し、
前記スケーリング演算部は、
前記スケーリング係数を予測ベクトル候補に乗算して所定の小数点以下の精度に拡張し、スケーリングされた予測ベクトル候補を求めるスケーリング部と、
前記スケーリング部でスケーリングされた予測ベクトル候補を0方向に所定量補正する補正部と、
前記スケーリング部で所定の小数点以下の精度を有するスケーリング係数でスケーリングされ前記補正部で補正された予測ベクトル候補を、最も近い整数に変換する調整部と、
を備える付記1又は2記載の動画像復号装置。
(付記4)
前記所定の小数点以下の精度がNビットである際に、前記調整部は、2N-1を加算した後にNビット分右シフトすることを特徴とする付記3記載の動画像復号装置。
(付記5)
前記予測ベクトル生成部は、
前記予測ベクトル候補が時間方向に隣接するブロックに属する場合に、予測ベクトル候補の補正処理を行う付記1乃至4いずれか一項に記載の動画像復号装置。
(付記6)
前記予測ベクトル生成部は、
前記予測ベクトル候補の大きさが第1所定値以下の場合に、予測ベクトル候補の補正処理を行う付記1乃至4いずれか一項に記載の動画像復号装置。
(付記7)
前記予測ベクトル生成部は、
予測ベクトルの属するピクチャと、該予測ベクトルが参照するピクチャとの間隔が第2所定値以下の場合に、予測ベクトル候補の補正処理を行う付記1乃至4いずれか一項に記載の動画像復号装置。
(付記8)
前記スケーリング係数の小数点以下の精度がNビットであった際に、前記補正部で補正する所定値は、1以上2N−2以下とする付記1乃至7いずれか一項に記載の動画像復号装置。
(付記9)
入力画像が分割された処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて符号化処理を行う動画像符号化装置であって、
前記処理対象ブロックが参照可能なピクチャのピクチャ情報を記憶する参照ピクチャリスト記憶部と、
前記処理対象ブロック空間的及び時間的に隣接するブロックの動きベクトル、該動きベクトルが参照するピクチャを示す参照ピクチャ識別子を含む動きベクトル情報を記憶する動きベクトル情報記憶部と、
前記処理対象ブロックの動きベクトルに対する予測ベクトル候補に、前記ピクチャ情報及び前記動きベクトル情報を用いてスケーリングを行う場合、該予測ベクトル候補を0方向に所定量補正する予測ベクトル生成部と、
を備える動画像符号化装置。
(付記10)
処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて復号処理を行う動画像復号装置が実行する動画像復号方法であって、
前記処理対象ブロックが参照可能なピクチャのピクチャ情報及び前記処理対象ブロックに対して空間的及び時間的に隣接するブロックの動きベクトルと、該動きベクトルが参照するピクチャを示す参照ピクチャ識別子とを含む動きベクトル情報を用いて、前記処理対象ブロックの動きベクトルに対する予測ベクトル候補にスケーリングを行う場合、該予測ベクトル候補を0方向に所定量補正してスケーリングし、
スケーリングされた予測ベクトル候補を用いて前記処理対象ブロックの動きベクトルとの差分を算出する動画像復号方法。
(付記11)
入力画像が分割された処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて符号化処理を行う動画像符号化装置が実行する動画像符号化方法であって、
前記処理対象ブロックが参照可能なピクチャのピクチャ情報及び前記処理対象ブロックに対して空間的及び時間的に隣接するブロックの動きベクトルと、該動きベクトルが参照するピクチャを示す参照ピクチャ識別子とを含む動きベクトル情報を用いて、前記処理対象ブロックの動きベクトルに対する予測ベクトル候補にスケーリングを行う場合、該予測ベクトル候補を0方向に所定量補正してスケーリングし、
スケーリングされた予測ベクトル候補を用いて前記処理対象ブロックの動きベクトルとの差分を算出する動画像符号化方法。
(付記12)
処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて復号処理を行う動画像復号装置に実行させる動画像復号プログラムであって、
前記処理対象ブロックが参照可能なピクチャのピクチャ情報及び前記処理対象ブロックに対して空間的及び時間的に隣接するブロックの動きベクトルと、該動きベクトルが参照するピクチャを示す参照ピクチャ識別子とを含む動きベクトル情報を用いて、前記処理対象ブロックの動きベクトルに対する予測ベクトル候補にスケーリングを行う場合、該予測ベクトル候補を0方向に所定量補正してスケーリングし、
スケーリングされた予測ベクトル候補を用いて前記処理対象ブロックの動きベクトルとの差分を算出する、
処理を動画像復号装置に実行させる動画像復号プログラム。
(付記13)
入力画像が分割された処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて符号化処理を行う動画像符号化装置に実行させる動画像符号化プログラムであって、
前記処理対象ブロックが参照可能なピクチャのピクチャ情報及び前記処理対象ブロックに対して空間的及び時間的に隣接するブロックの動きベクトルと、該動きベクトルが参照するピクチャを示す参照ピクチャ識別子とを含む動きベクトル情報を用いて、前記処理対象ブロックの動きベクトルに対する予測ベクトル候補にスケーリングを行う場合、該予測ベクトル候補を0方向に所定量補正してスケーリングし、
スケーリングされた予測ベクトル候補を用いて前記処理対象ブロックの動きベクトルとの差分を算出する、
処理を動画像符号化装置に実行させる動画像符号化プログラム。
In addition, the following additional remarks are disclosed regarding the above Example.
(Appendix 1)
A video decoding device that performs a decoding process using a motion vector of the processing target block and a prediction vector candidate of the motion vector for each processing target block,
A reference picture list storage unit that stores picture information of pictures that can be referred to by the processing target block;
A motion vector information storage unit that stores motion vector information including a motion vector of a block spatially and temporally adjacent to the processing target block, and a reference picture identifier indicating a picture to which the motion vector refers;
A prediction vector generation unit that corrects the prediction vector candidate by a predetermined amount in the 0 direction when performing scaling using the picture information and the motion vector information on the prediction vector candidate for the motion vector of the processing target block;
A video decoding device comprising:
(Appendix 2)
The prediction vector generation unit
A scaling factor calculator that calculates a scaling factor using the picture information and the motion vector information;
A scaling calculator that calculates the predetermined amount based on the magnitude of the scaling coefficient and corrects the prediction vector candidate using the calculated predetermined amount;
The moving picture decoding apparatus according to Supplementary Note 1, comprising:
(Appendix 3)
The scaling factor has a predetermined precision as the precision after the decimal point,
The scaling calculator is
A scaling unit that multiplies the scaling vector by a prediction vector candidate and expands it to a precision below a predetermined decimal point to obtain a scaled prediction vector candidate;
A correction unit that corrects the prediction vector candidate scaled by the scaling unit by a predetermined amount in the 0 direction;
An adjustment unit that converts the predicted vector candidate scaled by a scaling coefficient having a precision below a predetermined decimal point in the scaling unit and corrected by the correction unit, to the nearest integer;
The moving picture decoding apparatus according to Supplementary Note 1 or 2, further comprising:
(Appendix 4)
4. The moving picture decoding apparatus according to appendix 3, wherein when the precision below the predetermined decimal point is N bits, the adjustment unit shifts right by N bits after adding 2 N−1 .
(Appendix 5)
The prediction vector generation unit
The moving picture decoding apparatus according to any one of supplementary notes 1 to 4, wherein when the prediction vector candidate belongs to a block adjacent in the time direction, correction processing of the prediction vector candidate is performed.
(Appendix 6)
The prediction vector generation unit
The moving picture decoding apparatus according to any one of supplementary notes 1 to 4, wherein when the size of the prediction vector candidate is equal to or smaller than a first predetermined value, correction processing for the prediction vector candidate is performed.
(Appendix 7)
The prediction vector generation unit
The moving picture decoding apparatus according to any one of Supplementary notes 1 to 4, wherein when the interval between a picture to which a prediction vector belongs and a picture referred to by the prediction vector is equal to or smaller than a second predetermined value, correction processing for a prediction vector candidate is performed. .
(Appendix 8)
The moving image decoding according to any one of appendices 1 to 7, wherein when the precision after the decimal point of the scaling coefficient is N bits, the predetermined value to be corrected by the correction unit is 1 or more and 2 N−2 or less. apparatus.
(Appendix 9)
A video encoding device that performs an encoding process using a motion vector of a processing target block and a prediction vector candidate of the motion vector for each processing target block into which an input image is divided,
A reference picture list storage unit that stores picture information of pictures that can be referred to by the processing target block;
A motion vector information storage unit for storing motion vector information including a motion vector of a block adjacent to the processing target block spatially and temporally, a reference picture identifier indicating a picture to which the motion vector refers;
A prediction vector generation unit that corrects the prediction vector candidate by a predetermined amount in the 0 direction when performing scaling using the picture information and the motion vector information on the prediction vector candidate for the motion vector of the processing target block;
A video encoding device comprising:
(Appendix 10)
A video decoding method executed by a video decoding device that performs a decoding process using a motion vector of the processing target block and a prediction vector candidate of the motion vector for each processing target block,
Motion including picture information of a picture that can be referred to by the processing target block, a motion vector of a block spatially and temporally adjacent to the processing target block, and a reference picture identifier indicating a picture to which the motion vector refers When performing scaling on a prediction vector candidate for the motion vector of the processing target block using vector information, the prediction vector candidate is corrected by a predetermined amount in the 0 direction and scaled,
A moving picture decoding method for calculating a difference from a motion vector of the processing target block using a scaled prediction vector candidate.
(Appendix 11)
A moving picture coding method executed by a moving picture coding apparatus that performs coding processing using a motion vector of a processing target block and a prediction vector candidate of the motion vector for each processing target block into which an input image is divided There,
Motion including picture information of a picture that can be referred to by the processing target block, a motion vector of a block spatially and temporally adjacent to the processing target block, and a reference picture identifier indicating a picture to which the motion vector refers When performing scaling on a prediction vector candidate for the motion vector of the processing target block using vector information, the prediction vector candidate is corrected by a predetermined amount in the 0 direction and scaled,
A moving picture coding method for calculating a difference from a motion vector of the processing target block using a scaled prediction vector candidate.
(Appendix 12)
A moving picture decoding program to be executed by a moving picture decoding apparatus that performs a decoding process using a motion vector of the processing target block and a prediction vector candidate of the motion vector for each processing target block,
Motion including picture information of a picture that can be referred to by the processing target block, a motion vector of a block spatially and temporally adjacent to the processing target block, and a reference picture identifier indicating a picture to which the motion vector refers When performing scaling on a prediction vector candidate for the motion vector of the processing target block using vector information, the prediction vector candidate is corrected by a predetermined amount in the 0 direction and scaled,
Calculating a difference from the motion vector of the processing target block using the scaled prediction vector candidate;
A moving picture decoding program for causing a moving picture decoding apparatus to execute processing.
(Appendix 13)
A moving picture coding program to be executed by a moving picture coding apparatus that performs coding processing using a motion vector of a processing target block and a prediction vector candidate of the motion vector for each processing target block into which an input image is divided There,
Motion including picture information of a picture that can be referred to by the processing target block, a motion vector of a block spatially and temporally adjacent to the processing target block, and a reference picture identifier indicating a picture to which the motion vector refers When performing scaling on a prediction vector candidate for the motion vector of the processing target block using vector information, the prediction vector candidate is corrected by a predetermined amount in the 0 direction and scaled,
Calculating a difference from the motion vector of the processing target block using the scaled prediction vector candidate;
A moving picture coding program that causes a moving picture coding apparatus to execute processing.

100 動画像復号装置
101 エントロピー復号部
102 参照ピクチャリスト記憶部
103 動きベクトル情報記憶部
104 予測ベクトル生成部
105 動きベクトル復元部
106 予測画素生成部
107 逆量子化部
108 逆直交変換部
109 復号画素生成部
110 復号画像記憶部
201 スケーリング係数計算部
202 ベクトル情報取得部
203 スケーリング演算部
301 スケーリング部
302、304、306 補正部
303、305 調整部
361 オフセット計算部
401 ブロック判定部
402、502、602 スケーリング演算部A
403、503、603 スケーリング演算部B
501 動きベクトル判定部
601 時間差判定部
700 動画像符号化装置
701 動き検出部
702 参照ピクチャリスト記憶部
703 復号画像記憶部
704 動きベクトル情報記憶部
705 予測ベクトル生成部
706 差分ベクトル算出部
707 予測画素生成部
708 予測誤差生成部
709 直交変換部
710 量子化部
711 逆量子化部
712 逆直交変換部
713 復号画素生成部
714 エントロピー符号化部
100 moving picture decoding apparatus 101 entropy decoding unit 102 reference picture list storage unit 103 motion vector information storage unit 104 prediction vector generation unit 105 motion vector restoration unit 106 prediction pixel generation unit 107 inverse quantization unit 108 inverse orthogonal transform unit 109 decoded pixel generation Unit 110 decoded image storage unit 201 scaling coefficient calculation unit 202 vector information acquisition unit 203 scaling operation unit 301 scaling unit 302, 304, 306 correction unit 303, 305 adjustment unit 361 offset calculation unit 401 block determination unit 402, 502, 602 scaling operation Part A
403, 503, 603 Scaling operation part B
501 Motion vector determination unit 601 Time difference determination unit 700 Video encoding device 701 Motion detection unit 702 Reference picture list storage unit 703 Decoded image storage unit 704 Motion vector information storage unit 705 Prediction vector generation unit 706 Difference vector calculation unit 707 Prediction pixel generation Unit 708 prediction error generation unit 709 orthogonal transform unit 710 quantization unit 711 inverse quantization unit 712 inverse orthogonal transform unit 713 decoded pixel generation unit 714 entropy coding unit

Claims (3)

処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて復号処理を行う動画像復号装置が実行する動画像復号方法であって、
前記処理対象ブロックが参照可能なピクチャのピクチャ情報及び前記処理対象ブロックに対して空間的又は時間的に隣接するブロックの水平成分mvcx及び垂直成分mvcyを有する動きベクトルmvcと、該動きベクトルmvcが参照するピクチャを示す参照ピクチャ識別子とを含む動きベクトル情報を用いて、前記処理対象ブロックの動きベクトルmvに対する予測ベクトル候補mvc'を、前記隣接するブロックの動きベクトルmvcをスケーリングして算出する場合で、Scale係数は小数点以下の精度としてNビット有し、N=8ビットの場合、
mvcx'=sign(Scale×mvcx)×{(abs(Scale×mvcx)−a+128)>>8}
mvcy'=sign(Scale×mvcy)×{(abs(Scale×mvcy)−a+128)>>8}
abs(・):絶対値を返す関数
sign(・):符号(1または−1)を返す関数
とし、所定量aを、1≦a≦2N−2の範囲で該予測ベクトル候補を0方向に補正してスケーリングし、
スケーリングされた予測ベクトル候補mvc'=(mvcx'、mvcy')を用いて前記処理対象ブロックの動きベクトルとの差分を算出する動画像復号方法。
A video decoding method executed by a video decoding device that performs a decoding process using a motion vector of the processing target block and a prediction vector candidate of the motion vector for each processing target block,
Reference is made to the motion vector mvc having picture information of a picture that can be referred to by the processing target block, a horizontal component mvcx and a vertical component mvcy of a block spatially or temporally adjacent to the processing target block, and the motion vector mvc A prediction vector candidate mvc ′ for the motion vector mv of the block to be processed is calculated by scaling the motion vector mvc of the adjacent block using motion vector information including a reference picture identifier indicating a picture to be The Scale coefficient has N bits as the precision after the decimal point, and when N = 8 bits,
mvcx ′ = sign (Scale × mvcx) × {(abs (Scale × mvcx) −a + 128) >> 8}
mvcy ′ = sign (Scale × mvcy) × {(abs (Scale × mvcy) −a + 128) >> 8}
abs (·): function that returns an absolute value sign (·): a function that returns a sign (1 or −1), and a predetermined amount a is set in the 0 direction within a range of 1 ≦ a ≦ 2 N−2. To scale to
A moving picture decoding method for calculating a difference from a motion vector of the processing target block using a scaled prediction vector candidate mvc ′ = (mvcx ′, mvcy ′).
処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて復号処理を行う動画像復号装置であって、
前記処理対象ブロックが参照可能なピクチャのピクチャ情報を記憶する参照ピクチャリスト記憶部と、
前記処理対象ブロックに対して空間的又は時間的に隣接するブロックのの水平成分mvcx及び垂直成分mvcyを有する動きベクトルmvc、該動きベクトルmvcが参照するピクチャを示す参照ピクチャ識別子を含む動きベクトル情報を記憶する動きベクトル情報記憶部と、
前記ピクチャ情報及び前記動きベクトル情報を用いて、前記処理対象ブロックの動きベクトルmvに対する予測ベクトル候補mvc'を、前記隣接するブロックの動きベクトルmvcをスケーリングして算出する場合で、Scale係数は小数点以下の精度としてNビット有し、N=8ビットの場合、
mvcx'=sign(Scale×mvcx)×{(abs(Scale×mvcx)−a+128)>>8}
mvcy'=sign(Scale×mvcy)×{(abs(Scale×mvcy)−a+128)>>8}
abs(・):絶対値を返す関数
sign(・):符号(1または−1)を返す関数
とし、所定量aを、1≦a≦2N−2の範囲で該予測ベクトル候補を0方向に補正してスケーリングする予測ベクトル生成部と、
を備える動画像復号装置。
A video decoding device that performs a decoding process using a motion vector of the processing target block and a prediction vector candidate of the motion vector for each processing target block,
A reference picture list storage unit that stores picture information of pictures that can be referred to by the processing target block;
Motion vector information including a motion vector mvc having a horizontal component mvcx and a vertical component mvcy of a block spatially or temporally adjacent to the processing target block, and a reference picture identifier indicating a picture referred to by the motion vector mvc. A motion vector information storage unit for storing;
Using the picture information and the motion vector information, a predicted vector candidate mvc ′ for the motion vector mv of the processing target block is calculated by scaling the motion vector mvc of the adjacent block. Has N bits as precision and N = 8 bits,
mvcx ′ = sign (Scale × mvcx) × {(abs (Scale × mvcx) −a + 128) >> 8}
mvcy ′ = sign (Scale × mvcy) × {(abs (Scale × mvcy) −a + 128) >> 8}
abs (·): function that returns an absolute value sign (·): a function that returns a sign (1 or −1), and a predetermined amount a is set in the 0 direction within a range of 1 ≦ a ≦ 2 N−2. A predictive vector generation unit that corrects and scales to
A video decoding device comprising:
処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて復号処理を行う動画像復号装置に実行させる動画像復号プログラムであって、
前記処理対象ブロックが参照可能なピクチャのピクチャ情報及び前記処理対象ブロックに対して空間的又は時間的に隣接するブロックの水平成分mvcx及び垂直成分mvcyを有する動きベクトルmvcと、該動きベクトルmvcが参照するピクチャを示す参照ピクチャ識別子とを含む動きベクトル情報を用いて、前記処理対象ブロックの動きベクトルmvに対する予測ベクトル候補mvc'を、前記隣接するブロックの動きベクトルmvcをスケーリングして算出する場合で、Scale係数は小数点以下の精度としてNビット有し、N=8ビットの場合、
mvcx'=sign(Scale×mvcx)×{(abs(Scale×mvcx)−a+128)>>8}
mvcy'=sign(Scale×mvcy)×{(abs(Scale×mvcy)−a+128)>>8}
abs(・):絶対値を返す関数
sign(・):符号(1または−1)を返す関数
とし、所定量aを、1≦a≦2N−2の範囲で該予測ベクトル候補を0方向に補正してスケーリングし、
スケーリングされた予測ベクトル候補mvc'=(mvcx'、mvcy')を用いて前記処理対象ブロックの動きベクトルとの差分を算出する、
処理を動画像復号装置に実行させる動画像復号プログラム。
A moving picture decoding program to be executed by a moving picture decoding apparatus that performs a decoding process using a motion vector of the processing target block and a prediction vector candidate of the motion vector for each processing target block,
Reference is made to the motion vector mvc having picture information of a picture that can be referred to by the processing target block, a horizontal component mvcx and a vertical component mvcy of a block spatially or temporally adjacent to the processing target block, and the motion vector mvc A prediction vector candidate mvc ′ for the motion vector mv of the block to be processed is calculated by scaling the motion vector mvc of the adjacent block using motion vector information including a reference picture identifier indicating a picture to be The Scale coefficient has N bits as the precision after the decimal point, and when N = 8 bits,
mvcx ′ = sign (Scale × mvcx) × {(abs (Scale × mvcx) −a + 128) >> 8}
mvcy ′ = sign (Scale × mvcy) × {(abs (Scale × mvcy) −a + 128) >> 8}
abs (·): function that returns an absolute value sign (·): a function that returns a sign (1 or −1), and a predetermined amount a is set in the 0 direction within a range of 1 ≦ a ≦ 2 N−2. To scale to
Using the scaled prediction vector candidate mvc ′ = (mvcx ′, mvcy ′) to calculate a difference from the motion vector of the processing target block;
A moving picture decoding program for causing a moving picture decoding apparatus to execute processing.
JP2014034086A 2014-02-25 2014-02-25 Moving picture decoding method, moving picture decoding apparatus, and moving picture decoding program Active JP5786988B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014034086A JP5786988B2 (en) 2014-02-25 2014-02-25 Moving picture decoding method, moving picture decoding apparatus, and moving picture decoding program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014034086A JP5786988B2 (en) 2014-02-25 2014-02-25 Moving picture decoding method, moving picture decoding apparatus, and moving picture decoding program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011133383A Division JP5786478B2 (en) 2011-06-15 2011-06-15 Moving picture decoding apparatus, moving picture decoding method, and moving picture decoding program

Publications (2)

Publication Number Publication Date
JP2014135744A true JP2014135744A (en) 2014-07-24
JP5786988B2 JP5786988B2 (en) 2015-09-30

Family

ID=51413685

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014034086A Active JP5786988B2 (en) 2014-02-25 2014-02-25 Moving picture decoding method, moving picture decoding apparatus, and moving picture decoding program

Country Status (1)

Country Link
JP (1) JP5786988B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016175549A1 (en) * 2015-04-27 2016-11-03 엘지전자 주식회사 Method for processing video signal and device for same
CN110100440A (en) * 2016-12-22 2019-08-06 株式会社Kt Video signal processing method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004208258A (en) * 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd Motion vector calculating method
JP2004336369A (en) * 2003-05-07 2004-11-25 Ntt Docomo Inc Moving image encoder, moving image decoder, moving image encoding method, moving image decoding method, moving image encoding program and moving image decoding program
WO2009051419A2 (en) * 2007-10-16 2009-04-23 Lg Electronics Inc. A method and an apparatus for processing a video signal
WO2010035730A1 (en) * 2008-09-24 2010-04-01 ソニー株式会社 Image processing device and method
WO2011041321A1 (en) * 2009-10-01 2011-04-07 Ntt Docomo, Inc. Motion vector prediction in video coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004208258A (en) * 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd Motion vector calculating method
JP2004336369A (en) * 2003-05-07 2004-11-25 Ntt Docomo Inc Moving image encoder, moving image decoder, moving image encoding method, moving image decoding method, moving image encoding program and moving image decoding program
WO2009051419A2 (en) * 2007-10-16 2009-04-23 Lg Electronics Inc. A method and an apparatus for processing a video signal
WO2010035730A1 (en) * 2008-09-24 2010-04-01 ソニー株式会社 Image processing device and method
WO2011041321A1 (en) * 2009-10-01 2011-04-07 Ntt Docomo, Inc. Motion vector prediction in video coding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016175549A1 (en) * 2015-04-27 2016-11-03 엘지전자 주식회사 Method for processing video signal and device for same
CN110100440A (en) * 2016-12-22 2019-08-06 株式会社Kt Video signal processing method and device
CN110100440B (en) * 2016-12-22 2023-04-25 株式会社Kt Method for decoding and encoding video

Also Published As

Publication number Publication date
JP5786988B2 (en) 2015-09-30

Similar Documents

Publication Publication Date Title
JP5786478B2 (en) Moving picture decoding apparatus, moving picture decoding method, and moving picture decoding program
JP5786988B2 (en) Moving picture decoding method, moving picture decoding apparatus, and moving picture decoding program
JP5786989B2 (en) Moving picture coding method, moving picture coding apparatus, and moving picture coding program
JP5786987B2 (en) Moving picture coding apparatus, moving picture coding method, and moving picture coding program
AU2015272009B2 (en) Video decoding apparatus, video coding apparatus, video decoding method, video coding method, and storage medium
AU2014210568B2 (en) Video decoding apparatus, video coding apparatus, video decoding method, video coding method, and storage medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150413

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150630

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150713

R150 Certificate of patent or registration of utility model

Ref document number: 5786988

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150