(57)【特許請求の範囲】
【請求項１】
複数のイメージ画素のための画素データの入力ブロックに対して前記入力ブロックを圧縮することに使用されるブロックサイズ割当てを決定する方法であって、
１ブロックの画素データを読むステップと、
前記ブロックの画素データの画素値の分散および前記ブロックの複数の細分化ブロックの画素データの画素値の分散に基づいてブロックサイズ割当てを生成するステップとを備え、
前記生成するステップはさらに、
前記ブロックの画素データの画素値の分散を決定するステップ、
評価中にある前記ブロックの平均画素値が一定の暗さの範囲にある場合に引き下げられる分散閾値と前記分散を比較するステップ、
前記分散が前記分散閾値より大きいならば前記ブロックを細分化するという判定を行うステップ、
前記判定が前記ブロックを細分化することである限り最小ブロックサイズまで各細分化ブロック毎に前記複数ステップの決定、比較、および判定を繰り返すステップ、
さらに細分化されることのない各ブロックを前記ブロックサイズ割当てとして選定するステップ、および
前記ブロックサイズ割当ての情報を含むデータ構造を提供するステップを含む、
方法。
【請求項２】
複数のイメージ画素のための画素データのブロックを圧縮する画像圧縮システムであって、
前記ブロックの画素データの画素値の分散および前記ブロックの複数の細分化ブロックの画素データの画素値の分散に基づいて圧縮されるべき前記ブロックまたは前記ブロックの細分化されたブロックを選択するためのもので、前記ブロックの画素データについて画素値の分散を決定し、評価中にある前記ブロックの平均画素値が一定の暗さの範囲にある場合に引き下げられる分散閾値と前記分散を比較し、前記分散が前記分散閾値よりも大きいならば前記ブロックを細分化するという判定を行い、前記判定が前記ブロックを細分化することである限り最小ブロックサイズまで各細分化されたブロック毎に分散の決定、前記分散閾値との比較、および細分化の判定を繰り返させ、さらに細分化されることのない各ブロックをブロックサイズ割当てとして選定するブロックサイズ割当て手段と、
前記選択されたブロックまたは細分化されたブロックの画素データを周波数領域データに変換する変換手段と、
前記周波数領域データを量子化する量子化器手段と、
前記量子化された周波数領域データを走査して直列化されたストリームのデータにするシリアライザ手段と、
送信の準備のため前記直列化されたストリームのデータを符号化する可変長符号化手段とを含む、
システム。
【請求項３】
複数のイメージ画素のための画素データのブロックを圧縮する方法であって、
１ブロックの画素データを読むステップと、
前記ブロックの画素データの画素値の分散および前記ブロックの複数の細分化ブロックの画素データの画素値の分散に基づいてブロックサイズ割当てを生成するステップとを備え、
前記生成するステップはさらに、
前記ブロックの画素データの画素値の分散を決定するステップ、
評価中にある前記ブロックの平均画素値が一定の暗さの範囲にある場合に引き下げられる分散閾値と前記分散を比較するステップ、
前記分散が前記分散閾値よりも大きいならば前記ブロックを細分化するという判定を行うステップ、
前記判定が前記ブロックを細分化することである限り最小ブロックサイズまで各細分化されたブロック毎に前記複数ステップの決定、比較、および判定を繰り返させるステップ、
さらに細分化されることのない各ブロックを前記ブロックサイズ割当てとして選定するステップ、
前記ブロックサイズ割当ての情報を含むデータ構造を提供するステップ、
前記データ構造により指示されるような前記ブロックの画素データまたは複数の細分化ブロックの画素データを周波数領域データに変換するステップ、
イメージの人間知覚特性に基づいて前記周波数領域データを量子化するステップ、
前記量子化された周波数領域データを走査して直列化されたストリームのデータにするステップ、および
送信の準備のため前記直列化されたストリームのデータを符号化するステップを含む、
方法。
【請求項４】
複数のイメージ画素のための画素データのブロックを圧縮するシステムであって、
１ブロックの画素データを読む読み取り手段と、
前記ブロックの画素データの画素値の分散および前記ブロックの複数の細分化ブロックの画素データの画素値の分散に基づいてブロックサイズ割当てを生成する生成手段とを備え、
前記生成手段はさらに、
前記ブロックの画素データの画素値の分散を決定する決定手段、
評価中にある前記ブロックの平均画素値が一定の暗さの範囲にある場合に引き下げられる分散閾値と前記分散を比較する比較手段、
前記分散が前記分散閾値よりも大きいならば前記ブロックを細分化するという判定を行う判定手段、
前記判定手段が前記ブロックを細分化することである限り最小ブロックサイズまで各細分化されたブロック毎に決定、比較、および判定を行わせ、
さらに細分化されることのない各ブロックを前記ブロックサイズ割当てとして選定する選定手段を含む、
システム。
【請求項５】
複数のイメージ画素のための画素データの入力ブロックに対して前記入力ブロックを圧縮することに使用されるブロックサイズ割当てを決定する方法を実行するようにコンピュータシステムを制御するための複数の命令を含むコンピュータ読出し可能な媒体であって、前記方法は、
１ブロックの画素データを読み、
前記ブロックの画素データの画素値の分散および前記ブロックの複数の細分化ブロックの画素データの画素値の分散に基づいてブロックサイズ割当てを生成することを備え、前記生成することのステップはさらに、
前記ブロックの画素データの画素値の分散を決定するステップと、
評価中にある前記ブロックの平均画素値が一定の暗さの範囲にある場合に引き下げられる分散閾値と前記分散を比較するステップと、
前記分散が前記分散閾値より大きいならば前記ブロックを細分化するという判定を行うステップと、
前記判定が前記ブロックを細分化することである限り最小ブロックサイズまで各細分化されたブロック毎に前記複数ステップの決定、比較、および判定を繰り返させるステップと、
さらに細分化されることのない各ブロックを前記ブロックサイズ割当てとして選定するステップと、
前記ブロックサイズ割当ての情報を含むデータ構造を提供するステップとを含む、
コンピュータ読出し可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理に関する。特に、本発明はコード化された離散コサイン変換係数データの適応性サイズブロックおよびサブブロックを利用するイメージ信号の圧縮方式に関連する。
【背景技術】
【０００２】
“フィルム”または“映画”投影に使用されるようなビデオ信号の送信および受信の分野では、様々な改良が画像圧縮の技術になされている。現下のそして提案されたビデオシステムの多くがデジタルコード化技術を使用してなされる。デジタルコード化は、多重経路フェージングおよびジャミングまたは信号干渉のような、その各々が別な方法でイメージ品質を非常に低下させることができる損傷に抵抗する通信リンクの丈夫さを提供する。その上、デジタル技術は使用信号の暗号技術を促進し、それは政府と多くの新たに展開している商業放送応用に役立ちまたは必要でさえあることを見出す。
【０００３】
高鮮明度ビデオは改良された画像圧縮の技術の利益を得る領域である。最初に提案されたとき、高鮮明度ビデオの空中送信(または、電線またはファイバー光送信さえ)過度の帯域幅を必要とするので非実用的に見えた。設計されている典型的な無線または、他の送信システムは十分な帯域幅を容易に収容しなかった。しかしながら、デジタルビデオ信号の圧縮が適度な帯域幅を使用して送信を可能にするレベルに達成されるかもしれないとわかった。信号のデジタル伝送と結合されたそのようなレベルの信号圧縮は、ビデオシステムがより望ましくて役に立つ帯域幅を占めながら、チャンネル損傷に対してより強い免疫性を有するより少ないパワーでの伝送を可能にするだろう。
【０００４】
ビデオ信号のために必要なレベルの品質を保存して、重要なレベルの圧縮を提供することができる１つの圧縮技術は、コード化された離散コサイン変換(ＤＣＴ)係数データの適応性寸法のブロックとサブブロックを利用する。この技術は以下に、適応性ブロックサイズ微分コサイン変換（Adaptive Block Size Differential Cosine Ｔransform）(ＡＢＳＤＣＴ)方法と呼ばれるだろう。この技術は本発明の譲受人に譲渡され、ここに引用文献として組み込まれる“適応性ブロックサイズ画像圧縮方法およびシステム”と題する米国特許番号５,０２１,８９１に開示される。また、ＤＣＴの技術は本発明の譲受人に譲渡され、ここに引用文献として組み込まれる“適応性ブロックサイズ画像圧縮方法およびシステム”と題する米国特許番号５,１０７,３４５にも開示される。さらに、微分クオドトリー変換（Differential Ｑuad-tree Ｔransform）技術と組み合わせてＡＢＳＤＣＴ技術の使用については、本発明の譲受人に譲渡され、ここに引用文献として組み込まれる“適応性ブロックサイズ画像圧縮方法およびシステム”と題する米国特許番号５,４５２,１０４で議論される。これらの特許で開示されるシステムは“イントラフレーム”と呼ばれるものを利用し、それはイメージデータの各フレームがいかなる他のフレームの内容にも関係なしでコード化される。ＡＢＳＤＣＴの技術を使用して、達成可能なデータレートはイメージ品質の認識できる低下なしで略１５億bpsから略５０００万bpsまで減少するかもしれない。
【０００５】
ＡＢＳＤＣＴの技術は、白黒またはカラーイメージあるいはイメージを表わす信号の何れかを圧縮するのに使用されるかもしれない。カラー入力信号はＹＩＱ形式であり、Ｙはサンプルの輝度、即ち明るさであり、ＩおよびＱは画素の４x４ブロックサンプルの色光度、即ち色である。ＹＵＶまたはＲＧＢ形式などの他の知られている形式もまた使用されるかもしれない。色に対する目の低い空間的感度のために、ほとんどの研究が水平および垂直方向の４の要素によるカラー成分のサブサンプルが適度であることを示した。従って、ビデオ信号は４つの輝度成分と２つの色光度成分によって表されるかもしれない。
【０００６】
ＡＢＳＤＣＴを使用すると、ビデオ信号は一般に処理のために画素のブロックに区分されるだろう。各ブロックについて、輝度と色光度の成分はブロックインターリーバに通される。例えば、離散コサイン変換(ＤＣＴ)分析のためデータのブロックおよび複合サブブロックを生成するため、１６ｘ１６(画素)ブロックは各１６ｘ１６ブロック内にイメージサンプルを整理または組織化するブロックインターリーバに提出されるかもしれない。ＤＣＴ演算子は時間で抽出された信号を同じ信号の周波数表現に変換する１つの方法である。周波数表現に変えることによって、量子化器がイメージの周波数分布特性の利点を取るように設計されることができるので、ＤＣＴ技術は非常に高レベルの圧縮を許容することを示した。好ましい実施例では、１つの１６ｘ１６ＤＣＴは最初の順序付けに適用され、４つの８x８ＤＣＴが第２の順序付けに適用され、１６の４x４ＤＣＴは第３の順序付けに適用され、６４の２x２ＤＣＴは第４の順序付けに適用される。
【０００７】
ＤＣＴ演算はビデオソースに固有の空間的な冗長を減少する。ＤＣＴが実行された後に、ビデオ信号エネルギーの大部分は、いくつかのＤＣＴ係数に集結される傾向がある。付加的な変換、微分クオドトリー変換(ＤＱＴ)は、ＤＣＴ係数中の冗長を減少するのに使用されるかもしれない。
【０００８】
１６ｘ１６ブロックとそれぞれのサブブロックに関しては、ＤＣＴ係数値とＤＱＴ値(ＤＱＴが使用されているならば)は、ブロックまたはサブブロックをコード化するために必要とされるビット数を決定するために分析される。そして、コード化するビットの最小数を必要とするブロックまたはサブブロックの組み合わせがイメージセグメントを表すために選ばれる。例えば、２つの８x８サブブロック、６つの４x４サブブロック、および８つの２x２サブブロックがイメージセグメントを表すために選ばれるかもしれない。
【０００９】
そして、選ばれたブロックまたはサブブロックの組み合わせが１６ｘ１６ブロック内に適切に整然として配列される。次に、ＤＣＴ/ＤＱＴ係数値は送信に備えて周波数加重、量子化、およびコード化(可変長さコード化など)を受けるかもしれない。
【００１０】
上で説明されたＡＢＳＤＣＴ技術は著しくよく働くが、それは計算機的に集中的である。したがって、技術のコンパクトなハードウェア実現は難しいかもしれない。ハードウェア実現をより効率的にする代替の技術が望まれている。計算機的により有能な画像圧縮方法とシステムが本発明によって以下で説明された方法による提供される。
【発明の概要】
【００１１】
本発明は離散コサイン変換係数データの適応性サイズブロックおよびサブブロックを利用する画像圧縮システムおよび方法である。一実施例では、画素の１６ｘ１６ブロックがエンコーダへ入力される。エンコーダは処理のための画素の入力ブロックを区分するブロックサイズ割当て要素を含む。ブロックサイズ割当ては入力ブロックおよび細分化されたブロックの分散に基づく。一般に、ブロックおよびサブブロック平均値が異なった予定の範囲に入ると、より小さい分散を有する領域が細分化されないが、より大きい分散がある領域はより小さなブロックに細分化されるだろう。このようにして、ブロックの第１の分散閾値はその平均値に依存するその名目上の値から変更され、次にブロックの分散は閾値と比較され、そして分散が閾値よりも大きいならばブロックは細分化される。
【００１２】
ブロックサイズ割当ては画素データを周波数領域データに変換する変換要素に提供される。変換はブロックサイズ割当てを通して選択されるブロックとサブブロックにのみ実行される。次に変換データは量子化と直列化を受ける。例えば、データの流れを生成するため、ジグザグ走査がデータを直列化するのに利用されるかもしれない。データの流れは送信に備えて可変長符号化器によってコード化されるかもしれない。コード化されたデータは送信チャンネルを通してデコーダに送られ、そこで画素データが表示に備えて再構成される。
【００１３】
本発明の特徴、目的、および利点は同一の対応参照符号を付した図面と関連して取られるとき、以下に示された詳細な記述からより明らかになるであろう。
【図面の簡単な説明】
【００１４】
【図１】本発明の分散に基づいたブロックサイズ割当てシステムおよび方法を取り入れる画像処理システムのブロックダイアグラムである。
【図２】分散に基づいたブロックサイズ割当てに含まれる処理ステップを示すフローチャートである。
【図３ａ】例示的ブロックサイズ割当てを示す。
【図３ｂ】対応するクオドトリー分解を示す。
【図３ｃ】対応するＰＱＲデータを示す。
【発明を実施するための形態】
【００１５】
デジタル信号のデジタル送信を容易にして対応する利益を持つために、一般に何らかの形式の信号圧縮を採用する必要がある。結果として生じるイメージでの高鮮明度を達成するために、またイメージの高品質が維持されることも重要である。その上、コンピュータの効率はコンパクトなハードウェア実現のために望ましく、それは多くの応用で重要である。
【００１６】
本発明は画像圧縮の実行においてイメージ品質とコンピュータの効率の両方を考慮に入れる画像圧縮のシステムまたは装置および方法を提供する。本発明の画像圧縮は離散コサイン変換(ＤＣＴ)技術に基づく。一般に、デジタル領域で処理されるべきイメージは重ならないブロック、ＮｘＮサイズのアレイに分割される画素データで構成されるだろう。二次元ＤＣＴは各ブロックで実行されるかもしれない。二次元ＤＣＴは以下の関係によって定義される:
【数１】
0005384696.tif 000002
【００１７】
ここに、x(m，n)はＮｘＭブロック中の画素位置 (m，n)であり、Ｘ(k，ｌ)は対応するＤＣＴ係数である。
【００１８】
画素値が負でないので、ＤＣＴ構成要素Ｘ(０，０)はいつも正であり、通常最も多くのエネルギーを持っている。事実上、典型的なイメージに関して、変換エネルギーの大部分は構成要素Ｘ(０，０)の周りに集結される。このエネルギー圧縮特性はＤＣＴの技術をそのような魅力的な圧縮方法にする。
【００１９】
本発明の画像圧縮技術は、一層のビットレート減少を達成するためにコントラスト適応性コード化を利用する。ほとんどの自然なイメージが平坦な比較的ゆるやかな変化領域、および物体の境界および高コントラストテクスチャなどの忙しい領域で作られることが観測された。コントラスト適応符号化方式は、忙しい領域へより多くのビットを、それほど忙しくない領域により少ないビットを割り当てることによりこの要素の利点を取る。
【００２０】
コントラスト適応性コード化はまたブロッキング効果を減少するために役立つ。他のＤＣＴコード化技術の実施では、ブロッキング効果は恐らくイメージ品質への最も重要な損傷である。その上、ブロッキング効果はイメージの忙しい領域でより知覚可能である傾向がある。しかしながら、より小さい寸法のＤＣＴが使用されるとき、ブロッキング効果が減少することがわかった。画素性能あたりのビットに悩まされるかもしれないが、２x２ＤＣＴが使用されるとき、ブロッキング効果は実際には目に見えなくなる。したがって、より小さいブロックサイズ（その結果、より多くのビット)を忙しい領域に割り当て、より大きいブロックサイズを比較的空白の領域へ割り当てることにより、コントラスト適応性コード化がブロッキング効果を減少させるかもしれない。
【００２１】
本発明の別の特徴はインターフレームコード化(時間と空間の処理)の代わりにイントラフレームコード化(空間の処理) を利用するということである。イントラフレームコード化の適用の１つの理由がインターフレームコード化信号を処理するために必要な受信器の高い複雑さである。インターフレームコード化はより複雑な処理回路に加えて本質的に多重フレームバッファを必要とする。多くの応用で、複雑さを減少することは実際の実施に必要である。
【００２２】
イントラフレームコード化を使用する第２の理由は、状況またはプログラム物質が時間と空間の符号化方式を崩壊させかつ不十分に実行させることができることにある。例えば、毎秒２４フレームの映画は、機械的なシャッターのために調整時間が比較的短いのでこのカテゴリに入ることができる。短い調整時間は高度な時間的エイリアシングを許容する。フレーム相関関係へのフレームの独占はそれがぴくぴく動くようになるような急速な動きのために崩壊する。
【００２３】
イントラフレームコード化を使用する付加的な理由は、５０Ｈｚと６０Ｈｚの電源周波数の両方が含まれるとき、時間と空間の符号化方式は標準化することがより難しいということである。テレビは現在５０Ｈｚか６０Ｈｚのどちらかで信号を送信する。デジタルアプローチであるイントラフレーム計画の使用は５０Ｈｚと６０Ｈｚの運転の両方に適用することができ、またはフレームレート対空間的な解像度のトレードオフにより毎秒２４フレームの映画でさえ適用することができる。
【００２４】
画像処理目的のために、ＤＣＴ演算は重ならないブロックのアレイに分割される画素データに実行される。ブロックサイズがＮｘＮサイズであるとしてここに議論されるが、様々なブロックサイズが使用されてもよいことが想定されることに注意すべきである。例えば、ＮｘＭブロックサイズが利用され、ここにＮとＭの両方が整数であり、ＭがＮより大きくても小さくてもよい。他の重要な態様は、ブロックがＮ/ixＮ/i、Ｎ/ixＮ/j、Ｎ/ixＭ/j、などのように少なくとも１つのサブブロックレベルに分割可能であることであり、ここにｉとｊは整数である。さらに、ここに議論する例示的ブロックサイズはＤＣＴ係数の対応するブロックとサブブロックを有する１６ｘ１６画素ブロックである。偶数または奇数の整数、例えば９x９のような他の様々な整数が使用されることがさらに想定される。
【００２５】
図１を参照すると、本発明の圧縮システムを取り入れる画像処理システム１００が示される。画像処理システム１００は受信されたビデオ信号を圧縮するエンコーダ１０２を含む。圧縮された信号は伝送チャンネル１０４で送信され、デコーダ１０６によって受信される。デコーダ１０６は受信された信号をイメージサンプルに復号し、次に、サンプルは表示されるかもしれない。
【００２６】
一般に、イメージは処理のために画素のブロックに分割される。カラー信号はＲＧＢスペースからＹＣ１Ｃ２スペースに変換され、Ｙは輝度、即ち明るさ成分であり、Ｃ１とＣ２は色光度、即ち色成分である。色に対する目の低い空間的な感度のため、多くのシステムは水平および垂直方向に４つの要素によりＣ１とＣ２成分をサブサンプルする。しかしながら、サブサンプルすることは必要ではない。４:４:４の形式として知られている十分な解像度イメージが“デジタルシネマ”をカバーするとして参照されるようにいくつかの応用で非常に有用または必要のいずれかであるかもしれない。２つの可能なＹＣ１Ｃ２表現は、ＹＩＱ表現、およびＹＵＶ表現であり、それの両方が技術でよく知られている。また、ＹＣｂＣｒとして知られているＹＵＶ表現の変形を使うことも可能である。
【００２７】
好ましい実施例では、Ｙ、ＣｂおよびＣｒ成分のそれぞれはサブサンプリングなしで処理される。したがって、画素の１６ｘ１６ブロックの入力はエンコーダ１０２に供給される。エンコーダ１０２はブロックサイズ割当て要素１０８を含み、それはビデオ圧縮に備えてブロックサイズ割当てを実行する。ブロックサイズ割当て要素１０８はブロックにおけるイメージの知覚特性に基づいて１６ｘ１６ブロックのブロック分解を決定する。ブロックサイズ割当ては１６ｘ１６ブロック内の活性に依存してクオドトリーの様式で各１６ｘ１６ブロックをより小さなブロックに細分化する。ブロックサイズ割当て要素１０８はＰＱＲデータと呼ばれる長さが１〜２１ビットであることができるクオドトリーデータを発生する。したがって、１６ｘ１６ブロックが分割されるべきであることをブロックサイズ割当てが決定するならば、ＰＱＲデータのＲビットが設定され、４つの分割された８x８ブロックに対応するＰデータの４つの付加的なビットにより続けられる。８x８ブロックのどれかが細分化されるべきであることをブロックサイズ割当てが決定するなら、細分化された各８x８ブロックのＱデータの４つの付加的なビットが加えられる。
【００２８】
図２を参照すると、ブロックサイズ割当て要素１０８の作動の詳細を示すフローチャートが提供される。アルゴリズムはブロックを細分化する決定におけるメトリックとしてブロックの分散を使用する。画素の１６ｘ１６ブロックが読まれるステップ２０２で始まっている。ステップ２０４では、１６x１６ブロックの分散、v１６が計算される。分散は以下の通り計算される:
【数２】
0005384696.tif 000003
【００２９】
ここにＮ=１６、およびｘｉ，ｊはＮｘＮブロック中のｉ番目の行、ｊ番目の列にある画素である。ステップ２０６で、ブロックの平均値が２つの予定の値の間にあるならば、最初の分散の閾値Ｔ１６が新しい閾値Ｔ'１６を提供するように変更され、そのときブロック分散は新しい閾値Ｔ'１６に対して比較される。
【００３０】
分散v１６が閾値Ｔ１６ほど大きくないならば、ステップ２０８で、１６ｘ１６ブロックの始めのアドレスが書かれ、ＰＱＲデータのＲビットは１６ｘ１６ブロックが細分化されないことを示すために０に設定される。アルゴリズムは画素の次の１６ｘ１６ブロックを読む。分散v１６が閾値Ｔ１６よりも大きいならば、ステップ２１０で、ＰＱＲデータのＲビットは１６ｘ１６ブロックが４つの８x８ブロックに細分化されるべきであることを示すために１に設定される。
【００３１】
４つの８x８ブロック、ｉ=１:４がステップ２１２に示されるようにさらなる細分化のために引き続いて考慮される。各８x８ブロックについて、分散v８ｉがステップ２１４で計算される。ステップ２１６において、ブロックの平均値が２つの予定された値の間にあるなら最初の分散の閾値Ｔ８は新しい閾値Ｔ'８を提供するように変更され、そのときブロック分散はこの新しい閾値と比較される。
【００３２】
分散v８ｉが閾値Ｔ８ほど大きくないならば、ステップ２１８で８x８ブロックの始めのアドレスが書かれ、対応するＱビット、Ｑｉが０に設定される。そして次の８x８ブロックが処理される。分散v８ｉが閾値Ｔ８よりも大きいなら、ステップ２２０において、対応するＱビット、Ｑｉは、８x８ブロックが４つの４x４ブロックに細分化されるべきであることを示すため１に設定される。
【００３３】
４つの４x４ブロック、ｊｉ＝１:４はステップ２２２に示されるようにさらなる細分化のために引き続いて考慮される。各４x４ブロックについて、分散v４ｉｊはステップ２２４で計算される。ステップ２２６で、ブロックの平均値が２つの予定された値の間にあるならば、最初の分散の閾値Ｔ４は新しい閾値Ｔ'４を提供するように変更され、次にブロック分散はこの新しい閾値と比較される。
【００３４】
分散v４ｉｊが閾値Ｔ４ほど大きくないならばステップ２２８で、４x４ブロックのアドレスが書かれ、対応するＰビット、Ｐｉｊは０に設定される。そして、次の４x４ブロックが処理される。分散v４ｉｊが閾値Ｔ４より大きいならば、４x４ブロックが４つの２x２ブロックに細分化されるべきであることを示すために、ステップ２３０で対応するＰビット、Ｐｉｊは１に設定される。さらに、４つの２x２ブロックのアドレスが書かれる。
【００３５】
閾値のＴ１６、Ｔ８、およびＴ４は予定された定数であってもよい。これはハードな決定として知られている。代わりに、適応性の、即ちソフトな決定が実行されてもよい。ソフトな決定は２Ｎx２Ｎブロックの平均画素値に依存して分散の閾値を変え、ここにＮは８、４、または２である。したがって平均画素値の関数は閾値として使用されてもよい。
【００３６】
説明目的のため以下の例を考える。Ｙ成分の予定された分散の閾値がそれぞれ１６ｘ１６、８x８、および４x４ブロックについて５０、１１００、および８８０であるとしよう。言い換えれば、Ｔ１６=５０、Ｔ８=１１００、およびＴ４=８８０である。平均値の範囲が８０と１００であるとしよう。１６ｘ１６ブロックの計算された分散が６０であると仮定する。６０はＴ１６より大きいので、１６ｘ１６ブロックが４つの８x８サブブロックに細分化される。８x８ブロックの計算された分散が１１８０、９３５、９８０、および１２１０であると仮定する。２つの８x８ブロックがＴ８を超える分散を有するので、これらの２つのブロックが合計８つの４x４サブブロックを生成するようにさらに細分化される。最終的に、４つの４x４ブロックの分散が対応する平均値９０、１２０、１１０、１１５を有して６２０、６３０、６７０、６１０であり、他の４つの４x４ブロックの分散が５９０、５２５、９３０、および６９０であると仮定する。最初の４x４ブロックの平均値が範囲(８０、１００)内に入るので、その閾値は８８０未満であるＴ'４=２００に下げられるだろう。そこで、この４x４ブロックは７番目の４x４ブロックと同様に細分化されるだろう。結果として起こるブロックサイズ割当ては図３ａに示される。対応するクオドトリーの分解は図３ｂに示される。さらに、このブロックサイズ割当てによって発生したＰＱＲデータは図３ｃに示される。
【００３７】
同様の手順がカラー成分Ｃ１とＣ２のためのブロックサイズ割当てに使用されることに注意すべきである。カラー成分は水平、垂直または両方に１０進法化されてもよい。
【００３８】
さらに、ブロックサイズ割当ては、最も大きいブロック(現在の例では１６ｘ１６)が最初に評価されるトップダウンアプローチとして記述されたが、ボトムアップアプローチが代わりに使用されてもよいことに注意すべきである。ボトムアップアプローチは最初に最も小さいブロック(現在の例では２x２)を評価するだろう。
【００３９】
図１に戻って、画像処理システム１１０の残りが説明されるだろう。選択されたブロックのアドレスと共にＰＱＲデータはＤＣＴ要素１１０に提供される。ＤＣＴ要素１１０は、選択されたブロックにおける適切なサイズの離散コサイン変換を実行するためにＰＱＲデータを使用する。選択されたブロックだけがＤＣＴ処理を受ける必要がある。
【００４０】
画像処理システム１００は、ＤＣＴのＤＣ係数中の冗長を減らすために選択的にＤＱＴ要素１１２を含んでもよい。ＤＣ係数はそれぞれのＤＣＴブロックの先頭の左隅で遭遇される。一般に、ＡＣ係数と比べてＤＣ係数は大きい。サイズの不一致は効率的な可変長コーダを設計することを難しくする。従って、ＤＣ係数中の冗長を減らすことは有利である。
【００４１】
ＤＱＴ要素１１２は一度に２x２を取られた、ＤＣ係数における２-Ｄ ＤＣＴを実行する。４x４ブロック中で２x２ブロックから始まって、２-Ｄ ＤＣＴは４つのＤＣ係数に実行される。この２x２ＤＣＴは４つのＤＣ係数の微分クオドトリー変換、即ちＤＱＴと呼ばれる。次に、８x８ブロックで３つの隣接しているＤＣ係数と共にＤＱＴのＤＣ係数は次のレベルのＤＱＴを計算するために使用される。最終的に、１６ｘ１６ブロック中の４つの８x８ブロックのＤＣ係数は、ＤＱＴを計算するために使用される。かくして１６ｘ１６ブロックにおいて、１つの真のＤＣ係数があり、残りはＤＣＴおよびＤＱＴに対応するＡＣ係数とである。
【００４２】
変換係数(ＤＣＴとＤＱＴの両方)は量子化のための量子化器１１４に提供される。好ましい実施例では、ＤＣＴ係数は周波数加重マスク(ＦＷＭ)と量子化スケールファクターを使用して量子化される。ＦＷＭは入力ＤＣＴ係数のブロックと同じ次元の周波数加重の表である。周波数加重は異なったＤＣＴ係数に異なった加重を適用する。加重は、人間の視覚システムがより敏感である周波数内容を持っている入力サンプルを強調して、視覚システムがより敏感でない周波数内容を持っているサンプルを反-強調するように設計される。加重はまた見る距離などの要因に基づいて設計されるかもしれない。
【００４３】
加重は実証的なデータに基づいて選択される。８x８ＤＣＴ係数の加重マスクを設計する方法が、ここに引用文献として組み込まれる、国際標準化協会１９９４、ＩＳＯ/ＩＥＣ ＪＣＴ１ ＣＤ１０９１８“Digital compression and encoding of continuous-tone still images-part1: Requirements and guidelines”に記述される。一般に、輝度成分のためのものと色光度成分のためのものと２つのＦＷＭが設計される。ブロックサイズ２x２、４x４のためのＦＷＭ表は１０進法化によっておよび８x８ブロックのそれの補間法によって１６ｘ１６を得られる。スケールファクターは品質および量子化係数のビットレートを制御する。
【００４４】
したがって、各ＤＣＴ係数が以下の関係にしたがって量子化される：
【数３】
0005384696.tif 000004
【００４５】
ここにＤＣＴ(i、j)は入力ＤＣＴ係数であり、ｆｗｍ(i、j)は周波数加重マスクであり、ｑはスケールファクターであり、そしてＤＣＴｑ(i、j)は量子化係数である。ＤＣＴ係数のサインに依存して、中括弧内部の最初の項が切り上がりまたは切り下がることに注意すべきである。ＤＱＴ係数はまた適当な加重マスクを使用して量子化される。しかしながら、複数の表またはマスクがそれぞれのＹ、Ｃｂ、およびＣｒ成分に使用されかつ適用されることができる。
【００４６】
量子化係数はジグザグ走査シリアライザ１１６に供給される。シリアライザ１１６は量子化係数の直列化された流れを生成すためにジグザグな様式で量子化係数のブロックを走査する。ジグザグ以外のパターンはもちろん、多くの異なったジグザグ走査のパターンがまた選択されてもよい。好ましい技術はジグザグ走査のために８x８ブロックサイズを採用するが、他のサイズも採用され得る。
【００４７】
ジグザグ走査シリアライザ１１６が量子化器１１４の前または後のいずれに置かれてもよいことに注意すべきである。最終的な結果は同じである。
【００４８】
どの場合でも、量子化係数の流れは可変長コーダ１１８に供給される。可変長コーダ１１８はハフマン（Huffman）コード化によって生じるゼロのランレングスコード化を使用させるかもしれない。この技術は前述の米国特許番号５，０２１，８９１、５，１０７，３４５、および５，４５２，１０４に詳述され、ここにまとめられる。ランレングスコーダは量子化係数を取り、非ゼロ係数からゼロを分離するだろう。ゼロ値がランレングス値として参照され、ハフマンコード化される。非ゼロ値は別々にハフマンコード化される。
【００４９】
量子化係数の変更されたハフマンコード化はまた可能であり、好ましい実施例で使用される。ここで、ジグザグ走査の後に、ランレングスコーダは各８x８ブロック中でランレングス/サイズ対を決定するだろう。そしてこれらのランレングス/サイズ対はハフマンコード化される。
【００５０】
ハフマンコードはイメージの測定か理論上の統計値のどちらかから設計される。ほとんどの自然なイメージが空白または比較的ゆっくり変化する領域、および対象物の境界および高コントラストテクスチャなどの忙しい領域で作られるのが観測された。ＤＣＴなどの周波数領域変換を有するハフマンコーダは、より多くのビットを忙しい領域に、より少ないビットを空白の領域に割当てることによってこれらの特徴を利用する。一般に、ハフマンコーダはランレングスおよび非ゼロ値をコード化するのにルックアップ表を利用する。複数の表は、望まれているように１つまたは２つが採用され得るが、本発明では一般に、３つの表が参照されて使用される。
【００５１】
エンコーダ１０２によって発生される圧縮されたイメージ信号は、伝送チャンネル１０４を通してデコーダ１０６に送信される。また、ブロックサイズ割当て情報を含むＰＱＲデータはまたデコーダ１０６に提供される。デコーダ１０６は可変長デコーダ１２０を含み、それはランレングス値および非ゼロ値を復号する。
【００５２】
可変長デコーダ１２０の出力は採用された走査方式に従って係数を順序付ける逆ジグザグ走査シリアライザ１２２に供給される。逆ジグザグ走査シリアライザ１２２は、合成係数ブロックに係数の適切な順序付けを援助するためにＰＱＲデータを受け取る。
【００５３】
合成ブロックは、周波数加重マスクの使用による処理を元に戻すために逆量子化器１２４に供給される。
【００５４】
微分クオドトリー変換が適用されたならば、係数ブロックはＩＤＣＴ要素１２８に続けられるＩＤＱＴ要素１２６に供給される。別の方法では、係数ブロックは直接ＩＤＣＴ要素１２８に供給される。ＩＤＱＴ要素１２６とＩＤＣＴ要素１２８は画素データのブロックを生成するため係数を逆変換する。画素データは次に、ＲＧＢ形式に補間され変換されなければならなく、またさらに表示のために格納されなくてはならないかもしれない。
【００５５】
従って、画素分散に基づくブロックサイズ割当てを実行する画像圧縮のためのシステムと方法が提示された。分散に基づいたブロックサイズ割当てはいくつかの利点を提供する。ブロックサイズが決定された後に離散コサイン変換が実行されるので、効率的な計算が達成される。計算上集中的な変換は選択されたブロックに実行されることのみが必要である。さらに、画素値の分散が計算するのに数学的に簡単であるので、ブロック選択の過程は効率的である。分散に基づくブロックサイズ割当ての別の利点は知覚的に基づくということである。画素分散はブロック内活性の測定値であり、縁、テクスチャなどの存在の指示を提供する。それは画素値の平均などの測定よりもはるかに良いブロックの細部を捕らえる傾向がある。したがって、本発明の分散に基づく方式はより多くの縁のある領域に小さなブロックを割り当て、より平坦な領域により大きいブロックを割当てる。その結果、再構成されたイメージに傑出している品質が達成され得る。
【００５６】
あと、別の重要な利点は、ブロックサイズ割当てが量子化の前に為されるので、より大きな柔軟性がビットレートおよび品質の制御において与えられるということにある。分散閾値が局部的平均に適合されるので、小さなブロックは比較的暗い領域でさえ割り当てられる。これはまさしく顕著な可視閾値を越えているすべての領域についての詳細を保存する。さらに、分散に基づく画像圧縮は、量子化スケールファクターが低い値から高い値に変化したとき、ＭＰＥＧのような方式と違って、イメージ品質のグレースフルデグラデーションを提供する。これはデジタルシネマの領域などの応用には特に決定的である。
【００５７】
高い需要のあるデジタルビデオで、海賊行為が重大な脅威がある。デジタル透かし（watermarking）は著作権侵害および歳入の損失を阻止する重要な要求である。透かしが知覚的に重要なメージの領域で行われるとき、分散に基づいたブロックサイズ割当ては透かしを入れるための自然な候補である。
【００５８】
好ましい実施例の前の記述は、技術に熟練したどんな人も本発明を作るか、または使用することを可能にするために提供される。これらの実施例に対する様々な変更は容易に技術に熟練した者に明らかになるだろう、そして、ここに定義される一般的な原則は他の実施例に発明的な才能の使用なしで適用されるかもしれない。したがって、本発明はここに示された実施例に限定されることを意図させず、ここに開示された原理と新規な特徴とに一致した最も広い範囲に従うべきである。
【図１】
0005384696.tif 000005
【図２】
0005384696.tif 000006
【図３ａ】
0005384696.tif 000007
【図３ｂ】
0005384696.tif 000008
【図３ｃ】
0005384696.tif 000009