JP4343863B2 - 画像符号化装置及び画像復号装置、並びに、それらの制御方法 - Google Patents

画像符号化装置及び画像復号装置、並びに、それらの制御方法 Download PDF

Info

Publication number
JP4343863B2
JP4343863B2 JP2005059363A JP2005059363A JP4343863B2 JP 4343863 B2 JP4343863 B2 JP 4343863B2 JP 2005059363 A JP2005059363 A JP 2005059363A JP 2005059363 A JP2005059363 A JP 2005059363A JP 4343863 B2 JP4343863 B2 JP 4343863B2
Authority
JP
Japan
Prior art keywords
data
pixel
color
vector information
encoded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005059363A
Other languages
English (en)
Other versions
JP2006246062A (ja
JP2006246062A5 (ja
Inventor
浩 梶原
友希 松本
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2005059363A priority Critical patent/JP4343863B2/ja
Priority to US11/366,666 priority patent/US7650039B2/en
Publication of JP2006246062A publication Critical patent/JP2006246062A/ja
Publication of JP2006246062A5 publication Critical patent/JP2006246062A5/ja
Application granted granted Critical
Publication of JP4343863B2 publication Critical patent/JP4343863B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Color Television Systems (AREA)

Description

本発明は画像の符号化、復号技術に関するものである。
従来より、画像の可逆符号化、復号を行う画像処理装置を構成する一手法として予測符号化をベースとするものがある。予測符号化装置は、画像データを予測変換によって予測誤差へと変換する系列変換部と、系列変換部から出力される予測誤差を、ハフマン符号化等のエントロピー符号化を用いて、より冗長性の少ない符号化データへと変換するエントロピー符号化部とによって構成されるのが一般的である。
ISOとITU−Tから国際標準の静止画像符号化方式として勧告されるJPEG(ITU-T T.81 | ISO/IEC10918-1)では、Independent Functionとして予測符号化をベースとした可逆符号化方式が規定されている。以下、これをJPEG可逆符号化モードと呼ぶ。JPEG可逆符号化モードでは、近傍画素から着目画素の値を予測する方法として7つの予測式を規定しており、画像に応じて予測方法を選択できるようになっている。
図2に従来の画像処理装置のブロック図を示す。同図は上述のJPEG可逆符号化モードにより画像を可逆圧縮する装置の一例である。同図に於いて、201はバッファ、202は成分値予測部、203は減算器、204はハフマンテーブル用メモリ、205は予測誤差符号化部、209は符号列形成部、206,207,208は信号線である。
ハフマンテーブル用メモリ204には予測誤差符号化部205において使用されるハフマンテーブルが格納される。ここでは、図6に示すハフマンテーブルが格納されているものとする。
同図を用いて従来の画像処理装置により、RGB各成分が8ビットで表現されたカラー画像を符号化する処理の流れを説明する。
まず、信号線208から成分値予測部202において用いる予測方法を選択する予測選択信号mが入力される。予測選択信号mは0〜7までの整数値であり、それぞれに異なる予測式が対応付けられる。使用される予測式と予測選択信号mの対応は図4の通りである。なお、予測選択信号mが0の場合には予測式なしとなっているが、これは予測変換を行わず、各成分をそのまま符号化することを意味する。図中、の記号p,a,b,cについては後述する。
次に、信号線206から画像データが順に入力される。画素データの入力順序はラスタースキャン順とし、各画素でR,G,Bの順番で成分データが入力されるものとする。R,G,Bをそれぞれ成分番号0,1,2と定義し、画像の左上隅を座標(0,0)として水平右方向画素位置x、垂直下方向画素位置yにある画素の成分番号Cの値をP(x,y,C)と表すこととする。例えば、位置(x、y)=(3,4)である画素が(R,G,B)=(255,128,0)という値を持つ場合、P(3,4,0)=255、P(3,4,1)=128、P(3,4,2)=0と表現する。
バッファ201は信号線206から入力される画像データを2ライン分格納する。
成分値予測部202はバッファ201から着目する画素の成分値x=P(x,y,C)について直前の画素の同一成分の値a=P(x−1,y,C)、1ライン前の画素の同一成分の値b=P(x,y−1、C)、および斜め左上の画素の同一成分の値c=P(x−1,y−1,C)を取り出し、予測方式選択信号mに従って予測値pを生成する。着目する画素の成分値xとa,b,cの位置関係を図3に示す。なお、着目画素が画像の端部(最上位ライン、左端)に位置する場合、a,b,cは存在しないので、これらa,b,cは“0”と見なして処理を行なう。なお、画像データの入力順は、先に説明した通りであるので、画素a、b、cそれぞれの位置は、既に符号化済みの画素位置となる。
減算器203は符号化対象となる成分値xと予測値pとの差分値を求め、予測誤差eとして出力する。
予測誤差符号化部205は、まず、減算器203から入力される予測誤差eを複数のグループに分類して、グループ番号SSSSと、グループごとに定められるビット長の付加ビットを生成する。図5に予測誤差eとグループ番号SSSSの関係を示す。付加ビットはグループ内で予測誤差を特定するための情報であり、ビット長はグループ番号SSSSで与えられる。なお、SSSS=16である場合には例外的にビット長は0である(但し、各成分の精度が8ビットである場合にはSSSS=16は発生しない)。予測誤差eが正であるならば予測誤差eの下位SSSSビットが付加ビットとなり、負である場合にはe−1の下位SSSSビットが付加ビットとなる。付加ビットの最上位ビットは予測誤差eが正であれば1、負であれば0でなる。符号化処理は、まず、メモリ204に格納されているハフマンテーブルを参照して、グループ番号SSSSに対応する符号化データを出力し、SSSSが0または16でない場合には続いてグループ番号により定まるビット長で付加ビットを出力するという順序で行われる。
符号列形成部209は信号線208を介して入力される予測選択信号mや、画像の水平方向/垂直方向の画素数、画素を構成する成分の数、各成分の精度などの付加情報と、予測誤差符号化部205から出力される符号化データから、JPEGの規格書に準拠したフォーマットの符号列を形成し、信号線207に出力する。
上述の従来方式による画像処理装置で、CG画像や限定色画像等、各成分の輝度の頻度分布に偏りのある様な画像データを符号化する場合には、上述した系列変換後の予測誤差の発生頻度も、いくつかの特定の予測誤差値に偏ったものとなることがある。
このような場合、エントロピー符号化による符号長として短い符号長が割り当てられているにも関わらず、殆どもしくは全く発生しない予測誤差が存在することがあり、圧縮率が良くならない。
このような問題に対して従来から、予測誤差の発生頻度分布が離散的かどうか判別し、判別の結果に応じて予測誤差に対応する符号化データを変更してエントロピー符号化する手法(例えば特許文献1を参照)や、符号化対象画像が離散的な画素値で構成されているかどうか判別し、判別の結果に応じて予測値を修正する手法(例えば特許文献2を参照)などが提案されている。また、画素毎の符号化において、近傍の画素との一致情報を符号化する方法もが知られている(例えば特許文献3)。また、複数の予測符号化方法を切り替える方法が知られている(例えば特許文献4)。
特開平10−004551号公報 特開平10−004557号公報 特開平10−336458号公報 特開平9−224253号公報
特許文献1或いは2では、各画素の成分値の発生状況、あるいは予測誤差の発生状況を把握する必要があり、処理の負荷が増える。また、ハフマン符号のようなブロック符号を用いて各成分を予測符号化する場合には、少なくとも1成分当たり最低でも1ビットが必要が必要になる。更に、上記予測符号化技術は、自然画(例えばデジタルカメラで自然界を撮像した画像)については高い圧縮率が期待できるが、文字、線画、CG画像などエントロピの低い画像データでは符号化効率の面でもなお改善の余地がある。かかる点は、特許文献3、4でも同様である。
本願発明は、上述の問題点に鑑みてなされたものであり、写真画像等の自然画は勿論のこと、比較的出現する色数が限られたコンピュータグラフィクスや、文書画像に対しも効率良く符号化する技術及びその復号技術を提供しようとするものである。
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
1画素が複数の色成分データで構成されている画像データを、可逆符号化する画像符号化装置であって、
入力した着目画素データを構成する複数の色成分データそれぞれについて、前記着目画素の近傍の、符号化済みの画素の色成分データを参照して予測値を求め、予測符号化データを生成する予測符号化手段と、
前記着目画素の近傍にあって、符号化済み画素位置にある複数の画素が表わす色数を計数し、色数情報を生成する色数計数手段と、
前記着目画素データと、前記着目画素の近傍にあって符号化済み画素位置にある複数の画素データどうしとを比較し、前記着目画素と同じ色の近傍画素が存在するか否か、及び、存在する場合には前記着目画素に対する該当近傍画素の相対位置を特定するベクトル情報を生成するベクトル情報生成手段と、
前記ベクトル情報を符号化するベクトル情報符号化手段と、
前記色数計数手段より得られた色数情報、及び、前記ベクトル情報生成手段で得られたベクトル情報に基づき、前記予測符号化手段、前記ベクトル情報符号化手段で得られた符号化データから出力用の符号化データを生成する符号化データ生成手段とを備え、
当該符号化データ生成手段は、
(a)前記色数情報で示される色数が所定閾値以下で、且つ、前記ベクトル情報が前記着目画素と同じ色を持つ近傍画素の存在を示す場合、前記ベクトル情報符号化手段で生成された符号化データを、前記着目画素の符号化データとして出力し、
(b)前記色数計数手段で計数された色数が前記所定閾値以下で、且つ、前記ベクトル情報が前記着目画素と同じ色を持つ近傍画素の非存在を示す場合、前記ベクトル情報符号化手段で生成された符号化データと前記着目画素データの非圧縮データを、前記着目画素の符号化データとして出力し、
(c)前記色数計数手段で計数された色数が前記所定閾値を超える場合、前記予測符号化手段で生成された予測符号化データを、前記着目画素の符号化データとして出力することを特徴とする。
本発明の構成によれば、自然画像などの符号化効率を維持しつつ、CG画像や、色数の少ない画像等の、頻度分布に偏りのある画像データに対しても圧縮率で可逆符号化することが可能になる。
以下添付図面を参照して、本発明に係る実施の形態について詳細に説明する。
<第1の実施形態>
図1は、本実施形態に係る画像処理装置のブロック構成図である。
図1に示すように、本実施形態に係る画像処理装置は、色数判定部101、近傍一致情報符号化部102、成分値予測符号化部103、ランレングス符号化部104、符号生成部105、スイッチ106、107、符号列形成部108、バッファ201とを備える。同図において109、110、111、206、207は信号線である。従来の画像処理装置の処理ブロックと同じ動作をするブロックについては同じ番号を付し、説明を省略する。
以下、図1を参照して、本実施形態に係る画像処理装置が行う画像符号化処理について説明する。
本実施形態に係る画像処理装置の符号化対象とする画像データは、RGBカラー画像データであり、各コンポーネント(色成分)は8ビットで、0〜255の範囲の輝度値を表現した画素データにより構成されるものとする。符号化対象の画像データは水平方向W画素、垂直方向H画素のサイズとする。従って、入力される画像データはW×H×3バイトのデータ量である。また、水平右方向がX座標の正方向、垂直下方向がY座標の正方向と定義する。また、入力する画像データの入力順序はラスター順とし、各画素はR,G,Bの順番でデータを並べて構成されるものとする。
符号化対象画像データは信号線206から順に入力される。入力する画像データの供給元は、イメージスキャナでもよいし、所定の記憶装置に格納された画像データでも良く、入力元の種類は問わない。
信号線206から符号化対象となる画像データは順にバッファ201に格納される。画素データの入力順序はラスタースキャン順とし、各画素でR,G,Bの順番で成分データが入力されるものとする。R,G,Bをそれぞれ成分番号0,1,2と定義し、画像の左上隅を座標(0,0)として水平方向画素位置x、垂直方向画素位置yにある画素の成分番号Cの値をP(x,y,C)と表すこととする。例えば、位置(x、y)=(3,4)である画素が(R,G,B)=(255,128,0)という値を持つ場合、P(3,4,0)=255、P(3,4,1)=128、P(3,4,2)=0と表現する。
色数判定部101は着目する符号化対象の画素Xの近傍に位置する図3のa,b,c、d(これらの画素位置の画素データは、既に符号化処理が完了していることに注意されたい)に示す周囲4画素の同一成分値をバッファ201から読み出し、画素Xa,Xb,Xc,Xdを得る。着目する画素Xの位置を(x、y)とし、これを用いてXa,Xb,Xc,Xdを表現すると以下の通りとなる。
Xa=(P(x−1,y,0)、P(x−1,y,1)、P(x−1,y,2))
Xb=(P(x,y−1,0)、P(x,y−1,1)、P(x,y−1,2))
Xc=(P(x−1,y−1, 0)、P(x−1,y−1,1)、P(x−1,y−1,2))
Xd=(P(x+1,y−1,0)、P(x+1,y−1,1)、P(x+1,y−1,2))
色数判定部101は、これらXa,Xb,Xc,Xd内に何種類の色が存在するかを検出して、その色数Ncを信号線110に出力する。具体的には4画素中から2画素のペアを取り出す6通りの組み合わせ、すなわち、「XaとXb」、「XaとXc」、「XaとXd」、「XbとXc」、「XbとXd」、「XcとXd」について、同一色のペアの数をカウントする。カウントした値が0であれば4色、1であれば3色、2か3であれば2色、6であれば1色と判断し、その色数Ncとして信号線110に出力する。
近傍一致情報符号化部102は信号線110を介して、色数判定部101からの色数Ncを入力し、その色数Ncが1乃至3である場合(少なくとも着目画素周辺の4画素中に同じ色の画素のペアが少なくとも1つ存在する場合)、着目画素Xと同じ色の画素が周囲4画素(Xa,Xb,Xc,Xd)に存在するか否か、及び、その一致する近傍画素の位置を特定するベクトル情報を内部的に生成し、それを符号化して符号語を信号線111に出力する。また、同時に、近傍一致情報符号化部102は、着目画素Xとその周囲4画素に基づき、周辺画素状態情報を生成し、それを信号線109に出力する。
図11は近傍一致情報符号化部102の詳細ブロック図である。同図に示すように、近傍一致情報符号化部102は、近傍一致判定部1101及び一致画素位置符号化部1102から構成される。なお、1103は信号線であり、上記ベクトル情報を伝達するものである。以下、同図を参照して近傍一致情報符号化部102の内部で行われる処理について説明する。
近傍一致判定部1101は着目画素Xと同一の画素が、その周囲4画素(Xa,Xb,Xc,Xd)内に存在するか否か、及び存在する場合には着目画素と同じ色を持つものが周囲4画素のいずれであるかを示すベクトル情報を生成し、信号線1103へと出力する。
このベクトル情報は、信号線110を介して入力される色数Ncに依存して決定される。それぞれの色数Ncの場合に分けて近傍一致判定部1101の処理を説明する。
まず、色数Ncが4である場合、即ち、Xa,Xb,Xc,Xdが全て異なる画素値である場合には、近傍一致判定部1101は、Xa,Xb,Xc,Xdの画素データに依存せず、ベクトル情報として“4”を信号線1103に出力する。
色数Ncが1の場合、すなわちXa〜Xdが全て同じ色である場合には、XとXaを比較してX=Xaならば“0”、X≠Xaならば“1”をベクトル情報として信号線1103に出力する。
色数Ncが2の場合、すなわち、Xa〜Xd内に存在する色数が2組の色が存在する場合、Xa,Xb,Xc,Xdの順番で第1の画素値(色)X1と第2の画素値X2を求め、X=X1ならば“0”、X=X2ならば“1”、X≠X1かつX≠X2ならば“2”をベクトル情報として信号線1103に出力する。Xa、Xb,Xc,Xdの順番で見た場合、第1の画素X1は必ずXaである。また、第2の画素値X2は、Xb、Xc、Xdの順にサーチし、Xaと異なる値を持つ最初に検出された画素になる。
色数Ncが3の場合、すなわち、Xa〜Xd内に存在する色数が3つの場合、Xa、Xb,Xc,Xdの順番で第1の画素値X1、第2の画素値X2、第3の画素値X3を求め、X=X1ならば“0”、X=X2ならば“1”、X=X3ならば“2”、X≠X1かつX≠X2かつX≠X3ならば“3”をベクトル情報として信号線1103に出力する。
一方、近傍一致判定部1101から信号線109(図1、図11)に出力される周辺画素状態情報であるが、以下の条件に従って生成する。
近傍一致判定部1101は、信号線1103に出力するベクトル情報と、信号線110を介して入力される色数Ncとを比較し、ベクトル情報と色数Ncとが等しい場合には信号線109から周辺画素状態情報として“1”を出力し、それ以外の場合には“0”を出力する。従って、色数Ncが4である場合には常に“1”となる。
図22は、色数Nc、ベクトル情報、周辺画素状態情報の関係を示している。
図示に示すように、実施形態における周辺画素状態情報とは、着目画素Xの周囲4画素Xa、Xb、Xc、Xd内に同じ色を持つペアが少なくとも1つ存在し(色数が3以下とも言える)、尚且つ、着目画素Xとが同じ色を持つ画素が周囲4画素中に存在するか否かを示す情報と言える。
一致画素位置符号化部1102は、信号線1103から入力されるベクトルを符号化し、その符号語を信号線111に出力する。本実施形態では信号線110を介して入力される色数Ncによって図15(a),(b),(c)の符号化テーブルを切り替えて使用する。色数Ncが“4”である場合には一致画素位置符号化部1102からの符号出力は行われないし、仮に、出力したとしても無視する。なお、ここでは説明を簡単にするために色数Ncに基づいて3つの符号表を切り替える方法について述べたが、各色数ごとに想定される確率分布に応じて行われる符号化方法であれば、様々な手法を適用できることは言うまでもない。
図15(a)乃至(c)において、注目したい点は、着目画素Xの周囲4画素の色数が少ないほど割り当てるビット数が小さくしている点である。これは、周囲4画素の色数が少ないほど、着目画素Xの色が周囲の色と同じになる確率が高いことを利用し、生成される符号語のビット数を効率良くするためのものである。
以上、説明した動作により、信号線111からベクトル情報の符号化結果である符号語が出力される。
図1の説明に戻る。符号生成部105は、信号線109を介して入力される周辺画素状態情報(0か1)に従って、信号線111から出力される符号語と、信号線206を介して入力される着目画素の着目成分値から、着目する画素に対する符号を生成し、出力する。
具体的には、信号線109を介して入力される周辺画素状態情報が“0”である場合には、信号線111から入力されるベクトル情報の符号語をそのまま出力する。また、周辺画素状態情報が“1”である場合、信号線111から入力されるベクトル情報の符号語を出力し、それに続けて着目する画素の各成分をそのまま(非圧縮で)出力する。
図8(a)は、周辺画素状態情報が“0”である場合の、符号生成部105が出力する符号データのデータ構造を示している。同図(b)は、周辺画素状態情報が“1”である場合の、符号生成部105が出力する符号データのデータ構造を示している。なお、色数Ncが4である場合には、近傍一致情報に対する符号語が出力されないため、この部分の符号語長は0であり、R成分非圧縮データから始まる。
一方、成分予測符号化部103であるが、色数判定部101から出力される色数Ncが4である場合には、着目画素Xの各成分値の予測符号化が行われる。成分値の予測符号化にはJPEG可逆符号化モードや、可逆と準可逆符号化の国際標準方式であるJPEG-LS(ITU−T T.87 | ISO/IEC14495−1)にregular modeとして説明される方式などを使用することができる。ここでは説明を簡略化するため、簡易な構成について説明する。
図7は成分値予測符号化部103の詳細ブロック構成図である。同図に示すように、成分値予測符号化部103は、成分値予測部202、減算器203、予測誤差符号化部701から構成される。なお、110は信号線である。従来技術の説明で用いた図2の処理ブロックと同じ機能を果たすブロックについては同じ番号を付し、説明を省略する。以下、同図を参照して近傍一致情報符号化部102の内部で行われる処理について説明する。
従来方式の説明と同様の動作により、着目する画素の周囲画素の同一成分値a,b,cから成分値予測部202により予測値pが生成され、減算器203において着目する画素の成分値xとの差分(予測誤差)e(=x−p)が生成され、予測誤差符号化部701へと入力される。本実施形態では成分値予測部202に入力される予測選択信号mを固定値4として、全ての成分値に対してP=a+b−cの式により予測を行うこととする。
予測誤差符号化部701は、予測誤差eをGolomb符号を用いて符号化する。Golomb符号は非負の整数値を符号化対象とし、パラメータ変数kによって異なる複数の確率モデルによる符号化が可能であるという特徴を持ち、また、符号化対象シンボルとパラメータ変数kから符号語を導出することができるため、符号表が不要という利点がある。Golomb符号の一形態がISOとITU-Tから国際標準勧告されるJPEG-LS(ISO/IEC 14495-1 | ITU-T Recommendation T.87)において予測誤差の符号化方式として採用されている。ここでは減算器203から出力される予測誤差eを次式により非負の整数値(Vとする)に変換した後に,これを選択したkパラメータでGolomb符号化する.
e≧0の場合、V=2×e
e<0の場合、V=−2×e−1
符号化対象の非負の整数値Vを符号化パラメータkでGolomb符号化する手順は次の通りである。
まず、Vをkビット右シフトして整数値mを求める。Vに対する符号はm個の「0」に続く「1」(可変長部)と、Vの下位kビット(固定長部)の組み合わせにて構成する。図16に、k=0、1、2におけるGolomb符号の例を示しておく。ここに述べた符号の構成方法は一例であり、固定長部と可変長部の順序が逆にしても一意復号可能な符号を構成することができ、また、0と1を反対にして符号を構成することもできる。符号化パラメータkの選択方法としては所定の単位で最適なkパラメータの選択して符号列に含める方法など様々な手法が考えられるが、本実施形態ではJPEG−LSと同様の手法により符号化の過程で更新していく方法を用いる。以下、符号化パラメータkの選択方法について述べる。
予測誤差符号化部701には符号化済みの画素の数を保持するカウンタNと、各成分毎に符号化済みの予測誤差の絶対値の合計を保持するカウンタA[C](Cは成分番号であり、0〜2)とを備える。符号化の開始時点でカウンタNを1に、カウンタA[0]〜A[2]を2に設定する。符号化対象の成分値ごとにN×2^kがA[C]を超えない最大のkを求め、これを用いて先に説明した手順にて予測誤差eをGolomb符号化し、符号語を出力する(尚、x^yは、xのy乗を示す)。
各成分の符号化処理後に、A[C]に予測誤差の絶対値|e|を加算して更新する。またこの場合、全成分の符号化処理後にNに1を加えて更新する。なお、A[C]とNを所定の範囲内に限定するためにはNが一定値(例えば32)に達したタイミングでA[C]とNを1/2にするといった処理を適用すれば良い。なお、予測誤差符号化部701は信号線110を介して入力される色数Ncが4である場合にのみ動作する。但し、色数Ncが4であってもスイッチ107が端子bに接続され、後述するランレングス符号化が適用されている途中では動作しない。
次に、実施形態におけるランレングス符号化部104について説明する。ランレングス符号化部104は、その内部に、同じ画素値の連続数を計数するカウンタRLを保持し、色数判定部101から出力される色数Ncが1である場合に計数を開始する。一旦、計数を開始すると、それ以降は色数Ncによらず、着目する画素Xが直前の画素値Xaと異なる値となるか、1ラインの最後の画素を処理し終えるまでの画素数をカウントする。ランが終端した時点(0ランの場合も有り得る)で、カウンタRLに保持されているランレングスを符号化して出力する。なお、ここでは説明を簡単にするために色数判定部101から出力される色数Ncに基づいて画素の連続数を計測開始するものとして説明したが、符号化側と復号側で同様にラン(画素値の連続)の発生が予想できる条件であれば良い。例えば、Xaの直前の画素をXeとしてXa=Xeである場合にランの計測を開始するといった方法を用いても良い。また、想定される画素値としてXaを用いるものとして説明しているが、Xbなどとの同一性に基づいて連続数をカウントする場合も本発明の範疇に含まれる。
今、或るラインの画素を…Xi-1、Xi、Xi+1…とし、画素Xiを着目画素とする。また、それぞれの画素位置における色数Ncを、…Nci-1、Nci、Nci+1と表わしたとする。
ここで、Nci-1が1以外であり、Xi-1がランレングス符号化以外の方法で符号化されていて、Nciが1になった場合について考察する。もし、Xi-1≠Xiである場合には、ランレングス符号化部104はX≠Xaであるので、0ランの符号語を出力することになる。このとき、着目画素Xの符号化データは、ランレングス符号語の出力の直後に、符号生成部105からの符号化データが出力される。また、Xi-1=Xiである場合には、RLに1加算し、それ以降、直前の画素と同じ画素が連続する数を計数していくことになる。
ランレングスの符号化には、様々な方法を適用することが可能であるが、ここでは国際標準方式JPEG−LSにおける「run mode」によるランレングスの符号化と同じ手法を用いることとし、詳細については省略する。
スイッチ106は色数判定部101から出力される色数Ncによって接続を切り替える。Ncが4である場合には端子bに接続し、それ以外の場合(Nc=1、2、3の場合)には端子aに接続する。
スイッチ107は色数判定部101から出力される色数Ncによって接続を切り替え、Ncが1である場合に端子bに接続し、ランレングス符号化部1801によりランレングスのカウントが行われている間はb側に固定する。ランが終端し、ランレングス符号化部1801から符号が出力されると端子aに切り替える。
符号列形成部108では予測選択信号mや、画像の水平方向/垂直方向の画素数、画素を構成する成分の数、各成分の精度などの付加情報と、符号生成部105、成分値予測符号化部103、ランレングス符号化部104から出力される符号化データから、所定のフォーマットの符号列を形成し、信号線207に出力する。出力先としては、ハードディスク等の記憶媒体であればファイルとして出力することになる。
図9に、符号列形成部108から出力される符号列の構造の一例を示す。同図においてランレングス符号化データと画素符号化データの並びは適当である。特に注意されたい点は、各符号化データを区別するための特別なマーカビットを必要としない点である。なお、本実施形態の画像処理装置では予測選択信号mを固定値としているのでヘッダから除くこともできる。
以上の説明のように、本実施形態に係る画像処理装置では、符号化対象となる画素Xの周囲にある符号化済みの画素Xa,Xb,Xc,Xdの色数に応じて予測符号化、ランレングス符号化、近傍一致情報の符号化を動的に切り替えて符号化を行っている。周辺画素値の色数が少なく、かつ、周囲画素に着目画素と同じ画素値が存在しなかった場合には予測符号化を適用した場合に、差分値として大きな値が発生して局所的に多くの符号が発生するといったことが起こるが、本実施形態の画像処理装置では、このような場合に着目画素の各成分を非圧縮で伝送することにより符号量の増大を回避している。これにより、文字、線画、CG画像など、着目画素の周囲に同じ色の画素が存在する可能性の高い画像データの可逆圧縮性能を向上させるとともに、自然画像など、着目画素の周囲に同じ色の画素が存在する可能性の低い画像データにおいても余分な付加を発生することなく、効率的な符号化を行うことができる。
<第1の実施形態の変形例>
上記第1の実施形態をソフトウェアでもって実現しても構わない。そこで、本変形例では、ソフトウェアで実現する例を説明する。
図14はソフトウェアで実現する場合の装置(PC等)の基本構成を示す図である。
図中、1401はCPUで、RAM1402やROM1403に記憶されているプログラムやデータを用いて本装置全体の制御を行うと共に、後述する画像符号化処理、復号処理を実行する。
1402はRAMで、外部記憶装置1407や記憶媒体ドライブ1408、若しくはI/F1409を介して外部装置からダウンロードされたプログラムやデータを記憶するため、及び、CPU1401が各種の処理を実行する際のワークエリアとして使用される。図1に示されるバッファ1201、ハフマンテーブル204等も、このRAM1402に確保されるものである。
1403はROMで、ブートプログラムや本装置の設定プログラムやデータを格納する。
1404、1405は夫々キーボード、マウス(登録商標)等のポインティングデバイスで、CPU1401に対して各種の指示を入力することができる。
1406は表示装置で、CRTや液晶画面などにより構成されており、画像や文字などの情報を表示することができる。
1407は外部記憶装置で、ハードディスクドライブ装置等の大容量情報記憶装置であって、ここにOSや後述する画像符号化、復号処理の為のプログラム、符号化対象の画像データ、復号対象画像の符号化データなどが保存されており、CPU1401による制御によって、これらのプログラムやデータはRAM1402上の所定のエリアにロードされる。
1408は記憶媒体ドライブで、CD−ROMやDVD−ROMなどの記憶媒体に記録されたプログラムやデータを読み出してRAM1402や外部記憶装置1407に出力するものである。なお、この記憶媒体に後述する画像符号化、復号処理の為のプログラム、符号化対象の画像データ、復号対象の画像の符号化データなどを記録しておいても良く、その場合、記憶媒体ドライブ1408は、CPU1401による制御によって、これらのプログラムやデータをRAM1402上の所定のエリアにロードする。
1409はI/Fで、このI/F1409によって外部装置を本装置に接続し、本装置と外部装置との間でデータ通信を可能にするものである。例えは符号化対象の画像データや、復号対象の画像の符号化データなどを本装置のRAM1402や外部記憶装置1407、あるいは記憶媒体ドライブ1408に入力することもできる。1410は上述の各部を繋ぐバスである。
上記構成において、ソフトウェアでもって第1の実施形態と同様の処理を実現する場合、図1に示した色数判定部101に代表される各種構成要素に相当する処理は、ソフトウェア上では関数、サブルーチン等で実現するが、本変形例でも、便宜的に、図11の各処理部の名前をそのまま使用するものとする。なお、バッファ201については、処理を開始するに先立って、CPU1401がRAM1402に確保することになる。
図19は本実施形態の画像処理装置による符号化処理の流れを示すフローチャートである。なお、同図に従ったプログラムはRAM1402にロードされており、CPU1401がこれを実行することで、図19に示したフローチャートに従った処理を行うことができる。以下、同図を参照して、本実施形態に係るアプリケーションプログラムの全体的な流れについて説明する。
まず、符号列形成部108において、符号化対象画像の付加情報を含めたヘッダが生成され、出力される(ステップS1901)。次いで、着目する画素の垂直方向位置を保持するカウンタyを0に、ランレングス符号化部104の内部に保持されるカウンタRLを0に初期化する(ステップS1902)。さらに着目する画素の水平方向位置を保持するカウンタxを0に設定する(ステップS1903)。(x、y)座標に位置する着目画素Xについて、その周辺画素a,b,c,dにおける色数Ncを色数判定部101により求める(ステップS1904)。なお、着目画素が符号化対象の画像の第1ラインの場合には、b、c、d(図3参照)は存在しないので、それら周辺画素のRGB各成分値は0とする。x=0の場合には、周辺画素a,cも存在しないので、それらのRGBは0とする。なお、復号処理と同じになれば良いので、この値に限らないのは言うまでもない。
ステップS1905では、色数Ncが1、もしくはカウンタRLが0以外であるか否かを判定する。色数Nc=1、或いは、カウンタRLが0以外である場合(ステップS1905でYESの場合)には、ステップS1914へと処理を移す。また、上記条件を満たさない場合(ステップS1905でNOの場合)には、ステップS1922へと処理を移す(ステップS1905)。なお、ステップS1905の判定がYESの場合にはスイッチ107が端子bに接続され、NOの場合には端子aに接続される。
ステップS1922に処理が移った場合、色数Ncが4であるか否かを判定する。Nc=4である場合(YES)には、スイッチ106を端子b側に接続し、成分値予測符号化部103により着目画素の各成分を予測符号化して符号列を生成し、スイッチ106、スイッチ107を介して符号列形成部108へと出力する(ステップS1908)。
一方、Nc≠4である場合(NO)には、スイッチ106を端子a側に接続し、近傍一致情報符号化部102により、ベクトル情報を生成し、それを符号化する。また、着目画素と同じ色を持つ画素が周囲4画素に存在するか否かを示す周辺画素状態情報を信号線109に出力する(ステップS1906)。次いで、この周辺画素状態情報が“1”であるか否かを判断し(ステップS1907)、“1”である場合(YES)には符号生成部105にて信号線111を介して入力されるベクトル情報の符号語に着目する画素の各成分を非圧縮で連結させて出力する。そして、符号生成部105、成分値予測符号化部103から出力される符号列を符号列形成部108で所定のフォーマットにして着目画素に対する符号列が形成される(ステップS1909)。次いで、着目する画素の水平方向位置を保持するカウンタxに1を加え(ステップS1910)、画像の水平方向画素数Wと比較してx<Wであれば(YES)処理をステップS1904へと戻し、次の画素の符号化処理を行い、そうでない場合(NO)にはステップS1912へと処理を移す(ステップS1911)。
一方、ステップS1905で、色数Nc=1、或いは、カウンタRLが0以外であると判断した場合、処理はステップS1914に進み、着目画素値X(カウンタx、yで示されるmされる画素値)と直前の画素値Xaを比較する。X≠Xaである場合(ステップS1914でNOの場合)には処理をステップS1920へと移し、X=Xaである場合(ステップS1914でYESの場合)はランレングス符号化部104の内部に保持するカウンタRLに1を加え(ステップS1915)、続いて着目画素の水平方向位置を保持するカウンタxに1を加える(ステップS1916)。そして、画像の水平方向画素数Wと比較してx<Wであれば処理をステップS1904へと戻し、次の画素の符号化処理を行う。そうでない場合にはランが画像の右端まで至ったためこの時点でランレングスを確定させ、ランレングス符号化部104によりカウンタRLに保持されるランレングスを符号化して符号を出力する。ランレングス符号化部104から出力される符号はスイッチ107を介して符号列形成部108へと送られて所定のフォーマットの符号列が形成される(ステップS1918)。ランレングスの符号化を終了すると、カウンタRLが0に戻される(ステップS1919)。このとき、スイッチ107は端子a側に接続変更される。この後、ステップS1912へと処理を移し次のラインへと符号化処理の対象を移す。
ステップS1920に処理が進んだ場合、直前の画素値Xaと異なる画素値Xの出現によりランが終端されたことを意味する。従って、ランレングス符号化部104によりカウンタRLに保持されるランレングスを符号化して符号を出力する。ランレングス符号化部104から出力される符号はスイッチ107を介して符号列形成部108へと送られて所定のフォーマットの符号列が形成される。ランレングスの符号化を終了すると、カウンタRLが0に戻される(ステップS1921)。このとき、スイッチ107は端子a側に接続変更される。続いてステップS1922へと処理を移し、ランを終端させた着目画素Xについての符号化処理を継続する。
ステップS1912では着目する画素の垂直方向位置を保持するカウンタyに1を加え、続いて、画像の垂直方向画素数Hと比較してy<Hであれば(YES)処理をステップS1903へと戻し、次のラインの画素について同様に処理を行い、そうでない場合(NO)には対象とする画像データについての符号化処理を終了する(ステップS1913)。
以上の説明のように、本変形例によっても、第1の実施形態と同様の作用効果を奏することが可能になる。
<第2の実施形態>
次に、上記第1の実施形態(或いはその変形例)で生成された符号化データの復号する例を第2の実施形態として説明する。復号処理は、基本的には、第1の実施形態の画像処理装置での符号化処理の逆の手順で実行すればよい。
図10は、本第2の実施形態に係る符号化画像データを復号する画像処理装置のブロック構成図である。
図10に示すように、本実施形態に係る画像処理装置は、符号バッファ1001、ヘッダ解析部1002、近傍一致情報復号部1003、成分値予測符号化データ復号部1004、ランレングス復号部1005、スイッチ1006、スイッチ1007、スイッチ1008、バッファ201、色数判定部101とを備える。同図において1009、1010、1011、1012は信号線である。第1の実施形態の画像処理装置の処理ブロックと同じ動作をするブロックについては同じ番号を付し、説明を省略する。
以下、図10を参照して、本実施形態に係る画像処理装置が行う復号処理について説明する。
最終的に、復号して得られた画素データは、スイッチ1008から出力されるが、この復号画素データはバッファ201(2ライン分の復号画素データを格納する容量を有する)にも格納する。また、このバッファ201は、復号処理を開始するに先立って、0クリアされる。これは、着目画素が画像の境界に位置する際の近傍画素を確保するためでもある。
さて、復号対象となる符号化データが信号線1009を介して本画像処理装置に入力され、符号バッファ1001に適宜格納され、ヘッダ解析部1002により付加情報の取得が行われる。
色数判定部101では第1の実施形態で説明した処理により、着目画素Xの既に復号済みの周辺4画素(Xa,Xb,Xc,Xd)内に存在する色数Ncを求めて信号線1011へと出力する。
近傍一致情報復号部1003では、色数判定部101から出力される色数Ncが1乃至3のいずれかである場合に、着目符号データは図8(a)、(b)のいずれかの符号化データであるものとして、ベクトル情報を行なう。そして、復号したベクトル情報と色数Ncが不一致の場合には、既に復号済みの周辺画素Xa乃至Xdのいずれかを、着目画素の復号結果として出力する。また、近傍一致情報復号部1003は、復号して得られたベクトル情報と色数Ncが一致するか否かを示す周辺画素状態情報として信号線1010に出力する。
図12は近傍一致情報復号部1003の詳細ブロック図である。同図に示すように、近傍一致情報復号部1003は、一致画素位置復号部1201、セレクタ1202から構成される。なお、1010、1011、1203は信号線である。以下、同図を参照して近傍一致情報復号部1003の内部で行われる処理について説明する。
一致画素位置復号部1201では、信号線1011を介して入力される色数Ncが1〜3である場合に、図15(a)乃至(c)に示す符号語とベクトル情報との対応テーブルの1つを選択し、選択されたテーブルを用いて、入力した符号化データがベクトル情報の符号化データであるものとして復号を行う。そして、復号したベクトル情報は信号線1203を介してセレクタ1202へ出力する。また、復号したベクトル情報と色数Ncとを比較して等しい場合には信号線1010から“1”を、異なる場合には“0”を周辺画素状態情報として出力する。一方、色数Ncが4である場合には周辺画素状態情報として“1”を信号線1010に出力し、ベクトル情報として“4”を信号線1203に出力する。この結果、周辺画素状態情報及びベクトル情報は、図22と同じになる。
セレクタ1202は、一致画素位置復号部1201から信号線1203を介して入力されるベクトル情報に従って、着目画素Xの周囲画素Xa、Xb、Xc、Xdの各成分値の何れかを選択して出力する。ベクトル情報が“0”である場合には、Xaの各成分値を選択し、“1”である場合にはXa、Xb、Xc、Xdの順番に見て、Xaとは異なる最初に検出できた第2の画素値(色)を持つ画素の各成分値を選択する。同様に“2”である場合にはXa,Xb,Xc,Xdの順番で見て、第1の画素値(Xa)および第2の画素値と異なる第3の画素値の各成分値を選択して出力する。なお、近傍一致情報が“3”、または“4”である場合にはセレクタ1202からの出力は無効である。この場合には近傍一致情報復号部1003に繋がるスイッチ1006が端子b側に接続されることになるのでセレクタ1202からの出力は無視される。
スイッチ1006は信号線1010により入力される周辺画素状態情報が“0”である場合(周辺4画素の色数が3以下であり、尚且つ、その中に着目画素と同じ色を持つ画素が存在する場合)には、その端子a側に接続して近傍一致情報復号部1003から出力される画素値がスイッチ1007へと送られるようにする。また、周辺画素状態情報が“1”である場合には、スイッチ1006を端子側に接続し、符号化バッファ1001から取り出される各成分の非圧縮の画素値がスイッチ1007へと送られるようにする。
成分値予測符号化データ復号部1004では色数判定部101から出力される色数Ncが4である場合に、符号バッファ1001から符号化データを読み込み、画素のR、G、B各成分を復号する。
図13は成分値予測符号化データ復号部1004の詳細ブロック構成図である。同図に示すように、成分値予測符号化データ復号部1004は、成分値予測部202、予測誤差復号部1301、加算器1302から構成される。なお、1011は信号線である。以下、同図を参照して成分値予測符号化データ復号部1004の内部で行われる処理について説明する。
予測誤差復号部1301は、信号線1011から入力される色数Ncが4である場合に、第1の実施形態で説明した予測誤差符号化部701の符号化処理と対をなす復号手順により、着目画素の着目成分の予測誤差を復号する。予測誤差復号部1301においても予測誤差符号化部701と同様に符号化済みの画素の数を保持するカウンタNと、各成分毎に符号化済みの予測誤差の絶対値の合計を保持するカウンタA[C](Cは成分番号であり、0〜2)とを備え、復号の開始時点でカウンタNを1に、カウンタA[0]〜A[2]を2に設定する。着目画素の着目する成分値の復号においては符号化時と同様の方法により、NとA[0]〜A[2]から符号化時に用いたkパラメータと同じ値を導出し、これを用いて非負の整数値Vを復号する。Golomb符号の復号は符号化と逆の手順で行われ、まず、復号開始点から「0」の連続数を調べ、整数値mに取得する。「0」の連続を終端させた「1」のすぐ後からkビット取り出し、mをkビット左シフトした後、取り出したkビットとのORR演算を行うことにより非負の整数値Vを復号する。この非負の整数値Vから以下の演算により予測誤差eを復号する。
・Vが奇数の場合、e=−(V+1)/2
・Vが偶数の場合、e=V/2
第1の実施形態と同様に成分値予測部202で予測値pを生成し、加算器1302で着目する成分値を復元して出力する。各成分の復号後、カウンタN[C]に復号した予測誤差の絶対値|e|を加算して更新し、着目する画素について全成分の復号が終了した時点でカウンタNに1を加えて更新する。なお、A[C]とNを所定の範囲内に限定するためにはNが一定値(例えば32)に達したタイミングでA[C]とNを1/2にするといった処理を適用すれば良い。但し、同じkパラメータを得るためには、この処理は符号化側と復号側で共通に行わなければならない。
上述の処理を着目する画素の全ての成分に対して実施し、着目する画素の各成分を復号して出力する。
図10の説明に戻る。スイッチ1007は、色数判定部101から出力される色数Ncが4である場合には端子bに接続し、それ以外の場合には端子aに接続する。
ランレングス復号部1005は色数判定部101から出力される色数Ncが1である場合に、符号バッファ1001から符号化データを読み込み、直前の画素Xaと同じ画素値の連続数RLを復号し、復号画素値としてXaをRL個出力(RL=0の場合も有り得る)する。ランレングス復号部1005の復号処理は第1の実施形態におけるランレングス符号化部104での符号化処理と対をなす。
なお、色数Ncが1以外から1になった場合、近傍一致情報復号部1003よりも、ランレングス復号部1005からの要求を優先して、符号バッファ1001からの次の符号語を読出すようにする。これは、色数Ncが1以外から1になった場合、復号対象の符号化データが、ランレングス符号語であるためである。
スイッチ1008は色数判定部101から出力される色数Ncが1である場合に端子b側に接続し、ランレングス復号部1005で復号したRL個のXaの出力が行われている間はb側に固定する。RL個のXaを出力し終えると、端子aに接続される。
信号線1112から復号された各画素の各成分の値が出力されるが、これらはバッファ201にも格納され、以降の画素の復号において周囲の画素値として利用される。
以上の動作により、第1の実施形態及びその変形例によって生成された符号化データから完全に元の画像データを復元(復号)することが可能になる。
<第2の実施形態の変形例>
上記第2の実施形態は、ソフトウェアでもって実現しても構わない。その例を以下に説明する。ソフトウェアで実現する場合の装置構成は、第1の実施形態の変形例を参照した図14と同じであるのでその説明は省略し、その装置上で実行する復号アプリケーションの処理手順を図21のフローチャートに従って説明する。なお、図10に示す各種処理部に相当する処理は、ソフトウェア上では関数、サブルーチン等で実現することになるが、本変形例でも、便宜的に、図10の各処理部の名前をそのまま使用するものとする。そして、各部の処理内容は、上記第2の実施形態で説明した処理を行なうものとする。また、当然のことながら、バッファ201や符号バッファ1001については、処理を開始するに先立って、CPU1401がRAM1402に確保することになる。
先ず、ステップS2101において、信号線1009から復号対象となる符号化データが符号バッファに入力され、ヘッダ解析部1002で符号化データのヘッダを解析して復号に必要な付加情報を取り出す。そして、着目する画素の垂直方向位置を保持するカウンタyを0に設定し(ステップS2102)、さらに着目する画素の水平方向位置を保持するカウンタxを0に設定する(ステップS2103)。次に、座標(x、y)に位置する画素に着目し、色数判定部101により復号済みの周囲画素Xa、Xb、Xc、Xdを参照して色数Ncを求める(ステップS2104)。色数Ncが1である場合(YES)にはステップS2114へと処理を移し、それ以外の場合(NO)にはステップS2120へと処理を移す(ステップS2105)。このとき、YESの場合にはスイッチ1008が端子bに接続され、NOの場合には端子aに接続される。
ステップS2020では色数Ncを4と比較して、Nc=4である場合にはスイッチ1007を端子b側に接続し、成分値予測符号化データ復号部1004により着目画素の各成分を復号する(ステップS2108)。一方、Nc≠4である場合には、スイッチ1007を端子a側に、スイッチ1006を端子a側に接続し、近傍一致情報復号部1003によりベクトル情報が復号され、復号した値が色数Ncとは異なる値であれば復号値に応じてXa,Xb,Xc,Xdのいずれかを選択して出力する(ステップS2106)。また、復号して得られたベクトル情報と色数Ncが等しいか否かを周辺画素状態情報を信号1010に出力する。
次いで、この周辺画素状態情報が“1”であるか否かを判断し(ステップS2107)、“1”である場合にはスイッチ1006を端子b側に切り替えて、符号化データ中に非圧縮で入れられている各成分値を取り出して出力する(ステップS2121)。得られた画素値を位置(x、y)の復号画素値として、スイッチ1007、スイッチ1008を介して信号線1012から出力する(ステップS2109)。
次いで、着目する画素の水平方向位置を保持するカウンタxに1を加え(ステップS2110)、画像の水平方向画素数Wと比較してx<Wであれば(YES)処理をステップS2104へと戻し、次の画素の復号処理を行い、そうでない場合(NO)にはステップS2112へと処理を移す(ステップS2111)。
一方、ステップS2105にて、色数Ncが1であると判断した場合、処理はステップS2114に進み、ランレングス復号部1005の内部にてランレングスRLが復号される。復号したRLを0と比較して(ステップS2115)、RL=0である場合(YES)にはステップS2120に処理を移す。この場合、スイッチ1008は端子bから端子aへと接続変更される。
また、ステップS2115にて、RL≠0であると判断した場合、スイッチ1008を介して信号線1012へと、位置(x、y)の復号画素値としてXaを出力する(ステップS2116)。次いで、カウンタRLから1を減じ(ステップS2117)、着目する画素の水平方向位置を保持するカウンタxに1を加える(ステップS2118)。そして、ステップS2119にて、水平方向画素数Wと比較してx<Wであれば、ステップS2115へと戻る。また、x=Wであると判断した場合には、ステップS2112へと処理を移す(ステップS2119)。
ステップS2112では着目する画素の垂直方向位置を保持するカウンタyに1を加え、続いて、画像の垂直方向画素数Hと比較してy<Hであれば(YES)処理をステップS2103へと戻し、次のラインの画素について同様に処理を行い、そうでない場合(NO)には対象とする画像データについての符号化処理を終了する(ステップS2113)。
以上の動作により、第2の実施形態と同様、符号化データから完全に元の画像データを復元することができる。
<第3の実施形態の説明>
上記第1の実施形態の画像処理装置では、周囲画素の色数に応じてベクトル情報の符号化を行うか否かを切り替える構成とした。具体的には、周囲4画素の色数を数え、4色の場合にはベクトル情報の符号化を行わずに、各成分毎に予測符号化を行った。また、1色から3色の場合にはベクトル情報の符号化を行い、尚且つ、周囲4画素に着目画素と同一の画素値が存在しない場合には各成分値を非圧縮で伝送する方法を示した。
このような切り替えに限らず、色数以外の情報を参照して切り替えても良い。そこで、本第3の実施形態では、周囲画素間の差分値の大小を判別し、色数が1または2色である場合と、色数が3色、かつ、周囲画素間差分が大きい場合にベクトル情報の符号化を行う構成について説明する。
図17は本第3の実施形態に係る画像処理装置の機能構成を示すブロック図である。図17に示すように、本実施形態に係る画像処理装置は、第1の実施形態で説明した図1のブロック図に画素間差分大小判定部1701、モード判定部1702を追加した構成となっている。また、第1の実施形態の画像処理装置の処理ブロックと同じ動作をするブロックについては同じ番号を付し、説明を省略する。なお、第1の実施形態の変形例で示したように、図17に示す各部の機能をコンピュータに実現させるプログラムによって実現しても構わない。
以下、図17を参照して、本第3の実施形態に係る画像処理装置が行う画像符号化処理について、第1の実施形態の画像処理装置との差分について説明する。
本第3の実施形態に係る画像処理装置の符号化対象とする画像データは、CMYKカラー画像データであり、各コンポーネント(色成分)8ビットで0〜255の範囲の濃度値を表現した画素データにより構成されるものとする。符号化対象の画像データの並びは点順次、即ち、ラスタースキャン順に各画素を並べ、その各画素はC,M,Y,Kの順番でデータを並べて構成されるものとする。また、画像は水平方向W画素、垂直方向H画素により構成されるものとする。CMYKカラー画像データの場合にも、RGBカラー画像データの場合とほぼ同様に処理することができ、第1の実施形態の画像処理装置で、R、G、B3つのコンポーネントに対して行っていた処理をC,M,Y,Kの4つのコンポーネントに対して行えば良い。
画素間差分大小判定部1701は、バッファ201から着目画素Xの周囲4画素Xa、Xb、Xc、Xdにおける着目する成分値をa,b,c,dを読み出し、C,M,Y,Kそれぞれの成分について、aとb、bとc、cとdの差分の絶対値の和Dc、Dm、Dy、Dkを求める。続いてそれぞれの成分について求めたDc、Dm、Dy、Dkを足し合わせ画素間差分の総和Dを求める。この総和Dを予め定めた閾値Thと比較して、D≧Thならば大小判定の結果として“1”を、D<Thならば“0”を出力する。したがって、周辺画素値に変化が大きい場合には“1”が出力され、変化が小さい場合には“0”が出力されることになる。
モード判定部1702は画素間差分大小判定部1701の判定結果と、色数判定部101の出力する色数Ncにより、ベクトル情報の符号化を行うか否かを決定し、行う場合には“1”、行わない場合には“0”をモード判定結果として出力する。
具体的には、ベクトル情報を符号化する条件は、次の2つのいずれかを満たす場合とした。
i)色数Ncが1または2の場合、
ii)色数Ncが3で、画素間差分大小判定部1701の出力が“1”である場合、
上記条件以外の場合には、ベクトル情報の符号化を行なわないものとし、モード判定結果として“0”を出力する。
第1の実施形態では、近傍一致情報符号化部102、成分値予測符号化部103、スイッチ106は色数Ncが1から3の場合と、4の場合に分けて動作を説明したが、本第3の実施形態ではモード判定部1702の出力が“1”の場合に、第1の実施形態で説明した色数Ncが1から3の場合と同じ動作をし、“0”の場合に同じくNcが4の場合と同じ動作をする。
本第3の実施形態の画像処理装置による符号化処理をコンピュータプログラムで実現する場合には、図19に示した第1の実施の形態のフローチャートとほぼ同じであり、ステップS1922の処理が異なる。第1の実施形態のステップS1922では色数Ncが4であるか否かに基づいてステップS1908かステップS1906へと処理を切り替えたが、本第3の実施形態では、画素間差分大小判定部1701により周辺画素間の差分値の大小を判定し、続いてモード判定部1702により近傍一致情報の符号化を行うか否かを決定する。モード判定部1702の出力が“0”である場合(YES)にはスイッチ106を端子b側に接続し、ステップS1908に処理を移す。一方、Nc≠4である場合(NO)にはスイッチ106を端子a側に接続し、ステップS1906へと処理を移すことになる。
従って、本第3の実施形態でも、CPU1401が実行することで、画像を可逆符号化することができるのは明らかである。
以上の説明のように、本第3の実施形態に係る画像処理装置では、周囲の色数が少ない場合(上述の実施形態では3色)でも、周辺画素間の差分値が小さい場合には予測符号化を適用する構成となっており、大きな予測誤差が発生しやすい部分では近傍一致情報の符号化と各成分を非圧縮で伝送し、予測符号化が適していると思われる部分でのみ予測符号化を適用することで、より効率の良い符号化の実現が期待できる。
なお、本第3の実施形態の画像処理装置で生成した符号化データを復号するには符号化処理の逆の手順で行えば良い。第1の実施形態の画像処理装置で生成した符号化データを復号する装置として説明した第2の実施形態の画像処理装置に、上記変更点に対応する変更を加えるだけであるのは、当業者にとって自明の範疇であろう。
<第4の実施形態>
第1、3の実施形態の画像処理装置では近傍一致情報の符号化を行い、周囲画素に着目画素と同一の画素値が存在しなかった場合(不一致であった場合)には各成分値を元のビット精度で、非圧縮で伝送したが、予測変換以外の方法により符号量を削減することも可能である。この例を第4の実施形態として説明する。
図18は、本第4の実施形態に係る画像処理装置の機能構成を示すブロック図である。図18に示すように、本第4の実施形態に係る画像処理装置は、第1の実施形態の画像処理装置のブロック構成を示す図1に、成分値符号化部1801を追加した構成となっている。第1の実施形態の画像処理装置の処理ブロックと同じ動作をするブロックについては同じ番号を付し、説明を省略する。なお、本第4の実施形態においても、図18に示す各部の機能をコンピュータに実現させるプログラムによっても実現できるのは明らかである。この場合、該当するプログラムは図14の外部記憶装置1407や記憶媒体ドライブ1408、もしくはI/F1409を介して外部装置からRAM1402にロードされることになる。
以下、図18を参照して、本第4の実施形態に係る画像処理装置が行う画像符号化処理について、第1の実施形態との差分について説明する。
本第4の実施形態においても、第1の実施形態と同じく、RGBカラー画像データを符号化対象とし、各コンポーネント(色成分)8ビットで0〜255の範囲の輝度値を表現した画素データにより構成されるものとする。
成分値符号化部1801はバッファ201から着目画素の周囲4画素Xa,Xb,Xc,Xdについて着目する成分値a,b,c,dを読み出し、以下のように、aとb、aとc、aとdの排他的論理和R1,R2,R3を求め、それぞれの演算結果の論理和Rを求める。R1=a xor b
R2=a xor c
R3=a xor d
R=R1 | R2 | R3
このようにして得られた変数Rの各ビットは、ビットが0である桁はa,b,c,d全てが共通の値であることを表し、1である桁は共通でないことを表す。
変数Rの最上位ビットMSBから下位に向かう0の連続数をnを求める。そして、aと着目画素Xの着目する成分xの上位nビットどうしを比較し、一致している場合には“1”を、不一致である場合には“0”を符号として出力する。
一致している場合(“1”が出力される場合)、着目画素Xの成分xのMSBから下位に向かうnビットは、周囲画素に等しいことを意味するから、続けてxの下位8−nビットを非圧縮で出力する。また、不一致の場合(“0”が出力される場合)、続けてxの全てのビット(即ち8ビット)を非圧縮で出力する。
因に、復号する場合には、上記と同じ処理を行なってRを求めることで、一致/不一致の1ビットに後続して何ビットの差分ビットが存在するかわかるので、正しく復号することができる。
図20に上記成分値符号化部1801での符号形成の様子を図示する。図20ではa=18(=0x12)、b=15(0x0f)、c=d=27(0x1b)の場合であって、着目画素の同じ成分値x=7(0x7)が符号化される様子を示している。この場合、a,b,c,dの上位3ビットが共通であり(n=3)、符号化対象の成分値xでも上位3ビット部分はa〜dと同じであるので、まず一致を表す“1”が出力される。続いて下位5ビットの情報“00111B”(Bはバイナリを示す)が出力される。
また、図20において、仮にx=128(0x80)であった場合には、上位3ビットについて不一致を表す“0”が出力され、続いてxの全てのビット、即ち、“10000000B”が出力される。R,G,Bそれぞれの成分について上記処理を行い、各成分値を符号化する。
なお、上記の符号化データは、図8(b)のR、G、Bの符号語として出力されることになる。
本第4の実施形態の画像処理装置による符号化処理の流れは図19に示した第1の実施の形態の変形例のフローチャートとほぼ同じであり、ステップS1923の処理が異なるのみである。第1の実施形態のステップS1923では各成分を非圧縮で出力したが、本実施形態では上記の成分値符号化部1801の動作により各成分を符号化して出力する。
第1の実施形態と変形例と同様に、同図に従ったプログラムはRAM1402にロードされており、CPU1401がこれを実行することで、図19に示したフローチャートに従った処理を行うことができるのは明らかである。
以上の説明のように、本第4の実施形態に係る画像処理装置では、近傍一致情報を符号化し、不一致であった場合に予測符号化以外の方法により、着目画素の各成分値を符号化する構成となっており、第1の実施形態よりも更に高い圧縮率とすることができる。
なお、本第4の実施形態の画像処理装置で生成した符号化データを復号するには符号化処理の逆の手順で行えば良い。第1の実施形態の画像処理装置で生成した符号化データを復号する装置として説明した第2の実施形態の画像処理装置に、上記変更点に対応する変更を加えるだけであるので、ここでは説明を省略する。
<その他の例>
本発明は上述した実施の形態に限定されるものではない。
第1から第4の実施形態では近傍一致情報の符号化と、ランレングス符号化、予測符号化の構成について示した。これらは文字、線画、CG画像、自然画像など画像の性質によらず高い圧縮方式を得るためには好適な実施形態であるが、必ずしもランレングス符号化、予測符号化を用いなくとも良い。
また、近傍一致情報の符号化として、あらかじめ確率分布を想定して定めた符号語を用いる方法を示したが、上述の例とは異なる符号語を用いても良いし、算術符号など異なる符号化方法を適用しても構わない。
また、ここでは成分値の予測誤差のエントロピ符号化としてGolomb符号化を用いる例について示したが、ハフマン符号などこれ以外のエントロピ符号化を用いも良い。
また、着目画素Xの周囲画素値としてXa,Xb,Xc,Xdを参照する例について示したが、もっと多くの画素を参照しても良いし、XaとXbだけといったように参照画素数を減らしても構わない。
更に、実施形態では、RGB画像、CMYK画像の符号化を例に説明したが、Lab画像や、YCrCb画像など、複数成分から成る画像データであれば適用可能であるので、上記の色空間にかぎられるものでもない。
また、上述の実施形態では、符号化装置と復号装置を別の実施形態として説明したが、一つの機器にこれら2つの機能を備え、共通部分を統合しても構わないことは言うまでもない。
また、上記実施形態の記載からもわかるように、本発明は画像符号化/復号する装置であれば、デジタルカメラ等、如何なる装置に適用しても構わない。
更に、実施形態で示したように、本発明はコンピュータプログラムによっても実現できるものであるから、装置にファームウェアとして格納しても良いし、純粋にPC等のアプリケーションプログラムやドライバプログラムにも適用できる。また、通常、コンピュータプログラムは、CD−ROM等のコンピュータ可読記憶媒体をコンピュータにセットし、システムにコピーもしくはインストールすることで実行可能になるわけであるから、このようなコンピュータ可読記憶媒体も本発明の範疇に入るのは明らかである。
第1の実施形態に係る画像処理装置のブロック構成図である。 従来の画像処理装置のブロック図である。 符号化対象画素xに対する周辺画素a,b,cの位置を示す図である。 予測選択信号mに対応する予測式を示す図である。 予測誤差eとグループ番号SSSSとの対応を示す図である。 グループ番号SSSSと符号語との対応を示す図である。 成分値予測符号化部103の内部構成を示すブロック図である。 画素符号化データの構成を示す図である。 本画像処理装置の出力符号列の構成を示す図である。 第2の実施形態に係る画像処理装置のブロック構成図である。 近傍一致情報符号化部102のブロック構成図である。 近傍一致情報復号部1003のブロック構成図である。 成分値予測符号化データ復号部1004の内部構成を示すブロック図である。 各実施形態の処理をソフトウェアで実行する場合の壮途のブロック構成図である。 実施形態におけるベクトル情報とその符号語との対応を示すテーブルを示す図である。 Golomb符号の例を示す図である。 第3の実施形態に係る画像処理装置の機能構成を示すブロック図である。 第4の実施形態に係る画像処理装置の機能構成を示すブロック図である。 第1の実施形態の変形例における処理手順を示すフローチャートである。 第4の実施形態における成分値符号化部1801の符号化処理内容を説明するための図である。 第2の実施形態の変形例における処理手順を示すフローチャートである。 実施形態における色数、ベクトル情報、周辺画素状態情報との関係を示す図でる。

Claims (20)

  1. 1画素が複数の色成分データで構成されている画像データを、可逆符号化する画像符号化装置であって、
    入力した着目画素データを構成する複数の色成分データそれぞれについて、前記着目画素の近傍の、符号化済みの画素の色成分データを参照して予測値を求め、予測符号化データを生成する予測符号化手段と、
    前記着目画素の近傍にあって、符号化済み画素位置にある複数の画素が表わす色数を計数し、色数情報を生成する色数計数手段と、
    前記着目画素データと、前記着目画素の近傍にあって符号化済み画素位置にある複数の画素データどうしとを比較し、前記着目画素と同じ色の近傍画素が存在するか否か、及び、存在する場合には前記着目画素に対する該当近傍画素の相対位置を特定するベクトル情報を生成するベクトル情報生成手段と、
    前記ベクトル情報を符号化するベクトル情報符号化手段と、
    前記色数計数手段より得られた色数情報、及び、前記ベクトル情報生成手段で得られたベクトル情報に基づき、前記予測符号化手段、前記ベクトル情報符号化手段で得られた符号化データから出力用の符号化データを生成する符号化データ生成手段とを備え、
    当該符号化データ生成手段は、
    (a)前記色数情報で示される色数が所定閾値以下で、且つ、前記ベクトル情報が前記着目画素と同じ色を持つ近傍画素の存在を示す場合、前記ベクトル情報符号化手段で生成された符号化データを、前記着目画素の符号化データとして出力し、
    (b)前記色数計数手段で計数された色数が前記所定閾値以下で、且つ、前記ベクトル情報が前記着目画素と同じ色を持つ近傍画素の非存在を示す場合、前記ベクトル情報符号化手段で生成された符号化データと前記着目画素データの非圧縮データを、前記着目画素の符号化データとして出力し、
    (c)前記色数計数手段で計数された色数が前記所定閾値を超える場合、前記予測符号化手段で生成された予測符号化データを、前記着目画素の符号化データとして出力する
    ことを特徴とする画像符号化装置。
  2. 更に、符号化済みの画素から同一色の画素の連続が予想される場合に、所定の符号化済み画素と同一色を持つ後続入力画素の数を計数し、計測した同一色の画素の連続数の符号化データを出力するランレングス符号化手段と、
    該ランレングス符号化手段で同一色の画素の連続性の符号化データが生成されるタイミングで、当該ランレングス符号化手段からの符号化データを選択して出力し、符号化済みの画素からの同一色の画素の連続が予想されない場合には、前記符号化データ生成手段からの符号化データを選択し、出力する制御手段と
    を備えることを特徴とする請求項1に記載の画像符号化装置。
  3. 前記ベクトル情報生成手段は、前記色数計数手段で得られた色数情報で示される色数に応じたベクトル情報を生成し、
    前記ベクトル情報符号化手段は、前記色数情報で示される色数毎に想定される確率分布に応じて構成された符号を用いて、前記ベクトル情報の符号化データを生成することを特徴とする請求項1に記載の画像符号化装置。
  4. 前記着目画素の近傍の符号化済み画素位置にある複数の画素データ間で、着目色成分における最上位ビットから下位ビットに向かう共通なビット数nを算出する算出手段と、
    算出された前記着目画素の上位nビットと、符号化済み画素位置にある特定の画素データの上位nビットとを比較し、両者が一致するか否かを判定し、1ビットの判定情報を出力する判定手段と、
    該判定手段からの判定情報が一致することを示す場合、前記着目画素データの上位nビットを除去した下位ビットデータを、判定情報が不一致であることを示す場合には前記着目画素データの全ビットデータを、前記判定情報に後続して出力する共通ビット除去手段とを備え、
    前記符号化データ生成手段の処理(b)における非圧縮データとして、前記共通ビット除去手段で生成されたデータを利用することを特徴とする請求項1に記載の画像符号化装置。
  5. 1画素が複数の色成分データで構成されている画像データを、可逆符号化する画像符号化装置の制御方法であって、
    入力した着目画素データを構成する複数の色成分データそれぞれについて、前記着目画素の近傍の、符号化済みの画素の色成分データを参照して予測値を求め、予測符号化データを生成する予測符号化工程と、
    前記着目画素の近傍にあって、符号化済み画素位置にある複数の画素データが表わす色数を計数し、色数情報を生成する色数計数工程と、
    前記着目画素データと、前記着目画素の近傍にあって符号化済み画素位置にある複数の画素データどうしとを比較し、前記着目画素と同じ色の近傍画素が存在するか否か、及び、存在する場合には前記着目画素に対する該当近傍画素の相対位置を特定するベクトル情報を生成するベクトル情報生成工程と、
    前記ベクトル情報を符号化するベクトル情報符号化工程と、
    前記色数計数工程より得られた色数情報、及び、前記ベクトル情報生成工程で得られたベクトル情報に基づき、前記予測符号化工程、前記ベクトル情報符号化工程で得られた符号化データから出力用の符号化データを生成する符号化データ生成工程とを備え、
    当該符号化データ生成工程は、
    (a)前記色数情報で示される色数が所定閾値以下で、且つ、前記ベクトル情報が前記着目画素と同じ色を持つ近傍画素の存在を示す場合、前記ベクトル情報符号化工程で生成された符号化データを、前記着目画素の符号化データとして出力し、
    (b)前記色数計数工程で計数された色数が前記所定閾値以下で、且つ、前記ベクトル情報が前記着目画素と同じ色を持つ近傍画素の非存在を示す場合、前記ベクトル情報符号化工程で生成された符号化データと前記着目画素データの非圧縮データを、前記着目画素の符号化データとして出力し、
    (c)前記色数計数工程で計数された色数が前記所定閾値を超える場合、前記予測符号化工程で生成された予測符号化データを、前記着目画素の符号化データとして出力する
    ことを特徴とする画像符号化装置の制御方法。
  6. コンピュータ読込み込ませ実行させることで、前記コンピュータを、1画素が複数の色成分データで構成されている画像データを、可逆符号化する画像符号化装置として機能させるコンピュータプログラムであって、
    入力した着目画素データを構成する複数の色成分データそれぞれについて、前記着目画素の近傍の、符号化済みの画素の色成分データを参照して予測値を求め、予測符号化データを生成する予測符号化手段と、
    前記着目画素の近傍にあって、符号化済み画素位置にある複数の画素が表わす色数を計数し、色数情報を生成する色数計数手段と、
    前記着目画素データと、前記着目画素の近傍にあって符号化済み画素位置にある複数の画素データどうしとを比較し、前記着目画素と同じ色の近傍画素が存在するか否か、及び、存在する場合には前記着目画素に対する該当近傍画素の相対位置を特定するベクトル情報を生成するベクトル情報生成手段と、
    前記ベクトル情報を符号化するベクトル情報符号化手段と、
    前記色数計数手段より得られた色数情報、及び、前記ベクトル情報生成手段で得られたベクトル情報に基づき、前記予測符号化手段、前記ベクトル情報符号化手段で得られた符号化データから出力用の符号化データを生成する符号化データ生成手段として機能させ
    当該符号化データ生成手段は、
    (a)前記色数情報で示される色数が所定閾値以下で、且つ、前記ベクトル情報が前記着目画素と同じ色を持つ近傍画素の存在を示す場合、前記ベクトル情報符号化手段で生成された符号化データを、前記着目画素の符号化データとして出力し、
    (b)前記色数計数手段で計数された色数が前記所定閾値以下で、且つ、前記ベクトル情報が前記着目画素と同じ色を持つ近傍画素の非存在を示す場合、前記ベクトル情報符号化手段で生成された符号化データと前記着目画素データの非圧縮データを、前記着目画素の符号化データとして出力し、
    (c)前記色数計数手段で計数された色数が前記所定閾値を超える場合、前記予測符号化手段で生成された予測符号化データを、前記着目画素の符号化データとして出力する
    として機能させることを特徴とするコンピュータプログラム。
  7. 請求項6に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
  8. 1画素が複数の色成分データで構成され、符号化された符号化画像データを復号する画像復号装置であって、
    入力した着目画素データの近傍の、復号済みの画素の色成分データを参照して予測値を求め、予測符号化データを復号する予測復号手段と、
    前記着目画素の近傍にあって、復号済み画素位置にある複数の画素が表わす色数を計数し、色数情報を生成する色数計数手段と、
    該色数計数手段で得られた色数情報による色数が所定数を超えることを示す場合、前記着目画素の符号化データは予測符号化データであるとして、前記予測復号手段によって得られた復号結果を、前記着目画素の復号データとして出力する第1の復号データ出力手段と、
    前記色数計数手段で得られた色数情報による色数が所定数以下の場合、前記着目画素の符号化データは、ベクトル情報であると判定し、当該ベクトル情報を復号するベクトル情報復号手段と、
    該ベクトル情報復号手段で得られたベクトル情報が、前記着目画素と同じ色を持つ、近傍の復号済み画素位置を示す場合、該当する位置の復号済み画素データを選択し、前記着目画素の復号データとして出力する第2の復号データ出力手段と、
    該ベクトル情報復号手段で得られたベクトル情報が、前記着目画素と同じ色を持つ近傍の画素位置が存在しないことを示す場合、後続して入力されるデータは、前記着目画素の非圧縮データであるものとして出力する第3の復号データ出力手段と
    を備えることを特徴とする画像復号装置。
  9. 更に、復号済みの画素から同一色を持つ画素の連続が予想される場合に、入力した符号化データをランレングス符号化データであるものとし、所定の復号済み画素と同一色を持つ画素の連続数を復号し、前記所定の復号済みの画素データを、復号した連続数だけ出力するランレングス復号手段と、
    該ランレングス復号手段で画素データを出力中は、前記第1、第2、第3の復号データ出力手段からの出力を無効とし、前記ランレングス復号手段による復号した全画素データの出力した直後のタイミングで、前記第1、第2、第3の復号データ出力手段から出力を有効にする制御手段と
    を備えることを特徴とする請求項8に記載の画像復号装置。
  10. 前記ベクトル情報復号手段は、前記色数計数手段で得られた色数情報で示される色数毎に想定される確率分布に応じて構成された符号を用いてベクトル情報を復号することを特徴とする請求項8に記載の画像復号装置。
  11. 1画素が複数の色成分データで構成され、符号化された符号化画像データを復号する画像復号装置の制御方法であって、
    入力した着目画素データの近傍の、復号済みの画素の色成分データを参照して予測値を求め、予測符号化データを復号する予測復号工程と、
    前記着目画素の近傍にあって、復号済み画素位置にある複数の画素が表わす色数を計数し、色数情報を生成する色数計数工程と、
    該色数計数工程で得られた色数情報による色数が所定数を超えることを示す場合、前記着目画素の符号化データは予測符号化データであるとして、前記予測復号工程によって得られた復号結果を、前記着目画素の復号データとして出力する第1の復号データ出力工程と、
    前記色数計数工程で得られた色数情報による色数が所定数以下の場合、前記着目画素の符号化データは、ベクトル情報であると判定し、当該ベクトル情報を復号するベクトル情報復号工程と、
    該ベクトル情報復号工程で得られたベクトル情報が、前記着目画素と同じ色を持つ、近傍の復号済み画素位置を示す場合、該当する位置の復号済み画素データを選択し、前記着目画素の復号データとして出力する第2の復号データ出力工程と、
    該ベクトル情報復号工程で得られたベクトル情報が、前記着目画素と同じ色を持つ近傍の画素位置が存在しないことを示す場合、後続して入力されるデータは、前記着目画素の非圧縮データであるものとして出力する第3の復号データ出力工程と
    を備えることを特徴とする画像復号装置。
  12. コンピュータ読込み込ませ実行させることで、前記コンピュータを、1画素が複数の色成分データで構成され、符号化された符号化画像データを復号する画像復号装置として機能させるコンピュータプログラムであって、
    入力した着目画素データの近傍の、復号済みの画素の色成分データを参照して予測値を求め、予測符号化データを復号する予測復号手段と、
    前記着目画素の近傍にあって、復号済み画素位置にある複数の画素データが表わす色数を計数し、色数情報を生成する色数計数手段と、
    該色数計数手段で得られた色数情報による色数が所定数を超えることを示す場合、前記着目画素の符号化データは予測符号化データであるとして、前記予測復号手段によって得られた復号結果を、前記着目画素の復号データとして出力する第1の復号データ出力手段と、
    前記色数計数手段で得られた色数情報による色数が所定数以下の場合、前記着目画素の符号化データは、ベクトル情報であると判定し、当該ベクトル情報を復号するベクトル情報復号手段と、
    該ベクトル情報復号手段で得られたベクトル情報が、前記着目画素と同じ色を持つ、近傍の復号済み画素位置を示す場合、該当する位置の復号済み画素データを選択し、前記着目画素の復号データとして出力する第2の復号データ出力手段と、
    該ベクトル情報復号手段で得られたベクトル情報が、前記着目画素と同じ色を持つ近傍の画素位置が存在しないことを示す場合、後続して入力されるデータは、前記着目画素の非圧縮データであるものとして出力する第3の復号データ出力手段
    として機能させることを特徴とするコンピュータプログラム。
  13. 請求項12に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
  14. 1画素が複数の色成分データで構成されている画像データを、可逆符号化する画像符号化装置であって、
    入力した着目画素データを構成する複数の色成分データそれぞれについて、前記着目画素の近傍の、符号化済みの画素の色成分データを参照して予測値を求め、予測符号化データを生成する予測符号化手段と、
    前記着目画素の近傍にあって、符号化済み画素位置にある複数の画素が表わす色数を計数し、色数情報を生成する色数計数手段と、
    前記着目画素データと、前記着目画素の近傍にあって符号化済み画素位置にある複数の画素データどうしとを比較し、前記着目画素と同じ色の近傍画素が存在するか否か、及び、存在する場合には前記着目画素に対する該当近傍画素の相対位置を特定するベクトル情報を生成するベクトル情報生成手段と、
    前記ベクトル情報を符号化するベクトル情報符号化手段と、
    前記着目画素の近傍にあって、符号化済み画素位置にある複数の画素間の差分値を求め、当該差分値が所定閾値以上であるか否かを判定情報を出力する差分値演算手段と、
    前記色数計数手段で計数された色数情報と、前記差分値演算手段で得られた判定情報に基づき、前記ベクトル情報符号化手段、前記予測符号化手段のいずれかを選択する選択手段と
    を備えることを特徴とする画像符号化装置。
  15. 更に、符号化済みの画素から同一色の画素の連続が予想される場合に、所定の符号化済み画素と同一色をもつ後続入力画素の数を計数し、計測した同一色の画素の連続数の符号化データを出力するランレングス符号化手段と、
    該ランレングス符号化手段で同一色の画素の連続性の符号化データが生成されるタイミングで、当該ランレングス符号化手段からの符号化データを選択して出力し、符号化済みの画素から同一色の画素の連続が予想されない場合には、前記選択手段で選択された符号化手段からの出力を有効にする制御手段と
    を備えることを特徴とする請求項14に記載の画像符号化装置。
  16. 前記選択手段は、
    i)前記色数が第1の閾値以下である、
    ii)前記色数が前記第1の閾値より大きい第2の閾値以下であり、且つ、前記差分演算手段による判定情報が前記所定閾値以上である、
    の条件i、iiのいずれかを満たす場合、前記ベクトル情報符号化手段を選択し、
    前記条件i,iiのいずれも満たさない場合には、前記予測符号化手段を選択する
    ことを特徴とする請求項14に記載の画像符号化装置。
  17. 前記ベクトル情報符号化手段は、
    (a)前記色数情報で示される色数が所定以下で、且つ、前記ベクトル情報が前記着目画素と同じ色を持つ近傍画素の存在を示す場合、前記ベクトル情報符号化手段で生成された符号化データを、前記着目画素の符号化データとして出力し、
    (b)前記色数計数手段で計数された色数が前記所定以下で、且つ、前記ベクトル情報が前記着目画素と同じ色を持つ近傍画素の非存在を示す場合、前記ベクトル情報符号化手段で生成された符号化データと前記着目画素データの非圧縮データを、前記着目画素の符号化データとして出力する
    ことを特徴とする請求項14に記載の画像符号化装置。
  18. 1画素が複数の色成分データで構成されている画像データを、可逆符号化する画像符号化装置の制御方法であって、
    入力した着目画素データを構成する複数の色成分データそれぞれについて、前記着目画素の近傍の、符号化済みの画素の色成分データを参照して予測値を求め、予測符号化データを生成する予測符号化工程と、
    前記着目画素の近傍にあって、符号化済み画素位置にある複数の画素が表わす色数を計数し、色数情報を生成する色数計数工程と、
    前記着目画素データと、前記着目画素の近傍にあって符号化済み画素位置にある複数の画素データどうしとを比較し、前記着目画素と同じ色の近傍画素が存在するか否か、及び、存在する場合には前記着目画素に対する該当近傍画素の相対位置を特定するベクトル情報を生成するベクトル情報生成工程と、
    前記ベクトル情報を符号化するベクトル情報符号化工程と、
    前記着目画素の近傍にあって、符号化済み画素位置にある複数の画素間の差分値を求め、当該差分値が所定閾値以上であるか否かを判定情報を出力する差分値演算工程と、
    前記色数計数工程で計数された色数情報と、前記差分値演算工程で得られた判定情報に基づき、前記ベクトル情報符号化工程、前記予測符号化工程のいずれかを選択する選択工程と
    を備えることを特徴とする画像符号化装置の制御方法。
  19. コンピュータ読込み込ませ実行させることで、前記コンピュータを、1画素が複数の色成分データで構成されている画像データを、可逆符号化する画像符号化装置として機能させるコンピュータプログラムであって、
    入力した着目画素データを構成する複数の色成分データそれぞれについて、前記着目画素の近傍の、符号化済みの画素の色成分データを参照して予測値を求め、予測符号化データを生成する予測符号化手段と、
    前記着目画素の近傍にあって、符号化済み画素位置にある複数の画素が表わす色数を計数し、色数情報を生成する色数計数手段と、
    前記着目画素データと、前記着目画素の近傍にあって符号化済み画素位置にある複数の画素データどうしとを比較し、前記着目画素と同じ色の近傍画素が存在するか否か、及び、存在する場合には前記着目画素に対する該当近傍画素の相対位置を特定するベクトル情報を生成するベクトル情報生成手段と、
    前記ベクトル情報を符号化するベクトル情報符号化手段と、
    前記着目画素の近傍にあって、符号化済み画素位置にある複数の画素間の差分値を求め、当該差分値が所定閾値以上であるか否かを判定情報を出力する差分値演算手段と、
    前記色数計数手段で計数された色数情報と、前記差分値演算手段で得られた判定情報に基づき、前記ベクトル情報符号化手段、前記予測符号化手段のいずれかを選択する選択手段
    として機能させることを特徴とするコンピュータプログラム。
  20. 請求項19に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
JP2005059363A 2005-03-03 2005-03-03 画像符号化装置及び画像復号装置、並びに、それらの制御方法 Expired - Fee Related JP4343863B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005059363A JP4343863B2 (ja) 2005-03-03 2005-03-03 画像符号化装置及び画像復号装置、並びに、それらの制御方法
US11/366,666 US7650039B2 (en) 2005-03-03 2006-03-03 Image encoding apparatus, image decoding apparatus, control method therefor, computer program, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005059363A JP4343863B2 (ja) 2005-03-03 2005-03-03 画像符号化装置及び画像復号装置、並びに、それらの制御方法

Publications (3)

Publication Number Publication Date
JP2006246062A JP2006246062A (ja) 2006-09-14
JP2006246062A5 JP2006246062A5 (ja) 2008-04-10
JP4343863B2 true JP4343863B2 (ja) 2009-10-14

Family

ID=37051989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005059363A Expired - Fee Related JP4343863B2 (ja) 2005-03-03 2005-03-03 画像符号化装置及び画像復号装置、並びに、それらの制御方法

Country Status (1)

Country Link
JP (1) JP4343863B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4655013B2 (ja) * 2006-09-15 2011-03-23 日本電気株式会社 符号化装置とその方法、復号装置とその方法、および符号化ならびに復号プログラム

Also Published As

Publication number Publication date
JP2006246062A (ja) 2006-09-14

Similar Documents

Publication Publication Date Title
JP4587175B2 (ja) 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4732203B2 (ja) 画像符号化装置及び復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US7650039B2 (en) Image encoding apparatus, image decoding apparatus, control method therefor, computer program, and computer-readable storage medium
JP4418762B2 (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US7826670B2 (en) Data compression apparatus and data compression program storage medium
JP2011015139A (ja) 圧縮符号化装置、および画像表示制御装置
JP5375372B2 (ja) 圧縮符号化装置、および復号装置
JP4633576B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4343863B2 (ja) 画像符号化装置及び画像復号装置、並びに、それらの制御方法
JP2008042683A (ja) 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4343862B2 (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4173498B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4377351B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP2010074444A (ja) 画像圧縮装置、画像圧縮方法、画像復号装置、画像復号方法、及び、コンピュータプログラム
JP4131969B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP2008109194A (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP3847891B2 (ja) 符号化装置及び方法及び方法を記憶した記憶媒体
JP4699307B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4131970B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4629512B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4377352B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4944833B2 (ja) 画像符号化装置及びその制御方法
JP2008228229A (ja) 画像符号化装置及びその制御方法
JP2008211527A (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法
JP2011188081A (ja) 画像符号化装置、画像形成装置およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090623

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

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

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

Free format text: PAYMENT UNTIL: 20120717

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4343863

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120717

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130717

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees