JP4106070B2 - 復号化回路、復号化装置、及び復号化システム - Google Patents

復号化回路、復号化装置、及び復号化システム Download PDF

Info

Publication number
JP4106070B2
JP4106070B2 JP2006547732A JP2006547732A JP4106070B2 JP 4106070 B2 JP4106070 B2 JP 4106070B2 JP 2006547732 A JP2006547732 A JP 2006547732A JP 2006547732 A JP2006547732 A JP 2006547732A JP 4106070 B2 JP4106070 B2 JP 4106070B2
Authority
JP
Japan
Prior art keywords
macroblock
motion vector
decoding
transfer
buffer
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
JP2006547732A
Other languages
English (en)
Other versions
JPWO2006057182A1 (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2006057182A1 publication Critical patent/JPWO2006057182A1/ja
Application granted granted Critical
Publication of JP4106070B2 publication Critical patent/JP4106070B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Landscapes

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

Description

本発明は、符号化されたピクチャを構成する複数のマクロブロックを所定の順番で逐次復号化する復号化回路、復号化装置、及び復号化システムに関する。
従来、動画像圧縮符号化/復号化技術の重要な要素に、「動き補償フレーム間予測」がある。動き補償フレーム間予測とは、動画像を構成する連続したフレーム(画面)内のピクチャがどのように動いたかを検出して効率よく圧縮する手法である。MPEG(MovingPicture Experts Group)等の代表的な動画像圧縮方法では、動き補償フレーム間予測を行う際、ピクチャを分割した「マクロブロック」と呼ばれる単位毎に、表示順で前方又は後方に位置する他のピクチャ内のマクロブロックと比較してどの方向へどの程度動くかを示す「動きベクトル」を使用する。なお、比較されるピクチャを「参照ピクチャ」と呼ぶ。
また、近年、新たな動画像圧縮符号化/復号化技術として規格化された、MPEG4―AVC(Advanced Video Coding)においては、さらに高度な動き補償フレーム間予測である、「双方向動き補償フレーム間予測」という手法が用いられる(非特許文献1を参照)。
ここで、双方向動き補償フレーム間予測について簡単に説明する。
双方向動き補償フレーム間予測とは、前後にあるピクチャから任意の参照ピクチャを2枚選択し、この2枚の参照ピクチャから動き補償フレーム間予測を行う手法である。なお、双方向動き補償フレーム間予測を行う対象となるピクチャを「双予測ピクチャ(Bi-predictivePicture)」と呼び、略して「Bピクチャ」と呼ぶ。
ところで、Bピクチャの符号化を行う際、「ダイレクトモード」と呼ばれる符号化モードで符号化することがある。ダイレクトモードとは、動きベクトルを符号化せずに、既に過去に復号化された他のマクロブロックの動きベクトルを用いてマクロブロック毎に動きベクトルを算出する符号化モードである。具体的には、マクロブロックがダイレクトモードで符号化されていた場合、当該マクロブロックが属するピクチャの1つ前のピクチャ内における、当該マクロブロックと同じ座標上のマクロブロックの動きベクトルを用いて、当該マクロブロックの動きベクトルの計算が行われる。ダイレクトモードで符号化されたマクロブロックを復号化する従来の処理について、図7を参照しながら簡単に説明する。
まず、前提として、将来ダイレクトモードで符号化されたマクロブロックを復号化することに備えて、MPEG規格では、ピクチャ内の各マクロブロックを逐次復号化していく中で、復号化された各マクロブロックの動きベクトルを一定量記憶しておくようになっている。例えば、MPEG4−AVCの1仕様によれば、4枚のピクチャの動きベクトルを記憶しておくようになっており、1ピクチャ当たり8160マクロブロックで構成されているとすると、合計32640個のマクロブロックの動きベクトルを記憶しておく必要がある。これだけ大量の動きベクトルを復号化回路内に記憶しておくには通常のバッファでは追いつかず、現実的ではない。そのため、復号化された各マクロブロックの動きベクトルを、復号化を行う復号化回路外にあるDRAM(DynamicRandom Access Memory)等のメモリに記憶しておくようになっている。
ここで、図7に示すように、Bピクチャのマクロブロックを復号化する際、まず、当該マクロブロックの先頭に含まれるマクロブロックタイプ情報を参照し、当該マクロブロックがダイレクトモードで符号化されているか否かを判断する(ステップS200)。
ダイレクトモードで符号化されていた場合、参照する他のマクロブロックの動きベクトルを外部メモリから取得するようDMA(Direct Memory Access)転送指示を行い(ステップS201)、この結果として外部メモリから転送された動きベクトルに基づいて当該マクロブロックの動きベクトルを決定する(ステップS202)。
ITU−T勧告 H.264 「Advanced Video Coding for Generic Audiovisual Services」
ところが、図7に示したような従来の手法では、マクロブロックがダイレクトモードで符号化されていることが判定された(ステップS200)後で、外部メモリにアクセスし(ステップS201)、必要となる他のマクロブロックの動きベクトルを取得するようになっている。外部メモリから復号化回路内への転送が必要なために、図中の矢印で示すように時間がかかってしまい、その結果、Bピクチャのマクロブロックを復号化する全体の時間Tが長時間化してしまうという課題がある。
マクロブロックを復号化する時間Tが長時間化すると、Bピクチャの復号化も遅延してしまい、結果、動画像全体を復号化する時間にまで影響が及ぶ可能性がある。
そこで、本発明は、ダイレクトモードで符号化されたBピクチャを高速に復号化することのできる復号化回路、復号化装置、及び復号化システムを提供することを目的とする。
上記課題を解決するために、本発明に係る復号化回路は、MPEG(Moving Picture Experts Group)規格に従って符号化されたピクチャを構成する複数のマクロブロックを所定の順番で逐次復号化する復号化回路であって、前記復号化回路の外部に存在する外部メモリとの間でデータ転送を行う転送手段と、マクロブロックの動きベクトルを保持するためのバッファと、一のマクロブロックを復号化し終える前に、当該一のマクロブロック以降のマクロブロックがダイレクトモードで符号化されていた場合に参照される別のマクロブロックの動きベクトルを、前記外部メモリから前記バッファに転送するよう前記転送手段に指示するバッファ転送指示手段と、逐次各マクロブロックの動きベクトルを特定するものであり、マクロブロックがダイレクトモードで符号化されていた場合に、前記バッファに保持されている動きベクトルに基づいて当該マクロブロックの動きベクトルを計算して特定する復号化手段と、特定した動きベクトルを前記外部メモリに転送するよう前記転送手段に指示する外部メモリ転送指示手段とを備えることを特徴とする。ここで、この復号化回路は集積回路により実現されるものであり、回路内のバッファには容量に制約がある。また、転送手段は、DMAコントローラで実現される。
以上の構成により、回路内のバッファ容量の制約により、復号化済みの動きベクトルの記憶をいったん外部メモリに記憶しておく必要がある復号化回路であっても、マクロブロックの復号化を開始する前に、将来復号化するマクロブロックが必要とするであろう動きベクトルを外部メモリから先行的に回路内のバッファに転送しておく。この先行的に転送を行う構成により、マクロブロックがダイレクトモードで符号化されていない限り不要にはなるが、あるマクロブロックがダイレクトモードで符号化されていた場合には、このマクロブロックを復号化するときにすぐさま動きベクトルを特定することができる。この結果、マクロブロックがダイレクトモードで符号化されているときに、当該マクロブロックの復号化に要する時間を短縮することができる。
また、上記復号化回路において、前記バッファ転送指示手段は、一のマクロブロックの復号化を開始してから完了するまでの間に、当該一のマクロブロックに続くマクロブロックがダイレクトモードで符号化されていた場合に参照される別のマクロブロックの動きベクトルを、前記外部メモリから前記バッファに転送するよう前記転送手段に指示することを特徴とする。
この構成により、n番目のマクロブロックを復号している間に、n+1番目のマクロブロックがダイレクトモードで符号化されていた場合に参照する動きベクトルを回路内のバッファに転送しておくため、n+1番目のマクロブロックがダイレクトモードで符号化されていた場合でも、復号化するときにすぐさま動きベクトルを決定することができる。また、回路内のバッファのサイズを、1つ先の順番のマクロブロックが参照する動きベクトルを保持できる最小限のサイズに抑えることができる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
<1.構成>
<1−1.復号化システム10の構成>
図1に示すように、復号化システム10は、復号化回路100と、当該復号化回路100に接続されている外部メモリ200と記憶媒体300とから構成されている。
外部メモリ200は、作業領域として使用されるDRAM等の書き込み可能なメモリであり、特に、後述する復号化回路100が復号化処理を実行する上で必要となるデータを一時的に記憶する。
記憶媒体300は、HDD(Hard Disk Drive)等の大容量記憶媒体であり、MPEG規格に準じて符号化された動画像データ(以下、「ストリーム」と呼ぶ場合がある)を記憶している。これらのストリームは、例えば、ユーザがテレビ番組を録画したもの等である。
復号化回路100は、MPEG規格に準じて符号化されたストリームの復号化を行う集積回路である。ストリームの復号化にあたっては、HDD300から外部メモリ200の作業領域に逐次読み込まれるストリームを入力し、復号化する。
<1−2.復号化回路100の構成>
復号化回路100は、ストリーム転送指示部101、復号化部102、DMAコントローラ103、参照画像転送指示部104、バッファ転送指示部105、バッファ106、バッファ消去部107、外部メモリ転送指示部108、逆周波数変換処理部109、動き補償処理部110、イントラ処理部111、デブロックフィルタ処理部112、及び復号画像転送指示部113を備える。
ストリーム転送指示部101は、外部メモリ200から後述するバッファ106にストリームを転送するようDMAコントローラ103に指示する機能を有する。
復号化部102は、MPEG規格に準じて可変長符号化されたストリームをマクロブロック単位で可変長復号化し、当該マクロブロックのマクロブロックタイプ、動きベクトル、及び画素残差値を出力する機能を有する。動きベクトルについては、マクロブロックがダイレクトモード以外のモードで符号化されている場合は、マクロブロックを復号化することで決定し、一方、マクロブロックがダイレクトモードで符号化されている場合は、後述するバッファ106に保持されている動きベクトルを用いて算出するものである。
DMAコントローラ103は、DMA方式により、外部メモリ200と復号化回路100内に備わるバッファ106等の各バッファとの間でデータを転送する機能を有する。
参照画像転送指示部104は、復号化部101が出力した動きベクトルが示す参照画像を外部メモリ200からバッファ106に転送するようDMAコントローラ103に指示する機能を有する。
バッファ転送指示部105は、マクロブロックがダイレクトモードで符号化されていた場合に参照する、既に復号化された別のマクロブロックの動きベクトルを、後述するバッファ105に転送するようDMAコントローラ103に指示する機能を有する。
バッファ106は、復号化回路100内で一時的にデータを記憶しておく記憶領域であり、マクロブロックの動きベクトルを少なくとも1つ記憶できる容量を有している。特に、バッファ転送指示部105からの指示に応じてDMAコントローラ103から出力される動きベクトルを一時的に記憶する。
外部メモリ転送指示部107は、復号化部102がマクロブロックを復号化するたびに決定される動きベクトルを外部メモリ200に転送するよう、DMAコントローラ103に指示する機能を有する。
逆周波数変換処理部108は、復号化部102が出力した画素値残差を逆周波数変換して出力する機能を有する。
動き補償処理部109は、逆周波数変換処理部108が出力した画素値残差と、参照画像転送指示部104からの転送指示に応じて転送される参照画像とを合成し、合成した画像を復号画像として出力する機能を有する。
イントラ処理部110は、マクロブロックがフレーム間予測を必要としてないモードで符号化されているマクロブロック(以下、「イントラマクロブロック」と呼ぶ)である場合に、逆周波数変換処理部108が出力したマクロブロックの画素値残差を用いて復号化し、復号画像を出力する機能を有する。
デブロックフィルタ処理部111は、動き補償処理部109及びイントラ処理部110が出力した復号画像に対し、ブロックノイズを低減するためのデブロックフィルタ処理を行う機能を有する。
復号画像転送部112は、デブロックフィルタ処理部111でデブロックフィルタ処理された復号画像を外部メモリ200に転送するよう、DMAコントローラ103に指示する機能を有する。
<2.データ構造>
ここで、復号化システム10が復号化を行うデータについて説明する。
図2に示すように、MPEG規格に準じて符号化されたストリームは、複数のピクチャから構成されている(P1、P2、P3・・・Pn)。各ピクチャは、動画像であるストリームを構成する静止画であり、1画面に相当する。
さらに、各ピクチャは、16ライン幅を有するスライスで水平方向に分割されている(スライス#1、スライス#2・・・スライス#n)。スライスは、ピクチャの符号化を行う基本単位である。
そして、各スライスをさらに細かく分割したものがマクロブロック(以下、「MB」と略して表記することがある)である。マクロブロックは、動き補償フレーム間予測を含む、復号化を行う基本単位である。例えば、MPEG4−AVC(AdvancedVideo Coding)のHDTV(High Definition Television:高精細テレビ)品質の場合、1つのピクチャが8160個のマクロブロックに分割される。
ここで、Bピクチャのマクロブロックの動きベクトルについて説明する。
動きベクトルは、各マクロブロックにおいて、表示順で前方又は後方に位置する他のピクチャと比較してどの方向へどの程度動くかを示す情報であり、マクロブロックがダイレクトモード以外のモードで符号化されている場合は、当該マクロブロックを可変長復号化する段階で特定される。
一方、マクロブロックがダイレクトモードで符号化されている場合は、当該マクロブロックの動きベクトルを決定するために別のマクロブロックの動きベクトルを用いて算出する必要がある。なお、本実施形態においては、「時間ダイレクトモード」での動きベクトルの算出方法について説明する。
図3を参照すると、復号化対象のマクロブロック(MB01)の動きベクトルを算出するために、当該復号化対象マクロブロックの参照ピクチャのうち一方のピクチャ(以下、「アンカーピクチャ」)と呼ぶ)(AP01)を参照する。AP01の中で、MB01と同じ座標上に位置するマクロブロック(以下、「アンカーブロック」と呼ぶ)(AB01)の動きベクトルを用いて、以下の式に従ってMB01の動きベクトルを算出する。
[数1]
mvL0=mvCol*tb/td
[数2]
mvL1=mvL0−mvCol
ここで、mvColは、AB01の動きベクトルの値であり、AB01が参照ピクチャ内のどのマクロブロックに当たるかを示す。tbは、他方の参照ピクチャとMB01のピクチャとの時間間隔である。tdは、他方の参照ピクチャとAP01との時間間隔である。tbとtdの値は、復号化部102から通知される。式1及び式2から、MB01の動きベクトルであるmvL0とmvL1が算出され、mvL0とmvL1とにより、AP01上のマクロブロックMB00と他方の参照ピクチャ上のマクロブロックMB02とを参照画像とすることが決定される。
<3.動作>
次に、復号化システム10の復号化処理動作について説明する。
図4に示すように、復号化回路100において、まず、ストリーム取得部101が、DMAコントローラ103に対して、外部メモリ200からストリームを転送するよう指示し、これを受けて、DMAコントローラ103は、外部メモリ200から復号化部102にストリームを転送する(ステップS100)。
ストリームを受けた復号化部102は、ストリームを構成するピクチャをマクロブロック単位で復号化処理を開始する(ステップS101)。ここで、n番目のマクロブロックについての復号化を開始するものとする。
また、ステップS101のけるn番目のマクロブロックの復号化と並列して、n番目に続く(n+1)番目のマクロブロックについて、当該(n+1)番目のマクロブロックがもしダイレクトモードで符号化されていた場合に参照するアンカーブロック(以下、「(n+1)番目用アンカーブロック」と呼ぶ)の動きベクトルを外部メモリ200からバッファ106へ転送するよう、バッファ転送指示部105がDMAコントローラ103に対して指示する(ステップS102)。
ステップS101で開始したn番目のマクロブロックの復号化においては、まず、復号化部102はマクロブロックヘッダを参照し、当該マクロブロックがフレーム間予測を行うマクロブロック(以下、「インターマクロブロック」と呼ぶ)であるか、フレーム間予測を行わないマクロブロック(以下、「イントラマクロブロック」と呼ぶ)であるかを判断する(ステップS103)。
ステップS103での判断の結果、インターマクロブロックであった場合は(ステップS103:YES)、さらに、n番目のマクロブロックの符号化形式がダイレクトモードであるか否かを判断する(ステップS104)。
ステップS104での判断の結果、符号化形式がダイレクトモードであった場合は(ステップS104:YES)、復号化部102は、バッファ106に記憶されている動きベクトルを用いてn番目のマクロブロックの動きベクトルを算出する(ステップS105)。ここで、バッファ106には、(n−1)番目のマクロブロックが復号化される間に並列して転送された、n番目のマクロブロックがダイレクトモードで符号化されているときに参照するアンカーブロック(以下、「n番目用アンカーブロック」と呼ぶ)の動きベクトルが記憶されている。
一方、ステップS104での判断の結果、符号化形式がダイレクトモード以外のモードであった場合は、復号化部102は、n番目のマクロブロックを可変長復号化を行う段階で動きベクトルを特定する(ステップS106)。
復号化部102は、特定された動きベクトルを外部メモリ転送指示部107内のバッファに出力し、これを受けた外部メモリ転送指示部108は、動きベクトルを外部メモリ200に転送するよう、DMAコントローラ103に指示する(ステップS107)。ここで、動きベクトルを転送する外部メモリ200内のアドレスとn番目のマクロブロックとが対応付けられて転送される。
そして、参照画像転送指示部104は、復号化部102から出力された動きベクトルに基づく参照画像を外部メモリ200から動き補償処理部109内のバッファに転送するよう、DMAコントローラ103に指示する(ステップS108)。
また、この間、逆周波数変換処理部108は、復号化部102が出力した画素残差値を逆周波数変換する(ステップS109)。
動き補償処理部109は、逆周波数変換処理部108が出力した画素値残差と、参照画像転送指示部104からの転送指示に応じてDMAコントローラ103を介して転送される参照画像とを合成し、合成した画像を復号画像として出力する(ステップS110)。
一方で、ステップS103での判断の結果、インターマクロブロックではなくイントラマクロブロックであった場合は、イントラブロックであるという情報を外部メモリ200に転送するよう、DMAコントローラ103に指示する(ステップS111)。
逆周波数変換処理部108は、復号化部102が出力した画素残差値を逆周波数変換する(ステップS112)する。
イントラ処理部110は、n番目のマクロブロックの周辺画像から参照画像を生成し、逆周波数変換処理部108が出力した画素残差値と加算した画像を復号画像として出力する(ステップS113)。
続いて、ステップS110又はステップS113で出力された復号画像に対し、デブロックフィルタ処理部111は、ブロックノイズを取り除くデブロック処理を行い、復号画像転送指示部112内のバッファに出力する(ステップS114)。
復号画像転送指示部112は、デブロック処理された復号画像を外部メモリ200に転送するよう、DMAコントローラ103に指示する(ステップS115)。
上記ステップS103〜S115と並列して、ステップS102での動きベクトル転送指示に応じ、(n+1)番目用アンカーブロックの動きベクトルがDMAコントローラ103を介してバッファ106に転送される(ステップS116)。
ステップS101〜S116におけるn番目のマクロブロックの復号化と、これと並列して行われるステップS102及びS116における(n+1)番目用アンカーブロックの動きベクトルの転送とが完了すると、nをインクリメントして、続いて(n+1)番目の復号化と(n+2)番目用アンカーブロックの動きベクトルの転送が開始する(ステップS101及びS102)。
以上、本実施形態によれば、DMA転送を利用することで、n番目のマクロブロックの復号化処理(ステップS103〜115)と、(n+1)番目用アンカーブロックの動きベクトルがバッファ106への転送(ステップS102及びS116)とが並列して実行される。これより、(n+1)番目のマクロブロックがダイレクトモードで符号化されていたとしても、(n+1)番目のマクロブロックを復号化する際にすぐにバッファ106内の(n+1)番目用アンカーブロックの動きベクトルを用いて動きベクトルを算出することができる。
さらに、従来の処理とを比較し、本実施形態の処理の効果を説明する。従来の処理を示す図7を参照すると、いったんマクロブロックタイプを判断して(ステップ200)、マクロブロックがダイレクトモードで符号化されていると分かった段階で、DMAコントローラ103へ動きベクトルの転送を指示する(ステップS201)。このため、マクロブロックの復号化処理が完了しても、外部メモリ200からの転送が完了するのを待たなければならず、結果、マクロブロックを復号化するのに要する全体的な時間Tが長くなってしまう。
これに対し、本実施形態の処理を示す図5を参照すると、n番目のマクロブロックの復号化処理(ステップS103〜115)と、(n+1)番目用アンカーブロックの動きベクトルのバッファ106への転送(ステップS102及びS116)とが並列して実行される。これより、(n+1)番目のマクロブロックがダイレクトモードで符号化されていた場合に、タイミングT2において、(n+1)番目のマクロブロックを復号化する際にすぐにバッファ106内の(n+1)番目用アンカーブロックの動きベクトルを用いて動きベクトルを算出することができる。その結果、(n+1)番目のマクロブロックを復号化するのに要する時間T2が短縮される。この並列処理は、インクリメントされn番目、(n+1)番目、(n+2)番目・・・とストリームが終わる(n+x)番目まで繰り返し実行されるため、どのマクロブロックに対しても同様の効果を奏する。
以上、実施形態に基づいて説明してきたように、本発明によれば、Bピクチャを構成する各マクロブロックがダイレクトモードで符号化されていた場合に、その復号化を高速に行うことができ、結果、Bピクチャの復号化を高速化することができる。
<変形例>
以上、本発明に係る復号化システム10を実施形態に基づいて説明してきたが、この実施形態の構成及び動作に様々な変形を加えることが可能である。
上記実施形態では、マクロブロックの復号化処理と並列して、1つ先のマクロブロック用アンカーブロックの動きベクトルをバッファ106へ転送する動作を説明したが、バッファ106の容量を大きくし、幾つか先の複数のマクロブロック用アンカーブロックに係る複数の動きベクトルをまとめて転送するようにしてもよい。
例えば、外部メモリ200として、連続するデータ転送に適したSDRAM等のメモリを使用している場合、1つの動きベクトル毎に転送を行うとバースト長が不足し、転送効率が不足することがある。
このため、SDRAM等のメモリを使用している場合、例えば、n番目のマクロブロックの復号化処理と並列して、(n+1)番目のマクロブロック用アンカーブロックの動きベクトルと、これにさらに続く(n+2)番目のマクロブロック用アンカーブロックの動きベクトルとをまとめて1回で転送するようにすればよい。
このように、一回のDMA転送で転送するデータ量を増やすことで、外部メモリ200とバッファ106間の転送回数を減らし、バースト長を大きくして転送効率を向上させることができる。
なお、幾つ先のマクロブロック用アンカーブロックの動きベクトルまで転送しておくかは、バッファ106のサイズに左右される。上記実施形態のように1つ後までであれば、バッファ106のサイズが最小限で抑えられるが、バッファ106のサイズが許す限り幾つ後までかについて限定されない。
また、さらに、外部メモリ転送指示手段107が、復号化された動きベクトルを外部メモリ200に転送するよう指示する際も、複数のマクロブロックに係る複数の動きベクトルをまとめて転送するようにしてもよい。
<補足>
上記実施形態においては、ダイレクトモードとして、「時間ダイレクトモード」について説明したが、「空間ダイレクトモード」であってもよい。
すなわち、マクロブロックが空間ダイレクトモードで符号化されている場合は、当該マクロブロックの動きベクトルを決定するために、アンカーブロックの動きベクトルとともに、当該マクロブロックの周辺マクロブロックの動きベクトルを用いる。
図6を参照すると、復号化対象のマクロブロック(MB01)の動きベクトルを算出するために、MB01のピクチャ内で既に復号化されている別のマクロブロックを参照する。具体的には、MB01の左位置のマクロブロック(MB(A))、上位置のマクロブロック(MB(B))、及び右上位置のマクロブロック(MB(C))のそれぞれの動きベクトルを用いて、以下の式に従ってMB01の動きベクトルを算出する。
[数3]
mv=median(mvA、mvB、mvC)
ここで、mvAはMB(A)の動きベクトルである。mvBはMB(B)の動きベクトルである。mvCはMB(C)の動きベクトルである。式3から、MB01の動きベクトルであるmvが算出される。
なお、本発明を空間ダイレクトモードに適用する場合は、図4に示すフローチャート内のステップS102において、(n+1)番目のマクロブロックのピクチャ内で左位置、上位置、及び右上位置に位置するマクロブロックそれぞれの動きベクトル(合計3つの動きベクトル)をバッファ106に転送するよう、DMAコントローラ103に指示すればよい。また、この場合、バッファ106のサイズを、合計3つの動きベクトルを記憶しておけるサイズに合わせればよい。
本発明に係る復号化システム10の構成を示すブロック図である。 MPEG規格に準じて符号化されたデータの構造を示す概略図である。 時間ダイレクトモード時の動きベクトルの算出方法を示す概略図である。 復号化システム10の復号化処理動作を示すフローチャートである。 復号化システム10の復号化処理動作を示すタイミングチャートである。 空間ダイレクトモード時の動きベクトルの算出方法を示す概略図である。 従来の復号化処理を示すタイミングチャートである。
符号の説明
10 復号化システム
100 復号化回路
101 ストリーム転送指示部
102 復号化部
103 DMAコントローラ
104 参照画像転送指示部
105 バッファ転送指示部
106 バッファ
107 外部メモリ転送指示部
108 逆周波数変換処理部
109 動き補償処理部
110 イントラ処理部
111 デブロックフィルタ処理部
112 復号画像転送指示部
200 外部メモリ
300 記憶媒体

Claims (4)

  1. MPEG(Moving Picture Experts Group)規格に従って符号化されたピクチャを構成する複数のマクロブロックを所定の順番で逐次復号化する復号化回路であって、
    前記復号化回路の外部に存在する外部メモリとの間でデータ転送を行う転送手段と、
    マクロブロックの動きベクトルを保持するためのバッファと、
    一のマクロブロックを復号化し終える前に、当該一のマクロブロック以降のマクロブロックがダイレクトモードで符号化されていた場合に参照される別のマクロブロックの動きベクトルを、前記外部メモリから前記バッファに転送するよう前記転送手段に指示するバッファ転送指示手段と、
    逐次各マクロブロックの動きベクトルを特定するものであり、マクロブロックがダイレクトモードで符号化されていた場合に、前記バッファに保持されている動きベクトルに基づいて当該マクロブロックの動きベクトルを計算して特定する復号化手段と、
    特定した動きベクトルを前記外部メモリに転送するよう前記転送手段に指示する外部メモリ転送指示手段とを備える
    ことを特徴とする復号化回路。
  2. 前記バッファ転送指示手段は、一のマクロブロックの復号化を開始してから完了するまでの間に、当該一のマクロブロックに続くマクロブロックがダイレクトモードで符号化されていた場合に参照される別のマクロブロックの動きベクトルを、前記外部メモリから前記バッファに転送するよう前記転送手段に指示する
    ことを特徴とする請求項1記載の復号化回路。
  3. MPEG(Moving Picture Experts Group)規格に従って符号化されたピクチャを構成する複数のマクロブロックを所定の順番で逐次復号化する復号化装置であって、
    前記復号化装置の外部に存在する外部メモリとの間でデータ転送を行う転送手段と、
    マクロブロックの動きベクトルを保持するためのバッファと、
    一のマクロブロックを復号化し終える前に、当該一のマクロブロック以降のマクロブロックがダイレクトモードで符号化されていた場合に参照される別のマクロブロックの動きベクトルを、前記外部メモリから前記バッファに転送するよう前記転送手段に指示するバッファ転送指示手段と、
    逐次各マクロブロックの動きベクトルを特定するものであり、マクロブロックがダイレクトモードで符号化されていた場合に、前記バッファに保持されている動きベクトルに基づいて当該マクロブロックの動きベクトルを計算して特定する復号化手段と、
    特定した動きベクトルを前記外部メモリに転送するよう前記転送手段に指示する外部メモリ転送指示手段とを備える
    ことを特徴とする復号化装置。
  4. MPEG(Moving Picture Experts Group)規格に従って符号化されたピクチャを構成する複数のマクロブロックを所定の順番で逐次復号化する復号化回路と、当該復号化回路の外部に存在する外部メモリとを含んで成る復号化システムであって、
    前記復号化回路は、
    前記外部メモリとの間でデータ転送を行う転送手段と、
    マクロブロックの動きベクトルを保持するためのバッファと、
    一のマクロブロックを復号化し終える前に、当該一のマクロブロック以降のマクロブロックがダイレクトモードで符号化されていた場合に参照される別のマクロブロックの動きベクトルを、前記外部メモリから前記バッファに転送するよう前記転送手段に指示するバッファ転送指示手段と、
    逐次各マクロブロックの動きベクトルを特定するものであり、マクロブロックがダイレクトモードで符号化されていた場合に、前記バッファに保持されている動きベクトルに基づいて当該マクロブロックの動きベクトルを計算して特定する復号化手段と、
    特定した動きベクトルを前記外部メモリに転送するよう前記転送手段に指示する外部メモリ転送指示手段とを備える
    ことを特徴とする復号化システム。
JP2006547732A 2004-11-26 2005-11-15 復号化回路、復号化装置、及び復号化システム Active JP4106070B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004342198 2004-11-26
JP2004342198 2004-11-26
PCT/JP2005/020952 WO2006057182A1 (ja) 2004-11-26 2005-11-15 復号化回路、復号化装置、及び復号化システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008004883A Division JP4625096B2 (ja) 2004-11-26 2008-01-11 復号化回路、復号化装置、及び復号化システム

Publications (2)

Publication Number Publication Date
JPWO2006057182A1 JPWO2006057182A1 (ja) 2008-06-05
JP4106070B2 true JP4106070B2 (ja) 2008-06-25

Family

ID=36497920

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006547732A Active JP4106070B2 (ja) 2004-11-26 2005-11-15 復号化回路、復号化装置、及び復号化システム
JP2008004883A Active JP4625096B2 (ja) 2004-11-26 2008-01-11 復号化回路、復号化装置、及び復号化システム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2008004883A Active JP4625096B2 (ja) 2004-11-26 2008-01-11 復号化回路、復号化装置、及び復号化システム

Country Status (4)

Country Link
US (1) US8649439B2 (ja)
JP (2) JP4106070B2 (ja)
CN (2) CN101065973B (ja)
WO (1) WO2006057182A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9743079B2 (en) 2012-02-07 2017-08-22 Panasonic Intellectual Property Management Co., Ltd. Image processing apparatus and image processing method for the collective transfer of prediction parameters between storage units

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9001893B2 (en) * 2009-05-13 2015-04-07 Panasonic Intellectual Property Management Co., Ltd. Image decoding apparatus, integrated circuit, image decoding method, and image decoding system
JP5387520B2 (ja) * 2010-06-25 2014-01-15 ソニー株式会社 情報処理装置と情報処理方法
KR101961889B1 (ko) 2011-02-09 2019-03-25 엘지전자 주식회사 움직임 정보 저장 방법 및 이를 이용한 시간적 움직임 벡터 예측자 유도 방법
JP5768510B2 (ja) * 2011-06-06 2015-08-26 富士通株式会社 動画像符号化方法および動画像符号化装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07236117A (ja) * 1994-02-24 1995-09-05 Nec Corp 画像処理装置
US5974184A (en) * 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
US6791625B1 (en) 1998-12-15 2004-09-14 Matsushita Electric Industrial Co., Ltd. Video processing apparatus for performing address generation and control, and method therefor
WO2000043868A1 (en) 1999-01-20 2000-07-27 Hitachi, Ltd. Data processor and device for arithmetic operation
US6850568B1 (en) * 2000-01-12 2005-02-01 Sony Corporation Method and apparatus for decoding mpeg video signals
ES2602202T3 (es) * 2001-11-06 2017-02-20 Panasonic Intellectual Property Corporation Of America Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
JP2004088722A (ja) 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
JP2003259377A (ja) 2002-03-06 2003-09-12 Matsushita Electric Ind Co Ltd 動画像符号化方法、動画像復号化方法および符号列フォーマット
JP2004007563A (ja) * 2002-04-19 2004-01-08 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
KR100491530B1 (ko) * 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
JP2004040512A (ja) 2002-07-03 2004-02-05 Matsushita Electric Ind Co Ltd 画像符号化方法および画像復号方法
KR100693669B1 (ko) * 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
CN1194544C (zh) * 2003-04-25 2005-03-23 北京工业大学 基于时空域相关性运动矢量预测的视频编码方法
US8731054B2 (en) * 2004-05-04 2014-05-20 Qualcomm Incorporated Method and apparatus for weighted prediction in predictive frames

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9743079B2 (en) 2012-02-07 2017-08-22 Panasonic Intellectual Property Management Co., Ltd. Image processing apparatus and image processing method for the collective transfer of prediction parameters between storage units

Also Published As

Publication number Publication date
CN101980540A (zh) 2011-02-23
CN101065973A (zh) 2007-10-31
CN101980540B (zh) 2012-04-25
WO2006057182A1 (ja) 2006-06-01
CN101065973B (zh) 2011-01-12
JP2008141782A (ja) 2008-06-19
JP4625096B2 (ja) 2011-02-02
JPWO2006057182A1 (ja) 2008-06-05
US8649439B2 (en) 2014-02-11
US20080008244A1 (en) 2008-01-10

Similar Documents

Publication Publication Date Title
JP4752631B2 (ja) 画像符号化装置、及び画像符号化方法
US9332264B2 (en) Configurable performance motion estimation for video encoding
US9699451B2 (en) Motion estimation compatible with multiple standards
US20070071099A1 (en) External memory device, method of storing image data for the same, and image processor using the method
JP5426655B2 (ja) 圧縮動画符号化装置、圧縮動画復号化装置、圧縮動画符号化方法および圧縮動画復号化方法
JP4625096B2 (ja) 復号化回路、復号化装置、及び復号化システム
JP2011151430A (ja) 画像処理装置およびそれを搭載した撮像装置
JP4774315B2 (ja) 画像復号化装置及び画像復号化方法
JP5496047B2 (ja) 画像再生方法、画像再生装置、画像再生プログラム、撮像システム、および再生システム
US8565315B2 (en) Image decoding device and image decoding method
JP2010288166A (ja) 動画像符号化装置、放送波記録装置及び、プログラム
JP2012085001A5 (ja)
US20140105306A1 (en) Image processing apparatus and image processing method
JP4822940B2 (ja) 画像処理装置及び画像処理方法
JPH11298903A (ja) ディジタル画像復号装置及び方法、並びに提供媒体
JP7359653B2 (ja) 動画像符号化装置
US20130156114A1 (en) Data Movement Reduction In Video Compression Systems
TWI520618B (zh) 影像資料處理方法以及影像處理裝置
JP2823809B2 (ja) 画像復号化方法及び画像復号化装置
KR100708183B1 (ko) 움직임 추정을 위한 영상 데이터 저장 장치 및 그 데이터저장 방법
JP5867050B2 (ja) 画像処理装置
JP3262464B2 (ja) 画像復号化装置
JP2009290387A (ja) エンコーダ、デコーダ、及び記録再生装置
JPH11341521A (ja) ステレオ動画像用符号化装置
TW202345600A (zh) 用於仿射預測或運動補償的共享預加載區域的方法和裝置

Legal Events

Date Code Title Description
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: 20080304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080328

R150 Certificate of patent or registration of utility model

Ref document number: 4106070

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110404

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120404

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130404

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130404

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140404

Year of fee payment: 6