JP2005341368A - ビットモデリング演算器 - Google Patents
ビットモデリング演算器 Download PDFInfo
- Publication number
- JP2005341368A JP2005341368A JP2004159277A JP2004159277A JP2005341368A JP 2005341368 A JP2005341368 A JP 2005341368A JP 2004159277 A JP2004159277 A JP 2004159277A JP 2004159277 A JP2004159277 A JP 2004159277A JP 2005341368 A JP2005341368 A JP 2005341368A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- path
- context
- bits
- calculator
- 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.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
【課題】JPEG2000符号化方式による画像符号化装置を構成する場合等に使用されるビットモデルング演算器に関し、簡単な構成で、ビットモデリング処理の高速化を図ることができるようにする。
【解決手段】パス演算器26により、ストライプの4ビットをパス決定処理単位として、ビットプレーン内の各ビットのパスの決定処理を順に行う。そして、コンテクスト演算器28により、ストライプの4ビットをコンテクスト決定処理単位として、シンボル、パス演算器26で得られるパス情報及び有意情報を用いて、ストライプの4ビットのコンテクスト決定処理を同時に行うことにより、ビットプレーンの各ビットのコンテクスト決定処理を行う。
【選択図】 図1
【解決手段】パス演算器26により、ストライプの4ビットをパス決定処理単位として、ビットプレーン内の各ビットのパスの決定処理を順に行う。そして、コンテクスト演算器28により、ストライプの4ビットをコンテクスト決定処理単位として、シンボル、パス演算器26で得られるパス情報及び有意情報を用いて、ストライプの4ビットのコンテクスト決定処理を同時に行うことにより、ビットプレーンの各ビットのコンテクスト決定処理を行う。
【選択図】 図1
Description
本発明は、JPEG2000符号化方式の画像符号化装置を構成する場合等に使用するビットモデリング演算器に関する。より具体的には、ビットモデリング演算器の高速化技術に関する。
図14はJPEG2000符号化方式による従来の画像符号化装置の一例の要部の概略的構成図である。図14中、10はウエーブレット変換器、11はエントロピー符号化器、12はストリーム生成器である。
ウエーブレット変換器10はデジタル化された入力画像データに対してウエーブレット変換を行うものである。エントロピー符号化器11はウエーブレット変換器10が出力するウエーブレット係数を入力してエントロピー符号化を行うものである。ストリーム生成器12はエントロピー符号化器11が出力する符号化データを入力して圧縮画像データのビットストリームを生成するものである。
また、エントロピー符号化器11において、13はビットモデリング演算器、14は算術符号化器である。ビットモデリング演算器13はウエーブレット変換器10が出力するウエーブレット係数を入力してビットモデリングの演算を行うものである。算術符号化器14はビットモデリング演算器13が出力するシンボル及びコンテクストを入力してMQ−CODER方式による算術符号化を行い、符号化データを生成するものである。
図14に示す従来の画像符号化装置においては、ウエーブレット変換器10による変換結果はコードブロックと呼ばれる矩形領域に分割されて切り出され、切り出されたコードブロック毎にビットモデリング演算が行われる。
図15はビットモデリング演算器13での処理の流れを示す図である。図15中、15はM×N画素の大きさに切り出されたコードブロックを示しており、コードブロック15は、各画素のウエーブレット係数が1ビットずつ分解され、同じ深さのビットが集められて、ビットプレーン16−1〜16−6と呼ばれるM×Nビットのデータに分解される。
そして、更に、ビットプレーン16−kも、今まで処理してきた処理情報から各ビットをSignificance propagation pass、Magnitude refinement pass、Cleanup pass(以下、それぞれ、SPパス、MRパス、CLパスという)のいずれかのパスに分類され、1パスずつ、かつ、1ビットずつ順にコンテクスト決定処理が行われる。
図16はビットモデリング演算器13が各パスについてコンテクスト決定処理を行う場合の処理順序を示す図である。即ち、各パスについてコンテクスト決定処理を行う場合には、まず、パスの左上からストライプと呼ばれる縦方向の4ビットのコンテクスト決定処理が順に行われ、次に右隣のストライプの4ビットのコンテクスト決定処理が順に行われ、これが繰り返される。
そして、右端に達すると、縦方向に1ストライプ分シフトして同様のコンテクスト決定処理がストライプごとに左端から右方向にシフトしながら行われていく。この順序で、1ビットずつコンテクストが決定され、右下まで繰り返されていく。これがSPパス、MRパス、CLパスの順番で行われ、この3つのパスについてのコンテクスト決定処理が終わると、次のビットプレーンのコンテクスト処理に移ることになる。
特開2003―32496号公報
特開2003―8906号公報
従来のビットモデリング演算器13においては、入力されるコードブロック15のデータをビットプレーン16−1〜16−6に分解し、更に、ビットプレーンを3つのパスに分解して1パスずつ、かつ、1ビットずつ順にコンテクスト決定処理を行うとしているので、多くの処理時間が必要であるという問題点があった。
なお、特開2003−32496号公報には、ビットモデリング演算を複数のコードブロック又は複数のビットプレーンについて並列して行う技術が開示されているが、このようにする場合には、回路規模が大きくなるという問題点がある。
また、特開2003−8906号公報には、SPパスとMRパスとCLパスをまたがって処理する技術が記載されているが、これらを同時に処理するのではなく、SPパスの処理結果を待ってからMRパスの処理を行い、MRパスの処理結果を待ってからCLパスの処理を行うとしているため、待ち時間が生じると共に、SPパス及びMRパスのデータを保存しておく記憶領域が必要となり、回路規模が大きくなるという問題点がある。
本発明は、かかる点に鑑み、簡単な構成で、ビットモデリング処理の高速化を図ることができるようにしたビットモデリング演算器、更には、コンテクストを一時保存しておく記憶領域の小規模化を図ることができるようにしたビットモデリング演算器を提供することを目的とする。
本発明のビットモデリング演算器は、ビットプレーン内の各ビットのパス決定処理を行うパス演算器と、このパス演算器で得られるパス情報、シンボル及び有意情報を用いて、ビットプレーン内の各ビットのコンテクスト決定処理を行うコンテクスト演算器を有するものである。
本発明によれば、コンテクスト演算器は、ビットプレーン内の各ビットのコンテクスト決定処理にパス演算器で得られるパス情報を用いるので、注目ビットがどのパスに属していたとしても、そのコンテクストを決定することができる。したがって、簡単な構成で、ビットモデリング処理の高速化を図ることができる。
なお、コンテクスト演算器を、複数ビットを単位として同時にコンテクスト決定処理を行うことにより、ビットプレーン内の各ビットのコンテクスト決定処理を行う構成とする場合には、ビットモデリング処理の更なる高速化を図ることができる。
図1は本発明の一実施形態を用いてなるJPEG2000符号化方式による画像符号化装置の要部の概略的構成図である。図1中、20はウエーブレット変換器、21はコードブロックデータ記憶装置、22は本発明の一実施形態のビットモデリング演算器、23はSRAMからなるシンボル・コンテクスト記憶装置、24は算術符号化器、25はストリーム生成器である。
ウエーブレット変換器20はデジタル化された入力画像データに対してウエーブレット変換を行うものである。コードブロックデータ記憶装置21はウエーブレット変換器20の変換結果から切り出されたコードブロックのデータを記憶するものである。
ビットモデリング演算器22は、コードブロックデータ記憶装置21が記憶するコードブロックのデータを入力してビットモデリング演算を行い、算術符号化用のシンボル及びコンテクストの生成を行うものである。シンボル・コンテクスト記憶装置23はビットモデリング演算器22が出力するシンボル及びコンテクストを記憶するものである。
算術符号化器24は、シンボル・コンテクスト記憶装置23からシンボル及びコンテクストを読み出して、MQ−CODER方式で算術符号化を行い、符号化データを生成するものである。ストリーム生成器25は算術符号化器24が出力する符号化データを入力して圧縮画像データのビットストリームを生成するものである。
また、ビットモデリング演算器22において、26はパス演算器、27は中間データ記憶装置、28はコンテクスト演算器、29は有意ビット記憶装置、30はビットモデリング制御装置である。
パス演算器26はコードブロックデータ記憶装置21から4ビット単位で読み出されるビットプレーンのデータ(シンボル)を入力してビットプレーンの各ビットのパスを決定するものである。中間データ記憶装置27はパス演算器26から出力されるパス情報をシンボル及び正負符号とともに記憶するものである。
コンテクスト演算器28は、ビットプレーン内の4ビットをコンテクスト決定処理単位として、シンボル、中間データ記憶装置27に記憶されたパス情報及び有意ビット情報を用いて、ビットプレーン内の4ビットのコンテクスト決定処理を同時に行うことにより、ビットプレーン内の各ビットのコンテクスト決定処理を行うものである。有意ビット記憶装置29はコンテクスト演算器28から得られる有意ビットを記憶するものである。
ビットモデリング制御装置30は、コードブロックデータ記憶装置21に対する読み出し制御、中間データ記憶装置27に対する書き込み/読み出し制御、有意ビット記憶装置29に対する書き込み/読み出し制御、シンボル・コンテクスト記憶装置23に対する書き込み制御を行うものである。
また、算術符号化器24において、32は演算器、33は演算制御装置である。演算器32は、シンボル・コンテクスト記憶装置23から読み出されるシンボル及びコンテクストを対象としてMQ−CODER方式で算術符号化を行い、符号化データを生成するものである。演算制御装置33は、シンボル・コンテクスト記憶装置23に対する読み出し制御及び演算器32の演算制御を行うものである。
図2はコードブロックデータ記憶装置21からのビットプレーンの各ビットのデータの読み出し順序を示す図である。図1に示す画像符号化装置においては、ビットモデリング制御装置30からコードブロックデータ記憶装置21に対して読み出しアドレスが与えられる。
図2(A)はビットプレーンを示しており、図1に示す画像符号化装置においては、まず、ビットプレーンの左上からストライプと呼ばれる縦方向の4ビットのデータ(シンボル)がコードブロックデータ記憶装置21からパス演算器26に転送される。
そして、パス演算器26でストライプの各ビットのパスが決定されると、パスが決定されたストライプの右隣のストライプのデータがコードブロックデータ記憶装置21からパス演算器26に転送される。
以後、このようなデータ転送が繰り返され、ビットプレーンの右端に達すると、縦方向に1ストライプ分シフトして同様のストライプ毎のデータの転送が行われ、ビットプレーンの右下に達すると、次のビットプレーンのデータの転送に移ることになる。
ここで、ビットプレーンの各ビットの列番号をm(但し、m=1、2、…、14)、行番号を[4(n−1)+i](但し、n=1、2、3。i=1、2、3、4)とすると、パス演算器26は、図2(A)に矢印で示す順番に従って、図2(B)に示すように、m列目の[4(n−1)+1]〜[4(n−1)+4]行目のビットのデータ(シンボル)を入力し、各ビットのパスを決定することになる。
パス演算器26におけるビットプレーンの各ビットのパスの決定は、ストライプの一番上のビット(ビットプレーンの[4(n−1)+1]行目のビット)の場合には、以下の(1)、(2)又は(3)に示すように行われる。
(1)注目ビット(現在、処理の対象として注目しているビット)位置において、現在処理中のビットプレーンより以前に“1”が出現したことがある(注目ビットの有意情報が既に“1”である)場合には、注目ビットのパスをMRパスと決定する。
(2)「(1)の条件に当てはまらない」かつ「現在処理中のビットプレーンの前のビットプレーンまでに“1”が出現したことがあるビットが、周辺の8ビットに1つ以上存在する(8近傍に有意情報が“1”であるビットが1つ以上存在する)」場合には、注目ビットのパスをSPパスと決定する。
(3)上記の(1)、(2)の条件に当てはまらない場合には、注目ビットのパスをCLパスと決定する。
また、ストライプの2番目以下のビット(ビットプレーンの[4(n−1)+2]行目、[4(n−1)+3]行目、[4(n−1)+4]行目のビット)の場合には、パスの決定は、以下の(4)、(5)又は(6)に示すように行われる。
(4)注目ビット位置において、現在処理中のビットプレーンより以前に“1”が出現したことがある(注目ビットの有意情報が既に“1”である)場合には、注目ビットのパスをMRパスと決定する。
(5)「(4)の条件に当てはまらない」かつ『「現在処理中のビットプレーンの前のビットプレーンまでに“1”が出現したことがあるビットが、周辺に8ビットに1つ以上存在する(8近傍に有意情報が“1”であるビットが1つ以上存在する)」もしくは「現在処理中のビットプレーンにおいて、注目ビットより以前に処理される領域の中に、SPパスと判定され、かつ、シンボルが“1”であるものが存在する(注目ビットの上のビットがSPパスであり、かつ、シンボルが“1”である)」』場合には、注目ビットのパスをSPパスと決定する。
(6)上記の(4)、(5)の条件に当てはまらない場合には、注目ビットのパスをCLパスと決定する。
図3はパス演算器26が備えるパス決定器の概略的構成図であり、図3(A)はストライプの一番上のビット用のパス決定器、図3(B)はストライプの2番目以下のビット用のパス決定器である。
図3(A)中、34、35はセレクタであり、セレクタ34は、注目ビットの有意情報が既に“1”であるか否かを示すデータを選択制御データとし、真(T)の場合には、MRパスであることを示すデータを選択して出力し、偽(F)の場合には、セレクタ35の出力を選択して出力するものである。
セレクタ35は、注目ビットの8近傍に有意情報が“1”であるビットが1つ以上存在するか否かを示すデータを選択制御データとし、真(T)の場合には、SPパスであることを示すデータを選択して出力し、偽(F)の場合には、CLパスであることを示すデータを選択して出力するものである。
図3(B)中、36、37、38はセレクタであり、セレクタ36は、注目ビットの有意情報が既に“1”であるか否かを選択条件とし、真(T)の場合には、MRパスであることを示すデータを選択して出力し、偽(F)の場合には、セレクタ36の出力を選択して出力するものである。
セレクタ37は、注目ビットの上のビットのパスがSPパスであり、かつ、注目ビットの上のビットのシンボルが“1”であるか否かを示すデータを選択制御データとし、真(T)の場合には、SPパスであることを示すデータを選択して出力し、偽(F)の場合には、セレクタ38の出力を選択して出力する。
セレクタ38は、注目ビットの8近傍に有意情報が“1”であるビットが1つ以上存在するか否かを示すデータを選択制御データとし、真(T)の場合には、SPパスであることを示すデータを選択して出力し、偽(F)の場合には、CLパスであることを示すデータを選択して出力するものである。
パス演算器26から出力されるパス情報は、中間データ記憶装置27のストライプ毎の記憶領域に記憶されるが、中間データ記憶装置27にはビットモデリング制御装置30から読み出しアドレスが与えられる。
図4は中間データ記憶装置27の1ワード(記憶単位)分の記憶領域の構成例を示す図である。中間データ記憶装置27の1ワード分の記憶領域には、ストライプの4ビット分のデータの他に、ストライプの上の1ビット分のデータも記憶する必要があり、また、1ビット毎に正負符号・シンボル・パスの3つのデータを記憶する必要がある。中間データ記憶装置27には、コードブロックの規模に対応できるワード数分の記憶領域が必要である。
図5はパス演算器26で必要とされる有意情報の生成工程を説明するための図である。図5中、39−1〜39−3、40−1〜40−3はパス演算器26が備えるフリップフロップからなるレジスタである。
レジスタ39−1〜39−3は有意ビット記憶装置29から読み出された有意情報が記憶される6ビット構成のレジスタ、レジスタ40−1は中間データ記憶装置27が記憶するシンボル及びパス情報から決定される値及びパス演算器26の演算結果に基づく値が記憶される5ビット構成のレジスタ、レジスタ40−2、40−3は中間データ記憶装置27が記憶するシンボル及びパス情報から決定される値が記憶される1ビット構成のレジスタである。
レジスタ39−1のビット5〜ビット0は、ビットプレーンの(m−1)列目の4(n−1)〜第[4(n−1)+5]行目のビットに対応して設けられ、レジスタ39−2のビット5〜ビット0は、ビットプレーンのm列目の4(n−1)〜[4(n−1)+5]行目のビットに対応して設けられ、レジスタ39−3のビット5〜ビット0は、ビットプレーンの(m+1)列目の4(n−1)〜[4(n−1)+5]行目のビットに対応して設けられている。
レジスタ40−1のビット5〜ビット1はビットプレーンの(m−1)列目の4(n−1)〜4(n−1)+4]行目のビットに対応して設けられ、レジスタ40−2はビットプレーンのm列目の4(n−1)行目のビットに対応して設けられ、レジスタ40−3はビットプレーンの(m+1)列目の4(n−1)行目のビットに対応して設けられている。
ここで、ビットプレーンのm列目の[4(n−1)+1]〜[4(n−1)+4]行目のビットのパスを決定する場合には、レジスタ39−1のビット5〜ビット0にはビットプレーンの(m−1)列目の4(n−1)〜[4(n−1)+5]行目のビットの有意情報が記憶され、レジスタ39−2のビット5〜ビット0にはビットプレーンのm列目の4(n−1)〜[4(n−1)+5]行目のビットの有意情報が記憶され、レジスタ39−3のビット5〜ビット0にはビットプレーンの(m+1)列目の4(n−1)〜[4(n−1)+5]行目のビットの有意情報が記憶される。
なお、m=1の場合、(m−1)列目は、0列目となり、ビットプレーンの左外側の列となるが、この場合、レジスタ39−1のビット5〜ビット0には“0”が記憶される。また、m=14の場合、(m+1)列目は、15列目となり、ビットプレーンの右外側の列となるが、この場合、レジスタ39−3のビット5〜ビット0には“0”が記憶される。
また、n=1の場合、4(n−1)行目は、0行目となり、ビットプレーンの上外側の行となるが、この場合、レジスタ39−1〜39−3のビット5には“0”が記憶される。また、n=3の場合、[4(n−1)+5]行目は、13行目となり、ビットプレーンの下外側の行になるが、この場合、レジスタ39−1〜39−3のビット0には“0”が記憶される。
また、レジスタ40−1のビット5及びレジスタ40−2、40−3のそれぞれには、ビットプレーンの対応するビットがSPパスかつシンボル=“1”の場合には“1”が記憶され、それ以外の場合には“0”が記憶される。レジスタ40−1のビット4〜ビット1には、パス演算器26の演算結果に基づく値が記憶され、前の処理ストライプにおいてSPパスかつシンボル=“1”の場合には“1”が記憶され、それ以外の場合には“0”が記憶される。
なお、m=1の場合、(m−1)列目は、0列目となり、ビットプレーンの左外側の列となるが、この場合、レジスタ40−1のビット5〜ビット1には“0”が記憶される。また、n=1の場合、4(n−1)行目は、0行目となり、ビットプレーンの上外側の行となるが、この場合、レジスタ40−1のビット5及びレジスタ40−2、40−3には“0”が記憶される。
そして、パス演算器26では、レジスタ39−1〜39−3とレジスタ40−1〜40−3の対応するビットのOR処理が行われ、このOR処理によって得られるデータが注目ストライプの有意情報41として、注目ストライプのシンボル42とともに、パス決定器に転送され、パスの決定が行われる。なお、図5(C)において、太線43で囲む部分は、レジスタ40−1〜40−3のデータ有効領域を示している。
図6はコンテクスト演算器28で必要とされる有意情報の生成工程を説明するための図である。図6中、44−1〜44−3、45−1〜45−3、46−1〜46−3はコンテクスト演算器28が備えるフリップフロップ回路からなるレジスタである。
レジスタ44−1〜44−3は有意ビット記憶装置29から読み出された有意情報が記憶される6ビット構成のレジスタ、レジスタ45−1〜45−3は中間データ記憶装置27が記憶するシンボル及びパス情報から決定される値及びパス演算器26の演算結果に基づく値が記憶される6ビット構成のレジスタ、レジスタ46−1〜46−3は中間データ記憶装置27が記憶するシンボル及びパス情報から決定される値が記憶される5ビット構成のレジスタである。
レジスタ44−1のビット5〜ビット0はビットプレーンの(m−1)列目の4(n−1)〜[4(n−1)+5]行目のビットに対応して設けられ、レジスタ44−2のビット5〜ビット0はビットプレーンのm列目の4(n−1)〜[4(n−1)+5]行目のビットに対応して設けられ、レジスタ44−3のビット5〜ビット0はビットプレーンの(m+1)列目の4(n−1)〜[4(n−1)+5]行目のビットに対応して設けられている。
レジスタ45−1のビット5〜ビット0はビットプレーンの(m−1)列目の4(n−1)〜[4(n−1)+5]行目のビットに対応して設けられ、レジスタ45−2のビット5〜ビット0はビットプレーンのm列目の4(n−1)〜[4(n−1)+5]行目のビットに対応して設けられ、レジスタ45−3のビット5〜ビット0はビットプレーンの(m+1)列目の4(n−1)〜[4(n−1)+5]行目のビットに対応して設けられている。
レジスタ46−1のビット5〜ビット1はビットプレーンの(m−1)列目の4(n−1)〜[4(n−1)+4]行目のビットに対応して設けられ、レジスタ46−2のビット5〜ビット1はビットプレーンのm列目の4(n−1)〜[4(n−1)+4]行目のビットに対応して設けられ、レジスタ46−3のビット5〜ビット1はビットプレーンの(m+1)列目の4(n−1)〜[4(n−1)+4]行目のビットに対応して設けられている。
ここで、ビットプレーンのm列目の[4(n−1)+1]〜[4(n−1)+4]行目のビットのコンテクストを決定する場合には、レジスタ44−1のビット5〜ビット0にはビットプレーンの(m−1)列目の4(n−1)〜[4(n−1)+5]行目のビットの有意情報が記憶され、レジスタ44−2のビット5〜ビット0にはビットプレーンのm列目の4(n−1)〜[4(n−1)+5]行目のビットの有意情報が記憶され、レジスタ44−3のビット5〜ビット0にはビットプレーンの(m+1)列目の4(n−1)〜[4(n−1)+5]行目のビットの有意情報が記憶される。
なお、m=1の場合、(m−1)列目は、0列目となり、ビットプレーンの左外側の列となるが、この場合、レジスタ44−1のビット5〜ビット0は“0”が記憶される。また、m=14の場合、(m+1)列目は、15列目となり、ビットプレーンの右外側の列となるが、この場合、レジスタ44−3のビット5〜ビット0には“0”が記憶される。
また、n=1の場合、4(n−1)行目は、0行目となり、ビットプレーンの上外側の行となるが、この場合、レジスタ44−1〜44−3のビット5には“0”が記憶される。また、n=3の場合、[4(n−1)+5]行目は、13行目となり、ビットプレーンの下外側の行になるが、この場合、レジスタ44−1〜44−3のビット0には“0”が記憶される。
また、レジスタ45−1〜45−3のビット5〜ビット0のそれぞれには、ビットプレーンの対応するビットがSPパスかつシンボル=“1”の場合には“1”が記憶され、それ以外の場合には“0”が記憶される。レジスタ45−1〜45−3のビット0には、パス演算器26の演算結果に基づく値が記憶され、SPパスかつシンボル=“1”のときは“1”が記憶され、それ以外の場合には“0”が記憶される。
なお、m=1の場合、(m−1)列目は、0列目となり、ビットプレーンの左外側の列となるが、この場合、レジスタ45−1のビット5〜ビット0には“0”が記憶される。また、m=14の場合、(m+1)列目は、15列目となり、ビットプレーンの右外側の列となるが、この場合、レジスタ45−3のビット5〜ビット0には“0”が記憶される。
また、n=1の場合、4(n−1)行目は、0行目となり、ビットプレーンの上外側の行となるが、この場合、レジスタ45−1、45−2、45−3のビット5には“0”が記憶される。また、n=3の場合、[4(n−1)+5]行目は、13行目となり、ビットプレーンの下外側の行になるが、この場合、レジスタ45−1、45−2、45−3のビット0には“0”が記憶される。
また、レジスタ46−1〜46−3のビット5〜ビット1のそれぞれには、ビットプレーンの対応するビットがCLパスかつシンボル=“1”の場合には“1”が記憶され、それ以外の場合には“0”が記憶される。
なお、m=1の場合、(m−1)列目は、0列目となり、ビットプレーンの左外側の列となるが、この場合、レジスタ46−1のビット5〜ビット1には“0”が記憶される。また、m=14の場合、(m+1)列目は、15列目となり、ビットプレーンの右外側の列となるが、この場合、レジスタ46−3のビット5〜ビット1には“0”が記憶される。また、n=1の場合、4(n−1)行目は、0行目となり、ビットプレーンの上外側の行となるが、この場合、レジスタ46−1〜46−3のビット5には“0”が記憶される。
図6(D)はコンテクスト演算器28で作成される注目ストライプ周辺のSPパスにおける有意情報48を示しており、太線で囲む部分49は、レジスタ44−1〜44−3とレジスタ45−1〜45−3の対応する部分のORを取り、コードブロック端を考慮したものであり、その他の部分50は、レジスタ44−1〜44−3からコードブロック端を考慮したものである。
図6(E)はコンテクスト演算器28で作成される注目ストライプ周辺のCLパスにおける有意情報51を示しており、太線で囲む部分52は、レジスタ44−1〜44−3とレジスタ45−1〜45−3とレジスタ46−1〜46−3の対応する部分のORを取り、コードブロック端を考慮したものであり、その他の部分53は、レジスタ44−1〜44−3とレジスタ45−1〜45−3の対応する部分のORを取り、コードブロック端を考慮したものである。
図7はコンテクスト演算器28で行われるコンテクスト決定処理を説明するための図である。コンテクスト演算器28では、注目ストライプの4ビットのコンテクスト決定処理が同時に行われるが、各場合について、以下の通り、コンテクストが決定される。
(C1)注目ストライプの4ビットが全てCLパスの場合、図7(A)に示すように、ランレングスコンテクスト演算器55によりランレングスコンテクストが決定される。
(C2)注目ビットがSPパスで、ストライプの1番上のビットの場合、図7(B)に示すように、図6(D)に示す注目ストライプ周辺のSPパスにおける有意情報48からの8近傍有意情報を用いて、注目ビットの周辺8ビットにおいて、以前のビットプレーンまでに“1”が出てきたかどうかの情報から、コンテクストテーブル56を参照してコンテクストが決定される。
(C3)注目ビットがSPパスで、ストライプの2番目以下のビットの場合、図7(C)に示すように、図6(D)に示す注目ストライプ周辺のSPパスにおける有意情報48の注目ビットの上のビットを除く8近傍有意情報と、「注目ビットの上のビットがSPパスかつシンボル=“1”であるならば“1”、それ以外は“0”となる情報と、注目ストライプ周辺のSPパスにおける有意情報48のうち、注目ビットの上のビットの有意情報とをOR処理した情報」を用いて、コンテクストテーブル56を参照してコンテクストが決定される。
(C4)注目ビットがMRパスの場合、図7(D)に示すように、図6(D)に示す注目ストライプ周辺のSPパスにおける有意情報48からの8近傍有意情報と、最初のMRパスであるかどうかの情報を用いて、コンテクストテーブル56を参照してコンテクストが決定される。
(C5)注目ビットがCLパスで、ストライプの1番上のビットの場合、図7(E)に示すように、図6(E)に示す注目ストライプ周辺のCLパスにおける有意情報51からの8近傍有意情報を用いて、注目ビットの周辺8ビットにおいて、以前のビットプレーンまでに“1”が出てきたかどうかの情報から、コンテクストテーブル56を参照してコンテクストが決定される。
(C6)注目ビットがCLパスで、ストライプの2番目以下のビットの場合、図7(F)に示すように、図6(E)に示す注目ストライプ周辺のCLパスにおける有意情報51の注目ビットの上のビットを除く8近傍有意情報と、「注目ビットの上のビットがCLパスかつシンボル=“1”であるならば“1”、それ以外は“0”となる情報と、注目ストライプ周辺のCLパスにおける有意情報51のうち、注目ビットの上のビットの有意情報とをOR処理した情報」を用いて、コンテクストテーブル56を参照してコンテクストが決定される。
以上のように、コンテクスト演算器28は、(C1)〜(C6)に示すようにコンテクストを決定するとしているので、図8に示すように、ストライプの4ビットをコンテクスト決定処理単位として、ストライプの4ビットのコンテクスト決定処理を同時に行うことができる。この結果、図14に示すビットモデリング演算器13でのコンテクスト決定処理のように1パスずつ、かつ、1ビットずつ処理する場合に比較して12倍の速度でコンテクスト処理を行うことができる。
図9はビットモデリング演算器22におけるビットプレーン上のパス演算位置とコンテクスト演算位置との関係を示す図である。図9中、58はコンテクスト演算が終了している領域、59は現在コンテスクト演算中の位置、60はパス演算だけが終了している領域、61はパス演算中の位置である。
ここで、注目ストライプの4ビットのコンテクストを決定するためには、注目ストライプの下のビットのパスが決定していなければならない。このため、コンテスクト演算位置59はパス演算位置61より1段以上遅れている必要があるが、コンテククト演算位置59をパス演算位置61より縦方向に1段かつ横方向に2ビット分遅延した位置とする場合には、コンテクスト演算位置59の1段下のパス演算器26の演算結果を記憶装置を用いないでコンテクスト演算器28に転送できる。
したがって、このようにする場合には、余分な記憶装置を必要とせず、回路規模が必要以上に大きくならないようにすることができる。また、パス演算だけが終了している領域60におけるパス情報のみを中間データ記憶装置に記憶する場合には、中間データ記憶装置27の規模を抑えることができる。
図10は本発明の一実施形態のビットモデリング演算器22からのコンテクストの出力例を示す図であり、本発明の一実施形態のビットモデリング演算器22からは、図10に示すように、SPパス、MRパス、CLパスのコンテクストが入り混じって出力されることになる。しかしながら、算術符号化器24では、同じビットプレーンにおけるSPパスのデータを全て処理してからMRパスのデータの処理が行われ、MRパスのデータの処理が終了してからCLパスのデータの処理が行われる。
そこで、もし、ビットモデリング演算器22から出力されるデータを出力順番そのままにシンボル・コンテクスト記憶装置23に格納していくと、図10に示すように、SPパスのデータがしばらく無いときには、SPパスのデータが出力するまで待ち時間が生じてしまう。この待ち時間によって算術符号化の処理が遅くなり、全体としての処理時間が長くなってしまう。
この問題を解決するための方法として、シンボル・コンテクスト記憶装置23を、例えば、図11に示すように、SPパス用のSRAM62と、MRパス用のSRAM63と、CLパス用のSRAM64と、SRAM62〜64の出力の選択を行う切換スイッチ回路65を設ける構成とすることが考えられる。
このようにする場合、書き込み時には、SPパスのデータ、MRパスのデータ、CLパスのデータは、それぞれ、SPパス用のSRAM62、MRパス用のSRAM63、CLパス用のSRAM64に書き込み、データを読み出す時には、SRAM62に格納されているSPパスのデータが最初に読み出され、次に、MRパスのデータ、CLパスのデータの順に読み出されることになる。
しかしながら、それぞれのパスの数は不定でありビットプレーンのデータ全てがMRパスであったり、CLパスであったりすることがあるため、各パス用のSRAM62〜64は最もデータが多くなるときにあわせて容量を決めなければならず、1つのSRAMに3つのパスのデータを順番に格納させるだけのSRAMに比べて、単純に考えると、3倍の容量が必要となってしまう。
そこで、図12に示すように、シンボル・コンテクスト記憶装置23として、1個のSRAM67を用い、あらかじめ処理中のビットプレーンのSPパスとMRパスとCLパスに属するビットの数をビットモデリング制御装置30で数えておき、SRAM67の領域をSPパスデータ記憶領域68と、MRパスデータ記憶領域69と、CLパスデータ記憶領域70とに区切って使用する方法が考えられる。
この場合、書き込み時には、SPパスデータ、MRパスデータ、CLパスデータはそれぞれSPパスデータ記憶領域68、MRパスデータ記憶領域69、CLパスデータ記憶領域70に格納され、読み出し時には、SPパスデータ記憶領域68、MRパスデータ記憶領域69、CLパスデータ記憶領域70から、SPパスデータ、MRパスデータ、CLパスデータの順に読み出されることになる。
このようにする場合には、シンボル・コンテクスト記憶装置23の容量の増加を抑えることができる。ここで、MRパスに属するビットは、前のビットプレーンまでにシンボルが“1”になったことがあるビットなので、前のビットプレーンの処理が終わった時点で、今回処理するビットプレーン内のMRパスのビット数を知ることは容易であるが、SPパスとCLパスに属するビットの数はビットプレーン処理中に変化するので、処理前に知ることは困難である。
そこで、シンボル・コンテクスト記憶装置23を1個のSRAM67で構成して、図13に示すように使用することが考えられる。この使用例では、前のビットプレーンの処理時にビットモデリング制御装置30でMRパスのビット数を計測し、前のビットプレーンの処理が終了した時点で、ビットモデリング制御装置30は、SRAM67のMRパスのデータ記憶領域71だけを確定し、即ち、SRAM67の記憶空間の一端から一定の記憶領域をMRパスのデータ記憶領域71とし、残りの記憶領域72をSPパス・CLパスのデータ記憶領域とする。
そして、MRパスのデータ記憶領域71には、矢印Y1で示すようにMRパスのデータを順に記憶させ、SPパス・CLパスのデータ記憶領域72には、SPパスのデータ及びCLパスのデータを、それぞれ、矢印Y2、Y3に示すように、データ記憶領域72の記憶空間の両端から逆方向に記憶させるようにする。
ここで、最終的なSPパスのビット数とCLパスのビット数の総和は変わらないので、それぞれのデータ領域が重なることはない。このような構成にすることにより、SRAM67を有効に活用することができ、余計なSRAMを使用する必要はなく、シンボル・コンテクスト記憶領域の小規模化を図ることができる。なお、読み出し時には、矢印Y4、Y5に示すように、SPパスのデータ、MRパスのデータ、CLパスのデータの順に読み出すことになる。
この場合のシンボル・コンテクスト記憶装置23に対する書き込み制御は、ビットモデリング制御装置30からシンボル・コンテクスト記憶装置23に対して書き込みアドレスを与えることにより行われ、シンボル・コンテクスト記憶装置23に対する読み出し制御は、演算制御装置33からシンボル・コンテクスト記憶装置23に対して読み出しアドレスを与えることにより行われる。
以上のように、本発明の一実施形態のビットモデリング演算器22によれば、パス演算器26によって、ストライプの4ビットをパス決定処理単位として、ビットプレーン内の各ビットのパスの決定処理が順に行われ、コンテクスト演算器28によって、ストライプの4ビットをコンテクスト決定処理単位として、ストライプの4ビットのコンテクスト決定処理が同時に行われることにより、ビットプレーン内の各ビットのコンテクスト決定処理が行われる。
そして、コンテクスト演算器28は、ビットプレーン内の各ビットのコンテクスト決定処理にパス演算器26で得られるパス情報を用いるとされているので、注目ビットがどのパスに属していたとしても、そのコンテクストを決定することができる。したがって、簡単な構成で、ビットモデリング処理の高速化を図ることができる。
なお、本発明の一実施形態のビットモデリング演算器22においては、コンテクスト演算器28は、ストライプの4ビットのコンテクスト決定処理を同時に行うとしているが、ストライプの4ビットのコンテクスト決定処理を1ビットずつ行うように構成することもできる。
このように構成する場合には、本発明の一実施形態のビットモデリング演算器22の場合よりも、ビットモデリング処理速度は遅くなるが、それでも、コンテクスト演算器28は、ビットプレーン内の各ビットのコンテクスト決定処理にパス演算器26で得られるパス情報を用いることになるので、注目ビットがどのパスに属していたとしても、そのコンテクストを決定することができる。したがって、簡単な構成で、ビットモデリング処理の高速化を図ることができる。
10…ウエーブレット変換器
11…エントロピー符号化器
12…ストリーム生成器
13…ビットモデリング演算器
14…算術符号化器
15…コードブロック
16−1〜16−6…ビットプレーン
20…ウエーブレット変換器
21…コードブロックデータ記憶装置
22…ビットモデリング演算器(本発明の一実施形態)
23…シンボル・コンテクスト記憶装置
24…算術符号化器
25…ストリーム生成器
26…パス演算器
27…中間データ記憶装置
28…コンテクスト演算器
29…有意ビット記憶装置
30…ビットモデリング制御装置
32…演算器
33…演算制御装置
34〜38…セレクタ
39−1〜39−3…レジスタ
40−1〜40−3…レジスタ
44−1〜44−3…レジスタ
45−1〜45−3…レジスタ
46−1〜46−3…レジスタ
65…切換スイッチ回路
11…エントロピー符号化器
12…ストリーム生成器
13…ビットモデリング演算器
14…算術符号化器
15…コードブロック
16−1〜16−6…ビットプレーン
20…ウエーブレット変換器
21…コードブロックデータ記憶装置
22…ビットモデリング演算器(本発明の一実施形態)
23…シンボル・コンテクスト記憶装置
24…算術符号化器
25…ストリーム生成器
26…パス演算器
27…中間データ記憶装置
28…コンテクスト演算器
29…有意ビット記憶装置
30…ビットモデリング制御装置
32…演算器
33…演算制御装置
34〜38…セレクタ
39−1〜39−3…レジスタ
40−1〜40−3…レジスタ
44−1〜44−3…レジスタ
45−1〜45−3…レジスタ
46−1〜46−3…レジスタ
65…切換スイッチ回路
Claims (4)
- ビットプレーン内の各ビットのパス決定処理を行うパス演算器と、
該パス演算器で得られるパス情報、シンボル及び有意情報を用いて、前記ビットプレーン内の各ビットのコンテクスト決定処理を行うコンテクスト演算器を有することを特徴とするビットモデリング演算器。 - 前記コンテクスト演算器は、複数ビットを単位として同時にコンテクスト決定処理を行うことにより、前記ビットプレーン内の各ビットのコンテクスト決定処理を行うことを特徴とする請求項1記載のビットモデリング演算器。
- 前記パス決定処理及び前記コンテクスト決定処理は、垂直方向の複数ビットからなるストライプを単位として前記ビットプレーンをラスタ走査することにより行われ、
前記パス演算器及び前記コンテクスト演算器は、前記コンテクスト演算器が現にコンテクスト決定処理を行うストライプの1ビット下のビットのパスが既に決定されているように演算位置を制御されることを特徴とする請求項1記載のビットモデリング演算器。 - 前記コンテクスト演算器の出力データを記憶する記憶装置を制御する制御装置を有し、
該制御装置は、前記ビットプレーンを単位としてMRパスに属するビット数を算出し、前記記憶装置の記憶空間の一端から一定の記憶領域を前記MRパスに属する出力データの記憶領域、残りの記憶領域をSPパスに属するデータ及びCLパスに属するデータの記憶領域とし、前記SPパスに属するデータ及び前記CLパスに属するデータを、それぞれ、前記残りの記憶領域の記憶空間の両端から逆方向に記憶させることを特徴とする請求項1記載のビットモデリング演算器。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004159277A JP2005341368A (ja) | 2004-05-28 | 2004-05-28 | ビットモデリング演算器 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004159277A JP2005341368A (ja) | 2004-05-28 | 2004-05-28 | ビットモデリング演算器 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2005341368A true JP2005341368A (ja) | 2005-12-08 |
Family
ID=35494397
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004159277A Pending JP2005341368A (ja) | 2004-05-28 | 2004-05-28 | ビットモデリング演算器 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2005341368A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007235443A (ja) * | 2006-02-28 | 2007-09-13 | Fujitsu Ltd | 符号化装置および方法 |
| JP2009049630A (ja) * | 2007-08-17 | 2009-03-05 | Fujitsu Electronics Inc | 算術復号器およびエントロピ復号器 |
| JP2018509863A (ja) * | 2015-03-05 | 2018-04-05 | ノキア テクノロジーズ オーユー | 画像の符号化および復号のための方法および装置 |
-
2004
- 2004-05-28 JP JP2004159277A patent/JP2005341368A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007235443A (ja) * | 2006-02-28 | 2007-09-13 | Fujitsu Ltd | 符号化装置および方法 |
| US7742645B2 (en) | 2006-02-28 | 2010-06-22 | Fujitsu Microelectronics Limited | Encoding device and method |
| JP2009049630A (ja) * | 2007-08-17 | 2009-03-05 | Fujitsu Electronics Inc | 算術復号器およびエントロピ復号器 |
| JP2018509863A (ja) * | 2015-03-05 | 2018-04-05 | ノキア テクノロジーズ オーユー | 画像の符号化および復号のための方法および装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4448866B2 (ja) | 描画装置 | |
| CN101371263A (zh) | 用于在并行处理系统中处理多媒体数据的算法步骤的方法和装置 | |
| JPH0535435B2 (ja) | ||
| JP5549442B2 (ja) | Fft演算装置 | |
| JP2005341368A (ja) | ビットモデリング演算器 | |
| US10140681B2 (en) | Caching method of graphic processing unit | |
| US7418143B2 (en) | Encoding device and method, decoding device and method, and image information processing system and method | |
| JPH05233795A (ja) | 画像拡大縮小装置 | |
| CN102651120B (zh) | 用于影像处理的存储器存取方法及影像处理装置 | |
| KR101192566B1 (ko) | 메모리 제어 방법, 메모리 제어 장치 | |
| JP3506612B2 (ja) | スケジューリング制御装置 | |
| KR100275427B1 (ko) | Ram과의 인터페이스 방법 및 장치 | |
| JP3251447B2 (ja) | 符号化装置及び方法、並びに復号化装置及び方法 | |
| JPS61235958A (ja) | 画像記憶装置 | |
| JP4825755B2 (ja) | 算術復号器およびエントロピ復号器 | |
| JPH1078868A (ja) | データ処理装置 | |
| JP3080937B2 (ja) | Jbigによる符号化方法およびjbigプログラムを記録した記録媒体 | |
| KR100276793B1 (ko) | 부화소 마스크 생성장치 | |
| JP4144601B2 (ja) | 演算処理回路、データ格納回路、演算処理装置、演算処理方法、データ格納方法、および、演算結果格納読み出し方法 | |
| JP2006050415A (ja) | 画像処理装置および閾値データ記憶方法 | |
| JP3545599B2 (ja) | 交通情報予測方法、装置、交通情報予測プログラムを記録した記録媒体 | |
| JP2557630B2 (ja) | 画像縮小装置 | |
| JP4973042B2 (ja) | データ位置変換装置およびデータ位置変換方法 | |
| JPS61148487A (ja) | 拡大縮小装置 | |
| WO2006077504A2 (en) | An algorithm for growing 4-connected cores in image segmentation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070312 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090304 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090331 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090728 |