JP2007336056A - 符号化装置、符号化方法及びプログラム - Google Patents

符号化装置、符号化方法及びプログラム Download PDF

Info

Publication number
JP2007336056A
JP2007336056A JP2006163453A JP2006163453A JP2007336056A JP 2007336056 A JP2007336056 A JP 2007336056A JP 2006163453 A JP2006163453 A JP 2006163453A JP 2006163453 A JP2006163453 A JP 2006163453A JP 2007336056 A JP2007336056 A JP 2007336056A
Authority
JP
Japan
Prior art keywords
block
prediction
data
encoding
code
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.)
Pending
Application number
JP2006163453A
Other languages
English (en)
Inventor
Taro Yokose
太郎 横瀬
Masanori Sekino
雅則 関野
Tomonori Taniguchi
友紀 谷口
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 JP2006163453A priority Critical patent/JP2007336056A/ja
Priority to US11/594,059 priority patent/US20070286512A1/en
Publication of JP2007336056A publication Critical patent/JP2007336056A/ja
Pending legal-status Critical Current

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/17Methods 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 an image region, e.g. an object
    • H04N19/176Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】 高速にデータファイルを符号化する符号化装置を提供する。
【解決手段】 画像処理装置(符号化装置)は、入力された画像を既定サイズのブロックに分割し、ブロック毎にランレングス変換処理又は予測処理を行う。ブロック内の画素は、それぞれ独立に処理することができるように構成する。これにより、短いフィードバックや分岐がなく、また並列化に適しているために、符号化処理の高速化が容易になる。また、画像の主走査方向に配列された画素群をブロックとすることにより、画素値のバッファリングに要するメモリ領域を小さくすることができる。
【選択図】図5

Description

本発明は、データファイルを符号化する符号化方法に関する。
例えば、特許文献1には、画像データの同一2次元パターンをパラレルに検出することによってパターンランレングスデータを得ることにより、パターンランレングスデータに変換する変換処理を高速化する方法が開示されている。
特開平5−176181号公報
本発明は、上述した背景からなされたものであり、高速にデータファイルを符号化する符号化装置を提供することを目的とする。
[符号化装置]
上記目的を達成するために、本発明にかかる符号化装置は、入力されたデータファイルを、符号化処理の順序で配列された複数のデータ要素からなるブロックに分割するブロック分割手段と、前記ブロック分割手段により分割されたブロックそれぞれについて、他のブロックに含まれるデータ要素に基づいて予測データを生成する予測データ生成手段と、前記予測データ生成手段により生成された予測データと、前記ブロックに含まれるデータ要素とを比較する比較手段と、前記比較手段による比較結果に基づいて、入力されたデータファイルの符号を生成する符号生成手段とを有する。
好適には、前記予測データ生成手段は、注目ブロックの予測データを生成する場合に、この注目ブロックの直前に処理対象となった1つのデータ要素を予測データとし、前記比較手段は、前記注目ブロックに含まれるデータ要素それぞれと、前記予測データとを比較し、前記符号生成手段は、前記予測データと前記注目ブロックに含まれる全てのデータ要素とが一致する場合に、予測が的中した旨を示す符号をこの注目ブロックの符号として生成する。
好適には、前記予測データ生成手段は、注目ブロックの予測データを生成する場合に、この注目ブロックに対して1つの予測データを決定し、決定された予測データが複数配列された予測ブロックを生成し、前記比較手段は、前記予測データ生成手段により生成された予測ブロックと、前記注目ブロックとを比較し、前記符号生成手段は、前記予測ブロックと前記注目ブロックとが一致する場合に、予測が的中した旨を示す符号をこの注目ブロックの符号として生成する。
好適には、前記予測データ生成手段は、注目ブロックの予測データを生成する場合に、この注目ブロックの直前に処理対象であった直前ブロックを予測データとし、前記比較手段は、前記注目ブロックのビット列と前記直前ブロックのビット列とを比較し、前記符号生成手段は、前記注目ブロックのビット列と前記直前ブロックのビット列とが一致する場合に、予測が的中した旨を示す符号をこの注目ブロックの符号として生成する。
好適には、前記比較手段は、前記ブロックに含まれる複数のデータ要素と、それぞれのデータ要素に対応する予測データとを並行して比較する。
好適には、ブロック単位で予測誤差を算出する予測誤差算出手段をさらに有し、前記符号生成手段は、前記予測データと前記ブロックに含まれる全てのデータ要素とが一致する場合に、予測が的中する旨を示す符号を生成し、前記予測データと前記ブロックに含まれるいずれかのデータ要素とが不一致である場合に、前記予測誤差算出手段により算出された予測誤差を示す符号を生成する。
また、本発明にかかる符号化装置は、入力されたデータファイルを、符号化処理の順序で配列された複数のデータ要素からなるブロックに分割するブロック分割手段と、前記ブロック分割手段により分割されたブロックそれぞれについて、他のブロックに含まれるデータ要素に基づいて予測データを生成する予測データ生成手段と、前記予測データ生成手段により生成された予測データに基づいて、ブロック単位で予測誤差を算出する予測誤差算出手段と、前記予測誤差算出手段により算出された予測誤差に基づいて、入力されたデータファイルの符号を生成する符号生成手段とを有する。
[符号化方法]
また、本発明にかかる符号化方法は、入力されたデータファイルを、符号化処理の順序で配列された複数のデータ要素からなるブロックに分割し、分割されたブロックそれぞれについて、他のブロックに含まれるデータ要素に基づいて予測データを生成し、生成された予測データと、前記ブロックに含まれるデータ要素とを比較し、この比較結果に基づいて、入力されたデータファイルの符号を生成する。
[プログラム]
また、本発明にかかるプログラムは、入力されたデータファイルを、符号化処理の順序で配列された複数のデータ要素からなるブロックに分割するステップと、分割されたブロックそれぞれについて、他のブロックに含まれるデータ要素に基づいて予測データを生成するステップと、生成された予測データと、前記ブロックに含まれるデータ要素とを比較するステップと、この比較結果に基づいて、入力されたデータファイルの符号を生成するステップとをコンピュータに実行させる。
本発明の符号化装置によれば、高速にデータファイルを符号化することができる。
[背景と概略]
まず、本発明の理解を助けるために、その背景を説明する。
ランレングス符号化方式は、データファイルにおいて同一のデータ要素が連続する場合に、このデータ要素群(ラン)を、データ要素値と連続長(ランレングス)で表現する符号化方式である。なお、以下の説明では、画像データを符号化する場合を具体例として説明する。
予測符号化方式(狭義)は、画素値を予測し、その予測誤差を符号とする符号化方式である。予測符号化方式は、処理が簡易であるため広く使われており、国際標準JPEG-LSなどもこの一種に分類できる。なお、ランレングス符号化方式も、直前の画素値を予測値とする点で広義の予測符号化方式に含まれるが、以下の説明では、ランレングス符号化方式と、狭義の予測符号化方式とを区別して説明する。
ランレングス符号化方式及び予測符号化方式は、いずれも広く使われているが、処理が基本的に画素単位であるために、高速化が難しいという問題がある。
そこで、本実施形態における画像処理装置2は、入力された画像を既定サイズのブロックに分割し、ブロック毎にランレングス変換処理又は予測処理を行う。ブロック内の画素は、それぞれ独立に処理することができるように構成する。これにより短いフィードバックや分岐がなく、また並列化に適しているために、符号化処理の高速化が容易になる。
なお、ブロックの形状は種々考えられるが、符号化処理の順序でブロックに入れていくことが望ましい。すなわち、画像データを符号化する場合には、画像の主走査方向に配列された画素群をブロックとする。副走査方向に複数の画素を含むブロックを生成すると、画素値をバッファリングするメモリのサイズが大きくなってしまうからである。
[ハードウェア構成]
次に、実施形態における画像処理装置2のハードウェア構成を説明する。
図1は、本発明にかかる符号化方法が適応される画像処理装置2のハードウェア構成を、制御装置21を中心に例示する図である。
図1に例示するように、画像処理装置2は、CPU212及びメモリ214などを含む制御装置21、通信装置22、HDD・CD装置などの記録装置24、並びに、LCD表示装置あるいはCRT表示装置およびキーボード・タッチパネルなどを含むユーザインターフェース装置(UI装置)25から構成される。
画像処理装置2は、例えば、プリンタ装置3の内部に設けられており、符号化プログラム5(後述)及び復号化プログラム6(後述)がインストールされた装置である。
[符号化プログラム]
図2は、制御装置21(図1)により実行され、本発明にかかる符号化方法を実現する第1の符号化プログラム5の機能構成を例示する図である。なお、本例では、各画素の画素値が8ビットで表現されている場合を具体例として説明する。
図2に例示するように、第1の符号化プログラム5は、ブロック分割部500、置換判定部510、ランカウンタ520及びエントロピ符号化部530を有する。
符号化プログラム5において、ブロック分割部500は、入力されたデータファイルを、符号化処理の順序で配列された複数のデータ要素からなるブロックに分割し、分割されたブロックを置換判定部510に出力する。
本例のブロック分割部500は、図3(A)に例示するように、入力された画像を、主走査方向に配列された4画素(画素0〜画素3)からなるブロックに分割し、各ブロックの画像データ(画素0〜画素3の各画素値)を置換判定部510に出力する。
置換判定部510(予測データ生成手段)は、注目ブロックの予測データを生成する場合に、他のブロックに含まれるデータ要素(画素値)に基づいて、予測データを生成する。
本例の置換判定部510は、図3(B)に例示するように、注目ブロックの各画素値に対する予測データを生成する場合に、この注目ブロックの直前画素値(画素3’の画素値)を予測データとする。すなわち、直前ブロックに含まれる単一の画素値(最後の画素値)が、注目ブロックに含まれる各画素の予測画素値となる。
なお、置換判定部510は、図3(C)に例示するように、注目ブロックの各画素値に対する予測データを生成する場合に、この注目ブロックの直前ブロックに含まれる各画素値を予測データとしてもよい。すなわち、注目ブロックの各画素に対する予測画素値は、直前ブロックの対応する位置の画素値となるようにしてもよい。
置換判定部510は、生成された予測データと、注目ブロックに含まれる各データ要素(画素値)とを比較し、全データ要素が予測データと一致した場合に、予測が的中した旨をランカウンタ520に通知し、いずれかのデータ要素が予測データと不一致でなった場合に、予測が外れた旨をランカウンタ520に通知し、この注目ブロックに含まれる画素値をそのまま被符号化シンボルとしてエントロピ符号化部530に出力する。
本例の置換判定部510は、図4(A)に例示するように、直前画素値を4つ配列して予測ブロックを生成し、予測ブロックのビット列と、注目ブロックのビット列(図4(B))とを比較し、これらのビット列が一致した場合(すなわち、図4(C)の差分が0の場合)、予測が的中した旨をランカウンタ520に通知し、一致しない場合(すなわち、図4(C)の差分が0以外である場合)、予測が外れた旨をランカウンタ520に通知し、注目ブロックのビット列(32ビット)を被符号化シンボルとしてエントロピ符号化部530に出力する。
ランカウンタ520は、置換判定部510から予測が的中した旨を通知されると、ランレングス(予測的中の連続数)をカウントアップし、予測が外れると、これまでのカウント値(ラン数)を、置換判定部510に出力する。置換判定部510は、ランカウンタ520からラン数が入力されると、このランの予測データ(直前画素値)と、ラン数とを被符号化シンボルとしてエントロピ符号化部530に出力する。
エントロピ符号化部530は、置換判定部510から入力された予測データ及びラン数、又は、注目ブロックの画素値を可変長符号で符号化する。
本例のエントロピ符号化部530は、置換判定部510から予測データ及びラン数が入力されると、入力された予測データ及びラン数を符号化し、置換判定部510から注目ブロックに含まれる画素群のビット列(32ビット)が入力されると、このビット列を符号化する。
図5は、符号化プログラム5(図2)による符号化処理(S10)のフローチャートである。
図5に示すように、ステップ100(S100)において、ブロック分割部500(図2)は、入力された画像データから、走査順に4画素を切り出し、切り出された4画素を注目ブロックとして置換判定部510に出力する。
ステップ110(S110)において、置換判定部510は、直前ブロックの最後の画素値(すなわち、注目ブロックの直前画素値)を保持しており、保持されている直前画素値と、ブロック分割部500から入力された注目ブロックの各画素値とを並行して比較する。具体的には、置換判定部510は、図4(A)に例示するように、直前画素値が4つ配列されたビット列(予測ブロックのビット列)を生成し、予測ブロックのビット列と、注目ブロックのビット列とを比較して、これらのビット列が完全一致する場合に、予測が的中した旨をランカウンタ520に通知し、これらのビット列が完全一致しなかった場合に、予測が外れた旨をランカウンタ520に出力する。
ステップ120(S120)において、符号化プログラム5は、直前画素値と注目ブロックの各画素値とが全て一致した場合(すなわち、予測が的中した場合)、S130の処理に移行し、直前画素値と注目ブロックのいずれかの画素値とが不一致となった場合(すなわち、予測が外れた場合)、S140の処理に移行する。
ステップ130(S130)において、ランカウンタ520は、置換判定部510から予測が的中した旨を通知されると、ランのカウント値を1つ増加させる。なお、ランの初期値は0である。
符号化プログラム5は、S100の処理に戻って、入力された画像データから、次の注目ブロックを切り出す。なお、次の注目ブロックが存在しない場合には、例外処理が実行される。
ステップ140(S140)において、ランカウンタ520は、置換判定部510から予測が外れた旨を通知されると、ランのカウント値を置換判定部510に出力して、カウント値を初期化する。
置換判定部510は、ランカウンタ520から入力されたカウント値(ラン数)と、そのときの予測画素値(直前画素値)とを被符号化シンボルとしてエントロピ符号化部530に出力する。
エントロピ符号化部530は、置換判定部510から入力されたラン数及び直前画素値を可変長符号で符号化する。
ステップ150(S150)において、置換判定部510は、ラン数及び直前画素値をエントロピ符号化部530に出力した後に、注目ブロックの画素値群をエントロピ符号化部530に出力する。
エントロピ符号化部530は、置換判定部510から入力された注目ブロックの画素値群を可変長符号で符号化する。
ステップ160(S160)において、符号化プログラム5は、入力された画像データを全て符号化したか否かを判断し、未処理の画素が存在する場合に、S100の処理に戻り、全ての画素が符号化された場合に、符号化処理(S10)を終了する。
[復号化プログラム]
次に、上記のように符号化された符号データの復号化方法について説明する。
図6は、制御装置21(図1)により実行される復号化プログラム6の機能構成を例示する図である。
図6に例示するように、復号化プログラム6は、ブロック復号部600、ラン伸長部610、及び画像出力部620を有する。
復号化プログラム6において、ブロック復号部600は、入力された符号データを復号化して、各ブロックの復号値を生成する。本例の復号値は、予測が的中したブロックについては、画素値(直前画素値)及びラン数となり、予測が外れたブロックについては、ブロックに含まれる全画素の画素値となる。
本例のブロック復号部600は、画素値及びラン数をラン伸長部610に出力し、ブロックに含まれる全画素の画素値を画像出力部620に出力する。
ラン伸長部610は、ブロック復号部600から入力されたラン数に応じて、入力された画素値を複製し、これらの画素値をブロックの画素値として画像出力部620に出力する。
本例のラン伸長部610は、(ラン数)×(ブロック内の画素数)だけ、入力された画素値を複製し、複製された画素値を画像出力部620に出力する。
なお、図3(C)に例示するように、直前ブロック全体と注目ブロック全体とをそのまま比較して符号化した場合には、ラン伸長部610は、ラン数だけ、直前ブロック(すなわち、4画素分の画素値)を複製し、複製されたブロックを画像出力部620に出力する。
画像出力部620は、ブロック復号部600又はラン伸長部610から入力されたブロックの画素群を画素毎に分割する。
本例の画像出力部620は、ブロック復号部600から入力されたブロックを4画素として外部に出力する。
図7は、復号化プログラム6(図6)による復号化処理(S20)のフローチャートである。
図7に示すように、ステップ200(S200)において、ブロック復号部600は、入力された符号データを、先頭の符号語から復号化する。復号化されるシンボルは、ラン数及び画素値、又は、ブロックに含まれる画素群の画素値である。
ステップ210(S210)において、復号化プログラム6は、復号化されたシンボルがラン及び画素値である場合に、S220の処理に移行し、復号化されたシンボルがブロックに含まれる画素群の画素値である場合に、S230の処理に移行する。
ステップ220(S220)において、ラン伸長部610は、ブロック復号部600からラン数及び画素値が入力されると、(ラン数)×(ブロック内の画素数)だけ、画素値を複製し、複製された画素値を画像出力部620に出力する。
画像出力部620は、ラン伸長部610から入力された複数の画素値をそのまま外部に出力する。
ステップ230(S230)において、画像出力部620は、ブロック復号部600からブロックに含まれる画素群の画素値が入力されると、入力された画素群の画素値を4画素の画素値として外部に出力する。
ステップ240(S240)において、復号化プログラム6は、全ての符号データが復号化されたか否かを判断し、未処理の符号が存在する場合には、S200の処理に戻り、全ての符号データが復号化された場合には、復号化処理(S20)を終了する。
以上説明したように、本実施形態の画像処理装置2は、ブロック単位でランレングス符号化処理を行うため、符号化処理を高速化できる。
なお、上記実施形態では、ランが途切れた場合(予測が外れた場合)に、ブロックに含まれる画素群の画素値を1つのビット列として符号化したが、この画素群の画素値を画素毎に並行して符号化してもよく、この場合には、復号化処理も各画素の画素値を並行して復号化できる。
[第1の変形例]
次に、上記実施形態の変形例を説明する。
上記実施形態では、ブロック単位でランを計数するため、復号化処理において、(ラン数)×(ブロック内の画素数)を用いて、ランを伸長する必要があるが、符号化処理において、(カウント値)×(ブロック内の画素数)をラン数としてもよい。これにより、画素単位で処理するランレングス方式で復号化することが可能になる。
図8は、第2の符号化処理(S12)のフローチャートである。なお、本図に示された処理のうち、図5に示された処理と実質的に同一のものには同一の符号が付されている。
図8に示すように、S100において、ブロック分割部500(図2)は、入力された画像データから、走査順に4画素を切り出し、切り出された4画素を注目ブロックとして置換判定部510に出力する。
S110において、置換判定部510は、直前ブロックの最後の画素値(直前画素値)を保持しており、保持されている直前画素値と、注目ブロックの各画素値とを並行して比較する。
S120において、符号化プログラム5は、直前画素値と注目ブロックの各画素値とが全て一致した場合、S132の処理に移行し、直前画素値と注目ブロックのいずれかの画素値とが不一致となった場合、S140の処理に移行する。
ステップ132(S132)において、ランカウンタ520は、置換判定部510から予測が的中した旨を通知されると、ランのカウント値をブロック内の画素数だけ増加させる。本例では、1つのブロックに4画素含まれているため、カウント値を4ずつ増加させる。
S140において、ランカウンタ520は、置換判定部510から予測が外れた旨を通知されると、ランのカウント値を置換判定部510に出力して、カウント値を初期化する。
置換判定部510は、ランカウンタ520から入力されたカウント値(ラン数)と、そのときの予測画素値(直前画素値)とを被符号化シンボルとしてエントロピ符号化部530に出力する。
エントロピ符号化部530は、置換判定部510から入力されたラン数及び直前画素値を可変長符号で符号化する。
ステップ152(S152)において、置換判定部510は、ラン数及び直前画素値をエントロピ符号化部530に出力した後に、注目ブロックの画素値群をエントロピ符号化部530に出力する。
エントロピ符号化部530は、置換判定部510から入力された注目ブロックの各画素値をそれぞれ並行して符号化する。
S160において、符号化プログラム5は、入力された画像データを全て符号化したか否かを判断し、未処理の画素が存在する場合に、S100の処理に戻り、全ての画素が符号化された場合に、符号化処理(S10)を終了する。
このように生成された符号データは、従来からあるランレングス方式の復号化処理で復号化できる。
[変形例2]
上記実施形態では、ランレングス符号化処理をブロック単位で行う形態を説明したが、第2の変形例では、予測符号化処理をブロック単位で行う形態を説明する。
予測符号化処理では、図9(A)に例示するように、注目位置Xのデータ要素に対して、周囲の参照位置A〜Cのデータ要素を用いて、予測データを生成し、生成された予測データと、注目位置Xのデータ要素(注目データ)との差分(予測誤差)を符号化する。
これをブロック単位で行う場合には、図9(B)に例示するように、注目位置Xのブロックを注目ブロック、参照位置Aのブロック全体を参照ブロックA、参照位置Bのブロック全体を参照ブロックB、参照位置Cのブロック全体を参照ブロックCとして、注目ブロックに含まれる各画素に対して、参照ブロックの対応する位置にある参照画素値(A0〜A3、B0〜B3、及び、C0〜C3)を用いて、予測値を算出する。
また、図9(C)に例示するように、参照位置Aのブロックを単一の画素値(参照ブロックAの最後の画素値A3)に縮退させ、参照位置Cのブロックを単一の画素値(参照ブロックCの最後の画素値C3)に縮退させてもよい。
図9(B)の予測方法は、多ビット処理による並列化になじみやすいが、図9(C)の予測方法の方が圧縮率が高くなるという特徴を持つ。いずれの予測方法においても、ブロック内の画素値の予測に、同一ブロック内の画素値を用いていないので、フィードバックループが発生せず、処理の高速化が可能になる。
図10は、予測符号化方式を適用した符号化プログラム52の機能構成を例示する図である。なお、本図に示された各構成のうち、図2に示された構成と実質的に同一のものには同一の符号が付されている。
図10に示すように、第2の符号化プログラム52は、図2の符号化プログラム5から、置換判定部510及びランカウンタ520を削除し、予測部540及び予測誤差算出部550を追加した構成をとる。
予測部540は、ブロック分割部500により生成されたブロック単位で、注目ブロックの予測データを生成し、生成された予測データを予測誤差算出部550に出力する。予測データの生成には、注目ブロック以外のブロックに含まれるデータ要素が用いられる。
本例の予測部540は、図9(B)に例示する式を用いて、参照位置Aのブロック(A0〜A3)、参照位置Bのブロック(B0〜B3)、及び参照位置Cのブロック(C0〜C3)の画素値から、注目ブロックの予測データ(X0〜X3)を算出する。
予測誤差算出部550は、ブロック分割部500により生成されたブロック単位で、注目ブロックの予測誤差を算出する。
本例の予測誤差算出部550は、ブロック分割部500から入力された注目ブロックと、予測部540から入力された注目ブロックの予測データ(X0〜X3)との差分を算出し、算出された差分(予測誤差)を被符号化シンボルとしてエントロピ符号化部530に出力する。
本例の予測誤差算出部550は、図11(A)に例示するように、注目ブロックに含まれる各画素(注目画素0〜注目画素3)の画素値と、予測データに含まれる各予測値(予測値X0〜予測値X3)との差分を算出し、算出された差分(予測誤差0〜予測誤差3)それぞれを被符号化シンボルとする。
なお、予測誤差算出部550は、図11(B)に例示するように、予測部540から入力された予測データ(予測値X0〜予測値X3)を1つのブロック(予測ブロック)のビット列とみなし、図11(C)に例示するように、注目ブロックのビット列(注目画素0〜注目画素3のビット列が配列されたもの)と、予測ブロックのビット列との差分を、注目ブロックの予測誤差のビット列として算出してもよい。この場合、画素間で繰下がりが生じうるが、画質劣化として許容しうる範囲内である。また、予測誤差のビット列は、画素毎に分割されて被符号化シンボルとしてもよいし、分割せずにこのまま全体を被符号化シンボルとしてもよい。予測ブロックのビット列をまとめて処理する形態では、図9(B)の予測データ算出処理も、A0〜A3からなるビット列と、B0〜B3からなるビット列と、C0〜C3からなるビット列とを加減算することにより、X0〜X3のビット列を算出できるため、図11(C)の方式と整合性がよく、実装性が高い。
このように、第2の符号化プログラム52は、ブロック単位で予測符号化処理を行うため、予測符号化処理を高速に実現することができる。
[変形例3]
第3の変形例では、上記ランレングス符号化方式と予測符号化方式とを組み合わせる。ランレングス符号化方式と予測符号化符号化とを組み合わせる場合、両者のブロックは一致していなくてもよい。例えば、ランレングス符号化方式は、予測符号化方式よりも処理負荷が軽いので、予測符号化方式よりも並列度(すなわちブロックサイズ)を低くしてバランスしてもよい。
図12は、第3の符号化プログラム54の機能構成を例示する図である。なお、本図に示された各構成のうち、図2又は図10に示された構成と実質的に同一のものには同一の符号が付されている。
図12に例示するように、符号化プログラム54は、4×1ブロック分割部502、予測部540、予測誤差算出部550、2×1ブロック分割部504、ラン生成部560、及び第2のエントロピ符号化部532を有する。
4×1ブロック分割部502は、入力された画像データを、主走査方向に4画素かつ副走査方向に1画素のブロックに分割する。
2×1ブロック分割部504は、入力された画像データを、主走査方向に2画素かつ副走査方向に1画素のブロックに分割する。
すなわち、ランレングス符号化方式が適用される場合には、予測符号化方式が適用される場合よりも小さなブロック(本例では1/2サイズ)が生成される。
2×1ブロック分割部504は、予測誤差算出部550により算出された各画素の予測誤差を、主走査方向に配列された2画素分ずつまとめて、2×1ブロックの予測誤差を生成する。
ラン生成部560は、2×1ブロックの単位で、予測誤差についてランを計数する。すなわち、ラン生成部560は、図2の置換判定部510及びランカウンタ520の機能を有し、予測誤差についてランを計数する。
エントロピ符号化部532は、ラン生成部560により生成された予測誤差のランデータ(ラン数及び予測誤差、又は、ブロック内の全予測誤差)を可変長符号で符号化する。
本例のエントロピ符号化部532は、可変長符号化処理に、2シンボルを新たな1シンボルとして情報源を拡大したハフマン符号を用いることにする。具体的には、図13に例示するように、エントロピ符号化部532は、予測誤差の値及びランの組合せをシンボルとして、ハフマン符号の符号表を設計し、この符号表を用いて、予測誤差及びランの組合せに対応する符号語を出力する。
[その他の変形例]
なお、上記実施形態及び変形例では、いずれも被符号化シンボルを可変長符号でエントロピ符号化しているが、これに限定されるものではなく、これらのシンボル(ラン、画素値、予測誤差など)をそのまま符号として出力してもよい。
本発明にかかる符号化方法が適応される画像処理装置2のハードウェア構成を、制御装置21を中心に例示する図である。 制御装置21(図1)により実行され、本発明にかかる符号化方法を実現する第1の符号化プログラム5の機能構成を例示する図である。 ブロック単位のランレングス符号化方式を説明する図である。 ブロック単位でデータを比較する方法を例示する図である。 符号化プログラム5(図2)による符号化処理(S10)のフローチャートである。 制御装置21(図1)により実行される復号化プログラム6の機能構成を例示する図である。 復号化プログラム6(図6)による復号化処理(S20)のフローチャートである。 第2の符号化処理(S12)のフローチャートである。 ブロック単位の予測符号化方式を説明する図である。 第2の符号化プログラム52の機能構成を例示する図である。 予測データの生成方法を例示する図である。 第3の符号化プログラム54の機能構成を例示する図である。 ランレングス符号化方式と予測符号化方式とを組み合わせた場合の符号表を例示する図である。
符号の説明
2・・・画像処理装置
5,52,54・・・符号化プログラム
500,502,504・・・ブロック分割部
510・・・置換判定部
520・・・ランカウンタ
530,532・・・エントロピ符号化部
540・・・予測部
550・・・予測誤差算出部
560・・・ラン生成部
6・・・復号化プログラム
600・・・ブロック復号部
610・・・ラン伸長部
620・・・画像出力部

Claims (9)

  1. 入力されたデータファイルを、符号化処理の順序で配列された複数のデータ要素からなるブロックに分割するブロック分割手段と、
    前記ブロック分割手段により分割されたブロックそれぞれについて、他のブロックに含まれるデータ要素に基づいて予測データを生成する予測データ生成手段と、
    前記予測データ生成手段により生成された予測データと、前記ブロックに含まれるデータ要素とを比較する比較手段と、
    前記比較手段による比較結果に基づいて、入力されたデータファイルの符号を生成する符号生成手段と
    を有する符号化装置。
  2. 前記予測データ生成手段は、注目ブロックの予測データを生成する場合に、この注目ブロックの直前に処理対象となった1つのデータ要素を予測データとし、
    前記比較手段は、前記注目ブロックに含まれるデータ要素それぞれと、前記予測データとを比較し、
    前記符号生成手段は、前記予測データと前記注目ブロックに含まれる全てのデータ要素とが一致する場合に、予測が的中した旨を示す符号をこの注目ブロックの符号として生成する
    請求項1に記載の符号化装置。
  3. 前記予測データ生成手段は、注目ブロックの予測データを生成する場合に、この注目ブロックに対して1つの予測データを決定し、決定された予測データが複数配列された予測ブロックを生成し、
    前記比較手段は、前記予測データ生成手段により生成された予測ブロックと、前記注目ブロックとを比較し、
    前記符号生成手段は、前記予測ブロックと前記注目ブロックとが一致する場合に、予測が的中した旨を示す符号をこの注目ブロックの符号として生成する
    請求項1に記載の符号化装置。
  4. 前記予測データ生成手段は、注目ブロックの予測データを生成する場合に、この注目ブロックの直前に処理対象であった直前ブロックを予測データとし、
    前記比較手段は、前記注目ブロックのビット列と前記直前ブロックのビット列とを比較し、
    前記符号生成手段は、前記注目ブロックのビット列と前記直前ブロックのビット列とが一致する場合に、予測が的中した旨を示す符号をこの注目ブロックの符号として生成する
    請求項1に記載の符号化装置。
  5. 前記比較手段は、前記ブロックに含まれる複数のデータ要素と、それぞれのデータ要素に対応する予測データとを並行して比較する
    請求項1又は2に記載の符号化装置。
  6. ブロック単位で予測誤差を算出する予測誤差算出手段
    をさらに有し、
    前記符号生成手段は、前記予測データと前記ブロックに含まれる全てのデータ要素とが一致する場合に、予測が的中する旨を示す符号を生成し、前記予測データと前記ブロックに含まれるいずれかのデータ要素とが不一致である場合に、前記予測誤差算出手段により算出された予測誤差を示す符号を生成する
    請求項1に記載の符号化装置。
  7. 入力されたデータファイルを、符号化処理の順序で配列された複数のデータ要素からなるブロックに分割するブロック分割手段と、
    前記ブロック分割手段により分割されたブロックそれぞれについて、他のブロックに含まれるデータ要素に基づいて予測データを生成する予測データ生成手段と、
    前記予測データ生成手段により生成された予測データに基づいて、ブロック単位で予測誤差を算出する予測誤差算出手段と、
    前記予測誤差算出手段により算出された予測誤差に基づいて、入力されたデータファイルの符号を生成する符号生成手段と
    を有する符号化装置。
  8. 入力されたデータファイルを、符号化処理の順序で配列された複数のデータ要素からなるブロックに分割し、
    分割されたブロックそれぞれについて、他のブロックに含まれるデータ要素に基づいて予測データを生成し、
    生成された予測データと、前記ブロックに含まれるデータ要素とを比較し、
    この比較結果に基づいて、入力されたデータファイルの符号を生成する
    符号化方法。
  9. 入力されたデータファイルを、符号化処理の順序で配列された複数のデータ要素からなるブロックに分割するステップと、
    分割されたブロックそれぞれについて、他のブロックに含まれるデータ要素に基づいて予測データを生成するステップと、
    生成された予測データと、前記ブロックに含まれるデータ要素とを比較するステップと、
    この比較結果に基づいて、入力されたデータファイルの符号を生成するステップと
    をコンピュータに実行させるプログラム。
JP2006163453A 2006-06-13 2006-06-13 符号化装置、符号化方法及びプログラム Pending JP2007336056A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006163453A JP2007336056A (ja) 2006-06-13 2006-06-13 符号化装置、符号化方法及びプログラム
US11/594,059 US20070286512A1 (en) 2006-06-13 2006-11-08 Encoding apparatus, encoding method, medium storing program and computer data signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006163453A JP2007336056A (ja) 2006-06-13 2006-06-13 符号化装置、符号化方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2007336056A true JP2007336056A (ja) 2007-12-27

Family

ID=38822058

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006163453A Pending JP2007336056A (ja) 2006-06-13 2006-06-13 符号化装置、符号化方法及びプログラム

Country Status (2)

Country Link
US (1) US20070286512A1 (ja)
JP (1) JP2007336056A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9407918B2 (en) 2012-01-25 2016-08-02 Kabushiki Kaisha Toshiba Apparatus and method for coding image, and non-transitory computer readable medium thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4019790B2 (ja) * 2002-05-23 2007-12-12 富士ゼロックス株式会社 画像処理装置および画像処理プログラム
US9058223B2 (en) * 2011-04-22 2015-06-16 Microsoft Technology Licensing Llc Parallel entropy encoding on GPU

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5944175A (ja) * 1982-09-06 1984-03-12 Mitsubishi Electric Corp デ−タ符号化装置及びデ−タ復号化装置
JPH09294210A (ja) * 1996-04-25 1997-11-11 Canon Inc 画像処理装置及び画像処理方法
JPH1146366A (ja) * 1997-05-30 1999-02-16 Fuji Xerox Co Ltd 画像処理装置および画像処理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8914843D0 (en) * 1989-06-28 1989-08-16 British Aerospace A method of processing video image data for use in the storage or transmission of moving digital images

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5944175A (ja) * 1982-09-06 1984-03-12 Mitsubishi Electric Corp デ−タ符号化装置及びデ−タ復号化装置
JPH09294210A (ja) * 1996-04-25 1997-11-11 Canon Inc 画像処理装置及び画像処理方法
JPH1146366A (ja) * 1997-05-30 1999-02-16 Fuji Xerox Co Ltd 画像処理装置および画像処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9407918B2 (en) 2012-01-25 2016-08-02 Kabushiki Kaisha Toshiba Apparatus and method for coding image, and non-transitory computer readable medium thereof

Also Published As

Publication number Publication date
US20070286512A1 (en) 2007-12-13

Similar Documents

Publication Publication Date Title
KR100750165B1 (ko) 압축률 향상을 위해 개선된 컨텍스트 모델 선택을 사용하는cabac 부호화 방법 및 장치, 그리고 cabac복호화 방법 및 장치
JP2017511997A (ja) データのソース符号化及び復号の装置及びその方法
JP2007214997A (ja) 符号化装置、復号化装置、符号化方法、復号化方法、及びプログラム
CN107105274B (zh) 对视频量化参数解码的方法
JP2007336056A (ja) 符号化装置、符号化方法及びプログラム
CN110021368B (zh) 比对型基因测序数据压缩方法、系统及计算机可读介质
JP2012134858A (ja) データ圧縮装置及びデータ圧縮方法及びデータ圧縮プログラム
JP2006270325A (ja) 画像圧縮装置、画像伸長装置、画像データ、画像処理方法及びプログラム
US8947274B2 (en) Encoding apparatus, decoding apparatus, encoding method, encoding program, decoding method, and decoding program
US8638243B2 (en) Data compression device, data compression method, and medium
JP5206273B2 (ja) 画像符号化装置、画像符号化システム
JP4758494B2 (ja) ビット長を符号に変換する回路及び方法
JP2006311055A (ja) 符号化装置、復号化装置、符号化方法、復号化方法及びプログラム
CN107105249B (zh) 图像量化参数解码方法
JP5842357B2 (ja) 画像処理装置及び画像処理プログラム
JP4784814B2 (ja) 符号化装置、符号化方法、及びプログラム
KR20180031944A (ko) 비디오 디코더 및 이를 포함하는 전자 시스템
JP2006270324A (ja) 符号化装置、データ処理装置、復号化装置、符号化方法、復号化方法、及びプログラム
US9558109B2 (en) Method and apparatus for flash memory arithmetic encoding and decoding
JP2011019097A (ja) 復号装置、符号化装置、画像処理装置およびプログラム
JP4095454B2 (ja) データ復号装置及びデータ復号方法
US8170113B2 (en) Encoder, data file, encoding method, computer readable medium and computer data signal
JP2008131526A (ja) 動画像符号化装置及び動画像符号化プログラム
JP2008042529A (ja) 符号量評価装置、画像形成装置、及び、プログラム
Berezan et al. LOSSLESS CODING ALGORITHMS

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

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101224

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110118