JP2004023666A - Image processor, program and recording medium - Google Patents

Image processor, program and recording medium Download PDF

Info

Publication number
JP2004023666A
JP2004023666A JP2002178984A JP2002178984A JP2004023666A JP 2004023666 A JP2004023666 A JP 2004023666A JP 2002178984 A JP2002178984 A JP 2002178984A JP 2002178984 A JP2002178984 A JP 2002178984A JP 2004023666 A JP2004023666 A JP 2004023666A
Authority
JP
Japan
Prior art keywords
low
pass filter
tile
boundary
processing apparatus
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.)
Pending
Application number
JP2002178984A
Other languages
Japanese (ja)
Inventor
Toru Suino
水納  亨
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 JP2002178984A priority Critical patent/JP2004023666A/en
Priority to EP02028798A priority patent/EP1335607A3/en
Priority to US10/330,588 priority patent/US7302104B2/en
Publication of JP2004023666A publication Critical patent/JP2004023666A/en
Priority to US11/975,506 priority patent/US20080152244A1/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To suppress tile boundary distortion by adaptively controlling the frequency characteristics of a lowpass filter in accordance with the direction of a tile boundary. <P>SOLUTION: A tile boundary smoothing part 6 applies such a lowpass filter to eliminate horizontal frequency components to a vertical tile boundary, applies such a lowpass filter to eliminate vertical frequency components to a horizontal tile boundary and applies such a lowpass filter to eliminate both vertical and horizontal frequency components to an intersection of the tile boundaries. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、タイル境界歪みを抑制した画像処理装置に関し、例えばデジタルカメラ、インターネット、医療用画像、衛星通信用画像などに好適な技術である。
【0002】
【従来の技術】
高精細画像の取扱いを容易にする画像圧縮方式の一つとして、高圧縮率でも高画質な画像を復元可能なJPEG2000がある。JPEG2000では、画像を一般に矩形領域(タイル)に分割し、個々のタイルが圧縮伸長プロセスを実行する際の基本単位となる。従って、圧縮伸長動作はタイル毎に独立に行なわれる。この際、圧縮率の高い条件で圧縮伸長処理を行うと、「タイルの境界」が目立ってくるという問題が発生する。
【0003】
そこで、従来、この問題を解決するために、隣接するタイル同士で境界を互いにオーバーラップさせる方法が提案されている。ただし、JPEG2000のベースラインでは、隣接するタイル境界を重複させない規約になっている。
【0004】
また、他の方法として、タイル境界からの距離に応じて、ローパスフィルタの平滑化度を制御する方法がある。すなわち、例えば、タイル境界からの距離が大きくなるにつれてローパスフィルタの平滑化度を徐々に弱くする。また、タイル境界の近傍の画素に対してエッジ量を算出し、そのエッジ量に応じてローパスフィルタの平滑化度を制御する。例えば、エッジ量が大きくなるにつれてローパスフィルタの平滑化度を徐々に弱くする。さらに、タイル境界からの距離とその画素でのエッジ量に応じてローパスフィルタを制御する。つまり、タイル境界から離れるにつれて、また、エッジ量が大きくなるにつれてローパスフィルタの平滑化度を弱くする。
【0005】
これらの処理により、タイル境界歪みを抑制しつつ、タイル境界付近でのエッジ量が大きい場合にも帯状のぼやけた画像を発生させないように制御する。
【0006】
【発明が解決しようとする課題】
しかし、上記した方法では、タイル境界の方向に関わらず一様なローパスフィルタをかけているので、必要のないところまでローパスフィルタをかけている可能性もあり、これがコスト高となる。
【0007】
本発明は上記した問題点に鑑みてなされたもので、
本発明の目的は、タイル境界の方向に応じてローパスフィルタの周波数特性を適応的に制御することにより、無駄な部分にローパスフィルタをかけることなく、低コストで高速にタイル境界歪みを抑制した画像処理装置、プログラムおよび記録媒体を提供することにある。
【0008】
【課題を解決するための手段】
本発明では、画像をブロック(タイル)に分割し、ブロック(タイル)毎に圧縮伸長した画像データに対し、ブロック(タイル)境界の近傍の画素に適応的ローパスフィルタを施しブロック境界歪みを補正する手段を有する画像処理装置において、圧縮された信号にはブロック(タイル)境界の方向を特定する情報が含まれており、該ブロック(タイル)境界の方向に応じてローパスフィルタの周波数特性を適応的に制御する。
【0009】
本発明では、画像をブロック(タイル)に分割し、ブロック(タイル)毎に圧縮伸長した画像データに対し、ブロック(タイル)境界の近傍の画素に適応的ローパスフィルタを施しブロック(タイル)歪みを補正する手段を有する画像処理装置において、圧縮された信号にはブロック(タイル)境界の方向と位置を特定する情報が含まれており、ブロック(タイル)境界の方向とブロック(タイル)境界からの画素間距離とブロック(タイル)境界近傍画素におけるエッジ量に応じてローパスフィルタの強度を制御する。
【0010】
本発明では、縦方向のブロック(タイル)境界には、横方向の周波数成分を落とすようなローパスフィルタをかけ、横方向のブロック(タイル)境界には、縦方向の周波数成分を落とすようなローパスフィルタをかけ、ブロック(タイル)境界の交点には縦方向横方向ともに周波数成分を落とすようなローパスフィルタをかけることにより、ブロック(タイル)境界歪みを目立たなくする。
【0011】
本発明では、ローパスフィルタの平滑化される周波数成分がブロック(タイル)境界と垂直である。
【0012】
本発明では、縦方向のブロック(タイル)境界と横方向のブロック(タイル)境界でローパスフィルタを切り換える。
【0013】
本発明では、ブロック(タイル)境界の方向に応じてローパスフィルタの周波数成分を制御する。また、ブロック(タイル)境界の方向に応じて無駄なくローパスフィルタをかけることにより、従来に比べてコスト削減を図る。
【0014】
本発明では、例えば横方向のブロック(タイル)境界に対しては、縦長のローパスフィルタ(例えば1画素×5画素)をかけ、縦方向のブロック(タイル)境界に対しては、横長のローパスフィルタ(例えば5画素×1画素)をかけるというように、ブロック(タイル)境界の方向に応じてフィルタを切り換えることにより、無駄なローパスフィルタをかけることなく、演算量も減らすことができ、かつ、従来方式と同等なタイル境界歪みの効果が得られる。
【0015】
【発明の実施の形態】
以下、本発明の実施例を図面を用いて具体的に説明する。
本発明を説明する前に、JPEG2000についてその概要を説明する。
【0016】
図1は、JPEG2000アルゴリズムの基本を説明するための図である。JPEG2000アルゴリズムは、色空間変換・逆変換部111、2次元ウエーブレット変換・逆変換部112、量子化・逆量子化部113、エントロピー符号化・復号化部114、タグ処理部115で構成されている。
【0017】
図2は、タイル分割されたカラー画像の各コンポーネントの例を示す。カラー画像は、一般に、図2に示すように、原画像の各コンポーネント201、202、203(ここではRGB原色系)が、矩形領域(タイル)に分割される。そして、個々のタイル、例えば、R00,R01,…,R15/G00,G01,…,G15/B00,B01,…,B15が、圧縮伸長プロセスを実行する際の基本単位となる。従って、圧縮伸長動作は、コンポーネント毎、そしてタイル毎に、独立に行なわれる。
【0018】
符号化時には、各コンポーネントの各タイルのデータが、図1の色空間変換部111に入力され、色空間変換を施されたのち、2次元ウェーブレット変換部112で2次元ウェーブレット変換(順変換)が適用されて周波数帯に空間分割される。
【0019】
図3は、デコンポジション・レベル数が3の場合の、各デコンポジション・レベルにおけるサブ・バンドを示している。すなわち、原画像のタイル分割によって得られたタイル原画像(0LL)(デコンポジション・レベル0(300))に対して、2次元ウェーブレット変換を施し、デコンポジション・レベル1(301)に示すサブ・バンド(1LL,1HL,1LH,1HH)を分離する。そして引き続き、この階層における低周波成分1LLに対して、2次元ウェーブレット変換を施し、デコンポジション・レベル2(302)に示すサブ・バンド(2LL,2HL,2LH,2HH)を分離する。順次同様に、低周波成分2LLに対しても、2次元ウェーブレット変換を施し、デコンポジション・レベル3(303)に示すサブ・バンド(3LL,3HL,3LH,3HH)を分離する。更に図3では、各デコンポジション・レベルにおいて符号化の対象となるサブ・バンドを、グレーで表してある。例えば、デコンポジション・レベル数を3とした時、グレーで示したサブ・バンド(3HL,3LH,3HH,2HL,2LH,2HH,1HL,1LH,1HH)が符号化対象となり、3LLサブ・バンドは符号化されない。
【0020】
次いで、指定した符号化の順番で符号化の対象となるビットが定められ、図1の量子化部113で対象ビット周辺のビットからコンテキストが生成される。
【0021】
量子化処理が終わったウェーブレット係数は、個々のサブバンド毎に、「プレシンクト」と呼ばれる重複しない矩形に分割される。これは、インプリメンテーションでメモリを効率的に使うために導入されたものである。図5に示すように、一つのプレシンクトは、空間的に一致した3つの矩形領域からなっている。更に、個々のプレシンクトは、重複しない矩形の「コード・ブロック」に分けられる。これは、エントロピー・コーディングを行う際の基本単位となる。
【0022】
ウェーブレット変換後の係数値は、そのまま量子化し符号化することも可能であるが、JPEG2000では符号化効率を上げるために、係数値を「ビットプレーン」単位に分解し、画素あるいはコード・ブロック毎に「ビットプレーン」に順位付けを行うことができる。図6は、その手順を簡単に示す。この例では、原画像(32×32画素)を16×16画素のタイル4つで分割した場合で、デコンポジション・レベル1のプレシンクトとコード・ブロックの大きさは、各々8×8画素と4×4画素としている。プレシンクトとコード・ブロックの番号は、ラスター順に付けられる。タイル境界外に対する画素拡張にはミラーリング法を使い、可逆(5,3)フィルタでウェーブレット変換を行い、デコンポジションレベル1のウェーブレット係数値を求めている。また、タイル0/プレシンクト3/コード・ブロック3について、代表的な「レイヤー」についての概念図をも併せて示している。レイヤーの構造は、ウェーブレット係数値を横方向(ビットプレーン方向)から見ると理解し易い。1つのレイヤーは任意の数のビットプレーンから構成される。この例では、レイヤー0、1、2、3は、各々、1、3、1、3つのビットプレーンから成っている。そして、LSBに近いビットプレーンを含むレイヤー程、先に量子化の対象となり、逆に、MSBに近いレイヤーは最後まで量子化されずに残ることになる。LSBに近いレイヤーから破棄する方法はトランケーションと呼ばれ、量子化率を細かく制御することが可能である。
【0023】
エントロピー符号化部114(図1参照)では、コンテキストと対象ビットから確率推定によって、各コンポーネントのタイルに対する符号化を行う。こうして、原画像の全てのコンポーネントについて、タイル単位で符号化処理が行われる。最後にタグ処理部115は、エントロピー符号化部114からの全符号化データを1本のコード・ストリームに結合するとともに、それにタグを付加する処理を行う。
【0024】
図4は、コードストリームの構造を簡単に示す。コード・ストリームの先頭と各タイルを構成する部分タイルの先頭にはヘッダと呼ばれるタグ情報が付加され、その後に、各タイルの符号化データが続く。そして、コード・ストリームの終端には、再びタグが置かれる。
【0025】
一方、復号化時には、符号化時とは逆に、各コンポーネントの各タイルのコード・ストリームから画像データを生成する。図1を用いて簡単に説明する。この場合、タグ処理部115は、外部より入力したコード・ストリームに付加されたタグ情報を解釈し、コード・ストリームを各コンポーネントの各タイルのコード・ストリームに分解し、その各コンポーネントの各タイルのコード・ストリーム毎に復号化処理が行われる。コード・ストリーム内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、逆量子化部113で、その対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストが生成される。エントロピー復号化部114で、このコンテキストとコード・ストリームから確率推定によって復号化を行い対象ビットを生成し、それを対象ビットの位置に書き込む。このようにして復号化されたデータは各周波数帯域毎に空間分割されているため、これを2次元ウェーブレット逆変換部112で2次元ウェーブレット逆変換を行うことにより、画像データの各コンポーネントの各タイルが復元される。復元されたデータは色空間逆変換部111によって元の表色系のデータに変換される。
【0026】
図7は、ミラーリング法を用いた画素拡張の一例を示す図である。図7に示すように、注目するタイル401のある列に「ABCDE」という文字が並んでいる。各文字が1画素の値に対応し、最初の文字「A」がk番目、最後の文字「E」がm番目の画素であるとする。ウェーブレット変換をこのタイル401に対して行うときには、k番目以前の画素とm番目以降の画素がそれぞれ数画素必要になるので、図7に示すように、ミラーリング法によってタイル境界401aの外に画素を拡張する必要がある。画素402は拡張された画素を示す。
【0027】
(実施例1)
図8は、本発明の実施例1に係る伸長部の構成を示す。タグ処理部1から色空間逆変換部5までの処理は前述したJPEG2000と同様である。本実施例では、色空間逆変換部5の後段にタイル境界平滑化部6が設けられている。色空間逆変換部5によって得られたRGBデータに対し、タイル境界平滑化部6でタイル境界の近傍の画素を平滑化して、タイル境界の歪みを目立たなくする。
【0028】
図9は、タイル境界平滑化部の具体例を示す。入力画像が4つのタイル0〜3に分割され、タイル境界の近傍の画素(図9(a)の灰色の領域の画素(例えば境界を挟んだ計8画素))に対してローパスフィルタをかける。
【0029】
図9(b)は、縦方向タイル境界におけるローパスフィルタの一例を示す。(b)に示すように、タイル境界に垂直なローパスフィルタをかけることにより、縦方向のタイル境界歪みを抑制する。本実施例では、1次元の横長のフィルタ(5画素×1画素)の例で説明したが、横方向の周波数成分を除去するような周波数特性を有するローパスフィルタであればいかなるフィルタであってもよい。
【0030】
図9(c)は、横方向タイル境界におけるローパスフィルタの一例を示す。(c)に示すように、タイル境界に垂直なローパスフィルタをかけることにより、横方向のタイル境界歪みを抑制する。本実施例では、1次元の縦長のフィルタ(1画素×5画素)の例で説明したが、縦方向の周波数成分を除去するような周波数特性を有するローパスフィルタであればいかなるフィルタであってもよい。
【0031】
図9(d)は、タイル境界とタイル境界の交点の近傍におけるローパスフィルタの一例を示す。(d)に示すように、十字型のローパスフィルタをかけることにより、タイル境界交点付近のタイル境界歪みを抑制する。本実施例では、十字型のフィルタの例で説明したが、縦方向と横方向の周波数成分ともに除去するような周波数特性を有するローパスフィルタであればいかなるフィルタであってもよい。
【0032】
なお、上記した実施例はJPEG2000の圧縮伸長方式を例に説明したが、圧縮伸長方式はこれに限定されず、圧縮符号にブロック境界位置情報が含まれるような圧縮伸長方式であれば、いかなる圧縮伸長方式を用いても良い。
【0033】
(実施例2)
図10は、本発明の実施例2に係る伸長部の構成を示す。タグ処理部1から色空間逆変換部5までの処理は前述したJPEG2000と同様である。本実施例では、タイル境界からの画素間距離とタイル境界近傍の画素のエッジ量を算出する距離/エッジ量算出部7を設け、算出された距離とエッジ量がタイル境界平滑化部6aに入力される構成を採る。
【0034】
まず、本実施例では、タイル境界からの画素間距離に応じてタイル境界平滑化部6aのローパスフィルタ強度を切り換える。
【0035】
図11は、タイル境界からの距離の算出方法を説明する図である。各画素において、上下左右のタイル境界からの距離が算出される。それらの最小値を該画素におけるタイル境界からの距離とする。なお、タイル境界の位置、タイル境界の方向は符号化データに含まれる情報により取得する。
【0036】
図12に示すように、本実施例では縦方向のタイル境界の近傍の画素に対しては、1次元の横方向のローパスフィルタを用いる(図12(a))。横方向のタイル境界の近傍の画素に対しては、1次元の縦方向のローパスフィルタを用いる(図12(b))。タイル境界の交点の近傍画素に対しては、十字型のローパスフィルタを用いる(図12(c))。実施例1と同様に、これは一例であり、縦方向のタイル境界近傍の画素には横方向の周波数成分を除去するようなフィルタであればいかなるフィルタであってもよいし、同様に、横方向のタイル境界近傍の画素には縦方向の周波数成分を除去するようなフィルタならばいかなるフィルタであってもよいし、タイル境界の交点近傍の画素には縦方向周波数成分と横方向の周波数成分をともに除去するようなフィルタであればいかなるフィルタであってもよい。
【0037】
本実施例では、タイル境界からの画素間距離を用いて図12のローパスフィルタを適応的に処理する。すなわち、この例では、ローパスフィルタは注目画素の位置の係数(フィルタの中央の係数m)のみ変化させる。画素間距離が大きくなるにつれて、徐々に係数mの値を大きくする。図12の例では、中央の係数mは、m=4+64*dで算出される。ここでdは画素間距離を表す。これは、タイル境界からの画素間距離が大きくなるにつれて施すローパスフィルタの平滑化度を弱くすることを意味する。
【0038】
また、本実施例では、タイル境界からの画素間距離とタイル境界近傍の画素のエッジ量に応じて、タイル境界平滑化部6aのローパスフィルタ強度を切り換える処理も行う。図13は、タイル境界からの画素間距離とエッジ量によるローパスフィルタ制御を説明する図である。
【0039】
距離/エッジ量算出部7はタイル境界近傍の画素に対し、
(1)タイル境界からの画素間距離(図13(a))
(2)エッジ量算出フィルタ(図13(b))でエッジ量
を算出する。
【0040】
本実施例では、タイル境界が縦方向の近傍画素ならば、図13(c)に示すような横長のローパスフィルタをかける。タイル境界が横方向の近傍画素ならば図13(d)に示すような縦長のローパスフィルタをかける。タイル境界の交点近傍の画素ならば、図13(e)に示すような十字型のローパスフィルタをかける。これは一例であり、縦方向のタイル境界近傍の画素には横方向の周波数成分を除去するようなフィルタであればいかなるフィルタであってもよいし、横方向のタイル境界近傍の画素には縦方向の周波数成分を除去するようなフィルタならばいかなるフィルタであってもよいし、タイル境界の交点近傍の画素には縦方向周波数成分と横方向の周波数成分をともに除去するようなフィルタであればいかなるフィルタであってもよい。
【0041】
そして、算出された画素間距離と斜め方向のエッジ量に応じて、タイル境界平滑部6aのローパスフィルタ強度を制御する。なお、エッジ量として斜め方向のエッジ量を算出する理由は、縦、横方向のタイル境界をエッジとして検出しないためである。
【0042】
本実施例では、画素間距離が大きいほど、またエッジ量の絶対値が大きいほど、ローパスフィルタの中央値mを大きくする。図13(c)〜(e)に示す適応的ローパスフィルタの例では、中央の係数値をmとし、画素間距離をdとし、上記したエッジ量をEとするとき、
d=0 ならば
abs(E)>=255 ならば m=4+abs(E)
abs(E)< 255 ならば m=4
d>0 ならば m=max(4+64*d,4+abs(E))
によって、中央の係数値mを算出する。
【0043】
これは、タイル境界からの画素間距離dが大きいほど、タイル境界近傍の画素のエッジ量の絶対値abs(E)が大きいほど、施すローパスフィルタの平滑化度を小さくする、ということを意味する。d=0の場合のみ独立に制御した理由は、タイル境界の最近傍の画素に対してはある程度平滑化度の強いローパスフィルタを施さないと、タイル境界が目立ってしまうからである。
【0044】
なお、本実施例では、JPEG2000の圧縮伸長方式を例に説明したが、圧縮伸長方式はこれに限定されず、圧縮符号にブロック境界位置情報が含まれるような圧縮伸長方式であれば、いかなる圧縮伸長方式を用いても良い。
【0045】
(実施例3)
実施例3に係る伸長部の構成は実施例1と同様である。また、タグ処理部1から色空間逆変換部5までの処理は前述したJPEG2000と同様である。
【0046】
本実施例では、圧縮率に応じてタイル境界平滑化部6のローパスフィルタ強度を可変にする。一般に圧縮率が大きい画像ほどタイル境界歪みが目立つ。従って、圧縮率の小さい画像に強いローパスフィルタをかけると、ローパスフィルタをかけた部分がぼやけて目立ってしまう。逆に、圧縮率の大きな画像に弱いローパスフィルタをかけてもタイル境界歪み抑制の効果がでにくい。
【0047】
そこで、本実施例では、図14に示すように、圧縮率に応じてローパスフィルタの強度を可変にする。例えば、比較的圧縮率の大きい圧縮率1/40の場合には、図14(a)に示すような平滑化度の強いローパスフィルタを用いる。また、例えば、比較的圧縮率の小さい圧縮率1/20の場合には、図14(b)に示すような平滑化の弱いローパスフィルタを用いるような構成にする。
【0048】
また、ウェーブレット変換の階層数(デコンポジションレベル)に応じてローパスフィルタをかけるタイル境界からの画素間距離のしきい値を制御できる。例えば、3階層のウェーブレット変換を用いて符号化されたデータは、ミラーリングによりタイル境界の内側8画素がその影響を受ける。このため、タイル境界の内側8画素に対してローパスフィルタをかける。
【0049】
また、例えば、2階層のウェーブレット変換を用いて符号化されたデータは、ミラーリングによりタイル境界の内側の4画素がその影響を受ける。このため、タイル境界の内側4画素に対してローパスフィルタをかける。
【0050】
つまり、n階層のウェーブレット変換を用いて符号化されたデータは、タイル境界の内側2のn乗の画素までローパスフィルタをかけるような構成にする。このように、符号時のウェーブレット階層数に応じてローパスフィルタをかける範囲を最適にすることができる。また、タイル境界の内側何画素までローパスフィルタをかけるかは、コストや処理時間、画像品質などを考慮して調整することもできる。
【0051】
さらに、ウェーブレット変換方法に応じてローパスフィルタを切り換えても良い。例えば、5×3フィルタでのウェーブレット変換と9×7フィルタでのウェーブレット変換があるが、それぞれの変換方法で圧縮伸長された画像に対し、周波数特性の異なるローパスフィルタを施してもよい。
【0052】
なお、上記実施例は、JPEG2000の圧縮伸長方式を例に説明したが、圧縮伸長方式はこれに限定されず、圧縮符号にブロック境界位置情報が含まれるような圧縮伸長方式であれば、いかなる圧縮伸長方式を用いても良い。
【0053】
(実施例4)
図15は、本発明の実施例4に係る伸長部の構成を示す。実施例1の構成にさらに補正タイル境界限定部8が追加されている。タグ処理部1から色空間逆変換部5までの処理は前述したJPEG2000と同様である。
【0054】
本実施例では、すべてのタイル境界近傍画素にローパスフィルタをかけるのではなく、ローパスフィルタをかけるべきタイル境界を限定して、そのタイル境界近傍画素にのみにローパスフィルタをかける。図16、図17はその例を示し、ROI領域内のタイル境界の近傍画素のみにローパスフィルタをかける。ROI領域とは、画像全体から切り出して拡大したり、他の部分に比べて強調したりする場合の、画像全体から見たある一部分である。
【0055】
図16は、ROI領域がタイル境界に沿った領域である場合の例である。図のようにROI領域が設定されたら、ローパスフィルタをかけるタイル境界は図の右側の点線部とする。
【0056】
図17は、ROI領域がタイル境界に沿っていない領域である場合の例である。図のようにROI領域が設定されたら、ローパスフィルタをかけるタイル境界は図の右側の点線部のようにする。タイル境界近傍の画素がROI内部か否かを演算によって算出し、該タイル境界近傍の画素がROI内部であればその画素にローパスフィルタをかける。該タイル境界近傍の画素がROI外部であれば、その画素にはローパスフィルタをかけない構成にする。
【0057】
なお、上記したように本発明はハードウェアによって実施できるが、汎用のコンピュータシステムを利用し、ソフトウェアによっても実施できることは言うまでもない。ソフトウェアで実施する場合には、本発明の画像処理装置の各手段(ブロック分割、圧縮伸長、ブロック境界歪み補正など)として、コンピュータを機能(動作)させるためのプログラムが記録媒体などに記録されていて、該記録媒体などからプログラムがコンピュータシステムに読み込まれてCPUによって実行されることにより、本発明が実施される。
【0058】
【発明の効果】
以上、説明したように、本発明によれば、以下のような効果が得られる。
(1)ブロック境界の方向に応じてローパスフィルタを切り換えることにより、ブロック境界の方向を考慮しない場合に比べて、無駄なローパスフィルタをかけずに済み、ブロック境界歪みに対して、最適でしかも低コストなフィルタを自動的に選択できる。
(2)ブロック境界の方向とブロック境界からの距離と注目画素におけるエッジ量に応じてローパスフィルタの強度を適応的に制御することにより、ブロック境界歪みを抑制しつつ、ブロック境界近傍でエッジが強い場合の画質劣化をより目立たなくすることができる。
(3)圧縮率に応じて最適な強度のローパスフィルタをかけることにより、いかなる圧縮率においてもタイル境界歪みを抑制することができる。
(4)ローパスフィルタをかけるべきタイル境界画素を制御することにより、例えば、ROI領域の内側のみにローパスフィルタなどの制御ができ、タイル境界歪み抑制のための処理時間を短縮することができる。
【図面の簡単な説明】
【図1】JPEG2000アルゴリズムの基本を説明するための図である。
【図2】タイル分割されたカラー画像の各コンポーネントの例を示す。
【図3】デコンポジション・レベル数が3の場合の、各デコンポジション・レベルにおけるサブ・バンドを示す。
【図4】コードストリームの構造を示す。
【図5】プレシンクトとコード・ブロックの関係を説明する図である。
【図6】ウエーブレット係数値をビットプレーンに順位付けする手順を示す。
【図7】ミラーリング法を用いた画素拡張の一例を示す。
【図8】本発明の実施例1に係る伸長部の構成を示す。
【図9】タイル境界平滑化部の具体例を示す。
【図10】本発明の実施例2に係る伸長部の構成を示す。
【図11】タイル境界からの距離の算出方法を説明する図である。
【図12】画素間距離によるローパスフィルタ制御を説明する図である。
【図13】タイル境界からの距離とエッジ量によるローパスフィルタ制御を説明する図である。
【図14】圧縮率に応じたローパスフィルタ制御を説明する図である。
【図15】本発明の実施例4に係る伸長部の構成を示す。
【図16】補正タイル境界限定部でローパスフィルタをかけるタイル境界を限定する第1の例を示す。
【図17】補正タイル境界限定部でローパスフィルタをかけるタイル境界を限定する第2の例を示す。
【符号の説明】
1 タグ処理部
2 エントロピー復号化部
3 逆量子化部
4 2次元ウェーブレット逆変換部
5 色空間逆変換部
6 タイル境界平滑化部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing apparatus that suppresses tile boundary distortion, and is a technique suitable for digital cameras, the Internet, medical images, satellite communication images, and the like.
[0002]
[Prior art]
As one of the image compression methods for facilitating the handling of high-definition images, there is JPEG2000 which can restore a high-quality image even at a high compression ratio. In JPEG2000, an image is generally divided into rectangular areas (tiles), and each tile is a basic unit when performing a compression / decompression process. Therefore, the compression / expansion operation is performed independently for each tile. At this time, if the compression / expansion processing is performed under a condition of a high compression ratio, a problem that “tile boundaries” become noticeable occurs.
[0003]
Therefore, in order to solve this problem, a method of overlapping boundaries between adjacent tiles has been conventionally proposed. However, the JPEG2000 baseline has a rule that adjacent tile boundaries do not overlap.
[0004]
Another method is to control the degree of smoothing of the low-pass filter according to the distance from the tile boundary. That is, for example, as the distance from the tile boundary increases, the degree of smoothing of the low-pass filter is gradually reduced. The edge amount is calculated for pixels near the tile boundary, and the degree of smoothing of the low-pass filter is controlled according to the edge amount. For example, as the edge amount increases, the degree of smoothing of the low-pass filter is gradually reduced. Further, the low-pass filter is controlled according to the distance from the tile boundary and the edge amount at the pixel. That is, the smoothing degree of the low-pass filter is reduced as the distance from the tile boundary increases and as the edge amount increases.
[0005]
Through these processes, control is performed so that a band-shaped blurred image is not generated even when the edge amount near the tile boundary is large, while suppressing the tile boundary distortion.
[0006]
[Problems to be solved by the invention]
However, in the above-described method, since a uniform low-pass filter is applied regardless of the direction of the tile boundary, there is a possibility that the low-pass filter is applied to an unnecessary part, which increases the cost.
[0007]
The present invention has been made in view of the above problems,
SUMMARY OF THE INVENTION An object of the present invention is to adaptively control the frequency characteristics of a low-pass filter according to the direction of a tile boundary, thereby suppressing low-speed and high-speed tile boundary distortion without applying a low-pass filter to useless portions. An object of the present invention is to provide a processing device, a program, and a recording medium.
[0008]
[Means for Solving the Problems]
According to the present invention, an image is divided into blocks (tiles), and image data compressed and expanded for each block (tile) is subjected to an adaptive low-pass filter on pixels near the block (tile) boundary to correct block boundary distortion. In the image processing apparatus having the means, the compressed signal includes information for specifying the direction of the block (tile) boundary, and the frequency characteristic of the low-pass filter is adaptively adjusted according to the direction of the block (tile) boundary. To control.
[0009]
According to the present invention, an image is divided into blocks (tiles), and an image data compressed and decompressed for each block (tile) is subjected to an adaptive low-pass filter on pixels near the block (tile) boundary to remove block (tile) distortion. In an image processing apparatus having a correcting means, the compressed signal includes information for specifying the direction and position of the block (tile) boundary, and the information from the block (tile) boundary direction and the block (tile) boundary. The strength of the low-pass filter is controlled according to the pixel-to-pixel distance and the edge amount of pixels near the block (tile) boundary.
[0010]
According to the present invention, a low-pass filter that drops the horizontal frequency component is applied to the vertical block (tile) boundary, and a low-pass filter that drops the vertical frequency component is applied to the horizontal block (tile) boundary. By applying a filter and applying a low-pass filter at the intersections of block (tile) boundaries to reduce frequency components in both the vertical and horizontal directions, block (tile) boundary distortion is made inconspicuous.
[0011]
In the present invention, the frequency component to be smoothed by the low-pass filter is perpendicular to the block (tile) boundary.
[0012]
According to the present invention, a low-pass filter is switched between a vertical block (tile) boundary and a horizontal block (tile) boundary.
[0013]
In the present invention, the frequency component of the low-pass filter is controlled according to the direction of the block (tile) boundary. In addition, by applying a low-pass filter without waste according to the direction of a block (tile) boundary, cost can be reduced as compared with the related art.
[0014]
In the present invention, for example, a vertically long low-pass filter (for example, 1 pixel × 5 pixels) is applied to a horizontal block (tile) boundary, and a horizontally long low-pass filter is applied to a vertical block (tile) boundary. (For example, 5 pixels × 1 pixel), the filter is switched in accordance with the direction of the block (tile) boundary, so that the amount of calculation can be reduced without applying a useless low-pass filter. The effect of the tile boundary distortion equivalent to the method is obtained.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be specifically described with reference to the drawings.
Before describing the present invention, an outline of JPEG2000 will be described.
[0016]
FIG. 1 is a diagram for explaining the basics of the JPEG2000 algorithm. The JPEG2000 algorithm includes a color space conversion / inverse conversion unit 111, a two-dimensional wavelet conversion / inverse conversion unit 112, a quantization / inverse quantization unit 113, an entropy encoding / decoding unit 114, and a tag processing unit 115. I have.
[0017]
FIG. 2 shows an example of each component of a tiled color image. Generally, in a color image, as shown in FIG. 2, each of the components 201, 202, and 203 (here, the RGB primary color system) of the original image is divided into rectangular areas (tiles). Each of the tiles, for example, R00, R01, ..., R15 / G00, G01, ..., G15 / B00, B01, ..., B15 is a basic unit when executing the compression / decompression process. Therefore, the compression / expansion operation is performed independently for each component and for each tile.
[0018]
At the time of encoding, the data of each tile of each component is input to the color space conversion unit 111 of FIG. 1 and subjected to color space conversion, and then the two-dimensional wavelet conversion unit 112 performs two-dimensional wavelet conversion (forward conversion). It is applied and spatially divided into frequency bands.
[0019]
FIG. 3 shows the sub-bands at each decomposition level when the number of decomposition levels is three. That is, a two-dimensional wavelet transform is performed on the tile original image (0LL) (decomposition level 0 (300)) obtained by the tile division of the original image, and the sub-image shown in the decomposition level 1 (301) is obtained. Separate the bands (1LL, 1HL, 1LH, 1HH). Subsequently, two-dimensional wavelet transform is performed on the low-frequency component 1LL in this layer to separate the sub-bands (2LL, 2HL, 2LH, 2HH) shown at the decomposition level 2 (302). Similarly, two-dimensional wavelet transform is performed on the low-frequency component 2LL in the same manner to separate the sub-bands (3LL, 3HL, 3LH, 3HH) shown in the decomposition level 3 (303). Further, in FIG. 3, the sub-bands to be coded at each decomposition level are shown in gray. For example, when the number of decomposition levels is 3, the sub-bands (3HL, 3LH, 3HH, 2HL, 2LH, 2HH, 1HL, 1LH, 1HH) shown in gray are to be encoded, and the 3LL sub-band is Not encoded.
[0020]
Next, bits to be encoded are determined in the designated order of encoding, and a context is generated from bits around the target bit by the quantization unit 113 in FIG.
[0021]
The wavelet coefficients after the quantization processing are divided into non-overlapping rectangles called “precincts” for each subband. This was introduced to make efficient use of memory in the implementation. As shown in FIG. 5, one precinct is formed of three spatially coincident rectangular areas. Further, each precinct is divided into non-overlapping rectangular "code blocks". This is a basic unit when performing entropy coding.
[0022]
The coefficient value after wavelet transform can be quantized and encoded as it is. However, in JPEG2000, in order to increase the encoding efficiency, the coefficient value is decomposed into “bit plane” units, and each pixel or code block is decomposed. "Bit planes" can be ranked. FIG. 6 briefly shows the procedure. In this example, the original image (32 × 32 pixels) is divided into four tiles of 16 × 16 pixels, and the size of the precinct and the code block at the decomposition level 1 are 8 × 8 pixels and 4 pixels, respectively. × 4 pixels. Precincts and code blocks are numbered in raster order. The pixel expansion outside the tile boundary is performed by using a mirroring method, performing a wavelet transform using a reversible (5, 3) filter, and obtaining a wavelet coefficient value of decomposition level 1. In addition, a conceptual diagram of a representative “layer” for tile 0 / precinct 3 / code block 3 is also shown. The layer structure is easy to understand when the wavelet coefficient values are viewed from the horizontal direction (bit plane direction). One layer is composed of an arbitrary number of bit planes. In this example, layers 0, 1, 2, and 3 consist of 1, 3, 1, and 3 bit planes, respectively. Then, a layer including a bit plane closer to the LSB is subject to quantization first, and conversely, a layer closer to the MSB remains without being quantized to the end. A method of discarding from a layer close to the LSB is called truncation, and it is possible to finely control the quantization rate.
[0023]
The entropy encoding unit 114 (see FIG. 1) encodes each component tile by probability estimation from the context and the target bit. In this way, the encoding process is performed on all the components of the original image in tile units. Finally, the tag processing unit 115 performs a process of combining all the encoded data from the entropy encoding unit 114 into one code stream and adding a tag to the code stream.
[0024]
FIG. 4 briefly shows the structure of the code stream. Tag information called a header is added at the beginning of the code stream and at the beginning of the partial tiles constituting each tile, followed by encoded data of each tile. Then, the tag is placed again at the end of the code stream.
[0025]
On the other hand, at the time of decoding, image data is generated from the code stream of each tile of each component, contrary to the encoding. This will be briefly described with reference to FIG. In this case, the tag processing unit 115 interprets the tag information added to the code stream input from the outside, decomposes the code stream into a code stream of each tile of each component, and Decoding processing is performed for each code stream. The positions of the bits to be decoded are determined in the order based on the tag information in the code stream, and the inverse quantization unit 113 arranges the neighboring bits (already decoded) at the target bit positions. Generates a context from The entropy decoding unit 114 performs decoding by probability estimation from the context and the code stream to generate a target bit, and writes it to the position of the target bit. Since the data decoded in this way is spatially divided for each frequency band, the two-dimensional wavelet inverse transform unit 112 performs an inverse two-dimensional wavelet transform on the data to obtain each tile of each component of the image data. Is restored. The restored data is converted by the color space inverse converter 111 into the original color system data.
[0026]
FIG. 7 is a diagram illustrating an example of pixel expansion using the mirroring method. As shown in FIG. 7, characters “ABCDE” are arranged in a certain column of the tile 401 of interest. Each character corresponds to the value of one pixel, and the first character “A” is the k-th pixel and the last character “E” is the m-th pixel. When the wavelet transform is performed on the tile 401, several pixels before the k-th pixel and pixels after the m-th pixel are required. Therefore, as shown in FIG. Need to be extended. Pixel 402 indicates an expanded pixel.
[0027]
(Example 1)
FIG. 8 illustrates a configuration of the extension unit according to the first embodiment of the present invention. The processing from the tag processing unit 1 to the color space inverse conversion unit 5 is the same as in JPEG2000 described above. In the present embodiment, a tile boundary smoothing unit 6 is provided after the color space inverse conversion unit 5. Tile boundary smoothing unit 6 smoothes pixels near the tile boundary with respect to the RGB data obtained by color space inverse conversion unit 5 so that distortion at the tile boundary is not noticeable.
[0028]
FIG. 9 shows a specific example of the tile boundary smoothing unit. The input image is divided into four tiles 0 to 3, and a low-pass filter is applied to pixels near the tile boundary (for example, pixels in the gray area in FIG. 9A (for example, a total of eight pixels across the boundary)).
[0029]
FIG. 9B shows an example of a low-pass filter at a vertical tile boundary. As shown in (b), the vertical tile boundary distortion is suppressed by applying a low-pass filter perpendicular to the tile boundary. In this embodiment, an example of a one-dimensional horizontally long filter (5 pixels × 1 pixel) has been described. However, any filter may be used as long as it is a low-pass filter having a frequency characteristic for removing a horizontal frequency component. Good.
[0030]
FIG. 9C shows an example of a low-pass filter at a horizontal tile boundary. As shown in (c), by applying a low-pass filter perpendicular to the tile boundaries, the tile boundary distortion in the horizontal direction is suppressed. In the present embodiment, an example of a one-dimensional vertically long filter (1 pixel × 5 pixels) has been described, but any filter may be used as long as it is a low-pass filter having a frequency characteristic that removes a vertical frequency component. Good.
[0031]
FIG. 9D shows an example of a low-pass filter in the vicinity of an intersection between tile boundaries. As shown in (d), by applying a cross-shaped low-pass filter, tile boundary distortion near the tile boundary intersection is suppressed. In this embodiment, a cross-shaped filter has been described as an example, but any filter may be used as long as it is a low-pass filter having a frequency characteristic that removes both the vertical and horizontal frequency components.
[0032]
In the above embodiment, the JPEG2000 compression / expansion method has been described as an example. However, the compression / expansion method is not limited to this, and any compression / expansion method may be used as long as the compression code includes block boundary position information. A decompression method may be used.
[0033]
(Example 2)
FIG. 10 shows a configuration of the extension unit according to the second embodiment of the present invention. The processing from the tag processing unit 1 to the color space inverse conversion unit 5 is the same as in JPEG2000 described above. In this embodiment, a distance / edge amount calculation unit 7 for calculating the distance between pixels from the tile boundary and the edge amount of pixels near the tile boundary is provided, and the calculated distance and edge amount are input to the tile boundary smoothing unit 6a. It adopts the configuration that is performed.
[0034]
First, in this embodiment, the low-pass filter strength of the tile boundary smoothing unit 6a is switched according to the distance between pixels from the tile boundary.
[0035]
FIG. 11 is a diagram illustrating a method of calculating a distance from a tile boundary. For each pixel, the distance from the upper, lower, left and right tile boundaries is calculated. Let those minimum values be the distances from the tile boundaries at the pixel. Note that the position of the tile boundary and the direction of the tile boundary are obtained from information included in the encoded data.
[0036]
As shown in FIG. 12, in this embodiment, a one-dimensional horizontal low-pass filter is used for pixels near the vertical tile boundary (FIG. 12A). A one-dimensional vertical low-pass filter is used for pixels near the horizontal tile boundary (FIG. 12B). A cross-shaped low-pass filter is used for pixels near the intersection of the tile boundaries (FIG. 12C). As in the first embodiment, this is only an example, and any filter may be used for the pixels near the vertical tile boundary as long as the filter removes the horizontal frequency component. Any filter that removes the vertical frequency component may be used for the pixels near the tile boundary in the direction, and the vertical frequency component and the horizontal frequency component may be used for the pixels near the intersection of the tile boundary. Any filter may be used as long as it removes both.
[0037]
In this embodiment, the low-pass filter of FIG. 12 is adaptively processed using the distance between pixels from the tile boundary. That is, in this example, the low-pass filter changes only the coefficient at the position of the pixel of interest (the coefficient m at the center of the filter). As the inter-pixel distance increases, the value of the coefficient m is gradually increased. In the example of FIG. 12, the center coefficient m is calculated as m = 4 + 64 * d. Here, d represents the distance between pixels. This means that as the distance between pixels from the tile boundary increases, the degree of smoothing of the low-pass filter applied decreases.
[0038]
In the present embodiment, a process of switching the low-pass filter strength of the tile boundary smoothing unit 6a is also performed according to the distance between pixels from the tile boundary and the edge amount of pixels near the tile boundary. FIG. 13 is a diagram illustrating low-pass filter control based on the distance between pixels from the tile boundary and the edge amount.
[0039]
The distance / edge amount calculation unit 7 calculates a pixel
(1) Distance between pixels from tile boundary (FIG. 13A)
(2) The edge amount is calculated by the edge amount calculation filter (FIG. 13B).
[0040]
In this embodiment, if the tile boundary is a neighboring pixel in the vertical direction, a horizontally long low-pass filter as shown in FIG. 13C is applied. If the tile boundary is a neighboring pixel in the horizontal direction, a vertically long low-pass filter as shown in FIG. If the pixel is located near the intersection of the tile boundary, a cross-shaped low-pass filter as shown in FIG. This is an example, and any filter may be used for the pixels near the vertical tile boundary as long as the filter removes the horizontal frequency component, and the pixels near the horizontal tile boundary may be vertical filters. Any filter may be used as long as it removes the frequency component in the direction, and any filter that removes both the vertical frequency component and the horizontal frequency component in the pixels near the intersection of the tile boundaries. Any filter may be used.
[0041]
Then, the low-pass filter strength of the tile boundary smoothing unit 6a is controlled according to the calculated distance between pixels and the amount of edge in the oblique direction. The reason why the edge amount in the oblique direction is calculated as the edge amount is that tile boundaries in the vertical and horizontal directions are not detected as edges.
[0042]
In the present embodiment, the median m of the low-pass filter is increased as the distance between pixels is larger and the absolute value of the edge amount is larger. In the example of the adaptive low-pass filter shown in FIGS. 13C to 13E, when the central coefficient value is m, the distance between pixels is d, and the edge amount is E,
If d = 0, abs (E)> = 255, then m = 4 + abs (E)
If abs (E) <255, m = 4
If d> 0, m = max (4 + 64 * d, 4 + abs (E))
Calculates the central coefficient value m.
[0043]
This means that the greater the distance d between pixels from the tile boundary and the greater the absolute value abs (E) of the edge amount of the pixel near the tile boundary, the smaller the degree of smoothing of the low-pass filter to be applied. . The reason why the control is performed independently only when d = 0 is that the tile boundary becomes conspicuous unless a low-pass filter with a high degree of smoothing is applied to the pixels closest to the tile boundary.
[0044]
In this embodiment, the JPEG2000 compression / expansion method has been described as an example. However, the compression / expansion method is not limited to this, and any compression / expansion method can be used as long as the compression code includes block boundary position information. A decompression method may be used.
[0045]
(Example 3)
The configuration of the extension unit according to the third embodiment is the same as that of the first embodiment. The processing from the tag processing unit 1 to the color space inverse conversion unit 5 is the same as in JPEG2000 described above.
[0046]
In this embodiment, the low-pass filter strength of the tile boundary smoothing unit 6 is made variable according to the compression ratio. In general, an image with a higher compression ratio has more noticeable tile boundary distortion. Therefore, when a strong low-pass filter is applied to an image with a low compression ratio, the low-pass filtered portion becomes blurred and conspicuous. Conversely, even if a weak low-pass filter is applied to an image having a high compression ratio, the effect of suppressing tile boundary distortion is difficult to obtain.
[0047]
Therefore, in this embodiment, as shown in FIG. 14, the strength of the low-pass filter is made variable according to the compression ratio. For example, when the compression ratio is relatively large, ie, 1/40, a low-pass filter having a high degree of smoothing as shown in FIG. For example, when the compression ratio is 1/20, which is relatively small, the configuration is such that a low-pass filter with weak smoothing as shown in FIG. 14B is used.
[0048]
Further, a threshold value of a distance between pixels from a tile boundary to be subjected to a low-pass filter can be controlled in accordance with the number of layers (decomposition level) of the wavelet transform. For example, data encoded using a three-layer wavelet transform affects eight pixels inside a tile boundary by mirroring. Therefore, a low-pass filter is applied to the eight pixels inside the tile boundary.
[0049]
In addition, for example, data encoded using a two-layer wavelet transform affects four pixels inside a tile boundary by mirroring. Therefore, a low-pass filter is applied to the four pixels inside the tile boundary.
[0050]
In other words, the data encoded using the n-th layer wavelet transform is configured to be low-pass filtered up to the 2 <n> pixels 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. The number of pixels to be subjected to the low-pass filter inside the tile boundary can be adjusted in consideration of cost, processing time, image quality, and the like.
[0051]
Further, the low-pass filter may be switched according to the wavelet transform method. For example, there are a wavelet transform using a 5 × 3 filter and a wavelet transform using a 9 × 7 filter, and low-pass filters having different frequency characteristics may be applied to images compressed and decompressed by the respective transform methods.
[0052]
In the above embodiment, the JPEG2000 compression / expansion method has been described as an example. However, the compression / expansion method is not limited to this, and any compression / expansion method may be used as long as the compression code includes block boundary position information. A decompression method may be used.
[0053]
(Example 4)
FIG. 15 shows a configuration of the extension unit according to the fourth embodiment of the present invention. A correction tile boundary limiting unit 8 is further added to the configuration of the first embodiment. The processing from the tag processing unit 1 to the color space inverse conversion unit 5 is the same as in JPEG2000 described above.
[0054]
In this embodiment, a low-pass filter is not applied to all the pixels near the tile boundary, but a tile boundary to be low-pass filtered is limited, and the low-pass filter is applied only to the pixels near the tile boundary. FIG. 16 and FIG. 17 show an example in which a low-pass filter is applied only to pixels near the tile boundary in the ROI area. The ROI area is a part viewed from the whole image when the image is cut out from the entire image and enlarged, or emphasized compared to other parts.
[0055]
FIG. 16 shows an example in which the ROI area is an area along a tile boundary. When the ROI area is set as shown in the figure, the tile boundary to be subjected to the low-pass filter is a dotted line on the right side of the figure.
[0056]
FIG. 17 shows an example in which the ROI area is an area not along the tile boundary. When the ROI area is set as shown in the figure, the tile boundary to be subjected to the low-pass filter is as shown by the dotted line on the right side of the figure. It is calculated by calculation whether a pixel near the tile boundary is inside the ROI, and if the pixel near the tile boundary is inside the ROI, a low-pass filter is applied to the pixel. If a pixel near the tile boundary is outside the ROI, the pixel is not subjected to a low-pass filter.
[0057]
Although the present invention can be implemented by hardware as described above, it goes without saying that the present invention can be implemented by software using a general-purpose computer system. When implemented by software, a program for causing a computer to function (operate) is recorded on a recording medium or the like as each unit (block division, compression / decompression, block boundary distortion correction, and the like) of the image processing apparatus of the present invention. The present invention is implemented when a program is read from the recording medium into the computer system and executed by the CPU.
[0058]
【The invention's effect】
As described above, according to the present invention, the following effects can be obtained.
(1) By switching the low-pass filter according to the direction of the block boundary, useless low-pass filter is not required as compared with the case where the direction of the block boundary is not considered, and the optimum and low block boundary distortion is eliminated. Automatically select costly filters.
(2) The strength of the low-pass filter is adaptively controlled in accordance with the direction of the block boundary, the distance from the block boundary, and the edge amount at the pixel of interest, so that the edge near the block boundary is strong while suppressing the block boundary distortion. In this case, it is possible to make image quality degradation less noticeable.
(3) By applying a low-pass filter having the optimum strength according to the compression ratio, tile boundary distortion can be suppressed at any compression ratio.
(4) By controlling the tile boundary pixels to be low-pass filtered, for example, a low-pass filter can be controlled only inside the ROI region, and the processing time for suppressing tile boundary distortion can be shortened.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining the basics of a JPEG2000 algorithm.
FIG. 2 shows an example of each component of a tiled color image.
FIG. 3 shows sub-bands at each decomposition level when the number of decomposition levels is three.
FIG. 4 shows a structure of a code stream.
FIG. 5 is a diagram illustrating the relationship between precincts and code blocks.
FIG. 6 shows a procedure for ranking wavelet coefficient values on bit planes.
FIG. 7 shows an example of pixel extension using a mirroring method.
FIG. 8 shows a configuration of an extension unit according to the first embodiment of the present invention.
FIG. 9 shows a specific example of a tile boundary smoothing unit.
FIG. 10 shows a configuration of an extension unit according to a second embodiment of the present invention.
FIG. 11 is a diagram illustrating a method of calculating a distance from a tile boundary.
FIG. 12 is a diagram illustrating low-pass filter control based on the distance between pixels.
FIG. 13 is a diagram illustrating low-pass filter control based on a distance from a tile boundary and an edge amount.
FIG. 14 is a diagram illustrating low-pass filter control according to a compression ratio.
FIG. 15 shows a configuration of an extension unit according to a fourth embodiment of the present invention.
FIG. 16 illustrates a first example of limiting a tile boundary to be subjected to a low-pass filter in a correction tile boundary limiting unit.
FIG. 17 shows a second example of limiting a tile boundary to be subjected to a low-pass filter by a correction tile boundary limiting unit.
[Explanation of symbols]
Reference Signs List 1 tag processing unit 2 entropy decoding unit 3 inverse quantization unit 4 two-dimensional wavelet inverse transformation unit 5 color space inverse transformation unit 6 tile boundary smoothing unit

Claims (11)

画像をブロックに分割し、ブロック毎に圧縮伸長する手段と、ブロック境界の歪みを補正する補正手段とを備えた画像処理装置であって、前記補正手段は、ブロック境界の方向に応じて、ブロック境界近傍に対するローパスフィルタの周波数特性を適応的に制御することを特徴とする画像処理装置。An image processing apparatus comprising: a unit that divides an image into blocks, and compresses and decompresses each block; and a correction unit that corrects a distortion of a block boundary. An image processing apparatus for adaptively controlling a frequency characteristic of a low-pass filter for a vicinity of a boundary. 前記補正手段は、前記ブロック境界の方向が縦方向のとき、横方向の周波数成分を除去するようにローパスフィルタの周波数特性を制御し、前記ブロック境界の方向が横方向のとき、縦方向の周波数成分を除去するようにローパスフィルタの周波数特性を制御することを特徴とする請求項1記載の画像処理装置。When the direction of the block boundary is the vertical direction, the correction means controls the frequency characteristic of the low-pass filter so as to remove the frequency component in the horizontal direction, and when the direction of the block boundary is the horizontal direction, the frequency in the vertical direction is controlled. 2. The image processing apparatus according to claim 1, wherein a frequency characteristic of the low-pass filter is controlled so as to remove a component. 前記補正手段は、前記ブロック境界が交差するとき、縦方向と横方向ともに周波数成分を除去するようにローパスフィルタの周波数特性を制御することを特徴とする請求項1記載の画像処理装置。2. The image processing apparatus according to claim 1, wherein the correction unit controls a frequency characteristic of a low-pass filter so as to remove frequency components in both a vertical direction and a horizontal direction when the block boundaries intersect. 前記ブロック境界からの画素間距離とブロック境界近傍画素におけるエッジ量を算出する手段を備え、前記補正手段は、前記ブロック境界の方向、前記画素間距離、前記エッジ量に応じてローパスフィルタの強度を制御することを特徴とする請求項1記載の画像処理装置。A means for calculating an inter-pixel distance from the block boundary and an edge amount in a pixel near the block boundary, wherein the correction means adjusts the strength of the low-pass filter according to the direction of the block boundary, the inter-pixel distance, and the edge amount. The image processing apparatus according to claim 1, wherein the control is performed. 前記補正手段は、前記エッジ量の絶対値が大きいほど、前記画素間距離が大きいほどローパスフィルタの平滑化度を弱くすることを特徴とする請求項4記載の画像処理装置。5. The image processing apparatus according to claim 4, wherein the correction unit weakens the degree of smoothing of the low-pass filter as the absolute value of the edge amount increases and as the distance between the pixels increases. 前記補正手段は、圧縮率に応じてローパスフィルタの強度を制御することを特徴とする請求項1〜3のいずれか一つに記載の画像処理装置。The image processing apparatus according to claim 1, wherein the correction unit controls the strength of the low-pass filter according to a compression ratio. 前記補正手段は、圧縮率が高いほどローパスフィルタの平滑化度を強くすることを特徴とする請求項6記載の画像処理装置。7. The image processing apparatus according to claim 6, wherein the correction unit increases the degree of smoothing of the low-pass filter as the compression ratio increases. 前記補正手段は、前記ブロック境界近傍の特定領域にローパスフィルタを施すことを特徴とする請求項1〜7のいずれか一つに記載の画像処理装置。The image processing apparatus according to claim 1, wherein the correction unit performs a low-pass filter on a specific area near the block boundary. 前記特定領域はROI領域であることを特徴とする請求項8記載の画像処理装置。The image processing apparatus according to claim 8, wherein the specific area is a ROI area. 請求項1〜8のいずれか1つに記載の画像処理装置の各手段として、コンピュータを機能させるためのプログラム。A program for causing a computer to function as each unit of the image processing apparatus according to claim 1. 請求項1〜8のいずれか1つに記載の画像処理装置の各手段として、コンピュータを機能させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体。A computer-readable storage medium storing a program for causing a computer to function as each unit of the image processing apparatus according to claim 1.
JP2002178984A 2001-12-28 2002-06-19 Image processor, program and recording medium Pending JP2004023666A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2002178984A JP2004023666A (en) 2002-06-19 2002-06-19 Image processor, program and recording medium
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
JP2002178984A JP2004023666A (en) 2002-06-19 2002-06-19 Image processor, program and recording medium

Publications (1)

Publication Number Publication Date
JP2004023666A true JP2004023666A (en) 2004-01-22

Family

ID=31176550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002178984A Pending JP2004023666A (en) 2001-12-28 2002-06-19 Image processor, program and recording medium

Country Status (1)

Country Link
JP (1) JP2004023666A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011523235A (en) * 2008-01-08 2011-08-04 クゥアルコム・インコーポレイテッド Video coding of filter coefficients based on horizontal symmetry and vertical symmetry

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011523235A (en) * 2008-01-08 2011-08-04 クゥアルコム・インコーポレイテッド Video coding of filter coefficients based on horizontal symmetry and vertical symmetry
US8638852B2 (en) 2008-01-08 2014-01-28 Qualcomm Incorporated Video coding of filter coefficients based on horizontal and vertical symmetry

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
JP4254017B2 (en) Image coding apparatus and method
JP2003046785A (en) Enhancement of image quality of compressed image
JPH09182069A (en) Image compression method and device
JP3952459B2 (en) Image processing apparatus, program, storage medium, and image processing method
JP2021175090A (en) Image encoding device, image decoding device and program for these
JP2004064190A (en) Image processing apparatus, method, program, and recording medium
JP2004046583A (en) Image processing apparatus, method, program, and recording medium
JP4726040B2 (en) Encoding processing device, decoding processing device, encoding processing method, decoding processing method, program, and information recording medium
JP4118049B2 (en) Image processing apparatus and method
JP2004023666A (en) Image processor, program and recording medium
JP4201163B2 (en) Image processing apparatus, method, program, and recording medium
JP2004023316A (en) Image processor
JP4111273B2 (en) Image decoding apparatus, program, storage medium, and image decoding method
JP4145086B2 (en) Image decoding apparatus, image processing apparatus, moving image display system, program, storage medium, and image decoding method
JP2004040670A (en) Image processing apparatus, method, program and recording medium
JP6611562B2 (en) Image processing apparatus, image processing method, and program
JP4266195B2 (en) Image processing apparatus, image processing method, program, and information recording medium
JP3934687B2 (en) Image data decoding method and apparatus
JP2021132302A (en) Image coding device, image decoding device, and program of them
JP2004056260A (en) Image decoder, image processor, program, recording 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
JP4124436B2 (en) Motion estimation device, program, storage medium, and motion estimation method
JP2004040252A (en) Image processing apparatus, program, and storage medium