JP7139897B2 - 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、復号プログラム - Google Patents
符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、復号プログラム Download PDFInfo
- Publication number
- JP7139897B2 JP7139897B2 JP2018209841A JP2018209841A JP7139897B2 JP 7139897 B2 JP7139897 B2 JP 7139897B2 JP 2018209841 A JP2018209841 A JP 2018209841A JP 2018209841 A JP2018209841 A JP 2018209841A JP 7139897 B2 JP7139897 B2 JP 7139897B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- code
- integer
- value
- encoding
- 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
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
- H03M7/3062—Compressive sampling or sensing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4031—Fixed length to variable length coding
- H03M7/4037—Prefix coding
- H03M7/4043—Adaptive prefix coding
- H03M7/4068—Parameterized codes
- H03M7/4075—Golomb codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
- H03M7/48—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind alternating with other codes during the code conversion process, e.g. run-length coding being performed only as long as sufficientlylong runs of digits of the same kind are present
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6005—Decoder aspects
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6011—Encoder aspects
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
Description
≪符号化装置≫
図2及び図3を参照して、第一実施形態の符号化装置100が実行する符号化方法の処理手続きを説明する。第一実施形態の符号化装置100は、図2に示す通り、整数符号化部110を含む。第一実施形態の符号化装置100が図3に示す各ステップの処理を実行することにより、第一実施形態の符号化方法が実現される。
整数符号化部110には、符号化装置100に入力された整数値の系列のうちの、Nサンプル(Nは自然数)ずつの整数値による系列が入力される。入力された整数値による系列を整数系列x1, x2, …, xNとする。整数符号化部110は、整数符号化部110内に予め記憶したまたは図示しない手段により入力された2以上の自然数である符号化パラメータKに基づき、整数系列x1, x2, …, xNを以下の符号木を用いた符号化処理で符号化して符号を得、得た符号を整数符号として出力する(S110)。以下では、整数系列x1, x2, …, xNの各整数がxn(nは系列中のサンプル番号であり、n∈{1, 2, ..., N})であるとして説明を行う。
まず、整数符号化部110における符号化処理に用いる符号木を例示する。
次に、各符号木における入力された整数値と当該整数値に対応する符号との関係を説明する。
次に、複数の符号木を用いる規則について説明する。整数符号化部110には、複数の符号木を用いる規則も予め記憶されている。以下では、複数の符号木を用いる規則のことを符号木の遷移の規則ともいう。
整数符号化部110は、上述した複数の符号木を用いて、複数の符号木を用いる上述した規則に従って、入力された整数系列x1, x2, …, xNに含まれる各整数値を予め定めた順に符号化して符号を得、得た符号を整数符号として出力する。例えば、予め定めた順が系列中のサンプル番号順であり、最初に用いる符号木がT(0)である場合に整数符号化部110が行う符号化手順は下記の通りである。
(符号化手順)
1. サンプル番号n,符号木番号の初期値をそれぞれ1,0とする。
2. n=Nとなるまで以下の(i)~(iv)を繰り返す。
(i) 符号木番号が0なら符号’1’を得る。
(ii) 整数値xn=0なら、符号木番号に1を加算したものを新たな符号木番号とする。この際、1を加算して符号木番号が2K-1となった場合には0を新たな符号木番号とする。
(iii) 整数値xn≠0なら、1ビットの’0’と符号木に一対一に対応する対応するK-1ビットとによるKビットの符号を得、さらに、K×(xn-1)ビットの符号’0’を得て、1を新たな符号木番号とする。
(iv) nに1を加算したものを新たなnとする。
3. 1~2により得た符号のうちの最初に得た符号’1’を取り除く。
(あるいは始めの1回の2.(i)操作を行わない。)
4. 1~3により得た符号の最後に符号’1’(終端符号)を加える。
5. 1~4により得た符号を整数符号として出力する。
符号化処理の例として、K=2で最初に用いる符号木がT(0)である場合の、入力された整数系列x1, x2, x3, x4, x5が0, 0, 2, 0, 0である場合の符号化処理を説明する。まず、1番目の整数値x1=0はT(0)で符号化するので符号’1’を得、符号木番号0に1を加算したものを新たな符号木番号とするので、次の整数値x2=0の符号化に用いる符号木をT(1)とする。2番目の整数値x2=0はT(1)で符号化するので符号は得ず、符号木番号1に1を加算したものを符号木番号とするが、1を加算した符号木番号が2K-1となったので0を新たな符号木番号とし、次の整数値x3=2の符号化に用いる符号木をT(0)とする。3番目の整数値x3=2はT(0)で符号化するので符号’10000’を得、新たな符号木番号を1とする規則であるので、次の整数値x4=0の符号化に用いる符号木をT(1)とする。4番目の整数値x4=0はT(1)で符号化するので符号は得ず、符号木番号1に1を加算したものを符号木番号とするが、1を加算した符号木番号が2K-1となったので0を新たな符号木番号とし、次の整数値x5=0の符号化に用いる符号木をT(0)とする。最後の整数値x5=0はT(0)で符号化するので符号’1’を得る。ここまでで得られた符号は’1100001’であるが、上述した符号化手順の3を行い上述した符号化手順の4を行わない場合には、最初に得た符号’1’を省略し、最終的な整数符号’100001’を得る。
図7及び図8を参照して、第一実施形態の復号装置150が実行する復号方法の処理手続きを説明する。第一実施形態の復号装置150は、図7に示す通り、整数復号部160を含む。第一実施形態の復号装置150が図8に示す各ステップの処理を実行することにより、第一実施形態の復号方法が実現される。
整数復号部160には、復号装置150に入力された整数符号が入力される。整数復号部160は、符号化装置100の整数符号化部110が用いた符号化パラメータKと同じ値であり、整数復号部160内に予め記憶したまたは図示しない手段により入力された2以上の自然数である符号化パラメータKに基づき、入力された整数符号を以下の符号木を用いた復号処理で復号して整数値の系列を得、得た整数系列x1, x2, …, xNを出力する(S160)。以下では、整数系列x1, x2, …, xNの各整数がxn(nは系列中のサンプル番号であり、n∈{1,2, ..., N})であるとして説明を行う。
1. 符号化手順3で符号’1’を取り除いた場合は、整数符号の最初に符号’1’を追加する。
2. 符号木番号の初期値を0とする。
3. 読み込んでない整数符号がなくなるまで以下(i)~(ii)を繰り返し、読み込んでない整数符号がなくなったら4に進む。
(i) 入力された整数符号を順に、符号木番号に対応する符号木に読み込んだ符号に対応する符号がある間(すなわち、符号木番号に対応する符号木に読み込んだ符号に対応する符号がなくなる1つ前のビットまで)、読み込む。
(ii) 符号木番号に対応する符号木から、読み込んだ符号に対応する符号に対応する整数値を得て、当該符号木の整数値についての符号木の遷移の規則に従って新たな符号木番号を得る。
4. 3の(ii)で得た整数値による系列を整数系列x1, x2, …, xNとして出力する。
1. 符号化手順3で符号’1’を取り除いた場合は、入力された符号列(整数符号と後続する別符号による符号列)の最初に符号’1’を追加する。
2. サンプル番号n, 符号木番号の初期値をそれぞれ1, 0とする。
3. n=Nとなるまで以下(i)~(ii)を繰り返す。
(i) 入力された符号列を順に、符号木番号に対応する符号木に読み込んだ符号に対応する符号がある間(すなわち、符号木番号に対応する符号木に読み込んだ符号に対応する符号がなくなる1つ前のビットまで)、読み込む。
(ii) 符号木番号に対応する符号木から、読み込んだ符号に対応する符号に対応する整数値を得て、当該符号木の整数値についての符号木の遷移の規則に従って新たな符号木番号を得て、nに1を加算したものを新たなnとする。
4. 3の(ii)で得た整数値による系列を整数系列x1, x2, …, xNとして出力する。
1. 符号化手順4で終端符号の追加を行っていない場合は、入力された符号列の最後に終端符号’1’を追加する。また、符号化手順3で符号’1’を取り除かなかった場合は、入力された符号列の最初に符号’1’を取り除く。
2. サンプル番号n, 符号木番号の初期値をそれぞれ1, 0とする。
3. n≧Nとなるまで以下(i)~(v)を繰り返す。
(i) Kビット全てが符号’0’である間、入力された符号列を順にKビットずつ読み、その間読んだ符号’0’の個数をKで割った数をZとする。
(ii) 符号木番号が0なら、整数値Zを得る。
(iii) 符号木番号が0でないなら、整数値(Z+1)を得る。
(iv) 入力された符号列の次の1ビットが符号’1’なら、その1ビットを読み、(2K-1-1)個の整数値0を得、0を新たな符号木番号にして、nに2K-1を加算したものを新たなnとする。
(v) 入力された符号列の次の1ビットが符号’0’なら、その1ビットを含むKビットを読み、そのKビットのうちの最初の1ビットを除いた残りのK-1ビットが対応する符号木の番号を新たな符号木番号とし、(新たな符号木番号-1)個の整数値0を得、nに新たな符号木番号を加算したものを新たなnとする。
4. 得られた整数値がN個よりも多い場合、N+1個目の整数値以降は取り除く。
復号処理の例として、K=2で最初に用いる符号木がT(0)である場合の、上述した符号化処理の例で得た整数符号’100001’を上述した復号手順1-1で復号する場合の復号処理を説明する。まず、整数符号’100001’の先頭に符号’1’を追加して整数符号を’1100001’とする。次に、整数符号’1100001’の最初の1ビットである’1’は符号木T(0)に対応する符号があるものの、最初の2ビットである’11’は符号木T(0)に対応する符号がないことから、整数符号の最初の1ビットである’1’を読み込み、’1’に対応する整数値0を得て、次に用いる符号木をT(1)とする。次に、整数符号の残りの’100001’の最初の1ビットである’1’は符号木T(1)に対応する符号がないことから、最初の1ビットも読み込まず、0ビットに対応する整数値0を得て、次に用いる符号木をT(0)とする。次に、整数符号の残りの’100001’の最初の1ビットである’1’から最初の5ビットである’10000’までは対応する符号が符号木T(0)にあるものの、整数符号の残りの’100001’の最初の6ビットである’100001’は対応する符号が符号木T(0)にないことから、整数符号の残りの’100001’の最初の5ビットである’10000’を読み込み、’10000’に対応する整数値2を得て、次に用いる符号木をT(1)とする。次に、整数符号の残りの’1’は対応する符号が符号木T(1)にないことから、最初の1ビットも読み込まず、0ビットに対応する整数値0を得て、次に用いる符号木をT(0)とする。次に、整数符号の残りの’1’は対応する符号が符号木T(0)にあり、この’1’以降には読み込んでない整数符号がないことから、’1’に対応する整数値0を得て、これらの処理により得た整数値0, 0, 2, 0, 0による系列を整数系列x1, x2, x3, x4, x5として出力する。
ここで本発明の原理を説明する。
第一実施形態では、予め定めた符号木を用いて本発明の符号化と復号を実現する形態を説明したが、予め定めた符号木に代えて、予め定めた対応表を用いることでも、第一実施形態と等価な符号化処理と復号処理を実現することが可能である。この予め定めた対応表を用いる形態を第二実施形態として説明する。
図2及び図3を参照して、第二実施形態の符号化装置100が実行する符号化方法の処理手続きを説明する。第二実施形態の符号化装置100は、図2に示す通り、整数符号化部110を含む。第二実施形態の符号化装置100が図3に示す各ステップの処理を実行することにより、第二実施形態の符号化方法が実現される。
整数符号化部110には、符号化装置100に入力された整数値の系列のうちの、Nサンプルずつの整数系列x1, x2, …, xNが入力される。第二実施形態の整数符号化部110は、2以上の自然数である符号化パラメータKに対応して予め作成して整数符号化部110内に記憶された対応表に基づいて、入力された整数系列x1, x2, …, xNを符号化して符号を得、得た符号を整数符号として出力する(S110)。
予め記憶された対応表は、零値の連続(0個以上の連続)と1つの非零値との組合せによる整数値の部分系列と、当該部分系列に対応する符号と、の対応関係の規則を格納したものである。K=2とK=3における対応表の例を、それぞれ図9と図10に挙げる。対応表に格納された規則は、2K-1個連続した零値による部分系列にはビット値が’1’である1ビットの符号が割り当てられ、それ以外の部分系列、すなわち、0個から2K-1-1個連続した零値とそれに後続する1つの非零値xnによる部分系列には、それぞれの零値の連続と非零値xnの組合せに対してK×xnビットまたはK×xn+1ビットの符号が割り当てられる規則である。
整数符号化部110は、上述した対応表を用いて、入力された整数系列x1, x2, …, xNに含まれる各整数値を予め定めた順に符号化して符号を得、得た符号を整数符号として出力する。例えば、予め定めた順が系列中のサンプル番号順である場合に整数符号化部110が行う符号化手順は下記の通りである。
(符号化手順)
1. サンプル番号nを1とする。
2. n=Nとなるまで、以下の(i)~(ii)を繰り返す。
(i) xn以降の2K-1個の整数値の中に非零値がある場合には、xn以降の最初の非零値までの部分系列に対応する符号を符号表から得て、xn以降の最初の非零値までのサンプル数をnに加算したものを新たなnとする。
(ii) xn以降の2K-1個の整数値が全て零値である場合には、 xn以降の2K-1個の整数値の部分系列に対応する符号を符号表から得て、2K-1をnに加算したものを新たなnとする。
3. 2により得た符号の最後に符号’1’(終端符号)を加える。
4. 3により得た符号を整数符号として出力する。
図7及び図8を参照して、第二実施形態の復号装置150が実行する復号方法の処理手続きを説明する。第二実施形態の復号装置150は、図7に示す通り、整数復号部160を含む。第二実施形態の復号装置150が図8に示す各ステップの処理を実行することにより、第二実施形態の復号方法が実現される。
整数復号部160には、復号装置150に入力された整数符号が入力される。整数復号部160は、予め作成して整数復号部160内に記憶された対応表であり、符号化パラメータKに対応する予め作成された対応表であり、符号化装置100の整数符号化部110内に予め記憶され整数符号化部110で用いられたのと同じ対応表に基づいて、入力された整数符号を復号して整数系列x1, x2, …, xNを得て出力する(S160)。
第一実施形態および第二実施形態の符号の規則は、整数値0の2K-1個の連続に対しては1ビットの符号である’1’を対応させ、整数値0の0個から2K-1-1個の連続とそれに後続する1つの非負整数値xn≠0に対しては、K×xn+1ビットの符号のうちの1ビット目のビット値が’1’であり2ビット目からK+1ビット目までが’0’である1ビット目からK+1ビット目までの部分符号1通りと、K×xnビットの符号のうちの1ビット目のビット値が’0’であり2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が’1’である1ビット目からKビット目までの部分符号2K-1-1通りと、による2K-1通りの部分符号と、0個から2K-1-1個の整数値0の連続数2K-1通りと、を一対一に対応させた規則である。ここで、整数値0の連続個数に着目すると、第一実施形態および第二実施形態の符号は、2以上の自然数である符号化パラメータKそれぞれに対して、整数値0の連続個数が0個から2K-1個までを表現できる。すなわち、第一実施形態および第二実施形態の符号では、整数値0の最大連続個数が2の整数乗である。
図2及び図3を参照して、第三実施形態の符号化装置100が実行する符号化方法の処理手続きを説明する。第三実施形態の符号化装置100は、図2に示す通り、整数符号化部110を含む。第三実施形態の符号化装置100が図3に示す各ステップの処理を実行することにより、第三実施形態の符号化方法が実現される。
整数符号化部110には、符号化装置100に入力された整数値の系列のうちの、Nサンプル(Nは自然数)ずつの整数値による系列が入力される。入力された整数値による系列を整数系列x1, x2, …, xNとする。整数符号化部110は、整数符号化部110内に予め記憶したまたは図示しない手段により入力された2以上の自然数である符号化パラメータLに基づき、整数系列x1, x2, …, xNを以下の符号木を用いた符号化処理で符号化して符号を得、得た符号を整数符号として出力する(S110)。以下では、整数系列x1, x2, …, xNの各整数がxn(nは系列中のサンプル番号であり、n∈{1, 2, ..., N})であるとして説明を行う。
まず、整数符号化部110における符号化処理に用いる符号木を例示する。
次に、各符号木における入力された整数値と当該整数値に対応する符号との関係を説明する。
次に、複数の符号木を用いる規則について説明する。整数符号化部110には、複数の符号木を用いる規則も予め記憶されている。
整数符号化部110は、上述した複数の符号木を用いて、複数の符号木を用いる上述した規則に従って、入力された整数系列x1, x2, …, xNに含まれる各整数値を予め定めた順に符号化して符号を得、得た符号を整数符号として出力する。例えば、予め定めた順が系列中のサンプル番号順であり、最初に用いる符号木がT(0)である場合に整数符号化部110が行う符号化手順は下記の通りである。
(符号化手順)
1. サンプル番号n,符号木番号の初期値をそれぞれ1,0とする。
2. n=Nとなるまで以下の(i)~(iv)を繰り返す。
(i) 符号木番号が0なら符号’1’を得る。
(ii) 整数値xn=0なら、符号木番号に1を加算したものを新たな符号木番号とする。この際、1を加算して符号木番号がLとなった場合には0を新たな符号木番号とする。
(iii) 整数値xn≠0で且つ符号木番号がp未満なら、1ビットの’0’と符号木に一対一に対応するK-1ビットとによるKビットの符号を得、さらに、K×(xn-1)ビットの符号’0’を得て、1を新たな符号木番号とする。
(iv) 整数値xn≠0で且つ符号木番号がp以上なら、1ビットの’0’と符号木に一対一に対応するKビットとによるK+1ビットの符号を得、さらに、K×(xn-1)ビットの符号’0’を得て、1を新たな符号木番号とする。
(v) nに1を加算したものを新たなnとする。
3. 1~2により得た符号のうちの最初に得た符号’1’を取り除く。
(あるいは始めの1回の2.(i)操作を行わない。)
4. 1~3により得た符号の最後に符号’1’(終端符号)を加える。
5. 1~4により得た符号を整数符号として出力する。
図7及び図8を参照して、第三実施形態の復号装置150が実行する復号方法の処理手続きを説明する。第三実施形態の復号装置150は、図7に示す通り、整数復号部160を含む。第三実施形態の復号装置150が図8に示す各ステップの処理を実行することにより、第三実施形態の復号方法が実現される。
整数復号部160には、復号装置150に入力された整数符号が入力される。整数復号部160は、符号化装置100の整数符号化部110が用いた符号化パラメータLと同じ値であり、整数復号部160内に予め記憶したまたは図示しない手段により入力された2以上の自然数である符号化パラメータLに基づき、入力された整数符号を以下の符号木を用いた復号処理で復号して整数値の系列を得、得た整数系列x1, x2, …, xNを出力する(S160)。以下では、整数系列x1, x2, …, xNの各整数がxn(nは系列中のサンプル番号であり、n∈{1,2, ..., N})であるとして説明を行う。
1. 符号化手順3で符号’1’を取り除いた場合は、整数符号の最初に符号’1’を追加する。
2. 符号木番号の初期値を0とする。
3. 読み込んでない整数符号がなくなるまで以下(i)~(ii)を繰り返し、読み込んでない整数符号がなくなったら4に進む。
(i) 入力された整数符号を順に、符号木番号に対応する符号木に読み込んだ符号に対応する符号がある間(すなわち、符号木番号に対応する符号木に読み込んだ符号に対応する符号がなくなる1つ前のビットまで)、読み込む。
(ii) 符号木番号に対応する符号木から、読み込んだ符号に対応する符号に対応する整数値を得て、当該符号木の整数値についての符号木の遷移の規則に従って新たな符号木番号を得る。
4. 3の(ii)で得た整数値による系列を整数系列x1, x2, …, xNとして出力する。
1. 符号化手順3で符号’1’を取り除いた場合は、入力された符号列(整数符号と後続する別符号による符号列)の最初に符号’1’を追加する。
2. サンプル番号n, 符号木番号の初期値をそれぞれ1, 0とする。
3. n=Nとなるまで以下(i)~(ii)を繰り返す。
(i) 入力された符号列を順に、符号木番号に対応する符号木に読み込んだ符号に対応する符号がある間(すなわち、符号木番号に対応する符号木に読み込んだ符号に対応する符号がなくなる1つ前のビットまで)、読み込む。
(ii) 符号木番号に対応する符号木から、読み込んだ符号に対応する符号に対応する整数値を得て、当該符号木の整数値についての符号木の遷移の規則に従って新たな符号木番号を得て、nに1を加算したものを新たなnとする。
4. 3の(ii)で得た整数値による系列を整数系列x1, x2, …, xNとして出力する。
1. 符号化手順4で終端符号の追加を行っていない場合は、入力された符号列の最後に終端符号’1’を追加する。また、符号化手順3で符号’1’を取り除かなかった場合は、入力された符号列の最初に符号’1’を取り除く。
2. サンプル番号n, 符号木番号の初期値をそれぞれ1, 0とする。
3. n≧Nとなるまで以下(i)~(v)を繰り返す。
(i) Kビット全てが符号’0’である間、入力された符号列を順にKビットずつ読み、その間読んだ符号’0’の個数をKで割った数をZとする。
(ii) 符号木番号が0なら、整数値Zを得る。
(iii) 符号木番号が0でないなら、整数値(Z+1)を得る。
(iv) 入力された符号列の次の1ビットが符号’1’なら、その1ビットを読み、(L-1)個の整数値0を得、0を新たな符号木番号にして、nにLを加算したものを新たなnとする。
(v) 入力された符号列の次の1ビットが符号’0’なら、その1ビットを含むKビットを読み、そのKビットのうちの最初の1ビットを除いた残りのK-1ビットに一対一に対応する符号木がある場合、そのK-1ビットに対応する符号木の番号を新たな符号木番号とし、そのKビットのうちの最初の1ビットを除いた残りのK-1ビットに一対一に対応する符号木がない場合(すなわち、そのK-1ビットが2個の符号木による組に一対一に対応する場合)、次の1ビットを読み、前述のKビットのうちの最初の1ビットを除いた残りのK-1ビットと読み込んだ1ビットによるKビットに一対一に対応する符号木の番号を新たな符号木番号とし、それぞれの場合において(新たな符号木番号-1)個の整数値0を得、nに新たな符号木番号を加算したものを新たなnとする。
4. 得られた整数値がN個よりも多い場合、N+1個目の整数値以降は取り除く。
ここで本発明の原理を説明する。
第三実施形態では、予め定めた符号木を用いて本発明の符号化と復号を実現する形態を説明したが、予め定めた符号木に代えて、予め定めた対応表を用いることでも、第三実施形態と等価な符号化処理と復号処理を実現することが可能である。この予め定めた対応表を用いる形態を第四実施形態として説明する。
図2及び図3を参照して、第四実施形態の符号化装置100が実行する符号化方法の処理手続きを説明する。第四実施形態の符号化装置100は、図2に示す通り、整数符号化部110を含む。第四実施形態の符号化装置100が図3に示す各ステップの処理を実行することにより、第四実施形態の符号化方法が実現される。
整数符号化部110には、符号化装置100に入力された整数値の系列のうちの、Nサンプルずつの整数系列x1, x2, …, xNが入力される。第二実施形態の整数符号化部110は、2以上の自然数である符号化パラメータLに対応して予め作成して整数符号化部110内に記憶された対応表に基づいて、入力された整数系列x1, x2, …, xNを符号化して符号を得、得た符号を整数符号として出力する(S110)。
予め記憶された対応表は、零値の連続(0個以上の連続)と1つの非零値との組合せによる整数値の部分系列と、当該部分系列に対応する符号と、の対応関係の規則を格納したものである。L=3とL=5における対応表の例を、それぞれ図14と図15に挙げる。対応表に格納された規則は、L個連続した零値による部分系列にはビット値が’1’である1ビットの符号が割り当てられ、それ以外の部分系列、すなわち、0個からL-1個連続した零値とそれに後続する1つの非零値xnによる部分系列には、それぞれの零値の連続と非零値xnの組合せに対して、1ビット目からKビット目までに少なくとも1つのビット値’1’と少なくとも1つのビット値’0’を含み、かつ、最後からK×(xn-1)ビットはビット値が’0’である、K×xnビットまたはK×xn+1ビットの符号が割り当てられる規則である。
(a)K×xn+1ビットの符号の1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が’1’であり、2ビット目からK+1ビット目までのビット値が’0’である、1通りの部分符号。
(b)K×xnビットの符号の1ビット目からKビット目までのKビットで構成され、1ビット目のビット値が’0’であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が’1’である、p-1通り(すなわち、2K-L-1通り)の部分符号。
(c)K×xn+1ビットの符号の1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が’0’であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が’1’であり、かつ、1ビット目からKビット目までのKビットの組が上述した(b)のp-1通り(すなわち、2K-L-1通り)とは異なり、K+1ビット目のビット値が’1’または’0’である、2q通り(すなわち、2L-2K通り)の部分符号。
整数符号化部110は、上述した対応表を用いて、入力された整数系列x1, x2, …, xNに含まれる各整数値を予め定めた順に符号化して符号を得、得た符号を整数符号として出力する。例えば、予め定めた順が系列中のサンプル番号順である場合に整数符号化部110が行う符号化手順は下記の通りである。
(符号化手順)
1. サンプル番号nを1とする。
2. n=Nとなるまで、以下の(i)~(ii)を繰り返す。
(i) xn以降のL個の整数値の中に非零値がある場合には、xn以降の最初の非零値までの部分系列に対応する符号を符号表から得て、xn以降の最初の非零値までのサンプル数をnに加算したものを新たなnとする。
(ii) xn以降のL個の整数値が全て零値である場合には、xn以降のL個の整数値の部分系列に対応する符号を符号表から得て、Lをnに加算したものを新たなnとする。
3. 2により得た符号の最後に符号’1’(終端符号)を加える。
4. 3により得た符号を整数符号として出力する。
図7及び図8を参照して、第四実施形態の復号装置150が実行する復号方法の処理手続きを説明する。第四実施形態の復号装置150は、図7に示す通り、整数復号部160を含む。第四実施形態の復号装置150が図8に示す各ステップの処理を実行することにより、第四実施形態の復号方法が実現される。
整数復号部160には、復号装置150に入力された整数符号が入力される。整数復号部160は、予め作成して整数復号部160内に記憶された対応表であり、符号化パラメータLに対応する予め作成された対応表であり、符号化装置100の整数符号化部110内に予め記憶され整数符号化部110で用いられたのと同じ対応表に基づいて、入力された整数符号を復号して整数系列x1, x2, …, xNを得て出力する(S160)。
第三実施形態及び第四実施形態では、予め定めた符号木または予め定めた対応表を用いて符号化復号する手続き的側面から本発明の符号化と復号を実現する形態について説明した。第五実施形態では、これらの手続きにより得られる符号や整数値の系列というデータ的側面から本発明の符号化と復号を実現する形態について説明する。
図2及び図3を参照して、第五実施形態の符号化装置100が実行する符号化方法の処理手続きを説明する。第五実施形態の符号化装置100は、図2に示す通り、整数符号化部110を含む。第五実施形態の符号化装置100が図3に示す各ステップの処理を実行することにより、第五実施形態の符号化方法が実現される。
整数符号化部110は、整数系列に含まれる整数値0のL個の連続に対応する符号として、ビット値が“x”である1ビットの符号(以下、「符号A」という)を得、整数系列に含まれる、0個からL-1個連続する整数値0と、1個の0以外の整数値xnと、による組、に対応する符号として、1ビット目からKビット目までに少なくとも1つのビット値“x”と少なくとも1つのビット値“y”を含み、かつ、最後からK×(xn-1)ビットはビット値が“y”である、K×xnビットまたはK×xn+1ビットの符号(以下、「符号B」という)を得る(S110)。具体的には、Nサンプルずつの整数系列x1, x2, …, xNを、第三実施形態で説明した符号木や第四実施形態で説明した対応表を用いて符号化して、符号Aや符号Bを得る。
(符号Bの部分符号)
(a)符号BがK×xn+1ビットであるときの、該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“x”であり、2ビット目からK+1ビット目までのビット値が“y”である、1通りの部分符号。
(b)符号BがK×xnビットであるときの、該符号Bの1ビット目からKビット目までのKビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”である、p-1通り(すなわち、2K-L-1通り)の部分符号。
(c)符号BがK×xn+1ビットであるときの、該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”であり、かつ、1ビット目からKビット目までのKビットの組が上述した(b)のp-1通り(すなわち、2K-L-1通り)とは異なり、K+1ビット目のビット値が“x”または“y”である、2q通り(すなわち、2L-2K通り)の部分符号。
図7及び図8を参照して、第五実施形態の復号装置150が実行する復号方法の処理手続きを説明する。第五実施形態の復号装置150は、図7に示す通り、整数復号部160を含む。第五実施形態の復号装置150が図8に示す各ステップの処理を実行することにより、第五実施形態の復号方法が実現される。
整数復号部160は、入力された符号列に含まれる、ビット値が“x”である1ビットの符号(以下、「符号A」という)から、整数値0のL個の連続を得、入力された符号列に含まれる、1ビット目からKビット目までに少なくとも1つのビット値“x”と少なくとも1つのビット値“y”を含み、かつ、最後からK×(xn-1)ビットはビット値が“y”である、K×xnビットまたはK×xn+1ビットの符号(以下、「符号B」という)から、0個からL-1個連続する整数値0と、1個の0以外の整数値xnと、による組を得る(S160)。具体的には、入力された符号列に含まれる符号を、第三実施形態で説明した符号木や第四実施形態で説明した対応表を用いて復号して、符号Aや符号Bに対応する上記整数値の系列を得る。
(符号Bの部分符号)
(a)符号BがK×xn+1ビットであるときの、該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“x”であり、2ビット目からK+1ビット目までのビット値が“y”である、1通りの部分符号。
(b)符号BがK×xnビットであるときの、該符号Bの1ビット目からKビット目までのKビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”である、p-1通り(すなわち、2K-L-1通り)の部分符号。
(c)符号BがK×xn+1ビットであるときの、該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”であり、かつ、1ビット目からKビット目までのKビットの組が上述した(b)のp-1通り(すなわち、2K-L-1通り)とは異なり、K+1ビット目のビット値が“x”または“y”である、2q通り(すなわち、2L-2K通り)の部分符号。
第五実施形態の符号化装置及び復号装置が扱う符号列のデータ構造、つまり、第三実施形態及び第四実施形態の符号化装置が整数値の系列から得た符号列であり、第三実施形態及び第四実施形態の復号装置が整数値の系列を得るために用いる符号列のデータ構造について説明する。
非負値である整数値xn、n∈{1, 2, ..., N}の系列(以下、「整数系列」という)を表す符号列は、整数系列から符号列を得る符号化装置や符号列から整数系列を得る復号装置で用いられるものである。
(符号Bの部分符号)
(a)符号BがK×xn+1ビットであるときの、該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“x”であり、2ビット目からK+1ビット目までのビット値が“y”である、1通りの部分符号。
(b)符号BがK×xnビットであるときの、該符号Bの1ビット目からKビット目までのKビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”である、p-1通り(すなわち、2K-L-1通り)の部分符号。
(c)符号BがK×xn+1ビットであるときの、該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”であり、かつ、1ビット目からKビット目までのKビットの組が上述した(b)のp-1通り(すなわち、2K-L-1通り)とは異なり、K+1ビット目のビット値が“x”または“y”である、2q通り(すなわち、2L-2K通り)の部分符号。
上述の通り、本発明の符号に用いる符号化パラメータLは、0より大きく1より小さい値に拡張したGolombパラメータや負値に拡張したRiceパラメータに対応し、本発明の符号は0より大きく1より小さい値に拡張したGolombパラメータに対するGolomb符号や負値のRiceパラメータに対するGolomb-Rice符号としても解釈できる。従って、従来の最適なGolombパラメータの推定法を基に最適な符号化パラメータLを入力された整数値による系列の部分系列に対して求め、求めた符号化パラメータLを用いた第三実施形態から第五実施形態の整数符号化部の処理をGolomb符号化と組み合わせて入力された整数値の系列を符号化してもよく、この符号化に対応する復号を行ってもよい。この形態を第六実施形態として説明する。
図16及び図17を参照して、第六実施形態の符号化装置400が実行する符号化方法の処理手続きを説明する。第六実施形態の符号化装置400は、図16に示す通り、パラメータ決定部420と整数符号化部410を含む。第六実施形態の符号化装置400が図17に示す各ステップの処理を実行することにより、第六実施形態の符号化方法が実現される。
パラメータ決定部420には、符号化装置400に入力された整数値の系列のうちの、Nサンプルずつの整数系列x1, x2, …, xNが入力される。パラメータ決定部420は、入力された整数系列x1, x2, …, xNに基づき、その整数系列に対応するGolombパラメータsとそのパラメータを表す符号であるパラメータ符号と、を得て出力する(S420)。パラメータ符号は、復号装置450が当該パラメータ符号を復号することによりパラメータ決定部420が決定したGolombパラメータsを得られるように、Golombパラメータを符号化して得ればよい。
整数符号化部410には、符号化装置400に入力された整数値の系列のうちの、Nサンプルずつの整数系列x1, x2, …, xNと、パラメータ決定部420が出力したGolombパラメータsが入力される。整数符号化部410は、Golombパラメータsが1以上である場合には、Golombパラメータsの小数第一位を四捨五入するなどによりGolombパラメータsを丸めて整数値にした後に、整数系列x1, x2, …, xNに対して整数値のGolombパラメータsによるGolomb符号化を行って、Golomb符号化により得た符号を整数符号として出力し、Golombパラメータsが1未満である場合には、Golombパラメータsから後述する処理によりLの値を得て、得たLの値の小数第一位を四捨五入するなどによりLの値を丸めて整数値にすることで符号化パラメータLを得て、得た符号化パラメータLを用いて第三から第五実施形態の整数符号化部110の何れかの処理と同じ処理により整数符号を得て出力する(S410)。なお、符号化パラメータLが1と2の間の値である場合には、例えば、丸め後の整数値を2とすればよい。
図18及び図19を参照して、第六実施形態の復号装置450が実行する復号方法の処理手続きを説明する。第六実施形態の復号装置450は、図18に示す通り、パラメータ復号部470と整数復号部460を含む。第六実施形態の復号装置450が図19に示す各ステップの処理を実行することにより、第六実施形態の復号方法が実現される。
パラメータ復号部470には、復号装置450に入力されたパラメータ符号が入力される。パラメータ復号部470は、パラメータ決定部420がパラメータ符号を得たのと対応する復号処理により、パラメータ符号を復号してGolombパラメータsを得て出力する(S470)。パラメータ復号部470は、例えば、符号化装置400のパラメータ決定部420が行ったスカラ量子化に対応する復号処理により、パラメータ符号に対応するGolombパラメータsの量子化値をGolombパラメータsとして得て出力する。
整数復号部460には、復号装置450に入力された整数符号と、パラメータ復号部470が出力したGolombパラメータsが入力される。整数復号部460は、Golombパラメータsが1以上である場合には、Golombパラメータsを符号化装置400の整数符号化部410が行ったのと同じ方法により丸めて整数値にした後に整数符号に対してGolombパラメータsによるGolomb復号を行って整数系列x1, x2, …, xNを得て出力し、Golombパラメータsが1未満である場合には、第六実施形態の整数符号化部410と同じ処理によりGolombパラメータsから符号化パラメータLを得て、得た符号化パラメータLを用いて第三から第五実施形態の整数復号部160の何れかの処理と同じ処理により整数系列x1, x2, …, xNを得て出力する(S460)。
第六実施形態では、Golomb符号化・復号と組み合わせた符号化・復号処理を行ったが、Golomb符号化・復号と組み合わせないでもよい。Golomb符号化・復号と組み合わせない形態を第六実施形態の変形例1として説明する(図16、図17参照)。第六実施形態の変形例1の符号化装置400と第六実施形態の符号化装置400とは、整数符号化部410の動作のみ異なる。また、第六実施形態の変形例1の復号装置450と第六実施形態の復号装置450とは、整数復号部460の動作のみ異なる。そこで、以下では、整数符号化部410の動作と整数復号部460の動作について説明する。
整数符号化部410には、符号化装置400に入力された整数値の系列のうちの、Nサンプルずつの整数系列x1, x2, …, xNと、パラメータ決定部420が出力したGolombパラメータsが入力される。整数符号化部410は、Golombパラメータsが1以上である場合には、2を符号化パラメータLとして用いて、第三から第五実施形態の整数符号化部110の何れかの処理と同じ処理により整数符号を得て出力し、Golombパラメータsが1未満である場合には、第六実施形態の整数符号化部410と同じ処理によりGolombパラメータsから符号化パラメータLを得、得た符号化パラメータLを用いて第三から第五実施形態の整数符号化部110の何れかの処理と同じ処理により整数符号を得て出力する(S410)。なお、符号化パラメータLが1と2の間の値である場合には、例えば、丸め後の整数値を2とすればよい。
整数復号部460には、復号装置450に入力された整数符号と、パラメータ復号部470が出力したGolombパラメータsが入力される。整数復号部460は、Golombパラメータsが1以上である場合には、2を符号化パラメータLとして用いて、第三から第五実施形態の整数復号部160の何れかの処理と同じ処理により整数系列x1, x2, …, xNを得て出力し、Golombパラメータsが1未満である場合には、第六実施形態の変形例1の整数符号化部410と同じ処理によりGolombパラメータsから符号化パラメータLを得て、得た符号化パラメータLを用いて第三から第五実施形態の整数復号部160の何れかの処理と同じ処理により整数系列x1, x2, …, xNを得て出力する(S460)。
第六実施形態では、整数符号化部410においてGolombパラメータsが1未満である場合にGolombパラメータsから符号化パラメータLを得る構成としていたが、パラメータ決定部420においてGolombパラメータsが1未満である場合に整数系列から符号化パラメータLを直接得る構成としてもよい。この形態を第六実施形態の変形例2として、以下説明する(図16、図17参照)。
第六実施形態のパラメータ決定部420は、Golombパラメータの値に関わらず、Golombパラメータと当該Golombパラメータに対応するパラメータ符号とを必ず出力する構成であったが、第六実施形態の変形例2のパラメータ決定部420は、Golombパラメータsが1以上である場合には、Golombパラメータsと当該Golombパラメータsに対応するパラメータ符号とを出力し、Golombパラメータsが1未満である場合には、整数系列から符号化パラメータLを得て、符号化パラメータLと当該符号化パラメータLに対応するパラメータ符号とを出力する(S420)。
整数符号化部410には、符号化装置400に入力された整数値の系列のうちの、Nサンプルずつの整数系列x1, x2, …, xNと、パラメータ決定部420が出力したGolombパラメータsまたは符号化パラメータLが入力される。整数符号化部410は、Golombパラメータsが入力された場合には、Golombパラメータsを丸めて整数値にし、整数系列x1, x2, …, xNに対して整数値のGolombパラメータsによるGolomb符号化を行って、Golomb符号化により得た符号を整数符号として出力し、符号化パラメータLが入力された場合には、符号化パラメータLを丸めて整数値にし、整数値の符号化パラメータLを用いて第三から第五実施形態の整数符号化部110の何れかの処理と同じ処理により整数符号を得て出力する(S410)。なお、符号化パラメータLが1と2の間の値である場合には、例えば、丸め後の整数値を2とすればよい。
第六実施形態のパラメータ復号部470はパラメータ符号を復号してGolombパラメータを得るものであったが、第六実施形態の変形例2のパラメータ復号部470は、パラメータ符号を復号してGolombパラメータsまたは符号化パラメータLを得て出力する(S470)。
整数復号部460には、復号装置450に入力された整数符号と、パラメータ復号部470が出力したGolombパラメータsまたは符号化パラメータLが入力される。整数復号部460は、Golombパラメータsが入力された場合には、Golombパラメータsを符号化装置400の整数符号化部410が行ったのと同じ方法により丸めて整数値にした後に、整数符号に対して整数値のGolombパラメータsによるGolomb復号を行って整数系列x1, x2, …, xNを得て出力し、符号化パラメータLが入力された場合には、符号化パラメータLを符号化装置400の整数符号化部410が行ったのと同じ方法により丸めて整数値にした後に、整数値の符号化パラメータLを用いて第三から第五実施形態の整数復号部160の何れかの処理と同じ処理により整数系列x1, x2, …, xNを得て出力する(S460)。
第六実施形態の符号化装置では、まずGolombパラメータsを求めて、求めたGolombパラメータsから符号化パラメータLを求めていたが、符号化パラメータLを、本発明の符号が最適な指数分布p(x, 1-2-1/L)に対して尤もらしいLを推定することにより、入力された整数値の系列から直接推定してもよい。この場合、Golomb符号は1以下の値をとるLによる本発明の符号と解釈することができる。従って、最適な符号化パラメータLを入力された整数値による系列の部分系列から直接求め、求めた符号化パラメータLを用いた第三実施形態から第五実施形態の整数符号化部110の処理をGolomb符号化と組み合わせて入力された整数値の系列を符号化してもよく、この符号化に対応する復号を行ってもよい。この形態を第七実施形態として説明する。
図16及び図17を参照して、第七実施形態の符号化装置400が実行する符号化方法の処理手続きを説明する。第七実施形態の符号化装置400は、図16に示す通り、パラメータ決定部420と整数符号化部410を含む。第七実施形態の符号化装置400が図17に示す各ステップの処理を実行することにより、第七実施形態の符号化方法が実現される。
パラメータ決定部420には、符号化装置400に入力された整数値の系列のうちの、Nサンプルずつの整数系列x1, x2, …, xNが入力される。パラメータ決定部420は、入力された整数系列x1, x2, …, xNに基づき、その整数系列に対応する符号化パラメータLとそのパラメータを表す符号であるパラメータ符号と、を得て出力する(S420)。パラメータ符号は、復号装置450が当該パラメータ符号を復号することによりパラメータ決定部420が決定した符号化パラメータLを得られるように、符号化パラメータLを符号化して得ればよい。
整数符号化部410には、符号化装置400に入力された整数値の系列のうちの、Nサンプルずつの整数系列x1, x2, …, xNと、パラメータ決定部420が出力した符号化パラメータLが入力される。整数符号化部410は、符号化パラメータLが1以下である場合には、符号化パラメータLから後述する処理によりsの値を得て、得たsの値の小数第一位を四捨五入するなどによりsの値を丸めて整数値にすることでGolombパラメータsを得て、得たGolombパラメータsを用いて整数系列x1, x2, …, xNに対してGolombパラメータsによるGolomb符号化を行って、Golomb符号化により得た符号を整数符号として出力し、符号化パラメータLが1よりも大きい場合には、符号化パラメータLの小数第一位を四捨五入するなどによりLの値を丸めて整数値にした後に、整数値の符号化パラメータLを用いて第三から第五実施形態の整数符号化部110の何れかの処理と同じ処理により整数符号を得て出力する(S410)。なお、符号化パラメータLが1と2の間の値である場合には、例えば、丸め後の整数値を2とすればよい。
図18及び図19を参照して、第七実施形態の復号装置450が実行する復号方法の処理手続きを説明する。第七実施形態の復号装置450は、図18に示す通り、パラメータ復号部470と整数復号部460を含む。第七実施形態の復号装置450が図19に示す各ステップの処理を実行することにより、第七実施形態の復号方法が実現される。
パラメータ復号部470には、復号装置450に入力されたパラメータ符号が入力される。パラメータ復号部470は、パラメータ決定部420がパラメータ符号を得たのと対応する復号処理により、パラメータ符号を復号して符号化パラメータLを得て出力する(S470)。パラメータ復号部470は、例えば、符号化装置400のパラメータ決定部420が行ったスカラ量子化に対応する復号処理により、パラメータ符号に対応する符号化パラメータLの量子化値を符号化パラメータLとして得て出力する。
整数復号部460には、復号装置450に入力された整数符号と、パラメータ復号部470が出力した符号化パラメータLが入力される。整数復号部460は、符号化パラメータLが1以下である場合には、第七実施形態の整数符号化部410と同じ処理により符号化パラメータLからGolombパラメータsを得て、得たGolombパラメータsを用いて整数符号に対してGolombパラメータsによるGolomb復号を行って整数系列x1, x2, …, xNを得て出力し、符号化パラメータLが1よりも大きい場合には、符号化パラメータLを符号化装置400の整数符号化部410が行ったのと同じ方法により丸めて整数値にした後に、整数値の符号化パラメータLを用いて第三から第五実施形態の整数復号部160の何れかの処理と同じ処理により整数系列x1, x2, …, xNを得て出力する(S460)。
第七実施形態では、Golomb符号化・復号と組み合わせた符号化・復号処理を行ったが、Golomb符号化・復号と組み合わせないでもよい。Golomb符号化・復号と組み合わせない形態を第七実施形態の変形例1として説明する(図16、図17参照)。第七実施形態の変形例1の符号化装置400と第七実施形態の符号化装置400とは、整数符号化部410の動作のみ異なる。また、第七実施形態の変形例1の復号装置450と第七実施形態の復号装置450とは、整数復号部460の動作のみ異なる。そこで、以下では、整数符号化部410の動作と整数復号部460の動作について説明する。
整数符号化部410には、符号化装置400に入力された整数値の系列のうちの、Nサンプルずつの整数系列x1, x2, …, xNと、パラメータ決定部420が出力した符号化パラメータLが入力される。整数符号化部410は、入力された符号化パラメータLの小数第一位を四捨五入するなどによりLの値を丸めて整数値にした後に、整数値の符号化パラメータLが1以下である場合には、2を符号化パラメータLとして用いて、第三から第五実施形態の整数符号化部110の何れかの処理と同じ処理により整数符号を得て出力し、整数値の符号化パラメータLが1よりも大きい場合には、整数値の符号化パラメータLを用いて第三から第五実施形態の整数符号化部110の何れかの処理と同じ処理により整数符号を得て出力する(S410)。
整数復号部460には、復号装置450に入力された整数符号と、パラメータ復号部470が出力した符号化パラメータLが入力される。整数復号部460は、入力された符号化パラメータLを符号化装置400の整数符号化部410が行ったのと同じ方法により丸めて整数値にした後に、整数値の符号化パラメータLが1以下である場合には、2を符号化パラメータLとして用いて、第三から第五実施形態の整数復号部160の何れかの処理と同じ処理により整数系列x1, x2, …, xNを得て出力し、整数値の符号化パラメータLが1よりも大きい場合には、整数値の符号化パラメータLを用いて第三から第五実施形態の整数復号部160の何れかの処理と同じ処理により整数系列x1, x2, …, xNを得て出力する(S460)。
第七実施形態では、整数符号化部410において符号化パラメータLが1以下である場合に符号化パラメータLからGolombパラメータsを得る構成としていたが、パラメータ決定部420において符号化パラメータLが1以下である場合に整数系列からGolombパラメータsを直接得る構成としてもよい。この形態を第七実施形態の変形例2として、以下説明する(図16、図17参照)。
第七実施形態のパラメータ決定部420は、符号化パラメータLの値に関わらず、符号化パラメータLと当該符号化パラメータLに対応するパラメータ符号とを必ず出力する構成であったが、第七実施形態の変形例2のパラメータ決定部420は、符号化パラメータLが1よりも大きい場合には、符号化パラメータLと当該符号化パラメータLに対応するパラメータ符号とを出力し、符号化パラメータLが1以下である場合には、式(5)により整数系列からGolombパラメータsを得て、Golombパラメータsと当該Golombパラメータsに対応するパラメータ符号とを出力する(S420)。その際、第六実施形態の変形例2と同様に、パラメータ符号は、対応する復号装置450がGolombパラメータsの値と符号化パラメータLの値を一意に特定可能な符号とすればよい。
整数符号化部410には、符号化装置400に入力された整数値の系列のうちの、Nサンプルずつの整数系列x1, x2, …, xNと、パラメータ決定部420が出力した符号化パラメータLまたはGolombパラメータsが入力される。整数符号化部410は、Golombパラメータsが入力された場合には、Golombパラメータsの値を丸めて整数値にした後に、整数系列x1, x2, …, xNに対して整数値のGolombパラメータsによるGolomb符号化を行って、Golomb符号化により得た符号を整数符号として出力し、符号化パラメータLが入力された場合には、符号化パラメータLを丸めて整数値にした後に、整数値の符号化パラメータLを用いて第三から第五実施形態の整数符号化部110の何れかの処理と同じ処理により整数符号を得て出力する(S410)。なお、符号化パラメータLが1と2の間の値である場合には、例えば、丸め後の整数値を2とすればよい。
第七実施形態のパラメータ復号部470はパラメータ符号を復号して符号化パラメータLを得るものであったが、第七実施形態の変形例2のパラメータ復号部470は、パラメータ符号を復号して符号化パラメータLまたはGolombパラメータsを得て出力する(S470)。
整数復号部460には、復号装置450に入力された整数符号と、パラメータ復号部470が出力した符号化パラメータLまたはGolombパラメータsが入力される。整数復号部460は、Golombパラメータsが入力された場合には、符号化装置400の整数符号化部410が行ったのと同じ方法によりGolombパラメータsの値を丸めて整数値とし、整数符号に対して整数値のGolombパラメータsによるGolomb復号を行って整数系列x1, x2, …, xNを得て出力し、符号化パラメータLが入力された場合には、符号化パラメータLを符号化装置400の整数符号化部410が行ったのと同じ方法により丸めて整数値にした後に、整数値の符号化パラメータLを用いて第三から第五実施形態の整数復号部160の何れかの処理と同じ処理により整数系列x1, x2, …, xNを得て出力する(S460)。
なお、Golombパラメータsと符号化パラメータLとは、sで表現される指数分布p(x,2-1/s)とLで表現される指数分布p(x,1-2-1/L)とが同一または近似の関係にあることに基づいて、式(6a), (6b), (8a), (8b)などにより相互に変換可能なものであるので、符号化装置400の整数符号化部410と復号装置450の整数復号部460で同じパラメータの同じ値を用いるようにできるのであれば、何れのパラメータを符号化・復号の対象とするかと上記の変換とをどのように組み合わせて用いてもよい。また、符号化装置400の整数符号化部410と復号装置450の整数復号部460で同じパラメータの同じ値を用いるようにできるのであれば、Golombパラメータsと符号化パラメータLのどちらの値を丸め処理の対象としてもよいし、パラメータの符号化前後(すなわち量子化前後)のどちらの値を丸めの処理の対象としてもよいし、符号化における値の量子化と丸めの処理を同時に行うようにしてもよい。要するに、第六実施形態及び第七実施形態及びこれらの変形例1と変形例2で説明したのはあくまでも例であって、Nサンプルによるフレームごとに、符号化装置400の整数符号化部410と復号装置450の整数復号部460で同じパラメータの同じ値を用いた符号化処理と復号処理を行えるようにすればよい。
第六実施形態及び第七実施形態では、入力された整数値による系列の部分系列に対して求めたゴロムパラメータs、ライスパラメータr、符号化パラメータLを用いて第三実施形態から第五実施形態の符号化・復号をすることにより、本発明の符号化と復号を実現する形態について説明した。第八実施形態では、ゴロムパラメータs、ライスパラメータr、符号化パラメータLの少なくとも何れかを用いて、本発明の符号化と復号を実現する形態について説明する。
図16及び図17を参照して、第八実施形態の符号化装置400が実行する符号化方法の処理手続きを説明する。第八実施形態の符号化装置400は、図16に示す通り、パラメータ決定部420と整数符号化部410を含む。第八実施形態の符号化装置400が図17に示す各ステップの処理を実行することにより、第八実施形態の符号化方法が実現される。
パラメータ決定部420には、符号化装置400に入力された整数値の系列のうちの、Nサンプルずつの整数系列x1, x2, …, xNが入力される。パラメータ決定部420は、入力された整数系列x1, x2, …, xNに基づき、その整数系列に対応するゴロムパラメータs、ライスパラメータr、符号化パラメータLの少なくとも何れかと、そのゴロムパラメータs、ライスパラメータr、符号化パラメータLの少なくとも何れかを表すパラメータ符号と、を得て出力する(S420)。つまり、パラメータ決定部420は、入力された非負の整数値による系列に含まれる所定サンプル毎の整数値による系列である整数系列ごとに、整数系列に含まれる整数値に基づいてゴロムパラメータsを求める処理と、整数系列に含まれる整数値に基づいてライスパラメータrを求める処理と、整数系列について指数分布p(xn, 1-2-1/L)に対する尤度、尤度の推定値、対数尤度、対数尤度の推定値のいずれかが最大となる符号化パラメータLを求める処理と、の少なくとも何れかと、ゴロムパラメータsとライスパラメータrと符号化パラメータLの少なくとも何れかを符号化してパラメータ符号を得る処理と、を行う。
整数符号化部410には、符号化装置400に入力された整数値の系列のうちの、Nサンプルずつの整数系列x1, x2, …, xNと、パラメータ決定部420が出力したゴロムパラメータs、ライスパラメータr、符号化パラメータLの少なくとも何れかが入力される。整数符号化部410は、符号化パラメータLが入力された場合には、入力された符号化パラメータLを用いて第三から第五実施形態の整数符号化部110の何れかの処理と同じ処理により整数符号を得て出力し、ゴロムパラメータsが入力された場合には、入力されたゴロムパラメータsから得た符号化パラメータLを用いて第三から第五実施形態の整数符号化部110の何れかの処理と同じ処理により整数符号を得て出力し、ライスパラメータrが入力された場合には、入力されたライスパラメータrから得た符号化パラメータLを用いて第三から第五実施形態の整数符号化部110の何れかの処理と同じ処理により整数符号を得て出力する(S410)。つまり、整数符号化部410は、所定サンプル毎の整数値による系列である整数系列ごとに、パラメータ決定部420が得た符号化パラメータL、または、sで表現される指数分布p(x,2-1/s)とLで表現される指数分布p(x,1-2-1/L)とが同一または近似の関係となるように、パラメータ決定部420が得たゴロムパラメータsから得た符号化パラメータL、または、2rであるsで表現される指数分布p(x,2-1/s)とLで表現される指数分布p(x,1-2-1/L)とが同一または近似の関係となるように、パラメータ決定部420が得たライスパラメータrから得た符号化パラメータL、を符号化パラメータLとして用いて符号Aや符号Bの符号を得る。なお、整数系列に対応する符号化パラメータLが1以下である場合、または、整数系列に対応するゴロムパラメータsが1以上である場合、または、整数系列に対応するライスパラメータrが非負である場合には、整数系列をゴロム符号化またはゴロムライス符号化して符号列を得て整数符号として出力するようにしてもよい。
図18及び図19を参照して、第八実施形態の復号装置450が実行する復号方法の処理手続きを説明する。第八実施形態の復号装置450は、図18に示す通り、パラメータ復号部470と整数復号部460を含む。第八実施形態の復号装置450が図19に示す各ステップの処理を実行することにより、第八実施形態の復号方法が実現される。
パラメータ復号部470は、パラメータ決定部420がパラメータ符号を得たのと対応する復号処理により、パラメータ符号を復号してゴロムパラメータsとライスパラメータrと符号化パラメータLの少なくとも何れかを得て出力する(S470)。つまり、パラメータ復号部470は、所定単位ごとに、パラメータ符号を復号してゴロムパラメータsとライスパラメータrと符号化パラメータLの少なくとも何れかを得る。
整数復号部460には、復号装置450に入力された整数符号と、パラメータ復号部470が出力したゴロムパラメータsとライスパラメータrと符号化パラメータLの少なくとも何れかが入力される。整数復号部460は、符号化パラメータLが入力された場合には、入力された符号化パラメータLを用いて第三から第五実施形態の整数復号部160の何れかの処理と同じ処理により整数系列x1, x2, …, xNを得て出力し、ゴロムパラメータsが入力された場合には、入力されたゴロムパラメータsから得た符号化パラメータLを用いて第三から第五実施形態の整数復号部160の何れかの処理と同じ処理により整数系列x1, x2, …, xNを得て出力し、ライスパラメータrが入力された場合には、入力されたライスパラメータrから得た符号化パラメータLを用いて第三から第五実施形態の整数復号部160の何れかの処理と同じ処理により整数系列x1, x2, …, xNを得て出力する(S460)。つまり、整数復号部460は、所定単位ごとに、パラメータ復号部470が得た符号化パラメータL、または、sで表現される指数分布p(x,2-1/s)とLで表現される指数分布p(x,1-2-1/L)とが同一または近似の関係となるように、パラメータ復号部470が得たゴロムパラメータsから得た符号化パラメータL、または、2rであるsで表現される指数分布p(x,2-1/s)とLで表現される指数分布p(x,1-2-1/L)とが同一または近似の関係となるように、パラメータ復号部470が得たライスパラメータrから得た符号化パラメータL、を符号化パラメータLとして用いて整数値0のL個の連続や、0個からL-1個連続する整数値0と、1個の0以外の整数値xnと、による組からなる、整数値による系列を得る。なお、符号化パラメータLが1以下である場合、または、ゴロムパラメータsが1以上である場合、または、ライスパラメータrが非負である場合には、符号列をゴロム復号またはゴロムライス復号して整数値による系列を得て出力するようにしてもよい。
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD-ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
Claims (10)
- 非負の整数値xn、n∈{1, 2, ..., N}による系列(以下、「整数系列」という)を入力として、前記整数系列に含まれる各整数値を予め定めた順に符号化して符号列を得て出力する符号化装置であって、
Lを2以上の整数とし、2KがLを上回る最小の自然数をKとし、2KからLを引いた自然数をpとし、Lから2K-1を引いた自然数をqとし、
ビット値“x”はビット値“1”でありビット値“y”はビット値“0”である、または、ビット値“x”はビット値“0”でありビット値“y”はビット値“1”である、として、
前記予め定めた順の整数値による部分系列が、整数値0のL個の連続である場合には、該L個の連続に対応する符号として、ビット値が“x”である1ビットの符号(以下、「符号A」という)を得、
前記予め定めた順の整数値による部分系列が、0個からL-1個連続する整数値0と、1個の0以外の整数値xnと、による組、である場合には、該組に対応する符号として、1ビット目からKビット目までに少なくとも1つのビット値“x”と少なくとも1つのビット値“y”を含み、かつ、最後からK×(xn-1)ビットはビット値が“y”である、K×xnビットまたはK×xn+1ビットの符号(以下、「符号B」という)を得る処理を、
前記予め定めた順のN個目の整数値が処理されるまで行い、得た符号を連結したものを前記符号列として出力する整数符号化部
を含み、
整数系列における整数値0の0個からL-1個のL通りの連続個数のそれぞれは、
(a)符号BがK×xn+1ビットであるときの、
該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“x”であり、2ビット目からK+1ビット目までのビット値が“y”である、1通りの部分符号と、
(b)符号BがK×xnビットであるときの、
該符号Bの1ビット目からKビット目までのKビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”である、p-1通り(すなわち、2K-L-1通り)の部分符号と、
(c)符号BがK×xn+1ビットであるときの、
該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”であり、かつ、1ビット目からKビット目までのKビットの組が前記(b)のp-1通り(すなわち、2K-L-1通り)とは異なり、K+1ビット目のビット値が“x”または“y”である、2q通り(すなわち、2L-2K通り)の部分符号と、
のL通りの部分符号のうちの何れかと一対一に対応する
符号化装置。 - 請求項1に記載の符号化装置であって、
前記整数系列は、入力された非負の整数値による系列に含まれる所定サンプル毎の整数値による系列であり、
前記整数系列ごとに、
前記整数系列に含まれる整数値に基づいてゴロムパラメータsを求める処理と、
前記整数系列に含まれる整数値に基づいてライスパラメータrを求める処理と、
前記整数系列について指数分布p(xn, 1-2-1/L’ )に対する尤度、尤度の推定値、対数尤度、対数尤度の推定値のいずれかが最大となる符号化パラメータL’を求める処理と、の少なくとも何れかと、
ゴロムパラメータsとライスパラメータrと符号化パラメータL’の少なくとも何れかを符号化してパラメータ符号を得る処理と、
を行うパラメータ決定部を更に含み、
前記整数符号化部は、前記整数系列ごとに、
前記パラメータ決定部が得た符号化パラメータL’、
または、sで表現される指数分布p(x,2-1/s)とL’で表現される指数分布p(x,1-2-1/L’ )とが同一または近似の関係となるように、前記パラメータ決定部が得た前記ゴロムパラメータsから得た符号化パラメータL’、
または、2rであるsで表現される指数分布p(x,2-1/s)とL’で表現される指数分布p(x,1-2-1/L’ )とが同一または近似の関係となるように、前記パラメータ決定部が得た前記ライスパラメータrから得た符号化パラメータL’、
を2以上の整数値に丸めた値を上記Lとして用いる
符号化装置。 - 非負の整数値による系列を入力として、Nサンプルによる所定単位である非負の整数値x n 、n∈{1, 2, ..., N}による系列(以下、「整数系列」という)ごとに符号化する符号化装置であって、
前記符号化装置は、前記整数系列に含まれる各整数値を予め定めた順に符号化して符号列を得て出力するものであり、
前記整数系列ごとに、
前記整数系列に含まれる整数値に基づいてゴロムパラメータsを求める処理と、
前記整数系列に含まれる整数値に基づいてライスパラメータrを求める処理と、
前記整数系列について指数分布p(x n , 1-2 -1/L’ )に対する尤度、尤度の推定値、対数尤度、対数尤度の推定値のいずれかが最大となる符号化パラメータL’を求める処理と、の少なくとも何れかと、
ゴロムパラメータsとライスパラメータrと符号化パラメータL’の少なくとも何れかを符号化してパラメータ符号を得る処理と、
を行うパラメータ決定部と、
前記整数系列に対応する前記符号化パラメータL’が1以下である場合、または、前記整数系列に対応する前記ゴロムパラメータsが1以上である場合、または、前記整数系列に対応する前記ライスパラメータrが非負である場合には、
前記整数系列をゴロム符号化またはゴロムライス符号化して得た符号列を前記符号列として出力し、
それ以外の場合には、
ビット値“x”はビット値“1”でありビット値“y”はビット値“0”である、または、ビット値“x”はビット値“0”でありビット値“y”はビット値“1”である、として、
前記パラメータ決定部が得た符号化パラメータL’、または、sで表現される指数分布p(x,2 -1/s )とL’で表現される指数分布p(x,1-2 -1/L’ )とが同一または近似の関係となるように、前記パラメータ決定部が得た前記ゴロムパラメータsから得た符号化パラメータL’、または、2 r であるsで表現される指数分布p(x,2 -1/s )とL’で表現される指数分布p(x,1-2 -1/L’ )とが同一または近似の関係となるように、前記パラメータ決定部が得た前記ライスパラメータrから得た符号化パラメータL’、を2以上の整数値に丸めた値をLとし、2 K がLを上回る最小の自然数をKとし、2 K からLを引いた自然数をpとし、Lから2 K-1 を引いた自然数をqとし、
前記予め定めた順の整数値による部分系列が、整数値0のL個の連続である場合には、該L個の連続に対応する符号として、ビット値が“x”である1ビットの符号(以下、「符号A」という)を得、
前記予め定めた順の整数値による部分系列が、0個からL-1個連続する整数値0と、1個の0以外の整数値x n と、による組、である場合には、該組に対応する符号として、1ビット目からKビット目までに少なくとも1つのビット値“x”と少なくとも1つのビット値“y”を含み、かつ、最後からK×(x n -1)ビットはビット値が“y”である、K×x n ビットまたはK×x n +1ビットの符号(以下、「符号B」という)を得る処理を、
前記予め定めた順のN個目の整数値が処理されるまで行い、得た符号を連結したものを前記符号列として出力する整数符号化部
を含み、
整数系列における整数値0の0個からL-1個のL通りの連続個数のそれぞれは、
(a)符号BがK×x n +1ビットであるときの、
該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“x”であり、2ビット目からK+1ビット目までのビット値が“y”である、1通りの部分符号と、
(b)符号BがK×x n ビットであるときの、
該符号Bの1ビット目からKビット目までのKビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”である、p-1通り(すなわち、2 K -L-1通り)の部分符号と、
(c)符号BがK×x n +1ビットであるときの、
該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”であり、かつ、1ビット目からKビット目までのKビットの組が前記(b)のp-1通り(すなわち、2 K -L-1通り)とは異なり、K+1ビット目のビット値が“x”または“y”である、2q通り(すなわち、2L-2 K 通り)の部分符号と、
のL通りの部分符号のうちの何れかと一対一に対応する
符号化装置。 - 符号列を入力として、前記符号列に含まれる符号を順に復号して整数値x n 、n∈{1, 2, ..., N}による系列を得て出力する復号装置であって、
Lを2以上の整数とし、2KがLを上回る最小の自然数をKとし、2KからLを引いた自然数をpとし、Lから2K-1を引いた自然数をqとし、
ビット値“x”はビット値“1”でありビット値“y”はビット値“0”である、または、ビット値“x”はビット値“0”でありビット値“y”はビット値“1”である、として、
前記符号列に含まれる符号が、ビット値が“x”である1ビットの符号(以下、「符号A」という)である場合には、該符号Aに対応する整数値0のL個の連続を得、
前記符号列に含まれる符号が、1ビット目からKビット目までに少なくとも1つのビット値“x”と少なくとも1つのビット値“y”を含み、かつ、最後からK×(xn-1)ビットはビット値が“y”である、K×xnビットまたはK×xn+1ビットの符号(以下、「符号B」という)である場合には、該符号Bに対応する、0個からL-1個連続する整数値0と、1個の0以外の整数値xnと、による組を得る処理を、
前記符号列に含まれる符号がなくなるまで行い、得た整数値による系列を前記整数値xn、n∈{1, 2, ..., N}による系列として出力する整数復号部
を含み、
(a)符号BがK×xn+1ビットであるときの、
該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“x”であり、2ビット目からK+1ビット目までのビット値が“y”である、1通りの部分符号と、
(b)符号BがK×xnビットであるときの、
該符号Bの1ビット目からKビット目までのKビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”である、p-1通り(すなわち、2K-L-1通り)の部分符号と、
(c)符号BがK×xn+1ビットであるときの、
該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”であり、かつ、1ビット目からKビット目までのKビットの組が前記(b)のp-1通り(すなわち、2K-L-1通り)とは異なり、K+1ビット目のビット値が“x”または“y”である、2q通り(すなわち、2L-2K通り)の部分符号と、
のL通りの部分符号のそれぞれは、
前記整数復号部により得られる整数値による系列における整数値0の0個からL-1個のL通りの連続個数のうちの何れかと一対一に対応する
復号装置。 - 請求項4に記載の復号装置であって、
前記整数復号部は、前記入力された符号列の最初から順に、
前記入力された符号列を、連続するKビット(以下、「Kビット列」という)ずつ読みこむことと、
前記読み込まれたKビット列が“y”を含むものであるとき、該“y”を含むKビット列の直前のビットが、前記符号Aまたは前記符号Bの終端のビットであると識別することと、を行うことで、
前記入力された符号列に含まれる前記符号Aと前記符号Bを特定する
復号装置。 - 請求項4または5に記載の復号装置であって、
所定単位ごとのパラメータ符号と前記符号列とが入力され、
所定単位ごとに、前記パラメータ符号を復号してゴロムパラメータsとライスパラメータrと符号化パラメータL’の少なくとも何れかを得るパラメータ復号部を更に含み、
前記整数復号部は、所定単位ごとに、
前記パラメータ復号部が得た符号化パラメータL’、
または、sで表現される指数分布p(x,2-1/s)とL’で表現される指数分布p(x,1-2-1/L’ )とが同一または近似の関係となるように、前記パラメータ復号部が得た前記ゴロムパラメータsから得た符号化パラメータL’、
または、2rであるsで表現される指数分布p(x,2-1/s)とL’で表現される指数分布p(x,1-2-1/L’ )とが同一または近似の関係となるように、前記パラメータ復号部が得た前記ライスパラメータrから得た符号化パラメータL’、
を2以上の整数値に丸めた値を上記Lとして用いる
復号装置。 - 符号化装置が、非負の整数値xn、n∈{1, 2, ..., N}による系列(以下、「整数系列」という)を入力として、前記整数系列に含まれる各整数値を予め定めた順に符号化して符号列を得て出力する符号化方法であって、
Lを2以上の整数とし、2KがLを上回る最小の自然数をKとし、2KからLを引いた自然数をpとし、Lから2K-1を引いた自然数をqとし、
ビット値“x”はビット値“1”でありビット値“y”はビット値“0”である、または、ビット値“x”はビット値“0”でありビット値“y”はビット値“1”である、として、
前記予め定めた順の整数値による部分系列が、整数値0のL個の連続である場合には、該L個の連続に対応する符号として、ビット値が“x”である1ビットの符号(以下、「符号A」という)を得、
前記予め定めた順の整数値による部分系列が、0個からL-1個連続する整数値0と、1個の0以外の整数値xnと、による組、である場合には、該組に対応する符号として、1ビット目からKビット目までに少なくとも1つのビット値“x”と少なくとも1つのビット値“y”を含み、かつ、最後からK×(xn-1)ビットはビット値が“y”である、K×xnビットまたはK×xn+1ビットの符号(以下、「符号B」という)を得る処理を、
前記予め定めた順のN個目の整数値が処理されるまで行い、得た符号を連結したものを前記符号列として出力する整数符号化ステップ
を実行する符号化方法であって、
整数系列における整数値0の0個からL-1個のL通りの連続個数のそれぞれは、
(a)符号BがK×xn+1ビットであるときの、
該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“x”であり、2ビット目からK+1ビット目までのビット値が“y”である、1通りの部分符号と、
(b)符号BがK×xnビットであるときの、
該符号Bの1ビット目からKビット目までのKビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”である、p-1通り(すなわち、2K-L-1通り)の部分符号と、
(c)符号BがK×xn+1ビットであるときの、
該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”であり、かつ、1ビット目からKビット目までのKビットの組が前記(b)のp-1通り(すなわち、2K-L-1通り)とは異なり、K+1ビット目のビット値が“x”または“y”である、2q通り(すなわち、2L-2K通り)の部分符号と、
のL通りの部分符号のうちの何れかと一対一に対応する
符号化方法。 - 復号装置が、符号列を入力として、前記符号列に含まれる符号を順に復号して整数値x n 、n∈{1, 2, ..., N}による系列を得て出力する復号方法であって、
Lを2以上の整数とし、2KがLを上回る最小の自然数をKとし、2KからLを引いた自然数をpとし、Lから2K-1を引いた自然数をqとし、
ビット値“x”はビット値“1”でありビット値“y”はビット値“0”である、または、ビット値“x”はビット値“0”でありビット値“y”はビット値“1”である、として、
前記符号列に含まれる符号が、ビット値が“x”である1ビットの符号(以下、「符号A」という)である場合には、該符号Aに対応する整数値0のL個の連続を得、
前記符号列に含まれる符号が、1ビット目からKビット目までに少なくとも1つのビット値“x”と少なくとも1つのビット値“y”を含み、かつ、最後からK×(xn-1)ビットはビット値が“y”である、K×xnビットまたはK×xn+1ビットの符号(以下、「符号B」という)である場合には、該符号Bに対応する、0個からL-1個連続する整数値0と、1個の0以外の整数値xnと、による組を得る処理を、
前記符号列に含まれる符号がなくなるまで行い、得た整数値による系列を前記整数値xn、n∈{1, 2, ..., N}による系列として出力する整数復号ステップ
を実行する復号方法であって、
(a)符号BがK×xn+1ビットであるときの、
該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“x”であり、2ビット目からK+1ビット目までのビット値が“y”である、1通りの部分符号と、
(b)符号BがK×xnビットであるときの、
該符号Bの1ビット目からKビット目までのKビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”である、p-1通り(すなわち、2K-L-1通り)の部分符号と、
(c)符号BがK×xn+1ビットであるときの、
該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”であり、かつ、1ビット目からKビット目までのKビットの組が前記(b)のp-1通り(すなわち、2K-L-1通り)とは異なり、K+1ビット目のビット値が“x”または“y”である、2q通り(すなわち、2L-2K通り)の部分符号と、
のL通りの部分符号のそれぞれは、
前記整数復号ステップにより得られる整数値による系列における整数値0の0個からL-1個のL通りの連続個数のうちの何れかと一対一に対応する
復号方法。 - 請求項1ないし3の何れか1項に記載の符号化装置としてコンピュータを機能させるための符号化プログラム。
- 請求項4ないし6の何れか1項に記載の復号装置としてコンピュータを機能させるための復号プログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018209841A JP7139897B2 (ja) | 2018-11-07 | 2018-11-07 | 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、復号プログラム |
CN201980072412.7A CN112956131B (zh) | 2018-11-07 | 2019-10-25 | 编码装置、解码装置、编码方法、解码方法、计算机可读取的记录介质 |
PCT/JP2019/041820 WO2020095706A1 (ja) | 2018-11-07 | 2019-10-25 | 符号化装置、復号装置、符号列のデータ構造、符号化方法、復号方法、符号化プログラム、復号プログラム |
US17/289,688 US11438009B2 (en) | 2018-11-07 | 2019-10-25 | Encoding apparatus, decoding apparatus, data structure of code sequence, encoding method, decoding method, encoding program, and decoding program |
EP19882886.5A EP3859976B1 (en) | 2018-11-07 | 2019-10-25 | Coding device, decoding device, code string data structure, coding method, decoding method, coding program, and decoding program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018209841A JP7139897B2 (ja) | 2018-11-07 | 2018-11-07 | 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、復号プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020077969A JP2020077969A (ja) | 2020-05-21 |
JP7139897B2 true JP7139897B2 (ja) | 2022-09-21 |
Family
ID=70611996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018209841A Active JP7139897B2 (ja) | 2018-11-07 | 2018-11-07 | 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、復号プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US11438009B2 (ja) |
EP (1) | EP3859976B1 (ja) |
JP (1) | JP7139897B2 (ja) |
CN (1) | CN112956131B (ja) |
WO (1) | WO2020095706A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110771045B (zh) * | 2017-06-22 | 2024-03-29 | 日本电信电话株式会社 | 编码装置、解码装置、编码方法、解码方法、以及记录介质 |
CN114726926B (zh) * | 2022-03-30 | 2023-03-31 | 电子科技大学 | 一种用于拉普拉斯信源的自适应变长编码方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008059752A1 (fr) | 2006-11-14 | 2008-05-22 | Nippon Telegraph And Telephone Corporation | Procédé d'encodage et procédé de décodage de signal d'image, procédé d'encodage et procédé de décodage de source d'information, dispositifs pour ceux-ci, leurs programmes, et support de mémoire avec programme enregistré |
JP2013110763A (ja) | 2009-05-20 | 2013-06-06 | Nippon Telegr & Teleph Corp <Ntt> | 符号化方法、符号化装置、プログラム及び記録媒体 |
WO2019021552A1 (ja) | 2017-07-25 | 2019-01-31 | 日本電信電話株式会社 | 符号化装置、復号装置、符号列のデータ構造、符号化方法、復号方法、符号化プログラム、復号プログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE527621C2 (sv) * | 2003-06-10 | 2006-04-25 | Jan-Olov Stroemberg | Metod och system för komprimering av bilddata |
US6987468B1 (en) * | 2004-10-29 | 2006-01-17 | Microsoft Corporation | Lossless adaptive encoding and decoding of integer data |
US7486211B2 (en) * | 2007-04-13 | 2009-02-03 | Apple Inc. | Method and system for entropy coding |
EP3252762B1 (en) * | 2012-10-01 | 2019-01-30 | Nippon Telegraph and Telephone Corporation | Encoding method, encoder, program and recording medium |
EP3385948B1 (en) * | 2014-03-24 | 2019-08-14 | Nippon Telegraph and Telephone Corporation | Encoding method, encoder, program and recording medium |
CN104901703B (zh) * | 2015-04-08 | 2018-04-03 | 河海大学 | 一种整数序列快速压缩存储算法 |
-
2018
- 2018-11-07 JP JP2018209841A patent/JP7139897B2/ja active Active
-
2019
- 2019-10-25 EP EP19882886.5A patent/EP3859976B1/en active Active
- 2019-10-25 WO PCT/JP2019/041820 patent/WO2020095706A1/ja unknown
- 2019-10-25 US US17/289,688 patent/US11438009B2/en active Active
- 2019-10-25 CN CN201980072412.7A patent/CN112956131B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008059752A1 (fr) | 2006-11-14 | 2008-05-22 | Nippon Telegraph And Telephone Corporation | Procédé d'encodage et procédé de décodage de signal d'image, procédé d'encodage et procédé de décodage de source d'information, dispositifs pour ceux-ci, leurs programmes, et support de mémoire avec programme enregistré |
JP2013110763A (ja) | 2009-05-20 | 2013-06-06 | Nippon Telegr & Teleph Corp <Ntt> | 符号化方法、符号化装置、プログラム及び記録媒体 |
WO2019021552A1 (ja) | 2017-07-25 | 2019-01-31 | 日本電信電話株式会社 | 符号化装置、復号装置、符号列のデータ構造、符号化方法、復号方法、符号化プログラム、復号プログラム |
Non-Patent Citations (2)
Title |
---|
Ryosuke Sugiura et al.,Optimal Golomb-Rice Code Extension for Lossless Coding of Low-Entropy Exponentially Distributed Sour,IEEE TRANSACTIONS ON INFORMATION THEORY,2018年04月,Vol.64, No.4,pp.3153-3161 |
高村 誠之,八島 由幸,分布写像に基づくガウス性情報源の効率的符号化,映像情報メディア学会誌,2007年09月01日,Vol.61, No.9,pp.95-100 |
Also Published As
Publication number | Publication date |
---|---|
CN112956131A (zh) | 2021-06-11 |
WO2020095706A1 (ja) | 2020-05-14 |
US20220006469A1 (en) | 2022-01-06 |
EP3859976A4 (en) | 2022-07-06 |
US11438009B2 (en) | 2022-09-06 |
CN112956131B (zh) | 2024-03-08 |
EP3859976A1 (en) | 2021-08-04 |
EP3859976B1 (en) | 2023-10-11 |
JP2020077969A (ja) | 2020-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4779098B2 (ja) | 可変サイズベクトルエントロピ符号化を実行するための方法および装置 | |
US10666289B1 (en) | Data compression using dictionary encoding | |
JP7139897B2 (ja) | 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、復号プログラム | |
JP2013081003A (ja) | データ符号化装置及び方法、並びに、データ復号装置及び方法 | |
JP2017527165A (ja) | 制限されたキャリー演算による算術コーディングを遂行するための方法及び装置 | |
JP6885466B2 (ja) | 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、復号プログラム | |
JP7183776B2 (ja) | 符号化装置、復号装置、これらの方法及びプログラム | |
JP2011193451A (ja) | 圧縮された整数データを記憶・転送するためのシステム | |
US20220005229A1 (en) | Point cloud attribute encoding method and device, and point cloud attribute decoding method and devcie | |
US7777653B2 (en) | Decoding variable-length code (VLC) bitstream information | |
JP7173134B2 (ja) | 符号化装置、復号装置、符号化方法、復号方法、プログラム、および記録媒体 | |
EP3644515B1 (en) | Encoding device, decoding device, encoding method, decoding method and program | |
KR100207428B1 (ko) | 허프만 코드 변환에 적응적인 고속 가변장 복호화 장치 및 방법 | |
JP2021064900A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2007508580A (ja) | 高圧縮利得を持つビットストリームの生成 | |
JPH0828668B2 (ja) | 音声信号の符号化方法 | |
JPH0595290A (ja) | 符号化方法および装置 | |
JP2000224423A (ja) | 画像圧縮装置および画像圧縮方法ならびに符号木生成方法ならびに情報記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A80 Effective date: 20181128 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220412 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220428 |
|
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: 20220809 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220822 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7139897 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |