JP4105577B2 - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP4105577B2 JP4105577B2 JP2003090825A JP2003090825A JP4105577B2 JP 4105577 B2 JP4105577 B2 JP 4105577B2 JP 2003090825 A JP2003090825 A JP 2003090825A JP 2003090825 A JP2003090825 A JP 2003090825A JP 4105577 B2 JP4105577 B2 JP 4105577B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- zero
- data
- tag information
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
- H04N19/645—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
Description
【発明の属する技術分野】
本発明は、画像データの符号化及び復号化を行う画像処理装置、特に、JPEG2000に準拠した画像処理装置に関する。
【0002】
【従来の技術】
近年、高精細画像を取り扱うのに適した符号化方法としてJEPG2000が知られている。JPEG2000の符号化処理では、画像データをY、Cb、Crの各色成分のデータに変換した後、それぞれのデータに対して周波数解析として2次元離散ウェーブレット変換を行う。ウェーブレット変換により得られたウェーブレット係数のデータを、サブバンドを処理単位としてビットプレーンに分割し、サブバンド毎に各ビットプレーンのデータを上位から順に3通りの方法によりスキャンして算術符号化を行う。
【0003】
上記算術符号化により生成される符号データから、コードブロック単位で有意データの有無を表すインクルージョン情報、コードブロックの上位に位置する全ビットが0であるビットプレーン(以下、ZEROビットプレーンという)の数、コーディングパス数、符号のバイト数を調べ、パケットヘッダを生成する。各サブバンド毎に上記パケットヘッダ及び符号データを並べて符号列を形成し、これを画像データを符号化して得られる符号列のデータとして出力する。なお、JPEG2000の符号化処理については、以下の非特許文献1に詳しく説明されている。
【0004】
【非特許文献1】
「静止画像符号化の新国際標準方式(JPEG200)の概要」、映像情報メディア学会誌2000年、Vol.54、No.2、pp164−171
【0005】
JPEG2000の標準では、上記コードブロック毎に求めるインクルージョンの有無についての情報を表す方法としてTAGという概念を採用している。これは、サブバンド内のコードブロックを2×2個を1組とし、4個全てのコードブロック全てに有意データが無い時に、その組のコードブロックのTAGを0とし、4個のコードブロックの内1つでも有意データを持つ場合には1にする。今度は、上記値を特定したTAGを2×2個を1組とし、4つの全てのTAGが0の場合、1つ上位のTAGを0とし、4つのTAGの内、1つでも1のTAGがある場合には1つ上位のTAGを1とする。以下同様にして、順に上位のTAGの値を求め、最終的には最上位の1つのTAGの値を特定してTAG情報の解析を終了する。
【0006】
上記手法により求めたTAG情報に基づけば、最上位のTAGから下位側を見た場合に最初にTAG情報の値が0になっている階層より下位に位置するコードブロックは全て有意データを持たないと判断できる。例えば、復号化処理の1つとして、各サブバンドのコードブロックのパケットヘッダ及び符号データを所定の順序で並べて成る符号列から復号用の符号データの抽出を行う際、TAG情報の値が0になっている階層よりも下位に位置するコードブロックについては、パケットヘッダ内のインクルージョンの有無の情報を参照することなく、符号データを特定することができ、無駄なアクセスを省くことができる。
【0007】
また、JPEG2000の標準では、上記コードブロックのインクルージョンの有無の情報の他、ZEROビットプレーン数の情報を表す方法としてZERO−TAGという概念を採用している。これは、サブバンド内のコードブロックを2×2個を1組として分割し、各組のZEROビットプレーン数の最小値をその組のZERO−TAGの値とし、各コードブロックのZEROビットプレーンの値を当該値から上記求めた最小値のTAGを差し引いた値に更新する。更に、隣り合う別のコードブロックについて求めた2×2の上記ZERO−TAGの最小値を1つ上位のZERO−TAGの値とし、各ZERO−TAGの値を当該値から1つ上位のZERO−TAGの値を差し引いた値に更新する。以下同様に、順に上位のZERO−TAGの値を求め、最終的には最上位の1つのZERO−TAGの値を特定してZERO−TAG情報の解析を終了する。
【0008】
このようにして求めたZERO−TAGの情報を利用すれば、ZEROビットプレーン数の桁をより低い値に置きかえることができ、符号列のデータ量を低減することができる。
【0009】
【発明が解決しようとする課題】
従来、上記情報の生成処理は、ソフトウェア処理により実現されており、上記生成したTAG情報及びZERO−TAG情報を記憶するメモリの他に、演算処理装置であるCPU、処理プログラムを格納するメモリ、及び、演算処理などの作業用のメモリを必要としていた。上記インクルージョンの有無やZEROビットプレーン数の情報に基づいて最上位のTAG情報及びZERO−TAG情報を生成するには、全てのサブバンド(各レベル全てのサブバンド)の各コードブロックのインクルージョンの情報及びZEROビットプレーン数の情報を一時的に記憶しておくことが必要である。このためサイズの大ききな作業用のメモリを用意することが必要があった。
【0010】
本発明は、従来ソフトウェアにて実現されていたパケットヘッダのインクルージョン情報及びZEROビットプレーン数の情報のTAG情報生成部をハードウェアにて実現したものであって、データの入力に応じて直ちに結果を出力することによりリアルタイム処理が可能で、小型のTAG情報解析回路及びZERO−TAG情報解析回路を備えた画像処理装置を提供することを目的とする。
【0011】
【課題を解決するための手段】
請求項1に記載の画像処理装置は、JPEG2000に準拠してレベル1以上のウェーブレット変換を行って画像データから符号列を形成する符号化処理を実行する画像処理装置であって、TAG情報生成部を含んでおり、上記TAG情報生成部が、各サブバンドを予め定めた画素マトリクスで分割したコードブロックを処理単位とし、下層に位置するコードブロックに有意データを含むか否かを表すTAG情報を、上記符号列を形成するのに用いるパケットヘッダ用に生成するものであって、インクルージョン情報抽出部(6)と、TAG情報解析回路(7)と、を含んでおり、上記インクルージョン情報抽出部が、コードブロック毎に有意データを有しているときに1、有していないときに0の値のインクルージョン情報Iを高レベルのサブバンドからレベル1の各サブバンドに含まれるコードブロックの順に出力するものであり、上記TAG情報解析回路が、第1シフトレジスタ(50)と、切換回路と、論理回路と、第1データD生成部(92)と、を含んでおり、上記第1シフトレジスタが、インクルージョン情報抽出部からシリアル入力される、レベル1のサブバンド内に含まれる数分のコードブロックのインクルージョン情報Iを記録するものであり、上記切換回路が、レベル2以上のサブバンドに含まれる全コードブロックのインクルージョン情報I、レベル1の1HLのサブバンドに含まれる全コードブロックのインクルージョン情報I、レベル1の1LHのサブバンドに含まれる全コードブロックのインクルージョン情報I、レベル1の1HHのサブバンドに含まれる全コードブロックのインクルージョン情報Iの各々が第1シフトレジスタに入力完了する毎に、上記第1シフトレジスタが記録しているデータを論理回路にパラレル出力させるものであり、上記論理回路が、第1シフトレジスタからパラレル出力される各コードブロックのインクルージョン情報Iが順に入力される複数の4入力1出力ORゲートを有しており、該ORゲートが、近傍の2×2個のコードブロックについてのTAG情報を求め、求めたTAG情報を第1データD生成部に出力するようになっており、上記第1データD生成部が、論理回路が有している複数のORゲートからパラレル出力されるTAG情報を、シリアルデータに並べ直して出力するものである、ことを特徴とする。
【0012】
請求項2に記載の画像処理装置は、請求項1に記載の画像処理装置であって、上記論理回路が有している複数の4入力1出力ORゲートが、求めたTAG情報が同層上で1つになるまで、求めた2×2個のTAG情報に基づいて更に上層のTAG情報を求め、求めたTAG情報を出力するように構成されている、ことを特徴とする。
【0013】
請求項3に記載の画像処理装置は、請求項1又は請求項2に記載の画像処理装置であって、更に、ZERO - TAG情報生成部を含んでおり、上記ZERO - TAG情報生成部が、コードブロックの符号データに関し、上位に位置する全てのビットデータが0であるZEROビットプレーン数の情報であって、2×2個のコードブロックのZEROビットプレーン数の最小値と、該2×2個の各コードブロックのZEROビットプレーン数と前記最小値との差分値と、で成るZERO - TAG情報を、上記符号列を形成するのに用いるパケットヘッダ用に生成するものであって、ZERO - ビットプレーン数情報抽出部(9)と、ZERO - TAG情報解析回路(10)と、を含んでおり、上記ZEROビットプレーン数情報抽出部が、コードブロック毎に上位に位置する全てのビットデータが0であるZEROビットプレーン数の情報を高レベルのサブバンドからレベル1の各サブバンドに含まれるコードブロックの順に出力するものであり、上記ZERO - TAG情報解析回路が、第2シフトレジスタ(50)と、切換回路と、演算部と、第2データD生成部(92)と、を含んでおり、上記第2シフトレジスタが、レベル1のサブバンド内に含まれるコードブロックの数分のZEROビットプレーン数の情報を入力順に記録するものであり、上記切換回路が、レベル2以上のサブバンドに含まれる全コードブロックのZEROビットプレーン数の情報、レベル1の1HLのサブバンドに含まれる全コードブロックのZEROビットプレーン数の情報、レベル1の1LHのサブバンドに含まれる全コードブロックのZEROビットプレーン数の情報、レベル1の1HHのサブバンドに含まれる全コードブロックのZEROビットプレーン数の情報の各々が第2シフトレジスタに入力完了する毎に、上記第2シフトレジスタが記録しているデータを演算部にパラレル出力させるものであり、上記演算部が、第2シフトレジスタからパラレル出力される各コードブロックのZEROビットプレーン数の情報が順に入力される複数の4入力1出力の演算回路を有しており、該演算回路が、近傍の2×2個のコードブロックについてのZERO - TAG情報を求め、求めたZERO - TAG情報を第2データD生成部に出力するものであり、上記第2データD生成部が、演算部が有している複数の演算回路からパラレル出力されるZERO - TAG情報を、シリアルデータに並べ直して出力するものである、ことを特徴とする。
【0014】
請求項4に記載の画像処理装置は、請求項3に記載の画像処理装置であって、上記演算部が有している複数の演算回路が、求めたZERO - TAG情報が同層上で1つになるまで、求めた2×2個のZERO - TAG情報にそれぞれ含まれているZEROビットプレーン数の情報の最小値に基づいて更に上層のZERO - TAG情報を求めるように構成されている、ことを特徴とする。
【0017】
【発明の実施の形態】
(1)全体構成
以下、添付の図面を用いて実施の形態に係る画像処理装置について説明する。
図1(a)は、実施の形態に係る画像処理装置の符号化処理を行う各処理部のブロック図を示し、図1(b)は、復号化処理を行う各処理部のブロック図を示す。図1(a)に示すように、実施の形態に係る画像処理装置では、JPEG2000に準拠した手順で符号化処理を行う。まず、色変換部1で画像データをY、Cb、Crの各色成分のデータに変換した後、ウェーブレット変換部2において、各色成分のデータに対して周波数解析として2次元離散ウェーブレット変換を行う。算術符号化部3は、ウェーブレット変換により得られたウェーブレット係数のデータ(例えば16ビットデータ)を、サブバンド(たとえば、レベル5のウェーブレット変換の場合、5LL、5HL、5LH、5HH、4HL、4LH、4HH、3HL、3LH、3HH、2HL、2LH、2HH、lHL、1LH、1HH)を処理単位としてビットプレーンに分割し、サブバンド毎に各ビットプレーンのデータを上位から順に3通りの方法によりスキャンして算術符号化を行う。上記3通りの方法は、“significant propagation pass”、“magnitude refinement pass”、“cleanup pass”と呼ばれている。
【0018】
レート制御部4では、上記算術符号化により各コードブロック毎に得られるコーディングパスの符号データの内、算術符号化前のウェーブレット係数の下位ビットプレーンに対応する符号データから順に削除(符号データを破棄すること)し、符号量を削減する。レート制御後の符号データは、パケットヘッダ生成部5、インクルージョン情報抽出部6、及び、ZEROビットプレーン数情報抽出部9にそれぞれ出力される。
【0019】
インクルージョン情報抽出部6では、各コードブロックの有意データの有無を調べ、有意データがある場合には1を、無い場合には0をインクルージョン情報Iとして次段のTAG情報解析回路7に出力する。後に詳しく説明するが、TAG情報解析回路7は、全レベルのサブバンドのコードブロックよりも少ない数のコードブロックを単位として、所定の順序でコードブロックのインクルージョン情報を受け付け、直ちに対応するTAG情報を生成し、SRAM8に出力する。
【0020】
ZEROビットプレーン数情報抽出部9は、レート制御後の符号データからコードブロックの上位に位置する全ビットが0であるビットプレーンの数(以下、ZEROビットプレーン数という)を抽出し、ZERO−TAG情報解析回路10に出力する。後に詳しく説明するが、ZERO−TAG情報解析回路10は、全レベルのサブバンドのコードブロックよりも少ない数のコードブロックを単位として、所定の順序でコードブロックのZEROビットプレーン数のデータを受け付け、直ちに対応するZERO−TAG情報を生成し、SRAM8に出力する。
【0021】
パケットヘッダ生成部5は、JPEG2000の標準に従い、SRAM8からTAG情報及びZERO−TAG情報を読み出し、パケットヘッダを生成し、レート制御部4から出力される符号データを所定の順序で並べ、符号列を形成し、これを出力する。
【0022】
図1(b)に示すように、実施の形態に係る画像処理装置では、JPEG2000に準拠した手順で復号化処理を行う。復号化するデータは、JPEG2000に準拠して生成された符号列のデータであり、サブバンド毎にコードブロックのパケットヘッダ及び符号データが並べられたデータである。当該符号列のデータは、まず、パケットヘッダ解析部20においてパケットヘッダの部分が抽出される。抽出されたパケットヘッダのデータは、インクルージョン情報抽出部23及びZEROビットプレーン数情報抽出部26に出力される。
【0023】
インクルージョン情報抽出部23では、コードブロック毎に有意データの有無を調べ、有意データがある場合には1を、無い場合には0をインクルージョン情報として次段のTAG情報解析回路24に出力する。後に詳しく説明するが、TAG情報解析回路24は、処理単位であるサブバンドのインクルージョン情報の入力に対して直ちに対応するTAG情報をSRAM25に出力する。
【0024】
ZEROビットプレーン数情報抽出部26は、パケットヘッダのデータからZEROビットプレーン数を抽出し、ZERO−TAG情報解析回路27に出力する。後に詳しく説明するが、ZERO−TAG情報解析回路27は、処理単位であるサブバンドのZEROビットプレーン数の入力に応じて直ちに対応するZERO−TAG情報をSRAM25に出力する。
【0025】
符号データ抽出部21は、JPEG2000の標準に従い、SRAM25からTAG情報及びZERO−TAG情報を読み出し、当該情報に基づいて、パケットヘッダ解析部20を介して入力される符号列のデータより符号データを抽出し、復号部22に出力する。復号部22は、JPEG2000に準拠する復号化処理を行い、復号後の画像データを出力する。
【0026】
(2)TAG情報解析回路
以下、TAG情報解析回路7及び24の構成及び動作について説明する。TAG情報解析回路7及び24は同じ構成であるため、TAG情報解析回路7について説明する。
【0027】
図2は、画像データに対してレベル5の2次元離散ウェーブレット変換を行った場合に得られる各サブバンドに対応するTAG情報を示す図である。本図において、各コードブロックには、算術符号化処理及びレート制御処理の施される順に0〜258の番号を付して示す。以下の説明では、当該番号を用いて各コードブロックを特定する。
【0028】
図2には、更に、2×2個のコードブロックを単位として求められる最下位のTAG情報であるT1〜T16、上記T1〜T16のTAGを2×2個を1組として求めた最下位より1つ上のTAG情報であるT17〜T20、T17〜T20のTAGを1組として求めた最上位のTAG情報であるT21を示してある。但し、レベル5及びレベル4の各サブバンドについては、コードブロックのサイズ以下であるため、TAG情報は求めない。このため、最上位のTAG情報であるT21は、レベル1の各サブバンド(1HL、1LH、1HH)についてのみ求める。
【0029】
図3は、TAG情報解析回路7の構成を示す図である。TAG情報解析回路7は、レベル2及びレベル3の全サブバンドのコードブロックのインクルージョン情報、レベル1の1HLのサブバンドの全コードブロックのインクルージョン情報、1LHのサブバンドの全コードブロックのインクルージョン情報、並びに、1HHのサブバンドの全コードブロックのインクルージョン情報を、所定の順序で入力することにより、直ちに対応するTAG情報を生成し、SRAM8に出力する。
【0030】
より具体的には、当該TAG情報解析回路7は、各サブバンドのTAG情報を4回に分けて求め、求めた4つのデータD1〜D4(図2を参照)のTAG情報(32ビットデータ)をSRAM8に逐次格納する。これにより、ソフトウェア処理により実現していた時に要していたサイズの大きな作業用のメモリ自体を不用にする。ここで、データD1は、レベル3のサブバンド3HL、3LH、3HHについてのTAG情報T2、T3、T4を求めると共に、レベル2のサブバンド2HL、2LH、2HHについて各4つ求めるTAG情報T5〜T16、及び上位のTAG情報T18、T19及びT20で成る。レベル5及びレベル4のサブバンドはコードブロック1個のサイズに満たないためTAG情報は求めない。データD2〜D4は、レベル1のサブバンド1HL、1LH、1HHについてのTAG情報T1〜T16、T17〜T20及びT21で構成される。
【0031】
シフトレジスタ50には、インクルージョン情報抽出部6より出力されるインクルージョン情報I(コードブロック毎のインクルージョンの有/無を1/0で表す1ビットデータ)が連続して入力される。シフトレジスタ50は、後に説明する比較器52より出力されるHighレベルのイネーブル信号の入力に応じてインクルージョン情報Iの入力を受付け、入力されるインクルージョン情報Iを順にシフトしながら内部のレジスタに格納する。シフトレジスタ50は、最大64個のコードブロックのインクルージョン情報Iを記憶し、各コードブロックのインクルージョン情報Iのデータを次段の接続回路100にパラレル出力する。
【0032】
接続回路100は、比較器56より入力される切換信号の値(High/Low)に応じて、パラレルに入力される各コードブロックのインクルージョン情報IのORゲート71〜86への接続内容(レベル1のサブバンド用接続/レベル2〜5のサブバンド用の接続)を切換える。なお、接続回路100内部において当該接続内容の切換は、切換信号に応じて動作するセレクタを用いて行う。
【0033】
以下、接続回路100における接続内容についてデータD1〜D4書き込み時に分けて説明する。
(a)データD1書き込み時
シフトレジスタ50に7番〜66番のコードブロックのインクルージョン情報Iが入力されている間、接続回路100に入力される切換信号は“Low”レベルであり、接続回路100は、接続内容をレベル2〜5のサブバンド用に切り換える。シフトレジスタ50に7番〜66番のコードブロックのインクルージョン情報Iの入力が完了した時、接続回路100は、各コードブロックのインクルージョン情報Iを、以下の通りORゲート71〜86に出力する。
【0034】
この場合において、ORゲート71の各信号入力端子に入力されるデータは無い。ORゲート72の各信号入力端子には、順に7番〜10番のコードブロックのインクルージョン情報Iが入力される。ORゲート73の各信号入力端子には、順に11番〜14番のコードブロックのインクルージョン情報Iが入力される。ORゲート74の各信号入力端子には、順に15番〜18番のコードブロックのインクルージョン情報Iが入力される。ORゲート75の各信号入力端子には、順に19番、20番、23番、24番のコードブロックのインクルージョン情報Iが入力される。ORゲート76の各信号入力端子には、順に21番、22番、25番、26番のコードブロックのインクルージョン情報Iが入力される。ORゲート77の各信号入力端子には、順に27番、28番、31番、32番のコードブロックのインクルージョン情報Iが入力される。ORゲート78の各信号入力端子には、順に29番、30番、33番、34番のコードブロックのインクルージョン情報Iが入力される。ORゲート79の各信号入力端子には、順に35番、36番、39番、40番のコードブロックのインクルージョン情報Iが入力される。ORゲート80の各信号入力端子には、順に37番、38番、41番、42番のコードブロックのインクルージョン情報Iが入力される。ORゲート81の各信号入力端子には、順に43番、44番、47番、48番のコードブロックのインクルージョン情報Iが入力される。ORゲート82の各信号入力端子には、順に45番、46番、49番、50番のコードブロックのインクルージョン情報Iが入力される。ORゲート83の各信号入力端子には、順に51番、52番、55番、56番のコードブロックのインクルージョン情報Iが入力される。ORゲート84の各信号入力端子には、順に53番、54番、57番、58番のコードブロックのインクルージョン情報Iが入力される。ORゲート85の各信号入力端子には、順に59番、60番、63番、64番のコードブロックのインクルージョン情報Iが入力される。ORゲート86の各信号入力端子には、順に61番、62番、65番、66番のコードブロックのインクルージョン情報Iが入力される。
【0035】
(b)データD2書き込み時
シフトレジスタ50に67番のコードブロックのインクルージョン情報Iが入力された時点で、接続回路100に比較器56から入力される切換信号はHighレベルに切り換る。これ以降、接続回路100は、接続内容をレベル1のサブバンド(1HL、1LH、1HH)用に切り換える。シフトレジスタ50に67番〜130番のコードブロックのインクルージョン情報Iの入力が完了した時、接続回路100は、各コードブロックのインクルージョン情報Iを、以下の通り、ORゲート71〜86に出力する。
【0036】
ORゲート71の各信号入力端子には、順に67番、68番、75番、76番のコードブロックのインクルージョン情報Iが入力される。ORゲート72の各信号入力端子には、順に69番、70番、77番、78番のコードブロックのインクルージョン情報Iが入力される。ORゲート73の各信号入力端子には、順に83番、84番、91番、92番のコードブロックのインクルージョン情報Iが入力される。ORゲート74の各信号入力端子には、順に85番、86番、93番、94番のコードブロックのインクルージョン情報Iが入力される。ORゲート75の各信号入力端子には、順に71番、72番、79番、80番のコードブロックのインクルージョン情報Iが入力される。ORゲート76の各信号入力端子には、順に73番、74番、81番、82番のコードブロックのインクルージョン情報Iが入力される。ORゲート77の各信号入力端子には、順に87番、88番、95番、96番のコードブロックのインクルージョン情報Iが入力される。ORゲート78の各信号入力端子には、順に89番、90番、97番、98番のコードブロックのインクルージョン情報Iが入力される。ORゲート79の各信号入力端子には、順に99番、100番、107番、108番のコードブロックのインクルージョン情報Iが入力される。ORゲート80の各信号入力端子には、順に101番、102番、109番、110番のコードブロックのインクルージョン情報Iが入力される。ORゲート81の各信号入力端子には、順に115番、116番、123番、124番のコードブロックのインクルージョン情報Iが入力される。ORゲート82の各信号入力端子には、順に117番、118番、125番、126番のコードブロックのインクルージョン情報Iが入力される。ORゲート83の各信号入力端子には、順に103番、104番、111番、112番のコードブロックのインクルージョン情報Iが入力される。ORゲート84の各信号入力端子には、順に、105番、106番、113番、114番のコードブロックのインクルージョン情報Iが入力される。ORゲート85の各信号入力端子には、順に119番、120番、127番、128番のコードブロックのインクルージョン情報Iが入力される。ORゲート86の各信号入力端子には、順に121番、122番、129番、130番のコードブロックのインクルージョン情報Iが入力される。
【0037】
(c)データD3書き込み時
シフトレジスタ50への131番〜194番のコードブロックのインクルージョン情報Iの入力が完了した時、上記データD3の生成及び出力が行われる。この時、接続回路100は、シフトレジスタ50からパラレルに出力される各コードブロックのインクルージョン情報Iを、以下の通り、ORゲート71〜86に出力する。
【0038】
ORゲート71の各信号入力端子には、順に131番、132番、139番、140番のコードブロックのインクルージョン情報Iが入力される。ORゲート72の各信号入力端子には、順に133番、134番、141番、142番のコードブロックのインクルージョン情報Iが入力される。ORゲート73の各信号入力端子には、順に147番、148番、155番、156番のコードブロックのインクルージョン情報Iが入力される。ORゲート74の各信号入力端子には、順に149番、150番、157番、158番のコードブロックのインクルージョン情報Iが入力される。ORゲート75の各信号入力端子には、順に135番、136番、143番、144番のコードブロックのインクルージョン情報Iが入力される。ORゲート76の各信号入力端子には、順に137番、138番、145番、146番のコードブロックのインクルージョン情報Iが入力される。ORゲート77の各信号入力端子には、順に151番、152番、159番、160番のコードブロックのインクルージョン情報Iが入力される。ORゲート78の各信号入力端子には、順に153番、154番、161番、162番のコードブロックのインクルージョン情報Iが入力される。ORゲート79の各信号入力端子には、順に163番、164番、171番、172番のコードブロックのインクルージョン情報Iが入力される。ORゲート80の各信号入力端子には、順に165番、166番、173番、174番のコードブロックのインクルージョン情報Iが入力される。ORゲート81の各信号入力端子には、順に179番、180番、187番、188番のコードブロックのインクルージョン情報Iが入力される。ORゲート82の各信号入力端子には、順に181番、182番、189番、190番のコードブロックのインクルージョン情報Iが入力される。ORゲート83の各信号入力端子には、順に167番、168番、175番、176番のコードブロックのインクルージョン情報Iが入力される。ORゲート84の各信号入力端子には、順に、169番、170番、177番、178番のコードブロックのインクルージョン情報Iが入力される。ORゲート85の各信号入力端子には、順に183番、184番、191番、192番のコードブロックのインクルージョン情報Iが入力される。ORゲート86の各信号入力端子には、順に185番、186番、193番、194番のコードブロックのインクルージョン情報Iが入力される。
【0039】
(d)データD4書き込み時
シフトレジスタ50に195番〜258番のコードブロックのインクルージョン情報Iの入力が完了した時、上記データD4の出力が行われる。この時、接続回路100は、シフトレジスタ50からパラレルに出力される各コードブロックのインクルージョン情報Iを、以下の通り、ORゲート71〜86に出力する。
【0040】
ORゲート71の各信号入力端子には、順に195番、196番、203番、204番のコードブロックのインクルージョン情報Iが入力される。ORゲート72の各信号入力端子には、順に197番、198番、205番、206番のコードブロックのインクルージョン情報Iが入力される。ORゲート73の各信号入力端子には、順に211番、212番、219番、220番のコードブロックのインクルージョン情報Iが入力される。ORゲート74の各信号入力端子には、順に213番、214番、221番、222番のコードブロックのインクルージョン情報Iが入力される。ORゲート75の各信号入力端子には、順に199番、200番、207番、208番のコードブロックのインクルージョン情報Iが入力される。ORゲート76の各信号入力端子には、順に201番、202番、209番、210番のコードブロックのインクルージョン情報Iが入力される。ORゲート77の各信号入力端子には、順に215番、216番、223番、224番のコードブロックのインクルージョン情報Iが入力される。ORゲート78の各信号入力端子には、順に217番、218番、225番、226番のコードブロックのインクルージョン情報Iが入力される。ORゲート79の各信号入力端子には、順に227番、228番、235番、236番のコードブロックのインクルージョン情報Iが入力される。ORゲート80の各信号入力端子には、順に229番、230番、237番、238番のコードブロックのインクルージョン情報Iが入力される。ORゲート81の各信号入力端子には、順に243番、244番、251番、252番のコードブロックのインクルージョン情報Iが入力される。ORゲート82の各信号入力端子には、順に245番、246番、253番、254番のコードブロックのインクルージョン情報Iが入力される。ORゲート83の各信号入力端子には、順に231番、232番、239番、240番のコードブロックのインクルージョン情報Iが入力される。ORゲート84の各信号入力端子には、順に、233番、234番、241番、242番のコードブロックのインクルージョン情報Iが入力される。ORゲート85の各信号入力端子には、順に247番、248番、255番、256番のコードブロックのインクルージョン情報Iが入力される。ORゲート86の各信号入力端子には、順に249番、250番、257番及び258番のコードブロックのインクルージョン情報Iが入力される。
【0041】
上述したデータD1〜D4の書き込みに対応して、ORゲート71、72、73及び74の出力は、それぞれデータD生成部92にTAG情報T1〜T4として入力される他、4入力ORゲート87の各信号入力端子に入力される。ORゲート75、76、77及び78の出力は、それぞれデータD生成部92にTAG情報T5〜T8として入力される他、4入力ORゲート88の各信号入力端子に入力される。ORゲート79、80、81及び82の出力は、それぞれデータD生成部92にTAG情報T9〜T12として入力される他、4入力ORゲート89の各信号入力端子に入力される。ORゲート83、84、85及び86の出力は、それぞれデータD生成部92にTAG情報T13〜T16として入力される他、4入力ORゲート90の各信号入力端子に入力される。
【0042】
ORゲート87、88、89及び90の出力は、それぞれデータD生成部92にTAG情報T17〜T20として入力される他、4入力ORゲート91の各信号入力端子に入力される。ORゲート91の出力は、データD生成部92にTAG情報T21として入力される。
【0043】
インクルージョン情報Iは、シフトレジスタ50に入力される他、コードブロックカウンタ51にも入力される。コードブロックカウンタ51は、各1ビットのインクルージョン情報Iの入力に応じてカウントアップを行い、シフトレジスタ50にインクルージョン情報Iの入力されたコードブロック数をカウントする。
【0044】
コードブロックカウンタ51の出力は、比較器52の一方の信号入力端子に入力される。比較器52の残りの信号入力端子にはカウント値6のセットされたレジスタ53が接続されている。比較器52は、コードブロックカウンタ51から入力されるカウント値が7以上になった場合にHighレベルのイネーブル信号をシフトレジスタ50及びアドレス指定回路54のイネーブル端子に入力する。シフトレジスタ50の動作に付いては既述した。アドレス指定回路54は、当該イネーブル信号の入力に応じて始動し、データD1の書き込みアドレス信号をSRAM8に出力する。アドレス指定回路54は、以下に説明するように、ANDゲート58、62、66及び70よりデータD1、D2、D3、D4用のインクルージョン情報Iの書き込み完了毎に出力されるパルス信号をアドレス切換信号として受取り、SRAM8に出力するアドレス信号をデータD2用、データD3用、データD4用、再びデータD1用と順に切り換える。
【0045】
コードブロックカウンタ51の出力は、比較器56、60、64及び68の一方の信号入力端子にも入力される。比較器56の残りの信号入力端子にはカウント値66のセットされたレジスタ55が接続されている。比較器60の残りの信号入力端子にはカウント値130のセットされたレジスタ59が接続されている。比較器64の残りの信号入力端子にはカウント値194のセットされたレジスタ63が接続されている。比較器68の残りの信号入力端子にはカウント値258のセットされたレジスタ67が接続されている。
【0046】
比較器56は、コードブロックカウンタ51から入力されるカウント値が67以上になった場合にHighレベルの信号を出力する。比較器56の出力は、2入力ANDゲート58の一方の信号入力端子にそのままの状態で入力されると共に、3段のインバータを直列に接続して成る遅延回路57を介して上記ANDゲート58の残りの信号入力端子に入力されている。当該ANDゲート58は、Highレベルの信号入力に応じて、アドレス指定回路54のアドレス切換信号入力端子に1回だけパルス信号を出力する。
【0047】
比較器60は、コードブロックカウンタ51から入力されるカウント値が131以上になった場合にHighレベルの信号を出力する。比較器60の出力は、2入力ANDゲート62の一方の信号入力端子にそのままの状態で入力されると共に、3段のインバータを直列に接続して成る遅延回路61を介して上記ANDゲート62の残りの信号入力端子に入力されている。当該ANDゲート62は、Highレベルの信号入力に応じて、アドレス指定回路54のアドレス切換信号入力端子に1回だけパルス信号を出力する。
【0048】
比較器64は、コードブロックカウンタ51から入力されるカウント値が195以上になった場合にHighレベルの信号を出力する。比較器64の出力は、2入力ANDゲート66の一方の信号入力端子にそのままの状態で入力されると共に、3段のインバータを直列に接続して成る遅延回路65を介して上記ANDゲート66の残りの信号入力端子に入力されている。当該ANDゲート66は、Highレベルの信号入力に応じて、アドレス指定回路54のアドレス切換信号入力端子に1回だけパルス信号を出力する。
【0049】
比較器68は、コードブロックカウンタ51から入力されるカウント値が258を越えた場合にHighレベルの信号を出力する。比較器68の出力は、2入力ANDゲート70の一方の信号入力端子にそのままの状態で入力されると共に、3段のインバータを直列に接続して成る遅延回路69を介して上記ANDゲート70の残りの信号入力端子に入力されている。当該ANDゲート70は、Highレベルの信号入力に応じて、アドレス指定回路54のアドレス切換信号入力端子に1回だけパルス信号を出力する。
【0050】
上述するように、ANDゲート58、62、66及び70からは、シフトレジスタ50にインクルージョン情報Iの入力されたコードブロックの数が67個、131個、195個になった時に、パルス信号が出力される。当該パルス信号は上述したようにアドレス指定回路54に出力される他、データD生成部92において生成したデータD1〜D4の出力を要求する信号として入力される。
【0051】
データD生成部92は、各ORゲートより出力されたTAG情報T1〜T21を先頭ビットより並べ、22ビット目からは11ビット分の0データを付加して成る32ビットのデータD1〜D4を生成する。データD生成部92は、上記ANDゲート58、62、66及び70からのパルス信号の入力に応じてデータD1〜D4をSRAM8に出力する。SRAM8は、アドレス指定回路54により指定されるアドレスに、信号生成部92より出力される32ビットのデータD1〜D4を記憶する。
【0052】
図4(a)〜(d)は、JPEG2000の標準に従い、SRAM8に格納されたレベル1のサブバンド1HLについてのTAG情報のデータD2の利用方法を説明するための図である。本図では、TAG情報の値が1の場合に、そのTAGを求めたインクルージョン情報Iを有するコードブロックを斜線を付して表す。図4(a)に示すように、最上位に位置するTAG情報T21が1の場合、当該サブバンドには有効データを有するコードブロックが少なくとも1つあると判断できる。次に、TAG情報T21の下位に位置するT17〜T20の値を調べる。図4(b)に示すように、T17及びT20が1の場合、斜線で示す2つの領域内に有効データを有するコードブロックが存在することがわかる。他方、T18及びT19の領域には、有効データを持つコードブロックが存在しないことがわかる。これにより、更に下位のTAG情報及びパケット情報のインクルージョン情報Iを確認する必要がなくなる。
【0053】
TAG情報T17及びT20の下位に位置するT1〜T4、T13〜T16の値を調べる。図4(c)に示すように、T1、T2、T3、T14及びT15が1の場合、斜線で示す5つの領域内に有効データを有するコードブロックが存在することがわかる。他方、T4、T13及びT16の領域には、有効データを持つコードブロックが存在しないことがわかる。これにより、更に下位のTAG情報及びパケット情報のインクルージョン情報Iを確認する必要がなくなる。
【0054】
ここで初めて、TAG情報T1、T2、T3、T14及びT15の下位に位置する各コードブロックのインクルージョン情報Iを調べる。これにより、67、68,69,70,75,78,83,91,92,105,106,114,119,127及び128のコードブロックに有効なデータが存在することがわかる。従って、符号データの抽出処理において、これらのコードブロックについてのみZEROビットプレーン数のデータ抽出処理を行えばよいことになり、処理データ量の大幅な低減を図ることができる。
【0055】
(6)ZERO−TAG情報解析回路
以下、ZERO−TAG情報解析回路10及び27の構成及び動作について説明する。ZERO−TAG情報解析回路10及び27は同じ構成であるため、以下、ZERO−TAG情報解析回路10について説明する。
【0056】
図5は、ZERO−TAG情報解析回路10の実行する処理内容を説明するための図である。図5(a)に示すように2×2個のコードブロックのZEROビットプレーン数が5、6、4及び8である場合、ZERO−TAG情報Tの値を各ZEROビットプレーン数の最小値4とし、各コードブロックのZEROビットプレーン数を上記最小値4を差し引いた値に更新する。
【0057】
上記解析処理を実行することにより、各コードブロックのZEROビットプレーン数を、実際の処理単位である2進数表示したときの桁数を減少させる。図5で示した例では、3ビット(510=1012)+3ビット(610=1102)+3ビット(410=1002)+4ビット(810=10002)=12ビットから、3ビット(410=1002)のZERO−TAG情報+1ビット(110=12)+2ビット(210=102)+1ビット(010=02)+3ビット(410=1002)=11ビットに減少することができる。実際には同様の処理を2×2個のZERO−TAG情報に施して順に上位のZERO−TAG情報を求めることにより、更にZEROビットプレーン数を表す情報のデータ量削減を行うことができる。
【0058】
図6は、ZERO−TAG情報解析回路10の構成を示す図である。ZERO−TAG情報解析回路10は、レベル2及びレベル3の全サブバンドのコードブロックのZEROビットプレーン数のデータ、レベル1の1HLのサブバンドの全コードブロックのZEROビットプレーン数のデータ、1LHのサブバンドの全コードブロックのZEROビットプレーン数のデータ、並びに、1HHのサブバンドの全コードブロックのZEROビットプレーン数のデータを、所定の順序で入力することにより、直ちに対応するZERO−TAG情報を生成し、SRAM8に出力する。
【0059】
より具体的には、ZERO−TAG情報解析回路10は、先に説明したTAG情報解析回路7と同様に、各サブバンドのZERO−TAG情報を4回に分けて求め、求めた4つのデータZD1〜ZD4(図2に示すTAG情報のデータD1〜D4に対応する)のZERO−TAG情報及びデータ量の削減されたZEROビットプレーン数のデータをSRAM8に逐次格納する。これにより、ソフトウェア処理により実現していた時に要していたサイズの大きな作業用のメモリ自体を不用にする。
【0060】
ここで、データZD1は、レベル3のサブバンド3HL、3LH、3HHについてのZERO−TAG情報ZT2、ZT3、ZT4と、レベル2のサブバンド2HL、2LH、2HHについて各4つ求めるZERO−TAG情報ZT5〜ZT16、上位のZERO−TAG情報ZT18、ZT19及びZT20、更には、7番〜66番のコードブロックのデータ量削減後のZEROビットプレーン数のデータD2.1〜D2.4、D3.1〜D3.4、…、D16.0〜D16.4、演算回路215、216、217、218、219より出力されるデータ量削減後のZERO−TAG情報D17.1〜D17.4、D21.1〜D21.4で構成される。
【0061】
レベル5及びレベル4のサブバンドはコードブロック1個のサイズに満たないためZERO−TAG情報は求めない。データZD2〜ZD4は、レベル1のサブバンド1HL、1LH、1HHについてのZERO−TAG情報ZT1〜ZT16、ZT17〜ZT20及びZT21、更には、それぞれ67番〜130番、131番〜194番、195番〜258番のコードブロックのデータ量削減後のZEROビットプレーン数のデータD2.1〜D2.4、D3.1〜D3.4、…、D16.0〜D16.4、演算回路215、216、217、218、219より出力されるデータ量削減後のZERO−TAG情報D17.1〜D17.4、D21.1〜D21.4で構成される。
【0062】
先に説明したTAG情報解析回路7と同じ構成物には、同じ参照番号を付して表し、ここでの重複した説明は省く。
【0063】
ZERO−TAG情報解析回路10とTAG情報解析回路7を比較した場合、処理内容の違いより、TAG情報解析回路7が備えるORゲート71〜91の代わりに演算回路200〜219が設けられる。演算回路200〜219の構成は同じである。演算回路200〜219は、演算により求めたZERO−TAG情報の値(ZT1〜ZT21)の他に、各演算回路より出力されるデータ量削減後のZEROビットプレーン数又はZERO−TAG情報の値(D1.1〜D1.4、D2.1〜D2.4、…D21.1〜D21.4)をデータZD生成部220(TAG情報解析回路7のデータD生成部92に相当する。)に出力する。
【0064】
データZD生成部220は、各演算回路より出力されるZERO−TAG情報の値(ZT1〜ZT21)、及び、データ量削減後のZEROビットプレーン数又はZERO−TAG情報の値(D1.1〜D1.4、D2.1〜D2.4、…D21.1〜D21.4)を、SRAM8のアドレス指定回路54’により指定されるアドレスに書きこむ。アドレス指定回路54’は、ANDゲート58、62、66、70より出力されるパルス信号の入力に応じて書き込み用のアドレスを、データZD1用、データZD2用、データZD3用、データZD4用に切り換えてSRAM8に出力する。
【0065】
図7は、演算回路200の構成を示す図である。演算回路200は、データZD2、D3、D4を求める時に使われる。例えば、データZD2を求める際、それぞれ2入力1出力型のセレクタ200b及び200dには、図示するように67番、68番、75番、76番のコードブロックのZEROビットプレーン数(以下、説明の便宜のため文書中でZP67、ZP68、ZP75、ZP76と記す)のデータが入力される。
【0066】
ZP67及びZP68は、比較器200aに入力される。比較器200aは、ZP68よりもZP67が大きい場合Highレベルの比較結果信号を、ZP68よりもZP67が小さい場合にLowレベルの比較結果信号をセレクタ200bの信号選択端子に出力する。セレクタ200bは、比較器200aより入力される比較結果信号がHighレベルの場合にはZP68を、Lowレベルの場合にはZP67を出力する。
【0067】
ZP75及びZP76は、比較器200cに入力される。比較器200cは、ZP75よりもZP76が大きい場合Highレベルの比較結果信号を、ZP75よりもZP76が小さい場合にLowレベルの比較結果信号をセレクタ200dの信号選択端子に出力する。セレクタ200dは、比較器200cより入力される比較結果信号がHighレベルの場合にはZP76を、Lowレベルの場合にはZP75を出力する。
【0068】
セレクタ200b及びセレクタ200dより出力される信号は、比較器200e及びセレクタ200fに入力される。比較器200eは、セレクタ200bより出力されたデータの値よりもセレクタ200dより出力されたデータの値が大きい場合にはHighレベルの比較結果信号を、逆の場合にはLowレベルの比較結果信号をセレクタ200fの信号選択端子に出力する。セレクタ200fは、比較器200eより入力される比較結果信号がHighレベルの場合にはセレクタ200dより入力されたデータを、Lowレベルの場合にはセレクタ200bより入力されたデータをZERO−TAG情報のデータ値ZT1として出力する。
【0069】
演算器200gは、ZP67より上記データ値ZT1を差し引いた値を求め、これを67番のコードブロックのデータ量削減後のZEROビットプレーン数D1.1として出力する。演算器200hは、ZP68より上記データ値ZT1を差し引いた値を求め、これを68番のコードブロックのデータ量減後のZEROビットプレーン数D1.2として出力する。演算器200iは、ZP75より上記データ値ZT1を差し引いた値を求め、これを75番のコードブロックのデータ量削減後のZEROビットプレーン数D1.3として出力する。演算器200jは、ZP76より上記データ値ZT1を差し引いた値を求め、これを76番のコードブロックのデータ量減後のZEROビットプレーン数D1.4として出力する。
【0070】
なお、セレクタ200b及び200dには、データZD3を求める際には、67番の代わりに131番、68番の代わりに132番、75番の代わりに139番、76番の代わりに140番のコードブロックのZEROビットプレーン数のデータが入力される。また、データZD4を求める際には、67番の代わりに195番、68番の代わりに196番、75番の代わりに203番、76番の代わりに204番のコードブロックのZEROビットプレーン数のデータが入力される。
【0071】
図8は、JPEG2000の標準に従い、上述したTAG情報解析回路7及びZERO−TAG情報解析回路10により生成されたTAG情報、ZERO−TAG情報及びデータ量削減後のZEROビットプレーン数のデータを備えたパケットヘッダ及び符号データでなる符号列を示す図である。図示するように各情報は、処理を行うコードブロックの最初の番号のパケットヘッダの前に挿入される。例えば、7番のコードブロックのパケットヘッダの前には、7番〜10番のコードブロックのTAG情報T2、ZERO−TAG情報ZT2のデータが置かれる。また、19番目のコードブロックのパケットヘッダの前には、TAG情報T18、ZERO−TAG情報ZT18、更新されたZEROビットプレーン数D18.1〜D18.4、TAG情報T5、ZERO−TAG情報ZT5のデータが置かれる。
【0072】
【発明の効果】
請求項1乃至4に記載の画像処理装置では、レベル1の1つのサブバンドに含まれているコードブロックを単位として、所定の順序でコードブロックのインクルージョン情報及び/又はZEROビットプレーン数のデータを受け付け、受け付けたデータをパラレル変換し、処理した後に、再びシリアル変換して出力する回路で成るTAG情報解析部及び/又はZERO−TAG情報解析部を備えることで、従来、ソフトウェア処理で実現していた時のように、全サブバンドのコードブロックのインクルージョン情報及び/又はZEROビットプレーン数の情報を記憶しておく大きなサイズの作業用メモリを不要とし、かつ、リアルタイムなTAG情報及び/又はZERO−TAG情報の作成が可能になる。
【図面の簡単な説明】
【図1】 (a)は、画像処理装置の符号化処理を行う部分のブロック構成図であり、(b)は、復号化処理を行う部分のブロック構成図である。
【図2】 TAG情報解析回路により生成されるTAG情報を示す図である。
【図3】 TAG情報解析回路の構成図である。
【図4】 (a)〜(d)は、TAG情報を用いたコードブロックのインクルージョン情報取得手法について説明するための図である。
【図5】 ZERO−TAG情報の説明を行うための図である。
【図6】 ZERO−TAG情報解析回路の構成図である。
【図7】 演算回路の構成図である。
【図8】 TAG情報及びZERO−TAG情報等を有するパケット情報及び符号データで成る符号列の構成を示す図である。
【符号の説明】
7,24 TAG情報解析回路、8 SRAM、10,27 ZERO−TAG情報解析回路、50 シフトレジスタ、51 コードブロックカウンタ、52,56,60,64,68 比較器、53,55,59,63,67 レジスタ、54 アドレスして回路、57,61,65,69 遅延回路、58,62,66,70 2入力ANDゲート、71〜91 4入力ORゲート、92 データD生成部、100 接続回路、200〜219 演算回路。
Claims (4)
- JPEG2000に準拠してレベル1以上のウェーブレット変換を行って画像データから符号列を形成する符号化処理を実行する画像処理装置であって、TAG情報生成部を含んでおり、
上記TAG情報生成部が、各サブバンドを予め定めた画素マトリクスで分割したコードブロックを処理単位とし、下層に位置するコードブロックに有意データを含むか否かを表すTAG情報を、上記符号列を形成するのに用いるパケットヘッダ用に生成するものであって、インクルージョン情報抽出部(6)と、TAG情報解析回路(7)と、を含んでおり、
上記インクルージョン情報抽出部が、コードブロック毎に有意データを有しているときに1、有していないときに0の値のインクルージョン情報Iを高レベルのサブバンドからレベル1の各サブバンドに含まれるコードブロックの順に出力するものであり、
上記TAG情報解析回路が、第1シフトレジスタ(50)と、切換回路と、論理回路と、第1データD生成部(92)と、を含んでおり、
上記第1シフトレジスタが、インクルージョン情報抽出部からシリアル入力される、レベル1のサブバンド内に含まれる数分のコードブロックのインクルージョン情報Iを記録するものであり、
上記切換回路が、レベル2以上のサブバンドに含まれる全コードブロックのインクルージョン情報I、レベル1の1HLのサブバンドに含まれる全コードブロックのインクルージョン情報I、レベル1の1LHのサブバンドに含まれる全コードブロックのインクルージョン情報I、レベル1の1HHのサブバンドに含まれる全コードブロックのインクルージョン情報Iの各々が第1シフトレジスタに入力完了する毎に、上記第1シフトレジスタが記録しているデータを論理回路にパラレル出力させるものであり、
上記論理回路が、第1シフトレジスタからパラレル出力される各コードブロックのインクルージョン情報Iが順に入力される複数の4入力1出力ORゲートを有しており、該ORゲートが、近傍の2×2個のコードブロックについてのTAG情報を求め、求めたTAG情報を第1データD生成部に出力するようになっており、
上記第1データD生成部が、論理回路が有している複数のORゲートからパラレル出力されるTAG情報を、シリアルデータに並べ直して出力するものである、
ことを特徴とする画像処理装置。 - 上記論理回路が有している複数の4入力1出力ORゲートが、求めたTAG情報が同層上で1つになるまで、求めた2×2個のTAG情報に基づいて更に上層のTAG情報を求め、求めたTAG情報を出力するように構成されている、請求項1に記載の画像処理装置。
- 更に、ZERO - TAG情報生成部を含んでおり、
上記ZERO - TAG情報生成部が、コードブロックの符号データに関し、上位に位置する全てのビットデータが0であるZEROビットプレーン数の情報であって、2×2個のコードブロックのZEROビットプレーン数の最小値と、該2×2個の各コードブロックのZEROビットプレーン数と前記最小値との差分値と、で成るZERO - TAG情報を、上記符号列を形成するのに用いるパケットヘッダ用に生成するものであって、ZERO - ビットプレーン数情報抽出部(9)と、ZERO - TAG情報解析回路(10)と、を含んでおり、
上記ZEROビットプレーン数情報抽出部が、コードブロック毎に上位に位置する全てのビットデータが0であるZEROビットプレーン数の情報を高レベルのサブバンドからレベル1の各サブバンドに含まれるコードブロックの順に出力するものであり、
上記ZERO - TAG情報解析回路が、第2シフトレジスタ(50)と、切換回路と、演算部と、第2データD生成部(92)と、を含んでおり、
上記第2シフトレジスタが、レベル1のサブバンド内に含まれるコードブロックの数分のZEROビットプレーン数の情報を入力順に記録するものであり、
上記切換回路が、レベル2以上のサブバンドに含まれる全コードブロックのZER Oビットプレーン数の情報、レベル1の1HLのサブバンドに含まれる全コードブロックのZEROビットプレーン数の情報、レベル1の1LHのサブバンドに含まれる全コードブロックのZEROビットプレーン数の情報、レベル1の1HHのサブバンドに含まれる全コードブロックのZEROビットプレーン数の情報の各々が第2シフトレジスタに入力完了する毎に、上記第2シフトレジスタが記録しているデータを演算部にパラレル出力させるものであり、
上記演算部が、第2シフトレジスタからパラレル出力される各コードブロックのZEROビットプレーン数の情報が順に入力される複数の4入力1出力の演算回路を有しており、該演算回路が、近傍の2×2個のコードブロックについてのZERO - TAG情報を求め、求めたZERO - TAG情報を第2データD生成部に出力するものであり、
上記第2データD生成部が、演算部が有している複数の演算回路からパラレル出力されるZERO - TAG情報を、シリアルデータに並べ直して出力するものである、
ことを特徴とする請求項1又は2に記載の画像処理装置。 - 上記演算部が有している複数の演算回路が、求めたZERO - TAG情報が同層上で1つになるまで、求めた2×2個のZERO - TAG情報にそれぞれ含まれているZEROビットプレーン数の情報の最小値に基づいて更に上層のZERO - TAG情報を求めるように構成されている、
請求項3に記載の画像処理装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003090825A JP4105577B2 (ja) | 2003-03-28 | 2003-03-28 | 画像処理装置 |
US10/550,169 US7505629B2 (en) | 2003-03-28 | 2004-03-23 | Image processing method and apparatus |
PCT/JP2004/003918 WO2004088972A1 (en) | 2003-03-28 | 2004-03-23 | Image processing method and apparatus |
AU2004225361A AU2004225361B2 (en) | 2003-03-28 | 2004-03-23 | Image processing method and apparatus |
EP04722677A EP1609302A4 (en) | 2003-03-28 | 2004-03-23 | IMAGE PROCESSING AND DEVICE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003090825A JP4105577B2 (ja) | 2003-03-28 | 2003-03-28 | 画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004297716A JP2004297716A (ja) | 2004-10-21 |
JP4105577B2 true JP4105577B2 (ja) | 2008-06-25 |
Family
ID=33127272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003090825A Expired - Fee Related JP4105577B2 (ja) | 2003-03-28 | 2003-03-28 | 画像処理装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7505629B2 (ja) |
EP (1) | EP1609302A4 (ja) |
JP (1) | JP4105577B2 (ja) |
AU (1) | AU2004225361B2 (ja) |
WO (1) | WO2004088972A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4774382B2 (ja) * | 2007-05-08 | 2011-09-14 | 株式会社リコー | 画像処理装置、画像処理回路、及び、画像処理方法 |
US8983213B1 (en) * | 2010-08-30 | 2015-03-17 | Accusoft Corporation | Image coding and decoding methods and apparatus |
US8934725B1 (en) | 2010-08-30 | 2015-01-13 | Accusoft Corporation | Image coding and decoding methods and apparatus |
US9241163B2 (en) * | 2013-03-15 | 2016-01-19 | Intersil Americas LLC | VC-2 decoding using parallel decoding paths |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0905978A3 (en) | 1997-09-29 | 2000-04-12 | Canon Kabushiki Kaisha | An encoding method and apparatus |
US6898323B2 (en) | 2001-02-15 | 2005-05-24 | Ricoh Company, Ltd. | Memory usage scheme for performing wavelet processing |
US7127117B2 (en) * | 2001-06-11 | 2006-10-24 | Ricoh Company, Ltd. | Image compression method and apparatus for suppressing quantization rate in particular region, image expansion method and apparatus therefor, and computer-readable storage medium storing program for the compression or expansion |
JP4917724B2 (ja) | 2001-09-25 | 2012-04-18 | 株式会社リコー | 復号方法、復号装置及び画像処理装置 |
JP4115142B2 (ja) | 2002-03-13 | 2008-07-09 | 株式会社リコー | 画像処理装置及び画像処理方法 |
US7330596B2 (en) * | 2002-07-17 | 2008-02-12 | Ricoh Company, Ltd. | Image decoding technique for suppressing tile boundary distortion |
JP3783956B2 (ja) * | 2002-07-23 | 2006-06-07 | 株式会社リコー | 画像記録装置及び画像データ選択方法 |
JP2004104347A (ja) * | 2002-09-06 | 2004-04-02 | Ricoh Co Ltd | 画像処理装置、画像処理方法、プログラム及び記録媒体 |
JP2004104650A (ja) * | 2002-09-12 | 2004-04-02 | Ricoh Co Ltd | 画像処理装置、画像読取装置、画像形成装置、画像処理用プログラム及び記憶媒体 |
JP3948619B2 (ja) * | 2003-03-31 | 2007-07-25 | 株式会社リコー | 画像圧縮装置、画像圧縮方法、プログラム及び記録媒体 |
-
2003
- 2003-03-28 JP JP2003090825A patent/JP4105577B2/ja not_active Expired - Fee Related
-
2004
- 2004-03-23 EP EP04722677A patent/EP1609302A4/en not_active Withdrawn
- 2004-03-23 US US10/550,169 patent/US7505629B2/en not_active Expired - Fee Related
- 2004-03-23 AU AU2004225361A patent/AU2004225361B2/en not_active Ceased
- 2004-03-23 WO PCT/JP2004/003918 patent/WO2004088972A1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US20060227877A1 (en) | 2006-10-12 |
AU2004225361B2 (en) | 2007-08-09 |
AU2004225361A1 (en) | 2004-10-14 |
WO2004088972A1 (en) | 2004-10-14 |
US7505629B2 (en) | 2009-03-17 |
EP1609302A1 (en) | 2005-12-28 |
EP1609302A4 (en) | 2007-08-01 |
JP2004297716A (ja) | 2004-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11838035B2 (en) | Using predicates in conditional transcoder for column store | |
CN104253992B (zh) | 图像解码装置 | |
CN108702160A (zh) | 用于压缩和解压缩数据的方法、设备和系统 | |
CN102833546B (zh) | 基于小波子带交织最优量化的高速图像压缩方法及装置 | |
CN103209328B (zh) | 多源卫星图像实时在线处理技术方法及装置 | |
US20110091123A1 (en) | Coding apparatus and coding method | |
JP4105577B2 (ja) | 画像処理装置 | |
CN101841707A (zh) | 基于jpeg2000标准的高速实时处理算术熵编码方法 | |
JP2005065168A (ja) | 画像圧縮装置及び画像圧縮方法 | |
CN101488225B (zh) | 一种位平面编码器的vlsi系统 | |
Shah et al. | VLSI-oriented lossy image compression approach using DA-based 2D-discrete wavelet. | |
CN104053011B (zh) | 应用于jpeg2000解码器中的二维离散小波逆变换器 | |
Zhang et al. | Performance analysis and architecture design for parallel EBCOT encoder of JPEG2000 | |
JP3700670B2 (ja) | ビットプレーン符号化装置 | |
Li et al. | Analysis and enhancements for EBCOT in high-speed JPEG2000 architectures | |
CN1529285A (zh) | 比特平面并行的率失真优化截取内嵌码块编码结构 | |
JP4111761B2 (ja) | 画像処理装置 | |
Hsieh et al. | A novel, efficient architecture for the 1D, lifting-based DWT with folded and pipelined schemes | |
WO2020220179A1 (zh) | 小波逆变换电路和方法 | |
CN1420692A (zh) | 利用数字信号处理器实现小波视频编码和解码的方法 | |
JP4115142B2 (ja) | 画像処理装置及び画像処理方法 | |
Liu et al. | A high throughput JPEG2000 entropy decoding unit architecture | |
JP4114144B2 (ja) | 画像符号化装置、画像符号化プログラム、及び画像復号化プログラム | |
GB2302244A (en) | Wavelet transform filter | |
Xing et al. | A cycle-efficient sample-parallel EBCOT architecture for JPEG2000 encoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080218 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080311 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080327 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110404 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120404 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130404 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140404 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |