(57)【要約】  第１の回路、第２の回路および第３の回路を含む装置が開示される。第１の回路は、（ｉ）ビットストリーム信号および（ｉｉ）予測信号に応じて、出力信号および１つまたは複数の動きベクトルを生成するように構成してもよい。第２の回路は、アドレス信号および出力信号に応じて、１つまたは複数の参照データ画素を生成するように構成してもよい。第３の回路は、（ｉ）動きベクトルおよび（ｉｉ）参照データ画素に応じて、予測信号およびアドレス信号を生成するように構成してもよい。
2010504692.tif 000002
【特許請求の範囲】
【請求項１】
（ｉ）ビットストリーム信号および（ｉｉ）予測信号に応じて、出力信号および１つまたは複数の動きベクトルを生成するように構成された第１の回路と、
（ｉ）アドレス信号および（ｉｉ）前記出力信号に応じて、１つまたは複数の参照データ画素を生成するように構成された第２の回路と、
（ｉ）前記動きベクトルおよび（ｉｉ）前記参照データ画素に応じて、前記予測信号および前記アドレス信号を生成するように構成された第３の回路と、を含む装置であって、強度補償と同時に動き補償を提供する装置。
【請求項２】
前記第３の回路が、強度補償回路を含む、請求項１に記載の装置。
【請求項３】
前記第３の回路が、第１の強度補償回路および第２の強度補償回路を含む、請求項１に記載の装置。
【請求項４】
ビットストリーム信号が、圧縮ビットストリームを含む、請求項１に記載の装置。
【請求項５】
前記出力信号が、非圧縮ビデオ信号を含む、請求項１に記載の装置。
【請求項６】
前記第１の回路が、
前記ビットストリーム信号に応じて、（ｉ）前記動きベクトルおよび（ｉｉ）係数信号を生成するように構成されたエントロピー回路と、
前記係数信号に応じてエラー信号を生成するように構成された変換回路と、
（ｉ）前記エラー信号および（ｉｉ）前記予測信号に応じて、前記出力信号を生成するように構成された加算回路と、
をさらに含む、請求項１に記載の装置。
【請求項７】
前記変換回路が、逆量子化および変換回路を含む、請求項６に記載の装置。
【請求項８】
前記変換回路が、動き補償および補間回路を含む、請求項７に記載の装置。
【請求項９】
動き補償を実行するために必要とされるよりも多くの帯域幅を用いることなく強度補償を実行する、請求項１に記載の装置。
【請求項１０】
（ｉ）ビットストリーム信号および（ｉｉ）予測信号に応じて、出力信号および１つまたは複数の動きベクトルを生成するための手段と、
アドレス信号および前記出力信号に応じて、１つまたは複数の参照データ画素を生成するための手段と、
（ｉ）前記動きベクトルおよび（ｉｉ）前記参照データ画素に応じて、前記予測信号および前記アドレス信号を生成するための手段と、を含む装置であって、強度補償と同時に動き補償を提供する装置。
【請求項１１】
強度補償を実行する方法であって、
（Ａ）（ｉ）ビットストリーム信号および（ｉｉ）予測信号に応じて、出力信号および１つまたは複数の動きベクトルを生成するステップと、
（Ｂ）（ｉ）アドレス信号および（ｉｉ）前記出力信号に応じて、１つまたは複数の参照データ画素を生成するステップと、
（Ｃ）（ｉ）前記動きベクトルおよび（ｉｉ）前記参照データ画素に応じて、前記予測信号および前記アドレス信号を生成するステップと、を含み、強度補償と同時に動き補償を提供する方法。
【請求項１２】
ステップ（Ｃ）が、強度補償回路を用いる、請求項１１に記載の方法。
【請求項１３】
ステップ（Ｃ）が、第１の強度補償回路および第２の強度補償回路を用いる、請求項１１に記載の方法。
【請求項１４】
ビットストリーム信号が、圧縮ビットストリームを含む、請求項１１に記載の方法。
【請求項１５】
前記出力信号が、非圧縮ビデオ信号を含む、請求項１１に記載の方法。
【請求項１６】
ＶＣ１システムにおいて実現される、請求項１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、デジタルビデオに関し、特に、低減された帯域幅の高性能ＶＣ１強度補償を実行するための方法および／または装置に関する。
【背景技術】
【０００２】
ＶＣ１ビデオ規格（すなわち、ＳＭＰＴＥ４２１Ｍによって定義される）には、動き補償が行われる前の、フレームに対する強度補償が含まれる。強度補償は、適所で行われるように定義される（すなわち、同じメモリバッファにストアバックされる）。強度補償を用いた同じフレームを後で参照することによって、前の強度補償の結果に新しい強度補償が適用される。図１は、ＶＣ１インターマクロブロックの復号化用のフローおよび構造が、強度補償なしに実現される従来システムを示す。図２は、強度補償を追加した従来システムを示す。
【０００３】
強度補償用の従来の一手法は、ＶＣ１参照ソフトウェアによって提供される。先行する強度補償（すなわち、乗算、加算、スケーリング、クリップ）は、動き補償の前に参照フレーム全体に適用される。典型的には、所定の倍数によってバウンドされた（ｂｏｕｎｄ）コンピュータにおいて実行されるソフトウェア実装（ｉｍｐｌｅｍｅｎｔａｔｉｏｎ）において、乗算演算の全体数は、動き補償入力データが補間用の追加画素を含むので、低減される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
かかるシステムの欠点には、強度補償中には、他のタスクを同時に実行できないことなどの問題が含まれる。かかる実装は、ハードウェア実装が用いられる場合には、専用の資源を浪費する。強度補償の帯域幅（読み出しおよび書き込み）はまた、全体的なメモリ帯域幅を増加させる。
【０００５】
強度補償と同時に動き補償を行うことを可能にするリアルタイムの強度補償システムを実現することが望ましいであろう。
【課題を解決するための手段】
【０００６】
本発明は、第１の回路、第２の回路および第３の回路を含む装置に関する。第１の回路は、（ｉ）ビットストリーム信号および（ｉｉ）予測信号に応じて、出力信号および１つまたは複数の動きベクトルを生成するように構成してもよい。第２の回路は、アドレス信号および出力信号に応じて、１つまたは複数の参照データ画素を生成するように構成してもよい。第３の回路は、（ｉ）動きベクトルおよび（ｉｉ）参照データ画素に応じて、予測信号およびアドレス信号を生成するように構成してもよい。本装置は、一般に、動き補償および強度補償を同時に提供するように構成される。
【０００７】
本発明の目的、特徴および利点には、（ｉ）ＶＣ１システムにおいて有用であり、（ｉｉ）強度補償が別個のステップとして実行されるのではなく、より正確に言えば、動き補償メモリ読み出し中に実行されるのでメモリ帯域幅を節約し（例えば、強度補償用に必要とされる追加帯域幅はゼロである）、および／または（ｉｉｉ）強度補償と同時に動き補償を行えるようにすることによって、時間を節約（例えば、効率の改善および対応する領域の節約）することを可能にする強度補償システムを提供することが含まれる。
【０００８】
本発明の、これらおよび他の目的、特徴および利点は、次の詳細な説明ならびに添付の特許請求の範囲および図面から明らかになろう。
【図面の簡単な説明】
【０００９】
【図１】強度補償なしにＶＣ１インターマクロブロックを復号化するための従来システムのブロック図である。
【図２】強度補償を伴う従来システムのブロック図である。
【図３】本発明を組み込んだシステムのブロック図である。
【図４】強度補償を用いる本発明の実施形態のブロック図である。
【図５】単一画素の強度補償用のフローおよび構造を示す図である。
【図６】いくつかの画素用の強度補償を示す図である。
【発明を実施するための形態】
【００１０】
図３を参照すると、本発明を組み込んだシステム５０のブロック図が示されている。システム（または回路）５０は、ビデオトランスコーダとして実現してもよい。ビデオトランスコーダ５０には、一般に、モジュール（または回路）５２およびメモリ５４が含まれる。モジュール５２には、一般に、プロセッサ（または回路）５６およびプロセッサ（または回路）５８が含まれる。プロセッサ５８は、プロセッサモジュール５６およびメモリ５４に直接結合してもよい。メモリ５４は、モジュール５２内、あるいはモジュール５２の外部に実現してもよい。信号（例えばＩＮ）は、プロセッサモジュール５８が受信してもよい。信号ＩＮは、非圧縮デジタルビットストリームであってもよい。信号（例えばＯＵＴ）は、プロセッサモジュール５８によって供給してもよい。信号ＯＵＴは、非圧縮ビデオ信号であってもよい。
【００１１】
プロセッサモジュール５６は、ＳＰＡＲＣプロセッサとして実現してもよい。プロセッサ５６は、復号化動作および符号化動作の一部をソフトウェアで実行するように動作可能であってもよい。プロセッサ５６はまた、プロセッサモジュール５８を制御するように動作可能であってもよい。ＳＰＡＲＣプロセッサが示されているが、特定用途の基準を満たす他のタイプのプロセッサを実現してもよい。
【００１２】
プロセッサモジュール５８は、ビデオデジタル信号プロセッサ（ＶＤＳＰ）として実現してもよい。ＶＤＳＰモジュール５８は、復号化動作の一部および符号化動作の一部をハードウェアで実現するように動作可能であってもよい。ＶＤＳＰモジュール５８は、プロセッサ５６によって制御してもよい。
【００１３】
メモリ５４は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）として実現してもよい。メモリ５４は、システム５０の復号化動作および符号化動作によって消費および生成される情報を記憶またはバッファするように動作可能であってもよい。一例において、メモリ５４は、ダブルデータレート（ＤＤＲ）メモリとして実現してもよい。しかしながら、特定用途の基準を満たす他のメモリ技術を実現してもよい。
【００１４】
図４を参照すると、本発明の好ましい実施形態に従って、システム１００のブロック図が示されている。システム１００は、一般に、強度補償を提供する。システム１００は、典型的にはプロセッサ５８内で動作する。図３の信号ＩＮは、信号（例えばＢＩＴＳＴＲＥＡＭ）として示されている。図３の信号ＯＵＴは、信号（例えばＶＩＤＥＯ＿ＯＵＴ）として示されている。システム１００には、一般に、ブロック（または回路）１０２、ブロック（または回路）１０４、ブロック（または回路）１０６が含まれる。回路１０２には、一般に、ブロック（または回路）１０８、ブロック（または回路）１１０およびブロック（または回路）１１２が含まれる。回路１０６には、一般に、ブロック（または回路）１１４、ブロック（または回路）１１６およびブロック（または回路）１１８が含まれる。ブロック１０８は、エントロピー復号化回路として実現してもよい。ブロック１１０は、逆量子化および変換回路として実現してもよい。ブロック１１２は、加算回路として実現してもよい。ブロック１１８は、復号化ピクチャバッファ回路として実現してもよい。ブロック１１４は、強度補償回路として実現してもよい。ブロック１１６もまた、強度補償回路として実現してもよい。ブロック１０４は、動き補償および補間回路として実現してもよい。
【００１５】
回路１０８は、信号ＢＩＴＳＴＲＥＡＭを受信可能な入力部１２０、信号（例えばＣＯＥＦＦ）を供給可能な出力部１２２、および信号（例えばＭＯＴＩＯＮ＿ＶＥＣＴＯＲＳ）を供給可能な出力部１２４を有してもよい。ブロック１１０は、信号ＣＯＥＦＦを受信可能な入力部１２６、および信号（例えばＥＲＲＯＲ）を供給可能な出力部１２８を有してもよい。信号ＣＯＥＦＦは、係数信号であってもよい。加算ブロック１１２は、信号ＥＲＲＯＲを受信可能な入力部１３０、信号（例えばＰＲＥＤＩＣＴＯＲ）を受信可能な入力部１３２、および信号ＶＩＤＥＯ＿ＯＵＴを供給可能な出力部１３４を有してもよい。ブロック１１８は、信号ＶＩＤＥＯ＿ＯＵＴを受信可能な入力部１３６、信号（例えばＡＤＤＲＥＳＳ）を受信可能な入力部１５６、および信号（例えばＩＮＴ１）を供給可能な出力部１３８を有してもよい。ブロック１１６は、信号ＩＮＴ１を受信可能な入力部１４０、および信号（例えばＩＮＴ２）を供給可能な出力部１４２を有してもよい。回路１１４は、信号ＩＮＴ２を受信可能な入力部１４４、および信号（例えばＲＥＦ＿ＤＡＴＡ＿ＰＩＸＥＬＳ）を供給可能な出力部１４６を有してもよい。信号ＩＮＴ１およびＩＮＴ２は、中間信号であってもよい。ブロック１０４は、信号ＲＥＦ＿ＤＡＴＡ＿ＰＩＸＥＬＳを受信可能な入力部１４８、信号ＭＯＴＩＯＮ＿ＶＥＣＴＯＲＳを受信可能な入力部１５０、信号ＡＤＤＲＥＳＳを供給可能な出力部１５４、および信号ＰＲＥＤＩＣＴＯＲを供給可能な出力部１５２を有してもよい。
【００１６】
動き補償ブロック１０４は、通常、入力部１５０で受信された動きベクトルに応じて、信号ＡＤＤＲＥＳＳを生成する。信号ＡＤＤＲＥＳＳには、復号化ピクチャバッファ１１８からデータの画素矩形を読み出すために必要な情報が含まれる。一例において、信号ＡＤＤＲＥＳＳには、ベースアドレス、幅、高さおよび画像ピッチ（例えば、２つの垂直に隣接する画素間の、バイトでの距離）が含まれる。あるいは、信号ＡＤＤＲＥＳＳは、一緒になった場合に動き補償用に用いられる画素矩形を記述する、メモリワードまたは画素に対応するアドレスのストリームであってもよい。
【００１７】
リアルタイムのハードウェア実装に関し、回路１００を用いて、強度補償帯域幅を節約してもよい。また、回路１００によって、強度補償と同時に動き補償を行うことができるようにしてもよいが、これは、動き補償ブロック１０４に供給される入力データに対して、フロントエンドの強度補償スケーリング動作を用いることによって行われる。一般に、強度補償の１つまたは２つの独立した段階１１４および１１６が、必要になる可能性がある。ある実装において、強度補償の単一の段階（例えば回路１１４）を実現してもよい。他の実装では、強度補償回路１１４および１１６を組み合わせてもよい。
【００１８】
図５を参照すると、単一の画素に対して動作する強度補償回路１１６を示す図が示されている。強度補償回路１１６には、一般に、ブロック（または回路）１８０、ブロック（または回路）１８２、ブロック（または回路）１８４およびブロック（または回路）１８６が含まれる。ブロック１８０およびブロック１８４は、乗算回路として実現してもよい。ブロック１８２は、加算回路として実現してもよい。ブロック１８０は、信号ＩＮＴ１を信号（例えばＳＣＡＬＥ）によって乗算してもよい。ブロック１８２は、ブロック１８０から受信された結果に信号（例えばＯＦＦＳＥＴ）を加算してもよい。ブロック１８４は、ブロックから受信された結果を信号（例えば１／６４）によって乗算してもよい。回路１８６は、クリップ回路として実現してもよい。クリップ回路は、ブロック１８４から受信された信号の振幅を一定の量に制限してもよい。図示の例において、一定の量は、０〜２５５の間であってもよい。次に、クリップ回路は、出力信号ＩＮＴ２を供給する。
【００１９】
強度補償回路１１６は、必要に応じて並列に複製してもよい（図６に関連してより詳細に説明する）。並列構成を用いて、データレートを低減せずに所望の処理を提供してもよい。ハードウェア実装において、強度補償された画素は、典型的には、参照パッドバッファ１１８に接続されたメモリバスを介して読み出されたパケット内に収まるように圧縮する必要がある。所望のバス幅を提供するために、強度補償ブロック１１６は、バスの帯域幅と一致するように複製してもよい。好ましい実装において、かかるバスは、通常、６４ビットまたは８画素である。かかる例において、強度補償ユニット１１６は、２つの強度補償段階のそれぞれに対して８回複製してもよい。８画素の例を説明したが、特定の実装の設計基準を満たす他の画素幅を実現してもよい。
【００２０】
信号ＳＣＡＬＥおよび信号ＯＦＦＳＥＴは、ＶＣ１ピクチャビットストリームの構文要素ＬＵＭＳＣＡＬＥおよびＬＵＭＳＨＩＦＴから導き出すことができる数である。要素ＬＵＭＳＣＡＬＥおよびＬＵＭＳＨＩＦＴは、典型的には６ビット値として表わされる。要素ＬＵＭＳＣＡＬＥは、典型的には、０〜６３の範囲の符号なしの値である。要素ＬＵＭＳＨＩＦＴは、典型的には、−３２〜３１の範囲の符号付きの値である。次のスクリプトは、強度補償回路１１６の動作例を説明している。
【００２１】
ｉｆ（ＬＵＭＳＣＡＬＥ＝＝０）
Ｓｃａｌｅ＝−６４
ＯＦＦＳＥＴ＝２５５＊６４−ＬＵＭＳＨＩＦＴ＊２＊６４
ｅｌｓｅ
ＳＣＡＬＥ＝ＬＵＭＳＣＡＬＥ＋３２
ＯＦＦＳＥＴ＝ＬＵＭＳＨＩＦＴ＊６４
ｅｎｄｉｆ
ｏｕｔ＝（Ｓｃａｌｅ＊ｉｎ＋Ｏｆｆｓｅｔ＋３２）＞＞６
【００２２】
値１／６４は、別の信号Ａで乗算されると、出力信号Ａ／６４を生成し、最も近い整数に丸められる。これは、２の累乗なので、これはまた同様な意味合いで（Ａ＋３２）＞＞６であり、ここで＞＞６は、６ビットの２進演算右シフトを示す。本発明は、通常、２つの異なるピクチャから抽出されたＬＵＭＳＣＡＬＥおよびＬＵＭＳＨＩＦＴの２つの異なるセットに基づいて、ほとんど（または全ての）の画素に対して実行可能な強度補償動作を提供する。
【００２３】
図６を参照すると、いくつかのビットに対して動作する多くの強度回路１１６ａ−１１６ｎの動作を示す図が示されている。強度補償回路１１６ａ−１１６ｎのそれぞれには、一般に、図５で説明される個々の要素が含まれる。第１の画素（例えばＩＮＴ１ａ）は、強度補償回路１１６ａに供給されるように示されている。強度補償回路１１６ｂは、一般に、第２の画素（例えばＩＮＴ１ｂ）を受信する。同様に、強度補償回路１１６ｎは、一般に、最後の画素（例えばＩＮＴ１ｎ）を受信する。強度補償回路１１６ａ−１１６ｎは、通常、多くの出力（例えばＩＮＴ２ａ−ＩＮＴ２ｎ）の１つでそれぞれの画素を供給する。
【００２４】
代替例において、強度補償回路１１４および１１６は、動き補償ユニット（例えばプロセッサ５６内における）のフロントエンドに実現してもよい。別の例において、強度補償回路１１４および１１６は、メモリ５４の読み出し論理部に含まれてよい。メモリ５４はまた、論理的に同様の実装を実現する例において、メモリサブシステムとして実現してもよい。復号器を示したが、同様のプロセスを実行して、ＶＣ１符号器（ほぼ同一の動作が実行される）の性能を改善してもよい。
【００２５】
本発明の使用を検出するのは、かなり簡単であり得る。一般に、公知のＶＣ１ビットストリームを復号化するプロセッサ用の最小帯域幅は、公知のパラメータである。強度補償付きおよび強度補償なしのビットストリームを生成してもよい。本発明は、強度補償付きおよび強度補償なしのストリーム用のメモリ帯域幅使用を増加させずに実行可能である。デバイスの公表されたデータシートからメモリ構成を観察することによって、最大システム帯域幅を計算してもよい。かかる計算は、本発明の使用を推測するのに十分なはずである。試験されるデバイスの帯域幅使用は、上記の２つのビットストリームで測定可能であるためである。
【００２６】
本発明の様々な信号は、一般に、「オン」（例えばデジタルハイもしくは１）、または「オフ」（例えばデジタルローもしくは０）である。しかしながら、信号のオン（例えばアサートされる）およびオフ（例えばデアサートされる）状態の特定の極性を、それ相応に調整して（例えば、逆にして）、特定の実装の設計基準を満たしてもよい。
【００２７】
さらに、インバータを追加して、信号の特定の極性を変えてもよい。本明細書で用いるように、「同時に」という用語は、ある共通期間を共有するイベントを示すように意味されるが、この用語は、同じ時点で始まるか、同じ時点で終了するか、または同じ継続期間を有するイベントに限定されるようには意味されない。
【００２８】
当業者には明らかであろうが、回路１００によって表わされるシステムは、本開示の教示に従って、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせで実現してもよい。
【００２９】
本発明の好ましい実施形態に関連して、本発明を特に図示および説明したが、本発明の範囲から逸脱することなく、形態および詳細の様々な変更を行い得ることが、当業者には理解されよう。
【図１】
2010504692.tif 000003
【図２】
2010504692.tif 000004
【図３】
2010504692.tif 000005
【図４】
2010504692.tif 000006
【図５】
2010504692.tif 000007
【図６】
2010504692.tif 000008
【国際調査報告】
2010504692.tif 000009