JP3700670B2 - ビットプレーン符号化装置 - Google Patents
ビットプレーン符号化装置 Download PDFInfo
- Publication number
- JP3700670B2 JP3700670B2 JP2002092883A JP2002092883A JP3700670B2 JP 3700670 B2 JP3700670 B2 JP 3700670B2 JP 2002092883 A JP2002092883 A JP 2002092883A JP 2002092883 A JP2002092883 A JP 2002092883A JP 3700670 B2 JP3700670 B2 JP 3700670B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- data
- input
- bit position
- absolute value
- 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 - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、エントロピ符号化方法の一つであるEBCOT(Embedded Block Coding with Optimized Truncation)等に適用されるビットプレーン符号化装置に関するものである。
【0002】
【従来の技術】
近年、JPEG2000(IS0/IEC JTC 1/SC 29/WG1)と呼ばれる離散ウェーブレット変換を利用した静止画像圧縮方式が提案されている。
【0003】
JPEG2000では、離散ウェーブレット変換の特性を生かすため、エントロピ符号化処理にEBCOT(Embedded Block Coding with 0ptimized Truncation)と称する符号化方法が用いられている。
【0004】
EBCOTでは、ビットモデリング処理及び算術符号化処理の2つの処理を行うことによって、多値データ系列を2値の符号化系列に変換する。このEBCOTをJPEG2000の符号化アルゴリズムに適用した場合、ビットモデリング処理では、離散ウェーブレット変換により生成された多値ウェーブレット係数から算術符号化用の2値のシンボルとその符号化方式を示すコンテキストを生成する処理が行われ、算術符号化処理では、生成されたシンボル系列の出現確率に応じて確率直線を区間分割し、分割された区間内の位置を示す2進小数値をその符号系列に対する符号に割り当てる処理が行われる。
【0005】
ここで、JPEG2000の符号化アルゴリズムでは、ウェーブレット変換を行った領域(ウェーブレット変換領域)を複数の2次元の矩形領域に分割して、その分割単位毎にEBCOT符号化処理が行われる。このEBCOTを行う矩形領域のことを、コードブロックと呼ぶ。
【0006】
コードブロック分割処理
以下、このコードブロックについて説明をする。
【0007】
JPEG2000では、2次元の画像データに対して、2次元のウェーブレット変換を行う。2次元のウェーブレット変換では、ウェーブレット変換領域に対して垂直方向、水平方向の順でフィルタリングを行い、それぞれ低域成分及び高域成分のサブバンドに分割する。従って、ウェーブレット変換が行われた後のウェーブレット変換領域は、水平方向低域成分−垂直方向低域成分の係数(LL係数)が含まれているサブバンド、水平方向高域成分−垂直方向低域成分(HL係数)が含まれているサブバンド、水平方向高域成分−垂直方向低域成分の係数(LH係数)が含まれているサブバンド、水平方向高域成分−垂直方向高域成分(HH係数)が含まれているサブバンドに分割される。各サブバンドは、変換前のウェーブレット変換領域に対して、垂直、水平ともに1/2の解像度になる。
【0008】
また、JPEG2000では、LL係数に対して再度ウェーブレット変換を施すことによって、2次元の画像データを再帰的に帯域分割することが可能である。そのため、LL係数内が、さらに、LL係数のサブバンド、HL係数のサブバンド、LH係数のサブバンド及びHH係数のサブバンドに分割される。この再帰分割回数のことを、解像度レベルと呼ぶ。解像度レベル1は、ウェーブレット変換領域に対して1回のウェーブレット変換を行うことをいい、解像度レベル2は、ウェーブレット変換領域に対して2回のウェーブレット変換を行うことをいう。
【0009】
図9及び図10に、水平方向が176ピクセル、垂直方向が144ピクセルの解像度の4:2:2フォーマットの画像データに対して、解像度レベル2のウェーブレット変換をした場合のウェーブレット変換領域の状態を示す。図9は、輝度成分(Y)のウェーブレット変換領域を示し、図10は、色差成分(Cb,Cr)のウェーブレット変換領域を示す。
【0010】
図9及び図10に示すように、ウェーブレット変換後のウェーブレット変換領域には、HL係数のサブバンド(1HL)、LH係数のサブバンド(1LH)、HH係数のサブバンド(1HH)が形成されている。これらのサブバンドは、元の4:2:2フォーマット画像に対して1回目のウェーブレット変換を行うことによって形成される。すなわち、1HL、1LH及び1HHの各サブバンドの解像度は、輝度成分が水平88ピクセル×垂直72ピクセルとなり、色差成分が水平44ピクセル×垂直36ピクセルとなる。
【0011】
さらに、ウェーブレット変換後のウェーブレット変換領域には、LL係数のサブバンド(2LL)、HL係数のサブバンド(2HL)、LH係数のサブバンド(2LH)及びHH係数のサブバンド(2HH)が形成されている。これらのサブバンドは、1回目のウェーブレット変換により形成されたLL係数のサブバンド(1LL)に対して、2回目のウェーブレット変換を行うことによって形成される。2LL、2HL、2LH及び2HHの各サブバンドは、元の4:2:2フォーマット画像に対して1/4の解像度となる。すなわち、2LL、2HL、2LH及び2HHの各サブバンドの解像度は、輝度成分が水平44ピクセル×垂直36ピクセルとなり、色差成分が水平22ピクセル×垂直18ピクセルとなる。
【0012】
JPEG2000においてEBCOTを行う場合、このような各サブバンドをさらにコードブロックに分割する。JPEG2000におけるコードブロックの分割ルールは以下のとおりである。
【0013】
1つのコードブロックは、必ず1つのサブバンド内で閉じている。すなわち、1つのコードブロック内には、2つ以上のサブバンドが含まれない。
【0014】
基本のコードブロックの大きさは、サブバンドの大きさに関わらず一定である。基本のコードブロックのサイズは、例えば、64×64ピクセルである。
【0015】
ただし、基本コードブロックのサイズが、サブバンドのサイズよりも大きい場合には、サブバンドのサイズがそのままコードブロックのサイズとなる。例えば、サブバンドのサイズが、64×64よりも小さい場合には、サブバンドの範囲がそのままコードブロックとなる。
【0016】
反対に、コードブロックのサイズが、サブバンドのサイズよりも小さい場合には、1つのサブバンド内に複数のコードブロックが設定される。この場合、1つのサブバンド内に上記の基本コードブロックを1以上設定し、さらに、余剰部分に対して、上記基本のコードブロックのサイズより小さいサイズのコードブロックを設定する。余剰部分に設定されるコードブロックは、一辺のピクセル数が、基本のコードブロックのサイズ(例えば、64×64)以下とされる。
【0017】
図11及び図12に、上記図9及び図10に示したウェーブレット変換領域に対して設定したコードブロックの具体例を示す。
【0018】
輝度成分(Y)の2LL,2HL,2LH及び2HHのサブバンドは、そのサイズ(44×36)が基本のコードブロックのサイズ(64×64)よりも小さい。そのため、輝度成分(Y)の2LL,2HL,2LH及び2HHのサブバンドには、それぞれ自分のサイズと同一サイズの1つのコードブロックが設定される。つまり、輝度成分(Y)の2LL,2HL,2LH及び2HHのサブバンドは、コードブロックと一致している。
【0019】
輝度成分(Y)の1HL、1LH、1HHのサブバンドは、そのサイズ(88×72)が基本のコードブロックサイズよりも大きい。従って、輝度成分(Y)の1HL、1LH、1HHのサブバンドには複数のコードブロックが設定される。具体的には、輝度成分(Y)の1HL、1LH、1HHのサブバンドには、64×64ピクセルの1つのコードブロックと、24×64ピクセルの1つのコードブロックと、64×8ピクセルの1つのコードブロックと、24×8ピクセルの1つのコードブロックが設定される。
【0020】
色差成分(Cr,Cb)の全てのサブバンドは、そのサイズが基本のコードブロックのサイズ(64×64)よりも小さい。そのため、色差成分(Cr,Cb)の全てのサブバンドには、それぞれの自分のサイズと同一のサイズの1つのコードブロックが設定される。
【0021】
このように図9及び図10に示したウェーブレット変換領域には、輝度成分(Y)に16個のサブバンドが設定され、2つの色差成分(Cr,Cb)にそれぞれ7個のサブバンドが設定される。
【0022】
ビットモデリングの前処理
つぎに、EBCOTにおけるビットモデリング処理について詳細に説明をする。
【0023】
ビットモデリング処理では、上述したように、多値ウェーブレット係数から後段の算術符号化用の2値のシンボルとその符号化方式を示すコンテキストを生成する処理である。換言すると、ビットモデリング処理は、算術符号化の符号化方式を決定する処理である。
【0024】
ビットモデリング処理での符号化単位は、上記のコードブロックである。さらに、ビットモデリング処理では、このコードブロックをビット毎(1桁毎)にスライスして形成したビットプレーンと呼ばれる単位で符号化処理をする。
【0025】
また、EBCOTの符号化対象となる多値ウェーブレット係数は、正負の符号をもった整数(あるいは実数表現された整数)である。ビットモデリング処理は、多値で表されたウェーブレット係数を、正負の符号と絶対値とに分離して符号化を行う。絶対値部分は、上位ビットから下位ビットヘ順番にビットプレーンが選択され、そのビットプレーン上の各ビットを所定の順序で走査しながら、1ビットごとに符号化がされていく。
【0026】
符号化対象となるビットプレーン内の各ビットは、次の3種類の処理パスのうちのいずれかの処理パスに基づき、符号化がされる。
【0027】
・Significance propagation pass(“有意である”係数が周囲に存在している“有意でない”係数の符号化を行うパス)
・Magnitude refinement pass(“有意である”係数の符号化を行うパス)
・Cleanup pass(残りの係数の符号化を行うパス)
各処理パスで実行される符号化方法には、Zero coding、Sign coding、Magnitude refinement coding、Run‐Length codingの4種類がある。
【0028】
なお、係数が“有意である”又は“有意でない”でないとは以下のような意味である。
【0029】
“有意である”とは、着目している多値ウェーブレット係数の値が、これまでの符号化処理の結果から‘0’ではないとわかっている状態のこという。言い換えれば、上位ビットのビットプレーンから走査しながら符号化を行っていった手順上で、‘1’であるビットが発見されている多値ウェーブレット係数の状態のことをいう。
【0030】
“有意でない”とは、着目している多値ウェーブレット係数の値が、‘0’であるか、或いは、‘0’である可能性が残っている状態のことをいう。言い換えれば、上位ビットのビットプレーンから順次走査しながら符号化を行っていった手順上で、‘1’であるビットが発見されていない多値ウェーブレット係数の状態のことをいう。
【0031】
ここで、ビットモデリング処理では、上記の3つの処理パスを行う際、前処理として、初期ビットプレーン検索処理が行われる。
【0032】
初期ビットプレーン検索処理は、各コードブロック内の‘初期ビットプレーン’を検出する処理である。初期ビットプレーンとは、値が有効とされたビット(つまり、正論理の場合、値が‘1’のビット)が含まれているビットプレーンのうち、最上位桁のビットプレーンのことをいう。
【0033】
具体的な処理手順は以下のとおりである。
【0034】
ウェーブレット係数の絶対値成分を抽出し、その絶対値成分の最上位桁のビットプレーン(即ち、MSBのビットプレーン)から下位桁に向かい1つずつビットプレーンを選択し、選択したビットプレーン内の全てのビット値を検索していく。そのとき、ビットプレーン中に“有意である”係数(‘0’でないビットが含まれている係数)が存在するかを判定する。その結果、“有意である”係数が登場したビットプレーンが存在すると、つまり、最初に値が‘1’となっているビットが含まれたビットプレーンを見付けると、そのビットプレーンを初期ビットプレーンとする。
【0035】
ビットモデリング処理では、この初期ビットプレーンから、上記の3つの処理パスが実行される。ビットモデリング処理では、全て有意でないビットで構成されるビットプレーン、つまり、全て‘0’であるビットから構成されるビットプレーンがMSBから連続してある場合には、そのビットプレーン数を符号化ストリームのパケットヘッダに記述する。この値は復号時に利用され、すべて‘0’のビットプレーンを形成するために使われるとともに、多値ウェーブレット係数のダイナミックレンジを復元するために用いられることとなる。
【0036】
【発明が解決しようとする課題】
本発明は、例えばEBCOT等のビットプレーン単位での符号化処理を行う際に行われる初期ビットプレーン検索処理を、簡易な回路構成で行うことができるビットプレーン符号化装置を提供することを目的とする。
【0037】
【課題を解決するための手段】
本発明にかかるビットプレーン符号化装置は、絶対値成分がnビット(nは自然数)で表現された複数のデータから構成されるデータ群を、複数のブロックに分割し、分割したブロック単位でのビットプレーン符号化を行うビットプレーン符号化装置である。
【0038】
本発明にかかるビットプレーン符号化装置では、上記データ群に含まれている各ブロックに対する、値が有効とされたビット(有効ビット)が含まれるビットプレーンのうちの最上位のビットプレーンを、検索するビットプレーン検索手段を備えている。
【0039】
このビットプレーン検索手段は、nビットの複数のビット位置データを上記データ群内の各ブロックに対応させて格納する格納部と、上記格納部内の複数のビット位置データのうちから1つのビット位置データを選択する選択制御部と、上記データ群を構成する各データの絶対値成分が1つずつ順次に入力され、入力された1つの絶対値成分と上記選択部により選択された1つのビット位置データとのビット論理和を演算するビット論理和演算部とを有している。
【0040】
そして、上記選択制御部では、上記ビット論理和演算部に1つの絶対値成分が入力されると、その絶対値成分がいずれのブロックに所属するかを判断し、その判断結果に基づき上記ビット論理和演算部に入力された絶対値成分が所属するブロックのビット位置データを上記格納部から読み出し、そのビット位置データと入力された絶対値成分とのビット論理和を上記論理和演算部に演算させ、その演算結果を当該ブロックの新たなビット位置データとして格納部に格納し、上記データ群内の全データが入力された後、上記データ群に含まれている各ブロックに対する値が有効とされたビット(有効ビット)が含まれるビットプレーンのうちの最上位のビットプレーンを、上記格納部に格納されているビット位置データに基づき算出する。
【0041】
以上の本発明のビットプレーン符号化装置では、ブロック毎に識別されたビット位置データを保持し、各入力されたデータのブロックを識別しながら、入力データとビット位置データとの論理和を演算する。本発明のビットプレーン符号化装置では、その演算結果を、新たなビット位置データとして保持する。本発明のビットプレーン符号化装置では、以上の論理和演算を、符号化対象となるデータ群内の全データに対して行い、最終的に得られたビット位置データに基づき、各ブロック毎に値が有効とされたビットが含まれるビットプレーンのうちの最上位のビットプレーンを求める。
【0042】
また、本発明にかかるビットプレーン符号化装置では、次のような構成のビットプレーン検索手段を備えてもよい。
【0043】
このビットプレーン検索手段は、nビット内の或る一つのビット位置を特定する複数のビット位置特定情報を、上記データ群内の各ブロックに対応させて格納する格納部と、上記データ群を構成する各データの絶対値成分が1つずつ順次に入力され、1つの絶対値成分が入力される毎に、上記格納部に格納されている複数のビット位置特定情報のうちの1つのビット位置特定情報を更新する更新制御部とを有する。
【0044】
上記更新制御部は、1つの絶対値成分が入力されると、その絶対値成分がいずれのブロックに所属するかを判断し、その判断結果に基づき入力された絶対値成分が所属するブロックのビット位置特定情報を上記格納部から読み出し、そのビット位置特定情報に示されたビット位置と入力された絶対値成分の最上位の有効ビットのビット位置とを比較して上位のビット位置を選択し、上記格納部内の当該ブロックのビット位置特定情報を選択したビット位置を特定する内容に更新し、上記格納部は、上記データ群を構成する全データの絶対値成分に対する更新終了後の各ビット位置特定情報を、上記データ群に含まれている各ブロックに対する有効ビットが含まれるビットプレーンのうちの最上位のビットプレーンとして出力する。
【0045】
以上の本発明のビットプレーン符号化装置では、ブロック毎に識別されたビット位置特定情報を保持する。このビット位置特定情報は、nビット内の或る一つのビット位置を特定する情報である。本発明のビットプレーン符号化装置では、各入力されたデータのブロックを識別しながら、そのビット位置特定情報に示されたビット位置と入力された絶対値成分の最上位の有効ビットのビット位置とを比較して上位のビット位置を選択し、当該ブロックのビット位置特定情報を選択したビット位置を特定する内容に更新する。そして、最終的に得られたビット位置特定情報に基づき、各ブロック毎に値が有効とされたビットが含まれるビットプレーンのうちの最上位のビットプレーンを求める。
【0046】
【発明の実施の形態】
以下、本発明の実施の形態として、本発明を適用したJPEG2000符号化装置について説明をする。
【0047】
図1に、本発明の実施の形態のJPEG2000符号化装置のブロック構成図を示す。
【0048】
JPEG2000符号化装置1は、図1に示すように、ウェーブレット変換部2と、EBCOT符号化部3とを備えて構成される。
【0049】
ウェーブレット変換部2は、入力された画像データに対して、2次元の離散ウェーブレット変換を行う。2次元のウェーブレット変換は、水平方向及び垂直方向に2次元配列された所定の変換領域(ウェーブレット変換領域)に対して行われる。2次元のウェーブレット変換がされたのちのウェーブレット変換領域は、図9に示したように、複数のサブバンドに分割される。
【0050】
ウェーブレット変換部2からは、ウェーブレット変換領域単位で、ウェーブレット係数が出力される。ウェーブレット係数は、符号値と絶対値とから構成される多値データである。
【0051】
EBCOT符号化部3は、ウェーブレット変換部2から出力されたウェーブレット係数に対してEBCOT方式におけるビットモデリング処理並びにEBCOT方式における算術符号化処理を行い、符号データを生成し、外部に出力する。
【0052】
EBCOT符号化部3は、ビットモデリング部5と、算術符号化部6と、初期ビットプレーン検索部7とを備えて構成される。
【0053】
ビットモデリング部5は、入力されたウェーブレット係数に対して、EBCOT方式におけるビットモデリング処理を行う。すなわち、ビットモデリング部5は、ウェーブレット係数から算術符号化用のシンボル及びコンテキストを生成する。ビットモデリング部5は、生成したシンボル及びコンテキストを、算術符号化部6へ出力する。
【0054】
算術符号化部6は、入力されたシンボル及びコンテキストに基づき算術符号化処理を行い、符号データを生成する。算術符号化とは、シンボル系列の出現確率に応じて確率直線を区間分割し、分割された区間内の位置を示す2進小数値をその符号系列に対する符号に割り当てる符号化処理である。算術符号化部6は、生成した符号データを外部へ出力する。
【0055】
初期ビットプレーン検索部7には、ウェーブレット変換部2から入力されたウェーブレット係数の絶対値成分が入力される。ウェーブレット係数の絶対値成分を、以下絶対値データと呼ぶ。初期ビットプレーン検索部7は、入力された絶対値データをコードブロック毎に識別し、各コードブロック毎にビットモデリング処理の前処理となる初期ビットプレーン検索処理を行う。初期ビットプレーン検索処理は、コードブロック内の‘初期ビットプレーン’を検出する処理である。初期ビットプレーンとは、値が有効とされたビット(つまり、正論理の場合であれば値が‘1’のビット)が含まれているビットプレーンのうち、最上位桁のビットプレーンのことをいう。
【0056】
つぎに、初期ビットプレーン検索部7の具体的な3つの構成例について説明をする。なお、ウェーブレット変換部2から初期ビットプレーン検索部7へは、ウェーブレット係数の絶対値成分である絶対値データが入力されるが、以下の説明では、この絶対値データのビット幅は11ビットであり、各ビット値は正論理で表されているものとする。
【0057】
(第1の構成例)
まず、初期ビットプレーン検索部7の第1の構成例について、図2を参照して説明する。
【0058】
第1の構成例の初期ビットプレーン検索部7は、図2に示すように、格納部21と、ビットOR回路22と、制御部23とを備えて構成される。
【0059】
格納部21は、内部に、複数のレジスタを有している。格納部21内の各レジスタは、1つのウェーブレット変換領域内に生成されるコードブロックの数だけ設けられており、各レジスタは、それぞれ特定のコードブロックに対応している。例えば、図11及び図12に示したウェーブレット変換領域に対して処理を行うのであれば、輝度成分(Y)内の各コードブロックに対応した16個のレジスタ(Y0レジスタ、Y1レジスタ・・・Y15レジスタ)と、色差成分(Cr,Cb)内の各コードブロックに対応した14個のレジスタ(Cb0レジスタ、Cb1レジスタ・・・Cb6レジスタ、Cr0レジスタ・・・Cr6レジスタ)とが、格納部21内に備えられることとなる。
【0060】
これらの各レジスタには、ビット位置データが格納される。ビット位置データは、当該初期ビットプレーン検索部7に入力される絶対値データと同一のビット幅のデータである。つまり、ここでは、ビット位置データは、11ビット幅のデータとなる。
【0061】
制御部23は、格納部21内の複数のレジスタのうち1つのレジスタを選択し、そのレジスタに対してビット位置データの書き込み及び読み出しの制御をする。また、制御部23は、1つのウェーブレット変換領域内のウェーブレット係数の絶対値データが全て入力され、これらに対する処理を全て終了した後に、各レジスタに格納されているビット位置データに基づき、各コードブロックの初期ビットプレーンを算出する。
【0062】
ビットOR回路22には、ウェーブレット変換部2から供給された11ビットの絶対値データと、格納部21内に格納されている11ビットのビット位置データとが入力される。格納部21内にはビット位置データが複数格納されているが、そのうちの1つのビット位置データのみが入力される。入力されるビット位置データは、制御部23により選択される。ビットOR回路22は、絶対値データとビット位置データとのビット論理和を演算する。ビット論理和の演算とは、11ビットの2つのデータを各桁ごとに論理和算出し、その演算結果を11ビットデータで出力する演算である。ビット論理和の演算結果データは、制御部23が選択したレジスタに格納される。
【0063】
つぎに、この第1の構成例の初期ビットプレーン検索部7の動作について説明する。
【0064】
初期ビットプレーン検索部7には、絶対値データが、ウェーブレット変換部2から入力される。初期ビットプレーン検索部7には、1つのウェーブレット変換領域内の全ウェーブレット係数が、1データずつ順次入力される。入力されたウェーブレット係数の絶対値データは、ビットOR回路22へ入力される。
【0065】
制御部23は、1つの絶対値データが入力されると、その絶対値データが、ウェーブレット変換領域内のいずれのコードブロックに属しているかを判断する。すなわち、その絶対値データが、輝度成分であるのか、Cr成分であるのか、Cb成分であるのかを判断し、さらに、その中の何番目のコードブロックに属しているのかを判断する。制御部23は、入力された絶対値データが属するコードブロックを判断すると、そのコードブロックに対応するレジスタを選択する。制御部23は、選択したレジスタから、ビット位置データを読み出し、ビットOR回路22に供給する。なお、各レジスタ内に格納されているビット位置データは、ウェーブレット変換領域内の最初のデータが入力されたときに、その値が0(000_0000_0000)に初期化される。ビットOR回路22は、入力された1つの絶対値データと、選択された1つのビット位置データとのビット論理和を演算する。制御部23は、ビットOR回路22の演算結果データを、選択したレジスタ、つまり、入力された絶対値データが属するコードブロックに対応したレジスタに格納する。従って、ビットOR回路22の演算結果データが、そのコードブロックの新たなビット位置データとなる。
【0066】
制御部23は、続いて入力される各絶対値データに対して、1回ずつ以上の処理を行う。
【0067】
初期ビットプレーン検索部7では、1つのウェーブレット変換領域内の全係数に対して以上の処理を行うことによって、全絶対値データをコードブロック毎にビット論理和演算し、そのビット論理和演算結果を各コードブロックに対応したレジスタに保存したこととなる。
【0068】
制御部23は、1つのウェーブレット変換領域内の全データに対して処理が終了すると、各レジスタ内のビット位置データを参照して、各コードブロックの初期ビットプレーンを算出する。
【0069】
ビット位置データは、コードブロック内の全データをビット論理和演算した結果である。従って、ビット位置データは、有意であるビットが含まれているビットプレーン(つまり、値が‘1’となっているビットが含まれているビットプレーン)に対応した桁のビット値が必ず‘1’となっている。反対に、ビット位置データは、有意でないビットのみで構成されているビットプレーン(つまり、値が‘0’のビットだけで構成されているビットプレーン)に対応した桁のビット値が必ず‘0’となっている。従って、最終的に得られたビット位置データを、MSB側から検索し、最初に‘1’が登場した桁が、初期ビットプレーンの位置を示していることとなる。
【0070】
制御部23は、各コードブロックの初期ビットプレーンの位置情報を、ビットモデリング部5に供給し、続いて、次のウェーブレット変換領域に対する処理を行う。
【0071】
(第2の構成例)
つぎに、初期ビットプレーン検索部7の第2の構成例について図3を参照して説明する。
【0072】
第2の構成例の初期ビットプレーン検索部7は、図3に示すように、格納部31と、ビットOR回路32と、第1の変換器33と、第2の変換器34と、制御部35とを備えて構成される。
【0073】
格納部31は、内部に、複数のレジスタを有している。このレジスタの数は、上記第1の構成例の格納部21と同一である。すなわち、格納部31内の各レジスタは、1つのウェーブレット変換領域内に生成されるコードブロックの数だけ設けられており、各レジスタは、それぞれ特定のコードブロックに対応している。例えば、図10に示したウェーブレット変換領域に対して処理を行うのであれば、輝度成分(Y)内の各コードブロックに対応した16個のレジスタと、色差成分(Cr,Cb)内の各コードブロックに対応した14個のレジスタとが、格納部31内に備えられる。
【0074】
格納部31は、内部に、複数のレジスタを有している。格納部31内の各レジスタは、1つのウェーブレット変換領域内に生成されるコードブロックの数だけ設けられており、各レジスタは、それぞれ特定のコードブロックに対応している。例えば、図11及び図12に示したウェーブレット変換領域に対して処理を行うのであれば、輝度成分(Y)内の各コードブロックに対応した16個のレジスタ(Y0レジスタ、Y1レジスタ・・・Y15レジスタ)と、色差成分(Cr,Cb)内の各コードブロックに対応した14個のレジスタ(Cb0レジスタ、Cb1レジスタ・・・Cb6レジスタ、Cr0レジスタ・・・Cr6レジスタ)とが、格納部31内に備えられることとなる。
【0075】
これら各レジスタには、ビット位置特定情報が格納される。ビット位置特定情報は、当該初期ビットプレーン検索部7に入力される絶対値データの或る1つのビット位置を特定する情報である。例えば、絶対値データのビット幅がnビットであれば、ビット位置特定情報は、nビット内の任意の1つの桁を特定する。従って、ビット位置特定情報のデータ幅は、少なくとも Raise(Log2n)あればよい。なお、Raise(x)は、xの小数点以下を切り上げることを意味する。本例では、ウェーブレット変換係数の絶対値データが11ビットで表現されているため、ビット位置特定情報のビット幅は、4ビット以上あればよい。従って、レジスタのデータ幅も、上述の第1の構成例と比較して、7ビット分も減少し、回路規模を小さくすることができる。
【0076】
制御部35は、格納部31内の複数のレジスタのうち1つのレジスタを選択し、そのレジスタに対してビット位置特定情報の書き込み及び読み出しの制御をする。また、制御部35は、1つのウェーブレット変換領域内のウェーブレット係数の絶対値データが全て入力され、これらに対する処理を全て終了した後に、各レジスタに格納されているビット位置特定情報に基づき、各コードブロックの初期ビットプレーンを算出する。
【0077】
ビットOR回路32には、ウェーブレット変換部2から供給された11ビットの絶対値データと、第2の変換器34から出力された11ビットのビット位置データとが入力される。第2の変換器34から出力されるビット位置データは、格納部31に格納されているビット位置特定情報に基づき生成される。格納部31内にはビット位置特定情報が複数格納されているが、第2の変換器34から出力されるビット位置データは、制御部35により選択された1つのビット位置特定情報のみに基づき生成される。ビットOR回路32は、絶対値データとビット位置データとのビット論理和を演算する。ビット論理和の演算結果データは、第1の変換器33に入力される。
【0078】
第1の変換器33は、ビットOR回路32から出力された11ビットの演算結果データを、4ビットのビット位置特定情報に変換する処理を行う。第1の変換器11は、11ビットの演算結果データをMSBから検索していき、最初に‘1’が発生したビット位置を検出し、検出したビット位置を特定するビット位置特定情報を生成する。
【0079】
具体的には、第1の変換器33は、図4に示すような、テーブルで記述することができる。なお、この図4で示しているプログラム記述言語は、LSIの開発で用いられるハードウェア記述言語(HDL)により記述したものである。
【0080】
“wire[10:0] IN1;”では、入力データのデータ幅が11ビットであること、入力データ名が“IN1”であることを定義している。“IN1”は、ビットOR回路32から出力される11ビットの演算結果データである。
【0081】
“reg[3:0] OUT1;”では、出力データのデータ幅が4ビットであること、出力データ名が“OUT1”であることを定義している。“OUT1”は、格納部31内のレジスタに格納される4ビットのビット位置特定情報である。
【0082】
“casez(IN1)”から“endcasez”までは、11ビットの入力データ(IN1)のデータ内容を条件とし、その条件に合致した4ビット出力データ(OUT1)を選択して出力する、いわゆるケース文である。
【0083】
“casez(IN1)”から“endcasez”までで定義されている具体的な入出力関係は、以下のとおりである。
【0084】
入力データ(IN1) 出力データ(OUT1)
000_0000_0000 1111
1??_????_???? 1010
01?_????_???? 1001
001_????_???? 1000
000_1???_???? 0111
000_01??_???? 0110
000_001?_???? 0101
000_0001_???? 0100
000_0000_1??? 0011
000_0000_01?? 0010
000_0000_001? 0001
000_0000_0001 0000
なお、‘?’で示されているビットの値は、“1”であっても、“0”であってもよい。このケース文では、先頭の“1”の値が発生するビット位置のみが必要であり、それ以下のビット値は関係がないためである。
【0085】
第2の変換器34は、格納部31内のレジスタから出力されたビット位置特定情報を、ビットOR回路32に入力するためのビット位置データに変換する処理を行う。この第2の変換器34では、ビット位置特定情報で示されているビット位置のみが“1”とされ、その他のビットが“0”とされたビット位置データを生成する。ここで、生成されるビット位置データは、絶対値データと同一のビット数のデータである。すなわち、11ビットのデータである。
【0086】
具体的には、第2の変換器34は、図5に示すような、テーブルで記述することができる。なお、この図5で示しているプログラム記述言語も、HDLにより記述されたものである。
【0087】
“wire[3:0] IN2;”では、入力データのデータ幅が3ビットであること、入力データ名が“IN2”であることを定義している。“IN2”は、格納部31のレジスタから出力される4ビットのビット位置特定情報である。
【0088】
“reg[10:0] OUT2;”では、出力データのデータ幅が11ビットであること、出力データ名が“OUT2”であることを定義している。“OUT2”は、ビットOR回路32に入力される11ビットのビット位置データである。
【0089】
“case(IN2)”から“endcase”までは、4ビットの入力データ(IN2)のデータ内容を条件とし、その条件に合致した11ビット出力データ(OUT2)を選択して出力する、いわゆるケース文である。
【0090】
“case(IN2)”から“endcase”までで定義されている具体的な入出力関係は、以下のとおりである。
【0091】
入力データ(IN1) 出力データ(OUT1)
0000 000_0000_0001
0001 000_0000_0010
0010 000_0000_0100
0011 000_0000_1000
0100 000_0001_0000
0101 000_0010_0000
0110 000_0100_0000
0111 000_1000_0000
1000 001_0000_0000
1001 010_0000_0000
1010 100_0000_0000
1111 000_0000_0000 。
【0092】
つぎに、この第2の構成例の初期ビットプレーン検索部7の動作について説明する。
【0093】
初期ビットプレーン検索部7には、絶対値データが、ウェーブレット変換部2から入力される。初期ビットプレーン検索部7には、1つのウェーブレット変換領域内の全ウェーブレット係数が、1データずつ順次入力される。入力されたウェーブレット係数の絶対値データは、ビットOR回路32へ入力される。
【0094】
制御部35は、1つの絶対値データが入力されると、その絶対値データが、ウェーブレット変換領域内のいずれのコードブロックに属しているかを判断する。すなわち、その絶対値データが、輝度成分であるのか、Cr成分であるのか、Cb成分であるのかを判断し、さらに、その中の何番目のコードブロックに属しているのかを判断する。制御部35は、入力された絶対データが属するコードブロックを判断すると、そのコードブロックに対応するレジスタを選択する。制御部35は、選択したレジスタから、ビット位置特定情報を読み出し、第2の変換器34に供給する。なお、各レジスタ内に格納されているビット位置特定情報は、ウェーブレット変換領域内の最初のデータが入力されたときに、その値が“1111”に初期化される。第2の変換器34は、入力された4ビットのビット位置特定情報を、図5に示したテーブルに従い、11ビットのビット位置データに変換する。変換されたビット位置データは、ビットOR回路32に供給される。
【0095】
ビットOR回路32は、入力された1つの絶対値データと、第2の変換器34から出力された1つのビット位置データとのビット論理和を演算する。ビット論理和の11ビットの演算結果データは、第1の変換器33に供給される。第1の変換器33は、入力された11ビットの演算結果データを、図4に示したテーブルに従い、4ビットのビット位置特定情報に変換する。
【0096】
制御部35は、第1の変換器33の出力を、選択したレジスタ、つまり、入力された絶対値データが属するコードブロックに対応したレジスタに格納する。従って、ビット論理和演算した結果に基づき生成されたビット位置特定情報が、新たなビット位置特定情報となる。
【0097】
制御部35は、続いて入力される絶対値データに対しても、1回ずつ以上の処理を行う。
【0098】
初期ビットプレーン検索部7では、1つのウェーブレット変換領域内の全係数に対して以上の処理を行うことによって、全絶対値データをコードブロック毎にビット論理和演算し、その演算結果に基づきビット位置特定情報が生成されたこととなる。すなわち、最終的にレジスタに格納されているビット位置特定情報が、各コードブロックの初期ビットプレーンを示すこととなる。
【0099】
制御部35は、1つのウェーブレット変換領域内の全データに対して処理が終了すると、各レジスタ内のビット位置特定情報を参照して、各コードブロックの初期ビットプレーンを算出する。
【0100】
制御部35は、算出した各コードブロックの初期ビットプレーンの位置情報を、ビットモデリング部5に供給し、続くウェーブレット変換領域に対する処理を行う。
【0101】
(第3の構成例)
つぎに、初期ビットプレーン検索部7の第3の構成例について図6を参照して説明する。
【0102】
第3の構成例の初期ビットプレーン検索部7は、図6に示すように、格納部41と、第3の変換器42と、比較器43と、制御部44とを備えて構成される。
【0103】
格納部41は、上述した第2の構成例の格納部31と同一の構成である。
【0104】
制御部44は、格納部41内の複数のレジスタのうち1つのレジスタを選択し、そのレジスタに対してビット位置特定情報の書き込み及び読み出しの制御をする。また、制御部44は、1つのウェーブレット変換領域内のウェーブレット係数の絶対値データが全て入力され、これらに対する処理を全て終了した後に、各レジスタに格納されているビット位置特定情報に基づき、各コードブロックの初期ビットプレーンを算出する。
【0105】
第3の変換器42は、入力された11ビットの絶対値データを、4ビットのビット位置特定情報に変換する処理を行う。第3の変換器42は、11ビットの演算結果データをMSBから検索していき、最初に‘1’が発生したビット位置を検出し、検出したビット位置を特定するビット位置特定情報を生成する。
【0106】
具体的には、第3の変換器42は、図7に示すような、テーブルで記述することができる。なお、この図7で示しているプログラム記述言語は、LSIの開発で用いられるハードウェア記述言語(HDL)により記述されたものである。
【0107】
“wire[10:0] IN3;”では、入力データのデータ幅が11ビットであること、入力データ名が“IN3”であることを定義している。“IN3”は、入力された11ビットの絶対値データである。
【0108】
“reg[3:0] OUT3;”では、出力データのデータ幅が4ビットであること、出力データ名が“OUT3”であることを定義している。“OUT3”は、比較器43に入力される4ビットのビット位置特定情報である。
【0109】
“casez(IN3)”から“endcasez”までは、11ビットの入力データ(IN3)のデータ内容を条件とし、その条件に合致した4ビット出力データ(OUT3)を選択して出力する、いわゆるケース文である。
【0110】
“casez(IN3)”から“endcasez”までで定義されている具体的な入出力関係は、以下のとおりである。
【0111】
入力データ(IN3) 出力データ(OUT3)
000_0000_0000 0000
1??_????_???? 1011
01?_????_???? 1010
001_????_???? 1001
000_1???_???? 1000
000_01??_???? 0111
000_001?_???? 0110
000_0001_???? 0101
000_0000_1??? 0100
000_0000_01?? 0011
000_0000_001? 0010
000_0000_0001 0001
なお、‘?’で示されているビットの値は、“1”であっても、“0”であってもよい。このケース文では、先頭の“1”の値が発生するビット位置のみが必要であり、それ以下のビット値は関係がないためである。
【0112】
比較器43には、第3の変換器42から出力されたビット位置特定情報と、レジスタに格納されていたビット位置特定情報とが入力される。比較器43は、入力された2つの情報のうち、いずれか一方の値が大きい方を選択して出力する。選択された一方のビット位置特定情報は、制御部43が選択したレジスタに対して、つまり、入力された絶対値データが属するコードブロックのレジスタに対して、新たなビット位置特定情報として格納される。
【0113】
具体的には、比較器43は、図8に示すような、比較演算プログラムで記述することができる。なお、この図8で示しているプログラム記述言語は、HDLにより記述されたものである。
【0114】
“wire[10:0] OUT3,IN4;”では、入力データが2つあり、両者の入力データのデータ幅が4ビットであること、入力データ名が“OUT3”と“IN4”であることを定義している。“OUT3”は、第3の変換器42から出力されたビット位置特定情報である。“IN4”は、制御部44が選択したレジスタに格納されているビット位置特定情報である。
【0115】
“reg[3:0] OUT4;”では、出力データのデータ幅が4ビットであること、出力データ名が“OUT4”であることを定義している。“OUT4”は、制御部44が選択したレジスタに入力される4ビットのビット位置特定情報である。
【0116】
“OUT4 = (OUT3>IN4)?OUT3:IN4”は、OUT3>IN4の条件が合致するならば“OUT3”を出力し、それ以外であれば“IN4”を出力することを示している。
【0117】
つぎに、この第3の構成例の初期ビットプレーン検索部7の動作について説明する。
【0118】
初期ビットプレーン検索部7には、絶対値データが、ウェーブレット変換部2から入力される。初期ビットプレーン検索部7には、1つのウェーブレット変換領域内の全ウェーブレット係数が、1データずつ順次入力される。入力されたウェーブレット係数の絶対値データは、第3の変換器42へ入力される。第3の変換器42は、入力された11ビットの絶対値データを、図7に示したテーブルに従い、4ビットのビット位置特定情報に変換する。
【0119】
制御部44は、1つの絶対値データが入力されると、その絶対値データが、ウェーブレット変換領域内のいずれのコードブロックに属しているかを判断する。すなわち、その絶対値データが、輝度成分であるのか、Cr成分であるのか、Cb成分であるのかを判断し、さらに、その中の何番目のコードブロックに属しているのかを判断する。制御部44は、入力された絶対値データが属するコードブロックを判断すると、そのコードブロックに対応するレジスタを選択する。制御部44は、選択したレジスタから、ビット位置特定情報を読み出し、比較器43に供給する。なお、各レジスタ内に格納されているビット位置特定情報は、ウェーブレット変換領域内の最初のデータが入力されたときに、その値が“0000”に初期化される。
【0120】
比較器43は、第3の変換器42から入力された1つのビット位置特定情報と、レジスタから出力された1つのビット位置特定情報とを、図8に示すプログラムに従い比較をし、値の大きいいずれか一方のビット位置特定情報を出力する。
【0121】
制御部44は、比較器43の出力を、選択したレジスタに格納する。すなわち、比較した結果、値が大きい方のビット位置特定情報が、新たなビット位置特定情報としてレジスタに格納される。
【0122】
制御部44は、続く絶対値データに対しても以上の処理を行っていき、ウェーブレット変換領域内の全係数に対して以上の処理を行う。
【0123】
初期ビットプレーン検索部7では、以上のような処理を行うことによって、全絶対値データのうちもっとも値が大きいビット位置特定情報が、コードブロック毎にレジスタに格納されることとなる。すなわち、最終的にレジスタに格納されているビット位置特定情報が、各コードブロックの初期ビットプレーンを示すこととなる。
【0124】
制御部44は、1つのウェーブレット変換領域内の全データに対して処理が終了すると、各レジスタ内のビット位置特定情報を参照して、各コードブロックの初期ビットプレーンを算出する。
【0125】
制御部44は、算出した各コードブロックの初期ビットプレーンの位置情報を、ビットモデリング部5に供給し、続くウェーブレット変換領域に対する処理を行う。
【0126】
【発明の効果】
本発明のビットプレーン符号化装置では、ブロック毎に識別されたビット位置データを保持し、各入力されたデータのブロックを識別しながら、入力データとビット位置データとの論理和を演算する。本発明のビットプレーン符号化装置では、その演算結果を、新たなビット位置データとして保持する。本発明のビットプレーン符号化装置では、以上の論理和演算を、符号化対象となるデータ群内の全データに対して行い、最終的に得られたビット位置データに基づき、各ブロック毎に値が有効とされたビットが含まれるビットプレーンのうちの最上位のビットプレーンを求める。
【0127】
このことから、本発明のビットプレーン符号化装置では、簡易な構成で、有意である係数が最初に登場するビットプレーンの検索処理を行うことができる。
【0128】
また、本発明のビットプレーン符号化装置では、ブロック毎に識別されたビット位置特定情報を保持する。このビット位置特定情報は、nビット内の或る一つのビット位置を特定する情報である。本発明のビットプレーン符号化装置では、各入力されたデータのブロックを識別しながら、そのビット位置特定情報に示されたビット位置と入力された絶対値成分の最上位の有効ビットのビット位置とを比較して上位のビット位置を選択し、当該ブロックのビット位置特定情報を選択したビット位置を特定する内容に更新する。そして、最終的に得られたビット位置特定情報に基づき、各ブロック毎に値が有効とされたビットが含まれるビットプレーンのうちの最上位のビットプレーンを求める。
【0129】
このことから、本発明のビットプレーン符号化装置では、簡易な構成で、有意である係数が最初に登場するビットプレーンの検索処理を行うことができる。
【図面の簡単な説明】
【図1】本発明を適用したJPEG2000の符号化装置のブロック構成図である。
【図2】初期ビットプレーン検索部の第1の構成例を示すブロック構成図である。
【図3】初期ビットプレーン検索部の第2の構成例を示すブロック構成図である。
【図4】第1の変換器のHDLの記述例を説明するための図である。
【図5】第2の変換器のHDLの記述例を説明するための図である。
【図6】初期ビットプレーン検索部の第3の構成例を示すブロック構成図である。
【図7】第3の変換器のHDLの記述例を説明するための図である。
【図8】比較器のHDLの記述例を説明するための図である。
【図9】水平方向が176ピクセル、垂直方向が144ピクセルの解像度の4:2:2フォーマットの画像データに対して、解像度レベル2のウェーブレット変換をした場合の輝度成分のサブバンドを示す図である。
【図10】水平方向が176ピクセル、垂直方向が144ピクセルの解像度の4:2:2フォーマットの画像データに対して、解像度レベル2のウェーブレット変換をした場合の色差成分のサブバンドを示す図である。
【図11】図9に示した各サブバンドをコードブロックに分割する場合について説明する図である。
【図12】図10に示した各サブバンドをコードブロックに分割する場合について説明する図である。
【符号の説明】
1 JPEG2000符号化装置、7 初期ビットプレーン検索部
Claims (4)
- 絶対値成分がnビット(nは自然数)で表現された複数のデータから構成されるデータ群を、複数のブロックに分割し、分割したブロック単位でのビットプレーン符号化を行うビットプレーン符号化装置において、
上記データ群に含まれている各ブロックに対する、値が有効とされたビット(有効ビット)が含まれるビットプレーンのうちの最上位のビットプレーンを、検索するビットプレーン検索手段を備え、
上記ビットプレーン検索手段は、
nビットの複数のビット位置データを上記データ群内の各ブロックに対応させて格納する格納部と、
上記格納部内の複数のビット位置データのうちから1つのビット位置データを選択する選択制御部と、
上記データ群を構成する各データの絶対値成分が1つずつ順次に入力され、入力された1つの絶対値成分と上記選択部により選択された1つのビット位置データとのビット論理和を演算するビット論理和演算部とを有し、
上記選択制御部は、
上記ビット論理和演算部に1つの絶対値成分が入力されると、その絶対値成分がいずれのブロックに所属するかを判断し、その判断結果に基づき上記ビット論理和演算部に入力された絶対値成分が所属するブロックのビット位置データを上記格納部から読み出し、そのビット位置データと入力された絶対値成分とのビット論理和を上記論理和演算部に演算させ、その演算結果を当該ブロックの新たなビット位置データとして格納部に格納し、
上記データ群内の全データが入力された後、上記データ群に含まれている各ブロックに対する値が有効とされたビット(有効ビット)が含まれるビットプレーンのうちの最上位のビットプレーンを、上記格納部に格納されているビット位置データに基づき算出すること
を特徴とするビットプレーン符号化装置。 - 絶対値成分がnビット(nは自然数)で表現された複数のデータから構成されるデータ群を、複数のブロックに分割し、分割したブロック単位でのビットプレーン符号化を行うビットプレーン符号化装置において、
上記データ群に含まれている各ブロックに対する、値が有効とされたビット(有効ビット)が含まれるビットプレーンのうちの最上位のビットプレーンを、検索するビットプレーン検索手段を備え、
上記ビットプレーン検索手段は、
nビット内の或る一つのビット位置を特定する複数のビット位置特定情報を、上記データ群内の各ブロックに対応させて格納する格納部と、
上記データ群を構成する各データの絶対値成分が1つずつ順次に入力され、1つの絶対値成分が入力される毎に、上記格納部に格納されている複数のビット位置特定情報のうちの1つのビット位置特定情報を更新する更新制御部とを有し、
上記更新制御部は、1つの絶対値成分が入力されると、その絶対値成分がいずれのブロックに所属するかを判断し、その判断結果に基づき入力された絶対値成分が所属するブロックのビット位置特定情報を上記格納部から読み出し、そのビット位置特定情報に示されたビット位置と入力された絶対値成分の最上位の有効ビットのビット位置とを比較して上位のビット位置を選択し、上記格納部内の当該ブロックのビット位置特定情報を選択したビット位置を特定する内容に更新し、
上記格納部は、上記データ群を構成する全データの絶対値成分に対する更新終了後の各ビット位置特定情報を、上記データ群に含まれている各ブロックに対する有効ビットが含まれるビットプレーンのうちの最上位のビットプレーンとして出力すること
を特徴とするビットプレーン符号化装置。 - 上記更新制御部は、
上記格納部内のビット位置特定情報を入出力制御する入出力制御部と、
上記格納部内のビット位置特定情報が入力され、入力されたビット位置特定情報で特定されているビット位置のビット値が有効とされ、そのビット位置よりも上位のビット値が無効とされたnビットの変換データを出力する第1のデータ変換部と、
上記絶対値成分と上記変換データとが入力され、入力された絶対値成分と上記変換データとのビット論理和を演算し、nビットの論理和データを出力するビット論理和演算部と、
上記論理和データが入力され、入力された論理和データの最上位の有効ビットのビット位置を特定するビット位置特定情報を生成する第2のデータ変換部とを有し、
上記入出力制御部は、
上記ビット論理和演算部に入力された絶対値成分が所属するブロックのビット位置特定情報を上記格納部から読み出して、上記第1のデータ変換部に入力し、上記第2のデータ変換部から出力されたビット位置特定情報を、上記ビット論理和演算部に入力された絶対値成分が所属するブロックの新たなビット位置特定情報として、上記格納部に格納すること
を特徴とする請求項2記載のビットプレーン符号化装置。 - 上記更新制御部は、
上記格納部内のビット位置特定情報を入出力制御する入出力制御部と、
上記絶対値成分が入力され、入力された絶対値成分の最上位の有効ビットのビット位置を特定するビット位置特定情報を生成する第3のデータ変換部と、
上記第4のデータ変換部と上記格納部内のビット位置特定情報とが入力され、入力された2つのビット位置特定情報を比較し、上位のビットを示す一方のビット位置特定情報を出力する比較部とを備え、
上記入出力制御部は、
上記第3のデータ変換部に入力された絶対値成分が所属するブロックのビット位置特定情報を上記格納部から読み出して、上記比較部に入力し、
上記比較部から出力されたビット位置特定情報を、上記第3のデータ変換部に入力された絶対値成分が所属するブロックの新たなビット位置特定情報として、上記格納部に格納すること
を特徴とする請求項2記載のビットプレーン符号化装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002092883A JP3700670B2 (ja) | 2002-03-28 | 2002-03-28 | ビットプレーン符号化装置 |
US10/400,423 US6947484B2 (en) | 2002-03-28 | 2003-03-27 | Bit plane coding apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002092883A JP3700670B2 (ja) | 2002-03-28 | 2002-03-28 | ビットプレーン符号化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003289441A JP2003289441A (ja) | 2003-10-10 |
JP3700670B2 true JP3700670B2 (ja) | 2005-09-28 |
Family
ID=28671724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002092883A Expired - Lifetime JP3700670B2 (ja) | 2002-03-28 | 2002-03-28 | ビットプレーン符号化装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6947484B2 (ja) |
JP (1) | JP3700670B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3961870B2 (ja) * | 2002-04-30 | 2007-08-22 | 株式会社リコー | 画像処理方法、画像処理装置、及び画像処理プログラム |
JP4169267B2 (ja) * | 2003-06-05 | 2008-10-22 | 株式会社リコー | 画像改ざん検知装置およびその保存データの復元方法 |
TW200727598A (en) * | 2005-11-18 | 2007-07-16 | Sony Corp | Encoding/decoding device/method and the transmission system |
RU2340114C1 (ru) * | 2005-11-18 | 2008-11-27 | Сони Корпорейшн | Устройство и способ кодирования, устройство и способ декодирования и система передачи |
JP4745865B2 (ja) * | 2006-02-28 | 2011-08-10 | 富士通セミコンダクター株式会社 | 符号化装置および方法 |
US8127186B2 (en) * | 2007-02-28 | 2012-02-28 | Verigy (Singapore) Pte. Ltd. | Methods and apparatus for estimating a position of a stuck-at defect in a scan chain of a device under test |
US7650547B2 (en) * | 2007-02-28 | 2010-01-19 | Verigy (Singapore) Pte. Ltd. | Apparatus for locating a defect in a scan chain while testing digital logic |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2900385B2 (ja) * | 1988-12-16 | 1999-06-02 | ソニー株式会社 | フレーム化回路及び方法 |
US5163103A (en) * | 1988-12-27 | 1992-11-10 | Kabushiki Kaisha Toshiba | Discrete cosine transforming apparatus |
US5966465A (en) * | 1994-09-21 | 1999-10-12 | Ricoh Corporation | Compression/decompression using reversible embedded wavelets |
JP3364074B2 (ja) * | 1995-06-05 | 2003-01-08 | 株式会社リコー | ビットプレーン符号化装置 |
US6847735B2 (en) * | 2000-06-07 | 2005-01-25 | Canon Kabushiki Kaisha | Image processing system, image processing apparatus, image input apparatus, image output apparatus and method, and storage medium |
-
2002
- 2002-03-28 JP JP2002092883A patent/JP3700670B2/ja not_active Expired - Lifetime
-
2003
- 2003-03-27 US US10/400,423 patent/US6947484B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6947484B2 (en) | 2005-09-20 |
JP2003289441A (ja) | 2003-10-10 |
US20030191914A1 (en) | 2003-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5546477A (en) | Data compression and decompression | |
JP3800551B2 (ja) | データ処理装置及び方法 | |
US7418146B2 (en) | Image decoding apparatus | |
KR100467949B1 (ko) | 웨이블렛 데이터의 제로트리 인코딩 | |
KR20040005991A (ko) | 웨이블릿 변환 계수의 코딩을 위한 방법 및 장치 | |
CN101273639A (zh) | 多维数字信号的滤波方法和设备及相关编解码方法和设备 | |
US20040013312A1 (en) | Moving image coding apparatus, moving image decoding apparatus, and methods therefor | |
US20110091123A1 (en) | Coding apparatus and coding method | |
CN101742309A (zh) | 图像解码装置、图像解码方法以及计算机程序 | |
JP3700670B2 (ja) | ビットプレーン符号化装置 | |
Shah et al. | VLSI-oriented lossy image compression approach using DA-based 2D-discrete wavelet. | |
US8411978B1 (en) | Group encoding of wavelet precision | |
JP2001326935A (ja) | 画像符号/復号方法及びその装置並びにそのプログラムを記録した記録媒体 | |
George et al. | A novel approach for image compression using zero tree coding | |
JP4111761B2 (ja) | 画像処理装置 | |
JPH11225075A (ja) | 符号化方法及び装置 | |
CN111131834A (zh) | 可逆自编码器、编解码方法以及图像压缩方法、装置 | |
JP2845098B2 (ja) | 多値画像圧縮符号の復号方法および装置 | |
JP4114144B2 (ja) | 画像符号化装置、画像符号化プログラム、及び画像復号化プログラム | |
GB2302244A (en) | Wavelet transform filter | |
US20110091119A1 (en) | Coding apparatus and coding method | |
Chang et al. | Progressive image transmission by dynamic binary thresholding | |
Kiranmaye et al. | Implementation of a Novel Adaptive Coding using VLSI Architecture for Data Compression in Image Processing | |
JP2005277758A (ja) | 画像復号装置 | |
JP2004320157A (ja) | データ符号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050317 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050329 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050527 |
|
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: 20050621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050704 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080722 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090722 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090722 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100722 Year of fee payment: 5 |