説明

分散に基づいた適応性ブロックサイズDCT画像圧縮

【課題】離散コサイン変換係数データの適応性サイズブロックおよびサブブロックを利用する形で、ハードウエア実現をより効率的にする画像圧縮のシステムおよび方法を提供する。
【解決手段】エンコーダのブロックサイズ割り当て要素は処理されるべき画素の入力ブロックのブロックまたはサブブロックを選択する。選択は画素値の分散に基づいて実施される。閾値より大きな分散を有するブロックは細分割され、一方閾値より小さい分散を有するブロックは細分割されない。変換要素は選択されたブロックの画素値を周波数領域に変換する。周波数領域値は量子化され、直列化され、送信のために可変長符号化される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理に関する。特に、本発明はコード化された離散コサイン変換係数データの適応性サイズブロックおよびサブブロックを利用するイメージ信号の圧縮方式に関連する。
【背景技術】
【0002】
“フィルム”または“映画”投影に使用されるようなビデオ信号の送信および受信の分野では、様々な改良が画像圧縮の技術になされている。現下のそして提案されたビデオシステムの多くがデジタルコード化技術を使用してなされる。デジタルコード化は、多重経路フェージングおよびジャミングまたは信号干渉のような、その各々が別な方法でイメージ品質を非常に低下させることができる損傷に抵抗する通信リンクの丈夫さを提供する。その上、デジタル技術は使用信号の暗号技術を促進し、それは政府と多くの新たに展開している商業放送応用に役立ちまたは必要でさえあることを見出す。
【0003】
高鮮明度ビデオは改良された画像圧縮の技術の利益を得る領域である。最初に提案されたとき、高鮮明度ビデオの空中送信(または、電線またはファイバー光送信さえ)過度の帯域幅を必要とするので非実用的に見えた。設計されている典型的な無線または、他の送信システムは十分な帯域幅を容易に収容しなかった。しかしながら、デジタルビデオ信号の圧縮が適度な帯域幅を使用して送信を可能にするレベルに達成されるかもしれないとわかった。信号のデジタル伝送と結合されたそのようなレベルの信号圧縮は、ビデオシステムがより望ましくて役に立つ帯域幅を占めながら、チャンネル損傷に対してより強い免疫性を有するより少ないパワーでの伝送を可能にするだろう。
【0004】
ビデオ信号のために必要なレベルの品質を保存して、重要なレベルの圧縮を提供することができる1つの圧縮技術は、コード化された離散コサイン変換(DCT)係数データの適応性寸法のブロックとサブブロックを利用する。この技術は以下に、適応性ブロックサイズ微分コサイン変換(Adaptive Block Size Differential Cosine Transform)(ABSDCT)方法と呼ばれるだろう。この技術は本発明の譲受人に譲渡され、ここに引用文献として組み込まれる“適応性ブロックサイズ画像圧縮方法およびシステム”と題する米国特許番号5,021,891に開示される。また、DCTの技術は本発明の譲受人に譲渡され、ここに引用文献として組み込まれる“適応性ブロックサイズ画像圧縮方法およびシステム”と題する米国特許番号5,107,345にも開示される。さらに、微分クオドトリー変換(Differential Quad-tree Transform)技術と組み合わせてABSDCT技術の使用については、本発明の譲受人に譲渡され、ここに引用文献として組み込まれる“適応性ブロックサイズ画像圧縮方法およびシステム”と題する米国特許番号5,452,104で議論される。これらの特許で開示されるシステムは“イントラフレーム”と呼ばれるものを利用し、それはイメージデータの各フレームがいかなる他のフレームの内容にも関係なしでコード化される。ABSDCTの技術を使用して、達成可能なデータレートはイメージ品質の認識できる低下なしで略15億bpsから略5000万bpsまで減少するかもしれない。
【0005】
ABSDCTの技術は、白黒またはカラーイメージあるいはイメージを表わす信号の何れかを圧縮するのに使用されるかもしれない。カラー入力信号はYIQ形式であり、Yはサンプルの輝度、即ち明るさであり、IおよびQは画素の4x4ブロックサンプルの色光度、即ち色である。YUVまたはRGB形式などの他の知られている形式もまた使用されるかもしれない。色に対する目の低い空間的感度のために、ほとんどの研究が水平および垂直方向の4の要素によるカラー成分のサブサンプルが適度であることを示した。従って、ビデオ信号は4つの輝度成分と2つの色光度成分によって表されるかもしれない。
【0006】
ABSDCTを使用すると、ビデオ信号は一般に処理のために画素のブロックに区分されるだろう。各ブロックについて、輝度と色光度の成分はブロックインターリーバに通される。例えば、離散コサイン変換(DCT)分析のためデータのブロックおよび複合サブブロックを生成するため、16x16(画素)ブロックは各16x16ブロック内にイメージサンプルを整理または組織化するブロックインターリーバに提出されるかもしれない。DCT演算子は時間で抽出された信号を同じ信号の周波数表現に変換する1つの方法である。周波数表現に変えることによって、量子化器がイメージの周波数分布特性の利点を取るように設計されることができるので、DCT技術は非常に高レベルの圧縮を許容することを示した。好ましい実施例では、1つの16x16DCTは最初の順序付けに適用され、4つの8x8DCTが第2の順序付けに適用され、16の4x4DCTは第3の順序付けに適用され、64の2x2DCTは第4の順序付けに適用される。
【0007】
DCT演算はビデオソースに固有の空間的な冗長を減少する。DCTが実行された後に、ビデオ信号エネルギーの大部分は、いくつかのDCT係数に集結される傾向がある。付加的な変換、微分クオドトリー変換(DQT)は、DCT係数中の冗長を減少するのに使用されるかもしれない。
【0008】
16x16ブロックとそれぞれのサブブロックに関しては、DCT係数値とDQT値(DQTが使用されているならば)は、ブロックまたはサブブロックをコード化するために必要とされるビット数を決定するために分析される。そして、コード化するビットの最小数を必要とするブロックまたはサブブロックの組み合わせがイメージセグメントを表すために選ばれる。例えば、2つの8x8サブブロック、6つの4x4サブブロック、および8つの2x2サブブロックがイメージセグメントを表すために選ばれるかもしれない。
【0009】
そして、選ばれたブロックまたはサブブロックの組み合わせが16x16ブロック内に適切に整然として配列される。次に、DCT/DQT係数値は送信に備えて周波数加重、量子化、およびコード化(可変長さコード化など)を受けるかもしれない。
【0010】
上で説明されたABSDCT技術は著しくよく働くが、それは計算機的に集中的である。したがって、技術のコンパクトなハードウェア実現は難しいかもしれない。ハードウェア実現をより効率的にする代替の技術が望まれている。計算機的により有能な画像圧縮方法とシステムが本発明によって以下で説明された方法による提供される。
【発明の概要】
【0011】
本発明は離散コサイン変換係数データの適応性サイズブロックおよびサブブロックを利用する画像圧縮システムおよび方法である。一実施例では、画素の16x16ブロックがエンコーダへ入力される。エンコーダは処理のための画素の入力ブロックを区分するブロックサイズ割当て要素を含む。ブロックサイズ割当ては入力ブロックおよび細分化されたブロックの分散に基づく。一般に、ブロックおよびサブブロック平均値が異なった予定の範囲に入ると、より小さい分散を有する領域が細分化されないが、より大きい分散がある領域はより小さなブロックに細分化されるだろう。このようにして、ブロックの第1の分散閾値はその平均値に依存するその名目上の値から変更され、次にブロックの分散は閾値と比較され、そして分散が閾値よりも大きいならばブロックは細分化される。
【0012】
ブロックサイズ割当ては画素データを周波数領域データに変換する変換要素に提供される。変換はブロックサイズ割当てを通して選択されるブロックとサブブロックにのみ実行される。次に変換データは量子化と直列化を受ける。例えば、データの流れを生成するため、ジグザグ走査がデータを直列化するのに利用されるかもしれない。データの流れは送信に備えて可変長符号化器によってコード化されるかもしれない。コード化されたデータは送信チャンネルを通してデコーダに送られ、そこで画素データが表示に備えて再構成される。
【0013】
本発明の特徴、目的、および利点は同一の対応参照符号を付した図面と関連して取られるとき、以下に示された詳細な記述からより明らかになるであろう。
【図面の簡単な説明】
【0014】
【図1】本発明の分散に基づいたブロックサイズ割当てシステムおよび方法を取り入れる画像処理システムのブロックダイアグラムである。
【図2】分散に基づいたブロックサイズ割当てに含まれる処理ステップを示すフローチャートである。
【図3a】例示的ブロックサイズ割当てを示す。
【図3b】対応するクオドトリー分解を示す。
【図3c】対応するPQRデータを示す。
【発明を実施するための形態】
【0015】
デジタル信号のデジタル送信を容易にして対応する利益を持つために、一般に何らかの形式の信号圧縮を採用する必要がある。結果として生じるイメージでの高鮮明度を達成するために、またイメージの高品質が維持されることも重要である。その上、コンピュータの効率はコンパクトなハードウェア実現のために望ましく、それは多くの応用で重要である。
【0016】
本発明は画像圧縮の実行においてイメージ品質とコンピュータの効率の両方を考慮に入れる画像圧縮のシステムまたは装置および方法を提供する。本発明の画像圧縮は離散コサイン変換(DCT)技術に基づく。一般に、デジタル領域で処理されるべきイメージは重ならないブロック、NxNサイズのアレイに分割される画素データで構成されるだろう。二次元DCTは各ブロックで実行されるかもしれない。二次元DCTは以下の関係によって定義される:
【数1】

【0017】
ここに、x(m,n)はNxMブロック中の画素位置 (m,n)であり、X(k,l)は対応するDCT係数である。
【0018】
画素値が負でないので、DCT構成要素X(0,0)はいつも正であり、通常最も多くのエネルギーを持っている。事実上、典型的なイメージに関して、変換エネルギーの大部分は構成要素X(0,0)の周りに集結される。このエネルギー圧縮特性はDCTの技術をそのような魅力的な圧縮方法にする。
【0019】
本発明の画像圧縮技術は、一層のビットレート減少を達成するためにコントラスト適応性コード化を利用する。ほとんどの自然なイメージが平坦な比較的ゆるやかな変化領域、および物体の境界および高コントラストテクスチャなどの忙しい領域で作られることが観測された。コントラスト適応符号化方式は、忙しい領域へより多くのビットを、それほど忙しくない領域により少ないビットを割り当てることによりこの要素の利点を取る。
【0020】
コントラスト適応性コード化はまたブロッキング効果を減少するために役立つ。他のDCTコード化技術の実施では、ブロッキング効果は恐らくイメージ品質への最も重要な損傷である。その上、ブロッキング効果はイメージの忙しい領域でより知覚可能である傾向がある。しかしながら、より小さい寸法のDCTが使用されるとき、ブロッキング効果が減少することがわかった。画素性能あたりのビットに悩まされるかもしれないが、2x2DCTが使用されるとき、ブロッキング効果は実際には目に見えなくなる。したがって、より小さいブロックサイズ(その結果、より多くのビット)を忙しい領域に割り当て、より大きいブロックサイズを比較的空白の領域へ割り当てることにより、コントラスト適応性コード化がブロッキング効果を減少させるかもしれない。
【0021】
本発明の別の特徴はインターフレームコード化(時間と空間の処理)の代わりにイントラフレームコード化(空間の処理) を利用するということである。イントラフレームコード化の適用の1つの理由がインターフレームコード化信号を処理するために必要な受信器の高い複雑さである。インターフレームコード化はより複雑な処理回路に加えて本質的に多重フレームバッファを必要とする。多くの応用で、複雑さを減少することは実際の実施に必要である。
【0022】
イントラフレームコード化を使用する第2の理由は、状況またはプログラム物質が時間と空間の符号化方式を崩壊させかつ不十分に実行させることができることにある。例えば、毎秒24フレームの映画は、機械的なシャッターのために調整時間が比較的短いのでこのカテゴリに入ることができる。短い調整時間は高度な時間的エイリアシングを許容する。フレーム相関関係へのフレームの独占はそれがぴくぴく動くようになるような急速な動きのために崩壊する。
【0023】
イントラフレームコード化を使用する付加的な理由は、50Hzと60Hzの電源周波数の両方が含まれるとき、時間と空間の符号化方式は標準化することがより難しいということである。テレビは現在50Hzか60Hzのどちらかで信号を送信する。デジタルアプローチであるイントラフレーム計画の使用は50Hzと60Hzの運転の両方に適用することができ、またはフレームレート対空間的な解像度のトレードオフにより毎秒24フレームの映画でさえ適用することができる。
【0024】
画像処理目的のために、DCT演算は重ならないブロックのアレイに分割される画素データに実行される。ブロックサイズがNxNサイズであるとしてここに議論されるが、様々なブロックサイズが使用されてもよいことが想定されることに注意すべきである。例えば、NxMブロックサイズが利用され、ここにNとMの両方が整数であり、MがNより大きくても小さくてもよい。他の重要な態様は、ブロックがN/ixN/i、N/ixN/j、N/ixM/j、などのように少なくとも1つのサブブロックレベルに分割可能であることであり、ここにiとjは整数である。さらに、ここに議論する例示的ブロックサイズはDCT係数の対応するブロックとサブブロックを有する16x16画素ブロックである。偶数または奇数の整数、例えば9x9のような他の様々な整数が使用されることがさらに想定される。
【0025】
図1を参照すると、本発明の圧縮システムを取り入れる画像処理システム100が示される。画像処理システム100は受信されたビデオ信号を圧縮するエンコーダ102を含む。圧縮された信号は伝送チャンネル104で送信され、デコーダ106によって受信される。デコーダ106は受信された信号をイメージサンプルに復号し、次に、サンプルは表示されるかもしれない。
【0026】
一般に、イメージは処理のために画素のブロックに分割される。カラー信号はRGBスペースからYCスペースに変換され、Yは輝度、即ち明るさ成分であり、CとCは色光度、即ち色成分である。色に対する目の低い空間的な感度のため、多くのシステムは水平および垂直方向に4つの要素によりCとC成分をサブサンプルする。しかしながら、サブサンプルすることは必要ではない。4:4:4の形式として知られている十分な解像度イメージが“デジタルシネマ”をカバーするとして参照されるようにいくつかの応用で非常に有用または必要のいずれかであるかもしれない。2つの可能なYC表現は、YIQ表現、およびYUV表現であり、それの両方が技術でよく知られている。また、YCbCrとして知られているYUV表現の変形を使うことも可能である。
【0027】
好ましい実施例では、Y、CbおよびCr成分のそれぞれはサブサンプリングなしで処理される。したがって、画素の16x16ブロックの入力はエンコーダ102に供給される。エンコーダ102はブロックサイズ割当て要素108を含み、それはビデオ圧縮に備えてブロックサイズ割当てを実行する。ブロックサイズ割当て要素108はブロックにおけるイメージの知覚特性に基づいて16x16ブロックのブロック分解を決定する。ブロックサイズ割当ては16x16ブロック内の活性に依存してクオドトリーの様式で各16x16ブロックをより小さなブロックに細分化する。ブロックサイズ割当て要素108はPQRデータと呼ばれる長さが1〜21ビットであることができるクオドトリーデータを発生する。したがって、16x16ブロックが分割されるべきであることをブロックサイズ割当てが決定するならば、PQRデータのRビットが設定され、4つの分割された8x8ブロックに対応するPデータの4つの付加的なビットにより続けられる。8x8ブロックのどれかが細分化されるべきであることをブロックサイズ割当てが決定するなら、細分化された各8x8ブロックのQデータの4つの付加的なビットが加えられる。
【0028】
図2を参照すると、ブロックサイズ割当て要素108の作動の詳細を示すフローチャートが提供される。アルゴリズムはブロックを細分化する決定におけるメトリックとしてブロックの分散を使用する。画素の16x16ブロックが読まれるステップ202で始まっている。ステップ204では、16x16ブロックの分散、v16が計算される。分散は以下の通り計算される:
【数2】

【0029】
ここにN=16、およびxi,jはNxNブロック中のi番目の行、j番目の列にある画素である。ステップ206で、ブロックの平均値が2つの予定の値の間にあるならば、最初の分散の閾値T16が新しい閾値T'16を提供するように変更され、そのときブロック分散は新しい閾値T'16に対して比較される。
【0030】
分散v16が閾値T16ほど大きくないならば、ステップ208で、16x16ブロックの始めのアドレスが書かれ、PQRデータのRビットは16x16ブロックが細分化されないことを示すために0に設定される。アルゴリズムは画素の次の16x16ブロックを読む。分散v16が閾値T16よりも大きいならば、ステップ210で、PQRデータのRビットは16x16ブロックが4つの8x8ブロックに細分化されるべきであることを示すために1に設定される。
【0031】
4つの8x8ブロック、i=1:4がステップ212に示されるようにさらなる細分化のために引き続いて考慮される。各8x8ブロックについて、分散v8がステップ214で計算される。ステップ216において、ブロックの平均値が2つの予定された値の間にあるなら最初の分散の閾値T8は新しい閾値T'8を提供するように変更され、そのときブロック分散はこの新しい閾値と比較される。
【0032】
分散v8が閾値T8ほど大きくないならば、ステップ218で8x8ブロックの始めのアドレスが書かれ、対応するQビット、Qが0に設定される。そして次の8x8ブロックが処理される。分散v8が閾値T8よりも大きいなら、ステップ220において、対応するQビット、Qは、8x8ブロックが4つの4x4ブロックに細分化されるべきであることを示すため1に設定される。
【0033】
4つの4x4ブロック、j=1:4はステップ222に示されるようにさらなる細分化のために引き続いて考慮される。各4x4ブロックについて、分散v4ijはステップ224で計算される。ステップ226で、ブロックの平均値が2つの予定された値の間にあるならば、最初の分散の閾値T4は新しい閾値T'4を提供するように変更され、次にブロック分散はこの新しい閾値と比較される。
【0034】
分散v4ijが閾値T4ほど大きくないならばステップ228で、4x4ブロックのアドレスが書かれ、対応するPビット、Pijは0に設定される。そして、次の4x4ブロックが処理される。分散v4ijが閾値T4より大きいならば、4x4ブロックが4つの2x2ブロックに細分化されるべきであることを示すために、ステップ230で対応するPビット、Pijは1に設定される。さらに、4つの2x2ブロックのアドレスが書かれる。
【0035】
閾値のT16、T8、およびT4は予定された定数であってもよい。これはハードな決定として知られている。代わりに、適応性の、即ちソフトな決定が実行されてもよい。ソフトな決定は2Nx2Nブロックの平均画素値に依存して分散の閾値を変え、ここにNは8、4、または2である。したがって平均画素値の関数は閾値として使用されてもよい。
【0036】
図の目的のため以下の例を考える。Y成分の予定された分散の閾値がそれぞれ16x16、8x8、および4x4ブロックについて50、1100、および880であるとしよう。言い換えれば、T16=50、T8=1100、およびT4=880である。平均値の範囲が80と100であるとしよう。16x16ブロックの計算された分散が60であると仮定する。60とその平均値90はT16より大きいので、16x16ブロックが4つの8x8サブブロックに細分化される。8x8ブロックの計算された分散が1180、935、980、および1210であると仮定する。2つの8x8ブロックがT8を超える分散を有するので、これらの2つのブロックが合計8つの4x4サブブロックを生成するようにさらに細分化される。最終的に、8つの4x4ブロックの分散が対応する平均値90、120、110、115を有して620、630、670、610、590、525、930、および690であると仮定する。最初の4x4ブロックの平均値が範囲(80、100)内に入るので、その閾値は880未満であるT'4=200に下げられるだろう。そこで、この4x4ブロックは7番目の4x4ブロックと同様に細分化されるだろう。結果として起こるブロックサイズ割当ては図3aに示される。対応するクオドトリーの分解は図3bに示される。さらに、このブロックサイズ割当てによって発生したPQRデータは図3cに示される。
【0037】
同様の手順がカラー成分CとCのためのブロックサイズ割当てに使用されることに注意すべきである。カラー成分は水平、垂直または両方に10進法化されてもよい。
【0038】
さらに、ブロックサイズ割当ては、最も大きいブロック(現在の例では16x16)が最初に評価されるトップダウンアプローチとして記述されたが、ボトムアップアプローチが代わりに使用されてもよいことに注意すべきである。ボトムアップアプローチは最初に最も小さいブロック(現在の例では2x2)を評価するだろう。
【0039】
図1に戻って、画像処理システム110の残りが説明されるだろう。選択されたブロックのアドレスと共にPQRデータはDCT要素110に提供される。DCT要素110は、選択されたブロックにおける適切なサイズの離散コサイン変換を実行するためにPQRデータを使用する。選択されたブロックだけがDCT処理を受ける必要がある。
【0040】
画像処理システム100は、DCTのDC係数中の冗長を減らすために選択的にDQT要素112を含んでもよい。DC係数はそれぞれのDCTブロックの先頭の左隅で遭遇される。一般に、AC係数と比べてDC係数は大きい。サイズの不一致は効率的な可変長コーダを設計することを難しくする。従って、DC係数中の冗長を減らすことは有利である。
【0041】
DQT要素112は一度に2x2を取られた、DC係数における2-D DCTを実行する。4x4ブロック中で2x2ブロックから始まって、2-D DCTは4つのDC係数に実行される。この2x2DCTは4つのDC係数の微分クオドトリー変換、即ちDQTと呼ばれる。次に、8x8ブロックで3つの隣接しているDC係数と共にDQTのDC係数は次のレベルのDQTを計算するために使用される。最終的に、16x16ブロック中の4つの8x8ブロックのDC係数は、DQTを計算するために使用される。かくして16x16ブロックにおいて、1つの真のDC係数があり、残りはDCTおよびDQTに対応するAC係数とである。
【0042】
変換係数(DCTとDQTの両方)は量子化のための量子化器114に提供される。好ましい実施例では、DCT係数は周波数加重マスク(FWM)と量子化スケールファクターを使用して量子化される。FWMは入力DCT係数のブロックと同じ次元の周波数加重の表である。周波数加重は異なったDCT係数に異なった加重を適用する。加重は、人間の視覚システムがより敏感である周波数内容を持っている入力サンプルを強調して、視覚システムがより敏感でない周波数内容を持っているサンプルを反-強調するように設計される。加重はまた見る距離などの要因に基づいて設計されるかもしれない。
【0043】
加重は実証的なデータに基づいて選択される。8x8DCT係数の加重マスクを設計する方法が、ここに引用文献として組み込まれる、国際標準化協会1994、ISO/IEC JCT1 CD10918“Digital compression and encoding of continuous-tone still images-part1: Requirements and guidelines”に記述される。一般に、輝度成分のためのものと色光度成分のためのものと2つのFWMが設計される。ブロックサイズ2x2、4x4のためのFWM表は10進法化によっておよび8x8ブロックのそれの補間法によって16x16を得られる。スケールファクターは品質および量子化係数のビットレートを制御する。
【0044】
したがって、各DCT係数が以下の関係にしたがって量子化される:
【数3】

【0045】
ここにDCT(i、j)は入力DCT係数であり、fwm(i、j)は周波数加重マスクであり、qはスケールファクターであり、そしてDCTq(i、j)は量子化係数である。DCT係数のサインに依存して、中括弧内部の最初の項が切り上がりまたは切り下がることに注意すべきである。DQT係数はまた適当な加重マスクを使用して量子化される。しかしながら、複数の表またはマスクがそれぞれのY、Cb、およびCr成分に使用されかつ適用されることができる。
【0046】
量子化係数はジグザグ走査シリアライザ116に供給される。シリアライザ116は量子化係数の直列化された流れを生成すためにジグザグな様式で量子化係数のブロックを走査する。ジグザグ以外のパターンはもちろん、多くの異なったジグザグ走査のパターンがまた選択されてもよい。好ましい技術はジグザグ走査のために8x8ブロックサイズを採用するが、他のサイズも採用され得る。
【0047】
ジグザグ走査シリアライザ116が量子化器114の前または後のいずれに置かれてもよいことに注意すべきである。最終的な結果は同じである。
【0048】
どの場合でも、量子化係数の流れは可変長コーダ118に供給される。可変長コーダ118はハフマン(Huffman)コード化によって生じるゼロのランレングスコード化を使用させるかもしれない。この技術は前述の米国特許番号5,021,891、5,107,345、および5,452,104に詳述され、ここにまとめられる。ランレングスコーダは量子化係数を取り、非ゼロ係数からゼロを分離するだろう。ゼロ値がランレングス値として参照され、ハフマンコード化される。非ゼロ値は別々にハフマンコード化される。
【0049】
量子化係数の変更されたハフマンコード化はまた可能であり、好ましい実施例で使用される。ここで、ジグザグ走査の後に、ランレングスコーダは各8x8ブロック中でランレングス/サイズ対を決定するだろう。そしてこれらのランレングス/サイズ対はハフマンコード化される。
【0050】
ハフマンコードはイメージの測定か理論上の統計値のどちらかから設計される。ほとんどの自然なイメージが空白または比較的ゆっくり変化する領域、および対象物の境界および高コントラストテクスチャなどの忙しい領域で作られるのが観測された。DCTなどの周波数領域変換を有するハフマンコーダは、より多くのビットを忙しい領域に、より少ないビットを空白の領域に割当てることによってこれらの特徴を利用する。一般に、ハフマンコーダはランレングスおよび非ゼロ値をコード化するのにルックアップ表を利用する。複数の表は、望まれているように1つまたは2つが採用され得るが、本発明では一般に、3つの表が参照されて使用される。
【0051】
エンコーダ102によって発生される圧縮されたイメージ信号は、伝送チャンネル104を通してデコーダ106に送信される。また、ブロックサイズ割当て情報を含むPQRデータはまたデコーダ106に提供される。デコーダ106は可変長デコーダ120を含み、それはランレングス値および非ゼロ値を復号する。
【0052】
可変長デコーダ120の出力は採用された走査方式に従って係数を順序付ける逆ジグザグ走査シリアライザ122に供給される。逆ジグザグ走査シリアライザ122は、合成係数ブロックに係数の適切な順序付けを援助するためにPQRデータを受け取る。
【0053】
合成ブロックは、周波数加重マスクの使用による処理を元に戻すために逆量子化器124に供給される。
【0054】
微分クオドトリー変換が適用されたならば、係数ブロックはIDCT要素128に続けられるIDQT要素126に供給される。別の方法では、係数ブロックは直接IDCT要素128に供給される。IDQT要素126とIDCT要素128は画素データのブロックを生成するため係数を逆変換する。画素データは次に、RGB形式に補間され変換されなければならなく、またさらに表示のために格納されなくてはならないかもしれない。
【0055】
従って、画素分散に基づくブロックサイズ割当てを実行する画像圧縮のためのシステムと方法が提示された。分散に基づいたブロックサイズ割当てはいくつかの利点を提供する。ブロックサイズが決定された後に離散コサイン変換が実行されるので、効率的な計算が達成される。計算上集中的な変換は選択されたブロックに実行されることのみが必要である。さらに、画素値の分散が計算するのに数学的に簡単であるので、ブロック選択の過程は効率的である。分散に基づくブロックサイズ割当ての別の利点は知覚的に基づくということである。画素分散はブロック内活性の測定値であり、縁、テクスチャなどの存在の指示を提供する。それは画素値の平均などの測定よりもはるかに良いブロックの細部を捕らえる傾向がある。したがって、本発明の分散に基づく方式はより多くの縁のある領域に小さなブロックを割り当て、より平坦な領域により大きいブロックを割当てる。その結果、再構成されたイメージに傑出している品質が達成され得る。
【0056】
あと、別の重要な利点は、ブロックサイズ割当てが量子化の前に為されるので、より大きな柔軟性がビットレートおよび品質の制御において与えられるということにある。分散閾値が局部的平均に適合されるので、小さなブロックは比較的暗い領域でさえ割り当てられる。これはまさしく顕著な可視閾値を越えているすべての領域についての詳細を保存する。さらに、分散に基づく画像圧縮は、量子化スケールファクターが低い値から高い値に変化したとき、MPEGのような方式と違って、イメージ品質のグレースフルデグラデーションを提供する。これはデジタルシネマの領域などの応用には特に決定的である。
【0057】
高い需要のあるデジタルビデオで、海賊行為が重大な脅威がある。デジタル透かし(watermarking)は著作権侵害および歳入の損失を阻止する重要な要求である。透かしが知覚的に重要なメージの領域で行われるとき、分散に基づいたブロックサイズ割当ては透かしを入れるための自然な候補である。
【0058】
好ましい実施例の前の記述は、技術に熟練したどんな人も本発明を作るか、または使用することを可能にするために提供される。これらの実施例に対する様々な変更は容易に技術に熟練した者に明らかになるだろう、そして、ここに定義される一般的な原則は他の実施例に発明的な才能の使用なしで適用されるかもしれない。したがって、本発明はここに示された実施例に限定されることを意図させず、ここに開示された原理と新規な特徴とに一致した最も広い範囲に従うべきである。

【特許請求の範囲】
【請求項1】
入力ブロックの圧縮に使用されるイメージ画素の入力ブロックのためのブロックサイズ割当てを決定する方法であって、
画素データのブロックを読み、
画素データの前記ブロックおよび画素データの前記ブロックの細分化されたブロックの画素値の分散に基づいてブロックサイズ割当てを生成し、
前記ブロックサイズ割当てに情報を含んでいるデータ構造を提供する、ステップを含む方法。
【請求項2】
前記生成するステップが、
画素データの前記ブロックの画素値の分散を決定し、
前記分散を閾値と比較し、
前記比較ステップの結果に基づいて前記ブロックを細分化する判定をし、
前記判定が前記ブロックを細分化することであるならば、予定の評価基準が満たされるまで、各細分化されたブロックについて決定、比較、および判定をするステップを繰り返し、
さらに細分化されない各ブロックを前記ブロックサイズ割当てとして選定する、ステップを含む請求項1の方法。
【請求項3】
前記分散が前記閾値よりも大きいならば、判定をする前記ステップが細分化されるべきブロックを取りに行く請求項2の方法。
【請求項4】
前記閾値が予め設定される請求項3の方法。
【請求項5】
前記閾値が評価されているブロックの平均画素値の関数である請求項3の方法。
【請求項6】
前記閾値が細分割の各レベルに関して変わる請求項2の方法。
【請求項7】
決定、比較、および判定をするステップをもはや繰り返さないための前記評価基準が画素データの予め選択された最小のブロックサイズに基づかされた請求項2の方法。
【請求項8】
画素データのブロックを圧縮するための画像圧縮システムであって、
画素データの前記ブロックおよび画素データの前記ブロックの細分化されたブロックの画素値の分散に基づいて圧縮されるべき前記ブロックのブロックまたは細分化されたブロックを選択するブロックサイズ割当て手段、
前記選択されたブロックまたは細分化されたブロックの画素データを周波数領域データに変換する変換手段、
前記周波数領域データを量子化する量子化器手段、
前記量子化されたデータを直列化された流れのデータに走査するシリアライザ手段、
送信の準備のため前記直列化された流れを符号化する可変長コード化手段、
を含むシステム。
【請求項9】
前記ブロックサイズ割当て手段は画素データの前記ブロックの画素値の分散を決定し、前記分散を閾値と比較し、前記比較の結果に基づいて前記ブロックを細分化する判定をし、前記判定が前記ブロックを細分化することであるならば、予定の評価基準が満たされるまで、各細分化されたブロックについて分散の決定、閾値との比較、および細分化の判定を繰り返し、さらに細分化されない各ブロックを前記ブロックサイズ割当てとして選定する、請求項8のシステム。
【請求項10】
前記分散が前記閾値よりも大きいならば、細分化する前記判定が細分化されるべきブロックを取りに行く請求項9のシステム。
【請求項11】
前記閾値が予め設定される請求項10のシステム。
【請求項12】
前記閾値が評価されるブロックの平均画素値の関数である請求項10のシステム。
【請求項13】
前記閾値が細分割の各レベルに関して変わる請求項9のシステム。
【請求項14】
もはや細分割されないための前記予め設定された評価基準が達成されている画素データの予め選択された最小のブロックサイズに基づいている請求項9のシステム。
【請求項15】
前記変換手段が離散コサイン変換を実行する請求項8のシステム。
【請求項16】
前記変換手段が微分クオドトリー変換によって引き続けられる離散コサイン変換を実行する請求項8のシステム。
【請求項17】
前記シリアライザ手段がジグザグスキャナを含む請求項8のシステム。
【請求項18】
前記のジグザグスキャナがジグザグな走査のために8x8ブロックサイズを採用する請求項17のシステム。
【請求項19】
前記可変長コード化手段がハフマンコーダを含む請求項8のシステム。
【請求項20】
前記ハフマンコーダがランレングスと非ゼロ値を符号化する多重ルックアップ表を採用する請求項19のシステム。
【請求項21】
3つのルックアップ表がある請求項20のシステム。
【請求項22】
イメージの画素データのブロックを圧縮する方法であって、
画素データのブロックを読み、
画素データの前記ブロックおよび画素データの前記ブロックの細分化されたブロックの画素値の分散に基づいてブロックサイズ割当てを生成し、
前記ブロックサイズ割当てに情報を含むデータ構造を提供し、
前記データ構造により指示されるような選択されたブロックの前記画素データを周波数領域表現に変換し、
前記周波数領域データを量子化し、
量子化されたデータを直列化された流れに走査し、
送信に備えてデータの前記直列化された流れをコード化する方法。
【請求項23】
前記生成するステップが、
画素データの前記ブロックの画素値の分散を決定し、
前記分散を閾値と比較し、
前記比較ステップの結果に基づいて前記ブロックを細分化する判定をし、
前記判定が前記ブロックを細分化することであるならば、予定の評価基準が満たされるまで、各細分化されたブロックについて決定、比較、および判定をするステップを繰り返し、
さらに細分化されない各ブロックを前記ブロックサイズ割当てとして選定する、ステップを含む請求項22の方法。
【請求項24】
前記分散が前記閾値よりも大きいならば、判定をする前記ステップが細分化されるべきブロックを取りに行く請求項23の方法。
【請求項25】
前記閾値が予め設定される請求項24の方法。
【請求項26】
前記閾値が評価されているブロックの平均画素値の関数である請求項24の方法。
【請求項27】
前記閾値が細分割の各レベルに関して変わる請求項23の方法。
【請求項28】
決定、比較、および判定をするステップをもはや繰り返さないための前記評価基準が画素データの予め選択された最小のブロックサイズに基づかされた請求項23の方法。
【請求項29】
離散コサイン変換が変換の前記ステップの間に実行される請求項22の方法。
【請求項30】
離散コサイン変換が変換の前記ステップの間に微分クオドトリー変換により引き続かれて実行される請求項22の方法。
【請求項31】
ジグザグ走査が走査の前記ステップの間に実行される請求項22の方法。
【請求項32】
前記ジグザグ走査が8x8ブロックサイズを使用して実行される請求項31の方法。
【請求項33】
ハフマンコード化がコード化の前記ステップの間に実行される請求項22の方法。
【請求項34】
前記ハフマンコード化がランレングスと非ゼロ値をコード化する多重ルックアップ表を採用する請求項33のシステム。
【請求項35】
3つのルックアップ表がある請求項34のシステム。

【図1】
image rotate

【図2】
image rotate

【図3a】
image rotate

【図3b】
image rotate

【図3c】
image rotate


【公開番号】特開2012−199963(P2012−199963A)
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−113538(P2012−113538)
【出願日】平成24年5月17日(2012.5.17)
【分割の表示】特願2001−537288(P2001−537288)の分割
【原出願日】平成12年11月8日(2000.11.8)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】