(57)【特許請求の範囲】
【請求項１】
デコードすべきデータを格納可能なメモリ及び前記メモリへのアクセスを必要とする第一装置へ結合されている電子システムにおいて、
デコードすべきデータを格納可能な専用メモリを有しておらず且つ実時間動作を維持するのに充分な前記メモリへのアクセスを必要とするデコーダ、
前記第一装置及び前記デコーダに対して前記メモリへのアクセスを選択的に与えるための前記デコーダへ結合されているアービター、
を有することを特徴とする電子システム。
【請求項２】
請求項１において、前記アービターが前記デコーダのメモリインターフェース内にモノリシック的に集積化されていることを特徴とする電子システム。
【請求項３】
請求項１において、前記アービターが前記第一装置へ結合されていることを特徴とする電子システム。
【請求項４】
請求項３において、前記アービターが前記第一装置のメモリインターフェース内にモノリシック的に集積化されていることを特徴とする電子システム。
【請求項５】
請求項１において、前記アービターが前記メモリへ結合されていることを特徴とする電子システム。
【請求項６】
請求項１において、前記デコーダがビデオデコーダを有することを特徴とする電子システム。
【請求項７】
請求項１において、前記デコーダがＭＰＥＧ−２スタンダードに従ってフォーマット化されたビットストリームをデコードすることが可能であることを特徴とする電子システム。
【請求項８】
請求項１において、更に、前記アービターへ結合されているエンコーダを有することを特徴とする電子システム。
【請求項９】
請求項８において、前記デコーダがＨ．２６３スタンダードに従うビットストリームを発生することが可能であることを特徴とする電子システム。
【請求項１０】
請求項１において、更に、前記メモリ、前記デコーダ、前記第一装置へ結合されている高速バスを有することを特徴とする電子システム。
【請求項１１】
請求項１０において、前記高速バスがスレッシュホールド帯域幅より大きな帯域幅を有していることを特徴とする電子システム。
【請求項１２】
請求項１０において、前記高速バスがメモリバスを有していることを特徴とする電子システム。
【請求項１３】
請求項１０において、前記高速バスがＰＣＩバスを有していることを特徴とする電子システム。
【請求項１４】
デコードすべきデータを格納可能なメモリを有する電子システムにおいて、
表示装置、
高速バス、
圧縮された画像を受取り且つ前記表示装置上にデコードされた画像を表示する前記高速バスへ結合されているデコーダ、
を有しており、前記デコーダは、デコードすべきデータを格納可能な専用メモリを有しておらず、現在の画像をデコードするために使用される少なくとも１つの前にデコードした画像を格納している前記メモリへ結合しており、前記メモリが前記高速バスを介してアクセス可能な前記コンピュータのメインメモリの１領域であることを特徴とする電子システム。
【請求項１５】
請求項１４において、前記デコーダが、前記表示装置の表示アダプタへ、次の画像をデコードするために使用されることのないデコード中の画像を直接的に供給することを特徴とする電子システム。
【請求項１６】
請求項１４において、前記メモリが、先行する画像から得られたものではない内部画像及び単一の先行する画像から得られた予測画像を格納し、前記表示アダプタへ直接的に供給される画像が２つの先行する内部又は予測画像から得られた双方向性画像であることを特徴とする電子システム。
【請求項１７】
請求項１４において、前記デコーダがコンピュータのマザーボード内に集積化されていることを特徴とする電子システム。
【請求項１８】
デコードすべきデータを格納可能なメモリへ結合されている電子システムにおいて、
メモリインターフェースを具備しており前記メモリへのアクセスを必要とする第一装置、
デコードすべきデータを格納可能な専用メモリを有しておらず且つメモリインターフェースを具備しており実時間動作を維持するのに充分な前記メモリへのアクセスを必要とするデコーダ、
前記第一装置及び前記デコーダへ結合されている高速バス、
前記第一装置及び前記デコーダへ結合されており前記メモリへ結合するためのアービター、
を有しており、前記アービターが、前記第一装置及び前記デコーダに対して前記メモリへのアクセスを選択的に与えることを特徴とする電子システム。
【請求項１９】
請求項１８において、前記アービターが前記デコーダの前記メモリインターフェース内にモノリシック的に集積化されていることを特徴とする電子システム。
【請求項２０】
請求項１８において、前記アービターが前記第一装置の前記メモリインターフェース内にモノリシック的に集積化されていることを特徴とする電子システム。
【請求項２１】
請求項１８において、前記第一装置が可変帯域幅を有することが可能であり、且つ前記デコーダが可変帯域幅を有することが可能であることを特徴とする電子システム。
【請求項２２】
請求項１８において、前記デコーダがビデオデコーダを有していることを特徴とする電子システム。
【請求項２３】
請求項１８において、前記デコーダがＭＰＥＧ−２スタンダートに従ってフォーマット化されたビットストリームをデコードすることが可能であることを特徴とする電子システム。
【請求項２４】
請求項１８において、更に、前記メモリインターフェースへ結合されているエンコーダを有することを特徴とする電子システム。
【請求項２５】
請求項２４において、前記エンコーダがＨ．２６３スタンダードに従うビットストリームを発生することが可能であることを特徴とする電子システム。
【請求項２６】
請求項１８において、前記第一装置がプロセサチップセットであることを特徴とする電子システム。
【請求項２７】
請求項２６において、前記プロセサチップセットが１個のプロセサへ結合されていることを特徴とする電子システム。
【請求項２８】
請求項１８において、前記第一装置がグラフィックスアクセリレータであることを特徴とする電子システム。
【請求項２９】
請求項１８において、前記デコーダがＭＰＥＧ−２スタンダードに従ってフォーマット化されたビットストリームをデコードすることが可能であることを特徴とする電子システム。
【請求項３０】
請求項１８において、前記高速バスがスレッシュホールド帯域幅より大きな帯域幅を有していることを特徴とする電子システム。
【請求項３１】
請求項１８において、前記高速バスがメモリバスを有していることを特徴とする電子システム。
【請求項３２】
請求項１８において、前記高速バスがＰＣＩバスを有していることを特徴とする電子システム。
【請求項３３】
コンピュータにおいて、
入力装置、
出力装置、
デコードすべきデータを格納可能なメモリ、
前記メモリへのアクセスを必要とする第一装置、
デコードすべきデータを格納可能な専用メモリを有しておらず且つ実時間動作を維持するのに充分な前記メモリへのアクセスを必要とするデコーダ、
前記メモリ、前記第一装置、前記デコーダへ結合されており、前記第一装置及び前記デコーダに対して前記メモリへのアクセスを選択的に与える手段を具備しているメモリインターフェース、
を有することを特徴とするコンピュータ。
【請求項３４】
請求項３３において、前記第一装置が可変帯域幅を有することが可能であり、且つ前記デコーダが可変帯域幅を有することが可能であることを特徴とするコンピュータ。
【請求項３５】
請求項３３において、前記デコーダがビデオデコーダを有していることを特徴とするコンピュータ。
【請求項３６】
請求項３３において、前記デコーダがＭＰＥＧ−２スタンダードに従ってフォーマット化されたビットストリームをデコードすることが可能であることを特徴とするコンピュータ。
【請求項３７】
請求項３３において、前記メモリインターフェースが、更に、前記第一装置及び前記デコーダに対して前記メモリへのアクセスを選択的に与えるためのアービターを有していることを特徴とするコンピュータ。
【請求項３８】
請求項３３において、更に、前記メモリインターフェースへ結合されているエンコーダを有していることを特徴とするコンピュータ。
【請求項３９】
請求項３８において、前記エンコーダがＨ．２６３スタンダードに従うビットストリームを発生することが可能であることを特徴とするコンピュータ。
【請求項４０】
請求項３３において、前記第一装置がプロセサチップセットであることを特徴とするコンピュータ。
【請求項４１】
請求項４０において、前記プロセサチップセットが１個のプロセサへ結合されていることを特徴とするコンピュータ。
【請求項４２】
請求項３３において、前記第一装置がグラフィックスアクセリレータであることを特徴とするコンピュータ。
【請求項４３】
請求項３３において、前記デコーダがＭＰＥＧ−２スタンダードに従ってフォーマット化されたビットストリームをデコードすることが可能であることを特徴とするコンピュータ。
【請求項４４】
請求項３３において、更に、前記メモリ、前記デコーダ、前記第一装置へ結合されている高速バスを有することを特徴とするコンピュータ。
【請求項４５】
請求項４４において、前記メモリバスがスレッシュホールド帯域幅より大きな帯域幅を有していることを特徴とするコンピュータ。
【請求項４６】
請求項４４において、前記高速バスがメモリバスを有していることを特徴とするコンピュータ。
【請求項４７】
請求項４４において、前記高速バスがＰＣＩバスを有していることを特徴とするコンピュータ。
【請求項４８】
デコードすべきデータを格納可能なメモリへ結合されている第一装置であって、装置優先性を具備すると共に前記メモリへのアクセス要求を発生することが可能な第一装置を有する電子システムにおいて、前記メモリへのアクセスを選択的に与える方法において、
デコードすべきデータを格納可能な専用メモリを有しておらず、前記メモリへ結合されており、実時間で動作可能であり、デコーダ優先性を有しており、且つ前記メモリへのアクセス要求を発生することの可能なデコーダを用意し、
アイドル、ビジー、キュー状態を有するアービターを用意し、
前記デコーダによって前記メモリへアクセスするための要求を発生し、
前記アービターの状態を決定し、
前記アービターがアイドル状態にあることに応答して前記メモリへのアクセスを前記デコーダへ与え、
前記アービターがビジー状態にあることに応答して前記要求をキューさせ、
前記アービターがキュー状態にあることに応答して、前記デコーダ要求の優先性及びその他のキューされた要求の優先性に応答する順番で前記要求をキューさせる、
上記各ステップを有することを特徴とする方法。
【請求項４９】
請求項４８において、更に、
同時的に発生された要求の数を決定し、
同時的に発生された要求の数が１より大きいことに応答して、
前記アービターがアイドル状態にあること及び同時的に発生された要求の優先性に応答して前記メモリに対してのアクセスを選択的に与え、
前記アービターがビジー状態にあることに応答して同時的に発生される要求の優先性に応答した順番で前記同時的に発生された要求をキューさせ、
前記アービターがキュー状態にあることに応答して同時的に発生された要求の優先性及びその他のキューされている要求の優先性に応答した順番で前記同時的に発生された要求をキューさせる、
上記各ステップを有することを特徴とする方法。
【請求項５０】
請求項４９において、前記同時的に発生された要求の数を決定するステップが、前記アービターの状態を決定するステップの前に行なわれることを特徴とする方法。
【請求項５１】
請求項４８において、更に、前記第一装置がバースト長スレッシュホールドを超えるバースト長を有することに応答して、前記第一装置の前記メモリへのアクセスを先取りし且つ前記デコーダの前記メモリへのアクセスを与えるステップを有することを特徴とする方法。
【請求項５２】
請求項４８において、前記デコーダによって発生された要求がキューされた時間の長さに応答して前記デコーダの優先性が増加することを特徴とする方法。
【請求項５３】
デコードすべきデータを格納可能なメモリへ結合されている第一装置を有する電子システムにおいて、前記メモリへのアクセスを選択的に与える方法において、
メモリ管理システムを用意し、
デコードすべきデータを格納可能な専用メモリを有しておらず、メモリインターフェースへ結合されており且つ実時間で動作することの可能なデコーダを用意し、
前記デコーダへの第一時間間隔で前記メモリへのアクセスを与え、
前記第一装置への第二時間間隔で前記メモリへのアクセスを与える、
上記各ステップを有することを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置を有する電子システムの分野に関するものであって、更に詳細には、ビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置と該電子システム内に含まれている別の装置との間のメモリインターフェースを共用する技術に関するものである。
【０００２】
【従来の技術】
圧縮されていないビデオ画像のディジタル表示の寸法は、画像の分解能及び色深さに依存する。このような画像のシーケンス及びそれと一体となるオーディオ信号から構成されている動画は、すぐに大きなものとなり、圧縮されていない場合には、このような動画は、典型的に、例えばＣＤ等の従来の記憶媒体上に全て記憶させることが不可能となる。又、このような圧縮されていない動画を送信することは著しく高価なものとなる。
【０００３】
従って、送信又は格納即ち記憶させる前にビデオ及びオーディオシーケンスを圧縮することが有益的である。これらのシーケンスを圧縮させるためのシステムを開発するためにかなりの努力がなされている。例えば、ＭＰＥＧ−１、ＭＰＥＧ−２、Ｈ．２６１、Ｈ．２６３等の離散余弦変換アルゴリズムに基づいた現在使用されている幾つかのコーディングスタンダードがある（ＭＰＥＧは国際標準化機構即ちＩＳＯの委員会である「モーションピクチャエクスパートグループ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）」の略号である）。ＭＰＥＧ−１、ＭＰＥＧ−２、Ｈ．２６１、Ｈ．２６３スタンダードは、エンコードされているビットストリームをどのようにしてデコードすべきかを記述する脱圧縮（ｄｅｃｏｍｐｒｅｓｓｉｏｎ、伸張ともいう）プロトコルである。結果的に得られるビットストリームがスタンダードを充足する限り、エンコーディングは任意の態様で行なうことが可能である。
【０００４】
ビデオ及び／又はオーディオ圧縮装置（以後、エンコーダと呼称する）は、伝送又は格納する前に、ビデオ及び／又はオーディオシーケンスをエンコード即ちコード化するために使用される。その結果得られるビットストリームは、そのビデオ及び／又はオーディオシーケンスを表示させる前に、ビデオ及び／又はオーディオ脱圧縮装置（以後、デコーダと呼称する）によってデコードされる。然しながら、ビットストリームは、デコーダによって使用されるスタンダード即ち基準に合致するものである場合にのみデコーダによってデコードすることが可能である。多数のシステム上でビットストリームをデコードすることが可能であるためには、広く認められている脱圧縮スタンダードに従ってビデオ及び／又はオーディオシーケンスをエンコードすることが有益的である。ＭＰＥＧスタンダードは、現在、一方向伝送又は通信用の広く受入れられているスタンダードである。Ｈ．２６１及びＨ．２６３は、現在、ビデオ電話（テレビ電話）用の広く受入れられているスタンダードである。
【０００５】
デコードされると、その画像は、例えばテレビ又はデジタルビデオディスク（ＤＶＤ）プレイヤー等のビデオ及びオーディオを表示させる専用の電子システムや、又は、例えばコンピュータ等の画像の表示がシステムの１つの特徴であるに過ぎない電子システム上において表示させることが可能である。これらのシステムが、例えば受取った画像及び関連するオーディオ、又は格納装置からとられたもの等の圧縮されているシーケンスを表示することを可能とするためにデコーダがこれらのシステムに付加されねばならない。該システムがビデオ及び／又はオーディオシーケンスを伝送（通信）し又は格納することを可能とするためにエンコーダが付加されることが必要である。例えばビデオ電話等の２方向通信のために両方が付加される必要がある。
【０００６】
例えば図１ａに示したＭＰＥＧデコーダ１０のような典型的なデコーダは、ビデオデコード回路１２、オーディオデコード回路１４、マイクロコントローラ１６、メモリインターフェース１８を有している。該デコーダは、更に、それが動作すべく設計されている電子システムに依存してその他の回路を有することも可能である。例えば、デコーダが典型的なテレビにおいて動作すべく設計される場合には、オンスクリーンディスプレイ（ＯＳＤ）回路を有することとなる。
【０００７】
図１ｂは、ＳＧＳ−トムソンマイクロエレクトロニクス社によって製造されているＳＴｉ３５２０及びＳＴｉ３５２０Ａ  ＭＰＥＧオーディオ／ＭＰＥＧ−２ビデオ集積化デコーダにおいて使用されているより良いアーキテクチュアを示している。このデコーダは、マイクロコントローラの代わりにレジスタインターフェース２０を有している。レジスタインターフェース２０は外部マイクロコントローラ２４へ結合されている。レジスタインターフェース２０を使用することは、デコーダ１０がインターフェースする特定のハードウエアに対してデコーダ１０を調節させるか又は単にレジスタインターフェースを再プログラミングすることによってデコーダを置換させる必要性なしにその動作を変化させることを可能としている。それは、更に、デコーダ１０を置換させる必要性なしに、単にマイクロコントローラを置換させ且つレジスタインターフェース２０を再プログラミングすることによって、ユーザがマイクロコントローラ２４を置換させ、マイクロコントローラ２４を特定の用途に対してアップグレードさせるか又は調節することを可能とさせる。
【０００８】
メモリインターフェース１８はメモリ２２へ結合している。典型的なＭＰＥＧデコーダ１０は、メインレベルモードにおけるメインプロフィル（ＭＬにおけるＭＰ）において１６Ｍｂｉｔｓのメモリが動作することを必要とする。このことは、典型的に、該デコーダが２Ｍｂｙｔｅのメモリを必要とすることを意味する。メモリ２２はＭＰＥＧデコーダ１０専用であり且つデコーダ１０を電子システムへ付加させるコストを増加させる。現在の技術においては、この付加的な専用メモリ２２のコストはデコーダのコストのかなりの部分を占める場合がある。
【０００９】
エンコーダは、更に、メモリインターフェース１８と専用メモリとを必要とする。該エンコーダを電子システムに付加させることは、エンコーダ及びその専用メモリの両方のコストによってシステムのコストを増加させる。
【００１０】
図１ｃはコンピュータアーキテクチュア内に挿入させた従来のデコーダを示している。従来のコンピュータは、通常、例えばハードディスク、スクリーン等の幾つかの必要な又はオプションの部品を接続させるために使用される周辺バス１７０を有している。これらの周辺機器はコンピュータのマザーボード又は着脱自在なボード上に直接設けられているインターフェース（スクリーン用の表示アダプタ１２０）を介してバス１７０へ接続されている。
【００１１】
中央処理装置（ＣＰＵ）１５２は、インターフェース回路１４６を介してバス１７０と通信し、インターフェース回路１４６は、該コンピュータのメインメモリ１６８をＣＰＵ１５３とそれを必要とする場合のあるバス１７０の周辺機器との間で共用させることを可能としている。
【００１２】
デコーダ１０はバス１７０に対してマスター周辺機器として接続されており、即ち、それはＣＰＵ１５２の関与なしでこのバス上でデータ転送を発生させる。該デコーダは、例えばハードディスク又はＣＤ−ＲＯＭ等の供給源周辺機器１２２からコード化データＣＤを受取り、且つデコードした画像を表示アダプタ１２０へ供給する。最近の表示アダプタは、通常デコーダによって供給される「ＹＵＶ」（輝度及び色光度）画像データを直接的に処理することを可能としており、一方表示アダプタは、通常、ＣＰＵ１５２によって供給される「ＲＧＢ」（赤、緑、青）画像情報を処理すべく設計されている。
【００１３】
表示アダプタ１２０はＣＰＵ１５２からくるか又はデコーダ１０からくる表示用の画像を格納するためのメモリ１２−１を有している。従来のデコーダ１０は、更に、専用メモリ２２を有している。このメモリは、典型的に、３つの画像エリア即ちバッファＭ１乃至Ｍ３及びバッファＣＤＢに分割されており、圧縮データは処理される前にそこに格納される。これら３つの画像バッファは、夫々、デコーディング中の画像及び２つの前にデコードした画像を格納する。
【００１４】
図１ｄは画像Ｉ０，Ｐ１，Ｂ２，Ｂ３，Ｐ４，Ｂ５，Ｂ６，Ｐ７のシーケンスのデコーディングにおいてバッファＭ１乃至Ｍ３を使用する状態を示している。Ｉは所謂「内部」画像を表わしており、その圧縮データは直接的に画像に対応している。Ｐは所謂「予測」画像を表わしており、その再生は前にデコードした画像のピクセルブロック（即ちマクロブロック）を使用する。最後に、Ｂは所謂「双方向」画像を表わしており、その再生は２つの前にデコードした画像のマクロブロックを使用する。内部画像及び予測画像は後の予測及び双方向画像を再生するために使用される可能性があり、一方双方向画像は再度使用されることはない。
【００１５】
画像Ｉ０及びＰ１は、夫々、それらのデコーディング期間中、バッファＭ１及びＭ２内に格納されている。１つのバッファを充填すること及び空にすることは斜めの線によって示されている。画像Ｐ１のデコーディングは画像Ｉ０のマクロブロックを使用する。バッファＭ１内に格納されている画像Ｉ０は、画像Ｂ２のデコーディング期間中に表示され、画像Ｂ２はバッファＭ３内に格納されている。画像Ｂ２のデコーディングは画像Ｉ０及びＰ１のマクロブロックを使用する。画像Ｂ２は画像Ｉ０の直後に表示される。バッファＭ３の位置が空になると、該位置は画像Ｂ３のデコードされた情報によって充填される。画像Ｂ３のデコーディングも画像Ｉ１及びＰ１のマクロブロックを使用する。画像Ｂ３がデコードされると、それはすぐに表示され、一方画像Ｐ４は画像Ｐ１のマクロブロックを使用することによってデコードされる。画像Ｐ４はバッファＭ１内の画像Ｉ０の上に書込まれる。何故ならば、画像Ｉ０は後の画像をデコードするためにもはや使用されることはないからである。画像Ｂ３の後に、画像Ｐ１が表示され、一方バッファＭ３はデコーディング中の画像Ｂ５を受取る。画像Ｂ５のデコーディングは画像Ｐ１及びＰ４のマクロブロックを使用する。画像Ｐ１は画像Ｐ１及びＰ４のマクロブロックを使用する画像Ｂ６のデコーディングまでバッファＭ２内に維持され、且つ以下同様である。
【００１６】
再度図１ｃを参照すると、メインメモリ１６８から読取るか又はそれへ書込むためにいずれかのコンポーネントがメインメモリ１６８へアクセスすることを必要とする場合には、それは要求を発生し、該要求はバス１７０上へ与えられる。該要求が書込である場合には、書込まれるべきデータもバス１７０上へ与えられる。その要求が処理され且つ次いで該データがメインメモリ１６８へ書込まれるか又はそれから読取られる。メインメモリ１６８からデータが読取られると、そのデータは該バス上へ与えられ且つ読取りを要求したコンポーネントへ伝達される。
【００１７】
典型的に、メインメモリ１６８へのアクセスを要求する多数のコンポーネントがコンピュータシステム内に存在しており、且つそれらは、典型的に、全て同一のバス１７０へ結合されているか、又は、全ての周辺機器を受付けるために１つのバスの上に充分なコネクタが存在しない場合には幾つかの複数本のバスへ結合されている。然しながら、各バスを付加することは非常にコスト高となる。各要求は、典型的に、優先度システムに従って処理される。該優先度システムは、典型的に、その装置に与えられている優先度及び要求を受取った順番に基づいている。典型的に、該優先度システムは、いずれの装置もバスを独占してその他全ての装置を動作不能状態とさせることがないように設定される。経験的には、バス上のどの装置もバスの帯域幅の約５０％を超えて必要とすることはない。
【００１８】
デコーダ１０に対して必要とされる最小の帯域幅は、デコーダの特性及び所望の動作に基づいて計算することが可能である。これらの特性は、ビットストリームがエンコードされる場合に準拠するスタンダード、デコーダが実時間で動作すべきか否か、どの程度フレームが落されるか、及び画像がどのようにして格納されるか等を包含する。更に、デコーダをメモリへ結合させるバスの待ち時間を考慮に入れるべきである。
【００１９】
デコーダが実時間で動作するものではない場合には、デコードされた動画は、デコーダが次の画像を処理するためにメモリへアクセスすることが可能となるまで、画像間において周期的に停止する。その動画は画像間においてしばしば停止し且つ待機する場合がある。
【００２０】
最小の必要とされる帯域幅を減少させ尚且つ実時間で動作させるために、デコーダ１０はフレームを落す即ち捨てることが必要な場合がある。デコーダ１０が規則的に全てのフレームをデコードするものではない場合には、画像間において停止することが必要でない場合がある。然しながら、このことは画像における連続性を非常に劣化させる。このことはＭＰＥＧ−１又はＭＰＥＧ−２スタンダード、又は一時的な圧縮を使用するスタンダードでエンコードされている画像の場合に問題である。一時的な（ピクチャ間）圧縮においては、画像のいくらかは、前の画像に基づいてデコードされ且ついくらかは前の画像と将来の画像に基づいてデコードされる。他の画像のデコーディングが基礎とされる画像を捨てることは許容不可能であり、且つ多くの劣化した又は完全に認識不可能な画像を発生させる。
【００２１】
コンピュータは、又、上述した如く、ビデオ電話を可能とするためにデコーダとエンコーダの両方を有することが可能である。この場合には、実時間で動作するものではないということは、通話の一端における例えば会話等のイベントの発生からそのイベントが該通話の他端において表示されるまでの時間の長さが、エンコーダとデコーダの両方がバス及びメインメモリへアクセスするために待機せねばならない時間だけ増加されることを意味している。実時間で動作することが不可能であるということは、装置が追付くことが可能となるまで会話が途切れることとなる。このことはビデオ会議を行なうのに必要な時間を増加させ、且つその会議の参加者を不満とさせる。
【００２２】
コンピュータシステムにおけるコンポーネントが実時間で動作することを可能とさせるための１つの広く使用されている解決方法は、そのコンポーネントにそれ自身の専用メモリを与えることである。従って、図１ｃに示したように、デコーダ１０はそれ自身の専用メモリ２２を与えることが可能であり、デコーダ１０をそのメモリ２２へ接続するために専用バス２６が設けられている。専用メモリ２２はデコーダ１０をコンピュータへ付加させるコストを著しく増加させる。従来のデコーダを具備するコンピュータの１つの欠点は、殆どの時間使用されることのない無視することの不可能な量のメモリが存在するということである。
【００２３】
該デコーダのメモリ２２は、デコードされた画像がコンピュータスクリーン上で観察されるか、又はエンコードされることが必要である場合にのみ使用され、そのことはコンピュータによって使用される時間の僅かな割合に過ぎない。このメモリはその他の周辺機器又はＣＰＵへアクセス不可能であり、ＭＰＥＧ−１デコーダにおいては、５１２Ｋｂｙｔｅｓの寸法を有しており且つＭＰＥＧ−２デコーダにおいては２Ｍｂｙｔｅｓの寸法を有している。更に、このメモリは現在使用可能なメモリコンポーネントを使用することによって得られているので過大な寸法となっている。
【００２４】
【発明が解決しようとする課題】
本発明は、以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、ビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置を具備する改良した電子システムを提供することを目的とする。本発明の更に別の目的とするところは、電子システム内に設けられているビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置と別の装置との間のメモリインターフェースを共用する技術を提供することである。
【００２５】
【課題を解決するための手段】
本発明によれば、実時間で動作することの可能なビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置と第一装置とを有する電子システムが提供される。該第一装置及びビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置の両方がメモリへのアクセスを必要とする。ビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置は、該第一装置と該メモリを共用する。これら２つの装置は該ビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置が実時間で動作するために必要な少なくとも最小の帯域幅の帯域幅を有する高速バスを介して該メモリへ結合されている。
【００２６】
本発明の１つの好適実施例においては、これら２つの装置が１つのアービター（調停器）を共用する。該アービター及び該ビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置及び該第一装置のＤＭＡエンジンは、それらのうちの１つが該メモリへのアクセスを要求する場合に、これら２つの装置の間で調停を行なうべく構成されている。このことは、該ビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置及び該第一装置の両方が該メモリを共用することを可能としている。
【００２７】
例えばコンピュータ等の電子システムにおいて使用されているビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置が、既に、メモリを有する装置を包含している場合には、該ビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置は、そのメモリを共用することが可能であり、且つ該ビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置のメモリを除去することが可能である。該メモリを除去することは、電子システムへビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置を付加させるコストを著しく減少させる。
【００２８】
デコーダメモリはコンピュータのメインメモリの一部である。コンピュータは、デコーダと、メインメモリと、表示アダプタとの間で高い画像レートを受付ける高速バス（例えば、メモリバス、ＰＣＩ（周辺制御相互接続）バス、ＶＬＢ（ＶＥＳＡローカルバス）、又はＡＧＰ（アドバンストグラフィックスポート）バス、又はシステムが実時間で動作することを許容するのに充分な帯域幅を有する任意のバス）を有するべきである。
【００２９】
本発明の一実施例によれば、該デコーダは、スクリーンの表示アダプタへ、直接的に、次の画像をデコードするために使用されていないデコーディング中の画像を供給する。
【００３０】
本発明の一実施例によれば、メインメモリは前の画像から得られたものではない内部画像及び単一の前の画像から得られた予測画像を格納し、表示アダプタへ直接的に供給される画像は２つの先行する内部又は予測画像から得られた双方向画像である。
【００３１】
本発明の一実施例によれば、該デコーダはコンピュータのマザーボード上に配設されている。
【００３２】
本発明の１つの利点は、ビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置がそれ自身の専用メモリを必要とすることがなく、別の装置と１つのメモリを共用することが可能であり且つ実時間で動作するという事実に起因してコストが著しく減少することである。
【００３３】
本発明の別の利点は、該ビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置が装置内に集積化させることなしにその装置のメモリを共用することが可能であり、その第一装置がそのメモリインターフェースに対していくらかの調節を行なったスタンダードな装置とすることを可能とする。
【００３４】
【発明の実施の形態】
図２はメモリ５０へのアクセスを有する第一装置４２と、同一のメモリ５０へのアクセスを有するデコーダ４４及びエンコーダ４６とを包含する電子システム４０を示している。第一装置４２は、プロセサ、コアロジックチップセット、グラフィックスアクセリレータ、又はメモリ５０へのアクセスを必要とするその他の装置とすることが可能であり、且つメモリインターフェースを包含するか又はそれへ結合されている。本発明の好適実施例においては、電子システム４０は、第一装置４２と、デコーダ４４と、エンコーダ４６と、メモリ５０とを有している。デコーダ４４又はエンコーダ４６のいずれかが他方がなしでデコーダ／エンコーダ８０内において使用することが可能である。説明の便宜上、ビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置８０を、以後、デコーダ／エンコーダ８０と呼称する。デコーダ／エンコーダ８０は、単一の装置か、又は集積回路上のセルか、又は２つの別個の装置か、又は集積回路上の別個のセルとすることが可能である。本発明の好適実施例においては、第一装置４２、デコーダ／エンコーダ８０は１個の集積回路上に設けられているが、それらは任意の組合わせで別々の集積回路上に設けることも可能である。
【００３５】
デコーダ４４はビデオデコーディング回路１２及びオーディオデコーディング回路１４を有しており、それらは両方ともレジスタインターフェース２０へ結合されている。デコーダ４４はビデオ及びオーディオのいずれかのデコーダ、単にビデオのみ、又は単にオーディオのみのデコーダとすることが可能である。デコーダ４４が単にビデオデコーダである場合には、それはオーディオデコーディング回路１４を有するものではない。オーディオデコーディングは、第一装置４２へ結合されている別のオーディオＣＯＤＥＣによるか、又はソフトウエアによって実行することが可能である。本発明の好適実施例においては、デコーダ／エンコーダ８０がプロセサを含むシステム内にあり且つ該プロセサへ結合されている場合には、オーディオデコーディングはソフトウエアで実行される。このことは、デコーディングにおいて著しい遅延を発生させることなしにダイ上のスペースを解放させる。オーディオデコーディングがソフトウエアで実行される場合には、プロセサを使用する必要性のあるシステムのその他のコンポーネントを動作不能状態とさせることなしにオーディオデコーディングを実時間で実行することを可能とする速度でプロセサが動作すべきである。例えば、現在、ＡＣ−３オーディオデコーディングを実行するソフトウエアは１３３ＭＨｚペンチアム（Ｐｅｎｔｉｕｍ）の帯域幅の約４０％を占有する。エンコーダ４６はビデオデコーディング回路６２及びオーディオデコーディング回路６４を有しており、それらは両方ともレジスタインターフェース２０へ結合されている。エンコーダ４６は、ビデオ及びオーディオのいずれかのエンコーダか、単にビデオか、又は単にオーディオのエンコーダとすることが可能である。エンコーダ４６が単にビデオエンコーダである場合には、それはオーディオエンコーディング回路６４を含むものではない。オーディオエンコーディングは、第一装置４２へ結合されている別個のオーディオＣＯＤＥＣによるか又はソフトウエアによって実行することが可能である。本発明の好適実施例においては、デコーダ／エンコーダ８０がプロセサを含むシステム内にあり且つ該プロセサへ結合されている場合には、オーディオエンコーディングはソフトウエアで実行される。エンコーディングにおいて著しい遅延を発生させることなしにダイ上のスペースを解放させる同一の利点が得られる。デコーダ４４及びエンコーダ４６のレジスタインターフェース２０はプロセサへ結合されている。
【００３６】
デコーダ４４及びエンコーダ４６は直接メモリアクセス（ＤＭＡ）エンジン５２へ結合している。該デコーダ及びエンコーダは図２に示したものと同一のＤＭＡエンジンへ結合させることが可能であり、又は各々がそれ自身のＤＭＡエンジンを有することが可能であり、又は別の装置とＤＭＡエンジンを共用することが可能である。デコーダ／エンコーダ８０が２つの別々の装置又はセルである場合には、デコーダ４４及びエンコーダ４６は尚且つ１個のＤＭＡエンジン５２へ結合させることが可能である。デコーダ／エンコーダが１個の装置であるか又は集積回路上の１個のセルである場合には、ＤＭＡエンジン５２は、図２に示した如く、デコーダ／エンコーダ８０の一部とさせることが可能である。ＤＭＡエンジン５２はメモリインターフェース７６のアービター８２へ結合している。アービター８２は、好適には、デコーダのメモリインターフェース７６内に又は第一装置のメモリインターフェース７２内にモノリシック的に集積化されている。然しながら、アービター８２はデコーダ／エンコーダ８０及び第一装置４２のメモリインターフェース７６，７２へ結合されている別個のセル又は装置とすることが可能である。アービター８２は、更に、それがモノリシック的に集積化されている装置のリフレッシュロジック５８及びメモリコントローラ５６へ結合している。リフレッシュロジック５８は、アービター８２のように、デコーダのメモリインターフェース７６内、又は第一装置のメモリインターフェース７２内にモノリシック的に集積化させることが可能であり、又はアービター８２へ結合されている別個のセル又は装置とすることが可能である。
【００３７】
第一装置４２は、更に、メモリインターフェース７２及びＤＭＡエンジン６０を有している。第一装置４２のＤＭＡエンジン６０は第一装置７２のメモリインターフェース７２へ結合している。
【００３８】
メモリインターフェース７２，７６は両方ともメモリ５０へ結合している。メモリコントローラ５６はメモリインターフェース７２，７６がメモリ５０内においてアクセスするアドレス及びバーストサイクルのタイミングを発生する制御ロジックである。
【００３９】
現在の技術においては、メモリ５０は、典型的に、ＤＲＡＭである。然しながら、その他のタイプのメモリを使用することも可能である。リフレッシュロジック５８は、ＤＲＡＭをリフレッシュさせるために必要なものである。然しながら、当該技術分野において公知の如く、異なるメモリが使用される場合には、リフレッシュロジック５８は必要とされない場合があり且つ除去することが可能な場合がある。
【００４０】
デコーダ／エンコーダ８０は、デコーダ／エンコーダ８０が実時間で動作するのに必要とされる帯域幅よりも大きな帯域幅を有する典型的にはバス７０である装置を介してメモリ５０へ結合している。デコーダ／エンコーダ８０に対して必要とされる最小の帯域幅は、ビットストリームをエンコードする場合に準拠すべきスタンダート、デコーダ／エンコーダ８０が実時間で動作すべきか否か、どの程度フレームが捨て去られるか、及びどの画像が格納されるか等の該デコーダの特性及び所望の動作に基づいて計算することが可能である。更に、デコーダ／エンコーダ８０をメモリ５０へ結合させるバス７０の待ち時間も考慮されるべきである。
【００４１】
目標とすることは、映画の鑑賞者が気が付くほど多くのフレームを捨てさることなしに、デコーダ／エンコーダ８０を実時間で動作させることである。デコーダ／エンコーダ８０を実時間で動作させるためには、デコーディング及び／又はエンコーディングにおける遅延が鑑賞者によって検知されることがないように充分に高速で画像をデコード及び／又はエンコードすべきである。このことは、デコーダ／エンコーダ８０が、それがスクリーンリフレッシュ間の時間であって典型的には１秒の１／３０である時間内に画像全体をデコードするのに充分に高速に動作することを可能とさせる所要の帯域幅を有しており、人間の鑑賞者がデコーディング及び／又はエンコーディングにおける遅延を検知することが不可能であることを意味している。実時間で動作させるためには、所要の帯域幅はバスの帯域幅よりも低いものとすべきである。バス上のその他のコンポーネントを動作不能状態とさせないために、即ちこれらのコンポーネントがそれらの動作と干渉するするような時間量でメモリへアクセスすることを拒否しないために、この所要の帯域幅はバスの全帯域幅よりも小さくすべきである。従って、高速バス７０を使用すべきである。高速バス７０はその帯域幅が所要の帯域幅と等しいか又はそれより大きいものである任意のバスである。現在の技術においては、このために必要とされる帯域幅よりも著しく低い帯域幅を有するＩＳＡバス等のバスがある。
【００４２】
本発明の好適実施例においては、デコーダ／エンコーダ８０が、少なくとも、デコーダ／エンコーダ８０が実時間で動作するのに必要とされる帯域幅であるスレッシュホールド帯域幅の帯域幅を有する高速バス７０を介してメモリ５０へ結合している。好適には、高速バス７０はデコーダ／エンコーダ８０が実時間で動作するのに必要とされる帯域幅の少なくとも約２倍の帯域幅を有している。好適実施例においては、高速バス７０はメモリバスであるが、所要の帯域幅を有する任意のバスを使用することが可能である。
【００４３】
デコーダ／エンコーダ８０は動作期間中にメモリへのアクセスを必要とするに過ぎない。従って、デコード又は／エンコードする必要性がない場合には、第一装置４２及びメモリ５０を共用するその他の任意の装置は、メモリへの独占的なアクセスを有し、且つ高速バス７０の全帯域幅を使用することが可能である。
【００４４】
好適実施例においては、デコーディング及びエンコーディング期間中であっても、デコーダ／エンコーダ８０は常に所要の帯域幅全体を使用するものではない。高速バス７０は所要の帯域幅の２倍よりも僅かに小さな帯域幅を有しているので、デコーダ／エンコーダ８０は高速バス７０の帯域幅の高々６０％を使用する。
【００４５】
所要の帯域幅は、画像の寸法及び分解能及びフレームのタイプ（Ｉ，Ｐ又はＢ）に基づいて決定される。好適実施例においては、デコーダ／エンコーダは、典型的に、高速バス７０の帯域幅の４０％未満を使用する。このことは、デコーダ／エンコーダ８０がメモリ５０を共用するその他の装置によって使用される残りの帯域幅を解放させる。
【００４６】
デコーダ／エンコーダ８０はスタンダードのうちのいずれか１つ又はその組合わせに従ってフォーマット化されたビットストリームをデコードすることが可能である。本発明の好適実施例においては、デコーダ／エンコーダ８０はいくつかの広く受付けられているスタンダードに準拠してフォーマット化されたシーケンスをデコーディング及びエンコーディングすることの可能なマルチスタンダードデコーダ／エンコーダである。このことは、デコーダ／エンコーダ８０が多数のビデオ及び／又はオーディオシーケンスをデコードすることが可能であることとさせる。デコーダ／エンコーダ８０がフォーマット化されているビットストリームをデコードすることが可能であり且つどのスタンダードに準拠してシーケンスをエンコードすることが可能であるかの選択は、所望のコスト、効率及びデコーダ／エンコーダ８０の適用に基づいて決定される。
【００４７】
好適実施例においては、これらのスタンダードは画像内圧縮及び画像間圧縮の両方が可能なものである。画像内圧縮においては、画像内の冗長性が除去される。画像間圧縮においては、２つの画像の間の冗長性が除去され且つ差分情報のみが転送される。このことは、デコーダ／エンコーダ８０が、現在の画像へデコード又はエンコードするために必要とされる情報を有する前の又は将来の画像をアクセスすることを必要とする。これらの前の及び／又は将来の画像は現在の画像をデコードするために使用するために格納することが必要である。これはデコーダ／エンコーダ８０がメモリへのアクセスを必要とし且つ大きな帯域幅を必要とする理由の１つである。ＭＰＥＧ−１及びＭＰＥＧ−２スタンダードは、前の画像及び／又は将来の画像の両方に基づいてデコードすることを可能とする。従って、実時間で動作することの可能なデコーダ／エンコーダ８０がＭＰＥＧ−１及びＭＰＥＧ−２スタンダードに従うことが可能であるためには、スクリーンリフレッシュ間において１秒の１／３０において現在の画像をデコードするのに充分に高速に前の画像及び将来の画像の２つの画像へアクセスすることが可能であるべきである。
【００４８】
ＭＰＥＧ環境は非対称的であり、デコーダの数よりもエンコーダの数ははるかに少ない。エンコーダは製造するのが非常に困難であり且つ高価であり、デコーダは比較的簡単で且つ安価である。このことは、エンコーダよりもより多くのデコーダを使用する傾向とさせ、エンコーダを中心に位置させ、且つ全てのエンドユーザが１個のデコーダを有することが可能であるようにデコーダを使用可能な状態とさせる。従って、多数の受信機が存在するが送信機は僅かであるに過ぎない。
【００４９】
ビデオ電話及び電話会議の場合には、各エンドユーザが受信及び送信の両方を行なうことが可能でなければならない。Ｈ．２６１及びＨ．２６３は、現在、ビデオ電話用に広く受入れられているスタンダードである。Ｈ．２６１及びＨ．２６３スタンダードに従ってシーケンスをエンコードすることの可能なエンコーダは複雑性がより少ないが、ＭＰＥＧ−１又はＭＰＥＧ−２スタンダートに従うエンコーダよりも分解能がより低く且つフレームレートがより低い。従って、ＭＰＥＧ−１又はＭＰＥＧ−２スタンダードに従うエンコーダから得られるものよりもデコードした画像の品質を幾分より低いものとさせる可能性がある。このようなエンコーダは、実時間で動作し且つ廉価なものであるべきであるので、ＭＰＥＧ−１又はＭＰＥＧ−２スタンダードに従ってシーケンスをエンコードするためのエンコーダよりも効率が低い。そのことが意味することは、このようなエンコーダの圧縮係数、即ちソース即ち元のデータレートとエンコードしたビットストリームのデータレートとの間の比が、与えられた画像品質に対して、ＭＰＥＧエンコーダの圧縮係数よりも低いことである。然しながら、このようなエンコーダは複雑性がより少ないので、ＭＰＥＧ−１及び／又はＭＰＥＧ−２スタンダードに従うことの可能なエンコーダよりもかなり安価であり且つ高速である。このことは、ビデオ電話を可能としている。何故ならば、信号をエンコードする上での長い遅延及び多くのユーザにとって容認できないような高価なコストは、両方とも、ビデオ電話においては許容不可能だからである。
【００５０】
好適実施例においては、デコーダ／エンコーダ８０は、ＭＰＥＧ−１、ＭＰＥＧ−２、Ｈ．２６１、Ｈ．２６３スタンダードに従ってフォーマット化したビットストリームをデコードすることが可能であり、且つＨ．２６１及びＨ．２６３スタンダードに従ってビットストリームを発生させるためにシーケンスをエンコードすることが可能である。このことは、デコーダ／エンコーダ８０をビデオ電話に使用することを可能としている。Ｈ．２６１及びＨ．２６３スタンダードに従うがＭＰＥＧ−１及びＭＰＥＧ−２に従うものではないこのエンコード能力は、最も高い圧縮係数を発生させるべくエンコーディングすることによって送信及び格納（記憶）のコストを減少させようとする願望と、装置を市場で大量に販売することを可能とするのに充分に低いコストにおさえるための願望との均衡を図っている。
【００５１】
図３は、デコーダ／エンコーダ８０がコアロジックチップセット１９０とメインメモリ１６８を共用するコンピュータの１実施例を示している。コアロジックチップセット１９０は当該技術分野において公知の任意のコアロジックチップセットとすることが可能である。図３に示した実施例においては、コアロジックチップセット１９０はＰＣＩコアロジックチップセット１９０であって、それは、ＰＣＩコアロジック装置１５８と、プロセサインターフェース１５４と、メモリインターフェース７２と、それが結合されている任意のシステムバス１７０に対するバスインターフェース１５６とを有している。コアロジックチップセット１９０は、更に、グラフィックスアクセリレータ２００が該コンピュータ内に存在している場合には、アクセリレーティッドグラフィックスポート（ＡＧＰ）１６０を有すると共に、エンハンスト集積装置エレクトロニクス（ＥＩＤＥ）インターフェース１８６を有することが可能である。コアロジックチップセット１９０は、プロセサ１５２、例えばハードディスクドライブ１６４やＤＶＤ  ＣＤ−ＲＯＭ１６６等の周辺機器や、例えばＰＣＩバス１７０等のバスや、アービター８２や、メインメモリ１６８へ結合されている。
【００５２】
この実施例においては、メインメモリ１６８は、メモリインターフェース７２及び７６が結合されているメモリ５０である。メインメモリ１６８は、メモリバス１６７を介して、メモリインターフェース７２及び７６へ結合している。現在の技術においては、コアロジックチップセットをメモリへ結合させるための高速バス７０に対応するメモリバス１６７は、約４００Ｍｂｙｔｅｓ／ｓの帯域幅を有することが可能である。この帯域幅は、最適化したデコーダ／エンコーダ８０に対して必要とさせる帯域幅の少なくとも２倍であり、デコーダ／エンコーダ８０が実時間で動作することを可能としている。
【００５３】
コアロジックチップセット１９０は、更に、キャッシュメモリ１６２及びグラフィックスアクセリレータ２００が該コンピュータ内に存在する場合にはそれらに結合させることも可能である。ＰＣＩバス１７０は、更に、グラッフィスアクセリレータ２００へ結合されると共に、例えばローカルエリアネットワーク（ＬＡＮ）コントローラ１７２等のその他のコンポーネントへも結合している。グラフィックスアクセリレータ２００はディスプレイ１８２及びフレームバッファ１８４へ結合している。該グラフィックスアクセリレータは、更に、オーディオ信号をデコーディングし及び／又はエンコーディングするためにオーディオＣＯＤＥＣ１８０へ結合させることも可能である。
【００５４】
図４は、デコーダ／エンコーダ８０がメインメモリ１６８を共用する場合のコンピュータの別の実施例を示している。この実施例においては、メインメモリ１６８は図２の共用メモリ５０に対応している。図４においては、本発明に基づくデコーダ／エンコーダ８０が、例えば、ＰＣＩバス等の高速周辺バス７０を具備する従来のコンピュータへ１つの周辺装置として接続されているが、該バスは、ＶＬＢ、ＡＧＰバス、又は所要の帯域幅を有する任意のバスとすることが可能である。この実施例においては、高速周辺バス１７０は高速バス７０に対応している。図示したようにデコーダ／エンコーダ８０は専用メモリを有しておらず、それは該コンピュータのメインメモリ１６８の領域２２′を利用する。
【００５５】
領域２２′は、画像ソース（供給源）１２２が圧縮した画像データを書込む圧縮データバッファＣＤＢを有すると共に、「イントラ（ｉｎｔｒａ）」即ち内部画像又は「プレディクティッド」即ち予測画像と関連する２つの画像バッファＭ１およびＭ２を有している。後に理解されるように、双方向画像と関連するバッファは必要ではなく、双方向画像Ｂはそれがデコードされると直接的に表示アダプタ１２０へ供給される。
【００５６】
従って、図４のシステムにおいては、圧縮データＣＤが画像供給源１２２からメモリ１６８のバッファＣＤＢへ転送される。次いで、これらの同一の圧縮データはデコーダ／エンコーダ８０へ転送され、デコーダ／エンコーダ８０は、該データがイントラ即ち内部画像か又はプレディクティッド即ち予測画像に対応する場合には、それらをデコードした形態でメモリ１６８のバッファＭ１及びＭ２へ再送する。該圧縮データが双方向画像に対応する場合には、デコーダ／エンコーダ８０はこれらのデータをデコードし且つそのデコードしたデータを直接的に表示アダプタ１２０へ供給する。該表示アダプタは、次いで、これらのデータを例えばスクリーン等の表示装置へ供給する。バッファＭ１及びＭ２内に格納されたイントラ即ち内部画像又はプレディクティッド即ち予測画像は、適宜の時間において、表示アダプタ１２０へ転送され且つ後の予測画像又は双方向画像のデコーディングにおいて使用される。
【００５７】
本発明に基づくデコーダ／エンコーダ８０の場合には、周辺バス１７０上のレートは特に高く、そのことが高速バスを必要とする理由である。然しながら、必要とされるレートは、双方向画像がメインメモリ１６８内に格納されるものではなく、直接的に表示アダプタ１２０へ送給されるものであるということのために、実質的に減少されている。本発明によれば、ＰＣＩバス上で使用される帯域幅は、ＭＰＥＧ−１デコーダ／エンコーダの場合には、約２０％であり、且つＭＰＥＧ−２デコーダ／エンコーダの場合には、約８０％である。これらの帯域幅は最悪の場合に対応しており、典型的な動作における帯域幅はより低いものとすることが可能である。
【００５８】
勿論、その他の使用のために使用することの可能なメインメモリ１６８の格納（記憶）容量は、デコーダ／エンコーダ８０の動作期間中減少される。何故ならば、デコーダ／エンコーダ８０は領域２２′を使用するからである。この実施例においては、領域２２′の寸法は従来技術（図１ａ及び１ｃ）において使用される専用メモリ２２の寸法よりも１画像バッファだけ減少されている。メモリ領域２２′は、又、ビデオシーケンスを観察する間占有されるに過ぎない。該デコーダ／エンコーダが最早使用されない場合には、領域２２′はその他のタスクのために直ちに解放させることが可能である。
【００５９】
本発明に基づくデコーダ／エンコーダを使用するためにコンピュータについてなされる種々の修正は、主に、ソフトウエアの変更に関連するものであり、当業者の能力範囲のものであり、当業者はコンピュータに関連する種々のスタンダードにおいて必要な情報を見出すことが可能である。コンピュータがその周辺機器を使用することが可能であるためには、従来、周辺ドライバと呼ばれるバックグラウンドプログラムを実行し、該プログラムは、ＣＰＵ又はマスター周辺装置（例えばデコーダ／エンコーダ８０）によって発生される特定のアドレスを該コンピュータの可変の形態へ適合されたアドレスへ変換させる。
【００６０】
例えば、本発明に基づくデコーダ／エンコーダと関連する周辺ドライバは、画像メモリへアクセスするためにデコーダ／エンコーダ８０によって発生される固定アドレスを領域２２′の物理的な位置に対応するアドレスへ変換し、該領域はメモリ１６８の占有状態に従ってオペレーティングシステムによって可変的に割当てられる可能性がある。同様に、この周辺ドライバは画像供給源１２２によって発生される要求に応答して圧縮データを供給し、これらのデータを領域２２′のバッファＣＤＢ内へ転送する。
【００６１】
別の実施例においては、第三画像バッファＭ３（図１ｃ）がメモリ領域２２′内に残存し、デコーダ／エンコーダ８０に対して使用される。従来のデコーダ／エンコーダは、幾つかの適用例、特にテレビ画像を供給するために使用することが可能であるべきである。テレビの場合には、画像はインターレース形態、即ち、１つの画像の全ての奇数のラインが偶数のラインの前に供給される形態で供給される。ＭＰＥＧデコーダは、通常、画像を段階的な形態で再生し、即ち、該デコーダは画像ラインを相次いで供給する。第三画像バッファＭ３は、画像ラインの到着順（即ち、段階的な形態）で双方向画像を格納し次いでこの画像をインターレース形態で再び読取るために必要である。第三画像バッファＭ３は、画像がデコードされた時と画像を観察することが可能であり、画像を格納することが必要な時との間に遅延が存在する場合にも必要とされる場合がある。
【００６２】
図５はシーケンスＩ０，Ｐ１，Ｂ２，Ｂ３，Ｐ４，Ｂ５，Ｂ６，Ｐ７の本発明に従うデコーディングにおける領域２２′の使用状態を示している。画像Ｉ０はそのデコーディング期間中バッファＭ１内に格納される。デコーディング及びバッファＭ２内への画像Ｐ１の格納が開始すると、画像Ｉ０が表示される。画像Ｐ１をデコードするために使用されるマクロブロックがバッファＭ１からフェッチされる。画像Ｂ２及びＢ３がデコードされるに従い表示され、それらのデコーディングのために使用されるマクロブロックがバッファＭ１及びＭ２からフェッチされる。画像Ｐ１は、画像Ｐ４がデコードされ且つ画像Ｉ０の代わりにバッファＭ１内に格納される間に表示される。画像Ｐ１は、画像Ｂ６がデコードされ且つ表示されるまで、バッファＭ２内に維持され、以下同様である。
【００６３】
図６は本発明に基づくＭＰＥＧデコーダのアーキテクチュアを示している。いずれかの従来のＭＰＥＧデコーダと同様に、このデコーダはＦＩＦＯメモリ３０から圧縮データを受取る可変長デコーダ（ＶＬＤ）を有している。このＶＬＤに続いて、ランレベルデコーダ（ＲＬＤ）、反転量子化回路Ｑ-1及び反転余弦変換回路ＤＣＴ-1が設けられている。回路ＤＣＴ-1の出力は加算器３２の第一入力端へ供給され、加算器３２の第二入力端はフィルタ３４及びＦＩＦＯ３５を介して前にデコードした画像のマクロブロックを受取る。デコーダされた画像データは加算器３２の出力端によってＦＩＦＯ３７を介して供給される。ＦＩＦＯ３０はインターフェース回路３９を介してバス１０から圧縮データが供給される。
【００６４】
本発明に基づくデコーダは、インターフェース回路３９が、更に、ＦＩＦＯ３５及び３７をバス１７０へ接続しているという点において従来のデコーダと異なっている。メモリコントローラ４１は必要とされる種々の変化に対応するアドレスを計算し且つバス１７０を介して供給する。
【００６５】
バッファＭ１及びＭ２のアドレスの管理は、従来のデコーダのメモリコントローラによって行なわれるものと同様である。何故ならば、これらのアドレスは、本発明によれば、周辺ドライバによってメモリ１６８内のバッファの物理的位置に従って変換されるからである。更に、本発明の好適実施例に基づくデコーダ／エンコーダ８０のメモリコントローラは、第三画像バッファＭ３が存在しないために、実質的に簡単化されている。従来のデコーダのメモリコントローラは、デコーディング中の双方向画像が表示中の双方の画像上に上書きされることを回避するために特定の態様でこのバッファを管理することが必要である。
【００６６】
図７はデコーダ／エンコーダ８０がグラフィックスアクセリレータ２００とフレームバッファ１８４を共用する場合のコンピュータを示している。グラフィックスアクセリレータ２００は、当該技術分野において公知の任意のグラフィックスアクセリレータとすることが可能である。図７に示した実施例においては、グラフィックスアクセリレータ２００は、２Ｄアクレリレータ２０４、３Ｄアクセリレータ２０６、デジタル・アナログ変換器２０２、メモリインターフェース７２、それが結合されている任意のシステムバス１７０に対するバスインターフェース２１０を有している。グラフィックスアクセリレータ２００は、更に、オーディオ圧縮器／脱圧縮器２０８を有することが可能である。グラッフィクスアクセリレータ２００はディスプレイ１８２及びフレームバッファ１８４へ結合している。
【００６７】
この実施例においては、フレームバッファ１８４は、メモリインターフェース７２及び７６が結合されているメモリ５０である。フレームバッファ１８４はメモリバス１８５を介してメモリインターフェース７２及び７６へ結合している。この実施例においては、メモリバス１８５は高速バス７０に対応している。現在の技術においては、グラフィックスアクセリレータをメモリへ結合させるためのメモリバス１８５は、最大で４００Ｍｂｙｔｅｓ／ｓの帯域幅を有することが可能である。この帯域幅は、最適化したデコーダ／エンコーダ８０に対して必要とされる帯域幅の２倍を超えるものである。このことは、デコーダ／エンコーダ８０が実時間で動作することを可能とする。
【００６８】
グラフィックスアクセリレータ２００は、更に、オーディオ信号をデコーディング及び／又はエンコーディングするためにオーディオＣＯＤＥＣ１８０へ結合させることも可能である。ＰＣＩバス１７０は、更に、チップセット１９０へ結合されると共に、例えばＬＡＮコントローラ１７２等のその他のコンポーネントへ結合されている。この実施例においては、該チップセットはＰＣＩチップセットであるが、それは任意の従来のチップセットとすることが可能である。チップセット１９０は、プロセサ１５２、メインメモリ１６８、ＣＰＩブリッジ１９２へ結合している。ＰＣＩブリッジは、ＰＣＩバス１７０とＩＳＡバス１９８との間を架橋している。ＩＳＡバス１９８は、例えばＭＯＤＥＭ１９９等の周辺機器へ結合すると共に、ＥＩＤＥインターフェース１８６へ結合しており、ＥＩＤＥインターフェース１８６は、例えばハードディスクドライブ１６４やＤＶＤ  ＣＤ−ＲＯＭ１６６等その他の周辺機器へ結合している。周辺機器がＰＣＩバス互換性のものである場合には、ＥＩＤＥインターフェース１８６はＰＣＩチップセット１９０内へ集積化することが可能であり且つ周辺機器１６４，１６６はＰＣＩチップセットへ直接結合させることが可能であり、ＰＣＩブリッジ１９２及びＩＳＡバス１９８を除去することが可能である。
【００６９】
図２を参照して、メモリ要求期間中のアービター８２の動作について説明する。動作期間中に、デコーダ／エンコーダ８０、第一装置４２、及び存在する場合にはリフレッシュロジック５８が、アービター８２を介してメモリへのアクセスを要求する。このアービターを介してメモリ５０へのアクセスを要求するその他の装置が存在する場合もある。アービター８２は、それらの装置のうちのどれがメモリ５０へのアクセスを獲得するかを決定する。該デコーダ／エンコーダは、第一時間インターバル中に該メモリへのアクセスを獲得し、且つ該第一装置は第二時間インターバル中に該メモリへのアクセスを獲得する。デコーダ／エンコーダ８０のＤＭＡエンジン５２は、メモリ５０へのアクセスのためのデコーダ／エンコーダ８０の優先度及びデコーダ／エンコーダ８０が該メモリへのアクセスを有する場合のバースト長を決定する。該第一装置のＤＭＡエンジン６０は、メモリ５０へのアクセスのためのその優先度及び第一装置４２が該メモリへのアクセスを有する場合のバースト長を決定する。
【００７０】
デコーダ／エンコーダ８０又はその他の装置のうちの１つがメモリ５０へのアクセス要求を発生する。その要求はアービター８２へ転送される。アービター８２の状態が決定される。該アービターは、典型的に、３つの状態を有している。第一状態はアイドルであり、いずれの装置も該メモリへアクセスしておらず且つ該メモリへアクセスするための要求が存在しない状態である。第二状態はビジーであり、それは該メモリへアクセスしている装置があり且つ該メモリへアクセスするための要求が存在しない状態である。第三状態はキューであり、それは、該メモリへアクセスしている装置があり且つ該メモリへアクセスするための別の要求が存在する場合である。
【００７１】
更に、２つの要求が同時的に発生されたか否かを決定する。このことはアービターの状態を決定する前又は後のいずれかに行なうことが可能である。該メモリへのアクセスは以下の表に従って決定される。
【００７２】
0003954164.tif 000002
【００７３】
0003954164.tif 000003
【００７４】
0003954164.tif 000004
【００７５】
0003954164.tif 000005
【００７６】
0003954164.tif 000006
【００７７】
0003954164.tif 000007
【００７８】
優先度スキームは、デコーダ／エンコーダ８０が充分な頻度で且つ適切に動作するのに充分なバースト長でメモリ５０へのアクセスを獲得するが、該メモリを共用するその他の装置を動作不能状態とさせることがないことを確保する任意の優先度スキームとすることが可能である。該第一装置の優先度、即ち装置優先度、及びデコーダ／エンコーダ８０の優先度、即ちデコーダ優先度、は、優先度スキームによって決定される。このことは幾つかの態様で達成することが可能である。
【００７９】
実時間で動作するためには、デコーダ／エンコーダ８０は、典型的に１秒の１／３０毎であるスクリーンが次にリフレッシュされる時に表示することが可能であるように画像全体をデコードせねばならない。デコーダ／エンコーダ８０は、使用されているデコーディングスタンダードに依存して、スクリーンリフレッシュ間において１秒の１／３０において画像全体をデコードすることが可能であるのに充分な頻度で且つ充分な長さのバースト長で、この及び／又は過去の及び／又は将来の画像の部分を格納し且つ検索するために該メモリへのアクセスを格納すべきである。
【００８０】
これを行なうために多数の態様が存在している。これを行なう１つの態様は、該第一装置のバースト長及び該メモリ及びメモリインターフェースを共用するスクリーンリフレッシュ等のその他の装置（以後、共用装置と呼ぶ）のバースト長が短いバースト長を有するようにさせ、且つ他の装置が長い間待機している場合に同一の装置が該メモリへのアクセスを獲得する次の装置ではないことを確保することである。別の態様は、そのバースト長がバースト長スレッシュホールドを超える場合に該共用装置をプリエンプト即ち先取りし、且つ他の装置が長い間待機している場合には該メモリへのアクセスを獲得する次の装置が同一の装置ではないことを確保することである。好適には、このプリエンプト即ち先取りが使用される場合には、該共用装置は、そのバースト長が１６ワードを超える場合にプリエンプト即ち先取りされる。第三の態様は、共用装置に対して使用可能な帯域幅を制限することであり、このようにして、デコーダ／エンコーダ８０が、常に、実時間で動作するのに充分な帯域幅を有するようにさせることである。好適には、共用装置の帯域幅は、デコーダ／エンコーダ８０が動作している場合にのみ制限される。好適実施例においては、デコーダ／エンコーダ８０における例えばＦＩＦＯ等のメモリキューが、データスレッシュホールドより下がる場合にエラー信号を発生する。このエラーはＣＰＵ１５２へ送給され、ＣＰＵ１５２は、システムをシャットダウンするか、１つの画像フレームを捨て去るか、又はデコーディング／エンコーディングプロセスを再開させるかのいずれかを行なうことが可能である。
【００８１】
又、他の装置が長い間待機している場合に該メモリへのアクセスを獲得する次の装置が同一の装置ではないことを確保する多数の態様が存在している。このことは、デコーダ／エンコーダが充分な頻度でメモリ５０へのアクセスを獲得すると共に、該メモリを共用するその他の装置が動作不能とさせることがないことを確保する。このことを行なう１つの態様は、連続した要求を不許可とすることである。別の態様は、移動優先度を有することであり、その場合には、特定の要求が、それが最初になされた場合には、低い優先度で開始し、且つその優先度が、キュー即ち待ち行列内に存在する時間の長さと共に上昇し、究極的には他のすべての要求より高い優先度に到達する。好適実施例においては、デコーダ／エンコーダ８０は要求間に１クロックサイクルの遅延を有しており、共用装置がデコーダ／エンコーダ要求の間に１つの要求を発生することを可能としている。
【００８２】
好適実施例においては、該デコーダ／エンコーダのバースト長は比較的短く、約４乃至１７ワードである。このことは、グラフィックスアクセリレータがより高い頻度で該メモリへのアクセスを行なうことを可能とし、該デコーダ／エンコーダがグラフィックスアクセリレータ２００とメモリを共用する場合に、メモリインターフェース４８及びメモリ５０の共用によって表示が乱されることがないことを確保している。
【００８３】
図２に示した電子システム４０は、メモリ５０へ結合している第一装置４２と、同一のメモリ５０へ結合しているデコーダ／エンコーダ８０とを有しており、デコーダ／エンコーダ８０は、第一装置４２とメモリ５０を共用しており、それにより幾つかの利点を提供している。図２及び図１ｂを同時的に参照して説明すると、本発明の好適実施例によれば、デコーダ４４及びエンコーダ４６の各々は、該デコーダ／エンコーダが実時間で動作する場合に、従来技術において必要であったそれら自身の専用メモリ２２を必要とするものではなく、それにより装置コストが著しく減少されている。デコーダ／エンコーダ８０が第一装置４２とメモリ５０を共用することを可能とし且つデコーダ／エンコーダ８０が少なくとも帯域幅スレッシュホールドの帯域幅を有する高速バス７０を介してメモリ５０へアクセスすることを可能とすることによって、該デコーダ／エンコーダが実時間で動作することを可能としている。このことは、該デコーダ／エンコーダを実時間で動作することを可能とすると共に、画像間での停止を減少させ且つ実際的に両者を除去する点にまでかなりの数のフレームを捨て去ることを可能としている。このことは、良好な画像を発生し、且つ従来技術において存在していた不連続性及び遅延を取除いている。
【００８４】
更に、高速バス７０がデコーダ／エンコーダ８０が常に結合されているシステムバスである場合の本発明の実施例においては、デコーダ／エンコーダ８０のピン数は従来のデコーダのものよりも著しく少ない。本発明に基づくデコーダ／エンコーダは、周辺バス１７０の信号（ＰＣＩバスに対する４９個の信号）を必要とするに過ぎず、一方従来のデコーダは、更に、典型的に外部メモリであるその専用メモリ２２とのインターフェースを有している。
【００８５】
従って、本発明によれば、コンピュータにおけるデコーディングは、付加的なコスト高となる専用メモリ２２を設けることなしに、低コスト（ピン数が少ないため）単一集積回路によって実施することが可能である。この単一集積回路は、コンピュータマザーボード上に直接配置させることが可能であり、更にコストを低下させている。勿論、本発明に基づくデコーダ／エンコーダは、従来技術における如く、バスへ接続されるべき拡張ボード上に装着することが可能である。
【００８６】
本発明の更なる利点は、ビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置が、第一装置内に集積化させることなしに、該第一装置とメモリを共用することが可能であるということである。このことは、該第一装置が、そのメモリインターフェースに対してある調節を施したスタンダードな装置とすることを可能としている。
【００８７】
圧縮に関する更なる技術的背景は、国際標準化機構、情報技術−約１．５Ｍｂｉｔｓ／ｓまでにおけるデジタル格納媒体用動画及び関連オーディオのコーディング（ＣＯＤＩＮＧ  ＯＦ  ＭＯＶＩＮＧ  ＰＩＣＴＵＲＥＳ  ＡＮＤ  ＡＳＳＯＣＩＡＴＥＤ  ＡＵＤＩＯ  ＦＯＲ  ＤＩＧＩＴＡＬ  ＳＴＯＲＡＧＥ  ＭＥＤＩＡ  ＡＴ  ＵＰ  ＴＯ  ＡＢＯＵＴ  １．５  ＭＢＩＴＳ／Ｓ）、パート１−６、国際標準化機構、情報技術−動画及び関連オーディオ情報の一般的コーディング（ＧＥＮＥＲＩＣ  ＣＯＤＩＮＧ  ＯＦ  ＭＯＶＩＮＧ  ＰＩＣＴＵＲＥＳ  ＡＮＤ  ＡＳＳＯＣＩＡＴＥＤ  ＡＵＤＩＯ  ＩＮＦＯＲＭＡＴＩＯＮ）、パート１−４、国際標準化機構、データシート「ＳＴｉ３５００Ａ」、ＳＧＳ−トムソンマイクロエレクトロニクス社のデータシート、ＳＴｉ３５００Ａ−ＭＰＥＧオーディオ／ＭＰＥＧ−２ビデオ集積化デコーダ用のアドバンスト情報（１９９５年６月）、ジョンワトキンソン（Ｊｏｈｎ  Ｗａｔｋｉｎｓｏｎ）、ビデオ及びオーディオにおける圧縮（ＣＯＭＰＲＥＳＳＩＯＮ  ＩＮ  ＶＩＤＥＯ  ＡＮＤ  ＡＵＤＩＯ）、フォーカルプレス出版社１９９５年、ダニエルミノリ（Ｄａｎｉｅｌ  Ｍｉｎｏｌｉ）、ビデオ発信音技術（ＶＩＤＥＯ  ＤＩＡＬＴＩＯＮＥ  ＴＥＣＨＮＯＬＯＧＹ）、マッグロヒル出版社、１９９５年等に記載されている。コンピュータアーキテクチュアに関する更なる技術的背景は、ドンアンダーソン（Ｄｏｎ  Ａｎｄｅｒｓｏｎ）及びトムシャンリー（Ｔｏｍ  Ｓｈａｎｌｅｙ）、ＩＳＡシステムアーキテクチュア（ＩＳＡ  ＳＹＳＴＥＭ  ＡＲＣＨＩＴＥＣＴＵＲＥ）第三版、ジョンスインドル（Ｊｏｈｎ  Ｓｗｉｎｄｌｅ）編、マインドシェアインコーポレイテッド、アジソン・ウエズリィ出版社、１９９５年に記載されている。これらの文献は引用によって本明細書に取込む。
【００８８】
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ限定されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。例えば、メモリはＤＲＡＭとして説明したが、リードオンリメモリ、ＳＲＡＭ、又はＦＩＦＯ等のその他のタイプのメモリを本発明の技術的範囲を逸脱することなしに使用することが可能である。又、ＭＰＥＧ−１、ＭＰＥＧ−２、Ｈ．２６１又はＨ．２６１スタンダード、又はそれらの組合わせ、又はその他の従来のスタンダードに従うデコーダを含む任意の従来のデコーダを上述したデコーダ／エンコーダとして使用することが可能である。
【図面の簡単な説明】
【図１ａ】  従来のデコーダの概略ブロック図。
【図１ｂ】  従来のデコーダの概略ブロック図。
【図１ｃ】  従来のデコーダを含むコンピュータアーキテクチュアの概略ブロック図。
【図１ｄ】  従来のＭＰＥＧデコーダによる画像シーケンスの処理における画像バッファの使用状態を示した概略図。
【図２】  メモリインターフェースを具備する装置とエンコーダとデコーダとを有する電子システムを示した概略ブロック図。
【図３】  本発明の一実施例に基づくエンコーダ及び／又はデコーダを具備するメモリインターフェースを共用するためにＣＰＵに対して設計されたコアロジックチップセットを有するコンピュータシステムを示した概略ブロック図。
【図４】  本発明の別の実施例に基づくエンコーダ及び／又はデコーダを有するコンピュータアーキテクチュアを示した概略ブロック図。
【図５】  本発明に基づくＭＰＥＧデコーダによる画像シーケンスの処理における画像バッファの使用状態を示した概略図。
【図６】  本発明に基づくＭＰＥＧデコーダアーキテクチュアの一実施例の概略ブロック図。
【図７】  エンコーダ及び／又はデコーダとメモリインターフェースを共用すべく構成されたグラフィックスアクセリレータを含むコンピュータシステムを示した概略ブロック図。
【符号の説明】
４０  電子システム
４２  第一装置
４４  デコーダ
４６  エンコーダ
５０  メモリ
８０  ビデオ及び／又はオーディオ脱圧縮及び／又は圧縮装置（デコーダ／エンコーダ）
【図１ａ】
0003954164.tif 000008
【図１ｂ】
0003954164.tif 000009
【図１ｃ】
0003954164.tif 000010
【図１ｄ】
0003954164.tif 000011
【図２】
0003954164.tif 000012
【図３】
0003954164.tif 000013
【図４】
0003954164.tif 000014
【図５】
0003954164.tif 000015
【図６】
0003954164.tif 000016
【図７】
0003954164.tif 000017