JP6887232B2 - Coding device, coding method, decoding device and decoding method - Google Patents
Coding device, coding method, decoding device and decoding method Download PDFInfo
- Publication number
- JP6887232B2 JP6887232B2 JP2016170062A JP2016170062A JP6887232B2 JP 6887232 B2 JP6887232 B2 JP 6887232B2 JP 2016170062 A JP2016170062 A JP 2016170062A JP 2016170062 A JP2016170062 A JP 2016170062A JP 6887232 B2 JP6887232 B2 JP 6887232B2
- Authority
- JP
- Japan
- Prior art keywords
- coding
- mantissa
- decoding
- difference
- floating point
- 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.)
- Active
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
本発明は、符号化装置、符号化方法、復号装置および復号方法に関する。 The present invention relates to a coding device, a coding method, a decoding device and a decoding method.
従来から浮動小数の圧縮において、符号化対象となる浮動小数の予測を行い、符号化対象値とその予測値との差分情報を符号化する技術が知られている。浮動小数を構成する符号部、指数部、仮数部のうちの仮数部の符号化において、予測値の仮数部と符号化対象値の仮数部との差分を計算し、差分値に対してコンテキストベースのエントロピー符号化を行う方法がある(例えば、非特許文献1参照)。非特許文献1に記載の技術では、差分の大きさを表す値を求め、その値を仮数部の差分の符号化コンテキストとして利用する。
Conventionally, in the compression of floating point numbers, a technique has been known in which a floating point number to be coded is predicted and the difference information between the coded target value and the predicted value is encoded. In the coding of the mantissa part of the sign part, exponent part, and mantissa part that compose the floating point number, the difference between the mantissa part of the predicted value and the mantissa part of the coded target value is calculated, and the difference value is context-based. There is a method of performing entropy encoding of (see, for example, Non-Patent Document 1). In the technique described in
非特許文献1に記載の方法では、仮数部の差分を符号化する際に仮数部の差分の大きさを表す値をコンテキストとして利用する。したがって、そのようにして得られた符号データを復号可能とするためには、別途仮数部の差分の大きさを表す値を符号化して符号データに含め、復号側では符号化された値を復号してから仮数部の差分を復号する必要がある。これは、符号化効率の低下の原因となりうる。
In the method described in
本発明はこうした課題に鑑みてなされたものであり、その目的は、浮動小数をエントロピー符号化する際にコンテキストを用いた場合でも、仮数部の符号化効率の低下を抑えるか防ぐことができる技術の提供にある。 The present invention has been made in view of these problems, and an object of the present invention is a technique capable of suppressing or preventing a decrease in the coding efficiency of the mantissa even when a context is used when entropy-coding a floating-point number. Is in the offer.
本発明のある態様は符号化装置に関する。この符号化装置は、浮動小数の仮数を抽出する仮数抽出手段と、抽出された仮数を符号化する符号化手段とを、備える。符号化手段は抽出された仮数の位のうちの少なくとも一部の位に対応する固定小数表現の位に基づいて確率モデルを特定し、特定された確率モデルを用いて少なくとも一部の位を符号化する。 One aspect of the present invention relates to a coding device. This coding device includes a mantissa extraction means for extracting a mantissa of a floating point number and a coding means for encoding the extracted mantissa. The coding means identifies the probabilistic model based on the fixed decimal representation of the digits corresponding to at least some of the extracted mantissa digits, and uses the identified probabilistic model to code at least some of the digits. To be.
本発明の別の態様は、復号装置である。この復号装置は、符号化された浮動小数の指数を復号する指数復号手段と、符号化された浮動小数の仮数の位のうちの復号対象の位に対応する固定小数表現の位を復号された指数から決定する決定手段と、決定された固定小数表現の位に基づいて確率モデルを特定し、特定された確率モデルを用いて復号対象の位を復号する仮数復号手段と、を備える。 Another aspect of the present invention is a decoding device. This decoding device decodes the exponential decoding means for decoding the encoded floating-point exponent and the fixed decimal representation digit corresponding to the mantissa digit of the encoded floating-point number to be decoded. It includes a determination means for determining from an exponent, and a mantissa decoding means for specifying a probability model based on the determined place of a fixed decimal representation and decoding the place of the decoding target using the specified probability model.
本発明によれば、浮動小数をエントロピー符号化する際にコンテキストを用いた場合でも、仮数部の符号化効率の低下を抑えるか防ぐことができる。 According to the present invention, even when a context is used when entropy-coding a floating-point number, it is possible to suppress or prevent a decrease in the coding efficiency of the mantissa.
以下、図面を参照して本発明の実施の形態を説明する。ただし、本発明の実施の形態は以下の実施の形態に限定されるものではない。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、各図面において説明上重要ではない部材の一部は省略して表示する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the embodiments of the present invention are not limited to the following embodiments. The same or equivalent components, members, and processes shown in the drawings shall be designated by the same reference numerals, and redundant description will be omitted as appropriate. In addition, some of the members that are not important for explanation are omitted in each drawing.
実施の形態の説明に入る前に、理解を助けるため、広く利用されているIEEE754の浮動小数表現と、コンテキストベースのエントロピー符号化と、について説明する。 Before going into the description of the embodiments, the widely used IEEE754 floating point representation and context-based entropy encoding will be described to aid understanding.
図1は、IEEE754の単精度浮動小数表現を示す説明図である。IEEE754の浮動小数表現では、単精度の場合、図1に示されるように上位1bitが符号部S、次の上位8bitが指数部E、残る23bitが仮数部Mを構成する。S、E、Mを用いて浮動小数Fを表すと以下の式1となる。
図2は、浮動小数の符号部S、指数部E、仮数部Mと実数の対応を示す説明図である。符号部Sは正負を特定し、指数部Eは127であれば[1、2)の区間、128であれば[2、4)の区間といったように2倍ずつ幅の異なる区間を特定し、仮数部Mは特定された区間を更に223分割した内の1区間を特定する。IEEE754の倍精度では指数部が11bit、仮数部が52bitであり、他の表現では指数部が無いものや、基数が2でない等、表現が異なるものも存在する。しかしながら、浮動小数表現の基本的な考え方は上述のとおりである。 FIG. 2 is an explanatory diagram showing the correspondence between the sign unit S, the exponent part E, the mantissa part M, and the real number of the floating point number. The sign part S specifies the positive / negative, and the exponential part E specifies the section having a width different by twice, such as the section [1, 2) if 127 and the section [2, 4) if 128. mantissa M identifies a section of a further 2 23 divides the specified interval. In the double precision of IEEE754, the exponent part is 11 bits and the mantissa part is 52 bits, and there are other expressions having different expressions such as no exponent part and the radix is not 2. However, the basic idea of floating point representation is as described above.
次にコンテキストベースのエントロピー符号化について説明する。エントロピー符号化では、符号化対象となるシンボルの出現確率(確率モデル)に応じて最適な符号を割り振り、データ量を削減する。エントロピー符号化後の1シンボルあたりのデータ量の下限はシンボルのエントロピーであるから、データ量を削減するには、エントロピーが小さくなるようなデータ加工を施すことが重要となる。この時、シンボルの出現確率が偏っている方がエントロピーは小さくなる。エントロピー符号化は例えば、ハフマン符号化、ゴロムライス符号化、算術符号化等を含む。 Next, context-based entropy coding will be described. In entropy coding, the optimum code is assigned according to the appearance probability (probability model) of the symbol to be coded, and the amount of data is reduced. Since the lower limit of the amount of data per symbol after entropy encoding is the entropy of the symbol, it is important to perform data processing so that the entropy becomes small in order to reduce the amount of data. At this time, the entropy becomes smaller when the symbol appearance probability is biased. Entropy coding includes, for example, Huffman coding, Golomulais coding, arithmetic coding and the like.
コンテキストは出現確率の事前条件を表し、適切な事前条件を選べば平均や分散の異なるデータを元のデータ集合から分離することができる。つまり、出現確率を偏りやすくすることができる。したがって、コンテキストの導入によりエントロピーの低減を期待することができる。コンテキストベースのエントロピー符号化では、符号化対象をその意味や状態によって複数のカテゴリに分類し、それぞれにコンテキスト番号を割り当て、コンテキスト番号ごとに管理された出現確率に基づいて符号化対象がエントロピー符号化される。 The context represents a precondition for the probability of occurrence, and if appropriate preconditions are selected, data with different means and variances can be separated from the original data set. That is, the appearance probability can be easily biased. Therefore, the introduction of context can be expected to reduce entropy. In context-based entropy coding, the coding target is classified into multiple categories according to their meaning and state, a context number is assigned to each category, and the coding target is entropy-coded based on the occurrence probability managed for each context number. Will be done.
[第1の実施の形態]
本実施の形態では、符号化対象となる浮動小数とその予測値とが得られた際に、予測値を用いて浮動小数を符号化する。ここでは、浮動小数がIEEE754の単精度で表現されているものとする。しかしながら、浮動小数の表現はIEEE754に限られず、本実施の形態に係る技術的思想はあらゆる浮動小数表現について個々の性質に対応することで適用可能である。
[First Embodiment]
In the present embodiment, when the floating point number to be encoded and the predicted value thereof are obtained, the floating point number is encoded using the predicted value. Here, it is assumed that the floating point number is represented by the single precision of IEEE754. However, the representation of floating point numbers is not limited to IEEE754, and the technical idea according to the present embodiment can be applied to all floating point representations by corresponding to individual properties.
本実施の形態では、浮動小数の仮数部を符号化するためのコンテキストとして、浮動小数の指数部から求めることができる固定小数表現の位を利用する。これにより、符号化対象のコンテキスト分離の性能を落とすことなく、コンテキストのための符号データを無くすことができ、圧縮性能が向上する。 In this embodiment, as a context for coding the mantissa part of the floating point number, the place of the fixed decimal representation that can be obtained from the exponent part of the floating point number is used. As a result, the code data for the context can be eliminated without degrading the performance of the context separation of the coded target, and the compression performance is improved.
図3は、第1の実施の形態に係る符号化装置301の機能及び構成を示すブロック図である。符号化装置301は、符号化対象となる浮動小数Aとその予測値Pとが入力されると、符号化対象となる浮動小数Aの符号データを出力する。符号化装置301は、対象取得部302と、予測取得部303と、符号/指数抽出部304と、仮数抽出部305と、符号/指数差分生成部306と、仮数差分生成部307と、仮数分割部308と、符号化部309と、符号出力部310と、を備える。
FIG. 3 is a block diagram showing the functions and configurations of the
対象取得部302は、符号化対象となる浮動小数Aを取得する。対象取得部302は、取得された浮動小数Aを符号/指数抽出部304および仮数抽出部305に出力する。予測取得部303は、対象取得部302によって取得された浮動小数Aの予測値Pを取得する。予測取得部303は、取得された予測値Pを符号/指数抽出部304および仮数抽出部305に出力する。
The
符号/指数抽出部304は、対象取得部302から出力された浮動小数Aから符号部の値SAおよび指数部の値EAを抽出する。符号/指数抽出部304は、抽出された値SA、EAを符号/指数差分生成部306に出力する。符号/指数抽出部304は、予測取得部303から出力された予測値Pから符号部の値SPおよび指数部の値EPを抽出する。符号/指数抽出部304は、抽出された値SP、EPを符号/指数差分生成部306に出力する。
The code /
仮数抽出部305は、対象取得部302から出力された浮動小数Aから仮数部の値MAを抽出する。仮数抽出部305は、抽出された値MAを仮数差分生成部307に出力する。仮数抽出部305は、予測取得部303から出力された予測値Pから仮数部の値MPを抽出する。仮数抽出部305は、抽出された値MPを仮数差分生成部307に出力する。
The
符号/指数差分生成部306は、浮動小数Aの符号部の値SAと予測値Pの符号部の値SPとの差分を算出する。符号/指数差分生成部306は、浮動小数Aの指数部の値EAと予測値Pの指数部の値EPとの差分を算出する。符号/指数差分生成部306は、算出された符号部の差分と指数部の差分とを表す差分信号SDを仮数差分生成部307に出力する。符号/指数差分生成部306は、差分信号SDと、差分信号SDを符号化するためのコンテキストCTX1とを符号化部309に出力する。差分信号SDおよびコンテキストの取り扱いについては後述する。
The sign / exponential
仮数差分生成部307は、符号/指数差分生成部306によって生成される差分信号SDを監視し、浮動小数Aの符号部、指数部のそれぞれが予測値Pの符号部、指数部と一致するかそうでないかを判定する。仮数差分生成部307は前者の場合、浮動小数Aの仮数部の値MAと予測値Pの仮数部の値MPとの差分MDを算出する。仮数差分生成部307は、算出された仮数部の差分を仮数分割部308に出力する。仮数差分生成部307は後者の場合、差分を算出せずに浮動小数Aの仮数部の値MAをそのまま仮数分割部308に出力する。
The mantissa
仮数分割部308は仮数差分生成部307の出力(仮数部の差分MDまたは浮動小数Aの仮数部の値MA)をビット単位に分割し、コンテキストCTX2と共に符号化部309に出力する。符号化部309は、入力された値のエントロピー符号化において適用されるべき確率モデルをコンテキストにしたがい特定する。符号化部309は、入力された値を特定された確率モデルを用いてエントロピー符号化し、符号出力部310に符号CDを出力する。符号出力部310は入力された符号を出力する。
The
符号化部309は、非特許文献1に記載されているWittenらの「Arithmetic coding for data compression」を利用して実現される。具体的には、符号化部309は非特許文献1のFig.4に記載されている疑似コードにおけるcompress関数に相当し、引数のacがコンテキスト、symが符号化するシンボルを受けとる引数となっている。この疑似コードではコンテキストを表す引数acの型である、ArithmeticCoder構造体がそれぞれシンボルの出現確率を管理する。シンボルを符号化する毎に、選択されたオブジェクトが管理するシンボルの出現確率が更新される。したがって、コンテキスト番号に応じて異なるオブジェクトを渡すことで、コンテキストの分離が実現される。なお、符号化部309における符号化手段は上記に限られず、可逆符号化であれば他の算術符号化やランレングス符号化等を利用して実現されてもよい。
The
図3に示される符号化装置301の各部はハードウェアで構成されてもよいが、ソフトウェア(コンピュータプログラム)として実装されてもよい。この場合、このソフトウェアは、PC(パーソナルコンピュータ)等、一般のコンピュータのメモリにインストールされる。そしてこのコンピュータのCPUがこのインストールされたソフトウェアを実行することで、このコンピュータは、上述の符号化装置301の機能を実現する。
Each part of the
図4は、本実施の形態の符号化装置301のハードウェア構成の例を示すブロック図である。符号化装置301はコンピュータとして実現される。本コンピュータは、CPU1201と、RAM1202と、ROM1203と、キーボード1204と、マウス1205と、表示装置1206と、外部記憶装置1207と、記憶媒体ドライブ1208と、I/F1209と、バス1210と、を備える。CPU1201は、RAM1202やROM1203に格納されているコンピュータプログラムやデータを用いて、コンピュータ全体の制御を行うと共に、符号化装置301の各部が行うものとして説明した上述の各処理を実行する。
FIG. 4 is a block diagram showing an example of the hardware configuration of the
RAM1202は、コンピュータ読み取り可能な記憶媒体の一例である。RAM1202は、外部記憶装置1207や記憶媒体ドライブ1208、更にはネットワークインタフェース(不図示)からロードされたコンピュータプログラムやデータを一時的に記憶するためのエリアを有する。更に、RAM1202は、CPU1201が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM1202は、各種のエリアを適宜提供することができる。特にRAM1202は後述の符号化バッファを含む。ROM1203は、コンピュータ読み取り可能な記憶媒体の一例であり、コンピュータの設定データや、ブートプログラムなどが格納されている。
The
キーボード1204、マウス1205は、コンピュータの操作者が操作することで、各種の指示をCPU1201に対して入力することができる。表示装置1206は、CRTや液晶画面などにより構成されており、CPU1201による処理結果を画像や文字などで表示することができる。
The
外部記憶装置1207は、コンピュータ読み取り記憶媒体の一例であり、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置1207には、OS(オペレーティングシステム)や、図3に示される各処理をCPU1201に実現させるためのコンピュータプログラムやデータ、各種テーブル、データベース等が保存されている。外部記憶装置1207に保存されているコンピュータプログラムやデータは、CPU1201による制御に従って適宜RAM1202にロードされ、CPU1201による処理対象となる。
The
記憶媒体ドライブ1208は、CD−ROMやDVD−ROMなどの記憶媒体に記録されているコンピュータプログラムやデータを読み出し、読み出したコンピュータプログラムやデータを外部記憶装置1207やRAM1202に出力する。なお、外部記憶装置1207に保存されているものとして説明した情報の一部若しくは全部を記憶媒体に記録させておき、記憶媒体ドライブ1208に読み取らせてもよい。
The
I/F1209は、外部から浮動小数等を入力したり、符号データを出力したりするためのインタフェースであり、例えばUSB(Universal Serial Bus)インタフェースである。バス1210は、上述の各部を繋ぐ。
The I /
上述の構成において、本コンピュータの電源がONになると、CPU1201はROM1203に格納されているブートプログラムに従って、外部記憶装置1207からOSをRAM1202にロードする。この結果、キーボード1204、マウス1205を介した情報入力操作が可能となり、表示装置1206にGUIを表示することが可能となる。ユーザが、キーボード1204やマウス1205を操作し、外部記憶装置1207に格納された符号化アプリケーションの起動指示を入力すると、CPU1201はこのプログラムをRAM1202にロードし、実行する。これにより、本コンピュータが符号化装置301として機能することになる。
In the above configuration, when the power of the computer is turned on, the
なお、CPU1201が実行する符号化アプリケーションプログラムは、基本的に図3の符号化装置301に属する各部に相当する関数を備える。ここで、符号化処理結果は外部記憶装置1207に保存される。なお、このコンピュータは、以降の各実施の形態に係る符号化装置、復号装置にも同様に適用可能であることは、以下の説明より明らかである。
The coding application program executed by the
以上の構成による符号化装置301の動作を説明する。
図5は、符号化装置301における一連の処理の流れを示すフローチャートである。S401では、符号化装置301は符号化対象となる浮動小数A及びその予測値Pを取得する。S402では、符号化装置301は浮動小数Aを符号部SA、指数部EA、仮数部MAに分離し、予測値Pを符号部SP、指数部EP、仮数部MPに分離する。S403では、符号化装置301は浮動小数Aの符号部SAおよび指数部EAを符号化する。ここでの符号化方法は、符号部SAおよび指数部EAを復号側で復元できれば任意の方法でよく、符号部SA、指数部EAを独立に符号化してもよいし、依存関係を持って符号化してもよい。符号化方法として例えば非特許文献1に記載されている方法を採用してもよい。非特許文献1では符号部、指数部を用いて得られる符号部と指数部の差分情報を1つの符号にまとめて出力する仕組みが開示されている。この時の符号化コンテキストには、予測値の指数部が利用される。S404では、符号化装置301は浮動小数Aの仮数部MAを符号化する。
The operation of the
FIG. 5 is a flowchart showing a flow of a series of processes in the
図3に示されるブロックと図5に示される処理との対応関係は以下の通りである。S401は対象取得部302及び予測取得部303が行う。S402は符号/指数抽出部304及び仮数抽出部305が行う。S403は符号/指数差分生成部306及び符号化部309が行う。S404は仮数差分生成部307及び仮数分割部308、符号化部309が行う。
The correspondence between the block shown in FIG. 3 and the processing shown in FIG. 5 is as follows. S401 is performed by the
図6は、図5の仮数部MAの符号化ステップS404の詳細を示すフローチャートである。S501では、仮数差分生成部307は浮動小数Aの符号部SAと予測値Pの符号部SPとが一致し、かつ浮動小数Aの指数部EAと予測値Pの指数部EPとが一致するかを判定する。仮数差分生成部307は、符号部および指数部の両方が一致した場合(S501のYES)、S502で仮数部の差分(MD=MA−MP)を算出する。仮数差分生成部307は、一致しない場合(S501のNO)、上記差分MDを算出せずにS504に進む。この理由を説明する。図2に示されるように、浮動小数表現では符号および指数で値のおおまかな領域を特定し、仮数で詳細な値を特定する。したがって、符号および指数で予測に誤りがある場合、仮数の予測も大きく外れる蓋然性が高く、差分を求めることによるエントロピーの低下は期待できない。そこで、本実施の形態では、符号化対象の浮動小数Aの指数部や仮数部が予測値Pのそれと一致しない場合は仮数部の差分の算出を行わないことで処理の無駄を省いている。
FIG. 6 is a flowchart showing the details of the coding step S404 of the mantissa portion MA of FIG. In S501, in the mantissa
仮数部の差分MDは、23bitで表現されるMAと同じく23bitで表現されるMPとの差分であり、24bitで表現される。S503では、仮数差分生成部307は24bitで表現されるMDを、非負の23bit表現MD’に変換する。この変換は可逆かつ前述の性質を満たすものであればよく、例えばモジュロ演算によって実現されてもよい。その後、仮数差分生成部307はMD’を符号化バッファにセットする。符号化バッファは符号化処理用の23bitの作業領域を表す。S504では、仮数差分生成部307は浮動小数Aの仮数部MAを符号化バッファにセットする。S505では、符号化部309は符号化バッファにセットされたMD’またはMAの各ビットを独立に符号化する。この時、下からn番目(nは0以上の整数)のビットのコンテキスト番号をEA+nとする。以下で、コンテキスト番号をEA+nとする理由を述べる。
The difference MD of the mantissa is the difference between the MA expressed in 23 bits and the MP expressed in 23 bits, and is expressed in 24 bits. In S503, the mantissa
非特許文献1において、仮数部の差分の大きさを表す値を符号化する際のコンテキストに符号化対象の浮動小数の指数が利用されている。浮動小数表現では、指数は仮数部に対応する固定小数表現の位を決定する。指数が大きくなる程、仮数部に対応する固定小数表現の位が高くなり、表す値の精度が低下する。すると、固定小数で表現したときの予測精度が一定の場合、浮動小数で表現したときの指数が大きい場合かつ/または仮数におけるより高位の位の方が、予測が当たりやすく、差分が小さくなりやすい。したがって、非特許文献1では、符号化対象の浮動小数の指数部と仮数部の差分の大きさを表す値との相関が高いことから、その指数部をコンテキストに利用している。
In
しかしながら、非特許文献1に記載される手法と同じようにMD’の各ビットの符号化の際に浮動小数Aの指数部EAをコンテキストとして利用すると、コンテキストによる確率モデルの切り替えが適切に行われない。仮数部の予測差分を求める際、下位のビットまで予測を当てることは難しく、仮数部の差分の中で上位の位ほど0となる確率が高く、ある位以下のビットは0と1がランダムに出現するようになる。すなわち、仮数部の差分のなかで上位か下位かによって値の分布、例えば0の出現確率が異なる。したがって、上位ビットと下位ビットとを1つのコンテキストとするのは効率的ではない。
However, if the exponential part EA of the floating point number A is used as a context when coding each bit of MD'as in the method described in
前述したように、固定小数で表現したときの予測精度が常に一定であると仮定すると、仮数部の差分の各ビットの0と1との出現割合はそのビットが対応する固定小数表現の位で決まる。例えば、予測精度が±0.25であるとすれば、固定小数表現で小数第2位(2−2の位)までの差分はほぼ0となり、そこから下位になるにしたがって0と1との出現割合がランダムに近づいていく。この性質から、コンテキストは浮動小数表現の仮数部の着目する位に対応する固定小数表現の位とすればよく、コンテキストをEA+nとするのはこれに対応する。 As described above, assuming that the prediction accuracy when expressed with a fixed decimal is always constant, the appearance ratio of 0 and 1 of each bit of the difference of the mantissa is the place of the fixed decimal representation to which the bit corresponds. It is decided. For example, if the prediction accuracy is ± 0.25, the difference to the second decimal place (2-2 place) in the fixed decimal representation is almost 0, and 0 and 1 become lower from there. The appearance rate approaches randomly. Due to this property, the context may be the position of the fixed decimal representation corresponding to the position of interest in the mantissa part of the floating point representation, and the context is EA + n.
図7は、指数EAとコンテキスト番号と固定小数表現における位との対応を表す表を示す説明図である。m1は指数が127であった時のn=15となるビットを表し、m2は指数が126であった時のn=16となるビットを表す。これらは共に固定小数表現で小数第8位に相当し、コンテキスト番号も同じ142が割り振られる。したがって、m1のビットがエントロピー符号化されるときに使用される確率モデルとm2のビットがエントロピー符号化されるときに使用される確率モデルとは同じになる。 FIG. 7 is an explanatory diagram showing a table showing the correspondence between the exponent EA, the context number, and the place in the fixed decimal representation. m 1 represents a bit at which n = 15 when the exponent is 127, and m 2 represents a bit at n = 16 when the exponent is 126. Both of these are fixed decimal representations and correspond to the eighth decimal place, and 142, which has the same context number, is assigned. Therefore, the probability model used when the bits of m 1 are entropy-encoded and the probability model used when the bits of m 2 are entropy-encoded are the same.
ただし、仮数部の差分を取った場合と取らなかった場合とでは、EA+nが同じ値であっても異なるシンボルの出現確率を持つため、コンテキストの分離が必要となる。これは、EA+nが0から255+22=277の範囲を取るため、差分を取らなかった場合にのみ上記のコンテキスト番号に278を足すことで実現される。 However, it is necessary to separate the contexts when the difference between the mantissa parts is taken and when the difference is not taken, because different symbols have different appearance probabilities even if EA + n has the same value. Since EA + n takes the range of 0 to 255 + 22 = 277, this is realized by adding 278 to the above context number only when no difference is taken.
また、着目する位よりも上位の位が全て0であったか否かでもシンボルの出現確率が異なる。上位の位が全て0である場合は、符号化対象となるシンボルが0となる確率が高く、そうでない場合はランダムに近い確率となることが予測される。したがって、着目する位よりも上位の位が全て0であったか否かでもコンテキストの分離を行う。 In addition, the probability of appearance of the symbol differs depending on whether or not all the positions higher than the position of interest are 0. If all the high-order digits are 0, the probability that the symbol to be encoded becomes 0 is high, and if not, it is predicted that the probability is close to random. Therefore, the context is separated depending on whether or not all the positions higher than the position of interest are 0.
上述のように、浮動小数の仮数部の符号化のためのコンテキストを、仮数部の差分の大きさではなく、既に符号化済みの指数部に依存させることで、コンテキストのために別途符号を出力しなくても復号時にコンテキストを再現することができる。その結果、効率的に浮動小数の仮数部の符号化を行うことができる。 As mentioned above, by making the context for coding the mantissa part of the floating point depend on the already encoded exponent part instead of the magnitude of the difference in the mantissa part, a separate sign is output for the context. The context can be reproduced at the time of decoding without doing so. As a result, the mantissa part of the floating point number can be coded efficiently.
また、本実施の形態に係る符号化装置301によると、コンテキストのための符号データを別途出力する必要のないコンテキストベースのエントロピー符号化が実現される。したがって、仮数部の符号化効率の低下を抑えるか防ぐことができる。
Further, according to the
なお、第1の実施の形態では、簡単のために仮数部が全て固定小数表現の小数位に対応する場合を説明したが、これに限られず、仮数部が整数位に対応する場合でも、同様にコンテキストの分離を行うことができる。 In the first embodiment, for the sake of simplicity, the case where all the mantissa parts correspond to the decimal place of the fixed decimal place has been described, but the present invention is not limited to this, and the same applies to the case where the mantissa part corresponds to the decimal place. Context separation can be done.
[第2の実施の形態]
第2の実施の形態に係る復号装置は、第1の実施の形態に係る符号化装置301による符号化の結果得られる符号データを復号し、浮動小数Aを再構成する。本例では符号化装置301で浮動小数Aの仮数部MAがそのまま符号化された結果得られる符号データを復号する場合を説明する。浮動小数Aの仮数部の差分MDに対応する符号データを復号するための構成は、本明細書に触れた当業者には自明な本実施の形態の拡張である。
[Second Embodiment]
The decoding device according to the second embodiment decodes the code data obtained as a result of the coding by the
図8は、第2の実施の形態に係る復号装置150の機能及び構成を示すブロック図である。復号装置150は、符号データ取得部151と、指数復号部152と、小数位決定部153と、仮数復号部154と、を備える。
FIG. 8 is a block diagram showing the functions and configurations of the
符号データ取得部151は、符号化装置301によって生成された符号データを取得する。指数復号部152は、符号データ取得部151によって取得された符号データから、符号部および指数部を復号する。小数位決定部153は、符号データから復号対象とする仮数部の位を選択する。小数位決定部153は、選択された復号対象の位に対応する固定小数表現の位を、指数復号部152における復号により得られた指数から決定する。仮数復号部154は、小数位決定部153によって決定された固定小数表現の位に基づいて確率モデルを特定し、特定された確率モデルを用いて復号対象の位を復号する。
The code
図9は、図8の復号装置150における一連の処理の流れを示すフローチャートである。S951では、符号データ取得部151は符号データを取得する。S952では、指数復号部152は取得された符号データの符号部および指数部を復号する。S953では、小数位決定部153は符号データの仮数部の位のなかから復号対象の位を選択する。S954では、小数位決定部153は、ステップS952で得られた指数にステップS953で選択された復号対象の位の桁数を加えることで、復号対象の位に対応する固定小数表現の位を決定する。S955では、仮数復号部154は、決定された固定小数表現の位に基づいてコンテキスト番号を決定する。S956では、仮数復号部154は、決定されたコンテキスト番号に対応する確率モデルを使用して、復号対象の位を復号する。S957では、仮数復号部154は仮数部の全ての位が復号されたか否かを判定する。復号されていない位が残っていれば処理はステップS953に戻る。全ての位が復号されていれば、S958で復号装置150は復号された符号部、指数部、仮数部で表現される浮動小数Aを出力する。
FIG. 9 is a flowchart showing a flow of a series of processes in the
本実施の形態に係る復号装置150によると、復号の際にコンテキストのために別途符号を復号しなくてもコンテキストを再現することができる。その結果、効率的に浮動小数の仮数部の復号を行うことができる。
According to the
[第3の実施の形態]
第1の実施の形態では23bitで表される値を符号化バッファにセットし、各ビット独立に二値信号として符号化する場合について説明した。第3の実施の形態では、23bitの値を3つのパーティションに分割することで、仮数部について多値信号として符号化する。
[Third Embodiment]
In the first embodiment, a case where a value represented by 23 bits is set in the coding buffer and each bit is independently encoded as a binary signal has been described. In the third embodiment, the 23-bit value is divided into three partitions, so that the mantissa is encoded as a multi-valued signal.
本実施の形態と第1の実施の形態との差異は主に、仮数分割部308及び符号化部309が行う符号化バッファの値を符号化する処理(図6のステップS505)である。以下では、図6のステップS505に相当する処理の詳細を説明する。それ以外の処理や構成は第1の実施の形態に準じる。
The difference between the present embodiment and the first embodiment is mainly the process of coding the value of the coding buffer performed by the
第3の実施の形態に係る仮数分割部は、符号化バッファに登録されたの23bitの値を上位8bit、中位8bit、下位7ビットの3つのパーティションに分割する。すなわち、23bitの下から数えて7番目のビットと8番目のビットとの間にパーティションの境界があり、15番目のビットと16番目のビットとの間に別のパーティションの境界がある。なお、分割の仕方はこれに限られず任意でよく、例えば13bitと12bitとの2分割としてもよく、または4つ以上のパーティションに分割してもよい。 The mantissa division unit according to the third embodiment divides the 23-bit value registered in the coding buffer into three partitions of upper 8 bits, middle 8 bits, and lower 7 bits. That is, there is a partition boundary between the 7th bit and the 8th bit counting from the bottom of 23 bits, and another partition boundary between the 15th bit and the 16th bit. The method of division is not limited to this, and may be arbitrarily divided into, for example, two divisions of 13 bits and 12 bits, or may be divided into four or more partitions.
第3の実施の形態の符号化部は、それぞれのパーティションを符号化する際には、最下位ビットに対応する固定小数表現の位をコンテキストとして処理する。したがって、下位7ビットにはEA、中位8ビットにはEA+7、上位8bitにはEA+15のコンテキスト番号が割り当てられる。ただし、8ビットである上位・中位ビットと7ビットである下位ビットとは桁数が異なるため、独立のコンテキストとして扱ってもよい。符号化部における符号化方法は第1の実施の形態における符号化方法に準じる。 When encoding each partition, the coding unit of the third embodiment processes the place of the fixed decimal representation corresponding to the least significant bit as a context. Therefore, a context number of EA is assigned to the lower 7 bits, EA + 7 is assigned to the middle 8 bits, and EA + 15 is assigned to the upper 8 bits. However, since the upper / middle bits, which are 8 bits, and the lower bits, which are 7 bits, have different numbers of digits, they may be treated as independent contexts. The coding method in the coding unit conforms to the coding method in the first embodiment.
本実施の形態では符号化処理を8ビットまたは7ビットの多値シンボルに対して行うため、隣接するビット間の相関関係を利用した符号化を実現することができる。その結果、第1の実施の形態よりも符号化性能の向上を期待することができる。更に、代替となる符号化方法は算術符号化に加えて、ゴロムライス符号やハフマン符号やZIP圧縮等のユニバーサル符号化を含み、より扱いやすくなる。 In the present embodiment, since the coding process is performed on an 8-bit or 7-bit multi-valued symbol, it is possible to realize coding using the correlation between adjacent bits. As a result, it can be expected that the coding performance will be improved as compared with the first embodiment. Further, the alternative coding method includes universal coding such as Golomlayis code, Huffman code, ZIP compression, etc. in addition to arithmetic coding, which makes it easier to handle.
例えば、ハフマン符号化でコンテキスト分離を行う場合には、コンテキスト毎にハフマンテーブルを構築する方法や、シンボルをコンテキスト毎に独立に符号化する方法等がある。 For example, when performing context separation by Huffman coding, there are a method of constructing a Huffman table for each context, a method of encoding symbols independently for each context, and the like.
第3の実施の形態に係る符号化装置によると、コンピュータ処理の上で扱いやすい8bitに近い符号化単位で値を処理することができ、処理効率を高めることができる。更に、符号化性能の向上も期待できる。 According to the coding apparatus according to the third embodiment, the value can be processed in a coding unit close to 8 bits, which is easy to handle in computer processing, and the processing efficiency can be improved. Further, improvement in coding performance can be expected.
なお、下位7ビットについては、上位8ビットや中位8ビットよりも予測が当たりにくいので、仮数差分生成部は下位7ビットについては浮動小数Aの仮数部MAと予測値Pの仮数部MPとの差分を生成しなくてもよい。 Since it is harder to predict the lower 7 bits than the upper 8 bits and the middle 8 bits, the mantissa difference generator uses the mantissa part MA of the floating point A and the mantissa part MP of the predicted value P for the lower 7 bits. It is not necessary to generate the difference of.
[第4の実施の形態]
第4の実施の形態では、第1または第3の実施の形態で説明した符号化装置を利用して、3Dポリゴンの頂点座標の符号化を行う。本実施の形態で扱う3Dポリゴンは三角形パッチの集合として表現されている。各パッチは面情報及び頂点座標で構成されており、これらを合わせて形状情報と呼ぶ。
[Fourth Embodiment]
In the fourth embodiment, the apex coordinates of the 3D polygon are coded by using the coding device described in the first or third embodiment. The 3D polygons handled in this embodiment are represented as a set of triangular patches. Each patch is composed of surface information and vertex coordinates, and these are collectively called shape information.
図10(A)は、面情報の説明図である。図10(B)は、頂点座標の説明図である。1つの三角形パッチを表現するには三角形の頂点の座標を指定する必要がある。ただし、3Dポリゴンにおいては複数の三角形が同一の頂点座標を共有しているため、重複のない頂点座標をリストとして管理し、各三角形はその頂点を参照するための頂点IDを持つ。具体的には各三角形の頂点のIDは図10(A)に示されるテーブルによって管理される。頂点座標は図10(B)に示される各頂点の座標のXYZ成分を保持するテーブルによって管理される。ここで、頂点IDは4バイトの符号なし整数、頂点座標はIEEE754の単精度浮動小数(4バイト)で表現される。 FIG. 10A is an explanatory diagram of surface information. FIG. 10B is an explanatory diagram of vertex coordinates. To represent one triangle patch, it is necessary to specify the coordinates of the vertices of the triangle. However, in the 3D polygon, since a plurality of triangles share the same vertex coordinates, the unique vertex coordinates are managed as a list, and each triangle has a vertex ID for referring to the vertex. Specifically, the IDs of the vertices of each triangle are managed by the table shown in FIG. 10 (A). The vertex coordinates are managed by a table that holds the XYZ components of the coordinates of each vertex shown in FIG. 10 (B). Here, the vertex ID is represented by a 4-byte unsigned integer, and the vertex coordinates are represented by a single-precision floating point (4 bytes) of IEEE754.
図11は、第4の実施の形態に係る3D処理装置800の機能及び構成を示すブロック図である。3D処理装置800は、形状情報取得部801と、面情報抽出部802と、頂点座標抽出部803と、面情報符号化部804と、頂点座標予測部805と、浮動小数符号化部806と、符号出力部807と、3Dデータ生成部808と、を備える。
FIG. 11 is a block diagram showing the functions and configurations of the
3Dデータ生成部808は、ユーザ入力等に基づき3Dポリゴンを生成する。3Dデータ生成部808は、3Dポリゴンを表す形状情報を図10(A)や図10(B)に示されるテーブルの形で生成する。形状情報取得部801は3Dデータ生成部808によって生成された形状情報を取得し、取得された形状情報を面情報抽出部802及び頂点座標抽出部803に出力する。面情報抽出部802は、形状情報取得部801によって取得された形状情報から面情報を抽出し、符号化しやすいデータ構造に変換する。面情報抽出部802は、変換後のデータを面情報符号化部804に出力する。頂点座標抽出部803は、形状情報取得部801によって取得された形状情報から頂点座標を抽出する。頂点座標抽出部803は、抽出された頂点座標を頂点座標予測部805及び浮動小数符号化部806に出力する。
The 3D
面情報符号化部804は面情報抽出部802によって抽出された面情報を符号化し、符号データを符号出力部807に出力すると共に、符号化の際に構築された面や頂点の隣接関係や頂点の符号化順などの補助情報を頂点座標予測部805に出力する。頂点座標予測部805は補助情報を基に各頂点の座標をそれよりも先に符号化される頂点の座標から予測する。頂点座標予測部805は、予測の結果得られる各頂点の予測座標を浮動小数符号化部806に出力する。浮動小数符号化部806は頂点座標予測部805から入力された予測座標を利用して、先に得られた順に頂点座標抽出部803から入力された浮動小数を符号化し、符号データを符号出力部807に出力する。浮動小数符号化部806は図3の符号化装置301に対応する。符号出力部807は入力された符号データを多重化して外部に出力する。
The surface
以上の構成による3D処理装置800の動作を説明する。
図12は、3D処理装置800における一連の処理の流れを示すフローチャートである。S901では、3D処理装置800は形状情報を取得する。S902では、3D処理装置800は形状情報から面情報を抽出し、抽出された面情報を符号化する。面情報の符号化については多くの技術が提案されている。例えば、Toumaらよる「Triangle Mesh Compression」や、Mamouらによる「TFAN:A low complexity 3D mesh compression algorithm」等が用いられてもよい。
The operation of the
FIG. 12 is a flowchart showing a flow of a series of processes in the
S903では、3D処理装置800は頂点座標の符号化順に基づいた予測頂点座標を生成する。頂点座標の予測は単純なものであれば直前に符号化された頂点座標を予測とすることができる。ほかにも非特許文献1で説明されている平行四辺形予測(parallelogram prediction)を利用してもよい。S904では、3D処理装置800は予測頂点座標を用いて頂点座標を符号化する。S905では、3D処理装置800は符号データを出力する。
In S903, the
図11のブロックと図12の処理との対応関係は以下の通りである。S901は形状情報取得部801が行う。S902は面情報抽出部802及び面情報符号化部804が行う。S903は頂点座標抽出部803及び頂点座標予測部805が行う。S904は浮動小数符号化部806が行う。S904は符号出力部807が行う。
The correspondence between the block of FIG. 11 and the process of FIG. 12 is as follows. S901 is performed by the shape
第4の実施の形態に係る3D処理装置800によると、3Dポリゴンの処理において、第1または第3の実施の形態に係る符号化装置によって奏される作用効果と同様の作用効果が奏される。
According to the
[第4の実施の形態の変形例]
第4の実施の形態に適した符号化装置の改良方法について述べる。第4の実施の形態では3D形状情報の頂点座標を符号化装置への入力としている。頂点座標は3D空間内の3つのコンポーネント(X、Y、Z)の浮動小数から成り、各コンポーネントで浮動小数の密度や出現範囲が異なる。したがって、コンポーネント毎に出現するシンボルの分布が異なる。したがって、本変形例では、XYZのコンポーネント毎に符号化時のコンテキストを分離する。
[Modified example of the fourth embodiment]
A method for improving the coding apparatus suitable for the fourth embodiment will be described. In the fourth embodiment, the vertex coordinates of the 3D shape information are input to the coding device. The vertex coordinates consist of floating point numbers of three components (X, Y, Z) in 3D space, and each component has a different density and appearance range of the floating point numbers. Therefore, the distribution of symbols that appear for each component is different. Therefore, in this modification, the coding context is separated for each XYZ component.
また、3D形状情報の頂点座標に多くみられる性質として、固定小数表現で考えた時にある位以下が浮動小数の表現範囲(仮数部で表現できる範囲)であっても必ず0となる場合がある。図13は、横軸に固定小数表現の小数位(5ならば小数第5位)、縦軸に1の出現確率(ここでは二進数表現を前提とするため、1でなければ0)をプロットした図である。これはNASAが公開しているNASA 3D ResourcesのCassini(http://nasa3d.arc.nasa.gov/detail/cassini)から抽出した頂点座標のXコンポーネントを基に算出した。小数第31位以下が全て0となっている。その他、スタンフォード大学が公開しているデータセットでも同様の性質が確認された。この要因としては、アスキーとバイナリとのデータ変換による情報欠損、CADデータ処理効率化のための近似処理、形状取得センサの精度限界等が考えられる。 In addition, as a property often seen in the vertex coordinates of 3D shape information, even if the representation range of floating point numbers (the range that can be represented by the mantissa part) is below a certain number when considered in fixed decimal representation, it may always be 0. .. In FIG. 13, the horizontal axis plots the decimal place of the fixed decimal representation (if 5 is the fifth decimal place), and the vertical axis plots the probability of occurrence of 1 (here, since binary representation is assumed, 0 if it is not 1). It is a figure that was made. This was calculated based on the X component of the vertex coordinates extracted from Cassini (http://nasa3d.arc.nasa.gov/dateil/cassini) of NASA 3D Resources published by NASA. All the numbers below the 31st decimal place are 0. Other similar properties were confirmed in the dataset published by Stanford University. Possible factors for this include information loss due to data conversion between ASCII and binary, approximation processing for improving CAD data processing efficiency, and the accuracy limit of the shape acquisition sensor.
したがって、cassiniのデータに関して言えば、仮数の小数第31位以下に相当する位は差分を取る必要が無い。本来、仮数の差分を取って符号化を行う場合、差分データにおいても小数第31位以下は必ず0となるはずである。しかしながら、差分情報の冗長性を無くすためのモジュロ演算により、符号化時に小数第31位以下に相当する位に1の信号が出現する場合が生じうる。このため差分を取ることで符号化効率が低下しうる。 Therefore, when it comes to Cassini data, it is not necessary to take a difference between the 31st and lower decimal places of the mantissa. Originally, when coding by taking the difference of the mantissa, even in the difference data, the 31st decimal place and below should always be 0. However, due to the modulo operation for eliminating the redundancy of the difference information, a signal of 1 may appear at a position corresponding to the 31st decimal place or less at the time of coding. Therefore, the coding efficiency can be lowered by taking the difference.
上記の事情を鑑みて、浮動小数の符号化処理において、所定の位より下の位に関して差分を取らない仕組みを取り入れる。処理としては、図6に示されるS502、S503を図14のS1101〜S1108に置き換える。図14は、変形例に係る差分情報の生成処理の流れを示すフローチャートである。 In view of the above circumstances, in the floating point coding process, a mechanism that does not take a difference with respect to the digits below the predetermined digit is adopted. As a process, S502 and S503 shown in FIG. 6 are replaced with S1101 to S1108 of FIG. FIG. 14 is a flowchart showing the flow of the difference information generation process according to the modified example.
差分をとる、とらないの閾となる特定の位を管理するための変数としてTminを定義し、Tminの初期値を277とする。S1101では、本変形例に係る仮数差分生成部は、G=Tmin−EAを求める。ただし、Gが0より小さい場合はGを0とし、Gが23より大きい場合はGを23とする。S1102では、仮数差分生成部は、MAの上位(23−G)ビットとMPの上位(23−G)ビットとの差分を算出し、算出結果ををDUとする。S1103では、仮数差分生成部は、DUを可逆な非負の(23−G)ビットの表現DUmに変換する。S1104では、仮数差分生成部は、DUmを符号化バッファの上位(23−G)ビットにセットし、MAの下位Gビットを符号化バッファの下位Gビットにセットする。S1105では、仮数差分生成部は、値が1となるMAの位のなかで最下位の位のビットである最下位ビットbminを特定する。S1106では、仮数差分生成部は、tmin=EA+bminによりtminを算出する。S1107では、仮数差分生成部はtminとTminとを比較する。tmin<Tminのとき、S1108で仮数差分生成部はTmin=tminとしてTminを更新する。S1107でtmin≧TminのときまたはS1108における処理の後、処理は終了する。 T min is defined as a variable for managing a specific place that is a threshold for taking a difference, and the initial value of T min is set to 277. In S1101, the mantissa difference generation unit according to this modification obtains G = T min −EA. However, if G is smaller than 0, G is set to 0, and if G is larger than 23, G is set to 23. In S1102, the mantissa difference generation unit calculates a difference between the upper (23-G) high order bits (23-G) bit and MP of MA, the calculation result to D U. In S1103, the mantissa difference generation unit converts the D U reversible non-negative in (23-G) bit representations D Um. In S1104, the mantissa difference generator sets DUm in the upper (23-G) bit of the coding buffer and sets the lower G bit of MA in the lower G bit of the coding buffer. In S1105, the mantissa difference generation unit specifies the least significant bit b min , which is the least significant bit among the MA digits having a value of 1. In S1106, the mantissa difference generation unit calculates a t min by t min = EA + b min. In S1107, the mantissa difference generator compares t min with T min. When t min <T min , the mantissa difference generator updates T min in S1108 with T min = t min. The process ends when t min ≥ T min in S1107 or after the process in S1108.
本変形例の処理によると、固定小数で暫定的に全て0であった位に対しては、差分を取らずに符号化を行うことができ、符号化効率の低下を抑えるまたは防ぐことができる。なお、本変形例では頂点座標の符号化を行う毎に差分を取らない範囲を更新する場合を説明したが、これに限られない。例えば、仮数の下位7ビットは差分を取らず、上位16ビットは差分を取るようにするなど、固定的に差分を取らない位を決定してもよい。 According to the processing of this modification, it is possible to perform coding without taking a difference for a fixed decimal place that is provisionally all 0s, and it is possible to suppress or prevent a decrease in coding efficiency. .. In this modification, the case where the range where the difference is not taken is updated every time the vertex coordinates are coded has been described, but the present invention is not limited to this. For example, the lower 7 bits of the mantissa may not take a difference, and the upper 16 bits may take a difference.
第4の実施の形態では浮動小数の符号化装置を用いて3D形状情報を圧縮する方法が実現される。また、3D形状情報特有の性質に応じた改良も可能である。このような構成により、下位ビットの情報が欠損した浮動小数に対しても、効率を落とすことなく浮動小数の予測符号化を実現することができる。 In the fourth embodiment, a method of compressing 3D shape information using a floating point encoding device is realized. Further, it is possible to make improvements according to the properties peculiar to 3D shape information. With such a configuration, it is possible to realize predictive coding of floating-point numbers without reducing efficiency even for floating-point numbers in which the information of the lower bits is missing.
以上、実施の形態に係る装置の構成と動作について説明した。これらの実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。 The configuration and operation of the apparatus according to the embodiment have been described above. It will be understood by those skilled in the art that these embodiments are examples, and that various modifications are possible for each of the components and combinations of each process, and that such modifications are also within the scope of the present invention. ..
第4の実施の形態では、3D形状の頂点座標の符号化について説明したが、これに限られず、符号化対象が浮動小数で表現されていて、その予測値を求めることができるアプリケーションに第4の実施の形態に係る技術的思想を適用できる。例えば、3D形状のテクスチャを表現するテクスチャマップ(UVマップ)や法線ベクトル、浮動小数表現されたHDR画像、距離画像、更には音声データを扱うシステムにも、第4の実施の形態に係る技術的思想を適用できる。 In the fourth embodiment, the coding of the apex coordinates of the 3D shape has been described, but the present invention is not limited to this, and the fourth embodiment is applied to an application in which the object to be coded is represented by a floating point number and its predicted value can be obtained. The technical idea relating to the embodiment of the above can be applied. For example, a texture map (UV map) expressing a texture of a 3D shape, a normal vector, an HDR image expressed by a floating point number, a distance image, and a system for handling audio data are also included in the technique according to the fourth embodiment. The idea can be applied.
第4の実施の形態では、3DデータのXYZの3つのコンポーネント毎にコンテキストの分離を行ったが、これに限られず、例えばHDR画像ならRGBやCMYなどの色空間コンポーネント毎にコンテキストの分離を行ってもよい。 In the fourth embodiment, the context is separated for each of the three components of XYZ of the 3D data, but the present invention is not limited to this. For example, in the case of an HDR image, the context is separated for each color space component such as RGB or CMY. You may.
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other Examples)
The present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
301 符号化装置、 302 対象取得部、 303 予測取得部、 304 符号/指数抽出部、 305 仮数抽出部、 306 符号/指数差分生成部、 307 仮数差分生成部、 308 仮数分割部、 309 符号化部、 310 符号出力部。 301 Encoding device, 302 Target acquisition unit, 303 Prediction acquisition unit, 304 Sign / exponential extraction unit, 305 Mantissa extraction unit, 306 Sign / exponential difference generation unit, 307 Mantissa difference generation unit, 308 Mantissa division unit, 309 Coding unit , 310 Code output unit.
Claims (13)
抽出された前記仮数を符号化する符号化手段とを、備え、
前記符号化手段は抽出された前記仮数の位のうちの少なくとも一部の位に対応する固定小数表現の位に基づいて確率モデルを特定し、特定された確率モデルを用いて前記少なくとも一部の位を符号化する符号化装置。 Mantissa extraction means for extracting mantissa of floating point numbers,
A coding means for encoding the extracted mantissa is provided.
The coding means identifies a probabilistic model based on the fixed decimal place corresponding to at least a part of the extracted mantissa places, and uses the identified probabilistic model to identify at least a part of the probabilistic model. A coding device that encodes a place.
前記符号化手段は前記複数のパーティションのうちのひとつのパーティションに対応する固定小数表現の位に基づいて確率モデルを特定し、特定された確率モデルを用いて前記ひとつのパーティションを符号化する請求項1に記載の符号化装置。 Further provided with a mantissa dividing means for dividing the extracted mantissa into a plurality of partitions at one or more boundaries.
A claim that the coding means identifies a probabilistic model based on a fixed decimal place corresponding to one of the plurality of partitions, and encodes the one partition using the identified probabilistic model. The coding apparatus according to 1.
前記符号化手段は符号化対象が抽出された前記仮数であるか生成された前記差分であるかによって確率モデルを切り替える請求項1から4のいずれか1項に記載の符号化装置。 Further provided with a difference generation means for acquiring the predicted value of the mantissa of the floating point number and generating the difference between the extracted mantissa and the predicted value.
The coding device according to any one of claims 1 to 4 , wherein the coding means switches a probability model depending on whether the coding target is the extracted mantissa or the generated difference.
前記符号化手段は抽出された前記仮数の位のうちの少なくとも一部の位に対応する固定小数表現の位に基づいて、前記エントロピー符号化における確率モデルを特定する請求項1から7のいずれか1項に記載の符号化装置。 The coding means entropy-codes the extracted mantissa.
The coding means is any of claims 1 to 7 , which specifies a probabilistic model in the entropy coding based on the fixed decimal representation corresponding to at least a part of the extracted mantissa digits. The coding apparatus according to item 1.
抽出された前記仮数を符号化する符号化ステップとを、含み、
前記符号化ステップは抽出された前記仮数の位のうちの少なくとも一部の位に対応する固定小数表現の位に基づいて確率モデルを特定し、特定された確率モデルを用いて前記少なくとも一部の位を符号化するステップを含む符号化方法。 A mantissa extraction step to extract a floating point mantissa,
Includes a coding step that encodes the extracted mantissa.
The coding step identifies a probabilistic model based on the fixed decimal representations corresponding to at least some of the extracted mantissa digits, and uses the identified probabilistic model to identify at least some of the probabilistic models. A coding method that includes a step of coding a place.
符号化された浮動小数の仮数の位のうちの復号対象の位に対応する固定小数表現の位を復号された指数から決定する決定手段と、
決定された固定小数表現の位に基づいて確率モデルを特定し、特定された確率モデルを用いて前記復号対象の位を復号する仮数復号手段と、を備える復号装置。 An exponential decoding means that decodes the coded floating point exponent,
A determinant that determines from the decoded exponent the place of the fixed decimal representation corresponding to the place to be decoded among the mantissa digits of the encoded floating point number.
A decoding device including a mantissa decoding means that identifies a probabilistic model based on a determined fixed decimal representation and decodes the digit of the decoding target using the identified probabilistic model.
符号化された浮動小数の仮数の位のうちの復号対象の位に対応する固定小数表現の位を復号された指数から決定する決定ステップと、
決定された固定小数表現の位に基づいて確率モデルを特定し、特定された確率モデルを用いて前記復号対象の位を復号する仮数復号ステップと、を含む復号方法。 An exponential decoding step that decodes the encoded floating point exponent,
A determination step to determine the fixed decimal representation of the encoded floating-point mantissa digit corresponding to the decoding target digit from the decoded exponent,
A decoding method including a mantissa decoding step of identifying a probabilistic model based on a determined fixed decimal representation and decoding the digit of the decoding target using the identified probabilistic model.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016170062A JP6887232B2 (en) | 2016-08-31 | 2016-08-31 | Coding device, coding method, decoding device and decoding method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016170062A JP6887232B2 (en) | 2016-08-31 | 2016-08-31 | Coding device, coding method, decoding device and decoding method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2018037891A JP2018037891A (en) | 2018-03-08 |
| JP6887232B2 true JP6887232B2 (en) | 2021-06-16 |
Family
ID=61567885
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016170062A Active JP6887232B2 (en) | 2016-08-31 | 2016-08-31 | Coding device, coding method, decoding device and decoding method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6887232B2 (en) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4749983A (en) * | 1986-04-29 | 1988-06-07 | International Business Machines Corporation | Compression of multilevel signals |
| JPH08162966A (en) * | 1994-12-02 | 1996-06-21 | Nippon Steel Corp | Audio data encoding device and decoding device |
| JP4721072B2 (en) * | 2008-02-12 | 2011-07-13 | 株式会社アクセル | Polygon data compression and decompression system |
| JP2011175542A (en) * | 2010-02-25 | 2011-09-08 | Fujitsu Ltd | Image data processor |
| CN104412512B (en) * | 2012-06-21 | 2017-05-24 | 三菱电机株式会社 | Encoding device, decoding device, encoding method, and decoding method |
-
2016
- 2016-08-31 JP JP2016170062A patent/JP6887232B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2018037891A (en) | 2018-03-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110996098B (en) | Method and device for processing point cloud data | |
| JP6826368B2 (en) | Encoding device and its control method | |
| KR101739156B1 (en) | Method for encoding floating-point data, method for decoding floating-point data, and corresponding encoder and decoder | |
| JP7261300B2 (en) | Method, Apparatus, and Computer Program for Adaptive Point Cloud Attribute Coding | |
| Lindstrom et al. | Fast and efficient compression of floating-point data | |
| CN101919254B (en) | Prediction-based image processing | |
| US10796458B2 (en) | Compression of point clouds via a novel hybrid coder | |
| JP7742731B2 (en) | Parallel decompression of compressed data streams | |
| Žalik et al. | Chain code lossless compression using move-to-front transform and adaptive run-length encoding | |
| GB2558314A (en) | Improved attribute mapping to encode and decode 3D models | |
| RU2567988C2 (en) | Encoder, method of encoding data, decoder, method of decoding data, system for transmitting data, method of transmitting data and programme product | |
| GB2561824A (en) | Encoding and decoding of geometry data in a 3D model based on evaluated regularity of the model | |
| CN107251438B (en) | Data compression device and method, data decompression device and method, and recording medium | |
| CN112616058B (en) | Video encoding or decoding method, apparatus, computer device, and storage medium | |
| JP6887232B2 (en) | Coding device, coding method, decoding device and decoding method | |
| JP2009077177A5 (en) | ||
| CN103746701A (en) | Rapid encoding option selecting method applied to Rice lossless data compression | |
| JP4037875B2 (en) | Computer graphics data encoding device, decoding device, encoding method, and decoding method | |
| US9558109B2 (en) | Method and apparatus for flash memory arithmetic encoding and decoding | |
| US9245352B1 (en) | Systems and methods for near lossless image compression | |
| Liu et al. | A versatile compression method for floating-point data stream | |
| Chen et al. | Lossless Geometry Compression for Floating-Point Data in Steady-State and Time-Varying Fields over Irregular Grids | |
| JP4131969B2 (en) | Data compression apparatus and data compression program | |
| Zhou et al. | An entropy coding method for floating-point texture coordinates of 3D mesh | |
| JP2006352547A5 (en) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190809 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200825 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200911 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201104 |
|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |
|
| 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: 20210419 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210518 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 6887232 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |