JPH0556718B2 - - Google Patents

Info

Publication number
JPH0556718B2
JPH0556718B2 JP61148949A JP14894986A JPH0556718B2 JP H0556718 B2 JPH0556718 B2 JP H0556718B2 JP 61148949 A JP61148949 A JP 61148949A JP 14894986 A JP14894986 A JP 14894986A JP H0556718 B2 JPH0556718 B2 JP H0556718B2
Authority
JP
Japan
Prior art keywords
vector
output
vectors
code table
tree
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 - Lifetime
Application number
JP61148949A
Other languages
Japanese (ja)
Other versions
JPS635664A (en
Inventor
Atsumichi Murakami
Kotaro Asai
Atsushi Ito
Eizo Yamazaki
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP61148949A priority Critical patent/JPS635664A/en
Publication of JPS635664A publication Critical patent/JPS635664A/en
Publication of JPH0556718B2 publication Critical patent/JPH0556718B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、入力信号系列を複数個まとめてブ
ロツク化し、これを多次元信号空間で量子化する
ベクトル量子化器に関するものである。 〔従来の技術〕 第11図は従来のベクトル量子化器における符
号化器の構成例である。図において、1はブロツ
ク化された入力信号系列、2は同系列1をブロツ
ク毎に正規化する正規化回路、3は正規化定数で
ある。また、4は正規化された信号系列(入力ベ
クトル)であり、57,58,59は各々木探索
ベクトル量子化器を構成する第1段、第2段、第
7段、60,61,8は段階的に確定されていく
ベクトル量子化インデツクス、9は確定したベク
トル量子化インデツクス8と正規化定数3とを多
重化して伝送路へ送出する多重化符号化部、10
は符号化器出力信号である。第12図は第11図
における木探索ベクトル量子化器第2段58の構
成例をやや詳細に示したものである。図において
62は入力ベクトルレジスタ、63は木探索用出
力ベクトルのセツト(コードブツク)を出力ベク
トルの対に対応する差分ベクトルの形で記憶した
コードブツク、64は同コードブツク63から読
出された差分出力ベクトル、46は乗算器、47
は同乗算器46による乗算結果をベクトル毎に累
算する累算回路、44は同累算回路47による累
算結果の符号(正負)を判定する回路、44は同
判定結果、64はインデツクスレジスタ、61は
前段の分まで確定したインデツクス60に前記判
定結果44を付加することによつて確定した新た
な段階のインデツクスである。第13図は従来の
ベクトル量子化器における復号化器の構成例であ
る。図において、50は受信信号、51はインデ
ツクスと正規化定数を分離する分離復号化部、8
はインデツクス、3は正規化定数、66は木状の
出力ベクトルの終端節点に対応するベクトルだけ
を記憶したコードテーブルメモリ、54は前記イ
ンデツクス8に従つて読出された出力ベクトル、
55は正規化復元回路、56は再生信号系列であ
る。第14図は従来のベクトル量子化器の動作原
理を説明するための説明図である。 次に第11図、第12図、第13図、第14図
を用いて動作について説明する。まず、木探索ベ
クトル量子化の概念について説明する。ベクトル
量子化では、デイジタル化された信号系列をブロ
ツク化して、多次元信号空間におけるベクトルと
して扱う。あらかじめ、入力信号をベクトル化し
たときの分布密度に対して最適な分布を持つ代表
点を信号空間内に設定しておく。これらの代表点
が出力ベクトルであり、出力ベクトルのセツトを
コードブツクと呼ぶ。ベクトル量子化器の符号化
器では、入力ベクトルに対して最も良い近似を与
える出力ベクトルを探索し、そのインデツクスを
出力する。復号化器ではインデツクスに対応する
出力ベクトルをコードブツクから読出して出力す
る。上記過程のクリテイカル・パスとなるのは最
適出力ベクトルの探索である。ベクトル量子化の
効率は、ブロツク化の際に統合された信号系列の
個数すなわちベクトルの次元を大きくする程向上
する。しかし、再生品質を保つための出力ベクト
ル数が非常に大きなものになり、最適な出力ベク
トルを見つけるための探索時間も大きくなつてし
まう。元来、出力ベクトルは信号空間の分割を与
えるものである。各分割の代表点が出力ベクトル
である。信号空間を段階的に分割してゆき、最終
的に目標とする分割に達するようにして、途中の
段階にも代表点を定義するならば、それらのベク
トルは第14図に示すように木構造となる。この
例では各段階は2分割を行うことになる。木の頂
上(ベクトル 0は信号空間全体の代表点=中心)
から各段階毎に対となつている出力ベクトルとの
比較を行つてより良い近似を与える代表点の方へ
と枝をたどれば、n段の木の場合、(nは正の整
数)2n個の出力ベクトルとの歪を計算すること
によつてN=2n個の代表点の内の1つに行き着
く。以上が木探索ベクトル量子化の概念である。
次に実際の構成例に沿つて説明する。入力される
信号系列1はk個毎にブロツク化されているもの
とする。(kは正の整数)すなわち、 =[s1s2,……,sk] 正規化回路2では、以下のベクトル量子化を行
う際にコードブツクを汎用的に使うために、ベク
トルを正規化する。正規化は例えば次の様に行
う。 σ=[Kj=1 (sj21/2 xj=sj/〓(=「x1,x2,……,xk」) 正規化された入力ベクトルx4は、木探索ベク
トル量子化器を構成する第1段57,第2段5
8、……、第n段59において段階的に対をなす
出力ベクトルとの比較を行う。その比較結果を0
あるいは1で表わし、第1段からある段の分まで
並べてできる2進数が、次の段で比較すべき出力
ベクトルの対を読出すためのアドレスになる。6
0→61→……→8従つて、最終段まで並べたも
のがインデツクス情報8となる。多重化符号化部
9は、前記インデツクス8と前記正規化定数3と
を多重化して伝送路符号化し、伝送路へ送出10
する。各段では入力ベクトルxと2つの出力ベク
トルとの歪を計算して比較する。2つの出力ベク
トルを L=〔yL1,yL2,……,yLk〕, R=〔yR1
yR2,……,yRk〕,各々のxに対する歪d(
),d( R)を d( L)=Kj=1 (xj−yLj2 d( R)=Kj=1 (xj−yRj2 とする。2つの歪の大小は両者の差の正負と同値
である。 d( L)−d( R)=Kj=1 (xj−yLj2Kj=1 (xj−yRj2Kj=1 〔(yLj2−(yRj2−2xj(yLj−yRj)〕 =−2Kj=1 〔xj(yLj−yRj)〕 ただし、 L Rとも、前に述べた様に正
規化されているという前提である。このとき歪比
較は、入力ベクトルxと、対をなす出力ベクトル
L Rの差分ベクトルとの内積を求めてその符
号を判定することに帰せられる。従つて符号に基
づき、より小さい歪を与える方の枝を選べばよ
い。第12図は以上の条件の下での木探索ベクト
ル量子化器第2段の構成例を示したものである。
前段までの比較結果の履歴60に従つて比較すべ
き出力ベクトルの差分ベクトル64をコードブツ
ク63より読出す。同コードブツク63には、対
をなす出力ベクトル群がそれらの差分ベクトルと
いう形で記憶されている。前記差分ベクトル64
と前記入力ベクトル4との各元を乗算器46によ
つて掛け合わせ、累算回路47によつて足しあわ
せ、内積を求める。符号判定回路48によつて正
負を判定し、インデツクスレジスタ65に蓄わえ
られている前段までの結果60に当段の判定結果
44を付加し、次段へ送出61する。前記入力ベ
クトル4は入力ベクトルレジスタ62に蓄わえら
れた後、次段へ送出される。第1段では前段まで
の結果がないこと、最終段では入力ベクトル4を
次段へ送出する必要のないことを除けば、他の段
も同じ構成をとる。復号化器では、受信信号50
を分離復号化部51において伝送路復号化し、イ
ンデツクス8と正規化定数3とを出力する。同イ
ンデツクス8に従つてコードブツク66より読出
した出力ベクトル54に対し、正規化復元回路5
5において利得を再生する。前述の正規化であれ
ば正規化定数と出力ベクトルの各元との乗算にな
る。以上の処理によつて再生信号系列56が得ら
れる。 〔発明が解決しようとする問題点〕 従来のベクトル量子化器は以上の如く構成され
ているので、次に述べるような問題点があつた。
すなわち、符号化性能を決定するのがコードブツ
クに記憶された出力ベクトルであるため、出力ベ
クトルに高い効率と汎用性が要求されることであ
る。例えば画像信号を対象とした場合、統計的性
質の大きく違う画像に対応するには、出力ベクト
ルの木の段数をふやして出力ベクトル数をふやす
ことが必要であるが、木構造をとつているために
出力ベクトルの増加が直接には符号化復号化され
た品質の向上に結びつかず、コードブツクの設計
は高度な問題であつた。 この発明は上記のような問題点を解消するため
になされたもので、入力信号の性質を大きく変わ
つた際に、新たな効率の良い多次元信号空間で対
称な構造を有する出力ベクトルの木を高速で生成
する手法を与え、同手法を実現する回路を付加す
ることによつて、汎用性のある出力ベクトルのセ
ツトの高速生成、コードブツクメモリの容量削減
を実現するベクトル量子化器を得ることを目的と
するものである。 〔問題点を解決するための手段〕 この発明に係るベクトル量子化器は、トレーニ
ング系列であるベクトルの集合を2分割し、1方
の集合をもう1方の集合の属する部分信号空間の
中へ対称に折返した後にさらに2分割するという
操作をくり返すと同時に、くり返しの各段階にお
いて2つに分割されたベクトルの集合の代表点を
算出して、得られた代表点ベクトルの対を木探索
ベクトル量子化用の対称な構造の木となるよう展
開する機能を付加したものである。 〔作用〕 この発明においては、ベクトル量子化すべき信
号に適合した木探索用コードテーブルを得るため
に、入力ベクトルの一部をトレーニング系列とし
て用い、段階的に信号空間を2分割しながら2つ
の部分空間の一方にトレーニング系列を折返すよ
うにして対称な構造を持つ木を生成し、同手順に
よつて得たコードテーブルを、同コードテーブル
を用いて入力ベクトルをベクトル量子化したイン
デツクス情報と共に伝送する。 〔発明の実施例〕 以下、この発明を例を挙げて説明する。第1図
はこの発明によるベクトル量子化器における符号
化部の構成例である。図において、1はブロツク
化された入力信号系列、2は同系列1をブロツク
毎に正規化する正規化回路、3は正規化定数、4
は正規化された信号系列(入力ベクトル)、5は
木探索ベクトル量子化器、6はコードテーブル更
新部、7は同コードテーブル更新部において生成
されたコードテーブル、8はベクトル量子化イン
デツクス、9は前記コードテーブル7及び前記正
規化定数3及び前記インデツクス8を多重化して
伝送路符号化する多重化符号化部、10は符号化
器出力信号である。第2図は第1図におけるコー
ドテーブル更新部6の構成例を示したものであ
る。図において、11はトレーニング系列として
用いる入力ベクトルを蓄わえるベクトルメモリ、
12はトレーニング系列、13は同トレーニング
系列12の属する部分信号空間を分割するための
仮代表点を蓄わえるためのラツチ、14は前記仮
の代表点である2つのベクトルの差分を求める減
算器、15は同減算器14にて得られた差分ベク
トル、16は同差分ベクトル15と前記トレーニ
ング系列12との各元を掛けあわせる乗算器、1
7は同乗算器16によつて得られた積をベクトル
毎に足しあわせる累算回路、18は前記差分ベク
トル15と前記トレーニング系列12の且元の積
和すなわち内積、19は同内積18の正負を判定
する符号判定回路、20は前記トレーニング系列
12を別に与えられたあるベクトルについて対称
となるベクトルに折返す折返し回路、21は同折
返し回路20によつて折返されたトレーニング系
列、22は前記トレーニング系列のベクトル12
と同ベクトルを折返したベクトル21とを切わけ
るスイツチング回路、23はトレーニング系列1
2を2つに分割した内の一方のベクトルと他方の
ベクトルを2つの部分空間の対称な位置に折返し
たベクトルとの和集合、24は前記ベクトル群2
3とは反対側の部分空間にあるベクトル群、25
はベクトル群23や24の代表点を算出する代表
点演算回路、26は前記ベクトル群23及び24
から代表点演算回路25によつて求めた2つの代
表点、27は同代表点を蓄わえるラツチ、7は同
ラツチ27に蓄わえられた2つの代表点である。 第3図はベクトルを対称に折返すことの説明
図、第4図は折返し回路の構成例である。図にお
いて28は入力となるベクトル、29は対称の中
心と考えるベクトル、30は前記ベクトル28を
ベクトル29について対称に折返したベクトル、
31は前記の折返したいベクトル28と前記の中
心となるベクトル29との各元を掛けあわせる乗
算器、32は同乗算器31によつて得られた積を
ベクトル毎に足しあわせる累算回路、33は同累
算回路32によつて得られた内積と前記の中心と
なるベクトル29との各元とを掛けあわせる乗算
器、34は減算器である。第5図、第6図は第2
図に構成例を示したコードテーブル更新部6にお
いてコードテーブルが生成される過程を説明する
ための説明図、第7図は第1図における木探索ベ
クトル量子化器の構成例を示したものである。図
において、35は内容を動的に書きかえることの
できるコードテーブルメモリ(このメモリに蓄わ
えられる出力ベクトルは第5図に示すような各段
がただ1つの対を持つ木構造をとる)、36,3
7,38は各々木探索ベクトル量子化器を構成す
る第1段、第2段、第n段、39,40,41は
木探索の段を下るにつれて適応的に折返される入
力ベクトル、42は該当する段における出力ベク
トル対が木の上でぶらさがつている前段の出力ベ
クトル、43は該当する段におる出力ベクトル対
の差分ベクトル、44は各段における歪比較結果
を示す1ピツト信号、45は同信号44を全段に
わたつて結合しベクトル量子化インデツクス8へ
マツピングするレジスタである。第8図は第7図
における木探索ベクトル量子化器第2段37の構
成例をやや詳細に示したものである。図におい
て、46は入力ベクトル39と前記差分ベクトル
43の各元を掛けあわせる乗算器、47は同乗算
器46で得られた積をベクトル毎に足しあわせる
累算回路、48は同累算回路47によつて得られ
た内積の正負を判定する符号判定回路、49は同
符号判定回路48の判定結果44に基づいて入力
ベクトルを前段の出力ベクトルについて折返す折
返し回路である。 第10図はこの発明によるベクトル量子化器に
おける復号化部の構成例である。図において、5
0は受信信号、51は前記の新たなコードテーブ
ル7、前記インデツクス8及び前記正規化定数3
とを分離して伝送路復号化する分離復号化部、5
2は内容を書きかえることのできるコードテーブ
ルメモリ、53は出力ベクトルを折返してコード
テーブルを完成させるための折返し回路、54は
前記インデツクス8に従つて読出された出力ベク
トル、55は正規化復元回路、59は再生信号系
列である。 次に動作について説明する。基本的には、性質
の異なる信号、が入力されて出力ベクトルのセツ
トを更新する必要が生じた際、入力ベクトル群を
トレーニング系列として汎用的な木探索コードテ
ーブルを生成し、同コードテーブルを用いて入力
信号をベクトル量子化し、ベクトル量子化情報及
び更新されたコードテーブルを符号化出力とする
ことによつて入力信号の大きな変化に対応しよう
とするものである。第1図において、入力される
信号系列1はk個毎にブロツク化されているもの
とする。すなわち、 =〔s1,s2,……,sk〕 正規化回路2では、以下のベクトル量子化を行
う際にコードブツクを汎用的に使うために、ベク
トルを正規化する。正規化は例えば次の様に行
う。 σ=〔Kj=1 (sj21/2 xj=sj/〓(=〔x1,x2,……,xk〕) 正規化された入力ベクトル4の集合を用いて
コードテーブル更新部6において木探索コードテ
ーブル7を生成する。同コードテーブル7を用い
て入力ベクトル4を木探索ベクトル量子化器5に
てベクトル量子化する。同量子化によつて得られ
たベクトル量子化インデツクス8とコードテーブ
ル7及び前記正規化定数3を多重化符号化部9に
おいて多重化して伝送路符号化し、伝送路へ送出
10する。コードテーブル更新部6では、新たな
コードテーブルを生成するためのトレーニング系
列として用いるために、正規化された入力ベクト
ル4をベクトルメモリ11に蓄わえる。同メモリ
11から読出したトレーニング系列のベクトル1
2を2個、ラツチ13を取りこむ。このベクトル
対が信号空間を2分割するための初期代表点とな
る。初期状態ではメモリ11から読出されるベク
トル群12は信号空間の全体にわたつて分布して
いる。先ず、同ベクトル群12を初期代表点に従
つて2分割するために、ベクトル12と2つの代
表点との歪を計算して比較する。2つの代表点ベ
クトルを L=〔yL1,yL2,……,yLk〕, R
〔yR1,yR2,……,yRk〕、トレーニング系列のベク
トルに対する歪d(x,yL),d(x,yR)を、 d( L)=Kj=1 (xj−yLj2 d( R)=Kj=1 (xj−yRj2 とする。2つの歪の大小は両者の差の正負と同値
である。正規化の前提から d( L)−d( R)=−2Kj=1 〔xj(yLj−yRj)〕 が導かれ、歪比較は2つの代表点ベクトルの差分
ベクトルとトレーニング系列のベクトルとの内積
を求めてその符号を判定することに帰せられる。
そこで減算器14によつて代表点ベクトルの差分
ベクトル15を求め、乗算器16と累算回路17
によつて内積18を計算する。さらに符号判定回
路19において前記内積18の正負を判定する。
その間にトレーニング系列のベクトルx12を折
返し回路20において中心となるベクトルについ
て対称に折返したベクトル s=〔xs 1.xs 2,……,
xs k〕21を得ておく。中心となるベクトルは初期
的には信号空間全体の中心となるベクトルであ
る。対称に折返すという操作は、中心となるベク
トルを=〔c1,c2,……,ck〕としたときに、 s=(−x)+ =2 と表わすことができる。ただし上記のようにして
求められたベクトル sはベクトル12の正規
化されているという性質を保存しない。そこでベ
クトルx,c,xsが何れも正規化された状態であ
るように、言いかえれば同じ信号空間内に在るよ
うに折返すには、第3図に示すようにすればよ
い。ここでは折返されるべきベクトル28、
は中心のベクトル29、 sは折返したベクトル
30と考えられる。前に述べた正規化条件より、 Kj=1 (xj2Kj=1 (cj2Kj=1 (xs j2=1 でなければならないから、3つのベクトルは何れ
も同一の超円周上にある。従つて sは、 s=〔(〕+( =2( で得られる。ただし()はベクトル
の内積である。第4図は折返し回路の構成例であ
る。折返すべきベクトル28と中心のベクトル2
9とについて乗算器31と累算回路32とを用い
て内積を計算、乗算器33によつて同内積を2倍
して中心のベクトル29と掛けあわせ、減算器3
4によつて折返すべきベクトル28の元を減じ、
対称なベクトル30を得る。第2図、スイツチン
グ回路22はトレーニング系列のベクトル12を
同折返し21を入力し、前記符号判定回路19の
判定結果に従つて2系統の出力23と24に切わ
ける。例えばベクトル群23は {x|符号判定結果が正}∪{xs|符号判定結果
が負} これに対してベクトル群24は {x|符号判定結果が負}∪{xs|符号判定結果
が正} というようにわける。各々のベクトル群から代表
点演算回路25によつて2つの新しい代表点26
を求める。代表点はベクトル群の相加平均で求め
ればよいが、相加平均も正規加条件を保存しない
ため平均を求めた後に再正規化する必要がある。
新しい代表点26をラツチ13に取り込む。以上
でコードテーブル生成のためのクラスリングが1
ループ終了したことになる。同ループをくり返す
ことによつて2つの代表点26は信号空間の最適
は2分割を与えるようになる。ループの回数は予
め決めておけばよい。最後のループの際、ベクト
ル群23をベクトルメモリ11に書込む。同操作
は、トレーニング系列全体を2分割してその一方
に折返してしまうことに相当し、信号空間が半分
になることである。これを木状の段階的分割の1
段階とする。このときの代表点26をラツチ27
に取り込み、これを出力ベクトルの対7として出
力する。同時に、ベクトルメモリ11を置きかえ
た側のベクトル群23の代表点を折返し回路20
の中心となるベクトルとして与える前記ベクトル
群23が次の段階の信号空間を規定するからであ
る。ここまでの操作で1つの出力ベクトル対が得
られた。この操作をn回行うことによつてn段の
出力ベクトル対が得られる。これらの対には第5
図に示すような関係がある。第5図の木における
各節点が信号空間内部の代表点である。各々の対
は同対をぶらさがつている代表点(ベクトル)に
対して対称である。なおかつ各代表点で規定され
る部分信号空間は第5図に示す木の上下で完全な
包含関係を持つ。すなわち、yb(bは2進数)を
中心とする部分信号空間をRbとすると、 Rb=Rb0∪Rb1 第5図に示す木状の出力ベクトルから、第14
図に示されるような完全2進木状の出力ベクトル
を展開することができる。第6図を用いて説明す
る。第6図aに示す方形が信号空間全体であると
する。代表点はy0である。先ず、第1段階の2分
割を行なつたのが第6図bである。2つの代表点
y00とy01は前段の代表点y0について対称である。
分割の完了と共にトレーニング系列を一方の代表
点で規定される部分信号空間に対称に折返してし
まう。すなわち、太線で囲まれた部分信号空間を
新たな信号空間として次段の分割を行なう。第6
図cでは新たな出力ベクトルの対y000とy001が得
られ、信号空間はさらに半分となる。図に示すよ
うに、既に確定したy0,y01等を中心とした対称
な折返しによつてy010,y011が得られる。さらに
段階の進んだ第6図dでも状況は同じである。折
返しによつて次段の出力ベクトルが生成できる。
同様にくり返していつて完全2進木状の出力ベク
トルを得ることができるのは明らかである。以上
の手法を用いれば、木の僅かな部分を生成するだ
けで対称は折返しにより完全2進木へ展開するこ
とができる。得られた木は完全に対称であり、ト
レーニング系列の偏よりに影響されない汎用的な
木探索コードテーブルができる。完成したコード
テーブルを動的に書きかえ可能のコードテーブル
メモリに書き込み、従来の木探索ベクトル量子化
器のように使うことももちろん可能である。本実
施例では入力ベクトルの方を対称に折返すことに
より、第5図に示した出力ベクトル対のみで木探
索ベクトル量子化を行う手法について第9図を用
いて説明する。第9図aに示す方形を信号空間と
仮定する。今、入力ベクトルをベクトル量子化
するものとする。第9図bにおいて、第1段の歪
比較を行つた結果、がy01の方へ量子化された
場合、第1段ではまず“1”を出力する。さらに
第5図に示すように次段へ分割されていくのは実
際に準備された方向の出力ベクトルy00の属する
部分信号空間であるため、前段の出力情報“1”
に基づいてをy0について対称に折返し、 1
得る。さらに第9図cではy001に量子化されたと
する。このとき 1 00について対称に折返し
2を得ると同時に“1”を出力する。第9図
dにおいて 2 0000に量子化されているので、
2を折返す必要はなく、 3 2と考えること
ができ、“0”を出力する。以上の操作を続けて
いく訳であるが、ここまでの結果をみると、
“110”が出力されている。全てのベクトルについ
てy0からスタートすると考えれば“0110”であ
る。実際のは部分信号空間でいえば 0100の属
する空間にある。“0100”と 0100のインデツク
ス“0100”は1対1に対応するが同一ではない。
これは入力ベクトルを1度折返すたびに次段で量
子化される方向が逆になるからである。従つて
“0110”から“0100”への対応は第9図eに示す
マツピングによつて得られる。 このように、入力ベクトルを常に次段の代表点
を持つ側へと折返していつても完全2進木を使つ
た場合と同じ量子化インデツクスを得ることでき
る。第7図、第8図の構成例において、コードテ
ーブルメモリ35には、第5図に示す木に対応し
た出力ベクトルが蓄わえられている。木探索ベク
トル量子化器を構成する第1段36、第2段3
7、第n段38はコードテーブル更新部6におけ
る2分割のための歪比較回路に相当するため、1
つ上の段の代表点ベクトル42と、当段の代表点
の差分ベクトル43を入力とし、各段で適宜折返
されたベクトル39,40,41等と前記差分ベ
クトル43との内積を乗算器46、累算回路47
を使つて求める。符号判定回路48によつて前記
内積の符号を判定し、同判定結果44に従つて、
入力ベクトル折返し回路49において入力ベクト
ルを折返すか否かを制御し、折返した(あるいは
折返していない)入力ベクトルを次段に送出す
る。インデツクスレジスタ45は、全ての段にお
ける前記符号判定結果44を統合して、第9図e
に示すマツピングを行い、量子化インデツクス8
を出力する。復号化器では、受信信号50を分離
復号化部51において伝送路復号化し、出力ベク
トル対7と量子化インデツクス8及び正規化定数
3を出力する。前記ベクトル対7から出力ベクト
ル折返し回路53によつて全ての終端節点に対応
する出力ベクトルを求めて出力ベクトルコードテ
ーブルメモリ52に書きこむ。折返し回路53の
構成はやはり第4図に示すようでよい。前記イン
デツクス8によつて前記コードテーブルメモリ5
2から読出した出力ベクトル54に対し、正規化
復元回路55において利得を再生する。前述の正
規化であれば、正規化定数と出力ベクトルの各元
との乗算になる。以上の処理によつて再生信号系
列56が得られる。 コードテーブルの更新は、周期的に行う、マニ
ユアルスイツチに従つて行う静止画を符号化伝送
するたび事前に行う等、種々の制御が可能であ
る。 なお、上記実施例では正規化定数を2乗和の平
方根、ベクトル間の歪距離を2乗距離と定義した
場合について示したが、他の定義をしてもよい。
ただしその場合、歪比較を出力ベクトルの差分と
の内積計算だけですますことはできないので2つ
の出力ベクトルの各々と入力ベクトルとの歪計算
を行つて歪を比較する必要がある。また正規化手
法によつて、対称な折返しを行う操作は変化する
が、2乗和の平方根で再正規化して折返した後に
実際に採用する正規化手法で再正規化するとよ
い。実際には適当な近似計算が導入されてもよ
い。上記説明例では、対称な完全2進木が各段1
個の対に縮退されうることを示したが、さらに各
段について1個の出力ベクトルまで縮退させるこ
ともできる。第5図、第6図から明らかなよう
に、代表 点であるy0……01はy0……0のy0……0に対する折
返し(mは整数)で得られるからである。これを
利用して伝送する出力ベクトル数をへらすことも
できる。また、入力信号をピツクアツプしてトレ
ーニング系列とするのではなく、数学的乱数モデ
ルを用いて上記の木生成を行い、信号特性から完
全にフリーなコードテーブルを生成することも有
効である。 〔発明の効果〕 以上のようにこの発明によれば、性質が大きく
異なる信号が入力されても短時間で木探索コード
テーブルを生成することができ、なおかつ生成さ
れた木は完全に対称であり、トレーニング系列の
偏よりに影響されない汎用的なものとなるので、
種々の信号に対して効率のよい木探索ベクトル量
子化を行うことができ、コードテーブルメモリの
容量を減らすこともできる。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a vector quantizer that blocks a plurality of input signal sequences and quantizes the block in a multidimensional signal space. [Prior Art] FIG. 11 shows an example of the configuration of an encoder in a conventional vector quantizer. In the figure, 1 is a blocked input signal series, 2 is a normalization circuit that normalizes the same series 1 for each block, and 3 is a normalization constant. Further, 4 is a normalized signal sequence (input vector), and 57, 58, and 59 are the first stage, second stage, seventh stage, 60, 61, and 8, which respectively constitute the tree search vector quantizer. 9 is a vector quantization index that is determined step by step; 9 is a multiplexing encoding unit that multiplexes the determined vector quantization index 8 and the normalization constant 3 and sends it to the transmission path; 10
is the encoder output signal. FIG. 12 shows an example of the configuration of the second stage 58 of the tree search vector quantizer shown in FIG. 11 in slightly more detail. In the figure, 62 is an input vector register, 63 is a codebook that stores a set of output vectors for tree search (codebook) in the form of difference vectors corresponding to pairs of output vectors, and 64 is a difference read from the codebook 63. Output vector, 46 is multiplier, 47
44 is a circuit for determining the sign (positive or negative) of the result of accumulation by the multiplier 47, 44 is the determination result, and 64 is an index. A register 61 is a new stage index determined by adding the judgment result 44 to the index 60 determined up to the previous stage. FIG. 13 shows an example of the configuration of a decoder in a conventional vector quantizer. In the figure, 50 is a received signal, 51 is a separation decoding unit that separates an index and a normalization constant, and 8
is an index, 3 is a normalization constant, 66 is a code table memory that stores only vectors corresponding to the terminal nodes of the tree-like output vector, 54 is an output vector read out according to the index 8,
55 is a normalization restoration circuit, and 56 is a reproduction signal sequence. FIG. 14 is an explanatory diagram for explaining the operating principle of a conventional vector quantizer. Next, the operation will be explained using FIG. 11, FIG. 12, FIG. 13, and FIG. 14. First, the concept of tree search vector quantization will be explained. In vector quantization, a digitized signal sequence is divided into blocks and treated as vectors in a multidimensional signal space. In advance, a representative point having an optimal distribution with respect to the distribution density when the input signal is vectorized is set in the signal space. These representative points are output vectors, and a set of output vectors is called a codebook. The encoder of the vector quantizer searches for an output vector that best approximates the input vector and outputs its index. The decoder reads out the output vector corresponding to the index from the codebook and outputs it. The critical path in the above process is the search for the optimal output vector. The efficiency of vector quantization improves as the number of signal sequences integrated during blocking, that is, the dimension of the vector, increases. However, the number of output vectors required to maintain reproduction quality becomes extremely large, and the search time required to find the optimal output vector also increases. Originally, the output vector provides a division of the signal space. The representative point of each division is the output vector. If the signal space is divided step by step until the target division is finally reached, and representative points are defined at intermediate stages, those vectors will form a tree structure as shown in Figure 14. becomes. In this example, each stage will perform a two-part split. Top of the tree (vector y 0 is the representative point of the entire signal space = center)
If the branch is traced from the branch to the representative point that gives a better approximation by comparing with the paired output vector at each stage, in the case of an n-stage tree, (n is a positive integer) 2n By calculating the distortion with the N=2n representative points, one of the N=2n representative points is arrived at. The above is the concept of tree search vector quantization.
Next, an explanation will be given along with an actual configuration example. It is assumed that the input signal sequence 1 is divided into k blocks. (k is a positive integer) That is, s = [s 1 s 2 , ..., s k ] In the normalization circuit 2, in order to use the codebook for general purpose when performing the following vector quantization, the vector is Normalize. For example, normalization is performed as follows. σ=[ Kj=1 (s j ) 2 ] 1/2 x j = s j/ 〓 ( x = "x 1 , x 2 , ..., x k ") The normalized input vector x4 is First stage 57 and second stage 5 forming a tree search vector quantizer
8, . . . In the n-th stage 59, comparison with the output vectors forming a pair is performed step by step. The comparison result is 0
Alternatively, the binary number expressed as 1 and arranged from the first stage to a certain stage becomes an address for reading a pair of output vectors to be compared in the next stage. 6
0→61→...→8 Therefore, the index information 8 is what is arranged up to the last stage. A multiplexing encoding unit 9 multiplexes the index 8 and the normalization constant 3, encodes the same on a transmission path, and sends the code 10 to the transmission path.
do. At each stage, distortions between the input vector x and two output vectors are calculated and compared. Let the two output vectors be y L = [y L1 , y L2 , ..., y Lk ], y R = [y R1 ,
y R2 , ..., y Rk ], distortion d for each x ( x , y
L ), d( x , yR ) as d( x , yL ) = Kj=1 ( x j −y Lj ) 2 d( x , yR )= Kj=1 (x j − y Rj ) 2 . The magnitude of the two distortions is the same as the positive or negative sign of the difference between them. d( x , y L ) − d( x , y R ) = Kj=1 (x j −y Lj ) 2Kj=1 (x j −y Rj ) 2 = Kj=1 [ (y Lj ) 2 −(y Rj ) 2 −2x j (y Lj −y Rj )] =−2 Kj=1 [x j (y Lj −y Rj )] However, x , y L , y R Both assume that it has been normalized as mentioned earlier. In this case, the distortion comparison is performed by calculating the inner product of the input vector x and the difference vector between the paired output vectors y L and y R and determining its sign. Therefore, it is only necessary to select the branch that gives smaller distortion based on the sign. FIG. 12 shows an example of the configuration of the second stage of the tree search vector quantizer under the above conditions.
The difference vector 64 of the output vectors to be compared is read out from the codebook 63 according to the history 60 of comparison results up to the previous stage. The codebook 63 stores pairs of output vectors in the form of their difference vectors. The difference vector 64
and the input vector 4 are multiplied by a multiplier 46, and added by an accumulation circuit 47 to obtain an inner product. The sign determining circuit 48 determines whether it is positive or negative, and the determination result 44 of the current stage is added to the result 60 of the previous stage stored in the index register 65, and the result is sent 61 to the next stage. After the input vector 4 is stored in the input vector register 62, it is sent to the next stage. The other stages have the same configuration, except that the first stage does not have the results up to the previous stage, and the final stage does not need to send the input vector 4 to the next stage. In the decoder, the received signal 50
is subjected to transmission path decoding in the separation decoding section 51, and an index 8 and a normalization constant 3 are output. The normalization restoration circuit 5 outputs the output vector 54 read from the codebook 66 according to the index 8.
Regenerate the gain at 5. In the case of the normalization described above, the normalization constant is multiplied by each element of the output vector. Through the above processing, the reproduced signal sequence 56 is obtained. [Problems to be Solved by the Invention] Since the conventional vector quantizer is configured as described above, it has had the following problems.
That is, since it is the output vector stored in the codebook that determines the encoding performance, the output vector is required to have high efficiency and versatility. For example, when dealing with image signals, in order to handle images with significantly different statistical properties, it is necessary to increase the number of output vectors by increasing the number of stages in the output vector tree. However, an increase in the number of output vectors did not directly lead to an improvement in the quality of encoded and decoded data, and the design of the codebook was a complex problem. This invention was made to solve the above-mentioned problems, and when the properties of the input signal are significantly changed, it is possible to create a tree of output vectors with a symmetric structure in a new efficient multidimensional signal space. To obtain a vector quantizer that realizes high-speed generation of a versatile set of output vectors and reduction of codebook memory capacity by providing a high-speed generation method and adding a circuit for implementing the same method. The purpose is to [Means for solving the problem] A vector quantizer according to the present invention divides a set of vectors, which is a training sequence, into two, and inserts one set into a partial signal space to which the other set belongs. At the same time as repeating the operation of symmetrically folding and then further dividing into two, at each stage of repetition, the representative points of the set of vectors divided into two are calculated, and the resulting pairs of representative point vectors are searched through a tree. It has an added function to expand it into a tree with a symmetric structure for vector quantization. [Operation] In this invention, in order to obtain a tree search code table suitable for the signal to be vector quantized, a part of the input vector is used as a training sequence, and the signal space is divided into two parts in stages. A tree with a symmetrical structure is generated by folding the training sequence on one side of the space, and the code table obtained through the same procedure is transmitted together with index information obtained by vector quantizing the input vector using the same code table. do. [Embodiments of the Invention] The present invention will be explained below by giving examples. FIG. 1 shows an example of the configuration of an encoding section in a vector quantizer according to the present invention. In the figure, 1 is a block input signal series, 2 is a normalization circuit that normalizes the same series 1 for each block, 3 is a normalization constant, and 4 is a normalization circuit that normalizes the same series 1 for each block.
is a normalized signal sequence (input vector), 5 is a tree search vector quantizer, 6 is a code table update unit, 7 is a code table generated in the code table update unit, 8 is a vector quantization index, 9 1 is a multiplexing encoding unit that multiplexes the code table 7, the normalization constant 3, and the index 8 and encodes the same on a transmission path; 10 is an encoder output signal. FIG. 2 shows an example of the configuration of the code table updating section 6 in FIG. 1. In the figure, 11 is a vector memory that stores input vectors used as training sequences;
12 is a training sequence; 13 is a latch for storing temporary representative points for dividing the partial signal space to which the training sequence 12 belongs; and 14 is a subtracter for calculating the difference between the two vectors that are the temporary representative points. , 15 is a difference vector obtained by the subtracter 14, 16 is a multiplier for multiplying each element of the difference vector 15 and the training sequence 12, 1
7 is an accumulation circuit that adds up the products obtained by the multiplier 16 for each vector; 18 is the sum of the products of the difference vector 15 and the training sequence 12, that is, the original inner product; 19 is the sign of the inner product 18; 20 is a folding circuit that folds the training sequence 12 into a vector that is symmetrical with respect to a given vector; 21 is a training sequence folded back by the folding circuit 20; 22 is the training sequence that is folded back by the folding circuit 20; Sequence vector 12
and a vector 21 which is a folded version of the same vector, 23 is the training sequence 1.
2 is the union of one of the vectors obtained by dividing 2 into two and a vector obtained by folding the other vector to a symmetrical position in the two subspaces, 24 is the vector group 2
Vector group in the subspace opposite to 3, 25
26 is a representative point calculation circuit that calculates the representative points of the vector groups 23 and 24; 26 is the vector group 23 and 24;
27 is a latch for storing the representative points, and 7 is the two representative points stored in the latch 27. FIG. 3 is an explanatory diagram of symmetrically folding back a vector, and FIG. 4 is a configuration example of a folding circuit. In the figure, 28 is an input vector, 29 is a vector considered as the center of symmetry, 30 is a vector obtained by folding the vector 28 symmetrically about vector 29,
31 is a multiplier that multiplies each element of the vector 28 to be folded and the center vector 29; 32 is an accumulation circuit that adds the products obtained by the multiplier 31 for each vector; 33; is a multiplier that multiplies the inner product obtained by the accumulation circuit 32 by each element of the central vector 29, and 34 is a subtracter. Figures 5 and 6 are 2
An explanatory diagram for explaining the process of generating a code table in the code table update unit 6 whose configuration example is shown in FIG. 7. FIG. 7 shows an example configuration of the tree search vector quantizer in FIG. be. In the figure, 35 is a code table memory whose contents can be dynamically rewritten (the output vectors stored in this memory have a tree structure in which each stage has only one pair, as shown in Figure 5). ,36,3
7 and 38 are the first, second, and nth stages constituting a tree search vector quantizer, respectively; 39, 40, and 41 are input vectors that are adaptively folded back as they descend through the tree search stages; The output vector pair of the relevant stage is the output vector of the previous stage hanging on the tree, 43 is the difference vector between the output vector pair of the relevant stage, 44 is a 1-pit signal indicating the distortion comparison result at each stage, 45 is a register that combines the same signal 44 across all stages and maps it to the vector quantization index 8. FIG. 8 shows an example of the configuration of the second stage 37 of the tree search vector quantizer shown in FIG. 7 in slightly more detail. In the figure, 46 is a multiplier that multiplies the input vector 39 and each element of the difference vector 43, 47 is an accumulation circuit that adds up the products obtained by the multiplier 46 for each vector, and 48 is the accumulation circuit 47. A sign determination circuit 49 determines whether the inner product obtained by is positive or negative, and a folding circuit 49 folds the input vector to the output vector of the previous stage based on the determination result 44 of the same sign determination circuit 48. FIG. 10 shows an example of the configuration of a decoding section in a vector quantizer according to the present invention. In the figure, 5
0 is the received signal, 51 is the new code table 7, the index 8, and the normalization constant 3.
a separation decoding unit that separates and decodes the transmission path;
2 is a code table memory whose contents can be rewritten; 53 is a folding circuit for folding back the output vector to complete the code table; 54 is an output vector read out according to the index 8; 55 is a normalization restoration circuit. , 59 are reproduction signal sequences. Next, the operation will be explained. Basically, when signals with different properties are input and it is necessary to update the set of output vectors, a general-purpose tree search code table is generated using a group of input vectors as a training sequence, and this code table is used. This method attempts to cope with large changes in the input signal by vector quantizing the input signal and using the vector quantization information and the updated code table as the encoded output. In FIG. 1, it is assumed that the input signal sequence 1 is divided into k blocks. That is, s = [s 1 , s 2 , . For example, normalization is performed as follows. σ=[ Kj=1 (s j ) 2 ] 1/2 x j = s j/ 〓 ( x = [x 1 , x 2 , ..., x k ]) Normalized input vector x 4 A tree search code table 7 is generated in the code table update unit 6 using the set. Using the same code table 7, the input vector 4 is vector quantized by the tree search vector quantizer 5. The vector quantization index 8 obtained by the quantization, the code table 7, and the normalization constant 3 are multiplexed in a multiplexing encoder 9, encoded on a transmission path, and sent out 10 to the transmission path. The code table update unit 6 stores the normalized input vector 4 in the vector memory 11 in order to use it as a training sequence for generating a new code table. Vector 1 of the training series read from the same memory 11
Take in two pieces of 2 and latch 13. This vector pair becomes an initial representative point for dividing the signal space into two. In the initial state, the vector group 12 read out from the memory 11 is distributed over the entire signal space. First, in order to divide the vector group 12 into two according to the initial representative point, the distortion between the vector 12 and the two representative points is calculated and compared. The two representative point vectors are y L = [y L1 , y L2 , ..., y Lk ], y R =
[y R1 , y R2 , ..., y Rk ], the distortion d (x, y L ), d (x, y R ) for the vector x of the training sequence is expressed as d ( x , y L ) = Kj= 1 (x j −y Lj ) 2 d( x , y R )= Kj=1 (x j −y Rj ) 2 . The magnitude of the two distortions is the same as the positive or negative sign of the difference between them. From the assumption of normalization, d( x , y L ) − d( x , y R ) = −2 Kj=1 [x j (y Lj − y Rj )] is derived, and distortion comparison is performed using two representative points. This is attributed to finding the inner product of the vector difference vector and the vector of the training sequence and determining its sign.
Therefore, the subtracter 14 obtains a difference vector 15 between the representative point vectors, and the multiplier 16 and the accumulator 17
Calculate the inner product 18 by . Further, a sign determining circuit 19 determines whether the inner product 18 is positive or negative.
In the meantime, the vector x12 of the training sequence is folded symmetrically about the center vector in the folding circuit 20, resulting in a vector x s = [x s 1 . x s 2 ,...,
Obtain x s k ]21. The center vector is initially the vector that is the center of the entire signal space. The operation of symmetrically folding is expressed as x s = ( c − x) + c = 2 cx when the central vector is c = [c 1 , c 2 , ..., c k ] be able to. However, the vector x s obtained as described above does not preserve the normalized property of the vector x 12. Therefore, in order to fold back the vectors x, c, and xs so that they are all in a normalized state, or in other words, so that they are in the same signal space, the procedure shown in FIG. 3 can be used. Here x is the vector to be folded 28, c
is considered to be the central vector 29, and xs is considered to be the folded vector 30. From the normalization conditions mentioned earlier, it must be Kj=1 (x j ) 2 = Kj=1 (c j ) 2 = Kj=1 (x s j ) 2 = 1, so All three vectors are on the same hypercircle. Therefore, x s is obtained as x s = [( c , x ) cx ] + ( c , x ) c = 2 ( c , x ) cx . However, ( c , x ) is the vector c and x
is the inner product of FIG. 4 shows an example of the configuration of the folding circuit. Vector 28 to fold and center vector 2
9, the inner product is calculated using the multiplier 31 and the accumulation circuit 32, the inner product is doubled by the multiplier 33 and multiplied by the center vector 29, and the subtracter 3
Subtract the element of vector 28 to be folded by 4,
We obtain a symmetrical vector 30. In FIG. 2, a switching circuit 22 inputs the training sequence vector 12 through a folding circuit 21, and switches it into two outputs 23 and 24 according to the determination result of the sign determination circuit 19. For example, vector group 23 is {x|sign determination result is positive}∪{x s | sign determination result is negative}, whereas vector group 24 is {x|sign determination result is negative}∪{x s | sign determination result is correct}. Two new representative points 26 are extracted from each vector group by the representative point calculation circuit 25.
seek. The representative point can be found by the arithmetic mean of a group of vectors, but since the arithmetic mean does not preserve the normal addition condition, it is necessary to renormalize after finding the mean.
The new representative point 26 is taken into the latch 13. With the above, the class ring for code table generation is 1.
This means the loop has ended. By repeating the same loop, the two representative points 26 will optimally divide the signal space into two. The number of loops may be determined in advance. During the final loop, the vector group 23 is written into the vector memory 11. This operation corresponds to dividing the entire training sequence into two and folding back to one half, which means that the signal space is halved. This is one of the tree-like stepwise divisions.
It is a stage. Latch 27 the representative point 26 at this time.
and outputs it as output vector pair 7. At the same time, the representative point of the vector group 23 on the side where the vector memory 11 has been replaced is transferred to the loop circuit 20.
This is because the vector group 23 given as the central vector defines the signal space of the next stage. With the operations up to this point, one output vector pair has been obtained. By performing this operation n times, n stages of output vector pairs are obtained. These pairs have a fifth
There is a relationship as shown in the figure. Each node in the tree of FIG. 5 is a representative point inside the signal space. Each pair is symmetrical about the representative point (vector) from which it hangs. Furthermore, the partial signal space defined by each representative point has a complete inclusive relationship above and below the tree shown in FIG. That is, if the partial signal space centered at y b (b is a binary number) is R b , then R b = R b0 ∪R b1 From the tree-like output vector shown in Fig. 5, the 14th
A complete binary tree-like output vector as shown in the figure can be developed. This will be explained using FIG. Assume that the rectangle shown in FIG. 6a is the entire signal space. The representative point is y 0 . First, the first step of dividing into two is shown in FIG. 6b. two representative points
y 00 and y 01 are symmetrical about the representative point y 0 in the previous stage.
Upon completion of the division, the training sequence is symmetrically folded back into the partial signal space defined by one representative point. That is, the next stage of division is performed using the partial signal space surrounded by the thick line as a new signal space. 6th
In diagram c, a new pair of output vectors y 000 and y 001 is obtained, and the signal space is further halved. As shown in the figure, y 010 and y 011 are obtained by symmetric folding around the already determined y 0 , y 01 , etc. The situation is the same in FIG. 6d, which is a more advanced stage. By folding back, the output vector of the next stage can be generated.
It is clear that a complete binary tree-like output vector can be obtained by repeating the same procedure. Using the above method, the symmetry can be expanded into a complete binary tree by folding just by generating a small portion of the tree. The resulting tree is completely symmetric, creating a general-purpose tree search code table that is unaffected by the bias of the training sequence. Of course, it is also possible to write the completed code table into a dynamically rewritable code table memory and use it like a conventional tree search vector quantizer. In this embodiment, a method of performing tree search vector quantization using only the output vector pair shown in FIG. 5 by folding the input vector symmetrically will be explained using FIG. 9. Assume that the rectangle shown in FIG. 9a is a signal space. Now, assume that the input vector x is to be vector quantized. In FIG. 9b, if x is quantized toward y 01 as a result of the first stage distortion comparison, the first stage first outputs "1". Furthermore, as shown in FIG. 5, what is divided into the next stage is the partial signal space to which the output vector y 00 in the actually prepared direction belongs, so the output information of the previous stage is "1".
Fold x symmetrically about y 0 based on , and obtain x 1 . Furthermore, in FIG. 9c, it is assumed that the signal is quantized to y 001 . At this time, x 1 is folded symmetrically about y 00 to obtain x 2 and at the same time "1" is output. In Figure 9d, x 2 is quantized to y 0000 , so
There is no need to fold back x 2 , and it can be considered that x 3 = x 2 , and "0" is output. We will continue the above operations, but looking at the results so far,
“110” is output. If we consider that all vectors start from y 0 , it is "0110". Actual x is in the space to which y 0100 belongs in the partial signal space. “0100” and the index “0100” of y 0100 have a one-to-one correspondence, but are not the same.
This is because each time the input vector is folded once, the direction of quantization in the next stage is reversed. Therefore, the correspondence from "0110" to "0100" can be obtained by the mapping shown in FIG. 9e. In this way, the same quantization index as when using a complete binary tree can be obtained by always folding the input vector back to the side having the representative point of the next stage. In the configuration examples shown in FIGS. 7 and 8, the code table memory 35 stores output vectors corresponding to the tree shown in FIG. The first stage 36 and the second stage 3 constitute a tree search vector quantizer.
7. Since the n-th stage 38 corresponds to a distortion comparison circuit for dividing into two in the code table update unit 6,
The representative point vector 42 of the next stage and the difference vector 43 of the representative point of the current stage are input, and the multiplier 46 calculates the inner product of the vectors 39, 40, 41, etc. folded appropriately at each stage and the difference vector 43. , accumulation circuit 47
Find it using The sign determination circuit 48 determines the sign of the inner product, and according to the determination result 44,
The input vector folding circuit 49 controls whether or not to fold back the input vector, and sends the folded (or not folded) input vector to the next stage. The index register 45 integrates the sign determination results 44 in all stages and outputs the result as shown in FIG.
Perform the mapping shown in Quantization index 8
Output. In the decoder, a received signal 50 is subjected to transmission line decoding in a separation decoding section 51, and an output vector pair 7, a quantization index 8, and a normalization constant 3 are output. Output vectors corresponding to all terminal nodes are obtained from the vector pair 7 by the output vector folding circuit 53 and written into the output vector code table memory 52. The configuration of the folding circuit 53 may be as shown in FIG. 4. According to the index 8, the code table memory 5
A normalization restoration circuit 55 reproduces the gain for the output vector 54 read from the output vector 2. In the normalization described above, the normalization constant is multiplied by each element of the output vector. Through the above processing, the reproduced signal sequence 56 is obtained. The code table can be updated in various ways, such as periodically, or in advance every time a still image is encoded and transmitted according to a manual switch. In the above embodiment, the normalization constant is defined as the square root of the sum of squares, and the distortion distance between vectors is defined as the square distance, but other definitions may be used.
However, in that case, the distortion cannot be compared by simply calculating the inner product with the difference between the output vectors, so it is necessary to calculate the distortion between each of the two output vectors and the input vector and compare the distortions. Although the operation for performing symmetric folding changes depending on the normalization method, it is preferable to renormalize using the square root of the sum of squares, fold back, and then renormalize using the actually adopted normalization method. In practice, appropriate approximation calculations may be introduced. In the example above, a symmetric complete binary tree has one stage in each stage.
Although it has been shown that the vectors can be reduced to one pair of output vectors, it is also possible to further reduce the number of output vectors to one output vector for each stage. This is because, as is clear from FIGS. 5 and 6, the representative point y 0 ... 01 is obtained by folding y 0 ... 0 to y 0 ... 0 (m is an integer). This can also be used to reduce the number of output vectors to be transmitted. Furthermore, instead of picking up the input signal and using it as a training sequence, it is also effective to perform the tree generation described above using a mathematical random number model and generate a completely free code table from the signal characteristics. [Effects of the Invention] As described above, according to the present invention, a tree search code table can be generated in a short time even if signals with widely different properties are input, and the generated tree is completely symmetrical. , it is a general-purpose one that is not affected by the bias of the training sequence, so
Efficient tree search vector quantization can be performed on various signals, and the capacity of code table memory can also be reduced.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はこの発明によるベクトル量子化器の符
号化部の構成例を示すブロツク図、第2図は同符
号化部におけるコードテーブル更新部の構成例を
示すブロツク図、第3図は同コードテーブル更新
部における折返し回路の動作を説明するための説
明図、第4図は同折返し回路の構成例を示すブロ
ツク図、第5図は前記コードテーブル更新部にお
いて生成される木について説明するための説明
図、第6図は前記コードテーブル更新部において
木が生成される過程を説明するための説明図、第
7図は前記符号化部における木探索ベクトル量子
化器の構成例を示すブロツク図、第8図は同木探
索ベクトル量子化器が段階的構造をとつている内
の一段分について構成例を示すブロツク図、第9
図は前記木探索ベクトル量子化器において、ベク
トル量子化が行われる過程を説明するための説明
図、第10図はこの発明によるベクトル量子化器
の復号化部の構成例を示すブロツク図、第11図
は従来のベクトル量子化器の符号化部の構成例を
示すブロツク図、第12図は従来のベクトル量子
化器の符号化部における木探索ベクトル量子化器
の一段分について構成例を示すブロツク図、第1
3図は従来のベクトル量子化器の復号化部の構成
例を示すブロツク図、第14図は従来のベクトル
量子化器における木探索ベクトル量子化について
説明するための説明図である。 図中、1はブロツク化された入力信号系列、2
は正規化回路、3は正規化定数、4は正規化れた
入力ベクトル、5は木探索ベクトル量子化器、6
はコードテーブル更新部、7は出力ベクトルのセ
ツト、8はベクトル量子化インデツクス、9は多
重化符号化部、10は符号化器出力信号、11は
ベクトルメモリ、12はトレーニング系列として
の入力ベクトル、13は代表点のラツチ、14は
減算器、15は代表点の差分ベクトル、16は乗
算器、17は累算回路、18は内積、19は符号
判定回路、20は折返し回路、21は折返された
トレーニング系列のベクトル、22はスイツチン
グ回路、23は2分割された部分信号空間の1つ
に折返されたベクトル、24は23とは逆の方に
折返されたベクトル、25は代表点演算回路、2
6は更新された代表点の対、27は代表点のラツ
チ、28は折返されるべきベクトル、29は対称
の中心となるベクトル、30は折返されたベクト
ル、31は乗算器、32は累算回路、33は乗算
器、34は減算器、35はコードテーブル、36
は木探索ベクトル量子化器第1段、37は木探索
ベクトル量子化器第2段、38は木探索ベクトル
量子化器第n段、39は第1段にて折返されたか
または折返されていない入力ベクトル、40は第
2段において折返されたかまたは折返されていな
い入力ベクトル、41は第n−1段において折返
されたかまたは折返されていない入力ベクトル、
42は前段の代表点ベクトル、43は当段の代表
点対の差分ベクトル、44は各段での歪比較結
果、45はインデツクスレジスタ、46は乗算
器、47は累算回路、48は符号判定回路、49
は入力ベクトル折返し回路、50は受信信号、5
1は分離復号化部、52は出力ベクトルコードテ
ーブル、53は出力ベクトル折返し回路、54は
出力ベクトル、55は正規化復元回路、56は再
生信号系列、57は木探索ベクトル量子化器第1
段、58は木探索ベクトル量子化器第2段、59
は木探索ベクトル量子化器第n段、60は第1段
の歪比較結果、61は第2段までの歪比較結果、
62は入力ベクトルレジスタ、63は差分出力ベ
クトルコードテーブルメモリ、64は差分出力ベ
クトル、65はインデツクスレジスタ、66は出
力ベクトルコードテーブルメモリである。なお、
図中同一あるいは相当部分には同一符号を附して
示してある。
FIG. 1 is a block diagram showing an example of the configuration of the encoding section of a vector quantizer according to the present invention, FIG. 2 is a block diagram showing an example of the configuration of the code table updating section in the encoding section, and FIG. An explanatory diagram for explaining the operation of the loopback circuit in the table update section, FIG. 4 is a block diagram showing a configuration example of the loopback circuit, and FIG. 5 is an explanatory diagram for explaining the tree generated in the code table update section. FIG. 6 is an explanatory diagram for explaining the process of tree generation in the code table updating section; FIG. 7 is a block diagram showing an example of the configuration of a tree search vector quantizer in the encoding section; Figure 8 is a block diagram showing a configuration example of one stage of the same tree search vector quantizer having a stepwise structure;
10 is an explanatory diagram for explaining the process of vector quantization in the tree search vector quantizer; FIG. 10 is a block diagram showing an example of the configuration of the decoding section of the vector quantizer according to the present invention; Fig. 11 is a block diagram showing an example of the configuration of the encoding section of a conventional vector quantizer, and Fig. 12 shows an example of the configuration of one stage of the tree search vector quantizer in the encoding section of the conventional vector quantizer. Block diagram, 1st
FIG. 3 is a block diagram showing an example of the configuration of a decoding section of a conventional vector quantizer, and FIG. 14 is an explanatory diagram for explaining tree search vector quantization in the conventional vector quantizer. In the figure, 1 is a blocked input signal sequence, 2
is a normalization circuit, 3 is a normalization constant, 4 is a normalized input vector, 5 is a tree search vector quantizer, 6
is a code table update unit, 7 is a set of output vectors, 8 is a vector quantization index, 9 is a multiplexing coding unit, 10 is an encoder output signal, 11 is a vector memory, 12 is an input vector as a training sequence, 13 is a representative point latch, 14 is a subtracter, 15 is a difference vector of representative points, 16 is a multiplier, 17 is an accumulation circuit, 18 is an inner product, 19 is a sign determination circuit, 20 is a folding circuit, and 21 is a folding circuit. 22 is a switching circuit, 23 is a vector folded into one of the partial signal spaces divided into two, 24 is a vector folded in the opposite direction to 23, 25 is a representative point calculation circuit, 2
6 is a pair of updated representative points, 27 is a latch of representative points, 28 is a vector to be folded, 29 is a vector serving as the center of symmetry, 30 is a folded vector, 31 is a multiplier, and 32 is an accumulation circuit, 33 is a multiplier, 34 is a subtracter, 35 is a code table, 36
is the first stage of the tree search vector quantizer, 37 is the second stage of the tree search vector quantizer, 38 is the nth stage of the tree search vector quantizer, and 39 is folded or not folded in the first stage. Input vector, 40 is an input vector that is folded or not folded in the second stage, 41 is an input vector that is folded or not folded in the n-1th stage,
42 is a representative point vector of the previous stage, 43 is a difference vector between a pair of representative points of the current stage, 44 is a distortion comparison result at each stage, 45 is an index register, 46 is a multiplier, 47 is an accumulation circuit, and 48 is a code Judgment circuit, 49
is an input vector folding circuit, 50 is a received signal, 5
1 is a separation decoding unit, 52 is an output vector code table, 53 is an output vector folding circuit, 54 is an output vector, 55 is a normalization restoration circuit, 56 is a reproduced signal sequence, and 57 is a first tree search vector quantizer.
stage, 58 is a tree search vector quantizer second stage, 59
is the nth stage of the tree search vector quantizer, 60 is the distortion comparison result of the first stage, 61 is the distortion comparison result up to the second stage,
62 is an input vector register, 63 is a differential output vector code table memory, 64 is a differential output vector, 65 is an index register, and 66 is an output vector code table memory. In addition,
Identical or corresponding parts in the figures are indicated by the same reference numerals.

Claims (1)

【特許請求の範囲】 1 ブロツク化された入力信号系列に対して振幅
成分による正規化を行つて入力ベクトルと正規化
定数として出力する正規化回路と、入力ベクトル
をトレーニングベクトルとして一定量蓄わえるこ
とのできるベクトルメモリと、前記ベクトルメモ
リに蓄わえられているトレーニングベクトル群を
2つの初期設定された対称な出力ベクトルの内の
何れが信号空間内で近距離にあるかという規範に
従つて2つの集合に分割するベクトル量子化部
と、上記ベクトル量子化部において分割されたト
レーニングベクトルの2つの集合について各々代
表点を求めて新たな出力ベクトルの対を算出する
操作をトレーニングベクトルと出力ベクトルとの
歪の総和が最小となるまでくり返して最適な出力
ベクトルの対を得る代表点演算部と、前記ベクト
ル量子化部によつて分割されたトレーニングベク
トルの集合の内の一方を分割される前のトレーニ
ングベクトルの集合の代表点を中心に折返した後
に反対側に分割されたトレーニングベクトルの集
合とあわせて前記ベクトルメモリに書きこんでト
レーニングベクトルの内容を更新するトレーニン
グベクトル折返し部と、前記ベクトルメモリ及び
前記ベクトル量子化部及び前記代表点演算部及び
前記トレーニングベクトル折返し部をくり返し動
作させて得られる2進木に対応した出力ベクトル
の対の集合から信号空間の階層的分割に対応する
完全2進木状の出力ベクトルのセツトを生成する
ような対称な折返しを行う出力ベクトル折返し部
と、前記出力ベクトル折返し部によつて得られた
完全2進木状の出力ベクトルのセツトを木探索ベ
クトル量子化用コードテーブルとして書きこむこ
とのできる符号化用コードテーブルメモリと、前
記入力ベクトルをベクトル量子化するために前記
符号化用コードテーブルメモリから前記出力ベク
トルのセツトの内の1つの対を読出して前記入力
ベクトルとの間で何れが信号空間内で近距離にあ
るかという規範に従つて比較を行つた結果から次
に読出すべき出力ベクトルの対を決定するという
操作を木構造の段階に応じてくり返して各段階の
比較結果から一意的に1つのベクトル量子化イン
デツクスを得る木探索ベクトル量子化部と、前記
正規化定数及び前記完全2進木の終端節点に対応
する出力ベクトルのセツト及び前記ベクトル量子
化インデツクスを多重化して伝送路符号化する多
重化符号化部と、前記多重化された信号から前記
正規化定数及び前記完全2進木状の出力ベクトル
のセツト及び前記ベクトル量子化インデツクスを
分離して伝送路復号化する分離復号化部と、前記
完全2進木の終端節点に対応する出力ベクトルの
セツトを書きこむことのできる復号化用コードテ
ーブルメモリと、前記復号化用コードテーブルメ
モリから前記ベクトル量子化インデツクスに従つ
て読出した出力ベクトルに対して前記正規化定数
を用いて振幅を復元して再生信号系列を得る正規
化復元回路とを備えたことを特徴おするベクトル
量子化器。 2 あるトレーニングベクトルの集合を用いて2
進木状の対称な構造を持つ出力ベクトルのセツト
を形成する操作を予め別系統の計算機等で行い結
果として得られた対称な完全2進木状のコードテ
ーブルを固定的に記憶したコードテーブルメモリ
を送信側符号化部に備え、また2進木の終端節点
にあたる出力ベクトルのみを固定的に記憶したコ
ードテーブルメモリを受信側復号化部に備えてベ
クトル量子化インデツクス及び正規化定数のみを
伝送することを特徴とする特許請求の範囲第1項
記載のベクトル量子化器。 3 各段について1つの対称な出力ベクトル対が
生成された時点で同出力ベクトル対の集合を符号
化用コードテーブルメモリに書きこみ、木探索ベ
クトル量子化を行う過程で、各段において次段の
分割を与える出力ベクトル対が用意されている出
力ベクトルの側へ量子化されるか否かを判定して
反対側へ量子化された場合には前段で量子化され
た出力ベクトルを中心として入力ベクトルを対称
に折返すという操作を木に沿つて行い、全段にわ
たつて折返しが行われたかどうかという情報と何
れの出力ベクトルに量子化されたかという情報と
に基づいて一意的に1つのベクトル量子化インデ
ツクスを決定する木探索ベクトル量子化部を備え
て前記出力ベクトル対の集合及び前記ベクトル量
子化インデツクス及び正規化定数を伝送し、受信
復号化部では前記出力ベクトル対の集合から終端
節点にあたる出力ベクトルを対称な折返しによつ
て形成した後に復号化用コードテーブルメモリに
書き込むことを特徴とする特許請求の範囲第1項
記載のベクトル量子化器。
[Claims] 1. A normalization circuit that normalizes a blocked input signal sequence using an amplitude component and outputs the result as an input vector and a normalization constant, and stores a certain amount of the input vector as a training vector. A vector memory that can be used as a vector memory, and a group of training vectors stored in the vector memory according to the norm of which of two initially set symmetrical output vectors is closer in the signal space. A vector quantization unit that divides the training vector into two sets, and an operation that calculates a new pair of output vectors by finding representative points for each of the two sets of training vectors divided by the vector quantization unit. a representative point calculation section that repeatedly obtains an optimal pair of output vectors until the sum of distortions between the two vectors is minimized; a training vector folding unit that updates the content of the training vector by folding the set of training vectors around a representative point of the set and then writing the set of training vectors to the vector memory together with the set of training vectors divided on the opposite side; and from a set of output vector pairs corresponding to a binary tree obtained by repeatedly operating the vector quantization section, the representative point calculation section, and the training vector folding section, a complete binary system corresponding to the hierarchical division of the signal space. An output vector folding unit performs symmetric folding to generate a set of tree-shaped output vectors, and a tree search vector quantization process is performed on the complete binary tree-shaped set of output vectors obtained by the output vector folding unit. an encoding code table memory into which one of the sets of output vectors can be written as a code table for vector quantization of the input vector; The operation of determining the pair of output vectors to be read next based on the results of comparison according to the norm of which vector is closer to the input vector in the signal space is performed according to the stage of the tree structure. a tree search vector quantization unit that repeatedly obtains one vector quantization index from the comparison results of each stage; a set of output vectors corresponding to the normalization constant and the terminal node of the complete binary tree; a multiplexing encoding unit that multiplexes the quantization index and performs transmission line encoding; and separating the normalization constant, the complete binary tree-like output vector set, and the vector quantization index from the multiplexed signal. a separate decoding unit that performs transmission path decoding, a decoding code table memory into which a set of output vectors corresponding to the terminal nodes of the complete binary tree can be written, and a decoding code table memory that A vector quantizer comprising: a normalization and restoration circuit for restoring the amplitude of an output vector read out according to the vector quantization index using the normalization constant to obtain a reproduced signal sequence. 2 Using a certain set of training vectors, 2
A code table memory that permanently stores a symmetric complete binary tree code table obtained by performing operations to form a set of output vectors having a symmetrical tree-like structure in advance on a computer of another system. The transmitter side encoder is equipped with a code table memory that fixedly stores only the output vector corresponding to the terminal node of the binary tree, and the receiver side decoder is equipped with a code table memory to transmit only the vector quantization index and normalization constant. A vector quantizer according to claim 1, characterized in that: 3. When one symmetric output vector pair is generated for each stage, the set of output vector pairs is written into the encoding code table memory, and in the process of performing tree search vector quantization, each stage It is determined whether the output vector pair giving the division is quantized to the side of the prepared output vector, and if it is quantized to the opposite side, the input vector is centered around the output vector quantized in the previous stage. is symmetrically folded along the tree, and one vector quantum is uniquely created based on the information on whether folding has been performed across all stages and the information on which output vector has been quantized. The receiving decoder includes a tree search vector quantization unit that determines a vector quantization index, transmits the set of output vector pairs, the vector quantization index, and a normalization constant, and a reception decoding unit calculates an output corresponding to a terminal node from the set of output vector pairs. 2. The vector quantizer according to claim 1, wherein the vector is written into the decoding code table memory after the vector is formed by symmetric folding.
JP61148949A 1986-06-25 1986-06-25 Synnetric vector quantizer Granted JPS635664A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61148949A JPS635664A (en) 1986-06-25 1986-06-25 Synnetric vector quantizer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61148949A JPS635664A (en) 1986-06-25 1986-06-25 Synnetric vector quantizer

Publications (2)

Publication Number Publication Date
JPS635664A JPS635664A (en) 1988-01-11
JPH0556718B2 true JPH0556718B2 (en) 1993-08-20

Family

ID=15464257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61148949A Granted JPS635664A (en) 1986-06-25 1986-06-25 Synnetric vector quantizer

Country Status (1)

Country Link
JP (1) JPS635664A (en)

Also Published As

Publication number Publication date
JPS635664A (en) 1988-01-11

Similar Documents

Publication Publication Date Title
EP0650264B1 (en) Byte aligned data compression
US6614939B1 (en) Image compression apparatus and decoding apparatus suited to lossless image compression
JP2001518726A (en) Method for optimizing N-gram memory structure
Idris et al. Storage and retrieval of compressed images
CN112398484A (en) Coding method and related equipment
Chang et al. Fast codebook search algorithms based on tree-structured vector quantization
Cheng et al. Robust zero-redundancy vector quantization for noisy channels
JP3932244B2 (en) Image encoding / decoding method and apparatus, and recording medium recording the program
JPH0556718B2 (en)
JP4673524B2 (en) How to filter digital data
Belodedov et al. Development of an algorithm for optimal encoding of WAV files using genetic algorithms
JP3425143B2 (en) Data compression method, data decompression method, data compression device, and data decompression device
JPS61159869A (en) Vector quantizer
JPH0621828A (en) Vector quantizing decoder
JPH0137047B2 (en)
JPH01277300A (en) Learning type vector quantizer
KR100613106B1 (en) An index assignment method for coding based on Tree-Structured Vector Quantization
SATO et al. Information rates for Poisson point processes
JPS60162391A (en) Sequence approximate vector quantizer
JPS60158788A (en) Vector quantizer of action compensation
JPS63298523A (en) System for forming binary tree construction dictionary by clustering method
JPH0269073A (en) Quantizer for n-notation tree retrieval vector
JP3425142B2 (en) Data compression method, data decompression method, data compression device, and data decompression device
JPH0221727A (en) Vector quantization decoding system
JP2548284B2 (en) Image signal vector quantizer

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term