JPH10164619A - 符号化装置、復号化装置、記録媒体、符号化方法、および、復号化方法 - Google Patents

符号化装置、復号化装置、記録媒体、符号化方法、および、復号化方法

Info

Publication number
JPH10164619A
JPH10164619A JP3778997A JP3778997A JPH10164619A JP H10164619 A JPH10164619 A JP H10164619A JP 3778997 A JP3778997 A JP 3778997A JP 3778997 A JP3778997 A JP 3778997A JP H10164619 A JPH10164619 A JP H10164619A
Authority
JP
Japan
Prior art keywords
reference table
pixel
index
data
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3778997A
Other languages
English (en)
Other versions
JP3695045B2 (ja
Inventor
Tetsujiro Kondo
哲二郎 近藤
Kunio Kawaguchi
邦雄 川口
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP03778997A priority Critical patent/JP3695045B2/ja
Priority to US08/939,566 priority patent/US6519365B2/en
Publication of JPH10164619A publication Critical patent/JPH10164619A/ja
Application granted granted Critical
Publication of JP3695045B2 publication Critical patent/JP3695045B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Processing Or Creating Images (AREA)
  • Television Signal Processing For Recording (AREA)
  • Color Television Systems (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【課題】 隣接するピクセル遷移情報を利用して画像を
圧縮する。 【解決手段】 画像の水平走査方向に隣接する2つピク
セルのインデックスの遷移のパターンを算出し、出現頻
度が高い順に並び換えた後、出現頻度が上位4位に収ま
るパターンを選出し、参照テーブルを作成する。そし
て、この参照テーブルを参照し、画像データを符号化す
る。復号化する場合は、先ず、参照テーブルのデータ
と、カラールックアップテーブルのデータを入力し、テ
ーブル50とカラールックアップテーブル53に格納す
る。そして、続いて入力されるピクセルデータのうち、
最初のデータは、スイッチ52の接続を変更することに
より、カラールックアップテーブル53と遅延回路51
に供給する。それ以降のデータは、テーブル50に供給
し、テーブル50は、そのデータと、遅延回路51から
の出力を参照して元の画像データを復号化し、カラール
ックアップテーブル53においてR,G,B信号に変換
し、出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、符号化装置、復号
化装置、記録媒体、符号化方法、および、復号化方法に
関し、特に、参照テーブルを利用して画像を符号化また
は復号化する符号化装置、復号化装置、記録媒体、符号
化方法、および、復号化方法に関する。
【0002】
【従来の技術】カラールックアップテーブル(Color Lo
ok-up Table)を用いた画像処理装置では、ピクセルあ
たりの割り当てビット数を減らすと、画像の情報量を簡
単に減少させることができるという利点がある。
【0003】
【発明が解決しようとする課題】しかしながら、ピクセ
ルあたりの割り当てビットを減少させると、情報量を減
少させることはできるものの、表示することができる色
の数も減少してしまうという課題があった。
【0004】本発明は、このような状況に鑑みてなされ
たものであり、表示することができる色の数を減少させ
ることなく、画像全体の情報量を減少させることを可能
とするものである。
【0005】
【課題を解決するための手段】請求項1に記載の符号化
装置は、画像を構成するピクセルのうち、隣接する少な
くとも2つ以上のピクセルのインデックスの遷移に関す
る遷移情報を算出する遷移情報算出手段と、遷移情報算
出手段によって算出された遷移情報の一部を所定の方法
により選出して参照テーブルを作成する参照テーブル作
成手段と、参照テーブル作成手段により作成された参照
テーブルを参照し、画像を符号化する符号化手段とを備
えることを特徴とする。
【0006】請求項11に記載の符号化方法は、画像を
構成するピクセルのうち、隣接する少なくとも2つ以上
のピクセルのインデックスの遷移に関する遷移情報を算
出する遷移情報算出ステップと、遷移情報算出ステップ
によって算出された遷移情報の一部を所定の方法により
選出して参照テーブルを作成する参照テーブル作成ステ
ップと、参照テーブル作成ステップにより作成された参
照テーブルを参照し、画像を符号化する符号化ステップ
とを備えることを特徴とする。
【0007】請求項12に記載の記録媒体は、画像を構
成するピクセルのうち、隣接する少なくとも2つ以上の
ピクセルのインデックスの遷移に関する遷移情報を算出
し、算出された遷移情報の一部を所定の方法により選出
して作成された参照テーブルと、参照テーブルを参照し
て符号化された画像情報とが記録されていることを特徴
とする。
【0008】請求項14に記載の復号化装置は、画像を
構成するピクセルのうち、隣接する少なくとも2つ以上
のピクセルのインデックスの遷移に関する遷移情報を算
出し、算出された遷移情報の一部を所定の方法により選
出して作成された参照テーブルを記憶する参照テーブル
記憶手段と、参照テーブルを参照して圧縮された画像デ
ータを入力する入力手段と、入力手段より入力された画
像データを、参照テーブル記憶手段に記憶されている参
照テーブルを参照して、復号化する復号化手段とを備え
ることを特徴とする。
【0009】請求項16に記載の復号化方法は、画像を
構成するピクセルのうち、隣接する少なくとも2つ以上
のピクセルのインデックスの遷移に関する遷移情報を算
出し、算出された遷移情報の一部を所定の方法により選
出して作成された参照テーブルを記憶する参照テーブル
記憶ステップと、参照テーブルを参照して圧縮された画
像データを入力する入力ステップと、入力ステップより
入力された画像データを、参照テーブル記憶ステップに
記憶されている参照テーブルを参照して、復号化する復
号化ステップとを備えることを特徴とする。
【0010】請求項1に記載の符号化装置においては、
画像を構成するピクセルのうち、隣接する少なくとも2
つ以上のピクセルのインデックスの遷移に関する遷移情
報を遷移情報算出手段が算出し、遷移情報算出手段によ
って算出された遷移情報の一部を参照テーブル作成手段
が所定の方法により選出して参照テーブルを作成し、参
照テーブル作成手段により作成された参照テーブルを参
照し、画像を符号化手段が符号化する。例えば、画面の
水平走査方向に隣接する2つのピクセルのインデックス
の遷移に関する遷移情報を遷移情報算出手段が算出し、
遷移情報算出手段によって算出された遷移情報のうち、
出現頻度が上位4通りの情報を選出して、参照テーブル
作成手段が参照テーブルを作成し、作成された参照テー
ブルを参照し、画像を構成するピクセルデータを符号化
手段が逐次符号化する。
【0011】請求項11に記載の符号化方法において
は、画像を構成するピクセルのうち、隣接する少なくと
も2つ以上のピクセルのインデックスの遷移に関する遷
移情報を遷移情報算出ステップが算出し、遷移情報算出
ステップによって算出された遷移情報の一部を参照テー
ブル作成ステップが所定の方法により選出して参照テー
ブルを作成し、参照テーブル作成ステップにより作成さ
れた参照テーブルを参照し、画像を符号化ステップが符
号化する。例えば、画面の水平走査方向に隣接する2つ
のピクセルのインデックスの遷移に関する遷移情報を遷
移情報算出ステップが算出し、遷移情報算出ステップに
よって算出された遷移情報のうち、出現頻度が上位4通
りの情報を選出して、参照テーブル作成ステップが参照
テーブルを作成し、作成された参照テーブルを参照し、
画像を構成するピクセルデータを符号化ステップが逐次
符号化する。
【0012】請求項12に記載の記録媒体においては、
画像を構成するピクセルのうち、隣接する少なくとも2
つ以上のピクセルのインデックスの遷移に関する遷移情
報を算出し、算出された遷移情報の一部を所定の方法に
より選出して作成された参照テーブルと、参照テーブル
を参照して符号化された画像情報とが記録されている。
例えば、画面の水平走査方向に隣接する2つのピクセル
のインデックスの遷移に関する遷移情報を算出し、算出
された遷移情報のうち、出現頻度が上位4通りの情報を
選出して作成された参照テーブルと、参照テーブルを参
照して符号化されたピクセルデータが記録されている。
【0013】請求項14に記載の復号化装置において
は、画像を構成するピクセルのうち、隣接する少なくと
も2つ以上のピクセルのインデックスの遷移に関する遷
移情報を算出し、算出された遷移情報の一部を所定の方
法により選出して作成された参照テーブルを参照テーブ
ル記憶手段が記憶し、参照テーブルを参照して符号化さ
れた画像データを入力する入力手段と、入力手段より入
力された画像データを、参照テーブル記憶手段に記憶さ
れている参照テーブルを参照して、復号化手段が復号化
する。例えば、画面の水平走査方向に隣接する2つのピ
クセルのインデックスの遷移に関する遷移情報を算出
し、算出された遷移情報のうち、出現頻度が上位4通り
の情報を選出して作成された参照テーブルを参照テーブ
ル記憶手段が記憶し、入力手段より入力された符号化さ
れた画像データを、参照テーブル記憶手段に記憶されて
いる参照テーブルを参照することにより、復号化手段が
もとの画像データに復号化する。
【0014】請求項16に記載の復号化方法において
は、画像を構成するピクセルのうち、隣接する少なくと
も2つ以上のピクセルのインデックスの遷移に関する遷
移情報を算出し、算出された遷移情報の一部を所定の方
法により選出して作成された参照テーブルを参照テーブ
ル記憶ステップが記憶し、参照テーブルを参照して符号
化された画像データを入力する入力ステップと、入力ス
テップより入力された画像データを、参照テーブル記憶
ステップに記憶されている参照テーブルを参照して、復
号化ステップが復号化する。例えば、画面の水平走査方
向に隣接する2つのピクセルのインデックスの遷移に関
する遷移情報を算出し、算出された遷移情報のうち、出
現頻度が上位4通りの情報を選出して作成された参照テ
ーブルを参照テーブル記憶ステップが記憶し、入力ステ
ップより入力された符号化された画像データを、参照テ
ーブル記憶ステップに記憶されている参照テーブルを参
照して、復号化ステップがもとの画像データに復号化す
る。
【0015】
【発明の実施の形態】図1は、本発明の一実施形態の家
庭用TVゲーム機の構成の一例を示している。
【0016】この図に示すように、家庭用TVゲーム機
は、装置全体の制御を行うCPU(Central Processing
Unit)1(遷移情報算出手段、参照テーブル作成手
段、符号化手段、可変長符号化手段)、座標変換などの
ジオメトリ演算を行うGTE(Graphic Transfer Engin
e)2、データを一時的に格納するためのメインメモリ
3、画像データやプログラムが記録されているCD−R
OMからデータを読み出すCD−ROMドライブ4、画
像の処理を行うGPU(Graphic Processing Unit)
5、GPU5で処理された画像データを格納するフレー
ムバッファ6、および、フレームバッファ6から出力さ
れた映像信号を表示するテレビジョン受像機7により構
成されている。
【0017】次に、この実施の形態の動作について説明
する。
【0018】家庭用TVゲーム機の電源がオンの状態と
されると、CPU1は、メインメモリ3に内蔵されてい
るROM(Read Only Memory)から、起動プログラムを
読み込む。そして、その起動プログラムを実行し、オペ
レーティングシステムを動作させる。
【0019】CPU1は、CD−ROMドライブ4か
ら、アプリケーションプログラムを読み出し、メインメ
モリ3に内蔵されているRAM(Read Only Memory)に
格納する。そして、格納されたアプリケーションプログ
ラムを1処理単位ずつ読み出し、実行する。
【0020】アプリケーションプログラムにおいて、画
像データが表示される処理が実行された場合、CPU1
は、CD−ROMドライブ4から、複数の基本図形(ポ
リゴン)で構成された3次元オブジェクトデータ(ポリ
ゴンの頂点(代表点)の座標値など)を読み出し、GT
E2に供給する。
【0021】GTE2は、CPU1から供給された各ポ
リゴンの頂点の座標に対して、座標変換などのジオメト
リ演算を実行し、得られたデータをGPU5に供給す
る。
【0022】GPU5は、CPU1を介してGTE2か
ら出力されるポリゴンの座標値(3次元座標値)などの
データを入力し、その3次元の座標値を、所定の表示部
に対応する2次元の座標値に変換した後、それらのデー
タからポリゴンに対応するピクセルデータを生成し、そ
のピクセルデータをフレームバッファ6に書き込み、レ
ンダリング処理を実行する。
【0023】また、ゲームに登場するキャラクタ以外の
画像(例えば、背景の画像)などは、後述する画像圧縮
処理が施されて、図示せぬCD−ROMに記録されてい
る。GPU5は、CD−ROMドライブ4から、後述す
る圧縮処理が施された画像データを読み出し、伸長処理
を施した後、フレームバッファ6に出力する。フレーム
バッファ6では、ポリゴンから生成されたピクセルデー
タと、伸長された画像のピクセルデータに対して所定の
重畳処理が施される。
【0024】フレームバッファ6に書き込まれたピクセ
ルデータは、NTSC方式に準拠する映像信号に変換さ
れ、テレビジョン受像機7に出力される。テレビジョン
受像機7は、入力された映像信号を画像として表示出力
する。
【0025】図2は、図3のCPU40で実行される画
像の符号化処理(後述する)と、図1のGPU5におい
て実行される復号化処理の概要を示す図である。
【0026】前述したように、CD−ROMに記録され
ている画像データには、ポリゴンの頂点座標として記録
されているものと、圧縮処理が施されたピクセルデータ
として記録されているものの2種類がある。そのうち、
圧縮処理が施されたピクセルデータは、以下のようなプ
ロセスにより圧縮され、また、伸長処理が施される。
【0027】即ち、4ビットのピクセルデータA乃至C
は、2ビットのピクセルデータX1乃至X3に符号化され
る。そして、4ビットのピクセルデータA’乃至C’に
復号化される。なお、符号化される場合に情報の取捨が
行われるため、もとのピクセルデータA乃至CとA’乃
至C’と同一とは限らない。
【0028】従って、本実施の形態では、先ず、A=
A’となるような符号化を探索し、それが不可能な場合
(A≠A’)には、次のピクセルデータの符号化前と復
号化後の値が一致する(B=B’)ような符号化を探索
する。次のピクセルデータにおいても、それが困難な場
合(B≠B’)には、更に次のピクセルデータの符号化
前と復号化後の値が一致する(C=C’)ような符号化
が探索されることになる。
【0029】なお、以上の実施の形態では、3つのピク
セルデータの場合について説明したが、4つ以上のピク
セルデータに対しても、本発明は適用可能であることは
勿論である。
【0030】次に、符号化装置の構成の一例について説
明する。
【0031】図3は、本発明の符号化装置の一実施の形
態の構成を示すブロック図である。この図において、C
PU40は、各種演算を実行するとともに、装置各部の
制御を行うようになされている。メモリ41は、RAM
およびROMにより構成されており、CPU40が実行
するプログラムを記憶しているとともに、演算の途中経
過のデータ等を一時的に記憶するようになされている。
ハードディスク装置42は、符号化しようとするピクセ
ルデータを記録している。CD作成装置43は、CPU
40から供給される符号化されたデータをCD原盤に記
録するようになされている。データが記録されたCD原
盤をマスタとしてスタンパ処理を施すことにより、CD
を作成することが可能となる。
【0032】次に、この実施の形態の動作について、図
4に示すフローチャートを参照して説明する。この処理
は、図3に示すメモリ41またはハードディスク装置4
2に格納されており、CPU40によって1処理単位ず
つ読み出され、実行される。
【0033】この処理が実行されると、CPU40は、
ステップS1において、ハードディスク装置42から符
号化しようとするピクセルデータを、1処理単位ずつ読
み出す。
【0034】なお、ピクセルデータは、隣接する複数の
画素を単位ピクセル(Pixel)とし、各ピクセルの表示
色に対応する参照値(インデックス)とされている。即
ち、図6に示すように、インデックス“0”のピクセル
は、R=30,G=92,B=240の3種類の信号か
らなる。また、同様に、インデックス“1”のピクセル
は、R=55,G=189,B=92の信号からなる。
【0035】図4に戻って、ピクセルデータの入力が終
了すると、ステップS2に進み、読み込まれたピクセル
データから参照テーブル(後述する)を作成し、メモリ
41に格納するとともに、CD作成装置43に出力し、
記録させる。
【0036】そして、ステップS3に進み、CPU40
は、ステップS2において作成された参照テーブルに基
づき、ピクセルデータを符号化する。そして、ステップ
S4に進み、CD作成装置43に符号化されたデータを
出力して記録させる。
【0037】図5は、図4に示すステップS2の処理の
詳細を示すフローチャートである。この処理が実行され
ると、CPU40は、ステップS20において、所定の
領域(例えば、1画面分)のピクセルデータ(1処理単
位分のデータ)をメモリ41から読み出す。
【0038】ステップS21では、例えば、水平走査方
向に隣接する2つのピクセルのインデックスの遷移の頻
度を測定し、遷移頻度テーブルを作成する。そして、ス
テップS22に進み、頻度が高い順に並び換え(ソー
ト)を行う。
【0039】図7は、ステップS22の処理の結果得ら
れる遷移頻度テーブルの一例を示している。この図の縦
方向は、直前のピクセルのインデックスを示しており、
また、横方向は、出現頻度の順番を示している。各ピク
セルは、0乃至15の何れかの値を取る。
【0040】例えば、この図において、前ピクセルのイ
ンデックスが“0”である場合に、最も出現確率が大き
い次のピクセルのインデックスは、“0”であり、その
次に出現確率が大きいのが“1”,“13”,“2”の
順である。
【0041】図8は、図7における各ピクセルの出現頻
度(%)を示している。例えば、前述のように、前ピク
セルが“0”である場合に、インデックスが“0”のピ
クセルの出現頻度は65%となっている。また、インデ
ックスが“1”のピクセルの出現頻度は17%となって
いる。
【0042】また、図の右端に示されているエントロピ
は、理想的なハフマンコーディングがなされた場合に必
要なビット数を示している。即ち、ハフマンコーディン
グでは、発生確率の高い符号(この例ではインデック
ス)に対しては短い伝送符号を、また、発生確率の低い
符号に対しては長い伝送符号を付与する。従って、ビッ
ト数が大きい程、エントロピが大きく、また、発生確率
が高いことを示している。このようなエントロピHは、
以下に示す式により求めることができる。
【0043】 H=Σp(x)log2{1/p(x)} ・・・
(1)
【0044】但し、p(x)は、符号xの発生確率であ
り、エントロピHの単位は、bit/sampleである。
【0045】なお、図7の例における全てのインデック
スのエントロピの相加平均は1.32である。
【0046】図5に戻って、ステップS23では、ステ
ップS22でソートされた遷移頻度テーブルのうち、上
位M種類が選択され、参照テーブルが作成される。図9
は、M=4に設定した場合に得られる参照テーブルを示
している。即ち、図7の左から4列分のデータが選択さ
れ、図9に示す参照テーブルが作成される。
【0047】ステップS24では、CPU40は、得ら
れた参照テーブルをメモリ41に出力するとともに、C
D作成装置43に出力し記録させる、そして処理を終了
する(エンド)。
【0048】参照テーブルが作成されると、CPU40
は、図4に示すステップS3以降の処理を実行し、ステ
ップS1の処理において読み出されたピクセルデータを
符号化してCD記録作成装置43に出力し、記録させ
る。
【0049】図11乃至図13は、図4のステップS3
のピクセルデータ符号化処理の詳細を説明するフローチ
ャートである。この処理は、参照テーブルが作成された
後に実行されるようになされている。なお、これらのフ
ローチャートの処理を説明する前に、図10を参照し
て、これらの動作の概略を説明する。
【0050】図10は、図11乃至図13のフローチャ
ートの動作の概略を説明するための図である。いま、仮
に、符号化前のピクセルのインデックスとして、X=
{6,5,8,9}が入力され、また、その場合の参照
テーブルは、図9に示すものであるとする。
【0051】前述のように、図9の参照テーブルの列方
向は、前のピクセルのインデックスを表し、また、行方
向は、出現頻度の順番を示している。また、参照テーブ
ルを2次元配列tblにより表すとすると、参照テーブ
ルの各要素tbl[p,j](0≦p≦15,0≦j≦
3)は、前ピクセルのインデックスがpであり、出現頻
度がj番目であるピクセルのインデックスを示してい
る。例えば、“6”,“5”と連続するインデックス
(前述のXの第0番目と第1番目の要素(4ビット))
を符号化することを考える。この場合、前ピクセルのイ
ンデックスを“6”とし、現ピクセルのインデックスを
“5”とすると、これは、tbl[6,3]=5に対応
している。従って、これら2つのインデックスを、この
ようなピクセルの遷移の順番を用いて“3”(2ビッ
ト)と表すことにする。
【0052】同様にして、Xの第1番目の要素“5”と
第2番目の要素“8”は、tbl[5,2]=8に対応
しており、従って、符号化値として“2”を得る。ま
た、第2番目の要素“8”と第3番目の要素“9”と
は、tbl[8,2]=9に対応しており、従って、符
号化値として、“2”を得る。
【0053】以上の操作により、符号化後のデータZ’
として、Z’={3,2,2}(2ビット)を得る。な
お、符号化されたデータを復号する際には、Xの第0番
目のデータ(=6)が必要となるので、この“6”(4
ビット)も、CD作成装置43に同時に記録する。
【0054】以上のようにして符号化されたデータを復
号化する場合は、Xの第0番目のインデックス“6”
と、Z’の第0番目のデータ“3”より、tbl[6,
3]=5として、第1番目のデータを復号化する。ま
た、第2番目のデータは、復号化された第0番目のデー
タ“5”と、Z’の第1番目のデータ“2”から、tb
l[5,2]=8を得る。更に、第3番目のデータも同
様にして、tbl[8,2]=9を得ることができる。
【0055】次に、図9に示す参照テーブルに掲載され
ていないインデックスが、符号化しようとするデータに
含まれている場合の動作について説明する。例えば、X
={2,3,5,8}の場合について考える。
【0056】この場合、第0番目のインデックス“2”
と第1番目のインデックス“3”は、tbl[2,1]
=3より、“1”として符号化することが可能である。
しかし、第1番目のインデックス“3”と第2番目のイ
ンデックス“5”は、図9の参照テーブル中には存在し
ない(図9の第3行目には“5”は存在しない)。
【0057】このような場合は、第1番目と第2番目の
インデックスのマッチング(一致)を断念して、第2番
目のインデックスの値を適宜変更し、変更された第2番
目のインデックスと第3番目のインデックスのマッチン
グを図る。
【0058】即ち、図10に示すように、第1番目のイ
ンデックスが“3”である場合、次に続くことができる
インデックスは、参照テーブルより、“3”,“2”,
“1”,“4”である。また、これらの次に続くことが
できる第3番目のインデックスは、参照テーブルから、
第2番目のインデックスが“3”である場合は、
“3”,“2”,“1”,“4”となる。また、第2番
目のインデックスが“2”である場合は、“2”,
“3”,“1”,“0”となる。以下、図10に示す通
りである。
【0059】ところで、Xの第3番目のインデックス
は、“8”である。図10に示す樹形図では、第2番目
のインデックスが“1”である場合と、“4”である場
合に、第3番目のインデックスのそれぞれ第1番目に
“8”が含まれている。従って、第2番目のインデック
スを、これらの何れかに置換することにより、第1番目
乃至第3番目の全てにおいてマッチングを図ることがで
きる。
【0060】しかしながら、第2番目のインデックスは
もともと“5”であることから、この値を“1”または
“4”に置換することにより、元のデータとの間に誤差
を生ずることになる。そこで、これらのインデックス
“1”、または、“4”のうち、誤差のより少ない方を
選択し、参照テーブルにより変換を行う。いま、仮に、
第2番目のインデックスとして、“1”を選択した場合
の方が誤差が少ないとすると、もともとのピクセルデー
タX={2,3,5,8}は、X’={2,3,1,
8}に変換される。そして、参照テーブルにより、変換
が施され、Z’={1,2,1}を得る。
【0061】なお、誤差の計算は、例えば、図6のカラ
ールックアップテーブルにおいて、置換後と置換前のイ
ンデックスに対応するR,G,Bそれぞれの信号の差の
2乗を加算した値を求め、この値がもっとも小さいくな
るインデックスを選択するようにすればよい。
【0062】次に、図11に示す処理について説明す
る。
【0063】この処理が実行されると、ステップS40
において、CPU40は、画像(画面)の垂直方向の座
標を示す変数pを値“0”に初期設定する。そして、ス
テップS41に進み、CPU40は、pの値が垂直方向
のピクセル数Hよりも小さいか否かを判定する。その結
果、pがHよりも小さい(YES)と判定した場合は、
ステップS42に進み、また、pがHよりも大きいかま
たは等しい(NO)と判定した場合は処理を終了する
(エンド)。
【0064】ステップS42では、CPU40は、符号
化後のピクセルのインデックスが格納される2次元配列
X’の第(p,0)番目に、符号化前のピクセルのイン
デックスが格納されている2次元配列Xの第(p,0)
番目の値を代入する。即ち、画面の水平方向の第0番目
のピクセルのインデックスは、初期値として符号化せず
に配列X’に格納する。
【0065】ステップS43では、画面の水平方向の座
標を示す変数qが値“1”に初期設定される。そして、
ステップS44に進み、qの値が画面の水平方向のピク
セル数Wよりも小さいか否かが判定される。その結果、
qの値がWの値よりも大きいか、これらが等しい(N
O)と判定された場合は、ステップS51に進み、変数
pの値が“1”だけインクリメントされた後、ステップ
S41に戻り、同様の処理が繰り返される。また、qの
値がWよりも小さい(YES)と判定された場合は、ス
テップS45に進む。
【0066】ステップS45では、探索の最大長が代入
される変数nestmaxと、探索の結果を示すフラグ
が代入される変数successがそれぞれ値“0”に
初期設定される。そして、ステップS46に進み、探索
長を格納する変数nestが値“−1”に初期設定され
る。そして、ステップS47に進み、図12に示すサブ
ルーチン(詳細は後述する)が呼び出されることにな
る。
【0067】ステップS47のサブルーチンの処理が終
了すると、ステップS48に進み,変数nestmax
の値が“1”だけインクリメントされる。そして、ステ
ップS49に進み、変数successの値が“1”よ
りも大きいか、または、等しいか否かが判定される。そ
の結果、変数successの値が“0”である(N
O)と判定された場合は、ステップS46に戻り同様の
処理が繰り返される。また、変数successの値が
“1”よりも大きいか、または、等しい(YES)と判
定された場合は、ステップS50に進む。
【0068】ステップS50では、変数qに変数nes
tmaxの値が加算された後、ステップS44に戻り同
様の処理が繰り返されることになる。
【0069】次に、図12に示すフローチャートについ
て説明する。
【0070】ステップS47において、図12のサブル
ーチンが呼び出されると、ステップS70において、変
数nestの値が“1”だけインクリメントされる。そ
して、ステップS71に進み、変数rに、水平方向のピ
クセルの現在の座標qと、探索長nsetを加算した値
が代入される。そして、ステップS72に進む。
【0071】ステップS72では、nestの値がne
stmaxの値よりも小さいか否かが判定される。その
結果、nestの値がnestmaxの値よりも小さい
(YES)と判定された場合は、ステップS74に進
み、また、nestの値がnestmaxの値よりも大
きいか、これらが等しい(NO)と判定された場合は、
ステップS79に進む。
【0072】ステップS74では、変数kが“0”に初
期設定される。そして、ステップS75に進み、変数k
の値がMの値(図5において、参照テーブルを作成する
際に選択されたデータの種類)よりも小さいか否かが判
定される。その結果、変数kの値がMの値よりも小さい
(YES)と判定された場合は、ステップS76に進
み、また、変数kの値がMの値よりも大きいか、これら
が等しい(NO)と判定された場合は、ステップS93
に進む。
【0073】ステップS76では、図9に示す参照テー
ブルが格納されている2次元配列tblの第(X’
[p,r−1],k)番目の要素が、符号化後のピクセ
ルのインデックスが格納される配列X’の第(p,r)
番目に代入される。また、符号化値が格納される2次元
配列Zの第(p,r)番目に変数kの値が格納される。
そして、ステップS77に進む。
【0074】なお、図12に示すサブルーチンは再帰構
造となっているので、ステップS77により呼び出され
る処理は、図12に示す処理自体となる。即ち、ステッ
プS77の処理が実行されると、ステップS70の処理
に戻り、同様の処理が繰り返されることになる。この部
分の詳細な説明については、後述する。
【0075】ステップS77の処理が終了すると、ステ
ップS78に進み、変数kの値が“1”だけインクリメ
ントされ、ステップS75に戻り同様の処理が繰り返さ
れる。そして、変数kの値がMと等しくなった時点で、
ステップS93に進むことになる。
【0076】また、ステップS72において、変数ne
stの値が変数nestmaxの値よりも大きいか、こ
れらが等しい(NO)と判定された場合は、ステップS
79に進む。ステップS79では、変数kが“0”に初
期設定される。そして、ステップS80に進み、変数k
の値がMの値よりも小さいか否かが判定される。その結
果、変数kの値がMの値よりも大きいか、これらが等し
い(NO)と判定された場合は、ステップS93に進
む。また、変数kの値がMの値よりも小さい(YES)
と判定された場合は、ステップS81に進む。
【0077】ステップS81では、図9に示す参照テー
ブルが格納されている2次元配列tblの第(X’
[p,r−1],k)番目の要素と、符号化前のピクセ
ルのインデックスが格納されている2次元配列Xの第
(p,r)番目の要素が等しい(1)か、または、変数
rの値がwの値と等しい(2)か否かが判定される。そ
の結果、これら(1),(2)の少なくとも1つが満足
される(YES)と判定された場合は、ステップS83
に進み、また、何れも満足されない(NO)と判定され
た場合は、ステップS82に進む。ステップS82で
は、変数kの値が“1”だけインクリメントされ、ステ
ップS80に戻り同様の処理が繰り返されることにな
る。
【0078】ステップS81においてYESと判定され
た場合は、ステップS83に進む。ステップS83で
は、変数successの値が“1”だけインクリメン
トされ、ステップS84に進む。ステップS84の処理
はサブルーチンとなっており、この処理については後述
する。
【0079】ステップS84の処理が終了すると、ステ
ップS85に進む。ステップS85では、変数errに
格納されている誤差積算値が、変数errminに格納
されている誤差積算値の最小値よりも小さい(1)か、
または、変数successの値が“1”である(2)
か否かが判定される。その結果、これら(1),(2)
の少なくとも1つが満足されている(YES)と判定さ
れた場合は、ステップS86に進み、また、何れも満足
されない(NO)と判定された場合は、ステップS93
に進む。
【0080】ステップS86では、変数errの値が変
数errminに代入される。即ち、現在までの誤差積
算値の最小値が変数errの値によって更新される。
【0081】ステップS87では、2次元配列Zの第
(p,r)番目に変数kの値が格納され、ステップS8
8に進む。ステップS88では、配列Xの第(p,r)
番目の要素が配列X’の第(p,r)番目に代入され
る。そして、ステップS89に進み、変数jに変数qの
値が代入される。
【0082】ステップS90では、変数jの値が変数r
の値よりも小さいか、または、これらが等しいか否かが
判定される。その結果、変数jの値が変数rの値よりも
大きい(NO)と判定された場合は、ステップS93に
進む。また、変数jの値が変数rの値よりも小さいか、
これらが等しい(YES)と判定された場合は、ステッ
プS91に進む。
【0083】ステップS91では、配列Zの第(p,
j)番目の要素が、配列Z’の第(p,j)番目に代入
される。そして、ステップS92に進み、変数jの値が
“1”だけインクリメントされ、ステップS90に戻り
同様の処理が繰り返されることになる。そして、変数j
の値が変数rの値よりも大きくなった時点でステップS
93に進む。
【0084】ステップS93では、変数nestの値が
“1”だけディクリメントされ、元の処理に復帰(リタ
ーン)する。即ち、ステップS77の処理から呼び出さ
れた(コールされた)場合には、ステップS78の処理
に復帰する。また、図11のステップS47の処理から
呼び出された場合は、ステップS48の処理に復帰する
ことになる。
【0085】図13は、図12のステップS84に示す
サブルーチン(ERROR)の処理の詳細を説明するフ
ローチャートである。この処理が実行されると、ステッ
プS100において、誤差積算値が格納される変数er
rが“0”に初期設定される。そして、ステップS10
1に進み、変数rに変数qの値が代入され、ステップS
102に進む。
【0086】ステップS102では、変数rの値が(q
+nestmax)の値よりも小さいか否かが判定され
る。その結果、変数rの値が(q+nestmax)の
値よりも小さい(YES)と判定された場合は、ステッ
プS103の処理に進む。
【0087】ステップS103の処理では、変数err
の現在の値に、{R(X’[p,r])−R(X[p,
r])}2の値が加算される。即ち、配列XとX’によ
って指定される、カラールックアップテーブル(後述す
る)の赤信号のレベル差(誤差)の2乗の値が、変数e
rrに加算される。
【0088】ステップS104の処理では、変数err
の現在の値に、{G(X’[p,r])−G(X[p,
r])}2の値が加算される。即ち、配列XとX’によ
って指定される、カラールックアップテーブルの緑信号
のレベル差(誤差)の2乗の値が、変数errに加算さ
れる。
【0089】ステップS105の処理では、変数err
の現在の値に、{B(X’[p,r])−B(X[p,
r])}2の値が加算される。即ち、配列XとX’によ
って指定される、カラールックアップテーブルの青信号
のレベル差(誤差)の2乗の値が、変数errに加算さ
れる。
【0090】そして、ステップS106に進み、変数r
の値が“1”だけインクリメントされ、ステップS10
2に戻り同様の処理が繰り返されることになる。そし
て、変数rの値と(q+nestmax)の値が等しく
なった時点で、元の処理に復帰(リターン)することに
なる。
【0091】次に、以上のフローチャートの動作を具体
的に説明する。
【0092】いま、ピクセルデータとして、X[0,
i]={2,3,5,8}(i=0,1,2,3)が読
み込まれたとする(H=1,W=4)。また、このと
き、これらのデータに対する参照テーブが図9に示すも
のである場合について考える。なお、このときの処理
は、前述の場合と同様であるので、図10の樹形図を適
宜参照しながら説明する。
【0093】以上のような状況において、図11に示す
処理が実行されると、ステップS40において、画面の
垂直方向の座標を示す変数pが“0”に初期設定され
る。そして、ステップS41に進み、変数pの値が水平
方向のピクセル数H(=1)よりも小さいか否かが判定
される。いま、p=0であるので、YESと判定され、
ステップS42に進む。
【0094】ステップS42では、配列X’の第(p,
0)番目に、配列Xの第(p,0)番目の値が代入され
る。即ち、いま、p=0であることから、配列X’の第
(0,0)番目に、インデックス“2”が格納されるこ
とになる。
【0095】ステップS43では、画面の水平方向の座
標を示す変数qに値“1”が代入され、ステップS44
に進む。
【0096】ステップS44では、変数qの値が水平方
向のピクセル数W(=4)よりも小さいか否かが判定さ
れる。いま、q=1であるので、YESと判定され、ス
テップS45に進む。
【0097】ステップS45では、変数nestmax
と変数successが“0”に初期設定される。そし
て、ステップS46においては、変数nestが“−
1”に初期設定される。
【0098】そして、ステップS47に進み、図12に
示すサブルーチンが呼び出されることになる。
【0099】図12に示すサブルーチンが呼び出される
と、ステップS70において、変数nestの値が
“1”だけインクリメントされる。そして、ステップS
71において、変数rに値(q+nest)が代入され
る。いま、nest=−1であるから、ステップS70
の処理により、nest=0(−1+1)となり、ま
た、q=1であるので、ステップS71の処理によりr
=1(=1+0)となる。
【0100】ステップS72では、nest=0,ne
stmax=0であるので、NOと判定され、ステップ
S79に進む。
【0101】ステップS79では、変数kが“0”に初
期設定される。ステップS80では、変数kの値がM
(図5において、参照テーブルを作成する際に選択され
たデータの種類)の値よりも小さいか否かが判定され
る。いま、k=0であり、また、M=4であるので、Y
ESと判定され、ステップS81に進む。
【0102】ステップS81では、図9に示す参照テー
ブルが格納されている2次元配列tblの第(X’
[p,r−1],k)番目の要素が、符号化前のピクセ
ルのインデックスが格納されている2次元配列Xの第
(p,r)番目の要素と等しいか否かが判定される。い
ま、p=0,r=1であるので、配列tblの第(X’
[0,0],0)番目の要素と、配列Xの第(0,1)
番目の要素が比較される。
【0103】配列X’の第(0,0)番目には、図11
のステップS42において、配列Xの第(0,0)番目
の要素“2”が代入されているので、X’[0,0]=
2となり、配列tblの第(2,0)番目(図9の第2
行目の第0列め)の要素は、“2”となる。また、配列
Xの第(0,1)番目の要素は、“3”である。従っ
て、これらは等しくない(NO)と判定され、ステップ
S82に進み、変数kの値が“1”だけインクリメント
され、ステップS80に戻る。
【0104】いま、k=1であるので、ステップS80
では、YESと判定され、ステップS81に進む。ステ
ップS81では、k=1であることから、配列tblの
第(2,1)番目(図9の第2行目の第1列目)の要素
は、“3”となり、配列Xの第(0,1)番目の要素
“3”と等しい(YES)と判定され、ステップS83
に進む。
【0105】ステップS83では、変数success
の値が“1”だけインクリメントされ、success
=1とされた後、ステップS84に進み、図13のサブ
ルーチンが呼び出される。
【0106】図13のサブルーチンのステップS100
では、変数errが“0”に初期設定される。そして、
ステップS101では、変数rにqの値が代入される。
いま、q=1であるので、r=1となる。
【0107】次に、ステップS102では、変数rの値
が(q+nestmax)の値よりも大きいか否かが判
定される。いま、r=1であり、また、q=1,nes
tmax=0であるので、ステップS102では、NO
と判定され、図12のステップS85に復帰する。
【0108】ステップS85では、変数errの値が変
数errminの値よりも小さいか、または、変数su
ccessの値が“1”であるか否かが判定される。い
ま、success=1であるので、ステップS85で
はYESと判定され、ステップS86に進む。
【0109】ステップS86では、変数errの値(=
0)が変数errminに代入される。そして、ステッ
プS87に進み、変数kの値が2次元配列Zの第(p,
r)番目に代入される。即ち、Z[0,1]=1とされ
る。そして、ステップS88に進み、配列Xの第(p,
r)番目の要素が配列X’の第(p,r)番目に代入さ
れる。いま、p=0,r=1であるので、配列Xの第
(0,1)番目の要素“3”が、配列X’の第(0,
1)番目に代入されることになる。
【0110】続くステップS89では、変数q(=1)
の値が変数jに代入され、ステップS90に進む。
【0111】ステップS90では、変数jの値が変数r
の値よりも小さいか、または等しいか否かが判定され
る。いま、j=1であり、r=1であるので、YESと
判定され、ステップS91に進む。
【0112】ステップS91では、配列Zの第(p,
j)番目の要素が配列Z’の第(p,j)番目に代入さ
れる。即ち、いま、j=1,p=0であるので、配列
Z’の第(0,1)番目の要素“1”が配列Z’の第
(0,1)番目に代入されることになる。
【0113】そして、ステップS92に進み、変数jの
値が“1”だけインクリメントされてj=2とされた
後、ステップS90に戻る。ステップS90では、j=
2であり、また、r=1であるので、NOと判定され、
ステップS93に進む。
【0114】ステップS93では、変数nestの値が
“1”だけディクリメントされ、元の処理(図11のス
テップS48)に復帰(リターン)する。
【0115】ステップS48では、変数nestmax
の値が“1”だけインクリメントされ、ステップS49
に進む。ステップS49では、変数successの値
が“1”以上であるか否かが判定される。いま、図12
のステップS83の処理において、success=1
とされているので、YESと判定され、ステップS50
に進む。
【0116】ステップS50では、変数qに変数nes
tmaxの値が加算され、q=2とされ、ステップS4
4に戻る。
【0117】ステップS44では、q<W(=4)であ
ることからYESと判定され、ステップS45に進む。
そして、変数nestmaxと変数successの値
がそれぞれ“0”に再度初期設定される。
【0118】ステップS46では、変数nestが“−
1”に初期設定され、ステップS47に進み、サブルー
チンが再度呼び出される。
【0119】図12のステップS70では、変数nes
tの値が“1”だけインクリメントされ、nest=0
とされる。また、ステップS71では、変数rに(q+
nest)の値(=2)が代入され、ステップS72に
進む。
【0120】ステップS72では、nest=0,ne
stmax=0であることから、NOと判定され、ステ
ップS79に進み、変数kの値が“0”に初期設定され
た後、ステップS80に進む。
【0121】ステップS80では、変数kの値が変数M
の値よりも小さいか否かが判定される。いま、k=0で
あり、また、M=4であるので、YESと判定され、ス
テップS81に進む。
【0122】ステップS81では、前述のように、図9
に示す参照テーブルが格納されている配列tblの第
(X’[p,r−1],k)番目の要素と、符号化前の
ピクセルのインデックスが格納される配列Xの第(p,
r)番目の要素が等しいか、または、変数rの値が画面
の水平方向のピクセル数Wの値と等しいか否かが判定さ
れる。いま、p=0,r=2,k=0であるから、配列
tblの第(X’[0,1],0)番目の要素と配列X
の第(0,2)番目の要素が比較される。
【0123】配列X’の第(0,1)番目の要素は、ス
テップS88の処理において、値“3”が代入されてい
るので、X’[0,1]=3である。従って、tbl
[3,0]=3となり、また、配列Xの第(0,2)番
目の要素は“5”であるので、tbl(X’[p,r−
1],k)≠X[p,r]となる。更に、r≠Wである
ので、ステップS81では、NOと判定され、ステップ
S82に進む。
【0124】図12に戻って、ステップS82では、変
数kの値が“1”だけインクリメントされ、ステップS
80に戻る。
【0125】ステップS80では、k=1であるので、
NOと判定され、ステップS81に進む。ステップS8
1では、配列tblの第(X’[0,1],1)番目の
要素“2”(図9の第3行目の第1列目の要素)と、配
列Xの第(0,2)番目の要素“5”が比較される。そ
の結果、NOと判定され、ステップS82に進む。
【0126】第2回目と第3回目の処理(k=2,3)
では、図9に示す配列tblの第3行目の第2列目の要
素(=1)と第3列目の要素(=4)と、配列Xの第
(0,2)番目の要素(=5)がそれぞれ比較される。
そして、双方ともにNOと判定され、第4回目の処理に
おいて、ステップS80でNOと判定され、ステップS
93に進む。そして、ステップS93において、変数n
estの値が“1”だけディクリメントされ、図11の
ステップS48に復帰(リターン)する。
【0127】即ち、第1番目と第2番目のピクセルの遷
移パターンは、参照テーブルに含まれていないと判定さ
れたので、その場合、第1番目のピクセルの後に継続可
能なピクセルのインデックスを参照テーブルより見つけ
だし(この場合“3”,“2”,“1”,“4”が継続
可能)、更にその次(第3番目)に継続可能なピクセル
のインデックスを同様に参照テーブルより見つけだすこ
とにより作成される樹形図(図10参照)の各パスのう
ちで最適なパスを以降の処理により選択する。
【0128】ステップS48では、変数nestmax
の値が“1”だけインクリメントされてnestmax
=1とされ、ステップS49に進む。ステップS49で
は、success=0であるので、NOと判定され、
ステップS46に戻る。
【0129】ステップS46では、変数nestの値が
“−1”に再設定され、ステップS47においてサブル
ーチンが呼び出される。
【0130】図12のステップS70では、変数nes
tの値が“1”だけインクリメントされてnest=0
とされる。ステップS71では、変数rに(q+nes
t)の値(=2)が代入される。
【0131】ステップS72では、変数nestの値が
変数nestmaxの値よりも小さいか否かが判定さ
れ、いま、nest=0,nestmax=1であるの
で、YESと判定され、ステップS74に進む。
【0132】ステップS74では、変数kの値が“0”
に初期設定され、ステップS75に進み、変数kの値が
Mの値(図5において、参照テーブルを作成する際に選
択されたデータの種類)よりも小さいか否かが判定され
る。いま、k=0,M=4であるので、YESと判定さ
れ、ステップS76に進む。
【0133】ステップS76では、配列tblの第
(X’[p,r−1],k)番目の要素が配列X’の第
(p,r)番目に代入されるとともに、変数kの値が配
列Zの第(p,r)番目に格納される。即ち、いま、p
=0,r=2であるので、X’[p,r−1]=3であ
り、また、k=0であるので、tbl[3,0]の要素
“3”が配列X’の第(0,2)番目に代入されるとと
もに、配列Zの第(0,2)番目に値“0”が代入され
る。即ち、図10の樹形図において、第2番目のピクセ
ルのインデックスとして“3”が選択される。そして、
ステップS77に進む。
【0134】ステップS77では、サブルーチンが呼び
出される。前述のように、ステップS77のサブルーチ
ンコールの結果、図12に示すサブルーチン自体が呼び
出されることになるので、ステップS70の処理が実行
される。
【0135】ステップS70では、変数nestの値が
“1”だけインクリメントされ、nest=1とされ、
ステップS71に進む。ステップS71では、変数rに
(q+nest)の値(=3)が代入される。
【0136】続くステップS72では、変数nestの
値と、変数nestmaxの値が共に“1”であること
から、NOと判定され、ステップS79に進む。
【0137】ステップS79では、変数kの値が“0”
に初期設定され、ステップS80に進む。ステップS8
0では、M=4であることからYESと判定され、ステ
ップS81に進む。
【0138】ステップS81では、配列tblの第
(X’[p,r−1],k)番目の要素と、配列Xの第
(p,r)番目の要素が等しいか、または、変数rとW
の値が等しいか否かが判定される。いま、p=0,r=
3,k=0であることから、X’[p,r−1]=X’
[0,2]=3(ステップS76において代入された
値)となるので、tbl(X’[p,r−1],k)=
tbl[3,0]=3(図9の第3行目の第0列目の要
素)となる。また、X[p,r]=X[0,3]=8で
あるので、ステップS81では、NOと判定され、ステ
ップS82に進む。
【0139】即ち、図10の第2番目のピクセルのイン
デックスが“3”である場合であって、第3番目のピク
セルのインデックスが“3”である場合に、この第3番
目のインデックス“3”は、符号化前のデータ“8”と
は一致しないのでNOと判定される。
【0140】ステップS82では、変数kの値が“1”
だけインクリメントされてk=1とされ、ステップS8
0に戻る。ステップS80では、M=4であることから
YESと判定され、ステップS81に進む。
【0141】ステップS81では、前述の場合と同様
に、配列tblの第(3,1)番目の要素“2”(図1
0の第2番目のインデックスが“3”であり、第3番目
のインデックスが“2”である場合)と、配列Xの第
(0,3)番目の要素“8”とが比較され、その結果、
NOと判定され、ステップS82に進む。
【0142】同様の処理は、配列tblの第(3,2)
番目の要素“1”と第(3,3)番目の要素“4”につ
いても実行される。しかしながら、これらの何れの場合
においてもNO(配列Xの第(0,3)番目の要素
“8”とは異なる)と判定され、第5回目のループ(k
=4)のステップS80でNOと判定され、ステップS
93に進む。そして、変数nestの値が“1”だけデ
ィクリメントされてnest=0とされた後、元の処理
(ステップS78)に復帰(リターン)する。
【0143】即ち、第2番目のインデックスが“3”で
ある場合には、第3番目のインデックスとして“8”
(符号化前のピクセルデータのインデックス)は継続し
ない(NO)と判定される。
【0144】ステップS78では、変数kの値が“1”
だけインクリメントされてk=1とされ、ステップS7
5に戻る。ステップS75では、YESと判定されるの
で、ステップS76に進む。ステップS76では、配列
tblの第(X’[p,r−1],k)番目の要素が配
列X’の第(p,r)番目に代入される。即ち、いま、
p=0,r=2,k=1であるので、tbl(X’
[p,r−1],k)=tbl[3,1]=2となり、
この値“2”が配列X’の第(0,2)番目に代入され
ることになる。また、配列Zの第(0,2)番目に
“1”が代入される。そして、ステップS77に進み、
サブルーチンが呼び出される(ステップS70の処理が
実行される)。
【0145】即ち、これ以降の処理においては、第2番
目のインデックスが“2”である場合(図10参照)に
ついて処理が行われることになる。
【0146】ステップS70では、変数nestの値が
“1”だけインクリメントされ、nest=1とされ、
ステップS71において、変数rに(q+nest)の
値(=3)が代入される。
【0147】続くステップS72では、nest=1,
nestmax=1であることからNOと判定され、ス
テップS79に進み、変数kの値が“0”に初期設定さ
れる。そして、ステップS80に進む。
【0148】ステップS80では、k=0であるのでY
ES(0<4)と判定され、ステップS81に進む。ス
テップS81では、配列tblの第(X’[p,r−
1],k)の要素と、配列Xの第(p,r)番目の要素
が等しいか、または、変数rの値とWとが等しいか否か
が判定される。いま、p=0,r=3,k=0であるの
で、X’[p,r−1]=2(ステップS76において
代入された値)である。従って、tbl(X’[p,r
−1],k)=2となり、また、X[p,r]=8であ
るので、ステップS81では、NOと判定され、ステッ
プS82に進む。
【0149】即ち、第2番目のインデックスが“2”で
ある場合の、第3番目のインデックスの第0番目の値は
“2”であるので、符号化前のデータ“8”と一致しな
い(NO)と判定される。
【0150】続いて、k=1,2,3の処理では、tb
l(X’[p,r−1],k)の値は、“3”,
“1”,“0”(図10の第2番目のインデックスが
“2”である場合の第3番目のインデックスの第1乃至
第3番目の値)となる。前述のように、X[p,r]=
8であるので、何れの処理においてもNOと判定され
る。従って、第4回目(k=4)のステップS80にお
いてNOと判定され、ステップS93進む。そして、変
数nestの値が“1”だけディクリメントされてne
st=0とされ、ステップS78の処理に復帰(リター
ン)する。
【0151】ステップS78では、変数kの値が“1”
だけインクリメントされてk=2とされ、ステップS7
5に戻り、YESと判定され、ステップS76に進む。
そして、前述の場合と同様の処理が実行され、配列X’
の第(0,2)番目に、配列tblの第(3,2)番目
の要素“1”が代入されるとともに、配列Zの第(0,
2)番目に値“2”が代入され、ステップS77におい
て、サブルーチンが呼び出される。
【0152】即ち、第2番目のインデックスの値が
“1”とされ、サブルーチンが呼び出されることにな
る。
【0153】それ以降の処理は、前述の場合と同様であ
る。即ち、ステップS70の処理によりnest=1と
され、また、ステップS71の処理により、変数rに
(q+nest)の値(=3)が代入された後、ステッ
プS72において、NOと判定され、ステップS79に
進む。
【0154】そして、第0回目(k=0)の処理では、
配列tblの第(X’[p,r−1],k)番目の要素
と、配列Xの第(p,r)番目の要素が等しいか、また
は、変数rの値とWの値が等しいか否かが判定される。
いま、p=0,r=3,k=0であるので、X’[p,
r−1]=1(ステップS76で代入された値)とな
る。従って、tbl(X’[p,r−1],k)=1と
なり、また、X[p,r]=8であることからNOと判
定される。
【0155】次に、第1回目(k=1)の処理では、t
bl(X’[p,r−1],k)=8となるので、ステ
ップS81においてYESと判定される。即ち、図10
の第2番目のインデックスが“1”であり、第3番目の
インデックスの第2番目は、“8”であるので、YES
と判定され、ステップS83に進む。そして、変数su
ccessの値が“1”だけインクリメントされた後、
ステップS85に進み、図13に示すサブルーチンがコ
ールされることになる。
【0156】図13のステップS100では、変数er
rが“0”に初期設定され、続くステップS101で
は、変数rに変数qの値(=2)が代入される。そし
て、ステップS102に進む。
【0157】ステップS102では、変数rの値が(q
+nestmax)の値よりも小さいか否かが判定され
る。いま、r=2であり、また、(q+nestma
x)=3であるので、YESと判定され、ステップS1
03に進む。
【0158】ステップS103乃至ステップS105で
は、第2番目のインデックスを変更した(この場合、
“5”から“1”に変更した)ことに伴い発生する、
R,G,Bそれぞれの信号の誤差が計算され、変数er
rに代入される。
【0159】即ち、配列X={2,3,5,8}であ
り、いま、第1番目の要素“3”と第2番目の要素
“5”の遷移は、図9に示す遷移テーブルには存在しな
い(tblの第3行目には要素“5”が存在しない)の
で、第1番目と第2番目の要素との間でのマッチングを
断念し、第2番目の要素と第3番目の要素との間でマッ
チングを図るために、配列X’の第2番目に、“3”,
“2”,“1”,“4”をステップS76においてそれ
ぞれ代入し、ステップS81の処理において、配列X’
の第2番目の要素と、配列Xの第3番目の要素(=8)
との間でマッチングを図る(パスを検索する)。
【0160】その結果マッチングが得られたパスに対し
て誤差を計算する。即ち、第2番目の要素は、元の要素
(=5)とは異なるので、新たな第2番目の要素を図6
に示すカラールックアップテーブルに代入した場合、元
のR,G,Bそれぞれの信号との間の誤差が生ずること
になるので、これら各々の誤差の2乗の和をerrとし
て計算する。そして、マッチングが得られたパスの内、
誤差が最小となるパスが選択されることになる。
【0161】ステップS103では、変数errに{R
(X’[p,r])−R(X[p,r])}2の値が加
算される。同様に、ステップS104では、変数err
に{G(X’[p,r])−G(X[p,r])}2の
値が加算され、また、ステップS105では、変数er
rに{B(X’[p,r])−B(X[p,r])}2
の値が加算される。
【0162】そして、ステップS106に進み、変数r
の値が“1”だけインクリメントされた後、ステップS
102に戻る。ステップS102では、変数rの値が
(q+nestmax)の値よりも小さいか否かが判定
される。いま、r=3,q=2,nestmax=1で
あるので、NOと判定され、ステップS85の処理に復
帰(リターン)することになる。
【0163】ステップS85では、変数errの値が変
数errminの値よりも小さいか、または、変数su
ccessの値が“1”であるか否かが判定される。い
ま、ステップS83において、success=1とさ
れているので、YESと判定され、ステップS86に進
む。そして、変数errminに変数errの値が代入
される。いまの場合、配列X’の第2番目の要素を
“5”から“1”に変更したために生ずる誤差が変数e
rrminに代入されることになる。
【0164】続くステップS87において、配列Zの第
(0,3)番目に変数kの値(=1)が代入され、更
に、ステップS88において、配列Xの第(0,2)番
目の要素“8”が、配列X’の第(0,2)番目に代入
される。そして、ステップS89に進み、変数jに変数
qの値が代入される。いま、q=2であるので、j=2
とされ、ステップS90に進む。
【0165】ステップS90では、変数jの値が変数r
の値以下であるか否かが判定される。いま、r=3であ
るので、YESと判定され、ステップS91に進む。ス
テップS91では、配列Zの第(p,j)番目の要素
が、配列Z’の第(p,j)番目に代入される。即ち、
Z[0,2]=2が、配列Z’の第(0,2)番目に代
入される。
【0166】そして、ステップS92に進み、変数jの
値が“1”だけインクリメントされてj=3とされた
後、ステップS90に戻る。ステップS90では、YE
S(3≦3)と判定され、ステップS91に進む。
【0167】ステップS91では、Z[0,3]=1
が、配列Z’の第(0,3)番目に代入された後、ステ
ップS92に進み、変数jの値が“1”だけインクリメ
ントされた後、ステップS90に戻り、NOと判定され
てステップS93に進む。
【0168】ステップS93では、変数nestの値が
“1”だけディクリメントされてnest=0とされ、
ステップS78の処理に復帰(リターン)する。
【0169】ステップS78では、変数kの値が“1”
だけインクリメントされてk=3とされ、ステップS7
5の処理に戻る。ステップS75では、YES(3<
4)と判定され、ステップS76に進む。
【0170】ステップS76では、配列tblの第
(X’[p,r−1],k)番目の要素が配列X’の第
(p,r)番目に代入される。即ち、いま、p=0,r
=3,k=3,r=2であるので、tbl(X’[p,
r−1],k)=4となり、この値“4”が配列X’の
第(0,2)番目に代入される。また、配列Zの第
(0,2)番目に値“3”が代入される。そして、ステ
ップS77に進み、サブルーチンがコールされる(ステ
ップS70の処理が実行される)。
【0171】即ち、図10において、第2番目のインデ
ックスの値が“4”である場合に対して処理が実行され
る。
【0172】ステップS70以降は、前述の場合と同様
の処理が実行される。いま、配列tblの第(4,1)
番目の要素(図9の第5行目の第2列目)は、“8”で
あるので、1回目(k=1)のループのステップS81
において、YESと判定され、ステップS83に進む。
【0173】即ち、図10において、第2番目のインデ
ックスが“4”である場合に、第3番目のインデックス
の第1番目は“8”であるのでYESと判定される。
【0174】ステップS83では、変数success
の値が“1”だけインクリメントされ、ステップS84
に進む。
【0175】ステップS84では、図13に示すサブル
ーチンが呼び出され、前述の場合と同様に、第2番目の
インデックスを“5”から“4”に変更したことにより
生ずる誤差が計算され、変数errに代入されて復帰
(リターン)する。
【0176】ステップS85では、変数errの値がe
rrminの値よりも小さいか、または、変数succ
essの値が“1”であるか否かが判定される。いま、
仮に、err>errminであるとする。即ち、図1
0において、第2番目のインデックスが“1”である場
合のパスの方が第2番目のインデックスが“4”である
場合のパスよりも誤差が小さいとすると、succes
s=2であるので、ステップS85では、NOと判定さ
れ、ステップS93に進む。そして、変数nestの値
が“1”だけディクリメントされた後、ステップS78
の処理に復帰(リターン)する。
【0177】ステップS78では、変数kの値が“1”
だけインクリメントされてk=4とされ、ステップS7
5に戻る。ステップS75では、NOと判定されるの
で、ステップS93に進み、変数nestの値が“1”
だけディクリメントされた後、図11のステップS48
に復帰(リターン)する。
【0178】ステップS48では、変数nestmax
の値が“1”だけインクリメントされた後、ステップS
49に進む。ステップS49では、success=2
であることからYESと判定され、ステップS50に進
む。そして、変数qにnestmaxの値が加算されて
q=4とされ、ステップS44の処理に戻る。
【0179】いま、仮に、画面の水平方向のピクセル数
W=4であり、また、画面の垂直方向のピクセル数H=
1であるので、ステップS44では、NOと判定され、
ステップS51の処理に分岐する。
【0180】ステップS51では、変数pの値が“1”
だけインクリメントされ、ステップS41に戻る。い
ま、p=1であり、また、H=1であるので、ステップ
S41では、NOと判定され、処理を終了する(エン
ド)。
【0181】以上の処理によれば、符号化前のピクセル
のインデックス(4ビット)として、X={2,3,
5,8}が入力された場合、符号化後のピクセルのイン
デックス(4ビット)は、X’={2,3,1,8}と
なる。また、符号化後のデータZ’(2ビット)は、
Z’={1,2,1}となる。
【0182】従って、以上の実施の形態によれば、入力
されたピクセルデータを、隣接するピクセルの遷移の出
現頻度が大きい順にリストアップされた参照テーブルを
参照することにより、効率よく圧縮処理することが可能
となる。
【0183】図14は、図1に示すGPU5の詳細な構
成の一例を示している。
【0184】この図において、テーブル50(参照テー
ブル記憶手段、入力手段、復号化手段)は、入力される
ピクセルデータに対応する参照テーブル(図9参照)が
格納されており、符号化された2ビットのデータ(以
下、符号化データと略記する)の入力を受け、対応する
4ビットのピクセルデータ(元のデータ)を出力するよ
うになされている。遅延回路(D)51(復号化手段)
は、テーブル50から出力された4ビットのデータを、
1データ分だけ遅延し、テーブル50に供給するように
なされている。スイッチ52は、GPU5に入力された
ピクセルデータが第0番目(最初)のデータ(4ビッ
ト)である場合は、スイッチをexceptionalpass側に切
り換え、このデータをカラールックアップテーブル53
(カラールックアップテーブル記憶手段、変換手段)に
供給する。また、それ以外のデータ(2ビット)が入力
された場合は、スイッチ52の接続がテーブル50側に
変更され、テーブル50から出力される、復号化処理が
施されたデータがカラールックアップテーブル53に出
力されるようになされている。
【0185】カラールックアップテーブル53は、図6
に示すカラールックアップテーブルが格納されており、
スイッチ52を介して供給された復号化処理が施された
データを入力し、そのデータに対応するR,G,Bの画
像信号をそれぞれ出力する。
【0186】画像の符号化処理は、例えば、画面の特定
の領域(例えば、類似した画像のパターンよりなる領
域)を1処理単位として実行されるので、参照テーブル
とカラールックアップテーブルは、処理単位毎に作成さ
れる。従って、これら2つのテーブルのデータは、新た
な処理単位のデータが入力される直前に読み出され、テ
ーブル50と、カラールックアップテーブル53にそれ
ぞれ格納される。
【0187】次に、以上の実施の形態の動作について説
明する。
【0188】図1に示すCPU1は、CD−ROMドラ
イブ4に制御信号を送り、図示せぬCD−ROMに記録
されている、参照テーブルのデータと、カラールックア
ップテーブルのデータを読み出し、GPU5に供給す
る。GPU5は、これらのデータを入力し、参照テーブ
ルのデータは、テーブル50に、また、カラールックア
ップテーブルのデータは、カラールックアップテーブル
53にそれぞれ格納する。
【0189】それぞれのテーブルへのデータの格納が終
了すると、CPU1は、CD−ROMドライブ4に対し
て、制御信号を送り、ピクセルデータ(2ビット)読み
出させ、GPU5に供給させる。
【0190】第0番目(最初)のピクセルデータ(4ビ
ット)が入力されると、GPU5のスイッチ52がexce
ptional pass側に切り換えられ、入力されたデータは、
カラールックアップテーブル53に供給されると同時
に、遅延回路51に供給される。
【0191】次に、第1番目の符号化データ(2ビッ
ト)が入力されると、このデータはテーブル50に供給
される。このとき、遅延回路51からは、第0番目のデ
ータが出力されるので、テーブル50は、入力された第
1番目のデータと、遅延回路51から出力されたデータ
より、元のピクセルデータ(4ビット)を復号し、出力
する。
【0192】いま、スイッチ52は、テーブル50側に
接続されているので、テーブル50から出力されたデー
タは、遅延回路51とカラールックアップテーブル53
に出力される。カラールックアップテーブル53は、入
力されたデータに対応する大きさのR,G,B信号をそ
れぞれ出力する。
【0193】第2番目以降の符号化データに対しても同
様の処理が繰り返され、復号化されたR,G,B信号が
逐次出力されていく。このような処理は、1処理単位が
終了するまで繰り返される。そして、次の処理単位が復
号化される場合には、CD−ROMドライブ4から、新
たな参照テーブルとカラールックアップテーブルのデー
タが読み出され、カラールックアップテーブル53とテ
ーブル50にそれぞれ格納された後に、復号化処理が実
行される。
【0194】以上の実施の形態によれば、ピクセルデー
タの遷移情報と、既に復号化された隣接ピクセルの情報
を用いることにより、画像情報を効率よく圧縮すること
が可能となるとともに、表現可能な色の種類を増加させ
ることが可能となる。
【0195】図15は、本発明の他の実施の形態の構成
の一例を示すブロック図である。
【0196】この図において、図14と同一の部分には
同一の符号を付してあるので、その説明は省略する。こ
の図においては、2つの遅延回路51−1と遅延回路5
1−2が具備されており、それぞれの遅延回路の出力が
テーブル50に入力されるようになされている。また、
スイッチ52は、第0番目と第1番目の符号化データが
入力される場合に、exceptional pass側に接続されるよ
うになされている。
【0197】また、テーブル50に格納されている参照
テーブルは、図16に示すように、1つ前と2つ前のピ
クセルデータ(縦方向)と、符号化データ(横方向)よ
り、元のデータを復号するようになされている。例え
ば、2つ前と1つ前のピクセルデータがそれぞれ
“0”,“1”である場合(第1行目)に、符号化デー
タが“3”であるとき(第3列目)は、復号データは、
“6”となる。
【0198】その他の構成は、図14における場合と同
様である。
【0199】次に、この実施の形態の動作について簡単
に説明する。
【0200】第0番目の符号化データ(4ビット)が入
力されると、テーブル50に供給される。また、このと
きスイッチ52は、exceptional pass側に接続されてい
るので、第0番目のピクセルデータは、カラールックア
ップテーブル53と、遅延回路51−1に供給される。
カラールックアップテーブル53は、入力されたピクセ
ルデータに対応するR,G,B信号を図6に示すカラー
ルックアップテーブルを参照して生成し、出力する。
【0201】第1番目の符号化データ(4ビット)が入
力された場合にも、スイッチ52は、exceptional pass
側に接続されている。従って、第1番目のピクセルデー
タは、カラールックアップテーブル53と遅延回路51
−1に供給される。カラールックアップテーブル53
は、入力されたピクセルデータに対応するR,G,B信
号を生成し、出力する。
【0202】第2番目の符号化データ(2ビット)が入
力されると、スイッチ52は、テーブル50側に接続が
変更される。テーブル50は、第2番目の符号化デー
タ、遅延回路51−1から出力されるデータ(1つ前の
データ)、および、遅延回路51−2から出力されるデ
ータ(2つ前のデータ)を参照テーブルに適用すること
により、元のデータを復号化する。復号化されたデータ
は、スイッチ52を介してカラールックアップテーブル
53に供給されるとともに、遅延回路51−1に供給さ
れる。
【0203】カラールックアップテーブル53は、テー
ブル50により復号化されたピクセルデータに対応する
R,G,B信号を出力する。
【0204】以上の動作は、1処理単位が終了するまで
繰り返され、画像データが再生されることになる。1処
理単位が終了すると、CD−ROMドライブ4から新た
な処理単位のカラールックアップテーブルと参照テーブ
ルのデータが読み出され、カラールックアップテーブル
53とテーブル50にそれぞれ格納された後、新たな符
号化データの読み出しが開始されることになる。
【0205】以上の実施の形態によれば、ピクセルデー
タの遷移情報、既に復号化された2つの隣接ピクセルの
情報を用いることにより、表現可能な色の種類を増加さ
せることが可能となるとともに、各ピクセルデータの発
生確率を下げることが可能となるので、エントロピを更
に下げることが可能となる。例えば、図7に示す例で
は、1.32であるエントロピを、1.18程度に下げ
ることが可能となる。その結果、符号化時に発生する誤
差を更に低減させることが可能となる。
【0206】図17は、本発明の更に他の実施の形態の
構成を示すブロック図である。
【0207】この図において、図14と同一の部分には
同一の符号が付してあるので、その説明は省略する。こ
の実施の形態では、画面の水平ピクセルデータ数だけ遅
延する遅延回路(H)60(復号化手段)が新たに追加
されている。また、スイッチ52は、第0番目から水平
ピクセル分の符号化データ(第0番目の水平ピクセルデ
ータ)の入力が終了するまでは、exceptional pass側に
接続されるようになされている。
【0208】また、テーブル50に格納されている参照
テーブルは、図16に示す参照テーブルの、2つ前のデ
ータが1水平ピクセル前のピクセルデータと置換された
ものとされている。
【0209】その他の構成は、図14における場合と同
様である。
【0210】この例では、前述のように、スイッチ52
は、第0番目(最初)の1水平ピクセル分の符号化デー
タ(4ビット)が入力されている場合は、exceptional
pass側に接続される。従って、入力された符号化データ
は、スイッチ52を介して遅延回路60に供給されると
ともに、カラールックアップテーブル53に供給され
る。カラールックアップテーブル53は、入力された符
号化データに対応するR,G,B信号を出力する。
【0211】なお、このとき、テーブル50は、復号化
処理を実行しないので、入力されたピクセルデータと遅
延回路51から出力されるデータは無視されることにな
る。
【0212】次に、第1番目の水平ピクセルのデータの
入力が開始されると、スイッチ52は、テーブル50側
に接続が変更される。テーブル50は、入力された符号
化データ、遅延回路51から出力される1つ前のデー
タ、および、1水平ピクセル分前のデータを参照テーブ
ルに適用し、元のデータを復号化する。復号化されたデ
ータは、スイッチ52を介してカラールックアップテー
ブル53に供給される。カラールックアップテーブル5
3は、復号化されたデータに対応するR,G,B信号を
カラールックアップテーブルを参照して生成し、出力す
る。
【0213】以上の処理は、1処理単位分繰り返され
る。そして、1処理単位の処理が終了すると、CD−R
OMドライブ4から、新たなカラールックアップテーブ
ルと参照テーブルのデータが読み出され、カラールック
アップテーブル53とテーブル50にそれぞれ格納され
る。そして、新たな処理単位の符号化データの復号化処
理が実行される。
【0214】以上のような実施の形態によれば、1つ前
のピクセルだけでなく、1水平ライン前のピクセルのデ
ータとの間のインデックスの遷移情報に応じてデータを
圧縮(符号化)し、復号化するようにしたので、図14
の実施の形態に比べて、符号化時の誤差の発生を抑制す
ることが可能となる。
【0215】なお、以上の実施の形態では、図9に示す
参照テーブルを作成する場合、出現確率が上位4通りの
ピクセルを選択するようにした。しかしながら、本発明
はこのような場合に限定されるものではない。例えば、
出現確率とともに、隣接ピクセルとの色の変化の差
(R,G,B空間における距離)を考慮して、参照テー
ブルを作成するようにしてもよい。
【0216】例えば、出現確率が低い場合でも、隣接ピ
クセルとの色が極端に異なる場合(変化の差が大きい場
合)では、エラーの発生が増加することが考えられるの
で、4通りのピクセルとして、最初の1つは、出現確率
が最も高いピクセルを選択し、以下の3つは、出現確率
と色の差の双方にある重み付けをして得られた結果に応
じて選択するようにしてもよい。このような方法によれ
ば、隣接ピクセルとの色の変化が極端に大きな場合にお
いても圧縮(符号化)時のエラーを抑制することが可能
となる。
【0217】また、単一の画像中に性質(表示パターン
など)の異なる部分が存在している場合は、画像を性質
に応じて複数の領域に分割してそれぞれを処理単位と
し、それぞれの領域に対して作成された参照テーブルを
元に、各処理単位(領域)を復号化するようにしてもよ
い。そのような構成によれば、伝送または記録する参照
テーブルのデータ数は増加するが、符号化時における符
号化誤差を低減することが可能となる。
【0218】更に、以上の実施の形態では、参照テーブ
ルにより符号化された情報は、そのまま出力されるよう
にしたが、例えば、可変長符号化(ランレングス符号化
またはハフマン符号化など)を用いて更に符号化してか
ら出力するようにしてもよいことは勿論である。このよ
うな構成によれば、画像情報を更に圧縮することが可能
となる。
【0219】ところで、家庭用TVゲーム機などにおい
ては、スプライトによるキャラクタの描画時に、特定の
インデックス(以下、特定インデックスと略記する)を
有する領域を透明領域とみなし、その領域を描画しない
手法が用いられることがある。
【0220】例えば、前述の特定インデックスが0であ
るとすると、図18に示すインデックスデータは、図1
9に示すような表示画面として描画されることになる。
このような画像データに対して前述のような画像圧縮を
施した場合、仮に、この特定インデックスが他のデータ
に変換されたとすると、その部分は特定の表示色により
表示されることなり、画像情報が著しく変容してしま
う。また、逆に、特定インデックスが他のインデックス
変換された場合も、輪郭情報が欠落することになる。
【0221】図20は、前述の特定インデックスが含ま
れているデータに対応する参照テーブル作成処理の一例
を示している。なお、この図において、図5と同一の処
理には同一の符号が付してあるので、その説明は省略す
る。
【0222】図20に示す処理では、図5の処理に比較
してステップS60とステップS61とが新たに追加さ
れている。ステップS60では、特定インデックスF
(=0)への遷移が存在するか否かが判定される。その
結果、特定インデックスへの遷移が存在する(YES)
と判定された場合には、ステップS61に進む。また、
特定インデックスへの遷移が存在しない(NO)と判定
された場合には、ステップS23に進む。
【0223】ステップS61では、遷移頻度が第M番目
のインデックスと、特定インデックスとが置換される。
そしてステップS23に進む。
【0224】ステップS23では、遷移頻度が上位M種
類のインデックスが選択される。即ち、特定インデック
スFに遷移するデータが含まれている場合には、ステッ
プS61において、この特定インデックスFが第M番目
のインデックスと置換されることになるので、ステップ
S23において選択される上位M種類のインデックスに
は、特定インデックスが必ず含まれることになる。従っ
て、特定インデックスは確実に保存されることになる。
【0225】図21は、図11のステップS47のサブ
ルーチンを、特定インデックスに対応するように変更し
た処理を説明するフローチャートである。なお、この図
において、図12の場合と同一の処理には同一の符号が
付してあるのでその説明は省略する。
【0226】この処理では、ステップS110が新たに
追加されている。このステップS110の処理では、特
定インデックスではないピクセルデータ(X[p,r]
≠F)が、特定インデックスに変換された(X’[p,
r]=F)か否かが判定される。その結果、特定インデ
ックス以外のピクセルデータが特定インデックスに変換
された(YES)と判定された場合には、ステップS7
5に戻り、図12の処理において説明したのと同様の処
理を繰り返すことになる。また、ステップS110にお
いて、特定インデックス以外のピクセルデータが特定イ
ンデックスに変換されていない(NO)と判定された場
合には、ステップS77に進み、データの変換処理が継
続されることになる。
【0227】従って、以上の処理によれば、特定インデ
ックス以外のデータが特定インデックスに変換された場
合には、ステップS110においてYESと判定され、
その変換に対する処理は無視されることになるので、特
定インデックス以外のデータが特定インデックスに変換
されることを防止することができる。
【0228】なお、以上の実施の形態では、特定インデ
ックスに遷移するデータが存在する場合には、この特定
インデックスを第M番目のデータと置換するようにした
が、本発明はこのような場合に限定されるものではな
い。例えば、特定インデックスを第(M−1)番目のデ
ータと置換してもよいことは勿論である。
【0229】
【発明の効果】請求項1に記載の符号化装置および請求
項11に記載の符号化方法によれば、画像を構成するピ
クセルのうち、隣接する少なくとも2つ以上のピクセル
のインデックスの遷移に関する遷移情報を算出し、算出
された遷移情報の一部を所定の方法により選出して参照
テーブルを作成し、作成された参照テーブルを参照して
画像を符号化するようにしたので、少ない情報量で高い
画質の画像を伝送、記録、または、表示することが可能
となる。
【0230】請求項12に記載の記録媒体においては、
画像を構成するピクセルのうち、隣接する少なくとも2
つ以上のピクセルのインデックスの遷移に関する遷移情
報を算出し、算出された遷移情報の一部を所定の方法に
より選出して作成された参照テーブルと、参照テーブル
を参照して符号化された画像情報とを記録するようにし
たので、記録媒体に更に多くの画像を記録することが可
能となる。
【0231】請求項14に記載の復号化装置および請求
項16に記載の復号化方法によれば、画像を構成するピ
クセルのうち、隣接する少なくとも2つ以上のピクセル
のインデックスの遷移に関する遷移情報を算出し、算出
された遷移情報の一部を所定の方法により選出して作成
された参照テーブルを記憶し、参照テーブルを参照して
符号化された画像データを入力し、入力された画像デー
タを、記憶されている参照テーブルを参照して復号化す
るようにしたので、簡単な構成により復号化装置を構成
することが可能となるので、復号化処理を高速化するこ
とが可能となるとともに、例えば、テレビジョン受像機
等における実時間処理も可能となる。
【図面の簡単な説明】
【図1】本発明の復号化装置の一実施の形態の構成を示
すブロック図である。
【図2】本発明の符号化装置と復号化装置の一実施の形
態の動作の概略を説明する図である。
【図3】本発明の符号化装置の一実施の形態の構成を示
すブロック図である。
【図4】図3の実施の形態において実行される処理の一
例を説明するフローチャーである。
【図5】図4の処理のステップS2の処理の詳細を説明
するフローチャートである。
【図6】カラールックアップテーブルの一例を示す図で
ある。
【図7】画像中のピクセルの遷移を示す遷移テーブルの
一例を示す図である。
【図8】図7に示す遷移テーブルの各要素の出現頻度を
示す図である。
【図9】図7に示す遷移テーブルから出現頻度が上位4
番目までのデータを選出することにより作成された参照
テーブルの一例を示す図である。
【図10】図9に示す参照テーブルに対象となるインデ
ックスが存在しない場合に、それ以降のインデックスに
おいて一致するインデックスを検索するために作成され
る樹形図を示す図である。
【図11】図4のステップS3のピクセルデータ符号化
処理の詳細を説明するフローチャートである。
【図12】図11のステップS47のサブルーチンの詳
細を説明するフローチャートである。
【図13】図12のステップS84のエラーサブルーチ
ンの詳細を説明するフローチャートである。
【図14】図1に示すGPU5の詳細な構成の一例を示
すブロック図である。
【図15】図1に示すGPU5の他の詳細な構成の一例
を示すブロック図である。
【図16】図15に示すテーブル50に格納されている
参照テーブルの一例を示す図である。
【図17】図1に示すGPU5の更に他の詳細な構成の
一例を示すブロック図である。
【図18】透明領域を含む画像に対応するインデックス
データの一例を示す図である。
【図19】図18に示すインデックスデータの表示例で
ある。
【図20】図5の処理を透明領域に対応するように変更
したフローチャートである。
【図21】図12の処理を透明領域に対応するように変
更したフローチャートである。
【符号の説明】
40 CPU(遷移情報算出手段、参照テーブル作成手
段、符号化手段、可変長符号化手段), 50 テーブ
ル(参照テーブル記憶手段、入力手段、復号化手段),
51,60 遅延回路(復号化手段), 53 カラ
ールックアップテーブル(カラールックアップテーブル
記憶手段、変換手段)

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 画像を構成するピクセルのうち、隣接す
    る少なくとも2つ以上のピクセルのインデックスの遷移
    に関する遷移情報を算出する遷移情報算出手段と、 前記遷移情報算出手段によって算出された遷移情報の一
    部を所定の方法により選出して参照テーブルを作成する
    参照テーブル作成手段と、 前記参照テーブル作成手段により作成された参照テーブ
    ルを参照し、前記画像を符号化する符号化手段とを備え
    ることを特徴とする符号化装置。
  2. 【請求項2】 前記インデックスと前記ピクセルの表示
    色との対応関係は、カラールックアップテーブルにより
    規定されていることを特徴とする請求項1に記載の符号
    化装置。
  3. 【請求項3】 前記参照テーブル作成手段は、前記遷移
    情報を出現頻度が高い順に所定の個数だけ選出し、前記
    参照テーブルを作成することを特徴とする請求項1に記
    載の符号化装置。
  4. 【請求項4】 前記参照テーブル作成手段は、前記遷移
    情報に特定のインデックスが含まれている場合には、そ
    のインデックスを優先的に選出して前記参照テーブルを
    作成することを特徴とする請求項1に記載の符号化装
    置。
  5. 【請求項5】 前記参照テーブル作成手段は、出現頻度
    と、前記隣接するピクセルの表示色の差異に応じて、所
    定の個数の前記遷移情報を選出し、前記参照テーブルを
    作成することを特徴とする請求項1に記載の符号化装
    置。
  6. 【請求項6】 前記符号化手段は、符号化しようとする
    第1のピクセルに対応する遷移情報が前記参照テーブル
    に含まれていない場合には、それより後の第2のピクセ
    ルにおいて前記参照テーブルとの対応関係が得られるよ
    うに、前記第1のピクセルから前記第2のピクセルの直
    前までのピクセルのインデックスを変更することを特徴
    とする請求項1に記載の符号化装置。
  7. 【請求項7】 前記変更の結果、前記第2のピクセルに
    おいて対応関係が得られる複数の選択肢が存在する場合
    には、変更前と変更後のピクセルの表示色の誤差が最小
    となる選択肢を選択することを特徴とする請求項6に記
    載の符号化装置。
  8. 【請求項8】 前記変更の結果、前記第2のピクセルに
    おいて対応関係が得られる複数の選択肢が存在する場合
    には、変更前と変更後のピクセルの表示色の誤差が最小
    となるとともに、特定のインデックスに変更されるピク
    セルが存在しない選択肢を選択することを特徴とする請
    求項6に記載の符号化装置。
  9. 【請求項9】 前記符号化手段により符号化された情報
    を、可変長符号化する可変長符号化手段を更に備えるこ
    とを特徴とする請求項1に記載の符号化装置。
  10. 【請求項10】 前記画像中に性質の異なる部分が存在
    している場合、前記遷移情報算出手段は、前記画像を前
    記性質に応じて複数の領域に分割し、各領域毎に前記遷
    移情報を算出することを特徴とする請求項1に記載の符
    号化装置。
  11. 【請求項11】 画像を構成するピクセルのうち、隣接
    する少なくとも2つ以上のピクセルのインデックスの遷
    移に関する遷移情報を算出する遷移情報算出ステップ
    と、 前記遷移情報算出ステップによって算出された遷移情報
    の一部を所定の方法により選出して参照テーブルを作成
    する参照テーブル作成ステップと、 前記参照テーブル作成ステップにより作成された参照テ
    ーブルを参照し、前記画像を符号化する符号化ステップ
    とを備えることを特徴とする符号化方法。
  12. 【請求項12】 画像を構成するピクセルのうち、隣接
    する少なくとも2つ以上のピクセルのインデックスの遷
    移に関する遷移情報の一部を所定の方法により選出して
    作成された参照テーブルと、 前記参照テーブルを参照して符号化された前記画像のデ
    ータとが記録されていることを特徴とする記録媒体。
  13. 【請求項13】 前記ピクセルのインデックスと表示色
    との対応関係を規定するカラールックアップテーブルが
    更に記録されていることを特徴とする請求項12に記載
    の記録媒体。
  14. 【請求項14】 画像を構成するピクセルのうち、隣接
    する少なくとも2つ以上のピクセルのインデックスの遷
    移に関する遷移情報を算出し、算出された遷移情報の一
    部を所定の方法により選出して作成された参照テーブル
    を記憶する参照テーブル記憶手段と、 前記参照テーブルを参照して符号化された画像データを
    入力する入力手段と、 前記入力手段より入力された前記画像データを、前記参
    照テーブル記憶手段に記憶されている参照テーブルを参
    照して、復号化する復号化手段とを備えることを特徴と
    する復号化装置。
  15. 【請求項15】 カラールックアップテーブルを記憶す
    るカラールックアップテーブル記憶手段と、 前記復号化手段により復号化された画像データを、前記
    カラールックアップテーブル記憶手段に記憶されたカラ
    ールックアップテーブルを参照して、元の信号に変換す
    る変換手段とを更に備えることを特徴とする請求項14
    に記載の復号化装置。
  16. 【請求項16】 画像を構成するピクセルのうち、隣接
    する少なくとも2つ以上のピクセルのインデックスの遷
    移に関する遷移情報を算出し、算出された遷移情報の一
    部を所定の方法により選出して作成された参照テーブル
    を記憶する参照テーブル記憶ステップと、 前記参照テーブルを参照して符号化された画像データを
    入力する入力ステップと、 前記入力ステップより入力された前記画像データを、前
    記参照テーブル記憶ステップに記憶されている参照テー
    ブルを参照して、復号化する復号化ステップとを備える
    ことを特徴とする復号化方法。
JP03778997A 1996-10-01 1997-02-21 符号化装置 Expired - Fee Related JP3695045B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP03778997A JP3695045B2 (ja) 1996-10-01 1997-02-21 符号化装置
US08/939,566 US6519365B2 (en) 1996-10-01 1997-09-30 Encoder, decoder, recording medium, encoding method, and decoding method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP26066896 1996-10-01
JP8-260668 1996-10-01
JP03778997A JP3695045B2 (ja) 1996-10-01 1997-02-21 符号化装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005048391A Division JP4069393B2 (ja) 1996-10-01 2005-02-24 復号化装置および方法

Publications (2)

Publication Number Publication Date
JPH10164619A true JPH10164619A (ja) 1998-06-19
JP3695045B2 JP3695045B2 (ja) 2005-09-14

Family

ID=26376934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03778997A Expired - Fee Related JP3695045B2 (ja) 1996-10-01 1997-02-21 符号化装置

Country Status (2)

Country Link
US (1) US6519365B2 (ja)
JP (1) JP3695045B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100530654B1 (ko) * 2002-10-26 2005-11-22 삼성전자주식회사 이미지 데이터 압축방법
JP2014204358A (ja) * 2013-04-08 2014-10-27 日本電信電話株式会社 文字列圧縮における階層型サンプル文字列辞書作成方法及び装置
US10021405B2 (en) 2015-08-18 2018-07-10 Kabushiki Kaisha Toshiba Encoding device, decoding device, and image processing device

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087884A1 (en) * 2000-06-12 2002-07-04 Hovav Shacham Method and apparatus for enhancing network security protection server performance
US20020039420A1 (en) * 2000-06-12 2002-04-04 Hovav Shacham Method and apparatus for batched network security protection server performance
US20040015725A1 (en) * 2000-08-07 2004-01-22 Dan Boneh Client-side inspection and processing of secure content
US7137143B2 (en) 2000-08-07 2006-11-14 Ingrian Systems Inc. Method and system for caching secure web content
US7757278B2 (en) * 2001-01-04 2010-07-13 Safenet, Inc. Method and apparatus for transparent encryption
AU2003262857A1 (en) * 2002-08-24 2004-03-11 Ingrian Networks, Inc. Selective feature activation
WO2004036487A2 (en) * 2002-10-15 2004-04-29 Ingrian Networks, Inc. System and method for compression of image color maps
US20060149962A1 (en) * 2003-07-11 2006-07-06 Ingrian Networks, Inc. Network attached encryption
WO2005074144A1 (en) * 2004-02-02 2005-08-11 Adams Platform Pty Ltd System and method for compressing and encoding/decoding video
WO2005074143A1 (en) * 2004-02-02 2005-08-11 Adams Platform Pty Ltd System and method for encoding/decoding live audio/video information
US20070210940A1 (en) * 2004-04-05 2007-09-13 Leslie Rubinstein Method of efficient direct sequence spread spectrum signal encoding and apparatus therefore
US7519835B2 (en) * 2004-05-20 2009-04-14 Safenet, Inc. Encrypted table indexes and searching encrypted tables
US20070079386A1 (en) * 2005-09-26 2007-04-05 Brian Metzger Transparent encryption using secure encryption device
US20070079140A1 (en) * 2005-09-26 2007-04-05 Brian Metzger Data migration
US20070180275A1 (en) * 2006-01-27 2007-08-02 Brian Metzger Transparent encryption using secure JDBC/ODBC wrappers
US8386768B2 (en) * 2006-02-08 2013-02-26 Safenet, Inc. High performance data encryption server and method for transparently encrypting/decrypting data
US7958091B2 (en) 2006-02-16 2011-06-07 Ingrian Networks, Inc. Method for fast bulk loading data into a database while bypassing exit routines
US8379865B2 (en) * 2006-10-27 2013-02-19 Safenet, Inc. Multikey support for multiple office system
US20090132804A1 (en) * 2007-11-21 2009-05-21 Prabir Paul Secured live software migration
EP2874397A1 (en) 2013-11-15 2015-05-20 Thomson Licensing Method of embedding of an image with a color transform
JP6215057B2 (ja) * 2014-01-09 2017-10-18 富士通株式会社 可視化装置、可視化プログラムおよび可視化方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867602A (en) * 1994-09-21 1999-02-02 Ricoh Corporation Reversible wavelet transform and embedded codestream manipulation
US5589829A (en) * 1994-10-26 1996-12-31 Intel Corporation Decoding variable-length encoded signals
US5742892A (en) * 1995-04-18 1998-04-21 Sun Microsystems, Inc. Decoder for a software-implemented end-to-end scalable video delivery system
US5680129A (en) * 1995-07-18 1997-10-21 Hewlett-Packard Company System and method for lossless image compression
US5764374A (en) * 1996-02-05 1998-06-09 Hewlett-Packard Company System and method for lossless image compression having improved sequential determination of golomb parameter
US5675382A (en) * 1996-04-08 1997-10-07 Connectix Corporation Spatial compression and decompression for video

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100530654B1 (ko) * 2002-10-26 2005-11-22 삼성전자주식회사 이미지 데이터 압축방법
JP2014204358A (ja) * 2013-04-08 2014-10-27 日本電信電話株式会社 文字列圧縮における階層型サンプル文字列辞書作成方法及び装置
US10021405B2 (en) 2015-08-18 2018-07-10 Kabushiki Kaisha Toshiba Encoding device, decoding device, and image processing device

Also Published As

Publication number Publication date
US20020012473A1 (en) 2002-01-31
US6519365B2 (en) 2003-02-11
JP3695045B2 (ja) 2005-09-14

Similar Documents

Publication Publication Date Title
JPH10164619A (ja) 符号化装置、復号化装置、記録媒体、符号化方法、および、復号化方法
US4742558A (en) Image information retrieval/display apparatus
US6061474A (en) Image processing apparatus and method
KR20160114570A (ko) 고정폭 가변길이의 화소 샘플값 문자열의 매칭이 강화된 영상 압축 방법 및 장치
US20230065156A1 (en) Point cloud encoding/decoding method, encoder, decoder, and storage medium
JPH11161782A (ja) カラー画像の符号化方法およびその符号化装置ならびにカラー画像の復号化方法およびその復号化装置
JPH07236062A (ja) 画像処理装置及びその方法
EP1104199A1 (en) Image coding/decoding method and recorded medium on which program is recorded
CN101945273A (zh) 压缩编码装置和视觉显示控制装置
JPH1155662A (ja) 画像処理装置
US6330364B1 (en) Video coding and video decoding apparatus
US5915046A (en) System for and method of processing digital images
JPH1188700A (ja) カラー画像信号の符号化方法、復号化方法およびカラー画像処理装置
JP2018509069A (ja) 画像符号化方法及び装置並びに画像復号方法及び装置
JP3462867B2 (ja) 画像圧縮方法および装置、画像圧縮プログラムならびに画像処理装置
JP2007527126A (ja) 画像部分の圧縮方法および装置
KR100717002B1 (ko) 영상 부호화 및 복호화 장치와, 그 방법, 및 이를 수행하기위한 프로그램이 기록된 기록 매체
US6198508B1 (en) Method of encoding picture data and apparatus therefor
JPH11308465A (ja) カラー画像の符号化方法およびその符号化装置ならびにカラー画像の復号化方法およびその復号化装置
US20030156651A1 (en) Method for reducing code artifacts in block coded video signals
JP4069393B2 (ja) 復号化装置および方法
US6067380A (en) Image compression method
JP2002369201A (ja) 画像データ圧縮装置、画像データ圧縮方法、記録媒体およびプログラム
JPH11272843A (ja) カラー画像の符号化装置およびその方法並びにカラー画像の復号化装置およびその方法
JP2004350158A (ja) 画像復号化装置および画像復号化方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040927

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050224

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050620

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

Free format text: PAYMENT UNTIL: 20080708

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130708

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees