JPWO2019021552A1 - 符号化装置、復号装置、符号列のデータ構造、符号化方法、復号方法、符号化プログラム、復号プログラム - Google Patents
符号化装置、復号装置、符号列のデータ構造、符号化方法、復号方法、符号化プログラム、復号プログラム Download PDFInfo
- Publication number
- JPWO2019021552A1 JPWO2019021552A1 JP2019532376A JP2019532376A JPWO2019021552A1 JP WO2019021552 A1 JPWO2019021552 A1 JP WO2019021552A1 JP 2019532376 A JP2019532376 A JP 2019532376A JP 2019532376 A JP2019532376 A JP 2019532376A JP WO2019021552 A1 JPWO2019021552 A1 JP WO2019021552A1
- Authority
- JP
- Japan
- Prior art keywords
- code
- integer
- bit
- encoding
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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/02—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 using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
Abstract
Description
とし、以下の片側ラプラス分布に従う非負整数値の系列に対して近似的に最適な期待ビット長を与えるように符号化できるものである。
≪符号化装置≫
図2及び図3を参照して、第一実施形態の符号化装置100が実行する符号化方法の処理手続きを説明する。第一実施形態の符号化装置100は、図2に示す通り、整数符号化部110を含む。第一実施形態の符号化装置100が図3に示す各ステップの処理を実行することにより、第一実施形態の符号化方法が実現される。
整数符号化部110には、符号化装置100に入力された整数値の系列のうちの、Nサンプル(Nは自然数)ずつの整数値による系列が入力される。入力された整数値による系列を整数系列x_1, x_2, …, x_Nとする。整数符号化部110は、予め定めたまたは図示しない手段により入力された2以上の自然数である符号化パラメータKに基づき、整数系列x_1, x_2, …, x_Nを以下の符号木を用いた符号化処理で符号化して符号を得、得た符号を整数符号として出力する(S110)。以下では、整数系列x_1, x_2, …, x_Nの各整数がx_n(nは系列中のサンプル番号であり、n∈{1, 2, ..., N})であるとして説明を行う。
まず、整数符号化部110における符号化処理に用いる符号木を例示する。
次に、各符号木における入力された整数値と当該整数値に対応する符号との関係を説明する。
次に、複数の符号木を用いる規則について説明する。整数符号化部110には、複数の符号木を用いる規則も予め記憶されている。
整数符号化部110は、上述した複数の符号木を用いて、複数の符号木を用いる上述した規則に従って、入力された整数系列x_1, x_2, …, x_Nに含まれる各整数値を予め定めた順に符号化して符号を得、得た符号を整数符号として出力する。例えば、予め定めた順が系列中のサンプル番号順であり、最初に用いる符号木がT(0)である場合に整数符号化部110が行う符号化手順は下記の通りである。
(符号化手順)
1. サンプル番号n,符号木番号の初期値をそれぞれ1,0とする。
2. n=Nとなるまで以下の(i)〜(iv)を繰り返す。
(i) 符号木番号が0なら符号’1’を得る。
(ii) 整数値x_n=0なら、符号木番号に1を加算したものを新たな符号木番号とする。この際、1を加算して符号木番号が2K-1となった場合には0を新たな符号木番号とする。
(iii) 整数値x_n≠0なら、1ビットの’0’と符号木に一対一に対応する対応するK-1ビットとによるKビットの符号を得、さらに、K×(x_n-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)である場合の、入力された整数系列x_1, x_2, x_3, x_4, x_5が0, 0, 2, 0, 0である場合の符号化処理を説明する。まず、始めの整数値x_1=0はT(0)で符号化するので符号’1’を得、符号木番号0に1を加算したものを新たな符号木番号とするので、次の整数値x_2=0の符号化に用いる符号木をT(1)とする。次の整数値x_2=0はT(1)で符号化するので符号は得ず、符号木番号1に1を加算したものを符号木番号とするが、1を加算した符号木番号が2K-1となったので0を新たな符号木番号とし、次の整数値x_3=2の符号化に用いる符号木をT(0)とする。3番目の整数値x_3=2はT(0)で符号化するので符号’10000’を得、新たな符号木番号を1とする規則であるので、次の整数値x_4=0の符号化に用いる符号木をT(1)とする。4番目の整数値x_4=0はT(1)で符号化するので何も符号を追加せず、符号木をT(1)からT(0)へ遷移させる。最後の整数値0はT(0)で符号化するので符号’1’を得る。ここまでで得られた符号は’1100001’であるが、上述した符号化手順の3を行い上述した符号化手順の4を行わない場合には、最初に得た符号’1’を省略し、最終的な整数符号’100001’を得る。
図7及び図8を参照して、第一実施形態の復号装置150が実行する復号方法の処理手続きを説明する。第一実施形態の復号装置150は、図7に示す通り、整数復号部160を含む。第一実施形態の復号装置150が図8に示す各ステップの処理を実行することにより、第一実施形態の復号方法が実現される。
整数復号部160には、復号装置150に入力された整数符号が入力される。整数復号部160は、符号化装置100の整数符号化部110が用いた符号化パラメータKと同じ値であり、予め定めたまたは図示しない手段により入力された2以上の自然数である符号化パラメータKに基づき、入力された整数符号を以下の符号木を用いた復号処理で復号して整数値の系列を得、得た整数系列x_1, x_2, …, x_Nを出力する(S160)。以下では、整数系列x_1, x_2, …, x_Nの各整数がx_n(nは系列中のサンプル番号であり、n∈{1,2, ..., N})であるとして説明を行う。
1. 符号化手順3で符号’1’を取り除いた場合は、整数符号の最初に符号’1’を追加する。
2. 符号木番号の初期値を0とする。
3. 読み込んでない整数符号がなくなるまで以下(i)〜(ii)を繰り返し、読み込んでない整数符号がなくなったら4に進む。
(i) 入力された整数符号を順に、符号木番号に対応する符号木に読み込んだ符号に対応する符号がある間(すなわち、符号木番号に対応する符号木に読み込んだ符号に対応する符号がなくなる1つ前のビットまで)、読み込む。
(ii) 符号木番号に対応する符号木から、読み込んだ符号に対応する符号に対応する整数値を得て、当該符号木の整数値についての符号木の遷移の規則に従って新たな符号木番号を得る。
4. 3の(ii)で得た整数値による系列を整数系列x_1, x_2, …, x_Nとして出力する。
1. 符号化手順3で符号’1’を取り除いた場合は、入力された符号列(整数符号と後続する別符号による符号列)の最初に符号’1’を追加する。
2. サンプル番号n, 符号木番号の初期値をそれぞれ1, 0とする。
3. n=Nとなるまで以下(i)〜(ii)を繰り返す。
(i) 入力された符号列を順に、符号木番号に対応する符号木に読み込んだ符号に対応する符号がある間(すなわち、符号木番号に対応する符号木に読み込んだ符号に対応する符号がなくなる1つ前のビットまで)、読み込む。
(ii) 符号木番号に対応する符号木から、読み込んだ符号に対応する符号に対応する整数値を得て、当該符号木の整数値についての符号木の遷移の規則に従って新たな符号木番号を得て、nに1を加算したものを新たなnとする。
4. 3の(ii)で得た整数値による系列を整数系列x_1, x_2, …, x_Nとして出力する。
1. 符号化手順4で終端符号の追加を行っていない場合は、入力された符号列の最後に終端符号’1’を追加する。また、符号化手順3で符号’1’を取り除かなかった場合は、入力された符号列の最初に符号’1’を取り除く。
2. サンプル番号n, 符号木番号の初期値をそれぞれ1, 0とする。
3. n≧Nとなるまで以下(i)〜(v)を繰り返す。
(i) Kビット全てが符号’0’である間、入力された符号列を順にKビットずつ読み、その間読んだ符号’0’の個数をKで割った数をLとする。
(ii) 符号木番号が0なら、整数値Lを得る。
(iii) 符号木番号が0でないなら、整数値(L+1)を得る。
(iv) 入力された符号列の次の1ビットが符号’1’なら、その1ビットを読み、(2K-1-1)個の整数値0を得、0を新たな符号木番号にして、nに2K-1を加算したものを新たなnとする。
(v) 入力された符号列の次の1ビットが符号’0’なら、その1ビットを含むKビットを読み、そのKビットの符号に対応する数を新たな符号木番号とし、(新しい符号木番号-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による系列を整数系列x_1, x_2, x_3, x_4, x_5として出力する。
ここで本発明の原理を説明する。
第一実施形態では、予め定めた符号木を用いて本発明の符号化と復号を実現する形態を説明したが、予め定めた符号木に代えて、予め定めた対応表を用いることでも、第一実施形態と等価な符号化処理と復号処理を実現することが可能である。この予め定めた対応表を用いる形態を第二実施形態として説明する。
図2及び図3を参照して、第二実施形態の符号化装置200が実行する符号化方法の処理手続きを説明する。第二実施形態の符号化装置200は、図2に示す通り、第一実施形態の符号化装置100と同様、整数符号化部210を含む。第二実施形態の符号化装置200が、第一実施形態の符号化装置100と同様、図3に示す各ステップの処理を実行することにより、第二実施形態の符号化方法が実現される。
整数符号化部210には、符号化装置200に入力された整数値の系列のうちの、Nサンプルずつの整数系列x_1, x_2, …, x_Nが入力される。第二実施形態の整数符号化部210は、2以上の自然数である符号化パラメータKに対応して予め作成して整数符号化部210内に記憶された対応表に基づいて、入力された整数系列x_1, x_2, …, x_Nを符号化して符号を得、得た符号を整数符号として出力する(S210)。
予め記憶された対応表は、零値の連続(0個以上の連続)と1つの非零値との組合せによる整数値の部分系列と、当該部分系列に対応する符号と、の対応関係の規則を格納したものである。K=2とK=3における対応表の例を、それぞれ図9(A,B)と図10(A,B,C,D)に挙げる。対応表に格納された規則は、2K-1個連続した零値による部分系列にはビット値が’1’である1ビットの符号が割り当てられ、それ以外の部分系列、すなわち、0個から2K-1-1個連続した零値とそれに後続する1つの非零値x_nによる部分系列には、それぞれの零値の連続と非零値xの組合せに対してK×x_nビットまたはK×x_n+1ビットの符号が割り当てられる規則である。
整数符号化部210は、上述した対応表を用いて、入力された整数系列x_1, x_2, …, x_Nに含まれる各整数値を予め定めた順に符号化して符号を得、得た符号を整数符号として出力する。例えば、予め定めた順が系列中のサンプル番号順である場合に整数符号化部210が行う符号化手順は下記の通りである。
(符号化手順)
1. サンプル番号nを1とする。
2. n=Nとなるまで、以下の(i)〜(ii)を繰り返す。
(i) x_n以降の2K-1個の整数値の中に非零値がある場合には、x_n以降の最初の非零値までの部分系列に対応する符号を符号表から得て、x_n以降の最初の非零値までのサンプル数をnに加算したものを新たなnとする。
(ii) x_n以降の2K-1個の整数値が全て零値である場合には、 x_n以降の2K-1個の整数値の部分系列に対応する符号を符号表から得て、2K-1をnに加算したものを新たなnとする。
3. 2により得た符号の最後に符号’1’(終端符号)を加える。
4. 3により得た符号を整数符号として出力する。
図7及び図8を参照して、第二実施形態の復号装置250が実行する復号方法の処理手続きを説明する。第二実施形態の復号装置250は、図7に示す通り、第一実施形態の復号装置150と同様、整数復号部260を含む。第二実施形態の復号装置250が、第一実施形態の復号装置150と同様、図8に示す各ステップの処理を実行することにより、第二実施形態の復号方法が実現される。
整数復号部260には、復号装置250に入力された整数符号が入力される。整数復号部260は、予め作成して整数復号部260内に記憶された対応表であり、符号化パラメータKに対応する予め作成された対応表であり、符号化装置200の整数符号化部210内に予め記憶され整数符号化部210で用いられたのと同じ対応表に基づいて、入力された整数符号を復号して整数系列x_1, x_2, …, x_Nを得て出力する(S260)。
第一実施形態及び第二実施形態では、予め定めた符号木または予め定めた対応表を用いて符号化復号する手続き的側面から本発明の符号化と復号を実現する形態について説明した。第三実施形態では、これらの手続きにより得られる符号や整数値の系列というデータ的側面から本発明の符号化と復号を実現する形態について説明する。
図2及び図3を参照して、第三実施形態の符号化装置300が実行する符号化方法の処理手続きを説明する。第三実施形態の符号化装置300は、図2に示す通り、符号化装置100や符号化装置200と同様、整数符号化部310を含む。第三実施形態の符号化装置300が、符号化装置100や符号化装置200と同様、図3に示す各ステップの処理を実行することにより、第三実施形態の符号化方法が実現される。
整数符号化部310は、整数系列に含まれる整数値0の2個から2K-1個のうちの予め定めた何れかの個数の連続に対応する符号として1ビットの符号(以下、「符号A」という)を得、整数系列に含まれる、0個から2K-1-1個連続する整数値0と、1個の0以外の整数値x_nと、による組、に対応する符号としてK×x_nビットまたはK×x_n+1ビットの符号(以下、「符号B」という)を得る(S310)。ただし、Kは2以上の自然数である符号化パラメータを表す。具体的には、Nサンプルずつの整数系列x_1, x_2, …, x_Nを、第一実施形態で説明した符号木や第二実施形態で説明した対応表を用いて符号化して、符号Aや符号Bを得る。ここで、符号Aに対応する整数値0の連続に含まれる0の個数をL(2≦L≦2K-1)とすると、S310で得られる符号Bは、整数値0の0個からL-1個、つまり、予め定めた最大で2K-1-1個の連続とそれに後続する1つの0以外の整数値x_nに対応するK×x_nビットまたはK×x_n+1ビットの符号である。
(符号Bの部分符号)
(1) 符号BがK×x_n+1ビットであるときの、該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“x”であり、2ビット目からK+1ビット目までのビット値が“y”である、1通りの部分符号
(2) 符号BがK×x_nビットであるときの、該符号Bの1ビット目からKビット目までのKビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”である、2K-1-1通りの部分符号
図7及び図8を参照して、第三実施形態の復号装置350が実行する復号方法の処理手続きを説明する。第三実施形態の復号装置350は、図7に示す通り、復号装置150や復号装置250と同様、整数復号部360を含む。第三実施形態の復号装置350が、復号装置150や復号装置250と同様、図8に示す各ステップの処理を実行することにより、第三実施形態の復号方法が実現される。
整数復号部360は、入力された符号列に含まれる1ビットの符号(以下「符号A」という)から、整数値0の2個から2K-1個のうちの予め定めた何れかの個数の連続を得、入力された符号列に含まれるK×x_nビットまたはK×x_n+1ビットの符号(以下、「符号B」という)から、0個から2K-1-1個連続する整数値0と、1個の0以外の整数値x_nと、による組を得る(S360)。ただし、Kは2以上の自然数である符号化パラメータを表す。具体的には、入力された符号列に含まれる符号を、第一実施形態で説明した符号木や第二実施形態で説明した対応表を用いて復号して、符号Aや符号Bに対応する上記整数値の系列を得る。ここで、符号Aから得られる整数値0の連続に含まれる0の個数をL(2≦L≦2K-1)とすると、S360で符号Bから得られる整数値0の連続に含まれる0の個数は0個からL-1個となる。
(符号Bの部分符号)
(1) 符号BがK×x_n+1ビットであるときの、該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“x”であり、2ビット目からK+1ビット目までのビット値が“y”である、1通りの部分符号
(2) 符号BがK×x_nビットであるときの、該符号Bの1ビット目からKビット目までのKビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”である、2K-1-1通りの部分符号
第三実施形態の符号化装置及び復号装置が扱う符号列のデータ構造、つまり、第一実施形態及び第二実施形態の符号化装置が整数値の系列から得た符号列であり、第一実施形態及び第二実施形態の復号装置が整数値の系列を得るために用いる符号列のデータ構造について説明する。
非負値である整数値の系列(以下、「整数系列」という)を表す符号列は、整数系列から符号列を得る符号化装置や符号列から整数系列を得る復号装置で用いられるものである。
(符号Bの部分符号)
(1) 符号BがK×x_n+1ビットであるときの、該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“x”であり、2ビット目からK+1ビット目までのビット値が“y”である、1通りの部分符号
(2) 符号BがK×x_nビットであるときの、該符号Bの1ビット目からKビット目までのKビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”である、2K-1-1通りの部分符号
上述の通り、本発明の符号に用いる符号化パラメータKは、その逆数の対数がGolomb-Rice符号におけるRiceパラメータに対応し、本発明の符号は負値のRiceパラメータに対するGolomb-Rice符号としても解釈できる。従って、従来の最適なRiceパラメータの推定法を基に最適な符号化パラメータKを入力された整数値による系列の部分系列に対して求め、求めた符号化パラメータKを用いた第一実施形態から第三実施形態の整数符号化部の処理をGolomb-Rice符号化と組合せて入力された整数値の系列を符号化してもよく、この符号化に対応する復号を行ってもよい。この形態を第四実施形態として説明する。
図11及び図12を参照して、第四実施形態の符号化装置400が実行する符号化方法の処理手続きを説明する。第四実施形態の符号化装置400は、図11に示す通り、パラメータ決定部420と整数符号化部410を含む。第四実施形態の符号化装置400が図12に示す各ステップの処理を実行することにより、第四実施形態の符号化方法が実現される。
パラメータ決定部420には、符号化装置400に入力された整数値の系列のうちの、Nサンプルずつの整数系列x_1, x_2, …, x_Nが入力される。パラメータ決定部420は、入力された整数系列x_1, x_2, …, x_Nに基づき、その整数系列に対応するRiceパラメータrとそのパラメータを表す符号であるパラメータ符号と、を得て出力する(S420)。パラメータ符号は、復号装置450が当該パラメータ符号を復号することによりパラメータ決定部420が決定したRiceパラメータrを得られるように、Riceパラメータを符号化して得ればよい。
整数符号化部410には、符号化装置400に入力された整数値の系列のうちの、Nサンプルずつの整数系列x_1, x_2, …, x_Nと、パラメータ決定部420が出力したRiceパラメータrが入力される。整数符号化部410は、Riceパラメータrが非負値である場合には、Riceパラメータrの小数第一位を四捨五入するなどによりRiceパラメータrを丸めて整数値にした後に、整数系列x_1, x_2, …, x_Nに対して整数値のRiceパラメータrによるGolomb-Rice符号化を行って、Golomb-Rice符号化により得た符号を整数符号として出力し、Riceパラメータrが負値である場合には、RiceパラメータrからK=2-rによりKの値を得て、得たKの値の小数第一位を四捨五入するなどによりKの値を丸めて整数値にすることで符号化パラメータKを得て、得た符号化パラメータKを用いて第一から第三実施形態の整数符号化部の何れかの処理と同じ処理により整数符号を得て出力する(S410)。なお、符号化パラメータKが1と2の間の値である場合には、例えば、丸め後の整数値を2とすればよい。
図13及び図14を参照して、第四実施形態の復号装置450が実行する復号方法の処理手続きを説明する。第四実施形態の復号装置450は、図13に示す通り、パラメータ復号部470と整数復号部460を含む。第四実施形態の復号装置450が図14に示す各ステップの処理を実行することにより、第四実施形態の復号方法が実現される。
パラメータ復号部470には、復号装置450に入力されたパラメータ符号が入力される。パラメータ復号部470は、パラメータ決定部420がパラメータ符号を得たのと対応する復号処理により、パラメータ符号を復号してRiceパラメータrを得て出力する(S470)。パラメータ復号部470は、例えば、符号化装置400のパラメータ決定部420が行ったスカラ量子化に対応する復号処理により、パラメータ符号に対応するRiceパラメータrの量子化値をRiceパラメータrとして得て出力する。
整数復号部460には、復号装置450に入力された整数符号と、パラメータ復号部470が出力したRiceパラメータrが入力される。整数復号部460は、Riceパラメータrが非負値である場合には、Riceパラメータrを符号化装置400の整数符号化部410が行ったのと同じ方法により丸めて整数値にした後に整数符号に対してRiceパラメータrによるGolomb-Rice復号を行って整数系列x_1, x_2, …, x_Nを得て出力し、Riceパラメータrが負値である場合には、第四実施形態の整数符号化部410と同じ処理でRiceパラメータrを符号化パラメータKに変換して得て、すなわち、RiceパラメータrからK=2-rによりKの値を得て、符号化装置400の整数符号化部410が行ったのと同じ方法によりKの値を丸めて整数値にすることで符号化パラメータKを得て、得た符号化パラメータKを用いて第一から第三実施形態の整数復号部の何れかの処理と同じの処理により整数系列x_1, x_2, …, x_Nを得て出力する(S460)。
第四実施形態では、Golomb-Rice符号化・復号と組み合わせた符号化・復号処理を行ったが、Golomb-Rice符号化・復号と組み合わせないでもよい。Golomb-Rice符号化・復号と組み合わせない形態を第四実施形態の変形例1として説明する。符号化装置401のパラメータ決定部421と復号装置451のパラメータ復号部471の動作は第四実施形態と同じであり、符号化装置401の整数符号化部411と復号装置451の整数復号部461の動作が第四実施形態とは異なる。
整数符号化部411には、符号化装置401に入力された整数値の系列のうちの、Nサンプルずつの整数系列x_1, x_2, …, x_Nと、パラメータ決定部421が出力したRiceパラメータrが入力される。整数符号化部411は、Riceパラメータrが非負値である場合には、2を符号化パラメータKとして用いて、第一から第三実施形態の整数符号化部の何れかの処理と同じ処理により整数符号を得て出力し、Riceパラメータrが負値である場合には、RiceパラメータrからK=2-rによりKの値を得て、得たKの値の小数第一位を四捨五入するなどによりKの値を丸めて整数値にすることで符号化パラメータKを得、得た符号化パラメータKを用いて第一から第三実施形態の整数符号化部の何れかの処理と同じ処理により整数符号を得て出力する(S411)。なお、符号化パラメータKが1と2の間の値である場合には、例えば、丸め後の整数値を2とすればよい。
整数復号部461には、復号装置451に入力された整数符号と、パラメータ復号部471が出力したRiceパラメータrが入力される。整数復号部461は、Riceパラメータrが非負値である場合には、2を符号化パラメータKとして用いて、第一から第三実施形態の整数復号部の何れかの処理と同じの処理により整数系列x_1, x_2, …, x_Nを得て出力し、Riceパラメータrが負値である場合には、第四実施形態の整数符号化部410と同じ処理でRiceパラメータrを符号化パラメータKに変換して得て、すなわち、RiceパラメータrからK=2-rによりKの値を得て、符号化装置401の整数符号化部411が行ったのと同じ方法によりKの値を丸めて整数値にすることで符号化パラメータKを得て、得た符号化パラメータKを用いて第一から第三実施形態の整数復号部の何れかの処理と同じの処理により整数系列x_1, x_2, …, x_Nを得て出力する(S461)。
第四実施形態では、整数符号化部410においてRiceパラメータrが負値である場合にRiceパラメータrから符号化パラメータKを得る構成としていたが、パラメータ決定部420においてRiceパラメータrが負値である場合に整数系列から符号化パラメータKを直接得る構成としてもよい。この形態を第四実施形態の変形例2として、第四実施形態と異なる部分について説明する。
第四実施形態のパラメータ決定部420は、Riceパラメータの値に関わらず、Riceパラメータと当該Riceパラメータに対応するパラメータ符号とを必ず出力する構成であったが、第四実施形態の変形例2のパラメータ決定部422は、Riceパラメータrが非負値である場合には、Riceパラメータrと当該Riceパラメータrに対応するパラメータ符号とを出力し、Riceパラメータrが負値である場合には、後述する式(6)により整数系列から符号化パラメータKを得て、符号化パラメータKと当該符号化パラメータKに対応するパラメータ符号とを出力する(S422)。その際、パラメータ符号は、対応する復号装置452がRiceパラメータrの値と符号化パラメータKの値を一意に特定可能な符号とすればよい。例えば、Riceパラメータrを符号化して得た符号の前に1ビットの符号’1’を付したものをパラメータ符号とし、符号化パラメータKを符号化して得た符号の前に1ビットの符号’0’を付したものをパラメータ符号とするなどにより、Riceパラメータrに割り当てるパラメータ符号の符号群と、符号化パラメータKに割り当てる符号群とに同じ符号が含まれないようにすればよい。
整数符号化部412には、符号化装置402に入力された整数値の系列のうちの、Nサンプルずつの整数系列x_1, x_2, …, x_Nと、パラメータ決定部422が出力したRiceパラメータrまたは符号化パラメータKが入力される。整数符号化部412は、Riceパラメータrが入力された場合には、Riceパラメータrを丸めて整数値にし、整数系列x_1, x_2, …, x_Nに対して整数値のRiceパラメータrによるGolomb-Rice符号化を行って、Golomb-Rice符号化により得た符号を整数符号として出力し、符号化パラメータKが入力された場合には、符号化パラメータKを丸めて整数値にし、整数値の符号化パラメータKを用いて第一から第三実施形態の整数符号化部の何れかの処理と同じ処理により整数符号を得て出力する(S412)。なお、符号化パラメータKが1と2の間の値である場合には、例えば、丸め後の整数値を2とすればよい。
第四実施形態のパラメータ復号部470はパラメータ符号を復号してRiceパラメータを得るものであったが、第四実施形態の変形例2のパラメータ復号部472は、パラメータ符号を復号してRiceパラメータrまたは符号化パラメータKを得て出力する(S472)。
整数復号部462には、復号装置452に入力された整数符号と、パラメータ復号部472が出力したRiceパラメータrまたは符号化パラメータKが入力される。整数復号部462は、Riceパラメータrが入力された場合には、Riceパラメータrを符号化装置402の整数符号化部412が行ったのと同じ方法により丸めて整数値にした後に、整数符号に対して整数値のRiceパラメータrによるGolomb-Rice復号を行って整数系列x_1, x_2, …, x_Nを得て出力し、符号化パラメータKが入力された場合には、符号化パラメータKを符号化装置402の整数符号化部412が行ったのと同じ方法により丸めて整数値にした後に、整数値の符号化パラメータKを用いて第一から第三実施形態の整数復号部の何れかの処理と同じの処理により整数系列x_1, x_2, …, x_Nを得て出力する(S462)。
第四実施形態の符号化装置では、まずRiceパラメータrを求めて、求めたRiceパラメータrから符号化パラメータKを求めていたが、符号化パラメータKを、本発明の符号が最適な分布p(x,1/K)に対して尤もらしいKを推定することにより、入力された整数値の系列から直接推定してもよい。この場合、Golomb-Rice符号は1以下の値をとるKによる本発明の符号と解釈することができる。従って、最適な符号化パラメータKを入力された整数値による系列の部分系列から直接求め、求めた符号化パラメータKを用いた第一実施形態から第三実施形態の整数符号化部の処理をGolomb-Rice符号化と組合せて入力された整数値の系列を符号化してもよく、この符号化に対応する復号を行ってもよい。この形態を第五実施形態として説明する。
図11及び図12を参照して、第五実施形態の符号化装置500が実行する符号化方法の処理手続きを説明する。第五実施形態の符号化装置500は、図11に示す通り、パラメータ決定部520と整数符号化部510を含む。第五実施形態の符号化装置500が図12に示す各ステップの処理を実行することにより、第五実施形態の符号化方法が実現される。
パラメータ決定部520には、符号化装置500に入力された整数値の系列のうちの、Nサンプルずつの整数系列x_1, x_2, …, x_Nが入力される。パラメータ決定部520は、入力された整数系列x_1, x_2, …, x_Nに基づき、その整数系列に対応する符号化パラメータKとそのパラメータを表す符号であるパラメータ符号と、を得て出力する(S520)。パラメータ符号は、復号装置550が当該パラメータ符号を復号することによりパラメータ決定部520が決定した符号化パラメータKを得られるように、符号化パラメータKを符号化して得ればよい。
整数符号化部510には、符号化装置500に入力された整数値の系列のうちの、Nサンプルずつの整数系列x_1, x_2, …, x_Nと、パラメータ決定部520が出力した符号化パラメータKが入力される。整数符号化部510は、符号化パラメータKが1以下である場合には、符号化パラメータKからr=-log2Kによりrの値を得て、得たrの値の小数第一位を四捨五入するなどによりrの値を丸めて整数値にすることでRiceパラメータrを得て、得たRiceパラメータrを用いて整数系列x_1, x_2, …, x_Nに対してRiceパラメータrによるGolomb-Rice符号化を行って、Golomb-Rice符号化により得た符号を整数符号として出力し、符号化パラメータKが1よりも大きい場合には、符号化パラメータKの小数第一位を四捨五入するなどによりKの値を丸めて整数値にした後に、整数値の符号化パラメータKを用いて第一から第三実施形態の整数符号化部の何れかの処理と同じ処理により整数符号を得て出力する(S510)。なお、符号化パラメータKが1と2の間の値である場合には、例えば、丸め後の整数値を2とすればよい。
図13及び図14を参照して、第五実施形態の復号装置550が実行する復号方法の処理手続きを説明する。第五実施形態の復号装置550は、図13に示す通り、パラメータ復号部570と整数復号部560を含む。第五実施形態の復号装置550が図14に示す各ステップの処理を実行することにより、第五実施形態の復号方法が実現される。
パラメータ復号部570には、復号装置550に入力されたパラメータ符号が入力される。パラメータ復号部570は、パラメータ決定部520がパラメータ符号を得たのと対応する復号処理により、パラメータ符号を復号して符号化パラメータKを得て出力する(S570)。パラメータ復号部570は、例えば、符号化装置500のパラメータ決定部520が行ったスカラ量子化に対応する復号処理により、パラメータ符号に対応する符号化パラメータKの量子化値を符号化パラメータKとして得て出力する。
整数復号部560には、復号装置550に入力された整数符号と、パラメータ復号部570が出力した符号化パラメータKが入力される。整数復号部560は、符号化パラメータKが1以下である場合には、第五実施形態の整数符号化部510と同じ処理で符号化パラメータKをRiceパラメータrに変換して得て、すなわち、符号化パラメータKからr=-log2Kによりrの値を得て、符号化装置500の整数符号化部510が行ったのと同じ方法によりrの値を丸めて整数値にすることでRiceパラメータrを得て、得たRiceパラメータrを用いて整数符号に対してRiceパラメータrによるGolomb-Rice復号を行って整数系列x_1, x_2, …, x_Nを得て出力し、符号化パラメータKが1よりも大きい場合には、符号化パラメータKを符号化装置500の整数符号化部510が行ったのと同じ方法により丸めて整数値にした後に、整数値の符号化パラメータKを用いて第一から第三実施形態の整数復号部の何れかの処理と同じ処理により整数系列x_1, x_2, …, x_Nを得て出力する(S560)。
第五実施形態では、Golomb-Rice符号化・復号と組み合わせた符号化・復号処理を行ったが、Golomb-Rice符号化・復号と組み合わせないでもよい。Golomb-Rice符号化・復号と組み合わせない形態を第五実施形態の変形例1として説明する。符号化装置501のパラメータ決定部521と復号装置551のパラメータ復号部571の動作は第五実施形態と同じであり、符号化装置501の整数符号化部511と復号装置551の整数復号部561の動作が第五実施形態とは異なる。
整数符号化部511には、符号化装置501に入力された整数値の系列のうちの、Nサンプルずつの整数系列x_1, x_2, …, x_Nと、パラメータ決定部521が出力した符号化パラメータKが入力される。整数符号化部511は、入力された符号化パラメータKの小数第一位を四捨五入するなどによりKの値を丸めて整数値にした後に、整数値の符号化パラメータKが1以下である場合には、2を符号化パラメータKとして用いて、第一から第三実施形態の整数符号化部の何れかの処理と同じ処理により整数符号を得て出力し、整数値の符号化パラメータKが1よりも大きい場合には、整数値の符号化パラメータKを用いて第一から第三実施形態の整数符号化部の何れかの処理と同じ処理により整数符号を得て出力する(S511)。
整数復号部561には、復号装置551に入力された整数符号と、パラメータ復号部571が出力した符号化パラメータKが入力される。整数復号部561は、入力された符号化パラメータKを符号化装置501の整数符号化部511が行ったのと同じ方法により丸めて整数値にした後に、整数値の符号化パラメータKが1以下である場合には、2を符号化パラメータKとして用いて、第一から第三実施形態の整数復号部の何れかの処理と同じ処理により整数系列x_1, x_2, …, x_Nを得て出力し、整数値の符号化パラメータKが1よりも大きい場合には、整数値の符号化パラメータKを用いて第一から第三実施形態の整数復号部の何れかの処理と同じ処理により整数系列x_1, x_2, …, x_Nを得て出力する(S561)。
第五実施形態では、整数符号化部510において符号化パラメータKが1以下である場合に符号化パラメータKからRiceパラメータrを得る構成としていたが、パラメータ決定部520において符号化パラメータKが1以下である場合に整数系列からRiceパラメータrを直接得る構成としてもよい。この形態を第五実施形態の変形例2として、第五実施形態と異なる部分について説明する。
第五実施形態のパラメータ決定部520は、符号化パラメータKの値に関わらず、符号化パラメータKと当該符号化パラメータKに対応するパラメータ符号とを必ず出力する構成であったが、第五実施形態の変形例2のパラメータ決定部522は、符号化パラメータKが1よりも大きい場合には、符号化パラメータKと当該符号化パラメータKに対応するパラメータ符号とを出力し、符号化パラメータKが1以下である場合には、式(5)により整数系列からRiceパラメータrを得て、Riceパラメータrと当該Riceパラメータrに対応するパラメータ符号とを出力する(S522)。その際、第四実施形態の変形例2と同様に、パラメータ符号は、対応する復号装置552がRiceパラメータrの値と符号化パラメータKの値を一意に特定可能な符号とすればよい。
整数符号化部512には、符号化装置502に入力された整数値の系列のうちの、Nサンプルずつの整数系列x_1, x_2, …, x_Nと、パラメータ決定部522が出力した符号化パラメータKまたはRiceパラメータrが入力される。整数符号化部512は、Riceパラメータrが入力された場合には、Riceパラメータrの値を丸めて整数値にした後に、整数系列x_1, x_2, …, x_Nに対して整数値のRiceパラメータrによるGolomb-Rice符号化を行って、Golomb-Rice符号化により得た符号を整数符号として出力し、符号化パラメータKが入力された場合には、符号化パラメータKを丸めて整数値にした後に、整数値の符号化パラメータKを用いて第一から第三実施形態の整数符号化部の何れかの処理と同じ処理により整数符号を得て出力する(S512)。なお、符号化パラメータKが1と2の間の値である場合には、例えば、丸め後の整数値を2とすればよい。
第五実施形態のパラメータ復号部570はパラメータ符号を復号して符号化パラメータKを得るものであったが、第五実施形態の変形例2のパラメータ復号部572は、パラメータ符号を復号して符号化パラメータKまたはRiceパラメータrを得て出力する(S572)。
整数復号部562には、復号装置552に入力された整数符号と、パラメータ復号部572が出力した符号化パラメータKまたはRiceパラメータrが入力される。整数復号部562は、Riceパラメータrが入力された場合には、符号化装置502の整数符号化部512が行ったのと同じ方法によりRiceパラメータrの値を丸めて整数値とし、整数符号に対して整数値のRiceパラメータrによるGolomb-Rice復号を行って整数系列x_1, x_2, …, x_Nを得て出力し、符号化パラメータKが入力された場合には、符号化パラメータKを符号化装置502の整数符号化部512が行ったのと同じ方法により丸めて整数値にした後に、整数値の符号化パラメータKを用いて第一から第三実施形態の整数復号部の何れかの処理と同じ処理により整数系列x_1, x_2, …, x_Nを得て出力する(S562)。
なお、Riceパラメータrと符号化パラメータKとは、K=2-rおよびr=-log2Kにより相互に変換可能なものであるので、符号化装置の整数符号化部と復号装置の整数復号部で同じパラメータの同じ値を用いるようにできるのであれば、何れのパラメータを符号化・復号の対象とするかと上記の変換とをどのように組み合わせて用いてもよい。また、符号化装置の整数符号化部と復号装置の整数復号部で同じパラメータの同じ値を用いるようにできるのであれば、Riceパラメータrと符号化パラメータKのどちらの値を丸め処理の対象としてもよいし、パラメータの符号化前後(すなわち量子化前後)のどちらの値を丸めの処理の対象としてもよいし、符号化における値の量子化と丸めの処理を同時に行うようにしてもよい。要するに、第四実施形態及び第五実施形態及びこれらの変形例1と変形例2で説明したのはあくまでも例であって、Nサンプルによるフレームごとに、符号化装置の整数符号化部と復号装置の整数復号部で同じパラメータの同じ値を用いた符号化処理と復号処理を行えるようにすればよい。
第四実施形態及び第五実施形態では、入力された整数値による系列の部分系列に対して求めたRiceパラメータrまたは符号化パラメータKを用いて第一実施形態から第三実施形態の符号化・復号をすることにより、本発明の符号化と復号を実現する形態について説明した。第六実施形態では、Riceパラメータrと符号化パラメータKの少なくとも何れかを用いて、本発明の符号化と復号を実現する形態について説明する。
図11及び図12を参照して、第六実施形態の符号化装置600が実行する符号化方法の処理手続きを説明する。第六実施形態の符号化装置600は、図11に示す通り、符号化装置400や符号化装置500と同様、パラメータ決定部620と整数符号化部610を含む。第六実施形態の符号化装置600が、符号化装置400や符号化装置500と同様、図12に示す各ステップの処理を実行することにより、第六実施形態の符号化方法が実現される。
パラメータ決定部620には、符号化装置600に入力された整数値の系列のうちの、Nサンプルずつの整数系列x_1, x_2, …, x_Nが入力される。パラメータ決定部620は、入力された整数系列x_1, x_2, …, x_Nに基づき、その整数系列に対応するRiceパラメータrと符号化パラメータKの少なくとも何れかと、そのRiceパラメータrと符号化パラメータKの少なくとも何れかを表すパラメータ符号と、を得て出力する(S620)。つまり、パラメータ決定部620は、入力された非負の整数値による系列に含まれる所定サンプル毎の整数値による系列である整数系列ごとに、整数系列に含まれる整数値に基づいて式(5)によりライスパラメータrを求める処理と、整数系列に含まれる整数値に基づいて式(6)により符号化パラメータKを求める処理と、の少なくとも何れかと、ライスパラメータrと符号化パラメータKの少なくとも何れかを符号化してパラメータ符号を得る処理と、を行う。
整数符号化部610には、符号化装置600に入力された整数値の系列のうちの、Nサンプルずつの整数系列x_1, x_2, …, x_Nと、パラメータ決定部620が出力したRiceパラメータrと符号化パラメータKの少なくとも何れかが入力される。整数符号化部610は、符号化パラメータKが入力された場合には、符号化パラメータKが1以下であれば、第五実施形態と同様、Golomb-Rice符号化を行って、Golomb-Rice符号化により得た符号を整数符号として出力し、符号化パラメータKが1よりも大きければ、第五実施形態と同様、第一から第三実施形態の整数符号化部の何れかの処理と同じ処理により整数符号を得て出力し、Riceパラメータrが入力された場合には、Riceパラメータrが非負値であれば、第四実施形態と同様、Golomb-Rice符号化を行って、Golomb-Rice符号化により得た符号を整数符号として出力し、Riceパラメータrが負値であれば、第四実施形態と同様、第一から第三実施形態の整数符号化部の何れかの処理と同じ処理により整数符号を得て出力する(S610)。つまり、整数符号化部610は、所定サンプル毎の整数値による系列である整数系列ごとに、パラメータ決定部620が得た符号化パラメータK、または、パラメータ決定部620が得たRiceパラメータrからK=2-rにより得た符号化パラメータK、を符号化パラメータKとして用いて符号Aや符号Bの符号を得る。特に、整数系列に対応する符号化パラメータKが1以下である場合、または、整数系列に対応するRiceパラメータrが非負である場合、には、整数系列をGolomb-Rice符号化して符号列を得るようにしてもよい。
図13及び図14を参照して、第六実施形態の復号装置650が実行する復号方法の処理手続きを説明する。第六実施形態の復号装置650は、図13に示す通り、復号装置450や復号装置550と同様、パラメータ復号部670と整数復号部660を含む。第六実施形態の復号装置650が、復号装置450や復号装置550と同様、図14に示す各ステップの処理を実行することにより、第六実施形態の復号方法が実現される。
パラメータ復号部670は、パラメータ決定部620がパラメータ符号を得たのと対応する復号処理により、パラメータ符号を復号してRiceパラメータrと符号化パラメータKの少なくとも何れかを得て出力する(S670)。つまり、パラメータ復号部670は、所定単位ごとに、パラメータ符号を復号してRiceパラメータrと符号化パラメータKの少なくとも何れかを得る。
整数復号部660には、復号装置650に入力された整数符号と、パラメータ復号部670が出力したRiceパラメータrと符号化パラメータKの少なくとも何れかが入力される。整数復号部660は、符号化パラメータKが入力された場合には、符号化パラメータKが1以下であれば、第五実施形態と同様、Golomb-Rice復号を行って整数系列x_1, x_2, …, x_Nを得て出力し、符号化パラメータKが1よりも大きければ、第五実施形態と同様、第一から第三実施形態の整数復号部の何れかの処理と同じ処理により整数系列x_1, x_2, …, x_Nを得て出力し、Riceパラメータrが入力された場合には、Riceパラメータrが非負値であれば、第四実施形態と同様、Golomb-Rice復号を行って整数系列x_1, x_2, …, x_Nを得て出力し、Riceパラメータrが負値であれば、第四実施形態と同様、第一から第三実施形態の整数復号部の何れかの処理と同じの処理により整数系列x_1, x_2, …, x_Nを得て出力する(S660)。つまり、整数復号部660は、所定単位ごとに、パラメータ復号部670が得た符号化パラメータK、または、パラメータ復号部670が得たRiceパラメータrからK=2-rにより得た符号化パラメータK、を符号化パラメータKとして用いて整数値0の2個から2K-1個の連続や、0個から2K-1-1個連続する整数値0と1個の0以外の整数値x_nとによる組からなる、整数値による系列を得る。特に、符号化パラメータKが1以下である場合、または、Riceパラメータrが非負である場合、には、符号列をGolomb-Rice復号して整数値による系列を得るようにしてもよい。
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
Claims (18)
- 入力された非負の整数値x_n、n∈{1, 2, ..., N}による系列(以下、「整数系列」という)について、
Kを2以上の整数として、
前記整数系列に含まれる整数値0の2個から2K-1個のうちの予め定めた何れかの個数であるL個の連続に対応する符号として1ビットの符号(以下、「符号A」という)を得、
前記整数系列に含まれる、0個からL-1個連続する整数値0と、1個の0以外の整数値x_nと、による組、に対応する符号としてK×x_nビットまたはK×x_n+1ビットの符号(以下、「符号B」という)を得る整数符号化部
を含む符号化装置。 - 請求項1に記載の符号化装置であって、
ビット値“x”はビット値“1”でありビット値“y”はビット値“0”である、または、ビット値“x”はビット値“0”でありビット値“y”はビット値“1”である、として、
前記符号Aは、ビット値が“x”である1ビットの符号であり、
前記符号Bは、1ビット目からKビット目までに少なくとも1つのビット値“x”と少なくとも1つのビット値“y”を含み、かつ、最後からK×(x_n-1)ビットはビット値が“y”である
符号化装置。 - 請求項2に記載の符号化装置であって、
Lは2K-1であり、
整数系列における整数値0の0個から2K-1-1個の2K-1通りの連続個数のそれぞれは、
符号BがK×x_n+1ビットであるときの、
該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“x”であり、2ビット目からK+1ビット目までのビット値が“y”である、1通りの部分符号と、
符号BがK×x_nビットであるときの、
該符号Bの1ビット目からKビット目までのKビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”である、2K-1-1通りの部分符号と、
の2K-1通りの部分符号のうちの何れかと一対一に対応する
符号化装置。 - 請求項1ないし3の何れか1項に記載の符号化装置であって、
前記整数系列は、入力された非負の整数値による系列に含まれる所定サンプル毎の整数値による系列であり、
前記整数系列ごとに、
前記整数系列に含まれる整数値に基づいて次式によりライスパラメータrを求める処理と、
前記整数系列に含まれる整数値に基づいて次式により符号化パラメータKを求める処理と、の少なくとも何れかと、
ライスパラメータrと符号化パラメータKの少なくとも何れかを符号化してパラメータ符号を得る処理と、
を行うパラメータ決定部を更に含み、
前記整数符号化部は、前記整数系列ごとに、前記パラメータ決定部が得た符号化パラメータK、または、前記パラメータ決定部が得た前記ライスパラメータrからK=2-rにより得た符号化パラメータK、を上記Kとして用いる
符号化装置。 - 請求項4に記載の符号化装置であって、
前記整数符号化部は、前記整数系列に対応する前記符号化パラメータKが1以下である場合、または、前記整数系列に対応する前記ライスパラメータrが非負である場合、には、前記整数系列をゴロムライス符号化して符号列を得る
符号化装置。 - 入力された符号列について、
Kを2以上の整数として、
前記入力された符号列に含まれる1ビットの符号(以下「符号A」という)から、整数値0の2個から2K-1個のうちの予め定めた何れかの個数であるL個の連続を得、
前記入力された符号列に含まれるK×x_nビットまたはK×x_n+1ビットの符号(以下、「符号B」という)から、0個からL-1個連続する整数値0と、1個の0以外の整数値x_nと、による組を得ることにより整数値x_n、n∈{1, 2, ..., N}による系列を得る整数復号部
を含む復号装置。 - 請求項6に記載の復号装置であって、
ビット値“x”はビット値“1”でありビット値“y”はビット値“0”である、または、ビット値“x”はビット値“0”でありビット値“y”はビット値“1”である、として、
前記符号Aは、ビット値が“x”である1ビットの符号であり、
前記符号Bは、1ビット目からKビット目までに少なくとも1つのビット値“x”と少なくとも1つのビット値“y”を含み、かつ、最後からK×(x_n-1)ビットはビット値が“y”である
復号装置。 - 請求項6または7に記載の復号装置であって、
前記整数復号部は、前記入力された符号列の最初から順に、
前記入力された符号列を、連続するKビット(以下、「Kビット列」という)ずつ読みこむことと、
前記読み込まれたKビット列が“y”を含むものであるとき、該“y”を含むKビット列の直前のビットが、前記符号Aまたは前記符号Bの終端のビットであると識別することと、を行うことで、
前記入力された符号列に含まれる前記符号Aと前記符号Bを特定する
復号装置。 - 請求項7または8に記載の復号装置であって、
Lは2K-1であり、
符号BがK×x_n+1ビットであるときの、
該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“x”であり、2ビット目からK+1ビット目までのビット値が“y”である、1通りの部分符号と、
符号BがK×x_nビットであるときの、
該符号Bの1ビット目からKビット目までのKビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”である、2K-1-1通りの部分符号と、
の2K-1通りの部分符号のそれぞれは、
前記整数復号部により得られた整数値による系列における整数値0の0個から2K-1-1個の2K-1通りの連続個数のうちの何れかと一対一に対応する
復号装置。 - 請求項6ないし9の何れか1項に記載の復号装置であって、
所定単位ごとのパラメータ符号と前記符号列とが入力され、
所定単位ごとに、前記パラメータ符号を復号してライスパラメータrと符号化パラメータKの少なくとも何れかを得るパラメータ復号部を更に含み、
前記整数復号部は、所定単位ごとに、前記パラメータ復号部が得た符号化パラメータK、または、前記パラメータ復号部が得た前記ライスパラメータrからK=2-rにより得た符号化パラメータK、を上記Kとして用いる
復号装置。 - 請求項10に記載の復号装置であって、
前記整数復号部は、前記符号化パラメータKが1以下である場合、または、前記ライスパラメータrが非負である場合、には、前記符号列をゴロムライス復号して整数値による系列を得る
復号装置。 - 非負値である整数値x_n、n∈{1, 2, ..., N}の系列(以下、「整数系列」という)を表す符号列のデータ構造であって、
Kを2以上の整数として、
前記符号列は、前記整数系列から前記符号列を得る符号化装置、または/および、前記符号列から前記整数系列を得る復号装置、で用いられるものであり、
前記整数系列に含まれる整数値0の2個から2K-1個のうちの予め定めた何れかの個数であるL個の連続に対応する符号である1ビットの符号(以下、「符号A」という)と、
前記整数系列に含まれる、0個からL-1個連続する整数値0と、1個の0以外の整数値x_nと、による組、に対応する符号であるK×x_nビットまたはK×x_n+1ビットの符号(以下、「符号B」という)と、
を含む符号列のデータ構造。 - 請求項12に記載の符号列のデータ構造であって、
ビット値“x”はビット値“1”でありビット値“y”はビット値“0”である、または、ビット値“x”はビット値“0”でありビット値“y”はビット値“1”である、として、
前記符号Aは、ビット値が“x”である1ビットの符号であり、
前記符号Bは、1ビット目からKビット目までに少なくとも1つのビット値“x”と少なくとも1つのビット値“y”を含み、かつ、最後からK×(x_n-1)ビットはビット値が“y”である
符号列のデータ構造。 - 請求項13に記載の符号列のデータ構造であって、
Lは2K-1であり、
整数系列における整数値0の0個から2K-1-1個の2K-1通りの連続個数のそれぞれは、
符号BがK×x_n+1ビットであるときの、
該符号Bの1ビット目からK+1ビット目までのK+1ビットで構成され、1ビット目のビット値が“x”であり、2ビット目からK+1ビット目までのビット値が“y”である、1通りの部分符号と、
符号BがK×x_nビットであるときの、
該符号Bの1ビット目からKビット目までのKビットで構成され、1ビット目のビット値が“y”であり、2ビット目からKビット目までのK-1ビット中の少なくとも1ビットのビット値が“x”である、2K-1-1通りの部分符号と、
の2K-1通りの部分符号のうちの何れかと一対一に対応する
符号列のデータ構造。 - 符号化装置が、入力された非負の整数値x_n、n∈{1, 2, ..., N}による系列(以下、「整数系列」という)について、
Kを2以上の整数として、
前記整数系列に含まれる整数値0の2個から2K-1個のうちの予め定めた何れかの個数であるL個の連続に対応する符号として1ビットの符号(以下、「符号A」という)を得、
前記整数系列に含まれる、0個からL-1個連続する整数値0と、1個の0以外の整数値x_nと、による組、に対応する符号としてK×x_nビットまたはK×x_n+1ビットの符号(以下、「符号B」という)を得る整数符号化ステップ
を実行する符号化方法。 - 復号装置が、入力された符号列について、
Kを2以上の整数として、
前記入力された符号列に含まれる1ビットの符号(以下「符号A」という)から、整数値0の2個から2K-1個のうちの予め定めた何れかの個数であるL個の連続を得、
前記入力された符号列に含まれるK×x_nビットまたはK×x_n+1ビットの符号(以下、「符号B」という)から、0個からL-1個連続する整数値0と、1個の0以外の整数値x_nと、による組を得ることにより整数値x_n、n∈{1, 2, ..., N}による系列を得る整数復号ステップ
を実行する復号方法。 - 請求項1ないし5の何れか1項に記載の符号化装置としてコンピュータを機能させるための符号化プログラム。
- 請求項6ないし11の何れか1項に記載の復号装置としてコンピュータを機能させるための復号プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017143403 | 2017-07-25 | ||
JP2017143403 | 2017-07-25 | ||
PCT/JP2018/016227 WO2019021552A1 (ja) | 2017-07-25 | 2018-04-20 | 符号化装置、復号装置、符号列のデータ構造、符号化方法、復号方法、符号化プログラム、復号プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019021552A1 true JPWO2019021552A1 (ja) | 2020-04-09 |
JP6885466B2 JP6885466B2 (ja) | 2021-06-16 |
Family
ID=65041150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019532376A Active JP6885466B2 (ja) | 2017-07-25 | 2018-04-20 | 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、復号プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US10840944B2 (ja) |
EP (1) | EP3661062B1 (ja) |
JP (1) | JP6885466B2 (ja) |
CN (1) | CN110999088A (ja) |
WO (1) | WO2019021552A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7139897B2 (ja) * | 2018-11-07 | 2022-09-21 | 日本電信電話株式会社 | 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、復号プログラム |
Citations (2)
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> | 符号化方法、符号化装置、プログラム及び記録媒体 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6005503A (en) * | 1998-02-27 | 1999-12-21 | Digital Equipment Corporation | Method for encoding and decoding a list of variable size integers to reduce branch mispredicts |
US7193541B2 (en) * | 2001-12-04 | 2007-03-20 | Sun Microsystems, Inc. | Representation of sign in encoding scheme |
US7424467B2 (en) * | 2004-01-26 | 2008-09-09 | International Business Machines Corporation | Architecture for an indexer with fixed width sort and variable width sort |
KR20060051157A (ko) * | 2004-10-29 | 2006-05-19 | 마이크로소프트 코포레이션 | 정수 데이터의 무손실 적응 인코딩 및 디코딩을 위한시스템 및 방법 |
US7015837B1 (en) * | 2004-10-29 | 2006-03-21 | Microsoft Corporation | Lossless adaptive encoding and decoding of integer data |
US7548176B2 (en) * | 2007-07-12 | 2009-06-16 | Donald Martin Monro | Data coding buffer for electrical computers and digital data processing systems |
JP4825916B2 (ja) * | 2007-12-11 | 2011-11-30 | 日本電信電話株式会社 | 符号化方法、復号化方法、これらの方法を用いた装置、プログラム、記録媒体 |
EP2112764A1 (en) * | 2008-04-25 | 2009-10-28 | Thomson Licensing | Method for encoding a sequence of integers, storage device and signal carrying an encoded integer sequence and method for decoding a sequence of integers |
US8180774B2 (en) * | 2008-10-03 | 2012-05-15 | Seomoz, Inc. | Web-scale data processing system and method |
US10404276B1 (en) * | 2018-04-27 | 2019-09-03 | Nicira, Inc. | Stable variable-length order-preserving encoding scheme |
-
2018
- 2018-04-20 WO PCT/JP2018/016227 patent/WO2019021552A1/ja unknown
- 2018-04-20 EP EP18838945.6A patent/EP3661062B1/en active Active
- 2018-04-20 US US16/618,567 patent/US10840944B2/en active Active
- 2018-04-20 CN CN201880048686.8A patent/CN110999088A/zh active Pending
- 2018-04-20 JP JP2019532376A patent/JP6885466B2/ja active Active
Patent Citations (2)
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> | 符号化方法、符号化装置、プログラム及び記録媒体 |
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, vol. 64, no. 4, JPN6021002766, April 2018 (2018-04-01), pages 3153 - 3161, XP011679438, ISSN: 0004435161, DOI: 10.1109/TIT.2018.2799629 * |
高村 誠之,八島 由幸: "分布写像に基づくガウス性情報源の効率的符号化", 映像情報メディア学会誌, vol. 61, no. 9, JPN6021002765, 1 September 2007 (2007-09-01), pages 95 - 100, ISSN: 0004435160 * |
Also Published As
Publication number | Publication date |
---|---|
JP6885466B2 (ja) | 2021-06-16 |
EP3661062A1 (en) | 2020-06-03 |
US20200162102A1 (en) | 2020-05-21 |
WO2019021552A1 (ja) | 2019-01-31 |
EP3661062B1 (en) | 2022-11-09 |
US10840944B2 (en) | 2020-11-17 |
EP3661062A4 (en) | 2021-04-28 |
CN110999088A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006126810A (ja) | 後方適応規則を用いた整数データの無損失適応Golomb−Rice符号化および復号化 | |
JP2006129467A (ja) | 整数データの無損失適応符号化・復号化 | |
JP5570409B2 (ja) | データ圧縮装置及びデータ圧縮方法及びデータ圧縮プログラム | |
WO2020095706A1 (ja) | 符号化装置、復号装置、符号列のデータ構造、符号化方法、復号方法、符号化プログラム、復号プログラム | |
JP2013081003A (ja) | データ符号化装置及び方法、並びに、データ復号装置及び方法 | |
JP6885466B2 (ja) | 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、復号プログラム | |
JP4918103B2 (ja) | 符号化方法、復号方法、それらの装置、プログラム及び記録媒体 | |
JP7183776B2 (ja) | 符号化装置、復号装置、これらの方法及びプログラム | |
JP4848049B2 (ja) | 符号化方法、復号方法、それらの装置、プログラム及び記録媒体 | |
JP7173134B2 (ja) | 符号化装置、復号装置、符号化方法、復号方法、プログラム、および記録媒体 | |
JP4480135B2 (ja) | オーディオ信号圧縮方法 | |
JP6766264B2 (ja) | 符号化装置、復号装置、符号化方法、復号方法、およびプログラム | |
Mohamed | Wireless Communication Systems: Compression and Decompression Algorithms | |
JP2021064900A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2006126592A (ja) | 音声符号化装置、音声復号装置、音声符号化方法及び音声復号方法 | |
JPH0828668B2 (ja) | 音声信号の符号化方法 | |
JP2010118871A (ja) | 画像処理装置、画像処理方法、プログラム及び記憶媒体 | |
JP2000224423A (ja) | 画像圧縮装置および画像圧縮方法ならびに符号木生成方法ならびに情報記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210323 |
|
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: 20210413 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210426 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6885466 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |