JP2007281589A - データ処理装置、データ処理方法及びプログラム - Google Patents

データ処理装置、データ処理方法及びプログラム Download PDF

Info

Publication number
JP2007281589A
JP2007281589A JP2006102023A JP2006102023A JP2007281589A JP 2007281589 A JP2007281589 A JP 2007281589A JP 2006102023 A JP2006102023 A JP 2006102023A JP 2006102023 A JP2006102023 A JP 2006102023A JP 2007281589 A JP2007281589 A JP 2007281589A
Authority
JP
Japan
Prior art keywords
data
code amount
quantization
unit
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006102023A
Other languages
English (en)
Other versions
JP4771288B2 (ja
Inventor
Taro Yokose
太郎 横瀬
Kazunori So
一憲 宋
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2006102023A priority Critical patent/JP4771288B2/ja
Priority to US11/594,056 priority patent/US7420483B2/en
Publication of JP2007281589A publication Critical patent/JP2007281589A/ja
Application granted granted Critical
Publication of JP4771288B2 publication Critical patent/JP4771288B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/192Methods 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/194Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/149Data 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods 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)

Abstract

【課題】 入力データの符号化効率を評価し、評価結果に応じたデータ処理を行うデータ処理装置を提供する。
【解決手段】 データ処理装置2は、入力された画像データに対して周波数変換を施して、変換係数を生成し、生成された変換係数(中間データ)に基づいて、符号量を評価し、評価結果に応じて量子化処理を行い、量子化が行われた変換係数をハフマン符号で符号化する。これにより、処理負荷の大きなハフマン符号化処理を試行することなく、符号量制御を行うことができるため、より高速な符号量制御が実現可能になる。
【選択図】図6

Description

本発明は、入力データに対する符号化効率を評価するデータ処理方法に関する。
例えば、特許文献1には、符号量と量子化パラメータとの関係式を用いて、符号量が所定の量以下となるように領域毎の量子化パラメータを推定する方法が開示されている。
特開2002−232721号公報
本発明は、上述した背景からなされたものであり、入力データの符号化効率を評価し、評価結果に応じたデータ処理を行うデータ処理装置を提供することを目的とする。
[データ処理装置]
上記目的を達成するために、本発明にかかるデータ処理装置は、符号化対象となる入力データを他の表現形式で表現する中間データを生成する中間データ生成手段と、前記中間データ生成手段により生成された中間データを符号データに変換する符号化手段と、前記中間データ生成手段により生成された中間データの統計量に基づいて、前記符号化手段により生成される符号データの符号量を評価する符号量評価手段とを有する。
好適には、前記符号量評価手段による評価結果に基づいて、所望の符号量を達成するための符号化パラメータを決定するパラメータ決定手段と、前記パラメータ決定手段により決定された符号化パラメータに応じて、入力データ又は中間データに対して非可逆なデータ処理を行う非可逆処理手段とをさらに有する。
好適には、入力データは画像データであり、前記中間データ生成手段は、画像データに対して周波数変換を行って、各周波数における変換係数を前記中間データとして生成し、前記符号量評価手段は、各周波数における変換係数のうち、ゼロ以外の値を有する変換係数の数に基づいて、符号データの符号量を評価する。
好適には、前記符号量評価手段は、量子化間隔を奇数倍した場合の変換係数の数を算出し、算出された変換係数の数に基づいて、符号量を評価する。
好適には、前記中間データ生成手段は、入力データと、入力データの予測データとを比較して、比較結果を前記中間データとして生成し、前記符号量評価手段は、入力データと予測データとの一致度合いに基づいて、符号データの符号量を評価する。
好適には、前記中間データ生成手段は、入力データと予測データとが一致したことを示す一致情報、及び、入力データと予測データとの差分を示す予測誤差を前記中間データとして生成し、前記符号量評価手段は、前記中間データ生成手段により算出された予測誤差の分布情報を生成する。
好適には、前記符号化手段は、入力データと予測データとの差分が既定の許容誤差の範囲内である場合にこの差分を0とみなして生成された中間データを符号化し、複数の許容誤差それぞれが適用される場合の予測誤差値と予測誤差の分布情報との関係を示す近似情報を、それぞれの許容誤差に対応付けて記憶する近似情報保持手段と、前記近似情報保持手段により保持されている近似情報と、前記符号量評価手段により生成された予測誤差の分布情報とに基づいて、適用すべき許容誤差を算出する許容誤差算出手段とをさらに有する。
[データ処理方法]
また、本発明にかかるデータ処理方法は、符号化対象となる入力データを他の表現形式で表現する中間データを生成し、生成された中間データの統計量に基づいて、生成される符号データの符号量を評価し、符号量の評価結果に応じて、符号化パラメータを決定し、決定された符号化パラメータに応じて、中間データに対して非可逆なデータ処理を行い、非可逆なデータ処理が施された中間データを符号データに変換する。
[プログラム]
また、本発明にかかるプログラムは、符号化対象となる入力データを他の表現形式で表現する中間データを生成するステップと、生成された中間データの統計量に基づいて、生成される符号データの符号量を評価するステップと、符号量の評価結果に応じて、符号化パラメータを決定するステップと、決定された符号化パラメータに応じて、生成された中間データに対して非可逆なデータ処理を行うステップと、非可逆なデータ処理が施された中間データを符号データに変換するステップとをコンピュータに実行させる。
本発明のデータ処理装置によれば、入力データの符号化効率を評価し、評価結果に応じたデータ処理を行うことができる。
まず、本発明の理解を助けるために、その背景及び概略を説明する。
符号化処理は、入力データを中間データに変換するソースコーダと、中間データを符号データに変換するエントロピーコーダとによって実現される。また、符号量とは、エントロピーコーダの出力データ量である。
符号量を既定値以下に制限したい場合がある。しかしながら、可逆な符号化処理では、圧縮率に限界があるため、量子化処理などを用いた非可逆な符号化方式(例えば、JPEG)が用いられている。
非可逆な符号化方式とは、入力データ又は中間データを非可逆に変更して、これらの情報量を減少させ、符号化効率を向上させるものである。しかしながら、このような非可逆処理(例えば、量子化処理)は、データの劣化(例えば、画質の低下)を伴う。
したがって、データの劣化を最小限に抑えながら所望の圧縮率を実現するためには、量子化処理などの非可逆処理を行わない場合、又は、所定の非可逆処理を行った場合の符号量を評価して、必要十分な非可逆処理をさがす必要がある。例えば、カットアンドトライによって、実際の符号データのデータ量を評価しながら、量子化処理の程度を規定する量子化パラメータが決定されている。
しかしながら、エントロピーコーダは、ビットバイビットの処理になるので、一般に処理負荷が重い。そのため、エントロピーコーダの処理前に符号量を推定することができれば、必要のないエントロピーコーダの処理を省くことで処理負荷を軽減することができる。
ここで、エントロピーコーダは、純粋に統計量に基づいて設計されるため、エントロピーコーダに入力される中間データ(つまりソースコーダの出力)について適切な統計量を知っていれば、最終的な符号量を推定することができる。
そこで、本実施形態におけるデータ処理装置2は、ソースコーダにより生成された中間データに基づいて、符号量を評価し、評価結果に応じたデータ処理を行う。
本例では、符号量の評価結果に応じた符号化処理を説明する。
例えば、変換符号化方式の例として、JPEG方式について説明する。
JPEG方式は、エントロピーコーダに2次元ハフマン(Huffman)符号化を採用している。2次元ハフマン符号化は、ゼロ係数(ゼロの値を有するDCT係数)をランレングス符号化し、非ゼロ係数(ゼロ以外の値を有するDCT係数)をハフマン符号化する働きがある。したがって、JPEG方式により生成される符号データの符号量は、非ゼロ係数の個数に依存することが予想される。
図1(A)は、非ゼロ係数の個数と符号量との関係を示すグラフである。
図1(A)に示されたグラフは、同一画像において量子化パラメータ(スケーリングファクタ)を変更した場合の実測値をプロットしたものである。
図1(A)に示すように、非ゼロ係数の個数とほぼ比例して符号量が変化することがわかる。
そこで、変換符号化方式を用いる場合には、データ処理装置2は、変換係数(中間データ)のうち、非ゼロ係数の個数の統計値(全個数、出現確率など)を算出し、算出された統計値に基づいて、符号量を評価する。
なお、非ゼロ係数の個数をカウントするためには、中間データ列をメモリに格納することになるが、このような処理は、エントロピー符号化を最適化するために一般的に行われる処理なので、特別なオーバーヘッドにはならない。例えば、JPEG方式は、ハフマン符号を最適化するために、変換係数列をメモリに蓄積し、その統計量に基づいてハフマン符号を最適設計する。
また、予測符号化方式についても同様に符号量を評価することができる。
すなわち、予測符号化方式のうち、単純なランレングス符号化方式又はLZ符号化方式のようにランレングスを使う符号化方式などでは、ランがどれくらい"とれないか"、つまり予測がどのくらい外れるかが符号量に影響することが考えられる。
例えば、複数の予測方法が設けられた符号化方式の場合、非ラン画素(全ての予測が外れた画素)の個数が符号量に影響することが考えられる。
図1(B)は、非ラン画素の出現頻度と符号量との関係を示すグラフである。
図1(B)に示されたグラフは、8種類の画像において量子化パラメータ(解像度パラメータ)を変更した場合の実測値をプロットしたものである。
図1(B)に示すように、画像によって定量的な符号量の違い(上下のずれ)はあるが、同一画像においては強い相関を示す。
そこで、予測符号化方式を用いる場合には、データ処理装置2は、入力データと予測データとの一致情報から、予測外れの出現頻度を算出し、算出された予測外れの出現頻度に基づいて、符号量を評価する。
なお、JPEG方式などの変換符号化方式では、変換係数の量子化処理(非可逆処理)を用いて符号量を制御するが、予測符号化方式では、例えば、予測時の許容誤差を大きくしたり、空間フィルタによって画素値を塗りつぶしたりすることで、量子化効果を得る。
また、予測符号化方式におけるエントロピー符号化は、2つの単位で処理を行う。つまり、(1)非ラン画素の1画素単位処理、及び、(2)ラン画素のラン単位処理、の2つである。本例では、支配的である(1)だけを考慮して符号量を評価しているが、(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を有する。
符号化プログラム5において、周波数変換部500は、入力された画像データ(入力データ)に対して変換処理を施して、各周波数の係数(変換係数)を生成する。生成される変換係数は中間データの一例である。
本例の周波数変換部500は、入力された画像データに対して離散コサイン変換(DCT)を施して、8×8のDCT係数を生成する。
量子化部510は、周波数変換部500により生成された変換係数に対して量子化処理を施す。
本例の量子化部510は、図4に例示する量子化テーブルを用いて、8×8のDCT係数を量子化する。より具体的には、量子化部510は、8×8のDCT係数の値を、量子化テーブル(図4)の対応する量子化係数で除算し、その商を量子化後のDCT係数とする。
符号量評価部520は、周波数変換部500により生成された変換係数、又は、量子化部510により量子化された変換係数に基づいて、符号量を評価する。
より具体的には、符号量評価部520は、変換係数のうち、ゼロ以外の値を有する変換係数(非ゼロ係数)の個数の統計値(非ゼロ係数の全個数、出現確率など)を算出し、算出された統計値に基づいて、符号量を推定する。
本例の符号量評価部520は、生成されたDCT係数の中から、非ゼロ係数の個数をカウントし、図1(A)に示したグラフの近似式を用いて、非ゼロ係数の個数に対応する符号量を算出する。
また、本例の符号量評価部520は、図1(A)に示したグラフの近似式を用いて、所望の符号量に対応する非ゼロ係数の個数を算出する。
量子化制御部530は、符号量評価部520による符号量の評価結果に基づいて、量子化部510による量子化処理を制御する。
本例の量子化制御部530は、符号量評価部520により推定された符号量が所望の符号量以下である場合には、変換係数をそのままハフマン符号化するよう変換係数バッファ540に指示し、推定された符号量が所望の符号量を超える場合には、量子化部510に対して変換係数を再量子化するよう指示する。
本例の量子化制御部530は、所望の符号量に対応する非ゼロ係数の個数が符号量評価部520により算出されると、算出された非ゼロ係数の個数を実現する量子化パラメータを決定し、決定された量子化パラメータを量子化部510に設定する。より具体的には、本例の量子化制御部530は、所望の符号量に対応する非ゼロ係数の個数を実現するようなスケーリングファクタを算出する。
変換係数バッファ540は、量子化部510から入力された変換係数(DCT係数)を保持し、量子化制御部530からの指示に応じて、保持されている変換係数をハフマン符号化部550に出力する。
ハフマン符号化部550は、変換係数バッファ540から入力された変換係数(DCT係数)をハフマン符号で符号化する。
図4は、量子化部510により用いられる量子化テーブルを例示する図である。
図4に例示するように、8×8のブロックの位置によって量子化係数が異なる。すなわち、本図に例示されている量子化テーブルは、推奨量子化テーブルであり、高域に行くほど量子化を粗くするために、高域の量子化係数は、低域(例えば、DC成分)よりも大きな値を有する。
本例の量子化部510は、図4に例示する量子化テーブルの各係数に対して、量子化制御部530により設定されたスケーリングファクタを乗じて、各DCT係数に適用すべき量子化係数を決定し、決定された各量子化係数で各DCT係数を除算する。
図5(A)は、種々のスケーリングファクタで量子化した場合の変換係数の分布を示し、図5(B)は、種々の量子化係数に対応する量子化間隔を例示する図である。
スケーリングファクタ(図中のSF)が大きくなるに従って(すなわち、量子化間隔が広がるに従って)、量子化後の変換係数の分布は、ゼロ値の方向に移動していく。
例えば、SF=10/50と、SF=50/50とを比較すると、量子化係数が5倍違うので、スケーリングファクタが10/50である場合に0から2に存在した変換係数値は、スケーリングファクタが50/50になると、0に量子化される。厳密には、量子化テーブルを整数化する必要があるので、誤差が含まれることがある。
これは、図5(B)に例示する量子化間隔を見れば明らかである。
このように、符号量評価部520は、より低圧縮の量子化結果(変換係数の分布)に基づいて、より高圧縮の量子化で得られる変換係数の分布(すなわち、非ゼロ係数の個数、又は、符号量)を推定することができる。
また、符号量評価部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に出力する。
ステップ105(S105)において、量子化部510は、量子化制御部530により設定されたスケーリングファクタ(SF)に基づいて、量子化係数を算出し、算出された量子化係数を用いて、周波数変換部500から入力されたDCT係数を量子化し、量子化されたDCT係数を符号量評価部520及び変換係数バッファ540に出力する。
なお、量子化制御部530は、入力された画像データに対する最初の量子化処理に対しては、最小のSFを初期値として設定する。
ステップ110(S110)において、符号量評価部520は、量子化部510から入力されたDCT係数(量子化後)のヒストグラムを作成する。
ステップ115(S115)において、符号量評価部520は、図1(A)に示されたグラフの近似式を用いて、非ゼロ係数の個数に対応する符号量(推定符号量)を算出し、算出された符号量を量子化制御部530に出力する。
ステップ120(S120)において、符号化プログラム5は、符号量評価部520により算出された符号量(推定符号量)が所望の符号量以下である場合に、S130の処理に移行し、算出された符号量が所望の符号量を超える場合に、S125の処理に移行する。
ステップ125(S125)において、符号量評価部520は、図1(A)に示されたグラフの近似式を用いて、所望の符号量に対応する非ゼロ係数の個数(目標値)を算出し、算出された非ゼロ係数の個数と、DCT係数のヒストグラムとを量子化制御部530に出力する。
量子化制御部530は、符号量評価部520から入力された非ゼロ係数の個数(目標値)と、DCT係数のヒストグラムとに基づいて、適用すべきスケーリングファクタを決定し、決定されたスケーリングファクタを量子化部510に設定する。
符号化プログラム5は、S105の処理に戻り、新たに設定されたスケーリングファクタを用いて、DCT係数の量子化を行い、量子化後のDCT係数に基づいて符号量の推定を行う。
ステップ130(S130)において、量子化制御部530は、推定符号量が所望の符号量以下になると、変換係数バッファ540にDCT係数を出力するよう指示する。
変換係数バッファ540は、量子化部510から入力されたDCT係数(最新のDCT係数)をハフマン符号化部550に出力する。
ハフマン符号化部550は、変換係数バッファ540から入力されたDCT係数をハフマン符号で符号化し、外部に出力する。
なお、本例では、所望の符号量に対応する非ゼロ係数の個数(目標値)を算出して、算出された非ゼロ係数の目標値に応じたスケーリングファクタを決定しているが、これに限定されるものではなく、例えば、符号化プログラム5は、推定された符号量が所望の符号量以下となるまで、既定の規則に従ってスケーリングファクタを大きくしていってもよい。
以上説明したように、本実施形態におけるデータ処理装置2は、変換係数の分布に基づいて、符号量を評価することができる。
これにより、ハフマン符号化処理を繰り返すことなく、所望の符号量制御が可能になる。
[変形例1]
以下、上記実施形態の変形例を説明する。
上記実施形態では、スケーリングファクタを奇数倍でのみ変化させることにより、変換係数の分布を高精度に推定していたが、これに限定されるものではなく、例えば、スケーリングファクタを偶数倍又は実数倍した場合の変換係数の分布を推定してもよい。
図7は、スケーリングファクタを偶数倍した場合の変換係数の分布を推定する方法を説明する図である。
図7(A)に示すように、スケーリングファクタを偶数倍又は実数倍した場合、新たなスケーリングファクタによる量子化区間の境界が元の量子化区間の境界と重ならないため、元の量子化区間に属する変換係数が、新たなスケーリングファクタによる量子化でいずれの量子化区間に組み込まれるか推定できない。
そこで、本変形の符号量評価部520は、新たな量子化区間の境界と重なる元の量子化区間(図7(B)の量子化区間1)が存在する場合には、この量子化区間に含まれる変換係数の個数を、図7(C)に例示するように、新たな量子化区間に分配する。
具体的には、符号量評価部520は、変換係数の頻度値を離散値でなく連続補間してから、新たな量子化区間の頻度値を算出する。なお、連続補間は、線形補間のほか、多次補間やスプライン補間などであってもよい。
[変形例2]
上記実施形態では、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パスで符号量制御を行うことができる。
なお、上記実施形態及び変形例では、スケーリングファクタによる量子化処理の調整だけを行っているが、量子化テーブルに非線形な変更を加えたい場合には、第1量子化部512は、量子化係数が全て1の量子化テーブルを用いて量子化を行ってもよい。この場合の量子化は、係数の整数化だけを行い、それ以上の量子化を行わないのと同値である。
そして、第2量子化部514は、8×8ブロック内の位置毎に、量子化係数を設定する。これにより、任意の量子化係数に対して、非ゼロ係数の個数を見積もることが可能となる。なお、第1量子化部512の量子化係数を全て0.5にしてもよい。この場合、変換係数の分布が誤差なしに推定できる。
また、量子化制御部530は、非ゼロ係数の個数が所望値に収まるように量子化テーブルを決定する場合に、既定の量子化テーブル群の中から、1つの量子化テーブルを選択してもよいし、量子化テーブルにかけるスケーリングファクタを微調整してもよい。
また、量子化制御部530は、量子化の度合いに応じて、非線形に量子化テーブルを算出するようなアルゴリズムを備えていてもよい。例えば、量子化が激しくなると低域の誤差が知覚しやすくなるので、量子化制御部530は、全体の量子化係数が大きくなる場合に、高域の量子化係数をより大きくするようなアルゴリズムで量子化テーブルを生成することが好ましい。
[変形例3]
上記実施形態では、画像データを符号データに変換する形態を説明したが、これに限定されるものではなく、例えば、入力された符号データを再符号化してもよい。
図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実施形態]
次に、第2の実施形態を説明する。上記実施形態では、本発明を変換符号化方式に適用する形態を説明したが、本実施形態では、本発明を予測符号化方式に適用する形態を説明する。
本実施形態では、被符号化シンボル(中間データ)の統計を使うことでエントロピーコーダの試行をやめることができるが、ソースコーダにおける試行をやめるためには、所望符号量を得る量子化パラメータを推定する必要がある。
そのためには、ソースコーダから出力される中間データ(例えば、予測の的中数、予測誤差の個数)を計数するだけでなく、その分布などから必要な量子化の強さを解析的に予測することが必要になる。
予測符号化方式では、単純なランレングス符号化方式やLZ符号化方式のようにランレングスを使う符号化方式の場合、ランがどれくらい「とれないか」、つまり予測がどのくらい外れるかが符号量に影響する。ここで、予測が的中してランのとれる画素をラン画素、ランのとれない画素を非ラン画素と呼ぶことにする。
図1(B)に示すように、予測符号化方式による符号量は、非ラン画素の出現頻度に依存するが、その依存の程度は、量子化のかけ方によって異なる。
本実施形態では、予測が外れて予測誤差が発生した場合でも、閾値以下の誤差であれば誤差0とみなす量子化を具体例として説明する。このタイプの量子化は、国際標準JPEG−LSなどでも採用されている。
このような量子化では、閾値以下の予測誤差は全て0に量子化され、ラン画素になる。したがって、量子化前の予測誤差の分布がわかっていれば、ラン画素と非ラン画素の個数の変化が推定できることになる。
なお、ここで推定可能なのは、非ラン画素の個数の推定であって、測定ではないことに注意する必要がある。つまり、ここでとっている統計は量子化のないとき(あるいは別の量子化が行われたとき)の分布に基づくものであって、実際の量子化が行われるときには量子化された画素値が出現するために、予測誤差の出現頻度分布もその影響を受ける。つまり、推定値は実測値に対してある程度の誤差を含む。
以下、本実施形態をより具体的に説明する。
図10は、第2の実施形態における符号化プログラム7の機能構成を例示する図である。
図10に例示するように、符号化プログラム7は、予備予測部700、符号量評価部710、量子化制御部720、フィルタ処理部730、予測処理部740、及びエントロピー符号化部750を有する。
符号化プログラム7において、予備予測部700は、予測処理部740により生成される中間データ(本例では、予測が的中したことを示す情報、及び、予測が外れた場合に生成される予測誤差)の少なくとも一部を生成する。
本例の予備予測部700は、予測処理部740と同一の予測方法を用いて、予測が的中した予測方法を示す予測部ID及びその連続数、並びに、いずれの予測方法も外れた場合に生成される予測誤差を生成するが、これに限定されるものではなく、例えば、予測誤差のみを生成してもよい。
符号量評価部710は、予備予測部700により生成された中間データに基づいて、符号量を評価する。
本例の符号量評価部710は、生成された予測誤差の頻度分布(ヒストグラム)を作成し、作成された頻度分布に基づいて、符号量を推定する。
量子化制御部720は、符号量評価部710による符号量の評価結果に基づいて、フィルタ処理部730による量子化処理を制御する。
本例の量子化制御部720は、符号量評価部710により推定された符号量が所望の符号量以下である場合には、入力された画像データを量子化することなく符号化するようフィルタ処理部730に指示し、推定された符号量が所望の符号量を超える場合には、入力された画像データに対して量子化処理を施すようフィルタ処理部730に指示する。
また、量子化制御部720は、符号量評価部710により作成されたヒストグラムに基づいて、所望の符号量を達成できる量子化パラメータを推定し、推定された量子化パラメータをフィルタ処理部730に設定する。
フィルタ処理部730は、量子化制御部720により設定された量子化パラメータに応じて、予測処理部740による予測の的中率が向上するような量子化処理を画像データに施す。
本例のフィルタ処理部730は、量子化制御部720により設定された量子化パラメータ(許容誤差)の範囲内で、入力された画像データを塗り潰すことにより、予測処理部740による予測の的中率を向上させる。
予測処理部730は、既定の予測方法で、フィルタ処理部730から入力された画像データについて予測データを生成し、生成された予測データと、入力された画像データとを比較して、予測データと画像データとの一致情報(中間データ)を生成する。
本例の予測処理部730は、注目画素の近傍にある画素(参照画素)の画素値を予測値とし、予測値と注目画素値とが一致する場合には、一致した旨を示す情報(予測部ID)及びその連続数(ラン)を出力し、予測値が注目画素値と一致しない場合に、予測値と注目画素値との差分を予測誤差として出力する。
エントロピー符号化部750は、予測処理部730から入力される一致情報(中間データ)をエントロピー符号化する。
本例のエントロピー符号化部750は、予測処理部730から入力される予測部ID及びラン、並びに予測誤差をエントロピー符号化する。
図11は、予備予測部700及び予測処理部740の構成をより詳細に説明する図である。なお、本例では、予備予測部700及び予測処理部740は、同じ構成を有するが、これに限定されるものではなく、例えば、予備予測部700にラン計数部748は不要である。
以下、予測処理部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)に対して出力する。
ラン計数部748は、識別番号(予測部ID)が入力された場合には、予測部IDに対応する内部カウンタを1だけ増やす。また、ラン計数部748は、予測誤差が入力された場合(すなわち、全ての予測が外れた場合)には、各予測部IDに対応する内部カウンタの値と参照位置IDとをランデータとしてエントロピー符号化750(図10)に対して出力する。
図12は、予測処理部740及びエントロピー符号化部750による符号化処理を説明する図である。
図12(A)に例示するように、本例の予測符号化処理では、注目画素Xの画素値を符号化する場合に、他の画素(本例では、参照位置A〜Dの画素)を参照して、注目画素Xの予測値を生成し、生成された予測値と注目画素Xの画素値との一致情報を符号化する。ここで、一致情報とは、予測値と真の値との一致度合いを示す情報であり、例えば、一致したか否か、差分が既定の範囲内であるか否か、又は、予測値と真の値との差分値(すなわち、予測誤差値)などである。本例の参照位置A〜Dは、注目画素Xとの相対位置として設定されている。具体的には、参照位置Aは、注目画素Xの主走査方向上流に設定され、参照位置B〜Dは、注目画素Xの上方(副走査方向上流)の主走査ライン上に設定されている。
いずれかの参照位置から読み出された画素値(予測値)が注目画素Xの画素値と一致した場合(すなわち、いずれかの参照位置で予測が的中した場合)には、一致した参照位置を特定する情報(以下、予測部ID)が注目画素Xの被符号化シンボル(中間データ)として出力される。また、同一の参照位置から読み出される予測値が、複数の注目画素Xの画素値と連続して一致する場合には、この参照位置の予測部IDと、連続数(ラン)とがこれらの注目画素Xの被符号化シンボルとして出力される。したがって、連続して一致する回数(連続一致長)が多いほど、符号化効率が高いことになる。本例の予測符号化方式では、予測部IDは、図12(B)に例示するように、符号に対応付けられている。
また、本例の予測符号化方式では、いずれの参照位置の画素値(予測値)も注目画素Xの画素値と一致しない場合には、参照位置Aの画素値と注目画素Xの画素値との差分(予測誤差値)が注目画素Xの被符号化シンボル(中間データ)として出力され、符号化される。
これによって生成される符号データは、図12(C)に例示するように、予測誤差を示す符号、予測値が的中した参照位置に対応する符号、及び、その連続数によって構成される。
図13は、符号量評価部710により作成される予測誤差の累積頻度分布を例示する図である。
図13に示すように、画像によって予測誤差の分布が大きく異なる。図1(B)に例示したグラフ(非ラン画素の出現頻度vs符号量)と並べてみると、予測誤差が小さい値にまとまっている画像1は、同一の量子化パラメータ(許容誤差)における非ラン画素数と符号量の減少効果が高く、そうでない画像2は、その逆の結果を示している。
本例の符号量評価部710及び量子化制御部720は、この原理に基づいて、所定の量子化を行った場合の符号量を評価する。
図14は、フィルタ処理部730の構成をより詳細に説明する図である。
図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から入力された誤差値に基づいて、誤差分配値を生成し、画像データに含まれる所定の画素の画素値にこれを加算する。誤差分配値は、例えば、重み行列を用いた誤差拡散法や平均誤差最小法に従って、誤差値に重み行列の値を掛け合わせて算出される。
このように、フィルタ処理部730は、後段の予測処理部740による予測が的中しやすくなるように画像データに含まれる画素値を変換する。その際に、フィルタ処理部730は、画素値の変更により生じた真の画素値との差分を、周辺画素に分配して、画素値の変更を巨視的に目立たなくする。
[全体動作]
次に、第2の実施形態におけるデータ処理装置2(符号化プログラム7)の全体動作を説明する。
図15は、符号化プログラム7(図10)による符号化処理(S20)のフローチャートである。
図15に示すように、ステップ200(S200)において、予備予測部700(図10)は、外部から、画像データが入力されると、入力された画像データについて予測誤差(注目画素Xの画素値と参照位置Aの画素値との差分値)を算出し、算出された差分値(予測誤差)を符号量評価部710に出力する。
ステップ205(S205)において、符号量評価部710は、予備予測部700から入力される予測誤差の出現頻度分布(ヒストグラム)を作成し、作成された出現頻度分布を量子化制御部720に出力する。
ステップ210(S210)において、量子化制御部720は、図1(B)に例示するグラフの近似式を用いて、所望の符号量に対応する非ラン画素数を算出する。
ステップ215(S215)において、量子化制御部720は、符号量評価部710から入力された出現頻度分布に基づいて、算出された非ラン画素数を達成する許容誤差(量子化パラメータ)を決定し、決定された量子化パラメータをフィルタ処理部730に出力する。
ステップ220(S220)において、フィルタ処理部730は、量子化制御部720から入力された許容誤差(量子化パラメータ)を用いて、入力された画像データに対してフィルタ処理を施し、フィルタ処理が施された画像データを予測処理部740に出力する。
ステップ225(S225)において、予測処理部740は、フィルタ処理部730から入力された画像データに対して予測処理を行い、予測部ID及びそのラン、並びに、予測誤差を生成し、生成された予測部ID、ラン及び予測誤差を被符号化シンボルとしてエントロピー符号化部750に出力する。
ステップ230(S230)において、エントロピー符号化部750は、予測処理部740から入力された被符号化シンボル(予測部ID、ラン、及び予測誤差)をハフマン符号などにより符号化する。
以上説明したように、本実施形態におけるデータ処理装置2は、予測誤差の分布に基づいて、符号量を評価することができる。
これにより、予測符号化方式においても、エントロピー符号化処理を繰り返すことなく、所望の符号量制御が可能になる。
[変形例1]
次に、第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切片を調整する。
図16(B)に示すように、予備符号化による補正を行った場合と、予備符号化による補正を行わなかった場合とを比較すると、予備符号化による補正を行った場合の方が、画像間のy方向のずれを吸収できるため、より直線性が向上し、推定精度が向上する。
なお、本図のグラフは、非ラン画素数と符号量の関係を、両軸ともlogをとって表現したものである。
[変形例2]
上記実施形態では、量子化なしの状態で予備予測部700が予測誤差を算出し、この予測誤差を用いて符号量の評価が行われているが、これに限定されるものではなく、例えば、量子化なしではまず実現できないような圧縮率(例えば写真画像で圧縮率10以上)を目標とする場合などであれば、適切な量子化を行った後の画像データについて予備予測部700に予測誤差を算出させ、この予測誤差により符号量を評価させてもよい。
この場合には、予備予測前の量子化は、比較的緩やかであることが望ましい。
[変形例3]
第2の実施形態では、ソースコーダにおける試行をやめるために、所望符号量を得る量子化パラメータを予測誤差の出現頻度分布に基づいて推定している。
しかしながら、本実施形態のフィルタ処理部730は、量子化誤差をフィードバックする量子化(誤差拡散を伴う量子化)を行っている。また、過度に同一画素値で塗りつぶすことを避けるために、量子化が連続して行われる場合には、その連続長に応じて閾値(許容誤差)を小さくしている。そのため、フィルタ処理部730による量子化は、非常に非線形な効果を有し、予測誤差の分布と許容誤差(閾値)とから高精度に非ラン画素数を推測することが困難である。
図17(A)は、フィルタ処理部730による非線形的な量子化が行われた場合の量子化パラメータ(許容誤差)と非ラン画素数との関係について示すグラフである。なお、本図は、横軸(X軸)に非ラン画素数、縦軸(Y軸)に相対誤差値をプロットしたものである。ここで、相対誤差値とは、特定の画像に対して、ある非ラン画素数に対応する予測誤差値(絶対値)を指す。
もし許容誤差(量子化パラメータ)が、単純に図13のX軸に対する閾値として働けば、同一量子化パラメータにおける相対誤差値は、画像によらず一定になるはずである。しかし図17(A)ではそうなっていない。つまり、同じ許容誤差(量子化パラメータ)であっても、実質的な許容誤差のレベルが画像によって異なることになる。したがって、画像と量子化パラメータとが与えられても、許容誤差又は非ラン画素数を高精度に推定することができず、結果として符号量も推定できない。
しかしながら、図17(A)をよく見てみると、同一量子化パラメータのプロットは、それぞれ傾きが異なる直線に乗っているように見える。そこで、図17(A)のプロットを増やし、XY軸を入れ替え、両対数グラフにプロットすると、図17(B)に示すように、直線で、比較的よく近似できていることが分かる。
このように、量子化パラメータが直線でほぼ近似できているということは、画像ではなく量子化パラメータだけに依存して、予測誤差値と非ラン画素との関係が決まるということである。
換言すると、ある量子化パラメータによって得られる非ラン画素数は、画像によって異なるが、その非ラン画素数と相対誤差値との間には一定の関係がある。
一方、図13で見たように、誤差値と非ラン画素数の累積値とは、統計的に求めることができるから、特定の画像と量子化パラメータとの組に対して、図13と図17(B)との交点を求めれば、それが求める非ラン画素数に対応する。そして、この非ラン画素数と図1(B)のグラフとによって推定符号量が求められる。
実際の処理では、図1(B)及び図17(B)のデータあるいは近似式は、予め設計して用いられる。近似式は、直線近似を行ってもよいし、非線形近似を行ってもよい。
すなわち、第3の変形例のおけるデータ処理装置2は、図13のグラフと許容誤差(量子化パラメータ)とから直接非ラン画素数を求めるのではなく、同一の量子化パラメータに対する相対誤差値と非ラン画素数の関係の一定性(画像非依存性)を利用することで、符号量制御を行う。
より具体的には、本変形例のデータ処理装置2は、図17(C)に例示するように、予測誤差の累積出現頻度分布と、図17(B)に示すグラフの近似式との交点を算出し、算出された交点のうち、所望の非ラン画素数n(すなわち符号量)に対応する量子化パラメータpを補間により算出する。
図18(A)は、本変形例における符号化プログラム74の機能構成を例示し、図18(B)は、近似式保持部770により保持される近似式を例示する図である。なお、本図に示された各構成のうち、図10に示された構成と実質的に同一のものには同一の符号が付されている。
図18(A)に例示するように、符号化プログラム74において、近似式保持部770は、図17(B)に例示するグラフを近似する近似式を、対応する量子化パラメータ(許容誤差)に対応付けて記憶する。本例の近似式保持部770は、図18(B)に例示するように、複数の量子化パラメータ(許容誤差)それぞれに対応付けて、複数の近似式を保持する。
本変形例の量子化制御部724は、符号量評価部710により作成された予測誤差の累積出現頻度分布(図13)と、近似式保持部770に保持されている複数の近似式(図17(B)のグラフ)との交点を算出し、算出された交点の値を用いて、補間により所望の非ラン画素数に対応する量子化パラメータ(許容誤差)を算出する。
なお、量子化制御部724による補間は、量子化パラメータの刻みが小さければ線形補間を行ってもよいし、前後の量子化パラメータの交点を使った多次の補間を行ってもよい。
図19は、本変形例における符号化処理(S24)のフローチャートである。なお、本図に示された各処理のうち、図15に示された処理と実質的に同一のものには同一の符号が付されている。
図19に示すように、S200において、予備予測部700(図18)は、外部から、画像データが入力されると、入力された画像データについて予測誤差を算出し、算出された予測誤差を符号量評価部710に出力する。
S205において、符号量評価部710は、予備予測部700から入力される予測誤差の累積出現頻度分布(図13)を作成し、作成された累積出現頻度分布を量子化制御部724に出力する。
S210において、量子化制御部724(図18)は、図1(B)に例示するグラフの近似式を用いて、所望の符号量に対応する非ラン画素数nを算出する。
ステップ240(S240)において、量子化制御部724は、符号量評価部710から入力された累積出現頻度分布と、近似式保持部770に保持されている近似式との交点を算出する。
ステップ245(S245)において、量子化制御部724は、算出された交点のうち、算出された非ラン画素数nと累積出現頻度分布との交点に近い2つの交点を選択する。
ステップ250(S250)において、量子化制御部724は、選択された2つの交点による補間演算によって、非ラン画素数nに対応する量子化パラメータ(許容誤差)を算出し、算出された量子化パラメータをフィルタ処理部730に設定する。
S220において、フィルタ処理部730は、量子化制御部724により設定された許容誤差(量子化パラメータ)を用いて、入力された画像データに対してフィルタ処理を施し、フィルタ処理が施された画像データを予測処理部740に出力する。
S225において、予測処理部740は、フィルタ処理部730から入力された画像データに対して予測処理を行い、予測部ID及びそのラン、並びに、予測誤差を生成し、生成された予測部ID、ラン及び予測誤差を被符号化シンボルとしてエントロピー符号化部750に出力する。
S230において、エントロピー符号化部750は、予測処理部740から入力された被符号化シンボル(予測部ID、ラン、及び予測誤差)をハフマン符号などにより符号化する。
このように、本変形例によれば、画像非依存な特徴量同士の関係を近似表現することにより、非線形的な量子化処理であっても高精度に制御することができる。
なお、本変形例では、量子化パラメータを算出する形態を説明しているが、単純な符号量推定処理に本変形例の原理を利用することもできる。
(A)は、非ゼロ係数の個数と符号量との関係を示すグラフであり、(B)は、非ラン画素の出現頻度と符号量との関係を示すグラフである。 本発明にかかるデータ処理方法が適応されるデータ処理装置2のハードウェア構成を、制御装置20を中心に例示する図である。 制御装置20(図2)により実行され、本発明にかかるデータ処理方法を実現する符号化プログラム5の機能構成を例示する図である。 量子化部510により用いられる量子化テーブルを例示する図である。 (A)は、種々のスケーリングファクタで量子化した場合の変換係数の分布を示し、(B)は、種々の量子化係数に対応する量子化間隔を例示する図である。 符号化プログラム5(図3)による符号化処理(S10)のフローチャートである。 スケーリングファクタを偶数倍した場合の変換係数の分布を推定する方法を説明する図である。 2つの量子化部が設けられた符号化プログラム52の機能構成を例示する図である。 再符号化プログラム6の機能構成を例示する図である。 予測符号化方式を適用する符号化プログラム7の機能構成を例示する図である。 予備予測部700及び予測処理部740をより詳細に説明する図である。 本実施形態における予測符号化処理を説明する図である。 予測誤差の累積出現頻度を示すグラフである。 フィルタ処理部730をより詳細に説明する図である。 符号化プログラム7(図10)による符号化処理(S20)のフローチャートである。 (A)は、第1の変形例における符号化プログラム72の機能構成を例示し、(B)は、実験結果を例示する図である。 フィルタ処理部730による非線形的な量子化が行われた場合の量子化パラメータの算出方法を説明する図である。 (A)は、符号化プログラム74の機能構成を例示し、(B)は、近似式保持部770により保持される近似式を例示する図である。 補間処理を用いて量子化パラメータを算出する符号化処理(S24)のフローチャートである。
符号の説明
2・・・データ処理装置
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 (9)

  1. 符号化対象となる入力データを他の表現形式で表現する中間データを生成する中間データ生成手段と、
    前記中間データ生成手段により生成された中間データを符号データに変換する符号化手段と、
    前記中間データ生成手段により生成された中間データの統計量に基づいて、前記符号化手段により生成される符号データの符号量を評価する符号量評価手段と
    を有するデータ処理装置。
  2. 前記符号量評価手段による評価結果に基づいて、所望の符号量を達成するための符号化パラメータを決定するパラメータ決定手段と、
    前記パラメータ決定手段により決定された符号化パラメータに応じて、入力データ又は中間データに対して非可逆なデータ処理を行う非可逆処理手段と
    をさらに有する請求項1に記載のデータ処理装置。
  3. 入力データは画像データであり、
    前記中間データ生成手段は、画像データに対して周波数変換を行って、各周波数における変換係数を前記中間データとして生成し、
    前記符号量評価手段は、各周波数における変換係数のうち、ゼロ以外の値を有する変換係数の数に基づいて、符号データの符号量を評価する
    請求項1に記載のデータ処理装置。
  4. 前記符号量評価手段は、量子化間隔を奇数倍した場合の変換係数の数を算出し、算出された変換係数の数に基づいて、符号量を評価する
    請求項3に記載のデータ処理装置。
  5. 前記中間データ生成手段は、入力データと、入力データの予測データとを比較して、比較結果を前記中間データとして生成し、
    前記符号量評価手段は、入力データと予測データとの一致度合いに基づいて、符号データの符号量を評価する
    請求項1に記載のデータ処理装置。
  6. 前記中間データ生成手段は、入力データと予測データとが一致したことを示す一致情報、及び、入力データと予測データとの差分を示す予測誤差を前記中間データとして生成し、
    前記符号量評価手段は、前記中間データ生成手段により算出された予測誤差の分布情報を生成する
    請求項5に記載のデータ処理装置。
  7. 前記符号化手段は、入力データと予測データとの差分が既定の許容誤差の範囲内である場合にこの差分を0とみなして生成された中間データを符号化し、
    複数の許容誤差それぞれが適用される場合の予測誤差値と予測誤差の分布情報との関係を示す近似情報を、それぞれの許容誤差に対応付けて記憶する近似情報保持手段と、
    前記近似情報保持手段により保持されている近似情報と、前記符号量評価手段により生成された予測誤差の分布情報とに基づいて、適用すべき許容誤差を算出する許容誤差算出手段と
    をさらに有する請求項6に記載のデータ処理装置。
  8. 符号化対象となる入力データを他の表現形式で表現する中間データを生成し、
    生成された中間データの統計量に基づいて、生成される符号データの符号量を評価し、
    符号量の評価結果に応じて、符号化パラメータを決定し、
    決定された符号化パラメータに応じて、中間データに対して非可逆なデータ処理を行い、
    非可逆なデータ処理が施された中間データを符号データに変換する
    データ処理方法。
  9. 符号化対象となる入力データを他の表現形式で表現する中間データを生成するステップと、
    生成された中間データの統計量に基づいて、生成される符号データの符号量を評価するステップと、
    符号量の評価結果に応じて、符号化パラメータを決定するステップと、
    決定された符号化パラメータに応じて、生成された中間データに対して非可逆なデータ処理を行うステップと、
    非可逆なデータ処理が施された中間データを符号データに変換するステップと
    をコンピュータに実行させるプログラム。
JP2006102023A 2006-04-03 2006-04-03 データ処理装置及びプログラム Expired - Fee Related JP4771288B2 (ja)

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 true JP2007281589A (ja) 2007-10-25
JP4771288B2 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008035134A (ja) * 2006-07-27 2008-02-14 Matsushita Electric Ind Co Ltd 画像符号化装置
JP2009117998A (ja) * 2007-11-02 2009-05-28 Fujifilm Corp データ圧縮装置およびデータ圧縮プログラム
JP2009117997A (ja) * 2007-11-02 2009-05-28 Fujifilm Corp 撮影装置
JP2016213735A (ja) * 2015-05-12 2016-12-15 日本電信電話株式会社 符号量推定方法、映像符号化装置及び符号量推定プログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
GB2570710B (en) * 2018-02-05 2022-10-12 Sony Corp Data encoding and decoding
CN115617635B (zh) * 2022-12-16 2023-05-23 南京易联阳光信息技术股份有限公司 支持跨代码仓库的代码统计方法、系统及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07170195A (ja) * 1993-12-14 1995-07-04 Fuji Xerox Co Ltd 符号化装置
JP2002064711A (ja) * 2001-06-19 2002-02-28 Mitsubishi Electric Corp 画像符号化装置
JP2002368625A (ja) * 2001-06-11 2002-12-20 Fuji Xerox Co Ltd 符号量予測装置、符号化選択装置および符号化装置ならびにその方法
JP2005348390A (ja) * 2004-05-07 2005-12-15 Canon Inc 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 画像符号化装置及びその方法並びに記憶媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07170195A (ja) * 1993-12-14 1995-07-04 Fuji Xerox Co Ltd 符号化装置
JP2002368625A (ja) * 2001-06-11 2002-12-20 Fuji Xerox Co Ltd 符号量予測装置、符号化選択装置および符号化装置ならびにその方法
JP2002064711A (ja) * 2001-06-19 2002-02-28 Mitsubishi Electric Corp 画像符号化装置
JP2005348390A (ja) * 2004-05-07 2005-12-15 Canon Inc 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008035134A (ja) * 2006-07-27 2008-02-14 Matsushita Electric Ind Co Ltd 画像符号化装置
US8144789B2 (en) 2006-07-27 2012-03-27 Panasonic Corporation Picture coding apparatus
JP2009117998A (ja) * 2007-11-02 2009-05-28 Fujifilm Corp データ圧縮装置およびデータ圧縮プログラム
JP2009117997A (ja) * 2007-11-02 2009-05-28 Fujifilm Corp 撮影装置
JP2016213735A (ja) * 2015-05-12 2016-12-15 日本電信電話株式会社 符号量推定方法、映像符号化装置及び符号量推定プログラム

Also Published As

Publication number Publication date
US20070229325A1 (en) 2007-10-04
US7420483B2 (en) 2008-09-02
JP4771288B2 (ja) 2011-09-14

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
US20060104527A1 (en) Video image encoding method, video image encoder, and video image encoding program
KR100846769B1 (ko) 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치
US8428124B2 (en) Moving picture encoding apparatus and distribution system
US6373894B1 (en) Method and apparatus for recovering quantized coefficients
US20030185300A1 (en) Moving picture coding method, moving picture coding apparatus, and moving picture coding program
JP2006222555A (ja) 符号化装置及び符号化方法
JP2010154264A (ja) 画像復号装置及び画像符号化装置
US8442114B2 (en) Moving picture encoding apparatus and distribution system
EP1619900B1 (en) Bit rate controller
JP2000101846A (ja) 画像情報符号化装置
EP2046052A2 (en) Method, medium, and system adjusting predicted values based on color with image compressing/recovering
US20020039450A1 (en) Image sequence coding method
TWI506965B (zh) A coding apparatus, a decoding apparatus, a coding / decoding system, a coding method, and a decoding method
US8615040B2 (en) Transcoder for converting a first stream into a second stream using an area specification and a relation determining function
US8331437B2 (en) Coding apparatus, coding method, coding program and recording medium
JP4003410B2 (ja) 符号化選択装置および符号化装置ならびにその方法
JPH06350985A (ja) 画像符号化方法および装置
JP2006270737A (ja) 復号化装置、分布推定方法、復号化方法及びこれらのプログラム
JP5131361B2 (ja) データ処理装置及びプログラム
JP4622843B2 (ja) 画像処理装置及びプログラム
EP3180863B1 (en) Method for coding pulse vectors using statistical properties
WO2004066608A2 (en) Image compression using a color visual model

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