JP2004064115A - Code amount control apparatus and program - Google Patents

Code amount control apparatus and program Download PDF

Info

Publication number
JP2004064115A
JP2004064115A JP2002215463A JP2002215463A JP2004064115A JP 2004064115 A JP2004064115 A JP 2004064115A JP 2002215463 A JP2002215463 A JP 2002215463A JP 2002215463 A JP2002215463 A JP 2002215463A JP 2004064115 A JP2004064115 A JP 2004064115A
Authority
JP
Japan
Prior art keywords
band
code amount
bit
control unit
amount control
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.)
Granted
Application number
JP2002215463A
Other languages
Japanese (ja)
Other versions
JP3989788B2 (en
JP2004064115A5 (en
Inventor
Yusuke Mizuno
水野 雄介
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2002215463A priority Critical patent/JP3989788B2/en
Publication of JP2004064115A publication Critical patent/JP2004064115A/en
Publication of JP2004064115A5 publication Critical patent/JP2004064115A5/ja
Application granted granted Critical
Publication of JP3989788B2 publication Critical patent/JP3989788B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a code amount control apparatus capable of executing code amount control applied to a bit stream including compression encoding data at high speed with less computational complexity so as to suppress distortion with respect to a rate. <P>SOLUTION: In the code amount control apparatus 1, an MMU 3 temporarily stores an input bit stream including compression encoded data subjected to compression encoding by the JPEG 2000 system into a storage device 2, reads data OD from the storage device 2 according to control signals CS1, CS2 and outputs the data to a multiplexer section 5. The multiplexer section 5 multiplexes the data OD and outputs the multiplexed data as an output bit stream. A bit truncation control section 4 is provided with an image quality control section 10 for selecting an encoding object in conformity with the target image quality and an encoded amount control section 11 for controlling the encoded amount in conformity with the target encoding amount. A layer division control section 7 outputs a read control signal CS2 to generate an output bit stream divided into a plurality of layers to the MMU 3. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、圧縮画像信号を含むビットストリームの符号量を制御する符号量制御装置に関する。
【0002】
【従来の技術】
画像データの次世代の高能率符号化方式として、ISO(国際標準化機構)やITU−T(国際電気通信連合電気通信標準化部門)によって、JPEG2000(Joint Photographic Experts Group 2000)方式が策定されている。JPEG2000方式は、現在主流のJPEG(Joint Photographic Experts Group)方式と比べて優れた機能を有するものであり、直交変換としてDWT(離散ウェーブレット変換;Discrete Wavelet Transform)を採用し、エントロピー符号化に、ビットプレーン符号化を伴うEBCOT(Embedded Block Coding with Optimized Truncation)と称する方法を採用する点に特徴がある。
【0003】
以下、図23に示す圧縮符号化装置(エンコーダ)100を参照しつつ、JPEG2000方式の圧縮符号化手順を概説する。
【0004】
この圧縮符号化装置100に入力する画像信号は、DCレベルシフト部102で必要に応じてDCレベル変換を施された後に、色空間変換部103に出力される。次に、色空間変換部103は、DCレベルシフト部102から入力する信号の色空間を変換する。次に、タイリング部104は、色空間変換部103から入力する画像信号を、複数の矩形状の「タイル」と称する領域成分に分割してDWT部105に出力する。DWT部105は、タイリング部104から入力する画像信号に対してタイル単位で整数型または実数型のDWTを施し、その結果得られる変換係数を出力する。DWTでは、2次元画像信号に対して、高域成分(高周波数成分)と低域成分(低周波数成分)とに分割する1次元フィルタが垂直方向と水平方向の順に適用される。JPEG2000の基本方式では、垂直方向と水平方向との双方向に低域側に分割した帯域成分のみを再帰的に帯域分割していくオクターブ分割方式が採用されている。またその再帰的に帯域分割した回数は、分解レベル(decomposition level)と呼ばれる。
【0005】
図24は、オクターブ分割方式に従って、分解レベル3のDWTを施された2次元画像120を示す模式図である。分解レベル1では、2次元画像120は、垂直方向と水平方向とに前述の1次元フィルタを順次適用することで、HH1,HL1,LH1およびLL1(図示せず)の4つの帯域成分に分割される。ここで、「H」は高域成分を、「L」は低域成分をそれぞれ示している。例えば、HL1は、分解レベル1における水平方向の高域成分Hと垂直方向の低域成分Lとからなる帯域成分である。その表記法を一般化して、「XYn」(X,YはH,Lの何れか;nは1以上の整数)は、分解レベルnにおける水平方向の帯域成分Xと垂直方向の帯域成分Yとからなる帯域成分を指すものとする。
【0006】
次に、分解レベル2では、低域成分LL1は、HH2,HL2,LH2およびLL2(図示せず)に帯域分割される。更に、分解レベル3では、低域成分LL2は、HH3,HL3,LH3およびLL3に帯域分割される。以上で生成された帯域成分HH1〜LL3を配列したのが図24である。
【0007】
次に、量子化部106は、DWT部105から出力された変換係数を、必要に応じてスカラー量子化する機能を有する。また量子化部106は、ROI部107による指定領域(ROI;Region Of Interest)の画質を優先させるビットシフト処理を行う機能も有している。尚、可逆(ロスレス)変換を行う場合には、量子化部106でのスカラー量子化は行われない。JPEG2000方式では、この量子化部106でのスカラー量子化と後述するポスト量子化(truncation)との2種類の量子化手段が用意されている。
【0008】
次に、量子化部106から出力された変換係数は、上述のEBCOTに従って、係数ビットモデリング部108と算術符号化部109とで順次、ブロックベースのエントロピー符号化を施され、符号量制御部110でレートを制御される。具体的には、係数ビットモデリング部108は、入力する変換係数の帯域成分を32×32や64×64程度の「コードブロック」と称する領域に分割し、更に、各コードブロックを、各ビットの2次元配列で構成される複数のビットプレーンに分解する。
【0009】
図25は、複数のコードブロック121,121,121,…に分解された2次元画像120を示す模式図である。また、図26は、このコードブロック121を構成するn枚のビットプレーン122〜122n−1(n:自然数)を示す模式図である。図26に示すように、コードブロック121中の1点の変換係数の2進値123が”011…0”である場合、この2進値123を構成するビットは、それぞれ、ビットプレーン122n−1,122n−2,122n−3,…,122に属するように分解される。図中のビットプレーン122n−1は、変換係数の最上位ビット(MSB)のみからなる最上位ビットプレーンを表し、ビットプレーン122は、その最下位ビット(LSB)のみからなる最下位ビットプレーンを表している。
【0010】
更に、係数ビットモデリング部108は、各ビットプレーン122(k=0〜n−1)内の各ビットのコンテクスト(context)判定を行い、図27に示すように、各ビットの有意性(判定結果)に応じて、ビットプレーン122を3種類の符号化パス、すなわち、CLパス(CLeanup pass),MRパス(Magnitude Refinement pass),SIGパス(SIGnificance propagation pass)に分解する。各符号化パスに関するコンテクスト判定のアルゴリズムは、JPEG2000の規格で定められている。それによれば、「有意である」とは、これまでの符号化処理において注目係数がゼロでないとわかっている状態のことを意味し、「有意で無い」とは、係数値がゼロであるか、或いはゼロである可能性がある状態のことを意味する。
【0011】
係数ビットモデリング部108は、SIGパス(有意な係数が周囲にある有意でない係数の符号化パス)、MRパス(有意な係数の符号化パス)およびCLパス(SIGパス,MRパスに該当しない残りの係数情報の符号化パス)の3種類の符号化パスでビットプレーン符号化を実行する。ビットプレーン符号化は、最上位ビットプレーンから最下位ビットプレーンにかけて、各ビットプレーンのビットを4ビット単位で走査し、有意な係数が存在するか否かを判定することで行われる。有意で無い係数(0ビット)のみで構成されるビットプレーンの数はパケットヘッダに記録され、有意な係数が最初に出現したビットプレーンから実際の符号化が開始される。その符号化開始のビットプレーンはCLパスのみで符号化され、当該ビットプレーンよりも下位のビットプレーンは、上記3種類の符号化パスで順次符号化される。
【0012】
次に、算術符号化部109は、MQコーダを用いて、係数ビットモデリング部108からの係数列に対して、コンテクストの判定結果に基づいて符号化パス単位で算術符号化を実行する。尚、この算術符号化部109で、係数ビットモデリング部108から入力する係数列の一部を算術符号化させないバイパス処理を行うモードもある。
【0013】
次に、符号量制御部110は、算術符号化部109が出力した符号列の下位ビットプレーンを切り捨てるポスト量子化を行うことで、最終符号量を制御する。そして、ビットストリーム生成部111は、符号量制御部110が出力した符号列と付加情報(ヘッダ情報,レイヤー構成,スケーラビリティ,量子化テーブルなど)とを多重化したビットストリームを生成し、圧縮画像として出力する。
【0014】
【発明が解決しようとする課題】
上記した圧縮符号化装置100では、レート・歪み最適化(R−D optimization)を用いて、符号化レートに対する歪量を最適化するように最終符号量などを制御していた。レート・歪み最適化は、上記算術符号化の段階で計算される各符号化パスにおける歪量などを利用して行われる。レート・歪み最適化のアルゴリズムについては、「David S. Taubman and Michael W. Marcellin, ”JPEG2000 IMAGE COMPRESSION FUNDAMENTALS, STANDARDS AND PRACTICE,” Kluwer Academic Publishers」の文献(以下、参考文献Aと呼ぶ。)に開示される。
【0015】
一方、デジタルカメラなどのデジタル機器では、圧縮済みの画像データの画質、画像サイズ、符号量およびスケーラビリティ(階層性)などを変更する場合がある。かかる場合には、トランスコーダを用いて、圧縮画像の符号量やスケーラビリティなどを変更していた。JPEG2000方式では圧縮画像信号を復号化せずに、そのスケーラビリティや符号量などを変更できるが、従来のJPEGベースライン方式では、一旦、圧縮画像信号を復号化した後で、そのスケーラビリティと符号量を変更し、圧縮符号化を実行しなければならないため、演算量が多く且つリアルタイム性が低い。
【0016】
よって、JPEG2000方式のトランスコーダを用いることで、圧縮符号化装置100で生成されたビットストリーム中の圧縮符号化データのスケーラビリティや符号量などを少ない演算量で変更することができる。しかしながら、JPEG2000方式のトランスコーダは、圧縮符号化装置100で算出された歪量を知ることができないため、レート・歪み最適化を用いてビットストリームの符号量制御を容易に行うことができないという問題がある。たとえレート・歪み最適化を用いた符号量制御を行うトランスコーダが実現可能だとしても、その符号量制御処理の演算量は多大となり、そのリアルタイム性は低くなる。
【0017】
以上の問題などに鑑みて本発明が課題とするところは、圧縮符号化データを含むビットストリームの符号量制御を、レートに対する歪みを抑制し得るように、少ない演算量で且つ高速に実行し得る符号量制御装置を提供する点にある。
【0018】
【課題を解決するための手段】
上記課題を解決するため、請求項1に係る発明は、ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御する符号量制御装置であって、前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分から、目標画質に合わせて符号化対象を選択する画質制御部、を備えることを特徴としている。
【0019】
請求項2に係る発明は、請求項1記載の符号量制御装置であって、前記画質制御部は、人間の視覚特性を考慮した重み付けをされた前記優先度を用いる機能を有するものである。
【0020】
請求項3に係る発明は、請求項1または2記載の符号量制御装置であって、前記画質制御部は、前記符号化対象を前記ビットプレーン単位で決定する機能を有するものである。
【0021】
請求項4に係る発明は、請求項1〜3の何れか1項に記載の符号量制御装置であって、前記画質制御部は、前記符号化対象を前記符号化パス単位で決定する機能を有するものである。
【0022】
次に、請求項5に係る発明は、ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御する符号量制御装置であって、前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分の符号化データを所定の走査順序で並べ替えて生成した符号列から、目標符号量に適合する切り捨て点を算出し、当該切り捨て点よりも前の前記符号列を出力させるように制御する符号量制御部、を備えることを特徴としている。
【0023】
請求項6に係る発明は、請求項5記載の符号量制御装置であって、前記符号量制御部は、前記符号化データを、前記優先度の高い順に且つ同一の前記優先度においては高域側から低域側に向けた前記走査順序で並べ替えて前記符号列を生成するものである。
【0024】
請求項7に係る発明は、請求項1〜6の何れか1項に記載の符号量制御装置であって、前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分を複数のレイヤーに分割するように制御するレイヤー分割制御部、を更に備えたものである。
【0025】
そして、請求項8に係る発明は、請求項7記載の符号量制御装置であって、前記レイヤー分割制御部は、人間の視覚特性を考慮した重み付けをされた前記優先度を用いる機能を有するものである。
【0026】
次に、請求項9に係る発明は、ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御するためのプログラムであって、前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分から、目標画質に合わせて符号化対象を選択する画質制御部として、マイクロプロセッサを機能させることを特徴としている。
【0027】
請求項10に係る発明は、請求項9記載のプログラムであって、前記画質制御部は、人間の視覚特性を考慮した重み付けをされた前記優先度を用いるように前記マイクロプロセッサを機能させるものである。
【0028】
請求項11に係る発明は、請求項9または10記載のプログラムであって、前記画質制御部は、前記符号化対象を前記ビットプレーン単位で決定するように前記マイクロプロセッサを機能させるものである。
【0029】
請求項12に係る発明は、請求項9〜11の何れか1項に記載のプログラムであって、前記画質制御部は、前記符号化対象を前記符号化パス単位で決定するように前記マイクロプロセッサを機能させるものである。
【0030】
次に、請求項13に係る発明は、ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御するためのプログラムであって、前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分の符号化データを所定の走査順序で並べ替えて生成した符号列から、目標符号量に適合する切り捨て点を算出し、当該切り捨て点よりも前の前記符号列を出力させるように制御する符号量制御部として、マイクロプロセッサを機能させることを特徴としている。
【0031】
請求項14に係る発明は、請求項13記載のプログラムであって、前記符号量制御部は、前記符号化データを、前記優先度の高い順に且つ同一の前記優先度においては高域側から低域側に向けた前記走査順序で並べ替えて前記符号列を生成するように前記マイクロプロセッサを機能させるものである。
【0032】
請求項15に係る発明は、請求項9〜14の何れか1項に記載のプログラムであって、前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分を複数のレイヤーに分割するように制御するレイヤー分割制御部として、前記マイクロプロセッサを機能させるものである。
【0033】
そして、請求項16に係る発明は、請求項15記載のプログラムであって、前記レイヤー分割制御部は、人間の視覚特性を考慮した重み付けをされた前記優先度を用いるように前記マイクロプロセッサを機能させるものである。
【0034】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
【0035】
符号量制御装置の構成.
図1は、本発明の実施形態に係る符号量制御装置の概略構成を示す機能ブロック図である。この符号量制御装置(トランスコーダ)1は、大容量の記憶装置2、この記憶装置2に対してデータの読出しと書出しの制御を行うMMU(メモリ管理部)3、ビット切り捨て制御部4、多重化部5、優先度テーブル6およびレイヤー分割制御部7を備えて構成される。
【0036】
尚、この符号量制御装置1を構成する処理部4,5,6および7の全部または一部は、ハードウェアで構成されてもよいし、マイクロプロセッサを機能させるプログラムで構成されていてもよい。
【0037】
この符号量制御装置1のMMU3は、JPEG2000方式で圧縮符号化された圧縮符号化データを含む入力ビットストリームを記憶装置2に一時記憶した後に、その符号量を制御する制御信号CS1,CS2に従って、記憶装置2からデータODを読み出して多重化部5に出力する。多重化部5は、データODを多重化し、出力ビットストリームとして出力する。
【0038】
図2は、図1に示した符号量制御装置1におけるビット切り捨て制御部4の概略構成を示す機能ブロック図である。ビット切り捨て制御部4は、目標画質に合わせて符号化対象を選択する画質制御部10と、目標符号量(最終符号量)に合わせて符号量を制御する符号量制御部11とを備えている。また、符号量制御部11は、MMU3から供給される入力ビットストリームのデータ構造情報DSに基づいて、画質制御部10で選択された符号化対象から、目標符号量に適合する切り捨て点を算出し、当該切り捨て点よりも前の符号列を読み出させる読出制御信号CS1を生成し、MMU3に供給する。
【0039】
また、図1に示すレイヤー分割制御部7は、MMU3から供給される入力ビットストリームのデータ構造情報DSに基づいて、複数のレイヤーに分割した出力ビットストリームを生成させるための読出制御信号CS2を生成し、MMU3に出力する。
【0040】
そして、優先度テーブル6は、入力ビットストリームに含まれる圧縮符号化データの各帯域成分に対して、JPEG2000方式に従って低域成分に再帰的に帯域分割された回数に応じて設定される優先度を格納しており、その優先度データPS1,PS2を、ビット切り捨て制御部4とレイヤー分割制御部7とに供給している。
【0041】
以上の構成を有する符号量制御装置1の構成と動作について以下に詳説する。
【0042】
優先度設定処理(第1実施例).
上記優先度テーブル6に記録する優先度の設定方法の第1実施例について説明する。本発明では、優先度は、各帯域成分(サブバンド)に対して、低域成分に再帰的に帯域分割された回数に応じて決定される。本実施例では、分解レベルn(n:1以上の整数)における帯域成分HHnの優先度は「n−1」、帯域成分HLnおよびLHnの優先度は「(n−1)+1」、帯域成分LLnの優先度は「(n−1)+2」にそれぞれ決定される。例えば、図24に示す帯域成分HH1の優先度は「0」、帯域成分LL3の優先度は「4」に設定される。図3は、オクターブ分割方式に従って帯域分割した2次元画像25を示す模式図である。各帯域成分に優先度「0」,「1」,「2」,「3」,「4」の何れかが付されている。
【0043】
優先度テーブル6には、帯域成分HHn,HLn,LHn,LLnのそれぞれに対応する優先度の情報が記録されており、画質制御部10,符号量制御部11およびレイヤー分割制御部7は、この優先度テーブル6から取得した優先度データPS1,PS2に従って、各帯域成分に対して優先度を設定する。具体的には、各帯域成分においてエントロピー符号化された変換係数(以下、単に「変換係数」と呼ぶ。)を、優先度に対応するビット数だけシフトさせることで、各変換係数に対して優先度が設定される。尚、このビットシフト処理では、必ずしも、各変換係数に対して実際にビットシフト演算を施す必要は無く、変換係数の各ビットの位置を仮想的にシフトさせればよい。この場合、変換係数の各ビットが属するビットプレーンの位置は変わらない。
【0044】
図4は、ビットシフトによる優先度設定処理を説明するための図である。図3に示した例では、帯域成分LL3の優先度は「4」であるから、該当する変換係数26は4ビット左シフトされている。また、優先度「3」を設定された帯域成分HL3,LH3の変換係数26,26は、3ビット左シフトされ、優先度「2」を設定された帯域成分HH3,HL2,LH2の変換係数26,26,26は、2ビット左シフトされ、優先度「1」を設定された帯域成分HH2,HL1,LH1の変換係数26,26,26は、1ビット左シフトされる。このとき、図5に示すように、ビットシフト前の2次元画像25Aの変換係数は、前述の左ビットシフト処理によって2次元画像25Bで示す変換係数に変化する。例えば、帯域成分LL3の変換係数値(=4)は、4ビットの左シフトにより、4×2=64に変換される。
【0045】
次に、以上のように優先度を設定する理由(理論的背景)を以下に説明する。
【0046】
上述した従来のレート・歪み最適化(R−D optimization)の方法では、歪測度を利用した最適化処理が行われていた。David S. Taubmanらによる前記参考文献Aによれば、歪測度D (z)は次式(1)に従って算出される。
【0047】
【数1】

Figure 2004064115
【0048】
上式(1)中、zは、ビット切り捨て点(bit truncation point);oy K[i,j][j]は、K[i,j]番目のビットプレーンで逆量子化されたコードブロックのj番目のサンプル値(係数値);y[j]は、当該コードブロックのj番目のサンプル値(係数値);Gb[i]は、サブバンドb[i]に対応する合成フィルタ係数のノルムの二乗であって、当該サブバンドbに依存する歪モデルの重み係数を示している。尚、説明の便宜上、上式(1)に示した記号の表記法は、前記参考文献Aでのそれとは若干異なる。
【0049】
レート・歪み最適化では、この歪測度D (z)のサブバンドb[i]における総和量を最小にするような最適化処理が行われる。サブバンドbの重み係数Gは、画像の歪みを低減させるための重み付けを表している。
【0050】
サブバンドbの重み係数Gは、次式(2)に従って算出される。
【0051】
【数2】
Figure 2004064115
【0052】
ここで、上式(2)中、s[n]は、サブバンドbの1次元合成フィルタ係数を示している。また、記号||x||は、ベクトルxに関するノルムを示す。
【0053】
前記参考文献Aに記載される数式(4.39)と(4.40)によれば、分解レベル1における低域成分L1の1次元合成フィルタ係数sL[1][n]と、同分解レベルにおける高域成分H1の1次元合成フィルタ係数sH[1][n]とは、次式(3)に従って算出される。
【0054】
【数3】
Figure 2004064115
【0055】
ここで、上式(3)中、g[n]は、画像信号を帯域分割する順変換フィルタのローパス・フィルタ係数、g[n]は、そのハイパス・フィルタ係数をそれぞれ示している。
【0056】
また、分解レベルd(d=1,2,…,D)における低域成分Ldの1次元合成フィルタ係数sL[d][n]と、同分解レベルにおける高域成分Hdの1次元合成フィルタ係数sH[d][n]とは、次式(4)に従って算出される。
【0057】
【数4】
Figure 2004064115
【0058】
そして、分解レベルdにおける低域成分Ldの1次元合成フィルタ係数のノルムの二乗は、次式(5)に従って算出される。
【0059】
【数5】
Figure 2004064115
【0060】
高域成分の1次元合成フィルタ係数のノルムの二乗も、上式(5)と同様にして算出することができる。
【0061】
次に、分解レベルd(d=1,2,…,D;Dは整数)における帯域成分LLD,HLd,LHd,HHdの2次元合成フィルタ係数は、上記1次元合成フィルタ係数の積で表現することができ、帯域成分bの2次元の重み係数Gも、1次元の重み係数の積で表現することができる。具体的には、2次元合成フィルタ係数と2次元の重み係数とは、次式(6)に従って算出される。
【0062】
【数6】
Figure 2004064115
【0063】
上式(6)中、添字LL[D]はサブバンドLLDを示し,HL[d],LH[d]およびHH[d]はそれぞれサブバンドHLd,LHdおよびHHdを表している。
【0064】
重み係数Gの平方根がノルムである。以下の表1〜表4に、2次元の重み係数Gに関する計算結果を示す。表1に、(9,7)フィルタ(9×7タップのフィルタ)の各帯域成分のノルムの二乗の数値を、表2には、表1に対応するノルムの数値をそれぞれ示す。また、表3に、(5,3)フィルタ(5×3タップのフィルタ)の各帯域成分のノルムの二乗の数値を、表4には、表3に対応するノルムの数値をそれぞれ示す。
【0065】
【表1】
Figure 2004064115
【0066】
【表2】
Figure 2004064115
【0067】
【表3】
Figure 2004064115
【0068】
【表4】
Figure 2004064115
【0069】
更に、分解レベル1における低域成分LL1のノルムをαで表すとき、このノルムαを用いて、各帯域成分について図6に示すような値を設定する。図6に示す2次元画像27は、オクターブ分割方式に従って帯域分割された2次元画像120を示す図である。分解レベルn(n:1以上の整数)における帯域成分HHnの設定値は「2n−3×α」、帯域成分HLnおよびLHnの設定値は「2n−2×α」、帯域成分LLnの設定値は「2n−1×α」にそれぞれ設定される。従って、例えば、帯域成分LH1の設定値は「2−1×α」に設定されている。
【0070】
上記設定値と、表2と表4に示したノルムの数値とを比較すれば、両者は概ね近似する。例えば、表2の場合(α=1.96591)、図6に示す各帯域成分の「設定値(対応する帯域成分)」は、約0.49(HH1)、約0.98(HL1,LH1)、約1.96(HL2,LH2,HH3)、約3.93(HL3,LH3)、約7.86(LL3)となり、これら設定値は、表2に示したノルムの数値と近似していることが分かる。
【0071】
また、図6において、帯域成分LL1のノルムをα=2に丸め込み、各帯域成分の設定値を1ビット左シフトした値、すなわち、全ての設定値に2を乗算した2の巾乗値の指数は、図3に示した優先度の値に一致することが分かる。よって、第1実施例のように各帯域成分に優先度を設定することは、近似的に、レート・歪み最適化で使用するフィルタのノルム(重み係数の平方根)を各帯域成分のサンプル値(変換係数値)に乗算することに等しい。従って、本実施例の優先度は画像の歪みを低減させ得るように設定されるものである。
【0072】
優先度設定処理(第2実施例).
次に、優先度設定方法の第2実施例について説明する。本実施例では、各帯域成分の上記重み係数Gの平方根であるノルムを、最も高い分解レベルにおける最低域成分LLのノルムで除算した値を2の巾乗値に丸め込み、その2の巾乗値の指数の絶対値を、優先度として設定する。具体的には、最も高い分解レベルnの最低域成分LLnのノルムをαとし、その他の帯域成分のノルムをxとし、2の巾乗に丸め込む変数yに関する関数をR[y]とし、変数yの2の巾乗2の指数mを算出する関数をm=I[2]とし、変数yに関する絶対値を|y|とするとき、優先度pは、p=|I[R[x/α]]|、に従って算出される。
【0073】
以下の表5に、上記表2に示した(9,7)フィルタのノルムを用いて算出した優先度を示す。ここで、最も高い分解レベルは5であり、α=33.92493、である。また、図7に、表5に示した優先度を記した2次元画像28を示す帯域分割図を示す。尚、表中の「×」は、当該帯域成分の優先度は計算されていないことを意味する。
【0074】
【表5】
Figure 2004064115
【0075】
また、以下の表6に、上記表4に示した(5,3)フィルタのノルムを用いて算出した優先度を示す。
【0076】
【表6】
Figure 2004064115
【0077】
上記第1実施例では、各帯域成分の変換係数を優先度のビット数だけ左シフトさせて優先度を設定していたが、本第2実施例では、各帯域成分の変換係数を優先度のビット数だけ右シフトさせる処理が実行される。但し、変換係数のビット長を拡大させるように右ビットシフト処理が実行される。図8は、図7に示す優先度のビット数だけ右シフトされた帯域成分の変換係数29,29,…を示す模式図である。
【0078】
優先度設定処理(第3実施例).
次に、人間の視覚特性を考慮した第3実施例に係る優先度設定方法について説明する。数百万画素程度の高解像度の画像について上記第2実施例で示した優先度を適用した場合、復号画像の画質は客観評価では良いが、人間の視覚評価では必ずしも良いとは限らない。そこで、本実施例の優先度設定方法は、人間の視覚特性を考慮した重み付けをされた優先度を採用するものである。これにより、高い表示画質の圧縮画像を生成することが可能になる。
【0079】
前記参考文献AのChapter 16には、CSF(human visual system Contrast Sensitivity Function)に基づいた重み付けMSE(Weighted Mean Squared Error;WMSE)が記載されている。この記載によれば、人間の視覚評価を改善するために、上式(1)を次式(7)に修正するのが望ましい。
【0080】
【数7】
Figure 2004064115
【0081】
ここで、上式(7)中、Wb[i] csfは、サブバンドb[i]の”energy weighting factor”と呼ばれており、Wb[i] csfの推奨数値は、「ISO/IEC JTC 1/SC 29/WG1(ITU−T SG8) N2406, ”JPEG 2000 Part 1 FDIS (includes COR 1, COR 2, and DCOR3),” 4 December 2001」の文献(以下、参考文献Bと呼ぶ。)に記載されている。図9〜図11に、参考文献Bに記載される”energy weighting factor”の数値を示す。
【0082】
図9〜図11中の”level”および ”Lev”は分解レベルを、”Comp”は輝度成分Yと色差成分Cb,Crをそれぞれ示しており、”Viewing distance(視距離)”が1000,1700,2000,3000,4000の例が示されている。また、”Viewing distance 1000”, ”Viewing distance 1700”, ”Viewing distance 2000”, ”Viewing distance 3000”, ”Viewing distance 4000”は、それぞれ、100dpi,170dpi,200dpi,300dpi,400dpiのディスプレイまたは印刷物を10インチ離れて見たときの視距離を意味する。
【0083】
図9〜図11に示す数値を用いて、上式(7)の重み付け係数の平方根(Wb[i] csf・Gb[i]1/2を計算した。その計算結果を、以下の表7〜表18に示す。表7〜表9は、図9に示す数値を用いて計算した(9,7)フィルタの白黒用数値、表10〜表12は、図10と図11に示す数値を用いて計算した(9,7)フィルタのカラー用数値を、表13〜表15は、図9に示す数値を用いて計算した(5,3)フィルタの白黒用数値を、表16〜表18は、図10と図11に示す数値を用いて計算した(5,3)フィルタのカラー用数値をそれぞれ示している。
【0084】
【表7】
Figure 2004064115
【0085】
【表8】
Figure 2004064115
【0086】
【表9】
Figure 2004064115
【0087】
【表10】
Figure 2004064115
【0088】
【表11】
Figure 2004064115
【0089】
【表12】
Figure 2004064115
【0090】
【表13】
Figure 2004064115
【0091】
【表14】
Figure 2004064115
【0092】
【表15】
Figure 2004064115
【0093】
【表16】
Figure 2004064115
【0094】
【表17】
Figure 2004064115
【0095】
【表18】
Figure 2004064115
【0096】
次に、上記表7〜表18に示す数値を用いて、上記第2実施例で述べたのと同じ手順で各帯域成分の優先度を算出した。すなわち、最も高い分解レベルnの最低域成分LLnの数値をαとし、その他の帯域成分の数値をxとし、2の巾乗に丸め込む変数yに関する関数をR[y]とし、変数yの2の巾乗2の指数mを算出する関数をm=I[2]とし、変数yに関する絶対値を|y|とするとき、優先度pは、p=|I[R[x/α]]|、に従って算出される。
【0097】
優先度の値を、以下の表19〜表30に示す。表19,表20,表21,表22,表23,表24,表25,表26,表27,表28,表29および表30の優先度は、それぞれ、上記した表7,表8,表9,表10,表11,表12,表13,表14,表15,表16,表17および表18の数値を用いて算出されたものである。
【0098】
【表19】
Figure 2004064115
【0099】
【表20】
Figure 2004064115
【0100】
【表21】
Figure 2004064115
【0101】
【表22】
Figure 2004064115
【0102】
【表23】
Figure 2004064115
【0103】
【表24】
Figure 2004064115
【0104】
【表25】
Figure 2004064115
【0105】
【表26】
Figure 2004064115
【0106】
【表27】
Figure 2004064115
【0107】
【表28】
Figure 2004064115
【0108】
【表29】
Figure 2004064115
【0109】
【表30】
Figure 2004064115
【0110】
本実施例では、上記第2実施例と同じように、以上の表19〜表30に示す優先度のビット数だけ右シフトさせることで、各帯域成分の変換係数に対して優先度が設定される。これにより、人間の視覚特性を考慮した優先度を設定できる。
【0111】
画質制御処理.
次に、図2に示した画質制御部10の構成と処理内容について説明する。図12は、この画質制御部10の概略構成を示す機能ブロック図である。
【0112】
この画質制御部10は、目標画質(高画質,標準画質,低画質など)に基づいて、複数の画質パラメータ群から当該目標画質に適した画質パラメータQPを選択して出力する画質パラメータ選択部31と、符号化対象を決定する符号化対象判定部30とを備えている。符号化対象判定部30は、優先度テーブル6から取得した優先度データPS1に従って、入力ビットストリームに含まれる圧縮画像データの各帯域成分に対して上述の優先度を設定する。また符号化対象判定部30は、設定した優先度に従って、前記画質パラメータQPで指定される目標画質に合わせて符号化対象を決定し、走査領域情報SAを生成出力する。
【0113】
以下、符号化対象判定部30における符号化対象の決定方法について説明する。図13は、優先度に応じてビットシフトされた変換係数33,33,…を例示する模式図である。各変換係数33は優先度に応じてビットシフトされている。また、変換係数33の各ビットに付した番号0,1,…,10は、当該ビットが属するビットプレーンの番号を示している。ここで、LSB番号=0,MSB番号=10、である。
【0114】
符号化対象判定部30は、画質パラメータQPに従って符号化終了ライン32を設定し、当該符号化終了ライン32よりも上位ビットを符号化対象に決定し、そのライン32よりも下位ビットを符号化対象から外すように走査領域情報SAを生成する。これにより符号化対象を効率的に選別することが可能になる。この結果、走査領域情報SAを受けた符号量制御部11は、各コードブロックにおいて、符号化終了ライン32よりも上位のビットプレーンのみを走査し、そのライン32よりも下位のビットプレーンを切り捨てることになる。
【0115】
符号化対象判定部30は、更に、画質パラメータQPに従って、符号化パス単位で符号化対象を決定することができる。画質パラメータQPは、符号化対象のビットプレーンの制限と、符号化対象の符号化パス(CLパス,SIGパスおよびMRパス)の制限とを示すパラメータ群を含んでいる。以下の表31に、2048×2560画素の解像度をもつ画像に適した画質パラメータQPを例示する。尚、最低域のサブバンドの解像度を128×128画素よりも小さくする必要があるため、5以上の分解レベルが必要である。
【0116】
【表31】
Figure 2004064115
【0117】
表31において「ビットプレーン数」は、図13に示した符号化終了ライン32よりも下位ビットの切り捨て対象のビットプレーンの数を、「パス名」は、符号化対象の中の最終符号化パスを、「最大パス数」は、符号化対象の符号化パス数の上限をそれぞれ表している。
【0118】
図13と表31を適用した場合の処理例を以下に説明する。図14に、帯域成分LL5の変換係数33として”00011010111=21510”を例示する(Yは2進値Yを、X10は10進値Xを表すものとする)。表31に示す通り、帯域成分LL5における最終符号化パスはCLパス、最大パス数は17に制限されている。
【0119】
図14に示す変換係数の7番目ビットは、SIGパスまたはCLパスに属するようにコンテクスト判定がなされている。8番目〜10番目の上位ビットは、0ビットのみで構成されるビットプレーンに属する場合はタグツリー(Tag tree)と称する方式で符号化されており、既に符号化パスが開始している場合はSIGパスまたはCLパスで符号化されている。7番目ビットが符号化開始パス(CLパス)に属する場合、6番目ビットを含む下位ビットは、MRパスに属するようにコンテクスト判定される。一般に、符号化開始のビットプレーンよりも下位のビットプレーンは、符号化効率の観点から、SIGパス,MRパスおよびCLパスの順番で符号化されている。よって、最大パス数は17に制限されているため、7番目ビットのCLパスから1番目ビットのSIGパス迄の計17パスが符号化対象になる。但し、1番目ビットはMRパスに属するため符号化対象に入らない。従って、下位2ビットは切り捨てられ、切り捨て後の値は”00011010100=21210”となる。この値がミッドポイントで逆量子化されれば、”00011010110=21410”となる。
【0120】
次に、図15に、帯域成分LL5の変換係数33として”00000001111=1510”を例示する。変換係数の3番目ビットは、SIGパスまたはCLパスに属する。4番目〜10番目の上位ビットは、0ビットのみで構成されるビットプレーンに属する場合はタグツリー(Tag tree)で符号化されており、既に符号化パスが開始している場合はSIGパスまたはCLパスで符号化されている。3番目ビットが符号化開始パス(CLパス)に属する場合、2番目ビットを含む下位ビットはMRパスに属し、3番目ビットのCLパスから0番目ビットのCLパス迄の計10パスが符号化対象になる。切り捨て後の値は”00000001111=1510”となり、この値が逆量子化されれば、”00000001111=1510”となる。
【0121】
次に、図16に、帯域成分HH2の変換係数33として”00001011111=9510”を例示する。表31に示す通り、帯域成分HH2における最終符号化パスはSIGパス、最大パス数は14に制限されている。また下位3ビットのビットプレーンは切り捨てられる。
【0122】
変換係数の6番目ビットは、SIGパスまたはCLパスに属する。7番目〜10番目の上位ビットは、0ビットのみで構成されるビットプレーンに属する場合はタグツリー(Tag tree)で符号化されており、既に符号化パスが開始している場合はSIGパスまたはCLパスで符号化されている。6番目ビットが符号化開始パス(CLパス)に属する場合、5番目ビットを含む下位ビットはMRパスに属する。また、3番目ビットプレーンのSIGパス迄しか符号化しないという制限のため、6番目ビットのCLパスから4番目ビットのSIGパス迄の8パスが符号化対象になるが、3番目ビットはMRパスに属するため符号化対象に入らない。従って、切り捨て後の値は”00001010000=8010”となり、この値がミッドポイントで逆量子化されれば、”00001011000=8810”となる。
【0123】
尚、各ビットプレーンが、SIGパス,MRパスおよびCLパスの順番で符号化されているのは、SIGパスの歪みに対する符号化効率が最も高いからである。図17に、各符号化パスにおけるレート・歪み特性を示す。R−D曲線中、点P〜Pの部分がSIGパス,点P〜Pの部分がMRパス、点P〜Pの部分がCLパスを示している。各符号化パスにおけるレート(符号量)に対する歪みの比率ΔDSIG/ΔRSIG,ΔDMR/ΔRMR,ΔDCL/ΔRCLをみれば、SIGパスにおける曲線勾配が最も急であり、符号化効率が最も高いことが分かる。
【0124】
以上のように、本実施形態に係る画質制御処理では、優先度に応じてビットシフトした変換係数に対して、変換係数を符号化対象とするか否かが決定される。符号化対象のみが選択されるため、歪みの少ない高画質の圧縮画像を生成し得るように、符号量を効率良く制御することが可能である。
【0125】
符号量制御処理.
次に、図2に示した符号量制御部11の処理内容について説明する。符号量制御部11は、入力ビットストリームに含まれる圧縮符号化データの容量の小計を、帯域成分単位,ビットプレーン単位および符号化パス単位で算出する。
【0126】
前記符号量制御部11は、以下に説明する走査順序で並べ替えて生成した符号列から、目標符号量に適合するように切り捨て点(truncation point)を算出する。次に、符号量制御部11は、その符号列のうち切り捨て点よりも前の符号列を読出すように読出制御信号CS1をMMU3に出力する。
【0127】
図18と図19は、前記走査順序と切り捨て点の一例を説明するための図である。図18と図19には、図13に示したのと同じ規則で、優先度に応じてビットシフトされた変換係数33,33,…が表示されている。
【0128】
図18の矢印に示すように、変換係数33,33,…は、ビットプレーン単位または符号化パス単位で、優先度の高い順に(上位ビットから下位ビットに向けて)且つ同一の優先度においては高域側から低域側に向けた走査順序で並べ替えられる。一般に、下位のビットプレーンを符号化する程にMRパスの割合が増えて圧縮効率が下がる傾向にある。よって、圧縮効率を向上させるために出来るだけ多くのSIGパスを符号化すべく、同一の優先度においては高域側から低域側に向けた走査順序を採用している。
【0129】
そして、符号量制御部11は、実際の符号量(バイト数)が目標符号量(バイト数)以下になる条件を満たすように切り捨て点を決定し、当該切り捨て点以降の符号列に含まれる下位ビットプレーンを切り捨てる。これにより、圧縮符号化データの符号量制御を、各サブバンドに設定した優先度に従って効率的に行うことができる。ここで、図19に示すように、目標符号量に合わせてサブバンドHL3の2番目ビットプレーンが切り捨て点として決定された場合、矢印で示す部分のビットが切り捨てられることになる。
【0130】
図20は、ビットプレーン単位で並べ替えられた符号列を示す図、図21は、符号化パス単位で並べ替えられた符号列を示す図である。図20では、各ビットプレーンに対して、サブバンドを示す符号LL5,HL5,…と、ビットプレーン番号10,9,…とが付されている。サブバンドHL3の2番目ビットプレーンに付されたライン44以降のビットプレーンが切り捨てられる。
【0131】
また、図21では、各符号化パスに対して、符号化パスの種類を示す符号CL,SIG,MRと、サブバンドを示す符号LL5,HL5,…と、ビットプレーン番号10,9,…とが付されている。サブバンドHL3の2番目ビットプレーンのMRパスに付されたライン44以降のビットプレーンが切り捨てられる。
【0132】
以上のように本実施形態に係る符号量制御処理によれば、レート・歪み最適化処理のために各符号化パスにおける歪量を利用せずに済み、リアルタイム性が高く、オーバーヘッドが低い高効率の符号量制御を実現できる。
【0133】
レイヤー分割処理.
次に、図2に示したレイヤー分割制御部7の動作を以下に説明する。レイヤー分割制御部7は、優先度テーブル6から取得した優先度データPS2を用いて、入力ビットストリームに含まれる圧縮符号化データを優先度に対応するビット数だけビットシフトした符号列に変換し、その符号列を複数のレイヤー(マルチ・レイヤー)に分割させる制御機能を有している。
【0134】
以下、レイヤー分割処理について説明する。MMU3は、入力ビットストリームを大容量の記憶装置2に一時的に記憶させる。レイヤー分割制御部7は、MMU41から圧縮符号化データのデータ構造情報DSを取得する。次いで、レイヤー分割制御部7は、優先度テーブル6から優先度データPS2を取得し、この優先度データPS2に含まれる優先度に従って、圧縮符号化データの各帯域成分の変換係数を所定ビット数だけシフトさせる。これにより、各帯域成分の変換係数に対して優先度が設定される。優先度の設定方法としては、上記した第1実施例、第2実施例および第3実施例の方法を採用すればよい。
【0135】
図22は、優先度に対応するビット数だけシフトされた変換係数44,44,…を例示する模式図である。各帯域成分LL5〜HH1の変換係数44,44,…は、優先度のビット数だけ右ビットシフト或いは左ビットシフトされている。また、各変換係数44の各ビットに付した番号0,1,…,10は、当該ビットが属するビットプレーンの番号を示している。ここで、LSB番号=0,MSB番号=10、である。
【0136】
次に、レイヤー分割制御部7は、レイヤー分割情報に基づき、ビットシフトした符号化データを、ビットプレーン単位或いは符号化パス単位で複数のレイヤーにグループ分けするように分割位置を決定する。レイヤー分割情報としては、シングル・レイヤーとマルチ・レイヤーとの何れかを選択させる選択情報や、ビットプレーン単位または符号化パス単位でレイヤー分割位置を指定する情報などが含まれる。図22の例では、圧縮符号化データを5枚のレイヤー0〜レイヤー4にビットプレーン単位で分割する分割位置が示されている。そして、レイヤー分割制御部7は、その分割位置に従ってレイヤー単位でデータを読出す旨の読出制御信号CS2をMMU3に供給する。MMU3は、読出制御信号CS2に従って、記憶装置2に記憶されたデータODを、上位レイヤーから下位レイヤーにかけて順番に読出して、多重化部5に出力する。
【0137】
以上のレイヤー分割処理では、優先度は、各帯域成分を当該優先度に対応するビット数だけビットシフトして設定される。このようにビットシフトした帯域成分を複数のレイヤーに分割することで、レートに対する歪みを低減し得るように、ビットプレーン単位或いは符号化パス単位で複数のレイヤーを効率的に生成することが可能である。従って、必ずしも、上述のレート・歪み最適化を用いてレイヤー分割処理を行う必要は無く、歪みを低減し得るようにリアルタイム性の高いレイヤー分割処理を行うことが可能になる。
【0138】
【発明の効果】
以上の如く、本発明の請求項1に係る符号量制御装置および請求項9に係るプログラムによれば、各帯域成分は優先度に対応するビット数だけシフトされ、シフトするビット数に応じて帯域成分の優先度が定まることから、圧縮画像の目標画質に合わせて符号化対象を効率的に指定し、少ない演算量で高速な符号量制御を行うことが可能になる。
【0139】
請求項2および請求項10によれば、人間の視覚評価に適した、高い表示画質を実現するように符号量制御を行うことが可能となる。
【0140】
請求項3および請求項11によれば、目標画質に合わせてビットプレーン単位で符号量を細かく且つ効率的に制御できる。
【0141】
請求項4および請求項12によれば、目標画質に合わせて符号化パス単位で符号量を細かく且つ効率的に制御できる。
【0142】
請求項5,6および請求項13,14によれば、圧縮符号化データの符号量制御を、当該圧縮符号化データを復号化せずに、各帯域成分に設定した優先度に従って効率的に行うことが可能である。また、必ずしも、レート・歪み最適化を用いなくても、歪みを抑制し得るようにリアルタイム性の高い符号量制御を行うことが可能である。
【0143】
請求項7および請求項15によれば、優先度に応じてビットシフトした帯域成分を複数のレイヤーに分割するため、レートに対する歪みを低減し得るように複数のレイヤーを効率的に生成することが可能である。
【0144】
請求項8および請求項16によれば、人間の視覚評価に適した、高い表示画質を有する圧縮画像を生成することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る符号量制御装置の概略構成を示す機能ブロック図である。
【図2】図1に示した符号量制御装置におけるビット切り捨て制御部の概略構成を示す機能ブロック図である。
【図3】オクターブ分割方式に従って帯域分割した2次元画像を示す模式図である。
【図4】ビットシフトによる優先度設定処理を説明するための図である。
【図5】ビットシフトされた変換係数を例示する図である。
【図6】ウェーブレット変換によって帯域分割した2次元画像を示す模式図である。
【図7】ウェーブレット変換によって帯域分割した2次元画像を示す模式図である。
【図8】図7に示す優先度に応じて右ビットシフトされた帯域成分の変換係数を示す模式図である。
【図9】Energy weighting factorの数値テーブルを示す図である。
【図10】Energy weighting factorの数値テーブルを示す図である。
【図11】Energy weighting factorの数値テーブルを示す図である。
【図12】本実施形態に係る画質制御部の概略構成を示す機能ブロック図である。
【図13】優先度に応じてビットシフトされた変換係数を例示する模式図である。
【図14】帯域成分LL5の変換係数の処理例を説明するための図である。
【図15】帯域成分LL5の変換係数の処理例を説明するための図である。
【図16】帯域成分HH2の変換係数の符号化処理例を説明するための図である。
【図17】レート・歪み特性の曲線を示す図である。
【図18】走査順序の一例を説明するための図である。
【図19】切り捨て点の一例を説明するための図である。
【図20】ビットプレーン単位で並べ替えられた符号列を示す図である。
【図21】符号化パス単位で並べ替えられた符号列を示す図である。
【図22】複数のレイヤーに分割された符号化データを例示する模式図である。
【図23】JPEG2000方式による圧縮符号化装置の概略構成を示す機能ブロック図である。
【図24】オクターブ分割方式に従って帯域分割された2次元画像を示す模式図である。
【図25】複数のコードブロックに分解された2次元画像を示す模式図である。
【図26】コードブロックを構成する複数枚のビットプレーンを示す模式図である。
【図27】3種類の符号化パスを示す模式図である。
【符号の説明】
1 符号量制御装置
2 記憶装置
3 MMU
4 ビット切り捨て制御部
5 多重化部
6 優先度テーブル
7 レイヤー分割制御部
10 画質制御部
11 符号量制御部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a code amount control device that controls a code amount of a bit stream including a compressed image signal.
[0002]
[Prior art]
JPEG2000 (Joint Photographic Experts Group 2000) has been formulated by ISO (International Organization for Standardization) and ITU-T (International Telecommunication Union Telecommunication Standardization Sector) as a next-generation high-efficiency encoding scheme for image data. The JPEG2000 system has a superior function to the currently mainstream JPEG (Joint Photographic Experts Group) system, employs DWT (Discrete Wavelet Transform; Discrete Wavelet Transform) as an orthogonal transform, and employs bit entropy coding. It is characterized in that a method called EBCOT (Embedded \ Block \ Coding \ with \ Optimized \ Truncation) involving plane coding is employed.
[0003]
Hereinafter, the JPEG2000 compression encoding procedure will be outlined with reference to the compression encoding device (encoder) 100 shown in FIG.
[0004]
The image signal input to the compression encoding device 100 is subjected to DC level conversion by the DC level shift unit 102 as necessary, and then output to the color space conversion unit 103. Next, the color space conversion unit 103 converts the color space of the signal input from the DC level shift unit 102. Next, the tiling unit 104 divides the image signal input from the color space conversion unit 103 into a plurality of rectangular region components called “tiles” and outputs them to the DWT unit 105. The DWT unit 105 performs an integer or real DWT on the image signal input from the tiling unit 104 in tile units, and outputs a transform coefficient obtained as a result. In the DWT, a one-dimensional filter that divides a two-dimensional image signal into a high-frequency component (high-frequency component) and a low-frequency component (low-frequency component) is applied in the vertical direction and the horizontal direction. In the basic method of JPEG2000, an octave division method is adopted in which only the band components divided into the low frequency side in both the vertical direction and the horizontal direction are recursively divided. The number of recursively divided bands is called a decomposition level (decomposition @ level).
[0005]
FIG. 24 is a schematic diagram showing a two-dimensional image 120 on which DWT of decomposition level 3 has been performed in accordance with the octave division method. At the decomposition level 1, the two-dimensional image 120 is divided into four band components HH1, HL1, LH1, and LL1 (not shown) by sequentially applying the above-described one-dimensional filter in the vertical direction and the horizontal direction. You. Here, “H” indicates a high frequency component, and “L” indicates a low frequency component. For example, HL1 is a band component including a high-frequency component H in the horizontal direction and a low-frequency component L in the vertical direction at the decomposition level 1. By generalizing the notation, "XYn" (X and Y are H or L; n is an integer of 1 or more) represents a horizontal band component X and a vertical band component Y at a decomposition level n. The band component consists of
[0006]
Next, at the decomposition level 2, the low-frequency component LL1 is band-divided into HH2, HL2, LH2, and LL2 (not shown). Further, at the decomposition level 3, the low frequency component LL2 is band-divided into HH3, HL3, LH3 and LL3. FIG. 24 shows the arrangement of the band components HH1 to LL3 generated as described above.
[0007]
Next, the quantization unit 106 has a function of scalar-quantizing the transform coefficients output from the DWT unit 105 as necessary. The quantization unit 106 also has a function of performing a bit shift process by the ROI unit 107 to give priority to the image quality of a specified area (ROI; Region Of Interest). When performing the reversible (lossless) transformation, the scalar quantization in the quantization unit 106 is not performed. In the JPEG2000 system, two types of quantization means, scalar quantization by the quantization unit 106 and post-quantization (truncation) described later, are provided.
[0008]
Next, the transform coefficients output from the quantization unit 106 are sequentially subjected to block-based entropy encoding by the coefficient bit modeling unit 108 and the arithmetic encoding unit 109 according to the above-described EBCOT, and the code amount control unit 110 Is used to control the rate. Specifically, the coefficient bit modeling unit 108 divides the band component of the input transform coefficient into regions called “code blocks” of about 32 × 32 or 64 × 64, and further divides each code block into Decompose into a plurality of bit planes composed of a two-dimensional array.
[0009]
FIG. 25 is a schematic diagram showing a two-dimensional image 120 decomposed into a plurality of code blocks 121, 121, 121,. FIG. 26 shows n bit planes 122 constituting the code block 121.0~ 122n-1It is a schematic diagram which shows (n: natural number). As shown in FIG. 26, when the binary value 123 of the transform coefficient at one point in the code block 121 is “011... 0”, the bits forming the binary value 123 are bit planes 122, respectively.n-1, 122n-2, 122n-3, ..., 1220Is decomposed to belong to Bit plane 122 in the figuren-1Represents the most significant bit plane consisting of only the most significant bit (MSB) of the transform coefficient, and the bit plane 1220Represents the least significant bit plane consisting of only the least significant bit (LSB).
[0010]
In addition, the coefficient bit modeling unit 108kA context (context) determination of each bit in (k = 0 to n-1) is performed, and as shown in FIG. 27, a bit plane 122 is determined according to the significance (determination result) of each bit.kIs divided into three types of coding passes, that is, a CL pass (CLeanup @ pass), an MR pass (Magnitude @ Refinement @ pass), and a SIG pass (SIGnification @ propagation @ pass). The algorithm of the context determination for each encoding pass is defined in the JPEG2000 standard. According to this, "significant" means a state in which the coefficient of interest is known to be non-zero in the encoding process so far, and "not significant" means that the coefficient value is zero. , Or a state that may be zero.
[0011]
The coefficient bit modeling unit 108 includes a SIG pass (a coding pass of a non-significant coefficient around which a significant coefficient is present), an MR pass (a coding pass of a significant coefficient), and a CL pass (a SIG pass and a remainder not corresponding to the MR pass). The bit plane coding is executed in three types of coding passes (the coding pass of the coefficient information). Bit plane coding is performed by scanning the bits of each bit plane in 4-bit units from the most significant bit plane to the least significant bit plane, and determining whether a significant coefficient exists. The number of bit planes composed of only insignificant coefficients (0 bits) is recorded in the packet header, and actual encoding starts from the bit plane in which the significant coefficient first appears. The bit plane at the start of encoding is encoded only by the CL pass, and bit planes lower than the bit plane are sequentially encoded by the above three types of encoding passes.
[0012]
Next, the arithmetic coding unit 109 performs arithmetic coding on the coefficient sequence from the coefficient bit modeling unit 108 on a coding pass basis based on the result of the context determination using the MQ coder. Note that there is a mode in which the arithmetic encoding unit 109 performs a bypass process in which a part of the coefficient sequence input from the coefficient bit modeling unit 108 is not arithmetically encoded.
[0013]
Next, the code amount control unit 110 controls the final code amount by performing post-quantization for discarding lower-order bit planes of the code string output from the arithmetic coding unit 109. Then, the bit stream generation unit 111 generates a bit stream in which the code sequence output from the code amount control unit 110 and the additional information (header information, layer configuration, scalability, quantization table, and the like) are multiplexed, and is generated as a compressed image. Output.
[0014]
[Problems to be solved by the invention]
In the above-described compression encoding apparatus 100, the final code amount and the like are controlled so as to optimize the amount of distortion with respect to the encoding rate by using rate / distortion optimization (RD optimization). The rate / distortion optimization is performed using the amount of distortion in each coding path calculated in the above-described arithmetic coding stage. The algorithm for rate / distortion optimization is described in "David S. Taubman and Michael W. Marcellin," "JPEG2000 IMAGE COMPRESSION FUNDAMENTALS, STANDARDs AND AND PRACTICE", and "KLUDERA reference documents"; Is done.
[0015]
On the other hand, in a digital device such as a digital camera, the image quality, image size, code amount, scalability (hierarchy) of compressed image data may be changed. In such a case, the code amount and scalability of the compressed image are changed using a transcoder. In the JPEG2000 system, the scalability and code amount can be changed without decoding the compressed image signal. However, in the conventional JPEG baseline system, once the compressed image signal is decoded, the scalability and code amount are changed. Since it is necessary to change and execute compression encoding, the amount of calculation is large and the real-time property is low.
[0016]
Therefore, by using the transcoder of the JPEG2000 system, the scalability and the code amount of the compressed coded data in the bit stream generated by the compression coding device 100 can be changed with a small amount of calculation. However, the JPEG2000 transcoder cannot know the amount of distortion calculated by the compression encoding device 100, and therefore cannot easily control the bit stream code amount using rate / distortion optimization. There is. Even if a transcoder that performs code amount control using rate / distortion optimization can be realized, the amount of calculation of the code amount control process becomes large, and its real-time performance is reduced.
[0017]
In view of the above problems, it is an object of the present invention to control the code amount of a bit stream including compressed encoded data with a small amount of computation and at high speed so as to suppress distortion with respect to a rate. It is to provide a code amount control device.
[0018]
[Means for Solving the Problems]
In order to solve the above-mentioned problem, the invention according to claim 1 recursively divides an image signal into a high-frequency component and a low-frequency component by wavelet transform, calculates transform coefficients of a plurality of band components, and performs the transform. A code amount control device for controlling a code amount of compressed image data compressed by entropy coding of a coefficient, wherein each of the band components of the compressed image data is recursively divided into the low frequency components. An image quality control unit that performs bit shifting of the band component by the number of bits corresponding to the priority set according to the number of times, and selects an encoding target from the bit shifted band component in accordance with a target image quality. It is characterized by:
[0019]
The invention according to claim 2 is the code amount control device according to claim 1, wherein the image quality control unit has a function of using the priority weighted in consideration of human visual characteristics.
[0020]
The invention according to claim 3 is the code amount control device according to claim 1 or 2, wherein the image quality control unit has a function of determining the encoding target in units of the bit plane.
[0021]
The invention according to claim 4 is the code amount control device according to any one of claims 1 to 3, wherein the image quality control unit has a function of determining the encoding target in units of the encoding pass. Have
[0022]
Next, according to a fifth aspect of the present invention, an image signal is recursively divided into high-frequency components and low-frequency components by wavelet transform to calculate transform coefficients of a plurality of band components, and the transform coefficients are entropy-coded. A code amount control device for controlling the code amount of the compressed image data compressed and compressed, wherein the band component of the compressed image data is recursively divided into the low-frequency components according to the number of times of band division. The bit component is bit-shifted by the number of bits corresponding to the set priority, and the code sequence generated by rearranging the bit-shifted coded data of the band component in a predetermined scanning order is converted to a target code amount. A code amount control unit configured to calculate a suitable truncation point and to output the code string before the truncation point.
[0023]
The invention according to claim 6 is the code amount control device according to claim 5, wherein the code amount control unit transmits the coded data in the order of higher priority and at the same priority with a higher frequency band. The code string is generated by rearranging in the scanning order from the side toward the low frequency side.
[0024]
The invention according to claim 7 is the code amount control device according to any one of claims 1 to 6, wherein each of the band components of the compressed image data is recursively converted into the low band component. A layer division control unit that performs bit shift of the band component by the number of bits corresponding to the priority set according to the number of times of band division, and controls to divide the band component with the bit shift into a plurality of layers. Is further provided.
[0025]
The invention according to claim 8 is the code amount control device according to claim 7, wherein the layer division control unit has a function of using the priority weighted in consideration of human visual characteristics. It is.
[0026]
Next, an invention according to claim 9 is to recursively divide an image signal into a high-frequency component and a low-frequency component by a wavelet transform, calculate transform coefficients of a plurality of band components, and calculate the transform coefficients by entropy coding. A program for controlling the code amount of the compressed image data that has been compressed in a compressed manner, and for each of the band components of the compressed image data, Bit shifting the band component by the number of bits corresponding to the set priority, and causing the microprocessor to function as an image quality control unit that selects an encoding target from the bit shifted band component according to a target image quality. It is characterized by.
[0027]
A tenth aspect of the present invention is the program according to the ninth aspect, wherein the image quality control unit causes the microprocessor to function so as to use the priority weighted in consideration of human visual characteristics. is there.
[0028]
The invention according to claim 11 is the program according to claim 9 or 10, wherein the image quality control unit causes the microprocessor to function so as to determine the encoding target in units of the bit plane.
[0029]
According to a twelfth aspect of the present invention, there is provided the program according to any one of the ninth to eleventh aspects, wherein the image quality control unit determines the encoding target in units of the encoding pass. Function.
[0030]
Next, an invention according to claim 13 is to recursively divide an image signal into a high-frequency component and a low-frequency component by a wavelet transform, calculate transform coefficients of a plurality of band components, and calculate the transform coefficients by entropy coding. A program for controlling the code amount of the compressed image data that has been compressed in a compressed manner, and for each of the band components of the compressed image data, in accordance with the number of times the band is recursively divided into the low frequency components. From the code string generated by bit-shifting the band component by the number of bits corresponding to the set priority and rearranging the bit-shifted coded data of the band component in a predetermined scanning order, from the code string generated, Calculating a truncation point to be performed, and causing the microprocessor to function as a code amount control unit that controls to output the code string before the truncation point. That.
[0031]
The invention according to claim 14 is the program according to claim 13, wherein the code amount control unit transmits the coded data in descending order of the priority and at the same priority from the high-frequency side to the low-frequency side. And causing the microprocessor to function so as to generate the code string by rearranging in the scanning order toward the area side.
[0032]
The invention according to claim 15 is the program according to any one of claims 9 to 14, wherein each of the band components of the compressed image data is recursively divided into the low-frequency components. The microcontroller is a layer division control unit that performs bit shifting of the band component by the number of bits corresponding to the priority set according to the number of times performed, and controls the band component to be divided into a plurality of layers. It makes the processor work.
[0033]
The invention according to claim 16 is the program according to claim 15, wherein the layer division control unit functions the microprocessor so as to use the weighted priority in consideration of human visual characteristics. It is to let.
[0034]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described.
[0035]
Configuration of code amount control device.
FIG. 1 is a functional block diagram illustrating a schematic configuration of a code amount control device according to an embodiment of the present invention. The code amount control device (transcoder) 1 includes a large-capacity storage device 2, an MMU (memory management unit) 3 that controls reading and writing of data from and to the storage device 2, a bit truncation control unit 4, And a priority table 6, and a layer division control unit 7.
[0036]
Note that all or a part of the processing units 4, 5, 6, and 7 constituting the code amount control device 1 may be constituted by hardware or may be constituted by a program for causing a microprocessor to function. .
[0037]
The MMU 3 of the code amount control device 1 temporarily stores, in the storage device 2, an input bit stream including compressed and encoded data compressed and encoded by the JPEG2000 method, and then controls the code amount according to control signals CS1 and CS2. The data OD is read from the storage device 2 and output to the multiplexing unit 5. The multiplexing unit 5 multiplexes the data OD and outputs it as an output bit stream.
[0038]
FIG. 2 is a functional block diagram showing a schematic configuration of the bit truncation control unit 4 in the code amount control device 1 shown in FIG. The bit truncation control unit 4 includes an image quality control unit 10 that selects an encoding target according to a target image quality, and a code amount control unit 11 that controls the code amount according to a target code amount (final code amount). . Further, the code amount control unit 11 calculates a truncation point suitable for the target code amount from the encoding target selected by the image quality control unit 10 based on the data structure information DS of the input bit stream supplied from the MMU 3. , Generates a read control signal CS1 for reading a code string before the truncation point, and supplies the read control signal CS1 to the MMU 3.
[0039]
The layer division control unit 7 shown in FIG. 1 generates a read control signal CS2 for generating an output bit stream divided into a plurality of layers based on the data structure information DS of the input bit stream supplied from the MMU 3. And outputs it to MMU3.
[0040]
The priority table 6 indicates the priority set for each band component of the compression-encoded data included in the input bit stream in accordance with the number of recursive band divisions into low-frequency components according to the JPEG2000 method. The priority data PS1 and PS2 are supplied to the bit truncation control unit 4 and the layer division control unit 7.
[0041]
The configuration and operation of the code amount control device 1 having the above configuration will be described in detail below.
[0042]
Priority setting processing (first embodiment).
A first embodiment of a method of setting the priority to be recorded in the priority table 6 will be described. In the present invention, the priority is determined according to the number of times that each band component (sub-band) is recursively divided into low-frequency components. In this embodiment, the priority of the band component HHn at the decomposition level n (n: an integer of 1 or more) is “n−1”, the priority of the band components HLn and LHn is “(n−1) +1”, and the band component is The priority of LLn is determined to be “(n−1) +2”. For example, the priority of the band component HH1 shown in FIG. 24 is set to “0”, and the priority of the band component LL3 is set to “4”. FIG. 3 is a schematic diagram showing a two-dimensional image 25 obtained by band division according to the octave division method. Each of the band components is assigned one of the priorities “0”, “1”, “2”, “3”, and “4”.
[0043]
The priority table 6 records priority information corresponding to each of the band components HHn, HLn, LHn, and LLn. The image quality control unit 10, the code amount control unit 11, and the layer division control unit 7 According to the priority data PS1 and PS2 acquired from the priority table 6, the priority is set for each band component. Specifically, the transform coefficients (hereinafter simply referred to as “transform coefficients”) entropy-encoded in each band component are shifted by the number of bits corresponding to the priorities, thereby giving priority to each transform coefficient. The degree is set. In the bit shift processing, it is not always necessary to actually perform a bit shift operation on each transform coefficient, and it is sufficient to virtually shift the position of each bit of the transform coefficient. In this case, the position of the bit plane to which each bit of the transform coefficient belongs does not change.
[0044]
FIG. 4 is a diagram for explaining the priority setting process by the bit shift. In the example shown in FIG. 3, since the priority of the band component LL3 is “4”, the corresponding transform coefficient 26 is shifted left by 4 bits. The conversion coefficients 26, 26 of the band components HL3, LH3 set to the priority "3" are shifted left by 3 bits, and the conversion coefficients 26, 26 of the band components HH3, HL2, LH2 set to the priority "2". , 26, 26 are shifted left by 2 bits, and the transform coefficients 26, 26, 26 of the band components HH2, HL1, LH1 to which the priority "1" is set are shifted left by 1 bit. At this time, as shown in FIG. 5, the conversion coefficient of the two-dimensional image 25A before the bit shift is changed to the conversion coefficient indicated by the two-dimensional image 25B by the above-described left bit shift processing. For example, the transform coefficient value (= 4) of the band component LL3 is 4 × 2 by shifting left by 4 bits.4= 64.
[0045]
Next, the reason for setting the priority as described above (theoretical background) will be described below.
[0046]
In the above-described conventional rate / distortion optimization (RD-optimization) method, an optimization process using a distortion measure is performed. David @ S.に よ According to the above-mentioned reference A by Taubman et al., The strain measure Di (Z)Is calculated according to the following equation (1).
[0047]
(Equation 1)
Figure 2004064115
[0048]
In the above formula (1), z is a bit truncation point (bit @ truncation @ point); oyi K [i, j][J] is the j-th sample value (coefficient value) of the code block dequantized by the K [i, j] -th bit plane; yi[J] is the j-th sample value (coefficient value) of the code block; Gb [i]Is the square of the norm of the synthesis filter coefficient corresponding to the sub-band b [i], and indicates the weight coefficient of the distortion model depending on the sub-band b. Note that, for convenience of description, the notation of the symbol shown in the above equation (1) is slightly different from that in Reference A described above.
[0049]
In the rate / distortion optimization, this distortion measure Di (Z)An optimization process is performed to minimize the total amount in the subband b [i]. Subband b weighting factor GbRepresents weighting for reducing image distortion.
[0050]
Subband b weighting factor GbIs calculated according to the following equation (2).
[0051]
(Equation 2)
Figure 2004064115
[0052]
Here, in the above equation (2), sb[N] indicates a one-dimensional synthesis filter coefficient of the subband b. The symbol || x || indicates a norm for the vector x.
[0053]
According to the equations (4.39) and (4.40) described in Reference A, the one-dimensional synthesis filter coefficient s of the low-frequency component L1 at the decomposition level 1 is obtained.L [1][N] and a one-dimensional synthesis filter coefficient s of the high-frequency component H1 at the same decomposition levelH [1][N] is calculated according to the following equation (3).
[0054]
(Equation 3)
Figure 2004064115
[0055]
Here, in the above equation (3), g0[N] is a low-pass filter coefficient of a forward conversion filter that divides an image signal into bands, and g1[N] indicates the respective high-pass filter coefficients.
[0056]
The one-dimensional synthesis filter coefficient s of the low-frequency component Ld at the decomposition level d (d = 1, 2,..., D)L [d][N] and a one-dimensional synthesis filter coefficient s of the high frequency component Hd at the same decomposition levelH [d][N] is calculated according to the following equation (4).
[0057]
(Equation 4)
Figure 2004064115
[0058]
Then, the square of the norm of the one-dimensional synthesis filter coefficient of the low-frequency component Ld at the decomposition level d is calculated according to the following equation (5).
[0059]
(Equation 5)
Figure 2004064115
[0060]
The square of the norm of the one-dimensional synthesis filter coefficient of the high-frequency component can be calculated in the same manner as in the above equation (5).
[0061]
Next, the two-dimensional synthesis filter coefficients of the band components LLD, HLd, LHd, and HHd at the decomposition level d (d = 1, 2,..., D; D is an integer) are expressed by the product of the one-dimensional synthesis filter coefficients. And the two-dimensional weighting factor G of the band component bbCan also be expressed by the product of the one-dimensional weight coefficients. Specifically, the two-dimensional synthesis filter coefficient and the two-dimensional weight coefficient are calculated according to the following equation (6).
[0062]
(Equation 6)
Figure 2004064115
[0063]
In the above equation (6), the subscript LL [D] indicates the sub-band LLD, and HL [d], LH [d] and HH [d] indicate the sub-bands HLd, LHd and HHd, respectively.
[0064]
Weight coefficient GbIs the norm. Tables 1 to 4 below show two-dimensional weighting factors GbThe calculation results for Table 1 shows numerical values of the square of the norm of each band component of the (9, 7) filter (a filter of 9 × 7 taps), and Table 2 shows numerical values of the norm corresponding to Table 1. Further, Table 3 shows the numerical value of the square of the norm of each band component of the (5, 3) filter (filter of 5 × 3 taps), and Table 4 shows the numerical value of the norm corresponding to Table 3.
[0065]
[Table 1]
Figure 2004064115
[0066]
[Table 2]
Figure 2004064115
[0067]
[Table 3]
Figure 2004064115
[0068]
[Table 4]
Figure 2004064115
[0069]
Further, when the norm of the low-frequency component LL1 at the decomposition level 1 is represented by α, a value as shown in FIG. 6 is set for each band component using the norm α. A two-dimensional image 27 shown in FIG. 6 is a diagram showing a two-dimensional image 120 that is band-divided according to the octave division method. The set value of the band component HHn at the decomposition level n (n: an integer of 1 or more) is “2n-3× α ”, and the set values of the band components HLn and LHn are“ 2n-2× α ”and the set value of the band component LLn is“ 2n-1× α ”. Therefore, for example, the set value of the band component LH1 is “2-1× α ”.
[0070]
When the set values are compared with the norm values shown in Tables 2 and 4, they are approximately similar. For example, in the case of Table 2 (α = 1.96591), the “set value (corresponding band component)” of each band component shown in FIG. 6 is about 0.49 (HH1) and about 0.98 (HL1, LH1). ), About 1.96 (HL2, LH2, HH3), about 3.93 (HL3, LH3), about 7.86 (LL3). These set values are approximate to the norm values shown in Table 2. I understand that there is.
[0071]
In FIG. 6, the norm of the band component LL1 is rounded to α = 2, and the set value of each band component is shifted left by one bit, that is, 2 is added to all the set values.1It can be seen that the exponent of the power of 2 obtained by multiplying by 2 matches the priority value shown in FIG. Therefore, setting the priority to each band component as in the first embodiment is approximately equivalent to setting the norm (square root of the weighting factor) of the filter used in the rate / distortion optimization to the sample value of each band component ( Transform coefficient value). Therefore, the priority of this embodiment is set so as to reduce image distortion.
[0072]
Priority setting processing (second embodiment).
Next, a second embodiment of the priority setting method will be described. In this embodiment, the weight coefficient G of each band componentbIs divided by the norm of the lowest band component LL at the highest decomposition level, the result is rounded to a power of two, and the absolute value of the exponent of the power of two is set as the priority. Specifically, the norm of the lowest band component LLn of the highest decomposition level n is α, the norm of the other band components is x, the function related to the variable y rounded to the power of 2 is R [y], and the variable y 2 power of 2mThe function for calculating the index m of m is m = I [2mAnd the absolute value for the variable y is | y |, the priority p is calculated according to p = | I [R [x / α]] |.
[0073]
Table 5 below shows the priorities calculated using the norms of the (9, 7) filters shown in Table 2 above. Here, the highest decomposition level is 5, and α = 33.92493. FIG. 7 is a band division diagram showing a two-dimensional image 28 in which the priorities shown in Table 5 are described. Note that “x” in the table means that the priority of the band component has not been calculated.
[0074]
[Table 5]
Figure 2004064115
[0075]
Table 6 below shows the priority calculated using the norm of the (5, 3) filter shown in Table 4 above.
[0076]
[Table 6]
Figure 2004064115
[0077]
In the first embodiment, the priority is set by shifting the conversion coefficient of each band component to the left by the number of bits of the priority. In the second embodiment, the conversion coefficient of each band component is set to the priority. A process of shifting right by the number of bits is executed. However, the right bit shift process is performed so as to increase the bit length of the transform coefficient. FIG. 8 is a schematic diagram showing the conversion coefficients 29, 29,... Of the band components right-shifted by the number of bits of the priority shown in FIG.
[0078]
Priority setting processing (third embodiment).
Next, a priority setting method according to the third embodiment in consideration of human visual characteristics will be described. When the priority shown in the second embodiment is applied to a high-resolution image of about several million pixels, the image quality of a decoded image is good for objective evaluation, but not always good for human visual evaluation. Therefore, the priority setting method of the present embodiment employs weighted priorities in consideration of human visual characteristics. This makes it possible to generate a compressed image with high display quality.
[0079]
Chapter 16 of Reference A describes a weighted MSE (weighted mean squared error; WMSE) based on the CSF (human visual system contrast contrast sensitivity function). According to this description, it is desirable to modify the above equation (1) to the following equation (7) in order to improve human visual evaluation.
[0080]
(Equation 7)
Figure 2004064115
[0081]
Here, in the above equation (7), Wb [i] csfIs called "energy @ weighting @ factor" of subband b [i], and Wb [i] csfThe recommended numerical values of “ISO / IEC TCC1 / SC 29 / WG1 (ITU-T SG8) N2406,“ JPEG 2000 Part 1 FDIS (includes COR 1, COR 2, and DCOR3), ”4December 2001 (2001) Hereinafter, referred to as Reference Document B.). 9 to 11 show numerical values of "energy @ weighting @ factor" described in Reference Document B.
[0082]
9 to 11, “level” and “Lev” indicate the decomposition level, “Comp” indicates the luminance component Y and the color difference components Cb and Cr, respectively, and “Viewing distance” (viewing distance) is 1000 or 1700. , 2000, 3000, 4000 are shown. Also, “Viewing distance 1000”, “Viewing distance 1700”, “Viewing distance 2000”, “Viewing distance 3000”, “Viewing distance 4000”, 100 dpi, 170 dpi, 100 dpi, 170 dpi, 100 dpi, and 100 dpi, 100 dpi, 170 dpi, 170 dpi, and 100 dpi, respectively. The viewing distance when viewed from an inch.
[0083]
Using the numerical values shown in FIGS. 9 to 11, the square root (Wb [i] csf・ Gb [i])1/2Was calculated. The calculation results are shown in Tables 7 to 18 below. Tables 7 to 9 are numerical values for black and white of the (9, 7) filter calculated using the numerical values shown in FIG. 9, and Tables 10 to 12 are calculated using the numerical values shown in FIG. 10 and FIG. , 7) The color values of the filter are calculated using the values shown in FIG. 9 in Tables 13 to 15, and the black and white values of the (5, 3) filter are shown in FIGS. 11 shows the numerical values for the color of the (5, 3) filter calculated using the numerical values shown in FIG.
[0084]
[Table 7]
Figure 2004064115
[0085]
[Table 8]
Figure 2004064115
[0086]
[Table 9]
Figure 2004064115
[0087]
[Table 10]
Figure 2004064115
[0088]
[Table 11]
Figure 2004064115
[0089]
[Table 12]
Figure 2004064115
[0090]
[Table 13]
Figure 2004064115
[0091]
[Table 14]
Figure 2004064115
[0092]
[Table 15]
Figure 2004064115
[0093]
[Table 16]
Figure 2004064115
[0094]
[Table 17]
Figure 2004064115
[0095]
[Table 18]
Figure 2004064115
[0096]
Next, using the numerical values shown in Tables 7 to 18, the priority of each band component was calculated in the same procedure as described in the second embodiment. That is, the numerical value of the lowest band component LLn of the highest decomposition level n is α, the numerical values of the other band components are x, the function related to the variable y rounded to the power of 2 is R [y], and the variable y of the variable y is 2 Width 2mThe function for calculating the index m of m is m = I [2mAnd the absolute value for the variable y is | y |, the priority p is calculated according to p = | I [R [x / α]] |.
[0097]
The priority values are shown in Tables 19 to 30 below. The priorities of Table 19, Table 20, Table 21, Table 22, Table 23, Table 24, Table 25, Table 26, Table 27, Table 28, Table 29, and Table 30 are the same as those in Tables 7, 8, and 30, respectively. It is calculated using the numerical values of Tables 9, 9, 10, 11, 12, 13, 14, 15, 16, 17, and 18.
[0098]
[Table 19]
Figure 2004064115
[0099]
[Table 20]
Figure 2004064115
[0100]
[Table 21]
Figure 2004064115
[0101]
[Table 22]
Figure 2004064115
[0102]
[Table 23]
Figure 2004064115
[0103]
[Table 24]
Figure 2004064115
[0104]
[Table 25]
Figure 2004064115
[0105]
[Table 26]
Figure 2004064115
[0106]
[Table 27]
Figure 2004064115
[0107]
[Table 28]
Figure 2004064115
[0108]
[Table 29]
Figure 2004064115
[0109]
[Table 30]
Figure 2004064115
[0110]
In this embodiment, as in the second embodiment, the priority is set for the transform coefficient of each band component by right-shifting by the number of bits of the priority shown in Tables 19 to 30 above. You. As a result, the priority can be set in consideration of the human visual characteristics.
[0111]
Image quality control processing.
Next, the configuration and processing contents of the image quality control unit 10 shown in FIG. 2 will be described. FIG. 12 is a functional block diagram showing a schematic configuration of the image quality control unit 10.
[0112]
The image quality control unit 10 selects an image quality parameter QP suitable for the target image quality from a plurality of image quality parameter groups based on the target image quality (high image quality, standard image quality, low image quality, etc.) and outputs the selected image quality parameter QP. And an encoding target determination unit 30 that determines an encoding target. The encoding target determination unit 30 sets the above-described priority for each band component of the compressed image data included in the input bit stream according to the priority data PS1 acquired from the priority table 6. Further, the encoding target determining unit 30 determines an encoding target in accordance with the target image quality specified by the image quality parameter QP according to the set priority, and generates and outputs scanning area information SA.
[0113]
Hereinafter, a method of determining a coding target in the coding target determination unit 30 will be described. FIG. 13 is a schematic diagram illustrating the conversion coefficients 33, 33,... Bit-shifted according to the priority. Each transform coefficient 33 is bit-shifted according to the priority. .., 10 given to each bit of the conversion coefficient 33 indicate the number of a bit plane to which the bit belongs. Here, the LSB number = 0 and the MSB number = 10.
[0114]
The encoding target determination unit 30 sets an encoding end line 32 according to the image quality parameter QP, determines a higher-order bit than the encoding end line 32 as an encoding target, and sets a lower-order bit than the line 32 as an encoding target. The scanning area information SA is generated so as to be out of the range. This makes it possible to efficiently select an encoding target. As a result, the code amount control unit 11 having received the scanning area information SA scans only the bit plane higher than the coding end line 32 in each code block, and discards the bit plane lower than the line 32. become.
[0115]
The encoding target determination unit 30 can further determine the encoding target for each encoding pass according to the image quality parameter QP. The image quality parameter QP includes a parameter group indicating a restriction on a bit plane to be coded and a restriction on a coding pass (CL pass, SIG pass, and MR pass) to be coded. Table 31 below exemplifies image quality parameters QP suitable for images having a resolution of 2048 × 2560 pixels. Since the resolution of the lowest sub-band needs to be smaller than 128 × 128 pixels, a resolution level of 5 or more is required.
[0116]
[Table 31]
Figure 2004064115
[0117]
In Table 31, “the number of bit planes” indicates the number of bit planes whose lower bits are lower than the encoding end line 32 shown in FIG. 13, and “path name” indicates the last encoding path in the encoding target. And the “maximum number of passes” represents the upper limit of the number of encoding passes to be encoded.
[0118]
An example of processing when FIG. 13 and Table 31 are applied will be described below. FIG. 14 shows “00011010111” as the conversion coefficient 33 of the band component LL5.2= 21510"(Y2Represents the binary value Y, X10Represents a decimal value X). As shown in Table 31, the final encoding pass in the band component LL5 is limited to a CL pass, and the maximum number of passes is limited to 17.
[0119]
The context determination is made so that the seventh bit of the transform coefficient shown in FIG. 14 belongs to the SIG pass or the CL pass. If the eighth to tenth upper bits belong to a bit plane consisting of only 0 bits, they are coded by a method called tag tree (Tag @ tree). If the coding pass has already started, It is encoded by the SIG pass or the CL pass. If the seventh bit belongs to the encoding start pass (CL pass), the lower bits including the sixth bit are context-determined to belong to the MR pass. Generally, bit planes lower than the bit plane at the start of encoding are encoded in the order of SIG pass, MR pass, and CL pass from the viewpoint of encoding efficiency. Therefore, since the maximum number of passes is limited to 17, a total of 17 passes from the 7th bit CL pass to the 1st bit SIG pass are to be encoded. However, the first bit is not included in the encoding target because it belongs to the MR pass. Therefore, the lower 2 bits are truncated, and the value after the truncation is “00011010100”.2= 21210If this value is inversely quantized at the midpoint, “00011010110” is obtained.2= 21410".
[0120]
Next, FIG. 15 shows “00000001111” as the conversion coefficient 33 of the band component LL5.2= 1510The third bit of the transform coefficient belongs to the SIG pass or the CL pass. If the fourth to tenth upper bits belong to a bit plane composed of only 0 bits, the tag tree (Tag @ tree) If the coding pass has already started, the coding has been performed by the SIG pass or the CL pass.If the third bit belongs to the coding start pass (CL pass), the second bit is The lower bits included belong to the MR pass, and a total of 10 passes from the CL pass of the 3rd bit to the CL pass of the 0th bit are to be encoded, and the value after truncation is “00000001111”.2= 1510And if this value is inversely quantized, it becomes “00000001111”.2= 1510".
[0121]
Next, FIG. 16 shows “00001011111” as the conversion coefficient 33 of the band component HH2.2= 9510As shown in Table 31, the final encoding path in the band component HH2 is limited to the SIG path, and the maximum number of paths is limited to 14. The lower three bit planes are truncated.
[0122]
The sixth bit of the transform coefficient belongs to the SIG pass or the CL pass. The seventh to tenth upper bits are coded by a tag tree (Tag @ tree) if they belong to a bit plane composed of only 0 bits, and if the coding pass has already started, the SIG pass or the Encoded by CL pass. When the sixth bit belongs to the coding start pass (CL pass), the lower bits including the fifth bit belong to the MR pass. In addition, due to the restriction that only the SIG pass of the third bit plane is encoded, eight passes from the CL pass of the sixth bit to the SIG pass of the fourth bit are to be encoded, but the third bit is an MR pass. And does not enter the encoding target. Therefore, the value after truncation is “0000001010000”.2= 8010And if this value is inversely quantized at the midpoint, "00001011000"2= 8810".
[0123]
The reason why each bit plane is encoded in the order of the SIG pass, the MR pass, and the CL pass is that the encoding efficiency for the distortion of the SIG pass is the highest. FIG. 17 shows the rate / distortion characteristics in each coding path. In the RD curve, point P1~ P2Is the SIG pass, point P2~ P3Is the MR pass, point P3~ P4Indicates a CL path. Ratio of distortion to rate (code amount) ΔD in each encoding passSIG/ ΔRSIG, ΔDMR/ ΔRMR, ΔDCL/ ΔRCLIt can be seen that the curve slope in the SIG path is the steepest and the coding efficiency is the highest.
[0124]
As described above, in the image quality control processing according to the present embodiment, it is determined whether or not a transform coefficient is to be coded for a transform coefficient that has been bit-shifted according to the priority. Since only the encoding target is selected, the code amount can be efficiently controlled so that a high-quality compressed image with little distortion can be generated.
[0125]
Code amount control processing.
Next, the processing content of the code amount control unit 11 shown in FIG. 2 will be described. The code amount control unit 11 calculates the subtotal of the capacity of the compressed and coded data included in the input bit stream in units of band components, bit planes, and coding paths.
[0126]
The code amount control unit 11 calculates a truncation point (truncation point) from the code string generated by rearranging in the scanning order described below so as to conform to the target code amount. Next, the code amount control unit 11 outputs a read control signal CS1 to the MMU 3 so as to read a code string before the cut-off point in the code string.
[0127]
FIG. 18 and FIG. 19 are diagrams for explaining an example of the scanning order and the truncation point. In FIG. 18 and FIG. 19, the conversion coefficients 33, 33,... Which are bit-shifted according to the priority according to the same rule as shown in FIG. 13 are displayed.
[0128]
As shown by the arrows in FIG. 18, the transform coefficients 33, 33,... Are in the order of higher priority (from the upper bit to the lower bit) in units of bit planes or in units of coding paths and at the same priority. Rearrangement is performed in the scanning order from the high frequency side to the low frequency side. Generally, as the lower bit plane is encoded, the ratio of the MR pass increases, and the compression efficiency tends to decrease. Therefore, in order to encode as many SIG passes as possible in order to improve the compression efficiency, the scanning order from the high frequency side to the low frequency side is adopted at the same priority.
[0129]
Then, the code amount control unit 11 determines the truncation point so that the actual code amount (the number of bytes) is equal to or less than the target code amount (the number of bytes), and determines the lower-order point included in the code string after the cut-off point. Truncate the bit plane. Thereby, the code amount control of the compression encoded data can be efficiently performed according to the priority set for each subband. Here, as shown in FIG. 19, when the second bit plane of the sub-band HL3 is determined as a truncation point in accordance with the target code amount, the bits indicated by arrows are truncated.
[0130]
FIG. 20 is a diagram illustrating a code string rearranged in a unit of a bit plane, and FIG. 21 is a diagram illustrating a code string rearranged in a unit of an encoding pass. 20, symbols LL5, HL5,... Indicating subbands and bit plane numbers 10, 9,. The bit planes after the line 44 attached to the second bit plane of the subband HL3 are discarded.
[0131]
In FIG. 21, codes CL, SIG, and MR indicating the types of the coding paths, codes LL5, HL5,... Indicating the subbands, and bit plane numbers 10, 9,. Is attached. The bit planes after the line 44 attached to the MR pass of the second bit plane of the subband HL3 are discarded.
[0132]
As described above, according to the code amount control processing according to the present embodiment, it is not necessary to use the amount of distortion in each encoding path for the rate / distortion optimization processing, and the real-time property is high, the overhead is low, and the efficiency is high. Code amount control can be realized.
[0133]
Layer division processing.
Next, the operation of the layer division control unit 7 shown in FIG. 2 will be described below. Using the priority data PS2 acquired from the priority table 6, the layer division control unit 7 converts the compression-encoded data included in the input bit stream into a code string that is bit-shifted by the number of bits corresponding to the priority. It has a control function of dividing the code string into a plurality of layers (multi-layers).
[0134]
Hereinafter, the layer division processing will be described. The MMU 3 temporarily stores the input bit stream in the large-capacity storage device 2. The layer division control unit 7 acquires the data structure information DS of the compression-encoded data from the MMU 41. Next, the layer division control unit 7 acquires the priority data PS2 from the priority table 6, and according to the priority included in the priority data PS2, converts the conversion coefficient of each band component of the compression-encoded data by a predetermined number of bits. Shift. As a result, the priority is set for the transform coefficient of each band component. As a method of setting the priority, the methods of the first, second, and third embodiments described above may be employed.
[0135]
FIG. 22 is a schematic diagram illustrating conversion coefficients 44, 44,... Shifted by the number of bits corresponding to the priority. The transform coefficients 44, 44,... Of each of the band components LL5 to HH1 have been shifted right or left by the number of bits of priority. .., 10 given to each bit of each conversion coefficient 44 indicate the number of a bit plane to which the bit belongs. Here, the LSB number = 0 and the MSB number = 10.
[0136]
Next, based on the layer division information, the layer division control unit 7 determines a division position so that the bit-shifted encoded data is grouped into a plurality of layers in units of bit planes or in units of encoding paths. The layer division information includes selection information for selecting one of a single layer and a multi-layer, information for specifying a layer division position in units of bit planes or in units of encoding paths, and the like. In the example of FIG. 22, division positions at which the compression-encoded data is divided into five layers 0 to 4 in bit plane units are shown. Then, the layer division control unit 7 supplies the MMU 3 with a read control signal CS2 for reading data in layer units according to the division position. The MMU 3 sequentially reads the data OD stored in the storage device 2 from the upper layer to the lower layer according to the read control signal CS2, and outputs the data OD to the multiplexing unit 5.
[0137]
In the above-described layer division processing, the priority is set by bit-shifting each band component by the number of bits corresponding to the priority. By dividing the bit component that has been bit-shifted into a plurality of layers as described above, it is possible to efficiently generate a plurality of layers in units of bit planes or in units of encoding paths so that distortion with respect to a rate can be reduced. is there. Therefore, it is not always necessary to perform the layer division processing using the above-described rate / distortion optimization, and it is possible to perform the layer division processing with high real-time property so as to reduce distortion.
[0138]
【The invention's effect】
As described above, according to the code amount control device according to the first aspect of the present invention and the program according to the ninth aspect, each band component is shifted by the number of bits corresponding to the priority, and the band is adjusted according to the number of bits to be shifted. Since the priorities of the components are determined, it is possible to efficiently specify an encoding target according to the target image quality of the compressed image, and perform high-speed code amount control with a small amount of calculation.
[0139]
According to the second and tenth aspects, it is possible to control the code amount so as to realize high display image quality suitable for human visual evaluation.
[0140]
According to the third and eleventh aspects, the code amount can be finely and efficiently controlled in bit plane units according to the target image quality.
[0141]
According to the fourth and twelfth aspects, it is possible to finely and efficiently control the code amount for each coding pass according to the target image quality.
[0142]
According to the fifth and sixth aspects and the thirteenth and fourteenth aspects, the code amount control of the compressed encoded data is efficiently performed according to the priority set for each band component without decoding the compressed encoded data. It is possible. Further, even without using the rate / distortion optimization, it is possible to perform code amount control with high real-time property so that distortion can be suppressed.
[0143]
According to the seventh and fifteenth aspects, the band component bit-shifted according to the priority is divided into a plurality of layers. Therefore, it is possible to efficiently generate a plurality of layers so that distortion with respect to a rate can be reduced. It is possible.
[0144]
According to the eighth and sixteenth aspects, it is possible to generate a compressed image having high display quality and suitable for human visual evaluation.
[Brief description of the drawings]
FIG. 1 is a functional block diagram illustrating a schematic configuration of a code amount control device according to an embodiment of the present invention.
FIG. 2 is a functional block diagram showing a schematic configuration of a bit truncation control unit in the code amount control device shown in FIG.
FIG. 3 is a schematic diagram showing a two-dimensional image obtained by band division according to an octave division method.
FIG. 4 is a diagram for explaining a priority setting process by a bit shift;
FIG. 5 is a diagram illustrating an example of a bit-shifted transform coefficient;
FIG. 6 is a schematic diagram showing a two-dimensional image divided into bands by wavelet transform.
FIG. 7 is a schematic diagram showing a two-dimensional image divided into bands by wavelet transform.
FIG. 8 is a schematic diagram showing conversion coefficients of band components shifted right by bits according to the priorities shown in FIG. 7;
FIG. 9 is a diagram showing a numerical value table of Energy @ weighting @ factor.
FIG. 10 is a diagram showing a numerical value table of Energy @ weighting @ factor.
FIG. 11 is a diagram showing a numerical value table of Energy @ weighting @ factor.
FIG. 12 is a functional block diagram illustrating a schematic configuration of an image quality control unit according to the embodiment.
FIG. 13 is a schematic diagram illustrating a conversion coefficient bit-shifted according to a priority;
FIG. 14 is a diagram for describing a processing example of a transform coefficient of a band component LL5.
FIG. 15 is a diagram for describing a processing example of a transform coefficient of a band component LL5.
FIG. 16 is a diagram for describing an example of encoding processing of transform coefficients of a band component HH2.
FIG. 17 is a diagram showing a curve of rate / distortion characteristics.
FIG. 18 is a diagram illustrating an example of a scanning order.
FIG. 19 is a diagram illustrating an example of a truncation point.
FIG. 20 is a diagram illustrating a code string rearranged in bit plane units.
FIG. 21 is a diagram illustrating a code string rearranged in units of an encoding pass.
FIG. 22 is a schematic diagram illustrating encoded data divided into a plurality of layers.
FIG. 23 is a functional block diagram illustrating a schematic configuration of a compression encoding device according to the JPEG2000 system.
FIG. 24 is a schematic diagram showing a two-dimensional image divided into bands according to the octave division method.
FIG. 25 is a schematic diagram showing a two-dimensional image decomposed into a plurality of code blocks.
FIG. 26 is a schematic diagram showing a plurality of bit planes constituting a code block.
FIG. 27 is a schematic diagram showing three types of encoding passes.
[Explanation of symbols]
1 code amount control device
2. Storage device
3 @ MMU
4 bit truncation control unit
5 Multiplexer
6 Priority table
7 Layer division control unit
10 Image quality control unit
11 code amount control unit

Claims (16)

ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御する符号量制御装置であって、
前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分から、目標画質に合わせて符号化対象を選択する画質制御部、
を備えることを特徴とする符号量制御装置。
The image signal is recursively divided into high-frequency components and low-frequency components by wavelet transform, transform coefficients of a plurality of band components are calculated, and the transform coefficients are entropy-coded and the amount of code of compressed image data compressed. Code amount control device for controlling the
For each of the band components of the compressed image data, the band component is bit-shifted by the number of bits corresponding to the priority set according to the number of times the band is recursively divided into the low band components, and From the shifted band components, an image quality control unit that selects an encoding target in accordance with a target image quality,
A code amount control device comprising:
請求項1記載の符号量制御装置であって、前記画質制御部は、人間の視覚特性を考慮した重み付けをされた前記優先度を用いる機能を有する、符号量制御装置。2. The code amount control device according to claim 1, wherein the image quality control unit has a function of using the priority weighted in consideration of human visual characteristics. 請求項1または2記載の符号量制御装置であって、前記画質制御部は、前記符号化対象を前記ビットプレーン単位で決定する機能を有する、符号量制御装置。3. The code amount control device according to claim 1, wherein the image quality control unit has a function of determining the coding target in units of the bit plane. 4. 請求項1〜3の何れか1項に記載の符号量制御装置であって、前記画質制御部は、前記符号化対象を前記符号化パス単位で決定する機能を有する、符号量制御装置。4. The code amount control device according to claim 1, wherein the image quality control unit has a function of determining the coding target in units of the coding pass. 5. ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御する符号量制御装置であって、
前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分の符号化データを所定の走査順序で並べ替えて生成した符号列から、目標符号量に適合する切り捨て点を算出し、当該切り捨て点よりも前の前記符号列を出力させるように制御する符号量制御部、
を備えることを特徴とする符号量制御装置。
The image signal is recursively divided into high-frequency components and low-frequency components by wavelet transform, transform coefficients of a plurality of band components are calculated, and the transform coefficients are entropy-coded and the amount of code of compressed image data compressed. Code amount control device for controlling the
For each of the band components of the compressed image data, the band component is bit-shifted by the number of bits corresponding to the priority set according to the number of times the band is recursively divided into the low band components, and From the code string generated by rearranging the shifted encoded data of the band components in a predetermined scanning order, a truncation point suitable for a target code amount is calculated, and the code string before the truncation point is output. Code amount control unit for controlling
A code amount control device comprising:
請求項5記載の符号量制御装置であって、
前記符号量制御部は、前記符号化データを、前記優先度の高い順に且つ同一の前記優先度においては高域側から低域側に向けた前記走査順序で並べ替えて前記符号列を生成する、符号量制御装置。
The code amount control device according to claim 5, wherein
The code amount control unit generates the code string by rearranging the coded data in the order of the priorities and in the same scanning order from the high frequency side to the low frequency side at the same priority level. , Code amount control device.
請求項1〜6の何れか1項に記載の符号量制御装置であって、
前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分を複数のレイヤーに分割するように制御するレイヤー分割制御部、
を更に備える符号量制御装置。
The code amount control device according to claim 1, wherein:
For each of the band components of the compressed image data, the band component is bit-shifted by the number of bits corresponding to the priority set according to the number of times the band is recursively divided into the low band components, and A layer division control unit that controls to divide the shifted band component into a plurality of layers,
The code amount control device further comprising:
請求項7記載の符号量制御装置であって、前記レイヤー分割制御部は、人間の視覚特性を考慮した重み付けをされた前記優先度を用いる機能を有する、符号量制御装置。8. The code amount control device according to claim 7, wherein the layer division control unit has a function of using the priority weighted in consideration of human visual characteristics. ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御するためのプログラムであって、
前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分から、目標画質に合わせて符号化対象を選択する画質制御部として、
マイクロプロセッサを機能させることを特徴とするプログラム。
The image signal is recursively divided into high-frequency components and low-frequency components by wavelet transform, transform coefficients of a plurality of band components are calculated, and the transform coefficients are entropy-coded and the amount of code of compressed image data compressed. A program for controlling the
For each of the band components of the compressed image data, the band component is bit-shifted by the number of bits corresponding to the priority set according to the number of times the band is recursively divided into the low band components, and From the shifted band components, as an image quality control unit that selects an encoding target according to a target image quality,
A program for causing a microprocessor to function.
請求項9記載のプログラムであって、前記画質制御部は、人間の視覚特性を考慮した重み付けをされた前記優先度を用いるように前記マイクロプロセッサを機能させるプログラム。The program according to claim 9, wherein the image quality control unit causes the microprocessor to function so as to use the priority weighted in consideration of human visual characteristics. 請求項9または10記載のプログラムであって、前記画質制御部は、前記符号化対象を前記ビットプレーン単位で決定するように前記マイクロプロセッサを機能させるプログラム。The program according to claim 9, wherein the image quality control unit causes the microprocessor to function so as to determine the encoding target in units of the bit plane. 請求項9〜11の何れか1項に記載のプログラムであって、前記画質制御部は、前記符号化対象を前記符号化パス単位で決定するように前記マイクロプロセッサを機能させるプログラム。The program according to any one of claims 9 to 11, wherein the image quality control unit causes the microprocessor to function so as to determine the encoding target in units of the encoding pass. ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御するためのプログラムであって、
前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分の符号化データを所定の走査順序で並べ替えて生成した符号列から、目標符号量に適合する切り捨て点を算出し、当該切り捨て点よりも前の前記符号列を出力させるように制御する符号量制御部として、
マイクロプロセッサを機能させることを特徴とするプログラム。
The image signal is recursively divided into high-frequency components and low-frequency components by wavelet transform, transform coefficients of a plurality of band components are calculated, and the transform coefficients are entropy-coded and the amount of code of compressed image data compressed. A program for controlling the
For each of the band components of the compressed image data, the band component is bit-shifted by the number of bits corresponding to the priority set according to the number of times the band is recursively divided into the low band components, and From the code string generated by rearranging the shifted encoded data of the band components in a predetermined scanning order, a truncation point suitable for a target code amount is calculated, and the code string before the truncation point is output. As a code amount control unit that controls
A program for causing a microprocessor to function.
請求項13記載のプログラムであって、
前記符号量制御部は、前記符号化データを、前記優先度の高い順に且つ同一の前記優先度においては高域側から低域側に向けた前記走査順序で並べ替えて前記符号列を生成するように前記マイクロプロセッサを機能させるプログラム。
14. The program according to claim 13, wherein
The code amount control unit generates the code string by rearranging the coded data in the order of the priorities and in the same scanning order from the high frequency side to the low frequency side at the same priority level. That causes the microprocessor to function.
請求項9〜14の何れか1項に記載のプログラムであって、
前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分を複数のレイヤーに分割するように制御するレイヤー分割制御部として、
前記マイクロプロセッサを機能させるプログラム。
A program according to any one of claims 9 to 14, wherein
For each of the band components of the compressed image data, the band component is bit-shifted by the number of bits corresponding to the priority set according to the number of times the band is recursively divided into the low band components, and As a layer division control unit that controls to divide the shifted band component into a plurality of layers,
A program that causes the microprocessor to function.
請求項15記載のプログラムであって、前記レイヤー分割制御部は、人間の視覚特性を考慮した重み付けをされた前記優先度を用いるように前記マイクロプロセッサを機能させるプログラム。16. The program according to claim 15, wherein the layer division control unit causes the microprocessor to function so as to use the priority weighted in consideration of human visual characteristics.
JP2002215463A 2002-07-24 2002-07-24 Code amount control apparatus and program Expired - Fee Related JP3989788B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002215463A JP3989788B2 (en) 2002-07-24 2002-07-24 Code amount control apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002215463A JP3989788B2 (en) 2002-07-24 2002-07-24 Code amount control apparatus and program

Publications (3)

Publication Number Publication Date
JP2004064115A true JP2004064115A (en) 2004-02-26
JP2004064115A5 JP2004064115A5 (en) 2005-10-27
JP3989788B2 JP3989788B2 (en) 2007-10-10

Family

ID=31937490

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002215463A Expired - Fee Related JP3989788B2 (en) 2002-07-24 2002-07-24 Code amount control apparatus and program

Country Status (1)

Country Link
JP (1) JP3989788B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007104645A (en) * 2005-09-06 2007-04-19 Megachips Lsi Solutions Inc Compressing encoder, compressing encoding method and program
US7333659B2 (en) 2003-04-14 2008-02-19 Sony Corporation Picture encoder and picture encoding method
US7630567B2 (en) 2004-04-02 2009-12-08 Sony Corporation Adaptive image coding with pressure-selected regions
JP2011166795A (en) * 2005-09-06 2011-08-25 Mega Chips Corp Compression encoder, compression encoding method, and program
JP2012249167A (en) * 2011-05-30 2012-12-13 Fujifilm Corp Image data encoder, operation control method, and program for the same
CN114095727A (en) * 2021-11-17 2022-02-25 安徽大学 JPEG image coding optimization method based on evolutionary computation

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7333659B2 (en) 2003-04-14 2008-02-19 Sony Corporation Picture encoder and picture encoding method
US7630567B2 (en) 2004-04-02 2009-12-08 Sony Corporation Adaptive image coding with pressure-selected regions
KR101114205B1 (en) 2004-04-02 2012-04-10 소니 주식회사 Image coding method, imaging apparatus, and computer program
JP2007104645A (en) * 2005-09-06 2007-04-19 Megachips Lsi Solutions Inc Compressing encoder, compressing encoding method and program
JP2011166795A (en) * 2005-09-06 2011-08-25 Mega Chips Corp Compression encoder, compression encoding method, and program
JP2012249167A (en) * 2011-05-30 2012-12-13 Fujifilm Corp Image data encoder, operation control method, and program for the same
US8805107B2 (en) 2011-05-30 2014-08-12 Fujifilm Corporation Image data coding apparatus, method of controlling operation of same, and program therefor
CN114095727A (en) * 2021-11-17 2022-02-25 安徽大学 JPEG image coding optimization method based on evolutionary computation
CN114095727B (en) * 2021-11-17 2023-08-04 安徽大学 JPEG image coding optimization method based on evolution calculation

Also Published As

Publication number Publication date
JP3989788B2 (en) 2007-10-10

Similar Documents

Publication Publication Date Title
JP5034018B2 (en) Compression encoding apparatus, compression encoding method and program
JP4489605B2 (en) Compression encoding apparatus, compression encoding method and program
US7792375B2 (en) Rate control system
JP4789148B2 (en) Compression encoding apparatus, compression encoding method and program
JP4191592B2 (en) Compression encoding apparatus, compression encoding method and program
JP4273996B2 (en) Image encoding apparatus and method, and image decoding apparatus and method
JP4114534B2 (en) Image coding apparatus and method
JP3461821B2 (en) Memory management system and memory management method
JP2000511366A (en) Apparatus and method for variable block size motion estimation based on quadrant tree
JP2002523000A (en) Embedded Quadtree Wavelet in Image Compression
JP4135617B2 (en) Image coding apparatus and method
JP4449400B2 (en) Image encoding apparatus and method, program, and recording medium
JP4086196B2 (en) Image encoding apparatus, program, and storage medium
JP3989788B2 (en) Code amount control apparatus and program
JP3989787B2 (en) Compression encoding apparatus, compression encoding method and program
JP4532518B2 (en) Image processing apparatus and image processing method
JP4003628B2 (en) Image encoding apparatus and method, and program
JP3989786B2 (en) Compression encoding apparatus, compression encoding method and program
JP4166530B2 (en) Image processing device
JP3115089B2 (en) Encoding device and encoding method
JP2000201353A (en) Image encoding method, image encoder and storage medium in which image encoding program is stored
JP4379527B2 (en) Encoding apparatus and method
Omaki et al. Embedded zerotree wavelet based algorithm for video compression
JP4367113B2 (en) Image coding apparatus and method
JP2004350034A (en) Image encoding device and method and image decoding device and method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050719

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070424

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070622

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: 20070717

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070718

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 3989788

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050719

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees