(57)【要約】【課題】ＪＰＥＧ２０００符号化方式による画像符号化装置を構成する場合等に使用されるビットモデルング演算器に関し、簡単な構成で、ビットモデリング処理の高速化を図ることができるようにする。【解決手段】パス演算器２６により、ストライプの４ビットをパス決定処理単位として、ビットプレーン内の各ビットのパスの決定処理を順に行う。そして、コンテクスト演算器２８により、ストライプの４ビットをコンテクスト決定処理単位として、シンボル、パス演算器２６で得られるパス情報及び有意情報を用いて、ストライプの４ビットのコンテクスト決定処理を同時に行うことにより、ビットプレーンの各ビットのコンテクスト決定処理を行う。【選択図】          図１
2005341368.tif 000002
【特許請求の範囲】
【請求項１】
ビットプレーン内の各ビットのパス決定処理を行うパス演算器と、
該パス演算器で得られるパス情報、シンボル及び有意情報を用いて、前記ビットプレーン内の各ビットのコンテクスト決定処理を行うコンテクスト演算器を有することを特徴とするビットモデリング演算器。
【請求項２】
前記コンテクスト演算器は、複数ビットを単位として同時にコンテクスト決定処理を行うことにより、前記ビットプレーン内の各ビットのコンテクスト決定処理を行うことを特徴とする請求項１記載のビットモデリング演算器。
【請求項３】
前記パス決定処理及び前記コンテクスト決定処理は、垂直方向の複数ビットからなるストライプを単位として前記ビットプレーンをラスタ走査することにより行われ、
前記パス演算器及び前記コンテクスト演算器は、前記コンテクスト演算器が現にコンテクスト決定処理を行うストライプの１ビット下のビットのパスが既に決定されているように演算位置を制御されることを特徴とする請求項１記載のビットモデリング演算器。
【請求項４】
前記コンテクスト演算器の出力データを記憶する記憶装置を制御する制御装置を有し、
該制御装置は、前記ビットプレーンを単位としてＭＲパスに属するビット数を算出し、前記記憶装置の記憶空間の一端から一定の記憶領域を前記ＭＲパスに属する出力データの記憶領域、残りの記憶領域をＳＰパスに属するデータ及びＣＬパスに属するデータの記憶領域とし、前記ＳＰパスに属するデータ及び前記ＣＬパスに属するデータを、それぞれ、前記残りの記憶領域の記憶空間の両端から逆方向に記憶させることを特徴とする請求項１記載のビットモデリング演算器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＪＰＥＧ２０００符号化方式の画像符号化装置を構成する場合等に使用するビットモデリング演算器に関する。より具体的には、ビットモデリング演算器の高速化技術に関する。
【背景技術】
【０００２】
図１４はＪＰＥＧ２０００符号化方式による従来の画像符号化装置の一例の要部の概略的構成図である。図１４中、１０はウエーブレット変換器、１１はエントロピー符号化器、１２はストリーム生成器である。
【０００３】
ウエーブレット変換器１０はデジタル化された入力画像データに対してウエーブレット変換を行うものである。エントロピー符号化器１１はウエーブレット変換器１０が出力するウエーブレット係数を入力してエントロピー符号化を行うものである。ストリーム生成器１２はエントロピー符号化器１１が出力する符号化データを入力して圧縮画像データのビットストリームを生成するものである。
【０００４】
また、エントロピー符号化器１１において、１３はビットモデリング演算器、１４は算術符号化器である。ビットモデリング演算器１３はウエーブレット変換器１０が出力するウエーブレット係数を入力してビットモデリングの演算を行うものである。算術符号化器１４はビットモデリング演算器１３が出力するシンボル及びコンテクストを入力してＭＱ−ＣＯＤＥＲ方式による算術符号化を行い、符号化データを生成するものである。
【０００５】
図１４に示す従来の画像符号化装置においては、ウエーブレット変換器１０による変換結果はコードブロックと呼ばれる矩形領域に分割されて切り出され、切り出されたコードブロック毎にビットモデリング演算が行われる。
【０００６】
図１５はビットモデリング演算器１３での処理の流れを示す図である。図１５中、１５はＭ×Ｎ画素の大きさに切り出されたコードブロックを示しており、コードブロック１５は、各画素のウエーブレット係数が１ビットずつ分解され、同じ深さのビットが集められて、ビットプレーン１６−１〜１６−６と呼ばれるＭ×Ｎビットのデータに分解される。
【０００７】
そして、更に、ビットプレーン１６−ｋも、今まで処理してきた処理情報から各ビットをSignificance propagation pass、Magnitude refinement pass、Cleanup pass（以下、それぞれ、ＳＰパス、ＭＲパス、ＣＬパスという）のいずれかのパスに分類され、１パスずつ、かつ、１ビットずつ順にコンテクスト決定処理が行われる。
【０００８】
図１６はビットモデリング演算器１３が各パスについてコンテクスト決定処理を行う場合の処理順序を示す図である。即ち、各パスについてコンテクスト決定処理を行う場合には、まず、パスの左上からストライプと呼ばれる縦方向の４ビットのコンテクスト決定処理が順に行われ、次に右隣のストライプの４ビットのコンテクスト決定処理が順に行われ、これが繰り返される。
【０００９】
そして、右端に達すると、縦方向に１ストライプ分シフトして同様のコンテクスト決定処理がストライプごとに左端から右方向にシフトしながら行われていく。この順序で、１ビットずつコンテクストが決定され、右下まで繰り返されていく。これがＳＰパス、ＭＲパス、ＣＬパスの順番で行われ、この３つのパスについてのコンテクスト決定処理が終わると、次のビットプレーンのコンテクスト処理に移ることになる。
【特許文献１】特開２００３―３２４９６号公報
【特許文献２】特開２００３―８９０６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従来のビットモデリング演算器１３においては、入力されるコードブロック１５のデータをビットプレーン１６−１〜１６−６に分解し、更に、ビットプレーンを３つのパスに分解して１パスずつ、かつ、１ビットずつ順にコンテクスト決定処理を行うとしているので、多くの処理時間が必要であるという問題点があった。
【００１１】
なお、特開２００３−３２４９６号公報には、ビットモデリング演算を複数のコードブロック又は複数のビットプレーンについて並列して行う技術が開示されているが、このようにする場合には、回路規模が大きくなるという問題点がある。
【００１２】
また、特開２００３−８９０６号公報には、ＳＰパスとＭＲパスとＣＬパスをまたがって処理する技術が記載されているが、これらを同時に処理するのではなく、ＳＰパスの処理結果を待ってからＭＲパスの処理を行い、ＭＲパスの処理結果を待ってからＣＬパスの処理を行うとしているため、待ち時間が生じると共に、ＳＰパス及びＭＲパスのデータを保存しておく記憶領域が必要となり、回路規模が大きくなるという問題点がある。
【００１３】
本発明は、かかる点に鑑み、簡単な構成で、ビットモデリング処理の高速化を図ることができるようにしたビットモデリング演算器、更には、コンテクストを一時保存しておく記憶領域の小規模化を図ることができるようにしたビットモデリング演算器を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明のビットモデリング演算器は、ビットプレーン内の各ビットのパス決定処理を行うパス演算器と、このパス演算器で得られるパス情報、シンボル及び有意情報を用いて、ビットプレーン内の各ビットのコンテクスト決定処理を行うコンテクスト演算器を有するものである。
【発明の効果】
【００１５】
本発明によれば、コンテクスト演算器は、ビットプレーン内の各ビットのコンテクスト決定処理にパス演算器で得られるパス情報を用いるので、注目ビットがどのパスに属していたとしても、そのコンテクストを決定することができる。したがって、簡単な構成で、ビットモデリング処理の高速化を図ることができる。
【００１６】
なお、コンテクスト演算器を、複数ビットを単位として同時にコンテクスト決定処理を行うことにより、ビットプレーン内の各ビットのコンテクスト決定処理を行う構成とする場合には、ビットモデリング処理の更なる高速化を図ることができる。
【発明を実施するための最良の形態】
【００１７】
図１は本発明の一実施形態を用いてなるＪＰＥＧ２０００符号化方式による画像符号化装置の要部の概略的構成図である。図１中、２０はウエーブレット変換器、２１はコードブロックデータ記憶装置、２２は本発明の一実施形態のビットモデリング演算器、２３はＳＲＡＭからなるシンボル・コンテクスト記憶装置、２４は算術符号化器、２５はストリーム生成器である。
【００１８】
ウエーブレット変換器２０はデジタル化された入力画像データに対してウエーブレット変換を行うものである。コードブロックデータ記憶装置２１はウエーブレット変換器２０の変換結果から切り出されたコードブロックのデータを記憶するものである。
【００１９】
ビットモデリング演算器２２は、コードブロックデータ記憶装置２１が記憶するコードブロックのデータを入力してビットモデリング演算を行い、算術符号化用のシンボル及びコンテクストの生成を行うものである。シンボル・コンテクスト記憶装置２３はビットモデリング演算器２２が出力するシンボル及びコンテクストを記憶するものである。
【００２０】
算術符号化器２４は、シンボル・コンテクスト記憶装置２３からシンボル及びコンテクストを読み出して、ＭＱ−ＣＯＤＥＲ方式で算術符号化を行い、符号化データを生成するものである。ストリーム生成器２５は算術符号化器２４が出力する符号化データを入力して圧縮画像データのビットストリームを生成するものである。
【００２１】
また、ビットモデリング演算器２２において、２６はパス演算器、２７は中間データ記憶装置、２８はコンテクスト演算器、２９は有意ビット記憶装置、３０はビットモデリング制御装置である。
【００２２】
パス演算器２６はコードブロックデータ記憶装置２１から４ビット単位で読み出されるビットプレーンのデータ（シンボル）を入力してビットプレーンの各ビットのパスを決定するものである。中間データ記憶装置２７はパス演算器２６から出力されるパス情報をシンボル及び正負符号とともに記憶するものである。
【００２３】
コンテクスト演算器２８は、ビットプレーン内の４ビットをコンテクスト決定処理単位として、シンボル、中間データ記憶装置２７に記憶されたパス情報及び有意ビット情報を用いて、ビットプレーン内の４ビットのコンテクスト決定処理を同時に行うことにより、ビットプレーン内の各ビットのコンテクスト決定処理を行うものである。有意ビット記憶装置２９はコンテクスト演算器２８から得られる有意ビットを記憶するものである。
【００２４】
ビットモデリング制御装置３０は、コードブロックデータ記憶装置２１に対する読み出し制御、中間データ記憶装置２７に対する書き込み／読み出し制御、有意ビット記憶装置２９に対する書き込み／読み出し制御、シンボル・コンテクスト記憶装置２３に対する書き込み制御を行うものである。
【００２５】
また、算術符号化器２４において、３２は演算器、３３は演算制御装置である。演算器３２は、シンボル・コンテクスト記憶装置２３から読み出されるシンボル及びコンテクストを対象としてＭＱ−ＣＯＤＥＲ方式で算術符号化を行い、符号化データを生成するものである。演算制御装置３３は、シンボル・コンテクスト記憶装置２３に対する読み出し制御及び演算器３２の演算制御を行うものである。
【００２６】
図２はコードブロックデータ記憶装置２１からのビットプレーンの各ビットのデータの読み出し順序を示す図である。図１に示す画像符号化装置においては、ビットモデリング制御装置３０からコードブロックデータ記憶装置２１に対して読み出しアドレスが与えられる。
【００２７】
図２（Ａ）はビットプレーンを示しており、図１に示す画像符号化装置においては、まず、ビットプレーンの左上からストライプと呼ばれる縦方向の４ビットのデータ（シンボル）がコードブロックデータ記憶装置２１からパス演算器２６に転送される。
【００２８】
そして、パス演算器２６でストライプの各ビットのパスが決定されると、パスが決定されたストライプの右隣のストライプのデータがコードブロックデータ記憶装置２１からパス演算器２６に転送される。
【００２９】
以後、このようなデータ転送が繰り返され、ビットプレーンの右端に達すると、縦方向に１ストライプ分シフトして同様のストライプ毎のデータの転送が行われ、ビットプレーンの右下に達すると、次のビットプレーンのデータの転送に移ることになる。
【００３０】
ここで、ビットプレーンの各ビットの列番号をｍ（但し、ｍ＝１、２、…、１４）、行番号を［４（ｎ−１）＋ｉ］（但し、ｎ＝１、２、３。ｉ＝１、２、３、４）とすると、パス演算器２６は、図２（Ａ）に矢印で示す順番に従って、図２（Ｂ）に示すように、ｍ列目の［４（ｎ−１）＋１］〜［４（ｎ−１）＋４］行目のビットのデータ（シンボル）を入力し、各ビットのパスを決定することになる。
【００３１】
パス演算器２６におけるビットプレーンの各ビットのパスの決定は、ストライプの一番上のビット（ビットプレーンの［４（ｎ−１）＋１］行目のビット）の場合には、以下の（１）、（２）又は（３）に示すように行われる。
【００３２】
（１）注目ビット（現在、処理の対象として注目しているビット）位置において、現在処理中のビットプレーンより以前に“1”が出現したことがある（注目ビットの有意情報が既に“１”である）場合には、注目ビットのパスをＭＲパスと決定する。
【００３３】
（２）「（１）の条件に当てはまらない」かつ「現在処理中のビットプレーンの前のビットプレーンまでに“1”が出現したことがあるビットが、周辺の８ビットに１つ以上存在する（８近傍に有意情報が“１”であるビットが１つ以上存在する）」場合には、注目ビットのパスをＳＰパスと決定する。
【００３４】
（３）上記の（１）、（２）の条件に当てはまらない場合には、注目ビットのパスをＣＬパスと決定する。
【００３５】
また、ストライプの２番目以下のビット（ビットプレーンの［４（ｎ−１）＋２］行目、［４（ｎ−１）＋３］行目、［４（ｎ−１）＋４］行目のビット）の場合には、パスの決定は、以下の（４）、（５）又は（６）に示すように行われる。
【００３６】
（４）注目ビット位置において、現在処理中のビットプレーンより以前に“1”が出現したことがある（注目ビットの有意情報が既に“１”である）場合には、注目ビットのパスをＭＲパスと決定する。
【００３７】
（５）「（４）の条件に当てはまらない」かつ『「現在処理中のビットプレーンの前のビットプレーンまでに“1”が出現したことがあるビットが、周辺に８ビットに１つ以上存在する（８近傍に有意情報が“１”であるビットが１つ以上存在する）」もしくは「現在処理中のビットプレーンにおいて、注目ビットより以前に処理される領域の中に、ＳＰパスと判定され、かつ、シンボルが“1”であるものが存在する（注目ビットの上のビットがＳＰパスであり、かつ、シンボルが“１”である）」』場合には、注目ビットのパスをＳＰパスと決定する。
【００３８】
（６）上記の（４）、（５）の条件に当てはまらない場合には、注目ビットのパスをＣＬパスと決定する。
【００３９】
図３はパス演算器２６が備えるパス決定器の概略的構成図であり、図３（Ａ）はストライプの一番上のビット用のパス決定器、図３（Ｂ）はストライプの２番目以下のビット用のパス決定器である。
【００４０】
図３（Ａ）中、３４、３５はセレクタであり、セレクタ３４は、注目ビットの有意情報が既に“１”であるか否かを示すデータを選択制御データとし、真（Ｔ）の場合には、ＭＲパスであることを示すデータを選択して出力し、偽（Ｆ）の場合には、セレクタ３５の出力を選択して出力するものである。
【００４１】
セレクタ３５は、注目ビットの８近傍に有意情報が“１”であるビットが１つ以上存在するか否かを示すデータを選択制御データとし、真（Ｔ）の場合には、ＳＰパスであることを示すデータを選択して出力し、偽（Ｆ）の場合には、ＣＬパスであることを示すデータを選択して出力するものである。
【００４２】
図３（Ｂ）中、３６、３７、３８はセレクタであり、セレクタ３６は、注目ビットの有意情報が既に“１”であるか否かを選択条件とし、真（Ｔ）の場合には、ＭＲパスであることを示すデータを選択して出力し、偽（Ｆ）の場合には、セレクタ３６の出力を選択して出力するものである。
【００４３】
セレクタ３７は、注目ビットの上のビットのパスがＳＰパスであり、かつ、注目ビットの上のビットのシンボルが“１”であるか否かを示すデータを選択制御データとし、真（Ｔ）の場合には、ＳＰパスであることを示すデータを選択して出力し、偽（Ｆ）の場合には、セレクタ３８の出力を選択して出力する。
【００４４】
セレクタ３８は、注目ビットの８近傍に有意情報が“１”であるビットが１つ以上存在するか否かを示すデータを選択制御データとし、真（Ｔ）の場合には、ＳＰパスであることを示すデータを選択して出力し、偽（Ｆ）の場合には、ＣＬパスであることを示すデータを選択して出力するものである。
【００４５】
パス演算器２６から出力されるパス情報は、中間データ記憶装置２７のストライプ毎の記憶領域に記憶されるが、中間データ記憶装置２７にはビットモデリング制御装置３０から読み出しアドレスが与えられる。
【００４６】
図４は中間データ記憶装置２７の１ワード（記憶単位）分の記憶領域の構成例を示す図である。中間データ記憶装置２７の１ワード分の記憶領域には、ストライプの4ビット分のデータの他に、ストライプの上の1ビット分のデータも記憶する必要があり、また、1ビット毎に正負符号・シンボル・パスの３つのデータを記憶する必要がある。中間データ記憶装置２７には、コードブロックの規模に対応できるワード数分の記憶領域が必要である。
【００４７】
図５はパス演算器２６で必要とされる有意情報の生成工程を説明するための図である。図５中、３９−１〜３９−３、４０−１〜４０−３はパス演算器２６が備えるフリップフロップからなるレジスタである。
【００４８】
レジスタ３９−１〜３９−３は有意ビット記憶装置２９から読み出された有意情報が記憶される６ビット構成のレジスタ、レジスタ４０−１は中間データ記憶装置２７が記憶するシンボル及びパス情報から決定される値及びパス演算器２６の演算結果に基づく値が記憶される５ビット構成のレジスタ、レジスタ４０−２、４０−３は中間データ記憶装置２７が記憶するシンボル及びパス情報から決定される値が記憶される１ビット構成のレジスタである。
【００４９】
レジスタ３９−１のビット５〜ビット０は、ビットプレーンの（ｍ−１）列目の４（ｎ−１）〜第［４（ｎ−１）＋５］行目のビットに対応して設けられ、レジスタ３９−２のビット５〜ビット０は、ビットプレーンのｍ列目の４（ｎ−１）〜［４（ｎ−１）＋５］行目のビットに対応して設けられ、レジスタ３９−３のビット５〜ビット０は、ビットプレーンの（ｍ＋１）列目の４（ｎ−１）〜［４（ｎ−１）＋５］行目のビットに対応して設けられている。
【００５０】
レジスタ４０−１のビット５〜ビット１はビットプレーンの（ｍ−１）列目の４（ｎ−１）〜４（ｎ−１）＋４］行目のビットに対応して設けられ、レジスタ４０−２はビットプレーンのｍ列目の４（ｎ−１）行目のビットに対応して設けられ、レジスタ４０−３はビットプレーンの（ｍ＋１）列目の４（ｎ−１）行目のビットに対応して設けられている。
【００５１】
ここで、ビットプレーンのｍ列目の［４（ｎ−１）＋１］〜［４（ｎ−１）＋４］行目のビットのパスを決定する場合には、レジスタ３９−１のビット５〜ビット０にはビットプレーンの（ｍ−１）列目の４（ｎ−１）〜［４（ｎ−１）＋５］行目のビットの有意情報が記憶され、レジスタ３９−２のビット５〜ビット０にはビットプレーンのｍ列目の４（ｎ−１）〜［４（ｎ−１）＋５］行目のビットの有意情報が記憶され、レジスタ３９−３のビット５〜ビット０にはビットプレーンの（ｍ＋１）列目の４（ｎ−１）〜［４（ｎ−１）＋５］行目のビットの有意情報が記憶される。
【００５２】
なお、ｍ＝１の場合、（ｍ−１）列目は、０列目となり、ビットプレーンの左外側の列となるが、この場合、レジスタ３９−１のビット５〜ビット０には“０”が記憶される。また、ｍ＝１４の場合、（ｍ＋１）列目は、１５列目となり、ビットプレーンの右外側の列となるが、この場合、レジスタ３９−３のビット５〜ビット０には“０”が記憶される。
【００５３】
また、ｎ＝１の場合、４（ｎ−１）行目は、０行目となり、ビットプレーンの上外側の行となるが、この場合、レジスタ３９−１〜３９−３のビット５には“０”が記憶される。また、ｎ＝３の場合、［４（ｎ−１）＋５］行目は、１３行目となり、ビットプレーンの下外側の行になるが、この場合、レジスタ３９−１〜３９−３のビット０には“０”が記憶される。
【００５４】
また、レジスタ４０−１のビット５及びレジスタ４０−２、４０−３のそれぞれには、ビットプレーンの対応するビットがＳＰパスかつシンボル＝“１”の場合には“１”が記憶され、それ以外の場合には“０”が記憶される。レジスタ４０−１のビット４〜ビット１には、パス演算器２６の演算結果に基づく値が記憶され、前の処理ストライプにおいてＳＰパスかつシンボル＝“１”の場合には“１”が記憶され、それ以外の場合には“０”が記憶される。
【００５５】
なお、ｍ＝１の場合、（ｍ−１）列目は、０列目となり、ビットプレーンの左外側の列となるが、この場合、レジスタ４０−１のビット５〜ビット１には“０”が記憶される。また、ｎ＝１の場合、４（ｎ−１）行目は、０行目となり、ビットプレーンの上外側の行となるが、この場合、レジスタ４０−１のビット５及びレジスタ４０−２、４０−３には“０”が記憶される。
【００５６】
そして、パス演算器２６では、レジスタ３９−１〜３９−３とレジスタ４０−１〜４０−３の対応するビットのＯＲ処理が行われ、このＯＲ処理によって得られるデータが注目ストライプの有意情報４１として、注目ストライプのシンボル４２とともに、パス決定器に転送され、パスの決定が行われる。なお、図５（Ｃ）において、太線４３で囲む部分は、レジスタ４０−１〜４０−３のデータ有効領域を示している。
【００５７】
図６はコンテクスト演算器２８で必要とされる有意情報の生成工程を説明するための図である。図６中、４４−１〜４４−３、４５−１〜４５−３、４６−１〜４６−３はコンテクスト演算器２８が備えるフリップフロップ回路からなるレジスタである。
【００５８】
レジスタ４４−１〜４４−３は有意ビット記憶装置２９から読み出された有意情報が記憶される６ビット構成のレジスタ、レジスタ４５−１〜４５−３は中間データ記憶装置２７が記憶するシンボル及びパス情報から決定される値及びパス演算器２６の演算結果に基づく値が記憶される６ビット構成のレジスタ、レジスタ４６−１〜４６−３は中間データ記憶装置２７が記憶するシンボル及びパス情報から決定される値が記憶される５ビット構成のレジスタである。
【００５９】
レジスタ４４−１のビット５〜ビット０はビットプレーンの（ｍ−１）列目の４（ｎ−１）〜［４（ｎ−１）＋５］行目のビットに対応して設けられ、レジスタ４４−２のビット５〜ビット０はビットプレーンのｍ列目の４（ｎ−１）〜［４（ｎ−１）＋５］行目のビットに対応して設けられ、レジスタ４４−３のビット５〜ビット０はビットプレーンの（ｍ＋１）列目の４（ｎ−１）〜［４（ｎ−１）＋５］行目のビットに対応して設けられている。
【００６０】
レジスタ４５−１のビット５〜ビット０はビットプレーンの（ｍ−１）列目の４（ｎ−１）〜［４（ｎ−１）＋５］行目のビットに対応して設けられ、レジスタ４５−２のビット５〜ビット０はビットプレーンのｍ列目の４（ｎ−１）〜［４（ｎ−１）＋５］行目のビットに対応して設けられ、レジスタ４５−３のビット５〜ビット０はビットプレーンの（ｍ＋１）列目の４（ｎ−１）〜［４（ｎ−１）＋５］行目のビットに対応して設けられている。
【００６１】
レジスタ４６−１のビット５〜ビット１はビットプレーンの（ｍ−１）列目の４（ｎ−１）〜［４（ｎ−１）＋４］行目のビットに対応して設けられ、レジスタ４６−２のビット５〜ビット１はビットプレーンのｍ列目の４（ｎ−１）〜［４（ｎ−１）＋４］行目のビットに対応して設けられ、レジスタ４６−３のビット５〜ビット１はビットプレーンの（ｍ＋１）列目の４（ｎ−１）〜［４（ｎ−１）＋４］行目のビットに対応して設けられている。
【００６２】
ここで、ビットプレーンのｍ列目の［４（ｎ−１）＋１］〜［４（ｎ−１）＋４］行目のビットのコンテクストを決定する場合には、レジスタ４４−１のビット５〜ビット０にはビットプレーンの（ｍ−１）列目の４（ｎ−１）〜［４（ｎ−１）＋５］行目のビットの有意情報が記憶され、レジスタ４４−２のビット５〜ビット０にはビットプレーンのｍ列目の４（ｎ−１）〜［４（ｎ−１）＋５］行目のビットの有意情報が記憶され、レジスタ４４−３のビット５〜ビット０にはビットプレーンの（ｍ＋１）列目の４（ｎ−１）〜［４（ｎ−１）＋５］行目のビットの有意情報が記憶される。
【００６３】
なお、ｍ＝１の場合、（ｍ−１）列目は、０列目となり、ビットプレーンの左外側の列となるが、この場合、レジスタ４４−１のビット５〜ビット０は“０”が記憶される。また、ｍ＝１４の場合、（ｍ＋１）列目は、１５列目となり、ビットプレーンの右外側の列となるが、この場合、レジスタ４４−３のビット５〜ビット０には“０”が記憶される。
【００６４】
また、ｎ＝１の場合、４（ｎ−１）行目は、０行目となり、ビットプレーンの上外側の行となるが、この場合、レジスタ４４−１〜４４−３のビット５には“０”が記憶される。また、ｎ＝３の場合、［４（ｎ−１）＋５］行目は、１３行目となり、ビットプレーンの下外側の行になるが、この場合、レジスタ４４−１〜４４−３のビット０には“０”が記憶される。
【００６５】
また、レジスタ４５−１〜４５−３のビット５〜ビット０のそれぞれには、ビットプレーンの対応するビットがＳＰパスかつシンボル＝“１”の場合には“１”が記憶され、それ以外の場合には“０”が記憶される。レジスタ４５−１〜４５−３のビット０には、パス演算器２６の演算結果に基づく値が記憶され、ＳＰパスかつシンボル＝“１”のときは“１”が記憶され、それ以外の場合には“０”が記憶される。
【００６６】
なお、ｍ＝１の場合、（ｍ−１）列目は、０列目となり、ビットプレーンの左外側の列となるが、この場合、レジスタ４５−１のビット５〜ビット０には“０”が記憶される。また、ｍ＝１４の場合、（ｍ＋１）列目は、１５列目となり、ビットプレーンの右外側の列となるが、この場合、レジスタ４５−３のビット５〜ビット０には“０”が記憶される。
【００６７】
また、ｎ＝１の場合、４（ｎ−１）行目は、０行目となり、ビットプレーンの上外側の行となるが、この場合、レジスタ４５−１、４５−２、４５−３のビット５には“０”が記憶される。また、ｎ＝３の場合、［４（ｎ−１）＋５］行目は、１３行目となり、ビットプレーンの下外側の行になるが、この場合、レジスタ４５−１、４５−２、４５−３のビット０には“０”が記憶される。
【００６８】
また、レジスタ４６−１〜４６−３のビット５〜ビット１のそれぞれには、ビットプレーンの対応するビットがＣＬパスかつシンボル＝“１”の場合には“１”が記憶され、それ以外の場合には“０”が記憶される。
【００６９】
なお、ｍ＝１の場合、（ｍ−１）列目は、０列目となり、ビットプレーンの左外側の列となるが、この場合、レジスタ４６−１のビット５〜ビット１には“０”が記憶される。また、ｍ＝１４の場合、（ｍ＋１）列目は、１５列目となり、ビットプレーンの右外側の列となるが、この場合、レジスタ４６−３のビット５〜ビット１には“０”が記憶される。また、ｎ＝１の場合、４（ｎ−１）行目は、０行目となり、ビットプレーンの上外側の行となるが、この場合、レジスタ４６−１〜４６−３のビット５には“０”が記憶される。
【００７０】
図６（Ｄ）はコンテクスト演算器２８で作成される注目ストライプ周辺のＳＰパスにおける有意情報４８を示しており、太線で囲む部分４９は、レジスタ４４−１〜４４−３とレジスタ４５−１〜４５−３の対応する部分のＯＲを取り、コードブロック端を考慮したものであり、その他の部分５０は、レジスタ４４−１〜４４−３からコードブロック端を考慮したものである。
【００７１】
図６（Ｅ）はコンテクスト演算器２８で作成される注目ストライプ周辺のＣＬパスにおける有意情報５１を示しており、太線で囲む部分５２は、レジスタ４４−１〜４４−３とレジスタ４５−１〜４５−３とレジスタ４６−１〜４６−３の対応する部分のＯＲを取り、コードブロック端を考慮したものであり、その他の部分５３は、レジスタ４４−１〜４４−３とレジスタ４５−１〜４５−３の対応する部分のＯＲを取り、コードブロック端を考慮したものである。
【００７２】
図７はコンテクスト演算器２８で行われるコンテクスト決定処理を説明するための図である。コンテクスト演算器２８では、注目ストライプの４ビットのコンテクスト決定処理が同時に行われるが、各場合について、以下の通り、コンテクストが決定される。
【００７３】
（Ｃ１）注目ストライプの４ビットが全てＣＬパスの場合、図７(Ａ)に示すように、ランレングスコンテクスト演算器５５によりランレングスコンテクストが決定される。
【００７４】
（Ｃ２）注目ビットがＳＰパスで、ストライプの１番上のビットの場合、図７（Ｂ）に示すように、図６（Ｄ）に示す注目ストライプ周辺のＳＰパスにおける有意情報４８からの８近傍有意情報を用いて、注目ビットの周辺８ビットにおいて、以前のビットプレーンまでに“1”が出てきたかどうかの情報から、コンテクストテーブル５６を参照してコンテクストが決定される。
【００７５】
（Ｃ３）注目ビットがＳＰパスで、ストライプの２番目以下のビットの場合、図７（Ｃ）に示すように、図６（Ｄ）に示す注目ストライプ周辺のＳＰパスにおける有意情報４８の注目ビットの上のビットを除く８近傍有意情報と、「注目ビットの上のビットがＳＰパスかつシンボル＝“１”であるならば“１”、それ以外は“０”となる情報と、注目ストライプ周辺のＳＰパスにおける有意情報４８のうち、注目ビットの上のビットの有意情報とをＯＲ処理した情報」を用いて、コンテクストテーブル５６を参照してコンテクストが決定される。
【００７６】
（Ｃ４）注目ビットがＭＲパスの場合、図７（Ｄ）に示すように、図６（Ｄ）に示す注目ストライプ周辺のＳＰパスにおける有意情報４８からの８近傍有意情報と、最初のＭＲパスであるかどうかの情報を用いて、コンテクストテーブル５６を参照してコンテクストが決定される。
【００７７】
（Ｃ５）注目ビットがＣＬパスで、ストライプの１番上のビットの場合、図７（Ｅ）に示すように、図６（Ｅ）に示す注目ストライプ周辺のＣＬパスにおける有意情報５１からの８近傍有意情報を用いて、注目ビットの周辺８ビットにおいて、以前のビットプレーンまでに“1”が出てきたかどうかの情報から、コンテクストテーブル５６を参照してコンテクストが決定される。
【００７８】
（Ｃ６）注目ビットがＣＬパスで、ストライプの２番目以下のビットの場合、図７（Ｆ）に示すように、図６（Ｅ）に示す注目ストライプ周辺のＣＬパスにおける有意情報５１の注目ビットの上のビットを除く８近傍有意情報と、「注目ビットの上のビットがＣＬパスかつシンボル＝“１”であるならば“１”、それ以外は“０”となる情報と、注目ストライプ周辺のＣＬパスにおける有意情報５１のうち、注目ビットの上のビットの有意情報とをＯＲ処理した情報」を用いて、コンテクストテーブル５６を参照してコンテクストが決定される。
【００７９】
以上のように、コンテクスト演算器２８は、（Ｃ１）〜（Ｃ６）に示すようにコンテクストを決定するとしているので、図８に示すように、ストライプの４ビットをコンテクスト決定処理単位として、ストライプの４ビットのコンテクスト決定処理を同時に行うことができる。この結果、図１４に示すビットモデリング演算器１３でのコンテクスト決定処理のように１パスずつ、かつ、１ビットずつ処理する場合に比較して１２倍の速度でコンテクスト処理を行うことができる。
【００８０】
図９はビットモデリング演算器２２におけるビットプレーン上のパス演算位置とコンテクスト演算位置との関係を示す図である。図９中、５８はコンテクスト演算が終了している領域、５９は現在コンテスクト演算中の位置、６０はパス演算だけが終了している領域、６１はパス演算中の位置である。
【００８１】
ここで、注目ストライプの４ビットのコンテクストを決定するためには、注目ストライプの下のビットのパスが決定していなければならない。このため、コンテスクト演算位置５９はパス演算位置６１より１段以上遅れている必要があるが、コンテククト演算位置５９をパス演算位置６１より縦方向に１段かつ横方向に２ビット分遅延した位置とする場合には、コンテクスト演算位置５９の１段下のパス演算器２６の演算結果を記憶装置を用いないでコンテクスト演算器２８に転送できる。
【００８２】
したがって、このようにする場合には、余分な記憶装置を必要とせず、回路規模が必要以上に大きくならないようにすることができる。また、パス演算だけが終了している領域６０におけるパス情報のみを中間データ記憶装置に記憶する場合には、中間データ記憶装置２７の規模を抑えることができる。
【００８３】
図１０は本発明の一実施形態のビットモデリング演算器２２からのコンテクストの出力例を示す図であり、本発明の一実施形態のビットモデリング演算器２２からは、図１０に示すように、ＳＰパス、ＭＲパス、ＣＬパスのコンテクストが入り混じって出力されることになる。しかしながら、算術符号化器２４では、同じビットプレーンにおけるＳＰパスのデータを全て処理してからＭＲパスのデータの処理が行われ、ＭＲパスのデータの処理が終了してからＣＬパスのデータの処理が行われる。
【００８４】
そこで、もし、ビットモデリング演算器２２から出力されるデータを出力順番そのままにシンボル・コンテクスト記憶装置２３に格納していくと、図１０に示すように、ＳＰパスのデータがしばらく無いときには、ＳＰパスのデータが出力するまで待ち時間が生じてしまう。この待ち時間によって算術符号化の処理が遅くなり、全体としての処理時間が長くなってしまう。
【００８５】
この問題を解決するための方法として、シンボル・コンテクスト記憶装置２３を、例えば、図１１に示すように、ＳＰパス用のＳＲＡＭ６２と、ＭＲパス用のＳＲＡＭ６３と、ＣＬパス用のＳＲＡＭ６４と、ＳＲＡＭ６２〜６４の出力の選択を行う切換スイッチ回路６５を設ける構成とすることが考えられる。
【００８６】
このようにする場合、書き込み時には、ＳＰパスのデータ、ＭＲパスのデータ、ＣＬパスのデータは、それぞれ、ＳＰパス用のＳＲＡＭ６２、ＭＲパス用のＳＲＡＭ６３、ＣＬパス用のＳＲＡＭ６４に書き込み、データを読み出す時には、ＳＲＡＭ６２に格納されているＳＰパスのデータが最初に読み出され、次に、ＭＲパスのデータ、ＣＬパスのデータの順に読み出されることになる。
【００８７】
しかしながら、それぞれのパスの数は不定でありビットプレーンのデータ全てがＭＲパスであったり、ＣＬパスであったりすることがあるため、各パス用のＳＲＡＭ６２〜６４は最もデータが多くなるときにあわせて容量を決めなければならず、１つのＳＲＡＭに３つのパスのデータを順番に格納させるだけのＳＲＡＭに比べて、単純に考えると、３倍の容量が必要となってしまう。
【００８８】
そこで、図１２に示すように、シンボル・コンテクスト記憶装置２３として、１個のＳＲＡＭ６７を用い、あらかじめ処理中のビットプレーンのＳＰパスとＭＲパスとＣＬパスに属するビットの数をビットモデリング制御装置３０で数えておき、ＳＲＡＭ６７の領域をＳＰパスデータ記憶領域６８と、ＭＲパスデータ記憶領域６９と、ＣＬパスデータ記憶領域７０とに区切って使用する方法が考えられる。
【００８９】
この場合、書き込み時には、ＳＰパスデータ、ＭＲパスデータ、ＣＬパスデータはそれぞれＳＰパスデータ記憶領域６８、ＭＲパスデータ記憶領域６９、ＣＬパスデータ記憶領域７０に格納され、読み出し時には、ＳＰパスデータ記憶領域６８、ＭＲパスデータ記憶領域６９、ＣＬパスデータ記憶領域７０から、ＳＰパスデータ、ＭＲパスデータ、ＣＬパスデータの順に読み出されることになる。
【００９０】
このようにする場合には、シンボル・コンテクスト記憶装置２３の容量の増加を抑えることができる。ここで、ＭＲパスに属するビットは、前のビットプレーンまでにシンボルが“1”になったことがあるビットなので、前のビットプレーンの処理が終わった時点で、今回処理するビットプレーン内のＭＲパスのビット数を知ることは容易であるが、ＳＰパスとＣＬパスに属するビットの数はビットプレーン処理中に変化するので、処理前に知ることは困難である。
【００９１】
そこで、シンボル・コンテクスト記憶装置２３を１個のＳＲＡＭ６７で構成して、図１３に示すように使用することが考えられる。この使用例では、前のビットプレーンの処理時にビットモデリング制御装置３０でＭＲパスのビット数を計測し、前のビットプレーンの処理が終了した時点で、ビットモデリング制御装置３０は、ＳＲＡＭ６７のＭＲパスのデータ記憶領域７１だけを確定し、即ち、ＳＲＡＭ６７の記憶空間の一端から一定の記憶領域をＭＲパスのデータ記憶領域７１とし、残りの記憶領域７２をＳＰパス・ＣＬパスのデータ記憶領域とする。
【００９２】
そして、ＭＲパスのデータ記憶領域７１には、矢印Ｙ１で示すようにＭＲパスのデータを順に記憶させ、ＳＰパス・ＣＬパスのデータ記憶領域７２には、ＳＰパスのデータ及びＣＬパスのデータを、それぞれ、矢印Ｙ２、Ｙ３に示すように、データ記憶領域７２の記憶空間の両端から逆方向に記憶させるようにする。
【００９３】
ここで、最終的なＳＰパスのビット数とＣＬパスのビット数の総和は変わらないので、それぞれのデータ領域が重なることはない。このような構成にすることにより、ＳＲＡＭ６７を有効に活用することができ、余計なＳＲＡＭを使用する必要はなく、シンボル・コンテクスト記憶領域の小規模化を図ることができる。なお、読み出し時には、矢印Ｙ４、Ｙ５に示すように、ＳＰパスのデータ、ＭＲパスのデータ、ＣＬパスのデータの順に読み出すことになる。
【００９４】
この場合のシンボル・コンテクスト記憶装置２３に対する書き込み制御は、ビットモデリング制御装置３０からシンボル・コンテクスト記憶装置２３に対して書き込みアドレスを与えることにより行われ、シンボル・コンテクスト記憶装置２３に対する読み出し制御は、演算制御装置３３からシンボル・コンテクスト記憶装置２３に対して読み出しアドレスを与えることにより行われる。
【００９５】
以上のように、本発明の一実施形態のビットモデリング演算器２２によれば、パス演算器２６によって、ストライプの４ビットをパス決定処理単位として、ビットプレーン内の各ビットのパスの決定処理が順に行われ、コンテクスト演算器２８によって、ストライプの４ビットをコンテクスト決定処理単位として、ストライプの４ビットのコンテクスト決定処理が同時に行われることにより、ビットプレーン内の各ビットのコンテクスト決定処理が行われる。
【００９６】
そして、コンテクスト演算器２８は、ビットプレーン内の各ビットのコンテクスト決定処理にパス演算器２６で得られるパス情報を用いるとされているので、注目ビットがどのパスに属していたとしても、そのコンテクストを決定することができる。したがって、簡単な構成で、ビットモデリング処理の高速化を図ることができる。
【００９７】
なお、本発明の一実施形態のビットモデリング演算器２２においては、コンテクスト演算器２８は、ストライプの４ビットのコンテクスト決定処理を同時に行うとしているが、ストライプの４ビットのコンテクスト決定処理を１ビットずつ行うように構成することもできる。
【００９８】
このように構成する場合には、本発明の一実施形態のビットモデリング演算器２２の場合よりも、ビットモデリング処理速度は遅くなるが、それでも、コンテクスト演算器２８は、ビットプレーン内の各ビットのコンテクスト決定処理にパス演算器２６で得られるパス情報を用いることになるので、注目ビットがどのパスに属していたとしても、そのコンテクストを決定することができる。したがって、簡単な構成で、ビットモデリング処理の高速化を図ることができる。
【図面の簡単な説明】
【００９９】
【図１】本発明の一実施形態を用いてなるＪＰＥＧ２０００符号化方式による画像符号化装置の要部の概略的構成図である。
【図２】図１に示す画像符号化装置が備えるコードブロックデータ記憶装置からのビットプレーンの各ビットのデータの読み出し順序を示す図である。
【図３】本発明の一実施形態のビットモデリング演算器が備えるパス演算器が備えるパス決定器の概略的構成図である。
【図４】本発明の一実施形態のビットモデリング演算器が備える中間データ記憶装置の１ワード分の記憶領域の構成例を示す図である。
【図５】本発明の一実施形態のビットモデリング演算器が備えるパス演算器で必要とされる有意情報の生成工程を説明するための図である。
【図６】本発明の一実施形態のビットモデリング演算器が備えるコンテクスト演算器で必要とされる有意情報の生成工程を説明するための図である。
【図７】本発明の一実施形態のビットモデリング演算器が備えるコンテクスト演算器で行われるコンテクスト決定処理を説明するための図である。
【図８】本発明の一実施形態のビットモデリング演算器でのコンテクスト決定処理速度を説明するための図である。
【図９】本発明の一実施形態のビットモデリング演算器におけるビットプレーン上のパス演算位置とコンテクスト演算位置との関係を示す図である。
【図１０】本発明の一実施形態のビットモデリング演算器からのコンテクストの出力例を示す図である。
【図１１】図１に示す画像符号化装置が備えるシンボル・コンテクスト記憶装置の第１構成例を示す図である。
【図１２】図１に示す画像符号化装置が備えるシンボル・コンテクスト記憶装置の第２構成例と第１使用例を説明するための図である。
【図１３】図１に示す画像符号化装置が備えるシンボル・コンテクスト記憶装置の第２構成例と第２使用例を説明するための図である。
【図１４】ＪＰＥＧ２０００符号化方式による従来の画像符号化装置の一例の要部の概略的構成図である。
【図１５】図１４に示す従来の画像符号化装置が備えるビットモデリング演算器での処理の流れを示す図である。
【図１６】図１４に示す従来の画像符号化装置が備えるビットモデリング演算器が各パスについてコンテクスト決定処理を行う場合の処理順序を示す図である。
【符号の説明】
【０１００】
１０…ウエーブレット変換器
１１…エントロピー符号化器
１２…ストリーム生成器
１３…ビットモデリング演算器
１４…算術符号化器
１５…コードブロック
１６−１〜１６−６…ビットプレーン
２０…ウエーブレット変換器
２１…コードブロックデータ記憶装置
２２…ビットモデリング演算器（本発明の一実施形態）
２３…シンボル・コンテクスト記憶装置
２４…算術符号化器
２５…ストリーム生成器
２６…パス演算器
２７…中間データ記憶装置
２８…コンテクスト演算器
２９…有意ビット記憶装置
３０…ビットモデリング制御装置
３２…演算器
３３…演算制御装置
３４〜３８…セレクタ
３９−１〜３９−３…レジスタ
４０−１〜４０−３…レジスタ
４４−１〜４４−３…レジスタ
４５−１〜４５−３…レジスタ
４６−１〜４６−３…レジスタ
６５…切換スイッチ回路
【図１】
2005341368.tif 000003
【図２】
2005341368.tif 000004
【図３】
2005341368.tif 000005
【図４】
2005341368.tif 000006
【図５】
2005341368.tif 000007
【図６】
2005341368.tif 000008
【図７】
2005341368.tif 000009
【図８】
2005341368.tif 000010
【図９】
2005341368.tif 000011
【図１０】
2005341368.tif 000012
【図１１】
2005341368.tif 000013
【図１２】
2005341368.tif 000014
【図１３】
2005341368.tif 000015
【図１４】
2005341368.tif 000016
【図１５】
2005341368.tif 000017
【図１６】
2005341368.tif 000018