JP3989788B2 - Code amount control apparatus and program - Google Patents

Code amount control apparatus and program Download PDF

Info

Publication number
JP3989788B2
JP3989788B2 JP2002215463A JP2002215463A JP3989788B2 JP 3989788 B2 JP3989788 B2 JP 3989788B2 JP 2002215463 A JP2002215463 A JP 2002215463A JP 2002215463 A JP2002215463 A JP 2002215463A JP 3989788 B2 JP3989788 B2 JP 3989788B2
Authority
JP
Japan
Prior art keywords
band
priority
bit
control unit
code amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002215463A
Other languages
Japanese (ja)
Other versions
JP2004064115A5 (en
JP2004064115A (en
Inventor
雄介 水野
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)

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枚のビットプレーン1220〜122n-1(n:自然数)を示す模式図である。図26に示すように、コードブロック121中の1点の変換係数の2進値123が"011…0"である場合、この2進値123を構成するビットは、それぞれ、ビットプレーン122n-1,122n-2,122n-3,…,1220に属するように分解される。図中のビットプレーン122n-1は、変換係数の最上位ビット(MSB)のみからなる最上位ビットプレーンを表し、ビットプレーン1220は、その最下位ビット(LSB)のみからなる最下位ビットプレーンを表している。
【0010】
更に、係数ビットモデリング部108は、各ビットプレーン122k(k=0〜n−1)内の各ビットのコンテクスト(context)判定を行い、図27に示すように、各ビットの有意性(判定結果)に応じて、ビットプレーン122kを3種類の符号化パス、すなわち、SIGパス( SIGnificance propagation pass ),MRパス( Magnitude Refinement pass ),CLパス( CLeanup pass に分解する。各符号化パスに関するコンテクスト判定のアルゴリズムは、EBCOTで定められている。それによれば、「有意である」とは、これまでの符号化処理において注目係数がゼロでないとわかっている状態のことを意味し、「有意で無い」とは、係数値がゼロであるか、或いはゼロである可能性がある状態のことを意味する。
【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に係る発明は、ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御する符号量制御装置であって、前記圧縮画像データの前記各帯域成分のうち、所定の帯域成分の2次元合成フィルタ係数のノルムを基準として、かつ、再帰的に帯域分割された回数に応じて設定された優先度につき、該優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分から、目標画質に合わせて符号化対象を選択する画質制御部、を備えることを特徴としている。
【0019】
請求項2に係る発明は、ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御する符号量制御装置であって、前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分から、目標画質に合わせて符号化対象を選択する画質制御部、を備え、前記画質制御部は、人間の視覚特性を考慮した重み付けをされた前記優先度を用いる機能を有するものである。
【0020】
請求項3に係る発明は、請求項1または2記載の符号量制御装置であって、前記画質制御部は、前記符号化対象を前記ビットプレーン単位で決定する機能を有するものである。
【0021】
請求項4に係る発明は、請求項1〜3の何れか1項に記載の符号量制御装置であって、前記画質制御部は、前記符号化対象を前記符号化パス単位で決定する機能を有するものである。
【0022】
次に、請求項5に係る発明は、ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御する符号量制御装置であって、前記圧縮画像データの前記各帯域成分のうち、所定の帯域成分の2次元合成フィルタ係数のノルムを基準として、かつ、再帰的に帯域分割された回数に応じて設定された優先度につき、該優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分の符号化データを所定の走査順序で並べ替えて生成した符号列から、目標符号量に適合する切り捨て点を算出し、当該切り捨て点よりも前の前記符号列を出力させるように制御する符号量制御部、を備えることを特徴としている。
【0023】
請求項6に係る発明は、請求項5記載の符号量制御装置であって、前記符号量制御部は、前記符号化データを、前記優先度の高い順に且つ同一の前記優先度においては高域側から低域側に向けた前記走査順序で並べ替えて前記符号列を生成するものである。
【0024】
請求項7に係る発明は、請求項1〜6の何れか1項に記載の符号量制御装置であって、前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分を複数のレイヤーに分割するように制御するレイヤー分割制御部、を更に備えたものである。
【0025】
そして、請求項8に係る発明は、請求項7記載の符号量制御装置であって、前記レイヤー分割制御部は、人間の視覚特性を考慮した重み付けをされた前記優先度を用いる機能を有するものである。
【0026】
次に、請求項9に係る発明は、ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御するためのプログラムであって、前記圧縮画像データの前記各帯域成分のうち、所定の帯域成分の2次元合成フィルタ係数のノルムを基準として、かつ、再帰的に帯域分割された回数に応じて設定された優先度につき、該優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分から、目標画質に合わせて符号化対象を選択する画質制御部として、マイクロプロセッサを機能させることを特徴としている。
【0027】
請求項10に係る発明は、ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御するためのプログラムであって、前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分から、目標画質に合わせて符号化対象を選択する画質制御部として、マイクロプロセッサを機能させ、前記画質制御部は、人間の視覚特性を考慮した重み付けをされた前記優先度を用いるように前記マイクロプロセッサを機能させるものである。
【0028】
請求項11に係る発明は、請求項9または10記載のプログラムであって、前記画質制御部は、前記符号化対象を前記ビットプレーン単位で決定するように前記マイクロプロセッサを機能させるものである。
【0029】
請求項12に係る発明は、請求項9〜11の何れか1項に記載のプログラムであって、前記画質制御部は、前記符号化対象を前記符号化パス単位で決定するように前記マイクロプロセッサを機能させるものである。
【0030】
次に、請求項13に係る発明は、ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御するためのプログラムであって、前記圧縮画像データの前記各帯域成分のうち、所定の帯域成分の2次元合成フィルタ係数のノルムを基準として、かつ、再帰的に帯域分割された回数に応じて設定された優先度につき、該優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分の符号化データを所定の走査順序で並べ替えて生成した符号列から、目標符号量に適合する切り捨て点を算出し、当該切り捨て点よりも前の前記符号列を出力させるように制御する符号量制御部として、マイクロプロセッサを機能させることを特徴としている。
【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×24=64に変換される。
【0045】
次に、以上のように優先度を設定する理由(理論的背景)を以下に説明する。
【0046】
上述した従来のレート・歪み最適化(R-D optimization)の方法では、歪測度を利用した最適化処理が行われていた。David S. Taubmanらによる前記参考文献Aによれば、歪測度Di (z)は次式(1)に従って算出される。
【0047】
【数1】

Figure 0003989788
【0048】
上式(1)中、zは、ビット切り捨て点(bit truncation point);oyi K[i,j][j]は、K[i,j]番目のビットプレーンで逆量子化されたコードブロックのj番目のサンプル値(係数値);yi[j]は、当該コードブロックのj番目のサンプル値(係数値);Gb[i]は、サブバンドb[i]に対応する合成フィルタ係数のノルムの二乗であって、当該サブバンドbに依存する歪モデルの重み係数を示している。尚、説明の便宜上、上式(1)に示した記号の表記法は、前記参考文献Aでのそれとは若干異なる。
【0049】
レート・歪み最適化では、この歪測度Di (z)のサブバンドb[i]における総和量を最小にするような最適化処理が行われる。サブバンドbの重み係数Gbは、画像の歪みを低減させるための重み付けを表している。
【0050】
サブバンドbの重み係数Gbは、次式(2)に従って算出される。
【0051】
【数2】
Figure 0003989788
【0052】
ここで、上式(2)中、sb[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 0003989788
【0055】
ここで、上式(3)中、g0[n]は、画像信号を帯域分割する順変換フィルタのローパス・フィルタ係数、g1[n]は、そのハイパス・フィルタ係数をそれぞれ示している。
【0056】
また、分解レベルd(d=1,2,…,D)における低域成分Ldの1次元合成フィルタ係数sL[d][n]と、同分解レベルにおける高域成分Hdの1次元合成フィルタ係数sH[d][n]とは、次式(4)に従って算出される。
【0057】
【数4】
Figure 0003989788
【0058】
そして、分解レベルdにおける低域成分Ldの1次元合成フィルタ係数のノルムの二乗は、次式(5)に従って算出される。
【0059】
【数5】
Figure 0003989788
【0060】
高域成分の1次元合成フィルタ係数のノルムの二乗も、上式(5)と同様にして算出することができる。
【0061】
次に、分解レベルd(d=1,2,…,D;Dは整数)における帯域成分LLD,HLd,LHd,HHdの2次元合成フィルタ係数は、上記1次元合成フィルタ係数の積で表現することができ、帯域成分bの2次元の重み係数Gbも、1次元の重み係数の積で表現することができる。具体的には、2次元合成フィルタ係数と2次元の重み係数とは、次式(6)に従って算出される。
【0062】
【数6】
Figure 0003989788
【0063】
上式(6)中、添字LL[D]はサブバンドLLDを示し,HL[d],LH[d]およびHH[d]はそれぞれサブバンドHLd,LHdおよびHHdを表している。
【0064】
重み係数Gbの平方根がノルムである。以下の表1〜表4に、2次元の重み係数Gbに関する計算結果を示す。表1に、(9,7)フィルタ(9×7タップのフィルタ)の各帯域成分のノルムの二乗の数値を、表2には、表1に対応するノルムの数値をそれぞれ示す。また、表3に、(5,3)フィルタ(5×3タップのフィルタ)の各帯域成分のノルムの二乗の数値を、表4には、表3に対応するノルムの数値をそれぞれ示す。
【0065】
【表1】
Figure 0003989788
【0066】
【表2】
Figure 0003989788
【0067】
【表3】
Figure 0003989788
【0068】
【表4】
Figure 0003989788
【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ビット左シフトした値、すなわち、全ての設定値に21を乗算した2の巾乗値の指数は、図3に示した優先度の値に一致することが分かる。よって、第1実施例のように各帯域成分に優先度を設定することは、近似的に、レート・歪み最適化で使用するフィルタのノルム(重み係数の平方根)を各帯域成分のサンプル値(変換係数値)に乗算することに等しい。従って、本実施例の優先度は画像の歪みを低減させ得るように設定されるものである。
【0072】
優先度設定処理(第2実施例).
次に、優先度設定方法の第2実施例について説明する。本実施例では、各帯域成分の上記重み係数Gbの平方根であるノルムを、最も高い分解レベルにおける最低域成分LLのノルムで除算した値を2の巾乗値に丸め込み、その2の巾乗値の指数の絶対値を、優先度として設定する。具体的には、最も高い分解レベルnの最低域成分LLnのノルムをαとし、その他の帯域成分のノルムをxとし、2の巾乗に丸め込む変数yに関する関数をR[y]とし、変数yの2の巾乗2mの指数mを算出する関数をm=I[2m]とし、変数yに関する絶対値を|y|とするとき、優先度pは、p=|I[R[x/α]]|、に従って算出される。
【0073】
以下の表5に、上記表2に示した(9,7)フィルタのノルムを用いて算出した優先度を示す。ここで、最も高い分解レベルは5であり、α=33.92493、である。また、図7に、表5に示した優先度を記した2次元画像28を示す帯域分割図を示す。尚、表中の「×」は、当該帯域成分の優先度は計算されていないことを意味する。
【0074】
【表5】
Figure 0003989788
【0075】
また、以下の表6に、上記表4に示した(5,3)フィルタのノルムを用いて算出した優先度を示す。
【0076】
【表6】
Figure 0003989788
【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 0003989788
【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 0003989788
【0085】
【表8】
Figure 0003989788
【0086】
【表9】
Figure 0003989788
【0087】
【表10】
Figure 0003989788
【0088】
【表11】
Figure 0003989788
【0089】
【表12】
Figure 0003989788
【0090】
【表13】
Figure 0003989788
【0091】
【表14】
Figure 0003989788
【0092】
【表15】
Figure 0003989788
【0093】
【表16】
Figure 0003989788
【0094】
【表17】
Figure 0003989788
【0095】
【表18】
Figure 0003989788
【0096】
次に、上記表7〜表18に示す数値を用いて、上記第2実施例で述べたのと同じ手順で各帯域成分の優先度を算出した。すなわち、最も高い分解レベルnの最低域成分LLnの数値をαとし、その他の帯域成分の数値をxとし、2の巾乗に丸め込む変数yに関する関数をR[y]とし、変数yの2の巾乗2mの指数mを算出する関数をm=I[2m]とし、変数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 0003989788
【0099】
【表20】
Figure 0003989788
【0100】
【表21】
Figure 0003989788
【0101】
【表22】
Figure 0003989788
【0102】
【表23】
Figure 0003989788
【0103】
【表24】
Figure 0003989788
【0104】
【表25】
Figure 0003989788
【0105】
【表26】
Figure 0003989788
【0106】
【表27】
Figure 0003989788
【0107】
【表28】
Figure 0003989788
【0108】
【表29】
Figure 0003989788
【0109】
【表30】
Figure 0003989788
【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 0003989788
【0117】
表31において「ビットプレーン数」は、図13に示した符号化終了ライン32よりも下位ビットの切り捨て対象のビットプレーンの数を、「パス名」は、符号化対象の中の最終符号化パスを、「最大パス数」は、符号化対象の符号化パス数の上限をそれぞれ表している。
【0118】
図13と表31を適用した場合の処理例を以下に説明する。図14に、帯域成分LL5の変換係数33として"000110101112=21510"を例示する(Y2は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ビットは切り捨てられ、切り捨て後の値は"000110101002=21210"となる。この値がミッドポイントで逆量子化されれば、"000110101102=21410"となる。
【0120】
次に、図15に、帯域成分LL5の変換係数33として"000000011112=1510"を例示する。変換係数の3番目ビットは、SIGパスまたはCLパスに属する。4番目〜10番目の上位ビットは、0ビットのみで構成されるビットプレーンに属する場合はタグツリー(Tag tree)で符号化されており、既に符号化パスが開始している場合はSIGパスまたはCLパスで符号化されている。3番目ビットが符号化開始パス(CLパス)に属する場合、2番目ビットを含む下位ビットはMRパスに属し、3番目ビットのCLパスから0番目ビットのCLパス迄の計10パスが符号化対象になる。切り捨て後の値は"000000011112=1510"となり、この値が逆量子化されれば、"000000011112=1510"となる。
【0121】
次に、図16に、帯域成分HH2の変換係数33として"000010111112=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パスに属するため符号化対象に入らない。従って、切り捨て後の値は"000010100002=8010"となり、この値がミッドポイントで逆量子化されれば、"000010110002=8810"となる。
【0123】
尚、各ビットプレーンが、SIGパス,MRパスおよびCLパスの順番で符号化されているのは、SIGパスの歪みに対する符号化効率が最も高いからである。図17に、各符号化パスにおけるレート・歪み特性を示す。R−D曲線中、点P1〜P2の部分がSIGパス,点P2〜P3の部分がMRパス、点P3〜P4の部分が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は、MMU3から圧縮符号化データのデータ構造情報DSを取得する。次いで、レイヤー分割制御部7は、優先度テーブル6から優先度データPS2を取得し、この優先度データPS2に含まれる優先度に従って、圧縮符号化データの各帯域成分の変換係数を所定ビット数だけシフトさせる。これにより、各帯域成分の変換係数に対して優先度が設定される。優先度の設定方法としては、上記した第1実施例、第2実施例および第3実施例の方法を採用すればよい。
【0135】
図22は、優先度に対応するビット数だけシフトされた変換係数45,45,…を例示する模式図である。各帯域成分LL5〜HH1の変換係数45,45,…は、優先度のビット数だけ右ビットシフト或いは左ビットシフトされている。また、各変換係数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]
BACKGROUND OF THE INVENTION
The present invention relates to a code amount control apparatus for controlling the code amount of a bit stream including a compressed image signal.
[0002]
[Prior art]
As a next-generation high-efficiency encoding system for image data, the ISO (International Organization for Standardization) and ITU-T (International Telecommunication Union Telecommunication Standardization Sector) have developed the JPEG 2000 (Joint Photographic Experts Group 2000) system. The JPEG2000 system has superior functions compared to the current mainstream JPEG (Joint Photographic Experts Group) system, adopts DWT (Discrete Wavelet Transform) as orthogonal transform, and uses bit for entropy coding. It is characterized in that a method called EBCOT (Embedded Block Coding with Optimized Truncation) with plain coding is adopted.
[0003]
Hereinafter, the JPEG2000 format compression encoding procedure will be outlined with reference to the compression encoding apparatus (encoder) 100 shown in FIG.
[0004]
The image signal input to the compression encoding apparatus 100 is subjected to DC level conversion as necessary by the DC level shift unit 102 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 area components called “tiles” having a rectangular shape, and outputs the result to the DWT unit 105. The DWT unit 105 performs integer type or real number type DWT on the image signal input from the tiling unit 104 in units of tiles, and outputs a conversion 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 order of vertical and horizontal directions. The JPEG 2000 basic method employs an octave division method that recursively divides a band only in a band component that is divided in the vertical direction and the horizontal direction in the low frequency range. The number of times the band is recursively divided is called a decomposition level.
[0005]
FIG. 24 is a schematic diagram showing a two-dimensional image 120 that has been subjected to decomposition level 3 DWT according to the octave division method. At 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. The Here, “H” indicates a high frequency component, and “L” indicates a low frequency component. For example, HL1 is a band component composed of a high frequency component H in the horizontal direction and a low frequency component L in the vertical direction at the decomposition level 1. Generalizing the notation, “XYn” (X and Y are either H or L; n is an integer equal to or greater than 1) is defined as the horizontal band component X and the vertical band component Y at the decomposition level n. A band component consisting 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 band components HH1 to LL3 generated as described above.
[0007]
Next, the quantization unit 106 has a function of performing scalar quantization on the transform coefficient output from the DWT unit 105 as necessary. The quantization unit 106 also has a function of performing bit shift processing that prioritizes the image quality of a designated region (ROI; Region Of Interest) by the ROI unit 107. Note that, when performing reversible (lossless) transformation, scalar quantization in the quantization unit 106 is not performed. In the JPEG2000 system, two types of quantization means are prepared: scalar quantization in the quantization unit 106 and post-quantization (truncation) described later.
[0008]
Next, the transform coefficient output from the quantization unit 106 is sequentially subjected to block-based entropy coding by the coefficient bit modeling unit 108 and the arithmetic coding unit 109 in accordance with the above-described EBCOT, and the code amount control unit 110. The rate is controlled by. 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, each code block is divided into each bit. Decompose into a plurality of bit planes composed of a two-dimensional array.
[0009]
FIG. 25 is a schematic diagram illustrating a two-dimensional image 120 that has been 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 conversion coefficient at one point in the code block 121 is “011... 0”, the bits constituting the binary value 123 are respectively bit planes 122.n-1122n-2122n-3, ..., 1220It is disassembled to belong to. Bit plane 122 in the figuren-1Represents the most significant bit plane consisting only of the most significant bit (MSB) of the transform coefficient, and represents the bit plane 122.0Represents the least significant bit plane consisting only of the least significant bit (LSB).
[0010]
  Further, the coefficient bit modeling unit 108 includes each bit plane 122.kThe context of each bit in (k = 0 to n−1) is determined, and as shown in FIG. 27, according to the significance (determination result) of each bit, the bit plane 122 is determined.kWith three types of encoding passes:SIG pass ( SIGnificance propagation pass ), MR path ( Magnitude Refinement pass ), CL path ( CLeanup pass )Disassembled into The context determination algorithm for each coding pass is defined by EBCOT. According to it, “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 performs an SIG path (significant coefficient coding pass with significant coefficients around), an MR path (significant coefficient coding path), and a CL path (SIG path, MR path not corresponding to the rest). Bit plane encoding is performed in three types of encoding passes). Bit plane encoding is performed by scanning the bits of each bit plane in units of 4 bits from the most significant bit plane to the least significant bit plane and determining whether or not a significant coefficient exists. The number of bit planes composed only of insignificant coefficients (0 bits) is recorded in the packet header, and actual encoding is started from the bit plane in which significant coefficients first appear. The encoding start bit plane is encoded only by the CL pass, and the 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 in units of coding passes on the coefficient sequence from the coefficient bit modeling unit 108 based on the context determination result using the MQ coder. There is also 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 that truncates the lower bit planes of the code string output by the arithmetic encoding unit 109. Then, the bit stream generation unit 111 generates a bit stream in which the code string output from the code amount control unit 110 and additional information (header information, layer configuration, scalability, quantization table, etc.) are multiplexed, and is used as a compressed image. Output.
[0014]
[Problems to be solved by the invention]
In the compression encoding apparatus 100 described above, the final code amount and the like are controlled so as to optimize the distortion amount with respect to the encoding rate using rate / distortion optimization (R-D optimization). The rate / distortion optimization is performed using a distortion amount in each coding pass calculated in the arithmetic coding stage. The algorithm for rate / distortion optimization is disclosed in the document "David S. Taubman and Michael W. Marcellin," JPEG2000 IMAGE COMPRESSION FUNDAMENTALS, STANDARDS AND PRACTICE, "Kluwer Academic Publishers" (hereinafter referred to as Reference A). 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), and the like 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 method, after the compressed image signal is once decoded, the scalability and code amount are changed. Since the change and compression encoding must be executed, the amount of calculation is large and the real-time property is low.
[0016]
Therefore, by using a JPEG2000 transcoder, it is possible to change the scalability, the code amount, and the like of the compressed encoded data in the bitstream generated by the compression encoding apparatus 100 with a small amount of calculation. However, the JPEG2000 transcoder cannot know the amount of distortion calculated by the compression encoding apparatus 100, and therefore cannot easily control the bitstream code amount using rate / distortion optimization. There is. Even if a transcoder that performs code amount control using rate / distortion optimization is feasible, the amount of calculation of the code amount control processing becomes enormous, and the real-time property is lowered.
[0017]
In view of the above problems and the like, the present invention has a problem that the code amount control of a bitstream including compressed encoded data can be executed with a small amount of computation and high speed so that distortion with respect to the rate can be suppressed. The point 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 calculates a transform coefficient of a plurality of band components by recursively dividing the image signal into a high-frequency component and a low-frequency component by wavelet transform. A code amount control apparatus for controlling a code amount of compressed image data compressed by entropy coding of a coefficient, wherein each band component of the compressed image dataOf which the norm of the two-dimensional synthesis filter coefficient of the predetermined band component is a reference, andDepending on the number of times the band was recursively split,Set priorityPer priorityThe band component is bit-shifted by the number of bits corresponding to, and an image quality control unit that selects an encoding target in accordance with the target image quality from the band-shifted band component is provided.
[0019]
  The invention according to claim 2The amount of code of compressed image data that is compressed by entropy encoding the transform coefficient by calculating the transform coefficient of multiple band components by recursively dividing the image signal into high and low frequency components by wavelet transform ControlA code amount control device comprising:For each band component 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-frequency component, and the bit An image quality control unit that selects an encoding target in accordance with a target image quality from the shifted band component,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 apparatus 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 planes.
[0021]
The invention according to a fourth aspect is the code amount control apparatus according to any one of the first to third aspects, wherein the image quality control unit has a function of determining the encoding target in units of the encoding pass. It is what you have.
[0022]
  Next, the invention according to claim 5 calculates a transform coefficient of a plurality of band components by recursively dividing the image signal into a high frequency component and a low frequency component by wavelet transform, and the transform coefficients are entropy coded. A code amount control apparatus for controlling the code amount of compressed image data compressed by compression, wherein each band component of the compressed image dataOf which the norm of the two-dimensional synthesis filter coefficient of the predetermined band component is a reference, andDepending on the number of times the band was recursively split,Set priorityPer priorityThe band component is bit-shifted by the number of bits corresponding to, and the truncation point that matches the target code amount is calculated from the code string generated by rearranging the encoded data of the band-shifted band component in a predetermined scanning order. And a code amount control unit that controls to output the code string before the cut-off point.
[0023]
The invention according to claim 6 is the code amount control apparatus according to claim 5, wherein the code amount control unit outputs the encoded data in the order of the highest priority and in the same priority. 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 apparatus according to any one of claims 1 to 6, wherein the low-frequency component is recursively applied to each band component of the compressed image data. 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 the band shifted bit component to be divided into a plurality of layers, Is further provided.
[0025]
The invention according to claim 8 is the code amount control apparatus 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, the invention according to claim 9 calculates a transform coefficient of a plurality of band components by recursively dividing the image signal into a high frequency component and a low frequency component by wavelet transform, and the transform coefficients are entropy coded. A program for controlling the amount of code of compressed image data compressed by compression, wherein each band component of the compressed image dataOf which the norm of the two-dimensional synthesis filter coefficient of the predetermined band component is a reference, andDepending on the number of times the band was recursively split,Set priorityPer priorityThe band component is bit-shifted by the number of bits corresponding to, and the microprocessor is caused to function as an image quality control unit that selects an encoding target in accordance with the target image quality from the band-shifted band component.
[0027]
  The invention according to claim 10 is:The amount of code of compressed image data that is compressed by entropy encoding the transform coefficient by calculating the transform coefficient of multiple band components by recursively dividing the image signal into high and low frequency components by wavelet transform To controlThe program ofFor each band component 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-frequency component, and the bit The microprocessor functions as an image quality control unit that selects an encoding target in accordance with the target image quality from the shifted band component,The image quality control unit causes the microprocessor to function so as to use the priority weighted in consideration of human visual characteristics.
[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 planes.
[0029]
A twelfth aspect of the invention is the program according to any one of the ninth to eleventh aspects, in which the image quality control unit determines the encoding target in units of the encoding pass. Is to function.
[0030]
  Next, an invention according to claim 13 is that the image signal is recursively divided into a high-frequency component and a low-frequency component by wavelet transform to calculate transform coefficients of a plurality of band components, and the transform coefficients are entropy-coded. A program for controlling the amount of code of compressed image data compressed by compression, wherein each band component of the compressed image dataOf which the norm of the two-dimensional synthesis filter coefficient of the predetermined band component is a reference, andDepending on the number of times the band was recursively split,Set priorityPer priorityThe band component is bit-shifted by the number of bits corresponding to, and the truncation point that matches the target code amount is calculated from the code string generated by rearranging the encoded data of the band-shifted band component in a predetermined scanning order. In addition, a microprocessor is made to function as a code amount control unit that controls to output the code string before the cut-off point.
[0031]
The invention according to claim 14 is the program according to claim 13, wherein the code amount control unit sets the encoded data in a descending order from the highest priority and from the high frequency side in the same priority. The microprocessor is caused to function so as to generate the code string by rearranging in the scanning order toward the region side.
[0032]
The invention according to claim 15 is the program according to any one of claims 9 to 14, wherein the respective band components of the compressed image data are recursively band-divided into the low-frequency components. As the 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, and controls the bit shift to divide the band component into a plurality of layers, It makes the processor function.
[0033]
The invention according to claim 16 is the program according to claim 15, wherein the layer division control unit functions the microprocessor to use the priority weighted in consideration of human visual characteristics. It is something to be made.
[0034]
DETAILED DESCRIPTION OF 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 showing a schematic configuration of a code amount control apparatus 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 with respect to the storage device 2, a bit truncation control unit 4, a multiplexing unit And a priority table 6 and a layer division control unit 7.
[0036]
Note that all or part of the processing units 4, 5, 6 and 7 constituting the code amount control apparatus 1 may be configured by hardware or a program for causing the microprocessor to function. .
[0037]
The MMU 3 of the code amount control device 1 temporarily stores an input bitstream including compressed encoded data compressed and encoded by the JPEG2000 system in the storage device 2, and then according to control signals CS1 and CS2 for controlling the code amount. 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 the target image quality, and a code amount control unit 11 that controls the code amount according to the target code amount (final code amount). . Further, the code amount control unit 11 calculates a truncation point that matches 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 bitstream supplied from the MMU 3. The read control signal CS1 for reading the code string before the cut-off point is generated and supplied to the MMU 3.
[0039]
1 generates a read control signal CS2 for generating an output bitstream divided into a plurality of layers, based on the data structure information DS of the input bitstream supplied from the MMU 3. And output to the MMU 3.
[0040]
The priority table 6 indicates the priority set according to the number of times the band components of the compression-coded data included in the input bitstream are recursively band-divided into low-frequency components according to the JPEG2000 system. The priority data PS1 and PS2 are stored and 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 apparatus 1 having the above configuration will be described in detail below.
[0042]
Priority setting process (first embodiment).
A first embodiment of the priority setting method recorded in the priority table 6 will be described. In the present invention, the priority is determined for each band component (subband) according to the number of times the 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. The priority of LLn is determined as “(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 band component has a priority “0”, “1”, “2”, “3”, or “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 In accordance with the priority data PS1 and PS2 acquired from the priority table 6, priority is set for each band component. Specifically, the transform coefficient entropy-encoded in each band component (hereinafter simply referred to as “transform coefficient”) is shifted by the number of bits corresponding to the priority to give priority to each transform coefficient. The degree is set. In this bit shift process, it is not always necessary to actually perform a bit shift operation on each transform coefficient, and the position of each bit of the transform coefficient may be virtually shifted. 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 priority setting processing by 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. Further, the conversion coefficients 26 and 26 of the band components HL3 and LH3 set with the priority “3” are shifted left by 3 bits, and the conversion coefficients 26 of the band components HH3, HL2 and LH2 set with the priority “2” are set. , 26, and 26 are shifted left by 2 bits, and the transform coefficients 26, 26, and 26 of the band components HH2, HL1, and LH1 set with the priority "1" 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 left bit shift process. For example, the transform coefficient value (= 4) of the band component LL3 is 4 × 2 by 4-bit left shift.Four= 64.
[0045]
Next, the reason (theoretical background) for setting the priority as described above will be described below.
[0046]
In the above-described conventional rate / distortion optimization (R-D optimization) method, an optimization process using a distortion measure has been performed. According to the above reference A by David S. Taubman et al.i (z)Is calculated according to the following equation (1).
[0047]
[Expression 1]
Figure 0003989788
[0048]
In the above formula (1), z is a bit truncation point; oyi K [i, j][J] is the jth sample value (coefficient value) of the code block dequantized by the K [i, j] th bitplane; 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 subband b [i], and indicates the weighting coefficient of the distortion model depending on the subband b. For convenience of explanation, the notation of the symbol shown in the above formula (1) is slightly different from that in the reference A.
[0049]
For rate / distortion optimization, this distortion measure Di (z)Optimization processing is performed so as to minimize the total amount in the subband b [i]. Weighting factor G for subband bbRepresents weighting for reducing image distortion.
[0050]
Weighting factor G for subband bbIs calculated according to the following equation (2).
[0051]
[Expression 2]
Figure 0003989788
[0052]
Here, in the above equation (2), sb[N] indicates a one-dimensional synthesis filter coefficient of subband b. The symbol || x || indicates a norm related to the vector x.
[0053]
According to the equations (4.39) and (4.40) described in the reference A, the one-dimensional synthesis filter coefficient s of the low-frequency component L1 at the decomposition level 1L [1][N] and the 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 0003989788
[0055]
Here, in the above formula (3), g0[N] is a low-pass filter coefficient of a forward transform filter for dividing an image signal into bands, g1[N] indicates the high-pass filter coefficient, respectively.
[0056]
Further, 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 the 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]
[Expression 4]
Figure 0003989788
[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 0003989788
[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 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. The two-dimensional weighting factor G of the band component bbCan also be expressed as a product of one-dimensional weighting factors. Specifically, the two-dimensional synthesis filter coefficient and the two-dimensional weighting coefficient are calculated according to the following equation (6).
[0062]
[Formula 6]
Figure 0003989788
[0063]
In the above formula (6), the subscript LL [D] indicates the subband LLD, and HL [d], LH [d], and HH [d] indicate the subbands HLd, LHd, and HHd, respectively.
[0064]
Weight coefficient GbIs the norm. Tables 1 to 4 below show the two-dimensional weighting factor GbThe calculation result about is shown. Table 1 shows the numerical value of the norm of each band component of the (9, 7) filter (9 × 7 tap filter), and Table 2 shows the numerical value of the norm corresponding to Table 1. Table 3 shows the norm square value of each band component of the (5, 3) filter (5 × 3 tap filter), and Table 4 shows the norm value corresponding to Table 3.
[0065]
[Table 1]
Figure 0003989788
[0066]
[Table 2]
Figure 0003989788
[0067]
[Table 3]
Figure 0003989788
[0068]
[Table 4]
Figure 0003989788
[0069]
Furthermore, 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 this 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 is an integer of 1 or more) is “2n-3× α ”, the set values of the band components HLn and LHn are“ 2 ”n-2× α ”, the set value of the band component LLn is“ 2 ”n-1Xα ”. Therefore, for example, the set value of the band component LH1 is “2”.-1× α ”.
[0070]
If the set value is compared with the norm values shown in Tables 2 and 4, they are approximately approximate. 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), about 0.98 (HL1, LH1), It is about 1.96 (HL2, LH2, HH3), about 3.93 (HL3, LH3), and about 7.86 (LL3), and these set values are close to the norm values shown in Table 2. I understand.
[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 to the left by 1 bit, that is, all set values are 21It can be seen that the exponent of the power value of 2 multiplied by 2 matches the priority value shown in FIG. Therefore, setting the priority to each band component as in the first embodiment approximately means that the norm (square root of the weighting factor) of the filter used in the rate / distortion optimization is the sample value of each band component ( Equivalent to multiplying (conversion coefficient value). Accordingly, the priority of the present embodiment is set so as to reduce image distortion.
[0072]
Priority setting process (second embodiment).
Next, a second embodiment of the priority setting method will be described. In the present embodiment, the weight coefficient G of each band componentbA value obtained by dividing the norm, which is the square root of, by the norm of the lowest frequency component LL at the highest decomposition level is rounded to a power value of 2, and the absolute value of the exponent of the power value of 2 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 component is x, a function related to a variable y rounded to the power of 2 is R [y], and the variable y 2 power of 2mA function for calculating an index m of m = I [2m] And 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 priority calculated using the norm of the (9, 7) filter shown in Table 2 above. Here, the highest decomposition level is 5, and α = 33.4923. FIG. 7 shows a band division diagram showing the two-dimensional image 28 in which the priorities shown in Table 5 are shown. In the table, “x” means that the priority of the band component is not calculated.
[0074]
[Table 5]
Figure 0003989788
[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 0003989788
[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 priority bits, but 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 executed so as to increase the bit length of the transform coefficient. FIG. 8 is a schematic diagram showing band component conversion coefficients 29, 29,... Shifted to the right by the number of priority bits shown in FIG.
[0078]
Priority setting process (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 the decoded image is good for objective evaluation, but not necessarily good for human visual evaluation. Therefore, the priority setting method of this embodiment employs a weighted priority in consideration of human visual characteristics. This makes it possible to generate a compressed image with high display quality.
[0079]
Chapter 16 of the reference A describes a weighted mean squared error (WMSE) based on CSF (human visual system contrast sensitivity function). According to this description, in order to improve human visual evaluation, it is desirable to modify the above equation (1) into the following equation (7).
[0080]
[Expression 7]
Figure 0003989788
[0081]
Here, in the above formula (7), Wb [i] csfIs called the “energy weighting factor” of subband b [i] and Wb [i] csfThe recommended value for is the 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 document ( Hereinafter referred to as Reference Document B). 9 to 11 show numerical values of “energy weighting factor” described in Reference Document B. FIG.
[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” is 1000 and 1700. , 2000, 3000, 4000 examples are shown. "Viewing distance 1000", "Viewing distance 1700", "Viewing distance 2000", "Viewing distance 3000", and "Viewing distance 4000" are 10 displays or printed materials of 100 dpi, 170 dpi, 200 dpi, 300 dpi, and 400 dpi, respectively. The viewing distance when viewed from an inch away.
[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 calculated using the numerical values shown in FIG. 9 (9, 7), and black and white values for the filter. Tables 10 to 12 are calculated using the numerical values shown in FIGS. 10 and 11 (9 7) Filter color values, Tables 13 to 15 calculated using the values shown in FIG. 9, (5, 3) Filter black and white values, Tables 16 to 18 are shown in FIG. The numerical values for the color of the (5, 3) filter calculated using the numerical values shown in FIG.
[0084]
[Table 7]
Figure 0003989788
[0085]
[Table 8]
Figure 0003989788
[0086]
[Table 9]
Figure 0003989788
[0087]
[Table 10]
Figure 0003989788
[0088]
[Table 11]
Figure 0003989788
[0089]
[Table 12]
Figure 0003989788
[0090]
[Table 13]
Figure 0003989788
[0091]
[Table 14]
Figure 0003989788
[0092]
[Table 15]
Figure 0003989788
[0093]
[Table 16]
Figure 0003989788
[0094]
[Table 17]
Figure 0003989788
[0095]
[Table 18]
Figure 0003989788
[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 relating to the variable y rounded to the power of 2 is R [y], and the variable y of 2 Width power 2mA function for calculating an index m of m = I [2m] And 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 Table 19 to Table 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 shown in Tables 7, 8, and 8, respectively. Table 9, Table 10, Table 11, Table 12, Table 13, Table 14, Table 15, Table 16, Table 17, and Table 18 are used for calculation.
[0098]
[Table 19]
Figure 0003989788
[0099]
[Table 20]
Figure 0003989788
[0100]
[Table 21]
Figure 0003989788
[0101]
[Table 22]
Figure 0003989788
[0102]
[Table 23]
Figure 0003989788
[0103]
[Table 24]
Figure 0003989788
[0104]
[Table 25]
Figure 0003989788
[0105]
[Table 26]
Figure 0003989788
[0106]
[Table 27]
Figure 0003989788
[0107]
[Table 28]
Figure 0003989788
[0108]
[Table 29]
Figure 0003989788
[0109]
[Table 30]
Figure 0003989788
[0110]
In the present embodiment, as in the second embodiment, the priority is set for the conversion coefficient of each band component by shifting right by the number of bits of the priority shown in Tables 19 to 30 above. The Thereby, the priority which considered the human visual characteristic can be set.
[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 and outputs 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 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 bitstream according to the priority data PS1 acquired from the priority table 6. The encoding target determination unit 30 determines the 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 the scanning area information SA.
[0113]
Hereinafter, a method for determining an encoding target in the encoding target determination unit 30 will be described. FIG. 13 is a schematic diagram illustrating conversion coefficients 33, 33,... Bit-shifted according to priority. Each conversion coefficient 33 is bit-shifted according to the priority. The numbers 0, 1,..., 10 attached to the respective bits of the conversion coefficient 33 indicate the numbers of bit planes to which the bits belong. Here, LSB number = 0 and MSB number = 10.
[0114]
The encoding target determination unit 30 sets the encoding end line 32 according to the image quality parameter QP, determines the higher bits than the encoding end line 32 as the encoding target, and sets the lower bits than the line 32 as the encoding target. The scanning area information SA is generated so as to be excluded from the above. This makes it possible to efficiently select the encoding target. As a result, the code amount control unit 11 that has received the scanning area information SA scans only the bit plane higher than the encoding end line 32 in each code block, and truncates the bit plane lower than the line 32. become.
[0115]
The encoding target determination unit 30 can further determine the encoding target in units of encoding passes 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 encoded and a restriction on a coding path (CL path, SIG path, and MR path) to be encoded. Table 31 below illustrates image quality parameters QP suitable for an image having a resolution of 2048 × 2560 pixels. Since the resolution of the lowest subband needs to be smaller than 128 × 128 pixels, a resolution level of 5 or higher is required.
[0116]
[Table 31]
Figure 0003989788
[0117]
In Table 31, “Number of bit planes” indicates the number of bit planes subject to truncation of lower bits than the encoding end line 32 shown in FIG. 13, and “Path name” indicates the last encoding pass in the encoding target. 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= 215TenExemplify (Y2Is the binary value Y, XTenRepresents the decimal value X). As shown in Table 31, the final coding pass in the band component LL5 is limited to the CL pass, and the maximum number of passes is limited to 17.
[0119]
The context determination is performed so that the seventh bit of the transform coefficient shown in FIG. 14 belongs to the SIG path or the CL path. If the 8th to 10th upper bits belong to a bit plane composed of only 0 bits, they are encoded by a method called a tag tree, and the encoding pass has already started. It is encoded by SIG pass or CL pass. When the seventh bit belongs to the encoding start pass (CL pass), the lower-order bits including the sixth bit are context-determined so as to belong to the MR pass. In general, bit planes lower than the encoding start bit plane are encoded in the order of the 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, since the first bit belongs to the MR path, it does not enter the encoding target. Therefore, the lower 2 bits are truncated, and the value after truncation is "000110101002= 212Ten"If this value is dequantized at midpoint," 000110101102= 214Ten"Become.
[0120]
Next, FIG. 15 shows “00000001111” as the conversion coefficient 33 of the band component LL5.2= 15TenThe third bit of the transform coefficient belongs to the SIG path or the CL path. If the fourth to tenth upper bits belong to a bit plane consisting of only 0 bits, a tag tree (Tag tree) If the third bit belongs to the coding start pass (CL pass), the second bit is set to the SIG pass or the CL pass. 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. The value after truncation is “00000001111”.2= 15Ten"If this value is dequantized," 000000011112= 15Ten"Become.
[0121]
Next, FIG. 16 shows “00001011111” as the conversion coefficient 33 of the band component HH2.2= 95Ten“As an example, as shown in Table 31, the final coding pass in the band component HH2 is limited to the SIG pass, and the maximum number of passes is 14. The bit planes of the lower 3 bits are discarded.
[0122]
The sixth bit of the transform coefficient belongs to the SIG path or CL path. The seventh to the tenth upper bits are encoded with a tag tree if they belong to a bit plane consisting of only 0 bits, and if the encoding pass has already started, the SIG pass or Encoded with CL path. When the sixth bit belongs to the encoding start pass (CL pass), the lower bits including the fifth bit belong to the MR pass. Also, because of the limitation that encoding is performed only up to the SIG pass of the third bit plane, 8 passes from the CL pass of the 6th bit to the SIG pass of the 4th bit are encoded, but the 3rd bit is the MR pass. Because it belongs to, it does not enter the encoding target. Therefore, the value after truncation is "000010100002= 80Ten"If this value is dequantized at midpoint," 000010110002= 88Ten"Become.
[0123]
Each bit plane is encoded in the order of the SIG pass, MR pass, and CL pass because the encoding efficiency with respect to the distortion of the SIG pass is the highest. FIG. 17 shows rate / distortion characteristics in each coding pass. Point P in the RD curve1~ P2Is the SIG path, point P2~ PThreeIs the MR path, point PThree~ PFourIndicates the CL path. Ratio of distortion ΔD to rate (code amount) in each coding passSIG/ ΔRSIG, ΔDMR/ ΔRMR, ΔDCL/ ΔRCLAs can be seen, 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 the transform coefficient is to be encoded with respect to the transform coefficient bit-shifted according to the priority. Since only the encoding target is selected, it is possible to efficiently control the code amount so that a high-quality compressed image with little distortion can be generated.
[0125]
Code amount control processing.
Next, processing contents of the code amount control unit 11 shown in FIG. 2 will be described. The code amount control unit 11 calculates a subtotal of the capacity of the compressed encoded data included in the input bitstream in band component units, bit plane units, and encoding pass units.
[0126]
The code amount control unit 11 calculates a truncation point so as to match the target code amount from a code string generated by rearrangement in the scanning order described below. Next, the code amount control unit 11 outputs the read control signal CS1 to the MMU 3 so as to read the code string before the cut-off point in the code string.
[0127]
18 and 19 are diagrams for explaining an example of the scanning order and the cut-off points. 18 and 19 show transform coefficients 33, 33,... Bit-shifted according to priority according to the same rules as shown in FIG.
[0128]
As shown by the arrows in FIG. 18, the transform coefficients 33, 33,... Are in bit-plane units or coding pass units in the order of priority (from the upper bit to the lower bit) and at the same priority. Rearranged in the scanning order from the high frequency side to the low frequency side. In general, as the lower bit plane is encoded, the MR path ratio 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 a truncation point so that the actual code amount (number of bytes) is less than or equal to the target code amount (number of bytes), and the lower order included in the code string after the truncation 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 subband HL3 is determined as the truncation point in accordance with the target code amount, the bit indicated by the arrow is truncated.
[0130]
20 is a diagram illustrating a code string rearranged in units of bit planes, and FIG. 21 is a diagram illustrating a code string rearranged in units of coding passes. In FIG. 20, codes LL5, HL5,... Indicating subbands and bit plane numbers 10, 9,. The bit plane after the line 44 attached to the second bit plane of the subband HL3 is discarded.
[0131]
21, for each coding pass, codes CL, SIG, MR indicating the type of coding pass, codes LL5, HL5,... Indicating subbands, bit plane numbers 10, 9,. Is attached. The bit planes after the line 44 attached to the MR path of the second bit plane of the subband HL3 are discarded.
[0132]
As described above, according to the code amount control process according to the present embodiment, it is not necessary to use the distortion amount in each encoding pass for the rate / distortion optimization process, and the real time performance is high and the overhead is low. 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. The layer division control unit 7 uses the priority data PS2 acquired from the priority table 6 to convert the compressed encoded data included in the input bitstream into a code string that is bit-shifted by the number of bits corresponding to the priority, It has a control function for dividing the code string into a plurality of layers (multi-layer).
[0134]
  Hereinafter, the layer division process will be described. The MMU 3 temporarily stores the input bit stream in the large-capacity storage device 2. The layer division control unit 7MMU3To obtain the data structure information DS of the compressed encoded data. Next, the layer division control unit 7 acquires the priority data PS2 from the priority table 6, and in accordance with the priority included in the priority data PS2, the conversion coefficient of each band component of the compressed encoded data is a predetermined number of bits. Shift. Thereby, a priority is set with respect to the conversion coefficient of each band component. As a priority setting method, the methods of the first, second, and third embodiments described above may be employed.
[0135]
  FIG. 22 shows the transform coefficient shifted by the number of bits corresponding to the priority.45, 45FIG. Conversion coefficient of each band component LL5 to HH145, 45,... Are right bit shifted or left bit shifted by the number of priority bits. Further, numbers 0, 1,..., 10 attached to the respective bits of each conversion coefficient 44 indicate the numbers of bit planes to which the bits belong. Here, LSB number = 0 and MSB number = 10.
[0136]
Next, the layer division control unit 7 determines a division position based on the layer division information so that the bit-shifted encoded data is grouped into a plurality of layers in bit plane units or encoding pass units. The layer division information includes selection information for selecting either a single layer or a multi-layer, information for specifying a layer division position in bit plane units or encoding pass units, and the like. In the example of FIG. 22, a division position where the compression encoded data is divided into five layers 0 to 4 in units of bit planes is shown. Then, the layer division control unit 7 supplies the MMU 3 with a read control signal CS2 for reading data in units of layers according to the division position. The MMU 3 reads the data OD stored in the storage device 2 in order from the upper layer to the lower layer in accordance with the read control signal CS2, and outputs the data OD to the multiplexing unit 5.
[0137]
In the layer division processing described above, the priority is set by shifting each band component by the number of bits corresponding to the priority. By dividing the bit-shifted band component into a plurality of layers in this way, it is possible to efficiently generate a plurality of layers in bit plane units or coding pass units so that distortion with respect to the 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 that the distortion can be reduced.
[0138]
【The invention's effect】
As described above, according to the code amount control apparatus 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 according to the number of bits to be shifted. Since the priority of the components is determined, it is possible to efficiently specify the encoding target in accordance with 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 perform the code amount control so as to realize a 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, the code amount can be finely and efficiently controlled for each coding pass in accordance with the target image quality.
[0142]
According to the fifth, sixth, and thirteenth and fourteenth aspects, the code amount control of the compression encoded data is efficiently performed according to the priority set for each band component without decoding the compression encoded data. It is possible. In addition, it is possible to perform code amount control with high real-time characteristics so that distortion can be suppressed without necessarily using rate / distortion optimization.
[0143]
According to the seventh and fifteenth aspects, since the band component bit-shifted according to the priority is divided into a plurality of layers, the plurality of layers can be efficiently generated so as to reduce distortion with respect to the rate. Is possible.
[0144]
According to the eighth and sixteenth aspects, it is possible to generate a compressed image having high display image quality suitable for human visual evaluation.
[Brief description of the drawings]
FIG. 1 is a functional block diagram showing a schematic configuration of a code amount control apparatus 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 apparatus shown in FIG. 1;
FIG. 3 is a schematic diagram illustrating a two-dimensional image obtained by band division according to an octave division method.
FIG. 4 is a diagram for explaining priority setting processing by bit shift.
FIG. 5 is a diagram illustrating bit-shifted transform coefficients.
FIG. 6 is a schematic diagram showing a two-dimensional image obtained by band division by wavelet transform.
FIG. 7 is a schematic diagram showing a two-dimensional image obtained by band division by wavelet transform.
8 is a schematic diagram showing band component conversion coefficients that are right-bit shifted in accordance with the priorities shown in FIG.
FIG. 9 is a diagram illustrating a numerical table of energy weighting factors.
FIG. 10 is a diagram showing a numerical table of energy weighting factors.
FIG. 11 is a diagram showing a numerical table of energy weighting factors.
FIG. 12 is a functional block diagram illustrating a schematic configuration of an image quality control unit according to the present embodiment.
FIG. 13 is a schematic view illustrating conversion coefficients bit-shifted according to priority.
FIG. 14 is a diagram for explaining a processing example of a transform coefficient of band component LL5.
FIG. 15 is a diagram for explaining a processing example of a transform coefficient of band component LL5.
FIG. 16 is a diagram for explaining an example of encoding processing of transform coefficients of band component HH2.
FIG. 17 is a diagram showing a curve of rate / distortion characteristics.
FIG. 18 is a diagram for explaining an example of a scanning order.
FIG. 19 is a diagram for explaining an example of truncation points;
FIG. 20 is a diagram illustrating code strings rearranged in units of bit planes.
FIG. 21 is a diagram illustrating code strings that are rearranged in units of coding passes.
FIG. 22 is a schematic diagram illustrating encoded data divided into a plurality of layers.
FIG. 23 is a functional block diagram showing a schematic configuration of a compression encoding apparatus according to the JPEG2000 system.
FIG. 24 is a schematic diagram showing a two-dimensional image band-divided according to an 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 devices
3 MMU
4-bit truncation control unit
5 Multiplexer
6 Priority table
7 Layer division controller
10 Image quality control unit
11 Code amount control unit

Claims (16)

ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御する符号量制御装置であって、
前記圧縮画像データの前記各帯域成分のうち、所定の帯域成分の2次元合成フィルタ係数のノルムを基準として、かつ、再帰的に帯域分割された回数に応じて設定された優先度につき、該優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分から、目標画質に合わせて符号化対象を選択する画質制御部、
を備えることを特徴とする符号量制御装置。
The amount of code of compressed image data that is compressed by entropy encoding the transform coefficient by calculating the transform coefficient of multiple band components by recursively dividing the image signal into high and low frequency components by wavelet transform A code amount control device for controlling
Among the respective band components of the compressed image data, based on the norm of the two-dimensional synthesis filter coefficients in a predetermined band component, and, recursively according to the number of times which is band-divided, per set priority, the An image quality control unit that bit-shifts the band component by the number of bits corresponding to the priority, and selects an encoding target in accordance with the target image quality from the band-shifted band component,
A code amount control apparatus comprising:
ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御する符号量制御装置であって、
前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分から、目標画質に合わせて符号化対象を選択する画質制御部、
を備え、
前記画質制御部は、人間の視覚特性を考慮した重み付けをされた前記優先度を用いる機能を有する、符号量制御装置。
The amount of code of compressed image data that is compressed by entropy encoding the transform coefficient by calculating the transform coefficient of multiple band components by recursively dividing the image signal into high and low frequency components by wavelet transform A code amount control device for controlling
For each band component 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-frequency component, and the bit An image quality control unit that selects an encoding target in accordance with a target image quality from the shifted band component,
With
The code quality control device, wherein the image quality control unit has a function of using the priority weighted in consideration of human visual characteristics.
請求項1または請求項2記載の符号量制御装置であって、前記画質制御部は、前記符号化対象を前記ビットプレーン単位で決定する機能を有する、符号量制御装置。  The code amount control apparatus 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 planes. 請求項1〜3の何れか1項に記載の符号量制御装置であって、
前記画質制御部は、前記符号化対象を前記符号化パス単位で決定する機能を有する、符号量制御装置。
The code amount control apparatus according to any one of claims 1 to 3,
The image quality control unit is a code amount control device having a function of determining the encoding target in units of the encoding pass.
ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御する符号量制御装置であって、
前記圧縮画像データの前記各帯域成分のうち、所定の帯域成分の2次元合成フィルタ係数のノルムを基準として、かつ、再帰的に帯域分割された回数に応じて設定された優先度につき、該優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分の符号化データを所定の走査順序で並べ替えて生成した符号列から、目標符号量に適合する切り捨て点を算出し、当該切り捨て点よりも前の前記符号列を出力させるように制御する符号量制御部、
を備えることを特徴とする符号量制御装置。
The amount of code of compressed image data that is compressed by entropy encoding the transform coefficient by calculating the transform coefficient of multiple band components by recursively dividing the image signal into high and low frequency components by wavelet transform A code amount control device for controlling
Among the respective band components of the compressed image data, based on the norm of the two-dimensional synthesis filter coefficients in a predetermined band component, and, recursively according to the number of times which is band-divided, per set priority, the The band component is bit-shifted by the number of bits corresponding to the priority, and a truncation point that matches the target code amount is generated from a code string generated by rearranging the bit-shifted encoded data of the band component in a predetermined scanning order. And a code amount control unit for controlling to output the code string before the truncation point,
A code amount control apparatus comprising:
請求項5記載の符号量制御装置であって、
前記符号量制御部は、前記符号化データを、前記優先度の高い順に且つ同一の前記優先度においては高域側から低域側に向けた前記走査順序で並べ替えて前記符号列を生成する、符号量制御装置。
The code amount control device according to claim 5,
The code amount control unit rearranges the encoded data in the order of higher priority and in the same priority, in the scanning order from the high frequency side to the low frequency side to generate the code string. Code amount control device.
請求項1〜6の何れか1項に記載の符号量制御装置であって、
前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分を複数のレイヤーに分割するように制御するレイヤー分割制御部、
を更に備える符号量制御装置。
The code amount control device according to any one of claims 1 to 6,
For each band component 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-frequency component, and the bit A layer division control unit for controlling the shifted band component to be divided into a plurality of layers;
A code amount control device further comprising:
請求項7記載の符号量制御装置であって、
前記レイヤー分割制御部は、人間の視覚特性を考慮した重み付けをされた前記優先度を用いる機能を有する、符号量制御装置。
The code amount control device according to claim 7,
The layer division control unit has a function of using the priority weighted in consideration of human visual characteristics.
ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御するためのプログラムであって、
前記圧縮画像データの前記各帯域成分のうち、所定の帯域成分の2次元合成フィルタ係数のノルムを基準として、かつ、再帰的に帯域分割された回数に応じて設定された優先度につき、該優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分から、目標画質に合わせて符号化対象を選択する画質制御部として、
マイクロプロセッサを機能させることを特徴とするプログラム。
The amount of code of compressed image data that is compressed by entropy encoding the transform coefficient by calculating the transform coefficient of multiple band components by recursively dividing the image signal into high and low frequency components by wavelet transform A program for controlling
Among the respective band components of the compressed image data, based on the norm of the two-dimensional synthesis filter coefficients in a predetermined band component, and, recursively according to the number which has been band-split, per set priority, the As an image quality control unit that bit-shifts the band component by the number of bits corresponding to the priority, and selects an encoding target in accordance with the target image quality from the band-shifted band component,
A program characterized by causing a microprocessor to function.
ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御するためのプログラムであって、
前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分から、目標画質に合わせて符号化対象を選択する画質制御部として、
マイクロプロセッサを機能させ、
前記画質制御部は、人間の視覚特性を考慮した重み付けをされた前記優先度を用いるように前記マイクロプロセッサを機能させることを特徴とするプログラム。
The amount of code of compressed image data that is compressed by entropy encoding the transform coefficient by calculating the transform coefficient of multiple band components by recursively dividing the image signal into high and low frequency components by wavelet transform A program for controlling
For each band component 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-frequency component, and the bit As an image quality control unit that selects an encoding target in accordance with the target image quality from the shifted band component,
Make the microprocessor work,
The image quality control unit, a program in which said to function the microprocessor to use the priority that has been weighted in consideration of human visual characteristics.
請求項9または請求項10記載のプログラムであって、前記画質制御部は、前記符号化対象を前記ビットプレーン単位で決定するように前記マイクロプロセッサを機能させるプログラム。  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 planes. 請求項9〜11の何れか1項に記載のプログラムであって、前記画質制御部は、前記符号化対象を前記符号化パス単位で決定するように前記マイクロプロセッサを機能させるプログラム。  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 encoding pass. ウェーブレット変換により画像信号を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を算出し、該変換係数をエントロピー符号化して圧縮された圧縮画像データの符号量を制御するためのプログラムであって、
前記圧縮画像データの前記各帯域成分のうち、所定の帯域成分の2次元合成フィルタ係数のノルムを基準として、かつ、再帰的に帯域分割された回数に応じて設定された優先度につき、該優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分の符号化データを所定の走査順序で並べ替えて生成した符号列から、目標符号量に適合する切り捨て点を算出し、当該切り捨て点よりも前の前記符号列を出力させるように制御する符号量制御部として、
マイクロプロセッサを機能させることを特徴とするプログラム。
The amount of code of compressed image data that is compressed by entropy encoding the transform coefficient by calculating the transform coefficient of multiple band components by recursively dividing the image signal into high and low frequency components by wavelet transform A program for controlling
Among the respective band components of the compressed image data, based on the norm of the two-dimensional synthesis filter coefficients in a predetermined band component, and, recursively according to the number of times which is band-divided, per set priority, the The band component is bit-shifted by the number of bits corresponding to the priority, and a truncation point that matches the target code amount is generated from a code string generated by rearranging the bit-shifted encoded data of the band component in a predetermined scanning order. As a code amount control unit that controls to output the code string before the truncation point,
A program characterized by causing a microprocessor to function.
請求項13記載のプログラムであって、
前記符号量制御部は、前記符号化データを、前記優先度の高い順に且つ同一の前記優先度においては高域側から低域側に向けた前記走査順序で並べ替えて前記符号列を生成するように前記マイクロプロセッサを機能させるプログラム。
14. The program according to claim 13, wherein
The code amount control unit rearranges the encoded data in the order of higher priority and in the same priority, in the scanning order from the high frequency side to the low frequency side to generate the code string. A program for causing the microprocessor to function.
請求項9〜14の何れか1項に記載のプログラムであって、
前記圧縮画像データの前記各帯域成分に対して、前記低域成分に再帰的に帯域分割された回数に応じて設定された優先度に対応するビット数だけ当該帯域成分をビットシフトすると共に、ビットシフトした前記帯域成分を複数のレイヤーに分割するように制御するレイヤー分割制御部として、
前記マイクロプロセッサを機能させるプログラム。
The program according to any one of claims 9 to 14,
For each band component 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-frequency component, and the bit As a layer division control unit for controlling the shifted band component to be divided into a plurality of layers,
A program for causing 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 JP2004064115A (en) 2004-02-26
JP2004064115A5 JP2004064115A5 (en) 2005-10-27
JP3989788B2 true 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)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4045544B2 (en) 2003-04-14 2008-02-13 ソニー株式会社 Encoding apparatus and encoding method
JP4599080B2 (en) 2004-04-02 2010-12-15 ソニー株式会社 Image encoding method, imaging apparatus, and computer program
JP4789148B2 (en) * 2005-09-06 2011-10-12 株式会社メガチップス Compression encoding apparatus, compression encoding method and program
US7916961B2 (en) * 2005-09-06 2011-03-29 Megachips Corporation Compression encoder, compression encoding method and program
JP5469127B2 (en) * 2011-05-30 2014-04-09 富士フイルム株式会社 Image data encoding apparatus, operation control method thereof, and program thereof
CN114095727B (en) * 2021-11-17 2023-08-04 安徽大学 JPEG image coding optimization method based on evolution calculation

Also Published As

Publication number Publication date
JP2004064115A (en) 2004-02-26

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
JP4191592B2 (en) Compression encoding apparatus, compression encoding method and program
JP4789148B2 (en) Compression encoding apparatus, compression encoding method and program
JP4273996B2 (en) Image encoding apparatus and method, and image decoding apparatus and method
US10205951B2 (en) Method of signalling motion information for efficient scalable video compression
JP4114534B2 (en) Image coding apparatus and method
WO2001016764A1 (en) System and method for transmitting a digital image over a communication network
JP3989788B2 (en) Code amount control apparatus and program
JP4135617B2 (en) Image coding apparatus and method
JP3989999B2 (en) Data compression system
JP3989787B2 (en) Compression encoding apparatus, compression encoding method and program
JP2004166254A (en) Image encoder and method, program and recording medium
JP4532518B2 (en) Image processing apparatus and image processing method
JP3989786B2 (en) Compression encoding apparatus, compression encoding method and program
JP4166530B2 (en) Image processing device
JP2000201353A (en) Image encoding method, image encoder and storage medium in which image encoding program is stored
JP4379527B2 (en) Encoding apparatus and method
JP4367113B2 (en) Image coding apparatus and method
Omaki et al. Embedded zerotree wavelet based algorithm for video compression
JP2002135781A (en) Image encoding apparatus, image decoding apparatus methods for them and recording medium
AU2003260192B2 (en) Method of signalling motion information for efficient scalable video compression
Lee et al. DOCUMENT CODEC BASED ON SEGMENTATION AND BITPLANE CODING
Choraś JPEG 2000 Image Coding Standard-A Review and Applications

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