JP5201019B2 - 画像符号化装置及び画像符号化方法 - Google Patents

画像符号化装置及び画像符号化方法 Download PDF

Info

Publication number
JP5201019B2
JP5201019B2 JP2009057801A JP2009057801A JP5201019B2 JP 5201019 B2 JP5201019 B2 JP 5201019B2 JP 2009057801 A JP2009057801 A JP 2009057801A JP 2009057801 A JP2009057801 A JP 2009057801A JP 5201019 B2 JP5201019 B2 JP 5201019B2
Authority
JP
Japan
Prior art keywords
image
size
code block
encoding
vertical
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
JP2009057801A
Other languages
English (en)
Other versions
JP2010213059A (ja
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 JP2009057801A priority Critical patent/JP5201019B2/ja
Publication of JP2010213059A publication Critical patent/JP2010213059A/ja
Application granted granted Critical
Publication of JP5201019B2 publication Critical patent/JP5201019B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、画像をJPEG2000方式で符号化する画像符号化装置及び画像符号化方法に関するものであり、特に、画像を符号化する際に、ラインベースウェーブレット変換を用い、圧縮効率を落とさずにメモリ容量の制限の下で効率的に圧縮する画像符号化装置及び画像符号化方法に関するものである。
静止画像の圧縮方式として、従来広く用いられているJPEG(Joint Photographic Experts Group)よりも高画質、且つ多機能化の図られたJPEG2000の基本方式(part1)がISO/IEC 15444−1,ITU−T T.800で標準化されている。JPEG2000は、高圧縮率で画質向上が図られたのが特徴的で、符号量制御が容易で符号データ上の編集も可能であり、従来のJPEGに比べて機能性が高い。
JPEG2000符号化方式には、ウェーブレット変換が採用されている。ウェーブレット変換は、従来のJPEGで用いられている離散コサイン変換(DCT)のようなブロック単位の処理ではなく、画像全体に対して適用する周波数変換処理である。特許文献1には、ウェーブレット変換方式を利用した効果的な符号化及び復号化の方法が開示されている。ウェーブレット変換による方式を採用する際に、原画像における矩形領域に対応した各サブバンドの領域を一つの符号化単位としており、ラインバッファの容量が分解レベルで決定される。
ウェーブレット変換は画像全体に対して適用する周波数変換処理であるため、単純に実装すると、画像サイズの分だけの画素値もしくは変換係数を保持するためのバッファが処理過程を通して必要になってしまう。
これに対する解決策として、非特許文献2に記されたようなラインベースウェーブレット処理方式がある。ラインベースウェーブレット処理は、ウェーブレット変換のタップ数に応じた必要最小限のバッファ(ラインメモリ)に、逐次画素値もしくは変換係数をストアして変換処理を行う手法である。ラインベースでウェーブレット変換された後、これらの係数は、同時に全てを保持するのではなく、逐次エントロピー符号化してしまうことで係数用のバッファの空きを作ることができる。そのため、これが消費メモリ量の大幅な削減の効果を生み出す。
また、ラインベースでウェーブレット変換を行う方法に関しては、特許文献2によっても開示されている。特許文献2によれば、ウェーブレット変換に必要なバッファが、画像全体分に相当するバッファではなく、画像の縦のサイズに依存しないライン数によるラインバッファで済むという効果があると記載されている。
しかしながら、ラインベースウェーブレットを用いた場合でも、係数バッファの保持方法、ウェーブレット変換の分解レベル、符号化を実行する単位などによって、必要なバッファ量、即ち消費メモリ量が変化することになる。また、特許文献2にはラインベースでウェーブレット変換を行う方法が示されているが、コードブロックサイズの制御に関する記述はなされておらず、利用可能なバッファの制限下で圧縮する方法に関する記述もなされていない。
近年ではデジタルカメラや複写機などが処理する画像の解像度が非常に高くなっており、ラインベースウェーブレットを用いる場合でも、その消費メモリは、画像全体を処理するウェーブレットより遥かに小さいとはいえ、ラインでの処理が大きくなれば消費メモリも大きくなってしまうという問題が残る。
また、このようなデジタルカメラ、デジタルスキャナ、複合機などの機器では、搭載されているメモリが小さいだけでなく、使用できるメモリに制限がある場合が多く、入力され得るどんな画像に対しても、使用できるメモリ容量内で正常に動作するように制御することが求められる。
本発明は、前述した問題点に鑑みてなされたものであって、ラインベースウェーブレットを用いてJPEG2000方式で画像を符号化する際に、画像の圧縮効率を落とさずにメモリ容量の制限の下で、効率的な画像符号化を実現することをその目的の一つとする。
前述した課題を解決し、目的を達成するために、本発明にかかる画像符号化装置は、係数ラインバッファを用いたウェーブレット変換の処理を行う画像符号化装置において、符号化の対象となる画像を入力する画像入力手段と、画像入力手段で入力した画像の横方向のサイズに基づいて、符号化の最小単位であるコードブロックの縦方向のサイズを決定するコードブロックサイズ決定手段と、コードブロックサイズ決定手段で決定したコードブロックのサイズを用いて画像の符号化を行う画像符号化手段と、を備える。
本発明によれば、ラインベースのウェーブレット変換を用いて画像を符号化するので、画像処理を行う際に、使用可能なメモリ容量内で画像を処理することができ、省メモリを実現することができ、且つ、コードブロックが入力画像のサイズに応じて適切に設定されるので、画像の圧縮効率を落とさずに、メモリ容量の制限下で効率的な画像符号化を実現することができる、という効果を奏する。
図1は、JPEG2000の基本的な符号化と復号のアルゴリズムを説明するためのブロック図である。 図2は、一段のサブバンド分割(順変換)とデインターリーブ(逆変換)後のサブバンドの係数について示した図である。 図3は、画像分割における画像、タイル、サブバンド、プリシンクト、コードブロックの関係を示す図である。 図4は、コードブロックとビットプレーンの符号化順について示した図である。 図5は、デコンポジションレベルが2であり、プリシンクトサイズとサブバンドサイズを同等としたときのレイヤとそれに含まれるパケットの例を示した図である。 図6は、JPEG2000におけるパケットの属性の階層のプログレッション順を示した図である。 図7は、本発明の第1の実施形態にかかるPCのハードウェア構成を示すブロック図である。 図8は、第1の実施形態にかかる画像符号化装置の符号化処理を示すブロック図である。 図9は、第1の実施形態にかかるラインベースウェーブレットのウインドウを示す図である。 図10は、第1の実施形態にかかるラインベースウェーブレット変換を示す概念図である。 図11は、第1の実施形態にかかるラインベースウェーブレット変換によるエントロピー符号化の処理を示すフローチャートである。 図12は、LLサブバンドについて、次段へのサブバンド分解の処理を示すフローチャートである。 図13は、ウェーブレット変換と符号化に関する機能ブロック図である。 図14は、本発明にかかるラインベース符号化での係数バッファの確保例について示した図である。 図15は、JPEG2000のコードブロックサイズに対する制約を示すテーブル図である。 図16は、サイズの異なる二つの画像とそのコードブロックサイズの例を示した図である。 図17は、サイズの異なる二つの画像とそのコードブロックサイズの例を示した図である。 図18は、本発明の第4の実施形態にかかる画像符号化装置の符号化処理を示すブロック図である。 図19は、プリシンクト分割にかかるプリシンクトの分割単位について示した図である。
以下、添付図面を参照して、この発明にかかる画像符号化装置及び画像符号化方法の最良の実施形態を詳細に説明する。この実施形態により、この発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が容易に想定できるもの、または実質的に同一のものが含まれる。
図1〜6を参照して、JPEG2000の符号化処理の概要について説明する。なお、JPEG2000方式の変換式などの詳細については、非特許文献1を参照することによって得られる。JPEG2000は、画像圧縮方式の一つであって、従来広く用いられてきたJPEGを発展させた仕様であり、標準化・規格化されている。前述したように、ウェーブレット変換方式を採用しており、周波数帯域に分かれた縦横の周波数成分を量子化、符号化して圧縮を行う。詳細には、1次元の波を低周波成分と高周波成分に分割することがウェーブレットの作用であり、逆変換では低周波成分と高周波成分の組から元の信号を復元する。画像のような2次元のデータをウェーブレット変換すると、画像が行×列のデータの集合と捉えられるため、その各行又は各列に対して変換がなされる。
図1は、本発明にかかるJPEG2000の基本的な符号化と復号化のアルゴリズムを説明するためのブロック図である。
まず、画像は重複しない矩形領域(タイル)に分割され(分割数≧1)、タイル単位で処理される(画像全体を1つのタイルとして処理することも可能である)。次に、タイルはRGBの3コンポーネントで構成されるカラー画像を符号化する際に、分割されたタイルを輝度及び色差のコンポーネントへの色変換が施される。色変換部1では、RGB画像を輝度色差系のYCrCb画像に変換することにより、カラー画像の圧縮効率を高める処理を行うことができる。色変換は、カラー画像を効率良く圧縮するために行うものである。色変換には、可逆と非可逆の2つの方法が定義されている。
色変換されたコンポ−ネントは、2次元ウェーブレット変換部2において、ウェーブレット変換が施され、後述する4つのサブバンドに分割される。量子化部3では、量子化が行われ、エントロピー符号化部4、タグ処理部5を経て、符号化データが生成される。この処理が順変換で行われるのが符号化(圧縮)であり、逆変換で行われるのが復号(伸張)である。
JPEG2000のウェーブレット変換においては、整数型では5×3フィルタ、実数型では9×7フィルタが採用されている。可逆5×3フィルタの特徴は、変換のために使用される係数が整数であること、及び変換後の係数を丸め処理によって整数にすることである。
ここで、可逆5×3フィルタの変換式を式(1)に示す。
順変換
Y(2n+1)=X(2n+1)-floor((X(2n)+X(2n+2))/2) [step 1]
Y(2n)=X(2n)+floor((Y(2n-1)+Y(2n+1)+2)/2) [step 2]
逆変換 ・・・(1)
X(2n)=Y(2n)-floor((Y(2n-1)+Y(2n+1)+2)/4) [step 1]
X(2n+1)=Y(2n+1)+floor((X(2n)+X(2n+2))/2) [step 2]
また、可逆5×3フィルタとは反対に、非可逆9×7フィルタの特徴は、変換のために使用される係数が実数であること及び変換後の係数に対して丸め処理を行わないことである。以下、非可逆9×7フィルタの変換式を式(2)に示す。
順変換
Y(2n+1)=X(2n+1)+α*(X(2n)+X(2n+2)) [step 1]
Y(2n)=X(2n)+β*(Y(2n-1)+Y(2n+1)) [step 2]
Y(2n+1)=Y(2n+1)+γ*(Y(2n)+Y(2n+2)) [step 3]
Y(2n)=Y(2n)+δ*(Y(2n-1)+Y(2n+1)) [step 4]
Y(2n+1)=Κ*Y(2n+1) [step 5]
Y(2n)=(1/Κ)*Y(2n) [step 6]
逆変換・・・(2)
X(2n)=Κ*Y(2n) [step 1]
X(2n+1)=(1/Κ)*Y(2n+1) [step 2]
X(2n)=X(2n)-δ*(X(2n-1)+X(2n+1)) [step 3]
X(2n+1)=X(2n+1)-γ*(X(2n)+X(2n+2)) [step 4]
X(2n)=X(2n)-β*(X(2n-1)+X(2n+1)) [step 5]
X(2n+1)=X(2n+1)-α*(X(2n)+X(2n+2)) [step 6]
但し、α=-1.586134342059924
β=-0.052980118572961
γ=0.882911075530934
δ=0.443506852043971
Κ=1.230174104914001
図2は、一段のサブバンド分割(順変換)とデインターリーブ(逆変換)後のサブバンドの係数について示した図である。ウェーブレット変換によって、元の画像はHH,HL,LH,LLの4つのサブバンドに分割される。前述したように、2次元ウェーブレット変換では、縦方向の変換と横方向の変換を順に行うため、それぞれ2分の1サイズに分割され、結果的に4分の1サイズのサブバンドが4つ形成される。分割された4つのサブバンドの中から、LLサブバンドに対して再帰的にウェーブレット変換が行われ、再帰的ウェーブレット変換(デコンポジション)が繰り返されると、最終的に1つのサブバンドLLと複数のサブバンドHL,LH,HHが生成されることとなる。
順変換における変換後の係数は1/2に間引きされ、係数の数は変換前に対して水平方向、垂直方向ともに1/2の数になるが、HH、HL、LH、LLの4つのサブバンドに分解されるため、変換前と変換後で係数の数は変わらない。この分解をLL成分に対して再帰的に繰り返すことによって、JPEG2000の周波数分解が実現される。
図3は、画像分割における画像、タイル、サブバンド、プリシンクト、及びコードブロックの関係を示した図である。プリシンクトとは、サブバンドを矩形に分割したものであって、同じデコンポジションレベルのサブバンドHL,LH,HHの空間的に同じ位置にある3つの領域の組が1つのプリシンクトとして扱われる。ただし、LLサブバンドは、1つの領域が1つのプリシンクトとして扱われる。プリシンクトのサイズはサブバンドと同じサイズにすることができ、プリシンクトを分割した矩形領域がコードブロックである。ここで、コードブロックとは符号化の単位であり、エントロピー符号化はコードブロックごとに独立に行われる。物理的な大きさの序列は、画像≧タイル>サブバンド≧プリシンクト≧コードブロックとなる。
図4は、コードブロックとビットプレーンについての符号化順を示した図である。サブバンド分割がなされたことによって、コードブロック毎に、且つビットプレーン順に、係数のエントロピー符号化(ビットプレーン符号化)が行われる。プリシンクトに含まれる全てのコードブロックからビットプレーンの符号の一部を取り出して集め、ヘッダのついたものをパケットと呼ぶ。取り出した符号は、例えば、全てのコードブロックのMSBから、3枚目までのビットプレーンの符号を集めたものであってもよい。また、符号の一部は「空(から)」の状態であっても良いので、パケットの中身が符号的には「空(から)」ということもある。パケットのヘッダには、当該パケットに含まれる符号に関する情報が含まれており、各パケットは独立に扱うことができる。パケットは符号の単位である。
そして全てのプリシンクト(即ち、全てのコードブロック、全てのサブバンドと同じ)のパケットを集めると、画像全域の符号の一部(例えば、画像全域のウェーブレット係数のMSBから3枚目までのビットプレーンの符号)が生成されるが、これをレイヤと呼ぶ。レイヤは画像全体のビットプレーンの符号の一部であるので、復号されるレイヤ数が多いほど当該画像の画質は良好になる。すなわち、レイヤはビット深さ方向に形成された画質の単位である。すべてのレイヤが集められることによって、画像全体のビットプレーンが符号化されることとなる。
図5は、デコンポジションレベルが2であり、プリシンクトサイズとサブバンドサイズを同等としたときのレイヤと、それに含まれるパケットの例を示した図である。パケットは、プリシンクトを単位とするものであるから、プリシンクトがサブバンドと同じであるとした場合、サブバンドHL〜HHをまたいだものとなる。また、説明を明瞭にするために、図中において、いくつかのパケットを太線で囲んだ。
図6は、JPEG2000におけるパケットの属性の階層のプログレッション順を示した図である。生成されたパケット及びレイヤの区切りに従って、パケットを並べる作業を符号形成という。即ち、パケットは、どのコンポ−ネントに属するか、どの解像度レベルに属するか、どのプリシンクト(場所)に属するか、どのレイヤに属するか、という4つの属性を有する。パケットの配列とは、どの属性の順に階層的に並べるかを意味するものである。該配列順をプログレッションオーダとよび、図6を参照すると、5通りの配列順が示されている。
次に、エンコーダがプログレッション順にパケットを並べる様子、およびデコーダがプログレッション順にパケットの属性を解釈する様子の例を示す。コンポーネントをC、解像度レベルをR、プリシンクトをP、レイヤをLとすると、LRCPプログレッションの場合、L、R、C、Pの順にネストされた次のようなforループ
for (レイヤ){
for (解像度レベル){
for (コンポ−ネント){
for (プリシンクト){
エンコード時:パケットを配置
デコード時:パケットの属性を解釈




という階層順に、エンコード時にパケットが配列され、デコード時には、パケットの解釈がなされる。各パケットはパケットヘッダを有する。パケットヘッダに含まれる情報には、そのパケットが空かどうか、そのパケットにどのコードブロックが含まれるか、そのパケットに含まれる各コードブロックのゼロビットプレーン数、そのパケットに含まれる各コードブロック符号のコーディングパス数(ビットプレーン数)、そのパケットに含まれる各コードブロックの符号長などが含まれる。
しかしながら、パケットヘッダにはレイヤ番号や解像度番号等の記載はなく、デコード時に、そのパケットがどのレイヤのどの解像度であるかを判別するには、メインヘッダ中のCODマーカに記載されたプログレッションオーダから上記forループを形成し、そのパケットに含まれる各コードブロックの符号長の和からパケットの切れ目を判別し、各パケットが、forループ内のどの位置でハンドリングされたかを見ればよい。即ち、パケットヘッダ中の符号長さえ読み出すことができれば、エントロピー符号自体をデコードしなくても、次のパケットを検出することができる。従って、任意のパケットにアクセスできることを意味する。
(第1の実施形態)
本発明における第1の実施形態では、ウェーブレット変換方式を用いるJPEG2000による符号化方式において、係数ラインバッファを用いたウェーブレット変換方式を採用して、画像の符号化処理を行う画像符号化装置について説明する。
図7は、第1の実施形態にかかるパーソナルコンピュータ(PC)のハードウェア構成を示すブロック図である。本実施形態にかかるPC100は、CPU(Central Processing Unit)101、RAM(Random Access Memory)102、HDD(Hard Disk Drive)103等をシステムバス104により相互接続した一般的なPCである。なお、本実施形態では、画像符号化装置を備える一般的なPCについて説明したが、PCに限られず、MFP(Multi Function Peripheral)、デジタル複写機、プリンタ、ファクシミリ、スキャナ機能付コピーなどの画像符号化処理を行うものであれば、本実施形態の画像符号化装置を適用することができる。
CPU101は、PC100の全体を制御するためのマイクロプロセッサである。RAM102は、各種データを書換え可能に記憶する性質を有していることから、CPU101の作業エリアとして機能し、バッファ等の役割を果たす。HDD103は、画像やCPU101により実行される各種プログラムを記憶する情報記録媒体である。
なお、情報記録媒体としては、HDD103のみならず、CD(Compact Disk)−ROM、DVD(Digital Versatile Disk)などの各種の光ディスク、各種光磁気ディスク、フレキシブルディスクなどの各種磁気ディスク等、半導体メモリ等の各種方式のメディアを用いることができる。また、図示しない外部I/F装置を介してインターネットなどのネットワークからプログラムをダウンロードし、HDD103にインストールするようにしてもよい。このような場合に、送信側のサーバでプログラムを記憶している記憶装置も、本発明における情報記録媒体である。なお、プログラムは、所定のOS(Operating System)上で動作するものであってもよい。その場合には、後述する各種処理の一部の実行をOSに肩代わりさせるものであってもよい。または、所定のアプリケーションソフトやOSなどを構成する一群のプログラムファイルの一部として含まれるものであってもよい。
このシステム全体の動作を制御するCPU101は、このシステムの主記憶装置として使用されるHDD103に記憶されたプログラムに基づいて、各種処理を実行する。
次に、PC100のHDD103に記憶されているプログラムがCPU101に実行させる機能のうち、本実施形態のPC100が備える特長的な機能について説明する。
まず、図7を参照して、PC100が備える特長的な機能の概略について説明する。(1)HDD103より、処理対象となる原画像がCPU101からの命令によってRAM102に読み込まれる。(2)CPU101は、RAM102上の原画像を読み込み、後述するように、本実施形態のコードブロックサイズを決定し、ウェーブレット変換を用いた符号化を行う。(3)CPU101は、符号化されたデータをRAM102上の別の領域に書き込む。(4)CPU101からの命令によってその符号化されたデータがHDD103に保存される。
図8は、本実施形態にかかる画像符号化装置の符号化処理を示すブロック図である。図8によれば、画像入力部201は、符号化の対象となるRAM102に読み込まれた画像を入力画像として入力する。コードブロックサイズ決定部202は、画像入力部201で入力した画像のサイズ(画像の横方向のサイズ)を取り込み、画像のサイズに基づいて、符号化の最小単位であるコードブロックの縦方向のサイズを決定する。画像符号化部203は、画像入力部201から画像を入力し、コードブロックサイズ決定部202で決定したコードブロックのサイズを用いて、入力画像にウェーブレット変換処理を行い、入力画像の符号化を行う。ここで、画像符号化部203において行われる符号化処理は、量子化、係数ビットモデリング、エントロピー符号化の全ての符号化工程を行う処理である。符号化処理された画像は、一旦RAM102に書き込まれて、HDD103上の所定の領域に書き込まれる。
次に、本実施形態のラインベース符号化について詳細に説明する。図9は、本実施形態にかかるラインベースウェーブレットのウインドウを表した図である。ラインベースウェーブレットは、前述したように、画像全体分の係数バッファを用意してウェーブレット変換を施す方法とは異なり、図9のように、画像を横方向に短冊状に切り出し、縦方向にLの長さを持つウインドウに対して順にウェーブレット変換を行う方法である。ここで、係数バッファは画像全体分を保持する必要はなく、同時に数ライン分の係数バッファを保持すれば良い。
図10は、本実施形態にかかるラインベースウェーブレット変換について示した図である。図10について詳細に説明すると、まずLラインの画像データ(図10の入力画素)をラインバッファに読み込む。ここで、入力画像の画素値に対して色変換を行う場合には、色変換後の各プレーンの画素値をLラインのラインバッファに展開する。次に、この画像データに対して垂直方向のウェーブレット変換を行うと、ハイパスフィルタ及びローパスフィルタによって、垂直方向ハイパス成分と垂直方向ローパス成分に分解される。このとき、Lの値はウェーブレット変換に用いるフィルタサイズ以上の値である必要がある。
次に、垂直方向ハイパス成分と垂直方向ローパス成分のそれぞれに対して、水平方向のウェーブレット変換を行う。この結果として生成されるのが、サブバンドHH、HL、LH、LLの係数成分であり、画像全体に同時にウェーブレット変換を行った場合に生成されるサブバンド係数成分と同じものである。図10ではウェーブレット変換に9×7フィルタを用いた例を示している。
図10におけるフィルタの長さをFとすると、Fラインの画素値(もしくは色変換後の画素値)を読み込み、1ラインのサブバンドHH、HL、LH、LL成分を出力する。例えば、(F+K)ラインを一度に読み込んだ場合、一度に(1+K)ラインの各サブバンド信号が出力されることになる。生成されたサブバンド信号のうち、HH、HL、LHサブバンド信号はさらに分解がなされないため、HH、HL、LHのサブバンド信号については符号化ステップへ進むこととなる(図11参照)。一方、生成されたサブバンドのうち、LLサブバンドは、さらに次段のウェーブレット変換が行われ、下位の分解レベルのサブバンド信号に分解される。
図11は、本実施形態にかかるラインベースウェーブレット変換によるエントロピー符号化の処理を示すフローチャートである。ここでは、HH、HL、LHのサブバンド信号のラインベース符号化処理について、フローチャートに従って簡単に説明する。
最初に、画像から短冊状に切り出した、画像の続くL行を係数バッファに読み込む(ステップS1101)。読み込まれた係数バッファのデータに対して、ウェーブレット変換を行う(ステップS1102)。ここで、エントロピー符号化を行う単位は、コードブロックごとであるため、コードブロック分の係数が生成される必要がある。ウェーブレット変換がなされた係数は、コードブロック単位の係数が生成されるまでメモリに蓄えられる。係数は画像のラインで出力され、コードブロックの縦方向のサイズに対して十分な変換係数が生成されれば(ステップS1103,Yes)、サブバンド係数は量子化される(ステップS1104)。量子化されたサブバンド係数は、ビットモデリングを行い(ステップS1105)、エントロピー符号化する処理が行われる(ステップS1106)。一方、コードブロックサイズに対して、十分な変換係数が生成されなければ(ステップS1103,No)、ステップS1101に戻り、続く係数バッファの読み込み処理が行われる。以上が、一段のウェーブレット変換についての処理である。
図12は、LLサブバンドについて、次段のサブバンド分解の処理を示すフローチャートである。以下、LLサブバンドの処理を簡単に説明する。図11のフローチャートと同様に、まず、画像から短冊状に切り出したL行を係数バッファに読み込み(ステップS1201)、係数バッファのデータに対してウェーブレット変換を行う(ステップS1202)。次に、前述したようにLLサブバンド信号については、さらに次段のウェーブレット変換が施されるため、再分解に十分なLLサブバンド係数が生成されれば(ステップS1203,Yes)、LLサブバンド係数のウェーブレット変換が行われて下位の分解レベルに分解される(ステップS1204)。再分解に十分とされるLLサブバンド係数が生成されなければ(ステップS1203,No)、ステップS1201に戻り、続く係数バッファの読み込み処理が行われる。ここで、最大分解レベルまで達したLLサブバンド成分は、他のHH、HL、LHサブバンドと同様に図11のフローチャートの流れに従って符号化される。
図13は、ウェーブレット変換と符号化に関する機能ブロック図である。図13に示すように、ウェーブレット変換され、サブバンド分解された各係数は、HH、HL、LH、LL係数バッファに蓄えられる。係数バッファに蓄えられた係数のうち、HH、HL、LHの係数は符号化部へ入力され、符号が生成される。LLサブバンドの係数については、次段のウェーブレット変換がなされる。
次に、本実施形態のラインベース符号化に伴う係数バッファの確保例について説明する。図14は、本実施形態におけるラインベース符号化に伴う係数バッファの確保例を示した図である。例として、分解レベルが3の場合は、多段ウェーブレット変換の過程において、複数のサブバンド1HH、1HL、1LH、1LL、2HH、2HL、2LH、2LL、3HH、3HL、3LH、3LLのサブバンド係数が生成される。
ラインベースウェーブレット変換ではなく、画像全体に適用されるようなウェーブレット変換を用いる場合は、複数のサブバンド係数が同時にメモリに展開される。しかし、ラインベースウェーブレット変換によれば、コードブロックごとに処理が行われるため、同時にメモリに展開されるのは、各サブバンドのコードブロックの縦サイズに相当するライン分とすることができる。
例えば、コードブロックサイズが32*32であるとすると、全てのサブバンドに関して、それぞれ32ラインずつの係数バッファを同時に保持することとなる。32ライン分の係数が蓄積されたHH、HL、LHサブバンドは、随時エントロピー符号化までがなされ、符号が生成されるとメモリ上で保持する必要が無くなり、その部分が上書きされる。ここで、古いラインから優先的に上書きされる32ラインの循環バッファを用いることが望ましい。
また、1LL、2LLサブバンドのサブバンド係数は、再帰的にウェーブレット変換されるため、必ずしも32ラインを必要とはしない。但し、さらにウェーブレット変換がなされるため、ウェーブレット変換に必要なフィルタサイズのラインバッファを備えることが必要である。ここでも、ウェーブレット変換の際のウィンドウサイズに応じて、循環バッファを用いることが望ましい。
前述した係数バッファを用いる場合、ラインベースウェーブレット変換の処理の過程において必要なメモリ量は、入力画像の入力方向に対する横方向のサイズ(横サイズ)と、コードブロックの縦方向のサイズ(縦サイズ)によって決定される。
ここで、コードブロックの縦方向のサイズを算出する方法について説明する。入力画像の横方向のサイズをW、コードブロックの縦方向のサイズをCv、入力された画素(もしくは色変換後の画素)の精度をPバイト、分解レベルをn、サブバンド係数の精度をBytesCoeffバイトとすると、ウェーブレット変換を行う際に画素値(もしくはLL成分)をL行ずつ読み込むウィンドウラインバッファと、同時に全てのサブバンド係数を保持する係数バッファの合計から計算されるメモリ使用量は、式(3)のように算出できる。
Figure 0005201019
よって、上記式(3)を用いて、使用可能なメモリ使用量と画像横サイズから、コードブロックの縦方向の最大サイズを算出することが望ましい。
ここで、コードブロックサイズには一定の制限が設けられる。図15は、JPEG2000のコードブロックサイズに対する制限を示すテーブル図である。図15に示されたように、コードブロックサイズは、算出した最大コードブロックサイズを超えず、2のべき乗であって、縦サイズと横サイズにおける2のべき乗の指数の和が12以下である値を選択することが望ましい。
本実施形態にかかる画像符号化装置によれば、入力画像の横サイズによって符号化の最小単位であるコードブロックの縦方向のサイズを決定するので、使用可能なメモリ容量内で画像を処理することができ、高解像度の画像に対しても省メモリを実現することができる。また、入力画像の横サイズを用いて、ウェーブレット変換処理に利用可能なメモリ領域の最大容量から、コードブロックの縦方向のサイズを算出するようにしたので、画像の符号化効率を落とさずに、メモリ容量の制限下で効率的な符号化を実現することができる。
(第2の実施形態)
本発明の第2の実施形態では、コードブロックの縦方向のサイズを決定する際、第1の入力画像の横方向のサイズより第2の入力画像の横方向のサイズが大きい場合、第1の画像に用いるコードブロックの縦方向のサイズより第2の画像に用いるコードブロックの縦方向のサイズを小さくする画像符号化装置について説明する。
本実施形態においても、第1の実施形態で説明した一般的なハードウェア構成を有するPCが用いられる(図7参照)。また、第1の実施形態で示した画像符号化装置の符号化処理の機能を同様に有する(図8参照)。
画像を横方向に短冊状に切り出したラインを基準とした係数ラインバッファを用いるラインベースウェーブレット変換であれば、横サイズが非常に大きい画像を処理する場合に、ウェーブレット変換の係数バッファとして大量の作業用メモリが必要となる。そのために、入力画像の横サイズに応じて、コードブロックサイズを決定することが望ましい。
図16は、サイズの異なる二つの画像とそれらのコードブロックサイズの例を示した図である。図16に示すように、例えば、入力画像の横サイズが2048画素である画像1を符号化するときには、コードブロックの縦サイズが64であるコードブロックを用いて符号化する。また、入力画像の横サイズが4096の画像2を符号化するときには、コードブロックの縦サイズが32であるコードブロックを用いて符号化する。
このように、相対的に横方向に長い画像2の場合は、コードブロックの縦サイズが32に制限されるため、縦サイズ64のコードブロックサイズを使用した場合と比較して、ラインベースによる大量の作業用メモリが発生するのを抑えることができる。画像1の処理時においても、画像2の処理時においても、処理時に必要とされる作業用メモリが大きく変化することがないため、安定して画像の符号化を行うことができる。
本実施形態によれば、画像サイズの違いによって、メモリで処理される係数バッファの量が増加するのを抑えることができるため、画像サイズの違いによる影響を受けることなく、安定的な画像符号化処理を実現することができる。
(第3の実施形態)
本発明の第3の実施形態では、コードブロックの縦方向のサイズを決定する際、第1の入力画像の横方向のサイズより第2の入力画像の横方向のサイズが大きい場合、コードブロックの面積を保ったままで、第1の画像に用いるコードブロックの縦方向のサイズより第2の画像に用いるコードブロックの縦方向のサイズを小さくする画像符号化装置について説明する。
本実施形態においても、第1の実施形態で説明した一般的なハードウェア構成を有するPCが用いられる(図7参照)。また、第1の実施形態で示した画像符号化装置の符号化処理の機能を同様に有する(図8参照)。
コードブロックサイズは、エントロピー符号化の効率に影響を及ぼす。コードブロック毎にエントロピー符号化のコンテクストが初期化されるためである。そのため、コードブロックサイズを決定する際には、コードブロックに含まれる係数の数が少なくなり過ぎてはいけない。64*64のサイズや32*32のサイズが適当な大きさであることが経験的に分かっている。
例えば、図17に示すように、二種類の入力画像があり、相対的に横方向のサイズが短い画像と長い画像を符号化する場合を考える。図17に示されたように、入力画像の横方向のサイズが2048画素である画像1及び横方向のサイズが4096画素の画像2を符号化する。画像1を符号化する場合には、コードブロックサイズを縦64*横32とし、入力方向に対して縦長の矩形となる。また、画像2を符号化する場合には、コードブロックサイズを縦32*横64とし、入力方向に対して横長の矩形となる。
コードブロックの縦方向のサイズを決定する際に、第1の入力画像の横方向のサイズより第2の入力画像の横方向のサイズが大きい場合、コードブロックの面積を一定に保ったままで、第1の画像に用いるコードブロックの縦方向のサイズより第2の画像に用いるコードブロックの縦方向のサイズを小さくする。即ち、コードブロックの面積が一定に保たれたまま、コードブロックの縦方向のサイズを小さくするので、コードブロックの横方向のサイズが大きくなることを意味する。
このように、コードブロックの面積を一定にして縦方向のサイズを調整することによって、コードブロックに含まれる係数の数を減らすことなく一定に保つことができ、消費メモリの増加を防ぐことができる。
なお、第1〜第3の実施形態において用いた入力画像の横方向のサイズを入力画像の縦方向のサイズとしてもよく、その際にコードブロックの縦方向のサイズは、コードブロックの横方向のサイズとしてもよい。換言すれば、入力画像の横方向を入力画像の縦方向に、コードブロックサイズの縦方向をコードブロックの横方向に、コードブロックサイズの横方向をコードブロックの縦方向に、置き換えてもよい。
(第4の実施形態)
前述した第1〜3の実施形態では、サブバンド全体を分割して符号化する形態、即ち、主にプリシンクト分割を行わずに符号化する形態について説明した。第4の実施形態においては、プリシンクト分割を用いて画像を符号化する画像符号化装置について説明する。
本実施形態においても、第1の実施形態で説明した一般的なハードウェア構成を有するPCが用いられる(図7参照)。
図18は、本実施形態にかかる画像符号化装置の符号化処理を示すブロック図である。図18によれば、画像入力部301は、符号化の対象となるRAM102に読み込まれた画像を入力画像として入力する。プリシンクトサイズ決定部302は、画像入力部301で入力した画像のサイズ(画像の横方向のサイズ)を取り込み、画像のサイズに基づいて、サブバンド係数空間で分割する単位であるプリシンクトの縦方向のサイズを決定する。画像符号化部303は、画像入力部301から画像を入力し、プリシンクトサイズ決定部302で決定したプリシンクトのサイズを用いて、入力画像にウェーブレット変換処理を行い、入力画像の符号化を行う。ここで、画像符号化部303において行われる符号化処理は、量子化、係数ビットモデリング、エントロピー符号化の全ての符号化工程を行う処理である。符号化処理された画像は、一旦RAM102に書き込まれて、HDD103上の所定の領域に書き込まれる。
前述したように、コードブロックは、プリシンクトの矩形領域を超えないように切り取られる。即ち、コードブロックのサイズはプリシンクトのサイズを超えないため、本実施形態によれば、コードブロックサイズを変更することなく、プリシンクトサイズを変更することで、消費メモリの増加を抑えることができる。
例えば、コードブロックサイズを64*64で一定の値をとるように設定する場合、入力画像の横方向のサイズが大きい場合は、例えば、32*32のプリシンクトサイズによってプリシンクト分割を行うと、プリシンクトサイズを超えるサブバンド係数を保持しておく必要はないので、コードブロックの縦方向のサイズを小さくした場合と同様の係数バッファ量の削減効果が得られる。
ここで、プリシンクト分割を行う際には、図19に示すような制約が設けられる。図19によれば、プリシンクトは、(0,0)を原点として水平方向に2のPPxべき乗、垂直方向に2のPPyべき乗の大きさで分割される。また、プリシンクト分割は各分解レベルに対して独立にプリシンクトサイズを決定することができる。全分解レベルにおいて同じプリシンクトサイズを用いてもよいし、特定の分解レベルのみをプリシンクト分割するということであってもよい。
分解レベルが0である、即ち最大解像度を有するサブバンドは、1ラインに含まれる係数の数が最も多いので、分解レベル0のサブバンドを32*32などの適切なサイズでプリシンクト分割することが省メモリには最も効果的となる。
本実施形態によれば、コードブロックサイズを一定に保ったままで、コードブロックサイズを変更することなく、プリシンクトサイズを決定することで消費メモリの増加を抑えた画像符号化処理を行うことができる。
以上、本発明について実施形態を用いて説明したが、前述した実施形態に多様な変更または改良を加えることができる。
100 PC
101 CPU
102 RAM
103 HDD
104 システムバス
201、301 画像入力部
202 コードブロックサイズ決定部
203、303 画像符号化部
302 プリシンクトサイズ決定部
特開2005−295540号公報 特開2000−299863号公報
ISO/IEC 15444−1,ITU−T T.800 JPEG 2000 Christos Chrysafis,Antonio Ortega著 「Line Based, Reduced Memory, Wavelet Image Compression」,IEEE Transactions on Image Processing,p398−407, 1998年

Claims (11)

  1. 係数ラインバッファを用いたウェーブレット変換の処理を行う画像符号化装置において、
    符号化の対象となる画像を入力する画像入力手段と、
    前記画像入力手段で入力した画像の横方向のサイズに基づいて、符号化の最小単位であるコードブロックの縦方向のサイズを決定するコードブロックサイズ決定手段と、
    前記コードブロックサイズ決定手段で決定したコードブロックのサイズを用いて画像の符号化を行う画像符号化手段と、
    を備えることを特徴とする画像符号化装置。
  2. 前記コードブロックサイズ決定手段は、前記画像入力手段で入力した画像の横方向のサイズを用いて、ウェーブレット変換処理に利用可能なメモリ領域の最大容量から、前記コードブロックの縦方向のサイズを算出することを特徴とする請求項1に記載の画像符号化装置。
  3. 前記コードブロックサイズ決定手段は、前記コードブロックの縦方向のサイズを決定する際に、前記画像入力手段で入力した第1の画像の横方向のサイズより第2の画像の横方向のサイズが大きい場合、前記第1の画像に用いるコードブロックの縦方向のサイズより前記第2の画像に用いるコードブロックの縦方向のサイズを小さくすることを特徴とする請求項1または2に記載の画像符号化装置。
  4. 前記コードブロックサイズ決定手段は、前記コードブロックの縦方向のサイズを決定する際に、前記画像入力手段で入力した第1の画像の横方向のサイズより第2の画像の横方向のサイズが大きい場合、前記コードブロックの面積を保ったままで、前記第1の画像に用いるコードブロックの縦方向のサイズより前記第2の画像に用いるコードブロックの縦方向のサイズを小さくすることを特徴とする請求項1〜3のいずれか一つに記載の画像符号化装置。
  5. 前記コードブロックサイズ決定手段は、前記ウェーブレット変換によって生成される全てのサブバンドにおいて、前記コードブロックの縦方向のサイズ以上のライン数のバッファを用いて、前記画像入力手段で入力した画像の横方向のサイズに基づいて、前記コードブロックの縦方向のサイズを決定することを特徴とする請求項1または2に記載の画像符号化装置。
  6. 前記コードブロックサイズ決定手段は、前記ウェーブレット変換によって生成される全てのサブバンドにおいて、前記コードブロックの縦方向のサイズ以上のライン数のバッファを用いて、前記画像入力手段で入力した画像の横方向のサイズに基づいて、前記コードブロックの縦方向のサイズと同時に横方向のサイズを決定することを特徴とする請求項1または2に記載の画像符号化装置。
  7. 前記コードブロックの縦方向のサイズは、前記ウェーブレット変換の処理に用いるフィルタサイズ以上の値であることを特徴とする請求項1〜6のいずれか一つに記載の画像符号化装置。
  8. 前記横方向のサイズを縦方向のサイズに、且つ、前記縦方向のサイズを横方向のサイズに置き換えて構成されたことを特徴とする請求項1〜7のいずれか一つに記載の画像符号化装置。
  9. 係数ラインバッファを用いたウェーブレット変換の処理を行う画像符号化装置において、
    符号化の対象となる画像を入力する画像入力手段と、
    前記画像入力手段で入力した画像の横方向のサイズに基づいて、サブバンド係数空間で分割する単位であるプリシンクトの縦方向のサイズを決定するプリシンクトサイズ決定手段と、
    前記プリシンクトサイズ決定手段で決定したプリシンクトのサイズを用いて画像の符号化を行う画像符号化手段と、
    を備えることを特徴とする画像符号化装置。
  10. 画像符号化方式として、JPEG2000方式を用いたことを特徴とする請求項1〜9のいずれか一つに記載の画像符号化装置。
  11. 請求項1〜10のいずれか一つに記載の画像符号化装置において実行される画像符号化方法。
JP2009057801A 2009-03-11 2009-03-11 画像符号化装置及び画像符号化方法 Expired - Fee Related JP5201019B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009057801A JP5201019B2 (ja) 2009-03-11 2009-03-11 画像符号化装置及び画像符号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009057801A JP5201019B2 (ja) 2009-03-11 2009-03-11 画像符号化装置及び画像符号化方法

Publications (2)

Publication Number Publication Date
JP2010213059A JP2010213059A (ja) 2010-09-24
JP5201019B2 true JP5201019B2 (ja) 2013-06-05

Family

ID=42972772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009057801A Expired - Fee Related JP5201019B2 (ja) 2009-03-11 2009-03-11 画像符号化装置及び画像符号化方法

Country Status (1)

Country Link
JP (1) JP5201019B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5469127B2 (ja) 2011-05-30 2014-04-09 富士フイルム株式会社 画像データ符号化装置ならびにその動作制御方法およびそのプログラム
AU2017204643B2 (en) * 2017-07-07 2020-05-14 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003051952A (ja) * 2001-08-06 2003-02-21 Fuji Xerox Co Ltd 画像処理装置
JP2004357154A (ja) * 2003-05-30 2004-12-16 Minolta Co Ltd データ処理装置
JP4603446B2 (ja) * 2004-09-29 2010-12-22 株式会社リコー 画像処理装置、画像処理方法および画像処理プログラム
JP4315926B2 (ja) * 2005-03-18 2009-08-19 株式会社リコー 画像処理装置、画像処理方法、プログラムおよび記録媒体

Also Published As

Publication number Publication date
JP2010213059A (ja) 2010-09-24

Similar Documents

Publication Publication Date Title
JP4177583B2 (ja) ウェーブレット処理システム、方法及びコンピュータプログラム
US6314452B1 (en) System and method for transmitting a digital image over a communication network
US7565020B2 (en) System and method for image coding employing a hybrid directional prediction and wavelet lifting
JP4003945B2 (ja) 画像処理装置、画像処理方法、プログラム及び記憶媒体
US20090245668A1 (en) Picture encoding apparatus and method, program and recording medium
CN101309417B (zh) 用于处理图像数据的方法和设备
WO1999053429A1 (en) Multiresolution compressed image management system and method
JP5469127B2 (ja) 画像データ符号化装置ならびにその動作制御方法およびそのプログラム
JP4349816B2 (ja) 画像処理装置、画像圧縮装置、画像処理方法、画像圧縮方法、プログラム、及び記録媒体
JP2007142614A (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
JP2004248152A (ja) 画像圧縮装置、画像伸張装置、画像圧縮方法、画像伸張方法、プログラム、及び記録媒体
US8611686B2 (en) Coding apparatus and method
CN1445997A (zh) 图像处理方法和采用该图像处理方法的图像编码装置
JP4671354B2 (ja) 画像圧縮装置および画像圧縮方法
JP2004242290A (ja) 画像処理装置および画像処理方法、画像編集処理システム、画像処理プログラム及び記憶媒体
JP4449400B2 (ja) 画像符号化装置及び方法、並びにプログラム及び記録媒体
JP5201019B2 (ja) 画像符号化装置及び画像符号化方法
WO2008081459A2 (en) A method and a system for wavelet based processing
JP5088607B2 (ja) プリントされるべきデジタル映像のデータへ導入される欠陥を減少する方法
JP2005039793A (ja) 画像符号化装置、プログラム及び記憶媒体
JP5843450B2 (ja) 画像処理装置及びその制御方法
JP4489474B2 (ja) 画像処理装置、プログラムおよび記録媒体
JP4859014B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
JP2006086579A (ja) 画像処理装置、プログラム、及び記憶媒体
JP4114144B2 (ja) 画像符号化装置、画像符号化プログラム、及び画像復号化プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130128

R151 Written notification of patent or utility model registration

Ref document number: 5201019

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20160222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees