JP2007281630A - 動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置 - Google Patents

動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置 Download PDF

Info

Publication number
JP2007281630A
JP2007281630A JP2006102563A JP2006102563A JP2007281630A JP 2007281630 A JP2007281630 A JP 2007281630A JP 2006102563 A JP2006102563 A JP 2006102563A JP 2006102563 A JP2006102563 A JP 2006102563A JP 2007281630 A JP2007281630 A JP 2007281630A
Authority
JP
Japan
Prior art keywords
area
rectangular
memory
rectangular area
pixel
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
JP2006102563A
Other languages
English (en)
Other versions
JP4757080B2 (ja
Inventor
Masayasu Iguchi
雅保 井口
Tatsuro Shigesato
達郎 重里
Takeshi Tanaka
健 田中
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 Holdings Corp
Original Assignee
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006102563A priority Critical patent/JP4757080B2/ja
Priority to EP20070105392 priority patent/EP1845733A2/en
Priority to US11/695,145 priority patent/US8208541B2/en
Priority to CN2007100916446A priority patent/CN101052128B/zh
Publication of JP2007281630A publication Critical patent/JP2007281630A/ja
Application granted granted Critical
Publication of JP4757080B2 publication Critical patent/JP4757080B2/ja
Expired - Fee Related 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/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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/423Methods 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 characterised by memory arrangements
    • H04N19/426Methods 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 characterised by memory arrangements using memory downsizing methods
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

【課題】外部フレームメモリから内部参照用ローカルメモリへの画素データ転送量を削減した動き検出装置において、メモリ容量の削減と、画素転送を制御する回路の規模削減もしくは処理ステップの削減する動き検出装置を提供する。
【解決手段】参照メモリ管理手段FMCtrと内部参照用メモリIRMにおいて、更新すべき領域の高さをL画素(Lは2の累乗)とし、アドレス計算がしやすい大きさの論理アドレス区画をピクチャ空間に割り当て、FIFO管理を行う、もしくは、補助メモリを追加し、補助メモリ以外が従来の画面幅の矩形領域でFIFO管理を行うようにすることによってアドレス計算を簡略化し、内部参照メモリと参照メモリ管理手段における実装回路の削減を実現する。
【選択図】図1

Description

本発明は、ピクチャを構成するブロックの動き検出を行う動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置に関する。
近年、音声、画像、その他の画素値を統合的に扱うマルチメディア時代を迎え、従来からの情報メディア、つまり新聞、雑誌、テレビ、ラジオ、電話等の情報を人に伝達する手段がマルチメディアの対象として取り上げられるようになってきた。一般に、マルチメディアとは、文字だけでなく、図形、音声、特に画像等を同時に関連づけて表すことをいうが、上記従来の情報メディアをマルチメディアの対象とするには、その情報をディジタル形式にして表すことが必須条件となる。
ところが、上記各情報メディアの持つ情報量をディジタル情報量として見積もってみると、文字の場合1文字当たりの情報量は1〜2バイトであるのに対し、音声の場合1秒当たり64Kbits(電話品質)、さらに動画については1秒当たり100Mbits(現行テレビ受信品質)以上の情報量が必要となり、上記情報メディアでその膨大な情報をディジタル形式でそのまま扱うことは現実的では無い。例えば、テレビ電話は、64Kbit/s〜1.5Mbits/sの伝送速度を持つサービス総合ディジタル網(ISDN : Integrated Services Digital Network)によってすでに実用化されているが、テレビ・カメラの映像をそのままISDNで送ることは不可能である。
そこで、必要となってくるのが情報の圧縮技術であり、例えば、テレビ電話の場合、ITU‐T(国際電気通信連合 電気通信標準化部門)で勧告されたH.261やH.263規格の動画圧縮技術が用いられている。また、MPEG‐1規格の情報圧縮技術によると、通常の音楽用CD(コンパクト・ディスク)に音声情報とともに画像情報を入れることも可能となる。
ここで、MPEG(Moving Picture Experts Group)とは、ISO/IEC(国際標準化機構 国際電気標準会議)で標準化された動画像信号圧縮の国際規格であり、MPEG‐1は、動画像信号を1.5Mbpsまで、つまりテレビ信号の情報を約100分の1にまで圧縮する規格である。また、MPEG‐1規格では対象とする品質を伝送速度が主として約1.5Mbpsで実現できる程度の中程度の品質としたことから、さらなる高画質化の要求をみたすべく規格化されたMPEG‐2では、動画像信号を2〜15MbpsでTV放送品質を実現する。さらに現状では、MPEG‐1、MPEG‐2と標準化を進めてきた作業グループ(ISO/IEC JTC1/SC29/WG11) によって、MPEG‐1、MPEG‐2を上回る圧縮率を達成し、更に物体単位で符号化・復号化・操作を可能とし、マルチメディア時代に必要な新しい機能を実現するMPEG‐4が規格化された。MPEG‐4では、当初、低ビットレートの符号化方法の標準化を目指して進められたが、現在はインタレース画像も含む高ビットレートも含む、より汎用的な符号化に拡張されている。
更に、2003年に、ISO/IECとITU‐Tが共同でより高圧縮率の画像符号化方式として、MPEG‐4AVCおよびH.264 が標準化されている。現在、HD(High Definition)画像などに適したHigh Profile対応の改正規格案を策定中である。H.264規格のアプリケーションとしては、MPEG‐2やMPEG‐4と同様にディジタル放送、DVD(Digital Versatile Disk)プレーヤ/レコーダ、ハードディスクプレーヤ/レコーダ、カムコーダ、テレビ電話などに広がることが予想されている。
一般に動画像の符号化では、時間方向および空間方向の冗長性を削減することによって情報量の圧縮を行う。そこで時間的な冗長性の削減を目的とする画面間予測符号化では、前方または後方のピクチャを参照してブロック単位で動きの検出および予測画像の作成を行い、得られた予測画像と符号化対象ピクチャとの差分値に対して符号化を行う。ここで、ピクチャとは1枚の画面を表す用語であり、プログレッシブ画像ではフレームを意味し、インタレース画像ではフレームもしくはフィールドを意味する。ここで、インタレース画像とは、1つのフレームが時刻の異なる2つのフィールドから構成される画像である。インタレース画像の符号化や復号化処理においては、1つのフレームをフレームのまま処理したり、2つのフィールドとして処理したり、フレーム内のブロック毎にフレーム構造またはフィールド構造として処理したりすることができる。
参照画像を持たず画面内予測符号化を行うものをIピクチャと呼ぶ。また、1枚の参照画像のみを参照し画面間予測符号化を行うものをPピクチャと呼ぶ。また、同時に2枚の参照画像を参照して画面間予測符号化を行うことのできるものをBピクチャと呼ぶ。Bピクチャは表示時間が前方もしくは後方から任意の組み合わせとして2枚のピクチャを参照することが可能である。参照画像(参照ピクチャ)は符号化の基本単位であるマクロブロックごとに指定することができるが、符号化を行ったビットストリーム中に先に記述される方の参照ピクチャを第1参照ピクチャ、後に記述される方を第2参照ピクチャとして区別する。ただし、これらのピクチャを符号化する場合の条件として、参照するピクチャが既に符号化されている必要がある。
Pピクチャ又はBピクチャの符号化には、動き補償画面間予測符号化が用いられている。動き補償画面間予測符号化とは、画面間予測符号化に動き補償を適用した符号化方式である。動き補償とは、単純に参照フレームの画素値から予測するのではなく、ピクチャ内の各部の動き量(以下、これを動きベクトルと呼ぶ)を検出し、当該動き量を考慮した予測を行うことにより予測精度を向上すると共に、データ量を減らす方式である。例えば、符号化対象ピクチャの動きベクトルを検出し、その動きベクトルの分だけシフトした予測値と符号化対象ピクチャとの予測残差を符号化することによりデータ量を減している。この方式の場合には、復号化の際に動きベクトルの情報が必要になるため、動きベクトルも符号化されて記録又は伝送される。
動きベクトルはマクロブロック単位で検出されており、具体的には、符号化対象ピクチャ側のマクロブロックを固定しておき、参照ピクチャ側のマクロブロックを探索範囲内で移動させ、基準ブロックと最も似通った参照ブロックの位置を見つけることにより、動きベクトルが検出される。
図 21は従来の画面間予測符号化装置の説明するためのブロック図である。
この画面間予測符号化装置は、動き検出器MEと、マルチフレームメモリFrmMemと、減算器Sub1と、減算器Sub2と、動き補償器MCと、符号化器Encと、加算器Add1と、動きベクトルメモリMVMemと、動きベクトル予測器MVPredとを有している。
動き検出器MEは、マルチフレームメモリFrmMemから出力される動き検出参照画素MEpelを画面信号Vinと比較し、動きベクトルMVと参照フレーム番号RefNoを出力する。参照フレーム番号RefNoは、複数の参照画像の中から選択された、対象画像の符号化で参照する参照画像を特定する識別信号である。動きベクトルMVは、動きベクトルメモリMVMemに一時的に記憶されたのち近傍動きベクトルPrevMVとして出力され、動きベクトル予測器MVPredにて予測動きベクトルPredMVを予測するために参照される近傍動きベクトルPrevMVとして使用される。減算器Sub2は動きベクトルMVから予測動きベクトルPredMVを減算し、その差を動きベクトル予測差分DifMVとして出力する。
一方、マルチフレームメモリFrmMemは参照フレーム番号RefNoおよび動きベクトルMVで示される画素を動き補償参照画素MCpe11として出力し、動き補償器MCは小数画素精度の参照画素を生成して参照画面画素MCpe12を出力する。減算器Sub1は画面信号Vinから参照画面画素MCpe12を減算し、画面予測誤差DifPelを出力する。
符号化器Encは、画面予測誤差DifPelと動きベクトル予測差分DifMVと参照フレーム番号RefNoを可変長符号化し、符号化信号Strを出力する。なお、符号化時に画面予測誤差の復号化結果である復号画面予測誤差RecDifPelも同時に出力する。復号画面予測誤差RecDifPelは画面予測誤差DifPelに符号化誤差が重畳されたものであり、画面間予測復号化装置で符号化信号Strを復号化して得られる画面間予測誤差と一致する。
加算器Add1は参照画面画素MCpe12に復号画面予測誤差RecDifPelを加算し、復号画面RecPelとしてマルチフレームメモリFrmMemに記憶される。但し、マルチフレームメモリFrmMemの容量を有効に利用するため、マルチフレームメモリFrmMemに記憶されている画面の領域は不要な場合は開放され、またマルチフレームメモリFrmMemに記憶する必要が無い画面の復号画面RecPelはマルチフレームメモリFrmMemに記憶されない。
図 22は従来の画面間予測復号化装置の説明するためのブロック図である。同図において、図 21と同一符号はと同一のものを示し、その説明を省略する。
図 22に示す従来の画面間予測復号化装置は、図 21に示す従来の画面間予測符号化装置で符号化した符号化信号Strを復号化して復号画面信号Voutを出力するものであり、マルチフレームメモリFrmMemと、動き補償器MCと、加算器Add1と、加算器Add2と、動きベクトルメモリMVMemと、動きベクトル予測器MVPredと、復号化器Decとを有している。
復号化器Decは符号化信号Strを復号化し、復号画面予測誤差RecDifPel、動きベクトル予測差分DifMV、参照フレーム番号RefNoを出力する。加算器Add2は動きベクトル予測器MVPredから出力される予測動きベクトルPredMVと動きベクトル予測差分DifMVを加算し、動きベクトルMVを復号する。
マルチフレームメモリFrmMemは参照フレーム番号RefNoおよび動きベクトルMVで示される画素を動き補償参照画素MCpel1として出力し、動き補償器MCは小数画素精度の参照画素を生成して参照画面画素MCpel2を出力する。加算器Add1は参照画面画素MCpel2に復号画面予測誤差RecDifPelを加算し、復号画面RecPelとしてマルチフレームメモリFrmMemに記憶される。但し、マルチフレームメモリFrmMemの容量を有効に利用するため、マルチフレームメモリFrmMemに記憶されている画面の領域は不要な場合は開放され、またマルチフレームメモリFrmMemに記憶する必要が無い画面の復号画面RecPelはマルチフレームメモリFrmMemに記憶されない。以上のようにして、復号画面信号Vout、すなわち復号画面RecPelを符号化信号Strから正しく復号化することができる。
ところで、図 21で示した画面間予測符号化装置を実装するための構成は、一例として例えば特許文献1などに示されている。この特許文献1において示されているように、画面間予測符号化装置をLSIなどで実装する場合には、図 21に示しているマルチフレームメモリFrmMemは、LSI外に接続する外部フレームメモリと動き検出器MEでブロックマッチング探索時に直接アクセスするLSI内部のローカルメモリとに分割して実装される。
図 23は、マルチフレームメモリFrmMemの具体例を示す画面間予測符号化装置とフレームメモリの接続構成を説明するための概略図である。同図において、図 21と同一符号はと同一のものを示し、その説明を省略する。マルチフレームメモリFrmMemは、外部フレームメモリEFMと、LSI内部の参照用ローカルメモリRLMとからなる。外部フレームメモリEFMは、画面間予測符号化装置を含むLSI外に接続される外部フレームメモリである。参照用ローカルメモリRLMは、LSI内部のメモリであり、動き検出器MEによってブロックマッチング探索時に直接アクセスされる。LSIEncLSIは画面間予測符号化装置を含むLSIであり、参照用ローカルメモリRLM以外は省略している。
図 23において動き検出を行う場合、まず外部フレームメモリEFMから探索対象となる画像領域が外部接続バスFmBusを介して参照用ローカルメモリRLMに転送される。次に参照用ローカルメモリRLMから内部バスLmBusを介してデータが読み出され、動き検出器MEによって動き検出が行われる。このような構成をとることによって、LSIの内部メモリ容量を削減している。
図 24は、1画面あたりで転送する参照画素の状態を示す模式図である。同図上段は外部フレームメモリEMF中の1画面分の参照画像を示す。同図下段は参照用ローカルメモリRLMに記憶される探索対象となる画像領域と、および次の探索対象のために転送される画像領域とを示す。同図において、1MB(マクロブロック)単位(=16画素×16画素)で動き検出処理を行う場合、1MB行分の動き検出を行うためには、(探索範囲の縦の長さ)×(1画面の横幅)分の画素数のメモリ転送が必要となることを表している。1画面分の動き検出を行う時には、さらに1画面の縦のMB数をかけた分の画素数のメモリ転送量が必要であることを示している。つまり、MPEG‐2などのSDサイズ画像(720画素×480画素、45MB×30MB)で、縦横1MB分ずつ移動した画素範囲を探索範囲とした場合、
(16+16×2)×720×30=1,036,800
の画素が1画面あたりの動き検出で転送されることになる。
ここで、H.264のSDサイズ画像を想定した参照用ローカルメモリの管理状態を考えると、小数画素精度の動き補償には6タップのフィルタを用いるため、従来のMPEG‐2などより周辺画素が多く必要となる(例えば、非特許文献1参照。)。つまり、MPEG‐2などでは小数精度画素位置を囲む4つの整数画素から小数精度画素を作っていたが、6タップフィルタの場合36の整数画素から小数精度画素を作るため、同じ領域で探索を行う場合、MPEG‐2と比べ上2行、下2行、左2列、右2列の画素が必要となる。従って、H.264などのSDサイズ画像で、縦横1MB分ずつ移動した画素範囲を探索範囲とした場合、
(16+16×2+4)×720×30=1,123,200
の画素が1画面あたりの動き検出で転送されることになる。
また、HDサイズ(1920画素×1088画素、120MB×68MB)の画像を扱う場合、特にH.264による符号化を行う場合には、前述の1画面あたりの画素転送量が大幅に増加してしまい、図 23に示す外部バスFmBusの転送能力を超えてしまう可能性がある。
例えば、MPEG‐2のHDサイズ画像を想定した参照用ローカルメモリの管理状態を想定する。この場合、HDサイズの画像はSDサイズの画像に対して約6倍の画素数を持つため、簡単のため上下、左右それぞれ2.5倍の参照領域を探索するものとすれば、縦横の探索範囲は縦横40画素分ずつ移動した画素範囲となり、同様に、
(16+40×2)×1,920×68=12,533,760
の画素が1画面あたりの動き検出で転送されることになる。
さらに、H.264のHDサイズ画像を想定した参照用ローカルメモリの管理状態を想定した場合、同様に、
(16+40×2+4)×1,920×68=13,056,000
の画素が1画面あたりの動き検出で転送されることになる。
このように、特にH.264のHDサイズの画像を扱う場合には、MPEG‐2のSDサイズとは桁違いに多い転送量となる。そのため、面積コストを犠牲にして画像転送量を削減する手法が考えられる。 図 25は、参照画素の転送量を削減する場合のメモリ更新状態を示す模式図である。
符号化対象のストリームに含まれる1ピクチャPicがフレーム構造をとる場合、SD画像サイズではピクチャの幅picWidthと高さpicHeightはそれぞれ45MB(=720画素)と30MB(=480画素)となり、HD画像サイズではそれぞれ120MB(=1,920画素)と68MB(=1,088画素)となる。以降、ピクチャの幅picWidthと高さpicHeightはそれぞれM(MB)とN(MB)であるものとする。
動き検出器MEにおいて原画像のn行目のMBについて動き検出が行われている場合、参照用ローカルメモリRLMには、原画像のn行目のMBで参照されるピクチャの幅picWidth×参照高さ分の画素データが格納されている。すなわち、SD画像サイズでは、原画像のn行目に対応する行のMBに、上下1MB分ずつ加えた参照高さ分の画素データが格納されている。また、HD画像サイズでは、原画像のn行目に対応する行のMBに、上下40画素分ずつ加えた参照高さ分の画素データが格納されている。なお、原画像におけるm列目のn行目の符号化対象MBのための参照画像における探索中心meCntは、原画像の対象MBと同じ位置となっているかもしれないが、異なる位置にずらした所を探索中心meCntとなっているかもしれない。
このように、実探索領域よりも広い領域を予備記憶領域として残すことによって、画像転送量をおおよそ(1MB単位高さ)/(探索範囲の縦の高さ)にまで削減することが出来る。
また、図 26は、実装メモリ容量を削減する場合の格納画素の管理状態を示す模式図である。参照領域RefAreaは、動き検出器MEにおいて参照する領域、予備記憶領域SubAreaは、動き検出処理中の符号化対象ブロックとの参照には用いないが現在処理中以降の動き検出で参照に用いる領域、次回取得領域NxtAreaは、次の符号化対象ブロックとの参照に用いる領域、また、次回開放領域RelAreaは、次の符号化対象ブロック以降の参照には不要になる領域であり、物理的なメモリ領域として次回取得領域NxtAreaが上書きされる。面積コストの増加を抑制するためには、同図で示しているように、参照用ローカルメモリRLMに配置する領域において、予備記憶領域SubAreaを削減することで実現可能となる。
しかしながら、図 26に示したように、参照用ローカルメモリRLMにおいて矩形領域を組み合わせた領域に対して、メモリアドレスをFIFO的に扱うと、アドレス管理が非常に困難になる。図 27は、FIFO管理を用いた時の参照メモリの論理境界における物理アドレス配置図である。簡単のため、同図では横320画素×縦240画素のQVGAサイズのピクチャを示しており、動き検出範囲の垂直水平方向がそれぞれ±16画素であり、1ワードあたり8画素格納されているとした場合、ラスターアドレスで左上からアドレスマッピングを行った時に、0アドレスを跨ぐ付近のアドレス状態を示している。
図 27(a)において、点線で囲んだ領域HLAは、参照用ローカルメモリRLMにおいてアドレス0から最終アドレスまで一度に格納できる領域を示しており、同図ではピクチャの先頭からアドレス0を割り振った時の領域となっている。例の場合では、横に40ワード(320画素)で、縦に32ワード(240画素)並んだ領域(右下がり斜線と横線を付けた部分)と、横が探索領域の一部である6ワード(48画素)と更新領域の2ワード(16画素)で、縦に16ワード(縦に16画素)が並んだ領域(点をつけている部分)の合計1408ワードが含まれていることを想定している。また、図 27(b)は、先頭の1MB(マクロブロック)分を構成する物理アドレス番地を示している。図 27(b)では、1MBの横が16画素の2ワードで構成されており、画面横のサイズが320画素(=40ワード)となっているので、縦方向は40刻みのアドレス番地が割り振られている状態を表している。
図 27(c)は、点線で囲んだ領域HLAの領域を超える境界周辺の画素空間の物理アドレスを示したものである。領域HLAを画素転送によって全て埋めてしまった後にさらに次に転送されるMBを格納する場合、参照用ローカルメモリRLMをFIFOとして扱い、次回開放領域RelAreaであるピクチャ左上隅と同じ物理アドレスを割り振ることになる。つまり、一度に参照用ローカルメモリRLMに格納しきれない右上がり斜線部で示した領域HLAを超える部分は、動き検出使用済みとして消去しても問題ない画面左上のMBの画素を格納していた物理アドレス(図 27(b)の物理アドレス)に上書きをすることになる。
従って、図 27(c)の丸印付近の画素転送を行う場合、領域HLAを跨ぐ部分でアドレスに不整合が生じ、一般的なラスターアドレスでのデータアクセスが不可能となる。また、この0アドレスを跨ぐ水平位置に関しても、垂直位置に依存するため一意には決まらず、アドレス計算がさらに困難となる。
以上に説明したように、参照用ローカルメモリRLMにおいて矩形領域の組合せで構成した領域に対して物理アドレスをFIFO管理する必要がある場合、中途半端な画素空間位置でアドレスが使いまわされることになるので、扱いが非常に難しくなり、乗算だけでなく多くの除算や剰余計算が必要となる。従って、複雑なアドレス計算を必要とする結果として、ハード実装の場合では回路面積が大きくなったり、処理周波数辺りの動作タイミングが厳しくなったりし、一方、ソフト実装の場合では、莫大な処理サイクル数がかかるようになったりするという課題が存在する。
特許第2963269号公報 ISO/IEC 14496-10, International Standard: "Information technology - Coding of audio-visual objects - Part 10 : Advanced video coding"(2004-10-01)
そこで、本発明は上記の事情に鑑みてなされたものであり、外部のフレームメモリから内部参照用ローカルメモリへのデータ転送の回数を削減した動き検出装置において、メモリ容量の削減と、実装回路規模もしくは処理ステップの削減を両立した動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置を提供することを目的とする。
上記目的を達成するため、本発明に係る動き検出装置は、ピクチャを構成するブロック毎に動きを検出する動き検出装置であって、参照ピクチャを記憶する記憶手段と、前記参照ピクチャのうち前記記憶手段から転送された転送領域を構成する画素データを記憶する参照メモリ手段と、前記参照メモリ手段に記憶されている、転送領域に含まれる探索領域の画素データを用いて動き検出の対象となる対象ブロックの動きを検出する動き検出手段と、次の対象ブロック用に、前記転送領域の一部を更新するメモリ管理手段とを備え、前記転送領域は、第1から第3の矩形領域からなり、前記第1の矩形領域は、前記探索領域を含み、前記第2の矩形領域の幅は前記参照ピクチャの左端の画素から第1の矩形領域の左端の左に隣接する画素までの幅であり、前記第2の矩形領域の高さは第1の矩形領域の高さよりもL画素小さく、前記第2の矩形領域の下端は第1の矩形領域の下端と同じ水平位置であり、前記第3の矩形領域の幅は前記参照ピクチャの右端の画素から第1の矩形領域の右端の右に隣接する画素までの幅であり、前記第3の矩形領域の高さは第1の矩形領域の高さよりもL画素小さく、前記第3の矩形領域の上端は第1の矩形領域の上端と同じ水平位置であり、前記Lは2の累乗で表され、前記メモリ管理手段は、前記参照メモリ手段内の記憶領域であって、前記第1の領域内の左上に位置する高さL画素幅K画素分の画素データを記憶する記憶領域に、第1の領域の右に隣接しかつ第3領域の下に隣接する高さL画素幅K画素からなる更新領域の画素データを前記記憶手段から転送する。
これによって、マルチフレームメモリから局所参照メモリへの参照画素データ転送量を削減し、局所参照メモリの実装量も削減しつつ、参照メモリ管理手段で行う演算を簡略化が可能となり、回路実装量も削減することができる。
ここで、前記メモリ管理手段は、参照ピクチャを縦にM列に等分割し、高さL画素毎に横に分割し、転送領域の横分割による横の分割数をN行とし、参照メモリ手段を、「M×(N−1)+1」以上「M×N−1」以下の個数のメモリバンクに分割し、分割後のメモリバンクを巡回的に先入れ先出し式に管理するようにしてもよい。これによって、参照メモリ管理手段で行う物理メモリマップへのアドレス変換において、複雑な除算、剰余、乗算などの演算を削減できるようになり、さらに参照メモリ管理手段で行う演算を簡略化が可能となり、回路実装量も削減することができる。
また、前記メモリ管理手段は、参照ピクチャを含みかつ水平方向に2の累乗個のアドレスを持つ仮想空間を、2の累乗で表されるM列に縦に等分割し、高さL画素毎に横に分割し、転送領域の横分割による横の分割数をN行とし、参照メモリ手段を、「M×(N−1)+1」以上「M×N−1」以下の個数のメモリバンクに分割し、分割後のメモリバンクを巡回的に先入れ先出し式に管理するようにしてもよい。これによって、参照メモリ管理手段で行う物理メモリマップへのアドレス変換において、ビットシフトやビットマスクやビット連結などで実装できるため、さらに参照メモリ管理手段で行う演算を簡略化が可能となり、回路実装量も削減することができる。
また、前記第1の矩形領域は、その下端からL画素の高さまでの部分である第4矩形領域とそれ以外の第5矩形領域からなり、前記参照メモリ手段は、第1メモリ部と補助メモリ部とを有し、前記第1メモリ部は、前記第5の矩形領域と前記第2の矩形領域と前記第3の矩形領域を先入れ先出し式に格納し前記補助メモリ部は、前記第4の矩形領域を先入れ先出し式に格納し、前記参照メモリ管理部は、次の対象ブロック用に、補助メモリ部から前記第4の矩形領域左端の縦L画素横K画素分の画素データを第1メモリ部に転送し、さらに、前記記憶手段から前記更新領域の画素データを先入れ先出し式に前記補助メモリ部に転送するようにしてもよい。これによって、前記第4の矩形領域以外は、(参照ピクチャ幅)×(探索領域の高さ−更新領域の高さ)のメモリ容量で管理ができるため、参照メモリ管理手段で行う演算を簡略化が可能となり、回路実装量を削減することができる。
また、前記補助メモリ部は、さらに、前記第4の矩形領域の下に接し同じ横幅の第6の矩形領域を格納し、前記メモリ管理手段は、次の対象ブロック用に、前記補助メモリ部から前記第4の矩形領域左端の縦L画素横K画素分の画素データを第1メモリ部に転送し、さらに、前記第4の矩形領域と前記第6の矩形領域とを一括して先入れ先出し式に前記補助メモリ部を管理し、前記更新領域を下に拡張した拡張更新領域を、前記記憶手段から前記補助メモリ部に転送し、前記動き検出手段は前記第4の矩形領域と前記第5の矩形領域と前記第6の矩形領域を用いて動き検出の探索を行うようにしてもよい。これによって、フレームメモリの転送量は増加するが、最低限のメモリ追加で動き検出の探索範囲の高さを拡張することが可能となる。
また、前記第1の矩形領域は、その上端からL画素の高さまでの部分である第7の矩形領域とそれ以外の第8の矩形領域からなり、前記参照メモリ手段は、第1メモリ部と補助メモリ部とを有し、前記第1メモリ部は、前記第8の矩形領域と前記第2の矩形領域と前記第3の矩形領域を先入れ先出し式に格納し、前記補助メモリ部は、前記第7の矩形領域を先入れ先出し式に格納し、前記参照メモリ管理部は、次の対象ブロック用に、前記第1メモリ部から前記第7の矩形領域右端の縦L画素横K画素分の画素データを前記補助メモリ部に転送し、さらに、前記記憶手段から前記更新領域の画素データを先入れ先出し式に第1メモリ部に転送するようにしてもよい。これによって、前記第7の矩形領域以外は、(参照ピクチャ幅)×(探索領域の高さ−更新領域の高さ)のメモリ容量で管理ができるため、参照メモリ管理手段で行う演算を簡略化が可能となり、回路実装量を削減することができる。
また、前記補助メモリ部は、さらに、前記第7の矩形領域の上に接し同じ横幅の第9の矩形領域を格納し、前記メモリ管理手段は、次の対象ブロック用に、第1メモリ部から前記第7の矩形領域右端の縦L画素横K画素分の画素データを前記補助メモリ部に転送し、さらに、前記第7の矩形領域と前記第9の矩形領域とを一括して先入れ先出し式に前記補助メモリ部を管理し、前記更新領域を、前記記憶手段から前記第1メモリ部に転送する。
前記動き検出手段は前記第7の矩形領域と前記第8の矩形領域と前記第9の矩形領域を用いて動き検出の探索を行うようにしてもよい。これによって、フレームメモリの転送量は増加するが、最低限のメモリ追加で動き検出の探索範囲の高さを拡張することが可能となる。
なお、本発明は、このような動き検出装置として実現することができるだけでなく、このような動き検出装置が備える特徴的な手段をステップとする動き検出方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
以上の説明から明らかなように、本発明に係る動き検出装置によれば、外部のフレームメモリから内部参照用ローカルメモリへのデータ転送の回数を削減できると同時に、メモリ容量の削減と、ハードウェア実装回路規模もしくはソフトウェア実装の処理ステップの削減を両立することができる。
以下、本発明の各実施の形態について、それぞれ図 1から図 20を参照しながら説明する。
(実施の形態1)
図 1は、本発明の実施の形態1に係る動き検出装置が用いられる画面間予測符号化装置の構成を示すブロック図である。なお、図 21に示す従来の画面間予測符号化装置の説明するためのブロック図と同様の部分については同じ符号を付し、その説明を省略する。
本実施の形態の画面間予測符号化装置と図 21に示す従来の画面間予測符号化装置との相違点は、マルチフレームメモリFrmMemの代わりに外部マルチフレームメモリEFMと内部参照用メモリIRMとを備える点と、参照メモリ制御部FMCtrを追加している点とである。内部参照用メモリIRMは、画面間予測符号化装置内の外部マルチフレームメモリEFM以外の構成要素を含むLSIの内部に設けられる。外部マルチフレームメモリEFMは、例えば上記LSIに外付けのSDRAMなどの大容量メモリである。参照メモリ制御部FMCtrは、外部マルチフレームメモリEFMから内部参照用メモリIRMへのデータ転送を制御する。
動作の流れは、図 21に示す従来の画面間予測符号化装置の動作とほぼ同じであり、加算器Add1からの加算結果である復号画面RecPelは外部マルチフレームメモリEFMに記憶される。次に、外部マルチフレームメモリEFMから動き補償予測で用いる領域を、参照用ローカルメモリRLMに出力する。また、参照メモリ管理手段FMCtrは、外部マルチフレームメモリEFMと内部参照メモリIRM間のデータ転送を制御する。
図 2は画面間予測符号化装置とフレームメモリの接続構成を示す概略図である。同図において、図 1や図 23と同一符号は同一のものを示し、その説明を省略する。内部参照メモリIRMは、外部マルチフレームメモリEFMからの画素転送を一次記憶するキャッシュメモリOCMと、動き検出器MEで実際に画素探索を行う参照用ローカルメモリRLMとに階層的に構成している。これは、LSI外部からの画素転送量を削減するための一次バッファとしてキャッシュメモリOCMを用い、よりアクセス頻度が高く実際に探索を行うためのメモリとして参照用ローカルメモリRLMを用いているためである。
以下、参照メモリ管理手段FMCtrによって制御する内部参照メモリIRMの動作に関して説明を続ける。
図 3はキャッシュメモリと参照用ローカルメモリの記憶領域を示す模式図である。同図に置いて、参照領域AreaRLMは参照用ローカルメモリRLMに格納される領域を表しており、探索領域とその右に隣接する更新用領域とを含む。キャッシュ領域AreaOcmは参照領域AreaRLMを含んでおり、キャッシュメモリOCMに格納される領域を表している。
図 4はキャッシュメモリ上に記憶する矩形領域構成を示す模式図である。キャッシュ領域AreaOcmの領域形状をさらに詳細に説明している。矩形領域1ARect1は参照領域AreaRLMを含んだ矩形領域である。矩形領域2ARec2は矩形領域1ARect1の左側に位置する矩形領域であり、矩形領域2ARec2の幅は参照ピクチャの左端の画素から矩形領域1ARect1の左端の左に隣接する画素までの幅であり、矩形領域2ARec2の高さは矩形領域1ARect1の高さよりもL画素小さく、矩形領域2ARec2の下端は矩形領域1ARect1の下端と同じ水平位置である。また、矩形領域3ARec3は矩形領域1ARect1の右側に位置する矩形領域であり、矩形領域3ARec3の幅は前記参照ピクチャの右端の画素から矩形領域1ARect1の右端の右に隣接する画素までの幅であり、矩形領域3ARec3の高さは矩形領域1ARect1の高さよりもL画素小さく、矩形領域3ARec3の上端は矩形領域1ARect1の上端と同じ水平位置である。また、次回取得領域ARenewは次のブロックの探索のために追加するメモリ領域であり、次回開放領域AEraseは矩形領域1ARect1内の左上に位置する高さ領域であり、キャッシュメモリOCMにおいて次回開放領域AEraseと次回取得領域ARenewとは物理的に同じメモリ領域であり、FIFOの先頭(次回取得領域ARenew)と末尾(次回開放領域AErase)に相当し、上書きされる領域である。ここで、参照ピクチャRefPicの横をW画素、縦をH画素とし、動き検出を行う領域の横幅がJ画素以下、縦幅がI画素以下とし、次回取得領域ARenewと次回開放領域AEraseの大きさを横K画素、縦L画素とする時、矩形領域1ARect1の対頂角の座標は(X,Y)と(X+I−1,Y+J−1)、矩形領域2ARect2の対頂角の座標は(0、Y+L)と(X−1,Y+J−1)、矩形領域3ARect3の対頂角の座標は(X+I、Y)と(W−1,Y+J−L−1)となる。
図 5は次の動き検出を行う時の矩形領域構成を示す模式図である。同図において図 4と同じ記号のものは同じ内容を表すものとして、説明を省略する。ただし、次回取得領域ARenewと次回開放領域AEraseは、一つ前のブロックに対する動き探索状態の位置となっている。動き探索のブロックが一つ進み、図 4の状態から図 5なった時、矩形領域1ARect1の対頂角の座標は(X+K,Y)と(X+I+K−1,Y+J−1)、矩形領域2ARect2の対頂角の座標は(0、Y+L)と(X+K−1,Y+J−1)、矩形領域3ARect3の対頂角の座標は(X+K+I、Y)と(W−1,Y+J−L−1)となる。
基本的な領域操作は、図 4と図 5で示すように行うが、以下、物理アドレスの計算方法を示す。本発明における実施の形態1では、次回取得領域ARenewの縦の長さと次回開放領域AEraseの縦の長さは、2の累乗の長さに限定することによって、論理空間アドレスから物理アドレスへの変換を容易に行うことを可能とする。例えば、符号化ブロックの縦の高さが12画素であったとしても、Lを16(=2^4、^は累乗を表す。)画素として更新を行う。また、1ワードの画素構成数も2の累乗であることが望ましい。
図 6は本発明の実施の形態1に係る動き検出装置におけるアドレス変換の中間情報の位置を示す模式図である。同図では簡単のため、図 27と同様に横320画素×縦240画素のQVGAサイズのピクチャを示しており、1ワードが8画素で構成されている。また、太線で囲んだ領域HLAは、動き検出の縦が±16画素で横が±16画素(±2ワード)で、更新領域が(横16画素(=2ワード))×(縦48画素)の場合に、物理アドレスが0から1,407がマッピングされる一区域を示しており、太線を越えた論理空間位置にメモリ書き込みが発生する場合は、物理的には前のデータを上書きすることによってFIFOとしてキャッシュメモリOCMを使用することになる。言い換えれば、複数の領域HLAのそれぞれの先頭画素は、巡回的にFIFOとして管理されるキャッシュメモリOCMの固定の特定番地(例えば、物理アドレス0番地)に必ず格納されることになる。
同図において、小領域SAは(1ワード)×(L画素)の小領域を表しており、本実施の形態1ではLを2の累乗とすることによって、アドレス計算を容易にしている。A0及びA1は小領域SAが左上の原点からラスター順でいくつかを表している。B0及びB1は太線で囲んだ領域HLAにおいていくつ目の小領域SAかを表しており、C0及びC1は小領域SAがいくつ目の太線で囲んだ領域HLAに存在するかを示している。また、D0及びE0は、対象ピクチャの最初の領域HLAにおいて、小領域SAと同じ物理メモリアドレス位置となる位置の小領域SA単位の水平位置と垂直位置を示している。
図 7は本発明の実施の形態1に係る動き検出装置におけるアドレス変換を行うためのフローチャートである。図 7(a)は、従来と同様になるようにラスターアドレスで物理アドレスを計算するフローであり、図 7(b)は、小領域SA内で連続アドレスとなるように計算するフローである。以下、これらのアドレス変換のフローを説明する。
図 7(a)において、S700はアドレス変換処理の開始を示している。変換したい空間座標を(x0, y0)とした時、まず、A0と小領域SA内での相対座標(delta_x0, delta_y0)を求める(ステップS701)。ここで、図 6ではLを16画素としており、1ワードも8画素にしているため、A0や相対座標(delta_x0, delta_y0)を求める時に除算や剰余を求める時に、ビットシフトとビットマスクで対応可能となる。以下、「>>」はビットシフトを表し、「&」はビットアンドを表し、「%」は剰余演算を表し、「/」は整数除算を表している。
A0 = (y0>>4)*40+(x0>>3); (数式1)
delta_ x0 = x0&0x7; (数式2)
delta_ y0 = y0&0xF; (数式3)
次に、A0を太線で囲んだ領域HLAの構成ワード数の88を用いて除算と剰余を計算し、B0とC0を求める(ステップS702)。
B0 = A0%88; (数式4)
C0 = A0/88; (数式5)
次に、参照ピクチャRefPicの横幅ワード数の40を用いて除算と剰余を計算し、D0とE1を求める(ステップS703)。
D0=B0%40; (数式6)
E1=B0/40; (数式7)
最後にB0が80より小さいかどうかを判断し(ステップS704)、等しければ(数式8)を用い(ステップS705)、もし等しくなければ(数式9)を用いて(ステップS706)物理アドレスadr0に変換する。
adr0 = D0 + (E0*40)<<4 + delta_y0*40; (数式8)
adr0 = D0 + (E0*40)<<4 + delta_y0*8; (数式9)
ここで、小領域SAの高さLを2の累乗としているため、(数式8)や(数式9)でも乗算ではなく、ビットシフト(4ビット左シフト)で対応可能となっている。
さらに、図 7(b)のように小領域SA内で連続となるようにアドレスを振ることによって、計算をより簡略化することが可能となる。S710はアドレス変換処理の開始を示している。変換したい空間座標を(x1, y1)とした時、まず、A1と小領域SA内での相対座標(delta_x1, delta_y1)を求める(ステップS711)。ここで、図 7(a)と同様に、1ワードを8画素にしているため、A1や相対座標(delta_x1, delta_y1)を求める時に除算や剰余を求める時に、ビットシフトとビットマスクで対応可能となる。
A1 = (y1>>4)*40+(x1>>3); (数式10)
delta_ x1 = x1&0x7; (数式11)
delta_ y1 = y1&0xF; (数式12)
次に、A1を太線で囲んだ領域HLAの構成ワード数の88を用いて除算と剰余を計算し、B1とC1を求める(ステップS712)。
B1 = A1%88; (数式13)
C1 = A1/88; (数式14)
最後に(数式15)を用いて(ステップS713)物理アドレスadr1に変換する。
adr1 = B1<<4 + delta_y1; (数式15)
ここでも同様に、小領域SAの高さLを2の累乗としているため、(数式15)でも乗算ではなく、ビットシフト(4ビット左シフト)で対応可能となっている。
(実施の形態2)
以下、実施の形態2にける、参照メモリ管理手段FMCtrによって制御する内部参照メモリIRMの動作を説明する。
図 8は本発明の実施の形態2に係る動き検出装置で用いる参照ピクチャ画素を格納する管理領域を示す模式図である。本発明の実施の形態2では、キャッシュメモリOCM上の論理空間において、横方向はピクチャ幅を2の累乗個に分割し、縦の高さを次回取得領域ARenewの高さLとした区画に分割し、前記区画をFIFOとして巡回管理する。同図では区画1から区画9が巡回的に論理空間に現れている状態を表している。物理マップmemmap2は、区画1から区画9が配置されている状態を表していて、区画9の領域において密点で示した領域が疎点で示す領域に上書きされている。
さらに、図 9と図 10を用いて、詳細なアドレス計算の方法を説明する。図 9は本発明の実施の形態2に係る動き検出装置におけるアドレス変換の中間情報の位置を示す模式図である。同図では簡単のため、図 27と同様に横320画素×縦240画素のQVGAサイズのピクチャを示しており、1ワードが8画素で構成されている。ここでは、管理区画の幅はピクチャ幅を2の累乗である4で割った値の10で管理されるものとする。この時、ピクチャ幅を2の累乗で割り切れない場合は、一番右の区画は無効画素が入っているものとして扱う。つまり、ピクチャ幅が38ワードとなっていたとしても、40ワードあるものとして管理する。
同図において、図 6と同じ記号のものは同じ内容を表すものとして説明を省略する。また、小領域SAが(1ワード)×(L画素)=(8画素)×(16画素)の小領域とした時に、A2は小領域SAが左上の原点からラスター順でいくつ目かを表している。B2は参照ピクチャRefPicの左上からラスター順に数えていくつ目の区画かを表しており、C2は太線で囲んだ領域HLA内でいくつ目の区画かを表している。
図 10は本発明の実施の形態2に係る動き検出装置におけるアドレス変換を行うためのフローチャートである。以下、フローチャートを用いて実施の形態2のアドレス変換のフローを説明する。
S1000はアドレス変換処理の開始を示している。変換したい空間座標を(x2, y2)とした時、まず、A2と小領域SA内での相対座標(delta_x2, delta_y2)を求める(ステップS1001)。
A2 = (y2>>4)*40+(x2>>3); (数式15)
delta_x2 = x2&0x7; (数式16)
delta_y2 = y2&0xF; (数式17)
次に、B2とC2を求める(ステップS1002)。
B2 = (y2>>4)<<2 + ((x2>>3)/10); (数式18)
C2 = B2%9; (数式19)
最後に、物理アドレスadr2を求める(ステップS1003)。
adr2 = (C2*160) + (delta_y2*10+((x2>>3)%10)); (数式20)
以上で説明したように、本実施の形態では、参照メモリ管理部FMCtrは、参照ピクチャの幅を縦にM個に等分割し、縦L画素毎に横に分割し、転送領域の横分割による縦方向の分割数をNとし、キャッシュメモリOCMを、「M×(N−1)+1」以上「M×N−1」以下の個数のメモリバンクに分割し、分割後のメモリバンクを巡回的に先入れ先出し式に管理する。上記例ではM=4、N=3、メモリバンク数が9である場合について説明した。
実施の形態1では、(数式4)〜(数式7)、(数式13)〜(数式14)で除算や剰余計算、(数式8)〜(数式9)で乗算や条件判断が必要と、多くの演算が必要であったが、実施の形態2の(数式18)〜(数式20)では、区画幅(10ワード)での除算と剰余と、区画管理数(9区画)の剰余と、2回の掛け算で実現可能となる。また、除算・剰余計算における除数も実施の形態1での除数である88と比べて、小さい数で収まるため、回路実装コストも抑える事が可能となる。
(実施の形態3)
以下、実施の形態3にける、参照メモリ管理手段FMCtrによって制御する内部参照メモリIRMの動作を説明する。
図 11は本発明の実施の形態3に係る動き検出装置で用いる参照ピクチャ画素を格納する管理領域を示す模式図である。本発明の実施の形態3では、キャッシュメモリOCM上において、水平方向が2の累乗の幅となる仮想論理空間において、横方向は適当な2の累乗の幅、また、縦の高さを次回取得領域ARenewの高さLとした区画に分割し、前記区画をFIFOとして巡回管理する。ここで、区画が2の累乗幅なので参照ピクチャRefPic右端は、管理区画上に無効な領域が発生することも有り得る。同図では区画1から区画9が巡回的に論理空間に現れている状態を表している。物理マップmemmap3は、区画1から区画9が配置されている状態を表していて、区画9の領域において密点で示した領域が疎点で示す領域に上書きされており、区画2及び区画6ではもともと画面右端を越えているため実画素が存在しない無効な領域となっていることを示している。
さらに、図 12と図 13を用いて、詳細なアドレス計算の方法を説明する。図 12は本発明の実施の形態3に係る動き検出装置におけるアドレス変換の中間情報の位置を示す模式図である。同図では簡単のため、図 27と同様に横320画素×縦240画素のQVGAサイズのピクチャを示しており、1ワードが8画素で構成されている。ここでは、管理区画の幅は2の累乗である16ワードで管理されていて、仮想空間としては、64ワード(=2^6)の横幅があるが、画素が実配置されるのはその内の前3区画(48=16×3)となっていることを示している。
同図において、図 6と同じ記号のものは同じ内容を表すものとして説明を省略する。また、小領域SAが(1ワード)×(L画素)=(8画素)×(16画素)の小領域とした時に、A3は小領域SAが左上の原点からラスター順でいくつかを表している。B3は参照ピクチャRefPicの左上からラスター順に数えていくつ目の区画かを表しており、C3は太線で囲んだ領域HLA内でいくつ目の区画かを表している。
図 13は本発明の実施の形態3に係る動き検出装置におけるアドレス変換を行うためのフローチャートである。以下、フローチャートを用いて実施の形態3のアドレス変換のフローを説明する。
S1300はアドレス変換処理の開始を示している。変換したい空間座標を(x3, y3)とした時、まず、A3と小領域SA内での相対座標(delta_x3, delta_y3)を求める(ステップS1301)。
A3 = (y3>>4)<<6+(x3>>3); (数式21)
delta_x3 = x3&0x7; (数式22)
delta_y3 = y3&0xF; (数式23)
次に、B3とC3を求める(ステップS1302)。
B3 = (y3>>4)<<2 + ((x2>>3)>>4); (数式24)
C3 = B3%7; (数式25)
最後に、物理アドレスadr3を求める(ステップS1303)。
adr3 = ((C3<<4)<<4) + ((delta_y3<<4)+((x3>>3)&0xF)); (数式26)
以上で説明したように、本実施の形態における参照メモリ管理部FMCtrは、参照ピクチャを含みかつ水平方向に2の累乗個のアドレスを持つ仮想空間を、2の累乗で表されるM個に縦に等分割し、縦L画素毎に横に分割し、転送領域の横分割による縦方向の分割数をNとし、キャッシュメモリOCMを、「M×(N−1)+1」以上「M×N−1」以下の個数のメモリバンクに分割し、分割後のメモリバンクを巡回的に先入れ先出し式に管理する。上記例ではM=4、N=3、メモリバンク数が9である場合について説明した。
実施の形態2の(数式14)〜(数式20)では、区画幅(10ワード)での除算と剰余と、区画管理数(9区画)の剰余と、2回の掛け算が必要であったが、実施の形態3の(数式24)〜(数式26)では、(数式25)以外の除算・剰余・乗算などの演算がビットシフトとビットマスクで実装でき、ハードウェア実装する場合、(数式26)などの加算に関してはビット連結のみで実装できるようになり、回路実装コストを抑える事が可能となる。また同様に、ソフトウェア実装する場合はステップ数の大幅な削減が可能となる。
(実施の形態4)
以下、実施の形態4にける、参照メモリ管理手段FMCtrによって制御する内部参照メモリIRMの動作を説明する。動き検出器MEで探索する画素領域が参照ピクチャRefPicの端の場合は、キャッシュメモリOCMの領域管理を変更する必要がある。
図 14は、探索領域が画面端の場合の矩形領域構成を示す模式図である。同図において、矩形領域1左ARect1Lは図 4の矩形領域1ARect1が参照ピクチャRefPicの左右端に分割された時の画面左の矩形領域であり、矩形領域1右ARect1Rは同じく分割された画面右の矩形領域であり、矩形領域0ARect0は、矩形領域1左ARect1Lに対しては図 4の矩形領域3ARect3に相当し、矩形領域1右ARect1Rに対しては図 4の矩形領域2ARect2に相当するものであり、すぐには用いない予備記憶領域である。
図 4及び図 5で示した矩形領域の更新を行う場合、矩形領域1ARect1が画面右端に到達すると、次回取得領域はさらに一つ下で左端の領域から同様に更新していくようになる。従って、符号化を進めていくと、図 4及び図 5の状態から図 14(a)の状態になり、この時点では探索領域ASrchRの中を動き検出するが、さらに探索中心が参照画面の右端を越すと図 14(b)の状態になり、探索領域ASrchLの中を動き検出するようにする。
(実施の形態5)
以下、図 15と図 16を用いて,実施の形態5の説明を行う。
図 15は本発明の実施の形態5に係る画面間予測符号化装置とフレームメモリの接続構成を示すブロック図である。同図において図 2に示した符号と同じものは同じ内容を意味するものとして説明を省略する。図 2で示した構成図との違いは、内部参照メモリIRMの中でさらに補助メモリASMを追加し、外部接続バスFmBusを補助メモリASMに接続し、さらに補助メモリASMからキャッシュメモリOCMに転送する内部バスを設け、キャッシュメモリOCMからの内部バスCmBusと補助メモリASMからの内部バスAmBusを画素選択部MemSelで選択した画像を参照用ローカルメモリRLMに転送する構成にしている所である。
図 16は本発明の実施の形態5に係る動き検出装置で用いる参照ピクチャ画素を格納する管理領域を示す模式図である。同図において図 4と同じ記号のものは同じ内容を表すものとして説明を省略する。図 16(a)において、矩形領域1ARect1は、下側の矩形領域4ARect4と上側の矩形領域5ARect5の上下2つの領域に分割し、矩形領域5Arect5の垂直の高さは矩形領域矩形領域3ARect3と同じ高さとする。また、矩形領域6ARect6は図 4から追加される領域である。また、図 16(b)は各矩形領域がそれぞれどのメモリに格納されるのかを表しており、キャッシュメモリOCMには、矩形領域2ARect2、矩形領域5ARect5、及び矩形領域3ARect3を格納し、補助メモリASMには、矩形領域4ARect4、及び矩形領域6ARect6を格納する。
この時、画素の流れは以下のようになる。まず、外部フレームメモリEFMからは補助メモリASMに格納され、補助メモリASMでは画素情報はFIFOで扱う。FIFO管理により、補助メモリASMから古いデータは破棄されるが、破棄される画素データのうち矩形領域4ARect4に含まれる分に関してはキャッシュメモリOCMへの入力となって、キャッシュメモリOCM上で同様にFIFO管理されることになる。最終的に、キャッシュメモリOCMと補助メモリASMから画素選択部MemSelを介して参照用ローカルメモリRLMに選択的に転送格納し、動き検出器MEによって動き検出を行うために参照画素を用いる。
以上の構成をとることによって、キャッシュメモリOCMの物理アドレス管理は、(ピクチャ幅W)×(探索領域の高さJ−次回取得領域の高さL)分のメモリをFIFOで管理できるようになるため、物理的にアドレスが巡回する個所がずれることがなくなり、容易に実装することが可能となる。一方、補助メモリASMの物理アドレス管理に関しては、実施の形態2及び実施の形態3で示した区画と同様にピクチャ幅を2の累乗で分割した幅や、2の累乗の幅で管理すると実装が容易である。また、矩形領域6ARect6の部分を追加しているため、外部フレームメモリEFMからの画素転送量は増加するが、実装メモリ量をあまり増加させることなく垂直方向の動き探索範囲を拡張することが可能となる。別の応用例としては、H.264規格のMBAFF(Macroblock-Adaptive Frame-Field Coding)は上下2つのMBペアで符号化を行うツールであるが、このMBAFFなどに対応させる場合に、矩形領域6ARect6として1MBの高さ分を追加することで簡単に対応させることも可能である。
(実施の形態6)
以下、図 17から図 19を用いて,実施の形態6の説明を行う。
図 17は本発明の実施の形態6に係る画面間予測符号化装置とフレームメモリの接続構成を示すブロック図である。同図において図 2に示した符号と同じものは同じ内容を意味するものとして説明を省略する。図 2で示した構成図との違いは、内部参照メモリIRMの中でさらに補助メモリASMを追加し、外部接続バスFmBusをキャッシュメモリOCMと補助メモリASMの両方に接続し、さらにキャッシュメモリOCMから補助メモリASMに転送する内部バスを設け、キャッシュメモリOCMからの内部バスCmBusと補助メモリASMからの内部バスAmBusを画素選択部MemSelで選択した画像を参照用ローカルメモリRLMに転送する構成にしている所である。
図 18は本発明の実施の形態6に係る動き検出装置で用いる参照ピクチャ画素を格納する管理領域を示す模式図である。同図において図 4と同じ記号のものは同じ内容を表すものとして説明を省略する。図 18(a)において、矩形領域1ARect1は、上側の矩形領域7ARect7と下側の矩形領域8ARect8の上下2つの領域に分割し、矩形領域8Arect8の垂直の高さは矩形領域矩形領域2ARect2と同じ高さとする。また、矩形領域9ARect9は図 4から追加される領域である。また、図 18(b)は各矩形領域がそれぞれどのメモリに格納されるのかを表しており、キャッシュメモリOCMには、矩形領域2ARect2、矩形領域8ARect8、及び矩形領域3ARect3を格納し、補助メモリASMには、矩形領域7ARect7、及び矩形領域9ARect9を格納する。
この時、画素の流れは以下のようになる。まず、外部フレームメモリEFMからはキャッシュメモリOCMに格納され、キャッシュメモリOCMでは画素情報をFIFOで扱う。FIFO管理により、キャッシュメモリOCMの矩形領域3ARect3から古いデータは破棄されるが、補助メモリASMへの入力となって、補助メモリASM上で同様にFIFO管理されることになる。この時、同時に補助メモリASMの矩形領域9ARect9の部分に関しては、外部フレームメモリEFMから拡張探索要の画素データを転送することも可能である。最終的に、キャッシュメモリOCMと補助メモリASMから画素選択部MemSelを介して参照用ローカルメモリRLMに選択的に転送格納し、動き検出器MEによって動き検出を行うために参照画素を用いる。
以上の構成をとることによって、キャッシュメモリOCMの物理アドレス管理は、(ピクチャ幅W)×(探索領域の高さJ−次回取得領域の高さL)分のメモリをFIFOで管理できるようになるため、物理的にアドレスが巡回する個所がずれることがなくなり、容易に実装することが可能となる。一方、補助メモリASMの物理アドレス管理に関しては、実施の形態2及び実施の形態3で示した区画と同様にピクチャ幅を2の累乗で分割した幅や、2の累乗の幅で管理すると実装が容易である。また、矩形領域9ARect9の部分を追加しているため、外部フレームメモリEFMからの画素転送量は増加するが、実装メモリ量をあまり増加させることなく垂直方向の動き探索範囲を拡張することが可能となる。別の応用例としては実施の形態5と同様に、H.264規格のMBAFFに対応させる時に縦の探索範囲を拡張するために矩形領域9ARect9を追加することも可能である。
さらに、メモリ容量を削減する場合は以下のような構成にする。図 19は本発明の実施の形態6に係る動き検出装置で用いる参照ピクチャ画素を格納する管理領域を示す模式図の変形である。同図において、図 18と同じ記号のものについては同じ内容のものを表すため説明を省略する。図 18との違いは、補助メモリASMにおいて、動き探索範囲拡張用の矩形領域9ARect9を無くし、矩形領域7ARect7の横幅を削減し、参照用ローカルメモリRLMに転送するまでの小規模のバッファとして使用するようにしているところである。内部参照メモリIRMを、動き検出器MEが直接使用する参照用ローカルメモリRLMと、予備記憶領域として用いるキャッシュメモリOCMと、補助メモリASMとの構成にする場合、物理アドレス管理が容易になる上に、メモリ容量を最小限に抑える事が可能となる。
(実施の形態7)
さらにここで、上記実施の形態で示した画面間予測符号化装置の応用例について説明する。図 20は、H.264レコーダを実現するAV処理部の構成を示すブロック図である。
AV処理部exAVLSIは、DVDレコーダやハードディスクレコーダなど用いられ、ディジタル圧縮された音声及び画像を再生する処理部であり、図 20に示すようにストリーム入出力部exStrIF、メモリ入出力部exMemIF、AV制御部exAVCtr、画像符号化復号化部exVCodec、音声符号化復号化部exACodec、画像処理部exVProc、画像入出力部exVideoIF、音声処理部exAProc、音声入出力部exAudioIF、およびバスexBusを備えている。
ストリーム入出力部exStrIFは、バスexBusに接続され、音声と画像のストリームデータexStrを入出力する。画像符号化復号化部exVCodecは、バスexBusに接続され、画像の符号化及び復号化を行う。音声符号化復号化部exACodecは、バスexBusに接続され、音声の符号化及び復号化を行う。メモリ入出力部exMemIFは、メモリexMemのデータ信号の入出力インターフェースであり、バスexBusに接続されている。ここで、メモリexMemは、ストリームデータや符号化データや復号化データなどのデータを格納し、図 1に示している外部マルチフレームメモリの領域を含むものである。
画像処理部exVProcは、バスexBusに接続され、画像信号に対してプレ処理及びポスト処理を行う。画像入出力部exVideoIFは、画像処理部exVProcで処理したもしくは画像処理部exVProcで処理をせずに通過だけさせた画像データ信号を外部に画像信号exVSigとして出力する、または、外部からの画像信号exVSigを取り込む。
音声処理部exAProcは、バスexBusに接続され、音声信号に対してプレ処理及びポスト処理を行う。音声入出力部exAudioIFは、音声処理部exAProcで処理したもしくは音声処理部exAProcで処理をせずに通過だけさせた音声データ信号を外部に音声信号exASigとして出力する、または、外部からの音声信号exASigを取り込む。
また、AV制御部exAVCtrはAV処理部exAVLSIの全体制御を行う。バスexBusはストリームデータや音声・画像の復号データなどのデータを転送する。
ここでは、図 20を用いて符号化動作のみを説明する。最初に、画像信号exVSigが画像入出力部exVideoIFに入力され、音声信号exASigが音声入出力部exAudioIFに入力される。次に、画像入出力部exVideoIFに入力された画像信号exVSigを用いて、画像処理部exVProcにおいてフィルタ処理や符号化のための特徴量抽出などを行い、メモリ入出力部exMemIFを介してメモリexMemに原画像として格納する。次に、再びメモリ入出力部exMemIFを介してメモリexMemから画像符号化復号化部exVCodecには原画像データと参照画像データの転送を行い、逆に画像符号化復号化部exVCodecからメモリexMemには画像符号化復号化部exVCodecで符号化した画像ストリームデータと局所復元データの転送を行う。
ここで、画像符号化復号化部exVCodecは図 1のほぼ全体に相当し、画像ストリームは同図の符号化信号Strに相当し、さらにメモリexMemは同図の外部マルチフレームメモリEFMの領域が含まれる。
一方、音声入出力部exAudioIFに入力された音声信号exASigを用いて、音声処理部exAProcにおいてフィルタ処理や符号化のための特徴量抽出などを行い、メモリ入出力部exMemIFを介してメモリexMemに原音声データとして格納する。次に、再びメモリ入出力部exMemIFを介してメモリexMemから原音声データを取り出して符号化し、再度音声ストリームデータとしてメモリexMemに格納する。
最後に、画像ストリームと音声ストリーム及びその他のストリーム情報を一つのストリームデータとして処理し、ストリーム入出力部exStrIFを介してストリームデータexStrを出力し、光ディスクやハードディスクなどの蓄積メディアに書き込む処理を行う。
また、ブロック図(図 1や図 20など)の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い(例えばメモリ以外の機能ブロックが1チップ化されていても良い。)が、図1の外部マルチフレームメモリEFMや図 20のメモリexMemは、大量のデータを保持する必要があるため、一般的にはLSIに外付けする大容量のDRAMなどで実装するが、技術の向上により1パッケージ化や1チップ化されることも有り得る。
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサー を利用しても良い。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
本発明の動き検出装置は、内部参照メモリの実装増加コストを抑え、動き検出に用いる参照画素の転送量を大幅に削減しつつ、さらに参照メモリ管理手段における回路実装量を削減することができるため、例えばH.264規格を用いた大きい画像サイズを扱うDVDレコーダやハードディスクレコーダやカムコーダ等を実現するために有効である。
本発明の実施の形態1に係る動き検出装置が用いられる画面間予測符号化装置の構成を示すブロック図である。 画面間予測符号化装置とフレームメモリの接続構成を示す概略図である。 キャッシュメモリと参照用ローカルメモリの記憶領域を示す模式図である。 キャッシュメモリ上に記憶する矩形領域構成を示す模式図である。 次の動き検出を行う時の矩形領域構成を示す模式図である。 本発明の実施の形態1に係る動き検出装置におけるアドレス変換の中間情報の位置を示す模式図である。 本発明の実施の形態1に係る動き検出装置におけるアドレス変換を行うためのフローチャートである。 本発明の実施の形態2に係る動き検出装置で用いる参照ピクチャ画素を格納する管理領域を示す模式図である。 本発明の実施の形態2に係る動き検出装置におけるアドレス変換の中間情報の位置を示す模式図である。 本発明の実施の形態2に係る動き検出装置におけるアドレス変換を行うためのフローチャートである。 本発明の実施の形態3に係る動き検出装置で用いる参照ピクチャ画素を格納する管理領域を示す模式図である。 本発明の実施の形態3に係る動き検出装置におけるアドレス変換の中間情報の位置を示す模式図である。 本発明の実施の形態3に係る動き検出装置におけるアドレス変換を行うためのフローチャートである。 探索領域が画面端の場合の矩形領域構成を示す模式図である。 本発明の実施の形態5に係る画面間予測符号化装置とフレームメモリの接続構成を示すブロック図である。 本発明の実施の形態5に係る動き検出装置で用いる参照ピクチャ画素を格納する管理領域を示す模式図である。 本発明の実施の形態6に係る画面間予測符号化装置とフレームメモリの接続構成を示すブロック図である。 本発明の実施の形態6に係る動き検出装置で用いる参照ピクチャ画素を格納する管理領域を示す模式図である。 本発明の実施の形態6に係る動き検出装置で用いる参照ピクチャ画素を格納する管理領域を示す模式図の変形である。 H.264レコーダを実現するAV処理部の構成を示すブロック図である。 従来の画面間予測符号化装置の説明するためのブロック図である。 従来の画面間予測復号化装置の説明するためのブロック図である。 画面間予測符号化装置とフレームメモリの接続構成を説明するための概略図である。 1画面あたりで転送する参照画素の状態を示す模式図である。 参照画素の転送量を削減する場合のメモリ更新状態を示す模式図である。 実装メモリ容量を削減する場合の格納画素の管理状態を示す模式図である。 FIFO管理を用いた時の参照メモリの論理境界における物理アドレス配置図である。
符号の説明
FMCtr 参照メモリ管理手段
EFM 外部マルチフレームメモリ
IRM 内部参照用メモリ
ME 動き検出器
Sub1 減算器
Sub2 減算器
MC 動き補償器
Enc 符号化器
Add1 加算器
MVMem 動きベクトルメモリ
MVPred 動きベクトル予測部

Claims (16)

  1. ピクチャを構成するブロック毎に動きを検出する動き検出装置であって、
    参照ピクチャを記憶する記憶手段と、
    前記参照ピクチャのうち前記記憶手段から転送された転送領域を構成する画素データを記憶する参照メモリ手段と、
    前記参照メモリ手段に記憶されている、転送領域に含まれる探索領域の画素データを用いて動き検出の対象となる対象ブロックの動きを検出する動き検出手段と、
    次の対象ブロック用に、前記転送領域の一部を更新するメモリ管理手段とを備え、
    前記転送領域は、第1から第3の矩形領域からなり、
    前記第1の矩形領域は、前記探索領域を含み、
    前記第2の矩形領域の幅は前記参照ピクチャの左端の画素から第1の矩形領域の左端の左に隣接する画素までの幅であり、前記第2の矩形領域の高さは第1の矩形領域の高さよりもL画素小さく、前記第2の矩形領域の下端は第1の矩形領域の下端と同じ水平位置であり、
    前記第3の矩形領域の幅は前記参照ピクチャの右端の画素から第1の矩形領域の右端の右に隣接する画素までの幅であり、前記第3の矩形領域の高さは第1の矩形領域の高さよりもL画素小さく、前記第3の矩形領域の上端は第1の矩形領域の上端と同じ水平位置であり、
    前記Lは2の累乗で表され、
    前記メモリ管理手段は、前記参照メモリ手段内の記憶領域であって、前記第1の領域内の左上に位置する高さL画素幅K画素分の画素データを記憶する記憶領域に、第1の領域の右に隣接しかつ第3領域の下に隣接する高さL画素幅K画素からなる更新領域の画素データを前記記憶手段から転送する
    ことを特徴とする動き検出装置。
  2. 前記記憶手段に記憶された前記参照ピクチャの左上画素の座標は(0,0)であり、前記参照ピクチャは横W画素縦H画素のサイズを有し、
    対象ブロックに対する前記第1の矩形領域の左上の座標は(X,Y)であり、前記第1の矩形領域は横I画素縦J画素のサイズを有し、
    対象ブロックに対する前記第2の矩形領域の左上座標は(0,Y+L)であり、その右下座標は(X−1,Y+J−1)であり、
    対象ブロックに対する前記第3の矩形領域の左上座標は(X+I,Y)であり、その右下座標は(W−1,Y+J−L−1)である
    ことを特徴とする請求項1記載の動き検出装置。
  3. 前記メモリ管理手段は、
    次の対象ブロック用に、前記第1の領域内の左上座標(X,Y)、右下座標(X+K,Y+L)を対頂角とする高さL画素幅K画素分の画素データを記憶する記憶領域であって前記参照メモリ手段内の記憶領域に、前記更新領域の画素データを前記記憶手段から転送することによって、
    次の対象ブロックに対する第1の矩形領域の左上座標を(X+K,Y)に、その右下座標を(X+I+K−1,Y+J−1)に更新し、
    次の対象ブロックに対する前記第2の矩形領域の左上座標を(0,Y+L)に、その右下座標を(X+K−1,Y+J−1)に更新し、
    次の対象ブロックに対する前記第3の矩形領域の左上座標を(X+K+I,Y)に、右下座標を(W−1,Y+J−L−1)に更新する
    ことを特徴とする請求項2記載の動き検出装置。
  4. 前記参照メモリ手段は、
    前記第1から第3の矩形領域を構成する画素データを記憶する第1メモリ部と、
    前記第1メモリ部から転送された前記第1の矩形領域中の前記探索領域を構成する画素データを記憶する第2メモリ部とを備え、
    前記メモリ管理手段は、第1メモリ部から第2メモリ部へ前記探索領域を構成する画素データを転送し、
    前記動き検出手段は、前記第2メモリ部から画素データを取得し、対象ブロックの動きを検出する
    ことを特徴とする請求項1または3記載の動き検出装置。
  5. 前記メモリ管理手段は、
    前記対象ブロックの移動が進むに連れて、前記第1の矩形領域の右端が前記参照ピクチャの右端に達した後第1の矩形領域を第1の右矩形領域と第1の左矩形領域とに分割し、
    第1の右矩形領域は参照ピクチャの右端を含み、
    第1の左矩形領域は参照ピクチャの左端を含み第1の右矩形領域よりもL画素下に位置し、
    前記第1の矩形領域が分割されたとき、第2および第3の矩形領域を1つの矩形領域に統合し、
    統合された矩形領域は第1の右矩形領域と第1の左矩形領域とによって横方向に挟まれ、統合された矩形領域の下端は第1の右矩形領域の下端と同じ水平位置であり、統合された矩形領域の上端は第1の左矩形領域の上端と同じ水平位置あり、
    前記メモリ管理手段は、前記探索領域を分割することなく、第1の右矩形領域および第1の左矩形領域の何れか一方の中に前記探索領域を設定する
    ことを特徴とする請求項1、3または4記載の動き検出装置。
  6. 前記メモリ管理手段は、前記参照ピクチャの(X,Y)座標で表される論理アドレスをラスター方向に割り当てられた物理アドレスに変換し、
    前記記憶手段から前記参照メモリ手段への転送において、前記参照メモリ手段を先出し式に管理する
    ことを特徴とする請求項1、3、4または5記載の動き検出装置。
  7. 前記メモリ管理手段は、
    参照ピクチャを縦にM列に等分割し、高さL画素毎に横に分割し、転送領域の横分割による横の分割数をN行とし、
    参照メモリ手段を、「M×(N−1)+1」以上「M×N−1」以下の個数のメモリバンクに分割し、分割後のメモリバンクを巡回的に先入れ先出し式に管理する
    ことを特徴とする請求項6記載の動き検出装置。
  8. 前記メモリ管理手段は、
    参照ピクチャを含みかつ水平方向に2の累乗個のアドレスを持つ仮想空間を、2の累乗で表されるM列に縦に等分割し、高さL画素毎に横に分割し、転送領域の横分割による横の分割数をN行とし、
    参照メモリ手段を、「M×(N−1)+1」以上「M×N−1」以下の個数のメモリバンクに分割し、分割後のメモリバンクを巡回的に先入れ先出し式に管理する
    を特徴とする請求項6記載の動き検出装置。
  9. 前記第1の矩形領域は、その下端からL画素の高さまでの部分である第4矩形領域とそれ以外の第5矩形領域からなり、
    前記参照メモリ手段は、第1メモリ部と補助メモリ部とを有し、
    前記第1メモリ部は、前記第5の矩形領域と前記第2の矩形領域と前記第3の矩形領域を先入れ先出し式に格納し、
    前記補助メモリ部は、前記第4の矩形領域を先入れ先出し式に格納し、
    前記参照メモリ管理部は、次の対象ブロック用に、
    補助メモリ部から前記第4の矩形領域左端の縦L画素横K画素分の画素データを第1メモリ部に転送し、さらに、前記記憶手段から前記更新領域の画素データを先入れ先出し式に前記補助メモリ部に転送する
    ことを特徴とする請求項1または3記載の動き検出装置。
  10. 前記補助メモリ部は、さらに、前記第4の矩形領域の下に接し同じ横幅の第6の矩形領域を格納し、
    前記メモリ管理手段は、次の対象ブロック用に、
    前記補助メモリ部から前記第4の矩形領域左端の縦L画素横K画素分の画素データを第1メモリ部に転送し、さらに、前記第4の矩形領域と前記第6の矩形領域とを一括して先入れ先出し式に前記補助メモリ部を管理し、前記更新領域を下に拡張した拡張更新領域を、前記記憶手段から前記補助メモリ部に転送し、
    前記動き検出手段は前記第4の矩形領域と前記第5の矩形領域と前記第6の矩形領域を用いて動き検出の探索を行う
    ことを特徴とする請求項9記載の動き検出装置。
  11. 前記第1の矩形領域は、その上端からL画素の高さまでの部分である第7の矩形領域とそれ以外の第8の矩形領域からなり、
    前記参照メモリ手段は、第1メモリ部と補助メモリ部とを有し、
    前記第1メモリ部は、前記第8の矩形領域と前記第2の矩形領域と前記第3の矩形領域を先入れ先出し式に格納し、
    前記補助メモリ部は、前記第7の矩形領域を先入れ先出し式に格納し、
    前記参照メモリ管理部は、次の対象ブロック用に、
    前記第1メモリ部から前記第7の矩形領域右端の縦L画素横K画素分の画素データを前記補助メモリ部に転送し、さらに、前記記憶手段から前記更新領域の画素データを先入れ先出し式に第1メモリ部に転送する
    ことを特徴とする請求項1または3記載の動き検出装置。
  12. 前記補助メモリ部は、さらに、前記第7の矩形領域の上に接し同じ横幅の第9の矩形領域を格納し、
    前記メモリ管理手段は、次の対象ブロック用に、第1メモリ部から前記第7の矩形領域右端の縦L画素横K画素分の画素データを前記補助メモリ部に転送し、さらに、前記第7の矩形領域と前記第9の矩形領域とを一括して先入れ先出し式に前記補助メモリ部を管理し、前記更新領域を、前記記憶手段から前記第1メモリ部に転送し、
    前記動き検出手段は前記第7の矩形領域と前記第8の矩形領域と前記第9の矩形領域を用いて動き検出の探索を行う
    ことを特徴とする請求項11記載の動き検出装置。
  13. 前記参照メモリ手段は、さらに、補助メモリ部および第1メモリ部に格納された第7の矩形領域および第8の矩形領域のうち、探索領域の画素データと探索領域の右に接する横幅K画素分の更新用付加領域の画素データとが転送される第2の参照メモリを備え、
    前記動き検出手段は、前記第2の参照メモリから取得する参照画素データを用いて対象ブロックの動きを検出し、
    前記参照メモリ管理部は、更新用付加領域の画素データを末尾として、先入れ先出し式に補助メモリ部を管理する
    ことを特徴とする請求項11記載の動き検出装置。
  14. ピクチャを構成するブロック毎に動きを検出する動き検出方法であって、
    参照ピクチャを記憶する記憶部から、前記参照ピクチャに含まれる転送領域を構成する画素データを参照メモリに転送する転送ステップと、
    前記参照メモリに記憶されている転送領域に含まれる探索領域の画素データを用いて動き検出の対象となる対象ブロックの動きを検出する検出ステップと、
    次の対象ブロック用に、前記参照メモリの前記転送領域の一部を更新する更新ステップを有し、
    前記転送領域は、第1から第3の矩形領域からなり、
    前記第1の矩形領域は、前記探索領域を含み、
    前記第2の矩形領域の幅は前記参照ピクチャの左端の画素から第1の矩形領域の左端の左に隣接する画素までの幅であり、前記第2の矩形領域の高さは第1の矩形領域の高さよりもL画素小さく、前記第2の矩形領域の下端は第1の矩形領域の下端と同じ位置であり、
    前記第3の矩形領域の幅は前記参照ピクチャの右端の画素から第1の矩形領域の右端の右に隣接する画素までの幅であり、前記第3の矩形領域の高さは第1の矩形領域の高さよりもL画素小さく、前記第3の矩形領域の上端は第1の矩形領域の上端と同じ水平位置であり、
    前記Lは2の累乗で表され、
    前記更新ステップにおいて、前記参照メモリ内の記憶領域であって、前記第1の領域内の左上に位置する高さL画素幅K画素分の画素データを記憶する記憶領域に、第1の領域の右に隣接しかつ第3領域の下に隣接する高さL画素幅K画素からなる更新領域の画素データを前記記憶部から転送する
    ことを特徴とする動き検出方法。
  15. ピクチャを構成するブロック毎に動きを検出する集積回路であって、
    参照ピクチャを記憶する外部の記憶部から転送された転送領域を構成する画素データを記憶する参照メモリ手段と、
    前記参照メモリ手段に記憶されている転送領域に含まれる探索領域の画素データを用いて動き検出の対象となる対象ブロックの動きを検出する動き検出手段と、
    次の対象ブロック用に、前記転送領域の一部を更新するメモリ管理手段とを備え、
    前記転送領域は、第1から第3の矩形領域からなり、
    前記第1の矩形領域は、前記探索領域を含み、
    前記第2の矩形領域の幅は前記参照ピクチャの左端の画素から第1の矩形領域の左端の左に隣接する画素までの幅であり、前記第2の矩形領域の高さは第1の矩形領域の高さよりもL画素小さく、前記第2の矩形領域の下端は第1の矩形領域の下端と同じ位置であり、
    前記第3の矩形領域の幅は前記参照ピクチャの右端の画素から第1の矩形領域の右端の右に隣接する画素までの幅であり、前記第3の矩形領域の高さは第1の矩形領域の高さよりもL画素小さく、前記第3の矩形領域の上端は第1の矩形領域の上端と同じ水平位置であり、
    前記Lは2の累乗で表され、
    前記メモリ管理手段は、前記参照メモリ手段内の記憶領域であって、前記第1の領域内の左上に位置する高さL画素幅K画素分の画素データを記憶する記憶領域に、第1の領域の右に隣接しかつ第3領域の下に隣接する高さL画素幅K画素からなる更新領域の画素データを前記記憶部から転送する
    ことを特徴とする画像符号化装置。
  16. ピクチャを構成するブロック毎に動きを検出し、動きに基づいて画像を符号化する画像符号化装置であって、
    参照ピクチャを記憶する記憶手段と、
    前記参照ピクチャのうち前記記憶手段から転送された転送領域を構成する画素データを記憶する参照メモリ手段と、
    前記参照メモリ手段に記憶されている転送領域に含まれる探索領域の画素データを用いて動き検出の対象となる対象ブロックの動きを検出する動き検出手段と、
    次の対象ブロック用に、前記転送領域の一部を更新するメモリ管理手段とを備え、
    前記転送領域は、第1から第3の矩形領域からなり、
    前記第1の矩形領域は、前記探索領域を含み、
    前記第2の矩形領域の幅は前記参照ピクチャの左端の画素から第1の矩形領域の左端の左に隣接する画素までの幅であり、前記第2の矩形領域の高さは第1の矩形領域の高さよりもL画素小さく、前記第2の矩形領域の下端は、第1の矩形領域の下端と同じ位置であり、
    前記第3の矩形領域の幅は前記参照ピクチャの右端の画素から第1の矩形領域の右端の右に隣接する画素までの幅であり、前記第3の矩形領域の高さは第1の矩形領域の高さよりもL画素小さく、前記第3の矩形領域の上端は第1の矩形領域の上端と同じ水平位置であり、
    前記Lは2の累乗で表され、
    前記メモリ管理手段は、前記参照メモリ手段内の記憶領域であって、前記第1の領域内の左上に位置する高さL画素幅K画素分の画素データを記憶する記憶領域に、第1の領域の右に隣接しかつ第3領域の下に隣接する高さL画素幅K画素からなる更新領域の画素データを前記記憶手段から転送する
    ことを特徴とする画像符号化装置。
JP2006102563A 2006-04-03 2006-04-03 動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置 Expired - Fee Related JP4757080B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006102563A JP4757080B2 (ja) 2006-04-03 2006-04-03 動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置
EP20070105392 EP1845733A2 (en) 2006-04-03 2007-03-30 Motion estimation device, motion estimation method, motion estimation integrated circuit, and picture coding device
US11/695,145 US8208541B2 (en) 2006-04-03 2007-04-02 Motion estimation device, motion estimation method, motion estimation integrated circuit, and picture coding device
CN2007100916446A CN101052128B (zh) 2006-04-03 2007-04-03 运动检测装置和方法、运动检测集成电路和图像编码装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006102563A JP4757080B2 (ja) 2006-04-03 2006-04-03 動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置

Publications (2)

Publication Number Publication Date
JP2007281630A true JP2007281630A (ja) 2007-10-25
JP4757080B2 JP4757080B2 (ja) 2011-08-24

Family

ID=38440296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006102563A Expired - Fee Related JP4757080B2 (ja) 2006-04-03 2006-04-03 動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置

Country Status (4)

Country Link
US (1) US8208541B2 (ja)
EP (1) EP1845733A2 (ja)
JP (1) JP4757080B2 (ja)
CN (1) CN101052128B (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008271292A (ja) * 2007-04-23 2008-11-06 Nec Electronics Corp 動き補償装置
JP2009152710A (ja) * 2007-12-19 2009-07-09 Renesas Technology Corp 画像処理装置及び画像処理方法
WO2011048764A1 (ja) * 2009-10-19 2011-04-28 パナソニック株式会社 復号装置、復号方法、プログラム、及び集積回路
JP2012060265A (ja) * 2010-09-06 2012-03-22 Fujitsu Ltd 画像処理装置
JP2013126083A (ja) * 2011-12-14 2013-06-24 Fujitsu Ltd 画像処理装置
JP2015119282A (ja) * 2013-12-17 2015-06-25 株式会社メガチップス 画像処理装置
WO2019239951A1 (ja) * 2018-06-11 2019-12-19 日本電信電話株式会社 バッファ装置

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101123677B (zh) * 2006-08-11 2011-03-02 松下电器产业株式会社 改善图像锐度的方法、装置及集成电路
CN101663899A (zh) * 2007-04-26 2010-03-03 松下电器产业株式会社 运动检测装置、运动检测方法、以及运动检测程序
CN102132568A (zh) * 2008-08-21 2011-07-20 松下电器产业株式会社 运动检测装置
US8335256B2 (en) * 2008-11-14 2012-12-18 General Instrument Corporation Motion compensation in video coding
WO2010140338A1 (ja) * 2009-06-01 2010-12-09 パナソニック株式会社 画像符号化装置、方法、集積回路、プログラム
US8225043B1 (en) * 2010-01-15 2012-07-17 Ambarella, Inc. High performance caching for motion compensated video decoder
KR20120066305A (ko) * 2010-12-14 2012-06-22 한국전자통신연구원 비디오 움직임 예측 및 보상용 캐싱 장치 및 방법
JP5837575B2 (ja) 2011-04-12 2015-12-24 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置
MX2013012020A (es) 2011-05-24 2013-12-10 Panasonic Corp Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion /decodificacion de imagenes.
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
JP5865366B2 (ja) * 2011-05-27 2016-02-17 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置
ES2779226T3 (es) 2011-05-31 2020-08-14 Sun Patent Trust Procedimiento de descodificación de vídeo y dispositivo de descodificación de vídeo
SG194746A1 (en) 2011-05-31 2013-12-30 Kaba Gmbh Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
EP2728878B1 (en) 2011-06-30 2020-02-19 Sun Patent Trust Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
EP3487178A1 (en) 2011-08-03 2019-05-22 Sun Patent Trust Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
US9838701B2 (en) * 2011-08-03 2017-12-05 Mediatek Inc. Method and video decoder for decoding scalable video stream using inter-layer racing scheme
CA2850595C (en) 2011-10-19 2020-09-08 Panasonic Corporation Picture coding method, picture coding apparatus, picture decoding method, and picture decoding apparatus
CN103986937A (zh) * 2014-05-28 2014-08-13 东南大学 一种用于高分辨率视频的h.264帧间编码存储管理方法
CN115359304B (zh) * 2022-10-17 2023-02-21 山东建筑大学 一种面向单幅图像特征分组的因果不变性学习方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05260461A (ja) * 1992-03-13 1993-10-08 Fujitsu Ltd 動き補償予測装置
JPH09284773A (ja) * 1996-04-09 1997-10-31 Graphics Commun Lab:Kk 動きベクトル探索装置
JP2002152756A (ja) * 2000-11-09 2002-05-24 Mitsubishi Electric Corp 動画像符号化装置
JP2004072301A (ja) * 2002-08-05 2004-03-04 Matsushita Electric Ind Co Ltd 動きベクトル検出方法
JP2006042364A (ja) * 2004-07-28 2006-02-09 Samsung Electronics Co Ltd ビデオデコーダ/エンコーダでのメモリマッピング装置及びビデオデコーダ/エンコーダでのメモリマッピング方法
JP2006287583A (ja) * 2005-03-31 2006-10-19 Victor Co Of Japan Ltd 画像データ領域取得補間回路

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US30899A (en) * 1860-12-11 Franklin w
TW395142B (en) * 1997-05-15 2000-06-21 Matsushita Electric Ind Co Ltd Compressed code decoding device and audio decoding device
US6195389B1 (en) * 1998-04-16 2001-02-27 Scientific-Atlanta, Inc. Motion estimation system and methods
JPH11308617A (ja) 1998-04-23 1999-11-05 Hitachi Ltd ディジタル画像符号化装置とこれに用いる動きベクトル検出装置
US6914938B2 (en) * 2002-06-18 2005-07-05 Motorola, Inc. Interlaced video motion estimation
KR100534207B1 (ko) * 2002-12-09 2005-12-08 삼성전자주식회사 비디오 부호화기의 움직임 추정기 및 그 방법
MXPA05007453A (es) * 2003-01-10 2005-09-12 Thomson Licensing Sa Toma de decision en modo rapido para codificacion inter-estructura.
KR100510136B1 (ko) * 2003-04-28 2005-08-26 삼성전자주식회사 참조 픽처 결정 방법, 그 움직임 보상 방법 및 그 장치
JP4015084B2 (ja) * 2003-08-20 2007-11-28 株式会社東芝 動きベクトル検出装置及び動きベクトル検出方法
US7894526B2 (en) * 2004-02-27 2011-02-22 Panasonic Corporation Motion estimation method and moving picture coding method
US7881376B2 (en) * 2004-05-14 2011-02-01 Panasonic Corporation Motion compensation apparatus
WO2006103984A1 (ja) 2005-03-25 2006-10-05 Matsushita Electric Industrial Co., Ltd. 動き検出装置
JP4570532B2 (ja) 2005-08-02 2010-10-27 パナソニック株式会社 動き検出装置、動き検出方法、集積回路およびプログラム
US8107748B2 (en) * 2005-09-16 2012-01-31 Sony Corporation Adaptive motion search range
CN102132568A (zh) * 2008-08-21 2011-07-20 松下电器产业株式会社 运动检测装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05260461A (ja) * 1992-03-13 1993-10-08 Fujitsu Ltd 動き補償予測装置
JPH09284773A (ja) * 1996-04-09 1997-10-31 Graphics Commun Lab:Kk 動きベクトル探索装置
JP2002152756A (ja) * 2000-11-09 2002-05-24 Mitsubishi Electric Corp 動画像符号化装置
JP2004072301A (ja) * 2002-08-05 2004-03-04 Matsushita Electric Ind Co Ltd 動きベクトル検出方法
JP2006042364A (ja) * 2004-07-28 2006-02-09 Samsung Electronics Co Ltd ビデオデコーダ/エンコーダでのメモリマッピング装置及びビデオデコーダ/エンコーダでのメモリマッピング方法
JP2006287583A (ja) * 2005-03-31 2006-10-19 Victor Co Of Japan Ltd 画像データ領域取得補間回路

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008271292A (ja) * 2007-04-23 2008-11-06 Nec Electronics Corp 動き補償装置
JP2009152710A (ja) * 2007-12-19 2009-07-09 Renesas Technology Corp 画像処理装置及び画像処理方法
WO2011048764A1 (ja) * 2009-10-19 2011-04-28 パナソニック株式会社 復号装置、復号方法、プログラム、及び集積回路
JP2012060265A (ja) * 2010-09-06 2012-03-22 Fujitsu Ltd 画像処理装置
JP2013126083A (ja) * 2011-12-14 2013-06-24 Fujitsu Ltd 画像処理装置
JP2015119282A (ja) * 2013-12-17 2015-06-25 株式会社メガチップス 画像処理装置
WO2019239951A1 (ja) * 2018-06-11 2019-12-19 日本電信電話株式会社 バッファ装置
JP2019216324A (ja) * 2018-06-11 2019-12-19 日本電信電話株式会社 バッファ装置
JP7060802B2 (ja) 2018-06-11 2022-04-27 日本電信電話株式会社 バッファ装置

Also Published As

Publication number Publication date
JP4757080B2 (ja) 2011-08-24
CN101052128B (zh) 2011-06-22
EP1845733A2 (en) 2007-10-17
US8208541B2 (en) 2012-06-26
CN101052128A (zh) 2007-10-10
US20070230573A1 (en) 2007-10-04

Similar Documents

Publication Publication Date Title
JP4757080B2 (ja) 動き検出装置、動き検出方法、動き検出集積回路および画像符号化装置
JP4570532B2 (ja) 動き検出装置、動き検出方法、集積回路およびプログラム
US20100086053A1 (en) Motion estimation device, motion estimation method, and motion estimation program
US9516336B2 (en) Video decoding device, video decoding method, video decoding program, and video decoding integrated circuit
JP4884290B2 (ja) 動画像復号化集積回路、動画像復号化方法、動画像復号化装置及び動画像復号化プログラム
US8019000B2 (en) Motion vector detecting device
JP2002511687A (ja) 動き推定システムおよび方法
JP4709155B2 (ja) 動き検出装置
JP4787044B2 (ja) 画像復号装置、画像復号方法、画像復号プログラム、画像復号集積回路
TWI523498B (zh) An image coding method, an image decoding method, an image coding apparatus, and an image decoding apparatus
JP2007129370A (ja) 動きベクトル検出装置及び方法
JP4675383B2 (ja) 画像復号化装置および方法、画像符号化装置
JP2002218474A (ja) 画像データ符号化装置
JP2012004710A (ja) 動きベクトル検出回路、動画像符号化装置及び動きベクトル検出方法
JP4902854B2 (ja) 動画像復号化装置、動画像復号化方法、動画像復号化プログラム、動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像符号化復号化装置
JP2008136187A (ja) トランスコード装置及びトランスコード方法
JPWO2013031071A1 (ja) 動画像復号装置、動画像復号方法、及び集積回路
JP2007096696A (ja) 画像処理装置及び画像処理方法
JP5906993B2 (ja) 符号化装置、符号化方法、及びプログラム
JPH11239352A (ja) 画像処理方法及び画像処理装置、並びにデータ記憶媒体
JP2009111647A (ja) 動きベクトル検出装置および動きベクトル検出方法
US20110122952A1 (en) Motion estimation device
WO2006103984A1 (ja) 動き検出装置
JP2007020123A (ja) 動き検出装置、および動き検出方法
JP5533302B2 (ja) 動画像符号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101026

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101221

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110531

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4757080

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140610

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees