JP2000201078A - デ―タ圧縮装置および方法、デ―タ伸長装置および方法、デ―タ圧縮伸長システムおよび方法、コ―ドブックの作成方法、記録媒体 - Google Patents

デ―タ圧縮装置および方法、デ―タ伸長装置および方法、デ―タ圧縮伸長システムおよび方法、コ―ドブックの作成方法、記録媒体

Info

Publication number
JP2000201078A
JP2000201078A JP6708699A JP6708699A JP2000201078A JP 2000201078 A JP2000201078 A JP 2000201078A JP 6708699 A JP6708699 A JP 6708699A JP 6708699 A JP6708699 A JP 6708699A JP 2000201078 A JP2000201078 A JP 2000201078A
Authority
JP
Japan
Prior art keywords
data
code
vector
codebook
compression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6708699A
Other languages
English (en)
Inventor
Tadahiro Omi
忠弘 大見
Koji Kotani
光司 小谷
Akira Nakada
明良 中田
Makoto Imai
誠 今井
Masahiro Yoda
正宏 譽田
Tatsuro Morimoto
達郎 森本
Takemi Yonezawa
岳美 米澤
Toshiyuki Nozawa
俊之 野沢
Takahiro Nakayama
貴裕 中山
Masanori Fujibayashi
正典 藤林
Takehisa Nitta
雄久 新田
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.)
Ultraclean Technology Research Institute KK
Original Assignee
Ultraclean Technology Research Institute KK
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 Ultraclean Technology Research Institute KK filed Critical Ultraclean Technology Research Institute KK
Priority to JP6708699A priority Critical patent/JP2000201078A/ja
Priority to PCT/JP1999/002049 priority patent/WO1999055093A1/ja
Priority to EP99914764A priority patent/EP1079635A1/en
Publication of JP2000201078A publication Critical patent/JP2000201078A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 画像や音声のデータ圧縮を高圧縮率で実現
し、圧縮データをもとに品質の高いデータを再生できる
ようにする。 【解決手段】 相関度演算部36を、動画の各フレーム
画像に対して空間方向用コードブックを用いて個々にベ
クトル量子化するとともに、得られたコード列を空間方
向コード再配列演算部39で再配列して複数の新たなベ
クトルとし、それらの新たなベクトルに対して更に時間
軸用コードブックを用いてベクトル量子化するように構
成し、1つのフレーム画像に対して空間方向に対するベ
クトル量子化を行うだけでなく、時間軸に沿った複数の
フレーム間で時間軸方向に対するベクトル量子化も行う
ようにすることにより、各フレーム間に対してもデータ
圧縮を行うことができるようにして、再生画像の品質を
維持したままより高い圧縮率で動画を圧縮することがで
きるようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ圧縮装置およ
び方法、データ伸長装置および方法、データ圧縮伸長シ
ステムおよび方法、コードブックの作成方法、更にはこ
れらの処理を実行させるためのプログラムを記憶した記
録媒体に関し、特に、データ圧縮手法の1つとしてベク
トル量子化を用いる装置、システムおよび方法に用いて
好適なものである。
【0002】
【従来の技術】従来、データ圧縮の手法が種々提案され
ている。その中で、圧縮データの伸長処理を非常に簡単
に行うことが可能なデータ圧縮アルゴリズムの1つとし
て、「ベクトル量子化」という手法が良く知られてい
る。このアルゴリズムは、古くから信号処理の分野で知
られており、特に、画像信号や音声信号のデータ圧縮、
あるいはパターン認識に応用されてきた。
【0003】このベクトル量子化では、ある大きさ(例
えば4×4画素のブロック)の画素パターンを幾つか用
意しておき、それぞれにユニークな番号などを与える
(この集合体を「コードブック」という)。そして、例
えば2次元配列の画像データ中から同じ大きさ(例えば
4×4画素)のブロックを順次取り出し、それと最も似
通ったパターンをコードブック中から見つけ出して、そ
のパターンの番号を当該ブロックに当てはめるというデ
ータ圧縮を行う。ベクトル量子化では、1つのブロック
内のデータ列が1つのベクトルに対応する。
【0004】このようにコード化された圧縮データの受
信側あるいは伸長側では、各ブロック毎に番号に対応す
るパターンをコードブックの中から取り出すだけで、元
の画像を再現することができる。したがって、伸長側で
は、コードブックさえ受け取っているか、あるいはあら
かじめ保持していれば、特に特殊な演算は必要としない
ため、非常に簡単なハードウェアで元の画像を再生する
ことが可能となる。
【0005】
【発明が解決しようとする課題】上述のようなベクトル
量子化において、例えば画像や音声信号のデータ圧縮を
行う際に、高い圧縮率を保持したままいかに高品質の再
生画像や再生音声を得るのか、また、ベクトル量子化を
実行する上で必ず必要となるコードブックとしていかに
性能の良いものを作成するかが課題となっている。
【0006】従来、高い圧縮率を実現するために、例え
ば、画像データから取り出すブロックの大きさを大きく
したり、コードブックを構成するブロックの個数を少な
くするといった努力が成されている。また、コードブッ
クの最適化の手法としては、Kohonen の自己組織化マッ
プの手法などを始めとして幾つかの手法が用いられてい
た。
【0007】しかしながら、例えばベクトル量子化の手
法を用いて画像をデータ圧縮する際に、高い圧縮率を実
現しようとすると、どうしても再生画像の画質が劣化し
てしまうという問題が生じる。逆に、再生画像の画質を
高めようとすると、ベクトル量子化以外の処理が入るた
め、結果的に圧縮率は高くならないという問題があっ
た。
【0008】画像データの圧縮に用いられるベクトル量
子化技術は、静止画に対してベクトル量子化を行うよう
に成されている。したがって、動画像を圧縮する場合
は、各々のフレームに対してベクトル量子化を行い、更
にベクトル量子化以外の技術を組み合わせることにより
実現されてきた。よって、特に動画の場合には、圧縮率
が結果的に高くならない割には、再生画像の画質が悪い
という問題があった。
【0009】また、上記Kohonen の自己組織化マップの
手法などのコードブックの最適化技術は、サンプル画像
などを用いて適当な数式処理を行うことにより、コード
ブックの最適化を図るものである。したがって、得られ
るコードブックは、最適化の際に使用したデータに対し
てのみ有用なコードブックとなってしまうという問題が
あった。
【0010】すなわち、例えば、ある人の顔の画像デー
タを用いて最適化されたコードブックは、その最適化に
用いた画像に対しては最良のコードブックとなるが、他
の画像に対しては必ずしも最良のコードブックになると
は限らない。したがって、例えば、そのコードブックを
他の人の顔の画像データに対して用いてデータ圧縮を実
施すると、圧縮データから再生した画像の画質は低下す
ることになる。
【0011】さらに、最適化に用いた画像と同じ人の顔
という分類に含まれる画像に対しては、再生画像として
比較的良好な画質が得られても、風景や文字といった異
なる分類の画像に対しては、画質が劣化してしまうこと
が多い。つまり、コードブックのパターンが画像によっ
て全く異なっているため、汎用性の低いコードブックに
なってしまうという問題があった。
【0012】また、コードブックを用いたベクトル量子
化の技術では、入力ベクトルと最も似通ったパターンの
コードベクトルをコードブック中から探し出す処理や、
圧縮コードに対応するコードベクトルをコードブック中
から取り出して表示する処理に多くの演算を要し、処理
に時間がかかるという問題もあった。
【0013】本発明は、このような問題を解決するため
に成されたものであり、例えば画像や音声信号のデータ
圧縮をベクトル量子化によって行う場合に、データ圧縮
を高い圧縮率で実現するとともに、それにより得られた
圧縮データをもとに品質の高いデータを再生できるよう
にすることを目的とする。また、本発明は、高性能で、
種々の画像に対応できる汎用性の高いコードブックを実
現できるようにすることも目的とする。さらに、本発明
は、ベクトル量子化による圧縮時および伸長による画像
再生時の処理速度を向上させることも目的とする。
【0014】
【課題を解決するための手段】第1の本発明は、少なく
とも1つ以上のデータを有するデータ列をブロック化し
てベクトルとし、あらかじめ用意されたコードブックの
中から、圧縮対象より抽出されるベクトルに類似したコ
ードベクトルを探し出して、それに対応するコードを出
力するデータ圧縮装置において、上記ベクトルを構成す
るブロックを、データ位置を1次元的に配列したライン
ブロックとすることを特徴とする。
【0015】第2の発明は、少なくとも1つ以上のデー
タを有するデータ列をブロック化してベクトルとし、あ
らかじめ用意されたコードブックの中から、圧縮対象よ
り抽出されるベクトルに類似したコードベクトルを探し
出して、それに対応するコードを出力するデータ圧縮装
置において、上記圧縮対象のベクトルを構成するブロッ
クを、少なくとも垂直方向に近接するブロック間では空
間的位置を水平方向にずらして圧縮対象より抽出するよ
うにするブロックシフト手段を備えたことを特徴とす
る。
【0016】第3の発明は、少なくとも1つ以上のデー
タを有するデータ列をベクトルとし、少なくとも1つ以
上のコードベクトルを有するコードブックの中から圧縮
コードに対応するコードベクトルを探し出して、それを
該当するブロック位置に割り当てることによって元デー
タを再現するデータ伸長装置において、上記コードブッ
クの中から探し出したコードベクトルを構成するブロッ
クを、少なくとも垂直方向に近接するブロック間では空
間的位置を水平方向にずらして割り当てるブロックシフ
ト手段を備えたことを特徴とする。
【0017】第4の発明は、少なくとも1つ以上のデー
タを有するデータ列をブロック化してベクトルとし、あ
らかじめ用意されたコードブックの中から、圧縮対象よ
り抽出されるベクトルに類似したコードベクトルを探し
出して、それに対応するコードを出力するデータ圧縮装
置において、時間軸に沿って変化する圧縮対象の各時刻
におけるデータに対してそれぞれ、当該データ中から複
数のブロックを抽出してそれらのベクトルに類似したコ
ードベクトルを第1のコードブックから夫々探し出し、
それらに対応するコード列を各時刻毎に出力する第1の
ベクトル量子化手段と、上記第1のベクトル量子化手段
により各時刻毎に出力されたコード列を再配列して複数
の新たなベクトルとし、上記複数の新たなベクトルに対
してそれぞれ、それらのベクトルに類似したコードベク
トルを第2のコードブックから夫々探し出し、それらに
対応するコード列を出力する第2のベクトル量子化手段
とを備えたことを特徴とする。
【0018】第5の発明は、少なくとも1つ以上のデー
タを有するデータ列をブロック化してベクトルとし、あ
らかじめ用意されたコードブックの中から、圧縮対象よ
り抽出されるベクトルに類似したコードベクトルを探し
出して、それに対応するコードを出力するデータ圧縮装
置において、時間軸に沿って変化する圧縮対象の各時刻
におけるデータに対してそれぞれ、当該データ中から複
数のブロックを抽出してそれらのベクトルに類似したコ
ードベクトルを第1のコードブックから夫々探し出し、
それらに対応するコード列を各時刻毎に出力する第1の
ベクトル量子化手段と、上記第1のベクトル量子化手段
により各時刻毎に出力されたコード列のうち、ある時刻
におけるデータのコード列を基準コード列とし、上記基
準コード列と他の時刻におけるデータのコード列との間
において対応するアドレスのコード間で差分をとった結
果を再配列して複数の新たなベクトルとし、上記複数の
新たなベクトルに対してそれぞれ、それらのベクトルに
類似したコードベクトルを第2のコードブックから夫々
探し出し、それらに対応するコード列を出力する第2の
ベクトル量子化手段とを備えたことを特徴とする。
【0019】第6の発明は、少なくとも1つ以上のデー
タを有するデータ列をブロック化してベクトルとし、あ
らかじめ用意されたコードブックの中から、圧縮対象よ
り抽出されるベクトルに類似したコードベクトルを探し
出して、それに対応するコードを出力するデータ圧縮装
置において、時間軸に沿って変化する圧縮対象の各時刻
におけるデータに対してそれぞれ、当該データ中から複
数のブロックを抽出してそれらのベクトルに類似したコ
ードベクトルを第1のコードブックから夫々探し出し、
それらに対応するコード列を各時刻毎に出力する第1の
ベクトル量子化手段と、上記第1のベクトル量子化手段
により各時刻毎に出力されたコード列のうち、時間軸方
向に隣接するデータの間において対応するアドレスのコ
ード間で差分をとった結果を再配列して複数の新たなベ
クトルとし、上記複数の新たなベクトルに対してそれぞ
れ、それらのベクトルに類似したコードベクトルを第2
のコードブックから夫々探し出し、それらに対応するコ
ード列を出力する第2のベクトル量子化手段とを備えた
ことを特徴とする。
【0020】第7の発明は、上記複数の新たなベクトル
を生成する際に、上記新たなベクトル内の要素を少なく
とも近接するベクトル間では時間軸方向にずらして配列
するようにする時間軸シフト手段を備えたことを特徴と
する。また、上記第4〜第6の発明であるデータ圧縮装
置とは逆の処理を行う伸長側にて複数の新たなベクトル
を生成する際に、上記新たなベクトル内の少なくとも近
接する要素を時間軸方向にずらして配列するようにする
時間軸シフト手段を備えたことを特徴とする。
【0021】第8の発明は、少なくとも1つ以上のデー
タを有するデータ列をブロック化してベクトルとし、あ
らかじめ用意されたコードブックの中から、圧縮対象よ
り抽出されるベクトルに類似したコードベクトルを探し
出して、それに対応するコードを出力するデータ圧縮装
置において、上記圧縮対象から少なくとも1つ以上の特
徴量を抽出し、特徴量データと上記圧縮対象から上記特
徴量を除いた基本パターンデータとに分離する分離手段
を備え、上記分離した特徴量データと基本パターンデー
タとに対してそれぞれ独立にベクトル量子化を行うよう
にしたことを特徴とする。
【0022】第9の発明は、少なくとも1つ以上のデー
タを有するデータ列をブロック化してベクトルとし、あ
らかじめ用意されたコードブックの中から、圧縮対象よ
り抽出されるベクトルに類似したコードベクトルを探し
出して、それに対応するコードを出力するデータ圧縮装
置において、時間軸に沿って変化する圧縮対象の各時刻
におけるデータに対してそれぞれ、当該データ中から複
数のブロックを抽出してそれらのベクトルに類似したコ
ードベクトルをコードブックから夫々探し出し、それら
に対応するコード列を各時刻毎に出力するベクトル量子
化手段と、上記ベクトル量子化手段により各時刻毎に出
力されるコード列について、時間軸方向に隣接するデー
タの対応するアドレスどうしでコード間の相関を夫々と
り、相関が所定値より小さいアドレスについてのみコー
ドを出力する出力制御手段とを備えたことを特徴とす
る。また、第9の発明の他の態様では、上記ベクトル量
子化手段により各時刻毎に探し出されるコードベクトル
の特徴量について、時間軸方向に隣接するデータの対応
するアドレスどうしで上記特徴量の相関を夫々とり、相
関が所定値より小さいアドレスについてのみコードを出
力するようにする出力制御手段とを備えたことを特徴と
する。
【0023】第10の発明は、少なくとも1つ以上のデ
ータを有するデータ列をブロック化してベクトルとし、
あらかじめ用意されたコードブックの中から、圧縮対象
のカラー画像より抽出されるベクトルに類似したコード
ベクトルを探し出して、それに対応するコードを出力す
るデータ圧縮装置において、輝度信号用のコードブック
と色信号用のコードブックとを備え、上記色信号用のコ
ードブックよりも上記輝度信号用のコードブックの方に
より多くのコードベクトルを割り当てるようにしたこと
を特徴とする。
【0024】第11の発明は、少なくとも1つ以上のデ
ータを有するデータ列であるベクトルの集合から成り、
ベクトル量子化で用いられるコードブックを作成する方
法であって、あるサンプルデータと初期のコードブック
とを用いてベクトル量子化の処理を繰り返し行い、コー
ドブックの仮想的な2次元平面上で指定された範囲の内
容を1回の処理毎に所定の更新係数に従って更新してい
くことによってコードブックを最適化するコードブック
の作成方法において、上記初期のコードブックとして、
とり得る値の最小値から最大値までデータ値が連続的に
変化するパターンのコードブックを用いたことを特徴と
する。また、上記1回の処理で更新する範囲を上記仮想
的な2次元平面上で1次元的に適用し、かつ更新回数の
増加と共に範囲を減少させることを特徴とする。また、
上記更新係数の初期値を0.3〜1の範囲内の何れかの
値とし、かつ更新回数の増加と共に上記更新係数の値を
減少させることを特徴とする。
【0025】第12の発明は、少なくとも1つ以上のデ
ータを有するデータ列であるベクトルの集合から成り、
ベクトル量子化で用いられるコードブックを作成する方
法であって、あるサンプルデータと初期のコードブック
とを用いてベクトル量子化の処理を繰り返し行い、コー
ドブックの仮想的な2次元平面上で指定された範囲の内
容を1回の処理毎に所定の更新係数に従って更新してい
くことによってコードブックを最適化するコードブック
の作成方法において、複数のサンプルデータに対して独
立にコードブックを最適化し、得られた複数のコードブ
ックを合成して新たなコードブックを作成するようにし
たことを特徴とする。
【0026】第13の発明は、コードブック内の各コー
ドベクトルに関してあらかじめ求められた特徴量を記憶
する特徴量記憶手段と、上記圧縮対象より抽出されるベ
クトルの特徴量を求める特徴量演算手段と、上記特徴量
記憶手段に記憶されている各コードベクトルの特徴量と
上記特徴量演算手段により求められた圧縮対象ベクトル
の特徴量とに基づいて、上記各コードベクトルのそれぞ
れについて上記圧縮対象ベクトルとの類似度を求める演
算を省略するかどうかを決定する演算省略手段とを備え
たことを特徴とする。
【0027】第14の発明は、少なくとも1つ以上のコ
ードブックを保持しておくコードブックサーバと、デー
タ圧縮システムと、データ伸長システムとを備えたデー
タ圧縮伸長システムであって、上記コードブックサーバ
は、上記データ圧縮システムおよびデータ伸長システム
からの要求に従って、保持している何れかのコードブッ
クを供給することを特徴とする。
【0028】第15の発明は、上記第9の発明におい
て、上記出力制御手段が或る時刻において、上記相関が
所定値より小さいかどうかに関係なく、全アドレスまた
は一部アドレスについて上記ベクトル量子化手段より出
力されたコード列を出力するようにしたことを特徴とす
る。
【0029】
【発明の実施の形態】(第1の実施形態)第1の実施形
態においては、静止画に対してベクトル量子化を行う際
に、通常は例えば4×4画素のような正方形のブロック
に対してベクトル量子化を行うところを、16×1画素
のように1ラインで成るブロックに対してベクトル量子
化を行う。さらに、ベクトル量子化時あるいはその圧縮
画像の再生の際に、画像の水平方向にブロックを各ライ
ン毎にずらす処理を行う。
【0030】図1および図2は、それぞれ第1の実施形
態に係るデータ圧縮装置および伸長装置の構成を示す機
能ブロック図であり、図3および図4は、それぞれ図1
および図2に示したデータ圧縮装置およびデータ伸長装
置の動作を示すフローチャートである。また、図5およ
び図6は、本実施形態による伸長側の動作を説明するた
めの説明図である。
【0031】まず、図5および図6について説明する。
図5では、ベクトルとして画像上の走査線に沿ったライ
ンブロックをベクトルデータとして用いた場合(本実施
形態のラインブロック方式)について、従来の正方形の
ブロックをベクトルデータとした場合(マクロブロック
方式)と比較して説明している。図5(a)は従来のマ
クロブロック方式を示し、図5(b)は本実施形態のラ
インブロック方式を示している。
【0032】図5(a)に示すように、コードブックメ
モリには、例えば4×4画素のマクロブロックを構成す
る16個のデータ列を1つのコードベクトルとして、こ
のコードベクトルがアドレス順に多数記憶されている。
このコードベクトルを利用して再生画像を生成し、それ
をディスプレイ等に表示する際には、16個のデータ列
が4×4の正しい画素位置に表示されるように、ディス
プレイメモリ上でアドレス変換を行う必要があった。
【0033】これに対して、図5(b)に示す本実施形
態のラインブロック方式では、16×1画素の1つのラ
イン上でブロックを抽出してベクトル量子化を行ってい
る。このラインブロック内のデータ配列は、ディスプレ
イのスキャン方向と合致しているので、正方形のマクロ
ブロックの場合に必要だったアドレス変換操作は回避す
ることができる。また、この場合のコードブックも、Ko
honen の自己組織化マップの手法を用いれば容易に得る
ことができる。
【0034】図7は、640×480画素の1枚の画像
を圧縮、伸長、表示する処理を行う際に、それぞれの処
理にかかる所用時間を測定した結果を示す図である。こ
の図7を見ると、従来のマクロブロック方式では、ベク
トル量子化(VQ)に約50msec、デコードに約160
msec、表示に約60msecの時間を要している。デコード
にこれだけの時間がかかる理由は、上述したように、コ
ード番号で指定されたコードベクトルをコードブックメ
モリから取り出してディスプレイに表示できる形式にす
る際に、アドレス変換が必要なためである。
【0035】このような場合、一般的にはアドレス変換
用の専用チップを用意してその高速化を図るのだが、本
実施形態ではもっと簡単に高速化を図るための手段とし
て、上述のラインブロック方式による手法を提案してい
る。図7には、ラインブロック方式をとった場合の各処
理時間も示している。ベクトル量子化および表示走査に
かかる時間はマクロブロック方式の場合と変化はない
が、デコード時間は160msecから大幅に短縮できてい
ることが分かる。
【0036】また、マクロブロック方式およびラインブ
ロック方式の何れの場合も(特にラインブロック方式を
とった場合)、コードベクトルのパターン画像を順番に
整然と貼り込んで再生画像を表示すると、再生画像の各
ラインの両端のパターンの大きな不連続点がどうしても
目立ってしまう。そこで、図6に示すように、本実施形
態では、コードベクトルのパターンを貼り込む位置を各
ライン毎に少しずつずらす工夫をとった(以下、これを
スライドブロック方式と称する)。
【0037】このように、少なくとも近接するライン間
ではコードベクトルのブロックを画像の水平方向にずら
してはめ込むようにすると、各ブロック境界の連続性が
断たれてブロック境界(量子化誤差)が目立ちにくくな
る。これにより、再生画像の両端に毛羽立ったような部
分は見えるが、概ね良好な画像が得られるようになる。
なお、この画像の両端部分の乱れは、表示をするときに
マスクをかけることで容易に除去することが可能であ
る。
【0038】本実施形態では、近接するライン間で画像
の水平方向にブロックをずらしていく処理を、図6で説
明したようにベクトル量子化後の画像の再生時に行うだ
けでなく、ベクトル量子化時にも行う。すなわち、画像
の左上から順番にきちんとブロックを切り出してくるの
ではなく、画像の水平方向にずらしながらブロックを切
り出してベクトル量子化を行うようにしている。
【0039】次に、以上に述べた第1の実施形態に係る
構成および動作を、主に図1〜図4に基づいて説明す
る。図1において、1は画像入力部であり、圧縮対象の
原画像データを入力する。入力された画像データは、画
像メモリ2に一旦蓄えられ、読み出し部3からのアドレ
ス制御等により読み出されて出力される。
【0040】4はブロック化部であり、上記画像メモリ
2から読み出された画像データを、例えば16×1画素
単位のラインブロックに分割する。その際、少なくとも
近接するライン間で画像の水平方向にずらしながらブロ
ックを切り出すようにする。なお、近接する水平ライン
との間でブロックの位置がずれていれば、ずらす方向と
量は任意に設定可能である。また、ここではブロック化
部4を設けているが、読み出し部3が画像データの読み
出しを行うときに、上述のようにラインブロックをずら
しながら読み出すようにすれば、このブロック化部4は
必ずしも必要ではない。
【0041】5はコードブック記憶部であり、原画像か
ら抽出されるラインブロックと同じ大きさ(16×1画
素のブロック)の画素パターンをコードベクトルとして
あらかじめ複数記憶している。6はベクトル量子化部で
あり、上記ブロック化部4によって原画像から抽出され
たある1つのラインブロックのデータと、コードブック
記憶部5に記憶されている複数のコードベクトルのデー
タとを夫々比較することにより、原画像のブロックデー
タと最も似通ったパターンをコードブック中から見つけ
出して、そのパターンのコード番号を出力する。この操
作を、原画像中から抽出される全てのラインブロックに
ついて行う。
【0042】また、図2において、7はコード番号入力
部であり、圧縮側で特定された各ブロック毎のコード番
号列を入力する。入力されたコード番号列は、コードメ
モリ8に一旦蓄えられ、読み出し部9からのアドレス制
御等により読み出されて出力される。10はコードブッ
ク記憶部であり、例えば16×1画素で成るブロックの
画素パターンをコードベクトルとしてあらかじめ複数記
憶している。このコードブックは、伸長処理に先立って
圧縮側のコードブックを伝送して記憶するようにしても
良いし、最初から同じものを記憶しておくようにしても
良い。
【0043】11は再生画像生成部であり、コードメモ
リ8より読み出されたコード番号列をもとに、これらに
対応するコードベクトルのパターン画像を夫々コードブ
ック記憶部10から読み出して当てはめる処理を行う。
12はブロックシフト部であり、再生画像生成部11よ
り出力された再生画像を構成する各ブロックを画像の水
平方向にずらす処理を行う。その際、例えば少なくとも
近接する水平ライン間でブロックの位置がずれていれ
ば、ずらす方向と量は任意に設定可能である。このよう
なシフト処理を施された再生画像は、画像メモリ13に
一旦蓄積された後、図示しない表示装置に送られて表示
される。
【0044】上記図1に示した圧縮側の動作を示す図3
において、まずステップS1で初期化処理を行う。ここ
では、処理済のブロックをカウントするためのブロック
カウンタ(図1では図示せず)、画像バッファ(図1の
画像メモリ2)、およびベクトル量子化により決定した
コード番号を格納するためのコードバッファ(図1では
図示せず)をそれぞれクリアする処理を行う。
【0045】次に、ステップS2で原画像を入力し、画
像バッファに格納する。そして、ステップS3で、その
画像バッファに格納された原画像中からx×y画素の大
きさのブロック(x,yは任意の値だが、上述の例では
x=16,y=1)を読み出す。この読み出しの際に
は、少なくとも近接する水平ライン間でブロックの位置
がずれるようにブロックの位置を調整する。
【0046】そして、ステップS4で、読み出したブロ
ックのデータに対してベクトル量子化の処理を行い、コ
ードブック記憶部5に記憶されているコードブックの中
から上記読み出したブロックのデータと最も相関度の大
きいコードベクトルを探し出し、それに対応するコード
番号(Winner code )を決定する。次に、ステップS5
で、得られたコード番号をコードバッファに格納する。
ここに格納されたコード番号は、その後外部に出力され
る。なお、このコードバッファは必ずしも必要ではな
い。
【0047】次に、ステップS6に進み、画像中の全て
のブロックについて上述の処理が終了したかどうかを判
断する。終了していなければ、ステップS7でブロック
カウンタの値を1だけ増やした後、ステップS3に戻っ
て同様の処理を繰り返す。このようにして画像中の全て
のブロックについてコード番号を決定して出力すること
により、原画像が圧縮される。
【0048】また、上記図2に示した伸長側の動作を示
す図4において、まずステップS8で初期化処理を行
う。ここでは、処理済のブロックをカウントするための
ブロックカウンタ(図2では図示せず)、再現画像バッ
ファ(図2の画像メモリ13)、および入力されたコー
ド番号を格納するためのコードバッファ(図2のコード
メモリ8)をそれぞれクリアする処理を行う。
【0049】次に、ステップS9で、圧縮側で生成され
たコード番号列を入力し、コードバッファに格納する。
そして、ステップS10で、格納されたコード番号列の
うち、現在のブロックカウンタで示される1つのコード
番号をもとにデコード処理を行う。すなわち、コードブ
ック記憶部10に記憶されているコードブックの中か
ら、コード番号に対応するコードベクトル(パターン画
像)を取り出して再現画像バッファに格納する。その
際、取り出されたx×y画素のブロックを、少なくとも
近接する水平ライン間で位置がずれるように格納する。
【0050】ここで、本実施形態では、圧縮側のステッ
プS3と伸長側のステップS10とで、ブロックのずら
し方が互いに逆の関係となるようにする。すなわち、ス
テップS3においてあるブロックラインについて右方向
にi画素分ずらしたら、ステップS10では、そのブロ
ックラインについては左方向にi画素分ずらすようにす
る。このようにすることで、再生される再現画像中には
各ブロックライン毎のずれがなくなくので、量子化誤差
を目立たなくすることができるだけでなく、再生画像の
画質を更に向上させることができる。
【0051】次に、ステップS11に進み、画像中の全
てのブロックについて上述の処理が終了したかどうかを
判断する。終了していなければ、ステップS12でブロ
ックカウンタの値を1だけ増やした後、ステップS10
に戻って同様の処理を繰り返す。このようにして画像中
の全てのブロックについてコードブック中からパターン
画像を取り出して再現画像バッファに格納することによ
り、ここに格納された再現画像がディスプレイ等に与え
られて表示される。
【0052】なお、以上の例では、圧縮側と伸長側との
両方でブロックをずらす例を説明したが、圧縮側におい
てのみ、もしくは伸長側においてのみブロックをずらす
ようにしても良い。この場合は、再現画像中に各ブロッ
クライン毎のずれが含まれることはあるものの、量子化
誤差自体は目立たなくすることができ、従来例に比べて
再生画像の画質を向上させることができる。
【0053】また、ここでは静止画のデータ圧縮につい
て説明しているが、動画の場合は個々のフレームに対し
てベクトル量子化を行うことから、この動画のデータ圧
縮についても同様に適用することができる。本実施形態
では、図8に示すベクトル量子化PCIバスボード22
を用いて、動画像をベクトル量子化により圧縮し、圧縮
を行った結果から動画像の再生を行うシステムを実現し
ている。以下に、その詳細な説明を行う。
【0054】図8に示すベクトル量子化ボード22に
は、例えば8ビット16次元(4×4画素)のコードベ
クトルを256個搭載可能なチップが8個実装されてお
り、合わせて2048個のコードベクトルを用いてベク
トル量子化を実行可能となっている。これらのチップ
は、例えばFPGA(Field Programmable Gate Array
)により構成されたPCIバスインターフェースを介
して図示しないコンピュータと接続されている。
【0055】ベクトル量子化を行う際には、まずあらか
じめ作成しておいたコードブックを構成している全ての
コードベクトルをメモリ21からベクトル量子化ボード
22のチップ上に転送しておく。次に、あらかじめメモ
リ21に保存しておいた動画像データを順次ベクトル量
子化ボード22に送り、ベクトル量子化を実行する。ベ
クトル量子化の結果得られたコード番号は、一旦メモリ
21に格納される。そして、このコード番号をもとにそ
れに対応するコードベクトルをメモリ21から読み出
し、デコードを実行する。デコードされた再生画像デー
タは、コンピュータのディスプレイ23に送られ、画像
として表示される。
【0056】ここでは、コードブックを構成しているコ
ードベクトルの個数を2048個とし、コードベクトル
を構成しているデータの個数を16個としているが、こ
れは1つの具体例であり、ここで述べた数値に制限され
るものでないことは言うまでもない。また、ここで構成
したシステムにおいて用いた画像サイズ、並びにベクト
ル量子化を行う際のブロックサイズについても、1つの
具体例であり、ここで述べた数値に制限されるものでな
いことも言うまでもない。
【0057】以上のように、第1の実施形態では、ベク
トル量子化の処理単位であるブロックを、例えば16×
1画素のようなラインブロックとしている。これは、デ
ィスプレイのスキャン方向に合っているため、再生の際
のアドレス変換処理が不要となり、画像の再現スピード
が速くなる(4×4画素のマクロブロックでベクトル量
子化を行った場合に比べて、約3.5倍の再現スピード
が得られる)。
【0058】例えば、1フレームが640×480画素
の動画像に対してマクロブロック方式によりデータ圧縮
を行うと、フレームレートは4フレーム/秒程度である
が、本実施形態のラインブロック方式によれば、毎秒1
4フレーム程度のベクトル量子化動作が実現できる。
【0059】表示部分の処理時間の短縮は、表示プログ
ラムの改善により実現可能である。また、現在のシステ
ムでは、ベクトル量子化処理にかかる時間は、その6割
程度が入力ベクトルをベクトル量子化ボードに転送する
ためのアドレス変換および転送時間で占められており、
実際にベクトル量子化チップが動作しているのはわずか
である。したがって、転送バス幅を拡張してCPUの処
理能力を高めることにより、処理速度を更に短縮するこ
とが可能である。これらの改善を実行することで、毎秒
30フレームのベクトル量子化動作は実現可能である。
【0060】また、本実施形態では、画像の水平方向に
各ブロックをずらしながら切り出してベクトル量子化を
行い、あるいは各ブロックをずらしながら画像の再現を
行っているので、ブロックをそのまま順番にはめ込んだ
場合に画像の両端において目立つブロック境界による縦
線(量子化誤差)が分散されて目立たなくなり、画質を
向上させることができる。
【0061】なお、以上の実施形態ではラインブロック
方式とスライドブロック方式とを併用しているが、何れ
か一方のみを用いても良い。ラインブロック方式だけを
採用した場合は少なくとも画像の再現スピードを速くす
ることができ、スライドブロック方式だけを採用した場
合は少なくとも量子化誤差を目立たなくすることができ
る。
【0062】また、以上の実施形態では、1枚の画像内
で空間方向に対してブロックをずらす例を示している
が、複数のフレームを有する動画像をデータ圧縮する場
合において、フレーム間において時間軸方向に対してブ
ロック内の要素をずらすようにしても良い。このように
した場合にも、再生画像中の量子化誤差を目立たなくす
ることができる。
【0063】(第2の実施形態)動画像に対して圧縮を
行う際に、動画を構成する各々のフレーム(静止画)に
対してベクトル量子化を行うだけでは、高い圧縮率を得
ることは難しい。そこで第2の実施形態では、複数フレ
ームの各静止画に対してフレーム内でのベクトル量子化
を行うだけでなく、複数フレームの各静止画の同じアド
レスどうしのデータをベクトルと成し、フレーム間でも
ベクトル量子化を適用してデータ圧縮を行うようにす
る。
【0064】図9および図10は、第2の実施形態によ
るデータ圧縮伸長システムの一構成例を示す機能ブロッ
ク図であり、図11は、第2の実施形態に係る圧縮時の
データの流れを示すデータフロー図である。なお、図9
は圧縮側の構成を示し、図10は伸長側の構成を示して
いる。また、伸長時のデータの流れは基本的に圧縮時の
流れと逆であり、図11から想定できるので、伸長時の
データフロー図はここでは特に示していない。
【0065】ここでは、図11に示すように、1フレー
ムが640×480画素からなり、1画素当たりの輝度
値が8ビット表現された動画像に対して圧縮伸長を行う
場合について述べる。また、ここでは説明の都合上、1
6フレーム分の画像に対して圧縮伸長を行っているもの
とする。
【0066】図9において、31は画像入力部であり、
圧縮対象の原画像データ、ここでは動画像データを各フ
レーム毎に順次入力する。入力された画像データは、各
フレーム毎に画像メモリ32に一旦蓄えられ、読み出し
部33からのアドレス制御等により読み出されて出力さ
れる。
【0067】34はブロック化部であり、上記画像メモ
リ32から読み出された画像データを、例えば4×4画
素単位のブロックに分割する。なお、ここではブロック
化部34を設けているが、読み出し部33が画像データ
の読み出しを行うときに、ブロック単位で読み出すよう
にすれば、このブロック化部34は必ずしも必要ではな
い。
【0068】35は空間方向用コードブック記憶部であ
り、1枚の静止画(フレーム)に対して当該フレーム内
でベクトル量子化を行うためのコードブック(1つのフ
レーム空間内でベクトル量子化を行うためのコードブッ
クであるので、以下ではこれを「空間方向用コードブッ
ク」と称する)をデータベースとしてあらかじめ記憶し
ておくものである。
【0069】ここでは、この空間方向用コードブック
は、16個のデータからなるデータ列を1つのコードベ
クトルとし、そのコードベクトルを複数組み合わせたも
のである。ここでは、2048ベクトル分を組み合わせ
て空間方向用コードブックを構成している。
【0070】36は相関度演算部であり、演算モード指
定部37により空間方向ベクトル量子化を行うモードが
指定されているときは、順次入力される各フレーム毎
に、上記空間方向用コードブック記憶部35に記憶され
ている空間方向用コードブックを用いて、当該コードブ
ック中の複数のコードベクトルと原画像からの入力ベク
トルとの相関、つまり類似度を算出する。
【0071】ここで類似度とは、例えば、2つのベクト
ルデータをある関数に入力して演算することで、両者が
どれくらい似ているかを数値化したものを言う。上記関
数の代表的なものとしては、2つの入力ベクトルデータ
のマンハッタン距離(差分絶対値距離)やユークリッド
距離を求める関数が挙げられる。例えばマンハッタン距
離は、入力ベクトルを構成している個々の要素のデータ
と、コードベクトルを構成してい個々の要素のデータと
の差分絶対値を夫々求め、得られたそれぞれの差分絶対
値を加算することで得られる。
【0072】入力ベクトルに最も似通ったコードベクト
ルを探し出すためには、空間方向用コードブックを構成
する各コードベクトル毎に例えば上述のようなマンハッ
タン距離を求め、その距離が最も小さいものを探し出
す。なお、類似度を求めるための関数は、上記の関数に
限らず、目的に応じて任意の関数を使うことができる。
例えば、一方あるいは双方のベクトルデータに対して係
数(重み)を付けた関数や、ブロック内の特徴量データ
(例えば、ベクトルデータの要素の総和)を計算する関
数などを使っても良い。
【0073】38はコード決定部であり、上記相関度演
算部36による類似度の演算結果に基づいて、類似度の
最も大きいコードベクトルに対応するコード番号をその
ブロックの圧縮コード(Winner code )として出力す
る。この相関度演算部36およびコード決定部38によ
りベクトル量子化手段が構成される。ここでのベクトル
量子化の手法としては、従来の手法を用いても良いし、
第1の実施形態で述べた手法を用いても良い。
【0074】以下、この空間方向ベクトル量子化の動作
について、図11を用いて詳しく説明する。まず、第1
フレーム目の画像について、上記空間方向用コードブッ
クを用いてベクトル量子化を行う。ここでは、第1フレ
ーム目の画像を水平方向に4画素、垂直方向に4画素ず
つ区切ったブロック領域をそれぞれ入力ベクトルと定義
し、その1つの入力ベクトルと、空間方向用コードブッ
クを構成している各コードベクトルとの類似度を求め、
入力ベクトルに最も似通ったコードベクトルのコード番
号を特定する。
【0075】この操作をフレーム内の全ての入力ベクト
ルに対して行うことにより、第1フレーム目の画像を4
×4画素に分割した各ブロック領域を、空間方向用コー
ドブック中のコードベクトルに対応するコード番号で置
き換える。図11中に127,198,…と示した数字
は、画像の左上から右下方向に向かって順に抽出したそ
れぞれのブロックについて置き換えたコード番号を示し
ている。
【0076】次に、第2フレーム目の画像から第16フ
レーム目の画像まで計15枚の画像に対して、上記第1
フレーム目の画像と同じ処理を行い、それぞれのフレー
ム画像について、フレーム内を夫々4×4画素に分割し
た各ブロック領域を、空間方向用コードブック中のコー
ドベクトルに対応するコード番号で置き換える。
【0077】図9に戻り、39は空間方向コード再配列
演算部であり、上記空間方向ベクトル量子化手段によっ
て空間方向用コードブックのコード番号で表現された各
フレームの画像に対して、同じアドレスが示すブロック
のコード番号をフレーム画像順に並べ替えることによ
り、時間軸方向に分散して存在する同アドレスブロック
の各コード番号を1つのデータ列としてまとめて表現す
る。
【0078】つまり、図11のように16フレーム分の
画像に対して空間方向ベクトル量子化を行った場合、第
1フレーム目の画像中の指定されたアドレスのブロック
のコード番号が、新しく作られるデータ列の0番地の位
置に置かれ、第2フレーム目の画像中の上記第1フレー
ム目の画像と同じアドレスのブロックのコード番号が、
新しく作られるデータ列の1番地の位置に置かれる。こ
のように、16フレーム分の同アドレスのブロックのコ
ード番号に対して並べ替えが行われ、最後の第16フレ
ーム目の画像中の同じアドレスのブロックのコード番号
は、新しく作られるデータ列の15番地の位置に置かれ
ることになる。
【0079】このようにして新しく生成された16個の
コード番号列を含む集合を、新たなベクトルとする。以
下では、これを「時間軸ベクトル」と称する。図11に
示した例の場合、例えば、第1フレーム目〜第16フレ
ーム目の各フレームの先頭アドレスで指定されるブロッ
クのコード番号を並べ替えた(127,287,58,
…,1483,876)のデータ列が、1つの時間軸ベ
クトルに相当する。
【0080】本例のように、1フレームが640×48
0画素の画像の場合で、かつ1つのブロック領域を4×
4画素とした場合、1フレームの画像からは160×1
20=19200個のブロックが生成される。よって、
上述のような並べ替え処理を空間方向ベクトル量子化を
行った画像のすべての範囲に対して行うと、19200
個の時間軸ベクトルが新しく生成されることとなる。
【0081】再び図9に戻り、40は時間軸用コードブ
ック記憶部であり、上記のように作成された時間軸ベク
トルに対してベクトル量子化を行うためのコードブック
(時間の経過と共に与えられる複数のフレーム間に渡る
データに対してベクトル量子化を行うためのコードブッ
クであるので、以下ではこれを「時間軸用コードブッ
ク」と称する)をデータベースとしてあらかじめ記憶し
ておく。この時間軸用コードブックも、16個のデータ
からなるデータ列を1つのコードベクトルとし、そのコ
ードベクトルを2048個組み合わせたものである。
【0082】上記空間方向コード再配列演算部39によ
り画像のすべての範囲に対して並べ替えが行われると、
時間軸ベクトル量子化開始信号が出力され、それが演算
モード指定部37に与えられる。これに応じて演算モー
ド指定部37は、時間軸ベクトル量子化を行うモードに
切り替える。相関度演算部36は、演算モード指定部3
7により時間軸ベクトル量子化を行うモードが指定され
ているときは、上記空間方向コード再配列演算部39に
より作成された各時間軸ベクトルに対して、上記時間軸
用コードブック記憶部40に記憶されている時間軸用コ
ードブックを用いてベクトル量子化を行う。
【0083】以下、この時間軸ベクトル量子化の動作に
ついて、図11を用いて詳しく説明する。すなわち、先
に生成された19200個の時間軸ベクトルのうち、あ
る1つの時間軸ベクトルと、時間軸用コードブックを構
成している各コードベクトルとの類似度を演算し、その
類似度が最も大きいコードベクトルの時間軸用コードブ
ック内のアドレス(コード番号)を特定する。なお、類
似度の演算については上述した通りである。
【0084】この操作を全ての時間軸ベクトルに対して
行うことにより、空間方向ベクトル量子化後のコード番
号列で表現されていた複数の時間軸ベクトルを、時間軸
用コードブック中の各コードベクトルに対応するコード
番号列で置き換える。図11の例では、例えば上述した
(127,287,58,…,1483,876)の時
間軸ベクトルが“10”という時間軸コード番号に置き
換えられている。この段階で、16フレーム分の640
×480画素分の画像は、例えば11ビット表現された
19200個のデータから成るデータ列(10,98
4,…)で表現されており、これが伸長側に供給され
る。
【0085】したがって、16フレーム分の動画像を圧
縮側から伸長側に転送しようとする場合、空間方向用コ
ードブックと時間軸用コードブックとをあらかじめ伸長
側に送っておき(伸長側において最初から同じものを持
っていても良い)、その後、上述の一連の処理によって
得られた時間軸コードブックのコード番号列で表現され
たリストを送れば良い。これにより、39321600
ビットの情報量を有する16フレーム分の画像を、約
0.01倍にあたる422400ビットの情報量を有す
る時間軸コードブックのコード番号列にまで、画質を保
持したまま圧縮することができる。
【0086】図10に示す伸長側では、このようにして
圧縮側から転送されてきたデータをもとに、もとの16
フレーム分の画像を再現することができる。まず、時間
軸コード入力部41は、圧縮側より転送されてきた時間
軸用コードブックのコード番号列を入力する。入力され
た時間軸コード番号列は、時間軸コードメモリ42に一
旦蓄えられ、読み出し部43からのアドレス制御等によ
り読み出されて出力される。
【0087】そして、空間方向コード再生部44は、時
間軸コードメモリ42より読み出された時間軸コード番
号列を用いて、個々の時間軸コード番号に対応するコー
ドベクトルを、例えば圧縮側からあらかじめ転送され時
間軸用コードブック記憶部45に記憶されている時間軸
コードブックから取り出す。そして、取り出した各コー
ドベクトルを順に配列することにより、空間方向のコー
ド番号を再生する。
【0088】ここでは、時間軸コードメモリ42より読
み出された時間軸コード番号列には19200個の時間
軸コード番号が含まれており、これらの時間軸コード番
号に対応する時間軸コードブックの1つのコードベクト
ルは16個のデータから構成されている。そのため、上
記空間方向コード再生部44の処理により順番に配列さ
れたコードベクトルのデータは、全部で307200個
のデータ(空間方向コード番号)から構成される。
【0089】このようにして再生された空間方向コード
番号列は、空間方向コードメモリ46に一旦蓄えられ、
読み出し部47からのアドレス制御等により読み出され
て出力される。次に、再生画像生成部48は、上記のよ
うに配列された307200個のデータ列から16個お
きにデータを取り出し、19200個のデータで1つの
データ列を生成し、これをベクトルとする。以下ではこ
れを、上述した時間軸ベクトルに対して「空間方向ベク
トル」と称する。
【0090】この操作を307200個のデータ列の全
空間に渡って行うことにより、空間方向コードメモリ4
6から読み出した空間方向コード番号列を16個の空間
方向ベクトルに16分割する。ここで生成された16個
の空間方向ベクトルは、それぞれ第1フレーム目から第
16フレーム目までの画像を再現するための空間方向コ
ード番号列の集合である。
【0091】再生画像生成部48は、さらに、16個に
分割された空間方向ベクトル列のそれぞれについて、そ
の空間方向ベクトルを構成する個々の空間方向コード番
号(19200個)に対応するコードベクトルを、例え
ば圧縮側からあらかじめ転送され空間方向用コードブッ
ク記憶部49に記憶されている空間方向用コードブック
から参照して探し出す。そして、該当するコードベクト
ル(パターン画像)のデータを各ブロック位置に順次は
め込んむことにより、元の画像を再生する。
【0092】このような処理を16個に分割された空間
方向ベクトル列が得られる毎に行うことにより、元の1
6フレーム分の画像を再生することができる。なお、3
07200個の空間方向コード番号列から16個おきに
データを取り出す操作を読み出し部47が行うようにす
れば、再生画像生成部48は、19200個のデータが
読み出される毎に各フレームの再生画像を順に生成する
ことができる。
【0093】このようにして再生された画像は、画像メ
モリ50に一旦蓄積された後、図示しない表示装置に送
られて表示されたり、あるいは図示しない記憶装置に送
られて記憶されたりする。
【0094】なお、この第2の実施形態では、1つのベ
クトルを構成するデータの数が16個であり、空間方向
用コードブックおよび時間軸用コードブックがそれぞれ
2048個のコードベクトルで構成されているとした
が、これは本実施形態を説明するにあたって分かりやす
くするために挙げた例であり、ここで述べた数値に限定
されるべきでないのは言うまでもない。
【0095】また、ここでは16フレーム分の画像をベ
クトル量子化により圧縮することについて述べたが、圧
縮を行うフレームの枚数は16フレームに限定されるも
のではなく、必要な枚数のフレームをベクトル量子化に
より圧縮しても良いことは言うまでもない。また、ここ
では動画像を用いた実施形態を示しているが、動画像に
限らず、音声信号を対象にしても同様に適用することが
できる。
【0096】また、この第2の実施形態では、1つの相
関度演算部36を空間方向ベクトル量子化と時間軸ベク
トル量子化とで使い回すようにしているが、それぞれの
ベクトル量子化用に2つ設けても良い。
【0097】(第3の実施形態)図12は、第3の実施
形態に係る圧縮時のデータの流れを示すデータフロー図
である。なお、第3の実施形態によるデータ圧縮伸長シ
ステムの構成は、第2の実施形態とほぼ同様なのでここ
では図示を省略する。ただし、空間方向コード再配列演
算部39および再生画像生成部48における処理内容が
第3の実施形態では多少異なっているので、これについ
ては詳しく説明する。
【0098】本実施形態では、図12に示すように、1
7フレーム分の画像に対して圧縮を行っている。このた
め、相関度演算部36では、演算モード指定部37によ
り空間方向ベクトル量子化を行うことが指定されている
ときに、第1のフレーム目の画像から第17のフレーム
目の画像まで計17枚の画像に対して空間方向ベクトル
量子化の処理を行うことにより、それぞれのフレーム画
像について、夫々4×4画素に分割した各ブロック領域
を、空間方向用コードブック中のコードベクトルに対応
するコード番号で置き換える。
【0099】空間方向コード再配列演算部39は、上記
相関度演算部36によって空間方向用コードブックのコ
ード番号で表現された各フレームの画像中で同じアドレ
スが示すブロックのコード番号について、第1フレーム
目(これを基準フレームとする)のコード番号と各フレ
ームのコード番号との差分を夫々算出し、その結果をフ
レーム画像順に並べ替える。なお、並べ替えた後に個々
のアドレス毎に基準フレームとの差分を計算しても良
い。
【0100】すなわち、図12に示すように、まず第1
フレーム目と第2フレーム目とで同じアドレスどうしの
コード番号間で差分をとり、次に第1フレーム目と第3
フレーム目とで同じアドレスどうしのコード番号間で差
分をとる。以下同様にして、第1フレーム目と第4〜第
17フレーム目とで同じアドレスどうしのコード番号間
で差分をとる。そして、同じアドレスが示すブロックの
差分結果をフレーム画像順に並べ替えることにより、時
間軸方向に分散して存在する同アドレスブロックの各差
分コード番号を1つのデータ列としてまとめて表現す
る。
【0101】つまり、図12のように17フレーム分の
画像に対して空間方向ベクトル量子化を行った場合、第
1フレーム目の画像のコード番号と第2フレーム目の画
像のコード番号との差が、新しく作られるデータ列の0
番地の位置に置かれ、第1フレーム目の画像のコード番
号と第3フレーム目の画像のコード番号との差が、新し
く作られるデータ列の1番地の位置に置かれる。
【0102】このように、第1フレーム目のコード番号
と残り16フレーム分のコード番号とのそれぞれの差に
対して並べ替えが行われ、最後の第1フレーム目の画像
のコード番号と第17フレーム目の画像のコード番号と
の差は、新しく作られるデータ列の15番地の位置に置
かれることになる。相関度演算部36は、演算モード指
定部37により時間軸ベクトル量子化を行うことが指定
されているときは、このようにして並べ替えられた時間
軸ベクトル列に対して時間軸ベクトル量子化の処理を行
い、時間軸用コードブックの時間軸コード番号列を出力
する。
【0103】この段階で、17フレーム分の640×4
80画素分の画像は、例えば11ビット表現された19
200個のデータから成るデータ列で表現されている。
したがって、17フレーム分の動画像を転送する場合、
空間方向用コードブックと時間軸用コードブックとをあ
らかじめ伸長側に送っておき、その後、上述の一連の処
理によって得られた時間軸コードブックのコード番号列
で表現されたリストと、第1フレーム目の画像が空間方
向用コードブックのコード番号列で表現されたデータ列
とを送れば良い。
【0104】これにより、41779200ビットの情
報量を有する17フレーム分の画像を、約0.01倍に
あたる422400ビットの情報量を有する時間軸コー
ドブックのコード番号列にまで、画質を保持したまま圧
縮することができる。
【0105】伸長側では、このようにして圧縮側から転
送されてきたデータをもとに、もとの17フレーム分の
画像を再現することができる。再生画像生成部48によ
って307200個の配列データを16個の空間方向ベ
クトルに16分割するところまでは、第2の実施形態と
同様である。本実施形態では、さらに、圧縮側より送ら
れてきている第1フレーム目の空間方向ベクトル量子化
後のコード番号と、再生画像生成部48により再生され
た各空間方向ベクトルを構成しているコード番号差分と
の加算を行い、コード番号のデータ列を再構成する。
【0106】再生画像生成部48は、第1フレーム目の
空間方向ベクトルと、16個に分割され再構成された空
間方向ベクトル列とのそれぞれについて、その空間方向
ベクトルを構成する個々のコード番号に対応するコード
ベクトルを、空間方向用コードブック記憶部49に記憶
されている空間方向用コードブックから探し出してはめ
込んでいくことにより、元の画像を再生する。これによ
り、元の17フレーム分の画像を再生することができ
る。
【0107】なお、この第3の実施形態では、1つのベ
クトルを構成するデータの数が16個であり、空間方向
用コードブックおよび時間軸用コードブックがそれぞれ
2048個のベクトルで構成されているとしたが、これ
は本実施形態を説明するにあたって分かりやすくするた
めに挙げた例であり、ここで述べた数値に限定されるべ
きでないのは言うまでもない。
【0108】また、ここでは17フレーム分の画像をベ
クトル量子化により圧縮することについて述べたが、圧
縮を行うフレームの枚数は17フレームに限定されるも
のではなく、必要な枚数のフレームをベクトル量子化に
より圧縮しても良いことは言うまでもない。また、ここ
では動画像を用いた実施形態を示しているが、動画像に
限らず、音声信号を対象にしても同様に適用することが
できる。
【0109】(第4の実施形態)図13は、第4の実施
形態に係る圧縮時のデータの流れを示すデータフロー図
である。なお、第4の実施形態によるデータ圧縮伸長シ
ステムの構成も、第2の実施形態とほぼ同様なのでここ
では図示を省略する。ただし、空間方向コード再配列演
算部39および再生画像生成部48における処理内容が
第4の実施形態では多少異なっているので、これについ
ては詳しく説明する。
【0110】図13に示すように、本実施形態において
も第3の実施形態と同様に、17フレーム分の画像に対
して圧縮を行っているが、空間方向コード再配列演算部
39で行う差分演算の内容が上述の例とは異なってい
る。すなわち、第3の実施形態では、第1フレーム目の
画像のコード番号と残りの各フレームのコード番号との
差分を夫々演算していたが、第4の実施形態では、互い
に隣り合うフレームどうしでコード番号の差分を演算す
る。
【0111】すなわち、図13に示すように、まず第1
フレーム目と第2フレーム目とで同じアドレスどうしの
コード番号間で差分をとり、次に第2フレーム目と第3
フレーム目とで同じアドレスどうしのコード番号間で差
分をとる。以下、第16フレーム目と第17フレーム目
とで差分をとるまで同様の処理を行う。そして、同じア
ドレスが示すブロックの差分結果をフレーム画像順に並
べ替えることにより、時間軸方向に分散して存在する同
アドレスブロックの各差分コード番号を1つのデータ列
としてまとめて表現する。
【0112】また、第4の実施形態による伸長側の構成
および動作も、第3の実施形態の場合とほぼ同じである
が、再生画像生成部48で行う加算の内容が異なってい
る。すなわち、第4の実施形態では、互いに隣り合うフ
レームの空間方向ベクトルを構成しているコード番号ど
うしで加算を行い、それぞれの加算結果でコード番号の
データ列を再構成する。
【0113】すなわち、まず、圧縮側より送られてきて
いる第1フレーム目の空間方向ベクトル後のコード番号
と、再生画像生成部48により再生された1つ目の空間
方向ベクトルを構成しているコード番号差分との加算を
行い、第2フレーム目の画像の空間方向ベクトルを生成
する。
【0114】次に、生成された第2フレーム目の画像の
空間方向ベクトルを構成しているコード番号と、再生画
像生成部48により生成された2つ目の空間方向ベクト
ルを構成しているコード番号差分との加算を行い、第3
フレーム目の画像の空間方向ベクトルを生成する。同じ
操作を残りの空間方向ベクトルについても順番に行うこ
とにより、第1フレーム目を除く16フレーム分の空間
方向ベクトルのコード番号列を再構成する。
【0115】なお、この第4の実施形態でも、1つのベ
クトルを構成するデータの数が16個であり、空間方向
用コードブックおよび時間軸用コードブックがそれぞれ
2048個のベクトルで構成されているとしたが、これ
は本実施形態を説明するにあたって分かりやすくするた
めに挙げた例であり、ここで述べた数値に限定されるべ
きでないのは言うまでもない。
【0116】また、ここでは17フレーム分の画像をベ
クトル量子化により圧縮することについて述べたが、圧
縮を行うフレームの枚数は17フレームに限定されるも
のではなく、必要な枚数のフレームをベクトル量子化に
より圧縮しても良いことは言うまでもない。また、ここ
では動画像を用いた実施形態を示しているが、動画像に
限らず、音声信号を対象にしても同様に適用することが
できる。
【0117】また、ここではフレーム間のコード番号の
差分をとる方法として、隣り合うフレームどうしのコー
ド番号差分をとっているが、必ずしも隣り合うフレーム
間のコード番号の差分をとる必要はないことは言うまで
もない。
【0118】以上のように、第2〜第4の実施形態によ
れば、空間方向ベクトル量子化の処理に加えて時間軸ベ
クトル量子化の処理を導入することにより、動画像の各
フレーム内でデータ圧縮を行うだけでなく、各フレーム
間に対してもデータ圧縮を行うことができ、より高い圧
縮率を得ることができる。
【0119】すなわち、1枚のフレーム画像に対して空
間方向ベクトル量子化のみを行ったときの圧縮率は1/
11.6程度であるが、時間軸ベクトル量子化を導入し
て例えば16フレーム分の動画像に対してデータ圧縮を
行うと、圧縮率は16倍(圧縮の対象となるフレーム枚
数倍)になり、1/185.6となる。
【0120】(第5の実施形態)本実施形態では、圧縮
した画像を再生する際に、より高画質な再生画像を得る
ための手法の具体例について述べる。なお、時間軸方向
に画像データを圧縮する手法については、第2〜第4の
実施形態で述べた何れの手法を用いてもよいが、ここで
は第2の実施形態の手法を用いた場合を例にとって説明
する。
【0121】上述した第2の実施形態では、空間方向コ
ード再生部44により再生された307200個の空間
方向コード番号列を再配列して生成した16個の空間方
向ベクトルに対して、それらを構成する個々のコード番
号に対応するコードベクトルを空間方向用コードブック
記憶部49内の空間方向用コードブックから参照し、該
当するパターン画像のデータを各ブロック位置にはめ込
むことで元の画像を再生していた。
【0122】ところが、この手法だと1枚目のフレーム
の再生画像は画質の高いものが得られるが、フレームが
進むにつれて時間軸方向のベクトル量子化による量子化
誤差が目立つようになり、画質が劣化してくる。そこ
で、本実施形態では、このような画質の劣化を防ぎ、か
つ圧縮率を同等に維持するために、伸長側の再生画像生
成部48内の構成を例えば図14のようにする。
【0123】図14において、時間軸コード再配列演算
部48aは、第2の実施形態と同様に、空間方向コード
再生部44により再生された307200個の空間方向
コード番号列を再配列して、19200個のデータ列か
ら成る16個の空間方向ベクトルを生成する。本実施形
態では、この時間軸コード再配列演算部48aの後段に
時間軸シフト部48bを設けている。
【0124】時間軸シフト部48bは、空間方向デコー
ド部48cが16個の空間方向ベクトル列の個々のコー
ド番号に対応するコードベクトルを空間方向用コードブ
ック記憶部49内のコードブックから参照し、参照して
きたパターン画像を各フレーム画像ごとにはめ込む際
に、圧縮側でベクトル量子化を行ったときに定義したブ
ロックの所望のアドレス毎に、空間方向ベクトルの要素
を時間軸方向にずらしてパターン画像をはめ込むように
シフト処理を行う。
【0125】すなわち、時間軸シフト部48bは、空間
方向ベクトル内の各要素(各アドレス)毎に、近接する
要素を時間軸方向にずらす処理を行う。例えば、ある指
定されたアドレスについては、16個の空間方向コード
番号列が第1フレーム目から順に配列されるが、他のア
ドレスについては、16個の空間方向コード番号列が第
1フレーム目以外のフレームから順に配列されるように
する。
【0126】このようにすることで、時間軸方向のベク
トル量子化により生じる量子化誤差を時間軸方向に分散
させることができる。よって、フレームが進むごとに目
立っていた量子化誤差を目立たなくすることができ、全
体的に再生画像の画質を向上させることができるという
利点が得られる。
【0127】(第6の実施形態)上述した第5の実施形
態では、伸長側においてパターン画像を時間軸方向にず
らしてはめ込むことにより、量子化誤差を目立たなくさ
せていた。これに対して、圧縮側において時間軸方向へ
のシフト処理を行うことにより、量子化誤差を目立たな
くさせることもできる。この第6の実施形態では、その
ような手法について説明する。
【0128】本実施形態においても、時間軸方向に画像
データを圧縮する手法については、上記第2〜第4の実
施形態で述べた何れの手法を用いてもよいが、ここでも
第2の実施形態の手法を用いた場合を例にとって説明す
る。本実施形態において、図9の空間方向コード再配列
演算部39は、空間方向ベクトル量子化後のコード番号
列を時間軸方向にシフトする処理を行う。
【0129】すなわち、空間方向コード再配列演算部3
9は、相関度演算部36による空間方向ベクトル量子化
によって各フレーム画像毎に生成された空間方向コード
番号列のうち、同じアドレスが示すブロックのコード番
号について、アドレス毎に異なるフレームを基準として
時間軸ベクトルの要素が配列されるように並べ替えを行
う。
【0130】つまり、上述した第2の実施形態では、空
間方向ベクトル量子化後のコード番号列のうち、同じア
ドレスが示すブロックのコード番号をフレーム画像順に
並べ替えて時間軸ベクトルを生成する際に、全てのアド
レスについて第1フレームを基準として並べ替えを行っ
ていたが、本実施形態においては、どのフレームを基準
として並べ替えるかをアドレス毎に異ならせる。
【0131】例えば、ある時間軸ベクトルについては、
第1フレーム目のコード番号が新しく作られる時間軸ベ
クトルのデータ列の0番地の位置に置かれるが、他の時
間軸ベクトルについては、第1フレーム目以外のフレー
ムのコード番号が新しく作られるデータ列の0番地の位
置に置かれるようにする。
【0132】このようにすることで、上記第5の実施形
態と同様に、時間軸方向のベクトル量子化により生じる
量子化誤差を時間軸方向に分散させることができる。し
たがって、圧縮した画像を再生する際に、フレームが進
むごとに目立っていた量子化誤差を目立たなくすること
ができ、全体的に画質を向上させることができるという
利点が得られる。
【0133】なお、以上の実施形態では空間方向ベクト
ル量子化と時間軸ベクトル量子化とを組み合わせて行う
場合を例にとって説明しているが、少なくとも時間軸ベ
クトル量子化だけを行うようにしても良い。その際に、
各フレーム画像内の画素あるいはブロックを単位とし
て、上述のようにフレーム間で(時間軸方向に)位置を
ずらす処理を行うことにより、時間軸方向のベクトル量
子化により生じる量子化誤差を目立たなくすることがで
きる。
【0134】(第7の実施形態)図15は、第7の実施
形態によるデータ圧縮システムの一構成例を示す機能ブ
ロック図であり、図16は、第7の実施形態に係る圧縮
時のデータの流れを示すデータフロー図である。なお、
図15において、図9に示した符号と同一の符号を付し
たものは、同一の機能を有するものであるので、これに
ついての詳細な説明は省略する。また、図16では説明
の都合上、原画像を1フレームしか示していないが、実
際には複数のフレームが画像入力部31より順に入力さ
れる。
【0135】DC成分検出・除去部51は、原画像に対
してベクトル量子化を行う際の各ブロック毎に、ブロッ
クの中からDC成分(各画素の最小輝度値)を検出す
る。また、上記各ブロック毎に検出したDC成分をブロ
ック内の全ての画素値から夫々減算することにより、入
力された原画像の各画素値を各ブロック毎にその最小輝
度値からの増分だけで表した画像を生成する。
【0136】相関度演算部36は、演算モード指定部5
2により空間方向ベクトル量子化を行うモードが指定さ
れているときは、空間方向用コードブック記憶部53に
あらかじめ記憶されている、基本パターンだけで構成さ
れた空間方向用コードブックを用いて、DC成分除去後
の入力画像ブロックに対して空間方向ベクトル量子化の
処理を行う。ここで、基本パターンとは、例えば、コー
ドベクトルのブロック内で各画素の輝度値が8つの方向
に単調に変化するパターンを言う。
【0137】すなわち、基本パターンのコードブックと
は、例えば4×4画素単位で構成されるブロックのエッ
ジ部分(上下左右の各辺および四隅の各点)の何れかを
始点として、ブロック内を上下左右方向あるいは斜め方
向に輝度値が徐々に変化するパターンのコードベクトル
の集合を言う。これらのコードベクトルの始点の輝度値
を0に設定することで、DC成分検出・除去部51によ
り生成されるDC成分の除去された画像ブロックに合っ
たものとなっている。始点から終点までの輝度値の増分
にバリエーションを与えること等により、例えば321
パターンのコードベクトルによりこの基本パターンの空
間方向用コードブックを構成する。
【0138】また、DC成分検出・除去部51は、各ブ
ロック毎に検出した最小輝度値をそれぞれ抽出する。こ
れにより、図16に示すように、各ブロックの最小輝度
値のみで構成した160×120画素の画像を生成す
る。このようにして、DC成分検出・除去部51による
最小輝度値の抽出処理、および相関度演算部36による
空間方向ベクトル量子化処理を行うことで、原画像とし
て入力される複数フレームのそれぞれの画像に対して、
空間方向コード番号のデータ列と各ブロックの最小輝度
値のデータ列とを生成する。
【0139】次に、空間方向コード再配列演算部39
は、上記相関度演算部36によって空間方向用コードブ
ックのコード番号列で表現された各フレームの画像に対
して、同じアドレスが示すブロックのコード番号をフレ
ーム画像順に並べ替えることにより、時間軸方向に分散
して存在する同アドレスブロックの各コード番号を1つ
のデータ列としてまとめた時間軸ベクトルを生成する。
この処理は、上記第2〜第4の実施形態で述べた何れの
手法によっても良い。
【0140】同様に、空間方向DC成分再配列演算部5
4は、上記DC成分検出・除去部51により各ブロック
の最小輝度値のみで表現された各フレームの画像に対し
て、同じアドレスが示すブロックのデータ値をフレーム
画像順に並べ替えることにより、時間軸方向に分散して
存在する同アドレスブロックの各最小輝度値を1つのデ
ータ列としてまとめた時間軸ベクトルを生成する。この
処理も、上記第2〜第4の実施形態で述べた何れの手法
によっても良い。
【0141】図16に示した例の場合、基本パターンの
時間軸ベクトルについては、例えば第1フレーム目〜第
16フレーム目の各フレームの先頭アドレスで指定され
るブロックのコード番号を並べ替えた(127,28
7,58,…,283,276)のデータ列が、1つの
基本パターンの時間軸ベクトルに相当する。また、最小
輝度値の時間軸ベクトルについては、例えば第1フレー
ム目〜第16フレーム目の各フレームの先頭アドレスで
指定されるブロックの最小輝度値を並べ替えた(60,
50,58,…,76,77)のデータ列が、1つの最
小輝度値の時間軸ベクトルに相当する。
【0142】上記空間方向コード再配列演算部39およ
び空間方向DC成分再配列演算部54により並べ替えが
行われると、時間軸ベクトル量子化開始信号が出力さ
れ、それが演算モード指定部52に与えられる。これに
応じて演算モード指定部52は、基本パターンあるいは
最小輝度値の何れかについて時間軸ベクトル量子化を行
うモードに切り替える。
【0143】相関度演算部36は、演算モード指定部5
2により基本パターンの時間軸ベクトル量子化を行うこ
とが指定されているときは、上記空間方向コード再配列
演算部39により生成された各時間軸ベクトルに対し
て、時間軸用コードブック記憶部55に記憶されている
時間軸用コードブックを用いてベクトル量子化を行う。
また、演算モード指定部52により最小輝度値の時間軸
ベクトル量子化を行うことが指定されているときは、上
記空間方向DC成分再配列演算部54により生成された
各時間軸ベクトルに対して、時間軸DC成分用コードブ
ック記憶部56に記憶されている時間軸用コードブック
を用いてベクトル量子化を行う。
【0144】以上の処理により、空間方向ベクトル量子
化後のコード番号列で表現されていた基本パターンに関
する複数の時間軸ベクトルを、基本パターンの時間軸コ
ードブック中の各コードベクトルに対応するコード番号
列で置き換えるとともに、各ブロックの最小輝度値のデ
ータ列で表現されていた最小輝度値に関する複数の時間
軸ベクトルを、最小輝度値の時間軸コードブック中の各
コードベクトルに対応するコード番号列で置き換える。
そして、これらのデータリストを伸長側に転送する。
【0145】なお、本実施形態において、伸長側の構成
およびデータの流れについては図示していないが、基本
的には圧縮側とは逆の関係になっており、例えば以下の
ようにして処理を行えば良い。すなわち、基本パターン
および最小輝度値の各々について、上記第2〜第4の実
施形態で述べたのと同様の伸長処理を行う。そして、そ
れぞれについて伸長処理が完了したら、それぞれの結果
を各ブロック毎に合成していくことによって、元の画像
を再現することができる。
【0146】以上詳しく説明したように、第7の実施形
態によれば、原画像から1つの特徴量データ(上述の例
では各ブロック毎の最小輝度値)を抽出し、抽出した特
徴量データのベクトル量子化と、特徴量除去後の基本パ
ターンのベクトル量子化とを別個に行うようにしたの
で、様々な特徴が絡み合った原画像そのものに対するコ
ードブックに比べて、それぞれの画像のベクトル量子化
で使用するコードブックを単純化することができ、必要
なパターン数も減らすことができる(第2〜第6の実施
形態では2048パターンであったのが、本実施形態で
は321パターンで済んでいる)。
【0147】これにより、ベクトル量子化により類似度
の大きいパターンをコードブック中から探し出す際に、
単純化されたパターンどうしでの比較を行っているため
に、より適切なパターンに絞り込みやすくなり、高精度
のベクトル量子化を行うことができる。よって、このよ
うにして圧縮されたデータを再生する際には、より高画
質の再生画像を得ることができるようになる。
【0148】なお、この第7の実施形態では、抽出する
特徴量として最小輝度値を例に挙げて説明したが、これ
に限定されるものではない。例えば、ブロック内の各画
素の最大輝度値や平均値などを抽出するようにしても良
い。また、この第7の実施形態でも、1つの相関度演算
部36を空間方向ベクトル量子化と時間軸ベクトル量子
化とで使い回すようにしているが、それぞれのベクトル
量子化用に複数設けても良い。
【0149】また、本実施形態は、モノクロ画像やカラ
ー画像を問わずに適用することが可能である。例えば、
Y信号(輝度信号)とU,V信号(色信号)とから成る
カラー画像の場合、Y信号に対して上述のように最小輝
度値、最大輝度値、平均値などを特徴量として抽出する
ことが可能である。また、輝度信号に限らず、色信号に
対しても最小値、最大値、平均値等を特徴量として抽出
してベクトル量子化を行うようにしても良い。
【0150】また、以上の例では原画像から1つの特徴
量のみを抽出しているが、異なる種類の特徴量(例え
ば、ブロック内の最小輝度値、輝度変化の方向など)を
複数抽出してベクトル量子化を行うようにしても良い。
この場合は、出力されるコード番号のリストが増える分
圧縮率が低下するが、再生画像の画質は更に向上させる
ことができる。画質を優先させたい場合は、多くの特徴
量を抽出してそれぞれ別個にベクトル量子化するように
すれば良い。また、画質と圧縮率のどちらを優先する
か、あるいはどの程度優先するかを切り替えられるよう
にしても良い。
【0151】(第8の実施形態)上述したように、動画
像に対して圧縮を行う際に、動画を構成する各々のフレ
ーム画像(静止画)に対して単に空間方向ベクトル量子
化を行うだけでは、高い圧縮率を得ることは難しい。第
2〜第7の実施形態では、更に時間軸ベクトル量子化も
行うことによって圧縮率を更に高めるようにしてきた。
これに対して以下に述べる第8の実施形態では、今まで
とは異なる手法によって圧縮率を高める手段について説
明する。
【0152】本実施形態によるデータ圧縮システムの構
成例を、図17に示す。図17において、画像入力部6
1は、画像を連続して取り込む装置である。ここでは、
例えば1画素が8ビットの階調を持った640×440
画素の画像を1秒間に30枚の割合で取り込む。この画
像入力部61は、例えば、画像取り込み用のカメラやビ
デオカメラのみならず、画像を記憶可能な半導体メモリ
装置、ハードディスクやフロッピーディスクなどの記憶
媒体によって実現することもできる。
【0153】コードブック記憶部62には、例えば4×
4画素のブロックで構成されたパターン画像(コードベ
クトル)が多数登録されていて、各々のブロックにはユ
ニークなコード番号が割り当てられている。
【0154】コードブック方式による圧縮部63は、画
像入力部61で得られた画像の1枚1枚に対して、次に
述べるような空間方向ベクトル量子化の処理を行う。す
なわち、原画像の左上を起点としてそこから右方向へ向
かって順次4×4画素のブロックを取り出す。右端まで
取り出したら、取り出す位置を1ブロック分下にずらし
て左端から再び取り出して行き、それを繰り返すことに
より全画面分のブロックを取り出す。
【0155】そして、取り出した各ブロックに対して、
コードブック記憶部62に多数登録されているコードベ
クトルの中から最もパターンの似ているものを選び出
し、それに対応するコード番号を出力する。640×4
80画素の画像を処理する場合、19200個のブロッ
クが取り出されて処理されるので、出力されるコード番
号も19200個である。
【0156】コード列記憶部64は、ある時刻tにおけ
るフレーム画像をコードブック方式による圧縮部63に
て処理して出力されるコード番号列を記憶しておくため
のものである。また、コード列比較部65は、コード列
記憶部64に記憶されている上記ある時刻tの画像のコ
ード番号列と、次の時刻t+1の画像のコード番号列と
を比較し、同じアドレスが示すブロックのコード番号ど
うしでその差分絶対値をそれぞれ計算する。
【0157】出力部66は、コード列比較部65から与
えられる差分絶対値をもとに、媒体67(ネットワーク
などの通信チャンネルまたは記録媒体)に出力するデー
タを決定する。すなわち、あるアドレスについての差分
絶対値がある閾値より大きい場合は、そのアドレスとコ
ード番号とを媒体67に出力する。一方、あるアドレス
についての差分絶対値がある閾値より小さい場合は、そ
のアドレスとコード番号は媒体67に出力しない。
【0158】次に、上記図17に示したデータ圧縮シス
テムをソフトウェアで実現する場合の構成例を、図18
に示す。この図18は、CPU68を含むコードブック
方式動画像圧縮プロセッサの構成を示すものである。な
お、この図18に示した画像入力部61、コードブック
方式による圧縮部63および媒体67は、図17に示し
たものと同じである。
【0159】図18において、CPU68に付随して設
けられるメモリ69には、コードブック記憶エリア69
a、コード列記憶エリア69b、ポインタ・カウンタエ
リア69cおよび閾値記憶エリア69dが設けられてい
る。
【0160】コードブック記憶エリア69aは、コード
ブック方式による圧縮部63で使用するコードブックを
記憶しておくものである。コード列記憶エリア69b
は、コードブック方式による圧縮部63から各フレーム
毎に出力されるコード番号列を順次記憶しておくもので
あり、時刻tの画像をコードブック方式による圧縮部6
3で圧縮した結果のコード番号列が記憶される。
【0161】また、ポインタ・カウンタエリア69c
は、コード列記憶エリア69bに対するコード番号の読
み出し・書き込みを行う位置を示すポインタ(アドレ
ス)を記憶するものである。閾値記憶エリア69dは、
出力部66で媒体67に転送するデータを決定するため
の判断基準となる閾値を記憶するものである。
【0162】図19は、図18のCPU68が実行する
圧縮処理の手順を示すフローチャートである。図19に
おいて、まずステップS21で、コードブック記憶エリ
ア69aからコードブック方式による圧縮部63に対し
てコードブックのデータを転送する。次に、ステップS
22で閾値記憶エリア69bに所定の閾値を設定し、ス
テップS23でポインタ・カウンタエリア69cのポイ
ンタ(アドレス)をイニシャライズして、ポインタ値を
例えば“0”に設定する。
【0163】次に、ステップS24で、画像入力部61
から原画像中のマクロブロック(例えば、4×4画素の
ブロック)を1つ読み込む。そして、ステップS25
で、読み込んだマクロブロックをコードブック方式によ
る圧縮部63に送り、ここで空間方向ベクトル量子化の
処理を実行させる。これにより、圧縮コードとして空間
方向のコード番号列を得る。
【0164】次に、ステップS26で、コードブック方
式による圧縮部63から出力されたコード番号と、以前
の処理によって得られコード列記憶エリア69bに記憶
されているコード番号で、現在のポインタ値で示される
コード番号との差分絶対値を計算する。そして、ステッ
プS27で、上記計算された差分絶対値が、閾値記憶エ
リア69dに記憶されている閾値よりも大きかどうかを
判断する。
【0165】ここで、差分絶対値の方が大きい場合に
は、ステップS28で、上記コードブック方式による圧
縮部63から出力されたコード番号と、そのときのポイ
ンタの値とを媒体67に出力した後、ステップS29で
当該コード番号をコード列記憶エリア69bに記憶す
る。
【0166】一方、計算された差分絶対値が、閾値記憶
エリア69dに記憶されている閾値よりも小さい場合に
は、ステップS28の処理を実行せずにステップS29
に進み、コードブック方式圧縮部63から出力されたコ
ード番号をコード列記憶エリア69bに記憶する。そし
て、ステップS30でポインタ・カウンタエリア69c
のポインタをインクリメントし、ステップS31で1つ
の画像内の全てのマクロブロックについて処理が終了し
たかどうかを判断する。
【0167】全てのマクロブロックについて処理が終了
していない場合は、ステップS24に戻り、次のマクロ
ブロックを1つ取り込んで同様の処理を行う。上述した
処理は、画像入力部61から得られた画像中のすべての
マクロブロックを処理するまで続けられる。画像中のす
べてのマクロブロックを処理し終わると、動画像1フレ
ーム分に対する圧縮処理は全て終了する。以上の処理を
各フレーム毎に順次繰り返すことにより、動画像の圧縮
が実行される。
【0168】一方、伸長側においては、送られてきたコ
ード番号に対応するコードベクトルをコードブック中か
ら探し出し、それを各ブロック位置にはめ込んでいくと
いう基本的な処理は、以上に述べた各実施形態と同様で
ある。ただし、本実施形態においては、あるアドレスの
ブロックについてはコード番号が転送されてきていない
ので、そのようなブロックについては何らかの方法によ
って代わりのコードベクトルもしくはパターン画像を用
意する必要がある。
【0169】そのために、例えば、データ伸長システム
の構成として、ある時刻tにおけるデコード処理によっ
て再現されたフレーム画像を記憶しておくための再現画
像記憶部を設ける。そして、時刻t+1における再現画
像をデコード処理によって生成する際に、あるブロック
について圧縮側からコード番号が送られてきていない場
合は、そのブロックの画像を上記再現画像記憶部に記憶
されている前フレームの画像で代用するようにする。こ
のように、コード番号が送られたブロックと送られてい
ないブロックとを伸長側で識別するために、コード番号
と共に送られてくるブロックのアドレスが利用される。
【0170】以上のように、本実施形態では、複数フレ
ームの画像のそれぞれに対して空間方向ベクトル量子化
の処理を行い、それぞれのフレーム画像について空間方
向コード番号列を生成する。そして、複数フレームの画
像の同じアドレスどうしのコード番号について、フレー
ム間における変化量(差分絶対値)を求め、その変化量
がある閾値以上となった場合のみそれを転送データと
し、変化量が閾値より小さい場合には転送データとしな
いようにしている。
【0171】つまり、複数フレームの画像を構成する各
ブロックのうち、フレーム間でデータ値が大きく変化し
たところのデータだけを転送し、変化が少ないところの
データは転送せずに前フレームのデータを用いるように
する。これにより、動きの激しい部分のデータのみを転
送することとなり、個々のフレーム内で空間方向ベクト
ル量子化した結果に加えて、フレーム方向(時間軸)に
対してもデータを圧縮することができ、単なる空間方向
ベクトル量子化だけでは得られなかった高い圧縮率を得
ることができる。
【0172】(第9の実施形態)以上の示した各実施形
態は、モノクロ画像に対してもカラー画像に対しても同
様に適用することができる。以下に述べる第9の実施形
態は、特にカラー画像に対してベクトル量子化によるデ
ータ圧縮を行う場合に、伸長側での再生画像の画質と圧
縮率をより向上させることができるようにしたものであ
る。
【0173】図20は、本実施形態によるデータ圧縮シ
ステムの構成例を示すブロック図である。図20におい
て、画像入力部71より入力されたカラーの原画像は、
画像メモリ72に一旦蓄えられ、読み出し部73からの
アドレス制御等により読み出されて出力される。画像メ
モリ72より読み出されたカラー画像は、Y,U,V信
号分離部74に与えられる。
【0174】このY,U,V信号分離部74は、原画像
からY信号(輝度信号)とU信号およびV信号(色信
号)をそれぞれ分離する。ブロック化部75は、上記
Y,U,V信号分離部74により分離された各画像デー
タを、例えば4×4画素単位のブロックに分割する。こ
のときブロック化部75は、Y,U,Vのどの信号に対
してブロック化を行っているかを信号種指定信号として
空間方向用コードブック記憶部76に伝える。
【0175】相関度演算部77は、このようにして分離
抽出したY信号、U信号、V信号のそれぞれに対して独
立に、上述した類似度を算出する。そして、コード決定
部78は、上記相関度演算部77による類似度の演算結
果に基づいて、類似度の最も大きいコードベクトルに対
応するコード番号をそのブロックの圧縮コード(Winner
code )として出力する。
【0176】このような空間方向ベクトル量子化の実行
の際、相関度演算部77では、空間方向用コードブック
記憶部76にあらかじめ記憶されているコードブックを
用いてベクトル量子化を行うが、空間方向用コードブッ
ク記憶部76内のどのコードブックを利用するかは、上
記信号種指定信号に応じて決められる。すなわち、空間
方向用コードブック記憶部76には、Y信号用のコード
ブックと、U信号用のコードブックと、V信号用のコー
ドブックとがあらかじめ多数記憶されており、それぞれ
の信号用のコードブックが、ブロック化部75から相関
度演算部77に出力される信号種に合わせて順次利用さ
れる。
【0177】このとき、本実施形態では、Y信号に対し
てUV信号よりも大きなコードブックを割り当てるよう
にする。例えば、Y信号用のコードブックを8192個
のコードベクトル(13ビット)で構成し、UV信号用
のコードブックをそれぞれ128個のコードベクトル
(7ビット)で構成するようにする。ただし、Y,U,
Vを合わせた全体のコードブックの大きさは、それぞれ
の信号用のコードブックを均等に割り当てた場合の全体
の大きさと変わらないか、もしくはそれより小さくなる
ようにする。
【0178】一般に、画質を決める最も重要な信号はY
信号(輝度信号)であるため、それぞれの信号に対して
割り当てるコードブック(コードベクトルのコード長)
を、UV信号よりもY信号の方を大きくすることによ
り、全体的なコード長は変えずに再生画像の画質を向上
させることができる。
【0179】すなわち、圧縮レートをY:U:V=1:
1:1として圧縮を行った場合、Y信号に対してコード
ベクトルの数をUV信号より多く割り当てても、全体と
してのコード長が変わっていないので、1枚の画像に対
する圧縮率は変化しない。しかも、Y信号に対してのコ
ードベクトルの数が多いので、画質にとってより重要度
の大きいY信号に関して、より類似度の高いコードベク
トルをベクトル量子化によって得ることができ、再生画
像の画質は向上する。
【0180】なお、圧縮レートがY:U:V=1:1:
1の場合に限らず、4:1:1や4:2:2の場合でも
同様の効果を得ることができる。例えば、圧縮レートが
Y:U:V=4:1:1の場合は、Y信号の各ブロック
に対して13ビットのコードを割り当てるのに対して、
UV信号に対してはそれぞれ4つのブロックで7ビット
のコードを割り当てることになる。しかし、人間の視覚
特性として色の誤差に関しては比較的鈍感という性質が
あるので、このようにしても色再現性に関して特に問題
はない。
【0181】また、以上の実施形態では、Y,U,V各
信号の空間方向ベクトル量子化手段として1つの相関度
演算部77を使い回すようにしているが、それぞれの信
号用に空間方向ベクトル量子化手段を複数設け、各信号
を並列に処理するようにしても良い。また、以上の実施
形態では、1つの空間方向用コードブック記憶部76の
中にY,U,V各信号用のコードブックを記憶している
が、それぞれのコードブックを異なる記憶部に分けて記
憶するようにしても良い。
【0182】(第10の実施形態)次に、1枚の画像に
対して空間方向ベクトル量子化を行う際に用いる空間方
向用コードブックの作成方法について説明する。本実施
形態では、従来から良く知られている Kohonenの学習ア
ルゴリズムを利用する。図21は、この Kohonenの学習
アルゴリズムの手順を示す図である。
【0183】この手法では、図21に示すように、学習
の際に与える初期のコードブックを用意するとともに、
学習に用いる1つのサンプル画像を用意する。学習の際
は、このサンプル画像から例えば4×4画素単位の画像
ブロックを順次入力し、コードブックを用いて空間方向
ベクトル量子化の処理を行うことにより、入力した画像
ブロックと最も似通ったコードベクトルを検出する。そ
して、この結果をもとにコードブックの内容を書き換え
る。
【0184】コードブックの書き換えは、Kohonen の学
習アルゴリズムを表す数式中の利得kおよび書き換えの
範囲Ncを適当な値に決めて行う。このようなコードベ
クトルの検出および書き換え処理を所定の学習回数だけ
繰り返すことにより、最適化されたコードブックを得
る。本実施形態においては、このような学習を実施する
に当たって、初期のコードブックとして様々なパターン
のものを用いた。
【0185】図22は、初期のコードブックとして、と
り得る値の最小値から最大値まで輝度値が連続的に変化
するパターン(a)と、輝度値がランダムに変化するパ
ターン(b)と、輝度値が128(中間値)で一定のパ
ターン(c)とを入力し、これらを用いてコードブック
を最適化する。そして、それにより得られたコードブッ
クを用いてベクトル量子化により画像を圧縮・伸長した
ときのPSNR(peaksignal to noise ratio)特性の
違いを示した図である。なお、(a)〜(c)中に示す
小さい四角の1つ1つがコードベクトルを表している。
この図22より、輝度値が連続的に変化するパターンを
初期のコードブックとして入力した場合に、より良好な
結果が得られていることが分かる。
【0186】また、図23は、(a)のようにマップ上
(仮想の2次元平面)において1回の学習で書き換えを
行う範囲を1次元的に適用し、更新回数の増加とともに
書き換え範囲を減少させていく方法と、(b)のように
書き換えを行う範囲を2次元的に適用し、更新回数の増
加とともに書き換え範囲を減少させていく方法とでコー
ドブックを作成し、更に画像を圧縮・伸長したときのP
SNR特性の違いを示した図である。
【0187】なお、図23(a)および(b)に示す白
丸および黒丸の1つ1つがコードベクトルのブロックを
示しており、黒丸のブロックは現在のベクトル量子化の
対象ブロックを示している。また、これらの白丸および
黒丸を囲んだ四角の範囲が、コードブックの書き換え範
囲を表している。また、矢印は書き換え範囲を減少させ
る方向を表している。この図23より、(a)の場合が
(b)の場合よりも優れていることが分かる。
【0188】また、図24は、Kohonen の学習式中の利
得kの値を、コードブックの更新回数の増加にかかわら
ず初期値から減少させない場合と、更新回数の増加とと
もに初期値から減少させた場合とのPSNR特性の違い
を示す図である。この図24より、利得kの値をコード
ブックの更新回数の増加とともに初期値から減少させて
いった場合の方が優れていることが分かる。
【0189】また、図25は、利得kの初期値として様
々な値を与え、更新回数を例えば160000回として
コードブックを作成したときのPSNR特性の違いを示
す図である。この図25より、利得kの初期値が0.3
〜1の場合に優れた結果が得られることが分かる。
【0190】以上の図22〜図25に示される結果か
ら、様々なパラメータの中から最も画質を向上させるパ
ラメータの値を特定して学習を行うことにより、それに
より生成したコードブックをデータ圧縮伸長システムに
用いることで、再生画像の画質を向上させることができ
る。例えば、学習の際に与える初期のコードブックとし
て、とり得る値の最小値から最大値まで輝度値が連続的
に変化するパターンを用いる。また、1回の学習で影響
を与える範囲は1次元的に適用し、かつ更新回数の増加
と共にその範囲を減少させていく。さらに、学習の際に
与える利得係数kの初期値を0.3〜1の範囲の何れか
の値とし、かつ更新回数の増加と共に係数値を減少させ
ていくことによって、高精度なコードブックを得ること
ができ、これを用いて圧縮・伸長した再生画像の画質を
向上させることができる。
【0191】(第11の実施形態)本実施形態は、学習
により複数のコードブックを作成し、それらを合成して
新しいコードブックを作成することにより、高精度なコ
ードブックを得るようにしたものである。図26は、最
適化で得られた3種類のコードブックA,B,Cの特徴
を1つのコードブックA+B+Cにまとめる手法を示し
ている。
【0192】図26において、コードブックA+B+C
のサイズ(コードベクトルの個数)は、A,B,C単独
のコードブックサイズと同様に、例えば1024であ
る。つまり、1つにまとめたコードブックA+B+Cの
中に含まれるパターンは、個々のコードブックA,B,
Cに含まれるパターンをそれぞれ適当に間引いて合成し
たものである。
【0193】ここでは、Kohonen の自己組織化マップで
得られたコードブックは、似たようなパターンがマップ
上に近接して存在するため、この特性を生かして各コー
ドブックA,B,Cのマップ上の左上から順番に1つお
きにそのままパターンを取り出し、これを新しいコード
ブックA+B+Cとして再構成している。これにより、
それぞれのコードブックA,B,Cの特徴を残したコー
ドブックA+B+Cが新たに生成される。
【0194】図27は、図26に示したA,B,C,A
+B+Cそれぞれのコードブックを用いて画像A′,
B′,C′に対してベクトル量子化を行った後、それを
復元した画像のPSNR特性を示す図である。なお、画
像A′,B′,C′は、それぞれ単独のコードブック
A,B,Cを作成する際に用いたサンプル画像であるも
のとする。
【0195】図27から分かるように、単独のコードブ
ックA,B,Cは、それぞれを作成する際に用いたサン
プル画像A′,B′,C′に対しては概ね良好な結果を
示すが、他の種類の画像に対しては良好な結果は得られ
ていない。例えば、コードブックAを用いた場合、サン
プル画像A′に対しては良好な結果が得られるが、他の
画像B′,C′に対しては良好な結果は得られない。
【0196】これに対して、合成したコードブックA+
B+Cを用いた場合のPSNR特性は、全ての画像
A′,B′,C′について、単独のコードブックA,
B,Cを用いた場合の特性と匹敵しており、かつ全ての
特性を兼ね備えたものとなっている。このように、特徴
的な画像をいくつか組み合わせてコードブックを作成す
ることで、様々な画像に対して耐性を有するコードブッ
クを作成することができる。例えば、人の顔、風景、文
字などの画像を用いてそれぞれのコードブックを作成
し、それらを合成することにより、コードブックメモリ
のサイズを大きくすることなく汎用的なコードブックを
作成することができる。
【0197】なお、上記実施形態では、同じサイズの3
種類のコードブックを1つにまとめる手法を示したが、
3種類に限定されるものではなく、2種類あるいは3種
類以上のコードブックをまとめて1つに合成することも
できる。また、サイズの異なる複数のコードブックをま
とめて1つに合成するようにすることもできる。
【0198】(第12の実施形態)ベクトル量子化によ
りコードブックの中から最も似通ったコードベクトルを
選び出すためには、膨大な演算量が必要である。そのた
め、ベクトル量子化の専用ハードウェアを設計する場
合、高速に演算を行うためには通常は膨大なハードウェ
ア面積を必要とすることになる。以下に述べる実施形態
は、ハードウェア規模を大きくすることなく演算を高速
に行えるようにしたものである。
【0199】図28は、2つの入力ベクトルが類似して
いるか否かを数値化した類似度を求める関数としてマン
ハッタン距離を利用し、また、画像の特徴量としてベク
トルデータの要素の総和を利用した場合のベクトル量子
化装置の構成と、演算が省略される様子とを説明するた
めの図である。なお、類似度としてマンハッタン距離を
用いた場合、距離が小さいほうが類似度は大きい。
【0200】最初に、演算が省略できる原理を説明す
る。ベクトルデータの次元数(要素数)をn、コードブ
ック記憶部81内のテンプレートベクトル(コードベク
トル)データの総数をkとする。このとき、 入力ベクトルデータ:I=(I1 ,I2 ,…,In ) テンプレートベクトルデータ:Tm =(Tm1,Tm2,…Tmn) (m=1,2,…,k) について、入力ベクトルデータIとテンプレートベクト
ルデータTm との類似度を、以下の式(1) で示すマンハ
ッタン距離Mm で定義すると、入力ベクトルデータIに
最も類似しているテンプレートベクトルデータTm を検
索する操作とは、全てのマンハッタン距離Mm (m=
1,2,…,k)の中で距離Mm が最も小さくなるmの
値を探し出す操作に相当する。
【0201】
【数1】
【0202】ここで、以下の式(2) に示すような、入力
ベクトルデータIの要素の総和とテンプレートベクトル
データTm の要素の総和との差の絶対値Dm と、上記式
(1)に示したマンハッタン距離Mm との間には、Dm
m という関係が成り立つことに注目すると、以下のよ
うな議論が成り立つ。
【0203】
【数2】
【0204】すなわち、コードブック記憶部81内にあ
るテンプレートベクトルデータTmと入力ベクトルデー
タIとのマンハッタン距離Mm が判明しているとする。
このとき、コードブック記憶部81内にあって、上記テ
ンプレートベクトルデータT m とは別な任意のテンプレ
ートベクトルデータTo と入力ベクトルデータIとにつ
いて、各々のベクトルデータの要素の総和をとり、その
総和どうしの差の絶対値Do を計算した結果、Do >M
m となっている場合を仮定する。
【0205】この場合、上述のDm ≦Mm という関係に
より、常にMo >Mm が成り立つ。よって、テンプレー
トベクトルデータTo と入力ベクトルデータIとのマン
ハッタン距離Mo を計算せずとも、差分絶対値Do を計
算するだけで、テンプレートベクトルデータTo はテン
プレートベクトルデータTm に比べて入力ベクトルデー
タIに類似していないことが分かる。つまり、テンプレ
ートベクトルデータT o を検索対象から除外できること
になる。
【0206】以上だけを見ると、テンプレートベクトル
データTo について、マンハッタン距離Mo を計算しな
くても、差分絶対値Do を計算する必要があるのなら
ば、検索に関わる処理は減少していないように見える。
しかし、差分絶対値Do の演算において、テンプレート
ベクトルデータTm の特徴量である要素の総和ΣT
mi(式(2) 中の右辺第2項)は、あらかじめ計算して特
徴量記憶部82に記憶しておくことができる。
【0207】よって、差分絶対値Do の算出は、入力ベ
クトルデータIの特徴量の演算と、これと特徴量記憶部
82内に記憶されている特徴量との差をとる演算を行う
だけで済む。また、入力ベクトルデータIの特徴量の算
出は、1つの入力ベクトルデータに対して1回の演算で
済む。このため、差分絶対値Do の算出は、マンハッタ
ン距離Mo の算出に比べて非常に少ない演算量で行うこ
とができる。
【0208】なお、特徴量としてベクトルデータの要素
の総和を用いることと、要素の平均値を用いることとは
等価である。なぜならば、要素の平均値とは要素の総和
を要素数で割っただけのものに過ぎないからである。
【0209】次に、図28を使って具体的に説明する。
図28において、入力ベクトルデータIおよびコードブ
ック記憶部81内の複数のテンプレートベクトルデータ
1 ,T2 ,T3 ,T4 ,…は、例として共に6次元の
ベクトルデータとなっているが、任意の次元でかまわな
い。特徴量記憶部82には、コードブック記憶部81内
に記憶されている各テンプレートベクトルデータT1
2 ,T3 ,T4 ,…の特徴量(例えば要素の総和)Σ
1 ,ΣT2 ,ΣT3 ,ΣT4 ,…が記憶されている。
【0210】図28中では、コードブック記憶部81内
の各テンプレートベクトルデータT 1 ,T2 ,T3 ,T
4 ,…と、すぐ左側に位置する特徴量記憶部82内の各
特徴量ΣT1 ,ΣT2 ,ΣT3 ,ΣT4 ,…とは対応し
ている。つまり、テンプレートベクトルデータT1 の特
徴量はΣT1 、テンプレートベクトルデータT2 の特徴
量はΣT2 、以下同様となる。これらのコードブック記
憶部81および特徴量記憶部82内のデータは、アドレ
スカウンタ88からのアドレスに従って順に読み出され
る。
【0211】また、マンハッタン距離演算部83は、コ
ードブック記憶部81から転送されたd2で示される各
テンプレートベクトルデータTm と、d1で示される入
力ベクトルデータIとのマンハッタン距離Mm (m=1
〜k)を求め、d3で示されるマンハッタン距離データ
を出力する。また、最小マンハッタン距離記憶部84
は、演算省略判定部87による更新制御に従って、今ま
でに計算されたマンハッタン距離Mm のうち、最小の距
離minMを記憶する。
【0212】ある1つの入力ベクトルデータIについて
全てのテンプレートベクトルデータTm との演算が終了
したとき、この最小マンハッタン距離記憶部84に記憶
されているものに対応するテンプレートベクトルデータ
が、入力ベクトルデータIに最も類似するデータであ
る。そして、このように最も類似する(最も距離が短
い)テンプレートベクトルデータのアドレスminA
は、演算省略判定部87による更新制御に従って、アド
レスカウンタ88から最小距離アドレス記憶部89に与
えられて記憶されている。
【0213】そこで、ある1つの入力ベクトルデータI
について処理が終わったときに、この最小距離アドレス
記憶部89に記憶されているアドレスが、当該ブロック
のコード番号に相当することになる。なお、このコード
番号は、1つの入力ベクトルデータIの処理が終わる毎
に出力しても良いし、1枚の画像全体の処理が終わった
ときにまとめて出力するようにしても良い。
【0214】特徴量演算部85は、入力ベクトルデータ
Iの各要素の総和を演算し、その結果を出力する。少な
くとも同じ入力ベクトルデータIについて類似度を求め
る演算を行っている間は、ここで演算した特徴量は保存
されている。特徴量差分演算部86は、上記特徴量演算
部85で求められた入力ベクトルデータIの特徴量d4
と、特徴量記憶部82から読み出されたテンプレートベ
クトルデータTm の特徴量d5との差分を演算し、出力
する。
【0215】演算省略判定部87は、最小マンハッタン
距離記憶部84より出力される、今までに分かっている
最小のマンハッタン距離d6と、特徴量差分演算部86
で演算された特徴量の差分d7とを利用して、テンプレ
ートベクトルデータTm と入力ベクトルデータIのマン
ハッタン距離を演算する必要があるか否かを判別する。
【0216】そして、その判別結果をマンハッタン距離
演算部83に伝え、必要でない演算を省略するようにす
るとともに、最小マンハッタン距離記憶部84、アドレ
スカウンタ88および最小距離アドレス記憶部89に所
定の制御信号を出力し、それぞれの内容の更新制御を行
う。
【0217】アドレスカウンタ88の内容は、1回の処
理が終わることに更新されるが、最小マンハッタン距離
記憶部84および最小距離アドレス記憶部89の内容
は、所定の条件を満たしたときのみ更新される。なお、
テンプレートベクトルデータを読み出す前にアドレスカ
ウンタ208の値をインクリメントすれば、マンハッタ
ン距離演算部202への制御信号は必ずしも必要ではな
い。
【0218】次に、上記のように構成したベクトル量子
化装置のベクトル量子化の手順を示す。演算の省略の様
子も同時に説明する。 1)まず、入力ベクトルデータIの特徴量を特徴量演算
部85により演算し、その結果を保存する。この特徴量
は、1つの入力ベクトルデータIに対して1度だけ演算
すればよい。
【0219】2)次に、入力ベクトルデータIと、コー
ドブック記憶部81内の第1番目のテンプレートベクト
ルデータT1 とのマンハッタン距離M1 をマンハッタン
距離演算部83によって演算する。この演算結果を以下
の式(3) に示す。この段階ではマンハッタン距離はまだ
1つしか演算していないので、現在までに見つかってい
る最小のマンハッタン距離minMは、M1 となる。し
たがって、このマンハッタン距離M1 を最小マンハッタ
ン距離記憶部84に記憶する。
【0220】
【数3】
【0221】3)次に、特徴量記憶部82内の第2番目
のテンプレートベクトルデータT2の特徴量ΣT2 と、
特徴量演算部85に保存されている入力ベクトルデータ
Iの特徴量(この例では265)との差の絶対値D2
特徴量差分演算部86で求める。この演算結果を以下の
式(4) に示す。
【0222】
【数4】
【0223】4)さらに、手順3)で求めた特徴量の差
の絶対値D2 と、現在までに見つかっている最小のマン
ハッタン距離minMとをもとに、第2番目のテンプレ
ートベクトルデータT2 と入力ベクトルデータIとのマ
ンハッタン距離M2 を演算する必要があるかどうかを、
演算省略判定部87で判断する。今の場合、D2 <mi
nM(=M1 )であるから、第2番目のテンプレートベ
クトルデータT2 と入力ベクトルデータIとのマンハッ
タン距離M2 の演算は省略できない。
【0224】5)手順4)により、第2番目のテンプレ
ートベクトルデータT2 と入力ベクトルデータIとのマ
ンハッタン距離M2 の演算が必要と判定されたので、マ
ンハッタン距離演算部83はこの演算を行う。この演算
の結果は、M2 =22であるが、これは今までに見つか
っている最小のマンハッタン距離minM(=M1 )よ
りも小さいので、minMの値をM2 に更新する。よっ
て、minM=M2 となる。つまり、最小マンハッタン
距離記憶部84には第2番目のテンプレートベクトルデ
ータT2 に関するマンハッタン距離M2 が記憶される。
【0225】6)次に、特徴量記憶部82内の第3番目
のテンプレートベクトルデータT3の特徴量ΣT3 と、
特徴量演算部85に保存されている入力ベクトルデータ
Iの特徴量との差の絶対値D3 を特徴量差分演算部86
で求める。この演算結果は、D3 =46である。
【0226】7)さらに、手順6)で求めた特徴量の差
の絶対値D3 と、現在までに見つかっている最小のマン
ハッタン距離minMとをもとに、第3番目のテンプレ
ートベクトルデータT3 と入力ベクトルデータIとのマ
ンハッタン距離M3 を演算する必要があるかどうかを、
演算省略判定部87で判断する。今の場合、D3 >mi
nM(=M2 )であるから、第3番目のテンプレートベ
クトルデータT3 と入力ベクトルデータIとのマンハッ
タン距離M3 の演算は省略できる。
【0227】8)手順7)により、第3番目のテンプレ
ートベクトルデータT3 と入力ベクトルデータIとのマ
ンハッタン距離M3 の演算は省略できると判明したの
で、この演算は省略する。そして、第4番目のテンプレ
ートベクトルデータT4 の特徴量ΣT4 と入力ベクトル
データIの特徴量との差の絶対値D4 を特徴量差分演算
部86で演算する。その演算結果は、D4 =157であ
る。
【0228】9)手順8)で求めた特徴量の差の絶対値
4 と、現在までに見つかっている最小のマンハッタン
距離minMとをもとに、第4番目のテンプレートベク
トルデータT4 と入力ベクトルデータIとのマンハッタ
ン距離M4 を演算する必要があるかどうかを、演算省略
判定部87で判断する。今の場合、D4 >minM(=
2 )であるから、第4番目のテンプレートベクトルデ
ータT4 と入力ベクトルデータIとのマンハッタン距離
4 の演算も省略できる。
【0229】10)以下、同様の処理をm=kとなるま
で繰り返す。
【0230】図29は、上記した本実施形態のベクトル
量子化処理の手順を示すフローチャートである。以下、
このフローチャートについて説明する。図29におい
て、まず最初にステップS41で入力ベクトルデータI
を入力する。そして、ステップS42で、その入力ベク
トルデータIの要素の総和(特徴量)を演算し、その結
果を保存する。
【0231】次に、ステップS43で、検索するテンプ
レートベクトルデータの番号(アドレス)をm=1、m
inA=1に初期化するとともに、現在までに見つかっ
ている最小のマンハッタン距離minMの値を∞に初期
化する。次に、ステップS44で、アドレスカウンタm
の値がテンプレートベクトルデータの数kを越えたかど
うかを判断し、越えていない場合はステップS45に進
む。
【0232】ステップS45では、検索するテンプレー
トベクトルデータTm についてあらかじめ記憶されてい
る特徴量と、演算の結果保存されている入力ベクトルデ
ータIの特徴量との差の絶対値Dm を求める。そして、
ステップS46で、その演算した差分絶対値Dm が、現
在までに見つかっている最小のマンハッタン距離min
Mの値以上かどうかを判断する。
【0233】ここで、差分絶対値Dm が現在の最小マン
ハッタン距離minMの値以上の場合は、ステップS5
0でアドレスカウンタmの値をインクリメントした後、
ステップS44の処理に戻る。一方、上記差分絶対値D
m が現在の最小マンハッタン距離minMより小さい場
合は、ステップS47に進み、入力ベクトルデータI
と、検索するテンプレートベクトルデータTm とのマン
ハッタン距離Mm を演算する。
【0234】そして、ステップS48で、演算したマン
ハッタン距離Mm が現在の最小マンハッタン距離min
M以上であるかどうかを判断し、そうである場合はステ
ップS50でアドレスカウンタmの値をインクリメント
した後、ステップS44の処理に戻る。一方、演算した
マンハッタン距離Mm が現在の最小マンハッタン距離m
inMより小さい場合は、ステップS49に進む。
【0235】ステップS49では、最小マンハッタン距
離minMの値を上記演算したマンハッタン距離Mm
更新するとともに、探し出したテンプレートベクトルデ
ータの番号(アドレス)を最小距離アドレス記憶部89
に記録する。その後、ステップS50でアドレスカウン
タmの値をインクリメントした後、ステップS44の処
理に戻る。
【0236】以上の手順の中でも示した通り、図28に
記載した構成のベクトル最子化装置を用いれば、入力ベ
クトルデータIに最も類似したテンプレートベクトルデ
ータを検索する操作を行う際に、その検索に必要な類似
度の演算を少なくすることができ、高速に演算を行うこ
とができる。
【0237】なお、図28では、コードブック記憶部8
1内の各テンプレートベクトルデータT1 ,T2
3 ,T4 ,…は任意の順で並んでいたが、特徴量の大
きい順に並べておいても良い。テンプレートベクトルデ
ータが特徴量順に並んでいる場合、テンプレートベクト
ルデータを検索する際、入力ベクトルデータIと特徴量
が最も近いテンプレートベクトルデータから検索をする
ことが容易になる。特徴量が近い2つのベクトルデータ
は、類似度も大きい傾向があるので、入力ベクトルデー
タと特徴量が最も近いテンプレートベクトルデータから
検索を行うことで、類似度の演算をより多く省略するこ
とができる。
【0238】また、本実施形態では、ベクトル量子化装
置が取り扱うベクトルデータの次元を6次元としたが、
ベクトルデータの次元は任意で良い。また、図28のベ
クトル量子化装置は、専用のハードウェアで実現するこ
とも可能であるし、コンピュータ上のプログラムによっ
てソフトウェアで実現することもできる。ハードウェア
で実現する場合、新たに設けた特徴量演算部85、特徴
量差分演算部86および演算省略判定部87は、それ程
大きなハードウェア面積を必要としない。
【0239】また、上記実施形態において、ベクトルデ
ータの特徴量としては、ベクトルデータの要素の総和に
限定されるものではない。例えば、ベクトルデータの分
散を使いたい場合は、特徴量演算部85と演算省略判定
部87とを分散演算用のものに変更すれば良い。また、
類似度を求める関数をマンハッタン距離以外の関数、例
えばユークリッド距離を求める関数等に変更したい場合
は、マンハッタン距離演算部83と最小マンハッタン距
離記憶部84と演算省略判定部87とを変更すれば良
い。
【0240】(第13の実施形態)第13の実施形態で
は、上記第12の実施形態で示したベクトル量子化装置
への入力として画像データを用い、上記実施形態のベク
トル量子化装置を画像圧縮装置に応用した例を、図30
および図31を使って説明する。まず、ベクトル量子化
装置を使って画像圧縮を行う場合の一般的な例を図30
により説明する。
【0241】図30において、入力される原画像91
は、画素と呼ばれる要素が多数集まって構成されてい
る。個々の画素は輝度値、あるいは色差信号などの情報
を持っている。入力画像91中から複数画素で構成され
るブロックを取り出したのが、入力画像ブロック92で
ある。図30の例では、入力画像ブロック92の大きさ
として4×4画素を選んでいるが、この大きさは何であ
っても良い。
【0242】入力画像ブロック92は、上述の通り複数
の画素を持っているから、各々の画素が持つ輝度値など
を集めてベクトルデータとすることができる。これが図
28で説明したベクトル量子化装置の入力ベクトルデー
タIである。
【0243】人間の視覚特性上、入力画像91中の幾つ
かの入力画像ブロックは、見た目では殆ど同じに見える
場合がある。こういった同じに見える複数の入力画像ブ
ロックを、より少ない数の画像ブロックで代表させるこ
とが可能である。画像ブロックコードブック93は、入
力画像91上の多数の入力画像ブロックを代表する画像
ブロック(テンプレートベクトルデータ)を複数持った
ものである。テンプレートベクトルデータは、画像ブロ
ックコードブック93内の画像ブロック各々の画素が持
つ輝度をベクトルデータとしたものである。
【0244】ベクトル量子化装置では、入力画像91全
体を画像ブロックとして分割し、各々の画像ブロック9
2を入力ベクトルデータとして、その入力ベクトルデー
タに類似するテンプレートベクトルデータをコードブッ
ク93内から検索する。そして、該当するテンプレート
ベクトルデータの番号のみを転送することで、画像を圧
縮することが可能である。圧縮された画像を再生して再
現画像94を得るには、上記転送された番号に対応する
テンプレートベクトルデータをコードブック93から読
み出し、画像に当てはめれば良い。
【0245】本実施形態において、入力画像91中から
画像ブロック92で示される入力ベクトルデータを取り
出してしまえば、類似度を求める関数としてマンハッタ
ン距離を用い、特徴量としてベクトルデータの要素の総
和を用いた場合、ベクトル量子化の手順は上述した第1
2の実施形態と全く同一である(ここではその詳細な手
順の説明は省略する)。よって、入力ベクトルデータに
類似するテンプレートベクトルデータを検索する際、検
索にまつわる演算を少なくできるので、高速な画像の圧
縮が可能となる。
【0246】以上のような方法によって画像データに対
してベクトル量子化の操作を行ったときに、マンハッタ
ン距離の演算をどれほど省略できるのかを示したのが、
図31である。図31は、屋外風景写真、屋内風景写
真、人物写真を入力画像としたときに、様々なテンプレ
ートベクトルデータ群に対して、各々のテンプレートベ
クトルデータ群の中でマンハッタン距離を演算しなけれ
ばならないテンプレートベクトルデータの割合を表して
いる。
【0247】この図31によると、テンプレートベクト
ルデータ群の中で、入力ベクトルデータとのマンハッタ
ン距離を演算しなければならないテンプレートベクトル
データは、せいぜい14%以内となっていることが分か
り、本実施形態の有用性が示されている。
【0248】なお、以上の例では画素の輝度値をベクト
ルデータとしたが、輝度値だけでなく、各画素が有する
数値化された情報は何であれベクトルデータとすること
ができる。また、入力画像91中から入力画像ブロック
92を取り出した後、離散余弦変換をはじめとする様々
な変換をかけ、変換後の画像からベクトルデータを作っ
てベクトル量子化装置の入力としても良い。
【0249】また、入力ベクトルデータが画像データの
場合は、特徴量としてベクトルデータの要素の総和を用
いても、画像データを周波数分解した際の直流成分を用
いても、両者は等価である。何故ならば、上記直流成分
は、ベクトルデータの要素の総和に対してある係数を掛
けたものに過ぎないからである。
【0250】(第14の実施形態)上記第12の実施形
態で示したベクトル量子化装置への入力として画像デー
タを用いた場合、ベクトルデータの特徴量として、画像
特有の性質を使うことが可能である。本実施形態では、
ベクトル量子化装置の入力を画像データとした場合の画
像データ特有な特微量について説明し、幾つかの特徴量
を組み合わせてベクトル量子化処理の演算量を減少させ
ることが可能であることを以下に示す。
【0251】まず、画像データに対して、類似度を演算
する関数をマンハッタン距離とし、特徴量としてベクト
ル要素の総和を用いた場合の問題点を、図32を使って
説明する。図32において、入力ベクトルデータに対応
する画像ブロック101と、テンプレートベクトルデー
タに対応する画像ブロック102は、ほぼ同じブロック
である。一方、入力ベクトルデータに対応する画像ブロ
ック101と、もう一方のテンプレートベクトルデータ
に対応する画像ブロック103は、全く上下左右が反転
したブロックとなっており、見た目では全く異なるもの
である。
【0252】実際に、入力画像ブロック101とテンプ
レート画像ブロック102,103との画素の輝度値を
取り出して、それぞれをベクトルデータとしてマンハッ
タン距離を演算すると、テンプレート画像ブロック10
3は、もう一方のテンプレート画像ブロック102と比
較して入力画像ブロック101と類似していないことが
明らかになる。
【0253】しかしながら、特徴量であるベクトルデー
タの要素の総和は、2つのテンプレート画像ブロック1
02と103とで等しい。このことは、特徴量としてベ
クトルデータの要素の総和を使っただけでは、無駄な類
似度演算が多く残ることを意味している。
【0254】この問題を解決するための手段としては、
特徴量として、ベクトルデータの各要素の一部を画素の
明暗が反転するように操作した後の各要素の総和を使う
という手段が考えられる。
【0255】図33は、ベクトルデータの要素の一部の
明暗を反転させた場合、画像ブロックがどのように変化
するかを表している。初期の画像ブロック111に対し
て、3種類の反転パターン112〜114を用いて、黒
で塗りつぶされた部分の画素が明暗反転するように操作
した結果が、反転後画像ブロック115〜117であ
る。このように、1つの画像に対して異なる反転パター
ン112〜114で明暗反転をすると、初期の画像ブロ
ックが同じでも、反転後画像ブロック115〜117の
画素の輝度値の総和118〜120は異なった値とな
る。
【0256】また、図34は、ベクトルデータの要素の
総和が等しい場合でも、ベクトルデータの要素の一部を
画素の明暗が反転するように操作してから、ベクトルデ
ータの要素の総和を求めて特徴量とすると、特徴量に差
が現れてくる例を示したものである。図34において、
初期の画像ブロック121と122は、画素の輝度値の
総和は全く同じである。よって、ベクトルデータの要素
の総和、すなわち、ブロック内の画素の輝度値の総和を
特徴量としても両者は全く区別できない。
【0257】このような2つの初期画像ブロック12
1,122に対して、同じ反転パターン123の黒塗り
の部分を明暗反転し、反転後の画像ブロック124,1
25について画素の輝度値の総和126,127を計算
すると、両者は全く異なった値となる。
【0258】本実施形態は、以上のことを利用して、無
駄なマンハッタン距離の演算を更に減少させることがで
きるようにしたものである。すなわち、以上の例からも
分かるように、ある特徴量を使ったときには省略できな
い類似度の演算が、別の特徴量を使うと省略できる場合
がある。この場合、異なる特徴量を2つ以上利用して演
算量を更に減少させることができる。
【0259】具体的には、ある特徴量でテンプレートベ
クトルデータの中から類似度を演算しなければならない
範囲を絞り込み、別の特徴量で更に範囲を絞り込むとい
う、2段階で特徴量を使う方法や、同時に2つの特徴量
を使って、特徴量の差が大きい方を演算省略の判断に使
う方法などが挙げられる。
【0260】なお、ある画像から入力画像ブロックを取
り出してきてベクトル量子化装置の入力とする場合、上
述の「ベクトルデータの要素の一部を画素の明暗が反転
するように操作した後のベクトルデータの総和」の他に
も、画像特有の特徴量がいくつか考えられる。以下で
は、画像ブロックの四隅の画素の情報を特徴量として使
う方法と、画像ブロック上の画素値の変化の様子を特徴
量として使う方法とを説明する。
【0261】最初に、画像ブロックの四隅の画素の情報
を特徴量として使う方法について説明する。画像ブロッ
クを入力画像中から取り出してきた場合に、ブロック内
で画素値がある方向に滑らかに変化する画像に対して
は、画像ブロックの四隅から特徴量を得ることができ
る。図35は、画像ブロックの四隅を特徴量として使う
方法を説明した図である。
【0262】図35(a)において、画像ブロック13
1は、ブロックの右下から左上方向に輝度が徐々に明る
くなる変化をしている。この画像ブロック131から四
隅133を取り出し、それらの4画素の輝度値を比較す
ると、画像ブロック131はどのような方向に輝度が変
化しているのかを把握することができる。
【0263】また、画像ブロック132とその四隅13
4は、画素値の変化する方向が上記とは異なる場合の一
例を示すものであり、画像ブロックの右辺から左辺方向
に輝度が徐々に明るくなる変化を示している。なお、1
33および134中に示した矢印は、画素の輝度の大小
関係を示すものであり、矢印の先にある画素の方が輝度
が大きい。また、輝度の大小に差がない場合には、線分
で表している。
【0264】このように、画像ブロックの四隅の画素の
間で輝度を大小比較し、大小を判別することで、画像ブ
ロックの特徴を捉えることができる。四隅の画素の間で
の輝度の大小パターンは幾通りもあるので、それらのパ
ターンを番号付けして特徴量とすることができる。すな
わち、図35(b)に示すように、四隅の画素の間での
輝度の大小の各パターンに対して番号を付与し、その番
号を特徴量として本実施形態のベクトル量子化装置に組
み込むことができる。
【0265】なお、図35では、画像ブロックの大きさ
を4×4画素としているが、この大きさは任意で良い。
また、画素値として輝度値を用いているが、他の画素値
(例えば色信号値)を用いても良い。
【0266】次に、画像ブロック上での画素値の変化を
特微量として使う方法を説明する。入力画像中から画像
ブロックを幾つか切り出してくると、それらの画像ブロ
ックの中には、画素値の変化の様子が似ているものがあ
る。図36は、画素値の変化の周期および変化率が同じ
である2つの画像ブロック141,142を示してい
る。これらの画像ブロック141と142は何れも左右
方向にのみ画素値が変化している。
【0267】画像ブロック141の左右方向の画素値の
変化は、もう一方の画像ブロック142の左右方向の画
素値の変化に所定の係数をかけて、変化の振幅を抑えた
ものに他ならない。このような状態を、画像ブロック1
41,142の画像ブロック上での画素値の変化のモー
ドが同じであると言うことにする。
【0268】画像ブロック上での画素値の変化のモード
は多数あるので、それらの変化のモードを番号付けする
ことにより特徴量とすることができる。すなわち、画素
値の変化のモードに対してそれぞれ番号を付与し、その
番号を特徴量として本実施形態のベクトル量子化装置に
組み込むことができる。なお、この図36でも画像ブロ
ックの大きさを4×4画素としているが、この大きさは
任意で良い。
【0269】最後に、第1の特徴量として画像ブロック
上での画素値の変化、つまり画像ブロック上での変化の
モードを番号付けしたものを用いるとともに、第2の特
徴量として画像ブロック上の画素の値の総和、つまりベ
クトルデータの要素の総和を用いた場合の、第14の実
施形態に係るベクトル量子化装置の構成を、図37を用
いて説明する。なお、図37において、図28に示した
ブロックと同じブロックには同一の符号を付している。
また、ここでは類似度をマンハッタン距離によって求め
ている。また、図37中ではベクトルデータを、相当す
る画像ブロックとして視覚的に表現している。
【0270】入力ベクトルデータIは、第1の特徴量で
ある画像ブロック上での画素値の変化モードによって分
類される。すなわち、変化モード判定部151は、画素
値の変化モードの典型的なベクトルデータを集めた特徴
テンプレート記憶部152に記憶されているベクトルデ
ータの情報をもとに、入力ベクトルデータIの第1の特
徴量である画像ブロック上での画素値の変化モードが、
テンプレートの何番に相当するものであるかを示すデー
タd8を出力する。
【0271】テンプレートベクトルデータを記憶するコ
ードブック記憶部81と、テンプレートベクトルデータ
の第2の特徴量であるベクトルデータの要素の総和を記
憶する特徴量記憶部82の内部には、第1の特徴量の種
類ごとにデータが並べられている。図37の例では、入
力ベクトルデータIの第1の特徴量は“2”と判断され
たので、コードブック記憶部81と特徴量記憶部82の
中から、第1の特徴量が“2”となる部分153のみが
選択され、残りの部分は検索対象外となる。
【0272】コードブック記憶部81および特徴量記憶
部82の中で、以上のようにして第1の特徴量が“2”
となる部分153に関してのみ、上記第12の実施形態
と同様の手順でテンプレートベクトルデータの検索を行
う。すなわち、入力ベクトルデータIの第2の特徴量を
特徴量演算部85で演算し、その結果d4と、特徴量記
憶部82内の特徴量d5とを用いて、特徴量差分演算部
86ならびに演算省略判定部87により、コードブック
記憶部81内の第1の特徴量が“2”となるテンプレー
トベクトルデータの中で、特にマンハッタン距離の演算
が必要ないものを判断する。
【0273】以上のように、第14の実施形態によれ
ば、第12の実施形態で説明したように特徴量を単独で
使う場合に比べて、より多くの演算を省略することがで
きる。これは、第1の特徴量によってあらかじめ検索対
象となるテンプレートベクトルデータを限定し、第2の
特徴量で更に検索対象を絞り込むようにしているからで
ある。これによって、特徴量を1つだけ使う場合に比べ
てより多くの演算の省略が可能となり、より高速に演算
を行うことができる。
【0274】また、テンプレートベクトルデータは、第
1の特徴量だけでなく、第2の特徴量の大きさ順によっ
ても並べることで2次元的な配列にしておくことによ
り、入力ベクトルデータIと第2の特徴量が似たテンプ
レートベクトルデータから検索を始めることができるの
で、入力ベクトルデータIと類似するテンプレートベク
トルデータをより効率的に検索することができる。な
お、図37では、画像ブロックの大きさとして4×4画
素、つまりベクトルデータに直せば16次元のものを例
に説明したが、この大きさは任意である。
【0275】(第15の実施形態)図38は、第15の
実施形態に係るデータ圧縮伸長システムの構成例を示す
図である。本実施形態では、ベクトル量子化を利用した
データ圧縮伸長システムにおいて、データ圧縮・伸長時
に使用するコードブックを保持しておくためのシステム
を独立に用意しておくものである。
【0276】図38において、コードブック方式圧縮シ
ステム161は、外部より入力された、あるいは蓄積さ
れているデータをコードブック方式により圧縮する装置
である。コードブックサーバシステム162は、コード
ブック蓄積装置171、コードブック管理装置172、
コードブック登録装置173、コードブック生成装置1
74を備え、圧縮・伸張システムからのリクエストに応
じてコードブックを転送する機能を持つ。
【0277】コードブック方式圧縮システム161にお
いてデータ圧縮の処理過程で使用するコードブックは、
コードブックサーバ162よりネットワーク164を介
して転送されたコードブック165を用いる。どのよう
なコードブックが必要であるかは、コードブックサーバ
162に対するコードブック・リクエスト163をネッ
トワーク164を介して送信する。
【0278】コードブックサーバ162は、コードブッ
ク・リクエスト163に対する返答として、以下のよう
な動作を実行する。すなわち、コードブック管理装置1
72が、リクエストされたものに合ったコードブックの
データをコードブック蓄積装置171に蓄積されたコー
ドブックの中から探し出し、それをネットワーク164
を介してコードブック方式圧縮システム161に送信す
る。なお、コードブック蓄積装置171には、コードブ
ック登録装置173によって事前に幾つかのコードブッ
クが登録され、蓄積されている。
【0279】上記コードブック蓄積装置171内にリク
エストされたものに合致するコードブックがない場合に
は、最も似通ったコードブックからリクエストに合った
コードブックをコードブック生成装置174が生成す
る。このとき、コードブック蓄積装置171に蓄積され
ているコードブックを基に生成しても良いし、全く新た
に生成しても良い。
【0280】以上のようにして転送されたコードブック
165を用いて、コードブック方式圧縮システム161
で生成された圧縮データは、ネットワーク166を介し
てコードブック方式伸長システム167に送信される。
コードブック方式伸長システム167においてデータ伸
長の処理過程で使用するコードブックは、コードブック
サーバ162より転送されたコードブック170を用い
る。どのようなコードブックが必要であるかは、コード
ブックサーバ162に対するコードブック・リクエスト
168をネットワーク169を介して送信する。
【0281】コードブック方式伸長システム167がリ
クエストする内容は、コードブック方式圧縮システム1
61で生成されたリクエスト内容を圧縮データと共に受
け取り、これを使用しても良い。また、コードブック方
式伸長システム167が独自に生成したリクエスト内容
であっても良く、圧縮と伸長とで異なるコードブックを
使用しても差し支えない。
【0282】コードブックサーバ162は、コードブッ
ク・リクエスト168に対する返答として、以下のよう
な動作を実行する。すなわち、コードブック管理装置1
72が、リクエストされたものに合ったコードブックの
データをコードブック蓄積装置171に蓄積されている
コードブックの中から探し出し、それをネットワーク1
69を介してコードブック方式伸長システム167に送
信する。
【0283】リクエストされたものに合致するコードブ
ックがない場合には、最も似通ったコードブックからリ
クエストに合ったコードブックをコードブック生成装置
174が生成する。このとき、コードブック蓄積装置1
71に蓄積されているコードブックを基に生成しても良
いし、全く新たに生成しても良い。
【0284】以上のように、本実施形態では、ベクトル
量子化によるデータ圧縮・伸長時に使用するコードブッ
クを保持しておくためのコードブックサーバ162を独
立に用意しておく。さらに、このコードブックサーバ1
62と、データ圧縮システム161(データ送信側)
と、データ伸長システム167(データ受信側)とを、
それぞれ互いにアナログ電話回線、デジタル回線、イン
ターネット専用線、通信回線等に代表されるネットワー
クを介して接続する。
【0285】そして、データ圧縮システム161、デー
タ伸長システム167のそれぞれからコードブックの配
信要求がコードブックサーバ162に与えられたとき
に、コードブックサーバ162がネットワークを介して
瞬時にコードブックを送信するようにする。
【0286】これにより、各データ圧縮・伸長システム
がコードブックを保持する必要がなく、かつ、コードブ
ックが更新された場合にはコードブックサーバ162の
データを更新するだけで良いので、非常に簡単なデータ
転送システムを実現することができる。また、常に最新
のコードブックをコードブックサーバ162から受け取
ることができ、データの質を良好に保つことができる。
【0287】(第16の実施形態)第16の実施形態で
は、各フレーム毎にフレーム内でのベクトル量子化(空
間方向ベクトル量子化)を行った後で、それにより得ら
れたコード番号を並べ替えてフレーム間でのベクトル量
子化(時間軸方向ベクトル量子化)を行う上述の実施形
態を応用した例について、以下に述べる。
【0288】これまでに述べた第2〜第7の実施形態で
は、それぞれのフレームから空間方向ベクトル量子化後
のコード番号を1つずつ抜き出してきて、それらをフレ
ーム画像順に並べ替えることによって新たなベクトル
(時間軸ベクトル)を生成していた。これに対して、第
16の実施形態では、1枚のフレームから抜き出してく
るコード番号は1つではなく、各フレームからそれぞれ
複数のコード番号を抜き出してきて新たな時間軸ベクト
ルを生成するものである。
【0289】図39は、本実施形態に係る空間方向コー
ド番号の並べ替え方を説明するためのデータフロー図で
ある。図39に示すように、まず原画像のそれぞれのフ
レームに対して、4×4画素単位のマクロブロック毎に
空間方向ベクトル量子化(SDVQ)の処理を行い、各
マクロブロックを空間方向用コードベクトルに対応する
コード番号で置き換える。図39の例では、あるフレー
ムの右隅のマクロブロックがコード番号“30”に置き
換えられ、その周りの3つのマクロブロックがコード番
号“15”、“10”、“20”に置き換えられている
ことが示されている。
【0290】このような空間方向ベクトル量子化の処理
が各フレーム(図39の例では4つのフレーム)につい
て行われると、空間方向用コードブックのコード番号で
表現されたそれぞれのフレーム画像中から、同じアドレ
スが示すブロックのコード番号を2×2のブロック単位
で4個ずつ取り出してきて、それらをフレーム画像順に
並べ替える。これにより、時間軸方向に分散して存在す
る同アドレス4ブロック分の各コード番号を1つの時間
軸ベクトルのデータ列、つまり時間軸方向ベクトル量子
化(TDVQ)用の1つのマクロブロックとしてまとめ
て表現する。
【0291】図40は、本実施形態による空間方向コー
ド番号の再配列の仕方を上述した第2の実施形態に応用
した場合の圧縮時のデータの流れを示すデータフロー図
であり、また図41および図42は、その場合のデータ
圧縮伸長システムの構成例を示すブロック図である。な
お、図40に関して、圧縮対象とするフレーム数が4フ
レームであること、およびコード番号の再配列の仕方が
異なること以外は図11に示した第2の実施形態と同じ
なので、ここでは説明を省略する。
【0292】図41において、本実施形態のデータ圧縮
システムでは、図9に示した第2の実施形態によるデー
タ圧縮システムに対して、空間方向コード再配列方法指
定部181が更に追加されている。また、図42におい
て、本実施形態のデータ伸長システムでは、図10に示
した第2の実施形態によるデータ伸長システムに対し
て、空間方向コード再生方法指定部182が更に追加さ
れている。
【0293】空間方向コード再配列方法指定部181
は、空間方向コード番号を再配列して新たな時間軸ベク
トルを生成する際に、1枚のフレームから抜き出してく
るコード番号を1個とするか、それとも各フレームから
それぞれ4個のコード番号を抜き出してくるかを指定す
るものである。言い換えれば、ベクトル量子化の一連の
処理を図11の流れに従って行うか、それとも図40の
流れに従って行うかを指定するものである。
【0294】また、空間方向コード再生方法指定部18
2は、これとは逆に、時間軸コード番号に対応するコー
ドベクトルを時間軸コードブックから取り出す際に、1
つの時間軸コード番号に対して1個のコードベクトルを
取り出すか、それとも4個のコードベクトルを取り出す
かを指定するものである。この指定は、空間方向コード
再配列方法指定部181でどちらの再配列方法が指定さ
れたかに応じて、対応する再生方法が指定される。
【0295】図43および図44は、本実施形態による
空間方向コード番号の再配列の仕方を上述した第3の実
施形態および第4の実施形態に応用した場合の圧縮時の
データの流れを示すデータフロー図である。これらの図
43および図44に関して、圧縮対象とするフレーム数
が5フレームであること、およびコード番号の再配列の
仕方が異なること以外は、図12や図13に示した第3
の実施形態および第4の実施形態と同じなので、ここで
は説明を省略する。
【0296】また、図45は、本実施形態による空間方
向コード番号の再配列の仕方を上述した第7の実施形態
に応用した場合のデータ圧縮システムの構成例を示すブ
ロック図である。図45において、本実施形態のデータ
圧縮システムでは、図15に示した第7の実施形態によ
るデータ圧縮システムに対して、空間方向コード再配列
方法指定部181および空間方向DC成分再配列方法指
定部183が更に追加されている。
【0297】上記空間方向コード再配列方法指定部18
1は、上記図41に示したものと同じものである。ま
た、空間方向DC成分再配列方法指定部183は、各ブ
ロックの最小輝度値のみで表現された各フレームの画像
に対して、同じアドレスが示すブロックのデータ値をフ
レーム画像順に再配列して新たな時間軸ベクトルを生成
する際に、1枚のフレームから抜き出してくるDC成分
を1個とするか、それとも各フレームからそれぞれ4個
のDC成分を抜き出してくるかを指定するものである。
【0298】以上のように、第16の実施形態では、空
間方向コード番号やDC成分の再配列の仕方を指定した
方法で行うように構成し、各フレームからそれぞれ複数
のコード番号やDC成分を抜き出してきて新たな時間軸
ベクトルを生成できるようにすることにより、ある程度
空間方向にまとまったブロックを単位として時間軸ベク
トル量子化を行うことができるので、高い圧縮率を維持
しつつ再生画像の品質を更に向上させることができる。
【0299】なお、以上に示した例では、4フレームの
それぞれから空間方向コード番号を2×2のブロック単
位で4個ずつ取り出して時間軸ベクトルの1つのマクロ
ブロックとしたが、4フレームのそれぞれから3×3の
ブロック単位で9個ずつ取り出すようにしても良い。ま
た、この他にも、空間方向コード番号のマクロブロック
の取り方や圧縮対象のフレーム数を任意に設定すること
が可能である。
【0300】図46に、様々に設定した空間方向コード
番号の再配列の方法と、そのときの圧縮率との関係を示
す。これから分かるように、図46に示される表の下の
方の設定ほど、高い圧縮率を達成できている。
【0301】(第17の実施形態)次に、本発明の第1
7の実施形態について説明する。第17の実施形態は、
上述した第8の実施形態を更に改良したものである。図
47は、本実施形態によるデータ圧縮システムの構成例
を示すブロック図であり、第8の実施形態である上記図
17に示したブロックと同じブロックには同一の符号を
付している。
【0302】図47において、画像入力部61は、画像
を連続して取り込む装置である。ここでは、例えば1画
素がRGB各8ビットの階調を持った640×480画
素の画像を、1秒間に30枚の割合で取り込む。画像処
理部191は、上記画像入力部61から取り込まれたR
GBの画像信号を、輝度信号(Y信号)と色信号(U信
号、V信号)とから成る画像信号に変換する。このよう
な処理を行うことにより、後のベクトル量子化でより効
率的に情報量を削減できるようになる。なお、上記図1
7に示す第8の実施形態の説明では、このような処理に
ついては触れていないが、同様に行っても良い。
【0303】コードブック記憶部62には、例えば4×
4画素のブロックで構成されたパターン画像(コードベ
クトル)が多数登録されていて、各々のブロックにはユ
ニークなコード番号が割り当てられている。これらのコ
ードベクトルは、例えば、後述する特徴量の大きさ順
(例えば、アドレス0番が特徴量最小のコードベクトル
で、以下昇順)に並べられている。
【0304】コードブック方式による圧縮部63は、画
像処理部191で得られた画像の1枚1枚に対して、第
8の実施形態で述べたような空間方向ベクトル量子化の
処理を行う。すなわち、原画像中に含まれる各マクロブ
ロックに対して、コードブック記憶部62に多数登録さ
れているコードベクトルの中から最もパターンの似てい
るものを選び出し、それに対応するコード番号を出力す
る。640×480画素の画像を処理する場合、192
00個のブロックが取り出されて処理されるので、出力
されるコード番号も19200個である。
【0305】コード列記憶部64は、ある時刻tにおけ
るフレーム画像をコードブック方式による圧縮部63に
て処理して出力されるコード番号列を記憶しておくため
のものである。また、特徴量相関度演算部192は、コ
ード列記憶部64に記憶されている上記ある時刻t(前
フレーム)における画像のコード番号列に基づきコード
ブック記憶部62から読み出されたコードベクトルと、
次の時刻t+1(現フレーム)の画像に対して空間方向
ベクトル量子化を行った結果最もパターンが似ていると
して選び出されたコードベクトルとの特徴量(例えば平
均値など)を夫々計算し、同じアドレスが示すマクロブ
ロックのコードベクトルの特徴量どうしでその相関を演
算する。
【0306】出力部66は、特徴量相関度演算部192
から与えられる特徴量の相関値をもとに、媒体67(ネ
ットワークなどの通信チャンネルまたは記録媒体)に出
力するデータを決定する。すなわち、あるマクロブロッ
クのアドレスについて求められた特徴量の相関値がある
閾値より小さい場合は、そのアドレスとコードブック方
式圧縮部63から供給される現フレームの対応するコー
ド番号とを媒体67に出力する。一方、あるマクロブロ
ックのアドレスについて求められた相関値がある閾値よ
り大きい場合は、そのアドレスと対応するコード番号は
媒体67に出力しない(何も出力しない)。この場合、
伸長側では、第8の実施形態で述べたように、そのマク
ロブロックに関しては前フレームで再生された画像が代
わりに利用されることとなる。
【0307】なお、ここでは、時間軸方向で同じ位置に
ある隣接フレーム間の各マクロブロックのうち、フレー
ム間の相関が小さいマクロブロックではそのアドレスと
コード番号とを送信データとし、相関が大きいマクロブ
ロックでは何も送らないようにしているが、送信データ
の形態はこのような例に限定されない。
【0308】例えば、前フレームと比較して相関が小さ
いところには、先頭に“1”を立てるとともに、その後
にコード番号を付けて送信する。一方、相関が大きいと
ころは“0”のみを立てて送信するようにしても良い。
このようにすることにより、伸長側では、各マクロブロ
ック毎に送られてきた送信データの先頭の値が“1”か
“0”かを見ることによって、コード番号が送られたブ
ロックと送られていないブロックとを識別することがで
きる。
【0309】また、前フレームと比較して相関が小さい
ところではコード番号のみを送信データとし、一方、相
関が大きいところでは“0”のみを送信データとするよ
うにしても良い。このようにすることにより、伸長側で
は、各マクロブロック毎に送られてきた送信データの先
頭の値が“0”かそうでないかを見ることによって、コ
ード番号が送られたブロックと送られていないブロック
とを識別することができる。
【0310】なお、上述した送信データ形式の3つのパ
ターンの何れにおいても、相関の大きさに応じて作成し
た送信データに対して、更にハフマン符号化やランレン
グス符号化を施すようにしても良い。このようにすれ
ば、更に情報量を圧縮することができる。
【0311】以上のように、本実施形態では、複数フレ
ームの画像に対してそれぞれ空間方向ベクトル量子化の
処理を行う。そして、時間軸方向で同じ位置にある隣接
フレームのマクロブロック間で、選び出されたコードベ
クトルの特徴量を比較し、相関が大きい場合には前フレ
ームにて送られたコード番号を現フレームでもそのまま
使うようにしたので、個々のフレーム内で空間方向ベク
トル量子化した結果に加えて、フレーム方向(時間軸)
に対してもデータを圧縮することができ、動画像データ
を静止画VQ圧縮より高い圧縮率で圧縮することができ
る。
【0312】なお、本実施形態では、出力部66におい
て特徴量相関値と比較する閾値を一定としているが、あ
る関数等に基づいてフレーム間で変化させるようにして
も良い。このようにすることにより、例えば、動画像の
動きの激しさ等に応じて閾値を可変とすることで、画像
の動きに合わせてダイナミックに圧縮率を変えることが
できる。
【0313】また、上記実施形態では、コード列記憶部
64に前フレームのコード列を記憶しているが、前フレ
ームで選び出されたコードベクトルを記憶するようにし
ても良い。このようにすれば、特徴量相関度演算部19
2で現フレームのコードベクトルと比較する前フレーム
のコードベクトルを、当該記憶部から直接読み出すこと
ができるようになる。
【0314】また、上記実施形態では、比較すべきコー
ドベクトルの特徴量を圧縮動作時に演算により求めてい
るが、各コードベクトルと共にそれに対応する特徴量を
コードブック記憶部62にあらかじめ記憶しておくよう
にしても良い。このようにすれば、圧縮動作時における
特徴量の演算処理を省略することができ、データ圧縮の
処理速度を高速化することができる。
【0315】(第18の実施形態)次に、本発明の第1
8の実施形態について説明する。第18の実施形態は、
上述した第17の実施形態を更に改良したものである。
すなわち、上記第17の実施形態では、コードベクトル
の特徴量の相関が大きい場合には前フレームのデータを
そのまま用いるという性質上、時間の経過と共に再生画
像に画質の劣化が起こってしまうことがある。例えば、
或るマクロブロックにおいてコードベクトルの特徴量の
相関値が閾値をぎりぎりで越えるような状態が数フレー
ムに渡って続く場合には、画質の劣化は否めない。ま
た、そのような状況を予測することも困難である。
【0316】このような画質劣化を目立たなくするため
に、本実施形態では、図47に示したデータ圧縮システ
ム中の出力部66に、特徴量の相関値に関わりなく現フ
レームのデータを送信するという「データ更新」の機能
を更に持たせる。データ更新を行うか否か、あるいはフ
レーム中のどの部分を更新データとするか否かの判定
は、特徴量相関度演算部192が行う。本実施形態にお
けるデータ更新の方法としては、例えば以下に述べるよ
うな3つの方法が考えられる。
【0317】第1の方法は、例えば数フレームに1回の
割合で、そのフレームについてコードブック方式圧縮部
63により求められた全マクロブロックのコード列を、
対応するコードベクトルの特徴量相関値が閾値より大き
いか否かに関係なく、全て更新データとして媒体67に
出力するようにする。あるフレームにおいて更新データ
を出力した後は、その更新データを新たなキーフレーム
としてそこから再び空間方向および時間軸方向の圧縮が
行われることになる。このようにすれば、前フレームの
データをそのまま用いるという状態が続いていたとして
も、その状態を更新データの送信によって必ず断つこと
ができ、時間経過に伴う画質の劣化を抑えることができ
る。
【0318】ただし、上記第1の方法では、更新データ
を送信するフレームでは、コードブック方式圧縮部63
により空間方向のベクトル量子化が行われるだけで、相
関値の大きさに基づく時間軸方向の圧縮は行われないの
で、送信データ量は最大(普通に静止画圧縮をしたとき
の圧縮率)になってしまう。そこで、データ更新の第2
の方法では、フレーム内の全データを更新データとする
のではなく、所定のブロック単位でデータ更新を行うよ
うにする。
【0319】図48は、データ更新の第2の方法を説明
するための図である。図48の(a)〜(d)はそれぞ
れ、或る時刻t〜t+3のフレームを示しており、フレ
ーム中に示される小さい複数のブロックは、4×4画素
のマクロブロックである。本実施形態では、例えば図4
8中に太線枠で示すように、複数のマクロブロック(図
48の例では、縦2個×横3個)で構成される更に大き
なブロック200を単位として、上述したようなデータ
更新を行う。
【0320】すなわち、図48(a)に示す時刻tにお
けるフレームにおいては、フレームの左上のブロック2
00内では、コードブック方式圧縮部63より出力され
たコード列を特徴量相関値の閾値処理によらず媒体67
に出力する。一方、上記ブロック200以外の領域で
は、第17の実施形態で述べたのと同様に、特徴量相関
度演算部192および出力部66によって特徴量相関値
の閾値処理を行い、特徴量相関値が閾値より小さいマク
ロブロックについてのみコードを媒体67に出力する。
【0321】図48(b)に示す時刻t+1における次
フレームにおいては、データ更新を行うブロック200
の位置を水平方向に1ブロック分ずらす。そして、この
ようにずらしたブロック200内では、コードブック方
式圧縮部63より出力されたコード列を特徴量相関値の
閾値処理によらず媒体67に出力する。一方、ブロック
200以外の領域では特徴量相関値の閾値処理を行い、
特徴量相関値が閾値より小さいマクロブロックについて
のみコードを媒体67に出力する。
【0322】以下同様にして、図48(c)、(d)の
ようにブロック200の位置をずらしながら処理を進め
ていき、ブロック200の位置がフレームの右下までい
ったら、再び図48(a)の状態に戻って処理を繰り返
す。
【0323】このように、複数のマクロブロックにより
構成されるブロック200を単位として順次データ更新
の処理を行うことにより、前フレームのデータをそのま
ま用い続けるという状態を、ブロック200を単位とし
た更新データの送信によって断つことができ、時間経過
に伴う画質の劣化を抑えることができる。しかも、ブロ
ック200以外の領域では、空間方向のベクトル量子化
に加えて時間軸方向の圧縮も行われることから、高い圧
縮率を確保することもできる。
【0324】データ更新の第3の方法は、図49の太線
枠に示すように、1フレーム中に離散して存在する複数
のマクロブロック201についてデータ更新を行うよう
にし、このデータ更新を行う離散的な位置を時間と共に
(フレームが進む毎に)変えていく方法である。上述し
た第2の方法では、データ更新を行うブロック200と
それ以外の領域との間で画質の差が目立つことも考えら
れるが、第3の方法によれば、このような差は目立たな
くなるというメリットを有する。
【0325】なお、本実施形態の第2の方法および第3
の方法では、データ更新を行うブロック200,201
を毎フレームに設けているが、数フレームおきに設ける
ようにしても良い。また、本実施形態では、第17の実
施形態を改良したものとして説明したが、第8の実施形
態に上述したデータ更新の処理を適用することも可能で
ある。
【0326】(その他の実施形態)上記様々な実施形態
に示した各機能ブロックおよび処理手順は、ハードウェ
アにより構成しても良いし、CPUあるいはMPU、R
OMおよびRAM等からなるマイクロコンピュータシス
テムによって構成し、その動作をROMやRAMに格納
された作業プログラムに従って実現するようにしても良
い。また、上記各機能ブロックの機能を実現するように
当該機能を実現するためのソフトウェアのプログラムを
RAMに供給し、そのプログラムに従って上記各機能ブ
ロックを動作させることによって実施したものも、本発
明の範疇に含まれる。
【0327】この場合、上記ソフトウェアのプログラム
自体が上述した各実施形態の機能を実現することにな
り、そのプログラム自体、およびそのプログラムをコン
ピュータに供給するための手段、例えばかかるプログラ
ムを格納した記録媒体は本発明を構成する。かかるプロ
グラムを記憶する記録媒体としては、上記ROMやRA
Mの他に、例えばフロッピーディスク、ハードディス
ク、光ディスク、光磁気ディスク、CD−ROM、CD
−I、CD−R、CD−RW、DVD、zip、磁気テ
ープ、あるいは不揮発性のメモリカード等を用いること
ができる。
【0328】また、コンピュータが供給されたプログラ
ムを実行することにより、上述の実施形態の機能が実現
されるだけでなく、そのプログラムがコンピュータにお
いて稼働しているOS(オペレーティングシステム)あ
るいは他のアプリケーションソフト等の共同して上述の
実施形態の機能が実現される場合にもかかるプログラム
は本発明の実施形態に含まれることは言うまでもない。
【0329】さらに、供給されたプログラムがコンピュ
ータの機能拡張ボードやコンピュータに接続された機能
拡張ユニットに備わるメモリに格納された後、そのプロ
グラムの指示に基づいてその機能拡張ボードや機能拡張
ユニットに備わるCPU等が実際の処理の一部または全
部を行い、その処理によって上述した実施形態の機能が
実現される場合にも本発明に含まれることは言うまでも
ない。
【0330】
【発明の効果】以上詳しく説明したように、第1の本発
明によれば、ベクトル量子化を行う際に使用するベクト
ルを構成するブロックを、データ位置を1次元的に配列
したラインブロックとするようにしたので、例えば圧縮
対象として画像データを用いた場合、ラインブロック内
のデータ配列を再生装置のスキャン方向と合致させるこ
とができ、従来のマクロブロックの場合に必要だった伸
長・再生時のアドレス変換操作を回避することができ
る。これにより、再生画像の表示に要する時間を大幅に
短縮することができる。
【0331】また、第2、第3の発明によれば、圧縮時
にベクトル量子化を行う際に使用するベクトルを構成す
るブロックを、少なくとも垂直方向に近接するブロック
間では空間的位置を水平方向にずらして圧縮対象より抽
出するか、もしくは、伸長時にコードブックの中から探
し出したコードベクトルを構成するブロックを、少なく
とも垂直方向に近接するブロック間では空間的位置を水
平方向にずらして割り当てるようにしたので、例えば圧
縮対象として画像データを用いた場合、再生画像上にお
いて各ブロック境界の連続性を断ってブロック境界(量
子化誤差)を目立ちにくくすることができる。これによ
り、圧縮率を保ったまま質の高い再生画像を得ることが
できる。
【0332】また、第4〜第6の発明によれば、時間軸
に沿って変化する圧縮対象をベクトル量子化する際に、
同一時間内の1つのデータ列に対して空間方向に対する
ベクトル量子化を行うだけでなく、時間軸に沿った複数
のデータ列間で時間軸方向に対するベクトル量子化も行
うようにしたので、例えば、動画像の各フレーム内でデ
ータ圧縮を行うだけでなく、各フレーム間に対してもデ
ータ圧縮を行うことができる。これにより、再生画像の
品質を維持したままより高い圧縮率で動画を圧縮するこ
とができる。
【0333】また、第7の発明によれば、圧縮時におい
て時間軸方向に対するベクトル量子化を行うために複数
の新たなベクトルを生成する際に、上記新たなベクトル
内の要素を少なくとも近接するベクトル間では時間軸方
向にずらして配列するようにするか、もしくは、伸長時
にて上記圧縮時とは逆の処理を行う際に複数の新たなベ
クトルを生成する場合に、上記新たなベクトル内の少な
くとも近接する要素を時間軸方向にずらして配列するよ
うにしたので、例えば圧縮対象として動画を用いた場
合、伸長時に各時間毎の画像を再生していく毎に目立っ
ていた量子化誤差を目立たなくすることができ、動画の
高い圧縮率を保ったまま品質の良い再生画像を得ること
ができる。
【0334】また、第8の発明によれば、圧縮対象から
少なくとも1つ以上の特徴量を抽出して特徴量データと
残りの基本パターンデータとに分離し、分離した特徴量
データと基本パターンデータとに対してそれぞれ独立に
ベクトル量子化を行うようにしたので、様々な特徴が絡
み合った圧縮対象そのものに対するコードブックに比べ
て、それぞれのデータのベクトル量子化で使用するコー
ドブックを単純化することができ、必要なパターン数も
減らすことができる。これにより、ベクトル量子化によ
り類似度の大きいパターンをコードブック中から探し出
す際に、より適切なパターンに絞り込みやすくなり、高
精度のベクトル量子化を行うことができる。したがっ
て、例えば圧縮対象として画像データを用いた場合、高
い圧縮率を保ったままより高品位な再生画像を得ること
ができる。
【0335】また、第9の発明によれば、時間軸に沿っ
て変化する圧縮対象の各時刻におけるデータに対してそ
れぞれベクトル量子化を実行し、これにより各時刻毎に
得られるコード列あるいはそのコード列に対応するコー
ドベクトルの特徴量について、時間軸方向の相関が小さ
い部分のみコードを出力するようにしたので、例えば圧
縮対象として動画を用いた場合、フレーム間でデータ値
が大きく変化したところのデータだけを転送し、変化が
少ないところのデータは転送しないようにすることがで
きる。これにより、個々のフレーム内で空間方向に対し
てベクトル量子化をした結果に加えて、フレーム間に対
してもデータを圧縮することができ、高い圧縮率で動画
を圧縮・転送することができる。
【0336】また、第10の発明によれば、カラー画像
をベクトル量子化する場合に、色信号用のコードブック
よりも輝度信号用のコードブックの方により多くのコー
ドベクトルを割り当てるようにしたので、画質にとって
より重要度の大きい輝度信号に関してより類似度の高い
コードベクトルをベクトル量子化によって得ることがで
きる。したがって、全体としてのコード長を変えないよ
うにすることで、圧縮率を維持したまま再生画像の画質
を向上させることができる。
【0337】また、第11の発明によれば、コードブッ
クの作成する際に、初期のコードブックとして、とり得
る値の最小値から最大値までデータ値が連続的に変化す
るパターンのコードブックを用い、1回の処理で更新す
る範囲を仮想的な2次元平面上で1次元的に適用し、か
つ更新回数の増加と共に範囲を減少させ、更新係数の初
期値を0.3〜1の範囲内の何れかの値とし、かつ更新
回数の増加と共に更新係数の値を減少させるようにした
ので、コードブックの最適化をより効率的に行うことが
できるとともに、高精度なコードブックを得ることがで
きる。これにより、生成されたコードブックを例えば画
像のデータ圧縮伸長システムに用いることで、再生画像
の画質を向上させることができる。
【0338】また、第12の発明によれば、コードブッ
クを作成する際に、複数のサンプルデータに対して独立
にコードブックを最適化し、得られた複数のコードブッ
クを合成して新たなコードブックを作成するようにした
ので、様々な画像に対して耐性を有するコードブックを
作成することができる。これにより、コードブックを記
憶するための装置のサイズを大きくすることなく、汎用
的なコードブックを得ることができる。
【0339】また、第13の発明によれば、圧縮対象よ
り抽出されるベクトルの特徴量と、コードブック内の各
コードベクトルの特徴量とを比較し、その比較結果に基
づいて、各コードベクトルのそれぞれについて上記圧縮
対象ベクトルとの類似度を求める演算を省略するかどう
かを決定するようにしたので、類似度の演算に比べて演
算量の少ない特徴量の演算を行うことによって適宜類似
度の演算を省略することができ、圧縮対象ベクトルに類
似したコードベクトルを検索する操作を行う際に、その
検索に必要な演算量を少なくすることができ、ベクトル
量子化の演算を全体として高速に行うことができる。
【0340】また、第14の発明によれば、ベクトル量
子化により圧縮伸長を行う際に必ず必要となるコードブ
ックを圧縮・伸長システムとは別に用意するようにした
ので、各圧縮・伸長システムはコードブックを保持する
必要がなく、実際のデータのみを転送するだけで良くな
り、より容量の少ない媒体を使ってデータ転送を行うこ
とができる。これにより、非常に簡単なデータ転送シス
テムを実現することができる。
【0341】また、第15の発明によれば、上記第9の
発明に関して、或る時刻においては相関が所定値より小
さいかどうかに関係なく、ベクトル量子化手段より出力
された全アドレスまたは一部アドレスについてのコード
列を更新データとして出力するようにしたので、相関が
所定値よりも小さく前フレームのデータをそのまま用い
るという状態が続いていたとしても、その状態を更新デ
ータの送信によって断つことができ、時間の経過に伴う
画質の劣化を抑えることができる。
【図面の簡単な説明】
【図1】第1の実施形態によるデータ圧縮装置の構成を
示すブロック図である。
【図2】第1の実施形態によるデータ伸長装置の構成を
示すブロック図である。
【図3】第1の実施形態によるデータ圧縮装置の動作を
示すフローチャートである。
【図4】第1の実施形態によるデータ伸長装置の動作を
示すフローチャートである。
【図5】ラインブロックをベクトルデータとして用いた
第1の実施形態による特徴を説明するための図である。
【図6】ラインブロックを貼り込む位置をずらした第1
の実施形態による特徴を説明するための図である。
【図7】640×480画素の1枚の画像を圧縮・伸長
処理するために要する時間を示す図である。
【図8】ベクトル量子化システム全体のデータの流れを
説明するための図である。
【図9】第2〜第4の実施形態によるデータ圧縮装置の
構成を示すブロック図である。
【図10】第2〜第4の実施形態によるデータ伸長装置
の構成を示すブロック図である。
【図11】第2の実施形態による圧縮時のデータの流れ
を示すデータフロー図である。
【図12】第3の実施形態による圧縮時のデータの流れ
を示すデータフロー図である。
【図13】第4の実施形態による圧縮時のデータの流れ
を示すデータフロー図である。
【図14】第5の実施形態を説明するためのブロック図
である。
【図15】第7の実施形態によるデータ圧縮装置の構成
を示すブロック図である。
【図16】第7の実施形態による圧縮時のデータの流れ
を示すデータフロー図である。
【図17】第8の実施形態によるデータ圧縮装置の構成
を示すブロック図である。
【図18】第8の実施形態によるデータ圧縮装置をソフ
トウェアにより実現する場合の構成を示すブロック図で
ある。
【図19】第8の実施形態によるデータ圧縮装置の動作
を示すフローチャートである。
【図20】第9の実施形態によるデータ圧縮装置の構成
を示すブロック図である。
【図21】第10の実施形態によるコードブック作成方
法を説明するための図である。
【図22】第10の実施形態を示す図であり、初期のコ
ードブックを様々に与えた場合のPSNR特性の違いを
説明するための図である。
【図23】第10の実施形態を示す図であり、書き換え
パターンを様々に変えた場合のPSNR特性の違いを説
明するための図である。
【図24】第10の実施形態を示す図であり、利得の与
えた方を様々に変えた場合のPSNR特性の違いを説明
するための図である。
【図25】第10の実施形態を示す図であり、利得の初
期値を様々に与えた場合のPSNR特性の違いを説明す
るための図である。
【図26】第11の実施形態について説明するための図
である。
【図27】第11の実施形態について説明するためのP
SNR特性図である。
【図28】第12の実施形態によるデータ圧縮装置の構
成を示すブロック図である。
【図29】第12の実施形態によるデータ圧縮装置の動
作を示すフローチャートである。
【図30】第13の実施形態について説明するための図
である。
【図31】第13の実施形態について説明するための特
性図である。
【図32】第14の実施形態について説明するための図
である。
【図33】第14の実施形態について説明するための図
である。
【図34】第14の実施形態について説明するための図
である。
【図35】第14の実施形態について説明するための図
である。
【図36】第14の実施形態について説明するための図
である。
【図37】第14の実施形態によるデータ圧縮装置の構
成を示すブロック図である。
【図38】第15の実施形態によるデータ圧縮伸長シス
テムの構成を示すブロック図である。
【図39】第16の実施形態による空間方向コード番号
の並べ替え方を説明するためのデータフロー図である。
【図40】第16の実施形態による空間方向コード番号
の再配列の仕方を第2の実施形態に応用した場合の圧縮
時のデータの流れを示すデータフロー図である。
【図41】第16の実施形態によるデータ圧縮装置の構
成例を示すブロック図である。
【図42】第16の実施形態によるデータ伸長装置の構
成例を示すブロック図である。
【図43】第16の実施形態による空間方向コード番号
の再配列の仕方を第3の実施形態に応用した場合の圧縮
時のデータの流れを示すデータフロー図である。
【図44】第16の実施形態による空間方向コード番号
の再配列の仕方を第4の実施形態に応用した場合の圧縮
時のデータの流れを示すデータフロー図である。
【図45】第16の実施形態による空間方向コード番号
の再配列の仕方を第7の実施形態に応用した場合のデー
タ圧縮装置の構成例を示すブロック図である。
【図46】空間方向コード番号の再配列の方法と圧縮率
との関係を示す図である。
【図47】第17の実施形態によるデータ圧縮システム
の一構成例を示すブロック図である。
【図48】第18の実施形態によるデータ更新処理の第
2の方法を説明するための図である。
【図49】第18の実施形態によるデータ更新処理の第
3の方法を説明するための図である。
【符号の説明】
1 画像入力部 2 画像メモリ 3 読み出し部 4 ブロック化部 11 再生画像生成部 12 ブロックシフト部 35 空間方向用コードブック記憶部 36 相関度演算部 37 演算モード指定部 38 コード決定部 39 空間方向コード再配列演算部 40 時間軸用コードブック記憶部 44 空間方向コード再生部 45 時間軸用コードブック記憶部 48 再生画像生成部 48a 時間軸シフト部 49 空間方向用コードブック記憶部 51 DC成分検出・除去部 52 演算モード指定部 53 空間方向用コードブック記憶部 54 空間方向DC成分再配列演算部 55 時間軸用コードブック記憶部 56 時間軸DC成分用コードブック記憶部 64 コード列記憶部 65 コード列比較部 66 出力部 74 Y,U,V信号分離部 75 ブロック化部 76 空間方向用コードブック記憶部 77 相関度演算部 78 コード決定部 81 コードブック記憶部 82 特徴量記憶部 83 マンハッタン距離演算部 84 最小マンハッタン距離記憶部 85 特徴量演算部 86 特徴量差分演算部 87 演算省略判定部 88 アドレスカウンタ 89 最小距離アドレス記憶部 151 変化モード判定部 152 特徴テンプレート記憶部 162 コードブックサーバシステム 171 コードブック蓄積装置 172 コードブック管理装置 174 コードブック生成装置 181 空間方向コード再配列方法指定部 182 空間方向コード再生方法指定部 183 空間方向DC成分再配列方法指定部 191 画像処理部 192 特徴量相関度演算部 200 複数の隣接マクロブロックを含むデータ更新ブ
ロック 201 複数の離散マクロブロックを含むデータ更新ブ
ロック
───────────────────────────────────────────────────── フロントページの続き (72)発明者 小谷 光司 千葉県千葉市美浜区稲毛海岸5丁目5−2 −206 (72)発明者 中田 明良 東京都足立区加平二丁目12番5号 (72)発明者 今井 誠 宮城県仙台市青葉区荒巻字青葉(無番地) 東北大学内 (72)発明者 譽田 正宏 宮城県仙台市青葉区荒巻字青葉(無番地) 東北大学内 (72)発明者 森本 達郎 宮城県仙台市青葉区荒巻字青葉(無番地) 東北大学内 (72)発明者 米澤 岳美 宮城県仙台市青葉区荒巻字青葉(無番地) 東北大学内 (72)発明者 野沢 俊之 宮城県仙台市青葉区荒巻字青葉(無番地) 東北大学内 (72)発明者 中山 貴裕 宮城県仙台市青葉区荒巻字青葉(無番地) 東北大学内 (72)発明者 藤林 正典 宮城県仙台市青葉区荒巻字青葉(無番地) 東北大学内 (72)発明者 新田 雄久 東京都文京区本郷4丁目1番4号 株式会 社ウルトラクリーンテクノロジー開発研究 所内

Claims (80)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1つ以上のデータを有するデ
    ータ列をブロック化してベクトルとし、あらかじめ用意
    されたコードブックの中から、圧縮対象より抽出される
    ベクトルに類似したコードベクトルを探し出して、それ
    に対応するコードを出力するデータ圧縮装置において、 上記ベクトルを構成するブロックを、データ位置を1次
    元的に配列したラインブロックとすることを特徴とする
    データ圧縮装置。
  2. 【請求項2】 少なくとも1つ以上のデータを有するデ
    ータ列をブロック化してベクトルとし、あらかじめ用意
    されたコードブックの中から、圧縮対象より抽出される
    ベクトルに類似したコードベクトルを探し出して、それ
    に対応するコードを出力するデータ圧縮装置において、 上記圧縮対象のベクトルを構成するブロックを、少なく
    とも垂直方向に近接するブロック間では空間的位置を水
    平方向にずらして圧縮対象より抽出するようにするブロ
    ックシフト手段を備えたことを特徴とするデータ圧縮装
    置。
  3. 【請求項3】 上記ベクトルを構成するブロックは、デ
    ータ位置を1次元的に配列したラインブロックであるこ
    とを特徴とする請求項2に記載のデータ圧縮装置。
  4. 【請求項4】 少なくとも1つ以上のデータを有するデ
    ータ列をベクトルとし、少なくとも1つ以上のコードベ
    クトルを有するコードブックの中から圧縮コードに対応
    するコードベクトルを探し出して、それを該当するブロ
    ック位置に割り当てることによって元データを再現する
    データ伸長装置において、 上記コードブックの中から探し出したコードベクトルを
    構成するブロックを、少なくとも垂直方向に近接するブ
    ロック間では空間的位置を水平方向にずらして割り当て
    るブロックシフト手段を備えたことを特徴とするデータ
    伸長装置。
  5. 【請求項5】 上記ベクトルを構成するブロックは、デ
    ータ位置を1次元的に配列したラインブロックであるこ
    とを特徴とする請求項4に記載のデータ伸長装置。
  6. 【請求項6】 少なくとも1つ以上のデータを有するデ
    ータ列をブロック化してベクトルとし、データ圧縮時に
    は、あらかじめ用意されたコードブックの中から、圧縮
    対象より抽出されるベクトルに類似したコードベクトル
    を探し出して、それに対応するコードを出力するととも
    に、データ伸長時には、上記コードブックの中から上記
    コードに対応するコードベクトルを探し出して、それを
    該当するブロック位置に割り当てることによって元デー
    タを再現するデータ圧縮伸長システムにおいて、 上記データ圧縮時において、上記圧縮対象のベクトルを
    構成するブロックを、少なくとも垂直方向に近接するブ
    ロック間では空間的位置を水平方向にずらして圧縮対象
    より抽出するようにする第1のブロックシフト手段と、 上記データ伸長時において、上記コードブックの中から
    探し出したコードベクトルのブロックを、少なくとも垂
    直方向に近接するブロック間では空間的位置を水平方向
    にずらして割り当てる第2のブロックシフト手段との少
    なくとも何れかを備えたことを特徴とするデータ圧縮伸
    長システム。
  7. 【請求項7】 上記ベクトルを構成するブロックは、デ
    ータ位置を1次元的に配列したラインブロックであるこ
    とを特徴とする請求項6に記載のデータ圧縮伸長システ
    ム。
  8. 【請求項8】 上記第1のブロックシフト手段によるブ
    ロックシフトと、上記第2のブロックシフト手段による
    ブロックシフトとは、シフト量が同じで方向が互いに逆
    の関係にあることを特徴とする請求項6または7に記載
    のデータ圧縮伸長システム。
  9. 【請求項9】 少なくとも1つ以上のデータを有するデ
    ータ列をブロック化してベクトルとし、あらかじめ用意
    されたコードブックの中から、圧縮対象より抽出される
    ベクトルに類似したコードベクトルを探し出して、それ
    に対応するコードを出力するデータ圧縮装置において、 時間軸に沿って変化する圧縮対象の各時刻におけるデー
    タに対してそれぞれ、当該データ中から複数のブロック
    を抽出してそれらのベクトルに類似したコードベクトル
    を第1のコードブックから夫々探し出し、それらに対応
    するコード列を各時刻毎に出力する第1のベクトル量子
    化手段と、 上記第1のベクトル量子化手段により各時刻毎に出力さ
    れたコード列を再配列して複数の新たなベクトルとし、
    上記複数の新たなベクトルに対してそれぞれ、それらの
    ベクトルに類似したコードベクトルを第2のコードブッ
    クから夫々探し出し、それらに対応するコード列を出力
    する第2のベクトル量子化手段とを備えたことを特徴と
    するデータ圧縮装置。
  10. 【請求項10】 上記第1のベクトル量子化手段により
    各時刻毎に出力されたコード列のうち、上記各時刻にお
    けるデータ間で対応するアドレスのコードどうしをまと
    めて新たなベクトルを複数生成するコード列再配列手段
    を備えたことを特徴とする請求項9に記載のデータ圧縮
    装置。
  11. 【請求項11】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、あらかじめ用
    意されたコードブックの中から、圧縮対象より抽出され
    るベクトルに類似したコードベクトルを探し出して、そ
    れに対応するコードを出力するデータ圧縮装置におい
    て、 時間軸に沿って変化する圧縮対象の各時刻におけるデー
    タに対してそれぞれ、当該データ中から複数のブロック
    を抽出してそれらのベクトルに類似したコードベクトル
    を第1のコードブックから夫々探し出し、それらに対応
    するコード列を各時刻毎に出力する第1のベクトル量子
    化手段と、 上記第1のベクトル量子化手段により各時刻毎に出力さ
    れたコード列のうち、ある時刻におけるデータのコード
    列を基準コード列とし、上記基準コード列と他の時刻に
    おけるデータのコード列との間において対応するアドレ
    スのコード間で差分をとった結果を再配列して複数の新
    たなベクトルとし、上記複数の新たなベクトルに対して
    それぞれ、それらのベクトルに類似したコードベクトル
    を第2のコードブックから夫々探し出し、それらに対応
    するコード列を出力する第2のベクトル量子化手段とを
    備えたことを特徴とするデータ圧縮装置。
  12. 【請求項12】 上記第1のベクトル量子化手段により
    各時刻毎に出力されたコード列のうち、ある時刻におけ
    るデータのコード列を基準コード列とし、上記基準コー
    ド列と他の時刻におけるデータのコード列との間におい
    て対応するアドレスのコード間で差分をとり、上記対応
    するアドレスの差分どうしをまとめて新たなベクトルを
    複数生成するコード列再配列手段を備えたことを特徴と
    する請求項11に記載のデータ圧縮装置。
  13. 【請求項13】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、あらかじめ用
    意されたコードブックの中から、圧縮対象より抽出され
    るベクトルに類似したコードベクトルを探し出して、そ
    れに対応するコードを出力するデータ圧縮装置におい
    て、 時間軸に沿って変化する圧縮対象の各時刻におけるデー
    タに対してそれぞれ、当該データ中から複数のブロック
    を抽出してそれらのベクトルに類似したコードベクトル
    を第1のコードブックから夫々探し出し、それらに対応
    するコード列を各時刻毎に出力する第1のベクトル量子
    化手段と、 上記第1のベクトル量子化手段により各時刻毎に出力さ
    れたコード列のうち、時間軸方向に隣接するデータの間
    において対応するアドレスのコード間で差分をとった結
    果を再配列して複数の新たなベクトルとし、上記複数の
    新たなベクトルに対してそれぞれ、それらのベクトルに
    類似したコードベクトルを第2のコードブックから夫々
    探し出し、それらに対応するコード列を出力する第2の
    ベクトル量子化手段とを備えたことを特徴とするデータ
    圧縮装置。
  14. 【請求項14】 上記第1のベクトル量子化手段により
    各時刻毎に出力されたコード列のうち、時間軸方向に隣
    接するデータの間において対応するアドレスのコード間
    で差分をとり、上記対応するアドレスの差分どうしをま
    とめて新たなベクトルを複数生成するコード列再配列手
    段を備えたことを特徴とする請求項13に記載のデータ
    圧縮装置。
  15. 【請求項15】 少なくとも1つ以上のデータを有する
    データ列をベクトルとし、少なくとも1つ以上のコード
    ベクトルを有するコードブックの中から圧縮コードに対
    応するコードベクトルを探し出して、それを該当するブ
    ロック位置に割り当てることによって元データを再現す
    るデータ伸長装置において、 請求項9または10に記載のデータ圧縮装置により生成
    されたコード列に対応するコードベクトルを上記第2の
    コードブックから夫々探し出して出力する第2のデコー
    ド手段と、 上記第2のデコード手段により出力された複数のコード
    ベクトルを構成するコード列を再配列して複数の新たな
    ベクトルとし、上記複数の新たなベクトルに対してそれ
    ぞれ、上記新たなベクトルを構成するコード列に対応す
    るコードベクトルを上記第1のコードブックから夫々探
    し出して出力する第1のデコード手段とを備えたことを
    特徴とするデータ伸長装置。
  16. 【請求項16】 少なくとも1つ以上のデータを有する
    データ列をベクトルとし、少なくとも1つ以上のコード
    ベクトルを有するコードブックの中から圧縮コードに対
    応するコードベクトルを探し出して、それを該当するブ
    ロック位置に割り当てることによって元データを再現す
    るデータ伸長装置において、 請求項11または12に記載のデータ圧縮装置により生
    成されたコード列に対応するコードベクトルを上記第2
    のコードブックから夫々探し出して出力する第2のデコ
    ード手段と、 上記第2のデコード手段により出力された複数のコード
    ベクトルを構成するコード列と上記基準コード列との間
    で対応するアドレスのコードどうしを加算した結果を再
    配列して複数の新たなベクトルとし、上記複数の新たな
    ベクトルに対してそれぞれ、上記新たなベクトルを構成
    するコード列に対応するコードベクトルを上記第1のコ
    ードブックから夫々探し出して出力する第1のデコード
    手段とを備えたことを特徴とするデータ伸長装置。
  17. 【請求項17】 少なくとも1つ以上のデータを有する
    データ列をベクトルとし、少なくとも1つ以上のコード
    ベクトルを有するコードブックの中から圧縮コードに対
    応するコードベクトルを探し出して、それを該当するブ
    ロック位置に割り当てることによって元データを再現す
    るデータ伸長装置において、 請求項13または14に記載のデータ圧縮装置により生
    成されたコード列に対応するコードベクトルを上記第2
    のコードブックから夫々探し出して出力する第2のデコ
    ード手段と、 上記第2のデコード手段により出力された複数のコード
    ベクトルを構成するコード列について、コードをアドレ
    ス順に加算していった夫々の結果を再配列して複数の新
    たなベクトルとし、上記複数の新たなベクトルに対して
    それぞれ、上記新たなベクトルを構成するコード列に対
    応するコードベクトルを上記第1のコードブックから夫
    々探し出して出力する第1のデコード手段とを備えたこ
    とを特徴とするデータ伸長装置。
  18. 【請求項18】 上記複数の新たなベクトルを生成する
    際に、上記新たなベクトル内の要素を少なくとも近接す
    るベクトル間では時間軸方向にずらして配列するように
    する時間軸シフト手段を備えたことを特徴とする請求項
    9〜14の何れか1項に記載のデータ圧縮装置。
  19. 【請求項19】 上記複数の新たなベクトルを生成する
    際に、上記新たなベクトル内の少なくとも近接する要素
    を時間軸方向にずらして配列するようにする時間軸シフ
    ト手段を備えたことを特徴とする請求項15〜17の何
    れか1項に記載のデータ伸長装置。
  20. 【請求項20】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、あらかじめ用
    意されたコードブックの中から、圧縮対象より抽出され
    るベクトルに類似したコードベクトルを探し出して、そ
    れに対応するコードを出力するデータ圧縮装置におい
    て、 時間軸に沿って変化する圧縮対象の各時刻におけるデー
    タ列のうち、各時刻におけるデータ間で対応するアドレ
    スのデータどうしをまとめて複数のベクトルとし、それ
    らのベクトルに類似したコードベクトルをコードブック
    から夫々探し出し、それらに対応するコード列を出力す
    るベクトル量子化手段を備えたことを特徴とするデータ
    圧縮装置。
  21. 【請求項21】 上記複数のベクトルを取り出す際に、
    上記ベクトル内の要素を少なくとも近接するベクトル間
    では時間軸方向にずらして配列するようにする時間軸シ
    フト手段を備えたことを特徴とする請求項20に記載の
    データ圧縮装置。
  22. 【請求項22】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、あらかじめ用
    意されたコードブックの中から、圧縮対象より抽出され
    るベクトルに類似したコードベクトルを探し出して、そ
    れに対応するコードを出力するデータ圧縮装置におい
    て、 上記圧縮対象から少なくとも1つ以上の特徴量を抽出
    し、特徴量データと上記圧縮対象から上記特徴量を除い
    た基本パターンデータとに分離する分離手段を備え、 上記分離した特徴量データと基本パターンデータとに対
    してそれぞれ独立にベクトル量子化を行うようにしたこ
    とを特徴とするデータ圧縮装置。
  23. 【請求項23】 上記分離手段によって時間軸に沿って
    変化する圧縮対象から分離された各時刻における基本パ
    ターンデータに対してそれぞれ、当該データ中から複数
    のブロックを抽出してそれらのベクトルに類似したコー
    ドベクトルを基本パターン用の第1のコードブックから
    夫々探し出し、それらに対応するコード列を各時刻毎に
    出力する第1のベクトル量子化手段と、 上記第1のベクトル量子化手段により各時刻毎に出力さ
    れたコード列を再配列して複数の新たなベクトルとし、
    上記複数の新たなベクトルに対してそれぞれ、それらの
    ベクトルに類似したコードベクトルを基本パターン用の
    第2のコードブックから夫々探し出し、それらに対応す
    るコード列を出力する第2のベクトル量子化手段と、 上記分離手段によって上記時間軸に沿って変化する圧縮
    対象から分離された各時刻における特徴量を構成するデ
    ータ列を再配列して複数の新たなベクトルとし、上記複
    数の新たなベクトルに対してそれぞれ、それらのベクト
    ルに類似したコードベクトルを特徴量用の第3のコード
    ブックから夫々探し出し、それらに対応するコード列を
    出力する第3のベクトル量子化手段とを備えたことを特
    徴とする請求項22に記載のデータ圧縮装置。
  24. 【請求項24】 少なくとも1つ以上のデータを有する
    データ列をベクトルとし、少なくとも1つ以上のコード
    ベクトルを有するコードブックの中から圧縮コードに対
    応するコードベクトルを探し出して、それを該当するブ
    ロック位置に割り当てることによって元データを再現す
    るデータ伸長装置において、 請求項22または23に記載のデータ圧縮装置より出力
    された基本パターンに関するコード列に基づいて元の基
    本パターンデータを再現する基本パターン用の第1のデ
    コード手段と、 請求項22または23に記載のデータ圧縮装置より出力
    された特徴量に関するコード列に基づいて元の特徴量デ
    ータを再現する特徴量用の第2のデコード手段と、 上記第1、第2のデコード手段の出力結果を合成して元
    データを再現する合成手段とを備えたことを特徴とする
    データ伸長装置。
  25. 【請求項25】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、あらかじめ用
    意されたコードブックの中から、圧縮対象より抽出され
    るベクトルに類似したコードベクトルを探し出して、そ
    れに対応するコードを出力するデータ圧縮装置におい
    て、 時間軸に沿って変化する圧縮対象の各時刻におけるデー
    タに対してそれぞれ、当該データ中から複数のブロック
    を抽出してそれらのベクトルに類似したコードベクトル
    をコードブックから夫々探し出し、それらに対応するコ
    ード列を各時刻毎に出力するベクトル量子化手段と、 上記ベクトル量子化手段により各時刻毎に出力されるコ
    ード列について、時間軸方向に隣接するデータの対応す
    るアドレスどうしでコード間の相関を夫々とり、相関が
    所定値より小さいアドレスについてのみコードを出力す
    るようにする出力制御手段とを備えたことを特徴とする
    データ圧縮装置。
  26. 【請求項26】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、あらかじめ用
    意されたコードブックの中から、圧縮対象のカラー画像
    より抽出されるベクトルに類似したコードベクトルを探
    し出して、それに対応するコードを出力するデータ圧縮
    装置において、 輝度信号用のコードブックと色信号用のコードブックと
    を備え、上記色信号用のコードブックよりも上記輝度信
    号用のコードブックの方により多くのコードベクトルを
    割り当てるようにしたことを特徴とするデータ圧縮装
    置。
  27. 【請求項27】 上記輝度信号であるY信号、および上
    記色信号であるU信号、V信号の圧縮レートが4:1:
    1もしくは4:2:2であることを特徴とする請求項2
    6に記載のデータ圧縮装置。
  28. 【請求項28】 少なくとも1つ以上のデータを有する
    データ列であるベクトルの集合から成り、ベクトル量子
    化で用いられるコードブックを作成する方法であって、
    あるサンプルデータと初期のコードブックとを用いてベ
    クトル量子化の処理を繰り返し行い、コードブックの仮
    想的な2次元平面上で指定された範囲の内容を1回の処
    理毎に所定の更新係数に従って更新していくことによっ
    てコードブックを最適化するコードブックの作成方法に
    おいて、 上記初期のコードブックとして、とり得る値の最小値か
    ら最大値までデータ値が連続的に変化するパターンのコ
    ードブックを用いたことを特徴とするコードブックの作
    成方法。
  29. 【請求項29】 少なくとも1つ以上のデータを有する
    データ列であるベクトルの集合から成り、ベクトル量子
    化で用いられるコードブックを作成する方法であって、
    あるサンプルデータと初期のコードブックとを用いてベ
    クトル量子化の処理を繰り返し行い、コードブックの仮
    想的な2次元平面上で指定された範囲の内容を1回の処
    理毎に所定の更新係数に従って更新していくことによっ
    てコードブックを最適化するコードブックの作成方法に
    おいて、 上記1回の処理で更新する範囲を上記仮想的な2次元平
    面上で1次元的に適用し、かつ更新回数の増加と共に範
    囲を減少させることを特徴とするコードブックの作成方
    法。
  30. 【請求項30】 少なくとも1つ以上のデータを有する
    データ列であるベクトルの集合から成り、ベクトル量子
    化で用いられるコードブックを作成する方法であって、
    あるサンプルデータと初期のコードブックとを用いてベ
    クトル量子化の処理を繰り返し行い、コードブックの仮
    想的な2次元平面上で指定された範囲の内容を1回の処
    理毎に所定の更新係数に従って更新していくことによっ
    てコードブックを最適化するコードブックの作成方法に
    おいて、 上記更新係数の初期値を0.3〜1の範囲内の何れかの
    値とし、かつ更新回数の増加と共に上記更新係数の値を
    減少させることを特徴とするコードブックの作成方法。
  31. 【請求項31】 少なくとも1つ以上のデータを有する
    データ列であるベクトルの集合から成り、ベクトル量子
    化で用いられるコードブックを作成する方法であって、
    あるサンプルデータと初期のコードブックとを用いてベ
    クトル量子化の処理を繰り返し行い、コードブックの仮
    想的な2次元平面上で指定された範囲の内容を1回の処
    理毎に所定の更新係数に従って更新していくことによっ
    てコードブックを最適化するコードブックの作成方法に
    おいて、 上記初期のコードブックとして、とり得る値の最小値か
    ら最大値までデータ値が連続的に変化するパターンのコ
    ードブックを用い、 上記1回の処理で更新する範囲を上記仮想的な2次元平
    面上で1次元的に適用し、かつ更新回数の増加と共に範
    囲を減少させ、 上記更新係数の初期値を0.3〜1の範囲内の何れかの
    値とし、かつ更新回数の増加と共に上記更新係数の値を
    減少させるようにしたことを特徴とするコードブックの
    作成方法。
  32. 【請求項32】 少なくとも1つ以上のデータを有する
    データ列であるベクトルの集合から成り、ベクトル量子
    化で用いられるコードブックを作成する方法であって、
    あるサンプルデータと初期のコードブックとを用いてベ
    クトル量子化の処理を繰り返し行い、コードブックの仮
    想的な2次元平面上で指定された範囲の内容を1回の処
    理毎に所定の更新係数に従って更新していくことによっ
    てコードブックを最適化するコードブックの作成方法に
    おいて、 複数のサンプルデータに対して独立にコードブックを最
    適化し、得られた複数のコードブックを合成して新たな
    コードブックを作成するようにしたことを特徴とするコ
    ードブックの作成方法。
  33. 【請求項33】 上記複数のサンプルデータに対して独
    立にコードブックを最適化する際に、請求項28〜31
    の何れか1項に記載の方法によりコードブックを作成す
    るようにしたことを特徴とする請求項32に記載のコー
    ドブックの作成方法。
  34. 【請求項34】 コードブック内の各コードベクトルに
    関してあらかじめ求められた特徴量を記憶する特徴量記
    憶手段と、 上記圧縮対象より抽出されるベクトルの特徴量を求める
    特徴量演算手段と、 上記特徴量記憶手段に記憶されている各コードベクトル
    の特徴量と上記特徴量演算手段により求められた圧縮対
    象ベクトルの特徴量とに基づいて、上記各コードベクト
    ルのそれぞれについて上記圧縮対象ベクトルとの類似度
    を求める演算を省略するかどうかを決定する演算省略手
    段とを備えたことを特徴とする請求項1〜3、9〜1
    4、18、20〜21、25〜27の何れか1項に記載
    のデータ圧縮装置。
  35. 【請求項35】 上記特徴量は、ベクトルを構成するデ
    ータ列の値の総和、平均値もしくは直流成分であること
    を特徴とする請求項34に記載のデータ圧縮装置。
  36. 【請求項36】 上記特徴量は、ベクトルを構成するデ
    ータ列のうちの一部の要素の値を、とり得る値の中間値
    を基準として反転するように操作した後の値の総和、平
    均値もしくは直流成分であることを特徴とする請求項3
    4に記載のデータ圧縮装置。
  37. 【請求項37】 上記特徴量は、ベクトルを構成するデ
    ータ列の値のブロック内での変化の方向であることを特
    徴とする請求項34に記載のデータ圧縮装置。
  38. 【請求項38】 上記特徴量は、ベクトルを構成するデ
    ータ列の値のブロック内での変化の態様であることを特
    徴とする請求項34に記載のデータ圧縮装置。
  39. 【請求項39】 上記演算省略手段は、あるコードベク
    トルの特徴量と上記圧縮対象ベクトルの特徴量との差分
    絶対値を求める差分絶対値演算手段と、 上記差分絶対値演算手段により求められた差分絶対値
    が、他のコードベクトルについて既に求められている類
    似度を表す値の最小値よりも大きい場合に、上記あるコ
    ードベクトルについての類似度の演算を省略する省略判
    定手段とを備えることを特徴とする請求項34〜38の
    何れか1項に記載のデータ圧縮装置。
  40. 【請求項40】 コードブック内の各コードベクトルに
    関してあらかじめ求められた異なる種類の特徴量を記憶
    する特徴量記憶手段と、 上記圧縮対象より抽出されるベクトルについて異なる種
    類の特徴量を求める特徴量演算手段と、 上記特徴量記憶手段に記憶されている各コードベクトル
    に関する異なる種類の特徴量と、上記特徴量演算手段に
    より求められた圧縮対象ベクトルに関する異なる種類の
    特徴量とに基づいて、上記各コードベクトルのそれぞれ
    について上記圧縮対象ベクトルとの類似度を求める演算
    を省略するかどうかを決定する演算省略手段とを備えた
    ことを特徴とする請求項1〜3、9〜14、18、20
    〜21、25〜27の何れか1項に記載のデータ圧縮装
    置。
  41. 【請求項41】 少なくとも1つ以上のコードブックを
    保持しておくコードブックサーバと、データ圧縮システ
    ムと、データ伸長システムとを備えたデータ圧縮伸長シ
    ステムであって、 上記コードブックサーバは、上記データ圧縮システムお
    よびデータ伸長システムからの要求に従って、保持して
    いる何れかのコードブックを供給することを特徴とする
    データ圧縮伸長システム。
  42. 【請求項42】 上記コードブックサーバは、少なくと
    も1つ以上のコードブックを保持するコードブック保持
    手段と、 上記データ圧縮システムおよびデータ伸長システムから
    の要求に合ったコードブックを生成するコードブック生
    成手段と、 上記データ圧縮システムおよびデータ伸長システムから
    の要求に応じて、上記コードブック保持手段に保持され
    ているコードブックもしくは上記コードブック生成手段
    により生成されたコードブックを供給するコードブック
    管理手段とを備えることを特徴とする請求項41に記載
    のデータ圧縮伸長システム。
  43. 【請求項43】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、あらかじめ用
    意されたコードブックの中から、圧縮対象より抽出され
    るベクトルに類似したコードベクトルを探し出して、そ
    れに対応するコードを出力するデータ圧縮方法におい
    て、 上記ベクトルを構成するブロックを、データ位置を1次
    元的に配列したラインブロックとしたことを特徴とする
    データ圧縮方法。
  44. 【請求項44】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、あらかじめ用
    意されたコードブックの中から、圧縮対象より抽出され
    るベクトルに類似したコードベクトルを探し出して、そ
    れに対応するコードを出力するデータ圧縮方法におい
    て、 上記圧縮対象のベクトルを構成するブロックを、少なく
    とも垂直方向に近接するブロック間では空間的位置を水
    平方向にずらして圧縮対象より抽出するようにしたこと
    を特徴とするデータ圧縮方法。
  45. 【請求項45】 上記ベクトルを構成するブロックは、
    データ位置を1次元的に配列したラインブロックである
    ことを特徴とする請求項44に記載のデータ圧縮方法。
  46. 【請求項46】 少なくとも1つ以上のデータを有する
    データ列をベクトルとし、少なくとも1つ以上のコード
    ベクトルを有するコードブックの中から圧縮コードに対
    応するコードベクトルを探し出して、それを該当するブ
    ロック位置に割り当てることによって元データを再現す
    るデータ伸長方法において、 上記コードブックの中から探し出したコードベクトルを
    構成するブロックを、少なくとも垂直方向に近接するブ
    ロック間では空間的位置を水平方向にずらして割り当て
    るようにしたことを特徴とするデータ伸長方法。
  47. 【請求項47】 上記ベクトルを構成するブロックは、
    データ位置を1次元的に配列したラインブロックである
    ことを特徴とする請求項46に記載のデータ伸長方法。
  48. 【請求項48】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、データ圧縮時
    には、あらかじめ用意されたコードブックの中から、圧
    縮対象より抽出されるベクトルに類似したコードベクト
    ルを探し出して、それに対応するコードを出力するとと
    もに、データ伸長時には、上記コードブックの中から上
    記コードに対応するコードベクトルを探し出して、それ
    を該当するブロック位置に割り当てることによって元デ
    ータを再現するデータ圧縮伸長方法において、 上記データ圧縮時において、上記圧縮対象のベクトルを
    構成するブロックを、少なくとも垂直方向に近接するブ
    ロック間では空間的位置を水平方向にずらして圧縮対象
    より抽出するとともに、 上記データ伸長時において、上記コードブックの中から
    探し出したコードベクトルのブロックを、少なくとも垂
    直方向に近接するブロック間では、上記データ圧縮時と
    シフト量が同じで方向が互いに逆の関係となるように空
    間的位置を水平方向にずらして割り当てるようにしたこ
    とを特徴とするデータ圧縮伸長方法。
  49. 【請求項49】 上記ベクトルを構成するブロックは、
    データ位置を1次元的に配列したラインブロックである
    ことを特徴とする請求項48に記載のデータ圧縮伸長方
    法。
  50. 【請求項50】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、あらかじめ用
    意されたコードブックの中から、圧縮対象より抽出され
    るベクトルに類似したコードベクトルを探し出して、そ
    れに対応するコードを出力するデータ圧縮方法におい
    て、 時間軸に沿って変化する圧縮対象の各時刻におけるデー
    タに対してそれぞれ、当該データ中から複数のブロック
    を抽出してそれらのベクトルに類似したコードベクトル
    を第1のコードブックから夫々探し出し、それらに対応
    するコード列を各時刻毎に出力する第1のベクトル量子
    化ステップと、 上記第1のベクトル量子化ステップで各時刻毎に出力さ
    れたコード列のうち、上記各時刻におけるデータ間で対
    応するアドレスのコードどうしをまとめて新たなベクト
    ルを複数生成するコード列再配列ステップと、 上記コード列再配列ステップで生成された複数の新たな
    ベクトルに対してそれぞれ、それらのベクトルに類似し
    たコードベクトルを第2のコードブックから夫々探し出
    し、それらに対応するコード列を出力する第2のベクト
    ル量子化ステップとを有することを特徴とするデータ圧
    縮方法。
  51. 【請求項51】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、あらかじめ用
    意されたコードブックの中から、圧縮対象より抽出され
    るベクトルに類似したコードベクトルを探し出して、そ
    れに対応するコードを出力するデータ圧縮方法におい
    て、 時間軸に沿って変化する圧縮対象の各時刻におけるデー
    タに対してそれぞれ、当該データ中から複数のブロック
    を抽出してそれらのベクトルに類似したコードベクトル
    を第1のコードブックから夫々探し出し、それらに対応
    するコード列を各時刻毎に出力する第1のベクトル量子
    化ステップと、 上記第1のベクトル量子化ステップで各時刻毎に出力さ
    れたコード列のうち、ある時刻におけるデータのコード
    列を基準コード列とし、上記基準コード列と他の時刻に
    おけるデータのコード列との間において対応するアドレ
    スのコード間で差分をとり、上記対応するアドレスの差
    分どうしをまとめて新たなベクトルを複数生成するコー
    ド列再配列ステップと、 上記コード列再配列ステップで生成された複数の新たな
    ベクトルに対してそれぞれ、それらのベクトルに類似し
    たコードベクトルを第2のコードブックから夫々探し出
    し、それらに対応するコード列を出力する第2のベクト
    ル量子化ステップとを有することを特徴とするデータ圧
    縮方法。
  52. 【請求項52】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、あらかじめ用
    意されたコードブックの中から、圧縮対象より抽出され
    るベクトルに類似したコードベクトルを探し出して、そ
    れに対応するコードを出力するデータ圧縮方法におい
    て、 時間軸に沿って変化する圧縮対象の各時刻におけるデー
    タに対してそれぞれ、当該データ中から複数のブロック
    を抽出してそれらのベクトルに類似したコードベクトル
    を第1のコードブックから夫々探し出し、それらに対応
    するコード列を各時刻毎に出力する第1のベクトル量子
    化ステップと、 上記第1のベクトル量子化ステップで各時刻毎に出力さ
    れたコード列のうち、時間軸方向に隣接するデータの間
    において対応するアドレスのコード間で差分をとり、上
    記対応するアドレスの差分どうしをまとめて新たなベク
    トルを複数生成するコード列再配列ステップと、 上記コード列再配列ステップで生成された複数の新たな
    ベクトルに対してそれぞれ、それらのベクトルに類似し
    たコードベクトルを第2のコードブックから夫々探し出
    し、それらに対応するコード列を出力する第2のベクト
    ル量子化ステップとを備えたことを特徴とするデータ圧
    縮方法。
  53. 【請求項53】 上記コード列再配列ステップで上記複
    数の新たなベクトルを生成する際に、上記新たなベクト
    ル内の要素を少なくとも近接するベクトル間では時間軸
    方向にずらして配列するようにしたことを特徴とする請
    求項50〜52の何れか1項に記載のデータ圧縮方法。
  54. 【請求項54】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、あらかじめ用
    意されたコードブックの中から、圧縮対象より抽出され
    るベクトルに類似したコードベクトルを探し出して、そ
    れに対応するコードを出力するデータ圧縮方法におい
    て、 時間軸に沿って変化する圧縮対象の各時刻におけるデー
    タ列のうち、各時刻におけるデータ間で対応するアドレ
    スのデータどうしをまとめて複数のベクトルとし、それ
    らのベクトルに類似したコードベクトルをコードブック
    から夫々探し出し、それらに対応するコード列を出力す
    るベクトル量子化ステップを有することを特徴とするデ
    ータ圧縮方法。
  55. 【請求項55】 上記複数のベクトルを取り出す際に、
    上記ベクトル内の要素を少なくとも近接するベクトル間
    では時間軸方向にずらして配列するようにすることを特
    徴とする請求項54に記載のデータ圧縮方法。
  56. 【請求項56】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、あらかじめ用
    意されたコードブックの中から、圧縮対象より抽出され
    るベクトルに類似したコードベクトルを探し出して、そ
    れに対応するコードを出力するデータ圧縮方法におい
    て、 上記圧縮対象から少なくとも1つ以上の特徴量を抽出
    し、特徴量データと上記圧縮対象から上記特徴量を除い
    た基本パターンデータとに分離し、分離した特徴量デー
    タと基本パターンデータとに対してそれぞれ独立にベク
    トル量子化を行うようにしたことを特徴とするデータ圧
    縮方法。
  57. 【請求項57】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、あらかじめ用
    意されたコードブックの中から、圧縮対象より抽出され
    るベクトルに類似したコードベクトルを探し出して、そ
    れに対応するコードを出力するデータ圧縮方法におい
    て、 時間軸に沿って変化する圧縮対象の各時刻におけるデー
    タに対してそれぞれ、当該データ中から複数のブロック
    を抽出してそれらのベクトルに類似したコードベクトル
    をコードブックから夫々探し出し、それらに対応するコ
    ード列を各時刻毎に出力するベクトル量子化ステップ
    と、 上記ベクトル量子化ステップで各時刻毎に出力されるコ
    ード列について、時間軸方向に隣接するデータの対応す
    るアドレスどうしでコード間の相関を夫々とり、相関が
    所定値より小さいアドレスについてのみコードを出力す
    る出力ステップとを有することを特徴とするデータ圧縮
    方法。
  58. 【請求項58】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、あらかじめ用
    意されたコードブックの中から、圧縮対象のカラー画像
    より抽出されるベクトルに類似したコードベクトルを探
    し出して、それに対応するコードを出力するデータ圧縮
    方法において、 輝度信号用のコードブックと色信号用のコードブックと
    を備え、上記色信号用のコードブックよりも上記輝度信
    号用のコードブックの方により多くのコードベクトルを
    割り当てるようにしたことを特徴とするデータ圧縮方
    法。
  59. 【請求項59】 上記輝度信号であるY信号、および上
    記色信号であるU信号、V信号の圧縮レートが4:1:
    1もしくは4:2:2であることを特徴とする請求項5
    8に記載のデータ圧縮方法。
  60. 【請求項60】 圧縮対象より抽出されるベクトルの特
    徴量と、上記コードブック内の各コードベクトルに関す
    る特徴量とを比較し、その比較結果に基づいて上記コー
    ドベクトルについて上記圧縮対象ベクトルとの類似度を
    求める演算を省略するようにしたことを特徴とする請求
    項43〜45、50〜59の何れか1項に記載のデータ
    圧縮方法。
  61. 【請求項61】 あるコードベクトルの特徴量と上記圧
    縮対象ベクトルの特徴量との差分絶対値を求める差分絶
    対値演算ステップと、 上記差分絶対値演算ステップで求められた差分絶対値
    が、他のコードベクトルについて既に求められている類
    似度を表す値の最小値よりも大きい場合に、上記あるコ
    ードベクトルについての類似度の演算を省略する省略判
    定ステップとを備えることを特徴とする請求項60に記
    載のデータ圧縮方法。
  62. 【請求項62】 異なる種類の特徴量を複数利用し、上
    記複数種類の特徴量と上記圧縮対象のベクトルより抽出
    される複数種類の特徴量とに基づいて、上記各コードベ
    クトルのそれぞれについて上記圧縮対象ベクトルとの類
    似度を求める演算を省略するかどうかを決定するように
    したことを特徴とする請求項60または61に記載のデ
    ータ圧縮方法。
  63. 【請求項63】 少なくとも1つ以上のコードブックを
    保持しておくコードブックサーバと、データ圧縮システ
    ムと、データ伸長システムとを備えたデータ圧縮伸長シ
    ステムにおいて、上記コードブックサーバが、上記デー
    タ圧縮システムおよびデータ伸長システムからの要求に
    従って、保持している何れかのコードブックを供給する
    ようにしたことを特徴とするデータ圧縮伸長方法。
  64. 【請求項64】 請求項1に記載の機能をコンピュータ
    に実現させるためのプログラムを記録したことを特徴と
    するコンピュータ読み取り可能な記録媒体。
  65. 【請求項65】 請求項2、4、6の何れか1項に記載
    の各手段としてコンピュータを機能させるためのプログ
    ラムを記録したことを特徴とするコンピュータ読み取り
    可能な記録媒体。
  66. 【請求項66】 請求項9〜25の何れか1項に記載の
    各手段としてコンピュータを機能させるためのプログラ
    ムを記録したことを特徴とするコンピュータ読み取り可
    能な記録媒体。
  67. 【請求項67】 請求項29〜32の何れか1項に記載
    のコードブックの作成方法の処理手順をコンピュータに
    実行させるためのプログラムを記録したことを特徴とす
    るコンピュータ読み取り可能な記録媒体。
  68. 【請求項68】 請求項34または40に記載の各手段
    としてコンピュータを機能させるためのプログラムを記
    録したことを特徴とするコンピュータ読み取り可能な記
    録媒体。
  69. 【請求項69】 請求項41に記載の機能をコンピュー
    タに実現させるためのプログラムを記録したことを特徴
    とするコンピュータ読み取り可能な記録媒体。
  70. 【請求項70】 請求項50〜52、54、57の何れ
    か1項に記載の各ステップをコンピュータに実行させる
    ためのプログラムを記録したことを特徴とするコンピュ
    ータ読み取り可能な記録媒体。
  71. 【請求項71】 請求項56または60に記載のデータ
    圧縮方法の処理手順をコンピュータに実行させるための
    プログラムを記録したことを特徴とするコンピュータ読
    み取り可能な記録媒体。
  72. 【請求項72】 請求項63に記載のデータ圧縮伸長方
    法の処理手順をコンピュータに実行させるためのプログ
    ラムを記録したことを特徴とするコンピュータ読み取り
    可能な記録媒体。
  73. 【請求項73】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、あらかじめ用
    意されたコードブックの中から、圧縮対象より抽出され
    るベクトルに類似したコードベクトルを探し出して、そ
    れに対応するコードを出力するデータ圧縮装置におい
    て、 時間軸に沿って変化する圧縮対象の各時刻におけるデー
    タに対してそれぞれ、当該データ中から複数のブロック
    を抽出してそれらのベクトルに類似したコードベクトル
    をコードブックから夫々探し出し、それらに対応するコ
    ード列を各時刻毎に出力するベクトル量子化手段と、 上記ベクトル量子化手段により各時刻毎に探し出される
    コードベクトルの特徴量について、時間軸方向に隣接す
    るデータの対応するアドレスどうしで上記特徴量の相関
    を夫々とり、相関が所定値より小さいアドレスについて
    のみコードを出力するようにする出力制御手段とを備え
    たことを特徴とするデータ圧縮装置。
  74. 【請求項74】 上記出力制御手段は、或る時刻におい
    て、上記相関が所定値より小さいかどうかに関係なく、
    全アドレスまたは一部アドレスについて上記ベクトル量
    子化手段より出力されたコード列を出力するようにした
    ことを特徴とする請求項25または73に記載のデータ
    圧縮装置。
  75. 【請求項75】 上記相関が所定値より小さいかどうか
    に関係なくコード列を出力する一部アドレスは、圧縮対
    象のデータ中に存在する複数の隣接ブロックを含むアド
    レス、もしくは圧縮対象のデータ中に存在する複数の離
    散ブロックを含むアドレスであることを特徴とする請求
    項74に記載のデータ圧縮装置。
  76. 【請求項76】 上記相関が所定値より小さいかどうか
    に関係なくコード列を出力する一部アドレスを、時間の
    経過と共に変化させるようにしたことを特徴とする請求
    項74または75に記載のデータ圧縮装置。
  77. 【請求項77】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルとし、あらかじめ用
    意されたコードブックの中から、圧縮対象より抽出され
    るベクトルに類似したコードベクトルを探し出して、そ
    れに対応するコードを出力するデータ圧縮方法におい
    て、 時間軸に沿って変化する圧縮対象の各時刻におけるデー
    タに対してそれぞれ、当該データ中から複数のブロック
    を抽出してそれらのベクトルに類似したコードベクトル
    をコードブックから夫々探し出し、それらに対応するコ
    ード列を各時刻毎に出力するベクトル量子化ステップ
    と、 上記ベクトル量子化ステップで各時刻毎に探し出される
    コードベクトルの特徴量について、時間軸方向に隣接す
    るデータの対応するアドレスどうしで上記特徴量の相関
    を夫々とり、相関が所定値より小さいアドレスについて
    のみコードを出力する出力ステップとを有することを特
    徴とするデータ圧縮方法。
  78. 【請求項78】 上記出力ステップでは、或る時刻にお
    いては、上記相関が所定値より小さいかどうかに関係な
    く、全アドレスまたは一部アドレスについて上記ベクト
    ル量子化ステップにて出力されたコード列を出力するこ
    とを特徴とする請求項57または77に記載のデータ圧
    縮方法。
  79. 【請求項79】 上記相関が所定値より小さいかどうか
    に関係なくコード列を出力する一部アドレスは、圧縮対
    象のデータ中に存在する複数の隣接ブロックを含むアド
    レス、もしくは圧縮対象のデータ中に存在する複数の離
    散ブロックを含むアドレスであることを特徴とする請求
    項78に記載のデータ圧縮方法。
  80. 【請求項80】 上記相関が所定値より小さいかどうか
    に関係なくコード列を出力する一部アドレスを、時間の
    経過と共に変化させるようにしたことを特徴とする請求
    項78または79に記載のデータ圧縮方法。
JP6708699A 1998-04-17 1999-03-12 デ―タ圧縮装置および方法、デ―タ伸長装置および方法、デ―タ圧縮伸長システムおよび方法、コ―ドブックの作成方法、記録媒体 Pending JP2000201078A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP6708699A JP2000201078A (ja) 1998-04-17 1999-03-12 デ―タ圧縮装置および方法、デ―タ伸長装置および方法、デ―タ圧縮伸長システムおよび方法、コ―ドブックの作成方法、記録媒体
PCT/JP1999/002049 WO1999055093A1 (en) 1998-04-17 1999-04-19 Data compressing device and method, data expanding device and method, data compressing/expanding system and method, code book making method, and vector quantizing device and method
EP99914764A EP1079635A1 (en) 1998-04-17 1999-04-19 Data compressing device and method, data expanding device and method, data compressing/expanding system and method, code book making method, and vector quantizing device and method

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP12428698 1998-04-17
JP20836498 1998-07-23
JP10-305336 1998-10-27
JP10-208364 1998-10-27
JP30533698 1998-10-27
JP10-124286 1998-10-27
JP6708699A JP2000201078A (ja) 1998-04-17 1999-03-12 デ―タ圧縮装置および方法、デ―タ伸長装置および方法、デ―タ圧縮伸長システムおよび方法、コ―ドブックの作成方法、記録媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004212138A Division JP2005012823A (ja) 1998-04-17 2004-07-20 データ圧縮装置および方法、データ伸長装置および方法、データ圧縮伸長システムおよび方法、コードブックの作成方法、記録媒体

Publications (1)

Publication Number Publication Date
JP2000201078A true JP2000201078A (ja) 2000-07-18

Family

ID=27464809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6708699A Pending JP2000201078A (ja) 1998-04-17 1999-03-12 デ―タ圧縮装置および方法、デ―タ伸長装置および方法、デ―タ圧縮伸長システムおよび方法、コ―ドブックの作成方法、記録媒体

Country Status (1)

Country Link
JP (1) JP2000201078A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003243988A (ja) * 2002-02-20 2003-08-29 Tadahiro Omi データ処理装置
JP2006520972A (ja) * 2003-02-28 2006-09-14 ピクトン・リミテッド・ライアビリティ・カンパニー 画像パターン認識システム及び方法
WO2009096538A1 (ja) * 2008-01-31 2009-08-06 Nippon Telegraph And Telephone Corporation 極性付多重ベクトル量子化方法、装置、プログラム及びその記録媒体
CN101184147B (zh) * 2006-11-14 2011-06-15 富士施乐株式会社 颜色处理装置和方法
JP2012195869A (ja) * 2011-03-17 2012-10-11 Fujitsu Ltd データ保存プログラム、データ表示プログラム、データ保存方法及びデータ表示方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003243988A (ja) * 2002-02-20 2003-08-29 Tadahiro Omi データ処理装置
JP2006520972A (ja) * 2003-02-28 2006-09-14 ピクトン・リミテッド・ライアビリティ・カンパニー 画像パターン認識システム及び方法
CN101184147B (zh) * 2006-11-14 2011-06-15 富士施乐株式会社 颜色处理装置和方法
WO2009096538A1 (ja) * 2008-01-31 2009-08-06 Nippon Telegraph And Telephone Corporation 極性付多重ベクトル量子化方法、装置、プログラム及びその記録媒体
JP2012195869A (ja) * 2011-03-17 2012-10-11 Fujitsu Ltd データ保存プログラム、データ表示プログラム、データ保存方法及びデータ表示方法
US9406151B2 (en) 2011-03-17 2016-08-02 Fujitsu Limited Non-transitory computer-readable medium storing data storage program, non-transitory computer-readable medium storing data display program, data storage method, and data display method

Similar Documents

Publication Publication Date Title
US5903669A (en) Image processing apparatus and method
KR100821847B1 (ko) 비주얼 어텐션 시스템
JP2968582B2 (ja) デジタルデータを処理するための方法および装置
JP4444969B2 (ja) マルチモードアルファ画像処理
JP2002541738A (ja) 画像圧縮
US6968092B1 (en) System and method for reduced codebook vector quantization
JP3814637B2 (ja) 画像符号/復号方法及びそのプログラムを記録した記録媒体並びに装置
JP2002176553A (ja) 画像処理装置、及びその方法、並びにプログラム、記憶媒体
US5124791A (en) Frame-to-frame compression of vector quantized signals and other post-processing
JP2006502604A (ja) 任意形状オブジェクトの画像圧縮方法
JP3794749B2 (ja) 映像信号符号化装置
JP2000201078A (ja) デ―タ圧縮装置および方法、デ―タ伸長装置および方法、デ―タ圧縮伸長システムおよび方法、コ―ドブックの作成方法、記録媒体
JP3932244B2 (ja) 画像符号/復号方法及びその装置並びにそのプログラムを記録した記録媒体
EP1087533A1 (en) Method and apparatus for making code book, vector quantizing device, device and method for data compression, device and method for data decompression, system for data compression/decompression
JP3158064B2 (ja) 動画像符号化装置及び動画像復号装置
JP2000040966A (ja) データ圧縮装置および方法、データ伸長装置および方法、データ圧縮伸長システム、記録媒体
JP2005012823A (ja) データ圧縮装置および方法、データ伸長装置および方法、データ圧縮伸長システムおよび方法、コードブックの作成方法、記録媒体
EP1079635A1 (en) Data compressing device and method, data expanding device and method, data compressing/expanding system and method, code book making method, and vector quantizing device and method
JP3347488B2 (ja) 画像処理装置およびその方法
JP2006101512A (ja) 画像圧縮装置および画像送受信装置
JP3688937B2 (ja) 統合確率推定値生成方法、符号化方法、統合確率推定値生成装置及び記録媒体
JP4093114B2 (ja) 情報信号の処理装置および処理方法、コードブックの生成装置および生成方法、並びに各方法を実行するためのプログラム
JPH09186861A (ja) 画像処理方法とその装置
JP2000004164A (ja) ベクトル量子化装置および方法、記録媒体
Ho et al. A variable-rate image coding scheme with vector quantization and clustering interpolation

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041018

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041116