JP6792359B2 - 画像符号化装置 - Google Patents

画像符号化装置 Download PDF

Info

Publication number
JP6792359B2
JP6792359B2 JP2016136295A JP2016136295A JP6792359B2 JP 6792359 B2 JP6792359 B2 JP 6792359B2 JP 2016136295 A JP2016136295 A JP 2016136295A JP 2016136295 A JP2016136295 A JP 2016136295A JP 6792359 B2 JP6792359 B2 JP 6792359B2
Authority
JP
Japan
Prior art keywords
dwt
subband
coefficient data
decomposition level
coding
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.)
Active
Application number
JP2016136295A
Other languages
English (en)
Other versions
JP2018007214A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016136295A priority Critical patent/JP6792359B2/ja
Publication of JP2018007214A publication Critical patent/JP2018007214A/ja
Application granted granted Critical
Publication of JP6792359B2 publication Critical patent/JP6792359B2/ja
Active 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

本発明は、画像の符号化、特に、画像に対して周波数変換を施し、生成された係数を符号化する技術に関するものである。
昨今、デジタルカメラやデジタルカムコーダー等のデジタル撮像装置の発展に伴い、様々な画像データの圧縮符号化方式が検討されている。その中の圧縮符号化方式の一つとしてJPEG(Joint Photographic Experts Group)2000が提案されている。JPEG2000の特徴の一つとしてJPEGで用いられる離散コサイン変換(DCT:Discrete Cosine Transform)の代わりにウェーブレット変換(以下DWT変換)を用いている点が挙げられる。DWT変換を用いることでサイズの大きな画像であっても画像を複数のブロックに分割せず周波数変換を掛けることが可能となる。その結果、JPEG2000では画像を複数のブロックに分割した際にブロック境界で発生し得る画質劣化が無くすことが出来る。
DWT変換を行うためには、垂直方向の画像の全てをDWT用のフィルタを用いてフィルタリングした後、今度は水平方向にフィルタリングする必要がある。それ故、特許文献1のように、フィルタリングを行う際には大規模なメモリ(バッファ)が必要となる。
かかる点に対して、特許文献2は、メモリ容量を削減する提案を行っている。しかしながら、特許文献2によると、DWT変換を行って得られた複数の周波数領域(サブバンド)が出力されるタイミングがほぼ同時となってしまうという問題が発生する。つまり、後続する量子化部、符号化部の回路規模が大きくなってしまう。
特開2003−274185 特開2001−285643
本発明は上記課題に鑑みなされたものであり、離散ウェーブレット変換後の量子化、符号化処理を平準化し、回路規模を小さくする技術を提供しようとするものである。
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
画像データを符号化する画像符号化装置であって、
符号化対象の画像データを入力し、入力した画像データをウェーブレット変換し、複数のサブバンドの変換係数データを生成する変換手段と、
該変換手段で生成された前記複数のサブバンドの各サブバンドの係数データを量子化、符号化する符号化手段と、
前記変換手段で生成された変換係数データであって、前記符号化手段に供給するサブバンドの係数データを一時的に保持するバッファ手段とを有し、
前記変換手段で生成された前記複数のサブバンドのうち、予め設定されたサブバンドの変換係数データは、前記バッファ手段を介さずに前記符号化手段に供給し、
前記複数のサブバンドのうちの他のサブバンドの変換係数データは、前記バッファ手段で一時的に保持し、前記バッファ手段に保持された当該変換係数データを前記符号化手段に供給することを特徴とする。
本発明によれば、ウェーブレット変換後の量子化、符号化処理の回路規模を小さくすることが可能になる。
第1の実施形態に係る画像符号化装置の構成例を示すブロック図。 可逆5−3DWT変換を実施するタイミングを説明するための図。 課題を説明するための画像符号化装置の構成を示すブロック図。 図3の画像符号化装置の処理タイミングを示す図。 第1の実施形態に係る画像符号化装置の処理タイミングを示す図。 ウェーブレット変換によって発生する各サブバンドの関係を示す図。 第1実施形態に係る画像符号化装置にて分解レベル3までウェーブレット変換を実行した際の処理タイミングを示す図。 第2の実施形態に係る画像符号化装置の構成例を示すブロック図。 第2の実施形態に係る画像符号化装置の処理タイミングを示す図。 水平方向の画素数が奇数の時にウェーブレット変換によって発生する各サブバンドの水平方向のDWT係数の数の関係を説明するための図。
まず、実施形態の説明に先立ち、JPEG2000で提案されている可逆5−3タップフィルタを用いたDWT変換(以下、可逆5−3DWT変換という)における、ウェ−ブレット係数(以下DWT係数)が出力されるタイミングを図2〜6を用いて詳細に説明する。図2は可逆5−3DWT変換をリフティング構造を用いて実現した際にDWT係数が出力されるタイミングを説明するための図である。
図2(a)において符号a〜eは水平方向に並ぶ入力画素データを示している。また図2(a)においてb'は画素データa,b,cを用いて生成した分解レベル1の高周波成分のDWT係数、d'は画素データc,d,eを用いて生成した分解レベル1の高周波成分のDWT係数である。c"は更にb',d',cを用いて生成した低周波成分のDWT係数である。なお、各DWT係数は、次式(1)〜(3)に示す通りである。
b' = b-(a+c)/2 …(1)
d' = d-(c+e)/2 …(2)
c" = c+(b’+d’+2)/4 …(3)
式(1),(2)に示すようにb',d'はいずれも高周波成分のDWT係数であるため、使用される画素データが異なるだけで数式の型は同一である。
図2(b)は図2(a)に対し、水平方向に画素データfが新たに入力された様子を示した図である。図2(b)に示すように画素データfが入力されても新たにDWT変換を実行するには入力画素が足りないため、画素データfが入力されるタイミングでは新たなDWT係数を出力することが出来ない。
一方、図2(c)のように図2(b)に対し更に画素データgが入力されるとDWT変換を実行することが可能となり、高周波成分のDWT係数f'と低周波成分のDWT係数e"を出力することができる。
このように水平方向にDWT変換を実行するタイミングは、画素データの2画素入力につき1回となる。なお、分解レベル2へ階層的にDWT変換を実行する場合には分解レベル1の低周波成分のDWT係数を用いる必要がある。前述の通り分解レベル1の低周波成分のDWT係数を出力されるタイミングが各画素データ2画素入力につき1回となるため、分解レベル2のDWT係数が出力されるタイミングは4画素入力に1回となる。以上の関係から分解レベルNのDWT係数が出力されるタイミングは、次式(4)に示されるXを用いて、X画素に1回となる。
X=2N …(4)
同様の関係は垂直方向にも適用されるため、垂直方向のDWT係数が出力されるタイミングは式(4)に従い、画素データXライン入力につき1回となる。
入力画像を分解レベル2まで垂直・水平DWT変換した場合の各サブバンドの関係を図6に示す。図6においてLは低周波領域、Hは高周波領域を示している。例えば、1HHは分解レベル1の水平方向、垂直方向ともに高周波領域のサブバンドを示している。図6に示すように分解レベル1の各サブバンドのサイズは水平・垂直方向、入力画像データの半分となる。つまり、各サブバンドの係数の個数は、オリジナルの画像の画素数の1/4となる。また、分解レベル2の各サブバンドは、分解レベル1の各サブバンドの水平、垂直方向の半分となる。
以上の説明を踏まえたうえで画像データをDWT変換し、符号化する一連の処理タイミングを図3、図4を用いて説明する。
図3は、本発明者が考察した画像符号化装置の構成例を示すブロック図である。図3に示すように、画像符号化装置はウェ−ブレット変換部300、量子化・符号化部303を有する。ウェーブレット変換部30は、その内部に分解レベル1のDWT変換を行うLev1-DWT変換部301、分解レベル2のDWT変換を行うLev2-DWT変換部302を含んでいる。なお、符号化方式の一例としてJPEG2000を用いて説明するが特に符号化方式については問わない。
また、図4は図3の画像符号化装置にラスタ順に画像データを入力し、分解レベル2までDWT変換した場合の分解レベル1、2の各サブバンドのDWT係数の変換タイミングおよび変換後のDWT係数が量子化・符号化されるタイミングを示す図である。
図4の見方について説明する。図4において、横軸のt0〜t14の各区間は、1ラインの画素データが入力される期間を示している。なお、t0期間から画像データの入力が開始されるものとする。
「画素データ」に示される矩形のバーは、その期間で画素データが入力されていることを示している。図4においては全ての期間にバーがあるため、全期間において1ライン分の画素データが入力されていることを示している。
一方、「DWT変換」の各分解レベルのサブバンドのバーは、各期間でDWT変換が実行され、各サブバンドのデータが量子化・符号化部303に出力されたかどうかを示している。例えば、t0期間では、どの分解レベルのサブバンドにおいてもバーが無い為、DWT変換が実行されていないことを示す。また、t2期間ではLev1-LH、Lev1-HL、Lev1-HHのバーが存在しているため、分解レベル1DWTが実行されレベル1のサブバンドLH、HH、LHの係数が出力されていることを示す。
「量子化・符号化」のバーは各期間でDWT変換出力されたDWT係数をどのタイミングで量子化・符号化をしているかを示している。例えば、t0期間ではどの分解レベルのサブバンドにおいてもバーが無い為、全サブバンドの係数を量子化・符号化していないことを示す。また、t2期間ではLev1-LH、Lev1-HL、Lev1-HHのバーが存在しているため、分解レベル1のサブバンドHL,LH,HHが量子化・符号化されることを示す。
図示の如く、この画像符号化装置においてはDWT変換のバーと量子化・符号化のバーが同一期間に存在している。これはDWT変換で出力されたDWT係数が同じライン入力期間で即時に量子化・符号化されていることを示す。また、バーの長さは量子化・符号化を実行している期間を示している。
分解レベル1の各サブバンドのDWT係数(Lev1−LH,HL,HH)は、図6で示したように画素データが1ライン入力される期間で0.5ラインしか出力されない。しかしながら、量子化・符号化部に入力される係数も図2を用いて説明したとおり、入力2画素につき一個しかないため、図4に示した通りDWT係数を1ライン入力期間かけて量子化・符号化している。
次に、図4の各区間で実行される符号化処理を図3を参照して説明する。t0〜t1期間では、2ライン分の画素データがLev1-DWT変換部301に入力される。しかしながら、この時点では、まだ可逆5−3DWT変換を実行するに足るライン数分のデータが入力されていない。そのため、Lev1-DWT変換部301は、2ラインの入力画素データをLev1-DWT変換部301内のラインバッファに保持するに留め、この期間でのDWT変換は実行しない。
t2期間において、Lev1-DWT変換部301はt0,t1期間でラインバッファに保持した2ライン分の画素データおよび、入力した3ライン目の画素データを用いてDWT変換を実行する。この結果、分解レベル1のサブバンドLL、LH、HH、LHの係数データが生成される。なお、5タップのフィルタ処理を実行するのに足りない画素データはミラーリングして生成する。生成されたDWT係数のうち、分解レベル1のサブバンドLLのDWT係数は、分解レベル2のDWT変換に用いられるため、Lev2-DWT変換部302に送信される。その他のサブバンド、すなわち分解レベル1のサブバンドLH、HH、LHの係数データは、後段の量子化・符号化部303に出力される。
なお、t2期間ではまだ分解レベル1のサブバンドLLのDWT係数が1ライン分しか出力されておらず、分解レベル2のDWT変換を実行できない。そのためLev2-DWT変換部302はDWT変換の実行は行わず内部のラインバッファに係数データを保持するに留める。また、分解レベル1の各サブバンドにおける係数の数は元の画素データの半分となる。従って、分解レベル1のサブバンドLH、HH、LHの3つを合わせて、元の画素データ基準で1.5ライン(0.5×3)分のDWT係数が出力される。量子化・符号化部303はウェーブレット変換部300から送られた合計1.5ライン分のDWT係数を、量子化パラメータを用いて量子化する。そして、符号化ではサブバンドごとに、EBCOT(Embedded Block Coding with Optimized Truncation)などのエントロピー符号化を施して、符号化データとして出力される。
t3期間ではt0〜t1期間同様、可逆5−3DWT変換を掛けるに足るライン数分のデータが入力されていない。そのため、入力画素データはLev1-DWT変換部301内のラインバッファに画素データは保持され、この期間ではDWT係数データは出力されない。
t4期間ではt2,t3期間に入力されラインバッファに保持された2ライン分の画素データ及び、3ライン目の画素データを用いてDWT変換が行われ、分解レベル1のサブバンドLL、LH、HH、LHの係数データが算出される。但し、この時も分解レベル1のサブバンドLLのDWT係数データはt2期間でラインバッファに保持された分を合わせて2ライン分しか出力されていないため、分解レベル2のDWT変換は実行できない。以降、分解レベル1のDWT変換は前述の数式4に示した通り、2ラインに1回(すなわちt6、t8、t10、t12、t14・・・期間で)実行される。量子化・符号化部303はウェーブレット変換部300から送られた合計1.5ライン分のDWT係数を、量子化パラメータを用いて量子化し、サブバンドごとに、EBCOTなどのエントロピー符号化を施して、符号化データとして出力する。
t5期間では分解レベル1、2のDWT変換は実行されず、入力データはLev1-DWT変換部301内のラインバッファに画素データは保持される。
t6期間ではLev1-DWT変換部301にて分解レベル1のDWT変換が実行される。また、その際に出力される分解レベル1のサブバンドLLのDWT係数データおよび、t2、t4期間でLev2-DWT変換部302内のラインバッファに保持された分解レベル1のサブバンドLLの2ライン分のDWT係数データを用いて、Lev2-DWT変換部302が分解レベルレベル2のサブバンドLL、LH、HH、LHの係数データの算出を行う。
なお、図4に示すように分解レベル2の係数の数は分解レベル1の係数の半分となるため、元の画素データ基準で分解レベル2のサブバンドLL、LH、HH、LHの4サブバンド合わせて1ライン(0.25×4)分のDWT係数が後段の量子化・符号化部303に出力される。これと、分解レベル1のサブバンドLH、HH、LHの3つのサブバンド分の1.5ラインを合わせて元の画素データ基準で2.5ライン分(1+1.5)のDWT係数が、この期間で出力される。
なお、分解レベル2のDWT変換は前述の数式4に示した通り、4ラインに1回(すなわちt10、t14・・・期間)実行される。量子化・符号化部303は、ウェーブレット変換部300から送られた合計2.5ライン分のDWT係数を、量子化パラメータを用いて量子化し、サブバンドごとに、EBCOTなどのエントロピー符号化を施して、符号化データとして出力する。以降、画像データの最終ラインまで同一の処理が繰り返される。
上述の説明からわかるように、分解レベル2までDWT変換を実行した場合、入力画素が1ライン入力される期間に最大2.5ライン分のDWT係数が出力される期間(図4のt6,t10,t14)が存在する。そのため、DWT変換を実行するタイミングで即時、量子化、符号化を実行しようした場合、画素データを1ライン入力する期間で2.5ライン分のDWT係数を処理できる性能が必要となり、量子化・符号化部の回路規模が大きくなってしまうのは理解できよう。以下、かかる点を踏まえて、本発明に係る実施形態を説明する。
[第1の実施形態]
図1は、第1の実施形態における本発明の実施形態に係る画像符号化装置の構成例を示すブロック図である。説明を単純化するため、本実施形態においても、離散ウェーブレット変換を2回行うものとして説明する。
第1の実施形態における画像符号化装置は、図示の如く、ウェーブレット変換部300、サブバンドラインバッファ103、量子化・符号化部104を有する。符号化対象の画像データの画素データは、ラスタースキャン順に画素データがウェーブレット変換部300に供給されるものとする。ウェーブレット変換部300は、分解レベル1の離散ウェーブレット変換(以下、実施形態においてもDWT変換という)を行うLev1-DWT変換部301、分解レベル2のDWT変換を行うLev2-DWT変換部302で構成される。なお、本実施形態では符号化方式の一例としてJPEG2000を用いて説明するが、特に符号化方式の種類は問わない。また、ウェーブレット変換部300、Lev1-DWT変換部301、Lev2-DWT変換部302は先に説明した図2の符号化装置と同じ構成のものを用いるものの、DWT変換で得られた係数データの出力先が異なる。また、量子化・符号化部104は画素データが1ライン入力される期間で1ライン分のDWT係数を量子化・符号化することができる性能を持っているものとする。
図5は、図1においてラスタ順に画像データを分解レベル2までDWT変換した場合の分解レベル1、レベル2の各サブバンドのDWT係数データに変換されるタイミングおよび変換されたDWT係数データが量子化・符号化されるタイミングを説明するためのタイミング図である。図5の見方については図4と同様であるため、説明を省く。
以下、図5の各区間で実行される符号化処理について、図1を参照して説明する。
t0〜t1期間では2ライン分の画素データがLev1-DWT変換部301に入力される。しかしながら、この時点ではまだ可逆5−3DWT変換を行うに足るライン数分のデータが入力されていない。そのため、Lev1-DWT変換部301は、は2ラインの入力画素データをLev1-DWT変換部301内のラインバッファに保持するに留め、この期間でのDWT変換は実行しない。
t2期間において、Lev1-DWT変換部301はt0,t1期間でラインバッファに保持した2ライン分の画素データおよび、3ライン目の入力画素データを用いてDWT変換を実行し、分解レベル1のサブバンドLL、LH、HH、LHの係数データを出力する。その際、分解レベル1のサブバンドLLのDWT係数データはレベル2のDWT変換に用いられるため、Lev2-DWT変換部302に供給される。また、分解レベル1のサブバンドLH、HLのDWT係数データは、サブバンドラインバッファ103の介在無しに、量子化・符号化部104にダイレクトに出力されるが、レベル1のサブバンドHHのDWT係数データはサブバンドラインバッファ103に送信され一時的に保持される。
なお、t2期間ではまだ分解レベル1のサブバンドLLのDWT係数データが1ライン分しか出力されておらず、分解レベル2のDWT変換を実行できない。そのため、Lev2-DWT変換部302はDWT変換の実行は行わず、内部のラインバッファに係数データを保持するに留める。量子化・符号化部104はウェーブレット変換部300から送られた分解レベル1のサブバンドLH,HLの合計1.0ライン分のDWT係数データを、1サイクル毎に交互に量子化パラメータを用いて量子化する。そして、符号化では、サブバンドごとに、EBCOT(Embedded Block Coding with Optimized Truncation)などのエントロピー符号化を施して、符号化データとして出力される。
t3期間ではt0〜t1期間同様、可逆5−3DWT変換を掛けるに足るライン数分のデータが入力されていない。そのため、入力画素データはLev1-DWT変換部301内のラインバッファに画素データは保持され、この期間ではDWT係数データは出力されない。しかし、量子化・符号化部104は、t2期間でサブバンドラインバッファ103に保持された分解レベル1のサブバンドHHのDWT係数データを読み出して量子化パラメータを用いて量子化し、エントロピー符号化を施して、符号化データとして出力する。この期間では分解レベル1のサブバンドHHのDWT係数データしか符号化されないため、画素データ基準で0.5ライン分のDWT係数データしか量子化・符号化されない。従って、画素データが1ライン入力される期間の半分の期間で量子化・符号化を実行することができる。
t4期間にて、Lev1-DWT変換部301は、t2,t3期間に入力されラインバッファに保持された画素データ、及び今回入力した画素データを用いてDWT変換を行い、分解レベル1のサブバンドLL、LH、HH、LHの係数データを生成する。その際、分解レベル1のサブバンドLLのDWT係数データは分解レベル2のDWT変換に用いられるため、Lev2-DWT変換部302に送信される。但し、この時もレベル1のサブバンドLLのDWT係数がt2期間でラインバッファに保持された分を合わせて2ライン分しか出力されていないため、レベル2のDWT変換を実行できない。また、t2期間同様、分解レベル1のサブバンドLH、HLのDWT係数データは量子化・符号化部104に出力されるが、分解レベル1のサブバンドHHのDWT係数データはサブバンドラインバッファ103に送信され一旦、保持される(1サイクル分遅延される)。量子化・符号化部104はウェーブレット変換部300から送られた分解レベル1のサブバンドLH,HLの合計1.0ライン分のDWT係数データを、1サイクル毎に交互に量子化パラメータを用いて量子化し、エントロピー符号化を施して、符号化データとして出力する。
t5期間では分解レベル1、2のDWT変換も実行されず、入力データはLev1-DWT変換部301内のラインバッファに画素データは保持される。しかし、t3期間と同様に、量子化・符号化部104は、サブバンドラインバッファ103に保持された分解レベル1のサブバンドHHのDWT係数データ(t4期間にて保存)を読み出し、量子化パラメータを用いて量子化し、エントロピー符号化を施して、符号化データとして出力する。
t6期間ではLev1-DWT変換部301で分解レベル1のDWT変換が実行される。また、その際、出力される分解レベル1のサブバンドLLのDWT係数データおよびt2、t4期間でLev2-DWT変換部302内のラインバッファに保持されたレベル1のサブバンドLLのDWT係数を用いて、Lev2-DWT変換部302がDWT変換を実行することで、分解レベル2のサブバンドLL、LH、HH、LHの係数データを算出し、出力する。
なお、図4に示すように分解レベル2の係数データの数は分解レベル1の係数デーの半分となるため、元の画素データ基準で分解レベル2のサブバンドLL、LH、HH、LHの4つを合わせて1ライン(0.25×4)分のDWT係数データがサブバンドラインバッファ103に送信され一旦、保持される。また、分解レベル1のDWT変換で出力されるサブバンドLH、HH、LHの3つ合わせた1.5ライン分を含めると、元の画素データ基準で2.5ライン分(1+1.5)のDWT係数データがこの期間で出力される。
量子化・符号化部104はウェーブレット変換部300から送られた分解レベル1のサブバンドLH、HLの合計1.0ライン分のDWT係数データを、1サイクル毎に交互に量子化パラメータを用いて量子化し、エントロピー符号化を施して、符号化データとして出力する。
t7期間では分解レベル1、2のDWT変換が実行されず、入力データはLev1-DWT変換部301内のラインバッファに画素データは保持される。しかし、ここでは量子化・符号化部104は、t6期間でサブバンドラインバッファ103に保持された分解レベル1のサブバンドHHのDWT係数データ、及び、t6期間でサブバンドラインバッファ103に保持された分解レベル2のサブバンドLH、HLのDWT係数データを量子化・符号化する。量子化・符号化部104はまず画素データ基準で0.5ラインに相当する分解レベル1のサブバンドHHのDWT係数データを量子化・符号化する。続いて量子化・符号化部104は、画素データ基準で0.5ラインに相当する分解レベル2のサブバンドLHのDWT係数データを量子化・符号化する。最後に、量子化・符号化部104は、画素データ基準で0.5ラインに相当する分解レベルレベル2のサブバンドHLのDWT係数を量子化・符号化する。その結果、画素データが1ライン入力される期間いっぱいを使って1.0ライン分のDWT係数を量子化・符号化が実行される。なお、この期間で分解レベル1のサブバンドHHが量子化・符号化処理されれば量子化・符号化処理するDWT係数の処理順は特に問わない。例えば分解レベル1のサブバンドHH、分解レベル2のサブバンドLH、分解レベル1のサブバンドHLの順に処理する代わりに、分解レベル2のサブバンドLH、分解レベル2のサブバンドHL、分解レベル1のサブバンドHHの順に処理するなど処理順を入れ替えても良い。また、分解レベル2のサブバンドLH、分解レベル2のサブバンドHLではなく、分解レベル2のサブバンドHH、分解レベル2のサブバンドLLをこの期間で量子化・符号化処理しても良い。この場合、この期間で量子化・符号化されなかった分解レベル2のサブバンドLH、分解レベル2のサブバンドHLは後に示すt9期間で量子化・符号化処理すれば良い。
t8期間では次の分解レベル2のDWT変換を実行するために必要な分解レベル1のサブバンドLLのDWT係数が足りない。それ故、分解レベル1の1DWT変換のみが実行される。また、t2、t4、t6期間同様、分解レベル1のサブバンドLH、HLのDWT係数データは量子化・符号化部104に出力されるが、分解レベル1のサブバンドHHのDWT係数データはサブバンドラインバッファ103に送信され一旦、保持される。量子化・符号化部104はウェーブレット変換部300から送られた分解レベル1のサブバンドLH,HLの合計1.0ライン分のDWT係数データを、1サイクル毎に交互に量子化パラメータを用いて量子化し、エントロピー符号化を施して、符号化データとして出力する。
t9期間では分解レベル1、2のDWT変換も実行されず、入力データはLev1-DWT変換部301内のラインバッファに画素データは保持される。しかし、このt9期間では、量子化・符号化部104が、t8期間にてサブバンドラインバッファ103に保持された分解レベル1のサブバンドHHのDWT係数データと、t6期間にてサブバンドラインバッファ103に保持された分解レベル2のサブバンドHH,LLのDWT係数データを量子化・符号化する。具体的には、量子化・符号化部104はまず画素データ基準で0.5ラインに相当する分解レベル1のサブバンドHHのDWT係数データを量子化・符号化する。量子化・符号化部104は、続いて画素データ基準で0.5ラインに相当する分解レベル2のサブバンドHHのDWT係数データを量子化・符号化する。最後に量子化・符号化部104は、画素データ基準で0.5ラインに相当する分解レベル2のサブバンドLLのDWT係数データを量子化・符号化する。その結果、画素データが1ライン入力される期間いっぱいを使って1.0ライン分のDWT係数を量子化・符号化が実行される。
以降、画像データの最終ラインまで上記の処理が繰り返される。
以上、説明したような構成および処理タイミングで量子化・符号化を実行することで量子化・符号化部104は、符号化対象の画像データから1ライン分の画素データを入力する期間に、同数のDWT係数データの処理する能力を有するだけでよくなる。つまり、量子化・符号化部104が入力する変換係数データの総数は、最大でも符号化対象の画像データの水平方向の画素数に設定できる。図3で示した構成の場合、量子化・符号化部が、符号化対象の画像データの1ライン分の画素データを入力する期間で、2.5ライン分のDWT係数データを処理する能力を必要としていたのと比較して、回路規模の増大を抑制できることが理解できよう。
なお、本実施形態では可逆5−3タップフィルタを用いたが、JPEG2000で提案されている非可逆9−7タップフィルタなど数式4の関係が成り立つフィルタであればどのフィルタを用いても同様の構成、処理タイミングで実行することが可能である。
また、本実施形態ではウェーブレット係数を分解レベル2まで実行した場合を例に挙げて説明したが、分解レベル3以降のもっと高レベルまでウェーブレット係数を実施した際にも同様の思想での実行が可能である。
例えば分解レベル3の場合であれば、サブバンドラインバッファ103に分解レベル3のサブバンドを一時記憶するバッファを新たに設け、保持したDWT係数を図7のタイミング図のように低レベルのサブバンドから優先して読み出すことで実現可能である。
ここで、例えば分解レベルNまでのサブバンドに分解し符号化する場合について一般化するなら、第i(i≧2)のウェーブレット変換部は、第i−1のウェーブレット変換部が生成した分解レベルi−1のサブバンドLLの変換係数データを入力し、分解レベルiのサブバンドLL,HL,LH,HHの変換係数データを出力するようにする。そして、最初に位置する第1のウェーブレット変換部は、生成した分解レベル1のサブバンドHL,LH,HHの3つのうちの2つをバッファメモリの介在無しに量子化・符号化部に供給すると共に、残りの1つをバッファメモリに供給する。そして、第1のウェーブレット変換部を除く他のウェーブレット変換部は、生成したそれぞれの分解レベルのサブバンドHL,LH,HHの3つをバッファメモリに供給する。そして、量子化・符号化部は、第1のウェーブレット変換部、又は、バッファメモリから、分解レベルの低い方を優先しつつ、符号化対象の画像データの水平方向の画素数と同数の変換係数データを入力しては、量子化、符号化を行えば良い。
[第2の実施形態]
続いて、本発明の第2の実施形態を説明する。図8は、第2の実施形態における画像符号化装置のブロック構成図、図9はその符号化処理に係るタイミングチャートを示している。本第2の実施形態の装置構成は、上記の第1の実施形態ほぼ同じであるが、サブバンドラインバッファ103に保持する対象が、分解レベル1のサブバンドLHのDWT変換係数データである点が異なる。以下、図8に示す本第2の実施形態における画像符号化装置の処理を、図9のタイミングチャートに従って説明する。
t0〜t1期間では符号化対象の画像データから合わせて2ライン分の画素データがLev1-DWT変換部301に供給される。ただし。この時点ではまだ可逆5−3DWT変換を行うに足るライン数分のデータが入力されていない。そのため、Lev1-DWT変換部301では2ラインの入力画素データをLev1-DWT変換部301内のラインバッファに保持するに留め、この期間でのDWT変換は実行しない。
t2期間において、Lev1-DWT変換部301はt0,t1期間でラインバッファに保持した符号化対象画像の2ライン分の画素データと、3ライン目の画素データを用いてDWT変換を実行し、分解レベル1のサブバンドLL、LH、HH、LHの係数データを出力する。その際、分解レベル1のサブバンドLLのDWT係数データは、分解レベル2のDWT変換データを生成するために用いられるため、Lev2-DWT変換部302に供給される。また、分解レベル1のサブバンドHH、HLのDWT係数データは量子化・符号化部104に出力されるが、分解レベル1のサブバンドLHのDWT係数データはサブバンドラインバッファ103に供給され一旦、保持される(遅延される)。
なお、t2期間では、まだ分解レベル1のサブバンドLLのDWT係数データが1ライン分しか出力されておらず、分解レベル2のDWT変換を実行できない。そのため、Lev2-DWT変換部302は、分解レベル1のサブバンドLLについては、DWT変換の実行は行わず内部のラインバッファに係数を保持するに留める。量子化・符号化部104はウェーブレット変換部300から送られた分解レベル1のHH、HLのサブバンド合計1.0ライン分のDWT係数データを、1サイクル毎に交互に量子化パラメータを用いて量子化される。そして符号化では、サブバンドごとに、EBCOT(Embedded Block Coding with Optimized Truncation)などのエントロピー符号化を施して、符号化データとして出力される。
t3期間では、t0〜t1期間同様、可逆5−3DWT変換を掛けるに足るライン数分のデータが入力されていない。そのため、入力した画素データはLev1-DWT変換部301内のラインバッファに画素データは保持され、この期間ではDWT係数は出力されない。しかし、量子化・符号化部104は、t2期間にてサブバンドラインバッファ103に保持された分解レベル1のサブバンドLHのDWT係数データを読み出して量子化パラメータを用いて量子化し、エントロピー符号化を施して、符号化データとして出力する。この期間では分解レベル1のサブバンドLHのDWT係数データしか符号化されないため、画素データ基準で0.5ライン分のDWT係数データしか量子化・符号化されない。従って、画素データが1ライン入力される期間の半分の期間で量子化・符号化を実行することができる。
t4期間にて、Lev1-DWT変換部301は、t2,t3期間に入力されラインバッファに保持された画素データ及び、新規に入力した画素データを用いてDWT変換を実行し、分解レベル1のサブバンドLL、LH、HH、LHの係数データを生成する。その際、分解レベル1のサブバンドLLのDWT係数データは、分解レベル2のDWT変換データを生成するために用いられるため、Lev2-DWT変換部302に供給される。但し、この時、分解レベル1のサブバンドLLのDWT係数データと、t2期間でラインバッファに保持された分を合わせても2ライン分しない。それ故、Lev2-DWT変換部302はDWT変換を実行しない。また、t2期間と同様、分解レベル1のサブバンドHH、HLのDWT係数データは量子化・符号化部104に出力されるが、分解レベル1のサブバンドLHのDWT係数データはサブバンドラインバッファ103に送信され一旦、保持される。量子化・符号化部104はウェーブレット変換部300から送られた分解レベル1のサブバンドHH、HLの合計1.0ライン分のDWT係数データを、1サイクル毎に交互に量子化パラメータを用いて量子化し、エントロピー符号化を施して、符号化データとして出力する。
t5期間では分解レベル1,2のDWT変換は実行されず、入力データはLev1-DWT変換部301内のラインバッファに画素データは保持される。しかし、t3期間と同様、量子化・符号化部104は、t4期間にてサブバンドラインバッファ103に保持された分解レベル1のサブバンドLHのDWT係数データを読み出し、量子化パラメータを用いて量子化し、エントロピー符号化を施して、符号化データとして出力する。
t6期間ではLev1-DWT変換部301はDWT変換を実行し、分解レベル1のサブバンドLL、LH、HH、LHの係数データを生成し、出力する。また、その際、出力される分解レベル1のサブバンドLLのDWT係数データ、およびt2、t4期間にてLev2-DWT変換部302内のラインバッファに保持された分解レベル1のサブバンドLLのDWT係数データを用いて、Lev2-DWT変換部302はDWT変換を実行する。この結果、分解レベル2のサブバンドLL、LH、HH、LHの係数データが生成される。
なお、図4に示すように分解レベル2の係数データの数は分解レベル1の係数データの半分となるため、元の画素データ基準で分解レベル2のサブバンドLL、LH、HH、LHの4つを合わせて1ライン(0.25×4)分のDWT係数データがサブバンドラインバッファ103に送信され一旦、保持されることになる。分解レベル1のサブバンドLH、HH、LHの3つの1.5ラインの係数データとなるので、このt6期間で生成さる係数データの個数は、元の画素データ基準で2.5ライン分(1+1.5)となる。
量子化・符号化部104はウェーブレット変換部300から送られた分解レベル1のサブバンドHL,HHの合計1.0ライン分のDWT係数データを、1サイクル毎に交互に量子化パラメータを用いて量子化し、エントロピー符号化を施して、符号化データとして出力する。
t7期間では、分解レベル1、2のDWT変換は実行されず、入力データはLev1-DWT変換部301内のラインバッファに画素データは保持される。しかし、このt7期間では、量子化・符号化部104が、t6期間でサブバンドラインバッファ103に保持された分解レベル1のサブバンドLHのDWT係数データ、及び、t6期間にてサブバンドラインバッファ103に保持された分解レベル2のサブバンドLH、HLのDWT係数データを量子化・符号化する。量子化・符号化部104は、まず画素データ基準で0.5ラインに相当する分解レベル1のLHのDWT係数データを量子化・符号化する。量子化・符号化部104は、続いて画素データ基準で0.25ラインに相当する分解レベル2のサブバンドLHのDWT係数データを量子化・符号化する。最後に量子化・符号化部104は、画素データ基準で0.25ラインに相当する分解レベル2のサブバンドHLのDWT係数データを量子化・符号化する。その結果、画素データが1ライン入力される期間いっぱいを使って、1.0ライン分のDWT係数データが量子化・符号化されることになる。
t8期間では、次の分解レベル2のDWT変換を実行するために必要な分解レベル1のサブバンドLLのDWT係数データが足りない。このため、分解レベル1のDWT変換のみが実行される。また、t2、t4、t6期間と同様、分解レベル1のサブバンドHH、HLのDWT係数データは量子化・符号化部104に出力されるが、分解レベル1のサブバンドLHのDWT係数データはサブバンドラインバッファ103に送信され一旦、保持される。量子化・符号化部104はウェーブレット変換部300から送られた分解レベル1のサブバンドHH、HLの合計1.0ライン分のDWT係数データを、1サイクル毎に交互に量子化パラメータを用いて量子化し、エントロピー符号化を施して、符号化データとして出力する。
t9期間では分解レベル1,2のDWT変換は実行されず、入力データはLev1-DWT変換部301内のラインバッファに画素データは保持される。しかし、このt9期間にて、量子化・符号化部104は、t8期間でサブバンドラインバッファ103に保持された分解レベル1のサブバンドLHのDWT係数データ、及び、t6期間でサブバンドラインバッファ103に保持された分解レベル2のサブバンドHH、LLのDWT係数データを量子化・符号化する。具体的には、量子化・符号化部104はまず画素データ基準で0.5ラインに相当する分解レベル1のサブバンドLHのDWT係数データを量子化・符号化する。量子化・符号化部104は、続いて、画素データ基準で0.25ライン分に相当する分解レベル2のサブバンドHHのDWT係数データを量子化・符号化する。最後に量子化・符号化部104は、画素データ基準で0.25ライン分に相当する分解レベル2のサブバンドLLのDWT係数データを量子化・符号化する。その結果、画素データが1ライン入力される期間いっぱいを使って1.0ライン分のDWT係数データの量子化・符号化が実行されることになる。
以降、画像データの最終ラインまで同一の処理が繰り返される。
ここでサブバンドラインバッファ103に保持される係数を、分解レベル1のサブバンドLHの係数データにした理由を図10を用いて説明する。
図10は水平方向の解像度(画素数)が9の画像を、分解レベル2までDWT変換した際の各サブバンドの水平方向のDWT係数の数を示した図である。
図10に示すように水平方向の解像度が奇数である場合、分解レベル1の各サブバンドの水平方向の係数の数が低周波成分のサブバンド(分解レベル1のLH=5)に属するか高周波成分に属するか(分解レベル1のHL,HH=4)によって異なる。そのため、量子化・符号化部104に同一期間に入力するレベル1のDWT係数データがサブバンドLH,HHあるいはLH,HLであった場合、1ライン期間に量子化・符号化する係数の数が異なりタイミング調整が必要となる。そこで量子化・符号化部104に同一期間に入力する分解レベル1のDWT係数をサブバンドHL,HHとすることで1ライン期間に量子化・符号化する係数の数を同一にすることが出来るためである。
103…サブバンドラインバッファ、104…量子化・符号化部、300…ウェーブレット変換部、301…Lev1-DWT変換部、302…Lev2-DWT変換部

Claims (7)

  1. 画像データを符号化する画像符号化装置であって、
    符号化対象の画像データを入力し、入力した画像データをウェーブレット変換し、複数のサブバンドの変換係数データを生成する変換手段と、
    該変換手段で生成された前記複数のサブバンドの各サブバンドの係数データを量子化、符号化する符号化手段と、
    前記変換手段で生成された変換係数データであって、前記符号化手段に供給するサブバンドの係数データを一時的に保持するバッファ手段とを有し、
    前記変換手段で生成された前記複数のサブバンドのうち、予め設定されたサブバンドの変換係数データは、前記バッファ手段を介さずに前記符号化手段に供給し、
    前記複数のサブバンドのうちの他のサブバンドの変換係数データは、前記バッファ手段で一時的に保持し、前記バッファ手段に保持された当該変換係数データを前記符号化手段に供給する
    ことを特徴とする画像符号化装置。
  2. 前記変換手段で生成された複数のサブバンドのうち、分解レベルが最小で高周波成分を含むサブバンドの変換係数データを、前記バッファ手段を介さずに前記符号化手段に供給することを特徴とする請求項1に記載の画像符号化装置。
  3. 前記変換手段で生成されたサブバンドLL,HL,LH,HHのうち、サブバンドHHの係数データは、前記バッファ手段を介さずに前記符号化手段に供給し、サブバンドLLの係数データは、前記バッファ手段で一時的に保持した後に前記符号化手段に供給することを特徴とする請求項1または2に記載の画像符号化装置。
  4. サブバンドHL,HHの係数データは、前記バッファ手段を介さずに前記符号化手段に供給し、サブバンドLH,LLの係数データは、前記バッファ手段で一時的に保持した後に前記符号化手段に供給することを特徴とする請求項3に記載の画像符号化装置。
  5. 前記符号化手段は、前記バッファ手段から読み出す変換係数のデータの総数が、符号化対象の画像の水平方向の画素の数となるように、係数データの読み出しを行い、量子化及び符号化を行うことを特徴とする請求項1乃至4のいずれか1項に記載の画像符号化装置。
  6. 前記符号化手段は、前記バッファ手段から、ウェーブレット変換の分解レベルの小さいサブバンドの係数データから優先して読み出し、量子化、符号化を行う
    ことを特徴とする請求項1乃至5のいずれか1項に記載の画像符号化装置。
  7. 前記変換手段は、複数のウェーブレット変換手段を有し、
    ここで、第i(i≧2)のウェーブレット変換手段は、第i−1のウェーブレット変換手段が生成した分解レベルi−1のサブバンドLLの変換係数データを入力し、分解レベルiのサブバンドLL,HL,LH,HHの変換係数データを出力する、
    前記複数のウェーブレット変換手段における最初である第1のウェーブレット変換手段は、生成した分解レベル1のサブバンドHL,LH,HHの3つのうちの2つを前記バッファ手段を介在無しに前記符号化手段に供給すると共に、残りの1つを前記バッファ手段に供給し、
    前記第1のウェーブレット変換手段を除く他のウェーブレット変換手段は、生成したそれぞれの分解レベルのサブバンドHL,LH,HHの3つを前記バッファ手段に供給し、
    前記符号化手段は、
    前記変換手段、又は、前記バッファ手段から、分解レベルの低い方を優先しつつ、符号化対象の画像データの水平方向の画素数と同数の変換係数データを入力しては、量子化、符号化を行う
    ことを特徴とする請求項1乃至6のいずれか1項に記載の画像符号化装置。
JP2016136295A 2016-07-08 2016-07-08 画像符号化装置 Active JP6792359B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016136295A JP6792359B2 (ja) 2016-07-08 2016-07-08 画像符号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016136295A JP6792359B2 (ja) 2016-07-08 2016-07-08 画像符号化装置

Publications (2)

Publication Number Publication Date
JP2018007214A JP2018007214A (ja) 2018-01-11
JP6792359B2 true JP6792359B2 (ja) 2020-11-25

Family

ID=60948190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016136295A Active JP6792359B2 (ja) 2016-07-08 2016-07-08 画像符号化装置

Country Status (1)

Country Link
JP (1) JP6792359B2 (ja)

Also Published As

Publication number Publication date
JP2018007214A (ja) 2018-01-11

Similar Documents

Publication Publication Date Title
US8098947B2 (en) Method and apparatus for processing image data by rearranging wavelet transform data
US20070189622A1 (en) Image data generation with reduced amount of processing
JP2000184204A (ja) 画像処理装置及び方法及び記憶媒体
US7120306B2 (en) Image processing method and image coding apparatus utilizing the image processing method
US20110091121A1 (en) Coding apparatus and method
JP2017224965A (ja) 画像符号化装置及びその制御方法
JP2004153751A (ja) 画像処理装置及び画像処理方法
JP2017216630A (ja) 画像符号化装置及びその制御方法
JP6849359B2 (ja) 符号化装置、符号化装置の制御方法、及びプログラム
JP5817125B2 (ja) 画像処理装置および方法
JP6792359B2 (ja) 画像符号化装置
JP5158000B2 (ja) 情報処理装置および方法
JP2004048607A (ja) ディジタル画像符号化装置およびディジタル画像符号化方法
KR101045650B1 (ko) 직교정규 시공간 변환의 리프팅에 기초한 구현
US20130236113A1 (en) Image processing device and image processing method
JP2019110405A (ja) 画像符号化装置及びその制御方法及びプログラム
JP6813991B2 (ja) 画像符号化装置及びその制御方法及びプログラム
JP6564314B2 (ja) 画像符号化装置及びその制御方法及びプログラム並びに記憶媒体
JP4681757B2 (ja) 画像処理装置及び画像処理方法
US20130163890A1 (en) Image processing device and image processing method
JP2001231009A (ja) 画像データ格納装置および方法
JP6611562B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP6793499B2 (ja) 画像符号化装置およびその制御方法
JP2006108811A (ja) 画像符号化方法
JP4934081B2 (ja) 符号化装置、符号処理装置、符号化方法、符号処理方法、コンピュータプログラム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200306

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200514

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201106

R151 Written notification of patent or utility model registration

Ref document number: 6792359

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151