JP4002502B2 - 座標インタポレータの符号化/復号化装置及びその方法 - Google Patents
座標インタポレータの符号化/復号化装置及びその方法 Download PDFInfo
- Publication number
- JP4002502B2 JP4002502B2 JP2002344725A JP2002344725A JP4002502B2 JP 4002502 B2 JP4002502 B2 JP 4002502B2 JP 2002344725 A JP2002344725 A JP 2002344725A JP 2002344725 A JP2002344725 A JP 2002344725A JP 4002502 B2 JP4002502 B2 JP 4002502B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- data
- dpcm
- value
- inverse
- 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
Links
- 238000000034 method Methods 0.000 title claims description 140
- 238000004364 calculation method Methods 0.000 claims description 148
- 238000013139 quantization Methods 0.000 claims description 131
- 125000004122 cyclic group Chemical group 0.000 claims description 19
- 230000002441 reversible effect Effects 0.000 claims description 16
- 230000002123 temporal effect Effects 0.000 claims description 14
- 230000017105 transposition Effects 0.000 claims description 9
- 230000003044 adaptive effect Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 67
- 230000006870 function Effects 0.000 description 33
- 238000006243 chemical reaction Methods 0.000 description 29
- 239000011159 matrix material Substances 0.000 description 12
- 239000006185 dispersion Substances 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- PCLFEHAPITXKJL-UHFFFAOYSA-N 5,8-dihydroxy-2-[2-(4-methoxyphenyl)ethyl]chromen-4-one Chemical compound C1=CC(OC)=CC=C1CCC1=CC(=O)C2=C(O)C=CC(O)=C2O1 PCLFEHAPITXKJL-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
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
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
- H04N19/25—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with scene description coding, e.g. binary format for scenes [BIFS] 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Processing Or Creating Images (AREA)
Description
【発明の属する技術分野】
本発明は合成イメージの符号化及び復号化装置並びに方法に関する。具体的に、本発明は、キーフレームに基づくグラフィックアニメーション方式において、オブジェクトの位置をx、y及びz成分を含む頂点の座標で表わす座標インタポレータの符号化及び復号化装置並びに方法に関する。
【0002】
【従来の技術】
3次元アニメーション表現技法は、3次元コンピュータゲームまたはコンピュータの仮想現実環境において用いられるとよく知られている。VRML(Virtual Reality Modelling Language)は、3次元アニメーションを表現する代表例である。
MPEG−4 BIFS(Binary Format for Scene)及びVRML(Virtual Reality Modelling Language)などの国際マルチメディア標準は、インタポレータノードを用いたキーフレームに基づく3次元アニメーションを支援する。MPEG−4 BIFS及びVRMLには各種のインタポレータがあるが、中でも代表的なものが、スカラーインタポレータ、位置インタポレータ、座標インタポレータ、回転インタポレータ、法線インタポレータ及び色インタポレータである。各インタポレータの種類、機能及び特徴は下記表1に示す。
【0003】
【表1】
【0004】
前記表1に記載されたインタポレータの一つである座標インタポレータは、キーフレームに基づくアニメーションの3次元オブジェクトに含まれる各頂点の位置情報を表わすために用いられ、キーフィールド及びキー値フィールドよりなる。キーフィールドは(−∞,+∞)範囲においてキーフレームが位置する時間を不連続的な数字で表わす。キー値フィールドは、各々のキーが表わす時間に3次元オブジェクトに含まれる各頂点の位置情報を表わし、各頂点はx、y及びzの3成分を有する。従って、キー値フィールドはキーフィールドと同じ数のキー値を含む。このように、キーフレームに基づくアニメーション方式において、所定のキーフレームは時間軸上の任意の時間に位置し、各キーフレーム間のアニメーションデータは線形補間方法により補間される。
【0005】
MPEG−4 BIFS及びVRMLは線形補間を用いるため、線形インタポレータを用いてスムーズで且つ自然なアニメーションを具現するためには、極めて多量のキーデータ及びキー値データが要される。また、このようにスムーズで且つ自然なアニメーションを記憶または伝送するためには大容量の記憶装置と長い時間が必要であった。従って、これらインタポレータの記憶及び伝送のためにはインタポレータを圧縮することが効果的である。
【0006】
MPEG−4 BIFSにおいては、インタポレータノードを符号化して復号化する方法として、PMFC(Predictive MF Coding)と呼ばれる方法がある。図1に示された従来の符号化装置のように、PMFC方法は、量子化器、DPCM(Differential Pulse Code Modulation)及びエントロピ符号化器を用いて座標インタポレータのキー及びキー値データを符号化する。量子化器及びDPCMモジュールはキー及びキー値データの冗長性を除去し、DPCMモジュールの出力はエントロピ符号化器に出力される。しかし、この方法は、通常のDPCM演算により得られた差分データをエントロピ符号化するために、符号化効率が低い。また、従来の符号化装置は、3次元オブジェクトの形状をなす各頂点間の空間的な相関関係のみを考慮するだけであって、キーフレーム方式のアニメーション方式において相当の割合を占める時間的な相関関係は全く考慮しないため、符号化効率が低かった。
【0007】
【発明が解決しようとする課題】
本発明が解決しようとする第1の技術的な課題は、キーデータの性質を考慮してデータの冗長性を除去することによりアニメーションキーデータを効率良く圧縮するキーデータ符号化器、及び空間的な相関関係だけではなく、時間的な相関関係をも考慮してキー値データを符号化するキー値データ符号化器を有する座標インタポレータの符号化装置を提供することである。
【0009】
本発明が解決しようとする第3の技術的な課題は、高い圧縮率及び高画質のアニメーションを提供できる、本発明の座標インタポレータの符号化方法及び装置により符号化されて本発明の復号化方法及び装置により復号化されるビットストリームを記録した記録媒体を提供することである。
【0010】
【課題を解決するための手段】
前記第1の技術的な課題を達成するために、本発明の座標インタポレータ符号化装置は、座標インタポレータのキーデータを所定の量子化ビットで量子化する第1の量子化部、量子化されたキーデータの差分データを生成する第1のDPCM処理部、差分データと差分データの最大値及び最小値との関係に基づき差分データの範囲を狭めるDND演算を行うDND処理部、及びDND処理部から入力された差分データを符号化する第1のエントロピ符号化部を有するキーデータ符号化部と、座標インタポレータのキー値データを所定の量子化ビット数で量子化する第2の量子化部、量子化されたキー値データの各頂点成分に対して所定モードのDPCM演算を行い、各頂点座標の経時変化による差分データ及び空間的な変化による差分データを生成する第2のDPCM処理部、DPCM演算された各頂点成分の差分データ及び差分データに対して行われたDPCM演算モードを表わすシンボル及びシンボルの位置を表わすインデックスを生成する辞書符号化部、及びシンボル及びインデックスをエントロピ符号化する第2のエントロピ符号化部を有するキー値データ符号化部と、キーデータ符号化部及びキー値データ符号化部において符号化されたビットストリームの復号化に必要な情報を符号化するヘッダ符号化部と、を備える。
【0011】
前記第2の技術的な課題を達成するために、本発明の復号化装置は、入力されたビットストリームからキー及びキー値データの復号化に必要なヘッダ情報を復号化して出力するヘッダ復号化部と、入力されたビットストリームをエントロピ復号化し、復号化されたキーデータの差分データを出力する第1のエントロピ復号化部、ヘッダ復号化部から読み込まれたビットストリームの符号化におけるDND演算を行った回数を示すDND次数の数だけエントロピ復号化されたキーデータの差分データに対して逆DND演算を行い、差分データの範囲を広める逆DND処理部、逆DND処理部から入力された差分データに対してヘッダ復号化部から入力されたビットストリームの符号化におけるDPCM演算を行った回数を示すDPCM次数の数だけ逆DPCM演算を行い、量子化されたキーデータを出力する第1の逆DPCM処理部、及び量子化されたキーデータを逆量子化して復号化されたキーデータを出力する第1の逆量子化部を有するキーデータ復号化部と、入力されたビットストリームをエントロピ復号化してキー値データの差分データのシンボル、シンボルの位置を表わすインデックス、及びDPCM演算モードを含む辞書復号化されるべきデータを生成する第2のエントロピ復号化部、ヘッダ復号化部から入力された辞書復号化モード情報に基づき辞書復号化演算を行い、キー値データの差分データを生成する辞書復号化部、DPCM演算モードに基づき辞書復号化部から入力されたキーフレーム間の差分データ及び各頂点間の差分データを復元し、量子化されたデータを生成する第2の逆DPCM処理部、及び前記量子化されたデータを逆量子化して復元されたキー値データを生成する第2の逆量子化部を有するキー値データ復号化部と、を備える。
【0013】
【発明の実施の形態】
以下、添付した図面に基づき、本実施の形態における座標インタポレータ符号化装置/復号化装置及びその方法を説明する。
【0014】
図2は、本実施の形態における座標インタポレータ符号化装置の構成を示すブロック図である。
本実施の形態における座標インタポレータ符号化装置は、入力された座標インタポレータのキーデータを符号化するキーデータ符号化器300と、入力された座標インタポレータのキー値データを符号化するキー値データ符号化器700、及びキーデータ符号化器300及びキー値データ符号化器700において符号化されたキー及びキー値データの復号化に必要な情報を符号化するヘッダ符号化器500を備える。
【0015】
以下、図3から図22に基づいて、本実施の形態におけるキーデータ符号化器について説明する。
図3は、本実施の形態におけるキーデータ符号化器の構成を示すブロック図である。
本実施の形態のキーデータ符号化器300は、線形キー符号化器310、量子化器320、DPCM処理部330、シフト部340、フォルド処理部350、DND処理部360及びエントロピ符号化器370を備える。
線形キー符号化器310は、全体のキーデータの範囲においてキーデータが線形に増える領域を識別して符号化する。量子化器320は、量子化誤差を最小化する方法を用いて、入力されたキーデータを量子化する。DPCM処理部330は、量子化されたキーデータを受け取り、キーデータの差分データを生成する。シフト部340は、全ての差分データから頻度数が最も高い差分データを引く。フォルド処理部350は、全ての差分データを正数の領域または負数の領域に移動させる。DND処理部360は、ディバイド、ディバイド-アップ、及びディバイド-ダウンの3種の演算を選択的に行ってキーデータの差分データの範囲を狭める。キーデータに対するエントロピ符号化器370は、ビットプレイン単位に差分データを符号化するSignedAAC関数及びUnsignedAAC関数を用いて差分データを符号化する。
【0016】
以下、図5及び図6を参照し、本実施の形態におけるキーデータ符号化方法を説明する。図5及び図6は、本実施の形態におけるキーデータ符号化方法を示すフローチャートである。
キーデータが符号化器に入力されると、キーデータの総数及び各キーデータの桁数などの情報はヘッダ符号化器500に入力されて符号化され、入力されたキーデータは線形キー符号化器310において線形キー領域、すなわち、一定の時間間隔をおいてキーフレームが存在してキーデータが同じ差を有し、キーデータが線形に変わる領域の有無を検索し、検索された線形領域を先に符号化する(S4000)。
【0017】
3Dmax、Mayaなどの有名な3次元応用ソフトウェアは、特定の領域が一定の時間間隔を有するキーを用い、キーフレームに基づくアニメーションを生成する。この場合、線形キーデータ領域は、線形領域が始まるキーデータ、終わるキーデータ及び中間に存在するキーフレームの数さえ分かれば簡単にキーデータを符号化できるので、インタポレータにおいて特定領域のキーの符号化のために線形予測を用いることは極めて有用である。
線形予測に用いられる数式は、下記式1の通りである。
【0018】
【数1】
【0019】
ここで、t S は部分的に線形である領域が始まるキーのデータを示し、tEは、部分的に線形である領域が終わるキーのデータを示し、Sは、tSのインデックスを、Eは、tEのインデックスを各々示す。第S番目のキーデータ及び第E番目のキーデータに対応する特定の領域において前記式1により線形的に予測されたキーデータと実際のキーデータとの誤差は、下記式2により計算できる。
【0020】
【数2】
【0021】
もし、前記式2により計算された誤差値のうち最大誤差値が所定の臨界値以下であれば、tiは[ts,tE]区間及び所定の誤差内において類似線形であると言える。最大誤差値及び特定の領域が類似線形であるか否かは、下記式3により決められる。
【0022】
【数3】
【0023】
もし、
であれば、tiは、[tS,tE]区間において類似線形である。ただしnBitsは符号化に用いられる符号化ビット数を示す。
【0024】
ここで、線形キー符号化器310は、部分的に線形である領域を見つければ、領域の開始点のキーデータ及び終了点のキーデータは実数変換部315に出力し、線形キー領域に含まれるキーの数はヘッダ符号化器500に出力して符号化する。このように、線形符号化を用いることにより、符号化するデータの量を大いに低減できるということが分かる。開始キーデータ及び終了キーデータは、実数変換部315において後述する実数変換過程により符号化される。
【0025】
実数変換部315は、開始キーデータ及び終了キーデータを符号化するために2進数体系で表わされたキーデータを10進数体系に変換する。
コンピュータは、実数を32ビットの2進数の形で記憶する。実数が2進数の形で与えられれば、実数変換部315は、実数を10進数体系の仮数及び指数に変換する。すなわち、下記式4のように変換される。
【0026】
【数4】
【0027】
例えば、実数12.34をコンピュータにて2進数の形で表わせば、下記の通りである。
【0028】
10進数体系の仮数及び指数をビットストリームに含めるためには、各々が必要とするビット数を計算しなければならない。まず、指数は−38〜38の範囲の値を有するため、指数は符号を含んで7ビットで表わせる。また、仮数は、桁数に応じて必要なビットの数が決められる。仮数の値及びこれに必要なビット数(但し、符号ビットは除く。)を下記表2に示す。
【0029】
【表2】
【0030】
一方、前記のような過程により検索されて変換された線形キー領域の開始キーデータ及び終了キーデータは、図7及び図8に示されたような符号化過程により符号化され、ヘッダ符号化器500に出力されてビットストリームに記憶される。
【0031】
図7及び図8は、実数変換部315が入力された2つの実数を符号化する過程を示す。図7及び図8を参照し、実数変換部315が変換された実数を符号化する過程を説明する。
【0032】
実数変換部315は、線形キー符号化器310から元のキーデータの桁数(original key digit)Kd、線形領域が始まるキーデータ(Start key)S、線形領域が終わるキーデータ(end key)Eを入力され、前記式4によりキーデータを変換する(S4040)。
【0033】
実数変換部315は、まず、Sを符号化するが、Sの桁数がKdと異なるかを判断し、桁数が異なれば、Sの桁数を求めてヘッダ符号化器500に出力する(S4042)。この時、実数変換部315は、digit関数を用いてSの桁数を求める。
【0034】
その後、実数変換部315は、Sの桁数が7より大きければ、所定のビット数を(本実施の形態では、IEEE754方式のfloating−point number方式により32ビット)を用い、Sの桁数がビットストリームに含まれるようにヘッダ符号化器500に出力する(S4043)。
【0035】
また、Sの桁数が0でなくて7より小さければ、実数変換部315は、Sの符号をヘッダ符号化器500に出力し(S4044)、Sの仮数の絶対値の符号化に必要なビット数を前記表1から求め、求められたビット数として仮数の絶対値をヘッダ符号化器500に出力する(S4045)。その後、Sの指数を求め、符号をヘッダ符号化器500に出力し、指数を所定のビット数として(本実施の形態では6ビット)ヘッダ符号化器500に出力する(S4046)。このように、キーデータの変換により、ビットストリームに含まれるビット数は大幅に減る。
【0036】
また、Sの桁数が0であれば、実数は0を意味するため、それ以上の符号化過程が不要となり、開始キーデータの符号化過程は終わり、終了キーデータを変換するための過程へ進む。
【0037】
実数変換部315は、開始キーデータを変換して符号化した後に終了キーデータEを変換する。Eの変換は、Sの変換と同じ過程を繰り返すが、単に、Eの指数がSの指数と同じ値を有するか否かを判別し(S4047)、両値が同じであれば、これを示すフラグビットのみをヘッダ符号化器500に出力し、両値が相異なれば、フラグビット及びEの指数をSの指数と同じ方式によりヘッダ符号化器500に出力する(S4048)。
【0038】
一方、入力キーデータにおいて線形領域を除いたキーデータは量子化器320に入力され、所定の量子化ビットサイズであるnKeyQBitにより量子化される。
【0039】
しかしながら、復号化器において量子化されたキーデータを復号化して用いる時には、元のキーデータと量子化されたキーデータとの誤差により元のキーデータが完全に復元できない。従って、量子化器320では、単に入力されるキーデータから最大値及び最小値を求め、求められた値を用いて量子化可能であるだけではなく、量子化誤差最小化部325を含んで、量子化誤差が最小化可能に修正された最大値及び最小値を用いて量子化できる。
【0040】
量子化誤差最小化部325は、量子化誤差を最小化するために入力されたデータに対して予め量子化及び逆量子化を行い、量子化の誤差が最小となる量子化の範囲を制御する方法を用いる(S4100)。
【0041】
詳しく説明すると、固定された量子化に用いられる最大値をMaxとし、調節される量子化に用いられる最小値をMinとした時、Xiを入力値、nQuantBitを量子化に用いられるビットとした時、量子化された入力値
、逆量子化された値
、及び誤差eiは、各々下記式5により計算する。
【0042】
【数5】
【0043】
誤差の和eiを減らす方法には2種類があるが、1つは誤差の和が最小となるまでMin値を調節することであり、2つ目は、下記に述べる方法である。
【0044】
まず、ΔXが入力データの基本ステップサイズであり、nが任意の整数であり、iが0平均乱数ノイズであるとした時、入力キーデータシーケンスX i をX i =(i+n)ΔX+ε i のように表わされる量子化された値であると仮定する。
その後、d i =X i −X i−1 =ΔX+(ε i −ε i−1 )であるとした時、Δ’X=E[di]であり、最小値Minは、Max−Δ’X*(2nQuantBit−1)である。
このような方法で求められる量子化誤差を最小化するMin値は、Max値及び量子化器320に入力されてキーデータの量子化に用いられる。
【0045】
量子化誤差が最小となる最大値Max及び最小値Minを受け取った量子化器320は、下記式6を用いてキーデータfKeyiの量子化を行う(S4200)。
【0046】
【数6】
【0047】
ここで、iは、量子化されたキーデータのインデックスを、nQKeyiは、量子化されたデータの整数配列を、fKeyiは、入力キーデータとしての実数配列を、fKeyMax及びfKeyMinは、量子化誤差最小化部325において受け取られた最大値Max及び最小値Minを、nKeyQBitは量子化ビットサイズを各々示す。一方、前記式6において用いられた関数floor(v)は実数vを入力され、v以下の最大整数を出力する関数である。
【0048】
一方、本実施の形態の量子化器320は、前記量子化誤差を最小化するアルゴリズムを用いず、簡単に、入力されたキーデータのうち最大値fKeyMax及び最小値fKeyMinを求めて量子化を行うこともできる。
【0049】
本実施の形態の量子化過程を示す図9を参照し、量子化過程を詳細に説明する。
【0050】
量子化器320は、キーデータを入力され(S4210)、量子化誤差最小化部325から最大値及び最小値が入力されたか否かをチェックする(S4220)。
次に、量子化器320は、量子化誤差最小化部325から最大値Max及び最小値Minが入力されたならば、量子化に用いる最大値fKeyMax及び最小値fKeyMinをMax及びMinとして設定し(S4230)、設定された最大値及び最小値を前記実数変換部315に出力する。量子化に用いられる最大値及び最小値は、前記実数変換過程を通じて変換され符号化されてヘッダ符号化器500に出力されることにより、復号化に利用可能に最大値及び最小値をキーヘッダに含める。
【0051】
量子化器320は、量子化誤差最小化部325から入力された値がなければ、入力されたキーデータのうち最初のキーデータfKey0を最小値fKeyMinとして、そして最後のキーデータfKeyN-1を最大値fKeyMaxとして設定する(S4240)。
その後、量子化器320は、設定された値が1より小さく、且つ、最小値が0より大きいかを判断し(S4250)、そうでなければ、最大値及び最小値を前記実数変換部315に出力し、前記過程を通じて変換して符号化した後、ヘッダ符号化器500に出力して復号化に利用可能に最大値及び最小値をキーヘッダに含める(S4260)。
【0052】
一方、最大値及び最小値が第S3250段階の条件を満足すれば、最大値及び最小値を復号化に利用可能にキーヘッダデータに含めるかを示すフラグをチェックする(S4270)。もし、フラグが最大値及び最小値をキーヘッダに含めるように設定されていれば、前記第S4260段階を行って最大値fKeyMax及び最小値fKeyMinを符号化した後にヘッダ符号化器500に出力し、そうでなければ、量子化器320は、最大値及び最小値をキーヘッダに含めない。
最大値及び最小値をキーヘッダに含めない場合は、キーデータ符号化器及びキーデータ復号化器が互いに最大値を1として、且つ、最小値を0として設定して符号化及び復号化を行うことを規約したケースに当たるため、量子化器320は、最小値fKeyMinを0として、そして最大値fKeyMaxを1として各々設定する(S4280)。このように設定された量子化に用いられる最大値及び最小値は、既に復号化器に知られているため、別途にキーヘッダに含めない。
【0053】
一方、量子化器320は、前記過程を通じて設定されたfKeyMax及びfKeyMinを前記式6に代入して入力されたキーデータを量子化し、量子化されたキーデータをDPCM処理部330に出力する(S4290)。
量子化されたキーデータを受け取ったDPCM処理部330は、所定回数のDPCMを行って最小の散布度が生成される次数及びイントラキーデータをヘッダ符号化器500に出力し、DPCM演算の行われたキーデータの差分データをシフト部340に出力する(S4300)。
【0054】
以下、図10を参照し、DPCM処理過程を説明する。DPCM処理部330は、入力されたキーデータに対してまず所定の回数だけDPCM演算を行い、DPCMが行われた回数はDPCM次数として記憶する(S4310)。本実施の形態では、3回のDPCM演算を行った。
その後、DPCM処理部330は、各次数のDPCM演算の結果に対して散布度を計算する(S4320)。この時の散布度を示す統計値として分散、標準偏差、及び四分偏差などが用いられ、本実施の形態では、四分偏差が散布度として用いられる。
【0055】
各次数のDPCM演算の結果に対する散布度が計算されば、DPCM処理部330は、散布度が最小となるDPCM次数及び該当次数のDPCM結果を選択し、DPCM演算の結果はシフト部340に出力し、DPCM次数、各次数のイントラキーデータ及びその他のDPCM演算において必要な情報はヘッダ符号化器500に出力する(S4330)。但し、本実施の形態では、キーの数が5より小さければ、1次DPCMのみを行った。例えば、1次DPCMが行われる時には、下記式7を用いてDPCM演算を行う。
【0056】
【数7】
【0057】
ここで、iは、量子化されたキーデータのインデックスを、nQKeyiは整数配列を、そしてiは差分データを各々示す。
【0058】
一方、DPCM処理部330は、選択されたDPCMの結果、及びDPCMされたキーデータの差分データを符号化する時に必要なビット数を計算し、所定の記憶場所(本実施の形態では、nQStep_DPCM)に記憶する(S4340)。但し、符号化に必要なビット数を計算する段階は、後述する符号化すべきキーデータを選択する段階において行っても良いということは当業者に取って自明である。
【0059】
DPCM結果を受け取ったシフト部340は、入力された差分データのうち頻度数が最も高い差分データ(以下、モードと称する)を選択して全ての差分データからモードを引くことにより、符号化されるべきデータを0の周りに集中的に分布せしめて符号化に必要なビット数を減らす(S4400)。
シフト演算は、量子化された全てのキーデータの差分データからモードnKeyShiftを引くことにより行われる。このようなシフト演算は、下記式8で表わされる。
【0060】
【数8】
【0061】
ここで、iは、量子化されたキーデータのインデックスを示し、nQKeyiは、整数配列を示し、nKeyShiftは、モード値を示す。シフト演算が行われた後には、キーデータの差分データのうち頻度数が最も高い差分データは0となるので、符号化に必要なビット数を大幅に低減できる。
シフト演算が行われたキーデータは、フォルド処理部350及びDND処理部360に出力され、モード値nKeyShiftは、ヘッダ符号化器500に出力されてキーヘッダに含まれる。
シフトされたデータを受け取ったフォルド処理部350は、DND演算を行うための前処理段階としてフォルド演算を行い、フォルド演算されたキーデータをDND処理部360に出力する(S4500)。
フォルド演算は、0を中心として負数領域及び正数領域に様々に分布される差分データを正数領域または負数領域に集中させて差分データの範囲を狭めるためのものであり、この実施の形態では、下記式9によりフォルド演算を行って差分データの分布を正数領域に集中させた。
【0062】
【数9】
【0063】
ここで、iは、量子化されたキーデータのインデックスを示し、nQKeyiは、整数配列を示す。フォルド演算により、シフトされたキーデータの差分データのうち正数データは正の偶数に、負数のデータは正の奇数に各々変換される。
【0064】
フォルド処理部350は、フォルド演算が行われたデータを符号化する時に必要なビット数を計算して所定の記憶場所nQStep_foldに記憶する。第S4300段階と同じく、符号化に必要なビット数の計算は、後述するエントロピ符号化する差分データを選択する段階において行っても良いということは当業者に取って自明である。一方、フォルド処理部350においてフォルト演算が行われたデータは、DND処理部360に出力される。
【0065】
DND処理部360は、エントロピ符号化の効率を高めるために、入力されたキーデータの差分データに対してDND演算を所定の回数だけ行ってデータの範囲を狭める(S4600)。
【0066】
以下、図4を参照し、DND処理部360について説明する。DND処理部は、DND演算を行うDND演算部362、符号化ビット数に応じてエントロピ符号化すべき差分データを選択する第1の差分データ選択部364、第1の差分データ選択部364においてDND演算の行われた差分データが選択されれば、DND演算の行われた差分データに対してシフト-アップ演算を行うシフト-アップ演算部366、及びDND演算された差分データ及びシフト-アップ演算された差分データのうち散布度が小さい方の差分データを選択してエントロピ符号化器370に出力する第2の差分データ選択部368を備える。
【0067】
まず、DND演算部362において行われるDND演算について説明する。
フォルド演算された差分データがDND演算部362に入力されれば、入力された差分データは半分に分けられ、上位範囲に位置する差分データはディバイド関数によって負数領域に移動する。ディバイド関数は、下記式10のように定義される。
【0068】
【数10】
【0069】
ここで、jは、入力された差分データのインデックスであり、nQKeyjは、整数配列を示し、nKeyMaxは、入力されたフォルド演算された差分データのうち最大値を示す。差分データの分布が全体差分データが占める範囲の境界領域に集中している場合、DND演算はデータの全体領域を大幅に狭める効果がある。
【0070】
ディバイド演算後に散布度が計算されるが、この場合、最小限の符号化ビットサイズが選択されるように符号化に必要なビットサイズが散布度として用いられる。
ディバイド演算が行われた後、DND演算のディバイド-アップ演算またはディバイド-ダウン演算が行われるが、どちらの演算が行われるかはディバイド演算後のデータの分布範囲によって決められる。
【0071】
正数側の範囲のデータ方が多ければ、下記式11により定義されるディバイド-ダウン演算が行われる。
【0072】
【数11】
【0073】
一方、負数側の範囲のデータ方が多ければ、下記式12により定義されるディバイド-アップ演算が行われる。
【0074】
【数12】
【0075】
前記式において、jは、量子化されたキーデータのインデックスであり、nQKeyjは、整数配列であり、nQKeyMaxは、nQKeyjの最大値であり、nQKeyMinは、nQKeyjの最小値である。
【0076】
以下、DND演算部362の演算過程を示す図11を参照し、DND演算過程について説明する。
【0077】
DND演算部362は、フォルド処理部350からキーデータの差分データが入力されれば、入力された差分データのうち最大値nKeyMax及び最小値nKeyMinを求める(S4610)。その後、DND演算部362は、最大値及び最小値の絶対値を比較し(S4620)、最大値が最小値の絶対値以上であれば、求められた最大値を現在のDND演算次数の最大値として設定する(S4622)。
【0078】
DND演算部362は、DND演算次数が1であるか否かをチェックし(S4624)、次数が1であれば、前記式10に最大値nKeyMaxを代入してDND演算部362に入力された差分データに対してディバイド演算を行う(S4630)。
【0079】
ディバイド演算を行ったDND演算部362は、符号化に必要なビットサイズを求めるための関数getQBitを用い、ディバイド演算を行って狭まった差分データの範囲を符号化するために必要なビットサイズを測定する(S4640)。その後、現在のDND演算次数が1であれば(S4650)、前記値をDND演算後に最小符号化ビットサイズを示す値nQBitDNDに一旦記憶し、DND次数を1だけインクリメントする(S4655)。
【0080】
その後、DND演算部362は、前記過程を再び行うが、第S4624段階において次数が1でなければ、前記式11にnKeyMax値を代入してディバイド-ダウン演算を行う(S4634)。DND演算部362は、ディバイド-ダウン演算の行われた差分データの符号化に必要なビット数を計算し(S4640)、この値が以前の次数のDND演算により記憶された符号化に必要な最小値nQBitDNDより小さければ(S4652)、DND演算後に符号化に必要な最小ビットサイズをこの値に変える(S4658)。
【0081】
一方、第S4620段階において、最小値の絶対値が最大値より大きければ、当該次数の最大値を入力された最小値に更新し(S4623)、最小値を前記式12に代入してディバイド-アップ演算を行う(S4638)。その後、DND演算部362は、ディバイド-アップ演算の行われた差分データの符号化に必要なビット数を計算し(S4640)、この値が以前の次数のDND演算により記憶された符号化に必要な最小値nQBitDNDより小さければ(S4652)、DND演算後に符号化に必要な最小ビットサイズをこの値に変える(S4658)。
【0082】
DND演算部362は、所定の回数となるまで前記過程を繰り返すが、DND演算を行う回数は可変的である。例えば、この実施の形態は、DND演算を行う回数を7回として設定した。DND演算部362は、符号化に必要な最小ビットサイズnQBitDND及びその時のDND演算された差分データを第1の差分データ選択部364に出力し、その時の次数をヘッダ符号化器500に出力してビットストリームに含める。
【0083】
第1の差分データ選択部364は、シフト演算された差分データ、フォルド演算された差分データ及びDND演算された差分データを入力され、いかなる演算の結果をエントロピ符号化するかを決める。
【0084】
図5及び図6を参照して、第1の差分データ選択部364は、DND演算後に符号化に必要な最小ビット数nQBitDNDがDPCM演算後の符号化ビットサイズnQStep_DPMC以上であれば(S4700)、DPCM演算の結果を選択してシフト演算を行った後、シフトされた差分データをエントロピ符号化器370に出力してエントロピ符号化する(S4710)。この場合、DND次数は、−1として設定され、ヘッダ符号化器500に出力されてキーヘッダに含まれる。
【0085】
しかし、nQBitDNDがDPCM後の符号化ビットサイズより小さいものの、フォルド演算後の符号化ビットサイズ以上であれば(S4720)、第1の差分データ選択部364は、フォルド演算された差分データをエントロピ符号化器370に出力してエントロピ符号化する(S4730)。この場合、DND次数は、0として設定され、ヘッダ符号化器500に出力されてキーヘッダに含まれる。
【0086】
もし、DND演算された後の差分データの符号化ビット数が最小であれば、第1の差分データ選択部364は、DND演算された差分データをシフト-アップ演算部366に出力し、シフト-アップ演算部366は、差分データを入力され、DND演算された差分データに対して第1の散布度を計算すると共に(S4740)、DND演算された差分データに対して下記式13で定義されるシフト-アップ演算を行った後(S4800)、シフト-アップ演算された差分データの第2の散布度を再び計算する(S4810)。
【0087】
【数13】
【0088】
ここで、jは、量子化されたキーデータの差分データのインデックスであり、nQKeyjは、整数配列であり、そしてnKeyMaxは、差分データのうち最大値を示す。
【0089】
DND演算された差分データ及びシフト-アップ演算された差分データを入力された第2の差分データ選択部368は、第1の散布度及び第2の散布度を比較し(S4900)、シフト-アップ演算後の第2の散布度がDND演算後の第1の散布度より小さければ、シフト-アップ演算が行われた差分データをエントロピ符号化器370に出力してエントロピ符号化し(S4910)、DND演算に用いられた最大値nKeyMax及び最小値nKeyMin、そして、シフト-アップ演算に用いられた最大値nKeyMaxをヘッダ符号化器500に出力してキーヘッダに含める。
【0090】
しかし、DND演算後の第1の散布度がシフト-アップ演算後の第2の散布度より小さければ、第2の差分データ選択部368は、DND演算が行われた差分データをエントロピ符号化器370に出力してエントロピ符号化し(S4920)、DND演算に用いられた最大値nKeyMax及び最小値nKeyMinのみがヘッダ符号化器500に出力される。本実施の形態では、前記第1及び第2の散布度として標準偏差を用いた。
【0091】
エントロピ符号化器370は、符号化すべき差分データの性質に応じて2種の関数演算を行って差分データを符号化する。例えばDPCMが行われてシフト演算が行われた差分データ及びディバイド演算が行われた差分データは、正数及び負数を共に有するため、差分データの符号を含む符号化を行い、フォルド演算された差分データ及びシフト-アップ演算された差分データは正数値のみを有するため、符号を含まない符号化を行う。
【0092】
本実施の形態では、符号を含む符号化関数としてencodeSignedAAC関数を用い、符号を含まない符号化関数としてencodeUnsignedAAC関数を用いて差分データを符号化する。
【0093】
図12は、encodeSignedAAC関数の一例を示す図面である。図12を参照すれば、入力値が74であり、この値に対する符号化ビット数が8であれば、この値の符号は0であり、この値の2進数は1001010となる。符号及び全てのビットプレインは下記のような過程を通じて符号化される。
第1の段階:2進数をMSBからLSBにビットプレイン単位に符号化する
第2の段階:符号化中に現在符号化されるビットが0でないか否かをチェックする。
第3の段階:もし、最初の0ではない値であれば、2進数の現在符号化ビットを符号化した後に符号を符号化する。
第4の段階:2進数の残りのビットを符号化する。
【0094】
encodeUnsignedAAC関数は、符号のない値に対するコンテキストを用いて適応算術符号化ビットストリームに符号化する。これは、符号コンテキストがあるという点を除ければ、前記encodeUnsignedAAC関数の処理過程と類似している。
【0095】
図13から図22は、本実施の形態における各演算が行われた後のキーデータを示す図面である。図13から図22において、横軸は各キーデータのインデックスを示し、縦軸はキーデータの値を示す。
【0096】
図13は、本実施の形態の符号化器に入力された元のキーデータを示す図面である。図13に示されたキーデータが量子化器320に出力されて9ビットの量子化ビットで量子化されれば、図14に示されたように、量子化されたキーデータが得られる。量子化されたキーデータに対してDPCMを行えば、図15のように、キーデータの差分データが得られる。
【0097】
その後、量子化されたキーデータの差分データを約7のモード値にシフトすれば、図16に示されたように、キーデータの差分データが得られ、シフトされた差分データにフォルド演算を行えば、図17に示されたように、いずれも正数に変換されたデータが得られる。
【0098】
フォルドされたデータにDND演算を行ったデータを図18から図20に示す、フォルドされたデータに対してまずDND演算のうちディバイド演算を行った後の差分データを図18に示す。示されたように、正数側の範囲は0〜28であり、負数側の範囲は0〜−29であるため、負数側の範囲がより広い。従って、図18に示されたデータに対してディバイド-アップ演算が行われ、ディバイド-アップ演算の結果を図19に示す。
【0099】
ディバイド-アップ演算によりキーデータの負数側の範囲は正数側の範囲に比べて相当狭まり、DNDの次の次数においてディバイド-アップ演算された差分データに対してディバイド-ダウン演算が行われる。図20は、図19の差分データに対してディバイド-ダウン演算を行った結果を示す図面である。一方、ディバイド-ダウン演算されたキーデータに対してシフト-アップ演算を行った結果を図21に示す。
【0100】
前記図13から図19では、キーデータ及び差分データの範囲が次第に狭まるということが分かる。しかし、シフト-アップ演算結果を示す図21及び図20を比較してみれば、シフト-アップ演算後の符号化されるべき差分データの範囲がより広がったということが分かる。従って、最終的に符号化すべきキーデータの差分データは、ディバイド-ダウン演算が行われた差分データであることが図22から分かる。
【0101】
次に、ヘッダ符号化器500において符号化されてキーヘッダに記憶される情報について説明する。
符号化されるべきキーデータが入力されれば、ヘッダ符号化器500は、入力キーデータからキーデータの桁数及び符号化されるべきキーの総数を入力されて符号化する。その後、ヘッダ符号化器500は、線形キー符号化器310から線形キー符号化された線形キー領域の存否を示す情報及び線形キー領域のキーデータの数を入力され、実数変換部315から実数変換された線形キー領域の開始キーデータ及び終了キーデータを入力される。
【0102】
併せて、実数変換部315が量子化誤差最小化部325から量子化誤差が最小化となる最大値及び最小値を入力されて実数変換した場合には、変換された最大値及び最小値は逆量子化に利用可能に実数変換部315からヘッダ符号化器500に入力されてキーヘッダに含まれる。また、量子化に用いられた量子化ビットサイズもヘッダ符号化器500に入力されてキーヘッダに含まれる。
【0103】
また、ヘッダ符号化器500は、DPCM処理部330からDPCM演算次数及び各次数におけるイントラキーデータを入力され、シフト部340からシフト演算に用いられたモード値を入力され、DND処理部360からシフト-アップ演算が行われたか否か、散布度が最小となるDND次数及び各DND次数における最大値及び最小値を入力される。最後に、ヘッダ符号化器500は、エントロピ符号化器370から符号化に用いられた符号化ビット数を入力されてキーヘッダに符号化する。
【0104】
以下、添付した図23から図36に基づき、本実施の形態における座標インタポレータのキー値データ符号化器及び符号化方法について説明する。
【0105】
図23は、本実施の形態における符号化装置の構成を示すブロック図であり、図24は、本発実施の形態における符号化方法を説明するフローチャートである。
【0106】
図23を参照して、本実施の形態のキー値データ符号化器700は、入力された座標インタポレータキー値データの各頂点の各成分データを所定の量子化ビット数で量子化する量子化器710、量子化された各頂点の成分データに対して所定のDPCM演算を行うDPCM処理部720、差分データをシンボル及びシンボルの位置を表わすインデックスに変換する辞書符号化器750、及び入力された差分データのシンボル及びインデックスをエントロピ符号化するエントロピ符号化器760を備える。
【0107】
以下、図24を参照して、本実施の形態の符号化方法について説明する。
座標インタポレータのキー値データはN×Mサイズのマトリックス状に量子化器710に入力される(S9000)。入力された座標インタポレータのキー値データの一例を下記表3に示す。
【0108】
【表3】
【0109】
前記表3において、Nはキーデータの数(キーフレーム数)を、Mは各キーフレームにおける頂点の数を各々表わす。
【0110】
本実施の形態のキー値データ符号化器700は、座標インタポレータのキー値データを符号化するための2つのモードで動作するが、一つは頂点モードであり、もう一つは転置モードである。前記表3には、頂点モードにおいて量子化器710が量子化すべきキー値データの構造が示してある。本実施の形態のキー値データ符号化器700は、転置モードにおいて前記表3に示された入力されたキー値データの量子化に先立ち、M×N行列への変換を行う。転置変換されたデータ行列は、キー値データの復号化中に逆量子化された後、復号化されたキー値データをN×M行列に再び変換して入力されたキー値データに同じキー値データが復元される。
【0111】
図24を参照して、量子化器710は、外部から入力されたキー値データの符号化モードが転置モードであるかをチェックし(S9100)、転置モードであれば、入力されたN×Mのキー値データ行列をM×N行列に変換する(S9200)。
【0112】
その後、量子化器710は、所定の量子化ビット数で入力または変換されたキー値データ行列の各成分のデータを量子化し、量子化された各成分のキー値データをDPCM処理部720に出力し、量子化に用いられた入力データの各成分の最小値及び最大範囲は10進数体系の実数に変換してヘッダ符号化器500に出力する(S9300)。
【0113】
DPCM処理部720は、入力された量子化されたキー値データに対して時間DPCM演算、空間DPCM演算及び時空間DPCM演算を行い、各々のDPCM演算の結果に対して循環量子化を行い、循環量子化された各差分データのうちエントロピが最も小さい差分データを辞書符号化器750に出力する(S9400)。
【0114】
辞書符号化器750は、入力された差分データに対応する辞書シンボルSij及び位置インデックスIijを生成して出力する(S9400)。具体的に、辞書符号化器750は、入力された差分データに対して行われたDPCM演算モードを表わすシンボル及び位置インデックスを生成し、差分データを、差分データに存在する値を表わすシンボルまたはシンボルフラグ、及びシンボルの位置を表わすインデックで生成してエントロピ符号化器に出力する。
【0115】
エントロピ符号化器760は、入力されたキー値データ成分のシンボル及びインデックスをエントロピ符号化してビットストリームを生成する(S9800)。
以下、前述した各段階を図25から図36を参照して詳細に説明する。
【0116】
図27に示すように、量子化器710は、入力された各成分データの最大値及び最小値を選択する(S9320)。
【0117】
量子化器710は、選択された各成分のデータの最大値及び最小値を用いて各成分データの範囲を計算し、全ての成分データの範囲のうち最大範囲を決める(S9340)。
次に、量子化器710は、各成分の最小値及び決められた全ての成分の最大範囲を用い、下記式14により各成分のキー値データを量子化する(S9360)。
【0118】
【数14】
【0119】
前式14において、iはキーデータを、jは頂点を、nKVQBitは量子化ビットサイズを各々表わす。また、fMin_X、fMin_Y及びfMin_Zは各成分データの最小値を、fMaxは各成分データの範囲のうち最大範囲を表わす。
【0120】
量子化器710は、量子化された各成分のキー値データをDPCM処理部720に出力し、前記各成分の最小値fMin_X、fMin_Y、fMin_Z及び最大範囲fMaxを10進数体系の実数に変換してヘッダ符号化器500に出力する。
【0121】
以下、図25及び図28に基づき、本実施の形態のキー値データ符号化器のDPCM処理部及びDPCM演算方法について説明する。
【0122】
本実施の形態のキー値データ符号化器のDPCM処理部の構成を示すブロック図である図25に示すように、本実施の形態のDPCM処理部720は、量子化器710から入力された各成分データに対して時間DPCM演算、空間DPCM演算及び時空間DPCM演算を行うDPCM演算部730、DPCM演算部730から入力された差分データの範囲を狭める循環量子化器740、循環量子化器740から入力された差分データのうち何れか一つを選択して出力するDPCMモード選択部745を備える。また、DPCM演算部730は、入力された量子化された各成分データに対して時間DPCM演算を行う時間DPCM演算部731、量子化された各成分のデータに対して空間DPCM演算を行う空間DPCM演算部733、及び量子化された各成分データに対して時間及び空間DPCM演算を行う時空間DPCM演算部735を備える。
【0123】
キー値データのDPCM演算方法を説明する詳細フローチャートである図28に示すように、量子化器710から入力された量子化された各成分のデータは、時間DPCM演算部731、空間DPCM演算部733、及び時空間DPCM演算部735に各々入力されてDPCM演算が行われる(S9420)。
【0124】
時間DPCM演算部731は、現在キーフレームの各頂点の各成分データと以前キーフレームの各頂点の各成分データとの差を計算する。時間DPCM演算は下記式3で表わされる。
【0125】
【数15】
【0126】
前式15において、iはキーデータを、jは頂点のインデックスを各々表わす。
【0127】
一方、空間DPCM演算部733は、同じキーフレームの各頂点間の差を計算する。具体的には、空間DPCM演算部733は、空間DPCM演算を行うべき現在の頂点の以前に空間DPCM演算の行われた頂点に対し、下記式16を用いてエントロピを計算する。
【0128】
【数16】
【0129】
前記式16において、は頂点からシンボルが生じる確率であって、Fi/Nであり、ここで、Fiは、頂点からそのシンボルが生じる回数であり、Nはキーデータの数である。
【0130】
空間DPCM演算部733は、頂点のうち、エントロピが最も低い頂点を基準頂点として設定し、現在空間DPCM演算が行われるべき頂点及び基準頂点の成分データ間の差分データを計算する。空間DPCM演算は、下記式17で表わされる。
【0131】
【数17】
【0132】
一方、時空間DPCM演算部735は、現在キーフレームの各頂点に対して空間DPCM演算を行い、現在キーフレームの各頂点に対応する以前キーフレームの各頂点に対して現在キーフレームの各頂点の基準頂点に対応する頂点を基準頂点として空間DPCM演算を行った後、現在キーフレームの頂点に対応する差分データと以前フレームの頂点に対応する差分データとの差を計算する。すなわち、空間DPCM演算された結果に対して時間DPCM演算を行う。時空間DPCM演算は、下記式18で表される。
【0133】
【数18】
【0134】
但し、空間DPCM演算及び時空間DPCM演算のうち、
または
が量子化された最小値より小さければ、これらの値の代わりに量子化された最小値がDPCM演算に用いられる。また、空間DPCM演算及び時空間DPCM演算のうち、
または
が量子化された最大値より大きければ、これらの値の代わりに量子化された最大値がDPCM演算に用いられる。
【0135】
DPCM演算部730は、計算された差分データを循環量子化器740に出力し、循環量子化器740は、時間DPCM演算された差分データ、空間DPCM演算された差分データ、及び時空間DPCM演算された差分データの各々に対して循環量子化を行い、循環量子化された各差分データをDPCMモード選択部745に出力する(S9440)。
【0136】
図31は、量子化器710の出力の一例を示し、図32は、図28に示された量子化されたデータに対してDPCM演算が行われた結果を示す。図32に示されたように、量子化された値に対してDPCM演算が行われれば、符号化されるべきデータの範囲は2倍まで広がる。循環量子化の目的は、量子化された値のデータ範囲を維持しつつDPCM演算を行うことである。
このために、循環量子化は、DPCM演算された差分データの最大値がDPCM演算された最小値と循環的に連結されていると仮定する。従って、2つの連続された量子化された差分データ間の線形DPCMの結果がDPCM演算された差分データの最大値の半分より大きければ、差分データの最大範囲を減算してさらに小さい値で表わし、2つの連続された量子化された差分データ間の線形DPCMの結果がDPCM演算された差分データの最小値の半分より小さければ、差分データの最大範囲を合算してさらに小さい値で表わす。
【0137】
循環量子化器740の循環量子化演算は、下記式19で表わされる。
【0138】
【数19】
【0139】
前記式19において、nQMaxは、DPCM演算された差分データのうち最大値を、nQMinは、DPCM演算された差分データのうち最小値を表わす。図32に示されたDPCM演算されたデータに対して循環量子化を行った結果が図33に示されている。
【0140】
循環量子化器740は、循環量子化された各差分データをDPCMモード選択部745に出力する。
DPCMモード選択部745は、各頂点に対して入力された時間、空間及び時空間DPCM演算された差分データのエントロピを前記式4により計算する(S9460)。
その後、DPCMモード選択部745は、計算されたエントロピが最も小さいDPCM演算の結果を各頂点のDPCM演算モードとして選択し、選択されたDPCMモードによる差分データ及びDPCMモード情報を辞書符号化器750に出力する(S9480)。
【0141】
次に、図26及び図29に基づき、本実施の形態の辞書符号化器750及び辞書符号化方法について説明する。
【0142】
本実施の形態の辞書符号化器750の構成を示すブロック図である図26に示すように、辞書符号化器750は、入力された各頂点の各成分データに対して行われたDPCM演算モードを符号化するDPCMモード符号化器752、入力された各頂点の各成分の差分データ値を表わすシンボル及びシンボルの位置を表わすインデックスを生成する発生モード符号化器756、入力された各頂点の各成分の差分データのシンボルに対応する設定フラグ及びシンボルの位置を表わすインデックスを生成する増加モード符号化器758、及び入力された各頂点の各成分の差分データを表わすためのシンボルテーブルの大きさ及びシンボルフラグテーブルの大きさを計算し、DPCMモード符号化器752から入力された差分データを発生モード符号化器756または増加モード符号化器758に出力するテーブルサイズ計算部754を備える。
【0143】
まず、辞書符号化器750は、DPCMモード符号化器752において、入力された各頂点の差分データの量子化選択フラグの値が1であるかをチェックし、フラグ値が1であれば、後述する過程を行う。しかし、フラグ値が0であれば、これは、該当頂点の全てのキーフレームにおける量子化された値が同じであるということを意味するため、辞書符号化過程を省略し、量子化された値QMinをキー値ヘッダとして符号化する。
【0144】
本実施の形態の辞書符号化方法を説明する図29に示すように、DPCM処理部720において生成された各頂点の各成分の差分データは、まずDPCMモード符号化器752に入力され、DPCMモード符号化器752は、入力された各頂点の各成分データのDPCMモードを表わすシンボル及びシンボルの位置を表わすインデックスを生成する(S9620)。
【0145】
図34は、本実施の形態のDPCMモード符号化器752がDPCMモードを符号化する方法を示す図面である。
図34に示すように、DPCMモード符号化器752は、各頂点に対して各成分のDPCMモードの組合せ及びこれに対応するシンボルを表わすテーブルを予め用意する。時間DPCM演算をT、空間DPCM演算をS、時空間DPCM演算をT+Sとした時、各頂点のDPCMモードの組合せは、下記表4の通りである。
【0146】
【表4】
【0147】
各頂点はx、y及びzの3成分を含むため、DPCMモードの組合せは27種に固定される。
【0148】
一方、図34に示されたように、入力された各頂点の差分データは、各成分のDPCM演算モードの組合せに応じて前記表4の何れか一つのシンボルに対応する。DPCMモード符号化器752は、入力された各頂点のDPCMモードを表4のシンボルに対応づけ、該当シンボルが差分データに存在することを表わすようにフラグを設定する。
【0149】
DPCMモード符号化器752は、入力された各頂点のDPCMモードの組合せに対応するシンボルを一列に整列し、小さいシンボルからインデックスを生成する。
【0150】
入力された差分データに対応するDPCMモードのシンボルの列は、図34に示されたように、(4,1,5,1,4,5)である。この時、最も小さいシンボルは1(T,T,S)であるため、DPCMモード符号化器752は、データ列においてシンボル1がある位置を表わすインデックスを生成するが、シンボル1の位置は1に設定する。従って、インデックスは(0,1,0,1,0,0)となる。
【0151】
その後、DPCMモード符号化器752は、シンボル列のうち1の次に小さいシンボル4(T,S,S)の位置を表わすインデックスを生成するが、シンボル4の位置は1に設定する。但し、この場合、シンボル1の位置は考慮しない。従って、生成されたインデックスは、(1,0,1,0)となる。その後、DPCMモード符号化器752は、残りのシンボル5(T,S,T+S)の位置を表わすインデックスを生成する。従って、シンボル5を表わすインデックスは(1,1)となる。
【0152】
DPCMモード符号化器752は、設定されたフラグ及びインデックスをテーブルサイズ計算部754に出力する。
図26及び図29に示すように、テーブルサイズ計算部754は、入力された差分データの発生モードの符号化時に用いられるシンボルテーブルのサイズA、及び入力された差分データの増加モードの符号化時に用いられる予め設定されたシンボルテーブルの各シンボルに対応するシンボルフラグの大きさBを計算する(S9460)。
【0153】
テーブルサイズ計算部754は、発生モード符号化器756に用いられるシンボルテーブルの大きさA=S×(AQP+1)及び増加モード符号化器に用いられるシンボルテーブルに対応するシンボルフラグの大きさB=2(AQP+1)−1を比較する(S9660)。ここで、Sは、差分データに含まれるシンボル数であり、AQPは、シンボルを表わすためのビットサイズである。
【0154】
また、テーブルサイズ計算部754は、AがBより小さければ、入力された各頂点の差分データを発生モード符号化器756に出力し、BがAより小さければ、入力された各頂点の差分データを増加モード符号化器758に出力する。
【0155】
以下、図35を参照して、本実施の形態の発生モード符号化器756の処理過程について説明する。
【0156】
発生モード符号化器756は、入力された差分データから生じた差分値に対応するシンボル及びシンボルの位置を表わす位置インデックスを生成する(S9680)。
【0157】
図35に示すように、入力された差分データが(3,7,3,7,−4,7,3,−4,3,7,−4,−4)であれば、発生モード符号化器756は、入力された各頂点の差分データの差分値に対応するシンボル(3,7,−4)を順次に記録したテーブルを作成する。
【0158】
発生モード符号化器756は、入力された差分データ列において最初のシンボルである3を符号化した後、以降のキーフレームにおいて3が現れる位置を1に設定し、3が現れていない位置は0に設定して位置インデックスを生成する。シンボル3に対して生成されたインデックスは、(01000101000)となる。
【0159】
また、発生モード符号化器756は、次のシンボルである7に対してインデックスを生成するが、この時、図35に示されたように、以前シンボルの位置は考慮しない。従って、シンボル7に対するインデックスは、(1010100)となる。
【0160】
発生モード符号化器756において生成されるインデックスは、符号化されていないシンボルの位置のみを考慮するため、最後のシンボル−4の位置インデックスは(111)となる。
【0161】
一方、図35に示された例では、bSoleKVフラグがモード0に設定された。bSoleKVフラグは、差分データに含まれたシンボルが一回のみ生じるかを表わすフラグであって、もし、シンボルが一回のみ生じてインデックスが全て0であれば、該当シンボルに対するbSoleKVフラグは1に設定され、インデックスは符号化されない。発生モード符号化器756は、差分データをエントロピ符号化するために各シンボル、シンボルのインデックス、及びbSoleKVフラグをエントロピ符号化器760に出力する。
【0162】
以下、図36に基づき、本実施の形態の増加モード符号化器758の処理過程について説明する。
【0163】
増加モード符号化器758は、シンボル値の代わりにシンボルの存否を表わすフラグ及びシンボルの位置を表わす位置インデックスを生成する(S9690)。
【0164】
また、増加モード符号化器758は、差分データに存在するシンボルをテーブルで予め生成する。テーブルはシンボルの絶対値の上がり順に生成され、同じ絶対値のうち正数が負数より上位に位置する。従って、テーブルに記載されるシンボルの順序は0,1,−1,2,−2,3,−3...となる。シンボルテーブルのシンボルに対応するシンボルフラグのサイズは、前述したように、2(AQP+1)−1として計算されるが、例えば、AQPが2であれば、ンシンボルフラグで表わせるシンボル数は7となる。また、シンボルフラグは、各シンボルに対応する値が差分データに存在すれば1に設定され、フラグが1に設定されたシンボルに対してのみ位置インデックスが生成される。
【0165】
例えば図36に示すように、増加モード符号化器758に入力された差分データが図36の通りである時、差分データに存在するシンボルは(−1,2,−3)であるため、シンボルフラグは(0,0,1,1,0,0,1)の順に設定される。
【0166】
増加モード符号化器758は、シンボルテーブルの上位に位置するシンボルに対応する位置インデックスを先に生成する。図36に示されたように、増加モード符号化器758は、シンボルテーブルの最上位シンボルである−1の位置を1に設定し、その他の位置を0に設定してインデックスを(101000101000)として生成する。
【0167】
次に、増加モード符号化器758は、シンボル−1の位置を考慮せず、残りの位置に対してインデックスを(00101011)として生成する。最後に、増加モード符号化器758は、以前に符号化されたシンボルの位置を考慮せず、シンボル−3のインデックスを(1111)として生成する。増加モード符号化器758は、差分データをエントロピ符号化するために、フラグと各シンボルの位置インデックスをエントロピ符号化器760に出力する。
【0168】
一方、本実施の形態の発生モード符号化器756及び増加モード符号化器758において生成されたインデックスは、いずれもnTrueOneと呼ばれるフラグを有する。このフラグは、元の位置インデックスが反転されたか否かを表わすものであって、このフラグが0に設定されれば、現在の位置インデックスは元の位置インデックス値が反転されたということを意味する。このように位置インデックスを反転させる理由は、インデックスに1が多く含まれた場合、反転により0の数を増やして算術符号化の効率を高めるためである。
【0169】
以下、図30に基づいて、本実施の形態のエントロピ符号化方法について説明する。
【0170】
本実施の形態のエントロピ符号化器760は、増加モード符号化器758から差分データのシンボルを表わすフラグ及び位置インデックスを入力されてエントロピ符号化し、発生モード符号化器756から差分データのシンボル及び位置インデックスを入力され、シンボルをencodeSignedQuasiAAC関数を用いて符号化する。
【0171】
encodeSignedQuasiAAC関数は、入力された値及び符号に対するコンテキストを用いて適応算術符号化されたビットストリームを生成するが、この関数は0でない最初のビットを符号化した後に符号が符号化され、残りのビットはゼロコンテキストを用いて符号化される。
【0172】
図30は、encodeSignedQuasiAAC関数を用いたシンボルの符号化過程を説明するフローチャートである。
【0173】
まず、エントロピ符号化器760は、符号化すべき差分データのシンボル及び各シンボルのビットサイズQbitを入力される(S9810)。
【0174】
次に、エントロピ符号化器760は、先に入力されたビットサイズから2を引いて変数iに記憶する(S9820)。
【0175】
そして、エントロピ符号化器760は、エントロピ符号化すべき値nValueの絶対値を変数valに記憶した後、valにiだけShiftRight演算を行い、SR演算の行われた結果と“1”とのAND演算を行って結果をbit変数に記憶する(S9830)。
【0176】
この段階が最初に行われれば、エントロピ符号化されるべき入力値のうち符号を除いた最初のビットが検出され、以降段階において、最初のビットに相次いで1ビットずつ読み出される。
【0177】
そして、エントロピ符号化器760は、val値が1以下であるか否かをチェックし(S9840)、valが1より大きければ、qf_encode関数を用いてbit値をゼロコンテキストにより符号化する(S9850)。一方、val値が1以下であれば、qf_encode関数を用いてbit値を第i番目のコンテキストにより符号化する(S9860)。
【0178】
もしも、val値が1以下であればエントロピ符号化器760は、val値が1であるか否かを再びチェックし(S9870)、val値が1であれば、nValue値の符号を設定し(S9880)、設定された符号及び符号コンテキストにより符号化する(S9890)。
【0179】
一方、エントロピ符号化器760は、1ビットの符号化過程が終われば、iを1だけデクリメントし(S9900)、デクリメントされたiが0より小さいかを否かをチェックし(S9910)、iが0より小さくなるまで前記第S9830段階からS9900段階を繰り返し、入力された値をエントロピ符号化する。
【0180】
最終的に、前記のような過程により、エントロピ符号化器760は入力された値の0でない最初値は該当ビット位置のコンテキストにより符号化し、その後のビットは全てゼロコンテキストにより符号化する。
【0181】
以下、図23を参照して、本実施の形態のヘッダ符号化器500において、キー値ヘッダに符号化される情報について説明する。
ヘッダ符号化器500は、座標インタポレータを入力されてデータのモード、各キーフレームの頂点数、頂点数を符号化するのに必要なビット数、及び各実数の最大有効桁数を符号化する。
【0182】
また、ヘッダ符号化器500は、量子化器710から量子化ビット数、量子化に必要な各頂点の各成分の最小値及び最大範囲、及び量子化された後の各頂点の各成分の最大値及び最小値を符号化する。
【0183】
また、ヘッダ符号化器500は、DPCM処理部720から各頂点の各成分データに対して行われたDPCM演算モードを入力され、辞書符号化器750から辞書符号化モードを入力されて符号化する。
【0184】
以上、本実施の形態における座標インタポレータのキー及びキー値データ符号化装置について説明してきた。以下では、添付した図面に基づき、本実施の形態における座標インタポレータのキー及びキー値データを符号化したビットストリームを復号化する方法及び装置について説明する。
【0185】
図37は、本実施の形態における座標インタポレータ復号化装置の構成を示すブロック図である。
【0186】
本実施の形態の復号化装置は、入力されたビットストリームからキーデータを復号化するキーデータ復号化器1300、入力されたビットストリームからキー値データを復号化するキー値データ復号化器1500、及び入力されたビットストリームからキー及びキー値データの復号化に必要なヘッダ情報を復号化してキーデータ復号化器1300及びキー値データ復号化器1500に与えるヘッダ復号化器1800を備える。
【0187】
以下、図38から図40に基づき、本実施の形態によるキーデータ復号化器1300及び復号化方法について説明する。
【0188】
図38は、本実施の形態における復号化装置の構成を示すブロック図である。本実施の形態の復号化器は、符号化されたビットストリームを受け取って復号化されたキーデータを再構成する。
【0189】
本実施の形態のキーデータ復号化器1300は、エントロピ復号化器1310、逆DND処理部1320、逆フォルド処理部1330、逆シフト部1340、逆DPCM処理部1350、逆量子化器1360、線形キー復号化器1380及び実数逆変換部1370を備える。
【0190】
図39は、本実施の形態によるキーデータ復号化方法を説明するフローチャートである。
【0191】
まず、キーデータは、ヘッダ復号化器1800及びエントロピ復号化器1310に入力される。
ヘッダ復号化器1800は、各復号化段階別に必要な情報を復号化して各段階に与える(S14000)。ヘッダ復号化器1800において復号化される各段階における情報について説明する。
【0192】
ビットストリームを入力されたエントロピ復号化器1310は、ヘッダ復号化器1800から復号化すべき差分データの数と符号化に用いられたビット数、すなわち、復号化すべきビット数を入力され、ビットストリームをエントロピ復号化する(S14100)。この時、復号化すべき差分データの数は、与えられたキーデータの数からDPCM演算のイントラキーデータの数だけ引いた数となる。
【0193】
ここで、エントロピ復号化器1310は、ビットストリームを復号化する時、ビットストリームに含まれた所定の情報(この実施の形態では、bSignedAACFlag)に基づき符号化された差分データが負数であるか、それとも正数であるかを識別し、負数であれば、decodeSignedAAC関数を用いて復号化し、正数であれば、decodeUnsignedAAC関数を用いて復号化する。このようにして復号化された差分データは、逆DND処理部1320に送られる。
【0194】
次に、エントロピ復号化された差分データを受け取った逆DND処理部1320は、ヘッダ復号化器1800からDND次数及び各DND次数における最大値nKeyMaxを入力される。
【0195】
もし、DND次数が−1であれば、これは、符号化器がDND演算された差分データの代わりにDPCM演算されてシフトされた差分データをエントロピ符号化したことを意味するため、逆シフト演算を行う過程へ直ちに進む。一方、DND次数が0であれば、これは、符号化器がDND演算された差分データの代わりにフォルドされた差分データをエントロピ符号化したことを示すために、逆フォルド演算を行う過程へ直ちに進む。しかし、DND次数が0より大きければ、逆DND演算を行う(S14200)。
【0196】
まず、逆DND処理部1320は、シフト-アップ演算の行われた差分データが符号化されたか否かを判断する(S4170)。本実施の形態においては、ビットストリームに含まれたnKeyInvertDown値が0より大きいか否かをチェックすることにより、シフト-アップ演算の行われた差分データが符号化されたか否かを判断する。
【0197】
もし、シフト-アップ演算の行われていない差分データが符号化されたならば、逆DND処理部1320は、逆DND演算を行う過程へ進む。しかし、シフト-アップ演算の行われた差分データが符号化されたならば、シフト-アップ演算により正数の領域に移動した差分データをさらに元の負数領域に戻す(S4200)。本実施の形態は、下記式20で表わされるシフト-ダウン(以下、“インバート−ダウン”と同じ意味で使用する)演算を行ってシフト-アップ演算された差分データを復元する。
【0198】
【数20】
【0199】
ここで、nKeyInvertDownは、シフト-アップ演算における最大値ンKeyMaxと同じ値が用いられる。シフト-ダウン演算によりnKeyInvertDownを超える差分データは−1以下の負数値に変わる。
【0200】
シフト-ダウン演算の行われた差分デーに対して各DND次数におけるnKeyMax値に応じて逆ディバイド-ダウンまたは逆ディバイド-アップ演算が選択的に行われる。
【0201】
図40を参照して、この逆DND演算過程について説明すると、逆DND処理部1320は、符号化中に行われたDND演算の次数の回数だけ逆DND演算を行う。すなわち、逆DND処理部1320は、逆DND次数の初期値をDND次数として設定し、逆DND演算を行う都度、1ずつデクリメントし、逆DND次数が1となるまで逆DND演算を行う。
【0202】
そして、逆DND処理部1320は、各次数におけるnKeyMax値をチェックしてnKeyMax値が0以上であるか否かを判断する(S14510)。nKeyMax値が0より小さければ、符号化中にディバイド-アップ演算が行われた旨を意味するために、逆DND処理部1320は、逆ディバイド-アップ演算を行って差分データの範囲を負数領域に広め(S14530)、下記式21のような逆ディバイド-アップ演算を用いる。
【0203】
【数21】
【0204】
ここでもし、nKeyMaxが0以上であれば、逆DND処理部1320は、逆DND演算の次数が1であるか否かをチェックする。逆DND次数が1でなければ、符号化する時にディバイド-ダウン演算が行われた旨を意味するために、逆DND処理部1320は、逆ディバイド-ダウン演算を行って差分データの範囲を正数領域に広め(S14570)、下記式22のような逆ディバイド-ダウン演算を用いる。
【0205】
【数22】
【0206】
ここでもし、nKeyMaxが0以上であり、且つ、逆DND演算の次数が1であれば、逆DND処理部1320は、逆ディバイド演算を行うことにより逆DND演算を終え(S14590)、下記式23のような逆ディバイド演算を用いる。
【0207】
【数23】
【0208】
次に、逆DND演算の行われたキーデータの差分データは、逆フォルド処理部1330に入力され、逆フォルド処理部1330は、逆フォルド演算を行い、正数領域にのみ位置する差分データの範囲を正数及び負数に分離し(S14600)、下記式24のような逆フォルド演算を用いる。
【0209】
【数24】
【0210】
そして、逆フォルドされた差分データは、逆シフト部1340に出力され、逆シフト部1340は、ヘッダ復号化器1800から符号化器に用いられたモードnKeyShiftを入力され、下記式25のように入力されたnKeyMax差分データにモードを加える(S14700)。
【0211】
【数25】
【0212】
逆シフト部1340から差分データを入力された逆DPCM処理部1350は、ヘッダ復号化器1800からDPCM次数を入力され、差分データを量子化されたキーデータに復元する(S14800)。逆シフト部1340は、下記式26を用いてDPCM次数だけ逆DPCM演算を行う。
【0213】
【数26】
【0214】
ここで、iは、差分データ及びキーデータのインデックスを、vは整数配列を、delta(i)は差分データを各々表わす。
【0215】
逆DPCM処理されて生成された量子化されたキーデータは、逆量子化器1360に入力され、逆量子化器1360は、ヘッダ復号化器1800から量子化ビットサイズnKeyQBit及び逆量子化に用いられる最大値及び最小値が量子化中に実数変換部315により符号化されたか否かを入力され、下記式27を用いて入力された量子化されたキーデータを逆量子化されたキーデータに変換する(S14900)。
【0216】
【数27】
【0217】
符号化器においてキーデータを量子化する時、量子化に用いられた最大値及び最小値が実数変換部315において変換されなかったならば、前記式27のfKeyMin及びfKeyMaxは0及び1として各々設定される。しかし、量子化に用いられた最大値及び最小値が実数変換部315において変換されたならば、逆量子化に用いられる最大値及び最小値は、後述する実数逆変換部1370において逆変換されて入力される最小値及び最大値が各々用いられる。
【0218】
一方、逆量子化器1360から出力される復号化されたキーデータは、線形キー復号化器1380において復号化された線形キーデータに加えられて復号化されたキーデータを構成する。
【0219】
以下、線形キー復号化過程を説明する(S15000)。
【0220】
ヘッダ復号化器1800は、ビットストリームからキーヘッダ情報を復号化して線形キーに関する情報があれば、線形キー領域の開始キー及び終了キーを復号化するために必要な情報を実数逆変換部1370に出力し、線形キー復号化器1380に線形キーとして符号化されたキーの数を出力する。
【0221】
線形キー復号化に用いられる開始キー及び終了キー情報を入力された実数逆変換部1370は。10進数の体系で表わされた開始キー及び終了キーをさらに2進数の体系に逆変換して線形キー復号化器1380に出力する。
【0222】
復号化すべき2つの実数をfKeyMin及びfKeyMaxとすれば、最初の値fKeyMinを逆変換する過程は、下記の通りである。
【0223】
ヘッダ復号化器1800は、fKeyMinの桁数をビットストリームから読み込む。もし、桁数が0であれば、fKeyMinの値を0として設定した後、fKeyMaxの値を復号化するためにfKeyMaxの桁数をビットストリームから読み込む。もし、桁数が8以上であれば、IEEE754方式に従って符号化されたものであるため、実数を32ビットだけ読み込んだ後、fKeyMaxの値を復号化する過程へ進む。
【0224】
ここで、もし、桁数が1と7との間の値を有すれば、ヘッダ復号化器1800は、符号ビットをビットストリームから読み込む。本実施の形態においては、符号ビットが1であれば、MinKeyMantissaSignを−1として、0であれば、MinKeyMantissaSignを1として設定して符号を読み込む。そして、仮数を前記表1の桁数と必要なビット数との関係に基づき必要なビット数を得た後、そのビット数だけビットストリームから読み込み、読み込まれた値をnMinKeyMantissaに記憶する。その後、ビットストリームから1ビットのみを読み込んでMinKeyExponentSignに記憶するが、MinKeyMantissaSignと同じ方式により記憶する。そして、ビットストリームから6ビットのみの指数値を読み込んでnMinKeyExponentに記憶する。
【0225】
実数逆変換部1370は、ヘッダ復号化器1800から入力された値を下記式28に代入してfKeyMinを復元する。
【0226】
【数28】
【0227】
fKeyMaxを復元する過程は、fKeyMinのそれと同じである。但し、fKeyMaxの指数をビットストリームから読み込む前に、fKeyMaxの指数としてfKeyMinと同じ指数が用いられたか否かを判読し、同じ値が用いられたならば、fKeyMinの指数を用い、そうでなければ、fKeyMinの指数をビットストリームから読み込む方式と同じく、fKeyMaxの指数を読み込む。
【0228】
一方、実数逆変換部1370から線形キー領域の開始キー及び終了キーを入力された線形キー復号化器1380は、下記式29を用いて線形キー領域を復号化する。
【0229】
【数29】
【0230】
ここで、fKeyMin及びfKeyMaxは、線形キー領域の開始キーデータ及び終了キーデータを表わす。
【0231】
このようにして復号化された線形キー領域のキーデータは、逆量子化器1360から出力されたキーデータに加えられて復号化された最終キーデータとして出力される。
【0232】
以下、図41及び図42に基づき、本実施の形態の符号化された座標インタポレータのキー値データを復号化するキー値データ復号化器及び復号化方法について説明する。
【0233】
図41は、本実施の形態におけるキー値データ復号化器の構成を示すブロック図であり、図42は、本実施の形態における復号化方法を説明するフローチャートである。
【0234】
図41に示すように、本実施の形態のキー値データ復号化器1500は、入力されたビットストリームをエントロピ復号化し、DPCM演算された差分データのシンボル、シンボル設定フラグ、前記シンボルの位置を表わすインデックス、及びDPCM演算モードを含む辞書復号化されるべきデータを生成するエントロピ復号化器1505、辞書復号化されるべきデータのシンボル及びシンボルの位置を表わすインデックスに基づき所定の差分データを生成する辞書復号化器1510、DPCM演算モードに基づき差分データに対して所定の逆DPCM演算を行って量子化されたデータを生成する逆DPCM処理部1530、量子化されたデータを逆量子化して復元されたキー値データを生成する逆量子化器1550、及びビットストリームから座標インタポレータの復号化に必要な情報を復号化して辞書復号化器1510、逆DPCM処理部1530、及び逆量子化器1550に出力するヘッダ復号化器1800を備える。
【0235】
図42を参照し、本実施の形態のキー値データ復号化方法について説明する。
座標インタポレータを符号化したビットストリームがエントロピ復号化器1505に入力されれば(S1710)、エントロピ復号化器1505は、ビットストリームを復号化し、ビットストリームが発生モードで符号化された場合には、辞書復号化器1510に各頂点のシンボル及びシンボルの位置インデックスを出力し、増加モードで符号化された場合には、シンボルの存否を表わすシンボルフラグ及びシンボルの位置を表わすインデックスを辞書復号化器1510に出力する(S1720)。
【0236】
辞書復号化器1510は、入力された辞書符号化モードに基づき入力されたシンボル及びインデックスを発生モード復号化するか、あるいは入力されたシンボルフラグ及びインデックスを増加モード復号化して差分データを生成し、生成された差分データを逆DPCM処理部1530に出力する(S1730)。
【0237】
逆DPCM処理部1530は、入力された差分データに対して各頂点別に、復号化されたDPCMモードに基づき逆循環量子化及び逆時間DPCM演算、逆空間DPCM演算、及び逆時空間DPCM演算のうちいずれか一つの演算を行い、量子化されたキー値データを逆量子化器1550に出力する(S1740)。
【0238】
逆量子化器1550は、入力された量子化されたキー値データをヘッダ復号化器1800から入力された各成分データの最小値及び最大範囲を用いて逆量子化する(S1750)。
【0239】
また、逆量子化器1550は、逆量子化されたキー値データ行列が符号化される時、転置行列に変換されたか否かをチェックし(S1760)、転置行列に変換されたならば、転置行列を逆変換する(S1765)。
逆量子化器1550は、復元された座標インタポレータのキー値データを出力する(S1770)。
【0240】
以下、図43から図46をさらに参照し、本実施の形態のキー値データ復号化装置及び方法について詳細に説明する。
【0241】
エントロピ復号化器1505は、入力ビットストリームからDPCMモードを表わすビットストリームを先に復号化しbSelFlag、nKVACodingBit、nQMin及びnQMaxなどのデータ配列を復号化する。
【0242】
符号化中にbSelFlagは初期に1に設定され、nKVACodingBitは初期に0に設定される。もし、bSelFlagが1である状態で復号化されるならば、エントロピ復号化器1505は、他のデータアレイnKVACodingBit、nQMin、nQMaxを復号化する。しかし、bSelFlagが0である状態で復号化されるならば、エントロピ復号化器1505は、nQMinアレイのみを復号化する。
【0243】
エントロピ復号化器1505は、前記アレイを復号化した後、辞書符号化モードを表わすnDicModeSelectを復号化するが、nDicModeSelect値に基づき復号化すべきビットストリームは2種類に分類される。
【0244】
図47は、座標インタポレータの各頂点及び各頂点の成分データのビットストリーム構造を示す図面である。図47に示されたように、復号化されたnDicModeSelect値が0であれば、ビットストリーム構造は発生モード符号化器において符号化されたシンボル及びインデックスの情報を含み、nDicModeSelect値が1であれば、ビットストリーム構造は増加モード符号化器において符号化されたシンボルの存否を表わすシンボルフラグ及び位置インデックスの情報を含む。
【0245】
本実施の形態のエントロピ復号化器は、図48に示されたプログラムコードにより具現されるdecodeSignedQuasiAAC関数を用いた。この関数は、適応算術符号化されたビットストリームを符号及び値に対するコンテキストを用いて復号化する。この関数は、符号ビットの以降に読み込まれるビットをゼロコンテキストを用いて復号化する。エントロピ復号化器は、復号化されたデータを辞書復号化器1510に出力する。
【0246】
図43は、本実施の形態の辞書復号化器1510の構成を示すブロック図であり、図45は、辞書復号化方法を説明するフローチャートである。
【0247】
図43に示すように、本実施の形態の辞書復号化器1510は、入力された各頂点のDPCMモードを復元するDPCMモード復号化器1512、入力された各頂点の辞書符号化モードを選択する辞書モード選択部1514、辞書モード選択部1514から各頂点の各成分のシンボル及びシンボルの位置インデックスを入力されて差分データを復元する発生モード復号化器1516、及び辞書モード選択部1514からシンボルフラグ及びシンボル位置インデックスを入力されて差分データを復元する増加モード復号化器1518を備える。
【0248】
図45に示すように、エントロピ復号化された各頂点のシンボル、シンボルフラグ、及び位置インデックスを含む成分データは、DPCMモード復号化器1512に入力される(S1731)。
【0249】
DPCMモード復号化器1512は、入力された差分データを逆DPCM処理部1530に出力するに先立ち、逆DPCM処理部1530において各頂点の各成分の差分データに対して行われる逆DPCM演算モードを復号化する(S1732)。
【0250】
以下、図49に基づき、DPCMモード復号化方法について説明する。
【0251】
DPCMモード復号化方法は、各頂点の各成分のDPCMモードの組合せを表わすシンボルの数が27に固定され、これにより、シンボルテーブルの大きさが27に固定されるという点を除ければ、後述する増加モード復号化方法と同じである。
【0252】
DPCMモード復号化器1512は、入力されたDPCMモードフラグを入力され、フラグに対応するシンボルを入力されたインデックスに基づきデータ列に記録する。
【0253】
例えば、図49に示されたように、入力されたDPCMモードフラグに対応するシンボルは1(TTS)、4(TSS)、及び5(T S T+S)であり、各シンボルに対応するインデックスは(010100)、(1010)、及び11である。従って、シンボル1に対応するインデックスに基づきシンボル1を記録すれば、データ列は(X1X1XX)となり、シンボル4に対応するインデックスに基づきシンボル4を記録すれば、データ列は(41X14X)となり、シンボル5に対応するインデックスに基づきシンボル5を記録すれば、データ列は(415145)となる。
【0254】
復元されたデータ列(415145)を各シンボルに対応するDPCMモードに変換すれば、(TSS)(TTS)(T S T+S)(TTS)(TSS)(T S T+S)となる。従って、各頂点の各成分に対していかなるDPCM演算が行われたかが分かる。
【0255】
DPCMモード復号化器1512は、各頂点の各成分の差分データを復号化されたDPCMモード情報と共に辞書モード選択部1514に出力する。
【0256】
辞書モード選択部1514は、各頂点の各成分のnDicModeSelect値に基づきDPCMモード復号化器1512から入力された各成分データを発生モード復号化器1516または増加モード復号化器に出力する(S1734)。
【0257】
また、辞書モード選択部1514は、nDicModeSelect値が0であれば、該当頂点の成分データを発生モード復号化器1516に出力し、nDicModeSelect値が1であれば、該当頂点の成分データを増加モード復号化器1518に出力する。
【0258】
発生モード復号化器1516は、入力された各成分のシンボルデータ及び位置インデックスを差分データに復元する(S1736)。
発生モード復号化方法を示す図50に示すように、発生モード復号化器1516は、辞書モード選択部1514からシンボルデータを入力され、bSoleKV及びnTrueOneフラグをチェックする。
bSoleKVフラグが入力されたシンボルが多数存在する旨を表わし、nTrueOneフラグが以降に入力される位置インデックスが反転されていない旨を表わせば、発生モード復号化器1516は、入力されたシンボルを位置インデックスが表わす位置のデータ列に繰り込むことにより、差分データを復元する。
【0259】
例えば、発生モード復号化器1516は、符号化される時に生じた順番にシンボル(3,7,−4)を入力され、入力された各々のシンボルに対応するインデックス(01000101000)、(1010100)及び(111)を入力される。
【0260】
発生モード復号化器1516は、第1番目のシンボル3を復元されるべき差分データ列に記録し、次に、入力されたインデックスの1が設定された差分データ列の位置にシンボル3を記録する。従って、図49に示されたように、シンボル3の発生モード符号化過程が終われば、差分データ列は(3x3xxx3x3xxx)で埋め込まれる。
【0261】
発生モード復号化器は、次のシンボル7を復元する。但し、シンボル7を復元する時、差分データ列において以前のシンボル3が記録された位置は考慮しない。従って、シンボル7に対応するインデックスは(0101000100)ではなく、(1010100)となる。
【0262】
発生モード復号化器1516は、シンボル7を既に復元されたシンボル3が記録されていない第1番目の位置に記録し、その後、シンボル7に対応するインデックスが1に設定されたところにシンボル7を記録する。従って、シンボル7が復元された差分データ列は(3737x73x37xx)となる。
発生モード復号化器1516は、最後のシンボル−4をインデックス111に基づき復元し、最終的に復元された差分データ列は(3737−473−4374−4)となる。
【0263】
一方、前記bSoleKVが1に設定されたならば、これは、入力されたシンボルが単に1つのみが差分データに存在するということを意味するため、入力されたシンボルに対応する位置インデックスは存在せず、従って、発生モード復号化器1516は、入力されたシンボルをシンボルが記録されていない差分データ列の第1番目のところに記録し、次のシンボルの復元過程を行う。
【0264】
また、増加モード復号化器1518は、入力された各成分のシンボルフラグ及び位置インデックスを差分データに復元する(S1736)。以下、増加モード復号化方法の一例を示す図51に基づき、増加モード復号化方法について説明する。
【0265】
増加モード復号化器1518は、辞書モード選択部1514からシンボルの存否を表わすシンボルフラグ、位置インデックスが反転されたか否かを表わすnTrueOneフラグ、及び位置インデックスを入力される。
【0266】
増加モード復号化器1518は、入力されたシンボルフラグから差分データに含まれるシンボルを復号化するが、増加モード符号化方法において説明したように、シンボルテーブルは、大きさの上がり順にまとめられ、正数が負数より上位に位置する(すなわち、0,1,−1,2,−2,3,−3)。また、シンボルフラグのサイズは2(nKVCodingBit+1)−1であり、nKVCodingBitはエントロピ復号化器1505において復号化された量子化ビット数を表わす。従って、シンボルフラグが(0011001)であれば、増加モード復号化器1518は、差分データに存在するシンボルとして−1、2及び−3を復号化する。
【0267】
また、シンボルフラグの次に入力されたインデックスは(101000101000)、(00101011)、(1111)であり、これらはシンボル(−1,2,3)に各々対応する。
【0268】
増加モード復号化器1518は、第1番目のシンボル−1に対応するインデックス(101000101000)において1に設定されたところに−1を記録する。従って、第1番目のシンボルに対して復元された差分データ列は(−1x−1xxx−1x−1xxx)の通りである。
【0269】
その後、増加モード復号化器1518は、第2番目のシンボル2をインデックス(00101011)の1が設定されたところに記録してシンボル2を復元する。但し、この場合にも第1番目のシンボル−1が記録された位置は考慮しないため、シンボル2まで記録された差分データ列は(−1x−1x2x−12−1x22)の通りである。
【0270】
増加モード復号化器1518は、最後のシンボル−3をインデックス(1111)の1が設定されたところに記録し、シンボル−3を復元する。最終的に復元された差分データ列は(−1−3−1−32−3−12−1−322)の通りである。
【0271】
前記発生モード復号化器1516及び増加モード復号化器1518は、各頂点の各成分の差分データを復元し、復元された差分データを逆DPCM処理部1530に出力する(S1739)。
【0272】
図44は、本実施の形態における逆DPCM処理部1530の構成を示すブロック図であり、図46は、逆DPCM演算方法を説明するフローチャートである。
【0273】
図44を参照すれば、本実施の形態の逆DPCM処理部1530は、入力された差分データに対して逆時間DPCM演算及び逆循環量子化を行い、量子化された座標インタポレータのキー値データを出力する逆時間DPCM演算部1542、入力された差分データに対して逆空間DPCM演算及び逆循環量子化を行い、量子化されたキー値データを出力する逆空間DPCM演算部1544、入力された差分データに対して逆時空間DPCM演算及び逆循環量子化を行い、量子化されたキー値データを出力する逆時空間DPCM演算部1546、及び入力された各頂点のDPCMモードに基づき辞書復号化器1510から入力された差分データを逆時間DPCM演算部1542、逆空間DPCM演算部1544、及び逆時空間DPCM演算部1546のうちいずれか一つに出力する逆DPCMモード選択部1535を備える。
【0274】
図46を参照すれば、逆DPCMモード選択部1535は、辞書復号化器1510のDPCMモード復号化器1512において復元された各頂点の各成分のDPCM演算モードに基づき入力された差分データに対して行われる逆DPCM演算を決め、各頂点の各成分の差分データを決められた逆DPCM演算モードに基づき出力する(S1742)。
【0275】
各DPCM演算部は、入力された差分データに対して逆DPCM演算及び逆循環量子化を同時に行う。
逆時間DPCM演算部1542は、入力された差分データに対して下記式30に基づき逆時間DPCM演算を行い(S1744)、逆空間DPCM演算部1544は、下記式31に基づき逆空間DPCM演算を行い(S1746)、逆時空間DPCM演算部1546は、下記式32に基づき逆時空間DPCM演算を行う(S1748)。
【0276】
【数30】
【0277】
【数31】
【0278】
【数32】
【0279】
前記式において、
は、第i番目のキーフレームの第j番目の頂点の量子化されたキー値データを表わし、Dijは、第i番目のキーフレームの第j番目の頂点の差分データを表わし、そしてRefは、基準頂点を表わす。
前記式31及び前記式32において、
または
が量子化された最小値より小さければ、量子化された最小値を前記値の代わりに使用し、
または
が量子化された最大値より大きければ、量子化された最大値を前記値の代わりに使用する。
【0280】
逆DPCM演算を行った各DPCM演算部は、下記式33を用いて逆DPCM演算を行うと同時に、逆循環量子化を行い、符号化中に狭まった差分データの範囲を広める。
【0281】
【数33】
【0282】
前記式33において、
はDijと同じ入力値であり、
は
または
のように以前に逆循環量子化された値である。また、nQMaxは、DPCM演算された差分データのうち最大値を、nQMinは、DPCM演算された差分データのうち最小値を表わす。
【0283】
逆DPCM処理部1530は、各頂点の各成分に対して逆DPCM演算及び逆循環量子化の行われた量子化されたキー値データを逆量子化器1550に出力する(S1749)。
【0284】
図42に示すように、逆量子化器1550は、ヘッダ復号化器1800から入力された各成分データの最小値fMin_X、fMin_Y、及びfMin_Z及び最大範囲値fMaxを前記式4の関係に基づき2進数体系の実数に変換した後、この値を用いて下記式34に基づき入力された量子化されたキー値データを逆量子化する。
【0285】
【数34】
【0286】
前記式34において、nVQBitsは、逆量子化に用いられる量子化ビットサイズである。
【0287】
また、逆量子化器1550は、逆量子化された各頂点の各成分のキー値データを表3に記載された行列形式に出力しなければならない。従って、逆量子化器1550は、キー値データを出力するに先立って、逆量子化されたキー値データのモードが転置モードであるかをチェックする(S1760)。もし、逆量子化されたキー値データが転置モードであれば、逆量子化器1550は、転置行列を逆変換して復号化された座標インタポレータのキー値データを出力する(S1765)。
【0288】
以上、座標インタポレータに含まれるキーデータ及び各成分のキー値データを符号化して復号化する方法及び装置について説明した。
以下では、図52から図60に基づき、本実施の形態におけるキー及びキー値データを復号化する座標インタポレータ復号化装置を具現するプログラムコードの一例をSDL言語形式で具現した例について説明する。
【0289】
図52に示すように、CompressedCoodinateInterpolatorクラスは、座標インタポレータの圧縮ビットストリームを読み込むための最上位クラスである。KeyHeader及びKeyclassicは、従来の座標インタポレータのキーフィールドデータに対応するビットストリームからキーデータ情報を読み込むためのクラスである。CoordIKeyValueHeader及びCoordIKVHeaderは、従来の座標インタポレータのキー値フィールドに対応するキー値情報を読み込むためのクラスである。qf_start関数は、AdaptiveArithmeticCodingを用いてビットストリームの符号化された部分を読み込むに先立って、算術復号化器を初期化するのに用いられる。
【0290】
図53に示されたキーヘッダクラスは、復号化に必要な情報のキーヘッダを復号化するクラスである。
【0291】
キーヘッダの主な情報は、キーの数、量子化ビット、イントラキーデータ、DNDヘッダ及び符号化に必要な実際のビット数である。nKeyQBitは、実数キー値を復元する逆量子化に用いられる量子化ビットである。nNumKeyCodingBitは、キーデータの数を表わすnNumberofKeyのビットサイズを表わす。nKeyDigitは、元のキーデータの最大重要桁数を表わし、復号化された値の切り上げに用いられる。
【0292】
キーヘッダに線形キー領域に関する情報が含まれた場合、blsLinearKeySubRegionフラグが1に設定される。この場合、全体のキーに含まれる所定のサブ領域に含まれたキーは、blsLinearKeySubRegionフラグに追従する復号化されたヘッダ情報を用いて計算できる。bRangeFlagは、キーデータの範囲が0から1であるか否かを表わす。もし、範囲が0から1ではなければ、最小値及び最大値はKeyMinMaxclassicから復号化される。KeyMinMaxclassicは、逆量子化のために最小値及び最大値を再構成する。各値は、仮数及び指数に分離できる。
【0293】
nBitSizeは、nQIntraKeyのビットサイズであり、nKeyShiftは、nKeyMaxの最初ビットサイズである。nQIntraKeyは、第1の量子化されたイントラデータの大きさである。これは、nQIntraKeyの符号を表わすnQIntraKeySignと共に結合される。これは、残りの量子化されたキーデータを復元するためのベースとして用いられる。インタポレータ圧縮に用いられる全ての符号ビットにおいて、0は正数を1は負数を各々意味する。nKDPCMOderは、DPCM次数−1である。次数の範囲は、1から3である。量子化されたイントラデータの数は、DPCMの次数に同じである。
【0294】
nKeyShiftは、符号ビットのnKeyShiftSignと共にキーデータ復号化器のシフト量を表わす整数である。これら両値は、bShiftFlagが1に設定されれば復号化される。nDNDOrderは、DND(Divide-and−Divide)の次数である。DNDについては、キーデータ復号化器において説明する。もし、nDNDOrder値が7であれば、bNoDNDが復号化される。このブール値は、逆DNDが処理されるか否かを表わす。nKeyMaxは、各々の連続した逆DND演算中に用いられる最大値及び最小値である。nKeyCodingBitは、キーデータの符号化に用いられるビットである。
【0295】
bSignedAACFlagは、AAC復号化のためにいなかる復号化方法が用いられるかを表わす。もし、値が0であれば、unsignedAAC復号化が行われる。そうでなければ、signedAAC復号化が行われる。bKeyInvertDownFlagは、nKeyInvertDownが用いられるか否かを表わすブール値である。nKeyInvertDownは整数値であって、これを超える全ての量子化されたキーデータを−1以下の負数値に反転させる。nKeyInvertDownが−1であれば、シフト-ダウン演算は行われない。
【0296】
図54は、LinearKeyクラスを示す図面である。LinearKeyクラスにおいて用いられた変数の意味を説明すれば、nNumLinearKeyCodingBitは、線形に予測可能なキーの数を符号化するために必要なビットの数を表わす値である。nNumberOfLinearKeyは、線形に予測可能なキーデータの数を表わす。
【0297】
図55は、KeyMinMaxクラスを示す図面である。
KeyMinMaxクラスにおいて用いられた変数の意味を説明すれば、まず、bMinKeyDigitSameは、全体キーの最高重要桁数nKeyDigit及びキーの最大値の最高重要桁数が同じであるかを表わす。nMinKeyDigitは、キーの最大値の最高重要桁数を表わす。nMinKeyMantissaSignは、nMinKeyMantissaの符号を表わす。nMinKeyMantissaは、キーの最小値の仮数を表わす。
【0298】
nMinKeyExponentSignは、nMinKeyExponentの符号を表わす。nMinKeyExponentは、キーの最小値の指数を表わす。
【0299】
fKyeMinは、キーの最小値を表わす。nMaxKeyDigitSameは、全体キーの最高重要桁数nKeyDigit及びキーの最大値の最高重要桁数が同じであるかを表わす。nMaxKeyDigitは、キーの最大値の重要桁数を表わす。nMaxKeyMantissaSignは、nMaxKeyMantissaの符号を表わす。nMaxKeyMantissaは、キーの最大値の仮数を表わす。
【0300】
bSameExponentは、キーの最大値の指数がnKeyExponentSigneと同じであるかを表わす。nMaxKeyExponentSignは、nMaxKeyExponentの符号を表わす。nMaxKeyExponentは、キーの最大値の指数を表わす。fKeyMaxは、キーの最大値を表わす。
【0301】
図56は、キークラスを示す図面である。
キークラスに用いられた変数の意味を説明すれば、nQKeyは、ビットストリームから復号化される量子化されたキーデータを記憶した配列を表わす。KeyContextは、nQKeyの大きさを読み込むのに用いられるコンテキストを意味する。KeySignContextは、nQKeyの符号を読み込むのに用いられるコンテキストを意味する。
【0302】
decodeUnsignedAACは、与えられたコンテキストで適応的な算術符号化の行われたビットストリームに対して符号無き復号化を行う関数である。decodeSignedAACは、与えられたコンテキストで適応的な算術符号化の行われたビットストリームに対して符号あり復号化を行う関数である。
【0303】
図57は、CoordIKeyValueHeaderクラスを示す図面である。
キー値ヘッダデータは、キーヘッダデータが復号化された後に復号化される。キー値ヘッダの主要な情報は頂点の数、キー値データに対する量子化媒介変数、及び量子化のための最大値及び最小値である。bTransposeは、転置モードまたは頂点モードを表わすフラグであって、この値が1であれば、復号化時に転置モードが選択され、そうでなければ、頂点モードが選択される。nKVQBitは、実数を逆量子化して復元するのに用いられる量子化ビットである。nCoordQBitは、頂点の数を表わすnNumberOfCoordを表わすビットサイズである。nKVDDigitは、逆量子化された後に用いられ、キー値データの最大有効数字を表わす。KeyValueMinMaxクラスは、逆量子化のための最小値及び最大範囲を復元する。各値は、仮数及び指数に分離される。残りのヘッダ情報は、キー値データの各成分の量子化された最大値及び最小値のうち最大値及び最小値を表わす。例えば、nXQMinOfMaxは、各頂点のX成分の量子化された最大値のうち最小値を表わす。
【0304】
図58及び図59は、本実施の形態のDPCMモードを復号化装置で具現するためのプログラムコードを示す図面であり、各変数の意味は、下記の通りである。
【0305】
nDPCMMode:この整数配列は、各頂点の各成分x、y及びzに対するDPCMモードを表わす。この値は、時間DPCMモードの場合には1を、空間DPCMモードの場合には2を、そして時空間DPCMモードの場合には3を各々有する。
【0306】
bSelFlag:このブール配列は、各頂点の各成分に対する選択フラグを表わす。このフラグが1に設定された各頂点の各成分のみが辞書符号化器750において符号化される。selectionFlagContextは、bSelFlagを読み込むために用いられるコンテキストである。
【0307】
nKVACodingBit:この整数配列は、各頂点の各成分の符号化ビットを表わす。aqpXContext、aqpYContext及びaqpZContextは各々、X、Y及びZ軸別のnKVACodingBitの値を読み込むためのコンテキストである。
【0308】
nRefVertex:この整数配列は、各頂点に対する基準頂点のインデックスを表わす。refContextは、nRefVertexの値を読み込むためのコンテキストである。
【0309】
nQMin:各頂点の各成分のnQMinは整数配列であって、DPCM演算された差分データのうち最小値を表わす。qMinContextは、nQMinを読み込むためのコンテキストであり、qMinSignContextは、nQMinの符号を読み込むためのコンテキストである。
【0310】
nQMax:各頂点の各成分のnQMaxは整数配列であって、DPCM演算された差分データのうち最大値を表わす。qMaxContextは、nQMaxを読み込むためのコンテキストであり、qMaxSignContextは、nQMaxの符号を読み込むためのコンテキストである。
【0311】
図60は、本実施の形態のDPCMモードを復号化するCoordIDPCMModeクラスを示す図面であり、各変数の意味は、下記の通りである。
【0312】
bAddressOfDPCMMode:このブール配列は、DPCM辞書テーブルの各成分に対するDPCMモードで構成される各DPCMシンボルがどこに用いられたかを表わす。一つの頂点には3成分があり、各成分には3種のDPCMモード(T,S,及び(T+S))が存在できる。従って、前記表3に示されたように、DPCMモードの組合せを表わす辞書シンボルは27個がある。dpcmModeDicAddressContextは、bAddressOfDPCMModeの値を読み込むためのコンテキストである。
【0313】
bDPCMIndex:このブール配列は、各頂点に対していかなるDPCMシンボルが用いられたかを表わす。dpcmModeDicIndexContextは、bDPCMIndexの値を読み込むためのコンテキストである。
【0314】
図61は、本実施の形態の辞書符号化モードを復号化するCoordKeyValueDicクラスを示す図面であり、各変数の意味は、下記の通りである。
【0315】
nDicModeSelect:このブール値は、辞書符号化にいかなるモードが用いられたかを表わすが、値が1であれば増加モードを、そして値が0であれば発生モードを表わす。
【0316】
図62は、本実施の形態の増加モード復号化方法を具現したCoordIIncrementalModeクラスを示す図面であり、各変数の意味は、下記の通りである。
【0317】
bAddress:このブール配列は、量子化されたキー値を表わす各増加モード辞書シンボルの利用有無を表わす。増加モードテーブルに用いられるシンボルの数は、2(nKVCodingBit+1)−1の計算結果に同じである。dicAddressContextは、bAddressの値を読み込むためのコンテキストである。
【0318】
nTrueOne:このブール配列は、インデックスデータの反転有無を表わす。この値が1であれば、インデックスの1値はシンボルの位置を表わす真値として解釈され、この値が0であれば、インデックスの0値がシンボルの位置を表わす真値として解釈される。
【0319】
bAddrIndex:このブール配列は、各頂点の各成分に用いられた増加モードシンボルを表わす。dicIndexContextは、bAddrIndexの値を読み込むためのコンテキストである。
【0320】
図63は、本実施の形態の発生モード復号化方法を具現したCoordIOccurrenceModeクラスを示す図面であり、各変数の意味は、下記の通りである。
【0321】
nQKV:この整数配列は、量子化されたキー値データのモード発生モードのシンボルを含む。kvXContext、kvYContext及びkvZContextは、nQKVの値を読み込むためのコンテキストであり、kvSignContextは、nQKVの符号を読み込むためのコンテキストである。
【0322】
bSoleKV:このブール値は、復号化されたシンボルが単に一回のみ発生するかを表わす。もし、発生したシンボルが単に一回のみ発生するならば、bSoleKVは1に設定される。dicSoleKVContextは、bSoleKVの値を読み込むためのコンテキストである。
【0323】
bDicIndex:このブール値は、各頂点の各成分に対していかなる辞書シンボルが用いられたかを表わす。dicIndexContextは、bDicIndexの値を読み込むためのコンテキストである。本実施の形態はまた、コンピュータにて読取り可能な記録媒体にコンピュータにて読取り可能なコードとして具現可能である。コンピュータにて読取り可能な記録媒体は、コンピュータシステムによって読取り可能なデータが記憶されるあらゆる種類の記録装置を含む。コンピュータにて読取り可能な記録媒体の例としては、ROM、RAM、CD−ROM、磁気テープ、フロッピーディスク、光データ記憶装置などがあり、またキャリアウェーブ(例えば、インターネットを通じた伝送)の形で具現されるものも含む。また、コンピュータにて読取り可能な記録媒体は、ネットワークに結ばれたコンピュータシステムに分散され、分散方式によりコンピュータにて読取り可能なコードが記憶されて実行できる。
【0324】
以上、本発明について、その好ましい実施の形態を中心として説明した。本発明が属する技術分野における当業者であれば、本発明が本発明の本質的な特性から逸脱しない範囲において変形された形で具現できるということが理解できる。よって、開示された実施の形態を限定的な観点ではなく、説明的な観点から考慮しなければならない。本発明の範囲は前述した説明ではなく、特許請求の範囲に示されており、それと同等な範囲内にあるあらゆる違いは本発明に含まれたものとして解釈されなければならない。
【0325】
【発明の効果】
上述したように、本発明の座標インタポレータ符号化装置は、単調に増加するキーデータの性質を用いてキーデータを符号化するキーデータ符号化器を含んで高効率にてアニメーションキーデータを符号化でき、空間的な相関関係だけではなく、時間的な相関関係をも考慮してキー値データを符号化するキー値データ符号化器を含んで高効率にてキー値データを符号化できることから、少量のデータにて高画質のアニメーションを復元できる。
【図面の簡単な説明】
【図1】 従来の座標インタポレータノードの符号化/復号化装置の構成を示すブロック図である。
【図2】 本実施の形態による座標インタポレータ符号化装置の構成を示すブロック図である。
【図3】 キーデータ符号化器の構成を示すブロック図である。
【図4】 DND処理部の構成を示すブロック図である。
AないしGは、本実施の形態によるキーデータ符号化方法を説明するフローチャートである。
【図5】 キーデータを符号化する方法の前半を示すフローチャート図である。
【図6】 キーデータを符号化する方法の後半を示すフローチャート図である。
【図7】 実数を符号化する方法の前半を示すフローチャート図である。
【図8】 実数を符号化する方法の後半を示すフローチャート図である。
【図9】 キーデータを量子化する方法を示すフローチャート図である。
【図10】 DPCM処理過程を示すフローチャート図である。
【図11】 DND演算部の演算過程を示すフローチャート図である。
【図12】 encodeSignedAAC関数の一例を示す図面である。
【図13】 元のキーデータを表す図である。
【図14】 量子化されたキーデータを表す図である。
【図15】 DPCM処理されたキーデータを表す図である。
【図16】 キーデータの差分データを表す図である。
【図17】 フォルド演算されたデータを表す図である。
【図18】 DND演算されたデータを表す図である。
【図19】 ディバイド−アップ演算されたデータを表す図である。
【図20】 ディバイド−ダウン演算されたデータを表す図である。
【図21】 シフトアップ演算されたデータを表す図である。
【図22】 最終的なデータを表す図である。
【図23】 座標インタポレータキー値データ符号化器の構成を示すブロック図である。
【図24】 座標インタポレータキー値データの符号化方法を説明するフローチャートである。
【図25】 キー値データ符号化器のDPCM処理部の構成を示すブロック図である。
【図26】 辞書符号化器の構成を示すブロック図である。
【図27】 量子化方法を説明するフローチャートである。
【図28】 DPCM演算方法を説明するフローチャートである。
【図29】 辞書符号化方法を説明するフローチャートである。
【図30】 キー値データ符号化器のエントロピ符号化方法を説明するフローチャートである。
【図31】 量子化されたキー値データを示す図である。
【図32】 DPCM演算されたキー値データを示す図である。
【図33】 循環量子化されたキー値データを示す図である。
【図34】 DPCMモード符号化方法を説明する図面である。
【図35】 発生モード符号化方法を説明する図面である。
【図36】 増加モード符号化方法を説明する図面である。
【図37】 座標インタポレータ復号化装置の構成を示すブロック図である。
【図38】 キーデータ復号化器の構成を示すブロック図である。
【図39】 キーデータ復号化方法を説明するフローチャートである。
【図40】 図39の第S14500段階の詳細フローチャートである。
【図41】 キー値データ復号化装置の構成を示すブロック図である。
【図42】 キー値データ復号化方法を説明するフローチャートである。
【図43】 辞書復号化器の構成を示すブロック図である。
【図44】 キー値データ復号化器の逆DPCM処理部の構成を示すブロック図である。
【図45】 辞書復号化方法を説明するフローチャートである。
【図46】 逆DPCM演算方法を説明するフローチャートである。
【図47】 座標インタポレータの各頂点及び各頂点の成分データのビットストリーム構造を示す図面である。
【図48】 decodeSignedQuasiAAC関数を具現したプログラムコードの一例を示す図面である。
【図49】 DPCMモード復号化方法を説明する図面である。
【図50】 発生モード復号化方法を説明する図面である。
【図51】 増加モード復号化方法を説明する図面である。
【図52】 CompressedCoodinateInterpolatorクラスのプログラムを表す図である。
【図53】 キーヘッダクラスのプログラムを表す図である。
【図54】 リニアキークラスのプログラムを表す図である。
【図55】 KeyMinMaxクラスのプログラムを表す図である。
【図56】 キークラスのプログラムを表す図である。
【図57】 CoordIKeyValueHeaderクラスのプログラムを表す図である。
【図58】 DPCMモードを復号化装置で具現するためのプログラムの前半を表す図面である。
【図59】 DPCMモードを復号化装置で具現するためのプログラムの後半を表す図面である。
【図60】 CoordIDPCMModeクラスのプログラムを表す図である。
【図61】 CoordKeyValueDicクラスのプログラムを表す図である。
【図62】 CoordIIncrementalModeクラスのプログラムを表す図である。
【図63】 CoordIOccurrenceModeクラスのプログラムを表す図である。
【符号の説明】
300 キーデータ符号化器
500 ヘッダ符号化器
700 キー値データ符号化器
1300 キーデータ復号化器
1500 キー値データ復号化器
1800 ヘッダ復号化器
Claims (44)
- キーフレームの時間軸上の位置を表わすキーデータ、及びx、y及びz成分を含む頂点の座標でキーフレーム上のオブジェクトの位置を表わすキー値データを含む座標インタポレータを符号化する符号化装置であって、
座標インタポレータのキーデータを所定の量子化ビットで量子化する第1の量子化部、
前記量子化されたキーデータの差分データを生成する第1のDPCM処理部、
前記キーデータの差分データと、前記キーデータの差分データの最大値及び最小値との関係に基づき前記キーデータの差分データの範囲を狭めるDND演算を行うDND処理部、
及び前記DND処理部から入力された前記キーデータの差分データを符号化する第1のエントロピ符号化部を有するキーデータ符号化部と、
座標インタポレータのキー値データを所定の量子化ビット数で量子化する第2の量子化部、
量子化されたキー値データの各頂点成分に対して所定モードのDPCM演算を行い、該DPCM演算されたキー値データについて、各頂点座標の経時変化による差分データ及び空間的な変化による差分データを生成する第2のDPCM処理部、
DPCM演算された各頂点成分の経時変化による差分データ、空間的な変化による差分データ、前記差分データに対して行われたDPCM演算モードを表わすシンボル及び前記シンボルの位置を表わすインデックスを生成する辞書符号化部、
及び前記シンボル及びインデックスをエントロピ符号化する第2のエントロピ符号化部を有するキー値データ符号化部と、
前記キーデータ符号化部及び前記キー値データ符号化部において符号化されたビットストリームの復号化に必要な情報を符号化するヘッダ符号化部と、
を備えることを特徴とする符号化装置。 - 前記キーデータ符号化部は、
入力される全体キーデータのうちキーデータが線形に増える領域を識別して符号化する線形キー符号化部をさらに備えることを特徴とする請求項1に記載の符号化装置。 - 前記キーデータ符号化部は、
前記第1のDPCM処理部から入力された差分データのうち、頻度数が最も高い差分データをモードとして決定し、前記第1のDPCM処理部から入力された差分データの各々から前記モードを減算するシフト演算を行う
シフト部と、
前記シフト演算された差分データを正数領域または負数領域に変換するフォルド処理部と、をさらに備え、
前記DND処理部は、符号化に必要なビット数に基づき前記シフト部から入力された差分データ、前記フォルド処理部から入力された差分データ、及びDND演算された差分データのうちいずれか一つを選択して出力することを特徴とする請求項1に記載の符号化装置。 - 前記第2のDPCM処理部は、
前記量子化されたキー値データの各頂点成分に対してキーフレーム間の第1の差分データを生成する時間DPCM演算、同じキーフレーム内の頂点間の第2の差分データを生成する空間DPCM演算、及びキーフレーム及び頂点間の第3の差分データを生成する時空間DPCM演算を各々行うDPCM演算部と、
前記DPCM演算部から入力された第1から第3の差分データに対して差分データの範囲を狭める循環量子化を行う循環量子化部と、
符号化に必要なビット数に基づき循環量子化された第1から第3の差分データのうちいずれか一つを選択して出力するDPCMモード選択部と、を備えることを特徴とする請求項1に記載の符号化装置。 - 前記辞書符号化部は、
前記各頂点に対し、各頂点成分データに対して行われたDPCMモードの組合せを表わすシンボル及び前記シンボルの位置を表わすインデックスを生成するDPCMモード符号化部と、
入力された各頂点成分の差分データに対応するシンボル及び前記シンボルの位置を表わすインデックスを生成する発生モード符号化部と、を備えることを特徴とする請求項1に記載の符号化装置。 - 前記辞書符号化部は、
入力された各頂点の差分データに所定のシンボルの存否を表わすシンボルフラグ及びシンボルの位置を表わすインデックスを生成する増加モード符号化部と、
前記差分データに対応するシンボルよりなる第1のシンボルテーブルのサイズ及び前記シンボルフラグのサイズを計算し、前記第1のシンボルテーブル及びシンボルフラグのサイズに応じて前記DPCMモード符号化部から入力された前記各頂点の差分データを前記発生モード符号化部または増加モード符号化部に出力するテーブルサイズ計算部と、をさらに備えることを特徴とする請求項5に記載の符号化装置。 - キーフレームの時間軸上の位置を表わすキーデータ、及びx、y及びz成分を含む頂点の座標にキーフレーム上のオブジェクトの位置を表わすキー値データを含む座標インタポレータを符号化したビットストリームを復号化する復号化装置であって、
入力されたビットストリームからキーデータ及びキー値データの復号化に必要なヘッダ情報を復号化して出力するヘッダ復号化部と、
入力されたビットストリームをエントロピ復号化し、復号化された前記キーデータの差分データを出力する第1のエントロピ復号化部、
前記ヘッダ復号化部から読み込まれ、前記キーデータの符号化におけるDND演算を行った回数を示すDND次数の数だけ前記エントロピ復号化された前記キーデータの差分データに対して逆DND演算を行い、前記キーデータの差分データの範囲を広める逆DND処理部、
前記逆DND処理部から入力された前記キーデータの差分データに対して、前記ヘッダ復号化部から入力され、前記キーデータの符号化におけるDPCM演算を行った回数を示すDPCM次数の数だけ逆DPCM演算を行い、量子化されたキーデータを出力する第1の逆DPCM処理部、
及び前記量子化されたキーデータを逆量子化して復号化されたキーデータを出力する第1の逆量子化部を有するキーデータ復号化部と、
入力されたビットストリームをエントロピ復号化してキー値データの差分データのシンボル、前記シンボルの位置を表わすインデックス、及びDPCM演算モードを含む辞書復号化されるべきデータを生成する第2のエントロピ復号化部、
前記ヘッダ復号化部から入力された辞書復号化モード情報に基づき辞書復号化演算を行い、キー値データの差分データを生成する辞書復号化部、
前記DPCM演算モードに基づき前記辞書復号化部から入力されたキーフレーム間の差分データ及び各頂点間の差分データを復元し、量子化されたキー値データを生成する第2の逆DPCM処理部、
及び前記量子化されたキー値データを逆量子化して復元されたキー値データを生成する第2の逆量子化部を有するキー値データ復号化部と、を備えることを特徴とする復号化装置。 - 前記キーデータ復号化部は、
前記逆DND処理部から差分データを入力され、前記ヘッダ復号化部から入力された前記DND次数に基づき差分データの範囲を負数及び正数に分離する逆フォルド演算を行うか、それともバイパスする逆フォルド処理部と、
前記逆DND処理部または前記逆フォルド処理部から入力された差分データに前記ヘッダ復号化部から受け取った所定のモードを加えて差分データの範囲を移動させる逆シフト部と、をさらに備え、
前記第1の逆DPCM処理部は、前記逆シフト部から入力された差分データを復元して量子化されたキーデータを出力することを特徴とする請求項7に記載の復号化装置。 - 前記第2の逆DPCM処理部は、
同じ頂点のキーフレーム間の差分データに対して逆DPCM演算を行う逆時間DPCM演算部と、
同じキーフレーム内の各頂点と前記各頂点に対応する基準頂点との差分データに対して逆DPCM演算を行う逆空間DPCM演算部と、
前記DPCM演算モードに基づき差分データを前記逆時間DPCM演算部または前記逆空間DPCM演算部に出力する逆DPCMモード選択部と、を備えることを特徴とする請求項7に記載の復号化装置。 - 入力されたビットストリームからキー値データを復号化するキー値データ復号化部と、
入力されたビットストリームからキー値データの復号化に必要なヘッダ情報を復号化してキー値データ復号化部に与えるヘッダ復号化部と、を備える復号化装置が、
キーフレーム上のオブジェクトの形態や位置を各々x、y、z成分を有する頂点の座標を用いて示すキー値データ、及び前記キー値データに関する情報を有するキー値ヘッダを含む座標インタポレータが符号化されたビットストリームを、復号化する座標インタポレータの復号化方法において、
(a)前記ヘッダ復号化部が、前記キー値ヘッダを復号化する段階と、
(b)前記キー値データ復号化部が、前記復号化されたキー値ヘッダによって前記キー値データを復号化する段階と、を含むことを特徴とする復号化方法。 - 前記(b)段階は、
前記キー値データ復号化部が、エントロピ復号化、辞書復号化、逆DPCM演算、及び逆量子化を行うことによって、前記キー値データを復号化することを特徴とする請求項10に記載の復号化方法。 - 前記キー値データ復号化部は、エントロピ復号化器、辞書復号化器、逆DPCM処理部及び逆量子化器を含み、
前記(b)段階は、
(b1)前記エントロピ復号化器が、前記キー値データを各成分別にエントロピ復号化する段階と、
(b2)前記辞書復号化器が、前記エントロピ復号化された結果を各成分別に辞書復号化する段階と、
(b3)前記逆DPCM処理部が、前記辞書復号化された結果に対して、各成分別に逆DPCM演算を行う段階と、
(b4)前記逆量子化器が、前記逆DPCM演算が行われた結果を各成分別に逆量子化する段階と、
を含むことを特徴とする請求項11に記載の復号化方法。 - 前記キー値ヘッダは、前記キー値データを頂点モードで復号化するか、または、転置モードで復号化するかを示すフラグである転置フラグを含み、
前記(b)段階は、
(b5)前記逆量子化器が、前記転置フラグが前記キー値データを転置モードで復号化することを示すか否かを判断し、
前記逆量子化器が、前記転置フラグが前記キー値データを転置モードで復号化することを示すと判断すれば、前記逆量子化器が、前記逆量子化された結果を転置させる段階をさらに含むことを特徴とする請求項12に記載の復号化方法。 - 前記キー値ヘッダは、
前記キー値データの量子化時に使われたビット数である量子化ビット数と、
前記キー値データの各成分別最大値及び最小値と、
前記最大値及び最小値を読み取るために必要なキー値桁数と、
前記キー値データを頂点モードで復号化するか、または転置モードで復号化するかを示すフラグの転置フラグと、
前記頂点の数と、
前記キー値データの量子化された結果の各成分別最大値及び最小値と、を含むことを特徴とする請求項10に記載の復号化方法。 - 入力された座標インポレータのキー値データを符号化するキー値データ符号化部と、
キー値データ符号化器において符号化されたキー値データの復号化に必要な情報を符号化するヘッダ符号化部と、を備える符号化装置が、
キーフレーム上のオブジェクトの形態や位置を各々x、y、z成分を有する頂点の座標を用いて示すキー値データ、及び前記キー値データに関する情報を有するキー値ヘッダを含む座標インタポレータを、符号化する座標インタポレータの符号化方法において、
(a)前記ヘッダ符号化部が、前記キー値ヘッダを符号化する段階と、
(b)前記キー値データ符号化部が、前記符号化されたキー値ヘッダによって前記キー値データを符号化する段階と、を含むことを特徴とする符号化方法。 - 前記(b)段階は、
前記キー値データ符号化部が、量子化、辞書符号化、DPCM演算、及びエントロピ符号化を行うことによって、前記キー値データを符号化することを特徴とする請求項15に記載の符号化方法。 - 前記キー値データ符号化部は、量子化器、DPCM処理部、辞書符号化器、エントロピ符号化器を含み、
前記(b)段階は、
(b1)前記量子化器が、前記キー値データを各成分別に量子化する段階と、
(b2)前記DPCM処理部が、前記量子化された結果に対して各成分別にDPCM演算を行う段階と、
(b3)前記辞書符号化器が、前記DPCM演算が行われた結果を各成分別に辞書符号化する段階と、
(b4)前記エントロピ符号化器が、前記辞書符号化された結果を各成分別にエントロピ符号化する段階と、を含むことを特徴とする請求項16に記載の符号化方法。 - 前記DPCM演算は、
前記DPCM処理部が、前記キーフレーム間の差分データを生成する時間DPCM演算、前記キーフレーム内の前記頂点間の差分データを生成する空間DPCM演算、前記キーフレーム間及び前記頂点間の差分データを生成する時空間DPCM演算のうち、少なくとも1つであることを特徴とする請求項17に記載の符号化方法。 - キーフレーム上のオブジェクトの形態や位置を各々x、y、z成分を有する頂点の座標を用いて示すキー値データ、及び前記キー値データに関する情報を有するキー値ヘッダを含む座標インタポレータが符号化されたビットストリームを復号化する座標インタポレータの復号化装置において、
前記キー値ヘッダを復号化するヘッダ復号化部と、
復号化された前記キー値ヘッダによって前記キー値データを復号化するキー値データ復号化部と、を備えることを特徴とする復号化装置。 - 前記キー値データ復号化部は、
エントロピ復号化、辞書復号化、逆DPCM演算、及び逆量子化を行うことによって、前記キー値データを復号化することを特徴とする請求項19に記載の復号化装置。 - 前記キー値データ復号化部は、
前記キー値データを各成分別にエントロピ復号化するエントロピ復号化部と、
前記エントロピ復号化された結果を各成分別に辞書復号化する辞書復号化部と、
前記辞書復号化された結果に対して各成分別に逆DPCM演算を行う逆DPCM処理部と、
前記逆DPCM演算が行われた結果を各成分別に逆量子化する逆量子化部と、を備えることを特徴とする請求項20に記載の復号化装置。 - 前記キー値ヘッダは、
前記キー値データの量子化時に使われたビット数である量子化ビット数と、
前記キー値データの各成分別最大値及び最小値と、
前記最大値及び最小値を読み取るために必要なキー値桁数と、
前記キー値データを頂点モードで復号化するか、または転置モードで復号化するかを示すフラグの転置フラグと、
前記頂点の数と、
前記キー値データの量子化された結果の各成分別最大値及び最小値と、を含むことを特徴とする請求項19に記載の復号化装置。 - キーフレーム上のオブジェクトの形態や位置を各々x、y、z成分を有する頂点の座標を用いて示すキー値データ、及び前記キー値データに関する情報を有するキー値ヘッダを含む座標インタポレータを符号化する座標インタポレータの符号化装置において、
前記キー値ヘッダを符号化するヘッダ符号化部と、
符号化された前記キー値ヘッダによって前記キー値データを符号化するキー値データ符号化部と、を備えることを特徴とする符号化装置。 - 前記キー値データ符号化部は、
量子化、辞書符号化、DPCM演算、及びエントロピ符号化を行うことによって、前記キー値データを符号化することを特徴とする請求項23に記載の符号化装置。 - 前記キー値データ符号化部は、
前記キー値データを各成分別に量子化する量子化部と、
前記量子化された結果に対して各成分別にDPCM演算を行うDPCM処理部と、
前記DPCM演算が行われた結果を各成分別に辞書符号化する辞書符号化部と、
前記辞書符号化された結果を各成分別にエントロピ符号化するエントロピ符号化部と、を備えることを特徴とする請求項24に記載の符号化装置。 - 前記DPCM演算は、
前記キーフレーム間の差分データを生成する時間DPCM演算、前記キーフレーム内の前記頂点間の差分データを生成する空間DPCM演算、前記キーフレーム間及び前記頂点間の差分データを生成する時空間DPCM演算のうち、少なくとも1つであることを特徴とする請求項25に記載の符号化装置。 - 入力されたビットストリームからキーデータを復号化するキーデータ復号化部と、
入力されたビットストリームから、キーデータの復号化に必要なヘッダ情報を復号化してキーデータ復号化部に与えるヘッダ復号化器と、を備える復号化装置が、
キーフレームの時間軸上の位置を示すキーデータ、及び前記キーデータに関する情報を有するキーヘッダを含む座標インタポレータが符号化されたビットストリーム復号化する座標インポレータの復号化方法において、
(a)前記ヘッダ復号化部が、前記キーヘッダを復号化する段階と、
(b)前記キーデータ復号化部が、前記復号化されたキーヘッダによって前記キーデータを復号化する段階と、を含むことを特徴とする復号化方法。 - 前記(b)段階は、
前記キーデータ復号化部が、エントロピ復号化、逆シフト、逆DPCM演算、逆量子化、及び線形キー合成を行うことによって、前記キーデータを復号化することを特徴とする請求項27に記載の復号化方法。 - 前記キーヘッダは、
量子化ビットサイズと、
前記キーデータの数と、
前記キーデータの桁数と、
前記キーデータに線形キー領域の存否を示す線形キーフラグ(bIsLinearKeySubRegion)と、
前記線形キーフラグが1である場合、前記キーヘッダに含まれ、前記線形キー領域の開始及び終了を示す開始キーデータ及び終了キーデータと、
前記キーデータの最大値及び最小値の量子化誤差を最小化する方向に調整するか否かを示す量子化誤差調整フラグ(bRangeFlag)と、
前記量子化誤差調整フラグが1である場合、前記キーヘッダに含まれ、前記逆量子化の実行時に用いられる、前記キーデータの調整された最大値及び最小値と、
DPCM演算の実行回数を示すDPCM次数と、
前記DPCM演算の実行のための基準となる値であって、前記DPCM次数に相応する数の基準キーデータ(nQIntraKey)と、
前記DPCM次数に相応する数のキーデータ符号ビット(nQIntraKeySign)と、
前記DPCM演算が行われた結果、頻度数が最も多くの前記キーデータを基準に全体前記キーデータのシフトの要否を示すシフトフラグ(bShiftFlag)と、
前記キーデータのシフト程度を示すシフト値(nKeyShift)と、
前記シフト値の符号ビット(nKeyShiftSign)と、
前記DPCM演算が行われた結果の範囲を調整するためのDND演算の実行回数を示すDND次数と、
前記DND演算の実行に利用され、前記DND次数に相応する数の最大値及び最小値のうち、少なくとも1つと、
前記最大値及び最小値のうち、少なくとも1つを区別させ、前記DND次数に相応する数の符号ビットと、
前記DND演算が行われた結果のインバートダウンの要否を示すインバートダウンフラグ(bKeyInvertDownFlag)と、
前記DND演算が行われた結果がインバートダウンされる程度を示すインバートダウン値(nKeyInvertDown)と、
エントロピ符号化時に利用された符号化技法がSignedAACであるか、あるいはUnsignedAACであるかを示すbSignedAACFlagと、を含み、
前記線形キー領域は、前記キーデータが線形的に増加する領域であることを特徴とする請求項28に記載の復号化方法。 - 前記キーデータ復号化部は、エントロピ復号化器、逆DND処理部、逆フォルド処理部、逆シフト部、逆DPCM処理部、逆量子化器、線形キー復号化器を含み、
前記(b)段階が、
(b1)前記エントロピ復号化器が、bSignedAACFlagが、前記signedAACを示すならば、前記符号化されたキーデータに対してsignedAAC復号化を行い、前記UnsignedAACを示すならば、前記符号化されたキーデータに対してUnsignedAAC復号化を行うことによって、前記符号化されたキーデータをエントロピ復号化する段階と、
(b2)前記逆DND処理部が、前記DND次数が1以上である場合、前記エントロピ復号化された結果に対して逆DND演算を行う段階と、
(b3)前記逆フォルド処理部が、前記DND次数が−1ではない場合、前記エントロピ復号化された結果に対して逆フォルド演算を行う段階と、
(b4)前記逆シフト部が、前記DND次数が−1ではない場合、前記逆フォルド演算された結果を前記シフト値だけ逆シフトし、前記DND次数が−1である場合、前記エントロピ復号化された結果を前記シフト値だけ逆シフトする段階と、
(b5)前記逆DPCM処理部が、前記DPCM次数によって、前記逆シフトされた結果に対して逆DPCM演算を行う段階と、
(b6)前記逆量子化器が、前記逆DPCM演算が行われた結果を、前記キーデータの最大値及び最小値が調整された場合に調整し、前記量子化ビットサイズによって逆量子化する段階と、
(b7)前記線形キー復号化器が、復号化された前記キーヘッダに前記線形キー領域が存在する場合、前記線形キー領域の前記キーデータを前記開始キーデータ及び終了キーデータを用いて復号化し、この復号化された結果と、前記逆量子化された結果を合算する段階と、を含むことを特徴とする請求項29に記載の復号化方法。 - 前記逆DND演算を行う段階は、
前記DND次数が1以上である場合、前記逆DND処理部が、インバートダウン値(nKeyInvertDown)が、−1であれば、エントロピ符号化のシフトアップの逆過程に該当する前記インバートダウンを行い、前記インバートダウン値が−1であれば、エントロピ符号化のシフトアップの逆過程に該当する前記インバートダウンを行わず、
前記DND次数に該当する回数だけ前記逆DND演算を実行し、
前記逆DND演算の実行回数が前記DND次数未満の場合、前記逆DND処理部が、前記逆DND演算が、前記最大値及び最小値のうち、少なくとも1つが正数であれば、逆ディバイド−ダウン演算を実行し、前記最大値及び最小値のうち、少なくとも1つが負数であれば、逆ディバイドアップ演算を実行し、
前記逆DND演算の実行回数が前記DND次数の場合、前記逆DND処理部が、前記逆DND演算が、前記最大値及び最小値のうち、少なくとも1つが正数または負数であれば、逆ディバイドアップ演算を実行すること、を特徴とする請求項30に記載の復号化方法。 - 入力された座標インポレータのキーデータを符号化するキーデータ符号化部と、
キーデータ符号化器において符号化されたキーデータの復号化に必要な情報を符号化するヘッダ符号化部と、を備える符号化装置が、
キーフレームの時間軸上の位置を示すキーデータ、及び前記キーデータに関する情報を有するキーヘッダを含む座標インタポレータを、符号化する座標インタポレータの符号化方法において、
(a)前記ヘッダ符号化部が、前記キーヘッダを符号化する段階と、
(b)前記キーデータ符号化部が、前記符号化されたキーヘッダによって前記キーデータを符号化する段階と、を含むことを特徴とする符号化方法。 - 前記(b)段階は、
前記キーデータ符号化部が、量子化、DPCM演算、及びエントロピ符号化を行うことによって、前記キーデータを符号化することを特徴とする請求項32に記載の符号化方法。 - 前記キーヘッダが、
量子化ビットサイズと、
前記キーデータの数と、
前記キーデータの桁数と、
前記キーデータに線形キー領域の存否を示す線形キーフラグ(bIsLinearKeySubRegion)と、
前記線形キーフラグが1である場合、前記キーヘッダに含まれ、前記線形キー領域の開始及び終了を示す開始キーデータ及び終了キーデータと、
前記キーデータの最大値及び最小値を、量子化誤差を最小化する方向に調整するか否かを示す量子化誤差調整フラグ(bRangeFlag)と、
前記量子化誤差調整フラグが1である場合、前記キーヘッダに含まれ、前記量子化の実行時に用いられる、前記キーデータの調整された最大値及び最小値(KeyMinMax)と、
DPCM演算の実行回数を示すDPCM次数と、
前記DPCM演算の実行のための基準となる値であって、前記DPCM次数に相応する数の基準キーデータ(nQIntraKey)と、
前記DPCM次数に相応する数のキーデータ符号ビット(nQIntraKeySign)と、
前記DPCM演算が行われた結果、最多頻度数の前記キーデータを基準に全体前記キーデータのシフトの要否を示すシフトフラグ(bShiftFlag)と、
前記キーデータのシフト程度を示すシフト値(nKeyShift)と、
前記シフト値の符号ビット(nKeyShiftSign)と、
前記DPCM演算が行われた結果の範囲を調整するためのDND演算の実行回数を示すDND次数と、
前記DND演算の実行に利用され、前記DND次数に相応する数の最大値及び最小値のうち、少なくとも1つと、
前記最大値及び最小値のうち、少なくとも1つを区別させ、前記DND次数に相応する数の符号ビット(nKeyMaxSign)と、
前記DND演算が行われた結果のインバートダウンの要否を示すインバートダウンフラグ(bKeyInvertDownFlag)と、
前記DND演算が行われた結果がインバートダウンされる程度を示すインバートダウン値(nKeyInvertDown)と、
エントロピ符号化時に用いられる符号化技法がSignedAACであるか、あるいはアンサインド適応的算術コーディング技法であるかを示すbSignedAACFlagと、を含み、
前記線形キー領域は、前記キーデータが線形的に増加する領域であることを特徴とする請求項33に記載の符号化方法。 - 前記キーデータ符号化部は、量子化器、DPCM処理部、DND処理部、エントロピ符号化器を含み、
前記(b)段階が、
(b1)前記量子化器が、前記キーデータを前記量子化ビットサイズによって前記量子化を行う段階と、
(b2)前記DPCM処理部が、前記DPCM次数によって、前記量子化が行われた結果に対してDPCM演算を行って差分データを生成する段階と、
(b3)前記DND処理部が、前記差分データに対して前記差分データの最大値と最小値との差を最小化する方向に前記DND演算を行う段階と、
(b4)前記エントロピ符号化器が、前記DND演算が行われた結果をエントロピ符号化する段階と、を含むことを特徴とする請求項34に記載の符号化方法。 - キーフレームの時間軸上の位置を示すキーデータ、及び前記キーデータに関する情報を有するキーヘッダを含む座標インタポレータが符号化されたビットストリームの復号化装置において、
前記キーヘッダを復号化するキーヘッダ復号化部と、
復号化された前記キーヘッダによって前記キーデータを復号化するキーデータ復号化部と、を備えることを特徴とする座標インタポレータ復号化装置。 - 前記キーデータ復号化部は、
エントロピ復号化、逆シフト、逆DPCM演算、逆量子化、及び線形キー合成を行うことによって、前記キーデータを復号化することを特徴とする請求項36に記載の復号化装置。 - 前記キーヘッダは、
量子化ビットサイズと、
前記キーデータの数と、
前記キーデータの桁数と、
前記キーデータに線形キー領域の存否を示す線形キーフラグ(bIsLinearKeySubRegion)と、
前記線形キーフラグが1である場合、前記キーヘッダに含まれ、前記線形キー領域の開始及び終了を示す開始キーデータ及び終了キーデータと、
前記キーデータの最大値及び最小値を、量子化誤差を最小化する方向に調整するか否かを示す量子化誤差調整フラグ(bRangeFlag)と、
前記量子化誤差調整フラグが1である場合、前記キーヘッダに含まれ、前記逆量子化の実行時に用いられる、前記キーデータの調整された最大値及び最小値(KeyMinMax)と、
DPCM演算の実行回数を示すDPCM次数と、
前記DPCM演算の実行のための基準となる値であって、前記DPCM次数に相応する数の基準キーデータ(nQIntraKey)と、
前記DPCM次数に相応する数のキーデータ符号ビット(nQIntraKeySign)と、
前記DPCM演算が行われた結果、最多頻度数の前記キーデータを基準に全体前記キーデータのシフトの要否を示すシフトフラグ(bShiftFlag)と、
前記キーデータのシフト程度を示すシフト値(nKeyShift)と、
前記シフト値の符号ビット(nKeyShiftSign)と、
前記DPCM演算が行われた結果の範囲を調整するためのDND演算の実行回数を示すDND次数と、
前記DND演算の実行に利用され、前記DND次数に相応する数の最大値及び最小値のうち、少なくとも1つと、
前記最大値及び最小値のうち、少なくとも1つを区別させ、前記DND次数に相応する数の符号ビット(nKeyMaxSign)と、
前記DND演算が行われた結果のインバートダウンの要否を示すインバートダウンフラグ(bKeyInvertDownFlag)と、
前記DND演算が行われた結果がインバートダウンされる程度を示すインバートダウン値(nKeyInvertDown)と、
エントロピ符号化時に利用された符号化技法がSignedAACであるか、または、UnsignedAACであるかを示すbSignedAACFlagと、を備え、
前記線形キー領域は、前記キーデータが線形的に増加する領域であることを特徴とする請求項37に記載の復号化装置。 - 前記キーデータ復号化部は、
前記bSignedAACFlagが、前記SignedAACを示すならば、前記符号化されたキーデータに対してSignedAAC復号化を行い、前記UnsignedAACを示すならば、前記符号化されたキーデータに対してUnsignedAAC復号化を行うことによって、前記符号化されたキーデータをエントロピ復号化するエントロピ復号化部と、
前記DND次数が一次以上である場合、前記エントロピ復号化された結果に対して逆DND演算を行う逆DND処理部と、
前記DND次数が−1でない場合、前記エントロピ復号化された結果に対して逆フォルドを行う逆フォルド部と、
前記DND次数が−1でない場合、前記逆フォルドされた結果を前記シフト値だけ逆シフトし、前記DND次数が−1である場合、前記エントロピ復号化された結果を前記シフト値だけ逆シフトする逆シフト部と、
前記DPCM次数によって、前記逆シフトされた結果に対して逆DPCM演算を行う逆DPCM処理部と、
前記逆DPCM演算が行われた結果を、前記キーデータの最大値及び最小値が調整された場合に調整し、前記量子化ビットサイズによって逆量子化する逆量子化部と、
復号化された前記キーヘッダに前記線形キー領域が存在する場合、前記線形キー領域の前記キーデータを前記開始キーデータ及び終了キーデータを用いて復号化し、復号化された結果を前記逆量子化された結果と合算する線形キー合成部と、備えることを特徴とする請求項38に記載の復号化装置。 - 前記逆DND処理部は、
前記DND次数が一次以上である場合、前記インバートダウン値が−1でなければ、エントロピ符号化のシフトアップの逆過程に該当する前記インバートダウンを行い、前記インバートダウン値が−1であれば、エントロピ符号化のシフトアップの逆過程に該当する前記インバートダウンを行わず、
前記DND次数に該当する回数だけ前記逆DND演算を行うが、最後でない回数である場合、前記逆DND演算は、前記最大値及び最小値のうち、少なくとも1つが正数であれば、逆ディバイドダウンを意味し、前記最大値及び最小値のうち、少なくとも1つが負数であれば、逆ディバイドアップを意味し、最後の回数の場合、前記逆DND演算は、前記最大値及び最小値のうち、少なくとも1つが正数または負数であれば、逆ディバイドアップを意味することを特徴とする請求項39に記載の復号化装置。 - キーフレームの時間軸上の位置を示すキーデータ、及び前記キーデータに関する情報を有するキーヘッダを含む座標インタポレータを符号化する座標インタポレータの符号化装置において、
前記キーヘッダを符号化するキーヘッダ符号化部と、
符号化された前記キーヘッダによって前記キーデータを符号化するキーデータ符号化部と、を備えることを特徴とする符号化装置。 - 前記キーデータ符号化部は、
量子化、DPCM演算、及びエントロピ符号化を行うことによって、前記キーデータを符号化することを特徴とする請求項41記載の符号化装置。 - 前記キーヘッダは、
量子化ビットサイズと、
前記キーデータの数と、
前記キーデータの桁数と、
前記キーデータに線形キー領域の存否を示す線形キーフラグ(bIsLinearKeySubRegion)と、
前記線形キーフラグが1である場合、前記キーヘッダに含まれ、前記線形キー領域の開始及び終了を示す開始キーデータ及び終了キーデータと、
前記キーデータの最大値及び最小値を、量子化誤差を最小化する方向に調整するか否かを示す量子化誤差調整フラグ(bRangeFlag)と、
前記量子化誤差調整フラグが1である場合、前記キーヘッダに含まれ、前記量子化の実行時に用いられる、前記キーデータの調整された最大値及び最小値(KeyMinMax)と、
DPCM演算の実行回数を示すDPCM次数と、
前記DPCM演算の実行のための基準となる値であって、前記DPCM次数に相応する数の基準キーデータ(nQIntraKey)と、
前記DPCM次数に相応する数のキーデータ符号ビット(nQIntraKeySign)と、
前記DPCM演算が行われた結果、最多頻度数の前記キーデータを基準に全体前記キーデータのシフトの要否を示すシフトフラグ(bShiftFlag)と、
前記キーデータのシフト程度を示すシフト値(nKeyShift)と、
前記シフト値の符号ビット(nKeyShiftSign)と、
前記DPCM演算が行われた結果の範囲を調整するためのDND演算の実行回数を示すDND次数と、
前記DND演算の実行に利用され、前記DND次数に相応する数の最大値及び最小値のうち、少なくとも1つと、
前記最大値及び最小値のうち、少なくとも1つを区別させ、前記DND次数に相応する数の符号ビット(nKeyMaxSign)と、
前記DND演算が行われた結果のインバートダウンの要否を示すインバートダウンフラグ(bKeyInvertDownFlag)と、
前記DND演算が行われた結果がインバートダウンとなる程度を示すインバートダウン値(nKeyInvertDown)と、
エントロピ符号化時に用いられる符号化技法がSignedAACであるか、UnsignedAACであるかを示すbSignedAACFlagと、を備え、
前記線形キー領域は、前記キーデータが線形的に増加する領域であることを特徴とする請求項42に記載の符号化装置。 - 前記キーデータ符号化部は、
前記キーデータを前記量子化ビットサイズによって前記量子化を行う量子化部と、
前記DPCM次数によって、前記量子化が行われた結果に対してDPCM演算を行って差分データを生成するDPCM処理部と、
前記差分データに対して前記差分データの最大値と最小値との差を最小化する方向に前記DND演算を行うDND処理部と、
前記DND演算が行われた結果をエントロピ符号化するエントロピ符号化部と、を備えることを特徴とする請求項43に記載の符号化装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33313001P | 2001-11-27 | 2001-11-27 | |
US33454101P | 2001-12-03 | 2001-12-03 | |
US34210101P | 2001-12-26 | 2001-12-26 | |
US36959702P | 2002-04-04 | 2002-04-04 | |
KR1020020064008A KR100552666B1 (ko) | 2001-11-27 | 2002-10-19 | 좌표 인터폴레이터의 키 및 키 값 데이터의 부호화/복호화장치, 및 좌표 인터폴레이터를 부호화한 비트스트림을기록한 기록 매체 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004030557A JP2004030557A (ja) | 2004-01-29 |
JP4002502B2 true JP4002502B2 (ja) | 2007-11-07 |
Family
ID=27671280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002344725A Expired - Fee Related JP4002502B2 (ja) | 2001-11-27 | 2002-11-27 | 座標インタポレータの符号化/復号化装置及びその方法 |
Country Status (4)
Country | Link |
---|---|
US (8) | US7733345B2 (ja) |
EP (4) | EP1322119B1 (ja) |
JP (1) | JP4002502B2 (ja) |
DE (1) | DE60239586D1 (ja) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7026960B2 (en) * | 2001-11-27 | 2006-04-11 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding key data |
US7733345B2 (en) * | 2001-11-27 | 2010-06-08 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding position interpolator |
US7809204B2 (en) * | 2002-10-18 | 2010-10-05 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding key value data of coordinate interpolator |
EP1538844A3 (en) * | 2003-11-26 | 2006-05-31 | Samsung Electronics Co., Ltd. | Color image residue transformation and encoding method |
US20050122328A1 (en) * | 2003-12-05 | 2005-06-09 | Peiya Liu | Method and apparatus for specifying animation styles |
KR100561417B1 (ko) | 2004-02-09 | 2006-03-16 | 삼성전자주식회사 | Av 데이터의 재생상태를 전환할 수 있는 인터랙티브그래픽 스트림을 기록한 정보저장매체, 그 재생방법 및 장치 |
US7983835B2 (en) | 2004-11-03 | 2011-07-19 | Lagassey Paul J | Modular intelligent transportation system |
CN1942931A (zh) * | 2004-04-21 | 2007-04-04 | 杜比实验室特许公司 | 通过树型分层数据结构的有序横向结构描述比特流语法的音频比特流格式 |
US7737977B2 (en) * | 2004-05-14 | 2010-06-15 | Pixar | Techniques for automatically maintaining continuity across discrete animation changes |
WO2005116933A1 (en) * | 2004-05-14 | 2005-12-08 | Pixar | Techniques for automatically maintaining continuity across discrete animation changes |
DE102004049156B4 (de) * | 2004-10-08 | 2006-07-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codierschema für einen ein zeitlich veränderliches Graphikmodell darstellenden Datenstrom |
US7953155B2 (en) * | 2004-12-16 | 2011-05-31 | Tut Systems, Inc. | Methods of selecting an encoding mode |
JP4784281B2 (ja) * | 2005-11-18 | 2011-10-05 | 富士ゼロックス株式会社 | 復号化装置、逆量子化方法及びこれらのプログラム |
US7873212B2 (en) * | 2006-01-24 | 2011-01-18 | Nokia Corporation | Compression of images for computer graphics |
US20070216711A1 (en) * | 2006-03-14 | 2007-09-20 | Microsoft Corporation Microsoft Patent Group | Abstracting transform representations in a graphics API |
EP2089879A4 (en) * | 2006-11-06 | 2010-12-29 | Nokia Corp | DYNAMIC QUANTIFICATION STRUCTURES FOR EFFICIENT COMPRESSION |
KR101068605B1 (ko) * | 2006-11-30 | 2011-09-30 | 아크레이 가부시키가이샤 | Nat2 유전자 증폭용 프라이머 셋트, 그것을 포함하는 nat2 유전자 증폭용 시약 및 그 용도 |
UA99270C2 (en) * | 2006-12-12 | 2012-08-10 | Лексикон Фармасьютикалз, Инк. | 4-phenyl-6-(2,2,2-trifluoro-1-phenylethoxy)pyrimidine-based compounds and methods of their use |
CN101617342B (zh) * | 2007-01-16 | 2012-06-13 | 汤姆科技成像系统有限公司 | 用于动态信息的图形表示的方法和系统 |
US20090083781A1 (en) * | 2007-09-21 | 2009-03-26 | Microsoft Corporation | Intelligent Video Player |
US20090103606A1 (en) * | 2007-10-17 | 2009-04-23 | Microsoft Corporation | Progressive Distributed Video Coding |
US7891078B1 (en) * | 2008-01-07 | 2011-02-22 | The United States Of America As Represented By The Secretary Of The Navy | Sensor-based feedback method for improved assembly of vacuum electronic devices |
US8542748B2 (en) | 2008-03-28 | 2013-09-24 | Sharp Laboratories Of America, Inc. | Methods and systems for parallel video encoding and decoding |
FR2929778B1 (fr) * | 2008-04-07 | 2012-05-04 | Canon Kk | Procedes et dispositifs de codage et de decodage binaire iteratif pour documents de type xml. |
US8244799B1 (en) * | 2008-07-21 | 2012-08-14 | Aol Inc. | Client application fingerprinting based on analysis of client requests |
TW201028018A (en) * | 2009-01-07 | 2010-07-16 | Ind Tech Res Inst | Encoder, decoder, encoding method and decoding method |
KR101615384B1 (ko) * | 2010-04-05 | 2016-04-25 | 삼성전자주식회사 | 통신 시스템에서의 채널 부호화 장치 및 방법 |
US8428381B2 (en) * | 2010-06-04 | 2013-04-23 | Altek Corporation | Image compression method with variable quantization parameter |
US8787443B2 (en) * | 2010-10-05 | 2014-07-22 | Microsoft Corporation | Content adaptive deblocking during video encoding and decoding |
US9300321B2 (en) * | 2010-11-05 | 2016-03-29 | University of Maribor | Light detection and ranging (LiDAR)data compression and decompression methods and apparatus |
US20130132840A1 (en) * | 2011-02-28 | 2013-05-23 | Joaquin Cruz Blas, JR. | Declarative Animation Timelines |
US8762136B2 (en) * | 2011-05-03 | 2014-06-24 | Lsi Corporation | System and method of speech compression using an inter frame parameter correlation |
JP6120490B2 (ja) * | 2011-11-07 | 2017-04-26 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
JP5831298B2 (ja) * | 2012-03-06 | 2015-12-09 | 富士通株式会社 | プログラム、情報処理装置およびインデックス生成方法 |
US9432666B2 (en) * | 2012-03-29 | 2016-08-30 | Intel Corporation | CAVLC decoder with multi-symbol run before parallel decode |
US9769473B2 (en) * | 2012-06-08 | 2017-09-19 | Apple Inc. | Predictive video coder with low power reference picture transformation |
JP6003699B2 (ja) * | 2013-02-08 | 2016-10-05 | 富士通株式会社 | テストデータ生成プログラム、方法及び装置 |
WO2014144936A1 (en) * | 2013-03-15 | 2014-09-18 | Videri Inc. | Systems and methods for displaying, distributing, viewing and controlling digital art and imaging |
KR101795484B1 (ko) * | 2013-04-01 | 2017-11-10 | 삼성전자주식회사 | 무선 통신 시스템에서 파운틴 부호를 이용한 데이터 송신 장치 및 방법 |
GB2513110A (en) * | 2013-04-08 | 2014-10-22 | Sony Corp | Data encoding and decoding |
US9667982B2 (en) * | 2013-10-02 | 2017-05-30 | Netapp, Inc. | Techniques for transform based transcoding |
US9870382B2 (en) | 2014-03-25 | 2018-01-16 | Sap Se | Data encoding and corresponding data structure |
CN104268917B (zh) * | 2014-09-28 | 2017-07-11 | 厦门幻世网络科技有限公司 | 一种将3d动画转化为gif动态图的方法及其装置 |
US9784097B2 (en) | 2015-03-30 | 2017-10-10 | Baker Hughes Incorporated | Compressed telemetry for time series downhole data using variable scaling and grouped words |
US9577854B1 (en) * | 2015-08-20 | 2017-02-21 | Micron Technology, Inc. | Apparatuses and methods for asymmetric bi-directional signaling incorporating multi-level encoding |
US10282889B2 (en) | 2016-11-29 | 2019-05-07 | Samsung Electronics Co., Ltd. | Vertex attribute compression and decompression in hardware |
US10726602B2 (en) * | 2017-02-03 | 2020-07-28 | Sony Corporation | Apparatus and method to generate realistic three-dimensional (3D) model animation |
US10164817B2 (en) | 2017-03-21 | 2018-12-25 | Micron Technology, Inc. | Methods and apparatuses for signal translation in a buffered memory |
US11398830B2 (en) * | 2018-04-27 | 2022-07-26 | University Of Cyprus | Methods for compression of multivariate correlated data for multi-channel communication |
US11503322B2 (en) | 2020-08-07 | 2022-11-15 | Samsung Display Co., Ltd. | DPCM codec with higher reconstruction quality on important gray levels |
US11509897B2 (en) | 2020-08-07 | 2022-11-22 | Samsung Display Co., Ltd. | Compression with positive reconstruction error |
US20230057492A1 (en) * | 2021-08-19 | 2023-02-23 | Intel Corporation | Interleaving of variable bitrate streams for gpu implementations |
Family Cites Families (110)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US128884A (en) * | 1872-07-09 | Improvement in casters for | ||
US128215A (en) * | 1872-06-25 | Improvement in halters | ||
US147470A (en) * | 1874-02-17 | Improvement in combined dining and ironing tables | ||
US103573A (en) * | 1870-05-31 | Improvement in carriage and railroab-car wheels | ||
US103572A (en) * | 1870-05-31 | Improvement in collecting-, separating | ||
US108107A (en) * | 1870-10-11 | Improvement in railroad-tickets | ||
US4189744A (en) * | 1976-12-20 | 1980-02-19 | New York Institute Of Technology | Apparatus for generating signals representing operator-selected portions of a scene |
JPS60237738A (ja) | 1984-05-11 | 1985-11-26 | Sony Corp | デイジタル信号伝送装置 |
US4703350A (en) * | 1985-06-03 | 1987-10-27 | Picturetel Corporation | Method and apparatus for efficiently communicating image sequences |
FR2588579B1 (fr) | 1985-10-11 | 1987-11-20 | Ciapem | Dispositif de commande du moteur d'entrainement du tambour d'un lave-linge |
JPS62262533A (ja) | 1986-04-30 | 1987-11-14 | ジ−メンス・アクチエンゲゼルシヤフト | Dpcm値伝送方法 |
DE3629472A1 (de) * | 1986-08-29 | 1988-03-03 | Licentia Gmbh | Verfahren zur bewegungskompensierten bild-zu-bild-praediktionscodierung |
US4794455A (en) * | 1987-01-07 | 1988-12-27 | Pictel Corporation | Method and apparatus employing adaptive filtering for efficiently communicating image sequences |
KR0122882B1 (ko) * | 1987-03-12 | 1997-11-21 | 사또오 도시아끼 | 전해콘덴서용 전해액 |
EP0330455A3 (en) * | 1988-02-22 | 1990-07-04 | Kabushiki Kaisha Toshiba | Image encoding apparatus |
JPH0671237B2 (ja) * | 1988-09-16 | 1994-09-07 | 日本ビクター株式会社 | 高能率符号化方式 |
DE69019865T2 (de) * | 1989-03-02 | 1996-02-15 | Furukawa Electric Co Ltd | Verfahren und Vorrichtung zum Identifizieren eines optischen Übertragungsmediums. |
EP0418396B1 (en) * | 1989-03-16 | 1998-06-03 | Fujitsu Limited | Video/audio multiplex transmission system |
US5422675A (en) * | 1990-01-29 | 1995-06-06 | Massachusetts Institute Of Technology | Adaptive modulation/demodulation signal processing |
GB9005544D0 (en) * | 1990-03-12 | 1990-05-09 | Spaceward Ltd | Improved outline production from a raster image |
WO1992009966A1 (en) * | 1990-11-30 | 1992-06-11 | Cambridge Animation Systems Limited | Image synthesis and processing |
US5231484A (en) * | 1991-11-08 | 1993-07-27 | International Business Machines Corporation | Motion video compression system with adaptive bit allocation and quantization |
US5594813A (en) * | 1992-02-19 | 1997-01-14 | Integrated Information Technology, Inc. | Programmable architecture and methods for motion estimation |
US6441842B1 (en) * | 1992-02-19 | 2002-08-27 | 8×8, Inc. | Video compression/decompression processing and processors |
JP2894067B2 (ja) * | 1992-02-26 | 1999-05-24 | 日本電気株式会社 | 動画像符号化制御方法および動画像符号化装置 |
US5285498A (en) * | 1992-03-02 | 1994-02-08 | At&T Bell Laboratories | Method and apparatus for coding audio signals based on perceptual model |
GB2295753B (en) * | 1992-09-17 | 1996-10-16 | Sony Uk Ltd | Data coding |
US5377051A (en) * | 1993-01-13 | 1994-12-27 | Hitachi America, Ltd. | Digital video recorder compatible receiver with trick play image enhancement |
US6236682B1 (en) * | 1993-03-08 | 2001-05-22 | Sony Corporation | Video motion vector detection including rotation and/or zoom vector generation |
US5376968A (en) * | 1993-03-11 | 1994-12-27 | General Instrument Corporation | Adaptive compression of digital video data using different modes such as PCM and DPCM |
JP2778412B2 (ja) * | 1993-05-20 | 1998-07-23 | 国際電信電話株式会社 | 動き補償フレーム間コンポジットtv信号直接符号化装置 |
KR960010196B1 (ko) * | 1993-06-04 | 1996-07-26 | 배순훈 | 인간의 시각특성을 이용한 디씨(dc) 변환계수 양자화기 |
KR100287494B1 (ko) * | 1993-06-30 | 2001-04-16 | 이데이 노부유끼 | 디지탈신호의부호화방법및장치,복호화방법및장치와부호화시킨신호의기록매체 |
JP3167228B2 (ja) * | 1993-09-20 | 2001-05-21 | 富士通株式会社 | Vccテーブルのアクセス方法及びバーチャルチャネル変換装置 |
US5684542A (en) * | 1993-12-21 | 1997-11-04 | Sony Corporation | Video subtitle processing system |
US5592226A (en) * | 1994-01-26 | 1997-01-07 | Btg Usa Inc. | Method and apparatus for video data compression using temporally adaptive motion interpolation |
US5457495A (en) * | 1994-05-25 | 1995-10-10 | At&T Ipm Corp. | Adaptive video coder with dynamic bit allocation |
EP0770246A4 (en) * | 1994-07-14 | 1998-01-14 | Johnson Grace Company | METHOD AND APPARATUS FOR COMPRESSING IMAGES |
US5748786A (en) * | 1994-09-21 | 1998-05-05 | Ricoh Company, Ltd. | Apparatus for compression using reversible embedded wavelets |
US6229927B1 (en) * | 1994-09-21 | 2001-05-08 | Ricoh Company, Ltd. | Reversible embedded wavelet system implementation |
US5550847A (en) * | 1994-10-11 | 1996-08-27 | Motorola, Inc. | Device and method of signal loss recovery for realtime and/or interactive communications |
US5729294A (en) * | 1995-04-05 | 1998-03-17 | International Business Machines Corporation | Motion video compression system with novel adaptive quantization |
US5694170A (en) * | 1995-04-06 | 1997-12-02 | International Business Machines Corporation | Video compression using multiple computing agents |
US5884269A (en) * | 1995-04-17 | 1999-03-16 | Merging Technologies | Lossless compression/decompression of digital audio data |
JP3649469B2 (ja) * | 1995-05-12 | 2005-05-18 | 株式会社ソニー・コンピュータエンタテインメント | アニメーションデータの作成方法および作成装置 |
US5757668A (en) * | 1995-05-24 | 1998-05-26 | Motorola Inc. | Device, method and digital video encoder of complexity scalable block-matching motion estimation utilizing adaptive threshold termination |
US5790130A (en) * | 1995-06-08 | 1998-08-04 | Hewlett-Packard Company | Texel cache interrupt daemon for virtual memory management of texture maps |
JP3326670B2 (ja) * | 1995-08-02 | 2002-09-24 | ソニー株式会社 | データ符号化/復号化方法および装置、および符号化データ記録媒体 |
CN1097956C (zh) * | 1995-09-06 | 2003-01-01 | 皇家菲利浦电子有限公司 | 分段图象序列编码的方法和系统以及解码的方法和系统 |
US5691769A (en) * | 1995-09-07 | 1997-11-25 | Daewoo Electronics Co, Ltd. | Apparatus for encoding a contour of an object |
US5652629A (en) * | 1995-09-12 | 1997-07-29 | International Business Machines Corporation | Bidirectional motion estimation in a motion video compression system |
US5912673A (en) * | 1995-11-27 | 1999-06-15 | Sun Microsystems, Inc. | Graphical image convolution using multiple pipelines |
JPH09182082A (ja) | 1995-12-25 | 1997-07-11 | Nippon Telegr & Teleph Corp <Ntt> | 動画像の動き補償予測符号化方法とその装置 |
US5719632A (en) * | 1996-01-25 | 1998-02-17 | Ibm Corporation | Motion video compression system with buffer empty/fill look-ahead bit allocation |
US6151073A (en) * | 1996-03-28 | 2000-11-21 | Fotonation, Inc. | Intelligent camera flash system |
KR100203656B1 (ko) * | 1996-04-09 | 1999-06-15 | 전주범 | 윤곽 영상신호 부호화 장치 |
KR100197602B1 (ko) | 1996-04-29 | 1999-06-15 | 윤종용 | 회전 움직임 추정 방법 및 이를 이용한 영상부호화/복호화장치 |
DE69724899T2 (de) * | 1996-05-06 | 2004-07-08 | Koninklijke Philips Electronics N.V. | Verfahren und system zur kodierung und dekodierung von segmentierten videodaten |
ES2190995T3 (es) * | 1996-05-17 | 2003-09-01 | Matsushita Electric Ind Co Ltd | Decodificador de video con compensacion de movimiento. |
KR100324608B1 (ko) * | 1996-05-28 | 2002-04-17 | 모리시타 요이찌 | 화상예측부호화장치와방법,화상예측복호화장치와방법,및기록매체 |
JPH09326990A (ja) | 1996-06-07 | 1997-12-16 | Matsushita Electric Ind Co Ltd | 映像編集装置 |
US5912676A (en) * | 1996-06-14 | 1999-06-15 | Lsi Logic Corporation | MPEG decoder frame memory interface which is reconfigurable for different frame store architectures |
US5781239A (en) * | 1996-06-20 | 1998-07-14 | Lsi Logic Corporation | System and method for performing an optimized inverse discrete cosine transform with improved efficiency |
KR100209419B1 (ko) * | 1996-07-09 | 1999-07-15 | 전주범 | 영상신호로 표현된 객체의 윤곽선 부호화 방법 |
JP3263807B2 (ja) * | 1996-09-09 | 2002-03-11 | ソニー株式会社 | 画像符号化装置および画像符号化方法 |
US5883977A (en) * | 1996-12-30 | 1999-03-16 | Daewoo Electronics Co., Ltd. | Method and apparatus for encoding a video signal of a contour of an object |
KR100219706B1 (ko) * | 1997-01-10 | 1999-09-01 | 윤종용 | 정점기반 형상 부호화 및 인접 프레임간 정점예측방법 |
US5818463A (en) * | 1997-02-13 | 1998-10-06 | Rockwell Science Center, Inc. | Data compression for animated three dimensional objects |
KR100463004B1 (ko) * | 1997-03-20 | 2005-06-02 | 주식회사 팬택앤큐리텔 | Mpeg-4vop부호화방법 |
KR19980073964A (ko) * | 1997-03-20 | 1998-11-05 | 김영환 | 영상신호의 모양정보 부호화시 윤곽선 정합 이동 벡터 추정 방법 |
KR100229546B1 (ko) * | 1997-04-11 | 1999-11-15 | 전주범 | 윤곽선 비디오 신호 부호화 방법 및 그 장치 |
KR100229544B1 (ko) * | 1997-04-11 | 1999-11-15 | 전주범 | 움직임 추정기법을 이용한 윤곽선 부호화 장치 |
KR100511810B1 (ko) * | 1997-06-03 | 2005-09-05 | 가부시키가이샤 히타치세이사쿠쇼 | 화상 부호화 및 복호화 방법 및 장치 |
KR100244769B1 (ko) * | 1997-06-26 | 2000-02-15 | 전주범 | 스케일러빌리티를 갖는 간 윤곽선 부호화 방법 및 장치 |
KR100295798B1 (ko) * | 1997-07-11 | 2001-08-07 | 전주범 | 스케일러빌리티를구현한이진현상신호부호화장치 |
US6549206B1 (en) * | 1997-07-11 | 2003-04-15 | France Telecom And Telediffusion De France | Graphic scene animation signal, corresponding method and device |
FR2765984B1 (fr) | 1997-07-11 | 1999-10-22 | France Telecom | Signal de donnees d'animation d'une scene graphique a objet de quantification, procede et dispositif correspondants |
US5897721A (en) * | 1997-07-17 | 1999-04-27 | Olympic General Corporation | Liner with integrated cable and method |
JPH1169356A (ja) * | 1997-08-25 | 1999-03-09 | Mitsubishi Electric Corp | 動画像符号化方式及び動画像復号方式 |
KR100535632B1 (ko) * | 1997-10-17 | 2006-04-12 | 주식회사 팬택앤큐리텔 | 적응적으로 보더링하는 모양정보 부호화/복호화 장치 및 방법 |
EP0921497B1 (en) * | 1997-12-02 | 2004-03-24 | Daewoo Electronics Corporation | Interlaced binary shape coding apparatus |
US6438165B2 (en) * | 1998-03-09 | 2002-08-20 | Lg Electronics | Method and apparatus for advanced encoder system |
US6606095B1 (en) * | 1998-06-08 | 2003-08-12 | Microsoft Corporation | Compression of animated geometry using basis decomposition |
KR100533437B1 (ko) * | 1998-08-26 | 2005-12-06 | 소니 가부시끼 가이샤 | 비디오 데이터 처리 장치, 비디오 데이터 부호화 장치 및 그 방법 |
US6075901A (en) * | 1998-12-04 | 2000-06-13 | France Telecom | Method and system for predictive encoding of arrays of data |
US6204854B1 (en) * | 1998-12-04 | 2001-03-20 | France Telecom | Method and system for encoding rotations and normals in 3D generated scenes |
JP2001141274A (ja) | 1999-11-12 | 2001-05-25 | Daikin Ind Ltd | クリーンルーム |
WO2001041156A1 (en) | 1999-12-01 | 2001-06-07 | Ivast, Inc. | Optimized bifs encoder |
US6847365B1 (en) | 2000-01-03 | 2005-01-25 | Genesis Microchip Inc. | Systems and methods for efficient processing of multimedia data |
US20020036639A1 (en) * | 2000-01-31 | 2002-03-28 | Mikael Bourges-Sevenier | Textual format for animation in multimedia systems |
US6940911B2 (en) * | 2000-03-14 | 2005-09-06 | Victor Company Of Japan, Ltd. | Variable picture rate coding/decoding method and apparatus |
EP1161014A1 (en) * | 2000-05-31 | 2001-12-05 | PIRELLI CAVI E SISTEMI S.p.A. | Autoprotected optical communication ring network |
AUPQ887100A0 (en) * | 2000-07-19 | 2000-08-10 | Dynamic Digital Depth Research Pty Ltd | Image processing and encoding techniques |
AU2001284513A1 (en) * | 2000-09-11 | 2002-03-26 | Matsushita Electric Industrial Co., Ltd. | Encoding apparatus and decoding apparatus |
CA2359260C (en) * | 2000-10-20 | 2004-07-20 | Samsung Electronics Co., Ltd. | Coding apparatus and method for orientation interpolator node |
KR100612828B1 (ko) | 2000-10-20 | 2006-08-18 | 삼성전자주식회사 | 오리엔테이션 보간 노드의 부호화 장치 및 방법 |
CA2359519C (en) * | 2000-10-20 | 2004-07-20 | Samsung Electronics Co., Ltd. | Encoding/decoding apparatus and method for orientation interpolator node data |
US7006097B2 (en) | 2000-11-23 | 2006-02-28 | Samsung Electronic Co., Ltd. | Method and apparatus for compression and reconstruction of animation path using linear approximation |
US6559848B2 (en) * | 2000-12-13 | 2003-05-06 | Intel Corporation | Coding and decoding three-dimensional data |
JP2002215696A (ja) * | 2001-01-19 | 2002-08-02 | Komatsu Ltd | 3次元cadシステム |
CA2372969C (en) * | 2001-02-28 | 2008-09-16 | Samsung Electronics Co., Ltd. | Encoding method and apparatus of deformation information of 3d object |
US6492916B1 (en) * | 2001-03-30 | 2002-12-10 | Ricoh Co., Ltd. | Method and apparatus for generating multiple selectable contexts |
US7026960B2 (en) | 2001-11-27 | 2006-04-11 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding key data |
US7733345B2 (en) | 2001-11-27 | 2010-06-08 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding position interpolator |
EP1331824A3 (en) | 2001-11-27 | 2005-09-14 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding key value data of coordinate interpolator |
KR100480787B1 (ko) * | 2001-11-27 | 2005-04-07 | 삼성전자주식회사 | 좌표 인터폴레이터의 키 값 데이터 부호화/복호화 방법 및 장치 |
EP1346788A3 (de) * | 2002-03-22 | 2003-10-22 | GROB-Werke Burkhart Grob e.K. | Bearbeitungszentrum |
US6847385B1 (en) * | 2002-06-01 | 2005-01-25 | Silicon Motion, Inc. | Method and apparatus for hardware rotation |
US7809204B2 (en) | 2002-10-18 | 2010-10-05 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding key value data of coordinate interpolator |
JP5210430B2 (ja) | 2008-03-25 | 2013-06-12 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | マルチキャリア無線ネットワークにおけるアンカ・キャリア選択 |
-
2002
- 2002-11-27 US US10/305,164 patent/US7733345B2/en not_active Expired - Fee Related
- 2002-11-27 EP EP02258173A patent/EP1322119B1/en not_active Expired - Lifetime
- 2002-11-27 US US10/305,331 patent/US7181071B2/en not_active Expired - Fee Related
- 2002-11-27 EP EP10185678A patent/EP2278807B1/en not_active Expired - Lifetime
- 2002-11-27 EP EP10185988.2A patent/EP2302930B1/en not_active Expired - Lifetime
- 2002-11-27 US US10/305,174 patent/US7336713B2/en active Active
- 2002-11-27 US US10/305,011 patent/US7206457B2/en not_active Expired - Fee Related
- 2002-11-27 DE DE60239586T patent/DE60239586D1/de not_active Expired - Lifetime
- 2002-11-27 EP EP10185978.3A patent/EP2302929B1/en not_active Expired - Lifetime
- 2002-11-27 JP JP2002344725A patent/JP4002502B2/ja not_active Expired - Fee Related
- 2002-11-27 US US10/305,123 patent/US7809203B2/en not_active Expired - Fee Related
-
2006
- 2006-10-10 US US11/544,672 patent/US8411975B2/en not_active Expired - Fee Related
-
2007
- 2007-01-19 US US11/655,124 patent/US7406206B2/en not_active Expired - Fee Related
-
2010
- 2010-08-30 US US12/923,038 patent/US8705610B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7336713B2 (en) | 2008-02-26 |
US20070053600A1 (en) | 2007-03-08 |
DE60239586D1 (de) | 2011-05-12 |
JP2004030557A (ja) | 2004-01-29 |
US20030103573A1 (en) | 2003-06-05 |
US7733345B2 (en) | 2010-06-08 |
EP2278807A1 (en) | 2011-01-26 |
US7809203B2 (en) | 2010-10-05 |
US7206457B2 (en) | 2007-04-17 |
US8705610B2 (en) | 2014-04-22 |
EP2278807B1 (en) | 2012-07-18 |
EP2302929B1 (en) | 2015-03-25 |
EP2302930A1 (en) | 2011-03-30 |
EP1322119A2 (en) | 2003-06-25 |
US20030147470A1 (en) | 2003-08-07 |
US20100322308A1 (en) | 2010-12-23 |
US8411975B2 (en) | 2013-04-02 |
US20030128884A1 (en) | 2003-07-10 |
EP1322119B1 (en) | 2013-01-09 |
EP1322119A3 (en) | 2005-05-25 |
EP2302929A1 (en) | 2011-03-30 |
EP2302930B1 (en) | 2015-07-15 |
US20070116368A1 (en) | 2007-05-24 |
US7406206B2 (en) | 2008-07-29 |
US20030108107A1 (en) | 2003-06-12 |
US7181071B2 (en) | 2007-02-20 |
US20030128215A1 (en) | 2003-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4002502B2 (ja) | 座標インタポレータの符号化/復号化装置及びその方法 | |
KR100552666B1 (ko) | 좌표 인터폴레이터의 키 및 키 값 데이터의 부호화/복호화장치, 및 좌표 인터폴레이터를 부호화한 비트스트림을기록한 기록 매체 | |
US20060171533A1 (en) | Method and apparatus for encoding and decoding key data | |
JP4070783B2 (ja) | データ符号化方法、並びに装置 | |
JP4104615B2 (ja) | キーデータの符号化及び復号化方法、並びに装置 | |
US7209590B2 (en) | Coding and decoding apparatus of key data for graphic animation and method thereof | |
JP3953411B2 (ja) | 座標インタポレータのキー値データ符号化/復号化方法及び装置 | |
JP4205426B2 (ja) | 回転インタポレータのキー値データ復号化方法 | |
JP4629014B2 (ja) | 位置インタポレータの符号化/複合化方法、及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060426 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060726 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060731 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061026 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070328 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070628 |
|
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: 20070725 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070817 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100824 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: 20110824 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110824 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120824 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130824 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |