JP2013157681A - 動画像復号装置及び動画像復号方法 - Google Patents

動画像復号装置及び動画像復号方法 Download PDF

Info

Publication number
JP2013157681A
JP2013157681A JP2012014750A JP2012014750A JP2013157681A JP 2013157681 A JP2013157681 A JP 2013157681A JP 2012014750 A JP2012014750 A JP 2012014750A JP 2012014750 A JP2012014750 A JP 2012014750A JP 2013157681 A JP2013157681 A JP 2013157681A
Authority
JP
Japan
Prior art keywords
picture
image data
prefetch
data
decoded
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
JP2012014750A
Other languages
English (en)
Other versions
JP5803697B2 (ja
Inventor
Hidenori Nakaishi
英典 仲石
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 Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2012014750A priority Critical patent/JP5803697B2/ja
Publication of JP2013157681A publication Critical patent/JP2013157681A/ja
Application granted granted Critical
Publication of JP5803697B2 publication Critical patent/JP5803697B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】
ヒット率を向上させる内部メモリへのプリフェッチ制御を行う動画像復号装置を提供する。
【解決手段】
動画像復号装置は,入力されるビデオストリームに含まれる各ピクチャの参照ピクチャ識別情報と動きベクトル情報に基づいて参照画像データを取得して前記ピクチャの復号画像データを生成するインター予測処理部と,参照画像データを格納する内部メモリと,ピクチャのインター予測処理のために,外部メモリから前記復号画像データを読み出して参照画像データとして前記内部メモリに格納するプリフェッチ制御部とを有し,プリフェッチ制御部は,参照ピクチャ識別情報に対応する参照ピクチャの復号画像データを前記外部メモリから読み出して,参照ピクチャと処理対象ピクチャとのビデオストリームでの時間的間隔に応じたデータ容量比で,内部メモリに格納する。
【選択図】 図1

Description

本発明は,動画像復号装置及び動画像復号方法に関する。
動画像を圧縮する情報圧縮技術として,MPEG-2ビデオ(Moving Picture Experts Group)やH.264などの画像圧縮規格が広く知られている。これらの画像圧縮規格による画像処理装置は,イメージセンサ等で取得した原画像データを符号化してビデオストリームを生成する符号化装置と,ビデオストリームを復号して復号画像データを生成する復号装置とがある。動画像の符号化装置,復号装置については,例えば以下の特許文献に記載されている。
近年のビデオカメラやデジタルカメラは,動画機能の性能が目覚ましく向上し,HDTV(High Definition Television)画像(1920×1080画素)を30フレーム/秒で処理するのが一般的になっている。
動画像符号化装置は,原画像データを入力して一旦外部メモリのフレームメモリに格納し,フレームメモリから原画像データと参照画像データとを読み出し,両者を比較して動きベクトルを求めてインター予測モードの符号化を行う。さらに,インター予測モードとイントラ予測モードのいずれかを決定し,決定した予測モードで生成した予測画像と原画像との差分データを生成し,差分データを圧縮してビデオストリームを出力する。また,符号化装置では,ビデオストリームで採用した予測モードで復号してローカルデコード画像と呼ばれる復号画像データを生成して,それをフレームメモリに格納し,PピクチャやBピクチャの符号化処理の参照画像データとして利用する。
一方,動画像復号装置は,ビデオストリームを入力し,それに含まれている予測モードや動きベクトル等に基づいて復号画像である参照画像データから予測画像データを生成し,予測画像データにストリームデータに含まれている差分データを加算して復号画像データを生成し,復号画像データをフレームメモリに格納する。この復号画像データが復号出力として出力されるとともに,後のピクチャの復号処理で参照画像データとして利用される。
以下,画像処理装置の処理対象は一般にデータであるが,簡単のために,原画像データ,予測画像データ,復号画像データ,参照画像データを,単に原画像,予測画像,復号画像,参照画像と称する場合がある。また,ピクチャはしばしば面と称することがある。
特開2006−270683号公報 特開2008−278423号公報
動画像復号装置では,インター予測処理において,参照面識別子と動きベクトルに基づいて復号ずみの参照面(参照ピクチャ)の参照画像をメモリから取得する。このインター予測処理における参照画像のメモリアクセスは,動画像復号装置において大きな工数を占める。特に,SDRAMなどの外部メモリであるフレームメモリへのアクセスは,リフレッシュ制御や他のリソースからのアクセスとの競合により,しばしば読み出しが待たされる場合がある。一方,インター予測処理での参照画像のアクセスでは同じ場所の参照画像を繰り返し読み出すことが頻繁に発生する。
そこで,予測画像データを生成する前にあらかじめ,SDRAMなどの外部メモリのフレームメモリからSRAMなどの高速の内部メモリであるプリフェッチメモリに復号画像をプリフェッチしておくことが有効である。そして,インター予測処理では,参照画像が含まれる参照面(参照ピクチャ)の識別情報と,その参照面内の参照画像の位置を示す動きベクトルとに基づいて,参照画像のアクセスをプリフェッチメモリに対して行い,ヒットした場合はプリフェッチメモリから読み出し,ヒットしなかった場合に外部メモリから読み出す。このヒット率を向上させることができれば,外部メモリへの帯域が削減でき,画像装置全体の性能が向上する。
しかしながら,高速内部メモリであるプリフェッチメモリの記憶容量は,コストの問題から自ずと限界がある。そのため,あらかじめプリフェッチメモリに格納しておく復号画像データのデータ量にも限界があり,ヒット率を向上させることは容易ではない。
そこで,本発明の目的は,ヒット率を向上させるプリフェッチメモリへのプリフェッチ制御を行う動画像復号装置及び動画像復号方法を提供することにある。
動画像復号装置の第1の側面は,入力されるビデオストリームに含まれる各ピクチャの参照ピクチャ識別情報と動きベクトル情報に基づいて参照画像データを取得して前記ピクチャの復号画像データを生成するインター予測処理部と,
前記参照画像データを格納するプリフェッチメモリと,
前記ピクチャのインター予測処理のために,外部メモリから前記復号画像データを読み出して前記参照画像データとして前記プリフェッチメモリに格納するプリフェッチ制御部とを有し,
前記プリフェッチ制御部は,前記参照ピクチャ識別情報に対応する参照ピクチャの復号画像データを前記外部メモリから読み出して,前記参照ピクチャと処理対象ピクチャとの前記ビデオストリームでの時間的間隔に応じたデータ容量比で,前記プリフェッチメモリに格納する。
第1の側面によれば,インター予測処理において参照画像データのプリフェッチメモリのヒット率を向上させることができる。
動画像の復号装置の構成図である。 インター予測処理とプリフェッチ制御とを説明する復号装置の構成図である。 復号装置30によるピクチャの処理順番を示す図である。 ピクチャ内のマクロブロックMBの処理順番と動きベクトルMV復元処理とを示す図である。 インター予測処理部での復号画像生成部39の処理を説明する図である。 プリフェッチする参照ピクチャの割当を説明する図である。 参照ピクチャ内でプリフェッチする画像領域の更新を説明する図である。 参照ピクチャの問題点を示す図である。 自然な動画の一例を示す図である。 参照ピクチャ内のプリフェッチ領域について説明する図である。 本実施の形態における動画像復号装置の処理のフローチャート図である。 プリフェッチ制御回路による参照面数を決める処理のフローチャート図である。 参照先の類型別の条件パラメータを示す図である。 ケース1のプリフェッチ面数が1面の場合の参照面のデータ量の制御のフローチャート図である。 図14で特定された参照面の5つの例(ケース1-1乃至1-5)を示す図である。 図16は,ケース2のプリフェッチ面数が2面の場合の参照面のデータ量の制御のフローチャート図である。 図16で特定された参照面の9つの例(ケース2-0-1乃至2-2-4)を示す図である。 図16で特定された参照面の9つの例(ケース2-0-1乃至2-2-4)を示す図である。 図16で特定された参照面の9つの例(ケース2-0-1乃至2-2-4)を示す図である。 ケース3のプリフェッチ面数が3面の場合の参照面のデータ量の制御のフローチャート図である。 図20で特定された参照面の6つの例(ケース3-1-1乃至3-2-3と3-2-1乃至3-2-3)を示す図である。 処理対象マクロブロック行に対する直前のマクロブロック行の動きベクトルの傾向を監視する方法を示す図である。 本実施の形態における各参照ピクチャ内のプリフェッチ領域の更新制御を説明する図である。 プリフェッチ制御回路による参照ピクチャ内のプリフェッチ領域の更新制御を示すフローチャート図である。
図1は,動画像の復号装置の構成図である。復号装置30は,動画像データであるビデオストリーム10を入力し復号処理を行い,復号画像データをSDRAM等の大容量の外部メモリ20に格納する。すなわち,外部メモリ20はフレームメモリの領域を有する。そして,復号装置30は,例えばLSIチップで構成される。
復号装置30は,可変長復号などを行う復号部31と,処理対象ピクチャとは異なるピクチャの復号画像を参照して処理対象ピクチャの復号画像を生成するインター予測処理部32と,イントラ予測など他の処理で復号画像を生成する他の処理部36とを有する。インター予測部32は,復号画像の生成に際して,外部メモリ20に格納された他のピクチャの復号画像を参照する。そのために,プリフェッチ制御回路33が外部メモリ20にアクセスしてあらかじめ他のピクチャの復号画像を読み出し,SRAMなどの高速の内部メモリであるプリフェッチメモリ34に参照画像として格納する。そして,インター予測部32が参照する復号画像のアクセスはまずプリフェッチメモリ34に行い,ヒットすればプリフェッチメモリ34からその復号画像を参照画像として読み出し,ヒットしなければ外部メモリ20内のフレームメモリから復号画像を参照画像として読み出す。プリフェッチ制御回路33は,上記のようなプリフェッチメモリのヒット判定と外部メモリ20へのプリフェッチ制御とを行う。
SDRAMの外部メモリ20は,他のアクセスとの競合やSDRAMに固有のリフレッシュ動作などにより,アクセス時間が内部メモリと比較すると長くなる。したがって,上記のプリフェッチメモリでのヒット率を向上させることで,SDRAMである外部メモリ30への帯域を抑制することができる。
図2は,インター予測処理とプリフェッチ制御とを説明する復号装置の構成図である。図3は,復号装置30によるピクチャの処理順番を示す図である。図3において左方向が時間軸である。一例として規格H.264のビデオストリームの復号処理を説明する。
図3に示されるとおり,ビデオストリーム10は,Iピクチャ,Pピクチャ,Bピクチャ,Bピクチャ,Pピクチャ,Bピクチャ,Bピクチャの順番で入力され,それらの復号処理の順番は(1)-(7)である。原画像の順番は,図3中の復号画像に示されるとおり,I,B,B,P,B,B,Pのように,IまたはPピクチャ(以下I/Pピクチャと称する)がBピクチャの時間的に前方と後方に配置されている。
ここで,Iピクチャは,画面内予測(イントラ予測)を行うピクチャであり他のピクチャを参照しない。Pピクチャは,画面間予測(インター予測)またはイントラ予測を行うピクチャでありインター予測の場合に時間的に前方のI/Pピクチャを参照可能である。そして,Bピクチャは,インター予測またはイントラ予測を行うピクチャでありインター予測の場合に時間的に前方,後方,または双方向のピクチャを参照可能である。したがって,Bピクチャが後方参照する可能性があるそのBピクチャより後方のI/Pピクチャが,そのBピクチャより先に復号処理されて,そのBピクチャのインター予測処理でI/Pピクチャの復号画像を参照できるようになっている。
図2に示される可変長復号部31は,ビデオストリーム10のピクチャの順番(1)-(7)に,可変長復号処理を行って,各ピクチャの,I,P,Bピクチャのいずれかを示すスライス(Slice)タイプと,ピクチャ内の複数のマクロブロック(MB)のインター予測かイントラ予測かの判定結果を示すMBタイプと,マクロブロックの参照面(参照ピクチャ)を表す参照面識別子(参照ピクチャ識別情報)REFIDXL0(前方参照の識別子),REFIDXL1(後方参照の識別子)と,差分ベクトル情報MVDとを抽出する。そして,差分ベクトル情報MVDと参照面識別子REFIDXL0/L1とは,インター予測処理部32に供給される。
図2の復号装置30は,インター予測処理部32とイントラ予測処理部36とを有し,各マクロブロック毎に,符号化処理で採用された予測判定に基づいて,インター予測またはイントラ予測のいずれかを行う。本実施の形態の説明ではインター予測処理部32について詳述する。インター予測処理とは,PピクチャまたはBピクチャを復号する処理であり,復号順の過去に復号したピクチャの画像を参照し,現在処理中のピクチャの現在処理中のマクロブロックMBの画像をその参照画像から生成する処理である。
図3に示されるとおり,インター予測処理部32は,PピクチャとBピクチャとを順番(2)-(7)で,動きベクトル(MV)復元処理38と復号画像生成処理39とを行う。なお,順番(1)はIピクチャであるので,イントラ予測処理部36にて他のピクチャを参照せずに復号画像が生成され,外部メモリ20内のフレームバッファ内に格納される。以下,動きベクトル復元処理38と,復号画像生成処理39について説明する。
図4は,ピクチャ内のマクロブロックMBの処理順番と動きベクトルMV復元処理とを示す図である。図4に示されるとおり,1つのピクチャはラスタスキャン方向に配置された複数のマクロブロックMB毎に復号処理される。マクロブロックMVはたとえば水平方向16画素,垂直方向16画素の画素マトリクスである。
次に,差分ベクトル情報MVDは,現在処理中のマクロブロックCuの動きベクトルMVと,その現在処理中のマクロブロックCuの前に処理済みの周囲のマクロブロックA,B,Cの動きベクトルの中間値との差分ベクトルである。大部分の動画像では周囲のマクロブロックとは同じ動きベクトルになることが多いので,符号化処理では,各マクロブロックMBの動きベクトルではなく,それよりデータ量が少なくなる蓋然性が高い差分ベクトル情報MVDをビデオストリームに含めている。
そこで,動きベクトル(MV)復元処理部38では,現在処理中のマクロブロックMBの差分ベクトル情報MVDに,周辺のマクロブロックMBの復元済み動きベクトルMVA,MVB,MVCの中間値MVPを加算して,以下の式のように動きベクトルMVを復元する。
MV=MVD+MVP
すなわち,図2に示されるとおり,MV復元処理部38は,現在処理中のマクロブロックCuに隣接する周囲のマクロブロックA,B,Cの位置を算出し,それらマクロブロックの復元済み動きベクトルの中間値MVPを演算し,処理中のマクロブロックCuの動きベクトルMVを上記の式で計算する。
次に,インター予測処理部32内の復号画像生成部39は,処理中のピクチャ内の処理中のマクロブロック毎に,参照画像のフレームバッファ内の取得位置を計算し,参照画像の読み出しを実行し,読み出した参照画像を動きベクトルの小数点に応じてフィルタ処理を行い,処理中のマクロブロックの復号画像として,外部メモリ20内のフレームバッファ内に格納する。
図5は,インター予測処理部での復号画像生成部39の処理を説明する図である。図5の左側のPピクチャでは,マクロブロックMBの復号処理で,復号画像の時間的に前方のI/Pピクチャを参照(前方参照)して,参照ピクチャ内の動きベクトルMVに対応する位置の復号画像(水平方向/垂直方向16画素の画像)を参照画像として読み出す。つまり,読み出すべき参照画像は,参照ピクチャ識別子REFIDXに対応するピクチャ内における動きベクトルMVの位置の復号画像になる。H.264の規格では,前方参照の場合の参照ピクチャインデックス(識別子)はL0であり,直前のI/Pピクチャであれば識別子はL0(0),2つ前方のI/Pピクチャであれば識別子はL0(1)である。
図5の右側のBピクチャでは,マクロブロックMBの復号処理で,復号画像の時間的に前方のI/Pピクチャを参照(前方参照)及び/または後方のI/Pピクチャを参照(後方参照)して,参照ピクセル内の動きベクトルMVに対応する位置の復号画像を参照画像として読み出す。つまり,読み出すべき参照画像は,参照ピクチャ識別子REFIDXに対応するピクチャ内における動きベクトルMVの位置の復号画像になる。H.264の規格では,前方参照の識別子は前述と同じであり,後方参照の識別子はL1であり,直前のI/Pピクチャであれば識別子はL1(0),2つ前方のI/Pピクチャであれば識別子はL1(1)である。
したがって,インター予測処理内の復号画像生成部39は,各マクロブロックについて,その参照ピクチャ識別子REFIDXに対応する参照ピクチャ内の,復元した動きベクトルMVの位置にある復号画像を内部メモリであるプリフェッチメモリ34または外部メモリ20内のフレームバッファから読み出す。
次に,プリフェッチ制御について説明する。図6は,プリフェッチする参照ピクチャの割当を説明する図である。そして,図7は,参照ピクチャ内でプリフェッチする画像領域の更新を説明する図である。
図6の左側に示されるとおり,Pピクチャの復号処理でのインター予測処理では,前方の2つのI/Pピクチャを参照する可能性がある。そこで,プリフェッチ制御回路33は,参照ピクチャ識別子RefidxL0(0),L0(1)に対応するI/Pピクチャ内の復号画像を外部メモリ20内のフレームバッファから読み出してプリフェッチメモリ34に格納する。後述するとおり,参照されるI/Pピクチャ内の全ての復号画像ではなく,処理対象のマクロブロックの行の上下所定MB行数の復号画像をプリフェッチメモリ34に格納するのが一般的である。
そして,2つのI/Pピクチャ内の復号画像のプリフェッチメモリ34内のデータ容量は,例えば均等にしてどのような参照ピクチャ識別子と動きベクトルに対しても或る程度のヒット率が得られるようにされる。
また,図6の右側に示されるとおり,Bピクチャの復号処理でのインター予測処理では,前方の2つのI/Pピクチャと,後方の1つまたは2つのI/Pピクチャを参照する可能性がある。したがって,プリフェッチ制御回路33は,参照ピクチャ識別子RefidxL0(0),L0(1),L1(0),L1(1)に対応する4つのI/Pピクチャ内の復号画像を外部メモリ20内のフレームバッファから読み出してプリフェッチメモリ34に格納する。この場合も,4つのI/Pピクチャ内の復号画像のプリフェッチメモリ34内のデータ容量は一般に均等にされる。
図7に示した参照ピクチャ内でプリフェッチする画像領域の更新では,参照ピクチャ内の現在処理中のマクロブロックCuと,それに対するプリフェッチされる領域40とが示されている。図7の左から右へ(1)(2)(3)の順にプリフェッチされる領域40が更新される。図7(1)に示されるように,一般に,処理中のマクロブロックCuが属するMB行42と,その上の数MB行41と,その下の数MB行43とが,プリフェッチされる領域40である。一般に,動きベクトルMVの内容を確認せずにインター予測処理が行われるため,そして,処理対象のマクロブロックCuの動きベクトルが上下いずれの方向になってもプリフェッチメモリでヒットする蓋然性を高くする為に,このようなプリフェッチ領域40にされている。
そして,図7(1)のMB行42に属する全てのマクロブロックのインター処理が完了すると,図7(2)のように最上MB行44が削除され,代わりに最下MB行45がプリフェッチされ格納される。つまり,現在処理中のMBの行42が更新されると,プリフェッチ領域40も更新される。これがプリフェッチする画像領域の更新処理である。同様に,図7(2)でMB行42のマクロブロックの処理が完了すると、図7(3)のように新たなMB行45の復号画像が更新される。
[本実施の形態が解決するプリフェッチ制御]
図8は,参照ピクチャの問題点を示す図である。図8では,Pピクチャは前方の1または2面のI/Pピクチャを参照し,Bピクチャは前方の1もしくは2面のI/Pピクチャまたは後方の1面のI/Pピクチャを参照する例である。前述のとおり,プリフェッチ制御回路33が,参照する可能性のある前方または後方のI/Pピクチャの復号画像をプリフェッチしてプリフェッチメモリ34に格納すると,参照ピクチャ識別子が示す参照ピクチャに偏りが発生し,極端な場合にあるI/Pピクチャが全く参照されない,またはほとんど参照されない場合には,無駄なプリフェッチ領域の復号画像をプリフェッチメモリに格納することになり,プリフェッチ制御の効果が高くない場合がある。
図8のケース1では,Pピクチャのインター予測処理で,直前のI/Pピクチャ(RefidxL0(0))よりさらに1つ前方のI/Pピクチャ(RefidxL0(1))への参照が圧倒的に多い。ケース2では,Bピクチャのインター予測処理で,直前のI/Pピクチャ(RefidxL0(0))への参照が他のI/Pピクチャへの参照より圧倒的に多い。ケース3では,Bピクチャのインター予測処理で,直前のI/Pピクチャ(RefidxL0(0))と直後のI/Pピクチャ(RefidxL1(0))への参照が同等で,且つ他のI/Pピクチャへ(RefidxL0(1))の参照より圧倒的に多い。しかし,ケース4では,Bピクチャのインター予測処理で,前方2つのI/Pピクチャ(RefidxL0(0),RefidxL0(1))と直後のI/Pピクチャ(RefidxL1(0))への参照が同等である。
ケース4の場合は,図6に示したように可能性のある参照ピクチャのプリフェッチデータ容量を均等にしておけばヒット率を有る程度高くすることができるが,ケース1,2,3の場合は,可能性のある参照ピクチャのプリフェッチデータ容量を均等にすると逆にヒット率が低下し,外部メモリ20へのアクセスが発生し,処理効率が低下する。
そこで,本実施の形態では,プリフェッチ制御回路33が,処理対象のピクチャ内の全マクロブロックの参照ピクセル識別子を集計して,参照画像のアクセス効率が最も高くなるようにプリフェッチすべきピクチャを決定する。
図9は,自然な動画の一例を示す図である。図9には,2つのI/PピクチャI/P1,I/P2とBピクチャとさらに2つのI/PピクチャI/P3,I/P4内の上から下に移動する画像が含まれているマクロブロックCu1,Cu2,Cu,Cu3,Cu4が示されている。このような自然の動画の場合,Bピクチャの現在処理中のマクロブロックCuのインター予測処理では,前方の2つのI/PピクチャI/P1,I/P2内の画像ブロックCu1,Cu2への動きベクトルにしたがって参照画像が読み出される。さらに,最後方のI/PピクチャI/P4のマクロブロックCu4のインター予測処理でも,前方の1つのI/PピクチャI/P2内の画像ブロックCu2への動きベクトルにしたがって参照画像が読み出される。つまり,5つのピクチャ内の画像ブロックCu1,Cu2,Cu,Cu3,Cu4は,時間と共に一定方向に移動する時間的相関性が高い画像である。
このような場合,Bピクチャのインター予測処理では,直前のI/PピクチャI/P2内の画像ブロックCu2よりもその前方のI/PピクチャI/P1内の画像ブロックCu1への動きベクトルのほうが大きい。したがって,プリフェッチ領域は,Bピクチャより時間的により離れているI/PピクチャI/P1のほうが時間的により近いI/PピクチャI/P2よりも広くすることで,プリフェッチメモリでのヒット率を向上させることができる。
そこで,本実施の形態では,プリフェッチ制御回路が,処理対象のピクチャとそれから参照される参照ピクチャとが,図9のような時間的な相関性が高い動画か否かを監視し,その場合は,処理対象のピクチャと参照ピクチャとの時間差(時間的間隔)に対応したデータ容量比で,参照ピクチャの復号画像をプリフェッチメモリ内に格納する。
図10は,参照ピクチャ内のプリフェッチ領域について説明する図である。図10中,参照ピクチャ内の現在処理中のマクロブロックCuとそれが属するMB行42と,プリフェッチ領域40とが示されている。また,図10中の矢印は現在処理中のMB行42内のマクロブロックの動きベクトルを示している。
図7で説明したとおり,一般的には,参照ピクチャ内のプリフェッチ領域40は,現在処理中のマクロブロックCuのMB行42の上下に同じ行数のMB行の復号画像がプリフェッチされている。その場合,図10(1)の例では,処理対象MB行42内のマクロブロックの動きベクトルMVの上下方向が同等の場合は,図7のように上下に同数のMB行の復号画像をプリフェッチすればヒット率が向上する。しかし,図10(2)の例のように,動きベクトルMVが上方向のほうが多い場合や,図10(3)の例のように,動きベクトルMVが下方向のほうが多い場合は,逆にヒット率は低下する。
そこで,本実施の形態では,プリフェッチ制御回路は,動きベクトルMVの傾向を予めチェックし,その動きベクトルの方向に対応したプリフェッチ領域をより広くする。
[本実施の形態]
図11は,本実施の形態における動画像復号装置の処理のフローチャート図である。動画像復号装置の構成は,図1,2と同様である。図11において,まず,動画像復号装置30は,ビデオストリームを入力し(S10),可変長復号部31がベデオストリームの1ピクチャ分のデータを可変長復号して,1ピクチャ内のマクロブロックMBの差分ベクトル情報MVDと参照ピクチャ識別子REFIDXとを抽出する。そして,プリフェッチ制御回路33が,その抽出した参照ピクチャ識別子REFIDXに基づいて参照面数を決定し(S14),参照面が複数の場合は参照面に対応するプリフェッチメモリ内のデータ容量を決定する(S16)。
参照面数の決定は,1ピクチャ内の全てのマクロブロックの参照ピクチャ識別子を集計し,所定基準値以上参照されている参照ピクチャを特定して,参照面数を決定する。つまり,ピクチャ単位でプリフェッチする参照面数を決定する。この特定された参照ピクチャの復号画像がプリフェッチメモリに格納される。本実施の形態では,参照するピクチャ数が多い前方参照1面目,前方参照尾2面目,後方参照1面目の合計3面までとする。具体的には後述する。
また,参照ピクチャに対応するプリフェッチメモリ内のデータ容量の決定は,PピクチャとBピクチャとが同じI/Pピクチャを参照しているような時間的相関が強い場合に,参照ピクチャ間の容量比が処理対象のピクチャと参照ピクチャとの時間間隔の比率になるようにする。具体的には後述する。
さらに,動画像復号装置30内のインター予測処理部32は,1つのピクチャ内の複数のマクロブロックをラスタスキャンの順番で,前述した動きベクトルMVの復元処理(S22)と,参照ピクチャ識別子REFIDXと動きベクトルMVに対応する参照画像をプリフェッチメモリまたは外部メモリ内のフレームバッファから読み出し復号画像を生成する(S24)。
復元処理S22と復号画像生成S24と平行して,プリフェッチ制御回路33が,処理対象のマクロブロックがマクロブロック行の先頭になる度に(S18のY),プリフェッチメモリ34に格納されている参照ピクチャの復号画像を更新する。後で詳述するが,処理対象のマクロブロック行より前に処理されたマクロブロック行内のマクロブロックの動きベクトルMVを集計し,その平均値の方向のマクロブロック行数が多くなるように,プリフェッチする復号画像のマクロブロック行数を制御する。つまり,処理対象マクロブロック行の上下のプリフェッチする領域をマクロブロック行毎に更新する。後述する例では,処理中のマクロブロック行より前に処理された2行のマクロブロック行の動きベクトルの累積値に基づいて,処理中のマクロブロック行の上下のプリフェッチする領域を変更する。
[参照面数の決定例]
図12は,プリフェッチ制御回路による参照面数を決める処理のフローチャート図である。前述のとおり,参照するピクチャ数が多い前方参照1面目,前方参照尾2面目,後方参照1面目の合計3面までとする。
プリフェッチ制御回路による参照面決定処理では,処理中のピクチャのマクロブロックの参照ピクチャ識別子REFIDXを集計する。まず,前方参照1面目,前方参照尾2面目,後方参照1面目それぞれのカウント値を初期化する(S30)。そして,処理対象ピクチャ内の全てのマクロブロックの可変復調される参照ピクチャ識別子REFIDXを集計する。すなわち,前方参照1面目(refidxL0=0)の場合はカウント値count_L0_0をインクリメントし(S31,S32),前方参照2面目(refidxL0=1)の場合はカウント値count_L0_1をインクリメントし(S33,S34),後方参照1面目(refidxL1=0)の場合はカウント値count_L1_0をインクリメントする(S35,S36)。
Y処理対象ピクチャ内の全てのマクロブロックの参照ピクチャ識別子を集計すると(S37のY),その集計した各参照面のカウント値に基づいてプリフェッチ面が1面(S40),2面(S43),3面(S44)のいずれであるか判定する。すなわち,工程S38のYでは,以下のいずれかの場合に対応する1ピクチャのみプリフェッチされる。
(1)count_L0_1=0 & count_L1_1の場合は,前方参照1面目のみプリフェッチ
(2)count_L0_0=0 & count_L1_1の場合は,前方参照2面目のみプリフェッチ
(3)count_L0_0=0 & count_L0_1の場合は,後方参照1面目のみプリフェッチ
また,工程S39のYでは,以下のいずれかの場合も対応する1ピクチャのみプリフェッチされる。
(4)count_L0_0>>count_L0_1およびcount_L0_0>>count_L1_0の場合は,前方参照1面目のみプリフェッチ
(5)count_L0_1>>count_L0_0およびcount_L0_1>>count_L1_0の場合は,前方参照2面目のみプリフェッチ
(6)count_L1_0>>count_L0_0およびcount_L1_0>>count_L0_1の場合は,後方参照1面目のみプリフェッチ
ただし,>>は十分に多いことを示し,比較した2つのカウント値の差が基準値を超える場合や,あるカウント値count_Lx_xが基準値を超えることを示す。以下同様である。
そして,工程S41でYの場合に,工程S39のYでは,以下のいずれかの場合に対応する2ピクチャのみプリフェッチされる。
(7)count_L1_0=0の場合は,前方参照1面目と2面目のみプリフェッチ
(8)count_L0_0=0の場合は,前方参照2面目と後方参照1面目のみプリフェッチ
(9)count_L0_1=0の場合は,前方参照1面目と後方参照1面目のみプリフェッチ
さらに,工程S41でNの場合に,工程S42のYでは,以下のいずれかの場合に対応する2ピクチャのみプリフェッチされる。
(10)count_L0_1>>count_L0_0およびcount_L1_0>>count_L0_0の場合は,前方参照1面目以外の2面のみプリフェッチ
(11)count_L1_0>>count_L0_1およびcount_L0_0>>count_L0_1の場合は,前方参照2面目以外の2面のみプリフェッチ
(12)count_L0_0>>count_L1_0およびcount_L0_1>>count_L1_0の場合は,後方参照1面目のみプリフェッチ
最後に,上記(1)乃至(12)のいずれにも該当しない場合,すなわち,3面がほぼ均等参照される場合は,3面の復号画像がプリフェッチされる(S42のN,S44)。
[参照面のプリフェッチする復号画像のデータ容量]
次に,複数の参照面の復号画像をプリフェッチメモリに格納する場合は,連続するピクチャの時間的相関が強い場合を判定し,強い場合は処理対象ピクチャと参照ピクチャとの時間的間隔の比率のデータ量でプリフェッチメモリに格納する。
以下,説明を簡単化するために,PピクチャとBピクチャの参照先の類型を以下のとおり定義する。すなわち,図13は,参照先の類型別の条件パラメータを示す図である。この図には,2つのBピクチャとその後方の1つのPピクチャが,いずれのピクチャを参照するかの類型を示す。図示されるとおり,Pピクチャを復号するときに参照される類型は,以下の3種類であり,その場合の条件パラメータP_CONDは以下のとおりである。
(1)P_COND=00:前方参照1面目
(2)P_COND=01:前方参照2面目
(3)P_COND=02:前方参照1,2面目
さらに,1枚目のBピクチャを復号するときに参照される類型は,以下の4種類であり,その条件パラメータB_CONDは以下のとおりである。
(4)B_COND=10:前方参照1面目,後方参照1面目
(5)B_COND=11:前方参照2面目,後方参照1面目
(6)B_COND=12:前方参照1,2面目
(7)B_COND=13:前方参照1,2面目および後方参照1面目(図示せず)
そして,2枚目のBピクチャを復号するときに参照される類型は,以下の4種類であり,その条件パラメータB_CONDは以下のとおりである。
(8)B_COND=20:前方参照1面目,後方参照1面目
(9)B_COND=21:前方参照2面目,後方参照1面目
(10)B_COND=22:前方参照1,2面目
(11)B_COND=23:前方参照1,2面目および後方参照1面目(図示せず)
次に,図12のケース1,2,3(プリフェッチ面1,2,3のケース)別に,プリフェッチメモリ内の参照面のデータ量の制御について説明する。
図14は,ケース1のプリフェッチ面数が1面の場合の参照面のデータ量の制御のフローチャート図である。図15は,図14で特定された参照面の5つの例(ケース1-1乃至1-5)を示す図である。図14において,処理対象のピクチャがPピクチャの場合は(S50のY),特定された参照ピクチャが前方参照1枚目(S51のY)か前方参照2枚目か(S51のN)かにより,ケース1-1と1-2に分かれる(S52,S54)。ケース1-1,1-2に該当する場合は,後で復号処理されるBピクチャのためにそれぞれ状態パラメータP_COND=00,01を保持しておく(S53,S55)。また,Bピクチャの場合は(S50のN),Bピクチャが1枚目および2枚目のいずれでも,特定された参照ピクチャが前方参照1枚目(S56のY),前方参照2枚目(S57のY),後方参照1枚目(S57のN)に対応して,ケース1-3,1-4,1-5となる。このBピクチャの復号処理は後のPピクチャの復号処理でのプリフェッチデータ量に影響を及ぼさないので,この状態パラメータを保持することはしない。
図14の5つのケース1-1乃至1-5の場合は,参照ピクチャが1面のみであるので,プリフェッチメモリの全容量が1つの参照ピクチャの復号画像のデータ容量になる。
図16は,ケース2のプリフェッチ面数が2面の場合の参照面のデータ量の制御のフローチャート図である。図17,図18,図19は,図16で特定された参照面の9つの例(ケース2-0-1乃至2-2-4)を示す図である。図16において,処理対象のピクチャがPピクチャの場合は(S60のY),ケース2-0-1になり(S61),この場合は後のBピクチャの復号処理のために状態パラメータP_COND=02を保持する。ケース2-0-1は図17に示されている。
図17の場合,Pピクチャが時間的に前方の2つのI/Pピクチャを参照ピクチャとしている。このような場合,図9のBピクチャと時間的に前方のI/Pピクチャと同様に,図17の2つのI/PピクチャとPピクチャとの間には時間的相関が強く,自然な動画像のように移動する画像が時間と共に一定方向に移動していると考えられる。したがって,2つのI/Pピクチャの復号画像のプリフェッチメモリ内のデータ容量比は,PピクチャとI/Pピクチャの時間間隔に比例した比率である,4:3にするのが好ましい。つまり,前方のI/Pピクチャのプリフェッチメモリ内のデータ容量を後方のI/Pピクチャのそれの4/3倍にして,前方のI/Pピクチャに対するより大きな動きベクトルに対してもプリフェッチメモリ内のその前方I/Pピクチャ内のプリフェッチ復号画像から抽出できる蓋然性を高くする。
図16に戻り,また,Bピクチャの場合は(S60のN),Bピクチャが1枚目の場合(S63のY)と2枚目の場合(S63のN)とで,以前にPピクチャのプリフェッチ制御の時に保持していた参照ピクチャの状態パラメータP_CONDと,現在復号処理しているBピクチャの参照ピクチャの状態パラメータB_CONDとの組み合わせ(S64のY,S65のY,S66のY,S66のN)により,それぞれ4つのケース2-1-1乃至2-1-4とケース2-2-1乃至2-2-4とに分かれる。これらの8つのケースについては,図18,図19に示されている。
図18の6つのケースは,いずれも,現在復号処理中のBピクチャが2つのピクチャを参照しており,Bピクチャが参照しているI/Pピクチャと,そのBピクチャより先に復号処理されたPピクチャが参照しているI/Pピクチャとが一致する。例えば、ケース2-1-1の場合,Pピクチャが左から2枚目のI/Pピクチャを参照し,その後復号処理されるBピクチャもその2枚目の同じI/Pピクチャを参照している。この場合も,図9と同様に左から2枚目のI/Pピクチャ,次のBピクチャ,そして5枚目のPピクチャとは,ある動画エレメントが時間と共に移動していて時間的相関が強いと考えられる。
そこで,Bピクチャが参照する2つピクチャ,I/PピクチャとPピクチャのプリフェッチメモリ内のデータ容量比をBピクチャからの時間的間隔の比率,1:2に設定するのが望ましい。すなわち,Bピクチャから参照ピクチャであるI/PピクチャとPピクチャとの時間的間隔は,概ね動きベクトルの大きさに対応しているので,そのデータ容量比をその時間的間隔の比率にすることで,より大きな動きベクトルが予想される参照ピクチャのデータ容量を大きくしてプリフェッチ領域をより広くし,より小さな動きベクトルが予想される参照ピクチャは小さくする。
ケース2−2−1の場合は,2枚目のBピクチャが参照する例であり,ケース2−1−1と同じである。
またケース2−1−3の場合は,BピクチャとPピクチャとが同じ2つのI/Pピクチャを参照している例であり,この場合も左から1,2枚目のI/Pピクチャと4枚目のBピクチャと5枚目のPピクチャとの間の時間的相関が強いと見なせるので,Bピクチャが参照する2つのIPピクチャのプリフェッチメモリ内のデータ容量比をBピクチャからの時間間隔の比,3:2に設定するのが望ましい。ケース2−2−3も,ケース2−1−3と同じである。
ケース2−1−2の場合は,BピクチャとPピクチャとが直前のI/Pピクチャを参照せずにそれよりさらに前の左から1枚目のI/Pピクチャを参照している。一般に自然な動画の場合は,参照ピクチャは直前の左から2枚目のI/Pピクチャを含む。ただし,その直前の2枚目のI/Pピクチャがフラッシュにより画像が変化したり,カメラの前に遮蔽物体が一時的に飛び込んできたなどの特殊な事情で画像が変化している場合は,直前のI/Pピクチャには参照できる画像がなく,それより前の左から1枚目のI/Pピクチャを参照することが考えられる。ケース2−1−2と2−2−2はそのような事情であることが考えられ,BピクチャとPピクチャとが同じ1つ目のI/Pピクチャを参照しているので時間の相関性は強いと見なすことができる。
図19は,Bピクチャが参照するピクチャについて,図16のいずれの条件S64-S69にも該当しないケースを示す。すなわち,図19のケース2−1−4,2−2−4は,Bピクチャが参照するI/PピクチャとPピクチャが参照するI/Pピクチャとが一致しておらず,時間的相関が弱いと判断できるケースである。このような場合は,Bピクチャが参照するI/PピクチャとPピクチャのプリフェッチメモリ内のデータ容量比は,Bピクチャからの時間間隔によらず一定にする。つまり,これらのケースでは,プリフェッチメモリ内のデータ容量を動きベクトルの大きさに対応した大きさにすることによるメリットはあまり期待できないからである。
図20は,ケース3のプリフェッチ面数が3面の場合の参照面のデータ量の制御のフローチャート図である。図21は,図20で特定された参照面の6つの例(ケース3-1-1乃至3-2-3と3-2-1乃至3-2-3)を示す図である。図20において,Bピクチャが3つのピクチャ(2つのI/Pピクチャと1つのPピクチャ)を参照するケースについて,その前に復号処理されたPピクチャの参照ピクチャの状態パラメータP_COND=00,01に応じて6つのケースに分類している。すなわち,プリフェッチ制御回路は,1枚目のBピクチャの場合(S70のY)に,P_COND=00,01,それ以外の3つのケース3−1−1〜3−1−3と,2枚目のBピクチャの場合(S70のN)に,P_COND=00,01,それ以外の3つのケース3−2−1〜3−2−3とに分類する(S71,S72,S73,S74)。
そして,BピクチャとPピクチャとが同じI/Pピクチャを参照する場合は,連続するピクチャの時間的相関が強いと見なして,Bピクチャが参照する3つのピクチャ(2つのI/Pピクチャと1つのPピクチャ)のプリフェッチメモリ内のデータ容量の比率を,参照面が2枚の場合と同様に,Bピクチャとの時間的間隔に対応した比にする。ただし,Bピクチャが参照する3つのピクチャのうち,Pピクチャも参照するI/Pピクチャのプリフェッチメモリ内のデータ容量の比率を,上記の時間的間隔に対応した比率よりもα(0<α<1)だけ多くする。
例えば,ケース3−1−1の場合は,Pピクチャが2つ目のI/Pピクチャを参照している。したがって,Bピクチャは2つ目のI/Pピクチャとの相関がより強いと見なすことができる。そこで,データ容量の比率を2つ目のI/Pピクチャについては+αとし,時間的間隔に対応した比率よりも多くするのが望ましい。他のケースも同様の考え方で,Pピクチャも参照しているI/Pピクチャの比率を+αしている。
[各参照ピクチャ内のプリフェッチ領域の更新制御]
前述のとおり,本実施の形態では,プリフェッチ制御回路が,処理対象マクロブロック行の上下のプリフェッチする領域をマクロブロック行毎に更新する。一例として,処理中のマクロブロック行より前に処理された2行のマクロブロック行の動きベクトルの累積値に基づいて,処理中のマクロブロック行の上下のプリフェッチする領域を変更する。
参照ピクチャの復号画像のプリフェッチメモリ内の更新は,図7で説明したとおり,処理対象のマクロブロック行が更新されるたびに新しい処理対象マクロブロック行の上下均等にプリフェッチ領域を割り当てている。それに対して,本実施の形態では,プリフェッチ制御回路が,処理対象マクロブロック行の直前のマクロブロック行における動きベクトルを集計し,その動きベクトルの傾向に対応して処理対象マクロブロック行の上限のプリフェッチ領域を更新する。たとえば,処理対象マクロブロック行の直前の2つのマクロブロック行における動きベクトルの平均値がより上側を向いていた場合は,処理対象マクロブロック行より上側のプリフェッチ領域を下側より多くなるように更新し,動きベクトルの平均値がより下側を向いていた場合は,処理対象マクロブロック行より下側のプリフェッチ領域を上側より多くなるように更新する。
ただし,図7で説明したとおり,処理対象マクロブロック行が更新されるたびに新しいマクロブロック行の復号画像をプリフェッチするので,下側より上側のプリフェッチ領域をより多くするためには,上側の再充填をしなければ,処理対象のマクロブロック行の処理スピードでしかプリフェッチ領域の比率を変更することができない。つまり,N行の処理対象マクロブロック行が処理される間,下側のプリフェッチ領域の更新を停止することで,Nマクロブロック行だけ上側のプリフェッチ領域を多くすることができる。
図22は,処理対象マクロブロック行に対する直前のマクロブロック行の動きベクトルの傾向を監視する方法を示す図である。現在処理中のマクロブロックCuを含むマクロブロック行42の直前に復号処理された2つのマクロブロック行46,47に属するマクロブロックの動きベクトルの平均値をそれぞれ集計する。ピクチャに対してX軸が右水平方向,Y軸が下垂直方向とし,1個のマクロブロックMBの画素数が16×16とすると,動きベクトルが1個のマクロブロックの画素数だけ下の方向を向いていると,その動きベクトルの大きさは+16になり,上の方向を向いていると−16になるとする。そして,2つのマクロブロック行46,47に属するマクロブロックの動きベクトルの平均値をMVyとすると,その値と動きベクトルの方向及び大きさとの関係は,図中に示されるように以下のとおりである。
MVy=-32の場合は,2MB Line 上方向
MVy=-16の場合は,1MB Line 上方向
MVy=+16の場合は,1MB Line 下方向
MVy=+32の場合は,2MB Line 下方向
図23は,本実施の形態における各参照ピクチャ内のプリフェッチ領域の更新制御を説明する図である。プリフェッチ制御回路は,図22に示した処理対象マクロブロック行の直前の数マクロブロック行の動きベクトルの平均値(Y軸の値)を監視し,その平均値に基づいて処理対象マクロブロック行の上下のプリフェッチ領域の比率を更新制御する。
この例では,ケース1〜5と,2つのマクロブロック行46,47の動きベクトルの平均値との関係は,次の通りである。
ケース1:1MBライン46がMVy-16以下且つ2MBライン47がMVy-16以下
ケース2:1MBライン46がMVy+16以上且つ2MBライン47がMVy+16以上
ケース3:1MBライン46がMVy-16以下又は2MBライン47がMVy-16以下
ケース4:1MBライン46がMVy+16以下又は2MBライン47がMVy+16以下
ケース5:上記のいずれにも該当しない。つまり,46,47のMVyが共に1MBライン46がMVy-16以下且つ2MBライン47がMVy-16以下
そして,各ケース1〜5とプリフェッチ領域の割り当ての関係は,次の通りである。
ケース1:処理対象マクロブロック行42の上に8マクロブロック行,下に4マクロブロック行,プリフェッチ領域を割り当てる。
ケース2:処理対象マクロブロック行42の上に4マクロブロック行,下に8マクロブロック行,プリフェッチ領域を割り当てる。
ケース3:処理対象マクロブロック行42の上に7マクロブロック行,下に5マクロブロック行,プリフェッチ領域を割り当てる。
ケース4:処理対象マクロブロック行42の上に5マクロブロック行,下に7マクロブロック行,プリフェッチ領域を割り当てる。
ケース5:処理対象マクロブロック行42の上下に6マクロブロック行ずつ均等にプリフェッチ領域を割り当てる。この例は,図7と同じ。
図24は,プリフェッチ制御回路による参照ピクチャ内のプリフェッチ領域の更新制御を示すフローチャート図である。図24は,図11における工程S18以降の,マクロブロックラインの先頭か否かの判定工程S18と,参照面プリフェッチ更新制御S20を詳述するとともに,それに伴う追加の処理S81-S84とが示されている。図24内の工程S22,S24,S26は,図11の工程S22,S24,S26と同じである。
図24において,現在復号処理中のマクロブロック行(MBLine)の動きベクトル(MV)累積値を初期化し(S80),処理対象のマクロブロックMBがマクロブロック行(MBLine)の先頭になるまでの間(S18のN),現在処理中のマクロブロック行のMV累積値に現在処理中のマクロブロックMBの動きベクトルMVのY軸成分MVyを加算する(S81)。そして,処理対象のマクロブロックMBが現在処理中のマクロブロック行の最終マクロブロックになると(S82のY),1マクロブロック行上のMV平均値に,減算処理中のマクロブロック行のMV累積値をその行のマクロブロック数で除した平均値を代入し,さらに,1マクロブロック行上のMV平均値を2マクロブロック行上のMV平均値に代入する(S83)。さらに,現在処理中のマクロブロック行(MBLine)の動きベクトル(MV)累積値を初期化する(S84)。
そして,インター予測処理部は,処理対象のマクロブロックについて,動きベクトルMVの復元処理(S22)と,復号画像生成処理(S24)とを行う。動きベクトルMVの復元処理では,隣接マクロブロックの動きベクトルの平均値に差分ベクトル情報MVDを加算し,復号画像生成処理では,プリフェッチメモリまたはフレームバッファから復号画像を参照画像として取得し,フィルタ処理を行う。
そして,次に処理対象のマクロブロックがマクロブロック行MVLineの先頭になるので,工程S18はYになり,プリフェッチ制御回路は,2マクロブロック行上のMV平均値と1マクロブロック行上のMV平均値との組み合わせから,図23に示した5つのケースを判定し(S201〜S204),各ケース1〜5に対応して図23に示した参照ピクチャのプリフェッチメモリ内のプリフェッチ領域(処理対象マクロブロック行の上下の領域)に,フレームバッファ内の復号画像を格納する(S205)。工程S205の5つのケースでの処理は,プリフェッチ領域の更新とプリフェッチ領域への復号画像の格納である。
プリフェッチ制御回路は,上記の処理を各マクロブロック行に対して行い,復号対象のピクチャの復号処理が完了するまで(S26のY),その処理を継続する。
[参照ピクチャのデータ容量比と各参照ピクチャ内のプリフェッチ領域の更新制御]
上述したPピクチャやBピクチャが参照する複数の参照ピクチャ間のデータ容量比と,各三章ピクチャ内のプリフェッチ領域の更新制御とを組み合わせることができる。たとえば,2つの参照ピクチャ間のデータ容量比が2:1の場合は,それらの参照ピクチャ内のプリフェッチ領域を,それぞれ処理中マクロブロック行に加えて上下合計で24マクロブロック行:12マクロブロック行とする。そして,前者の参照ピクチャ内では,上下それぞれ12マクロブロック行のプリフェッチ領域に対して,直前の動きベクトル平均値に応じて上を多くしたり少なくしたりする。また,後者の参照ピクチャ内では,上下それぞれ6マクロブロック行のプリフェッチ領域に対して,直前の動きベクトル平均値に応じて上を多くしたり少なくしたりする。
以上の通り,本実施の形態の動画像復号装置によれば,ビデオストリームの復号処理で例えば前方の2つのI/Pピクチャと後方の1つのI/Pピクチャへの参照ピクチャ識別子を処理対象ピクチャについてカウントすることで,処理対象のピクチャのインター予測処理前に,プリフェッチ効果の高い参照面を決定しプリフェッチメモリ内に復号画像をプリフェッチしておくことで,ヒット率が向上し,インター予測処理の効率を高めることができる。
そして,参照面が複数の場合,処理対象がPピクチャの場合は,参照ピクチャとの時間的間隔の比率にプリフェッチメモリ内の参照ピクチャのデータ容量比を制御し,処理対象がBピクチャの場合は,BピクチャとPピクチャとが同じI/Pピクチャを参照しているなど時間的相関が強い場合に,参照ピクチャとの時間的間隔の比率にプリフェッチメモリ内のBピクチャが参照する複数の参照ピクチャのデータ容量比を制御する。これによりプリフェッチメモリのヒット率を向上させることができる。
さらに,各参照ピクチャにおいて,現在処理中のマクロブロック行の1マクロブロック行上と2マクロブロック行上のマクロブロックの動きベクトルの平均値を求め,その平均動きベクトルの方向のプリフェッチ領域を増やすように更新制御する。それにより,プリフェッチメモリでのヒット率を向上させることができる。
以上の実施の形態をまとめると,次の付記のとおりである。
(付記1)
入力されるビデオストリームに含まれる各ピクチャの参照ピクチャ識別情報と動きベクトル情報に基づいて参照画像データを取得して前記ピクチャの復号画像データを生成するインター予測処理部と,
前記参照画像データを格納する内部メモリと,
前記ピクチャのインター予測処理のために,外部メモリから前記復号画像データを読み出して前記参照画像データとして前記内部メモリに格納するプリフェッチ制御部とを有し,
前記プリフェッチ制御部は,前記参照ピクチャ識別情報に対応する参照ピクチャの復号画像データを前記外部メモリから読み出して,前記参照ピクチャと処理対象ピクチャとの前記ビデオストリームでの時間的間隔に応じたデータ容量比で,前記内部メモリに格納する動画像復号装置。
(付記2)
付記1において,
前記時間的間隔に応じたデータ容量比は,第1の時間的間隔の場合に第1のデータ容量であり,前記第1の時間的間隔より長い第2の時間的間隔の場合に前記第1のデータ容量より大きい第2のデータ容量である動画像復号装置。
(付記3)
付記2において,
前記時間的間隔に応じたデータ容量比は,前記時間的間隔に比例したデータ容量比である動画像復号装置。
(付記4)
付記1,2または3において,
前記ピクチャは,復号処理で後方ピクチャの参照画像データは参照されず前方ピクチャの参照画像データが参照される第1のピクチャと,復号処理で前記後方ピクチャの参照画像データと前方ピクチャの参照画像データが参照可能な第2のピクチャとを有し,
前記プリフェッチ制御部は,当該処理対象の第2のピクチャの参照ピクチャ識別情報と,前記処理対象の第2のピクチャの後の前記第1のピクチャの参照ピクチャ識別情報とが,同じ前方ピクチャを有する場合には,前記処理対象の第2のピクチャの参照ピクチャ識別情報に対応する参照ピクチャの復号画像データを,前記時間的間隔に応じたデータ容量比で前記内部メモリに格納し,同じ前方ピクチャを参照しない場合には,前記時間的間隔に応じないデータ容量比で前記内部メモリに格納する動画像復号装置。
(付記5)
付記1または2において,
前記ピクチャは,復号処理で後方ピクチャの参照画像データは参照されず前方ピクチャの参照画像データが参照される第1のピクチャと,復号処理で前記後方ピクチャの参照画像データと前方ピクチャの参照画像データが参照可能な第2のピクチャとを有し,
前記プリフェッチ制御部は,当該処理対象の第2のピクチャの参照ピクチャ識別情報が前方ピクチャと後方ピクチャとを有し,前記処理対象の第2のピクチャの後方の前記第1のピクチャの参照ピクチャ識別情報が前記処理対象の第2のピクチャの参照ピクチャ識別情報の前方ピクチャを有する場合には,前記処理対象の第2のピクチャの参照ピクチャ識別情報に対応する参照ピクチャの復号画像データを,前記時間的間隔に比例したデータ容量比で且つ前記第1のピクチャの参照ピクチャと同じ参照ピクチャの復号画像データは前記時間的間隔に比例したデータ容量比より高いデータ容量比で,前記内部メモリに格納する動画像復号装置。
(付記6)
付記1乃至5のいずれかにおいて,
前記インター予測処理部は,当該インター予測処理対象のピクチャ内の複数のブロックをラスタスキャン順にインター予測処理をし,
前記プリフェッチ制御部は,参照ピクチャ識別情報に対応する参照ピクチャの参照画像データを,前記インター予測処理対象のピクチャ内の処理対象ブロックが属するブロック行の上下所定ブロック行数の復号画像データを前記内部メモリに格納し,さらに,前記処理対象ブロックの直前に処理された複数ブロックの動きベクトルの平均方向に対応して,上下のブロック行数のうち当該平均方向に対応するブロック行数をより多くするように前記内部メモリに格納する上下のブロック行数を変更する動画像復号装置。
(付記7)
付記1乃至5のいずれかにおいて,
前記インター予測処理部は,当該インター予測処理対象のピクチャ内の複数のブロックをインター予測処理し,
前記プリフェッチ制御部は,前記インター予測処理対象のピクチャ内の複数のブロックの参照ピクチャ識別情報を集計し,所定の基準数を超えるブロックが参照する第1の参照ピクチャの復号画像データを前記内部メモリに格納し,前記第1の参照ピクチャ以外の参照ピクチャの復号画像データを前記内部メモリには格納しない動画像復号装置。
(付記8)
入力されるビデオストリームに含まれる各ピクチャの参照ピクチャ識別情報と動きベクトル情報に基づいて参照画像データを取得して前記ピクチャの復号画像データを生成するインター予測処理工程と,
前記ピクチャのインター予測処理のために,外部メモリから前記復号画像データを読み出して前記参照画像データとして内部メモリに格納するプリフェッチ制御工程とを有し,
前記プリフェッチ制御工程では,前記参照ピクチャ識別情報に対応する参照ピクチャの復号画像データを前記外部メモリから読み出して,前記参照ピクチャと処理対象ピクチャとの前記ビデオストリームでの時間的間隔に応じたデータ容量比で,前記内部メモリに格納する動画像復号方法。
10:ビデオストリーム
30:動画像復号装置
31:可変長復号部
32:インター予測処理部
33:プリフェッチ制御部
34:プリフェッチメモリ(内部メモリ)
20:外部メモリ

Claims (7)

  1. 入力されるビデオストリームに含まれる各ピクチャの参照ピクチャ識別情報と動きベクトル情報に基づいて参照画像データを取得して前記ピクチャの復号画像データを生成するインター予測処理部と,
    前記参照画像データを格納する内部メモリと,
    前記ピクチャのインター予測処理のために,外部メモリから前記復号画像データを読み出して前記参照画像データとして前記内部メモリに格納するプリフェッチ制御部とを有し,
    前記プリフェッチ制御部は,前記参照ピクチャ識別情報に対応する参照ピクチャの復号画像データを前記外部メモリから読み出して,前記参照ピクチャと処理対象ピクチャとの前記ビデオストリームでの時間的間隔に応じたデータ容量比で,前記内部メモリに格納する動画像復号装置。
  2. 請求項1において,
    前記時間的間隔に応じたデータ容量比は,第1の時間的間隔の場合に第1のデータ容量であり,前記第1の時間的間隔より長い第2の時間的間隔の場合に前記第1のデータ容量より大きい第2のデータ容量である動画像復号装置。
  3. 請求項2において,
    前記時間的間隔に応じたデータ容量比は,前記時間的間隔に比例したデータ容量比である動画像復号装置。
  4. 請求項1,2または3において,
    前記ピクチャは,復号処理で後方ピクチャの参照画像データは参照されず前方ピクチャの参照画像データが参照される第1のピクチャと,復号処理で前記後方ピクチャの参照画像データと前方ピクチャの参照画像データが参照可能な第2のピクチャとを有し,
    前記プリフェッチ制御部は,当該処理対象の第2のピクチャの参照ピクチャ識別情報と,前記処理対象の第2のピクチャの後の前記第1のピクチャの参照ピクチャ識別情報とが,同じ前方ピクチャを有する場合には,前記処理対象の第2のピクチャの参照ピクチャ識別情報に対応する参照ピクチャの復号画像データを,前記時間的間隔に応じたデータ容量比で前記内部メモリに格納し,同じ前方ピクチャを参照しない場合には,前記時間的間隔に応じないデータ容量比で前記内部メモリに格納する動画像復号装置。
  5. 請求項1または2において,
    前記ピクチャは,復号処理で後方ピクチャの参照画像データは参照されず前方ピクチャの参照画像データが参照される第1のピクチャと,復号処理で前記後方ピクチャの参照画像データと前方ピクチャの参照画像データが参照可能な第2のピクチャとを有し,
    前記プリフェッチ制御部は,当該処理対象の第2のピクチャの参照ピクチャ識別情報が前方ピクチャと後方ピクチャとを有し,前記処理対象の第2のピクチャの後方の前記第1のピクチャの参照ピクチャ識別情報が前記処理対象の第2のピクチャの参照ピクチャ識別情報の前方ピクチャを有する場合には,前記処理対象の第2のピクチャの参照ピクチャ識別情報に対応する参照ピクチャの復号画像データを,前記時間的間隔に比例したデータ容量比で且つ前記第1のピクチャの参照ピクチャと同じ参照ピクチャの復号画像データは前記時間的間隔に比例したデータ容量比より高いデータ容量比で,前記内部メモリに格納する動画像復号装置。
  6. 請求項1乃至5のいずれかにおいて,
    前記インター予測処理部は,当該インター予測処理対象のピクチャ内の複数のブロックをラスタスキャン順にインター予測処理をし,
    前記プリフェッチ制御部は,参照ピクチャ識別情報に対応する参照ピクチャの参照画像データを,前記インター予測処理対象のピクチャ内の処理対象ブロックが属するブロック行の上下所定ブロック行数の復号画像データを前記内部メモリに格納し,さらに,前記処理対象ブロックの直前に処理された複数ブロックの動きベクトルの平均方向に対応して,上下のブロック行数のうち当該平均方向に対応するブロック行数をより多くするように前記内部メモリに格納する上下のブロック行数を変更する動画像復号装置。
  7. 入力されるビデオストリームに含まれる各ピクチャの参照ピクチャ識別情報と動きベクトル情報に基づいて参照画像データを取得して前記ピクチャの復号画像データを生成するインター予測処理工程と,
    前記ピクチャのインター予測処理のために,外部メモリから前記復号画像データを読み出して前記参照画像データとして内部メモリに格納するプリフェッチ制御工程とを有し,
    前記プリフェッチ制御工程では,前記参照ピクチャ識別情報に対応する参照ピクチャの復号画像データを前記外部メモリから読み出して,前記参照ピクチャと処理対象ピクチャとの前記ビデオストリームでの時間的間隔に応じたデータ容量比で,前記内部メモリに格納する動画像復号方法。
JP2012014750A 2012-01-27 2012-01-27 動画像復号装置及び動画像復号方法 Active JP5803697B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012014750A JP5803697B2 (ja) 2012-01-27 2012-01-27 動画像復号装置及び動画像復号方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012014750A JP5803697B2 (ja) 2012-01-27 2012-01-27 動画像復号装置及び動画像復号方法

Publications (2)

Publication Number Publication Date
JP2013157681A true JP2013157681A (ja) 2013-08-15
JP5803697B2 JP5803697B2 (ja) 2015-11-04

Family

ID=49052520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012014750A Active JP5803697B2 (ja) 2012-01-27 2012-01-27 動画像復号装置及び動画像復号方法

Country Status (1)

Country Link
JP (1) JP5803697B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020149159A1 (ja) * 2019-01-15 2020-07-23 日本電信電話株式会社 参照領域決定装置及びプログラム
JP2022021062A (ja) * 2020-07-21 2022-02-02 日本電信電話株式会社 参照画像キャッシュメモリ、データ要求方法及びコンピュータプログラム

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08307875A (ja) * 1995-05-02 1996-11-22 Matsushita Electric Ind Co Ltd 画像メモリ装置および動きベクトル検出回路
JPH10341440A (ja) * 1997-06-06 1998-12-22 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法および装置
JP2000308064A (ja) * 1999-04-22 2000-11-02 Mitsubishi Electric Corp 動きベクトル検出装置
JP2005072726A (ja) * 2003-08-20 2005-03-17 Toshiba Corp 動きベクトル検出装置及び動きベクトル検出方法
JP2006166308A (ja) * 2004-12-10 2006-06-22 Victor Co Of Japan Ltd 復号化装置及び復号化方法
JP2006270683A (ja) * 2005-03-25 2006-10-05 Sanyo Electric Co Ltd 符号化装置と方法
WO2008146455A1 (ja) * 2007-05-22 2008-12-04 Panasonic Corporation 動画像復号化装置及び動画像復号化方法
JP2009253487A (ja) * 2008-04-03 2009-10-29 Toshiba Corp 動画像復号化装置及び方法
JP2009290387A (ja) * 2008-05-28 2009-12-10 Hitachi Ltd エンコーダ、デコーダ、及び記録再生装置
US20100002776A1 (en) * 2008-07-01 2010-01-07 Lee Kun-Bin Method and apparatus for storing decoded moving pictures with a reduced memory requirement
JP2011151509A (ja) * 2010-01-20 2011-08-04 Hitachi Kokusai Electric Inc 画像処理装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08307875A (ja) * 1995-05-02 1996-11-22 Matsushita Electric Ind Co Ltd 画像メモリ装置および動きベクトル検出回路
JPH10341440A (ja) * 1997-06-06 1998-12-22 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法および装置
JP2000308064A (ja) * 1999-04-22 2000-11-02 Mitsubishi Electric Corp 動きベクトル検出装置
JP2005072726A (ja) * 2003-08-20 2005-03-17 Toshiba Corp 動きベクトル検出装置及び動きベクトル検出方法
JP2006166308A (ja) * 2004-12-10 2006-06-22 Victor Co Of Japan Ltd 復号化装置及び復号化方法
JP2006270683A (ja) * 2005-03-25 2006-10-05 Sanyo Electric Co Ltd 符号化装置と方法
WO2008146455A1 (ja) * 2007-05-22 2008-12-04 Panasonic Corporation 動画像復号化装置及び動画像復号化方法
JP2009253487A (ja) * 2008-04-03 2009-10-29 Toshiba Corp 動画像復号化装置及び方法
JP2009290387A (ja) * 2008-05-28 2009-12-10 Hitachi Ltd エンコーダ、デコーダ、及び記録再生装置
US20100002776A1 (en) * 2008-07-01 2010-01-07 Lee Kun-Bin Method and apparatus for storing decoded moving pictures with a reduced memory requirement
JP2011151509A (ja) * 2010-01-20 2011-08-04 Hitachi Kokusai Electric Inc 画像処理装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020149159A1 (ja) * 2019-01-15 2020-07-23 日本電信電話株式会社 参照領域決定装置及びプログラム
JP2020113934A (ja) * 2019-01-15 2020-07-27 日本電信電話株式会社 参照領域決定装置及びプログラム
JP7201906B2 (ja) 2019-01-15 2023-01-11 日本電信電話株式会社 参照領域決定装置及びプログラム
JP2022021062A (ja) * 2020-07-21 2022-02-02 日本電信電話株式会社 参照画像キャッシュメモリ、データ要求方法及びコンピュータプログラム
JP7425446B2 (ja) 2020-07-21 2024-01-31 日本電信電話株式会社 参照画像キャッシュメモリ、データ要求方法及びコンピュータプログラム

Also Published As

Publication number Publication date
JP5803697B2 (ja) 2015-11-04

Similar Documents

Publication Publication Date Title
JP5508534B2 (ja) シーン切替検出
US8488678B2 (en) Moving image encoding apparatus and moving image encoding method
JP4764807B2 (ja) 動きベクトル検出装置および動きベクトル検出方法
US20060239349A1 (en) Image coding unit and image coding method
US20110069751A1 (en) Method and Apparatus for Determination of Motion Estimation Search Window Area Utilizing Adaptive Sliding Window Algorithm
US20070165716A1 (en) Signal processing device, image capturing device, network camera system and video system
JP2011097572A (ja) 動画像符号化装置
US8654850B2 (en) Image coding device and image coding method
KR102453652B1 (ko) 화상 처리 장치 및 반도체 장치
Ting et al. Center-biased frame selection algorithms for fast multi-frame motion estimation in H. 264
US10104396B2 (en) Encoder circuit and encoding method
WO2010047099A1 (ja) スケーラブル動画像符号化方法、スケーラブル動画像符号化装置、スケーラブル動画像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
US20100315550A1 (en) Image frame interpolation device, image frame interpolation method, and image frame interpolation program
JP5038367B2 (ja) スケーラブル動画像符号化方法、スケーラブル動画像符号化装置およびスケーラブル動画像符号化プログラム
WO2010109564A1 (ja) 画像符号化装置及び画像符号化方法
JP5803697B2 (ja) 動画像復号装置及び動画像復号方法
JP6137302B2 (ja) 符号化装置、符号化方法、および符号化プログラム
CN106303545B (zh) 用于在帧序列中执行运动估计的数据处理系统和方法
US9736485B2 (en) Encoding apparatus, encoding method, and image capture apparatus
US20140105306A1 (en) Image processing apparatus and image processing method
JP5020391B2 (ja) 復号化装置及び復号化方法
JP5727398B2 (ja) 動画像符号化方法,動画像符号化装置および動画像符号化プログラム
JP5299319B2 (ja) 動きベクトル検出装置
JP6728870B2 (ja) 画像圧縮装置、画像圧縮方法、及び画像圧縮プログラム
JP2008311824A (ja) 画像符号化装置および画像符号化プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150526

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20150610

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150710

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: 20150804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150817

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 5803697

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150