JP2006238036A - コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法 - Google Patents

コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法 Download PDF

Info

Publication number
JP2006238036A
JP2006238036A JP2005049409A JP2005049409A JP2006238036A JP 2006238036 A JP2006238036 A JP 2006238036A JP 2005049409 A JP2005049409 A JP 2005049409A JP 2005049409 A JP2005049409 A JP 2005049409A JP 2006238036 A JP2006238036 A JP 2006238036A
Authority
JP
Japan
Prior art keywords
code
information
decoding
encoding
entropy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005049409A
Other languages
English (en)
Other versions
JP4037875B2 (ja
Inventor
Norio Mihara
功雄 三原
Yasuharu Takenaka
康晴 竹中
Taku Takemoto
卓 竹本
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005049409A priority Critical patent/JP4037875B2/ja
Priority to US11/234,289 priority patent/US7339583B2/en
Priority to CN200510131527.9A priority patent/CN100568284C/zh
Publication of JP2006238036A publication Critical patent/JP2006238036A/ja
Priority to US11/971,499 priority patent/US7561162B2/en
Application granted granted Critical
Publication of JP4037875B2 publication Critical patent/JP4037875B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

【課題】スループットの向上、ハードウェアのコスト削減。
【解決手段】取得されたコンピュータグラフィックスデータ(CGデータ)を符号化するための前処理を行う手段102と、前処理が行われたCGデータを最終的に出力される符号総数を制御するための処理を行って符号化する手段103と、手段103で得られた符号に含まれるエントロピー符号化を行うべき符号部分に基づいてエントロピー量の情報であるエントロピー情報を算出し、エントロピー情報に基づいて符号語を作成す手段105と、手段103で得られた符号を作成された符号語を用いてエントロピー符号化する手段106と、エントロピー情報から復号に最低限必要な復号必要情報を抽出する手段107と、復号必要情報をデータ量が少なくなるように符号化する手段108と、エントロピー符号化された符号と符号化された復号必要情報とを出力する手段109と、を具備する。
【選択図】図1

Description

本発明は、コンピュータグラフィックスにおけるデータの符号化装置、符号化方法、復号化装置、復号化方法に関する。
近年、コンピュータグラフィックス技術の高性能化に伴い、グラフィックス処理ハードウェア(GPU)の処理速度が飛躍的に向上してきている。しかし、グラフィックス処理を行うためのデータは、通常、メモリやハードディスクといった記憶媒体に蓄えられ、そこからGPUに入力されるが、記憶媒体からのデータ読み込み、記憶媒体へのデータ書き込みには時間がかかる。
このため、いくらGPUの速度が向上しても、データの読み込み、書き込みに時間がかかってしまい、この部分が、コンピュータグラフィックス処理のためのボトルネックとなっているという問題がある。
この問題を解消するため、読み込み、書き込みといったデータアクセスの際のデータ量を圧縮することで、データアクセスのスループットを上げる試みが行われてきている。例えば、ハフマン符号化を用いたデータ符号化処理を行うことで、データ量を圧縮している(例えば、非特許文献1参照)。
しかし、ハフマン符号化を始めとしたエントロピー符号化では、データ内のエントロピー量を符号の作成のための情報として用いるため、復号の際には、符号データとともに、この符号作成の際に使用したエントロピー量の情報を同時に用いる必要がある。例えば、ハフマン符号化では、データの出現頻度を用いて、出現頻度が高いデータほど短い符号が生成されるような符号化が行われるため、圧縮効率のよい符号を得ることができるが、復号の際には、符号化の際に用いた出現頻度情報と符号の対応を示した表(通常、ハフマンテーブルと呼ぶ)などを用いなければならない。
つまり、従来の符号化手法では、復号の際に、符号データだけではなく、何らかの形で上記の付加的情報(例えば、上記のハフマンテーブル)を同時に参照する必要がある。この際に、上記の付加情報の参照コストの問題が表面化する。
付加情報は通常、データとともに受け渡され、復号器が符号器で作成された符号語を復元するために用いられる。上述したように、符号語は、データ内のエントロピー量を用いて作成されるため、データによって付加情報の内容は様々である。そこで、復号器は、付加情報を受け取って、その情報から動的に符号語の復元を行うことになる。この際に、符号語の復元に時間を要してしまうと性能の低下を招く。折角、スループット向上のために圧縮符号化したのに、その分の効果を打ち消してしまうこととなり、圧縮符号化の意味がなくなってしまう。
そこで、なるべくこの符号語の復元に要する時間を少なく抑えたいのであるが、従来の手法では、動的に符号語を復元する必要があるため、非常に計算コストを要してしまう。
この問題を解決するために、符号語の復元を静的に行う手法も考えられてきている。復号器側に符号語の復元のための情報を全て予め蓄えておこうという試みである。このような試みはファクシミリで標準化されている符号化手法などで用いられている例があり、この例では、拡張ハフマン符号(Modified Huffman Coding)という手法が用いられている。しかし、このような手法には別の問題が存在する。1つには、復号器に符号を予め蓄えておくために、符号器では復号器に蓄えられた符号化しか行えないという問題である。例えば、復号器にN(Nは自然数)通りの符号語群を持っていた場合には、符号器では、N通りの符号から一番圧縮効率の良いものを選択するしかない。
この拡張ハフマン符号の手法では、データに特定の傾向があるFAXなどではたいした問題にならないかもしれないが、データの傾向を特定できないコンピュータグラフィックスデータなどでは、多大な圧縮効率低下を引き起こす可能性がある。また、復号器には、全ての符号語群を蓄えておく必要があるため、多大な記憶スペースを必要とする。さらに、このような多大な記憶スペースを超高速アクセス可能なメモリとして用意することは価格コスト面からも現実的でないため、アクセススピードの低下を引き起こしてしまう。これは、結局、スループットの多大な低下の原因となる。
Michael Deering, "Geometry Compression", International Conference on Computer Graphics and Interactive Techniques, Proceedings of the 22nd annual conference on Computer graphics and interactive techniques (SIGGRAPH’95), pp13-20, 1995.
以上のように、従来手法では、スループットの低下や実現コストの上昇の原因となる様々な問題点があった。復号器は通常、GPUと呼ばれるグラフィックス処理に特化したハードウェア上で実現されることが多いが、このような問題は、
1.復号のための準備にかかる時間的、回路構成上のコスト
2.復号に要する時間的、回路構成上のコスト
に効いてくるため、スループットの低下、ハードウェアの価格の上昇に直結することになる。
近年、GPUは、高機能な機器だけではなく、パチンコ台やカーナビシステム、携帯電話、携帯ゲーム機、携帯端末などといった低価格な機器にも搭載されるようになってきているが、上記のような価格の向上は、これらの機器に搭載するGPUの実現としては大問題である。
本発明は、上述した問題を解決するために、コンピュータグラフィックスデータを符号化、復号化する場合のスループットの向上、ハードウェアのコスト削減を実現するコンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法を提供することを目的とする。
本発明のコンピュータグラフィックスデータ符号化装置によれば、コンピュータグラフィックスデータを取得する取得手段と、前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、前記前処理が行われたコンピュータグラフィックスデータを、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、前記符号数制御符号化手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分を蓄える蓄積手段と、前記蓄積手段で蓄えられた符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成する符号作成手段と、前記符号数制御符号化手段で得られた符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、前記エントロピー情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力する出力手段と、を具備することを特徴とする。
また、本発明のコンピュータグラフィックスデータ符号化装置によれば、コンピュータグラフィックスデータを取得する取得手段と、前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、前記前処理が行われたコンピュータグラフィックスデータを蓄える蓄積手段と、前記蓄積手段で蓄えられたコンピュータグラフィックスデータの符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成する符号作成手段と、前記蓄積手段で蓄えられたコンピュータグラフィックスデータの符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、前記エントロピー符号化された符号を、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、前記エントロピー情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、前記符号数制御符号化手段で得られた符号と、前記符号化された復号必要情報とを出力する出力手段と、を具備することを特徴とする。
さらに、本発明のコンピュータグラフィックスデータ符号化装置によれば、コンピュータグラフィックスデータを取得する取得手段と、前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、前記前処理が行われたコンピュータグラフィックスデータを、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、前記符号数制御符号化手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄える符号蓄積手段と、典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報に基づいて、前記符号数制御符号化手段で得られた符号の符号語を作成する符号作成手段と、前記符号数制御符号化手段で得られた符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、前記符号語の作成に基づいて、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力する出力手段と、を具備することを特徴とする。
またさらに、本発明のコンピュータグラフィックスデータ符号化装置によれば、コンピュータグラフィックスデータを取得する取得手段と、前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、前記前処理手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄える符号蓄積手段と、典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報に基づいて、前記前処理手段で得られた符号の符号語を作成する符号作成手段と、前記前処理が行われたコンピュータグラフィックスデータを、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、前記エントロピー符号化手段で得られた符号を、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、前記符号語の作成に基づいて、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、前記符号数制御符号化手段で符号化された符号と、前記符号化された復号必要情報とを出力する出力手段と、を具備することを特徴とする。
本発明のコンピュータグラフィックスデータ復号化装置によれば、請求項1または請求項2に記載のコンピュータグラフィックスデータ符号化装置が符号化したデータを復号化するコンピュータグラフィックスデータ復号化装置において、前記符号化されたデータを取得する取得手段と、前記符号化された復号必要情報を復号化する抽出情報復号化手段と、前記復号化された復号必要情報に基づいて、符号語を復号化するための復号語を得るための復号情報を作成する復号作成手段と、前記復号情報を蓄積する蓄積手段と、前記エントロピー符号化された符号を、前記復号情報を使用して復号化するエントロピー復号化手段と、前記エントロピー復号化手段で復号化されたデータを、符号総数が制御される以前の元データに復号化する元データ復号化手段と、前記元データ復号化手段で復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化する後処理復号化手段と、前記後処理復号化手段で得られた、前記前処理が行われる以前のデータを出力する出力手段と、を具備することを特徴とする。
また、本発明のコンピュータグラフィックスデータ復号化装置によれば、請求項4または請求項5に記載のコンピュータグラフィックスデータ符号化装置が符号化したデータを復号化するコンピュータグラフィックスデータ復号化装置において、前記符号化されたデータを取得する取得手段と、前記符号化された復号必要情報を復号化する抽出情報復号化手段と、典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、前記復号化された復号必要情報と、前記符号語情報蓄積手段に蓄えられている関係情報とから、符号語と該符号語に対応する復号語の関係である復号情報を作成する復号作成手段と、前記復号情報を蓄積する復号情報蓄積部と、前記エントロピー符号化された符号を、前記復号情報を使用して復号化するエントロピー復号化手段と、前記エントロピー復号化手段で復号化されたデータを、符号総数が制御される以前の元データに復号化する元データ復号化手段と、前記元データ復号化手段で復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化する後処理復号化手段と、前記後処理復号化手段で得られた、前記前処理が行われる以前のデータを出力する出力手段と、を具備することを特徴とする。
本発明のコンピュータグラフィックスデータ符号化方法によれば、コンピュータグラフィックスデータを取得し、前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行い、前記前処理が行われたコンピュータグラフィックスデータを、最終的に生成される符号総数を制御するための処理を行って符号化し、前記符号総数を制御するための処理を行うことで得られた符号に含まれるエントロピー符号化を行うべき符号部分を蓄え、前記蓄えられた符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成し、前記符号総数を制御するための処理を行うことで得られた符号を、前記作成された符号語を用いてエントロピー符号化し、前記エントロピー情報から復号に最低限必要な復号必要情報を抽出し、前記復号必要情報をデータ量が少なくなるように符号化し、前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力することを特徴とする。
また、本発明のコンピュータグラフィックスデータ符号化方法によれば、コンピュータグラフィックスデータを取得し、前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行い、前記前処理が行われたコンピュータグラフィックスデータを蓄え、前記蓄えられたコンピュータグラフィックスデータの符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成し、前記蓄えられたコンピュータグラフィックスデータの符号を、前記作成された符号語を用いてエントロピー符号化し、前記エントロピー符号化された符号を、最終的に出力される符号総数を制御するための処理を行って符号化し、前記エントロピー情報から復号に最低限必要な復号必要情報を抽出し、前記復号必要情報をデータ量が少なくなるように符号化し、前記符号総数を制御するための処理を行って符号化して得られた符号と、前記符号化された復号必要情報とを出力することを特徴とする。
さらに、本発明のコンピュータグラフィックスデータ符号化方法によれば、コンピュータグラフィックスデータを取得し、前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行い、前記前処理が行われたコンピュータグラフィックスデータを、最終的に出力される符号総数を制御するための処理を行って符号化し、前記符号総数を制御するための処理を行って符号化して得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄え、典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄え、前記符号部分と前記出現頻度との前記関係情報と前記エントロピー情報と前記符号語との前記関係情報に蓄えられている関係情報に基づいて、前記符号総数を制御するための処理を行って符号化して得られた符号の符号語を作成し、前記符号総数を制御するための処理を行って符号化して得られた符号を、前記作成された符号語を用いてエントロピー符号化し、前記符号語の作成に基づいて、前記符号部分と前記出現頻度との前記関係情報と前記エントロピー情報と前記符号語との前記関係情報から復号に最低限必要な復号必要情報を抽出し、前記復号必要情報をデータ量が少なくなるように符号化し、前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力することを特徴とする。
またさらに、本発明のコンピュータグラフィックスデータ符号化方法によれば、コンピュータグラフィックスデータを取得し、前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行い、前記前処理で得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄え、典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄え、前記符号部分と前記出現頻度との前記関係情報と前記エントロピー情報と前記符号語との前記関係情報に基づいて、前記前処理で得られた符号の符号語を作成し、前記前処理が行われたコンピュータグラフィックスデータを、前記作成された符号語を用いてエントロピー符号化し、前記エントロピー符号化で得られた符号を、最終的に出力される符号総数を制御するための処理を行って符号化し、前記符号語の作成に基づいて、前記符号部分と前記出現頻度との前記関係情報と前記エントロピー情報と前記符号語との前記関係情報から復号に最低限必要な復号必要情報を抽出し、前記復号必要情報をデータ量が少なくなるように符号化し、前記符号総数を制御するための処理を行って符号化された符号と、前記符号化された復号必要情報とを出力することを特徴とする。
本発明のコンピュータグラフィックスデータ復号化方法によれば、請求項14または請求項15に記載のコンピュータグラフィックスデータ符号化方法によって符号化したデータを復号化するコンピュータグラフィックスデータ復号化方法において、前記符号化されたデータを取得し、前記符号化された復号必要情報を復号化し、前記復号化された復号必要情報に基づいて、符号語を復号化するための復号語を得るための復号情報を作成し、前記復号情報を蓄積し、前記エントロピー符号化された符号を、前記復号情報を使用して復号化し、前記エントロピー復号化で復号化されたデータを、符号総数が制御される以前の元データに復号化し、前記元データに復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化し、復号した、前記前処理が行われる以前のデータを出力することを特徴とする。
また、本発明のコンピュータグラフィックスデータ復号化方法によれば、請求項16または請求項17に記載のコンピュータグラフィックスデータ符号化方法によって符号化したデータを復号化するコンピュータグラフィックスデータ復号化方法において、前記符号化されたデータを取得し、前記符号化された復号必要情報を復号化し、典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄え、前記復号化された復号必要情報と、前記エントロピー情報と前記符号語との前記関係情報とから、符号語と該符号語に対応する復号語の関係である復号情報を作成し、前記復号情報を蓄積し、前記エントロピー符号化された符号を、前記復号情報を使用して復号化し、前記復号情報を使用して復号化されたデータを、符号総数が制御される以前の元データに復号化し、前記元データ復号化手段で復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化し、復号した、前記前処理が行われる以前のデータを出力することを特徴とする。
本発明のコンピュータグラフィックスデータ符号化プログラムによれば、
コンピュータを、
コンピュータグラフィックスデータを取得する取得手段と、前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、前記前処理が行われたコンピュータグラフィックスデータを、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、前記符号数制御符号化手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分を蓄える蓄積手段と、前記蓄積手段で蓄えられた符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成する符号作成手段と、前記符号数制御符号化手段で得られた符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、前記エントロピー情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力する出力手段として機能させるためのものである。
また、本発明のコンピュータグラフィックスデータ符号化プログラムによれば、
コンピュータを、
コンピュータグラフィックスデータを取得する取得手段と、前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、前記前処理が行われたコンピュータグラフィックスデータを蓄える蓄積手段と、前記蓄積手段で蓄えられたコンピュータグラフィックスデータの符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成する符号作成手段と、前記蓄積手段で蓄えられたコンピュータグラフィックスデータの符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、前記エントロピー符号化された符号を、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、前記エントロピー情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、前記符号数制御符号化手段で得られた符号と、前記符号化された復号必要情報とを出力する出力手段として機能させるためのものである。
さらに、本発明のコンピュータグラフィックスデータ符号化プログラムによれば、
コンピュータを、
コンピュータグラフィックスデータを取得する取得手段と、前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、前記前処理が行われたコンピュータグラフィックスデータを、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、前記符号数制御符号化手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄える符号蓄積手段と、典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報に基づいて、前記符号数制御符号化手段で得られた符号の符号語を作成する符号作成手段と、前記符号数制御符号化手段で得られた符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、前記符号語の作成に基づいて、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力する出力手段として機能させるためのものである。
またさらに、本発明のコンピュータグラフィックスデータ符号化プログラムによれば、
コンピュータを、
コンピュータグラフィックスデータを取得する取得手段と、前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、前記前処理手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄える符号蓄積手段と、典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報に基づいて、前記前処理手段で得られた符号の符号語を作成する符号作成手段と、前記前処理が行われたコンピュータグラフィックスデータを、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、前記エントロピー符号化手段で得られた符号を、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、前記符号語の作成に基づいて、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、前記符号数制御符号化手段で符号化された符号と、前記符号化された復号必要情報とを出力する出力手段として機能させるためのものである。
本発明のコンピュータグラフィックスデータ復号化プログラムによれば、請求項20または請求項21に記載のコンピュータグラフィックスデータ符号化プログラムを使用して符号化したデータを復号化するためにコンピュータで使用されるコンピュータグラフィックスデータ復号化プログラムにおいて、
コンピュータを、
前記符号化されたデータを取得する取得手段と、前記符号化された復号必要情報を復号化する抽出情報復号化手段と、前記復号化された復号必要情報に基づいて、符号語を復号化するための復号語を得るための復号情報を作成する復号作成手段と、前記復号情報を蓄積する蓄積手段と、前記エントロピー符号化された符号を、前記復号情報を使用して復号化するエントロピー復号化手段と、前記エントロピー復号化手段で復号化されたデータを、符号総数が制御される以前の元データに復号化する元データ復号化手段と、前記元データ復号化手段で復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化する後処理復号化手段と、前記後処理復号化手段で得られた、前記前処理が行われる以前のデータを出力する出力手段として機能させるためのものである。
また、本発明のコンピュータグラフィックスデータ復号化プログラムによれば、請求項22または請求項23に記載のコンピュータグラフィックスデータ符号化プログラムを使用して符号化したデータを復号化するためにコンピュータで使用されるコンピュータグラフィックスデータ復号化プログラムにおいて、
コンピュータを、
前記符号化されたデータを取得する取得手段と、前記符号化された復号必要情報を復号化する抽出情報復号化手段と、典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、前記復号化された復号必要情報と、前記符号語情報蓄積手段に蓄えられている関係情報とから、符号語と該符号語に対応する復号語の関係である復号情報を作成する復号作成手段と、前記復号情報を蓄積する復号情報蓄積部と、前記エントロピー符号化された符号を、前記復号情報を使用して復号化するエントロピー復号化手段と、前記エントロピー復号化手段で復号化されたデータを、符号総数が制御される以前の元データに復号化する元データ復号化手段と、前記元データ復号化手段で復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化する後処理復号化手段と、前記後処理復号化手段で得られた、前記前処理が行われる以前のデータを出力する出力手段として機能させるためのものである。
本発明のコンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法によれば、コンピュータグラフィックスデータを符号化、復号化する場合のスループットの向上、ハードウェアのコスト削減を実現することができる。
以下、図面を参照しながら本発明の実施形態に係るコンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法について詳細に説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態に係るコンピュータグラフィックスデータ符号化装置の全体構成図である。
本実施形態のコンピュータグラフィックスデータ符号化装置は、入力部101、前処理符号化部102、符号数制御符号化部103、エントロピー情報蓄積部104、符号作成部105、エントロピー符号化部106、抽出部107、抽出情報符号化部108、出力部109を備えている。
入力部101は、コンピュータグラフィックスデータを取得する。
前処理符号化部102は、入力部101で得られたデータの量子化、正規化の処理など前処理を行う。
符号数制御符号化部103は、前処理符号化部102で得られた符号を、エントロピー符号化部106で符号化する際に、エントロピー符号化部106で生成される符号総数を制御するための処理を行って符号化する。
エントロピー情報蓄積部104は、符号数制御符号化部103で得られた符号のエントロピー情報を蓄える。
符号作成部105は、エントロピー情報蓄積部104で蓄えられたエントロピー情報を用いて符号語を作成する。
エントロピー符号化部106は、符号数制御符号化部103で得られた符号を、符号作成部105で作成された符号語を用いてエントロピー符号化する。
抽出部107は、符号作成部105で符号語を作成した際に用いたエントロピー情報から復号する際に最低限必要な復号情報を抽出する。
抽出情報符号化部108は、抽出部107で得られた復号情報を符号化する。
出力部109は、エントロピー符号化部106で得られた符号と、抽出情報符号化部108で得られた符号を出力する。
以下、各部について詳細に説明する。
<<入力部101>>
入力部101は、コンピュータグラフィックスデータを取得する部分である。コンピュータグラフィックスでは、通常、形状はポリゴンという3角形の組み合わせで表現される。このとき、形状のデータは、3角形の各頂点の位置座標の集合として表現される。位置座標は、3次元空間における位置(x,y,z)という3次元ベクトル、あるいは、同次座標系を用いて、(x,y,z,w)という4次元ベクトルで表現される。
また、コンピュータグラフィックスでは、頂点データは、位置座標の他に、法線情報や色情報、表面特性情報、など様々な情報を用いて表現されている。これらの情報は全て、ベクトルデータとして表現可能である。そこで、本発明の実施形態では、コンピュータグラフィックスデータとは、位置や法線、色情報などを表現するための、数値を各要素として持つ任意次元のベクトルデータを指すこととする。
入力部101はこのようなベクトルデータの集合を受け取る。以降、処理の内容を具体的に説明するために、位置データを例として説明をするが、他のデータに関しても同様である。
位置データの場合、上述したように、(x,y,z)の3次元ベクトルデータあるいは、(x,y,z,w)の4次元ベクトルデータとして表現される。以降では、(x,y,z)の3次元ベクトルデータの場合を例として説明する。
位置データ(x,y,z)の各要素は、それぞれ、3次元空間上のx座標、y座標、z座標を表現しており、それぞれ、小数データとして表現されることが多い。データは、ベクトルとして管理される。そのベクトルデータが、全ての頂点分だけ入力部101に逐次入力される。
<<前処理符号化部102>>
前処理符号化部102は、入力部101で取得した頂点の、法線情報や色情報、表面特性情報などの各種データ(本実施形態では、上述したように、一例として位置データで説明する)の量子化、正規化などを行う。
上述したように、頂点データは小数データを各要素として持つベクトルデータである。この各要素の値をコンピュータ内で表現可能なように量子化する必要がある。この際、幾つかの量子化の手法があるが、大きく分けて、小数値を浮動小数表現で表現する量子化方法と、固定小数表現で表現する方法がある。これらの量子化の手法は本発明の実施形態の本質ではないので詳細はここでは説明しない。簡単に説明すれば、量子化する際に、量子化したデータの中で、小数点の位置を固定として表現するのが固定小数表現であり、そうしないのが浮動小数表現である。なお、量子化の際に用いるビット長(量子化ビット長と呼ぶ)を32ビットとした浮動小数表現は、IEEE754に規定されている。
浮動小数表現は、非常に広範囲のデータ(2−126から2127まで)を32ビットのデータとして表現できるのが特徴であるが、小数データを符号部、指数部、仮数部という情報として管理するため、数値の扱い方が複雑となることが多い。
そこで、低価格なハードウェアシステムを想定した場合、固定小数表現が採用されることが多い。しかし、固定小数表現では、量子化した際の小数点があるビット位置を固定としているため、表現できる値の範囲が小さいという問題がある。また、小数点位置が固定のため、表現できる小数値の精度に限界があるという問題がある。
この問題を解消するために、データを正規化する必要がある。データを何らかの形で正規化して、正規化データの出現範囲を上記の固定小数表現における数値の表現範囲に納めることで、上記の固定小数表現における精度の問題を解消することが可能となる。
<正規化>
次に、前処理符号化部102が行う、データの正規化について説明する。
データの正規化は、符号化したい全てのデータの値が、特定の範囲内に収まるように変換することである。具体的には、データの正規化では、例えば、各データ値をデータ内に存在する最大値で除算することで正規化が行われる。以下では、データを−1〜1に正規化する例を説明する。
例えば、以下のような位置データ列(x,y,z)があるとする。ここで、m=0,1,…,nとする。
,y,z
,y,z
...
,y,z
まず、このデータ列中の最大値Vmaxを取得する。Vmaxは、次の式(1)で求められる。
Vmax=max(|x|,|y|,|z|,|x|,…,|x|,|y|,|z|)・・・(1)
ここで、max( )は、括弧内の要素の最大値を返す関数である。
次に、正規化値(scale)を計算する。正規化値は、式(2)により求める。
scale=Vmax・・・(2)
頂点データの正規化は、以下の式(3)により行う。ここで、Vはオリジナルのデータ、V’は正規化後のデータを示す。
V’=V/scale・・・(3)
このようにすることで、データは、−1〜1に正規化される。
正規化の際、データを任意の領域に分割し、以上の処理を、分割した領域ごとに行うことで、正規化のための精度を向上させることができる。領域の分割の範囲は、なるべくデータのオーダーが似ている範囲で選ぶ。
コンピュータグラフィックスのデータでは、通常、幾つかの部位に分割されて作成されていることが多い。幾つかの部位に分割されて作成されていることについて図2を参照して説明する。図2は、一例として、森の中に電車が走っているシーンを示す図である。このデータの場合、データは「列車」、「地面」、「線路」、「木々」、・・・、といった単位でグループ分けされて作成されている。
正規化処理は、このようなそれぞれのグループの中で行われることが望ましい。
このようにした場合、前処理符号化部102はデータを、
正規化値(=scaleの値)、データ、データ、...、正規化値、データ、データ、...
という並びで管理する。「正規化値」の適用範囲は、正規化値が登場してから、次の正規化値が出てくるまでの範囲に存在する「データ」の列である。ここで、位置データを正規化した正規化位置データの例について図3を参照して説明する。正規化値がscalei(i=1,2,…)である(x,y,z)(j=1,2,…,n,…,m,…)は、図3に示したように、それぞれ(x/scalei,y/scalei,z/scalei)と正規化される。
なお、元々特定の範囲に収まっているデータを新たに正規化する必要はない。例えば、位置データではなく法線データの場合、正規化法線データ(法線ベクトルの長さが1のデータ)としてデータが作成されていることが多い。このような場合、元のデータは必ず−1〜1の間にあることが保証されているため、前処理符号化部102が法線データを正規化する必要はない。
<量子化>
次に、前処理符号化部102が行う、量子化について説明する。
量子化の一手法のデータフォーマットについて図4を参照して説明する。なお、以降の説明はあくまでも一手法を具体的に説明したものであり、これに限定されるものではない。
図4は、16ビットの量子化ビット長で量子化した例である。このフォーマットは、符号と整数部を表す1ビットと、小数部を表す15ビットからなっており、このフォーマットにしたがって、先に正規化されたデータが量子化される。例えば、0.25は、0010000000000000に、−0.111は、1111000111001011に量子化される。
上記で説明した正規化値は、[−1,1]までの値を取る。通常、この範囲の値を表現するためには、符号および整数部として2ビット必要である。しかし、2ビット用いてしまうと、未使用領域(すなわち、[−2,−1),(1,2]の領域)が生じるため、メモリ量の無駄が多くなってしまう。さらに、小数部が14ビットとなり、小数表現精度が低下する。そこで、本手法では、符号および整数部で1ビット、小数部で15ビットの表現とする。
このように表現した場合、表現可能領域は、−1から1−1/215 (=0.999969482421875)までの量子化値となる。[1−1/215,1]の値が表現できなくなるため、この範囲の値は全て1−1/215 と取り決める。すなわち、
if (value>1−1/215 ) then value=1−1/215
とする。なお、この取り決めにより、最大で1/215 =約0.00003程度の誤差が生じる。
一般に、小数部をNビットとすれば、量子化ビット長はN+1ビットとなる。ユーザに量子化ビット長を指定させることにすれば、ユーザが量子化の精度をコントロールすることができる。
このように、量子化ビット長をユーザの指示により可変とすると、複数のビット長のデータを符号数制御符号化部103以降の各部で扱う必要がある。このような煩雑さを回避するために、正規化の際に、式(2)の代わりに、以下の式(4)ように正規化値を採用することで、量子化ビット長を変化させても内部的には特定のビット長でデータを表現することが可能となる。
scale=Vmax×2Q−N・・・(4)
ここで、Qは扱う対象とする最大の量子化ビット長、Nはユーザによって指定された量子化ビット長でありNとして2以上Q以下の自然数を指定する。Nを大きくすると、符号化の効率が減少する代わりに頂点データの精度の劣化を抑えることができる。逆に、Nを小さくすると、高い符号化効率が得られる反面、頂点データ精度が劣化する。この2つの関係はトレードオフである。
このようにすることで、データは−1/216−N〜−1/216−Nに正規化される。このため、データの精度は、実質的にNビット精度となる。Q=16として図4の量子化フォーマットを内部的に用いることで、内部表現としては、常に16ビットだが、データ精度をユーザの指定ビットとして扱うことができる。その分のファクタが、式(4)に示されるように、正規化値(scale)に含まれることになる。
なお、正規化値(scale)は、復号時の精度を考慮して、例えば、32ビット浮動小数表現で量子化する。また、式(4)に示したこの手法による処理は必須ではないが、以降では、このような手法を採用したとして、以下の実施形態の残りの各部の説明をする。
なお、以上では、量子化の方式を特定フォーマットの固定小数表現として説明してきたが、これに限定されるものではない。浮動小数表現をそのまま用いてもよいし、ここに記していない表現手法を用いて符号化を行っても構わない。
また、前処理符号化部102では、さらに、データの一次微分を取ることがある。これは、後述するエントロピー符号化の効果を高めるためである。以下でその方法を説明する。
<一次微分>
上記で得られた量子化データの一次微分を計算する。一次微分ベクトルデータΔVは、式(5)により計算する。
ΔV=V−Vn−1 (n=0,1,2,…)・・・(5)
ここで、Vはn番目の位置ベクトルデータで、V−1 はゼロベクトルとする。
例えば、量子化データが位置データの場合、図5に示したように計算され、一次微分データが求められる。この際、本実施例では、量子化データは、−1から1の値をとり得るため、微分値は、−2から2の値をとり得る。そのため、図4の16ビット固定小数表現では、オーバーフロー、アンダーフローが生じてしまう。
これを防ぐためにこの場合、図6に示したような関数を用いて実際の微分値を変換して処理することで、16ビット固定小数表現のままで微分値を一意に保有することが可能である。実際の一次微分値の大きさは、最大で2のため、大きさ2の範囲では、図6の表現で一意に微分値を決めることができる。
例えば、Vが16’b1010011001100110(=−0.7)、Vn−1 が16’b0100110011001101(=0.6)の場合、式(5)と図6に示した関数を使用して、ΔVは、16’b0101100110011010と計算される。
以上で前処理符号化部102の処理を終了する。前処理符号化部102は、後段のための前処理のための符号化を行う部である。この前処理符号化部102により、後段では、量子化された16ビットのビット列を一様に扱うことが可能となる。
なお、以上では、データの正規化、量子化、一次微分の例を示したが、あくまでも、これは実施の一形態であり、これらに限定されるものではない。
<<符号数制御符号化部103>>
符号数制御符号化部103は、前処理符号化部102で得られた符号を、エントロピー符号化部106で生成される符号総数を制御するための処理を行って符号化するためのものである。
仮に、エントロピー符号化部106がエントロピー符号化を行う際に、前処理符号化部102で得られた符号をそのままエントロピー符号化部106で符号化した場合、出現しうる総符号数は、量子化ビット長が16ビットの場合、216 通りにも及んでしまう。また、出現しうる符号の長さは、最長で、216+1ビットにもなる。
つまり、前処理符号化部102で得られた符号をそのままエントロピー符号化部106で符号化した場合、この符号を復号する復号器では、上記を考慮した上で、あらゆる条件にも適用可能な復号器を設計する必要がある。これは、背景技術の項でも述べたように、復号器の計算コスト面からも、価格コスト面からも非常に問題である。
符号数制御符号化部103は、このような問題を解消するためのもので、前処理符号化部102で得られた符号をさらに符号化し、エントロピー符号化部106で符号化する際に出現しうる符号総数を制御して限定するとともに、出現しうる符号の長さも制御して限定する。
<SzBIN符号化とフォーマット>
符号数制御符号化部103は、前処理符号化部102で得られた符号を、「符号を表現することができる最小長の表現とその符号長のペア」(以降、SzBIN符号と呼ぶ)として符号化することを特徴とする。
SzBIN符号は、データを、後に詳述するBIN符号(表現可能な最小ビット長のデータ)に変換し、そのビット長情報(Sz)と合わせて1符号とする形式である。BIN部分に、後述するBIN符号化によって得られた符号が格納され、Sz部に、そのBIN符号の符号長が格納される。SzBIN符号のフォーマットを図7に示す。
本実施形態では、図4に示したように、符号化前のデータは16ビット固定小数で表現されている。この場合、BIN符号化により符号化されるBIN符号は、0〜16までのビット長をとり得る。つまり、Szのとり得る範囲は0〜16である。そこで、Sz部は5ビットの固定長で表現される。BIN部は、BIN符号化によって得られる可変長データとなる。したがって、Sz部に5ビットを割り当てた場合、値が17〜31の領域は未使用領域となる。そこで、必要ならば、この未使用領域を各種のパラメータ値の格納に用いてもよい。例えば、Szが17以上の値である場合は、続くBINデータ領域にパラメータ値が格納されていることに取り決める。この例では、Szは、BIN部のビット長情報を示すのではなく、どのパラメータが格納されているかの識別子となる。続くBIN部のビット長は、予め分かっているパラメータ値のデータ長である(具体的な事例に関しては後に図9を参照して説明する)。
<BIN符号化の方法>
符号数制御符号化部103が得るBIN符号は、16ビット固定小数表現のデータに以下の2段階の変換を施すことで得られる。
1.16ビットデータを2の補数表現の整数データと考え、2の補数表現における最小表現に変換する。
2.1で得られた最小表現のMSB(Most Significant bit:最上位ビット)で残りのビットを引く。
まずステップ1の「16ビット固定小数表現→2の補数最小表現」の変換に関して説明する。
16ビットデータが正数の場合、MSBを除き、MSBの次のビットを含んで連続している0を全て取り除いたものが、2の補数における最小表現である。例えば、16’b0000010110011110は、MSBの次のビットから連続している0が取り除かれ、12’b010110011110に変換される。
16ビットデータが負数の場合、MSBを除き、MSBの次のビットを含んで連続している1を全て取り除いたものが、2の補数における最小表現である。例えば、16’b1110010110011110は、連続する1が取り除かれ、14’b10010110011110に変換される。
次にステップ2について説明する。ステップ2では、ステップ1で得られた2の補数における最小表現のMSBで残りのビットを引く処理を行う。具体例を示しながら、処理内容に関して説明する。
(16ビットデータが正数の場合)ステップ1で得られた最小表現が12’b010110011110である場合、最小表現のMSBは1’b0、残りのビットは11’b10110011110である。そこで、MSBで残りを引くと、
11’b10110011110−1’b0=11’b10110011110
となり、16’b0000010110011110のBIN符号が得られる。
(16ビットデータが負数の場合)ステップ1で得られた最小表現が14’b10010110011110である場合、最小表現のMSBは1’b1、残りのビットは13’b0010110011110である。そこで、MSBで残りを引くと、
13’b0010110011110−1’b1=13’b0010110011101
となり、16’b1110010110011110のBIN符号が得られる。
<BIN符号化の例外>
BIN符号化の例外がある。例えば、16’b1000000000000000は例外であり、以上で説明した処理で計算することができない。この値は、BIN符号化されても、16’b1000000000000000のままである。これは、唯一Sz=16となるBIN符号である。
<Szの取得>
Szは上記のようにして得られたBIN符号のビット長である。Szは、5ビットの固定長で表現する。
なお、以上で説明したBIN符号化を行わなくてもSzを計算することができる。計算方法は以下の通りである。
1.データが正数ならばそのまま、負数ならば、2の補数を取り、正数にする。
2.ビット値1が立っている最も上位のビットの位置がNのとき、Sz=N+1となる。ビット値1が1つも立っていない場合、Sz=0。例えば、16’b1000000000000000ならば、15ビット目(MSB)にビット値1が立っているからN=15でSz=16、16’b0100010111100000ならば、14ビット目にビット値1が立っているからN=14でSz=15となる。言い換えれば、そのデータを16ビットの整数と考えたとき、データ値≧2となる最大のNを用いて、Sz=N+1となる。
以上の手法を用いて先にSzを計算すれば、BIN符号は以下のようなシンプルな手法でも求めることができる。
1.Sz=16、または、データが正数のとき、データの下位Szビット分がBIN符号化データ。
2.データが負数のとき、データから1’b1を引いたものの下位Szビット分がBIN符号化データ。
SzBIN符号化の具体例を挙げて、Szを計算してBIN符号の求め方について図8を参照して説明する。
図8の上の例(16’b1110010110011110)では、16ビットデータが負数であるので、2の補数を取る。すなわち、この場合の2の補数は、
16’b0001101001100001+1’b1
=16’b0001101001100010
となり、ビット値1が立っている最も上位のビットの位置は12であるので、Sz=13となる。16ビットデータは負数であるので、
16’b1110010110011110−1’b1
=16’b1110010110011101
の下位Sz=13ビット分がBIN符号化データである。すなわち、この場合のBIN符号化データは、
13’b0010110011101
である。
一方、図8の下の例(16’b0000000000000001)では、16ビットデータが正数であるので、2の補数を取る必要はない。このデータのビット値1が立っている最も上位のビットの位置は0であるので、Sz=1となる。16ビットデータは正数であるので、
16’b0000000000000001
の下位Sz=1ビット分がBIN符号化データである。すなわち、この場合のBIN符号化データは、
1’b1
である。
<Szの特殊な使用(SzBINデータ内への非頂点データの混在)>
Szの未使用領域を用いることで、各種のパラメータをSzBIN符号の中に混在させることが可能である。例えば、上記の正規化の際に算出された正規化値(scale値)は、符号データとは別のパスで復号の際に与える必要があるが、これをSzの未使用領域を用いてSzBIN形式とすることで、正規化値を符号データ内に混在させることができる。
例えば、図9に示したように、Sz=31を正規化値(scale値)のための識別子とし、その後ろに続くBINデータとして32ビット浮動小数表現の正規化値(scale値)を格納する。Szが未使用領域の値を示す際には、Szは、識別子として用いられ、続くBINデータのビット長は表わさない。
データの展開の際には、Szが0〜16までのときは、そのサイズのBINデータを取得しデータを復号し、Szがそれ以外の値のときは、その識別子の指すパラメータ値の長さだけデータを取得し、パラメータ値としてセットするという処理を行う。したがって、Szの値によって、パラメータ値と頂点データを区別して展開することが可能になる。
<SzBIN符号化の効果>
以上に説明したようなSzBIN符号化を用いることで、以下のような効果が得られる。
1.エントロピー符号化部106で上記のSz部分のみエントロピー符号化をすることを考える。例えば、ハフマン符号化を行うと、Szは5ビットで表現される符号のため、あり得るハフマン符号語の総数は、高々17個のみである。また、最大符号長も18ビットに抑えることができる。
2.上述したように、符号中に、符号化の非対象データ(上記の正規化値(scale)など)を含めることができる。
<<エントロピー情報蓄積部104>>
エントロピー情報蓄積部104は、符号数制御符号化部103で得られた符号のうち、エントロピー符号化部106でエントロピー符号化を行いたい部分を抽出し、蓄えるためのものである。例えば、エントロピー情報蓄積部104は、符号数制御符号化部103で得られたSzBIN符号のうち、Sz部分の符号を逐次蓄えてゆく。
また、エントロピー情報蓄積部104はエントロピー符号化部106におけるエントロピー符号化の際に必要なエントロピー量の整理を同時に行う。なお、このエントロピー量の整理は符号作成部105で行われてもよい。
以下、エントロピー符号化部106におけるエントロピー符号化の一例としてハフマン符号化を取り上げ、これについて説明する。ハフマン符号化を前提とした場合、その符号化のためのエントロピー量は、符号数制御符号化部103で得られた符号とその出現頻度の対応の情報である。
そこで、エントロピー情報蓄積部104は、Sz符号を蓄積しながら、各Szの出現頻度をカウントしてゆく。エントロピー情報蓄積部104は、全データに関してカウントが終了したら、頻度テーブルを作成する。頻度テーブルは、図10に示したように、Szの算出頻度を示したテーブルである。エントロピー情報蓄積部104はデータ内の各Sz(0〜16)の出現確率を計算する。出現確率pSzは、式(6)により計算する。
Sz=Szの出現数/全データ数・・・(6)
図10の例では、Sz=0の出現確率がA、Sz=1の出現確率がB、…、ということを示している。
なお、上で説明したようなSzBIN符号に混在させたいパラメータ値に関しては、出現確率をデータ中に含まれるそのパラメータ(例えば正規化値)の総数を用いて算出すれば良い。また、0〜16までのSzの出現確率よりも小さな値を出現確率として採用してもよい。
<<符号作成部105>>
符号作成部105は、エントロピー符号化部106で用いるエントロピー符号化用の符号語を作成するためのものである。符号作成部105は、この符号語作成の際に、エントロピー情報蓄積部104に蓄積されたエントロピー量の情報を利用する。
上記と同様に、ハフマン符号を例として説明を進める。ハフマン符号語の作成手順は以下の通りである。
1.情報源の通報を出現確率(p、i=1,2,…,N)の大きい順に並べる
≧p≧…≧p
2.最も出現確率の小さい1対の通報に0と1を対応させる(ハフマンノードの作成)
3.「2.」の1対の通報に対する確率の和をq(2≦k≦N−2)とし、再度出現確率の大きい順に並べる
N−1+p=q
≧p≧…≧q≧…≧pN−2
4.上記1から「3.」の手順を繰り返す(ハフマン木の作成)
5.1対の通報に0と1を対応させた順序を逆に辿って0と1の並びを求め、符号語とする(ハフマン木の探索)
詳細に関しては、ハフマン符号に関する文献(例えば、情報圧縮技術の基礎、新井 清、(株)トリケップス、2003、ISBN4-88657-228-6、P48−60)を参照して頂きたい。
以上のように、符号作成部105は、符号数制御符号化部103で得られた符号に対応するハフマン符号語を作成する。
<<エントロピー符号化部106>>
エントロピー符号化部106は、符号作成部105で作成された符号語を用いて、符号数制御符号化部103から得られた符号をエントロピー符号化するためのものである。
具体的には、エントロピー符号化部106は、符号作成部105を参照して、符号数制御符号化部103で得られたある符号SzBINのSzに対応する符号語を得る。この符号語をHuff(Sz)と表記すると、エントロピー符号化部106は、この符号語に符号数制御符号化部103で得られたある符号SzBINのBIN部を結合して、Huff(Sz)BINという符号化を行う。
例えば、符号数制御符号化部103で得られたSzBIN符号が00011101であるとする。このSz部は、00011で、これは、Sz=3、つまり、続く3ビットのデータ101がBIN部であることを示している。このSz部の00011に対応する符号語として、11という符号が、符号作成部105においてHuff(Sz)として得られたとすると、エントロピー符号化部106は、11101というように符号化する。
<<抽出部107>>
抽出部107は、符号作成部105で符号語を作成した際に用いたエントロピー情報から復号する際に最低限必要な情報を抽出するためのものである。
符号化したハフマン符号を復号するためには、ハフマン符号とそれに対応する復号語の情報が必要である。これは、ハフマン符号と対応する復号語のペアを作成したハフマン符号分持っていれば良いが、このように持つと、データ量が大きくなってしまう。復号語は、上記ハフマン符号語の作成方法の部分で説明したハフマン木から再構成できることから、復号器はこのハフマン木の情報を用いて、復号語を再構成することが多い。
抽出部107は、例えば、このハフマン木の情報をエントロピー情報蓄積部104、符号作成部105から抽出する。なお、上記ハフマン木は、「エントロピー情報から復号に最低限必要な情報」の一例であり、これに限定されるものではない。
<<抽出情報符号化部108>>
抽出情報符号化部108は、抽出部107で抽出した情報を、データ量が減少するようにさらに符号化するためのものである。符号化後のデータ量が、元のデータ量以下になるような符号化ならば、どのような符号化を用いても構わない。
<<出力部109>>
出力部109は、
1.エントロピー符号化部106で得られたコンピュータグラフィックスデータの符号と
2.抽出情報符号化部108で得られた復号化のためのデータの符号
を入力部101に入力された全データに対して出力するためのものである。
ここで、上記1と2を別ファイルとして、2つのファイルで出力しても構わないし、何らかの形でデータを統合し、1つのファイルに出力してもよい。また、出力形態は、ファイルに限らず、メモリ上への出力でも構わないし、何らかの伝送路への出力でも構わない。
<<第1の実施形態の効果>>
以上で説明した第1の実施形態におけるコンピュータグラフィックスデータ符号化装置によれば、符号語の総数、最大符号長を限定するための工夫がしてあるため、後述する復号器で復号する際の演算コストを抑え(すなわち、演算スピードを上げることができる)、価格的なコストを抑えることができる形式で符号化されたコンピュータグラフィックスデータの符号を作成することが可能となる。
(第1の実施形態の変形例1)
本発明の第1の実施形態では、符号数制御符号化部103において、エントロピー符号化部106で符号化する際に出現しうる符号総数を限定するとともに、出現しうる符号の長さも限定するための手法として、「符号を表現することができる最小長の表現とその符号長のペア」(SzBIN符号)として符号化することを中心として説明した。しかし、符号数制御符号化部103では別の符号化を行うことが可能である。変形例1では、その別の符号化について説明する。
なお、本発明の第1の実施形態の変形例1に係るコンピュータグラフィックスデータ符号化装置の全体構成図は図1と同様であるが、各部の動作内容に変化があるものに関しては以下で説明する。ここで説明するもの以外の装置部分は、本発明の第1の実施形態と同様の動作を行う。
<<符号数制御符号化部103>>
<概要>
符号数制御符号化部103は、前処理符号化部102で得られた符号を、エントロピー符号化部106で生成される符号総数を限定するための処理を行って符号化するためのものであるのは、第1の実施形態と同様である。第1の実施形態の変形例1では、その符号化の手法が第1の実施形態とは異なる。
<符号化フォーマット>
本変形例1に係る符号数制御符号化部103では、前処理符号化部102で得られた符号を、「2つ以上の符号に分割」して符号化することを特徴とする。分割の手法は幾つか考えられるが、以降ではその一例として、符号を「上位ビットと下位ビットの2つに分割」する手法を例として挙げて説明する。
具体的な例として、前処理符号化部102で得られた符号が、16ビットで量子化された符号であったとする。符号数制御符号化部103は、この符号を上位8ビット部分と下位8ビット部分に分割する。
すると、各部分は8ビットの符号となるため、これをハフマン符号化した場合、符号語の総数は、2=256個に減少する。また、最大符号長も、257ビットにまで減少する。したがって、この手法によれば、符号数制御符号化部103は、符号総数を少なく、最大符号長を短く制限するように制御することができる。
なお、ここでは2つに分割する場合について説明したが、2つ以外の複数に分割した場合も同様である。また、分割数は、均等である必要はない。
<<エントロピー情報蓄積部104、符号作成部105>>
上記のような符号数制御符号化部103での符号化手法の変化により、エントロピー情報蓄積部104、符号作成部105で扱う情報も変化する。第1の実施形態では、SzBIN符号のSz部を用いて、蓄積や、頻度情報の作成、符号の作成をする例を示したが、本変形例1では、その「Sz部」を上記の「分割することで作成した新たな符号全て」で置き換えたものを用いて蓄積や頻度情報の作成を行うことになる。
<<エントロピー符号化部106>>
エントロピー符号化部106は、符号数制御符号化部103で得られた2つ以上の分割符号をそれぞれ、符号作成部105で得られた符号で符号化し、符号数制御符号化部103で分割した分割方法と逆の結合を行う。
例えば、符号数制御符号化部103で上位8ビットと下位8ビットの2つの符号に分割した場合、エントロピー符号化部106は、まず「上位8ビット分の符号のハフマン符号語A」を作成し、次に「下位8ビット分の符号のハフマン符号語B」を作成し、A,BをAが上位ビット、Bが下位ビットになるように結合する。
(第1の実施形態の変形例2)
図11は、本発明の第1の実施形態の変形例2に係るコンピュータグラフィックスデータ符号化装置の全体構成図である。第1の実施形態で図1を参照して説明した装置部分と同様なものは同一の符号を付して説明を省略する。
本発明の第1の実施形態の変形例2のコンピュータグラフィックスデータ符号化装置は、入力部101、前処理符号化部102、符号蓄積部1101、符号作成部1102、エントロピー符号化部1103、符号数制御符号化部1104、抽出部107、抽出情報符号化部108、および、出力部1105を備えている。
符号蓄積部1101は、前処理符号化部102で得られた符号のエントロピー情報を蓄える。
符号作成部1102は、符号蓄積部1101で蓄えられたエントロピー情報を用いて符号語を作成する。
エントロピー符号化部1103は、前処理符号化部102で得られた符号を、符号作成部1102で作成された符号語を用いてエントロピー符号化する。
符号数制御符号化部1104は、エントロピー符号化部1103で得られた符号の符号総数を限定するように制御するための処理を行って符号化する。
出力部1105は、符号数制御符号化部1104で得られた符号と、抽出情報符号化部108で得られた符号を出力する。
<<符号蓄積部1101>>
符号蓄積部1101は、前処理符号化部102で得られた符号を蓄えるとともに、エントロピー符号化部1103におけるエントロピー符号化の際に必要なエントロピー量の整理を同時に行う。具体的には、符号蓄積部1101は、前処理符号化部102で得られた符号の出現確率を計算し、符号と出現確率との対応を示す頻度テーブルを作成する。このエントロピー量の整理は符号作成部1102で行われてもよい。この場合、符号作成部1102が頻度テーブルを作成する。
<<符号作成部1102>>
符号作成部1102は、第1の実施形態での符号作成部105と動作は同じであるが、入力するデータが異なる。この第1の実施形態の変形例2では、符号作成部1102は、前処理符号化部102で得られた符号を直接入力する。
この結果、符号作成部1102は、前処理符号化部102で得られた符号に対応するハフマン符号語を作成することになる。なお、この時点では、符号語総数を限定する工夫をしていないため、上記符号語の符号総数は、量子化ビット長が16ビットの場合、未だ216個である。
<<エントロピー符号化部1103>>
エントロピー符号化部1103は、符号作成部105で作成された符号語を用いて、前処理符号化部102から得られた符号をエントロピー符号化するためのものである。なお、この時点でも、符号語総数を限定する工夫をしていないため、上記符号語の符号総数は、量子化ビット長が16ビットの場合、未だ216個である。
<<符号数制御符号化部1104>>
符号数制御符号化部1104は、エントロピー符号化部1103で得られた符号に関して、符号作成部1102で作成された符号語のうち、実際に使用される種類を限定するように制御するための符号化を行うためのものである。
具体的には、符号数制御符号化部1104は、符号化を行う符号長の長さの限界(限界符号長と称する)を設け、それ以上の符号長となる符号語は使用しないで、別の符号で代用するという手法を用いる。
具体的な例として、符号数制御符号化部1104で設定される限界符号長をNビットとする。例えば、前処理符号化部102で得られたある符号Aに対応するハフマン符号語A’がエントロピー符号化部1103で得られたとする。符号数制御符号化部1104は、この符号語A’の符号長MがN以下の場合には、符号語A’をそのまま出力符号とする。一方、MがNよりも大きい場合は、符号数制御符号化部1104は、符号語A’の上位Nビットを非符号化識別子(ここでは「C」と表現する)として採用し、この非符号化識別子の後ろに、前処理符号化部102から得られる対応した符号Aをそのまま連結して「CA」という符号を出力符号とする。この結果、符号数制御符号化部1104により、符号語の総数は、2に限定される。
なお、復号化の際は、符号を先頭から調査して、限界符号長Nに達した際に対応する復号語が存在しない場合、この符号の上位Nビットは非符号化識別子とみなすことができるため、続く例えば16ビットの符号を上記の符号Aとみなせば良い。このため、符号数制御符号化部1104による符号化手法は、符号語の総数を限定でき、しかも復号の手法が簡単である符号化手法であるということができる。
<<出力部1105>>
出力部1105は、第1の実施形態での出力部109とほぼ同様で、
1.符号数制御符号化部1104で得られたコンピュータグラフィックスデータの符号と
2.抽出情報符号化部108で得られた復号化のためのデータの符号と
を入力部101に入力された全データに対して出力する。
なお、上述した第1の実施形態、第1の実施形態の変形例1、第1の実施形態の変形例2の手法を適宜組み合わせて用いることで、より効果のある符号化を行うことが可能である。
(第1の実施形態の変形例3)
本変形例では、前処理符号化部102で、上述した処理に加え、さらに以下に示すような処理(以降、要素圧縮と称する)をする。
<要素圧縮処理>
要素圧縮処理とは、データベクトル(データの組)の長さが1となるという情報を利用して、1要素分のデータ量を削減する圧縮手法である。要素圧縮は、例えば、正規化の後、量子化を行う前に行う。
<要素圧縮の条件>
以下の条件を満たす場合、要素圧縮処理を行うことができる。すなわち、要素圧縮が可能な条件は、データベクトル(データの組)が長さ1の正規化ベクトルとなっていることである。データがN要素の組からなっている(e,e,…,e)である場合、
‖(e,e,…,e)‖=1、つまり、(Σe 1/2=1・・・(7)
式(7)を満たすものが、長さ1の正規化ベクトルとなるデータである。
具体的な例として頂点データの場合、例えば、正規化法線データ(nx,ny,nz)がこの条件を満たす。正規化法線データは、要素圧縮を最も使用する可能性の高いデータである。以降、正規化法線データを例として説明する。
<要素圧縮の仕方>
正規化法線データ(nx,ny,nz)の場合、式(7)を満たす。つまり、
nx+ny+nz=1
が成り立つ。これより、
nz=sign(nz)×(1−nx−ny1/2・・・(8)
である。ここで、sign(nz)は、nzの符号を示し、nz<0のとき−1,nz≧0のとき+1となる値を返す。これより、nzは、nx,nyおよび、sign(nz)から一意に求めることができることが分かる。これは、nx,nyに関しても同様である。
nx=sign(nx)×(1−ny−nz1/2・・・(9)
ny=sign(ny)×(1−nx−nz1/2・・・(10)
つまり、nx,ny,nzの3要素を保持する代わりに、どれか2要素を保持し、さらに、もう1要素の符号のみを保持すれば、元の3要素を復元することができるということである。この関係を利用して、
nx,ny,nz → n1,n2,sign(n3)
というように要素圧縮を行う。ここで、n1,n2は、nx,ny,nzのうちのどれか2つ、sign(n3)は、もう1つの要素の符号が入ることを示す。
<要素の選択>
選択する2つの要素として、nx,ny,nzのうちの、大きさ‖nx‖,‖ny‖,‖nz‖が最小のものと2番目に小さいものとの2つを選択する。こうすることで、符号を復号する際の計算誤差を最小限に抑えることができる。復号時には、どの2つを選択したかも知らなければならないため、これを知るための情報も付加する。以上をまとめると、nx,ny,nzは、
nx,ny,nz → n1,n2,p
と要素圧縮することができる。ここで、pは、復号のためのパラメータで、図12に示したように3ビットで示される。
例えば、(nx,ny,nz)=(0.13,0.99,−0.02)というデータがあった場合、
n1=nx,
n2=nz,
p=100
となる。
<要素圧縮の効果>
以上説明したような要素圧縮を行ってから量子化を行ったデータは、(nx,ny,nz)の16ビット×3=トータル48ビットから、(n1,n2,p)の16ビット×2+3ビット=トータル35ビットにデータ量を減らすことができる。
<要素圧縮をした場合の以降の処理>
要素圧縮によって得られた3ビットのパラメータ値pに関しては、符号数制御符号化部103において符号化する際に、符号化を行うか、3ビットのパラメータ値をそのまま出力として用いるかのどちらかに決定する。どちらを選択したかは、エントロピー情報蓄積部104に蓄積しておき、抽出部107でこの情報が抽出され、抽出情報符号化部108を経て出力部109で出力される。
<3要素以外のとき>
以上では、正規化法線を例として、3要素の場合を示したが、他のデータでも同様に要素圧縮を行うことが可能である。
例えば、2要素(e1,e2)の場合、図13に示したように、pは2ビットあれば十分であり、以下の式(11)で圧縮された要素e2が復元される。
e2=sign(e2)×(1−e11/2・・・(11)
なお、他の要素数のときと同様に扱うために、pを3ビットとして、MSBに0を付加した値を用いてもよい。
他の例として、4要素(e1,e2,e3,e4)の場合、pは3要素のときと同様に3ビット必要で、パラメータ値は図13に示した通りである。圧縮された要素e4は次式により復元される。
e4=sign(e4)×(1−e1−e2−e31/2・・・(12)
5要素以上に関しても同様である。
以上の処理を行うことで、前処理符号化部102からの出力の圧縮効率を上げることができる。これは、第1の実施形態の変形例3の出力である符号の圧縮効率に直結するため、重要である。
(第2の実施形態)
図14は、本発明の第2の実施形態に係るコンピュータグラフィックスデータ符号化装置の全体構成図である。第1の実施形態で図1を参照して説明した装置部分と同様なものは同一の符号を付して説明を省略する。
本実施形態のコンピュータグラフィックスデータ符号化装置は、入力部101、前処理符号化部102、符号数制御符号化部103、符号情報蓄積部1401、符号語情報蓄積部1402、符号作成部1403、エントロピー符号化部106、抽出部107、抽出情報符号化部108、出力部109を備えている。
符号情報蓄積部1401は、符号数制御符号化部103で得られた符号のエントロピー符号化を行うべき符号部分を蓄える。
符号語情報蓄積部1402は、典型的なデータにおけるエントロピー情報と符号語との関係を予め蓄えておく。
符号作成部1403は、符号情報蓄積部1401と符号語情報蓄積部1402で蓄えられた情報を基に、符号数制御符号化部103で得られた符号の符号語を作成する。
第1の実施形態では、エントロピー情報蓄積部104は符号数制御符号化部103で得られた符号からエントロピー情報を動的に取得して、それを基に、符号の頻度テーブルを作成していた。
これに対し、第2の実施形態では、符号語情報蓄積部1402に典型的なデータにおけるエントロピー情報と符号語との関係を示す符号語情報を予め蓄えておき、符号作成部1403は、この符号語情報と、符号情報蓄積部1401に蓄えられた符号数制御符号化部103で得られた符号からのエントロピー情報を用いて符号の頻度テーブルを作成する。
<<符号情報蓄積部1401>>
符号情報蓄積部1401は、符号数制御符号化部103で得られた符号のうち、エントロピー符号化部106でエントロピー符号化を行いたい部分を抽出し、蓄えるためのものであり、第1の実施形態におけるエントロピー情報蓄積部104と似た動作をする。動作が異なる部分のみ以下で説明する。
符号情報蓄積部1401では、例えば、符号数制御符号化部103で得られたSzBIN符号のうち、Sz部分の符号を逐次蓄えてゆく。また、エントロピー符号化部106におけるエントロピー符号化の際に必要なエントロピー量の整理を同時に行う。
以下、第1の実施形態のときと同様に、エントロピー符号化の一例としてハフマン符号化を取り上げ、これについて説明する。
ハフマン符号化では、符号化のためのエントロピー量は、符号数制御符号化部103で得られた符号とその出現頻度の対応の情報である。そこで、符号情報蓄積部1401は上述したようにSz符号を蓄積しながら、各Szの出現頻度をカウントしてゆく。符号情報蓄積部1401は全データに関してカウントが終了したら、頻度テーブルを作成する。頻度テーブルは、Szの算出頻度を示したテーブルである。データ内の各Sz(0〜16)の出現頻度を計算し、図15に示すように、出現頻度が大きいものから順にインデックスを0,1,2,…というように割り当てる。
図14に示した例では、Sz=0が5番目の出現頻度、Sz=1が最も出現頻度が高く、Sz=2が2番目の出現頻度、…、Sz=16が15番目の出現頻度ということを示している。
なお、上で説明したようなSzBIN符号に混在させたいパラメータ値に関しては、インデックス値として、Szと同じ値を使用する。図15では、このようなパラメータとして、正規化値(scale)を導入しているが、このインデックス値は、常に31である。
<<符号語情報蓄積部1402>>
符号語情報蓄積部1402は、典型的なコンピュータグラフィックスデータにおけるエントロピー情報と符号語の関係を予め蓄えておくためのものである。
ハフマン符号は、出現頻度の高いデータに、より短い符号語を割り当てようというものである。そのため、割り当てられる符号語は、各データにおける符号群の出現頻度の分布により様々である。このような性質のため、符号語はデータに強く依存し、その作成には手間がかかるし、復号の際にも何らかの形でデータに依存した符号語を再構成する必要があり、復号に要するコストも大きい。第2の実施形態によれば、以下に説明するように、この問題を解消することができる。
符号語情報蓄積部1402は、多くのコンピュータグラフィックスデータから得たSz符号の出現頻度とそのデータで作成された符号語の対応情報の知見を生かし、典型的なコンピュータグラフィックスデータにおけるエントロピー情報と符号語の関係を予め蓄えておく。
具体的には、出現頻度とそれに対応する符号語の関係を示したテーブル(以下、符号テーブルと呼ぶ)を何種類か蓄えておく。符号テーブルの例を図16に示す。
図16は、最も頻度の高い(Index=0)ものに割り当てられる符号語が、“00”、2番目の頻度(Index=1)に割り当てられる符号語が、“010”、…、ということを表している。
経験的には、球体などの頂点が均等に並ぶコンピュータグラフィックスデータでは、図17に示すテーブルが、それ以外のデータでは、図18に示すテーブルが、良い圧縮効果を得ることができる出現頻度順と符号語の関係であることが分かっている。図17、図18では、非符号語である正規化値(scale)に関しても、符号語を同様に割り振ってある。
<<符号作成部1403>>
符号作成部1403は、エントロピー符号化部106で用いるエントロピー符号化用の符号を作成するためのものである。この符号作成の際に、符号情報蓄積部1401と符号語情報蓄積部1402に蓄積された情報を利用する。
符号情報蓄積部1401には、図15に示されたような、符号数制御符号化部103で得られた符号とその出現頻度の順序の対応を示した頻度テーブルが蓄積されている。また、符号語情報蓄積部1402には、図16に示されたような、符号の出現頻度における典型的な符号語の対応を示した符号テーブルが幾つか蓄積されている。
符号作成部1403は、上記の頻度テーブルと符号テーブルの2つを用いて以下のような手順で符号を作成する。
1.符号語情報蓄積部1402に蓄積された符号テーブルのうち、どれかを選択する。どれを選択したかの情報は、抽出部107で利用される。
2.符号化したいSzに対して、頻度テーブルと、符号テーブルを参照し、ハフマン符号を決定する。図19に示すように、まず頻度テーブルを照会し、符号化したいSzに対応した頻度順(図中のIndex)を得る。次に、符号テーブルを照会し、先に得た頻度順に対応した符号を得る。得られた符号語が、符号化したいSzに対応した符号語となる。
例えば、図19を参照してSz=1をハフマン符号化する例を考える。符号作成部1403は、頻度テーブルを参照してSz=1の頻度を示すインデックス値は2であることを一時的に記憶する。次に、符号作成部1403は、符号テーブルの該当インデックス位置を参照してIndex=2に対応するハフマン符号語が、“011”であることを出力する。以上より、符号作成部1403は、Sz=1に対するハフマン符号語“011”を作成する。このようにして、符号作成部1403は、符号数制御符号化部103で得られた符号に対応する符号語を作成する。
<<抽出部107>>
抽出部107は、符号作成部1403で符号語を作成した際に用いたエントロピー情報から復号に最低限必要な情報を抽出するためのものである。
最低限必要な情報とは、
1.符号情報蓄積部1401において得られた符号と出現頻度の関係(頻度テーブル)
2.符号語情報蓄積部1402において、どの符号テーブルが選ばれたか(符号テーブルの種類)
である。抽出部107は、これらの情報を符号作成部1403、符号情報蓄積部1401、符号語情報蓄積部1402から抽出する。
<<第2の実施形態の効果>>
第1の実施形態では、復号時に必要な情報(抽出部107で出力される情報)として、ハフマン木の情報、または、符号化前のデータとハフマン符号の対応の情報が必要であった。第1の実施形態での符号化では、この情報を、抽出情報符号化部108で圧縮符号化して出力するものの全て符号データとして出力する必要があった。
第2の実施形態によれば、典型的なハフマン符号語の情報を符号テーブルとして予め符号語情報蓄積部1402に蓄えて用いるため、復号時に必要な情報(抽出部107で出力される情報)として、頻度テーブルの情報しか出力する必要がない。
このため、符号化データのデータ量が減少する割合が、第1の実施形態よりも大きい。これは、復号器にデータを入力する際のスループットの向上に繋がる。
なお、第1の実施形態の変形例1で示したに符号数制御符号化部103における符号化方法を、同様に第2の実施形態に適用することが可能である。
(第2の実施形態の変形例1)
また、第1の実施形態の変形例2で示した変形例と同様の変形を第2の実施形態に適用することが可能である。
図20は、本発明の第2の実施形態の変形例2に係るコンピュータグラフィックスデータ符号化装置の全体構成図である。第1、第2の実施形態でそれぞれ図1、図14を参照して説明した装置部分と同様なものは同一の符号を付して説明を省略する。
本発明の第2の実施形態の変形例1のコンピュータグラフィックスデータ符号化装置は、入力部101、前処理符号化部102、符号蓄積部2001、符号語情報蓄積部1402、符号作成部2002、エントロピー符号化部2003、符号数制御符号化部2004、抽出部107、抽出情報符号化部108、および、出力部2005を備えている。
符号蓄積部2001は、前処理符号化部102で得られた符号を蓄える。
符号作成部2002は、符号蓄積部2001と符号語情報蓄積部1402で蓄えられた情報を基に、前処理符号化部102で得られた符号の符号語を作成する。
エントロピー符号化部2003は、前処理符号化部102で得られた符号を、符号作成部2002で作成された符号語を用いて符号化する。
符号数制御符号化部2004は、エントロピー符号化部2003で得られた符号の符号総数を限定するための処理を行って符号化する。
出力部2005は、符号数制御符号化部2004で得られた符号と、抽出情報符号化部108で得られた符号を出力する。
<<符号蓄積部2001>>
符号蓄積部2001は、前処理符号化部102で得られた符号を蓄えるためのものである。また、上述した頻度テーブルの作成も同時に行う。入力が前処理符号化部102からの符号に変わっただけで、残りの機能は、第2の実施形態の符号情報蓄積部1401と同様である。
<<符号作成部2002>>
符号作成部2002は、第2の実施形態の符号作成部1403と動作は同じであるが、入力されるデータが異なる。この第2の実施形態の変形例1では、前処理符号化部102で得られた符号が直接入力される。
<<エントロピー符号化部2003>>
エントロピー符号化部2003は、符号作成部2002で作成された符号語を用いて、前処理符号化部102から得られた符号をエントロピー符号化する。
<<符号数制御符号化部2004>>
符号数制御符号化部2004は、エントロピー符号化部2003で得られた符号に関して、符号作成部2002で作成された符号語のうち、実際に使用される種類を限定するための符号化を行うためのものである。第1の実施形態の変形例2の符号数制御符号化部1104と同様の動作を行う。
<<出力部2005>>
出力部2005は、第2の実施形態の出力部109とほぼ同様で、
1.符号数制御符号化部2004で得られたコンピュータグラフィックスデータの符号と
2.抽出情報符号化部108で得られた復号化のためのデータの符号と
を入力部101に入力された全データに対して出力する。
なお、上述した第2の実施形態、第2の実施形態の変形例1の手法を適宜組み合わせて用いることで、より効果のある符号化を行うことが可能である。
また、第1の実施形態の変形例3の要素圧縮の処理を、同様に第2の実施形態に適用して用いることが可能である。
(第3の実施形態)
第3の実施形態は、第1の実施形態で作成された符号を復号するための復号器である。
図21は、本発明の第3の実施形態に係るコンピュータグラフィックスデータ復号化装置の全体構成図である。
本実施形態のコンピュータグラフィックスデータ復号化装置は、入力部2101、抽出情報復号化部2102、復号作成部2103、復号情報蓄積部2104、エントロピー復号化部2105、元データ復号化部2106、後処理復号化部2107、出力部2108を備えている。
入力部2101は、第1の実施形態の手法を用いて出力された符号化データを取得する。
抽出情報復号化部2102は、入力部2101から実施形態1における抽出情報符号化部108で作成された符号部分を取得し復号する。
復号作成部2103は、抽出情報復号化部2102で得られたデータにエントロピー復号化を行うための付加情報を加えて符号語を復号するための情報を作成する。
復号情報蓄積部2104は、復号作成部2103で作成された復号のための情報を蓄積する。
エントロピー復号化部2105は、入力部2101から第1の実施形態におけるエントロピー符号化部106で得られた符号の部分を取得し、復号情報蓄積部2104に蓄積された復号情報を用いて、符号を復号する。
元データ復号化部2106は、エントロピー復号化部2105で得られたデータを、第1の実施形態における符号数制御符号化部103で符号化される元のデータとして復号する。
後処理復号化部2107は、元データ復号化部2106で復号されたデータに、逆正規化、逆量子化の処理などを行ってデータを復元する。
出力部2108は、復元されたデータを出力する。
<<入力部2101>>
入力部2101は、第1の実施形態のコンピュータグラフィックスデータ符号化装置が作成した符号化データを取得する部分である。
<<抽出情報復号化部2102>>
抽出情報復号化部2102は、入力部2101から、第1の実施形態における抽出情報符号化部108で作成された符号部分を取得し、その符号を復号するためのものである。
取得する符号は、第1の実施形態における抽出情報符号化部108で作成された符号であり、復号は、第1の実施形態における抽出情報符号化部108で符号化したのと逆の手順を行い復号化する。復号化されたデータは、第1の実施形態における抽出情報符号化部108で符号化される前の状態に戻る。具体的には、この抽出情報復号化部2102で復号されたデータとは、例えば、第1の実施形態における符号作成部105で符号語を作成する際に用いられたハフマン木の情報である。
<<復号作成部2103>>
復号作成部2103は、抽出情報復号化部2102で得られたデータにエントロピー復号化を行うための付加情報を加えて符号語を復号するための復号語を作成するためのものである。具体的には、抽出情報復号化部2102で得られたハフマン木の情報を用いて、ハフマン木を再構成し、ハフマン木の根からノードを辿ることで、復号語を作成する。
なお、復号作成部2103は、復号作成部2103で全て作成して符号と復号語のペアのテーブルとして持っていても良いし、再構築したハフマン木の状態で保持してもよい。後者の場合、エントロピー復号化部2105がこのハフマン木を動的に探索しながら復号する。
<<復号情報蓄積部2104>>
復号情報蓄積部2104は、復号作成部2103で作成された復号のための情報を保持しておくためのものである。具体的には、上述したハフマン木の状態を保持してもよいし、ハフマン木から作成された復号語のテーブルを保持していても良い。
<<エントロピー復号化部2105>>
エントロピー復号化部2105は、入力部2101から、第1の実施形態におけるエントロピー符号化部106で得られた符号の部分を取得し、復号情報蓄積部2104に蓄積された復号情報を用いて、符号を復号するためのものである。入力されるのは、Huff(Sz)BINのフォーマットを持つ符号である。すなわち、エントロピー復号化部2105はSzBIN符号のSzの部分がハフマン符号化された符号を入力する。エントロピー復号化部2105では、この符号を復号し、SzBIN符号の形式に戻す。
具体的には、エントロピー復号化部2105は、符号を先頭から探索し、復号情報蓄積部2104に蓄積された復号情報(ハフマン符号とそれに対応する復号語の情報)に適合する復号語を探し出す。探し出された、適合する復号語が、復号されたSzである。次に、エントロピー復号化部2105はSzの値を参照して続くSzビット分を取得する。この取得されたSzビット分がBIN符号となる。この際、エントロピー復号化部2105は、取得したSzの値が適切な範囲にない場合(例えば、量子化ビット長が16ビットの場合、Szは0〜16の値を取るが、これ以外の値になった場合)は、続くBIN部分には、非符号語が入っているとみなす。非符号語は、例えば、正規化値(scale)などである。この場合、続くBIN部分には、例えば、32ビットの浮動小数表現で、正規化値が入っている。正規化値(scale)などの符号以外の値は、復号情報蓄積部2104に蓄積しておく。
図22を参照してエントロピー復号化部2105が行う一連の処理の例を示す。
エントロピー復号化部2105が“101”という符号をハフマン符号化された符号として探し出し、その復号語が“01101”になったとする。この場合、復号されたSzは、“01101”つまり、Sz=13であるから、続く13ビットのビット列がBIN符号部分ということになる。すなわち、図22の例でのBIN符号は、“0010110011101”である。
<<元データ復号化部2106>>
元データ復号化部2106は、エントロピー復号化部2105で得られたデータを、第1の実施形態における符号数制御符号化部103で符号化される元のデータとして復号するためのものである。具体的には、エントロピー復号化部2105で得られたBIN符号を復号し、BIN符号化の前のデータとして復元する。
BIN符号の復号方法は、第1の実施形態でBIN符号化したときの逆の手順を辿ればよい。すなわち、復号は以下の2ステップで行う。
(ステップ1)
1.1.MSBが1ならば、1の反転である0をMSBとして付加する、
1.2.MSBが0ならば、0の反転である1をたして、さらに0の反転である1をMSBとして付加する、
という処理を行う。この動作について、例えば、11’b10110011110という符号を復号する場合を説明する。この例では、MSBが1だから上記「1.1」にしたがって、MSBに「1の反転の0」を付加して、12’b010110011110とする。
また、他の例として、13’b0010110011101という符号を復号する場合は、MSBが0であるから上記「1.2.」にしたがって、まず、0の反転である1をたす。すなわち、
13’b0010110011101+1’b1=13’b0010110011110
を得る。次に、「1.2.」にしたがって、MSBに「0の反転の1」を付加する。すなわち、14’b10010110011110を得る。
(ステップ2)
2.1.MSBが1ならば、上位に連続した1を追加し、16ビットとする、
2.2.MSBが0ならば、上位に連続した0を追加し、16ビットとする、
という処理を行う。例えば、ステップ1の「1.1.」で得られた12’b010110011110という符号は、MSBが0であるから「2.2.」にしたがい、16ビットになるように上位に0を4つ追加する。すなわち、16’b0000010110011110という16ビットの固定小数フォーマットに復号される。
また、ステップ1の「1.2.」で得られた14’b10010110011110という符号は、MSBが1であるから「2.1.」にしたがい、16ビットになるように上位に1を2つ追加する。すなわち、16’b1110010110011110という16ビットの固定小数フォーマットに復号される。
以上の2ステップでBIN符号の復号が完了し、復号されたデータは、16ビットの固定小数表現として得られる。
<復号処理まとめ>
以上の2ステップの処理をまとめると、元データ復号化部2106は、ビット長SzのBIN符号に対して、
1.MSBが1の場合(BIN[Sz−1]=1の場合)は、16ビットの下位SzビットにBIN符号を格納し、上位16−Szビットを0で埋める、
2.MSBが0の場合(BIN[Sz−1]=0の場合)は、16ビットの下位SzビットにBIN符号を格納し、16’b0000000000000001を加算したのち、上位16−Szビットを1で埋める、
という処理により16ビット固定小数データとして復号する。
なお、以上は、内部表現として16ビットの固定小数データを用いた場合である。内部表現として任意サイズのビットを混在させた場合は、上記ステップ2の動作は行う必要がない。
<<後処理復号化部2107>>
後処理復号化部2107は、元データ復号化部2106で復号されたデータに、逆正規化、逆量子化の処理などを行ってデータを復元するためのものである。具体的な処理手順を以下に示す。
1.第1の実施形態で作成された符号化データが、第1の実施形態の前処理符号化部102において、一次微分をして作成されたデータの場合、一次積分処理を行う。すなわち、一次積分処理V=Vn−1+ΔV (n=0,1,2,…)という処理を行う。
2.第1の実施形態の前処理符号化部102における量子化の逆の動作を行い、固定小数データの逆量子化処理を行う。
3.復号情報蓄積部2104から正規化値(scale)を取得し、これを「2.」で得られた逆量子化値に乗算する。
4.得られたデータが符号化前のデータである。
5.以上を、ベクトルの全ての要素に関して行う。
6.以上を、全ての頂点(全てのベクトル)に関して行う。
<<出力部2108>>
出力部2108は、後処理復号化部2107で復号化されたデータを、第1の実施形態における入力データと同様のフォーマットで出力するものである。
以上に示した第3の実施形態のコンピュータグラフィックスデータ復号化装置が処理を行うことにより、第1の実施形態で符号化されたデータを復号することができる。
<<第3の実施形態の効果>>
第3の実施形態では、第1の実施形態で作成された符号語の総数、最大符号長を限定するための処理を施した符号の復号を行う。復号語の作成の際、符号語の総数が限定されているため、従来手法のように、膨大なメモリ領域を復号語作成のために確保する必要がなくなり、また、符号語の最大符号長が限定されているため、復号する際のスループットの低下も抑えることができる。このため、復号器の計算コストや実現コストを抑えることが可能となる。
(第3の実施形態の変形例1)
第3の実施形態の変形例1は、第1の実施形態の変形例1で作成された符号の復号を行うための復号器である。
第3の実施形態の変形例1は、構成は、第3の実施形態と同様だが、エントロピー復号化部2105での動作が異なっている。第1の実施形態の変形例1では、符号を2つ以上に分割し、それぞれ符号化を行うことを特徴としている。本変形例では、この復号を行う。具体的には、エントロピー復号化部2105へ入力されて来たデータを先頭から復号してゆき、それらを第1の実施形態の変形例1で分割した手法と同様の手法で結合する処理を行う。
例えば、第1の実施形態の変形例1で、16ビットの符号を上位8ビットAと下位8ビットBに分割し、それぞれをハフマン符号化したものA’,B’を結合したC={A’,B’}という符号が作成されていたとする。この場合、エントロピー復号化部2105はデータを先頭から調査し、まず、A’をAに復号し、次に、B’がBに復号する。そして、エントロピー復号化部2105は{A,B}を復号データとする。
(第3の実施形態の変形例2)
第3の実施形態の変形例2は、第1の実施形態の変形例2で作成された符号の復号を行うための復号器である。
第3の実施形態の変形例2は、構成は第3の実施形態と同様だが、エントロピー復号化部2105での動作が異なっている。第1の実施形態の変形例2では、特定の符号長Nまではハフマン符号語を用い、特定の符号語長Nを超えるデータに関しては、非符号識別子と非符号データの組み合わせで符号化を行うことを特徴としていた。本変形例では、この復号を行う。
具体的には、エントロピー復号化部2105は、入力したデータを先頭から復号してゆき、復号したデータが特定の符号語長Nまでに復号情報蓄積部2104に蓄積された復号情報を用いて復号される場合は、この復号したデータを復号語として採用する。復号されない場合には、これは非符号化識別子だとみなすことができるため、続くデータを復号データとして採用する。量子化ビット長が16ビットの場合は、続く16ビット分のデータが復号データとなる。
なお、第1の実施形態、第1の実施形態の変形例1、第1の実施形態の変形例2の手法が適宜組み合わせて用いられている場合は、復号のために、同じ組み合わせで、第3の実施形態、第3の実施形態の変形例1、第3の実施形態の変形例2を組み合わせて用いなければならない。
(第3の実施形態の変形例3)
第3の実施形態の変形例3は、第1の実施形態の変形例3で行われた要素圧縮処理された符号の復号を行うためのものである。
この場合、第3の実施形態とは、エントロピー復号化部2105、元データ復号化部2106、および、後処理復号化部2107の動作が異なる。
<<エントロピー復号化部2105、元データ復号化部2106>>
まず、要素圧縮した際にパラメータ値の符号化を行ったかどうかの情報を、抽出情報復号化部2102を経て取得する。パラメータ値部分が符号化されている場合には、エントロピー復号化部2105および元データ復号化部2106は通常と同様に復号化処理を行う。パラメータ値部分が符号化されていない場合には、パラメータ値のビット長(例えば3ビット)分のデータを取得し、それを復号語とする。
以下、(nx,ny,nz)の3要素からなる正規化法線データを例として説明する。第1の実施形態の変形例3で説明したように、正規化法線データ(nx,ny,nz)は、図12を用いて(n1,n2,p)に要素圧縮されている。この正規化法線データは{SzBIN(n1),SzBIN(n2),SzBIN(p)}または、{SzBIN(n1),SzBIN(n2),p}という形式で符号化されている。ここで、SzBIN(x)は、データxをSzBIN符号化した符号を示す。これを上記で述べた手法で復号すると、{n1,n2,p}が得られる。
<<後処理復号化部2107>>
後処理復号化部2107は、上記で得られたデータと要素圧縮パラメータのセットから、要素圧縮されたデータの復元を行う。ここでは、例として、(n1,n2,p)から(nx,ny,nz)のデータ復元を考える。
まず、n1,n2にあたる符号の逆量子化、逆正規化処理を通常通り行う。
次に、式(13)と符号化の際に用いた図12の関係を用いてn3を計算する。
n3=sign(n3)×(1−n1−n21/2・・・(13)
sign(n3)は、図12を参照すればわかるように、残り1要素の符号が正(pのLSB(Least Significant bit:最下位ビット)が0)のとき1、負(LSBが1)のとき−1となる関数である。
ルート演算の中身が負となる場合はこの値を0とする。すなわち、
if 1−n1−n2<0 then 1−n1−n2=0・・・(14)
そして、図23を参照し、(n1,n2,n3)を(nx,ny,nz)に変換する。これは、図12を逆変換用に変形したテーブルである。
例えば、n1=0.02,n2=0.13,p=011の場合は、
nx=n3=−1×(1−0.02−0.131/2=−0.99,
ny=n1=0.02,
nz=n2=0.13
と変換される。以上で要素展開は終了である。
本実施例では、正規化法線データを例として説明したが、他のデータや、他の要素数の際にも同様である。
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。第4の実施形態の復号器は、第2の実施形態で作成された符号を復号するためのものである。
図24は、本発明の第4の実施形態に係るコンピュータグラフィックスデータ復号化装置の全体構成図である。第3の実施形態で図21を参照して説明した装置部分と同様なものは同一の符号を付して説明を省略する。
本実施形態のコンピュータグラフィックスデータ復号化装置は、入力部2101、抽出情報復号化部2102、符号語情報蓄積部2401、復号作成部2402、復号情報蓄積部2403、エントロピー復号化部2404、元データ復号化部2106、後処理復号化部2107、出力部2108を備えている。
符号語情報蓄積部2401は、典型的なデータにおけるエントロピー情報と符号語との関係を予め蓄えておく。
復号作成部2402は、抽出情報復号化部2102で得られたデータと、符号語情報蓄積部2401に蓄えられている情報を用いて、符号語を復号するための情報を作成する。
復号情報蓄積部2403は、復号作成部2402で作成された復号のための情報を蓄積する。
エントロピー復号化部2404は、入力部2101から第1の実施形態におけるエントロピー符号化部106で得られた符号の部分を取得し、復号情報蓄積部2403に蓄積された復号情報を用いて、符号を復号する。
<<符号語情報蓄積部2401>>
符号語情報蓄積部2401は、典型的なデータにおけるエントロピー情報と符号語との関係を予め蓄えておくためのものである。具体的には、第2の実施形態で説明した符号テーブル(図16〜図18)を、第2の実施形態と同じ種類のデータとして蓄えておく。
<<復号作成部2402>>
復号作成部2402は、符号語情報蓄積部2401で得られた情報を用いて、抽出情報復号化部2102で得られたデータにエントロピー復号化を行うための付加情報を加えて符号語を復号するための復号語を作成するためのものである。
具体的には、抽出情報復号化部2102からは、第2の実施形態で作成された頻度テーブル(図15)が復号されて得られる。この頻度テーブルと、符号語情報蓄積部2401から得られた符号テーブルを用いて、復号語を作成する。2つのテーブルを図25のように参照することで、ハフマン符号語に対応する復号語(Szの値)を得ることができる。
<<復号情報蓄積部2403>>
復号情報蓄積部2403は、復号作成部2402で作成された復号のための情報を保持しておくためのものであり、上記で作成されたハフマン符号と対応する復号語の情報を保持する。
<<エントロピー復号化部2404>>
エントロピー復号化部2404は、入力部2101から第1の実施形態におけるエントロピー符号化部106で得られた符号の部分を取得し、復号情報蓄積部2403に蓄積された復号情報を用いて、符号を復号するためのものである。
エントロピー復号化部2404は、Huff(Sz)BINのフォーマットを持つ符号を入力する。Huff(Sz)BINのフォーマットを持つ符号は、SzBIN符号のSzの部分がハフマン符号化されたものである。エントロピー復号化部2404は、Huff(Sz)BINのフォーマットを持つ符号を復号し、SzBIN符号の形式に戻す。
具体的には、エントロピー復号化部2404は、符号を先頭から探索し、復号情報蓄積部2403に蓄積されたハフマン符号にマッチする復号語を探し出す。この探し出された復号語が復号されたSzである。以降、Szの値を参照して、BIN符号を復号する手法は、第3の実施形態で説明したのと同様である。
以上に説明した以外の部分に関しては、第3の実施形態と同様の動作を行う。第4の実施形態では、第2の実施形態で作成した符号データの復号を行うことができる。
<<第4の実施形態の効果>>
第3の実施形態では、復号時に必要な情報(符号化時に抽出部107で出力される情報)として、ハフマン木の情報、または、符号化前のデータとハフマン符号の対応の情報が必要であった。ハフマン木の情報を受け取った場合には、復号語を作成するためには、ハフマン木を再構成して復号語を作成する必要がある。また、符号化前のデータとハフマン符号の対応の情報を受け取った場合には、比較的大きなデータを受け取る必要があった。
第4の実施形態によれば、典型的なハフマン符号語の情報を符号テーブルとして予め符号語情報蓄積部2401に蓄えて用いるため、復号時に必要な情報(符号化時に抽出部107で出力される情報)として、頻度テーブルの情報しか受け取る必要がない。このため、符号化データのデータ量の減少の効果が、第3の実施形態よりも高い。これは、復号器にデータを入力する際のスループットの向上に繋がる。
また、頻度テーブルを受け取り、それと予め蓄えられている符号テーブルを参照するだけで復号語が作成できるため、ハフマン木から復号語を再構成する必要がある第3の実施形態よりも、シンプルな構成で実現することができる。これは、第4の実施形態に係る復号器を実現するための価格的なコストを抑えることができるという効果を生む。
復号器の演算コスト、実現コストを押さえるため、FAXなどで用いられている拡張ハフマン法などに代表される従来手法では、復号器に完全に固定なデータと復号語の対応テーブルを持っている。これは、典型的なデータ以外では、符号化による圧縮効率が非常に低下する。
一方、本発明の実施形態の手法によれば、典型的な復号語データのみ固定として予め符号語情報蓄積部2401に蓄え、頻度情報は個々のデータから得ているため、特定のデータだけでなく、データの傾向が変化しても、常に高いレベルでの符号化による圧縮効率を期待することができる。第4の実施形態は、従来手法と、第3の実施形態の良いところ取り入れたものである。
(第4の実施形態の変形例1)
第4の実施形態の変形例1は、構成は、第4の実施形態と同様だが、エントロピー復号化部2404での動作が異なっている。エントロピー復号化部2404の動作は、第3の実施形態の変形例1と同様の動作を行う。これにより、第4の実施形態の変形例1によれば、第2の実施形態の変形例1で作成された符号の復号を行うことができる。
(第4の実施形態の変形例2)
第4の実施形態の変形例2は、構成は、第4の実施形態と同様だが、エントロピー復号化部2404での動作が異なっている。エントロピー復号化部2105の動作は、第3の実施形態の変形例2と同様の動作を行う。これにより、第4の実施形態の変形例2によれば、第2の実施形態の変形例2で作成された符号の復号を行うことができる。
なお、第1の実施形態、第1の実施形態の変形例1、第1の実施形態の変形例2の手法が適宜組み合わせて用いられている場合は、復号のために、同じ組み合わせで、第4の実施形態、第4の実施形態の変形例1、第4の実施形態の変形例2を組み合わせて用いなければならない。
また、要素圧縮データの展開をするために、第3の実施形態の変形例3と同様の処理を行うことがある。
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態のコンピュータグラフィックスデータ符号化装置および復号化装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態のコンピュータグラフィックスデータ符号化装置および復号化装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーションシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
なお、本願発明におけるコンピュータまたは組み込みシステムは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
本発明の第1の実施形態に係るコンピュータグラフィックスデータ符号化装置のブロック図。 コンピュータグラフィックスのデータを説明するための図。 図1の前処理符号化部が行う正規化処理について説明するための図。 図1の前処理符号化部が行う量子化の一手法であるデータフォーマットを示す図。 図1の前処理符号化部が行う一次微分を説明するための図。 図1の前処理符号化部が行う微分値を変換するための関数の一例を示す図。 図1の符号数制御符号化部が符号化したSzBIN符号のフォーマットを示す図。 図1の符号数制御符号化部が行う、Szの値からBIN符号を求める手法を説明するための図。 Szの未使用領域を用いてSzBIN形式とすることで、正規化値を符号データ内に混在させているフォーマットの一例を示す図。 図1のエントロピー情報蓄積部が作成した頻度テーブルの一例を示す図。 第1の実施形態の変形例2に係るコンピュータグラフィックスデータ符号化装置のブロック図。 第1の実施形態の変形例3の前処理符号化部で3要素を要素圧縮する場合に使用されるテーブルを示す図。 2要素または4要素を、図12のように要素圧縮する場合に使用されるテーブルを示す図。 本発明の第2の実施形態に係るコンピュータグラフィックスデータ符号化装置のブロック図。 図14のエントロピー情報蓄積部で作成されるSzの出現頻度のテーブルを示す図。 図14の符号語情報蓄積部で蓄えられる符号テーブルを示す図。 球体などの頂点が均等に並ぶコンピュータグラフィックスデータにおける符号テーブルの一例を示す図。 球体などの頂点が均等に並ぶ場合以外のコンピュータグラフィックスデータにおける符号テーブルの一例を示す図。 図14の符号作成部が頻度テーブルおよび符号テーブルを参照してハフマン符号を得ることを説明するための図。 第2の実施形態の変形例2に係るコンピュータグラフィックスデータ符号化装置のブロック図。 本発明の第3の実施形態に係るコンピュータグラフィックスデータ復号化装置のブロック図。 図21のエントロピー復号化部2105が行う一連の処理の一例を示す図。 図21の後処理復号化部で(n1,n2,n3)を(nx,ny,nz)に変換するためのテーブルを示す図。 本発明の第4の実施形態に係るコンピュータグラフィックスデータ復号化装置のブロック図。 図24の復号作成部がハフマン符号テーブルおよび頻度テーブルを参照して復号語(Szの値)を得ることを説明するための図。
符号の説明
101、2101…入力部、102…前処理符号化部、103、1104、2004…符号数制御符号化部、104…エントロピー情報蓄積部、105、1102、1403、2002…符号作成部、106、1103、2003…エントロピー符号化部、107…抽出部、108…抽出情報符号化部、109、1105、2005…出力部、1401、1101、2001…符号蓄積部、1402、2401…符号語情報蓄積部、2102…抽出情報復号化部、2103、2402…復号作成部、2104、2403…復号情報蓄積部、2105、2404…エントロピー復号化部、2106…元データ復号化部、2107…後処理復号化部、2108…出力部。

Claims (25)

  1. コンピュータグラフィックスデータを取得する取得手段と、
    前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、
    前記前処理が行われたコンピュータグラフィックスデータを、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、
    前記符号数制御符号化手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分を蓄える蓄積手段と、
    前記蓄積手段で蓄えられた符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成する符号作成手段と、
    前記符号数制御符号化手段で得られた符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、
    前記エントロピー情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、
    前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、
    前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力する出力手段と、を具備することを特徴とするコンピュータグラフィックスデータ符号化装置。
  2. コンピュータグラフィックスデータを取得する取得手段と、
    前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、
    前記前処理が行われたコンピュータグラフィックスデータを蓄える蓄積手段と、
    前記蓄積手段で蓄えられたコンピュータグラフィックスデータの符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成する符号作成手段と、
    前記蓄積手段で蓄えられたコンピュータグラフィックスデータの符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、
    前記エントロピー符号化された符号を、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、
    前記エントロピー情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、
    前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、
    前記符号数制御符号化手段で得られた符号と、前記符号化された復号必要情報とを出力する出力手段と、を具備することを特徴とするコンピュータグラフィックスデータ符号化装置。
  3. 前記符号数制御符号化手段での前記符号総数は、前記エントロピー符号化手段で生成される符号の総数であることを特徴とする請求項1または請求項2に記載のコンピュータグラフィックスデータ符号化装置。
  4. コンピュータグラフィックスデータを取得する取得手段と、
    前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、
    前記前処理が行われたコンピュータグラフィックスデータを、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、
    前記符号数制御符号化手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄える符号蓄積手段と、
    典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、
    前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報に基づいて、前記符号数制御符号化手段で得られた符号の符号語を作成する符号作成手段と、
    前記符号数制御符号化手段で得られた符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、
    前記符号語の作成に基づいて、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、
    前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、
    前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力する出力手段と、を具備することを特徴とするコンピュータグラフィックスデータ符号化装置。
  5. コンピュータグラフィックスデータを取得する取得手段と、
    前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、
    前記前処理手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄える符号蓄積手段と、
    典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、
    前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報に基づいて、前記前処理手段で得られた符号の符号語を作成する符号作成手段と、
    前記前処理が行われたコンピュータグラフィックスデータを、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、
    前記エントロピー符号化手段で得られた符号を、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、
    前記符号語の作成に基づいて、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、
    前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、
    前記符号数制御符号化手段で符号化された符号と、前記符号化された復号必要情報とを出力する出力手段と、を具備することを特徴とするコンピュータグラフィックスデータ符号化装置。
  6. 前記符号数制御符号化手段での前記符号総数は、該符号数制御符号化手段で生成される符号の総数であることを特徴とする請求項4または請求項5に記載のコンピュータグラフィックスデータ符号化装置。
  7. 前記前処理手段は、量子化、正規化、および、一次微分の処理の少なくともいずれか1つを行うことを特徴とする請求項1から請求項6のいずれか1つに記載のコンピュータグラフィックスデータ符号化装置。
  8. 前記エントロピー符号化手段は、ハフマン符号を使用して符号化することを特徴とする請求項1から請求項7のいずれか1つに記載のコンピュータグラフィックスデータ符号化装置。
  9. 前記符号数制御符号化符号化手段は、符号を2つ以上に分割して符号化することを特徴とする請求項1から請求項8のいずれか1つに記載のコンピュータグラフィックスデータ符号化装置。
  10. 前記符号数制御符号化手段は、符号を、表現することができる最小長の表現とその符号長のペアの情報として符号化することを特徴とする請求項1から請求項8のいずれか1つに記載のコンピュータグラフィックスデータ符号化装置。
  11. 前記符号数制御符号化手段は、特定の符号長までの符号はそのまま出力し、該符号長を超える符号は新たな符号に置き換える符号化を行うことを特徴とする請求項1から請求項8のいずれか1つに記載のコンピュータグラフィックスデータ符号化装置。
  12. 請求項1または請求項2に記載のコンピュータグラフィックスデータ符号化装置が符号化したデータを復号化するコンピュータグラフィックスデータ復号化装置において、
    前記符号化されたデータを取得する取得手段と、
    前記符号化された復号必要情報を復号化する抽出情報復号化手段と、
    前記復号化された復号必要情報に基づいて、符号語を復号化するための復号語を得るための復号情報を作成する復号作成手段と、
    前記復号情報を蓄積する蓄積手段と、
    前記エントロピー符号化された符号を、前記復号情報を使用して復号化するエントロピー復号化手段と、
    前記エントロピー復号化手段で復号化されたデータを、符号総数が制御される以前の元データに復号化する元データ復号化手段と、
    前記元データ復号化手段で復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化する後処理復号化手段と、
    前記後処理復号化手段で得られた、前記前処理が行われる以前のデータを出力する出力手段と、を具備することを特徴とするコンピュータグラフィックスデータ復号化装置。
  13. 請求項4または請求項5に記載のコンピュータグラフィックスデータ符号化装置が符号化したデータを復号化するコンピュータグラフィックスデータ復号化装置において、
    前記符号化されたデータを取得する取得手段と、
    前記符号化された復号必要情報を復号化する抽出情報復号化手段と、
    典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、
    前記復号化された復号必要情報と、前記符号語情報蓄積手段に蓄えられている関係情報とから、符号語と該符号語に対応する復号語の関係である復号情報を作成する復号作成手段と、
    前記復号情報を蓄積する復号情報蓄積部と、
    前記エントロピー符号化された符号を、前記復号情報を使用して復号化するエントロピー復号化手段と、
    前記エントロピー復号化手段で復号化されたデータを、符号総数が制御される以前の元データに復号化する元データ復号化手段と、
    前記元データ復号化手段で復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化する後処理復号化手段と、
    前記後処理復号化手段で得られた、前記前処理が行われる以前のデータを出力する出力手段と、を具備することを特徴とするコンピュータグラフィックスデータ復号化装置。
  14. コンピュータグラフィックスデータを取得し、
    前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行い、
    前記前処理が行われたコンピュータグラフィックスデータを、最終的に生成される符号総数を制御するための処理を行って符号化し、
    前記符号総数を制御するための処理を行うことで得られた符号に含まれるエントロピー符号化を行うべき符号部分を蓄え、
    前記蓄えられた符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成し、
    前記符号総数を制御するための処理を行うことで得られた符号を、前記作成された符号語を用いてエントロピー符号化し、
    前記エントロピー情報から復号に最低限必要な復号必要情報を抽出し、
    前記復号必要情報をデータ量が少なくなるように符号化し、
    前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力することを特徴とするコンピュータグラフィックスデータ符号化方法。
  15. コンピュータグラフィックスデータを取得し、
    前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行い、
    前記前処理が行われたコンピュータグラフィックスデータを蓄え、
    前記蓄えられたコンピュータグラフィックスデータの符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成し、
    前記蓄えられたコンピュータグラフィックスデータの符号を、前記作成された符号語を用いてエントロピー符号化し、
    前記エントロピー符号化された符号を、最終的に出力される符号総数を制御するための処理を行って符号化し、
    前記エントロピー情報から復号に最低限必要な復号必要情報を抽出し、
    前記復号必要情報をデータ量が少なくなるように符号化し、
    前記符号総数を制御するための処理を行って符号化して得られた符号と、前記符号化された復号必要情報とを出力することを特徴とするコンピュータグラフィックスデータ符号化方法。
  16. コンピュータグラフィックスデータを取得し、
    前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行い、
    前記前処理が行われたコンピュータグラフィックスデータを、最終的に出力される符号総数を制御するための処理を行って符号化し、
    前記符号総数を制御するための処理を行って符号化して得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄え、
    典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄え、
    前記符号部分と前記出現頻度との前記関係情報と前記エントロピー情報と前記符号語との前記関係情報に蓄えられている関係情報に基づいて、前記符号総数を制御するための処理を行って符号化して得られた符号の符号語を作成し、
    前記符号総数を制御するための処理を行って符号化して得られた符号を、前記作成された符号語を用いてエントロピー符号化し、
    前記符号語の作成に基づいて、前記符号部分と前記出現頻度との前記関係情報と前記エントロピー情報と前記符号語との前記関係情報から復号に最低限必要な復号必要情報を抽出し、
    前記復号必要情報をデータ量が少なくなるように符号化し、
    前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力することを特徴とするコンピュータグラフィックスデータ符号化方法。
  17. コンピュータグラフィックスデータを取得し、
    前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行い、
    前記前処理で得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄え、
    典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄え、
    前記符号部分と前記出現頻度との前記関係情報と前記エントロピー情報と前記符号語との前記関係情報に基づいて、前記前処理で得られた符号の符号語を作成し、
    前記前処理が行われたコンピュータグラフィックスデータを、前記作成された符号語を用いてエントロピー符号化し、
    前記エントロピー符号化で得られた符号を、最終的に出力される符号総数を制御するための処理を行って符号化し、
    前記符号語の作成に基づいて、前記符号部分と前記出現頻度との前記関係情報と前記エントロピー情報と前記符号語との前記関係情報から復号に最低限必要な復号必要情報を抽出し、
    前記復号必要情報をデータ量が少なくなるように符号化し、
    前記符号総数を制御するための処理を行って符号化された符号と、前記符号化された復号必要情報とを出力することを特徴とするコンピュータグラフィックスデータ符号化方法。
  18. 請求項14または請求項15に記載のコンピュータグラフィックスデータ符号化方法によって符号化したデータを復号化するコンピュータグラフィックスデータ復号化方法において、
    前記符号化されたデータを取得し、
    前記符号化された復号必要情報を復号化し、
    前記復号化された復号必要情報に基づいて、符号語を復号化するための復号語を得るための復号情報を作成し、
    前記復号情報を蓄積し、
    前記エントロピー符号化された符号を、前記復号情報を使用して復号化し、
    前記エントロピー復号化で復号化されたデータを、符号総数が制御される以前の元データに復号化し、
    前記元データに復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化し、
    復号化した、前記前処理が行われる以前のデータを出力することを特徴とするコンピュータグラフィックスデータ復号化方法。
  19. 請求項16または請求項17に記載のコンピュータグラフィックスデータ符号化方法によって符号化したデータを復号化するコンピュータグラフィックスデータ復号化方法において、
    前記符号化されたデータを取得し、
    前記符号化された復号必要情報を復号化し、
    典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄え、
    前記復号化された復号必要情報と、前記エントロピー情報と前記符号語との前記関係情報とから、符号語と該符号語に対応する復号語の関係である復号情報を作成し、
    前記復号情報を蓄積し、
    前記エントロピー符号化された符号を、前記復号情報を使用して復号化し、
    前記復号情報を使用して復号化されたデータを、符号総数が制御される以前の元データに復号化し、
    前記元データ復号化手段で復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化し、
    復号化した、前記前処理が行われる以前のデータを出力することを特徴とするコンピュータグラフィックスデータ復号化方法。
  20. コンピュータを、
    コンピュータグラフィックスデータを取得する取得手段と、
    前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、
    前記前処理が行われたコンピュータグラフィックスデータを、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、
    前記符号数制御符号化手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分を蓄える蓄積手段と、
    前記蓄積手段で蓄えられた符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成する符号作成手段と、
    前記符号数制御符号化手段で得られた符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、
    前記エントロピー情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、
    前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、
    前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力する出力手段として機能させるためのコンピュータグラフィックスデータ符号化プログラム。
  21. コンピュータを、
    コンピュータグラフィックスデータを取得する取得手段と、
    前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、
    前記前処理が行われたコンピュータグラフィックスデータを蓄える蓄積手段と、
    前記蓄積手段で蓄えられたコンピュータグラフィックスデータの符号部分に基づいて、エントロピー量の情報であるエントロピー情報を算出し、該エントロピー情報に基づいて符号語を作成する符号作成手段と、
    前記蓄積手段で蓄えられたコンピュータグラフィックスデータの符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、
    前記エントロピー符号化された符号を、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、
    前記エントロピー情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、
    前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、
    前記符号数制御符号化手段で得られた符号と、前記符号化された復号必要情報とを出力する出力手段として機能させるためのコンピュータグラフィックスデータ符号化プログラム。
  22. コンピュータを、
    コンピュータグラフィックスデータを取得する取得手段と、
    前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、
    前記前処理が行われたコンピュータグラフィックスデータを、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、
    前記符号数制御符号化手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄える符号蓄積手段と、
    典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、
    前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報に基づいて、前記符号数制御符号化手段で得られた符号の符号語を作成する符号作成手段と、
    前記符号数制御符号化手段で得られた符号を、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、
    前記符号語の作成に基づいて、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、
    前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、
    前記エントロピー符号化された符号と、前記符号化された復号必要情報とを出力する出力手段として機能させるためのコンピュータグラフィックスデータ符号化プログラム。
  23. コンピュータを、
    コンピュータグラフィックスデータを取得する取得手段と、
    前記取得されたコンピュータグラフィックスデータを符号化するための前処理を行う前処理手段と、
    前記前処理手段で得られた符号に含まれる、エントロピー符号化を行うべき符号部分と、該符号部分の出現頻度と、の関係情報を蓄える符号蓄積手段と、
    典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、
    前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報に基づいて、前記前処理手段で得られた符号の符号語を作成する符号作成手段と、
    前記前処理が行われたコンピュータグラフィックスデータを、前記作成された符号語を用いてエントロピー符号化するエントロピー符号化手段と、
    前記エントロピー符号化手段で得られた符号を、最終的に出力される符号総数を制御するための処理を行って符号化する符号数制御符号化手段と、
    前記符号語の作成に基づいて、前記符号蓄積手段に蓄えられている関係情報と前記符号語情報蓄積手段に蓄えられている関係情報から復号に最低限必要な復号必要情報を抽出する抽出手段と、
    前記復号必要情報をデータ量が少なくなるように符号化する抽出情報符号化手段と、
    前記符号数制御符号化手段で符号化された符号と、前記符号化された復号必要情報とを出力する出力手段として機能させるためのコンピュータグラフィックスデータ符号化プログラム。
  24. 請求項20または請求項21に記載のコンピュータグラフィックスデータ符号化プログラムを使用して符号化したデータを復号化するためにコンピュータで使用されるコンピュータグラフィックスデータ復号化プログラムにおいて、
    コンピュータを、
    前記符号化されたデータを取得する取得手段と、
    前記符号化された復号必要情報を復号化する抽出情報復号化手段と、
    前記復号化された復号必要情報に基づいて、符号語を復号化するための復号語を得るための復号情報を作成する復号作成手段と、
    前記復号情報を蓄積する蓄積手段と、
    前記エントロピー符号化された符号を、前記復号情報を使用して復号化するエントロピー復号化手段と、
    前記エントロピー復号化手段で復号化されたデータを、符号総数が制御される以前の元データに復号化する元データ復号化手段と、
    前記元データ復号化手段で復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化する後処理復号化手段と、
    前記後処理復号化手段で得られた、前記前処理が行われる以前のデータを出力する出力手段として機能させるためのコンピュータグラフィックスデータ復号化プログラム。
  25. 請求項22または請求項23に記載のコンピュータグラフィックスデータ符号化プログラムを使用して符号化したデータを復号化するためにコンピュータで使用されるコンピュータグラフィックスデータ復号化プログラムにおいて、
    コンピュータを、
    前記符号化されたデータを取得する取得手段と、
    前記符号化された復号必要情報を復号化する抽出情報復号化手段と、
    典型的なデータにおけるエントロピー量の情報であるエントロピー情報と符号語との関係情報を予め蓄えている符号語情報蓄積手段と、
    前記復号化された復号必要情報と、前記符号語情報蓄積手段に蓄えられている関係情報とから、符号語と該符号語に対応する復号語の関係である復号情報を作成する復号作成手段と、
    前記復号情報を蓄積する復号情報蓄積部と、
    前記エントロピー符号化された符号を、前記復号情報を使用して復号化するエントロピー復号化手段と、
    前記エントロピー復号化手段で復号化されたデータを、符号総数が制御される以前の元データに復号化する元データ復号化手段と、
    前記元データ復号化手段で復号化されたデータに、前記前処理とは逆の処理を行い前記前処理が行われる以前のデータに復号化する後処理復号化手段と、
    前記後処理復号化手段で得られた、前記前処理が行われる以前のデータを出力する出力手段として機能させるためのコンピュータグラフィックスデータ復号化プログラム。
JP2005049409A 2005-02-24 2005-02-24 コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法 Expired - Fee Related JP4037875B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005049409A JP4037875B2 (ja) 2005-02-24 2005-02-24 コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法
US11/234,289 US7339583B2 (en) 2005-02-24 2005-09-26 Computer graphics data coding apparatus, decoding apparatus, coding method and decoding method
CN200510131527.9A CN100568284C (zh) 2005-02-24 2005-09-29 计算机图形数据编码装置、解码装置、编码和解码方法
US11/971,499 US7561162B2 (en) 2005-02-24 2008-01-09 Computer graphics data coding apparatus, decoding apparatus, coding method and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005049409A JP4037875B2 (ja) 2005-02-24 2005-02-24 コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法

Publications (2)

Publication Number Publication Date
JP2006238036A true JP2006238036A (ja) 2006-09-07
JP4037875B2 JP4037875B2 (ja) 2008-01-23

Family

ID=36912781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005049409A Expired - Fee Related JP4037875B2 (ja) 2005-02-24 2005-02-24 コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法

Country Status (3)

Country Link
US (2) US7339583B2 (ja)
JP (1) JP4037875B2 (ja)
CN (1) CN100568284C (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5172523B2 (ja) * 2008-07-31 2013-03-27 株式会社東芝 画像データ処理方法、画像データ処理装置及び圧縮回路
JP5367552B2 (ja) * 2009-12-15 2013-12-11 株式会社東芝 画像処理装置および画像処理プログラム
WO2011110003A1 (zh) * 2010-08-24 2011-09-15 华为技术有限公司 二叉树建立、压缩和查找的方法和装置
US20150091805A1 (en) 2013-09-27 2015-04-02 Ayeshwarya Mahajan Run-time image display on a device
US9059731B2 (en) * 2013-10-21 2015-06-16 International Business Machines Corporation Boosting decompression in the presence of reoccurring Huffman trees
SE538512C2 (sv) * 2014-11-26 2016-08-30 Kelicomp Ab Improved compression and encryption of a file

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06315143A (ja) 1993-04-28 1994-11-08 Olympus Optical Co Ltd 画像処理装置
KR100186915B1 (ko) * 1994-07-13 1999-05-01 모리시다 요이치 디지털 부호화 장치 및 디지털 부호 복호화 장치
JPH0918350A (ja) 1995-06-28 1997-01-17 Hitachi Ltd 符号化復号化装置及び符号化復号化方法
US6023301A (en) * 1995-07-14 2000-02-08 Sharp Kabushiki Kaisha Video coding device and video decoding device
JPH1169164A (ja) * 1997-08-21 1999-03-09 Toshiba Corp 画像符号化方法および画像符号化装置および画像復号化装置および画像形成装置
US6420980B1 (en) * 1998-10-06 2002-07-16 Matsushita Electric Industrial Co., Ltd. Lossless compression encoding method and device, and lossless compression decoding method and device
JP2000138933A (ja) 1998-11-02 2000-05-16 Fujitsu Ltd 画像符号化装置
US6643402B1 (en) * 1999-03-23 2003-11-04 Sanyo Electric Co., Ltd Image compression device allowing rapid and highly precise encoding while suppressing code amount of image data after compression
US6658159B1 (en) * 2000-03-17 2003-12-02 Hewlett-Packard Development Company, L.P. Block entropy coding in embedded block coding with optimized truncation image compression
CA2359260C (en) * 2000-10-20 2004-07-20 Samsung Electronics Co., Ltd. Coding apparatus and method for orientation interpolator node
US6947874B2 (en) * 2000-11-16 2005-09-20 Canon Kabushiki Kaisha Entropy coding
US7436329B2 (en) * 2003-04-17 2008-10-14 Droplet Technology, Inc. Multiple technique entropy coding system and method
US7199735B1 (en) * 2005-08-25 2007-04-03 Mobilygen Corporation Method and apparatus for entropy coding

Also Published As

Publication number Publication date
US7561162B2 (en) 2009-07-14
US20080118166A1 (en) 2008-05-22
US20060188166A1 (en) 2006-08-24
US7339583B2 (en) 2008-03-04
CN100568284C (zh) 2009-12-09
JP4037875B2 (ja) 2008-01-23
CN1825355A (zh) 2006-08-30

Similar Documents

Publication Publication Date Title
KR100894002B1 (ko) 선택적 압축과 복원 및 압축 데이터에 대한 데이터 포맷을위한 장치 및 방법
US20110181448A1 (en) Lossless compression
Kavitha A survey on lossless and lossy data compression methods
JP4037875B2 (ja) コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法
US9591334B2 (en) Common copy compression
US20120130965A1 (en) Data compression method
US20150002320A1 (en) Encoding method, information processing apparatus, and recording medium
CN110021369B (zh) 基因测序数据压缩解压方法、系统及计算机可读介质
KR20200007734A (ko) 3d 포인트 클라우드 데이터의 부호화/복호화 방법 및 장치
KR20190040063A (ko) 인덱스 코딩 및 비트 스케줄링을 갖는 양자화기
Rahmani et al. An efficient histogram-based index mapping mechanism for reversible data hiding in VQ-compressed images
US20100321218A1 (en) Lossless content encoding
JP6227186B2 (ja) データ圧縮装置、データ伸張装置、データ圧縮方法、データ伸張方法及びプログラム
CN104380733A (zh) 视频量化参数编码方法、视频量化参数解码方法、设备、以及程序
Mahmud An improved data compression method for general data
US11309909B2 (en) Compression device, decompression device, and method
CN104682966B (zh) 列表数据的无损压缩方法
Konecki et al. Efficiency of lossless data compression
US20220005229A1 (en) Point cloud attribute encoding method and device, and point cloud attribute decoding method and devcie
JP2016052046A (ja) 圧縮装置、伸長装置およびストレージ装置
KR20120013945A (ko) 각각의 심벌이 세 개 이상의 가능한 심벌 값 중 하나를 가질 수 있는 심벌 시퀀스들의 인코딩 및 디코딩에 대한 방법 및 장치
CN109698704B (zh) 比对型基因测序数据解压方法、系统及计算机可读介质
US9558109B2 (en) Method and apparatus for flash memory arithmetic encoding and decoding
Hong et al. On the bitmap compression for joint coding and data hiding of AMBTC compressed images
Huang et al. VQ Coding in Data Hiding Using Correlated Neighboring Blocks in Security Performance

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071001

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071030

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071101

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

Free format text: PAYMENT UNTIL: 20101109

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101109

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111109

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121109

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131109

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees