JP2006238036A - コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法 - Google Patents
コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法 Download PDFInfo
- Publication number
- JP2006238036A JP2006238036A JP2005049409A JP2005049409A JP2006238036A JP 2006238036 A JP2006238036 A JP 2006238036A JP 2005049409 A JP2005049409 A JP 2005049409A JP 2005049409 A JP2005049409 A JP 2005049409A JP 2006238036 A JP2006238036 A JP 2006238036A
- Authority
- JP
- Japan
- Prior art keywords
- code
- information
- decoding
- encoding
- entropy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Abstract
【解決手段】取得されたコンピュータグラフィックスデータ(CGデータ)を符号化するための前処理を行う手段102と、前処理が行われたCGデータを最終的に出力される符号総数を制御するための処理を行って符号化する手段103と、手段103で得られた符号に含まれるエントロピー符号化を行うべき符号部分に基づいてエントロピー量の情報であるエントロピー情報を算出し、エントロピー情報に基づいて符号語を作成す手段105と、手段103で得られた符号を作成された符号語を用いてエントロピー符号化する手段106と、エントロピー情報から復号に最低限必要な復号必要情報を抽出する手段107と、復号必要情報をデータ量が少なくなるように符号化する手段108と、エントロピー符号化された符号と符号化された復号必要情報とを出力する手段109と、を具備する。
【選択図】図1
Description
この拡張ハフマン符号の手法では、データに特定の傾向があるFAXなどではたいした問題にならないかもしれないが、データの傾向を特定できないコンピュータグラフィックスデータなどでは、多大な圧縮効率低下を引き起こす可能性がある。また、復号器には、全ての符号語群を蓄えておく必要があるため、多大な記憶スペースを必要とする。さらに、このような多大な記憶スペースを超高速アクセス可能なメモリとして用意することは価格コスト面からも現実的でないため、アクセススピードの低下を引き起こしてしまう。これは、結局、スループットの多大な低下の原因となる。
Michael Deering, "Geometry Compression", International Conference on Computer Graphics and Interactive Techniques, Proceedings of the 22nd annual conference on Computer graphics and interactive techniques (SIGGRAPH’95), pp13-20, 1995.
1.復号のための準備にかかる時間的、回路構成上のコスト
2.復号に要する時間的、回路構成上のコスト
に効いてくるため、スループットの低下、ハードウェアの価格の上昇に直結することになる。
近年、GPUは、高機能な機器だけではなく、パチンコ台やカーナビシステム、携帯電話、携帯ゲーム機、携帯端末などといった低価格な機器にも搭載されるようになってきているが、上記のような価格の向上は、これらの機器に搭載するGPUの実現としては大問題である。
コンピュータを、
コンピュータグラフィックスデータを取得する取得手段と、前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、前記前処理が行われたコンピュータグラフィックスデータを、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、前記符号数制御符号化手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分を蓄える蓄積手段と、前記蓄積手段で蓄えられた符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成する符号作成手段と、前記符号数制御符号化手段で得られた符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、前記エントロピー情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力する出力手段として機能させるためのものである。
コンピュータを、
コンピュータグラフィックスデータを取得する取得手段と、前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、前記前処理が行われたコンピュータグラフィックスデータを蓄える蓄積手段と、前記蓄積手段で蓄えられたコンピュータグラフィックスデータの符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成する符号作成手段と、前記蓄積手段で蓄えられたコンピュータグラフィックスデータの符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、前記エントロピー符号化された符号を、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、前記エントロピー情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、前記符号数制御符号化手段で得られた符号と、前記符号化された復号必要情報とを出力する出力手段として機能させるためのものである。
コンピュータを、
コンピュータグラフィックスデータを取得する取得手段と、前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、前記前処理が行われたコンピュータグラフィックスデータを、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、前記符号数制御符号化手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄える符号蓄積手段と、典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報に基づいて、前記符号数制御符号化手段で得られた符号の符号語を作成する符号作成手段と、前記符号数制御符号化手段で得られた符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、前記符号語の作成に基づいて、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力する出力手段として機能させるためのものである。
コンピュータを、
コンピュータグラフィックスデータを取得する取得手段と、前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、前記前処理手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄える符号蓄積手段と、典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報に基づいて、前記前処理手段で得られた符号の符号語を作成する符号作成手段と、前記前処理が行われたコンピュータグラフィックスデータを、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、前記エントロピー符号化手段で得られた符号を、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、前記符号語の作成に基づいて、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、前記符号数制御符号化手段で符号化された符号と、前記符号化された復号必要情報とを出力する出力手段として機能させるためのものである。
コンピュータを、
前記符号化されたデータを取得する取得手段と、前記符号化された復号必要情報を復号化する抽出情報復号化手段と、前記復号化された復号必要情報に基づいて、符号語を復号化するための復号語を得るための復号情報を作成する復号作成手段と、前記復号情報を蓄積する蓄積手段と、前記エントロピー符号化された符号を、前記復号情報を使用して復号化するエントロピー復号化手段と、前記エントロピー復号化手段で復号化されたデータを、符号総数が制御される以前の元データに復号化する元データ復号化手段と、前記元データ復号化手段で復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化する後処理復号化手段と、前記後処理復号化手段で得られた、前記前処理が行われる以前のデータを出力する出力手段として機能させるためのものである。
コンピュータを、
前記符号化されたデータを取得する取得手段と、前記符号化された復号必要情報を復号化する抽出情報復号化手段と、典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、前記復号化された復号必要情報と、前記符号語情報蓄積手段に蓄えられている関係情報とから、符号語と該符号語に対応する復号語の関係である復号情報を作成する復号作成手段と、前記復号情報を蓄積する復号情報蓄積部と、前記エントロピー符号化された符号を、前記復号情報を使用して復号化するエントロピー復号化手段と、前記エントロピー復号化手段で復号化されたデータを、符号総数が制御される以前の元データに復号化する元データ復号化手段と、前記元データ復号化手段で復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化する後処理復号化手段と、前記後処理復号化手段で得られた、前記前処理が行われる以前のデータを出力する出力手段として機能させるためのものである。
(第1の実施形態)
図1は、本発明の第1の実施形態に係るコンピュータグラフィックスデータ符号化装置の全体構成図である。
本実施形態のコンピュータグラフィックスデータ符号化装置は、入力部101、前処理符号化部102、符号数制御符号化部103、エントロピー情報蓄積部104、符号作成部105、エントロピー符号化部106、抽出部107、抽出情報符号化部108、出力部109を備えている。
前処理符号化部102は、入力部101で得られたデータの量子化、正規化の処理など前処理を行う。
符号数制御符号化部103は、前処理符号化部102で得られた符号を、エントロピー符号化部106で符号化する際に、エントロピー符号化部106で生成される符号総数を制御するための処理を行って符号化する。
エントロピー情報蓄積部104は、符号数制御符号化部103で得られた符号のエントロピー情報を蓄える。
符号作成部105は、エントロピー情報蓄積部104で蓄えられたエントロピー情報を用いて符号語を作成する。
エントロピー符号化部106は、符号数制御符号化部103で得られた符号を、符号作成部105で作成された符号語を用いてエントロピー符号化する。
抽出部107は、符号作成部105で符号語を作成した際に用いたエントロピー情報から復号する際に最低限必要な復号情報を抽出する。
抽出情報符号化部108は、抽出部107で得られた復号情報を符号化する。
出力部109は、エントロピー符号化部106で得られた符号と、抽出情報符号化部108で得られた符号を出力する。
以下、各部について詳細に説明する。
入力部101は、コンピュータグラフィックスデータを取得する部分である。コンピュータグラフィックスでは、通常、形状はポリゴンという3角形の組み合わせで表現される。このとき、形状のデータは、3角形の各頂点の位置座標の集合として表現される。位置座標は、3次元空間における位置(x,y,z)という3次元ベクトル、あるいは、同次座標系を用いて、(x,y,z,w)という4次元ベクトルで表現される。
入力部101はこのようなベクトルデータの集合を受け取る。以降、処理の内容を具体的に説明するために、位置データを例として説明をするが、他のデータに関しても同様である。
位置データ(x,y,z)の各要素は、それぞれ、3次元空間上のx座標、y座標、z座標を表現しており、それぞれ、小数データとして表現されることが多い。データは、ベクトルとして管理される。そのベクトルデータが、全ての頂点分だけ入力部101に逐次入力される。
前処理符号化部102は、入力部101で取得した頂点の、法線情報や色情報、表面特性情報などの各種データ(本実施形態では、上述したように、一例として位置データで説明する)の量子化、正規化などを行う。
上述したように、頂点データは小数データを各要素として持つベクトルデータである。この各要素の値をコンピュータ内で表現可能なように量子化する必要がある。この際、幾つかの量子化の手法があるが、大きく分けて、小数値を浮動小数表現で表現する量子化方法と、固定小数表現で表現する方法がある。これらの量子化の手法は本発明の実施形態の本質ではないので詳細はここでは説明しない。簡単に説明すれば、量子化する際に、量子化したデータの中で、小数点の位置を固定として表現するのが固定小数表現であり、そうしないのが浮動小数表現である。なお、量子化の際に用いるビット長(量子化ビット長と呼ぶ)を32ビットとした浮動小数表現は、IEEE754に規定されている。
そこで、低価格なハードウェアシステムを想定した場合、固定小数表現が採用されることが多い。しかし、固定小数表現では、量子化した際の小数点があるビット位置を固定としているため、表現できる値の範囲が小さいという問題がある。また、小数点位置が固定のため、表現できる小数値の精度に限界があるという問題がある。
次に、前処理符号化部102が行う、データの正規化について説明する。
データの正規化は、符号化したい全てのデータの値が、特定の範囲内に収まるように変換することである。具体的には、データの正規化では、例えば、各データ値をデータ内に存在する最大値で除算することで正規化が行われる。以下では、データを−1〜1に正規化する例を説明する。
x1,y1,z1
x2,y2,z2
...
xn,yn,zn
まず、このデータ列中の最大値Vmaxを取得する。Vmaxは、次の式(1)で求められる。
Vmax=max(|x1|,|y1|,|z1|,|x2|,…,|xn|,|yn|,|zn|)・・・(1)
ここで、max( )は、括弧内の要素の最大値を返す関数である。
scale=Vmax・・・(2)
頂点データの正規化は、以下の式(3)により行う。ここで、Vはオリジナルのデータ、V’は正規化後のデータを示す。
V’=V/scale・・・(3)
このようにすることで、データは、−1〜1に正規化される。
正規化処理は、このようなそれぞれのグループの中で行われることが望ましい。
正規化値(=scaleの値)、データ、データ、...、正規化値、データ、データ、...
という並びで管理する。「正規化値」の適用範囲は、正規化値が登場してから、次の正規化値が出てくるまでの範囲に存在する「データ」の列である。ここで、位置データを正規化した正規化位置データの例について図3を参照して説明する。正規化値がscalei(i=1,2,…)である(xj,yj,zj)(j=1,2,…,n,…,m,…)は、図3に示したように、それぞれ(xj/scalei,yj/scalei,zj/scalei)と正規化される。
次に、前処理符号化部102が行う、量子化について説明する。
量子化の一手法のデータフォーマットについて図4を参照して説明する。なお、以降の説明はあくまでも一手法を具体的に説明したものであり、これに限定されるものではない。
if (value>1−1/215 ) then value=1−1/215
とする。なお、この取り決めにより、最大で1/215 =約0.00003程度の誤差が生じる。
このように、量子化ビット長をユーザの指示により可変とすると、複数のビット長のデータを符号数制御符号化部103以降の各部で扱う必要がある。このような煩雑さを回避するために、正規化の際に、式(2)の代わりに、以下の式(4)ように正規化値を採用することで、量子化ビット長を変化させても内部的には特定のビット長でデータを表現することが可能となる。
scale=Vmax×2Q−N・・・(4)
ここで、Qは扱う対象とする最大の量子化ビット長、Nはユーザによって指定された量子化ビット長でありNとして2以上Q以下の自然数を指定する。Nを大きくすると、符号化の効率が減少する代わりに頂点データの精度の劣化を抑えることができる。逆に、Nを小さくすると、高い符号化効率が得られる反面、頂点データ精度が劣化する。この2つの関係はトレードオフである。
<一次微分>
上記で得られた量子化データの一次微分を計算する。一次微分ベクトルデータΔVnは、式(5)により計算する。
ΔVn=Vn−Vn−1 (n=0,1,2,…)・・・(5)
ここで、Vnはn番目の位置ベクトルデータで、V−1 はゼロベクトルとする。
これを防ぐためにこの場合、図6に示したような関数を用いて実際の微分値を変換して処理することで、16ビット固定小数表現のままで微分値を一意に保有することが可能である。実際の一次微分値の大きさは、最大で2のため、大きさ2の範囲では、図6の表現で一意に微分値を決めることができる。
例えば、Vn が16’b1010011001100110(=−0.7)、Vn−1 が16’b0100110011001101(=0.6)の場合、式(5)と図6に示した関数を使用して、ΔVnは、16’b0101100110011010と計算される。
なお、以上では、データの正規化、量子化、一次微分の例を示したが、あくまでも、これは実施の一形態であり、これらに限定されるものではない。
符号数制御符号化部103は、前処理符号化部102で得られた符号を、エントロピー符号化部106で生成される符号総数を制御するための処理を行って符号化するためのものである。
つまり、前処理符号化部102で得られた符号をそのままエントロピー符号化部106で符号化した場合、この符号を復号する復号器では、上記を考慮した上で、あらゆる条件にも適用可能な復号器を設計する必要がある。これは、背景技術の項でも述べたように、復号器の計算コスト面からも、価格コスト面からも非常に問題である。
符号数制御符号化部103は、前処理符号化部102で得られた符号を、「符号を表現することができる最小長の表現とその符号長のペア」(以降、SzBIN符号と呼ぶ)として符号化することを特徴とする。
符号数制御符号化部103が得るBIN符号は、16ビット固定小数表現のデータに以下の2段階の変換を施すことで得られる。
1.16ビットデータを2の補数表現の整数データと考え、2の補数表現における最小表現に変換する。
2.1で得られた最小表現のMSB(Most Significant bit:最上位ビット)で残りのビットを引く。
16ビットデータが正数の場合、MSBを除き、MSBの次のビットを含んで連続している0を全て取り除いたものが、2の補数における最小表現である。例えば、16’b0000010110011110は、MSBの次のビットから連続している0が取り除かれ、12’b010110011110に変換される。
16ビットデータが負数の場合、MSBを除き、MSBの次のビットを含んで連続している1を全て取り除いたものが、2の補数における最小表現である。例えば、16’b1110010110011110は、連続する1が取り除かれ、14’b10010110011110に変換される。
11’b10110011110−1’b0=11’b10110011110
となり、16’b0000010110011110のBIN符号が得られる。
13’b0010110011110−1’b1=13’b0010110011101
となり、16’b1110010110011110のBIN符号が得られる。
BIN符号化の例外がある。例えば、16’b1000000000000000は例外であり、以上で説明した処理で計算することができない。この値は、BIN符号化されても、16’b1000000000000000のままである。これは、唯一Sz=16となるBIN符号である。
Szは上記のようにして得られたBIN符号のビット長である。Szは、5ビットの固定長で表現する。
1.データが正数ならばそのまま、負数ならば、2の補数を取り、正数にする。
1.Sz=16、または、データが正数のとき、データの下位Szビット分がBIN符号化データ。
2.データが負数のとき、データから1’b1を引いたものの下位Szビット分がBIN符号化データ。
図8の上の例(16’b1110010110011110)では、16ビットデータが負数であるので、2の補数を取る。すなわち、この場合の2の補数は、
16’b0001101001100001+1’b1
=16’b0001101001100010
となり、ビット値1が立っている最も上位のビットの位置は12であるので、Sz=13となる。16ビットデータは負数であるので、
16’b1110010110011110−1’b1
=16’b1110010110011101
の下位Sz=13ビット分がBIN符号化データである。すなわち、この場合のBIN符号化データは、
13’b0010110011101
である。
16’b0000000000000001
の下位Sz=1ビット分がBIN符号化データである。すなわち、この場合のBIN符号化データは、
1’b1
である。
Szの未使用領域を用いることで、各種のパラメータをSzBIN符号の中に混在させることが可能である。例えば、上記の正規化の際に算出された正規化値(scale値)は、符号データとは別のパスで復号の際に与える必要があるが、これをSzの未使用領域を用いてSzBIN形式とすることで、正規化値を符号データ内に混在させることができる。
以上に説明したようなSzBIN符号化を用いることで、以下のような効果が得られる。
1.エントロピー符号化部106で上記のSz部分のみエントロピー符号化をすることを考える。例えば、ハフマン符号化を行うと、Szは5ビットで表現される符号のため、あり得るハフマン符号語の総数は、高々17個のみである。また、最大符号長も18ビットに抑えることができる。
2.上述したように、符号中に、符号化の非対象データ(上記の正規化値(scale)など)を含めることができる。
エントロピー情報蓄積部104は、符号数制御符号化部103で得られた符号のうち、エントロピー符号化部106でエントロピー符号化を行いたい部分を抽出し、蓄えるためのものである。例えば、エントロピー情報蓄積部104は、符号数制御符号化部103で得られたSzBIN符号のうち、Sz部分の符号を逐次蓄えてゆく。
また、エントロピー情報蓄積部104はエントロピー符号化部106におけるエントロピー符号化の際に必要なエントロピー量の整理を同時に行う。なお、このエントロピー量の整理は符号作成部105で行われてもよい。
pSz=Szの出現数/全データ数・・・(6)
図10の例では、Sz=0の出現確率がA、Sz=1の出現確率がB、…、ということを示している。
符号作成部105は、エントロピー符号化部106で用いるエントロピー符号化用の符号語を作成するためのものである。符号作成部105は、この符号語作成の際に、エントロピー情報蓄積部104に蓄積されたエントロピー量の情報を利用する。
1.情報源の通報を出現確率(pi、i=1,2,…,N)の大きい順に並べる
p1≧p2≧…≧pN
2.最も出現確率の小さい1対の通報に0と1を対応させる(ハフマンノードの作成)
3.「2.」の1対の通報に対する確率の和をqk(2≦k≦N−2)とし、再度出現確率の大きい順に並べる
pN−1+pN=qk
p1≧p2≧…≧qk≧…≧pN−2
4.上記1から「3.」の手順を繰り返す(ハフマン木の作成)
5.1対の通報に0と1を対応させた順序を逆に辿って0と1の並びを求め、符号語とする(ハフマン木の探索)
詳細に関しては、ハフマン符号に関する文献(例えば、情報圧縮技術の基礎、新井 清、(株)トリケップス、2003、ISBN4-88657-228-6、P48−60)を参照して頂きたい。
エントロピー符号化部106は、符号作成部105で作成された符号語を用いて、符号数制御符号化部103から得られた符号をエントロピー符号化するためのものである。
具体的には、エントロピー符号化部106は、符号作成部105を参照して、符号数制御符号化部103で得られたある符号SzBINのSzに対応する符号語を得る。この符号語をHuff(Sz)と表記すると、エントロピー符号化部106は、この符号語に符号数制御符号化部103で得られたある符号SzBINのBIN部を結合して、Huff(Sz)BINという符号化を行う。
抽出部107は、符号作成部105で符号語を作成した際に用いたエントロピー情報から復号する際に最低限必要な情報を抽出するためのものである。
符号化したハフマン符号を復号するためには、ハフマン符号とそれに対応する復号語の情報が必要である。これは、ハフマン符号と対応する復号語のペアを作成したハフマン符号分持っていれば良いが、このように持つと、データ量が大きくなってしまう。復号語は、上記ハフマン符号語の作成方法の部分で説明したハフマン木から再構成できることから、復号器はこのハフマン木の情報を用いて、復号語を再構成することが多い。
抽出情報符号化部108は、抽出部107で抽出した情報を、データ量が減少するようにさらに符号化するためのものである。符号化後のデータ量が、元のデータ量以下になるような符号化ならば、どのような符号化を用いても構わない。
出力部109は、
1.エントロピー符号化部106で得られたコンピュータグラフィックスデータの符号と
2.抽出情報符号化部108で得られた復号化のためのデータの符号
を入力部101に入力された全データに対して出力するためのものである。
以上で説明した第1の実施形態におけるコンピュータグラフィックスデータ符号化装置によれば、符号語の総数、最大符号長を限定するための工夫がしてあるため、後述する復号器で復号する際の演算コストを抑え(すなわち、演算スピードを上げることができる)、価格的なコストを抑えることができる形式で符号化されたコンピュータグラフィックスデータの符号を作成することが可能となる。
本発明の第1の実施形態では、符号数制御符号化部103において、エントロピー符号化部106で符号化する際に出現しうる符号総数を限定するとともに、出現しうる符号の長さも限定するための手法として、「符号を表現することができる最小長の表現とその符号長のペア」(SzBIN符号)として符号化することを中心として説明した。しかし、符号数制御符号化部103では別の符号化を行うことが可能である。変形例1では、その別の符号化について説明する。
<概要>
符号数制御符号化部103は、前処理符号化部102で得られた符号を、エントロピー符号化部106で生成される符号総数を限定するための処理を行って符号化するためのものであるのは、第1の実施形態と同様である。第1の実施形態の変形例1では、その符号化の手法が第1の実施形態とは異なる。
本変形例1に係る符号数制御符号化部103では、前処理符号化部102で得られた符号を、「2つ以上の符号に分割」して符号化することを特徴とする。分割の手法は幾つか考えられるが、以降ではその一例として、符号を「上位ビットと下位ビットの2つに分割」する手法を例として挙げて説明する。
すると、各部分は8ビットの符号となるため、これをハフマン符号化した場合、符号語の総数は、28 =256個に減少する。また、最大符号長も、257ビットにまで減少する。したがって、この手法によれば、符号数制御符号化部103は、符号総数を少なく、最大符号長を短く制限するように制御することができる。
なお、ここでは2つに分割する場合について説明したが、2つ以外の複数に分割した場合も同様である。また、分割数は、均等である必要はない。
上記のような符号数制御符号化部103での符号化手法の変化により、エントロピー情報蓄積部104、符号作成部105で扱う情報も変化する。第1の実施形態では、SzBIN符号のSz部を用いて、蓄積や、頻度情報の作成、符号の作成をする例を示したが、本変形例1では、その「Sz部」を上記の「分割することで作成した新たな符号全て」で置き換えたものを用いて蓄積や頻度情報の作成を行うことになる。
エントロピー符号化部106は、符号数制御符号化部103で得られた2つ以上の分割符号をそれぞれ、符号作成部105で得られた符号で符号化し、符号数制御符号化部103で分割した分割方法と逆の結合を行う。
図11は、本発明の第1の実施形態の変形例2に係るコンピュータグラフィックスデータ符号化装置の全体構成図である。第1の実施形態で図1を参照して説明した装置部分と同様なものは同一の符号を付して説明を省略する。
本発明の第1の実施形態の変形例2のコンピュータグラフィックスデータ符号化装置は、入力部101、前処理符号化部102、符号蓄積部1101、符号作成部1102、エントロピー符号化部1103、符号数制御符号化部1104、抽出部107、抽出情報符号化部108、および、出力部1105を備えている。
符号作成部1102は、符号蓄積部1101で蓄えられたエントロピー情報を用いて符号語を作成する。
エントロピー符号化部1103は、前処理符号化部102で得られた符号を、符号作成部1102で作成された符号語を用いてエントロピー符号化する。
符号数制御符号化部1104は、エントロピー符号化部1103で得られた符号の符号総数を限定するように制御するための処理を行って符号化する。
出力部1105は、符号数制御符号化部1104で得られた符号と、抽出情報符号化部108で得られた符号を出力する。
符号蓄積部1101は、前処理符号化部102で得られた符号を蓄えるとともに、エントロピー符号化部1103におけるエントロピー符号化の際に必要なエントロピー量の整理を同時に行う。具体的には、符号蓄積部1101は、前処理符号化部102で得られた符号の出現確率を計算し、符号と出現確率との対応を示す頻度テーブルを作成する。このエントロピー量の整理は符号作成部1102で行われてもよい。この場合、符号作成部1102が頻度テーブルを作成する。
符号作成部1102は、第1の実施形態での符号作成部105と動作は同じであるが、入力するデータが異なる。この第1の実施形態の変形例2では、符号作成部1102は、前処理符号化部102で得られた符号を直接入力する。
この結果、符号作成部1102は、前処理符号化部102で得られた符号に対応するハフマン符号語を作成することになる。なお、この時点では、符号語総数を限定する工夫をしていないため、上記符号語の符号総数は、量子化ビット長が16ビットの場合、未だ216個である。
エントロピー符号化部1103は、符号作成部105で作成された符号語を用いて、前処理符号化部102から得られた符号をエントロピー符号化するためのものである。なお、この時点でも、符号語総数を限定する工夫をしていないため、上記符号語の符号総数は、量子化ビット長が16ビットの場合、未だ216個である。
符号数制御符号化部1104は、エントロピー符号化部1103で得られた符号に関して、符号作成部1102で作成された符号語のうち、実際に使用される種類を限定するように制御するための符号化を行うためのものである。
具体的には、符号数制御符号化部1104は、符号化を行う符号長の長さの限界(限界符号長と称する)を設け、それ以上の符号長となる符号語は使用しないで、別の符号で代用するという手法を用いる。
出力部1105は、第1の実施形態での出力部109とほぼ同様で、
1.符号数制御符号化部1104で得られたコンピュータグラフィックスデータの符号と
2.抽出情報符号化部108で得られた復号化のためのデータの符号と
を入力部101に入力された全データに対して出力する。
本変形例では、前処理符号化部102で、上述した処理に加え、さらに以下に示すような処理(以降、要素圧縮と称する)をする。
要素圧縮処理とは、データベクトル(データの組)の長さが1となるという情報を利用して、1要素分のデータ量を削減する圧縮手法である。要素圧縮は、例えば、正規化の後、量子化を行う前に行う。
以下の条件を満たす場合、要素圧縮処理を行うことができる。すなわち、要素圧縮が可能な条件は、データベクトル(データの組)が長さ1の正規化ベクトルとなっていることである。データがN要素の組からなっている(e1,e2,…,en)である場合、
‖(e1,e2,…,en)‖=1、つまり、(Σek 2)1/2=1・・・(7)
式(7)を満たすものが、長さ1の正規化ベクトルとなるデータである。
正規化法線データ(nx,ny,nz)の場合、式(7)を満たす。つまり、
nx2+ny2+nz2=1
が成り立つ。これより、
nz=sign(nz)×(1−nx2−ny2)1/2・・・(8)
である。ここで、sign(nz)は、nzの符号を示し、nz<0のとき−1,nz≧0のとき+1となる値を返す。これより、nzは、nx,nyおよび、sign(nz)から一意に求めることができることが分かる。これは、nx,nyに関しても同様である。
nx=sign(nx)×(1−ny2−nz2)1/2・・・(9)
ny=sign(ny)×(1−nx2−nz2)1/2・・・(10)
つまり、nx,ny,nzの3要素を保持する代わりに、どれか2要素を保持し、さらに、もう1要素の符号のみを保持すれば、元の3要素を復元することができるということである。この関係を利用して、
nx,ny,nz → n1,n2,sign(n3)
というように要素圧縮を行う。ここで、n1,n2は、nx,ny,nzのうちのどれか2つ、sign(n3)は、もう1つの要素の符号が入ることを示す。
選択する2つの要素として、nx,ny,nzのうちの、大きさ‖nx‖,‖ny‖,‖nz‖が最小のものと2番目に小さいものとの2つを選択する。こうすることで、符号を復号する際の計算誤差を最小限に抑えることができる。復号時には、どの2つを選択したかも知らなければならないため、これを知るための情報も付加する。以上をまとめると、nx,ny,nzは、
nx,ny,nz → n1,n2,p
と要素圧縮することができる。ここで、pは、復号のためのパラメータで、図12に示したように3ビットで示される。
n1=nx,
n2=nz,
p=100
となる。
以上説明したような要素圧縮を行ってから量子化を行ったデータは、(nx,ny,nz)の16ビット×3=トータル48ビットから、(n1,n2,p)の16ビット×2+3ビット=トータル35ビットにデータ量を減らすことができる。
要素圧縮によって得られた3ビットのパラメータ値pに関しては、符号数制御符号化部103において符号化する際に、符号化を行うか、3ビットのパラメータ値をそのまま出力として用いるかのどちらかに決定する。どちらを選択したかは、エントロピー情報蓄積部104に蓄積しておき、抽出部107でこの情報が抽出され、抽出情報符号化部108を経て出力部109で出力される。
以上では、正規化法線を例として、3要素の場合を示したが、他のデータでも同様に要素圧縮を行うことが可能である。
例えば、2要素(e1,e2)の場合、図13に示したように、pは2ビットあれば十分であり、以下の式(11)で圧縮された要素e2が復元される。
e2=sign(e2)×(1−e12)1/2・・・(11)
なお、他の要素数のときと同様に扱うために、pを3ビットとして、MSBに0を付加した値を用いてもよい。
e4=sign(e4)×(1−e12−e22−e32)1/2・・・(12)
5要素以上に関しても同様である。
図14は、本発明の第2の実施形態に係るコンピュータグラフィックスデータ符号化装置の全体構成図である。第1の実施形態で図1を参照して説明した装置部分と同様なものは同一の符号を付して説明を省略する。
本実施形態のコンピュータグラフィックスデータ符号化装置は、入力部101、前処理符号化部102、符号数制御符号化部103、符号情報蓄積部1401、符号語情報蓄積部1402、符号作成部1403、エントロピー符号化部106、抽出部107、抽出情報符号化部108、出力部109を備えている。
符号語情報蓄積部1402は、典型的なデータにおけるエントロピー情報と符号語との関係を予め蓄えておく。
符号作成部1403は、符号情報蓄積部1401と符号語情報蓄積部1402で蓄えられた情報を基に、符号数制御符号化部103で得られた符号の符号語を作成する。
第1の実施形態では、エントロピー情報蓄積部104は符号数制御符号化部103で得られた符号からエントロピー情報を動的に取得して、それを基に、符号の頻度テーブルを作成していた。
これに対し、第2の実施形態では、符号語情報蓄積部1402に典型的なデータにおけるエントロピー情報と符号語との関係を示す符号語情報を予め蓄えておき、符号作成部1403は、この符号語情報と、符号情報蓄積部1401に蓄えられた符号数制御符号化部103で得られた符号からのエントロピー情報を用いて符号の頻度テーブルを作成する。
符号情報蓄積部1401は、符号数制御符号化部103で得られた符号のうち、エントロピー符号化部106でエントロピー符号化を行いたい部分を抽出し、蓄えるためのものであり、第1の実施形態におけるエントロピー情報蓄積部104と似た動作をする。動作が異なる部分のみ以下で説明する。
ハフマン符号化では、符号化のためのエントロピー量は、符号数制御符号化部103で得られた符号とその出現頻度の対応の情報である。そこで、符号情報蓄積部1401は上述したようにSz符号を蓄積しながら、各Szの出現頻度をカウントしてゆく。符号情報蓄積部1401は全データに関してカウントが終了したら、頻度テーブルを作成する。頻度テーブルは、Szの算出頻度を示したテーブルである。データ内の各Sz(0〜16)の出現頻度を計算し、図15に示すように、出現頻度が大きいものから順にインデックスを0,1,2,…というように割り当てる。
図14に示した例では、Sz=0が5番目の出現頻度、Sz=1が最も出現頻度が高く、Sz=2が2番目の出現頻度、…、Sz=16が15番目の出現頻度ということを示している。
符号語情報蓄積部1402は、典型的なコンピュータグラフィックスデータにおけるエントロピー情報と符号語の関係を予め蓄えておくためのものである。
ハフマン符号は、出現頻度の高いデータに、より短い符号語を割り当てようというものである。そのため、割り当てられる符号語は、各データにおける符号群の出現頻度の分布により様々である。このような性質のため、符号語はデータに強く依存し、その作成には手間がかかるし、復号の際にも何らかの形でデータに依存した符号語を再構成する必要があり、復号に要するコストも大きい。第2の実施形態によれば、以下に説明するように、この問題を解消することができる。
図16は、最も頻度の高い(Index=0)ものに割り当てられる符号語が、“00”、2番目の頻度(Index=1)に割り当てられる符号語が、“010”、…、ということを表している。
符号作成部1403は、エントロピー符号化部106で用いるエントロピー符号化用の符号を作成するためのものである。この符号作成の際に、符号情報蓄積部1401と符号語情報蓄積部1402に蓄積された情報を利用する。
1.符号語情報蓄積部1402に蓄積された符号テーブルのうち、どれかを選択する。どれを選択したかの情報は、抽出部107で利用される。
2.符号化したいSzに対して、頻度テーブルと、符号テーブルを参照し、ハフマン符号を決定する。図19に示すように、まず頻度テーブルを照会し、符号化したいSzに対応した頻度順(図中のIndex)を得る。次に、符号テーブルを照会し、先に得た頻度順に対応した符号を得る。得られた符号語が、符号化したいSzに対応した符号語となる。
例えば、図19を参照してSz=1をハフマン符号化する例を考える。符号作成部1403は、頻度テーブルを参照してSz=1の頻度を示すインデックス値は2であることを一時的に記憶する。次に、符号作成部1403は、符号テーブルの該当インデックス位置を参照してIndex=2に対応するハフマン符号語が、“011”であることを出力する。以上より、符号作成部1403は、Sz=1に対するハフマン符号語“011”を作成する。このようにして、符号作成部1403は、符号数制御符号化部103で得られた符号に対応する符号語を作成する。
抽出部107は、符号作成部1403で符号語を作成した際に用いたエントロピー情報から復号に最低限必要な情報を抽出するためのものである。
最低限必要な情報とは、
1.符号情報蓄積部1401において得られた符号と出現頻度の関係(頻度テーブル)
2.符号語情報蓄積部1402において、どの符号テーブルが選ばれたか(符号テーブルの種類)
である。抽出部107は、これらの情報を符号作成部1403、符号情報蓄積部1401、符号語情報蓄積部1402から抽出する。
第1の実施形態では、復号時に必要な情報(抽出部107で出力される情報)として、ハフマン木の情報、または、符号化前のデータとハフマン符号の対応の情報が必要であった。第1の実施形態での符号化では、この情報を、抽出情報符号化部108で圧縮符号化して出力するものの全て符号データとして出力する必要があった。
このため、符号化データのデータ量が減少する割合が、第1の実施形態よりも大きい。これは、復号器にデータを入力する際のスループットの向上に繋がる。
(第2の実施形態の変形例1)
また、第1の実施形態の変形例2で示した変形例と同様の変形を第2の実施形態に適用することが可能である。
図20は、本発明の第2の実施形態の変形例2に係るコンピュータグラフィックスデータ符号化装置の全体構成図である。第1、第2の実施形態でそれぞれ図1、図14を参照して説明した装置部分と同様なものは同一の符号を付して説明を省略する。
本発明の第2の実施形態の変形例1のコンピュータグラフィックスデータ符号化装置は、入力部101、前処理符号化部102、符号蓄積部2001、符号語情報蓄積部1402、符号作成部2002、エントロピー符号化部2003、符号数制御符号化部2004、抽出部107、抽出情報符号化部108、および、出力部2005を備えている。
符号蓄積部2001は、前処理符号化部102で得られた符号を蓄える。
符号作成部2002は、符号蓄積部2001と符号語情報蓄積部1402で蓄えられた情報を基に、前処理符号化部102で得られた符号の符号語を作成する。
エントロピー符号化部2003は、前処理符号化部102で得られた符号を、符号作成部2002で作成された符号語を用いて符号化する。
符号数制御符号化部2004は、エントロピー符号化部2003で得られた符号の符号総数を限定するための処理を行って符号化する。
出力部2005は、符号数制御符号化部2004で得られた符号と、抽出情報符号化部108で得られた符号を出力する。
符号蓄積部2001は、前処理符号化部102で得られた符号を蓄えるためのものである。また、上述した頻度テーブルの作成も同時に行う。入力が前処理符号化部102からの符号に変わっただけで、残りの機能は、第2の実施形態の符号情報蓄積部1401と同様である。
符号作成部2002は、第2の実施形態の符号作成部1403と動作は同じであるが、入力されるデータが異なる。この第2の実施形態の変形例1では、前処理符号化部102で得られた符号が直接入力される。
エントロピー符号化部2003は、符号作成部2002で作成された符号語を用いて、前処理符号化部102から得られた符号をエントロピー符号化する。
符号数制御符号化部2004は、エントロピー符号化部2003で得られた符号に関して、符号作成部2002で作成された符号語のうち、実際に使用される種類を限定するための符号化を行うためのものである。第1の実施形態の変形例2の符号数制御符号化部1104と同様の動作を行う。
出力部2005は、第2の実施形態の出力部109とほぼ同様で、
1.符号数制御符号化部2004で得られたコンピュータグラフィックスデータの符号と
2.抽出情報符号化部108で得られた復号化のためのデータの符号と
を入力部101に入力された全データに対して出力する。
また、第1の実施形態の変形例3の要素圧縮の処理を、同様に第2の実施形態に適用して用いることが可能である。
第3の実施形態は、第1の実施形態で作成された符号を復号するための復号器である。
図21は、本発明の第3の実施形態に係るコンピュータグラフィックスデータ復号化装置の全体構成図である。
本実施形態のコンピュータグラフィックスデータ復号化装置は、入力部2101、抽出情報復号化部2102、復号作成部2103、復号情報蓄積部2104、エントロピー復号化部2105、元データ復号化部2106、後処理復号化部2107、出力部2108を備えている。
抽出情報復号化部2102は、入力部2101から実施形態1における抽出情報符号化部108で作成された符号部分を取得し復号する。
復号作成部2103は、抽出情報復号化部2102で得られたデータにエントロピー復号化を行うための付加情報を加えて符号語を復号するための情報を作成する。
復号情報蓄積部2104は、復号作成部2103で作成された復号のための情報を蓄積する。
エントロピー復号化部2105は、入力部2101から第1の実施形態におけるエントロピー符号化部106で得られた符号の部分を取得し、復号情報蓄積部2104に蓄積された復号情報を用いて、符号を復号する。
元データ復号化部2106は、エントロピー復号化部2105で得られたデータを、第1の実施形態における符号数制御符号化部103で符号化される元のデータとして復号する。
後処理復号化部2107は、元データ復号化部2106で復号されたデータに、逆正規化、逆量子化の処理などを行ってデータを復元する。
出力部2108は、復元されたデータを出力する。
入力部2101は、第1の実施形態のコンピュータグラフィックスデータ符号化装置が作成した符号化データを取得する部分である。
抽出情報復号化部2102は、入力部2101から、第1の実施形態における抽出情報符号化部108で作成された符号部分を取得し、その符号を復号するためのものである。
取得する符号は、第1の実施形態における抽出情報符号化部108で作成された符号であり、復号は、第1の実施形態における抽出情報符号化部108で符号化したのと逆の手順を行い復号化する。復号化されたデータは、第1の実施形態における抽出情報符号化部108で符号化される前の状態に戻る。具体的には、この抽出情報復号化部2102で復号されたデータとは、例えば、第1の実施形態における符号作成部105で符号語を作成する際に用いられたハフマン木の情報である。
復号作成部2103は、抽出情報復号化部2102で得られたデータにエントロピー復号化を行うための付加情報を加えて符号語を復号するための復号語を作成するためのものである。具体的には、抽出情報復号化部2102で得られたハフマン木の情報を用いて、ハフマン木を再構成し、ハフマン木の根からノードを辿ることで、復号語を作成する。
なお、復号作成部2103は、復号作成部2103で全て作成して符号と復号語のペアのテーブルとして持っていても良いし、再構築したハフマン木の状態で保持してもよい。後者の場合、エントロピー復号化部2105がこのハフマン木を動的に探索しながら復号する。
復号情報蓄積部2104は、復号作成部2103で作成された復号のための情報を保持しておくためのものである。具体的には、上述したハフマン木の状態を保持してもよいし、ハフマン木から作成された復号語のテーブルを保持していても良い。
エントロピー復号化部2105は、入力部2101から、第1の実施形態におけるエントロピー符号化部106で得られた符号の部分を取得し、復号情報蓄積部2104に蓄積された復号情報を用いて、符号を復号するためのものである。入力されるのは、Huff(Sz)BINのフォーマットを持つ符号である。すなわち、エントロピー復号化部2105はSzBIN符号のSzの部分がハフマン符号化された符号を入力する。エントロピー復号化部2105では、この符号を復号し、SzBIN符号の形式に戻す。
具体的には、エントロピー復号化部2105は、符号を先頭から探索し、復号情報蓄積部2104に蓄積された復号情報(ハフマン符号とそれに対応する復号語の情報)に適合する復号語を探し出す。探し出された、適合する復号語が、復号されたSzである。次に、エントロピー復号化部2105はSzの値を参照して続くSzビット分を取得する。この取得されたSzビット分がBIN符号となる。この際、エントロピー復号化部2105は、取得したSzの値が適切な範囲にない場合(例えば、量子化ビット長が16ビットの場合、Szは0〜16の値を取るが、これ以外の値になった場合)は、続くBIN部分には、非符号語が入っているとみなす。非符号語は、例えば、正規化値(scale)などである。この場合、続くBIN部分には、例えば、32ビットの浮動小数表現で、正規化値が入っている。正規化値(scale)などの符号以外の値は、復号情報蓄積部2104に蓄積しておく。
エントロピー復号化部2105が“101”という符号をハフマン符号化された符号として探し出し、その復号語が“01101”になったとする。この場合、復号されたSzは、“01101”つまり、Sz=13であるから、続く13ビットのビット列がBIN符号部分ということになる。すなわち、図22の例でのBIN符号は、“0010110011101”である。
元データ復号化部2106は、エントロピー復号化部2105で得られたデータを、第1の実施形態における符号数制御符号化部103で符号化される元のデータとして復号するためのものである。具体的には、エントロピー復号化部2105で得られたBIN符号を復号し、BIN符号化の前のデータとして復元する。
1.1.MSBが1ならば、1の反転である0をMSBとして付加する、
1.2.MSBが0ならば、0の反転である1をたして、さらに0の反転である1をMSBとして付加する、
という処理を行う。この動作について、例えば、11’b10110011110という符号を復号する場合を説明する。この例では、MSBが1だから上記「1.1」にしたがって、MSBに「1の反転の0」を付加して、12’b010110011110とする。
また、他の例として、13’b0010110011101という符号を復号する場合は、MSBが0であるから上記「1.2.」にしたがって、まず、0の反転である1をたす。すなわち、
13’b0010110011101+1’b1=13’b0010110011110
を得る。次に、「1.2.」にしたがって、MSBに「0の反転の1」を付加する。すなわち、14’b10010110011110を得る。
2.1.MSBが1ならば、上位に連続した1を追加し、16ビットとする、
2.2.MSBが0ならば、上位に連続した0を追加し、16ビットとする、
という処理を行う。例えば、ステップ1の「1.1.」で得られた12’b010110011110という符号は、MSBが0であるから「2.2.」にしたがい、16ビットになるように上位に0を4つ追加する。すなわち、16’b0000010110011110という16ビットの固定小数フォーマットに復号される。
また、ステップ1の「1.2.」で得られた14’b10010110011110という符号は、MSBが1であるから「2.1.」にしたがい、16ビットになるように上位に1を2つ追加する。すなわち、16’b1110010110011110という16ビットの固定小数フォーマットに復号される。
<復号処理まとめ>
以上の2ステップの処理をまとめると、元データ復号化部2106は、ビット長SzのBIN符号に対して、
1.MSBが1の場合(BIN[Sz−1]=1の場合)は、16ビットの下位SzビットにBIN符号を格納し、上位16−Szビットを0で埋める、
2.MSBが0の場合(BIN[Sz−1]=0の場合)は、16ビットの下位SzビットにBIN符号を格納し、16’b0000000000000001を加算したのち、上位16−Szビットを1で埋める、
という処理により16ビット固定小数データとして復号する。
なお、以上は、内部表現として16ビットの固定小数データを用いた場合である。内部表現として任意サイズのビットを混在させた場合は、上記ステップ2の動作は行う必要がない。
後処理復号化部2107は、元データ復号化部2106で復号されたデータに、逆正規化、逆量子化の処理などを行ってデータを復元するためのものである。具体的な処理手順を以下に示す。
1.第1の実施形態で作成された符号化データが、第1の実施形態の前処理符号化部102において、一次微分をして作成されたデータの場合、一次積分処理を行う。すなわち、一次積分処理Vn=Vn−1+ΔVn (n=0,1,2,…)という処理を行う。
2.第1の実施形態の前処理符号化部102における量子化の逆の動作を行い、固定小数データの逆量子化処理を行う。
3.復号情報蓄積部2104から正規化値(scale)を取得し、これを「2.」で得られた逆量子化値に乗算する。
4.得られたデータが符号化前のデータである。
5.以上を、ベクトルの全ての要素に関して行う。
6.以上を、全ての頂点(全てのベクトル)に関して行う。
出力部2108は、後処理復号化部2107で復号化されたデータを、第1の実施形態における入力データと同様のフォーマットで出力するものである。
以上に示した第3の実施形態のコンピュータグラフィックスデータ復号化装置が処理を行うことにより、第1の実施形態で符号化されたデータを復号することができる。
第3の実施形態では、第1の実施形態で作成された符号語の総数、最大符号長を限定するための処理を施した符号の復号を行う。復号語の作成の際、符号語の総数が限定されているため、従来手法のように、膨大なメモリ領域を復号語作成のために確保する必要がなくなり、また、符号語の最大符号長が限定されているため、復号する際のスループットの低下も抑えることができる。このため、復号器の計算コストや実現コストを抑えることが可能となる。
第3の実施形態の変形例1は、第1の実施形態の変形例1で作成された符号の復号を行うための復号器である。
第3の実施形態の変形例1は、構成は、第3の実施形態と同様だが、エントロピー復号化部2105での動作が異なっている。第1の実施形態の変形例1では、符号を2つ以上に分割し、それぞれ符号化を行うことを特徴としている。本変形例では、この復号を行う。具体的には、エントロピー復号化部2105へ入力されて来たデータを先頭から復号してゆき、それらを第1の実施形態の変形例1で分割した手法と同様の手法で結合する処理を行う。
例えば、第1の実施形態の変形例1で、16ビットの符号を上位8ビットAと下位8ビットBに分割し、それぞれをハフマン符号化したものA’,B’を結合したC={A’,B’}という符号が作成されていたとする。この場合、エントロピー復号化部2105はデータを先頭から調査し、まず、A’をAに復号し、次に、B’がBに復号する。そして、エントロピー復号化部2105は{A,B}を復号データとする。
第3の実施形態の変形例2は、第1の実施形態の変形例2で作成された符号の復号を行うための復号器である。
第3の実施形態の変形例2は、構成は第3の実施形態と同様だが、エントロピー復号化部2105での動作が異なっている。第1の実施形態の変形例2では、特定の符号長Nまではハフマン符号語を用い、特定の符号語長Nを超えるデータに関しては、非符号識別子と非符号データの組み合わせで符号化を行うことを特徴としていた。本変形例では、この復号を行う。
第3の実施形態の変形例3は、第1の実施形態の変形例3で行われた要素圧縮処理された符号の復号を行うためのものである。
この場合、第3の実施形態とは、エントロピー復号化部2105、元データ復号化部2106、および、後処理復号化部2107の動作が異なる。
まず、要素圧縮した際にパラメータ値の符号化を行ったかどうかの情報を、抽出情報復号化部2102を経て取得する。パラメータ値部分が符号化されている場合には、エントロピー復号化部2105および元データ復号化部2106は通常と同様に復号化処理を行う。パラメータ値部分が符号化されていない場合には、パラメータ値のビット長(例えば3ビット)分のデータを取得し、それを復号語とする。
後処理復号化部2107は、上記で得られたデータと要素圧縮パラメータのセットから、要素圧縮されたデータの復元を行う。ここでは、例として、(n1,n2,p)から(nx,ny,nz)のデータ復元を考える。
まず、n1,n2にあたる符号の逆量子化、逆正規化処理を通常通り行う。
次に、式(13)と符号化の際に用いた図12の関係を用いてn3を計算する。
sign(n3)は、図12を参照すればわかるように、残り1要素の符号が正(pのLSB(Least Significant bit:最下位ビット)が0)のとき1、負(LSBが1)のとき−1となる関数である。
ルート演算の中身が負となる場合はこの値を0とする。すなわち、
if 1−n12−n22<0 then 1−n12−n22=0・・・(14)
そして、図23を参照し、(n1,n2,n3)を(nx,ny,nz)に変換する。これは、図12を逆変換用に変形したテーブルである。
nx=n3=−1×(1−0.022−0.132)1/2=−0.99,
ny=n1=0.02,
nz=n2=0.13
と変換される。以上で要素展開は終了である。
本実施例では、正規化法線データを例として説明したが、他のデータや、他の要素数の際にも同様である。
次に、本発明の第4の実施形態について説明する。第4の実施形態の復号器は、第2の実施形態で作成された符号を復号するためのものである。
図24は、本発明の第4の実施形態に係るコンピュータグラフィックスデータ復号化装置の全体構成図である。第3の実施形態で図21を参照して説明した装置部分と同様なものは同一の符号を付して説明を省略する。
本実施形態のコンピュータグラフィックスデータ復号化装置は、入力部2101、抽出情報復号化部2102、符号語情報蓄積部2401、復号作成部2402、復号情報蓄積部2403、エントロピー復号化部2404、元データ復号化部2106、後処理復号化部2107、出力部2108を備えている。
復号作成部2402は、抽出情報復号化部2102で得られたデータと、符号語情報蓄積部2401に蓄えられている情報を用いて、符号語を復号するための情報を作成する。
復号情報蓄積部2403は、復号作成部2402で作成された復号のための情報を蓄積する。
エントロピー復号化部2404は、入力部2101から第1の実施形態におけるエントロピー符号化部106で得られた符号の部分を取得し、復号情報蓄積部2403に蓄積された復号情報を用いて、符号を復号する。
<<符号語情報蓄積部2401>>
符号語情報蓄積部2401は、典型的なデータにおけるエントロピー情報と符号語との関係を予め蓄えておくためのものである。具体的には、第2の実施形態で説明した符号テーブル(図16〜図18)を、第2の実施形態と同じ種類のデータとして蓄えておく。
復号作成部2402は、符号語情報蓄積部2401で得られた情報を用いて、抽出情報復号化部2102で得られたデータにエントロピー復号化を行うための付加情報を加えて符号語を復号するための復号語を作成するためのものである。
具体的には、抽出情報復号化部2102からは、第2の実施形態で作成された頻度テーブル(図15)が復号されて得られる。この頻度テーブルと、符号語情報蓄積部2401から得られた符号テーブルを用いて、復号語を作成する。2つのテーブルを図25のように参照することで、ハフマン符号語に対応する復号語(Szの値)を得ることができる。
復号情報蓄積部2403は、復号作成部2402で作成された復号のための情報を保持しておくためのものであり、上記で作成されたハフマン符号と対応する復号語の情報を保持する。
エントロピー復号化部2404は、入力部2101から第1の実施形態におけるエントロピー符号化部106で得られた符号の部分を取得し、復号情報蓄積部2403に蓄積された復号情報を用いて、符号を復号するためのものである。
以上に説明した以外の部分に関しては、第3の実施形態と同様の動作を行う。第4の実施形態では、第2の実施形態で作成した符号データの復号を行うことができる。
第3の実施形態では、復号時に必要な情報(符号化時に抽出部107で出力される情報)として、ハフマン木の情報、または、符号化前のデータとハフマン符号の対応の情報が必要であった。ハフマン木の情報を受け取った場合には、復号語を作成するためには、ハフマン木を再構成して復号語を作成する必要がある。また、符号化前のデータとハフマン符号の対応の情報を受け取った場合には、比較的大きなデータを受け取る必要があった。
また、頻度テーブルを受け取り、それと予め蓄えられている符号テーブルを参照するだけで復号語が作成できるため、ハフマン木から復号語を再構成する必要がある第3の実施形態よりも、シンプルな構成で実現することができる。これは、第4の実施形態に係る復号器を実現するための価格的なコストを抑えることができるという効果を生む。
一方、本発明の実施形態の手法によれば、典型的な復号語データのみ固定として予め符号語情報蓄積部2401に蓄え、頻度情報は個々のデータから得ているため、特定のデータだけでなく、データの傾向が変化しても、常に高いレベルでの符号化による圧縮効率を期待することができる。第4の実施形態は、従来手法と、第3の実施形態の良いところ取り入れたものである。
第4の実施形態の変形例1は、構成は、第4の実施形態と同様だが、エントロピー復号化部2404での動作が異なっている。エントロピー復号化部2404の動作は、第3の実施形態の変形例1と同様の動作を行う。これにより、第4の実施形態の変形例1によれば、第2の実施形態の変形例1で作成された符号の復号を行うことができる。
第4の実施形態の変形例2は、構成は、第4の実施形態と同様だが、エントロピー復号化部2404での動作が異なっている。エントロピー復号化部2105の動作は、第3の実施形態の変形例2と同様の動作を行う。これにより、第4の実施形態の変形例2によれば、第2の実施形態の変形例2で作成された符号の復号を行うことができる。
また、要素圧縮データの展開をするために、第3の実施形態の変形例3と同様の処理を行うことがある。
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーションシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
Claims (25)
- コンピュータグラフィックスデータを取得する取得手段と、
前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、
前記前処理が行われたコンピュータグラフィックスデータを、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、
前記符号数制御符号化手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分を蓄える蓄積手段と、
前記蓄積手段で蓄えられた符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成する符号作成手段と、
前記符号数制御符号化手段で得られた符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、
前記エントロピー情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、
前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、
前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力する出力手段と、を具備することを特徴とするコンピュータグラフィックスデータ符号化装置。 - コンピュータグラフィックスデータを取得する取得手段と、
前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、
前記前処理が行われたコンピュータグラフィックスデータを蓄える蓄積手段と、
前記蓄積手段で蓄えられたコンピュータグラフィックスデータの符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成する符号作成手段と、
前記蓄積手段で蓄えられたコンピュータグラフィックスデータの符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、
前記エントロピー符号化された符号を、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、
前記エントロピー情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、
前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、
前記符号数制御符号化手段で得られた符号と、前記符号化された復号必要情報とを出力する出力手段と、を具備することを特徴とするコンピュータグラフィックスデータ符号化装置。 - 前記符号数制御符号化手段での前記符号総数は、前記エントロピー符号化手段で生成される符号の総数であることを特徴とする請求項1または請求項2に記載のコンピュータグラフィックスデータ符号化装置。
- コンピュータグラフィックスデータを取得する取得手段と、
前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、
前記前処理が行われたコンピュータグラフィックスデータを、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、
前記符号数制御符号化手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄える符号蓄積手段と、
典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、
前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報に基づいて、前記符号数制御符号化手段で得られた符号の符号語を作成する符号作成手段と、
前記符号数制御符号化手段で得られた符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、
前記符号語の作成に基づいて、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、
前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、
前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力する出力手段と、を具備することを特徴とするコンピュータグラフィックスデータ符号化装置。 - コンピュータグラフィックスデータを取得する取得手段と、
前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、
前記前処理手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄える符号蓄積手段と、
典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、
前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報に基づいて、前記前処理手段で得られた符号の符号語を作成する符号作成手段と、
前記前処理が行われたコンピュータグラフィックスデータを、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、
前記エントロピー符号化手段で得られた符号を、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、
前記符号語の作成に基づいて、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、
前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、
前記符号数制御符号化手段で符号化された符号と、前記符号化された復号必要情報とを出力する出力手段と、を具備することを特徴とするコンピュータグラフィックスデータ符号化装置。 - 前記符号数制御符号化手段での前記符号総数は、該符号数制御符号化手段で生成される符号の総数であることを特徴とする請求項4または請求項5に記載のコンピュータグラフィックスデータ符号化装置。
- 前記前処理手段は、量子化、正規化、および、一次微分の処理の少なくともいずれか1つを行うことを特徴とする請求項1から請求項6のいずれか1つに記載のコンピュータグラフィックスデータ符号化装置。
- 前記エントロピー符号化手段は、ハフマン符号を使用して符号化することを特徴とする請求項1から請求項7のいずれか1つに記載のコンピュータグラフィックスデータ符号化装置。
- 前記符号数制御符号化符号化手段は、符号を2つ以上に分割して符号化することを特徴とする請求項1から請求項8のいずれか1つに記載のコンピュータグラフィックスデータ符号化装置。
- 前記符号数制御符号化手段は、符号を、表現することができる最小長の表現とその符号長のペアの情報として符号化することを特徴とする請求項1から請求項8のいずれか1つに記載のコンピュータグラフィックスデータ符号化装置。
- 前記符号数制御符号化手段は、特定の符号長までの符号はそのまま出力し、該符号長を超える符号は新たな符号に置き換える符号化を行うことを特徴とする請求項1から請求項8のいずれか1つに記載のコンピュータグラフィックスデータ符号化装置。
- 請求項1または請求項2に記載のコンピュータグラフィックスデータ符号化装置が符号化したデータを復号化するコンピュータグラフィックスデータ復号化装置において、
前記符号化されたデータを取得する取得手段と、
前記符号化された復号必要情報を復号化する抽出情報復号化手段と、
前記復号化された復号必要情報に基づいて、符号語を復号化するための復号語を得るための復号情報を作成する復号作成手段と、
前記復号情報を蓄積する蓄積手段と、
前記エントロピー符号化された符号を、前記復号情報を使用して復号化するエントロピー復号化手段と、
前記エントロピー復号化手段で復号化されたデータを、符号総数が制御される以前の元データに復号化する元データ復号化手段と、
前記元データ復号化手段で復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化する後処理復号化手段と、
前記後処理復号化手段で得られた、前記前処理が行われる以前のデータを出力する出力手段と、を具備することを特徴とするコンピュータグラフィックスデータ復号化装置。 - 請求項4または請求項5に記載のコンピュータグラフィックスデータ符号化装置が符号化したデータを復号化するコンピュータグラフィックスデータ復号化装置において、
前記符号化されたデータを取得する取得手段と、
前記符号化された復号必要情報を復号化する抽出情報復号化手段と、
典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、
前記復号化された復号必要情報と、前記符号語情報蓄積手段に蓄えられている関係情報とから、符号語と該符号語に対応する復号語の関係である復号情報を作成する復号作成手段と、
前記復号情報を蓄積する復号情報蓄積部と、
前記エントロピー符号化された符号を、前記復号情報を使用して復号化するエントロピー復号化手段と、
前記エントロピー復号化手段で復号化されたデータを、符号総数が制御される以前の元データに復号化する元データ復号化手段と、
前記元データ復号化手段で復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化する後処理復号化手段と、
前記後処理復号化手段で得られた、前記前処理が行われる以前のデータを出力する出力手段と、を具備することを特徴とするコンピュータグラフィックスデータ復号化装置。 - コンピュータグラフィックスデータを取得し、
前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行い、
前記前処理が行われたコンピュータグラフィックスデータを、最終的に生成される符号総数を制御するための処理を行って符号化し、
前記符号総数を制御するための処理を行うことで得られた符号に含まれるエントロピー符号化を行うべき符号部分を蓄え、
前記蓄えられた符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成し、
前記符号総数を制御するための処理を行うことで得られた符号を、前記作成された符号語を用いてエントロピー符号化し、
前記エントロピー情報から復号に最低限必要な復号必要情報を抽出し、
前記復号必要情報をデータ量が少なくなるように符号化し、
前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力することを特徴とするコンピュータグラフィックスデータ符号化方法。 - コンピュータグラフィックスデータを取得し、
前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行い、
前記前処理が行われたコンピュータグラフィックスデータを蓄え、
前記蓄えられたコンピュータグラフィックスデータの符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成し、
前記蓄えられたコンピュータグラフィックスデータの符号を、前記作成された符号語を用いてエントロピー符号化し、
前記エントロピー符号化された符号を、最終的に出力される符号総数を制御するための処理を行って符号化し、
前記エントロピー情報から復号に最低限必要な復号必要情報を抽出し、
前記復号必要情報をデータ量が少なくなるように符号化し、
前記符号総数を制御するための処理を行って符号化して得られた符号と、前記符号化された復号必要情報とを出力することを特徴とするコンピュータグラフィックスデータ符号化方法。 - コンピュータグラフィックスデータを取得し、
前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行い、
前記前処理が行われたコンピュータグラフィックスデータを、最終的に出力される符号総数を制御するための処理を行って符号化し、
前記符号総数を制御するための処理を行って符号化して得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄え、
典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄え、
前記符号部分と前記出現頻度との前記関係情報と前記エントロピー情報と前記符号語との前記関係情報に蓄えられている関係情報に基づいて、前記符号総数を制御するための処理を行って符号化して得られた符号の符号語を作成し、
前記符号総数を制御するための処理を行って符号化して得られた符号を、前記作成された符号語を用いてエントロピー符号化し、
前記符号語の作成に基づいて、前記符号部分と前記出現頻度との前記関係情報と前記エントロピー情報と前記符号語との前記関係情報から復号に最低限必要な復号必要情報を抽出し、
前記復号必要情報をデータ量が少なくなるように符号化し、
前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力することを特徴とするコンピュータグラフィックスデータ符号化方法。 - コンピュータグラフィックスデータを取得し、
前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行い、
前記前処理で得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄え、
典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄え、
前記符号部分と前記出現頻度との前記関係情報と前記エントロピー情報と前記符号語との前記関係情報に基づいて、前記前処理で得られた符号の符号語を作成し、
前記前処理が行われたコンピュータグラフィックスデータを、前記作成された符号語を用いてエントロピー符号化し、
前記エントロピー符号化で得られた符号を、最終的に出力される符号総数を制御するための処理を行って符号化し、
前記符号語の作成に基づいて、前記符号部分と前記出現頻度との前記関係情報と前記エントロピー情報と前記符号語との前記関係情報から復号に最低限必要な復号必要情報を抽出し、
前記復号必要情報をデータ量が少なくなるように符号化し、
前記符号総数を制御するための処理を行って符号化された符号と、前記符号化された復号必要情報とを出力することを特徴とするコンピュータグラフィックスデータ符号化方法。 - 請求項14または請求項15に記載のコンピュータグラフィックスデータ符号化方法によって符号化したデータを復号化するコンピュータグラフィックスデータ復号化方法において、
前記符号化されたデータを取得し、
前記符号化された復号必要情報を復号化し、
前記復号化された復号必要情報に基づいて、符号語を復号化するための復号語を得るための復号情報を作成し、
前記復号情報を蓄積し、
前記エントロピー符号化された符号を、前記復号情報を使用して復号化し、
前記エントロピー復号化で復号化されたデータを、符号総数が制御される以前の元データに復号化し、
前記元データに復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化し、
復号化した、前記前処理が行われる以前のデータを出力することを特徴とするコンピュータグラフィックスデータ復号化方法。 - 請求項16または請求項17に記載のコンピュータグラフィックスデータ符号化方法によって符号化したデータを復号化するコンピュータグラフィックスデータ復号化方法において、
前記符号化されたデータを取得し、
前記符号化された復号必要情報を復号化し、
典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄え、
前記復号化された復号必要情報と、前記エントロピー情報と前記符号語との前記関係情報とから、符号語と該符号語に対応する復号語の関係である復号情報を作成し、
前記復号情報を蓄積し、
前記エントロピー符号化された符号を、前記復号情報を使用して復号化し、
前記復号情報を使用して復号化されたデータを、符号総数が制御される以前の元データに復号化し、
前記元データ復号化手段で復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化し、
復号化した、前記前処理が行われる以前のデータを出力することを特徴とするコンピュータグラフィックスデータ復号化方法。 - コンピュータを、
コンピュータグラフィックスデータを取得する取得手段と、
前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、
前記前処理が行われたコンピュータグラフィックスデータを、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、
前記符号数制御符号化手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分を蓄える蓄積手段と、
前記蓄積手段で蓄えられた符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成する符号作成手段と、
前記符号数制御符号化手段で得られた符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、
前記エントロピー情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、
前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、
前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力する出力手段として機能させるためのコンピュータグラフィックスデータ符号化プログラム。 - コンピュータを、
コンピュータグラフィックスデータを取得する取得手段と、
前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、
前記前処理が行われたコンピュータグラフィックスデータを蓄える蓄積手段と、
前記蓄積手段で蓄えられたコンピュータグラフィックスデータの符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成する符号作成手段と、
前記蓄積手段で蓄えられたコンピュータグラフィックスデータの符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、
前記エントロピー符号化された符号を、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、
前記エントロピー情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、
前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、
前記符号数制御符号化手段で得られた符号と、前記符号化された復号必要情報とを出力する出力手段として機能させるためのコンピュータグラフィックスデータ符号化プログラム。 - コンピュータを、
コンピュータグラフィックスデータを取得する取得手段と、
前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、
前記前処理が行われたコンピュータグラフィックスデータを、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、
前記符号数制御符号化手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄える符号蓄積手段と、
典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、
前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報に基づいて、前記符号数制御符号化手段で得られた符号の符号語を作成する符号作成手段と、
前記符号数制御符号化手段で得られた符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、
前記符号語の作成に基づいて、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、
前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、
前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力する出力手段として機能させるためのコンピュータグラフィックスデータ符号化プログラム。 - コンピュータを、
コンピュータグラフィックスデータを取得する取得手段と、
前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、
前記前処理手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄える符号蓄積手段と、
典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、
前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報に基づいて、前記前処理手段で得られた符号の符号語を作成する符号作成手段と、
前記前処理が行われたコンピュータグラフィックスデータを、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、
前記エントロピー符号化手段で得られた符号を、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、
前記符号語の作成に基づいて、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、
前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、
前記符号数制御符号化手段で符号化された符号と、前記符号化された復号必要情報とを出力する出力手段として機能させるためのコンピュータグラフィックスデータ符号化プログラム。 - 請求項20または請求項21に記載のコンピュータグラフィックスデータ符号化プログラムを使用して符号化したデータを復号化するためにコンピュータで使用されるコンピュータグラフィックスデータ復号化プログラムにおいて、
コンピュータを、
前記符号化されたデータを取得する取得手段と、
前記符号化された復号必要情報を復号化する抽出情報復号化手段と、
前記復号化された復号必要情報に基づいて、符号語を復号化するための復号語を得るための復号情報を作成する復号作成手段と、
前記復号情報を蓄積する蓄積手段と、
前記エントロピー符号化された符号を、前記復号情報を使用して復号化するエントロピー復号化手段と、
前記エントロピー復号化手段で復号化されたデータを、符号総数が制御される以前の元データに復号化する元データ復号化手段と、
前記元データ復号化手段で復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化する後処理復号化手段と、
前記後処理復号化手段で得られた、前記前処理が行われる以前のデータを出力する出力手段として機能させるためのコンピュータグラフィックスデータ復号化プログラム。 - 請求項22または請求項23に記載のコンピュータグラフィックスデータ符号化プログラムを使用して符号化したデータを復号化するためにコンピュータで使用されるコンピュータグラフィックスデータ復号化プログラムにおいて、
コンピュータを、
前記符号化されたデータを取得する取得手段と、
前記符号化された復号必要情報を復号化する抽出情報復号化手段と、
典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、
前記復号化された復号必要情報と、前記符号語情報蓄積手段に蓄えられている関係情報とから、符号語と該符号語に対応する復号語の関係である復号情報を作成する復号作成手段と、
前記復号情報を蓄積する復号情報蓄積部と、
前記エントロピー符号化された符号を、前記復号情報を使用して復号化するエントロピー復号化手段と、
前記エントロピー復号化手段で復号化されたデータを、符号総数が制御される以前の元データに復号化する元データ復号化手段と、
前記元データ復号化手段で復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化する後処理復号化手段と、
前記後処理復号化手段で得られた、前記前処理が行われる以前のデータを出力する出力手段として機能させるためのコンピュータグラフィックスデータ復号化プログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005049409A JP4037875B2 (ja) | 2005-02-24 | 2005-02-24 | コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法 |
US11/234,289 US7339583B2 (en) | 2005-02-24 | 2005-09-26 | Computer graphics data coding apparatus, decoding apparatus, coding method and decoding method |
CN200510131527.9A CN100568284C (zh) | 2005-02-24 | 2005-09-29 | 计算机图形数据编码装置、解码装置、编码和解码方法 |
US11/971,499 US7561162B2 (en) | 2005-02-24 | 2008-01-09 | Computer graphics data coding apparatus, decoding apparatus, coding method and decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005049409A JP4037875B2 (ja) | 2005-02-24 | 2005-02-24 | コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006238036A true JP2006238036A (ja) | 2006-09-07 |
JP4037875B2 JP4037875B2 (ja) | 2008-01-23 |
Family
ID=36912781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005049409A Expired - Fee Related JP4037875B2 (ja) | 2005-02-24 | 2005-02-24 | コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US7339583B2 (ja) |
JP (1) | JP4037875B2 (ja) |
CN (1) | CN100568284C (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5172523B2 (ja) * | 2008-07-31 | 2013-03-27 | 株式会社東芝 | 画像データ処理方法、画像データ処理装置及び圧縮回路 |
JP5367552B2 (ja) * | 2009-12-15 | 2013-12-11 | 株式会社東芝 | 画像処理装置および画像処理プログラム |
WO2011110003A1 (zh) * | 2010-08-24 | 2011-09-15 | 华为技术有限公司 | 二叉树建立、压缩和查找的方法和装置 |
US20150091805A1 (en) | 2013-09-27 | 2015-04-02 | Ayeshwarya Mahajan | Run-time image display on a device |
US9059731B2 (en) * | 2013-10-21 | 2015-06-16 | International Business Machines Corporation | Boosting decompression in the presence of reoccurring Huffman trees |
SE538512C2 (sv) * | 2014-11-26 | 2016-08-30 | Kelicomp Ab | Improved compression and encryption of a file |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06315143A (ja) | 1993-04-28 | 1994-11-08 | Olympus Optical Co Ltd | 画像処理装置 |
KR100186915B1 (ko) * | 1994-07-13 | 1999-05-01 | 모리시다 요이치 | 디지털 부호화 장치 및 디지털 부호 복호화 장치 |
JPH0918350A (ja) | 1995-06-28 | 1997-01-17 | Hitachi Ltd | 符号化復号化装置及び符号化復号化方法 |
US6023301A (en) * | 1995-07-14 | 2000-02-08 | Sharp Kabushiki Kaisha | Video coding device and video decoding device |
JPH1169164A (ja) * | 1997-08-21 | 1999-03-09 | Toshiba Corp | 画像符号化方法および画像符号化装置および画像復号化装置および画像形成装置 |
US6420980B1 (en) * | 1998-10-06 | 2002-07-16 | Matsushita Electric Industrial Co., Ltd. | Lossless compression encoding method and device, and lossless compression decoding method and device |
JP2000138933A (ja) | 1998-11-02 | 2000-05-16 | Fujitsu Ltd | 画像符号化装置 |
US6643402B1 (en) * | 1999-03-23 | 2003-11-04 | Sanyo Electric Co., Ltd | Image compression device allowing rapid and highly precise encoding while suppressing code amount of image data after compression |
US6658159B1 (en) * | 2000-03-17 | 2003-12-02 | Hewlett-Packard Development Company, L.P. | Block entropy coding in embedded block coding with optimized truncation image compression |
CA2359260C (en) * | 2000-10-20 | 2004-07-20 | Samsung Electronics Co., Ltd. | Coding apparatus and method for orientation interpolator node |
US6947874B2 (en) * | 2000-11-16 | 2005-09-20 | Canon Kabushiki Kaisha | Entropy coding |
US7436329B2 (en) * | 2003-04-17 | 2008-10-14 | Droplet Technology, Inc. | Multiple technique entropy coding system and method |
US7199735B1 (en) * | 2005-08-25 | 2007-04-03 | Mobilygen Corporation | Method and apparatus for entropy coding |
-
2005
- 2005-02-24 JP JP2005049409A patent/JP4037875B2/ja not_active Expired - Fee Related
- 2005-09-26 US US11/234,289 patent/US7339583B2/en not_active Expired - Fee Related
- 2005-09-29 CN CN200510131527.9A patent/CN100568284C/zh not_active Expired - Fee Related
-
2008
- 2008-01-09 US US11/971,499 patent/US7561162B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7561162B2 (en) | 2009-07-14 |
US20080118166A1 (en) | 2008-05-22 |
US20060188166A1 (en) | 2006-08-24 |
US7339583B2 (en) | 2008-03-04 |
CN100568284C (zh) | 2009-12-09 |
JP4037875B2 (ja) | 2008-01-23 |
CN1825355A (zh) | 2006-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100894002B1 (ko) | 선택적 압축과 복원 및 압축 데이터에 대한 데이터 포맷을위한 장치 및 방법 | |
US20110181448A1 (en) | Lossless compression | |
Kavitha | A survey on lossless and lossy data compression methods | |
JP4037875B2 (ja) | コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法 | |
US9591334B2 (en) | Common copy compression | |
US20120130965A1 (en) | Data compression method | |
US20150002320A1 (en) | Encoding method, information processing apparatus, and recording medium | |
CN110021369B (zh) | 基因测序数据压缩解压方法、系统及计算机可读介质 | |
KR20200007734A (ko) | 3d 포인트 클라우드 데이터의 부호화/복호화 방법 및 장치 | |
KR20190040063A (ko) | 인덱스 코딩 및 비트 스케줄링을 갖는 양자화기 | |
Rahmani et al. | An efficient histogram-based index mapping mechanism for reversible data hiding in VQ-compressed images | |
US20100321218A1 (en) | Lossless content encoding | |
JP6227186B2 (ja) | データ圧縮装置、データ伸張装置、データ圧縮方法、データ伸張方法及びプログラム | |
CN104380733A (zh) | 视频量化参数编码方法、视频量化参数解码方法、设备、以及程序 | |
Mahmud | An improved data compression method for general data | |
US11309909B2 (en) | Compression device, decompression device, and method | |
CN104682966B (zh) | 列表数据的无损压缩方法 | |
Konecki et al. | Efficiency of lossless data compression | |
US20220005229A1 (en) | Point cloud attribute encoding method and device, and point cloud attribute decoding method and devcie | |
JP2016052046A (ja) | 圧縮装置、伸長装置およびストレージ装置 | |
KR20120013945A (ko) | 각각의 심벌이 세 개 이상의 가능한 심벌 값 중 하나를 가질 수 있는 심벌 시퀀스들의 인코딩 및 디코딩에 대한 방법 및 장치 | |
CN109698704B (zh) | 比对型基因测序数据解压方法、系统及计算机可读介质 | |
US9558109B2 (en) | Method and apparatus for flash memory arithmetic encoding and decoding | |
Hong et al. | On the bitmap compression for joint coding and data hiding of AMBTC compressed images | |
Huang et al. | VQ Coding in Data Hiding Using Correlated Neighboring Blocks in Security Performance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070731 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071001 |
|
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: 20071030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071101 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111109 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121109 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131109 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |