JP5043012B2 - キャッシュ・ローカリティを保存するビデオ符号化/復号化方法 - Google Patents

キャッシュ・ローカリティを保存するビデオ符号化/復号化方法 Download PDF

Info

Publication number
JP5043012B2
JP5043012B2 JP2008526582A JP2008526582A JP5043012B2 JP 5043012 B2 JP5043012 B2 JP 5043012B2 JP 2008526582 A JP2008526582 A JP 2008526582A JP 2008526582 A JP2008526582 A JP 2008526582A JP 5043012 B2 JP5043012 B2 JP 5043012B2
Authority
JP
Japan
Prior art keywords
memory
image
decoding
encoding
images
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
Application number
JP2008526582A
Other languages
English (en)
Other versions
JP2009505549A (ja
Inventor
ファン ドレン ギール
カレル リーメンス アーブラハム
ヤン デ ブルーイン フレデリック
Original Assignee
トライデント マイクロシステムズ インコーポレイテッド
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=37561067&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP5043012(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by トライデント マイクロシステムズ インコーポレイテッド filed Critical トライデント マイクロシステムズ インコーポレイテッド
Publication of JP2009505549A publication Critical patent/JP2009505549A/ja
Application granted granted Critical
Publication of JP5043012B2 publication Critical patent/JP5043012B2/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data

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

本発明は、ビデオデータを符号化/復号化するための方法に関する。さらに本発明は、ビデオデータを符号化/復号化するための装置に関する。
ビデオ符号化/復号化には、参照フレームを使用する。このような符号化の代表例には、MPEG2やH.264などの標準規格がある。しかしながら、例えばウェブカメラに使用する独自のアルゴリズムにおいても参照フレームが使用されている。
ビデオ処理装置は一般的に、非圧縮の/または符号化したビデオデータをもとに符号化/復号化計算を実行するための例えばデジタル信号プロセッサなどのプロセッサを含んでいる。プロセッサには異なる種類のメモリが接続されている。通常、ビデオデータは、高画質のビデオ用の処理を行うべき大量のデータが存在するので、大容量のメモリに格納されている。これに加えて、一時バッファとして働くより小さいサイズのメモリがプロセッサに結合されている。ビデオを格納する大きいサイズのメモリは、帯域幅の限定された接続部を経てプロセッサに結合されている。一時バッファとして使用されるメモリは、上記大きいメモリの接続部よりも広い帯域幅を有する接続部を経て接続されている。ほとんどの場合、上記大きいメモリは、プロセッサを含むチップの外部に配置され、従ってオフチップ(チップ外)メモリとして設計され、上記一時バッファは同一チップ上に配置される。このため一時バッファはオンチップ(チップ上)メモリと呼ばれる。
符号化/復号化に使用する参照画像は、一般にオンチップメモリ内に完全に収めるには大きすぎる。SD MPEG復号化については、1.2Mbyteの参照画像データを格納する必要がある。HD MPEG復号化については、6Mbyteまでとり得る。MPEG符号化については、画像の並べ替え(リオーダ)用にさらに大きな画像メモリが必要となる。それ故、このような参照画像を使用するためにはオフチップメモリへのアクセスが必要となる。
しかしながら、長期にわたる技術の進歩の結果、メモリの形状は小さくなっていくため、両メモリは単一チップ上に置くことができる。またこの場合には、キャッシング(キャッシュ記憶)のいくつかのレベルが形成される。第1キャッシュレベルは、処理ユニットの“近く”にあり、次のキャッシュレベルは“より長距離”にあり、より大きなメモリサイズを有する。次のキャッシュレベルの帯域幅は第1キャッシュレベルの帯域幅よりも大幅に小さい、という推論はまだ成り立つ。それ故、メモリのボトルネックは、将来のシステムにおいても重要な問題のままである。
画像の解像度が増加する傾向により、参照フレームのサイズもより大きくなり、従って格納するためにより大きなメモリを必要とする。これにより、参照フレームは将来にもオフチップメモリに格納されると思われる。またこれによりオフチップメモリの帯域幅も大きくなる。
さらに、処理または計算能力とメモリ通信との間の性能ギャップが、半導体技術の進歩によって増加していく。従って帯域幅の考慮およびメモリアクセスのレイテンシは共に、より支配的な設計パラメータとなる。これらはデータが足りないことによりチップ上の効率的な処理能力の利用を危険にさらす。
ますます多くの信号処理機能がモバイルアプリケーション向けに、明らかに電力消費を重視して設計されている。大きい帯域幅でのチップ外通信は相当の電力を必要とするので、このことはチップ外通信を低減するよう、さらに圧力を加える。
標準的なメモリ構成部品は、通常、所定の帯域幅に制限されたインターフェイス規格に準拠する。このようなボトルネックまたは制限された帯域幅容量は、ビデオ処理システムに非常に強い制限を課す。このような制限を緩和するためには、大幅なコストの増加を必要とする。それゆえ、オフチップのメモリチップ数を倍増させてバス帯域幅を倍増させることが可能である。このことはシステムコストおよびシリコン面積およびチップのピン数を増加させる。
これらの傾向の結果、メモリのボトルネックは将来より顕著になる。
米国特許第6263112号明細書
米国特許第6263112号明細書は、動きベクトル検索装置および動画像符号化装置を記載している。この明細書は、ビデオ処理用の帯域幅要求を低減することを記載している。ビデオデータの符号化/復号化には参照フレームが使用される。なお、B−フレームの符号化には一般にI−フレームとP−フレームの2つの参照フレームを必要とするので、B−フレームが参照フレームへの帯域幅に最大の負荷をかける。この明細書は、B−フレームの符号化に1つの参照フレームのみ使用し、これにより予め計算した動きベクトルを利用することを開示している。動きベクトルは、動きベクトルデータ格納メモリに格納されている。帯域幅要求の低減は、画質の低下を生じさせる。さらに、この発明はエンコーダにのみ適用可能である。加えて、規格の必ずしも全ての特徴を活用することができないので、この発明はビットレートを増加させる。
従って、本発明の目的は、画質を低下させたりビットレートを増加させたりすることなく、ビデオ符号化/復号化用のオフチップメモリのトラフィックを低減する方法および装置を提供することにある。
本発明の目的は、独立請求項に記載の特徴により解決される。
本発明は、連続する画像を処理するために1つの参照画像に複数回アクセスしているという観察に基づいている。このことは符号化並びに復号化にあてはまる。従来技術においては、これらのアクセスは時間的に比較的離れており、オフチップメモリ内の同じ画像データへ別個にアクセスすることが必要であるか、あるいは完結した参照画像列をオンチップの第1メモリ内に格納することが必要であった。
本発明は、チップ上に完結した参照画像列を格納することなしに、画像データの部分集合への単一回のアクセスを複数回利用して複数の画像の処理することを提案する。このことは連続した画像を同時に処理することによって行う。
大部分の圧縮規格は、予測に動き補償を使用している。複数の動きベクトルにおける因果関係の制約および差異は、同時に処理される画像用に全く同じデータを全く同じ瞬時に要求することの防げとなる。この相反を克服するために、小型のオンチップバッファがなお必要である。このオンチップバッファを以下では第1メモリと呼ぶ。第1メモリは、最大ベクトル範囲程度の参照画像のウィンドウまたは部分集合を含む。完結した参照画像列は大きな第2メモリに格納され、これは一般的にチップ外に配置されている。
第1メモリは、参照画像の関連部分を含むので、第2メモリの長いレイテンシを補償するためにも使用することができる。
この思想は、ビデオエンコーダおよびデコーダの両方に独立して適用可能である。その例はMPEGおよびH.264である。これはソフトウェアおよびハードウェアの符号化/復号化実現に共に有用である。
有利な好適例では、同時に符号化/復号化される画像の少なくとも1つを、他の同時に符号化/復号化される画像の少なくとも1つを符号化/復号化するための参照画像として使用する。こうしてオフチップメモリのアクセス回数はさらに低減され、および処理時間および電力消費も低減される。
他の好適例では、同時に符号化/復号化される画像が共通参照画像へのアクセスを共用することが好ましい。第1メモリに格納された部分集合は、同時に符号化/復号化される画像の両方を符号化/復号化するために使用する共通参照画像のデータを含む。
好適例では、第1メモリへのデータ書込みと第1メモリからのデータ読出しとが同期し、これにより、縦続的な画像またはその一部分を復号化するために必要な参照画像の部分が、縦続的な画像の復号化を開始する前に既に復号化されている。こうして、2つの同時に符号化/復号化される画像間で書込みが読出しに先行することが保証される。
第1メモリにおけるアクセスを同期させて、同時に符号化/復号化される画像の第1画像の復号化/符号化が第2画像のほぼ同じ画像位置で生じることを保証することがさらに有利である。こうして、第1メモリに格納されるデータ量が小さく保たれる。
第1メモリにおけるアクセスの同期は、第1および第2画像を同時に符号化/復号化している間に、共用される共通参照画像のアクセスが共通参照画像のほぼ同じ画像位置で生じることを保証する。この同期は、2つの共有画像への読込みアクセスがほぼ同じ位置であることを保証する。
別な好適例では、上記アクセスの同期が、共通参照画像として使用するそれぞれの画像の垂直位置に基づく。
アクセス間の同期オフセットが、動きベクトルの最大垂直成分に基づくことが好ましい。同期オフセットとは、第1画像が書込まれる画像位置と第2画像が処理されている画像位置との垂直方向の差を称する。第2画像を復号化するためには、第1画像からのデータが必要である。このデータは最初に書込む必要がある。第1画像中の読出しアクセスの正確な位置は、動きベクトルに依存する。この動きベクトルは、第2画像のビットストリームから得られる。従来技術によれば、このことは第1画像中の読出し動作毎のチェックおよび同期を必要とする。このことは多数回のチェックおよび同期動作を生じさせ、多大な追加的操作および複雑性を生じさせる。しかしながら、動きベクトルには通常最大値がある。同期の基準に最大値を使用することによって、あり得る全てのベクトル値にアクセスすることができ、同期はもはや特定のベクトル値に依存しない。
さらに、最大ベクトルの垂直成分のみを使用することによって、チェックおよび同期は、画像上を垂直方向に進むときにのみ行えばよい。
別な好適例では、圧縮データ内の次の画像の始点を検索する検索プロセスを実行することが好ましい。こうして複数の画像を同時に復号化することが可能になる。
符号化プロセスの別な好適例では、符号化ストリームを並列的に符号化する。異なる符号化画像を連結して、規格に準拠した画像の連続ビットストリームを生成する。
符号化中にはさらに、動きベクトルのサイズを制限することが可能である。これにより、作業用データの集合が第1メモリのサイズを超えないように、第1メモリのサイズを考慮することができる。
本発明の目的は、ビデオデータの符号化/復号化プロセスを実行する処理ユニット;この処理ユニットに結合され、前記ビデオデータを符号化/復号化するために必要な画像データを格納するための第1メモリ、および第2メモリを含むビデオ処理装置によっても解決され、前記第2メモリ内ではビデオストリームが複数の画像を含み、前記第1メモリは前記第2メモリ内の画像データの部分集合を格納するように構成され、前記処理ユニットは前記第1メモリ内の前記画像データの部分集合にアクセスすることによって前記ビデオストリームの2つ以上の画像を同時に符号化/復号化するように構成され、この同時の符号化/復号化は、少なくとも1つの画像へのアクセスを共用することによって行う。
別な好適例では、複数の処理ユニットを配置し、各処理ユニットは同時に動作して単一の画像を処理する。この方法では、タスクレベルの並列処理を有効に利用して単一のビデオストリームを符号化/復号化する。これら複数のプロセッサは1つの第1メモリにアクセスする。
さらに他の好適例では、複数の第1メモリが利用可能であり、各第1メモリはそれぞれの処理ユニットの近くに配置されている。この場合には、これらの第1メモリ間で画像データを複製するために、追加的な通信手段が第1メモリ間に必要となる。このようなシステムの例は、各プロセッサが自前のレベル0のキャッシュを備えたマルチプロセッサシステムである。キャッシュコヒーレントなハードウェアが種々のキャッシュ間での画像データの複製を行う。
本発明の他の目的や利点は、以下の図面を伴う説明により明らかになる。以下、本発明の好適な実施例について図面を参照しながら以下に詳細に説明し、この実施例は一例に過ぎない。これらの図面は例示目的で提供するに過ぎず、本発明の実際的な例を必ずしも一定寸法比で表現するものではない。
以下に本発明の種々の実施例を説明する。
本発明は幅広い応用に適用することができるが、MPEG符号化/復号化の応用に焦点を合わせて説明する。本発明のさらなる応用分野は、H.264/AVCアルゴリズムまたは参照画像を使用する他の符号化/復号化アルゴリズムとすることもできる。
図1に、本発明に使用するビデオ処理装置の構造を示す。このビデオ処理装置には、例えばデジタル信号プロセッサまたは固定関数ブロックなどの処理ユニット11があり、符号化/復号化プロセスを実行する。第1メモリ12は、帯域幅の大きな接続部を有する処理ユニット11に結合されている。メモリ管理は、処理ユニット11によって直接制御することができる。メモリ管理は、別な制御ユニット(図示せず)によって、例えばダイレクトメモリアクセス(DMA)を用いて実行することができる。別な代案として、第1メモリ12は、第2メモリ13のデータキャッシュとして挙動することができ、どのデータが第1メモリ12において利用可能であるかは、一般的なキャッシュ方策によって決定することができる。
第2メモリ13は、チップ10の外側に配置することができる。第2メモリ13は、第1メモリ12より大きい記憶容量を有する。第2メモリから処理ユニット11への接続は、その帯域幅が限定されている。別なメモリ制御ユニットを使用する場合には、処理ユニット11を使用せずに第2メモリ13から第1メモリ12に直接データを書き込むことができる。図1は復号化方向を示し、単にデータの入力と出力を交換することによって、同じ装置は符号化にも使用される。
図2に、MPEG2符号化の場合の画像の依存関係を示す。I−画像、B−画像およびP−画像が存在する。I−画像Aは参照画像を使用せずに復号化される。P−画像Bは、I−画像Aを参照画像として使用することによって復号化される。B−画像Cを復号化するためには、復号化したP−画像Bおよび復号化したI−画像Aを参照画像として使用する。このような画像のシーケンスをGOP(Group of pictures:画像グループ)と呼ぶ。IPBPBPB...のシーケンスがGOP構造として知られている。例えばIPBBPBBPBB...のような異なるGOP構造を使用することもでき、これにも本発明を適用することができる。P−画像は先行するI−画像に依存し、B−画像は先行するI−画像およびP−画像に依存する。
フレームとも呼ばれる周知の画像の依存関係から始め、図2に示すフレームシーケンスを復号化するための書込み/読出しアクセスについて図3を参照しながら説明する。ビデオストリームは画像のシーケンスとして符号化される。通常、画像は、データを受け取った順に復号化する。参照画像Aを用いて画像Bを復号化する際には、前に復号化した参照画像Aを再使用する。オンチップメモリまたは第1メモリ12は参照画像Aを保持するには大きさが不順分であるので、一般に、参照画像Aはオフチップメモリまたは第2メモリ13から再読込みしなければならない。図3に示すように、参照画像Aは1回書き込まれ、画像Bおよび画像Cを復号化するための参照画像とする目的で2回再読込みされる。このことは多数回のオフチップメモリまたは第2メモリ13へのアクセスが要求される。
図4に、図3の一部分を拡大して示す。図4は、マクロブロックMの計算を示す。このようなマクロブロックを計算するために、参照画像Aの領域または一部分が必要となる。このアクセス領域または部分集合のサイズは、マクロブロックについての動きベクトルVの最大サイズに依存する。参照画像毎に、このような“検索領域”を認識することができる。マクロブロックの位置が画像中の下方へと進むとき、検索領域も下方へとスライドする。現在技術のシステムでは、これらの検索領域ウィンドウからのデータは通常、本発明の第1メモリと同様のローカルバッファまたはキャッシュにおいて利用可能である。図4は、画像Aからのデータが、画像Bを生成するために一度読み出され、画像Cを生成するために再度読み出されることを示す。さらに、およそ同じ出力画像位置において、それぞれのアクセス領域の内容は相当量のオーバーラップ(重複)を示す。本発明は、図5に示すようにこの特徴を利用する。
図5に、本発明による画像BおよびCの同時復号化のための、オーバーラップしている画像ウィンドウを示す。画像BおよびCは共に画像Aからのデータを必要とする。これらの画像を同時に復号化する際に、この画像データの部分集合は、第2メモリ13から第1メモリ12に1回だけ読み出される。そして復号化プロセスは、第1メモリ12からのこの画像データの部分集合を2回使用する。それぞれの画像中の復号化位置は幾分異なり得るので、結合したアクセス領域は、単一の復号化画像のアクセス領域に比べて少し大きくなる。図5は、オーバーラップしている2つのアクセス領域を灰色の濃淡付けで示す。濃い灰色部分が両領域のオーバーラップを示す。この方法の明らかな結果は、画像Aデータのための第2メモリのトラフィックの50%低減である。
画像BおよびCは同時に復号化される。しかし、画像Bは画像Cの参照画像でもある。本発明では、計算した画像Bのデータを第1メモリ12に格納すると共に第2メモリ13にコピーする。こうして、画像Cの復号化のための画像Bのアクセス領域は、第1メモリ12において直ちに利用可能である。
従来のデコーダは、画像Bを第2メモリ13に書き込み、その後画像Cを復号化する際に画像Bを第2メモリ13から再度読み出す必要がある。本発明は、第2メモリ13からの読出しを回避し、画像Bのデータのための第2メモリのトラフィックの50%低減を生み出す。
2つの画像BおよびCを同時に復号化するプロセスを図3の例に適用する。本発明による結果を図6に示す。この画像では、ブロックの横方向の幅が第2メモリ13内の画像の帯域幅を示す。ブロックの高さは演算の継続時間を示す。第2メモリ13へのアクセス回数は大幅に低減されている。
図3に示す標準的な場合には、画像BおよびCを復号化するために、第2メモリへの5回のフルアクセス(A読出し、B書込み、A読出し、B読出し、C書込み)が必要となる。図6に示す本発明による状況では、必要となる第2メモリへのフルアクセスは3回(A読出し、B書込み、C書込み)のみである。従って、2/5=40%のチップ外帯域幅消費の低減が実現されている。この特定例では、画像BおよびCを同時に処理することを選択している。GOP構造およびオンチップ・バッファメモリまたは第1メモリ12の利用可能性次第では他の選択も可能である。こうして、2つのB−画像を同時に処理することができる。I−画像およびP−画像を同時に処理することも可能である。さらに、3つ以上の画像を同時に処理することも可能である。
なお、帯域幅の低減は帯域幅のピークにおいて生じる。B−画像Cを復号化する際には、単一の画像を復号化するために3回のアクセス(2回の読出し、1回の書込み)が必要である。P−フレームBについては2回のアクセスが必要であり、I−フレームAについては、単一回のアクセスしか必要としない。従って、追加的な利点として、本発明は長い時間で見れば帯域幅消費を平滑化する。システムは最悪の場合の帯域幅消費をサポートしなければならないので、このことはチップ外帯域幅の設計目標を緩和する。さらに、ビデオエンコーダ/デコーダの帯域幅消費がより一定になるため、このことはよりよいスケジューリングおよびバス利用を可能にする。
この思想の実現は標準的な復号化アルゴリズムを使用する。通常の実現に比べれば、この実現は、画像Bの復号化が、この参照画像Bに依存する画像Cの計算に先行することを保証するための追加的な同期プロセスを必要とするに過ぎない。さらに、参照画像Bの復号化を先行させ過ぎないで、参照画像Bに依存する画像Cを復号化する際に参照画像Bのデータが第1メモリ12内にまだ残っていることを保証する。
さらに、圧縮されたビデオストリームを効率的に走査して、現在の画像をまず復号化しなければならないことなしに、次の画像の始点を見出すことが必要である。実現におけるこれらの追加的事項は共に、実現が比較的単純である。
以下に、第1メモリ12内にあるデータを示す:
1・同時に復号化される全ての画像BおよびCの動きベクトル。動きベクトルは全てのマクロブロックについて利用可能であるので、これは画像格納容量の一部しか必要としない。
2.同時に復号化される画像BおよびCについての圧縮ビデオデータ。(これは圧縮領域内にあるデータであるので、これも画像格納容量の一部しか必要としない)
3.図5に示すように、参照画像の一部の格納。第1メモリ12の必要量は最大ベクトルサイズに依存する。
SD MPEGを例として取り上げ:参照として使用されるP−画像と同時にB−画像を計算する。P−画像の動きベクトルは最大64画素分であるものと仮定する。必要なI−画像データをチップ上に保持するために、128×720×1.5=135Kバイトが必要である。B−画像を計算するためには、参照としてP−画像を必要とする。さらに、P−画像の参照データを収めるために135Kバイト、およびB−画像の復号化は一般にP−画像の後になるのでI−画像上の追加的データ用に65Kバイトが必要であるものと仮定する。合計で335Kバイトが必要である。2つ以上のB−画像を持つことは、必要な第1メモリの量を増加させない。3つ以上の参照画像(例えばH.264)を持つことは、必要な第1メモリの量を増加させる。
以下に、符号化のプロセスを説明する。ビデオ符号化には、復号化と同じ原理を用いることができる。参照画像と、この参照画像に依存する画像とを同時に符号化することができる。符号化は復号化に比べて、次のような多くの利点がある:標準画像または参照画像を符号化する時点を自由に決定することができる。
符号化ストリームは並列的に生成される。異なる画像の符号化ストリームは正しい順序に連結しなければならない。このことは復号化に必要な構文解析よりも単純であり、大きな計算能力を必要としない。符号化中には、基準にあり得る特徴の必ずしも全てを使用しないことを選択することができる。このことは、ハードウェア・アーキテクチャの特性を考慮に入れた最適化を可能にする。
いくつかの例を挙げる:
作業用の画像データの集合がチップ上のバッファサイズを超えないように、動きベクトルを制限することを選択することができる。
さらに、単一の画像のみを参照してB−画像を符号化することを選択することができる(従って、このB−画像はP−画像に類似した参照画像を使用する)。B−画像は書き込まれるだけであり、P−画像は読み出されるだけであるので、このことはローカルメモリメモリ上のアクセス回数を低減する。これによりローカルバッファの帯域幅が節約される。
一部の場合には、追加的メモリが必要となる(帯域幅をメモリ消費に引き換え、このことはコストの観点からまだ有利である)。
いくらかの追加的レイテンシがデコーダに加わる;多くの応用では、このことは全く問題ではない(例えばDVD復号化、放送、等)。
さらに他の実施例では、複数の処理ユニット11x、11y、11z、および各処理ユニット11x、11y、11zの付近に配置したそれぞれ第1メモリ12x、12y、12zが利用可能である。この場合には、第1メモリ12x、12y、12z相互間の追加的な通信手段14が、第1メモリ上での画像データの複製を行う。このようなシステムの例はマルチプロセッサシステムであり、ここでは各処理ユニット11x、11y、11zが自前のレベル0のキャッシュを備えている。キャッシュコヒーレントなハードウェアが、複数のキャッシュ間で画像データの複製を行う。
複数の処理ユニット11x、11y、11zそれぞれが第1オンチップメモリ12x、12y、12zに接続されている。第1メモリは通信ネットワーク14に接続され、通信ネットワーク14はチップ外の第2メモリ13にも接続されている。通信ネットワーク14は、第1メモリ12x、12y、12zから第2メモリ13へのデータ転送、および第1メモリ12x、12y、12z相互間のデータ転送を共にサポートする。第1メモリ12x、12y、12zは、データキャッシュとしてCPU11x、11y、11zの付近に置くことができる。このようなシステムでは、複数の画像を同時に処理することができ、単一の処理ユニット11x、11y、11zは各画像を処理する。例えば、プロセッサ11yが画像Cを復号化している間に、プロセッサ11xは画像Bを復号化することができる。このシステムでは、キャッシュコヒーレンシを扱う必要がある。純粋な階層メモリシステムでは、第1メモリにおけるキャッシュミスは常に第2メモリへのアクセスを生じさせる。しかしながら、キャッシュコヒーレンシによれば、他のオンチップキャッシュのいずれかにおいて当該データが既に利用可能であるか否かのチェックをまず行う。データが既に利用可能である場合には、他のオンチップキャッシュをオフチップメモリの代わりに使用する。このようにして、帯域幅制限されたオフチップメモリへのデータアクセス回数をさらに低減することができる。例えば、画像Cがプロセッサ11yによって処理される際に、画像Aからのデータを参照画像として使用し、第1メモリ12yにロードする。その間に、プロセッサ11xは画像Bを処理しており、プロセッサ11xも画像Aから画像データを読み出す。キャッシュコヒーレンシの機能性は、このデータを第1メモリ12yから取得して第1メモリ12xにロードし、プロセッサ11xにとって利用可能にすることを行う。この方法でも、画像Aの画像データは、画像Bおよび画像Cの同時復号化に使用されている間に、チップ外の第2メモリ13から一度だけ読み出される。
本発明の使用によって、次の利点が提供される:
第2メモリへのアクセスが5回必要であった従来の方法に比べて、第2メモリへのフルアクセスは3回しか必要としないので、一般的なMPEG符号化/復号化(IBPBPBP)において約40%の帯域幅低減が達成される。
より多くのB−画像が画像グループ(GOP)内に含まれる場合には(例えばIBBPBBPBBPのGOP構造)、同時に処理する画像数を増加させることによって、より大きな低減が可能である。
第2メモリへのアクセス回数の低減により、符号化/復号化用の電力消費が減少し、このことはモバイル符号化にとって非常に有利である。
帯域幅のピークが低減され、より連続的な帯域幅の使用が達成される。
本発明は、MPEG、H.264のような規格に適用することができる。しかしながら、本発明はデータを符号化したエンコーダに依存しないデコーダに適用することができ、逆もまた同様である。さらに、本発明はSDからHDまでのビデオに適用可能である。
復号化アルゴリズムは影響を受けない。符号化アルゴリズムに対する影響はないかごくわずかである。本発明を実施するために、エンコーダまたはデコーダの実現に対する影響は非常に小さい必要があり:参照画像の「生産者」と「消費者」との間の同期プロセスを追加する必要がある。さらに、複数の画像の同時復号化を開始するために、圧縮データ内の次の画像の始点の検索を追加する必要がある。符号化の際に、同時に生成したビットストリームの各部分を正しい順序に連結する必要がある。これらの操作はすべて、比較的容易である。
本発明では、本発明の範囲を逸脱することなしに広範な異なる符号化または復号化方法を使用することができることは明らかである。本発明は、請求項によって限定されること以外は、その特定の符号化/復号化方法によって限定されるものではない。
本明細書に記載した方法は、専用のハードウェアユニットから成る装置、または必要な機能用のソフトウェアコードを備えたプログラム可能な処理ユニット、または必要な機能向けに構成されたプログラム可能なハードウェア、あるいはこれらの組み合わせに適用することができる。
本発明によるビデオ処理装置の構造の概略図である。 画像(GOP)の依存関係を示している。 従来技術による、図2に示す画像シーケンスを復号化するための画像への読出しおよび書込みアクセスを示す図である。 従来技術による、ある画像ウィンドウに限定した図3の一部分の読出しおよび書込みアクセスを示す図である。 本発明による2つの画像の同時計算/復号化のための、オーバーラップする画像ウィンドウを示す図である。 2つの画像を並列的に復号化した際の、本発明による読出しアクセス回数低減を示す図である。

Claims (10)

  1. 第1メモリに結合された処理ユニットを有し、さらに第2メモリを備えたビデオ処理装置において、複数の画像を含むビデオストリームを符号化/復号化する方法において:
    前記第2メモリに格納された画像データの部分集合を前記第1メモリに提供するステップと;
    前記部分集合にアクセスすることによって、前記ビデオストリームの2つ以上の画像を符号化/復号化するステップとを具え、
    前記符号化/復号化は、前記第1メモリ内の少なくとも1つの画像へのアクセスを共用することによって実行し
    さらに、前記2つ以上の画像を符号化/復号化するために共用されるアクセスが、前記少なくとも1つの画像中のオーバーラップする画像位置において生じることが保証されるように、前記第1メモリへのアクセスを同期させるステップを具えていることを特徴とするビデオストリームの符号化/復号化方法。
  2. 前記符号化/復号化される画像のうち、少なくとも1つの画像が、他の画像を符号化/復号化するための参照画像として使用されることを特徴とする請求項1に記載の方法。
  3. 前記符号化/復号化される画像が、共通参照画像を共用することを特徴とする請求項1に記載の方法。
  4. さらに、前記復号化される画像の第1画像の復号化が、前記第1画像に依存する第2画像の読出し位置に先行することが保証されるように、前記第1メモリへのアクセスを同期させるステップを具えていることを特徴とする請求項1〜3のいずれかに記載の方法。
  5. 前記同期が、それぞれの画像中の垂直位置に基づくことを特徴とする請求項2または4に記載の方法。
  6. 前記同期における同期オフセットが動きベクトルの最大垂直成分に基づくことを特徴とする請求項5に記載の方法。
  7. 請求項1〜6のいずれかに記載のビデオストリームの復号化方法において、さらに、前記ビデオストリーム中の現在の画像をまだ復号化していないままで、前記ビデオストリームを走査して次の画像の始点を見出すステップを具えていることを特徴とする方法。
  8. 請求項1〜6のいずれかに記載のビデオストリームの符号化方法において、前記符号化される画像のデータを連結して画像の連続ビットストリームを生成することを特徴とする方法。
  9. ビデオストリーム中のビデオデータの符号化/復号化プロセスを実行するための処理ユニットと;
    前記処理ユニットに結合され、前記ビデオデータの符号化/復号化に必要な画像データを格納する第1メモリと;
    複数の画像を含む前記ビデオストリームを格納する第2メモリとを含み、
    前記第1メモリは、前記第2メモリ内の画像データの部分集合を格納するように構成され、前記処理ユニットは、前記第1メモリ内の前記画像データの部分集合にアクセスすることによって前記ビデオストリームの2つ以上の画像を符号化/復号化するように構成され、前記符号化/復号化は、少なくとも1つの画像へのアクセスを共用することによって実行され、
    前記2つ以上の画像を符号化/復号化するために共用されるアクセスが、前記少なくとも1つの画像中のオーバーラップする画像位置において生じることが保証されるように、前記第1メモリへのアクセスを同期させることを特徴とするビデオ処理装置。
  10. 前記処理ユニットが複数の処理ユニット部分で構成され、前記処理ユニット部分の各々が同時に動作して単一画像を処理し、さらに、前記第1メモリが複数の第1メモリ部分で構成され、前記第1メモリ部分の各々が前記処理ユニット部分のそれぞれに関連し、前記第1メモリ部分の相互間に通信ユニットが設けられ、前記通信ユニットは、前記処理ユニット部分が直接関連しない前記第1メモリ部分へのデータアクセスを、当該データを必要とする当該処理ユニット部分に提供することを特徴とする請求項9に記載のビデオ処理装置。
JP2008526582A 2005-08-17 2006-08-07 キャッシュ・ローカリティを保存するビデオ符号化/復号化方法 Expired - Fee Related JP5043012B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP05107557 2005-08-17
EP05107557.0 2005-08-17
EP05108995 2005-09-29
EP05108995.1 2005-09-29
PCT/IB2006/052721 WO2007020560A1 (en) 2005-08-17 2006-08-07 Method video encoding and decoding preserving cahe localities

Publications (2)

Publication Number Publication Date
JP2009505549A JP2009505549A (ja) 2009-02-05
JP5043012B2 true JP5043012B2 (ja) 2012-10-10

Family

ID=37561067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008526582A Expired - Fee Related JP5043012B2 (ja) 2005-08-17 2006-08-07 キャッシュ・ローカリティを保存するビデオ符号化/復号化方法

Country Status (7)

Country Link
US (1) US8184689B2 (ja)
EP (1) EP1917812B1 (ja)
JP (1) JP5043012B2 (ja)
CN (1) CN101243690B (ja)
AT (1) ATE448644T1 (ja)
DE (1) DE602006010402D1 (ja)
WO (1) WO2007020560A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4910576B2 (ja) * 2006-09-04 2012-04-04 富士通株式会社 動画像処理装置
US9877033B2 (en) * 2009-12-21 2018-01-23 Qualcomm Incorporated Temporal and spatial video block reordering in a decoder to improve cache hits
US8854382B2 (en) * 2010-12-10 2014-10-07 Vixs Systems, Inc. Multi-function encoder and decoder devices, and methods thereof
US9560355B2 (en) 2011-02-25 2017-01-31 Sun Patent Trust Efficient decisions for deblocking
US20130156114A1 (en) * 2011-12-17 2013-06-20 Faramarz Azadegan Data Movement Reduction In Video Compression Systems
WO2015037373A1 (ja) * 2013-09-12 2015-03-19 ソニー株式会社 符号化装置、送信装置および受信装置
US20150146784A1 (en) * 2013-11-26 2015-05-28 Vixs Systems Inc. Motion compensation with moving window
US11051026B2 (en) * 2015-08-31 2021-06-29 Intel Corporation Method and system of frame re-ordering for video coding
CN107770565A (zh) * 2016-08-15 2018-03-06 联发科技股份有限公司 低延迟视频编码的装置与方法
CN109640111B (zh) * 2019-01-29 2021-02-02 视联动力信息技术股份有限公司 一种图片传输方法、装置和可读介质
CN115119048B (zh) * 2019-08-10 2024-02-23 荣耀终端有限公司 一种视频流处理方法及电子设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2636192B1 (fr) * 1988-09-07 1992-07-24 Sanyo Electric Co Appareil de stockage de donnees d'image
US5521717A (en) * 1992-02-03 1996-05-28 Canon Kabushiki Kaisha Image processing apparatus and method therefor
JPH05290461A (ja) 1992-04-06 1993-11-05 Mitsubishi Electric Corp 磁気記録再生装置
KR0129557B1 (ko) 1992-10-07 1998-04-10 배순훈 움직임 보상을 이용한 동영상 신호처리기의 메모리 장치
EP0710028A3 (en) * 1994-10-28 2000-01-19 Kabushiki Kaisha Toshiba Image decoding apparatus
JP4294743B2 (ja) 1996-12-13 2009-07-15 富士通株式会社 動きベクトル探索装置および動画像符号化装置
JP4264571B2 (ja) 1998-04-09 2009-05-20 ソニー株式会社 ディジタル画像復号装置及び方法、並びに記録媒体
JP4427827B2 (ja) * 1998-07-15 2010-03-10 ソニー株式会社 データ処理方法、データ処理装置及び記録媒体
US6243140B1 (en) * 1998-08-24 2001-06-05 Hitachi America, Ltd Methods and apparatus for reducing the amount of buffer memory required for decoding MPEG data and for performing scan conversion
JP3701522B2 (ja) * 1999-09-21 2005-09-28 シャープ株式会社 画像符号化装置、画像符号化方法及びコンピュータ読み取り可能な記録媒体
JP3861607B2 (ja) 2001-02-22 2006-12-20 セイコーエプソン株式会社 画像信号復号装置
JP2004521581A (ja) * 2001-07-06 2004-07-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 制御されるベクトル統計を備える動き推定及び動き補償
JP4195969B2 (ja) 2002-08-05 2008-12-17 パナソニック株式会社 動きベクトル検出装置
JP4517592B2 (ja) * 2003-06-16 2010-08-04 ソニー株式会社 画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体
JP2005175997A (ja) * 2003-12-12 2005-06-30 Sony Corp 復号化装置、電子機器、コンピュータ、復号化方法、プログラム及び記録媒体
JP4180547B2 (ja) * 2004-07-27 2008-11-12 富士通株式会社 動画像データ復号装置、および復号プログラム
CN1286323C (zh) * 2004-08-05 2006-11-22 联合信源数字音视频技术(北京)有限公司 帧场视频解码中运动矢量存取的控制装置及其方法

Also Published As

Publication number Publication date
CN101243690A (zh) 2008-08-13
DE602006010402D1 (de) 2009-12-24
US8184689B2 (en) 2012-05-22
EP1917812B1 (en) 2009-11-11
US20080232462A1 (en) 2008-09-25
JP2009505549A (ja) 2009-02-05
ATE448644T1 (de) 2009-11-15
EP1917812A1 (en) 2008-05-07
WO2007020560A1 (en) 2007-02-22
CN101243690B (zh) 2011-02-23

Similar Documents

Publication Publication Date Title
JP5043012B2 (ja) キャッシュ・ローカリティを保存するビデオ符号化/復号化方法
US7924925B2 (en) Flexible macroblock ordering with reduced data traffic and power consumption
JP5969914B2 (ja) 動画像圧縮伸張装置
JP5300176B2 (ja) 高性能ビデオプロセッサ用の低電力メモリ階層
JP5309700B2 (ja) 動画像復号装置および符号化装置
US20070071099A1 (en) External memory device, method of storing image data for the same, and image processor using the method
JP4755624B2 (ja) 動き補償装置
JP2006270683A (ja) 符号化装置と方法
WO2007028323A1 (en) Device and method for loading motion compensation data
US8045021B2 (en) Memory organizational scheme and controller architecture for image and video processing
JP2007259323A (ja) 画像復号化装置
US9591319B2 (en) Video encoder
JP4383367B2 (ja) 動きベクトル検出装置
JP2009130599A (ja) 動画像復号装置
JP2009152710A (ja) 画像処理装置及び画像処理方法
KR100708183B1 (ko) 움직임 추정을 위한 영상 데이터 저장 장치 및 그 데이터저장 방법
JP2017117145A (ja) 半導体装置、データ処理システム及び半導体装置の制御方法
JP2011097488A (ja) 映像圧縮符号化装置
JP2002152756A (ja) 動画像符号化装置
JP4461303B2 (ja) 動画復号化装置および動画復号化方法
KR100730689B1 (ko) 동영상 데이터 인코더 및 그 제어 방법
KR100821922B1 (ko) 미디어 디코딩용 국부 메모리 관리 장치
JP4848892B2 (ja) 映像信号処理装置及び方法、並びに映像信号復号装置
JP2005260639A (ja) 信号処理装置および信号処理方法
JP2006340139A (ja) 動画像符号化装置、動画像符号化方法、および動画像符号化用プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111129

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120328

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120409

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150720

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees