JP2006332790A - データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム - Google Patents

データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム Download PDF

Info

Publication number
JP2006332790A
JP2006332790A JP2005149884A JP2005149884A JP2006332790A JP 2006332790 A JP2006332790 A JP 2006332790A JP 2005149884 A JP2005149884 A JP 2005149884A JP 2005149884 A JP2005149884 A JP 2005149884A JP 2006332790 A JP2006332790 A JP 2006332790A
Authority
JP
Japan
Prior art keywords
data
length
prediction error
code
error data
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
JP2005149884A
Other languages
English (en)
Other versions
JP4427003B2 (ja
Inventor
Takashi Ishikawa
隆志 石川
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.)
Olympus Imaging Corp
Original Assignee
Olympus Imaging 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 Olympus Imaging Corp filed Critical Olympus Imaging Corp
Priority to JP2005149884A priority Critical patent/JP4427003B2/ja
Priority to US11/437,497 priority patent/US7333035B2/en
Priority to CNB2006100809613A priority patent/CN100508403C/zh
Publication of JP2006332790A publication Critical patent/JP2006332790A/ja
Application granted granted Critical
Publication of JP4427003B2 publication Critical patent/JP4427003B2/ja
Active 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】 処理時間が短く、必要なメモリ量が小さく、高い圧縮性能を発揮し得るデータ符号化装置等を提供する。
【解決手段】 既に読み出されたデータに基づき注目データの予測値を算出する予測部11と、注目データと予測値との誤差である予測誤差値を演算する減算器12と、予測誤差値を絶対値化する絶対値化部13と、絶対値化された予測誤差値が連続して所定の閾値以下となる数を複数の閾値毎に検出し、検出した数が所定のラン長以上であるか否かに応じて各閾値毎の符号長候補を設定する平坦度検出部14と、閾値毎の符号長候補に基づき固定長符号部分の符号長を決定するkパラメータ決定部15と、決定された符号長に応じて絶対値化された予測誤差値を可変長符号部分と固定長符号部分とに分けて符号化するゴロムライス符号化部16と、を備えたデータ符号化装置1。
【選択図】図1

Description

本発明は、データを可変長符号部分と固定長符号部分とに分けて符号化または復号化するデータ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラムに関する。
デジタルカメラ等の撮像装置では、例えば一眼レフレックスタイプの機種などにおいて、RAWデータと呼ばれる撮像データを記録媒体に記録することが行われている。このRAWデータは、撮像素子から得られる画像信号に簡単なアナログ処理を施した後にデジタルデータに変換しただけのものである。ところで、近年、デジタルカメラの撮像素子の高画素化が進んでいるために、こうしたRAWデータのデータサイズが大きくなってきている。従って、RAWデータに圧縮処理を行って、データサイズの縮小を図っているデジタルカメラも存在している。ただし、RAWデータは、ユーザによりレタッチされることが想定されるものであり、圧縮処理を行う場合にはロスレス(Lossless)圧縮であることが望ましい。
圧縮方式は、一般に、圧縮率が高いことが望まれるが、デジタルカメラ等の撮像装置に適用される圧縮方式の場合には、単体のパーソナルコンピュータ等に適用される圧縮方式の場合と異なって、仕様上の制限等から、さらに幾つかの望ましい条件があり、例えば以下のようになっている。
(1)処理時間が短いこと
(2)処理に要するバッファ量が小さいこと
これらの内の条件(1)は、例えば、連写性能や、バッテリの消耗などに関連する条件である。また、条件(2)は、デジタルカメラのコストやサイズ、重量などに関連する条件となっている。
しかし、条件(1)と条件(2)とをともに満足させようとすると、今度は、圧縮性能が低下してしまう可能性が高くなる。
従来から提案されている圧縮技術としては、例えば米国特許5764374号に記載されたような、符号化対象画素の周辺画素の勾配により状態を分類して、それぞれの状態におけるゴロムライス符号化においてkパラメータを設定する方法が挙げられる。
米国特許5764374号
しかしながら、上述した米国特許5764374号に記載されたような技術では、各状態毎に出現頻度と累積誤差とのテーブルを作成して、その後に計算処理を行う必要があるために、バッファ使用量が増加してしまい、つまり上記条件(2)を十分に満足するものとはなっていない。さらに、符号化対象画素に関して周辺画素の状態分けを行っているために、処理の増加も伴うことになり、条件(1)に関しても十分に満足するものとはいえない。
本発明は上記事情に鑑みてなされたものであり、処理時間が短く、必要なメモリ量が小さく、高い圧縮性能を発揮し得るデータ符号化装置、データ符号化方法、プログラムを提供することを目的としている。
また、本発明は、上記圧縮されたデータを、短い処理時間、かつ、小さな必要なメモリ量で復号化し得るデータ復号化装置、データ復号化方法、プログラムを提供することを目的としている。
上記の目的を達成するために、第1の発明によるデータ符号化装置は、データを適応予測して予測誤差データに変換するデータ変換手段と、上記予測誤差データが連続して所定の閾値以下となる数を検出するためのランカウンタと、上記ランカウンタにより検出された数に応じて上記予測誤差データの固定長符号部分の符号長を設定する符号長設定手段と、上記予測誤差データを可変長符号部分と固定長符号部分とに分けて符号化する符号化手段と、を具備したものである。
また、第2の発明によるデータ符号化装置は、上記第1の発明によるデータ符号化装置において、上記符号長設定手段が、上記ランカウンタにより検出された数が所定のラン長以上である場合には、所定のラン長未満である場合に比して、上記符号長をより短く設定するものである。
さらに、第3の発明によるデータ符号化装置は、上記第1の発明によるデータ符号化装置において、上記閾値が複数種類設定可能となっており、上記ランカウンタは、設定された複数種類の閾値のそれぞれに対して、予測誤差データが連続して該閾値以下となる数を検出するものである。
第4の発明によるデータ符号化装置は、上記第3の発明によるデータ符号化装置において、上記符号長設定手段が、第1の閾値に対して上記ランカウンタにより検出された数が所定のラン長以上である場合の第1の符号長を、この第1の閾値よりも大きい第2の閾値に対して上記ランカウンタにより検出された数が所定のラン長以上である場合の第2の符号長よりも短く設定するものである。
第5の発明によるデータ符号化装置は、上記第4の発明によるデータ符号化装置において、上記予測誤差データの有効なビット数をダイナミックレンジとして検出するためのダイナミックレンジ算出手段をさらに具備し、上記符号長設定手段は、上記第1の符号長と上記第2の符号長との内の大きくない方と、上記ダイナミックレンジと、の内の小さくない方を、上記予測誤差データの固定長符号部分の符号長として設定するものである。
第6の発明によるデータ符号化方法は、データを適応予測して予測誤差データに変換するステップと、上記予測誤差データが連続して所定の閾値以下となる数を検出するステップと、上記検出された数に応じて上記予測誤差データの固定長符号部分の符号長を設定するステップと、上記予測誤差データを可変長符号部分と固定長符号部分とに分けて符号化するステップと、を有する方法である。
第7の発明によるプログラムは、データを適応予測して予測誤差データに変換するステップと、上記予測誤差データが連続して所定の閾値以下となる数を検出するステップと、上記検出された数に応じて上記予測誤差データの固定長符号部分の符号長を設定するステップと、上記予測誤差データを可変長符号部分と固定長符号部分とに分けて符号化するステップと、をコンピュータに実行させるためのプログラムである。
第8の発明によるデータ復号化装置は、符号化データを可変長符号部分と固定長符号部分とに分けて復号化することにより予測誤差データを求める予測誤差データ復号化手段と、上記予測誤差データ復号化手段により復号化された予測誤差データから適応的に注目データを求める注目データ復号化手段と、上記予測誤差データ復号化手段により復号化された注目データの1つ前のデータに係る予測誤差データに対して該予測誤差データが連続して所定の閾値以下となる数を検出するためのランカウンタと、上記ランカウンタにより検出された数に応じて上記符号化データの固定長符号部分の符号長を設定する符号長設定手段と、を具備し、上記予測誤差データ復号化手段は、上記符号長設定手段により設定された符号長に応じて、上記符号化データを可変長符号部分と固定長符号部分とに分けて復号化することにより上記予測誤差データを求めるものである。
第9の発明によるデータ復号化装置は、上記第8の発明によるデータ復号化装置において、上記符号長設定手段が、上記ランカウンタにより検出された数が所定のラン長以上である場合には、所定のラン長未満である場合に比して、上記符号長をより短く設定するものである。
第10の発明によるデータ復号化装置は、上記第8の発明によるデータ復号化装置において、上記閾値が複数種類設定可能となっており、上記ランカウンタは、設定された複数種類の閾値のそれぞれに対して、予測誤差データが連続して該閾値以下となる数を検出するものである。
第11の発明によるデータ復号化装置は、上記第10の発明によるデータ復号化装置において、上記符号長設定手段が、第1の閾値に対して上記ランカウンタにより検出された数が所定のラン長以上である場合の第1の符号長を、この第1の閾値よりも大きい第2の閾値に対して上記ランカウンタにより検出された数が所定のラン長以上である場合の第2の符号長よりも短く設定するものである。
第12の発明によるデータ復号化装置は、上記第11の発明によるデータ復号化装置において、上記予測誤差データの有効なビット数をダイナミックレンジとして検出するためのダイナミックレンジ算出手段をさらに具備し、上記符号長設定手段は、上記第1の符号長と上記第2の符号長との内の大きくない方と、上記ダイナミックレンジと、の内の小さくない方を、上記予測誤差データの固定長符号部分の符号長として設定するものである。
第13の発明によるデータ復号化方法は、符号化データを可変長符号部分と固定長符号部分とに分けて復号化することにより予測誤差データを求めるステップと、上記復号化された予測誤差データから適応的に注目データを求めるステップと、上記復号化された注目データの1つ前のデータに係る予測誤差データに対して該予測誤差データが連続して所定の閾値以下となる数を検出するステップと、上記検出された数に応じて上記符号化データの固定長符号部分の符号長を設定するステップと、を有し、上記予測誤差データを求めるステップは、上記固定長符号部分の符号長を設定するステップにより設定された符号長に応じて、上記符号化データを可変長符号部分と固定長符号部分とに分けて復号化することにより上記予測誤差データを求めるステップである。
第14の発明によるプログラムは、符号化データを可変長符号部分と固定長符号部分とに分けて復号化することにより予測誤差データを求めるステップと、上記復号化された予測誤差データから適応的に注目データを求めるステップと、上記復号化された注目データの1つ前のデータに係る予測誤差データに対して該予測誤差データが連続して所定の閾値以下となる数を検出するステップと、上記検出された数に応じて上記符号化データの固定長符号部分の符号長を設定するステップと、をコンピュータに実行させるためのプログラムであって、上記予測誤差データを求めるステップは、上記固定長符号部分の符号長を設定するステップにより設定された符号長に応じて、上記符号化データを可変長符号部分と固定長符号部分とに分けて復号化することにより上記予測誤差データを求めるステップである。
本発明のデータ符号化装置、データ符号化方法、プログラムによれば、短い処理時間、かつ、小さな必要なメモリ量で、高い圧縮性能を発揮することが可能となる。
また、本発明のデータ復号化装置、データ復号化方法、プログラムによれば、上記圧縮されたデータを、短い処理時間、かつ、小さな必要なメモリ量で復号化することが可能となる。
以下、図面を参照して本発明の実施の形態を説明する。
[実施形態1]
図1から図27は本発明の実施形態1を示したものであり、図1はデータ符号化装置の構成を示すブロック図、図2はデータ復号化装置の構成を示すブロック図である。
図1に示すように、データ符号化装置1は、予測部11と、減算器12と、絶対値化部13と、平坦度検出部14と、kパラメータ決定部15と、ゴロムライス符号化部16と、を含んで構成されている。これらの内の、予測部11および減算器12には画像データが入力され、絶対値化部13からは正負データが出力され、ゴロムライス符号化部16からは符号化データが出力されるようになっている。このデータ符号化装置1の詳細については、後で図4、図6〜図10等を参照しながら作用に沿って説明する。
また、このデータ符号化装置1により圧縮されたデータは、図2に示すようなデータ復号化装置2により復号化されるようになっている。すなわち、データ復号化装置2は、ゴロムライス復号化部21と、平坦度検出部22と、kパラメータ決定部23と、正負変換部24と、加算器25と、予測部26と、を含んで構成されている。これらの内の、ゴロムライス復号化部21には符号化データが入力され、正負変換部24には正負データが入力され、加算器25からは画像データが出力されるようになっている。このデータ復号化装置2の詳細については、後で図5等を参照しながら作用に沿って説明する。
なお、図1、図2において、各ブロック間の相互の動作タイミングの調整は、図示しないタイミング調整回路により行うようになっている。
次に、データ符号化装置1の平坦度検出部14またはデータ復号化装置2の平坦度検出部22は、図3に示すように構成されている。図3は平坦度検出部の構成を示すブロック図である。
平坦度検出部14,22は、比較部31と、ランカウンタ32と、比較部33と、kパラメータ下限値決定部34と、を含んで構成されている。これらの内の、比較部31には絶対値化された予測誤差データと閾値thとが入力され、ランカウンタ32には外部カウントリセット信号が入力され、比較部33には閾値th_runが入力され、kパラメータ下限値決定部34にはk_lowおよびk_highが入力されるようになっている。この平坦度検出部14,22の詳細についても、後で作用に沿って説明する。
次に、図4はデータ符号化装置1による圧縮処理の流れの概要を示すフローチャートである。
データ符号化装置1による圧縮処理は、この図4に示すような一連の処理を行うことにより、基本的に行われるようになっている。
すなわち、まず、既に読み出された画素データに基づき、処理対象の画素データを予測する(ステップS1)。
次に、処理対象の画素データの実際の値と、ステップS1で予測した予測値と、の差分をとることにより、予測誤差値を生成する(ステップS2)。
続いて、予測誤差値を絶対値化し(ステップS3)、絶対値化した予測誤差値を1画素遅延した後に後述するような平坦度検出の処理を行う(ステップS4)。
そして、平坦度検出の結果に応じて、ゴロムライス符号化を行う際の固定長符号部分の符号長を示すkパラメータを決定し(ステップS5)、決定されたkパラメータに基づいて、絶対値化された予測誤差値をゴロムライス符号化し(ステップS6)、終了する。
このような流れに沿った圧縮処理の詳細について、図6〜図15を参照して説明する。図6はデータ符号化装置1による圧縮処理の詳細を示すフローチャート、図7は画素単位で行われる平坦度検出1の処理を示すフローチャート、図8は画素単位で行われる平坦度検出2の処理を示すフローチャート、図9はライン単位で行われる平坦度検出1の処理を示すフローチャート、図10はライン単位で行われる平坦度検出2の処理を示すフローチャート、図11は注目画素と注目画素以前に読み出される近傍画素との配置を示す図、図12は絶対値化の他の例を示す図表、図13は画素単位の平坦度検出において用いられる各閾値や設定値を示す図表、図14は閾値に応じたkパラメータの設定例を示す図表、図15はゴロムライス符号化の例を示す図である。
図6に示す処理を開始すると、まず、予測値を算出する(ステップS21)(図4のステップS1に対応した処理)。この予測値の算出は、既にスキャンされている画素データに基づいて、注目画素の画素値を予測するものであり、ここでは、図11に示すような注目画素の近傍の画素値を用いるようになっている。ここに、図11においては、注目画素がxで示され、注目画素の左隣の画素がa、注目画素の上隣の画素がb、注目画素の左上隣の画素がc、でそれぞれ示されている。そして、各画素a,b,cの画素値をRa,Rb,Rcとし、注目画素xの予測値をPxとすると、予測値Pxは、このような画素データの空間相関性に基づいて、データ変換手段の一部である予測部11により、例えば次の数式1に示すような予測式を用いて算出される。
[数1]
Px=max(Ra,Rb) (Rc<min(Ra,Rb)のとき)
Px=min(Ra,Rb) (Rc>max(Ra,Rb)のとき)
Px=Ra+Rb−Rc (その他のとき)
ここに、右辺の記号max(x,y)は、xとyとの小さくない方の値をとることを意味し、記号min(x,y)は、xとyとの大きくない方の値をとることを意味しており、以下でも同様に用いることにする。
なお、ここでは、数式1に示すような、エッジ検出に適した予測式を用いるようにしているが、適用可能な予測式はこれに限るものではなく、その他の種々の予測式を用いることも可能である。例えば、以下の数式2〜数式8を、予測式の幾つかの例として挙げる。まず、数式2は、注目画素の左隣の画素aの画素値Raを、注目画素xの予測値Pxとするものである。これは、水平方向の画素同士の相関性が高い場合に、精度の良い予測値を得ることができると考えられる。
[数2]
Px=Ra
次に、数式3は、注目画素の上隣の画素bの画素値Rbを、注目画素xの予測値Pxとするものである。これは、垂直方向の画素同士の相関性が高い場合に、精度の良い予測値を得ることができると考えられる。
[数3]
Px=Rb
さらに、数式4は、注目画素の左上隣の画素cの画素値Rcを、注目画素xの予測値Pxとするものである。これは、左上から右下にかけての斜め方向の画素同士の相関性が高い場合に、精度の良い予測値を得ることができると考えられる。
[数4]
Px=Rc
そして、数式5は、注目画素xの左隣の画素aの画素値Raと注目画素xの上隣の画素bの画素値Rbとを加算し、そこから注目画素xの左上隣の画素cの画素値Rcを減算して、注目画素xの予測値Pxとするものである。これは、左上から右下にかけての斜め方向の画素の画素値の変化率に規則性がある場合に、精度の良い予測値を得ることができると考えられる。
[数5]
Px=Ra+Rb−Rc
加えて、数式6は、注目画素xの左隣の画素aの画素値Raに、注目画素xの上隣の画素bの画素値Rbから注目画素xの左上隣の画素cの画素値Rcを減算して2で割ったものを加算し、注目画素xの予測値Pxとするものである。これは、水平方向の画素の画素値の変化率に規則性がある場合に、精度の良い予測値を得ることができると考えられる。
[数6]
Px=Ra+{(Rb−Rc)/2}
また、数式7は、注目画素xの上隣の画素bの画素値Rbに、注目画素xの左隣の画素aの画素値Raから注目画素xの左上隣の画素cの画素値Rcを減算して2で割ったものを加算し、注目画素xの予測値Pxとするものである。これは、垂直方向の画素の画素値の変化率に規則性がある場合に、精度の良い予測値を得ることができると考えられる。
[数7]
Px=Rb+{(Ra−Rc)/2}
さらに、数式8は、注目画素xの左隣の画素aの画素値Raと注目画素xの上隣の画素bの画素値Rbとの平均値を、注目画素xの予測値Pxとするものである。これは、周辺画素との相関性が高い場合(例えば、比較的平坦な場合)に、精度の良い予測値を得ることができると考えられる。
[数8]
Px=(Ra+Rb)/2
なお、上述したような各予測式は、1つの画像データに対して1つのみを用いるに限るものではなく、組み合わせて用いることも可能である。すなわち、例えば、基本的には数式2に示すような予測式を用いるとしても、ライン上の左端の画素が注目画素となっているときには、そのさらに左側には画素が存在しないために、数式3に示す予測式を用いる、などの組み合わせが考えられる。そして、上述した各予測式に限るものではなく、注目画素よりも前に読み出される画素であって、注目画素に空間的な距離が近接する画素であれば、任意の1以上の画素の画素データを用いて予測値を算出することが可能である。
次に、データ変換手段の一部である減算器12は、数式9に示すように、注目画素の実際の画素値Rxから予測値Pxを減算することにより、予測誤差値pred_diffを算出する(ステップS22)(図4のステップS2に対応した処理)。
[数9]
pred_diff=Rx−Px
続いて、絶対値化部13が、予測誤差値pred_diff を絶対値化して、絶対値化された予測誤差値abs_pred_diff を算出する(ステップS23)(図4のステップS3に対応した処理)。この絶対値化には種々の方法があるが、例えば、次の数式10に示すように算出する手段が挙げられる。
[数10]
abs_pred_diff =pred_diff (pred_diff ≧0のとき)
abs_pred_diff =abs(pred_diff )−1 (pred_diff <0のとき)
ここに、第2式右辺のabs()は、絶対値をとることを示している。
そして、絶対値化部13は、この数式10に示すような演算により絶対値化を行う場合には、符号を示すデータ(正負データ)を図1等に示したように、別途出力する。
また、絶対値化の他の方法としては、図12に示すように、予測誤差値「0」に絶対値化データ「0」を与え、予測誤差値「1」に絶対値化データ「1」を与え、予測誤差値「−1」に絶対値化データ「2」を与え、予測誤差値「2」に絶対値化データ「3」を与え、予測誤差値「−2」に絶対値化データ「4」を与え、等を順次行う手段が挙げられる。
なお、これらに限らず、その他の手段により絶対値化を行うようにしても構わない。
このようにして絶対値化された予測誤差値abs_pred_diff が、ゴロムライス符号化の対象となるデータであって、後で説明するステップS28の処理に用いられるとともに、上述したkパラメータを決定するために、以下に説明するように用いられるようになっている。
このように算出された絶対値化された予測誤差値abs_pred_diff は、kパラメータを決定する処理を行うために、まず1画素分遅延される(ステップS24)。
そして、スキャン順序に従った1画素前の絶対値化された予測誤差値abs_pred_diff に基づき、第1の閾値との比較に基づく画素単位の平坦度検出1の処理(ステップS25)と、第2の閾値との比較に基づく画素単位の平坦度検出2の処理(ステップS26)と、が行われる。
ここに、ステップS25における画素単位の平坦度検出1の処理は、図7に示すようにして行う。
すなわち、この処理を開始すると、まず、比較部31が、絶対値化された予測誤差値abs_pred_diff が所定の閾値th1以下であるか否かを判定する(ステップS41a)。
ここで、閾値th1以下である場合には、ランカウンタ32内に備えられたランカウンタrun_count1をカウントアップ(図7においては、カウントアップを、記号「run_count1+1」により示している)する(ステップS42a)。このランカウンタrun_count1は、閾値th1以下である絶対値化された予測誤差値abs_pred_diff が何画素連続しているかを計数するためのカウンタである。
そして、比較部33は、ランカウンタrun_count1が、所定のラン長を示す閾値th_run1 以上であるか否かを判定する(ステップS43a)。
ここで、閾値th_run1 以上である場合には、kパラメータ下限値決定部34が、kパラメータ候補k_param1に、所定のkパラメータ設定値k_low1を格納する(ステップS44a)。
また、ステップS41aにおいて、絶対値化された予測誤差値abs_pred_diff が所定の閾値th1よりも大きいと判定された場合には、ランカウンタ32は、ランカウンタrun_count1を初期化(つまり、「0」を格納)する(ステップS45a)。
このステップS45aが終了するか、または、ステップS43aにおいてランカウンタrun_count1が、閾値th_run1 よりも小さいと判定された場合には、kパラメータ下限値決定部34が、kパラメータ候補k_param1に、所定のkパラメータ設定値k_high1 (ここに、k_high1 >k_low1)を格納する(ステップS46a)。
こうして、ステップS44aまたはステップS46aが終了したところで、この処理から図6に示した処理に復帰する。
さらに、ステップS26における画素単位の平坦度検出2の処理は、図8に示すようになっている。この図8に示す処理は、図7に示した処理に比して、閾値th1が閾値th2(th2>th1)となり、ランカウンタrun_count1がランカウンタrun_count2となり、所定のラン長を示す閾値th_run1 が閾値th_run2 となり、所定のkパラメータ設定値k_low1が所定のkパラメータ設定値k_low2(k_low2>k_low1)となり、所定のkパラメータ設定値k_high1 が所定のkパラメータ設定値k_high2 (k_high2 >k_low2)となり、kパラメータ候補k_param1がkパラメータ候補k_param2となる点を除いて、ステップS41a〜S46aの各処理が、ステップS41b〜S46bの各処理にそれぞれ対応するものとなっている。
なお、図7に示した画素単位の平坦度検出1の処理や、図8に示した画素単位の平坦度検出1の処理において用いられる各閾値や設定値は、具体的には、例えば図13に示すように設定されている。
すなわち、閾値th1は「15」、閾値th2は「31」、閾値th_run1 は「2」、閾値th_run2 は「2」、kパラメータ設定値k_low1は「2」、kパラメータ設定値k_low2は「4」、kパラメータ設定値k_high1 は「5」、kパラメータ設定値k_high2 は「5」となっている。
また、上述したステップS24〜S26までの処理が、図4のステップS4の処理の一部に対応している。
その後、上述したステップS25,S26の各処理の結果、つまり、ステップS25により算出されたkパラメータ候補k_param1と、ステップS26により算出されたkパラメータ候補k_param2と、に基づいて、符号長設定手段たるkパラメータ決定部15が、次の数式11に示すようにkパラメータk_param を決定する(ステップS27)(図4のステップS5に対応した処理)。
[数11]
k_param =min(k_param1,k_param2)
この処理を行うことにより、具体的には、図14に示すようにkパラメータk_param が決定される。すなわち、図13に示したように、所定のラン長を示す閾値th_run1 ,th_run2 がともに「2」となっていて、kパラメータ設定値k_low1,k_low2,k_high1 ,k_high2 が該図13に示すように与えられているケースでは、kパラメータk_param は、前画素以前(前画素も含む)の2画素が閾値th1以下であるときに「2」となり、前画素以前(前画素も含む)の2画素が閾値th1よりも大きく閾値th2以下であるときに「4」となり、それ以外のときに「5」となる。
そして、算出されたkパラメータk_param に基づき、符号化手段たるゴロムライス符号化部16が、上記ステップS23において絶対値化された予測誤差値abs_pred_diff をゴロムライス符号化する(ステップS28)(図4のステップS6に対応した処理)。具体的な例としては、図15に示すように、絶対値化された予測誤差値abs_pred_diff が2進数で表して「000001110110」となり、kパラメータk_param が「5」である場合には、下位の5ビット「10110」が固定長符号部分となり、残りの上位ビット「0000011」は十進数で表すと「3」であるために可変長符号部分は「000」となり、この可変長符号部分の後に区切り符号「1」を付加して「0001」となる。そして、これらを合成することにより、ゴロムライス符号化により得られる符号は「000110110」となる。こうして、12ビットの情報が9ビットに圧縮されたことが分かる。
このように、1画素分のゴロムライス符号化が終了したら、該画素が1ラインの中の最後の画素であるか否か、つまり1ライン分の符号化が終了したか否かを判定する(ステップS29)。
ここで、まだ1ライン分の符号化が終了していないと判定された場合には、ステップS21へ戻って同一ライン内の次の画素について、上述したような処理を繰り返して行う。
一方、ステップS29において、1ライン分の符号化が終了したと判定された場合には、ライン単位の平坦度検出1の処理(ステップS30)(図4のステップS4の一部に対応した処理)と、ライン単位の平坦度検出2の処理(ステップS31)(図4のステップS4の一部に対応した処理)と、を行う。
すなわち、ステップS30におけるライン単位の平坦度検出1の処理は、図9に示すように、ランカウンタ32が、外部カウントリセット信号に応じて、ランカウンタrun_count1を初期化(つまり、「0」を格納)することにより行う(ステップS51a)。
同様に、ステップS31におけるライン単位の平坦度検出2の処理は、図10に示すように、ランカウンタ32が、外部カウントリセット信号に応じて、ランカウンタrun_count2を初期化(つまり、「0」を格納)することにより行う(ステップS51b)。
これらステップS30およびステップS31の処理が終了したら、画像データの全ラインについての処理が行われたか否か、つまり画像データ全体の処理が終了したか否かを判定し(ステップS32)、終了していない場合には、上記ステップS21へ戻って、次のラインの画素について、上述したような処理を繰り返して行う。
また、ステップS32において画像データ全体の処理が終了したと判定された場合には、この処理を終了する。
続いて、図16から図21を参照して、比較的ランダム性が高い1ライン分の画像データを符号化する具体的な一例について説明する。
ここに、図16はデータ符号化装置1による処理の対象となる画像データ1ライン分の例であって比較的ランダム性が高い例を示す図、図17はデータ符号化装置1により図16の画像データから算出される予測誤差値を示す図、図18はデータ符号化装置1により図17の予測誤差値から得られる絶対値化された予測誤差値を示す図、図19は図16の画像データの画素値と図17の予測誤差値との様子を示す線図、図20は図18に示した絶対値化された予測誤差データに応じてランカウンタやkパラメータが設定される様子を示す図表、図21は図16に示した画像データに対して本実施形態の技術によりなされる圧縮率をkパラメータを固定したときの圧縮率と対比して示す図表である。
まず、図16に示すような、32画素で構成される1ライン分の画像データがデータ符号化装置1に入力されるものとする。
すると、予測部11が過去に読み出された画素値を用いて、注目画素の画素値を、例えば数式2に示したように予測する。ただし、ライン先頭の画素だけは、数式2による予測を行うことができないために、予測値を「0」とする。
次に、減算器12が、数式9に基づき、図17に示すような予測誤差値を算出する。
ここに、図16に示した画素データの画素値と、図17に示した予測誤差値とは、図19に示すような分布となっていて、ここでは比較的ランダム性の高いデータを例に挙げている。
さらに、絶対値化部13が、数式10に基づき、図18に示すような絶対値化された予測誤差値を算出する。
この絶対値化された予測誤差値を1画素分遅延してから、平坦度検出部14による、閾値th1を「15」とする平坦度検出1の処理と、閾値th2を「31」とする平坦度検出2の処理と、が図20に示すように行われる。
例えば、絶対値化された予測誤差値は、2画素目から6画素目までは連続して15以下であり、7画素目に15を超えるために、該7画素目に係る平坦度検出1(1画素遅延されているために、6画素目の絶対値化された予測誤差値が用いられる)において、ランカウンタrun_count1は「5」となり、8画素目に係る平坦度検出1において、ランカウンタrun_count1は「0」にリセットされる。
従って、1画素目から3画素目まではランカウンタrun_count1が2未満であるために、kパラメータ候補k_param1は5(=k_high1 )となるが、4画素目から7画素目まではランカウンタrun_count1が2以上であるために、kパラメータ候補k_param1は2(=k_low1)となる。
同様に、絶対値化された予測誤差値は、2画素目から8画素目までは連続して31以下であり、9画素目に31を超えるために、該9画素目に係る平坦度検出2(1画素遅延されているために、8画素目の絶対値化された予測誤差値が用いられる)において、ランカウンタrun_count2は「7」となり、10画素目に係る平坦度検出2において、ランカウンタrun_count2は「0」にリセットされる。
従って、1画素目から3画素目まではランカウンタrun_count2が2未満であるために、kパラメータ候補k_param2は5(=k_high2 )となるが、4画素目から9画素目まではランカウンタrun_count2が2以上であるために、kパラメータ候補k_param2は4(=k_low2)となる。
そして、kパラメータ決定部15は、数式11に示したように、kパラメータ候補k_param1とkパラメータ候補k_param2との何れか大きくない方の値をkパラメータk_param とするために、kパラメータk_param は、1画素目から3画素目までは5、4画素目から7画素目までは2、8画素目および9画素目は4、などとなる。
このような処理を1画素目から32画素目まで行うことにより、図20に示すような各値が得られる。
このように、適応的に算出されたkパラメータk_param を用いて、ゴロムライス符号化部16により符号化を行った結果を、kパラメータk_param を固定としてゴロムライス符号化部16により符号化を行った場合と比べると、図21に示すようになる。
ここでは、画素値のダイナミックレンジが0〜255である場合、つまり、8ビットで表現される画素値である場合を例に取っている。このときには、32画素分のデータ量は、256ビットとなる。
そして、kパラメータを例えば2に固定したときの符号量は277ビットとなり、符号化する前よりも符号量が増えて、圧縮率は108となる。また、kパラメータを例えば5に固定したときの符号量は203ビットとなり、圧縮率は79となる。これは、画像データのランダム性が高いために、予測値と画素値とのずれである予測誤差値の大きさが大きく、kパラメータを大きめに設定した方が高い圧縮率が得られるからであると考えられる。
これに対して、本実施形態の上述したような適応的なkパラメータを用いると、符号量は204となって、圧縮率は80であり、kパラメータを5に固定したときとほぼ同様の比較的高い圧縮率が得られることが分かる。
次に、図22から図27を参照して、比較的ランダム性が低い1ライン分の画像データを符号化する具体的な他の例について説明する。
ここに、図22はデータ符号化装置1による処理の対象となる画像データ1ライン分の例であって比較的ランダム性が低い例を示す図、図23はデータ符号化装置1により図22の画像データから算出される予測誤差値を示す図、図24はデータ符号化装置1により図23の予測誤差値から得られる絶対値化された予測誤差値を示す図、図25は図22の画像データの画素値と図23の予測誤差値との様子を示す線図、図26は図24に示した絶対値化された予測誤差データに応じてランカウンタやkパラメータが設定される様子を示す図表、図27は図22に示した画像データに対して本実施形態の技術によりなされる圧縮率をkパラメータを固定したときの圧縮率と対比して示す図表である。
なお、この図22から図27に示す例においても、上述した図16から図21に示した例と同様に、図13に示した各閾値や設定値を用いるものとする。
ここでは、図22に示すような、32画素で構成される1ライン分の画像データがデータ符号化装置1に入力されるものとする。
すると、予測部11が過去に読み出された画素値を用いて、注目画素の画素値を数式2に示したように予測し、減算器12が、数式9に基づき、図23に示すような予測誤差値を算出する。
ここに、図22に示した画素データの画素値と、図23に示した予測誤差値とは、図25に示すような分布となっていて、図19に示したような分布と比較すると、ランダム性の低いデータの例となっている。
さらに、絶対値化部13が、数式10に基づき、図24に示すような絶対値化された予測誤差値を算出する。
この絶対値化された予測誤差値を1画素分遅延してから、平坦度検出部14による、閾値th1を「15」とする平坦度検出1の処理と、閾値th2を「31」とする平坦度検出2の処理と、が行われる。
この場合には、絶対値化された予測誤差値は、1画素目だけが15を超えていて、2画素目から32画素目まで連続して15以下であるために、平坦度検出1においては、図26に示すように、kパラメータ候補k_param1が、1画素目から3画素目までは5(=k_high1 )、4画素目から32画素目までは連続して2(=k_low1)となる。
同様に、絶対値化された予測誤差値は、1画素目だけが31を超えていて、2画素目から32画素目まで連続して31以下であるために、平坦度検出2においても、図26に示すように、kパラメータ候補k_param2が、1画素目から3画素目までは5(=k_high2 )、4画素目から32画素目までは連続して4(=k_low2)となる。
従って、kパラメータ決定部15は、数式11に基づいて、kパラメータk_param を、1画素目から3画素目までは5、4画素目から32画素目までは2、とする。
このように、適応的に算出されたkパラメータk_param を用いて、ゴロムライス符号化部16により符号化を行った結果を、kパラメータk_param を固定としてゴロムライス符号化部16により符号化を行った場合と比べると、図27に示すようになる。
まず、32画素分のデータ量が256ビットとなるのは上述した通りである。
そして、kパラメータを2に固定したときの符号量は117ビットとなり、圧縮率は46となる。また、kパラメータを5に固定したときの符号量は193ビットとなり、圧縮率は75となる。これは、画像データのランダム性が比較的低く、予測値と画素値とのずれである予測誤差値の大きさが小さいために、kパラメータを小さめに設定した方が高い圧縮率が得られるからであると考えられる。
これに対して、本実施形態の上述したような適応的なkパラメータを用いると、符号量は112となって、圧縮率は44であり、kパラメータを2に固定したときよりもさらに少し高い圧縮率が得られることが分かる。
そして、図21に示した結果と、図27に示した結果と、を比べてみると、kパラメータを固定する場合には、ランダム性の高いデータではk=5が高い圧縮率を得られ、ランダム性の低いデータではk=2が高い圧縮率を得られるが、逆に言えば、ランダム性の高いデータではk=2は圧縮率が100を超えてしまい、ランダム性の低いデータではk=5はあまり高い圧縮率とはいえなかった。これに対して、本実施形態によれば、ランダム性の高いデータとランダム性の低いデータとの何れであっても、安定して、高い圧縮率を達成することができている。
次に、図5はデータ復号化装置2による伸張処理の流れの概要を示すフローチャートである。
この処理を開始すると、予測誤差データ復号化手段たるゴロムライス復号化部21が、図6のステップS28で説明したのと逆の手順により、ゴロムライス復号化を行って、絶対値化された予測誤差値abs_pred_diff を算出する(ステップS11)。なお、この絶対値化された予測誤差値abs_pred_diff は、後述するように、次の画素のkパラメータの決定にも用いられる。
次に、正負変換部24が、正負データを用いて、絶対値化された予測誤差値abs_pred_diff から予測誤差値pred_diff を算出する(ステップS12)。
続いて、注目データ復号化手段の一部である予測部26が、既に算出されている画素値を用いて、上記数式1〜数式8の何れかにより、予測値Pxを生成する(ステップS13)。
そして、注目データ復号化手段の一部である加算器25が、次の数式12により、予測値Pxと予測誤差値pred_diff とに基づき、画素値Rxを算出する(ステップS14)。
[数12]
Rx=Px+pred_diff
こうして算出された画素値Rxは、データ復号化装置2からの出力データになる。
また、ゴロムライス復号化部21から出力された絶対値化された予測誤差値abs_pred_diff は、1画素分遅延された後に、平坦度検出部22により2種類の閾値th1,th2に基づきkパラメータ候補k_param1,k_param2が上述したように算出される(ステップS15)。
そして、これらの算出結果に基づき、符号長設定手段たるkパラメータ決定部23が、数式11に示したようにkパラメータを決定する(ステップS16)。
このような実施形態1によれば、注目画素の近傍の平坦性を調べて、平坦度に応じて適応的にkパラメータを設定するようにしているために、高い圧縮性能を発揮することができる。
さらに、隣接画素の画素値を所定の閾値と比較して、該閾値以下が連続するときにランカウンタによるカウントを行い、カウント数が所定のラン長以上のときに平坦であると判断するようにしているために、必要なメモリ量を小さくすることができる。
そして、平坦性を判断する際の所定の閾値として、複数種類(上述した例では、th1とth2の2種類であるが、2種類に限るものではない。)を設けているために、高い精度で平坦性を判断することが可能となる。
加えて、圧縮されたデータを、短い処理時間、かつ、小さな必要なメモリ量で復号化することが可能となる。
[実施形態2]
図28から図34は本発明の実施形態2を示したものであり、図28はデータ符号化装置の構成を示すブロック図、図29はデータ復号化装置の構成を示すブロック図である。この実施形態2において、上述の実施形態1と同様である部分については同一の符号を付して説明を省略し、主として異なる点についてのみ説明する。
図28に示す本実施形態のデータ符号化装置1Aは、図1に示したデータ符号化装置1とほぼ同様に構成されているが、平坦度検出部14と並列してダイナミックレンジ算出部17が設けられ、kパラメータ決定部15Aが、平坦度検出部14による検出結果と、ダイナミックレンジ算出部17による算出結果と、の両方を用いてkパラメータを決定する点が異なっている。そして、ダイナミックレンジ算出部17は、絶対値化部13から出力される絶対値化された予測誤差値abs_pred_diff のダイナミックレンジを算出し、算出結果をkパラメータ決定部15Aへ出力するようになっている。このデータ符号化装置1Aの詳細については、後で図30等を参照しながら作用に沿って説明する。
次に、このデータ符号化装置1Aにより圧縮されたデータは、図29に示すようなデータ復号化装置2Aにより復号化されるようになっている。すなわち、本実施形態のデータ復号化装置2Aは、図2に示したデータ復号化装置2とほぼ同様に構成されているが、平坦度検出部22と並列してダイナミックレンジ算出部27が設けられ、kパラメータ決定部23Aが、平坦度検出部22による検出結果と、ダイナミックレンジ算出部27による算出結果と、の両方を用いてkパラメータを決定する点が異なっている。そして、ダイナミックレンジ算出部27は、ゴロムライス復号化部21から出力される絶対値化された予測誤差値abs_pred_diff のダイナミックレンジを算出し、算出結果をkパラメータ決定部23Aへ出力するようになっている。
なお、図28、図29において、各ブロック間の相互の動作タイミングの調整は、図示しないタイミング調整回路により行うようになっている。
続いて、図30は、データ符号化装置1Aによる圧縮処理の詳細を示すフローチャートである。この図30に示す処理において、上述した実施形態1の図6に示した処理と同様である部分については、同一の符号を付して説明を省略し、主として異なる点についてのみ説明する。
この処理においては、ステップS24の処理により、絶対値化された予測誤差値abs_pred_diff を1画素分遅延した後に、ステップS25における画素単位の平坦度検出1の処理と、ステップS26における画素単位の平坦度検出2の処理と、を行うとともに、これらと平行して、前画素ダイナミックレンジ算出の処理を行うようになっている(ステップS33)。
このステップS33の処理においては、前画素の有効な画素値部分のビット数を算出する。すなわち、ダイナミックレンジ算出手段たるダイナミックレンジ算出部17は、前画素の画素値を上位ビットから下位ビット側へ向けて1ビットずつ検出していき、最初に「0」でないビット値(つまり、ビット値「1」)が得られたビットの桁を求める処理を行う。このとき求められたダイナミックレンジをpre_range とする。
続いて、ステップS25,S26,S33の各処理の結果、つまり、ステップS25により算出されたkパラメータ候補k_param1と、ステップS26により算出されたkパラメータ候補k_param2と、ステップS33により算出されたダイナミックレンジpre_range と、に基づいて、符号長設定手段たるkパラメータ決定部15Aが、次の数式13に示すようにkパラメータk_param を決定する(ステップS27A)。
[数13]
k_param =max(pre_range,min(k_param1,k_param2))
すなわち、ここでは、kパラメータ候補k_param1とkパラメータ候補k_param2との内の何れか大きくない方と、ダイナミックレンジpre_range と、の内の何れか小さくない方を、kパラメータk_param として設定するようにしている。
その他の処理は、上述した実施形態1の図6に示した処理と同様である。
続いて、図31,図32を参照して、比較的ランダム性が高い1ライン分の画像データを符号化する具体的な一例について説明する。
ここに、図31は図18に示した絶対値化された予測誤差データに応じてランカウンタやkパラメータが設定される様子を示す図表、図32は図16に示した画像データに対して本実施形態の技術によりなされる圧縮率をkパラメータを固定したときの圧縮率と対比して示す図表である。
ここでは、図16に示した画像データから、図17に示したような予測誤差値を算出して、図18に示したような絶対値化された予測誤差値を算出し、この絶対値化された予測誤差値を、本実施形態の手段により算出されたkパラメータに基づき圧縮する例について説明する。また、平坦度検出部14により平坦度を検出する際に用いる各閾値や設定値は、図13に示したものと同様である。
この図31に示す各値の中で、絶対値化された予測誤差データ、ランカウンタrun_count1、ランカウンタrun_count2、kパラメータ候補k_param1、およびkパラメータ候補k_param2は、図20に示したものと同様である。
そして、本実施形態においては、これらに加えて、ダイナミックレンジpre_range が算出される。まず、注目画素がライン先頭の画素(1画素目)である場合には、前画素が存在しないために、ダイナミックレンジpre_range を予め定められた所定値「5」に例えば設定する。
次に、2画素目においては、1画素遅延された前画素である1画素目の絶対値化された予測誤差データが「49」、つまり8ビットのビット表現で「00110001」であるために、有効なビット部分は「110001」の6ビット分となり、ダイナミックレンジpre_range として「6」が設定される。その後も同様にしてダイナミックレンジpre_range が順次設定されるが、ただし、絶対値化された予測誤差データが「0」であるときには、ダイナミックレンジpre_range として「1」が設定されるようになっている。
このようにして、kパラメータ候補k_param1、kパラメータ候補k_param2、およびダイナミックレンジpre_range が揃ったら、数式13に従って、kパラメータk_param が決定される。例えば、6画素目においては、kパラメータ候補k_param1が「2」、kパラメータ候補k_param2が「4」であるために、上述した実施形態1においてはkパラメータk_param として「2」が設定されたが、本実施形態では、ダイナミックレンジpre_range が「3」であるために、kパラメータk_param として「3」が設定される。
このように、適応的に算出されたkパラメータk_param を用いて、ゴロムライス符号化部16により符号化を行った結果を、kパラメータk_param を固定としてゴロムライス符号化部16により符号化を行った場合と比べると、図32に示すようになる。
まず、32画素分のデータ量が256ビットとなるのは上述した通りであり、kパラメータを2に固定したときの符号量および圧縮率と、kパラメータを5に固定したときの符号量および圧縮率と、も図21に示したものと同様である。
これに対して、本実施形態の上述したような適応的なkパラメータを用いると、符号量は207となって、圧縮率は81であり、kパラメータを5に固定したときや、実施形態1の適応的に求められたkパラメータを用いたときとほぼ同様の、比較的高い圧縮率が得られることが分かる。
次に、図33,図34を参照して、比較的ランダム性が低い1ライン分の画像データを符号化する具体的な他の例について説明する。
ここに、図33は図24に示した絶対値化された予測誤差データに応じてランカウンタやkパラメータが設定される様子を示す図表、図34は図22に示した画像データに対して本実施形態の技術によりなされる圧縮率をkパラメータを固定したときの圧縮率と対比して示す図表である。
ここでは、図22に示した画像データから、図23に示したような予測誤差値を算出して、図24に示したような絶対値化された予測誤差値を算出し、この絶対値化された予測誤差値を、本実施形態の手段により算出されたkパラメータに基づき圧縮する例について説明する。また、平坦度検出部14により平坦度を検出する際に用いる各閾値や設定値は、図13に示したものと同様である。
この図33に示す各値の中で、絶対値化された予測誤差データ、ランカウンタrun_count1、ランカウンタrun_count2、kパラメータ候補k_param1、およびkパラメータ候補k_param2は、図26に示したものと同様である。
そして、上述と同様に、ダイナミックレンジpre_range が算出される。
こうして、kパラメータ候補k_param1、kパラメータ候補k_param2、およびダイナミックレンジpre_range が揃ったら、数式13に従って、kパラメータk_param が決定される。
このように、適応的に算出されたkパラメータk_param を用いて、ゴロムライス符号化部16により符号化を行った結果を、kパラメータk_param を固定としてゴロムライス符号化部16により符号化を行った場合と比べると、図34に示すようになる。
まず、32画素分のデータ量が256ビットとなるのは上述した通りであり、kパラメータを2に固定したときの符号量および圧縮率と、kパラメータを5に固定したときの符号量および圧縮率と、も図27に示したものと同様である。
これに対して、本実施形態の上述したような適応的なkパラメータを用いると、符号量は118となって、圧縮率は46であり、kパラメータを2に固定したときや、実施形態1の適応的に求められたkパラメータを用いたときとほぼ同様の、比較的高い圧縮率が得られることが分かる。
そして、図32に示した結果と、図34に示した結果と、を比べてみると、kパラメータを固定した場合に比して、本実施形態によれば、ランダム性の高いデータとランダム性の低いデータとの何れであっても、安定して、高い圧縮率を達成することができていることが分かる。
また、データ復号化装置2Aにより復号化を行う際には、ダイナミックレンジ算出手段たるダイナミックレンジ算出部27が、ゴロムライス復号化部21により復号化された絶対値化された予測誤差値を1画素遅延した後に、上述したダイナミックレンジ算出部17と同様にダイナミックレンジの算出を行う。
そして、符号長設定手段たるkパラメータ決定部23Aが、上述したkパラメータ決定部15Aと同様に、数式13に従ってkパラメータを決定する。
データ復号化装置2Aのその他の作用は、上述した実施形態1のデータ復号化装置2と同様である。
このような実施形態2によれば、上述した実施形態1とほぼ同様の効果を奏するとともに、平坦度の検出に加えて、さらに、前画素のダイナミックレンジを算出し、検出された平坦度と算出されたダイナミックレンジとに基づきkパラメータを決定するようにしたために、画像が取り得るより多くの態様に対応して、高い圧縮性能を発揮することができる。
このとき、ダイナミックレンジの算出は、前画素の有効ビット数を検出するだけであるために、必要なメモリ量を小さくし、かつ高速な処理を行うことが可能である。
そして、圧縮されたデータを、短い処理時間、かつ、小さな必要なメモリ量で復号化することが可能である。
なお、上述では、処理対象となるデータとして、画像データを例に挙げたが、データ符号化装置やデータ復号化装置により処理し得るデータは、これに限るものではないことは勿論である。
また、上述では、データ符号化装置やデータ復号化装置により処理を行っているが、既存の演算器等にデータ符号化方法やデータ復号化方法を適用することにより処理するようにしても構わない。あるいは、データ符号化装置やデータ復号化装置と同等の処理を行うためのプログラムにより、コンピュータで処理させるようにしても良い。
さらに、上述では、符号化の例としてゴロムライス符号化を、復号化の例としてゴロムライス復号化を、それぞれ例に挙げているが、これに限るものではなく、より一般に、データを可変長符号部分と固定長符号部分とに分けて符号化する手段であれば構わない。従って、符号化の対象となるのは、絶対値化が行われた後の予測誤差値に限るものではない。
なお、本発明は上述した実施形態に限定されるものではなく、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能であることは勿論である。
本発明は、データを可変長符号部分と固定長符号部分とに分けて符号化または復号化するデータ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラムに好適に利用することができる。
本発明の実施形態1におけるデータ符号化装置の構成を示すブロック図。 上記実施形態1におけるデータ復号化装置の構成を示すブロック図。 上記実施形態1における平坦度検出部の構成を示すブロック図。 上記実施形態1のデータ符号化装置による圧縮処理の流れの概要を示すフローチャート。 上記実施形態1のデータ復号化装置による伸張処理の流れの概要を示すフローチャート。 上記実施形態1のデータ符号化装置による圧縮処理の詳細を示すフローチャート。 上記実施形態1において、画素単位で行われる平坦度検出1の処理を示すフローチャート。 上記実施形態1において、画素単位で行われる平坦度検出2の処理を示すフローチャート。 上記実施形態1において、ライン単位で行われる平坦度検出1の処理を示すフローチャート。 上記実施形態1において、ライン単位で行われる平坦度検出2の処理を示すフローチャート。 上記実施形態1において、注目画素と注目画素以前に読み出される近傍画素との配置を示す図。 上記実施形態1における絶対値化の他の例を示す図表。 上記実施形態1の画素単位の平坦度検出において用いられる各閾値や設定値を示す図表。 上記実施形態1における閾値に応じたkパラメータの設定例を示す図表。 上記実施形態1におけるゴロムライス符号化の例を示す図。 上記実施形態1において、データ符号化装置による処理の対象となる画像データ1ライン分の例であって比較的ランダム性が高い例を示す図。 上記実施形態1のデータ符号化装置により図16の画像データから算出される予測誤差値を示す図。 上記実施形態1のデータ符号化装置により図17の予測誤差値から得られる絶対値化された予測誤差値を示す図。 図16の画像データの画素値と図17の予測誤差値との様子を示す線図。 上記実施形態1において、図18に示した絶対値化された予測誤差データに応じてランカウンタやkパラメータが設定される様子を示す図表。 図16に示した画像データに対して実施形態1の技術によりなされる圧縮率を、kパラメータを固定したときの圧縮率と対比して示す図表。 上記実施形態1において、データ符号化装置による処理の対象となる画像データ1ライン分の例であって比較的ランダム性が低い例を示す図。 上記実施形態1のデータ符号化装置により図22の画像データから算出される予測誤差値を示す図。 上記実施形態1のデータ符号化装置により図23の予測誤差値から得られる絶対値化された予測誤差値を示す図。 図22の画像データの画素値と図23の予測誤差値との様子を示す線図。 上記実施形態1において、図24に示した絶対値化された予測誤差データに応じてランカウンタやkパラメータが設定される様子を示す図表。 図22に示した画像データに対して実施形態1の技術によりなされる圧縮率を、kパラメータを固定したときの圧縮率と対比して示す図表。 本発明の実施形態2におけるデータ符号化装置の構成を示すブロック図。 上記実施形態2におけるデータ復号化装置の構成を示すブロック図。 上記実施形態2のデータ符号化装置による圧縮処理の詳細を示すフローチャート。 上記実施形態2において、図18に示した絶対値化された予測誤差データに応じてランカウンタやkパラメータが設定される様子を示す図表。 図16に示した画像データに対して実施形態2の技術によりなされる圧縮率を、kパラメータを固定したときの圧縮率と対比して示す図表。 上記実施形態2において、図24に示した絶対値化された予測誤差データに応じてランカウンタやkパラメータが設定される様子を示す図表。 図22に示した画像データに対して実施形態2の技術によりなされる圧縮率を、kパラメータを固定したときの圧縮率と対比して示す図表。
符号の説明
1,1A…データ符号化装置
2,2A…データ復号化装置
11…予測部(データ変換手段)
12…減算器(データ変換手段)
13…絶対値化部
14,22…平坦度検出部(ランカウンタを含む)
15,15A,23,23A…kパラメータ決定部(符号長設定手段)
16…ゴロムライス符号化部(符号化手段)
17,27…ダイナミックレンジ算出部(ダイナミックレンジ算出手段)
21…ゴロムライス復号化部(予測誤差データ復号化手段)
24…正負変換部
25…加算器(注目データ復号化手段)
26…予測部(注目データ復号化手段)
31,33…比較部
32…ランカウンタ
34…kパラメータ下限値決定部

Claims (14)

  1. データを適応予測して予測誤差データに変換するデータ変換手段と、
    上記予測誤差データが連続して所定の閾値以下となる数を検出するためのランカウンタと、
    上記ランカウンタにより検出された数に応じて、上記予測誤差データの固定長符号部分の符号長を設定する符号長設定手段と、
    上記予測誤差データを可変長符号部分と固定長符号部分とに分けて符号化する符号化手段と、
    を具備したことを特徴とするデータ符号化装置。
  2. 上記符号長設定手段は、上記ランカウンタにより検出された数が、所定のラン長以上である場合には、所定のラン長未満である場合に比して、上記符号長をより短く設定するものであることを特徴とする請求項1に記載のデータ符号化装置。
  3. 上記閾値は複数種類設定可能となっており、
    上記ランカウンタは、設定された複数種類の閾値のそれぞれに対して、予測誤差データが連続して該閾値以下となる数を検出するものであることを特徴とする請求項1に記載のデータ符号化装置。
  4. 上記符号長設定手段は、第1の閾値に対して上記ランカウンタにより検出された数が所定のラン長以上である場合の第1の符号長を、この第1の閾値よりも大きい第2の閾値に対して上記ランカウンタにより検出された数が所定のラン長以上である場合の第2の符号長よりも短く設定するものであることを特徴とする請求項3に記載のデータ符号化装置。
  5. 上記予測誤差データの有効なビット数をダイナミックレンジとして検出するためのダイナミックレンジ算出手段をさらに具備し、
    上記符号長設定手段は、上記第1の符号長と上記第2の符号長との内の大きくない方と、上記ダイナミックレンジと、の内の小さくない方を、上記予測誤差データの固定長符号部分の符号長として設定するものであることを特徴とする請求項4に記載のデータ符号化装置。
  6. データを適応予測して予測誤差データに変換するステップと、
    上記予測誤差データが連続して所定の閾値以下となる数を検出するステップと、
    上記検出された数に応じて、上記予測誤差データの固定長符号部分の符号長を設定するステップと、
    上記予測誤差データを可変長符号部分と固定長符号部分とに分けて符号化するステップと、
    を有することを特徴とするデータ符号化方法。
  7. データを適応予測して予測誤差データに変換するステップと、
    上記予測誤差データが連続して所定の閾値以下となる数を検出するステップと、
    上記検出された数に応じて、上記予測誤差データの固定長符号部分の符号長を設定するステップと、
    上記予測誤差データを可変長符号部分と固定長符号部分とに分けて符号化するステップと、
    をコンピュータに実行させるためのプログラム。
  8. 符号化データを可変長符号部分と固定長符号部分とに分けて復号化することにより予測誤差データを求める予測誤差データ復号化手段と、
    上記予測誤差データ復号化手段により復号化された予測誤差データから適応的に注目データを求める注目データ復号化手段と、
    上記予測誤差データ復号化手段により復号化された、注目データの1つ前のデータに係る予測誤差データに対して、該予測誤差データが連続して所定の閾値以下となる数を検出するためのランカウンタと、
    上記ランカウンタにより検出された数に応じて、上記符号化データの固定長符号部分の符号長を設定する符号長設定手段と、
    を具備し、
    上記予測誤差データ復号化手段は、上記符号長設定手段により設定された符号長に応じて、上記符号化データを可変長符号部分と固定長符号部分とに分けて復号化することにより上記予測誤差データを求めるものであることを特徴とするデータ復号化装置。
  9. 上記符号長設定手段は、上記ランカウンタにより検出された数が、所定のラン長以上である場合には、所定のラン長未満である場合に比して、上記符号長をより短く設定するものであることを特徴とする請求項8に記載のデータ復号化装置。
  10. 上記閾値は複数種類設定可能となっており、
    上記ランカウンタは、設定された複数種類の閾値のそれぞれに対して、予測誤差データが連続して該閾値以下となる数を検出するものであることを特徴とする請求項8に記載のデータ復号化装置。
  11. 上記符号長設定手段は、第1の閾値に対して上記ランカウンタにより検出された数が所定のラン長以上である場合の第1の符号長を、この第1の閾値よりも大きい第2の閾値に対して上記ランカウンタにより検出された数が所定のラン長以上である場合の第2の符号長よりも短く設定するものであることを特徴とする請求項10に記載のデータ復号化装置。
  12. 上記予測誤差データの有効なビット数をダイナミックレンジとして検出するためのダイナミックレンジ算出手段をさらに具備し、
    上記符号長設定手段は、上記第1の符号長と上記第2の符号長との内の大きくない方と、上記ダイナミックレンジと、の内の小さくない方を、上記予測誤差データの固定長符号部分の符号長として設定するものであることを特徴とする請求項11に記載のデータ復号化装置。
  13. 符号化データを可変長符号部分と固定長符号部分とに分けて復号化することにより予測誤差データを求めるステップと、
    上記復号化された予測誤差データから適応的に注目データを求めるステップと、
    上記復号化された、注目データの1つ前のデータに係る予測誤差データに対して、該予測誤差データが連続して所定の閾値以下となる数を検出するステップと、
    上記検出された数に応じて、上記符号化データの固定長符号部分の符号長を設定するステップと、
    を有し、
    上記予測誤差データを求めるステップは、上記固定長符号部分の符号長を設定するステップにより設定された符号長に応じて、上記符号化データを可変長符号部分と固定長符号部分とに分けて復号化することにより上記予測誤差データを求めるステップであることを特徴とするデータ復号化方法。
  14. 符号化データを可変長符号部分と固定長符号部分とに分けて復号化することにより予測誤差データを求めるステップと、
    上記復号化された予測誤差データから適応的に注目データを求めるステップと、
    上記復号化された、注目データの1つ前のデータに係る予測誤差データに対して、該予測誤差データが連続して所定の閾値以下となる数を検出するステップと、
    上記検出された数に応じて、上記符号化データの固定長符号部分の符号長を設定するステップと、
    をコンピュータに実行させるためのプログラムであって、
    上記予測誤差データを求めるステップは、上記固定長符号部分の符号長を設定するステップにより設定された符号長に応じて、上記符号化データを可変長符号部分と固定長符号部分とに分けて復号化することにより上記予測誤差データを求めるステップであることを特徴とするプログラム。
JP2005149884A 2005-05-23 2005-05-23 データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム Active JP4427003B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005149884A JP4427003B2 (ja) 2005-05-23 2005-05-23 データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム
US11/437,497 US7333035B2 (en) 2005-05-23 2006-05-19 Data encoding apparatus, data decoding apparatus, data encoding method, data decoding method, and recording medium recorded with program
CNB2006100809613A CN100508403C (zh) 2005-05-23 2006-05-23 数据编码装置、解码装置、以及数据编码方法、解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005149884A JP4427003B2 (ja) 2005-05-23 2005-05-23 データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム

Publications (2)

Publication Number Publication Date
JP2006332790A true JP2006332790A (ja) 2006-12-07
JP4427003B2 JP4427003B2 (ja) 2010-03-03

Family

ID=37444010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005149884A Active JP4427003B2 (ja) 2005-05-23 2005-05-23 データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム

Country Status (3)

Country Link
US (1) US7333035B2 (ja)
JP (1) JP4427003B2 (ja)
CN (1) CN100508403C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016213526A (ja) * 2015-04-28 2016-12-15 キヤノン株式会社 画像符号化装置及びその制御方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101391601B1 (ko) * 2007-10-15 2014-05-07 삼성전자주식회사 최적의 임계치를 이용한 지수 골롬 이진화에 의한 영상부호화 방법 및 그 장치, 및 영상 복호화 방법 및 그 장치
ATE524927T1 (de) * 2008-01-21 2011-09-15 Ericsson Telefon Ab L M Auf prädiktion basierende bildverarbeitung
US8331664B2 (en) * 2008-01-21 2012-12-11 Telefonaktiebolaget Lm Ericsson (Publ) Prediction-based image processing
JP5375372B2 (ja) * 2009-07-01 2013-12-25 ヤマハ株式会社 圧縮符号化装置、および復号装置
CN102761735B (zh) * 2011-04-25 2014-12-24 中国科学院微电子研究所 编码方法及装置、图像压缩方法及系统
GB2561264B (en) * 2011-05-20 2019-01-02 Kt Corp Method and apparatus for intra prediction within display screen
KR101383775B1 (ko) 2011-05-20 2014-04-14 주식회사 케이티 화면 내 예측 방법 및 장치
JP5966345B2 (ja) * 2011-12-21 2016-08-10 ソニー株式会社 画像処理装置および方法
ES2746961T3 (es) * 2012-04-13 2020-03-09 Canon Kk Procedimiento, aparato y sistema para codificar y descodificar un subconjunto de unidades de transformación de datos de vídeo codificados
CN110197513B (zh) * 2019-05-13 2023-04-28 绍兴文理学院 一种基于调整阈值匹配误差的串匹配数据压缩方法
TW202102010A (zh) 2019-05-24 2021-01-01 瑞典商赫爾桑茲股份有限公司 用於無損資料壓縮和解壓縮的方法、裝置、和電腦程式產品

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0731614B1 (en) * 1995-03-10 2002-02-06 Kabushiki Kaisha Toshiba Video coding/decoding apparatus
US5764374A (en) 1996-02-05 1998-06-09 Hewlett-Packard Company System and method for lossless image compression having improved sequential determination of golomb parameter
US6925249B1 (en) * 2000-07-28 2005-08-02 Microsoft Corporation System and method for storing compressed data onto a storage medium
CN1163054C (zh) * 2000-10-20 2004-08-18 索尼公司 图像处理设备和图像处理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016213526A (ja) * 2015-04-28 2016-12-15 キヤノン株式会社 画像符号化装置及びその制御方法

Also Published As

Publication number Publication date
CN100508403C (zh) 2009-07-01
CN1870440A (zh) 2006-11-29
JP4427003B2 (ja) 2010-03-03
US7333035B2 (en) 2008-02-19
US20060262858A1 (en) 2006-11-23

Similar Documents

Publication Publication Date Title
JP4427003B2 (ja) データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム
JP2005348390A5 (ja)
JP2006140758A (ja) 動画像符号化方法、動画像符号化装置および動画像符号化プログラム
JP2007097145A (ja) 画像符号化装置及び画像符号化方法
JP2014241579A (ja) 映像圧縮装置
JP2007189276A (ja) 画像圧縮装置及び画像圧縮プログラム
JP4500213B2 (ja) データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム
JP5369973B2 (ja) データ符号化/復号方法および装置
JP2004166083A (ja) 符号化装置及び方法
JP5995622B2 (ja) 動画像符号化装置、動画像符号化方法およびプログラム
CN102187678A (zh) 动态图像压缩编码中的编码处理方法和编码处理装置
WO2012081193A1 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
JP4833309B2 (ja) 動画像圧縮符号化装置
JP6168020B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
KR102071459B1 (ko) 부호화 장치 및 부호화 방법
JP5582020B2 (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム
JP4493552B2 (ja) データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム
JP4493551B2 (ja) データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム
JP5582019B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP2006157531A (ja) 動画像符号化復号化装置
JP4125642B2 (ja) 適応型可変長符号化装置、適応型可変長符号化方法及び適応型可変長符号化プログラム
JP2005167852A (ja) 動きベクトル検出方法、及び動きベクトル検出装置
JP2006246062A5 (ja)
JP5276957B2 (ja) 動画像符号化方法及び装置
JP5637010B2 (ja) 動きベクトル検出装置、動きベクトル検出方法及び動きベクトル検出プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091111

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091211

R151 Written notification of patent or utility model registration

Ref document number: 4427003

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131218

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250