JP4118049B2 - Image processing apparatus and method - Google Patents

Image processing apparatus and method Download PDF

Info

Publication number
JP4118049B2
JP4118049B2 JP2001400647A JP2001400647A JP4118049B2 JP 4118049 B2 JP4118049 B2 JP 4118049B2 JP 2001400647 A JP2001400647 A JP 2001400647A JP 2001400647 A JP2001400647 A JP 2001400647A JP 4118049 B2 JP4118049 B2 JP 4118049B2
Authority
JP
Japan
Prior art keywords
tile
tile boundary
low
pass filter
boundary
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
Application number
JP2001400647A
Other languages
Japanese (ja)
Other versions
JP2003199106A (en
Inventor
水納  亨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2001400647A priority Critical patent/JP4118049B2/en
Priority to EP02028798A priority patent/EP1335607A3/en
Priority to US10/330,588 priority patent/US7302104B2/en
Publication of JP2003199106A publication Critical patent/JP2003199106A/en
Priority to US11/975,506 priority patent/US20080152244A1/en
Application granted granted Critical
Publication of JP4118049B2 publication Critical patent/JP4118049B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理装置及び方法、より詳細には、デジタルカメラ、インターネット、医療用画像、衛星通信用画像などの分野における画像データの圧縮・伸長に応用可能な画像処理装置及び該装置による画像処理方法に関する。
【0002】
【従来の技術】
従来、例えば、特開平11−285006号公報(画像符号化装置及び画像復号装置)に記載の発明は、Wavelet変換時にタイル周辺データを外挿し、管理情報を生成し符号データに添付し、復号化時に管理情報を参照して復号するものである。一方、本発明は、復号(伸長)された画像データに対して、タイル境界の近傍にローパスフィルタをかけるものであり、符号化(圧縮)時には何もしていない。よって、符号データに余分なデータが付与されてしまうことがない。また、本発明は、上記公報記載の発明と異なり、符号化時のデコンポジションレベル(Wavelet変換の階層数)に応じて、ローパスフィルタのマスクサイズを変更したり、ローパスフィルタをかける位置を制御したりすることができる。
【0003】
また、特許第2940422号(変換符号化された画像データの復号化時に生じるブロック歪みの低減方法及び変換符号化された画像データの復号化装置)に記載の発明は、隣接ブロックの量子化度合いの差で適応的にローパスフィルタをかけるというものである。一方、本発明は、復号化された画像に対し、ウェーブレット変換の階層数により適応的にローパスフィルタをかけるものであり、隣接ブロックの量子化度合いの差によるものではなく、上記公報記載の発明とはその構成が異なる。
【0004】
特開平05−014735号公報(画像処理装置)に記載の発明には、ブロック境界を判別する手段を有し、該判別されたブロック境界に対し、均一な平滑化フィルタをかけるものが開示されている。一方、本発明は、ブロック境界情報は圧縮された符号に埋め込まれており、ブロック境界を判別する必要がない。かつ、本発明では画素間距離またはエッジ量に応じて適応的な平滑化フィルタをかける構成となっており、均一な平滑化を行うものではなく、上記公報記載の発明とはその構成が異なる。
【0005】
【発明が解決しようとする課題】
画像入力技術およびその出力技術の進歩により、画像に対して高精細化の要求が、近年非常に高まっている。例えば、画像入力装置として、デジタルカメラ(Digital Camera(DC))を例にあげると、300万以上の画素数を持つ高性能な電化結合素子(CCD)の低価格化が進み、普及価格帯の製品においても広く用いられるようになってきた。そして、500万画素の製品も間近である。そして、このピクセル数の増加傾向は、なおしばらくは続くと言われている。
【0006】
一方、画像出力・表示装置に関しても、例えば、レーザプリンタ、インクジェットプリンタ、昇華型プリンタ等のハード・コピー分野における製品、そして、CRTやLCD(液晶表示デバイス)、PDP(プラズマ表示デバイス)等のフラットパネルディスプレイのソフト・コピー分野における製品の高精細化・低価格化は目を見張るものがある。こうした高性能・低価格な画像入出力製品の市場投入効果によって、高精細画像の大衆化が始まっている。今後はあらゆる場面で、高精細画像の需要が高まると予想されている。実際、パーソナル・コンピュータ(PC)やインターネットを始めとするネットワークに関連する技術の発達は、こうしたトレンドをますます加速させている。特に最近は、携帯電話やノートパソコン等のモバイル機器の普及速度が非常に大きく、高精細な画像を、あらゆる地点から通信手段を用いて伝送あるいは受信する機会が急増している。
【0007】
これらを背景に、高精細画像の取扱いを容易にする画像圧縮伸長技術に対する高性能化あるいは多機能化の要求は、今後ますます強くなっていくことは必至と思われる。こうした要求を満たす圧縮方式の一つとして、高圧縮率でも高画質な画像を復元可能なJPEG2000がある。このJPEG2000では、画像を一般に矩形をした領域(タイル)によって分割する。そして、個々のタイルが圧縮伸長プロセスを実行する際の基本単位となる。従って、圧縮伸長動作はタイル毎に独立に行なわれる。この際、圧縮率の高い条件で圧縮伸長処理を行うと、「タイルの境界」が目立ってくるという問題が発生する。従来、この問題を解決するために、隣接するタイル同士で境界を互いにオーバーラップさせることが提案されている。しかしながら、JPEG2000のベースラインでは、隣接するタイル境界を重複させないことになっている。
【0008】
また、別の従来発明では、タイル境界の近傍にのみに均一なローパスフィルタをかけることにより、タイル境界を目立たなくするというものがある。これは、タイル境界歪み抑制には効果があるが、タイル境界のエッジ度合いが強い場合には、ローパスフィルタをかけたことにより、タイル境界の近傍でエッジがぼやけて帯状の画像品質劣化が現れるという問題点を有していた。
【0009】
本発明は、上述のごとき実情に鑑みてなされたものであり、タイル境界の近傍にのみローパスフィルタをかけることにより、タイル境界の歪みを目立たなくすること、を目的とする。
【0010】
また、ウェーブレット変換のデコンポジションレベル(階層数)が大きくなるにつれて、ローパスフィルタのマスクサイズを大きくしたり、ローパスフィルタをかけるタイル境界からの画素間距離を大きくすることにより、階層数に応じて最適なタイル境界歪みの抑制を行うこと、を目的とする。
【0011】
さらに、本発明は、タイル境界歪みを抑制しつつ、タイル境界付近でのエッジ量が大きい場合にも帯状のぼやけた画像を発生させないように制御すること、を目的とする。
【0012】
具体的には、タイル境界からの画素間距離に応じて、ローパスフィルタの平滑化度を制御する。例えば、タイル境界からの画素間距離が大きくなるにつれてローパスフィルタの平滑化度を徐々に弱くする。また、タイル境界の近傍の画素に対してエッジ量を算出し、そのエッジ量に応じてローパスフィルタの平滑化度を制御する。例えば、エッジ量が大きくなるにつれてローパスフィルタの平滑化度を徐々に弱くする。さらに、タイル境界からの画素間距離とその画素でのエッジ量に応じてローパスフィルタを制御する。つまり、タイル境界から離れるにつれて、また、エッジ量が大きくなるにつれてローパスフィルタの平滑化度が弱くなるように制御する。
【0013】
【課題を解決するための手段】
請求項1の発明は、ウェーブレット変換を用いて符号化されたコードストリームから画像データを生成する画像処理装置であって、前記コードストリームに付加されたタグ情報を解釈し、前記コードストリームを各コンポーネントの各タイルのコードストリームに分解するタグ処理手段と、前記タグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、前記対象ビットの周辺ビットからコンテキストを生成する逆量子化手段と、前記コンテキストと前記コードストリームとの確率推定によって復号化を行なうことで対象ビットを生成し、該対象ビットを対象ビットの位置に対して書き込むことで復号化を行なうエントロピー復号化手段と、前記エントロピー復号化手段で復号化されたデータにウェーブレット逆変換を行ない、前記画像データの各コンポーネントの各タイルを復元するウェーブレット逆変換手段と、前記ウェーブレット逆変換手段で復元されたデータを色空間逆変換によって前記画像データを生成する色空間逆変換手段と、前記色空間逆変換手段で生成された前記画像データのタイル境界近傍に対して平滑化処理を行なうタイル境界平滑化手段とを有し、前記タグ処理手段は、前記タグ情報に基づいて、タイル境界の位置を特定し、前記タイル境界平滑化手段は、前記タグ処理手段により特定されたタイル境界近傍画素における斜め方向のエッジ量が大きいほどローパスフィルタの強度を小さくすることを特徴としたものである。
【0014】
請求項2の発明は、請求項1の発明において、前記タイル境界近傍画素における斜め方向のエッジ量と、前記タイル境界からの画素間距離とに応じてローパスフィルタの強度を制御することを特徴としたものである。
【0015】
請求項3の発明は、ウェーブレット変換を用いて符号化されたコードストリームから画像データを生成する画像処理装置による画像処理方法であって、前記コードストリームに付加されたタグ情報を解釈し、前記コードストリームを各コンポーネントの各タイルのコードストリームに分解するタグ処理ステップと、前記タグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、前記対象ビットの周辺ビットからコンテキストを生成する逆量子化ステップと、前記コンテキストと前記コードストリームとの確率推定によって復号化を行なうことで対象ビットを生成し、該対象ビットを対象ビットの位置に対して書き込むことで復号化を行なうエントロピー復号化ステップと、前記エントロピー復号化ステップで復号化されたデータにウェーブレット逆変換を行ない、前記画像データの各コンポーネントの各タイルを復元するウェーブレット逆変換ステップと、前記ウェーブレット逆変換ステップで復元されたデータを色空間逆変換によって前記画像データを生成する色空間逆変換ステップと、前記色空間逆変換ステップで生成された前記画像データのタイル境界近傍に対して平滑化処理を行なうタイル境界平滑化ステップとを有し、前記タグ処理ステップは、前記タグ情報に基づいて、タイル境界の位置を特定し、前記タイル境界平滑化ステップは、前記タグ処理ステップで特定されたタイル境界近傍画素における斜め方向のエッジ量が大きいほどローパスフィルタの強度を小さくすることを特徴としたものである。
【0016】
請求項4の発明は、請求項3の発明において、前記タイル境界近傍画素における斜め方向のエッジ量と、前記タイル境界からの画素間距離とに応じてローパスフィルタの強度を制御することを特徴としたものである。
【0020】
【発明の実施の形態】
(実施例1)
図1は、JPEG2000アルゴリズムの基本を説明するためのブロック図である。JPEG2000のアルゴリズムは、色空間変換・逆変換部11、2次元ウェーブレット変換・逆変換部12、量子化・逆量子化部13、エントロピー符号化・復号化部14、タグ処理部15で構成されている。
【0021】
図2は、タイル分割されたカラー画像の各コンポーネントの例を示す図である。カラー画像は、一般に、図2に示すように、原画像の各コンポーネント21,22,23(ここではRGB原色系)が、矩形をした領域(タイル)21t,22t,23tによって分割される。そして、個々のタイル、例えば、R00,R01,・・・,R15/G00,G01,・・・,G15/B00,B01,・・・,B15が、圧縮伸長プロセスを実行する際の基本単位となる。従って、圧縮伸長動作は、コンポーネント毎、そしてタイル毎に、独立に行なわれる。
【0022】
符号化時には、各コンポーネントの各タイルのデータが、図1に示した色空間変換部11に入力され、色空間変換を施されたのち、2次元ウェーブレット変換部12で2次元ウェーブレット変換(順変換)が適用されて周波数帯に空間分割される。
【0023】
図3は、デコンポジションレベル数が3の場合の、各デコンポジションレベルにおけるサブバンドの一例を示す図である。すなわち、原画像のタイル分割によって得られたタイル原画像(0LL)(デコンポジションレベル0(30))に対して、2次元ウェーブレット変換を施し、デコンポジションレベル1(31)に示すサブバンド(1LL,1HL,1LH,1HH)を分離する。そして引き続き、この階層における低周波成分1LLに対して、2次元ウェーブレット変換を施し、デコンポジションレベル2(32)に示すサブバンド(2LL,2HL,2LH,2HH)を分離する。順次同様に、低周波成分2LLに対しても、2次元ウェーブレット変換を施し、デコンポジションレベル3(33)に示すサブバンド(3LL,3HL,3LH,3HH)を分離する。
【0024】
更に図3では、各デコンポジションレベルにおいて符号化の対象となるサブバンドを、グレーで表してある。例えば、デコンポジションレベル数を3とした時、グレーで示したサブバンド(3HL,3LH,3HH,2HL,2LH,2HH,1HL,1LH,1HH)が符号化対象となり、3LLサブバンドは符号化されない。
【0025】
次いで、指定した符号化の順番で符号化の対象となるビットが定められ、図1に示した量子化部13で対象ビット周辺のビットからコンテキストが生成される。量子化の処理が終わったウェーブレット係数は、個々のサブバンド毎に、「プレシンクト」と呼ばれる重複しない矩形に分割される。これは、インプリメンテーションでメモリを効率的に使うために導入されたものである。
【0026】
図4は、プレシンクトとコードブロックの関係の一例を説明する図で、原画像40は、デコンポジションレベル1において、タイル40t0,タイル40t1,タイル40t2,タイル40t3の4つのタイルに分割されている。図4に示すように、一つのプレシンクト40p4は、空間的に一致した3つの矩形領域からなり、プレシンクト40p6も同様である。更に、個々のプレシンクトは、重複しない矩形からなる「コードブロック」に分けられる。本例では、0〜11までの12個のコードブロックに分けられており、例えばコードブロック40b1は、コードブロック番号1を示す。これは、エントロピーコーディングを行う際の基本単位となる。
【0027】
ウェーブレット変換後の係数値は、そのまま量子化し符号化することも可能であるが、JPEG2000では符号化効率を上げるために、係数値を「ビットプレーン」単位に分解し、画素あるいはコードブロック毎に「ビットプレーン」に順位付けを行うことができる。
【0028】
図5は、ビットプレーンに順位付けする手順の一例を説明するための図である。本例は、原画像50(32×32画素)を16×16画素のタイル4つで分割した場合(図5に示すタイル50t0,タイル50t1,タイル50t2,タイル50t3)で、デコンポジションレベル1のプレシンクトとコードブロックの大きさは、各々8×8画素と4×4画素としている。プレシンクトとコードブロックの番号は、ラスター順に付けられており、本例ではプレシンクトが番号0から3まで、コードブロックが番号0から3まで割り当てられている。タイル境界外に対する画素拡張にはミラーリング法を使い、可逆(5,3)フィルタでウェーブレット変換を行い、デコンポジションレベル1のウェーブレット係数値を求めている。
【0029】
また、タイル50t0(タイル0)/プレシンクト50p3(プレシンクト3)/コードブロック50b3(コードブロック3)について、代表的な「レイヤー」構成の一例を示す概念図を図5に併せて示す。変換後のコードブロック50w3は、サブバンド(1LL,1HL,1LH,1HH)に分割され、各サブバンドにはウェーブレット係数値が割り当てられている。
【0030】
レイヤーの構造は、ウェーブレット係数値を横方向(ビットプレーン方向)から見ると理解し易い。1つのレイヤーは任意の数のビットプレーンから構成される。この例では、レイヤー0、1、2、3は、各々1、3、1、3つのビットプレーンから成っている。そして、LSBに近いビットプレーンを含むレイヤー程、先に量子化の対象となり、逆に、MSBに近いレイヤーは最後まで量子化されずに残ることになる。ここでLSBに近いレイヤーから破棄する方法は、トランケーションと呼ばれ、量子化率を細かく制御することが可能である。
【0031】
前述の図1に示したエントロピー符号化部14では、コンテキストと対象ビットから確率推定によって、各コンポーネントのタイルに対する符号化を行う。こうして、原画像の全てのコンポーネントについて、タイル単位で符号化処理が行われる。
【0032】
最後に、タグ処理部15は、エントロピコーダ部からの全符号化データを1本のコードストリームに結合するとともに、それにタグを付加する処理を行う。図6は、コードストリームの構造の一例を簡単に示した図で、コードストリーム60の先頭と各タイルを構成する部分タイルの先頭にはヘッダ(それぞれ、メインヘッダ61、タイルパートヘッダ62)と呼ばれるタグ情報が付加され、その後に、各タイルの符号化データ(ビットストリーム63)が続く。そして、コードストリーム60の終端64には、再びタグが置かれる。
【0033】
一方、復号化時には、符号化時とは逆に、各コンポーネントの各タイルのコードストリームから画像データを生成する。前述した図1を用いて簡単に説明する。この場合、タグ処理部15は、外部より入力したコードストリームに付加されたタグ情報を解釈し、コードストリームを各コンポーネントの各タイルのコードストリームに分解し、その各コンポーネントの各タイルのコードストリーム毎に復号化処理が行われる。コードストリーム内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、逆量子化部13で、その対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストが生成される。エントロピー復号化部14で、このコンテキストとコードストリームから確率推定によって復号化を行い対象ビットを生成し、それを対象ビットの位置に書き込む。
【0034】
このようにして復号化されたデータは各周波数帯域毎に空間分割されているため、これを2次元ウェーブレット逆変換部12で2次元ウェーブレット逆変換を行うことにより、画像データの各コンポーネントの各タイルが復元される。復元されたデータは色空間逆変換部11によって元の表色系のデータに変換される。
【0035】
また、従来のJPEG圧縮伸長形式の場合は、上記のJPEG2000で述べたタイルを、2次元離散コサイン変換を行う、一辺が8ピクセルの正方形ブロック、として読み替えればよい。
【0036】
図7は、本発明における画像伸長部の一例を説明するためのブロック図で、図中、71はタグ処理部、72はエントロピー復号化部、73は逆量子化部、74は2次元Wavelet逆変換部、75は色空間逆変換部、76はタイル境界平滑化部である。色空間逆変換部75によって得られたRGBデータに対し、タイル境界平滑化部76でタイル境界の近傍の画素を平滑化して、タイル境界の歪みを目立たなくする。後述する図8、図9にタイル境界平滑化部76における処理の具体例を示す。
【0037】
図8は、3階層のWavelet変換を用いた場合のタイル境界平滑化部76における処理の一例を示す図である。図8において、例えば、3階層のWavelet変換を用いて符号化されたデータは、ミラーリングによりタイル境界から数えてタイルの内側の8画素(両端16画素)がその影響を受ける。このため、図8に示すようにタイル境界画素を含めた8画素(両端16画素)に対しローパスフィルタをかける。
【0038】
図9は、2階層のWavelet変換を用いた場合のタイル境界平滑化部76における処理の一例を示す図である。図9において、例えば、2階層のWavelet変換を用いて符号化されたデータは、ミラーリングによりタイル境界から数えてタイルの内側の4画素(両端8画素)がその影響を受ける。このため、図9に示すようにタイル境界画素を含めた4画素(両端8画素)に対しローパスフィルタをかける。これらより、つまり、n階層のWavelet変換を用いて符号化されたデータは、タイル境界から数えて内側2のn乗の画素までローパスフィルタをかける。
【0039】
以上のように、符号時のWavelet階層数に応じてローパスフィルタをかける範囲を最適なものにすることが可能になる。また、タイル境界から数えてタイルの内側何画素までローパスフィルタをかけるかは、コストや処理時間と画像品質との兼ね合いで調節してもよい。さらに、ウェーブレット変換方法に応じてローパスフィルタを切り換えても良い。例えば、5×3フィルタでのウェーブレット変換と、9×7フィルタでのウェーブレット変換があるが、それぞれに周波数特性の異なるローパスフィルタを施すこともできる。
【0040】
本発明によると、タイル境界の近傍にローパスフィルタをかけることにより、タイル境界歪みを抑制することができるとともに、ローパスフィルタをかける範囲を最適化することが可能となる。
【0041】
(実施例2)
図10は、Wavelet変換の階層数に応じてマスクサイズを可変にしたローパスフィルタの一例を示す図である。本実施例では、図10に示すように、Wavelet変換の階層数によって、ローパスフィルタのマスクサイズを可変にする。例えば、図10(A)に示すように、5階層のWavelet変換によって生成された符号に対しては、7×5のマスクサイズのローパスフィルタを用い、図10(B)に示すように、3階層のWavelet変換によって生成された符号に対しては、5×3のマスクサイズのローパスフィルタを用いる。これも、階層数が大きくなるにつれ、ミラーリングの影響を受けている画素数がタイル境界の内側に多くなるためである。ここで、本実施例に挙げたマスクサイズは一つの例であり、タイル境界歪み抑制に効果的な最適なマスクサイズを適宜選択すればよい。
【0042】
(実施例3)
図11は、本発明における画像伸長部の他の例を説明するためのブロック図で、図中、81はタグ処理部、82はエントロピー復号化部、83は逆量子化部、84は2次元Wavelet逆変換部、85はタイル境界平滑化部、86は色空間逆変換部である。本実施例では、RGB信号に変換する前のYCbCr信号で、タイル境界近傍にローパスフィルタをかける。この際、輝度信号Yにのみローパスフィルタをかけ、Cb,Cr信号はスルーにする。これは、タイル境界歪みは輝度信号Yに依存している部分が大きいためである。前述した実施例1や実施例2のように、RGB信号すべてにローパスフィルタをかけないため、処理時間の短縮が図れる。
【0043】
しかしながら、輝度のみタイル境界歪み抑制のためのローパスフィルタをかけると境界で色味の連続性が保てなくなってしまう可能性がある。より高精度なタイル境界歪み抑制を狙うならば、YCbCr信号すべて、または色空間逆変換した後のRGBデータすべてにローパスフィルタをかけてもよい。さらに、YとCb,Cr、GとR,Bで異なる周波数特性を有するローパスフィルタを用いても良い。
【0044】
本発明によると、タイル境界の近傍にローパスフィルタをかけることにより、タイル境界歪みを抑制することができるとともに、復号化に要する時間を短縮することができるようになる。また、復号化画像の高品質化を実現することも可能となる。
【0045】
(実施例4)
図12は、圧縮率に応じたローパスフィルタの一例を示す図である。本実施例では、圧縮率に応じてローパスフィルタの強度を可変にする。一般に、圧縮率が大きい画像ほどタイル境界歪みが目立つ。よって、圧縮率の小さい画像に強いローパスフィルタをかけると、ローパスフィルタをかけた部分がぼやけて目立ってしまう。逆に、圧縮率の大きな画像に弱いローパスフィルタをかけてもタイル境界歪み抑制の効果を得ることは難しい。
【0046】
このため、図12に示すように、圧縮率に応じてローパスフィルタの強度を可変にする。例えば、圧縮率1/20の場合、図12(A)に示すようなローパスフィルタを用いる。圧縮率1/40の場合、図12(B)に示すようなローパスフィルタを用いる。図13は、図12(A)、(B)に示したそれぞれのローパスフィルタの周波数特性を示す図である。図13(A)は、図12(A)に示したローパスフィルタの周波数特性を示す図で、図13(B)は、図12(B)に示したローパスフィルタの周波数特性を示す図である。いずれの周波数帯域、方向においても図13(A)に示す値の方が図13(B)に示す値よりも大きいので、図12(A)に示したローパスフィルタの方が、図12(B)に示したローパスフィルタに比べて弱いローパスフィルタであることが分かる。
【0047】
本発明によると、タイル境界の近傍にローパスフィルタをかけることにより、タイル境界歪みを抑制することができる。さらに、圧縮率に応じて最適な強度のローパスフィルタをかけることにより、いかなる圧縮率においてもタイル境界歪み抑制を実現することができる。
【0048】
(実施例5)
図14は、本発明における画像伸長部の他の例を説明するためのブロック図で、図中、91はタグ処理部、92はエントロピー復号化部、93は逆量子化部、94は2次元Wavelet逆変換部、95は色空間逆変換部、96は補正タイル境界探索部、97はタイル境界平滑化部である。本実施例では、すべてのタイル境界にローパスフィルタをかけるのではなく、ローパスフィルタをかけるべきタイル境界を探索して、そのタイル境界のみにローパスフィルタをかける。後述する図15,図16にその代表例を示す。
【0049】
図15及び図16は、ROI領域内のタイル境界のみにローパスフィルタをかける処理の一例を説明するための図である。このROI領域とは、画像全体から切り出して拡大したり、他の部分に比べて強調したりする場合の、画像全体から見たある一部分である。
【0050】
図15は、ROI領域がタイル境界に沿った領域である場合について示すものである。図15(A)に示すようにROI境界が設定されたら、ローパスフィルタをかけるタイル境界は図15(B)に示す点線部に設定する。図15(B)に示す太線のROI境界部にはローパスフィルタをかけない。
【0051】
図16は、ROI領域がタイル境界に沿っていない領域である場合について示すものである。図16(A)に示すようにROI境界が設定されたら、ローパスフィルタをかけるタイル境界は図16(B)に示す点線部に設定する。タイル境界画素がROI内部か否かを演算によって算出し、該タイル境界画素がROI内部であればその画素にローパスフィルタをかける。該タイル境界画素がROI外部であれば、その画素にはローパスフィルタをかけない。
【0052】
本実施例では、ROI内部か否かで、ローパスフィルタをかけるか否かを判定したが、それ以外にも、縦または横成分のエッジ量が大きい部分のタイル境界画素のみにローパスフィルタをかけるという制御を行ってもよい。
【0053】
本発明によると、ローパスフィルタをかけるべきタイル境界画素を制御することにより、例えば、ROI領域の内側のみにローパスフィルタを適用するといった制御が可能となる。また、これにより、タイル境界歪み抑制のための処理時間を短縮することができる。
【0054】
(実施例6)
図17は、タイル境界平滑化部における処理の一例を説明するための図である。本例においては、タイル境界の近傍の画素(図17に示す灰色の領域の画素)に対してローパスフィルタをかける。後述する図19、図21、図22において、図17に示す点線部を拡大した状態を示す。
【0055】
図18は、タイル境界からの画素間距離の算出方法の一例を説明するための図である。図18に示す各画素において、上下左右からのタイル境界からの距離が算出される。それらの最小値を各画素におけるタイル境界からの距離として設定する。
【0056】
図19は、タイル境界からの画素間距離を用いた適応的ローパスフィルタ処理の一例を説明するための図である。図19(A)は、図17に示した点線部を拡大した状態を示す図で、タイル境界からの画素間距離の値が設定されている。図19(B)は、適応的ローパスフィルタの一例を示す図である。本実施例において、ローパスフィルタは注目画素の位置の係数のみ変化させる。画素間距離が大きくなるにつれて、徐々にその係数の値を大きくする。図19(B)に示す例では、中央の係数値:mは下記の式(1)で算出される。
m=8+64*d(d:タイル境界からの画素間距離) ・・・式(1)
これは、タイル境界からの画素間距離:dが大きくなるにつれて施すローパスフィルタの平滑化度を弱くすることを意味する。
【0057】
また、本発明の画像処理装置によると、階層数に応じてローパスフィルタをかけるタイル境界からの画素間距離のしきい値を制御することができる。例えば、3階層のWavelet変換を用いて符号化されたデータは、ミラーリングによりタイル境界の内側8画素(両端16画素)がその影響を受ける。このため、前述の図8に示したごとくのタイル境界の内側8画素(両端16画素)に対しローパスフィルタをかける。また、例えば、2階層のWavelet変換を用いて符号化されたデータは、ミラーリングによりタイル境界の内側の4画素(両端8画素)がその影響を受ける。このため、前述の図9に示したごとくのタイル境界の内側4画素(両端8画素)に対しローパスフィルタをかける。つまり、n階層のWavelet変換を用いて符号化されたデータは、タイル境界の内側2のn乗の画素までローパスフィルタをかける。以上のように、符号時のWavelet階層数に応じてローパスフィルタをかける範囲を最適にすることができる。
【0058】
また、タイル境界の内側何画素までローパスフィルタをかけるかは、コストや処理時間と画像品質との兼ね合いで調節することもできる。さらに、ウェーブレット変換方法に応じてローパスフィルタを切り換えても良い。例えば、5×3フィルタでのウェーブレット変換と9×7フィルタでのウェーブレット変換があるが、それぞれの変換方法で圧縮伸長された画像に対し、周波数特性の異なるローパスフィルタを施してもよい。
【0059】
また、前述の図10に示したように、Wavelet変換の階層数によって、ローパスフィルタのマスクサイズを可変にできる。図10(A)に示した例では、5階層のWavelet変換によって生成された符号に対して、7×5のマスクサイズのローパスフィルタを用い、図10(B)に示した例では、3階層のWavelet変換によって生成された符号に対して、5×3のマスクサイズのローパスフィルタを用いる。これも、階層数が大きくなるにつれ、ミラーリングの影響を受けている画素数がタイル境界の内側に多くなるためである。図10(A)、(B)に示したマスクサイズは一つの例であり、タイル境界歪み抑制の効果が得られる最適なマスクサイズを適宜選択すればよい。
【0060】
また、RGB信号に変換する前のYCbCr信号で、タイル境界近傍にローパスフィルタをかけてもよい。この際、輝度信号Yにのみローパスフィルタをかけ、Cb,Cr信号はスルーにしてもよい。これは、タイル境界歪みは輝度信号Yに依存している部分が大きいためである。RGB信号すべてにローパスフィルタをかけないことにより、処理時間の短縮が図れる。
【0061】
さらに、圧縮率に応じてローパスフィルタの強度を可変にしてもよい。一般に圧縮率が大きい画像ほどタイル境界歪みが目立つ。よって、圧縮率の小さい画像に強いローパスフィルタをかけると、ローパスフィルタをかけた部分がぼやけて目立ってしまう。逆に、圧縮率の大きな画像に弱いローパスフィルタをかけてもタイル境界歪み抑制の効果を得ることは難しい。
【0062】
図20は、圧縮率に応じたローパスフィルタの一例を示す図である。本実施例では、圧縮率に応じてローパスフィルタの強度を可変にする。例えば、圧縮率1/20の場合、図20(A)に示すような平滑化度の弱いローパスフィルタを用いる。圧縮率1/40の場合、図20(B)に示すような平滑化度の強いローパスフィルタを用いるようにする。
【0063】
なお、本実施例では、JPEG2000の圧縮伸長方式を代表例として説明を行ったが、圧縮伸長方式はこれに限らず、ブロック境界情報を圧縮符号に含むことができる圧縮伸長方式なら、いかなる圧縮伸長方式を用いても良い。
【0064】
本発明によると、ブロック境界からの画素間距離に応じてローパスフィルタの強度を適応的に制御することにより、ブロック境界歪みを抑制しつつ、ブロック境界近傍でエッジが強い場合に生じる画質劣化を目立たなくすることができる。
【0065】
(実施例7)
図21は、タイル境界近傍の画素のエッジ量を用いた適応的ローパスフィルタ処理の一例を説明するための図である。図21(A)は、図17に示した点線部を拡大した状態を示す図である。図21(B)は、エッジ量算出フィルタの一例を示し、図21(C)は、適応的ローパスフィルタの一例を示す図である。本実施例では、タイル境界近傍の画素のエッジ量に応じてローパスフィルタの強度を切り換える。タイル境界近傍の画素に対し、図21(B)に示したエッジ量算出フィルタを用いてエッジ量を算出する。このエッジ量算出フィルタは斜め方向のエッジ量を算出している。これは、縦横方向のエッジ量を抽出しようとすると、タイル境界の境界部でエッジ量が大きく出てしまうため、タイル境界が目立ってしまうことを避けるためである。
【0066】
上述の斜め方向のエッジ量に応じて、ローパスフィルタの強度を制御する。エッジ量の絶対値が大きいほど、ローパスフィルタの中央の係数値:mを大きくする。図21(C)に示す適応的ローパスフィルタの例では、中央の係数値をmとし、図21(B)に示すエッジ量算出フィルタで算出したエッジ量をEとするとき、下記の式(2)により中央の係数値:mが算出される。
m=8+abs(E)・・・式(2)
これは、タイル境界近傍の画素の斜め方向エッジ量の絶対値が大きいほど、その画素に施すローパスフィルタの平滑化度を弱くすることを意味する。
【0067】
なお、本実施例では、JPEG2000の圧縮伸長方式を代表例として説明を行ったが、圧縮伸長方式はこれに限らず、ブロック境界情報を圧縮符号に含むことができる圧縮伸長方式なら、いかなる圧縮伸長方式を用いても良い。
【0068】
本発明によると、ブロック境界近傍の画素におけるエッジ量に応じてローパスフィルタの強度を適応的に制御することにより、ブロック境界歪みを抑制しつつ、ブロック境界近傍でエッジが強い場合に生じる帯状の画質劣化をなくすことができる。
【0069】
(実施例8)
図22は、タイル境界からの画素間距離と、タイル境界近傍の画素のエッジ量とを用いた適応的ローパスフィルタ処理の一例を説明するための図である。図22(A)は、図17に示した点線部を拡大した状態を示す図である。図22(B)は、エッジ量算出フィルタの一例を示し、図22(C)は、適応的ローパスフィルタの一例を示す図である。本実施例では、タイル境界からの画素間距離と、タイル境界近傍の画素のエッジ量とに応じてローパスフィルタの強度を切り換える。タイル境界近傍の画素に対し、下記の(1)、(2)を算出する。
(1)タイル境界からの画素間距離
(2)タイル境界近傍の画素のエッジ量(図22(B)に示すエッジ量算出フィルタにより算出)
【0070】
上記(1)画素間距離、(2)斜め方向のエッジ量に応じて、ローパスフィルタの強度を制御する。本実施例では、画素間距離が大きいほど、またエッジ量の絶対値が大きいほど、ローパスフィルタの中央の係数値:mを大きくする。図22(C)に示す適応的ローパスフィルタの例では、中央の係数値をmとし、タイル境界からの画素間距離をdとし、図22(B)に示すエッジ量算出フィルタで算出されたエッジ量をEとするとき、下記の式(3)、式(4)により中央の係数値:mが算出される。
d=0ならばm=8 ・・・式(3)
d>0ならばm=max(8+64*d,8+abs(E))・・・式(4)
これは、タイル境界からの画素間距離が大きいほど、タイル境界近傍の画素のエッジ量の絶対値が大きいほど、施すローパスフィルタの平滑化度を小さくするということを意味する。上記式(3)でd=0の場合のみ独立に制御したのは、タイル境界の最近傍の画素に対しては無条件に平滑化度の強いローパスフィルタを施さないと、タイル境界が逆に目立ってしまうためである。
【0071】
なお、本実施例では、JPEG2000の圧縮伸長方式を代表例として説明を行ったが、圧縮伸長方式はこれに限らず、ブロック境界情報を圧縮符号に含むことができる圧縮伸長方式なら、いかなる圧縮伸長方式を用いても良い。
【0072】
本発明によると、ブロック境界からの画素間距離と、注目画素におけるエッジ量に応じてローパスフィルタの強度を適応的に制御することにより、ブロック境界歪みを抑制しつつ、ブロック境界近傍でエッジが強い場合に生じる画質劣化を、より目立たなくすることができる。また、圧縮時における階層数に応じてローパスフィルタを制御することにより、ウェーブレット変換におけるいかなる階層数においても副作用なくブロック境界歪みを抑制することができる。さらに、圧縮率に応じて最適な強度のローパスフィルタをかけることにより、いかなる圧縮率においてもタイル境界歪み抑制を実現することができる。
【0073】
【発明の効果】
本発明によると、タイル境界の近傍にローパスフィルタをかけることにより、タイル境界歪みを抑制することができるとともに、ローパスフィルタをかける範囲を最適化することが可能となる。また、ローパスフィルタの強度を適応的に制御することにより、ブロック境界歪みを抑制しつつ、ブロック境界近傍でエッジが強い場合に生じる画質劣化を抑制することができる。
【図面の簡単な説明】
【図1】 JPEG2000アルゴリズムの基本を説明するためのブロック図である。
【図2】 タイル分割されたカラー画像の各コンポーネントの例を示す図である。
【図3】 デコンポジションレベル数が3の場合の、各デコンポジションレベルにおけるサブバンドの一例を示す図である。
【図4】 プレシンクトとコードブロックの関係の一例を説明する図である。
【図5】 ビットプレーンに順位付けする手順の一例を説明するための図である。
【図6】 コードストリームの構造の一例を簡単に示した図である。
【図7】 本発明における画像伸長部の一例を説明するためのブロック図である。
【図8】 3階層のWavelet変換を用いた場合のタイル境界平滑化部における処理の一例を示す図である。
【図9】 2階層のWavelet変換を用いた場合のタイル境界平滑化部における処理の一例を示す図である。
【図10】 Wavelet変換の階層数に応じてマスクサイズを可変にしたローパスフィルタの一例を示す図である。
【図11】 本発明における画像伸長部の他の例を説明するためのブロック図である。
【図12】 圧縮率に応じたローパスフィルタの一例を示す図である。
【図13】 図12に示したそれぞれのローパスフィルタの周波数特性を示す図である。
【図14】 本発明における画像伸長部の他の例を説明するためのブロック図である。
【図15】 ROI領域内のタイル境界のみにローパスフィルタをかける処理の一例を説明するための図である。
【図16】 ROI領域内のタイル境界のみにローパスフィルタをかける処理の一例を説明するための図である。
【図17】 タイル境界平滑化部における処理の一例を説明するための図である。
【図18】 タイル境界からの画素間距離の算出方法の一例を説明するための図である。
【図19】 タイル境界からの画素間距離を用いた適応的ローパスフィルタ処理の一例を説明するための図である。
【図20】 圧縮率に応じたローパスフィルタの一例を示す図である。
【図21】 タイル境界近傍の画素のエッジ量を用いた適応的ローパスフィルタ処理の一例を説明するための図である。
【図22】 タイル境界からの画素間距離と、タイル境界近傍の画素のエッジ量とを用いた適応的ローパスフィルタ処理の一例を説明するための図である。
【符号の説明】
11…色空間変換・逆変換部、12…2次元ウェーブレット変換・逆変換部、13…量子化・逆量子化部、14…エントロピー符号化・復号化部、15…タグ処理部、21,22,23…コンポーネント、21t,22t,23t…タイル、30…デコンポジションレベル0のタイル、31…デコンポジションレベル1のタイル、32…デコンポジションレベル2のタイル、33…デコンポジションレベル3のタイル、40t0〜40t3,50t0〜50t3…タイル、40p4,40p6,50p0〜50p3…プレシンクト、40b1,50b3,50w3…コードブロック、50…原画像、60…コードストリーム、61…メインヘッダ、62…タイルパートヘッダ、63…ビットストリーム、64…コードストリーム終端、71,81,91…タグ処理部、72,82,92…エントロピー復号化部、73,83,93…逆量子化部、74,84,94…2次元Wavelet逆変換部、75,86,95…色空間逆変換部、76,85,97…タイル境界平滑化部、96…補正タイル境界探索部。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus. And methods More specifically, an image processing apparatus applicable to compression / decompression of image data in the fields of digital cameras, the Internet, medical images, satellite communication images, etc. And image processing method using the apparatus About.
[0002]
[Prior art]
Conventionally, for example, the invention described in Japanese Patent Application Laid-Open No. 11-285006 (image encoding device and image decoding device) extrapolates tile peripheral data during wavelet conversion, generates management information, attaches it to code data, and decodes Sometimes it is decoded with reference to the management information. On the other hand, the present invention applies a low-pass filter to the vicinity of the tile boundary for the decoded (expanded) image data, and does nothing at the time of encoding (compressing). Therefore, no extra data is added to the code data. Also, unlike the invention described in the above publication, the present invention changes the low-pass filter mask size or controls the position where the low-pass filter is applied according to the decoding composition level (number of wavelet transform layers). Can be.
[0003]
The invention described in Japanese Patent No. 2940422 (a method for reducing block distortion generated when decoding transform-coded image data and a decoding device for transform-coded image data) The low-pass filter is adaptively applied based on the difference. On the other hand, the present invention adaptively applies a low-pass filter to the decoded image according to the number of wavelet transform layers, and is not based on the difference in the degree of quantization of adjacent blocks. The structure is different.
[0004]
The invention described in Japanese Patent Application Laid-Open No. 05-014735 (image processing apparatus) has a means for discriminating a block boundary and applies a uniform smoothing filter to the discriminated block boundary. Yes. On the other hand, in the present invention, the block boundary information is embedded in the compressed code, and there is no need to determine the block boundary. In the present invention, an adaptive smoothing filter is applied according to the inter-pixel distance or the edge amount, and uniform smoothing is not performed, and the configuration is different from the invention described in the above publication.
[0005]
[Problems to be solved by the invention]
Due to advances in image input technology and output technology, the demand for higher definition of images has increased greatly in recent years. For example, taking a digital camera (Digital Camera (DC)) as an example of an image input device, the price of a high-performance electrified coupling element (CCD) having a number of pixels of 3 million or more has been advanced, Widely used in products. A product with 5 million pixels is also close. And it is said that this increasing trend in the number of pixels will continue for a while.
[0006]
On the other hand, with regard to image output / display devices, for example, products in the hard copy field such as laser printers, ink jet printers, sublimation printers, and flats such as CRTs, LCDs (liquid crystal display devices), and PDPs (plasma display devices). The high definition and low price of products in the soft copy field of panel displays are remarkable. High-definition images are becoming popular due to the effects of high-performance, low-cost image input / output products on the market. In the future, demand for high-definition images is expected to increase in every situation. In fact, the development of technology related to networks such as personal computers (PCs) and the Internet is accelerating these trends. In particular, recently, mobile devices such as mobile phones and notebook personal computers have become very popular, and opportunities for transmitting or receiving high-definition images from any point using communication means are rapidly increasing.
[0007]
Against this background, it is inevitable that the demand for higher performance or higher functionality for image compression / decompression technology that facilitates the handling of high-definition images will become stronger in the future. One compression method that satisfies these requirements is JPEG2000, which can restore high-quality images even at high compression rates. In JPEG2000, an image is divided into generally rectangular areas (tiles). Each tile is a basic unit for executing the compression / decompression process. Therefore, the compression / decompression operation is performed independently for each tile. At this time, if the compression / decompression process is performed under a condition with a high compression rate, there arises a problem that a “tile boundary” becomes conspicuous. Conventionally, in order to solve this problem, it has been proposed that adjacent tiles overlap with each other. However, in the JPEG 2000 baseline, adjacent tile boundaries are not overlapped.
[0008]
Another conventional invention makes a tile boundary inconspicuous by applying a uniform low-pass filter only in the vicinity of the tile boundary. This is effective in suppressing tile boundary distortion, but when the edge degree of the tile boundary is strong, the edge is blurred in the vicinity of the tile boundary and band-like image quality deterioration appears due to the low-pass filter. Had problems.
[0009]
The present invention has been made in view of the above circumstances, and an object of the present invention is to make distortion of a tile boundary inconspicuous by applying a low-pass filter only in the vicinity of the tile boundary.
[0010]
As the wavelet transform decomposition level (number of layers) increases, the mask size of the low-pass filter is increased, or the inter-pixel distance from the tile boundary to which the low-pass filter is applied is increased. An object of the present invention is to suppress tile boundary distortion.
[0011]
Furthermore, an object of the present invention is to control so as not to generate a band-like blurred image even when the edge amount near the tile boundary is large while suppressing tile boundary distortion.
[0012]
Specifically, the smoothing degree of the low-pass filter is controlled according to the inter-pixel distance from the tile boundary. For example, the smoothing degree of the low-pass filter is gradually weakened as the inter-pixel distance from the tile boundary increases. Also, an edge amount is calculated for pixels near the tile boundary, and the smoothing degree of the low-pass filter is controlled according to the edge amount. For example, the smoothing degree of the low-pass filter is gradually weakened as the edge amount increases. Further, the low-pass filter is controlled in accordance with the inter-pixel distance from the tile boundary and the edge amount at that pixel. That is, control is performed so that the smoothing degree of the low-pass filter becomes weaker as the distance from the tile boundary increases and the edge amount increases.
[0013]
[Means for Solving the Problems]
The invention according to claim 1 is an image processing apparatus for generating image data from a code stream encoded using wavelet transform, interpreting tag information added to the code stream, and converting the code stream into each component Tag processing means for decomposing the code stream of each tile, and a dequantization means for determining a position of a bit to be decoded in an order based on the tag information and generating a context from peripheral bits of the target bit Entropy decoding means for generating a target bit by decoding by probability estimation of the context and the codestream, and decoding by writing the target bit to the position of the target bit; Wavelet inverse transform is applied to the data decoded by the entropy decoding means. Wavelet inverse transform means for restoring each tile of each component of the image data, color space inverse transform means for generating the image data by color space inverse transform of the data restored by the wavelet inverse transform means, Tile boundary smoothing means for performing a smoothing process on the vicinity of the tile boundary of the image data generated by the color space inverse transform means, The tag processing means includes Based on the tag information, tile Locate the boundary, The tile boundary smoothing means is a tile specified by the tag processing means. Edge amount in the diagonal direction at pixels near the boundary The larger the value, the lower the strength of the low-pass filter. It is characterized by doing.
[0014]
The invention of claim 2 is the invention of claim 1, wherein tile The amount of edge in the diagonal direction in the pixels near the boundary, and tile The strength of the low-pass filter is controlled according to the distance between pixels from the boundary.
[0015]
The invention of claim 3 is an image processing method by an image processing apparatus for generating image data from a code stream encoded using wavelet transform, interpreting tag information added to the code stream, and A tag processing step for decomposing the stream into code streams of each tile of each component, and positions of bits to be decoded are determined in an order based on the tag information, and a context is generated from peripheral bits of the target bits Entropy decoding in which decoding is performed by generating a target bit by performing decoding based on a probability estimation between the context and the codestream, and writing the target bit to the position of the target bit. And the entropy decoding step A wavelet inverse transform step for performing wavelet inverse transform on the obtained data and restoring each tile of each component of the image data, and a color for generating the image data by color space inverse transform of the data restored in the wavelet inverse transform step A spatial inverse transform step, and a tile boundary smoothing step for performing a smoothing process on the vicinity of the tile boundary of the image data generated in the color space inverse transform step, The tag processing step includes Based on the tag information, tile Locate the boundary, The tile boundary smoothing step includes a tile specified in the tag processing step. Edge amount in the diagonal direction at pixels near the boundary The larger the value, the lower the strength of the low-pass filter. It is characterized by doing.
[0016]
The invention of claim 4 is the invention of claim 3, wherein tile The amount of edge in the diagonal direction in the pixels near the boundary, and tile The strength of the low-pass filter is controlled according to the distance between pixels from the boundary.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
(Example 1)
FIG. 1 is a block diagram for explaining the basics of the JPEG2000 algorithm. The algorithm of JPEG2000 includes a color space conversion / inverse conversion unit 11, a two-dimensional wavelet transform / inverse conversion unit 12, a quantization / inverse quantization unit 13, an entropy encoding / decoding unit 14, and a tag processing unit 15. Yes.
[0021]
FIG. 2 is a diagram illustrating an example of each component of a color image divided into tiles. As shown in FIG. 2, a color image generally has a rectangular area (tile) 21 in which each component 21, 22, 23 (here RGB primary color system) of the original image is rectangular. t , 22 t , 23 t Divided by. Each tile, for example, R00, R01,..., R15 / G00, G01,..., G15 / B00, B01,. Become. Therefore, the compression / decompression operation is performed independently for each component and for each tile.
[0022]
At the time of encoding, the data of each tile of each component is input to the color space conversion unit 11 shown in FIG. 1 and subjected to color space conversion, and then the two-dimensional wavelet conversion unit 12 performs two-dimensional wavelet conversion (forward conversion). ) Is applied to divide the space into frequency bands.
[0023]
FIG. 3 is a diagram illustrating an example of subbands at each decomposition level when the number of decomposition levels is three. That is, the tile original image (0LL) (decomposition level 0 (30)) obtained by the tile division of the original image is subjected to two-dimensional wavelet transform, and the subband (1LL shown in the decomposition level 1 (31) is displayed. , 1HL, 1LH, 1HH). Subsequently, the low-frequency component 1LL in this hierarchy is subjected to two-dimensional wavelet transformation to separate the subbands (2LL, 2HL, 2LH, 2HH) shown in the decomposition level 2 (32). Similarly, the low-frequency component 2LL is also subjected to two-dimensional wavelet transform to separate the subbands (3LL, 3HL, 3LH, 3HH) indicated by the decomposition level 3 (33).
[0024]
Further, in FIG. 3, subbands to be encoded at each decomposition level are represented in gray. For example, when the number of decomposition levels is 3, the subbands shown in gray (3HL, 3LH, 3HH, 2HL, 2LH, 2HH, 1HL, 1LH, 1HH) are to be encoded, and the 3LL subband is not encoded. .
[0025]
Next, the bits to be encoded are determined in the specified encoding order, and the context is generated from the bits around the target bits by the quantization unit 13 shown in FIG. The wavelet coefficients that have undergone the quantization process are divided into non-overlapping rectangles called “precincts” for each subband. This was introduced to use memory efficiently in implementation.
[0026]
FIG. 4 is a diagram for explaining an example of the relationship between a precinct and a code block. An original image 40 is a tile 40 at a decomposition level 1. t0 , Tile 40 t1 , Tile 40 t2 , Tile 40 t3 Are divided into four tiles. As shown in FIG. 4, one precinct 40 p4 Consists of three rectangular regions that are spatially matched, and the precinct 40 p6 Is the same. Further, each precinct is divided into “code blocks” made up of non-overlapping rectangles. In this example, it is divided into 12 code blocks from 0 to 11, for example, code block 40 b1 Indicates code block number 1. This is a basic unit for entropy coding.
[0027]
The coefficient values after the wavelet transform can be quantized and encoded as they are, but in JPEG2000, in order to increase the encoding efficiency, the coefficient values are decomposed into “bit plane” units, and “ Ranking can be performed on "bit planes".
[0028]
FIG. 5 is a diagram for explaining an example of a procedure for ranking bit planes. In this example, when the original image 50 (32 × 32 pixels) is divided into four 16 × 16 pixel tiles (the tile 50 shown in FIG. 5). t0 , Tile 50 t1 , Tile 50 t2 , Tile 50 t3 ), The size of the precinct and code block at the composition level 1 are 8 × 8 pixels and 4 × 4 pixels, respectively. Precincts and code block numbers are assigned in raster order. In this example, precincts are assigned numbers 0 to 3, and code blocks are assigned numbers 0 to 3. A mirroring method is used for pixel expansion outside the tile boundary, wavelet transform is performed with a reversible (5, 3) filter, and a wavelet coefficient value of decomposition level 1 is obtained.
[0029]
Tile 50 t0 (Tile 0) / Precinct 50 p3 (Precinct 3) / Code block 50 b3 FIG. 5 is a conceptual diagram illustrating an example of a typical “layer” configuration for (code block 3). The converted code block 50w3 is divided into subbands (1LL, 1HL, 1LH, 1HH), and wavelet coefficient values are assigned to the subbands.
[0030]
The layer structure is easy to understand when the wavelet coefficient values are viewed from the lateral direction (bit plane direction). One layer is composed of an arbitrary number of bit planes. In this example, layers 0, 1, 2, and 3 are composed of 1, 3, 1, and 3 bit planes, respectively. A layer including a bit plane closer to the LSB is subject to quantization first, and conversely, a layer closer to the MSB remains unquantized until the end. Here, the method of discarding from a layer close to the LSB is called truncation, and the quantization rate can be finely controlled.
[0031]
In the entropy encoding unit 14 shown in FIG. 1 described above, encoding of tiles of each component is performed by probability estimation from the context and target bits. In this way, encoding processing is performed in tile units for all components of the original image.
[0032]
Finally, the tag processing unit 15 performs a process of combining all the encoded data from the entropy coder unit into one code stream and adding a tag thereto. FIG. 6 is a diagram simply showing an example of the structure of the code stream. The head of the code stream 60 and the head of the partial tiles constituting each tile are called headers (the main header 61 and the tile part header 62, respectively). Tag information is added, followed by encoded data (bitstream 63) for each tile. A tag is placed again at the end 64 of the code stream 60.
[0033]
On the other hand, at the time of decoding, contrary to the time of encoding, image data is generated from the code stream of each tile of each component. This will be briefly described with reference to FIG. In this case, the tag processing unit 15 interprets tag information added to the code stream input from the outside, decomposes the code stream into code streams of each tile of each component, and each code stream of each tile of each component. Decryption processing is performed. The position of the bit to be decoded is determined in the order based on the tag information in the code stream, and the inverse quantization unit 13 determines from the sequence of the peripheral bits (that has already been decoded) at the target bit position. A context is created. The entropy decoding unit 14 performs decoding by probability estimation from the context and the code stream, generates a target bit, and writes it in the position of the target bit.
[0034]
Since the data decoded in this way is spatially divided for each frequency band, the two-dimensional wavelet inverse transform unit 12 performs two-dimensional wavelet inverse transform on each of the tiles of each component of the image data. Is restored. The restored data is converted into original color system data by the color space inverse conversion unit 11.
[0035]
In the case of the conventional JPEG compression / decompression format, the tile described in JPEG 2000 may be read as a square block having a side of 8 pixels that performs two-dimensional discrete cosine transform.
[0036]
FIG. 7 is a block diagram for explaining an example of an image decompression unit according to the present invention, in which 71 is a tag processing unit, 72 is an entropy decoding unit, 73 is an inverse quantization unit, and 74 is a two-dimensional Wavelet inverse. A conversion unit, 75 is a color space inverse conversion unit, and 76 is a tile boundary smoothing unit. For the RGB data obtained by the color space inverse transform unit 75, the tile boundary smoothing unit 76 smoothes the pixels in the vicinity of the tile boundary, thereby making the tile boundary distortion inconspicuous. A specific example of processing in the tile boundary smoothing unit 76 is shown in FIGS.
[0037]
FIG. 8 is a diagram illustrating an example of processing in the tile boundary smoothing unit 76 in the case of using three-level Wavelet transform. In FIG. 8, for example, data encoded using the three-level Wavelet transform is affected by 8 pixels (16 pixels at both ends) inside the tile counted from the tile boundary by mirroring. For this reason, as shown in FIG. 8, a low pass filter is applied to 8 pixels (16 pixels at both ends) including tile boundary pixels.
[0038]
FIG. 9 is a diagram illustrating an example of processing in the tile boundary smoothing unit 76 in the case of using two-level Wavelet transform. In FIG. 9, for example, data encoded using two-level Wavelet transform is affected by four pixels (8 pixels on both ends) inside the tile counted from the tile boundary by mirroring. For this reason, as shown in FIG. 9, a low pass filter is applied to 4 pixels (8 pixels at both ends) including the tile boundary pixels. From these, that is, data encoded using Wavelet transform of n layers is subjected to a low-pass filter up to the inner 2 nth pixels counted from the tile boundary.
[0039]
As described above, it is possible to optimize the range in which the low-pass filter is applied according to the number of wavelet layers at the time of encoding. The number of pixels inside the tile that are counted from the tile boundary may be adjusted according to the cost, processing time, and image quality. Furthermore, the low pass filter may be switched according to the wavelet transform method. For example, there are a wavelet transform with a 5 × 3 filter and a wavelet transform with a 9 × 7 filter, and low pass filters having different frequency characteristics can be applied to each.
[0040]
According to the present invention, by applying a low-pass filter in the vicinity of a tile boundary, it is possible to suppress tile boundary distortion and to optimize a range in which the low-pass filter is applied.
[0041]
(Example 2)
FIG. 10 is a diagram illustrating an example of a low-pass filter in which the mask size is variable according to the number of layers of Wavelet transform. In the present embodiment, as shown in FIG. 10, the mask size of the low-pass filter is made variable according to the number of wavelet transform layers. For example, as shown in FIG. 10A, a 7 × 5 mask size low-pass filter is used for a code generated by five-layer Wavelet transform, and as shown in FIG. A low-pass filter having a mask size of 5 × 3 is used for codes generated by hierarchical wavelet transform. This is also because the number of pixels affected by mirroring increases inside the tile boundary as the number of layers increases. Here, the mask size given in this embodiment is one example, and an optimal mask size effective for suppressing tile boundary distortion may be selected as appropriate.
[0042]
(Example 3)
FIG. 11 is a block diagram for explaining another example of the image decompression unit in the present invention, in which 81 is a tag processing unit, 82 is an entropy decoding unit, 83 is an inverse quantization unit, and 84 is a two-dimensional block. A Wavelet inverse transform unit, 85 is a tile boundary smoothing unit, and 86 is a color space inverse transform unit. In this embodiment, a low-pass filter is applied in the vicinity of the tile boundary with the YCbCr signal before being converted into the RGB signal. At this time, a low-pass filter is applied only to the luminance signal Y, and the Cb and Cr signals are made through. This is because the tile boundary distortion largely depends on the luminance signal Y. Since the low-pass filter is not applied to all the RGB signals as in the first and second embodiments, the processing time can be shortened.
[0043]
However, if a low-pass filter for suppressing tile boundary distortion only for luminance is applied, there is a possibility that color continuity cannot be maintained at the boundary. If aiming at more accurate tile boundary distortion suppression, a low-pass filter may be applied to all YCbCr signals or all RGB data after inverse color space conversion. Furthermore, low-pass filters having different frequency characteristics for Y and Cb, Cr, and G and R, B may be used.
[0044]
According to the present invention, by applying a low-pass filter in the vicinity of the tile boundary, the tile boundary distortion can be suppressed and the time required for decoding can be shortened. In addition, it is possible to improve the quality of the decoded image.
[0045]
Example 4
FIG. 12 is a diagram illustrating an example of a low-pass filter corresponding to the compression rate. In this embodiment, the strength of the low-pass filter is made variable according to the compression rate. In general, tile boundary distortion becomes more conspicuous as the compression ratio increases. Therefore, if a strong low-pass filter is applied to an image with a low compression rate, the portion where the low-pass filter is applied becomes blurred and conspicuous. Conversely, it is difficult to obtain the effect of suppressing the tile boundary distortion even if a weak low-pass filter is applied to an image with a large compression rate.
[0046]
For this reason, as shown in FIG. 12, the strength of the low-pass filter is made variable according to the compression rate. For example, when the compression ratio is 1/20, a low-pass filter as shown in FIG. When the compression ratio is 1/40, a low-pass filter as shown in FIG. FIG. 13 is a diagram showing the frequency characteristics of the low-pass filters shown in FIGS. 12 (A) and 12 (B). 13A is a diagram showing the frequency characteristics of the low-pass filter shown in FIG. 12A, and FIG. 13B is a diagram showing the frequency characteristics of the low-pass filter shown in FIG. . Since the value shown in FIG. 13A is larger than the value shown in FIG. 13B in any frequency band and direction, the low-pass filter shown in FIG. It can be seen that the low-pass filter is weaker than the low-pass filter shown in FIG.
[0047]
According to the present invention, it is possible to suppress tile boundary distortion by applying a low-pass filter in the vicinity of the tile boundary. Furthermore, by applying a low-pass filter having an optimum strength in accordance with the compression rate, it is possible to realize tile boundary distortion suppression at any compression rate.
[0048]
(Example 5)
FIG. 14 is a block diagram for explaining another example of the image decompression unit according to the present invention, in which 91 is a tag processing unit, 92 is an entropy decoding unit, 93 is an inverse quantization unit, and 94 is a two-dimensional unit. A Wavelet inverse transform unit, 95 is a color space inverse transform unit, 96 is a corrected tile boundary search unit, and 97 is a tile boundary smoothing unit. In this embodiment, instead of applying a low-pass filter to all tile boundaries, a tile boundary to be subjected to the low-pass filter is searched and a low-pass filter is applied only to the tile boundary. Typical examples are shown in FIGS. 15 and 16 to be described later.
[0049]
15 and 16 are diagrams for explaining an example of processing for applying a low-pass filter only to the tile boundary in the ROI region. This ROI region is a part of the entire image when it is cut out and enlarged from the entire image or emphasized as compared with other parts.
[0050]
FIG. 15 shows a case where the ROI area is an area along the tile boundary. When the ROI boundary is set as shown in FIG. 15A, the tile boundary to which the low-pass filter is applied is set to the dotted line portion shown in FIG. A low-pass filter is not applied to the bold ROI boundary shown in FIG.
[0051]
FIG. 16 shows a case where the ROI region is a region not along the tile boundary. When the ROI boundary is set as shown in FIG. 16A, the tile boundary to which the low-pass filter is applied is set to the dotted line portion shown in FIG. Whether the tile boundary pixel is inside the ROI is calculated by calculation. If the tile boundary pixel is inside the ROI, a low pass filter is applied to the pixel. If the tile boundary pixel is outside the ROI, no low pass filter is applied to the pixel.
[0052]
In this embodiment, whether or not to apply a low-pass filter is determined depending on whether or not it is inside the ROI, but other than that, the low-pass filter is applied only to the tile boundary pixels in the portion where the edge amount of the vertical or horizontal component is large. Control may be performed.
[0053]
According to the present invention, by controlling the tile boundary pixels to be subjected to the low-pass filter, for example, it is possible to perform control such that the low-pass filter is applied only inside the ROI region. Thereby, the processing time for suppressing tile boundary distortion can be shortened.
[0054]
(Example 6)
FIG. 17 is a diagram for explaining an example of processing in the tile boundary smoothing unit. In this example, a low-pass filter is applied to pixels in the vicinity of the tile boundary (pixels in the gray area shown in FIG. 17). 19, FIG. 21, and FIG. 22, which will be described later, show an enlarged state of the dotted line portion shown in FIG.
[0055]
FIG. 18 is a diagram for explaining an example of a method for calculating the inter-pixel distance from the tile boundary. In each pixel shown in FIG. 18, the distance from the tile boundary from the top, bottom, left, and right is calculated. Those minimum values are set as the distance from the tile boundary in each pixel.
[0056]
FIG. 19 is a diagram for explaining an example of adaptive low-pass filter processing using the inter-pixel distance from the tile boundary. FIG. 19A is a diagram illustrating a state where the dotted line portion illustrated in FIG. 17 is enlarged, and a value of the inter-pixel distance from the tile boundary is set. FIG. 19B is a diagram illustrating an example of an adaptive low-pass filter. In this embodiment, the low-pass filter changes only the coefficient of the position of the target pixel. As the inter-pixel distance increases, the coefficient value is gradually increased. In the example shown in FIG. 19B, the central coefficient value: m is calculated by the following equation (1).
m = 8 + 64 * d (d: distance between pixels from tile boundary) Expression (1)
This means that the smoothing degree of the low-pass filter to be applied is weakened as the inter-pixel distance d from the tile boundary increases.
[0057]
Further, according to the image processing apparatus of the present invention, the threshold value of the inter-pixel distance from the tile boundary to which the low pass filter is applied can be controlled according to the number of layers. For example, in the data encoded using the three-level Wavelet transform, the inner 8 pixels (16 pixels at both ends) of the tile boundary are affected by mirroring. For this reason, a low pass filter is applied to the inner 8 pixels (16 pixels at both ends) of the tile boundary as shown in FIG. In addition, for example, in data encoded using two-level Wavelet transform, four pixels (8 pixels on both ends) inside the tile boundary are affected by mirroring. Therefore, a low pass filter is applied to the inner 4 pixels (8 pixels at both ends) of the tile boundary as shown in FIG. In other words, the data encoded using the n-layer Wavelet transform is subjected to a low pass filter up to the 2nd power of the pixel inside the tile boundary. As described above, the range in which the low-pass filter is applied can be optimized according to the number of wavelet layers at the time of encoding.
[0058]
In addition, the number of pixels inside the tile boundary to which the low-pass filter is applied can be adjusted according to the cost, the processing time, and the image quality. Furthermore, the low pass filter may be switched according to the wavelet transform method. For example, there are a wavelet transform with a 5 × 3 filter and a wavelet transform with a 9 × 7 filter, but low-pass filters having different frequency characteristics may be applied to images compressed and expanded by the respective conversion methods.
[0059]
Further, as shown in FIG. 10 described above, the mask size of the low-pass filter can be made variable according to the number of wavelet transform layers. In the example shown in FIG. 10A, a low-pass filter having a 7 × 5 mask size is used for a code generated by Wavelet transform of five layers, and in the example shown in FIG. A low-pass filter having a mask size of 5 × 3 is used for the code generated by the Wavelet transform. This is also because the number of pixels affected by mirroring increases inside the tile boundary as the number of layers increases. The mask sizes shown in FIGS. 10A and 10B are an example, and an optimal mask size that can obtain the effect of suppressing tile boundary distortion may be appropriately selected.
[0060]
Further, a low-pass filter may be applied to the vicinity of the tile boundary in the YCbCr signal before being converted into the RGB signal. At this time, a low-pass filter may be applied only to the luminance signal Y, and the Cb and Cr signals may be passed. This is because the tile boundary distortion largely depends on the luminance signal Y. By not applying a low-pass filter to all RGB signals, the processing time can be shortened.
[0061]
Furthermore, the strength of the low-pass filter may be varied according to the compression rate. In general, tile boundary distortion becomes more conspicuous as an image has a higher compression rate. Therefore, when a strong low-pass filter is applied to an image with a low compression rate, the portion where the low-pass filter is applied becomes blurred and conspicuous. Conversely, it is difficult to obtain the effect of suppressing the tile boundary distortion even if a weak low-pass filter is applied to an image with a large compression rate.
[0062]
FIG. 20 is a diagram illustrating an example of a low-pass filter corresponding to the compression rate. In this embodiment, the strength of the low-pass filter is made variable according to the compression rate. For example, when the compression ratio is 1/20, a low-pass filter with a low smoothing degree as shown in FIG. When the compression ratio is 1/40, a low-pass filter having a strong smoothing degree as shown in FIG. 20B is used.
[0063]
In this embodiment, the JPEG2000 compression / decompression method has been described as a representative example. However, the compression / decompression method is not limited to this, and any compression / decompression method can be used as long as it can include block boundary information in a compression code. A method may be used.
[0064]
According to the present invention, by adaptively controlling the strength of the low-pass filter according to the inter-pixel distance from the block boundary, the image quality degradation that occurs when the edge is strong near the block boundary is conspicuous while suppressing the block boundary distortion. Can be eliminated.
[0065]
(Example 7)
FIG. 21 is a diagram for explaining an example of adaptive low-pass filter processing using the edge amount of pixels near the tile boundary. FIG. 21A is a diagram illustrating a state in which the dotted line portion illustrated in FIG. 17 is enlarged. FIG. 21B shows an example of an edge amount calculation filter, and FIG. 21C shows an example of an adaptive low-pass filter. In this embodiment, the strength of the low-pass filter is switched according to the edge amount of the pixel near the tile boundary. For the pixels in the vicinity of the tile boundary, the edge amount is calculated using the edge amount calculation filter shown in FIG. This edge amount calculation filter calculates an edge amount in an oblique direction. This is for avoiding the conspicuous tile boundary because the edge amount becomes large at the boundary portion of the tile boundary when extracting the edge amount in the vertical and horizontal directions.
[0066]
The strength of the low-pass filter is controlled according to the above-described oblique edge amount. The larger the absolute value of the edge amount, the larger the coefficient value m at the center of the low-pass filter. In the example of the adaptive low-pass filter shown in FIG. 21C, when the central coefficient value is m and the edge amount calculated by the edge amount calculation filter shown in FIG. ) To calculate the center coefficient value: m.
m = 8 + abs (E) (2)
This means that the greater the absolute value of the diagonal edge amount of the pixel near the tile boundary, the weaker the smoothness of the low-pass filter applied to that pixel.
[0067]
In this embodiment, the JPEG2000 compression / decompression method has been described as a representative example. However, the compression / decompression method is not limited to this, and any compression / decompression method can be used as long as it can include block boundary information in a compression code. A method may be used.
[0068]
According to the present invention, the band-like image quality generated when the edge is strong near the block boundary while suppressing the block boundary distortion by adaptively controlling the strength of the low-pass filter according to the edge amount in the pixel near the block boundary. Deterioration can be eliminated.
[0069]
(Example 8)
FIG. 22 is a diagram for explaining an example of adaptive low-pass filter processing using the inter-pixel distance from the tile boundary and the edge amount of the pixel near the tile boundary. FIG. 22A is a diagram showing a state where the dotted line portion shown in FIG. 17 is enlarged. FIG. 22B shows an example of an edge amount calculation filter, and FIG. 22C shows an example of an adaptive low-pass filter. In this embodiment, the strength of the low-pass filter is switched according to the inter-pixel distance from the tile boundary and the edge amount of the pixel near the tile boundary. The following (1) and (2) are calculated for the pixels near the tile boundary.
(1) Distance between pixels from tile boundary
(2) Edge amount of pixel near tile boundary (calculated by edge amount calculation filter shown in FIG. 22B)
[0070]
The strength of the low-pass filter is controlled according to (1) the inter-pixel distance and (2) the amount of edge in the oblique direction. In this embodiment, the coefficient value m at the center of the low-pass filter is increased as the inter-pixel distance is increased and the absolute value of the edge amount is increased. In the example of the adaptive low-pass filter shown in FIG. 22C, the center coefficient value is m, the inter-pixel distance from the tile boundary is d, and the edge calculated by the edge amount calculation filter shown in FIG. When the quantity is E, the central coefficient value: m is calculated by the following formulas (3) and (4).
If d = 0, m = 8 Equation (3)
If d> 0, m = max (8 + 64 * d, 8 + abs (E)) (4)
This means that the greater the inter-pixel distance from the tile boundary and the greater the absolute value of the edge amount of the pixels near the tile boundary, the smaller the smoothing degree of the low-pass filter to be applied. In the above equation (3), the independent control is performed only when d = 0. If the low-pass filter with strong smoothness is not applied unconditionally to the nearest pixel of the tile boundary, the tile boundary is reversed. This is because it stands out.
[0071]
In this embodiment, the JPEG2000 compression / decompression method has been described as a representative example. However, the compression / decompression method is not limited to this, and any compression / decompression method can be used as long as the block boundary information can be included in the compression code. A method may be used.
[0072]
According to the present invention, the edge is strong in the vicinity of the block boundary while suppressing the block boundary distortion by adaptively controlling the strength of the low-pass filter according to the distance between the pixels from the block boundary and the edge amount in the target pixel. The image quality degradation that occurs in some cases can be made less noticeable. Further, by controlling the low-pass filter according to the number of layers at the time of compression, block boundary distortion can be suppressed without any side effects at any number of layers in the wavelet transform. Furthermore, by applying a low-pass filter having an optimum strength in accordance with the compression rate, it is possible to realize tile boundary distortion suppression at any compression rate.
[0073]
【The invention's effect】
According to the present invention, by applying a low-pass filter in the vicinity of a tile boundary, it is possible to suppress tile boundary distortion and to optimize a range in which the low-pass filter is applied. Also, by adaptively controlling the strength of the low-pass filter, it is possible to suppress image quality degradation that occurs when the edge is strong near the block boundary while suppressing block boundary distortion.
[Brief description of the drawings]
FIG. 1 is a block diagram for explaining the basics of a JPEG2000 algorithm.
FIG. 2 is a diagram illustrating an example of each component of a tiled color image.
FIG. 3 is a diagram illustrating an example of subbands at each decomposition level when the number of decomposition levels is 3. FIG.
FIG. 4 is a diagram illustrating an example of a relationship between a precinct and a code block.
FIG. 5 is a diagram for explaining an example of a procedure for ranking bit planes;
FIG. 6 is a diagram simply illustrating an example of the structure of a code stream.
FIG. 7 is a block diagram for explaining an example of an image expansion unit in the present invention.
FIG. 8 is a diagram illustrating an example of processing in a tile boundary smoothing unit when three-layer Wavelet transform is used.
FIG. 9 is a diagram illustrating an example of processing in a tile boundary smoothing unit when two-level Wavelet transform is used.
FIG. 10 is a diagram illustrating an example of a low-pass filter in which a mask size is variable according to the number of layers of Wavelet conversion.
FIG. 11 is a block diagram for explaining another example of the image expansion unit in the present invention.
FIG. 12 is a diagram illustrating an example of a low-pass filter corresponding to a compression rate.
13 is a diagram showing frequency characteristics of the respective low-pass filters shown in FIG. 12. FIG.
FIG. 14 is a block diagram for explaining another example of the image expansion unit in the present invention.
FIG. 15 is a diagram for explaining an example of a process for applying a low-pass filter only to a tile boundary in the ROI region.
FIG. 16 is a diagram for explaining an example of a process for applying a low-pass filter only to a tile boundary in the ROI region.
FIG. 17 is a diagram for describing an example of processing in a tile boundary smoothing unit.
FIG. 18 is a diagram for describing an example of a method for calculating a distance between pixels from a tile boundary.
FIG. 19 is a diagram for explaining an example of adaptive low-pass filter processing using the inter-pixel distance from the tile boundary.
FIG. 20 is a diagram illustrating an example of a low-pass filter corresponding to a compression rate.
FIG. 21 is a diagram for describing an example of adaptive low-pass filter processing using an edge amount of a pixel near a tile boundary.
FIG. 22 is a diagram for describing an example of adaptive low-pass filter processing using the inter-pixel distance from the tile boundary and the edge amount of the pixel near the tile boundary.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 11 ... Color space transformation / inverse transformation part, 12 ... Two-dimensional wavelet transformation / inverse transformation part, 13 ... Quantization / inverse quantization part, 14 ... Entropy encoding / decoding part, 15 ... Tag processing part, 21 and 22 , 23 ... Component, 21 t , 22 t , 23 t ... Tile, 30 ... Decomposition level 0 tile, 31 ... Decomposition level 1 tile, 32 ... Decomposition level 2 tile, 33 ... Decomposition level 3 tile, 40 t0 ~ 40 t3 , 50 t0 ~ 50 t3 ... Tile, 40 p4 , 40 p6 , 50 p0 ~ 50 p3 ... Precinct, 40 b1 , 50 b3 , 50 w3 Code block, 50 ... Original image, 60 ... Code stream, 61 ... Main header, 62 ... Tile part header, 63 ... Bit stream, 64 ... Code stream end, 71, 81, 91 ... Tag processing unit, 72, 82, 92 ... Entropy decoding unit, 73, 83, 93 ... Inverse quantization unit, 74, 84, 94 ... Two-dimensional Wavelet inverse transformation unit, 75, 86, 95 ... Color space inverse transformation unit, 76, 85, 97 ... Tile Boundary smoothing unit, 96... Corrected tile boundary searching unit.

Claims (4)

ウェーブレット変換を用いて符号化されたコードストリームから画像データを生成する画像処理装置であって、
前記コードストリームに付加されたタグ情報を解釈し、前記コードストリームを各コンポーネントの各タイルのコードストリームに分解するタグ処理手段と、
前記タグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、前記対象ビットの周辺ビットからコンテキストを生成する逆量子化手段と、
前記コンテキストと前記コードストリームとの確率推定によって復号化を行なうことで対象ビットを生成し、該対象ビットを対象ビットの位置に対して書き込むことで復号化を行なうエントロピー復号化手段と、
前記エントロピー復号化手段で復号化されたデータにウェーブレット逆変換を行ない、前記画像データの各コンポーネントの各タイルを復元するウェーブレット逆変換手段と、
前記ウェーブレット逆変換手段で復元されたデータを色空間逆変換によって前記画像データを生成する色空間逆変換手段と、
前記色空間逆変換手段で生成された前記画像データのタイル境界近傍に対して平滑化処理を行なうタイル境界平滑化手段とを有し、
前記タグ処理手段は、前記タグ情報に基づいて、タイル境界の位置を特定し、
前記タイル境界平滑化手段は、前記タグ処理手段により特定されたタイル境界近傍画素における斜め方向のエッジ量が大きいほどローパスフィルタの強度を小さくすることを特徴とする画像処理装置。
An image processing apparatus for generating image data from a code stream encoded using a wavelet transform,
Tag processing means for interpreting tag information added to the code stream and decomposing the code stream into a code stream of each tile of each component;
A position of a bit to be decoded is determined in an order based on the tag information, and inverse quantization means for generating a context from peripheral bits of the target bit;
Entropy decoding means for generating a target bit by performing decoding by probability estimation of the context and the code stream, and performing decoding by writing the target bit to a position of the target bit;
Wavelet inverse transform means for performing wavelet inverse transform on the data decoded by the entropy decoding means, and restoring each tile of each component of the image data;
Color space inverse transformation means for generating the image data by color space inverse transformation of the data restored by the wavelet inverse transformation means;
Tile boundary smoothing means for performing smoothing processing on the vicinity of the tile boundary of the image data generated by the color space inverse transform means;
The tag processing means identifies a position of a tile boundary based on the tag information,
It said tile boundary smoothing means, the image processing apparatus characterized by reducing the intensity of the low-pass filter larger the edge in an oblique direction at the tile border neighboring pixel specified by the tag processing unit.
請求項1に記載の画像処理装置において、前記タイル境界近傍画素における斜め方向のエッジ量と、前記タイル境界からの画素間距離とに応じてローパスフィルタの強度を制御することを特徴とする画像処理装置。The image processing apparatus according to claim 1, the image processing and controlling the diagonal edge amount in the tile boundary neighboring pixels, the intensity of the low-pass filter in accordance with the inter-pixel distance from said tile boundary apparatus. ウェーブレット変換を用いて符号化されたコードストリームから画像データを生成する画像処理装置による画像処理方法であって、
前記コードストリームに付加されたタグ情報を解釈し、前記コードストリームを各コンポーネントの各タイルのコードストリームに分解するタグ処理ステップと、
前記タグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、前記対象ビットの周辺ビットからコンテキストを生成する逆量子化ステップと、
前記コンテキストと前記コードストリームとの確率推定によって復号化を行なうことで対象ビットを生成し、該対象ビットを対象ビットの位置に対して書き込むことで復号化を行なうエントロピー復号化ステップと、
前記エントロピー復号化ステップで復号化されたデータにウェーブレット逆変換を行ない、前記画像データの各コンポーネントの各タイルを復元するウェーブレット逆変換ステップと、
前記ウェーブレット逆変換ステップで復元されたデータを色空間逆変換によって前記画像データを生成する色空間逆変換ステップと、
前記色空間逆変換ステップで生成された前記画像データのタイル境界近傍に対して平滑化処理を行なうタイル境界平滑化ステップとを有し、
前記タグ処理ステップは、前記タグ情報に基づいて、タイル境界の位置を特定し、
前記タイル境界平滑化ステップは、前記タグ処理ステップで特定されたタイル境界近傍画素における斜め方向のエッジ量が大きいほどローパスフィルタの強度を小さくすることを特徴とする画像処理方法。
An image processing method by an image processing apparatus for generating image data from a code stream encoded using a wavelet transform,
A tag processing step of interpreting tag information added to the code stream, and decomposing the code stream into a code stream of each tile of each component;
A position of a bit to be decoded is determined in an order based on the tag information, and an inverse quantization step of generating a context from peripheral bits of the target bit;
An entropy decoding step of generating a target bit by performing decoding by probability estimation of the context and the code stream, and performing decoding by writing the target bit to a position of the target bit;
A wavelet inverse transform step for performing wavelet inverse transform on the data decoded in the entropy decoding step and restoring each tile of each component of the image data;
A color space inverse transformation step for generating the image data by color space inverse transformation of the data restored in the wavelet inverse transformation step;
A tile boundary smoothing step for performing a smoothing process on the vicinity of the tile boundary of the image data generated in the color space reverse conversion step;
The tag processing step specifies a position of a tile boundary based on the tag information,
In the tile boundary smoothing step, the strength of the low-pass filter is reduced as the edge amount in the oblique direction in the pixel near the tile boundary specified in the tag processing step is increased.
請求項3に記載の画像処理方法において、前記タイル境界近傍画素における斜め方向のエッジ量と、前記タイル境界からの画素間距離とに応じてローパスフィルタの強度を制御することを特徴とする画像処理方法。The image processing method according to claim 3, image processing and controlling the diagonal edge amount in the tile boundary neighboring pixels, the intensity of the low-pass filter in accordance with the inter-pixel distance from said tile boundary Method.
JP2001400647A 2001-12-28 2001-12-28 Image processing apparatus and method Expired - Fee Related JP4118049B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2001400647A JP4118049B2 (en) 2001-12-28 2001-12-28 Image processing apparatus and method
EP02028798A EP1335607A3 (en) 2001-12-28 2002-12-27 Image smoothing apparatus and method
US10/330,588 US7302104B2 (en) 2001-12-28 2002-12-27 Smoothing tile boundaries of images encoded and decoded by JPEG 2000
US11/975,506 US20080152244A1 (en) 2001-12-28 2007-10-19 Image-processing apparatus, image-processing method, program and computer readable information recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001400647A JP4118049B2 (en) 2001-12-28 2001-12-28 Image processing apparatus and method

Publications (2)

Publication Number Publication Date
JP2003199106A JP2003199106A (en) 2003-07-11
JP4118049B2 true JP4118049B2 (en) 2008-07-16

Family

ID=27605103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001400647A Expired - Fee Related JP4118049B2 (en) 2001-12-28 2001-12-28 Image processing apparatus and method

Country Status (1)

Country Link
JP (1) JP4118049B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5244841B2 (en) * 2010-03-18 2013-07-24 京セラドキュメントソリューションズ株式会社 Image processing apparatus, image processing method, and image processing program
JP5723717B2 (en) * 2011-08-04 2015-05-27 京セラドキュメントソリューションズ株式会社 Image processing apparatus, image forming apparatus including the same, and image processing method
KR102149959B1 (en) 2013-01-04 2020-08-31 지이 비디오 컴프레션, 엘엘씨 Efficient scalable coding concept
EP2984839B1 (en) 2013-04-08 2020-05-27 GE Video Compression, LLC Coding concept allowing efficient multi-view/layer coding

Also Published As

Publication number Publication date
JP2003199106A (en) 2003-07-11

Similar Documents

Publication Publication Date Title
US7302104B2 (en) Smoothing tile boundaries of images encoded and decoded by JPEG 2000
US7330596B2 (en) Image decoding technique for suppressing tile boundary distortion
JP4293740B2 (en) Image compression device
US20030202581A1 (en) Image compression device, image decompression device, image compression/decompression device, program for executing on a computer to perform functions of such devices, and recording medium storing such a program
JP2003046785A (en) Enhancement of image quality of compressed image
JP2004147142A (en) Image processor, program, and storage medium
JP3952459B2 (en) Image processing apparatus, program, storage medium, and image processing method
JP4179498B2 (en) Image processing apparatus and image processing method
JP4118049B2 (en) Image processing apparatus and method
JP4145086B2 (en) Image decoding apparatus, image processing apparatus, moving image display system, program, storage medium, and image decoding method
JP2002369202A (en) Image compression device, image expansion device, image compressing method, image expanding method, program and recording medium stored with the program
JP4111273B2 (en) Image decoding apparatus, program, storage medium, and image decoding method
JP2004056260A (en) Image decoder, image processor, program, recording medium and image decoding method
JP2004064190A (en) Image processing apparatus, method, program, and recording medium
JP4124436B2 (en) Motion estimation device, program, storage medium, and motion estimation method
JP2004046583A (en) Image processing apparatus, method, program, and recording medium
JP4201163B2 (en) Image processing apparatus, method, program, and recording medium
JP2004023316A (en) Image processor
JP2004112566A (en) Image processor, image processing method, image processing program, and storage medium for storing the image processing program
JP4010957B2 (en) Image processing apparatus, program, storage medium, and image forming apparatus
JP4067460B2 (en) Image decoding apparatus, program, storage medium, and image decoding method
JP4040404B2 (en) Code string conversion apparatus and method, image processing apparatus, and image recording apparatus
JP4093870B2 (en) Image processing apparatus, program, and storage medium
JP2004023666A (en) Image processor, program and recording medium
JP4117886B2 (en) Image processing apparatus, image processing method, program, and information recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080327

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: 20080422

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080422

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: 20110502

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130502

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130502

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees