(57)【要約】  デコーダ構成（１０）は、フォーマットの異なる複数のストリームを含む複数のストリーム（１１１〜１１ｎ）を復号するようにプログラムされたプロセッサ（１２）を含む。機能面では、このデコーダ構成は、それぞれのストリームを異なるデコーダ・ステージ（１４１〜１４ｎ）にルーティングするルーティング・ステージ（１３）を含み、各デコーダ・ステージは、特定のフォーマットのストリームを復号して、その出力で圧縮解除ストリームを生成することができる。複数のバッファ・ステージ（１６１〜１６ｎ）はそれぞれ、関連するデコーダ・ステージから出力される圧縮解除ストリームの連続したフレームを記憶する。出力ステージでは、表示装置（２２）に入力するために、バッファ・ステージに記憶されたフレームを共通のサイズにスケーリングする。
2008538457.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも第１および第２のストリームを復号するデコーダであって、
それぞれが前記少なくとも第１および第２のストリームのそれぞれを復号して、少なくとも第１および第２の圧縮解除ストリームを生成する、少なくとも第１および第２のデコーダ・ステージと、
前記少なくとも第１および第２のストリームのそれぞれを、前記少なくとも第１および第２のデコーダ・ステージにそれぞれルーティングするルーティング・ステージと、
前記少なくとも第１および第２の圧縮解除ストリームのそれぞれのフレームをそれぞれ記憶する少なくとも第１および第２のバッファ・ステージと、
前記第１および第２のバッファ・ステージからのフレームを、共通のサイズにスケーリングするスケーラとを含む、デコーダ。
【請求項２】
前記少なくとも第１および第２のストリームがそれぞれ第１および第２のフォーマットでエンコードされ、前記少なくとも第１および第２のデコーダ・ステージがそれぞれ、前記少なくとも第１および第２のストリームの前記第１および第２のフォーマットにそれぞれ合致した第１および第２の復号フォーマットを有する、請求項１に記載のデコーダ。
【請求項３】
前記第１のエンコード・フォーマットが、標準精細度（ＳＤ）ビデオのＭＰＥＧ２、ＤＶ２５、およびＤＶ５０、ならびに高精細度ビデオのＭＰＥＧ２、Ｈ．２６４−ＭＰＥＧ４  ＡＶＣ、およびＤＶ１００のうちの１つを含む、請求項２に記載のデコーダ。
【請求項４】
前記第２のエンコード・フォーマットが、標準精細度（ＳＤ）ビデオのＭＰＥＧ２、ＤＶ２５、およびＤＶ５０、ならびに高精細度ビデオのＭＰＥＧ２、Ｈ．２６４−ＭＰＥＧ４  ＡＶＣ、およびＤＶ１００のうちの１つを含む、請求項２に記載のデコーダ。
【請求項５】
前記少なくとも第１および第２のプレゼンテーション・バッファ・ステージが異なるサイズを有する、請求項１に記載のデコーダ。
【請求項６】
前記第１および第２のプレゼンテーション・バッファ・ステージが、７２０×４８０ピクセル、７２０×５７６ピクセル、１９２０×１０８０ピクセルまたは１２８０×７２０ピクセルの何れかのサイズを有する、請求項５に記載のデコーダ。
【請求項７】
ロック・セマフォによって、前記第１および第２のプレゼンテーション・バッファ・ステージの前記少なくとも１つのそれぞれが、他方のバッファ・ステージをオーバーランすることを防止する、請求項１に記載のデコーダ。
【請求項８】
前記少なくとも第１および第２のプレゼンテーション・バッファ・ステージのそれぞれが、前記少なくとも第１および第２のデコーダ・ステージの関連する１つを前記スケーラから切り離して、各デコーダ・ステージが独立して復号し、時間的に並列に動作することができるようにする、請求項１に記載のデコーダ。
【請求項９】
前記スケーラが、色空間変換を実行する、請求項１に記載のデコーダ。
【請求項１０】
少なくとも第１および第２のストリームを復号する方法であって、
前記少なくとも第１および第２のストリームのそれぞれを、復号を行うためにルーティングするステップと、
前記少なくとも第１および第２のストリームのそれぞれを復号して、少なくとも第１および第２の圧縮解除ストリームをそれぞれ生成するステップと、
前記少なくとも第１および第２の圧縮解除ストリームのそれぞれのフレームを記憶するステップと、
前記第１および第２の圧縮解除ストリームの記憶したフレームを、共通のサイズにスケーリングするステップとを含む方法。
【請求項１１】
前記少なくとも第１および第２のストリームがそれぞれ、第１および第２のフォーマットでエンコードされ、前記復号ステップが、第１および第２の復号フォーマットをそれぞれ使用して前記少なくとも第１および第２のストリームを復号することをさらに含む、請求項１０に記載の方法。
【請求項１２】
前記第１のエンコード・フォーマットが、標準精細度（ＳＤ）ビデオのＭＰＥＧ２、ＤＶ２５、およびＤＶ５０のエンコード・フォーマット、ならびに高精細度ビデオのＭＰＥＧ２、Ｈ．２６４−ＭＰＥＧ４  ＡＶＣ、およびＤＶ１００エンコード・フォーマットのうちの１つを含む、請求項１０に記載の方法。
【請求項１３】
前記第２のエンコード・フォーマットが、標準精細度（ＳＤ）ビデオのＭＰＥＧ２、ＤＶ２５、およびＤＶ５０エンコード・フォーマット、ならびに高精細度ビデオのＭＰＥＧ２、Ｈ．２６４−ＭＰＥＧ４  ＡＶＣ、およびＤＶ１００エンコード・フォーマットのうちの１つを含む、請求項２に記載の方法。
【請求項１４】
前記少なくとも第１および第２のストリームのエンコードを記憶したストリームのスケーリングから切り離すステップをさらに含む、請求項１０に記載の方法。
【請求項１５】
記憶したフレームに対して色変換を実行するステップをさらに含む、請求項１０に記載の方法。
【請求項１６】
複数のストリームを空間的に並列に復号するステップをさらに含む、請求項１０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、米国特許法１１９条（ｅ）に基づき、２００５年２月１６日出願の米国仮特許出願第６０／６５３，５３８号に対する優先権を主張するものである。
【０００２】
本発明は、圧縮ストリームを復号するデコーダに関する。
【背景技術】
【０００３】
従来のビデオ・デコーダは、ハードウェア型である。換言すれば、通常のビデオ・デコーダは、その用途専用の個々に独立した装置としての形態をとっている。ハードウェア型デコーダの実施態様では、フォーマットの異なるストリームを復号する際に、通常はストリームの種類毎に異なるチップセットが必要であり、ファームウェアのダウンロードにも比較的長い時間がかかる。複数のチップセットを設けると、非常にコストがかかることが分かっており、ファームウェアの変更を実時間で行うことも現実には困難になる。
【０００４】
従って、こうした従来技術の欠点を克服するデコーダ構成が必要とされている。
【発明の開示】
【０００５】
簡単に言えば、本発明の原理の好ましい実施形態によれば、少なくとも第１および第２の圧縮ストリームを復号するデコーダが提供される。このデコーダは、それぞれが該少なくとも第１および第２のストリームのそれぞれを復号して第１および第２の圧縮解除ストリームをそれぞれ生成することができる、第１および第２のデコーダ・ステージを含む。ルーティング・ステージでは、該少なくとも第１および第２のストリームを、該少なくとも第１および第２のデコーダ・ステージにそれぞれルーティングする。少なくとも第１および第２のバッファ・ステージはそれぞれ、該第１および第２のデコーダ・ステージから出力された第１および第２の圧縮解除ストリームのそれぞれを記憶する。出力ステージでは、該少なくとも第１および第２のバッファ・ステージに記憶された圧縮解除ストリームを結合する。
【０００６】
実際には、本発明の原理によるデコーダ構成は、各デコーダ・ステージの機能を実行するようにソフトウェアでプログラムされたプロセッサを含む。ソフトウェア・デコーダとすることで、高いカスタマイズ性が得られ、復号プロセスの柔軟性および制御性も高まる。ノンリニア・エディタ（ＮＬＥ）（ｎｏｎ−ｌｉｎｅａｒ  ｅｄｉｔｏｒ）で使用されるソース・ビデオ・マテリアルは、異なるソースから来たものである可能性もあり、また例えばＭＰＥＧ２、ＤＶ、ＪＰＧ２Ｋなど、異なるフォーマットで圧縮されている可能性もある。マテリアルは、例えば標準精細度ＮＴＳＣと高精細度１０８０ｉなど、異なるプレゼンテーション・サイズを有することもある。本発明の原理によるデコーダ構成は、様々なフォーマットを復号することができる複数のデコーダ・ステージを利用することによって、元の圧縮フォーマットまたは画像サイズに係わりなくビデオ・ストリームを復号することができる。本発明の原理によるデコーダ構成は、様々なフォーマットのフレームを圧縮解除し、圧縮解除したフレームを共通の「キャンバス」の上に組み立てることができる。さらに、比較的安価なマルチプロセッサ・システムを利用できるので、本発明の原理によるデコーダ構成は、複数の並列なスレッドを実行することができ、利用可能なプロセッサの数および速度に応じて処理スループットを高めることができる。
【発明を実施するための最良の形態】
【０００７】
図１は、本発明の原理の好ましい実施形態による、複数の圧縮ビデオ・ストリーム１１１〜１１ｎを圧縮解除する、デコーダ構成１０を示す概略ブロック図である。ここで、ｎはゼロより大きい整数である。実際には、ビデオ・ストリーム１１１〜１１ｎのうち１つまたは複数のフォーマットが、その他のビデオ・ストリームのフォーマットと異なっていてもよい。例えば、これらのストリームのうち１つがＭＰＥＧ２ストリームであり、別の１つのストリームがＤＶ２５またはＤＶ５０ストリームであってもよい。各ストリームが具体的にどのフォーマットであるかは、それがアプリオリに分かっている限り、重要ではない。
【０００８】
実際には、本発明の原理によるデコーダ１０は、マイクロプロセッサやマイクロコンピュータなど、以下で詳細に述べるように複数のステージで動作するプログラム・プロセッサ１２を含む。ソフトウェア・デコーダとして動作するようにプログラムされている場合には、プロセッサ１２は、入来ストリームの圧縮フォーマットに応じて複数のデコーダ・ステージ１４１〜１４ｎのうちの適当な１つに圧縮ビデオ・ストリーム１１１〜１１ｎをルーティングする入力ルーティング・ステージ１３を有する。各デコーダ・ステージ１４１〜１４ｎは、それぞれ特定のフォーマットの入来ストリームを圧縮解除する動作を行う。代表的な圧縮フォーマットとしては、標準精細度（ＳＤ）ビデオではＭＰＥＧ２、ＤＶ２５、およびＤＶ５０など、高精細度ビデオではＭＰＥＧ２、Ｈ．２６４−ＭＰＥＧ４  ＡＶＣ、およびＤＶ１００などがある。従って、圧縮ビデオ・ストリーム１１１〜１１ｎの構成に応じて、デコーダ・ステージ１４１〜１４ｎのうちの１つまたは複数が、ＭＰＥＧ２、ＤＶ２５、およびＤＶ５０のＳＤフォーマットのうちの１つ、またはＭＰＥＧ２、Ｈ．２６４−ＭＰＥＧ４  ＡＶＣ、およびＤＶ１００のＨＤフォーマットのうちの１つでビデオを圧縮解除する機能を有する。
【０００９】
特定の圧縮フォーマットのストリーム１１１〜１１ｎのうちの入来する１つのストリームを受信すると、このフォーマットに関連するデコーダ・ステージがこのストリームを復号して、連続した圧縮解除フレームを生じる。デコーダ・ステージから出力される各圧縮解除フレームは、当該圧縮解除フレームを受け入れることができるサイズを有するプレゼンテーション・バッファ（ｐｒｅｓｅｎｔａｔｉｏｎ  ｂｕｆｆｅｒ）・ステージ１８１〜１８ｎの対応する１つに記憶される。実際には、各プレゼンテーション・バッファ・ステージ１８１〜１８ｎは、それぞれ関連するデコーダ・ステージの圧縮解除フォーマットによって決まる特定のサイズのフレームを保持する。通常は、各プレゼンテーション・バッファ・ステージ１８１〜１８ｎは、以下の標準サイズのうちの１つを有する。
ＮＴＳＣ（７２０×４８０）
ＰＡＬ（７２０×５７６）
１０８０ｉ（１９２０×１０８０）
７２０ｐ（１２８０×７２０）
圧縮解除ＳＤフレームは、通常は、ＮＴＳＣフォーマットまたはＰＡＬフォーマットの何れかに準拠する。圧縮解除ＨＤフレームは、そのサイズに応じて、１０８０ｉ  ＨＤフレームまたは７２０ｐ  ＨＤフレームに対応できるバッファ・ステージに記憶される。一部のＭＰＥＧ２ビデオ・フレームでは、復号されたフレーム画像がプレゼンテーション・バッファ・ステージのサイズに合致しないこともあるが、その場合には、このフレームにクリッピングまたはクロッピング（ｃｒｏｐｐｉｎｇ）を施す。例えば、７２０×５１２／ＭＰＥＧ２フレームの場合には、３２本のラインをクリッピングした後で、プレゼンテーション・バッファ・ステージに送る。
【００１０】
スケーラ２０は、各プレゼンテーション・バッファ・ステージ１８１〜１８ｎから読み取ったフレームをスケーリングし、ビデオ表示レンダラ（ｒｅｎｄｅｒｅｒ）２２に関連した所要の色空間変換も実行する。例えば、ビデオ表示レンダラ２２の入力フレーム・サイズが１０８０ｉ  ＨＤフレームに関連する１９２０×１０８０ピクセルである場合には、スケーラ２０は全てのフレームをこのサイズにスケーリングする。１９２０×１０８０ピクセルより小さなフレームは、スケーラ２０によってアップ・コンバートされる。逆に、ビデオ表示レンダラ２２の入力フレーム・サイズが７２０×４８０ピクセルである場合には、スケーラ２０はそれよりサイズの大きなフレームをダウン・コンバートする。
【００１１】
図１のデコーダ構成１０は、時間的並列処理を可能にすることで、効率が向上する。ソフトウェア型のデコーダ構成では、圧縮ビデオ・ストリームを読み取る際に、ディスク・アクセスを行うのに時間が費やされる可能性がある。さらに、圧縮解除出力ストリームのフレームを書き込む際には、通常表示ハードウェアへのバス転送を行うのに時間が費やされる。このような入出力（Ｉ／Ｏ）タスクの完了を待機していては、処理サイクルを効率的に使用することにならない。本発明の原理によるデコーダ構成１０では、プレゼンテーション・バッファ１８１〜１８ｎを利用して、スケーリングおよび色空間変換を実行するスケーラ２０からデコーダ・ステージ１４１〜１４ｎを切り離している。フレーム（Ｎ）が復号され、プレゼンテーション・バッファに記憶された後で、スケーラ２０がこの圧縮解除されたフレーム（Ｎ）を出力のためにフォーマットする間に、デコーダ・ステージは、次のフレーム（Ｎ＋１）を復号することができる。ロック・セマフォを設けて各プレゼンテーション・バッファ・ステージを保護し、一方のスレッドが他方のスレッドをオーバーランすることを防止する。
【００１２】
上述のように、デコーダ構成１０は、通常は直列であるが必ずしも直列であるとは限らない複数のストリーム１１１〜１１ｎを復号するソフトウェア・プログラムを実行するプロセッサ１２を利用する。図１では、復号タスク専用としてプロセッサ１２を描写しているが、プロセッサは、復号以外の動作を行うこともできる。図１には明示はしていないが、プロセッサ１２は、大規模システム内でその他のプロセッサとネットワーク接続されているときには、利用可能なその他のプロセッサの数を検知することもできる。プロセッサ１２以外の別のプロセッサが利用可能になった場合には、自動的に空間的並列処理を行うことができるようになる。ほとんどのビデオ圧縮アルゴリズムでは、個々のフレームを、マクロブロックと呼ばれるさらに小さな連続したサブピクチャ領域を用いて処理する。マクロブロックの総数は、複数の実行スレッドを生成することにより、利用可能なプロセッサの間で分配することができる。各プロセッサのブロック数が復号を必要とするブロックの総数より小さい場合には、各フレームを復号するのに必要な時間が短い。この方法を用いるときには、各フレームの終端で各実行スレッドの同期をとり、画像のティアリングを防止する。
【００１３】
ソフトウェア型デコーダ構成１０は、独立型ハードウェア・デコーダと比較していくつかの利点を有する。例えば、新たな圧縮規格が利用可能になったとき、デコーダ構成１０は、ソフトウェアの更新を行うだけでよいので、容易にそれらに対応するように拡張することができる。さらに、個々のサード・パーティ・コーデック構成要素は、それよりも高速または良好な代替物が見つかった場合には、置き換えることができる。さらに、デコーダ構成１０は、ビデオ・フレームの境界で、通常はＮＴＳＣレートでは３３ミリ秒毎、ＰＡＬレートでは４０ミリ秒毎に圧縮タイプを切り替えて、サポートしている全ての圧縮フォーマットでシームレスな復号動作を実現することができる。
【００１４】
以上、様々なフォーマットのビデオ・ストリームを復号するデコーダ構成について説明した。
【図面の簡単な説明】
【００１５】
【図１】本発明の原理の好ましい実施形態によるデコーダ構成を示す概略ブロック図である。
【図１】
2008538457.tif 000003
【国際調査報告】
2008538457.tif 000004
2008538457.tif 000005
2008538457.tif 000006