Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6887232B2 - Coding device, coding method, decoding device and decoding method - Google Patents
[go: Go Back, main page]

JP6887232B2 - Coding device, coding method, decoding device and decoding method - Google Patents

Coding device, coding method, decoding device and decoding method Download PDF

Info

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
Application number
JP2016170062A
Other languages
Japanese (ja)
Other versions
JP2018037891A (en
Inventor
智一 佐藤
智一 佐藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016170062A priority Critical patent/JP6887232B2/en
Publication of JP2018037891A publication Critical patent/JP2018037891A/en
Application granted granted Critical
Publication of JP6887232B2 publication Critical patent/JP6887232B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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 Non-Patent Document 1, a value representing the magnitude of the difference is obtained, and the value is used as a coding context for the difference in the mantissa.

Isenburg, Martin, Peter Lindstrom, and Jack Snoeyink. 「Lossless compression of predicted floating−point geometry.」 Computer−Aided Design 37.8 (2005): 869−877.Isenburg, Martin, Peter Lindstrom, and Jack Snoeyink. "Lossless compression of pressed floating-point geometry." Computer-Aided Design 37.8 (2005): 869-877.

非特許文献1に記載の方法では、仮数部の差分を符号化する際に仮数部の差分の大きさを表す値をコンテキストとして利用する。したがって、そのようにして得られた符号データを復号可能とするためには、別途仮数部の差分の大きさを表す値を符号化して符号データに含め、復号側では符号化された値を復号してから仮数部の差分を復号する必要がある。これは、符号化効率の低下の原因となりうる。 In the method described in Non-Patent Document 1, a value representing the magnitude of the difference in the mantissa is used as a context when encoding the difference in the mantissa. Therefore, in order to make the code data obtained in this way decodable, a value representing the magnitude of the difference in the mantissa part is separately encoded and included in the code data, and the coded value is decoded on the decoding side. After that, it is necessary to decode the difference of the mantissa. This can cause a decrease in coding efficiency.

本発明はこうした課題に鑑みてなされたものであり、その目的は、浮動小数をエントロピー符号化する際にコンテキストを用いた場合でも、仮数部の符号化効率の低下を抑えるか防ぐことができる技術の提供にある。 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.

IEEE754の単精度浮動小数表現を示す説明図。Explanatory drawing which shows the single precision floating point representation of IEEE754. 浮動小数の符号部、指数部、仮数部と実数の対応を示す説明図。An explanatory diagram showing the correspondence between the sign part, the exponent part, the mantissa part and the real number of the floating point number. 第1の実施の形態に係る符号化装置の機能及び構成を示すブロック図。The block diagram which shows the function and structure of the coding apparatus which concerns on 1st Embodiment. 図3の符号化装置のハードウェア構成の例を示すブロック図。The block diagram which shows the example of the hardware composition of the coding apparatus of FIG. 図3の符号化装置における一連の処理の流れを示すフローチャート。The flowchart which shows the flow of a series of processing in the coding apparatus of FIG. 図5の仮数部の符号化ステップの詳細を示すフローチャート。The flowchart which shows the detail of the coding step of the mantissa part of FIG. 指数とコンテキスト番号と固定小数表現における位との対応を表す表を示す説明図。An explanatory diagram showing a table showing the correspondence between an exponent, a context number, and a place in a fixed decimal representation. 第2の実施の形態に係る復号装置の機能及び構成を示すブロック図。The block diagram which shows the function and structure of the decoding apparatus which concerns on 2nd Embodiment. 図8の復号装置における一連の処理の流れを示すフローチャート。The flowchart which shows the flow of a series of processing in the decoding apparatus of FIG. 図10(A)は、面情報の説明図、図10(B)は、頂点座標の説明図。FIG. 10A is an explanatory diagram of surface information, and FIG. 10B is an explanatory diagram of vertex coordinates. 第4の実施の形態に係る3D処理装置の機能及び構成を示すブロック図。The block diagram which shows the function and structure of the 3D processing apparatus which concerns on 4th Embodiment. 3D処理装置における一連の処理の流れを示すフローチャート。The flowchart which shows the flow of a series of processing in a 3D processing apparatus. 横軸に固定小数表現の小数位、縦軸に1の出現確率をプロットした図。The figure which plotted the decimal place of the fixed decimal representation on the horizontal axis and the appearance probability of 1 on the vertical axis. 変形例に係る差分情報の生成処理の流れを示すフローチャート。The flowchart which shows the flow of the generation process of the difference information which concerns on a modification.

以下、図面を参照して本発明の実施の形態を説明する。ただし、本発明の実施の形態は以下の実施の形態に限定されるものではない。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、各図面において説明上重要ではない部材の一部は省略して表示する。 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となる。

Figure 0006887232
FIG. 1 is an explanatory diagram showing a single precision floating point representation of IEEE 754. In the floating point representation of IEEE754, in the case of single precision, the upper 1 bit constitutes the sign unit S, the next upper 8 bits constitutes the exponential part E, and the remaining 23 bits form the mantissa part M, as shown in FIG. When the floating point number F is expressed using S, E, and M, the following equation 1 is obtained.
Figure 0006887232

図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 coding device 301 according to the first embodiment. When the floating point number A to be encoded and the predicted value P thereof are input, the coding device 301 outputs the code data of the floating point number A to be encoded. The coding device 301 includes a target acquisition unit 302, a prediction acquisition unit 303, a code / exponential extraction unit 304, a mantissa extraction unit 305, a code / exponential difference generation unit 306, a mantissa difference generation unit 307, and a mantissa division. A unit 308, a coding unit 309, and a code output unit 310 are provided.

対象取得部302は、符号化対象となる浮動小数Aを取得する。対象取得部302は、取得された浮動小数Aを符号/指数抽出部304および仮数抽出部305に出力する。予測取得部303は、対象取得部302によって取得された浮動小数Aの予測値Pを取得する。予測取得部303は、取得された予測値Pを符号/指数抽出部304および仮数抽出部305に出力する。 The target acquisition unit 302 acquires a floating point number A to be encoded. The target acquisition unit 302 outputs the acquired floating point number A to the sign / exponential extraction unit 304 and the mantissa extraction unit 305. The prediction acquisition unit 303 acquires the predicted value P of the floating point number A acquired by the target acquisition unit 302. The prediction acquisition unit 303 outputs the acquired predicted value P to the code / exponential extraction unit 304 and the mantissa extraction unit 305.

符号/指数抽出部304は、対象取得部302から出力された浮動小数Aから符号部の値SAおよび指数部の値EAを抽出する。符号/指数抽出部304は、抽出された値SA、EAを符号/指数差分生成部306に出力する。符号/指数抽出部304は、予測取得部303から出力された予測値Pから符号部の値SPおよび指数部の値EPを抽出する。符号/指数抽出部304は、抽出された値SP、EPを符号/指数差分生成部306に出力する。 The code / exponential extraction unit 304 extracts the value SA of the code unit and the value EA of the exponent unit from the floating point number A output from the target acquisition unit 302. The code / exponential extraction unit 304 outputs the extracted values SA and EA to the code / exponential difference generation unit 306. The code / exponential extraction unit 304 extracts the value SP of the code unit and the value EP of the exponent unit from the predicted value P output from the prediction acquisition unit 303. The code / exponential extraction unit 304 outputs the extracted values SP and EP to the code / exponential difference generation unit 306.

仮数抽出部305は、対象取得部302から出力された浮動小数Aから仮数部の値MAを抽出する。仮数抽出部305は、抽出された値MAを仮数差分生成部307に出力する。仮数抽出部305は、予測取得部303から出力された予測値Pから仮数部の値MPを抽出する。仮数抽出部305は、抽出された値MPを仮数差分生成部307に出力する。 The mantissa extraction unit 305 extracts the value MA of the mantissa from the floating point A output from the target acquisition unit 302. The mantissa extraction unit 305 outputs the extracted value MA to the mantissa difference generation unit 307. The mantissa extraction unit 305 extracts the value MP of the mantissa from the predicted value P output from the prediction acquisition unit 303. The mantissa extraction unit 305 outputs the extracted value MP to the mantissa difference generation unit 307.

符号/指数差分生成部306は、浮動小数Aの符号部の値SAと予測値Pの符号部の値SPとの差分を算出する。符号/指数差分生成部306は、浮動小数Aの指数部の値EAと予測値Pの指数部の値EPとの差分を算出する。符号/指数差分生成部306は、算出された符号部の差分と指数部の差分とを表す差分信号SDを仮数差分生成部307に出力する。符号/指数差分生成部306は、差分信号SDと、差分信号SDを符号化するためのコンテキストCTX1とを符号化部309に出力する。差分信号SDおよびコンテキストの取り扱いについては後述する。 The sign / exponential difference generation unit 306 calculates the difference between the value SA of the sign part of the floating point number A and the value SP of the sign part of the predicted value P. The sign / exponential difference generation unit 306 calculates the difference between the value EA of the exponential part of the floating point number A and the value EP of the exponent part of the predicted value P. The code / exponential difference generation unit 306 outputs a difference signal SD representing the calculated difference of the code unit and the difference of the exponent unit to the mantissa difference generation unit 307. The code / exponential difference generation unit 306 outputs the difference signal SD and the context CTX1 for coding the difference signal SD to the coding unit 309. The handling of the difference signal SD and the context will be described later.

仮数差分生成部307は、符号/指数差分生成部306によって生成される差分信号SDを監視し、浮動小数Aの符号部、指数部のそれぞれが予測値Pの符号部、指数部と一致するかそうでないかを判定する。仮数差分生成部307は前者の場合、浮動小数Aの仮数部の値MAと予測値Pの仮数部の値MPとの差分MDを算出する。仮数差分生成部307は、算出された仮数部の差分を仮数分割部308に出力する。仮数差分生成部307は後者の場合、差分を算出せずに浮動小数Aの仮数部の値MAをそのまま仮数分割部308に出力する。 The mantissa difference generation unit 307 monitors the difference signal SD generated by the code / exponential difference generation unit 306, and whether the sign part and the exponent part of the floating point A match the sign part and the exponent part of the predicted value P, respectively. Determine if this is not the case. In the former case, the mantissa difference generation unit 307 calculates the difference MD between the value MA of the mantissa part of the floating point A and the value MP of the mantissa part of the predicted value P. The mantissa difference generation unit 307 outputs the calculated difference of the mantissa part to the mantissa division unit 308. In the latter case, the mantissa difference generation unit 307 outputs the value MA of the mantissa part of the floating point A to the mantissa division unit 308 as it is without calculating the difference.

仮数分割部308は仮数差分生成部307の出力(仮数部の差分MDまたは浮動小数Aの仮数部の値MA)をビット単位に分割し、コンテキストCTX2と共に符号化部309に出力する。符号化部309は、入力された値のエントロピー符号化において適用されるべき確率モデルをコンテキストにしたがい特定する。符号化部309は、入力された値を特定された確率モデルを用いてエントロピー符号化し、符号出力部310に符号CDを出力する。符号出力部310は入力された符号を出力する。 The mantissa division unit 308 divides the output of the mantissa difference generation unit 307 (the difference MD of the mantissa part or the value MA of the mantissa part of the floating point A) into bit units and outputs it to the coding unit 309 together with the context CTX2. The coding unit 309 specifies the probabilistic model to be applied in the entropy coding of the input value according to the context. The coding unit 309 entropy-codes the input value using the specified probability model, and outputs the code CD to the code output unit 310. The code output unit 310 outputs the input code.

符号化部309は、非特許文献1に記載されているWittenらの「Arithmetic coding for data compression」を利用して実現される。具体的には、符号化部309は非特許文献1のFig.4に記載されている疑似コードにおけるcompress関数に相当し、引数のacがコンテキスト、symが符号化するシンボルを受けとる引数となっている。この疑似コードではコンテキストを表す引数acの型である、ArithmeticCoder構造体がそれぞれシンボルの出現確率を管理する。シンボルを符号化する毎に、選択されたオブジェクトが管理するシンボルの出現確率が更新される。したがって、コンテキスト番号に応じて異なるオブジェクトを渡すことで、コンテキストの分離が実現される。なお、符号化部309における符号化手段は上記に限られず、可逆符号化であれば他の算術符号化やランレングス符号化等を利用して実現されてもよい。 The coding unit 309 is realized by utilizing "Arithmetic coding for data compression" of Witten et al. Described in Non-Patent Document 1. Specifically, the coding unit 309 is described in Fig. 1 of Non-Patent Document 1. Corresponds to the compress function in the pseudo code described in 4, and the argument ac is the argument that receives the context and the sym is the argument that receives the symbol to be encoded. In this pseudo code, the ArithmeticCoder structure, which is a type of the argument ac representing the context, manages the appearance probability of each symbol. Each time the symbol is encoded, the probability of occurrence of the symbol managed by the selected object is updated. Therefore, by passing different objects according to the context number, context separation is realized. The coding means in the coding unit 309 is not limited to the above, and if it is lossless coding, it may be realized by using other arithmetic coding, run length coding, or the like.

図3に示される符号化装置301の各部はハードウェアで構成されてもよいが、ソフトウェア(コンピュータプログラム)として実装されてもよい。この場合、このソフトウェアは、PC(パーソナルコンピュータ)等、一般のコンピュータのメモリにインストールされる。そしてこのコンピュータのCPUがこのインストールされたソフトウェアを実行することで、このコンピュータは、上述の符号化装置301の機能を実現する。 Each part of the coding apparatus 301 shown in FIG. 3 may be composed of hardware, but may be implemented as software (computer program). In this case, this software is installed in the memory of a general computer such as a PC (personal computer). Then, when the CPU of this computer executes the installed software, this computer realizes the function of the above-mentioned coding device 301.

図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 coding device 301 of the present embodiment. The coding device 301 is realized as a computer. The computer includes a CPU 1201, a RAM 1202, a ROM 1203, a keyboard 1204, a mouse 1205, a display device 1206, an external storage device 1207, a storage medium drive 1208, an I / F 1209, and a bus 1210. The CPU 1201 controls the entire computer by using the computer programs and data stored in the RAM 1202 and the ROM 1203, and also executes the above-described processes described as those performed by each part of the coding device 301.

RAM1202は、コンピュータ読み取り可能な記憶媒体の一例である。RAM1202は、外部記憶装置1207や記憶媒体ドライブ1208、更にはネットワークインタフェース(不図示)からロードされたコンピュータプログラムやデータを一時的に記憶するためのエリアを有する。更に、RAM1202は、CPU1201が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM1202は、各種のエリアを適宜提供することができる。特にRAM1202は後述の符号化バッファを含む。ROM1203は、コンピュータ読み取り可能な記憶媒体の一例であり、コンピュータの設定データや、ブートプログラムなどが格納されている。 The RAM 1202 is an example of a computer-readable storage medium. The RAM 1202 has an area for temporarily storing computer programs and data loaded from an external storage device 1207, a storage medium drive 1208, and a network interface (not shown). Further, the RAM 1202 has a work area used by the CPU 1201 to execute various processes. That is, the RAM 1202 can appropriately provide various areas. In particular, the RAM 1202 includes a coding buffer described later. The ROM 1203 is an example of a computer-readable storage medium, and stores computer setting data, a boot program, and the like.

キーボード1204、マウス1205は、コンピュータの操作者が操作することで、各種の指示をCPU1201に対して入力することができる。表示装置1206は、CRTや液晶画面などにより構成されており、CPU1201による処理結果を画像や文字などで表示することができる。 The keyboard 1204 and the mouse 1205 can be operated by a computer operator to input various instructions to the CPU 1201. The display device 1206 is composed of a CRT, a liquid crystal screen, or the like, and can display the processing result by the CPU 1201 as an image, characters, or the like.

外部記憶装置1207は、コンピュータ読み取り記憶媒体の一例であり、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置1207には、OS(オペレーティングシステム)や、図3に示される各処理をCPU1201に実現させるためのコンピュータプログラムやデータ、各種テーブル、データベース等が保存されている。外部記憶装置1207に保存されているコンピュータプログラムやデータは、CPU1201による制御に従って適宜RAM1202にロードされ、CPU1201による処理対象となる。 The external storage device 1207 is an example of a computer-reading storage medium, and is a large-capacity information storage device typified by a hard disk drive device. The external storage device 1207 stores an OS (operating system), computer programs and data for realizing each process shown in FIG. 3 in the CPU 1201, various tables, a database, and the like. The computer programs and data stored in the external storage device 1207 are appropriately loaded into the RAM 1202 according to the control by the CPU 1201, and are processed by the CPU 1201.

記憶媒体ドライブ1208は、CD−ROMやDVD−ROMなどの記憶媒体に記録されているコンピュータプログラムやデータを読み出し、読み出したコンピュータプログラムやデータを外部記憶装置1207やRAM1202に出力する。なお、外部記憶装置1207に保存されているものとして説明した情報の一部若しくは全部を記憶媒体に記録させておき、記憶媒体ドライブ1208に読み取らせてもよい。 The storage medium drive 1208 reads out computer programs and data recorded on a storage medium such as a CD-ROM or DVD-ROM, and outputs the read computer programs and data to an external storage device 1207 or RAM 1202. It should be noted that a part or all of the information described as being stored in the external storage device 1207 may be recorded in the storage medium and read by the storage medium drive 1208.

I/F1209は、外部から浮動小数等を入力したり、符号データを出力したりするためのインタフェースであり、例えばUSB(Universal Serial Bus)インタフェースである。バス1210は、上述の各部を繋ぐ。 The I / F 1209 is an interface for inputting a floating point number or the like from the outside and outputting code data, and is, for example, a USB (Universal Social Bus) interface. The bus 1210 connects the above-mentioned parts.

上述の構成において、本コンピュータの電源が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 CPU 1201 loads the OS from the external storage device 1207 into the RAM 1202 according to the boot program stored in the ROM 1203. As a result, the information input operation can be performed via the keyboard 1204 and the mouse 1205, and the GUI can be displayed on the display device 1206. When the user operates the keyboard 1204 or the mouse 1205 and inputs the start instruction of the coding application stored in the external storage device 1207, the CPU 1201 loads the program into the RAM 1202 and executes it. As a result, the computer functions as the coding device 301.

なお、CPU1201が実行する符号化アプリケーションプログラムは、基本的に図3の符号化装置301に属する各部に相当する関数を備える。ここで、符号化処理結果は外部記憶装置1207に保存される。なお、このコンピュータは、以降の各実施の形態に係る符号化装置、復号装置にも同様に適用可能であることは、以下の説明より明らかである。 The coding application program executed by the CPU 1201 basically includes a function corresponding to each part belonging to the coding device 301 of FIG. Here, the coding process result is stored in the external storage device 1207. It is clear from the following description that this computer can be similarly applied to the coding device and the decoding device according to each of the following embodiments.

以上の構成による符号化装置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 coding device 301 with the above configuration will be described.
FIG. 5 is a flowchart showing a flow of a series of processes in the coding apparatus 301. In S401, the coding device 301 acquires the floating point number A to be coded and its predicted value P. In S402, the coding device 301 separates the floating point number A into the sign unit SA, the exponent part EA, and the mantissa part MA, and separates the predicted value P into the sign part SP, the exponent part EP, and the mantissa part MP. In S403, the coding device 301 encodes the code portion SA and the exponent portion EA of the floating point number A. The coding method here may be any method as long as the code portion SA and the exponential part EA can be restored on the decoding side, and the code part SA and the exponential part EA may be coded independently or may be coded with a dependency relationship. It may be converted. As the coding method, for example, the method described in Non-Patent Document 1 may be adopted. Non-Patent Document 1 discloses a mechanism for collectively outputting the difference information between the code portion and the exponent part obtained by using the code part and the exponent part into one code. The exponent part of the predicted value is used for the coding context at this time. In S404, the coding device 301 encodes the mantissa portion MA of the floating point A.

図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 target acquisition unit 302 and the prediction acquisition unit 303. S402 is performed by the code / exponential extraction unit 304 and the mantissa extraction unit 305. S403 is performed by the code / exponential difference generation unit 306 and the coding unit 309. S404 is performed by the mantissa difference generation unit 307, the mantissa division unit 308, and the coding unit 309.

図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 difference generation unit 307, does the sign part SA of the floating point A and the sign part SP of the predicted value P match, and does the exponent part EA of the floating point A and the exponent part EP of the predicted value P match? To judge. The mantissa difference generation unit 307 calculates the difference in the mantissa part (MD = MA-MP) in S502 when both the sign part and the exponent part match (YES in S501). If the mantissa difference generation unit 307 does not match (NO in S501), the mantissa difference generation unit 307 proceeds to S504 without calculating the difference MD. The reason for this will be explained. As shown in FIG. 2, in floating point representation, a rough region of a value is specified by a sign and an exponent, and a detailed value is specified by a mantissa. Therefore, if there is an error in the prediction of the sign and exponent, it is highly probable that the prediction of the mantissa will be significantly different, and it cannot be expected that the entropy will decrease by obtaining the difference. Therefore, in the present embodiment, when the exponent part and the mantissa part of the floating point number A to be coded do not match those of the predicted value P, the difference in the mantissa part is not calculated to eliminate the waste of processing.

仮数部の差分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 difference generation unit 307 converts the MD represented by 24 bits into the non-negative 23 bit representation MD'. This conversion may be reversible and satisfy the above-mentioned properties, and may be realized by, for example, a modulo operation. After that, the mantissa difference generation unit 307 sets MD'in the coding buffer. The coding buffer represents a 23-bit work area for coding processing. In S504, the mantissa difference generation unit 307 sets the mantissa part MA of the floating point A in the coding buffer. In S505, the coding unit 309 independently encodes each bit of MD'or MA set in the coding buffer. At this time, the context number of the nth bit from the bottom (n is an integer of 0 or more) is EA + n. The reason for setting the context number to EA + n will be described below.

非特許文献1において、仮数部の差分の大きさを表す値を符号化する際のコンテキストに符号化対象の浮動小数の指数が利用されている。浮動小数表現では、指数は仮数部に対応する固定小数表現の位を決定する。指数が大きくなる程、仮数部に対応する固定小数表現の位が高くなり、表す値の精度が低下する。すると、固定小数で表現したときの予測精度が一定の場合、浮動小数で表現したときの指数が大きい場合かつ/または仮数におけるより高位の位の方が、予測が当たりやすく、差分が小さくなりやすい。したがって、非特許文献1では、符号化対象の浮動小数の指数部と仮数部の差分の大きさを表す値との相関が高いことから、その指数部をコンテキストに利用している。 In Non-Patent Document 1, a floating-point exponent to be encoded is used as a context for encoding a value representing the magnitude of the difference in the mantissa. In floating point representation, the exponent determines the place of the fixed decimal representation corresponding to the mantissa. The larger the exponent, the higher the place of the fixed decimal representation corresponding to the mantissa, and the lower the precision of the represented value. Then, when the prediction accuracy when expressed as a fixed decimal is constant, when the exponent when expressed as a floating point is large and / or the higher place in the mantissa is, the prediction is easier to hit and the difference is likely to be smaller. .. Therefore, in Non-Patent Document 1, since the correlation between the exponent part of the floating point number to be encoded and the value representing the magnitude of the difference between the mantissa part is high, the exponent part is used as the context.

しかしながら、非特許文献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 Non-Patent Document 1, the probability model is appropriately switched depending on the context. Absent. When finding the prediction difference of the mantissa, it is difficult to predict even the lower bits, and the higher the difference in the mantissa, the higher the probability that it will be 0. Will appear. That is, the distribution of values, for example, the probability of occurrence of 0 differs depending on whether the difference in the mantissa is higher or lower. Therefore, it is not efficient to have the high-order bit and the low-order bit as one context.

前述したように、固定小数で表現したときの予測精度が常に一定であると仮定すると、仮数部の差分の各ビットの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とコンテキスト番号と固定小数表現における位との対応を表す表を示す説明図である。mは指数が127であった時のn=15となるビットを表し、mは指数が126であった時のn=16となるビットを表す。これらは共に固定小数表現で小数第8位に相当し、コンテキスト番号も同じ142が割り振られる。したがって、mのビットがエントロピー符号化されるときに使用される確率モデルとmのビットがエントロピー符号化されるときに使用される確率モデルとは同じになる。 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 coding device 301 according to the present embodiment, context-based entropy coding that does not require the code data for the context to be output separately is realized. Therefore, it is possible to suppress or prevent a decrease in the coding efficiency of the mantissa.

なお、第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 coding device 301 according to the first embodiment, and reconstructs the floating point number A. In this example, the case where the mantissa part MA of the floating point number A is encoded as it is by the coding apparatus 301 and the code data obtained as a result is decoded will be described. The configuration for decoding the code data corresponding to the difference MD of the mantissa part of the floating point A is an extension of the present embodiment which is obvious to those skilled in the art who have touched the present specification.

図8は、第2の実施の形態に係る復号装置150の機能及び構成を示すブロック図である。復号装置150は、符号データ取得部151と、指数復号部152と、小数位決定部153と、仮数復号部154と、を備える。 FIG. 8 is a block diagram showing the functions and configurations of the decoding device 150 according to the second embodiment. The decoding device 150 includes a code data acquisition unit 151, an exponential decoding unit 152, a decimal place determination unit 153, and a mantissa decoding unit 154.

符号データ取得部151は、符号化装置301によって生成された符号データを取得する。指数復号部152は、符号データ取得部151によって取得された符号データから、符号部および指数部を復号する。小数位決定部153は、符号データから復号対象とする仮数部の位を選択する。小数位決定部153は、選択された復号対象の位に対応する固定小数表現の位を、指数復号部152における復号により得られた指数から決定する。仮数復号部154は、小数位決定部153によって決定された固定小数表現の位に基づいて確率モデルを特定し、特定された確率モデルを用いて復号対象の位を復号する。 The code data acquisition unit 151 acquires the code data generated by the coding device 301. The exponential decoding unit 152 decodes the code unit and the exponential unit from the code data acquired by the code data acquisition unit 151. The decimal place determination unit 153 selects the place of the mantissa part to be decoded from the code data. The decimal place determination unit 153 determines the place of the fixed decimal representation corresponding to the selected decimal place of the decoding target from the exponent obtained by the decoding by the exponential decoding unit 152. The mantissa decoding unit 154 specifies a probability model based on the place of the fixed decimal representation determined by the decimal place determination unit 153, and decodes the place to be decoded using the specified probability model.

図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 decoding device 150 of FIG. In S951, the code data acquisition unit 151 acquires the code data. In S952, the exponential decoding unit 152 decodes the code unit and the exponential unit of the acquired code data. In S953, the decimal place determination unit 153 selects the place to be decoded from the mantissa part of the code data. In S954, the decimal place determination unit 153 determines the place of the fixed decimal representation corresponding to the place of the decoding target by adding the number of digits of the digit of the decoding target selected in step S953 to the exponent obtained in step S952. To do. In S955, the mantissa decoding unit 154 determines the context number based on the determined place of the fixed decimal representation. In S956, the mantissa decoding unit 154 decodes the digit to be decoded using the probability model corresponding to the determined context number. In S957, the mantissa decoding unit 154 determines whether or not all the digits of the mantissa part have been decoded. If the undecrypted position remains, the process returns to step S953. If all the digits have been decoded, the decoding device 150 outputs the floating point number A represented by the decoded code part, exponent part, and mantissa part in S958.

本実施の形態に係る復号装置150によると、復号の際にコンテキストのために別途符号を復号しなくてもコンテキストを再現することができる。その結果、効率的に浮動小数の仮数部の復号を行うことができる。 According to the decoding device 150 according to the present embodiment, the context can be reproduced without decoding the code separately for the context at the time of decoding. As a result, the mantissa part of the floating point number can be efficiently decoded.

[第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 mantissa division unit 308 and the coding unit 309 (step S505 in FIG. 6). Hereinafter, the details of the process corresponding to step S505 of FIG. 6 will be described. Other processes and configurations are in accordance with the first embodiment.

第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 processing apparatus 800 according to the fourth embodiment. The 3D processing device 800 includes a shape information acquisition unit 801, a surface information extraction unit 802, a vertex coordinate extraction unit 803, a surface information coding unit 804, a vertex coordinate prediction unit 805, a floating fraction coding unit 806, and the like. A code output unit 807 and a 3D data generation unit 808 are provided.

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 data generation unit 808 generates 3D polygons based on user input or the like. The 3D data generation unit 808 generates shape information representing a 3D polygon in the form of a table shown in FIGS. 10 (A) and 10 (B). The shape information acquisition unit 801 acquires the shape information generated by the 3D data generation unit 808, and outputs the acquired shape information to the surface information extraction unit 802 and the vertex coordinate extraction unit 803. The surface information extraction unit 802 extracts surface information from the shape information acquired by the shape information acquisition unit 801 and converts it into a data structure that is easy to encode. The surface information extraction unit 802 outputs the converted data to the surface information coding unit 804. The vertex coordinate extraction unit 803 extracts the vertex coordinates from the shape information acquired by the shape information acquisition unit 801. The vertex coordinate extraction unit 803 outputs the extracted vertex coordinates to the vertex coordinate prediction unit 805 and the floating point coding unit 806.

面情報符号化部804は面情報抽出部802によって抽出された面情報を符号化し、符号データを符号出力部807に出力すると共に、符号化の際に構築された面や頂点の隣接関係や頂点の符号化順などの補助情報を頂点座標予測部805に出力する。頂点座標予測部805は補助情報を基に各頂点の座標をそれよりも先に符号化される頂点の座標から予測する。頂点座標予測部805は、予測の結果得られる各頂点の予測座標を浮動小数符号化部806に出力する。浮動小数符号化部806は頂点座標予測部805から入力された予測座標を利用して、先に得られた順に頂点座標抽出部803から入力された浮動小数を符号化し、符号データを符号出力部807に出力する。浮動小数符号化部806は図3の符号化装置301に対応する。符号出力部807は入力された符号データを多重化して外部に出力する。 The surface information coding unit 804 encodes the surface information extracted by the surface information extraction unit 802, outputs the code data to the code output unit 807, and at the same time, the adjacency relationship and vertices of the surfaces and vertices constructed at the time of coding. Auxiliary information such as the coding order of is output to the vertex coordinate prediction unit 805. The vertex coordinate prediction unit 805 predicts the coordinates of each vertex from the coordinates of the vertices encoded earlier based on the auxiliary information. The vertex coordinate prediction unit 805 outputs the predicted coordinates of each vertex obtained as a result of the prediction to the floating point coding unit 806. The floating point coding unit 806 uses the predicted coordinates input from the apex coordinate prediction unit 805 to encode the floating point input from the apex coordinate extraction unit 803 in the order obtained earlier, and encodes the code data into a code output unit. Output to 807. The floating point coding unit 806 corresponds to the coding device 301 of FIG. The code output unit 807 multiplexes the input code data and outputs it to the outside.

以上の構成による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 3D processing apparatus 800 with the above configuration will be described.
FIG. 12 is a flowchart showing a flow of a series of processes in the 3D processing apparatus 800. In S901, the 3D processing device 800 acquires shape information. In S902, the 3D processing apparatus 800 extracts surface information from the shape information and encodes the extracted surface information. Many techniques have been proposed for coding surface information. For example, "Triangle Mesh Compression" by Touma et al., "TFAN: A low complexity 3D mesh compression algorithm" by Mamoo et al., Etc. may be used.

S903では、3D処理装置800は頂点座標の符号化順に基づいた予測頂点座標を生成する。頂点座標の予測は単純なものであれば直前に符号化された頂点座標を予測とすることができる。ほかにも非特許文献1で説明されている平行四辺形予測(parallelogram prediction)を利用してもよい。S904では、3D処理装置800は予測頂点座標を用いて頂点座標を符号化する。S905では、3D処理装置800は符号データを出力する。 In S903, the 3D processing apparatus 800 generates predicted vertex coordinates based on the coding order of the vertex coordinates. If the prediction of the vertex coordinates is simple, the vertex coordinates encoded immediately before can be used as the prediction. Alternatively, the parallelogram prediction described in Non-Patent Document 1 may be used. In S904, the 3D processing apparatus 800 encodes the vertex coordinates using the predicted vertex coordinates. In S905, the 3D processing device 800 outputs code data.

図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 information acquisition unit 801. S902 is performed by the surface information extraction unit 802 and the surface information coding unit 804. S903 is performed by the vertex coordinate extraction unit 803 and the vertex coordinate prediction unit 805. S904 is performed by the floating point encoding unit 806. The code output unit 807 performs S904.

第4の実施の形態に係る3D処理装置800によると、3Dポリゴンの処理において、第1または第3の実施の形態に係る符号化装置によって奏される作用効果と同様の作用効果が奏される。 According to the 3D processing apparatus 800 according to the fourth embodiment, in the processing of the 3D polygon, the same effects as those exerted by the coding apparatus according to the first or third embodiment are exhibited. ..

[第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)ビットとの差分を算出し、算出結果ををDとする。S1103では、仮数差分生成部は、Dを可逆な非負の(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.
前記符号化手段は前記ひとつのパーティションのなかの最下位の位に対応する固定小数表現の位に基づいて確率モデルを特定する請求項2に記載の符号化装置。 The coding device according to claim 2, wherein the coding means specifies a probabilistic model based on a fixed decimal place corresponding to the lowest place in the one partition. 前記符号化手段は前記浮動小数の指数と前記ひとつのパーティションのなかの最下位の位の桁数とから対応する固定小数表現の位を取得する請求項3に記載の符号化装置。 The coding device according to claim 3, wherein the coding means obtains a corresponding fixed decimal place from the floating point exponent and the number of digits of the lowest place in the one partition. 前記浮動小数の仮数の予測値を取得し、抽出された前記仮数と前記予測値との差分を生成する差分生成手段をさらに備え、
前記符号化手段は符号化対象が抽出された前記仮数であるか生成された前記差分であるかによって確率モデルを切り替える請求項1からのいずれか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.
前記差分生成手段は、抽出された前記仮数の所定の位以下の位については差分を生成しない請求項に記載の符号化装置。 The coding device according to claim 5 , wherein the difference generating means does not generate a difference for the extracted digits below a predetermined place of the mantissa. 前記差分生成手段は、抽出された前記仮数の位のうち、固定小数表現における所定の位に対応する位以下の位については差分を生成しない請求項に記載の符号化装置。 The coding device according to claim 5 , wherein the difference generating means does not generate a difference among the extracted mantissa digits below the digit corresponding to the predetermined decimal place in the fixed decimal representation. 前記符号化手段は抽出された前記仮数をエントロピー符号化し、
前記符号化手段は抽出された前記仮数の位のうちの少なくとも一部の位に対応する固定小数表現の位に基づいて、前記エントロピー符号化における確率モデルを特定する請求項1からのいずれか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.
コンピュータを請求項1乃至のいずれか1項に記載の符号化置として機能させるためのプログラム。 Program for operating as a coding equipment according to the computer in any one of claims 1 to 8. コンピュータを請求項10に記載の復号装置として機能させるためのプログラム。 A program for operating a computer as the decoding device according to claim 10.
JP2016170062A 2016-08-31 2016-08-31 Coding device, coding method, decoding device and decoding method Active JP6887232B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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