(57)【要約】【課題】  対象画像を所定ブロック単位で、低解像度に変換を行った後に２つの符号化方式から１つを選択して符号化を行う符号化装置において符号化方式の切替が頻繁に起こると画質が劣化する。【解決手段】  入力画像データに対する縮小画像を生成し、縮小画像から画素ブロックを復元可能な解像度補間データを生成し、解像度補間データのサイズに基づいて、２つの符号化方式のうち１つの符号化方式を選択する。この際、直前に処理したブロックで選択された符号化方式を優先して選択するように制御する。【選択図】  図３
2012100182.tif 000002
【特許請求の範囲】
【請求項１】
符号化対象の入力画像データの画素ブロックに対応する１画素を出力することで前記入力画像データに対する縮小画像を生成する手段と、
前記生成された縮小画像から、前記画素ブロックを復元可能な解像度補間データを生成する手段と、
前記生成された解像度補間データのサイズに基づいて、２つの符号化方式のうち１つの符号化方式を選択する手段と、
前記選択された符号化方式を用いて符号化を施す手段とを備える画像符号化装置であって、
前記選択する手段は、直前の処理で選択された符号化方式を優先して選択することを特徴とする画像符号化装置。
【請求項２】
前記縮小画像を生成する手段は、前記縮小画像を生成する処理を複数回実行し、
前記解像度補間データを生成する手段は、前記縮小画像を生成する処理ごとに元画像を復元可能な解像度補間データを生成することを特徴とする、請求項１に記載の画像符号化装置。
【請求項３】
前記２つの符号化方式は非可逆符号化方式と可逆符号化方式であり、
前記縮小画像を生成する手段は、符号化対象の入力画像に対してデータ中の画素ブロックに対応する１画素を出力することで前記入力画像データに対する第１の縮小画像を生成する手段と、前記生成された第１の縮小画像に対してデータ中の画素ブロックに対応する１画素を出力することで第２の縮小画像を生成する手段とを有し、
前記解像度補間データを生成する手段は、前記第１の縮小画像から元画像を復元可能な第１の解像度補間データを生成する手段と、前記第２の縮小画像から前記第１の縮小画像を復元可能な第２の解像度補間データを生成する手段とを有し、
前記選択する手段は、前記第１の解像度補間データと前記第２の解像度補間データのサイズから非可逆符号化方式と可逆符号化方式のどちらかを選択し、
さらに、前記選択する手段により非可逆符号化方式が選択された場合に前記第１の縮小画像に非可逆符号化方式を用いて符号化を施す手段と、可逆符号化方式が選択された場合に前記第２の縮小画像に非可逆符号化方式を用いて符号化を施す手段とを備えることを特徴とする、請求項２に記載の画像符号化装置。
【請求項４】
符号化対象の入力画像データの画素ブロックに対応する１画素を出力することで前記入力画像データに対する縮小画像を生成する工程と、
前記生成された縮小画像から、前記画素ブロックを復元可能な解像度補間データを生成する工程と、
前記生成された解像度補間データのサイズに基づいて、２つの符号化方式のうち１つの符号化方式を選択する工程と、
前記選択された符号化方式を用いて符号化を施す工程とを備え、
前記選択する工程は、直前の処理で選択された符号化方式を優先して選択することを特徴とする画像符号化方法。
【請求項５】
請求項４に記載の画像符号化方法をコンピュータに実行させるプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化技術、特に、高解像度の画像データを簡易、かつ、高効率に符号化する技術に関するものである。
【背景技術】
【０００２】
従来、元画像から縮小画像と解像度補間データを生成し、所定ブロックごとに解像度補間データの大きさから符号化方式を選択して符号化する技術があった（特許文献１）。従来技術において、縮小画像は、例えば２×２画素単位でその左上の画素をサブサンプリングすることによって縦横半分の画像を生成したものである。また解像度補間データは、上記２×２画素単位で非サンプリング画素を復元するための情報である。
【０００３】
元画像から縮小画像を生成することの目的は元画像が１２００ｄｐｉなどの高解像度の画像であっても、単純な処理で元画像を縮小しておくことによりその後の複雑な符号化処理を短時間で可能にすることである。静止画像圧縮として一般に使用されている非可逆符号化方式のＪＰＥＧ及び可逆符号化方式のＪＰＥＧ−ＬＳ等に比べるとサブサンプリング処理は明らかに高速に実行可能である。
【０００４】
一方、縮小された画像を所定ブロックごとに符号化方式を選択することの目的は画質と圧縮率を両立させるためである。例えば、比較的画質劣化が目に付きにくい自然画領域などでは可逆符号化方式を用いると良い圧縮率が得られないので不可逆方式が望ましい。一方、文字、線画等の領域は画質劣化が目に付きやすく可逆符号化方式でも高い圧縮率が得られるので可逆符号化方式が望ましい。
【０００５】
元画像中の２×２画素に対応する1画素を出力して縮小画像を生成する際に、文字線画であれば２×２画素の全てまたは多くは同一であることが多い。その場合解像度補間データとしては２×２画素が同一であることを示す符号のみでよく文字、線画全体としても解像度補間データの量は比較的少なくなる。対して自然画などの場合はN画素中でも色が少しずつ変化することが多く解像度補間データの量は多くなる傾向がある。つまり解像度補間データの量から画像の特性を推測することが可能であり、従来技術は解像度補間データの大きさから符号化方式を選択して符号化するものであった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特願２０１０−１４１５３３
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、可逆符号化方式と不可逆符号化方式がブロックごとに頻繁に切り替わる領域においてはブロックノイズが発生し画質が劣化してしまうという課題があった。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明は、符号化対象の入力画像データの画素ブロックに対応する１画素を出力することで前記入力画像データに対する縮小画像を生成する手段と、前記生成された縮小画像から、前記画素ブロックを復元可能な解像度補間データを生成する手段と、前記生成された解像度補間データのサイズに基づいて、２つの符号化方式のうち１つの符号化方式を選択する手段と、前記選択された符号化方式を用いて符号化を施す手段とを備える画像符号化装置であって、前記選択する手段は、直前の処理で選択された符号化方式を優先して選択することを特徴とする画像符号化装置を提供する。
【発明の効果】
【０００９】
本発明によればブロックごとに符号化方式が切り替えられる頻度が抑制されるので、ブロックノイズの発生を低減させる効果がある。
【図面の簡単な説明】
【００１０】
【図１】実施形態１における画像符号化装置の機能ブロック構成図である。
【図２】符号化対象データとストライプ、タイルの関係を表す図である。
【図３】実施形態１における符号方式選択部の詳細構成を示すブロック図である。
【図４】実施形態１における符号方式選択部の効果を説明する図である。
【図５】２×２画素ブロックの取りうる組み合わせを示す図である。
【図６】２×２画素ブロックの種類とフラグ値との対応を示す図である。
【図７】解像度補間データを決定する論理フローを説明する図である。
【図８】２×２画素ブロック内の画素値比較結果とパターンフラグの対応を示す図である。
【図９】実施形態１における符号化データの構造を示す図である。
【図１０】実施形態１における全体の処理フローを示す図である。
【図１１】実施形態１における物理的構成図を示す図である。
【図１２】実施形態２における画像符号化装置の機能ブロック構成図である。
【図１３】実施形態２における符号方式選択部の詳細構成を示すブロック図である。
【図１４】実施形態２における符号化データの構造を示す図である。
【図１５】実施形態２における全体の処理フローを示す図である。
【図１６】実施形態３における符号化データの構造を示す図である。
【発明を実施するための形態】
【００１１】
本発明を実施するための最良の形態について図面を用いて説明する。
【００１２】
＜実施形態１＞
入力画像データについて説明しておく。入力画像データの入力源は印刷データ等の情報に基づいてレンダリングするレンダリング部を想定するが、イメージスキャナであっても良いし、画像データを格納している記憶媒体などであっても良い。本実施形態に係る画像符号化装置の符号化対象とする画像データは、ＲＧＢカラー画像データであり、各色成分は８ビットで０〜２５５の範囲の輝度値を表現した画素データにより構成されるものとする。符号化対象の画像データの並びは点順次、即ち、ラスタースキャン順に各画素を並べ、その各画素はＲ、Ｇ、Ｂの順番でデータを並べて構成されるものとする。画像は水平方向Ｗ画素、垂直方向Ｈ画素により構成されるものとする。説明簡易化のため、Ｗ、Ｈは後述する符号化の処理単位であるタイルのサイズ（本実施形態では水平、垂直方向とも３２画素）の整数倍であるとして説明する。ただし、入力画像データはＲＧＢ以外の色空間、例えば、ＹＣｂＣｒやＣＭＹＫでも構わず、色成分の精度は8ビット以外でも構わない。
【００１３】
以下、図1に示す画像符号化装置における符号化処理を説明する。同図において１１５は図1の画像符号化装置全体の動作を制御する制御部である。各処理部は制御部１１５の制御によって協調して動作する。
【００１４】
まず、画像入力部１０１は符号化対象となる画像データを順に入力し、ラインバッファ１０２に出力する。画像データの入力順序は先に説明したとおりラスタースキャン順とする。
【００１５】
ラインバッファ１０２は画像データを所定のライン数分格納する領域を持ち、画像入力部１０１から入力される画像データを順次格納していく。ここで、ライン数は後述するタイル分割部１０３で切り出される矩形ブロック（以降タイルと称する）の垂直方向の画素数であり、本実施形態では“３２”である。以降、符号化対象画像データを３２ラインの幅で分割したデータをストライプと呼ぶ。ラインバッファ１０２に必要とされる容量、即ち１ストライプのデータ量はＷ×３２×３（ＲＧＢ分）バイトである。先に述べたとおり、説明の便宜上、垂直方向画素数Ｈは３２の整数倍であるとし、画像の末尾で不完全なストライプが発生しないものとする。
【００１６】
まずラインバッファ１０２に１ストライプの画像データ、即ち、３２ライン分の画像データが格納される。次にタイル分割部１０３はラインバッファ１０２に格納される３２ライン分の画像データから、水平方向３２画素、垂直方向３２画素で構成されるタイルに分割して、ブロック単位に読み出してタイルバッファ１０４へと格納する。先に説明したように、符号化対象画像の水平方向の画素数Ｗは３２の整数倍としているので、矩形ブロックに分割した場合に不完全なブロックが発生しないものとする。図２に符号化対象画像データとストライプ、タイルの関係を図示する。
【００１７】
図1において、タイルバッファ１０４は１タイル分の画素データを格納する領域を持ち、ブロック分割部１０３から出力されるタイルデータを順次格納していく。タイルバッファ１０４に必要とされる容量は３２×３２×３（ＲＧＢ分）である。
【００１８】
解像度変換部１０５は、タイルバッファ１０４に格納されるタイルデータに付いて２×２画素の領域毎に左上の１画素を抽出するサブサンプリングを行い、１／２縮小タイルを生成する（縮小画像生成）。ここで１／２縮小タイルとはタイルバッファ１０４に格納されるタイルデータを、水平、垂直両方向の画素数を１／２としたタイルを表す。また、２×２画素の領域の画像データをこれ以降単に「画素ブロック」と呼ぶ。以下の例では、２×２画素を一例に画素ブロックを説明するが、２×２画素に限定されるものではない。解像度補間データ生成部１１０はタイルバッファ１０４に格納されるタイルデータに付いて２×２画素の単位で解像度補間データの生成を行う処理部である。
【００１９】
ここで解像度変換部１０５および解像度補間データ生成部１１０の処理論理の１例を詳細に説明する。解像度変換部１０５は常に２×２画素ブロックの左上の画素を出力する。他の位置でも構わないがその場合も常に同じ位置をサンプリングする。
【００２０】
解像度補間データの説明にあたり、まず２×２の４画素データ中に占めるデータ色数に応じてその組み合わせの場合の数を考える。ここで各画素のＲ、Ｇ、Ｂの単位で比較して４画素とも同一であれば1色と判断する。画素数が４画素なので、そこに占める色数は最大４色になり、ブロック内でたかだか１〜４色の組み合わせしか存在しない。それら４色のパターンのとりうる組み合わせの場合の数を図５を使って説明する。
【００２１】
ブロック内が１色の場合、４画素が同一データ色で構成されている事になるので、その組み合わせは１通りである。ブロック内が２色の場合は、２色が４画素内へレイアウトされる場合の数は、左上の画素を第１色、他方を第２色と考えると、左上以外残りの３画素へ第１色もしくは第２色が入るので、４画素同色の場合を除くと、全部で７通りの組み合わせが考えられる。ブロック内が３色の場合は、３色が４画素内へレイアウトされる場合の数は、３色のうち１色だけ２度使われる場合の数と言い換える事が可能で、４画素の座標のうち、２画素が同じ色になる場合の数を求めればよい。つまり３色の場合の数は、４つの座標から２つの座標を取る組み合わせとなり、全部で６通りとなる。最後にブロック内が４色の場合は１色の場合と同様１パターンしか存在しない。
【００２２】
これら１〜４色すべての場合の数を合計すると全部で１５通りのパターンが考えられる。これらすべてのパターンを識別するためにフラグを付与する事を考えると、データ量としては４ｂｉｔ必要となる。図示すると図６のようになり、以降このフラグを「パターンフラグ」と称する。上記のように２×２画素の取りうる組み合わせを踏まえて、解像度補間データ生成部２０３にて行われる処理を図７のフローを用いて説明する。
【００２３】
まず２×２画素のブロックを入力し（Ｓ５０１）、そのブロック内全ての２画素の組み合わせに対して２４ｂｉｔのコンペアを取る（Ｓ５０２）。このコンペアを取った結果、全ビット一致していた場合１を、不一致の場合０を出力する。図８に示すように、２×２画素内の左上から右上、左下、右下の順に座標１、２、３、４とすると、２画素の組は、１−２、１−３、１−４、２−３、２−４、３−４の全部で６通りあるので、６回コンペアを取る必要があり、結果は６ｂｉｔ出力される。例えば全画素同色の場合には、全てのコンペア結果が１を出力し、逆に４画素全てバラバラの画素値を持っている場合には、全てのコンペア結果が０を出力する。前述の通り、４画素で色の一致から出現しうるパターン数は１５通りなので、その６ｂｉｔのコンペア結果に対して４ｂｉｔのパターンフラグへ変換することが可能である（Ｓ５０３）。
【００２４】
４ｂｉｔのパターンフラグへ変換したら続いて４画素内で出現した色数および色データを抽出する（Ｓ５０４）。パターンフラグから、左上を第１色とした場合の第２色以降がどの位置にあるか求める事が出来る。図８を参照しながら説明を行う。例えば４画素内が１色で構成されていることが確定した場合には、２色目以降は存在しないので、パターンフラグ４ｂｉｔを解像度補間データとして出力する（Ｓ５０６）。また４画素内が２色で構成されていることが確定した場合（Ｓ５０７）には、その２色目の座標をパターンフラグより算出し、パターンフラグ４ｂｉｔと２色目の画素値２４ｂｉｔを出力する（Ｓ５０８）。３色、４色の場合も同様である（Ｓ５０９、Ｓ５１０、Ｓ５１１）。この時ブロック内の座標（左上から右上、左下、右下の順に）順にこれまで出現していなかった色データを記憶する。左上の色データは解像度変換部１１５が出力するので解像度補間データとしては出力しない。
【００２５】
このように、２×２画素のブロック内の４色９６ｂｉｔの入力データからサブサンプリングされた1画素と４ｂｉｔのパターンフラグとそこに存在する２色目以降の数だけ画素値を出力することで、比較的簡単な処理で出力データ量を削減することが可能になる。またパターンフラグを参照することで、そのブロック内の色数を特定することが可能になる。
【００２６】
図１に戻り、１０６はサブサンプリングされた１／２縮小タイルを保持する１／２縮小タイルバッファである。１１１は補間データ生成部１１０で生成された解像度補間データを入力し符号化方式を決定する符号化方式選択部である。これは本発明の特徴となる処理部である。以下、図３、図４を用いて符号化方式選択部１１１の詳細を説明する。
【００２７】
図３において２０１は入力された解像度補間データのデータ量をタイル単位でカウントし総量を取得し出力する補間データ量取得部である。２０４、２０５はそれぞれ既定の閾値１、閾値２を保持し出力する閾値出力部である。補間データ量取得部２０１から出力されたタイル単位のデータ量は、比較部1と比較部2においてそれぞれ閾値１、閾値２と比較される。比較部１と比較部２は解像度補間データ量が対応する閾値よりも大きいとき非可逆符号化方式を示す１、それ以外のときは可逆符号化方式を示す０を出力する。
【００２８】
２０６は符号化方式保持部２０７から出力される信号が０のときは比較部１（２０２）からの入力を選択し、１のときは比較部２（２０３）からの入力を選択して出力する選択部である。比較部１（２０２）、比較部2（２０３）から出力された信号は選択部２０６で何れかが選択され符号化方式指定信号として出力されると同時に符号化方式保持部２０７に保持される。符号化方式２０７に保持された符号化方式選択信号は次のタイルの符号化方式を選択部２０６で選択するときの指示信号として用いられる。つまり、直前の（１つ前の）タイルの符号化方式が可逆であったとき指示信号は０であるので比較部１（２０３）の値が選択される。一方、直前の（１つ前の）タイルの符号化方式が非可逆であったときの指示信号は１であるので比較部２（２０３）の値が選択される。最初のタイルを処理するときの符号化方式保持部２０７の値についてはどちらでも実装可能である。本実施形態では０とする。このようにして、直前の処理で選択された符号化方式が優先して選択されるようにする。
【００２９】
図３の構成をとることによる効果を図4のグラフを用いて説明する。Ｔ１からＴ９は同一ストライプ内で順番に処理されたタイルに相当しＹ方向は各タイルに対応する解像度補間データ量を示す。図中で「本来の閾値」で示される点線のレベルは符号化方式を画質と圧縮率を両立させるために符号化方式を選択するための閾値である。本実施形態では元画像１タイル総量３０７２（＝３２×３２×３）の１／８、すなわち３８４バイトとする。閾値1のレベルは「本来の閾値」よりも若干高い既定のレベルであり、閾値2は「本来の閾値」よりも若干低い既定のレベルである。本実施形態ではそれぞれ４２２バイト、３４６バイトとする。
【００３０】
以上の構成で図４に示すタイル処理が発生したとする。従来技術では1つの閾値すなわち「本来の閾値」を用いて符号化方式を選択するのでＴ３からＴ４、Ｔ４からＴ５、Ｔ５からＴ６、Ｔ８からＴ９の各４箇所で符号化方式が変更される。
【００３１】
本実施形態ではＴ１からＴ３までのタイルでは可逆符号化方式が選択されるのでＴ４の処理において選択部２０６は比較部１（２０２）の出力を選択する。すなわちＴ４の解像度補間データ量は閾値１と比較されるのでＴ１からＴ３と同様可逆符号化方式が選択される。以下Ｔ４、Ｔ５、Ｔ６も同様に可逆符号化方式が選択される。Ｔ７においては対応する解像度補間データ量が閾値１を超えるので非可逆符号化方式が選択される。符号化方式保持部２０７には１が保持され次のＴ８の処理において、選択部２０６は比較部２（２０３）の出力を選択する。すなわちＴ８の解像度補間データ量は閾値２と比較されるのでＴ８は非可逆符号化方式が選択され、さらにＴ９においても同様の過程を経て非可逆符号化方式が選択される。結局、Ｔ１からＴ９の過程においては符号化方式の切り替わりが１回のみとなり本実施形態において符号化方式の切り替わりが抑制されていることがわかる。
【００３２】
ただし、図３の構成は有効であるものの符号化方式の切り替わりを抑制するための１例に過ぎない。例えば、従来と同様に閾値は１つだけ用意して各タイル毎に符号化方式の仮判定を行い仮判定がｎ（ｎは２以上）タイル連続した場合にはじめて１つ目のタイルの符号化方式を決定しても良い。その構成では１タイルだけ孤立的に異なる符号化方式が選択されるのを防ぐことができ、結果的に符号化方式の切り替え回数を抑制する効果がある。
【００３３】
図１に戻り、符号化方式選択部１１１が出力する信号に従って非可逆符号化部１０７または可逆符号化部１０８が活性化し１／２縮小タイルバッファに保持された１／２縮小タイルデータが符号化処理される。符号化処理された符号化データは符号化データバッファ１０９で１タイル分格納される。一方、補間データ生成部１１０で生成された解像度補間データは１１２の補間データバッファで１タイル分格納される。
【００３４】
符号列形成部１１３は、まず符号化方式選択部１１１から出力される制御信号と、補間データバッファ１１２に格納される補間データ、符号化データバッファ１０９に格納される１／２縮小タイルの符号化データを結合させる。さらに、必要な付加情報を加えて本画像符号化装置の出力となる符号列を、オリジナル画像データに対応する符号化画像データとして形成する。このとき、符号列形成部１１３は、符号化方式選択部１１１から出力される制御信号に基づき、どのタイルが可逆符号化され、どのタイルが非可逆符号化されているのかを示す情報も付加して、出力する。
【００３５】
図９（ａ）は本画像符号化装置の出力符号列のデータ構成を示す図である。出力符号列の先頭には、画像を復号するために必要となる情報、例えば、画像の水平方向画素数、垂直方向画素数、コンポーネント数、各コンポーネントのビット数やタイルの幅、高さなどの付加情報がヘッダとして付けられる。また、このヘッダ部分には、画像データそのものについての情報のみでなく、各タイル共通に使用するハフマン符号化テーブルや、量子化テーブルなど符号化に関する情報も含まれる。
【００３６】
図９（ｂ）は各タイルの出力符号列の構成を示す図である。各タイルの先頭にはタイルの番号や大きさなど、復号に必要な各種情報を含んだタイルヘッダがあり、その後に、符号化方式選択部１１１から出力される制御信号が付加される。ここでは説明のためにあえてタイルヘッダとは別に示しているが、タイルヘッダの中に含めても構わないことは言うまでもない。なお、図９（ａ）、（ｂ）には特に示していないが、各タイルの符号列の長さをタイルの先頭や、符号化データの先頭のヘッダ部分に含めるなどして管理することによりタイル単位のランダムアクセスが可能となるようにしても良い。あるいは、符号化データ中に所定の値が発生しないように工夫を加えて特殊なマーカを設定し、各タイルデータの先頭、または末尾にマーカを置くなどしても同様の効果が得られる。
【００３７】
以上述べた本実施形態の装置構成において、対象となる画像を符号化するために主制御部１１５が行う全体の処理手順を図１０のフローチャートに従って説明する。まず、ステップＳ３００において、符号化を開始する前の初期化処理が行われる。ここでは、符号化対象となる画像データについて符号列に含めるべきヘッダ情報を準備したり、各種メモリ、変数等の初期化する処理が行われる。また符号化方式保持部の値は０に初期化される。
【００３８】
初期化処理の後、ステップＳ３０１では、画像入力部１０１は接続される外部装置などから符号化対象の画像データを順次入力し、ラインバッファ１０２に符号化対象となる画像データの１ストライプ分のデータを格納する。ステップＳ３０２では、タイル分割部１０３はラインバッファ１０２に格納されるストライプについて、着目するタイルデータを切り出し、タイルバッファ１０４へ格納する。
【００３９】
続いて、ステップＳ３０３において、解像度変換部１０５は着目するタイルデータ中における各画素ブロックの左上隅の画素をサブサンプリングすることで１／２縮小タイルデータを生成し、１／２縮小タイルバッファ１０６に縮小タイルを格納する。ステップＳ３０４では、補間データ生成部１１０は１／２縮小タイルデータから元の解像度のタイルデータを復元するための補間データを生成する。
【００４０】
ステップＳ３０５では、符号化方式選択部１１１内の符号化方式保持部２０７が保持している前タイルの符号化方式の値により処理が分岐する。０であれば閾値１との比較により符号化方式が決定し（ステップ３０６）、１であれば閾値２との比較により符号化方式が決定する（ステップ３０７）。ステップ３０６またはステップ３０７においてそれぞれの閾値よりも解像度補間データの量が小さければ、符号化方式は可逆符号化方式に決定し（ステップ３０８）、符号化方式保持部２０７には０が格納される（ステップ３０９）。一方ステップ３０６またはステップ３０７においてそれぞれの閾値よりも解像度補間データの量が大きければ、符号化方式は非可逆符号化方式に決定し（ステップ３１０）、符号化方式保持部２０７には１が格納される（ステップ３１１）。
【００４１】
選択された符号化方式が可逆符号化である場合（ステップＳ３０８）、可逆符号化部１０８は１／２縮小タイルデータを可逆符号化して符号化データを生成し、符号化バッファ１０９に格納する。選択された符号化方式が非可逆符号化である場合（ステップＳ３１０）、可逆符号化部１０７は１／２縮小タイルデータを非可逆符号化して符号化データを生成し、符号化バッファ１０９に格納する。続いて、ステップＳ３１２で、符号列形成部１１３は着目するタイルについて、タイルヘッダ、可逆／非可逆を識別する情報、補間データ、１／２縮小タイル符号化データを結合させて、タイル符号化データを形成する。
【００４２】
ステップＳ３１３では、符号化処理を行ったタイルが現在読み込まれているストライプの最後のタイルであるか否かを判定する。最後のタイルでない場合には次のタイルについてステップＳ３０２から処理を繰り返す。ストライプの最後のタイルである場合には、処理をステップＳ３１４へと移す。ステップＳ３１４では、現在読み込まれているストライプが画像の最終ストライプであるか否かを判定する。最終ストライプでない場合にはステップＳ３０１に戻り、次のストライプデータを読み込み、処理を継続する。最終ストライプの場合には、ステップＳ３１６へと処理を移す。処理がステップＳ３１６に移ったときには、符号化対象画像データのすべてのタイルについて符号化処理が終了しており、符号列形成部１１３に格納された全タイルの符号化データから、最終的な符号化データを生成して、符号出力部１１４へと出力する。
【００４３】
以上で本実施形態の構成と処理フローを一通り述べた。図１の構成はデータの流れに主眼を置いて示した機能ブロック図である。実際の物理的な実装としては安価に構成するため図１１のように各バッファを１つのＲＡＭに構成した方が好ましい。つまり、図１１ではラインバッファ１０２、タイルバッファ１０４、１／２縮小タイルバッファ１０６、補間データバッファ１１２、符号化データバッファ１０９はＲＡＭ内の所定領域に定義される。
【００４４】
また、高性能な装置にするためにはタイル分割部１０３、解像度変換部１０５、補間データ生成部１１０、非可逆符号化部１０７、可逆符号化部１０８、符号列形成部１１３にはそれぞれダイレクトアクセスメモリコントローラ（ＤＭＡＣ）を持たせる。そしてＲＡＭ内の所定バッファ領域から直接データを読み取り処理を施した後にＲＡＭ内の所定領域へデータを書き戻す機能をもたせるとよい。各処理部はバスを介してＲＡＭと接続される。
【００４５】
タイル分割部１０３についてはそのＤＭＡＣがＲＡＭ内のライバッファのタイルに相当する領域のアドレスを順次発生しタイル上に読み取られたデータをＲＡＭ内のタイルバッファに割り当てられた領域へ連続的に書き戻すものである。
【００４６】
解像度変換部１０５、補間データ生成部１１０それらの共通のＤＭＡＣを持ち、ＲＡＭ内のタイルバッファに相当する領域のアドレスを発生しタイルデータを順次読み取る。解像度変換部１０５は読み取ったタイルデータから２×２画素ごとにサブサンプリングを行った後、１／２縮小タイルバッファに相当する領域へデータを書き戻す。一方補間データ生成部は読み取ったタイルデータから２×２画素ごとに順次解像度補間データを生成しＲＡＭ内の補間データバッファ領域に書き戻すと共に補間データバッファ１１２へも解像度補間データを出力する。符号化方式選択部１１２は前述の論理に従って１タイル毎に符号化方式指定信号を非可逆符号化部１０７と可逆符号化部１０８に出力する。符号化方式指定信号によって示された符号化部のみがＲＡＭ内の１／２縮小タイルバッファに相当する領域から１／２縮小タイルデータを読み出して符号化処理を施し生成された符号をＲＡＭ内の符号化データバッファ領域へ書き戻す。
【００４７】
符号列形成部１１３については、そのＤＭＡＣがＲＡＭ内の符号化データバッファ、補間データバッファの各領域から１／２縮小タイル符号化データと補間データを読み込み図９に示す符号化データを構築し順次符号出力部１１４へ送出する。
【００４８】
制御部１１５は各処理部のＤＭＡＣのリードアドレス領域、ライトアドレス領域の設定、処理パラメータの設定、処理の起動、処理経過のモニター動作、各バッファ領域の管理などを行う。すなわち、各処理部は一度処理が起動されればＤＭＡＣによってファームウェアを介さずに動作する。さらに制御部１１５が各処理部のアクセスするバッファ領域がぶつからないようにメモリ領域を管理することによって、各処理部は同時動作が可能になり高い性能を得ることができる。
【００４９】
＜実施形態２＞
実施形態１の画像符号化装置では、符号化対象となる画像データを水平、垂直方向ともに１／２に縮小し、これを可逆、または、不可逆符号化の対象とした。しかしながら、１／２の縮小に限らず、より小さい画像を生成してビットマップ符号化の対象としても構わない。本実施形態では、その一例として１／２縮小処理を再起的に所定回数実行する。そして１回の縮小処理をするたびに、縮小元の画像から解像度補間データを生成する例を説明する。説明を簡単なものとするため、再起処理回数を２回とする例を以下に説明する。
【００５０】
図１２に本実施形態における画像符号化装置のブロック構成図を示す。実施形態１と異なるのは、解像度変換部５０１、１／４縮小タイルバッファ５０２、補間データ生成部５０３が新たに追加された点と、符号化方式選択部１１１が符号化方式選択部５０４に置き換わった点である。以下、実施形態１と動作の異なる部分について説明する。
【００５１】
解像度変換部５０１は解像度変換部１０５と同様の処理により、１／２縮小タイルバッファ１０６に格納される１／２縮小タイルデータ（第１の縮小画像）を、更に水平、垂直に縮小し、第２の縮小画像として１／４縮小タイルバッファ５０２に格納する。補間データ生成部５０３は１／４縮小タイルバッファに格納される縮小タイルデータから、１／２縮小タイルバッファに格納される１／２縮小タイルデータを復元するために必要な補間データ（第２の解像度補間データ）を生成する。ここでの処理は、補間データ生成部１１０がタイルバッファ１０４に格納されるタイルデータに対して、復元に必要な補間データ（第１の解像度補間データ）を生成するのと同様である。以降、補間データ生成部１１０が生成する補間データと補間データ生成部５０３が生成する補間データを区別するため前者を「レベル１補間データ」と呼び、後者を「レベル２補間データ」と呼ぶ。補間データバッファ１１２にはレベル１補間データとレベル２補間データの両方が格納される。
【００５２】
符号化方式選択部５０４には補間データ生成部１１０、５０３からそれぞれ、レベル１補間データの符号量Ｌ１とレベル２補間データの符号量Ｌ２が入力される。符号化方式選択部５０４は、入力したレベル１補間データとレベル２補間データの和を取得するものである。図１４は本実施形態で生成される符号化データの構造を図示したものである。図１４（ｂ）に示すように各タイルの符号化データの構造は１／４縮小タイル符号化データにレベル２補間データ、レベル１補間データを結合させて構成された構造となる。
【００５３】
図１３に符号化方式選択部５０４の詳細を示す。図３の符号化方式選択部１１１との相違は、補間データ量取得部１１１が補間データ量取得部２２１に置き換わった点である。補間データ量取得部２２１は上述の２種類の補間データを入力する。それ以外の構成は同一なので、説明を省略する。
【００５４】
本実施形態においても、実施形態１と同様に符号化処理の簡易化、高速化が実現できる。高度な演算処理を要するビットマップ符号化処理（非可逆符号化部１０７、可逆符号化部１０８による符号化処理）を適用する画素数が元画像データの１／１６に限定されるため実施形態１以上に処理の付加が軽減される。
【００５５】
実施形態１で補足したより安価で高性能な装置にするための物理的実装構成の説明は本実施形についても可能である。同様の手法となるので説明は省略する。
【００５６】
＜実施形態３＞
実施形態２と同様に１／２縮小処理を複数回実行するシステムである。具体的には符号化対象画像としては１２００ｄｐｉとして、1回目の縮小処理で６００ｄｐｉ、２回目の縮小処理で３００ｄｐｉとなる。実施形態２ではタイル画像の性質に拠らずレベル１の補間データとレベル２の補間データを保存しておき、１２００ｄｐｉまで復元するシステムであった。ただ現実問題として非可逆符号化が選択されるような自然画では６００ｄｐｉの画素密度があれば品質上十分とされる。そこで本実施形態においては非可逆符号化方式が選択されたときは１回の縮小処理で得られた６００ｄｐｉの画像を符号化対象とし、さらに１２００ｄｐｉに復元できなくても良いものとする。
【００５７】
本実施形態の機能ブロックについては、図１２に示した実施形態２のものと同様である。本実施形態における処理の流れを図１５に示す。実施形態２との差分は非可逆符号化部１０７の入力が１／２縮小タイルバッファ１０６の出力である点であり、これは先に説明したとおりである。
【００５８】
符号列生成部１１３が生成する符号化データの構造を図１６に示す。実施形態２との差分は各タイルの符号化データの構造が選択された符号化方式によって異なる点である。図１６（ｂ１）は符号化方式指定ビットが０のとき、つまり可逆符号化が選択されたときは実施形態２と同様に１／４縮小タイル符号化データにレベル２補間データ、レベル１補間データを結合させて構成された構造となる。この場合１２００ｄｐｉに復元可能である。一方、同図（ｂ２）に示すように符号化方式指定ビットが１のとき、つまり非可逆符号化が選択されたときは１／２縮小タイル符号化データのみで補間データが不要となる。１２００ｄｐｉに復元する必要が無いからである。
【００５９】
先に述べたように自然画の性質をもつタイルでは解像度補間データが大きいという特徴がある。よって実施形態３の方式は自然画の符号化データが解像度補間データを含む場合（実施形態１、実施形態2）縮小画像のデータ量を減らせても解像度補間データが大きいため実質の圧縮率が向上しない課題を解決している。
【００６０】
実施形態１で補足したより安価で高性能な装置にするための物理的実装構成の説明は本実施形態についても可能である。同様の手法となるので説明は省略する。
【００６１】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６２】
１０５  解像度変換部
１０７  非可逆符号化部
１０８  可逆符号化部
１１０  補間データ生成部
１１１  符号化方式選択部
【図１】
2012100182.tif 000003
【図２】
2012100182.tif 000004
【図３】
2012100182.tif 000005
【図４】
2012100182.tif 000006
【図５】
2012100182.tif 000007
【図６】
2012100182.tif 000008
【図７】
2012100182.tif 000009
【図８】
2012100182.tif 000010
【図９】
2012100182.tif 000011
【図１０】
2012100182.tif 000012
【図１１】
2012100182.tif 000013
【図１２】
2012100182.tif 000014
【図１３】
2012100182.tif 000015
【図１４】
2012100182.tif 000016
【図１５】
2012100182.tif 000017
【図１６】
2012100182.tif 000018