JP4771288B2 - データ処理装置及びプログラム - Google Patents
データ処理装置及びプログラム Download PDFInfo
- Publication number
- JP4771288B2 JP4771288B2 JP2006102023A JP2006102023A JP4771288B2 JP 4771288 B2 JP4771288 B2 JP 4771288B2 JP 2006102023 A JP2006102023 A JP 2006102023A JP 2006102023 A JP2006102023 A JP 2006102023A JP 4771288 B2 JP4771288 B2 JP 4771288B2
- Authority
- JP
- Japan
- Prior art keywords
- quantization
- data
- unit
- prediction
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
- H04N19/194—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
上記目的を達成するために、本発明にかかるデータ処理装置は、符号化対象となる入力データと、この入力データの予想データとを比較し、入力データと予測データとが一致したことを示す一致情報、及び、入力データと予測データとの差分を示す予測誤差を中間データとして生成する中間データ生成手段と、前記中間データ生成手段により生成された中間データを符号データに変換する符号化手段と、前記中間データ生成手段により算出された予測誤差の分布情報を生成し、予測誤差の分布情報に基づいて、前記符号化手段により生成される符号データの符号量を評価する符号量評価手段とを有し、前記符号化手段は、予測誤差が既定の許容誤差の範囲内である場合に予測誤差を0とみなして生成された中間データを符号化し、複数の許容誤差それぞれが適用される場合の予測誤差値と予測誤差の分布情報との関係を示す近似情報を、それぞれの許容誤差に対応付けて記憶する近似情報保持手段と、前記近似情報保持手段により保持されている近似情報と、前記符号量評価情報により生成された予測誤差の分布情報とに基づいて、適用すべき許容誤差を算出する許容誤差算出手段とをさらに有する。
また、本発明にかかるプログラムは、符号化対象となる入力データと、この入力データの予想データとを比較し、入力データと予測データとが一致したことを示す一致情報、及び、入力データと予測データとの差分を示す予測誤差を中間データとして生成する中間データ生成ステップと、生成された中間データを符号データに変換する符号化ステップと、算出された予測誤差の分布情報を生成し、予測誤差の分布情報に基づいて、生成される符号データの符号量を評価する符号量評価ステップとをコンピュータに実行させるプログラムであって、前記符号化ステップは、予測誤差が既定の許容誤差の範囲内である場合に予測誤差を0とみなして生成された中間データを符号化し、複数の許容誤差それぞれが適用される場合の予測誤差値と予測誤差の分布情報との関係を示す近似情報を、それぞれの許容誤差に対応付けて記憶する近似情報保持ステップと、保持されている近似情報と生成された予測誤差の分布情報とに基づいて、適用すべき許容誤差を算出する許容誤差算出ステップとをさらにコンピュータに実行させる。
符号化処理は、入力データを中間データに変換するソースコーダと、中間データを符号データに変換するエントロピーコーダとによって実現される。また、符号量とは、エントロピーコーダの出力データ量である。
符号量を既定値以下に制限したい場合がある。しかしながら、可逆な符号化処理では、圧縮率に限界があるため、量子化処理などを用いた非可逆な符号化方式(例えば、JPEG)が用いられている。
非可逆な符号化方式とは、入力データ又は中間データを非可逆に変更して、これらの情報量を減少させ、符号化効率を向上させるものである。しかしながら、このような非可逆処理(例えば、量子化処理)は、データの劣化(例えば、画質の低下)を伴う。
したがって、データの劣化を最小限に抑えながら所望の圧縮率を実現するためには、量子化処理などの非可逆処理を行わない場合、又は、所定の非可逆処理を行った場合の符号量を評価して、必要十分な非可逆処理をさがす必要がある。例えば、カットアンドトライによって、実際の符号データのデータ量を評価しながら、量子化処理の程度を規定する量子化パラメータが決定されている。
本例では、符号量の評価結果に応じた符号化処理を説明する。
JPEG方式は、エントロピーコーダに2次元ハフマン(Huffman)符号化を採用している。2次元ハフマン符号化は、ゼロ係数(ゼロの値を有するDCT係数)をランレングス符号化し、非ゼロ係数(ゼロ以外の値を有するDCT係数)をハフマン符号化する働きがある。したがって、JPEG方式により生成される符号データの符号量は、非ゼロ係数の個数に依存することが予想される。
図1(A)に示されたグラフは、同一画像において量子化パラメータ(スケーリングファクタ)を変更した場合の実測値をプロットしたものである。
図1(A)に示すように、非ゼロ係数の個数とほぼ比例して符号量が変化することがわかる。
そこで、変換符号化方式を用いる場合には、データ処理装置2は、変換係数(中間データ)のうち、非ゼロ係数の個数の統計値(全個数、出現確率など)を算出し、算出された統計値に基づいて、符号量を評価する。
なお、非ゼロ係数の個数をカウントするためには、中間データ列をメモリに格納することになるが、このような処理は、エントロピー符号化を最適化するために一般的に行われる処理なので、特別なオーバーヘッドにはならない。例えば、JPEG方式は、ハフマン符号を最適化するために、変換係数列をメモリに蓄積し、その統計量に基づいてハフマン符号を最適設計する。
すなわち、予測符号化方式のうち、単純なランレングス符号化方式又はLZ符号化方式のようにランレングスを使う符号化方式などでは、ランがどれくらい"とれないか"、つまり予測がどのくらい外れるかが符号量に影響することが考えられる。
例えば、複数の予測方法が設けられた符号化方式の場合、非ラン画素(全ての予測が外れた画素)の個数が符号量に影響することが考えられる。
図1(B)に示されたグラフは、8種類の画像において量子化パラメータ(解像度パラメータ)を変更した場合の実測値をプロットしたものである。
図1(B)に示すように、画像によって定量的な符号量の違い(上下のずれ)はあるが、同一画像においては強い相関を示す。
そこで、予測符号化方式を用いる場合には、データ処理装置2は、入力データと予測データとの一致情報から、予測外れの出現頻度を算出し、算出された予測外れの出現頻度に基づいて、符号量を評価する。
また、予測符号化方式におけるエントロピー符号化は、2つの単位で処理を行う。つまり、(1)非ラン画素の1画素単位処理、及び、(2)ラン画素のラン単位処理、の2つである。本例では、支配的である(1)だけを考慮して符号量を評価しているが、(2)を考慮するためにランの個数(ラン長ではなく)をも用いて符号量を評価してもよい。
まず、本実施形態におけるデータ処理装置2のハードウェア構成を説明する。
図2は、本発明にかかるデータ処理方法が適応されるデータ処理装置2のハードウェア構成を、制御装置20を中心に例示する図である。
図2に例示するように、データ処理装置2は、CPU202及びメモリ204などを含む制御装置20、通信装置22、HDD・CD装置などの記録装置24、並びに、LCD表示装置あるいはCRT表示装置及びキーボード・タッチパネルなどを含むユーザインターフェース装置(UI装置)26から構成される。
データ処理装置2は、例えば、プリンタ装置10に設けられた処理装置であり、通信装置22又は記録装置24などを介して画像データを取得し、取得された画像データを符号化する。
図3は、制御装置20(図2)により実行され、本発明にかかるデータ処理方法を実現する符号化プログラム5の機能構成を例示する図である。
図2に例示するように、符号化プログラム5は、周波数変換部500、量子化部510、符号量評価部520、量子化制御部530、変換係数バッファ540、及びハフマン符号化部550を有する。
本例の周波数変換部500は、入力された画像データに対して離散コサイン変換(DCT)を施して、8×8のDCT係数を生成する。
本例の量子化部510は、図4に例示する量子化テーブルを用いて、8×8のDCT係数を量子化する。より具体的には、量子化部510は、8×8のDCT係数の値を、量子化テーブル(図4)の対応する量子化係数で除算し、その商を量子化後のDCT係数とする。
より具体的には、符号量評価部520は、変換係数のうち、ゼロ以外の値を有する変換係数(非ゼロ係数)の個数の統計値(非ゼロ係数の全個数、出現確率など)を算出し、算出された統計値に基づいて、符号量を推定する。
本例の符号量評価部520は、生成されたDCT係数の中から、非ゼロ係数の個数をカウントし、図1(A)に示したグラフの近似式を用いて、非ゼロ係数の個数に対応する符号量を算出する。
また、本例の符号量評価部520は、図1(A)に示したグラフの近似式を用いて、所望の符号量に対応する非ゼロ係数の個数を算出する。
本例の量子化制御部530は、符号量評価部520により推定された符号量が所望の符号量以下である場合には、変換係数をそのままハフマン符号化するよう変換係数バッファ540に指示し、推定された符号量が所望の符号量を超える場合には、量子化部510に対して変換係数を再量子化するよう指示する。
本例の量子化制御部530は、所望の符号量に対応する非ゼロ係数の個数が符号量評価部520により算出されると、算出された非ゼロ係数の個数を実現する量子化パラメータを決定し、決定された量子化パラメータを量子化部510に設定する。より具体的には、本例の量子化制御部530は、所望の符号量に対応する非ゼロ係数の個数を実現するようなスケーリングファクタを算出する。
図4に例示するように、8×8のブロックの位置によって量子化係数が異なる。すなわち、本図に例示されている量子化テーブルは、推奨量子化テーブルであり、高域に行くほど量子化を粗くするために、高域の量子化係数は、低域(例えば、DC成分)よりも大きな値を有する。
本例の量子化部510は、図4に例示する量子化テーブルの各係数に対して、量子化制御部530により設定されたスケーリングファクタを乗じて、各DCT係数に適用すべき量子化係数を決定し、決定された各量子化係数で各DCT係数を除算する。
スケーリングファクタ(図中のSF)が大きくなるに従って(すなわち、量子化間隔が広がるに従って)、量子化後の変換係数の分布は、ゼロ値の方向に移動していく。
例えば、SF=10/50と、SF=50/50とを比較すると、量子化係数が5倍違うので、スケーリングファクタが10/50である場合に0から2に存在した変換係数値は、スケーリングファクタが50/50になると、0に量子化される。厳密には、量子化テーブルを整数化する必要があるので、誤差が含まれることがある。
これは、図5(B)に例示する量子化間隔を見れば明らかである。
このように、符号量評価部520は、より低圧縮の量子化結果(変換係数の分布)に基づいて、より高圧縮の量子化で得られる変換係数の分布(すなわち、非ゼロ係数の個数、又は、符号量)を推定することができる。
図5(B)に例示するように、量子化係数が1動いても、切上げ又は切下げの閾値は、0.5しか動かないので、量子化係数が2倍になっても量子化後の値が1/2になるとは限らない。例えば、1.2の変換係数は、量子化係数が1でも2でも量子化すると1になる。換言すると、量子化係数1の場合に量子化区間1に含まれる各変換係数(0.5〜1.5)は、量子化係数2で量子化されると、量子化区間0に含まれるのか、量子化区間1に含まれることになるのを推定することができない。
したがって、符号量評価部520は、量子化係数を奇数倍した場合の符号量(変換係数の分布、又は、非ゼロ係数の個数)を推定することにより、より高い精度の推定を実現することができる。
次に、データ処理装置2(符号化プログラム5)の全体動作を説明する。
図6は、符号化プログラム5(図3)による符号化処理(S10)のフローチャートである。
図6に示すように、ステップ100(S100)において、周波数変換部500(図3)は、外部から、画像データが入力されると、入力された画像データを8×8の画像ブロックに分割し、分割された各画像ブロックに対して離散コサイン変換を施して、8×8ブロックのDCT係数を生成し、生成されたDCT係数を量子化部510に出力する。
なお、量子化制御部530は、入力された画像データに対する最初の量子化処理に対しては、最小のSFを初期値として設定する。
量子化制御部530は、符号量評価部520から入力された非ゼロ係数の個数(目標値)と、DCT係数のヒストグラムとに基づいて、適用すべきスケーリングファクタを決定し、決定されたスケーリングファクタを量子化部510に設定する。
符号化プログラム5は、S105の処理に戻り、新たに設定されたスケーリングファクタを用いて、DCT係数の量子化を行い、量子化後のDCT係数に基づいて符号量の推定を行う。
変換係数バッファ540は、量子化部510から入力されたDCT係数(最新のDCT係数)をハフマン符号化部550に出力する。
ハフマン符号化部550は、変換係数バッファ540から入力されたDCT係数をハフマン符号で符号化し、外部に出力する。
これにより、ハフマン符号化処理を繰り返すことなく、所望の符号量制御が可能になる。
以下、上記実施形態の変形例を説明する。
上記実施形態では、スケーリングファクタを奇数倍でのみ変化させることにより、変換係数の分布を高精度に推定していたが、これに限定されるものではなく、例えば、スケーリングファクタを偶数倍又は実数倍した場合の変換係数の分布を推定してもよい。
図7は、スケーリングファクタを偶数倍した場合の変換係数の分布を推定する方法を説明する図である。
図7(A)に示すように、スケーリングファクタを偶数倍又は実数倍した場合、新たなスケーリングファクタによる量子化区間の境界が元の量子化区間の境界と重ならないため、元の量子化区間に属する変換係数が、新たなスケーリングファクタによる量子化でいずれの量子化区間に組み込まれるか推定できない。
そこで、本変形の符号量評価部520は、新たな量子化区間の境界と重なる元の量子化区間(図7(B)の量子化区間1)が存在する場合には、この量子化区間に含まれる変換係数の個数を、図7(C)に例示するように、新たな量子化区間に分配する。
具体的には、符号量評価部520は、変換係数の頻度値を離散値でなく連続補間してから、新たな量子化区間の頻度値を算出する。なお、連続補間は、線形補間のほか、多次補間やスプライン補間などであってもよい。
上記実施形態では、1つの量子化部510が設けられているが、変形例2では、図8に例示するように、2つの量子化部(第1量子化部512及び第2量子化部514)が設けられている。
図8に例示する第1量子化部512は、既定のスケーリングファクタ(比較的小さなSF)によって量子化(すなわち、よりゆるい量子化)を行い、第2量子化部514は、所望の符号量を得られるようなスケーリングファクタによって量子化を行う。第2量子化部514による量子化は、第1量子化部512によりもきつい量子化(非可逆性の大きな量子化)となる。
また、本変形例では、第1量子化部512により量子化された変換係数が、第2量子化部514によって重畳的に量子化される。
このように、符号化プログラム52が第1量子化部512及び第2量子化部514を有することにより、1パスで符号量制御を行うことができる。
そして、第2量子化部514は、8×8ブロック内の位置毎に、量子化係数を設定する。これにより、任意の量子化係数に対して、非ゼロ係数の個数を見積もることが可能となる。なお、第1量子化部512の量子化係数を全て0.5にしてもよい。この場合、変換係数の分布が誤差なしに推定できる。
また、量子化制御部530は、量子化の度合いに応じて、非線形に量子化テーブルを算出するようなアルゴリズムを備えていてもよい。例えば、量子化が激しくなると低域の誤差が知覚しやすくなるので、量子化制御部530は、全体の量子化係数が大きくなる場合に、高域の量子化係数をより大きくするようなアルゴリズムで量子化テーブルを生成することが好ましい。
上記実施形態では、画像データを符号データに変換する形態を説明したが、これに限定されるものではなく、例えば、入力された符号データを再符号化してもよい。
図9は、再符号化プログラム6の機能構成を例示する図である。なお、本図に示された各構成のうち、図8に示された構成と実質的に同一のものには同一の符号が付されている。
図9に例示するように、再符号化プログラム6は、ハフマン復号化部600、符号量評価部520、量子化制御部530、変換係数バッファ540、量子化部514、及びハフマン符号化部550を有する。
再符号化プログラム6において、ハフマン復号化部600は、入力された符号データを復号化して、変換係数を生成し、生成された変換係数を符号量評価部520及び変換係数バッファ540に出力する。
符号量評価部520は、ハフマン復号化部600から入力された変換係数に基づいて、変換係数のヒストグラムを作成し、作成されたヒストグラムを量子化制御部530に出力する。
量子化制御部530は、符号量評価部520により作成された変換係数のヒストグラムに基づいて、所望の符号量を達成する量子化係数を決定し、決定された量子化計数を量子化部514に設定する。
量子化部514は、変換係数バッファ540から入力された変換係数を、量子化制御部530により設定された量子化係数を用いて量子化し、量子化された変換係数をハフマン符号化部550に出力する。
ハフマン符号化部550は、量子化部514により量子化された変換係数をハフマン符号で符号化する。
このように、本例の再符号化プログラム6は、再符号化処理において、中間データ(本例では変換係数)の統計情報に基づいて符号量制御を行うことができる。例えば、プリンタドライバなどで再符号化する場合に本変形例は好適である。
次に、第2の実施形態を説明する。上記実施形態では、本発明を変換符号化方式に適用する形態を説明したが、本実施形態では、本発明を予測符号化方式に適用する形態を説明する。
本実施形態では、被符号化シンボル(中間データ)の統計を使うことでエントロピーコーダの試行をやめることができるが、ソースコーダにおける試行をやめるためには、所望符号量を得る量子化パラメータを推定する必要がある。
そのためには、ソースコーダから出力される中間データ(例えば、予測の的中数、予測誤差の個数)を計数するだけでなく、その分布などから必要な量子化の強さを解析的に予測することが必要になる。
予測符号化方式では、単純なランレングス符号化方式やLZ符号化方式のようにランレングスを使う符号化方式の場合、ランがどれくらい「とれないか」、つまり予測がどのくらい外れるかが符号量に影響する。ここで、予測が的中してランのとれる画素をラン画素、ランのとれない画素を非ラン画素と呼ぶことにする。
本実施形態では、予測が外れて予測誤差が発生した場合でも、閾値以下の誤差であれば誤差0とみなす量子化を具体例として説明する。このタイプの量子化は、国際標準JPEG−LSなどでも採用されている。
このような量子化では、閾値以下の予測誤差は全て0に量子化され、ラン画素になる。したがって、量子化前の予測誤差の分布がわかっていれば、ラン画素と非ラン画素の個数の変化が推定できることになる。
なお、ここで推定可能なのは、非ラン画素の個数の推定であって、測定ではないことに注意する必要がある。つまり、ここでとっている統計は量子化のないとき(あるいは別の量子化が行われたとき)の分布に基づくものであって、実際の量子化が行われるときには量子化された画素値が出現するために、予測誤差の出現頻度分布もその影響を受ける。つまり、推定値は実測値に対してある程度の誤差を含む。
以下、本実施形態をより具体的に説明する。
図10に例示するように、符号化プログラム7は、予備予測部700、符号量評価部710、量子化制御部720、フィルタ処理部730、予測処理部740、及びエントロピー符号化部750を有する。
本例の予備予測部700は、予測処理部740と同一の予測方法を用いて、予測が的中した予測方法を示す予測部ID及びその連続数、並びに、いずれの予測方法も外れた場合に生成される予測誤差を生成するが、これに限定されるものではなく、例えば、予測誤差のみを生成してもよい。
本例の符号量評価部710は、生成された予測誤差の頻度分布(ヒストグラム)を作成し、作成された頻度分布に基づいて、符号量を推定する。
本例の量子化制御部720は、符号量評価部710により推定された符号量が所望の符号量以下である場合には、入力された画像データを量子化することなく符号化するようフィルタ処理部730に指示し、推定された符号量が所望の符号量を超える場合には、入力された画像データに対して量子化処理を施すようフィルタ処理部730に指示する。
また、量子化制御部720は、符号量評価部710により作成されたヒストグラムに基づいて、所望の符号量を達成できる量子化パラメータを推定し、推定された量子化パラメータをフィルタ処理部730に設定する。
本例のフィルタ処理部730は、量子化制御部720により設定された量子化パラメータ(許容誤差)の範囲内で、入力された画像データを塗り潰すことにより、予測処理部740による予測の的中率を向上させる。
本例の予測処理部730は、注目画素の近傍にある画素(参照画素)の画素値を予測値とし、予測値と注目画素値とが一致する場合には、一致した旨を示す情報(予測部ID)及びその連続数(ラン)を出力し、予測値が注目画素値と一致しない場合に、予測値と注目画素値との差分を予測誤差として出力する。
本例のエントロピー符号化部750は、予測処理部730から入力される予測部ID及びラン、並びに予測誤差をエントロピー符号化する。
以下、予測処理部740の構成として説明する。
図11に示すように、予測処理部740は、予測部742、予測誤差算出部744、選択部746、及びラン計数部748を有する。
予測部742は、図12(A)に例示する既定の参照位置A〜Dの画素値を、予測値として選択部746に対して出力する。
予測誤差算出部744は、図12(A)に示す参照位置Aの画素値と、注目画素Xの画素値との差分を予測誤差値として選択部746に対して出力する。
選択部746は、予測部742から入力された予測値それぞれと、注目画素Xの画素値とを比較して、一致しているか否かを判定する。選択部746は、判定の結果、予測が的中した予測値(参照位置)があればその識別番号(すなわち予測部ID)を、いずれも的中しなかった場合は、予測誤差算出部744から入力された予測誤差値を、ラン計数部578及び図10のエントロピー符号化部750(予備予測部700の場合には符号量評価部710)に対して出力する。
図12(A)に例示するように、本例の予測符号化処理では、注目画素Xの画素値を符号化する場合に、他の画素(本例では、参照位置A〜Dの画素)を参照して、注目画素Xの予測値を生成し、生成された予測値と注目画素Xの画素値との一致情報を符号化する。ここで、一致情報とは、予測値と真の値との一致度合いを示す情報であり、例えば、一致したか否か、差分が既定の範囲内であるか否か、又は、予測値と真の値との差分値(すなわち、予測誤差値)などである。本例の参照位置A〜Dは、注目画素Xとの相対位置として設定されている。具体的には、参照位置Aは、注目画素Xの主走査方向上流に設定され、参照位置B〜Dは、注目画素Xの上方(副走査方向上流)の主走査ライン上に設定されている。
また、本例の予測符号化方式では、いずれの参照位置の画素値(予測値)も注目画素Xの画素値と一致しない場合には、参照位置Aの画素値と注目画素Xの画素値との差分(予測誤差値)が注目画素Xの被符号化シンボル(中間データ)として出力され、符号化される。
これによって生成される符号データは、図12(C)に例示するように、予測誤差を示す符号、予測値が的中した参照位置に対応する符号、及び、その連続数によって構成される。
図13に示すように、画像によって予測誤差の分布が大きく異なる。図1(B)に例示したグラフ(非ラン画素の出現頻度vs符号量)と並べてみると、予測誤差が小さい値にまとまっている画像1は、同一の量子化パラメータ(許容誤差)における非ラン画素数と符号量の減少効果が高く、そうでない画像2は、その逆の結果を示している。
本例の符号量評価部710及び量子化制御部720は、この原理に基づいて、所定の量子化を行った場合の符号量を評価する。
図14に示すように、フィルタ処理部730は、予測部732、画素値変更処理部734、及び誤差分配処理部736を有する。
予測部736は、図12(A)に例示する複数の参照位置A〜Dの画素値それぞれを注目画素Xの予測値として、画素値変更処理部734に対して出力する。なお、本例では、参照位置A〜Dそれぞれの画素値を予測値としているが、これに限定されるものではなく、少なくとも1つの参照位置の画素値を予測値とすれば足りる。
画素値変更処理部734は、注目画素Xの画素値と、予測部732から入力された予測値それぞれとを比較し、画素値と予測値との差分が符号化パラメータにより規定された許容誤差より小さい場合には、その予測値を後段(予測処理部740)に対して出力し、さらに、注目画素の画素値と予測値との差分(以下、誤差値)を誤差分配処理部736に対して出力する。なお、複数の予測値について差分が許容誤差の範囲内となった場合には、差分が最も小さい予測値が適用される。
また、画素値変更処理部734は、画素値と予測値との差分が符号化パラメータ(許容誤差)より小さい場合には、徐々に許容誤差を小さくしていく。
一方、画素値変更処理部736は、注目画素Xの画素値と予測値との差分がいずれも許容誤差以上である場合には、注目画素Xの画素値をそのまま後段(予測処理部740)に対して出力し、誤差分配処理部736に対して0を出力する。すなわち、フィルタ処理部730は、予測誤差が許容誤差以上である場合には、注目画素Xの画素値を変換せず、許容誤差以上の誤差値を誤差分配しない。換言すると、許容誤差(符号化パラメータ)が大きいほど、入力画像の画素値が変更されて、後段の予測処理部740による予測の的中率が向上し、圧縮率が高くなる。
誤差分配処理部736は、画素値変更処理部734から入力された誤差値に基づいて、誤差分配値を生成し、画像データに含まれる所定の画素の画素値にこれを加算する。誤差分配値は、例えば、重み行列を用いた誤差拡散法や平均誤差最小法に従って、誤差値に重み行列の値を掛け合わせて算出される。
次に、第2の実施形態におけるデータ処理装置2(符号化プログラム7)の全体動作を説明する。
図15は、符号化プログラム7(図10)による符号化処理(S20)のフローチャートである。
図15に示すように、ステップ200(S200)において、予備予測部700(図10)は、外部から、画像データが入力されると、入力された画像データについて予測誤差(注目画素Xの画素値と参照位置Aの画素値との差分値)を算出し、算出された差分値(予測誤差)を符号量評価部710に出力する。
これにより、予測符号化方式においても、エントロピー符号化処理を繰り返すことなく、所望の符号量制御が可能になる。
次に、第2の実施形態の変形例を説明する。
図1(B)の分布は、画像によってほとんど変わらない。したがって、予測誤差の分布と違って画像ごとの補正は重要ではないが、この補正を加えることによって制御精度を向上することができる。
ここで補正すべきは、図1(B)の各プロットの上下方向のずれである。これを補正するには、いずれかの点の符号量を知る必要がある。この符号量は実際にはどの点でもよいのだが、本変形例では量子化なしの場合の符号量を用いる形態を説明する。
図16(A)は、第1の変形例における符号化プログラム72の機能構成を例示し、図16(B)は、実験結果を例示する図である。なお、本図に示された各構成のうち、図10に示された構成と実質的に同一のものには同一の符号が付されている。
図16(A)に例示するように、本変形例における符号化プログラム72は、予備符号化部760をさらに有する。予備符号化部760は、予備予測部700により生成された被符号化シンボル(予測部ID、ラン及び予測誤差)をエントロピー符号化する。
本例の量子化制御部722は、予備符号化部760により生成された符号量(量子化なしの場合の符号量)に基づいて、図1(B)に示すグラフの近似式を補正する。より具体的には、量子化制御部722は、図1(B)に示すグラフが、予備符号化部760により生成された符号量(量子化なしの符号量)のプロットを通るようにy切片を調整する。
なお、本図のグラフは、非ラン画素数と符号量の関係を、両軸ともlogをとって表現したものである。
上記実施形態では、量子化なしの状態で予備予測部700が予測誤差を算出し、この予測誤差を用いて符号量の評価が行われているが、これに限定されるものではなく、例えば、量子化なしではまず実現できないような圧縮率(例えば写真画像で圧縮率10以上)を目標とする場合などであれば、適切な量子化を行った後の画像データについて予備予測部700に予測誤差を算出させ、この予測誤差により符号量を評価させてもよい。
この場合には、予備予測前の量子化は、比較的緩やかであることが望ましい。
第2の実施形態では、ソースコーダにおける試行をやめるために、所望符号量を得る量子化パラメータを予測誤差の出現頻度分布に基づいて推定している。
しかしながら、本実施形態のフィルタ処理部730は、量子化誤差をフィードバックする量子化(誤差拡散を伴う量子化)を行っている。また、過度に同一画素値で塗りつぶすことを避けるために、量子化が連続して行われる場合には、その連続長に応じて閾値(許容誤差)を小さくしている。そのため、フィルタ処理部730による量子化は、非常に非線形な効果を有し、予測誤差の分布と許容誤差(閾値)とから高精度に非ラン画素数を推測することが困難である。
図17(A)は、フィルタ処理部730による非線形的な量子化が行われた場合の量子化パラメータ(許容誤差)と非ラン画素数との関係について示すグラフである。なお、本図は、横軸(X軸)に非ラン画素数、縦軸(Y軸)に相対誤差値をプロットしたものである。ここで、相対誤差値とは、特定の画像に対して、ある非ラン画素数に対応する予測誤差値(絶対値)を指す。
もし許容誤差(量子化パラメータ)が、単純に図13のX軸に対する閾値として働けば、同一量子化パラメータにおける相対誤差値は、画像によらず一定になるはずである。しかし図17(A)ではそうなっていない。つまり、同じ許容誤差(量子化パラメータ)であっても、実質的な許容誤差のレベルが画像によって異なることになる。したがって、画像と量子化パラメータとが与えられても、許容誤差又は非ラン画素数を高精度に推定することができず、結果として符号量も推定できない。
このように、量子化パラメータが直線でほぼ近似できているということは、画像ではなく量子化パラメータだけに依存して、予測誤差値と非ラン画素との関係が決まるということである。
換言すると、ある量子化パラメータによって得られる非ラン画素数は、画像によって異なるが、その非ラン画素数と相対誤差値との間には一定の関係がある。
一方、図13で見たように、誤差値と非ラン画素数の累積値とは、統計的に求めることができるから、特定の画像と量子化パラメータとの組に対して、図13と図17(B)との交点を求めれば、それが求める非ラン画素数に対応する。そして、この非ラン画素数と図1(B)のグラフとによって推定符号量が求められる。
実際の処理では、図1(B)及び図17(B)のデータあるいは近似式は、予め設計して用いられる。近似式は、直線近似を行ってもよいし、非線形近似を行ってもよい。
より具体的には、本変形例のデータ処理装置2は、図17(C)に例示するように、予測誤差の累積出現頻度分布と、図17(B)に示すグラフの近似式との交点を算出し、算出された交点のうち、所望の非ラン画素数n(すなわち符号量)に対応する量子化パラメータpを補間により算出する。
図18(A)に例示するように、符号化プログラム74において、近似式保持部770は、図17(B)に例示するグラフを近似する近似式を、対応する量子化パラメータ(許容誤差)に対応付けて記憶する。本例の近似式保持部770は、図18(B)に例示するように、複数の量子化パラメータ(許容誤差)それぞれに対応付けて、複数の近似式を保持する。
本変形例の量子化制御部724は、符号量評価部710により作成された予測誤差の累積出現頻度分布(図13)と、近似式保持部770に保持されている複数の近似式(図17(B)のグラフ)との交点を算出し、算出された交点の値を用いて、補間により所望の非ラン画素数に対応する量子化パラメータ(許容誤差)を算出する。
なお、量子化制御部724による補間は、量子化パラメータの刻みが小さければ線形補間を行ってもよいし、前後の量子化パラメータの交点を使った多次の補間を行ってもよい。
図19に示すように、S200において、予備予測部700(図18)は、外部から、画像データが入力されると、入力された画像データについて予測誤差を算出し、算出された予測誤差を符号量評価部710に出力する。
S205において、符号量評価部710は、予備予測部700から入力される予測誤差の累積出現頻度分布(図13)を作成し、作成された累積出現頻度分布を量子化制御部724に出力する。
S210において、量子化制御部724(図18)は、図1(B)に例示するグラフの近似式を用いて、所望の符号量に対応する非ラン画素数nを算出する。
S225において、予測処理部740は、フィルタ処理部730から入力された画像データに対して予測処理を行い、予測部ID及びそのラン、並びに、予測誤差を生成し、生成された予測部ID、ラン及び予測誤差を被符号化シンボルとしてエントロピー符号化部750に出力する。
S230において、エントロピー符号化部750は、予測処理部740から入力された被符号化シンボル(予測部ID、ラン、及び予測誤差)をハフマン符号などにより符号化する。
なお、本変形例では、量子化パラメータを算出する形態を説明しているが、単純な符号量推定処理に本変形例の原理を利用することもできる。
5,52・・・符号化プログラム
500・・・周波数変換部
510・・・量子化部
512・・・第1量子化部
514・・・第2量子化部
520・・・符号量評価部
530・・・量子化制御部
540・・・変換係数バッファ
550・・・ハフマン符号化部
560・・・符号化部
6・・・再符号化部
600・・・ハフマン復号化部
7,72,74・・・符号化プログラム
700・・・予備予測部
710・・・符号量評価部
720,722,724・・・量子化制御部
730・・・フィルタ処理部
740・・・予測処理部
750・・・エントロピー符号化部
760・・・予備符号化部
770・・・近似式保持部
Claims (2)
- 符号化対象となる入力データと、この入力データの予想データとを比較し、入力データと予測データとが一致したことを示す一致情報、及び、入力データと予測データとの差分を示す予測誤差を中間データとして生成する中間データ生成手段と、
前記中間データ生成手段により生成された中間データを符号データに変換する符号化手段と、
前記中間データ生成手段により算出された予測誤差の分布情報を生成し、予測誤差の分布情報に基づいて、前記符号化手段により生成される符号データの符号量を評価する符号量評価手段と
を有し、
前記符号化手段は、予測誤差が既定の許容誤差の範囲内である場合に予測誤差を0とみなして生成された中間データを符号化し、
複数の許容誤差それぞれが適用される場合の予測誤差値と予測誤差の分布情報との関係を示す近似情報を、それぞれの許容誤差に対応付けて記憶する近似情報保持手段と、
前記近似情報保持手段により保持されている近似情報と、前記符号量評価情報により生成された予測誤差の分布情報とに基づいて、適用すべき許容誤差を算出する許容誤差算出手段と
をさらに有するデータ処理装置。 - 符号化対象となる入力データと、この入力データの予想データとを比較し、入力データと予測データとが一致したことを示す一致情報、及び、入力データと予測データとの差分を示す予測誤差を中間データとして生成する中間データ生成ステップと、
生成された中間データを符号データに変換する符号化ステップと、
算出された予測誤差の分布情報を生成し、予測誤差の分布情報に基づいて、生成される符号データの符号量を評価する符号量評価ステップと
をコンピュータに実行させるプログラムであって、
前記符号化ステップは、予測誤差が既定の許容誤差の範囲内である場合に予測誤差を0とみなして生成された中間データを符号化し、
複数の許容誤差それぞれが適用される場合の予測誤差値と予測誤差の分布情報との関係を示す近似情報を、それぞれの許容誤差に対応付けて記憶する近似情報保持ステップと、
保持されている近似情報と生成された予測誤差の分布情報とに基づいて、適用すべき許容誤差を算出する許容誤差算出ステップと
をさらにコンピュータに実行させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006102023A JP4771288B2 (ja) | 2006-04-03 | 2006-04-03 | データ処理装置及びプログラム |
US11/594,056 US7420483B2 (en) | 2006-04-03 | 2006-11-08 | Data processing apparatus, data processing method, computer readable medium storing program, and computer data signal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006102023A JP4771288B2 (ja) | 2006-04-03 | 2006-04-03 | データ処理装置及びプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011034390A Division JP5131361B2 (ja) | 2011-02-21 | 2011-02-21 | データ処理装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007281589A JP2007281589A (ja) | 2007-10-25 |
JP4771288B2 true JP4771288B2 (ja) | 2011-09-14 |
Family
ID=38558047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006102023A Expired - Fee Related JP4771288B2 (ja) | 2006-04-03 | 2006-04-03 | データ処理装置及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7420483B2 (ja) |
JP (1) | JP4771288B2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4787100B2 (ja) * | 2006-07-27 | 2011-10-05 | パナソニック株式会社 | 画像符号化装置 |
JP2009117997A (ja) * | 2007-11-02 | 2009-05-28 | Fujifilm Corp | 撮影装置 |
JP2009117998A (ja) * | 2007-11-02 | 2009-05-28 | Fujifilm Corp | データ圧縮装置およびデータ圧縮プログラム |
US8761253B2 (en) * | 2008-05-28 | 2014-06-24 | Nvidia Corporation | Intra prediction mode search scheme |
US8831099B2 (en) * | 2008-12-17 | 2014-09-09 | Nvidia Corporation | Selecting a macroblock encoding mode by using raw data to compute intra cost |
US20100158105A1 (en) * | 2008-12-19 | 2010-06-24 | Nvidia Corporation | Post-processing encoding system and method |
US9432674B2 (en) * | 2009-02-02 | 2016-08-30 | Nvidia Corporation | Dual stage intra-prediction video encoding system and method |
US20110135011A1 (en) * | 2009-12-04 | 2011-06-09 | Apple Inc. | Adaptive dithering during image processing |
JP2013029953A (ja) * | 2011-07-28 | 2013-02-07 | Sony Corp | 画像処理装置および方法 |
US8615138B2 (en) * | 2011-11-03 | 2013-12-24 | Google Inc. | Image compression using sub-resolution images |
JP2015002462A (ja) * | 2013-06-17 | 2015-01-05 | ソニー株式会社 | 画像圧縮回路、画像圧縮方法、および伝送システム |
JP6417815B2 (ja) * | 2014-09-19 | 2018-11-07 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理プログラム |
JP6392702B2 (ja) * | 2015-05-12 | 2018-09-19 | 日本電信電話株式会社 | 符号量推定方法、映像符号化装置及び符号量推定プログラム |
GB2570710B (en) * | 2018-02-05 | 2022-10-12 | Sony Corp | Data encoding and decoding |
CN115617635B (zh) * | 2022-12-16 | 2023-05-23 | 南京易联阳光信息技术股份有限公司 | 支持跨代码仓库的代码统计方法、系统及设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07170195A (ja) * | 1993-12-14 | 1995-07-04 | Fuji Xerox Co Ltd | 符号化装置 |
US5890150A (en) * | 1997-01-24 | 1999-03-30 | Hitachi, Ltd. | Random sampling method for use in a database processing system and a database processing system based thereon |
JP2001001576A (ja) * | 1999-06-22 | 2001-01-09 | Seiko Epson Corp | プリンタ |
JP2002232721A (ja) | 2001-01-31 | 2002-08-16 | Canon Inc | 画像符号化装置及びその方法並びに記憶媒体 |
JP2002368625A (ja) * | 2001-06-11 | 2002-12-20 | Fuji Xerox Co Ltd | 符号量予測装置、符号化選択装置および符号化装置ならびにその方法 |
JP2002064711A (ja) * | 2001-06-19 | 2002-02-28 | Mitsubishi Electric Corp | 画像符号化装置 |
JP4418762B2 (ja) * | 2004-05-07 | 2010-02-24 | キヤノン株式会社 | 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 |
-
2006
- 2006-04-03 JP JP2006102023A patent/JP4771288B2/ja not_active Expired - Fee Related
- 2006-11-08 US US11/594,056 patent/US7420483B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20070229325A1 (en) | 2007-10-04 |
JP2007281589A (ja) | 2007-10-25 |
US7420483B2 (en) | 2008-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4771288B2 (ja) | データ処理装置及びプログラム | |
EP1942678B1 (en) | Video encoding method and scene cut detection method | |
US8509556B2 (en) | Image coding apparatus and image coding method to generate a targeted amount of code | |
US5426512A (en) | Image data compression having minimum perceptual error | |
EP2541936A2 (en) | Method and system for video encoding using a variable number of B frames | |
KR100846769B1 (ko) | 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치 | |
US20030185300A1 (en) | Moving picture coding method, moving picture coding apparatus, and moving picture coding program | |
JP4274234B2 (ja) | 圧縮データ量制御方法及び画像データ圧縮装置 | |
US6373894B1 (en) | Method and apparatus for recovering quantized coefficients | |
US8428124B2 (en) | Moving picture encoding apparatus and distribution system | |
JP2006222555A (ja) | 符号化装置及び符号化方法 | |
EP1619900B1 (en) | Bit rate controller | |
JP2000101846A (ja) | 画像情報符号化装置 | |
US6853753B2 (en) | Image sequence coding method | |
EP2046052A2 (en) | Method, medium, and system adjusting predicted values based on color with image compressing/recovering | |
WO2019194109A1 (ja) | 予測画像補正装置、画像符号化装置、画像復号装置、及びプログラム | |
JP4003410B2 (ja) | 符号化選択装置および符号化装置ならびにその方法 | |
JPH06350985A (ja) | 画像符号化方法および装置 | |
JP5131361B2 (ja) | データ処理装置及びプログラム | |
US7657110B2 (en) | Image compression using a color visual model | |
JP4622843B2 (ja) | 画像処理装置及びプログラム | |
JP5043849B2 (ja) | ビデオシーケンスにおける可変形状動き推定 | |
US20110110424A1 (en) | Video Encoder and Data Processing Method | |
JP2002204449A (ja) | 量子化単位設定装置及び量子化単位設定方法、符号化装置及び符号化方法並びに情報記録媒体 | |
JP4730144B2 (ja) | 復号化装置、逆量子化方法及びこれらのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101221 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110322 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110512 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110530 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140701 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110612 |
|
LAPS | Cancellation because of no payment of annual fees |