JPH11272843A - カラー画像の符号化装置およびその方法並びにカラー画像の復号化装置およびその方法 - Google Patents

カラー画像の符号化装置およびその方法並びにカラー画像の復号化装置およびその方法

Info

Publication number
JPH11272843A
JPH11272843A JP10071026A JP7102698A JPH11272843A JP H11272843 A JPH11272843 A JP H11272843A JP 10071026 A JP10071026 A JP 10071026A JP 7102698 A JP7102698 A JP 7102698A JP H11272843 A JPH11272843 A JP H11272843A
Authority
JP
Japan
Prior art keywords
component
encoding
decoding
color
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP10071026A
Other languages
English (en)
Inventor
Shoji Hoshina
彰治 保科
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP10071026A priority Critical patent/JPH11272843A/ja
Publication of JPH11272843A publication Critical patent/JPH11272843A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Color Television Systems (AREA)

Abstract

(57)【要約】 【課題】 DCTを使用せずカラー画像を符号化および
復号化することにより、符号化や復号化の時間を短縮す
る。また、画像の影の部分を十分考慮した動き補償とす
ること。 【解決手段】このマルチカラー画像からなる動画像の符
号化装置1は、RGB成分から変換されたYUV成分の
少なくともUV成分を間引く間引き手段2cと、間引か
れないかまたは小さく間引かれたY成分を量子化する量
子化手段2dと、大きく間引かれたUV成分および上記
量子化されたY成分を圧縮して符号化する符号化手段と
を設けている。また、動画像のための動き補償を行う
際、UV成分について動き補償を行い、Y成分について
動き補償を行わないようにしている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、カラー画像の符号
化装置およびその方法ならびにカラー画像の復号化装置
およびその方法に関する。そして、さらに詳細に述べれ
ば、マルチカラー画像や自然画像を符号化および復号化
する際のYUV成分の処理の仕方の改良に関する。
【0002】
【従来の技術】従来からパソコンやゲーム機器等では、
マルチカラー画像と呼ばれる画像が使用されている。こ
のマルチカラー画像とは、代表色画像とか限定色画像等
とも呼ばれているもので、図37に示すように、特定の
色、すなわち特定のR(赤)、G(緑)、B(青)の値
を持つ色に対してインデックスを付与し、そのインデッ
クスのデータを利用して、16色や256色等の限定さ
れた代表色で表現するようにした画像のことである。
【0003】このようなマルチカラー画像のデータは、
仮にR、G、Bの各色が8ビット(256種)で表され
るとしたら、合計24ビット必要になるのであるが、イ
ンデックスそのものも例えば8ビットで表示するように
しているので、相当な圧縮率となっている。しかし、圧
縮はされているが、それでも情報量が多いため、何の工
夫もせず、そのままの形で処理すると、メモリ容量が大
きくなり、また通信速度も遅くなり実用的でない。した
がって、マルチカラー画像も他の画像データと同様にそ
の圧縮技術は極めて重要なものとなる。なお、マルチカ
ラー画像は、その色の数が限定されていることから、一
般的に、ロスレスでの符号化および復号化、すなわち可
逆的な圧縮技術が必要とされている。
【0004】一方、近年、データ圧縮の手法の一つとし
て、エントロピー符号器および復号器を用いた技術が注
目されている。このエントロピー符号化および復号化技
術の一つとして、例えば、算術符号化および復号化の技
術を用いたものがある。この技術の概要は、例えば、特
開昭62−185413号公報、特開昭63−7432
4号公報、特開昭63−76525号公報等に記載され
ている。
【0005】図35に、このような技術を用いた従来の
マルチカラー画像の符号化システム50および復号化シ
ステム60を示す。この符号化システム50は、ライン
バッファ51と、エントロピー符号器52とを含むもの
である。入力されるインデックスのデータ、すなわちカ
ラー画素データ100Aは、ラインバッファ51および
エントロピー符号器52へ入力される。このカラー画素
データ100Aは、図36に示すように、いずれもラス
タースキャンされ水平走査順に順次画素データとして入
力される。なお、このインデックスのデータ、すなわち
カラー画素データ100Aを作成する方法としては、入
力する色の順番にインデックスを付与する方法が一般的
であり、図37に示すように、インデックスの番号が近
いもの、例えば「1」と「2」でもその色が大きく異な
ったり、インデックスの番号が遠いもの、例えば「10
0」と「200」でもその色は近似している現象が生じ
ている。このような現象を避けるため、特開平5−32
8142に示されるように、色の近いものに連続番号を
付与するようにしたものも現れている。
【0006】符号化システム50中のラインバッファ5
1は、参照画素生成手段として、既に入力されたカラー
画素データ100Aから、符号化対象画素Xに対する参
照画素データA,B,C,Dを作成する。すなわち、ラ
インバッファ51は、画像をスキャンするときにnライ
ン(1〜5ライン程度が多い)分の履歴を記憶してお
く。そして、符号化対象画素Xのカラー画素データ10
0Aが入力されるごとに、この直前の画素Aと、周辺の
画素B,C,Dとからなる一連の画素データを参照画素
データ110としてエントロピー符号器52へ向けて出
力する。
【0007】このエントロピー符号器52は、例えば、
算術符号化またはハフマン符号化などの手法を用いて形
成される。そして、参照画素データ110を状態信号と
して用い、対象カラー画素データ100Aを符号化デー
タ200に変換出力する。
【0008】一方、復号化システム60は、ラインバッ
ファ61とエントロピー復号器62を含んで構成され
る。ここにおいて、ラインバッファ61とエントロピー
復号器62は、入力される符号化データ200を符号化
システム50のラインバッファ51、エントロピー符号
器52とは全く逆の手順で復号化出力するように形成さ
れている。
【0009】このようにして、符号化システム50と、
復号化システム60とは、互いに全く逆のアルゴリズム
を用いて、カラー画素データ100Aを符号化データ2
00に符号化し、さらにこの符号化データ200をカラ
ー画素データ100Bに復号化して出力することができ
る。したがって、このシステムは、各種用途に幅広く用
いることができる。
【0010】一方、自然画像の場合、そのカラー画像
は、直接RGB成分で表せられる。しかし、JPEGや
MPEGと呼ばれる規格では、データ圧縮のし易さから
通常は、一旦、YUV成分に変換される。しかも、人間
の目は、輝度成分(=Y成分)に敏感で、色成分(=U
V成分)には鈍感なため、UV成分を間引くことが行わ
れている。Y成分と間引かれたUV成分は、それぞれブ
ロック化され、各ブロック毎に離散コサイン変換(以下
DCTという)される。その後、DCT係数が量子化さ
れ、その値がハフマン符号等により符号化される。な
お、マルチカラー画像の場合も、そのパレットには各R
GBの値が入れられており、RGBからなる自然画像に
した後、同様な処理を行うことが可能である。
【0011】また、動画像の符号化や復号化において
は、動き補償と呼ばれるものが知られている。この動き
補償は、動画が静止画の連続であり、その1枚1枚を見
ると、前のフレームや後のフレームと相関があることに
着目したものである。具体的には、着目フレームを16
×16ピクセルの複数のブロックに分割し、当該着目フ
レーム中の所定ブロックが参照フレームの1ピクセル左
にずれた同様のブロックと似ている場合、着目フレーム
中のそのブロックの画像データを符号化または復号化せ
ず、参照フレーム中の1ピクセル左にずれたブロックに
似ているというデータを符号化または復号化するもので
ある。
【0012】すなわち、この動き補償では、着目フレー
ムの全データを符号化したり復号化するのではなく、変
化のあった部分だけのデータ(動領域)を送ると共に、
参照フレーム中のブロックと同一となるブロックについ
ては、さらに動きベクトルをデータ化することによって
差分情報のさらなる減少が可能となっている。
【0013】
【発明が解決しようとする課題】マルチカラー画像は、
その色の数が限定されていることから、一般的に、ロス
レスでの符号化および復号化が必要とされている。しか
し、非可逆(=ロッシー)となってしまうが、マルチカ
ラー画像を自然画で復号したい場合がある。また、自然
画をロッシーで復号したい場合もある。このような要求
の場合、従来のものでは、DCTを使用するため、その
実行、すなわち符号化と復号化に多くの時間を要するも
のとなっている。
【0014】また、最近の立体画像(3D画像)に動き
補償を適用する場合、その影にあたる部分を効率的に符
号化し、復号化することが全体のデータ圧縮や効率的な
復号にとって重要であることがわかってきた。しかし、
影に相当する部分の効率的な符号化や復号化は、まだ十
分解決されていない。
【0015】本発明は、以上のような問題に対処してな
されたものであり、DCTを使用せずカラー画像を符号
化および復号化することにより、符号化や復号化の時間
を短縮できるようにしたカラー画像の符号化装置および
その方法ならびにカラー画像の復号化装置およびその方
法を提供することを目的とする。また、他の本発明は、
カラー画像からなる動画像の符号化や復号化を行う際、
画像の影の部分を十分考慮した動き補償とすることがで
きるカラー画像の符号化装置およびその方法ならびにカ
ラー画像の復号化装置およびその方法を提供することを
目的とする。
【0016】
【課題を解決するための手段】かかる目的を達成するた
め、請求項1記載の発明では、カラー画像の符号化装置
において、RGB成分から変換されたYUV成分の少な
くともUV成分を間引く間引き手段と、間引かれないか
または小さく間引かれたY成分を量子化する量子化手段
と、大きく間引かれたUV成分および上記量子化された
Y成分を圧縮して符号化する符号化手段とを設けてい
る。
【0017】このため、DCTを使用せずカラー画像を
符号化することになり、符号化の時間を短縮できること
となる。また、Y成分を量子化してその値を小さくし、
UV成分を大きく間引いているので、同様にデータ量が
少なくなり、符号化を効率的に行えるものとなる。
【0018】また、請求項2記載の発明では、カラー画
素データからなる静止画のフレームを連続させて動画像
を形成する際、符号化対象の着目フレームをそれぞれN
×Nピクセル(Nは4以上の整数)からなる複数のブロ
ックに分割し、その着目フレーム中のブロックが参照フ
レーム中のブロックと同一であるとき、そのブロックの
動きベクトルを差分情報としてデータ化し、差分情報の
データ量を減少させる動き補償を行うカラー画像の符号
化装置において、RGB成分から変換されたYUV成分
の少なくともUV成分を間引く間引き手段と、間引かれ
ないかまたは小さく間引かれたY成分を量子化する量子
化手段と、大きく間引かれたUV成分および上記量子化
されたY成分を圧縮して符号化する符号化手段とを設
け、UV成分について動き補償を行い、Y成分について
動き補償を行わないようにしている。
【0019】一般的に、3D画像の影の部分の輝度(Y
成分)は、光線の当たり具合で大きく変化する。このた
め、動き補償にはなじまない。一方、色成分であるUV
成分は、大きく変化しない。よって、UV成分のみに動
き補償を使用すると、効率的なデータ圧縮が可能とな
る。
【0020】さらに、請求項3記載の発明では、請求項
1または2記載のカラー画像の符号化装置において、カ
ラー画像をマルチカラー画像とし、そのマルチカラー画
像をRGB成分からなる自然画像に変換する自然画変換
手段と、変換されたRGB成分をYUV成分に変換する
YUV変換手段と、大きく間引かれたUV成分にインデ
ックスを付与すると共にパレット化するパレット化手段
とを設け、符号化手段は、量子化されたY成分およびパ
レット化されたインデックスが付与されたUV成分を符
号化するようにしている。
【0021】このため、マルチカラー画像も自然画と同
様に非可逆で符号化できることとなり、データの圧縮率
を向上させることができる。また、UV成分は、UVを
一組としてインデックスが付与され、パレット化される
ため、圧縮効率は一層高くなる。
【0022】加えて、請求項4記載の発明では、請求項
1、2または3記載のカラー画像の符号化装置におい
て、符号化手段は、色の出現頻度によって、そのY成分
およびUV成分を並び替える色順位変換手段と、この色
順位変換手段によって並び替えられた各成分の値をラン
レングスモデル化するランレングスモデル化手段とを有
している。このように、色順位変換手段と、ランレング
スモデル化手段とを有し、符号化しているので、データ
圧縮効率がきわめて高くなる。
【0023】また、請求項5記載の発明では、カラー画
像の符号化方法において、RGB成分から変換されたY
UV成分の少なくともUV成分を間引く間引き工程と、
間引かれないかまたは小さく間引かれたY成分を量子化
する量子化工程と、大きく間引かれたUV成分および上
記量子化されたY成分を圧縮して符号化する符号化工程
とを設けている。
【0024】このため、DCTを使用せずカラー画像を
符号化することになり、符号化の時間を短縮できること
となる。また、Y成分を量子化してその値を小さくし、
UV成分を大きく間引いているので、同様にデータ量が
少なくなり、符号化を効率的に行えるものとなる。
【0025】また、請求項6記載の発明では、カラー画
素データからなる静止画のフレームを連続させて動画像
を形成する際、符号化対象の着目フレームをそれぞれN
×Nピクセル(Nは4以上の整数)からなる複数のブロ
ックに分割し、その着目フレーム中のブロックが参照フ
レーム中のブロックと同一であるとき、そのブロックの
動きベクトルを差分情報としてデータ化し、差分情報の
データ量を減少させる動き補償を行うカラー画像の符号
化方法において、RGB成分から変換されたYUV成分
の少なくともUV成分を間引く間引き工程と、間引かれ
ないかまたは小さく間引かれたY成分を量子化する量子
化工程と、大きく間引かれたUV成分および上記量子化
されたY成分を圧縮して符号化する符号化工程とを設
け、UV成分について動き補償を行い、Y成分について
動き補償を行わないようにしている。
【0026】一般的に、3D画像の影の部分の輝度(Y
成分)は、光線の当たり具合で大きく変化する。このた
め、動き補償にはなじまない。一方、色成分であるUV
成分は、大きく変化しない。よって、UV成分のみに動
き補償を使用すると、効率的なデータ圧縮が可能とな
る。
【0027】さらに、請求項7記載の発明では、請求項
5または6記載のカラー画像の符号化方法において、カ
ラー画像をマルチカラー画像とし、そのマルチカラー画
像をRGB成分からなる自然画像に変換する自然画変換
工程と、変換されたRGB成分をYUV成分に変換する
YUV変換工程と、大きく間引かれたUV成分にインデ
ックスを付与すると共にパレット化するパレット化工程
とを設け、符号化工程は、量子化されたY成分およびパ
レット化されたインデックスが付与されたUV成分を符
号化するようにしている。
【0028】このため、マルチカラー画像も自然画と同
様に非可逆で符号化できることとなり、データの圧縮率
を向上させることができる。また、UV成分は、UVを
一組としてインデックスが付与され、パレット化される
ため、圧縮効率は一層高くなる。
【0029】加えて、請求項8記載の発明では、請求項
1、2または3記載のカラー画像の符号化方法におい
て、符号化工程は、色の出現頻度によって、そのY成分
およびUV成分を並び替える色順位変換工程と、この色
順位変換工程によって並び替えられた各成分の値をラン
レングスモデル化するランレングスモデル化工程とを有
している。このように、色順位変換工程と、ランレング
スモデル化工程とを有し、符号化しているので、データ
圧縮効率がきわめて高くなる。
【0030】また、請求項9記載の発明は、YUV成分
を有するカラー画像の復号化装置において、入力される
対象符号化データを復号する復号化手段と、復号された
データ中の量子化されたY成分をスムージング処理する
スムージング手段と、Y成分に比べ大きく間引かれたU
V成分を中間色補間によって処理する中間色処理手段と
を設けている。
【0031】このため、DCTを使用せずカラー画像を
復号化できることになり、復号化の時間を短縮できるこ
ととなる。また、Y成分を量子化してその値を小さく
し、UV成分を大きく間引いているので、同様にデータ
量が少なくなり、復号化を効率的に行えるものとなる。
【0032】また、請求項10記載の発明は、入力され
る対象符号化データをYUV成分からなるカラー画素デ
ータに復号する復号化手段と、該カラー画素データから
なる静止画を連続させて動画像を形成する動画像形成手
段とを備え、動画像形成手段は、復号化対象の着目フレ
ームをそれぞれN×Nピクセル(Nは4以上の整数)か
らなる複数のブロックに分割し、その着目フレーム中の
ブロックに関する復号化データ中にそのブロックの相対
変位を示す動きベクトルが存在するとき、参照する参照
フレーム中の同一のブロックを利用してそのブロックを
復号する動き補償を行うカラー画像の復号化装置におい
て、復号化手段によって復号されたデータ中、UV成分
については動き補償を行い、Y成分については上記動き
補償を行わないようにしている。
【0033】一般的に、3D画像の影の部分の輝度(Y
成分)は、光線の当たり具合で大きく変化する。このた
め、動き補償にはなじまない。一方、色成分であるUV
成分は、大きく変化しない。よって、UV成分のみに動
き補償を使用すると、動画像の効率的な復号が可能とな
る。
【0034】さらに、請求項11記載の発明では、復号
化手段に、色の出現頻度によってそのY成分およびUV
成分を並び替えて復号する色順位変換手段と、この色順
位変換手段によって並び替えられた各成分の値を示すデ
ータをランレングス復号化するランレングス復号化手段
とを設けている。このように、色順位変換手段と、ラン
レングスモデル化手段とを有し、復号化しているので、
データの復号効率がきわめて高くなる。
【0035】また、請求項12記載の発明は、YUV成
分を有するカラー画像の復号化方法において、入力され
る対象符号化データを復号する復号化工程と、復号され
たデータ中の量子化されたY成分をスムージング処理す
るスムージング工程と、Y成分に比べ大きく間引かれた
UV成分を中間色補間によって処理する中間色処理工程
とを設けている。
【0036】このため、DCTを使用せずカラー画像を
復号化できることになり、復号化の時間を短縮できるこ
ととなる。また、Y成分を量子化してその値を小さく
し、UV成分を大きく間引いているので、同様にデータ
量が少なくなり、復号化を効率的に行えるものとなる。
【0037】また、請求項13記載の発明は、入力され
る対象符号化データをYUV成分からなるカラー画素デ
ータに復号する復号化工程と、該カラー画素データから
なる静止画を連続させて動画像を形成する動画像形成工
程とを備え、動画像形成工程は、復号化対象の着目フレ
ームをそれぞれN×Nピクセル(Nは4以上の整数)か
らなる複数のブロックに分割し、その着目フレーム中の
ブロックに関する復号化データ中にそのブロックの相対
変位を示す動きベクトルが存在するとき、参照する参照
フレーム中の同一のブロックを利用してそのブロックを
復号する動き補償を行うカラー画像の復号化方法におい
て、復号化工程によって復号されたデータ中、UV成分
については動き補償を行い、Y成分については上記動き
補償を行わないようにしている。
【0038】一般的に、3D画像の影の部分の輝度(Y
成分)は、光線の当たり具合で大きく変化する。このた
め、動き補償にはなじまない。一方、色成分であるUV
成分は、大きく変化しない。よって、UV成分のみに動
き補償を使用すると、動画像の効率的な復号が可能とな
る。
【0039】さらに、請求項14記載の発明では、復号
化工程に、色の出現頻度によってそのY成分およびUV
成分を並び替えて復号する色順位変換工程と、この色順
位変換手段によって並び替えられた各成分の値を示すデ
ータをランレングス復号化するランレングス復号化工程
とを設けている。このように、色順位変換工程と、ラン
レングスモデル化工程とを有し、復号化しているので、
データの復号効率がきわめて高くなる。
【0040】
【発明の実施の形態】本発明の実施の形態を図1から図
34に基づき説明する。なお、従来技術中のデータと対
応する各データには、同一符号を付して説明する。
【0041】図1に、本発明に係るマルチカラー画像か
らなる動画像の符号化システム1の好適な実施の形態を
示す。また、図3に、図1の符号化システム1に対応す
るマルチカラー画像からなる動画像の復号化システム3
の好適な実施の形態を示す。
【0042】この符号化システム1は、前処理手段2
と、静止画としてのフレームをメモリする2つのフレー
ムメモリ1a,1bと、動き補償を行うための動きベク
トルVを生成する排他的論理生成手段/動き補償手段1
cと、この排他的論理生成手段/動き補償手段1cで生
成される動きベクトルVを符号化するエントロピー符号
器4と、各スイッチ5a,5bを制御する制御回路5
と、インデックス変換部7と、周辺画素生成手段および
参照画素生成手段となるラインバッファ10と、縮退手
段となるマルコフモデル生成部11と、エントロピー符
号化手段となるエントロピー符号器12と、合成部20
とを含み、入力されるカラー画素データ100Aのデー
タストリームを符号化データ200のデータストリーム
に変換して出力するように構成されている。なお、前処
理手段2以後が符号化手段となっている。
【0043】前処理手段2は、そのマルチカラー画像の
カラー画素データ100AをRGB成分からなる自然画
像に変換する自然画変換手段2aと、変換されたRGB
成分をYUV成分に変換するYUV変換手段2bと、Y
UV成分の少なくともUV成分を間引く間引き手段2c
と、間引かれないかまたは小さく間引かれたY成分を量
子化する量子化手段2dと、量子化されたY成分をイン
デックス化するインデックス化手段2eと、大きく間引
かれたUV成分にインデックスを付与すると共にパレッ
ト化するパレット化手段2fとから構成される。
【0044】なお、この実施の形態では、マルチカラー
画像のカラー画素データ100Aは、256色のインデ
ックス画像となっている。また、RGB画像は、各8ビ
ットからなる計24ビットの自然画像としている。さら
に、間引き手段2cは、YUV成分中、UV成分を間引
くものとなっている。この間引き手段2cは、YUVを
4:2:2または4:1:1に間引くものとなってい
る。なお、間引きは、縦横同割合ではなく異なる割合に
しても良い。また、必要によってはY成分も間引いても
良いが、その間引き程度は、UV成分より小さくする必
要がある。
【0045】量子化手段2dは、JPEG規格等で使用
されている量子化手段と同様な構成のもので、Yの値を
所定の係数によって小さくしている。量子化されたY成
分は、インデックス化手段2eによって0,1,2等の
インデックスが付与される。一方、大きく間引かれたU
V成分は、パレット化手段2fによってUVが一対とな
ってインデックスが付与されると共にその値がパレット
化される。
【0046】排他的論理生成手段/動き補償手段1c
は、従来と同様な機能を有するものとなっている。ここ
で、この動作について簡単に説明する。
【0047】カラー画素データ100A‘は、マルチカ
ラー画素データとして、フレームメモリ1a,1bのい
ずれかに入力する。この入力信号が排他的論理生成手段
/動き補償手段1cに入力する。元の信号が、ラスタス
キャンにしたがって入力されている場合には、排他的論
理生成手段/動き補償手段1cにてブロック単位の画素
比較を行うために、画像バッファ(図示省略)に画素デ
ータを入力する。この場合には、画像バッファは少なく
とも、ブロックの縦の画素数×画像フレームの横画素数
分の画像データを入力できる容量になる。この画像バッ
ファの値と、フレームメモリ1a,1bに格納された過
去または未来の画像データと排他的論理和XORにて、
該当画素が互いに一致しているかどうかを検証する。こ
の検証は、画像バッファ中のブロックと同じ座標の、フ
レームメモリ1a,1b中のブロックを取り出しXOR
比較する他に、その同じ座標の周囲のブロックについて
も比較する。
【0048】画素データは、マルチカラー画像では、1
画素あたり1バイト程度のデータから成り立つ。排他的
論理和XORは、フレーム画像データの画素と、画像バ
ッファの画素が同一であるかどうかの確認であるので、
1画素を表す全てのビットをXORするのではなく、ど
れか1ビットでも異なっているものがあれば、確認は終
了する。
【0049】画素の一致、不一致は、排他的論理生成手
段/動き補償手段1c内のカウンター(図示省略)によ
って、カウントする。ここでは不一致検出ごとにカウン
ターが増大するとする。このカウンターは、フレームメ
モリ1a,1bの1ブロック分のカウントを終了するご
とにリセットされる。リセット直前のカウント値は、カ
ウンターに内在している、カウント値の配列格納部(図
示省略)に、現在の比較しているブロックの位置と、フ
レームメモリ1a,1bのブロック位置とのずれごとに
格納する。
【0050】現在の画像の1ブロック分の比較の終了時
には、配列格納部中でカウント値のもっとも小さい値を
検索する。その値が設定した閾値よりも大きい場合に
は、現在のブロックが過去または未来の該当位置のブロ
ックと、同一または類似していないと判別する。判別の
結果によって行う動作は、順方向予測すなわち過去から
現在方向の予測と、逆方向予測すなわち未来から現在方
向の予測と、双方向予測すなわち過去または未来から現
在への予測とでは動作が異なる。
【0051】順方向予測では、同一または類似であると
判別した時、過去フレームの最も不一致点が少ない領域
を、現在のフレームへコピーする。逆に同一または類似
ではない時には、画像バッファから現在のフレームにコ
ピーする。このとき、排他的論理生成手段/動き補償手
段1c以外の部分では、画像バッファの比較したブロッ
クに相当するデータをエントロピー符号器12によって
符号化する。
【0052】逆方向予測では、同一または類似であると
判別した時、未来フレームの最も不一致点が少ない領域
を、現在のフレームへコピーする。逆に同一または類似
ではない時には、画像バッファから現在のフレームにコ
ピーする。このとき、排他的論理生成手段/動き補償手
段1c以外の部分では、画像バッファの比較したブロッ
クに相当するデータをエントロピー符号器12によって
符号化する。
【0053】双方向予測では、同一または類似でないと
判別した時、排他的論理生成手段/動き補償手段1c以
外では、画像バッファの比較したブロックに相当するデ
ータをエントロピー符号器12によって符号化する。同
一または類似であると判別した時は、順方向予測または
逆方向予測と同一となる。
【0054】順、逆および双方向予測ともに、同一また
は類似であると判別した時の、最も不一致点が少ない領
域と、現在判断している領域との相対位置のずれを、動
きベクトルVとする。この動きベクトルVは、動きベク
トルV用に決める符号化手順により圧縮や多重化を行
う。
【0055】このような動き補償の動作を図を利用して
説明する。例えば、全く予測を用いないフレームをIピ
クチャー、過去の画像を用いて予測を行うフレームをP
ピクチャー、過去と未来の画像を利用して予測を行うフ
レームをBピクチャーとすると、図5(A)に示すよう
に、入力順は、PBBPBBIBBPBBPBBIとな
る。このように、各フレームに役割を与えると、符号化
順序は図5(B)に示すとおりとなる。すなわち、例え
ば、No.8のフレームは、No.7のIピクチャーと
No.10のPピクチャーが符号化された後に、それら
のデータを利用して符号化される。この符号化の際、動
き補償が適宜使用される。
【0056】動き補償は、PピクチャーとBピクチャー
を符号化するときに使用される。具体的には、符号化し
ようとするフレーム内を、図6に示すように、16×1
6ピクセルのマクロブロックMBに分割し、そのマクロ
ブロックMBと同一と判定されるマクロブロックを参照
フレームから捜し出す。なお、参照フレームは、Pピク
チャーを符号化するときはIピクチャーで、Bピクチャ
ーを符号化するときはIピクチャーとPピクチャーとな
る。
【0057】参照フレームから同一ブロックを捜し出す
方法は、従来と同様に、参照フレームの対応するマクロ
ブロックMBの位置およびその位置からわずかにずれた
位置のマクロブロックMBの各画素を対比することによ
り行う。この実施の形態では、同一か否かの判断を両マ
クロブロックMB内の対応する位置の画素が異なる場合
のその個数で行っている。すなわち、不一致数が所定値
以下となるときに、排他的論理生成手段/動き補償手段
1c内の判断手段(図示省略)が両マクロブロックMB
を同一と判断する。この実施の形態では、このマクロブ
ロックMBの判定のための所定値を20個としている。
【0058】同一と判断すると、排他的論理生成手段/
動き補償手段1cは、両マクロブロックMBの移動方向
をベクトル化した動きベクトルVを生成し、その値をエ
ントロピー符号器12へ送出する。排他的論理生成手段
/動き補償手段1cは、マクロブロックMBを4つに分
割して小さな4つのブロックSBを生成する小ブロック
化手段(図示省略)を有している。そして、このちいさ
なブロックSBについても同一か否かを判断手段にて判
定している。この実施の形態では、そのブロックSBと
参照フレーム中のブロックSBの画素の不一致数が3個
以下のとき、両ブロックSBは同一と判断している。同
一か否かの判定基準となる所定数としては、0〜5個の
値とするのが、マルチカラー画像の乱れが生じずかつ効
果的な圧縮を行うためには好ましい。
【0059】なお、この小さなブロックSBについて
は、動きベクトルV用のデータ部分を設けず、先のマク
ロブロックMBの動きベクトルVをそのまま利用する。
このため、動きベクトルV用のデータ部分は小さくな
り、データ増大を招くことがない。一方、同一か否かの
判定は、小さなブロックSBで厳しく行うことができる
ので、マルチカラー画像の乱れも生じない。
【0060】例えば、図6に示すマクロブロックMB
と、参照フレームのマクロブロックMBとの画素の不一
致数が仮に18個とすると、両マクロブロックMBは同
一と判定され、動きベクトルVが生成される。一方、小
さなブロックSB(1)の不一致数が3個、SB(2)
が2個、SB(3)が2個とすると、小さなブロックS
B(1),SB(2),SB(3)は同一のものがある
と判定され、マクロブロックMBによって生成された動
きベクトルVを利用してデータ圧縮される。しかし、小
さなブロックSB(4)の不一致数は11個となること
となり、この小さなブロックSB(4)は、動き補償を
使用することなく、その画素が符号化される。
【0061】この実施の形態では、マクロブロックMB
の同一判定を甘くし、小さなブロックSBの同一判定を
厳しくしている。このため、動きベクトルを利用できる
ブロックが増える一方、画像の乱れも生じないものとな
る。なお、画像の性質によっては、マクロブロックMB
の同一判定を厳しくし、小さなブロックSBの同一判定
を甘くしたり、両者を同一レベルのものとしても良い。
【0062】インデックス変換部7は、図2に示すよう
に、参照画素生成手段となるラインバッファ10と、縮
退手段となるマルコフモデル生成部11と、エントロピ
ー符号化手段となるエントロピー符号器12とに接続さ
れ、状態信号STを生成する状態生成部13と、プリス
キャン時に2種類の変換テーブルを生成する変換テーブ
ル生成部14と、参照順位テーブル15と、符号化時に
画素インデックス(カラーシンボル)3を入力し、イン
デックス変換する画素インデックス変換テーブル16
と、カラーパレット変換部17と、変換された変換カラ
ーパレット18と、変換された画素インデックスを入力
し、所定の順位を出力する判別部19とを含むように構
成されている。
【0063】ラインバッファ10は、プリスキャン時に
は、参照画素を状態生成部13に入力し、符号化時には
参照画素をマルコフモデル生成部11に入力している。
マルコフモデル生成部11は、図7(A)に示すよう
に、符号化対象画素buf〔i〕に対し参照画素とし
て、周辺の4画素R
〔0〕〜R〔3〕を取り入れ、マル
コフ状態信号CXを発生させている。
【0064】エントロピー符号器12は、後述するよう
に、予測ランレングス符号化によってモデル化されて画
像信号を符号化コード化するものとなっている。このエ
ントロピー符号器12は、図40に示す算術型のエント
ロピー符号器や、ハフマン符号を使用した符号器を採用
するようにしても良い。なお、エントロピー符号器12
の構成、動作、機能の詳細については後述する。
【0065】状態生成部13は、符号化プロセスに先立
つプリスキャン時に動作するもので、図7(A)に示す
ように、符号化対象画素をbuf〔i〕としたとき、そ
の周辺の参照画素R
〔0〕〜R〔03〕の状態を図8に
示すように区分けするものとなっている。例えば、R
〔0〕〜R〔3〕がすべて同一の色の時は、状態信号S
Tは「0」となり、R
〔0〕〜R〔3〕がすべて互いに
異なる色のときは状態信号STは「33」となる。な
お、符号化対象画素buf〔i〕は、先頭ラスタにある
ときは、図7(B)に示すように、現れてこない部分で
ある参照画素R〔1〕〜R〔3〕にはすべて「0」、す
なわち後述するように最も頻度の高い画素インデックス
を設定する。また、符号化対象画素buf〔i〕が、画
像の先頭であるとき、R
〔0〕〜R〔3〕のすべてに
「0」を設定する。
【0066】なお、画素インデックスは、輝度成分Y
と、色成分UVにそれぞれ付与されている。輝度の階調
は、量子化により64(または32)程度に縮小されて
いる。このため、輝度のインデックスは、YC0 からY
C63の64種類程度となる。また、UVのインデックス
は、間引きのためやはり256個そのままではなく、減
少する可能性が高い。
【0067】変換テーブル生成部14も、プリスキャン
時にのみ動作する。そして、符号化対象画素buf
〔i〕が4つの参照画素(以下R〔4〕という)と一致
した場合、状態信号毎にその一致した色の位置の度数を
算出すると共に、参照画素R〔4〕の中に符号化対象画
素buf〔i〕が無いときには、その一致しなかった画
素インデックスの出現度数をカウントする。
【0068】例えば、状態信号STが「3」のとき、図
9(A)に示すように、符号化対象画素buf〔i〕が
参照画素R
〔0〕と一致した数をNAとし、参照画素R
〔2〕と一致した数をNBとすると、NA>NBなら作
成する参照順位テーブル15の参照画素位置は、図9
(B)に示すように、0位にR
〔0〕がきて、1位にR
〔2〕がくる。一方、NA<NBのときは、図9(C)
に示すように、0位にR〔2〕、1位にR
〔0〕がく
る。このようにして、図10に示すような参照順位テー
ブル15が作成される。なお、参照順位テーブル15中
の数字、例えば、状態信号STが「3」のときの0位の
「2」、1位の「0」は、先に示した例で言えば、0位
のR〔2〕の「2」を、1位のR
〔0〕の「0」を示し
ている。また、状態信号STが「0」のときは0位のみ
であり、参照順位テーブル15から除かれるため、その
テーブル15は縦が14個、横が4個のテーブルとなっ
ている。
【0069】また、変換テーブル生成部14は、参照画
素R〔4〕の中に符号化対象画素buf〔i〕の色が無
いときは、図11に示すように、参照画素R〔4〕中に
なかった度数を画素インデックス毎にカウントする。そ
して、図12に示すような画素インデックス変換テーブ
ル16を生成する。なお、図12に示すものは、N2≧
N0 ≧…≧Nn の場合となっている。
【0070】カラーパレット変換部17は、カラーパレ
ット(例えば、図13の左側に示すようなカラーパレッ
ト)9を、画素インデックス変換テーブル16を利用し
て図13(B)に示すような変換カラーパレット18を
生成している。例えば、画素インデックス(カラーシン
ボル)YC2 が輝度成分YとしてY2 なるものとされて
いるとき、参照画素R〔4〕中に無かった度数の順位が
1番目すなわち順位として0順位のとき、変換カラーパ
レット18では最上位すなわちカラーシンボルYC0 の
位置に設定されることとなる。
【0071】判別部19は、符号化時に動作するもの
で、画素インデックス変換テーブル16によって変換さ
れた画素インデックスと、状態信号STに基づく参照画
素が入力される。そして、その画素インデックスと参照
画素が一致したときは、参照順位テーブル15に基づい
てその順位を出力する。一致しなかった場合は、その画
素インデックスの順位に、マルコフ状態信号CXに1を
加えた数を加算して出力する。例えば、変換された画素
インデックスがYCn のときで状態信号STが「3」の
場合は、その画素インデックスYCn と同一の色が参照
画素R
〔0〕にあったときは、順位として「1」を出力
する。一方、画素インデックスYCn が参照画素R
〔4〕中に無いときは、CXが「1」なので、「n+1
+1」=「n+2」を出力する。
【0072】エントロピー符号器12は、判別部19の
出力をマルコフ状態信号CXでマルコフモデル化し、可
変長符号化する。合成部20では、変換カラーパレット
18のデータと、参照順位テーブル15のデータと、エ
ントロピー符号器12からの出力とを合成して符号化デ
ータ200として出力する。この実施の形態では、符号
化データ200は、画像のサイズ等の情報に続き、変換
カラーパレット18のデータ、参照順位テーブル15の
データ、最後にエントロピー符号器12によって符号化
された符号化コードという順に出力されるが、基本的に
は符号化データ200中に入っていれば良く、他の順序
としても良い。
【0073】以上、輝度成分Yについて説明したが、U
V成分についても同様となる。以後の説明でも、輝度成
分YとUV成分は、共に同様に処理される。
【0074】次に、以上の構成を有する符号化システム
1の動作について、図14および図15に示すフローチ
ャートに基づいて説明する。なお、排他的論理生成手段
/動き補償手段1cの動作は、既に説明したので、ここ
ではインデックス変換部7およびその周辺の部材の動作
について説明する。
【0075】符号化システム1の動作は、プリスキャン
プロセスと符号化プロセスとに分かれる。符号化の前処
理に当たるプリスキャンプロセスでは、後段の符号化プ
ロセスで適切な符号化が行えるように、画素インデック
ス変換テーブル16および参照順位テーブル15の作成
を行う。このために、まず、スイッチ21を端子21a
に接続する。そして、ステップS0では変換テーブル生
成部14中の後述するカウントテーブルならびに参照順
位テーブル15および画素インデックス変換テーブル1
6の初期化ならびに後述する符号化処理のための各種変
数の初期化を行う。
【0076】ステップS1では、入力画像のカラーパレ
ット9のデータをカラーパレット変換部17中の配列p
allet〔 〕に入力する。ステップS2では、入力
画像の画素インデックス100A’をラインバッファ1
0中の配列buf〔 〕に入力する。次に、ステップS
3では、符号化対象画素buf〔i〕の周辺の4画素を
ラインバファ10から取り出し、変換テーブル生成部1
4や状態生成部13等の配列R〔 〕に入力する。符号
化対象画素buf〔i〕と参照画素R
〔0〕〜R〔3〕
の位置関係は図7に示すとおりである。ステップS4で
は、ラインバファ10から抽出した参照画素に基づき、
図8の基準で状態信号STを生成する。
【0077】ステップS5では、参照画素R〔4〕の中
に符号化対象画素buf〔i〕と一致するものがあるか
どうか調べる。その後、ステップ6で参照画素R〔i〕
と一致した場合、変換テーブル生成部14中の参照順位
テーブル15用のカウントテーブルN_table_A
〔ST+j〕に1を加える。ここで、jは参照画素の位
置を現すため、N_table_A〔 〕には、参照画
素の状態と一致した位置毎に、一致した回数がカウント
される。次のステップS7では、参照画素と一致しない
場合、変換テーブル生成部14中の画素インデックス変
換テーブル16作成用のカウントテーブルN_tabl
e_B[buf〔i〕]に1を加える。つまり、カウン
トテーブルN_table_B[buf〔i〕]には、
参照画素と一致しなかった画素について、その画素イン
デックス3ごとにカウントされる。
【0078】ステップS8で、すべての画素データにつ
いて、ステップS3からステップ6あるいはステップ7
までの処理を繰り返す。カウントテーブルN_tabl
e_B〔 〕には、画素インデックス100A毎に出現
度数がカウントされている。ステップS9では、これを
基に出現度数の多いものから昇順のコードに変換する画
素インデックス変換テーブル16を作成する。このテー
ブル16により、出現度数の多い画素インデックス10
0Aほど、小さいインデックス値に変換され、その特性
に合わせたエントロピー符号化を用意すれば、いかなる
画像であっても最も効率の良いエントロピー圧縮を行う
ことができる。
【0079】ステップS10では、その参照順位を記述
した参照順位テーブル15を作成する。すなわち、カウ
ントテーブルN_table_A〔 〕には、参照画素
の状態信号STと、符号化対象画素buf〔i〕に一致
した参照画素位置毎にその度数がカウントされているの
で、度数の多い順に昇順を付ければ、最も効率の良い圧
縮が期待できる。
【0080】プリスキャンプロセスによって、参照順位
テーブル15と画素インデックス変換テーブル16を作
成後、図15に示す符号化プロセスを実行する。この実
行に当たり、まずスイッチ2を端子21b側に切り換え
る。
【0081】プリスキャンプロセスにて作成された参照
順位テーブル15は、復号処理に必要となる。このた
め、圧縮ストリームのヘッダ情報の一部として符号化デ
ータ200のストリームに付加するために、ステップS
11で、合成部20に出力される。ステップS12で
は、プリスキャンプロセスで作成した画素インデックス
変換テーブル16を用いて、画素インデックス100
A’の変換を行う。この変換により参照画素と一致しな
かった画素インデックス100A’が、その出現度数の
大きい順に昇順のコードとなる。
【0082】画素インデックス100A’の変換に伴っ
て、カラーパレットも復号側で正しい色が再現されるよ
うに変換する必要がある。このため、ステップS13
で、画素インデックス変換テーブル16を利用して、カ
ラーパレット変換部17で変換カラーパレット18の作
成を行う。変換された変換カラーパレット18は、合成
部20に入力し、符号化データ200からなる圧縮スト
リームのヘッダ情報の一部として付加される。ステップ
S14では、プリスキャンプロセスのステップS3と同
じ動作をする。すなわち、ラインバッファ10から参照
画素R〔4〕を取り出し、マルコフモデル生成部11や
状態生成部13に入力する。
【0083】次のステップS15では、プリスキャンプ
ロセスのステップS4と同じ動作をする。すなわち、状
態生成部13で、図8に示す基準に基づいて状態信号S
Tを、参照順位テーブル15に向けて出力する。ステッ
プS16では、マルコフ状態信号CXを生成する。この
マルコフ状態信号CXは、参照画素の色数を現す値で、
図8の表に基づいて参照画素の状態から生成する。な
お、この符号化プロセスのフローでは明記しないが、こ
のマルコフ状態信号CXは、エントロピー符号化を行う
際のマルコフモデル化のための符号化条件としても用い
ている。
【0084】ステップS17では、符号化対象画素bu
f〔i〕が、参照画素R〔4〕と一致するか否か調べ
る。具体的には、参照順位テーブル15中の状態信号S
Tに対応する欄内を0からCXと等しい値まで変化さ
せ、符号化対象画素buf〔i〕と一致するか調べてい
く。参照画素と一致した場合は、即ステップS18に進
み、そうでない場合はステップS19に進む。
【0085】参照画素と一致した場合は、その時の順位
をエントロピー符号化する(ステップS18)。参照画
素と一致しなかった場合は、符号化対象画素buf
〔i〕を直接エントロピー符号化する。ただし、(CX
+1)個の符号が参照画素と一致した場合の符号に割り
当てられているので、(CX+1)を加算して符号化す
る(ステップS19)。ステップ20で、すべての画素
データについて、ステップS14からステップS18あ
るいはステップS19までの処理を繰り返す。
【0086】ところで、上述したフローでは、ステップ
S18あるいはステップS19で順位の確定と共に逐次
エントロピー符号化を行うようになっているが、全画素
の順位と対応するマルコフ状態信号CXを一旦バッファ
に格納し、まとめて後述する符号化を行っても良い。例
えば、後述する予測ランレングスの符号化方法を採用し
た場合、符号化対象シンボル以降の未来のシンボルをま
とめて符号化することとなる。
【0087】なお、この実施の形態では、輝度成分であ
るY成分については、動き補償を行わず、色成分のUV
成分についてのみ動き補償を行っている。
【0088】また、PピクチャーやBピクチャーの符号
化において、所定のマクロブロックMBが動き補償を行
わないと判断されたとき、それらのマクロブロックMB
が拾われ、連続して符号化される。例えば、図16
(A)に示すように、マクロブロックMBのNo.1〜
No.7が動き補償を行わないものであるとき、符号化
はNo.1→No.4→No.2→No.6→No.7
→No.5→No.3の順で行われる。このため、メモ
リ容量を小さくしても効果的な圧縮が可能となる。
【0089】例えば、図16(B)に示す、No.1,
4,2のマクロブロックMBをNo.1→No.2の順
で符号化すると、No.2のマクロブロックMBのN
o.1と隣接する部分の画素を効果的に圧縮するには、
No.1のマクロブロックMBの右端側の少なくとも1
列について記憶するためのメモリが余分に必要となると
共にアクセスの手間がかかる。ところが、No.1→N
o.4の順で符号化すると、No.4のマクロブロック
MBのNo.1と隣接する部分の画素の符号化には先に
示した最新出現表をそのまま利用でき、余分なメモリが
必要とならずアクセス時間も速くなる。
【0090】次に、符号化システム1に対応したマルチ
カラー画像からなる動画像の復号化システム3について
説明する。
【0091】この復号化システム3は、各スイッチ6
a,6b,6cを切り替える制御回路6と、動き補償部
3aと、Y成分とUV成分を補正処理する補正手段9
と、2つのフレームメモリ3b,3cと、インデックス
変換部8と、周辺画素生成手段および参照画素生成手段
となるラインバッファ30と、縮退手段となるマルコフ
モデル生成部31と、エントロピー復号化手段となるエ
ントロピー復号器32と、分離部33とを含み、入力さ
れる符号化データ200のデータストリームをカラー画
素データ100Bのデータストリームに変換して出力す
るように形成されている。なお、補正手段9以前の構成
が、復号化手段となる。
【0092】補正手段9は、Y成分をスムージング処理
するスムージング手段9aと、UV成分を中間色補間に
よって処理する中間色処理手段9bとから構成される。
スムージング処理は、所定の係数を有するフィルターに
よって行う公知の処理方法である。例えば、縦横3つで
計9個の升目を有し、中央が0.2で他が0.1の係数
を持つフィルター等がある。また、中間色補間も、例え
ば、中間の値をその両側の画素の値の中間値とする補正
で、従来公知の各種の補正方法を採用することができ
る。なお、4つの画素のちょうど中央となる部分につい
ては、4つの画素の平均値としたり、特定方向の2つの
画素の中間値としたりすることとなる。
【0093】なお、この実施の形態では、スムージング
手段9aでは、エッジ保存処理も行っている。このエッ
ジ保存処理は、対象とする画素を含む一定の領域、例え
ば、長方形の領域をその画素を中心として360度回転
させて、その画素を変化率が最も小さい色に割り当てる
ものである。これによってスムージング処理によって失
われがちなエッジを確実に保存することができる。
【0094】この復号化システム3のアルゴリズムは、
復号化手段は符号化手段と全く逆のアルゴリズムである
が、全体としては、符号化システム1のアルゴリズムと
は異なるものとなる。したがってカラー画素データ10
0Aのビット構成およびデータストリームと、カラー画
素データ100Bのビット構成およびデータストリーム
とは若干異なるものとなる。なお、動き補償部3aは、
先の符号化システム1の排他的論理生成手段/動き補償
手段1cと基本的に逆の動作となっており、その内部
に、動きベクトルVの有無を判断する判断手段3dを有
している。
【0095】なお、動き補償部3aの動作は、次のとお
りである。すなわち、動きベクトルVの情報を元にし
て、動きベクトルVと、その動きベクトルVを使用する
か否かの情報を入手する。動きベクトルVを使用する場
合には、フレームメモリ3b,3c中のデータを復号
し、動きベクトルVを使用しない場合には、エントロピ
ー復号器32から復号したデータを、そのまま復号デー
タとして採用する。
【0096】動きベクトルVを使用する場合、順方向の
ときには過去のデータから、逆方向のときには未来のデ
ータから、それぞれデータを転送する。双方向の場合に
は、過去または未来のいずれかを選択し転送する。一
方、動きベクトルVを使用しない場合には、エントロピ
ー復号器32からのデータを復号データとして出力する
他に、順、逆方向の場合には、現在のフレームデータと
してフレームメモリ3b,3cに格納する。
【0097】インデックス変換部8は、参照画素生成手
段となるラインバッファ30と、縮退手段となるマルコ
フモデル生成部31と、エントロピー復号化手段となる
エントロピー復号器32とに接続され、状態信号STを
生成する状態生成部34と、参照順位テーブル35と、
画素インデックス(カラーシンボル)生成部36とを含
むように構成されている。
【0098】ラインバッファ30は、符号化システム1
のラインバッファ10と同様に複数の画素を保存できる
ものとなっている。そして、その値を周辺画素としてマ
ルコフモデル作成部31や状態生成部34等に入力し、
参照順位テーブル35や各信号ST、CXを作成してい
る。
【0099】エントロピー復号器32は、マルコフ状態
信号CXを利用して、入力する符号化データ200中の
符号化コードを、エントロピー符号器12と逆の手順で
復号化演算処理する。なお、エントロピー復号器32
は、エントロピー符号器12とは全く逆のアルゴリズム
でその演算を行うように形成しなければならない。した
がって、エントロピー復号器32は、エントロピー符号
器12に算術符号器が用いられた場合には、それと同様
な構成の算術復号器として形成する必要があり、また、
エントロピー符号器12にハフマン符号器が用いられた
場合には、それと同じ構成のハフマン復号器として構成
する必要がある。
【0100】分離部33は、符号化データ200のデー
タストリームより変換カラーパレット18のデータと、
参照順位テーブル35のデータとを分離するものであ
る。そして、その内部に符号化システム1の合成部20
と逆の機能が設定されており、エントロピー符号器12
で符号化された符号化コードをエントロピー復号器32
に出力する。
【0101】状態生成部34は、符号化システム1中の
状態生成部13と同様な構成、機能を有しており、図8
に示す表に示された基準に基づいて状態信号STを出力
する。参照順位テーブル35は、分離部33で分離され
た参照順位テーブル35用のデータによって構成され、
符号化システム1中の参照順位テーブル15と同様な表
となっている。画素インデックス生成部36は、符号化
システム1で生成された所定順位のデータおよびマルコ
フ状態信号CXならびに参照順位テーブル35の各デー
タから画素インデックス6を出力する。
【0102】次に、このように構成される復号化システ
ム3の動作について、図17に示すフローチャートに基
づいて説明する。
【0103】まず、ステップS30で、参照画素や後述
する予測ランレングス(PRLC)復号のための各種変
数の初期化を行う。次に、分離部33によって符号化デ
ータ200の圧縮ストリームのヘッダに付加された参照
順位テーブル35のデータを抽出し参照順位テーブル3
5を生成する(ステップS31)。ステップS32で
は、圧縮ストリームとなる符号化データ200のヘッダ
に付加された変換カラーパレット18のデータを同様に
分離部33によって抽出し出力する。
【0104】次に、ステップS33で、参照画素R
〔4〕を抽出する。これは符号化プロセスのステップS
14と全く同様となっている。ステップS34では、マ
ルコフ状態信号CXを生成する。これは符号化プロセス
のステップS16と全く同様となっている。ステップS
35では、PRLCによるエントロピー復号により復号
順位Xを得る。
【0105】ステップS36では、画素インデックス生
成部36において、順位Xがマルコフ状態信号CXの値
以下かどうかを判定する。順位Xが値CX以下の場合、
復号される画素インデックスが参照画素に存在すること
を示し、ステップS37に進む。それ以外は、ステップ
S38に進む。ステップS37では、状態信号STで区
分される中に存在する順位Xが指し示す位置にある参照
画素の画素インデックス100Bを出力する。
【0106】ステップS38では、復号順位Xが参照画
素を指し示さない場合は、復号順位Xそのものが復号さ
れる画素インデックス100Bとなる。ただし、(CX
+1)個の符号が参照画素に割り当てられているため、
復号順位Xから(CX+1)を差し引く必要がある。ス
テップS39で、すべての画素インデックス100Bの
復号が完了するまで、ステップS33からステップS3
7あるいはステップS38までを繰り返す。そして、す
べての画素インデックス100Bの復号が終了すると、
復号動作が終了する。
【0107】次に、先に説明した符号化システム1中の
エントロピー符号器12で行う符号化について説明す
る。この実施の形態では、いわば予測ランレングス(以
下、PRLCという)と称するものを採用している。こ
のPRLCは、良く知られているランレングス符号化を
改良したもので、そのアルゴリズムの概要について、図
18から図20に基づいて説明すると共に、このPRL
Cの基礎となる基本的な符号化方法等を図21および図
22に基づいて説明する。
【0108】この符号化の基本のアルゴリズムは、従来
から良く知られているQMコーダと同様、基本的には、
2値のビット列を圧縮の対象としている。まず初期値と
して、“0”か“1”のいずれかを優勢シンボルと定
め、そのシンボルが連続すると予測する個数runを設
定する。入力系列の出現確率が不明の場合は、runを
1に設定するのが良い。その上で、以下に示すようなル
ールに従い符号化を進める。なお、個数runが予測ビ
ット数に相当する。
【0109】図18に示すように、runで示される注
目系列がすべて優勢シンボルであると予測し、予測が当
たったとき、符号語として“0”を出力し、この系列の
符号化を完了する。はずれた場合は“1”を出力し、次
の分割符号化工程を実行する。
【0110】予測がはずれた場合は、図19に示すよう
に注目系列を前半部系列と後半部系列の2つに分け、前
半部がすべて優勢シンボルのときは符号語として“0”
を、前半部系列に劣勢シンボルが存在し後半部がすべて
優勢シンボルのときは、符号語として“10”を、前半
部にも後半部にも劣勢シンボルが存在するときは“1
1”をそれぞれ出力する。そして、劣勢シンボルが存在
する系列は、さらに系列を分割する(図20参照)。劣
勢シンボルが存在する系列は、可能な限り系列を分割し
て上述の分割符号化工程を繰り返す。
【0111】なお、分割は必ずしも2つの均等分割とす
る必要はなく、不均等な分割としたり3つ以上の分割と
しても良い。また、予測が当たったとき“0”ではな
く、優勢シンボルを出力し、はずれた場合“1”ではな
く、劣勢シンボルを出力するようにしたり、予測当たり
で“1”を、予測はずれで“0”を出力するようにして
も良い。
【0112】以上がこの符号化の前提となるデータ符号
化の基本アルゴリズムであるが、さらに、入力系列の出
現確率の変化に追随し、符号化効率を向上させるため、
以下の処理を加えるようにしても良い。
【0113】すなわち、runで予測した系列が続けて
所定回数、例えば、2回当たったとき、runを2倍等
に増加させる。なお、予測が的中し続けた場合、さらに
予測範囲を拡大していく。一方、runで予測した系列
が2回以上劣勢シンボルを含むと共にrunを1/2倍
する。予測がはずれ続けた場合、さらに1/2倍してい
く。そして、runが1で、それが劣勢シンボルのとき
は、以降の入力系列を反転させる。すなわち、優勢シン
ボルを変更させる。
【0114】なお、runで予測した系列の後半部系列
に劣勢シンボルが存在するとき、runをいきなり1/
4等に減少させるようにしても良い。これは、後半部に
劣勢シンボルが存在するときは、次に続く系列に劣勢シ
ンボルが多く含まれると判断されているためである。こ
のため、runで予測した系列の前半部系列のみに劣勢
シンボルが存在するときは、後半部に劣勢シンボルが存
在するときより多い値、例えばrunを1/2倍するよ
うにしても良い。
【0115】この実施の形態のエントロピー符号器12
内の符号化プロセスは、次に説明する図21および図2
2の符号化プロセスを改良したものであり、まずその符
号化プロセスについて説明する。改良前の符号化プロセ
スは、図21の符号化メインルーチンと図22の符号化
サブルーチンにより構成される。なお、図22中の符号
化サブルーチンは、サブルーチンから同じサブルーチン
を呼び出すいわゆる関数の再帰読出しを行っている。
【0116】まず、図21の符号化メインルーチンの各
ステップについて説明する。なお、符号化の対象は2値
のビット列からなる入力系列となっている。最初に、予
測の初期値runの設定と優勢シンボルの選択(“0”
または“1”)を行う(ステップS50)。次に、ロー
カル変数ofsに0を、widthにrunを代入する
(ステップS51)。ここでofsは、符号化のために
予め定義した配列Aのポインタで、予測開始ビット位置
を示す。したがって初期値は0となる。widthはo
fsで示したビット位置から何ビットを予測の対象にす
るかを示す値で、ここでは、予測の初期値runが代入
される。その後、予め定義した配列AのA〔ofs〕か
らA〔width−1〕までに入力ビットを書き込む
(ステップS52)。そして、A〔ofs〕からA〔w
idth−1〕のすべての要素が優勢シンボルのときス
テップS54へ進み、ひとつでも劣勢シンボルが含まれ
ているときは、ステップS55へ進む。
【0117】予測が的中した場合、符号語として予測当
たり信号“0”を出力し、配列Aに取り込んだ系列の符
号化を完了する(ステップS54)。一方、予測はずれ
た場合、符号語として予測はずれ信号“1”を出力する
(ステップS55)。そして、widthが1以上か否
かを検出する(ステップS56)。widthが1以下
ならこれ以上分割できないので、ステップS7の符号化
サブルーチンへは移行せずステップS58へ移行する。
一方、widthが1を超えていると、図22の符号化
サブルーチンを呼び出す(ステップS57)。
【0118】ステップS58では、予測runの再設定
と必要ならば優勢シンボルの変更を行う。すなわち、こ
のステップS58においては、基本的には予測が的中す
れば、runを大きくし、はずれれば小さくする。そし
てrunを小さくしても予測が所定回数はずれ続けるよ
うなら、優勢シンボルの変更を行う。なお、予測の的中
や予測のはずれをどのように評価するかについては、さ
まざまな方法を採用することができる。たとえば、予測
がはずれた場合、直ちにrunを小さくしたり、2回以
上連続してはずれたとき、初めてrunを小さくする等
の方法を採用することができる。さらに、前半部系列も
しくは後半部系列のみはずれた場合と、両方はずれた場
合とでrunの縮小の度合いを異ならせる方法も採用で
きる。また、符号済みビット系列で所定の確率テーブル
を引き、次の予測runを設定する等の方式も採用可能
である。
【0119】符号化メインルーチンで1次予測がはずれ
た場合は、ステップS57で図22に示す符号化サブル
ーチンを呼び出す。符号化サブルーチンへ渡す引き数
は、ofsとwidthである。以下、符号化サブルー
チンの各ステップについて説明する。
【0120】符号化サブルーチンでは、予測を前半部系
列と後半部系列に分けて行うため、予測の範囲を半分に
する(ステップS60)。すなわち、親ルーチンから引
き数として受け取ったwidthを1/2にする。そし
て、次のステップS61で、前半部系列(配列のA〔o
fs〕からA〔ofs+width−1〕まで)がすべ
て優勢シンボルか否かをチェックする。すべて優勢シン
ボルならステップS62へ進む。ひとつでも劣勢シンボ
ルが存在したら、直ちにステップS64へ進む。
【0121】前半部系列がすべて優勢シンボルなら、符
号語として“0”を出力する(ステップS62)。そし
て、前半部系列の先頭位置を示すポインタofsにwi
dthを加え、後半部系列の先頭位置を示すように変更
する。また、前半部系列がすべて優勢シンボルのとき
は、後半部系列に必ず劣勢シンボルが存在するので、後
半部系列の予測がはずれたことを示す符号語“1”を出
力する必要がない。したがって、後述するステップS7
0はスキップし、ステップS71に進む。
【0122】一方、前半部系列に劣勢シンボルが存在す
る場合、符号語として“1”を出力する(ステップS6
4)。次に、widthが1を超えているか否かをチェ
ックする(ステップS65)。1以下の場合、これ以上
分割できないので、子の符号化サブルーチン(ステップ
S66)の呼び出しをスキップし、ステップS67へ移
行する。なお、widthが2以上なら、さらに系列を
2つに分け、それぞれを符号化しなければならない。そ
のための子の符号化サブルーチンを呼び出す(ステップ
S66)。子の符号化サブルーチンは、図22に示した
符号化サブルーチンと全く同一となっている。つまり、
ここでは、同一ルーチン(関数)の再帰呼び出しを行
う。
【0123】符号化サブルーチンの再帰呼び出しによっ
て前半部系列の符号化を終了すると、前半部系列の先頭
位置を示すポインタofsにステップS60で設定した
widthを加え、後半部系列の先頭位置を示すように
変更する(ステップS67)。その後、後半部系列(配
列のA〔ofs〕からA〔ofs+width−1〕ま
で)がすべて優勢シンボルか否かをチェックする(ステ
ップS68)。すべて優勢シンボルならステップS69
へ進む。ひとつでも劣勢シンボルが存在したら、直ちに
ステップS70へ進む。そして、後半部系列がすべて優
勢シンボルなら、符号語として“0”を出力する(ステ
ップS69)。
【0124】一方、前半部系列に劣勢シンボルが存在す
る場合、符号語として“1”を出力する(ステップS7
0)。そして、次に、widthが1を超えているか否
かをチェックする(ステップS71)。1以下の場合、
これ以上分割できないので、子の符号化サブルーチンを
実行するステップS72をスキップし、次の注目系列の
符号化工程へリターンする。なお、後半部系列について
も、widthが2以上なら、さらに系列を2つに分
け、それぞれ符号化する。そのため図22に示す符号化
サブルーチンと同一の子の符号化サブルーチンを呼び出
す(ステップS72)。この符号化サブルーチンの再帰
呼び出しによって後半部系列の符号化を実行する。
【0125】以上のような符号化プロセスの具体例を次
に説明する。すなわち、符号化の具体例として、予測の
初期値runを8、優勢シンボルを“0”として、“0
0001001”として表される入力ビットを符号化す
る場合について説明する。
【0126】まず、図21の符号化メインルーチンのス
テップS52で、A
〔0〕からA〔7〕に、上記の入力
ビットを入力する。ステップS53では、A
〔0〕から
A〔7〕のすべてが“0”かどうか判定する。上の例の
場合、ビット列に“1”が含まれているので、ステップ
S55に移行し、まず符号語として“1”を出力する。
続いてステップS56では、widthの大きさをチェ
ックするが、widthはこのとき8なので、符号化サ
ブルーチン(ステップS57)に進む。
【0127】符号化サブルーチンでは、まずステップS
60で、widthを1/2の4に設定する。そしてス
テップS61で、入力ビットの前半部、つまりA
〔0〕
からA〔3〕がすべて0かどうかチェックする。この場
合、すべて“0”なのでステップS62に進み、符号語
として“0”を出力する。以上で前半部系列の符号化が
完了する。続いてステップS63を実行し、後半部系列
の符号化に移るが、前半部系列がすべて“0”の場合、
後半部系列に“1”が含まれるのは明らかである。した
がって、ステップS71でwidthが1以下でない限
り後半部系列をさらに分割して符号化しなければならな
い。そこで、符号化サブルーチンを子プロセスとしてス
テップS72で再び呼び出す。なお、そのための前処理
として、上述したようにステップS63では、ofsに
widthを加え、ofsを後半部系列の先頭位置にセ
ットする。
【0128】ステップS72では、ofsとwidth
を引き数として子の符号化サブルーチンを呼び出す。子
の符号化サブルーチンを実行するステップS72では、
まず、図22に示す符号化サブルーチンのステップS6
0でwidthをさらに半分にして2に変更する。次の
ステップS61では、前半部系列、すなわちA〔4〕と
A〔5〕が共に“0”であるか否かをチェックする。こ
の場合、A〔4〕が“1”なので、次のステップS64
に移行し、符号語として“1”を出力する。そしてステ
ップS65でwidthが1を超えていると判断し、孫
プロセスをステップS66で呼び出す。孫の符号化サブ
ルーチンでは、まずステップS60においてwidth
が1となる。A〔4〕は“1”なのでステップS61か
らステップS64へ処理が移り、符号語“1”を出力す
る。ステップS65では、widthが1以下なので、
ステップS66をスキップし、ステップS67でofs
を5に変更する。A〔5〕は“0”なのでステップS6
8からステップS69に処理が移り、符号語“0”を出
力する。
【0129】次に、この孫の符号化サブルーチンから抜
けて、子の符号化サブルーチンのステップS67に戻
る。子の符号化サブルーチンのofsは4、width
は2であるから、ステップS67でofsは6に変更さ
れる。したがってステップS68では、A〔6〕とA
〔7〕をチェックすることになる。この場合、A〔7〕
が“1”なのでステップS70へ移行し、符号語“1”
を出力する。そして、再び孫の符号化サブルーチンをス
テップS72で呼び出す。孫の符号化サブルーチンで
は、A〔6〕が“0”なのでステップS62で符号語
“0”を出力する。そして、widthが1なので、ス
テップS72をスキップして子の符号化サブルーチンに
復帰する。
【0130】子の符号化サブルーチンに復帰したプロセ
スは、さらに符号化メインルーチンに復帰し、ステップ
S58で予測runの再設定と、優勢シンボルの再設定
を行う。この例の場合、1次予測ははずれたが、2次予
測で前半部が的中したので、runを8から4に変更
し、優勢シンボルは引き続き“0”とする処理を施す。
なお、予測runの設定は、2回続けてはずれたときに
変更する等の設定にしても良い。
【0131】このような符号化プロセスによって、入力
ビットである“00001001”が“101101
0”の符号化系列となる。したがってこの場合、8ビッ
トの入力系列が7ビットに圧縮されたことになる。
【0132】なお、復号化プロセスについては、符号化
プロセスと逆のアルゴリズムによって、入力されてくる
符号語を復号している。すなわち、復号化プロセスも、
復号化メインルーチンと復号化サブルーチンにより構成
され、符号化と逆のアルゴリズムによって復号してい
る。
【0133】このように、図21および図22に示す符
号化プロセスおよびその符号化プロセスと逆のアルゴリ
ズムを使用して行う復号化プロセスでは、圧縮率が従来
のQMコーダと呼ばれるものと同レベルであり、一方、
符号化時間や復号化時間は大幅に短縮されたものとなっ
ている。しかし、この符号化プロセスおよび復号化プロ
セスにおいては、予測ビット数であるrunで定まるビ
ット列を一度に符号化しているため、圧縮率を高めるた
めに、runの最大値を大きく設定すると、runの個
数分のビットを保存しておくためのバッファが大きくな
るという問題が生じる。
【0134】この問題は、マルコフ状態信号CXをマル
コフモデル化から得るような場合、そのバッファが非常
に大きくなり、さらに大きな問題となる。すなわち、仮
にrunをnとしたとき、バッファとしてはnビット分
必要となり、さらにm状態のマルコフモデル化を行う
と、バッファは各状態毎に必要となるため、n×mビッ
トの容量になる。この容量は、runの値が大きくなる
と無視できなくなる大きさとなる。
【0135】また、図21および図22に示す符号化プ
ロセスおよびその符号化プロセスと逆のアルゴリズムを
使用する復号化プロセスでは、その各処理時間は、QM
コーダに比べ大幅に短縮されているものの、符号化や復
号化のサブルーチンを再帰的に呼び出して符号化や復号
化を行っており、このサブルーチンの再帰的呼び出しの
プロセスで時間を有するものとなっている。
【0136】このため、本実施の形態では、図18から
図22に示す符号化プロセスおよび復号化プロセスを生
かしつつ、デコード用のバッファを小さくしたり、符号
化や復号化の時間をさらに減少できるデータ符号化方法
等を採用している。以下、本発明の実施の形態における
インデックス変換部7,8の動作の基本的な考え方を、
図23から図34に基づき説明する。
【0137】まず、本発明の実施の形態で使用されるエ
ントロピー符号器12を、図23に基づき説明する。
【0138】このエントロピー符号器12は、エントロ
ピー符号化装置となっており、符号化すべき2値ビット
列を入力するビット列分解部22と、各予測ビット長r
un毎に符号化テーブルを内蔵する符号化テーブル部2
3と、符号化テーブル部23から入力される可変長符号
を一旦バッファリングして固定のビット幅にならして出
力するストリーム生成部24と、後述する状態遷移表を
内蔵し、予測ビット長run等を設定する符号化制御部
25とから主に構成される。
【0139】ここで、符号化制御部25には、状態遷移
表を有する状態遷移部26と、マルコフモデル等により
生成される符号化条件を入力し、その条件毎に現在の状
態の信号を状態遷移部26に与え、符号化後に次の状態
の信号入力し、その符号化の状態を記憶しておく状態記
憶部27とが設けられている。
【0140】したがって、マルコフモデルのような条件
付き符号化を行うときは、条件をインデックスとして、
状態記憶部27から該当する状態を取り出し、その状態
を後述する図28に示した状態遷移表により遷移させ、
次の状態を再び状態記憶部27の元の番地にストアして
おけば、条件毎に、状態を管理できることとなる。した
がって、予測ビット長run等のパラメータも条件毎に
個別に設定できることとなる。なお、マルコフモデル化
する場合、ビット列分解部22には、各符号化条件毎に
切り換えるバッファが複数必要となるが、この実施の形
態では、予測ビット長runの数ではなく、より小さい
固定の区切りビット数pで段階的に符号化しているの
で、そのバッファの容量はそれ程大きくならず、実用面
で適したものとなっている。
【0141】ビット列分解部22は、符号化制御部25
から予測ビット長runを指示する信号RUNと、優勢
シンボルを指示する信号SWを入力する。ここで、信号
RUNは、1からn(nは最大予測ビット長)の値を取
る。また、信号SWは、その値が「0」のとき、“0”
を優勢シンボルとし、「1」のとき、“1”を優勢シン
ボルとするが、その逆でも構わない。
【0142】さらに、ビット列分解部22は、デコード
すべきビット数の信号DECNUMと、デコードすべき
ビットのパターンとなる信号パターンDECPATNを
符号化テーブル部23に出力する。信号DECNUM
は、入力ビット列に、劣勢シンボルを含む4ビットのパ
ターンが現れたとき、その4ビットとそれまで続いた優
勢シンボル個数の合計数となる。なお、信号RUNが
「4」未満のときは、信号RUNと同じ値が出力され
る。これは、この実施の形態では、区切りビット数pを
「4」としているためである。
【0143】このようにして、ビット列分解部22は、
入力したビット列が信号RUNで指定されたビット数
分、すべて信号SWで指定された優勢シンボルが続いた
とき、すなわち、予測が的中したとき、信号DECNU
Mとして信号RUNの値を、信号パターンDECPAT
Nとして“0”を出力する。
【0144】符号化テーブル部23は、図24から図2
7に示すような符号化テーブルを内蔵しており、どのテ
ーブルを用いるかは、符号化制御部25からのテーブル
番号指示信号TABLEにより選択される。そして、こ
の符号化テーブル部23は、ビット列分解部22からの
信号DECNUMと信号パターンDECPATNにより
所定のテーブル内を検索し、所定の圧縮ビット列DEC
BITとそのビット長LENGTHおよび予測の当たり
外れを示すFAILを出力する。なお、信号TABLE
は、信号RUNと1対1の関係を有するものとなってい
る。
【0145】図24の符号化テーブルは、テーブル番号
は「0」で、信号RUNの値が「1」、すなわちrun
が「1」の場合を示している。図24に示されるよう
に、runが「1」のときは、2種類の信号となってい
る。すなわち、デコードすべきビット数は1個であり、
信号パターンは“0”と“1”の2種類となる。この2
種類の入力信号に対して、圧縮ビット列DECBIT
と、そのビット長LENGTHと、予測の列外れを示す
フラグFAILの組み合わせからなる2種類の信号が対
応する。例えば、信号DECNUMが「1」で、信号パ
ターンDECPATNが“0”の場合は、予測当たりと
なり、フラグFAILは当たり信号の「0」となり、圧
縮ビット列DECBITは“0”となり、ビット長LE
NGTHは「1」となる。
【0146】図25の符号化テーブルは、テーブル番号
が「1」で、runが2の場合を示している。なお、各
符号化テーブルの信号パターンDECPATNと圧縮ビ
ット列DECBITは、共に右側から左側に入力してく
る信号を示している。この図25の場合、その信号形態
は4種類となる。デコードすべきビット数はすべて2個
であり、そのときの信号パターンDECPATNは“0
0”“10”“01”“11”の4種類となる。信号パ
ターンDECPATNが“00”のときは、2つとも優
勢シンボルのため予測が当たったこととなり、フラグF
AILは当たり信号の「0」となると共に、そのときの
圧縮ビット列DECBITは“0”となり、ビット長L
ENGTHは「1」となる。
【0147】一方、信号パターンDECPATNが“1
0”のときは、劣勢シンボル“1”が入っており、予測
が外れたこととなる。この結果、フラグFAILは、外
れ信号の「1」となり、圧縮ビット列DECBITは、
最初に“1”がくる。次に、“10”の前半部が“0”
であるため、予測が当たり圧縮ビット列DECBITの
2番目は“0”となり、“01”となる。ここで、最初
に予測外れとなっているので、後半部に“1”があるこ
ととなる。このため、圧縮ビット列DECBITは、こ
の“01”がそのまま採用される。
【0148】信号パターンDECPATNが“01”の
ときは、劣勢シンボル“1”が入っており、予測が外れ
たこととなる。この結果、フラグFAILは外れ信号の
「1」となり、圧縮ビット列DECBITは最初に
“1”がくる。次に、“01”の前半部が“1”である
ため、予測がまたも外れたこととなり、圧縮ビット列D
ECBITの2番目は“1”となる。信号パターンDE
CPATN“01”の後半部は“0”であるため、予測
当たりとなり、圧縮ビット列DECBITの3番目は
“0”となる。すなわち、信号パターンDECPATN
“01”に対応する圧縮ビット列DECBITは、“0
11”となる。そして、ビット長LENGTHは「3」
となる。同様にして、信号パターンDECPATN“1
1”に対する圧縮ビット列DECBITは、“111”
となる。以上の4種類の信号の対応表が図20となって
いる。
【0149】同様にして、テーブル番号が「2」で、r
unが「4」の16種類の信号の対応関係が図26に示
され、テーブル番号「3」でrunが「8」の計31種
類の信号の対応関係が図27に示されている。なお、図
26のrunが「4」の場合では、runの値が区切り
ビット数pと同じとなるので、図24および図25と全
く同じ関係のみのものとなるが、図27のrunが
「8」の場合は、区切りビット数p(この実施の形態で
はp=4)より大きくなるため、少し変更された表とな
る。
【0150】次に、他の表とは若干異なるこの図27の
符号化テーブルの内容を説明する。この符号化テーブル
では、デコードすべき信号のビット数DECNUMは、
「8」のものと「4」のものが存在する。「8」のもの
は、前半部がすべて“0000”のものであり、「4」
のものは、runが「8」で前半部に劣勢シンボル
“1”がきた場合のものを示している。デコードすべき
信号のビット数DECNUM(以下単にDECNUMと
して示す)が「8」で、信号パターンDECPATN
(以下単にDECPATNとして示す)が“0000”
のときは“00000000”であることを示し、予測
が当たったこととなり、フラグFAIL(以下単にFA
ILとして示す)は当たり信号の「0」となる。そし
て、圧縮ビット列DECBIT(以下単にDECBIT
として示す)は“0”で、ビット長LENGTH(以下
単にLENGTHとして示す)は「1」となる。DEC
NUMが「8」で、DECPATNが“1000”のと
きは、“10000000”であることを示し、予測が
外れたこととなり、FAILは外れ信号の「1」とな
る。そして、DECBITの1番目には“1”がくる。
次に、前半部“0000”は予測当たりとなり、DEC
BITの2番目には“0”がくる。このとき、後半部
“1000”に劣勢シンボル“1”が当然くることとな
るため、後半部の4つの信号に対するDECBITは、
特に発生しない。
【0151】後半部“1000”の中の前半部“00”
は、予測当たりであり、3番目のDECBITは“0”
となる。このとき、後半部“10”に劣勢シンボル
“1”が当然くることとなるため、後半部の2つの信号
に対するDECBITは特に発生しない。そして、この
後半部“10”の前半部“0”は予測当たりとなり、4
番目のDECBITは“0”となる。こうなると、最後
尾に“1”があることが当然となり、特にDECBIT
は発生しない。よって、DECPATN“1000”に
対応するDECBITは“0001”となる。そして、
LENGTHは「4」となる。これが、図27のテーブ
ル番号「3」の表の上から2番目の状態に対応する。
【0152】このような関係は、図27の符号化テーブ
ルの第3番目から第16番目にも当てはまる。一方、図
27のテーブル番号「3」の上から第17番目から第3
1番目までは、DECNUMが「4」となり、図21の
テーブル番号「2」のものに近似する。すなわち、図2
1の符号化テーブルの第2番目から第16番目のもの
に、runが「8」として見たときの予測外れの“1”
がすべて最初に付加されたものと、図27のDECNU
M「4」のものとは同一となる。なお、符号化テーブル
部3より出力される符号は、LENGTHによって指定
される可変長符号になっている。
【0153】この実施の形態では、さらにrunが16
のテーブルと、runが32のテーブルとを有してい
る。その両テーブルは、図27に示すrunが8のテー
ブル番号「3」の考え方と同様となっており、その説明
を省略する。
【0154】ストリーム生成部24は、入力の可変長符
号を一旦バッファリングして、出力の伝送路で定められ
た固定のビット幅にならして出力するものとなってい
る。
【0155】符号化制御部25の基本動作は、信号RU
N(以下単にRUNという)によってビット列分解部2
2にビットの切り出し方法を指示し、同時に信号TAB
LE(以下単にTABLEという)により符号化テーブ
ルの選択を行うものとなる。そして、符号化テーブル部
23からフィードバックされるFAILにより、次の符
号化のためのRUNとTABLEを設定する。なお、こ
の実施の形態では、区切りビット数pを利用した段階的
な符号化を導入したため、ある予測ビット長runで符
号化した際、必要に応じて途中の段階であることをこの
符号化制御部25は記憶する必要がある。
【0156】この符号化制御部25の具体的な動作は、
図28に示す状態遷移表に基づくものとなっている。こ
の状態遷移表の動作について、予測当たりが続く場合を
例にして説明する。ここで、初期状態は、SS1となっ
ている。まず、状態SS1のとき、runが「1」で、
TABLEは「0」である。このため、図24に示すテ
ーブル番号「0」の符号化テーブルが使用される。そし
て、予測が当たる場合は、優勢シンボルが“0”が続く
ことであるため、入力されるビット列入力からそのDE
CNUMの数である「1」個分の“0”のみを符号化テ
ーブル部23に送り、テーブル番号「0」のテーブル
(=図24の表)に基づいて、FAIL「0」と、DE
CBIT“0”と、LENGTH「1」とが出力され
る。そして、そのFAIL「0」が符号化制御部25に
伝えられる。
【0157】符号化制御部25は、図28の状態遷移表
に基づき、SS1中のFAIL「0」となるものを見つ
け、次の状態として状態SS0を選択する(図28の状
態遷移表の上から3番目)。このとき、信号SWは
“0”となるので、シンボルの逆転はなく、そのまま
“0”が優勢シンボルとなる。状態SS0においても、
同様な動作の結果、状態遷移表の第1番目が選択され、
状態SS3が次の状態となる。これによって、2回予測
が当たったこととなる。
【0158】この状態遷移表では、2回予測が当たる
と、runが2倍になる。すなわち、上から7番目およ
び8番の状態SS3となり、runが「2」となる。こ
のように予測が当たり続けると、すなわち、入力ビット
列がこの場合であると“0”であり続けると、runが
「2」「2」「4」「4」「8」「8」と増えていく。
また、一方、予測が外れ続けるときは、2回毎、同一r
unで行い小さくなっていく。すなわち、runが
「8」「8」「6」「6」「4」「4」「2」「2」と
小さくなっていく。そして、runが「1」のときに、
予測が外れると、信号SWは反転する。
【0159】このような状態遷移表の動作のルールをま
とめると、次のとおりとなる。
【0160】(1)同一の予測ビット長runでの予測が
2回連続して的中したとき、予測ビット長runを2倍
する。
【0161】(2)同一の予測ビット長runでの予測が
2回連続して外れたとき、予測ビット長runを1/2
倍する。
【0162】(3)予測ビット長runが4以下のとき
は、1回で符号化を実行する。
【0163】(4)予測ビット長runが8で、DECN
UM=4のときは、2回に分けて符号化を実行する。
【0164】(5)このときは、状態SS5に遷移して、
予測ビット長runを「4」で、後半のビットを符号化
する。
【0165】なお、信号SWの反転とは、この値が1の
とき、信号SWを反転させるという意味である。
【0166】なお、図28で示す状態遷移表は、run
が「8」までしか示していないが、この実施の形態で
は、runを最大「32」としているので、run「1
6」とrun「32」のものも、図示していないが同様
に作成されている。また、状態遷移表としては、run
が「64」以上のものにしても良い。さらに、当たりや
外れが2回続いたらrunを増加させたり減少させたり
するのではなく、1回毎に変えたり3回以上の数とした
り、種々のパターンを採用することができる。また、こ
のような符号化テーブルとしては、ビット数の少ないも
のだけを用意し、大きなビット数、例えば、16ビット
以上の場合は符号化テーブルを持たないようにすること
もできる。
【0167】次に、以上のような構成を有するエントロ
ピー符号器12の動作を具体例を使用して説明する。
【0168】例えば、予測が当たり続けて、run=1
6となった状態で、“000001000011110
0………」のような形で入力してきたビット列を符号化
する場合、4ビットの区切りビット数pで区切り、ま
ず、最初は“00000100”までを符号化すること
となる。これは、劣勢シンボル“1”が第1番目の区切
りビット数(=最初の4ビット)部分にはなく、第2番
目(=次の4ビット)に出てくるためである。そして、
次に“0011”を、そして最後に“1100”を符号
化することとなる。
【0169】このため、ビット列分解部22から出力さ
れるDECNUMは、「8」「4」「4」となる。一
方、DECPATNは、“0100”“0011”“1
100”(ここでは、いずれのパターンも左の数値から
入力されてくるとする)となる。このような条件におい
て、DECBITは、まず、run=16としたときの
予測外れの“1”がくる。次に、“00000100”
は、RUN「8」、TABLE「3」、DECNUM
「8」のため、図27に示す上から5番目に相当するも
のであり(図27に示す各数値の場合、それぞれ右端側
から入力されてくることに注意)、DECBITは“1
0100”となる。このため、先の“1”と合わせられ
た“110100”(この数値は左端から順に出力)の
DECBITとLENGTH「6」が符号化テーブル部
23からストリーム生成部24に出力される。
【0170】一方、符号化制御部25内の状態遷移表で
いえば、状態SS6でDECNUM「8」のとき、FA
IL「1」となったこととなり、次の状態は状態SS7
となる。そして、次の“0011”は、run=8でD
ECNUM「4」なので、テーブル番号「3」のテーブ
ル(=図27の符号化テーブル)が採用され、その上か
ら19番目のものが該当し、“11011”のDECN
UMとLENGTH「5」が符号テーブル3から出力さ
れる。
【0171】最後の“1100”については、前の状態
が状態SS7のrun「8」、DECNUM「4」で、
FAIL「1」となったため(図28の現状態コード
“0111”中の1番下の状態)、状態SS5が採用さ
れる。このため、run「4」、TABLE「2」とな
り、図26に示すテーブル番号「2」の符号化テーブル
が使用される。そして、このテーブル番号「2」のテー
ブルにおいて、下から4番目が該当し“11110”の
DECBITと、LENGTH「5」が符号化テーブル
部23からストリーム生成部24に出力される。なお、
状態SS5で、FAILは「1」となるので、次は状態
SS2に移る。すなわち、次の入力ビット列に対して
は、run=2である図25の符号化テーブルが使用さ
れることとなる。
【0172】以上をまとめると、入力ビット列“000
0010000111100”が“110100”,
“11011”,“11110”の3つの圧縮ビット列
として符号化されたこととなる。なお、入力ビット列や
3つの圧縮ビット列は、共に先頭側から入力され、出力
されていくものとする。この点、図24から図27の各
符号化テーブルとは異なることに注意する必要がある。
すなわち、各符号化テーブルでは、その表示の各値は、
その表示の右端から順に入力し、出力するものとなって
いる。
【0173】そして、runは、当初「16」であった
のが、この4ビットの区切りビットpで段階的に符号化
していく中で、runは「2」となり、次の入力ビット
列に対しては、「2」の予測ビット長runで符号化さ
れることとなる。
【0174】一方、先に示した本実施の形態の元となる
基本的プロセスで、同じ入力ビット列“0000010
000111100”を符号化すると、まずrun=1
6での予測外れの“1”、次に前半の8ビットを注目
し、2番目に予測外れの“1”がきて、さらに前半の4
ビット“0000”に注目し、予測当たりの“0”が3
番目にくる。すると、後半部の4ビット“0100”に
劣勢シンボルがくるとは確実なので、すぐに2つに分割
し、前半の2ビット“01”に注目する。このため、予
測外れの“1”が4番目にくる。次は、さらにこれを2
分割し、前半の“0”に注目し、5番目に予測当たりの
“0”がくる。すると、後半の“1”は劣勢シンボルが
確実なので、すぐに後半の2ビット“00”に注目し、
予測当たりの“0”が6番目にくる。
【0175】以上の前半8ビットの符号化をまとめる
と、“110100”となる。これは、本実施の形態に
よる符号化ビットと全く同じとなる。続く8ビットも同
様な方法で進めていくと、これらも本実施の形態による
符号化ビットと同一となる。本実施の形態の元となる基
本的プロセスと本実施の形態とが異なる点は、符号化さ
れたビット自体ではなく、1.符号化の区切り方、2.予測
ビット表の変更の仕方、3.符号化テーブルの活用の3点
にある。
【0176】すなわち、改良した本実施の形態では、入
力ビット列に対しrunより小さい区切りビット数p
(この実施の形態ではp=4)で区切り、劣勢シンボル
が存在する区切り部分までで一旦符号化を区切るように
している。先の例では、16ビットの入力ビット列が3
つに区切られて符号化されている。また、本実施の形態
では、次の入力ビット列に対し予測ビット長runは
「2」となるのに対し、基本的プロセスの考え方では、
予測外れは1回であり、runは「16」のままとな
る。さらに、本実施の形態の基本的プロセスの考え方で
は、符号化サブルーチンを再帰的に呼び出して符号化し
ているが、改良した本実施の形態の符号化方法では、符
号化テーブル、具体的には予測ビット長run毎に符号
化テーブルを用いている。
【0177】以上の3つの点は、それらが同時に利用さ
れることによって大きな効果を生ずるが、それぞれ単独
で使用されても十分効果を有する。例えば、第1の点の
段階的に符号化する方法を採用すると、バッファ、例え
ば、ビット列分解部22やストリーム生成部24内の各
バッファを小さくできるばかりか後述するマルコフモデ
ル化によって圧縮ビット列を得ようとするときにそのバ
ッファの容量を減少させることができる。
【0178】第2の点の予測ビット長runの変更につ
いては、入力ビット列が途中からがらっとその性質が変
わるような場合に特に有効となる。先の例では、予測が
当たり続けてrun=16となったのに対し、次に性質
ががらっと変わったビット列、すなわち劣勢シンボルを
多く含む“0000010000111100”がきた
とき、改良された本実施の形態の符号化方法では、その
性質に合わせ、runは「2」となり、続く入力ビット
列の性質に合う確率が高いものとなり、圧縮率が高くな
る。しかし、基本的プロセスで処理した場合、runは
「16」のままであり、次の入力ビット列の性質にそぐ
わない確率の高いものとなる。なお、圧縮率の向上は、
具体的には、改良前に比べ、0.5%から数%程度であ
るが、各プログラムソフト等が大容量化している現在で
は、このようなわずかな数値の向上効果も無視し得ない
ものとなっている。
【0179】第3の点の符号化テーブルについては、サ
ブルーチンの再帰的呼び出しによる符号化に比べ、符号
化テーブルのためのメモリ容量は若干増えるものの、符
号化速度が極めて速くなる。
【0180】次に、この実施の形態のエントロピー復号
器32について、図29に基づき説明する。
【0181】このエントロピー復号器32は、符号化さ
れた信号のストリームを入力するストリーム切り出し部
41と、予測ビット長runに応じた複数の復号テーブ
ルを内蔵する復号テーブル部42と、復号されたビット
をストアし、所定のシンボルを出力するデコードバッフ
ァ部43と、エントロピー符号器12の状態変換部26
内の状態遷移表と同じ状態遷移表他を有する復号制御部
44とから主に構成されている。ここで、復号制御部4
4には、状態遷移表を有する状態遷移部45と、マルコ
フモデル等により生成される復号条件を入力し、その条
件毎に現在の状態の信号を状態遷移部45に与え、復号
後に次の状態の信号を入力し、その復号条件の状態を記
憶しておく状態記憶部46とが設けられている。
【0182】なお、デコードバッファ部43は、復号条
件が入力し、その条件毎に個別に管理されるものとなっ
ている。このため、マルコフモデルのような条件付き復
号化の場合、バッファとして非常に大きなものが必要に
なる。しかし、本実施の形態のエントロピー復号器32
では、後述するように段階的な復号を行うので、各バッ
ファは小さいものでも十分対応でき、マルコフモデルの
ような条件付きの復号化でもデコードバッファ部43は
それ程大きな容量を必要としなくなる。
【0183】ストリーム切り出し部41は、復号テーブ
ル部42から、復号したビット数を後述するLENGT
Hにより指示されるので、その値に基づき、復号済みビ
ットを廃棄して、未復号ビットの先頭が、符号化された
データとなる復号予定の符号語信号CODE(以下単に
CODEという)の最下位ビット(または最上位)に来
るようにストリームを切り出す。なお、LENGTHを
評価して、復号済みビットを廃棄するのは、デコードバ
ッファ部43から廃棄指示DECREQ(以下単にDE
CREQという)があったときのみである。また、CO
DEは8ビット単位で送信される。
【0184】復号テーブル部42は、図30から図33
に示すような各復号テーブルを内蔵し、復号制御部44
が出力するテーブル番号指示信号TABLE(以下単に
TABLEという)によりそれらを切り替えて使用す
る。そして、復号テーブル部42は、次の信号を出力す
る。すなわち、(1)何ビット復号したかを示す信号LE
NGTH(以下単にLENGTHという)で、エントロ
ピー符号器12におけるLENGTHに相当するもの、
(2)予測の当たり外れを示す信号FAIL(以下単にF
AILという)で、エントロピー符号器12におけるF
AILに相当するもの、(3)復号したビット・パターン
信号DECPATN(以下単にDECPATNという)
で、エントロピー符号器12におけるDECPATNに
相当するもの、(4)復号結果が何ビットかを示す信号D
ECNUM(以下単にDECNUMという)で、エント
ロピー符号器におけるDECNUMに相当するもの、を
出力する。
【0185】図30に示すrun=1の復号テーブル
は、CODEが“0”“1”の2種類に対応する各出力
が記載されている。この復号テーブルは、図24のru
n=1の符号化テーブルに相当するもので、符号化テー
ブル中のDECBITに相当するものが、この復号テー
ブルではCODEとなっている。図31に示すrun=
2の復号テーブルは、同様に図25のrun=2の符号
化テーブルに相当するものとなっている。また、図32
に示すrun=4の復号テーブルでは、図26のrun
=4の符号化テーブルに相当し、図33に示すrun=
8の復号テーブルは、図27のrun=8の符号化テー
ブルに相当している。なお、各復号テーブルにおける各
数値も、符号化テーブルと同様に、各数値の右端側から
入力し、出力する表示となっている。また、復号テーブ
ルとして、run=16と、run=32のテーブルも
用意されている。
【0186】デコードバッファ部43は、4ビット(こ
の実施例の場合)以下のDECPATNとDECNUM
を直接的にストアし、それぞれデコードバッファ部43
内のPATNREG(以下単にPATNREGという)
とナンバーレジスタNUMREG(以下単にNUMRE
Gという)にストアする。そして、デコードバッファ部
43の出力がqビット幅の場合、デコードバッファ部4
3は、1回デコード・データを出力する度にストアした
NUMREGからqを減じる。そして、NUMREGが
qより小さくなったら、DECREQをアクティブにし
て、新たなデータのデコード要求を発する。また、NU
MREGが5以上のときは、信号SWで定まる優勢シン
ボルをデコード出力として出力する。一方、NUMRE
Gが4以下になったら、PATREGの値を出力する。
【0187】例えば、図33の上から5番目のCODE
“00101”が復号テーブル部42に入力された場
合、DECNUM=8、DECPATN=“0010”
がデコードバッファ部43に入力されてくる。このと
き、信号SWが「0」となっていたとし、出力を2ビッ
ト単位(これはq=2に相当)で行うとした場合、最初
の2回の出力は優勢シンボルを出力すればよい。この場
合SW=0なので、優勢シンボルは“0”である。した
がって、“0000”を出力する。この4ビットを出力
した時点で、NUMREGは4(=8−4)になってい
る。そこで、次のサイクルは、PATNREGの値を、
順に出力する。すなわち、“0100”をこの表示の左
端側から出力する。
【0188】復号制御部44の状態遷移部45は、符号
化制御部25の状態遷移部26と同じ状態遷移表を保有
している。そして、状態の初期値は、SS1であり、F
AILとDECNUMにより、次の遷移先が決定され、
DECREQがアクティブのとき、その遷移先へ遷移す
る。
【0189】以上のように構成されるエントロピー復号
器32は、先に示したエントロピー符号器12と逆のア
ルゴリズムによって動作する。なお、このエントロピー
復号器32は、デコードバッファ部43の出力状態によ
って制御されるものとなっている。すなわち、デコード
バッファ部43のNUMREGが出力ビット幅qより小
さくなると、DECREQがストリーム切り出し部41
と復号制御部44へ出力される。ストリーム切り出し部
41は、そのDECREQにより復号済みビットをその
LENGTH分廃棄する。
【0190】先の例のrun=8でCODE“0010
1”の場合、NUMREGが「8」から「4」へ、
「4」から「2」、「2」から「0」へと下がる。この
「2」から「0」へ下がったときに、DECREQが発
生する。そして、LENGTHが「5」であるので、C
ODEから復号済みの5ビットを廃棄する。このため、
ストリーム切り出し部41内のCODEには、未復号ビ
ットが最下位または最上位にきて、次の復号に備える。
一方、復号制御部44では、run=8、DECNUM
=8で、FAIL=1なので、状態SS7へ遷移する。
このため、run=8に相当するTABLE=3を復号
テーブル部42に向けて出力する。
【0191】この結果、復号テーブル部42は、図33
のテーブル番号「3」であるrun=8の復号テーブル
を準備する。そして、入力してくるCODEからLEN
GTH、DECNUM、DECPATNおよびFAIL
が確定し、出力される。例えば、そのCODEの最初が
“0”であれば、CODE“0”であることが確定し、
LENGTH=1、DECNUM=8、DECPATN
=“0000”、FAIL=「0」を出力する。一方、
CODEが“01011”の場合、CODEの最初が
“1”であるので、まだ確定せず、次の“1”でも、3
番目の“0”でも、4番目の“1”でも確定しない。し
かし、5番目の“0”が入った段階で“01011”で
あることが確定する。この確定によって、LENGTH
=5、DECNUM=4、DECPATN=“010
0”、FAIL=「1」がそれぞれ出力される。このよ
うにして、順次、復号されていく。
【0192】このエントロピー復号器32は、エントロ
ピー符号器12と同様に、先に述べた基本的プロセスに
基づく復号に比べると、段階的な復号によるバッファ
容量の減少化信号の性質にあった予測ビット長run
の変更復号テーブルによる復号速度の向上という各種
の有利な効果を有するものとなる。
【0193】このエントロピー復号器32においては、
状態遷移を条件毎に個別に管理する点で、エントロピー
符号器12と同様である。ただし、このエントロピー復
号器32の場合は、上述したようにさらにデコードバッ
ファ部43も個別に管理しなければならない。このた
め、デコードバッファ部43は、NUMREG、PAT
NREGに相当するレジスタを有り得る条件数分内蔵
し、復号条件によって切り換えるものとなっている。
【0194】上述の説明では、分かり易さを考慮し、2
値のビット列を例にして、予測ランレングス符号化方式
を説明したが、判別部19から出力される順位コードは
多値データであり、実際は多値データを2値系列に変換
する必要がある。例えば、ビット・プレーンに分けて、
各ビット・プレーンをこの予測ランレングス符号化方式
で符号化するようにしても良い。また、最上位ビットか
らプレーン毎にこの予測ランレングス符号化方式にて符
号化を行い、“1”が出現した時点で続く下位ビットを
直接ストリームに出力するようにしても良い。
【0195】この実施の形態では、このPRLCを多値
系列に適用する方式として、ビット・プレーンではなく
レベル・プレーンに分けて行っている。具体的には、シ
ンボルが8ビットであるため、256のレベル・プレー
ンに分け、その入力シンボルをグループに分け、グルー
プ番号をこの予測ランレングス符号化方式で符号化して
いる。すなわち、入力シンボルを図34に示すように、
グループ分けし、まず入力シンボルがグループ番号0か
0以外かを示す判定ビットをこのPRLCで符号化す
る。もし入力シンボルが0ならこのシンボルの符号化を
完了するが、そうでない場合はさらにグループ番号が1
か1以外かを示す判定ビットをこの予測ランレングス符
号化方式で符号化する。
【0196】このようにして、グループ番号が確定する
まで、判定ビットをPRLCで符号化し、確定したグル
ープ番号が2以上の場合は、該当グループにおけるシン
ボルを確定するため、必要とする付加ビットを直接スト
リームに出力する。ただし、各グループ判定ビットは、
グループ毎に独立した系列として扱い、各々個別に現状
態コードを管理して符号化する。この方法は、グループ
番号が確定した時点で、上位の判定ビットの符号化を行
わないので、処理速度が向上する。
【0197】なお、この実施の形態では、圧縮対象画素
の画素インデックス100Aの数が256個に加え、
(CX+1)が加わるため、最高260個が対象とな
り、順位としては259順位となる。この対策として、
順位255をエスケープ・コードに割り当て、255以
上の順位については、このエスケープ・コードを符号化
後、255との差分を3ビット付加ビットとして直接圧
縮ストリームに出力している。このような対策は、圧縮
対象の画素インデックス100Aが256色をわずかに
超える場合にも適用できる。
【0198】また、この実施の形態におけるマルチカラ
ー画像のインデックスパレットは、異なるフレーム間で
共有されており、パレットのためのデータ量は多くなら
ない。すなわち、動画像のインデックスパレットは、動
画ストリームの中で共通のパレットとして使用されてい
る。さらに、このパレットは、フレーム間相関を用いた
符号化では、フレーム間相関の及ぶ範囲で共通のパレッ
トを使用している。例えば、IピクチャーとIピクチャ
ーの間(GOP)毎にパレットを持つようにしたり、他
の範囲で持つようにしたりしている。
【0199】また、この実施の形態のエントロピー符号
器12では、符号化する際、過去の符号化済み系列等に
より適当に条件付けを行い、符号化することで、圧縮率
が向上している。すなわち、マルコフ状態信号CXによ
り条件分けを行ってPRLC符号化を実行している。具
体的には、マルコフ状態信号CXは、4状態存在し、1
つの状態で8つのグループ判定ビットを個別に符号化す
るため、合計で32状態の現状態コードを個別に管理し
符号化することになる。
【0200】なお、上述の実施の形態は、本発明の好適
な実施の形態の例であるが、これに限定されるものでは
なく本発明の要旨を逸脱しない範囲において、種々変形
実施可能である。例えば、カラー画素データ100Aと
しては、nビット(nは2以上の整数)のカラー画素デ
ータ100Aを対象とし、その符号化や復号化を行うよ
うに構成することができる。
【0201】また、マルチカラー画像ではなく、RGB
成分やYUV成分を直接有する自然画像に適用すること
ができる。その場合、自然画変換手段2aが不要となっ
たり、自然画変換手段2aとYUV変換手段2bが不要
となったりする。また、上述の実施の形態では、動き補
償を使用する動画像の場合を示したが、動き補償の無い
動画像や静止画像にも、前処理手段2や補正手段9を適
用することができる。さらに、UV成分をパレット化す
るのではなく、間引き手段2cで間引きされたUV成分
をインデックス化したり、または直接符号化手段で符号
化するようにしても良い。
【0202】なお、符号化や復号化を行うにあたり、図
18から図22に示す改良前の方法を採用したり、従来
の算術符号型のエントロピー符号器およびエントロピー
復号器を利用しても良い。また、上述の実施の形態のよ
うに、プリスキャンを行うのではなく、特開平6−27
6041号に開示された技術を利用しても良い。すなわ
ち、インデックスを出現頻度順に並び替えた色順位デー
タを利用したり、最新のものを先頭へ移動する移動処理
を行って得た最新出現表を利用するようにしても良い。
【0203】さらに、先頭移動処理を使用する場合、現
れたカラーシンボルを常に先頭へ持っていくのではな
く、先頭方向へ所定の決まりにしたがって移動させるよ
うにしても良い。このようにすると、出現確率が低いカ
ラーシンボルが出たとき、すぐに先頭へ移動しないの
で、出現確率の低いものに短い符号を割り当てるという
ことが無くなる。このため、出現確率が低いものが現れ
ても符号化効率や復号化効率が悪化してしまうことはな
い。
【0204】なお、マクロブロックMBと小さなブロッ
クSBによる二重判定は、マルチカラー画像以外の画
像、例えば自然画の動き補償の際にも適用できる。ま
た、動き補償を行わないとしたマクロブロックMBの拾
い方は、フレームのスキャンが横方向のときは縦方向に
集めていき、フレームのスキャンが縦方向のときは横方
向に集めていくのが好ましい。
【0205】また、動き補償を行うブロックは、一般的
に採用されている16×16ピクセルの他に8×8ピク
セル、4×4ピクセル、32×32ピクセル等種々の大
きさのものとすることができるが、動きベクトルのため
のデータ量を考慮すると4×4ピクセル以上が好まし
く、効果的な動き検出を考慮すると64×64ピクセル
以下が好ましい。
【0206】さらに、上述の実施の形態では、符号化お
よび復号化は、ハードとして構成されたシステムで処理
しているが、すべてソフトウェアで処理するようにして
も良い。また、ソフトウェアで処理する際は、その処理
手順をプログラム化しCDーROM等の記憶媒体にイン
ストールし、その記憶媒体をパソコン等のハードに差し
込んで処理したり、そのプログラムをネットワーク等を
介して送受信し、パソコン等のハードディスク等へ取り
込んで処理するようにしても良い。
【0207】
【発明の効果】以上説明したように、本発明のカラー画
像の符号化装置およびその方法では、DCTを使用せず
カラー画像を符号化することにより、符号化の時間を短
縮できるものとなり、また、他の発明ではカラー画像か
らなる動画像の符号化を行う際、画像の影の部分を十分
考慮した動き補償とすることができる。
【0208】また、本発明のカラー画像の復号化装置お
よびその方法では、DCTを使用せずカラー画像を復号
化することにより、復号化の時間を短縮できるものとな
り、また、他の発明では、カラー画像からなる動画像の
復号化を行う際、画像の影の部分を十分考慮した動き補
償とすることができる。
【図面の簡単な説明】
【図1】本発明のカラー画像の符号化装置およびその方
法を採用した符号化システムを示す図である。
【図2】図1の符号化システム中のインデックス変換部
およびその周辺の構成を示す図である。
【図3】本発明のカラー画像の復号化装置およびその方
法を採用した復号化システムを示す図である。
【図4】図3の復号化システム中のインデックス変換部
およびその周辺の構成を示す図である。
【図5】図1の符号化システムの動き補償部の動作結果
を説明するための図で、(A)は各ピクチャー(フレー
ム)の種類と入力順序を示す図で、(B)はそのときの
符号化順序を示す図である。
【図6】図1の符号化システムおよび図3の復号化シス
テムで採用されるマクロブロックと小さなブロックおよ
びその関係を示す図である。
【図7】図1および図3の符号化システムおよび復号化
システムにマルコフモデルとして採用される参照画素の
配置を説明するための図で、(A)は通常の参照画素
を、(B)は先頭ラスタの場合を、(C)は先頭画素の
場合をそれぞれ示している図である。
【図8】図1および図3の符号化システムおよび復号化
システムに採用される参照画素の状態と、状態信号ST
と、色数と、マルコフ状態信号CXとの関係を示す図で
ある。
【図9】図1の符号化システムに採用される変換テーブ
ル生成部の参照順位テーブル作成の機能を説明するため
の図で、(A)は符号化対象画素と参照画素が一致した
ときの度数の例を示す図で、(B)(C)はそれぞれの
度数が所定の関係となったときの参照画素の順位を示す
図である。
【図10】図1および図3の符号化システムおよび復号
化システムに採用される参照順位テーブルの例を示す図
である。
【図11】図1の符号化システムに採用される変換テー
ブル生成部の画素インデックス変換テーブル作成機能を
説明するための図で、入力してきた画素インデックスに
対応する画素が参照画素中に無かった度数を示す図であ
る。
【図12】図1の符号化システムに採用される変換テー
ブル生成部の画素インデックス変換テーブル作成機能を
説明するための図で、入力してきた画素インデックスに
対応する画素が参照画素中に無かった度数の順位を示す
図である。
【図13】図1の符号化システムにおける入力してきた
カラーパレットから変換カラーパレットへの変換を説明
するための図である。
【図14】図1の符号化システムにおけるプリスキャン
時の動作を示すフローチャートである。
【図15】図1の符号化システムにおける符号化プロセ
ス時の動作を示すフローチャートである。
【図16】図1の符号化システムにおいて動き補償を行
わないと判断されたマクロブロックの符号化方法を説明
するための図で、(A)は動き補償を行わないマクロブ
ロックの位置の例を示し、(B)はその一部拡大図であ
る。
【図17】図3の復号化システムにおける復号化プロセ
スを示すフローチャートである。
【図18】本発明で採用するエントロピー符号器および
エントロピー復号器で使用しているアルゴリズムの概要
を説明するための図で、注目系列と予測ビット数run
との関係を示す図である。
【図19】図18の注目系列を分割した状態を示す図で
ある。
【図20】図19の前半部注目系列をさらに分割した状
態を示す図である。
【図21】図18から図20に示すエントロピー符号器
内の符号化プロセスを説明するためのフローチャート
で、符号化メインルーチンを示すフローチャートであ
る。
【図22】図18から図20に示すエントロピー符号器
内の符号化プロセスを説明するためのフローチャート
で、符号化サブルーチンを示すフローチャートである。
【図23】本発明の実施の形態で採用するエントロピー
符号器の構成を示すブロック図である。
【図24】図23のエントロピー符号器の符号化テーブ
ル部内の符号化テーブルを示す図で、予測ビット長が
「1」の場合のテーブルを示す図である。
【図25】図23のエントロピー符号器の符号化テーブ
ル部内の符号化テーブルを示す図で、予測ビット長が
「2」の場合のテーブルを示す図である。
【図26】図23のエントロピー符号器の符号化テーブ
ル部内の符号化テーブルを示す図で、予測ビット長が
「4」の場合のテーブルを示す図である。
【図27】図23のエントロピー符号器の符号化テーブ
ル部内の符号化テーブルを示す図で、予測ビット長が
「8」の場合のテーブルを示す図である。
【図28】図23のエントロピー符号器の状態遷移部内
の状態遷移表を示す図である。
【図29】本発明の実施の形態で採用するエントロピー
復号器の構成を示すブロック図である。
【図30】図29のエントロピー復号器の復号テーブル
部内の復号テーブルを示す図で、予測ビット長が「1」
の場合のテーブルを示す図である。
【図31】図29のエントロピー復号器の復号テーブル
部内の復号テーブルを示す図で、予測ビット長が「2」
の場合のテーブルを示す図である。
【図32】図29のエントロピー復号器の復号テーブル
部内の復号テーブルを示す図で、予測ビット長が「4」
の場合のテーブルを示す図である。
【図33】図29のエントロピー復号器の復号テーブル
部内の復号テーブルを示す図で、予測ビット長が「8」
の場合のテーブルを示す図である。
【図34】本発明で採用するアルゴリズムを本実施の形
態で示す多値系列データに適用した場合の例を説明する
ための図で、入力シンボルを複数のグループに分けた状
態を示す図である。
【図35】従来のマルチカラー画像の符号化システムお
よび復号化システムのブロック図である。
【図36】従来の符号化対象画素データに対する参照画
素データの説明図である。
【図37】従来や本発明で使用されるマルチカラー画像
のインデックスを説明するための図である。
【符号の説明】
1 符号化システム 1c 排他的論理生成手段/動き補償手段 2 前処理手段 2a 自然画変換手段 2b YUV変換手段 2c 間引き手段 2d 量子化手段 2e インデックス化手段 2f パレット化手段 3 復号化システム 4 エントロピー符号器 7、8 インデックス変換部 9 補正手段 9a スムージング手段 9b 中間色処理手段 12 エントロピー符号器 100A 符号化されるカラー画素データ 100B 復号化されたカラー画素データ 200 符号化データ

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 カラー画像の符号化装置において、RG
    B成分から変換されたYUV成分の少なくともUV成分
    を間引く間引き手段と、間引かれないかまたは小さく間
    引かれたY成分を量子化する量子化手段と、大きく間引
    かれたUV成分および上記量子化されたY成分を圧縮し
    て符号化する符号化手段とを設けたことを特徴とするカ
    ラー画像の符号化装置。
  2. 【請求項2】 カラー画素データからなる静止画のフレ
    ームを連続させて動画像を形成する際、符号化対象の着
    目フレームをそれぞれN×Nピクセル(Nは4以上の整
    数)からなる複数のブロックに分割し、その着目フレー
    ム中のブロックが参照フレーム中のブロックと同一であ
    るとき、そのブロックの動きベクトルを差分情報として
    データ化し、その差分情報のデータ量を減少させる動き
    補償を行うカラー画像の符号化装置において、RGB成
    分から変換されたYUV成分の少なくともUV成分を間
    引く間引き手段と、間引かれないかまたは小さく間引か
    れたY成分を量子化する量子化手段と、大きく間引かれ
    たUV成分および上記量子化されたY成分を圧縮して符
    号化する符号化手段とを設け、上記UV成分について上
    記動き補償を行い、上記Y成分について上記動き補償を
    行わないことを特徴とするカラー画像の符号化装置。
  3. 【請求項3】 前記カラー画像をマルチカラー画像と
    し、そのマルチカラー画像をRGB成分からなる自然画
    像に変換する自然画変換手段と、変換されたRGB成分
    をYUV成分に変換するYUV変換手段と、前記大きく
    間引かれたUV成分にインデックスを付与すると共にパ
    レット化するパレット化手段とを設け、前記符号化手段
    は、前記量子化されたY成分および上記パレット化され
    たインデックスが付与されたUV成分を符号化すること
    を特徴とする請求項1または2記載のカラー画像の符号
    化装置。
  4. 【請求項4】 前記符号化手段は、色の出現頻度によっ
    て、そのY成分およびUV成分を並び替える色順位変換
    手段と、この色順位変換手段によって並び替えられた各
    成分の値をランレングスモデル化するランレングスモデ
    ル化手段とを有していることを特徴とする請求項1、2
    または3記載のカラー画像の符号化装置。
  5. 【請求項5】 カラー画像の符号化方法において、RG
    B成分から変換されたYUV成分の少なくともUV成分
    を間引く間引き工程と、間引かれないかまたは小さく間
    引かれたY成分を量子化する量子化工程と、大きく間引
    かれたUV成分および上記量子化されたY成分を圧縮し
    て符号化する符号化工程とを設けたことを特徴とするカ
    ラー画像の符号化方法。
  6. 【請求項6】 カラー画素データからなる静止画のフレ
    ームを連続させて動画像を形成する際、符号化対象の着
    目フレームをそれぞれN×Nピクセル(Nは4以上の整
    数)からなる複数のブロックに分割し、その着目フレー
    ム中のブロックが参照フレーム中のブロックと同一であ
    るとき、そのブロックの動きベクトルを差分情報として
    データ化し、差分情報のデータ量を減少させる動き補償
    を行うカラー画像の符号化方法において、RGB成分か
    ら変換されたYUV成分の少なくともUV成分を間引く
    間引き工程と、間引かれないかまたは小さく間引かれた
    Y成分を量子化する量子化工程と、大きく間引かれたU
    V成分および上記量子化されたY成分を圧縮して符号化
    する符号化工程とを設け、上記UV成分について上記動
    き補償を行い、上記Y成分について上記動き補償を行わ
    ないことを特徴とするカラー画像の符号化方法。
  7. 【請求項7】 前記カラー画像をマルチカラー画像と
    し、そのマルチカラー画像をRGB成分からなる自然画
    像に変換する自然画変換工程と、変換されたRGB成分
    をYUV成分に変換するYUV変換工程と、前記大きく
    間引かれたUV成分にインデックスを付与すると共にパ
    レット化するパレット化工程とを設け、前記符号化工程
    は、前記量子化されたY成分および上記パレット化され
    たインデックスが付与されたUV成分を符号化すること
    を特徴とする請求項5または6記載のカラー画像の符号
    化方法。
  8. 【請求項8】 前記符号化工程は、色の出現頻度によっ
    て、そのY成分およびUV成分を並び替える色順位変換
    工程と、この色順位変換工程によって並び替えられた各
    成分の値をランレングスモデル化するランレングスモデ
    ル化工程とを有していることを特徴とする請求項5、6
    または7記載のカラー画像の符号化方法。
  9. 【請求項9】 YUV成分を有するカラー画像の復号化
    装置において、入力される対象符号化データを復号する
    復号化手段と、復号されたデータ中の量子化されたY成
    分をスムージング処理するスムージング手段と、上記Y
    成分に比べ大きく間引かれたUV成分を中間色補間によ
    って処理する中間色処理手段とを設けたことを特徴とす
    るカラー画像の復号化装置。
  10. 【請求項10】 入力される対象符号化データをYUV
    成分からなるカラー画素データに復号する復号化手段
    と、該カラー画素データからなる静止画を連続させて動
    画像を形成する動画像形成手段とを備え、動画像形成手
    段は、復号化対象の着目フレームをそれぞれN×Nピク
    セル(Nは4以上の整数)からなる複数のブロックに分
    割し、その着目フレーム中のブロックに関する復号化デ
    ータ中にそのブロックの相対変位を示す動きベクトルが
    存在するとき、参照する参照フレーム中の同一のブロッ
    クを利用してそのブロックを復号する動き補償を行うカ
    ラー画像の復号化装置において、上記復号化手段によっ
    て復号されたデータ中、上記UV成分については上記動
    き補償を行い、上記Y成分については上記動き補償を行
    わないことを特徴とするカラー画像の復号化装置。
  11. 【請求項11】 前記復号化手段は、色の出現頻度によ
    ってそのY成分およびUV成分を並び替えて復号する色
    順位変換手段と、この色順位変換手段によって並び替え
    られた各成分の値を示すデータをランレングス復号化す
    るランレングス復号化手段とを有していることを特徴と
    する請求項9または10記載のカラー画像の復号化装
    置。
  12. 【請求項12】 YUV成分を有するカラー画像の復号
    化方法において、入力される対象符号化データを復号す
    る復号化工程と、復号されたデータ中の量子化されたY
    成分をスムージング処理するスムージング工程と、上記
    Y成分に比べ大きく間引かれたUV成分を中間色補間に
    よって処理する中間色処理工程とを設けたことを特徴と
    するカラー画像の復号化方法。
  13. 【請求項13】 入力される対象符号化データをYUV
    成分からなるカラー画素データに復号する復号化工程
    と、該カラー画素データからなる静止画を連続させて動
    画像を形成する動画像形成工程とを備え、動画像形成工
    程は、復号化対象の着目フレームをそれぞれN×Nピク
    セル(Nは4以上の整数)からなる複数のブロックに分
    割し、その着目フレーム中のブロックに関する復号化デ
    ータ中にそのブロックの相対変位を示す動きベクトルが
    存在するとき、参照する参照フレーム中の同一のブロッ
    クを利用してそのブロックを復号する動き補償を行うカ
    ラー画像の復号化方法において、上記復号化工程によっ
    て復号されたデータ中、上記UV成分については上記動
    き補償を行い、上記Y成分については上記動き補償を行
    わないことを特徴とするカラー画像の復号化方法。
  14. 【請求項14】 前記復号化工程は、色の出現頻度によ
    ってそのY成分およびUV成分を並び替えて復号する色
    順位変換工程と、この色順位変換工程によって並び替え
    られた各成分の値を示すデータをランレングス復号化す
    るランレングス復号化工程とを有していることを特徴と
    する請求項12または13記載のカラー画像の復号化方
    法。
JP10071026A 1998-03-19 1998-03-19 カラー画像の符号化装置およびその方法並びにカラー画像の復号化装置およびその方法 Withdrawn JPH11272843A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10071026A JPH11272843A (ja) 1998-03-19 1998-03-19 カラー画像の符号化装置およびその方法並びにカラー画像の復号化装置およびその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10071026A JPH11272843A (ja) 1998-03-19 1998-03-19 カラー画像の符号化装置およびその方法並びにカラー画像の復号化装置およびその方法

Publications (1)

Publication Number Publication Date
JPH11272843A true JPH11272843A (ja) 1999-10-08

Family

ID=13448615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10071026A Withdrawn JPH11272843A (ja) 1998-03-19 1998-03-19 カラー画像の符号化装置およびその方法並びにカラー画像の復号化装置およびその方法

Country Status (1)

Country Link
JP (1) JPH11272843A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100671349B1 (ko) * 2004-11-08 2007-01-19 주식회사 티엘아이 알지비 영상 잔상제거 방법
KR100671354B1 (ko) * 2004-11-08 2007-01-19 주식회사 티엘아이 알지비영상 잔상제거장치 및 방법
US10021405B2 (en) 2015-08-18 2018-07-10 Kabushiki Kaisha Toshiba Encoding device, decoding device, and image processing device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100671349B1 (ko) * 2004-11-08 2007-01-19 주식회사 티엘아이 알지비 영상 잔상제거 방법
KR100671354B1 (ko) * 2004-11-08 2007-01-19 주식회사 티엘아이 알지비영상 잔상제거장치 및 방법
US10021405B2 (en) 2015-08-18 2018-07-10 Kabushiki Kaisha Toshiba Encoding device, decoding device, and image processing device

Similar Documents

Publication Publication Date Title
RU2654200C1 (ru) Усовершенствованное кодирование содержимого экрана с улучшенными способами кодирования таблицы палитры и индексной карты
US4028731A (en) Apparatus for compression coding using cross-array correlation between two-dimensional matrices derived from two-valued digital images
US5228098A (en) Adaptive spatio-temporal compression/decompression of video image signals
JP4264492B2 (ja) イメージをデコードする装置
US7733345B2 (en) Method and apparatus for encoding and decoding position interpolator
US6522783B1 (en) Re-indexing for efficient compression of palettized images
EP0777386B1 (en) Method and apparatus for encoding and decoding an image
US8238437B2 (en) Image encoding apparatus, image decoding apparatus, and control method therefor
JP4522199B2 (ja) 画像符号化装置及び画像処理装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
US6614939B1 (en) Image compression apparatus and decoding apparatus suited to lossless image compression
JPH07231444A (ja) 符号化復号化装置及び符号化復号化方法
US6327383B2 (en) Multi-color image encoding apparatus and method, multi-color image decoding apparatus and method
US6728412B1 (en) Method and apparatus for on-the-fly image coding
JPH10294872A (ja) 画像符号化方法および装置ならびに画像復号方法および装置
KR100717002B1 (ko) 영상 부호화 및 복호화 장치와, 그 방법, 및 이를 수행하기위한 프로그램이 기록된 기록 매체
JPH11272843A (ja) カラー画像の符号化装置およびその方法並びにカラー画像の復号化装置およびその方法
CA2436437A1 (en) Moving picture information compressing method and its system
JPH11308465A (ja) カラー画像の符号化方法およびその符号化装置ならびにカラー画像の復号化方法およびその復号化装置
GB2366472A (en) Improvements relating to representations of compressed video
JPH0937262A (ja) 画像処理装置及び方法
US6219445B1 (en) Multi-color image encoding and/or decoding apparatus containing color order table and the method thereof
JPH11272842A (ja) マルチカラー画像からなる動画像の符号化装置およびその方法並びにマルチカラー画像からなる動画像の復号化装置およびその方法
JPH11272847A (ja) マルチカラー画像からなる動画像の符号化装置およびその方法並びにマルチカラー画像からなる動画像の復号化装置およびその方法
JPH11272844A (ja) マルチカラー画像からなる動画像の符号化装置およびその方法並びにマルチカラー画像からなる動画像の復号化装置およびその方法
JP4034385B2 (ja) マルチカラー画像の符号化装置およびその方法ならびにマルチカラー画像の復号化装置およびその方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050607