画像圧縮装置、画像圧縮復号装置、画像圧縮プログラム及び画像圧縮復号プログラム
【課題】符号化処理を行う際の画素値の読み出し順序を適宜変更して、符号化効率を改善させる。
【解決手段】画像圧縮復号部は、生成されたサブバンドにおいて、LL及びHLサブバンドは主走査方向に連続する順序で画素値を読み出し、LH及びHHサブバンドは副走査方向に連続する順序で画素値を読み出して算術符号化を行う。または、画像圧縮復号部は、生成されたサブバンドを4×4画素に分割し、分割した各画素の画素値からピーク画素を検出する。更に、画像圧縮復号部は、検出したピーク画素を3×3の領域に分割し、そのピーク画素内におけるピーク位置を検出する。そして、画像圧縮復号部は、ピーク画素及びピーク位置に基づいて予め設定されている画素値の読み出し順序を読み出し順序記憶部から読み出し、その読み出し順序に基づいて4×4画素の各画素を読み出して、算術符号化を行う。
【解決手段】画像圧縮復号部は、生成されたサブバンドにおいて、LL及びHLサブバンドは主走査方向に連続する順序で画素値を読み出し、LH及びHHサブバンドは副走査方向に連続する順序で画素値を読み出して算術符号化を行う。または、画像圧縮復号部は、生成されたサブバンドを4×4画素に分割し、分割した各画素の画素値からピーク画素を検出する。更に、画像圧縮復号部は、検出したピーク画素を3×3の領域に分割し、そのピーク画素内におけるピーク位置を検出する。そして、画像圧縮復号部は、ピーク画素及びピーク位置に基づいて予め設定されている画素値の読み出し順序を読み出し順序記憶部から読み出し、その読み出し順序に基づいて4×4画素の各画素を読み出して、算術符号化を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データを圧縮・復号するための画像圧縮装置、画像圧縮復号装置、画像圧縮プログラム及び画像圧縮復号プログラムに関するものである。
【背景技術】
【0002】
近年、デジタル機器の発展に伴って、画像データ等の様々な圧縮方式が提案されているが、圧縮方式の1つとしてJPEG(Joint Photographic Experts Group)2000が知られている。JPEG2000は画像の圧縮・展開の方法を規定したもので、JPEGを発展させたものである。JPEG2000は、画像データを複数のタイルに分割し、タイル毎にウェーブレット変換、量子化、そしてビットプレーン毎に算術符号化による圧縮処理を行っている。
【0003】
通常、ウェーブレット変換後の画像では高周波成分が少なく、ほぼ均一なデータ(変換係数)が得られるため、符号化効率が向上する。しかし、網点画像においては、ウェーブレット変換後に多くの高周波成分が残ることになり、このような状態で通常の順序で算術符号化処理を行うと、符号化効率が悪くなる傾向にあった。
【0004】
そこで、特許文献1には、画像内における文字、網点、グレー画像等を判別し、網点領域は2値化して符号化を行う方法について記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−189275号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1に記載されているような方法の場合、網点の細部が保存されず、復号後の画質が落ちてしまう問題があった。
【0007】
本発明は、上記の問題を解決するためになされたもので、符号化処理を行う際の画素値の読み出し順序を適宜変更して、復号後の画質を落とすことなく符号化効率を改善させる画像圧縮装置、画像圧縮復号装置、画像圧縮プログラム及び画像圧縮復号プログラムを提供することを目的とするものである。
【課題を解決するための手段】
【0008】
請求項1に記載の発明の画像圧縮装置は、入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段と、前記変換された画像データを複数のタイルに分割する分割手段と、前記タイル毎にウェーブレット変換を施してサブバンド分解を行うウェーブレット変換手段と、前記各サブバンドに含まれる画素値を量子化する量子化手段と、前記サブバンドに含まれる画素値を順次読み出して符号化を行い、符号化データを出力する符号化手段と、前記符号化手段が前記サブバンドの符号化を行う際の前記画素値の読み出し順序として前記サブバンドに含まれる特定の周波数成分が連続して読み出される順序を前記サブバンド毎に記憶する記憶手段と、を備え、前記符号化手段は、前記記憶手段に記憶された読み出し順序に従って前記サブバンドに含まれる前記画素値を読み出して符号化を行うものである。
【0009】
また、請求項6に記載の発明の画像圧縮プログラムは、コンピュータを、入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段、前記変換された画像データを複数のタイルに分割する分割手段、前記タイル毎にウェーブレット変換を施してサブバンド分解を行うウェーブレット変換手段、前記各サブバンドに含まれる画素値を量子化する量子化手段、前記サブバンドに含まれる特定の周波数成分が連続して読み出される順序で当該サブバンドに含まれる量子化された画素値を読み出して符号化を行い、符号化データを出力する符号化手段、として機能させるものである。
【0010】
これらの構成によれば、記憶手段に記憶させるサブバンド毎の読み出し順序をできるだけ特定の周波数成分(例えば高周波成分)が連続して読み出されるように設定することにより、符号化手段は特定の周波数成分を連続して読み出して符号化することになる。従って、符号化効率を改善することができる。
【0011】
請求項2に記載の発明は、請求項1に記載の画像圧縮装置であって、前記ウェーブレット変換は、前記タイルをLL、HL、LH及びHHサブバンドに分解するものであり、前記記憶手段は、前記LL及び前記HLサブバンドに対する前記画素値の読み出し順序として主走査方向に連続する順序を記憶し、前記LH及び前記HHサブバンドに対する前記画素値の読み出し順序として副走査方向に連続する順序を記憶するものである。
【0012】
網点画像においては、離散ウェーブレット変換後のサブバンドの高周波成分に特定の周波数成分が残り、符号化効率を悪化させる原因となっていた。その特定の周波数成分は、サブバンドのHL領域では主走査方向に連続するパターンとなり、LH領域では副走査方向に連続したパターンとして表れる。そこで、記憶手段は、各サブバンドの画素値の読み出し順序としてLL及びHLサブバンドは主走査方向に連続する順序、LH及びHHサブバンドは副走査方向に連続する順序を記憶することによって、符号化手段はサブバンドの特徴に応じて画素値の読み出し順序を変更することができ、符号化効率を改善することができる。
【0013】
請求項3に記載の発明の画像圧縮装置は、入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段と、前記変換された画像データを複数のタイルに分割する分割手段と、前記タイル毎にウェーブレット変換を施してサブバンド分解を行うウェーブレット変換手段と、前記各サブバンドに含まれる画素値を量子化する量子化手段と、前記サブバンドに含まれる画素値を順次読み出して符号化を行い、符号化データを出力する符号化手段と、前記サブバンドを構成する画素のうち濃度がピークとなっているピーク画素を検出する検出手段と、前記検出されたピーク画素の周辺画素の画素値を用いて当該ピーク画素内における濃度のピーク位置を求める決定手段と、前記符号化手段が前記サブバンドの符号化を行う際の前記サブバンドの画素値の読み出し順序として、前記ピーク画素の位置及び当該ピーク画素内における濃度のピーク位置に応じてそれぞれ異なる前記読み出し順序を記憶する記憶手段と、を備え、前記符号化手段は、前記検出手段が検出したピーク画素の位置及び前記決定手段が求めた当該ピーク画素内における濃度のピーク位置に応じて前記記憶手段から前記サブバンドの画素値の読み出し順序を読み出し、当該読み出し順序に従って前記サブバンドの画素値を読み出して符号化を行うものである。
【0014】
また、請求項7に記載の発明の画像圧縮プログラムは、コンピュータを、入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段、前記変換された画像データを複数のタイルに分割する分割手段、前記タイル毎にウェーブレット変換を施してサブバンド分解を行うウェーブレット変換手段、前記各サブバンドに含まれる画素値を量子化する量子化手段、前記サブバンドを構成する画素のうち濃度がピークとなっているピーク画素を検出する検出手段、前記検出されたピーク画素の周辺画素の画素値を用いて当該ピーク画素内における濃度のピーク位置を求める決定手段、前記検出手段が検出したピーク画素の位置及び前記決定手段が求めた当該ピーク画素内における濃度のピーク位置に応じてそれぞれ異なる読み出し順序で前記サブバンドに含まれる画素値を読み出して符号化を行い、符号化データを出力する符号化手段、として機能させるものである。
【0015】
これらの構成によれば、符号化の際に画素値を読み出す順序を、ピーク画素及びピーク画素内のピーク位置に応じて予め設定し、記憶手段に記憶させる。ここで、画素値の読み出し順序をピーク位置より近い画素順とすることによって濃度順に画素値を読み出すことができる。つまり、読み出した画素値の順序に単調増又は単調減の傾向を持たせることができ、例えば連続するデータにおいて前データに対する増加や減少を示す正負の情報が不要となって差分データのみを持っておけば良いため、符号化効率を高めることができる。
【0016】
請求項4に記載の発明は、請求項3に記載の画像圧縮装置であって、前記記憶手段は、前記ピーク画素内における濃度のピーク位置から近い画素から順番に画素値を読み出すための順序を、前記ピーク画素の位置及び当該ピーク画素内における濃度のピーク位置毎にそれぞれ記憶するものである。
【0017】
この構成によれば、画素値の読み出し順序をピーク位置より近い画素から順番とすることによって、濃度順に画素値を読み出すことができる。つまり、読み出した画素値の順序に単調増又は単調減の傾向を持たせることができ、例えば連続するデータにおいて前データに対する増加や減少を示す正負の情報が不要となって差分データのみを持っておけば良いため、符号化効率を高めることができる。
【0018】
請求項5に記載の発明の画像圧縮復号装置は、請求項1〜4の何れか一項に記載の画像圧縮装置と、前記符号化データを前記記憶手段に記憶された読み出し順序の内、前記符号化手段が符号化を行う際に用いた読み出し順序と逆の順序で読み出して逆符号化を行い、量子化データを出力する逆符号化手段と、前記量子化データを逆量子化して変換係数を出力する逆量子化手段と、前記変換係数に逆ウェーブレット変換を施してタイル画像を出力する逆ウェーブレット変換手段と、前記タイル画像を組み合わせた画像の表色系の変換を行って復号画像を取得する復号手段と、を更に備えたものである。
【0019】
この構成によれば、請求項1〜4の効果と同様の効果を奏することができる。
【0020】
請求項8に記載の発明の画像圧縮復号プログラムは、請求項6又は7に記載された画像圧縮プログラムを含み、更にコンピュータを、前記符号化手段が前記符号化を行う際の前記画素値の読み出し順序と逆の順序で前記符号化データを読み出して逆符号化を行い、量子化データを出力する逆符号化手段、前記量子化データを逆量子化して変換係数を出力する逆量子化手段、前記変換係数に逆ウェーブレット変換を施してタイル画像を出力する逆ウェーブレット変換手段、前記タイル画像を組み合わせた画像の表色系の変換を行って復号画像を取得する復号手段、として機能させるものである。
【0021】
これらの構成によれば、請求項6又は7と同様の効果を奏することができる。
【発明の効果】
【0022】
この発明によれば、記憶手段に記憶させるサブバンド毎の読み出し順序をできるだけ特定の周波数成分(例えば高周波成分)が連続して読み出されるように設定することにより、符号化手段は特定の周波数成分を連続して読み出して符号化することになる。従って、符号化効率を改善することができる。更に、符号化の際に画素値を読み出す順序を、ピーク画素及びピーク画素内のピーク位置に応じて予め設定し、記憶手段に記憶させる。ここで、画素値の読み出し順序をピーク位置より近い画素順とすることによって濃度順に画素値を読み出すことができる。つまり、読み出した画素値の順序に単調増又は単調減の傾向を持たせることができ、例えば連続するデータにおいて前データに対する増加や減少を示す正負の情報が不要となって差分データのみを持っておけば良いため、符号化効率を高めることができる。
【図面の簡単な説明】
【0023】
【図1】画像圧縮復号装置の電気的構成を示すブロック図。
【図2】JPEG2000方式による画像圧縮の流れを示す図。
【図3】タイル分割について説明するための図。
【図4】離散ウェーブレット変換について示した模式図。
【図5】エントロピー符号化の流れを示す図。
【図6】プレシンクト分割を模式的に示した図。
【図7】コードブロック分割を模式的に示した図。
【図8】ビットプレーン分割を模式的に示した図。
【図9】コーディングパスへの分割を模式的に示した図。
【図10】離散ウェーブレット変換後の画像を示した図。
【図11】通常のサブバンドの画素値の読み出し順序を示した図。
【図12】第1の実施例におけるサブバンド毎の画素値の読み出し順序を示した図。
【図13】サブバンドが分割されて4×4画素となった状態を示した図。
【図14】ピーク画素及びピーク位置を説明するための図。
【図15】第2の実施例におけるピーク画素及びピーク位置に基づいた各画素の読み出し順序の設定方法を説明するための図。
【図16】第2の実施例におけるピーク画素及びピーク位置に基づいた各画素の読み出し順序の設定方法を説明するための図。
【図17】第2の実施例における画像圧縮処理の流れを示したフローチャート。
【発明を実施するための形態】
【0024】
本発明における画像圧縮装置、画像圧縮復号装置、画像圧縮プログラム及び画像圧縮復号プログラムの実施の形態について図面を参照して説明する。図1は、本実施の形態における画像圧縮復号装置1の電気的構成を示すブロック図である。尚、画像圧縮復号装置1は、パーソナルコンピュータ(パソコン)やワークステーション、携帯情報端末等の情報処理装置で実現され、図1のブロック図は画像圧縮復号装置1がこれらの情報処理装置によって実現された場合を例に図示している。この他、コピー機やスキャナ等の画像読取装置や、デジタルカメラやデジタルビデオカメラ、デジタルカメラを搭載した携帯電話等の撮像装置に組み込まれて用いられてもよい。
【0025】
図1に示すように、画像圧縮復号装置1は制御部11、記憶部12、入力操作部13、表示部14、I/F部15、ネットワークI/F部16及び画像圧縮復号部17等を備えて構成される。制御部11は、CPU(Central Processing Unit:中央処理装置)等によって構成され、入力された指示信号等に応じて記憶部12に記憶されたプログラムを読み出して処理を実行し、各機能部への指示信号の出力、データ転送等を行って画像圧縮復号装置1を統括的に制御する。
【0026】
記憶部12は、画像圧縮復号装置1の備える種々の機能を実現するためのプログラムやデータ等を記憶する。本実施の形態では、記憶部12は画像圧縮復号プログラム121を記憶し、パターンデータ記憶部122として機能する。画像圧縮復号プログラム121は、I/F部15又はネットワークI/F部16が入力した画像データをJPEG2000方式で圧縮して符号化データを生成するためのプログラムである。
【0027】
入力操作部13は、各種操作ボタンやマウス等のポインティングデバイスを備え、ユーザによって操作がなされると、操作信号を制御部11へ出力する。またユーザは入力操作部13を介して圧縮率の設定を行う。表示部14は、液晶ディスプレイ等の表示画面であり、入力操作部13から入力された内容に応じた表示を行ったり、制御部11による処理内容や処理結果を表示したりする。
【0028】
I/F部15はIEEE1394やUSB等のインターフェイスであり、外部装置と直接データの送受信を行うことができる。ネットワークI/F部16は、LANボード等の通信モジュールから構成され、ネットワークI/F部16と接続されたネットワーク(不図示)を介して外部装置と種々のデータの送受信を行う。
【0029】
画像圧縮復号部17は、I/F部15やネットワークI/F部16を介して入力された画像データをJPEG2000方式で圧縮して圧縮データを生成し、圧縮データを復号して復号データを取得する。
【0030】
また、画像圧縮復号部17は、読み取り順序記憶部171を有する。画素値読み出し順序記憶部171は、画像圧縮復号部17が画像データを圧縮する際に行う処理である算術符号化を行うときの画素値の読み出し順序をサブバンド毎に記憶するものである。この読み取り順序記憶部171の記憶内容については、後ほど詳しく説明する。
【0031】
図2は、本実施の形態におけるJPEG2000方式による画像圧縮の流れを示す図である。まず画像圧縮復号部17は、入力された画像データの表色系を例えばRGB方式からYCbCr方式へコンポーネント変換して(色空間変換21)、表色系が変換された画像データを図3に示すように複数のタイルに分割する(タイル分割22)。
【0032】
そして、画像圧縮復号部17は1つのバンドの各タイルに対して離散ウェーブレット変換を施して係数データを出力する(離散ウェーブレット変換23)。図4は、離散ウェーブレット変換について示した模式図である。図4(a)のタイル画像(0LL)に対して、離散ウェーブレット変換を施し、図4(b)に示すようにサブバンド1LL、1HL、1LH及び1HHに分解する。続いて、低周波成分1LLに対して離散ウェーブレット変換を施し、図4(c)に示すようにサブバンド2LL、2HL、2LH及び2HHに分解する。尚、図4では2レベル変換について図示しているが、離散ウェーブレット変換の回数は特に制限されるものではない。
【0033】
次に、画像圧縮復号部17は離散ウェーブレット変換された係数データに対して線形量子化を行い(量子化24)、ユーザ等によって設定された圧縮率(以下「設定圧縮率」という)で量子化された量子化データに対してエントロピー符号化を行う(エントロピー符号化25)。ここで、エントロピー符号化25の処理手順について説明する。図5は、エントロピー符号化の流れを示す図である。画像圧縮復号部17は、まず各サブバンドの係数をプレシンクトと呼ばれる領域に分割する(プレシンクト分割251)。図6はプレシンクト分割を模式的に示した図である。図6において、51の部分は元の画像において同領域の部分を周波数変換したものであり、これらの部分は同じプレシンクトに属しているという。
【0034】
次に、画像圧縮復号部17はプレシンクトをコードブロックという更に小さな領域に分割する(コードブロック分割252)。図7はコードブロック分割を模式的に示した図である。このコードブロック単位がエントロピー符号化を行う際の基本単位となる。
【0035】
そして、画像圧縮復号部17は各コードブロックについて線形量子化された離散ウェーブレット変換の変換係数をビットプレーンに展開する。図8はビットプレーン展開253を模式的に示した図である。図8において、61はあるコードブロックにおける線形量子化された離散ウェーブレット変換の係数データを例示したものである。62は、係数データ61の符号を表すビット列であり、値0は正値、値1は負値を意味する。63は係数データ61の絶対値をMSB(Most Significant Bit)からLSB(Least Significant Bit)に2値展開したビットプレーンである。
【0036】
例えば、値が+12の係数データ64は正値であるため、対応する符号ビット65は‘0’である。また、+12の絶対値の2進数表現は(1100)であるため、ビットプレーンに対応する箇所66a、66b、66c及び66dの値はそれぞれ‘1’、‘1’、‘0’、‘0’となる。同様に、値が−6の係数データ67は負値であるため、対応する符号ビット68は‘1’である。また、−6の絶対値の2進数表現は(0110)であるため、ビットプレーンの対応する箇所69a、69b、69c及び69dの値はそれぞれ‘0’、‘1’、‘1’、‘0’となる。MSB側で全て0であるビットプレーンをゼロビットプレーンといい、データは保存されない一方、コードブロック毎に後述のゼロビットプレーン枚数がカウントされる。
【0037】
続いて、画像圧縮復号部17は、ビットプレーンを更にsignificance propagationパスと、magnitude refinementパスと、cleanupパスに分割する(コーディングパスへの分割254)。図9はコーディングパスへの分割を模式的に示した図である。図9に示すように、各ビットプレーン71a〜71d(以下、これらをまとめて「ビットプレーン71」という)は、コーディングパスへの分割により次のように分割される。つまり、それぞれsignificance propagationパス72b〜72d(以下、これらをまとめて「significance propagationパス72」という)、magnitude refinementパス73b〜73d(以下、これらをまとめて「magnitude refinementパス73」という)、cleanupパス74b〜74dに分割される。ただし、最上位ビット(MSB側)のビットプレーン71aはcleanupパス74aにのみ対応させる。以下、cleanupパス74a〜74dをまとめて「cleanupパス74」という。
【0038】
各ビットプレーン71及び各コーディングパス72〜74は、全て縦横方向の座標長によるサイズが等しい。また、各コーディングパス72〜74にはビット値が定義された位置と定義されていない位置とが存在する。図9において、例えば76や77のように、ビット値が定義された位置には網掛け(斜線)が施されている。そして、コーディングパス72〜74(例えば、コーディングパス72b〜74b)の網掛け部分に定義されたビット値は、分割前のビットプレーン71(例えば、ビットプレーン71b)上の対応する位置におけるビット値と等しい。ビットプレーンをコーディングパスに分割する処理方法については、各文献により周知のものであるため説明を省略する。
【0039】
最後に画像圧縮復号部17は、コーディングパス分割後のデータを算術符号化する(二値算術符号化255)。以上のようにしてエントロピー符号化25を行った後、画像圧縮復号部17は圧縮率の調整を行い(圧縮率調整26)、画像圧縮復号部17はファイルにデータを書き込むための符号ストリームの形成を行う(符号ストリーム27)。この符号ストリーム処理については、各文献により周知のものであるため説明を省略する。
【0040】
通常、離散ウェーブレット変換後の画像では高周波成分が少なく、ほぼ均一なデータ(変換係数)が得られるため、その後の算術符号化処理における符号化効率が向上する。しかし、網点画像においては、図10に示すように、離散ウェーブレット変換後に多くの高周波成分が残ることになり、このような状態で通常の読み出し順序でサブバンドの画素値を読み出して算術符号化処理を行うと、符号化効率が悪くなる傾向にあった。
【0041】
そこで、符号化処理を行う際の画素値の読み出し順序を符号化効率が向上するように適宜変更することによって、網点画像であっても符号化効率を向上させると共に、復号後の画像の画質劣化を抑える方法を第1及び第2の実施例を用いて説明する。
【0042】
<第1の実施例>
本実施例では、符号化の際、サブバンド毎に異なる読み出し順序で画素値の読み出しを行うことによって、符号化効率を改善する方法について説明する。
【0043】
通常、離散ウェーブレット変換によって生成された各サブバンドは、副走査方向に4画素を単位とした順序で画素値が読み出されて符号化処理が行われる。図11は、通常のサブバンドの画素値の読み出し順序を示した図であり、矢印で示した順序で画素値の読み出しが行われる。ここで、主走査方向とは、図11に示す画素マトリクスにおける紙面に向かって左から右の方向を示し、副走査方向とは紙面に向かって上から下の方向を示す。
【0044】
しかし、網点画像においては、離散ウェーブレット変換後のサブバンドの高周波成分に特定の周波数成分が残り、符号化効率を悪化させる原因となっていた。その特定の周波数成分は、HL領域では主走査方向に連続するパターンとなり、LH領域では副走査方向に連続したパターンとして表れることが知られている。そこで、本実施例ではサブバンド毎に画素値の読み出し順序を変更し、できるだけ高周波成分を連続して読み出すことによって復号後の画質を落とすことなく符号化効率を改善する方法について説明する。
【0045】
図12は、サブバンド別の画素値の読み出し順序の一例を示した図である。サブバンド2LLは、1行目の一番左の画素より主走査方向に2画素連続して画素値を読み出し、次に2行目の一番左の画素より主走査方向に2画素連続して画素値を読み出す。次に、1行目の左から3画素目の画素より主走査方向に2画素連続して画素値を読み出し、次に2行目の左から3画素目の画素より主走査方向に2画素連続して画素値を読み出す順序とする。3行目及び4行目も同様の読み出し順序とする。
【0046】
サブバンド2HLは、1→2→3→4行目の順番で一番左の画素より主走査方向に4画素連続して画素値を読み出す順序とする。
【0047】
サブバンド1HLは、1行目は一番左の画素より主走査方向に4画素連続して画素値を読み出し、2行目は一番右の画素より主走査方向と逆方向に4画素連続して画素値を読み出し、3行目は一番左の画素より主走査方向に4画素連続して画素値を読み出し、4行目は一番右の画素より主走査方向と逆方向に4画素連続して画素値を読み出す順序とする。
【0048】
サブバンド2LHは、1→2→3→4行目の順番で一番上の画素より副走査方向に4画素連続して画素値を読み出す順序とする。
【0049】
サブバンド1LHは、1列目は一番上の画素より副走査方向に4画素連続して画素値を読み出し、2列目は一番下の画素より副走査方向と逆方向に4画素連続して画素値を読み出し、3列目は一番上の画素より副走査方向に4画素連続して画素値を読み出し、4列目は一番下の画素より副走査方向と逆方向に4画素連続して画素値を読み出す順序とする。
【0050】
サブバンド1HH及び2HHは、1列目の一番上の画素より副走査方向に2画素連続して画素値を読み出し、次に2列目の一番上の画素より副走査方向に2画素連続して画素値を読み出す。次に、3列目の一番上の画素より副走査方向に2画素連続して画素値を読み出し、4列目の一番上の画素より副走査方向に2画素連続して画素値を読み出す順序とする。3行目及び4行目も同様の読み出し順序とする。
【0051】
各サブバンドの画素値の読み出し順序は、画像圧縮復号部17の読み出し順序記憶部171に予め記憶されている。画像圧縮復号部17は、符号化を行う際に読み出し順序記憶部171に記憶されている読み出し順序に従って各サブバンドの画素値を読み出し、圧縮データを生成する。
【0052】
次に、圧縮データの復号処理の流れについて説明する。まず画像圧縮復号部17は圧縮データに対して逆エントロピー符号化を行い、量子化データを取得する。この逆エントロピー符号化を行う際、画像圧縮復号部17は算術符号の復号を行った値を読み出し順序記憶部171に記憶されている読み出し順序の内、符号化を行ったときに用いた読み出し順序とは逆の順序で配置する。続いて画像圧縮復号部17は量子化データに対して逆量子化を行い、離散ウェーブレット変換された係数データを取得する。そして画像圧縮復号部17は係数データに対して逆離散ウェーブレット変換を行い、タイル画像に復元し、タイル画像を組み合わせた画像の表色系のコンポーネント変換を行って復号データを取得し、復号処理を終了する。
【0053】
以上、説明したように、符号化の際にできるだけ高周波成分が連続して読み出されるように画素値の読み出し順序をサブバンド毎に設定することにより、復号後の画質を落とすことなく符号化効率を改善することができる。
【0054】
<第2の実施例>
本実施例では、離散ウェーブレット変換によって生成されたサブバンドの所定の領域毎において画素値のピーク値の位置を検出し、その位置に基づいて画素値の読み出し順序を変更することによって符号化効率を改善する方法について説明する。
【0055】
通常、離散ウェーブレット変換によって生成された各サブバンドは、副走査方向に4画素を単位とした順序で画素値が読み出されて符号化処理が行われる。図13は、サブバンドが分割されて4×4画素となった状態を示した図である。まず画像圧縮復号部17は、この4×4画素の各画素のうち濃度が最も高い又は最も低い(即ち、画素値が最も大きい又は最も小さい)画素を検出する。以下、濃度が最も高い又は最も低い画素の画素値を「ピーク値」と言い、そのピーク値を持つ画素を「ピーク画素」と言う。
【0056】
ピーク値の検出方法は、4×4画素の全画素値から平均値を算出し、その平均値が所定値(例えば、画像の階調数が256なら所定値は256÷2=128とする)以上であれば、最も画素値の大きいものをピーク値とし、平均値が所定値より小さければ最も画素値の小さいものをピーク値とする。
【0057】
このようにして、画像圧縮復号部17は4×4画素の中からピーク画素を求める。本実施例では、画素G32をピーク画素として以下説明する。
【0058】
次に画像圧縮復号部17は、画素G32を更に3×3の領域に分割して、この3×3の各領域のうちどこがピーク位置であるかを検出する。ここで、画像圧縮復号部17が4×4画素におけるピーク画素を求める際に、濃度が最も高い画素値を持つ画素をピーク画素とした場合、「ピーク位置」とはピーク画素(画素G32)内における最も濃度の高い位置となる。逆に、画像圧縮復号部17が4×4画素におけるピーク画素を求める際に、濃度が最も低い画素値を持つ画素をピーク画素とした場合、「ピーク位置」とはピーク画素内における最も濃度の低い位置となる。以下に示す「ピーク位置」は、画素G32内における最も濃度の高い位置として説明する。
【0059】
図14はピーク画素及びピーク位置を説明するための図である。画像圧縮復号部17は以下を条件式として、画素G32内における主走査方向のピーク位置を検出する。
|画素値G31−画素値G33|<閾値・・ピーク位置は画素G32の中央部
画素値G31−画素値G33<0 ・・ピーク位置は画素G32内の右側(画素G33寄り)
画素値G31−画素値G33>0 ・・ピーク位置は画素G32内の左側(画素G31寄り)
例えば、画素値G32=200、画素値G31=150、画素値G33=50とし、閾値=10とすると、
|150−50|=100>閾値
150−50=100>0
となるため、画素G32内におけるピーク位置は画素G31寄りの左側にあることになる。
【0060】
次に、画像圧縮復号部17は以下を条件式として、画素G32内における副走査方向のピーク位置を検出する。
|画素値G22−画素値G42|<閾値・・ピーク位置は画素G32の中央部
画素値G22−画素値G42<0 ・・ピーク位置は画素G32内の下側(画素G42寄り)
画素値G22−画素値G42>0 ・・ピーク位置は画素G32内の上側(画素G22寄り)
例えば、画素値G22=180、画素値G42=40とすると、
|180−40|=140>閾値
180−40=140>0
となるため、画素G32内における副走査方向のピーク位置は画素G22寄りの上側にあることになる。
【0061】
従って、主走査方向及び副走査方向における画素G32内におけるピーク位置の検出をまとめると、画素G32内におけるピーク位置は画素G31寄りで画素22寄り、つまり3×3の領域の中の左上に位置することになる。従って、画素G32のピーク位置は図14(b)に示すGxの位置となる。
【0062】
画像圧縮復号部17は、この画素G32内におけるピーク位置Gxに基づいて、4×4画素の読み出し順序を読み出し順序記憶部171から読み出して、その順序に従って算術符号化を行う。次に、読み出し順序記憶部171に予め記憶されているピーク画素及びピーク位置に基づいた各画素の読み出し順序の設定方法について説明する。
【0063】
図15及び16は、読み出し順序記憶部171に記憶されているピーク画素及びピーク位置に基づいた各画素の読み出し順序の設定方法を説明するための図である。上記と同様に、4×4画素のうちピーク画素を画素G32、画素G32を3×3の領域に分けたときのピーク位置をGxとする。そして、画素G32以外の各画素について、このピーク位置Gxより近い画素から順番に画素値を読み出す順序を設定していく。
【0064】
ピーク位置Gxより近い画素から順番に画素値を読み出す理由は以下の通りである。一般的に画像の濃度は、ピーク位置を中心として濃→淡、又は淡→濃と変化しているケースが多く、ピーク位置Gxより近い画素から順番に画素値を読み出すことによって濃度順に画素値を読み出すことになる。これにより、読み出した画素値の順序に単調増又は単調減の傾向を持たせることができる。この場合、例えば連続するデータにおいて前データに対する増加や減少を示す正負の情報が不要となって差分データのみを持っておけば良いため、符号化効率を高めることができる。
【0065】
図15(a)の左側の図は、4×4画素の各画素を3×3の領域に分割したものであり、分割した領域に示す数字は、ピーク位置Gxからの距離を示している。例えば画素G31の場合、ピーク位置Gxから最も近い3×3の領域は画素G31内の右上の領域であり、ピーク位置Gxからの距離は主走査方向と逆方向に分割された領域を「1」進んだ距離となる。従って、図15(a)の画素G31内には「1」と示されている。
【0066】
同様に、画素G22の場合、ピーク位置Gxから最も近い領域は画素G22内の左下の領域であり、ピーク位置Gxからの距離は副走査方向と逆方向に分割された領域を「1」進んだ距離となる。従って、図15(a)の画素G22内には「1」と示されている。また、画素G33の場合、ピーク位置Gxから最も近い領域は画素G33内の左上の領域であり、ピーク位置Gxからの距離は主走査方向に分割された領域を「3」進んだ距離となる。従って、図15(a)の画素G33内には「3」と示されている。このような方法で、各画素についてピーク位置Gxからの距離を決定する。
【0067】
そして、この距離が近い画素から順番に画素値を読み出す順序を設定していく。ここで、画素G31や画素G22のように、距離が「1」で同じ画素に関しては、ピーク画素から見て「上、左、右、下」の順序で優先的に読み出す順序を予め設定しておく。尚、この優先順序はあくまで例であり、変更可能である。上記の優先順序に従うと、先に画素G22を読み出して、次に画素G31を読み出すという順序になる。
【0068】
図15(a)の右側の図は、上記の方法に従って画素値の読み出し順序を決定した場合の読み出し順序を示しており、画素内に示された数字の小さい順から画素値を読み出すことになる。つまり、画素G32→G22→G31→G21→G33→G42→・・・という順序になる。
【0069】
図15(b)は画素G32のピーク位置が上中央にある場合、図15(c)は画素G32のピーク位置が右上にある場合、図15(d)は画素G32のピーク位置が左中央にある場合、図16(a)は画素G32のピーク位置が真ん中(中央)にある場合、図16(b)は画素G32のピーク位置が右中央にある場合、図16(c)は画素G32のピーク位置が左下にある場合、図16(d)は画素G32のピーク位置が下中央にある場合、図16(e)は画素G32のピーク位置が右下にある場合の画素値の読み出し順序を、上記の方法に従って決定した結果を示している。
【0070】
このように、各画素におけるピーク位置に対応した画素値の読み出し順序を予め決定し、この読み出し順序を読み出し順序記憶部171が記憶する。尚、上記で説明した画素値の読み出し順序はピーク画素がG32の場合のみを示したものであり、その読み出しパターンは9パターン存在する。このようにピーク画素が4×4画素における中央部に位置する場合、つまりピーク画素がG22、G23、G32又はG33である場合は画素値の読み出しパターンは9パターン存在することになり、読み出し順序記憶部171は中央部の各画素に対して9パターンの読み出し順序を記憶する(つまり、4画素×9パターン=36パターン)。
【0071】
一方、ピーク画素が4×4画素における角に位置する、つまりピーク画素がG11、G14、G41又はG44である場合、読み出しパターンはそれぞれ4パターン存在する。従って、読み出し順序記憶部171は角に位置する各画素に対して4パターンの読み出し順序を記憶する(つまり、4画素×4パターン=16パターン)。また、ピーク画素がピーク画素が4×4画素における角でない側部に位置する場合、つまりピーク画素がG12、G13、G21、G24、G31、G34、G42又はG43である場合、読み出しパターンはそれぞれ6パターン存在する。従って、読み出し順序記憶部171は側部に位置する各画素に対して6パターンの読み出し順序を記憶する(つまり、8画素×6パターン=48パターン)。これら各画素におけるパターン数を加算すると、読み出し順序記憶部171は36パターン+16パターン+48パターン=100パターンの画素値の読み出し順序を記憶することとなる。
【0072】
尚、上記にて説明したように、ピーク画素が中央部に位置(ピーク画素がG22、G23、G32又はG33)し、更にピーク位置が3×3に分割した領域の中央に位置するとき(つまり、図16(a)のとき)、このピーク位置を左右上下何れかにずらすことにより、パターン数を9パターンから8パターンに省略してもよい。
【0073】
図16(a)を用いて具体的に説明する。画素G32の中央にピーク位置Gxがある場合、このピーク位置をGy又はGz等の両隣や上下位置の何れかに置き換える。こうすることで中央にピーク位置Gxがある場合は図15(d)又は図16(b)等に示した画素値の読み出し順序を用いることができる。従って、ピーク画素がG22、G23、G32又はG33である場合は画素値の読み出しパターンは8パターンとなり、読み出し順序記憶部171は中央部(画素G22、G23、G33及びG33)の各画素に対して8パターンの読み出し順序を記憶することになる(つまり、4画素×8パターン=32パターン)。各画素におけるパターン数を加算すると、読み出し順序記憶部171は32パターン+16パターン+48パターン=96パターンの画素値の読み出し順序を記憶すればよく、上記の100パターンよりもパターン数を減らすことができる。
【0074】
図17は、本実施例における4×4画素の画素値の読み出し処理の流れを示したフローチャートである。まず画像圧縮復号部17は、離散ウェーブレット変換によって生成されたサブバンドを4×4画素に分割し(ステップS11)、分割した各画素の画素値からピーク画素を検出する(ステップS12)。更に、画像圧縮復号部17は、検出したピーク画素を3×3の領域に分割し、そのピーク画素内におけるピーク位置を検出する(ステップS13)。そして、画像圧縮復号部17は、ピーク画素及びピーク位置に基づいて画素値の読み出し順序を読み出し順序記憶部171から読み出し、その読み出し順序に基づいて4×4画素の各画素を読み出して、算術符号化を行う(ステップS14)。
【0075】
ここで、作成された圧縮データを復号する際は、ピーク画素及びピーク位置に基づいた読み出し順序とは逆順で値を読み出す必要があるため、読み出し順序記憶部171に記憶された読み出し順序の内、何れの順序を用いたかが復号する際に識別できるように、画像圧縮復号部17は圧縮データに対して読み出し順序の識別情報を付加する。以下、圧縮データの復号処理の流れについて説明する。
【0076】
まず画像圧縮復号部17は、圧縮データに対して逆エントロピー符号化を行い、量子化データを取得する。この逆エントロピー符号化を行う際、画像圧縮復号部17は圧縮データに付加されている識別情報を用いて読み出し順序記憶部171から符号化の際に用いられた読み出し順序を読み出し、この順序と逆の順序で算術符号の復号を行った値を配置する。続いて画像圧縮復号部17は量子化データに対して逆量子化を行い、離散ウェーブレット変換された係数データを取得する。そして画像圧縮復号部17は係数データに対して逆離散ウェーブレット変換を行い、タイル画像に復元し、タイル画像を組み合わせた画像の表色系のコンポーネント変換を行って復号データを取得し、復号処理を終了する。
【0077】
以上、説明したように、ピーク位置Gxより近い画素から順番に画素値を読み出すことによって濃度順に画素値を読み出すことができる。これにより、読み出した画素値の順序に単調増又は単調減の傾向を持たせることができ、例えば連続するデータにおいて前データに対する増加や減少を示す正負の情報が不要となって差分データのみを持っておけば良いため、復号後の画質を落とすことなく符号化効率を高めることができる。
【符号の説明】
【0078】
1 画像圧縮復号装置
11 制御部
12 記憶部
121 画像圧縮プログラム
13 入力操作部
14 表示部
15 I/F部
16 ネットワークI/F部
17 画像圧縮部(変換手段、分割手段、ウェーブレット変換手段、量子化手段、符号化手段、検出手段、決定手段、逆符号化手段、逆量子化手段、逆ウェーブレット手段、復号手段
171 読み出し順序記憶部(記憶手段)
【技術分野】
【0001】
本発明は、画像データを圧縮・復号するための画像圧縮装置、画像圧縮復号装置、画像圧縮プログラム及び画像圧縮復号プログラムに関するものである。
【背景技術】
【0002】
近年、デジタル機器の発展に伴って、画像データ等の様々な圧縮方式が提案されているが、圧縮方式の1つとしてJPEG(Joint Photographic Experts Group)2000が知られている。JPEG2000は画像の圧縮・展開の方法を規定したもので、JPEGを発展させたものである。JPEG2000は、画像データを複数のタイルに分割し、タイル毎にウェーブレット変換、量子化、そしてビットプレーン毎に算術符号化による圧縮処理を行っている。
【0003】
通常、ウェーブレット変換後の画像では高周波成分が少なく、ほぼ均一なデータ(変換係数)が得られるため、符号化効率が向上する。しかし、網点画像においては、ウェーブレット変換後に多くの高周波成分が残ることになり、このような状態で通常の順序で算術符号化処理を行うと、符号化効率が悪くなる傾向にあった。
【0004】
そこで、特許文献1には、画像内における文字、網点、グレー画像等を判別し、網点領域は2値化して符号化を行う方法について記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−189275号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1に記載されているような方法の場合、網点の細部が保存されず、復号後の画質が落ちてしまう問題があった。
【0007】
本発明は、上記の問題を解決するためになされたもので、符号化処理を行う際の画素値の読み出し順序を適宜変更して、復号後の画質を落とすことなく符号化効率を改善させる画像圧縮装置、画像圧縮復号装置、画像圧縮プログラム及び画像圧縮復号プログラムを提供することを目的とするものである。
【課題を解決するための手段】
【0008】
請求項1に記載の発明の画像圧縮装置は、入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段と、前記変換された画像データを複数のタイルに分割する分割手段と、前記タイル毎にウェーブレット変換を施してサブバンド分解を行うウェーブレット変換手段と、前記各サブバンドに含まれる画素値を量子化する量子化手段と、前記サブバンドに含まれる画素値を順次読み出して符号化を行い、符号化データを出力する符号化手段と、前記符号化手段が前記サブバンドの符号化を行う際の前記画素値の読み出し順序として前記サブバンドに含まれる特定の周波数成分が連続して読み出される順序を前記サブバンド毎に記憶する記憶手段と、を備え、前記符号化手段は、前記記憶手段に記憶された読み出し順序に従って前記サブバンドに含まれる前記画素値を読み出して符号化を行うものである。
【0009】
また、請求項6に記載の発明の画像圧縮プログラムは、コンピュータを、入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段、前記変換された画像データを複数のタイルに分割する分割手段、前記タイル毎にウェーブレット変換を施してサブバンド分解を行うウェーブレット変換手段、前記各サブバンドに含まれる画素値を量子化する量子化手段、前記サブバンドに含まれる特定の周波数成分が連続して読み出される順序で当該サブバンドに含まれる量子化された画素値を読み出して符号化を行い、符号化データを出力する符号化手段、として機能させるものである。
【0010】
これらの構成によれば、記憶手段に記憶させるサブバンド毎の読み出し順序をできるだけ特定の周波数成分(例えば高周波成分)が連続して読み出されるように設定することにより、符号化手段は特定の周波数成分を連続して読み出して符号化することになる。従って、符号化効率を改善することができる。
【0011】
請求項2に記載の発明は、請求項1に記載の画像圧縮装置であって、前記ウェーブレット変換は、前記タイルをLL、HL、LH及びHHサブバンドに分解するものであり、前記記憶手段は、前記LL及び前記HLサブバンドに対する前記画素値の読み出し順序として主走査方向に連続する順序を記憶し、前記LH及び前記HHサブバンドに対する前記画素値の読み出し順序として副走査方向に連続する順序を記憶するものである。
【0012】
網点画像においては、離散ウェーブレット変換後のサブバンドの高周波成分に特定の周波数成分が残り、符号化効率を悪化させる原因となっていた。その特定の周波数成分は、サブバンドのHL領域では主走査方向に連続するパターンとなり、LH領域では副走査方向に連続したパターンとして表れる。そこで、記憶手段は、各サブバンドの画素値の読み出し順序としてLL及びHLサブバンドは主走査方向に連続する順序、LH及びHHサブバンドは副走査方向に連続する順序を記憶することによって、符号化手段はサブバンドの特徴に応じて画素値の読み出し順序を変更することができ、符号化効率を改善することができる。
【0013】
請求項3に記載の発明の画像圧縮装置は、入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段と、前記変換された画像データを複数のタイルに分割する分割手段と、前記タイル毎にウェーブレット変換を施してサブバンド分解を行うウェーブレット変換手段と、前記各サブバンドに含まれる画素値を量子化する量子化手段と、前記サブバンドに含まれる画素値を順次読み出して符号化を行い、符号化データを出力する符号化手段と、前記サブバンドを構成する画素のうち濃度がピークとなっているピーク画素を検出する検出手段と、前記検出されたピーク画素の周辺画素の画素値を用いて当該ピーク画素内における濃度のピーク位置を求める決定手段と、前記符号化手段が前記サブバンドの符号化を行う際の前記サブバンドの画素値の読み出し順序として、前記ピーク画素の位置及び当該ピーク画素内における濃度のピーク位置に応じてそれぞれ異なる前記読み出し順序を記憶する記憶手段と、を備え、前記符号化手段は、前記検出手段が検出したピーク画素の位置及び前記決定手段が求めた当該ピーク画素内における濃度のピーク位置に応じて前記記憶手段から前記サブバンドの画素値の読み出し順序を読み出し、当該読み出し順序に従って前記サブバンドの画素値を読み出して符号化を行うものである。
【0014】
また、請求項7に記載の発明の画像圧縮プログラムは、コンピュータを、入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段、前記変換された画像データを複数のタイルに分割する分割手段、前記タイル毎にウェーブレット変換を施してサブバンド分解を行うウェーブレット変換手段、前記各サブバンドに含まれる画素値を量子化する量子化手段、前記サブバンドを構成する画素のうち濃度がピークとなっているピーク画素を検出する検出手段、前記検出されたピーク画素の周辺画素の画素値を用いて当該ピーク画素内における濃度のピーク位置を求める決定手段、前記検出手段が検出したピーク画素の位置及び前記決定手段が求めた当該ピーク画素内における濃度のピーク位置に応じてそれぞれ異なる読み出し順序で前記サブバンドに含まれる画素値を読み出して符号化を行い、符号化データを出力する符号化手段、として機能させるものである。
【0015】
これらの構成によれば、符号化の際に画素値を読み出す順序を、ピーク画素及びピーク画素内のピーク位置に応じて予め設定し、記憶手段に記憶させる。ここで、画素値の読み出し順序をピーク位置より近い画素順とすることによって濃度順に画素値を読み出すことができる。つまり、読み出した画素値の順序に単調増又は単調減の傾向を持たせることができ、例えば連続するデータにおいて前データに対する増加や減少を示す正負の情報が不要となって差分データのみを持っておけば良いため、符号化効率を高めることができる。
【0016】
請求項4に記載の発明は、請求項3に記載の画像圧縮装置であって、前記記憶手段は、前記ピーク画素内における濃度のピーク位置から近い画素から順番に画素値を読み出すための順序を、前記ピーク画素の位置及び当該ピーク画素内における濃度のピーク位置毎にそれぞれ記憶するものである。
【0017】
この構成によれば、画素値の読み出し順序をピーク位置より近い画素から順番とすることによって、濃度順に画素値を読み出すことができる。つまり、読み出した画素値の順序に単調増又は単調減の傾向を持たせることができ、例えば連続するデータにおいて前データに対する増加や減少を示す正負の情報が不要となって差分データのみを持っておけば良いため、符号化効率を高めることができる。
【0018】
請求項5に記載の発明の画像圧縮復号装置は、請求項1〜4の何れか一項に記載の画像圧縮装置と、前記符号化データを前記記憶手段に記憶された読み出し順序の内、前記符号化手段が符号化を行う際に用いた読み出し順序と逆の順序で読み出して逆符号化を行い、量子化データを出力する逆符号化手段と、前記量子化データを逆量子化して変換係数を出力する逆量子化手段と、前記変換係数に逆ウェーブレット変換を施してタイル画像を出力する逆ウェーブレット変換手段と、前記タイル画像を組み合わせた画像の表色系の変換を行って復号画像を取得する復号手段と、を更に備えたものである。
【0019】
この構成によれば、請求項1〜4の効果と同様の効果を奏することができる。
【0020】
請求項8に記載の発明の画像圧縮復号プログラムは、請求項6又は7に記載された画像圧縮プログラムを含み、更にコンピュータを、前記符号化手段が前記符号化を行う際の前記画素値の読み出し順序と逆の順序で前記符号化データを読み出して逆符号化を行い、量子化データを出力する逆符号化手段、前記量子化データを逆量子化して変換係数を出力する逆量子化手段、前記変換係数に逆ウェーブレット変換を施してタイル画像を出力する逆ウェーブレット変換手段、前記タイル画像を組み合わせた画像の表色系の変換を行って復号画像を取得する復号手段、として機能させるものである。
【0021】
これらの構成によれば、請求項6又は7と同様の効果を奏することができる。
【発明の効果】
【0022】
この発明によれば、記憶手段に記憶させるサブバンド毎の読み出し順序をできるだけ特定の周波数成分(例えば高周波成分)が連続して読み出されるように設定することにより、符号化手段は特定の周波数成分を連続して読み出して符号化することになる。従って、符号化効率を改善することができる。更に、符号化の際に画素値を読み出す順序を、ピーク画素及びピーク画素内のピーク位置に応じて予め設定し、記憶手段に記憶させる。ここで、画素値の読み出し順序をピーク位置より近い画素順とすることによって濃度順に画素値を読み出すことができる。つまり、読み出した画素値の順序に単調増又は単調減の傾向を持たせることができ、例えば連続するデータにおいて前データに対する増加や減少を示す正負の情報が不要となって差分データのみを持っておけば良いため、符号化効率を高めることができる。
【図面の簡単な説明】
【0023】
【図1】画像圧縮復号装置の電気的構成を示すブロック図。
【図2】JPEG2000方式による画像圧縮の流れを示す図。
【図3】タイル分割について説明するための図。
【図4】離散ウェーブレット変換について示した模式図。
【図5】エントロピー符号化の流れを示す図。
【図6】プレシンクト分割を模式的に示した図。
【図7】コードブロック分割を模式的に示した図。
【図8】ビットプレーン分割を模式的に示した図。
【図9】コーディングパスへの分割を模式的に示した図。
【図10】離散ウェーブレット変換後の画像を示した図。
【図11】通常のサブバンドの画素値の読み出し順序を示した図。
【図12】第1の実施例におけるサブバンド毎の画素値の読み出し順序を示した図。
【図13】サブバンドが分割されて4×4画素となった状態を示した図。
【図14】ピーク画素及びピーク位置を説明するための図。
【図15】第2の実施例におけるピーク画素及びピーク位置に基づいた各画素の読み出し順序の設定方法を説明するための図。
【図16】第2の実施例におけるピーク画素及びピーク位置に基づいた各画素の読み出し順序の設定方法を説明するための図。
【図17】第2の実施例における画像圧縮処理の流れを示したフローチャート。
【発明を実施するための形態】
【0024】
本発明における画像圧縮装置、画像圧縮復号装置、画像圧縮プログラム及び画像圧縮復号プログラムの実施の形態について図面を参照して説明する。図1は、本実施の形態における画像圧縮復号装置1の電気的構成を示すブロック図である。尚、画像圧縮復号装置1は、パーソナルコンピュータ(パソコン)やワークステーション、携帯情報端末等の情報処理装置で実現され、図1のブロック図は画像圧縮復号装置1がこれらの情報処理装置によって実現された場合を例に図示している。この他、コピー機やスキャナ等の画像読取装置や、デジタルカメラやデジタルビデオカメラ、デジタルカメラを搭載した携帯電話等の撮像装置に組み込まれて用いられてもよい。
【0025】
図1に示すように、画像圧縮復号装置1は制御部11、記憶部12、入力操作部13、表示部14、I/F部15、ネットワークI/F部16及び画像圧縮復号部17等を備えて構成される。制御部11は、CPU(Central Processing Unit:中央処理装置)等によって構成され、入力された指示信号等に応じて記憶部12に記憶されたプログラムを読み出して処理を実行し、各機能部への指示信号の出力、データ転送等を行って画像圧縮復号装置1を統括的に制御する。
【0026】
記憶部12は、画像圧縮復号装置1の備える種々の機能を実現するためのプログラムやデータ等を記憶する。本実施の形態では、記憶部12は画像圧縮復号プログラム121を記憶し、パターンデータ記憶部122として機能する。画像圧縮復号プログラム121は、I/F部15又はネットワークI/F部16が入力した画像データをJPEG2000方式で圧縮して符号化データを生成するためのプログラムである。
【0027】
入力操作部13は、各種操作ボタンやマウス等のポインティングデバイスを備え、ユーザによって操作がなされると、操作信号を制御部11へ出力する。またユーザは入力操作部13を介して圧縮率の設定を行う。表示部14は、液晶ディスプレイ等の表示画面であり、入力操作部13から入力された内容に応じた表示を行ったり、制御部11による処理内容や処理結果を表示したりする。
【0028】
I/F部15はIEEE1394やUSB等のインターフェイスであり、外部装置と直接データの送受信を行うことができる。ネットワークI/F部16は、LANボード等の通信モジュールから構成され、ネットワークI/F部16と接続されたネットワーク(不図示)を介して外部装置と種々のデータの送受信を行う。
【0029】
画像圧縮復号部17は、I/F部15やネットワークI/F部16を介して入力された画像データをJPEG2000方式で圧縮して圧縮データを生成し、圧縮データを復号して復号データを取得する。
【0030】
また、画像圧縮復号部17は、読み取り順序記憶部171を有する。画素値読み出し順序記憶部171は、画像圧縮復号部17が画像データを圧縮する際に行う処理である算術符号化を行うときの画素値の読み出し順序をサブバンド毎に記憶するものである。この読み取り順序記憶部171の記憶内容については、後ほど詳しく説明する。
【0031】
図2は、本実施の形態におけるJPEG2000方式による画像圧縮の流れを示す図である。まず画像圧縮復号部17は、入力された画像データの表色系を例えばRGB方式からYCbCr方式へコンポーネント変換して(色空間変換21)、表色系が変換された画像データを図3に示すように複数のタイルに分割する(タイル分割22)。
【0032】
そして、画像圧縮復号部17は1つのバンドの各タイルに対して離散ウェーブレット変換を施して係数データを出力する(離散ウェーブレット変換23)。図4は、離散ウェーブレット変換について示した模式図である。図4(a)のタイル画像(0LL)に対して、離散ウェーブレット変換を施し、図4(b)に示すようにサブバンド1LL、1HL、1LH及び1HHに分解する。続いて、低周波成分1LLに対して離散ウェーブレット変換を施し、図4(c)に示すようにサブバンド2LL、2HL、2LH及び2HHに分解する。尚、図4では2レベル変換について図示しているが、離散ウェーブレット変換の回数は特に制限されるものではない。
【0033】
次に、画像圧縮復号部17は離散ウェーブレット変換された係数データに対して線形量子化を行い(量子化24)、ユーザ等によって設定された圧縮率(以下「設定圧縮率」という)で量子化された量子化データに対してエントロピー符号化を行う(エントロピー符号化25)。ここで、エントロピー符号化25の処理手順について説明する。図5は、エントロピー符号化の流れを示す図である。画像圧縮復号部17は、まず各サブバンドの係数をプレシンクトと呼ばれる領域に分割する(プレシンクト分割251)。図6はプレシンクト分割を模式的に示した図である。図6において、51の部分は元の画像において同領域の部分を周波数変換したものであり、これらの部分は同じプレシンクトに属しているという。
【0034】
次に、画像圧縮復号部17はプレシンクトをコードブロックという更に小さな領域に分割する(コードブロック分割252)。図7はコードブロック分割を模式的に示した図である。このコードブロック単位がエントロピー符号化を行う際の基本単位となる。
【0035】
そして、画像圧縮復号部17は各コードブロックについて線形量子化された離散ウェーブレット変換の変換係数をビットプレーンに展開する。図8はビットプレーン展開253を模式的に示した図である。図8において、61はあるコードブロックにおける線形量子化された離散ウェーブレット変換の係数データを例示したものである。62は、係数データ61の符号を表すビット列であり、値0は正値、値1は負値を意味する。63は係数データ61の絶対値をMSB(Most Significant Bit)からLSB(Least Significant Bit)に2値展開したビットプレーンである。
【0036】
例えば、値が+12の係数データ64は正値であるため、対応する符号ビット65は‘0’である。また、+12の絶対値の2進数表現は(1100)であるため、ビットプレーンに対応する箇所66a、66b、66c及び66dの値はそれぞれ‘1’、‘1’、‘0’、‘0’となる。同様に、値が−6の係数データ67は負値であるため、対応する符号ビット68は‘1’である。また、−6の絶対値の2進数表現は(0110)であるため、ビットプレーンの対応する箇所69a、69b、69c及び69dの値はそれぞれ‘0’、‘1’、‘1’、‘0’となる。MSB側で全て0であるビットプレーンをゼロビットプレーンといい、データは保存されない一方、コードブロック毎に後述のゼロビットプレーン枚数がカウントされる。
【0037】
続いて、画像圧縮復号部17は、ビットプレーンを更にsignificance propagationパスと、magnitude refinementパスと、cleanupパスに分割する(コーディングパスへの分割254)。図9はコーディングパスへの分割を模式的に示した図である。図9に示すように、各ビットプレーン71a〜71d(以下、これらをまとめて「ビットプレーン71」という)は、コーディングパスへの分割により次のように分割される。つまり、それぞれsignificance propagationパス72b〜72d(以下、これらをまとめて「significance propagationパス72」という)、magnitude refinementパス73b〜73d(以下、これらをまとめて「magnitude refinementパス73」という)、cleanupパス74b〜74dに分割される。ただし、最上位ビット(MSB側)のビットプレーン71aはcleanupパス74aにのみ対応させる。以下、cleanupパス74a〜74dをまとめて「cleanupパス74」という。
【0038】
各ビットプレーン71及び各コーディングパス72〜74は、全て縦横方向の座標長によるサイズが等しい。また、各コーディングパス72〜74にはビット値が定義された位置と定義されていない位置とが存在する。図9において、例えば76や77のように、ビット値が定義された位置には網掛け(斜線)が施されている。そして、コーディングパス72〜74(例えば、コーディングパス72b〜74b)の網掛け部分に定義されたビット値は、分割前のビットプレーン71(例えば、ビットプレーン71b)上の対応する位置におけるビット値と等しい。ビットプレーンをコーディングパスに分割する処理方法については、各文献により周知のものであるため説明を省略する。
【0039】
最後に画像圧縮復号部17は、コーディングパス分割後のデータを算術符号化する(二値算術符号化255)。以上のようにしてエントロピー符号化25を行った後、画像圧縮復号部17は圧縮率の調整を行い(圧縮率調整26)、画像圧縮復号部17はファイルにデータを書き込むための符号ストリームの形成を行う(符号ストリーム27)。この符号ストリーム処理については、各文献により周知のものであるため説明を省略する。
【0040】
通常、離散ウェーブレット変換後の画像では高周波成分が少なく、ほぼ均一なデータ(変換係数)が得られるため、その後の算術符号化処理における符号化効率が向上する。しかし、網点画像においては、図10に示すように、離散ウェーブレット変換後に多くの高周波成分が残ることになり、このような状態で通常の読み出し順序でサブバンドの画素値を読み出して算術符号化処理を行うと、符号化効率が悪くなる傾向にあった。
【0041】
そこで、符号化処理を行う際の画素値の読み出し順序を符号化効率が向上するように適宜変更することによって、網点画像であっても符号化効率を向上させると共に、復号後の画像の画質劣化を抑える方法を第1及び第2の実施例を用いて説明する。
【0042】
<第1の実施例>
本実施例では、符号化の際、サブバンド毎に異なる読み出し順序で画素値の読み出しを行うことによって、符号化効率を改善する方法について説明する。
【0043】
通常、離散ウェーブレット変換によって生成された各サブバンドは、副走査方向に4画素を単位とした順序で画素値が読み出されて符号化処理が行われる。図11は、通常のサブバンドの画素値の読み出し順序を示した図であり、矢印で示した順序で画素値の読み出しが行われる。ここで、主走査方向とは、図11に示す画素マトリクスにおける紙面に向かって左から右の方向を示し、副走査方向とは紙面に向かって上から下の方向を示す。
【0044】
しかし、網点画像においては、離散ウェーブレット変換後のサブバンドの高周波成分に特定の周波数成分が残り、符号化効率を悪化させる原因となっていた。その特定の周波数成分は、HL領域では主走査方向に連続するパターンとなり、LH領域では副走査方向に連続したパターンとして表れることが知られている。そこで、本実施例ではサブバンド毎に画素値の読み出し順序を変更し、できるだけ高周波成分を連続して読み出すことによって復号後の画質を落とすことなく符号化効率を改善する方法について説明する。
【0045】
図12は、サブバンド別の画素値の読み出し順序の一例を示した図である。サブバンド2LLは、1行目の一番左の画素より主走査方向に2画素連続して画素値を読み出し、次に2行目の一番左の画素より主走査方向に2画素連続して画素値を読み出す。次に、1行目の左から3画素目の画素より主走査方向に2画素連続して画素値を読み出し、次に2行目の左から3画素目の画素より主走査方向に2画素連続して画素値を読み出す順序とする。3行目及び4行目も同様の読み出し順序とする。
【0046】
サブバンド2HLは、1→2→3→4行目の順番で一番左の画素より主走査方向に4画素連続して画素値を読み出す順序とする。
【0047】
サブバンド1HLは、1行目は一番左の画素より主走査方向に4画素連続して画素値を読み出し、2行目は一番右の画素より主走査方向と逆方向に4画素連続して画素値を読み出し、3行目は一番左の画素より主走査方向に4画素連続して画素値を読み出し、4行目は一番右の画素より主走査方向と逆方向に4画素連続して画素値を読み出す順序とする。
【0048】
サブバンド2LHは、1→2→3→4行目の順番で一番上の画素より副走査方向に4画素連続して画素値を読み出す順序とする。
【0049】
サブバンド1LHは、1列目は一番上の画素より副走査方向に4画素連続して画素値を読み出し、2列目は一番下の画素より副走査方向と逆方向に4画素連続して画素値を読み出し、3列目は一番上の画素より副走査方向に4画素連続して画素値を読み出し、4列目は一番下の画素より副走査方向と逆方向に4画素連続して画素値を読み出す順序とする。
【0050】
サブバンド1HH及び2HHは、1列目の一番上の画素より副走査方向に2画素連続して画素値を読み出し、次に2列目の一番上の画素より副走査方向に2画素連続して画素値を読み出す。次に、3列目の一番上の画素より副走査方向に2画素連続して画素値を読み出し、4列目の一番上の画素より副走査方向に2画素連続して画素値を読み出す順序とする。3行目及び4行目も同様の読み出し順序とする。
【0051】
各サブバンドの画素値の読み出し順序は、画像圧縮復号部17の読み出し順序記憶部171に予め記憶されている。画像圧縮復号部17は、符号化を行う際に読み出し順序記憶部171に記憶されている読み出し順序に従って各サブバンドの画素値を読み出し、圧縮データを生成する。
【0052】
次に、圧縮データの復号処理の流れについて説明する。まず画像圧縮復号部17は圧縮データに対して逆エントロピー符号化を行い、量子化データを取得する。この逆エントロピー符号化を行う際、画像圧縮復号部17は算術符号の復号を行った値を読み出し順序記憶部171に記憶されている読み出し順序の内、符号化を行ったときに用いた読み出し順序とは逆の順序で配置する。続いて画像圧縮復号部17は量子化データに対して逆量子化を行い、離散ウェーブレット変換された係数データを取得する。そして画像圧縮復号部17は係数データに対して逆離散ウェーブレット変換を行い、タイル画像に復元し、タイル画像を組み合わせた画像の表色系のコンポーネント変換を行って復号データを取得し、復号処理を終了する。
【0053】
以上、説明したように、符号化の際にできるだけ高周波成分が連続して読み出されるように画素値の読み出し順序をサブバンド毎に設定することにより、復号後の画質を落とすことなく符号化効率を改善することができる。
【0054】
<第2の実施例>
本実施例では、離散ウェーブレット変換によって生成されたサブバンドの所定の領域毎において画素値のピーク値の位置を検出し、その位置に基づいて画素値の読み出し順序を変更することによって符号化効率を改善する方法について説明する。
【0055】
通常、離散ウェーブレット変換によって生成された各サブバンドは、副走査方向に4画素を単位とした順序で画素値が読み出されて符号化処理が行われる。図13は、サブバンドが分割されて4×4画素となった状態を示した図である。まず画像圧縮復号部17は、この4×4画素の各画素のうち濃度が最も高い又は最も低い(即ち、画素値が最も大きい又は最も小さい)画素を検出する。以下、濃度が最も高い又は最も低い画素の画素値を「ピーク値」と言い、そのピーク値を持つ画素を「ピーク画素」と言う。
【0056】
ピーク値の検出方法は、4×4画素の全画素値から平均値を算出し、その平均値が所定値(例えば、画像の階調数が256なら所定値は256÷2=128とする)以上であれば、最も画素値の大きいものをピーク値とし、平均値が所定値より小さければ最も画素値の小さいものをピーク値とする。
【0057】
このようにして、画像圧縮復号部17は4×4画素の中からピーク画素を求める。本実施例では、画素G32をピーク画素として以下説明する。
【0058】
次に画像圧縮復号部17は、画素G32を更に3×3の領域に分割して、この3×3の各領域のうちどこがピーク位置であるかを検出する。ここで、画像圧縮復号部17が4×4画素におけるピーク画素を求める際に、濃度が最も高い画素値を持つ画素をピーク画素とした場合、「ピーク位置」とはピーク画素(画素G32)内における最も濃度の高い位置となる。逆に、画像圧縮復号部17が4×4画素におけるピーク画素を求める際に、濃度が最も低い画素値を持つ画素をピーク画素とした場合、「ピーク位置」とはピーク画素内における最も濃度の低い位置となる。以下に示す「ピーク位置」は、画素G32内における最も濃度の高い位置として説明する。
【0059】
図14はピーク画素及びピーク位置を説明するための図である。画像圧縮復号部17は以下を条件式として、画素G32内における主走査方向のピーク位置を検出する。
|画素値G31−画素値G33|<閾値・・ピーク位置は画素G32の中央部
画素値G31−画素値G33<0 ・・ピーク位置は画素G32内の右側(画素G33寄り)
画素値G31−画素値G33>0 ・・ピーク位置は画素G32内の左側(画素G31寄り)
例えば、画素値G32=200、画素値G31=150、画素値G33=50とし、閾値=10とすると、
|150−50|=100>閾値
150−50=100>0
となるため、画素G32内におけるピーク位置は画素G31寄りの左側にあることになる。
【0060】
次に、画像圧縮復号部17は以下を条件式として、画素G32内における副走査方向のピーク位置を検出する。
|画素値G22−画素値G42|<閾値・・ピーク位置は画素G32の中央部
画素値G22−画素値G42<0 ・・ピーク位置は画素G32内の下側(画素G42寄り)
画素値G22−画素値G42>0 ・・ピーク位置は画素G32内の上側(画素G22寄り)
例えば、画素値G22=180、画素値G42=40とすると、
|180−40|=140>閾値
180−40=140>0
となるため、画素G32内における副走査方向のピーク位置は画素G22寄りの上側にあることになる。
【0061】
従って、主走査方向及び副走査方向における画素G32内におけるピーク位置の検出をまとめると、画素G32内におけるピーク位置は画素G31寄りで画素22寄り、つまり3×3の領域の中の左上に位置することになる。従って、画素G32のピーク位置は図14(b)に示すGxの位置となる。
【0062】
画像圧縮復号部17は、この画素G32内におけるピーク位置Gxに基づいて、4×4画素の読み出し順序を読み出し順序記憶部171から読み出して、その順序に従って算術符号化を行う。次に、読み出し順序記憶部171に予め記憶されているピーク画素及びピーク位置に基づいた各画素の読み出し順序の設定方法について説明する。
【0063】
図15及び16は、読み出し順序記憶部171に記憶されているピーク画素及びピーク位置に基づいた各画素の読み出し順序の設定方法を説明するための図である。上記と同様に、4×4画素のうちピーク画素を画素G32、画素G32を3×3の領域に分けたときのピーク位置をGxとする。そして、画素G32以外の各画素について、このピーク位置Gxより近い画素から順番に画素値を読み出す順序を設定していく。
【0064】
ピーク位置Gxより近い画素から順番に画素値を読み出す理由は以下の通りである。一般的に画像の濃度は、ピーク位置を中心として濃→淡、又は淡→濃と変化しているケースが多く、ピーク位置Gxより近い画素から順番に画素値を読み出すことによって濃度順に画素値を読み出すことになる。これにより、読み出した画素値の順序に単調増又は単調減の傾向を持たせることができる。この場合、例えば連続するデータにおいて前データに対する増加や減少を示す正負の情報が不要となって差分データのみを持っておけば良いため、符号化効率を高めることができる。
【0065】
図15(a)の左側の図は、4×4画素の各画素を3×3の領域に分割したものであり、分割した領域に示す数字は、ピーク位置Gxからの距離を示している。例えば画素G31の場合、ピーク位置Gxから最も近い3×3の領域は画素G31内の右上の領域であり、ピーク位置Gxからの距離は主走査方向と逆方向に分割された領域を「1」進んだ距離となる。従って、図15(a)の画素G31内には「1」と示されている。
【0066】
同様に、画素G22の場合、ピーク位置Gxから最も近い領域は画素G22内の左下の領域であり、ピーク位置Gxからの距離は副走査方向と逆方向に分割された領域を「1」進んだ距離となる。従って、図15(a)の画素G22内には「1」と示されている。また、画素G33の場合、ピーク位置Gxから最も近い領域は画素G33内の左上の領域であり、ピーク位置Gxからの距離は主走査方向に分割された領域を「3」進んだ距離となる。従って、図15(a)の画素G33内には「3」と示されている。このような方法で、各画素についてピーク位置Gxからの距離を決定する。
【0067】
そして、この距離が近い画素から順番に画素値を読み出す順序を設定していく。ここで、画素G31や画素G22のように、距離が「1」で同じ画素に関しては、ピーク画素から見て「上、左、右、下」の順序で優先的に読み出す順序を予め設定しておく。尚、この優先順序はあくまで例であり、変更可能である。上記の優先順序に従うと、先に画素G22を読み出して、次に画素G31を読み出すという順序になる。
【0068】
図15(a)の右側の図は、上記の方法に従って画素値の読み出し順序を決定した場合の読み出し順序を示しており、画素内に示された数字の小さい順から画素値を読み出すことになる。つまり、画素G32→G22→G31→G21→G33→G42→・・・という順序になる。
【0069】
図15(b)は画素G32のピーク位置が上中央にある場合、図15(c)は画素G32のピーク位置が右上にある場合、図15(d)は画素G32のピーク位置が左中央にある場合、図16(a)は画素G32のピーク位置が真ん中(中央)にある場合、図16(b)は画素G32のピーク位置が右中央にある場合、図16(c)は画素G32のピーク位置が左下にある場合、図16(d)は画素G32のピーク位置が下中央にある場合、図16(e)は画素G32のピーク位置が右下にある場合の画素値の読み出し順序を、上記の方法に従って決定した結果を示している。
【0070】
このように、各画素におけるピーク位置に対応した画素値の読み出し順序を予め決定し、この読み出し順序を読み出し順序記憶部171が記憶する。尚、上記で説明した画素値の読み出し順序はピーク画素がG32の場合のみを示したものであり、その読み出しパターンは9パターン存在する。このようにピーク画素が4×4画素における中央部に位置する場合、つまりピーク画素がG22、G23、G32又はG33である場合は画素値の読み出しパターンは9パターン存在することになり、読み出し順序記憶部171は中央部の各画素に対して9パターンの読み出し順序を記憶する(つまり、4画素×9パターン=36パターン)。
【0071】
一方、ピーク画素が4×4画素における角に位置する、つまりピーク画素がG11、G14、G41又はG44である場合、読み出しパターンはそれぞれ4パターン存在する。従って、読み出し順序記憶部171は角に位置する各画素に対して4パターンの読み出し順序を記憶する(つまり、4画素×4パターン=16パターン)。また、ピーク画素がピーク画素が4×4画素における角でない側部に位置する場合、つまりピーク画素がG12、G13、G21、G24、G31、G34、G42又はG43である場合、読み出しパターンはそれぞれ6パターン存在する。従って、読み出し順序記憶部171は側部に位置する各画素に対して6パターンの読み出し順序を記憶する(つまり、8画素×6パターン=48パターン)。これら各画素におけるパターン数を加算すると、読み出し順序記憶部171は36パターン+16パターン+48パターン=100パターンの画素値の読み出し順序を記憶することとなる。
【0072】
尚、上記にて説明したように、ピーク画素が中央部に位置(ピーク画素がG22、G23、G32又はG33)し、更にピーク位置が3×3に分割した領域の中央に位置するとき(つまり、図16(a)のとき)、このピーク位置を左右上下何れかにずらすことにより、パターン数を9パターンから8パターンに省略してもよい。
【0073】
図16(a)を用いて具体的に説明する。画素G32の中央にピーク位置Gxがある場合、このピーク位置をGy又はGz等の両隣や上下位置の何れかに置き換える。こうすることで中央にピーク位置Gxがある場合は図15(d)又は図16(b)等に示した画素値の読み出し順序を用いることができる。従って、ピーク画素がG22、G23、G32又はG33である場合は画素値の読み出しパターンは8パターンとなり、読み出し順序記憶部171は中央部(画素G22、G23、G33及びG33)の各画素に対して8パターンの読み出し順序を記憶することになる(つまり、4画素×8パターン=32パターン)。各画素におけるパターン数を加算すると、読み出し順序記憶部171は32パターン+16パターン+48パターン=96パターンの画素値の読み出し順序を記憶すればよく、上記の100パターンよりもパターン数を減らすことができる。
【0074】
図17は、本実施例における4×4画素の画素値の読み出し処理の流れを示したフローチャートである。まず画像圧縮復号部17は、離散ウェーブレット変換によって生成されたサブバンドを4×4画素に分割し(ステップS11)、分割した各画素の画素値からピーク画素を検出する(ステップS12)。更に、画像圧縮復号部17は、検出したピーク画素を3×3の領域に分割し、そのピーク画素内におけるピーク位置を検出する(ステップS13)。そして、画像圧縮復号部17は、ピーク画素及びピーク位置に基づいて画素値の読み出し順序を読み出し順序記憶部171から読み出し、その読み出し順序に基づいて4×4画素の各画素を読み出して、算術符号化を行う(ステップS14)。
【0075】
ここで、作成された圧縮データを復号する際は、ピーク画素及びピーク位置に基づいた読み出し順序とは逆順で値を読み出す必要があるため、読み出し順序記憶部171に記憶された読み出し順序の内、何れの順序を用いたかが復号する際に識別できるように、画像圧縮復号部17は圧縮データに対して読み出し順序の識別情報を付加する。以下、圧縮データの復号処理の流れについて説明する。
【0076】
まず画像圧縮復号部17は、圧縮データに対して逆エントロピー符号化を行い、量子化データを取得する。この逆エントロピー符号化を行う際、画像圧縮復号部17は圧縮データに付加されている識別情報を用いて読み出し順序記憶部171から符号化の際に用いられた読み出し順序を読み出し、この順序と逆の順序で算術符号の復号を行った値を配置する。続いて画像圧縮復号部17は量子化データに対して逆量子化を行い、離散ウェーブレット変換された係数データを取得する。そして画像圧縮復号部17は係数データに対して逆離散ウェーブレット変換を行い、タイル画像に復元し、タイル画像を組み合わせた画像の表色系のコンポーネント変換を行って復号データを取得し、復号処理を終了する。
【0077】
以上、説明したように、ピーク位置Gxより近い画素から順番に画素値を読み出すことによって濃度順に画素値を読み出すことができる。これにより、読み出した画素値の順序に単調増又は単調減の傾向を持たせることができ、例えば連続するデータにおいて前データに対する増加や減少を示す正負の情報が不要となって差分データのみを持っておけば良いため、復号後の画質を落とすことなく符号化効率を高めることができる。
【符号の説明】
【0078】
1 画像圧縮復号装置
11 制御部
12 記憶部
121 画像圧縮プログラム
13 入力操作部
14 表示部
15 I/F部
16 ネットワークI/F部
17 画像圧縮部(変換手段、分割手段、ウェーブレット変換手段、量子化手段、符号化手段、検出手段、決定手段、逆符号化手段、逆量子化手段、逆ウェーブレット手段、復号手段
171 読み出し順序記憶部(記憶手段)
【特許請求の範囲】
【請求項1】
入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段と、
前記変換された画像データを複数のタイルに分割する分割手段と、
前記タイル毎にウェーブレット変換を施してサブバンド分解を行うウェーブレット変換手段と、
前記各サブバンドに含まれる画素値を量子化する量子化手段と、
前記サブバンドに含まれる画素値を順次読み出して符号化を行い、符号化データを出力する符号化手段と、
前記符号化手段が前記サブバンドの符号化を行う際の前記画素値の読み出し順序として前記サブバンドに含まれる特定の周波数成分が連続して読み出される順序を前記サブバンド毎に記憶する記憶手段と、
を備え、前記符号化手段は、前記記憶手段に記憶された読み出し順序に従って前記サブバンドに含まれる前記画素値を読み出して符号化を行うものである画像圧縮装置。
【請求項2】
前記ウェーブレット変換は、前記タイルをLL、HL、LH及びHHサブバンドに分解するものであり、
前記記憶手段は、前記LL及び前記HLサブバンドに対する前記画素値の読み出し順序として走査方向に連続する順序を記憶し、前記LH及び前記HHサブバンドに対する前記画素値の読み出し順序として副走査方向に連続する順序を記憶するものである請求項1に記載の画像圧縮装置。
【請求項3】
入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段と、
前記変換された画像データを複数のタイルに分割する分割手段と、
前記タイル毎にウェーブレット変換を施してサブバンド分解を行うウェーブレット変換手段と、
前記各サブバンドに含まれる画素値を量子化する量子化手段と、
前記サブバンドに含まれる画素値を順次読み出して符号化を行い、符号化データを出力する符号化手段と、
前記サブバンドを構成する画素のうち濃度がピークとなっているピーク画素を検出する検出手段と、
前記検出されたピーク画素の周辺画素の画素値を用いて当該ピーク画素内における濃度のピーク位置を求める決定手段と、
前記符号化手段が前記サブバンドの符号化を行う際の前記サブバンドの画素値の読み出し順序として、前記ピーク画素の位置及び当該ピーク画素内における濃度のピーク位置に応じてそれぞれ異なる前記読み出し順序を記憶する記憶手段と、
を備え、前記符号化手段は、前記検出手段が検出したピーク画素の位置及び前記決定手段が求めた当該ピーク画素内における濃度のピーク位置に応じて前記記憶手段から前記サブバンドの画素値の読み出し順序を読み出し、当該読み出し順序に従って前記サブバンドの画素値を読み出して符号化を行うものである画像圧縮装置。
【請求項4】
前記記憶手段は、前記ピーク画素内における濃度のピーク位置から近い画素から順番に画素値を読み出すための順序を、前記ピーク画素の位置及び当該ピーク画素内における濃度のピーク位置毎にそれぞれ記憶するものである請求項3に記載の画像圧縮装置。
【請求項5】
請求項1〜4の何れか一項に記載の画像圧縮装置と、
前記符号化データを前記記憶手段に記憶された読み出し順序の内、前記符号化手段が符号化を行う際に用いた読み出し順序と逆の順序で読み出して逆符号化を行い、量子化データを出力する逆符号化手段と、
前記量子化データを逆量子化して変換係数を出力する逆量子化手段と、
前記変換係数に逆ウェーブレット変換を施してタイル画像を出力する逆ウェーブレット変換手段と、
前記タイル画像を組み合わせた画像の表色系の変換を行って復号画像を取得する復号手段と、
を更に備えた画像圧縮復号装置。
【請求項6】
コンピュータを、
入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段、
前記変換された画像データを複数のタイルに分割する分割手段、
前記タイル毎にウェーブレット変換を施してサブバンド分解を行うウェーブレット変換手段、
前記各サブバンドに含まれる画素値を量子化する量子化手段、
前記サブバンドに含まれる特定の周波数成分が連続して読み出される順序で当該サブバンドに含まれる量子化された画素値を読み出して符号化を行い、符号化データを出力する符号化手段、
として機能させる画像圧縮プログラム。
【請求項7】
コンピュータを、
入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段、
前記変換された画像データを複数のタイルに分割する分割手段、
前記タイル毎にウェーブレット変換を施してサブバンド分解を行うウェーブレット変換手段、
前記各サブバンドに含まれる画素値を量子化する量子化手段、
前記サブバンドを構成する画素のうち濃度がピークとなっているピーク画素を検出する検出手段、
前記検出されたピーク画素の周辺画素の画素値を用いて当該ピーク画素内における濃度のピーク位置を求める決定手段、
前記検出手段が検出したピーク画素の位置及び前記決定手段が求めた当該ピーク画素内における濃度のピーク位置に応じてそれぞれ異なる読み出し順序で前記サブバンドに含まれる画素値を読み出して符号化を行い、符号化データを出力する符号化手段、
として機能させる画像圧縮プログラム。
【請求項8】
請求項6又は7に記載された画像圧縮プログラムを含み、更にコンピュータを、
前記符号化手段が前記符号化を行う際の前記画素値の読み出し順序と逆の順序で前記符号化データを読み出して逆符号化を行い、量子化データを出力する逆符号化手段、
前記量子化データを逆量子化して変換係数を出力する逆量子化手段、
前記変換係数に逆ウェーブレット変換を施してタイル画像を出力する逆ウェーブレット変換手段、
前記タイル画像を組み合わせた画像の表色系の変換を行って復号画像を取得する復号手段、
として機能させる画像圧縮復号プログラム。
【請求項1】
入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段と、
前記変換された画像データを複数のタイルに分割する分割手段と、
前記タイル毎にウェーブレット変換を施してサブバンド分解を行うウェーブレット変換手段と、
前記各サブバンドに含まれる画素値を量子化する量子化手段と、
前記サブバンドに含まれる画素値を順次読み出して符号化を行い、符号化データを出力する符号化手段と、
前記符号化手段が前記サブバンドの符号化を行う際の前記画素値の読み出し順序として前記サブバンドに含まれる特定の周波数成分が連続して読み出される順序を前記サブバンド毎に記憶する記憶手段と、
を備え、前記符号化手段は、前記記憶手段に記憶された読み出し順序に従って前記サブバンドに含まれる前記画素値を読み出して符号化を行うものである画像圧縮装置。
【請求項2】
前記ウェーブレット変換は、前記タイルをLL、HL、LH及びHHサブバンドに分解するものであり、
前記記憶手段は、前記LL及び前記HLサブバンドに対する前記画素値の読み出し順序として走査方向に連続する順序を記憶し、前記LH及び前記HHサブバンドに対する前記画素値の読み出し順序として副走査方向に連続する順序を記憶するものである請求項1に記載の画像圧縮装置。
【請求項3】
入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段と、
前記変換された画像データを複数のタイルに分割する分割手段と、
前記タイル毎にウェーブレット変換を施してサブバンド分解を行うウェーブレット変換手段と、
前記各サブバンドに含まれる画素値を量子化する量子化手段と、
前記サブバンドに含まれる画素値を順次読み出して符号化を行い、符号化データを出力する符号化手段と、
前記サブバンドを構成する画素のうち濃度がピークとなっているピーク画素を検出する検出手段と、
前記検出されたピーク画素の周辺画素の画素値を用いて当該ピーク画素内における濃度のピーク位置を求める決定手段と、
前記符号化手段が前記サブバンドの符号化を行う際の前記サブバンドの画素値の読み出し順序として、前記ピーク画素の位置及び当該ピーク画素内における濃度のピーク位置に応じてそれぞれ異なる前記読み出し順序を記憶する記憶手段と、
を備え、前記符号化手段は、前記検出手段が検出したピーク画素の位置及び前記決定手段が求めた当該ピーク画素内における濃度のピーク位置に応じて前記記憶手段から前記サブバンドの画素値の読み出し順序を読み出し、当該読み出し順序に従って前記サブバンドの画素値を読み出して符号化を行うものである画像圧縮装置。
【請求項4】
前記記憶手段は、前記ピーク画素内における濃度のピーク位置から近い画素から順番に画素値を読み出すための順序を、前記ピーク画素の位置及び当該ピーク画素内における濃度のピーク位置毎にそれぞれ記憶するものである請求項3に記載の画像圧縮装置。
【請求項5】
請求項1〜4の何れか一項に記載の画像圧縮装置と、
前記符号化データを前記記憶手段に記憶された読み出し順序の内、前記符号化手段が符号化を行う際に用いた読み出し順序と逆の順序で読み出して逆符号化を行い、量子化データを出力する逆符号化手段と、
前記量子化データを逆量子化して変換係数を出力する逆量子化手段と、
前記変換係数に逆ウェーブレット変換を施してタイル画像を出力する逆ウェーブレット変換手段と、
前記タイル画像を組み合わせた画像の表色系の変換を行って復号画像を取得する復号手段と、
を更に備えた画像圧縮復号装置。
【請求項6】
コンピュータを、
入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段、
前記変換された画像データを複数のタイルに分割する分割手段、
前記タイル毎にウェーブレット変換を施してサブバンド分解を行うウェーブレット変換手段、
前記各サブバンドに含まれる画素値を量子化する量子化手段、
前記サブバンドに含まれる特定の周波数成分が連続して読み出される順序で当該サブバンドに含まれる量子化された画素値を読み出して符号化を行い、符号化データを出力する符号化手段、
として機能させる画像圧縮プログラム。
【請求項7】
コンピュータを、
入力された画像データを輝度成分と色差成分からなる表色系に変換する変換手段、
前記変換された画像データを複数のタイルに分割する分割手段、
前記タイル毎にウェーブレット変換を施してサブバンド分解を行うウェーブレット変換手段、
前記各サブバンドに含まれる画素値を量子化する量子化手段、
前記サブバンドを構成する画素のうち濃度がピークとなっているピーク画素を検出する検出手段、
前記検出されたピーク画素の周辺画素の画素値を用いて当該ピーク画素内における濃度のピーク位置を求める決定手段、
前記検出手段が検出したピーク画素の位置及び前記決定手段が求めた当該ピーク画素内における濃度のピーク位置に応じてそれぞれ異なる読み出し順序で前記サブバンドに含まれる画素値を読み出して符号化を行い、符号化データを出力する符号化手段、
として機能させる画像圧縮プログラム。
【請求項8】
請求項6又は7に記載された画像圧縮プログラムを含み、更にコンピュータを、
前記符号化手段が前記符号化を行う際の前記画素値の読み出し順序と逆の順序で前記符号化データを読み出して逆符号化を行い、量子化データを出力する逆符号化手段、
前記量子化データを逆量子化して変換係数を出力する逆量子化手段、
前記変換係数に逆ウェーブレット変換を施してタイル画像を出力する逆ウェーブレット変換手段、
前記タイル画像を組み合わせた画像の表色系の変換を行って復号画像を取得する復号手段、
として機能させる画像圧縮復号プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図10】
【公開番号】特開2011−77766(P2011−77766A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−226313(P2009−226313)
【出願日】平成21年9月30日(2009.9.30)
【出願人】(000006150)京セラミタ株式会社 (13,173)
【Fターム(参考)】
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願日】平成21年9月30日(2009.9.30)
【出願人】(000006150)京セラミタ株式会社 (13,173)
【Fターム(参考)】
[ Back to top ]