(57)【要約】ビデオデータストリームは、ブロックに分割される(11)。前記ブロックのそれぞれについて、所定の圧縮率を実現するのに十分に大きい第1の量子化スケールQが決定される(17、19)。続いて、前記ブロックのうちの前記少なくとも1つについての前記第1の量子化スケールQより大きく、且つ、前記ブロックのうちの前記少なくとも1つに、前記ブロックのうちの前記少なくとも1つについての前記第1の量子化スケールQによって実現される前記歪みよりも小さい又はほぼ等しい歪みを生じる、第2の量子化スケールQ'が存在するかどうか決定する(17、19)。デジタルデータストリームは、前記第2の量子化スケールQ'が存在する場合、前記ブロックのうちの前記少なくとも1つについての前記第2の量子化スケールQ'を用いて符合化される(12、13、14)。
2005522118.tif 000002
【特許請求の範囲】
【請求項１】
画像データのブロックに分割された圧縮ビデオデータストリームを生成する方法において、
−前記ブロックのそれぞれについて、第1の量子化スケールQを、該量子化スケールQが所定の圧縮率を実現するのに十分大きくなるように決定するステップと、
−前記ブロックのうちの少なくとも1つについて、前記ブロックのうちの前記少なくとも1つについての前記第1の量子化スケールQより大きく、且つ、前記ブロックのうちの前記少なくとも1つに、前記ブロックのうちの前記少なくとも1つについての前記第1の量子化スケールQによって実現される歪みよりも小さい又はほぼ等しい歪みを生じる、第2の量子化スケールQ'が存在するかどうか決定するステップと、
−前記第2の量子化スケールQ'が存在する場合に、前記ブロックのうちの前記少なくとも1つについて、前記第2の量子化スケールQ'を用いて前記デジタルデータストリームを符合化するステップと、
を有する方法。
【請求項２】
請求項1に記載の方法において、
−前記ブロックのうちの前記少なくとも1つについて量子化された係数を計算するステップと、
−前記量子化された係数の少なくとも過半数の公約数を計算するステップと、
−最大公約数と前記ブロックのうちの前記少なくとも1つについての前記第1の量子化スケールとの積を用いて前記第2の量子化スケールを決定するステップと、
を有する方法。
【請求項３】
請求項1に記載の方法において、公約数を計算する前記ステップは、前記量子化された係数の前記少なくとも過半数の最大公約数を有する、方法。
【請求項４】
請求項1に記載の方法において、
−前記ブロックが前記第1の量子化スケールを用いて符合化された入力ビデオデータストリームを受信するステップと、
−前記第2の量子化スケールQを用いて前記入力ビデオデータストリームから得られる再量子化された画像データを有する前記符合化されたビデオデータストリームを生成するステップと、
を有する方法。
【請求項５】
画像データのブロックに分割された圧縮ビデオデータストリームを生成する装置において、
−信号値を量子化スケールQで量子化するための量子化器と、
−前記量子化器に結合され、要求される圧縮率に依存して前記量子化スケールQを制御するための量子化スケールコントローラであって、
−前記ブロックのそれぞれについて、第1の量子化スケールQを、該量子化スケールQが前記圧縮率を実現するのに十分大きくなるように決定する第1のステップと、
−前記ブロックのうちの少なくとも1つについて、前記ブロックのうちの前記少なくとも1つについての前記第1の量子化スケールQより大きく、且つ、前記ブロックのうちの前記少なくとも1つに、前記ブロックのうちの前記少なくとも1つについての前記第1の量子化スケールQによって実現される前記歪みよりも小さい又はほぼ等しい歪みを生じる、第2の量子化スケールQ'が存在するかどうか決定する第2のステップと、
の連続ステップで前記量子化スケールを決定するように構成された量子化スケールコントローラと、
を有する装置。
【請求項６】
請求項5に記載の装置において、前記第2のステップは、
−前記ブロックについての前記第1の量子化スケールQを用いて計算された量子化された信号値の少なくとも過半数の公約数を計算するステップと、
−最大公約数と前記ブロックのうちの前記少なくとも1つについての前記第1の量子化スケールとの積を用いて前記第2の量子化スケールを決定するステップと、
を有する、装置。
【請求項７】
請求項5に記載の装置において、前記公約数の前記計算は、量子化された信号値の前記少なくとも過半数の最大公約数を有する、装置。
【請求項８】
請求項5に記載の装置において、前記第1のステップは、前記第1の量子化スケールQを圧縮入力ビデオデータストリームから抽出することによって実行され、符合化されたビデオデータストリームが、前記第2の量子化スケールQを用いて前記入力ビデオデータストリームから得られる再量子化された画像データによって生成される、装置。
【請求項９】
請求項1乃至4の何れか1項に記載の方法のステップを実行する命令を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオデータを符号化する方法に関し、より詳細には、ビデオデータを符号化する量子化スケールの選択に関する。本発明は、このような方法を実現する装置にも関する。
【背景技術】
【０００２】
米国特許第5,754,236号は、MPEG規格に従ってビデオデータを符合化する方法を開示する。このような符号化は、放送目的又は電気通信目的のためのカムコーダ、ビデオ記録装置、ビデオ伝送装置等の多くの異なった装置において用いられることができる。
【０００３】
MPEG規格は、ビデオデータを符合化するのに必要なデータ量を低減するために量子化を利用する。例えばMPEGは、マクロブロックの画像コンテンツのDCT係数を符合化するために量子化を用いる。量子化を用いるということは、限られた数の信号値Smしか符合化されることができないということを意味する(m=0、1、2等は、異なった信号値を示す)。
Sm=m*Q+So
【０００４】
他の全ての信号値S'は、限られた数の値Smのうちの1つによって置換される。これが量子化と呼ばれる。符合化されることができる連続した値間の距離Qは、量子化スケールQと呼ばれる。
【０００５】
量子化スケールQは、ビデオデータを符合化するために必要なデータ量を制御するための主要なパラメータ(即ち圧縮率)である。量子化スケールQが大きいほど、必要なデータはより少なくなる。他方では、量子化スケールQは、符号化によって生じる画像歪みに影響を及ぼす。符合化された画像は、量子化スケールが最小の可能な値を有しないと、実際の画像からずれることになる。通常、量子化スケールQが増加すると歪みは増加する。
【０００６】
従って、量子化スケールQの選択は、圧縮率を最大化することと、歪みを最小化することとの間の妥協に基づく。実際には、ビデオデータを符合化するために用いられることができる最大のデータ量は、通常、利用可能なバンド幅、記憶スペース等によって決定されるハードパラメータである。量子化スケールは、データ量がこの最大値を越えないように適応される。従来のアルゴリズムは、量子化スケールQを、最大データ量よりも小さいデータ量を生じさせる最小値にセットする。通常、この従来のアルゴリズムの改良が用いられ、ここで、画像の種々のマクロブロックの複雑性が最初に計算され、マクロブロックの複雑性に基づいてデータ量がマクロブロックに割り当てられ、各個別のマクロブロックの量子化スケールは、割り当てられたデータ量より小さいデータ量を生じさせるそれぞれの最小値にセットされる。
【０００７】
米国特許第5,754,236号は、所定の圧縮率が実現されるという制約条件の下でデータ量を最小化する、種々のマクロブロックへの量子化スケールQのセットの割り当てをサーチするためのサーチアルゴリズムを用いる代替例を説明する。即ち、これは、各マクロブロックが個別に所定の圧縮率を実現するようには量子化スケールをセットしない。計算的に実行可能な検索を保証するために、非網羅的な検索アルゴリズムが用いられる。
【０００８】
米国特許第5,754,236号のアルゴリズムは、最適量子化スケールQ割当てに、段階的に(in steps)到達し、各ステップは、歪みの最小増加を伴って圧縮率の最大増加が達成されることができる選択されたマクロブロックについて、量子化スケールを増加させる。ステップは繰り返され、異なったマクロブロックを選択し、所定の圧縮率が実現されるまでこれら選択されたブロックの量子化スケールを増加させる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、歪みの損失を全く又はほとんど伴わずに、ビデオデータを符合化するのに必要なデータ量の更なる低減を実現することである。
【課題を解決するための手段】
【００１０】
本発明は、請求項1に記載の符号化方法を提供する。本発明は、一般には歪みが量子化スケールの増加と共に増加するが、このことが常に当てはまるわけではないという見識に基づく。量子化スケールの関数として、歪みの極小値が存在しうる。これは、例えば全ての信号値が同じ最大公約数の積である場合に当てはまる。従って、所与の圧縮率を実現するために最小限必要な量子化スケールよりも大きな量子化スケールを選択することにより、歪みを増加させることなしに、又は、歪みの減少すら伴って、圧縮率を増加することが多くの場合可能であることが認識された。このように、充分な圧縮率を保証する量子化スケールを選択するために何らかのアルゴリズムを用いた後に、増加された歪みを実質的に生じない一層の量子化スケール低減の可能性がないかチェックする最適化ステップを適用することによって、追加の圧縮が実現されることができる。
【００１１】
本発明は、更に、種々の量子化スケールによる量子化の最中に発生したエラーを比較するフィードバックループによって、最適な量子化スケールを発見し、より良い、即ちより少ないエラーを発生する量子化スケールを発見し、このように発見した最適な量子化スケールを用いて出力ビットストリームを作るよう進行する方法に関する。
【００１２】
本発明は、更に、量子化された係数の公約数を決定し、量子化スケールを計算された値で乗算することによって量子化スケールの説明された最適化が達成される方法にも関する。量子化スケールはこのように増加され、同じ又はより少ない量子化エラーが生じるより低いビットレートが得られる。好適には、係数の最大公約数が用いられる。
【００１３】
本発明の符号化方法によってビデオシーケンスをこのように符合化することにより、量子化スケールを最適化することによって、画質の追加の損失無しにより少ないビットが用いられることになる。
【００１４】
本発明は、更に、視聴覚デバイス、データコンテナデバイス、コンピュータプログラム及びコンピュータプログラムが記憶されるデータキャリアデバイスに関する。
【００１５】
本発明の特に有利な詳細は、従属請求項に示される。
【発明を実施するための最良の形態】
【００１６】
本発明の他の目的、詳細、修正例、効果及び細部は、図面が参照される以下の説明から明らかになる。
【００１７】
図1は、画像圧縮装置の部品を図式的に示す。この装置は、非圧縮ビデオデータの入力10及び圧縮ビデオデータの出力15を含む。装置は、入力10と出力15との間に、連続して、前処理ユニット11、量子化器12、可変長エンコーダ13及びパッケージングユニット14を含む。装置は、長さ決定ユニット17及び量子化スケールコントローラ19も含む。量子化スケールコントローラ19は、要求される圧縮率Rを示す信号を受信するための入力と、用いられるべき量子化スケールQを特定するための量子化器12に結合された量子化スケール制御出力とを有する。可変長エンコーダ13の出力は、長さ決定ユニット17の入力に結合され、長さ決定ユニット17の出力は、量子化スケールコントローラ19の入力に結合される。
【００１８】
動作中、非圧縮ビデオデータが入力10に供給される。前処理ユニット11は、種々の前処理操作を実行する。MPEG圧縮の場合には、例えば、前処理ユニット11は、ビデオデータのフレームをマクロブロックに分割し、各ブロックについて画像データのDCT(デジタルコサイン変換)係数を計算する。量子化器12は、これら係数を受信して、これら係数を、基本値Soと量子化スケールQの整数倍との和に等しい量子化係数により置換する。可変長エンコーダ13は、ビデオデータを符合化するのに必要とされるビットの数を最小化するように選択された可変長コードを用いて、量子化された係数を符合化する。パッケージングユニット14は、符合化された係数をパッケージして、MPEG信号を出力する。このMPEG信号は、例えば、伝送、記録その他のために、更に、最終的にはテレビジョンセット(図示せず)における復号及びレンダリングのために、用いられてもよい。
【００１９】
量子化スケールコントローラ19は、量子化器12によって用いられる量子化スケールを制御する。量子化スケールコントローラ19は、MPEG信号が、(例えば所与の伝送帯域幅又はメモリ空間内で)処理されることができるよりも多くのビットを含まないことを保証する。量子化スケールコントローラ19は、要求される圧縮係数について最小の画像歪みを、又は、所与の歪みについて最大の圧縮を実現することを目的とする。
【００２０】
図2は、画像を符合化するために必要なデータ量「A」を量子化スケールQの関数として示す。量Aは、Qが増加すると共に減少する。圧縮率は、量Aに関して、例えばR=U/Aとして規定されることができ、ここで、Uは、入力10で画像を表すために用いられる非圧縮データの量である。
【００２１】
図3は、歪み「D」を量子化スケールQの関数として示す。歪みは、あらゆる既知の及び／又は便利な方法で規定されることができ、例えば個々の信号値の偏差の絶対値の合計として又はこのような偏差の平方和として規定されることができる。2つの曲線が示される。第1の曲線30は、全ての可能な入力画像について平均される平均予想歪みを示す。第2の曲線32は、画像のブロックの個々のインスタンスについての歪みを示す。第1の曲線30から分かるように、歪みDは、量子化スケールQの関数として厳密に増加する。第2の曲線32において、歪みDは一般に第1の曲線30の傾向に従うが、これは上下する。その結果、歪みDは、量子化スケールQの増加と共に局所的に減少しうる。
【００２２】
従来技術の圧縮技術は、主に第1の曲線30に基づく。これらは、最小の歪みを伴う要求レベルまで符合化されたデータの量Aを低下させる最小量子化スケールQが一旦選択されたら、量子化スケールQのいかなる増加も歪みDを増加させる、ということを仮定する。しかし、これは平均して真であるに過ぎない。図3の前記第2の曲線32で示すように、個々のブロックについては、歪みDを増加させること無しに、又は、歪みの低減すら伴って、符合化されたデータの量を低減することが可能でありうる。これが、量子化スケールコントローラにおいて用いられる。
【００２３】
図4は、量子化選択の流れ図を示す。第1のステップ41において、装置は、ビデオフレームを受信して、前処理を行う。第2のステップ42において、要求される圧縮率Rの明細が受信される。第3のステップ43において、画像中の異なったマクロブロックについて、少なくとも要求される圧縮率Rが実現されるように量子化スケールQの最小値Q0が決定される。
【００２４】
あらゆる方法が、第3のステップ43において用いられることができる。例えば、異なったブロックの画像データの複雑性を測定し、各ブロックの複雑性に依存して、全ブロックについてのターゲット量Anの総計が要求される圧縮率Rを超えないように、各ブロックについて個々のターゲットのデータ量Anをセットすることが可能である(「n」は個々のブロックを示す添字である)。続いて、各ブロックについての量子化スケールQnは、結果のデータ量An'がターゲット量Anを超えていないことが測定されるまで、増加されてもよい。別の例として、合計のデータ量Aが低減されて要求される圧縮率Rが実現されるまで選択されたブロックの量子化スケールQnを順次低減するアルゴリズムが、用いられてもよい。第3のステップの結果として、データ量Aを、必要な圧縮率Rによってセットされるレベルよりも低くする最小量子化スケール値Qが選択される。
【００２５】
第4のステップ44において、装置は、歪みDを増加すること無しにデータ量Aの更なる低減が可能であるかどうかをチェックする。即ち、装置は、個々のブロックについての歪みDが、局所的に減少する歪みDを有する曲線32に対応するかどうかをチェックする。もし対応すれば、装置は、(第3のステップ43でブロックについて選択された)量子化スケール値Qnを、歪みを増加させないより高い量子化スケール値Qn'によって、置換する。
【００２６】
第4のステップ44において、このようなより高い量子化スケール値Qn'があるかどうかをチェックするのにあらゆる方法が用いられることができる。1つの実施例において、全てのより高い量子化スケール値Qn'について歪みD'が計算され、その歪みD'が元々選択された量子化スケール値Qnの歪みDよりも大幅に高くなければ、最小の計算された歪みD'を生じる最高の量子化スケール値Qn'が選択される。
【００２７】
他の実施例において、最初に、ブロックの量子化された信号値の全て又は過半数が1より大きな最大公約数Gを共有するかどうかが決定される。もし共有するならば、量子化スケール値Qn'=G*Qnが、新しい量子化スケール値Qn'として用いられてもよい。これは、全ての信号値が公約数Gを共有する場合、QnがG*Qnによって置換されれば更なる歪みは発生しないという事実に基づく。他の実施例では、歪みD'は、量子化スケール値G*Qn、及び、該値G*Qnの周りの量子化スケール値について、G*Qnからの距離を増加させていってD'が増加するようになるまでの範囲内で、計算される。この場合、好適には、最小歪みがこのようにして発見された量子化スケール値Qn'が、用いられる。
【００２８】
最大公約数Gの代わりに、量子化された値の公約数G'(必然的に少なくとも最大公約数の除数である)を、この値が最大公約数であるかをチェックせずに決定して用いてもよい。一部の実際の状況においては、最大公約数を決定するのではなく単に何らかの約数を決定することは、より少ない計算量を必要とする可能性がある。
【００２９】
第5のステップ45においては、このようにして得られた量子化スケール値Qn'は、新しい量子化スケール値Qn'が得られなかったブロックについての変わっていない量子化スケール値Qnと共に、最終的な符号化画像データの計算のため、量子化器12に出力される。
【００３０】
本発明は、主にMPEG符号化について説明されたが、MPEG符号化に限られていないことはいうまでもない。例えば、本発明は、例えば電気通信網での画像の伝送のために用いられるような、量子化を用いて画像データのブロックを符合化する他の形式の画像圧縮に適用されてもよい。
【００３１】
本発明は、符合化されて圧縮された画像データを図4のフローチャートの第4のステップの入力として用いて、トランスコーディングにも適用されることができる。この場合、歪みのない元の画像データは、利用可能でない。装置は、ブロックの符合化された信号値Sの量子化スケール値Qnを置換することができる、該ブロックにおいて量子化された信号値Sの変化が実質的に発生しないようなより高い量子化スケール値Qn'があるかどうかチェックする。このようなより高い量子化スケール値Qn'をチェックする1つの方法は、全て又は実質的に全ての量子化された信号値Sが、最大公約数Gを共有するかどうか試験することである。もし共有するならば、より高い量子化スケール値Qn'=G*Qnが、歪みに影響を与えること無く用いられることができる。
【００３２】
本発明は、量子化スケールコントローラ19等の専用のハードウェアで実現されてもよい。しかし、本発明は、コンピュータシステム上で実行されると本発明による方法のステップを実行するための、又は、汎用コンピュータシステムが本発明によるコンピュータシステムの機能を実行することを可能にするための、命令を少なくとも含むコンピュータシステム上で実行するためのコンピュータプログラムを用いて実現されてもよいことが理解されるであろう。このようなコンピュータプログラムは、コンピュータプログラムを表すコンピュータシステムのメモリにロード可能なデータが記憶されるCD-ROM又はディスケット等のデータキャリア上に提供されてもよい。データキャリアは、更に、例えば本発明によるコンピュータプログラムを表す信号を送信する電話ケーブル又はワイヤレス接続であるデータ接続であってもよい。
【図面の簡単な説明】
【００３３】
【図１】画像圧縮装置を示す。
【図２】圧縮を量子化スケールの関数として示す。
【図３】歪みを量子化スケールの関数として示す。
【図４】符号化方法の流れ図を示す。
【図１】
2005522118.tif 000003
【図２】
2005522118.tif 000004
【図３】
2005522118.tif 000005
【図４】
2005522118.tif 000006
【国際調査報告】
2005522118.tif 000007
2005522118.tif 000008
2005522118.tif 000009