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

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

Info

Publication number
JP2006311055A
JP2006311055A JP2005129440A JP2005129440A JP2006311055A JP 2006311055 A JP2006311055 A JP 2006311055A JP 2005129440 A JP2005129440 A JP 2005129440A JP 2005129440 A JP2005129440 A JP 2005129440A JP 2006311055 A JP2006311055 A JP 2006311055A
Authority
JP
Japan
Prior art keywords
encoding
unit
code
data
value
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
JP2005129440A
Other languages
English (en)
Inventor
Tomonori Taniguchi
友紀 谷口
Taro Yokose
太郎 横瀬
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 JP2005129440A priority Critical patent/JP2006311055A/ja
Priority to US11/297,331 priority patent/US20060245658A1/en
Publication of JP2006311055A publication Critical patent/JP2006311055A/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/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
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/46Embedding additional information in the video signal during the compression process
    • 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)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】 比較的軽い処理負荷でデータを符号化する符号化装置を提供する。
【解決手段】 画像処理装置2は、注目画素Xの画素値と、この注目画素Xの近傍にある複数の周辺画素A〜Dの画素値とを比較して、いずれかの周辺画素の画素値が注目画素Xの画素値と一致する場合に、ランレングス符号化方式を適用し、いずれも一致しなかった場合に、マルコフモデル符号化方式を適用する。ランレングス符号化方式では、上記周辺画素A〜Dの画素値と注目画素Xとのラン(連続一致数)が計数されて符号化される。
【選択図】図6

Description

本発明は、コンテクストに応じて符号を切り替える符号化装置に関する。
例えば、特許文献1は、注目画素xの周辺画素b、cと、注目画素xの近傍の特定画素aとの濃度差を算出し、算出された濃度差のいずれかが所定値以下の時、算出された濃度差をマルコフモデル符号化し、算出された濃度差のいずれもが所定値以上の時、注目画素xを予測符号化する画像符号化方法を開示する。
特開平8−298599号公報
本発明は、上述した背景からなされたものであり、比較的軽い処理負荷でデータを符号化する符号化装置を提供することを目的とする。
[符号化装置]
上記目的を達成するために、本発明にかかる符号化装置は、マルコフモデル符号化方式を用いて、符号化対象となる注目データを符号化する第1の符号化手段と、マルコフモデル符号化とは異なる符号化方式を用いて、前記注目データを符号化する第2の符号化手段と、前記注目データに基づいて、前記第1の符号化手段又は第2の符号化手段を、適用すべき符号化手段として選択する選択手段とを有する。
好適には、前記第2の符号化手段は、ランレングス符号化方式を用いて、前記注目データを符号化する。
好適には、前記第2の符号化手段は、前記注目データと、他の参照データとの一致度合いを示す一致情報を符号化し、前記選択手段は、前記注目データと、前記参照データとを比較して、この比較結果に応じて、適用すべき符号化手段を選択する。
好適には、前記選択手段は、前記注目データと、この注目データに対して既定の位置にある参照データとを比較して、この注目データがいずれの参照データとも一致しなかった場合に、前記第1の符号化手段を選択する。
好適には、前記選択手段は、前記注目データと、少なくとも1つの前記参照データとを比較して、この注目データがいずれかの前記参照データと一致した場合に、前記第2の符号化手段を選択し、前記第2の符号化手段は、前記注目データと前記参照データとが連続して一致する連続一致数を符号化する。
好適には、前記第1の符号化手段は、前記注目データについて、コンテクストを判定するコンテクスト判定手段と、コンテクストに対して一意に符号群を対応付ける対応付けテーブルを用いて、前記コンテクスト判定手段により判定されたコンテクストに対応する符号群を選択する符号群選択手段と、前記符号群選択手段により選択された符号群を用いて、前記注目データの符号を生成する符号生成手段とを有する。
好適には、前記コンテクスト判定手段は、前記選択手段により前記第1の符号化手段が選択された場合にのみ、前記注目データのコンテクストを判定する。
好適には、前記選択手段により選択された符号化手段を識別するための符号識別情報を、前記注目データの符号に付加する識別情報付加手段をさらに有する。
[復号化装置]
また、本発明にかかる復号化装置は、マルコフモデル符号化方式を用いて、復号化対象となる注目符号を符号化する第1の復号化手段と、マルコフモデル符号化方式とは異なる符号化方式を用いて、前記注目符号を復号化する第2の復号化手段と、前記注目符号に付加された符号識別情報に基づいて、前記第1の復号化手段又は第2の復号化手段を、適用すべき復号化手段として選択する復号選択手段とを有する。
好適には、前記第1の復号化手段は、復号化された他のデータに基づいて、前記注目符号のコンテクストを判定するコンテクスト判定手段と、コンテクストに対して一意に符号群を対応付ける対応付けテーブルを用いて、前記コンテクスト判定手段により判定されたコンテクストに対応する符号表を選択する符号表選択手段と、前記符号表選択手段により選択された符号表を用いて、前記注目符号の復号データを生成する復号データ生成手段と を有する。
[符号化方法]
また、本発明にかかる符号化方法は、符号化対象となる注目データに基づいて、マルコフモデル符号化方式又は他の符号化方式を選択し、選択された符号化方式を用いて、前記注目データを符号化する。
また、本発明にかかる符号化方法は、符号化対象となる注目データと、この注目データに対して既定の位置にある参照データとを比較して、マルコフモデル符号化方式又はランレングス符号化方式を選択し、選択された符号化方式を用いて、前記注目データを符号化する。
[復号化方法]
また、本発明にかかる復号化方法は、復号化対象となる注目符号に付加された符号識別情報に基づいて、マルコフモデル符号化方式又は他の符号化方式を選択し、選択された符号化方式を用いて、前記注目符号を復号化する。
[プログラム]
また、本発明にかかるプログラムは、符号化対象となる注目データに基づいて、マルコフモデル符号化方式又は他の符号化方式を選択するステップと、選択された符号化方式を用いて、前記注目データを符号化するステップとをコンピュータに実行させる。
また、本発明にかかるプログラムは、復号化対象となる注目符号に付加された符号識別情報に基づいて、マルコフモデル符号化方式又は他の符号化方式を選択するステップと、選択された符号化方式を用いて、前記注目符号を復号化するステップとをコンピュータに実行させる。
本発明の符号化装置によれば、比較的軽い処理負荷で符号化処理を実現できる。
まず、本発明の理解を助けるために、その背景及び概略を説明する。
近年、デジタルカメラの普及とともにデジタル画像を取り扱う機会が増加し、デジタル画像の高画質化への要求が高まってきている。そのため、画質劣化の全くない画像符号化方法である、可逆符号化方法への要求が大きくなってきている。
このような可逆符号化方法としてマルコフモデル符号化が知られている。
マルコフモデル符号化方式は、符号化対象となる注目データ(例えば、注目画素)について、この注目データの周囲にある参照データ(例えば、注目画素の周囲にある画素の画素値)の状態(すなわち、コンテクスト)を判定し、判定された状態(コンテクスト)に対応する符号化処理を適用する。
以下に、マルコフモデル符号化方式の具体例として、JPEG−LS方式を説明する。
図1は、JPEG−LS方式の符号化処理を実現する符号化プログラム9の構成を例示する図である。
図1に例示するように、符号化プログラム9は、マルコフモデル符号化方式をベースとした符号化処理を行うプログラムであり、画像入力部900、ランレングス生成部910、モード選択部920、コンテクスト決定部930、予測誤差生成部940、コンテクスト計数部950、符号表生成部960、エントロピー符号化部970、及び符号出力部980を有する。
図2は、符号化プログラム9(図1)による符号化処理(S90)のフローチャートである。なお、本例では、画像データが符号化対象である場合を具体例として説明するが、これに限定されるものではなく、符号化対象は、例えば音声データなどであってもよい。
図3は、コンテクストの決定処理を説明する図である。
図2に示すように、ステップ900(S900)において、画像入力部900(図1)は、符号化対象である画像データの中から、処理対象である注目画素X(図3)をスキャン順に設定し、注目画素Xの画素値をランレングス生成部910、予測誤差生成部940及びコンテクスト決定部930に出力する。
ステップ910(S910)において、コンテクスト決定部930は、画像入力部900から入力された注目画素の画素値を既定数まで保持しており、保持されている画素値に基づいて、入力された注目画素Xのコンテクストを決定する。
具体的には、コンテクスト決定部930は、図3(A)に例示するように、注目画素Xに対応する複数の周辺画素A〜Dの画素値を読み出し、読み出された周辺画素A〜Dの画素値を用いて、図3(B)に示す第1の差分値D,第2の差分値D及び第3の差分値Dを算出する。第1の差分値Dは、周辺画素Dの画素値から周辺画素Bの画素値を減算した値であり、第2の差分値Dは、周辺画素Bの画素値から周辺画素Cの画素値を減算した値であり、第3の差分値Dは、周辺画素Cの画素値から周辺画素Aの画素値を減算した値である。
コンテクスト決定部930は、算出された第1の差分値D,第2の差分値D及び第3の差分値Dをモード選択部920に出力する。
ステップ920(S920)において、モード選択部920は、コンテクスト決定部930から入力された第1の差分値D,第2の差分値D及び第3の差分値Dに基づいて、平坦部であるか否かを判定する。具体的には、モード選択部920は、コンテクスト決定部930から入力された第1の差分値D,第2の差分値D及び第3の差分値Dが全て0である場合に、平坦部であると判定して、ランレングス生成部910に対してランレングス符号化方式を適用するよう指示し、これ以外の場合に、平坦部でないと判定して、予測誤差生成部940及びコンテクスト決定部930に対して予測符号化方式を適用するよう指示する。
ここで、ランレングス符号化方式とは、注目データ(本例では、注目画素の画素値)と参照データ(本例では、周辺画素の画素値)とが連続して一致する数を符号化する符号化方式であり、参照データは、それぞれの注目データに対して、少なくとも1つ設定される。すなわち、本発明におけるランレングス符号化方式は、注目データと直前の参照データ(本例では周辺画素Aの画素値)との連続一致数を符号化する方式だけでなく、注目データに対して他の相対位置にある参照データ(例えば、周辺画素Bの画素値及び周辺画素Cの画素値)との連続一致数を符号化する方式を含む。
また、予測符号化方式とは、注目画素毎に参照データ(本例では、周辺画素の画素値)から、注目データ(本例では、注目画素)の予測値を生成し、生成された予測値と、注目データとの差分を算出し、算出された予測誤差を符号化する方式である。
符号化プログラム9は、モード選択部920により平坦部であると判定された場合に、S950の処理に移行し、モード選択部920により平坦部でないと判定された場合に、S930の処理に移行する。
ステップ930(S930)において、コンテクスト決定部920は、モード選択部920からの指示に応じて、算出された第1の差分値D,第2の差分値D及び第3の差分値Dに基づいて、コンテクスト値Qを算出し、算出されたコンテクスト値Qをコンテクスト計数部950に出力する。
コンテクスト計数部950は、コンテクスト決定部920から入力されたコンテクスト値Qが入力されたことを条件として、入力されたコンテクスト値Qを所定の方法により計数する。
予測誤差生成部940は、モード選択部920からの指示に応じて、注目画素Xの予測値を生成し、生成された予測値と、注目画素Xの画素値との差分を算出し、算出された差分を予測誤差としてエントロピー符号化部970及びコンテクスト計数部950に出力する。なお、コンテクスト計数部950に入力される予測誤差は、予測誤差生成部940により生成される予測値の補正に用いられる。
ステップ940(S940)において、符号表生成部960は、コンテクスト計数部950により計数されたコンテクスト値Qなどに基づいて、符号パラメータを決定し、決定された符号パラメータをエントロピー符号化部970に出力する。この符号パラメータは、符号群を決定するためのパラメータであり、例えば、ゴロム符号を生成するためのパラメータである。
ステップ950(S950)において、ランレングス生成部910は、画像入力部900から入力された画素値を既定数まで保持しており、保持されている画素値を用いて、注目画素Xの予測値を生成する。
ランレングス生成部910は、注目画素Xをスキャン方向に更新しながら、注目画素Xの画素値と、この注目画素Xの予測値とを比較して、連続一致数を計数していく。
ステップ960(S960)において、ランレングス生成部910は、注目画素Xの画素値と予測値とが一致しなかったときに(すなわち、ランが途切れたときに)、計数された連続一致数が0であるか否かを判定し、連続一致数が0である場合に、S930の処理に移行し、連続一致数が1以上である場合に、計数された連続一致数をエントロピー符号化部970に出力して、S970の処理に移行する。
ステップ970(S970)において、エントロピー符号化部970は、既定の符号表を用いて、ランレングス生成部910から入力された連続一致数をエントロピー符号化し、符号を符号出力部980に出力する。
ステップ980(S980)において、エントロピー符号化部970は、予測誤差生成部940から入力された予測誤差をエントロピー符号化し、符号を符号出力部980に出力する。
より具体的には、エントロピー符号化部970は、符号表生成部960から入力された符号パラメータを用いて、入力された予測誤差を符号化する。
ステップ990(S990)において、符号化プログラム9は、画像データに含まれる全画素を符号化したか否かを判定し、全画素が符号化された場合に、符号化処理(S90)を終了し、符号化されていない画素が存在する場合に、スキャン順で次の画素を注目画素Xに設定し、S910の処理に戻る。
このように、符号化プログラム9は、図2に示すように、注目画素Xの周辺にある周辺画素A〜Dから、周辺画素の変化状況を示すコンテクスト(本例では、差分値D)を決定し(S910)、決定されたコンテクストに応じて、ランレングス符号化処理(S950〜S970)と、マルコフモデル符号化方式をベースとした予測符号化処理(S930及びS940)とを切り替えている。
また、特許文献1で開示された画像符号化方法では、注目画素の周辺画素と、注目画素の近傍の特定画素との濃度差を算出し、算出された濃度差のいずれかが所定値以下の時、算出された濃度差をマルコフモデル符号化し、算出された濃度差のいずれもが所定値以上の時、注目画素を予測符号化する。
つまり、上記いずれの符号化方法も、注目画素とは異なる他の画素群を参照して、他の画素群の画素値の変化度合いを評価し、この評価結果(具体的には、画素値の差分)に応じて、符号化方式を切り替えている。このように、他の画素群について、画素値の変化度合いを評価して符号化方式を切り替えるのは、マルコフモデル符号化をベースとして符号化処理を設計しているからである。
一方、本実施形態の符号化プログラム5(後述)は、予測符号化方式をベースとした符号化処理を行う。すなわち、符号化プログラム5は、注目画素Xの画素値に基づいて、符号化方式を切り替える。より具体的には、符号化プログラム5は、注目画素Xと周辺画素とを比較して、比較結果に応じて、ランレングス符号化方式又はマルコフモデル符号化方式を適用する。
特に、本例の符号化プログラム5は、複数の予測部を用いたランレングス符号化方式を適用し、かつ、これらの予測部に対応する周辺画素と、注目画素とを比較して、ランレングス符号化方式又はマルコフモデル符号化方式を選択するため、ランレングス符号化方式が選択される可能性がより高くなる。
また、注目画素と周辺画素とが一致するか否かを判定する処理は、3つの差分値Dを算出し、算出された3つ差分値Dがすべて0であるか否かを判定する処理よりも簡単であり、処理負荷が小さい。
[第1の実施形態]
まず、第1の実施形態における符号化プログラム5及びこの符号化プログラム5の動作を説明する。
[符号化プログラム]
図4は、第1の実施形態における符号化プログラム5の構成を例示する図である。
図4に例示するように、第1の符号化プログラム5は、画像入力部500、ランレングス生成部510、選択部520、コンテクスト決定部530、予測誤差生成部540、コンテクスト計数部550、符号表生成部560、エントロピー符号化部570、符号出力部580及び識別情報付与部590を有する。
符号化プログラム5は、画像処理装置2にインストールされて、符号化処理を実現する。
なお、コンテクスト決定部530、予測誤差生成部540、コンテクスト計数部550及び符号表生成部560(以下、これらをまとめてマルコフモデル符号化部という)は、マルコフモデル符号化処理の要部を実現し、ランレングス生成部510は、ランレングス符号化方式の符号化処理の要部を実現する。なお、マルコフモデル符号化部及びエントロピー符号化部570の組は、本発明にかかる第1の符号化手段の一例であり、ランレングス生成部510及びエントロピー符号化部570の組は、本発明にかかる第2の符号化手段の一例である。
符号化プログラム5において、画像入力部500は、符号化対象となる画像データを取得し、取得された画像データのうち、処理対象となる部分データを順に、ランレングス生成部510、コンテクスト決定部530及び予測誤差生成部540に出力する。
本例の画像入力部500は、画像を構成する画素毎に、画素値をコンテクスト決定部522、予測誤差算出部542及び予測部544に出力する。
ランレングス生成部510は、注目画素の画素値と、この注目画素に対して既定位置にある周辺画素の画素値とを比較して、これらの画素値が連続して一致する数(すなわち、連続一致数)を算出し、算出された連続一致数をエントロピー符号化部570に出力する。
本例のランレングス生成部510は、注目画素の画素値と、複数の周辺画素の画素値とを比較して、複数の周辺画素について連続一致数を算出し、算出された連続一致数に基づいて、最適な連続一致数(以下、最適連続一致数)を決定し、決定された最適連続一致数と、この最適連続一致数に対応する周辺画素を識別する識別情報(以下、予測部ID)とをエントロピー符号化部570に出力する。なお、本例の最適連続一致数及びこれに対応する識別情報は、本発明にかかる一致情報の一例である。
また、ランレングス生成部510は、注目画素の画素値と、この注目画素に対して既定位置にある周辺画素の画素値との比較結果を選択部520に出力する。
本例のランレングス生成部510は、いずれかの周辺画素の画素値が注目画素の画素値と一致したか否かを選択部520に出力する。
選択部520(選択手段)は、ランレングス生成部510による比較結果に基づいて、ランレングス符号化方式又はマルコフモデル符号化方式を選択する。より具体的には、選択部520は、注目画素の画素値と周辺画素の画素値とが一致した場合に、ランレングス生成部510により生成されたラン数を符号化するように符号化プログラム5の他の構成を制御し、注目画素の画素値と周辺画素の画素値とがいずれも一致しない場合に、マルコフモデル符号化部による符号化処理を行うように符号化プログラム5の他の構成を制御する。すなわち、選択部520は、注目画素の画素値と周辺画素の画素値とがいずれも一致しないことを条件として、コンテクストの決定処理、予測誤差の生成処理及び符号パラメータの決定処理等を行うようにマルコフモデル符号化部に指示する。
また、選択部520は、いずれの符号化方式を選択したかを識別情報付与部590に通知する。本例の選択部520は、注目画素の画素値と周辺画素の画素値のいずれかとが一致した旨(すなわち、予測が的中した旨)、又は、注目画素の画素値と周辺画素の画素値とがいずれも一致しなかった旨(すなわち、予測がはずれた旨)を識別情報付与部590に出力する。
コンテクスト決定部530(コンテクスト判定手段)は、それぞれの注目画素について、注目画素の周囲にある周囲画素の画素値に基づいて、画素値の変化状況を示すコンテクスト値を算出し、算出された各注目画素のコンテクスト値をコンテクスト計数部550に出力する。
予測誤差生成部540は、画像入力部500から入力された画像データと、この画像データの予測値との差分を算出し、算出された差分を予測誤差としてエントロピー符号化部570に出力する。
本例の予測誤差生成部540は、注目画素に対して既定の位置にある周辺画素の画素値を用いて、仮の予測値を算出し、算出された予測値を、コンテクスト計数部550から入力された予測誤差の計数値に基づいて補正し、補正された予測値と、注目画素の画素値との差分を予測誤差としてエントロピー符号化部570に出力する。
コンテクスト計数部550は、コンテクスト決定部530から入力されたコンテクスト値と、予測誤差生成部540から入力された予測誤差値とを計数して、計数結果を符号表生成部560及び予測誤差生成部540に出力する。
符号表生成部560(符号群選択手段)は、コンテクスト計数部550から入力された計数結果に基づいて、符号表を生成し、生成された符号表をエントロピー符号化部570に出力する。符号表とは、データ値(モデリングされた入力データ)と、それぞれのデータ値に割り振られたビット列(すなわち、符号)とを対応付けるものであり、例えば、テーブルであってもよいし、データ値に対応する符号を算出するためのパラメータ(以下、符号パラメータ)であってもよい。
本例の符号表生成部560は、コンテクスト値の計数結果と、予測誤差の計数結果とに基づいて、ゴロム符号を生成するための符号パラメータを決定する。
エントロピー符号化部570は、ランレングス生成部510から入力されたデータ値(ラン数など)、又は、予測誤差生成部540から入力された予測誤差値を、エントロピー符号化する。
より具体的には、エントロピー符号化部570は、ランレングス生成部510からデータ値が入力された場合には、既定の符号表を用いて、入力されたデータ値を符号に変換する。また、エントロピー符号化部570は、予測誤差生成部540から予測誤差が入力された場合には、入力された予測誤差を、符号表生成部560により生成された符号表(本例では、符号パラメータ)を用いて、符号に変換する。
本例のエントロピー符号化部570は、ランレングス生成部510から入力されたデータ値に基づいて、ハフマン符号を生成し、予測誤差生成部540から入力された予測誤差と、符号表生成部560から入力された符号パラメータとに基づいて、ゴロム符号を生成する。
また、エントロピー符号化部570は、識別情報付与部590から入力された符号識別情報を符号化し、符号化された符号識別情報を、ランレングス生成部510から入力されたデータ値の符号、又は、予測誤差生成部540から入力された予測誤差の符号に対応付けて符号出力部580に出力する。
符号出力部580は、エントロピー符号化部570により生成された符号を外部に出力する。
例えば、符号出力部580は、エントロピー符号化部570から入力された各画素の符号をまとめて符号データとし、この符号データを通信装置22(後述)、記録装置24(後述)又はプリンタ装置3(後述)に出力する。
識別情報付与部590(識別情報付加手段)は、選択部520による選択結果に応じて、適用された符号化方式を識別するための符号識別情報を、符号に付与する。
本例の識別情報付与部590は、注目画素の画素値と予測値(周辺画素の画素値)とが一致したか否かを示す情報を、符号識別情報として生成し、生成された符号識別情報をエントロピー符号化部570に出力する。
図5(A)は、ランレングス生成部510をより詳細に説明する図であり、図5(B)は、予測誤差生成部540をより詳細に説明する図である。
図5(A)に例示するように、ランレングス生成部510は、複数の予測部512(すなわち、第1予測部〜第4予測部)、ラン計数部514及び最長ラン選択部516を含む。
ランレングス生成部510において、複数の予測部512は、互いに異なる予測方法で、注目画素の予測値を生成し、生成された予測値と、注目画素の画素値とが一致したか否か(すなわち、予測が的中したか否か)を予測結果としてラン計数部514に出力する。
本例の複数の予測部512は、図3(A)に例示する各周辺画素A〜Dの画素値を予測値とする。すなわち、第1予測部512Aは、周辺画素Aの画素値を予測値とし、第2予測部512Bは、周辺画素Bの画素値を予測値とし、第3予測部512Cは、周辺画素Cの画素値を予測値とし、第4予測部512Dは、周辺画素Dの画素値を予測値とする。図3(A)に例示するように、周辺画素A〜Dは、注目画素Xを基準として設定されている。具体的には、第1の周辺画素Aは、注目画素Xの主走査方向上流側に隣接する画素であり、第2の周辺画素Bは、注目画素Xの副走査方向上流側に隣接する画素である。また、第3の周辺画素Cは、第2の周辺画素Bの主走査方向上流側に隣接する画素であり、第4の周辺画素Dは、第2の周辺画素Bの主走査方向下流側に隣接する画素である。
このように、本例の予測部512は、注目画素Xに隣接する画素の画素値を予測値とすることにより、特に、コンピュータグラフィック画像(以下、CG画像)において、高い的中率を実現できる。したがって、ランレングス符号化処理により高い圧縮率が期待できる。
ラン計数部514は、各予測部512から入力される予測結果に基づいて、それぞれの予測部について、連続一致数(ラン数)を計数する。
また、ラン計数部514は、全ての予測部512から予測がはずれた旨(すなわち、注目画素の画素値と予測値とが一致しなかった旨)が入力された場合に、全ての予測部で予測がはずれた旨を選択部520に出力し、これまでにカウントしてきた各予測部の連続一致数を最長ラン選択部516に出力する。
最長ラン選択部516は、ラン計数部514から各予測部の連続一致数が入力されると、各予測部の連続一致数に基づいて、ランレングス符号化処理において最適となる連続一致数の組合せを選択し、選択された連続一致数の組合せを最適連続一致数としてエントロピー符号化部570に出力する。
本例では、連続一致数が長いほど圧縮率が高くなるように設計されているため、最長ラン選択部516は、各予測部の連続一致数に基づいて、最大の連続一致数(すなわち、最長ラン)を選択し、選択された最長ランとこれに対応する予測部IDとをエントロピー符号化部570に出力する。
図5(B)に例示するように、予測誤差生成部540は、予測誤差算出部542、予測部544及び予測補正部546を含む。
予測誤差生成部540において、予測誤差算出部542は、画像入力部500から入力された注目画素の画素値と、予測部544から入力された予測値(補正された予測値)との差分を算出し、算出された差分を予測誤差としてエントロピー符号化部570及びコンテクスト計数部550に出力する。
予測部544は、画像入力部500から入力された画素値を保持し、注目画素の周囲にある周辺画素の画素値を用いて、注目画素の予測値を算出し、予測補正部546から入力された補正値に応じて、算出された予測値を補正し、補正された予測値を予測誤差算出部542に出力する。
なお、予測誤差生成部540における予測部544の予測方法は、ランレングス生成部510における予測部512の予測方法と同一であってもよいし、異なるものであってもよい。
予測補正部546は、コンテクスト計数部524から入力された予測誤差の計数結果に基づいて、補正値を決定し、決定された補正値を予測部544に出力する。
[符号化処理]
図6は、符号化プログラム5によりなされる第1の符号化処理(S10)のフローチャートである。
図6に示すように、ステップ100(S100)において、画像入力部500は、外部から、符号化対象となる画像データを取得し、取得された画像データの中から、スキャン順に注目画素Xを設定して、注目画素Xの画素値をランレングス生成部510、コンテクスト決定部530及び予測誤差生成部540に出力する。
ステップ105(S105)において、ランレングス生成部510は、画像入力部500から入力された画素値を既定数まで保持しており、保持されている画素値を用いて、注目画素Xの予測値を生成する。
ランレングス生成部510は、注目画素Xをスキャン方向に更新しながら、注目画素Xの画素値と、この注目画素Xの予測値とを比較して、連続一致数を計数していく。
ランレングス生成部510は、注目画素Xの画素値と予測値とが一致しなかったときに(すなわち、ランが途切れたときに)、計数された連続一致数を選択部520及びエントロピー符号化部570に出力する。
ステップ110(S110)において、選択部520は、ランレングス生成部510から入力された連続一致数が0であるか否かを判定し、連続一致数が0である場合に、予測誤差を符号化するよう他の構成に指示してS115の処理に移行し、連続一致数が1以上である場合に、連続一致数を符号化した後で、予測誤差を符号化するよう他の構成に指示してS160の処理に移行する。
すなわち、選択部520は、注目画素Xの画素値と、周辺画素A〜Dのいずれかの画素値とが一致する場合(すなわち、予測が的中した場合)に、ランレングス符号化処理を行うように制御し、注目画素Xの画素値と、周辺画素A〜Dの画素値とがいずれも一致しない場合(すなわち、予測がはずれた場合)に、マルコフモデル符号化処理を行うように制御する。
ステップ115(S115)において、コンテクスト決定部530は、選択部520からの指示に応じて、注目画素Xに対応する周辺画素A〜Dの状態(すなわち、コンテクスト)を決定し、決定されたコンテクストをコンテクスト計数部550に出力する。
ステップ120(S120)において、予測誤差生成部540は、周辺画素A〜Dのいずれかの画素値に基づいて、注目画素Xの予測値を算出し、算出された予測値を、予測誤差の計数値に応じて補正して、補正された予測値に基づいて、予測誤差を算出する。
予測誤差生成部540は、算出された予測誤差をコンテクスト計数部550及びエントロピー符号化部570に出力する。
ステップ140(S140)において、コンテクスト計数部550は、コンテクスト決定部530から入力されたコンテクストを所定の方法で計数し、予測誤差生成部540から入力された予測誤差を所定の方法で計数する。予測誤差の計数値は、予測誤差生成部540及び符号表生成部560に入力され、コンテクストの計数値は、符号表生成部560に入力される。
符号表生成部560は、コンテクストの計数値及び予測誤差の計数値に基づいて、符号表を作成し、作成された符号表をエントロピー符号化部570に出力する。より具体的には、符号表生成部560は、コンテクストの計数値及び予測誤差の計数値に基づいて、ゴロム符号を生成するための符号パラメータを算出し、算出された符号パラメータをエントロピー符号化部570に出力する。
ステップ160(S160)において、エントロピー符号化部570は、ランレングス生成部510から入力された連続一致数(ラン数)を、ハフマン符号に変換する。
ステップ165(S165)において、識別情報付与部590は、ランレングス符号化方式の符号識別情報を生成し、生成された符号識別情報をエントロピー符号化部570に出力する。
なお、本例では、図9(A)に例示するように、ランレングス生成部510から出力される予測部ID(識別子A〜識別子D)をランレングス符号化方式の符号識別情報として用いるため、識別情報付与部590は、連続一致数に対応する予測部IDをエントロピー符号化部570に出力する。
符号出力部580は、エントロピー符号化部570から入力された連続一致数の符号を、符号識別情報の符号(本例では、予測部ID)に対応付けて外部(例えば、記憶装置等)に出力する。すなわち、図9(B)に例示するように、ラン数の符号(図中の「ラン数」)には、予測部に対応する識別子A〜Dのいずれかが関連付けられる。
ステップ170(S170)において、エントロピー符号化部570は、予測誤差生成部540から入力された予測誤差をゴロム符号に変換し、これらの符号を符号出力部580に出力する。
なお、エントロピー符号化部570は、予測誤差生成部540から入力された予測誤差を符号化する場合には、符号表生成部560から入力された符号パラメータを用いて、入力された予測誤差に対応するゴロム符号を生成する。
ステップ175(S175)において、識別情報付与部590は、選択部520により選択された符号化方式(すなわち、マルコフモデル符号化方式)を識別する符号識別情報を生成し、生成された符号識別情報をエントロピー符号化部570に出力する。
なお、本例の識別情報付与部590は、予測はずれである旨を示す情報(図9に例示した識別子X)をマルコフモデル符号化方式の符号識別情報として生成し、生成された符号識別情報をエントロピー符号化部570に出力する。エントロピー符号化部570に入力された符号識別情報は、エントロピー符号化される。
符号出力部580は、エントロピー符号化部570から入力された予測誤差の符号を、符号識別情報(識別子X)の符号に対応付けて外部(例えば、記憶装置等)に出力する。すなわち、図9(B)に例示するように、予測誤差の符号(図中の「予測誤差」)には、マルコフモデル符号化方式に対応する識別子Xが関連付けられる。
ステップ180(S180)において、符号化プログラム5は、符号化対象の画像データ全体を符号化したか否かを判定し、全体を符号化した場合に、符号化処理(S10)を終了し、符号化していない画素が存在する場合に、スキャン順に次の画素を注目画素Xとし、S105の処理に戻る。
次に、図6に示した予測誤差生成処理(S120)を説明する。
図7は、図6で説明した予測誤差生成処理(S120)をより詳細に説明するフローチャートである。
図7に示すように、ステップ122(S122)において、コンテクスト計数部550は、予測誤差算出部540からこれまでに入力された予測誤差を計数し、予測誤差の計数値を予測補正部546(図5(B))に出力する。
予測補正部546は、コンテクスト計数部540から入力された予測誤差の計数値に基づいて、予測値の補正値を決定し、決定された予測値の補正値を予測部544に出力する。
ステップ124(S124)において、予測部544(図5(B))は、注目画素Xに対応する複数の周辺画素A〜Dの画素値を読み出す。
ステップ126(S126)において、予測部544は、読み出された周辺画素A、B及びCの画素値を比較して、周辺画素Cの画素値が周辺画素A以上であり、かつ、周辺画素B以上である場合に、S128の処理に移行し、周辺画素Cの画素値が周辺画素A又は周辺画素Bのいずれかよりも小さい場合に、S130の処理に移行する。
ステップ128(S128)において、予測部544は、周辺画素Aの画素値と、周辺画素Bの画素値とを比較して、より小さい方の画素値を仮の予測値とする。
次に、予測部544は、この仮の予測値に対して、予測補正部546から入力された補正値を加算して、真の予測値を算出し、算出された真の予測値を予測誤差算出部542に出力する。
ステップ130(S130)において、予測部544は、予測部544は、読み出された周辺画素A、B及びCの画素値を比較して、周辺画素Cの画素値が周辺画素A以下であり、かつ、周辺画素B以下である場合に、S132の処理に移行し、周辺画素Cの画素値が周辺画素A又は周辺画素Bのいずれかよりも大きい場合に、S134の処理に移行する。
ステップ132(S132)において、予測部544は、周辺画素Aの画素値と、周辺画素Bの画素値とを比較して、より大きい方の画素値を仮の予測値とし、この仮の予測値に、予測補正部546から入力された補正値を加算して、真の予測値を算出し、算出された真の予測値を予測誤差算出部542に出力する。
ステップ134(S134)において、予測部544は、周辺画素Aの画素値と、周辺画素Bの画素値とを合算し、この合算値から周辺画素Cの画素値を減算して、仮の予測値を算出する。
次に、予測部544は、算出された仮の予測値に、予測補正部546から入力された補正値を加算して、真の予測値を算出し、算出された真の予測値を予測誤差算出部542に出力する。
ステップ136(S136)において、予測誤差算出部542は、予測部544から入力された予測値(補正後の予測値)と、注目画素Xの画素値の差分を算出し、算出された差分を予測誤差としてエントロピー符号化部570及びコンテクスト計数部550に出力する。
次に、図6に示した符号パラメータ生成処理(S140)を説明する。
図8は、図6で説明した符号パラメータ生成処理(S140)をより詳細に説明するフローチャートである。
図8に示すように、ステップ144(S144)において、コンテクスト決定部530は、S115(図6)で算出された差分値D、差分値D、及び、差分値Dを、9つの数値区間のいずれに属するか否かを判定し、判定された数値区間に対応する部分コンテクスト値Qを算出する。本例の部分コンテクスト値Qは、9つの数値区間それぞれに対応しており、−4から+4までの9つの整数である。
コンテクスト決定部530は、差分値D、差分値D、及び、差分値Dについて、部分コンテクスト値Q、Q、及び、Qを算出する。
ステップ146(S146)において、コンテクスト決定部530は、算出された部分コンテクスト値Q、Q、及び、Qを用いて、注目画素Xのコンテクスト値Qを算出する。具体的には、以下の式により算出される。
Q=Q×81+Q×9+Q
コンテクスト決定部530は、算出されたコンテクスト値Qをコンテクスト計数部550に出力する。
ステップ148(S148)において、コンテクスト計数部550は、コンテクスト決定部530から入力されたコンテクスト値Qが0より大きいか否かを判定し、コンテクスト値Qが0より大きい場合に、S152の処理に移行し、コンテクスト値Qが0以下である場合に、S150の処理に移行する。
ステップ150(S150)において、コンテクスト計数部550は、コンテクスト値Qに対して、(−1)を乗算する。すなわち、コンテクスト計数部550は、負のコンテクスト値Qの絶対値を算出し、算出された絶対値をコンテクスト値Qとする。
ステップ152(S152)において、コンテクスト計数部550は、この注目画素Xについて算出されたコンテクスト値Qを1つのコンテクストとして、このコンテクスト値Qの出現回数を既定の方法で計数する。
また、コンテクスト計数部550は、予測誤差生成部540から入力された予測誤差を計数し、予測誤差の計数値と、コンテクスト値の計数値とを符号表生成部560に出力する。
ステップ154(S154)において、符号表生成部560は、コンテクスト計数部550から入力された予測誤差の計数値及びコンテクスト値の計数値に基づいて、符号表を動的に生成する。
具体的には、符号表生成部560は、予測誤差の計数値及びコンテクスト値の計数値に基づいて、ゴロム符号を生成するための符号パラメータを算出し、算出された符号パラメータをエントロピー符号化部570に出力する。
このように、第1の符号化プログラム5は、注目画素Xの画素値と、周辺画素A〜Dの画素値とを比較して、いずれかの周辺画素で画素値が一致する場合に、ランレングス符号化処理を行い、いずれの周辺画素でも画素値が一致しない場合に、マルコフモデル符号化処理を行う。
すなわち、第1の符号化プログラム5は、いずれの周辺画素でも画素値が一致しない場合にのみ、注目画素毎にコンテクスト値及び予測誤差を算出し、算出されたコンテクスト値及び予測誤差をそれぞれ既定の方法で計数し、コンテクスト値の計数値及び予測誤差の計数値に対応する符号を動的に生成するため、全体の符号化処理を高速に行うことができる。
次に、第1の実施形態における復号化プログラム及びこの復号化プログラムの動作を説明する。
[復号化プログラム]
図10は、第1の実施形態における復号化プログラム6の構成を例示する図である。なお、本図に示された各構成のうち、図4に示された構成と実質的に同一であるものには、同一の符号が付されている。
図10に例示するように、第1の復号化プログラム6は、符号入力部600、識別情報復号部610、復号方式選択部620、エントロピー復号部630、マルコフモデル復号化部640、ランレングス復号化部650及び画像出力部660を有する。
また、マルコフモデル復号化部640は、図4を参照して説明したコンテクスト決定部530及びコンテクスト計数部550、並びに、図5(B)を参照して説明した予測部544及び予測補正部546に加えて、予測誤差加算部642及び符号表生成部644を含む。
また、ランレングス復号化部650は、予測値選択部652及び複製部654を含む。
なお、本例のエントロピー復号部630及びマルコフモデル復号化部640は、本発明にかかる第1の復号化手段の一例であり、エントロピー復号部630及びランレングス復号化部650は、本発明にかかる第2の復号化手段の一例である。
復号化プログラム6において、符号入力部600は、復号化対象となる符号データを取得し、取得された符号データのうち、処理対象となる部分符号(以下、単に符号という)を順に、識別情報復号部610及びエントロピー復号部630に出力する。より具体的には、符号入力部600は、部分符号(符号)のうち、符号識別情報の符号を識別情報復号部610に出力し、ラン数又は予測誤差の符号をエントロピー復号部630に出力する。
識別情報復号部610は、符号入力部600から入力された符号識別情報の符号を復号化し、復号化された符号識別情報を復号方式選択部620に出力する。
復号方式選択部620(復号選択手段)は、符号データに付加された符号識別情報に基づいて、適用すべき復号化方式を選択する。具体的には、復号方式選択部620は、識別情報復号部610から入力された符号識別情報(識別子A〜D又は識別子X)に応じて、符号表の生成方法を決定し、決定された生成方法をエントロピー復号部630に通知する。
本例の復号方式選択部620は、識別情報復号部610から識別子A〜Dが入力された場合に、ハフマン符号の符号表を用いるようにエントロピー復号部630に指示し、識別情報復号部610から識別子Xが入力された場合に、ゴロム符号の符号表(具体的には、復号パラメータ)を用いるようにエントロピー復号部630に指示する。
なお、入力された識別子A〜Dは、エントロピー復号部630を介して、ランレングス復号化部650に入力される。
エントロピー復号部630は、復号方式選択部620から指示された符号表を用いて、符号入力部600から入力された符号をエントロピー復号化する。すなわち、エントロピー復号部630は、ハフマン符号の符号表を用いるようにエントロピー復号部630から指示された場合に、ハフマン符号の符号表を用いて復号化処理を行い、ゴロム符号の符号表を用いるようにエントロピー復号部630から指示された場合に、符号表生成部644から入力された復号パラメータを用いて復号化処理を行う。この復号パラメータは、ゴロム符号を復号化するためのパラメータである。
復号化されたデータは、ラン数又は予測誤差となる。
エントロピー復号部630は、復号方式選択部620により選択された復号化方式に応じて、復号化されたデータをマルコフモデル復号化部640又はランレングス復号化部650に出力する。すなわち、エントロピー復号部630は、復号方式選択部620が識別子A〜Dのいずれかを受け取った場合に、復号化されたデータ値(すなわち、ラン数)を識別子と共にランレングス復号化部650に出力し、復号方式選択部620が識別子Xを受け取った場合に、復号化されたデータ値(すなわち、予測誤差)をマルコフモデル復号化部640に出力する。
マルコフモデル復号化部640は、エントロピー復号部630から入力された注目画素の予測誤差と、この注目画素のコンテクストとに基づいて、復号データ(注目画素の画素値)を生成し、生成された復号データを画像出力部660に出力する。
また、マルコフモデル復号化部640は、生成された復号データに基づいて、コンテクストを判定し、判定されたコンテクストに基づいて、符号に対応する復号値を決定するための復号パラメータ(すなわち、符号表)と、予測値を補正するための補正パラメータとを算出し、算出された復号パラメータをエントロピー復号部630に出力する。
より具体的には、予測誤差加算部642は、エントロピー復号部630から入力された予測誤差と、予測部544から入力された予測値とを合算し、この合算値を注目画素Xの画素値として画像出力部660、コンテクスト決定部530及び予測部544に出力する。
コンテクスト決定部530は、予測誤差加算部642から入力された復号データ(すなわち、画素値)を用いて、画素値の変化状況を示すコンテクスト値を算出し、算出されたコンテクスト値をコンテクスト計数部550に出力する。
コンテクスト計数部550は、コンテクスト決定部530から入力されたコンテクスト値と、エントロピー復号部630から入力された予測誤差とを計数して、計数結果を符号表生成部644及び予測補正部546に出力する。
符号表生成部644は、コンテクスト計数部550から入力された計数結果に基づいて、符号表(本例では、復号パラメータ)を生成し、生成された符号表(復号パラメータ)をエントロピー復号部630に出力する。
マルコフモデル復号化部640の予測部544は、予測誤差加算部642から入力された画素値を保持し、保持された画素値の中から、注目画素Xの周囲にある周辺画素の画素値を選択し、選択された周辺画素の画素値を用いて、注目画素Xの予測値を算出し、予測補正部546から入力された補正値に応じて、算出された予測値を補正し、補正された予測値を予測誤差加算部642に出力する。すなわち、予測部544は、予測誤差加算部642により順次復号化される画素値を既定数まで保持して、保持されている他の画素値(周辺画素の画素値)を用いて、注目画素の予測値を生成する。
マルコフモデル復号化部640の予測補正部546は、コンテクスト計数部550から入力された予測誤差の計数結果に基づいて、補正値を決定し、決定された補正値を予測部544に出力する。
ランレングス復号化部650は、エントロピー復号部630から入力された識別子及びラン数に基づいて、復号データ(すなわち、注目画素の画素値)を生成する。
より具体的には、予測値選択部652は、既に復号化された画素値を既定数まで保持し、保持されている画素値の中から、エントロピー復号部630から入力された識別子に対応する周辺画素の画素値を読み出し、読み出された画素値と、入力されたラン数とを複製部654に出力する。
複製部654は、予測値選択部652から入力された画素値を、予測値選択部652から入力されたラン数だけ複製し、複製された画素値をそれぞれ注目画素の画素値として順に画像出力部660に出力する。
画像出力部660は、マルコフモデル復号化部640又はランレングス復号化部650から入力された復号データ(すなわち、注目画素の画素値)を順に外部に出力する。
[復号化処理]
図11は、復号化プログラム6によりなされる第1の復号化処理(S20)のフローチャートである。
図11に示すように、ステップ200(S200)において、符号入力部600は、外部から、復号化対象となる符号データを取得し、取得された符号データのうち、符号識別情報の符号を識別情報復号部610に出力し、ラン数又は予測誤差の符号をエントロピー復号部630に出力する。
ステップ205(S205)において、識別情報復号部610は、符号入力部600から入力された符号識別情報の符号を復号化し、復号化された符号識別情報(識別子)を符号方式選択部620に出力する。
ステップ210(S210)において、復号方式選択部620は、識別情報復号部610から入力された符号識別情報が識別子A〜Dのいずれかである場合(すなわち、ランレングス符号化方式の識別情報である場合)に、復号化プログラム6の他の構成に対して、ランレングス符号化方式で復号化処理を行うよう指示し、識別情報復号部610から入力された符号識別情報が識別子Xである場合(すなわち、マルコフモデル符号化方式の識別情報である場合)に、復号化プログラム6の他の構成に対して、マルコフモデル符号化方式で復号化処理を行うよう指示する。
復号化プログラム6は、識別情報復号部610から入力された符号識別情報が識別子A〜Dのいずれかである場合に、S240の処理に移行し、識別情報復号部610から入力された符号識別情報が識別子Xである場合に、S215の処理に移行する。
ステップ215(S215)において、マルコフモデル復号化部640は、既に復号化された画素の画素値を参照して、注目画素Xに対応する周辺画素A〜Dの状態(すなわち、コンテクスト)を決定する。
ステップ220(S220)において、マルコフモデル復号化部640は、決定されたコンテクストを既定の方法で計数し、さらに、エントロピー復号化部630からいままでに入力された予測誤差を既定の方法で計数し、これらの計数値に基づいて、符号表(すなわち、復号パラメータ)を作成し、作成された符号表(復号パラメータ)をエントロピー復号部630に出力する。
ステップ225(S225)において、エントロピー復号部630は、符号表生成部644から入力された符号表(すなわち、復号パラメータ)を用いて、符号入力部600から入力された予測誤差の符号をエントロピー復号化し、復号化されたデータ値(すなわち、予測誤差)をマルコフモデル復号化部640(具体的には、予測誤差加算部642及びコンテクスト計数部550)に出力する。
ステップ230(S230)において、マルコフモデル復号化部640(予測補正部546)は、予測誤差の計数値(コンテクスト計数部524により計数された予測誤差)に基づいて、補正値を決定する。
次に、マルコフモデル復号化部640(予測部544)は、これまでに復号化された画素値の中から、注目画素Xに対応する周辺画素A〜Dを読み出し、読み出された周辺画素の画素値に基づいて、注目画素Xの予測値を算出し、算出された予測値を、決定された補正値に応じて補正する。
ステップ235(S235)において、マルコフモデル復号化部640(予測誤差加算部642)は、注目画素Xの予測値(補正されたもの)と、エントロピー復号部630から入力された注目画素Xの予測誤差とを合算して、この合算値を注目画素Xの画素値として画像出力部660に出力する。
画像出力部660は、マルコフモデル復号化部640から入力された注目画素Xの画素値を外部(例えば、記憶装置等)に出力する。
ステップ240(S240)において、エントロピー復号部630は、復号方式選択部620の指示に応じて、ラン数の符号を復号化し、復号化されたラン数と、識別子とをランレングス復号化部650に出力する。
ステップ245(S245)において、ランレングス復号化部650(予測値選択部652)は、エントロピー復号部630から入力された識別子に対応する画素値を、これまでに復号化された画素値の中から読み出す。すなわち、ランレングス復号化部650は、識別子に対応する周辺画素の位置にある画素値を読み出す。
ステップ250(S250)において、ランレングス復号化部650(複製部654)は、識別子に対応する画素値を、ラン数だけ生成し、生成された少なくとも1つの画素値をそれぞれ注目画素の画素値として画像出力部660に出力する。
画像出力部660は、ランレングス復号化部650から入力された少なくとも1つの注目画素Xの画素値を外部(例えば、記憶装置等)に出力する。
ステップ255(S255)において、復号化プログラム6は、復号化対象の符号データ全てを復号化したか否かを判定し、全ての符号データを復号化した場合に、復号化処理(S20)を終了し、復号化していない符号が存在する場合に、次の符号を注目画素Xの符号として、S205の処理に戻る。
[評価]
図12(A)は、第1の符号化プログラム5により符号化された画像データのビットレート、及び、マルコフモデルベースの符号化プログラム9により符号化された画像データのビットレートを示すグラフであり、図12(B)は、第1の符号化プログラム5の符号化処理速度、及び、マルコフモデルベースの符号化プログラム9の符号化処理速度を示すグラフである。
図12に示されたビットレート及び符号化処理速度は、8種類の画像(多値[24bit/pixel]の画像)を用いて、符号化実験を行った実験結果である。
なお、ビットレートの単位は、[bit/pixel]でり、符号化処理速度の単位は、[Mbyte/sec]である。
図12に示すように、第1の符号化プログラム5が、自然画像に関しては、マルコフモデルベースの符号化プログラム9と同程度の圧縮率及び処理速度を有し、かつ、CG画像に関しては、圧縮率及び処理速度ともに符号化プログラム9を大きく上回る性能を有していることがわかる。
次に、第1の符号化プログラム5と符号化プログラム9との比較を理論的に行う。
符号化プログラム9の1画素当たりのソースコーダ部総処理時間Tjpeg [sec/pixel]は、以下の数式1で表される。Tfはコンテクストモデル化処理時間[sec/pixel]を、Trはランレングス符号化処理時間[sec/pixel]を、Tpは予測符号化処理時間[sec/pixel]を、Pfはコンテクスト平坦率を、Nrは平均ランレングス長を示している。ここで、コンテクスト平坦率とは、全コンテクスト中で、(D1,D2,D3)=(0,0,0)となるコンテクストの割合である。
また、数式1において、通常Tf >>Tr 、Tp>>Tr、Nr>1が成立する。そのため、ランレングス符号化率Pf を大きくすることができれば、ソースコーダ処理時間Tjpegを短縮することができる。
jpeg =Pf(Tf +Trr )/Nr +(1−Pf )(Tf +Tp )・・・(数式1)
しかしながら、実質的に(D1,D2,D3)=(0,0,0)となる場合はほとんどなく、Pfは小さい。そのため、結果的に符号化プログラム9の処理時間Tjpegは、比較的大きい。
次に、第1の符号化プログラム5の1画素当たりのソースコーダ部処理時間T[sec/pixel]を数式2で示した。Tfはコンテクストモデル化処理時間[sec/pixel]を、Trはランレングス符号化処理時間[sec/pixel]を、Teは予測誤差算出処理時間[sec/pixel]を、Phはランレングス符号化時の予測的中率を表している。
T =Phr +(1−Ph )(Tf +Te )・・・(数式2)
次に、数式1と数式2とを比較するため、TjpegとTとの差分を計算する。なお、符号化プログラム5及び符号化プログラム9が、同じ予測誤差算出式を利用すると仮定すると、Te ≒Tpが成立するので、TjpegとTの差分は、以下の数式3となる。
jpeg −T =Pff /Nr +(Ph −Pf )(Tf +Te −Tr )・・・(数式3)
次に、上記数式3を用いて、Tjpeg >Tとなる理由について説明する。
まず、数式3の右辺第一項に関して述べる。
右辺第一項は、符号化プログラム5のランレングス符号化処理内容に影響されない項である。したがって、符号化プログラム5は、符号化プログラム9より少なくとも右辺第1項分だけ処理時間が短い。特に、符号化プログラム9において、Pf が大きくなるほど、又は、Nr が小さくなるほど、符号化プログラム5との処理時間差が大きくなっていく。
次に、数式3の右辺第2項に関して述べる。
通常Tf +Te >>Tr である。また、マルコフモデル符号化部(図4)が注目画素近傍の周辺画素A〜Dを用いて符号化処理を行う場合、Ph >Pf が成立するため、右辺第2項は、正の値である。さらに、P、Pf に比べTf 、Te 、Trは、入力画像に左右されにくいと考えられるので、Pを大きくすることができれば、ますます符号化プログラム5と符号化プログラム9の処理時間差は大きくなる。
以上を考慮すると、Tjpeg >Tが成立し、本実施形態の符号化プログラム5は、マルコフモデルベースの符号化プログラム9に比べ、計算処理時間の短縮を実現できる。
[第2の実施形態]
次に、第2の実施形態を説明する。
以下の説明のために、符号化対象である入力画像を、その特徴に基づいて大きく2種類に分類する。第1の分類は、コンピュータで作成される画像(すなわち、CG画像)であり、第2の分類は、デジタルカメラ又はスキャナなどで光学的に読み取られた画像(すなわち、自然画像)である。
一般的に、CG画像は、同一画素値が隣接画素に存在することが多く、使用される画素値が特定値に偏ることが多い。一方で、自然画像は、隣接画素でも、画素値が同一であることは少ないという特徴を持っている。
そのため、自然画像では、注目画素Xの画素値と周辺画素A〜Dの画素値とが一致する可能性が低く、ランレングス符号化処理の連続一致数(ラン数)が「予測はずれ」により中断されやすい傾向にある。一方、CG画像では、注目画素Xの画素値と周辺画素A〜Dの画素値とが一致する可能性が高く、ランレングス符号化処理の連続一致数が大きくなりやすい傾向にある。
この結果、上記第1の実施形態における符号化処理は、事実上、CG画像に相当する部分に対してはランレングス符号化を、自然画像に相当する部分に対してはマルコフモデル符号化を適用しているともいえる。
通常、マルコフモデル符号化では、コンテクスト毎に各種のデータを計数処理し、エントロピー符号化時に使用する符号パラメータを決定する。上記符号化プログラム5のマルコフモデル符号化部においても、予測誤差値、コンテクスト出現回数などを計数処理し、コンテクスト毎に最適なゴロム符号パラメータ(符号パラメータ)を算出する。
しかし、入力画像が自然画像である場合、コンテクスト毎の最適符号パラメータに差違は、ほとんどない。そのため、コンテクストさえ決定してしまえば、一意に最適符号パラメータを算出でき、計数処理を省略することが可能である。
図13は、CG画像に関するコンテクスト値Qと符号パラメータとの関係を示すグラフである。
図14は、自然画像に関するコンテクスト値Qと符号パラメータとの関係を示すグラフである。
図13を参照してわかるように、第1の符号化プログラム5を用いて、CG画像を符号化した場合には、画像により符号パラメータ(すなわち、ゴロム符号パラメータ)の分布が異なることがわかる。例えば、CG画像1のように、符号パラメータが2から5の狭い範囲に分布しているもの、CG画像2のように、符号パラメータが比較的に0付近に偏在するもの、CG画像3のように、符号パラメータが0から6という幅広い範囲に散在しているものなど、画像によって符号パラメータ(ゴロム符号パラメータ)が異なる。
一方、図14を参照してわかるように、自然画像では、同じコンテクストであれば、使用されるゴロム符号パラメータは、画像間で近似している。そのため、自然画像が入力された場合、コンテクスト毎に計数処理し、符号パラメータを算出しなくても、どんな画像であれ、コンテクストだけから一意に適切な符号パラメータを決定できる。
そこで、第2の本実施形態における符号化プログラム52(後述)は、マルコフモデル符号化処理を行う場合には、コンテクストを計数処理し、符号パラメータを算出すること行わず、コンテクストだけから符号パラメータを一意に決定し、決定された符号パラメータを用いて、画像データを符号化する。
これにより、煩雑なコンテクスト毎の計数処理や符号パラメータ算出処理を省くことができるため、処理負荷及び使用メモリ量の低減や処理時間の短縮が実現される。
図15は、第2のマルコフモデル符号化部の構成を例示する図である。すなわち、第2の実施形態における第2の符号化プログラム52は、図4に示された第1の符号化プログラム5において、マルコフモデル符号化部を、図15に例示する第2のマルコフモデル符号化部で置換した構成をとる。なお、本図に示された各構成のうち、図4又は図5に示された構成と実質的に同一のものには、同一の符号が付されている。
第2のマルコフモデル符号化部において、第2の符号表生成部562(符号群選択手段)は、パラメータ記憶部590を参照して、コンテクスト決定部530により決定されたコンテクストに対応する符号表(本例では、符号パラメータ)を選択し、選択された符号表(符号パラメータ)をエントロピー符号化部570に出力する。
パラメータ記憶部590は、複数の符号表をそれぞれコンテクストに対応付けて記憶する。パラメータ記憶部590に記憶される符号表は、互いに異なる符号群(例えば、同一のデータに対応する符号長が異なる符号群)と、データ値とを互いに対応付ける。
本例のパラメータ記憶部590は、複数の符号パラメータをそれぞれコンテクスト値Qに対応付けて記憶する。これらの符号パラメータは、ゴロム符号を生成するために用いられるパラメータである。
第2の予測部548は、周辺画素A〜Dの画素値に基づいて、注目画素Xの予測値を算出し、算出された予測値を予測誤差算出部542に出力する。すなわち、第2の予測部548は、予測値の補正を行うことなく、周辺画素A〜Dのいずれかを用いて算出された予測値をそのまま予測誤差算出部542に出力する。
図16は、パラメータ記憶部590に記憶されている符号パラメータを例示する図である。
図16に例示するように、本例のパラメータ記憶部590は、符号パラメータをコンテクスト値Qに対応付けた符号パラメータテーブル800(対応付けテーブル)を記憶する。符号パラメータテーブル800に含まれるコンテクスト値Qは、コンテクスト決定部530により決定される1つのコンテクスト値の絶対値である。
次に、第2の符号化プログラム52による符号化処理(S30)を説明する。
第2の符号化処理(S30)は、図6に示した第1の符号化処理(S10)と概略において同一であるが、予測誤差生成処理(S120)において、予測値の補正を行わない点、及び、第1の符号パラメータ生成処理(S140)を、固定的な第2の符号パラメータ生成処理(S340)に置換した点で異なる。
図17は、第2の符号パラメータ生成処理(S340)を説明するフローチャートである。なお、本図に示された各処理のうち、図8に示された処理と実質的に同一の処理には、同一の符号が付されている。
図17に示すように、ステップ144(S144)において、コンテクスト決定部530(図15)は、S115(図6)において算出された差分値D、差分値D、及び、差分値Dを、9つの数値区間のいずれに属するか否かを判定し、判定された数値区間に対応する部分コンテクスト値Qを算出する。
ステップ146(S146)において、コンテクスト決定部530は、算出された部分コンテクスト値Q、Q、及び、Qを用いて、注目画素Xのコンテクスト値Qを算出する。具体的には、以下の式により算出される。
Q=Q×81+Q×9+Q
ステップ148(S148)において、コンテクスト決定部530(図15)は、算出されたコンテクスト値Qが0より大きいか否かを判定し、コンテクスト値Qが0より大きい場合に、S352の処理に移行し、コンテクスト値Qが0以下である場合に、S150の処理に移行する。
ステップ150(S150)において、コンテクスト決定部530は、コンテクスト値Qに対して、(−1)を乗算する。すなわち、コンテクスト決定部522は、負のコンテクスト値Qの絶対値を算出し、算出された絶対値をコンテクスト値Qとする。
ステップ352(S352)において、コンテクスト決定部530(図15)は、算出されたコンテクスト値Qを符号表生成部562に出力する。
符号表生成部562(図15)は、パラメータ記憶部590に記憶されている符号パラメータテーブル800(図16)を参照して、コンテクスト決定部530から入力されたコンテクスト値Qに対応する符号パラメータを読み出す。
ステップ354(S354)において、符号表生成部562は、読み出された符号パラメータを符号表としてエントロピー符号化部570(図4)に出力する。
なお、本例のパラメータ記憶部590は、コンテクスト値Qに対応する符号パラメータ(ゴロム符号パラメータ)を記憶するが、これに限定されるものではなく、例えば、符号とデータ値とを互いに対応付ける符号テーブルをコンテクスト値Qに対応付けて記憶してもよく、この場合に、符号表生成部562は、コンテクスト値Qに対応する符号テーブルをパラメータ記憶部590から読み出して、エントロピー符号化部570に出力する。
すなわち、本実施形態のマルコフモデル符号化部は、固定的な符号パラメータテーブル800から、コンテクスト値Qそのものに対応する符号パラメータを読み出す。これにより、コンテクスト値の計数処理及び予測誤差の計数処理が不要になる。
したがって、第2のマルコフモデル符号化部(図15)は、第1のマルコフモデル符号化部(図4)よりも軽い処理負荷で、コンテクストに対応する符号表(符号パラメータ)を生成できる。
図18は、第2のマルコフモデル復号化部の構成を例示する図である。すなわち、第2の実施形態における第2の復号化プログラム62は、図10に示された第1の復号化プログラム6において、マルコフモデル復号化部640を、図18に例示する第2のマルコフモデル復号化部で置換した構成をとる。なお、本図に示された各構成のうち、図10に示された構成と実質的に同一のものには、同一の符号が付されている。
第2のマルコフモデル復号化部において、第2の符号表生成部648(符号表選択手段)は、パラメータ記憶部649を参照して、コンテクスト決定部530により決定されたコンテクストに対応する符号表(本例では、復号パラメータ)を選択し、選択された符号表(復号パラメータ)をエントロピー復号部630(図10)に出力する。
パラメータ記憶部649は、複数の符号表をそれぞれコンテクストに対応付けて記憶する。パラメータ記憶部649に記憶される符号表は、互いに異なる符号群(例えば、同一のデータに対応する符号長が異なる符号群)と、データ値とを互いに対応付ける。
本例のパラメータ記憶部649は、複数の復号パラメータをそれぞれコンテクスト値Qに対応付けて記憶する。これらの復号パラメータは、ゴロム符号を復号化するために用いられるパラメータである。
第2の予測部646は、周辺画素A〜Dの画素値に基づいて、注目画素Xの予測値を算出し、算出された予測値を予測誤差加算部642に出力する。すなわち、第2の予測部646は、予測値の補正を行うことなく、周辺画素A〜Dのいずれかを用いて算出された予測値をそのまま予測誤差加算部642に出力する。
以上説明したように、本実施形態における符号化プログラム52は、符号パラメータをコンテクストに対応付けた符号パラメータテーブル800を用いて、マルコフモデル符号化を行うことにより、自然画像を高い圧縮率で高速に符号化することができる。
なお、符号化プログラム52は、CG画像が入力された場合には、ランレングス符号化方式により、高速かつ高圧縮率でCG画像を符号化する。
同様に、本実施形態における復号化プログラム62は、自然画像及びCG画像を、高速に復号化することができる。
[変形例]
次に、上記実施形態の変形例を説明する。
図19は、マルコフモデル符号化部又はマルコフモデル復号化部の予測部(すなわち、予測部544,548又は646)による予測処理の変形例を説明する図である。以下、予測部544の変形例を説明する。
予測部544は、図19に例示する式により、注目画素Xの予測値Pxを算出してもよい。すなわち、予測部544は、周辺画素A〜Dのいずれかの画素値をそのまま予測値Pxとしてもよいし、周辺画素A〜Cの大小関係によらず常に(A+B−C)を予測値Pxとしてもよい。また、予測部544は、以下に示すいずれかの式により、注目画素Xの予測値Pxを算出してもよい。
Px=A+(B−C)/2
Px=B+(A−C)/2
Px=(A+B)/2
このように、本変形例の予測部544は、周辺画素A〜Cの大小関係を判定することなく、注目画素Xの予測値Pxを算出することにより、予測値の算出処理を高速化することができる。
図20は、符号パラメータ生成処理の変形例(S740)のフローチャートである。なお、本図に示された各処理のうち、図17に示された処理と実質的に同一のものには、同一の符号が付されている。
図20に例示するように、第3の符号表生成処理(S740)では、部分コンテクスト値の算出処理(図17のS144)、及び、部分コンテクスト値に対する重み付け処理(図17のS146)が簡略化できる。
すなわち、本変形例では、ステップ744(S744)において、コンテクスト決定部530は、算出された差分値Dの絶対値、差分値Dの絶対値、及び、差分値Dの絶対値を合算して、変形例におけるコンテクスト値Rを算出する。
ステップ746(S746)において、符号表生成部562は、コンテクスト決定部530により算出されたコンテクスト値Rに対応する符号パラメータを、パラメータ記憶部590から読み出す。
なお、本変形例のパラメータ記憶部590は、複数の符号パラメータをそれぞれのコンテクスト値Rに対応付けて記憶してもよいし、複数の符号パラメータをコンテクスト値Rの数値範囲に対応付けて記憶してもよい。符号パラメータがコンテクスト値Rの数値範囲に対応付けられている場合には、符号表生成部562は、算出されたコンテクスト値Rがいずれの数値範囲に属するかを判定し、コンテクスト値Rが属する数値範囲に対応する符号パラメータを読み出す。
ステップ154(S154)において、符号表生成部562は、読み出された符号パラメータを符号表としてエントロピー符号化部570に出力する。
このように本変形例のマルコフモデル符号化部は、部分コンテクスト値の算出処理(図17のS144)、及び、部分コンテクスト値に対する重み付け処理(図17のS146)を簡略化できる。
特に、図17に示す例では、差分値D、差分値D、及び、差分値Dが、9つの数値区間のいずれに属するか否かを判定している。このような判定処理では、それぞれの数値区間の境界値(閾値)と、差分値とをそれぞれ比較する必要があり、この判定処理を3つの差分値それぞれについて行う必要がある。
しかしながら、本変形例では、このように差分値を判定する必要が無いため処理負荷を抑えることができる。
[ハードウェア]
次に、上記実施形態における画像処理装置2のハードウェア構成を説明する。
図21は、本発明にかかる符号化方法及び復号化方法が適応される画像処理装置2(符号化装置、復号化装置)のハードウェア構成を、制御装置21を中心に例示する図である。
図21に例示するように、画像処理装置2は、CPU212及びメモリ214などを含む制御装置21、通信装置22、HDD・CD装置などの記録装置24、並びに、LCD表示装置あるいはCRT表示装置およびキーボード・タッチパネルなどを含むユーザインターフェース装置(UI装置)25から構成される。
画像処理装置2は、例えば、本発明にかかる符号化プログラム(第1の符号化プログラム5又は第2の符号化プログラム52)及び復号化プログラム(第1の復号化プログラム6又は第2の復号化プログラム62)がプリンタドライバの一部としてインストールされた汎用コンピュータであり、通信装置22又は記録装置24などを介して画像データを取得し、取得された画像データを符号化又は復号化してプリンタ装置3に送信する。
JPEG−LS方式の符号化処理を実現する符号化プログラム9の構成を例示する図である。 符号化プログラム9(図1)による符号化処理(S90)のフローチャートである。 コンテクストの決定処理を説明する図である。 第1の実施形態における符号化プログラム5の構成を例示する図である。 (A)は、ランレングス生成部510をより詳細に説明する図であり、(B)は、予測誤差生成部540をより詳細に説明する図である。 符号化プログラム5によりなされる第1の符号化処理(S10)のフローチャートである。 図6で説明した予測誤差生成処理(S120)をより詳細に説明するフローチャートである。 図6で説明した符号パラメータ生成処理(S140)をより詳細に説明するフローチャートである。 (A)は、符号識別情報を例示する図であり、(B)は、符号データを例示する図である。 第1の実施形態における復号化プログラム6の構成を例示する図である。 復号化プログラム6によりなされる第1の復号化処理(S20)のフローチャートである。 (A)は、第1の符号化プログラム5により符号化された画像データのビットレート、及び、マルコフモデルベースの符号化プログラム9により符号化された画像データのビットレートを示すグラフであり、(B)は、第1の符号化プログラム5の符号化処理速度、及び、マルコフモデルベースの符号化プログラム9の符号化処理速度を示すグラフである。 CG画像に関するコンテクストQと符号パラメータとの関係を示すグラフである。 自然画像に関するコンテクストQと符号パラメータとの関係を示すグラフである。 第2のマルコフモデル符号化部の構成を例示する図である。 パラメータ記憶部590に記憶されている符号パラメータを例示する図である。 第2の符号パラメータ生成処理(S340)を説明するフローチャートである。 第2のマルコフモデル復号化部の構成を例示する図である。 マルコフモデル符号化部又はマルコフモデル復号化部の予測部による予測処理の変形例を説明する図である。 符号パラメータ生成処理の変形例(S740)のフローチャートである。 本発明にかかる符号化方法及び復号化方法が適応される画像処理装置2のハードウェア構成を、制御装置21を中心に例示する図である。
符号の説明
2・・・画像処理装置
5、52・・・符号化プログラム
500・・・画像入力部
510・・・ランレングス生成部
520・・・選択部
530・・・コンテクスト決定部
540・・・予測誤差生成部
550・・・コンテクスト計数部
560・・・符号表生成部
570・・・エントロピー符号化部
580・・・符号出力部
590・・・識別情報付与部
6,62・・・復号化プログラム
600・・・符号入力部
610・・・識別情報復号部
620・・・復号方式選択部
630・・・エントロピー復号部
640・・・マルコフモデル復号部
650・・・ランレングス復号部
660・・・画像出力部
800・・・符号パラメータテーブル

Claims (15)

  1. マルコフモデル符号化方式を用いて、符号化対象となる注目データを符号化する第1の符号化手段と、
    マルコフモデル符号化とは異なる符号化方式を用いて、前記注目データを符号化する第2の符号化手段と、
    前記注目データに基づいて、前記第1の符号化手段又は第2の符号化手段を、適用すべき符号化手段として選択する選択手段と
    を有する符号化装置。
  2. 前記第2の符号化手段は、ランレングス符号化方式を用いて、前記注目データを符号化する
    請求項1に記載の符号化装置。
  3. 前記第2の符号化手段は、前記注目データと、他の参照データとの一致度合いを示す一致情報を符号化し、
    前記選択手段は、前記注目データと、前記参照データとを比較して、この比較結果に応じて、適用すべき符号化手段を選択する
    請求項1又は2に記載の符号化装置。
  4. 前記選択手段は、前記注目データと、この注目データに対して既定の位置にある参照データとを比較して、この注目データがいずれの参照データとも一致しなかった場合に、前記第1の符号化手段を選択する
    請求項1又は3に記載の符号化装置。
  5. 前記選択手段は、前記注目データと、少なくとも1つの前記参照データとを比較して、この注目データがいずれかの前記参照データと一致した場合に、前記第2の符号化手段を選択し、
    前記第2の符号化手段は、前記注目データと前記参照データとが連続して一致する連続一致数を符号化する
    請求項4に記載の符号化装置。
  6. 前記第1の符号化手段は、
    前記注目データについて、コンテクストを判定するコンテクスト判定手段と、
    コンテクストに対して一意に符号群を対応付ける対応付けテーブルを用いて、前記コンテクスト判定手段により判定されたコンテクストに対応する符号群を選択する符号群選択手段と、
    前記符号群選択手段により選択された符号群を用いて、前記注目データの符号を生成する符号生成手段と
    を有する
    請求項1〜5のいずれかに記載の符号化装置。
  7. 前記コンテクスト判定手段は、前記選択手段により前記第1の符号化手段が選択された場合にのみ、前記注目データのコンテクストを判定する
    請求項6に記載の符号化装置。
  8. 前記選択手段により選択された符号化手段を識別するための符号識別情報を、前記注目データの符号に付加する識別情報付加手段
    をさらに有する請求項1〜7のいずれかに記載の符号化装置。
  9. マルコフモデル符号化方式を用いて、復号化対象となる注目符号を符号化する第1の復号化手段と、
    マルコフモデル符号化方式とは異なる符号化方式を用いて、前記注目符号を復号化する第2の復号化手段と、
    前記注目符号に付加された符号識別情報に基づいて、前記第1の復号化手段又は第2の復号化手段を、適用すべき復号化手段として選択する復号選択手段と
    を有する復号化装置。
  10. 前記第1の復号化手段は、
    復号化された他のデータに基づいて、前記注目符号のコンテクストを判定するコンテクスト判定手段と、
    コンテクストに対して一意に符号群を対応付ける対応付けテーブルを用いて、前記コンテクスト判定手段により判定されたコンテクストに対応する符号表を選択する符号表選択手段と、
    前記符号表選択手段により選択された符号表を用いて、前記注目符号の復号データを生成する復号データ生成手段と
    を有する
    請求項9に記載の復号化装置。
  11. 符号化対象となる注目データに基づいて、マルコフモデル符号化方式又は他の符号化方式を選択し、
    選択された符号化方式を用いて、前記注目データを符号化する
    符号化方法。
  12. 符号化対象となる注目データと、この注目データに対して既定の位置にある参照データとを比較して、マルコフモデル符号化方式又はランレングス符号化方式を選択し、
    選択された符号化方式を用いて、前記注目データを符号化する
    符号化方法。
  13. 復号化対象となる注目符号に付加された符号識別情報に基づいて、マルコフモデル符号化方式又は他の符号化方式を選択し、
    選択された符号化方式を用いて、前記注目符号を復号化する
    復号化方法。
  14. 符号化対象となる注目データに基づいて、マルコフモデル符号化方式又は他の符号化方式を選択するステップと、
    選択された符号化方式を用いて、前記注目データを符号化するステップと
    をコンピュータに実行させるプログラム。
  15. 復号化対象となる注目符号に付加された符号識別情報に基づいて、マルコフモデル符号化方式又は他の符号化方式を選択するステップと、
    選択された符号化方式を用いて、前記注目符号を復号化するステップと
    をコンピュータに実行させるプログラム。
JP2005129440A 2005-04-27 2005-04-27 符号化装置、復号化装置、符号化方法、復号化方法及びプログラム Pending JP2006311055A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005129440A JP2006311055A (ja) 2005-04-27 2005-04-27 符号化装置、復号化装置、符号化方法、復号化方法及びプログラム
US11/297,331 US20060245658A1 (en) 2005-04-27 2005-12-09 Coding device, decoding device, coding method, decoding method, and storage medium storing program for execution of those

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005129440A JP2006311055A (ja) 2005-04-27 2005-04-27 符号化装置、復号化装置、符号化方法、復号化方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2006311055A true JP2006311055A (ja) 2006-11-09

Family

ID=37234484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005129440A Pending JP2006311055A (ja) 2005-04-27 2005-04-27 符号化装置、復号化装置、符号化方法、復号化方法及びプログラム

Country Status (2)

Country Link
US (1) US20060245658A1 (ja)
JP (1) JP2006311055A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017192077A (ja) * 2016-04-14 2017-10-19 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法
US11645785B2 (en) 2019-05-02 2023-05-09 Sick Ivp Ab Method and encoder relating to encoding of pixel values to accomplish lossless compression of a digital image

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8854755B2 (en) * 2012-10-18 2014-10-07 Lsi Corporation Multi-level run-length limited finite state machine for magnetic recording channel
US8792195B2 (en) * 2012-10-18 2014-07-29 Lsi Corporation Multi-level run-length limited finite state machine with multi-penalty
US11336891B2 (en) * 2019-11-25 2022-05-17 Tencent America LLC Coding method and system with improved transform domain coefficient computation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017192077A (ja) * 2016-04-14 2017-10-19 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法
US11645785B2 (en) 2019-05-02 2023-05-09 Sick Ivp Ab Method and encoder relating to encoding of pixel values to accomplish lossless compression of a digital image

Also Published As

Publication number Publication date
US20060245658A1 (en) 2006-11-02

Similar Documents

Publication Publication Date Title
US7079057B2 (en) Context-based adaptive binary arithmetic coding method and apparatus
US7689048B2 (en) Image encoding apparatus, method, and computer-readable storage medium for encoding a pixel value
JP5221047B2 (ja) 圧縮率の向上のために改善されたコンテキストモデル選択を使用するcabac符号化方法及び装置、並びにcabac復号化方法及び装置
JP3196608B2 (ja) 符号化・復号化装置及び符号化・復号化方法
US20030103573A1 (en) Method and apparatus for encoding and decoding data
US20070217703A1 (en) Image encoding apparatus, image decoding apparatus and control method therefor
JP2005348390A (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JPH10336682A (ja) 符号化装置及び方法及び方法を記憶した記憶媒体
JP4893957B2 (ja) 符号化装置、復号化装置、符号化方法及びプログラム
US10165268B2 (en) Picture coding device, picture coding method and picture coding program as well as picture decoding device, picture decoding method, and picture decoding program
JP2006311055A (ja) 符号化装置、復号化装置、符号化方法、復号化方法及びプログラム
JP4070783B2 (ja) データ符号化方法、並びに装置
WO1997035422A1 (en) Encoder, decoder and methods used therefor
JP3466162B2 (ja) 画像復号化装置、及び画像復号化方法
KR20020064349A (ko) 화상 처리 장치
US8948526B2 (en) Method and apparatus for encoding binary image using adaptive template and method and apparatus for decoding the same
JP4013716B2 (ja) 画像処理装置
JP2007049594A (ja) 画像データの処理方法
JP2007336056A (ja) 符号化装置、符号化方法及びプログラム
JP4766230B2 (ja) 符号化装置、データ処理装置、復号化装置及びプログラム
JP2006311054A (ja) 符号化装置、復号化装置、符号化方法、復号化方法及びプログラム
JP3075049B2 (ja) 画像符号化装置
US8170113B2 (en) Encoder, data file, encoding method, computer readable medium and computer data signal
JP2003152549A (ja) 復号方法、復号装置、コンピュータプログラム及び記録媒体
JP2003230138A (ja) 符号化処理装置、復号処理装置、および方法、並びにコンピュータ・プログラム