(57)【要約】【課題】  従来のJPEG2000方式では、decomposition levelと呼ばれる周波数成分毎に、圧縮データ列(パケットボディと呼ぶ)の前にパケットヘッダを付加するように規定されている。これは、１つのdecomposition levelを記憶領域に蓄積してからでなければ、パケットヘッダを生成できないことを意味している。このことは量的な課題ばかりでなく、JPEG2000方式の動作速度が、低速なメモリ素子のアクセス時間に依存してしまい、高速動作に向かない一因ともなっている。【解決手段】  パケットヘッダ３の生成をdecomposition levelよりも小さい単位のコードブロック２の単位で行うことにより、使用する記憶領域を減らすことができ、高速動作での画像圧縮が実現出来ることになった。【選択図】    図３
2005175578.tif 000002
【特許請求の範囲】
【請求項１】
入力される画像圧縮データのコードブロックを符号化し、符号化後のデータを出力する算術符号化回路と、
上記算術符号化回路からの符号化後のデータを格納するコードブロック・メモリと、
上記算術符号化回路から符号化を終了したことを表す信号の受信に応じて、上記コードブロック・メモリに格納された符号化後のデータを読み出し、コードブロック単位でパケットヘッダの生成を行うパケット生成回路と、
上記パケット生成回路で生成されたパケットを出力する出力回路とを具備したことを特徴とする画像圧縮データのパケット構成装置。
【請求項２】
入力される画像圧縮データのコードブロックを格納するコードブロック・メモリと、
上記コードブロック・メモリから符号化前のデータを読み出し、符号化を行った後、符号化後のデータを上記コードブロック・メモリに格納し、１つのコードブロックの算術符号化が終了した後、再度、上記コードブロック・メモリから符号化後のデータを読み出し、コードブロック単位でパケットヘッダの生成を行う演算プロセッサと、
上記演算プロセッサで生成されたパケットを出力する出力回路とを具備したことを特徴とする画像圧縮データのパケット構成装置。
【請求項３】
上記パケットヘッダは、対応するコードブロックに関する情報のみを収容することを特徴とする請求項１または請求項２記載の画像圧縮データのパケット構成装置。
【請求項４】
入力される画像圧縮データのコードブロックを符号化し、符号化後のデータを出力する算術符号化処理ステップと、
上記算術符号化処理ステップで符号化された後のデータをメモリに格納する格納処理ステップと、
上記算術符号化処理ステップから符号化を終了したことを表す信号を受信したときに、上記メモリに格納された符号化処理後のデータを読み出し、コードブロック単位でパケットヘッダの生成を行うパケット生成処理ステップと、
を備えたことを特徴とする画像圧縮データのパケット構成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子化された画像データを圧縮する画像圧縮データのパケット構成方法および装置に関するものである。
【背景技術】
【０００２】
画像データをウェーブレット変換と算術符号化によって画像圧縮を行う方法として、例えばISO/IEC JTC1 SC29において国際標準化されたJPEG2000方式が知られている(例えば、非特許文献１参照。)。
【０００３】
【非特許文献１】ISO/IEC JTC1 SC29/WG1,JPEG 2000 Part 1 with Cor.1, Cor.2, Cor.3 and DCor.4, Amd.1,FPDAM.2
【発明の開示】
【発明が解決しようとする課題】
【０００４】
JPEG2000方式のように、画像データや圧縮後のデータを蓄積してから処理を行うことを想定した方式では、圧縮後のデータフォーマットが、画像圧縮装置や画像圧縮ソフトウェアに大きな記憶領域を要求する場合がある。JPEG2000方式では、decomposition levelと呼ばれる周波数成分毎に、圧縮データ列(パケットボディと呼ぶ)の前にパケットヘッダを付加するように規定されている。これは、１つのdecomposition levelを記憶領域に蓄積してからでなければ、パケットヘッダを生成できないことを意味している。このことは量的な課題ばかりでなく、JPEG2000方式の動作速度が、低速なメモリ素子のアクセス時間に依存してしまい、高速動作に向かない一因ともなっている。
【０００５】
この発明は係る課題を解決するために成されたものであり、少ない記憶領域でパケットヘッダとパケットボディの組(パケットと呼ぶ)を構成することを目的とする。
【課題を解決するための手段】
【０００６】
第1の発明の画像圧縮データのパケット構成装置は、入力される画像圧縮データのコードブロックを符号化し、符号化後のデータを出力する算術符号化回路と、上記算術符号化回路からの符号化後のデータを格納するコードブロック・メモリと、上記算術符号化回路から符号化を終了したことを表す信号の受信に応じて、上記コードブロック・メモリに格納された符号化後のデータを読み出し、コードブロック単位でパケットヘッダの生成を行うパケット生成回路と、上記パケット生成回路で生成されたパケットを出力する出力回路とを具備したものである。
【０００７】
第２の発明の画像圧縮データのパケット構成装置は、入力される画像圧縮データのコードブロックを格納するコードブロック・メモリと、上記コードブロック・メモリから符号化前のデータを読み出し、符号化を行った後、符号化後のデータを上記コードブロック・メモリに格納し、上記コードブロック・メモリから符号化後のデータを読み出し、コードブロック単位でパケットヘッダの生成を行う演算プロセッサと、上記演算プロセッサで生成されたパケットを出力する出力回路とを具備したものである。
【０００８】
この発明の画像圧縮データのパケット構成方法は、入力される画像圧縮データのコードブロックを符号化し、符号化後のデータを出力する算術符号化処理ステップと、上記算術符号化処理ステップで符号化された後のデータをメモリに格納する格納処理ステップと、上記算術符号化処理ステップから符号化を終了したことを表す信号を受信したときに、上記メモリに格納された符号化処理後のデータを読み出し、コードブロック単位でパケットヘッダの生成を行うパケット生成処理ステップとを備えた方法である。
【発明の効果】
【０００９】
この発明の画像圧縮装置及び画像圧縮データのパケット構成方法では、１つのコードブロックの符号化後のデータを記憶するだけでよいことにより、必要となる記憶領域を軽減でき、高速動作での画像圧縮が実現できるという効果がある。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
図１は、実施の形態１によるコードブロック毎にパケットヘッダを生成するハードウェア構成であり、４１は算術符号化を行う専用ロジック回路である算術符号化回路、４２はコードブロック・メモリ、４３はパケット生成回路、４４は出力回路である。
【００１１】
コードブロック・メモリ４２は、１つのコードブロックの符号化後のデータを記憶できる領域を有しており、この領域は画像データやXML（Extensible Markup Language）形式のデータ形式のデータ長が例えば１００バイトを記憶できる程度であり、コードブロックを入力し、算術符号化を行った後、コードブロック・メモリ４２に符号化後のデータを格納する。
【００１２】
１つのコードブロックの算術符号化が終了したことを表す信号が、算術符号化回路４１からパケット生成回路４３に渡され、パケットの生成が開始される。
パケット生成回路４３は、パケットヘッダとパケットボディを生成し、さらに２つを合わせてパケットを生成する専用ロジック回路である。パケットボディは、算術符号化のデータを並べたもので、パケットヘッダについては以下で詳細に説明する。
【００１３】
コードブロック・メモリ４２に記憶された符号化後のデータをパケット生成回路４３に読み出し、パケットを生成する。出力回路４４は、パケットを装置の外部に出力するためのインターフェース回路である。
【００１４】
図２は、実施の形態１によるＤＣ成分をコードブロック毎にパケットヘッダを生成する方法を説明するための図である。ここで、ＤＣ成分とはJPEG2000方式におけるdecomposition levelと呼ばれる周波数成分の１つであり、１はＤＣ成分、２はコードブロック、３はパケットヘッダである。ここで、ＤＣ成分１はｘ方向にＬｏｗ ｐａｓｓ Ｆｉｌｔｅｒ、ｙ方向にＬｏｗ ｐａｓｓ Ｆｉｌｔｅｒを通過したＤＣ成分を表す。
【００１５】
例として、１つのＤＣ成分１をａ〜ｆの６つのコードブロック２に分割する場合を示しているが、JPEG2000方式では分割数を任意に決めることができ、この発明の実施の形態においても分割数に制約はない。
【００１６】
算術符号化後のデータは、１つのコードブロック２に対して１つのパケットヘッダ３を付加する。１つのパケットヘッダ３には、１つのコードブロック２に関する情報のみを収容し、ａ〜ｆの順序で収容する。
【００１７】
パケットはパケットヘッダとパケットボディから成り、パケットボディは算術符号化後のデータを並べたもので、従来のJPEG2000方式と同一である。パケットヘッダ３には、JPEG2000方式で定める５要素をコードブロック毎に独立して収容する。
【００１８】
従来のJPEG2000方式では、複数のコードブロックの情報をツリー構造に配置して、枝の差分を符号とする方式（tagtreeと呼ぶ）を用いて、１つのdecomposition level（すなわち、１つのＤＣ成分）に対して１つのパケットヘッダに収容していた。
【００１９】
この発明の実施の形態１によれば、１つのコードブロックの情報のみから１つのパケットヘッダを生成するので、tagtreeという複雑な処理を省略でき、参照する記憶領域は１つのコードブロックが収容できるサイズで済む。
【００２０】
図３は、実施の形態１による高周波成分をコードブロック毎にパケットヘッダを生成する方法を説明するための図である。ここで、高周波成分はJPEG2000方式におけるdecomposition levelと呼ばれる周波数成分であり、４ａは高周波成分ｎＨＬ、４ｂは高周波成分ｎＬＨ、４ｃは高周波成分ｎＨＨ、１〜３は図２の説明と同じものである。
さらに、例えば、高周波成分ｎＨＬ（４ａ）はｘ方向にＨｉｇｈ ｐａｓｓ Ｆｉｌｔｅｒ、ｙ方向にＬｏｗ ｐａｓｓ Ｆｉｌｔｅｒを通過したものを表す。
【００２１】
例として、高周波成分ｎＨＬ（４ａ）成分〜高周波成分ｎＨＨ（４ｃ）における１つの高周波成分当たりａ〜ｆの６つのコードブロック２に分割する場合を示しているが、JPEG2000方式では分割数を任意に決めることができ、この発明の実施の形態においても分割数に制約はない。
【００２２】
算術符号化後のデータは、１つのコードブロック２に対して１つのパケットヘッダ３を付加する。１つのパケットヘッダ３には、１つのコードブロック２に関する情報のみを収容し、高周波成分ｎＨＬ（４ａ）のａ〜ｆのコードブロック２、高周波成分ｎＬＨ（４ｂ）のａ〜ｆのコードブロック２、高周波成分ｎＨＨ（４ｃ）のａ〜ｆのコードブロック２の順序で収容する。JPEG2000方式で定める５要素を、コードブロック毎に独立してパケットヘッダ３に収容する。
【００２３】
図４はこの発明の実施の形態によるコードブロック毎にパケットヘッダを生成する方式を説明するためのフローチャートである。画像データをウェーブレット変換した後、コードブロックと呼ばれるブロックに分割した画像データをパケットヘッダとパケットボディとから成るパケットを生成する方法について述べる。
【００２４】
コードブロック分割されたコードブロック２は、例えば、図３の４ａは高周波成分ｎＨＬ、４ｂは高周波成分ｎＬＨ、４ｃは高周波成分ｎＨＨの各々について、１つの高周波成分をａ〜ｆの６つのコードブロック２について算術符号化回路４１で符号化される（ステップＳ１）。
【００２５】
コードブロック・メモリ４２の符号化データ記憶部は、１つのコードブロックの符号化後のデータを記憶できる領域を有しており、符号化後のデータは、コードブロック・メモリ４２で符号化データ記憶部に記憶される（ステップＳ２）。
【００２６】
１つのコードブロックの算術符号化が終了すれば、符号化データ記憶部から符号化後のデータを読み出して、具体的には、JPEG2000方式で定める「Zero length packet」、「Code-block inclusion」、「Zero bit-plane information」、「Number of coding passes」、「Length of the code-block compressed image data from a given code-block」の５要素を、コードブロック毎に独立して、パケット生成回路４３でパケットヘッダを生成する（ステップＳ３）。
【００２７】
従来のJPEG2000方式では、複数のコードブロックの算術符号化が終了してからパケットヘッダを生成するのに対し、この発明の実施の形態によれば、１つのコードブロックの算術符号化が終了すればパケットヘッダを生成するので、コードブロック・メモリ４２は、１つのコードブロックの符号化後のデータを記憶できる領域があればよい。
【００２８】
然る後に、ステップＳ４に処理が移り、パケットボディを生成する。
ステップＳ５では、未処理のコードブロックが残っているかを判断し、全てのコードブロックが処理されれば終了する。
【００２９】
以上によれば、パケットヘッダ３を生成するために必要な情報は、コードブロック２毎に独立しており、２つ以上のコードブロックを同時に参照する必要がなくなり、１つのコードブロックの符号化後のデータを記憶するだけでよいので、必要となる記憶領域を軽減でき、高速動作での画像圧縮が実現できるという効果がある。
【００３０】
実施の形態２．
図５は、この発明の実施の形態によるコードブロック毎にパケットヘッダを生成するハードウェア構成であり、５１は演算プロセッサ、５２はコードブロック・メモリ、４４は図１の説明と同じものである。
【００３１】
実施の形態１における、算術符号化回路４１、および、パケット生成回路４３を、演算プロセッサ５１によるソフトウェア処理に置き換えた形態である。
【００３２】
コードブロックを入力とし、最初に、コードブロック・メモリ４２に符号化前のデータを格納する。コードブロック・メモリ５２は、少なくとも１つのコードブロックの符号化前のデータを記憶できる領域を有している。
【００３３】
演算プロセッサ５１からコードブロック・メモリ５２にアクセスし、算術符号化をソフトウェア処理で行った後、符号化後のデータをコードブロック・メモリ５２に格納する。
【００３４】
１つのコードブロックの算術符号化が終了した後、再度、演算プロセッサ５１からコードブロック・メモリ５２にアクセスし、パケットの生成をソフトウェア処理で行う。
パケットの生成は、パケットヘッダの生成とパケットボディの生成とから成る。
【００３５】
従来のJPEG2000方式では、複数のコードブロックの算術符号化が終了してからパケットヘッダを生成するのに対し、この発明の実施の形態によれば、１つのコードブロックの算術符号化が終了すればパケットヘッダを生成するので、コードブロック・メモリ５２は、１つのコードブロックの符号化後のデータを記憶できる領域があればよい。
【００３６】
生成されたパケットは出力回路４４に渡される。出力回路４４は、パケットを装置の外部に出力するためのインターフェース回路である。
【００３７】
コードブロック毎にパケットヘッダを生成する方法については、実施の形態１の図２、図３、図４による説明と同じである。
【００３８】
以上によれば、パケットヘッダ３を生成するために必要な情報は、コードブロック２毎に独立しており、２つ以上のコードブロックを同時に参照する必要がなくなり、１つのコードブロックの符号化後のデータを記憶するだけでよいので、必要となる記憶領域が軽減でき、高速動作での画像圧縮が実現でき、さらに処理回路を軽減できるという効果がある。
【図面の簡単な説明】
【００３９】
【図１】実施の形態１によるコードブロック毎にパケットヘッダを生成するハードウェア構成である。
【図２】実施の形態１によるＤＣ成分をコードブロック毎にパケットヘッダを生成する方法を説明するための図である。
【図３】実施の形態１による高周波成分をコードブロック毎にパケットヘッダを生成する方法を説明するための図である。
【図４】実施の形態１によるコードブロック毎にパケットヘッダを生成する方法を説明するためのフローチャートである。
【図５】実施の形態２によるコードブロック毎にパケットヘッダを生成するハードウェア構成である。
【符号の説明】
【００４０】
１  ＤＣ成分、  ２  コードブロック、  ３  パケットヘッダ、  ４  高周波成分、  ４１  算術符号化回路、  ４２  コードブロック・メモリ、  ４３  パケット生成回路、  ４４  出力回路、  ５１  演算プロセッサ、  ５２  コードブロック・メモリ。
【図１】
2005175578.tif 000003
【図２】
2005175578.tif 000004
【図３】
2005175578.tif 000005
【図４】
2005175578.tif 000006
【図５】
2005175578.tif 000007