JP3527415B2 - ベクトル量子化で用いるコードブックの作成装置および方法、ベクトル量子化方法、記録媒体 - Google Patents

ベクトル量子化で用いるコードブックの作成装置および方法、ベクトル量子化方法、記録媒体

Info

Publication number
JP3527415B2
JP3527415B2 JP18951698A JP18951698A JP3527415B2 JP 3527415 B2 JP3527415 B2 JP 3527415B2 JP 18951698 A JP18951698 A JP 18951698A JP 18951698 A JP18951698 A JP 18951698A JP 3527415 B2 JP3527415 B2 JP 3527415B2
Authority
JP
Japan
Prior art keywords
pattern
code
creating
vector quantization
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP18951698A
Other languages
English (en)
Other versions
JP2000022961A (ja
Inventor
貴裕 中山
達郎 森本
忠弘 大見
Original Assignee
忠弘 大見
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 忠弘 大見 filed Critical 忠弘 大見
Priority to JP18951698A priority Critical patent/JP3527415B2/ja
Priority to EP99913695A priority patent/EP1087533A1/en
Priority to PCT/JP1999/002050 priority patent/WO1999055007A1/ja
Publication of JP2000022961A publication Critical patent/JP2000022961A/ja
Application granted granted Critical
Publication of JP3527415B2 publication Critical patent/JP3527415B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ベクトル量子化で
用いるコードブックの作成装置および方法、ベクトル量
子化方法、更にはこれらの処理を行うためのプログラム
を記録したコンピュータ読み取り可能な記録媒体に関す
るものである。
【0002】
【従来の技術】従来、データ圧縮の手法が種々提案され
ている。その中で、圧縮データの伸長処理を非常に簡単
に行うことが可能なデータ圧縮アルゴリズムの1つとし
て、「ベクトル量子化」という手法が良く知られてい
る。このアルゴリズムは、古くから信号処理の分野で知
られており、特に、画像信号や音声信号のデータ圧縮、
あるいはパターン認識に応用されてきた。
【0003】このベクトル量子化では、ある大きさ(例
えば4×4画素のブロック)の画素パターン(コード)
を幾つか用意しておき、それぞれにユニークな番号など
を与える(この集合体を「コードブック」という)。そ
して、例えば2次元配列の画像データ中から同じ大きさ
(例えば4×4画素)のブロックを順次取り出し、それ
と最も似通ったパターンをコードブック中から見つけ出
して、そのパターンの番号を当該ブロックに当てはめる
というデータ圧縮を行う。ベクトル量子化では、1つの
ブロック内のデータ列が1つのベクトルに対応する。
【0004】このようにコード化された圧縮データの受
信側あるいは伸長側では、各ブロック毎に番号に対応す
るパターンをコードブックの中から取り出すだけで、元
の画像を再現することができる。したがって、伸長側で
は、コードブックさえ受け取っているか、あるいはあら
かじめ保持していれば、特に特殊な演算は必要としない
ため、非常に簡単なハードウェアで元の画像を再生する
ことが可能となる。
【0005】
【発明が解決しようとする課題】上述のようなベクトル
量子化を実行する上で、必ず必要となるのがコードブッ
クの作成である。そして、ベクトル量子化の特性上、再
現される再生画像の良否は、使用するコードブックの良
否と密接に関係している。したがって、例えば画像のデ
ータ圧縮を行う際に、高い圧縮率を保持したまま高画質
の再生画像を得るようにするためには、このコードブッ
クとしていかに性能の良いものを作成するかが課題とな
っている。
【0006】従来、コードブックの最適化の手法として
は、Kohonen の自己組織化マップの手法などを始めとし
て幾つかの手法が知られている。これらの手法では、サ
ンプル画像などを用いて適当な数式処理を行うことによ
り、コードブックの最適化を図るものである。しかしな
がら、従来の最適化技術は何れも、得られるコードブッ
クは、最適化の際に使用したデータに対してのみ有用な
コードブックとなってしまうという問題があった。
【0007】すなわち、例えば、ある人の顔の画像デー
タを用いて最適化されたコードブックは、その最適化に
用いた画像に対しては最良のコードブックとなるが、他
の画像に対しては必ずしも最良のコードブックになると
は限らない。したがって、例えば、そのコードブックを
他の人の顔の画像データに対して用いてデータ圧縮を実
施すると、圧縮データから再生した画像の画質は低下す
ることになる。
【0008】さらに、最適化に用いた画像と同じ人の顔
という分類に含まれる画像に対しては、再生画像として
比較的良好な画質が得られても、風景や文字といった異
なる分類の画像に対しては、画質が劣化してしまうこと
が多い。つまり、コードブックに含まれているパターン
が画像によって全く異なっているため、汎用性の低いコ
ードブックになってしまうという問題があった。
【0009】そこで、どのような分類の画像を圧縮した
場合でも、再生画像の良好な画質を得るために、様々な
サンプル画像を用いて最適化を行い、これにより得られ
るコードブックを全て登録しておくということが考えら
れる。このようにすれば、実際にベクトル量子化を実施
する際には、人物、風景、文字といった様々な分類の画
像に合ったコードブックがあらかじめ用意されているの
で、その中から元画像に近いパターンを選び出すことが
可能となる。
【0010】しかしながら、この場合は、あらかじめ用
意しておくべきコード数が膨大なものとなり、これを記
憶しておくためのメモリの容量が非常に大きくなってし
まうという問題があった。メモリの容量が大きくなる
と、装置全体の規模も大きくなってしまい、小型化が困
難な状況となる。また、コストもそれだけ増大する結果
となってしまうため、このような手法を採用するのは現
実的でない。
【0011】本発明は、このような問題を解決するため
に成されたものであり、種々の画像に対応できる汎用性
の高いコードブックを実現できるようにすることを第1
の目的とする。また、本発明は、コードブックを記憶し
ておくためのメモリ容量を増大させることなく汎用性の
高いコードブックを実現できるようにすることを第2の
目的とする。
【0012】
【課題を解決するための手段】本発明のベクトル量子化
で用いるコードブックの作成装置は、少なくとも1つ以
上のデータを有するデータ列であるベクトルの集合から
成り、ベクトル量子化で用いられるコードブックを作成
する装置において、上記ベクトルを構成するブロック内
でデータ値が徐々に変化していくベタパターンコードを
少なくとも1種類作成するベタパターン作成手段と、上
記ブロック内でデータ値が急激に変化するエッジパター
ンコードを少なくとも1種類作成するエッジパターン作
成手段とを備え、上記ベタパターン作成手段は、実画像
を用いずに、上記ブロック内の始点輝度値と、一方向へ
の輝度値増分とを用いてベタパターンのパターンコード
を作成することを特徴とする。
【0013】本発明の他の態様では、少なくとも1つ以
上のデータを有するデータ列であるベクトルの集合から
成り、ベクトル量子化で用いられるコードブックを作成
する装置において、上記ベクトルを構成するブロック内
でデータ値が徐々に変化していくベタパターンコードを
少なくとも1種類作成するベタパターン作成手段と、上
記ブロック内でデータ値が急激に変化するエッジパター
ンコードを少なくとも1種類作成するエッジパターン作
成手段とを備え、上記エッジパターン作成手段は、原画
像から採用した基準パターンを元に、最小輝度値と、輝
度値増分とを用いてエッジパターンのパターンコードを
作成することを特徴とする。
【0014】また、本発明のベクトル量子化で用いるコ
ードブックの作成方法は、少なくとも1つ以上のデータ
を有するデータ列であるベクトルの集合から成り、ベク
トル量子化で用いられるコードブックを作成する方法に
おいて、上記ベクトルを構成するブロック内でデータ値
が徐々に変化していく少なくとも1種類のベタパターン
コードと、上記ブロック内でデータ値が急激に変化する
少なくとも1種類のエッジパターンコードとをあらかじ
め基本パターンとして作成して記憶手段に記憶してお
き、上記ベクトル量子化の実行の際に、上記記憶手段に
記憶されている各々のパターンコードに対して演算を施
すことにより、上記基本パターンとは異なるパターンコ
ードを作成するようにしたことを特徴とするベクトル量
子化で用いるコードブックの作成方法であって、上記ブ
ロック内の始点輝度値と、一方向への輝度値増分とを用
いて、データ値が徐々に変化していくベタパターンコー
ドを上記基本パターンとして作成することを特徴とす
る。
【0015】本発明の他の態様では、少なくとも1つ以
上のデータを有するデータ列であるベクトルの集合から
成り、ベクトル量子化で用いられるコードブックを作成
する方法において、上記ベクトルを構成するブロック内
でデータ値が徐々に変化していく少なくとも1種類のベ
タパターンコードと、上記ブロック内でデータ値が急激
に変化する少なくとも1種類のエッジパターンコードと
をあらかじめ基本パターンとして作成して記憶手段に記
憶しておき、上記ベクトル量子化の実行の際に、上記記
憶手段に記憶されている各々のパターンコードに対して
演算を施すことにより、上記基本パターンとは異なるパ
ターンコードを作成するようにしたことを特徴とするベ
クトル量子化で用いるコードブックの作成方法であっ
て、上記エッジパターンの基本パターンとして、原画像
から採用した基準パターンを用いるとともに、上記基準
パターンを元に、最小輝度値と、輝度値増分とを利用し
て作成したエッジパターンをも用いることを特徴とす
る。
【0016】本発明のベクトル量子化方法は、少なくと
も1つ以上のデータを有するデータ列をブロック化して
ベクトルと成し、あらかじめ用意されたコードブックの
中から、圧縮対象より抽出されるベクトルに類似したコ
ードベクトルを探し出して、それに対応するコードを出
力するベクトル量子化方法において、上記ブロック内で
データ値が徐々に変化していくベタパターンコードを、
実画像を用いずに、上記ブロック内の始点輝度値と、一
方向への輝度値増分とを用いて作成しておくとともに、
上記ブロック内でデータ値が急激に変化するエッジパタ
ーンコードを少なくとも1種類作成しておき、上記ベタ
パターンコードおよび上記エッジパターンコードを記憶
手段に記憶しておき、コード演算手段において、上記ベ
クトル量子化の実行の際に、上記記憶手段に記憶されて
いる各々のパターンコードに対して演算を施すことによ
り、これらとは異なるパターンコードを作成し、上記記
憶手段から読み出されたパターンコードおよび上記コー
ド演算手段により作成されたパターンコードを利用して
上記ベクトル量子化を実行するベクトル量子化手段とを
備えたことを特徴とする。
【0017】本発明のコンピュータ読み取り可能な記録
媒体は、上記記載のベクトル量子化方法の処理手順をコ
ンピュータに実行させるためのコンピュータプログラム
を記録したことを特徴とする。本発明の他の態様では、
上記何れかに記載のコードブック作成方法の処理手順を
コンピュータに実行させるためのコンピュータプログラ
ムを記録したことを特徴とする。
【0018】
【0019】
【0020】
【発明の実施の形態】以下、本発明の一実施形態を図面
に基づいて説明する。図1は、本発明の一実施形態であ
るコードブック作成装置の構成例を示す機能ブロック
図、図2は、作成されたコードブックを利用してデータ
圧縮を実行するベクトル量子化装置の構成例を示す機能
ブロック図である。また、図3および図4は、作成され
るコードベクトル(パターン画像)の例を示す図であ
る。
【0021】一般に、顔画像は画素値が全体的に滑らか
に変化するパターンが大半を占めており、その変化は単
調で、変化量は非常に小さいものである。また、風景画
像などにおいても、部分的に見ると、顔画像と同じよう
に画素値が全体的に滑らかに変化するパターンが存在す
る。一方、文字などにおいては、画素値の変化が急激
で、変化量が非常に大きいのが一般である。また、風景
画像などの中にも、文字と同じにように画素値が急激に
変化する部分が存在する。
【0022】このように、様々な分類に属するあらゆる
画像は、大きく分けると、画素値が全体的に滑らかに変
化するパターン(以下、これを「ベタパターン」と称す
る)の部分と、画素値が急激に変化するパターン(以
下、これを「エッジパターン」と称する)の部分とから
構成されることが分かった。そこで、本実施形態では、
この画像の性質に着目し、ベタパターン用のコードとエ
ッジパターン用のコードとを作成するようにした。これ
ら2つのパターンのコードをうまく組み合わせること
で、種々の画像に対応することが可能となる。
【0023】ベタパターンのコードとしては、例えば図
3に示すように、8つの方向に単調に変化するパターン
を作成することとした。すなわち、4×4画素単位で構
成されるブロックのエッジ部分(上下左右の各辺および
四隅の各点)の何れかを始点として、画素値(例えば輝
度値)が徐々に変化するパターンを作成する。なお、こ
こでは一例として4×4画素単位のコードベクトルを作
成しているが、この大きさに限定されるものではない。
【0024】図3において、(a)はブロックの左辺を
始点として、縦1列を1単位として輝度値が右辺に向か
ってA→B→C→Dのように徐々に大きくなっていくパ
ターン、(b)はブロックの右辺を始点として、縦1列
を1単位として輝度値が左辺に向かって徐々に大きくな
っていくパターン、(c)はブロックの下辺を始点とし
て、横1列を1単位として輝度値が上辺に向かって徐々
に大きくなっていくパターン、(d)はブロックの上辺
を始点として、横1列を1単位として輝度値が下辺に向
かって徐々に大きくなっていくパターンである。
【0025】また、(e)はブロックの左上角を始点と
して、斜め1列を1単位として輝度値が右下角に向かっ
て徐々に大きくなっていくパターン、(f)はブロック
の右上角を始点として、斜め1列を1単位として輝度値
が左下角に向かって徐々に大きくなっていくパターン、
(g)はブロックの左下角を始点として、斜め1列を1
単位として輝度値が右上角に向かって徐々に大きくなっ
ていくパターン、(h)はブロックの右下角を始点とし
て、斜め1列を1単位として輝度値が左上角に向かって
徐々に大きくなっていくパターンである。
【0026】図3に示したこれら8種類のパターンのう
ち、ベクトル量子化を実際に実行するに先立ってあらか
じめ作成して登録しておくものは、図3(a)〜(d)
の中の何れか1つと、図3(e)〜(h)の中の何れか
1つの合計2種類である。残りの6種類のパターンは、
後述するように、ベクトル量子化を実際に実行する際に
作成される。なお、以下では説明の都合上、図3(a)
と(e)のパターン(以下、これを「基本パターン」と
称する)をあらかじめ作成するものとする。
【0027】ここで、ベタの基本パターンを作成する手
順を、図1に示したコードブック作成装置および図5に
示すフローチャートを用いて説明する。図5において、
まずステップS1で、例えば4×4画素単位のブロック
を幾つかのグループに分ける。例えば、図3(a)の基
本パターンの場合は、縦1列を1つのグループとしてA
〜Dの4つのグループに分ける。
【0028】このグループ分けを行う際には、まずユー
ザが図1の始点指定部1を用いて、ブロック内のどこを
始点にするかを指定する。図3(a)のパターンを基本
パターンとして登録する場合は、ブロック内の左辺4つ
の画素(グループA)を始点として指定する。なお、こ
の始点指定部1は、例えばキーボードやマウス等の入力
デバイスによって構成される。
【0029】グループ化部2は、始点指定部1によって
どこが始点として指定されたかに応じて、グループ分け
を行う。例えば、図3(a)や(b)を基本パターンと
する場合は、縦方向の1列を1つのグループとしてグル
ープ分けを行い、図3(c)や(d)を基本パターンと
する場合は、横方向の1列を1つのグループとしてグル
ープ分けを行う。また、図3(e)〜(h)を基本パタ
ーンとする場合は、斜め方向の1列を1つのグループと
してグループ分けを行う。
【0030】なお、上述したように、図3(a)〜
(d)のパターン、(e)〜(h)のパターンは、それ
ぞれの中で1つを基本パターンとして登録しておけば、
残りは全て演算によって作成される。したがって、例え
ば、基本パターンは必ず図3(a)および(e)のパタ
ーンであると固定しても良い。この場合は、始点指定部
1は不要である。
【0031】次に、ステップS2でユーザは、図1の増
分入力部3を用いて、上記ブロック内の始点から見た終
点の輝度値の増分hを少なくとも1つ入力する。なお、
この増分入力部3も、例えばキーボードやマウス等の入
力デバイスによって構成される。また、この増分hは、
ユーザが入力するのではなく、あらかじめ決められたデ
フォルト値を装置が設定するようにしても良い。
【0032】次に、ステップS3では、図1の始点輝度
値設定部4により、上記ブロック内の始点の輝度値を設
定する。ここで始点の輝度値を与えるときは、例えば、
0〜(輝度値としてとり得る範囲の中間値−増分h)の
間をn等分し、それぞれの等分値を始点の輝度値として
夫々設定する。なお、ここでは、等分値を与えている
が、上記0〜(輝度値としてとり得る範囲の中間値−増
分h)の範囲内であれば、必ずしも等分値である必要は
ない。また、ここでは演算によって複数の輝度値を与え
ているが、上記の範囲内でユーザが自分の判断で始点の
輝度値を任意に入力するようにしても良い。
【0033】このようにして増分h、始点の輝度値など
の必要な情報が設定されると、次のステップS4で、図
1のコードブック生成部9は、これら始点の輝度値と輝
度の増分hとに基づいて、例えば線形補間の演算を行う
ことにより、各グループの輝度値を計算する。これによ
り、始点から終点に向かってグループ毎に徐々に輝度値
が大きくなっていくパターンのコードが生成される。
【0034】本実施形態では、始点の輝度値を上記ステ
ップS3のような処理によって与えているので、ブロッ
ク内の各グループに属する輝度値は全て、輝度値として
とり得る範囲の中間値よりも小さなものとなる。つま
り、ここで生成されたベタの基本パターンのコードは、
全体としての輝度値が中間値よりも小さい暗めの画像と
なっている。
【0035】また、上記ステップS2では少なくとも1
つ以上の増分hが与えられ、上記ステップS3では、そ
れぞれの増分hの値をもとに始点の輝度値が複数与えら
れている。よって、図3(a)のような基本パターンの
コードが、異なる輝度値で複数生成されていることにな
る。なお、増分hと始点の輝度値とをそれぞれ1つずつ
与えることにより、ただ1つの基本パターンを生成する
ようにしても良い。
【0036】以上のようにして生成された複数のコード
(コードベクトル)は、ステップS5で、ベタの基本パ
ターンのコードブックとしてコードブックデータメモリ
10に格納される。なお、この例では、ブロック内の始
点から終点に向かって輝度値が徐々に大きくなるパター
ンを生成したが、これとは逆に、輝度値が徐々に小さく
なるパターンを生成するようにしても良い。
【0037】一方、エッジに関する基本パターンのコー
ドとしては、輝度値の変化が急激なパターンとして、例
えば図4に示すような12種類のパターンを作成するこ
ととした。ここで作成するエッジパターンは何れも、ブ
ロック内の左辺を構成する4画素の少なくとも1つ以上
にエッジ部分がかかっている。なお、ここでは12種類
の基本パターンを示したが、この数に限定されるもので
はない。
【0038】ここで、エッジの基本パターンを作成する
手順を、図1に示したコードブック作成装置および図6
に示すフローチャートを用いて説明する。図6におい
て、まずステップS11では、図1のパターン入力部5
を用いて、エッジパターンとして採用すべき幾つかの基
準パターンを入力する。ここでは、例えば原画像中の黒
と白との差がはっきり現れているエッジにかかるブロッ
クを参考にして、その輝度構成をエッジパターンの輝度
構成として入力する。
【0039】以上のようにして原画像から幾つか(図4
の例では12個)のパターンが入力されたら、次に、ス
テップS12で量子化部6は、それらのパターンを構成
するブロック内の各画素の輝度値を量子化することによ
り、ブロック内の輝度値をある決まった値群のみで表現
するようにする。
【0040】次に、ステップS13で最小輝度値減算部
7は、入力され量子化された各パターン毎に、そのブロ
ック内の最小輝度値をブロック内の全画素の輝度値から
減算する。これにより、そのブロック内の各画素の輝度
値を、最小の輝度値に対する増分値(差分値)としての
み表現する。そして、ステップS14で輝度値変更部8
は、登録するエッジパターンにバリエーションを持たせ
るために、ブロック内の各画素の輝度値を変更したもの
も作成する。
【0041】例えば、最小輝度値減算部7で生成された
パターンのブロック内全画素の輝度値を夫々m等分し、
それぞれの等分値を各画素の輝度値として夫々設定する
ことにより、パターンの数をm倍に増やす。この処理が
終了した時点で、生成された各パターンについて、その
ブロック内の最小輝度値(ここではステップS13によ
り0に設定されている)と最大輝度値との差、つまり増
分h′が分かる。
【0042】次に、ステップS15では、図1の始点輝
度値設定部4により、上記ブロック内の始点の輝度値
(最小輝度値)を設定する。ここで始点の輝度値を与え
るときは、例えば、0〜(輝度値としてとり得る範囲の
最大値−増分h′)の間をk等分し、それぞれの等分値
を始点の輝度値として夫々設定する。なお、この場合
も、図5のステップS3と同様に必ずしも等分値である
必要はない。また、上記の範囲内でユーザが自分の判断
で任意に入力するようにしても良い。
【0043】このようにして始点の輝度値などの必要な
情報が設定されると、次のステップS16で、図1のコ
ードブック生成部9は、これら始点の輝度値と上記ステ
ップS14で生成されたパターンの各画素の輝度値とに
基づいて、ブロック内の各画素の輝度値を計算する。こ
れにより、輝度値の変化が急激なエッジパターンのコー
ドが複数生成される。このようにして生成された複数の
コード(コードベクトル)は、ステップS17で、エッ
ジの基本パターンのコードブックとしてコードブックデ
ータメモリ10に格納される。
【0044】次に、上記のようにして作成され、コード
ブックデータメモリ10に記憶された基本パターンのコ
ードブックを用いて、実際にベクトル量子化を行うため
の構成および動作について説明する。図2は、本実施形
態に係るベクトル量子化装置の概略構成を示した機能ブ
ロック図である。また、図7は、このベクトル量子化装
置の動作を示すフローチャートである。
【0045】まず図7のステップS21において、元画
像入力部21は、圧縮対象とする任意の画像データを入
力する。また、次のステップS22で、コードブック演
算部22は、コードブックデータメモリ10から記憶さ
れている基本パターンのコードブックを読み込む。ここ
では、ベタパターンおよびエッジパターンの全ての基本
パターンを読み込む。
【0046】基本パターンを読み込んだコードブック演
算部22は、次のステップS23で、読み込んだ基本パ
ターンに対して、90°の回転処理を4回行うことによ
り、基本パターンから異なるパターンのコードを作成す
る。例えば、ベタパターンとして図3(a)および
(e)のパターンが基本パターンとして登録されていた
とすると、この処理により、図3(b)〜(d)、
(f)〜(h)のパターンが作成される。エッジパター
ンについても同様に、図4に示した12種類の基本パタ
ーンからこれらを回転させた異なるパターンが作成され
る。これにより、コードのパターン数は4倍に増える。
【0047】コードブック演算部22はまた、次のステ
ップS24で、上記ステップS23で得られた各パター
ンに対し、白黒を反転させる処理(輝度値を中間値で折
り返す処理)を行うことにより、更に異なるパターンの
コードを作成する。このような回転処理および白黒反転
処理を行うことにより、コードブックデータメモリ10
に登録してあったパターン数がそれほど多くなくても、
ベクトル量子化の際に実際に使用するパターン数は非常
に多くなり、元画像と極めて類似するパターンが存在す
る可能性が非常に高くなる。
【0048】ところで、ベタパターンの場合、図3から
明らかなように、回転処理を行った場合に得られるパタ
ーンは、互いに重複することはない。また、あらかじめ
作成されているベタの基本パターンは、全画素の輝度値
が中間値より小さい暗めのパターンなので、白黒反転処
理を行った場合に得られるパターンは、全画素の輝度値
が中間値より大きい明るめのパターンとなる。よって、
この場合も得られるパターンどうしが互いに重複するこ
とはない。
【0049】一方、エッジパターンの場合は、最初の段
階で原画像を参照して基準のパターンを入力する際に、
回転処理や白黒反転処理をしたときに重複を生じないか
どうかを想定して入力を行う。しかし、この作業は必ず
しも容易ではない。そこで、例えば、図1のコードブッ
ク作成装置内に、回転処理や白黒反転処理を行い、その
演算結果と元のデータとを比較して重複する場合にはエ
ラーを出力するなどの演算部を設ければ、このような不
都合を回避できる。
【0050】次に、図7のステップS25では、上記ス
テップS21で入力された元画像データと、上記コード
ブック演算部22により生成された複数のコードデータ
とに基づいて、ベクトル量子化(VQ)の演算を実行す
る。すなわち、まず図2の類似度演算部23により、上
記元画像データとコードデータとを用いて、ブロック毎
に両者の類似度を算出する。
【0051】類似度とは、元画像データから抽出される
ブロック内の各画素値から成るベクトルデータと、コー
ドベクトルのブロック内の各画素値から成るベクトルデ
ータとをある関数に入力し、どのくらい似ているかを数
値化したものである。この関数の代表的なものとして
は、2つの入力ベクトルデータのマンハッタン距離(差
分絶対値距離)やユークリッド距離を求める関数が挙げ
られる。
【0052】さらに、コード決定部24は、各ブロック
毎に、上記コードブック演算部22により生成された複
数のコードベクトルの中から、類似度が最も大きい(マ
ンハッタン距離あるいはユークリッド距離が最も小さ
い)コードベクトルを夫々決定する。そして、ステップ
S26で、上記決定したコードベクトルに対応するコー
ドを当該ブロックに当てはめて、圧縮データとして出力
する。
【0053】以上詳しく説明したように、本実施形態に
よれば、あらゆる種類の画像はベタパターンとエッジパ
ターンとの組み合わせから構成されることに着目し、ベ
タパターンのコードとエッジパターンのコードとをあら
かじめ作成するようにしている。その際、図5および図
6に示したように、入力された基準の情報をもとに、あ
らかじめ決められた処理手順によってそれぞれの基本パ
ターンを標準化して作成するようにしている。
【0054】したがって、このようにして作成されたベ
タパターンのコードとエッジパターンのコードとを用い
ることにより、輝度値が単調に変化するデータや急激に
変化するデータを含む種々のデータに対してデータ圧縮
を実施した場合に、その圧縮データから再生される画像
の画質を向上させることができる。すなわち、本実施形
態によれば、種々の画像について、高品位の再生画像を
得ることが可能な汎用性の高いコードブックを実現する
ことができる。
【0055】また、本実施形態では、上述のコードブッ
クを用いて実際にベクトル量子化を行う際に、回転処理
や白黒反転処理によって異なるバリエーションのコード
を生成しているので、元画像とより近いパターンのコー
ドを当てはめるようにすることができ、再生画像の品質
を更に向上させることができる。また、この場合、これ
らの生成されるコードも含めてあらかじめコードブック
データメモリ10に記憶しておかなくても良いので、コ
ードブックデータメモリ10の容量を小さく抑えること
ができる。
【0056】なお、以上の実施形態では、基本パターン
のコードブックをあらかじめ作成して、これをコードブ
ックデータメモリ10に記憶するようにしているが、こ
の基本パターンを生成するための基準となる情報(例え
ば、始点の位置、始点輝度値、始点から終点までの増分
などの情報)だけを記憶しておき、実際のベクトル量子
化の実行時に基本パターンも含めて様々なパターンのコ
ードを作成するようにしても良い。このようにした場合
は、メモリ容量を更に小さく抑えることができる。
【0057】また、以上の実施形態では、回転処理や白
黒反転処理をベクトル量子化の実行時に行っているが、
ベクトル量子化の実行に先立ってあらかじめ行ってお
き、コードブックデータメモリ10に記憶するようにし
ても良い。この場合は、コードブックデータメモリ10
の容量は大きくなるが、汎用的なコードブックを提供で
きるという利点は有する。また、ベクトル量子化の実行
時における演算量を減らせるので、処理が高速になる。
【0058】また、上述の実施形態では、利用できるコ
ードベクトルのパターン数を多くするために、図5のス
テップS3および図6のステップS15において、始点
の輝度値として複数の等分値を採用している。これに対
し、コードブックデータメモリ10の容量をできるだけ
小さく抑えたい場合は、上記した範囲内で1つの輝度値
のみを採用するようにしても良い。
【0059】また、図6のステップS13〜S16の処
理も、利用できるコードベクトルのパターン数を多くす
るための処理である。よって、上記と同様にコードブッ
クデータメモリ10の容量をできるだけ小さく抑えたい
場合は、これらのステップは省略し、ステップS12で
画素値を標準化する処理を行うだけにしても良い。ただ
し、コードブックデータメモリ10の容量を小さくする
だけでなく、再生画像の画質もできるだけ向上させるた
めには、上記した実施形態のように処理するのが望まし
い。
【0060】また、以上の実施形態では、回転処理と白
黒反転処理の双方を行っているが、何れか一方のみ行う
ようにしても良い。さらに、以上の実施形態では、類似
度演算部23で類似度を算出する際に、コードブック演
算部22によってコードベクトルを回転、反転させる処
理を行っている。これとは逆に、コードベクトルはその
ままに、元画像の方を回転、反転させて類似度を算出す
るようにしても良い。
【0061】また、以上の実施形態では、ベタの基本パ
ターンを作成する際に、全体として暗めのパターンを作
成しているが、これとは逆に、明るめのパターンを作成
するようにしても良い。
【0062】上記図1および図2に示した各機能ブロッ
クは、例えばCPUまたはMPU、ROMおよびRAM
等からなるマイクロコンピュータシステムによって構成
し、その動作をROMやRAMに格納された作業プログ
ラムに従って実現するようにしても良いし、ハードウェ
ア的に構成してもよい。この場合、上記の例では図1と
図2を別個に図示していたが、これらの構成を合わせて
1つのベクトル量子化装置としても良い。
【0063】また、上記各機能ブロックの機能を実現す
るように当該機能を実現するための作業プログラムコー
ドを外部の記録媒体からコンピュータに供給し、そのプ
ログラムに従って上記各機能ブロックを動作させるよう
にしても良い。この場合、かかるプログラムを記憶する
記録媒体としては、例えばフロッピーディスク、ハード
ディスク、光ディスク、光磁気ディスク、CD−RO
M、CD−I、CD−R、CD−RW、DVD、zi
p、磁気テープ、あるいは不揮発性のメモリカード等を
用いることができる。
【0064】
【発明の効果】以上説明したように、本発明によれば、
種々の画像に対応できる汎用性の高いコードブックを、
これを記憶しておくためのメモリ容量を増大させること
なく実現することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るコードブック作成装
置の構成例を示すブロック図である。
【図2】本発明の一実施形態に係るベクトル量子化装置
の構成例を示すブロック図である。
【図3】作成されるベタパターンのコードの例を示す図
である。
【図4】作成されるエッジの基本パターンのコードの例
を示す図である。
【図5】ベタの基本パターンを作成する際の手順を示す
フローチャートである。
【図6】エッジの基本パターンを作成する際の手順を示
すフローチャートである。
【図7】ベクトル量子化を実施する際の手順を示すフロ
ーチャートである。
【符号の説明】
1 始点指定部 2 グループ化部 3 増分入力部 4 始点輝度値設定部 5 パターン入力部 6 量子化部 7 最小輝度値減算部 8 輝度値変更部 9 コードブック生成部 10 コードブックデータメモリ 21 元画像入力部 22 コードブック演算部 23 類似度演算部 24 コード決定部
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平9−130259(JP,A) 特開 昭64−82779(JP,A) 特開 平4−225626(JP,A) 特開 平4−302376(JP,A) 特開 平6−164939(JP,A) 特開 平9−84052(JP,A) 特開 平8−317385(JP,A) 特開 平4−139958(JP,A) 特開 昭62−32785(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/30 H04N 1/41 - 1/419 H04N 7/24 - 7/68

Claims (16)

    (57)【特許請求の範囲】
  1. 【請求項1】 少なくとも1つ以上のデータを有するデ
    ータ列であるベクトルの集合から成り、ベクトル量子化
    で用いられるコードブックを作成する装置において、 上記ベクトルを構成するブロック内でデータ値が徐々に
    変化していくベタパターンコードを少なくとも1種類作
    成するベタパターン作成手段と、 上記ブロック内でデータ値が急激に変化するエッジパタ
    ーンコードを少なくとも1種類作成するエッジパターン
    作成手段とを備え、 上記ベタパターン作成手段は、実画像を用いずに、上記
    ブロック内の始点輝度値と、一方向への輝度値増分とを
    用いてベタパターンのパターンコードを作成することを
    特徴とするベクトル量子化で用いるコードブックの作成
    装置。
  2. 【請求項2】 少なくとも1つ以上のデータを有するデ
    ータ列であるベクトルの集合から成り、ベクトル量子化
    で用いられるコードブックを作成する装置において、 上記ベクトルを構成するブロック内でデータ値が徐々に
    変化していくベタパターンコードを少なくとも1種類作
    成するベタパターン作成手段と、 上記ブロック内でデータ値が急激に変化するエッジパタ
    ーンコードを少なくとも1種類作成するエッジパターン
    作成手段とを備え、 上記エッジパターン作成手段は、原画像から採用した基
    準パターンを元に、最小輝度値と、輝度値増分とを用い
    てエッジパターンのパターンコードを作成することを特
    徴とするベクトル量子化で用いるコードブックの作成装
    置。
  3. 【請求項3】 上記ベタパターン作成手段は、上記ブロ
    ック内の任意の辺および任意の角を始点として対向する
    辺および角に向かってデータ値が徐々に変化していくパ
    ターンコードを作成することを特徴とする請求項1また
    は2に記載のベクトル量子化で用いるコードブックの作
    成装置。
  4. 【請求項4】 上記ベタパターン作成手段は、上記ブロ
    ック内の全てのデータ値が、とり得る範囲の中間値より
    も小さいかあるいは大きい値で構成されるパターンコー
    ドを作成することを特徴とする請求項1〜3の何れか1
    項に記載のベクトル量子化で用いるコードブックの作成
    装置。
  5. 【請求項5】 上記ベタパターン作成手段は、徐々に変
    化する度合いが同じでデータ値自体が異なるパターンコ
    ードを複数作成することを特徴とする請求項1〜4の何
    れか1項に記載のベクトル量子化で用いるコードブック
    の作成装置。
  6. 【請求項6】 上記エッジパターン作成手段は、基準の
    パターンを入力するパターン入力手段と、 上記入力された基準のパターンを、あらかじめ決められ
    たデータ値群のみで表すようにする量子化手段とを備え
    ることを特徴とする請求項1または2に記載のベクトル
    量子化で用いるコードブックの作成装置。
  7. 【請求項7】 上記エッジパターン作成手段は、上記ブ
    ロック内のデータ値間の差が同じでデータ値自体が異な
    るパターンコードを複数作成することを特徴とする請求
    項1、2または6に記載のベクトル量子化で用いるコー
    ドブックの作成装置。
  8. 【請求項8】 上記エッジパターン作成手段は、上記ブ
    ロック内のデータ値間の差が同じものに加えて、差の比
    率が同じでデータ値自体が異なるパターンコードを複数
    作成することを特徴とする請求項7に記載のベクトル量
    子化で用いるコードブックの作成装置。
  9. 【請求項9】 上記ベタパターン作成手段及び上記エッ
    ジパターン作成手段により作成された各々のパターンコ
    ードを記憶する記憶手段と、 上記ベクトル量子化の実行の際に、上記記憶手段に記憶
    されている各々のパターンコードに対して演算を施すこ
    とにより、これらとは異なるパターンコードを作成する
    コード演算手段とを備え、 上記コード演算手段は、上記記憶手段に記憶されている
    各々のパターンコードに対して、ブロックの回転処理お
    よびデータ値の反転処理の少なくとも何れか一方の演算
    を施すことを特徴とする請求項1又は2に記載のベクト
    ル量子化で用いるコードブックの作成装置。
  10. 【請求項10】 少なくとも1つ以上のデータを有する
    データ列であるベクトルの集合から成り、ベクトル量子
    化で用いられるコードブックを作成する方法において、 上記ベクトルを構成するブロック内でデータ値が徐々に
    変化していく少なくとも1種類のベタパターンコード
    と、上記ブロック内でデータ値が急激に変化する少なく
    とも1種類のエッジパターンコードとをあらかじめ基本
    パターンとして作成して記憶手段に記憶しておき、 上記ベクトル量子化の実行の際に、上記記憶手段に記憶
    されている各々のパターンコードに対して演算を施すこ
    とにより、上記基本パターンとは異なるパターンコード
    を作成するようにしたベクトル量子化で用いるコードブ
    ックの作成方法であって、 上記ブロック内の始点輝度値と、一方向への輝度値増分
    とを用いて、データ値が徐々に変化していくベタパター
    ンコードを、上記基本パターンとして作成することを特
    徴とするベクトル量子化で用いるコードブックの作成方
    法。
  11. 【請求項11】 少なくとも1つ以上のデータを有する
    データ列であるベクトルの集合から成り、ベクトル量子
    化で用いられるコードブックを作成する方法において、 上記ベクトルを構成するブロック内でデータ値が徐々に
    変化していく少なくとも1種類のベタパターンコード
    と、上記ブロック内でデータ値が急激に変化する少なく
    とも1種類のエッジパターンコードとをあらかじめ基本
    パターンとして作成して記憶手段に記憶しておき、 上記ベクトル量子化の実行の際に、上記記憶手段に記憶
    されている各々のパターンコードに対して演算を施すこ
    とにより、上記基本パターンとは異なるパターンコード
    を作成するようにしたベクトル量子化で用いるコードブ
    ックの作成方法であって、 上記エッジパターンの基本パターンとして、原画像から
    採用した基準パターンを用いるとともに、上記基準パタ
    ーンを元に、最小輝度値と、輝度値増分とを利用して作
    成したエッジパターンをも用いることを特徴とするベク
    トル量子化で用いるコードブックの作成方法。
  12. 【請求項12】 上記ベクトル量子化の実行の際に、上
    記記憶手段に記憶されている各々のパターンコードに対
    して、ブロックの回転処理およびデータ値の反転処理の
    少なくとも何れか一方の演算を施すことを特徴とする請
    求項10又は11に記載のベクトル量子化で用いるコー
    ドブックの作成方法。
  13. 【請求項13】 少なくとも1つ以上のデータを有する
    データ列をブロック化してベクトルと成し、あらかじめ
    用意されたコードブックの中から、圧縮対象より抽出さ
    れるベクトルに類似したコードベクトルを探し出して、
    それに対応するコードを出力するベクトル量子化方法に
    おいて、 上記ブロック内でデータ値が徐々に変化していくベタパ
    ターンコードを、実画像を用いずに、上記ブロック内の
    始点輝度値と、一方向への輝度値増分とを用いて作成し
    ておくとともに、 上記ブロック内でデータ値が急激に変化するエッジパタ
    ーンコードを少なくとも1種類作成しておき、 上記ベタパターンコードおよび上記エッジパターンコー
    ドを記憶手段に記憶しておき、 コード演算手段において、上記ベクトル量子化の実行の
    際に、上記記憶手段に記憶されている各々のパターンコ
    ードに対して演算を施すことにより、これらとは異なる
    パターンコードを作成し、 上記記憶手段から読み出されたパターンコードおよび上
    記コード演算手段により作成されたパターンコードを利
    用して上記ベクトル量子化を実行することを特徴とする
    ベクトル量子化方法。
  14. 【請求項14】 上記エッジパターンコードは、原画像
    から採用した基準パターンを元に、最小輝度値と、輝度
    値増分とを用いて作成したものであることを特徴とする
    請求項13に記載のベクトル量子化方法。
  15. 【請求項15】 上記請求項13又は14に記載のベク
    トル量子化方法の処理手順をコンピュータに実行させる
    ためのコンピュータプログラムを記録したことを特徴と
    するコンピュータ読み取り可能な記録媒体。
  16. 【請求項16】 上記請求項10〜12の何れか1項に
    記載のコードブックの作成方法の処理手順をコンピュー
    タに実行させるためのコンピュータプログラムを記録し
    たことを特徴とするコンピュータ読み取り可能な記録媒
    体。
JP18951698A 1998-04-17 1998-07-03 ベクトル量子化で用いるコードブックの作成装置および方法、ベクトル量子化方法、記録媒体 Expired - Fee Related JP3527415B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP18951698A JP3527415B2 (ja) 1998-07-03 1998-07-03 ベクトル量子化で用いるコードブックの作成装置および方法、ベクトル量子化方法、記録媒体
EP99913695A EP1087533A1 (en) 1998-04-17 1999-04-19 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
PCT/JP1999/002050 WO1999055007A1 (en) 1998-04-17 1999-04-19 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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18951698A JP3527415B2 (ja) 1998-07-03 1998-07-03 ベクトル量子化で用いるコードブックの作成装置および方法、ベクトル量子化方法、記録媒体

Publications (2)

Publication Number Publication Date
JP2000022961A JP2000022961A (ja) 2000-01-21
JP3527415B2 true JP3527415B2 (ja) 2004-05-17

Family

ID=16242599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18951698A Expired - Fee Related JP3527415B2 (ja) 1998-04-17 1998-07-03 ベクトル量子化で用いるコードブックの作成装置および方法、ベクトル量子化方法、記録媒体

Country Status (1)

Country Link
JP (1) JP3527415B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1217574A3 (en) 2000-12-19 2004-05-19 Matsushita Electric Industrial Co., Ltd. A method for lighting- and view-angle-invariant face description with first- and second-order eigenfeatures
US9253505B2 (en) 2009-04-08 2016-02-02 Newrow, Inc. System and method for image compression
US8774534B2 (en) * 2009-04-08 2014-07-08 Watchitoo, Inc. System and method for image compression
US8948502B2 (en) * 2011-10-28 2015-02-03 Panasonic Intellectual Property Corporation Of America Image processing method, and image processor

Also Published As

Publication number Publication date
JP2000022961A (ja) 2000-01-21

Similar Documents

Publication Publication Date Title
CN108364061B (zh) 运算装置、运算执行设备及运算执行方法
KR0154739B1 (ko) 프랙탈 영상 압축 장치 및 방법
US20220215595A1 (en) Systems and methods for image compression at multiple, different bitrates
WO2002054757A1 (fr) Procede, dispositif et programme de codage de donnees
KR100944928B1 (ko) 버터플라이 프로세서를 이용하여 이산 코사인 변환을인코딩하고 계산하는 장치 및 방법
US20030081852A1 (en) Encoding method and arrangement
JP3527415B2 (ja) ベクトル量子化で用いるコードブックの作成装置および方法、ベクトル量子化方法、記録媒体
JP2003006643A (ja) 画像処理装置及びその方法、プログラム
US5500907A (en) Image signal analyzing system
GB2299912A (en) Fractal image compression device and method using perceptual distortion measure
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
JP3676577B2 (ja) ベクトル量子化装置および方法、記録媒体
JP2003259368A5 (ja)
JP4077771B2 (ja) データ再生装置、再生方法、データ圧縮装置及び圧縮方法
Rizvi et al. Finite-state residual vector quantization using a tree-structured competitive neural network
Al Falahi et al. Comparitive Analysis and Findings on Dct & Lbg Compression Techniques
JP3998348B2 (ja) ベクトル量子化で用いるコードブックの作成方法および装置、記録媒体
JPH0918877A (ja) フラクタル画像圧縮装置
KR102467094B1 (ko) 신경망을 이용한 슈퍼 레졸루션 이미지 처리 방법 및 시스템
KR102467092B1 (ko) 복수의 신경망들을 이용하여 코딩 노이즈에 강인한 슈퍼 레졸루션 이미지 처리 방법 및 시스템
CN117750021B (zh) 一种视频压缩方法、装置、计算机设备及存储介质
JP4078337B2 (ja) ベクトル量子化で用いるコードブックの作成方法および装置、記録媒体
JPH0923428A (ja) フラクタル画像圧縮データの復元装置
WO2006035512A1 (ja) データ再生装置、再生方法、データ圧縮装置及び圧縮方法
JP5605009B2 (ja) 文字画像圧縮装置及び文字画像復元装置、文字画像圧縮方法及び文字画像復元方法、並びに文字画像圧縮プログラム及び文字画像復元プログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040219

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090227

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees