(57)【要約】  ＭＰＥＧデコーディングおよびその後に続くポストプロセッシングを含む処理などのビデオ・ストリーム処理には、第１および第２のビデオ・ストリーム処理機能を実行するために信号処理回路（１０２、１０６）を使用することが必要である。第１のビデオ・ストリーム処理機能は、フレームの時間的に順序付けられた出力順の連続するビデオ・フレームのフレーム・データを生成する。第２のビデオ・ストリーム処理機能は、たとえば、Ｂフレームをデコードするためにその後のＰフレームが必要とされるので、出力順と異なるフレームの順序付けられた入力順にフレーム・データを使用する。フレーム・データは、フレーム・データに対する第１と第２のビデオ処理機能の適用の間でバッファされる。第１および第２のバッファ・メモリ（１２、１０６）が使用される。第１のバッファ・メモリ（１２）は、外部ＩＣ端子など共用可能なチャネル（１５）を介して信号処理回路に結合されるが、この処理回路は、第２のバッファ・メモリ（１０６）にアクセスするために、共用可能なチャネル（１５）を使用しない。第２のビデオ処理機能は、フレームの第１および第２のものからのフレーム・データをそれぞれ第１および第２のバッファ・メモリ（１２、１０６）から選択的に読み出す。フレームの第２のものは入出力いずれの順でも同じ時間的順序で発生する。フレームの第１のものは、出力順でのフレームの第２のものに対するその位置が、入力順でのフレームの第２のものに対する特定のフレームの位置と異なる少なくとも全ての特定のフレームを含む。
2007526711.tif 000002
【特許請求の範囲】
【請求項１】
第１のビデオ・ストリーム処理機能を実行するように構成された信号処理回路と、
第１のバッファ・メモリが共用可能なチャネルを介して前記信号処理回路に結合され、前記信号処理回路が前記共用可能なチャネルの外の第２のバッファ・メモリへのアクセスを有する、前記第１のビデオ・ストリーム処理機能によって生成されたフレーム・データをバッファするために前記信号処理回路に結合された第１および第２のバッファ・メモリと
を備えるビデオ・ストリーム処理回路であって、
前記第１のビデオ・ストリーム処理機能が、連続したビデオ・フレームのフレーム・データをフレームの時間的に順序付けされた出力順に、前記第１および／または第２のバッファ・メモリに書き込むことを含み、
前記信号処理回路が、前記出力順と異なるフレームの時間的に順序付けされた入力順に前記書き込まれたフレーム・データを使用して第２のビデオ・ストリーム処理機能を実行するよう構成され、前記第２のビデオ・ストリーム処理機能が、前記フレームの所定の第１および第２のものの前記フレーム・データをそれぞれ前記第１および第２のバッファ・メモリから選択的に読み出すことを選択するように構成され、前記フレームの前記第２のものが前記入出力いずれの順でも同じ時間的順序で発生し、前記フレームの前記第１のものが、前記出力順の前記フレームの前記第２のものに関するその位置が前記入力順の前記フレームの第２のものに関する前記特定のフレームの位置と異なる少なくとも全ての特定のフレームを含む、
ビデオ・ストリーム処理回路。
【請求項２】
前記信号処理回路および前記第２のバッファ・メモリを含む第１の集積回路と、前記第１のバッファ・メモリを含み、前記共用可能なチャネルが前記第１および第２の集積回路の間の接続の一部分を形成する、第２の別個の集積回路とを備える、請求項１に記載のビデオ・ストリーム処理回路。
【請求項３】
前記第２のビデオ・ストリーム処理機能が、前記第２のバッファ・メモリからのフレーム・データの各特定のアイテムを、それぞれの時間で、それぞれ前記第１のビデオ・ストリーム処理機能がフレーム・データのその特定のアイテムの後で完全なフレームを書き込んでしまう前に、最後に読み出すように構成された、請求項１に記載のビデオ・ストリーム処理回路。
【請求項４】
前記第１のビデオ・ストリーム処理機能が、ＭＰＥＧデコーディング機能を含み、前記フレームの最初のものが少なくともデコードされたＭＰＥＧ  Ｐフレームを含み、前記ＭＰＥＧデコーディング機能がフレーム・データをデコードされたＭＰＥＧ  Ｉフレームから、またデコードされたＭＰＥＧ  Ｐフレームを前記第１のバッファ・メモリから読み出す、請求項１に記載のビデオ・ストリーム処理回路。
【請求項５】
前記フレームの前記第２のものがＢフレームを含む、請求項４に記載のビデオ・ストリーム処理回路。
【請求項６】
前記第１のビデオ・ストリーム処理機能がＢフレームを前記第２のバッファ・メモリだけに書き込む、請求項５に記載のビデオ・ストリーム処理回路。
【請求項７】
前記フレームの前記第２のものがＩフレームを含み、前記第１のビデオ・ストリーム処理機能が前記Ｉフレームのコピーを前記第１および第２のバッファ・メモリの両方に書き込む、請求項４に記載のビデオ・ストリーム処理回路。
【請求項８】
前記フレームの第２のものがＢフレームを含む、請求項７に記載のビデオ・ストリーム処理回路。
【請求項９】
前記第１のビデオ・ストリーム処理機能がＭＰＥＧデコーディング機能を含み、前記第２のビデオ・ストリーム処理機能が少なくともデコードされたＭＰＥＧ  Ｐフレームを前記第１のバッファ・メモリから読み出す、請求項１に記載のビデオ・ストリーム処理回路。
【請求項１０】
前記処理回路によって実行される前記第１のビデオ・ストリーム処理機能、または第３のビデオ・ストリーム処理機能が、前記フレームの選択されたものだけを前記第１のバッファ・メモリから読み出し、前記第１のビデオ処理機能が、前記フレームの第２のものでもある前記ビデオ・フレームの前記選択されたもののコピーを前記第１および第２のバッファ・メモリの両方に書き込むように構成され、前記第１のビデオ処理機能が、前記ビデオ・フレームの選択されたものでない前記フレームの第２のものを前記第２のバッファ・メモリだけに書き込む、請求項１に記載のビデオ・ストリーム処理回路。
【請求項１１】
第１のビデオ・ストリーム処理機能を実行するように構成された信号処理回路と、
第１のバッファ・メモリが共用可能なチャネルを介して前記信号処理回路に結合され、前記信号処理回路が前記共用可能なチャネルの外の前記第２のバッファ・メモリへのアクセスを有する、前記第１のビデオ・ストリーム処理機能によって生成された前記フレーム・データをバッファするための、前記信号処理回路に結合された第１および第２のバッファ・メモリと
を含む、ビデオ・ストリーム処理回路であって、
前記第１のビデオ・ストリーム処理機能が、連続するビデオ・フレームのフレーム・データをフレームの時間的に順序付けされた出力順に前記第１および／または第２のバッファ・メモリに書き込むことを含み、
前記信号処理回路が、前記出力順と異なるフレームの時間的に順序付けられた入力順に前記書き込まれたフレーム・データを使用して第２のビデオ・ストリーム処理機能を実行するように構成され、前記第１のビデオ・ストリーム処理機能が、前記フレームの所定の第１および第２のものの前記フレーム・データを選択的に前記第１および第２のバッファ・メモリにそれぞれ書き込むことを選択するように構成され、前記フレームの前記第２のものが、前記入出力いずれの順でも同じ時間的順序で発生し、前記フレームの前記第１のものが、前記出力順の前記フレームの前記第２のものに関するその位置が前記入力順の前記フレームの前記第２のものに関する前記特定のフレームの前記位置と異なる少なくとも全ての特定のフレームを含む、
ビデオ・ストリーム処理回路。
【請求項１２】
ビデオ・ストリーム処理の方法であって、
第１のビデオ・ストリーム処理機能が、連続するビデオ・フレームのフレーム・データをフレームの時間的に順序付けされた出力順に生成し、第２のビデオ・ストリーム処理機能が、前記フレーム・データを前記出力順と異なるフレームの順序付けされた入力順に使用する第１および第２のビデオ・ストリーム処理機能を、信号処理回路を使用して実行すること、
第１および／または第２のバッファ・メモリ内の前記フレーム・データに対する前記第１と第２のビデオ処理機能の適用の間で前記フレーム・データをバッファし、前記第１のバッファ・メモリが共用可能なチャネルを介して前記信号処理回路に結合され、前記処理回路が前記第２のバッファ・メモリにアクセスするために前記共用可能なチャネルを使用しないこと、
前記第２のビデオ処理機能によって使用される前記フレームの所定の第１および第２のものからのフレーム・データをそれぞれ前記第１および第２のバッファ・メモリから選択的に読み出し、前記フレームの前記第２のものが前記入出力いずれの順でも同じ時間的順序で発生し、前記フレームの前記第１のものが、前記出力順の前記フレームの前記第２のものに関するその位置が前記入力順の前記フレームの前記第２のものに関する前記特定のフレームの前記位置と異なる少なくとも全ての特定のフレームを含むこと
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ処理回路およびビデオ処理方法に関する。
【背景技術】
【０００２】
ビデオ処理を実行するハードウェアは、一般に、処理されなければならない画像フレームからのフレーム・データを格納しておくバッファ・メモリを必要とする。従来のビデオ処理では、一般に、連続するフレームが交互にそこに書き込まれるあるいはそこから読み出される単一のフレーム・バッファまたは１対のフレーム・バッファがあれば十分である。ディスプレイ・ドライバ機能または信号変換機能など、データを使用する処理機能は、バッファ・メモリまたはメモリから周期的にフレームを読み出す。
【０００３】
米国特許第５，９０９，２２４号は、ＭＰＥＧデコーディング装置について記載している。良く知られているように、ＭＰＥＧは様々なタイプのビデオ・フレーム、すなわち、Ｉフレーム、ＰフレームおよびＢフレームを使用する。デコーディングによって、Ｉ、ＰまたはＢフレームとしてコード化された連続するフレームのストリームが生じる。デコーディング中に、Ｐフレームは、ストリーム内でＰフレームに先行するＩフレームに対して更新を行うことによって発生される。Ｂフレームは、ストリーム内でＢフレームに先行するＩフレームまたはＰフレーム、および／またはストリーム内でＢフレームに続くＰフレームへの更新を行って生成される。したがって、Ｐフレームは、結果として生じるデコードされたフレームのストリーム内でＰフレームの前に発生するＢフレームの前に計算される。
【０００４】
ＭＰＥＧデコーディングの場合、少なくとも３つのフレーム（の一部分）の同時格納のためのバッファ・メモリ、すなわち、更新することによって他の（ＰまたはＢ）フレームがそれらから導出され得るＩフレームおよびＰフレームのためのメモリ、ならびにそのような得られたフレームの少なくとも一部分のためのメモリが必要である。
【０００５】
米国特許第５，９０９，２２４号は、フレーム・バッファの古い内容が必要でなくなってしまった後で、フレーム・バッファがどのようにして新しいＩ、ＰまたはＢフレーム用に使用可能とされるかについて記載している。米国特許第５，９０９，２２４号で使用される回路は、フレームをデコードするプロセッサを結合するバスおよびフレームを格納するＳＤＲＡＭメモリを含む。他の回路もまたバスに結合される。一般に、様々な集積回路を含む印刷回路基板が使用される。すなわち、１枚はプロセッサを含み、１枚または複数の基板はＳＤＲＡＭメモリを含む。その結果、フレーム・バッファにアクセスするためのデータ転送は、他の目的のためのアクセスとでバス帯域幅を取り合うことになる。
【０００６】
この帯域幅問題は、デコードされたフレームがさらに（非ＭＰＥＧデコーディング固有の）ビデオ・ポストプロセッシングを行うために使用される場合、いっそう大きくなる。この場合、追加のプロセッサまたは処理が、ストリーム内で属する順にフレームを読み出すために、フレーム・バッファにアクセスしなければならない。これは、使用可能な帯域幅をやはり取り合わなければならない追加のメモリ・アクセスを必要とする。
【０００７】
この競合は、デコーダが外部メモリに書き込むフレーム・データのコピーを保持するデータ・キャッシュ・メモリの使用によって、ある程度緩和されることができる。これにより、コピーされたデータがキャッシュに入っている場合、外部メモリからの読み出しを回避することができるようになる。しかし、競合の完全な排除には、４つのフレームを格納するのに少なくとも十分に大きく、他の処理によってフレームがキャッシュから取り除かれることができないようにするデータ・キャッシュが必要であろう。このサイズのキャッシュは、特に、信号処理動作を行うプロセッサと共にチップ上のシリコン・エリアの使用を必要とする場合は、非常に高くつく。さらに、必要なキャッシュ管理は、回路を複雑にし、他の処理も関係する場合は、不確定な遅延を導入するであろう。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
とりわけ、オフチップ・メモリなど帯域幅限定メモリが使用される、また帯域幅限定メモリへのアクセス帯域幅の使用が低減されるビデオ・データ・ストリーム処理回路を提供することが、本発明の一目的である。
【０００９】
とりわけ、キャッシュ技法使用時の固有の問題の少なくともいくつかを回避することは、本発明の一目的である。
【課題を解決するための手段】
【００１０】
ビデオ・フレームの圧縮ストリームからフレーム・データを生成するＭＰＥＧデコーディング機能などの第１のビデオ処理機能、ならびに、そのフレーム・データを入力として使用する第２のビデオ処理機能が実行される。この第２の機能は、第１のビデオ処理機能がフレームを生成する時間的順序と異なる時間的順序、一般に表示順にフレームを使用する。第１および第２のバッファ・メモリが、フレーム・データをバッファするために、第１および第２のビデオ処理機能の間に提供される。第１および第２のビデオ処理機能を実行する信号処理回路を含む集積回路（ＩＣ）の一般に外にあるメモリである第１のバッファ・メモリが、帯域幅シェアリングを条件とするチャネルを介して信号処理回路に接続される。この処理回路から、信号処理回路を含むＩＣ内の一般に内部メモリである第２のバッファ・メモリへの接続は、このチャネルを通らない。第２のバッファ・メモリへの別個の接続が使用されてもよく、あるいは、何らかの帯域幅シェアリングが発生する第１のメモリ用と同じ接続の一部分が使用されてもよいが、第１のメモリまでずっと延びる接続は使用しない。外部メモリにアクセスすることは一般により多くの電力を消費するので、このようにすると電力消費量が低減される。
【００１１】
本発明は特にＭＰＥＧデコーディングに有利であるが、本発明はＭＰＥＧデコーディングに限定されず、他のタイプの処理機能にも適用されることを理解すべきである。
【００１２】
第２のビデオ処理機能がフレーム・データを読み出す場合、第２のビデオ処理機能は、そのデータが第１のバッファ・メモリから読み出されなければならないか、それとも第２のバッファ・メモリから読み出されなければならないかを示す。第２のビデオ処理機能は、選択されたフレームのフレーム・データを第２のバッファ・メモリ（一般にＩＣ内部メモリ）から読み出す。したがって、第１のバッファ・メモリへのチャネル上での帯域幅の使用が低減される。選択されたフレームは、第１および第２のビデオ処理機能それぞれによって、同じ時間的順序で読み書きされるフレームである。
【００１３】
第２のビデオ処理機能は、第１のバッファ・メモリ（一般にＩＣ外部メモリ）から他のフレームを読み出す。これらの他のフレームは、第２の処理機能が第２のバッファ・メモリ（一般にＩＣ内部メモリ）から読み出す選択されたフレームに対して互いに異なる位置で読み書きされる少なくとも全てのフレームを含む。第１および第２のビデオ処理機能は、第２のバッファ・メモリを介して伝達されるデータを同じ順に生成し消費し、また、データはこれらのビデオ処理機能によって生成され消費されるので、一時に少量ずつ生成し消費する。これは、選択されたフレームのフレーム・データをそれが生成された後短い時間間隔内に読み出すことによって、第２のバッファ・メモリ（あるいは、そのバッファ・メモリ内で使用されるメモリ・スペースの量）をかなり小さく、一般に、完全なフレームのために、たとえば２０未満のイメージ・ラインのために必要とされる量より小さくしておくことを可能にする。第２のビデオ処理機能が、たとえばスライディング・ウィンドウからのピクセル・データを必要とする場合、この時間間隔はウィンドウに含まれるラインの数を受け取るのに必要であるより長くする必要はない。その時間間隔の後、第２のバッファ・メモリ内の最も古いデータは上書きされることができる。
【００１４】
第２のビデオ処理機能が第２のメモリから読み出すフレームの少なくともいくつかの場合に、第１のビデオ処理機能がフレームからのフレーム・データを第１のバッファ・メモリに書き込まない場合は、第１のバッファ・メモリへのチャネル上の帯域幅がさらに節約されることが好ましい。
【００１５】
一実施形態では、第１のビデオ処理機能はＭＰＥＧデコーディングを含む。この場合、第２のビデオ処理機能は、Ｂフレームおよび／またはＩフレームを第２のバッファ・メモリから読み出し、Ｐフレームを必ず含むその他のフレームを第１のバッファ・メモリから読み出すことが好ましい。第２のビデオ処理機能がＩフレームを第２のバッファ・メモリから読み出す場合、第１のビデオ処理機能は、Ｉフレームのコピーを第１および第２のバッファ・メモリの両方に書き込むことが好ましく、前者はデコーディング中に第１のビデオ処理機能によって使用される。第２のビデオ処理機能がＢフレームを第２のバッファ・メモリから読み出す場合、第１のビデオ処理機能は、さらにデコーディングする際にこれらのＢフレームを使用しないので（また、他のどのビデオ処理機能も第１の（大きな）バッファ・メモリからＢフレームにアクセスする必要がないならば）、第１のビデオ処理機能は、コピーを第１および第２のバッファ・メモリの両方には書き込まないことが好ましい。
【００１６】
しかし、本発明はＭＰＥＧデコーディングに限定されないことを理解すべきである。ＭＰＥＧデコーディングを含む諸実施形態以外の諸実施形態では、第１のビデオ・ストリーム処理機能は、全てのフレームを第１のバッファ・メモリに書き込み、通常の時間に（in normal temporal）読み出される全てのフレームを第２のバッファ・メモリに書き込む。これにより、後者のフレームを読み出し中の資源の使用および／または電力の消費を低減することができるようになる。第１の他の実施形態では、電力の消費をさらに節約するために、他のフレームは第２のバッファ・メモリに書き込まれない。しかし、他の実施形態では、全てのフレームが第２のバッファ・メモリに書き込まれ、それによって書き込みが簡単になり、その結果、電力の消費が少し増えるだけである。他の実施形態では、第１のビデオ処理機能は、フレームの第１のものを第１のバッファ・メモリだけから読み出す。これにより、第２の処理機能が少なくともいくつかのフレームを第２のバッファ・メモリから読み出すので、読み出しが簡単になり、帯域幅がさらに節約される。他の実施形態では、第１のビデオ処理機能がフレームを第１のバッファ・メモリだけから読み出し、第２のビデオ処理機能がフレームを第２のバッファ・メモリだけから読み出す。これにより、第２のビデオ処理機能による帯域幅の使用および／または電力の消費量がさらに低減される。
【００１７】
本発明のこれらのおよび他の目的ならびに有利な形態は、以下の図を使用して例によって説明される。
【発明を実施するための最良の形態】
【００１８】
図１は、処理集積回路１０を有するビデオ・デコーディングおよび処理回路、ならびにアドレス／データ・バス１４、１６によって結合されたメモリ集積回路１２を示す。処理集積回路１０は、デコーダ・プロセッサ１０２、ポストプロセッサ１０４および内部メモリ１０６を含む。デコーダ・プロセッサ１０２は、処理集積回路１０の外部入力１００に結合された、圧縮ビデオ・ストリームを受け取るための入力を有する。デコーダ・プロセッサ１０２およびポストプロセッサ１０４は、アドレス／データ・バス１４、１６の外部インターフェース１５を介してメモリ集積回路１２に結合される。さらに、デコーダ・プロセッサ１０２およびポストプロセッサ１０４は、内部メモリ１０６を介して互いに結合される。
【００１９】
一実施形態では、内部メモリ１０６は、デコーダ・プロセッサ１０２およびポストプロセッサ１０４によって明示的にアドレス指定される必要のないＦＩＦＯバッファ・メモリである。他の実施形態では、内部メモリは比較的小さいアドレス指定可能なメモリである。たとえば、フィルタリングでは、複数のライン上の隣接するピクセルのスライディング・ウィンドウに関するピクセル・データへのアクセスをそれぞれが必要とする連続した計算を実行することがしばしば必要である。この場合、フレーム内のピクセルのウィンドウから様々なピクセルについて内部メモリ内のデータをアドレス指定することが可能でなければならない。
【００２０】
一般に、ポストプロセッサ１０４は、データが内部メモリ１０６およびメモリ集積回路１２からそれぞれ読み出されるべきかどうか示すために様々な命令を使用するように設計されるか、あるいは、好ましくは、ポストプロセッサ１０４は、データが内部メモリ１０６およびメモリ集積回路１２から読み出されるべきかどうかを示すために様々なアドレス範囲内のアドレスを有する読み出し命令を使用する。
【００２１】
動作中に、デコーダ・プロセッサ１０２は、外部入力１００からＭＰＥＧエンコードされたビデオ・ストリームを受け取り、エンコードされたストリームからデコードされたフレームを生成する。デコーディング中に、デコーダ・プロセッサ１０２は、データ・アドレス・バス１４、１６を介してメモリ集積回路１２を使用して、デコードされたＩおよびＰフレームを格納したり取り出したりする。ポストプロセッサ１０４は、たとえば空間フィルタリング処理、色調整などを適用することによって、デコードされたフレームを処理する。（デコーダ・プロセッサ１０２はまた、本発明から逸脱しなければ、何らかの後処理、たとえば個々のピクセル値の変換のための後処理を行ってもよい。）
【００２２】
デコーダ・プロセッサ１０２がフレーム・データを書き込むメモリは、フレームごとに変化する。デコーダ・プロセッサ１０２は、フレームの一部分を内部メモリ１０６に書き込み、フレームの一部分または全てをメモリ集積回路１２に書き込むように構成される。いくつかのフレームのコピーはまた、内部メモリ１０６とメモリ集積回路１２の両方に書き込まれてもよい。同様に、ポストプロセッサ１０４がフレーム・データを読み出すメモリは、フレームごとに変化する。したがって、デコードされたフレームは、内部メモリ１０６を介してデコーダ・プロセッサ１０２からポストプロセッサ１０４に渡り、フレームの一部分はメモリ集積回路１２を通過する。内部メモリ１０６およびメモリ集積回路１２にわたるフレームのいくつかの様々な分散が使用されてよい。
【００２３】
図２は第１の実施形態を概略的に示し、ここでは、ＩおよびＢフレーム・データが内部メモリ１０６を通ってデコーダ・プロセッサ１０２からポストプロセッサ１０４まで行き、Ｐフレーム・データがメモリ集積回路１２を通過する。デコーダ・プロセッサ１０２は、ＩおよびＰフレームからのデータをメモリ集積回路１２に書き込み、デコードするためにＩおよびＰフレーム・データをメモリ集積回路１２から読み出す。
【００２４】
動作中には、デコーダ・プロセッサ１０２は、Ｉフレームと、その後に続く、いくつかのＢフレームからなるいくつかの連続するサブサイクルとそれに続くＰフレームとの繰り返されるサイクルでフレームを生成する。表Ｉは、様々なタイプのフレーム生成順序、およびデコーダ・プロセッサ１０２がフレームを書き込むメモリを示す。様々な列に様々なフレーム・サイクル（１〜１０の番号がつけられている）がリストされている。行はメモリ集積回路１２および内部メモリ１０６に提供され、表内のエントリは、サイクル内で生成されるフレームのタイプ、およびデコーダ・プロセッサ１０２がフレーム・データを書き込む１つの（または複数の）メモリを示す。
【００２５】
表Ｉ  フレームの書き込み
【表１】
2007526711.tif 000003
【００２６】
デコーダ・プロセッサ１０２は、Ｉフレームをメモリ集積回路１２と内部メモリ１０６の両方に（前者はアドレス・データ・バス１４、１６を介して）書き込む。次にデコーダ・プロセッサ１０２は、Ｐフレームを発生し、メモリ集積回路１２だけに書き込む。続いて、デコーダ・プロセッサ１０２は、いくつかのＢフレーム（簡単にするために１つしか示されていない）を生成し、内部メモリ１０６だけに書き込む。ＰフレームおよびいくつかのＢフレームの書き込みは、数回繰り返される。その後、デコーダ・プロセッサ１０２は、Ｉフレームを生成する前に１フレーム・サイクルを待った後で、Ｉフレームからのサイクルを繰り返す。Ｐフレームの生成では、デコーダ・プロセッサ１０２は、メモリ集積回路１２から、先行するＩフレームからのデータをアドレス指定し、読み出す。Ｂフレームの生成では、デコーダ・プロセッサ１０２は、メモリ集積回路１２から、最後に生成されたＰフレームおよび／または最後から２番目に生成されたＰフレーム、あるいは最後に生成されたＩフレームからのデータを読み出す。
【００２７】
ポストプロセッサ１０４は、Ｉフレーム、およびそれぞれいくつかのＢフレームからなる繰り返されるサブサイクル、その後に続く、Ｂフレームを生成するＰフレームの順に、これらのフレームを読み出す。この後に、Ｉ、ＰおよびＢフレームなどの次のサイクルが続く。表２は、様々なタイプのフレームを読み出す順序、およびデコーダ・プロセッサ１０２がフレームをそこから読み出すメモリを示す。それぞれの列には、それぞれ異なるフレーム・サイクル（１〜１０の番号がつけられている）がリストされている。行はメモリ集積回路１２および内部メモリ１０６に提供されており、表内のエントリは、１つのサイクルで生成されたフレームのタイプ、およびポストプロセッサ１０４がフレーム・データを読み出す１つの（または複数の）メモリを示す。
【００２８】
表２  フレームの読み出し
【表２】
2007526711.tif 000004
【００２９】
ポストプロセッサ１０４は、内部メモリ１０６からＩおよびＢフレームを、これらのフレームが生成された順に読み出す。ポストプロセッサ１０４は、アドレス／データ・バス１４、１６を介して、メモリ集積回路１２からＰフレームを読み出す。ＩまたはＢフレーム全体からのデータはいつでも内部メモリ１０６に一緒に格納される必要はなく、前のデータがポストプロセッサ１０４によってすでに使用されている場合は、フレームからのデータを書き込み中に、そのフレームからの前のデータを上書きしてもよい。したがって、内部メモリ１０６の記憶容量は、デコードされたフレーム全体に必要な記憶容量より小さくてよい。第２のフレーム・サイクルでは（デコーダ・プロセッサがＩフレームの後で第１のＰフレームを生成するときは）、ポストプロセッサ１０４は休止する。
【００３０】
デコーダ・プロセッサ１０２およびポストプロセッサ１０４が休止するフレーム・サイクルは、内部メモリ１０６を介して受け渡されるフレームでは、内部メモリ１０６への書き込みと内部メモリ１０６からの読み出しの間の遅延は最小であることを保証するために挿入され、その結果、完全なフレームより小さいフレームのための（たとえば、フレームからのラインのサブセットのためだけの）メモリ・スペースで十分である。より大きな内部メモリが使用される場合、これらの休止は低減されても排除されてもよい。内部メモリ１０６のメモリ・スペースのサイズは、休止が、システム（たとえばデジタルＴＶ）全体の正しい動作のために（たとえば、システム全体の出力上でフレームを生成するための全てのデッドラインを満たすように）必要な範囲内にあるように選択されてよい。より大きなメモリ・スペースは、より小さな休止を提供する。ポストプロセッサ１０４の後で一定のフレーム・レートが（たとえば表示のために）必要な場合は、ポストプロセッサ１０４の後でバッファ・メモリ（示されていない）が使用されてよい。この場合、デコーダ・プロセッサ１０２およびポストプロセッサ１０４は、（休止されなければ）一定のフレーム・レートより上で動作させられる。バッファ・メモリは一定のフレーム・レートで読み出され、その結果、バッファされたデータの量は、ポストプロセッサがそこで休止するフレーム・サイクルまで増大する。
【００３１】
このようにすると、ポストプロセッサ１０４はメモリ集積回路１２からＩおよびＢフレームを読み出すためにバス１４、１６のアクセス・サイクルを全く使用しないことが理解されるであろう。これはアドレス・データ・バス１４、１６のバスの使用を低減する。内部メモリ１０６がバス１４、１６に接続される実施形態では、バスの使用を低減する必要はないが、依然として一般に電力消費を節約する外部メモリへのアクセスを低減し、外部メモリへの他のアクセスとの干渉を回避し、かつ／またはアクセス時間を低減する。
【００３２】
図３は第２の実施形態を概略的に示す。この実施形態では、フレームを読み書きする順序は図２の場合と同じであるが、デコーダ・プロセッサ１０２は、Ｂフレームを内部メモリ１０６に書き込む代わりに、それらのＢフレームをメモリ集積回路１２に書き込む。デコーダ・プロセッサ１０２は、Ｉフレーム・データを内部メモリ１０６とメモリ集積回路１２の両方に書き込む。ポストプロセッサ１０４は、Ｉフレーム・データを内部メモリ１０６から読み出し、ＰおよびＢフレーム・データをメモリ集積回路１２から読み出す。
【００３３】
このようにすると、ポストプロセッサ１０４は、Ｉフレーム・データをメモリ集積回路１２から読み出すためにデータ／アドレス・バス１４、１６のアクセス・サイクルを使用せず、それによってメモリ集積回路１２へのアクセスを低減する。図３の実施形態と比較すると、図２の実施形態では、Ｂフレーム用のバス１４、１６への読み書きサイクルも排除されるので、アドレス／データ・バス１４、１６上のアクセス・サイクルはより少なくてよいことが分かる。
【００３４】
図４は、第３の実施形態を概略的に示す。この実施形態では、フレームを読み書きする順序は、図２の場合と同じであるが、デコーダ・プロセッサ１０２は、Ｉフレームのコピーを内部メモリ１０６とメモリ集積回路１２の両方に書き込む代わりに、Ｉフレームをメモリ集積回路１２に書き込むだけである。ポストプロセッサ１０４は、ＩおよびＰフレーム・データをメモリ集積回路１２から読み出し、Ｂフレーム・データを内部メモリ１０６から読み出す。
【００３５】
このようにすると、ポストプロセッサ１０４は、Ｂフレームをメモリ集積回路１２から読み出すためにデータ／アドレス・バス１４、１６のアクセス・サイクルを使用せず、それによって、バスの使用を低減する。これは、アドレス・データ・バス１４、１６のバスの使用を低減する。図４の実施形態と比較すると、図２の実施形態では、Ｉフレーム用のバス１４、１６への読み出しサイクルも排除されるので、アドレス／データ・バス１４、１６上のアクセス・サイクルはより少なくてよいことが分かる。しかし、その結果、Ｉフレームのコピーが内部メモリ１０６とメモリ集積回路１２の両方に書き込まれなければならないので、図２では、より多くの総回数の書き込み動作が必要になる。これは電力消費量の増大につながる可能性がある。しかし、内部メモリへのアクセスは、一般に外部メモリへのアクセスより少ない電力消費量を必要とする。
【００３６】
図４の実施形態では、デコーダ・プロセッサ１０２およびポストプロセッサ１０４を休止させる必要はない。デコーダ・プロセッサ１０２がＩフレームを生成し書き込むフレーム・サイクルでは、ポストプロセッサ１０４は、最後の先行するＰフレームをメモリ集積回路１２から読み出す。次のフレーム・サイクルでは、デコーダ・プロセッサ１０２は、第１のＰフレームを生成し書き込み、ポストプロセッサ１０４はＩフレームを読み出す。次のフレーム・サイクルでは、デコーダ・プロセッサ１０２は、Ｂフレームを生成し読み込み、ポストプロセッサ１０４は、このＢフレームが生成されている間に、このＢフレームを内部メモリ１０６から読み出す。したがって、Ｂフレームは全て、デコーダ・プロセッサ１０２の動作中に内部メモリ１０６から読み出されることができ、その結果、デコーダ・プロセッサ１０２およびポストプロセッサ１０４を休止させることなく、メモリはほとんど必要がなくなる。次に続くポストプロセッサ１０４をバッファするフレーム・レートの正規化の必要はない。
【００３７】
本発明は、ＭＰＥＧデコーディングに典型的なフレームの読み書きの順序に関して説明されてきたが、本発明は他のデコーディング方式またはエンコーディングに適用できることが理解されるであろう。また、本発明は、特定のタイプの全てのフレームを特定のメモリ（内部メモリ１０６またはメモリ集積回路１２）に書き込むことにも限定されない。いくつかのフレームがメモリ集積回路１２に書き込まれない、あるいはそれから読み出されない場合は、もはや消費される帯域幅が少なくなることが理解されるであろう。
【００３８】
１つの例は、Ｉフレームの直前の最終Ｂフレームが、最終Ｂフレームの前にポストプロセッサ１０４によって処理されるＰフレームを使用して生成される、デコーディング方式が使用される場合である。この例では、図４の実施形態は、最終Ｂフレームをメモリ集積回路１２に格納し、他のＢフレームが依然として内部メモリ１０６にだけ格納されるように変更されてよい。これは、内部メモリが小さい場合、デコーダ・プロセッサ１０２およびポストプロセッサ１０４を１フレーム・サイクルの間休止させる必要を回避する。
【００３９】
エンコーダ集積回路では、エンコーダ・プロセッサの前にプレプロセッサがあってよい。この場合、メモリ帯域幅を節約するために、内部メモリが、選択されたフレームをバッファするようにプレプロセッサとエンコーダ・プロセッサの間で使用されてもよい。たとえば、Ｂフレームとしてエンコードされるフレームは、内部メモリを介してエンコーダ・プロセッサに送られてよく、他のフレームは外部メモリ集積回路を介して送られる。あるいは、ＰおよびＢフレームとしてエンコードされる両方のフレームが、内部メモリを介してエンコーダ・プロセッサに送られてもよく、この場合、Ｐフレームとしてエンコードされるフレームもメモリ集積回路に書き込まれ、後者はＢフレーム・エンコーディングに使用される。
【００４０】
本発明は、これらの例に限定されないことを理解すべきである。たとえば、電力消費量を低減するために、ポストプロセッサ１０４がメモリ集積回路１２から読み出すフレームにフレーム・データが属する場合、そのフレーム・データは内部メモリ１０６に書き込まれないことが望ましいが、それにもかかわらず、本発明から逸脱しなければ内部メモリ１０６に書き込まれてもよい。ただし、読み出されることはない。
【００４１】
同様に、データが、帯域幅使用を低減するために内部メモリ１０６を介してメモリ集積回路１２に送られる場合、帯域幅が不足していない期間中には、内部メモリ１０６は使用される必要がないことが理解されるであろう。帯域幅が不足している場合は、少なくともときどき、本実施形態の１つに従って内部メモリが使用されることが好ましい。
【００４２】
さらに、別個のデコーダ・プロセッサ１０２およびポストプロセッサが例として示されてきたが、その代わりに、２つの対応するソフトウェア処理を実行する単一のプロセッサが使用されてもよいことは理解されよう。この場合、内部メモリ１０６は、プロセス間通信に役立ち、１群のプロセッサ・レジスタ、または格納命令とロード命令の間でＦＩＦＯとして機能する１つのレジスタとして実装されてよい。これに反して、デコーダ・プロセッサ１０２およびポストプロセッサ１０４は、それらのそれぞれの機能だけを実行することができる別個の専用ハードウェア回路でもよい。
【００４３】
さらに、内部メモリ１０６はアドレス／データ・バス１４、１６から分離して示され、アドレス／データ・バス１４、１６はデコーダ・プロセッサ１０２、ポストプロセッサ１０４およびメモリ集積回路１２に接続するように示されているが、異なるアーキテクチャが使用されてもよいことが理解されるであろう。たとえば、内部メモリ１０６、デコーダ・プロセッサ１０２およびポストプロセッサ１０４は、処理集積回路１０の内部アドレス／データ・バスを介して結合されてよく、メモリ集積回路１２は、外部バスを介してデコーダ・プロセッサ１０２およびポストプロセッサ１０４に結合される。この場合、外部バスは、バス・インターフェースを介して内部バスに結合されてよい。したがって、本発明は、帯域幅が内部バス上よりも強く制約される外部バス上で帯域幅を低減する。
【００４４】
さらに、本発明はデータを書き込み、後でそのデータを読み出すデコーダ・プロセッサ１０２が使用される図１の例にとって特に有用であるが、本発明はこの種のプロセッサに限定されないことを理解すべきである。
【００４５】
図５は、デコーダ・プロセッサ１０２の読み出し動作などの読み出し動作が、別の目的で、その代わりに第３のプロセッサ５０によって行われる図２の実施形態の一バージョンを示す。この実施形態では、フレームを読み出さない（あるいはデコーディングとは違う他の機能を実行する）プロセッサ１０２が使用されてよい。ポストプロセッサ１０４は、図２のポストプロセッサ１０４のように、完全なフレームのバッファリングを必要としない。第３のプロセッサ５０は、デコーダ・プロセッサ１０２のように、いくつかの完全なフレームだけのバッファリングを必要とする。この場合、図２に関して説明されたのと同じ読み書き方式が使用されても、あるいは説明されている他の方式のどの方式が使用されてもよい。
【図面の簡単な説明】
【００４６】
【図１】ビデオ・デコーディングおよび処理回路を示す図である。
【図２】メモリへのおよびメモリからのデータ・フローを示す図である。
【図３】メモリへのおよびメモリからのデータ・フローを示す図である。
【図４】メモリへのおよびメモリからのデータ・フローを示す図である。
【図５】メモリへのおよびメモリからのデータ・フローを示す図である。
【図１】
2007526711.tif 000005
【図２】
2007526711.tif 000006
【図３】
2007526711.tif 000007
【図４】
2007526711.tif 000008
【図５】
2007526711.tif 000009
【国際調査報告】
2007526711.tif 000010
2007526711.tif 000011
2007526711.tif 000012