JP5786987B2 - 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム - Google Patents

動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム Download PDF

Info

Publication number
JP5786987B2
JP5786987B2 JP2014034085A JP2014034085A JP5786987B2 JP 5786987 B2 JP5786987 B2 JP 5786987B2 JP 2014034085 A JP2014034085 A JP 2014034085A JP 2014034085 A JP2014034085 A JP 2014034085A JP 5786987 B2 JP5786987 B2 JP 5786987B2
Authority
JP
Japan
Prior art keywords
motion vector
vector
scaling
prediction
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.)
Active
Application number
JP2014034085A
Other languages
English (en)
Other versions
JP2014112946A (ja
Inventor
智史 島田
智史 島田
中川 章
章 中川
数井 君彦
君彦 数井
純平 小山
純平 小山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2014034085A priority Critical patent/JP5786987B2/ja
Publication of JP2014112946A publication Critical patent/JP2014112946A/ja
Application granted granted Critical
Publication of JP5786987B2 publication Critical patent/JP5786987B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、各ピクチャを複数のブロックに分割してブロックごとに動き補償する動画像符号化装置、動画像符号化方法、及び動画像符号化プログラムに関する。
近年の動画像符号化では、画像をブロックに分割し、ブロックに含まれる画素を予測して予測差分を符号化することで高い圧縮率を達成している。符号化対象のピクチャ内の画素から予測画素を構成する予測モードをイントラ予測といい、動き補償と呼ばれる過去に符号化した参照画像から予測画素を構成する予測モードをインター予測という。
動画像符号化装置において、インター予測では、予測画素として参照する領域を動きベクトルという水平成分・垂直成分の2次元座標データで表現し、動きベクトルと画素の予測差分データを符号化する。動きベクトルは、その符号量を抑えるため、符号化対象ブロックに隣接するブロックの動きベクトルから予測ベクトルを生成し、動きベクトルと予測ベクトルとの差分ベクトルを符号化する。小さい差分ベクトルほど符号量を小さく割り当てることで、動きベクトルの符号量を削減することができ、符号効率を向上させることができる。
動画像復号装置においても、各ブロックで動画像符号化装置と同一の予測ベクトルを決定し、符号化された差分ベクトルと予測ベクトルを加算することによって動きベクトルを復元する。そのため、動画像符号化装置と動画像復号装置とは、同一の動きベクトル予測部を備える。
動画像復号装置において、各ブロックは、一般には画像の左上から右下に向かってラスタースキャンやzスキャンの順序で復号される。そのため、動画像符号化装置及び動画像復号装置における動きベクトル予測部が、予測に利用できる周辺ブロックの動きベクトルは、動画像復号装置にて処理対象ブロックを復号するときに既に復号済みとなる左や上に隣接するブロックの動きベクトルとなる。
さらに、MPEG(Moving Picture Experts Group)−4 AVC/H.264(以下、H.264ともいう)では、処理対象ピクチャではなく、過去に符号化、復号処理した参照ピクチャの動きベクトルを用いて予測ベクトルを決定することもある(非特許文献1)。
予測ベクトル決定方法の従来技術として、国際標準化団体ISO/IECとITU−Tが共同に標準化を検討している動画像符号化方式HEVC(High Efficiency Video Coding)の技術が開示されている(非特許文献2)。また、参照ソフトウェアとしてはHM Software(Version 3.0)が開示されている。
以下に、HEVCに関する概要説明を行う。HEVCでは、参照可能なピクチャのリスト(以下、参照ピクチャリストともいう)として、L0と、L1という2つのリストを持つ。各ブロックは、L0とL1それぞれに対応する動きベクトルによって、最大2つの参照ピクチャの領域をインター予測に使用することができる。
L0とL1とは一般には、表示時間の方向に対応し、L0は処理対象ピクチャに対して過去のピクチャの参照リストであり、L1は未来のピクチャの参照リストである。参照ピクチャリストの各エントリは、画素データの記憶位置、及びそのピクチャの表示時間情報POC(Picture Order Count)値を含む情報を有する。
POCとは、各ピクチャの表示順序と相対的な表示時間を表す整数値である。POC値が0となるピクチャの表示時間を0としたときに、あるピクチャの表示時間は、そのピクチャのPOC値の定数倍で表すことができる。例えば、フレームの表示周期(Hz)をfr、POC値がpであるピクチャの表示時間は、式(1)で表すことができる。これにより、POCはある定数(秒)を単位とした表示時間と見なすことができる。
表示時間=p×(fr/2) ・・・式(1)
1つの参照ピクチャリストのエントリ数が2以上であった場合、各動きベクトルは、参照ピクチャリスト内のインデックス番号(参照インデックス)によって、どの参照ピクチャを参照するかを指定する。特に参照ピクチャリストのエントリ数が1ピクチャしか含まない場合、そのリストに対応する動きベクトルの参照インデックスは自動的に0番となるため、明示的に参照インデックスを指定する必要はない。
すなわち、ブロックの動きベクトルは、L0/L1リスト識別子と、参照インデックスと、ベクトルデータ(Vx,Vy)とを含む。L0/L1リスト識別子と、参照インデックスとにより参照ピクチャが指定される。参照ピクチャ内の領域は、(Vx,Vy)で指定される。VxとVyとは、それぞれ水平方向と垂直方向における参照領域の座標と処理対象ブロック(現ブロックともいう)の座標の差であり、例えば1/4画素単位で表現される。L0/L1リスト識別子と、参照インデックスとを参照ピクチャ識別子と呼び、(Vx,Vy)をベクトルデータと呼び、(0,0)のベクトルを0ベクトルと呼ぶ。
HEVCにおける予測ベクトルの決定方法について説明する。予測ベクトルは、L0/L1リスト識別子と、参照インデックスとで指定された参照ピクチャごとに決定される。参照ピクチャリストがLX、参照インデックスがrefidxで指定される参照ピクチャを参照する動きベクトルに対する予測ベクトルのベクトルデータmvpを決定するとき、最大で3つのベクトルデータを予測ベクトル候補として算出する。
処理対象ブロックに対して空間方向と時間方向に隣接するブロックは、左方向に隣接したブロック、上方向に隣接したブロック、時間方向に隣接したブロックの3つに分類される。この3グループからそれぞれ最大で1本の予測ベクトル候補が選出される。
選出された予測ベクトル候補は、時間方向に隣接したグループ、左に隣接したグループ、上に隣接したグループの優先順序でリスト化される。このリストを配列mvp_candとする。もし、全てのグループで予測ベクトル候補が1つも存在していなかった場合、0ベクトルをmvp_candに追加する。
また、候補リスト内のいずれの予測ベクトル候補を予測ベクトルとして使用するかの識別子として、予測候補インデックスmvp_idxを用いる。予測ベクトルmvpは、mvp_candのmvp_idx番目にエントリされた予測ベクトル候補のベクトルデータとなる。
動画像符号化装置において、符号化対象ブロックの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に示す例では、左隣接のブロックと、上隣接ブロックから予測ベクトル候補を選択する手順について説明する。
まず、左隣接ブロックから予測ベクトル候補を選出する手順について説明する。処理対象ブロックの左側に隣接したブロックI、ブロックHの順で、参照リストがLXでrefidxと等しい参照インデックスを持つ動きベクトルが見つかるまで探索する。参照リストがLXでrefidxと等しい参照インデックスを持つ動きベクトル1が見つかれば、この動きベクトル1が選択される。
動きベクトル1が見つからなければ、LXではない参照リストLYの中で、参照リストLXのrefidxが示す参照ピクチャと同一の参照ピクチャを参照する動きベクトル2があれば、その動きベクトル2が選択される。
動きベクトル2が見つからなければ、インター予測による動きベクトル3が存在すれば、この動きベクトル3が選択される。参照リストLXのrefidxが示す参照ピクチャと同一の参照ピクチャを参照する動きベクトルが選択されなかった場合、後述するスケーリング処理が行われる。
次に、上隣接ブロックから予測ベクトル候補を選出する手順について説明する。処理対象ブロックの上側に隣接したブロックE、ブロックD、ブロックAの順で、参照リストがLXでrefidxと等しい参照インデックスを持つ動きベクトル1が見つかるまで探索する。参照リストがLXでrefidxと等しい参照インデックスを持つ動きベクトル1が見つかれば、この動きベクトル1が選択される。
動きベクトル1が見つからなければ、LXではない参照リストLYの中で、参照リストLXのrefidxが示す参照ピクチャと同一の参照ピクチャを参照する動きベクトル2があれば、その動きベクトル2が選択される。
動きベクトル2が見つからなければ、インター予測による動きベクトル3が存在すれば、この動きベクトル3が選択される。参照リストLXのrefidxが示す参照ピクチャと同一の参照ピクチャを参照する動きベクトルが選択されなかった場合、後述するスケーリング処理が行われる。
次に、時間方向に隣接したブロックの説明をする。図2は、従来技術(その2)を説明するための図である。図2に示す例では、時間方向に隣接するブロックから予測ベクトル候補を選択する手順について説明する。
まず、時間方向に隣接するブロックを含むピクチャとしてCollocated Picture(以下、ColPicともいう)と呼ばれる時間方向に隣接した参照ピクチャ20が指定される。ColPic20は、L0とL1とのどちらかの参照リストの参照インデックス0番の参照ピクチャである。通常はL1の参照インデックス0番がColPicとなる。
ColPic20の中で処理対象ブロック11と同一位置のブロック(Colブロック)21が有する動きベクトルをmvCol22とし、mvCol22を後述するスケーリング方法にてスケーリングして、予測ベクトル候補が生成される。
動きベクトルのスケーリング方法について記述する。入力の動きベクトルをmvc=(mvcx、mvcy)とし、出力ベクトル(予測ベクトル候補)をmvc'=(mvcx'、mvcy')とする。次に、mvcがmvColである場合を例として説明する。
mvcが参照するピクチャをColRefPic23とする。mvcを有するピクチャ20のPOC値をColPicPoc、ColRefPic23のPOCをColRefPocとする。現在の処理対象ピクチャ10のPOC値をCurPoc、RefPicList LXとRefIdxとで指定されるピクチャ25のPOC値をCurrRefPocとする。
なおスケーリング対象の動きベクトルが、空間方向に隣接するブロックの動きベクトルであった場合、ColPicPocは、CurrPOCと等しい。また、スケーリング対象の動きベクトルが、時間方向に隣接するブロックの動きベクトルであった場合、ColPicPocはColPicのPOC値と等しい。
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ビット拡張される。
次に、スケーリング係数に基づいて行うスケーリング演算は、以下のようにして算出される。
mvcx'=(Scale×mvcx+128)>>8 ・・・式(12)
mvcy'=(Scale×mvcy+128)>>8 ・・・式(13)
当業者には自明であるが、2N−1を加算してNビット右シフトすることは、小数点以下Nビットの値を最も近い整数に丸めることを意味する。また、このスケーリング処理は、H.264(非特許文献1)でも同様の処理が行われる。このmvc'は、予測ベクトル候補となる。
ISO/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月
HEVCやH.264において、各フレーム間の動きは、ブロックごとに動きベクトルによって表現される。通常、時間方向に隣接するブロックから予測ベクトルを生成する場合、時間方向に隣接するブロックの動きベクトルをスケーリングする。このとき、処理対象ピクチャの表示時間と処理対象ブロックが参照するピクチャの表示時間との差T1と、時間方向に隣接するブロックが属するピクチャの表示時間と、時間方向に隣接するブロックの動きベクトルが参照するピクチャの表示時間との差T2が異なる。
ここで、単位時間あたりの動き量を一定とするために、表示時間差の比(T1÷T2)で動きベクトルをスケーリングする。このとき、例えば式(12)(13)に示すように、所定の小数点以下の精度を有するスケーリング係数でスケーリングを行い、スケーリングされたベクトルと最も近い整数値を持つベクトルを予測ベクトルとしてしまっては、予測ベクトルの精度が上がらないという問題があった。
そこで、開示の技術は、予測ベクトルの精度を向上させることを目的とする。
開示の一態様における動画像符号化装置は、入力画像が分割された処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて符号化処理を行う動画像符号化装置であって、前記処理対象ブロックが参照可能なピクチャのピクチャ情報を記憶する参照ピクチャリスト記憶部と、前記処理対象ブロックに対して空間的又は時間的に隣接するブロックの動きベクトル、該動きベクトルが参照するピクチャを示す参照ピクチャ識別子を含む動きベクトル情報を記憶する動きベクトル情報記憶部と、前記処理対象ブロックの動きベクトルに対する予測ベクトル候補に、前記ピクチャ情報及び前記動きベクトル情報を用いてスケーリングを行う場合に、前記ピクチャ情報及び前記動きベクトル情報を用いてスケーリング係数を計算するスケーリング係数計算部と、前記スケーリング係数は、小数点以下の精度として所定の精度を有し、前記スケーリング係数を予測ベクトル候補に乗算して所定の小数点以下の精度に拡張しスケーリングされた予測ベクトル候補を求めるスケーリング部と、前記スケーリング部でスケーリングされた予測ベクトル候補を0方向に所定量補正する補正部と、前記スケーリング部で所定の小数点以下の精度を有するスケーリング係数でスケーリングされ前記補正部で補正された予測ベクトル候補を、最も近い整数に変換する調整部と、を備える。
開示の技術によれば、予測ベクトルの精度を向上させることができる。
従来技術(その1)を説明するための図。 従来技術(その2)を説明するための図。 mvp'とmvColとの関係を示す図。 mvp'が正の場合のmvの出現確率分布を示す図。 mvp'が負の場合のmvの出現確率分布を示す図。 実施例1における動画像復号装置の構成の一例を示すブロック図。 実施例1における予測ベクトル生成部の構成の一例を示すブロック図。 実施例1におけるスケーリング演算部の構成の一例を示すブロック図。 スケーリング演算部の各部の構成(その1)の一例を示すブロック図。 スケーリング演算部の各部の構成(その2)の一例を示すブロック図。 具体例を用いたスケーリング演算部の処理を説明するための図。 スケーリング演算部の各部の構成(その3)の一例を示すブロック図。 実施例1における動画像復号装置の処理の一例を示すフローチャート。 実施例1における予測ベクトル生成部による処理(その1)の一例を示すフローチャート。 実施例1における予測ベクトル生成部による処理(その2)の一例を示すフローチャート。 実施例2における予測ベクトル生成部の構成の一例を示すブロック図。 実施例2における予測ベクトル生成部による処理の一例を示すフローチャート。 実施例3における予測ベクトル生成部の構成の一例を示すブロック図。 実施例3における予測ベクトル生成部による処理(その1)の一例を示すフローチャート。 実施例3における予測ベクトル生成部による処理(その2)の一例を示すフローチャート。 実施例4における予測ベクトル生成部の構成の一例を示すブロック図。 実施例4における予測ベクトル生成部による処理(その1)の一例を示すフローチャート。 実施例4における予測ベクトル生成部による処理(その2)の一例を示すフローチャート。 実施例5における動画像符号化装置の構成の一例を示すブロック図。 動画像符号化装置の処理の一例を示すフローチャート。 画像処理装置の構成の一例を示すブロック図。
まず、発明者らによる予測ベクトルの精度に関する検証について説明する。図3は、mvp'とmvColとの関係を示す図である。図3に示すように、処理対象ブロック11と時間方向に隣接するブロック(Colブロック)21の動きベクトルをmvCol22とし、処理対象ブロックの動きベクトルをmvとする。
また、mvCol22を前述した(T1÷T2)の比で無限の実数精度でスケーリングして得られる動きベクトル(予測ベクトル候補)を、mvp'とする。
mvp'=mvCol×(T1÷T2) ・・・式(14)
予測ベクトルは、mvと等しい予測ベクトルが予測ベクトル候補から選択されると、差分ベクトルが0となり、符号化効率が向上する。よって、このmvp'がmvと等しい又は近似することが符号化効率を上げるのに重要となってくる。ここで、スケーリングされたmvp'とmvとの誤差を発明者らは調べた。
図4は、mvp'が正の場合のmvの出現確率分布を示す図である。図4に示す確率分布は、ベクトルの水平成分に着目した場合を示す。図5は、mvp'が負の場合のmvの出願確率分布を示す図である。図5に示す確率分布も、ベクトルの水平成分に着目した場合を示す。
発明者らは、スケーリング対象の動きベクトルから算出されたmvp'とmvを比較すると、図4及び図5に示すように、0ベクトル方向にmvの出現頻度が高くなることを発見した。そこで、以下に示す実施例は、スケーリング係数でスケーリングする際に、予測ベクトル候補を0ベクトルの方向に補正する。以下、添付図面を参照しながら各実施例について詳細に説明する。
[実施例1]
<構成>
図6は、実施例1における動画像復号装置100の構成の一例を示すブロック図である。図6に示す動画像復号装置100は、エントロピー復号部101、参照ピクチャリスト記憶部102、動きベクトル情報記憶部103、予測ベクトル生成部104、動きベクトル復元部105、予測画素生成部106、逆量子化部107、逆直交変換部108、復号画素生成部109、復号画像記憶部110を有する。
エントロピー復号部101は、圧縮されたストリームに対してエントロピー復号を行い、処理対象ブロックのL0とL1の参照インデックス、差分ベクトル、予測候補インデックス、直交変換係数を復号する。
参照ピクチャリスト記憶部102は、処理対象ブロックが参照可能なピクチャのPOCを含むピクチャ情報や画像データの記憶位置などを記憶する。
動きベクトル情報記憶部103は、処理対象ブロックの時間的及び空間的に隣接するブロックの動きベクトル、この動きベクトルが参照するピクチャを示す参照ピクチャ識別子を含む動きベクトル情報を記憶する。これらの動きベクトル情報は、動きベクトル復元部105により生成される。
予測ベクトル生成部104は、エントロピー復号部101からL0とL1との参照インデックス(参照ピクチャ識別子)を取得し、処理対象ブロックの動きベクトルに対する予測ベクトルの候補リストを生成する。予測ベクトル生成部104の詳細については後述する。
動きベクトル復元部105は、エントロピー復号部101からL0とL1との予測候補インデックス、差分ベクトルを取得し、予測候補インデックスが示す予測ベクトル候補と差分ベクトルとを加算して動きベクトルを復元する。
予測画素生成部106は、復元された動きベクトルと復号画像記憶部110に記憶される復号画像とを用いて予測画素信号を生成する。
逆量子化部107は、エントロピー復号部101から取得した直交変換係数に対して逆量子化処理を行う。逆直交変換部108は、逆量子化された出力信号に対して逆直交変換処理を行い、予測誤差信号を生成する。予測誤差信号は復号画素生成部109に出力される。
復号画素生成部109は、予測画素信号と予測誤差信号とを加算して復号画素を生成する。
復号画像記憶部110は、復号画素生成部109により生成された復号画素を含む復号画像を記憶する。復号画像記憶部110に記憶された復号画像は、ディスプレイなどの表示部に出力される。
次に、予測ベクトル生成部104について詳細に説明する。図7は、実施例1における予測ベクトル生成部104の構成の一例を示すブロック図である。図7に示す予測ベクトル生成部104は、スケーリング係数計算部201、ベクトル情報取得部202、スケーリング演算部203を有する。
予測ベクトル生成部104は、処理対象ブロックの参照ピクチャ識別子、処理対象ブロックのPOC情報を入力する。ここで、処理対象ブロックの参照ピクチャ識別子に含まれる参照リスト識別子をLX、参照インデックスをrefidxとする。
動きベクトル情報記憶部103は、過去に処理したブロックの動きベクトル情報を保持する。動きベクトル情報は、各動きベクトルを有するブロックが属するピクチャの識別子と、動きベクトルの参照先となるピクチャの識別子(参照ピクチャ識別子)と、動きベクトルの水平成分と垂直成分の値を記憶している。
ベクトル情報取得部202は、動きベクトル情報記憶部103から処理対象ブロックに隣接するブロックの動きベクトル情報を取得する。動きベクトル情報には、動きベクトル、動きベクトルを有するブロックが属するピクチャの識別子、動きベクトルの参照先の参照ピクチャ識別子が含まれる。
ベクトル情報取得部202は、処理対象ブロックに対し、空間方向または時間方向に隣接するブロックの動きベクトル情報を、順次に取得する。この処理は、前述したように、まず、左方向に隣接するブロックの動きベクトルを探索する。ベクトル情報取得部202は、参照リストがLXでrefidxと等しい参照インデックスを持つ動きベクトルが見つかるまで探索し、見つかればその動きベクトルを選択する。
この動きベクトルが見つからなければ、ベクトル情報取得部202は、LXでない参照リストLYの中で、参照リストLXのrefidxが示す参照ピクチャと同一の参照ピクチャを参照する動きベクトルがあれば、その動きベクトルを選択する。
さらに、この動きベクトルが見つからなければ、ベクトル情報取得部202は、動きベクトルが存在すれば、その動きベクトルを選択する。参照リストLXのrefidxが示す参照ピクチャと同一の参照ピクチャを参照する動きベクトルが選択されなかった場合、次にスケーリング処理が行われる。ベクトル情報取得部202は、取得した動きベクトル情報をスケーリング係数計算部201に出力する。
スケーリング係数計算部201は、ベクトル情報取得部202から動きベクトル情報を取得し、参照ピクチャリスト記憶部102から動きベクトルが属するピクチャのPOC値を取得し、スケーリング係数を計算する。
ここで、処理対象ピクチャのPOC値をCurrPOCとする。スケーリング係数計算部201は、参照ピクチャリスト記憶部102から、処理対象ブロックが参照するピクチャのPOC値CurrRefPocと、スケーリング対象の動きベクトルが属するピクチャのPOC値ColPicPocと、この動きベクトルが参照するピクチャのPOC値ColRefPocとを取得する。
スケーリング係数計算部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に出力する。
スケーリング演算部203は、ベクトル情報取得部202から取得した動きベクトル情報とスケーリング係数計算部201から取得したスケーリング係数とに基づき、動きベクトルをスケーリングする。
図8は、実施例1におけるスケーリング演算部203の構成の一例を示すブロック図である。スケーリング演算部203は、スケーリング係数計算部201で計算されたスケーリング係数と、ベクトル情報取得部202により取得されたスケーリング対象の動きベクトル(mvcx,mvcy)を入力する。スケーリング対象の動きベクトルは予測ベクトル候補である。スケーリング演算部203は、スケーリング後の動きベクトル(mvcx',mvcy')を出力する。出力される動きベクトルが、最終的な予測ベクトル候補となる。
図8に示すスケーリング演算部203は、スケーリング部301、補正部302、調整部303を有する。スケーリング係数は、所定の小数点以下の精度を有しており、スケーリング部301は、スケーリング係数を予測ベクトル候補に乗算してスケーリングされた予測ベクトル候補を求める。スケーリングされた予測ベクトル候補はスケーリング係数が有する小数点以下の精度に拡張される。
補正部302は、スケーリング部301でスケーリングされた予測ベクトル候補を0方向に所定量補正する。調整部303は、スケーリング部301で所定の小数点以下の精度を有するスケーリング係数でスケーリングされ、補正部302で補正された予測ベクトル候補を、最も近い整数値を持つ動きベクトルに変換する。以下にスケーリング部301、補正部302、調整部303の詳細な動作を説明する。
スケーリング部301は、スケーリング係数Scale×動きベクトル(mvcx,mvcy)を算出する。スケーリング係数は、小数点以下の精度としてNビットの精度を有していた場合、スケーリング係数を乗算することで得られるスケーリング後の動きベクトルの小数点以下の精度はNビットに拡張される。
補正部302は、スケーリング後の動きベクトルに対し0方向に補正するために、絶対値演算をした後に所定量aを減算する。調整部303は、減算後の値を最も近い整数値に丸めるため、2N−1を加算した後、Nビット右シフトする。右シフトした後に絶対値化したスケーリング後の動きベクトルの符号を乗算する。
以上をまとめると、スケーリング演算部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に近づけることが出来る。
例えば、式(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のいずれかの値とする。
ここで、所定量aの値については、上記の範囲の固定値でもよい。また、シーン毎や、スケーリング係数に応じて最適な値を動的に求め、その値を用いてよい。スケーリング係数に応じて値を動的に変更する例は、後述する。
図9は、スケーリング演算部203の各部の構成(その1)の一例を示すブロック図である。図9に示す例では、スケーリング部301が、式(15)、式(16)の(Scale×mvcx)を算出する。
補正部302は、(Scale×mvcx)に対し、絶対値演算abs(Scale×mvcx)を行い、この値から所定量aを減算する。また、補正部302は、(Scale×mvcx)に対し、sign(Scale×mvcx)を計算し、符号を求める。
調整部303は、所定量aが減算された値に所定量2N−1を加算し、Nビットシフトする。調整部303は、Nビットシフトした値に符号を乗算することで、スケーリング後の動きベクトル(mvcx',mvcy')を予測ベクトル候補として出力する。
図10は、スケーリング演算部203の各部の構成(その2)の一例を示すブロック図である。図10に示す例では、補正部304は、abs(Scale×mvcx)に2N−1−aを加算する。
調整部305は、補正部304から出力される値に対してNビットシフト演算を行い、符号を乗算する。スケーリング部301の処理は、図9に示すスケーリング部301の処理と同様である。
図11は、具体例を用いたスケーリング演算部203の処理を説明するための図である。図11に示す例は、入力ストリームが静止した物体を写した動画像を圧縮したものとする。しかし、静止した物体を写した動画像であっても、各画像に乗っているノイズなどにより、動きベクトルとして0でない小さいベクトルが選択される場合がある。
ここで、入力ストリームが完全に静止しており、0ベクトルが予測されることが期待される状況とする。時間方向に隣接した動きベクトルが0でなかった場合、例えば、(mvcx、mvcy)=(2、0)(画素単位で言うと(2/4画素、0画素)の動き)で、Scale=64として1/4倍にスケーリングする例を考える。このとき、mvcx/4=0.5であるために、出力する予測ベクトル候補としてmvcx'=0を選択するか、mvcx'=1を選択するか、の2通りが考えられる。
このとき、式(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)。
よって、(mvcx'、mvcy')=(0、0)となり、スケーリング演算部203は、期待される静止した予測ベクトル候補を得ることができる。
ここで、mvが(0,0)である頻度がN0回で、mvが(1,0)である頻度がN1回であった場合、N0>N1であれば、予測ベクトルが0ベクトルになる回数が従来技術よりも増加し、差分ベクトルの符号量が低下し、符号化効率が向上する。
また、スケーリング演算方法は、次のような方法であってもよい。図12は、スケーリング演算部203の各部の構成(その3)の一例を示すブロック図である。図12に示す例では、所定量aをスケーリング係数の大きさに基づいて計算する。2N−1−aをオフセットと呼ぶ。
図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であることを表す式である。
以上により、予測ベクトル候補をスケーリングするときに、0ベクトル方向に補正をすることで、予測ベクトルの精度を上げることができる。
<動作>
次に、実施例1における動画像復号装置100の動作について説明する。図13は、実施例1における動画像復号装置の処理の一例を示すフローチャートである。図13に示す処理は、1処理単位ブロックにおける復号処理である。
ステップS101で、エントロピー復号部101で、入力されたストリームデータをエントロピー復号する。エントロピー復号部101は、処理対象ブロックのL0の参照インデックスと差分ベクトル、予測候補インデックス、L1の参照インデックスと差分ベクトル、予測候補インデックスと、直交変換係数を復号する。
ステップS102で、予測ベクトル生成部104は、復号されたL0とL1との参照インデックス、動きベクトル情報などを用いて、L0とL1の予測ベクトル候補のリストを算出する。
ステップS103で、動きベクトル復元部105は、エントロピー復号部101で復号されたL0とL1の予測候補インデックスと差分ベクトル情報を取得する。動きベクトル復元部105は、予測ベクトル候補リストの中から予測候補インデックスによって識別される予測ベクトルをL0とL1それぞれ算出する。動きベクトル復元部105は、予測ベクトルと差分ベクトルとを加算することによりL0とL1それぞれの動きベクトルを復元する。
ステップS104で、動きベクトル復元部105は、復元したL0とL1の参照インデックスと、動きベクトル情報とを動きベクトル情報記憶部103に記憶する。これらの情報は、以降のブロックの復号処理で用いられる。
ステップS105で、予測画素生成部106は、L0動きベクトルとL1動きベクトルを取得し、復号画像記憶部110から動きベクトルが参照する領域の画素データを取得し、予測画素信号を生成する。
ステップS106で、逆量子化部107は、エントロピー復号部101で復号された直交変換係数を取得し、逆量子化処理を行う。
ステップS107で、逆直交変換部108で、逆量子化された信号に対し、逆直交変換処理を行う。逆直交変換処理の決定、予測誤差信号が生成される。
なお、ステップS102〜S104の処理と、ステップS106、S07の処理とは、並列で行われ、順不同である。
ステップS108で、復号画素生成部109は、予測画素信号と予測誤差信号とを加算し、復号画素を生成する。
ステップS109で、復号画像記憶部110は、復号画素を含む復号画像を記憶する。以上で、ブロックの復号処理が終了し、次のブロックの復号処理に移行する。
(空間方向に隣接するブロックの予測ベクトル候補)
次に、予測ベクトル生成部104の動作について説明する。まず、処理対象ブロックと空間方向で隣接するブロックの予測ベクトル候補を生成する処理について説明する。図14は、実施例1における予測ベクトル生成部による処理(その1)の一例を示すフローチャートである。図14に示すステップS201で、ベクトル情報取得部202は、処理対象ブロックに対して空間方向に隣接したブロック(上隣接ブロック及び左隣接ブロック)の動きベクトル情報を、順次取得する。動きベクトル情報の取得については前述した通りである。
ステップS202で、ベクトル情報取得部202は、参照リストLXのrefidxが示す参照ピクチャと同一の参照ピクチャを参照する動きベクトル(所定の動きベクトルとも言う)が選択されたか否かを判定する。所定の動きベクトルが選択されていれば(ステップS202−YES)ステップS205に進み、所定の動きベクトルが選択されていなければ(ステップS202−NO)ステップS203に進む。
ステップS203で、スケーリング係数計算部201は、前述した式(5)〜(10)を用いてスケーリング係数を計算する。
ステップS204で、スケーリング演算部203は、スケーリング後の動きベクトル(予測ベクトル候補)に対し、0ベクトル方向に所定量補正を行い、ビットシフト演算を行う。
ステップS205で、スケーリング演算部203は、スケーリング後の補正された動きベクトルを予測ベクトル候補として出力する。また、スケーリング演算部203は、所定の動きベクトルであれば、スケーリング演算を行わずに、所定の動きベクトルを予測ベクトル候補として出力する。
(時間方向に隣接するブロックの予測ベクトル候補)
次に、処理対象ブロックと時間方向で隣接するブロックの予測ベクトル候補を生成する処理について説明する。図15は、実施例1における予測ベクトル生成部による処理(その2)の一例を示すフローチャートである。
図15に示すステップS301で、ベクトル情報取得部202は、処理対象ブロックに対して時間方向に隣接したブロックの動きベクトル情報を取得する。動きベクトル情報の取得については前述した通りである。
ステップS302で、スケーリング係数計算部201は、前述した式(5)〜(10)を用いてスケーリング係数を計算する。
ステップS303で、スケーリング係数計算部201は、スケーリング係数Scaleが1でないか否かを判定する。スケーリング係数が1でなければ(ステップS303−YES)ステップS304に進み、スケーリング係数が1であれば(ステップS303−NO)ステップS305に進む。
ステップS304で、スケーリング演算部203は、スケーリング後の動きベクトル(予測ベクトル候補)に対し、0ベクトル方向に所定量補正を行い、ビットシフト演算を行う。
ステップS305で、スケーリング演算部203は、スケーリング後の補正された動きベクトルを予測ベクトル候補として出力する。また、スケーリング演算部203は、スケーリング係数が1であれば、スケーリング演算を行わずに、その動きベクトルを予測ベクトル候補として出力する。
以上、実施例1によれば、発明者らの発見に基づき、予測ベクトル候補を0ベクトル方向に補正することで、予測ベクトルの精度を向上させ、差分ベクトルの符号量を小さくし、符号化効率を向上させることができる。
[実施例2]
次に、実施例2における動画像復号装置について説明する。実施例2では、予測ベクトル候補の動きベクトルが属するピクチャが、処理対象ブロックと空間方向に隣接するか、時間方向に隣接するかでスケーリング演算を切り替える。
<構成>
実施例2における動画像復号装置の構成は、予測ベクトル生成部以外は実施例1と同様であるため、以下、予測ベクトル生成部について説明する。
図16は、実施例2における予測ベクトル生成部400の構成の一例を示すブロック図である。図16に示す例では、予測ベクトル生成部400は、スケーリング演算部を複数有し、これらを適応的に切り替える構成である。図16に示す構成で、実施例1における構成と同様のものは同じ符号を付し、その説明を省略する。
ブロック判定部401は、予測ベクトル候補の生成に使用する動きベクトルを有するブロックが、処理対象ブロックと空間方向に隣接しているか、時間方向に隣接しているかを判定する。ブロック判定部401は、時間方向に隣接していればスケーリング演算部A402、空間方向に隣接していればスケーリング演算部B403に切り替える。
スケーリング演算部A402は、実施例1のスケーリング演算部203と同様の処理(式(15)、式(16)を用いるスケーリング演算)を行い、スケーリング対象の予測ベクトル候補を補正する。
スケーリング演算部B403は、式(12)、式(13)を用いて、予測ベクトル候補をスケーリングする。各スケーリング演算部で生成された動きベクトルが、予測ベクトル候補となる。
これは、予測ベクトル候補の生成に使用する動きベクトルが属するブロックが、処理対象ブロックと空間方向に隣接しているか、時間方向に隣接しているかで、mvの出現頻度の偏りが異なってくると考えられるからである。時間方向に隣接するか、空間方向に隣接するかを示す情報を隣接情報と呼ぶ。
例えば、時間方向に隣接する場合は、スケーリングを行うことが多いため、実施例1で説明した補正を行うことで、符号化効率を向上させることができる。一方、空間方向に隣接する場合は、そもそもスケーリングを行うことが少ないため、式(12)、式(13)によりスケーリングを行っても問題にはならない。
なお、実施例2では、複数のスケーリング演算部を用いる例について説明したが、1つのスケーリング演算部でも実施することができる。例えば、ブロック判定部401は、隣接情報をスケーリング演算部に通知する。
スケーリング演算部は、隣接情報が時間方向を示せば、式(15)、式(16)を用いてスケーリングを行い、隣接情報が空間方向を示せば、式(15)、式(16)の所定量aを減算する処理を省略してスケーリングを行えばよい。
これにより、ブロック判定部401の判定結果により、所定量aを減算するかしないかを切り替えれば、1つのスケーリング演算部で実施例2を実施することができる。
<動作>
次に、実施例2における動画像復号装置の処理について説明する。復号処理は、図13に示す処理と同様であるため説明を省略する。
図17は、実施例2における予測ベクトル生成部による処理の一例を示すフローチャートである。
ステップS401で、予測ベクトル生成部400は、予測ベクトル候補の動きベクトルを有するブロックが、処理対象ブロックと空間方向に隣接するか、時間方向に隣接するかを判定する。この判定は、ピクチャ識別子を参照すれば判定できる。時間方向に隣接すれば(ステップS401−YES)ステップS402に進み、空間方向に隣接すれば(ステップS401−NO)ステップS407に進む。
ステップS402〜S406は、図15で説明したステップS301〜S305と同様であるため説明を省略する。スケーリング演算Aは、スケーリング演算部A402により行われる。
ステップS407〜S409、S411は、図14で説明したステップS201〜S203、S205と同様である。
ステップS410で、スケーリング演算部B403は、式(12)、式(13)に示すスケーリング演算を行う。
以上、実施例2によれば、予測ベクトル候補の動きベクトルが属するブロックの隣接情報に応じて、スケーリング演算処理を適応的に切り替え、予測ベクトルの精度を向上させることができる。
[実施例3]
次に、実施例3における動画像復号装置について説明する。実施例3では、予測ベクトル候補の動きベクトルの大きさに基づいて、スケーリング演算を切り替える。
<構成>
実施例3における動画像復号装置の構成は、予測ベクトル生成部以外は実施例1と同様であるため、以下、予測ベクトル生成部について説明する。
図18は、実施例3における予測ベクトル生成部500の構成の一例を示すブロック図である。図18に示す例では、予測ベクトル生成部500は、スケーリング演算部を複数有し、これらを適応的に切り替える構成である。図18に示す構成で、実施例1における構成と同様のものは同じ符号を付し、その説明を省略する。
動きベクトル判定部501は、入力されたスケーリング前の動きベクトル(予測ベクトル候補)の大きさに応じて、スケーリング演算部を切り替える。例えば、動きベクトル判定部501は、取得した動きベクトルの大きさが所定値(例えば16)以下となるか否かを判定する。
動きベクトル判定部501は、動きベクトルの大きさが所定値以下であれば、スケーリング演算部A502、動きベクトルの大きさが所定値より大きければ、スケーリング演算部B503に切り替える。
スケーリング演算部A502は、実施例1のスケーリング演算部203と同様の処理(式(15)、式(16)を用いるスケーリング演算)を行い、スケーリング対象の予測ベクトル候補を補正する。
スケーリング演算部B503は、式(12)、式(13)を用いて、予測ベクトル候補をスケーリングする。各スケーリング演算部で生成された動きベクトルが、最終的な予測ベクトル候補となる。
これは、スケーリング前の動きベクトル(予測ベクトル候補)の大きさによって、mvの出現頻度の偏りが異なってくる可能性があるからである。動きベクトルの絶対値が小さいほど、予測ベクトルとの誤差の影響が大きくなるので、動きベクトルの絶対値が小さい場合に、実施例1で説明した補正処理を行う。
なお、実施例3では、複数のスケーリング演算部を用いる例について説明したが、1つのスケーリング演算部でも実施することができる。例えば、動きベクトル判定部501は、動きベクトルの大きさが所定値以下であるか否かの判定結果をスケーリング演算部に通知する。
スケーリング演算部は、判定結果が、所定値以下であることを示せば、式(15)、式(16)を用いてスケーリングを行い、判定結果が、所定値より大きいことを示せば、式(15)、式(16)の所定量aを減算する処理を省略してスケーリングを行えばよい。
これにより、動きベクトル判定部501の判定結果により、所定量aを減算するかしないかを切り替えれば、1つのスケーリング演算部で実施例3を実施することができる。
<動作>
次に、実施例3における動画像復号装置の処理について説明する。復号処理は、図13に示す処理と同様であるため説明を省略する。実施例3における予測ベクトル生成部による処理について説明する。
(空間方向に隣接するブロックの予測ベクトル候補)
図19は、実施例3における予測ベクトル生成部による処理(その1)の一例を示すフローチャートである。図19に示すステップS501〜503の処理は、図14に示すステップS201〜S203の処理と同様である。
ステップS504で、動きベクトル判定部501は、動きベクトル(予測ベクトル候補)の大きさが所定値以下であるか否かを判定する。動きベクトルの大きさが所定値以下であれば(ステップS504−YES)ステップS505に進み、動きベクトルの大きさが所定値より大きければ(ステップS504−NO)ステップS506に進む。
ステップS505で、スケーリング演算部A502は、式(15)、式(16)を用いて、所定量aで補正を行うスケーリング演算を行う。
ステップS506で、スケーリング演算部B503は、式(12)、式(13)を用いて、スケーリング演算を行う。
ステップS507で、予測ベクトル生成部500は、各スケーリング演算部で算出された動きベクトルを予測ベクトル候補として出力する。また、予測ベクトル生成部500は、所定の動きベクトルであれば、スケーリング演算を行わずに、所定の動きベクトルを予測ベクトル候補として出力する。
(時間方向に隣接するブロックの予測ベクトル候補)
図20は、実施例3における予測ベクトル生成部による処理(その2)の一例を示すフローチャートである。
図20に示すステップS601〜S603は、図15に示すステップS301〜S303の処理と同様である。
ステップS604で、動きベクトル判定部501は、動きベクトル(予測ベクトル候補)の大きさが所定値以下であるか否かを判定する。動きベクトルの大きさが所定値以下であれば(ステップS604−YES)ステップS605に進み、動きベクトルの大きさが所定値より大きければ(ステップS604−NO)ステップS606に進む。
ステップS605で、スケーリング演算部A502は、式(15)、式(16)を用いて、所定量aで補正を行うスケーリング演算を行う。
ステップS606で、スケーリング演算部B503は、式(12)、式(13)を用いて、スケーリング演算を行う。
ステップS607で、予測ベクトル生成部500は、各スケーリング演算部で算出された動きベクトルを予測ベクトル候補として出力する。また、予測ベクトル生成部500は、スケーリング係数が1であれば、スケーリング演算を行わずに、その動きベクトルを予測ベクトル候補として出力する。
以上、実施例3によれば、予測ベクトル候補の動きベクトルの大きさに応じて、スケーリング演算処理を適応的に切り替え、予測ベクトルの精度を向上させることができる。
[実施例4]
次に、実施例4における動画像復号装置について説明する。実施例4では、スケーリング前の動きベクトル(予測ベクトル候補)の属するピクチャの表示時間と、動きベクトルが参照するピクチャの表示時間との差に基づいて、スケーリング演算を切り替える。
<構成>
実施例4における動画像復号装置の構成は、予測ベクトル生成部以外は実施例1と同様であるため、以下、予測ベクトル生成部について説明する。
図21は、実施例4における予測ベクトル生成部600の構成の一例を示すブロック図である。図21に示す例では、予測ベクトル生成部600は、スケーリング演算部を複数有し、これらを適応的に切り替える構成である。図21に示す構成で、実施例1における構成と同様のものは同じ符号を付し、その説明を省略する。
時間差判定部601は、スケーリング前の動きベクトル(予測ベクトル候補)の属するピクチャの表示時間と、動きベクトルが参照するピクチャの表示時間との差に応じて、スケーリング演算部を切り替える。
例えば、時間差判定部601は、処理対象ブロックの参照ピクチャ識別子と、処理対象ピクチャのPOC値を取得する。また、時間差判定部601は、ベクトル情報取得部202が取得した動きベクトルが属するピクチャの識別子と、その動きベクトルが参照するピクチャの識別子を取得する。
時間差判定部601は、取得した各ピクチャのPOC値を参照ピクチャリスト記憶部102から取得し、スケーリング前の動きベクトル(予測ベクトル候補)の属するピクチャのPOC値と、動きベクトルが参照するピクチャのPOC値との差を算出する。時間差判定部601は、このPOCを用いて算出した時間差(間隔)が、所定値(例えば4)以下となるか否かを判定する。
時間差判定部601は、POCの時間差(間隔)が所定値以下であれば、スケーリング演算部A602、POCの時間差が所定値より大きければ、スケーリング演算部B603に切り替える。
スケーリング演算部A602は、実施例1のスケーリング演算部203と同様の処理(式(15)、式(16)を用いるスケーリング演算)を行い、スケーリング後の予測ベクトル候補を補正する。
スケーリング演算部B603は、式(12)、式(13)を用いて、予測ベクトル候補をスケーリングする。各スケーリング演算部で生成された動きベクトルが、最終的な予測ベクトル候補となる。
これは、スケーリング前の動きベクトル(予測ベクトル候補)の属するピクチャの表示時間と、動きベクトルが参照するピクチャの表示時間との差によって、mvの出現頻度の偏りが異なってくる可能性があるからである。
なお、実施例4では、複数のスケーリング演算部を用いる例について説明したが、1つのスケーリング演算部でも実施することができる。例えば、時間差判定部601は、算出した時間差が所定値以下であるか否かの判定結果をスケーリング演算部に通知する。
スケーリング演算部は、判定結果が、所定値以下であることを示せば、式(15)、式(16)を用いてスケーリングを行い、判定結果が、所定値より大きいことを示せば、式(15)、式(16)の所定量aを減算する処理を省略してスケーリングを行えばよい。
これにより、時間差判定部601の判定結果により、所定量aを減算するかしないかを切り替えれば、1つのスケーリング演算部で実施例4を実施することができる。
<動作>
次に、実施例4における動画像復号装置の処理について説明する。復号処理は、図13に示す処理と同様であるため説明を省略する。実施例4における予測ベクトル生成部による処理について説明する。
(空間方向に隣接するブロックの予測ベクトル候補)
図22は、実施例4における予測ベクトル生成部による処理(その1)の一例を示すフローチャートである。図22に示すステップS701〜703の処理は、図14に示すステップS201〜S203の処理と同様である。
ステップS704で、時間差判定部601は、スケーリング前の動きベクトル(予測ベクトル候補)の属するピクチャの表示時間と、動きベクトルが参照するピクチャの表示時間との差が所定値以下であるか否かを判定する。時間差が所定値以下であれば(ステップS704−YES)ステップS705に進み、時間差が所定値より大きければ(ステップS704−NO)ステップS706に進む。
ステップS705で、スケーリング演算部A602は、式(15)、式(16)を用いて、所定量aで補正を行うスケーリング演算を行う。
ステップS706で、スケーリング演算部B603は、式(12)、式(13)を用いて、スケーリング演算を行う。
ステップS707で、予測ベクトル生成部600は、各スケーリング演算部で算出された動きベクトルを予測ベクトル候補として出力する。また、予測ベクトル生成部600は、所定の動きベクトルであれば、スケーリング演算を行わずに、所定の動きベクトルを予測ベクトル候補として出力する。
(時間方向に隣接するブロックの予測ベクトル候補)
図23は、実施例4における予測ベクトル生成部による処理(その2)の一例を示すフローチャートである。
図23に示すステップS801〜S803は、図15に示すステップS301〜S303の処理と同様である。
ステップS804で、時間差判定部601は、スケーリング前の動きベクトル(予測ベクトル候補)の属するピクチャの表示時間と、動きベクトルが参照するピクチャの表示時間との差が所定値以下であるか否かを判定する。時間差が所定値以下であれば(ステップS804−YES)ステップS805に進み、時間差が所定値より大きければ(ステップS804−NO)ステップS806に進む。
ステップS805で、スケーリング演算部A602は、式(15)、式(16)を用いて、所定量aで補正を行うスケーリング演算を行う。
ステップS806で、スケーリング演算部B603は、式(12)、式(13)を用いて、スケーリング演算を行う。
ステップS807で、予測ベクトル生成部600は、各スケーリング演算部で算出された動きベクトルを予測ベクトル候補として出力する。また、予測ベクトル生成部600は、スケーリング係数が1であれば、スケーリング演算を行わずに、その動きベクトルを予測ベクトル候補として出力する。
以上、実施例4によれば、スケーリング前の動きベクトルの属するピクチャの表示時間と、動きベクトルが参照するピクチャの表示時間との差に応じて、スケーリング演算処理を適応的に切り替え、予測ベクトルの精度を向上させることができる。
[実施例5]
次に、実施例5における動画像符号化装置について説明する。実施例5における動画像符号化装置は、実施例1〜4のいずれかの予測ベクトル生成部を有する動画像符号化装置である。
<構成>
図24は、実施例5における動画像符号化装置700の構成の一例を示すブロック図である。図24に示す動画像符号化装置700は、動き検出部701、参照ピクチャリスト記憶部702、復号画像記憶部703、動きベクトル情報記憶部704、予測ベクトル生成部705、差分ベクトル算出部706を有する。
また、動画像符号化装置700は、予測画素生成部707、予測誤差生成部708、直交変換部709、量子化部710、逆量子化部711、逆直交変換部712、復号画素生成部713、エントロピー符号化部714を有する。
動き検出部701は、原画像を取得し、参照ピクチャリスト記憶部702から参照ピクチャの記憶位置を取得し、復号画像記憶部703から参照ピクチャの画素データを取得する。動き検出部701は、L0、L1の参照インデックスと動きベクトルを検出する。動き検出部701は、検出された動きベクトルが参照する参照画像の領域位置情報を予測画素生成部707に出力する。
参照ピクチャリスト記憶部702は、参照ピクチャの記憶位置と、処理対象ブロックが参照可能なピクチャのPOC情報を含むピクチャ情報を記憶する。
復号画像記憶部703は、動き補償の参照ピクチャとして利用するため、過去に符号化処理し、動画像符号化装置内で局所復号処理されたピクチャを記憶する。
動きベクトル情報記憶部704は、動き検出部701で検出された動きベクトル及びL0とL1の参照インデックス情報を含む動きベクトル情報を記憶する。動きベクトル情報記憶部704は、例えば、処理対象ブロックに対して空間的及び時間的に隣接するブロックの動きベクトル、この動きベクトルが参照するピクチャを示す参照ピクチャ識別子を含む動きベクトル情報を記憶する。
予測ベクトル生成部705は、L0とL1とで予測ベクトル候補リストを生成する。予測ベクトル候補を生成する処理は、実施例1〜4で説明した処理と同様である。
差分ベクトル算出部706は、動き検出部701からL0とL1の動きベクトルを取得し、予測ベクトル生成部705からL0とL1の予測ベクトル候補リストを取得し、それぞれの差分ベクトルを算出する。
例えば、差分ベクトル算出部706は、L0とL1の動きベクトルに最も近い予測ベクトルを予測ベクトル候補リストの中からそれぞれ選択し、L0とL1の予測ベクトルと予測ベクトル候補インデックスをそれぞれ決定する。
さらに、差分ベクトル算出部706は、L0の動きベクトルからL0の予測ベクトルを減算してL0の差分ベクトルを生成し、L1の動きベクトルからL1の予測ベクトルを減算してL1の差分ベクトルを生成する。
予測画素生成部707は、入力された参照画像の領域位置情報に基づいて、復号画像記憶部703から参照画素を取得し、予測画素信号を生成する。
予測誤差生成部708は、原画像と予測画素信号とを取得し、原画像と予測画素信号の差分を算出することで予測誤差信号を生成する。
直交変換部709は、予測誤差信号に離散コサイン変換などの直交変換処理を行い、直交変換係数を量子化部710に出力する。量子化部710は、直交変換係数を量子化する。
逆量子化部711は、量子化された直交変換係数に対し、逆量子化処理を行う。逆直交変換部712は、逆量子化された係数に対し、逆直交変換処理を行う。
復号画素生成部713は、予測誤差信号と予測画素信号とを加算することで、復号画素を生成する。生成された復号画素を含む復号画像は、復号画像記憶部703に記憶される。
エントロピー符号化部714は、差分ベクトル算出部706及び量子化部710から取得した、L0とL1との参照インデックスと差分ベクトルと予測候補インデックス、量子化された直交変換係数に対し、エントロピー符号化を行う。エントロピー符号化部714は、エントロピー符号化後のデータをストリームとして出力する。
<動作>
次に、実施例5における動画像符号化装置700の動作について説明する。図25は、動画像符号化装置の処理の一例を示すフローチャートである。図25に示す符号化処理は、1処理単位ブロックの符号化処理を示す。
ステップS901で、動きベクトル検出部701は、原画像を取得し、参照ピクチャの画素データを取得し、L0、L1の参照インデックスと動きベクトルを検出する。
ステップS902で、予測ベクトル生成部705は、L0とL1の予測ベクトル候補リストをそれぞれ算出する。このとき、予測ベクトル生成部705は、実施例1〜4のいずれか同様、予測ベクトル候補に対して、スケーリングを行う場合は、0ベクトル方向に所定量a補正するようにする。
ステップS903で、差分ベクトル算出部706は、L0とL1の動きベクトルに最も近い予測ベクトルを予測ベクトル候補リストの中からそれぞれ選択し、L0とL1の予測ベクトルと予測候補インデックスをそれぞれ決定する。
さらに、差分ベクトル算出部706は、L0の動きベクトルからL0の予測ベクトルを減算してL0の差分ベクトルを生成し、L1の動きベクトルからL1の予測ベクトルを減算してL1の差分ベクトルを生成する。
ステップS904で、予測画素生成部707は、入力された参照画像の領域位置情報に基づいて、復号画像記憶部703から参照画素を取得し、予測画素信号を生成する。
ステップS905で、予測誤差生成部708は、原画像と予測画素信号が入力され、原画像と予測画素信号の差分を算出することで予測誤差信号を生成する。
ステップS906で、直交変換部709は、予測誤差信号に対して直交変換処理を行い、直交変換係数を生成する。
ステップS907で、量子化部710は、直交変換係数に対して、量子化処理を行い、量子化後の直交変換係数を生成する。
ステップS908で、動きベクトル情報記憶部704は、動きベクトル検出部701から出力されたL0とL1の参照インデックス情報と動きベクトルを含む動きベクトル情報を記憶する。これらの情報は、次のブロックの符号化に利用される。
なお、ステップS902〜S903、ステップS904〜S907、S908の各処理は、並列して行われ、順不同である。
ステップS909で、逆量子化部711は、量子化された直交変換係数に対し、逆量子化処理を行い、直交変換係数を生成する。次に、逆直交変換部712は、直交変換係数に対し、逆直交変換処理を行い、予測誤差信号を生成する。
ステップS910で、復号画素生成部713は、予測誤差信号と予測画素信号とを加算し、復号画素を生成する。
ステップS911で、復号画像記憶部703は、復号画素を含む復号画像を記憶する。この復号画像は、以降のブロックの符号化処理に用いられる。
ステップS912で、エントロピー符号化部714は、L0とL1との参照インデックスと差分ベクトルと予測候補インデックス、量子化された直交変換係数をエントロピー符号化し、ストリームとして出力する。
以上、実施例5によれば、予測ベクトルの精度を向上させることができ、符号化効率を上げた動画像符号化装置を提供することができる。なお、動画像符号化装置700の予測ベクトル生成部705について、当該業者においては、各実施例1〜4のいずれかの予測ベクトル生成部を用いることができることは自明である。
また、各実施例で説明した予測ベクトル生成部により予測ベクトル候補を算出することで、標準化技術のテストシーケンスに対して、符号化効率が約1%〜2%良くなることが発明者らの実験により確認された。
[変形例]
図26は、画像処理装置800の構成の一例を示すブロック図である。画像処理装置800は、実施例で説明した動画像符号化装置、又は動画像復号装置の一例である。図26に示すように、画像処理装置800は、制御部801、主記憶部802、補助記憶部803、ドライブ装置804、ネットワークI/F部806、入力部807、表示部808を含む。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
制御部801は、コンピュータの中で、各装置の制御やデータの演算、加工を行うCPUである。また、制御部801は、主記憶部802や補助記憶部803に記憶されたプログラムを実行する演算装置であり、入力部807や記憶装置からデータを受け取り、演算、加工した上で、表示部808や記憶装置などに出力する。
主記憶部802は、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、制御部801が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
補助記憶部803は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
ドライブ装置804は、記録媒体805、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。
また、記録媒体805は、所定のプログラムを格納する。この記録媒体805に格納されたプログラムは、ドライブ装置804を介して画像処理装置800にインストールされる。インストールされた所定のプログラムは、画像処理装置800により実行可能となる。
ネットワークI/F部806は、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続された通信機能を有する周辺機器と画像処理装置800とのインターフェースである。
入力部807は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部808の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部807は、ユーザが制御部801に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。
表示部808は、LCD(Liquid Crystal Display)等を有し、制御部801から入力される表示データに応じた表示が行われる。なお、表示部808は、外部に設けられてもよく、その場合は、画像処理装置800は、表示制御部を有する。
このように、前述した実施例で説明した動画像符号化処理又は動画像復号処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、前述した画像符号化処理又は画像復号処理を実現することができる。
また、この動画像符号化プログラム又は動画像復号プログラムを記録媒体805に記録し、このプログラムが記録された記録媒体805をコンピュータや携帯端末に読み取らせて、前述した動画像符号化処理又は動画像復号処理を実現させることも可能である。
なお、記録媒体805は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。また、前述した各実施例で説明した動画像符号化処理又は動画像復号処理は、1つ又は複数の集積回路に実装してもよい。
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
なお、以上の実施例に関し、さらに以下の付記を開示する。
(付記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方向に所定量補正してスケーリングし、
スケーリングされた予測ベクトル候補を用いて前記処理対象ブロックの動きベクトルとの差分を算出する、
処理を動画像符号化装置に実行させる動画像符号化プログラム。
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 エントロピー符号化部

Claims (7)

  1. 入力画像が分割された処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて符号化処理を行う動画像符号化装置であって、
    前記処理対象ブロックが参照可能なピクチャのピクチャ情報を記憶する参照ピクチャリスト記憶部と、
    前記処理対象ブロックに対して空間的又は時間的に隣接するブロックの動きベクトル、該動きベクトルが参照するピクチャを示す参照ピクチャ識別子を含む動きベクトル情報を記憶する動きベクトル情報記憶部と、
    前記処理対象ブロックの動きベクトルに対する予測ベクトル候補に、前記ピクチャ情報及び前記動きベクトル情報を用いてスケーリングを行う場合に、前記ピクチャ情報及び前記動きベクトル情報を用いてスケーリング係数を計算するスケーリング係数計算部と、
    前記スケーリング係数は、小数点以下の精度として所定の精度を有し、前記スケーリング係数を予測ベクトル候補に乗算して所定の小数点以下の精度に拡張しスケーリングされた予測ベクトル候補を求めるスケーリング部と、
    前記スケーリング部でスケーリングされた予測ベクトル候補を0方向に所定量補正する補正部と、
    前記スケーリング部で所定の小数点以下の精度を有するスケーリング係数でスケーリングされ前記補正部で補正された予測ベクトル候補を、最も近い整数に変換する調整部と、
    を備える動画像符号化装置。
  2. 前記補正部は、
    前記スケーリング係数の大きさに基づいて前記所定量を計算し、計算された該所定量を用いて前記予測ベクトル候補を補正する請求項1記載の動画像符号化装置。
  3. 前記所定の小数点以下の精度がNビットである際に、前記調整部は、2N-1を加算したのちにNビット分右シフトすることを特徴とする請求項1又は2記載の動画像符号化装置。
  4. 前記補正部は、
    前記予測ベクトル候補の大きさが第1所定値以下の場合に、予測ベクトル候補の補正処理を行う請求項1乃至いずれか一項に記載の動画像符号化装置。
  5. 前記補正部は、
    予測ベクトルの属するピクチャと、該予測ベクトルが参照するピクチャとの間隔が第2所定値以下の場合に、予測ベクトル候補の補正処理を行う請求項1乃至いずれか一項に記載の動画像符号化装置。
  6. 入力画像が分割された処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて符号化処理を行う動画像符号化装置が実行する動画像符号化方法であって、
    前記処理対象ブロックが参照可能なピクチャのピクチャ情報及び前記処理対象ブロックに対して空間的又は時間的に隣接するブロックの動きベクトルと、該動きベクトルが参照するピクチャを示す参照ピクチャ識別子とを含む動きベクトル情報を用いて、前記処理対象ブロックの動きベクトルに対する予測ベクトル候補にスケーリングを行う場合に、前記ピクチャ情報及び前記動きベクトル情報を用いてスケーリング係数を計算し、前記スケーリング係数は、小数点以下の精度として所定の精度を有し、前記スケーリング係数を予測ベクトル候補に乗算して所定の小数点以下の精度に拡張しスケーリングされた予測ベクトル候補を求め、前記スケーリングされた予測ベクトル候補を0方向に所定量補正して、前記補正された予測ベクトル候補を最も近い整数に変換し、前記整数に変換された予測ベクトル候補を用いて前記処理対象ブロックの動きベクトルとの差分を算出する動画像符号化方法。
  7. 入力画像が分割された処理対象ブロックごとに、該処理対象ブロックの動きベクトルと該動きベクトルの予測ベクトル候補とを用いて符号化処理を行う動画像符号化装置に実行させる動画像符号化プログラムであって、
    前記処理対象ブロックが参照可能なピクチャのピクチャ情報及び前記処理対象ブロックに対して空間的又は時間的に隣接するブロックの動きベクトルと、該動きベクトルが参照するピクチャを示す参照ピクチャ識別子とを含む動きベクトル情報を用いて、前記処理対象ブロックの動きベクトルに対する予測ベクトル候補にスケーリングを行う場合に、前記ピクチャ情報及び前記動きベクトル情報を用いてスケーリング係数を計算し、前記スケーリング係数は、小数点以下の精度として所定の精度を有し、前記スケーリング係数を予測ベクトル候補に乗算して所定の小数点以下の精度に拡張しスケーリングされた予測ベクトル候補を求め、前記スケーリングされた予測ベクトル候補を0方向に所定量補正して、前記補正された予測ベクトル候補を最も近い整数に変換し、前記整数に変換された予測ベクトル候補を用いて前記処理対象ブロックの動きベクトルとの差分を算出する、
    処理を動画像符号化装置に実行させる動画像符号化プログラム。
JP2014034085A 2014-02-25 2014-02-25 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム Active JP5786987B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014034085A JP5786987B2 (ja) 2014-02-25 2014-02-25 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014034085A JP5786987B2 (ja) 2014-02-25 2014-02-25 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011133383A Division JP5786478B2 (ja) 2011-06-15 2011-06-15 動画像復号装置、動画像復号方法、及び動画像復号プログラム

Publications (2)

Publication Number Publication Date
JP2014112946A JP2014112946A (ja) 2014-06-19
JP5786987B2 true JP5786987B2 (ja) 2015-09-30

Family

ID=51169713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014034085A Active JP5786987B2 (ja) 2014-02-25 2014-02-25 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム

Country Status (1)

Country Link
JP (1) JP5786987B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004208258A (ja) * 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd 動きベクトル計算方法
JP4373702B2 (ja) * 2003-05-07 2009-11-25 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
KR102139535B1 (ko) * 2007-10-16 2020-07-30 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US20110170605A1 (en) * 2008-09-24 2011-07-14 Kazushi Sato Image processing apparatus and image processing method
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding

Also Published As

Publication number Publication date
JP2014112946A (ja) 2014-06-19

Similar Documents

Publication Publication Date Title
JP5786478B2 (ja) 動画像復号装置、動画像復号方法、及び動画像復号プログラム
JP5786988B2 (ja) 動画像復号方法、動画像復号装置、及び動画像復号プログラム
JP5786989B2 (ja) 動画像符号化方法、動画像符号化装置、及び動画像符号化プログラム
JP5786987B2 (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
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: 20150203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150406

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 (=grant) or registration of utility model

Ref document number: 5786987

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150