(57)【特許請求の範囲】
【請求項１】
ＹＵＶビデオデータを圧縮及び解凍するための装置であって、
ビデオピクセルデータを１つ又はそれよりも多くのビデオモジュールと通信するように構成されたビデオメモリと、
信号バスを通じて前記ビデオメモリに連結され、かつ
量子化器を用いて輝度及び色差ＹＵＶ入力ビデオデータブロックをピクセル当たりのビット数が低減された圧縮ビデオデータ内の圧縮されたブロックへ圧縮し、
ブロック圧縮が、各ブロックの外側のピクセルデータを利用せずに実行され、
前記圧縮ビデオデータを前記ビデオメモリ内に記憶する、
ように構成されたビデオ圧縮モジュールと、
いずれかの順序で圧縮ビデオデータのブロックを検索するように構成され、前記ビデオメモリに記憶された該圧縮ビデオデータを前記ビデオ圧縮モジュールによって受け取られて圧縮された元のビデオデータと同じフォーマットを有し、それに近似する解凍ビデオデータへ解凍するように構成され、かつ該解凍ビデオデータを出力するように構成されたビデオ解凍モジュールと、
を含み、
前記装置は、前記ブロックの中央で選択された最初の基準ピクセルで始まり、必要に応じて並列に処理することができる左右の予測方向を定めるピクセル予測を圧縮中に実行するように構成されており、
前記基準ピクセルは、左右の予測方向の両方に対して同じであり続けることを特徴とする装置。
【請求項２】
前記圧縮は、ブロック圧縮の程度を制御する全体圧縮比Ｒに従って実行されることを特徴とする請求項１に記載の装置。
【請求項３】
前記全体圧縮比Ｒは、レシオメトリックに又は得られるブロックに含まれるビット数によって表すことができることを特徴とする請求項２に記載の装置。
【請求項４】
前記装置は、全体圧縮比Ｒを維持しながらｌｕｍａ及びｃｈｒｏｍａに対して同じか又は異なる圧縮レベルを選択するように構成されている、請求項２に記載の装置。
【請求項５】
ｃｈｒｏｍａが高い複雑性レベルを持たない限り、前記圧縮の前記程度は、ｃｈｒｏｍａにおけるビット使用を最小にしてｌｕｍａにおけるビット使用を最大にするように選択されることを特徴とする請求項４に記載の装置。
【請求項６】
前記装置は、前記圧縮の前に圧縮ブロックのテクスチャ複雑性を推定するように構成されている、請求項１に記載の装置。
【請求項７】
前記圧縮されたブロック内でｌｕｍａ及びｃｈｒｏｍａに対して割り当てられる前記ビット数は、テクスチャ複雑性を推定することに応じて判断されることを特徴とする請求項６に記載の装置。
【請求項８】
前記装置は、前記圧縮されたブロックに対して固定サイズを維持するよう前記圧縮ビデオデータに埋め込みビットを埋め込むように構成されている、請求項１に記載の装置。
【請求項９】
所定のブロックに対するｌｕｍａ圧縮は、その同じブロックのｃｈｒｏｍａ圧縮から情報を利用することを特徴とする請求項１に記載の装置。
【請求項１０】
前記ピクセル予測は、以前のピクセル値に基づいて現在のピクセル値を予測することを特徴とする請求項１に記載の装置。
【請求項１１】
前記ピクセル予測の間、前記２つの方向の前記予測は独立しており、それによって左右の方向に対する予測処理は、並列に実行され、必要とされる処理時間は、半分に短縮されることになることを特徴とする請求項１に記載の装置。
【請求項１２】
前記装置は、所望の構成に従ってサブブロック分割するように構成されている、請求項１に記載の装置。
【請求項１３】
前記装置は、発生し得るサブブロック構成の少なくとも一部分に関するサブブロックコスト値を計算し、閾値又は利用可能なビット数を超えるコストを有するサブブロック構成を廃棄するように構成されている、請求項１１に記載の装置。
【請求項１４】
前記入力ビデオデータは、画像センサから受け取られることを特徴とする請求項１に記載の装置。
【請求項１５】
前記装置は、ビデオ又はスチールカメラ内への統合のために構成されていることを特徴とする請求項１に記載の装置。
【請求項１６】
前記入力ビデオデータは、形式Ｙ、Ｃｒ、及びＣｂで輝度及び色差ＹＵＶ情報を有するフォーマットを含むことを特徴とする請求項１に記載の装置。
【請求項１７】
前記圧縮及び前記解凍は、ビデオデータを符号化する時にバス帯域幅及びビデオメモリ要件を低減するよう実行されることを特徴とする請求項１に記載の装置。
【請求項１８】
ビデオ符号化の前にビデオデータを圧縮及び解凍し、解凍の前に圧縮ビデオデータをネットワーク上で送信し、又は解凍の前にビデオデータを媒体デバイスに記憶するように構成されることを特徴とする請求項１に記載の装置。
【請求項１９】
前記ビデオ圧縮は、非線形量子化を利用して実行され、量子化ステップサイズの異なる精度が、該非線形量子化を実行する時に利用される、
ことを特徴とする請求項１に記載の装置。
【請求項２０】
ＹＵＶビデオデータを符号化するためのビデオ符号化装置であって、
ビデオピクセルデータを１つ又はそれよりも多くのビデオモジュールと通信するように構成された信号バスを用いて構成されたビデオメモリと、
前記信号バスを通じて前記ビデオメモリに連結され、かつ
各ブロックの外側のピクセルからピクセルデータを利用せずに、量子化器を用いて輝度及び色差ＹＵＶ入力ビデオデータをピクセル当たりのビット数が低減された圧縮ビデオデータへと圧縮し、
前記圧縮ビデオデータを前記ビデオメモリ内に記憶する、
ように構成されたビデオ圧縮モジュールと、
前記ビデオメモリに記憶された前記圧縮ビデオデータを検索し、それを前記ビデオ圧縮モジュールによって受け取られて圧縮された元のビデオデータと同じフォーマットを有し、それに近似する解凍ビデオデータへ解凍するように構成されたビデオ解凍モジュールと、
どのビデオデータブロックが前記ビデオ解凍モジュールによって検索されるかを不連続に選択し、かつ該解凍モジュールから出力される前記解凍ビデオデータを符号化するように構成された符号化モジュールと、
を含み、
前記装置は、前記ブロックの中央で選択された最初の基準ピクセルで始まり、必要に応じて並列に処理することができる左右の予測方向を定めるピクセル予測を圧縮中に実行するように構成されており、
前記基準ピクセルは、左右の予測方向の両方に対して同じであり続ける、ことを特徴とする装置。
【請求項２１】
ＹＵＶビデオデータを圧縮及び解凍する方法であって、
ビデオデータの各ブロックに対するｌｕｍａ及び／又はｃｈｒｏｍａのビット数が低減された圧縮ビデオデータブロックへ量子化器を用いて入力ビデオデータを圧縮比Ｒまで圧縮し、該入力ビデオデータの該圧縮が、圧縮される該ブロックの外側のピクセルからデータを利用せずに実行され、
前記圧縮ビデオデータをビデオメモリ内に記憶し、
前記ビデオメモリからいずれかの所望の順序で検索された前記ビデオデータブロックのあらゆるものに対して前記圧縮ビデオデータを解凍し、解凍ビデオデータ出力を発生させ、
前記ブロックの中央で選択された最初の基準ピクセルで始まり、必要に応じて並列に処理することができる左右の予測方向を定めるピクセル予測を圧縮中に実行することを含み、
前記基準ピクセルは、左右の予測方向の両方に対して同じであり続けることを特徴とする方法。
【請求項２２】
前記メモリからビデオデータブロックを不連続に選択し、かつ前記解凍ビデオデータを受け取ることに応答して前記ビデオデータを符号化することを更に含む請求項２１に記載の方法。
【請求項２３】
ＹＵＶビデオデータを圧縮及び解凍する方法であって、
ビデオデータの各ブロックに対してｌｕｍａ及び／又はｃｈｒｏｍａのビット数が低減された圧縮ビデオデータブロックへ量子化器を用いて入力ビデオデータを圧縮比Ｒまで圧縮し、
前記圧縮が、圧縮される前記ブロックの外側のピクセルからデータを利用せずに前記ビデオデータに対して実行され、
前記圧縮が実行される所定のブロック内の各サブブロックに対して線形又は非線形のいずれかの量子化を選択し、
前記圧縮ビデオデータをビデオメモリ内に記憶し、
前記ビデオメモリからいずれかの所望の順序で検索された前記ビデオデータブロックのあらゆるものに対して前記圧縮ビデオデータを解凍し、解凍ビデオデータ出力を発生させ、
前記ブロックの中央で選択された最初の基準ピクセルで始まり、必要に応じて並列に処理することができる左右の予測方向を定めるピクセル予測を圧縮中に実行することを含み、
前記基準ピクセルは、左右の予測方向の両方に対して同じであり続けることを特徴とすることを含む方法。
【請求項２４】
ＹＵＶビデオデータを圧縮及び解凍する方法であって、
ビデオデータの各ブロックに対してｌｕｍａ及び／又はｃｈｒｏｍａのビット数が低減された圧縮ビデオデータブロックへ量子化器を用いて入力ビデオデータを圧縮比Ｒまで圧縮し、
前記圧縮が、圧縮される前記ブロックの外側からピクセルデータを利用せずに前記ビデオデータブロックに対して実行され、
ｌｕｍａテクスチャ複雑性及びｃｈｒｏｍａテクスチャ複雑性を推定し、
全体圧縮比Ｒを維持しながらｌｕｍａ及びｃｈｒｏｍａに対して個々の圧縮レベルを選択し、
ブロック特性に応じて前記圧縮が実行される所定のブロック内の各サブブロックに対して線形又は非線形のいずれかの量子化を選択し、該圧縮中に、前記ｌｕｍａ圧縮の処理が、その同じブロックに対する前記ｃｈｒｏｍａ圧縮の処理から情報を利用し、
前記圧縮ビデオデータをビデオメモリ内に記憶し、
前記ビデオメモリから前記ビデオデータのブロックをいずれかの所望の順序で、かつ前記圧縮ビデオデータを前記記憶することに続くいずれかの時点で検索し、
検索されたブロックに対して前記圧縮ビデオデータを解凍し、解凍ビデオデータ出力を発生させ、
前記ブロックの中央で選択された最初の基準ピクセルで始まり、必要に応じて並列に処理することができる左右の予測方向を定めるピクセル予測を圧縮中に実行することを含み、
前記基準ピクセルは、左右の予測方向の両方に対して同じであり続けることを特徴とすることを含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本出願は、全部が本明細書に引用によって組み込まれている２００７年１２月１９日出願の米国特許仮出願出願番号第６１／０１５、１７４号からの優先権を請求する。
連邦政府補助研究又は開発に関する陳述
該当せず。
コンパクトディスク上に提出される資料の引用による組込み
該当せず。
著作権保護対象資料の告示
本特許文書内の資料の一部分は、米国及び他国の著作権の下において著作権保護の対象である。著作権の所有者は、米国特許庁の利用可能な公開ファイル又は記録に現れる特許文書又は特許開示のいかなる者によるファクシミリ再生にも異存はないが、他の場合には、それがどのようなことであれ、全ての著作権の著作権を保有する。上述のことにより、著作権所有者は、米国連邦規制法第３７章第１．１４項に従う著作権所有者の著作権を制限なしに含む特許文書を内密に保持する著作権所有者の著作権のうちのいかなるものも放棄しない。
本発明は、一般的にビデオ処理に関し、より具体的には、符号化又は出力の前のビデオメモリ内のビデオの圧縮及び解凍に関する。
【背景技術】
【０００２】
一般的なビデオのアーキテクチャは、一般的に外部バスを通じてアクセスされるビデオフレームメモリ内にビデオデータを記憶する前にビデオデータを前処理するように実施される。この後、ビデオデータは、符号化処理中に及び／又は出力に向けてビデオメモリから検索される。バスを通じての符号化器とビデオメモリとの間データ転送量は、非常に大きい場合があり、大量のビデオメモリへの要求を招き、この結果、高電力消費を引き起こす。
【０００３】
図１は、従来のビデオカメラ又はスチール写真カメラのアーキテクチャである。ＣＣＤ又はＣＭＯＳセンサのような入力デバイスによって検索された入力ビデオは、次に、前処理された後に外部メモリに記憶される。一般的に、前処理は、ノイズ低減、及びＲＧＢ（赤色、緑色、青色）からＹＵＶ（１つの輝度Ｙ、２つの色差Ｕ＋Ｖ）へのビデオデータ変換を含む。この後、ビデオ符号化器又は表示デバイスのような他の処理デバイスが、ビデオデータをビデオメモリから読み取る。
【０００４】
一般的にビデオデータ量は大きいので、外部バスを通じたビデオデータ転送に必要なバス帯域幅は著しく高い。特にＨＤ（高精細）ビデオ用途に関しては、必要なバス帯域幅は莫大であり、帯域幅コストのみならず電力消費もが非常に高くなり、廉価な画像／映像システムを達成することが困難になる。
ビデオカメラシステムにおける別の技術的難問は、必要なメモリサイズに関する。殆どのビデオデバイスは、Ｓｏｃ（システムオンチップ）で達成されている。一般的に、外部メモリ（ＳＤＲＡＭ等）の原価は、一般的に他のデバイスよりも高い。従って、必要なメモリサイズの低減は、全体のシステム原価を低減することを可能にする。
【０００５】
【特許文献１】米国特許仮出願出願番号第６１／０１５、１７４号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従って、特にビデオ符号化処理の前に実行される場合に、ビデオデータストリームに必要な記憶帯域幅及びメモリを低減する方法への要求が存在する。本発明は、この要求並びに他の要求を満たし、従来の解決法の限界を克服するものである。
【課題を解決するための手段】
【０００７】
「ＹＵＶビデオデータ圧縮／解凍方法」を利用する視覚的無損失ビデオデータ圧縮のための装置及び方法を説明する。簡略化のために、本明細書ではＹＵＶビデオという用語を利用することにするが、ＹＣｒＣｂビデオ又は他の同様の符号を本出願に説明する教示内容及び特許請求の範囲に均等に適用することができることを認めるべきである。ビデオ入力は、各フレームを各成分において所定のピクセル数（例えば、ＹにおいてＮ個のピクセル、Ｕ、ＶにおいてＭ個のピクセル）を有する圧縮されたブロックセットに分割することによって圧縮される。圧縮ブロックは他の圧縮ブロックと重複せず、従って、他の圧縮ブロックからの情報を参照する必要なしに互いに独立して処理することができ、ビデオデータは、ランダムにアクセスすることができ、これは、ビデオ符号化器による使用に特に適切である。その結果、メモリ内での圧縮ブロックの記憶は、より小さいサイズの圧縮されたブロックという点から、より小さいメモリ記憶領域のみならず、より小さいバス帯域幅しか必要としない。その後、圧縮ビデオデータは、符号化器等により、及び／又はそれ程好ましくはないがディスプレイへの出力に向けて、あらゆる望ましい順序で（例えば、不連続に）メモリから検索されて解凍される。解凍は、データをその元のフォーマットへと復元し、解凍済みデータを利用するデバイス又はアプリケーションは、このデータが過去に圧縮されたことがあることを知る必要がない。
【０００８】
好ましくは、最適なレベル及びモードの圧縮を判断することができるように、複雑性の推定が圧縮の前に実行される。
圧縮中は、前のピクセルに基づいて現状ピクセルを予測するように予測が行われ、次に、サブブロックサイズが決定され、サブブロックが分割される。次に、好ましくは、各サブブロック等において、量子化の種類（例えば、線形又は非線形）に関して決定が行われる。非線形量子化では、本発明の態様は、量子化パラメータ（ＱＰ）における全ての発生し得る値を検索する必要はないＱＰ推定を可能にする。次に、上述の判断に基づいて量子化が実行され、最後に、圧縮データのサブブロックがブロックへと充填される。圧縮中には、本発明の一態様は、最初にｃｈｒｏｍａ圧縮を実行し、ｃｈｒｏｍａ圧縮からの情報が利用可能にされ、ｌｕｍａ圧縮中に利用される。本発明の態様は、ビデオデータの複雑性及び利用可能なビット数に応じた異なるレベルの圧縮の選択を可能にする。圧縮済みのｌｕｍａ及びｃｈｒｏｍａは、最終圧縮されたブロックへと組み合わされる。
量子化の種類及びレベルは、データの複雑性に応じて判断されるので、解凍を受けた圧縮データは、（元のビデオデータと正確に一致はしないが）尚も人間の閲覧者に対しては視覚的に損失がないように見えることになる。従って、本発明の装置及び方法は、低いメモリ要件及び低い帯域幅で作動しながらも、視覚的に損失がないものに並ぶ望ましい品質の出力を生成する。
【０００９】
バス帯域幅及び／又はメモリサイズを低減するという目的は、例として上記に提供したものである。圧縮方法の用途は、そのような特定用途の利益に限定されず、例えば、解凍の前のネットワーク上の圧縮ビデオデータの送信において、又は解凍の前にハードディスク又はメモリなどを用いていずれか他の媒体デバイスに圧縮ビデオデータを記憶するのにビデオデータ圧縮を必要とするあらゆる他の用途において利益をもたらすように適用することができる。
【００１０】
本発明は、以下の説明を含むが、それらに限定されないいくつかの手法で容易に具現化される。
本発明の実施例は、ビデオピクセルデータを１つ又はそれよりも多くのビデオモジュールと通信するように構成されたビデオメモリ装置であり、１つ又はそれよりも多くのビデオモジュールは、（ａ）信号バスを通じてビデオメモリと結合され、（ａ）（ｉ）量子化器を用いて、各ブロックの外側のピクセルからのピクセルデータを利用せずに、輝度及び色差ＹＵＶ入力ビデオデータをピクセル当たりのビット数が低減された圧縮ビデオデータへと圧縮するように構成され、（ａ）（ｉｉ）圧縮ビデオデータをビデオメモリに記憶するように構成されたビデオ圧縮モジュール、及び（ｂ）いずれかの順序で圧縮ビデオデータブロックを検索するように構成され、更に、ビデオ圧縮モジュールが受け取り、圧縮した元のビデオデータと同じフォーマットを有し、それに近似する解凍ビデオデータへとビデオメモリに記憶された圧縮ビデオデータを解凍するように構成されたビデオ解凍モジュールを含み、上記ビデオ解凍モジュールは、解凍ビデオデータを出力するように構成される。
【００１１】
ビデオ装置では、圧縮は、好ましくは、ブロック圧縮の程度を制御する全体圧縮比Ｒに従って実行され、全体圧縮比Ｒは、レシオメトリックに又は得られるブロック内に含まれるビット数によって表すことができる。少なくとも１つの好ましい実施形態では、全体圧縮比Ｒを維持しながら、ｌｕｍａ及びｃｈｒｏｍａに対して同じか又は異なる圧縮レベルが選択される。少なくとも１つの好ましいモードでは、ｃｈｒｏｍａが高い複雑性レベルを持たない限り、圧縮の程度は、ｃｈｒｏｍａにおけるビット使用を最小限にし、ｌｕｍａにおけるビット使用を最大にするように装置によって選択される。
【００１２】
ビデオ装置の少なくとも１つの実施例では、圧縮の前に圧縮ブロックおいてテクスチャの複雑性が推定される。圧縮されたブロック内でｌｕｍａ及びｃｈｒｏｍａに対して割り当てるべきビット数のような各ブロック内のｌｕｍａ及びｃｈｒｏｍａに対する圧縮スペース割り当ては、テクスチャ複雑性を推定する処理に応じて判断される。
少なくとも１つの実施例では、ｌｕｍａ及びｃｈｒｏｍａ情報は、圧縮ビデオデータブロックへと組み合わされ、圧縮されたブロックにおいて固定サイズを維持するために、このブロックには、好ましくは、埋め込みビットが組み込まれる。
【００１３】
装置の少なくとも１つの構成では、所定のブロックにおけるｌｕｍａ圧縮は、その同じブロックにおけるｃｈｒｏｍａ圧縮処理中に判断される情報を利用する。本発明の少なくとも１つのモードでは、ビデオ圧縮は、線形量子化と非線形量子化との組合せのような中で非線形量子化を利用して実行される。好ましい実施例では、非線形量子化を実行する際に、異なる精度の量子化ステップサイズが利用される。
【００１４】
本発明の少なくとも１つのモードでは、圧縮中にピクセル予測が実行される。ピクセル予測は、ブロックの中央で選択される最初の基準ピクセルにおいて始まり、そこから、必要に応じて並列処理することができる左右の予測方向が定められる。中央（又は中央に近い）ピクセルを選択することによって予測が始まり、その後、基準ピクセルは、左右の予測方向の両方に対して同じであり続けることが認められるであろう。ピクセル値の予測は、前のピクセル値に基づいて現在のピクセル値を予測することによって実行され、予測中は、２つの方向の予測は独立しており、それによって左右の方向における予測処理を並列して実行することが可能なり、従って、必要な処理時間が低減する。
【００１５】
少なくとも１つの実施例では、望ましい構成に従ってサブブロック分割が実行される。サブブロック分割を判断するために、まず発生し得るサブブロック構成の少なくとも一部分に対して、サブブロックコスト値が計算され、その後、所定のコスト閾値、及び／又は圧縮されたブロック内で利用可能なビット数を超えるコストを有するサブブロック構成は廃棄される。
本発明の少なくとも１つの実施形態では、装置における入力ビデオデータは、ビデオ又はスチールカメラ、又は他の画像生成デバイス内に一体化することができるような画像センサから受け取られる。入力ビデオデータのフォーマットは、輝度及び色差の両方の情報を含むように構成される。
【００１６】
本発明の少なくとも１つの目的においては、一般的に不連続である（例えば、ブロック番号順ではない）符号化器に固有の方式でメモリから検索されるブロックを符号化する前に実行されるＹＵＶビデオデータ前処理の形態として利用されるような圧縮及び解凍は、帯域幅及び／又はビデオメモリ要件を低減する方向で実行される。代替的又は追加的に、本発明による圧縮及び解凍は、解凍の前にネットワーク上で圧縮ビデオデータを送信する際、又は解凍の前にビデオデータを媒体デバイスに記憶するのに実行することができる。
【００１７】
本発明の一実施形態は、ＹＵＶビデオデータを符号化するためのビデオ符号化装置であり、ビデオ符号化装置は、（ａ）ビデオピクセルデータを１つ又はそれよりも多くのビデオモジュールと通信するように構成されたビデオメモリ、（ｂ）信号バスを通じてビデオメモリと結合され、更に、（ｂ）（ｉ）量子化器を用いて、他のブロックからのデータを参照する必要なしに、輝度及び色差ＹＵＶ入力ビデオデータをピクセル当たりのビット数が低減された圧縮ビデオデータへと圧縮し、（ｂ）（ｉｉ）圧縮ビデオデータをビデオメモリに記憶するように構成されたビデオ圧縮モジュール、（ｃ）ビデオメモリからのあらゆる望ましい順序でのブロック検索に向けて構成され、更に、ビデオ圧縮モジュールが受け取り、圧縮した元のビデオデータと同じフォーマットを有し、それに近似する解凍ビデオデータへの圧縮ビデオデータの解凍に向けて構成されたビデオ解凍モジュール、及び（ｄ）メモリからビデオデータブロックを不連続に選択し、解凍ビデオデータを受け取って符号化する符号化モジュールを含む。
【００１８】
本発明の一実施形態は、ＹＵＶビデオデータを圧縮及び解凍する方法であって、本方法は、（ａ）量子化器を用いて、入力ビデオデータをビデオデータの各ブロックにおけるｌｕｍａ及び／又はｃｈｒｏｍａにおいて低いビット数を有する圧縮ビデオデータブロックへと圧縮比Ｒだけ圧縮する段階を含み、（ｂ）記入力ビデオデータの圧縮が、圧縮対象のブロックの外側のピクセルからのデータを利用せずに実行されることを特徴とし、更に、（ｃ）圧縮ビデオデータをビデオメモリに記憶する段階、及び（ｄ）連続又は不連続な順序で選択されるビデオデータブロックのうちのいずれかにおける圧縮ビデオデータを解凍し、解凍ビデオデータ出力を発生させる段階を含む。実施例では、圧縮及び解凍は、ビデオデータに対する符号化処理と組み合わせて実行され、メモリからの不連続ビデオデータブロックが選択され、本発明により解凍され、符号化に向けて受け取られる。
【００１９】
本発明の一実施形態は、ＹＵＶビデオデータを圧縮及び解凍する方法であって、本方法は、（ａ）量子化器を用いて、入力ビデオデータをビデオデータの各ブロックにおけるｌｕｍａ及び／又はｃｈｒｏｍａにおいて低いビット数を有する圧縮ビデオデータブロックへと圧縮比Ｒだけ圧縮する段階を含み、（ｂ）圧縮が、圧縮対象の各ブロックの外側からのデータを利用せずに、各ビデオブロックに対して実行されることを特徴とし、更に、（ｃ）圧縮が実行される所定のブロック内の各サブブロックに対して、線形又は非線形のいずれかの量子化を選択する段階、（ｄ）圧縮ビデオデータをビデオメモリに記憶する段階、及び（ｅ）ビデオメモリから検索され、いずれかの順序で選択されるビデオデータブロックのうちのいずれかにおける圧縮ビデオデータを解凍し、解凍ビデオデータ出力を発生させる段階を含む。
【００２０】
本発明の一実施形態は、ＹＵＶビデオデータを圧縮及び解凍する方法であって、本方法は、（ａ）量子化器を用いて、入力ビデオデータをビデオデータの各ブロックにおけるｌｕｍａ及び／又はｃｈｒｏｍａにおいて低いビット数を有する圧縮ビデオデータブロックへと圧縮比Ｒだけ圧縮する段階を含み、（ｂ）圧縮が、圧縮対象のブロックの外側のブロックからのピクセルデータを利用せずに、ビデオデータブロックに対して実行されることを特徴とし、更に、（ｃ）ｌｕｍａテクスチャ複雑性及びｃｈｒｏｍａテクスチャ複雑性を推定する段階、（ｄ）全体圧縮比Ｒを維持しながら、ｌｕｍａ及びｃｈｒｏｍａ内で同じか又は異なる圧縮レベルを選択する段階、及び（ｅ）ブロック内で検出される特性に応じて圧縮が実行されることになる所定のブロック内の各サブブロックに対して、線形又は非線形のいずれかの量子化を選択する段階を含み、（ｆ）圧縮中に、ｌｕｍａ圧縮が、その同じブロックにおけるｃｈｒｏｍａ圧縮処理からの情報を利用することを特徴とし、更に、（ｇ）圧縮ビデオデータをビデオメモリに記憶する段階、（ｈ）圧縮ビデオデータを記憶する段階に続くいずれかの時点で、あらゆる望ましい順序でビデオデータのブロックをビデオメモリから検索する段階、及び（ｉ）検索されたブロックにおける圧縮ビデオデータを解凍し、解凍ビデオデータ出力を発生させる段階を含む。
【００２１】
本発明は、本発明の教示内容から逸脱することなく、別々に又はあらゆる望ましい組合せのいずれかで実施することができるいくつかの有益な態様を提供する。
本発明の態様は、ＹＵＶビデオデータブロックを圧縮及び解凍するための装置及び方法を含む。
本発明の別の態様は、各圧縮されたブロックが他の圧縮されたブロックと重複せず、各圧縮されたブロックが、他のブロックからの情報を参照せずに独立して圧縮されることである。
【００２２】
本発明の別の態様は、圧縮後の圧縮済み情報のビット数が、望ましい圧縮比Ｒに一致する目標ビットよりも小さい場合に合計出力ビットが固定されたままになるように、埋め込みビットを用いて合計出力ビットが望ましい数まで拡張されることである。各圧縮ブロックの発生するビットのサイズが固定されるので、あらゆる位置における圧縮されたブロックは、他のブロック内の情報を参照することなくアクセスし、解凍することができる。従って、提案する方法を用いると、ビデオ処理又は符号化に向けて、フレーム内の任意の区域にアクセスする必要がある場合等に、ビデオデータへのアクセス及びビデオ内のランダム位置からのビデオブロックの解凍を直ちに実行することができる。
【００２３】
本発明の別の態様は、ｌｕｍａデータが、ｃｈｒｏｍａ圧縮の結果として判断された情報を用いることによって圧縮されることである。本発明による方法では、ｃｈｒｏｍａが最初に圧縮される。ｃｈｒｏｍａ圧縮の後に、これらの情報のうちの少なくとも一部分は、ｌｕｍａ圧縮に向けての準備の中でｌｕｍａモジュールに転送される。情報ビットは、圧縮の後のあらゆる望ましい時間又はビット数の間保持することができる。ｌｕｍａ圧縮は、圧縮においてこれらの情報を利用する。最後に、圧縮済みのｌｕｍａ及びｃｈｒｏｍａデータは、１つの圧縮されたブロックの中に充填される。データサイズは、目標圧縮比によって指定された範囲に収まることが保証される。
【００２４】
本発明の別の態様は、圧縮の前に、ｌｕｍａ及びｃｈｒｏｍａ圧縮ブロックのテクスチャ複雑性を最初に推定することである。各圧縮モジュール（ｌｕｍａ及びｃｈｒｏｍａ）は、自動的に異なるレベル（又は程度）の圧縮（例えば、弱度、中度、強度）を提供することができる。圧縮の程度は、テクスチャの複雑性に基づいて判断され、次に、ビット数が、圧縮されたブロック内のｌｕｍａ及びｃｈｒｏｍａフィールドに対して割り当てられる。
【００２５】
本発明の別の態様は、ビデオブロックが圧縮される全体の程度を制御する、Ｒによって与えられる全体圧縮比の利用である。Ｒの値は、所定のブロックにおける比（入力ビット数／出力ビット数）として例示される。２という比Ｒは、圧縮されたブロックが、元のデータによって利用されるビット数の半分のビット数を含むことを表している。しかし、圧縮は、いずれかの形式のレシオメトリック指標のようなあらゆる望ましいフォーマットで、又はビデオ出力ブロック当たりの所定のビット数を選択することに関連して表すことができることを認めるべきである。
【００２６】
本発明の別の態様は、全体圧縮比Ｒを固守しながら、Ｙ、Ｕ、及びＶが圧縮される程度を選択することを可能にする。ｃｈｒｏｍａとｌｕｍａの間の異なる圧縮比に基づいてビットを割り当てることができるので、上述のことは、圧縮比が、個々の圧縮ブロックにおけるＹ、Ｕ、及びＶにわたって固定されることを意味しない点に注意すべきである。
本発明の別の態様は、全体圧縮比Ｒを維持しながら、ｌｕｍａとｃｈｒｏｍａとの間で最良の圧縮比を自動的に決定する処理である。一般的には、人間の目は、ｃｈｒｏｍａにおける信号ノイズよりもｌｕｍａにおける信号ノイズに対して感受性が高い。従って、好ましいビット割り当て計画は、ｃｈｒｏｍａにおけるビット使用を最小限に止し、ｌｕｍａにおけるビット使用を最大にする。しかし、ｃｈｒｏｍａが、ある一定のレベルの複雑性を有することが判明した場合、特に非常に複雑であることが判明した場合には、本発明の少なくとも１つの実施形態は、視覚歪みの出現を阻止するために、ｃｈｒｏｍａが、十分なビット数を用いることを可能にする。ビット使用のこの最大化及び最小化は、ｌｕｍａ及びｃｈｒｏｍａのテクスチャ複雑性に対して検索される情報に応じて判断される。
【００２７】
本発明の別の態様は、異なるレベルの圧縮を選択する。例えば、低、中、及び高圧縮品質モードを定めることができる。低品質モードは、高圧縮比を利用することに基づくのに対して、高品質モードは、低圧縮比を利用する。本発明の一態様では、判断は、最終の最良圧縮モードで為される。圧縮レベルは、ｌｕｍａ及びｃｈｒｏｍａの両方の圧縮において定めることができ、ブロックのうちｌｕｍａによって用いられる部分と、ブロックのうちｃｈｒｏｍａによって用いられる部分とが判断される点に注意すべきである。
【００２８】
本発明の別の態様は、最良圧縮モードを判断するための決定が、テクスチャ複雑性及び利用可能なビット数に対して検索される情報によって行われることである。
本発明の別の態様は、ピクセル予測を先頭ピクセルではなく一列のピクセルのうちの中央ピクセルから始め、他のピクセルは、開始ピクセルに関連して予測される。２つの予測方向が計算され、必要な処理時間を低減することができる。
【００２９】
本発明の別の態様は、量子化に応じたサブブロック分割、及びサブブロック構成の決定である。全体圧縮比Ｒは、ｌｕｍａ圧縮に対して用いられるピクセル数Ｎ、及びｃｈｒｏｍａ圧縮（Ｕ及びＶ、又はＣｒ及びＣｂ）に対して用いられるピクセル数Ｍに応じて判断される。所定の（Ｎ、Ｍ）ｌｕｍａ及びｃｈｒｏｍａ圧縮値に対して、いくつかの異なるサブブロック構成が存在する。サブブロックサイズ決定モジュールなどは、入力及び条件の所定の組の下で最適なサブブロック構成を判断する。
【００３０】
本発明の別の態様は、Ｉｎｆｏｒｍａｔｉｏｎ＿ｆｒｏｍ＿ｃｈｒｏｍａ、Ｒ、及びＱＰ精度などに基づいて、異なる発生し得るサブブロック構成のうちの少なくとも一部分（又は、例えば、全ての異なるサブブロック構成）に対してコストを計算するものである。例示的に、発生する出力ビット数に関してコストを推定することができる。所定のサブブロック構成における出力ビット数が、好ましくは、利用可能なビット数によって与えられる閾値コスト値を上回った場合には、そのサブブロック構成は廃棄され、次に、発生し得るサブブロック構成が調査される。少なくとも１つの実施例では、発生し得る構成のうちのどれもが利用不能であった場合には、Ｎ個のピクセルの元の圧縮ブロックがサブブロックとして用いられる。
【００３１】
本発明の別の態様は、ブロック圧縮中の線形又は非線形のいずれかの量子化の選択である。
本発明の別の態様は、本明細書で説明する非線形量子化における使用のための量子化パラメータ（ＱＰ）の推定である。
本明細書の以下の部分において本発明の更に別の態様を提供することとし、そこでの詳細説明は、制限を課することなく、本発明の好ましい実施形態を十分に開示することを目的とするものである。
本発明は、単に例示目的のものである添付図面を参照することにより、十分に理解されるであろう。
【発明を実施するための最良の形態】
【００３２】
図面をより具体的に参照すると、本発明は、図２から図１７に一般的に示す装置に例示目的で具現化されている。これらの装置は、本明細書に開示する基本概念から逸脱することなく、構成及び部分の詳細事項に関して変更することができ、本方法は、特定の段階及び順序に関して変更することができることが認められるであろう。
【００３３】
ＹＵＶビデオデータ圧縮／解凍方法
図２は、ＹＵＶ（又はＹＣｒＣｂ）ビデオデータの圧縮及び解凍を実行するための本発明の実施形態１０を示している。圧縮は、所定の用途に関連するあらゆる数の利点をもたらすために、例えば、バス帯域幅及びビデオメモリ要件を低減するために利用することができる。
本発明の装置及び方法は、ビデオデバイスから入力を受け取り（１２）、データを処理し（１４）、次に、バス１８などを通じて外部ビデオメモリ２０内にビデオデータを記憶する前に、そのビデオデータを圧縮する（１６）。ビデオ符号化器２４又は表示デバイス２８は、ビデオメモリから圧縮ビデオを検索し、ビデオデータを利用する前にその圧縮ビデオを解凍する（２２、２６）。ビデオデータは、ビデオメモリ内での記憶の前に圧縮されるので、必要なバス帯域幅は、元のものよりも非常に低く、それと同時にビデオメモリ（例えば、ＳＤＲＡＭ）の必要サイズも同様に低減する。
【００３４】
図３は、本発明により圧縮されたＹＵＶ又は同様のブロックの例示的な実施形態３０を示している。本発明の圧縮方法の圧縮ブロック３２の入力ビデオデータフォーマットは、ＹＵＶ（又はＹＣｒＣｂ）である。圧縮処理中には、フレーム（この例では、Ｙ、Ｃｒ、及びＣｂのビデオデータから成る）は、１組の圧縮ブロックに分割される。圧縮ブロックは、図に示すように、輝度（Ｙ）３４のためのＮ個のピクセル、及び各々が色差（Ｃｒ、Ｃｂ）２６、３８のためのＭ個のピクセルとして定められる。従って、各圧縮ブロック内のピクセルの合計数は、（Ｎ＋２Ｍ）である。ピクセルを表す上でＢビットが利用された場合には、合計ビット数は（Ｎ＋２Ｍ）×Ｂビットになる。
【００３５】
圧縮ブロックは、他の圧縮ブロックと重複せず、各圧縮ブロックは、他のブロック内の情報を参照せずに独立して圧縮される。
入力に関する圧縮比Ｒを受け取ると、圧縮方法４０の実施例は、固定サイズの圧縮されたブロック４２を発生させる。発生するビット数は次式で計算される。
合計出力ビット＝（Ｎ＋２Ｍ）*Ｂ／Ｒ
例えば、Ｒが２の場合には、発生する合計出力ビットは、ＹＵＶの元のビット数の半分になる。
【００３６】
圧縮後の圧縮済み情報のビット数が、Ｒによって指定される目標ビットよりも小さい場合には、常時固定された合計出力ビット数を維持するために、好ましくは、埋め込みビットが挿入される。各圧縮ブロックの発生するビットのサイズが固定されるので、他のブロック内の情報を参照せずに、あらゆる位置における圧縮されたブロックを検索し、解凍することができる。従って、本発明の方法を用いることにより、ランダムな位置におけるビデオデータへのアクセス（圧縮ブロック単位として）が可能である。これは、他のビデオ処理に向けてフレーム内の任意の区域をアクセスすることが要求される用途において必要である。
【００３７】
図４は、解凍処理の実施形態５０を示している。解凍方法は、圧縮ブロック５２を受理し、この圧縮ブロック５２は、Ｙ５８に向けられたＮ個のピクセル、Ｕ６０に向けられたＭ個のピクセル、及びＶに向けられたＭ個のピクセルなどを有する元のＹＵＶ解像度に戻った圧縮ブロック５６へと解凍される（５４）。解凍済みＹＵＶデータは、ビデオ処理に向けて他のデバイスにおいて利用することができる。解凍後のビデオデータの大きさは、元のものと同じであるから、他の処理デバイスは、圧縮アルゴリズムによって導入されるいかなる差も、ビデオフォーマットに基づいて認識することができなくなる。
【００３８】
図５は、ブロック圧縮の実施形態７０、及びｌｕｍａ圧縮モジュールとｃｈｒｏｍａ圧縮モジュールの間の関係を示している。少なくとも１つの実施例において、ｌｕｍａ圧縮は、同じブロックに対するｃｈｒｏｍａ圧縮中に受け取られる情報に応じて実行される。ｃｈｒｏｍａ（ＵＶ）データ７２は、最初にｃｈｒｏｍａ圧縮７４において受け取られ、ｃｈｒｏｍａ圧縮から情報Ｉｎｆｏｒｍａｔｉｏｎ＿ｆｒｏｍ＿ｃｈｒｏｍａが転送され、ｌｕｍａ（Ｙ）データ７６と組み合わせて利用されて、ｌｕｍａ圧縮７８が実行されることが分かるであろう。従って、本発明の方法によると、ｃｈｒｏｍａ圧縮を最初に実行することが好ましい。ｃｈｒｏｍａからの情報は、圧縮に続き、ｌｕｍａ圧縮中の使用等に向けて、あらゆる望ましい時間又はビット数の間保持することができることを認めるべきである。最後に、圧縮済みのｌｕｍａ及びｃｈｒｏｍａデータは、ブロック８０によって表しているように、１つの圧縮されたブロック８２の中に充填される。少なくとも１つの好ましい実施例によると、データサイズは、目標圧縮比によって指定される範囲に収まることが保証される。
【００３９】
図６は、本発明の圧縮方法全体の実施形態９０を示している。ｃｈｒｏｍａ圧縮ブロック９２及びｌｕｍａ圧縮ブロック９４の受け取りが示されている。圧縮の前に、ｃｈｒｏｍａテクスチャ複雑性が推定され（９６）、ｌｕｍａテクスチャ複雑性が推定される（１００）（特定の順序を意味していない）。ｃｈｒｏｍａ圧縮９８及びｌｕｍａ圧縮１０２は、ｌｕｍａ及びｃｈｒｏｍａの両方の複雑性の推定から受け取るデータを用いて実行され、一方、ｌｕｍａ圧縮は、ｃｈｒｏｍａ圧縮から情報を補足的に受け取る。この後、圧縮済みのｌｕｍａ及びｃｈｒｏｍａデータが受け取られ、パッケージ化され（１０４）、圧縮されたブロック１０６が発生する。
【００４０】
圧縮処理の考察に戻ると、本発明における各圧縮モジュール（ｌｕｍａ及びｃｈｒｏｍａ）は、異なるレベル（程度）の圧縮（例えば、弱度、中度、強度）を提供することができることが認められるであろう。本発明の少なくとも１つの実施例によると、圧縮の程度は、好ましくは、テクスチャ複雑性のレベルに応じて選択される。
変数Ｒによって表される圧縮比は、Ｙ、Ｕ、及びＶ圧縮ブロックの圧縮比を制御する。ブロックにおいて得られる圧縮が全体圧縮比Ｒに従う限りは、Ｙ、Ｕ、及びＶ（又はＹ、Ｃｒ、及びＣｂ）を別々にいかなる望ましい比にも圧縮することができるので、Ｙ、Ｕ、及びＶが、Ｒによって固定された圧縮を受けると結論付けられないことに注意すべきである。従って、ｃｈｒｏｍａとｌｕｍａの間の異なる圧縮比に基づいてビットを割り当てることができる。
【００４１】
本発明の一実施例では、具現化される方法は、全体圧縮比をＲに維持しながら、ｌｕｍａとｃｈｒｏｍａとの間で圧縮比を最適化する（すなわち、技術及び利用可能な情報という制限内で最良の圧縮比を求める）ように試みる。本発明のこの態様は、一般的に人間の目が、ｃｈｒｏｍａにおけるノイズよりもｌｕｍａにおけるノイズに高い感受性を有するということを考慮に入れる。従って、好ましいビット割り当て計画では、ｌｕｍａにおけるビット使用を最大にすることができるように、ｃｈｒｏｍａは、最小数のビットを利用する。しかし、ｃｈｒｏｍａが非常に複雑なことが判明した場合のようなある一定の場合には、視覚歪みを防止するように、本発明のあるモードは、ｃｈｒｏｍａが十分な数のビットを利用することを可能にする。
少なくとも１つの実施例においては、ビット割り当て比は、ｌｕｍａ及びｃｈｒｏｍａのテクスチャ複雑性の判断に基づいて選択される。図６におけるテクスチャ複雑性は、例えば、圧縮ブロックの残差平均を計算することで取得することができる。
【００４２】
図７は、圧縮レベルに依存して異なる圧縮品質モードをサポートする本発明の方法の実施形態１１０を示している。例えば、圧縮ブロック１１２は、本発明による低品質１１４、中品質１１６、及び高品質１１８の圧縮モードを受けることができる。低品質モードは、高圧縮比の使用から生じるのに対して、高品質ビデオモードは、低圧縮比の使用から生じる。１つの好ましい実施例では、処理１２０は、最終圧縮されたブロック１２２が生じる最終の最良圧縮モードを選択するように実行される。圧縮レベルは、ｌｕｍａ及びｃｈｒｏｍａの両方の圧縮モードにおいて定めることができることを認識すべきである。
【００４３】
異なるレベル（モード）の圧縮を実行する一例は、ビット精度の出力量子化を利用することによるものである。低圧縮モードでは、高い精度を利用することができるのに対して、高圧縮モードでは、低精度を利用することができる。望ましい圧縮比に依存して、量子化の精度は、異なるレベルに予め判断されることができる。図７に示すように、最良の圧縮モードの判断は、テクスチャ複雑性及び利用可能なビットに関する情報に応じてシステムによって発生する。
【００４４】
図８は、本発明により圧縮レベルの決定を行う例示的な実施形態１３０を示している。ｌｕｍａ（Ｙ）データ１３２及びｃｈｒｏｍａ（ＵＶ）データ１３４は、それぞれｌｕｍａテクスチャ複雑性の推定１３６、及びｃｈｒｏｍａテクスチャ複雑性の推定１３８に向けて受け取られる。これらの複雑性の推定に対して、下記の節で説明する。次に、ｌｕｍａ及びｃｈｒｏｍａのテクスチャの推定は、テクスチャ分析器１４０によって利用され、テクスチャ分析器１４０からの出力は、ブロック１４２において圧縮レベルの決定を行い、更に、ブロック１４４によって示すように、圧縮ｃｈｒｏｍａデータ出力１４６及びｃｈｒｏｍａからの情報出力１４８を有する圧縮方法を実施するのに利用される。圧縮方法に対しては図５において説明しており、テクスチャ分析及び圧縮レベルの決定に対しては下記で説明を行う。
【００４５】
ｌｕｍａテクスチャ複雑性の推定
以下の擬似コードは、ｌｕｍａテクスチャ複雑性の推定を制限としてではなく例として示している。各サブブロックでは、ｌｕｍａテクスチャ複雑性が分析され、複雑性が以下のように推定される。
指標ｘ：ピクセル位置の指標
指標ｂｐ：サブブロック位置の指標
index x: index of pixel position
index bp: index of subblock position
Luma_Texture_Complexity(LTC)
この値はｌｕｍａ圧縮ブロックの複雑性を示す。複雑性の３つの異なるレベル、弱度、中度、強度が決定することができる。
The detection method:
For each subblock, compute Residual[x] = Current pixel[x] - predicted pixel[x];
For each subblock, find maximum of Residual[x] within subblock, say max_Residual[bp];
Compute average_residue of max_Residue[bp] over whole compression block; 
If average_residue < Threshold_1:
The Whole luma_block is considered as ‘weak complex’.
If average_residue >= Threshold_2:
Compute the number of subblocks that max_Residue[bp] > Threshold_3;
If the computed number < Threshold_4;
Then, whole luma_block is considered as ‘medium complex block’.
Else, the whole luma block is considered as ‘strong complex block’.
【００４６】
ｃｈｒｏｍａテクスチャ複雑性の推定
以下の擬似コードは、ｃｈｒｏｍａテクスチャ複雑性の推定を制限としてではなく例として示している。各サブブロックでは、ｃｈｒｏｍａテクスチャ複雑性が分析され、複雑性が以下のように推定される。
Chroma Texture Complexity(CTC)
The detection method:
For each subblock, compute Residual[x] = Current pixel[x] - predicted pixel[x];
If any Residual[x] < Threshold_1:
If the residue value at the subblock boundary is larger than Threshold_2;
Then, the subblock is considered as ‘low_complex’.
Else, the 4*1 chroma subblock is considered as ‘high_complex’.
【００４７】
圧縮レベルの決定
圧縮レベルの決定は、制限としてではなく例として下記の擬似コードによって実行することができる。
If(CTC==high)
If(LTC==low)
Chroma_Compression_Level = LOW_COMRESSION_MODE 
Luma_Compression_Level =  HIGH_OMRESSION_MODE
Else if(LTC==medium)
Chroma_Compression_Level =  HIGH_COMRESSION_MODE
Luma_Compression_Level =  MIDDLE_COMRESSION_MODE
Else (LTC==high)
Chroma_Compression_Level =  LOW_COMRESSION_MODE
Luma_Compression_Level =  HIGH_COMRESSION_MODE
Else if(CTC==low)
Chroma_Compression_Level =  LOW_COMRESSION_MODE
Luma_Compression_Level =  HIGH_COMRESSION_MODE
If(LTC==low)
Chroma_Compression_Level =  MIDDLE_COMRESSION_MODE
Luma_Compression_Level =  MIDDLE_COMRESSION_MODE
Else if(LTC==medium)
Chroma_Compression_Level =  HIGH_COMRESSION_MODE
Luma_Compression_Level =  MIDDLE_COMRESSION_MODE
Else (LTC==high)
【００４８】
各レベルにおける圧縮方法
図９は、本発明の圧縮方法の例示的な実施形態１５０を示している。圧縮ブロック１５２は、前のピクセルに基づいて現在のピクセル値を予測する予測処理１５４によって受け取られる。予測値が得られると、予測処理１５４において残差値（現在のピクセルと予測されたピクセルの間の差）が計算される。サブブロックサイズの決定処理１５６は、テクスチャ複雑性及び利用可能なビット分量に基づいて最適なサブブロックサイズを判断する。１５６においてサブブロックサイズが決定されると、残差データセットは、ブロック１５８において、サブブロックと呼ぶより小さいサイズのアレイに分割される。出力ビットを低減するために、各サブブロックに対して残差データの量子化処理１６０が適用される。従って、各サブブロックを固有のＱＰ（量子化パラメータ）値を用いて量子化することができる。図は、線形量子化を実行し（１６４）、又は量子化パラメータ（ＱＰ）を推定し（１６２）、次に、非線形量子化を実行する（１６６）ように決定が為されることを示している。いずれの場合には、サブブロックの結果は充填され（１６８）、最終の圧縮されたブロック１７０を生じる。
【００４９】
予測は、現在のピクセルが前のピクセルから予測されることを意味する。予測されたピクセルは、実際の現在のピクセル値と予測値の間の「残差」を計算するのに利用される。本発明の方法では、残差は、後の段階で量子化され、符号化されることになる。
ｘ［ｎ］の予測＝Ｆ（ｘ［ｎ−１］、ｘ［ｎ−２］、…）
ｘ［ｎ］の残差＝ａｂｓ（ｘ［ｎ］−ｘ［ｎ］の予測）
【００５０】
図１０及び図１１は、それぞれ、最初のピクセル予測１９０のための機構、及び２つの予測方向２１０をサポートするための機構を示している。ピクセルデータセットは、あらゆるサイズのものとすることができ、データセット例は、制限としてではなく例として簡略化して示していることが認められるであろう。説明の簡略化のために、１次元のデータセットに対して以下に説明するが、これらの機構は、２次元データに適用することができる。これらの図では、ボックス内の数値は、圧縮ブロック内のピクセルの位置を示している。
【００５１】
図１０では、予測１９０は、データ１９２の先頭ピクセルではなく、中央のピクセル１９４から説明されていることに注意すべきである。ほぼ中央の位置（例えば、位置１６）にあるピクセル１９４は、最初の基準ピクセルとして設定され、全ての他の予測ピクセルは、このピクセルから始まる。図１１に示すように、機構２１０は、右方向２１２及び左方向２１４として提供している２つの予測方向をサポートする。基準ピクセル（すなわち、位置１６におけるピクセル）は変化しないので、これらの２つの方向の各々の予測は独立している。従って、左右の方向において予測を並列処理することができ、それによって必要な処理時間を実質的に低減することができる。
【００５２】
圧縮ブロックは、サブブロックに分割される。サブブロック分割の目的は、各サブブロックに対して独立したＱＰを割り当てることである。量子化によって引き起こされるノイズを最小にするために、より低いＱＰを用いることができるので、全体の品質は、多数のより小さいサブブロックに分割された場合に改善することができる。しかし、サブブロック数が大きい場合には、ＱＰ値に対する負荷が増加する。
【００５３】
量子化及びサブブロック構成の決定のためのサブブロック分割
（Ｎ、Ｍ）ピクセルが与えられると、利用することができる多くの発生し得るサブブロック構成が存在する。「サブブロックサイズ決定」モジュールは、受け取るパラメータに応じて最良のサブブロック構成を判断する。
サブブロック分割の一例は、ｃｈｒｏｍａ圧縮後に検索される情報に基づいている。本発明の一態様では、ｃｈｒｏｍａ圧縮が最初に実行され、この処理からの情報は、ｌｕｍａ圧縮中の使用に向けて利用可能にされる。例えば、ｃｈｒｏｍａ圧縮に用いられた合計ビット数及びｃｈｒｏｍａテクスチャ複雑性は、ｉｎｆｏｒｍａｔｉｏｎ＿ｆｒｏｍ＿ｃｈｒｏｍａとして考えることができる。
【００５４】
図１２は、ｉｎｆｏｒｍａｔｉｏｎ＿ｆｒｏｍ＿ｃｈｒｏｍａ、Ｒ、及びＱＰ＿ｐｒｅｃｉｓｉｏｎの受け取りに応じて、サブブロックサイズ決定モジュール２３２内でサブブロックサイズの決定を行うための実施形態２３０を示している。モジュール２３２の出力は、２×２、４×４、及び８×８のような最良サブブロックサイズを含む。
図１３は、「ｓｕｂｂｌｏｃｋ＿ｓｉｚｅ＿ｄｅｃｉｓｉｏｎ」モジュールの１つの可能な実施例２５０を示している。この決定モジュールは、各発生し得るサブブロック構成に対してｉｎｆｏｒｍａｔｉｏｎ＿ｆｒｏｍ＿ｃｈｒｏｍａ、Ｒ、及びＱＰ＿ｐｒｅｃｉｓｉｏｎを受け取る（２５２）。所定の情報に基づいて、各構成に関するコストが計算される（２５４、２６０、２６６）。コスト値は、発生する出力ビットの推定数として表すことができる。出力ビット数が利用可能なものよりも大きかった場合にその特定の構成が廃棄され、次の発生し得る構成において調査が実施される決定はしご（２５６、２６２）が示されている。ここでは、代替出力は、２×２サブブロック２５８、４×４サブブロック２６４と続き、分割なし（Ｎサブブロック）出力２６６までとして例示している。発生し得る構成のうちのいずれもが許容範囲になかった場合には、Ｎ個のピクセルの元の圧縮ブロックが、分割なし２６８のサブブロックとして用いられる（２６６）ことが分かるであろう。
本発明の方法は、線形量子化及び非線形量子化という２つの量子化処理をサポートするように構成されることを認めるべきである。
【００５５】
１．非線形量子化における量子化パラメータの推定
発生し得るＱＰ値セットが与えられると、システムは、適合性に対してＱＰ値の全てを調査することができる。しかし、ＱＰの網羅的検索の計算の複雑性は効率的ではなく、高い実行コストを有する。
図１４は、全ての発生し得るＱＰ値を検索せずに、ＱＰ値を推定する複雑性が低い方法の実施形態２７０を示している。残差データ２７２は、ＱＰ推定器２７４によって受け取られるように示している。推定から判断されたＱＰ値及び残差データの両方が、非線形Ｑ処理２７６によって受け取られる。
【００５６】
図１５は、ＱＰ推定の実施形態２９０を詳描して例示している。本発明のＱＰ推定器は、元のピクセル値と共に、サブブロックにおいて最大残差値を求める（２９４）上で利用されるサブブロック残差データ２９２を用いる。次に、この最大値は、量子化決定レベルを判断する（２９６）上で利用される。言い換えれば、この最大残差値から最大決定レベルを求めることができ、この最大決定レベルから最良のＱＰ値を判断することができる（２９８）。表１は、最大決定レベルとＱＰ値とをマップする一例を示している。
２ビットＱ非線形量子化のＱＰ値を決定するために、４×１ブロック内の元のデータを用いる残差データ最大値が用いられる（ＱＰ推定）。表１では、サブブロック内の推定ＱＰとｍａｘ＿ｒｅｓｉｄｕａｌデータとの間のマッピングが分かる。
【００５７】
２．線形／非線形量子化決定
本発明のこの態様では、各サブブロックは、本発明の方法による線形量子化又は非線形量子化の選択に応じて量子化することができる。例えば、サブブロックにおける大きい残差値に応じて、ＱＰ値も大きくなりがちであり、著しい量子化ノイズが導入され、その結果、望ましくない視覚歪みが生じる。
図１６は、ノイズのような視覚歪みが発生するのを阻止するために、ビデオデータの内容に応じて、非線形量子化又は線形量子化を選択する実施形態３１０を示している。図では、選択において利用されるように示しているパラメータ例は、サブブロック残差３１２及び元のピクセルデータ３１４として表している。しかし、最終量子化方法決定３１８に到るために、量子化決定３１６内で、この段階で利用可能なあらゆる他のパラメータを用いることができる。
【００５８】
図１７は、「非線形／線形量子化決定」モジュールの実施形態３３０を示している。サブブロック残差３３２及び元のサブブロックピクセルデータ値３３４のようなデータは、エッジ検出モジュール３３６内で受け取られる。エッジ検出３３６は、元のピクセル、又は残差、又は同様の値を用いて、あらゆる数の別手法で実行することができることを認めるべきである。例えば、サブブロックにおける最大残差が閾値よりも大きかった場合には、強いエッジが存在すると考えることができる。段階３３８を通じて強いエッジが検出されなかった場合には、非線形量子化３４６を用いるという決定が為される。他の場合には、線形量子化を用いるコストが推定され（３４０）、次に、３４２においてこのコストが利用可能ビット数と比較されて、線形量子化３４４を用いるという決定が生じる。コストが利用可能なビットを超える場合には、非線形量子化３４６が選択される。
【００５９】
上述の説明は多くの詳細事項を含むが、これらの詳細事項は、本発明の範囲を限定するものと解釈すべきではなく、本発明の現時点での好ましい実施形態のうちの一部の具体例を提供しているに過ぎないと解釈すべきである。従って、本発明の範囲は、当業者には明らかになると考えられる他の実施形態を完全に網羅しており、それに応じて本発明の範囲は、特許請求の範囲以外の何物によっても限定すべきではなく、特許請求の範囲では、単数の要素への参照は、明言しない限り「１つ及びそれのみ」ではなく「１つ又はそれよりも多く」を意味するように意図することが認められるであろう。上述の好ましい実施形態の要素に対する当業者に公知の全ての構造及び機能的均等物は、引用によって本明細書に明示的に組み込まれており、特許請求の範囲によって含まれるように意図している。更に、装置又は方法は、本発明によって解決が追求される各全ての問題に対処する必要はなく、その問題は、特許請求の範囲に含まれるものとする。更に、本発明の開示におけるいかなる要素、構成要素、又は方法段階も、要素、構成要素、又は方法段階が特許請求の範囲に明記されているか否かに関わらず、公に役立つように想定されているものではない。本明細書におけるいかなる特許請求要素も、その要素を「のための手段」という表現を用いて明記していない限り、米国特許法第１１２条第６項の規定の下で解釈されないものとする。
【００６０】
（表１）
0005247412.tif 000002
【図面の簡単な説明】
【００６１】
【図１】ビデオメモリ内での前処理の後の画像データの記憶を示す、従来のビデオ又はスチールカメラアーキテクチャのブロック図である。
【図２】ビデオメモリ内での記憶の前の画像データの圧縮を示す、本発明の態様によるビデオ又はスチールカメラアーキテクチャのブロック図である。
【図３】本発明の態様に従って圧縮されるブロックのブロック図である。
【図４】本発明の態様によるブロック解凍のブロック図である。
【図５】ｃｈｒｏｍａ圧縮からの情報がｌｕｍａ圧縮処理において利用されることを示す、本発明の態様によるｃｈｒｏｍａ及びｌｕｍａ圧縮の流れ図である。
【図６】本発明の態様による全体圧縮比の流れ図である。
【図７】本発明の態様に従って異なる圧縮モードをサポートする流れ図である。
【図８】圧縮レベルを決定し、圧縮方法を実施する準備におけるテクスチャ複雑性の推定及び分析を示す、本発明の態様に従って圧縮レベル決定を行う流れ図である。
【図９】量子化決定に応じて線形Ｑ又は非線形Ｑのいずれかがブロックに対して実行されることを示す、本発明の態様による圧縮方法の流れ図である。
【図１０】ピクセルのうちの中央にある基準ピクセルの選択を示す、本発明の態様によるピクセル予測のピクセル図である。
【図１１】図１０に示す基準ピクセルの選択に応じる左右予測方向のピクセル図である。
【図１２】本発明の態様に従ってサブブロックサイズを選択するブロック図である。
【図１３】本発明の態様に従ってサブブロックサイズを判断する流れ図である。
【図１４】本発明の態様による推定ＱＰ値及び残差データに応じる非線形量子化の流れ図である。
【図１５】残差データを判断する段階に応じて実行されるように示す、本発明の態様によるＱＰ推定の流れ図である。
【図１６】本発明の態様に従って線形量子化又は非線形量子化を選択するブロック図である。
【図１７】本発明の態様に従って線形量子化又は非線形量子化を決定する流れ図である。
【符号の説明】
【００６２】
１０  本発明の実施形態
１８  バス
２４  ビデオ符号化器
２８  表示デバイス
【図１】
0005247412.tif 000003
【図２】
0005247412.tif 000004
【図３】
0005247412.tif 000005
【図４】
0005247412.tif 000006
【図５】
0005247412.tif 000007
【図６】
0005247412.tif 000008
【図７】
0005247412.tif 000009
【図８】
0005247412.tif 000010
【図９】
0005247412.tif 000011
【図１０】
0005247412.tif 000012
【図１１】
0005247412.tif 000013
【図１２】
0005247412.tif 000014
【図１３】
0005247412.tif 000015
【図１４】
0005247412.tif 000016
【図１５】
0005247412.tif 000017
【図１６】
0005247412.tif 000018
【図１７】
0005247412.tif 000019