JP3865595B2 - Image data processing apparatus, image data processing method, program, and recording medium - Google Patents
Image data processing apparatus, image data processing method, program, and recording medium Download PDFInfo
- Publication number
- JP3865595B2 JP3865595B2 JP2001053721A JP2001053721A JP3865595B2 JP 3865595 B2 JP3865595 B2 JP 3865595B2 JP 2001053721 A JP2001053721 A JP 2001053721A JP 2001053721 A JP2001053721 A JP 2001053721A JP 3865595 B2 JP3865595 B2 JP 3865595B2
- Authority
- JP
- Japan
- Prior art keywords
- image data
- pixel
- value
- range
- data processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、画像データ処理装置、画像データ処理方法、プログラム、及び記録媒体に関し、より詳細には、アプリケーションプログラム,プリンタドライバ等のデバイスドライバ,その他画像を扱う機器に応用可能な、カラー画像情報を復号化するための画像データ処理装置、画像データ処理方法、それらのプログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】
カラー画像の伝送・蓄積の際には、データ量を削減するため、原画像の圧縮を行うのが一般的である。かかる圧縮を行う際には、画像を構成する成分に対し直交変換を施して情報量を偏らせ、変換後の成分に対して量子化を行い、情報量を削減するのが代表的な手法である。また、量子化を極端に行う場合には、画像を構成する特定成分を、全て破棄してしまう(0として扱う)といったことがよく行われる。
【0003】
特公平7−63177号公報に記載の技術は上記の代表例であり、カラー画像データをブロック単位毎に輝度(明度)信号と色差信号に変換し、さらに明度信号を直交変換して低周波直流成分を表す係数及び高周波交流成分を表す係数を得、その後、低周波の係数,高周波成分の係数に量子化を施している。他方、色差信号は、直交変換はされずに、ブロック内の代表色のみが量子化・符号化される。
【0004】
さて、上記のような量子化によって圧縮された画像が伸張される場合には、逆量子化が施され、原画像と伸張後の画像との間には量子化誤差が生じる。かかる量子化誤差が大きい場合には、伸張後の画素の値が、本来の所定範囲を越えることがある。
【0005】
例えば、一般的なフルカラー画像は、RGBが各8bit、すなわち0〜255の値をとる。しかし量子化誤差により、伸張後のRGBの値が負になったり、255を越えたりするのである(以下、本出願明細書中ではこの現象をレンジオーバと呼ぶ)。
【0006】
かかるレンジオーバが生じた場合は、負の値を0に置換し、255を越えた値を255に置換するという、いわゆる丸め処理(クリッピング処理)が従来から行われている。しかし、量子化が極端な場合等は、レンジオーバ分の値(所定範囲を逸脱した分の値)が大きくなり、単純な丸め処理では局所的に色味が変わってしまい、画質劣化を生じることがある。
【0007】
以上の現象は、米国特許第5,757,975号明細書「Artifact reduction for large dynamic range input data in JPEG compression」にも記載のあるところであり、かかる問題に対し上記明細書では、「レンジオーバした画素の近隣(例えば3×3画素の範囲)において、その値が所定範囲内である近隣画素を探し、レンジオーバ値を該近隣画素に再配分する」ことによって局所的な平均値を保存し、色味の変化を抑えることを提案している。
【0008】
【発明が解決しようとする課題】
上記「局所的な平均値を保存」する処理は、画質劣化を抑える上で非常に有効であるが、「周囲3×3画素の範囲において、レンジオーバしておらず、かつその値が所定範囲内である近隣画素を探す」という処理は、オーバした1画素のために多くの(例えば周囲の8画素の)画素値を調べなければならず、計算量が多く煩雑である。
【0009】
本発明は、上述のごとき実情に鑑みてなされたものであり、圧縮に使用する直交変換をS変換に限定し、S変換係数毎の量子化率や圧縮の主たる対象(例えば自然画像)を考慮することで、上記「周囲3×3画素の範囲において、近隣画素を探す」処理のような煩雑な処理を行わずに画像データ成分の量子化誤差を修正し、逆S変換後の色味の変化を抑えて高画質な処理を行うことが可能な画像データ処理装置、画像データ処理方法、プログラム、及び記録媒体を提供することをその目的とする。
【0010】
【課題を解決するための手段】
請求項1の発明は、LL、LH、HL、及びHHでなるS変換係数を量子化した量子化係数に対して逆S変換を行い、逆S変換後の画像データの成分値を処理する画像データ処理装置であって、前記成分値のうちレンジオーバとなる成分値を有する画素を探すレンジオーバ画素チェック手段と、該レンジオーバ画素チェック手段によって探した画素の成分値をレンジ内に入るように修正する修正手段と、前記修正手段で修正した修正量を、該修正対象となった画素と同じS変換単位に含まれる画素の成分値に配分する配分手段とを有し、前記修正対象の画素と前記配分手段での配分先の画素との位置関係は、前記LHの量子化誤差、HLの量子化誤差、及びHHの1/2の量子化誤差の大小関係に基づいて、予め決定されていることを特徴としたものである。
【0011】
請求項2の発明は、請求項1の発明において、前記大小関係は、量子化対象の画像データの種類及び/又は前記S変換係数それぞれの量子化率の差によって、予め決定されている関係であることを特徴としたものである。
【0012】
請求項3の発明は、請求項1又は2の発明において、前記位置関係は、前記大小関係に基づき、どの量子化誤差が最小又は最大となるかによって、予め決定されていることを特徴としたものである。
【0013】
請求項4の発明は、請求項1又は2の発明において、前記大小関係が、LHの量子化誤差又はHLの量子化誤差が最大であることを示す場合、前記修正対象の画素と前記配分先の画素との前記位置関係は、対角位置に予め決定されていることを特徴としたものである。
【0014】
請求項5の発明は、請求項1乃至4のいずれか1の発明において、前記配分手段によって画素の成分値を配分した結果、さらに該成分値がレンジオーバとなる場合に、該成分値をレンジの限界値とする丸め修正手段を有することを特徴としたものである。
【0015】
請求項6の発明は、請求項1乃至3のいずれか1の発明において、前記配分手段によって画素の成分値を配分した結果、さらに配分先の画素の成分値がレンジオーバとなった場合に、該成分値をレンジ内に入るように修正する第2修正手段を備え、前記配分手段は、前記第2修正手段で修正した修正量を、該修正対象となった画素と同じS変換単位に含まれる画素の成分値に配分する処理も実行することを特徴としたものである。
【0016】
請求項7の発明は、請求項6の発明において、前記配分手段によって前記第2修正手段で修正した修正量を画素の成分値に配分した結果、さらに配分先の画素の成分値がレンジオーバとなる場合に、該成分値をレンジの限界値とする丸め修正手段を有することを特徴としたものである。
【0017】
請求項8の発明は、請求項1又は2の発明において、前記大小関係が、LHの量子化誤差又はHLの量子化誤差が最大であることを示す場合、前記修正対象の画素と前記配分先の画素との前記位置関係は、対角位置に予め決定されており、当該画像データ処理装置は、前記配分手段によって画素の成分値を配分した結果、さらに配分先である対角画素の成分値がレンジオーバとなった場合に、該成分値をレンジ内に入るように修正する第2修正手段を備え、前記配分手段は、前記第2修正手段で修正した修正量を、該修正対象となった対角画素と同じS変換単位に含まれる画素の成分値に配分する処理も実行し、前記修正対象の対角画素と該対角画素に対する配分先の画素との前記位置関係は、水平位置又は垂直位置に予め決定されていることを特徴としたものである。
【0018】
請求項9の発明は、請求項8の発明において、前記配分手段によって前記第2修正手段で修正した修正量を画素の成分値に配分した結果、さらに配分先の画素の成分値がレンジオーバとなる場合に、該成分値をレンジの限界値とする丸め修正手段を有することを特徴としたものである。
【0025】
請求項10の発明は、請求項1乃至9のいずれか1の発明において、前記逆S変換が画像データの色差成分に対してなされ、前記成分値がR値又はG値又はB値であることを特徴としたものである。
【0026】
請求項11の発明は、請求項1乃至9のいずれか1の発明において、前記逆S変換が画像データの輝度成分に対してなされ、前記成分値がG値であることを特徴としたものである。
【0027】
請求項12の発明は、請求項1乃至9のいずれか1の発明において、前記レンジオーバとなる成分値がG値である場合に、前記配分手段による配分を実行せずに、前記修正手段でGの値を丸め処理のみ行うことを特徴としたものである。
【0028】
請求項13の発明は、請求項1乃至11のいずれか1の発明において、前記S変換係数の量子化率によって、前記配分手段による配分を実行するか、或いは前記配分手段による配分を実行せずに前記修正手段で丸め処理のみ行うかを切り替える手段を有することを特徴としたものである。
【0029】
請求項14の発明は、請求項1乃至11のいずれか1の発明において、前記レンジオーバとなる成分値がG値である場合に、前記S変換係数の量子化率によって、前記配分手段による配分を実行するか、或いは前記配分手段による配分を実行せずに前記修正手段で丸め処理のみ行うかを切り替える手段を有することを特徴としたものである。
【0030】
請求項15の発明は、LL、LH、HL、及びHHでなるS変換係数を量子化した量子化係数に対して逆S変換を行い、逆S変換後の画像データの成分値を処理する画像データ処理方法であって、前記成分値のうちレンジオーバとなる成分値を有する画素を探すレンジオーバ画素チェックステップと、該レンジオーバ画素チェックステップによって探した画素の成分値をレンジ内に入るように修正する修正ステップと、前記修正ステップで修正した修正量を、該修正対象となった画素と同じS変換単位に含まれる画素の成分値に配分する配分ステップとを含んでなり、前記修正対象の画素と前記配分ステップでの配分先の画素との位置関係は、前記LHの量子化誤差、HLの量子化誤差、及びHHの1/2の量子化誤差の大小関係に基づいて、予め決定されていることを特徴としたものである。
【0031】
請求項16の発明は、請求項15の発明において、前記大小関係は、量子化対象の画像データの種類及び/又は前記S変換係数それぞれの量子化率の差によって、予め決定されている関係であることを特徴としたものである。
【0032】
請求項17の発明は、請求項15又は16の発明において、前記位置関係は、前記大小関係に基づき、どの量子化誤差が最小又は最大となるかによって、予め決定されていることを特徴としたものである。
【0033】
請求項18の発明は、請求項15又は16の発明において、前記大小関係が、LHの量子化誤差又はHLの量子化誤差が最大であることを示す場合、前記修正対象の画素と前記配分先の画素との前記位置関係は、対角位置に予め決定されていることを特徴としたものである。
【0034】
請求項19の発明は、請求項1乃至14のいずれか1記載の画像データ処理装置の機能を実現させるための、又は、請求項15乃至18のいずれか1記載の画像データ処理方法を実行させるためのプログラムである。
【0035】
請求項20の発明は、請求項19記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0036】
【発明の実施の形態】
米国特許第5,757,975号明細書には、レンジオーバした画素の近隣(例えば3×3画素の範囲)において、その値が所定範囲内である近隣画素を探し、レンジオーバ値を該近隣画素に再配分することによって局所的な平均値を保存し、色味の変化を抑えることが可能な擬似信号削減方法が記載されている。ここでの「局所的な平均値を保存」する処理は、画質劣化を抑える上で非常に有効であるが、「周囲3×3画素の範囲において、レンジオーバしておらず、かつその値が所定範囲内である近隣画素を探す」という処理は、オーバした1画素のために多くの(例えば周囲の8画素の)画素値を調べなければならず、計算量が多く煩雑である。
【0037】
しかしながら、圧縮に使用する直交変換をS変換に限定し、S変換係数毎の量子化率や圧縮の主たる対象(例えば、主に自然画像)を考慮することで、上記「周囲3×3画素の範囲において、近隣画素を探す」ような煩雑な処理を省略することが可能である。
以下、この省略が可能な理由について説明する。
【0038】
図1は、S変換を説明するための図で、図1(A)はS変換を行う画素を示す図、図1(B)は図1(A)の画素値をS変換するためのS変換式及びS変換式が示す各方向のエッジを示す図、図1(C)は図1(B)でS変換された各成分を逆S変換するための逆S変換式を示す図である。
まず、S変換とは、例えば図1に示すような2×2画素単位で、画素の値a,b,c,dを4つの係数LL,HL,HL,HHに変換する処理である。LLが低周波成分であり、その他が高周波成分であるが、図1(A),(B)から明らかなように、HL,LH,HHは順に縦方向,横方向,斜め方向のエッジに対して大きな値を示するものである。なお、a,b,c,dは、例えばRGBのRの値であったり、Gの値であったり、輝度の値や色差の値であったりする。
【0039】
そして、4つの係数から、もとのa〜dの値を求める逆S変換は以下の通りである(図1(C)参照)。
a=LL+(HL+LH)/2+HH/4 … (1)
b=LL−(HL−LH)/2−HH/4 … (2)
c=LL+(HL−LH)/2−HH/4 … (3)
d=LL−(HL+LH)/2+HH/4 … (4)
【0040】
通常、量子化を行う際には、画質への影響が大きい低周波成分、すなわちLL成分の量子化率を最小にし、画質への影響が小さい高周波成分、すなわちLH,HL,HH成分の量子化率を最大にする。なお、本出願明細書でいう量子化率とは、「原データに対する量子化後のデータの、情報量の削減の度合い」を意味し、8bitのデータを1bit削減して7bitにする場合には、量子化率は2であり、8bitのデータを3bit削減して5bitにする場合には、量子化率は23=8である。
【0041】
その結果、量子化誤差も、LL成分について最小になり、LH,HL,HH成分については大きくなる。すなわち、通常の圧縮方式においては、圧縮・伸張の過程で式(1)〜(4)の右辺に生じる誤差は、LH,HL,HH成分の量子化誤差とみなすことができる。
【0042】
今、HLの量子化誤差がΔEであるとする。式(1)〜(4)から明らかなように、ΔEによって生じる誤差の極性(正負)は、「a,cには同一方向で、b,dではa,cとは反対方向」である。すなわち、量子化誤差でa,cの値がΔE/2増えれば、b,dの値はΔE/2減るのである。そしてa,b,c,dの圧縮前の(オリジナルの)値のうち、レンジの上限・下限に近いものがあった場合、ΔE/2の値が十分大きい場合には、レンジオーバが生じるというわけである。
【0043】
ここで、前述の「局所的な処理平均値を保存する処理」、例えば、a,b,c,dの総和を保存するような処理を行うことを考える。
例えば、aがレンジ上限である255を越えて260として復号(伸張)されたとし、aの値をレンジ上限の255に修正することを考える。この場合、修正の前後でa,b,c,dの総和を保存するためには、260から減じたオーバ分の値5を、いずれかの画素、或いはいずれかの複数の画素に加える必要がある(以下、この処理をレンジオーバ補正とよぶ)。
【0044】
前述の誤差の方向から明らかなように、オーバ分をcに加えたのではcの誤差がさらに増加してしまう。よってaのオーバ分は、「b又はd(又はその両方)」に加えるべきである。つまり、オーバ分を吸収すべき画素を予め決めておくことができるのである。また、aがレンジ下限を下回った場合にも、また、量子化誤差がLH,HHに生じた場合に関しても同様な議論が成立する。
【0045】
図2は、S変換を行う画素間の方向の凡例を示す図である。図2のように、aから見たb,c,dを順に水平方向,垂直方向,対角方向とよぶ場合、上述の議論によって、量子化誤差が生じる係数と、オーバ分を配分すべき画素の位置の関係は以下の表1のようになる。
【0046】
【表1】
【0047】
しかし、実際の個々の場面においては、どの係数の量子化誤差によってレンジオーバが生じているかを判断することはできない。通常、どの係数に量子化誤差が生じているかさえ判断できない。このため、どの係数に起因してもいいように対処するか、どの係数の量子化誤差に起因するレンジオーバなのかを確率的に考えて対処する必要がある。これが本発明の基本をなす考え方である。
【0048】
例えば、レンジオーバ分を1画素で吸収しようとする場合、表1から明らかなように、HL,LHいずれかの量子化誤差に起因する場合には、両者で共通な(=どちらに起因してもよい)「対角画素」を選択すればよいことがわかる。
【0049】
また表1は、HHに起因するレンジオーバの場合には、対角画素への配分は得策ではないことを示している。しかし、HH起因のレンジオーバが、HL,LH起因のレンジオーバよりも確率的に起こりにくいのであれば、HL,LHへの対処を優先して、例えば対角画素を選択するのが簡易かつ有効なのである。
【0050】
ここで一般的な圧縮方式では、HH起因のレンジオーバが、HL,LH起因のレンジオーバよりも確率的に起こりにくい場合が多い。具体的には以下のような場合である。
【0051】
(ケース1)
HL,LH,HHを同じ量子化ステップ数で線形に量子化する場合:
量子化ステップ数が等しい場合、HL,LH,HHに生じる量子化誤差は確率的には等しくできるが、式(1)〜(4)より明らかなように、レンジオーバの原因となる誤差は「HL,LHの量子化誤差の1/2、HHの量子化誤差の1/4」である。よって、HH起因のレンジオーバは、HL,LH起因のものよりも単純に少なくなる。
【0052】
(ケース2)
圧縮対象が自然画像で、HL,LH,HHを非線形に量子化する場合:
自然画像においては、縦横のエッジに比べ、斜めのエッジが弱いことがよく知られており(重力の影響であろうと言われている)、これはHL,LHの値に比べHHの値が小さいことが多いことを意味している(図1の式のように、HHはHL,LHと違い2で除算されないが、それでも小さいのである)。
【0053】
図3は、自然画像におけるHL,LH,HHの値のヒストグラムを示す図である。HL,LHの値に比べHHの値が小さいことが多いので、自然画像におけるHL,LH,HHの値のヒストグラムは図3のようになり、HHはより小さい値が頻出する形状をとる。こうしたヒストグラムの係数を非線形に量子化する場合には、出現頻度を考慮して、値が小さい範囲を密に(=量子化区間を小さく)、大きい範囲を粗に(=量子化区間を大きく)量子化するのが通常である。量子化区間が大きいほど、量子化誤差は大きくなるため、非線形な量子化の結果、HHよりも大きな値をとるLH,HLの量子化誤差の方が大きくなるのである。よって、HH起因のレンジオーバは、HL,LH起因のものよりも遙かに少なくなる。
【0054】
以上のように、レンジオーバ分をどの位置に配分すべきかは、「LH,HL,HH/2の量子化誤差の確率的な大小関係」でまず決定され、さらに「どの(いずれの)係数に起因してもいいように対処するか」否かで決定される。ここで「HH/2の量子化誤差」とは「HHの量子化誤差の1/2」の意である。量子化ステップ数や量子化区間が、量子化器の設計時点で予め決定されることを考えれば、「HL,LH,HH/2の量子化誤差の確率的な大小関係」は設計時点で決定され、オーバ分の配分先も、設計時点で決定可能なのである。確率的な処理(ほとんどの場合に有効に働く処理)でかまわないのであれば、配分先を探す必要はないのである。
よって、この「確率的な大小関係」、特に量子化誤差が確率的に最大となる係数を主体に考慮した場合、予め決定される配分位置の例は、以下の表2のようになる。なお、「配分」の意味は後述する。
【0055】
【表2】
【0056】
また、この「確率的な大小関係(量子化誤差が確率的に最小となる係数以外の2つの係数)」と「いずれの係数に起因してもいいように」の両方を考慮した場合、予め決定される配分位置の例は、以下の表3のようになる。
【0057】
【表3】
【0058】
また以上の例は、逆S変換される量(例えばRの値)とレンジオーバ補正される量が同じ場合(例えば、S変換だけで、輝度・色差への色変換をしない場合)で説明したが、逆S変換される量が輝度や色差で、レンジオーバ補正される量がRGB値であるような場合でも適用が可能である。
【0059】
例えば、特公平7−63177号公報に記載の技術の場合、RGBから成るカラー画像データをブロック単位毎に輝度信号と色差信号に変換し、さらに明度信号を直交変換して係数を得、その後、該係数に量子化を施している。他方、色差信号は、直交変換はされずに、ブロック内の代表値のみが量子化・符号化(圧縮)される。一方、伸張時には、逆直交変換の後、逆色変換が施され、RGBの値が復号される。
【0060】
今、この直交変換がS変換であり、代表値として色差の平均値を用いる場合を考える。平均値とは、S変換で言うLL成分に相当するため、実はこれは、輝度・色差の全てをS変換し、色差に関しては、HL,LH,HH成分を全て破棄する(=無限大の量子化ステップ数で量子化する)ことに他ならない。そして圧縮の主たる対象が自然画像である場合には、輝度,色差ともHH成分が最小である。
【0061】
色差に生じた量子化誤差は、逆色変換の際に結局RGBの誤差へと伝搬されるため、色差成分のS変換係数の、確率的な量子化誤差の大小関係に基づいて、R値やB値に生じたレンジオーバ分の配分先を決定しておくことが可能である。
【0062】
例えば、色変換がRCTと呼ばれる下式で表される場合、
輝度Y=(R+2G+B)/4
色差U=R−G
色差V=B−G
その逆変換は、下式(5)〜(7)になる。
R=G+U … (5)
G=Y−(U+V)/4 … (6)
B=V+G … (7)
【0063】
上述の色変換は、4での除算部をフロア関数を使って切り捨てた場合、或いはシーリング関数を使用して切り上げた場合には可逆な変換となるため、該2つの場合にRCT(Reversible Component Transform)と呼ばれている。本出願明細書においては簡単のため、可逆か否かに関わらずRCTと略称することにする。
【0064】
伸張時においては、輝度,色差のいずれについても逆S変換がなされるため、U成分を例にとった場合、図1でaと表記した画素位置のUをUa、U成分をS変換したときの係数をULL,UHL等と表記すれば、
Ua=ULL+(UHL+ULH)/2+UHH/4
Ub=ULL−(UHL−ULH)/2−UHH/4
Uc=ULL+(UHL−ULH)/2−UHH/4
Ud=ULL−(UHL+ULH)/2+UHH/4
となる。今、Uの高周波は一律に破棄するため、これまでの議論同様、Ua〜Udのいずれにおいても、HH成分の量子化誤差が最小になる。
【0065】
そして各Ua〜Udは、式(5)によってRa〜Rdへと逆RCTされ、
なる計算がなされるが、通常の圧縮方式では、Yaに生じている誤差は、UaやVaに生じている誤差に比べて小さい。伸張後の画質を上げるためには、輝度の量子化率を低くし、色差の量子化率を上げるのが常套手段であるからである。
【0066】
その結果、式(8)を通じてRaに生じる誤差は、Ua,Vaの量子化誤差が支配的となる。Ua,Vaの確率的な量子化誤差が等しく設計されているならば、係数3/4が掛かったUaに起因する誤差が最大となることになるが、係数毎に見れば、やはりUHH起因の量子化誤差が最小となるのである。以上の議論はV成分とB値の関係にも当てはまる。
したがって、色差成分のS変換係数の、確率的な量子化誤差の大小関係に基づいて、R値やB値に生じたレンジオーバ分の配分先を決定しておくことが可能なのである。
【0067】
またG成分への支配的な寄与は、輝度Yと色差U,Vの量子化率の違い(=設計方針)によっていずれの場合もありえる。輝度のHH成分又は色差のHH成分からの量子化誤差が最小となるのは同様である。よって、輝度成分又は色差成分のS変換係数の確率的な量子化誤差の大小関係に基づいて、G値に生じたレンジオーバ分の配分先を決定しておくことが可能なのである。
【0068】
また、以上ではRCTを例にとったが、JPEG等で使用される公知のYCbCr変換等でも同様な議論が成立するのは明らかである。また、圧縮後の伸張時を例にとって説明したが、S変換係数の量子化後に、逆S変換がなされる処理であれば、伸張・復号に関わらず適用可能なことも明らかである。
【0069】
以上をもとに、本発明の実施形態を説明する。
図4は、本発明に係る画像データ処理装置を説明するためのブロック図である。
本発明の一実施形態に係る画像データ処理装置は、逆S変換後の画像データ成分(例えば前述のR値やB値、後述するが輝度や色差でもよい)を処理する装置であって、レンジの上限を越える成分値を有する画素を探すレンジオーバ画素チェック手段1と、その画素の成分値をレンジ内に入るように減らす成分値修正手段2と、S変換係数LH,HL,HH/2の量子化誤差の確率的な大小関係に基づいて予め決定された画素の、その成分値を増やす成分値配分手段3とを有するものとする。本実施形態によれば、レンジ上限オーバ時に、簡易な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことが可能となる。
なお、後述する各実施形態においては図1を参照して各手段を、本実施形態での各手段と同じものとして説明してあるが、当然同一手段である必要はなく、さらに、各手段が各実施形態での機能のみを備えていても、他の実施形態での機能を兼ね備えていてもよい。
【0070】
また、本発明の他の実施形態に係る画像データ処理装置は、逆S変換後の画像データ成分を処理する装置であって、レンジの下限を下回る成分値を有する画素を探すレンジオーバ画素チェック手段1と、その画素の成分値をレンジ内に入るように増やす成分値修正手段2と、S変換係数LH,HL,HH/2の量子化誤差の確率的な大小関係に基づいて予め決定された画素の、その成分値を減らす成分値配分手段3を有するものとする。本実施形態によれば、レンジ下限を下回ったときに、簡易な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことが可能となる。
【0071】
また、本発明の他の実施形態に係る画像データ処理装置は、逆S変換後の画像データ成分を処理する装置であって、レンジの上限を越える成分値を有する画素を探すレンジオーバ画素チェック手段1と、その画素の成分値をレンジ内に入るように減らす成分値修正手段2と、S変換係数LH,HL,HH/2のどの量子化誤差が確率的に最小となるかに基づいて予め決定された画素の、その成分値を増やす成分値配分手段3を有するものとする。本実施形態によれば、レンジ上限オーバ時に、簡易かつ柔軟な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことが可能となる。
【0072】
また、本発明の他の実施形態に係る画像データ処理装置は、逆S変換後の画像データを処理する装置であって、レンジの下限を下回る成分値を有する画素を探すレンジオーバ画素チェック手段1と、その画素の成分値をレンジ内に入るように増やす成分値修正手段2と、S変換係数LH,HL,HH/2のどの量子化誤差が確率的に最小となるかに基づいて予め決定された画素の、その成分値を減らす成分値配分手段3を有するものとする。本実施形態によれば、レンジ下限を下回ったときに、簡易なかつ柔軟な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことが可能となる。
【0073】
以上のように、レンジオーバ分を予め規定した所定の画素に配分する場合、配分後の所定画素の値もレンジ内に収まるのが通常である。しかし、係数間の誤差の累積等により、配分後の所定画素の値が、レンジを越えたり、下回ったりすることがある。かかる場合には、再配分か、丸め処理が必要である。表2,表3のところで述べた「次に配分」とは、この再配分のことである。
【0074】
そこで、本発明の他の実施形態に係る画像データ処理装置においては、成分値修正手段2により、値を増やした画素の成分値がさらにレンジの上限を越えた場合に該画素の成分値をレンジ内に入るように減らし、成分値配分手段3により、S変換係数LH,HL,HH/2のうち、どの量子化誤差が確率的に最大となるかに基づいて予め決定された第2の画素の、その成分値を増やす。本実施形態によれば、上限オーバが繰り返されたときに、簡易な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことが可能となる。
【0075】
また、本発明の他の実施形態に係る画像データ処理装置においては、成分値修正手段2により、値を減らした画素の成分値がさらにレンジの下限を下回った場合に該画素の成分値をレンジ内に入るように増やし、成分値配分手段3により、S変換係数LH,HL,HH/2のうち、どの量子化誤差が確率的に最大となるかに基づいて予め決定された第2の画素の、その成分値を減らす。本実施形態によれば、レンジ下限アンダーが繰り返されたときに、簡易な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことが可能となる。
【0076】
また、本発明の他の実施形態に係る画像データ処理装置は、値を増やした画素又は第2の画素の成分値がさらにレンジの上限を越えた場合に該画素の成分値をレンジ上限の値とする(以下これを「丸め処理」という)。また、値を減らした画素又は第2の画素の成分値がさらにレンジの下限を下回った場合に該画素の成分値をレンジ下限の値とする(以下これも「丸め処理」という)。本実施形態によれば、レンジオーバが繰り返されたときの対処を、簡易に行うことが可能となる。
【0077】
また、本発明の他の実施形態に係る画像データ処理装置は、HH/2の量子化誤差が確率的に最小である場合に、レンジの上限を越える成分値を有する画素を探し、その画素の成分値をレンジ内に入るように減らす成分値修正手段2と、その画素の対角画素の値を増やす成分値配分手段3を有するものとする。本実施形態によれば、HH/2の量子化誤差が最小という典型的な場合において、レンジ上限オーバ時に、簡易かつ柔軟な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことが可能となる。
【0078】
また、本発明の他の実施形態に係る画像データ処理装置は、HH/2の量子化誤差が確率的に最小である場合に、レンジの下限を下回る成分値を有する画素を探し、その画素の成分値をレンジ内に入るように増やす成分値修正手段2と、その画素の対角画素の値を減らす成分値配分手段3を有するものとする。本実施形態によれば、HH/2の量子化誤差が最小という典型的な場合において、レンジ下限アンダー時に、簡易かつ柔軟な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことが可能となる。
【0079】
また、本発明の他の実施形態に係る画像データ処理装置においては、成分値修正手段2により、増やした画素の成分値がさらにレンジの上限を越えた場合にその画素の成分値をレンジ内に入るように減らし、成分値配分手段3により、その画素の水平又は垂直画素の成分値を増やす。本実施形態によれば、HH/2の量子化誤差が最小という典型的な場合において、レンジ上限オーバが繰り返されたときに、簡易な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことが可能となる。
【0080】
また、本発明の他の実施形態に係る画像データ処理装置においては、成分値修正手段2により、減らした画素の成分値がさらにレンジの下限を下回った場合にその画素の成分値をレンジ内に入るように増やし、成分値配分手段3により、その画素の水平又は垂直画素の成分値を減らす。本実施形態によれば、HH/2の量子化誤差が最小という典型的な場合において、レンジ下限アンダーが繰り返されたときに、簡易な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことが可能となる。
【0081】
また、本発明の他の実施形態に係る画像データ処理装置は、減らす値の大きさと増やす値の大きさを一致させるようにしたものである。本実施形態によれば、HH/2の量子化誤差が最小という典型的な場合も含め、成分値の総和(平均値)を保持することで、色味の変化を精密に抑え、高画質な処理(伸張・復号処理)を行うことが可能となる。
【0082】
また、本発明の他の実施形態に係る画像データ処理装置においては、値を増やした画素の成分値がさらにレンジの上限を越えた場合にその画素の成分値をレンジ上限の値とする。また、値を減らした画素の成分値がさらにレンジの下限を下回った場合にその画素の成分値をレンジ下限の値とする。本実施形態によれば、HH/2の量子化誤差が最小という典型的な場合において、レンジオーバが繰り返されたときの対処を、簡易に行うことが可能となる。
【0083】
また、本発明の他の実施形態に係る画像データ処理装置は、前述の逆S変換が画像データの色差成分に対してなされ、前述の成分値がR値又はG値又はB値であるようにしたものである。本実施形態によれば、逆S変換後に逆色変換がなされる典型的な復号化経路において、RGB値のレンジオーバへの対処を、色差成分のS変換係数の誤差に基づいて簡易に行うことが可能となる。
【0084】
また、本発明の他の実施形態に係る画像データ処理装置は、前述の逆S変換が画像データの輝度成分に対してなされ、前述の成分値がG値であるようにしたものである。本実施形態によれば、逆S変換後に逆色変換がなされる典型的な復号化経路において、Gの値のレンジオーバへの対処を、輝度成分のS変換係数の誤差に基づいて簡易に行うことが可能となる。
【0085】
また、復号後(伸張後)の画質を維持するためには、輝度の量子化率を色差の量子化率よりも低くするのが通常であるが、かかる場合は、前述のRCTの式(5)〜(7)の例からも明らかなように、Gに生じる誤差は、R,Bに生じる誤差よりも小さくなる。その結果Gの場合、レンジオーバが生じたとしても、オーバ分の値は小さい。
よって、本発明の他の実施形態に係る画像データ処理装置は、前述のレンジ上限を越える成分値又はレンジ下限を下回る成分値がGである場合に、Gの値を丸め処理する手段を有するものとする。本実施形態によれば、オーバ分の値が小さいと想定される成分値の場合には丸め処理にすることにより、レンジオーバへの対処を簡易化することが可能となる。
【0086】
また、画像データの圧縮率を可変にするために符号化時の量子化率が可変であるのも一般的だが、量子化率が低い場合には、レンジオーバ自体も少なくなり、オーバ分の値も小さくなる。
よって、本発明の他の実施形態に係る画像データ処理装置は、S変換係数の量子化率によって、前述の予め決定された画素の成分値を増減するか、丸め処理とするかを切り替える手段を有するものとする。本実施形態によれば、オーバ分の値が小さいと想定される場合には丸め処理にすることにより、レンジオーバへの対処を簡易化することが可能となる。
【0087】
また、本発明の他の実施形態に係る画像データ処理装置は、前述のレンジ上限を越える成分値又はレンジ加減を下回る成分値がGである場合に、S変換係数の量子化率によって、前述の予め決定された画素のG値を増減するか、丸め処理とするかを切り替える手段を有するものとする。本実施形態によれば、オーバ分の値が小さいと想定される場合及び成分値の場合に丸め処理にすることにより、レンジオーバへの対処を簡易化することが可能となる。
【0088】
本発明の一実施形態に係る画像データ処理方法は、逆S変換後の画像データ成分を処理する方法であって、レンジの上限を越える成分値を有する画素を探すステップと、その画素の成分値をレンジ内に入るように減らすステップと、S変換係数LH,HL,HH/2の量子化誤差の確率的な大小関係に基づいて予め決定された画素の、その成分値を増やすステップを有するものとする。本実施形態によれば、レンジ上限オーバ時に、簡易な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことが可能となる。
【0089】
また、本発明の他の実施形態に係る画像データ処理方法は、逆S変換後の画像データ成分を処理する方法であって、レンジの下限を下回る成分値を有する画素を探すステップと、その画素の成分値をレンジ内に入るように増やすステップと、S変換係数LH,HL,HH/2の量子化誤差の確率的な大小関係に基づいて予め決定された画素の、その成分値を減らすステップを有するものとする。本実施形態によれば、レンジ下限を下回ったときに、簡易な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことが可能となる。
【0090】
また、本発明の他の実施形態に係る画像データ処理方法は、逆S変換後の画像データ成分を処理する方法であって、レンジの上限を越える成分値を有する画素を探すステップと、その画素の成分値をレンジ内に入るように減らすステップと、S変換係数LH,HL,HH/2のどの量子化誤差が確率的に最小となるかに基づいて予め決定された画素の、その成分値を増やすステップを有するものとする。本実施形態によれば、レンジ上限オーバ時に、簡易かつ柔軟な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことが可能となる。
【0091】
また、本発明の他の実施形態に係る画像データ処理方法は、逆S変換後の画像データを処理する方法であって、レンジの下限を下回る成分値を有する画素を探すステップと、その画素の成分値をレンジ内に入るように増やすステップと、S変換係数LH,HL,HH/2のどの量子化誤差が確率的に最小となるかに基づいて予め決定された画素の、その成分値を減らすステップを有するものとする。本実施形態によれば、レンジ下限を下回ったときに、簡易なかつ柔軟な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことが可能となる。
【0092】
本発明は、上述の各実施形態の画像データ処理装置の機能を実現するための、又は、上述の各実施形態の画像データ処理方法を実行させるためのプログラム、及びそのプログラムを記録したコンピュータが読み取り可能な情報記録媒体としての形態がとり得、これにより、上述の各実施形態に対応した処理によって、速度と画質のバランスをとることが可能なシステムを提供することが可能となる。
【0093】
以下、本発明の実施形態をより具体的に説明する。
図5は、本発明の一実施形態に係る画像データ処理装置の構成例を示す図である。
ここで説明する画像データ処理装置は、データバス13を介して、RAM11,CPU12,HDD14が接続された構成となっており、以下の流れで、オリジナル画像(原画像)の圧縮処理(符号化処理)を行う。
【0094】
HDD14上に記録されたオリジナル画像は、CPU12からの命令によってRAM11上に読み込まれる(i)。次に、圧縮ステップとして、CPU12はRAM11上の画像を部分的に読み込み(ii)、後述する一般的な符号化方法を適用して圧縮を行う。CPU12は、圧縮後のデータをRAM11上の別の領域に書き込む(iii)。全てのオリジナル画像が圧縮されると、CPU12からの命令によって、圧縮後のデータがHDD14上に記録される(iv)。
【0095】
また、同一の装置構成において、以下の流れで、圧縮された画像の伸張処理(復号化処理)がなされる。HDD14上に記録された圧縮された画像は、CPU12からの命令によってRAM11上に読み込まれる(ivの逆)。次に、伸張ステップとして、CPU12はRAM11上の圧縮された画像を部分的に読み込み(iiiの逆)、本発明に係る復号(伸張)処理を適用して伸張を行う。CPU12は、伸張後のデータをRAM11上の別の領域に書き込む(iiの逆)。全ての圧縮された画像が伸張されると、CPU12からの命令によって、伸張後のデータがHDD14上に記録される(iの逆)。
【0096】
図6は、本発明の一実施形態に係る画像データ処理装置の他の構成例を示す図である。
ここで説明する画像データ処理装置は、データバス23を介して、PC内のRAM21,PC内のCPU22,HDD24,プリンタ25が接続された構成となっている。オリジナル画像のプリントアウトに際し、画像の圧縮がなされ、圧縮後のデータがプリンタ25に送信される。プリンタ25への送信データ量が低減されるため、送信時間が短縮され、圧縮・伸張に要する時間を加味しても、高速なプリントが可能になる。
【0097】
HDD24上に記録されたオリジナル画像は、CPU22からの命令によってRAM21上に読み込まれる(i)。次に、圧縮ステップとして、CPU22は、RAM21上の画像を部分的に読み込み(ii)、後述する一般的な符号化方法を適用して圧縮を行う。CPU22は、圧縮後のデータをRAM21上の別の領域に書き込む(iii)。CPU22からの命令によって、圧縮後のデータがプリンタ25内のRAM27上に記録される(iv)。伸張ステップとして、プリンタ25内のCPU26は、圧縮後のデータを読み込み(v)、本発明に係る伸張(復号)処理を適用して画像の伸張を行う。CPU26は、伸張後のデータをRAM27上に書き込む(vi)。プリンタ25は、全てのデータが伸張された後、その伸張後のデータを所定の手順でプリントアウトする。
【0098】
図7は、本発明の一実施例の画像データ処理装置における符号化部(圧縮部)を示すブロック図、図8は、図7の符号化部で生成される固定長の符号の構成例を示す図、なお、図9は、図7の符号化部での処理の流れを説明するためのフロー図である。図5或いは図6で例示したような装置構成のもと、図7乃至図9に基づいて本実施例が想定する符号化部(圧縮部)の処理の流れを説明する。
【0099】
本実施例における符号化処理は、画像データを低周波成分と高周波成分とに分離する手段として、S変換(Harr Wavelet変換)を前提とする。S変換では、図1のように2×2画素単位での変換が行われ、4画素の有する値を図1のようにa,b,c,dとした場合、2×2画素ブロックの画像情報はLL,HL,LH,HHの4係数に変換される。このうちLL係数は低周波成分であり、HL,LH,HH係数は高周波成分である。ここでa〜dが、各画素の有するRの値である場合は、Rll,Rhl,Rhh,Rhhが得られ、同様に各画素の有するGの値である場合は、Gll〜Ghhが得られ、Bについても同様である。
【0100】
0〜255(8bit)の値をとるRGBデータとして与えられた画像データは、2×2画素切り出し部31によって、4画素単位でS変換部32に入力される(ステップS1)。S変換部32では、図1に示した式による変換が行われ、Rll,Rhl,Rlh,Rhh,Gll,Ghl,Glh,Ghh,Bll,Bhl,Blh,Bhhの12個の係数が計算され、保持される(ステップS2)。ここでRll,Gll,Bllの3つの直流成分は、量子化されることなくRCT(Reversible Component変換)部34に入力され、その他の交流成分は量子化部33を経た後、RCT部34に入力される。
【0101】
そして本実施例においては、量子化部33において、Rhl,Rlh,Rhh,Bhl,Blh,Bhh,Ghl,Glh,Ghhは全て2bit分の線形量子化がなされ、Rhl′,Rlh′,Rhh′,Bhl′,Blh′,Bhh′,Ghl′,Glh′,Ghh′となり、保持される(ステップS3)。これは、RGBのS変換係数における量子化誤差の大小関係としては、ちょうど前述のケース1に相当する。
【0102】
本実施例のRCT部34では、Rll,Gll,BllにRCTを適用してYll,Ull,Vllが計算され保持される(ステップS4)。さらに、ステップS3の量子化により生成されたRhl′,Rlh′,Rhh′,Bhl′,Blh′,Bhh′,Ghl′,Glh′,Ghh′から、Yhl,Ylh,Yhhが計算され保持される(ステップS5)。ここでは、輝度Yに関してはLL〜HHまでを生成するが、圧縮率を上げるため、色差U,Vに関してはLLのみしか生成しない。これは、色差のS変換係数における量子化誤差の大小関係としても、ちょうど前述のケース1に相当する(前述の特公平7−63177号公報と同様)。また、輝度のS変換係数における量子化誤差の大小関係としても、ちょうど前述のケース1に相当する。
【0103】
そしてYUV各々の係数は、符号生成部35へ入力され、連結されて4画素分の符号である図8に示す固定長の符号40が生成される(ステップS6)。この固定長符号40は、Yll,Yhl,Ylh,Yhh,Ull,Vllがそれぞれ8,7,7,8,9,9bitの固定長をもつ構成となっている。全画素について符号の生成がなされるまで処理は続行される(ステップS7)。
なお、以上の例では、前述の特公平7−63177号公報の発明に対し、S変換と色変換(RCT)の順番が逆であり、量子化部の位置も異なるが、本発明の適用上はいずれの順番・位置でもよいことは明らかである。
【0104】
図10は、本発明の一実施例の画像データ処理装置における復号化部(伸張部)を示すブロック、図11は、図10の復号化部での処理の流れを説明するためのフロー図である。図7乃至図9で説明した符号化のもと、図10及び図11に基づいて本実施例の復号化部(伸張部)の処理の流れを説明する。
【0105】
前述の符号化がなされた画像データは、符号分割部41において、図8の固定長符号40から、4画素分のYll,Yhl,Ylh,Yhh,Ull,Vllが切り出され(ステップS11)、逆RCT部42によって、Rll,Ull,Vll,Rhl′,Rlh′,Rhh′,Bhl′,Blh′,Bhh′,Ghl′,Glh′,Ghh′が生成され保持される(ステップS12)。そしてLL以外の係数は、それぞれの逆量子化部43において2bit逆量子化されてRhl,Rlh,Rhh,Ghl,Glh,Ghh,Bhl,Blh,Bhhとなる(ステップS13)。その後、各係数は逆S変換部44において逆S変換がなされ、4画素分のR,G,B、すなわちRa,Rb,Rc,Rd,Ga,Gb,Gc,Gd,Ba,Bb,Bc,Bdが計算され(ステップS14)、レンジオーバ補正部45に入力され、レンジオーバ補正処理が行われる(ステップS15)。この処理を前画素の復号が終了するまで続行する。レンジオーバ補正部45は、本発明の中心をなすものであり、図4で説明したレンジオーバ画素チェック手段1、成分値修正手段2、成分値配分手段3等を含むものとする。
【0106】
図12は、本発明の一実施例の画像データ処理装置におけるレンジオーバ補正処理の流れを説明するためのフロー図であり、図13乃至図16は、図12の処理を詳細に説明するためのフロー図である。
本実施例においては、ステップS21において、RGB全てについて、図13に記載した各画素の補正量を計算、保持する。ここで図13のように、補正量=レンジオーバ分の値としている。そして前述のように、量子化誤差に関しケース1を想定しており、HHの誤差が最小と考え、かつLH,HL両方の誤差への対応を考慮して、レンジオーバ分の値(図13でいう補正量)を、対角位置の画素へ加算する(ステップS22)。これはちょうど、表3の中央の列で規定した位置を予め決めておいたことになる。
【0107】
そして今度は、Gのみを丸め処理とするため、ステップS23でR,Bについてのみ補正量を求め、ステップS24で前記補正量を水平位置画素に加算する。これは、表3の中央の列の規定に加え、「再配分は(HLの量子化誤差を優先して)水平方向」と規定したことになる。そして最後に、ステップS25で丸め処理を行う。
【0108】
図13を参照して丸め・補正量保持処理の流れを説明する。
まず、全ての位置a,b,c,dの補正量を0にセットする(ステップS31)。ステップS32にて成分値xが0未満であればx=0とし、位置a〜dと補正量x−0を保持し(ステップS33)、ステップS34にて成分値xが255を越えていればx=255とし、位置a〜dと補正量x−255を保持する(ステップS35)。この処理を4画素分のxについて繰り返す(ステップS36)。
【0109】
図14を参照して対角位置補正処理の流れを説明する。
まず、ステップS41にて補正量が0であるか否かを判定する。補正量が0でなければステップS42へ進み、対角位置画素の成分値に補正量を加算する。この処理を4画素分の補正量について繰り返す(ステップS43)。
【0110】
図15を参照して水平位置補正処理の流れを説明する。
まず、ステップS51にて補正量が0であるか否かを判定する。補正量が0でなければステップS52へ進み、水平位置画素の成分値に補正量を加算する。この処理を4画素分の補正量について繰り返す(ステップS53)。
【0111】
図16を参照して丸め処理の流れを説明する。
まず、ステップS61にて成分値xが0未満であればx=0とし(ステップS62)、ステップS63にて成分値xが255を越えていればx=255とする(ステップS64)。この処理を4画素分のxについて繰り返す(ステップS65)。
【0112】
図17は、本発明の他の実施例の画像データ処理装置におけるレンジオーバ補正処理の流れを説明するためのフロー図、図18は、図17の処理で生成される固定長の符号の構成例を示す図である。
本実施例においては、ステップS71において、係数全体の量子化率が閾値Th1より大きい場合には、RGB全てについて図13に記載した各画素の補正量を計算、保持し(ステップS72)、さらにRGB全てについてレンジオーバ分の値(図13でいう補正量)を対角位置の画素へ加算し(ステップS73)、RGB全てについて丸め処理を行う(ステップS77)。また、ステップS71において係数全体の量子化率が閾値Th1以下の場合にはステップS74へ進む。ステップS74では、係数全体の量子化率が閾値Th2(Th1>Th2)より大きい場合には、RB全てについて図13に記載した各画素の補正量を計算、保持し(ステップS75)、さらにRB全てについてレンジオーバ分の値(図13でいう補正量)を対角位置の画素へ加算し(ステップS76)、RGB全てについて丸め処理を行う(ステップS77)。そして係数全体の量子化率が閾値Th2以下の場合には、ステップS75,S76を飛ばし、ステップS77へ進む。なお、ここでの処理の詳細は図13乃至図16を参照して説明済みであり、省略する。
【0113】
なお、本実施例においては、図18中の固定長符号50のように各符号のヘッダに、閾値Th1,Th2との大小関係を示す2bitの固定長の値(“11”なら量子化率>Th1、“10”ならTh1≧量子化率>Th2、“01”なら量子化率<Th2)が入力されており、これにより閾値との大小関係を判断することができる。
【0114】
【発明の効果】
請求項1,2,15,16の発明によれば、レンジ上限オーバ時に、又はレンジ下限を下回ったときに、簡易な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことができる。
【0115】
また、成分値の総和(平均値)を保持することで、色味の変化を精密に抑え、高画質な処理(伸張・復号処理)を行うことができる。
【0116】
請求項3,17の発明によれば、レンジ上限オーバ時に、又はレンジ下限を下回ったときに、簡易かつ柔軟な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことができる。
【0117】
請求項4,18の発明によれば、HH/2の量子化誤差が最小という典型的な場合において、レンジ上限オーバ時に、又はレンジ下限アンダ時に、簡易かつ柔軟な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことができる。
【0118】
請求項6の発明によれば、レンジ上限オーバ又はレンジ下限アンダが繰り返されたときに、簡易な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことができる。
【0120】
請求項5,7の発明によれば、レンジオーバが繰り返されたときの対処を、簡易に行うことができる。
【0123】
請求項8,9の発明によれば、HH/2の量子化誤差が最小という典型的な場合において、レンジ上限オーバ又はレンジ下限アンダが繰り返されたときに、簡易な手法で逆S変換後(伸張・復号時)の色味の変化を抑え、高画質な処理(伸張・復号処理)を行うことができる。
【0127】
請求項10の発明によれば、逆S変換後に逆色変換がなされる典型的な復号化経路において、RGB値のレンジオーバへの対処を、色差成分のS変換係数の誤差に基づいて簡易に行うができる。
【0128】
請求項11の発明によれば、Gの値のレンジオーバへの対処を、輝度成分のS変換係数の誤差に基づいて簡易に行うことができる。
【0129】
請求項12の発明によれば、オーバ分の値が小さいと想定される成分値の場合には丸め処理にすることにより、レンジオーバへの対処を簡易化することができる。
【0130】
請求項13の発明によれば、オーバ分の値が小さいと想定される場合には丸め処理にすることにより、レンジオーバへの対処を簡易化することができる。
【0131】
請求項14の発明によれば、オーバ分の値が小さいと想定される場合及び成分値の場合に丸め処理にすることにより、レンジオーバへの対処を簡易化することができる。
【0132】
請求項19,20の発明によれば、画像データ処理方法が記録されているので、各請求項に対応した処理によって速度と画質のバランスのとれたシステムを提供することができる。
【図面の簡単な説明】
【図1】 S変換を説明するための図である。
【図2】 S変換を行う画素間の方向の凡例を示す図である。
【図3】 自然画像におけるHL,LH,HHの値のヒストグラムを示す図である。
【図4】 本発明に係る画像データ処理装置を説明するためのブロック図である。
【図5】 本発明の一実施形態に係る画像データ処理装置の構成例を示す図である。
【図6】 本発明の一実施形態に係る画像データ処理装置の他の構成例を示す図である。
【図7】 本発明の一実施例の画像データ処理装置における符号化部(圧縮部)を示すブロック図である。
【図8】 図7の符号化部で生成される固定長の符号の構成例を示す図である。
【図9】 図7の符号化部での処理の流れを説明するためのフロー図である。
【図10】 本発明の一実施例の画像データ処理装置における復号化部(伸張部)を示すブロック図である。
【図11】 図10の復号化部での処理の流れを説明するためのフロー図である。
【図12】 本発明の一実施例の画像データ処理装置におけるレンジオーバ補正処理の流れを説明するためのフロー図である。
【図13】 図12の処理を詳細に説明するためのフロー図である。
【図14】 図12の処理を詳細に説明するためのフロー図である。
【図15】 図12の処理を詳細に説明するためのフロー図である。
【図16】 図12の処理を詳細に説明するためのフロー図である。
【図17】 本発明の他の実施例の画像データ処理装置におけるレンジオーバ補正処理の流れを説明するためのフロー図である。
【図18】 図17の処理で生成される固定長の符号の構成例を示す図である。
【符号の説明】
1…レンジオーバ画素チェック手段、2…成分値修正手段、3…成分値配分手段、11,21,27…RAM、12,22,26…CPU、13,23…データバス、14,24…HDD、25…プリンタ、31…2×2画素切り出し部、32…S変換部、33…量子化部、34…RCT部、35…符号生成部、41…符号分割部、42…逆RCT部、43…逆量子化部、44…逆S変換部、45…レンジオーバ補正処理部。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image data processing apparatus, an image data processing method, a program, and a recording medium. More specifically, the present invention relates to color image information applicable to an application program, a device driver such as a printer driver, and other devices that handle images. The present invention relates to an image data processing device for decoding, an image data processing method, a program thereof, and a computer-readable recording medium on which the program is recorded.
[0002]
[Prior art]
When transmitting and storing a color image, it is common to compress the original image in order to reduce the amount of data. When performing such compression, it is a typical technique to reduce the amount of information by performing orthogonal transformation on the components constituting the image to bias the amount of information and quantizing the converted component. is there. Further, when the quantization is extremely performed, it is often performed that all specific components constituting the image are discarded (handled as 0).
[0003]
The technique described in Japanese Examined Patent Publication No. 7-63177 is a representative example of the above, and converts color image data into a luminance (brightness) signal and a color difference signal for each block unit, and further orthogonally converts the brightness signal to generate a low frequency DC A coefficient representing the component and a coefficient representing the high-frequency AC component are obtained, and then the low-frequency coefficient and the high-frequency component coefficient are quantized. On the other hand, the chrominance signal is not orthogonally transformed, and only the representative colors in the block are quantized and encoded.
[0004]
When an image compressed by quantization as described above is expanded, inverse quantization is performed, and a quantization error occurs between the original image and the expanded image. When the quantization error is large, the pixel value after expansion may exceed the original predetermined range.
[0005]
For example, in a general full-color image, RGB takes 8 bits each, that is, a value from 0 to 255. However, due to quantization error, the RGB value after expansion becomes negative or exceeds 255 (hereinafter, this phenomenon is referred to as range over in the present application specification).
[0006]
When such a range over occurs, a so-called rounding process (clipping process) in which a negative value is replaced with 0 and a value exceeding 255 is replaced with 255 has been conventionally performed. However, when the quantization is extreme, the value for the overrange (the value that deviates from the predetermined range) becomes large, and simple rounding processing changes the color locally, resulting in image quality degradation. There is.
[0007]
The above phenomenon is also described in US Pat. No. 5,757,975 “Artifact reduction for large dynamic range input data in JPEG compression”. In the neighborhood of a pixel (for example, a 3 × 3 pixel range), find a neighboring pixel whose value is within a predetermined range and redistribute the range over value to the neighboring pixel to preserve the local average value, Proposes to suppress changes in color.
[0008]
[Problems to be solved by the invention]
The above-mentioned “preserving local average value” is very effective in suppressing image quality degradation, but “the range is not over in the surrounding 3 × 3 pixel range, and the value is within a predetermined range. The process of “searching for a neighboring pixel within” must check many pixel values (for example, the surrounding eight pixels) for one pixel that has exceeded, and is complicated and cumbersome.
[0009]
The present invention has been made in view of the above-described circumstances. The orthogonal transform used for compression is limited to the S transform, and the quantization rate for each S transform coefficient and the main object of compression (for example, a natural image) are considered. As a result, the quantization error of the image data component is corrected without performing a complicated process such as the “search for neighboring pixels in the range of the surrounding 3 × 3 pixels”, and the color after the inverse S conversion is corrected. An object of the present invention is to provide an image data processing device, an image data processing method, a program, and a recording medium that can perform high-quality processing while suppressing changes.
[0010]
[Means for Solving the Problems]
The invention of
[0011]
The invention of
[0012]
The invention of
[0013]
The invention of
[0014]
The invention of
[0015]
The invention of
[0016]
The invention of
[0017]
The invention of claim 8 claims 1 or 2 In the invention of When the magnitude relationship indicates that the LH quantization error or the HL quantization error is maximum, the positional relationship between the correction target pixel and the distribution destination pixel is determined in advance as a diagonal position. In the image data processing apparatus, if the component value of the diagonal pixel that is the allocation destination further exceeds the range as a result of distributing the component value of the pixel by the distribution unit, the component value is within the range. A second correction unit that corrects the correction amount so that the correction value is corrected by the second correction unit, and the distribution unit includes a component value of a pixel included in the same S conversion unit as the diagonal pixel that is the correction target. The positional relationship between the diagonal pixel to be corrected and the pixel to which the diagonal pixel is allocated is determined in advance as a horizontal position or a vertical position. It is characterized by that.
[0018]
The invention of claim 9 is claimed in claim 8 In the invention of As a result of allocating the correction amount corrected by the second correcting unit to the component value of the pixel by the distributing unit, if the component value of the distribution destination pixel is over the range, the component value is set as the range limit value. Has rounding correction means It is characterized by that.
[0025]
Claim 10 The invention of
[0026]
Claim 11 The invention of
[0027]
[0028]
[0029]
[0030]
Claim 15 The invention of For the quantized coefficient obtained by quantizing the S transform coefficient consisting of LL, LH, HL, and HH Inverse S transformation And after the inverse S transformation image data of component value An image data processing method for processing Of the component values range Over Find pixels with component values Range over pixel check Steps and the Looked for by over-range pixel check step Pixel The success of Make the minute value fall within the range Correction to correct Steps, A distribution step of distributing the correction amount corrected in the correction step to the component values of the pixels included in the same S conversion unit as the correction target pixel, and the correction target pixel and the distribution step The positional relationship with the allocation destination pixels is determined in advance based on the magnitude relationship between the LH quantization error, the HL quantization error, and the
[0031]
Claim 16 The invention of In the invention of claim 15, the magnitude relationship is a relationship that is determined in advance depending on a type of image data to be quantized and / or a difference in quantization rate of each of the S transform coefficients. It is characterized by that.
[0032]
Claim 17 The invention of In the invention of claim 15 or 16, the positional relationship is predetermined based on which quantization error is minimum or maximum based on the magnitude relationship. It is characterized by that.
[0033]
Claim 18 The invention of In the invention of claim 15 or 16, when the magnitude relationship indicates that the LH quantization error or the HL quantization error is the maximum, the positional relationship between the correction target pixel and the allocation destination pixel Is predetermined in diagonal position It is characterized by that.
[0034]
Claim 19 The invention of
[0035]
Claim 20 The invention of claim 19 A computer-readable recording medium on which the described program is recorded.
[0036]
DETAILED DESCRIPTION OF THE INVENTION
In US Pat. No. 5,757,975, in the vicinity of a pixel whose range is over (for example, a range of 3 × 3 pixels), a neighboring pixel whose value is within a predetermined range is searched for, and the range over value is determined as the neighborhood. There is described a pseudo signal reduction method capable of preserving a local average value by redistributing to pixels and suppressing a change in color. The process of “storing the local average value” here is very effective in suppressing image quality degradation, but “the range is not over in the surrounding 3 × 3 pixels range, and the value is The process of “finding neighboring pixels within a predetermined range” requires many pixel values (for example, surrounding eight pixels) to be checked for one pixel that has exceeded, and is complicated and complicated.
[0037]
However, the orthogonal transformation used for compression is limited to S transformation, and by considering the quantization rate for each S transformation coefficient and the main object of compression (for example, mainly natural images), the above-mentioned “around 3 × 3 pixels” It is possible to omit a complicated process such as “search for neighboring pixels in the range”.
The reason why this omission is possible will be described below.
[0038]
FIG. 1 is a diagram for explaining S conversion. FIG. 1A is a diagram illustrating a pixel that performs S conversion, and FIG. 1B is an S diagram for converting the pixel value of FIG. FIG. 1C is a diagram illustrating an inverse S conversion formula for performing an inverse S conversion on each component that has been S converted in FIG. 1B. .
First, S conversion is a process of converting pixel values a, b, c, and d into four coefficients LL, HL, HL, and HH, for example, in units of 2 × 2 pixels as shown in FIG. LL is a low-frequency component and the others are high-frequency components. As is clear from FIGS. 1A and 1B, HL, LH, and HH are in sequence with respect to edges in the vertical, horizontal, and diagonal directions, respectively. Large value. Note that a, b, c, and d are, for example, RGB R values, G values, luminance values, and color difference values.
[0039]
Then, the inverse S transformation for obtaining the original values of a to d from the four coefficients is as follows (see FIG. 1C).
a = LL + (HL + LH) / 2 + HH / 4 (1)
b = LL− (HL−LH) / 2−HH / 4 (2)
c = LL + (HL−LH) / 2−HH / 4 (3)
d = LL− (HL + LH) / 2 + HH / 4 (4)
[0040]
Usually, when quantization is performed, the quantization rate of the low frequency component that has a large influence on the image quality, that is, the LL component is minimized, and the high frequency component that has a small influence on the image quality, that is, the quantization of the LH, HL, and HH components. Maximize the rate. Note that the quantization rate in the specification of the present application means “degree of reduction in the amount of information of the data after quantization with respect to the original data”, and when 8-bit data is reduced by 1 bit to 7 bits. The quantization rate is 2, and when the 8-bit data is reduced by 3 bits to 5 bits, the quantization rate is 2 Three = 8.
[0041]
As a result, the quantization error is also minimized for the LL component and increased for the LH, HL, and HH components. That is, in a normal compression method, an error that occurs on the right side of equations (1) to (4) during the compression / expansion process can be regarded as a quantization error of LH, HL, and HH components.
[0042]
Assume that the quantization error of HL is ΔE. As is clear from the equations (1) to (4), the polarity (positive / negative) of the error caused by ΔE is “the same direction for a and c, and the opposite direction for a and c for b and d”. That is, if the values of a and c increase by ΔE / 2 due to quantization error, the values of b and d decrease by ΔE / 2. If there are (original) values before compression of a, b, c, and d that are close to the upper and lower limits of the range, if the value of ΔE / 2 is sufficiently large, the range is over. That is why.
[0043]
Here, it is assumed that the above-described “processing for storing the local processing average value”, for example, processing for storing the sum of a, b, c, and d is performed.
For example, suppose that a is decoded (expanded) as 260 beyond 255 which is the upper limit of the range, and the value of a is corrected to 255 which is the upper limit of the range. In this case, in order to save the sum of a, b, c, and d before and after the correction, it is necessary to add the over-value 5 subtracted from 260 to any pixel or any one of a plurality of pixels. Yes (hereinafter this process is called range over correction).
[0044]
As is apparent from the direction of the error described above, if the over amount is added to c, the error of c further increases. Therefore, the excess of a should be added to “b or d (or both)”. That is, it is possible to determine in advance the pixels that should absorb the excess. The same argument holds when a falls below the lower limit of the range and when quantization errors occur in LH and HH.
[0045]
FIG. 2 is a diagram illustrating a legend of directions between pixels that perform S conversion. As shown in FIG. 2, when b, c, and d viewed from a are called the horizontal direction, the vertical direction, and the diagonal direction in order, the coefficient that causes the quantization error and the pixel to which the excess is to be allocated according to the above discussion. The relationship of the positions is as shown in Table 1 below.
[0046]
[Table 1]
[0047]
However, in an actual individual scene, it cannot be determined which coefficient quantization error causes a range over. Usually, it cannot be determined which coefficient has a quantization error. For this reason, it is necessary to probabilistically consider which coefficient is to be dealt with so that it can be attributed, and which coefficient is caused to exceed the range due to the quantization error. This is the idea that forms the basis of the present invention.
[0048]
For example, when it is intended to absorb the range over by one pixel, as is clear from Table 1, when it is caused by a quantization error of either HL or LH, both are common (= It is understood that “diagonal pixels” may be selected.
[0049]
Table 1 also shows that allocation to diagonal pixels is not a good idea in the case of range over caused by HH. However, if the HH-induced range over is less likely to occur than the HL / LH-based range over, it is simple and effective to select, for example, a diagonal pixel with priority given to dealing with HL and LH. That's it.
[0050]
Here, in a general compression method, a range over caused by HH is often less likely to occur stochastically than a range over caused by HL or LH. Specifically, this is the case as follows.
[0051]
(Case 1)
When linearly quantizing HL, LH, and HH with the same number of quantization steps:
When the number of quantization steps is the same, the quantization error occurring in HL, LH, and HH can be stochastically equal, but as is clear from equations (1) to (4), the error that causes the range over is “ ½ of HL and LH quantization error and ¼ of HH quantization error ”. Therefore, the range overhaul caused by HH is simply less than that caused by HL and LH.
[0052]
(Case 2)
When the compression target is a natural image and HL, LH, and HH are quantized nonlinearly:
In natural images, it is well known that diagonal edges are weaker than vertical and horizontal edges (it is said to be the effect of gravity), which is smaller in HH values than HL and LH values. This means that HH is not divided by 2 unlike HL and LH, but is still small as in the equation of FIG.
[0053]
FIG. 3 is a diagram showing a histogram of HL, LH, and HH values in a natural image. Since the HH value is often smaller than the HL and LH values, the histogram of the HL, LH, and HH values in the natural image is as shown in FIG. 3, and the HH takes a shape in which smaller values frequently appear. When nonlinearly quantizing the coefficients of such a histogram, considering the frequency of appearance, the range with a small value is densely (= the quantization interval is small), and the large range is coarse (= the quantization interval is large) It is usual to quantize. As the quantization interval is larger, the quantization error becomes larger. As a result of nonlinear quantization, the LH and HL quantization errors having values larger than HH become larger. Therefore, the range overhaul caused by HH is much less than that caused by HL and LH.
[0054]
As described above, the position where the range-over is to be allocated is first determined by the “probabilistic magnitude relationship of quantization errors of LH, HL, and HH / 2”, and further, to which (any) coefficient It is determined by whether or not to deal with it so that it can be caused. Here, “HH / 2 quantization error” means “½ of HH quantization error”. Considering that the number of quantization steps and the quantization interval are determined in advance at the design time of the quantizer, the “probabilistic magnitude relationship of quantization errors of HL, LH, and HH / 2” is determined at the design time. In addition, the allocation destination of the excess can be determined at the design time. If probabilistic processing (processing that works effectively in most cases) is acceptable, there is no need to search for an allocation destination.
Therefore, when the “probabilistic magnitude relationship”, in particular, the coefficient that the quantization error is stochastically maximized is mainly considered, an example of a predetermined allocation position is as shown in Table 2 below. The meaning of “distribution” will be described later.
[0055]
[Table 2]
[0056]
Also this `` Sure Predetermined distribution when considering both the magnitude relationship (two coefficients other than the coefficient with which the quantization error is stochastically minimum) and “As may be attributed to any coefficient” Examples of positions are shown in Table 3 below.
[0057]
[Table 3]
[0058]
Further, the above example has been described in the case where the amount subjected to inverse S conversion (for example, the value of R) is the same as the amount subjected to range overcorrection (for example, when only S conversion is performed and color conversion to luminance / color difference is not performed). However, the present invention can be applied even when the amount of inverse S conversion is luminance or color difference and the amount of over-range correction is an RGB value.
[0059]
For example, in the case of the technique described in Japanese Examined Patent Publication No. 7-63177, color image data composed of RGB is converted into a luminance signal and a color difference signal for each block unit, and further a lightness signal is orthogonally transformed to obtain a coefficient. The coefficients are quantized. On the other hand, the chrominance signal is not orthogonally transformed, and only representative values in the block are quantized and encoded (compressed). On the other hand, at the time of decompression, inverse color transformation is performed after inverse orthogonal transformation, and RGB values are decoded.
[0060]
Now, consider a case where this orthogonal transform is an S transform and an average value of color differences is used as a representative value. Since the average value corresponds to the LL component referred to in the S conversion, in fact, this means that all luminance / color differences are S-converted, and all the HL, LH, and HH components are discarded (= infinite quantum). Quantize with the number of quantization steps). When the main object of compression is a natural image, the HH component is minimum for both luminance and color difference.
[0061]
Since the quantization error generated in the color difference is eventually propagated to the RGB error in the inverse color conversion, the R value and the S value of the S conversion coefficient of the color difference component are calculated based on the magnitude relationship of the stochastic quantization error. It is possible to determine the allocation destination for the range over that has occurred in the B value.
[0062]
For example, when color conversion is expressed by the following equation called RCT:
Luminance Y = (R + 2G + B) / 4
Color difference U = RG
Color difference V = BG
The inverse transformation is represented by the following equations (5) to (7).
R = G + U (5)
G = Y− (U + V) / 4 (6)
B = V + G (7)
[0063]
The color conversion described above is reversible when the division unit at 4 is rounded down using a floor function or rounded up using a ceiling function. Therefore, in the two cases, RCT (Reversible Component Transform) )is called. In the present application specification, for the sake of simplicity, it will be abbreviated as RCT regardless of whether it is reversible or not.
[0064]
At the time of expansion, inverse S conversion is performed for both luminance and color difference. Therefore, when U component is taken as an example, U at the pixel position indicated as a in FIG. If the coefficients are expressed as UL, UHL, etc.,
Ua = ULL + (UHL + ULH) / 2 + UHH / 4
Ub = ULL- (UHL-ULH) / 2-UHH / 4
Uc = ULL + (UHL-ULH) / 2-UHH / 4
Ud = ULL- (UHL + ULH) / 2 + UHH / 4
It becomes. Now, since the high frequency of U is uniformly discarded, the quantization error of the HH component is minimized in any of Ua to Ud as in the previous discussion.
[0065]
And each Ua-Ud is inversely RCTed to Ra-Rd by equation (5),
However, in a normal compression method, an error occurring in Ya is smaller than an error occurring in Ua and Va. This is because, in order to improve the image quality after expansion, it is a conventional means to lower the luminance quantization rate and raise the color difference quantization rate.
[0066]
As a result, Ua and Va quantization errors are dominant in the error that occurs in Ra through equation (8). If the stochastic quantization errors of Ua and Va are designed to be equal, the error due to Ua multiplied by the
Therefore, it is possible to determine the allocation destination of the range over which has occurred in the R value and B value based on the magnitude relationship of the stochastic quantization error of the S conversion coefficient of the color difference component.
[0067]
Further, the dominant contribution to the G component can be in any case depending on the difference in the quantization rate between the luminance Y and the color differences U and V (= design policy). Similarly, the quantization error from the HH component of luminance or the HH component of color difference is minimized. Therefore, it is possible to determine the allocation destination of the range over generated in the G value based on the magnitude relationship of the stochastic quantization error of the S conversion coefficient of the luminance component or the color difference component.
[0068]
In the above description, RCT is taken as an example, but it is clear that the same argument holds for the known YCbCr conversion used in JPEG or the like. Further, although the description has been made taking the decompression after compression as an example, it is apparent that any process that performs inverse S transform after quantization of the S transform coefficient can be applied regardless of decompression / decoding.
[0069]
Based on the above, an embodiment of the present invention will be described.
FIG. 4 is a block diagram for explaining an image data processing apparatus according to the present invention.
An image data processing apparatus according to an embodiment of the present invention is an apparatus that processes image data components after inverse S conversion (for example, the above-described R value or B value, which may be luminance or color difference, which will be described later). Range over pixel check means 1 for searching for a pixel having a component value exceeding the upper limit, component value correction means 2 for reducing the component value of the pixel so as to fall within the range, and S conversion coefficients LH, HL, HH / 2 Assume that it has component value distribution means 3 for increasing the component value of a pixel determined in advance based on the stochastic magnitude relationship of the quantization error. According to this embodiment, when the upper limit of the range is exceeded, it is possible to perform a high-quality process (expansion / decoding process) by suppressing a change in color after inverse S conversion (during expansion / decoding) by a simple method. Become.
In each embodiment to be described later, each means is described as being the same as each means in the present embodiment with reference to FIG. 1, but naturally it is not necessary to be the same means. Even if it has only the function in each embodiment, it may have the function in other embodiments.
[0070]
An image data processing apparatus according to another embodiment of the present invention is an apparatus for processing an image data component after inverse S conversion, and is a range over pixel check unit that searches for a pixel having a component value below the lower limit of the range. 1 and the component
[0071]
An image data processing apparatus according to another embodiment of the present invention is an apparatus for processing an image data component after inverse S conversion, and is a range over pixel check means for searching for a pixel having a component value exceeding the upper limit of the range. 1 and the component
[0072]
An image data processing apparatus according to another embodiment of the present invention is an apparatus for processing image data after inverse S conversion, and is a range over pixel check means 1 for searching for a pixel having a component value below the lower limit of the range. And a component
[0073]
As described above, when the range-over amount is distributed to predetermined pixels, the value of the predetermined pixel after distribution is usually within the range. However, the value of the predetermined pixel after distribution may exceed or fall below the range due to accumulation of errors between coefficients. In such a case, redistribution or rounding is necessary. “Next allocation” described in Tables 2 and 3 refers to this redistribution.
[0074]
Therefore, in the image data processing apparatus according to another embodiment of the present invention, when the component value of the pixel whose value has been increased by the component
[0075]
In the image data processing apparatus according to another embodiment of the present invention, when the component value of the pixel whose value has been reduced by the component
[0076]
In addition, the image data processing apparatus according to another embodiment of the present invention may determine the component value of the pixel when the component value of the pixel whose value has been increased or the second pixel further exceeds the upper limit of the range. (This is hereinafter referred to as “rounding processing”). In addition, when the component value of the pixel whose value is reduced or the second pixel is further below the lower limit of the range, the component value of the pixel is set as the lower limit value of the range (hereinafter also referred to as “rounding process”). According to the present embodiment, it is possible to easily cope with a case where range over is repeated.
[0077]
An image data processing apparatus according to another embodiment of the present invention searches for a pixel having a component value exceeding the upper limit of the range when the quantization error of HH / 2 is probabilistically minimum, It is assumed that there are component
[0078]
An image data processing apparatus according to another embodiment of the present invention searches for a pixel having a component value below the lower limit of the range when the quantization error of HH / 2 is probabilistically minimum, Assume that the apparatus has component
[0079]
In the image data processing apparatus according to another embodiment of the present invention, when the component value of the increased pixel further exceeds the upper limit of the range by the component
[0080]
In the image data processing apparatus according to another embodiment of the present invention, when the component value of the reduced pixel is further below the lower limit of the range by the component
[0081]
An image data processing apparatus according to another embodiment of the present invention is configured such that the magnitude of the value to be reduced matches the magnitude of the value to be increased. According to this embodiment, including the typical case where the quantization error of HH / 2 is minimum, the sum (average value) of the component values is maintained, so that the change in color can be accurately suppressed, and the image quality can be improved. Processing (decompression / decoding processing) can be performed.
[0082]
In the image data processing apparatus according to another embodiment of the present invention, when the component value of a pixel whose value is increased further exceeds the upper limit of the range, the component value of the pixel is set as the upper limit value of the range. Further, when the component value of a pixel whose value has been reduced further falls below the lower limit of the range, the component value of the pixel is set as the range lower limit value. According to the present embodiment, in a typical case where the quantization error of HH / 2 is the minimum, it is possible to easily cope with a case where range over is repeated.
[0083]
In the image data processing apparatus according to another embodiment of the present invention, the inverse S conversion is performed on the color difference component of the image data, and the component value is an R value, a G value, or a B value. It is a thing. According to this embodiment, in a typical decoding path in which reverse color conversion is performed after reverse S conversion, handling of RGB value range over is easily performed based on the error of the S conversion coefficient of the color difference component. Is possible.
[0084]
An image data processing apparatus according to another embodiment of the present invention is configured such that the above-described inverse S conversion is performed on the luminance component of the image data, and the above-described component value is a G value. According to the present embodiment, in a typical decoding path in which reverse color conversion is performed after reverse S conversion, handling of the G value over-range is simply performed based on the error of the S conversion coefficient of the luminance component. It becomes possible.
[0085]
In order to maintain the image quality after decoding (after decompression), the luminance quantization rate is usually lower than the color difference quantization rate. In such a case, the RCT equation (5) described above is used. As is clear from the examples of () to (7), the error generated in G is smaller than the error generated in R and B. As a result, in the case of G, even if a range over occurs, the over value is small.
Therefore, an image data processing apparatus according to another embodiment of the present invention includes means for rounding the value of G when the component value exceeding the upper limit of the range or the component value falling below the lower limit of the range is G. And According to the present embodiment, in the case of a component value that is assumed to have a small over value, rounding processing can be used to simplify the handling of a range over.
[0086]
In addition, it is common that the quantization rate at the time of encoding is variable in order to make the compression rate of the image data variable, but when the quantization rate is low, the range over itself also decreases, and the value for the excess Becomes smaller.
Therefore, the image data processing apparatus according to another embodiment of the present invention has means for switching whether to increase or decrease the predetermined pixel component value or to perform rounding processing according to the quantization rate of the S-transform coefficient. Shall have. According to the present embodiment, when the over value is assumed to be small, rounding processing can be used to simplify the handling of range over.
[0087]
In addition, the image data processing apparatus according to another embodiment of the present invention is configured so that when the component value exceeding the above-described range upper limit or the component value exceeding the range adjustment is G, the above-described range is determined according to the quantization rate of the S-transform coefficient. It is assumed that there is means for switching between increasing / decreasing the G value of a predetermined pixel or rounding processing. According to the present embodiment, it is possible to simplify the handling of the range over by performing rounding when the over value is assumed to be small and when the value is a component value.
[0088]
An image data processing method according to an embodiment of the present invention is a method for processing an image data component after inverse S conversion, the step of searching for a pixel having a component value exceeding the upper limit of the range, and the component value of the pixel And a step of increasing a component value of a pixel determined in advance based on a probabilistic magnitude relationship of quantization errors of S conversion coefficients LH, HL, and HH / 2. And According to this embodiment, when the upper limit of the range is exceeded, it is possible to perform a high-quality process (expansion / decoding process) by suppressing a change in color after inverse S conversion (during expansion / decoding) by a simple method. Become.
[0089]
An image data processing method according to another embodiment of the present invention is a method for processing an image data component after inverse S conversion, the step of searching for a pixel having a component value below the lower limit of the range, and the pixel A step of increasing the component value of the pixel so as to fall within the range, and a step of reducing the component value of a pixel determined in advance based on the stochastic magnitude relationship of the quantization error of the S conversion coefficients LH, HL, and HH / 2 It shall have. According to this embodiment, when the value falls below the lower limit of the range, the color change after inverse S conversion (during expansion / decoding) is suppressed by a simple method, and high-quality processing (expansion / decoding processing) is performed. Is possible.
[0090]
An image data processing method according to another embodiment of the present invention is a method of processing an image data component after inverse S conversion, the step of searching for a pixel having a component value exceeding the upper limit of the range, and the pixel The component value of the pixel determined in advance based on the step of reducing the component value of the pixel to fall within the range and the quantization error of the S conversion coefficients LH, HL, and HH / 2 is probabilistically minimized. It is assumed to have a step of increasing. According to the present embodiment, when the upper limit of the range is exceeded, a change in color after inverse S conversion (during expansion / decoding) is suppressed by a simple and flexible method, and high-quality processing (decompression / decoding processing) can be performed. It becomes possible.
[0091]
Further, an image data processing method according to another embodiment of the present invention is a method of processing image data after inverse S conversion, the step of searching for a pixel having a component value below the lower limit of the range, The step of increasing the component value so as to fall within the range, and the component value of a pixel determined in advance based on which quantization error of the S conversion coefficients LH, HL, and HH / 2 is probabilistically minimized It is assumed that there are steps to reduce. According to the present embodiment, when the value falls below the lower limit of the range, a simple and flexible technique is used to suppress a change in color after inverse S conversion (during expansion / decoding), and to perform high-quality processing (expansion / decoding processing). Can be done.
[0092]
The present invention provides a program for realizing the functions of the image data processing apparatus according to each of the above-described embodiments or for executing the image data processing method according to each of the above-described embodiments, and a computer that records the program. As a possible information recording medium, it is possible to provide a system capable of balancing speed and image quality by processing corresponding to the above-described embodiments.
[0093]
Hereinafter, embodiments of the present invention will be described more specifically.
FIG. 5 is a diagram illustrating a configuration example of an image data processing apparatus according to an embodiment of the present invention.
The image data processing apparatus described here has a configuration in which a RAM 11, a
[0094]
The original image recorded on the
[0095]
In the same apparatus configuration, the compressed image is decompressed (decoded) in the following flow. The compressed image recorded on the
[0096]
FIG. 6 is a diagram showing another configuration example of the image data processing apparatus according to the embodiment of the present invention.
The image data processing apparatus described here has a configuration in which a
[0097]
The original image recorded on the
[0098]
FIG. 7 is a block diagram showing an encoding unit (compression unit) in the image data processing apparatus of one embodiment of the present invention, and FIG. 8 is a configuration example of a fixed-length code generated by the encoding unit of FIG. FIG. 9 is a flowchart for explaining the flow of processing in the encoding unit of FIG. Based on the apparatus configuration illustrated in FIG. 5 or FIG. 6, the processing flow of the encoding unit (compression unit) assumed in the present embodiment will be described based on FIGS. 7 to 9.
[0099]
The encoding process in the present embodiment is premised on S conversion (Harr Wavelet conversion) as means for separating image data into low frequency components and high frequency components. In the S conversion, conversion in units of 2 × 2 pixels is performed as shown in FIG. 1, and when the values of 4 pixels are a, b, c, and d as shown in FIG. 1, an image of a 2 × 2 pixel block Information is converted into four coefficients LL, HL, LH, and HH. Of these, the LL coefficient is a low frequency component, and the HL, LH, and HH coefficients are high frequency components. Here, when a to d are R values of each pixel, Rll, Rhl, Rhh, and Rhh are obtained. Similarly, when G is a G value of each pixel, Gll to Ghh are obtained. , B is the same.
[0100]
Image data given as RGB data having a value of 0 to 255 (8 bits) is input to the
[0101]
In the present embodiment, in the quantizing
[0102]
In the
[0103]
The coefficients of each YUV are input to the
In the above example, the order of S conversion and color conversion (RCT) is reversed and the position of the quantization unit is different from that of the above-mentioned Japanese Patent Publication No. 7-63177, but for the application of the present invention. It is clear that can be in any order / position.
[0104]
FIG. 10 is a block diagram showing a decoding unit (decompression unit) in the image data processing apparatus according to the embodiment of the present invention, and FIG. 11 is a flowchart for explaining the flow of processing in the decoding unit of FIG. is there. The processing flow of the decoding unit (decompression unit) of this embodiment will be described with reference to FIGS. 10 and 11 based on the encoding described in FIGS.
[0105]
In the image data subjected to the above-described encoding, Yll, Yhl, Ylh, Yhh, Ull, Vll for four pixels are cut out from the fixed-
[0106]
FIG. 12 is a flowchart for explaining the flow of range over correction processing in the image data processing apparatus according to the embodiment of the present invention. FIGS. 13 to 16 are for explaining the processing of FIG. 12 in detail. FIG.
In this embodiment, in step S21, the correction amount of each pixel described in FIG. 13 is calculated and held for all RGB. Here, as shown in FIG. 13, the correction amount = the value for the range over. As described above,
[0107]
This time, since only G is rounded, correction amounts are obtained only for R and B in step S23, and the correction amounts are added to the horizontal position pixels in step S24. This means that in addition to the definition of the center column in Table 3, “redistribution is horizontal (prior to HL quantization error)”. Finally, a rounding process is performed in step S25.
[0108]
The flow of the rounding / correction amount holding process will be described with reference to FIG.
First, the correction amounts for all positions a, b, c, and d are set to 0 (step S31). If the component value x is less than 0 in step S32, x = 0 is set, the positions a to d and the correction amount x-0 are held (step S33), and if the component value x exceeds 255 in step S34. x = 255, and the positions a to d and the correction amount x-255 are held (step S35). This process is repeated for x for four pixels (step S36).
[0109]
The flow of the diagonal position correction process will be described with reference to FIG.
First, in step S41, it is determined whether or not the correction amount is zero. If the correction amount is not 0, the process proceeds to step S42, and the correction amount is added to the component value of the diagonal position pixel. This process is repeated for the correction amount for four pixels (step S43).
[0110]
The flow of the horizontal position correction process will be described with reference to FIG.
First, in step S51, it is determined whether or not the correction amount is zero. If the correction amount is not 0, the process proceeds to step S52, and the correction amount is added to the component value of the horizontal position pixel. This process is repeated for the correction amount for four pixels (step S53).
[0111]
The flow of the rounding process will be described with reference to FIG.
First, if the component value x is less than 0 in step S61, x = 0 is set (step S62), and if the component value x exceeds 255 in step S63, x = 255 is set (step S64). This process is repeated for x for four pixels (step S65).
[0112]
FIG. 17 is a flowchart for explaining the flow of range overcorrection processing in an image data processing apparatus according to another embodiment of the present invention, and FIG. 18 is a configuration example of a fixed-length code generated by the processing of FIG. FIG.
In this embodiment, when the quantization rate of the entire coefficient is larger than the threshold Th1 in step S71, the correction amount of each pixel shown in FIG. 13 is calculated and held for all RGB (step S72), and further RGB The value for the range over (correction amount in FIG. 13) is added to the pixels at the diagonal positions for all (step S73), and the rounding process is performed for all RGB (step S77). If the quantization rate of the entire coefficient is equal to or smaller than the threshold Th1 in step S71, the process proceeds to step S74. In step S74, when the quantization rate of the entire coefficient is larger than the threshold Th2 (Th1> Th2), the correction amount of each pixel shown in FIG. 13 is calculated and held for all RBs (step S75). Is added to the pixel at the diagonal position (step S76), and rounding processing is performed for all RGB (step S77). If the quantization rate of the entire coefficient is equal to or less than the threshold value Th2, steps S75 and S76 are skipped and the process proceeds to step S77. The details of the processing here have already been described with reference to FIGS.
[0113]
In the present embodiment, a fixed length value of 2 bits indicating the magnitude relationship with the threshold values Th1 and Th2 (in the case of “11”, the quantization rate>), as in the fixed
[0114]
【The invention's effect】
[0115]
In addition, by holding the sum (average value) of the component values, Change color Precisely Therefore, high-quality processing (decompression / decoding processing) can be performed.
[0116]
[0117]
[0118]
[0120]
[0123]
Claim 8,9 In the typical case where the quantization error of HH / 2 is minimum, the upper limit of the range is exceeded. Or range lower limit under Is repeated, it is possible to perform high-quality processing (decompression / decoding processing) by suppressing a change in color after inverse S conversion (during expansion / decoding) by a simple method.
[0127]
Claim 10 According to this invention, in a typical decoding path in which reverse color conversion is performed after reverse S conversion, it is possible to easily deal with the RGB value range over based on the error of the S conversion coefficient of the color difference component. .
[0128]
Claim 11 According to the present invention, it is possible to easily cope with the over-range of the G value based on the error of the S conversion coefficient of the luminance component.
[0129]
[0130]
[0131]
[0132]
Claim 19 , 20 According to the invention, since the image data processing method is recorded, it is possible to provide a system in which the speed and the image quality are balanced by the processing corresponding to each claim.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining S conversion;
FIG. 2 is a diagram illustrating a legend of directions between pixels that perform S conversion.
FIG. 3 is a diagram illustrating a histogram of values of HL, LH, and HH in a natural image.
FIG. 4 is a block diagram for explaining an image data processing apparatus according to the present invention.
FIG. 5 is a diagram illustrating a configuration example of an image data processing apparatus according to an embodiment of the present invention.
FIG. 6 is a diagram illustrating another configuration example of an image data processing apparatus according to an embodiment of the present invention.
FIG. 7 is a block diagram illustrating an encoding unit (compression unit) in an image data processing apparatus according to an embodiment of the present invention.
8 is a diagram illustrating a configuration example of a fixed-length code generated by the encoding unit in FIG.
FIG. 9 is a flowchart for explaining a process flow in an encoding unit in FIG. 7;
FIG. 10 is a block diagram illustrating a decoding unit (decompression unit) in the image data processing apparatus according to the embodiment of the present invention.
FIG. 11 is a flowchart for explaining the flow of processing in the decoding unit in FIG. 10;
FIG. 12 is a flowchart for explaining the flow of range over correction processing in the image data processing apparatus according to the embodiment of the present invention;
13 is a flowchart for explaining the processing of FIG. 12 in detail.
14 is a flowchart for explaining the processing of FIG. 12 in detail.
FIG. 15 is a flowchart for explaining the processing of FIG. 12 in detail;
FIG. 16 is a flowchart for explaining the process of FIG. 12 in detail;
FIG. 17 is a flowchart for explaining the flow of range over correction processing in an image data processing apparatus according to another embodiment of the present invention;
18 is a diagram illustrating a configuration example of a fixed-length code generated by the process of FIG.
[Explanation of symbols]
DESCRIPTION OF
Claims (20)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001053721A JP3865595B2 (en) | 2001-02-28 | 2001-02-28 | Image data processing apparatus, image data processing method, program, and recording medium |
US10/082,308 US7013049B2 (en) | 2001-02-28 | 2002-02-26 | Image processing scheme |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001053721A JP3865595B2 (en) | 2001-02-28 | 2001-02-28 | Image data processing apparatus, image data processing method, program, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002262091A JP2002262091A (en) | 2002-09-13 |
JP3865595B2 true JP3865595B2 (en) | 2007-01-10 |
Family
ID=18914152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001053721A Expired - Fee Related JP3865595B2 (en) | 2001-02-28 | 2001-02-28 | Image data processing apparatus, image data processing method, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3865595B2 (en) |
-
2001
- 2001-02-28 JP JP2001053721A patent/JP3865595B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002262091A (en) | 2002-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11647195B2 (en) | Image encoding device, image decoding device, and the programs thereof | |
US7013049B2 (en) | Image processing scheme | |
EP0495490B1 (en) | Video signal encoding apparatus | |
JP4687216B2 (en) | Image signal processing apparatus, camera system, and image signal processing method | |
US9183643B2 (en) | Apparatus and method for generating typical colors for image coding | |
JP4365957B2 (en) | Image processing method and apparatus and storage medium | |
US8606007B2 (en) | Image processing apparatus and method | |
JP4687215B2 (en) | Image signal processing apparatus, camera system, and image signal processing method | |
JP3105335B2 (en) | Compression / expansion method by orthogonal transform coding of image | |
WO2012160626A1 (en) | Image compression device, image restoration device, and program | |
JP3865595B2 (en) | Image data processing apparatus, image data processing method, program, and recording medium | |
JP6722651B2 (en) | How to choose a compression algorithm depending on the type of image | |
JP2008017472A (en) | Compression method of ultrasonic imaging | |
JP4137416B2 (en) | Image data processing apparatus, image data processing method, program, and recording medium | |
US20030215152A1 (en) | Data compression | |
US9571844B2 (en) | Image processor | |
KR100601944B1 (en) | Method and apparatus for color transformation | |
US8630487B2 (en) | Image processing apparatus and method | |
WO2023210594A1 (en) | Image encoding device and image encoding method | |
US9560364B2 (en) | Encoding image data with quantizing and inverse-quantizing pixel values | |
JP4911052B2 (en) | Image processing apparatus, image processing method, and image processing program | |
JPH05176175A (en) | Picture data compression method | |
JP2007019878A (en) | Image coding apparatus and image coding method | |
JP6265705B2 (en) | Image coding apparatus and image coding method | |
JP2002369009A (en) | Image data processing unit, image data processing method, program, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060620 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060821 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061003 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101013 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111013 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121013 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131013 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |