JP5468604B2 - 画像復号装置、集積回路、画像復号方法及び画像復号システム - Google Patents
画像復号装置、集積回路、画像復号方法及び画像復号システム Download PDFInfo
- Publication number
- JP5468604B2 JP5468604B2 JP2011513228A JP2011513228A JP5468604B2 JP 5468604 B2 JP5468604 B2 JP 5468604B2 JP 2011513228 A JP2011513228 A JP 2011513228A JP 2011513228 A JP2011513228 A JP 2011513228A JP 5468604 B2 JP5468604 B2 JP 5468604B2
- Authority
- JP
- Japan
- Prior art keywords
- macroblock
- motion vector
- unit
- wth
- decoding
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 167
- 239000013598 vector Substances 0.000 claims description 290
- 238000012546 transfer Methods 0.000 claims description 126
- 239000000872 buffer Substances 0.000 claims description 67
- 238000004364 calculation method Methods 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 description 135
- 238000012545 processing Methods 0.000 description 127
- 238000010586 diagram Methods 0.000 description 20
- 238000013139 quantization Methods 0.000 description 20
- 230000015572 biosynthetic process Effects 0.000 description 19
- 238000003860 storage Methods 0.000 description 19
- 238000003786 synthesis reaction Methods 0.000 description 19
- 230000003287 optical effect Effects 0.000 description 18
- 230000006835 compression Effects 0.000 description 13
- 238000007906 compression Methods 0.000 description 13
- 230000005236 sound signal Effects 0.000 description 13
- 230000010354 integration Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 239000004065 semiconductor Substances 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/436—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/127—Prioritisation of hardware or computational resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/43—Hardware specially adapted for motion estimation or compensation
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
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
本発明は、符号化されたピクチャを構成する複数のマクロブロックを所定の順番で順次復号する画像復号装置、集積回路、画像復号方法及び画像復号システムに関する。
近年、マルチメディアアプリケーションの発展に伴い、動画像・静止画像・音声・テキストなどのコンテンツを統一的に扱うことが一般的になってきた。この時、全てのコンテンツをディジタル化することにより、統一的にコンテンツを扱うことが可能になる。しかしながら、ディジタル化された画像は膨大なデータ量を持つため、蓄積・伝送のためには、動画像の情報圧縮技術が不可欠である。
その一方で、圧縮した動画像データを相互運用するためには、圧縮技術の標準化も重要である。以下においては、動画像圧縮技術の標準規格を、動画像圧縮標準規格という。動画像圧縮標準規格には、例えば、ITU−T(国際電気通信連合 電気通信標準化部門)のH.261、H.263などがある。また、動画像圧縮標準規格には、ISO/IEC(国際標準化機構 国際電気標準会議)のMPEG(Moving Picture Experts Group)−1、MPEG2、MPEG4などがある。また、動画像圧縮標準規格には、ITU−TとMPEGの合同であるJVT(Joint Video Team)のH.264/AVC(MPEG4−AVC)などがある。
このような動画像圧縮標準規格では、1つのピクチャを所定画素数のブロック(輝度成分:16画素×16画素)に分割し、当該ブロック単位で復号処理または符号化処理が行われる。この処理単位となるブロックをマクロブロックという。
また、動画像圧縮技術によっては、1つのマクロブロックを、さらに、所定画素数のサブブロック(輝度成分:8画素×8画素)に分割し、当該サブブロック単位で復号方法または符号化方法を切り替えることが可能である。この処理単位となるサブブロックをサブマクロブロックという。以下においては、マクロブロックまたはサブマクロブロックを総括的に、マクロブロックという。
一般に、動画像圧縮符号化の重要な処理に、動画像を構成する連続した複数のピクチャ(画面)における時間方向の冗長性を削減することにより情報量の圧縮を行う動き補償面間予測がある。以下においては、符号化対象ピクチャの符号化において、参照されるピクチャを参照ピクチャという。
動き補償面間予測は、符号化対象ピクチャ内のマクロブロックが、参照ピクチャ内のどの方向にどの程度動いたかを検出して、予測画像の作成を行い、得られた予測画像と符号化対象ピクチャとの差分値に対して符号化を行う手法である。当該参照ピクチャは、表示順で符号化対象ピクチャの前方または後方のピクチャである。
符号化対象ピクチャ内のマクロブロックが、参照ピクチャ内のどの方向にどの程度動いたかを示す情報を動きベクトルという。
参照ピクチャを使用せずに、面内予測符号化が行われるピクチャをIピクチャと呼ぶ。また、1枚の参照ピクチャのみを参照することにより、動き補償面間予測符号化が行われるピクチャをPピクチャと呼ぶ。同時に2枚の参照ピクチャを参照して、動き補償面間予測符号化が行われるピクチャをBピクチャと呼ぶ。
参照ピクチャはマクロブロックごとに指定することができる。符号化されたビットストリームにおいて、表示順で、符号化対象ピクチャの前の参照ピクチャを第1参照ピクチャという。また、符号化されたビットストリームにおいて、表示順で、符号化対象ピクチャの後の参照ピクチャを第2参照ピクチャという。
Bピクチャの符号化を行う際、Bピクチャを構成するマクロブロックが「ダイレクトモード」と呼ばれる符号化モードで符号化されることがある。ダイレクトモードとは、動きベクトルを符号化せずに、過去に符号化された他のマクロブロックの動きベクトルを用いて、マクロブロック毎に動きベクトルを算出する符号化方法(符号化モード)である。
以下においては、ダイレクトモードで符号化されているマクロブロックの動きベクトルを算出するために参照対象となるピクチャを、co−locatedピクチャという。また、以下においては、co−locatedピクチャにおいて、符号化対象のマクロブロックと同じ空間位置にあるマクロブロックをco−locatedマクロブロックという。
具体的には、マクロブロックがダイレクトモードで符号化されていた場合、co−locatedマクロブロックの動きベクトルを用いて、当該マクロブロックの動きベクトルの計算が行われる。
ダイレクトモードで符号化されたマクロブロックを復号する従来の処理について、図14を参照しながら説明する。
まず、前提として、ダイレクトモードで符号化されたマクロブロックを、将来復号することに備えて、H.264/AVCでは、ピクチャ内の各マクロブロックを順次復号する際に、復号された各マクロブロックの動きベクトルを一定量記憶しておくようになっている。
例えば、H.264/AVCの1仕様によれば、最大32枚のピクチャの動きベクトルを記憶しておくようになっている。1ピクチャが8160個のマクロブロックで構成されているとすると、合計261120個のマクロブロックの動きベクトルを記憶しておく必要がある。
これだけ大量の動きベクトルを画像復号装置内に記憶しておくには通常のバッファでは容量不足であり、現実的ではない。そのため、復号された各マクロブロックの動きベクトルを、復号を行う画像復号装置外にあるDRAM(Dynamic Random Access Memory)等のメモリに記憶しておくのが一般的である。
以下においては、マクロブロックを、MBと表記することがある。また、以下においては、動きベクトルを、mvと表記することがある。
ここで、図14に示すように、MB復号処理では、Bピクチャのマクロブロックを復号する際、まず、当該マクロブロックのヘッダに示されるマクロブロックタイプが参照され、当該マクロブロックがダイレクトモードで符号化されているか否かが判定される(S3000)。
ダイレクトモードで符号化されていた場合、参照する他のマクロブロックの動きベクトルを外部メモリから取得するためのDMA(Direct Memory Access)指示が、図示しないDMAコントローラに送信される(S3001)。そして、ステップS3002の動きベクトル算出処理により、外部メモリから転送された動きベクトルを用いて、当該マクロブロックの動きベクトルが算出される。
ところが、図14に示したような従来の手法では、マクロブロックがダイレクトモードで符号化されていることが判定された(S3000)後で、外部メモリにアクセスされ(S3001)、必要となる他のマクロブロックの動きベクトルが取得される。
すなわち、外部メモリから画像復号装置内へ動きベクトルの転送が必要なため、図14の矢印で示すように待ち時間がかかってしまい、その結果、Bピクチャのマクロブロックを復号するのに必要な時間Tが長くなってしまうという課題がある。
この課題を解決する技術として、例えば特許文献1の動画像復号装置がある。以下、特許文献1における従来の画像復号装置について図15を用いて説明する。
以下においては、s(1以上の整数)番目のマクロブロックに対応するco−locatedマクロブロックを、s番目用co−locatedマクロブロックという。s番目用co−locatedマクロブロックとは、s番目のマクロブロックの動きベクトルの算出の際に使用される動きベクトルに対応するマクロブロックである。
例えば、sが“n+1”である場合、n+1番目のマクロブロックに対応するco−locatedマクロブロックを、n+1番目用co−locatedマクロブロックという。
図15において、MB(n)ヘッダ処理とは、n番目のマクロブロックのヘッダを参照して行われる処理を示す。また、MB(n)復号処理とは、n番目のマクロブロックを復号する処理を示す。また、動きベクトル算出(n)とは、n番目のマクロブロックの動きベクトルを算出する処理を示す。
また、転送指示#(n+1)送信とは、n+1番目用co−locatedマクロブロックの動きベクトルをバッファへ転送させるための転送指示が送信される処理を示す。また、mv#(n+1)転送とは、n+1番目用co−locatedマクロブロックの動きベクトルが、バッファへ転送されることにより、バッファに記憶される処理を示す。
また、図15において、mvColが不要な場合とは、処理対象のマクロブロックの次のマクロブロックがダイレクトモードで符号化されていない場合である。mvColが必要な場合とは、処理対象のマクロブロックの次のマクロブロックがダイレクトモードで符号化されている場合である。また、時間T1,T2は、対応するマクロブロックが復号されるのに要する時間である。
特許文献1における画像復号装置は、図15に示すように、n番目のマクロブロックの復号処理(S4000)と、n+1番目用co−locatedマクロブロックの動きベクトルがバッファへ転送される処理(S4001)とが並列して実行される。
これより、n+1番目のマクロブロックがダイレクトモードで符号化されていた場合、時間(期間)T2において、n+1番目のマクロブロックを復号する際に、すぐにバッファに記憶されているn+1番目用co−locatedマクロブロックの動きベクトルを用いて動きベクトルを算出することができる(S4002)。
その結果、n+1番目のマクロブロックを復号するのに要する時間T2が短縮される。この並列処理は、n番目、n+1番目、n+2番目、・・・、(n+x)番目のマクロブロックに対しても同様に行われる。n+x番目のマクロブロックは、ストリームに含まれる最後のマクロブロックである。したがって、どのマクロブロックに対しても同様の効果を奏する。
このように、先行的に動きベクトルを取得しておくことにより、外部メモリに対するアクセスレイテンシが大きくても、演算性能に対する影響をなくすことが可能となる。
ITU−T勧告 H.264 「Advanced Video Coding for Generic Audiovisual Services」
しかしながら、前記従来の画像復号装置では、復号対象のマクロブロックがダイレクトモードで符号化されているか否かにかかわらず、常に外部メモリからco−locatedマクロブロックの動きベクトルがバッファへ転送される。そのため、従来の画像復号装置では、復号対象のマクロブロックがダイレクトモードで符号化されていない場合、外部メモリへの不要なメモリアクセスが発生するという問題がある。
本発明は、上述の問題点を解決するためになされたものであって、その目的は、外部メモリへの不要なメモリアクセスを削減することを可能とした、画像復号装置、集積回路、画像復号方法、及び、画像復号システムを提供することである。
上述の課題を解決するために、この発明のある局面に従う画像復号装置は、符号化されたピクチャを構成する複数のマクロブロックを所定の順番で順次復号する。画像復号装置は、各前記マクロブロックに対応するco−locatedマクロブロックの動きベクトルを記憶する外部メモリとデータ通信を行う転送部と、バッファと、前記複数のマクロブロックを、順次復号する第1復号部と、前記第1復号部によるv(1以上の整数)番目のマクロブロックの復号が終了する前に、w(w≧v+1)番目のマクロブロックに対応する符号化された判定情報であって、該w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定するための判定情報を少なくとも復号する第2復号部と、復号された前記判定情報から、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定する判定部とを備える。前記転送部は、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要である場合、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送し、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要でない場合、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送しない。
すなわち、転送部は、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要である場合、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送する。また、転送部は、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要でない場合、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送しない。
つまり、転送部は、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要でない場合、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送しない。
したがって、外部メモリへの不要なメモリアクセスを低減することができる。
また、好ましくは、前記画像復号装置は、さらに、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要である場合、前記バッファに転送された前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを用いて前記w番目のマクロブロックの動きベクトルを算出する算出部を備え、前記転送部は、算出された前記w番目のマクロブロックの動きベクトルを、前記外部メモリへ転送する。
また、好ましくは、前記転送部は、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが前記w番目のマクロブロックの動きベクトルの算出に必要である場合、前記v番目のマクロブロックの復号が行われている期間において、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリからバッファへ転送し、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが前記w番目のマクロブロックの動きベクトルの算出に必要でない場合、前記v番目のマクロブロックの復号が行われている期間において、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリからバッファへ転送しない。
また、好ましくは、前記第2復号部は、前記判定情報のみを復号する。
また、好ましくは、前記第2復号部は、復号された前記判定情報を、前記第1復号部へ送信する。
また、好ましくは、前記第1復号部は、前記w番目のマクロブロックのうち、前記第2復号部により復号された前記判定情報以外の部分を復号する。
また、好ましくは、前記判定情報は、前記w番目のマクロブロックがダイレクトモードで符号化されているか否かを示す。
また、好ましくは、前記判定情報は、前記w番目のマクロブロックがスキップトマクロブロックであるか否かを示す。
また、好ましくは、前記判定情報は、前記w番目のマクロブロックがインターマクロブロックであるか否かを示す。
また、好ましくは、前記複数のマクロブロックの各々は、H.264/AVCに従って符号化されたマクロブロッである。
この発明の他の局面に従う集積回路は、符号化されたピクチャを構成する複数のマクロブロックを所定の順番で順次復号する。集積回路は、各前記マクロブロックに対応するco−locatedマクロブロックの動きベクトルを記憶する外部メモリとデータ通信を行う転送部と、バッファと、前記複数のマクロブロックを、順次復号する第1復号部と、前記第1復号部によるv(1以上の整数)番目のマクロブロックの復号が終了する前に、w(w≧v+1)番目のマクロブロックに対応する符号化された判定情報であって、該w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定するための判定情報を少なくとも復号する第2復号部と、復号された前記判定情報から、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定する判定部とを備える。前記転送部は、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要である場合、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送し、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要でない場合、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送しない。
この発明のさらに他の局面に従う画像復号方法は、符号化されたピクチャを構成する複数のマクロブロックを所定の順番で順次復号する画像復号装置が行う。前記画像復号装置は、各前記マクロブロックに対応するco−locatedマクロブロックの動きベクトルを記憶する外部メモリとデータ通信を行う転送部と、バッファと、前記複数のマクロブロックを、順次復号する第1復号部と、前記第1復号部によるv(1以上の整数)番目のマクロブロックの復号が終了する前に、w(w≧v+1)番目のマクロブロックに対応する符号化された判定情報であって、該w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定するための判定情報を少なくとも復号する第2復号部とを備える。前記画像復号方法は、復号された前記判定情報から、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定するステップと、前記転送部が、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要である場合、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送するステップとを含み、前記転送部は、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要でない場合、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送しない。
この発明のさらに他の局面に従う画像復号システムは、符号化されたピクチャを構成する複数のマクロブロックを所定の順番で順次復号する画像復号装置と、外部メモリとを含む。前記外部メモリは、各前記マクロブロックに対応するco−locatedマクロブロックの動きベクトルを記憶しており、前記画像復号装置は、前記外部メモリとデータ通信を行う転送部と、バッファと、前記複数のマクロブロックを、順次復号する第1復号部と、前記第1復号部によるv(1以上の整数)番目のマクロブロックの復号が終了する前に、w(w≧v+1)番目のマクロブロックに対応する符号化された判定情報であって、該w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定するための判定情報を少なくとも復号する第2復号部と、復号された前記判定情報から、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定する判定部とを備え、前記転送部は、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要である場合、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送し、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要でない場合、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送しない。
なお、本発明は、このような画像復号装置を構成する複数の構成要素の全てまたは一部を、システムLSI(Large Scale Integration:大規模集積回路)として実現してもよい。
また、本発明は、画像復号装置が備える特徴的な構成部の動作をステップとする画像復号方法として実現してもよい。また、本発明は、そのような画像復号方法に含まれる各ステップをコンピュータに実行させるプログラムとして実現してもよい。また、本発明は、そのようなプログラムを格納するコンピュータ読み取り可能な記録媒体として実現されてもよい。また、当該プログラムは、インターネット等の伝送媒体を介して配信されてもよい。
本発明により、外部メモリへの不要なメモリアクセスを低減することができる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は、本発明の実施の形態1における画像復号システム1000の構成を示すブロック図である。
図1は、本発明の実施の形態1における画像復号システム1000の構成を示すブロック図である。
図1において、画像復号システム1000は、画像復号装置100と、外部メモリ200と、記憶媒体300と、受信部400とを含む。
外部メモリ200は、画像復号装置100に接続されている。外部メモリ200は、作業領域として使用されるDRAM等の書き込み可能なメモリである。外部メモリ200は、画像復号装置100が、後述する復号処理を実行する上で必要となるデータを一時的に記憶する。
以下においては、動画像圧縮標準規格に準じて符号化された動画像データを、ストリームという。動画像圧縮標準規格は、H.264/AVC(MPEG4−AVC)である。すなわち、当該ストリームは、可変長符号化された動画像データである。当該ストリームは、動画像に対応する、符号化された各ピクチャを構成する複数のマクロブロックを含む。
なお、動画像圧縮標準規格は、H.264/AVCに限定されず、MPEG4、MPEG2、MPEG−1、H.263、H.261等であってもよい。
記憶媒体300は、HDD(Hard Disk Drive)等の大容量記憶媒体である。記憶媒体300は、ストリームを記憶している。当該ストリームは、例えば、テレビ番組が録画されることにより得られるストリームである。
受信部400は、デジタルチューナー等である。受信部400は、ストリームを受信する。当該ストリームは、例えば、放送局が送信する放送波としてのストリーム、インターネットからダウンロードされたストリーム等である。
画像復号装置100は、ストリームの復号を行う装置または集積回路である。外部メモリ200には、記憶媒体300、または、受信部400から受信するストリームが記憶される。画像復号装置100は、外部メモリ200に記憶されるストリームを受信し、当該ストリームを復号する。
画像復号装置100は、第1復号部111と、第2転送指示部120と、第2復号部121と、判定部122と、mv転送指示部123と、mv保持メモリ124と、mv算出部131と、mv転送指示部132と、参照画像転送指示部133と、逆直交変換部151と、逆量子化部152と、面内予測処理部142と、動き補償処理部141と、予測画像選択部143と、復号画像合成部161と、デブロックフィルタ処理部162と、復号画像転送指示部163と、DMAコントローラ130とを備える。
DMAコントローラ130は、外部メモリ200とデータ通信を行う転送部である。
第2転送指示部120は、外部メモリ200に記憶されているストリームを第2復号部121へ転送させるための指示を、DMAコントローラ130へ送信する。
第2復号部121は、詳細は後述するが、マクロブロックのヘッダのみを復号する。当該ヘッダには、マクロブロックタイプが示される。第2復号部121は、マクロブロックタイプを、判定部122へ送信する。
判定部122は、第2復号部121が送信したマクロブロックタイプを受信する。そして、判定部122は、マクロブロックタイプを参照することにより、マクロブロックがダイレクトモードで符号化されているか否かを判定する。
本実施の形態では、ダイレクトモードが時間ダイレクトモードである場合の処理について説明する。
判定部122は、詳細は後述するが、マクロブロックがダイレクトモードで符号化されていた場合、co−locatedマクロブロックの動きベクトルを取得ためのベクトル取得指示を、mv転送指示部123へ送信する。
mv転送指示部123は、詳細は後述するが、判定部122から、ベクトル取得指示を受信すると、外部メモリ200に記憶されているco−locatedマクロブロックの動きベクトルをmv保持メモリ124へ転送させるため処理を行う。
mv保持メモリ124は、一時的にデータを記憶するためのバッファである。mv保持メモリ124は、co−locatedマクロブロックの動きベクトルを少なくとも1つ記憶できる容量を有する。詳細は後述するが、mv保持メモリ124は、DMAコントローラ130から送信される、co−locatedマクロブロックの動きベクトルを一時的に記憶する。
第1復号部111は、詳細は後述するが、マクロブロックを可変長復号することにより、当該マクロブロックのヘッダ、及び画素残差周波数成分を取得する。第1復号部111は、ストリームに含まれる符号化された各ピクチャを構成する複数のマクロブロックを所定の順番で順次復号する。当該複数のマクロブロックの各々は、一例として、H.264/AVCに従って符号化されたマクロブロックである。
ここで、第1復号部111が、v(1以上の整数)番目のマクロブロックを復号するとする。この場合、第2復号部121は、w(w≧v+1)番目のマクロブロックに対して処理を行う。
mv算出部131は、詳細は後述するが、マクロブロックの種類に応じて、異なる方法により、動きベクトルを算出する。
mv転送指示部132は、mv算出部131が算出した動きベクトルを外部メモリ200に記憶させるためのベクトル記憶指示を、DMAコントローラ130へ送信する。
参照画像転送指示部133は、外部メモリ200に記憶されている、mv算出部131が算出した動きベクトルに基づく参照画像を、後述する動き補償処理部141に転送させるための参照画像転送指示を、DMAコントローラ130へ送信する。
逆直交変換部151は、第1復号部111から送信される画素残差周波数成分を逆直行変換することにより、画素残差成分を算出する。
逆量子化部152は、逆直交変換部151が算出した画素残差成分に対し、逆量子化を行うことにより画素残差値を取得する。
以下においては、動き補償が不要なモードで符号化されたマクロブロックを、イントラマクロブロックという。また、以下においては、動き補償を必要とするモードで符号化されたマクロブロックを、インターマクロブロックという。
面内予測処理部142は、処理対象のマクロブロックがイントラマクロブロックである場合、面内予測を行うことにより予測画像を生成する。面内予測処理部142は、生成した予測画像を、予測画像選択部143へ送信する。
動き補償処理部141は、処理対象のマクロブロックがインターマクロブロックである場合、mv算出部131から受信する動きベクトルと、DMAコントローラ130から受信する参照画像とを用いて、動き補償面内予測を行うことにより、予測画像を生成する。
動き補償処理部141は、生成した予測画像を、予測画像選択部143へ送信する。
予測画像選択部143は、マクロブロックがインターマクロブロックである場合、動き補償処理部141から受信する予測画像を、後述する復号画像合成部161へ送信する。また、予測画像選択部143は、マクロブロックがイントラマクロブロックである場合、面内予測処理部142から受信する予測画像を、後述する復号画像合成部161へ送信する。
復号画像合成部161は、予測画像選択部143から受信する予測画像と、逆量子化部152から受信する画素残差値とを足し合わせることにより、復号画像を生成する。
デブロックフィルタ処理部162は、復号画像合成部161から受信する復号画像に対しデブロックフィルタ処理を行う。
復号画像転送指示部163は、詳細は後述するが、デブロックフィルタ処理された復号画像を外部メモリ200に記憶させるための処理を行う。
次に、画像復号システム1000が行う処理(以下、復号処理という)について説明する。ここで、外部メモリ200には、符号化された動画像データ(ストリーム)が記憶されているとする。ストリームは、動画像に対応する、符号化された各ピクチャを構成する複数のマクロブロックを含む。また、外部メモリ200は、符号化されたピクチャを構成する複数のマクロブロックの各々に対応するco−locatedマクロブロックの動きベクトルを記憶しているとする。
図2は、復号処理のフローチャートである。
図2に示すように、画像復号装置100において、まず、ストリーム転送処理が実行される(S101)。ストリーム転送処理は、他の処理とは独立して行われる処理である。
ストリーム転送処理では、第2転送指示部120が、DMAコントローラ130に対して、外部メモリ200に記憶されているストリームを第2復号部121へ転送させるためのストリーム転送指示を、DMAコントローラ130へ送信する。
DMAコントローラ130は、当該ストリーム転送指示を受信すると、外部メモリ200からストリームを読み出し、当該ストリームを、第2復号部121へ転送する。
そして、第2復号部121は、受信しているストリームから、n番目およびn+1番目のマクロブロックを取得する(S102)。
なお、第2復号部121は、n番目およびn+1番目のマクロブロックの取得の際に、n番目およびn+1番目のマクロブロックを含むスライスデータの一部を復号することにより、スキップトマクロブロックを特定する情報(以下、スキップ情報という)を取得する。
なお、第2復号部121が取得するマクロブロックは、n番目およびn+1番目のマクロブロックに限定されない。例えば、第2復号部121が取得するマクロブロックは、n番目およびn+p(2以上の整数)番目のマクロブロックであってもよい。
第2復号部121は、n+1番目のマクロブロックのヘッダのみを復号する。これにより、第2復号部121は、n+1番目のマクロブロックのヘッダを取得する(S120)。取得された当該ヘッダには、マクロブロックタイプおよびブロック情報等が示される。
当該マクロブロックタイプは、対応するマクロブロックの符号化モードを示す。当該符号化モードは、例えば、ダイレクトモードである。ブロック情報は、対応するマクロブロックが、インターマクロブロック、イントラマクロブロックのいずれであるかを示す情報である。
そして、第2復号部121は、判定情報としての前述のスキップ情報と、判定情報としてのマクロブロックタイプおよびブロック情報とを、判定部122へ送信する。
ここで、第1復号部111は、v(1以上の整数)番目のマクロブロックを復号するとする。この場合、前述したように、第2復号部121は、w(w≧v+1)番目のマクロブロックに対して処理を行う。この場合、判定情報は、w番目のマクロブロックに対応する符号化された情報である。
判定情報は、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定するための情報である。
すなわち、第2復号部121は、ステップS120の処理により、判定情報としてのn+1番目のマクロブロックのヘッダのみを復号する。また、第2復号部121は、前述したように、符号化されたスライスデータの一部である判定情報としてのスキップ情報を復号する。
ステップS121では、第2復号部121が、取得したn番目およびn+1番目のマクロブロックのうちのn番目のマクロブロックと、復号された判定情報とを、第1復号部111へ送信する。当該復号された判定情報は、前述のスキップ情報、n+1番目のマクロブロックのヘッダである。当該ヘッダには、マクロブロックタイプおよびブロック情報等が示される。
これにより、第1復号部111は、n番目のマクロブロックと、判定情報(スキップ情報、マクロブロックのヘッダ)とを受信することにより取得する(S110)。
判定部122は、n+1番目のマクロブロックがスキップの対象であるか否かを判定する。具体的には、判定部122は、受信した判定情報としてのスキップ情報が、n+1番目のマクロブロックがスキップトマクロブロックであることを示すか否かを判定する(S122)。すなわち、判定情報は、w番目のマクロブロックがスキップトマクロブロックであるか否かを示す。
ステップS122でYESならば、処理はステップS124に移行する。一方、ステップS122でNOならば処理はステップS123に移行する。
判定部122は、受信した判定情報としてのスキップ情報が、n+1番目のマクロブロックがスキップトマクロブロックであることを示す場合(S122でYES)、ステップS124の処理が行われる。
ステップS123では、判定部122が、第2復号部121が送信した、判定情報としてのマクロブロックタイプを参照し、n+1番目のマクロブロックがダイレクトモードで符号化されているか否かを判定する。マクロブロックタイプは、対応するマクロブロックの符号化モードを示す。当該符号化モードは、例えば、ダイレクトモードである。すなわち、判定情報は、w番目のマクロブロックがダイレクトモードで符号化されているか否かを示す。
ステップS123でYESならば処理はステップS124に移行する。一方、ステップS123でNOならば、処理は後述のステップS154に移行する。
すなわち、ステップS122,S123の処理は、判定部122が、復号された判定情報から、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定するための処理である。
ステップS124では、判定部122が、n+1番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを取得するためのベクトル取得指示を、mv転送指示部123へ送信する。n+1番目のマクロブロックに対応するco−locatedマクロブロックとは、n+1番目用co−locatedマクロブロックである。
mv転送指示部123は、受信したベクトル取得指示に従って、n+1番目用co−locatedマクロブロックの動きベクトルを取得するための処理を行う。
具体的には、mv転送指示部123は、外部メモリ200に記憶されている、n+1番目用co−locatedマクロブロックの動きベクトルをmv保持メモリ124へ転送させるためのベクトル転送指示を、DMAコントローラ130へ送信する。
DMAコントローラ130は、当該ベクトル転送指示を受信すると、外部メモリ200から、n+1番目用co−locatedマクロブロックの動きベクトルを読出し、当該n+1番目用co−locatedマクロブロックの動きベクトルを、mv保持メモリ124へ転送する。これにより、mv保持メモリ124にn+1番目用co−locatedマクロブロックの動きベクトルが記憶される。
すなわち、転送部としてのDMAコントローラ130は、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要である場合、当該w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、外部メモリ200からバッファとしてのmv保持メモリ124へ転送する。
一方、ステップS122でNO、かつ、ステップS123でNOの場合、すなわち、n+1番目のマクロブロックがスキップトマクロブロックでなく、かつ、n+1番目のマクロブロックがダイレクトモードで符号化されていない場合、mv転送指示部123は何もしない。n+1番目のマクロブロックがスキップトマクロブロックでなく、かつ、n+1番目のマクロブロックがダイレクトモードで符号化されていない場合は、n+1番目用co−locatedマクロブロックの動きベクトルがn+1番目のマクロブロックの動きベクトルの算出に必要でない場合である。
つまり、転送部としてのDMAコントローラ130は、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要でない場合、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、外部メモリ200からバッファとしてのmv保持メモリ124へ転送しない。
上記ステップS121〜S124の処理と並行して、ステップS111〜S114の処理が行われる。
ステップS111では、第1復号部111が、MB復号処理を実行する。MB復号処理は、他の処理とは、独立して行われる処理である。そして、処理はステップS112に移行する。
MB復号処理では、第1復号部111が、取得したn番目のマクロブロックを復号する。なお、ステップS120の処理により、n番目のマクロブロックのヘッダが既に復号されている場合、MB復号処理では、第1復号部111が、n番目のマクロブロックのうち、ヘッダ以外の部分を復号する。すなわち、第1復号部111は、w番目のマクロブロックのうち、第2復号部121により復号された判定情報としてのヘッダ以外の部分を復号する。
n番目のマクロブロックの復号の終了とともに、MB復号処理は終了する。
MB復号処理により、第1復号部111は、画素残差周波数成分を取得する。
なお、第1復号部111は、前回のステップS121の処理が行われることにより、判定情報としてのn番目のマクロブロックのヘッダを取得しているとする。前回のステップS121の処理とは、ステップS121の処理の説明においてnをn−1に置き換えた処理である。
そして、第1復号部111は、画素残差周波数成分を、逆直交変換部151へ送信する。また、第1復号部111は、n番目のマクロブロックのヘッダを、面内予測処理部142へ送信する。
ステップS112では、第1復号部111が、取得した判定情報としてのn番目のマクロブロックのヘッダを参照する。そして、第1復号部111は、参照したヘッダに基づいて、n番目のマクロブロックがインターマクロブロックであるか、イントラマクロブロックであるかを判定する。すなわち、第1復号部111は、n番目のマクロブロックがインターマクロブロックであるか否かを判定する。
n番目のマクロブロックがインターマクロブロックである場合(S112でYES)、処理はステップS113に移行する。
ステップS113では、第1復号部111が、n番目のマクロブロックがスキップの対象であるか否かを判定する。具体的には、第1復号部111は、受信した判定情報としてのスキップ情報が、n番目のマクロブロックがスキップトマクロブロックであることを示すか否かを判定する。
ステップS113においてYESならば処理はステップS115Aに移行する。一方、ステップS113において、NOならば処理はステップS114に移行する。
ステップS114では、第1復号部111が、取得した判定情報としてのn番目のマクロブロックのヘッダが示すマクロブロックタイプを参照することにより、n番目のマクロブロックがダイレクトモードで符号化されているか否かを判定する。
ここで、前回のステップS102〜S124の処理が既に行われているとする。前回のステップS102〜S124の処理とは、前述のステップS102〜S124の処理の説明においてnをn−1に置き換えた処理である。この場合、前回のステップS124の処理により、mv保持メモリ124には、n番目用co−locatedマクロブロックの動きベクトルが記憶されているとする。
ステップS115Aでは、mv算出部131が、mv保持メモリ124に記憶されているn番目用co−locatedマクロブロックの動きベクトルを用いて、n番目のマクロブロックの動きベクトルを算出する。そして、mv算出部131は、算出した動きベクトルを、mv転送指示部132、参照画像転送指示部133および動き補償処理部141へ送信する。
一方、ステップS113でNO,かつ、ステップS114でNOの場合、すなわち、n番目のマクロブロックがスキップトマクロブロックでなく、かつ、n番目のマクロブロックがダイレクトモードで符号化されていないと判定された場合は、ステップS115Bの処理が行われる。
ステップS115Bでは、mv算出部131が、n番目のマクロブロックのヘッダに含まれる動きベクトルの差分情報を用いて、動きベクトルを算出する。
そして、mv算出部131は、算出した動きベクトルを、mv転送指示部132、参照画像転送指示部133および動き補償処理部141へ送信する。
mv転送指示部132は、ステップS115AまたはステップS115Bで算出された動きベクトルを外部メモリ200に記憶させるためのベクトル記憶指示を、算出された動きベクトルとともに、DMAコントローラ130へ送信する。
DMAコントローラ130は、当該動きベクトルおよびベクトル記憶指示を受信すると、当該動きベクトルと、n番目のマクロブロックのピクチャ内の空間的な位置情報とを対応付けて外部メモリ200に転送する(S131)。これにより、外部メモリ200に、動きベクトルとn番目のマクロブロックのピクチャ内の空間的な位置情報とが対応づけて記憶される。
そして、参照画像転送指示部133は、外部メモリ200に記憶されている、mv算出部131から送信された動きベクトルに基づく参照画像を、動き補償処理部141に転送させるための参照画像転送指示を、DMAコントローラ130へ送信する(S132)。
DMAコントローラ130は、当該参照画像転送指示を受信すると、外部メモリ200から、指示された参照画像を読出し、当該参照画像を、動き補償処理部141へ転送する。
動き補償処理部141は、動き補償処理を行う(S133)。動き補償処理では、動き補償処理部141が、mv算出部131から受信する動きベクトルと、DMAコントローラ130から受信する参照画像とを用いて、動き補償面間予測を行うことにより、予測画像を生成する。そして、動き補償処理部141は、生成した予測画像を、予測画像選択部143へ送信する。
予測画像選択部143は、n番目のマクロブロックがインターマクロブロックである場合に動き補償処理部141から受信する予測画像を、復号画像合成部161へ送信する。
逆直交変換部151は、逆直交変換処理を行う(S134)。逆直交変換処理では、逆直交変換部151が、第1復号部111から送信される画素残差周波数成分を逆直行変換することにより、画素残差成分を算出する。そして、逆直交変換部151は、当該画素残差成分を、逆量子化部152へ送信する。
逆量子化部152は、逆量子化処理を行う(S135)。逆量子化処理では、逆量子化部152が、逆直交変換部151から受信する画素残差成分に対し、逆量子化を行うことにより画素残差値を取得する。そして、逆量子化部152は、当該画素残差値を、復号画像合成部161へ送信する。
一方で、ステップS112でNOの場合、すなわち、n番目のマクロブロックがイントラマクロブロックであった場合は、mv算出部131は、n番目のマクロブロックの動きベクトルの値を0とする(ステップS140)。
mv転送指示部132は、n番目のマクロブロックの動きベクトルを、外部メモリ200に記憶させるためのベクトル記憶指示を、DMAコントローラ130へ送信する。
DMAコントローラ130は、ベクトル記憶指示を受信すると、当該動きベクトルと、n番目のマクロブロックのピクチャ内の空間的な位置情報とを対応づけて外部メモリ200へ転送する(S141)。これにより、外部メモリ200に、当該動きベクトルとn番目のマクロブロックのピクチャ内の空間的な位置情報とが対応づけて記憶される。
面内予測処理部142は、面内予測処理を行う(S142)。面内予測処理では、面内予測処理部142が、n番目のマクロブロックの周辺画像から予測画像を生成し、生成した予測画像を、予測画像選択部143へ送信する。
予測画像選択部143は、n番目のマクロブロックがイントラマクロブロックである場合、面内予測処理部142から受信する予測画像を、復号画像合成部161へ送信する。
逆直交変換部151は、逆直交変換処理を行う(S144)。逆直交変換処理では、逆直交変換部151が、第1復号部111から送信される画素残差周波数成分を逆直行変換することにより、画素残差値を算出する。そして、逆直交変換部151は、当該画素残差成分を、逆量子化部152へ送信する。
逆量子化部152は、逆量子化処理を行う(S145)。逆量子化処理では、逆量子化部152が、逆直交変換部151が出力した画素残差値に対し、逆量子化を行うことにより画素残差値を取得する。そして、逆量子化部152は、当該画素残差値を、復号画像合成部161へ送信する。
前述したように、n番目のマクロブロックがイントラマクロブロックである場合、予測画像選択部143は、面内予測処理部142から受信する予測画像を、復号画像合成部161へ送信する。
また、前述したように、n番目のマクロブロックがインターマクロブロックである場合、予測画像選択部143は、動き補償処理部141から受信する予測画像を、復号画像合成部161へ送信する。
また、ステップS135またはステップS145の処理により、復号画像合成部161は、逆量子化部152が送信した画素残差値を受信する。
復号画像合成部161は、復号画像合成処理を行う(S151)。復号画像合成処理では、復号画像合成部161が、受信した画素残差値および予測画像を足し合わせることにより、復号画像を生成する。そして、復号画像合成部161は、生成した復号画像を、デブロックフィルタ処理部162へ送信する。
デブロックフィルタ処理部162は、復号画像合成部161から受信した復号画像に対し、デブロックフィルタ処理を行う(S152)。ここで、デブロックフィルタ処理とは、デブロッキング・フィルタを使用したフィルタ処理である。そして、デブロックフィルタ処理部162は、デブロックフィルタ処理が行われた復号画像を、復号画像転送指示部163へ送信する。
復号画像転送指示部163は、復号画像記憶処理を行う(S153)。復号画像記憶処理では、復号画像転送指示部163が、受信した復号画像を外部メモリ200に記憶させるための復号画像記憶指示を、当該復号画像とともに、DMAコントローラ130へ送信する。
DMAコントローラ130は、復号画像記憶指示を受信すると、受信した復号画像を、外部メモリ200に記憶させる。
そして、nの値が1インクリメントされ(S154)、再度、ステップS102の処理が行われる。
以下に説明するステップS102〜ステップS124の処理、ステップS110〜S114の処理は、前述した説明において、nをn+1に置き換えた処理と同様な処理であるので詳細な説明は繰り返さない。以下、簡単に説明する。
ステップS102の処理により、第2復号部121は、n+1番目およびn+2番目のマクロブロックを取得する。
ステップS120の処理により、第2復号部121は、n+2番目のマクロブロックのヘッダを取得する。
ステップS121の処理により、第2復号部121は、n+1番目のマクロブロックと、復号された判定情報とを、第1復号部111へ送信する。当該復号された判定情報は、スキップ情報、n+2番目のマクロブロックのヘッダである。これにより、第1復号部111は、n+1番目のマクロブロックと、判定情報(スキップ情報、n+2番目のマクロブロックのヘッダ)とを受信することにより取得する(S110)。
そして、ステップS122でYESまたはステップS123でYESの場合、ステップS124の処理が行われる。
ステップS124の処理により、n+2番目用co−locatedマクロブロックの動きベクトルが、mv保持メモリ124へ転送される。これにより、mv保持メモリ124にn+2番目用co−locatedマクロブロックの動きベクトルが記憶される。
上記ステップS121〜S124の処理と並行して、ステップS111〜S114の処理が行われる。
ステップS111の処理で実行されるMB復号処理により、第1復号部111がn+1番目のマクロブロックを復号する。
そして、ステップS112の処理の後、ステップS113でYESまたはステップS114でYESの場合、ステップS115Aの処理が行われる。ここで、ステップS113でYESまたはステップS114でYESの場合は、n+1番目のマクロブロックがスキップトマクロブロックである場合、または、n+1番目のマクロブロックがダイレクトモードで符号化されている場合である。
また、n+1番目のマクロブロックがスキップトマクロブロックである場合、または、n+1番目のマクロブロックがダイレクトモードで符号化されている場合は、n+1番目用co−locatedマクロブロックの動きベクトルがn+1番目のマクロブロックの動きベクトルの算出に必要な場合である。
ステップS115Aの処理により、mv算出部131が、mv保持メモリ124に記憶されているn+1番目用co−locatedマクロブロックの動きベクトルを用いて、n+1番目のマクロブロックの動きベクトルを算出する。
すなわち、mv算出部131は、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要である場合、バッファとしてのmv保持メモリ124に転送されたw番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを用いてw番目のマクロブロックの動きベクトルを算出する。
なお、ステップS131〜S135の処理、ステップS140〜S145の処理、ステップS151〜S153の処理は、前述した説明において、nをn+1に置き換えた処理と同様な処理であるので詳細な説明は繰り返さない。
なお、ステップS131の処理により、転送部としてのDMAコントローラ130は、算出されたw番目のマクロブロックの動きベクトルを、外部メモリ200へ転送する。
以上、本実施の形態によれば、n+1番目のマクロブロックがスキップトマクロブロックである場合、または、n+1番目のマクロブロックがダイレクトモードで符号化されている場合、n+1番目用co−locatedマクロブロックの動きベクトルが、mv保持メモリ124へ転送される。また、当該動きベクトルの転送と並行して、n番目のマクロブロックの復号処理が実行される。
n+1番目のマクロブロックがスキップトマクロブロックである場合、または、n+1番目のマクロブロックがダイレクトモードで符号化されている場合は、n+1番目用co−locatedマクロブロックの動きベクトルがn+1番目のマクロブロックの動きベクトルの算出に必要な場合である。
また、n+1番目のマクロブロックがスキップトマクロブロックでなく、かつ、n+1番目のマクロブロックがダイレクトモードで符号化されていない場合、n+1番目用co−locatedマクロブロックの動きベクトルは、mv保持メモリ124へ転送されない。この場合、n番目のマクロブロックの復号処理のみが実行される。
n+1番目のマクロブロックがスキップトマクロブロックでなく、かつ、n+1番目のマクロブロックがダイレクトモードで符号化されてない場合は、n+1番目用co−locatedマクロブロックの動きベクトルがn+1番目のマクロブロックの動きベクトルの算出に必要でない場合である。
これにより、n+1番目のマクロブロックがスキップトマクロブロックである場合、または、n+1番目のマクロブロックがダイレクトモードで符号化されている場合でも、n+1番目のマクロブロックを復号する際に、すぐにmv保持メモリ124に記憶されているn+1番目用co−locatedマクロブロックの動きベクトルを用いて、n番目のマクロブロックの動きベクトルを算出することができる。
また、n+1番目のマクロブロックがスキップトマクロブロックでなく、かつ、n+1番目のマクロブロックがダイレクトモードで符号化されてない場合、n+1番目用co−locatedマクロブロックの動きベクトルは、外部メモリ200からDMAコントローラ130を介してmv保持メモリ124へ転送されない。よって、外部メモリへの不要なメモリアクセスを低減することができる。
次に、従来の画像復号装置の処理を示す図15を用いて、本実施の形態の処理の効果を説明する。図15に示されるように、従来の動画像復号装置では、n+1番目用co−locatedマクロブロックの動きベクトルがn+1番目のマクロブロックの動きベクトルの算出に必要であるか否かに関わらず、常に、n番目のマクロブロックの復号処理と、n+1番目用co−locatedマクロブロックの動きベクトルがバッファへ転送される処理とが並列して実行される。
すなわち、n+1番目用co−locatedマクロブロックの動きベクトルがn+1番目のマクロブロックの動きベクトルの算出に必要でない場合であっても、外部メモリからn+1番目用co−locatedマクロブロックの動きベクトルが転送される。すなわち、外部メモリへの不要なメモリアクセスが発生してしまう。
これに対し、本実施の形態の処理を図3を用いて説明する。図3に示される図15と同じ用語は、図15で説明したので詳細な説明は繰り返さない。
図3において、MB(n+1)ヘッダ処理とは、n+1番目のマクロブロックのヘッダが復号され、当該ヘッダを参照して行われる処理を示す。MB(n+1)ヘッダ処理は、ステップS120〜S123の処理に対応する。
また、MB(n)ヘッダ処理とは、n番目のマクロブロックのヘッダを参照して行われる処理を示す。MB(n)ヘッダ処理は、ステップS111〜S114の処理に対応する。また、MB(n)復号処理とは、n番目のマクロブロックを復号する処理を示す。MB(n)復号処理は、ステップS111に対応する。
また、動きベクトル算出(n)とは、n番目のマクロブロックの動きベクトルを算出する処理を示す。また、転送指示#(n+1)送信とは、n+1番目用co−locatedマクロブロックの動きベクトルをmv保持メモリ124へ転送させるための転送指示が送信される処理を示す。転送指示#(n+1)送信は、ステップS124の処理に対応する。
また、mv#(n+1)転送とは、n+1番目用co−locatedマクロブロックの動きベクトルが、mv保持メモリ124へ転送されることにより、mv保持メモリ124に記憶される処理を示す。mv#(n+1)転送は、ステップS124の処理に対応する。
また、図3において、「第2復号部」の右側に記載される処理は、第2復号部121により行われる処理である。「第1復号部」の右側に記載される処理は、第1復号部111により行われる処理である。
また、図3において、mvColが不要な場合とは、w(例えば、n+1)番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要でない場合である。すなわち、mvColが不要な場合とは、w番目のマクロブロックがスキップトマクロブロックでなく、かつ、w番目のマクロブロックがダイレクトモードで符号化されていない場合である。
また、図3において、mvColが必要な場合とは、w(例えば、n+1)番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要である場合である。すなわち、mvColが必要な場合とは、w番目のマクロブロックがスキップトマクロブロックである場合、または、w番目のマクロブロックがダイレクトモードで符号化されている場合である。
図3に示されるように、第1復号部111によるv(例えば、n)番目のマクロブロックの復号が終了する前に、第2復号部121は、w(例えば、n+1)番目のマクロブロックに対応する符号化された判定情報(w(n+1)番目のマクロブロックのヘッダ)を復号する。
また、図3に示されるように、ステップS120〜S123の処理により、第2復号部121によりn+1番目のマクロブロックのヘッダが復号され、ヘッダを参照した処理が行われる。
n+1番目のマクロブロックがスキップトマクロブロックである場合、または、n+1番目のマクロブロックがダイレクトモードで符号化されている場合、n+1番目用co−locatedマクロブロックの動きベクトルがmv保持メモリ124へ転送される処理(S124)と、n番目のマクロブロックの復号処理(S111)とが並行して実行される。また、この場合、ステップS111の処理と、ステップS115Aの処理とが並行して実行される。
すなわち、転送部としてのDMAコントローラ130は、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルがw番目のマクロブロックの動きベクトルの算出に必要である場合、v番目のマクロブロックの復号が行われている期間において、当該w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、外部メモリ200からバッファとしてのmv保持メモリ124へ転送する。
n+1番目のマクロブロックがスキップトマクロブロックでなく、かつ、n+1番目のマクロブロックがダイレクトモードで符号化されていない場合、n+1番目用co−locatedマクロブロックの動きベクトルがmv保持メモリ124へ転送される処理(S124)は実行されない。この場合、n番目のマクロブロックの復号処理(S111)が実行される。また、この場合、ステップS111の処理と、ステップS115Bの処理とが並行して実行される。
すなわち、転送部としてのDMAコントローラ130は、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルがw番目のマクロブロックの動きベクトルの算出に必要でない場合、v番目のマクロブロックの復号が行われている期間において、当該w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、外部メモリ200からバッファとしてのmv保持メモリ124へ転送しない。
これにより、n+1番目用co−locatedマクロブロックの動きベクトルがn+1番目のマクロブロックの動きベクトルの算出に必要な場合、n+1番目のマクロブロックを復号する際に、すぐにmv保持メモリ124に記憶されているn+1番目用co−locatedマクロブロックの動きベクトルを用いて動きベクトルを算出することができる。
また、n+1番目用co−locatedマクロブロックの動きベクトルがn+1番目のマクロブロックの動きベクトルの算出に必要でない場合、n+1番目用co−locatedマクロブロックの動きベクトルが、外部メモリ200からDMAコントローラ130を介してmv保持メモリ124へ転送されない。よって、不要な転送が行われず外部メモリへの不要なメモリアクセスを低減することができる。
この並列処理は、n+2番目、n+3番目、・・・n+x番目のマクロブロックに対しても同様に行われる。ここで、n+x番目のマクロブロックは、ストリームに含まれる最後のマクロブロックである。したがって、どのマクロブロックに対しても上記と同様の効果を奏する。
具体的には、画像復号装置内のバッファ容量の制約により、復号済みの動きベクトルをいったん外部メモリに記憶しておく必要がある画像復号装置であっても、マクロブロックの復号を開始する前に、将来復号するマクロブロックがダイレクトモードで符号化されているか否かを判定するために必要な情報のみが先行的に復号される。
そして、将来復号するマクロブロックがダイレクトモードで符号化されているか否かが判定される。ダイレクトモードで符号化されている場合は、必要な動きベクトルを外部メモリから先行的に画像復号装置内のバッファに転送しておき、ダイレクトモードで符号化されてない場合は必要な動きベクトルの転送を行わない。
ダイレクトモードで符号化されているか否かの判定を先行して行う構成により、マクロブロックがダイレクトモードで符号化されていない場合は、動きベクトルの転送が行われないため、外部メモリへの不要なメモリアクセスが発生せず、マクロブロックがダイレクトモードで符号化されている場合は、先行して必要な動きベクトルが転送される。
そのため、あるマクロブロックがダイレクトモードで符号化されていた場合は、このマクロブロックを復号するときに、すぐに、動きベクトルを算出できる。
この結果、マクロブロックがダイレクトモードで符号化されている場合、当該マクロブロックの復号に要する時間を短縮することができ、かつ、外部メモリへのメモリアクセスを低減することができる。
すなわち、ダイレクトモードで符号化されたマクロブロックを高速に復号しつつ、外部メモリ200への不要なメモリアクセスを低減することができる。
なお、本実施の形態では、ダイレクトモードが時間ダイレクトモードである場合の処理について説明したが、これに限定されない。ダイレクトモードが空間ダイレクトモードであっても本実施の形態は実現可能である。ダイレクトモードが空間ダイレクトモードである場合、例えば、特許第4106070号公報に記載されている処理と同様な処理により、動きベクトルを算出することができる。
(実施の形態2)
本実施の形態では、処理対象のマクロブロックがインターマクロブロックであるか否かの判定結果により、w番目用co−locatedマクロブロックの動きベクトルが外部メモリ200からmv保持メモリ124へ転送される。
本実施の形態では、処理対象のマクロブロックがインターマクロブロックであるか否かの判定結果により、w番目用co−locatedマクロブロックの動きベクトルが外部メモリ200からmv保持メモリ124へ転送される。
本実施の形態における画像復号システムは、図1の画像復号システム1000である。つまり、本実施の形態における画像復号装置は、図1の画像復号装置100である。そのため、画像復号装置100の各部の詳細な説明は繰り返さない。
次に、画像復号システム1000が行う処理(以下、復号処理Aという)について説明する。図4は、復号処理Aのフローチャートである。図4において、図2のステップ番号と同じステップ番号の処理は、第1の実施の形態で説明した処理と同様な処理が行われるので詳細な説明は繰り返さない。
復号処理Aは、図2の復号処理と比較して、ステップS122の代わりにステップS122Aが行われる点と、ステップS115Aの代わりにステップS116Aが行われる点と、ステップS123,S113,S114,S115Bが行われない点が異なる。それ以外は、図2の復号処理と同様なので詳細な説明は繰り返さない。
ステップS122Aでは、ブロック情報を利用して、n+1番目のマクロブロックがインターマクロブロックであるか否かが判定される。判定情報としてのブロック情報は、w番目のマクロブロックがインターマクロブロックであるか否かを示す。
具体的には、判定部122が、第2復号部121から受信した、判定情報としてのブロック情報が、対応するマクロブロックがインターマクロブロックであることを示すか否かを判定する。
ステップS122AにおいてYESならば、処理はステップS124に移行する。一方。ステップS122AにおいてNOならば処理はステップS154へ移行する。ステップS122AでYESの場合は、w(例えば、n+1)番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要である場合である。
そして、ステップS124の処理が第1の実施の形態と同様に行われる。これにより、mv保持メモリ124にn+1番目用co−locatedマクロブロックの動きベクトルが記憶される。
ここで、図4の前回のステップS102〜S124の処理が既に行われているとする。前回のステップS102〜S124の処理とは、前述のステップS102〜S124の処理の説明においてnをn−1に置き換えた処理である。この場合、前回のステップS124の処理により、mv保持メモリ124には、n番目用co−locatedマクロブロックの動きベクトルが記憶される。すなわち、n番目用co−locatedマクロブロックの動きベクトルが外部メモリ200からバッファとしてのmv保持メモリ124へ転送される。
ステップS112でYESの場合、処理はステップS116Aに移行する。
ステップS116Aでは、mv算出部131は、n番目のマクロブロックのヘッダに含まれる動きベクトルの差分情報と、mv保持メモリ124に記憶されているn番目用co−locatedマクロブロックの動きベクトルを用いて、n番目のマクロブロックの動きベクトルを算出する。
そして、第1の実施の形態同様、ステップS131以降の処理が行われる。
以上説明したように、本実施の形態によれば、復号対象のマクロブロックの次に復号対象となるマクロブロックが、インターマクロブロックである場合、co−locatedマクロブロックの動きベクトルの転送の処理が行われる。また、復号対象のマクロブロックの次に復号対象となるマクロブロックが、インターマクロブロックでない場合、co−locatedマクロブロックの動きベクトルの転送の処理が行われない。
これにより、第1の実施の形態と同様な効果が得られる。すなわち、不要な転送が行われず外部メモリへの不要なメモリアクセスを低減することができる。
(その他の変形例)
前述の画像復号装置100では、第2復号部121が、取得したn番目のマクロブロックを、第1復号部111へ送信する。すなわち、第1復号部111は、第2復号部121からマクロブロックを受信するとしたが、これに限定されない。例えば、第1復号部111が、DMAコントローラ130を介して、外部メモリ200からストリームに含まれるマクロブロックを取得してもよい。
前述の画像復号装置100では、第2復号部121が、取得したn番目のマクロブロックを、第1復号部111へ送信する。すなわち、第1復号部111は、第2復号部121からマクロブロックを受信するとしたが、これに限定されない。例えば、第1復号部111が、DMAコントローラ130を介して、外部メモリ200からストリームに含まれるマクロブロックを取得してもよい。
以下に、第1復号部111が外部メモリ200からストリームを受信する構成の画像復号装置100Aを含む画像復号システム1000Aについて説明する。
図5は、画像復号システム1000Aの構成を示すブロック図である。
図5に示されるように、画像復号システム1000Aは、図1の画像復号システム1000と比較して、画像復号装置100の代わりに画像復号装置100Aを含む点が異なる。それ以外の画像復号装置100Aの構成は、と同様なので詳細な説明は繰り返さない。
画像復号装置100Aは、図1の画像復号装置100と比較して、第1転送指示部110をさらに備える点が異なる。それ以外の画像復号装置100Aの構成は、画像復号装置100と同様なので詳細な説明は繰り返さない。
第1転送指示部110は、DMAコントローラ130に対して、外部メモリ200に記憶されているストリームを第1復号部111へ転送させるためのストリーム転送指示を、DMAコントローラ130へ送信する。
DMAコントローラ130は、当該ストリーム転送指示を受信すると、外部メモリ200からストリームを読み出し、当該ストリームを、第1復号部111へ転送する。
そして、第1復号部111は、受信しているストリームから、n番目のマクロブロックを取得する。
この場合、画像復号装置100Aが行う図2の復号処理のステップS101のストリーム転送処理において、第1復号部111および第2復号部121の各々がストリームを受信する。
そして、ステップS102の処理において、第1復号部111および第2復号部121は、それぞれ、n番目およびn+1番目のマクロブロックを取得する。なお、ステップS120以降の処理は実施の形態1と同様なので詳細な説明は繰り返さない。
また、画像復号システム1000を実施の形態に基づいて説明してきたが、この実施の形態の構成及び動作に様々な変形を加えることが可能である。
上記実施の形態では、マクロブロックの復号処理と並列して、1つ先のマクロブロックのマクロブロックタイプを復号し、当該1つ先のマクロブロックがダイレクトモードで符号化されていればco−locatedマクロブロックの動きベクトルをmv保持メモリ124へ転送する動作を説明した。しかし、これに限定されない。
例えば、mv保持メモリ124の容量を大きくし、幾つか先の複数のマクロブロック用co−locatedマクロブロックに対応する複数の動きベクトルを、まとめて転送するようにしてもよい。
例えば、外部メモリとして、連続するデータ転送に適したDRAM等のメモリを使用している場合、1つの動きベクトル毎に転送を行うとバースト長が不足し、転送効率が不足することがある。
このため、DRAM等のメモリを使用している場合、例えば、n番目のマクロブロックの復号処理と並列して、n+1番目のマクロブロックとn+2番目のマクロブロックのマクロブロックタイプの復号をそれぞれ実行する。
そして、n+1番目およびn+2番目のマクロブロックのいずれかがダイレクトモードで符号化されていた場合は、n+1番目およびn+2番目のマクロブロック用co−locatedマクロブロックの動きベクトルをまとめて1回で転送する。
n+1番目およびn+2番目のマクロブロックのいずれもダイレクトモードで符号化されていなかった場合、co−locatedマクロブロックの動きベクトルの転送は行わないようにする。
このように、一回のDMA転送で転送するデータ量を増やすことで、外部メモリ200とmv転送指示部123との間でのデータの転送回数を減らし、バースト長を大きくして転送効率を向上させることができる。
尚、図1の画像復号装置100に含まれる各部は典型的には集積回路であるLSIとして実現される。これらはさらに集積回路、外部メモリのように個別にチップ化されても良いし、一部又は全てを含むように1チップ化、つまり単一のLSI内に統合されたシステムとして実現されても良い。
(機能ブロック図)
図6は、画像復号装置100の特徴的な機能構成を示すブロック図である。つまり、図6は、図1に示される画像復号装置100の機能のうち、本発明に関わる主要な機能を示すブロック図である。なお、図6には説明のために、画像復号装置100に含まれない外部メモリ200も示している。
図6は、画像復号装置100の特徴的な機能構成を示すブロック図である。つまり、図6は、図1に示される画像復号装置100の機能のうち、本発明に関わる主要な機能を示すブロック図である。なお、図6には説明のために、画像復号装置100に含まれない外部メモリ200も示している。
図6の画像復号装置100は、符号化されたピクチャを構成する複数のマクロブロックを所定の順番で順次復号する。
図6に示されるように、画像復号装置100は、転送部130Aと、バッファ124Aと、第1復号部111と、第2復号部121と、判定部122とを備える。図6の画像復号装置100は、図1で説明した第1復号部111、第2復号部121および判定部122を備える。
転送部130Aは、各マクロブロックに対応するco−locatedマクロブロックの動きベクトルを記憶する外部メモリ200とデータ通信を行う。
バッファ124Aは、mv保持メモリ124に相当する。
第1復号部111は、複数のマクロブロックを、順次復号する。
第2復号部121は、第1復号部111によるv(1以上の整数)番目のマクロブロックの復号が終了する前に、判定情報を少なくとも復号する。判定情報は、w(w≧v+1)番目のマクロブロックに対応する符号化された情報である。また、判定情報は、該w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定するための情報である。復号された判定情報は、例えば、前述したマクロブロックタイプ、ブロック情報、スキップ情報である。
判定部122は、復号された判定情報から、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定する。判定部122は、図2のステップS122,S123の処理または図4のステップS122Aの処理を行う判定部122に相当する。
転送部130Aは、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要である場合、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、外部メモリ200からバッファ124Aへ転送する。転送部130Aは、図2または図4のステップS124の処理を行うmv転送指示部123およびDMAコントローラ130に相当する。
また、転送部130Aは、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要でない場合、w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、外部メモリ200からバッファ124Aへ転送しない。
なお、図6の転送部130A、バッファ124A、第1復号部111、第2復号部121および判定部122の全てまたは一部は、LSI(Large Scale Integration:大規模集積回路)等のハードウエアで構成されてもよい。また、転送部130A、バッファ124A、第1復号部111、第2復号部121および判定部122の全てまたは一部は、CPU等のプロセッサにより実行されるプログラムのモジュールであってもよい。
(実施の形態3)
上記各実施の形態で示した画像復号方法の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
上記各実施の形態で示した画像復号方法の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらに、ここで、上記各実施の形態で示した画像復号方法の応用例とそれを用いたシステムを説明する。
図7は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106〜ex110が設置されている。
このコンテンツ供給システムex100では、電話網ex104、および、基地局ex106〜ex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が相互に接続される。また、各機器が、インターネットサービスプロバイダex102を介して、インターネットex101に接続されている。
しかし、コンテンツ供給システムex100は、図7のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
カメラex113は、デジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116は、デジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband−Code Division Multiple Access)方式、LTE(Long Term Evolution)方式、若しくは、HSPA(High Speed Packet Access)方式の携帯電話、または、PHS(Personal Handyphone System)等であり、いずれでも構わない。
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して、上記各実施の形態で説明したように符号化処理を行い、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は、要求のあったクライアントに対して、送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号処理して再生する。
なお、撮影したデータの符号化処理は、カメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号処理は、クライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理は、カメラex116、コンピュータex111およびストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
また、これら符号化処理および復号処理は、一般的にコンピュータex111および各機器が有するLSI(Large Scale Integration)ex500において実行される。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、画像符号化用のソフトウェアまたは画像復号用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化処理または復号処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画像データを送信してもよい。このときの動画像データは、携帯電話ex114が有するLSIex500で符号化処理されたデータである。
また、ストリーミングサーバex103は、複数のサーバまたは複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号し、再生することができ、特別な権利および設備を有さないユーザでも個人放送を実現できる。
なお、コンテンツ供給システムex100の例に限らず、図8に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも画像復号装置のいずれかを組み込むことができる。具体的には、放送局ex201では映像情報のビットストリームが電波を介して通信または衛星ex202に伝送される。このビットストリームは、上記各実施の形態で説明した画像符号化方法により符号化された符号化ビットストリームである。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信したビットストリームを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号して再生する。
また、記録媒体であるCDおよびDVD等の記録メディアex214に記録したビットストリームを読み取り、復号する再生装置ex212にも上記実施の形態で示した画像復号装置を実装することが可能である。この場合、再生された映像信号はモニタex213に表示される。
また、DVD、BD等の記録メディアex215に記録した符号化ビットストリームを読み取り復号する、または、記録メディアex215に映像信号を符号化し書き込むリーダ/レコーダex218にも上記各実施の形態で示した画像復号装置または画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、符号化ビットストリームが記録された記録メディアex215により他の装置およびシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に画像復号装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に画像復号装置を組み込んでもよい。
図9は、上記各実施の形態で説明した画像復号方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像情報のビットストリームを取得または出力するチューナex301と、受信した符号化データを復調する、または外部に送信する符号化データに変調する変調/復調部ex302と、復調した映像データ、音声データを分離する、または符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。
また、テレビex300は、音声データ、映像データそれぞれを復号する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305を有する信号処理部ex306と、復号した音声信号を出力するスピーカex307、復号した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。
インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお、記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。
テレビex300の各部は、同期バスを介して互いに接続されている。
まず、テレビex300がアンテナex204等により外部から取得したデータを復号し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した映像データ、音声データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号し、分離した映像データを映像信号処理部ex305で上記各実施の形態で説明した復号方法を用いて復号する。復号した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から符号化された符号化ビットストリームを読み出してもよい。
次に、テレビex300が音声信号および映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。
なお、バッファex318〜ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302および多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
また、テレビex300は、放送および記録メディア等から音声データおよび映像データを取得する以外に、マイクおよびカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号処理、外部出力のみが可能な構成であってもよい。
また、リーダ/レコーダex218で記録メディアから符号化ビットストリームを読み出す、または、書き込む場合には、上記復号処理または符号化処理はテレビex300とリーダ/レコーダex218とのいずれで行ってもよいし、テレビex300とリーダ/レコーダex218とが互いに分担して行ってもよい。
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図10に示す。情報再生/記録部ex400は、以下に説明する要素ex401〜ex407を備える。
光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は、記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。
システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しおよび書き込みの処理はシステム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成および追加を行うと共に、変調記録部ex402、再生復調部ex403、サーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は、例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図11に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録および再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。
情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した符号化データの読み書きを行う。
以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図9に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111および携帯電話ex114等でも考えられる。また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器および復号器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号器のみの受信端末という3通りの実装形式が考えられる。
このように、上記各実施の形態で示した画像符号化方法あるいは画像復号方法を上述したいずれの機器またはシステムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
(実施の形態4)
本実施の形態では、画像復号装置100を、典型的には半導体集積回路であるLSIとして実現する。図6の画像復号装置100をLSI2100として実現した形態を図12に示す。画像復号装置100の各構成要素は、図12に示されたLSI2100上に構成される。
本実施の形態では、画像復号装置100を、典型的には半導体集積回路であるLSIとして実現する。図6の画像復号装置100をLSI2100として実現した形態を図12に示す。画像復号装置100の各構成要素は、図12に示されたLSI2100上に構成される。
これらは個別に1チップ化されてもよいし、一部またはすべてを含むように1チップ化されても良い。ここではLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、または、LSI内部の回路セルの接続および設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適応などが可能性として有り得る。
さらに加えて、本実施の形態の画像復号装置を集積化した半導体チップと、画像を描画するためのディスプレイとを組み合せて、様々な用途に応じた描画機器を構成することができる。携帯電話、テレビ、デジタルビデオレコーダー、デジタルビデオカメラおよびカーナビゲーション等における情報描画手段として、本発明を利用することが可能である。ディスプレイとしては、ブラウン管(CRT)の他、液晶、PDP(プラズマディスプレイパネル)および有機ELなどのフラットディスプレイ、プロジェクターを代表とする投射型ディスプレイなどと組み合わせることが可能である。
また、本実施の形態におけるLSIは、符号化ストリームを蓄積するビットストリームバッファ、および、画像を蓄積するフレームメモリ等を備えるDRAM(Dynamic Random Access Memory)と連携することにより、符号化処理または復号処理を行ってもよい。また、本実施の形態におけるLSIは、DRAMではなく、eDRAM(embeded DRAM)、SRAM(Static Random Access Memory)、または、ハードディスクなど他の記憶装置と連携してもかまわない。
(実施の形態5)
上記各実施の形態で示した画像復号装置および画像復号方法は、典型的には集積回路であるLSIで実現される。一例として、図13に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex502〜ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
上記各実施の形態で示した画像復号装置および画像復号方法は、典型的には集積回路であるLSIで実現される。一例として、図13に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex502〜ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
例えば、符号化処理を行う場合には、LSIex500は、AV I/Oex509によりマイクex117およびカメラex113等からAV信号の入力を受け付ける。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。蓄積したデータは、処理量および処理速度に応じて適宜複数回に分けるなどされ、信号処理部ex507に送られる。信号処理部ex507は、音声信号の符号化および/または映像信号の符号化を行う。ここで映像信号の符号化処理は、上記実施の形態で説明した符号化処理である。信号処理部ex507では、さらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex504から外部に出力する。この出力されたビットストリームは、基地局ex107に向けて送信されたり、または、記録メディアex215に書き込まれたりする。
また、例えば、復号処理を行う場合には、LSIex500は、マイコン(マイクロコンピュータ)ex502の制御に基づいて、ストリームI/Oex504によって、基地局ex107から得られた符号化データ、または、記録メディアex215から読み出して得た符号化データを一旦メモリex511等に蓄積する。マイコンex502の制御に基づいて、蓄積したデータは処理量および処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声データの復号および/または映像データの復号が行われる。ここで映像信号の復号処理は上記各実施の形態で説明した復号処理である。さらに、場合により復号された音声信号と復号された映像信号を同期して再生できるようそれぞれの信号を一旦メモリex511等に蓄積するとよい。復号された出力信号はメモリex511等を適宜介しながら、AVI/Oex509からモニタex219等に出力される。メモリex511にアクセスする際にはメモリコントローラex503を介する構成である。
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、または、LSI内部の回路セルの接続および設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
なお、これらの実施の形態は例であり、本発明はこれらの実施の形態に限定されるのではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、あるいは異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
また、上記の画像復号装置を構成する複数の構成要素の全てまたは一部は、ハードウエアで構成されてもよい。また、上記の画像復号装置を構成する構成要素の全てまたは一部は、CPU(Central Processing Unit)等により実行されるプログラムのモジュールであってもよい。
また、上記の画像復号装置を構成する複数の構成要素の全てまたは一部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されてもよい。システムLSIは、複数の構成要素を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM(Read Only Memory)及びRAM(Random Access Memory)などを含んで構成されるコンピュータシステムである。
また、本発明は、画像復号装置が備える特徴的な構成部の動作をステップとする画像復号方法として実現してもよい。また、本発明は、そのような画像復号方法に含まれる各ステップをコンピュータに実行させるプログラムとして実現してもよい。また、本発明は、そのようなプログラムを格納するコンピュータ読み取り可能な記録媒体として実現されてもよい。また、当該プログラムは、インターネット等の伝送媒体を介して配信されてもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
本発明による画像復号装置は、例えば、テレビ、デジタルビデオレコーダー、カーナビゲーション、携帯電話、デジタルカメラ、デジタルビデオカメラ等の情報表示機器および撮影システムとして、様々な用途に有用である。
100,100A 画像復号装置
110 第1転送指示部
111 第1復号部
120 第2転送指示部
121 第2復号部
122 判定部
123 mv転送指示部
124 mv保持メモリ
124A バッファ
130 DMAコントローラ
130A 転送部
131 mv算出部
132 mv転送指示部
133 参照画像転送指示部
141 動き補償処理部
142 面内予測処理部
143 予測画像選択部
151 逆直交変換部
152 逆量子化部
161 復号画像合成部
162 デブロックフィルタ処理部
163 復号画像転送指示部
200 外部メモリ
300 記憶媒体
400 受信部
1000,1000A 画像復号システム
2100 LSI
ex100 コンテンツ供給システム
ex101 インターネット
ex102 インターネットサービスプロバイダ
ex103 ストリーミングサーバ
ex104 電話網
ex106、ex107、ex108、ex109、ex110 基地局
ex111 コンピュータ
ex112 PDA(Personal Digital Assistant)
ex113、ex116 カメラ
ex114 携帯電話
ex115 ゲーム機
ex117 マイク
ex200 デジタル放送用システム
ex201 放送局
ex202 放送衛星(衛星)
ex203 ケーブル
ex204、ex205 アンテナ
ex210 車
ex211 カーナビゲーション(カーナビ)
ex212 再生装置
ex213、ex219 モニタ
ex214、ex215、ex216 記録メディア
ex217 セットトップボックス(STB)
ex218 リーダ/レコーダ
ex220 リモートコントローラ
ex230 情報トラック
ex231 記録ブロック
ex232 内周領域
ex233 データ記録領域
ex234 外周領域
ex300 テレビ(受信機)
ex301 チューナ
ex302 変調/復調部
ex303 多重/分離部
ex304 音声信号処理部
ex305 映像信号処理部
ex306、ex507 信号処理部
ex307 スピーカ
ex308 表示部
ex309 出力部
ex311、ex505 電源回路部
ex312 操作入力部
ex313 ブリッジ
ex314 スロット部
ex315 ドライバ
ex316 モデム
ex317 インタフェース部
ex318、ex319、ex320、ex321、ex404 バッファ
ex400 情報再生/記録部
ex401 光ヘッド
ex402 変調記録部
ex403 再生復調部
ex405 ディスクモータ
ex406 サーボ制御部
ex407 システム制御部
ex502 マイコン(マイクロコンピュータ)
ex503 メモリコントローラ
ex504 ストリームI/O
ex509 AV I/O
ex510 バス
110 第1転送指示部
111 第1復号部
120 第2転送指示部
121 第2復号部
122 判定部
123 mv転送指示部
124 mv保持メモリ
124A バッファ
130 DMAコントローラ
130A 転送部
131 mv算出部
132 mv転送指示部
133 参照画像転送指示部
141 動き補償処理部
142 面内予測処理部
143 予測画像選択部
151 逆直交変換部
152 逆量子化部
161 復号画像合成部
162 デブロックフィルタ処理部
163 復号画像転送指示部
200 外部メモリ
300 記憶媒体
400 受信部
1000,1000A 画像復号システム
2100 LSI
ex100 コンテンツ供給システム
ex101 インターネット
ex102 インターネットサービスプロバイダ
ex103 ストリーミングサーバ
ex104 電話網
ex106、ex107、ex108、ex109、ex110 基地局
ex111 コンピュータ
ex112 PDA(Personal Digital Assistant)
ex113、ex116 カメラ
ex114 携帯電話
ex115 ゲーム機
ex117 マイク
ex200 デジタル放送用システム
ex201 放送局
ex202 放送衛星(衛星)
ex203 ケーブル
ex204、ex205 アンテナ
ex210 車
ex211 カーナビゲーション(カーナビ)
ex212 再生装置
ex213、ex219 モニタ
ex214、ex215、ex216 記録メディア
ex217 セットトップボックス(STB)
ex218 リーダ/レコーダ
ex220 リモートコントローラ
ex230 情報トラック
ex231 記録ブロック
ex232 内周領域
ex233 データ記録領域
ex234 外周領域
ex300 テレビ(受信機)
ex301 チューナ
ex302 変調/復調部
ex303 多重/分離部
ex304 音声信号処理部
ex305 映像信号処理部
ex306、ex507 信号処理部
ex307 スピーカ
ex308 表示部
ex309 出力部
ex311、ex505 電源回路部
ex312 操作入力部
ex313 ブリッジ
ex314 スロット部
ex315 ドライバ
ex316 モデム
ex317 インタフェース部
ex318、ex319、ex320、ex321、ex404 バッファ
ex400 情報再生/記録部
ex401 光ヘッド
ex402 変調記録部
ex403 再生復調部
ex405 ディスクモータ
ex406 サーボ制御部
ex407 システム制御部
ex502 マイコン(マイクロコンピュータ)
ex503 メモリコントローラ
ex504 ストリームI/O
ex509 AV I/O
ex510 バス
Claims (13)
- 符号化されたピクチャを構成する複数のマクロブロックを所定の順番で順次復号する画像復号装置であって、
各前記マクロブロックに対応するco−locatedマクロブロックの動きベクトルを記憶する外部メモリとデータ通信を行う転送部と、
バッファと、
前記複数のマクロブロックを、順次復号する第1復号部と、
前記第1復号部によるv(1以上の整数)番目のマクロブロックの復号が終了する前に、w(w≧v+1)番目のマクロブロックに対応する符号化された判定情報であって、該w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定するための判定情報を少なくとも復号する第2復号部と、
復号された前記判定情報から、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定する判定部とを備え、
前記転送部は、
前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要である場合、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送し、
前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要でない場合、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送しない、
画像復号装置。 - 前記画像復号装置は、さらに、
前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要である場合、前記バッファに転送された前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを用いて前記w番目のマクロブロックの動きベクトルを算出する算出部を備え、
前記転送部は、算出された前記w番目のマクロブロックの動きベクトルを、前記外部メモリへ転送する、
請求項1に記載の画像復号装置。 - 前記転送部は、
前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが前記w番目のマクロブロックの動きベクトルの算出に必要である場合、前記v番目のマクロブロックの復号が行われている期間において、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリからバッファへ転送し、
前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが前記w番目のマクロブロックの動きベクトルの算出に必要でない場合、前記v番目のマクロブロックの復号が行われている期間において、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリからバッファへ転送しない、
請求項1または2に記載の画像復号装置。 - 前記第2復号部は、前記判定情報のみを復号する、
請求項1〜3のいずれかに記載の画像復号装置。 - 前記第2復号部は、復号された前記判定情報を、前記第1復号部へ送信する、
請求項1〜4のいずれかに記載の画像復号装置。 - 前記第1復号部は、前記w番目のマクロブロックのうち、前記第2復号部により復号された前記判定情報以外の部分を復号する、
請求項4または5に記載の画像復号装置。 - 前記判定情報は、前記w番目のマクロブロックがダイレクトモードで符号化されているか否かを示す、
請求項1〜6のいずれかに記載の画像復号装置。 - 前記判定情報は、前記w番目のマクロブロックがスキップトマクロブロックであるか否かを示す、
請求項1〜6のいずれかに記載の画像復号装置。 - 前記判定情報は、前記w番目のマクロブロックがインターマクロブロックであるか否かを示す、
請求項1〜6のいずれかに記載の画像復号装置。 - 前記複数のマクロブロックの各々は、H.264/AVCに従って符号化されたマクロブロックである、
請求項1〜9のいずれかに記載の画像復号装置。 - 符号化されたピクチャを構成する複数のマクロブロックを所定の順番で順次復号する集積回路であって、
各前記マクロブロックに対応するco−locatedマクロブロックの動きベクトルを記憶する外部メモリとデータ通信を行う転送部と、
バッファと、
前記複数のマクロブロックを、順次復号する第1復号部と、
前記第1復号部によるv(1以上の整数)番目のマクロブロックの復号が終了する前に、w(w≧v+1)番目のマクロブロックに対応する符号化された判定情報であって、該w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定するための判定情報を少なくとも復号する第2復号部と、
復号された前記判定情報から、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定する判定部とを備え、
前記転送部は、
前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要である場合、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送し、
前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要でない場合、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送しない、
集積回路。 - 符号化されたピクチャを構成する複数のマクロブロックを所定の順番で順次復号する画像復号装置が行う画像復号方法であって、
前記画像復号装置は、
各前記マクロブロックに対応するco−locatedマクロブロックの動きベクトルを記憶する外部メモリとデータ通信を行う転送部と、
バッファと、
前記複数のマクロブロックを、順次復号する第1復号部と、
前記第1復号部によるv(1以上の整数)番目のマクロブロックの復号が終了する前に、w(w≧v+1)番目のマクロブロックに対応する符号化された判定情報であって、該w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定するための判定情報を少なくとも復号する第2復号部とを備え、
前記画像復号方法は、
復号された前記判定情報から、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定するステップと、
前記転送部が、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要である場合、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送するステップとを含み、
前記転送部は、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要でない場合、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送しない、
画像復号方法。 - 符号化されたピクチャを構成する複数のマクロブロックを所定の順番で順次復号する画像復号装置と、外部メモリとを含む画像復号システムであって、
前記外部メモリは、各前記マクロブロックに対応するco−locatedマクロブロックの動きベクトルを記憶しており、
前記画像復号装置は、
前記外部メモリとデータ通信を行う転送部と、
バッファと、
前記複数のマクロブロックを、順次復号する第1復号部と、
前記第1復号部によるv(1以上の整数)番目のマクロブロックの復号が終了する前に、w(w≧v+1)番目のマクロブロックに対応する符号化された判定情報であって、該w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定するための判定情報を少なくとも復号する第2復号部と、
復号された前記判定情報から、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要であるか否かを判定する判定部とを備え、
前記転送部は、
前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要である場合、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送し、
前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルが該w番目のマクロブロックの動きベクトルの算出に必要でない場合、前記w番目のマクロブロックに対応するco−locatedマクロブロックの動きベクトルを、前記外部メモリから前記バッファへ転送しない、
画像復号システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011513228A JP5468604B2 (ja) | 2009-05-13 | 2010-04-19 | 画像復号装置、集積回路、画像復号方法及び画像復号システム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009116121 | 2009-05-13 | ||
JP2009116121 | 2009-05-13 | ||
PCT/JP2010/002806 WO2010131422A1 (ja) | 2009-05-13 | 2010-04-19 | 画像復号装置、集積回路、画像復号方法及び画像復号システム |
JP2011513228A JP5468604B2 (ja) | 2009-05-13 | 2010-04-19 | 画像復号装置、集積回路、画像復号方法及び画像復号システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2010131422A1 JPWO2010131422A1 (ja) | 2012-11-01 |
JP5468604B2 true JP5468604B2 (ja) | 2014-04-09 |
Family
ID=43084808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011513228A Expired - Fee Related JP5468604B2 (ja) | 2009-05-13 | 2010-04-19 | 画像復号装置、集積回路、画像復号方法及び画像復号システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9001893B2 (ja) |
JP (1) | JP5468604B2 (ja) |
CN (1) | CN102090066A (ja) |
WO (1) | WO2010131422A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013118216A1 (ja) * | 2012-02-07 | 2013-08-15 | パナソニック株式会社 | 画像処理装置および画像処理方法 |
KR102232417B1 (ko) * | 2013-11-20 | 2021-03-26 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11215509A (ja) * | 1998-01-28 | 1999-08-06 | Nec Corp | 動き補償処理方法及びシステム並びにその処理プログラムを記録した記録媒体 |
WO2006057182A1 (ja) * | 2004-11-26 | 2006-06-01 | Matsushita Electric Industrial Co., Ltd. | 復号化回路、復号化装置、及び復号化システム |
JP2006279330A (ja) * | 2005-03-28 | 2006-10-12 | Victor Co Of Japan Ltd | 動き補償処理方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04106070A (ja) | 1990-08-23 | 1992-04-08 | Sanyo Electric Co Ltd | テープ送出装置のカバーテープ剥離装置 |
JP2004088722A (ja) * | 2002-03-04 | 2004-03-18 | Matsushita Electric Ind Co Ltd | 動画像符号化方法および動画像復号化方法 |
CN100566420C (zh) * | 2002-07-15 | 2009-12-02 | 株式会社日立制作所 | 动态图像的编码方法 |
JP4592656B2 (ja) * | 2006-08-17 | 2010-12-01 | 富士通セミコンダクター株式会社 | 動き予測処理装置、画像符号化装置および画像復号化装置 |
KR100968371B1 (ko) * | 2008-04-25 | 2010-07-06 | 주식회사 코아로직 | 영상의 복호화 방법 및 장치 |
-
2010
- 2010-04-19 JP JP2011513228A patent/JP5468604B2/ja not_active Expired - Fee Related
- 2010-04-19 US US13/003,391 patent/US9001893B2/en not_active Expired - Fee Related
- 2010-04-19 CN CN2010800020700A patent/CN102090066A/zh active Pending
- 2010-04-19 WO PCT/JP2010/002806 patent/WO2010131422A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11215509A (ja) * | 1998-01-28 | 1999-08-06 | Nec Corp | 動き補償処理方法及びシステム並びにその処理プログラムを記録した記録媒体 |
WO2006057182A1 (ja) * | 2004-11-26 | 2006-06-01 | Matsushita Electric Industrial Co., Ltd. | 復号化回路、復号化装置、及び復号化システム |
JP2006279330A (ja) * | 2005-03-28 | 2006-10-12 | Victor Co Of Japan Ltd | 動き補償処理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102090066A (zh) | 2011-06-08 |
US9001893B2 (en) | 2015-04-07 |
WO2010131422A1 (ja) | 2010-11-18 |
JPWO2010131422A1 (ja) | 2012-11-01 |
US20110116548A1 (en) | 2011-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5518069B2 (ja) | 画像復号装置、画像符号化装置、画像復号方法、画像符号化方法、プログラムおよび集積回路 | |
JP5574345B2 (ja) | 符号化方法、エラー検出方法、復号方法、符号化装置、エラー検出装置及び復号装置 | |
JP5588438B2 (ja) | 画像符号化方法及び画像符号化装置 | |
US8718149B2 (en) | Image coding method and image decoding method | |
JP5659160B2 (ja) | 動画像復号装置、動画像符号化装置、動画像復号回路及び動画像復号方法 | |
WO2012035730A1 (ja) | 画像復号装置、画像符号化装置、それらの方法、プログラム、集積回路およびトランスコード装置 | |
WO2011161949A1 (ja) | 画像復号装置、画像復号方法、集積回路およびプログラム | |
WO2012046435A1 (ja) | 画像処理装置、画像符号化方法および画像処理方法 | |
JP6390883B2 (ja) | 画像処理装置 | |
WO2011048764A1 (ja) | 復号装置、復号方法、プログラム、及び集積回路 | |
WO2013108330A1 (ja) | 画像復号装置、画像符号化装置、画像復号方法および画像符号化方法 | |
JP5999515B2 (ja) | 画像処理装置、及び、画像処理方法 | |
JP5546044B2 (ja) | 画像復号装置、画像符号化装置、画像復号回路及び画像復号方法 | |
JP5378520B2 (ja) | 動画像復号化装置、動画像復号化方法、動画像復号化システム、集積回路およびプログラム | |
JP5468604B2 (ja) | 画像復号装置、集積回路、画像復号方法及び画像復号システム | |
WO2013076897A1 (ja) | 画像処理装置および画像処理方法 | |
JP2011182132A (ja) | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、集積回路およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120913 |
|
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: 20140107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140129 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |