(57)【要約】【課題】  処理の簡易化、高速化を図ることができ、また、微調整後は画質の向上を図ることができる画像の圧縮符号化技術を提供する。【解決手段】  画像データに対してWavelet変換、量子化、ビットプレーン符号化を実行した後、ポスト量子化部２５により、ビットプレーン符号化後の符号が所定の符号量になるまで符号を破棄する。ポスト量子化部２５では、符号破棄部でサブバンドの中のビットプレーン単位に符号を破棄し、その後、符号量微調整部でコードブロック単位に符号を破棄して微調整する。【選択図】    図６
2005039793.tif 000002
【特許請求の範囲】
【請求項１】
画像データを圧縮符号化する画像符号化装置において、
前記画像データを周波数変換する周波数変換手段と、
この周波数変換された係数をビットプレーン符号化するビットプレーン符号化手段と、
このビットプレーン符号化後の符号を所定の符号量になるまで符号を破棄する符号破棄手段と、
を備え、
前記符号破棄手段は、
所定の第１の符号単位で前記破棄を行う第１の手段と、
この第１の符号単位による破棄後に前記第１の符号単位より小さい第２の符号単位で前記破棄を必要に応じて行う第２の手段と、
を備えていること、
を特徴とする画像符号化装置。
【請求項２】
前記第２の手段は、前記第１の手段により前記第１の符号単位で符号を破棄して前記ビットプレーン符号化後の符号が所定の符号量より少なくなったときは、前記第２の符号単位で符号を破棄することにより前記所定の符号量に近づけること、を特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記第２の手段は、前記ビットプレーン符号化後の符号が所定の符号量以下になったときに前記第２の符号単位での符号の破棄を終了すること、を特徴とする請求項２に記載の画像符号化装置。
【請求項４】
前記第２の手段は、前記第１の手段により前記第１の符号単位で符号を破棄して前記ビットプレーン符号化後の符号が所定の符号量より少なくなったときは、前記第２の符号単位で符号の破棄を取り消すことにより前記所定の符号量に近づけること、を特徴とする請求項１に記載の画像符号化装置。
【請求項５】
前記第２の手段は、前記ビットプレーン符号化後の符号が所定の符号量を超える前に前記取り消しを終了すること、を特徴とする請求項４に記載の画像符号化装置。
【請求項６】
前記第１の手段は、前記第１の符号単位での符号の破棄が前記周波数変換後のサブバンドに基づいていて、
前記第２の手段は、前記第２の符号単位での符号の破棄が前記サブバンドをサブブロックに分割したものに基づいていること、
を特徴とする請求項１〜５のいずれかの一に記載の画像符号化装置。
【請求項７】
前記周波数変換手段は、前記周波数変換としてWavelet変換を行うこと、を特徴とする請求項６に記載の画像符号化装置。
【請求項８】
前記圧縮符号化方式はJPEG2000であること、を特徴とする請求項７に記載の画像符号化装置。
【請求項９】
前記第２の手段は、前記第２の符号単位をJPEG2000におけるコードブロックとしていること、を特徴とする請求項８に記載の画像符号化装置。
【請求項１０】
前記第１の手段は、前記第１の符号単位をJPEG2000におけるサブバンドの中のビットプレーンとしていること、を特徴とする請求項８又は９に記載の画像符号化装置。
【請求項１１】
前記周波数変換され前記ビットプレーン符号化前の前記係数を量子化する量子化手段を備えていること、を特徴とする請求項１〜１０のいずれかの一に記載の画像符号化装置。
【請求項１２】
前記符号破棄手段は、画質劣化を最小にするような順序で符号を破棄していくこと、を特徴とする請求項１１に記載の画像符号化装置。
【請求項１３】
前記第２の手段は、前記破棄する又は前記破棄を取り消すコードブロックの順序はラスター順であること、を特徴とする請求項９に記載の画像符号化装置。
【請求項１４】
前記第２の手段は、前記破棄する又は前記破棄を取り消すコードブロックの順序は中央のコードブロックからはじめて順次外側のコードブロックに実行していくこと、を特徴とする請求項９に記載の画像符号化装置。
【請求項１５】
前記第２の手段は、前記破棄する又は前記破棄を取り消すコードブロックの順序は画質劣化を最小にする順序であること、を特徴とする請求項９に記載の画像符号化装置。
【請求項１６】
画像データを圧縮符号化する処理をコンピュータに実行させるコンピュータに読み取り可能なプログラムにおいて、
前記画像データを周波数変換する周波数変換処理と、
この周波数変換された係数をビットプレーン符号化するビットプレーン符号化処理と、
このビットプレーン符号化後の符号を所定の符号量になるまで符号を破棄する符号破棄処理と、
をコンピュータに実行させ、
前記符号破棄処理は、
所定の第１の符号単位で前記破棄を行う第１の処理と、
この第１の符号単位による破棄後に前記第１の符号単位より小さい第２の符号単位で前記破棄を必要に応じて行う第２の処理と、
を含んでいること、
を特徴とするプログラム。
【請求項１７】
前記第２の処理は、前記第１の処理により前記第１の符号単位で符号を破棄して前記ビットプレーン符号化後の符号が所定の符号量より少なくなったときは、前記第２の符号単位で符号を破棄することにより前記所定の符号量に近づけること、を特徴とする請求項１６に記載のプログラム。
【請求項１８】
前記第２の処理は、前記ビットプレーン符号化後の符号が所定の符号量以下になったときに前記第２の符号単位での符号の破棄を終了すること、を特徴とする請求項１７に記載のプログラム。
【請求項１９】
前記第２の処理は、前記第１の処理により前記第１の符号単位で符号を破棄して前記ビットプレーン符号化後の符号が所定の符号量より少なくなったときは、前記第２の符号単位で符号の破棄を取り消すことにより前記所定の符号量に近づけること、を特徴とする請求項１６に記載のプログラム。
【請求項２０】
前記第２の処理は、前記ビットプレーン符号化後の符号が所定の符号量を超える前に前記取り消しを終了すること、を特徴とする請求項１９に記載のプログラム。
【請求項２１】
請求項１６〜２０のいずれかの一に記載のプログラムを記憶していること、を特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像データを圧縮符号化する画像符号化装置、プログラム及び記憶媒体に関する。
【背景技術】
【０００２】
近年、高精細画像を容易に取扱うことのできる圧縮伸長技術に対する需要が高まっている。このような要求を満たす圧縮方式の一つとして、高圧縮率でも高画質な画像を復号可能なJPEG2000方式が知られている。
【０００３】
このJPEG2000方式では、所定の符号量にするためにレートコントロールを行う。すなわち、一旦トランケート前の符号を作って、その符号を、画質を落とさないような最適な順番でサブバンドのビットプレーンを１枚ずつ破棄していく。しかしながら、この方法だと、処理後の符号量がかなり少なくなってしまう場合があるという不具合がある。
【０００４】
これに対し、特許文献１に開示の技術では、ダミーデータを付加して符号量の微調整を行って所定の符号量とする技術が開示されている。
【０００５】
また、符号量の微調整を行う技術として、ラグランジェのレートコントロール法が知られている。
【０００６】
【特許文献１】特開２００２−３４０４３公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、前述の特許文献１に開示の技術では、ダミーデータを付加して符号量の微調整を行って所定の符号量としているが、画質はダミーデータを付加する前のままである。
【０００８】
また、前述のラグランジェのレートコントロール法で符号量の微調整を行う場合には、符号量制御単位を細かくせざるを得ず、このため、処理の時間がかかり、また、処理が煩雑になる可能性があるという不具合がある。
【０００９】
本発明の目的は、処理の簡易化、高速化を図ることができ、また、微調整後は画質の向上を図ることができる画像の圧縮符号化技術を提供することである。
【課題を解決するための手段】
【００１０】
請求項１に記載の発明は、画像データを圧縮符号化する画像符号化装置において、前記画像データを周波数変換する周波数変換手段と、この周波数変換された係数をビットプレーン符号化するビットプレーン符号化手段と、このビットプレーン符号化後の符号を所定の符号量になるまで符号を破棄する符号破棄手段と、を備え、前記符号破棄手段は、所定の第１の符号単位で前記破棄を行う第１の手段と、この第１の符号単位による破棄後に前記第１の符号単位より小さい第２の符号単位で前記破棄を必要に応じて行う第２の手段と、を備えていること、を特徴とする画像符号化装置である。
【００１１】
したがって、符号量を粗調整してから微調整することができるので、処理の簡易化、高速化を図ることができ、また、微調整後は画質の向上を図ることができる。
【００１２】
請求項２に記載の発明は、請求項１に記載の画像符号化装置において、前記第２の手段は、前記第１の手段により前記第１の符号単位で符号を破棄して前記ビットプレーン符号化後の符号が所定の符号量より少なくなったときは、前記第２の符号単位で符号を破棄することにより前記所定の符号量に近づけること、を特徴とする。
【００１３】
したがって、粗調整で目的の符号量より少なくなったときは、符号単位で符号を破棄する微調整により目的の符号量に近づけることで符号量の調整を行うことができる。
【００１４】
請求項３に記載の発明は、請求項２に記載の画像符号化装置において、前記第２の手段は、前記ビットプレーン符号化後の符号が所定の符号量以下になったときに前記第２の符号単位での符号の破棄を終了すること、を特徴とする。
【００１５】
したがって、微調整により目的の符号量以下になったときに符号の破棄を終了することができる。
【００１６】
請求項４に記載の発明は、請求項１に記載の画像符号化装置において、前記第２の手段は、前記第１の手段により前記第１の符号単位で符号を破棄して前記ビットプレーン符号化後の符号が所定の符号量より少なくなったときは、前記第２の符号単位で符号の破棄を取り消すことにより前記所定の符号量に近づけること、を特徴とする。
【００１７】
したがって、粗調整で目的の符号量より少なくなったときは、符号単位で符号の破棄を取り消す粗調整を行って符号量の調整を行うことができる。
【００１８】
請求項５に記載の発明は、請求項４に記載の画像符号化装置において、前記第２の手段は、前記ビットプレーン符号化後の符号が所定の符号量を超える前に前記取り消しを終了すること、を特徴とする。
【００１９】
したがって、微調整により目的の符号量を超える前に符号の破棄取消を終了することができる。
【００２０】
請求項６に記載の発明は、請求項１〜５のいずれかの一に記載の画像符号化装置において、前記第１の手段は、前記第１の符号単位での符号の破棄が前記周波数変換後のサブバンドに基づいていて、前記第２の手段は、前記第２の符号単位での符号の破棄が前記サブバンドをサブブロックに分割したものに基づいていること、を特徴とする。
【００２１】
したがって、サブバンド単位に符号量の粗調整を行いサブブロック単位に微調整を行うことができる。
【００２２】
請求項７に記載の発明は、請求項６に記載の画像符号化装置において、前記周波数変換手段は、前記周波数変換としてWavelet変換を行うこと、を特徴とする。
【００２３】
したがって、周波数変換としてWavelet変換を行なって画像の圧縮符号化を行うことができる。
【００２４】
請求項８に記載の発明は、請求項７に記載の画像符号化装置において、前記圧縮符号化方式はJPEG2000であること、を特徴とする。
【００２５】
したがって、JPEG2000アルゴリズムにより画像の圧縮符号化を行うことができる。
【００２６】
請求項９に記載の発明は、請求項８に記載の画像符号化装置において、前記第２の手段は、前記第２の符号単位をJPEG2000におけるコードブロックとしていること、を特徴とする。
【００２７】
したがって、JPEG2000におけるコードブロック単位で微調整を行うことができる。
【００２８】
請求項１０に記載の発明は、請求項８又は９に記載の画像符号化装置において、前記第１の手段は、前記第１の符号単位をJPEG2000におけるサブバンドの中のビットプレーンとしていること、を特徴とする。
【００２９】
したがって、JPEG2000におけるサブバンドの中のビットプレーン単位で粗調整を行うことができる。
【００３０】
請求項１１に記載の発明は、請求項１〜１０のいずれかの一に記載の画像符号化装置において、前記周波数変換され前記ビットプレーン符号化前の前記係数を量子化する量子化手段を備えていること、を特徴とする。
【００３１】
したがって、周波数変換、量子化の後の符号について、符号量の粗調整、微調整を行うことができる。
【００３２】
請求項１２に記載の発明は、請求項１１に記載の画像符号化装置において、前記符号破棄手段は、画質劣化を最小にするような順序で符号を破棄していくこと、を特徴とする。
【００３３】
したがって、画質劣化を最小にするような順序で符号を破棄することができる。
【００３４】
請求項１３に記載の発明は、請求項９に記載の画像符号化装置において、前記第２の手段は、前記破棄する又は前記破棄を取り消すコードブロックの順序はラスター順であること、を特徴とする。
【００３５】
したがって、コードブロックをラスター順に符号の破棄又は破棄を取り消して符号量を微調整することができる。
【００３６】
請求項１４に記載の発明は、請求項９に記載の画像符号化装置において、前記第２の手段は、前記破棄する又は前記破棄を取り消すコードブロックの順序は中央のコードブロックからはじめて順次外側のコードブロックに実行していくこと、を特徴とする。
【００３７】
したがって、中央のコードブロックからはじめて順次外側のコードブロックに破棄又は破棄の取り消しを行って符号量を微調整することができる。
【００３８】
請求項１５に記載の発明は、請求項９に記載の画像符号化装置において、前記第２の手段は、前記破棄する又は前記破棄を取り消すコードブロックの順序は画質劣化を最小にする順序であること、を特徴とする。
【００３９】
したがって、画質劣化を最小にする順序でコードブロックの破棄又は破棄の取り消しを行って符号量を微調整することができる。
【００４０】
請求項１６に記載の発明は、画像データを圧縮符号化する処理をコンピュータに実行させるコンピュータに読み取り可能なプログラムにおいて、前記画像データを周波数変換する周波数変換処理と、この周波数変換された係数をビットプレーン符号化するビットプレーン符号化処理と、このビットプレーン符号化後の符号を所定の符号量になるまで符号を破棄する符号破棄処理と、をコンピュータに実行させ、前記符号破棄処理は、所定の第１の符号単位で前記破棄を行う第１の処理と、この第１の符号単位による破棄後に前記第１の符号単位より小さい第２の符号単位で前記破棄を必要に応じて行う第２の処理と、を含んでいること、を特徴とするプログラムである。
【００４１】
したがって、符号量を粗調整してから微調整することができるので、処理の簡易化、高速化を図ることができ、また、微調整後は画質の向上を図ることができる。
【００４２】
請求項１７に記載の発明は、請求項１６に記載のプログラムにおいて、前記第２の処理は、前記第１の処理により前記第１の符号単位で符号を破棄して前記ビットプレーン符号化後の符号が所定の符号量より少なくなったときは、前記第２の符号単位で符号を破棄することにより前記所定の符号量に近づけること、を特徴とする。
【００４３】
したがって、粗調整で目的の符号量より少なくなったときは、符号単位で符号を破棄する微調整により目的の符号量に近づけることで符号量の調整を行うことができる。
【００４４】
請求項１８に記載の発明は、請求項１７に記載のプログラムにおいて、前記第２の処理は、前記ビットプレーン符号化後の符号が所定の符号量以下になったときに前記第２の符号単位での符号の破棄を終了すること、を特徴とする。
【００４５】
したがって、微調整により目的の符号量以下になったときに符号の破棄を終了することができる。
【００４６】
請求項１９に記載の発明は、請求項１６に記載のプログラムにおいて、前記第２の処理は、前記第１の処理により前記第１の符号単位で符号を破棄して前記ビットプレーン符号化後の符号が所定の符号量より少なくなったときは、前記第２の符号単位で符号の破棄を取り消すことにより前記所定の符号量に近づけること、を特徴とする。
【００４７】
したがって、粗調整で目的の符号量より少なくなったときは、符号単位で符号の破棄を取り消す粗調整を行って符号量の調整を行うことができる。
【００４８】
請求項２０に記載の発明は、請求項１９に記載のプログラムにおいて、前記第２の処理は、前記ビットプレーン符号化後の符号が所定の符号量を超える前に前記取り消しを終了すること、を特徴とする。
【００４９】
したがって、微調整により目的の符号量を超える前に符号の破棄取消を終了することができる。
【００５０】
請求項２１に記載の発明は、請求項１６〜２０のいずれかの一に記載のプログラムを記憶していること、を特徴とする記憶媒体である。
【００５１】
したがって、記憶しているプログラムにより請求項１６〜２０のいずれかの一に記載の発明と同様の作用、効果を奏することができる。
【発明の効果】
【００５２】
請求項１，６に記載の発明は、符号量を粗調整してから微調整することができるので、処理の簡易化、高速化を図ることができ、また、微調整後は画質の向上を図ることができる。
【００５３】
請求項２，７に記載の発明は、請求項１，６に記載の発明において、粗調整で目的の符号量より少なくなったときは、符号単位で符号を破棄する微調整により目的の符号量に近づけることで符号量の調整を行うことができる。
【００５４】
請求項３，８に記載の発明は、請求項２，７に記載の発明において、微調整により目的の符号量以下になったときに符号の破棄を終了することができる。
【００５５】
請求項４，９に記載の発明は、請求項１，６に記載の発明において、粗調整で目的の符号量より少なくなったときは、符号単位で符号の破棄を取り消す粗調整を行って符号量の調整を行うことができる。
【００５６】
請求項５，１０に記載の発明は、請求項４，９に記載の発明において、微調整により目的の符号量を超える前に符号の破棄取消を終了することができる。
【００５７】
請求項６に記載の発明は、請求項１〜５のいずれかの一に記載の発明において、サブバンド単位に符号量の粗調整を行いサブブロック単位に微調整を行うことができる。
【００５８】
請求項７に記載の発明は、請求項６に記載の発明において、周波数変換としてWavelet変換を行なって画像の圧縮符号化を行うことができる。
【００５９】
請求項８に記載の発明は、請求項７に記載の発明において、JPEG2000アルゴリズムにより画像の圧縮符号化を行うことができる。
【００６０】
請求項９に記載の発明は、請求項８に記載の発明において、JPEG2000におけるコードブロック単位で微調整を行うことができる。
【００６１】
請求項１０に記載の発明は、請求項８又は９に記載の発明において、JPEG2000におけるサブバンドの中のビットプレーン単位で粗調整を行うことができる。
【００６２】
請求項１１に記載の発明は、請求項１〜１０のいずれかの一に記載の発明において、周波数変換、量子化の後の符号について、符号量の粗調整、微調整を行うことができる。
【００６３】
請求項１２に記載の発明は、請求項１１に記載の発明において、画質劣化を最小にするような順序で符号を破棄することができる。
【００６４】
請求項１３に記載の発明は、請求項９に記載の発明において、コードブロックをラスター順に符号の破棄又は破棄を取り消して符号量を微調整することができる。
【００６５】
請求項１４に記載の発明は、請求項９に記載の発明において、中央のコードブロックからはじめて順次外側のコードブロックに破棄又は破棄の取り消しを行って符号量を微調整することができる。
【００６６】
請求項１５に記載の発明は、請求項９に記載の発明において、画質劣化を最小にする順序でコードブロックの破棄又は破棄の取り消しを行って符号量を微調整することができる。
【００６７】
請求項２１に記載の発明は、記憶しているプログラムにより請求項１６〜２０のいずれかの一に記載の発明と同様の作用、効果を奏することができる。
【発明を実施するための最良の形態】
【００６８】
［JPEG2000について］
はじめに、JPEG2000における量子化、符号破棄および画質制御について説明する。JPEG2000の符号化処理は、概ね図１の流れで行われる。すなわち、画像データを圧縮符号化するときは、画像をタイル分割して、このタイルにＤＣレベルシフト、色変換を施し（ａ）、タイルごとにWavelet変換を行って（ｂ）、サブバンドごとに量子化する（ｃ）。そして、コードブロック毎にビットプレーン符号化を行い（ｄ）、不要な符号を破棄して、必要な符号をまとめて、パケットを生成する（ｅ）。後は、パケットを並べて符号形成を行う（ｆ）。圧縮後の符号を伸張するには、これらの処理の流れを逆にたどればよい。
【００６９】
図２は、画像、タイル、サブバンド、プリシンクト、コードブロックの関係を示す説明図である。タイルとは、画像を矩形に分割した単位であり、分割数＝１の場合、画像＝タイルである。JPEG2000では個々のタイルを独立した１つの画像と見なし、Wavelet変換がなされ、サブバンドが生成される。JPEG2000の基本仕様では、Wavelet変換として９×７変換を用いる場合、同一のサブバンドに含まれる係数を同一の数で除算し、線形に量子化することができる。したがって、線形量子化による画質制御は、サブバンド単位で可能である（線形量子化による画質制御単位はサブバンドである）。
【００７０】
プリシンクトとは、サブバンドを（ユーザが指定可能なサイズの）矩形に分割した単位（をＨＬ，ＬＨ，ＨＨの３つのサブバンドについて集めたもの。プリシンクトは３つで１まとまりをなす。ただし、ＬＬサブバンドを分割したプリシンクトは１つで１まとまり）で、大まかには画像中の場所（Position）を表す。プリシンクトはサブバンドと同じサイズにできる。プリシンクトをさらに（ユーザが指定可能なサイズの）矩形に分割したものがコードブロックである。
【００７１】
量子化後のサブバンドの係数は、コードブロック単位でビットプレーン符号化される（１つのビットプレーンは３つのサブビットプレーンに分解されて符号化される）。プリシンクトに含まれる全てのコードブロックから、符号の一部を取り出して集めたもの（例えば、全てのコードブロックのＭＳＢから３枚目までのビットプレーンの符号を集めたもの）がパケットである。ここで、符号の“一部”とは“空”でもいいので、パケットの中身が符号的には“空（から）”という場合もある。
【００７２】
全てのプリシンクト（すなわち、全てのコードブロック、全てのサブバンド）のパケットを集めると、画像全域の符号の一部（例えば、画像全域のWavelet係数のＭＳＢから３枚目までのビットプレーンの符号）ができるが、これをレイヤとよぶ。レイヤは、大まかには画像全体のビットプレーンの符号の一部であるから、復号されるレイヤ数が増えれば画質は上がる。レイヤはいわば画質の単位である。
【００７３】
すべてのレイヤを集めると、画像全域の全てのビットプレーンの符号になる。図３は、Wavelet変換の階層数（デコンポジションレベル）＝２、プリシンクトサイズ＝サブバンドサイズとしたときのレイヤ、図４はそれに含まれるパケットの例である。これらの場合は、プリシンクトサイズ＝サブバンドサイズであり、図２でいうプリンシンクトの大きさと同じ大きさのコードブロックを採用しているため、デコンポジションレベル２のサブバンドは４個のコードブロックに、デコンポジションレベル１のサブバンドは９個のコードブロックに分割されている。パケットは、プリシンクトを単位とするものであるから、プリシンクト＝サブバンドとした場合、ＨＬ〜ＨＨサブバンドを跨いだものとなる。図４中、いくつかのパケットを太線で囲んで示している。
【００７４】
ここで、パケットは「コードブロックの符号の一部を取り出して集めたもの」であり、不要な符号は、パケットとして生成する必要はない。例えば、図３のレイヤＮｏ．９に含まれるような下位ビットプレーンの符号は、破棄するのが通常である。
【００７５】
したがって、符号破棄による画質制御は、コードブロック単位（かつサブビットプレーン単位）で可能である（符号破棄による画質制御単位はコードブロックである）。なお、パケットの並びをプログレッション順序と呼ぶ。
【００７６】
［発明の実施の形態］
本発明の一実施の形態について説明する。
【００７７】
図５は、本発明の実施の形態である画像圧縮符号化装置１の電気的な接続のブロック図である。画像圧縮符号化装置１は、図５に示すように、各種演算を行ない、画像符号化装置１の各部を集中的に制御するＣＰＵ１１と、各種のＲＯＭ、ＲＡＭからなるメモリ１２とが、バス１３で接続されている。
【００７８】
バス１３には、所定のインターフェースを介して、ハードディスクなどの磁気記憶装置１４と、キーボード、マウスなどの入力装置１５と、表示装置１６と、光ディスクなどの記憶媒体１７を読み取る記憶媒体読取装置１８とが接続され、また、ネットワーク２と通信を行なう所定の通信インターフェース１９が接続されている。なお、記憶媒体１７としては、ＣＤ，ＤＶＤなどの光ディスク、光磁気ディスク、フレキシブルディスクなどの各種メディアを用いることができる。また、記憶媒体読取装置１８は、具体的には記憶媒体１７の種類に応じて光ディスク装置、光磁気ディスク装置、フレキシブルディスク装置などが用いられる。
【００７９】
画像圧縮符号化装置１は、この発明の記憶媒体を実施する記憶媒体１７から、この発明のプログラムを実施するプログラム２０を読み取って、磁気記憶装置１４にインストールする。これらのプログラムはインターネットなどのネットワーク２等を介してダウンロードしてインストールするようにしてもよい。このインストールにより、画像符号化装置１は、後述の所定の処理の実行が可能な状態となる。なお、プログラム２０は、所定のＯＳ上で動作するものであってもよい。
【００８０】
図６は、プログラム２０に基づいて実現される画像圧縮符号化装置１の機能ブロック図である。図６に示すように、色空間変換部２１は、画像データの色空間をＲＧＢからＹＵＶまたはＹｃｂＣｒに変換し、２次元Wavelet変換部２２は、周波数変換手段、周波数変換処理を実現するもので、色変換後の画像データを色成分ごとに２次元Wavelet変換する。量子化部２３では、この変換後のWavelet係数をサブバンド毎に適当な量子化分母で除算し、ビットプレーン符号化部２４は、ビットプレーン符号化手段、ビットプレーン符号化処理を実現するもので、符号破棄前の符号を作成し、ポスト量子化部２５は、符号破棄手段、符号破棄処理を実現するもので、ビットトランケーション（符号の破棄）と符号量の微調整をおこない、算術符号化部２６は、JPEG2000の符号フォーマットの符号を形成する。
【００８１】
図７は、ポスト量子化部２５の機能ブロック図である。図７に示すように、量子化テーブル決定部３１は、与えられる符号の符号量に応じて所定のテーブル（量子化テーブル）を選択する。符号破棄部３２は、第１の手段、第１の処理を実現するもので、選択した量子化テーブルにしたがって、符号破棄前の符号から所定の符号量になるまで符号を破棄する。符号を破棄しすぎた場合は、第２の手段、第２の処理を実現する符号量微調整部３３で符号量の微調整を行う。
【００８２】
図８は、符号破棄部３２が実行する処理のフローチャートである。図９は、量子化テーブルの一構成例を示す説明図である。図９の量子化テーブルには、qindex毎に、コンポーネントのサブバンドにおける符号破棄ビットプレーン数を記述してある。qindexは、破棄するビットプレーン数の総数を表す。まず、ビットを破棄しない“qindex＝０”からスタートし、符号破棄前の符号量をＢとする（ステップＳ１）。対象となる符号の符号量Ａと符号量Ｂとを比較して（ステップＳ２）、符号量Ｂの方が大きければ（ステップＳ２のＡ＜Ｂ）、qindexを１だけインクリメントする（ステップＳ３）。そして、qindexをインクリメントしたことによって増えたサブバンドのビットプレーンを１枚破棄する（ステップＳ４）。対象となる符号の符号量Ａと符号量Ｂとを比較して、“Ａ＝Ｂ”ならば（ステップＳ２のＡ≧Ｂ，Ｓ５のＹ）、符号量の微調整をせずに符号破棄部３２での処理を終了する。“Ａ＞Ｂ”ならば（ステップＳ２のＡ≧Ｂ，Ｓ５のＮ）、符号量の微調整（後述する）を行い（ステップＳ６）、符号破棄部３２での処理を終了する。
【００８３】
図９に示す量子化テーブルにおいて、qindexは、破棄するビットプレーンの総数、Ｃ０，Ｃ１，Ｃ２は色成分を意味する。本例は３階層の例なので、色成分毎に１０個のサブバンドがある。色成分は３つなので、本例では、一つのqindexに対し、サブバンドは３０個ある。qindexが大きくなる毎に破棄するビットプレーンの数は一つずつ増える。サブバンドを削る順番は画像劣化が最小となる削り方ならばいかなる順番でもよい。例えば、qindexが１３７から１３８にインクリメントされたとき、インクリメントされたサブバンドは２ＬＨ(Ｃ０)なので、qindexが１３８となったときにはＣ０分の２ＬＨのビットプレーンを１枚削る。
【００８４】
図１０に量子化テーブルとトランケート数の関係を示す。図１０（ａ）はトランケート前の符号の例である。本例では色成分が３種類あり、図１０（ａ）は、その中の一つ（Ｃ０）を示している。また、本例では、階層数は３である。図１０（ａ）に示すように、ここでは縦横方向に、３ＬＬ，３ＨＬ，３ＬＨ，３ＨＨ，２ＨＬ，２ＬＨ，２ＨＨ，１ＨＬ，１ＬＨ，１ＨＨの１０種類のサブバンドに分かれ、深さ方向に８つのビットプレーンで構成されている符号を表している。本例では、深さ方向はビットプレーンに分けているが、一つのビットプレーンをさらに３つのサブビットプレーンに分ける構成にしてもよい。
【００８５】
図１０（ｂ）は量子化テーブルの一例である。各コンポーネント（色成分）、サブバンド毎に、破棄するビットプレーンの数が記述してある。
【００８６】
図１０（ｃ）は、図１０（ｂ）の量子化テーブルを用いた、トランケーション（ビットプレーンの破棄）の一例である。これもコンポーネントはＣ０の例である。３ＬＬ係数は、Ｃ０成分では１という値を示しているので、８枚のビットプレーンのうち１枚を破棄する。１ＨＨ係数は、Ｃ０成分では７という値を示しているので、８枚のビットプレーンのうち７枚を破棄する（破棄するビットプレーンが網線で示されている）。
【００８７】
このようにして、すべてのサブバンドについて、量子化テーブルの値によりトランケートした後の符号が図１０（ｄ）である。同図においては、破棄されたビットプレーンが網線で示されている。
【００８８】
図１１は、符号量微調整部３３が実行する処理のフローチャートである。まず、変数ｉにqindexの値を入れる（ステップＳ１１）。そして、変数ｉが“qindex−１”からqindexに移ったときに破棄されたサブバンドＳｂを検出する（ステップＳ１２）。次に、そのサブバンドＳｂにおいて破棄されたビットプレーンをコードブロック１個分戻す（微調整）（ステップＳ１３）。これを、指定された符号量Ａが微調整後の符号量Ｂよりも大きい間繰り返す（ステップＳ１４のＡ＞Ｂ）。そして、微調整後の符号量Ｂが指定された符号量Ａと同じになったら（ステップＳ１４のＡ≦Ｂ，Ｓ１５のＹ）、微調整を終了する。微調整後の符号量Ｂが指定された符号量Ａより大きくなったら（ステップＳ１４のＡ≦Ｂ，Ｓ１５のＮ）、大きくなった時点のコードブロックを一枚破棄し（ステップＳ１６）、微調整を終了する。
【００８９】
図１２は、コードブロック単位の符号量の微調整方式の一例の説明図である。この例では、qindexが１３７から１３８に変わったときに指定された符号量Ａよりも符号破棄後の符号量Ｂが小さくなったものとする。このとき、インクリメントされたサブバンドはＣ０成分の２ＬＨの下から５枚目のビットプレーンなので（図１２（ａ）（ｂ））、該ビットプレーンをコードブロック単位で戻していく（図１２（ｃ））。本例では、ラスター順に破棄を取り消す。この例では該サブバンドのコードブロックの数は４個なので、微調整は１〜３枚戻す間に指定された符号量Ａより小さくＡに最も近い微調整後の符号量Ｂがある。ＢがＡに最も近くなった時点で、戻す操作を終了する。
【００９０】
図１３は、コードブロック単位の符号量の微調整方式の他の一例の説明である。この例では、qindexが１３８から１３９に変わったときに指定された符号量Ａよりも符号破棄後の符号量Ｂが小さくなったものとする。このとき、インクリメントされたサブバンドはＣ０成分の１ＬＨの下から７枚目のビットプレーンなので（図１３（ａ）（ｂ））、該ビットプレーンをコードブロック単位で戻していく（図１３（ｃ））。本例では、中央のコードブロックから外側のコードブロックの順番に破棄を取り消す。この例では該サブバンドのコードブロックの数は１６個なので、微調整は１〜１５枚戻す間に指定された符号量Ａより小さくＡに最も近い微調整後の符号量Ｂがある。ＢがＡに最も近くなった時点で、戻す操作を終了する。
【００９１】
なお、破棄を取り消す順番は、図１２の例や図１３の例以外にも、視覚特性が最適になる方法で破棄を取り消してもよい。例えば、該ビットプレーンのコードブロックの中で符号量が大きなコードブロックから破棄を取り消す方法である。また、例えばdistortionをΔＤで圧縮率変動をΔＲとしたとき、“ΔＤ／ΔＲ”の大きいコードブロックから破棄を取り消すという方法でも良い。
【図面の簡単な説明】
【００９２】
【図１】JPEG2000における量子化、符号破棄および画質制御についての処理の説明図である。
【図２】画像、タイル、サブバンド、プリシンクト、コードブロックの関係を示す説明図である。
【図３】Wavelet変換の階層数が２として、プリシンクトサイズをサブバンドサイズとしたときのレイヤの例の説明図である。
【図４】図３のレイヤに含まれるパケットの例の説明図である。
【図５】画像符号化装置の電気的な接続のブロック図である。
【図６】画像圧縮符号化装置の機能ブロック図である。
【図７】ポスト量子化部の機能ブロック図である。
【図８】符号破棄部が実行する処理のフローチャートである。
【図９】量子化テーブルの一例を示す説明図である。
【図１０】量子化テーブルとトランケート数の関係を示す説明図である。
【図１１】符号量微調整部が実行する処理のフローチャートである。
【図１２】コードブロック単位の符号量の微調整方式の一例の説明図である。
【図１３】コードブロック単位の符号量の微調整方式の外の例の説明図である。
【符号の説明】
【００９３】
２２  周波数変換手段
２３  量子化手段
２４  ビットプレーン符号化手段
２５  符号破棄手段
３２  第１の手段
３３  第２の手段
【図１】
2005039793.tif 000003
【図２】
2005039793.tif 000004
【図３】
2005039793.tif 000005
【図４】
2005039793.tif 000006
【図５】
2005039793.tif 000007
【図６】
2005039793.tif 000008
【図７】
2005039793.tif 000009
【図８】
2005039793.tif 000010
【図９】
2005039793.tif 000011
【図１０】
2005039793.tif 000012
【図１１】
2005039793.tif 000013
【図１２】
2005039793.tif 000014
【図１３】
2005039793.tif 000015