(57)【要約】【課題】  メモリバスの帯域の圧迫を抑制しつつ、画像の複数タイルへの分割と符号化を行う。【解決手段】画像データを符号化する画像符号化装置であって、符号化対象の画像データにおける画素データをラスタースキャン順に入力し、予め設定されたタップ数のフィルタを用いてウェーブレット変換を行い、得られたウェーブレット変換係数をバッファに格納するウェーブレット変換手段と、バッファに記憶されたウェーブレット変換係数を読み出し、量子化及び符号化を行う符号化手段とを有する。ここで、ウェーブレット変換手段は、フィルタが適用されるライン数の画素データが揃う度にウェーブレット変換を行い、得られたウェーブレット変換係数をバッファに格納する。また、符号化手段は、バッファに格納されたウェーブレット変換係数が属するタイル別に読み出し、量子化、符号化を実行する。【選択図】  図１
2019110405.tif 000002
【特許請求の範囲】
【請求項１】
画像データを符号化する画像符号化装置であって、
符号化対象の画像データにおける画素データをラスタースキャン順に入力し、ウェーブレット変換を行い、得られたウェーブレット変換係数をバッファに格納するウェーブレット変換手段と、
前記バッファに記憶されたウェーブレット変換係数を読み出し、量子化及び符号化を行う符号化手段とを有し、
前記符号化手段は、
前記バッファに格納されたウェーブレット変換係数を、タイル毎に読み出し、量子化、符号化を実行し、
前記ウェーブレット変換手段は、
前記タイルに関わらず、ラスタースキャン順に入力される画素データに対してウェーブレット変換を行う
ことを特徴とする画像符号化装置。
【請求項２】
前記ウェーブレット変換手段は、予め設定されたタップ数のフィルタを用いたウェーブレット変換を、当該ウェーブレット変換が実行可能なライン数のデータが入力されたことに応じて、前記ウェーブレット変換を行うことを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記符号化手段は、タイルのラスタ方向のサイズに応じたウェーブレット変換係数を前記バッファから読み出し、量子化及び符号化を行うことを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
前記符号化手段は、量子化した後の着目するウェーブレット変換係数を、当該着目するウェーブレット変換係数の周囲の符号化済のウェーブレット変換係数を用いて予測符号化する
ことを特徴とする請求項１乃至３のいずれか１項に記載の画像符号化装置。
【請求項５】
着目タイルに属するウェーブレット変換係数は、当該着目タイルのウェーブレット変換係数と、隣接タイル内の前記着目タイルとの境界に位置するウェーブレット変換係数とが含まれる
ことを特徴とする請求項１乃至４のいずれか１項に記載の画像符号化装置。
【請求項６】
画像データを符号化する画像符号化装置の制御方法であって、
符号化対象の画像データにおける画素データをラスタースキャン順に入力し、ウェーブレット変換を行い、得られたウェーブレット変換係数をバッファに格納するウェーブレット変換工程と、
前記バッファに記憶されたウェーブレット変換係数を読み出し、量子化及び符号化を行う符号化工程とを有し、
前記符号化工程では、
前記バッファに格納されたウェーブレット変換係数を、タイル毎に読み出し、量子化、符号化を実行し、
前記ウェーブレット変換工程では、
前記タイルに関わらず、ラスタースキャン順に入力される画素データに対してウェーブレット変換を行う
ことを特徴とする画像符号化装置の制御方法。
【請求項７】
コンピュータが読み込み実行することで、前記コンピュータに、請求項６に記載の方法の各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像の符号化技術に関するものである。
【背景技術】
【０００２】
昨今、デジタルカメラやデジタルカムコーダー等のデジタル撮像装置の発展に伴い、様々な画像データの圧縮符号化方式が検討されている。その中の圧縮符号化方式の一つとしてJPEG(Joint Photographic Experts Group)2000が提案されている。JPEG2000の特徴の一つとして、それ以前のJPEGで用いられる離散コサイン変換(DCT：Discrete Cosine Transform)の代わりにウェーブレット変換（Discrete Wavelet Transform：DWT)を用いている点が挙げられる。ウェーブレット変換を用いることでサイズの大きな画像であっても画像全体を１タイルとして周波数変換を掛けることが可能となる。しかしながら、１ピクチャを１タイルで符号化した画像を、ＰＣやタブレットなどの外部端末を用いて復号する際に、オリジナルの画像サイズが大きいと復号処理に多くの時間を必要とする。
【０００３】
そこで、JPEG2000において、符号化対象の画像を複数のタイルに分割して、タイル単位に符号化する提案がある（特許文献１）。外部端末での復号時には複数のCPUコアを用いて複数のタイルを並列して復号することで復号時間を短縮することが可能となっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−０６４１８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方、撮像装置において、タイル分割を行った場合、撮像センサからの画像入力順と符号化装置で求められる画像入力順に齟齬があるため、撮像センサからの画像を直接に画像符号化装置に供給することができないという課題がある。
【０００６】
ここで、撮像センサからの画像入力順および画像符号化装置で画像を符号化する際に求められる画像の入力順を図２（ａ）、（ｂ）を参照して説明する。なお、説明を単純化するため、符号化対象の画像の垂直方向の画素数が１０であるものとして説明する。
【０００７】
図２（ａ）は撮像センサからの画像データの入力順を示している。図示のように、後段の画像符号化装置で要求される画像入力を考慮せず、水平方向の画素数のサイズに従い、ラスタースキャン順に第１ラインから順に第１０ラインに画素データが入力される。
【０００８】
一方、図２（ｂ）はピクチャを４分割した際の画像符号化装置で求められる画像入力順を示している。同図におけるタイルを左からTile0、Tile1、Tile2、Tile3と表した場合、まず、タイルTile0の1〜10ラインの画像入力を行い、符号化処理が実行される。続いてタイルTile1の11〜20ライン、タイルTile2の21〜30ライン、そしてタイルTile3の31〜40ラインの純に画像入力と符号化処理が実行される。
【０００９】
このように撮像センサからの画像入力が水平ピクチャサイズで行われるのに対し、画像符号化装置に対しては分割後の水平タイルサイズでの入力を行う必要がある。このため、符号化を行うためには、撮像センサからの入力データを、DRAMなどのバッファに一旦保持する必要がある。しかしながら、この場合にはDRAMに対しての画像データの読み書きが発生するため、扱う画像データが大きいほどメモリバスの帯域を圧迫するという問題が発生する。
【００１０】
本発明は、上記の問題に鑑みなされたものであり、メモリバスの帯域の圧迫を抑制しつつ、画像の複数タイルへの分割と符号化を行う技術を提供しようとするものである。
【課題を解決するための手段】
【００１１】
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
画像データを符号化する画像符号化装置であって、
符号化対象の画像データにおける画素データをラスタースキャン順に入力し、ウェーブレット変換を行い、得られたウェーブレット変換係数をバッファに格納するウェーブレット変換手段と、
前記バッファに記憶されたウェーブレット変換係数を読み出し、量子化及び符号化を行う符号化手段とを有し、
前記符号化手段は、
前記バッファに格納されたウェーブレット変換係数を、タイル毎に読み出し、量子化、符号化を実行し、
前記ウェーブレット変換手段は、
前記タイルに関わらず、ラスタースキャン順に入力される画素データに対してウェーブレット変換を行うことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、メモリバスの帯域の圧迫を抑制しつつ、画像の複数タイルへの分割と符号化を行うことが可能となる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係る符号化装置のブロック構成図。
【図２】撮像センサからのデータ入力順、符号化装置が要求するデータ入力順を例を示す図。
【図３】第１の実施形態に係る入力画像、ウェーブレット変換係数、量子化・符号化係数を説明するための図。
【図４】第１の実施形態に係る符号化装置の処理手順を説明するための図。
【図５】第１の実施形態に係る符号化データのDRAM記録位置を説明するための図。
【図６】第１の実施形態に係るMED予測を説明するための図。
【図７】第２の実施形態に係るウェーブレット変換をリフティング構造で実現する例を示す図。
【図８】第２の実施形態に係る入力画像、ウェーブレット変換係数、量子化・符号化係数を説明するための図。
【図９】第１の実施形態に係るラインバッファからウェーブレット係数を読み出す順を説明するための図。
【図１０】第１の実施形態における画像符号化処理手順を示すフローチャート。
【発明を実施するための形態】
【００１４】
以下添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１５】
［第１の実施形態］
図１は、本発明の実施形態に係る画像符号化装置の構成例を示すブロック図である。図１に示すように、実施形態における画像符号化装置100は、ウェーブレット変換部（以下、DWT変換部）101、係数ラインバッファ102、量子化部103、エントロピー符号化部104、タイルデータ入力制御部105を有する。また、画像符号化装置100へは、撮像行うセンサ106からの画像データが直接入力され、符号化後の画像データストリームはDRAM107に記録される。
【００１６】
なお、本実施例におけるウェ−ブレット変換は可逆５−３タップフィルタを用いるが特にその方式は問わない。また、符号化方式の一例としてJPEG2000を用いて説明するが特に符号化方式については問わない。係る構成において、まず入力画像を符号化する方法について図１、図２、図９を用いながら説明する。
【００１７】
センサ106から画像データは図２（ａ）と同じで、水平ピクチャサイズのラスタースキャン順にDWT変換部101に入力される。DWT変換部101は入力された水平ピクチャサイズのままウェーブレット変換を行い、変換後のウェーブレット係数を係数ラインバッファ102に保持する。
【００１８】
量子化部103はタイルデータ入力制御部105の設定に従い、係数ラインバッファ102から分割したいタイルの水平サイズに必要なウェーブレット係数を読み出し、量子化パラメータを用いて量子化し、エントロピー符号化部104に送る。なお、係数ラインバッファ102へのウェーブレット係数の入出力方法の詳細については後述する。また係数ラインバッファからの係数読み出し順は図２（ｂ）のように１タイルずつ順に読み出すのではなく、図９のように水平タイルライン単位に複数タイルに跨って行われる。
【００１９】
エントロピー符号化部104は、量子化部103で量子化されたウェーブレット係数に対してサブバンドごとに、EBCOT(Embedded Block Coding with Optimized Truncation)などのエントロピー符号化を施す。そして、エントロピー符号化部104は、生成された符号化データをメモリバスを介してDRAM107に保存（格納）する。
【００２０】
続いて、DWT変換部101から係数ラインバッファ102へのウェーブレット係数の書き込み方法、及び量子化部103のウェ−ブレット係数の読み出し方法について図３および図４、図５を参照して説明する。
【００２１】
図３（ａ）は、画素pix00〜pix77の水平8画素、垂直8画素のDWT変換部101に入力される符号化対象画像を示している。また、画素pix3xとpix4xを境に水平方向2分割でタイル分割符号化するものとする。また、左側のタイルをTile0、右側のタイルをTile1とする。
【００２２】
図３（ｂ）は、図３（ａ）に示す画像データに対し、１回のウェ−ブレット変換した係数である。LL00〜LL33は水平、垂直共にローパス出力であるサブバンドLLの変換係数を示す。LH00〜LH33は、水平ローパス出力、垂直ハイパス出力であるサブバンドLHの変換係数を示す。HL00〜HL33は、水平ハイパス出力、垂直ローパス出力であるサブバンドHLの変換係数を示す。そして、HH00〜HH33が水平、垂直共にハイパス出力であるサブバンドHHの変換係数を示す。
【００２３】
図３（ｃ）、（ｄ）は、図３（ａ）の入力画像をpix3xとpix4xを境に水平方向2タイルに分割した際のTile0、Tile1で量子化・符号化されるウェーブレット係数を示している。
【００２４】
図４は画像符号化装置100にセンサ106から画像データを入力するタイミング、DWT変換部101がＤＷＴによる変換係数を係数ラインバッファ102に書きこむタイミング、量子化部102がＤＷＴ係数を係数ラインバッファ102から読み出すタイミングを示している。
【００２５】
図４において、タイミングt0〜t9の各区間は画素データがセンサ106から1ラインデータを入力するのに必要な期間を示している。なお、タイミングt0期間から画像データの入力が開始されるものとする。
【００２６】
画素データの横のバーは各期間で画素データが入力されているかどうかを示している。図４においてはタイミングt0〜t7の期間にバーがあるため、タイミングt0〜t7において１ライン分の画素データが入力されていることを示している。
【００２７】
一方、ＤＷＴ変換の各サブバンドの横のバーは各期間でＤＷＴ変換が実行され、各サブバンドのデータが係数ランバッファ102に書きだされたかどうかを示している。例えば、タイミングt0期間ではどのサブバンドにおいてもバーが無い為、ＤＷＴ変換が実行されていないことを示す。そして、タイミングt2期間ではLev1-LL、Lev1-LH、Lev1-HL、Lev1-HHのバーが存在しているため、レベル１ＤＷＴが実行され、レベル１のLH、HH、LHの変換係数が出力されていることを示す。
【００２８】
量子化・符号化の横のバーはＤＷＴ変換出力されたＤＷＴ係数をどのタイミングで係数ラインバッファ102から読み出し、量子化部102およびエントロピー符号化部103で量子化・符号化をしているかを示している。例えば、タイミングt0期間ではどのサブバンドにおいてもバーが無い為、全サブバンドの係数を量子化・符号化していないことを示す。そして、タイミングt3期間の前半ではTile0 Lev1-LL、Tile0 Lev1-LH、Tile0 Lev1-HL、Tile0 Lev1-HHのバーが存在しているため、タイルTile0のレベル１のサブバンドLL、LH、HH、LHの変換係数の量子化・符号化が行われることを示している。また、タイミングt3期間の後半ではTile1 Lev1-LL、Tile1 Lev1-LH、Tile1 Lev1-HL、Tile1 Lev1-HHのバーが存在しているため、タイルTile1のレベル１のサブバンドLL、LH、HH、LHを量子化・符号化していることを示す。
【００２９】
図４の各区間で実行される符号化処理について、図１、図３、図５も参照しながら説明する。
【００３０】
図４のタイミングt0期間において、センサ106は、図３（ａ）の画素pix00〜pix70として示される１ライン分のデータを画像符号化装置100に供給する。なお、この時点ではまだ可逆５−３タップフィルタによるＤＷＴ変換を実行するに足るライン数分のデータが入力されていない。そのため、DWT変換部101は入力された1ライン分のデータを内部のラインバッファに保持するに留め、この期間でのＤＷＴ変換は実行しない。また、量子化部102およびエントロピー符号化部103は符号化する係数が存在しないため動作させない。
【００３１】
図４のタイミングt1期間において、センサ106は、図３（ａ）の画素pix01〜pix71として示される１ライン分の画像データを画像符号化装置100に供給する。この時点ではまだ可逆５−３タップフィルタによるＤＷＴ変換を実行するに足るライン数分のデータが入力されていない。このため、DWT変換部101は、入力された1ライン分のデータを内部のラインバッファに保持するに留め、この期間でのＤＷＴ変換は実行しない。また、量子化部102およびエントロピー符号化部103は符号化すべきＤＷＴによる変換係数が存在しないため動作しない。
【００３２】
図４のタイミングt2期間において、センサ106は、図３（ａ）の画素pix02〜pix72として示される１ライン分の画像データを画像符号化装置100に供給する。このとき、ＤＷＴ変換部101はタイミングt0,t1期間でラインバッファに保持した２ライン分の画素データおよび、今回入力する画素データを用いて可逆５−３タップフィルタによるＤＷＴ変換を実行する。この結果、図３(b)に示す、変換係数LL00〜LL30、LH00〜LH30、HH00〜HH30、LH00〜LH30が生成される。ＤＷＴ変換部101は、生成した変換係数LL00〜LL30、LH00〜LH30、HH00〜HH30、LH00〜LH30を係数ラインバッファ102に格納する。
【００３３】
なお、実施形態では、可逆５−３タップフィルタを用いるものとしているので、厳密には垂直方向のＤＷＴを行うためには、５ライン分のデータが必要になる。しかし、画像の端（図３の場合は画像の上端）では、２ライン分のデータをミラーリングで生成するので、画像の上部についてＤＷＴを行う場合には、図示のように３ライン分の画像データがあれば実施可能である。垂直ウェーブレット変換した結果および入力された1ライン分のデータは内部のラインバッファに保持され、後のウェーブレット変換に使用する。また、量子化部102およびエントロピー符号化部103は係数がラインバッファに書き込み中のため、このタイミングt2では動作しない。
【００３４】
図４のタイミングt3間において、センサ106は、図３（ａ）の画素pix03〜pix73として示される１ライン分の画像データを画像符号化装置100に供給する。なお、この時点ではまだ可逆５−３タップフィルタによるＤＷＴ変換を実行するに足るライン数分のデータが入力されていない。そのため、DWT変換部101は入力された1ライン分のデータを内部のラインバッファに保持するに留め、この期間でのＤＷＴ変換は実行しない。
【００３５】
量子化部102およびエントロピー符号化部103は、タイミングt3期間の前半において、図３（ｃ）のタイルTile0の変換係数LL00とLL10、HL00とHL10、LH00とLH10、HH00とHH10をラインバッファ102から読み出し、量子化、エントロピー符号化を実行する。そして、エントロピー符号化部103は、生成された符号化データを、メモリバスを介してDRAM107に格納する。各サブバンドの符号化データは、図５に示すようにタイルtile0用のサブバンド毎の各々別領域に格納される。
【００３６】
量子化部102およびエントロピー符号化部103は、タイミングt3期間の後半において、図3（ｄ）のタイルTile1の変換係数LL20とLL30、HL20とHL30、LH20とLH30、HH20とHH30をラインバッファ102から読み出し、量子化、エントロピー符号化を実行する。そして、エントロピー符号化部103は、生成されや符号化データを、メモリバスを介してDRAM107に格納する。各サブバンドの符号化データは、図５に示すようにタイルtile1用のサブバンド毎の各々別領域に格納される。
【００３７】
図４のタイミングt4期間において、センサ106は、図３（ａ）の画素pix04〜pix74として示される１ライン分の画像データを画像符号化装置100に供給する。また、ＤＷＴ変換部101はタイミングt2期間に生成し、ラインバッファに保持した垂直DWT係数、タイミングt2,t3期間でラインバッファに保持した２ライン分の画素データおよび入力画素データを用いてＤＷＴ変換を実行する。その結果、図３（ｂ）の変換係数LL01〜LL31、LH01〜LH31、HH01〜HH31、LH01〜LH31が生成される。そして、ＤＷＴ変換部101は、変換係数LL01〜LL31、LH01〜LH31、HH01〜HH31、LH01〜LH31を係数ラインバッファ102に格納する。また、ＤＷＴ変換部101は、垂直ウェーブレット変換した結果、および、入力された１ライン分のデータを内部のラインバッファに保持する。また、量子化部102およびエントロピー符号化部103は係数がラインバッファに書き込み中のため、動作しない。
【００３８】
図４のタイミングt5期間において、センサ106は、図３（ａ）の画素pix05〜pix75として示される１ライン分の画像データを画像符号化装置100に供給する。なお、この時点ではまだ可逆５−３タップフィルタによるＤＷＴ変換を実行するに足るライン数分のデータが入力されていない。そのため、DWT変換部101は、入力された１ライン分の画像データを内部のラインバッファに保持するに留め、この期間でのＤＷＴ変換は実行しない。
【００３９】
量子化部102およびエントロピー符号化部103は、タイミングt5期間の前半において、図3（ｃ）のタイルTile0の変換係数LL01とLL11、HL01とHL11、LH01とLH11、HH01とHH11をラインバッファ102から読み出し、量子化、エントロピー符号化する。そして、エントロピー符号化部103は、生成された符号化データを、メモリバスを介してDRAM107に格納する。また、このとき、図５に示すように各サブバンドデータは、個別の領域に格納される。
【００４０】
量子化部102およびエントロピー符号化部103は、タイミングt5期間の後半において、図3（ｄ）のタイルTile1の変換係数LL21とLL31、HL21とHL31、LH21とLH31、HH21とHH31をラインバッファ102から読み出し、量子化、エントロピー符号化する。そして、エントロピー符号化部103は、生成された符号化データを、メモリバスを介してDRAM107に格納する。また、このとき、図５に示すように各サブバンドデータは、個別の領域に格納される。
【００４１】
図４のタイミングt6期間において、センサ106は、図３（ａ）の画素pix06〜pix76として示される１ライン分の画像データを画像符号化装置100に供給する。また、ＤＷＴ変換部101はタイミングt4期間に生成し、内部のラインバッファに保持した垂直DWT係数、タイミングt4,t5期間で内部のラインバッファに保持した2ライン分の画素データおよび入力画素データを用いてＤＷＴ変換を実行する。その結果、図３（ｂ）に示す変換係数LL02〜LL32、LH02〜LH32、HH02〜HH32、LH02〜LH32が生成される。ＤＷＴ変換部101は、生成した変換係数LL02〜LL32、LH02〜LH32、HH02〜HH32、LH02〜LH32を、係数ラインバッファ102に格納する。また、垂直ウェーブレット変換した結果および入力された1ライン分のデータは、ＤＷＴ変換部101の内部のラインバッファに保持され、後のウェーブレット変換に使用される。また、量子化部102およびエントロピー符号化部103は係数がラインバッファに書き込み中のため、動作しない。
【００４２】
図４のタイミングt7期間において、センサ106は、図３（ａ）の画素pix07〜pix77として示される１ライン分の画像データを画像符号化装置100に供給し、画像入力を完了する。なお、この時点で可逆５−３タップフィルタによるＤＷＴ変換を実行するに足るライン数分のデータが入力されている。しかし、量子化部102から係数データの読み出しを行うため、DWT変換部101は入力された１ライン分のデータを内部のラインバッファに保持するに留め、この期間でのＤＷＴ変換は実行しない。
【００４３】
量子化部102およびエントロピー符号化部103は、タイミングt7期間の前半において、図３（ｃ）のタイルTile0の変換係数LL02とLL12、HL02とHL12、LH02とLH12、HH02とHH12をラインバッファ102から読み出し、量子化、エントロピー符号化する。そして、エントロピー符号化部103は、得られた符号化データを、メモリバスを介してDRAM107に格納する。また、このとき、図５に示すように各サブバンドデータは、個別の領域に格納される。
【００４４】
量子化部102およびエントロピー符号化部103は、タイミングt7期間の後半において、図３（ｄ）のタイルTile1の変換係数LL22とLL32、HL22とHL32、LH22とLH32、HH22とHH32をラインバッファ102から読み出し、量子化、エントロピー符号化する。そして、エントロピー符号化部103は、得られた符号化データを、メモリバスを介してDRAM107に格納する。また、このとき、図５に示すように各サブバンドデータは、個別の領域に格納される。
【００４５】
図４のタイミングt8期間において、ＤＷＴ変換部101は、タイミングt4,t5,t6期間で内部ラインバッファに保持した３ライン分の画素データを用いてＤＷＴ変換を実行する。なお、５タップのフィルタ処理を実行するのに足りない画素データはミラーリングして生成する。その結果、図３（ｂ）の変換係数LL03〜LL33、LH03〜LH33、HH03〜HH33、LH03〜LH33が生成される。ＤＷＴ変換部101は、生成された変換係数LL03〜LL33、LH03〜LH33、HH03〜HH33、LH03〜LH33を、係数ラインバッファ102に格納する。また、量子化部102およびエントロピー符号化部103は係数がラインバッファに書き込み中のため、動作しない。
【００４６】
図４において、量子化部102およびエントロピー符号化部103は、タイミングt9期間の前半において、図３（ｃ）のタイルTile0の係数LL03とLL13、HL03とHL13、LH03とLH13、HH03とHH13をラインバッファ102から読み出し、量子化、エントロピー符号化する。そして、エントロピー符号化部103は、得られた符号化データをメモリバスを介してDRAM107に格納する。また、このとき、図５に示すように各サブバンドデータは、個別の領域に格納される。
【００４７】
また、量子化部102およびエントロピー符号化部103はタイミングt9期間の後半において、図３（ｄ）のタイルTile1の係数LL23とLL33、HL23とHL33、LH23とLH33、HH23とHH33をラインバッファ102から読み出し、量子化、エントロピー符号化する。そして、エントロピー符号化部103は、得られた符号化データをメモリバスを介してDRAM107に格納する。また、このとき、図５に示すように各サブバンドデータは、個別の領域に格納される。
【００４８】
以上、説明したように、ウェーブレット変換まではタイル分割前の水平サイズで実行し、量子化、符号化をタイル分割後のサイズで実行することで入力画像をDRAMに符号化前にバッファする必要がなくなるため、メモリバスの帯域を削減できる。
【００４９】
図１０は、第１の実施形態における画像符号化装置100の符号化処理手順を示すフローチャートである。以下、同図に従って、画像符号化装置100の符号化手順を説明する。
【００５０】
ステップＳ１にて、ＤＷＴ変換部101は、符号化対象の画像データ内の１ライン分の画素データを入力し、内部バッファに格納する。そして、ステップＳ２にて、ＤＷＴ変換部101は、可逆５−３タップフィルタを用いたＤＷＴを実行可能する分のラインデータが格納されるのを待つ。ＤＷＴ変換可と判断されると、ステップＳ３にて、ＤＷＴ変換部101は内部バッファに格納された画素データにフィルタを適用してＤＷＴを行う。この結果、ウェーブレット変換係数が得られる。ＤＷＴ変換部101は、ステップＳ４にて、係数ラインバッファ102内に予め確保されたタイル別、サブバンド別の格納領域に、それぞれに属するウェーブレット変換係数を格納する。
【００５１】
ステップＳ５にて、量子化部103は、係数ラインバッファに格納されたタイル別のウェーブレット変換係数に対して量子化する。また、エントロピー符号化部104は、量子化部103による量子化後のウェーブレット変換係数をエントロピー符号化し、得られた符号化データをDRAM107に格納する。
【００５２】
この後、画像符号化装置100は、着目画像の全画素の符号化を終えたか否かを判定し、否の場合には処理をステップＳ１に戻し、上記処理を繰り返す。
【００５３】
なお、本実施形態では、符号化対象の入力画像は、水平8画素、垂直8画素の例を挙げて説明したが、これは説明を単純化するためであり、符号化対象の画像の画素数は特に制限はなく、ｎ×ｍ画素と表せる。
【００５４】
また、本実施形態ではウェーブレット変換を１回の場合を例に挙げ説明したが、その回数も１回に限らず、何回行っても構わない。また、実施形態では、ウェーブレット変換用のフィルタとして可逆５−３タップフィルタを用いるものとしたが、タップ数はこれに限るものではく、非可逆フィルタであっても構わない。
【００５５】
更に、本実施形態ではエントロピー符号化方式としてJPEG2000で採用されているEBCOTを前提にして説明したが、別のエントロピー符号化方式を用いても良い。例えばJPEG LSなどで採用されているMED予測とゴロム符号化を組み合わせた予測符号化などが挙げられる。ここでMED予測については図６を用いてより詳細に説明する。
【００５６】
図６において、符号化対象変換係数はcur、符号化対象係数の左隣係数をa、符号化対象係数の上隣係数をb、符号化対象係数の左上隣の係数をcとする。また、符号化はラスタースキャン順に行うものとする。従って、符号化対象変換係数curを符号化するとき、符号化対象変換係数curの周囲に位置する係数ａ，ｂ，ｃについて符号化済みとなっている。
【００５７】
MED予測による予測係数pは以下の次式（１）で求められる。
【００５８】
【数１】
2019110405.tif 000003
【００５９】
JPEG LS ではMED予測で求めた予測係数ｐと符号化対象係数curの差分をゴロム符号化することで符号化効率を高めている。
【００６０】
ただし、MED予測は１つ上のラインの係数を参照するため、上ライン係数をバッファに保持する必要がある。
【００６１】
入力画像をDRAMに符号化前に保持する構成は、水平タイルラインサイズのバッファがあれば良いのに対し、本実施形態の構成では水平入力画像ラインサイズのバッファが必要となる点に留意する必要がある。
【００６２】
［第２の実施形態］
続いて、第２の実施形態におえる画像符号化装置の符号化を図７、図８を参照して説明する。なお、本第２の実施形態において、画像符号化装置の構成は図１と符号化処理の実行手順は図４と同じとし、その説明は省略する。ただし、量子化部103から読みだすウェーブレット係数の数が、上記第１の実施形態と異なる。
【００６３】
図７は水平８画素のデータの可逆５−３タップフィルタによるウェーブレット変換をリフティング構造を用いた実現例を示している。
【００６４】
図７において、P0〜P7は画素を表し、P1’、PP’、P5’、P7’はレベル1のハイパス成分、P0’、P2’、P4’、P6’はレベル１のローパス成分を示している。この図において、水平方向の画素P3、P4の間でタイル分割することを考える。
【００６５】
復号時の処理を考えると、左側タイル（着目タイル）内の境界の画素P3を完全に復号するのに必要なウェ−ブレット係数、画素はP2、P4、P3’である。画素P4はウェ−ブレット変換されているため、画素P4を復号するのに必要な係数を考えるとウェーブレット係数3’、4’、5’が必要となる。従って左側タイル境界の画素P3を完全に復号するためにはタイル左側に含まれるウェ−ブレット係数に加え、右側の隣接タイル内のウェ−ブレット係数P4’、P5’が必要となる。
【００６６】
続いて右側のタイル境界の画素P4を完全に復号するのに必要なウェ−ブレット係数、画素はP3’、P4’、P5’である。従って右側タイル境界の画素P4を完全に復号するためにはタイル右側に含まれるウェ−ブレット係数に加え、タイル左側のウェ−ブレット係数P3’が必要となる。
【００６７】
以上の考えを第１の実施例で用いた水平8画素、垂直8画素の入力画像に適用した場合のＤＷＴ変換で生成される変換係数、量子化部に入力される係数を図８（ａ）に示す。
【００６８】
図８（ａ）に示される画素pix00〜pix77の水平8画素、垂直8画素で表される画像データが符号化対象画像であり、これがDWT変換部101に入力される。図８（ｂ）は、図８（ａ）に示す画像を１回ウェ−ブレット変換した際に得られる変換係数を示しており、図３（ｂ）と同じである。一方、図８（ｃ）は、図８（ａ）の入力画像を画素pix3xと画素pix4xを境に水平方向２タイルに分割した際のタイルTile0の量子化・符号化されるウェーブレット係数を示している。そして、図８（ｄ）は、図８（ａ）におけるタイルTile1の量子化・符号化されるウェーブレット係数を示している。図３（ｃ）、（ｄ）より、符号化対象係数が増えている。図８（ｃ）のタイルTile0側の係数は図７の左側のタイルに相当するため、ローパス側係数、ハイパス側係数ともに水平１係数ずつ増えている。一方、図８）ｄ）のタイルTile1側は、図７の右側のタイルに相当するため、ハイパス側係数が水平１係数増えている。
【００６９】
以上のように、量子化、符号化する係数を第１の実施形態の場合に対して増やすことでタイル境界の画素をミラーリングでは無く、実際の係数を用いて復元することが可能となり、タイル境界の画質が改善する。
【００７０】
一方、符号化対象係数が増えるため、クロック周波数を上げるなど量子化部、符号化部の性能を実施例１に対して上げる必要がある点に留意する必要がある。
【００７１】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７２】
１００…画像符号化装置、１０１…ＤＷＴ変換部、１０２…係数ラインバッファ、１０３…量子化部、１０４…エントロピー符号化部、１０５…タイルデータ入力制御部、１０６…センサ、１０７…ＤＲＡＭ
【図１】
2019110405.tif 000004
【図２】
2019110405.tif 000005
【図３】
2019110405.tif 000006
【図４】
2019110405.tif 000007
【図５】
2019110405.tif 000008
【図６】
2019110405.tif 000009
【図７】
2019110405.tif 000010
【図８】
2019110405.tif 000011
【図９】
2019110405.tif 000012
【図１０】
2019110405.tif 000013