JP2004030557A - 座標インタポレータのキー及びキー値データの符号化/復号化装置、及び座標インタポレータを符号化したビットストリームを記録した記録媒体 - Google Patents

座標インタポレータのキー及びキー値データの符号化/復号化装置、及び座標インタポレータを符号化したビットストリームを記録した記録媒体 Download PDF

Info

Publication number
JP2004030557A
JP2004030557A JP2002344725A JP2002344725A JP2004030557A JP 2004030557 A JP2004030557 A JP 2004030557A JP 2002344725 A JP2002344725 A JP 2002344725A JP 2002344725 A JP2002344725 A JP 2002344725A JP 2004030557 A JP2004030557 A JP 2004030557A
Authority
JP
Japan
Prior art keywords
data
key
inverse
dpcm
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002344725A
Other languages
English (en)
Other versions
JP4002502B2 (ja
Inventor
Lee Shin-Jun
李 信 俊
Seok-Yun Jeong
鄭 錫 潤
Jang Euee Seon
張 義 善
Sang-Oak Woo
禹 相 玉
Manchin Kan
韓 萬 鎭
Do-Kyoon Kim
金 道 均
Gyeong-Ja Jang
張 敬 子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020020064008A external-priority patent/KR100552666B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2004030557A publication Critical patent/JP2004030557A/ja
Application granted granted Critical
Publication of JP4002502B2 publication Critical patent/JP4002502B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/12Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/25Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion 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)

Abstract

【課題】座標インタポレータのキー及びキー値データの符号化/復号化。
【解決手段】キーデータを符号化したキーデータ符号化/復号化情報及びキー値データを符号化したキー値データ符号化/復号化情報を含み、逆DND演算情報と、逆DND演算の行われた差分データを量子化されたキーデータに変換する第1の逆DPCM演算情報、及び量子化されたキーデータを逆量子化して復元されたキーデータを生成する逆量子化に用いられる第1の逆量子化情報を含み、さらに、辞書符号化されたキー値データの辞書復号化情報と、辞書復号化された各頂点成分の差分データを量子化されたキー値データに変換する第2の逆DPCM演算情報、及び量子化されたキー値データを逆量子化して復元されたキーデータを生成する逆量子化に用いられる第2の逆量子化情報を含む。
【選択図】  図2

Description

【0001】
【発明の属する技術分野】
本発明は合成イメージの符号化及び復号化装置並びに方法に関する。具体的に、本発明は、キーフレームに基づくグラフィックアニメーション方式において、客体の位置を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】
Figure 2004030557
【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の技術的な課題は、キーデータの性質を考慮してデータの冗長性を除去することによりアニメーションキーデータを効率良く圧縮するキーデータ符号化器、及び空間的な相関関係だけではなく、時間的な相関関係をも考慮してキー値データを符号化するキー値データ符号化器を有する座標インタポレータの符号化装置を提供することである。
【0008】
本発明の第2の技術的な課題は、前記本発明の座標インタポレータ符号化装置により符号化されたビットストリームを復号化する復号化装置を提供することである。
【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処理部から入力された差分データに対してヘッダ復号化器から入力されたDPCM次数だけ逆DPCM演算を行い、量子化されたキーデータを出力する第1の逆DPCM処理部と、量子化されたキーデータを逆量子化して復号化されたキーデータを出力する第1の逆量子化器を有するキーデータ復号化器と、入力されたビットストリームをエントロピ復号化してキー値データの差分データのシンボル、シンボルの位置を表わすインデックス、及びDPCM演算モードを含む辞書復号化されるべきデータを生成する第2のエントロピ復号化器と、ヘッダ復号化器から入力された辞書復号化モード情報に基づき辞書復号化演算を行い、キー値データの差分データを生成する辞書復号化器と、DPCM演算モードに基づき辞書復号化器から入力されたキーフレーム間の差分データ及び各頂点間の差分データを復元し、量子化されたデータを生成する第2の逆DPCM処理部と、量子化されたデータを逆量子化して復元されたキー値データを生成する第2の逆量子化器を有するキー値データ復号化器と、を備える。
【0012】
前記第3の技術的な課題を達成するために、本発明の記録媒体に記録されるビットストリームは、キーデータを符号化したキーデータ符号化/復号化情報、及びキー値データを符号化したキー値データ符号化/復号化情報を含み、キーデータ符号化/復号化情報は、キーデータビットストリームをエントロピ復号化して生成された差分データの範囲を広める逆DND演算を行う回数を表わす逆DND次数及び各逆DND次数における逆DND演算に用いられる最大値及び最小値を含む逆DND演算情報と、逆DND演算の行われた差分データを量子化されたキーデータに変換する逆DPCM演算の回数及び各回数の逆DPCM演算に用いられるイントラキーデータを含む第1の逆DPCM演算情報と、量子化されたキーデータを逆量子化して復元されたキーデータを生成する逆量子化に用いられる第1の逆量子化情報と、を含み、キー値データ符号化/復号化情報は、キー値データビットストリームからエントロピ復号化された、辞書符号化されたキー値データの差分データを表わすシンボルに関する情報、シンボルの位置を表わす第1の位置インデックス、及び第1の位置インデックスに対して行われるべき辞書復号化方法を表わす辞書復号化モードを含む辞書復号化情報と、辞書復号化された各頂点成分の差分データを量子化されたキー値データに変換する逆DPCM演算に用いられる逆DPCM演算モードの組合せを表わすシンボルの位置を表わす第2の位置インデックスを含む第2の逆DPCM演算情報と、量子化されたキー値データを逆量子化して復元されたキーデータを生成する逆量子化に用いられる第2の逆量子化情報と、を含む。
【0013】
【発明の実施の形態】
以下、添付した図面に基づき、本実施の形態における座標インタポレータ符号化装置を説明する。
【0014】
図2は、本実施の形態における座標インタポレータ符号化装置の構成を示すブロック図である。
本実施の形態における座標インタポレータ符号化装置は、入力された座標インタポレータのキーデータを符号化するキーデータ符号化器300と、入力された座標インタポレータのキー値データを符号化するキー値データ符号化器700、及びキーデータ符号化器300及びキー値データ符号化器700において符号化されたキー及びキー値データの復号化に必要な情報を符号化するヘッダ符号化器500を備える。
【0015】
以下、図3から図22に基づいて、本実施の形態におけるキーデータ符号化器700について説明する。
図3は、本実施の形態におけるキーデータ符号化器の構成を示すブロック図である。
本実施の形態のキーデータ符号化器700は、線形キー符号化器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】
Figure 2004030557
【0019】
ここで、tζは部分的に線形である領域が始まるキーのデータを示し、tは、部分的に線形である領域が終わるキーのデータを示し、Sは、tのインデックスを、Eは、tのインデックスを各々示す。第S番目のキーデータ及び第E番目のキーデータに対応する特定の領域において前記式1により線形的に予測されたキーデータと実際のキーデータとの誤差は、下記式2により計算できる。
【0020】
【数2】
Figure 2004030557
【0021】
もし、前記式2により計算された誤差値のうち最大誤差値が所定の臨界値以下であれば、tは[t,t]区間及び所定の誤差内において類似線形であると言える。最大誤差値及び特定の領域が類似線形であるか否かは、下記式3により決められる。
【0022】
【数3】
Figure 2004030557
【0023】
もし、
Figure 2004030557
であれば、tは、[t,t]区間において類似線形である。ただしnBitsは符号化に用いられる符号化ビット数を示す。
【0024】
ここで、線形キー符号化器310は、部分的に線形である領域を見つければ、領域の開始点のキーデータ及び終了点のキーデータは実数変換部315に出力し、線形キー領域に含まれるキーの数はヘッダ符号化器500に出力して符号化する。このように、線形符号化を用いることにより、符号化するデータの量を大いに低減できるということが分かる。開始キーデータ及び終了キーデータは、実数変換部315において後述する実数変換過程により符号化される。
【0025】
実数変換部315は、開始キーデータ及び終了キーデータを符号化するために2進数体系で表わされたキーデータを10進数体系に変換する。
コンピュータは、実数を32ビットの2進数の形で記憶する。実数が2進数の形で与えられれば、実数変換部315は、実数を10進数体系の仮数及び指数に変換する。すなわち、下記式4のように変換される。
【0026】
【数4】
Figure 2004030557
【0027】
例えば、実数12.34をコンピュータにて2進数の形で表わせば、下記の通りである。
Figure 2004030557
【0028】
10進数体系の仮数及び指数をビットストリームに含めるためには、各々が必要とするビット数を計算しなければならない。まず、指数は−38〜38の範囲の値を有するため、指数は符号を含んで7ビットで表わせる。また、仮数は、桁数に応じて必要なビットの数が決められる。仮数の値及びこれに必要なビット数(但し、符号ビットは除く。)を下記表2に示す。
【0029】
【表2】
Figure 2004030557
【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より大きければ、所定のビット数を(本実施の形態では、IEEE標準754の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を量子化に用いられるビットとした時、量子化された入力値
Figure 2004030557
、逆量子化された値
Figure 2004030557
、及び誤差eiは、各々下記式5により計算する。
【0042】
【数5】
Figure 2004030557
【0043】
誤差の和eを減らす方法には2種類があるが、1つは誤差の和が最小となるまでMin値を調節することであり、2つ目は、下記に述べる方法である。
【0044】
まず、ΔXが入力データの基本ステップサイズであり、nが任意の整数であり、iが0平均乱数ノイズであるとした時、入力キーデータシーケンスXiをXi=(i+n)ΔX+εiのように表わされる量子化された値であると仮定する。その後、di=Xi−Xi−1=ΔX+(εi−εi−1)であるとした時、Δ’X=E[di]であり、最小値Minは、Max−Δ’X(2nQuantBit−1)である。
このような方法で求められる量子化誤差を最小化するMin値は、Max値及び量子化器320に入力されてキーデータの量子化に用いられる。
【0045】
量子化誤差が最小となる最大値Max及び最小値Minを受け取った量子化器320は、下記式6を用いてキーデータfKeyの量子化を行う(S4200)。
【0046】
【数6】
Figure 2004030557
【0047】
ここで、iは、量子化されたキーデータのインデックスを、nQKeyは、量子化されたデータの整数配列を、fKeyは、入力キーデータとしての実数配列を、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】
Figure 2004030557
【0057】
ここで、iは、量子化されたキーデータのインデックスを、nQKeyは整数配列を、そしてiは差分データを各々示す。
【0058】
一方、DPCM処理部330は、選択されたDPCMの結果、及びDPCMされたキーデータの差分データを符号化する時に必要なビット数を計算し、所定の記憶場所(本実施の形態では、nQStep_DPCM)に記憶する(S4340)。但し、符号化に必要なビット数を計算する段階は、後述する符号化すべきキーデータを選択する段階において行っても良いということは当業者に取って自明である。
【0059】
DPCM結果を受け取ったシフト部340は、入力された差分データのうち頻度数が最も高い差分データ(以下、モードと称する)を選択して全ての差分データからモードを引くことにより、符号化されるべきデータを0の周りに集中的に分布せしめて符号化に必要なビット数を減らす(S4400)。
シフト演算は、量子化された全てのキーデータの差分データからモードnKeyShiftを引くことにより行われる。このようなシフト演算は、下記式8で表わされる。
【0060】
【数8】
Figure 2004030557
【0061】
ここで、iは、量子化されたキーデータのインデックスを示し、nQKeyは、整数配列を示し、nKeyShiftは、モード値を示す。シフト演算が行われた後には、キーデータの差分データのうち頻度数が最も高い差分データは0となるので、符号化に必要なビット数を大幅に低減できる。
シフト演算が行われたキーデータは、フォルド処理部350及びDND処理部360に出力され、モード値nKeyShiftは、ヘッダ符号化器500に出力されてキーヘッダに含まれる。
シフトされたデータを受け取ったフォルド処理部350は、DND演算を行うための前処理段階としてフォルド演算を行い、フォルド演算されたキーデータをDND処理部360に出力する(S4500)。
フォルド演算は、0を中心として負数領域及び正数領域に様々に分布される差分データを正数領域または負数領域に集中させて差分データの範囲を狭めるためのものであり、この実施の形態では、下記式9によりフォルド演算を行って差分データの分布を正数領域に集中させた。
【0062】
【数9】
Figure 2004030557
【0063】
ここで、iは、量子化されたキーデータのインデックスを示し、nQKeyは、整数配列を示す。フォルド演算により、シフトされたキーデータの差分データのうち正数データは正の偶数に、負数のデータは正の奇数に各々変換される。
【0064】
フォルド処理部350は、フォルド演算が行われたデータを符号化する時に必要なビット数を計算して所定の記憶場所nQStep_foldに記憶する。第S4300段階と同じく、符号化に必要なビット数の計算は、後述するエントロピ符号化する差分データを選択する段階において行っても良いということは当業者に取って自明である。一方、フォルド処理部350においてフォルト演算が行われたデータは、DND処理部360に出力される。
【0065】
DND処理部360は、エントロピ符号化の効率を高めるために、入力されたキーデータの差分データに対してDND演算を所定の回数だけ行ってデータの範囲を狭める(S4600)。
【0066】
以下、図4を参照し、DND処理部360について説明する。 DND処理部は、DND演算を行うDND演算部362、符号化ビット数に応じてエントロピ符号化すべき差分データを選択する第1の差分データ選択部364、第1の差分データ選択部においてDND演算の行われた差分データが選択されれば、DND演算の行われた差分データに対してシフト−アップ演算を行うシフト−アップ演算部366、及びDND演算された差分データ及びシフト−アップ演算された差分データのうち散布度が小さい方の差分データを選択してエントロピ符号化器370に出力する第2の差分データ選択部368を備える。
【0067】
まず、DND演算部362において行われるDND演算について説明する。
フォルド演算された差分データがDND演算部362に入力されれば、入力された差分データは半分に分けられ、上位範囲に位置する差分データはディバイド関数によって負数領域に移動する。ディバイド関数は、下記式10のように定義される。
【0068】
【数10】
Figure 2004030557
【0069】
ここで、jは、入力された差分データのインデックスであり、nQKeyは、整数配列を示し、nKeyMaxは、入力されたフォルド演算された差分データのうち最大値を示す。差分データの分布が全体差分データが占める範囲の境界領域に集中している場合、DND演算はデータの全体領域を大幅に狭める効果がある。
【0070】
ディバイド演算後に散布度が計算されるが、この場合、最小限の符号化ビットサイズが選択されるように符号化に必要なビットサイズが散布度として用いられる。
ディバイド演算が行われた後、DND演算のディバイド−アップ演算またはディバイド−ダウン演算が行われるが、どちらの演算が行われるかはディバイド演算後のデータの分布範囲によって決められる。
【0071】
正数側の範囲のデータ方が多ければ、下記式11により定義されるディバイド−ダウン演算が行われる。
【0072】
【数11】
Figure 2004030557
【0073】
一方、負数側の範囲のデータ方が多ければ、下記式12により定義されるディバイド−アップ演算が行われる。
【0074】
【数12】
Figure 2004030557
【0075】
前記式において、jは、量子化されたキーデータのインデックスであり、nQKeyは、整数配列であり、nQKeyMaxは、nQKeyの最大値であり、nQKeyMinは、nQKeyの最小値である。
【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】
Figure 2004030557
【0088】
ここで、jは、量子化されたキーデータの差分データのインデックスであり、nQKeyは、整数配列であり、そして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】
Figure 2004030557
【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進数体系の実数に変換してヘッダ符号化器に出力する(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】
Figure 2004030557
【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】
Figure 2004030557
【0126】
前式15において、iはキーデータを、jは頂点のインデックスを各々表わす。
【0127】
一方、空間DPCM演算部733は、同じキーフレームの各頂点間の差を計算する。具体的には、空間DPCM演算部733は、空間DPCM演算を行うべき現在の頂点の以前に空間DPCM演算の行われた頂点に対し、下記式16を用いてエントロピを計算する。
【0128】
【数16】
Figure 2004030557
【0129】
前記式16において、は頂点からシンボルが生じる確率であって、F/Nであり、ここで、Fは、頂点からそのシンボルが生じる回数であり、Nはキーデータの数である。
【0130】
空間DPCM演算部733は、頂点のうち、エントロピが最も低い頂点を基準頂点として設定し、現在空間DPCM演算が行われるべき頂点及び基準頂点の成分データ間の差分データを計算する。空間DPCM演算は、下記式17で表わされる。
【0131】
【数17】
Figure 2004030557
【0132】
一方、時空間DPCM演算部735は、現在キーフレームの各頂点に対して空間DPCM演算を行い、現在キーフレームの各頂点に対応する以前キーフレームの各頂点に対して現在キーフレームの各頂点の基準頂点に対応する頂点を基準頂点として空間DPCM演算を行った後、現在キーフレームの頂点に対応する差分データと以前フレームの頂点に対応する差分データとの差を計算する。すなわち、空間DPCM演算された結果に対して時間DPCM演算を行う。時空間DPCM演算は、下記式18で表される。
【0133】
【数18】
Figure 2004030557
【0134】
但し、空間DPCM演算及び時空間DPCM演算のうち、
Figure 2004030557
または
Figure 2004030557
が量子化された最小値より小さければ、これらの値の代わりに量子化された最小値がDPCM演算に用いられる。また、空間DPCM演算及び時空間DPCM演算のうち、
Figure 2004030557
または
Figure 2004030557
が量子化された最大値より大きければ、これらの値の代わりに量子化された最大値がDPCM演算に用いられる。
【0135】
DPCM演算部730は、計算された差分データを循環量子化器740に出力し、循環量子化器740は、時間DPCM演算された差分データ、空間DPCM演算された差分データ、及び時空間DPCM演算された差分データの各々に対して循環量子化を行い、循環量子化された各差分データをDPCMモード選択部745に出力する(S9440)。
【0136】
図31は、量子化器710の出力の一例を示し、図32は、図27に示された量子化されたデータに対してDPCM演算が行われた結果を示す。図32に示されたように、量子化された値に対してDPCM演算が行われれば、符号化されるべきデータの範囲は2倍まで広がる。循環量子化の目的は、量子化された値のデータ範囲を維持しつつDPCM演算を行うことである。
このために、循環量子化は、DPCM演算された差分データの最大値がDPCM演算された最小値と循環的に連結されていると仮定する。従って、2つの連続された量子化された差分データ間の線形DPCMの結果がDPCM演算された差分データの最大値の半分より大きければ、差分データの最大範囲を減算してさらに小さい値で表わし、2つの連続された量子化された差分データ間の線形DPCMの結果がDPCM演算された差分データの最小値の半分より小さければ、差分データの最大範囲を合算してさらに小さい値で表わす。
【0137】
循環量子化器740の循環量子化演算は、下記式19で表わされる。
【0138】
【数19】
Figure 2004030557
【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】
Figure 2004030557
【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に与えるヘッダ復号化器1500を備える。
【0187】
以下、図38から図40に基づき、本実施の形態によるキーデータ復号化器1300及び復号化方法について説明する。
【0188】
図38は、本実施の形態における復号化装置の構成を示すブロック図である。本実施の形態の復号化器は、符号化されたビットストリームを受け取って復号化されたキーデータを再構成する。
【0189】
本実施の形態のキーデータ復号化器1300は、エントロピ復号化器1310、逆DND処理部1320、逆フォルド処理部1330、逆シフト部1340、逆DPCM処理部1350、逆量子化器1360、線形キー復号化器1380及び実数逆変換部1370を備える。
【0190】
図39は、本実施の形態によるキーデータ復号化方法を説明するフローチャートである。
【0191】
まず、キーデータは、ヘッダ復号化器1800及びエントロピ復号化器1310に入力される。
ヘッダ復号化器1800は、各復号化段階別に必要な情報を復号化して各段階に与える。ヘッダ復号化器1800において復号化される各段階における情報について説明する。(S14000)。
【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】
Figure 2004030557
【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】
Figure 2004030557
【0204】
ここでもし、nKeyMaxが0以上であれば、逆DND処理部1320は、逆DND演算の次数が1であるか否かをチェックする。逆DND次数が1でなければ、符号化する時にディバイド−ダウン演算が行われた旨を意味するために、逆DND処理部1320は、逆ディバイド−ダウン演算を行って差分データの範囲を正数領域に広め(S14570)、下記式22のような逆ディバイド−ダウン演算を用いる。
【0205】
【数22】
Figure 2004030557
【0206】
ここでもし、nKeyMaxが0以上であり、且つ、逆DND演算の次数が1であれば、逆DND処理部1320は、逆ディバイド演算を行うことにより逆DND演算を終え(S14590)、下記式23のような逆ディバイド演算を用いる。
【0207】
【数23】
Figure 2004030557
【0208】
次に、逆DND演算の行われたキーデータの差分データは、逆フォルド処理部1330に入力され、逆フォルド処理部1330は、逆フォルド演算を行い、正数領域にのみ位置する差分データの範囲を正数及び負数に分離し(S14600)、下記式24のような逆フォルド演算を用いる。
【0209】
【数24】
Figure 2004030557
【0210】
そして、逆フォルドされた差分データは、逆シフト部1340に出力され、逆シフト部1340は、ヘッダ復号化器1800から符号化器に用いられたモードnKeyShiftを入力され、下記式25のように入力されたnKeyMax差分データにモードを加える(S14700)。
【0211】
【数25】
Figure 2004030557
【0212】
逆シフト部1340から差分データを入力された逆DPCM処理部1350は、キーヘッダ符号化器1800からDPCM次数を入力され、差分データを量子化されたキーデータに復元する(S14800)。逆シフト部1340は、下記式26を用いてDPCM次数だけ逆DPCM演算を行う。
【0213】
【数26】
Figure 2004030557
【0214】
ここで、iは、差分データ及びキーデータのインデックスを、vは整数配列を、delta(i)は差分データを各々表わす。
【0215】
逆DPCM処理されて生成された量子化されたキーデータは、逆量子化器1360に入力され、逆量子化器1360は、ヘッダ復号化器1800から量子化ビットサイズnKeyQBit及び逆量子化に用いられる最大値及び最小値が量子化中に実数変換部315により符号化されたか否かを入力され、下記式27を用いて入力された量子化されたキーデータを逆量子化されたキーデータに変換する(S14900)。
【0216】
【数27】
Figure 2004030557
【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以上であれば、IEEE標準754方式に従って符号化されたものであるため、実数を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】
Figure 2004030557
【0227】
fKeyMaxを復元する過程は、fKeyMinのそれと同じである。但し、fKeyMaxの指数をビットストリームから読み込む前に、fKeyMaxの指数としてfKeyMinと同じ指数が用いられたか否かを判読し、同じ値が用いられたならば、fKeyMinの指数を用い、そうでなければ、fKeyMinの指数をビットストリームから読み込む方式と同じく、fKeyMaxの指数を読み込む。
【0228】
一方、実数逆変換部1370から線形キー領域の開始キー及び終了キーを入力された線形キー復号化器1380は、下記式29を用いて線形キー領域を復号化する。
【0229】
【数29】
Figure 2004030557
【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】
Figure 2004030557
【0277】
【数31】
Figure 2004030557
【0278】
【数32】
Figure 2004030557
【0279】
前記式において、
Figure 2004030557
は、第i番目のキーフレームの第j番目の頂点の量子化されたキー値データを表わし、Dijは、第i番目のキーフレームの第j番目の頂点の差分データを表わし、そしてRefは、基準頂点を表わす。
前記式31及び前記式32において、
Figure 2004030557
または
Figure 2004030557
が量子化された最小値より小さければ、量子化された最小値を前記値の代わりに使用し、
Figure 2004030557
または
Figure 2004030557
が量子化された最大値より大きければ、量子化された最大値を前記値の代わりに使用する。
【0280】
逆DPCM演算を行った各DPCM演算部は、下記式33を用いて逆DPCM演算を行うと同時に、逆循環量子化を行い、符号化中に狭まった差分データの範囲を広める。
【0281】
【数33】
Figure 2004030557
【0282】
前記式33において、
Figure 2004030557
はDijと同じ入力値であり、
Figure 2004030557

Figure 2004030557
または
Figure 2004030557
のように以前に逆循環量子化された値である。また、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】
Figure 2004030557
【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及びキーの最大値の最高重要桁数が同じであるかを表わす。ンMinKeyDigitは、キーの最大値の最高重要桁数を表わす。nMinKeyMantissaSignは、nMinKeyMantissaの符号を表わす。nMinKeyMantissaは、キーの最小値の仮数を表わす。
【0298】
nMinKeyExponentSignは、nMinKeyExponentの符号を表わす。nMinKeyExponentは、キーの最小値の指数を表わす。
【0299】
fKyeMinは、キーの最小値を表わす。nMaxKeyDigitSameは、全体キーの最高重要桁数nKeyDigit及びキーの最大値の最高重要桁数が同じであるかを表わす。ンMaxKeyDigitは、キーの最大値の重要桁数を表わす。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に設定された各頂点の各成分のみが辞書符号化器340において符号化される。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  キー値データ符号化器

Claims (22)

  1. キーフレームの時間軸上の位置を表わすキーデータ、及びx、y及びz成分を含む頂点の座標でキーフレーム上の客体の位置を表わすキー値データを含む座標インタポレータを符号化する装置であって、
    座標インタポレータのキーデータを所定の量子化ビットで量子化する第1の量子化器と、
    前記量子化されたキーデータの差分データを生成する第1のDPCM処理部と

    前記差分データと前記差分データの最大値及び最小値との関係に基づき前記差分データの範囲を狭めるDND演算を行うDND処理部と、
    前記DND処理部から入力された差分データを符号化する第1のエントロピ符号化器を有するキーデータ符号化器と、
    座標インタポレータのキー値データを所定の量子化ビット数で量子化する第2の量子化器と、
    量子化されたキー値データの各頂点成分に対して所定モードのDPCM演算を行い、各頂点座標の経時変化による差分データ及び空間的な変化による差分データを生成する第2のDPCM処理部と、
    DPCM演算された各頂点成分の差分データ及び前記差分データに対して行われたDPCM演算モードを表わすシンボル及び前記シンボルの位置を表わすインデックスを生成する辞書符号化器と、
    前記シンボル及びインデックスをエントロピ符号化する第2のエントロピ符号化器を有するキー値データ符号化器と、
    前記キーデータ符号化器及び前記キー値データ符号化器において符号化されたビットストリームの復号化に必要な情報を符号化するヘッダ符号化器と、を備えることを特徴とする符号化装置。
  2. 前記キーデータ符号化器は、入力される全体キーデータのうちキーデータが線形に増える領域を識別して符号化する線形キー符号化器をさらに備えることを特徴とする請求項1に記載の符号化装置。
  3. 前記キーデータ符号化器は、
    前記第1のDPCM処理部から入力された差分データのうち頻度数が最も高い差分データ(モード)を求め、前記差分データから前記モードを引くシフト部と、
    前記シフト演算された差分データを正数領域または負数領域に変換するフォルド処理部と、をさらに備え、
    前記DND処理部は、符号化に必要なビット数に基づき前記シフト部から入力された差分データ、前記フォルド処理部から入力された差分データ、及びDND演算された差分データのうちいずれか一つを選択して出力することを特徴とする請求項1に記載の符号化装置。
  4. 前記第2のDPCM処理部は、
    前記量子化されたキー値データの各頂点成分に対してキーフレーム間の第1の差分データを生成する時間DPCM演算、同じキーフレーム内の頂点間の第2の差分データを生成する空間DPCM演算、及びキーフレーム及び頂点間の第3の差分データを生成する時空間DPCM演算を各々行うDPCM演算部と、
    前記DPCM演算部から入力された第1から第3の差分データに対して差分データの範囲を狭める循環量子化を行う循環量子化器と、
    符号化に必要なビット数に基づき循環量子化された第1から第3の差分データのうちいずれか一つを選択して出力するDPCMモード選択部と、を備えることを特徴とする請求項1に記載の符号化装置。
  5. 前記辞書符号化器は、
    前記各頂点に対し、各頂点成分データに対して行われたDPCMモードの組合せを表わすシンボル及び前記シンボルの位置を表わすインデックスを生成するDPCMモード符号化器と、
    入力された各頂点成分の差分データに対応するシンボル及び前記シンボルの位置を表わすインデックスを生成する発生モード符号化器と、を備えることを特徴とする請求項1に記載の符号化装置。
  6. 記辞書符号化器は、
    入力された各頂点の差分データに所定のシンボルの存否を表わすシンボルフラグ及びシンボルの位置を表わすインデックスを生成する増加モード符号化器と、前記差分データに対応するシンボルよりなる第1のシンボルテープルのサイズ及び前記シンボルフラグのサイズを計算し、前記第1のシンボルテーブル及びシンボルフラグのサイズに応じて前記DPCMモード符号化器から入力された前記各頂点の差分データを前記発生モード符号化器または増加モード符号化器に出力するテーブルサイズ計算部と、をさらに備えることを特徴とする請求項5に記載の符号化装置。
  7. キーフレームの時間軸上の位置を表わすキーデータ、及び、及び成分を含む頂点の座標にキーフレーム上の客体の位置を表わすキー値データを含む座標インタポレータを符号化したビットストリームを復号化する装置であって、
    入力されたビットストリームからキー及びキー値データの復号化に必要なヘッダ情報を復号化して出力するヘッダ復号化器と、
    入力されたビットストリームをエントロピ復号化し、復号化されたキーデータの差分データを出力する第1のエントロピ復号化器と、
    前記ヘッダ復号化器から読み込まれたDND次数に基づき前記エントロピ復号化されたキーデータの差分データに対して逆DND演算を行い、差分データの範囲を広める逆DND処理部と、
    前記逆DND処理部から入力された差分データに対して前記ヘッダ復号化器から入力されたDPCM次数だけ逆DPCM演算を行い、量子化されたキーデータを出力する第1の逆DPCM処理部と、
    前記量子化されたキーデータを逆量子化して復号化されたキーデータを出力する第1の逆量子化器を有するキーデータ復号化器と、
    入力されたビットストリームをエントロピ復号化してキー値データの差分データのシンボル、前記シンボルの位置を表わすインデックス、及びDPCM演算モードを含む辞書復号化されるべきデータを生成する第2のエントロピ復号化器と、
    前記ヘッダ復号化器から入力された辞書復号化モード情報に基づき辞書復号化演算を行い、キー値データの差分データを生成する辞書復号化器と、
    前記DPCM演算モードに基づき前記辞書復号化器から入力されたキーフレーム間の差分データ及び各頂点間の差分データを復元し、量子化されたデータを生成する第2の逆DPCM処理部と、
    前記量子化されたデータを逆量子化して復元されたキー値データを生成する第2の逆量子化器を有するキー値データ復号化器と、を備えることを特徴とする復号化装置。
  8. 前記キーデータ復号化器は、
    前記逆DND処理部から差分データを入力され、前記ヘッダ復号化器から入力された前記DND次数に基づき差分データの範囲を負数及び正数に分離する逆フォルド演算を行うか、それともバイパスする逆フォルド処理部と、
    前記逆DND処理部または前記逆フォルド処理部から入力された差分データに前記ヘッダ復号化器から受け取った所定のモードを加えて差分データの範囲を移動させる逆シフト部と、をさらに備え、
    前記第1の逆DPCM処理部は、前記逆シフト部から入力された差分データを復元して量子化されたキーデータを出力することを特徴とする請求項7に記載の復号化装置。
  9. 前記第2の逆DPCM処理部は、
    同じ頂点のキーフレーム間の差分データに対して逆DPCM演算を行う逆時間DPCM演算部と、
    同じキーフレーム内の各頂点と前記各頂点に対応する基準頂点との差分データに対して逆DPCM演算を行う逆空間DPCM演算部と、
    前記DPCM演算モードに基づき差分データを前記逆時間DPCM演算部または前記逆空間DPCM演算部に出力する逆DPCMモード選択部と、を備えることを特徴とする請求項7に記載の復号化装置。
  10. キーフレームの時間軸上の位置を表わすキーデータ、及びx、y及びz成分を含む頂点の座標に客体の位置を表わすキー値データを含む座標インタポレータを符号化したビットストリームであって、
    前記ビットストリームは、キーデータ及びキーデータの復号化に必要な情報を符号化したキーデータ符号化/復号化情報、及びキー値データ及びキー値データの復号化に必要な情報を符号化したキー値データ符号化/復号化情報を含み、
    前記キーデータ符号化/復号化情報は、
    前記キーデータビットストリームをエントロピ復号化して生成された差分データの範囲を広める逆DND演算を行うべき回数を表わす逆DND次数及び各逆DND次数における逆DND演算に用いられる最大値及び最小値を含む逆DND演算情報と、
    前記逆DND演算の行われた差分データを量子化されたキーデータに変換する逆DPCM演算の回数及び各回数の逆DPCM演算に用いられるイントラキーデータを含む第1の逆DPCM演算情報と、
    前記量子化されたキーデータを逆量子化して復元されたキーデータを生成する逆量子化に用いられる第1の逆量子化情報と、を含み、
    前記キー値データ符号化/復号化情報は、
    前記キー値データビットストリームからエントロピ復号化された、辞書符号化されたキー値データの差分データを表わすシンボルに関する情報、前記シンボルの位置を表わす第1の位置インデックス、及び前記第1の位置インデックスに対して行われるべき辞書復号化方法を表わす辞書復号化モードを含む辞書復号化情報と、
    辞書復号化された各頂点成分の差分データを量子化されたキー値データに変換する逆DPCM演算に用いられる逆DPCM演算モードの組合せを表わすシンボルの位置を表わす第2の位置インデックスを含む第2の逆DPCM演算情報と、前記量子化されたキー値データを逆量子化して復元されたキーデータを生成する逆量子化に用いられる第2の逆量子化情報と、を含むことを特徴とするビットストリーム。
  11. 前記逆DND演算情報は、
    前記逆DND演算の行われるべき差分データに対してシフト−ダウン演算を行うかを表わすフラグをさらに含むことを特徴とする請求項10に記載のビットストリーム。
  12. 前記第1の逆量子化情報は、
    前記量子化されたキーデータの逆量子化に用いられる逆量子化ビットサイズ、及び量子化されたキーデータの最大値及び最小値を含むことを特徴とする請求項10に記載のビットストリーム。
  13. 前記量子化されたキーデータの最大値及び最小値は、量子化されたキーデータの量子化誤差を最小化するように調整された量子化されたキーデータの最大値及び最小値であることを特徴とする請求項12に記載のビットストリーム。
  14. 前記キーデータ符号化/復号化情報は、
    前記ビットストリームに含まれた線形キー領域の復号化のための線形キー復号化情報をさらに含み、前記線形キー復号化情報は、
    キーデータのうち線形に増える線形キー領域の存否を表わすフラグ、前記線形キー領域に含まれるキーデータの数、前記線形キー領域の開始キーデータ及び終了キーデータを含むことを特徴とする請求項10に記載のビットストリーム。
  15. 前記開始キーデータ及び終了キーデータには、10進数体系の仮数及び指数で符号化されたことを特徴とする請求項14に記載のビットストリーム。
  16. 前記辞書復号化情報は、
    前記辞書復号化モードが発生モードである場合には、前記差分データに存在する差分値に対応するシンボル及び前記シンボルの位置を表わす位置インデックスを含み、
    前記辞書復号化モードが増加モードである場合には、前記差分データに存在する差分値が所定のシンボルテーブルに存在するかを表わすシンボルフラグ及び前記シンボルフラグに対応するシンボルの位置を表わす位置インデックスを含むことを特徴とする請求項10に記載のビットストリーム。
  17. 前記第2の逆DPCM演算情報は、
    各頂点成分に対して行われるべき逆DPCM演算モードの組合せを表わすテーブルに含まれるシンボルのうち各頂点成分の差分データに対して行われるべき逆DPCM演算に対応するシンボルの存否を表わす逆DPCMモードフラグをさらに含むことを特徴とする請求項10に記載のビットストリーム。
  18. 前記逆DPCM演算モードの組合せは、
    各頂点の各成分の差分データに対して行われるべき逆時間DPCM演算、逆空間DPCM演算、及び逆時空間DPCM演算の組合せを表わすことを特徴とする請求項17に記載のビットストリーム。
  19. 前記第2の逆DPCM演算情報は、
    前記逆DPCMモードフラグにより差分データに対して行われるべき逆DPCM演算が逆空間DPCM演算または逆時空間DPCM演算である場合、逆空間DPCM演算または逆時空間DPCM演算の行われるべき頂点に対応する基準頂点を表わす基準頂点フラグをさらに含むことを特徴とする請求項18に記載のビットストリーム。
  20. 前記第2の逆量子化情報は、
    逆量子化を行うべきキー値データの頂点を表わす頂点選択フラグ、前記頂点選択フラグに基づき選択された頂点成分のキー値データの逆量子化に用いられるキー値データのうち最小値及び最大範囲、及び前記選択された頂点のキー値データの逆量子化に用いられる逆量子化ビットサイズを含むことを特徴とする請求項10に記載のビットストリーム。
  21. 前記第2の逆量子化情報は、
    逆量子化されるべきキー値データに含まれる頂点の数、前記キー値データの最大有効桁数、各頂点の各成分データの最大値のうち最大値及び最小値、及び各頂点の各成分データの最小値のうち最大値及び最小値をさらに含むことを特徴とする請求項20に記載のビットストリーム。
  22. 前記キー値データ符号化/復号化情報は、
    前記キー値データの符号化方式が転置モードであるか、それとも頂点モードであるかを表わすフラグをさらに含むことを特徴とする請求項20に記載のビットストリーム。
JP2002344725A 2001-11-27 2002-11-27 座標インタポレータの符号化/復号化装置及びその方法 Expired - Fee Related JP4002502B2 (ja)

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 true JP2004030557A (ja) 2004-01-29
JP4002502B2 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) US7181071B2 (ja)
EP (4) EP2302929B1 (ja)
JP (1) JP4002502B2 (ja)
DE (1) DE60239586D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762842B2 (en) 2004-02-09 2014-06-24 Samsung Electronics Co., Ltd. Information storage medium containing interactive graphics stream for change of AV data reproducing state, and reproducing method and apparatus thereof

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181071B2 (en) * 2001-11-27 2007-02-20 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding key value data of orientation interpolator node
US7026960B2 (en) * 2001-11-27 2006-04-11 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding key data
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
US7983835B2 (en) 2004-11-03 2011-07-19 Lagassey Paul J Modular intelligent transportation system
KR20070012808A (ko) * 2004-04-21 2007-01-29 돌비 레버러토리즈 라이쎈싱 코오포레이션 트리 계층 데이터 구조의 순서적 횡단에 의해 비트스트림이기술되는 오디오 비트스트림 포맷
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
CN101553869A (zh) * 2006-11-06 2009-10-07 诺基亚公司 用于进行有效压缩的动态量化器结构
EP2078747A4 (en) * 2006-11-30 2009-12-09 Arkray Inc PRIMER SET FOR THE REINFORCEMENT OF THE NAT2 GENE, REAGENT FOR THE REINFORCEMENT OF THE NAT2 GENE THEREFOR AND APPLICATION THEREOF
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
WO2008086820A1 (en) * 2007-01-16 2008-07-24 Tomtec Imaging Systems Gmbh A method and a system for graphic representation of dynamic information
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
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 富士通株式会社 テストデータ生成プログラム、方法及び装置
KR102211212B1 (ko) * 2013-03-15 2021-02-03 비데리 인코포레이티드 디지털 아트 및 이미징을 디스플레이하고, 배포하고, 뷰잉하고 제어하기 위한 시스템 및 방법
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
EP3562043B1 (en) * 2018-04-27 2023-06-07 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

Family Cites Families (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US147470A (en) * 1874-02-17 Improvement in combined dining and ironing tables
US128215A (en) * 1872-06-25 Improvement in halters
US128884A (en) * 1872-07-09 Improvement in casters for
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 사또오 도시아끼 전해콘덴서용 전해액
US4951140A (en) * 1988-02-22 1990-08-21 Kabushiki Kaisha Toshiba Image encoding apparatus
JPH0671237B2 (ja) * 1988-09-16 1994-09-07 日本ビクター株式会社 高能率符号化方式
EP0390341B1 (en) 1989-03-02 1995-06-07 The Furukawa Electric Co., Ltd. Method and apparatus for identifying an optical transmission medium
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
EP0559708A1 (en) 1990-11-30 1993-09-15 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
US6441842B1 (en) 1992-02-19 2002-08-27 8×8, Inc. Video compression/decompression processing and processors
US5594813A (en) 1992-02-19 1997-01-14 Integrated Information Technology, Inc. Programmable architecture and methods for motion estimation
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) 변환계수 양자화기
WO1995001633A1 (fr) 1993-06-30 1995-01-12 Sony Corporation Procede et appareil de codage de signaux numeriques, procede et appareil de decodage des signaux codes, et support d'enregistrement des signaux codes
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
CA2195110A1 (en) * 1994-07-14 1996-02-01 Stephen G. Johnson 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 윤종용 회전 움직임 추정 방법 및 이를 이용한 영상부호화/복호화장치
WO1997042766A1 (en) 1996-05-06 1997-11-13 Philips Electronics N.V. Segmented video coding and decoding method and system
EP0840510B1 (en) 1996-05-17 2003-01-29 Matsushita Electric Industrial Co., Ltd. Picture decoder
ES2190935T3 (es) 1996-05-28 2003-09-01 Matsushita Electric Ind Co Ltd Procedimiento y dispositivo de anticipacion y de codificado/descodificado de imagen.
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
KR19980073964A (ko) 1997-03-20 1998-11-05 김영환 영상신호의 모양정보 부호화시 윤곽선 정합 이동 벡터 추정 방법
KR100463004B1 (ko) 1997-03-20 2005-06-02 주식회사 팬택앤큐리텔 Mpeg-4vop부호화방법
KR100229546B1 (ko) 1997-04-11 1999-11-15 전주범 윤곽선 비디오 신호 부호화 방법 및 그 장치
KR100229544B1 (ko) 1997-04-11 1999-11-15 전주범 움직임 추정기법을 이용한 윤곽선 부호화 장치
EP0987898B1 (en) * 1997-06-03 2006-08-02 Hitachi, Ltd. Image encoding and decoding method and device
KR100244769B1 (ko) 1997-06-26 2000-02-15 전주범 스케일러빌리티를 갖는 간 윤곽선 부호화 방법 및 장치
US6549206B1 (en) * 1997-07-11 2003-04-15 France Telecom And Telediffusion De France Graphic scene animation signal, corresponding method and device
KR100295798B1 (ko) 1997-07-11 2001-08-07 전주범 스케일러빌리티를구현한이진현상신호부호화장치
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
US6614428B1 (en) 1998-06-08 2003-09-02 Microsoft Corporation Compression of animated geometry using a hierarchical level of detail coder
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 クリーンルーム
AU1937701A (en) * 1999-12-01 2001-06-12 Mikael Bourges-Sevenier Optimized bifs encoder
US6847365B1 (en) 2000-01-03 2005-01-25 Genesis Microchip Inc. Systems and methods for efficient processing of multimedia data
AU2001231230A1 (en) 2000-01-31 2001-08-07 Ivast, Inc. 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
WO2002023530A2 (en) * 2000-09-11 2002-03-21 Matsushita Electric Industrial Co., Ltd. Quantization of spectral sequences for audio signal coding
CA2359519C (en) * 2000-10-20 2004-07-20 Samsung Electronics Co., Ltd. Encoding/decoding apparatus and method for orientation interpolator node data
KR100590522B1 (ko) 2000-10-20 2006-06-15 삼성전자주식회사 오리엔테이션 보간 노드의 부호화 장치 및 방법
CA2359260C (en) * 2000-10-20 2004-07-20 Samsung Electronics Co., Ltd. Coding apparatus and method for orientation interpolator node
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
US7181071B2 (en) 2001-11-27 2007-02-20 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding key value data of orientation interpolator node
US7026960B2 (en) 2001-11-27 2006-04-11 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding key data
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
EP2787785B1 (en) 2008-03-25 2017-06-07 Telefonaktiebolaget LM Ericsson (publ) Anchor carrier selection in multi-carrier wireless network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762842B2 (en) 2004-02-09 2014-06-24 Samsung Electronics Co., Ltd. Information storage medium containing interactive graphics stream for change of AV data reproducing state, and reproducing method and apparatus thereof
US8856652B2 (en) 2004-02-09 2014-10-07 Samsung Electronics Co., Ltd. Information storage medium containing interactive graphics stream for change of AV data reproducing state, and reproducing method and apparatus thereof

Also Published As

Publication number Publication date
EP1322119B1 (en) 2013-01-09
US20030147470A1 (en) 2003-08-07
US7206457B2 (en) 2007-04-17
US7181071B2 (en) 2007-02-20
EP1322119A2 (en) 2003-06-25
US20030128884A1 (en) 2003-07-10
EP2278807A1 (en) 2011-01-26
EP1322119A3 (en) 2005-05-25
US7336713B2 (en) 2008-02-26
EP2302929B1 (en) 2015-03-25
US7406206B2 (en) 2008-07-29
US8411975B2 (en) 2013-04-02
US7733345B2 (en) 2010-06-08
DE60239586D1 (de) 2011-05-12
US8705610B2 (en) 2014-04-22
US20030128215A1 (en) 2003-07-10
EP2302930A1 (en) 2011-03-30
JP4002502B2 (ja) 2007-11-07
US20030108107A1 (en) 2003-06-12
US7809203B2 (en) 2010-10-05
US20030103573A1 (en) 2003-06-05
EP2302929A1 (en) 2011-03-30
US20070053600A1 (en) 2007-03-08
EP2278807B1 (en) 2012-07-18
US20070116368A1 (en) 2007-05-24
EP2302930B1 (en) 2015-07-15
US20100322308A1 (en) 2010-12-23

Similar Documents

Publication Publication Date Title
JP4002502B2 (ja) 座標インタポレータの符号化/復号化装置及びその方法
KR100552666B1 (ko) 좌표 인터폴레이터의 키 및 키 값 데이터의 부호화/복호화장치, 및 좌표 인터폴레이터를 부호화한 비트스트림을기록한 기록 매체
US7746249B2 (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