Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4014085B2 - Image processing apparatus, program, and storage medium - Google Patents
[go: Go Back, main page]

JP4014085B2 - Image processing apparatus, program, and storage medium - Google Patents

Image processing apparatus, program, and storage medium Download PDF

Info

Publication number
JP4014085B2
JP4014085B2 JP2002216234A JP2002216234A JP4014085B2 JP 4014085 B2 JP4014085 B2 JP 4014085B2 JP 2002216234 A JP2002216234 A JP 2002216234A JP 2002216234 A JP2002216234 A JP 2002216234A JP 4014085 B2 JP4014085 B2 JP 4014085B2
Authority
JP
Japan
Prior art keywords
image
tile
skew correction
processing apparatus
image processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002216234A
Other languages
Japanese (ja)
Other versions
JP2004064180A (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 JP2002216234A priority Critical patent/JP4014085B2/en
Publication of JP2004064180A publication Critical patent/JP2004064180A/en
Application granted granted Critical
Publication of JP4014085B2 publication Critical patent/JP4014085B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理装置、プログラム及び記憶媒体に関する。
【0002】
【従来の技術】
画像入力技術およびその出力技術の進歩により、画像に対して高精細化の要求が、近年非常に高まっている。例えば、画像入力装置として、デジタルカメラ(Digital Camera)を例にあげると、300万以上の画素数を持つ高性能な電荷結合素子(CCD:Charge Coupled Device)の低価格化が進み、普及価格帯の製品においても広く用いられるようになってきた。そして、500万画素の製品も間近である。そして、この画素数の増加傾向は、なおしばらくは続くと言われている。
【0003】
一方、画像出力・表示装置に関しても、例えば、レーザプリンタ、インクジェットプリンタ、昇華型プリンタ等のハード・コピー分野における製品、そして、CRTやLCD(液晶表示デバイス)、PDP(プラズマ表示デバイス)等のフラットパネルディスプレイのソフト・コピー分野における製品の高精細化・低価格化は目を見張るものがある。
【0004】
こうした高性能・低価格な画像入出力製品の市場投入効果によって、高精細画像の大衆化が始まっており、今後はあらゆる場面で、高精細画像の需要が高まると予想されている。実際、パーソナルコンピュータ(Personal Computer)やインターネットをはじめとするネットワークに関連する技術の発達は、こうしたトレンドをますます加速させている。特に最近は、携帯電話やノートパソコン等のモバイル機器の普及速度が非常に大きく、高精細な画像を、あらゆる地点から通信手段を用いて伝送あるいは受信する機会が急増している。
【0005】
これらを背景に、高精細画像の取扱いを容易にする画像圧縮伸長技術に対する高性能化あるいは多機能化の要求は、今後ますます強くなっていくことは必至と思われる。
【0006】
そこで、近年においては、こうした要求を満たす画像圧縮方式の一つとして、高圧縮率でも高画質な画像を復元可能なJPEG2000という新しい方式が規格化されつつある。かかるJPEG2000においては、画像を矩形領域(タイル)に分割することにより、少ないメモリ環境下で圧縮伸張処理を行うことが可能である。すなわち、個々のタイルが圧縮伸長プロセスを実行する際の基本単位となり、圧縮伸長動作はタイル毎に独立に行うことができる。
【0007】
【発明が解決しようとする課題】
ところで、従来においては、符号化された画像の補正については、一旦全体の符号化データを伸長した画像に対し、スキュー補正、色補正などの画像補正処理を施し、再度全体の圧縮を行い符号化データにする、という方法が用いられている。
【0008】
しかしながら、この方法では画像の全体をメモリに展開するため、特に実装メモリ量が少ない装置やシステムにおいてはメモリ不足となり、各種の制約を受けることがある。
【0009】
本発明の目的は、特に符号化された画像のスキュー補正に際し、実装メモリ量が少ない装置やシステムであってもメモリ不足を回避することができる画像処理装置、プログラム及び記憶媒体を提供することである。
【0010】
【課題を解決するための手段】
請求項1記載の発明の画像処理装置は、画像を複数に分割したタイル毎に画素値を離散ウェーブレット変換、量子化及び符号化という手順で圧縮して圧縮符号データを生成する手段と、圧縮符号データを前記手順の逆の手順で伸長して画像を生成する手段とを有する画像処理装置において、圧縮符号データを伸長し、該伸長された画像に対して画像の傾きを補正するスキュー補正処理を施し、該スキュー補正処理された画像を再圧縮する一連の処理を、タイル単位で実行することを特徴とする。
【0011】
したがって、画像の傾きを補正するスキュー補正を圧縮された画像データに基づいて実行する場合に、伸長した画像に対するスキュー補正処理がタイル単位で実行される。これにより、タイル単位で画像をメモリに展開すれば良いことから、実装メモリ量が少ない装置やシステムであってもメモリ不足を回避することが可能になり、各種の制約を受けることがなくなる。
【0012】
請求項2記載の発明は、請求項1記載の画像処理装置において、前記スキュー補正処理は、一のタイルを伸長した画像に基づいてスキュー補正角を検出するスキュー補正角検出手段と、このスキュー補正角検出手段により検出されたスキュー補正角に従って各タイルを順次回転させる画像回転手段と、によって実行されることを特徴とする。
【0013】
したがって、一のタイルを伸長した画像に基づいて検出されたスキュー補正角に従って各タイルが順次回転される。これにより、迅速、かつ、確実に画像の傾きを補正することが可能になる。
【0014】
請求項3記載の発明は、請求項2記載の画像処理装置において、前記スキュー補正角検出手段は、低解像度画像に基づいてスキュー補正角を検出することを特徴とする。
【0015】
したがって、スキュー補正角検出時間の短縮及び使用メモリの減少を実現することが可能になる。
【0016】
請求項4記載の発明は、請求項2または3記載の画像処理装置において、前記スキュー補正角検出手段は、画像が有する色空間の何れか一つの色空間を利用してスキュー補正角を検出することを特徴とする。
【0017】
したがって、スキュー補正角検出時間の短縮及び使用メモリの減少を実現することが可能になる。
【0018】
請求項5記載の発明は、請求項2または3記載の画像処理装置において、前記スキュー補正角検出手段は、上位ビットプレーンのみを利用してスキュー補正角を検出することを特徴とする。
【0019】
したがって、スキュー補正角検出時間の短縮及び使用メモリの減少を実現することが可能になる。
【0020】
請求項6記載の発明は、請求項3ないし5のいずれか一記載の画像処理装置において、前記スキュー補正処理について画質を優先させる画質優先モードと処理速度を優先させる速度優先モードとを選択可能とするモード選択手段と、前記スキュー補正処理について、前記モード選択手段による選択に従って画質優先モードと速度優先モードとを切り替えるモード切替手段と、を備えることを特徴とする。
【0021】
したがって、モード選択手段による選択に従って画質優先モードと速度優先モードとが切り替えられ、スキュー補正処理が実行される。これにより、速度優先モードが指定された場合は、解像度を低くし、または、特定の色空間あるいは一部のビットプレーンを使用するようにすれば良い。また、画質優先モードが指定された場合は、解像度を高くし、または、全ての色空間あるいは全てのビットプレーンを表示するようにすれば良い。
【0022】
請求項7記載の発明は、請求項2ないし6のいずれか一記載の画像処理装置において、前記スキュー補正角検出手段は、画像に予め設定されているタイミングマークに基づいてスキュー補正角を検出することを特徴とする。
【0023】
したがって、高精度、かつ、高速にスキュー補正角を検出することが可能になる。
【0024】
請求項8記載の発明は、請求項7記載の画像処理装置において、タイミングマークが含まれている可能性が高いタイルのみを伸長することを特徴とする。
【0025】
したがって、処理の高速化、省メモリ化を図ることが可能になる。
【0026】
請求項9記載の発明は、請求項7記載の画像処理装置において、ROI(Region Of Interest)領域が指定されている場合には、このROI領域内のタイミングマークが含まれている可能性が高いタイルのみを伸長することを特徴とする。
【0027】
したがって、更に処理の高速化、省メモリ化を図ることが可能になる。
【0028】
請求項10記載の発明は、請求項2ないし6のいずれか一記載の画像処理装置において、前記スキュー補正角検出手段は、グリッドを表示し、当該グリッドに応じて回転させられた画像に基づいてスキュー補正角を検出することを特徴とする。
【0029】
したがって、ユーザはスキュー補正角を視覚的に確認することが可能になり、かつ、スキュー補正角が簡易な方法で検出される。
【0030】
請求項11記載の発明は、請求項2記載の画像処理装置において、前記画像回転手段は、各タイルで回転により発生する無効領域に対し、白画素を補完することを特徴とする。
【0031】
したがって、各タイルで回転により発生する無効領域に対して簡易な手法で画素を補完することが可能になる。ここで、各タイルで回転により発生する無効領域とは、各タイルで回転に伴って発生し、捨てられてしまう領域である。
【0032】
請求項12記載の発明は、請求項11記載の画像処理装置において、白画素を補完した領域に対してローパスフィルタ処理を施すことを特徴とする。
【0033】
したがって、白画素を補完した領域を目立たなくすることが可能になる。
【0034】
請求項13記載の発明は、請求項2記載の画像処理装置において、前記画像回転手段は、所望のタイルと当該タイルの一角で隣接する3個の周辺タイルとによりタイル群を形成し、このタイル群の一の角を起点としてタイル群をスキュー補正角だけ回転させることを特徴とする。
【0035】
したがって、回転により生じる無効領域を補完することが可能になる。
【0036】
請求項14記載の発明は、請求項2記載の画像処理装置において、前記画像回転手段は、所望のタイルと当該タイルの右、左、上、下に隣接する4個の周辺タイルとによりタイル群を形成し、所望のタイルの中央を起点としてタイル群をスキュー補正角だけ回転させることを特徴とする。
【0037】
したがって、回転により生じる無効領域を補完することが可能になる。
【0038】
請求項15記載の発明は、請求項2記載の画像処理装置において、前記画像回転手段は、全てのタイルについてのスキュー補正角に応じた回転の起点を画像の一ヶ所に設定する。
【0039】
したがって、回転誤差を解消することが可能になる。
【0040】
請求項16記載の発明は、請求項1ないし15のいずれか一記載の画像処理装置において、画像を所定のフレームレートで連続して表示する動画像については、最初のフレームにおけるタイル単位で伸長された画像に基づいてスキュー補正処理に係る補正条件を求め、他のフレームについては当該補正条件を適用することを特徴とする。
【0041】
したがって、補正条件の検出時間を短縮することが可能になる。
【0042】
請求項17記載の発明のプログラムは、画像を複数に分割したタイル毎に画素値を離散ウェーブレット変換、量子化及び符号化という手順で圧縮して圧縮符号データを生成する機能と、圧縮符号データを前記手順の逆の手順で伸長して画像を生成する機能とをコンピュータに実行させるプログラムであって、前記コンピュータに、圧縮符号データを伸長し、該伸長された画像に対して画像の傾きを補正するスキュー補正処理を施し、該スキュー補正処理された画像を再圧縮する一連の処理を、タイル単位で実行させることを特徴とする。
【0043】
したがって、画像の傾きを補正するスキュー補正を圧縮された画像データに基づいて実行する場合、伸長した画像に対するスキュー補正処理がタイル単位で実行される。これにより、タイル単位で画像をメモリに展開すれば良いことから、実装メモリ量が少ない装置やシステムであってもメモリ不足を回避することが可能になり、各種の制約を受けることがなくなる。
【0044】
請求項18記載の発明の記憶媒体は、請求項17記載のプログラムを記憶していることを特徴とする。
【0045】
したがって、この記憶媒体に記憶されたプログラムをコンピュータに読み取らせることにより、請求項17記載の発明と同様の作用を得ることが可能になる。
【0046】
【発明の実施の形態】
最初に、本発明の実施の形態の前提となる「階層符号化アルゴリズム」及び「JPEG2000アルゴリズム」の概要について説明する。
【0047】
図1は、JPEG2000方式の基本となる階層符号化アルゴリズムを実現するシステムの機能ブロック図である。このシステムは、色空間変換・逆変換部101、2次元ウェーブレット変換・逆変換部102、量子化・逆量子化部103、エントロピー符号化・復号化部104、タグ処理部105の各機能ブロックにより構成されている。
【0048】
このシステムが従来のJPEGアルゴリズムと比較して最も大きく異なる点の一つは変換方式である。JPEGでは離散コサイン変換(DCT:Discrete Cosine Transform)を用いているのに対し、この階層符号化アルゴリズムでは、2次ウェーブレット変換・逆変換部102において、離散ウェーブレット変換(DWT:Discrete Wavelet Transform)を用いている。DWTはDCTに比べて、高圧縮領域における画質が良いという長所を有し、この点が、JPEGの後継アルゴリズムであるJPEG2000でDWTが採用された大きな理由の一つとなっている。
【0049】
また、他の大きな相違点は、この階層符号化アルゴリズムでは、システムの最終段に符号形成を行うために、タグ処理部105の機能ブロックが追加されていることである。このタグ処理部105で、画像の圧縮動作時には圧縮データが符号列データとして生成され、伸長動作時には伸長に必要な符号列データの解釈が行われる。そして、符号列データによって、JPEG2000は様々な便利な機能を実現できるようになった。例えば、ブロック・ベースでのDWTにおけるオクターブ分割に対応した任意の階層(デコンポジション・レベル)で、静止画像の圧縮伸長動作を自由に停止させることができるようになる(後述する図3参照)。また、一つのファイルから低解像度画像(縮小画像)を取り出したり、画像の一部(タイリング画像)を取り出すことができるようになる。
【0050】
原画像の入出力部分には、色空間変換・逆変換101が接続される場合が多い。例えば、原色系のR(赤)/G(緑)/B(青)の各コンポーネントからなるRGB表色系や、補色系のY(黄)/M(マゼンタ)/C(シアン)の各コンポーネントからなるYMC表色系から、YUVあるいはYCbCr表色系への変換又は逆変換を行う部分がこれに相当する。
【0051】
次に、JPEG2000アルゴリズムについて説明する。
【0052】
カラー画像は、一般に、図2に示すように、原画像の各コンポーネント111(ここではRGB原色系)が、矩形をした領域によって分割される。この分割された矩形領域は、一般にブロックあるいはタイルと呼ばれているものであるが、JPEG2000では、タイルと呼ぶことが一般的であるため、以下、このような分割された矩形領域をタイルと記述することにする(図2の例では、各コンポーネント111が縦横4×4、合計16個の矩形のタイル112に分割されている)。このような個々のタイル112(図2の例で、R00,R01,…,R15/G00,G01,…,G15/B00,B01,…,B15)が、画像データの圧縮伸長プロセスを実行する際の基本単位となる。従って、画像データの圧縮伸長動作は、コンポーネントごと、また、タイル112ごとに、独立に行われる。
【0053】
画像データの符号化時には、各コンポーネント111の各タイル112のデータが、図1の色空間変換・逆変換部101に入力され、色空間変換を施された後、2次元ウェーブレット変換・逆変換部102で2次元ウェーブレット変換(順変換)が施されて、周波数帯に空間分割される。
【0054】
図3には、デコンポジション・レベル数が3の場合の、各デコンポジション・レベルにおけるサブバンドを示している。すなわち、原画像のタイル分割によって得られたタイル原画像(0LL)(デコンポジション・レベル0)に対して、2次元ウェーブレット変換を施し、デコンポジション・レベル1に示すサブバンド(1LL,1HL,1LH,1HH)を分離する。そして引き続き、この階層における低周波成分1LLに対して、2次元ウェーブレット変換を施し、デコンポジション・レベル2に示すサブバンド(2LL,2HL,2LH,2HH)を分離する。順次同様に、低周波成分2LLに対しても、2次元ウェーブレット変換を施し、デコンポジション・レベル3に示すサブバンド(3LL,3HL,3LH,3HH)を分離する。図3では、各デコンポジション・レベルにおいて符号化の対象となるサブバンドを、網掛けで表してある。例えば、デコンポジション・レベル数を3としたとき、網掛けで示したサブバンド(3HL,3LH,3HH,2HL,2LH,2HH,1HL,1LH,1HH)が符号化対象となり、3LLサブバンドは符号化されない。
【0055】
次いで、指定した符号化の順番で符号化の対象となるビットが定められ、図1に示す量子化・逆量子化部103で対象ビット周辺のビットからコンテキストが生成される。
【0056】
この量子化の処理が終わったウェーブレット係数は、個々のサブバンド毎に、「プレシンクト」と呼ばれる重複しない矩形に分割される。これは、インプリメンテーションでメモリを効率的に使うために導入されたものである。図4に示したように、一つのプレシンクトは、空間的に一致した3つの矩形領域からなっている。更に、個々のプレシンクトは、重複しない矩形の「コード・ブロック」に分けられる。これは、エントロピー・コーディングを行う際の基本単位となる。
【0057】
ウェーブレット変換後の係数値は、そのまま量子化し符号化することも可能であるが、JPEG2000では符号化効率を上げるために、係数値を「ビットプレーン」単位に分解し、画素あるいはコード・ブロック毎に「ビットプレーン」に順位付けを行うことができる。
【0058】
ここで、図5はビットプレーンに順位付けする手順の一例を示す説明図である。図5に示すように、この例は、原画像(32×32画素)を16×16画素のタイル4つで分割した場合で、デコンポジション・レベル1のプレシンクトとコード・ブロックの大きさは、各々8×8画素と4×4画素としている。プレシンクトとコード・ブロックの番号は、ラスター順に付けられており、この例では、プレンシクトが番号0から3まで、コード・ブロックが番号0から3まで割り当てられている。タイル境界外に対する画素拡張にはミラーリング法を使い、可逆(5,3)フィルタでウェーブレット変換を行い、デコンポジション・レベル1のウェーブレット係数値を求めている。
【0059】
また、タイル0/プレシンクト3/コード・ブロック3について、代表的な「レイヤ」構成の概念の一例を示す説明図も図5に併せて示す。変換後のコード・ブロックは、サブバンド(1LL,1HL,1LH,1HH)に分割され、各サブバンドにはウェーブレット係数値が割り当てられている。
【0060】
レイヤの構造は、ウェーブレット係数値を横方向(ビットプレーン方向)から見ると理解し易い。1つのレイヤは任意の数のビットプレーンから構成される。この例では、レイヤ0,1,2,3は、各々、1,3,1,3のビットプレーンから成っている。そして、LSB(Least Significant Bit:最下位ビット)に近いビットプレーンを含むレイヤ程、先に量子化の対象となり、逆に、MSB(Most Significant Bit:最上位ビット)に近いレイヤは最後まで量子化されずに残ることになる。LSBに近いレイヤから破棄する方法はトランケーションと呼ばれ、量子化率を細かく制御することが可能である。
【0061】
図1に示すエントロピー符号化・復号化部104では、コンテキストと対象ビットから確率推定によって、各コンポーネント111のタイル112に対する符号化を行う。こうして、原画像の全てのコンポーネント111について、タイル112単位で符号化処理が行われる。最後にタグ処理部105は、エントロピー符号化・復号化部104からの全符号化データを1本の符号列データに結合するとともに、それにタグを付加する処理を行う。
【0062】
図6には、この符号列データの概略構成を示している。この符号列データの先頭と各タイルの符号データ(bit stream)の先頭にはヘッダ(メインヘッダ(Main header)、タイル境界位置情報等であるタイルパートヘッダ(tile part header))と呼ばれるタグ情報が付加され、その後に、各タイルの符号化データが続く。なお、メインヘッダ(Main header)には、符号化パラメータや量子化パラメータが記述されている。そして、符号列データの終端には、再びタグ(end of codestream)が置かれる。
【0063】
一方、符号化データの復号化時には、画像データの符号化時とは逆に、各コンポーネント111の各タイル112の符号列データから画像データを生成する。この場合、タグ処理部105は、外部より入力した符号列データに付加されたタグ情報を解釈し、符号列データを各コンポーネント111の各タイル112の符号列データに分解し、その各コンポーネント111の各タイル112の符号列データ毎に復号化処理(伸長処理)を行う。このとき、符号列データ内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、量子化・逆量子化部103で、その対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストが生成される。エントロピー符号化・復号化部104で、このコンテキストと符号列データから確率推定によって復号化を行い、対象ビットを生成し、それを対象ビットの位置に書き込む。このようにして復号化されたデータは周波数帯域毎に空間分割されているため、これを2次元ウェーブレット変換・逆変換部102で2次元ウェーブレット逆変換を行うことにより、画像データの各コンポーネントの各タイルが復元される。復元されたデータは色空間変換・逆変換部101によって元の表色系の画像データに変換される。
【0064】
以上が、「JPEG2000アルゴリズム」の概要である。
【0065】
以下、本発明の第一の実施の形態について説明する。
【0066】
図7は、本発明が適用される画像処理装置1を含むシステムを示すシステム構成図である。図7に示すように、本発明が適用される画像処理装置1は、例えばパーソナルコンピュータであり、インターネットであるネットワーク5を介して各種画像データを記憶保持するサーバコンピュータSに接続可能とされている。
【0067】
本実施の形態においては、サーバコンピュータSに記憶保持されている画像データは、「JPEG2000アルゴリズム」に従って生成された圧縮符号である。より具体的には、圧縮符号は、図8に示すような矩形領域(タイル)に分割された分割画像を圧縮符号化して一次元に並べることにより、図9に示すような構成になる。図9において、SOCは、コードストリームの開始を示すマーカセグメントである。また、MHは、メインヘッダであり、コードストリーム全体に共通する値を格納している。コードストリーム全体に共通する値としては、例えばタイル横量、タイル縦量、画像横量、画像縦量などが記録されている。MHに続くデータは、各タイルを符号化したデータであり、図9では図8に示すタイルの番号に従って主走査方向/副走査方向に各タイルを圧縮したデータが並べられている。圧縮符号の最後にあるEOCマーカは、圧縮符号の最後であることを示すマーカセグメントである。
【0068】
また、図10は「JPEG2000アルゴリズム」に従って生成された圧縮符号の解像度モデルを示す説明図である。図10に示すように、「JPEG2000アルゴリズム」に従って生成された圧縮符号においては、一つの画像ファイル内で低解像度データと高解像度データとが分かれた状態になっている。なお、図10では2種類の解像度だけを示しているが、実際には、全てのデータを1とすると、DWTにおけるオクターブ分割に対応した任意の階層(デコンポジション・レベル)に応じて、1/2,1/4,1/8,1/16と複数の低解像度画像に係る圧縮符号を抽出することが可能である。
【0069】
図11は、画像処理装置1のハードウェア構成を概略的に示すブロック図である。図11に示すように、画像処理装置1は、情報処理を行うCPU(Central Processing Unit)6、情報を格納するROM(Read Only Memory)7及びRAM(Random Access Memory)8等の一次記憶装置、ネットワーク5を介してサーバコンピュータSからダウンロードした圧縮符号(図9参照)を記憶する記憶部であるHDD(Hard Disk Drive)10、情報を保管したり外部に情報を配布したり外部から情報を入手するためのCD−ROMドライブ12、ネットワーク5を介して外部の他のコンピュータと通信により情報を伝達するための通信制御装置13、処理経過や結果等を操作者に表示するCRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)等の表示装置15、並びに操作者がCPU6に命令や情報等を入力するためのキーボードやマウス等の入力装置14等から構成されており、これらの各部間で送受信されるデータをバスコントローラ9が調停して動作する。
【0070】
RAM8は、各種データを書換え可能に記憶する性質を有していることから、CPU6の作業エリアとして機能し、例えば後述する画像補正処理におけるバッファメモリ等の役割を果たす。
【0071】
このような画像処理装置1では、ユーザが電源を投入するとCPU6がROM7内のローダーというプログラムを起動させ、HDD10よりオペレーティングシステムというコンピュータのハードウェアとソフトウェアとを管理するプログラムをRAM8に読み込み、このオペレーティングシステムを起動させる。このようなオペレーティングシステムは、ユーザの操作に応じてプログラムを起動したり、情報を読み込んだり、保存を行ったりする。オペレーティングシステムのうち代表的なものとしては、Windows(登録商標)、UNIX(登録商標)等が知られている。これらのオペレーティングシステム上で走る動作プログラムをアプリケーションプログラムと呼んでいる。
【0072】
ここで、画像処理装置1は、アプリケーションプログラムとして、画像処理プログラムをHDD10に記憶している。この意味で、HDD10は、画像処理プログラムを記憶する記憶媒体として機能する。
【0073】
また、一般的には、画像処理装置1のHDD10にインストールされる動作プログラムは、CD−ROM11やDVD−ROM等の光情報記録メディアやFD等の磁気メディア等に記録され、この記録された動作プログラムがHDD10にインストールされる。このため、CD−ROM11等の光情報記録メディアやFD等の磁気メディア等の可搬性を有する記憶媒体も、画像処理プログラムを記憶する記憶媒体となり得る。さらには、画像処理プログラムは、例えば通信制御装置13を介して外部から取り込まれ、HDD10にインストールされても良い。
【0074】
画像処理装置1は、オペレーティングシステム上で動作する画像処理プログラムが起動すると、この画像処理プログラムに従い、CPU6が各種の演算処理を実行して各部を集中的に制御する。画像処理装置1のCPU6が実行する各種の演算処理のうち、本実施の形態の特長的な処理について以下に説明する。
【0075】
図12は、画像処理プログラムに従いCPU6によって実行される画像補正処理の流れを示すフローチャートである。ここでは、画像補正処理として、画像入力の際に傾いた(スキューした)画像を補正するためのスキュー補正処理を主体に説明する。
【0076】
本実施の形態の画像補正処理においては、図12に示すように、まず、低解像度画像に係る圧縮符号を復号化して低解像度画像を取得した後(ステップS1)、この低解像度画像に対して二値化処理を実行する(ステップS2)。前述したように、「JPEG2000アルゴリズム」に従って生成された圧縮符号に基づいて低解像度画像のみを取り出すことができることから、本実施の形態においては、メモリ領域が不足するのを解消すべく、低解像度画像に対して二値化処理を実行するようにしたものである。なお、カラー多値画像の場合における二値化処理は、例えばRGB成分やYCbCr成分の何れか一つの成分に着目し(例えばG成分)、G成分の所定の濃度閾値よりも大きいものを黒画素とし、G成分の所定の濃度閾値よりも小さいものを白画素とすれば良い。また、RGBを色変換して輝度成分と色差成分とに分け、輝度成分で閾値処理を行うようにしても良い。このように、スキュー補正角の検出に画像ファイルの持つ色空間のうち、一つを利用することにより、スキュー補正角検出時間の短縮とRAM8における使用メモリを減少させることが可能になる。
【0077】
なお、圧縮符号の「JPEG2000アルゴリズム」に従った伸長処理(復号化処理)については、図1で示した空間変換・逆変換部101、2次元ウェーブレット変換・逆変換部102、量子化・逆量子化部103、エントロピー符号化・復号化部104、タグ処理部105の説明において説明したので、ここでの説明は省略する(以降においても同様)。このように、「JPEG2000アルゴリズム」に従って符号化・復号化された画像に基づいて後述するスキュー補正角を検出することにより、「JPEG2000アルゴリズム」に従って符号化・復号化された画像の欠損は非常に少ないことから(例えば、罫線、表線の途切れがなくなる)、スキュー角検出の精度を高めることが可能になる。
【0078】
続くステップS3では、二値化処理が実行された低解像度画像に基づいてスキュー補正角を検出する。
【0079】
ここで、スキュー補正角の検出処理について詳細に説明する。スキュー補正角の検出処理は、例えば、図13に示すようなタイミングマークの検出に基づいて行われる。タイミングマークは、画像が傾いたり(スキューしたり)、画像がずれたり、伸縮したりするのを補正するために使用される基準点である。より具体的には、一原稿にタイミングマークが3点(左上、右上、左下または右下)設けられている。左上と右上の2点のタイミングマークは、入力された画像がどの程度傾いているのか(スキューしているのか)、X方向にどの程度ずれ、伸縮しているのかを検出することができ、残るもう1点のタイミングマークを利用することによって、Y方向にどの程度ずれ、伸縮しているのかを検出することができる。すなわち、ここでは、このようなタイミングマークが印刷されている原稿を読み取った画像についてのスキュー補正角の検出処理を説明するものである。
【0080】
図14は、タイミングマーク検出処理の流れを示すフローチャートである。まず、二値化処理が実行された低解像度画像について、予め設定されているタイミングマークの位置(つまり、スキューなどがないタイミングマークの位置)を基に、タイミングマークの検索範囲を求める(ステップS101)。検索範囲は、スキュー、ずれ等をどの程度許容するかによって決まる。すなわち、図15に示すように、予め設定されたタイミングマークの位置に許容量(±α)を加減算した座標値が、タイミングマークの検索範囲になり、この検索範囲にタイミングマークが含まれるように範囲を決めればよい。また、この範囲は自
動的かつ動的に決めてもよいし、またユーザが画像を入力する度に範囲を指定するようにしてもよい。したがって、「JPEG2000アルゴリズム」に従って生成された圧縮符号に基づいて画像の一部(タイリング画像)を取り出すことができることから、タイミングマークが含まれている可能性が高いタイルのみ(例えば、スキューが生じていない場合にタイミングマークを有するタイルが存在する位置にあるタイル及びその周辺のタイルのみ)を復号化するようにすれば、処理の高速化、省メモリ化を図ることが可能になる。
【0081】
また、ROI(Region Of Interest)領域が指定されている場合には、このROI領域内のタイミングマークが含まれている可能性が高いタイルのみ(例えば、スキューが生じていない場合にタイミングマークを有するタイルが存在する位置にあるタイル及びその周辺のタイルのみ)を復号化するようにすれば、更に処理の高速化、省メモリ化を図ることが可能になる。なお、ROI領域とは、画像全体から切り出して拡大したり、他の部分に比べて強調したりする場合の、画像全体から見たある一部分である。
【0082】
タイミングマークの検索範囲が決定されると(ステップS101)、次に、タイミングマークの検索範囲内で矩形(外接矩形)を抽出する(ステップS102)。この矩形抽出方法としては、黒画素の連結成分を抽出する周知の方法を用いる。矩形の抽出処理によって、通常、複数の矩形が抽出される。すなわち、タイミングマークの検出範囲には、検出すべきタイミングマークだけではなく、文字矩形やノイズ矩形等が含まれる可能性があり、複数の矩形とは、これらの矩形をいう。
【0083】
ただし、図15に示すように、検索範囲に接する矩形は、ノイズとして削除(無視)する。また、矩形抽出処理が終了した時点で、矩形が抽出されなかったときは(ステップS103のN)、タイミングマークの検出が不可能となる(ステップS109)。
【0084】
次いで、複数の矩形が抽出されると(ステップS103のY)、各矩形から特徴量を抽出する特徴抽出処理を行う(ステップS104)。各矩形の特徴量を求めた後、予め設定されているタイミングマークの特徴量と、各矩形の特徴量との距離を算出し、タイミングマークの候補を求める(ステップS105、S106)。ここで、距離とは、例えば特徴量の差分をとる相違度であり、距離が小さいほど相違度が小さく、タイミングマークの候補順位が上位になる。
【0085】
このようにして距離演算を行い、タイミングマークの候補順位として、第1候補から第n侯補まで決まると(ステップS106のY)、算出された第1侯補の距離が、予め設定されている閾値を満足するか否かを判定し、閾値以下のとき(ステップS107のY)、第1侯補をタイミングマークとして出力する(ステップS108)。このように閾値との比較処理を行うことによって、文字等の部分をタイミングマークとして誤って抽出することが防止される。つまり、距離演算された第1侯補をそのままタイミングマークとして出力した場合には、タイミングマークがない画像を処理したときに、文字等の部分を誤ってタイミングマークとして抽出することになる。したがって、タイミングマークの検出は、タイミングマークがあるときには精度よく検出し、タイミングマークがないときは(ステップS107のN)、「ない(検出不可能)」と結果を出力する(ステップS109)。
【0086】
タイミングマーク検出処理が終了すると、検出されたタイミングマークに従ってスキュー補正角が検出される。スキュー補正角の検出については、既知の手法がいろいろあるが、例えば、事前に設定されたタイミングマークの座標値と検出されたタイミングマークの座標値との差からスキュー補正角を検出する手法がある。
【0087】
したがって、ステップS1〜S3において、スキュー補正角検出手段の機能が実行される。
【0088】
以上のようにしてスキュー補正角が検出されると、タイル(図9に示す各タイルの符号化データ)を順次取り出してRAM8において伸長し、検出したスキュー補正角に従って回転処理を実行した後、圧縮処理を行って図9に示す符号列データに書き戻すことにより、画像全体のスキュー補正を行う(ステップS4〜S7:画像回転手段)。
【0089】
スキュー補正角に従った回転処理について説明する。図16(a)はタイルの左上を起点として回転させた状態を示し、図16(b)はタイルの中央を起点として回転させた状態を示すものである。図16(a)に示すように、タイルの左上を起点としてスキュー補正角だけ回転させた場合には、回転により補正される領域(有効領域)とともに、各タイルで回転により捨てられる領域(無効領域)が発生する。そして、このような無効領域には白画素が補完される。一方、図16(b)に示すように、タイルの中央を起点としてスキュー補正角だけ回転させた場合にも、同様に、回転により補正される領域(有効領域)とともに、各タイルで回転により捨てられる領域(無効領域)が発生する。そして、このような無効領域には白画素が補完される。したがって、各タイルで回転により発生する無効領域に対して簡易な手法で画素を補完することが可能になる。
【0090】
しかしながら、上述したように、タイルを一つ一つ回転させると少ないメモリ量でもスキュー補正処理を実行することができるというメリットがあるが、それぞれのタイルで無効領域が生じ、画像が歯抜け状態(隙間が生じた状態)になるという問題がある。
【0091】
そこで、このように画像が歯抜け状態(隙間が生じた状態)になってしまった場合には、この隙間にローパスフィルタ処理を施すことにより、隙間を目立たなくすることが可能である。ローパスフィルタ処理については周知であるので、その説明は省略する。なお、タイルの伸長処理(ステップS5)の際に、タイルの境界が不連続となるという問題を解決すべく、タイル境界の近傍のみにローパスフィルタ処理を施すことによりタイル境界を目立たなくしている場合には、隙間にローパスフィルタ処理を施す必要はない。
【0092】
また、図17(a)に示すように、所望のタイルと当該タイルの一角で隣接する3個の周辺タイルとによりタイル群を形成し、このタイル群の一の角を起点としてタイル群をスキュー補正角だけ回転させることで、回転により生じる無効領域を補完するようにしても良い。ここで、目的のタイルと一緒に回転させる3個の周辺タイルは、タイル群の左上が起点で左回転(時計周り)の場合には、目的のタイルの左、左下、下に位置するタイルである。また、タイル群の左上が起点で右回転(反時計周り)の場合には、目的のタイルの右、右上、上に位置するタイルである。一方、図17(b)に示すように、所望のタイルと当該タイルの右、左、上、下に隣接する4個の周辺タイルとによりタイル群を形成し、目的のタイルの中央を起点としてタイル群をスキュー補正角だけ回転させることで、回転により生じる無効領域を補完するようにしても良い。
【0093】
さらに、スキュー補正角に従った回転処理の変形例について説明する。図18は画像の一ヶ所を起点としてタイルを回転させた状態を示すものである。図18に示すように、全てのタイルについてのスキュー補正角に応じた回転の起点を画像の一ヶ所に設定し、このスキュー補正角に従って全てのタイルを回転させた場合には、タイルが回転の中心から離れるほど移動距離が大きくなるが回転誤差を解消することができる。より詳細には、図19の▲1▼〜▲2▼に示すように、回転対象のタイルを周辺タイルとともに伸長して回転させる(図17(a)や図17(b)参照)。また、図19の▲3▼に示すように、元画像とは別に原稿1枚分のワークメモリをRAM8に確保する。そして、図19の▲4▼に示すように、回転した結果をRAM8のワークメモリにコピーする。このとき、コピーする位置は、回転の中心(左上)からの距離に基づいて決定される。すなわち、コピーする位置は、回転の中心(左上)からの距離により異なることになる。これにより、各タイルの回転誤差を解消することができる。
【0094】
なお、JPEG2000のようにビットプレーンごとのデータ取得が可能なフォーマットにおいては、本実施の形態のようにスキュー補正のために全てのビットプレーンを使わずに、上位プレーンのみを取り出したビットプレーンが少ない画像を用いてスキュー補正角を検出するようにしても良い。これにより、更なるスキュー補正角検出時間の短縮及びRAM8における使用メモリの減少を実現することが可能になる。
【0095】
また、図20に示すような補正モード指定ダイアログXを表示装置15に表示し、ユーザに速度優先か画質優先かを指定させるようにしても良い(モード選択手段)。この場合、速度優先モードが指定された場合は、解像度を低くし、または、特定の色空間あるいは一部のビットプレーンを使用するようにすれば良い(モード切替手段)。また、画質優先モードが指定された場合は、解像度を高くし、または、全ての色空間あるいは全てのビットプレーンを表示するようにすれば良い(モード切替手段)。
【0096】
ここに、画像の傾きを補正するスキュー補正を圧縮された画像データに基づいて実行する場合には、伸長した画像に対するスキュー補正処理をタイル単位で実行する。これにより、タイル単位で画像をメモリ(RAM8)に展開すれば良いことから、実装メモリ量が少ない装置やシステムであってもメモリ不足を回避することができ、各種の制約を受けることがなくなる。
【0097】
なお、本実施の形態においては、タイミングマークに基づいてスキュー補正角を検出するようにしたが、これに限るものではない。例えば、図21に示すように、原画像Iを表示装置15に表示する際にグリッド線Gを併せて表示する。これにより、原画像Iに傾き(スキュー)が発生している場合にはグリッド線Gと原画像Iの罫線等がずれて表示されるので、ユーザに原画像Iの傾き(スキュー)を視覚的に確認させることが可能になる。そして、回転ボタンB(右回転ボタンB1、左回転ボタンB2)をユーザに操作させることにより原画像Iを実際に回転させ、実際に回転させた角度をスキュー補正角として検出することが可能になる。これにより、ユーザはスキュー補正角を視覚的に確認することが可能になり、かつ、スキュー補正角が簡易な方法で検出される。このようにしてスキュー補正角が検出されると、スキュー補正ボタンAのユーザによる操作を条件として前述したステップS4〜S7の処理を実行することで、スキュー補正角に従った画像全体のスキュー補正が実行される。
【0098】
次に、第二の実施の形態について説明する。なお、第一の実施の形態において説明した部分と同一部分については同一符号を用い、説明も省略する。
【0099】
図22は、画像処理プログラムに従いCPU6によって実行される画像補正処理の流れを示すフローチャートである。ここでは、画像補正処理として、画像の表示条件を補正(色補正、γ補正、エッジ強調等)するための表示条件補正処理を主体に説明する。
【0100】
本実施の形態の画像補正処理においては、図22に示すように、まず、低解像度画像に係る圧縮符号を復号化して低解像度画像を取得した後(ステップS11)、この低解像度画像を表示デバイスである表示装置15に表示する(ステップS12)。なお、この場合の解像度は、表示装置15の解像度に合わせる。
【0101】
続いて、画像に対する補正パラメータ(色補正、γ補正、エッジ強調等)を確定させる(ステップS13〜S15)。ここでは、ユーザからの補正パラメータの受け付け(ステップS13)と、確認のために補正結果画像の表示装置15への表示(ステップS14)とを、補正パラメータが確定するまで(ステップS15のY)、繰り返す。
【0102】
したがって、ステップS11〜S15において、表示条件取得手段の機能が実行される。
【0103】
補正パラメータ(色補正、γ補正、エッジ強調等)が確定すると(ステップS15のY)、タイル(図9に示す各タイルの符号化データ)を順次取り出してRAM8において伸長し、補正パラメータを用いて補正処理を実行した後、圧縮処理を行って図9に示す符号列データに書き戻すことにより、画像全体の表示条件補正を行う(ステップS16〜S19:表示条件変更手段)。
【0104】
ここに、画像の表示条件を補正する表示条件補正を圧縮された画像データに基づいて実行する場合には、伸長した画像に対する表示条件補正処理をタイル単位で実行する。これにより、タイル単位で画像をメモリ(RAM8)に展開すれば良いことから、実装メモリ量が少ない装置やシステムであってもメモリ不足を回避することができ、各種の制約を受けることがなくなる。
【0105】
なお、各実施の形態においては、静止画像について説明したが、動画像にも応用可能である。各実施の形態において説明したような静止画像、すなわち単フレームに対する方式を複数フレームに拡張して動画像にするものが、「Motion JPEG2000アルゴリズム」である。すなわち、「Motion JPEG2000」は、図23に示すように、1フレームのJPEG2000画像を所定のフレームレート(単位時間に再生するフレーム数)で連続して表示することにより、動画像にしたものである。したがって、このような動画像については、最初のフレームに基づいて補正条件(スキュー補正角や補正パラメータ)を求め、他のフレームについては当該補正条件(スキュー補正角や補正パラメータ)を適用するようにすれば良い。これは、全てのフレームについて同一の補正が必要と考えられるからである。これにより、補正条件(スキュー補正角や補正パラメータ)の検出時間を短縮することが可能になる。
【0106】
【発明の効果】
請求項1記載の発明の画像処理装置によれば、画像の傾きを補正するスキュー補正を圧縮された画像データに基づいて実行する場合には、伸長した画像に対するスキュー補正処理をタイル単位で実行することにより、タイル単位で画像をメモリに展開すれば良いことから、実装メモリ量が少ない装置やシステムであってもメモリ不足を回避することができ、各種の制約を受けることがなくなる。
【0107】
請求項2記載の発明によれば、請求項1記載の画像処理装置において、一のタイルを伸長した画像に基づいて検出されたスキュー補正角に従って各タイルを順次回転することにより、迅速、かつ、確実に画像の傾きを補正することができる。
【0108】
請求項3記載の発明によれば、請求項2記載の画像処理装置において、低解像度画像に基づいてスキュー補正角を検出することにより、スキュー補正角検出時間の短縮及び使用メモリの減少を実現することができる。
【0109】
請求項4記載の発明によれば、請求項2または3記載の画像処理装置において、画像が有する色空間の何れか一つの色空間を利用してスキュー補正角を検出することにより、スキュー補正角検出時間の短縮及び使用メモリの減少を実現することができる。
【0110】
請求項5記載の発明によれば、請求項2または3記載の画像処理装置において、上位ビットプレーンのみを利用してスキュー補正角を検出することにより、スキュー補正角検出時間の短縮及び使用メモリの減少を実現することができる。
【0111】
請求項6記載の発明によれば、請求項3ないし5のいずれか一記載の画像処理装置において、モード選択手段による選択に従って画質優先モードと速度優先モードとを切り替え、スキュー補正処理を実行することにより、速度優先モードが指定された場合は、解像度を低くし、または、特定の色空間あるいは一部のビットプレーンを使用するようにすれば良い。また、画質優先モードが指定された場合は、解像度を高くし、または、全ての色空間あるいは全てのビットプレーンを表示するようにすれば良い。
【0112】
請求項7記載の発明によれば、請求項2ないし6のいずれか一記載の画像処理装置において、画像に予め設定されているタイミングマークに基づいてスキュー補正角を検出することにより、高精度、かつ、高速にスキュー補正角を検出することができる。
【0113】
請求項8記載の発明によれば、請求項7記載の画像処理装置において、タイミングマークが含まれている可能性が高いタイルのみを伸長することにより、処理の高速化、省メモリ化を図ることができる。
【0114】
請求項9記載の発明によれば、請求項7記載の画像処理装置において、ROI(Region Of Interest)領域が指定されている場合には、このROI領域内のタイミングマークが含まれている可能性が高いタイルのみを伸長することにより、更に処理の高速化、省メモリ化を図ることができる。
【0115】
請求項10記載の発明によれば、請求項2ないし6のいずれか一記載の画像処理装置おいて、グリッドを表示し、当該グリッドに応じて回転させられた画像に基づいてスキュー補正角を検出することにより、ユーザはスキュー補正角を視覚的に確認することができ、つ、スキュー補正角を簡易な方法で検出することができる。
【0116】
請求項11記載の発明によれば、請求項2記載の画像処理装置において、各タイルで回転により発生する無効領域に対し、白画素を補完することにより、各タイルで回転により発生する無効領域に対して簡易な手法で画素を補完することができる。
【0117】
請求項12記載の発明によれば、請求項11記載の画像処理装置において、白画素を完した領域に対してローパスフィルタ処理を施すことにより、白画素を補完した領域を目立たなくすることができる。
【0118】
請求項13記載の発明によれば、請求項2記載の画像処理装置において、所望のタイルと当該タイルの一角で隣接する3個の周辺タイルとによりタイル群を形成し、このタイル群の一の角を起点としてタイル群をスキュー補正角だけ回転させることにより、回転により生じる無効領域を補完することができる。
【0119】
請求項14記載の発明によれば、請求項2記載の画像処理装置において、所望のタイルと当該タイルの右、左、上、下に隣接する4個の周辺タイルとによりタイル群を形成し、所望のタイルの中央を起点としてタイル群をスキュー補正角だけ回転させることにより、回転により生じる無効領域を補完することができる。
【0120】
請求項15記載の発明によれば、請求項2記載の画像処理装置において、全てのタイルについてのスキュー補正角に応じた回転の起点を画像の一ヶ所に設定することにより、回転誤差を解消することができる。
【0121】
請求項16記載の発明によれば、請求項1ないし15のいずれか一記載の画像処理装置において、画像を所定のフレームレートで連続して表示する動画像については、最初のフレームにおけるタイル単位で伸長された画像に基づいてスキュー補正処理に係る補正条件を求め、他のフレームについては当該補正条件を適用することにより、補正条件の検出時間を短縮することができる。
【0122】
請求項17記載の発明のプログラムによれば、画像の傾きを補正するスキュー補正を圧縮された画像データに基づいて実行する場合には、伸長した画像に対するスキュー補正処理をタイル単位で実行することにより、タイル単位で画像をメモリに展開すれば良いことから、実装メモリ量が少ない装置やシステムであってもメモリ不足を回避することができ、各種の制約を受けることがなくなる。
【0123】
請求項18記載の発明の記憶媒体によれば、請求項17記載のプログラムを記憶していることにより、この記憶媒体に記憶されたプログラムをコンピュータに読み取らせることで、請求項17記載の発明と同様の作用効果を得ることができる。
【図面の簡単な説明】
【図1】 本発明の実施の形態の前提となるJPEG2000方式の基本となる階層符号化アルゴリズムを実現するシステムの機能ブロック図である。
【図2】 原画像の各コンポーネントの分割された矩形領域を示す説明図である。
【図3】 デコンポジション・レベル数が3の場合の、各デコンポジション・レベルにおけるサブバンドを示す説明図である。
【図4】 プレシンクトを示す説明図である。
【図5】 ビットプレーンに順位付けする手順の一例を示す説明図である。
【図6】 符号列データの1フレーム分の概略構成を示す説明図である。
【図7】 本発明の第一の実施の形態の画像処理装置を含むシステムを示すシステム構成図である。
【図8】 二次元に分割された分割画像の一例を示す説明図である。
【図9】 その分割画像に基づいて「JPEG2000アルゴリズム」に従って生成された圧縮符号を示す説明図である。
【図10】 「JPEG2000アルゴリズム」に従って生成された圧縮符号の解像度モデルを示す説明図である。
【図11】 画像処理装置のハードウェア構成を概略的に示すブロック図である。
【図12】 画像補正処理の流れを示すフローチャートである。
【図13】 タイミングマークを示す説明図である。
【図14】 タイミングマーク検出処理の流れを示すフローチャートである。
【図15】 タイミングマークの検索範囲を示す説明図である。
【図16】 (a)はタイルの左上を起点として回転させた状態を示し、(b)はタイルの中央を起点として回転させた状態を示す説明図である。
【図17】 (a)は所望のタイルと当該タイルの一角で隣接する3個の周辺タイルとによりタイル群を形成し、このタイル群の一の角を起点としてタイル群を回転させる場合を示し、(b)は所望のタイルと当該タイルの右、左、上、下に隣接する4個の周辺タイルとによりタイル群を形成し、所望のタイルの中央を起点としてタイル群を回転させる場合を示す説明図である。
【図18】 画像の一ヶ所を起点としてタイルを回転させた状態を示す説明図である。
【図19】 その詳細な説明図である。
【図20】 表示装置に表示される補正モード指定ダイアログを示す正面図である。
【図21】 表示装置に原画像とともに表示されるグリッド線を示す正面図である。
【図22】 第二の実施の形態の画像補正処理の流れを示すフローチャートである。
【図23】 Motion JPEG2000の概念を示す説明図である。
【符号の説明】
1 画像処理装置
10,11 記憶媒体
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus, a program, and a storage medium.
[0002]
[Prior art]
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 as an example of an image input device, the price of a high-performance charge-coupled device (CCD) having a number of pixels of 3 million or more has been reduced, and the price range has become widespread. It has come to be widely used in products. A product with 5 million pixels is also close. And it is said that this increasing tendency of the number of pixels will continue for a while.
[0003]
On the other hand, for 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.
[0004]
Due to the market launch of these high-performance, low-priced image input / output products, high-definition images have become popular, and it is expected that demand for high-definition images will increase in all situations. In fact, the development of technology related to networks such as personal computers 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.
[0005]
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.
[0006]
Therefore, in recent years, a new method called JPEG2000, which can restore high-quality images even at a high compression rate, is being standardized as one of image compression methods that satisfy these requirements. In JPEG2000, it is possible to perform compression / decompression processing in a small memory environment by dividing an image into rectangular regions (tiles). That is, each tile becomes a basic unit for executing the compression / decompression process, and the compression / decompression operation can be performed independently for each tile.
[0007]
[Problems to be solved by the invention]
By the way, conventionally, with respect to correction of an encoded image, image correction processing such as skew correction and color correction is performed on an image obtained by expanding the entire encoded data, and then the entire image is compressed again and encoded. The method of making data is used.
[0008]
However, in this method, since the entire image is expanded in the memory, particularly in an apparatus or system with a small amount of mounted memory, the memory becomes insufficient, and various restrictions may occur.
[0009]
The purpose of the present invention is to In particular, skew correction of encoded images At the same time, an object is to provide an image processing apparatus, a program, and a storage medium that can avoid a memory shortage even in an apparatus or system with a small amount of mounted memory.
[0010]
[Means for Solving the Problems]
An image processing apparatus according to a first aspect of the present invention comprises: means for compressing a pixel value by a procedure of discrete wavelet transform, quantization, and encoding for each tile obtained by dividing an image into a plurality of units; A skew correction process for decompressing the compression code data and correcting the inclination of the image with respect to the decompressed image. And a series of processes for recompressing the skew-corrected image is executed in tile units.
[0011]
Therefore, when the skew correction for correcting the inclination of the image is executed based on the compressed image data, the skew correction process for the expanded image is executed for each tile. As a result, since it is sufficient to develop an image in memory in units of tiles, it is possible to avoid a memory shortage even in an apparatus or system with a small amount of mounted memory, and there are no restrictions.
[0012]
Claim 2 The image processing apparatus according to claim 1, wherein the skew correction processing includes a skew correction angle detection unit that detects a skew correction angle based on an image obtained by extending one tile, and the skew correction angle detection unit. And image rotation means for sequentially rotating each tile in accordance with the skew correction angle detected by the above.
[0013]
Accordingly, the tiles are sequentially rotated according to the skew correction angle detected based on the image obtained by extending one tile. Thereby, it becomes possible to correct the inclination of the image quickly and reliably.
[0014]
Claim 3 The described invention Claim 2 In the described image processing apparatus, the skew correction angle detection unit detects a skew correction angle based on a low-resolution image.
[0015]
Accordingly, it is possible to reduce the skew correction angle detection time and reduce the memory used.
[0016]
Claim 4 The described invention Claim 2 or 3 In the image processing apparatus described above, the skew correction angle detection unit detects the skew correction angle using any one of the color spaces of the image.
[0017]
Accordingly, it is possible to reduce the skew correction angle detection time and reduce the memory used.
[0018]
Claim 5 The described invention Claim 2 or 3 In the described image processing apparatus, the skew correction angle detection unit detects the skew correction angle using only the upper bit plane.
[0019]
Accordingly, it is possible to reduce the skew correction angle detection time and reduce the memory used.
[0020]
Claim 6 The described invention Claims 3 to 5 In the image processing apparatus according to any one of the above, the mode selection unit that enables selection of an image quality priority mode that prioritizes image quality and a speed priority mode that prioritizes processing speed for the skew correction processing, and the skew correction processing, Mode switching means for switching between the image quality priority mode and the speed priority mode according to the selection by the mode selection means.
[0021]
Therefore, the image quality priority mode and the speed priority mode are switched according to the selection by the mode selection means, and the skew correction process is executed. Thus, when the speed priority mode is designated, the resolution may be lowered, or a specific color space or a part of bit planes may be used. Further, when the image quality priority mode is designated, the resolution may be increased, or all color spaces or all bit planes may be displayed.
[0022]
Claim 7 The described invention Claims 2 to 6 In the image processing apparatus according to any one of the above, the skew correction angle detection unit detects a skew correction angle based on a timing mark preset in the image.
[0023]
Therefore, the skew correction angle can be detected with high accuracy and at high speed.
[0024]
Claim 8 The described invention Claim 7 The described image processing apparatus is characterized in that only tiles that are highly likely to contain timing marks are expanded.
[0025]
Therefore, it is possible to increase the processing speed and save memory.
[0026]
Claim 9 The described invention Claim 7 In the described image processing apparatus, when a ROI (Region Of Interest) area is designated, only a tile that is highly likely to include a timing mark in the ROI area is expanded.
[0027]
Therefore, it is possible to further increase the processing speed and save memory.
[0028]
Claim 10 The described invention Claims 2 to 6 In the image processing apparatus according to any one of the above, the skew correction angle detection unit displays a grid and detects a skew correction angle based on an image rotated according to the grid.
[0029]
Therefore, the user can visually confirm the skew correction angle, and the skew correction angle is detected by a simple method.
[0030]
Claim 11 The described invention Claim 2 In the image processing apparatus described above, the image rotation unit complements white pixels for invalid areas generated by rotation in each tile.
[0031]
Therefore, it is possible to supplement the pixels by a simple method with respect to the invalid area generated by rotation in each tile. Here, the invalid area generated by rotation in each tile is an area that is generated with rotation in each tile and discarded.
[0032]
Claim 12 The described invention Claim 11 In the described image processing apparatus, a low-pass filter process is performed on a region supplemented with white pixels.
[0033]
Therefore, it is possible to make the region supplemented with white pixels inconspicuous.
[0034]
Claim 13 The described invention Claim 2 In the image processing apparatus described above, the image rotation unit forms a tile group by a desired tile and three peripheral tiles adjacent to each other at one corner of the tile, and the tile group is formed using one corner of the tile group as a starting point. It is characterized by being rotated by a skew correction angle.
[0035]
Therefore, it becomes possible to supplement the invalid area caused by the rotation.
[0036]
Claim 14 The described invention Claim 2 In the image processing apparatus described above, the image rotation unit forms a tile group by a desired tile and four peripheral tiles adjacent to the right, left, top, and bottom of the tile, and starts from the center of the desired tile. The tile group is rotated by a skew correction angle.
[0037]
Therefore, it becomes possible to supplement the invalid area caused by the rotation.
[0038]
Claim 15 The described invention Claim 2 In the image processing apparatus described above, the image rotation unit sets a rotation start point corresponding to a skew correction angle for all tiles at one position of the image.
[0039]
Therefore, it is possible to eliminate the rotation error.
[0040]
Claim 16 The described invention Claims 1 to 15 In the image processing apparatus according to any one of the above, the moving image that continuously displays images at a predetermined frame rate is based on the image expanded in units of tiles in the first frame. Skew A correction condition related to the correction process is obtained, and the correction condition is applied to other frames.
[0041]
Therefore, it is possible to shorten the detection time of the correction condition.
[0042]
Claim 17 The program of the described invention includes a function of generating compressed code data by compressing a pixel value for each tile obtained by dividing an image into a plurality of steps by a procedure of discrete wavelet transform, quantization and encoding, and compressing code data of the above procedure. A program that causes a computer to execute a function of decompressing and generating an image in the reverse procedure, and decompressing the compressed code data to the computer and correcting skew of the image with respect to the decompressed image A series of processes for performing processing and re-compressing the skew-corrected image is executed in units of tiles.
[0043]
Therefore, when the skew correction for correcting the tilt of the image is executed based on the compressed image data, the skew correction process for the expanded image is executed on a tile basis. As a result, since it is sufficient to develop an image in memory in units of tiles, it is possible to avoid a memory shortage even in an apparatus or system with a small amount of mounted memory, and there are no restrictions.
[0044]
Claim 18 The storage medium of the described invention is Claim 17 The described program is stored.
[0045]
Therefore, by having the computer read the program stored in this storage medium, Claim 17 It is possible to obtain the same operation as the described invention.
[0046]
DETAILED DESCRIPTION OF THE INVENTION
First, an outline of the “hierarchical encoding algorithm” and the “JPEG2000 algorithm” which are the premise of the embodiment of the present invention will be described.
[0047]
FIG. 1 is a functional block diagram of a system that realizes a hierarchical encoding algorithm that is the basis of the JPEG2000 system. This system includes color space transform / inverse transform unit 101, two-dimensional wavelet transform / inverse transform unit 102, quantization / inverse quantization unit 103, entropy encoding / decoding unit 104, and tag processing unit 105. It is configured.
[0048]
One of the biggest differences between this system and the conventional JPEG algorithm is the conversion method. In JPEG, discrete cosine transform (DCT) is used. In this hierarchical coding algorithm, the secondary wavelet transform / inverse transform unit 102 uses discrete wavelet transform (DWT). ing. DWT has the advantage that the image quality in the high compression region is better than DCT, and this is one of the main reasons why DWT is adopted in JPEG2000, which is a successor algorithm of JPEG.
[0049]
Another major difference is that in this hierarchical encoding algorithm, a functional block of the tag processing unit 105 is added in order to perform code formation at the final stage of the system. The tag processing unit 105 generates compressed data as code string data during an image compression operation, and interprets code string data necessary for decompression during the decompression operation. With the code string data, JPEG2000 can realize various convenient functions. For example, the compression / decompression operation of a still image can be freely stopped at an arbitrary layer (decomposition level) corresponding to octave division in block-based DWT (see FIG. 3 described later). Further, a low resolution image (reduced image) can be extracted from one file, or a part of the image (tiling image) can be extracted.
[0050]
In many cases, color space conversion / inverse conversion 101 is connected to the input / output portion of the original image. For example, the RGB color system composed of R (red) / G (green) / B (blue) components of the primary color system and the Y (yellow) / M (magenta) / C (cyan) components of the complementary color system This corresponds to the part that performs conversion or reverse conversion from the YMC color system consisting of the above to the YUV or YCbCr color system.
[0051]
Next, the JPEG2000 algorithm will be described.
[0052]
As shown in FIG. 2, in a color image, each component 111 (RGB primary color system here) of an original image is generally divided by a rectangular area. This divided rectangular area is generally called a block or a tile, but in JPEG2000, it is generally called a tile. Therefore, such a divided rectangular area is hereinafter referred to as a tile. (In the example of FIG. 2, each component 111 is divided into a total of 16 rectangular tiles 112, 4 × 4 in length and breadth). When such individual tiles 112 (R00, R01,..., R15 / G00, G01,..., G15 / B00, B01,..., B15 in the example of FIG. 2) execute the image data compression / decompression process. It becomes the basic unit. Therefore, the compression / decompression operation of the image data is performed independently for each component and for each tile 112.
[0053]
At the time of encoding image data, the data of each tile 112 of each component 111 is input to the color space conversion / inverse conversion unit 101 of FIG. 1 and subjected to color space conversion, and then the two-dimensional wavelet conversion / inverse conversion unit. A two-dimensional wavelet transform (forward transform) is applied at 102 to divide the space into frequency bands.
[0054]
FIG. 3 shows subbands at each decomposition level when the number of decomposition levels is three. In other words, the tile original image (0LL) (decomposition level 0) obtained by tile division of the original image is subjected to two-dimensional wavelet transform, and the subbands (1LL, 1HL, 1LH shown in the decomposition level 1) , 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) indicated by the decomposition level 2. Similarly, the low-frequency component 2LL is also subjected to two-dimensional wavelet transform to separate subbands (3LL, 3HL, 3LH, 3HH) shown in the decomposition level 3. In FIG. 3, the subbands to be encoded at each decomposition level are indicated by shading. For example, when the number of decomposition levels is 3, the subbands (3HL, 3LH, 3HH, 2HL, 2LH, 2HH, 1HL, 1LH, 1HH) indicated by shading are the encoding targets, and the 3LL subband is encoded. It is not converted.
[0055]
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 / inverse quantization unit 103 shown in FIG.
[0056]
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. As shown in FIG. 4, one precinct consists of three rectangular regions that are spatially coincident. Further, each precinct is divided into non-overlapping rectangular “code blocks”. This is the basic unit for entropy coding.
[0057]
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 each pixel or code block is divided. Ranking can be performed on “bitplanes”.
[0058]
Here, FIG. 5 is an explanatory diagram showing an example of a procedure for ranking the bit planes. As shown in FIG. 5, this example is a case where the original image (32 × 32 pixels) is divided into four 16 × 16 pixel tiles, and the size of the precinct and code block at the composition level 1 is Each is 8 × 8 pixels and 4 × 4 pixels. The numbers of the precinct and the code block are assigned in raster order. In this example, the number of assigns is assigned from numbers 0 to 3, and the code block is assigned from 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.
[0059]
An explanatory diagram showing an example of the concept of a typical “layer” configuration for tile 0 / precinct 3 / code block 3 is also shown in FIG. The converted code block is divided into subbands (1LL, 1HL, 1LH, 1HH), and wavelet coefficient values are assigned to the subbands.
[0060]
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 are made up of bit planes of 1, 3, 1, and 3, respectively. A layer including a bit plane closer to the LSB (Least Significant Bit) is first subjected to quantization, and conversely, a layer close to the MSB (Most Significant Bit: most significant bit) is quantized to the end. It will remain without being. A method of discarding from a layer close to the LSB is called truncation, and the quantization rate can be finely controlled.
[0061]
The entropy encoding / decoding unit 104 illustrated in FIG. 1 performs encoding on the tile 112 of each component 111 by probability estimation from the context and the target bit. In this way, encoding processing is performed in units of tiles 112 for all components 111 of the original image. Finally, the tag processing unit 105 performs a process of combining all the encoded data from the entropy encoding / decoding unit 104 into one code string data and adding a tag thereto.
[0062]
FIG. 6 shows a schematic configuration of this code string data. Tag information called a header (a main header (tile header) that is tile header position information) is provided at the head of the code string data and the head of the code data (bit stream) of each tile. Appended, followed by the encoded data for each tile. Note that the main header (Main header) describes coding parameters and quantization parameters. A tag (end of codestream) is placed again at the end of the code string data.
[0063]
On the other hand, when the encoded data is decoded, the image data is generated from the code string data of each tile 112 of each component 111, contrary to the case of encoding the image data. In this case, the tag processing unit 105 interprets tag information added to the code string data input from the outside, decomposes the code string data into code string data of each tile 112 of each component 111, and Decoding processing (decompression processing) is performed for each code string data of each tile 112. At this time, the positions of the bits to be decoded are determined in the order based on the tag information in the code string data, and the quantization / inverse quantization unit 103 determines the peripheral bits of the target bit position (already decoded). Context is generated from the sequence of The entropy encoding / decoding unit 104 performs decoding by probability estimation from the context and code string data, generates a target bit, and writes it in the position of the target bit. Since the data decoded in this way is spatially divided for each frequency band, the two-dimensional wavelet transform / inverse transform unit 102 performs two-dimensional wavelet inverse transform on each of the components of the image data. The tile is restored. The restored data is converted to original color system image data by the color space conversion / inverse conversion unit 101.
[0064]
The above is the outline of the “JPEG2000 algorithm”.
[0065]
Hereinafter, a first embodiment of the present invention will be described.
[0066]
FIG. 7 is a system configuration diagram showing a system including the image processing apparatus 1 to which the present invention is applied. As shown in FIG. 7, an image processing apparatus 1 to which the present invention is applied is, for example, a personal computer, and can be connected to a server computer S that stores various image data via a network 5 that is the Internet. .
[0067]
In the present embodiment, the image data stored and held in the server computer S is a compressed code generated according to the “JPEG2000 algorithm”. More specifically, the compression code is configured as shown in FIG. 9 by compressing and coding the divided images divided into rectangular areas (tiles) as shown in FIG. 8 and arranging them in one dimension. In FIG. 9, SOC is a marker segment indicating the start of a code stream. MH is a main header, and stores a value common to the entire code stream. As values common to the entire code stream, for example, a tile width, a tile height, an image width, an image height, and the like are recorded. The data following MH is data obtained by encoding each tile. In FIG. 9, data obtained by compressing each tile in the main scanning direction / sub-scanning direction is arranged according to the tile number shown in FIG. The EOC marker at the end of the compression code is a marker segment indicating the end of the compression code.
[0068]
FIG. 10 is an explanatory diagram showing a resolution model of a compression code generated according to the “JPEG2000 algorithm”. As shown in FIG. 10, in the compression code generated according to the “JPEG2000 algorithm”, the low resolution data and the high resolution data are separated in one image file. Although only two types of resolution are shown in FIG. 10, in reality, if all data are set to 1, according to an arbitrary hierarchy (decomposition level) corresponding to octave division in DWT, 1 / It is possible to extract compression codes related to a plurality of low resolution images such as 2, 1/4, 1/8, and 1/16.
[0069]
FIG. 11 is a block diagram schematically showing a hardware configuration of the image processing apparatus 1. As shown in FIG. 11, the image processing apparatus 1 includes a CPU (Central Processing Unit) 6 that performs information processing, a ROM (Read Only Memory) 7 that stores information, a RAM (Random Access Memory) 8 and other primary storage devices, HDD (Hard Disk Drive) 10, which is a storage unit for storing compressed codes (see FIG. 9) downloaded from the server computer S via the network 5, stores information, distributes information to the outside, and obtains information from the outside A CD-ROM drive 12 for communication, a communication control device 13 for communicating information with other external computers via the network 5, and a CRT (Cathode Ray Tube) for displaying processing progress and results to the operator And LCD (Liquid a display device 15 such as a crystal display) and an input device 14 such as a keyboard and a mouse for an operator to input commands and information to the CPU 6, and buses data transmitted and received between these components. The controller 9 operates by arbitrating.
[0070]
Since the RAM 8 has a property of storing various data in a rewritable manner, the RAM 8 functions as a work area for the CPU 6 and plays a role of, for example, a buffer memory in image correction processing described later.
[0071]
In such an image processing apparatus 1, when the user turns on the power, the CPU 6 activates a program called a loader in the ROM 7, loads a program for managing the hardware and software of the computer called the operating system from the HDD 10 into the RAM 8, and Start the system. Such an operating system starts a program, reads information, and performs storage according to a user operation. As typical operating systems, Windows (registered trademark), UNIX (registered trademark), and the like are known. An operation program running on these operating systems is called an application program.
[0072]
Here, the image processing apparatus 1 stores an image processing program in the HDD 10 as an application program. In this sense, the HDD 10 functions as a storage medium that stores an image processing program.
[0073]
In general, an operation program installed in the HDD 10 of the image processing apparatus 1 is recorded on an optical information recording medium such as a CD-ROM 11 or DVD-ROM, a magnetic medium such as an FD, and the like. A program is installed in the HDD 10. For this reason, portable storage media such as optical information recording media such as the CD-ROM 11 and magnetic media such as the FD can also be storage media for storing the image processing program. Furthermore, the image processing program may be imported from the outside via, for example, the communication control device 13 and installed in the HDD 10.
[0074]
In the image processing apparatus 1, when an image processing program that operates on an operating system is started, the CPU 6 executes various arithmetic processes according to the image processing program and controls each unit intensively. Of the various types of arithmetic processing executed by the CPU 6 of the image processing apparatus 1, characteristic processing of the present embodiment will be described below.
[0075]
FIG. 12 is a flowchart showing the flow of image correction processing executed by the CPU 6 in accordance with the image processing program. Here, as the image correction process, a skew correction process for correcting an image tilted (skewed) during image input will be mainly described.
[0076]
In the image correction processing according to the present embodiment, as shown in FIG. 12, first, a low-resolution image is obtained by decoding a compression code related to a low-resolution image (step S1), and then the low-resolution image is processed. Binarization processing is executed (step S2). As described above, since only the low resolution image can be extracted based on the compression code generated according to the “JPEG2000 algorithm”, in this embodiment, the low resolution image is eliminated in order to eliminate the shortage of the memory area. The binarization process is executed for. In the binarization process in the case of a color multi-valued image, for example, attention is paid to any one of RGB components and YCbCr components (for example, G component), and black pixels that are larger than a predetermined density threshold of the G component are black pixels And a pixel smaller than a predetermined density threshold of the G component may be a white pixel. Alternatively, RGB may be color-converted to be divided into a luminance component and a color difference component, and threshold processing may be performed with the luminance component. In this way, by using one of the color spaces of the image file for detecting the skew correction angle, it is possible to shorten the skew correction angle detection time and reduce the memory used in the RAM 8.
[0077]
Note that the decompression process (decoding process) according to the “JPEG2000 algorithm” of the compression code is the spatial transform / inverse transform unit 101, the two-dimensional wavelet transform / inverse transform unit 102, the quantization / inverse quantum shown in FIG. Since description is made in the description of the encoding unit 103, the entropy encoding / decoding unit 104, and the tag processing unit 105, description thereof is omitted here (the same applies hereinafter). In this way, by detecting a skew correction angle, which will be described later, based on an image encoded / decoded according to the “JPEG2000 algorithm”, there are very few defects in the image encoded / decoded according to the “JPEG2000 algorithm”. For this reason (for example, there is no break in ruled lines and surface lines), it becomes possible to improve the accuracy of skew angle detection.
[0078]
In the subsequent step S3, a skew correction angle is detected based on the low-resolution image on which the binarization process has been executed.
[0079]
Here, the skew correction angle detection process will be described in detail. The skew correction angle detection process is performed based on detection of timing marks as shown in FIG. 13, for example. The timing mark is a reference point used for correcting that the image is tilted (skewed), the image is shifted, or stretched. More specifically, three timing marks (upper left, upper right, lower left or lower right) are provided on one document. The two timing marks on the upper left and upper right can detect how much the input image is tilted (skewed), how much it is shifted in the X direction, and is expanded and contracted. By using another timing mark, it is possible to detect how much the Y-direction is shifted and expanded / contracted. That is, here, a skew correction angle detection process for an image obtained by reading an original on which such a timing mark is printed will be described.
[0080]
FIG. 14 is a flowchart showing the flow of timing mark detection processing. First, for a low-resolution image that has been subjected to binarization processing, a timing mark search range is obtained based on a preset timing mark position (that is, a position of a timing mark with no skew) (step S101). ). The search range is determined by how much skew, deviation, etc. are allowed. That is, as shown in FIG. 15, a coordinate value obtained by adding / subtracting an allowable amount (± α) to a preset timing mark position becomes a timing mark search range, and the timing mark is included in this search range. The range should be decided. This range is also
The range may be determined dynamically and dynamically, or the range may be designated every time the user inputs an image. Accordingly, since a part of the image (tiling image) can be extracted based on the compression code generated according to the “JPEG2000 algorithm”, only a tile having a high possibility of including a timing mark (for example, skew occurs). If only the tiles at the position where the tile having the timing mark exists and the surrounding tiles are decoded), it is possible to increase the processing speed and save the memory.
[0081]
When a ROI (Region Of Interest) area is designated, only tiles that are likely to include a timing mark in the ROI area (for example, when there is no skew, the timing mark is included). If only the tiles at the position where the tiles exist and the surrounding tiles are decoded, it is possible to further increase the processing speed and memory saving. Note that the ROI region is a part of the entire image when the image is cut out and enlarged from the entire image or emphasized as compared with other parts.
[0082]
When the timing mark search range is determined (step S101), a rectangle (circumscribed rectangle) is extracted within the timing mark search range (step S102). As this rectangle extraction method, a known method for extracting connected components of black pixels is used. In general, a plurality of rectangles are extracted by the rectangle extraction process. That is, the timing mark detection range may include not only the timing mark to be detected but also a character rectangle, a noise rectangle, and the like, and the plurality of rectangles refer to these rectangles.
[0083]
However, as shown in FIG. 15, the rectangle in contact with the search range is deleted (ignored) as noise. Further, when the rectangle extraction process is completed and no rectangle is extracted (N in step S103), the timing mark cannot be detected (step S109).
[0084]
Next, when a plurality of rectangles are extracted (Y in step S103), a feature extraction process for extracting feature amounts from each rectangle is performed (step S104). After obtaining the feature amount of each rectangle, the distance between the preset feature amount of the timing mark and the feature amount of each rectangle is calculated to obtain timing mark candidates (steps S105 and S106). Here, the distance is, for example, a dissimilarity that takes a difference between feature amounts. The smaller the distance, the smaller the dissimilarity, and the timing mark candidate rank is higher.
[0085]
When the distance calculation is performed in this way and the timing mark candidate rank is determined from the first candidate to the nth complement (Y in step S106), the calculated first complement distance is set in advance. It is determined whether or not the threshold value is satisfied, and if it is equal to or less than the threshold value (Y in step S107), the first complement is output as a timing mark (step S108). By performing the comparison process with the threshold value in this way, it is possible to prevent a part such as a character from being erroneously extracted as a timing mark. In other words, when the first complement calculated as a distance is output as it is as a timing mark, when an image without a timing mark is processed, a part such as a character is erroneously extracted as a timing mark. Therefore, the timing mark is detected accurately when there is a timing mark, and when there is no timing mark (N in step S107), the result is output as “not present (cannot be detected)” (step S109).
[0086]
When the timing mark detection process is completed, a skew correction angle is detected according to the detected timing mark. There are various known methods for detecting the skew correction angle. For example, there is a method for detecting the skew correction angle from the difference between the coordinate value of the preset timing mark and the coordinate value of the detected timing mark. .
[0087]
Therefore, in steps S1 to S3, the function of the skew correction angle detection means is executed.
[0088]
When the skew correction angle is detected as described above, tiles (encoded data of each tile shown in FIG. 9) are sequentially taken out, decompressed in the RAM 8, and subjected to rotation processing according to the detected skew correction angle, and then compressed. By performing processing and writing back the code string data shown in FIG. 9, skew correction of the entire image is performed (steps S4 to S7: image rotation means).
[0089]
A rotation process according to the skew correction angle will be described. FIG. 16A shows a state where the tile is rotated starting from the upper left corner, and FIG. 16B shows a state where the tile is rotated starting from the center of the tile. As shown in FIG. 16A, when the skew correction angle is rotated starting from the upper left corner of the tile, the area corrected by rotation (effective area) and the area discarded by rotation in each tile (invalid area) ) Occurs. Such invalid areas are complemented with white pixels. On the other hand, as shown in FIG. 16B, when the skew correction angle is rotated starting from the center of the tile, similarly, the area corrected by the rotation (effective area) is discarded along with the rotation of each tile. Area (invalid area) occurs. Such invalid areas are complemented with white pixels. Therefore, it is possible to supplement the pixels by a simple method with respect to the invalid area generated by rotation in each tile.
[0090]
However, as described above, if the tiles are rotated one by one, there is a merit that the skew correction processing can be executed even with a small amount of memory. However, an invalid area is generated in each tile, and the image is in a tooth missing state ( There is a problem that a gap is generated.
[0091]
Therefore, when the image is in a missing state (a state in which a gap is generated) as described above, the gap can be made inconspicuous by performing a low-pass filter process on the gap. Since the low-pass filter processing is well known, the description thereof is omitted. Note that, in order to solve the problem that the tile boundary becomes discontinuous during the tile expansion process (step S5), the tile boundary is made inconspicuous by performing low-pass filter processing only in the vicinity of the tile boundary. Therefore, it is not necessary to perform low-pass filter processing on the gap.
[0092]
Further, as shown in FIG. 17A, a tile group is formed by a desired tile and three peripheral tiles adjacent at one corner of the tile, and the tile group is skewed starting from one corner of the tile group. You may make it complement the invalid area | region which arises by rotation by rotating only a correction | amendment angle | corner. Here, the three peripheral tiles that are rotated together with the target tile are tiles that are located at the left, lower left, and lower of the target tile when the tile group starts from the upper left and rotates left (clockwise). is there. In addition, when the tile group starts from the upper left and rotates right (counterclockwise), the tile is located on the right, upper right, and upper side of the target tile. On the other hand, as shown in FIG. 17B, a tile group is formed by a desired tile and four peripheral tiles adjacent to the right, left, top, and bottom of the tile, and the center of the target tile is used as a starting point. By rotating the tile group by the skew correction angle, the invalid area generated by the rotation may be complemented.
[0093]
Furthermore, a modified example of the rotation process according to the skew correction angle will be described. FIG. 18 shows a state where the tile is rotated from one place of the image. As shown in FIG. 18, when the starting point of rotation corresponding to the skew correction angle for all tiles is set at one place in the image and all tiles are rotated according to this skew correction angle, the tiles are rotated. The moving distance increases as the distance from the center increases, but the rotation error can be eliminated. More specifically, as shown in (1) to (2) in FIG. 19, the tile to be rotated is expanded and rotated together with the surrounding tiles (see FIGS. 17A and 17B). Further, as shown in (3) of FIG. 19, a work memory for one document is secured in the RAM 8 separately from the original image. Then, as shown in (4) of FIG. 19, the rotated result is copied to the work memory of the RAM 8. At this time, the copy position is determined based on the distance from the center of rotation (upper left). That is, the copy position differs depending on the distance from the center of rotation (upper left). Thereby, the rotation error of each tile can be eliminated.
[0094]
In a format capable of acquiring data for each bit plane such as JPEG2000, there are few bit planes in which only the upper plane is extracted without using all bit planes for skew correction as in this embodiment. The skew correction angle may be detected using an image. As a result, it is possible to further reduce the skew correction angle detection time and reduce the memory used in the RAM 8.
[0095]
Further, a correction mode designation dialog X as shown in FIG. 20 may be displayed on the display device 15 to allow the user to designate speed priority or image quality priority (mode selection means). In this case, when the speed priority mode is designated, the resolution may be lowered, or a specific color space or a part of bit planes may be used (mode switching means). Further, when the image quality priority mode is designated, the resolution may be increased or all color spaces or all bit planes may be displayed (mode switching means).
[0096]
Here, when the skew correction for correcting the inclination of the image is executed based on the compressed image data, the skew correction process for the expanded image is executed for each tile. Thus, since it is sufficient to develop the image in the memory (RAM 8) in units of tiles, it is possible to avoid a memory shortage even in an apparatus or system with a small amount of mounted memory, and it is not subject to various restrictions.
[0097]
In the present embodiment, the skew correction angle is detected based on the timing mark, but the present invention is not limited to this. For example, as shown in FIG. 21, when the original image I is displayed on the display device 15, the grid line G is also displayed. As a result, when the original image I has an inclination (skew), the grid lines G and the ruled lines of the original image I are displayed in a shifted manner, so that the user can visually recognize the inclination (skew) of the original image I. Can be confirmed. Then, when the user operates the rotation button B (right rotation button B1, left rotation button B2), the original image I is actually rotated, and the actually rotated angle can be detected as the skew correction angle. . As a result, the user can visually check the skew correction angle, and the skew correction angle is detected by a simple method. When the skew correction angle is detected in this way, the processing of steps S4 to S7 described above is executed on condition that the user operates the skew correction button A, thereby correcting the skew of the entire image according to the skew correction angle. Executed.
[0098]
next, Second embodiment Will be described. The same parts as those described in the first embodiment are denoted by the same reference numerals, and description thereof is also omitted.
[0099]
FIG. 22 is a flowchart showing the flow of image correction processing executed by the CPU 6 in accordance with the image processing program. Here, as the image correction process, a display condition correction process for correcting the image display conditions (color correction, γ correction, edge enhancement, etc.) will be mainly described.
[0100]
In the image correction processing of the present embodiment, as shown in FIG. 22, first, after a compression code related to a low resolution image is decoded to obtain a low resolution image (step S11), this low resolution image is displayed on the display device. Is displayed on the display device 15 (step S12). Note that the resolution in this case matches the resolution of the display device 15.
[0101]
Subsequently, correction parameters (color correction, γ correction, edge enhancement, etc.) for the image are determined (steps S13 to S15). Here, the reception of the correction parameter from the user (step S13) and the display of the correction result image on the display device 15 for confirmation (step S14) until the correction parameter is determined (Y in step S15). repeat.
[0102]
Therefore, in steps S11 to S15, the function of the display condition acquisition unit is executed.
[0103]
When the correction parameters (color correction, γ correction, edge enhancement, etc.) are determined (Y in step S15), tiles (encoded data of each tile shown in FIG. 9) are sequentially extracted and expanded in the RAM 8, and the correction parameters are used. After executing the correction process, the compression process is performed to write back the code string data shown in FIG. 9, thereby correcting the display conditions of the entire image (steps S16 to S19: display condition changing means).
[0104]
Here, when the display condition correction for correcting the display condition of the image is executed based on the compressed image data, the display condition correction process for the expanded image is executed for each tile. Thus, since it is sufficient to develop the image in the memory (RAM 8) in units of tiles, it is possible to avoid a memory shortage even in an apparatus or system with a small amount of mounted memory, and it is not subject to various restrictions.
[0105]
In each embodiment, a still image has been described, but the present invention can also be applied to a moving image. The “Motion JPEG2000 algorithm” is a still image as described in each embodiment, that is, a moving image obtained by extending the method for a single frame to a plurality of frames. That is, “Motion JPEG2000” is a moving image by continuously displaying a JPEG2000 image of one frame at a predetermined frame rate (the number of frames reproduced per unit time) as shown in FIG. . Therefore, correction conditions (skew correction angles and correction parameters) are obtained for such moving images based on the first frame, and the correction conditions (skew correction angles and correction parameters) are applied to the other frames. Just do it. This is because the same correction is considered necessary for all frames. As a result, it is possible to shorten the detection time of the correction condition (skew correction angle and correction parameter).
[0106]
【The invention's effect】
According to the image processing apparatus of the first aspect, when the skew correction for correcting the inclination of the image is executed based on the compressed image data, the skew correction process for the expanded image is executed in units of tiles. As a result, since it is sufficient to develop an image in memory in units of tiles, a memory shortage can be avoided even in a device or system with a small amount of mounted memory, and various restrictions are not imposed.
[0107]
Claim 2 According to the invention described above, in the image processing apparatus according to claim 1, each tile is sequentially rotated in accordance with a skew correction angle detected based on an image obtained by expanding one tile, thereby quickly and reliably providing an image. Can be corrected.
[0108]
Claim 3 According to the described invention, Claim 2 In the described image processing apparatus, by detecting the skew correction angle based on the low-resolution image, it is possible to reduce the skew correction angle detection time and the memory used.
[0109]
Claim 4 According to the described invention, Claim 2 or 3 In the described image processing apparatus, the skew correction angle detection time can be reduced and the memory used can be reduced by detecting the skew correction angle using any one of the color spaces of the image. .
[0110]
Claim 5 According to the described invention, Claim 2 or 3 In the described image processing apparatus, the skew correction angle detection time can be shortened and the memory used can be reduced by detecting the skew correction angle using only the upper bit plane.
[0111]
Claim 6 According to the described invention, Claims 3 to 5 When the speed priority mode is designated by switching between the image quality priority mode and the speed priority mode according to the selection by the mode selection unit and executing the skew correction process, the resolution is reduced. Alternatively, a specific color space or a part of bit planes may be used. Further, when the image quality priority mode is designated, the resolution may be increased, or all color spaces or all bit planes may be displayed.
[0112]
Claim 7 According to the described invention, Claims 2 to 6 In the image processing apparatus according to any one of the above, the skew correction angle can be detected with high accuracy and at high speed by detecting the skew correction angle based on a timing mark preset in the image.
[0113]
Claim 8 According to the described invention, Claim 7 In the described image processing apparatus, by expanding only tiles that are highly likely to contain timing marks, it is possible to increase the processing speed and save memory.
[0114]
Claim 9 According to the described invention, Claim 7 In the described image processing apparatus, when a ROI (Region Of Interest) area is specified, only tiles that are highly likely to contain timing marks in the ROI area are expanded to further process. Speeding up and memory saving can be achieved.
[0115]
Claim 10 According to the described invention, Claims 2 to 6 In the image processing apparatus according to any one of the above, the user visually confirms the skew correction angle by displaying a grid and detecting the skew correction angle based on an image rotated according to the grid. In other words, the skew correction angle can be detected by a simple method.
[0116]
Claim 11 According to the described invention, Claim 2 In the described image processing apparatus, pixels can be complemented by a simple method with respect to the invalid area generated by rotation in each tile by complementing the invalid area generated by rotation in each tile. .
[0117]
Claim 12 According to the described invention, Claim 11 In the described image processing apparatus, by performing low-pass filter processing on a region where white pixels are completed, a region where white pixels are complemented can be made inconspicuous.
[0118]
Claim 13 According to the described invention, Claim 2 In the described image processing apparatus, a tile group is formed by a desired tile and three neighboring tiles adjacent at one corner of the tile, and the tile group is rotated by a skew correction angle from one corner of the tile group as a starting point. Thus, it is possible to supplement the invalid area caused by the rotation.
[0119]
Claim 14 According to the described invention, Claim 2 In the described image processing apparatus, a tile group is formed by a desired tile and four peripheral tiles adjacent to the right, left, top, and bottom of the tile, and the tile group is skew-corrected starting from the center of the desired tile. By rotating only the corner, the invalid area caused by the rotation can be complemented.
[0120]
Claim 15 According to the described invention, Claim 2 In the described image processing apparatus, the rotation error can be eliminated by setting the starting point of the rotation according to the skew correction angle for all the tiles at one place in the image.
[0121]
Claim 16 According to the described invention, Claims 1 to 15 In the image processing apparatus according to any one of the above, the moving image that continuously displays images at a predetermined frame rate is based on the image expanded in units of tiles in the first frame. Skew By obtaining the correction condition for the correction process and applying the correction condition to other frames, the detection time of the correction condition can be shortened.
[0122]
Claim 17 According to the program of the invention described above, when the skew correction for correcting the inclination of the image is executed based on the compressed image data, the skew correction process for the expanded image is executed for each tile, Therefore, even if the device or system has a small amount of mounted memory, it is possible to avoid a memory shortage and avoid various restrictions.
[0123]
Claim 18 According to the storage medium of the described invention, Claim 17 By storing the program described above, by causing the computer to read the program stored in this storage medium, Claim 17 Effects similar to those of the described invention can be obtained.
[Brief description of the drawings]
FIG. 1 is a functional block diagram of a system that implements a hierarchical encoding algorithm that is the basis of a JPEG2000 system that is a premise of an embodiment of the present invention.
FIG. 2 is an explanatory diagram showing a divided rectangular area of each component of the original image.
FIG. 3 is an explanatory diagram showing subbands at each decomposition level when the number of decomposition levels is 3. FIG.
FIG. 4 is an explanatory diagram showing a precinct.
FIG. 5 is an explanatory diagram showing an example of a procedure for ranking bit planes;
FIG. 6 is an explanatory diagram showing a schematic configuration of one frame of code string data.
FIG. 7 is a system configuration diagram showing a system including the image processing apparatus according to the first embodiment of the present invention.
FIG. 8 is an explanatory diagram illustrating an example of a divided image divided two-dimensionally.
FIG. 9 is an explanatory diagram showing a compression code generated according to the “JPEG2000 algorithm” based on the divided image.
FIG. 10 is an explanatory diagram showing a resolution model of a compression code generated according to the “JPEG2000 algorithm”.
FIG. 11 is a block diagram schematically illustrating a hardware configuration of the image processing apparatus.
FIG. 12 is a flowchart showing a flow of image correction processing.
FIG. 13 is an explanatory diagram showing timing marks.
FIG. 14 is a flowchart showing a flow of timing mark detection processing;
FIG. 15 is an explanatory diagram showing a search range of timing marks.
FIGS. 16A and 16B are diagrams illustrating a state where the tile is rotated starting from the upper left corner, and FIG. 16B is an explanatory diagram illustrating a state where the tile is rotated starting from the center of the tile.
FIG. 17A shows a case where a tile group is formed by a desired tile and three neighboring tiles adjacent to one corner of the tile, and the tile group is rotated with one corner of the tile group as a starting point. (B) shows a case where a tile group is formed by a desired tile and four peripheral tiles adjacent to the right, left, top, and bottom of the tile, and the tile group is rotated from the center of the desired tile. It is explanatory drawing shown.
FIG. 18 is an explanatory diagram showing a state in which the tile is rotated from one place of the image as a starting point.
FIG. 19 is a detailed explanatory diagram thereof.
FIG. 20 is a front view showing a correction mode designation dialog displayed on the display device.
FIG. 21 is a front view showing grid lines displayed together with the original image on the display device.
FIG. 22 Second embodiment It is a flowchart which shows the flow of this image correction process.
FIG. 23 is an explanatory diagram showing the concept of Motion JPEG2000.
[Explanation of symbols]
1 Image processing device
10,11 Storage media

Claims (18)

画像を複数に分割したタイル毎に画素値を離散ウェーブレット変換、量子化及び符号化という手順で圧縮して圧縮符号データを生成する手段と、圧縮符号データを前記手順の逆の手順で伸長して画像を生成する手段とを有する画像処理装置において、
圧縮符号データを伸長し、該伸長された画像に対して画像の傾きを補正するスキュー補正処理を施し、該スキュー補正処理された画像を再圧縮する一連の処理を、タイル単位で実行することを特徴とする画像処理装置。
Means for generating compressed code data by compressing the pixel values for each tile obtained by dividing the image into a plurality of steps, such as discrete wavelet transform, quantization, and encoding; and decompressing the compressed code data by reversing the above procedure In an image processing apparatus having means for generating an image,
A process of decompressing the compression code data, performing skew correction processing for correcting the inclination of the image on the expanded image, and executing a series of processing for re-compressing the image subjected to the skew correction processing in tile units. A featured image processing apparatus.
前記スキュー補正処理は、The skew correction process includes
一のタイルを伸長した画像に基づいてスキュー補正角を検出するスキュー補正角検出手段と、A skew correction angle detecting means for detecting a skew correction angle based on an image obtained by extending one tile;
このスキュー補正角検出手段により検出されたスキュー補正角に従って各タイルを順次回転させる画像回転手段と、Image rotating means for sequentially rotating each tile according to the skew correction angle detected by the skew correction angle detecting means;
によって実行されることを特徴とする請求項1記載の画像処理装置。The image processing apparatus according to claim 1, wherein the image processing apparatus is executed by:
前記スキュー補正角検出手段は、低解像度画像に基づいてスキュー補正角を検出することを特徴とする請求項2記載の画像処理装置。The image processing apparatus according to claim 2, wherein the skew correction angle detection unit detects a skew correction angle based on a low-resolution image. 前記スキュー補正角検出手段は、画像が有する色空間の何れか一つの色空間を利用してスキュー補正角を検出することを特徴とする請求項2または3記載の画像処理装置。The image processing apparatus according to claim 2, wherein the skew correction angle detection unit detects the skew correction angle using any one of color spaces of the image. 前記スキュー補正角検出手段は、上位ビットプレーンのみを利用してスキュー補正角を検出することを特徴とする請求項2または3記載の画像処理装置。4. The image processing apparatus according to claim 2, wherein the skew correction angle detection unit detects the skew correction angle using only the upper bit plane. 前記スキュー補正処理について画質を優先させる画質優先モードと処理速度を優先させる速度優先モードとを選択可能とするモード選択手段と、Mode selection means for enabling selection of an image quality priority mode that prioritizes image quality and a speed priority mode that prioritizes processing speed for the skew correction processing;
前記スキュー補正処理について、前記モード選択手段による選択に従って画質優先モードと速度優先モードとを切り替えるモード切替手段と、About the skew correction processing, mode switching means for switching between the image quality priority mode and the speed priority mode according to the selection by the mode selection means,
を備えることを特徴とする請求項3ないし5のいずれか一記載の画像処理装置。The image processing apparatus according to claim 3, further comprising:
前記スキュー補正角検出手段は、画像に予め設定されているタイミングマークに基づいてスキュー補正角を検出することを特徴とする請求項2ないし6のいずれか一記載の画像処理装置。The image processing apparatus according to claim 2, wherein the skew correction angle detection unit detects a skew correction angle based on a timing mark preset in the image. タイミングマークが含まれている可能性が高いタイルのみを伸長することを特徴とする請求項7記載の画像処理装置。The image processing apparatus according to claim 7, wherein only a tile that is highly likely to include a timing mark is expanded. ROI(Region Of Interest)領域が指定されている場合には、このROI領域内のタイミングマークが含まれている可能性が高いタイルのみを伸長することを特徴とする請求項7記載の画像処理装置。8. The image processing apparatus according to claim 7, wherein when a ROI (Region Of Interest) area is designated, only a tile that is likely to contain a timing mark in the ROI area is expanded. . 前記スキュー補正角検出手段は、グリッドを表示し、当該グリッドに応じて回転させられた画像に基づいてスキュー補正角を検出することを特徴とする請求項2ないし6のいずれか一記載の画像処理装置。7. The image processing according to claim 2, wherein the skew correction angle detection unit displays a grid and detects a skew correction angle based on an image rotated in accordance with the grid. apparatus. 前記画像回転手段は、各タイルで回転により発生する無効領域に対し、白画素を補完することを特徴とする請求項2記載の画像処理装置。The image processing apparatus according to claim 2, wherein the image rotation unit complements white pixels for an invalid area generated by rotation in each tile. 白画素を補完した領域に対してローパスフィルタ処理を施すことを特徴とする請求項11記載の画像処理装置。The image processing apparatus according to claim 11, wherein a low-pass filter process is performed on a region supplemented with white pixels. 前記画像回転手段は、所望のタイルと当該タイルの一角で隣接する3個の周辺タイルとによりタイル群を形成し、このタイル群の一の角を起点としてタイル群をスキュー補正角だけ回転させることを特徴とする請求項2記載の画像処理装置。The image rotation means forms a tile group by a desired tile and three peripheral tiles adjacent at one corner of the tile, and rotates the tile group by a skew correction angle starting from one corner of the tile group. The image processing apparatus according to claim 2. 前記画像回転手段は、所望のタイルと当該タイルの右、左、上、下に隣接する4個の周辺タイルとによりタイル群を形成し、所望のタイルの中央を起点としてタイル群をスキュー補正角だけ回転させることを特徴とする請求項2記載の画像処理装置。The image rotation means forms a tile group by a desired tile and four peripheral tiles adjacent to the right, left, top, and bottom of the tile, and the skew correction angle of the tile group starts from the center of the desired tile. The image processing apparatus according to claim 2, wherein the image processing apparatus is rotated only by the amount of rotation. 前記画像回転手段は、全てのタイルについてのスキュー補正角に応じた回転の起点を画像の一ヶ所に設定することを特徴とする請求項2記載の画像処理装置。The image processing apparatus according to claim 2, wherein the image rotation unit sets a rotation start point corresponding to a skew correction angle for all tiles at one position of the image. 画像を所定のフレームレートで連続して表示する動画像については、最初のフレームにおけるタイル単位で伸長された画像に基づいてスキュー補正処理に係る補正条件を求め、他のフレームについては当該補正条件を適用することを特徴とする請求項1ないし15のいずれか一記載の画像処理装置。For a moving image that displays images continuously at a predetermined frame rate, a correction condition related to skew correction processing is obtained based on an image expanded in tile units in the first frame, and the correction condition is set for other frames. The image processing apparatus according to claim 1, wherein the image processing apparatus is applied. 画像を複数に分割したタイル毎に画素値を離散ウェーブレット変換、量子化及び符号化という手順で圧縮して圧縮符号データを生成する機能と、圧縮符号データを前記手順の逆の手順で伸長して画像を生成する機能とをコンピュータに実行させるプログラムであって、前記コンピュータに、A function for generating compressed code data by compressing the pixel values for each tile obtained by dividing the image into a plurality of steps by discrete wavelet transform, quantization and coding, and decompressing the compressed code data by the reverse procedure of the above procedure A program for causing a computer to execute a function of generating an image, wherein the computer
圧縮符号データを伸長し、該伸長された画像に対して画像の傾きを補正するスキュー補正処理を施し、該スキュー補正処理された画像を再圧縮する一連の処理を、タイル単位で実行させることを特徴とするプログラム。A process of decompressing the compression code data, performing skew correction processing for correcting the inclination of the image on the expanded image, and executing a series of processing for re-compressing the image subjected to the skew correction processing in tile units. A featured program.
請求項17記載のプログラムを記憶していることを特徴とするコンピュータに読取り可能な記憶媒体。A computer-readable storage medium storing the program according to claim 17.
JP2002216234A 2002-07-25 2002-07-25 Image processing apparatus, program, and storage medium Expired - Fee Related JP4014085B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002216234A JP4014085B2 (en) 2002-07-25 2002-07-25 Image processing apparatus, program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002216234A JP4014085B2 (en) 2002-07-25 2002-07-25 Image processing apparatus, program, and storage medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007210181A Division JP4723543B2 (en) 2007-08-10 2007-08-10 Image processing apparatus, image processing method, program, and storage medium

Publications (2)

Publication Number Publication Date
JP2004064180A JP2004064180A (en) 2004-02-26
JP4014085B2 true JP4014085B2 (en) 2007-11-28

Family

ID=31938044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002216234A Expired - Fee Related JP4014085B2 (en) 2002-07-25 2002-07-25 Image processing apparatus, program, and storage medium

Country Status (1)

Country Link
JP (1) JP4014085B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5017555B2 (en) 2006-04-10 2012-09-05 株式会社メガチップス Image encoding apparatus and image decoding apparatus
JP5268279B2 (en) * 2007-04-24 2013-08-21 株式会社東芝 Thickness measuring device and thickness measuring method
JP5124509B2 (en) * 2009-03-05 2013-01-23 株式会社Pfu Image processing apparatus, tilt correction method, and program
CN115131582B (en) * 2022-07-19 2026-01-23 厦门大学 Target recognition method, device and medium based on morphological recognition template matching
CN115546493B (en) * 2022-12-06 2023-05-02 成都智元汇信息技术股份有限公司 Method, device and medium for filtering and weighing package identification information based on column data

Also Published As

Publication number Publication date
JP2004064180A (en) 2004-02-26

Similar Documents

Publication Publication Date Title
JP4064196B2 (en) Client computer, server computer, program, storage medium, image data processing system, and image data processing method
JP4111268B2 (en) Thumbnail image display method, server computer, client computer, and program
JP4128438B2 (en) Image processing apparatus, program, storage medium, and image editing method
JP4111926B2 (en) Image processing apparatus, program, storage medium, and image transmission method
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
US7526133B2 (en) Image processing apparatus, image processing program, and storage medium
US7430327B2 (en) Image processing apparatus, image processing program, and storage medium
JP2004254298A (en) Image processing apparatus, program, and storage medium
JP3952459B2 (en) Image processing apparatus, program, storage medium, and image processing method
JP4723543B2 (en) Image processing apparatus, image processing method, program, and storage medium
JP4014085B2 (en) Image processing apparatus, program, and storage medium
JP4089905B2 (en) Image processing apparatus, image processing method, program, and information recording medium
US8081093B2 (en) Code transforming apparatus and code transforming method
JP4280508B2 (en) Misalignment correction apparatus, image processing apparatus, program, storage medium, and misalignment correction method
JP4450322B2 (en) Image processing apparatus, image processing method, program, and information recording medium
JP4052952B2 (en) Image processing apparatus, image processing method, program, and storage medium
JP4145086B2 (en) Image decoding apparatus, image processing apparatus, moving image display system, program, storage medium, and image decoding method
JP2004056260A (en) Image decoding device, image processing device, program, storage medium, and image decoding method
JP4489474B2 (en) Image processing apparatus, program, and recording medium
JP2002369202A (en) Image compression device, image decompression device, image compression method, image decompression method, program, and recording medium recording the program
JP4323178B2 (en) Search object restriction device, image processing apparatus, program, storage medium, and search object restriction method
JP3961966B2 (en) Unnecessary part removing apparatus, image processing apparatus, program, storage medium, and unnecessary part removing method
JP4124436B2 (en) Motion estimation device, program, storage medium, and motion estimation method

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041006

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041206

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050418

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20060925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070810

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070906

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

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110921

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120921

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130921

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees