JP3977753B2 - Information source encoding method, information source encoding device, information source encoding program, and recording medium on which information source encoding program is recorded - Google Patents

Information source encoding method, information source encoding device, information source encoding program, and recording medium on which information source encoding program is recorded Download PDF

Info

Publication number
JP3977753B2
JP3977753B2 JP2003016353A JP2003016353A JP3977753B2 JP 3977753 B2 JP3977753 B2 JP 3977753B2 JP 2003016353 A JP2003016353 A JP 2003016353A JP 2003016353 A JP2003016353 A JP 2003016353A JP 3977753 B2 JP3977753 B2 JP 3977753B2
Authority
JP
Japan
Prior art keywords
signal
error
group
input
base
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
JP2003016353A
Other languages
Japanese (ja)
Other versions
JP2004229100A (en
Inventor
正樹 北原
英明 木全
由幸 八島
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2003016353A priority Critical patent/JP3977753B2/en
Publication of JP2004229100A publication Critical patent/JP2004229100A/en
Application granted granted Critical
Publication of JP3977753B2 publication Critical patent/JP3977753B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は,音声や画像などのデジタル信号を効率的に符号化する技術に関するものである。特に,波形が似ている複数の信号を効率的に符号化し,かつ符号化データがプログレッシブ性を有する情報源の符号化方法に関するものである。
【0002】
【従来の技術】
音声や画像のようなデジタル信号が複数与えられたときの有効な符号化方法として, Separable Approximation(分離近似)とベクトル量子化を組み合わせた手法がある。例えば,非特許文献1では,この符号化方法によって,Surface Light Field データという,3次元オブジェクトの形状の表面の輝度データの圧縮を行っている。この方法によれば,データ圧縮が行われると同時に,符号化データはプログレッシブ性を有する。また,復号化が高速に実行でき,Surface Light Field に用いた場合はレンダリングが高速に行える,という特徴を持っている。
【0003】
以下では,まず Separable Approximation(分離近似)とベクトル量子化のそれぞれについて説明し,次にそれを組み合わせた従来の技術について説明する。以下の説明において,有限長のデジタル信号をベクトルとして表記して説明を行う場合がある。ベクトルは全て列ベクトルであり,AT のようにベクトルや行列を表す記号Aの右上にTが付けられた場合は,そのベクトルあるいは行列の転置を表すとする。
【0004】
分離近似では,符号化対象の,複数の有限長のデジタル信号(これらの信号の集合を符号化対象信号群と呼ぶ)に対して1つ以上の基底信号を定める。そして,符号化対象信号群の各々の信号を,その基底信号の重み付け和で近似する。これは次式のような近似を意味する。
【0005】
【数1】

Figure 0003977753
【0006】
ただし,Xは行に符号化対象信号群の各信号が入ったN行M列の行列であり,Sk はM次元ベクトルの基底信号である(ここでは,符号化信号群に対してK個の基底信号を定めている)。−方,Vk は近似の際に基底信号に乗じられる重み係数を要素としたN次元ベクトルであり,重み係数信号と呼ぶこととする。
【0007】
数少ない基底信号で近似によって生じる誤差を小さくできれば,大幅な情報量の削減が可能である。また,特定の基底信号と重み係数信号の組み((1)式での,同じkに対応した基底信号と重み係数信号の組を,以下では近似項と呼ぶ)にエネルギーが集中するように基底信号を構成できれば,プログレッシブなデータ構造を得ることが可能である。つまり,エネルギーが集中している近似項のみで符号化対象信号群を近似しても,良好な近似が可能である。
【0008】
以上のような,情報量の削減とプログレッシブ性の意味で最適な基底信号と重み係数信号の組みを求める古典的な方法として特異値分解法があり,従来から用いられている。特異値分解では,以下のような再帰的な処理によって分離近似を構成するための基底信号と重み係数信号を求めていく。
【0009】
まず,一つの近似項のみで近似した際の,符号化対象信号群の各信号に対する二乗誤差の総和を最小にするように基底信号と重み係数信号を求める。そして,ここで求まった基底信号と重み係数信号で近似信号を生成し,符号化対象信号群の各信号に対する誤差信号を求める。そして,これらの誤差信号の集まりを誤差信号群とし,次は誤差信号群の各信号に対する二乗誤差の総和を最小にするように基底信号と重み係数信号を一つずつ求める。
【0010】
これにより,2つの近似項分の基底信号と重み係数信号が求まる。以降は,これまでに求まった基底信号と重み係数信号で近似信号を生成し,符号化対象信号群の各信号に対する誤差信号を求め,誤差信号群に対して基底信号と重み係数信号を一つずつ求める,という処理を繰り返していくことによって,所望の数の近似項による分離近似を構成する。
【0011】
一方,ベクトル量子化は,デジタル信号の符号化法である。ベクトル量子化に関する詳細な説明は,例えば,非特許文献3などにある。ベクトル量子化では,符号化側と復号化側がコードブックと呼ばれる,デジタル信号の集合を保持している。そして,コードブック内の信号はコードワードと呼ばれ,各コードワードにはインデックスが割り振られている。符号化側は符号化対象の信号に対してコードワードを選択し,そのインデックスを符号化する。
【0012】
なお,コードワードの選択は,符号化対象の信号とコードワードの間の二乗誤差など,何らかの評価関数に基づいて行われる。つまり,評価関数が二乗誤差の場合,符号化対象の信号に対する二乗誤差が最小になるようなコードワードを選択し,そのインデックスを符号化する。復号化側はインデックスを復号化し,そのインデックスに対応したコードワードをコードブックから参照することによって復号化信号を得る。
【0013】
ベクトル量子化で効率的な符号化を行うには,実際にベクトル量子化を行った際に良好な符号化を行えるコードブックを作成しておく必要がある。つまり,符号化対象の信号の統計的な性質を反映したコードブックが必要である。これには,多数のデータを学習データとして与え,ベクトル量子化で利用する評価関数(例えば二乗誤差)に関するコードブックの最適化を行う学習アルゴリズムを適用する。このような学習アルゴリズムの代表的なものとしては,例えば,非特許文献2に記載されたLBGアルゴリズムが挙げられる。
【0014】
なお,学習データは必ずしも符号化対象のデータである必要はない。しかし,符号化対象の信号と同様の統計的な性質を持ったデータで学習を行ったほうが,良好な符号化が可能である。符号化対象の信号が多数ある場合,これら(あるいは,その一部)を学習データとしてコードブックを作成することが考えられるが,この場合はインデックスの符号化データとコードブックを復号化に渡す必要がある。一方,コードブックは符号化対象の信号とは別のデータで作成されており,符号化側と復号化側で互いに予め同じコードブックを持つ場合がある。この場合には,インデックスの符号化データのみ復号化側に送られる。
【0015】
非特許文献1に記載された従来の技術では,特異値分解法による分離近似とベクトル量子化を組み合わせて符号化対象信号群の符号化を行う。つまり,まず特異値分解法によって良好な分離近似が可能な基底信号と重み係数信号を求めて分離近似を構成しておく。そして,これらの基底信号と重み係数信号をベクトル量子化する。ここでのベクトル量子化は,具体的には以下の方法で行われる。
【0016】
コードブックは各近似項について,そして重み係数信号と基底信号について個別のものが利用される。それぞれのコードブックの作成は,多数の符号化対象信号群の各々に対して特異値分解法を適用し,各々の基底信号と重み係数信号を求める。そして,これらの基底信号と重み係数を学習データとし,基底信号と重み係数のそれぞれに対する二乗誤差を評価関数としたコードブックの最適化を,LBGアルゴリズムで行う。
【0017】
コードワードの選択も基底信号と重み係数のそれぞれに対する二乗誤差を評価関数として行われる。つまり,従来の技術では,分離近似の構成とベクトル量子化を2つの異なる最適化問題(符号化対象信号群に対する二乗誤差の総和を最小にする分離近似を求める問題と基底信号と重み係数信号に対する誤差を小さくするベクトル量子化の問題)としてとらえて符号化を行うことが大きな特徴である。
【0018】
一方,復号化側では符号化データを受け取ると,インデックス情報を復号化してインデックスに対応した基底信号と重み係数信号をコードブックから読み出す。そして,このようにして得た基底信号と重み係数信号を用いて(1)式に基づいて復号化信号を得る。なお,上記コードブックの作成に関する従来技術には,例えば下記の非特許文献4に記載されている技術もある。
【0019】
【非特許文献1】
Wei-Chao Chen,Jean-Yves Bouguet,Michael H.Chu,Radek Grzeszczuk,Light Field Mapping:Efficient Representation and Hardware Rendering of Surface Light Fields.ACM Transactions on Graphics.21(3),pp.447-456,2002
【非特許文献2】
Y.Linde,A.Buzo.and R.M.Gray,An Algorithm for Vector Quantizer Design, IEEE Trans.Commun.,vol.28,pp.84-95,Jan.1980
【非特許文献3】
A.Gersho and R.M.Gray:Vector Quantization and Signal Compression,Kluwer Academic Publishers,1992
【非特許文献4】
G.R.Canta,G.Poggi,Kronecker-product gain-shape vector quantization for multispectral and hyperspectral image coding,IEEE Transactions on Image Processing,vol.7,pp.668-678,May 1998
【0020】
【発明が解決しようとする課題】
従来の技術は,分離近似の構成とベクトル量子化を2つの異なる独立な最適化問題としてとらえて符号化を行うことが大きな特徴である。従い,ベクトル量子化を行う前に分離近似を特異値分解によって構成しておく。このような処理が行われることによって,従来の技術には以下の2点の課題が生じる。
【0021】
一つ目の課題(従来技術の課題▲1▼)は,ベクトル量子化によって生じる誤差を考慮せずに,特異値分解の再帰的な処理によって全ての基底信号と重み係数信号を求める点にある。
【0022】
具体的には,特異値分解の再帰的な処理ループのk回目のループで求まった基底信号と重み係数信号は,それ以前に求められた基底信号と重み係数信号をベクトル量子化した際の誤差を考慮していない。つまり,k回目のループでは,それ以前に求められた基底信号と重み係数信号にベクトル量子化されていない状態で符号化対象信号を近似した際の誤差信号を生成し,これらの誤差信号に対して二乗誤差を小さくするような基底信号と重み係数信号を求める。
【0023】
前述の通り,特異値分解の性質上,一回目,二回目に求まる近似項には大きなエネルギーが集中する。従い,これらの近似項のベクトル量子化で大きな誤差を生じた場合には,全体の圧縮誤差に大きなウェイトを占める。ベクトル量子化で生じる誤差を補償するように近似項を求めることによって,より圧縮誤差を小さくでき,圧縮効率の向上を実現できると考えられる。
【0024】
二つ目の課題(従来技術の課題▲2▼)は,ベクトル量子化の適用方法にある。ベクトル量子化において圧縮誤差を小さくするうえで最大の効果を得るには,コードワードの選択とコードブックの学習のいずれにおいても圧縮誤差(例えば,符号化対象信号群と,基底信号と重み係数信号で生成した近似信号の間の二乗誤差)を評価関数として最適化を行う必要がある。しかし,従来法におけるベクトル量子化,すなわちコードワードの選択とコードブックの学習は,特異値分解で求まった重み係数信号と基底信号のそれぞれに対する二乗誤差を評価関数として行われる。圧縮誤差そのものを評価関数としてベクトル量子化を適用するような仕組みを構成したほうが,圧縮誤差を小さくできると考えられる。
【0025】
本発明は上記の問題の解決を図り,分離近似とベクトル量子化を用いた情報源の符号化において,圧縮誤差をより小さくして圧縮効率を向上させることを目的とする。
【0026】
【課題を解決するための手段】
本発明は上記目的を達成するために,以下に述べるような方法を採用している。
【0027】
第1の発明は,符号化対象の,複数の信号の集合である符号化対象信号群に対して,符号化対象信号群の各々の信号を基底信号の重み付け和で近似,あるいは誤差なく表現するため,インデックス情報が対応付けられた信号を表すコードワードの集合である基底信号と重み係数のコードブックから,それぞれ基底信号のコードワードと,重み係数で構成される重み係数信号のコードワードを選択し,選択された基底信号のコードワードと重み係数信号のコードワードに対応するインデックス情報を符号化する,情報源の符号化方法であって,符号化対象信号群または生成された誤差信号群を入力信号群とし,前記基底信号と重み係数のコードブックから,入力信号群に対する基底信号のコードワードと重み係数信号のコードワードとを一組選択する選択ステップと,前記選択ステップで選択したコードワードが示す基底信号に,前記選択ステップで選択したコードワードが示す重み係数信号の各重み係数を乗じて作成される,複数の信号によって構成される近似信号群を生成する近似信号生成ステップと,入力信号群の各信号と近似信号群の各信号間の誤差信号によって構成される誤差信号群を生成する誤差信号生成ステップとを有し,生成された誤差信号群を入力信号群として,前記選択ステップ,前記近似信号生成ステップ,前記誤差信号生成ステップを所定の条件が満たされるまで繰り返すことを特徴とした情報源の符号化方法である。
【0028】
第2の発明は,第1の発明の選択ステップにおいて,入力信号群の各信号と,基底信号に重み係数信号の各重み係数を乗じて作成される信号との間の二乗誤差の和を最小にするように,基底信号のコードワードと重み係数信号のコードワードとを一組選択することを特徴とした情報源の符号化方法である。
【0029】
第3の発明は,符号化対象の,複数の信号の集合である符号化対象信号群に対して,符号化対象信号群の各々の信号を基底信号の重み付け和で近似,あるいは誤差なく表現するため,インデックス情報が対応付けられた信号を表すコードワードの集合である基底信号と重み係数のコードブックから,それぞれ基底信号のコードワードと,重み係数で構成される重み係数信号のコードワードを選択し,選択された基底信号のコードワードと重み係数信号のコードワードに対応するインデックス情報を符号化する,情報源の符号化方法であって,符号化対象信号群または生成された誤差信号群を入力信号群とし,前記基底信号のコードブックから,入力信号群に対する基底信号のコードワードを一つ選択する基底信号選択ステップと,重み係数信号のコードワードを,前記基底信号選択ステップで選択したコードワードが示す基底信号に固定したもとで,前記重み係数のコードブックから選択する重み係数信号選択ステップと,前記基底信号選択ステップで選択したコードワードが示す基底信号に,前記重み係数信号選択ステップで選択したコードワードが示す重み係数信号の各重み係数を乗じて作成される,複数の信号によって構成される近似信号群を生成する近似信号生成ステップと,入力信号群の各信号と近似信号群の各信号間の誤差信号によって構成される誤差信号群を生成する誤差信号生成ステップとを有し,生成された誤差信号群を入力信号群として,前記基底信号選択ステップ,前記重み係数信号選択ステップ,前記近似信号生成ステップ,前記誤差信号生成ステップを所定の条件が満たされるまで繰り返すことを特徴とした情報源の符号化方法である。
【0030】
第4の発明は,第3の発明の基底信号選択ステップにおいて,入力信号群の各信号と基底信号をそれぞれベクトルとして入力信号群の各信号と基底信号の内積を計算し,これらの内積値の二乗和を最大化する基底信号のコードワードを選択し,前記重み係数信号選択ステップでは,前記基底信号選択ステップで求められたコードワードが示す基底信号に重み係数信号の各重み係数を乗じて作成される信号と入力信号群の各信号に対する二乗誤差の和を最小にするように重み係数信号のコードワードを選択することを特徴とした情報源の符号化方法である。
【0031】
第5の発明は,第1から第4までのいずれかの発明において,複数の符号化対象信号群を学習データとし,基底信号と重み係数信号のコードワードを選択するための,インデックス情報が対応付けられた信号を表すコードワードの集合であるコードブックを作成する手順として,複数の符号化対象信号群または求められた誤差信号群を入力学習データとし,入力学習データによって基底信号のコードブックと重み係数信号のコードブックを学習する学習ステップと,前記学習ステップで作成されたコードブックを利用して,入力学習データに含まれる各信号群に対し,第1の発明,第2の発明のいずれかの選択ステップ,近似信号生成ステップ,誤差信号生成ステップを,あるいは,第3の発明,第4の発明のいずれかの基底信号選択ステップ,重み係数信号選択ステップ,近似信号生成ステップ,誤差信号生成ステップを,順に行うことによって入力学習データに含まれる各信号群に対する誤差信号群を求める誤差学習データ生成ステップとを有し,前記誤差学習データ生成ステップで求まった誤差信号群を入力学習データとして,前記学習ステップと前記誤差学習データ生成ステップとを所定の条件を満たすまで繰り返すことでコードブックを作成することを特徴とした情報源の符号化方法である。
【0032】
第6の発明は,第1から第4までのいずれかの発明において,複数の符号化対象信号群を学習データとし,基底信号と重み係数信号のコードワードを選択するための,インデックス情報が対応付けられた信号を表すコードワードの集合であるコードブックを作成する手順として,複数の符号化対象信号群または求められた誤差信号群を入力学習データとし,入力学習データによって基底信号のコードブックと重み係数信号のコードブックを学習する際に,入力学習データに対する平均二乗誤差を最適化の評価関数として学習する学習ステップと,前記学習ステップで作成されたコードブックを利用して,入力学習データに含まれる各信号群に対し,第1の発明,第2の発明のいずれかの選択ステップ,近似信号生成ステップ,誤差信号生成ステップを,あるいは,第3の発明,第4の発明のいずれかの基底信号選択ステップ,重み係数信号選択ステップ,近似信号生成ステップ,誤差信号生成ステップを,順に行うことによって入力学習データに含まれる各信号群に対する誤差信号群を求める誤差学習データ生成ステップとを有し,前記誤差学習データ生成ステップで求まった誤差信号群を入力学習データとして,前記学習ステップと前記誤差学習データ生成ステップとを所定の条件を満たすまで繰り返すことでコードブックを作成することを特徴とした情報源の符号化方法である。
【0033】
第7の発明は,符号化対象の,複数の信号の集合である符号化対象信号群に対して,符号化対象信号群の各々の信号を基底信号の重み付け和で近似,あるいは誤差なく表現するため,インデックス情報が対応付けられた信号を表すコードワードの集合である基底信号と重み係数のコードブックから,それぞれ基底信号のコードワードと,重み係数で構成される重み係数信号のコードワードとを選択し,選択された基底信号のコードワードと重み係数信号のコードワードに対応するインデックス情報を符号化する,情報源の符号化装置であって,符号化対象信号群,あるいは後述の誤差信号生成部で生成される誤差信号群を入力信号群とし,入力信号群を入力する信号群入力部と,入力信号群を記録する入力信号群メモリと,前記基底信号と重み係数信号のコードブックを記録するコードブックメモリと,
前記コードブロックメモリに記録された基底信号と重み係数信号のコードブックから,入力信号群に対する基底信号のコードワードと重み係数信号のコードワードとを一組選択する選択部と,前記選択部で選択したコードワードが示す基底信号に,前記選択部で選択したコードワードが示す重み係数信号の各重み係数を乗じて作成される,複数の信号によって構成される近似信号群を生成する近似信号生成部と,入力信号群の各信号と近似信号群の各信号の間の誤差信号によって構成される誤差信号群を生成する誤差信号生成部と,前記選択部で選択された基底信号のコードワードと重み係数信号のコードワードに対応するインデックス情報を符号化するインデックス符号化部とを備えることを特徴とした情報源の符号化装置である。
【0034】
第8の発明は,第7の発明の選択部において,入力信号群の各信号と,基底信号に重み係数信号の各重み係数を乗じて作成される信号との間の二乗誤差の和を最小にするように,基底信号のコードワードと重み係数信号のコードワードとを一組選択することを特徴とした情報源の符号化装置である。
【0035】
第9の発明は,符号化対象の,複数の信号の集合である符号化対象信号群に対して,符号化対象信号群の各々の信号を基底信号の重み付け和で近似,あるいは誤差なく表現するため,インデックス情報が対応付けられた信号を表すコードワードの集合である基底信号と重み係数のコードブックから,それぞれ基底信号のコードワードと,重み係数で構成される重み係数信号のコードワードとを選択し,選択された基底信号のコードワードと重み係数信号のコードワードに対応するインデックス情報を符号化する,情報源の符号化装置であって,符号化対象信号群,あるいは後述の誤差信号生成部で生成される誤差信号群を入力信号群とし,入力信号群を入力する信号群入力部と,入力信号群を記録する入力信号群メモリと,前記基底信号と重み係数信号のコードブックを記録するコードブックメモリと,前記コードブロックメモリに記録された基底信号のコードブックから,入力信号群に対する基底信号のコードワードを選択する基底信号選択部と,重み係数信号のコードワードを,前記基底信号選択部で求められたコードワードが示す基底信号に固定したもとで,前記重み係数のコードブックから選択する重み係数信号選択部と,前記基底信号選択部で選択したコードワードが示す基底信号に,前記重み係数信号選択部で選択したコードワードが示す重み係数信号の各重み係数を乗じて作成される,複数の信号によって構成される近似信号群を生成する近似信号生成部と,入力信号群の各信号と近似信号群の各信号の間の誤差信号によって構成される誤差信号群を生成する誤差信号生成部と,前記基底信号選択部で選択された基底信号のコードワード前記基底信号選択部で選択された重み係数信号のコードワードに対応するインデックス情報を符号化するインデックス符号化部とを備えることを特徴とした情報源の符号化装置である。
【0036】
第10の発明は,第9の発明の基底信号選択部において,入力信号群の各信号と基底信号とをそれぞれベクトルとして入力信号群の各信号と基底信号の内積を計算し,これらの内積値の二乗和を最大化する基底信号のコードワードを選択し,前記重み係数信号選択部において,前記基底信号選択部で求まったコードワードが示す基底信号に重み係数信号の各重み係数を乗じて作成される信号と入力信号群の各信号に対する二乗誤差の和を最小にするように重み係数信号のコードワードを選択することを特徴とした情報源の符号化装置である。
【0037】
第11の発明は,第7から第10までのいずれかの発明において,複数の符号化対象信号群を学習データとし,基底信号と重み係数信号のコードワードを選択するための,インデックス情報が対応付けられた信号を表すコードワードの集合であるコードブックを作成する手段として,複数の符号化対象信号群または前記誤差信号生成部で求められた全ての誤差信号群を入力学習データとして,学習データを入力する入力学習データ入力部と,入力学習データを記録する入力学習データメモリと,入力学習データによって基底信号のコードブックと重み係数信号のコードブックを学習する学習部とを備えることを特徴とした情報源の符号化装置である。
【0038】
第12の発明は,第7から第10までのいずれかの発明において,複数の符号化対象信号群を学習データとし,基底信号と重み係数信号のコードワードを選択するための,インデックス情報が対応付けられた信号を表すコードワードの集合であるコードブックを作成する手段として,複数の符号化対象信号群または前記誤差信号生成部で求められた全ての誤差信号群を入力学習データとして,学習データを入力する入力学習データ入力部と,入力学習データを記録する入力学習データメモリと,入力学習データによって基底信号のコードブックと重み係数信号のコードブックを,入力学習データに対する平均二乗誤差を最適化の評価関数として,学習する学習部とを備えることを特徴とした情報源の符号化装置である。
【0039】
第1,及び第7の発明はコードワードの選択とそのインデックス情報の符号化に関するものであり,従来技術の課題▲1▼に関する改善を得ることができる。具体的には,基底信号と重み係数信号を追加する際に,これまでコードブックから選択してきた基底信号と重み係数信号で近似信号を生成し,これによって符号化対象信号群を近似した際の誤差を入力信号群にフィードバックできる。つまり,ある近似項に関する基底信号と重み係数信号をコードブックから選択するときは,これまでに生じた全ての誤差を含んだ誤差信号に対して行う。
【0040】
これにより,圧縮誤差を従来の技術より小さくすることを期待できる。また,従来の技術と同様に圧縮データはプログレッシブな性質を有する。つまり,再帰的な処理ループで先に求まった近似項ほど大きなエネルギーが集中する傾向がある。しかし,従来の技術と異なり,最初の1,2回目のループで大きな誤差が生じても後に求められる近似項でその誤差を補償できる。なお,この符号化方法を実現するには,適切なコードブックが必要となるが,これは第5,第6,第11,第12の発明で実現可能である。第5,第6,第11,第12の発明によれば,各近似項に対応したコードブックは,それぞれが利用対象となる入力信号群の統計的な性質を反映したものとなる。
【0041】
第2,及び第8の発明はコードワードの選択とそのインデックス情報の符号化に関するものであり,圧縮誤差の評価関数として二乗誤差を採用した場合の,従来技術の課題▲2▼に関する改善を,コードワードの選択とそのインデックス情報の符号化に関して得ることができる。第1,及び第7の発明の符号化方法において符号化対象群の各信号に対する二乗誤差の総和を最小にする基底信号と重み係数をコードブックから選択するには,これまで選択された基底信号と重み係数信号による誤差信号に対する二乗誤差の総和を最小にする基底信号と重み係数をコードブックから選択すればよい。第2,及び第8の発明では,これを行う。なお,コードブックの作成は前記のとおり,第5,第6,第11,第12の発明で実現可能である。
【0042】
第3,及び第9の発明はコードワードの選択とそのインデックス情報の符号化に関するものであり,重み係数信号とは独立に基底信号のコードブックからの選択を行えるため,重み係数信号と基底信号のコードブックからの選択を両者の全組み合わせを考慮して選択を行うよりも,少ない計算量で従来技術の課題▲1▼と▲2▼に関する改善を実現できる。コードブックの作成は前記のとおり,第5,第6,第11,第12の発明で実現可能である。
【0043】
第4,及び第10の発明はコードワードの選択とそのインデックス情報の符号化に関するものであり,重み係数信号とは独立に,近似の際に符号化対象信号群に対する平均二乗誤差を小さくするような基底信号を選択するように,第3,及び第9の発明を実行できる。これは,入力信号群の各信号に対する内積値の二乗和を最大にするということは,その基底信号で近似を行った際の二乗誤差の総和を最小にすることと同じことだからである。また,重み係数信号の選択に関しては,符号化対象信号の各信号に対する二乗誤差の総和を最小にするような重み係数信号を選択するように,第3,及び第9の発明を実行できる。コードブックの作成は前記のとおり,第5,第6,第11,第12の発明で実現可能である。
【0044】
第1から第4の発明,第7から第10の発明はコードワードの選択とそのインデックス情報の符号化に関するものであるが,これらの発明で利用するコードブックは第5,第6の発明及び第11,第12の発明で実現できる。これらの発明によれば,各近似項に対応したコードブックは,それぞれが利用対象となる入力信号群の統計的な性質を反映したものとなる。特に,第6,第12の発明では,符号化対象のデータに対する平均二乗誤差を評価関数として各近似項に対応したコードブックを学習できる。
【0045】
【発明の実施の形態】
ここでは複数の画像ブロックで構成される画像ブロック群を符号化する際の本発明の実施の形態を示す。画像ブロックは矩形である必要はなく,ピクセルの集合であれば良い。この画像ブロック群の一例としては,Surface Light Field (SLF)が挙げられる。Surface Light Field とは,物体(物理的に存在する物体,あるいはCGで作成された仮想的な物体)に光源からの光が当り,反射した光線の輝度データのことである。つまり,物体を様々な方向から見たときの輝度データである。
【0046】
具体的には,f(m,n,θ,φ)のような,4つのパラメータの関数として表わされる。m,nとは物体の表面上での位置を表すパラメータで(通常は物体の形状はポリゴンモデルなどの幾何モデルで与えられている),θ,φはそれぞれ光線が放たれる方向を方位角と仰角で表したパラメータである。簡単な概念図を図1に示す。実際には,Surface Light Field は,f(m,n,θ,φ)を位置m,nと方向θ,φに関して標本化した4次元の離散信号として扱われ,対象オブジェクトを様々な方向から撮影した画像に対して位置と方向に関する補間を行うことによって各標本点に光線データがマッピングされる。
【0047】
なお,この形状を小さな領域に分割すると(形状がポリゴンモデルの場合には,例えばポリゴンに分割することが考えられる),分割されたある領域の関数値f(m,n,θ,φ)は,θ,φを固定すると2次元の関数になる。これは,一つの(ある領域の)画像ブロックと考えることができる。これを全てのθ,φの組み合わせに関して集めると,多数の画像ブロックを得られ,画像ブロック群を得る。この概念図を図2に示す。つまり,Surface Light Field では,形状の分割された各領域について一つの画像ブロック群を得る。本発明は,このような画像ブロック群を符号化するために利用されうる。
【0048】
なお,本発明ではベクトル量子化を用いるが,ベクトル量子化は,符号化(コードワードを選択してインデックスを符号化する処理)とコードブックの作成という2つの処理で構成される。前述の通り,コードブックの学習は,符号化対象のデータそのものを学習データとして行われる場合と,そうでない場合がある。Surface Light Field を扱った上記非特許文献1に記載された従来技術では,物体全体に渡る全ての画像ブロック群を学習データとしてコードブックを作成する。本発明では特に指定しないが,いずれの場合であっても符号化法とコードブックの作成方法は変わらない。また,発明の効果はいずれの場合も同様である。
【0049】
さらに,符号化対象のデータでコードブックを作成してコードブックも復号化側に渡されるような場合,コードブック自体に何らかの符号化が行われると考えられるが,これは本発明での処理に対して本質的な関連性はないため,この処理に関する説明は省略する。なお,以下の実施の形態では従来の技術と同様に,近似項,基底信号,重み係数信号について個別のコードブックを用意する。つまり,近似項の数をKとしたとき,基底信号と重み係数信号の各々に対してK個のコードブックを利用する。これらのコードブックに対するコードワード数の割り振りは,本発明の効果には関わらないため,これに関しては説明しない。
【0050】
画像ブロック群に含まれる画像ブロックは,M個のピクセルで構成されるとし,画像ブロック数はN個であるとする。また,画像ブロックの各ピクセル値を並べたM次元ベクトルをxn ,n=1,2,…,Nとし,画像ブロック群を以下の行列として表す。
【0051】
【数2】
Figure 0003977753
【0052】
本実施の形態では,画像ブロック群Xを符号化することを考える。
【0053】
図3に本発明の符号化装置の概要を示す。符号化装置1は,符号化対象の画像ブロック群X,あるいは後述の誤差ブロック群X(k) ,k=2,3,…,Nを記録して読み出す入力信号群メモリ11と,基底信号と重み係数信号のコードブックを記録して読み出すコードブックメモリ12と,基底信号コードワードと重み係数信号コードワードの選択を行う選択部13と,再帰的に基底信号コードワードと重み係数コードワードを選択していく中,これまでに選択された基底信号コードワードと重み係数信号コードワードを用いて近似画像ブロック群を生成する近似信号生成部14と,近似画像ブロック群と画像ブロック群Xの間の誤差画像ブロック群X(k) ,k=2,3,…,Nを生成する誤差信号生成部15と,画像ブロック群X,あるいは誤差画像ブロック群X(k) ,k=2,3,…,Nを入力信号群メモリ11に書き込む信号群入力部16と,選択された基底信号コードワードと重み係数信号コードワードのインデックス情報を符号化するインデックス符号化部17とを備える。
【0054】
以下に符号化装置1の動作例を示す。図4におおまかな処理フローが示されている。なお,この符号化装置1は,基底信号コードワードと重み係数信号コードワードとを一組ずつ,再帰的に選択していく。つまり,同じ処理を繰り返すようなループ構造を有しており,ループのたびに基底信号コードワードと重み係数信号コードワードとが一組選択される仕組みになっている。また,近似項の数Kは予め決められているとする。ここでは,基底信号と重み係数信号が選択される順番に基づき,第k基底信号,第k重み係数信号と呼ぶ(ただし,k=1,2,…,k)。
【0055】
コードブックは予め作成されており,コードブックメモリ12に記録されている。ここでは,前記の繰り返し処理における,k回目のループにおける処理(第k基底信号,第k重み係数信号に関するコードワード選択とインデックスの符号化を行う処理)について示す。まず,k−1回目の,ループの最後の処理において信号群入力部16に入力された画像ブロック群X(k) (この行列は符号化対象の画像ブロック群Xと同次元の行列であり,後述の誤差画像ブロック群にあたる)が入力信号群メモリ11に記録される。なお,k=1の場合には,ステップS1により,符号化対象の画像ブロック群XがX(1) として入力信号群メモリ11に予め入力されている。
【0056】
次に,k>Kになるまで,以下のステップS3〜S6を繰り返す(ステップS2)。ステップS3では,選択部13は画像ブロック群X(k) を入力信号群メモリ11から読み出し,コードブックメモリ12に格納されたコードブックを利用して基底信号コードワードと重み係数信号コードワードの選択を行う。
【0057】
なお,この選択処理に関しては2種類の方法(方法A,B)を示す。方法A,Bのいずれにおいても基底信号のコードブックはK個あり,それぞれのコードブックはBASIS_CBk 個(ただし,k=1,2,…,K)のコードワードを格納している。一方,重み係数信号のコードブックも同様にK個あり,それぞれのコードブックはCOEF_CBk 個(ただし,k=1,2,…,K)のコードワードを格納している。
【0058】
まず,方法Aにおける処理を示す。方法Aでは,画像ブロック群X(k) に対して二乗誤差の総和を最小にするように基底信号コードワードと重み係数信号コードワードの選択を行う。この処理は,画像ブロック群X(k) を符号化対象のデータとしたときの,上記非特許文献4に記載されたKronecker-Delta VQと同様の処理になる。なお,二乗誤差の総和は次式で与えられる。
【0059】
【数3】
Figure 0003977753
【0060】
ただし,Vk は第k重み係数信号に対応したコードブック内の任意のコードワードで,vk (n)はVk のn番目の要素(スカラ)であり,Sk は第k基底信号に対応したコードブック内の任意のコードワードである。また,xn (k) はX(k ) のn行目を列ベクトルとして表したものであり,(誤差)画像ブロック群を構成する一つの誤差画像ブロックのデータが入っている。
【0061】
すなわち,選択部13はコードブックメモリ12の重み係数信号と基底信号のコードブックから一つずつコードワードを読み出してMSE(X(k) ,Vk ,Sk )を計算する処理を,Vk とSk の全組み合わせについて行う。そして,MSE(X(k) ,Vk ,Sk )を最小にした重み係数信号コードワードと基底信号コードワード( *k *k )を見つけ出すことによってコードワードの選択を行う。
【0062】
一方,方法Bでは,画像ブロック群X(k) に対する基底信号コードワードを重み係数コードワードとは独立に選択する。つまり,組み合わせ的に最適な基底信号コードワードを探索しない。なお,基底信号は画像ブロック群X(k) 内の各画像ブロックとの内積の二乗和を最大化するようにして選択する。つまり,次式で与えられる評価関数に基づいた最大化を第k基底信号のコードブック内の全てのコードワードに関して行う。
【0063】
【数4】
Figure 0003977753
【0064】
これは,二乗誤差の総和MSE(X(k) ,Vk ,Sk )が次式のように展開でき,内積の二乗和(次式の第3項)を大きくするような基底信号コードワードが二乗誤差の総和MSE(X(k) ,Vk ,Sk )を小さくする,という考察に基づいて導かれた。
【0065】
【数5】
Figure 0003977753
【0066】
このようにして選択された基底信号コードワードを *k とし,重み係数信号コードワードは,基底信号コードワードを *k に固定した二乗誤差の総和MSE(X(k) ,Vk *k )を最小化するようにベクトル量子化され, *k が求まる。
【0067】
なお,以降の処理は方法A,Bにおいて共通である。 *k *k に対応したコードブック内でのインデックス情報は,インデックス符号化部17に入力され,ここでインデックス情報の固定長符号化あるいは可変長符号化が行われる。一方, *k *k は近似信号生成部14に入力され, *k *k をもとに近似画像ブロック *(k) *k *k T が生成され(ステップS4),これが誤差信号生成部15に入力される。誤差信号生成部15では,誤差画像ブロックX(k+1) =X(k) *(k) を生成する(ステップS5)。すなわち,誤差画像ブロックX(k+1) は,
【0068】
【数6】
Figure 0003977753
【0069】
によって得られる。
【0070】
次に,誤差画像ブロック群X(k+1) は信号群入力部16に入力され(ステップS6),第K基底信号と第K重み係数信号に対するコードワード選択とインデックス情報の符号化が完了するまでこの処理ループが繰り返される。
【0071】
以上の例では,予め定められた近似項の数であるK回ループを繰り返すものとしたが,ループの終了条件として,他の条件を設定することもできる。例えば,誤差信号生成部15が生成する誤差信号の大きさが所定の閾値以下になったときに,ループを終了するようにしてもよい。
【0072】
図5に本発明で用いるコードブック作成装置の概要を示す。コードブック作成装置2は,多数の画像ブロック群,あるいは後述の誤差画像ブロック群で構成される学習データを記録して読み出す入力学習データメモリ21と,作成したコードブックを記録して読み出すコードブックメモリ22と,入力学習データを利用してコードブックの学習を実行する学習部23と,k−1回目(ただし,k=2,3,…,N)のコードブックの作成ループで作成されているコードブックを利用して学習データを近似した際の誤差画像ブロック群を計算する誤差信号学習データ生成部24と,多数の画像ブロック群,あるいは誤差画像ブロック群で構成されるデータを入力学習データメモリ21に書き込む入力学習データ入力部25とを備える。
【0073】
次に,本発明で利用するコードブックの作成の実施例を示す。図6におおまかな処理フローが示されている。コードブックの作成も再帰的に同じ処理を繰り返すようなループ構造を有しており,ループのたびに基底信号と重み係数信号のコードブックが一組作成される仕組みになっている。その順序は,最初は第1基底信号と第1重み係数信号のコードブックが作成され,次は第2基底信号と第2重み係数信号のコードブックが作成されるなど,以下同様に続く。K組のコードブックを作成する場合はKループ繰り返すこととなる。
【0074】
なお,これらのコードブックは学習データを用いた学習によって作成されるが,各ループで学習データが更新される。学習データの更新については,後述する。ここで,学習データは,P個の画像ブロック群で構成されるとし,k回目のループにおける学習データをXp (k) ,p=1,2,…,Pと記述する。1回目の処理ループで用いられる学習データXp (1) , p=1,2,…,Pは元のデータであり,いかなる処理も施されていない。
【0075】
以下では,k回目のループでの処理について説明する。まず,k−1回目のループの処理で入力学習データ入力部25に入力された学習データXp (k) ,p=1,2,…,Pは,入力学習データ入力部25によって入力学習データメモリ21に記録される。ただし,1回目の処理ループの場合は,ステップS11により,Xp (1) , p=1,2,…,Pが入力学習データ入力部25に先立って入力されている。
【0076】
次に,k>Kになるまで,ステップS13〜S17を繰り返す(ステップS12)。ステップS13では,学習部23が学習データを入力学習データメモリ21から読み出し,第k基底信号のコードブックと第k重み係数信号のコードブックを作成する。
【0077】
なお,前述の符号化処理と同様に,ある一つの近似項に対応した基底信号のコードブックと重み係数信号コードブックの組の学習(すなわち,学習データに対する平均二乗誤差を評価関数としたコードブックの最適化)は,非特許文献4に記載されたKronecker-Product VQにおけるコードブックの学習と同様の方法で実行できる。詳細は非特許文献4にあるので,ここでは概要の説明のみにとどめる。
【0078】
基底ベクトルと重み係数ベクトルのいずれのコードブックの学習も,繰り返しループ構造を有した学習アルゴリズムである。そして,いずれのアルゴリズムも次のような性質を持つ。初期コードブックを予め作成しておき,ループのたびにコードブックが更新されていき,更新されるたびに学習データに対してベクトル量子化を行った際の平均二乗誤差が小さくなる。繰り返しは,平均二乗誤差の減少率がある関値より小さくなったときに終了される。初期コードブックの作成方法などは,従来のベクトル量子化で用いられている例えば非特許文献3に記載されているような方法を採用する。
【0079】
学習部23でコードブックの組が作成されると,学習データXp (k) ,p=1,2,…,Pと学習部23で作成されたコードブックが誤差信号学習データ生成部24に入力される。すると,学習データの各画像ブロック群Xp (k) に対して,学習部23で作成されたコードブックを利用し,符号化装置1の選択部13と同様の処理(方法A,Bのいずれか)が行われる。つまり,学習データの各画像ブロック群Xp (k) に対して一組の基底信号コードワードと重み係数コードワードが選択される(ステップS14)。これらを,それぞれ *k,p ,p=1,2,…,Pと, *k,p ,p=1,2,…,Pと表す。
【0080】
そして,選択されたコードワードによって,学習データの各画像ブロック群に対する近似画像ブロック群 *p (k) *k,p *k,p T が生成され(ステップS15),次のループにおいての学習データとなる誤差画像ブロック群Xp (k+1) が作成される(ステップS16)。これは次式で計算される。
【0081】
p (k+1) =Xp (k) *p (k) (7)
次に,Xp (k+1) ,p=1,2,…,Pが入力学習データ入力部25に入力され(ステップS17),k+1回目のループで学習データとして利用される。
【0082】
〔従来方法と本発明との比較〕
以下では,本発明の有効性を検証するため,非特許文献1に記載されているChenらの研究による従来技術,すなわち,特異値分解法による分離近似(分離展開)とベクトル量子化を組み合わせて Surface Light Field(SLF)の圧縮を行う従来方法と,本発明とを比較して説明する。
【0083】
従来方法では,まず特異値分解法によって良好な分離近似が可能な基底画像と重み係数画像を求めて分離近似を構成しておく。そして,これらの基底画像と重み係数画像をベクトル量子化する。ここでのベクトル量子化は,具体的には以下の方法で行われる。本発明の場合と同様に,コードブックは各近似項について,そして重み係数画像と基底画像について個別のものが利用される。
【0084】
それぞれのコードブックの作成は,対象オブジェクト全体にわたる各々のSLFデータ(形状が小領域に分割されている)に対して特異値分解法を適用し,各々の基底画像と重み係数画像を求める。そして,これらの基底画像と重み係数画像を学習データとし,基底画像と重み係数画像のそれぞれに対する二乗誤差を評価関数としたコードブックの最適化を,LBGアルゴリズムによって行う。そして,コードワードの選択も基底信号と重み係数のそれぞれに対する二乗誤差を評価関数として行う。
【0085】
つまり従来方法では,分離近似の構成とベクトル量子化を2つの異なる最適化問題(符号化対象信号群に対する二乗誤差の総和を最小にする分離近似を求める問題と基底信号と重み係数信号に対する誤差を小さくするベクトル量子化の問題)としてとらえて圧縮を行うことが大きな特徴である。これにより,従来方法では,以下のような問題が生じる。
【0086】
従来方法は,特異値分解を利用しているため,本発明と同様に基底画像と重み係数画像を再帰的に求めることによってプログレッシブな圧縮データを得ている。しかし,従来方法では,ベクトル量子化の前に特異値分解で分離近似を構成してしまうため,第k近似項に対応した基底画像と重み係数画像は第1から第k−1近似項においてべクトル量子化で生じた誤差を考慮して求めることができない。
【0087】
一方,本発明では,分離近似とベクトル量子化を統一的に行うことによって,近似項を追加する際には,これまでの近似項で生じた誤差は全て補償する仕組みになっている。
【0088】
ベクトル量子化において圧縮誤差を小さくするうえで最大の効果を得るには,コードワードの選択とコードブックの学習のいずれにおいても圧縮誤差(例えば,符号化対象信号群と,基底信号と重み係数信号で生成した近似信号の間の二乗誤差)を評価関数として最適化を行う必要がある。しかし,従来方法におけるべクトル量子化,すなわちコードワードの選択とコードブックの学習は,特異値分解で求まった重み係数信号と基底信号のそれぞれに対する二乗誤差を評価関数として行われる。圧縮誤差そのものを評価関数としてべクトル量子化を適用するような仕組みを構成したほうが,圧縮誤差を小さくできると考えられる。
【0089】
なお,すでに求められたk個の近似項に対する基底画像と重み係数画像を固定して,第k+1近似項に対応した基底画像と重み係数画像を求めるという前提のもとでは,誤差信号(前述の行列X(k) の各列に対応する)に対する二乗誤差を最小にすることと,SLFに対する二乗誤差を最小にすることとは等価である。そこで,本発明では,誤差信号に対する二乗誤差の最小化に基づくベクトル量子化を導入することで,ベクトル量子化の効果を高めるというアプローチを取っている。
【0090】
本発明におけるこれらの改善の効果を,従来方法との性能比較を行う実験によって確認し,本発明のアプローチの有効性を検証した。
【0091】
実験は,約4000個および約7000個の頂点からなり,3角形ポリゴンで構成される2つのモデルに対して行った。同様な結果が得られたので,以下では,約4000個のモデルに対して行った例を取り上げて説明する。SLFは281枚の画像により生成され,方向と位置パラメータの標本化方法と各標本点におけるSLFの値を求めるための補間は,非特許文献1に示されているChenらの方法を用いた。なお,ここでは各3角形パッチは3〜15個の標本点からなり,方向パラメータに関する標本点は64点からなる。
【0092】
形状の小領域への分割は,Chenらの研究におけるvertex−centeredという方法で行った。この分割法では,各分割がオーバーラップするが,圧縮後のポリゴン間での境界が見えにくいというメリットがある。具体的には,頂点を共有する3角形によって構成される領域を一つの小領域とする。つまり,各頂点において小領域が作成され,各々についてSLF−Xが取得される。より詳細な説明に関しては非特許文献1を参照されたい。なお,このような分割を行うと,小領域内の位置パラメータの数(つまり,Mの大きさ)は複数存在する。したがって,各頂点を位置パラメータの数に応じて分類し,各々の分類に対して個別の基底画像のコードブックを利用した。データ形式としては,各原色(R,G,B)に関して8ビットの精度で輝度を表現しており,各原色に対して独立に,本発明および従来方法を適用する。
【0093】
なお,従来方法では,特異値分解に先立ち次式で与えられる平均画像xA
A =Σxi /N (Σはi=1からNまでの和)
を各xi から引いておく。この処理は本発明では不要であるが,本実験では基底画像を求めるプロセスの比較をより簡単にするため,本発明と従来方法のいずれにおいても平均画像を算出し,これに通常のベクトル量子化を適用する。ただし,本発明においては圧縮誤差を補償していくアプローチをとるため,ベクトル量子化された平均画像による残差信号に対して本発明を適用する。
【0094】
圧縮性能の評価尺度としては,SLFに対するPSNRを次式で定義し,各原色について計算する。ただし,mseは全データに関する圧縮誤差信号の二乗平均である。
【0095】
【数7】
Figure 0003977753
【0096】
実験結果は,図7および図8に示すとおりであった。図7に示されている実験結果は,第1近似項(従来方法では,最も特異値が大きい近似項)のみを利用して圧縮を行った場合のものである。
【0097】
横軸の圧縮率は,圧縮データの情報量をSLFの情報量で割った値であり,縦軸は,R信号のPSNRである。圧縮データの情報量は,コードブックの情報量(各コードワードの要素はSLFと同様に8ビット精度の輝度で表現されている)と選択されたコードワードのインデックスの情報量(インデックスは固定長符号化されている)の和である。G信号,B信号に関しては同様の傾向が見られたために省略してある。
【0098】
一方,図8は,近似項を増やした際のPSNRの振る舞いを示す実験結果を示している。これは,従来方法と本発明のいずれも同じ圧縮率での比較になっている。各コードブックに対するコードワード数の割り振りを変更しながら様々な実験を行ったが,いずれの場合も同様の傾向が見られたため,ここでは結果の一例を示した。横軸が近似項の数で,縦軸がR信号のPSNRである(ここでも,G信号,B信号については,同様の結果が得られたので省略している)。
【0099】
図7,図8のいずれにおいても圧縮効率の向上が見られていることが確認できた。図8では,近似項を増やすごとにPSNRの差が開く傾向がある。これは,従来方法では近似項を追加する際にベクトル量子化で生じた誤差を補償しないが,本発明では以前に生じた誤差の全てを補償するためである。
【0100】
【発明の効果】
本発明では,特異値分解などの方法によって予め分離近似を構成せず,基底信号と重み係数のコードワードの選択とコードブックの学習を符号化対象信号群に対する圧縮誤差を評価関数として行う。これにより,従来技術の課題▲1▼と,課題▲2▼によって生じる問題は,本発明では生じない。したがって,本発明によれば,圧縮誤差をより小さくすることができ,圧縮効率の向上を得ることを期待できる。
【図面の簡単な説明】
【図1】 Surface Light Field の説明図である。
【図2】 Surface Light Field での画像ブロック群を示す図である。
【図3】符号化装置の構成を示す図である。
【図4】符号化方法のフローチャートである。
【図5】コードブック作成装置の構成を示す図である。
【図6】コードブック作成方法のフローチャートである。
【図7】本発明と従来方法とを比較するための実験結果を示す図である。
【図8】本発明と従来方法とを比較するための実験結果を示す図である。
【符号の説明】
1 符号化装置
2 コードブック作成装置
11 入力信号群メモリ
12 コードブックメモリ
13 選択部
14 近似信号生成部
15 誤差信号生成部
16 信号群入力部
17 インデックス符号化部
21 入力学習データメモリ
22 コードブックメモリ
23 学習部
24 誤差信号学習データ生成部
25 入力学習データ入力部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique for efficiently encoding digital signals such as sound and images. In particular, the present invention relates to a method for encoding an information source in which a plurality of signals having similar waveforms are efficiently encoded and the encoded data has progressiveness.
[0002]
[Prior art]
As an effective encoding method when a plurality of digital signals such as speech and images are given, there is a method combining Separable Approximation and vector quantization. For example, in Non-Patent Document 1, the luminance data of the surface of the shape of the three-dimensional object, called surface light field data, is compressed by this encoding method. According to this method, data compression is performed, and at the same time, encoded data has a progressive property. In addition, it has the feature that decoding can be performed at high speed, and rendering can be performed at high speed when used in Surface Light Field.
[0003]
In the following, first, each of Separable Approximation and vector quantization will be described, and then a conventional technique combining them will be described. In the following description, a finite-length digital signal may be described as a vector. All vectors are column vectors and ATWhen T is added to the upper right of the symbol A representing a vector or matrix as in the above, it means that the transposition of the vector or matrix is represented.
[0004]
In the separation approximation, one or more base signals are determined for a plurality of finite-length digital signals to be encoded (a set of these signals is referred to as an encoding target signal group). Then, each signal of the encoding target signal group is approximated by a weighted sum of the base signals. This means an approximation such as:
[0005]
[Expression 1]
Figure 0003977753
[0006]
Here, X is a matrix of N rows and M columns in which each signal of the encoding target signal group is entered in a row, and SkIs an M-dimensional vector basis signal (here, K basis signals are defined for a group of encoded signals). -Way, VkIs an N-dimensional vector whose element is a weighting factor multiplied by the base signal in the approximation, and is called a weighting factor signal.
[0007]
If the error caused by approximation can be reduced with a few basis signals, the amount of information can be greatly reduced. In addition, the basis is such that energy is concentrated on a specific base signal and weight coefficient signal pair (a base signal and weight coefficient signal pair corresponding to the same k in equation (1) is hereinafter referred to as an approximate term). If the signal can be configured, a progressive data structure can be obtained. In other words, good approximation is possible even if the encoding target signal group is approximated only by the approximate term where energy is concentrated.
[0008]
As described above, there is a singular value decomposition method as a classic method for obtaining an optimal combination of a base signal and a weighting factor signal in terms of reduction of information amount and progressive property, which has been used conventionally. In the singular value decomposition, a base signal and a weight coefficient signal for constructing a separation approximation are obtained by the following recursive processing.
[0009]
First, a base signal and a weight coefficient signal are obtained so as to minimize the sum of square errors for each signal of the encoding target signal group when approximated with only one approximate term. Then, an approximate signal is generated from the base signal and the weighting factor signal obtained here, and an error signal for each signal in the encoding target signal group is obtained. Then, a group of these error signals is defined as an error signal group, and then a base signal and a weight coefficient signal are obtained one by one so as to minimize the sum of square errors for each signal in the error signal group.
[0010]
As a result, a base signal and a weight coefficient signal for two approximate terms are obtained. Thereafter, an approximate signal is generated from the base signal and weighting factor signal obtained so far, an error signal for each signal of the signal group to be encoded is obtained, and one base signal and one weighting factor signal are obtained for the error signal group. By repeating the process of obtaining each one, a separation approximation with a desired number of approximate terms is formed.
[0011]
On the other hand, vector quantization is a digital signal encoding method. A detailed description of vector quantization can be found in Non-Patent Document 3, for example. In vector quantization, the encoding side and the decoding side hold a set of digital signals called a codebook. A signal in the code book is called a code word, and an index is assigned to each code word. The encoding side selects a code word for the signal to be encoded and encodes the index.
[0012]
The code word is selected based on some evaluation function such as a square error between the signal to be encoded and the code word. That is, when the evaluation function is a square error, a code word that minimizes the square error with respect to the signal to be encoded is selected and its index is encoded. The decoding side decodes the index, and obtains a decoded signal by referring to the code word corresponding to the index from the code book.
[0013]
In order to perform efficient coding by vector quantization, it is necessary to create a codebook that can perform good coding when vector quantization is actually performed. That is, a code book that reflects the statistical properties of the signal to be encoded is required. For this, a learning algorithm that applies a large number of data as learning data and optimizes a code book related to an evaluation function (for example, square error) used in vector quantization is applied. A typical example of such a learning algorithm is the LBG algorithm described in Non-Patent Document 2.
[0014]
Note that the learning data does not necessarily have to be encoded data. However, better coding is possible by learning with data having the same statistical properties as the signal to be coded. If there are many signals to be encoded, it is possible to create a codebook using these (or part of them) as learning data. In this case, it is necessary to pass the encoded data of the index and the codebook to the decoding. There is. On the other hand, the code book is created with data different from the signal to be encoded, and the same code book may be provided in advance on the encoding side and the decoding side. In this case, only the encoded data of the index is sent to the decoding side.
[0015]
In the conventional technique described in Non-Patent Document 1, the encoding target signal group is encoded by combining separation approximation by singular value decomposition and vector quantization. That is, first, a base signal and a weight coefficient signal that can be satisfactorily separated by a singular value decomposition method are obtained, and a separation approximation is configured. These base signals and weight coefficient signals are vector quantized. The vector quantization here is specifically performed by the following method.
[0016]
A separate codebook is used for each approximate term and for the weighting factor signal and the basis signal. Each code book is created by applying a singular value decomposition method to each of a large number of encoding target signal groups to obtain respective base signals and weight coefficient signals. Then, the LBG algorithm is used to optimize the codebook using these base signals and weighting coefficients as learning data and using the square error for each of the base signals and weighting coefficients as an evaluation function.
[0017]
The selection of the code word is also performed using the square error for each of the base signal and the weighting coefficient as an evaluation function. In other words, in the conventional technique, the structure of separation approximation and vector quantization are divided into two different optimization problems (the problem of obtaining a separation approximation that minimizes the sum of square errors for the signal group to be coded, the basis signal, and the weight coefficient signal). A major feature is that encoding is performed as a problem of vector quantization that reduces errors.
[0018]
On the other hand, when receiving the encoded data, the decoding side decodes the index information and reads the base signal and the weight coefficient signal corresponding to the index from the code book. Then, using the base signal and the weight coefficient signal obtained in this way, a decoded signal is obtained based on the equation (1). Note that, as a conventional technique related to the creation of the code book, there is a technique described in Non-Patent Document 4 below, for example.
[0019]
[Non-Patent Document 1]
Wei-Chao Chen, Jean-Yves Bouguet, Michael H. Chu, Radek Grzeszczuk, Light Field Mapping: Efficient Representation and Hardware Rendering of Surface Light Fields. ACM Transactions on Graphics. 21 (3), pp. 447-456, 2002
[Non-Patent Document 2]
Y. Linde, A. Buzo. And R. M. Gray, An Algorithm for Vector Quantizer Design, IEEE Trans.Commun., Vol.28, pp.84-95, Jan. 1980
[Non-Patent Document 3]
A. Gersho and R. M. Gray: Vector Quantization and Signal Compression, Kluwer Academic Publishers, 1992
[Non-Patent Document 4]
G.R.Canta, G. Poggi, Kronecker-product gain-shape vector quantization for multispectral and hyperspectral image coding, IEEE Transactions on Image Processing, vol. 7, pp. 668-678, May 1998
[0020]
[Problems to be solved by the invention]
The conventional technique is characterized in that encoding is performed by regarding the configuration of separation approximation and vector quantization as two different independent optimization problems. Therefore, the separation approximation is constructed by singular value decomposition before vector quantization. By performing such processing, the following two problems arise in the conventional technology.
[0021]
The first problem (prior art problem (1)) is to obtain all base signals and weighting factor signals by recursive processing of singular value decomposition without considering errors caused by vector quantization. .
[0022]
Specifically, the basis signal and the weighting factor signal obtained in the k-th loop of the recursive processing loop of the singular value decomposition are the errors caused by vector quantization of the basis signal and the weighting factor signal obtained before that time. Is not considered. In other words, in the k-th loop, an error signal is generated when the signal to be encoded is approximated in a state in which the base signal and the weighting coefficient signal obtained before that are not vector-quantized. Thus, a base signal and a weight coefficient signal that reduce the square error are obtained.
[0023]
As described above, due to the nature of singular value decomposition, a large amount of energy is concentrated in the approximate terms found in the first and second rounds. Therefore, when a large error occurs in the vector quantization of these approximate terms, a large weight is occupied in the entire compression error. It is considered that by obtaining an approximate term so as to compensate for an error caused by vector quantization, the compression error can be further reduced and the compression efficiency can be improved.
[0024]
The second problem (prior art problem (2)) lies in the application method of vector quantization. In order to obtain the maximum effect in reducing the compression error in vector quantization, the compression error (for example, the encoding target signal group, the base signal, and the weighting factor signal is used in both codeword selection and codebook learning. It is necessary to perform optimization by using the square error between the approximate signals generated in (1) as an evaluation function. However, vector quantization in the conventional method, that is, codeword selection and codebook learning, is performed using the square error for each of the weight coefficient signal and the base signal obtained by singular value decomposition as an evaluation function. It is considered that the compression error can be reduced by configuring a mechanism that applies vector quantization using the compression error itself as an evaluation function.
[0025]
An object of the present invention is to solve the above problems and to reduce the compression error and improve the compression efficiency in the coding of the information source using separation approximation and vector quantization.
[0026]
[Means for Solving the Problems]
In order to achieve the above object, the present invention employs the following method.
[0027]
  In the first invention, for each signal group to be encoded, which is a set of a plurality of signals to be encoded, each signal of the target signal group is approximated by a weighted sum of base signals or expressed without error. Therefore, the signal associated with the index informationFrom the codebook of the basis signal and weighting factor that are sets of codewords representingBasis signalCodewordAnd a weighting factor signal consisting of weighting factorsCodewordAnd select the basis signal selectedCodewordAnd weight factor signalCodewordAn encoding method of an information source for encoding index information corresponding to a signal group to be encodedOr generated error signalsIs an input signal group,From the codebook of the basis signal and weighting factor,Basis signal for input signal groupCodewordAnd weight factor signalCodeword andSelect a pairSelectionSelection step,SaidSelected in selection stepCodeword indicatesTo base signal, Indicated by the codeword selected in the selection stepAn approximate signal generation step for generating an approximate signal group composed of a plurality of signals created by multiplying each weight coefficient of the weight coefficient signal, and an error signal between each signal of the input signal group and each signal of the approximate signal group An error signal generation step for generating an error signal group constituted by:Generated withUsing the error signal group as the input signal group,SaidSelection step,SaidApproximate signal generation step,SaidError signal generation stepPredeterminedThis is an information source encoding method characterized by repeating until a condition is satisfied.
[0028]
  In the second invention, in the selection step of the first invention, the sum of square errors between each signal of the input signal group and a signal created by multiplying each weighting factor of the weighting factor signal by the base signal is minimized. The basis signalCodewordAnd weight factor signalCodewordIs a method of encoding an information source characterized by selecting a set of.
[0029]
  According to a third aspect of the present invention, for each encoding target signal group that is a set of a plurality of signals to be encoded, each signal of the encoding target signal group is approximated by a weighted sum of base signals or expressed without error. Therefore, the signal associated with the index informationFrom the codebook of the basis signal and weighting factor that are sets of codewords representingBasis signalCodewordAnd a weighting factor signal consisting of weighting factorsCodewordAnd select the basis signal selectedCodewordAnd weight factor signalCodewordAn encoding method of an information source for encoding index information corresponding to a signal group to be encodedOr generated error signalsIs an input signal group,From the basis signal codebook,Basis signal for input signal groupOne codewordBase signal selection step to be selected and weight coefficient signalCodeword,SaidIn the base signal selection stepSelected code word indicatesWith the base signal fixedFrom the codebook of the weighting factorThe weighting factor signal selection step to select and the previousRegisterBottom signal selection stepThe base signal indicated by the code word selected inWeight coefficient signal selection stepIndicated by the codeword selected inAn approximate signal generation step for generating an approximate signal group composed of a plurality of signals created by multiplying each weight coefficient of the weight coefficient signal, and an error signal between each signal of the input signal group and each signal of the approximate signal group An error signal generation step for generating an error signal group constituted by:Generated withUsing the error signal group as the input signal group,SaidBase signal selection step,SaidA weighting factor signal selection step;SaidApproximate signal generation step,SaidError signal generation stepPredeterminedThis is an information source encoding method characterized by repeating until a condition is satisfied.
[0030]
  According to a fourth invention, in the basis signal selection step of the third invention, each signal of the input signal group and the basis signalWhenEach as a vectorEnterCalculate the inner product of each signal of the force signal group and the basis signal, and the basis signal that maximizes the sum of squares of these inner product valuesCodewordSelectSaidWeight coefficient signal selection stepThen saidIn the base signal selection stepIndicated by the coded codewordA weighting factor signal that minimizes the sum of squared errors for signals generated by multiplying the base signal by each weighting factor of the weighting factor signal and each signal in the input signal groupCodewordThis is an information source encoding method characterized by selecting.
[0031]
  According to a fifth invention, in any one of the first to fourth inventions,Use multiple encoding target signal groups as training data,Basis signal and weighting factor signalFor selecting a codeword, Signal associated with index informationCodeword representingA codebook that is a set ofAs a procedure,Multiple target signal groupsOr the obtained error signal groupA learning step of learning the base signal codebook and the weighting factor signal codebook as input learning data, and each signal included in the input learning data using the codebook created in the learning step. For the group, the selection step of either the first invention or the second invention, the approximate signal generation step, the error signal generation step, or the base signal selection step of either the third invention or the fourth invention An error learning data generation step for obtaining an error signal group for each signal group included in the input learning data by sequentially performing a weighting factor signal selection step, an approximate signal generation step, and an error signal generation step. Using the error signal group obtained in the data generation step as input learning data, the learning step and the error learning data And the formation stepPredeterminedIt is an information source encoding method characterized by creating a code book by repeating until a condition is satisfied.
[0032]
  According to a sixth invention, in any one of the first to fourth inventions,Use multiple encoding target signal groups as training data,Basis signal and weighting factor signalCodewordSelectfor, Signal associated with index informationCodeword representingA codebook that is a set ofAs a procedure, Multiple encoding target signal groupsOr the obtained error signal groupAs input learning data, and based on the input learning data, the codebook of the base signal and the codebook of the weighting factor signalWhen learning,The mean square error for the input training data is used as an optimization evaluation function.StudyA learning step to learn, a selection step of either the first invention or the second invention, an approximate signal for each signal group included in the input learning data using the code book created in the learning step The generation step, the error signal generation step, or the base signal selection step, the weighting factor signal selection step, the approximate signal generation step, and the error signal generation step of any one of the third invention and the fourth invention are sequentially performed. An error learning data generation step for obtaining an error signal group for each signal group included in the input learning data, and using the error signal group obtained in the error learning data generation step as input learning data, the learning step and the error learning Data generation stepAnd the givenIt is an information source encoding method characterized by creating a code book by repeating until a condition is satisfied.
[0033]
  In a seventh aspect of the present invention, for each encoding target signal group that is a set of a plurality of signals to be encoded, each signal of the encoding target signal group is approximated by a weighted sum of base signals or expressed without error. Therefore, the signal associated with the index informationFrom the codebook of the basis signal and weighting factor that are sets of codewords representingBasis signalCodewordAnd a weighting factor signal consisting of weighting factorsCodewordAnd select the basis signal selectedCodewordAnd weight factor signalCodewordIs an information source encoding device that encodes index information corresponding to a signal group to be encoded or an error signal group generated by an error signal generation unit described later as an input signal group, An input signal group input unit, an input signal group memory for recording the input signal group,Codebook of the basis signal and weighting factor signalA codebook memory for recording
  From the code book of the basis signal and the weight coefficient signal recorded in the code block memory,Basis signal for input signal groupCodewordAnd weight factor signalCodeword andSelect a pairSelectionSelection part,SaidSelected in the selection partCodeword indicatesIn the base signal,The code word selected by the selection unit indicatesGenerate an approximate signal group consisting of multiple signals created by multiplying each weighting factor of the weighting factor signalNearSimilar signal generator, and generates an error signal group composed of error signals between each signal of the input signal group and each signal of the approximate signal groupMistakeDifference signal generator and previousSelectionBase signal selected by selectorCodewordAnd weight factor signalCodewordAnd an index encoding unit that encodes index information corresponding to the information source encoding apparatus.
[0034]
  According to an eighth aspect of the present invention, in the selection unit of the seventh aspect, the sum of square errors between each signal of the input signal group and a signal created by multiplying the base signal by each weight coefficient of the weight coefficient signal is minimized. The basis signalCodewordAnd weight factor signalCodeword andIt is an information source encoding device characterized by selecting one set.
[0035]
  In a ninth aspect of the present invention, each signal of the encoding target signal group is approximated by a weighted sum of base signals or expressed without error with respect to the encoding target signal group that is a set of a plurality of signals to be encoded. Therefore, the signal associated with the index informationFrom the codebook of the basis signal and weighting factor that are sets of codewords representingBasis signalCodewordAnd a weighting factor signal consisting of weighting factorsCodewordAnd select the basis signal selectedCodewordAnd weight factor signalCodewordIs an information source encoding device that encodes index information corresponding to a signal group to be encoded or an error signal group generated by an error signal generation unit described later as an input signal group, An input signal group input unit, an input signal group memory for recording the input signal group,Codebook of the basis signal and weighting factor signalA codebook memory for recordingFrom the code book of the basis signal recorded in the code block memory,Basis signal for input signal groupCodewordBase signal selection unit for selecting and weight coefficient signalCodeword,SaidObtained by the base signal selectorIndicated by the coded codewordWith the base signal fixedFrom the codebook of the weighting factorA weighting factor signal selection unit to select;SaidBasis signal selectorIndicated by the codeword selected inTo base signalThe code word selected by the weighting factor signal selection unit indicatesGenerate an approximate signal group consisting of multiple signals created by multiplying each weighting factor of the weighting factor signalNearSimilar signal generator, and generates an error signal group composed of error signals between each signal of the input signal group and each signal of the approximate signal groupMistakeDifference signal generator and previousBasis signalBase signal selected by selectorCodewordWhenSelected by the base signal selectorWeight coefficient signalCodewordAnd an index encoding unit that encodes index information corresponding to the information source encoding apparatus.
[0036]
  According to a tenth aspect of the present invention, in the base signal selection unit of the ninth aspect, each signal of the input signal group and the base signal are used as vectors.EnterCalculate the inner product of each signal of the force signal group and the basis signal, and the basis signal that maximizes the sum of squares of these inner product valuesCodewordSelectSaidIn the weight coefficient signal selector,SaidFound in the base signal selectorCodeword indicatesA weighting factor signal that minimizes the sum of squared errors for signals generated by multiplying the base signal by each weighting factor of the weighting factor signal and each signal in the input signal groupCodewordThis is an information source encoding device characterized by selecting.
[0037]
  An eleventh aspect of the invention is any one of the seventh to tenth aspects of the invention,Use multiple encoding target signal groups as training data,Basis signal and weighting factor signalCodewordSelectfor,Signal associated with index informationIs a set of codewords representingCode bookAs a means to createMultiple target signal groupsOr all error signals obtained by the error signal generatorAs input learning data, StudyEnter training dataEnterAn information source comprising: a force learning data input unit; an input learning data memory that records input learning data; and a learning unit that learns a code book of a base signal and a code book of a weighting coefficient signal from the input learning data This is an encoding device.
[0038]
  A twelfth aspect of the invention is any one of the seventh to tenth aspects of the invention,Use multiple encoding target signal groups as training data,Basis signal and weighting factor signalCodewordSelectfor,Index informationAssociatedsignalIs a set of codewords representingCode bookAs a means to createMultiple target signal groupsOr all error signal groups obtained by the error signal generatorAs input learning data, StudyAn input learning data input unit for inputting learning data, an input learning data memory for recording the input learning data, a codebook of a base signal and a codebook of a weight coefficient signal by the input learning data, and a mean square error with respect to the input learning data It is an information source encoding device including a learning unit for learning as an optimization evaluation function.
[0039]
The first and seventh inventions relate to the selection of codewords and the encoding of their index information, and can improve the problem (1) of the prior art. Specifically, when adding a base signal and a weighting factor signal, an approximate signal is generated from the base signal and the weighting factor signal that have been selected from the codebook so far, and the target signal group is approximated by this. The error can be fed back to the input signal group. In other words, when selecting a base signal and a weighting factor signal for an approximate term from the codebook, it is performed on an error signal including all errors that have occurred so far.
[0040]
As a result, the compression error can be expected to be smaller than that of the prior art. Further, like the conventional technology, the compressed data has a progressive property. That is, there is a tendency that a larger energy is concentrated in the approximate term obtained earlier in the recursive processing loop. However, unlike the conventional technique, even if a large error occurs in the first and second loops, the error can be compensated with an approximate term obtained later. In order to realize this encoding method, an appropriate codebook is required, which can be realized in the fifth, sixth, eleventh and twelfth inventions. According to the fifth, sixth, eleventh and twelfth inventions, the codebook corresponding to each approximate term reflects the statistical properties of the input signal group to be used.
[0041]
The second and eighth inventions relate to the selection of codewords and the encoding of their index information, and improvements related to the problem (2) of the prior art when a square error is adopted as an evaluation function for compression error, It can be obtained with respect to the selection of the code word and the encoding of its index information. In the encoding methods of the first and seventh inventions, the basis signal selected so far can be selected from the codebook by selecting a basis signal and a weighting factor that minimize the sum of square errors for each signal of the encoding target group. And a base signal and a weight coefficient that minimize the sum of square errors with respect to the error signal due to the weight coefficient signal may be selected from the code book. This is done in the second and eighth inventions. As described above, the creation of the code book can be realized by the fifth, sixth, eleventh and twelfth inventions.
[0042]
The third and ninth inventions relate to the selection of codewords and the encoding of the index information, and since the selection from the codebook of the base signal can be performed independently of the weighting factor signal, the weighting factor signal and the base signal Compared with the selection from the code book in consideration of all combinations of the two, improvements related to the problems {circle around (1)} and {circle around (2)} can be realized with a small amount of calculation. As described above, the creation of the code book can be realized by the fifth, sixth, eleventh and twelfth inventions.
[0043]
The fourth and tenth inventions relate to the selection of codewords and the encoding of their index information, and reduce the mean square error with respect to the encoding target signal group during approximation, independently of the weighting factor signal. The third and ninth inventions can be implemented so as to select a correct basis signal. This is because maximizing the sum of squares of inner product values for each signal of the input signal group is the same as minimizing the sum of square errors when approximation is performed with the base signal. Further, regarding the selection of the weighting factor signal, the third and ninth inventions can be implemented so as to select a weighting factor signal that minimizes the sum of square errors for each signal of the encoding target signal. As described above, the creation of the code book can be realized by the fifth, sixth, eleventh and twelfth inventions.
[0044]
The first to fourth inventions and the seventh to tenth inventions relate to the selection of codewords and the encoding of the index information. The codebooks used in these inventions are the fifth, sixth and This can be realized by the eleventh and twelfth inventions. According to these inventions, the codebook corresponding to each approximate term reflects the statistical properties of the input signal group to be used. In particular, in the sixth and twelfth inventions, a codebook corresponding to each approximate term can be learned using the mean square error for the data to be encoded as an evaluation function.
[0045]
DETAILED DESCRIPTION OF THE INVENTION
Here, an embodiment of the present invention when encoding an image block group composed of a plurality of image blocks is shown. The image block need not be rectangular, but may be a set of pixels. An example of this image block group is Surface Light Field (SLF). The surface light field is the brightness data of the reflected light beam when the light from the light source hits the object (physical object or virtual object created by CG). That is, the luminance data when the object is viewed from various directions.
[0046]
Specifically, it is expressed as a function of four parameters such as f (m, n, θ, φ). m and n are parameters representing the position of the object on the surface (usually the shape of the object is given by a geometric model such as a polygon model), and θ and φ are the azimuth angles in which light rays are emitted, respectively. And the parameters expressed in elevation. A simple conceptual diagram is shown in FIG. Actually, the Surface Light Field is treated as a four-dimensional discrete signal in which f (m, n, θ, φ) is sampled with respect to the positions m, n and the directions θ, φ, and the target object is photographed from various directions. Ray data is mapped to each sample point by performing interpolation with respect to position and direction on the obtained image.
[0047]
If this shape is divided into small areas (if the shape is a polygon model, for example, it may be divided into polygons), the function value f (m, n, θ, φ) of the divided area is , Θ, and φ are fixed, it becomes a two-dimensional function. This can be thought of as one (a region) image block. When this is collected for all combinations of θ and φ, a large number of image blocks can be obtained to obtain a group of image blocks. This conceptual diagram is shown in FIG. In other words, in Surface Light Field, one image block group is obtained for each divided region. The present invention can be used to encode such image block groups.
[0048]
In the present invention, vector quantization is used. Vector quantization is composed of two processes, encoding (processing for selecting a code word and encoding an index) and creation of a code book. As described above, the codebook learning may or may not be performed on the data to be encoded as learning data. In the prior art described in Non-Patent Document 1 dealing with Surface Light Field, a code book is created using all image block groups over the entire object as learning data. Although not specified in the present invention, the encoding method and the codebook creation method are not changed in any case. The effect of the invention is the same in any case.
[0049]
Furthermore, when a code book is created with data to be encoded and the code book is also passed to the decoding side, it is considered that some coding is performed on the code book itself, which is not included in the processing in the present invention. Since there is no essential relevance to this, explanation regarding this processing is omitted. In the following embodiments, individual codebooks are prepared for approximate terms, base signals, and weighting coefficient signals, as in the prior art. That is, when the number of approximate terms is K, K codebooks are used for each of the base signal and the weight coefficient signal. The allocation of the number of codewords for these codebooks is not related to the effect of the present invention and will not be described.
[0050]
An image block included in the image block group is assumed to be composed of M pixels, and the number of image blocks is N. In addition, an M-dimensional vector in which the pixel values of the image block are arranged is expressed as x.n, N = 1, 2,..., N, and the image block group is represented as the following matrix.
[0051]
[Expression 2]
Figure 0003977753
[0052]
In the present embodiment, it is considered that the image block group X is encoded.
[0053]
FIG. 3 shows an outline of the encoding apparatus of the present invention. The encoding apparatus 1 includes an image block group X to be encoded or an error block group X described later.(k), K = 2, 3,..., N for recording and reading out, a codebook memory 12 for recording and reading out a codebook of base signals and weighting factor signals, base signal codewords and weighting factor signals The selection unit 13 for selecting a code word and recursively selecting a base signal code word and a weighting factor code word while approximating using the base signal code word and the weighting factor signal code word selected so far An approximate signal generation unit 14 that generates an image block group, and an error image block group X between the approximate image block group and the image block group X(k), K = 2, 3,..., N, and an image block group X or error image block group X.(k), K = 2, 3,..., N into the input signal group memory 11, and an index encoding unit 17 that encodes the index information of the selected base signal codeword and weight coefficient signal codeword. With.
[0054]
An example of the operation of the encoding device 1 is shown below. FIG. 4 shows a rough processing flow. Note that the encoding device 1 recursively selects a base signal codeword and a weight coefficient signal codeword one by one. That is, it has a loop structure in which the same processing is repeated, and a set of a base signal codeword and a weight coefficient signal codeword is selected for each loop. Further, it is assumed that the number K of approximate terms is determined in advance. Here, based on the order in which the base signal and the weight coefficient signal are selected, they are referred to as the kth base signal and the kth weight coefficient signal (where k = 1, 2,..., K).
[0055]
The code book is created in advance and recorded in the code book memory 12. Here, a process in the k-th loop (a process of performing codeword selection and index encoding on the kth basis signal and the kth weighting coefficient signal) in the above iterative process will be described. First, the image block group X input to the signal group input unit 16 in the last process of the loop of the (k−1) th loop.(k)(This matrix is a matrix of the same dimension as the image block group X to be encoded and corresponds to an error image block group described later) is recorded in the input signal group memory 11. If k = 1, the image block group X to be encoded is changed to X in step S1.(1)As input to the input signal group memory 11 in advance.
[0056]
Next, the following steps S3 to S6 are repeated until k> K (step S2). In step S3, the selection unit 13 selects the image block group X.(k)Are read from the input signal group memory 11 and the base signal code word and the weighting factor signal code word are selected using the code book stored in the code book memory 12.
[0057]
For this selection process, two types of methods (methods A and B) are shown. In both methods A and B, there are K base signal codebooks, each of which is based on BASIS_CB.k(Where k = 1, 2,..., K) code words are stored. On the other hand, there are K codebooks for the weighting factor signal, and each codebook is COEF_CB.k(Where k = 1, 2,..., K) code words are stored.
[0058]
First, processing in Method A will be shown. In method A, image block group X(k)The base signal codeword and the weighting factor signal codeword are selected so as to minimize the sum of the square errors. This processing is performed by the image block group X(k)Is the same processing as the Kronecker-Delta VQ described in Non-Patent Document 4 above. The sum of squared errors is given by the following equation.
[0059]
[Equation 3]
Figure 0003977753
[0060]
However, VkIs an arbitrary codeword in the codebook corresponding to the kth weighting factor signal, and vk(N) is VkIs the nth element (scalar) of SkIs an arbitrary codeword in the codebook corresponding to the kth basis signal. Xn (k)Is X(k )The n-th row is represented as a column vector, and contains data of one error image block constituting the (error) image block group.
[0061]
That is, the selection unit 13 reads out codewords one by one from the codebook of the weight coefficient signal and the base signal of the codebook memory 12, and MSE (X(k), Vk, Sk) To calculate VkAnd SkFor all combinations. And MSE (X(k), Vk, Sk) To minimize the weighting factor signal codeword and the base signal codeword (*VkWhen*Sk) To select a codeword.
[0062]
On the other hand, in the method B, the image block group X(k)The base signal codeword for is selected independently of the weighting factor codeword. That is, the optimum base signal codeword is not searched for in combination. The base signal is the image block group X.(k)It is selected so as to maximize the square sum of the inner product with each image block. That is, maximization based on the evaluation function given by the following equation is performed for all codewords in the codebook of the kth basis signal.
[0063]
[Expression 4]
Figure 0003977753
[0064]
This is the sum of squared errors MSE (X(k), Vk, Sk) Can be expanded as in the following equation, and the basis signal codeword that increases the square sum of the inner product (the third term in the following equation) is the sum of the square errors MSE (X(k), Vk, Sk) Was made based on the consideration of making it smaller.
[0065]
[Equation 5]
Figure 0003977753
[0066]
The basis signal codeword selected in this way*SkAnd the weighting factor signal codeword is the base signal codeword*SkMSE (X(k), Vk,*Sk) Is vector quantized to minimize*VkIs obtained.
[0067]
The subsequent processes are common to the methods A and B.*VkWhen*SkThe index information in the codebook corresponding to is input to the index encoding unit 17, where fixed length encoding or variable length encoding of the index information is performed. on the other hand,*VkWhen*SkIs input to the approximate signal generator 14;*VkWhen*SkApproximate image block based on*X(k)=*Vk *Sk TIs generated (step S4) and input to the error signal generator 15. In the error signal generator 15, the error image block X(k + 1)= X(k)*X(k)Is generated (step S5). That is, error image block X(k + 1)Is
[0068]
[Formula 6]
Figure 0003977753
[0069]
Obtained by.
[0070]
Next, error image block group X(k + 1)Is input to the signal group input unit 16 (step S6), and this processing loop is repeated until code word selection and index information encoding for the Kth base signal and the Kth weight coefficient signal are completed.
[0071]
In the above example, the loop that is the predetermined number of approximate terms is repeated K times, but other conditions may be set as the loop termination condition. For example, the loop may be terminated when the magnitude of the error signal generated by the error signal generation unit 15 becomes a predetermined threshold value or less.
[0072]
FIG. 5 shows an outline of a code book creation apparatus used in the present invention. The code book creation device 2 includes an input learning data memory 21 for recording and reading learning data composed of a large number of image block groups or error image block groups described later, and a code book memory for recording and reading the created code book. 22, a learning unit 23 that performs code book learning using input learning data, and a k−1th (where k = 2, 3,..., N) code book creation loop. An error signal learning data generation unit 24 for calculating an error image block group when approximating learning data using a code book, and data composed of a number of image block groups or error image block groups are input to the learning data memory 21 and an input learning data input unit 25 to be written to 21.
[0073]
Next, an example of creating a code book used in the present invention will be described. FIG. 6 shows a rough processing flow. The creation of the code book also has a loop structure in which the same processing is repeated recursively, and a set of code books for the base signal and the weight coefficient signal is created for each loop. The order continues in the same manner, such as a code book for the first basis signal and the first weighting factor signal is created first, a code book for the second basis signal and the second weighting factor signal is created next. When creating K sets of codebooks, K loops are repeated.
[0074]
These codebooks are created by learning using learning data, but the learning data is updated in each loop. The update of learning data will be described later. Here, the learning data is assumed to be composed of P image block groups, and the learning data in the k-th loop is represented by Xp (k), P = 1, 2,..., P. Learning data X used in the first processing loopp (1), p = 1, 2,..., P are original data and are not subjected to any processing.
[0075]
Hereinafter, processing in the k-th loop will be described. First, the learning data X input to the input learning data input unit 25 in the k-1th loop processing.p (k), P = 1, 2,..., P are recorded in the input learning data memory 21 by the input learning data input unit 25. However, in the case of the first processing loop, in step S11, Xp (1), p = 1, 2,..., P are input prior to the input learning data input unit 25.
[0076]
Next, steps S13 to S17 are repeated until k> K (step S12). In step S13, the learning unit 23 reads the learning data from the input learning data memory 21, and creates a code book for the k-th basis signal and a code book for the k-th weight coefficient signal.
[0077]
As in the encoding process described above, learning of a set of a base signal codebook and a weighting factor signal codebook corresponding to one approximate term (that is, a codebook using the mean square error for the learning data as an evaluation function) Can be executed in the same manner as the codebook learning in Kronecker-Product VQ described in Non-Patent Document 4. Details are in Non-Patent Document 4, so only an overview is given here.
[0078]
The learning of both the basis vector and the weight coefficient vector codebook is a learning algorithm having an iterative loop structure. Each algorithm has the following properties. An initial codebook is created in advance, and the codebook is updated each time the loop is performed, and the mean square error when vector quantization is performed on the learning data every time the loop is updated is reduced. The iteration is terminated when the mean square error reduction rate is less than a certain value. For example, a method described in Non-Patent Document 3 that is used in conventional vector quantization is adopted as a method for creating an initial codebook.
[0079]
When a set of codebooks is created by the learning unit 23, learning data Xp (k), P = 1, 2,..., P and the code book created by the learning unit 23 is input to the error signal learning data generation unit 24. Then, each image block group X of the learning datap (k)On the other hand, the same processing (either method A or B) as that of the selection unit 13 of the encoding device 1 is performed using the code book created by the learning unit 23. That is, each image block group X of the learning datap (k)A set of base signal codewords and weight coefficient codewords are selected (step S14). These are respectively*Vk, p, P = 1, 2,..., P,*Sk, p, P = 1, 2,..., P.
[0080]
An approximate image block group for each image block group of the learning data is selected according to the selected code word.*Xp (k)=*Vk, p *Sk, p TIs generated (step S15), and the error image block group X that becomes learning data in the next loop is generated.p (k + 1)Is created (step S16). This is calculated as:
[0081]
Xp (k + 1)= Xp (k)*Xp (k)                (7)
Next, Xp (k + 1), P = 1, 2,..., P are input to the input learning data input unit 25 (step S17) and used as learning data in the k + 1-th loop.
[0082]
[Comparison between the conventional method and the present invention]
In the following, in order to verify the effectiveness of the present invention, a conventional technique described by Chen et al. Described in Non-Patent Document 1, that is, combining separation approximation (separation expansion) by singular value decomposition and vector quantization is combined. A conventional method for compressing Surface Light Field (SLF) will be described in comparison with the present invention.
[0083]
In the conventional method, first, a base image and a weight coefficient image that can be satisfactorily separated by a singular value decomposition method are obtained, and a separation approximation is configured. Then, the base image and the weight coefficient image are vector quantized. The vector quantization here is specifically performed by the following method. As with the present invention, separate codebooks are used for each approximate term and for the weighting factor image and the base image.
[0084]
Each code book is created by applying a singular value decomposition method to each SLF data (the shape is divided into small regions) over the entire target object to obtain each base image and weight coefficient image. Then, the LBG algorithm is used to optimize the codebook using the base image and the weight coefficient image as learning data and using the square error for each of the base image and the weight coefficient image as an evaluation function. The selection of the code word is also performed by using the square error for each of the base signal and the weighting coefficient as an evaluation function.
[0085]
In other words, in the conventional method, the configuration of separation approximation and vector quantization are divided into two different optimization problems (the problem of obtaining a separation approximation that minimizes the sum of square errors for the signal group to be encoded, and the errors for the base signal and the weight coefficient signal). The main feature is that compression is performed as a problem of vector quantization to be reduced. This causes the following problems in the conventional method.
[0086]
Since the conventional method uses singular value decomposition, progressive compressed data is obtained by recursively obtaining a base image and a weight coefficient image as in the present invention. However, in the conventional method, separation approximation is formed by singular value decomposition before vector quantization, so that the base image and the weight coefficient image corresponding to the kth approximation term are the same in the first to k−1th approximation terms. It cannot be obtained in consideration of the error caused by Kuttle quantization.
[0087]
On the other hand, in the present invention, separation approximation and vector quantization are unified so that when an approximate term is added, all errors generated in the previous approximate terms are compensated.
[0088]
In order to obtain the maximum effect in reducing the compression error in vector quantization, the compression error (for example, the encoding target signal group, the base signal, and the weighting factor signal is used in both codeword selection and codebook learning. It is necessary to perform optimization by using the square error between the approximate signals generated in (1) as an evaluation function. However, vector quantization in the conventional method, that is, codeword selection and codebook learning, is performed using the square error for each of the weight coefficient signal and the base signal obtained by singular value decomposition as an evaluation function. It is considered that the compression error can be reduced by configuring a mechanism that applies vector quantization using the compression error itself as an evaluation function.
[0089]
Note that an error signal (described above) is assumed on the assumption that the base image and the weighting coefficient image corresponding to the k + 1th approximate term are obtained by fixing the base image and the weighting coefficient image for the k approximate terms that have already been obtained. Matrix X(k)Minimizing the square error for (corresponding to each column) is equivalent to minimizing the square error for SLF. Therefore, in the present invention, an approach is taken to enhance the effect of vector quantization by introducing vector quantization based on minimization of the square error with respect to the error signal.
[0090]
The effects of these improvements in the present invention were confirmed by experiments comparing performance with conventional methods, and the effectiveness of the approach of the present invention was verified.
[0091]
The experiment was performed on two models consisting of approximately 4000 and approximately 7000 vertices and composed of triangular polygons. Since similar results were obtained, the following description will be made by taking an example performed on about 4000 models. The SLF is generated from 281 images, and the method of Chen et al. Shown in Non-Patent Document 1 is used for the sampling method of the direction and position parameters and the interpolation for obtaining the SLF value at each sample point. Here, each triangular patch consists of 3 to 15 sample points, and 64 sample points concerning the direction parameter.
[0092]
The shape was divided into small regions by a method called vertex-centered in the study of Chen et al. This division method has an advantage that each division overlaps but the boundary between polygons after compression is difficult to see. Specifically, an area composed of triangles sharing vertices is defined as one small area. That is, a small area is created at each vertex, and SLF-X is acquired for each. See Non-Patent Document 1 for a more detailed description. When such division is performed, there are a plurality of position parameters (that is, the magnitude of M) in the small area. Therefore, each vertex was classified according to the number of position parameters, and an individual base image codebook was used for each classification. As the data format, the luminance is expressed with 8-bit accuracy for each primary color (R, G, B), and the present invention and the conventional method are applied to each primary color independently.
[0093]
In the conventional method, the average image x given by the following equation prior to singular value decomposition:A,
xA= Σxi/ N (Σ is the sum from i = 1 to N)
Each xiPull it from. Although this processing is not necessary in the present invention, in this experiment, in order to make the comparison of the process for obtaining the base image easier, an average image is calculated in both the present invention and the conventional method, and this is used for normal vector quantization. Apply. However, in the present invention, the present invention is applied to a residual signal based on an average image subjected to vector quantization in order to take an approach for compensating for a compression error.
[0094]
As an evaluation measure of compression performance, PSNR for SLF is defined by the following equation and calculated for each primary color. Where mse is the root mean square of the compression error signals for all data.
[0095]
[Expression 7]
Figure 0003977753
[0096]
The experimental results were as shown in FIGS. The experimental results shown in FIG. 7 are obtained when compression is performed using only the first approximate term (in the conventional method, the approximate term having the largest singular value).
[0097]
The compression rate on the horizontal axis is a value obtained by dividing the information amount of the compressed data by the information amount of the SLF, and the vertical axis is the PSNR of the R signal. The information amount of the compressed data includes the information amount of the code book (the elements of each code word are expressed with luminance of 8-bit precision as in the SLF) and the information amount of the index of the selected code word (the index is a fixed length) (Encoded). The G signal and B signal are omitted because the same tendency is observed.
[0098]
On the other hand, FIG. 8 shows experimental results showing the behavior of PSNR when the approximate term is increased. This is a comparison at the same compression rate in both the conventional method and the present invention. Various experiments were carried out while changing the allocation of the number of codewords for each codebook. In all cases, the same tendency was observed, so an example of the results is shown here. The horizontal axis is the number of approximate terms, and the vertical axis is the PSNR of the R signal (again, the G signal and the B signal are omitted because similar results were obtained).
[0099]
It was confirmed that the compression efficiency was improved in both FIG. 7 and FIG. In FIG. 8, the PSNR difference tends to increase as the approximate term is increased. This is because the conventional method does not compensate for an error caused by vector quantization when an approximate term is added, but the present invention compensates for all errors that have occurred previously.
[0100]
【The invention's effect】
In the present invention, the separation approximation is not configured in advance by a method such as singular value decomposition, and the selection of the base word and the weight coefficient code word and the learning of the code book are performed using the compression error for the encoding target signal group as the evaluation function. Thus, the problems caused by the problems (1) and (2) of the prior art do not occur in the present invention. Therefore, according to the present invention, the compression error can be further reduced, and improvement in compression efficiency can be expected.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram of a Surface Light Field.
FIG. 2 is a diagram illustrating an image block group in a Surface Light Field.
FIG. 3 is a diagram illustrating a configuration of an encoding device.
FIG. 4 is a flowchart of an encoding method.
FIG. 5 is a diagram illustrating a configuration of a code book creation apparatus.
FIG. 6 is a flowchart of a code book creation method.
FIG. 7 is a diagram showing experimental results for comparing the present invention with a conventional method.
FIG. 8 is a diagram showing experimental results for comparing the present invention with a conventional method.
[Explanation of symbols]
1 Encoder
2 Codebook creation device
11 Input signal group memory
12 Codebook memory
13 Selector
14 Approximate signal generator
15 Error signal generator
16 Signal group input section
17 Index encoder
21 Input learning data memory
22 Codebook memory
23 Learning Department
24 Error signal learning data generator
25 Input learning data input section

Claims (14)

符号化対象の,複数の信号の集合である符号化対象信号群に対して,符号化対象信号群の各々の信号を基底信号の重み付け和で近似,あるいは誤差なく表現するため,インデックス情報が対応付けられた信号を表すコードワードの集合である基底信号と重み係数のコードブックから,それぞれ基底信号のコードワードと,重み係数で構成される重み係数信号のコードワードを選択し,選択された基底信号のコードワードと重み係数信号のコードワードに対応するインデックス情報を符号化する,情報源の符号化方法であって,
符号化対象信号群または生成された誤差信号群を入力信号群とし,前記基底信号と重み係数のコードブックから,入力信号群に対する基底信号のコードワードと重み係数信号のコードワードとを一組選択する選択ステップと,
前記選択ステップで選択したコードワードが示す基底信号に,前記選択ステップで選択したコードワードが示す重み係数信号の各重み係数を乗じて作成される,複数の信号によって構成される近似信号群を生成する近似信号生成ステップと,
入力信号群の各信号と近似信号群の各信号間の誤差信号によって構成される誤差信号群を生成する誤差信号生成ステップとを有し,
生成された誤差信号群を入力信号群として,前記選択ステップ,前記近似信号生成ステップ,前記誤差信号生成ステップを所定の条件が満たされるまで繰り返す
ことを特徴とする情報源の符号化方法。
Index information corresponds to the encoding target signal group, which is a set of multiple signals to be encoded, so that each signal in the encoding target signal group is approximated by the weighted sum of the base signals or expressed without error. basis from the code word base signal and the weighting factor codebook is a set of representing the Tagged signals, which select the code word of the baseband signal, respectively, the code words of the weighting coefficient signals constituted by weighting factors, are selected An information source encoding method for encoding index information corresponding to a codeword of a signal and a codeword of a weighting factor signal,
The coded signal group or generated error signal group as an input signal group, the baseband signal and from a codebook of weighting coefficients, a set selecting a codeword of codewords and the weight coefficient signal of the base signal to the input signal group A selection step to
Generates an approximate signal group composed of multiple signals created by multiplying the basis signal indicated by the code word selected in the selection step by each weight coefficient of the weight coefficient signal indicated by the code word selected in the selection step An approximate signal generation step,
An error signal generation step for generating an error signal group constituted by an error signal between each signal of the input signal group and each signal of the approximate signal group;
An information source encoding method, comprising: using the generated error signal group as an input signal group, repeating the selection step, the approximate signal generation step, and the error signal generation step until a predetermined condition is satisfied.
請求項1記載の情報源の符号化方法において,
前記選択ステップでは,入力信号群の各信号と,基底信号に重み係数信号の各重み係数を乗じて作成される信号との間の二乗誤差の和を最小にするように,基底信号のコードワードと重み係数信号のコードワードとを一組選択する
ことを特徴とする情報源の符号化方法。
The information source encoding method according to claim 1,
In the selection step, the codeword of the base signal is set such that the sum of square errors between each signal of the input signal group and a signal generated by multiplying the base signal by each weight coefficient of the weight coefficient signal is minimized. And a set of code words of the weighting factor signal are selected.
符号化対象の,複数の信号の集合である符号化対象信号群に対して,符号化対象信号群の各々の信号を基底信号の重み付け和で近似,あるいは誤差なく表現するため,インデックス情報が対応付けられた信号を表すコードワードの集合である基底信号と重み係数のコードブックから,それぞれ基底信号のコードワードと,重み係数で構成される重み係数信号のコードワードを選択し,選択された基底信号のコードワードと重み係数信号のコードワードに対応するインデックス情報を符号化する,情報源の符号化方法であって,
符号化対象信号群または生成された誤差信号群を入力信号群とし,前記基底信号のコードブックから,入力信号群に対する基底信号のコードワードを一つ選択する基底信号選択ステップと,
重み係数信号のコードワードを,前記基底信号選択ステップで選択したコードワードが示す基底信号に固定したもとで,前記重み係数のコードブックから選択する重み係数信号選択ステップと,
前記基底信号選択ステップで選択したコードワードが示す基底信号に,前記重み係数信号選択ステップで選択したコードワードが示す重み係数信号の各重み係数を乗じて作成される,複数の信号によって構成される近似信号群を生成する近似信号生成ステップと,
入力信号群の各信号と近似信号群の各信号間の誤差信号によって構成される誤差信号群を生成する誤差信号生成ステップとを有し,
生成された誤差信号群を入力信号群として,前記基底信号選択ステップ,前記重み係数信号選択ステップ,前記近似信号生成ステップ,前記誤差信号生成ステップを所定の条件が満たされるまで繰り返す
ことを特徴とする情報源の符号化方法。
Index information corresponds to the encoding target signal group, which is a set of multiple signals to be encoded, so that each signal in the encoding target signal group is approximated by the weighted sum of the base signals or expressed without error. basis from the code word base signal and the weighting factor codebook is a set of representing the Tagged signals, which select the code word of the baseband signal, respectively, the code words of the weighting coefficient signals constituted by weighting factors, are selected An information source encoding method for encoding index information corresponding to a codeword of a signal and a codeword of a weighting factor signal,
A base signal selection step of selecting one signal word of the base signal for the input signal group from the base signal code book, using the encoding target signal group or the generated error signal group as an input signal group;
The codewords of the weighting coefficient signals, the baseband signal selected by Moto fixed to the base signal indicating the selected codeword in step, a weighting coefficient signal selection step of selecting from a codebook of the weighting factors,
Consists of a plurality of signals created by multiplying the basis signal indicated by the codeword selected in the basis signal selection step by the respective weighting factors of the weighting factor signal indicated by the codeword selected in the weighting factor signal selection step An approximate signal generation step for generating an approximate signal group;
An error signal generation step for generating an error signal group constituted by an error signal between each signal of the input signal group and each signal of the approximate signal group;
The generated error signal group is used as an input signal group, and the base signal selection step, the weighting factor signal selection step, the approximate signal generation step, and the error signal generation step are repeated until a predetermined condition is satisfied. Information source encoding method.
請求項3記載の情報源の符号化方法において,
前記基底信号選択ステップでは,入力信号群の各信号と基底信号とをそれぞれベクトルとして入力信号群の各信号と基底信号の内積を計算し,これらの内積値の二乗和を最大化する基底信号のコードワードを選択し,
前記重み係数信号選択ステップでは,前記基底信号選択ステップで求められたコードワードが示す基底信号に重み係数信号の各重み係数を乗じて作成される信号と入力信号群の各信号に対する二乗誤差の和を最小にするように重み係数信号のコードワードを選択する
ことを特徴とする情報源の符号化方法。
In the information source encoding method according to claim 3,
In the basis signal selection step, the inner product of each signal of the input signal group and the basis signal is calculated using each signal of the input signal group and the basis signal as vectors, respectively, and the basis signal for maximizing the sum of squares of these inner product values is calculated . Select a codeword ,
In the weighting factor signal selection step, the sum of the square error for each signal of the input signal group and the signal generated by multiplying the basis signal indicated by the codeword obtained in the basis signal selection step by each weighting factor of the weighting factor signal A coding method of an information source, wherein a code word of a weighting factor signal is selected so as to minimize.
請求項1から請求項4までのいずれか1項に記載の情報源の符号化方法において,
複数の符号化対象信号群を学習データとし,基底信号と重み係数信号のコードワードを選択するための,インデックス情報が対応付けられた信号を表すコードワードの集合であるコードブックを作成する手順として,
複数の符号化対象信号群または求められた誤差信号群を入力学習データとし,入力学習データによって基底信号のコードブックと重み係数信号のコードブックとを学習する学習ステップと,
前記学習ステップで作成されたコードブックを利用して,入力学習データに含まれる各信号群に対し,請求項1または請求項2のいずれかの選択ステップ,近似信号生成ステップ,誤差信号生成ステップを,あるいは,請求項3または請求項4のいずれかの基底信号選択ステップ,重み係数信号選択ステップ,近似信号生成ステップ,誤差信号生成ステップを,順に行うことによって入力学習データに含まれる各信号群に対する誤差信号群を求める誤差学習データ生成ステップとを有し,
前記誤差学習データ生成ステップで求められた誤差信号群を入力学習データとして,前記学習ステップと前記誤差学習データ生成ステップとを所定の条件を満たすまで繰り返すことでコードブックを作成する
ことを特徴とする情報源の符号化方法。
In the information source encoding method according to any one of claims 1 to 4,
A plurality of coded signal group as training data, the base signal and for selecting a code word of weighting coefficient signals, hand to create a code book is a set of code words representing the signal index information is associated As an order,
A learning step of using a plurality of encoding target signal groups or obtained error signal groups as input learning data, and learning a codebook of a base signal and a codebook of a weighting factor signal from the input learning data;
Using the code book created in the learning step, the selection step, approximate signal generation step, and error signal generation step according to claim 1 or 2 are performed for each signal group included in the input learning data. Alternatively, the base signal selection step, the weighting factor signal selection step, the approximate signal generation step, and the error signal generation step according to any one of claims 3 and 4 are sequentially performed for each signal group included in the input learning data. An error learning data generation step for obtaining an error signal group,
A code book is generated by repeating the learning step and the error learning data generation step until a predetermined condition is satisfied, using the error signal group obtained in the error learning data generation step as input learning data. Information source encoding method.
請求項1から請求項4までのいずれか1項に記載の情報源の符号化方法において,
複数の符号化対象信号群を学習データとし,基底信号と重み係数信号のコードワードを選択するための,インデックス情報が対応付けられた信号を表すコードワードの集合であるコードブックを作成する手順として,
複数の符号化対象信号群または求められた誤差信号群を入力学習データとし,入力学習データによって基底信号のコードブックと重み係数信号のコードブックを学習する際に,入力学習データに対する平均二乗誤差を最適化の評価関数として学習する学習ステップと,
前記学習ステップで作成されたコードブックを利用して,入力学習データに含まれる各信号群に対し,請求項1または請求項2のいずれかの選択ステップ,近似信号生成ステップ,誤差信号生成ステップを,あるいは,請求項3または請求項4のいずれかの基底信号選択ステップ,重み係数信号選択ステップ,近似信号生成ステップ,誤差信号生成ステップを,順に行うことによって入力学習データに含まれる各信号群に対する誤差信号群を求める誤差学習データ生成ステップとを有し,
前記誤差学習データ生成ステップで求められた誤差信号群を入力学習データとして,前記学習ステップと前記誤差学習データ生成ステップとを所定の条件を満たすまで繰り返すことでコードブックを作成する
ことを特徴とする情報源の符号化方法。
In the information source encoding method according to any one of claims 1 to 4,
A plurality of coded signal group as training data, the base signal and for selecting a code word of weighting coefficient signals, hand to create a code book is a set of code words representing the signal index information is associated As an order,
When learning the base code codebook and the weighting coefficient signal codebook from the input learning data using multiple encoding target signal groups or the obtained error signal group as input learning data, the mean square error with respect to the input learning data is calculated. A learning step for learning as an optimization evaluation function;
Using the code book created in the learning step, the selection step, approximate signal generation step, and error signal generation step according to claim 1 or 2 are performed for each signal group included in the input learning data. Alternatively, the base signal selection step, the weighting factor signal selection step, the approximate signal generation step, and the error signal generation step according to any one of claims 3 and 4 are sequentially performed for each signal group included in the input learning data. An error learning data generation step for obtaining an error signal group,
A code book is generated by repeating the learning step and the error learning data generation step until a predetermined condition is satisfied, using the error signal group obtained in the error learning data generation step as input learning data. Information source encoding method.
符号化対象の,複数の信号の集合である符号化対象信号群に対して,符号化対象信号群の各々の信号を基底信号の重み付け和で近似,あるいは誤差なく表現するため,インデックス情報が対応付けられた信号を表すコードワードの集合である基底信号と重み係数のコードブックから,それぞれ基底信号のコードワードと,重み係数で構成される重み係数信号のコードワードとを選択し,選択された基底信号のコードワードと重み係数信号のコードワードに対応するインデックス情報を符号化する,情報源の符号化装置であって,
符号化対象信号群,あるいは後述の誤差信号生成部で生成される誤差信号群を入力信号群とし,入力信号群を入力する信号群入力部と,
入力信号群を記録する入力信号群メモリと,
前記基底信号と重み係数信号のコードブックを記録するコードブックメモリと,
前記コードブロックメモリに記録された基底信号と重み係数信号のコードブックから,入力信号群に対する基底信号のコードワードと重み係数信号のコードワードとを一組選択する選択部と,
前記選択部で選択したコードワードが示す基底信号に,前記選択部で選択したコードワードが示す重み係数信号の各重み係数を乗じて作成される,複数の信号によって構成される近似信号群を生成する近似信号生成部と,
入力信号群の各信号と近似信号群の各信号の間の誤差信号によって構成される誤差信号群を生成する誤差信号生成部と,
前記選択部で選択された基底信号のコードワードと重み係数信号のコードワードに対応するインデックス情報を符号化するインデックス符号化部とを備える
ことを特徴とする情報源の符号化装置。
Index information corresponds to the encoding target signal group, which is a set of multiple signals to be encoded, so that each signal in the encoding target signal group is approximated by the weighted sum of the base signals or expressed without error. from the base signal is a set of codewords representative of a Tagged signal and weighting coefficient codebook, selecting a code word of the baseband signal, respectively, and a code word of weighting coefficient signals constituted by weighting factors, it is selected An information source encoding device for encoding index information corresponding to a codeword of a base signal and a codeword of a weighting factor signal,
A signal group input unit for inputting an input signal group, an error signal group generated by an encoding target signal group or an error signal generation unit described later as an input signal group,
An input signal group memory for recording the input signal group;
A code book memory for recording a code book of the base signal and the weighting factor signal ;
From a codebook of the base signal and the weight coefficient signal recorded in the code block memory, a code word and a selection unit that selects a set of code words and the weight coefficient signal of the base signal to the input signal group,
Generates an approximate signal group consisting of multiple signals created by multiplying the basis signal indicated by the codeword selected by the selection unit by each weighting factor of the weighting factor signal indicated by the codeword selected by the selection unit An approximate signal generator to
An error signal generator for generating an error signal group composed of error signals between each signal of the input signal group and each signal of the approximate signal group;
An information source encoding apparatus comprising: an index encoding unit that encodes index information corresponding to a codeword of a base signal selected by the selection unit and a codeword of a weighting factor signal.
請求項7記載の情報源の符号化装置において,
前記選択部は,入力信号群の各信号と,基底信号に重み係数信号の各重み係数を乗じて作成される信号との間の二乗誤差の和を最小にするように,基底信号のコードワードと重み係数信号のコードワードとを一組選択する
ことを特徴とする情報源の符号化装置。
In the information source encoding device according to claim 7,
The selection unit includes a codeword of the base signal so as to minimize a sum of square errors between each signal of the input signal group and a signal generated by multiplying the base signal by each weight coefficient of the weight coefficient signal. And a set of codewords of the weighting factor signal.
符号化対象の,複数の信号の集合である符号化対象信号群に対して,符号化対象信号群の各々の信号を基底信号の重み付け和で近似,あるいは誤差なく表現するため,インデックス情報が対応付けられた信号を表すコードワードの集合である基底信号と重み係数のコードブックから,それぞれ基底信号のコードワードと,重み係数で構成される重み係数信号のコードワードとを選択し,選択された基底信号のコードワードと重み係数信号のコードワードに対応するインデックス情報を符号化する,情報源の符号化装置であって,
符号化対象信号群,あるいは後述の誤差信号生成部で生成される誤差信号群を入力信号群とし,入力信号群を入力する信号群入力部と,
入力信号群を記録する入力信号群メモリと,
前記基底信号と重み係数信号のコードブックを記録するコードブックメモリと,
前記コードブロックメモリに記録された基底信号のコードブックから,入力信号群に対する基底信号のコードワードを選択する基底信号選択部と,
重み係数信号のコードワードを,前記基底信号選択部で求められたコードワードが示す基底信号に固定したもとで,前記重み係数のコードブックから選択する重み係数信号選択部と,
前記基底信号選択部で選択したコードワードが示す基底信号に,前記重み係数信号選択部で選択したコードワードが示す重み係数信号の各重み係数を乗じて作成される,複数の信号によって構成される近似信号群を生成する近似信号生成部と,
入力信号群の各信号と近似信号群の各信号の間の誤差信号によって構成される誤差信号群を生成する誤差信号生成部と,
前記基底信号選択部で選択された基底信号のコードワード前記基底信号選択部で選択された重み係数信号のコードワードに対応するインデックス情報を符号化するインデックス符号化部とを備える
ことを特徴とする情報源の符号化装置。
Index information corresponds to the encoding target signal group, which is a set of multiple signals to be encoded, so that each signal in the encoding target signal group is approximated by the weighted sum of the base signals or expressed without error. from the base signal is a set of codewords representative of a Tagged signal and weighting coefficient codebook, selecting a code word of the baseband signal, respectively, and a code word of weighting coefficient signals constituted by weighting factors, it is selected An information source encoding device for encoding index information corresponding to a codeword of a base signal and a codeword of a weighting factor signal,
A signal group input unit for inputting an input signal group, an error signal group generated by an encoding target signal group or an error signal generation unit described later as an input signal group,
An input signal group memory for recording the input signal group;
A code book memory for recording a code book of the base signal and the weighting factor signal ;
A base signal selection unit for selecting a code word of a base signal for an input signal group from a code book of base signals recorded in the code block memory ;
The codewords of the weighting coefficient signals, and said base signal selector in Moto to the obtained code word is fixed to a base signal indicated by the weighting factor signal selector for selecting from the codebook of said weighting coefficients,
Consists of a plurality of signals created by multiplying the basis signal indicated by the codeword selected by the basis signal selection unit by the respective weighting factors of the weighting factor signal indicated by the codeword selected by the weighting factor signal selection unit An approximate signal generator for generating an approximate signal group;
An error signal generator for generating an error signal group composed of error signals between each signal of the input signal group and each signal of the approximate signal group;
And characterized in that it comprises an index coding unit for encoding the index information corresponding to the code word of the base signal weighting coefficient signals selected by the code word and said base signal selector of the baseband signal selected by the selection unit An information source encoding device.
請求項9記載の情報源の符号化装置において,
前記基底信号選択部は,入力信号群の各信号と基底信号とをそれぞれベクトルとして入力信号群の各信号と基底信号の内積を計算し,これらの内積値の二乗和を最大化する基底信号のコードワードを選択し,
前記重み係数信号選択部は,前記基底信号選択部で求められたコードワードが示す基底信号に重み係数信号の各重み係数を乗じて作成される信号と入力信号群の各信号に対する二乗誤差の和を最小にするように重み係数信号のコードワードを選択する
ことを特徴とする情報源の符号化装置。
In the information source encoding device according to claim 9,
The base signal selection unit calculates an inner product of each signal of the input signal group and the base signal by using each signal of the input signal group and the base signal as vectors, and a base signal for maximizing the square sum of these inner product values . Select a codeword ,
The weighting factor signal selection unit is a sum of square errors for each signal of the input signal group and a signal created by multiplying the basis signal indicated by the codeword obtained by the basis signal selection unit by each weighting factor of the weighting factor signal. A codeword of a weight coefficient signal is selected so as to minimize the information.
請求項7から請求項10までのいずれか1項に記載の情報源の符号化装置において,
複数の符号化対象信号群を学習データとし,基底信号と重み係数信号のコードワードを選択するための,インデックス情報が対応付けられた信号を表すコードワードの集合であるコードブックを作成する手段として,
複数の符号化対象信号群または前記誤差信号生成部で求められた全ての誤差信号群を入力学習データとして,学習データを入力する入力学習データ入力部と,
入力学習データを記録する入力学習データメモリと,
入力学習データによって基底信号のコードブックと重み係数信号のコードブックとを学習する学習部とを備える
ことを特徴とする情報源の符号化装置。
In the information source encoding device according to any one of claims 7 to 10,
A plurality of coded signal group as training data, the base signal and for selecting a code word of weighting coefficient signals, hand to create a code book is a set of code words representing the signal index information is associated As a step,
An input learning data input unit for inputting learning data using a plurality of encoding target signal groups or all error signal groups obtained by the error signal generation unit as input learning data;
An input learning data memory for recording input learning data;
An information source encoding apparatus comprising: a learning unit that learns a code book of a base signal and a code book of a weighting factor signal from input learning data.
請求項7から請求項10までのいずれか1項に記載の情報源の符号化装置において,
複数の符号化対象信号群を学習データとし,基底信号と重み係数信号のコードワードを選択するための,インデックス情報が対応付けられた信号を表すコードワードの集合であるコードブックを作成する手段として,
複数の符号化対象信号群または前記誤差信号生成部で求められた全ての誤差信号群を入力学習データとして,学習データを入力する入力学習データ入力部と,
入力学習データを記録する入力学習データメモリと,
入力学習データによって基底信号のコードブックと重み係数信号のコードブックとを,入力学習データに対する平均二乗誤差を最適化の評価関数として,学習する学習部とを備える
ことを特徴とする情報源の符号化装置。
In the information source encoding device according to any one of claims 7 to 10,
A plurality of coded signal group as training data, for selecting a code word of the baseband signal and the weight coefficient signal, to create a code book is a set of code words representing the signal index information is correspondence et al as a means,
An input learning data input unit for inputting learning data using a plurality of encoding target signal groups or all error signal groups obtained by the error signal generation unit as input learning data;
An input learning data memory for recording input learning data;
A code of an information source comprising: a learning unit that learns a codebook of a basis signal and a code of a weighting factor signal by using input learning data, and using a mean square error of the input learning data as an evaluation function for optimization Device.
請求項1から請求項6までのいずれか1項に記載の情報源の符号化方法をコンピュータに実行させるための情報源の符号化プログラム。  An information source encoding program for causing a computer to execute the information source encoding method according to any one of claims 1 to 6. 請求項1から請求項6までのいずれか1項に記載の情報源の符号化方法をコンピュータに実行させるための情報源の符号化プログラムを記録した記録媒体。  A recording medium on which is recorded an information source encoding program for causing a computer to execute the information source encoding method according to any one of claims 1 to 6.
JP2003016353A 2003-01-24 2003-01-24 Information source encoding method, information source encoding device, information source encoding program, and recording medium on which information source encoding program is recorded Expired - Fee Related JP3977753B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003016353A JP3977753B2 (en) 2003-01-24 2003-01-24 Information source encoding method, information source encoding device, information source encoding program, and recording medium on which information source encoding program is recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003016353A JP3977753B2 (en) 2003-01-24 2003-01-24 Information source encoding method, information source encoding device, information source encoding program, and recording medium on which information source encoding program is recorded

Publications (2)

Publication Number Publication Date
JP2004229100A JP2004229100A (en) 2004-08-12
JP3977753B2 true JP3977753B2 (en) 2007-09-19

Family

ID=32903835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003016353A Expired - Fee Related JP3977753B2 (en) 2003-01-24 2003-01-24 Information source encoding method, information source encoding device, information source encoding program, and recording medium on which information source encoding program is recorded

Country Status (1)

Country Link
JP (1) JP3977753B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6613842B2 (en) 2015-11-24 2019-12-04 富士通株式会社 Image encoding apparatus, image encoding method, and image encoding program
US11775589B2 (en) * 2019-08-26 2023-10-03 Google Llc Systems and methods for weighted quantization

Also Published As

Publication number Publication date
JP2004229100A (en) 2004-08-12

Similar Documents

Publication Publication Date Title
US11252441B2 (en) Hierarchical point cloud compression
US10853973B2 (en) Point cloud compression using fixed-point numbers
CN111368662B (en) Method, device, storage medium and equipment for editing attribute of face image
JP3901644B2 (en) Texture image compression apparatus and method, texture image extraction apparatus and method, data structure, and storage medium
JP4384813B2 (en) Time-dependent geometry compression
JP3978478B2 (en) Apparatus and method for performing fixed-speed block-unit image compression with estimated pixel values
US5416856A (en) Method of encoding a digital image using iterated image transformations to form an eventually contractive map
US20070019869A1 (en) Multi-mode alpha image processing
US6687411B1 (en) Image coding/decoding method and recording medium having program for this method recorded thereon
Amjoun et al. Efficient compression of 3d dynamic mesh sequences
JP3592168B2 (en) Image data encoding / decoding method and apparatus
WO2006083801A2 (en) Optimized lossless data compression methods
JP2674770B2 (en) Apparatus for classifying a set of values representing a two-dimensional pattern and video coding apparatus using the same
JPH07177502A (en) Method for compressing picture information, compressed picture information recording medium, and compressed picture information reproducing device
JP3977753B2 (en) Information source encoding method, information source encoding device, information source encoding program, and recording medium on which information source encoding program is recorded
US6714687B2 (en) Image encoding/decoding method, apparatus thereof and recording medium in which program therefor is recorded
Sun et al. A novel fractal coding method based on MJ sets
US10559093B2 (en) Selecting encoding options
JP3834805B2 (en) Image conversion device, image conversion method, calculation device, calculation method, and recording medium
Hwang et al. Genetic entropy-constrained vector quantizer design algorithm
Wang et al. Hierarchy-oriented searching algorithms using alternative duplicate codewords for vector quantization mechanism
US6373989B1 (en) Iterated image transformation and decoding apparatus and method, and recording medium
Rizvi et al. Finite-state residual vector quantization using a tree-structured competitive neural network
TWI836972B (en) Underwater image enhancement method and image processing system using the same
Wang et al. Hardware accelerator for vector quantization by using pruned look-up table

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070315

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070315

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070621

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

Free format text: PAYMENT UNTIL: 20100629

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100629

Year of fee payment: 3

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

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

Free format text: PAYMENT UNTIL: 20100629

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110629

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120629

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees