(57)【特許請求の範囲】
【請求項１】
ビデオデータを記憶するための線形アドレス指定可能記憶装置をもつメモリと、ここにおいて前記メモリは、ビデオデータの多次元ブロックを指定する命令を使用して、前記メモリへのビデオデータの多次元ブロックの書き込み、かつ前記メモリからビデオデータの多次元ブロックの読み出しをするためのものであり、
ビデオデータの多次元ブロックを指定する命令に応答して、メモリの記憶装置にアクセスし、前記命令に応答して、メモリ上の多数の非連続行からビデオデータの多次元ブロックをフェッチするためのプログラマブルなＶＤＭＡ制御装置とを含み、
ここにおいて、前記命令は前記ビデオデータの前記多次元ブロックの各行の最終アドレスと次の行の開始アドレスの間の距離をバイト数で示すジャンプパラメータを指定する、システム。
【請求項２】
命令が、ビデオデータブロックの行番号および列番号を指定する請求項１記載のシステム。
【請求項３】
ＶＤＭＡ制御装置が、命令に応答して、メモリから宛先メモリへビデオデータをコピーする請求項１記載のシステム。
【請求項４】
命令が、メモリ内のビデオブロックの開始アドレスと宛先メモリ内の開始アドレスとを指定する請求項３記載のシステム。
【請求項５】
第1のバスを介してＶＤＭＡ制御装置へ命令を発行するためのプロセッサと、
第２のバスを介してＶＤＭＡ制御装置へ命令を発行するためのディジタル信号プロセッサとをさらに含む請求項１記載のシステム。
【請求項６】
更に下記を備える請求項１記載のシステム：
内部メモリとビデオデータブロック間の歪みメトリックを計算するための差分計算器を含む動き推定装置、ここで、ＶＤＭＡ制御装置が、前記命令に応答して、メモリから、動き推定装置の内部キャッシュへ、ビデオデータブロックをコピーする。
【請求項７】
プロセッサからＤＭＡ命令を受信して、ビデオデータの多次元ブロックを転送し、前記ＤＭＡ命令はビデオデータのブロックの各行の最終アドレスと次の行の開始アドレスの間の距離をバイト数で示すジャンプパラメータを指定することと、
前記ＤＭＡ命令に応答して、ビデオデータの多次元ブロックのためのソースアドレスの組と宛先アドレスの組とを生成し、ソースアドレスの組が、ソースメモリの多数の非連続行に対応することと、
前記ＤＭＡ命令に応答して、ソースアドレスおよび宛先アドレスにしたがって、ソースメモリから宛先メモリへビデオデータをコピーすることとを含み、
ここにおいて前記ソースメモリは、ビデオデータの多次元ブロックを指定する命令を使用して、前記ソースメモリへのビデオデータの多次元ブロックの書き込み、かつ前記ソースメモリからビデオデータの多次元ブロックの読み出しをするためのものである、方法。
【請求項８】
ソースメモリおよび宛先メモリの各々が、線形アドレス指定可能記憶装置をもつ請求項７記載の方法。
【請求項９】
命令が、ビデオデータブロックの行番号および列番号を指定し、アドレスの組を生成することが、行番号および列番号の関数として、ソースアドレスおよび宛先アドレスを計算することを含む請求項７記載の方法。
【請求項１０】
アドレスの組を生成することが、ジャンプパラメータの関数として、ソースアドレスおよび宛先アドレスを計算することを含む請求項７記載の方法。
【請求項１１】
命令が、ソースメモリ内のビデオブロックの開始ソースアドレスと宛先メモリ内の開始宛先アドレスとを指定する請求項７記載の方法。
【請求項１２】
ビデオデータをコピーすることが、命令に応答して、多数の行をもつビデオデータのブロック全体をフェッチすることを含む請求項７記載の方法。
【請求項１３】
命令を受信することが、第１のバスを介して命令を受信することを含む方法であって、ディジタル信号プロセッサから第２のバスを介して第２の命令を受信することをさらに含む請求項７記載の方法。
【請求項１４】
ビデオデータをコピーすることが、命令に応答して、ビデオデータを、動き推定装置の内部キャッシュへコピーすることを含む請求項７記載の方法。
【請求項１５】
符号化される候補のビデオブロックを記憶するための第１のメモリと、
前記候補のビデオブロックをそこから符号化する複数のビデオデータブロックの組を記憶するための第２のメモリと、
前記候補のビデオブロックと前記複数のビデオブロックの組との差分メトリックを計算するための差分計算器と、
前記候補のビデオブロックと前記複数のビデオブロックの組とをビデオメモリから第１のメモリおよび第２のメモリにそれぞれコピーするためのプログラマブルなＶＤＭＡ制御装置であって、ビデオメモリ内に多数の非連続行で記憶されているビデオデータの多次元サーチ空間を特定する１つのＤＭＡ命令に応答して、前記複数のビデオブロックの組を第２のメモリにコピーするＶＤＭＡ制御装置とを含み、
ここにおいて、前記ＤＭＡ命令はビデオデータのブロックの各行の最終アドレスと次の行の開始アドレスの間の距離をバイト数で示すジャンプパラメータを指定し、前記ビデオメモリは、ビデオデータの多次元ブロックを指定する命令を使用して、前記ビデオメモリへのビデオデータの多次元ブロックの書き込み、かつ前記ビデオメモリからビデオデータの多次元ブロックの読み出しをするためのものである、装置。
【請求項１６】
第２のメモリによって記憶されるビデオデータブロックの組が、完全なビデオデータフレームを含む請求項１５記載の装置。
【請求項１７】
差分計算器が、第１のメモリから候補のビデオブロックを、第２のメモリからビデオブロックの組の中の１つ以上のビデオブロックを読み出すためのアドレス生成論理を含む請求項１５記載の装置。
【請求項１８】
差分計算器が、第１のメモリから候補のビデオブロックを、第２のメモリからビデオブロックの組の中の１つ以上のビデオブロックを並列に読み出す請求項１７記載の装置。
【請求項１９】
命令が、ビデオデータのサーチ空間の行番号および列番号を指定する請求項１５記載の装置。
【請求項２０】
ビデオメモリが、ビデオデータを記憶するための複数の線形アドレス指定可能記憶装置を含む請求項１５記載の装置。
【請求項２１】
命令が、ビデオメモリ内のサーチ空間の開始ソースアドレスと第２のメモリ内の開始宛先アドレスとを指定する請求項１５記載の装置。
【請求項２２】
第1のバスを介してＶＤＭＡ制御装置へ命令を発行するためのプロセッサと、
第２のバスを介してＶＤＭＡ制御装置へ命令を発行するためのディジタル信号プロセッサ（ＤＳＰ）とをさらに含む請求項１５記載の装置。
【請求項２３】
差分計算器が、サーチ命令に応答して、差分メトリックを計算し、各サーチ命令が、第２のメモリ内に記憶されているビデオデータの多次元領域を指定する請求項１５記載の装置。
【請求項２４】
サーチ命令を記憶し、かつサーチ命令を差分計算器へ送るための命令緩衝器をさらに含む請求項２３記載の装置。
【請求項２５】
プロセッサからＤＭＡ命令を受信して、ビデオデータの多次元ブロックを転送するための手段であって、前記ＤＭＡ命令はビデオデータのブロックの各行の最終アドレスと次の行の開始アドレスの間の距離をバイト数で示すジャンプパラメータを指定する、手段と、
命令に応答して、ビデオデータの多次元ブロックのソースアドレスの組と宛先アドレスの組とを生成するための手段であって、ソースアドレスの組がソースメモリの多数の非連続行に対応する手段と、
ソースアドレスおよび宛先アドレスにしたがって、ソースメモリから宛先メモリへビデオデータをコピーするための手段とを含み、
ここにおいて前記ソースメモリは、ビデオデータの多次元ブロックを指定する命令を使用して、前記ソースメモリへのビデオデータの多次元ブロックの書き込み、かつ前記ソースメモリからビデオデータの多次元ブロックの読み出しをするためのものである、装置。
【請求項２６】
ソースメモリおよび宛先メモリの各々が、線形アドレス指定可能記憶装置をもつ請求項２５記載の装置。
【請求項２７】
命令が、ビデオデータブロックの行番号および列番号を指定し、生成手段が、行番号および列番号の関数として、ソースアドレスおよび宛先アドレスを計算するための手段を含む請求項２５記載の装置。
【請求項２８】
生成手段が、ジャンプパラメータの関数として、ソースアドレスおよび宛先アドレスを計算するための手段を含む請求２５記載の装置。
【請求項２９】
命令が、ソースメモリ内のビデオブロックの開始ソースアドレスと、宛先メモリ内の開始宛先アドレスとを指定する請求項２５記載の装置。
【請求項３０】
受信手段が、第１のバスを介して命令を、ディジタル信号プロセッサから第２のバスを介して第２の命令を受信する請求項２５記載の装置。
【請求項３１】
コピー手段が、命令に応答して、ビデオデータを、動き推定装置の内部キャッシュへコピーするための手段を含む請求項２５記載の装置。
【請求項３２】
更に下記を備える請求項１記載のシステム：
内部メモリとビデオデータブロック間の歪みメトリックを計算するための差分計算器を含む動き推定装置；
前記ＶＤＭＡ制御装置へ前記DMA命令を発行し、候補のビデオデータブロックに関して前記歪みメトリックに基づいて前記多次元サーチ空間内の最整合ブロックを識別するためのディジタル信号プロセッサ、
ここにおいて、前記ＶＤＭＡ制御装置は、前記命令に応答して、メモリから、前記動き推定装置の内部キャッシュへ、符号化される候補のビデオデータブロックとビデオデータの多次元サーチ空間をコピーし、前記動き推定装置は前記候補のビデオデータブロックと前記多次元サーチ空間内の各ブロックとを比較して前記歪みメトリックと動きベクトルの組を出力する。
【請求項３３】
更に下記を具備する請求項１５記載の装置：
前記第１のメモリ、前記第２のメモリおよび差分計算器を備える動き推定装置、ここにおいて、前記動き推定装置は候補のビデオデータブロックと前記多次元サーチ空間内の各ブロックとを比較して前記差分メトリックと動きベクトルの組を出力する；
前記ＶＤＭＡ制御装置へ前記ＤＭＡ命令を発行し、前記候補のビデオデータブロックに関して前記差分メトリックに基づいて前記多次元サーチ空間内の最整合ブロックを識別するためのディジタル信号プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタルビデオデータの符号化または復号のような、ディジタルビデオデータの処理に関する。
【背景技術】
【０００２】
コンピュータ処理能力の最近の向上と、手頃な価格設定とのために、フルモーションディジタルビデオ受信機がより普及してきている。とくに、ディジタルビデオの能力は、ディジタルテレビジョン、ディジタル直接放送システム、無線通信装置、ポータブルディジタルアシスタント（portable digital assistant, PDA）、ラップトップコンピュータ、およびデスクトップコンピュータを含む幅広い範囲の装置に取入れられた。これらの装置は、フルモーションビデオ系列の生成、変更、伝送、記憶、および再生において従来のアナログビデオシステムよりも相当に向上している。
【０００３】
ディジタルビデオ系列と通信するための種々のビデオ圧縮の標準規格または処理が設定された。例えば、ＭＰＥＧ（Moving Picture Experts Group）（ＭＰＥＧ−１、ＭＰＥＧ−２、およびＭＰＥＧ−４を含む）は、多数の標準規格を開発した。他の標準規格は、Apple Computer(Cupertino California)によって開発されたQuickTime(登録商標)技術、Microsoft Corporation(Redmond, Washington)によって開発されたVideo for Windows(登録商標)、Intel Corporationによって開発されたIndeo（登録商標）、RealNetworks, Inc(Seattle, Washington)からのRealVideo(登録商標)、およびSuperMac Inc.によって開発されたCinepak（登録商標）を含む。
【０００４】
これらの標準規格の多くは、データ圧縮を用いることによって、より高い伝送レートを達成する。例えば、ＭＰＥＧの標準規格は、ビデオおよび画像をより狭い帯域幅で伝送するように設計されたグラフィックおよびビデオ圧縮アルゴリズムを使用する。とくに、ＭＰＥＧの標準規格は、連続する画像フレーム間の類似性（時間またはフレーム間相関と呼ばれる）を使用し、フレーム間圧縮を行なうビデオ圧縮技術を取入れている。フレーム間圧縮技術は、画像フレームの画素ベースの表現を、動き表現に変換することによって、フレーム全体におけるデータの冗長性を用いる。さらに加えて、ビデオ圧縮技術では、画像フレーム内の類似性（空間またはフレーム内相関と呼ばれる）を使用し、フレーム内圧縮をする。フレーム内圧縮では、画像フレーム内の動き表現を圧縮することができる。フレーム内圧縮は、一般に、離散コサイン変換（discrete cosine transform, DCT）符号化のような、静止画像を圧縮するための従来の処理に基づく。
【０００５】
圧縮技術を支援するために、多くのディジタルビデオ装置は、ディジタルビデオ系列を圧縮および逆圧縮するための符号器／復号器（encoder/decoder, CODEC）を含む。ＣＯＤＥＣは、ビデオ画像系列内の画素ブロックを処理する。例えば、ＭＰＥＧでは、ＣＯＤＥＣは、一般に、伝送されるビデオ画像フレームを、より小さい画像ブロックから成るマクロブロックへ分割する。画像フレーム内の各マクロブロックごとに、ＣＯＤＥＣは、直前のビデオフレームをサーチして、最も類似したマクロブロックを識別し、伝送するマクロブロック間の差を、符号化に使用された前のフレームからマクロブロックを示す動きベクトルと共に符号化する。復号器は、動きベクトルおよび符号化されたビデオデータを受信し、動き補償を行って、ビデオ系列を生成する。
【発明の概要】
【０００６】
概して、本発明は、ディジタルビデオデータの符号化または復号のような、ディジタルビデオデータの処理に関する。１つの実施形態では、本発明は、ビデオデータを記憶するための複数の線形アドレス指定可能な記憶装置をもつメモリと、ビデオデータの多次元ブロックを指定する命令に応答して、メモリの記憶装置にアクセスするためのプログラマブルビデオ直接メモリアクセス（video direct memory access, VDMA）制御装置とを含むシステムに関する。命令は、例えば、ビデオデータブロックの行番号および列番号と、ビデオブロックの各列間の記憶装置番号を示すジャンプパラメータとを指定する。このようにして、ＶＤＭＡ制御装置は、１つの直接メモリアクセス（direct memory access, DMA）命令に応答して、多数の不連続行をもつビデオデータのブロック全体をフェッチすることができる。したがって、マイクロプロセッサは、より少ないアドレス計算数で、ビデオデータのブロックにアクセスすることができる。
【０００７】
別の実施形態において、本発明は、プロセッサから直接メモリアクセス（ＤＭＡ）命令を受信して、ビデオデータの多次元ブロックを転送することと、命令に応答して、１組のソースアドレスおよび１組の宛先アドレスを生成することとを含む方法に関する。この方法は、ソースアドレスおよび宛先アドレスにしたがって、ソースメモリから宛先メモリへビデオデータをコピーすることも含む。
【０００８】
別の実施形態において、本発明は、ディジタルビデオデータを処理するための装置に関する。装置は、符号化される候補のビデオブロックを記憶するための第１のメモリと、符号化される候補のビデオブロックを含むビデオデータブロックの組を記憶するための第２のメモリとを含む。装置は、候補のビデオブロックとビデオブロックの組との差分メトリックを計算するための差分計算器も含む。
【０００９】
本発明の１つ以上の実施形態の詳細は、添付の図面および以下の説明において示される。本発明の他の特徴、目的、および長所は、説明および図面、並びに特許請求項から明らかになるであろう。
【図面の簡単な説明】
【００１０】
【図１】ソース装置がビデオデータの符号化された系列を受信装置へ伝送する例示的なシステムを示すブロック図。
【図２】本発明の原理にしたがって、ディジタルビデオ系列を圧縮および逆圧縮するビデオ符号器／復号器（ＣＯＤＥＣ）を取入れた例示的なディジタルビデオ装置を示すブロック図。
【図３】ＣＯＤＥＣの例示的な実施形態をさらに詳しく示すブロック図。
【図４】本発明の原理にしたがってビデオ系列を符号化する処理を示すフローチャート。
【図５】動き推定装置の例示的な実施形態を示すブロック図。
【図６】メモリ内に記憶されているビデオデータの例示的なマクロブロックを示す図。
【図７】メモリ内に記憶されている例示的なサーチ空間を示す図。
【図８】Ｍ×Ｎ次元のマクロブロックをもつサーチ空間を記憶するためのメモリの例示的な構成を示す図。
【図９】本発明の原理にしたがって、ビデオ系列を符号化する処理を示すフローチャート。
【発明を実施するための形態】
【００１１】
本発明は、概して、ディジタルビデオデータの符号化または復号のような、ディジタルビデオデータの処理に関する。符号器、復号器、または符号器／復号器（ＣＯＤＥＣ）のような装置は、組込まれたプロセッサ、ディジタル信号プロセッサ、および専用のハードウエア間で機能を分割して、向上した性能を実現する革新的なアーキテクチャを含む。さらに加えて、装置のこれらの、および他の構成要素は、ビデオデータのブロックに直接にアクセスするための命令を支援する固有のメモリ構造を使用する。
【００１２】
組込まれたプロセッサ、ディジタル信号プロセッサ、および専用ハードウエア間で符号化および復号機能を分割することによって、装置は、高速の符号化および復号を実現することができる。さらに加えて、組込まれたプロセッサおよびディジタル信号プロセッサ（digital signal processor, DSP）は、個々の圧縮標準規格に特定の全機能を実行し、一方で専用ハードウエアは、大抵の標準規格に共通する特定の計算を実行するように最適化される。このようにして、装置は高性能を実現するが、将来のビデオ圧縮の標準規格を支援するために、依然として、容易にアップグレードすることができる。
【００１３】
さらに加えて、ビデオデータのブロックに直接にアクセスするための命令を支援するプログラマブルビデオ直接メモリアクセス（video direct memory access, VDMA）制御装置を使用することによって、構成要素は、多数のアドレス計算を行う必要なく、ビデオデータのブロックにアクセスすることができる。言い換えると、構成要素は、従来の線形記憶アドレスの代わりに、ビデオデータのブロックを指定する命令を使用して、メモリ構造へデータを書込み、かつそこからデータを読み出すことができる。したがって、通常はビデオデータが順次に記憶されないために、ビデオデータにアクセスするのに通常必要とされる多数のアドレス計算を行う必要なく、構成要素は、ビデオデータのブロックにアクセスすることができる。
【００１４】
図１は、ソース装置４がビデオデータ６の符号化された系列を受信装置８へ送信する例示的なシステム２を示すブロック図である。とくに、ソース装置４は、種々のビデオ圧縮の標準規格の１つを使用して、ビデオデータ６を符号化して、送信する。このような標準規格の例は、Moving Picture Experts Groupによって開発されたＭＰＥＧ、Apple Computer(Cupertino California)によって開発されたQuickTime(登録商標)、Microsoft Corporation (Redmond, Washington)によって開発されたVideo for Windows(登録商標)、Intel Corporationによって開発されたIndeo（登録商標）、およびSuperMac Inc.によって開発されたCinepak（登録商標）を含む。
【００１５】
ソース装置４は、ビデオデータ６を符号化して、送信することができる装置である。同様に、受信装置８は、ビデオデータ６を受信して、復号することができる装置である。ソース装置４および受信装置８の装置は、例えば、コンピュータネットワーク上に位置するサーバ、ワークステーションまたは他のデスクトップコンピュータ、およびラップトップコンピュータのようなモバイルコンピュータを含む。他の例は、ディジタルテレビジョン放送衛星および受信装置、例えば、ディジタルテレビジョン、ディジタルビデオカメラまたは他の記録装置、ディジタルビデオ電話装置、無線ビデオ装置、等を含む。
【００１６】
したがって、ソース装置４および受信装置８の各々は、一般に、ディジタルビデオデータ６を符号化および復号するための符号器／復号器（ＣＯＤＥＣ）（図示されていない）を含む。例えば、ソース装置４のＣＯＤＥＣは、ビデオ画像系列内の画素ブロックを処理して、ビデオデータを符号化する。とくに、ソース装置４のＣＯＤＥＣは、伝送されるビデオ画像フレームを、多数のより小さい画像ブロックから成るマクロブロックへ分割する。画像フレーム内の各マクロブロックごとに、ソース装置４のＣＯＤＥＣは、既に伝送された前のビデオフレームをサーチして、最も類似したマクロブロックを識別し、マクロブロック間の差を、符号化に使用された前のフレームからマクロブロックを識別する動きベクトルと共に符号化する。受信装置８のＣＯＤＥＣは、動きベクトルおよび符号化されたビデオデータを受信し、動き補償を行って、ユーザに表示するためのビデオ系列を生成する。ソース装置４および受信装置８の各々は、ＣＯＤＥＣを含む必要はない。例えば、ソース装置４が符号器を含み、受信装置８が復号器を含んでもよい。
【００１７】
ソース装置４のＣＯＤＥＣ、受信装置８のＣＯＤＥＣ、またはこの両者は、ビデオデータを符号化および復号するための革新的なアーキテクチャを含む。したがって、本発明は、符号化されたビデオデータを送信するための装置、または符号化されたビデオデータを受信するための装置に制限されない。符号化および復号の機能は、組込まれたプロセッサ、ディジタル信号プロセッサ、および専用ハードウエア間で分割される。さらに加えて、ＣＯＤＥＣのこれらの、および他の構成要素は、ビデオデータのブロックに直接にアクセスするための命令を支援する固有のメモリ構造を使用する。言い換えると、構成要素は、従来の線形記憶アドレスの代わりに、ビデオデータのブロックを指定する命令を使用して、メモリ構造へデータを書き込み、かつそこからデータを読み出すことができる。したがって、通常はビデオデータが順次に記憶されないために、ビデオデータにアクセスするのに通常必要とされる多数のアドレス計算を行う必要なく、構成要素は、ビデオデータのブロックにアクセスすることができる。
【００１８】
図２は、ソース装置４または受信装置６のような、例示的なディジタルビデオ装置10を示すブロック図であって、本発明の原理にしたがってディジタルビデオ系列を圧縮および逆圧縮するビデオ符号器／復号器（ＣＯＤＥＣ）20が組込まれている。例示的なディジタルビデオ装置10は、モバイルコンピュータ、パーソナルディジタルアシスタント（ＰＤＡ）、無線通信装置、等のような無線装置として示される。しかしながら、本発明の原理は無線装置に制限されず、他のディジタルビデオ装置へ直ちに適用される。さらに加えて、本発明は、ＣＯＤＥＣに関連して示されているが、これに制限されず、符号器および復号器へ直ちに適用される。
【００１９】
ディジタルビデオ装置10は、アンテナ12および送信機／受信機14を介して圧縮されたディジタルビデオ系列を受信する。ＣＯＤＥＣ20は、ビデオ系列を復号し、ビデオ系列をビデオメモリ15に記憶する。ＣＯＤＥＣ20は、復号されたビデオ系列をディスプレイ17上に表示する。ディスプレイ17は、液晶ディスプレイ（liquid crystal display, LCD）または他の出力装置を含む。さらに加えて、ＣＯＤＥＣ20は、画像センサー18によって取り込まれたディジタルビデオ系列を符号化する。ＣＯＤＥＣ20は、符号化されたディジタルビデオ系列を、送信機／受信機14およびアンテナ12を介して送信する前に、ビデオメモリ15内で緩衝する。メモリ16は、ＣＯＤＥＣ20が使用する指令およびデータを記憶する。メモリ15、16は、同期ダイナミックランダムアクセスメモリ（synchronous dynamic random access memory, SDRAM）、等を含む。
【００２０】
別途詳しく記載するように、ＣＯＤＥＣ20は、ビデオデータを符号化および復号するための革新的なアーキテクチャを含む。したがって、ディジタルビデオ装置10は、１．５メガビット／秒以上のような、ビデオデータの高速転送を実現する。
【００２１】
図３は、ディジタルビデオ装置10のＣＯＤＥＣ20の例示的な実施形態をさらに詳しく示すブロック図である。概して、ＣＯＤＥＣ20は、組込まれたプロセッサ30、ディジタル信号プロセッサ（digital signal processor, DSP）28、および動き推定装置24間で、符号化および復号のタスクを分割する。多数の構成要素を含む1つの特定用途向け集積回路（application-specific integrated circuit, ASIC）として図示されているが、多数のディスクリートな構成要素を使用して、本明細書に記載されている原理を直ちに実行することができる。
【００２２】
プロセッサ30は、ＣＯＤＥＣ20の全構成要素に対して主要な制御を与え、ディジタルビデオ装置10の他の構成要素との通信を調整する。プロセッサ30は、ディジタルビデオ系列を符号化および復号するのに必要な多数の計算を行う集中的なタスクを実行するように、ＤＳＰ28へ命令する。また、幾つかのタスクにおいて、ＤＳＰ28は動き推定装置24に関係する。動き推定装置24は、動き推定を行うための専用ハードウエアも含む。既に記載したように、メモリ16は、プロセッサ30によって使用するための指令およびデータを記憶し、一方で、ビデオメモリ15はビデオデータを記憶する。図示されているように、メモリ15、16は、ＣＯＤＥＣ20の外部にあり、プロセッサバス21を介してプロセッサ30に接続される。
【００２３】
プロセッサ30は、プロセッサバス21を介して、ＤＳＰ28を構成し、制御する。ＤＳＰ28は、指令およびデータを記憶するための専用メモリ41をもつが、ＤＳＰバス23を介してメモリ15、16へアクセスすることもできる。異なるＤＳＰバス23を使用すると、ＤＳＰ28およびプロセッサ30は、ＣＯＤＥＣ20の種々の構成要素に同時にアクセスすることができ、したがってディジタルビデオ装置10の全バンド幅が増す。例えば、ＤＳＰ28がビデオメモリ15にアクセスし、一方で、プロセッサ30がメモリ16にアクセスすることができる。メモリ制御装置29は、プロセッサバス21、ＤＳＰバス23、および入力／出力（input/output, I/O）バス25間で、ビデオメモリ15へのアクセスを調停する。
【００２４】
Ｉ／Ｏバス25は、プロセッサ30およびＤＳＰ28を、ディスプレイ17および画像センサー18のような多数の異なる周辺装置へ接続する。プロセッサ30およびＤＳＰ28は、例えば、復号されたビデオデータをフレーム緩衝器38へ供給し、ディスプレイ制御装置37を介してディスプレイ17へ出力する。さらに加えて、プロセッサ30は、画像センサー18からビデオデータを取り込むようにように画像制御装置39に命令したり、ビデオメモリ15内にビデオデータを記憶したりする。
【００２５】
プロセッサ30およびＤＳＰ28は、ビデオダイナミックメモリアクセス（ＶＤＭＡ）制御装置26を使用して、ビデオデータの効率的な符号化および復号を容易にする。とくに、プロセッサ30およびＤＳＰ28は、ＶＤＭＡ制御装置26に、ビデオデータの多次元ブロックを指定するアクセス命令を発行し、ＶＤＭＡ制御装置26は、それを一次元の記憶アドレスへ変換する。ＶＤＭＡ制御装置26は、プロセッサバス21およびＤＳＰバス23の両者の上に位置し、外部メモリ16、ビデオメモリ15、ＤＳＰメモリ41、動き推定装置24内のメモリ（図示されていない）を含むＣＯＤＥＣ20のメモリ間でデータを転送できるようにする。例えば、ＤＳＰ28からの命令に応答して、ＶＤＭＡ制御装置26は、ビデオメモリ15から動き推定装置24へビデオデータの1つ以上のブロックをコピーする。
【００２６】
一度にメモリの一行を読み出す従来のＤＭＡ制御装置とは異なり、ＶＤＭＡ制御装置26は、行の間でプログラムし直す必要なく、フレームの多次元ビデオブロックをフェッチする。さらに加えて、ＶＤＭＡ制御装置26は、ビデオデータの非正方形のブロックをフェッチすることができる。このようにして、ＶＤＭＡは、プロセッサ30、ＤＳＰ28、およびＣＯＤＥＣ20の他の構成要素が多数のアドレス計算をする必要を省いている。このような多数のアドレス計算は、通常はビデオデータが順次に記憶されないために、ビデオデータにアクセスするのに通常必要とされる。
【００２７】
プロセッサ30およびＤＳＰ28は、転送するブロックを指定する１組のパラメータを含む命令を発行することによって、ＶＤＭＡ制御装置26をプログラムする。例えば、１つの命令は、次のパラメータを指定する。
【００２８】
ビデオブロック幅−バイトで表わされるデータブロックの幅（列数）。
【００２９】
ビデオブロック長−バイトで表わされるデータブロック長（行数）。
【００３０】
ソースメモリ開始アドレス−ソースメモリからデータを読み出すための開始アドレスであり、一般に、転送されるブロック内の左上の画素。
【００３１】
宛先メモリ開始アドレス−宛先メモリ内にデータを書込むための開始アドレス。
【００３２】
ジャンプ間隔−ある行の最後と次の行の最初との間のアドレス番号をバイトで示すアドレスジャンプパラメータ。
【００３３】
ソースメモリワード幅−ソースメモリ内の１ワード当りのバイト数。
【００３４】
宛先メモリワード幅−宛先メモリ内の１ワード当りのバイト数。
【００３５】
ゼロパッドフラグ−データをゼロで埋めるかどうかを制御するブールフラグ。
【００３６】
上述のパラメータリストにおいて、ビデオブロック幅およびビデオブロック長は、バイトで表わされる希望の長方形のブロックの次元を定めるのに使用される。ソースメモリワード幅および宛先メモリワード幅により、ＶＤＭＡ制御装置26は、データを転送するときに、データパッキングが必要かどうかを判断することができる。例えば、ソースメモリが８ビット幅であり、宛先メモリが６４ビット幅であるとき、ＶＤＭＡ制御装置26は、ソースメモリから８バイトを読み出し、それらを６４ビットワードへパックし、宛先メモリへ書込む。
【００３７】
図４は、フレーム間で時間的な冗長を取り除くことによって、ビデオ系列を符号化する処理を示すフローチャートである。ＤＳＰ28は、プロセッサ30の指示を受けて、ビデオメモリ15からビデオデータをフェッチして、動き推定装置24へ送るように、ＶＤＭＡ制御装置26をプログラムする（44）。とくに、ＤＳＰ28は、ビデオメモリ15内のビデオデータの１つ以上のブロックを指定するビデオブロック移動命令を、ＶＤＭＡ制御装置26へ発行する。応答して、ＶＤＭＡ制御装置26は、不連続のビデオデータを、ビデオメモリ15から動き推定装置24の内部メモリへ転送するのに必要な全てのアドレス計算を行う。例えば、ＤＳＰ28によって発行される命令に応答して、ＶＤＭＡ制御装置26は、伝送される現在のビデオブロックと、既に伝送されたビデオフレームとを、ビデオメモリ15から動き推定装置24へ転送する。
【００３８】
符号化処理は、ＤＳＰ28と動き推定装置24との間で分割される。とくに、ＤＳＰ28は、符号化アルゴリズムを実行するが、一般のデータ処理機能を実行するのには動き推定装置24を使用する。したがって、全サーチアルゴリズムが専用ハードウエア装置内で実行される従来のアプローチとは異なり、ＤＳＰ28上で実行するソフトウエアは、動き推定装置24に変更を要求することなく、直ちに変更される。
【００３９】
例えば、符号化処理中に、ＤＳＰ28は、既に伝送されたビデオフレームをサーチして、符号化される現在のビデオブロックに最も類似したビデオブロックを識別する命令を、動き推定装置24へ発行する（46）。この命令は、現在のブロックを選択し、かつ前のビデオフレームのブロックと比較するのに必要な全情報を指定する。さらに加えて、命令は、一般のフォーマットにしたがっており、従来のサーチングアルゴリズムで直ちに使用される。例えば、命令は、サーチ空間の左上角部の（Ｘ，Ｙ）座標、サーチ空間の右左下角部の（Ｘ，Ｙ）座標、およびある行の最後と次の行の最初との距離をバイトで示すジャンプ値を指定する。
【００４０】
命令に応答して、動き推定装置24は、符号化される現在のビデオブロックと、前のフレームのブロックとを比較して、ブロックの歪みメトリックの組と、各動きベクトルとを出力する（48）。歪みメトリックは、伝送されるブロックと、前のフレームの種々のブロックとの差を相対的に示す。動き推定装置24は、並行して計算を行い、サーチ空間内の各ブロック歪みメトリックを生成する。
【００４１】
歪みメトリックを計算するために、動き推定装置24は、既に伝送されたビデオフレームと、符号化される現在のブロックとを使用して、多数のアルゴリズムの１つを実行する。動き推定装置24は、符号化されるブロックと、前のビデオフレーム内のブロックとにおいて、例えば、絶対差の和（Sum of Absolute the Difference, SAD）または平方差の和（Sum of the Squared Difference, SSD）を計算する。その代りに、動き推定装置24は、ビデオデータ間の平均平方誤差（Mean Square Error, MSE）を計算するか、または正規化相互相関関数（Normalized Cross Correlation Function, NCCF）を実行してもよい。
【００４２】
ＤＳＰ28は、歪みメトリックに基づいて、サーチ空間内の１つまたは複数の最整合ブロックを識別する（50）。ＤＳＰ28は、例えば、ＭＰＥＧの符号化されたビデオデータにおいて、最も近いマクロブロックを示す１つの動きベクトルか、または４つのブロックを示す４つの動きベクトルを選択する。ＤＳＰ28は、最整合ブロックを判断すると、データを符号化するための多数の画像処理機能を実行する（52）。例えば、ＤＳＰ28は、転送されるブロックから、選択されたブロックを減算することによって動き補償を行う。さらに加えて、ＤＳＰ28は、離散コサイン変換（ＤＣＴ）を実行して、信号エネルギーを係数および量子化へパックし、符号化するビット数を低減する。プロセッサ30は、伝送のために二次元の係数データを一次元へ変換するための走査と、ヘッダおよび圧縮パラメータを追加するためのビットストリームの符号化とを行なう。最後に、プロセッサ30は、送信機／受信機14と対話して、ＤＳＰ28によって生成された符号化されたデータを伝送する（54）。
【００４３】
このようにして、ＣＯＤＥＣ20は、プロセッサ30、ＤＳＰ28、および動き推定装置24の間で、動き推定およびビデオ圧縮タスクを分割する。とくに、プロセッサ30は、高レベルの監視役で働き、ＤＳＰ28は、非常に多くの計算を行なう符号化アルゴリズムを処理し、動き推定装置24は、専用ハードウエアを使用して、高速のサーチを行なう。ＣＯＤＥＣ20は、この分割により高い性能を実現できるが、将来のビデオ圧縮の標準規格を支援するために、依然として容易にアップグレード可能である。さらに加えて、組込まれたプロセッサがサーチング技術を全体的に実行する従来のアプローチよりも、プロセッサ30の計算の負荷およびＣＯＤＥＣ20の電力消費量を相当に低減することができる。
【００４４】
図５は、動き推定装置24の例示的な実施形態をさらに詳しく示すブロック図である。動き推定装置24は、符号化される現在のブロックをキャッシュするための２つの内部高速メモリ60、62と、現在のブロックを差別的に符号化するのに使用するためのビデオデータとを含む。とくに、動き推定装置24は、符号化される現在のブロックを記憶するためのブロックメモリ60を含む。さらに加えて、動き推定装置24は、既に伝送された最も近いビデオブロックを識別するデータを含む全データを記憶するためのサーチ空間メモリ62を含む。例えば、ＭＰＥＧを支援する実施形態において、ブロックメモリ60は、伝送されるマクロブロックを記憶し、一方でサーチ空間メモリ62は、既に伝送されたビデオフレームのような、複数の既に伝送されたマクロブロックを記憶する。この構成では、通常のブロックは８×８バイトから成り、マクロブロックは１６×１６バイトから成り、サーチ空間は４８×４８バイトから成る。
【００４５】
差分計算器64は、メモリ60、62からビデオデータを検索するためのアドレス生成論理を含む。符号化処理中に、ＶＤＭＡ制御装置26は、ビデオメモリ15から現在のブロックをフェッチし、現在のブロックをメモリ60内に記憶する。さらに加えて、ＶＤＭＡ制御装置26は、前のビデオフレーム内のサーチ空間をフェッチし、サーチ空間メモリ62内にビデオデータを記憶する。したがって、ＤＳＰ28は、指定されたビデオデータを、動き推定装置24の各内部メモリ60、62へ転送するように、ＶＤＭＡ制御装置26をプログラムする。とくに、ＤＳＰ28は、ビデオブロック移動命令をビデオＶＤＭＡ制御装置26へ発行し、ビデオメモリ15内の不連続のビデオデータブロックと、メモリ15、60、62のワード幅のような他の必要なパラメータとを指定し、ＶＤＭＡ制御装置26がメモリ15、60、62間で不連続のビデオデータを正しく転送できるようにする。
【００４６】
差分計算器64は、ＤＳＰ28からサーチ命令72を受信すると、メモリ60、62内に記憶されているビデオデータを検索し、ビデオデータ間で画素に関する比較を行って、１つ以上の差分メトリックを計算する。各サーチ命令72は、差分メトリックを生成するのに使用するための、メモリ62内のビデオデータの多次元領域を指定する。例として、各サーチ命令72は、メモリ62内の領域の左上角部と右下角部とを指定する。
【００４７】
したがって、ＤＳＰ28は、動き推定アルゴリズムの実行中に、メモリ60、62によって記憶されたビデオデータを何度も使用するように、差分計算器64に命令する。符号化される現在のブロックおよび全サーチ空間をメモリ60、62内にそれぞれ内部キャッシュすることによって、動き推定装置24は、サーチ間に、ビデオメモリ15にアクセスする必要がなくなる。したがって、ＣＯＤＥＣ20は、従来のアーキテクチャに関係する符号化速度を増すことができる。
【００４８】
差分メトリックを計算するために、差分計算器64は、多数のアルゴリズムの１つを実行し、メモリ60内に記憶されている現在のブロックと、サーチ空間メモリ62内の種々のブロックとの差を示す出力を生成する。既に記載したように、差分計算器64は、符号化されるブロックと前のビデオフレーム内のブロックとの絶対差の和（ＳＡＤ）または平方差の和（ＳＳＤ）を実行する。その代りに、差分計算器64は、平均平方誤差（ＭＳＥ）または正規化相互相関関数（ＮＣＣＦ）を実行してもよい。
【００４９】
差分測定値および動きベクトルを計算するとき、差分計算器64は、中断（interrupt, INT）66をアサートし、保留中の結果についてＤＳＰ28に知らせる。中断数を低減するために、動き推定装置24は、命令（command, CMD）緩衝器70を含み、ＤＳＰ28から受信したサーチ命令72を記憶する。ＣＭＤ緩衝器70は、例えば、受信した命令を緩衝するための先入れ先出し（first-in first-out, FIFO）待ち行列を含む。したがって、ＤＳＰ28は、結果を報告する前に、動き推定装置24によって実行される複数のサーチを指定することができる。
【００５０】
図６は、メモリ60内に記憶される例示的なマクロブロック80を示す。既に記載したように、この実行は、ＭＰＥＧ、およびマクロブロックを使用する他のビデオ圧縮方式において有益である。とくに、マクロブロック80は、ビデオデータの４つのブロック82Aないし82Dを含む。この実施形態では、差分計算器64のアドレス生成論理は、４つのブロック82の何れかにアクセスするように構成されている。各ブロック82が８バイト（Ｍ／２）の幅と８バイト（Ｎ／２）の長さとをもち、マクロブロック60が８バイトのワード幅をもつ例示的な構成について検討する。この構成では、メモリ60内において、ブロック82Aおよび82Bの行は交互になり、ブロック82Cおよび82Dの交互の行が続く。したがって、各ブロック82の差分メトリックを計算するために、差分計算器64のアドレス生成論理は、直列または並列に、個々のブロック82をフェッチするアドレスを生成する。
【００５１】
図７は、ＭＰＥＧおよび他のビデオ圧縮方式で使用するのに有益なサーチ空間メモリ62内に記憶される例示的なサーチ空間84を示す。とくに、サーチ空間84は、ビデオデータを記憶し、その一部は差の計算に使用される。
【００５２】
１つの構成において、差分計算器64のアドレス生成論理は、サーチ空間メモリ62からＭ×４の連続するバイトをフェッチするためのアドレスを生成する。したがって、多数の候補のブロックの差分メトリックを並列に計算することができる。
【００５３】
図８は、図７に示されているようなＭ×Ｎ次元のマクロブロックを含むサーチ空間を記憶するためのサーチ空間メモリ62の例示的な構成を示す。とくに、サーチ空間メモリ62は、Ｍバイト幅のメモリ90を含む。１サイクルにおいて、レジスタ92はメモリ90からＭバイトを受信し、バイトを連結してから、検索されたデータを差分計算器64へ送る。したがって、差分計算器64は、１クロックサイクルにおいて、マクロブロック内のブロックの１つからビデオデータの行全体をフェッチすることができる。ブロックの連続する行は、メモリ90内で隣り合っていないので、差分計算器64のアドレス生成論理は、ブロック全体をフェッチするために、アクセスのたびにアドレスをジャンプする。
【００５４】
図９は、本発明の原理にしたがって、ビデオ系列を復号する処理を示すフローチャートである。プロセッサ30またはＣＯＤＥＣ20は、送信機／受信機14およびアンテナ12を介して、符号化されたビデオ系列を受信する（100）。その後で、プロセッサ30は、受信ビットストリームをアンパックして、逆量子化および逆離散コサイン変換（inverse discrete cosine transformation, IDCT）を行うことによって、ビデオデータを前処理する（102）。
【００５５】
次に、プロセッサ30は、受信した動きベクトルが、もしあれば、それを、既に受信したビデオデータへ適用することによって動き補償を行う（104）。この処理中に、プロセッサ30は、ＶＤＭＡ制御装置26を使用して、ブロック命令を用いて、既に伝送されたデータをビデオメモリ15から検索する。同様に、プロセッサ30は、生成されたビデオデータをビデオメモリ15へ転送するように、ＶＤＭＡ制御装置26に命令する。
【００５６】
次に、プロセッサ30は、圧縮アルゴリズムによって取入れられるブロッキング効果を取除き、かつ必要な色変換を行う後処理をビデオデータに行うように、ＤＳＰ28に命令する（106）。ＤＳＰ28は、ＶＤＭＡを使用して、ビデオメモリ15からビデオデータを検索し、後処理されたビデオデータをビデオメモリ15へ記憶する。
【００５７】
最後に、プロセッサ30は、ユーザが見るために、復号されたビデオデータをディスプレイ17に表示するように、ディスプレイ制御装置37に命令する。とくに、プロセッサ30は、ＶＤＭＡ制御装置26を呼出して、復号されたビデオデータをビデオメモリ15からフレーム緩衝器38へ転送する。
【００５８】
本発明の種々の実施形態を記載した。これらの、および他の実施形態は、特許その他の実施例の技術的範囲内である。なお、本願の当初その他の実施例と同一の記載をその他の実施例として以下に付記する。
[その他の実施例１]
ビデオデータを記憶するための線形アドレス指定可能な記憶装置をもつメモリと、    ビデオデータの多次元ブロックを指定する命令に応答して、メモリの記憶装置にアクセスするためのプログラマブルビデオ直接メモリアクセス（video direct memory access, VDMA）制御装置とを含むシステム。
[その他の実施例２]
命令が、ビデオデータブロックの行番号および列番号を指定するその他の実施例１記載のシステム。
[その他の実施例３]
命令が、ビデオブロックの各行間の記憶装置番号を示すジャンプパラメータを指定するその他の実施例１記載のシステム。
[その他の実施例４]
ＶＤＭＡ制御装置が、命令に応答して、メモリから宛先メモリへビデオデータをコピーするその他の実施例１記載のシステム。
[その他の実施例５]
命令が、メモリ内のビデオブロックの開始アドレスと宛先メモリ内の開始アドレスとを指定するその他の実施例４記載のシステム。
[その他の実施例６]
ＶＤＭＡ制御装置が、命令に応答して、メモリから、多数の不連続行をもつビデオデータのブロック全体をフェッチするその他の実施例1記載のシステム。
[その他の実施例７]
第1のバスを介してＶＤＭＡ制御装置へ命令を発行するためのプロセッサと、
第２のバスを介してＶＤＭＡ制御装置へ命令を発行するためのディジタル信号プロセッサとをさらに含むその他の実施例１記載のシステム。
[その他の実施例８]
内部メモリを含む動き推定装置と、ビデオデータブロック間の歪みメトリックを計算するための差分計算器とをさらに含み、ＶＤＭＡ制御装置が、命令に応答して、メモリから、動き推定装置の内部キャッシュへ、ビデオデータブロックをコピーするその他の実施例１記載のシステム。
[その他の実施例９]
プロセッサから直接メモリアクセス（direct memory access, DMA）命令を受信して、ビデオデータの多次元ブロックを転送することと、
命令に応答して、ソースアドレスの組と宛先アドレスの組とを生成することと、
ソースアドレスおよび宛先アドレスにしたがって、ソースメモリから宛先メモリへビデオデータをコピーすることとを含む方法。
[その他の実施例１０]
ソースメモリおよび宛先メモリの各々が、線形アドレス指定可能な記憶装置をもつその他の実施例９記載の方法。
[その他の実施例１１]
命令が、ビデオデータブロックの行番号および列番号を指定し、アドレスの組を生成することが、行番号および列番号の関数として、ソースアドレスおよび宛先アドレスを計算することを含むその他の実施例９記載の方法。
[その他の実施例１２]
命令が、ビデオブロックの各行間のアドレス番号を示すジャンプパラメータを指定し、アドレスの組を生成することが、ジャンプパラメータの関数として、ソースアドレスおよび宛先アドレスを計算することを含むその他の実施例９記載の方法。
[その他の実施例１３]
命令が、ソースメモリ内のビデオブロックの開始ソースアドレスと宛先メモリ内の開始宛先アドレスとを指定するその他の実施例９記載の方法。
[その他の実施例１４]
ビデオデータをコピーすることが、命令に応答して、多数の行をもつビデオデータのブロック全体をフェッチすることを含むその他の実施例９記載の方法。
[その他の実施例１５]
命令を受信することが、第１のバスを介して命令を受信することと、ディジタルプロセッサから第２のバスを介して第２の命令を受信することとを含むその他の実施例９記載の方法。
[その他の実施例１６]
ビデオデータをコピーすることが、命令に応答して、ビデオデータを、動き推定装置の内部キャッシュへコピーすることを含むその他の実施例９記載の方法。
[その他の実施例１７]
符号化される候補のビデオブロックを記憶するための第１のメモリと、
符号化される候補のビデオブロックを含むビデオデータブロックの組を記憶するための第２のメモリと、
候補のビデオブロックとビデオブロックの組との差分メトリックを計算するための差分計算機とを含む装置。
[その他の実施例１８]
第２のメモリによって記憶されるビデオデータブロックの組が、完全なビデオデータフレームを含むその他の実施例１７記載の装置。
[その他の実施例１９]
差分計算器が、第１のキャッシュから候補のビデオブロックを、第２のキャッシュからビデオブロックの組の中の１つ以上のビデオブロックを読み出すためのアドレス生成論理を含むその他の実施例１７記載の装置。
[その他の実施例２０]
差分計算器が、第１のキャッシュから候補のビデオブロックを、第２のキャッシュからビデオブロックの組の中の１つ以上のビデオブロックを並列に読み出すその他の実施例１９記載の装置。
[その他の実施例２１]
候補のビデオブロックとビデオブロックの組とを、ビデオメモリから、第１のキャッシュと第２のキャッシュとへそれぞれコピーするためのプログラマブルビデオ直接メモリアクセス（ＶＤＭＡ）制御装置をさらに含むその他の実施例１７記載の装置。
[その他の実施例２２]
ＶＤＭＡ制御装置が、ビデオメモリ内のビデオデータの多次元サーチ空間を指定する１つの直接メモリアクセス（ＤＭＡ）命令に応答して、ブロックの組を第２のキャッシュへコピーするその他の実施例２１記載の装置。
[その他の実施例２３]
命令が、ビデオデータのサーチ空間の行番号および列番号を指定するその他の実施例２２記載の装置。
[その他の実施例２４]
ビデオメモリが、ビデオデータを記憶するための複数の線形アドレス指定可能な記憶装置を含むその他の実施例２１記載の装置。
[その他の実施例２５]
命令が、ビデオブロックの各行間の記憶装置番号を示すジャンプパラメータを指定するその他の実施例２１記載の装置。
[その他の実施例２６]
命令が、ビデオメモリ内のビデオブロックの開始ソースアドレスと第２のキャッシュ内の開始宛先アドレスとを指定するその他の実施例２１記載の装置。
[その他の実施例２７]
ＶＤＭＡ制御装置が、命令に応答して、多数の不連続行をもつサーチ空間をフェッチするその他の実施例２１記載の装置。
[その他の実施例２８]
第1のバスを介してＶＤＭＡ制御装置へ命令を発行するためのプロセッサと、
第２のバスを介してＶＤＭＡ制御装置へ命令を発行するためのディジタル信号プロセッサ（ＤＳＰ）とをさらに含むその他の実施例２１記載の装置。
[その他の実施例２９]
差分計算器が、サーチ命令に応答して、差分メトリックを計算し、各サーチ命令が、第２のメモリ内に記憶されているビデオデータの多次元領域を指定するその他の実施例１７記載の装置。
[その他の実施例３０]
サーチ命令を記憶し、かつサーチ命令を差分計算器へ送るための命令緩衝器をさらに含むその他の実施例２９記載の装置。
[その他の実施例３１]
プロセッサから直接メモリアクセス（ＤＭＡ）命令を受信して、ビデオデータの多次元ブロックへ転送するための手段と、
命令に応答して、ソースアドレスの組と宛先アドレスの組とを生成するための手段と、
ソースアドレスおよび宛先アドレスにしたがって、ソースメモリから宛先メモリへビデオデータをコピーするための手段とを含む装置。
[その他の実施例３２]
ソースメモリおよび宛先メモリの各々が、線形アドレス指定可能な記憶装置をもつその他の実施例３１記載の装置。
[その他の実施例３３]
命令が、ビデオデータブロックの行番号および列番号を指定し、生成手段が、行番号および列番号の関数として、ソースアドレスおよび宛先アドレスを計算するための手段を含むその他の実施例３１記載の装置。
[その他の実施例３４]
命令が、ビデオブロックの各行間のアドレス番号を示すジャンプパラメータを指定し、生成手段が、ジャンプパラメータの関数として、ソースアドレスおよび宛先アドレスを計算するための手段を含むその他の実施例３１記載の装置。
[その他の実施例３５]
命令が、ソースメモリ内のビデオブロックの開始ソースアドレスと、宛先メモリ内の開始宛先アドレスとを指定するその他の実施例３１記載の装置。
[その他の実施例３６]
コピー手段が、命令に応答して、多数の行をもつビデオデータのブロック全体をフェッチするための手段を含むその他の実施例３１記載の装置。
[その他の実施例３７]
受信手段が、第１のバスを介して命令を、ディジタル信号プロセッサから第２のバスを介して第２の命令を受信するその他の実施例３１記載の装置。
[その他の実施例３８]
コピー手段が、命令に応答して、ビデオデータを、動き推定装置の内部キャッシュへコピーするための手段を含むその他の実施例３１記載の装置。
【図１】
0005490661.tif 000002
【図２】
0005490661.tif 000003
【図３】
0005490661.tif 000004
【図４】
0005490661.tif 000005
【図５】
0005490661.tif 000006
【図６】
0005490661.tif 000007
【図７】
0005490661.tif 000008
【図８】
0005490661.tif 000009
【図９】
0005490661.tif 000010