(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-08
(45)【発行日】2022-11-16
(54)【発明の名称】符号化装置、復号装置、符号化方法、復号方法、プログラム、および記録媒体
(51)【国際特許分類】
H03M 7/30 20060101AFI20221109BHJP
G10L 19/00 20130101ALI20221109BHJP
【FI】
H03M7/30 Z
G10L19/00 250
(21)【出願番号】P 2020513119
(86)(22)【出願日】2019-03-04
(86)【国際出願番号】 JP2019008388
(87)【国際公開番号】W WO2019198383
(87)【国際公開日】2019-10-17
【審査請求日】2020-09-17
(31)【優先権主張番号】P 2018077457
(32)【優先日】2018-04-13
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100121706
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】杉浦 亮介
(72)【発明者】
【氏名】鎌本 優
(72)【発明者】
【氏名】守谷 健弘
【審査官】阿部 弘
(56)【参考文献】
【文献】特表2017-506771(JP,A)
【文献】特開2003-333339(JP,A)
【文献】国際公開第2010/067800(WO,A1)
【文献】国際公開第2008/059752(WO,A1)
【文献】特開2017-227904(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H03M 7/30
G10L 19/00
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
時間領域のディジタル信号を周波数領域の係数列に変換して非負の整数値にした系列を符号化する符号化装置であって、
上記系列中のS+1個(Sは2以上の整数)の整数値(以下、「入力整数値」という)による組
それぞれについて、
S+1個の上記入力整数値のうちのサンプル番号が一番小さいものを第1整数値として選択し、S+1個の上記入力整数値のうちのサンプル番号が大きいほうのS個の上記入力整数値のうち値が最も大きいものを第2整数値として選択することにより、上記第1整数値と上記第2整数値の2個の整数値(以下、「選択整数値」という)を選択し、
上記第2整数値がS+1個の上記入力整数値のうちのサンプル番号が大きいほうのS個の上記入力整数値の何れであるかを特定するJ値(Jは2以上の整数)の選択情報を得る整数選択部と、
2個の上記選択整数値と、J値の上記選択情報に対応する整数値と、
による組それぞれについて、代数的に表現可能な可逆な変換により、1個の整数値(以下、「変換後整数値」という)を得る整数統合部と、
上記変換後整数値それぞれについて符号を得る方法で符号化して符号を得る整数符号化部と、
を含む符号化装置。
【請求項2】
請求項
1に記載の符号化装置であって、
上記整数統合部は、
上記
2個の選択整数値についての可逆な変換により得られる1個の整数値をJ倍した値に、予め定めたJ個の連続する整数値のうちの上記選択情報に対応する整数値を減算または加算した値を、上記変換後整数値として得る
符号化装置。
【請求項3】
時間領域のディジタル信号を周波数領域の係数列に変換して非負の整数値にした系列中のS+1個(Sは2以上の整数)の整数値による組それぞれに対応するS+1個の出力整数値による組を得る復号装置であって、
符号それぞれについて整数値を得る方法で復号して1個の整数値(以下、「変換後整数値」という)を得る整数復号部と、
1個の上記変換後整数値から、代数的に表現可能な可逆な変換により、
第1整数値と第2整数値の2個の整数値(以下、「選択整数値」という)と、J値(Jは、2以上の整数)の選択情報と、を得る整数分離部と、
上記第1整数値をS+1個の上記出力整数値のうちのサンプル番号が一番小さい上記出力整数値とし、上記第2整数値をS+1個の上記出力整数値のうちのサンプル番号が大きいほうのS個の上記出力整数値のうちの上記選択情報が特定す
る上記出力整数値とし、0を
S-1個の残りの上記出力整数値とすることで、
S+1個の上記出力整数値による組を得る整数組復元部と、
を含む復号装置。
【請求項4】
請求項
3に記載の復号装置であって、
上記整数分離部は、
上記変換後整数値が、上記
2個の選択整数値についての可逆な変換により得られた1個の整数値をJ倍した値に、予め定めたJ個の連続する整数値のうちの上記選択情報に対応する整数値を減算または加算した値であるとして、上記
2個の選択整数値と、上記選択情報に対応する整数値と、を得る
復号装置。
【請求項5】
符号化装置が時間領域のディジタル信号を周波数領域の係数列に変換して非負の整数値にした系列を符号化する符号化方法であって、
整数選択部が、
上記系列中のS+1個(Sは2以上の整数)の整数値(以下、「入力整数値」という)による組
それぞれについて、
S+1個の上記入力整数値のうちのサンプル番号が一番小さいものを第1整数値として選択し、S+1個の上記入力整数値のうちのサンプル番号が大きいほうのS個の上記入力整数値のうち値が最も大きいものを第2整数値として選択することにより、上記第1整数値と上記第2整数値の2個の整数値(以下、「選択整数値」という)を選択し、
上記第2整数値がS+1個の上記入力整数値のうちのサンプル番号が大きいほうのS個の上記入力整数値の何れであるかを特定するJ値(Jは2以上の整数)の選択情報を得る整数選択ステップと、
整数統合部が、
2個の上記選択整数値と、J値の上記選択情報に対応する整数値と、
による組それぞれについて、代数的に表現可能な可逆な変換により、1個の整数値(以下、「変換後整数値」という)を得る整数統合ステップと、
整数符号化部が、上記変換後整数値それぞれについて符号を得る方法で符号化して符号を得る整数符号化ステップと、
を含む符号化方法。
【請求項6】
請求項
5に記載の符号化方法であって、
上記整数統合ステップは、
上記
2個の選択整数値についての可逆な変換により得られる1個の整数値をJ倍した値に、予め定めたJ個の連続する整数値のうちの上記選択情報に対応する整数値を減算または加算した値を、上記変換後整数値として得る
符号化方法。
【請求項7】
復号装置が時間領域のディジタル信号を周波数領域の係数列に変換して非負の整数値にした系列中のS+1個(Sは2以上の整数)の整数値による組それぞれに対応するS+1個の出力整数値による組を得る復号方法であって、
整数復号部が、符号それぞれについて整数値を得る方法で復号して1個の整数値(以下、「変換後整数値」という)を得る整数復号ステップと、
整数分離部が、1個の上記変換後整数値から、代数的に表現可能な可逆な変換により、
第1整数値と第2整数値の2個の整数値(以下、「選択整数値」という)と、J値(Jは、2以上の整数)の選択情報と、を得る整数分離ステップと、
整数組復元部が、
上記第1整数値をS+1個の上記出力整数値のうちのサンプル番号が一番小さい上記出力整数値とし、上記第2整数値をS+1個の上記出力整数値のうちのサンプル番号が大きいほうのS個の上記出力整数値のうちの上記選択情報が特定す
る上記出力整数値とし、0を
S-1個の残りの上記出力整数値とすることで、
S+1個の上記出力整数値による組を得る整数組復元ステップと、
を含む復号方法。
【請求項8】
請求項
7に記載の復号方法であって、
上記整数分離ステップは、
上記変換後整数値が、上記
2個の選択整数値についての可逆な変換により得られた1個の整数値をJ倍した値に、予め定めたJ個の連続する整数値のうちの上記選択情報に対応する整数値を減算または加算した値であるとして、上記
2個の選択整数値と、上記選択情報に対応する整数値と、を得る
復号方法。
【請求項9】
請求項
5または6に記載の符号化方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項10】
請求項
7または8に記載の復号方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項11】
請求項
5または6に記載の符号化方法の各ステップをコンピュータに実行させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【請求項12】
請求項
7または8に記載の復号方法の各ステップをコンピュータに実行させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は音声や音響の時系列ディジタル信号のサンプル系列などの整数値から成るサンプル系列を符号化、復号する技術に関する。
【背景技術】
【0002】
圧縮を目的としてサンプル系列を符号化する技術として、サンプル値を量子化することにより得た有限精度の値(以下、これを整数値と呼ぶ)を可逆符号化することにより、サンプル系列の記述に用いるビット長を削減する技術がある。この技術においては、どの整数値に対してどの長さの符号を割り当てるかが圧縮の性能に直結する。この事実は、画像信号のサンプル列を符号化復号する画像符号化や、音響信号のサンプル列を符号化復号する音響符号化などの、サンプル系列の符号化復号の工学的応用先においても例外ではない。また、可逆符号化はサンプル系列の量子化と組み合わせることで、よりビット長を削減できる非可逆符号化にも応用することができる。
【0003】
一般的に可変長の可逆符号化においては、復号可能性の制約により、整数値に割り当てる符号の構成に制約がある。具体的には、ある整数値に対して短い符号を割り当てるとすると、復号可能な符号にするには、他の整数値に対して長い符号を割り当てなければならない、という制約である。従って、圧縮性能を高くするためには、符号の構成(各整数値への符号の割り当て)は整数値の系列中の値の分布に適したものとする必要がある。具体的には、出現確率が高い整数値に対しては短い符号を割り当て、出現確率が低い整数値に対しては長い符号を割り当てることで、整数値の系列の圧縮後のビット長の期待値を小さくすることができる。
【0004】
サンプル系列を符号化する技術としては、非特許文献1に記載された技術がある。非特許文献1に記載された技術は、音声音響信号の周波数スペクトル系列であるサンプル系列に含まれる各サンプルに割り当てるビット数による系列を得て、ビット数による系列に含まれる各ビット数の符号が得られるように、量子化されたサンプル系列の各サンプルを可逆符号化する技術である。非特許文献1に記載された技術は、音声音響信号の周波数スペクトル系列には振幅値が小さいサンプルがより多く含まれるという統計的な分布を想定して、音声音響信号の周波数スペクトル系列における包絡などを参考に、包絡値などが小さいサンプルほどビット数が少なくなるようなビット数による系列を得て、得られたビット数で音声音響信号の周波数スペクトル系列の各サンプルを符号化するものである。
【先行技術文献】
【非特許文献】
【0005】
【文献】R. Zelinski and P. Noll, "Adaptive transform coding of speech signals," in IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. 25, no. 4, pp. 299-309, Aug 1977.
【発明の概要】
【発明が解決しようとする課題】
【0006】
非特許文献1に記載された技術では、ビットレートの高い条件下においては歪みを小さく抑えて圧縮することができるが、周波数スペクトル1サンプルあたりに1以上の整数値のビット数しか割り当てられないため、ビットレートの低い条件下では圧縮の効率が低下し、サンプル系列に割り当てられる平均ビット数に対する復号サンプル系列の歪みが大きくなってしまうという課題がある。
【0007】
本発明は、1サンプルあたりに小数値のビット数を実質的に割り当てる符号化及び復号を実現することを目的とする。
【課題を解決するための手段】
【0008】
上記の課題を解決するために、この発明の第一の態様の符号化装置は、入力されたL個(Lは3以上の整数)の整数値(以下、「入力整数値」という)による組について、L個の入力整数値からM個(Mは、L未満の2以上の整数)の整数値(以下、「選択整数値」という)を選択し、選択したM個の選択整数値がL個の入力整数値の何れであるかを特定するJ値(Jは2以上の整数)の選択情報を得る整数選択部と、M個の選択整数値と、J値の選択情報に対応する整数値と、について、可逆な変換により、1個の整数値(以下、「変換後整数値」という)を得る整数統合部と、変換後整数値を符号化して符号を得る整数符号化部と、を含む。
【0009】
上記の課題を解決するために、この発明の第二の態様の復号装置は、符号を復号して1個の整数値(以下、「変換後整数値」という)を得る整数復号部と、1個の変換後整数値から、可逆な変換により、M個(Mは、2以上の整数)の整数値(以下、「選択整数値」という)と、J値(Jは、2以上の整数)の選択情報と、を得る整数分離部と、M個の選択整数値を、L個(LはMより大きい整数)の整数値(以下、「出力整数値」という)のうちの選択情報が特定するM個の出力整数値とし、0をL-M個の残りの出力整数値とすることで、L個の出力整数値による組を得る整数組復元部と、を含む。
【発明の効果】
【0010】
この発明によれば、1サンプルあたりに小数値のビット数を実質的に割り当てる符号化及び復号を実現することができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、符号化装置の機能構成を例示する図である。
【
図2】
図2は、符号化方法の処理手続きを例示する図である。
【
図3】
図3は、整数変換部の機能構成を例示する図である。
【
図4】
図4は、整数値(系列)の変換方法の処理手続きを例示する図である。
【
図5】
図5は、復号装置の機能構成を例示する図である。
【
図6】
図6は、復号方法の処理手続きを例示する図である。
【
図7】
図7は、整数逆変換部の機能構成を例示する図である。
【
図8】
図8は、変換後整数値(系列)の逆変換方法の処理手続きを例示する図である。
【発明を実施するための形態】
【0012】
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【0013】
文中で使用する記号「~」は、本来直後の文字の真上に記載されるべきものであるが、テキスト記法の制限により、当該文字の直前に記載する。数式中においてはこれらの記号は本来の位置、すなわち文字の真上に記述している。
【0014】
<第一実施形態>
≪符号化装置≫
図1および
図2を参照して、第一実施形態の符号化装置が実行する符号化方法の処理手続きを説明する。第一実施形態の符号化装置100は、
図1に示すように、整数変換部11および整数符号化部12を例えば備える。この符号化装置100が
図2に示すステップS11およびステップS12の処理を実行することにより、第一実施形態の符号化方法が実現される。
【0015】
第一実施形態の符号化装置100には、整数値による系列が入力される。この整数値による系列としては、例えば、マイクロホンで収音した音声や音楽などを時間領域もしくは周波数領域のディジタル信号に変換して得た信号やカメラで撮像した画像や映像を時間領域もしくは周波数領域のディジタル信号に変換して得た信号などの一部あるいは全部を既存の技術により量子化し、有限精度の値にして得たものを入力してもよい。より具体的には、例えば、時間領域の音信号を所定の時間長のフレーム単位で周波数領域の3N点(Nは正の整数)のMDCT係数列に変換し、MDCT係数列の各係数を非負の整数値にして得た整数値による系列や、時間領域の音信号を所定の時間長のフレーム単位で各サンプル値を非負の整数値にして得た整数値による系列である。
【0016】
第一実施形態の符号化装置100は、入力された非負の整数値による系列中の3個の整数値による組(以下、整数組とも呼ぶ)それぞれについて、3個の整数値から2個の整数値を選択し、選択したものを特定する選択情報を得て、2個の整数値と選択情報による組について可逆な変換(逆変換可能な変換)により1個の整数値を得て、得た整数値による系列に含まれる各整数値を1ビット以上の整数ビット数で符号化することで、符号化装置100に入力された非負の整数値それぞれ1サンプルあたりに小数値のビット数を実質的に割り当てる符号化処理を実現するものである。
【0017】
[整数変換部11]
整数変換部11には、符号化装置100に入力された整数値による系列のうちの、3Nサンプル(Nは自然数)ずつの整数値による系列が入力される。入力された整数値による系列を整数系列x_1, x_2, …, x_3Nとする。整数変換部11は、入力された整数系列x_1, x_2, …, x_3NからN個の整数値による系列y_1, y_2, …, y_Nを得て整数符号化部12に出力する(ステップS11)。整数変換部11は、
図3に示すように、整数組生成部111および整数選択部112および整数統合部113を例えば備え、
図4に示すステップS111およびステップS112およびステップS113の処理を実行する。
【0018】
[[整数組生成部111]]
整数組生成部111は、入力された整数系列x_1, x_2, …, x_3Nから所定の規則に従って3個の整数値による整数組をN組得て整数選択部112に出力する(ステップS111)。N組の整数組を得る所定の規則は、入力された整数系列x_1, x_2, …, x_3N内の順番が連続する3個の整数値を整数組とする規則、すなわち、x_1とx_2とx_3、x_4とx_5とx_6、・・・、x_3N-2とx_3N-1とx_3Nをそれぞれ整数組とする規則などの、予め定めて符号化装置100と後述する復号装置200に予め記憶しておける規則であればどのような規則であってもよい。
【0019】
[[整数選択部112]]
整数選択部112は、入力されたそれぞれの整数組について、3個の整数値のうちの2個の整数値を選択して、選択した2個の整数値である第1整数値と第2整数値と、選択したものを特定する情報である選択情報と、を整数統合部113に出力する(ステップS112)。
【0020】
具体的には、整数選択部112は、入力されたそれぞれの整数組について、3個の整数値のうちのサンプル番号が一番小さいものを第1整数値として選択する。また、整数選択部112は、3個の整数値のうちのサンプル番号が大きいほうの2個の整数値のうち値が大きいほうを第2整数値として選択する。さらに、整数選択部112は、第2整数値が3個の整数値のうちのサンプル番号が大きいほうの2個の整数値のうちのサンプル番号が大きいほうである場合には0を選択情報として得、第2整数値が3個の整数値のうちのサンプル番号が大きいほうの2個の整数値のうちのサンプル番号が小さいほうである場合には1を選択情報として得る。なお、整数選択部112は、3個の整数値のうちのサンプル番号が大きいほうの2個の整数値が等しい場合には、その等しい整数値を第2整数値とし、0を選択情報として得る。この場合には、1を選択情報として得てもよい。なお、選択情報は3個の整数値のうちのサンプル番号が大きいほうの2個の整数値のうちのいずれの整数値を選択したかを示す情報であればどのようなものであってもよいが、ここでは、以降で説明する整数統合部113が計算する式(1)に合うように選択情報を0または1として得るものとした。
【0021】
例えば、x_1とx_2とx_3の整数組であれば、整数選択部112は、サンプル番号が一番小さいx_1を第1整数値として選択する。また、整数選択部112は、x_2とx_3のうち値が大きいほうを第2整数値として選択する。さらに、整数選択部112は、第2整数値がx_3である場合には0を選択情報として得、第2整数値がx_2である場合には1を選択情報として得る。なお、整数選択部112は、x_2とx_3が等しい場合には、その等しい整数値x_2=x_3を第2整数値とし、0を選択情報として得る。
【0022】
3個の整数値による整数組から2個の整数値を自由に選択すると、選択肢は3通りになる。しかし、上述した方法では、3個の整数値から1個の整数値は予め定めた規則により選択し、残りの2個の整数値から1個の整数値を選択する構成を採用することにより、選択肢を2通りに限定し、選択情報の情報量を少なくしている。すなわち、整数選択部112が、2個の整数値から1個の整数値を選択し、選択した1個の整数値が2個の整数値の何れであるかを表す2値の選択情報を得ることを含む動作をするようにしている。
【0023】
またこの構成によれば、例えば、整数変換部11に入力された整数系列が、周波数領域のMDCT係数列の各係数を非負の整数値にして得た整数値による低周波数順の系列である場合には、整数組のうち値が大きい可能性が一番高い最も低い周波数の整数値は必ず選択し、周波数が高いほうの2個の整数値のうちの値が大きいほうを選択することになる。これにより符号化装置100で選択されずに符号化されず、結果的には後述する復号装置200で復号値を得られないMDCT係数による復号信号の歪みを小さく抑えることが期待できる。
【0024】
[[整数統合部113]]
整数統合部113は、それぞれの整数組について、入力された第1整数値と第2整数値と選択情報から可逆な変換(逆変換可能な変換)により1個の整数値を得て、整数符号化部12に出力する(ステップS113)。
【0025】
例えば、整数統合部113は、入力された第1整数値をx1とし、入力された第2整数値をx2とし、入力された選択情報をsとして、式(1)によって1個の整数値yを得る。以下では、整数値yを変換後整数値と呼ぶ。
【0026】
【0027】
式(1)では選択情報sを減算しているが、選択情報sを加算するようにしてもよい。式(1)は、第1整数値と、第2整数値と、選択情報sに対応する整数値(0または1)と、から代数的に表現可能な可逆な変換により1個の変換後整数値を得る方法であるが、整数統合部113が行う変換は、必ずしも代数的に表現可能な変換である必要はなく、第1整数値と、第2整数値と、選択情報sに対応する2値の整数値と、から可逆な変換、すなわち逆変換可能な変換、により1個の変換後整数値を得る方法であればどのような変換であってもよい。ただし、後述する整数符号化部12の符号化処理を考慮すると、整数統合部113が行う変換は、式(1)のように、第1整数値が小さいほど小さな変換後整数値を得、かつ、第2整数値が小さいほど小さな変換後整数値を得、かつ、なるべく小さな変換後整数値を得る変換であることが望ましい。
【0028】
順番が連続する3個の整数値を整数組とする規則であれば、整数統合部113は、整数変換部11に入力された整数系列x_1, x_2, …, x_3Nのうちのx_1とx_2とx_3の整数組から変換後整数値y_1を得て、x_4とx_5とx_6の整数組から変換後整数値y_2を得て、・・・、x_3N-2とx_3N-1とx_3Nの整数組から変換後整数値y_Nを得て、得た変換後整数値による系列である変換後整数系列y_1, y_2, …, y_Nを出力する。
【0029】
なお、N=1の場合には、整数変換部11は、入力された3個の整数値による組について1個の整数値を得て、得た1個の整数値を変換後整数値として出力することになる。
【0030】
[整数符号化部12]
整数符号化部12には、整数変換部11が出力した変換後整数系列y_1, y_2, …, y_Nが入力される。整数符号化部12は、変換後整数系列y_1, y_2, …, y_Nに含まれる各変換後整数値を符号化して、各変換後整数値に対する符号C_1, C_2, …, C_Nをそれぞれ得て、得た符号による符号群を整数符号として出力する(ステップS12)。
【0031】
各変換後整数値を符号化する方法は、変換後整数系列y_1, y_2, …, y_Nに含まれる変換後整数値それぞれについて符号を得る方法であればどのような方法でもよいが、例えば、整数符号化部12は、変換後整数系列y_1, y_2, …, y_Nに含まれる各変換後整数値に割り当てるビット数を決定し、決定したビット数で各変換後整数値を符号化して得た符号C_1, C_2, …, C_Nによる符号群を整数符号として出力する。より具体的には、整数符号化部12は、変換後整数系列y_1, y_2, …, y_Nに含まれる各変換後整数値を二進数で表した符号を得て、得た各符号を決定したビット数に収めて符号C_1, C_2, …, C_Nとし、符号C_1, C_2, …, C_Nによる符号群を整数符号として出力する。
【0032】
≪復号装置≫
図5および
図6を参照して、第一実施形態の復号装置が実行する復号方法の処理手続きを説明する。第一実施形態の復号装置200は、
図5に示すように、整数復号部21および整数逆変換部22を例えば備える。この復号装置200が
図6に示すステップS21およびステップS22の処理を実行することにより、第一実施形態の復号方法が実現される。
【0033】
第一実施形態の復号装置200には、第一実施形態の符号化装置100が出力した整数符号が入力される。第一実施形態の復号装置200は、入力された整数符号を第一実施形態の符号化装置100に対応する復号処理で復号して整数値による系列を得て、得た整数値による系列中の整数値それぞれについて第一実施形態の符号化装置100が行った変換に対応する逆変換により符号化装置100に入力された3個の整数値のうちの2個の整数値を得ることで、第一実施形態の符号化装置100に入力された整数値による系列のうちの3分の2個の整数値を正しく復元するものである。
【0034】
[整数復号部21]
整数復号部21には、復号装置200に入力された整数符号がN個(Nは自然数)ずつ入力される。ここで、入力された整数符号をC_1, C_2, …, C_Nとする。整数復号部21は、入力された各整数符号C_1, C_2, …, C_Nを復号して、整数値y_1, y_2, …, y_Nそれぞれを得て、得た整数値による系列を変換後整数系列y_1, y_2, …, y_Nとして整数逆変換部22に出力する(ステップS21)。各整数符号を復号する方法は、対応する符号化装置100の整数符号化部12が行った符号化方法に対応する復号方法である。すなわち、各整数符号を復号する方法は、整数符号に含まれる各符号C_1, C_2, …, C_Nそれぞれについて整数値を得る方法であり、1個の符号に対して1個の整数値を得る方法である。例えば、整数復号部21は、整数符号に含まれる各符号C_1, C_2, …, C_Nが表す二進数を各整数値y_1, y_2, …, y_Nとして得て、得た整数値による系列を変換後整数系列y_1, y_2, …, y_Nとして整数逆変換部22に出力する。整数値y_1, y_2, …, y_Nそれぞれのことを変換後整数値とも呼ぶ。
【0035】
[整数逆変換部22]
整数逆変換部22には、整数復号部21が出力した変換後整数系列y_1, y_2, …, y_Nが入力される。整数逆変換部22は、入力された変換後整数系列y_1, y_2, …, y_Nから整数系列x_1, x_2, …, x_3Nを得て出力する(ステップS22)。整数逆変換部22は、
図7に示すように、整数分離部221および整数組復元部222および整数系列復元部223を例えば備え、
図8に示すステップS221およびステップS222およびステップS223の処理を実行する。
【0036】
[[整数分離部221]]
整数分離部221は、変換後整数系列に含まれるそれぞれの変換後整数値y_1, y_2, …, y_Nについて、第一実施形態の符号化装置100の整数統合部113が行った変換に対応する逆変換により、2個の整数値である第1整数値x1と第2整数値x2と、選択情報sと、を得て、整数組復元部222に出力する(ステップS221)。
【0037】
例えば、第一実施形態の符号化装置100の整数統合部113が式(1)の変換を行った場合には、整数分離部221は、式(1)の変換の逆の変換として、式(2)と式(3)によって1個の整数値yから第1整数値x1と第2整数値x2と選択情報sを得る。
【0038】
【0039】
【0040】
ここで、式(3)の
【0041】
【0042】
は、y'の平方根の床関数、すなわち、y'の平方根を超えない最も大きい整数である。
【0043】
整数分離部221は、式(3)の演算に代えて、例えば、下記のStep A-1~A-3-1またはStep A-1~A-2, A-3-2の手順を行ってもよい。
【0044】
Step A-1:y'の平方根を超えない最も大きい整数bを得る。
【0045】
Step A-2:bの二乗(b2)を求める。
【0046】
Step A-3-1:y'とbの二乗との差が偶数である場合、すなわち、y'-b2が偶数である場合には、bを整数値x1とし、y'からbの二乗を減算して得た値を2で割って得た値(y'-b2)/2を整数値x2として得る。
【0047】
Step A-3-2:y'とbの二乗との差が奇数である場合、すなわち、y'-b2が奇数である場合には、bを整数値x2とし、y'からbの二乗と1を減算して得た値を2で割って得た値(y'-b2-1)/2を整数値x1として得る。
【0048】
式(2)と式(3)による変換は、式(1)の変換の逆変換であって、1個の変換後整数値から代数的に表現可能な可逆な変換により第1整数値と第2整数値と選択情報に対応する整数値(0または1)とを得る方法であるが、整数分離部221が行う変換は、必ずしも代数的に表現可能な変換である必要はなく、可逆な変換であり、かつ、符号化装置100の整数統合部113が行った変換の逆変換で、1個の変換後整数値から、第1整数値と、第2整数値と、選択情報に対応する2値の整数値と、を得る方法であればどのような変換であってもよい。なお、符号化装置100の整数統合部113が式(1)の選択情報sの減算に代えて加算をした場合には、整数分離部221は式(2)に代えて以下の式(2’)を行えばよい。
【0049】
【0050】
[[整数組復元部222]]
整数組復元部222は、整数逆変換部22に入力された変換後整数系列に含まれるそれぞれの変換後整数値y_1, y_2, …, y_Nについて、整数分離部221から入力された第1整数値x1と第2整数値x2と選択情報s(2値の選択情報)から、符号化装置100の整数選択部112が行った処理に対応する処理によって、3個の整数値による整数組を得て、整数系列復元部223に出力する(ステップS222)。
【0051】
具体的には、整数組復元部222は、整数逆変換部22に入力された変換後整数系列に含まれるそれぞれの変換後整数値y_1, y_2, …, y_Nについて、入力された第1整数値x1を3個の整数値による整数組のうちのサンプル番号が一番小さいものとする。また、整数組復元部222は、選択情報が0である場合には、入力された第2整数値x2を3個の整数値による整数組のうちのサンプル番号が一番大きいものとし、0を3個の整数値による整数組のうちのサンプル番号が2番目に大きいものとし、選択情報が1である場合には、入力された第2整数値x2を3個の整数値による整数組のうちのサンプル番号が2番目に大きいものとし、0を3個の整数値による整数組のうちのサンプル番号が一番大きいものとする。
【0052】
例えば、y_1からx_1とx_2とx_3の整数組を得るのであれば、整数組復元部222は、第1整数値x1をサンプル番号が一番小さいx_1とする。また、整数組復元部222は、選択情報が0である場合には、入力された第2整数値x2をx_3とし、0をx_2とし、選択情報が1である場合には、入力された第2整数値x2をx_2とし、0をx_3とする。
【0053】
この整数組復元部222の動作は、選択肢を2通りに限定して選択情報の情報量を少なくするために、符号化装置100の整数選択部112が、2個の整数値から1個の整数値を選択し、選択した1個の整数値が2個の整数値の何れであるかを表す2値の選択情報を得ることを含む動作をするようにしていることに対応する動作であることから、1個の整数値と、その1個の整数値が2個の整数値の何れであるかを表す2値の選択情報と、から2個の整数値を得る動作を含む。
【0054】
[[整数系列復元部223]]
整数系列復元部223は、整数逆変換部22に入力された変換後整数系列に含まれる変換後整数値y_1, y_2, …, y_Nについての、整数組復元部222から入力された3個の整数値による整数組N組から、第一実施形態の符号化装置100の整数組生成部111が行った規則に対応する規則に従って整数系列x_1, x_2, …, x_3Nを得て出力する(ステップS223)。
【0055】
第一実施形態の符号化装置100の整数組生成部111が行った規則が順番が連続する3個の整数値を整数組とする規則であれば、整数組復元部222は、入力された変換後整数系列y_1, y_2, …, y_Nのうちの変換後整数y_1から整数値x_1と整数値x_2と整数値x_3による整数組を得て、変換後整数y_2から整数値x_4と整数値x_5と整数値x_6による整数組を得て、・・・、変換後整数y_Nから整数値x_3N-2と整数値x_3N-1と整数値x_3Nによる整数組を得て、整数系列復元部223は、整数組復元部222が得た整数組による系列である整数系列x_1, x_2, …, x_3Nを得て出力する。
【0056】
<第二実施形態>
第一実施形態の符号化装置100は、整数選択部112が、2個の整数値から1個の整数値を選択し、選択した1個の整数値が2個の整数値の何れであるかを表す2値の選択情報を得ることを含む動作をするものであったが、符号化装置の整数選択部が、3個以上の整数値から1個の整数値を選択し、選択した1個の整数値が3個以上の整数値の何れであるかを表す3値以上の選択情報を得ることを含む動作をするようにしてもよい。同様に、復号装置の整数組復元部が、1個の整数値とその1個の整数値が3個以上の整数値の何れであるかを表す3値以上の選択情報から3個以上の整数値を得ることを含む動作をするようにしてもよい。
【0057】
第二実施形態ではこの一形態として、入力された非負の整数値による系列中のS+1個(Sは2以上の整数)の整数値による組それぞれについて、整数選択部が、S個の整数値から1個の整数値を選択し、選択した1個の整数値がS個の整数値の何れであるかを表すS値の選択情報を得る動作を含む符号化装置と、これに対応する復号装置、すなわち、整数組復元部が、1個の整数値とその1個の整数値がS個の整数値の何れであるかを表すS値の選択情報からS個の整数値を得る動作を含む復号装置と、について説明する。なお、第一実施形態は第二実施形態のSが2である場合に相当する。
【0058】
≪符号化装置≫
図1および
図2を参照して、第二実施形態の符号化装置が実行する符号化方法の処理手続きを説明する。第二実施形態の符号化装置101は、第一実施形態の符号化装置と同様に、整数変換部13および整数符号化部14を例えば備える。この符号化装置101が
図2に示すステップS13およびステップS14の処理を実行することにより、第二実施形態の符号化方法が実現される。第二実施形態の符号化装置101の整数符号化部14の動作および整数符号化部14が実行するステップS14の処理は第一実施形態の符号化装置100の整数符号化部12の動作および整数符号化部12が実行するステップS12の処理と同じであるため、ここでは、第一実施形態とは動作が異なる整数変換部13についてのみ説明する。
【0059】
第二実施形態の符号化装置101には、第一実施形態の符号化装置100と同様の整数値による系列が入力される。より具体的には、例えば、時間領域の音信号を所定の時間長のフレーム単位で周波数領域の(S+1)N点((S+1)×N点)のMDCT係数列の各係数を非負の整数値にして得た整数値による系列や、時間領域の音信号を所定の時間長のフレーム単位で各サンプル値を非負の整数値にして得た整数値による系列である。
【0060】
[整数変換部13]
整数変換部13には、符号化装置101に入力された整数値による系列のうちの、(S+1)Nサンプルずつの整数値による系列が入力される。入力された整数値による系列を整数系列x_1,x_2, …, x_((S+1)N)とする。整数変換部13は、入力された整数系列x_1, x_2, …, x_((S+1)N)からN個の整数値による系列y_1, y_2, …, y_Nを得て整数符号化部14に出力する(ステップS13)。整数変換部13は、
図3に示すように、整数組生成部131および整数選択部132および整数統合部133を例えば備え、
図4に示すステップS131およびステップS132およびステップS133の処理を実行する。
【0061】
[[整数組生成部131]]
整数組生成部131は、入力された整数系列x_1, x_2, …, x_((S+1)N)から所定の規則に従ってS+1個の整数値による整数組をN組得て整数選択部132に出力する(ステップS131)。N組の整数組を得る所定の規則は、入力された整数系列x_1, x_2, …, x_((S+1)N)内の順番が連続するS+1個の整数値を整数組とする規則、すなわち、x_1からx_(S+1)まで、x_(S+2)からx_((S+1)2)まで、・・・、x_((S+1)(N-1)+1)からx_((S+1)N)まで、をそれぞれ整数組とする規則などの、予め定めて符号化装置101と後述する復号装置201に予め記憶しておける規則であればどのような規則であってもよい。
【0062】
[[整数選択部132]]
整数選択部132は、入力されたそれぞれの整数組について、S+1個の整数値のうちの2個の整数値を選択して、選択した2個の整数値である第1整数値と第2整数値と、選択したものを特定する情報である選択情報と、を整数統合部133に出力する(ステップS132)。
【0063】
具体的には、整数選択部132は、入力されたそれぞれの整数組について、S+1個の整数値のうちのサンプル番号が一番小さいものを第1整数値として選択する。また、整数選択部132は、S+1個の整数値のうちのサンプル番号が大きいほうのS個の整数値のうち値が最も大きいものを第2整数値として選択する。さらに、整数選択部132は、第2整数値がS+1個の整数値のうちのサンプル番号が大きいほうのS個の整数値のうちのサンプル番号が最も大きいものである場合には0を選択情報として得、第2整数値がS+1個の整数値のうちのサンプル番号が大きいほうのS個の整数値のうちのサンプル番号が2番目に大きいものである場合には1を選択情報として得、・・・、第2整数値がS+1個の整数値のうちのサンプル番号が大きいほうのS個の整数値のうちのサンプル番号が最も小さいものである場合にはS-1を選択情報として得る。
【0064】
なお、整数選択部132は、S+1個の整数値のうちのサンプル番号が大きいほうのS個に値が最も大きいものが複数個含まれる場合には、その複数個ある最も大きい整数値を第2整数値とし、複数個ある最も大きい整数値のうちの最も大きいサンプル番号を表す値を選択情報として得る。例えば、S+1個の整数値のうちのサンプル番号が大きいほうのS個の整数値のうちの値が最も大きいものが、サンプル番号が2番目に大きいものとサンプル番号が3番目に大きいものの2個である場合には、2番目に大きいサンプル番号を表す1を選択情報として得る。ただし、この場合には、複数個ある最も大きい整数値のうちの何れかのサンプル番号を表す値を選択情報として得てもよい。
【0065】
例えば、順番が連続する4個の整数値を整数組とするのであれば、x_1とx_2とx_3とx_4の整数組については、整数選択部132は、サンプル番号が一番小さいx_1を第1整数値として選択する。また、整数選択部132は、x_2とx_3とx_4のうち値が最も大きいものを第2整数値として選択する。さらに、整数選択部132は、第2整数値がx_4である場合には0を選択情報として得、第2整数値がx_3である場合には1を選択情報として得、第2整数値がx_2である場合には2を選択情報として得る。なお、整数選択部132は、x_2とx_3とx_4のうちの値が最も大きいものがx_3とx_4の2個である場合には、その等しい整数値x_3=x_4を第2整数値とし、0を選択情報として得る。
【0066】
S+1個の整数値による整数組から2個の整数値を自由に選択すると、選択肢はS+1C2通りになる。しかし、上述した方法では、S+1個の整数値から1個の整数値は予め定めた規則により選択し、残りのS個の整数値から1個の整数値を選択する構成を採用することにより、選択肢をSC1=S通りに限定し、選択情報の情報量を少なくしている。すなわち、整数選択部132が、S個の整数値から1個の整数値を選択し、選択した1個の整数値がS個の整数値の何れであるかを表すS値の選択情報を得ることを含む動作をするようにしている。
【0067】
[[整数統合部133]]
整数統合部133は、それぞれの整数組について、入力された第1整数値と第2整数値と選択情報から可逆な変換(逆変換可能な変換)により1個の整数値を得て、整数符号化部14に出力する(ステップS133)。
【0068】
例えば、整数統合部133は、入力された第1整数値をx1とし、入力された第2整数値をx2とし、入力された選択情報をsとして、式(4)によって1個の整数値yを得る。
【0069】
【0070】
式(4)では選択情報sを減算しているが、選択情報sを加算するようにしてもよい。式(4)は、第1整数値と、第2整数値と、選択情報sに対応する整数値(0からS-1の何れか)と、から代数的に表現可能な可逆な変換により1個の変換後整数値を得る方法であるが、整数統合部133が行う変換は、必ずしも代数的に表現可能な変換である必要はなく、第1整数値と、第2整数値と、選択情報sに対応するS値の整数値、から可逆な変換、すなわち逆変換可能な変換、により1個の変換後整数値を得る方法であればどのような変換であってもよい。ただし、整数符号化部14の符号化処理を考慮すると、整数統合部133が行う変換は、式(4)のように、第1整数値が小さいほど小さな変換後整数値を得、かつ、第2整数値が小さいほど小さな変換後整数値を得、かつ、なるべく小さな変換後整数値を得る変換であることが望ましい。
【0071】
例えば、順番が連続する4個の整数値を整数組とする規則であれば、整数統合部133は、整数変換部13に入力された整数系列x_1, x_2, …, x_4Nのうちのx_1とx_2とx_3とx_4の整数組から変換後整数値y_1を得て、x_5とx_6とx_7とx_8の整数組から変換後整数値y_2を得て、・・・、x_4N-3とx_4N-2とx_4N-1とx_4Nの整数組から変換後整数値y_Nを得て、得た変換後整数値による系列である変換後整数系列y_1, y_2, …, y_Nを出力する。
【0072】
なお、N=1の場合には、整数変換部13は、入力された(S+1)個の整数値による組について1個の整数値を得て、得た1個の整数値を変換後整数値として出力することになる。
【0073】
≪復号装置≫
図5および
図6を参照して、第二実施形態の復号装置が実行する復号方法の処理手続きを説明する。第二実施形態の復号装置201は、第一実施形態の復号装置と同様に、整数復号部23および整数逆変換部24を例えば備える。この復号装置201が
図6に示すステップS23およびステップS24の処理を実行することにより、第二実施形態の復号方法が実現される。
【0074】
第二実施形態の復号装置201には、第二実施形態の符号化装置101が出力した整数符号が入力される。第二実施形態の復号装置201は、入力された整数符号を第二実施形態の符号化装置101に対応する復号処理で復号して整数値による系列を得て、得た整数値による系列中の整数値それぞれについて第二実施形態の符号化装置101が行った変換に対応する逆変換により符号化装置101に入力されたS+1個の整数値のうちの2個の整数値を得ることで、第二実施形態の符号化装置101に入力された整数値による系列のうちの(S+1)分の2個の整数値を正しく復元するものである。
【0075】
第二実施形態の復号装置201の整数復号部23の動作および整数復号部23が実行するステップS23の処理は第一実施形態の復号装置200の整数復号部21の動作および整数復号部21が実行するステップS21の処理と同じであるため、ここでは、第一実施形態とは動作が異なる整数逆変換部24についてのみ説明する。
【0076】
[整数逆変換部24]
整数逆変換部24には、整数復号部23が出力した変換後整数系列y_1, y_2, …, y_Nが入力される。整数逆変換部24は、入力された変換後整数系列y_1, y_2, …, y_Nから整数系列x_1, x_2, …, x_((S+1)N)を得て出力する(ステップS24)。整数逆変換部24は、
図7に示すように、整数分離部241および整数組復元部242および整数系列復元部243を例えば備え、
図8に示すステップS241およびステップS242およびステップS243の処理を実行する。
【0077】
[[整数分離部241]]
整数分離部241は、変換後整数系列に含まれるそれぞれの変換後整数値y_1, y_2, …, y_Nについて、第二実施形態の符号化装置101の整数統合部133が行った変換に対応する逆変換により、2個の整数値である第1整数値x1と第2整数値x2と、選択情報sと、を得て、整数組復元部242に出力する(ステップS241)。
【0078】
例えば、第二実施形態の符号化装置101の整数統合部133が式(4)の変換を行った場合には、整数分離部241は、式(4)の変換の逆の変換として、式(5)と式(6)と式(3)によって1個の整数値yから第1整数値x1と第2整数値x2と選択情報に対応するJ値の整数値sを得る。
【0079】
【0080】
【0081】
整数分離部241は、式(3)の演算に代えて、例えば、上述したStep A-1~A-3-1またはStep A-1~A-2, A-3-2の手順を行ってもよい。
【0082】
式(5)と式(6)と式(3)による変換は、式(4)の変換の逆変換であって、1個の変換後整数値から代数的に表現可能な可逆な変換により第1整数値と第2整数値と選択情報に対応するS値の整数値s(0からS-1の何れか)とを得る方法であるが、整数分離部241が行う変換は、必ずしも代数的に表現可能な変換である必要はなく、可逆な変換であり、かつ、符号化装置101の整数統合部133が行った変換の逆変換で、1個の変換後整数値から、第1整数値と、第2整数値と、選択情報に対応するS値の整数値と、を得る方法であればどのような変換であってもよい。なお、符号化装置101の整数統合部133が式(4)の選択情報sの減算に代えて加算をした場合には、整数分離部241は式(5)と式(6)に代えて以下の式(5’)と式(6’)を行えばよい。
【0083】
【0084】
【0085】
[[整数組復元部242]]
整数組復元部242は、整数逆変換部24に入力された変換後整数系列に含まれるそれぞれの変換後整数値y_1, y_2, …, y_Nについて、整数分離部241から入力された第1整数値x1と第2整数値x2と選択情報s(選択情報に対応するS値の整数値s)から、符号化装置101の整数選択部132が行った処理に対応する処理によって、S+1個の整数値による整数組を得て、整数系列復元部243に出力する(ステップS242)。
【0086】
具体的には、整数組復元部242は、整数逆変換部24に入力された変換後整数系列に含まれるそれぞれの変換後整数値y_1, y_2, …, y_Nについて、入力された第1整数値x1をS+1個の整数値による整数組のうちのサンプル番号が一番小さいものとする。また、整数組復元部242は、選択情報が0である場合には、入力された第2整数値x2をS+1個の整数値による整数組のうちのサンプル番号が一番大きいものとし、0をS+1個の整数値による整数組のうちの残りのS-1個とし、選択情報が1である場合には、入力された第2整数値x2をS+1個の整数値による整数組のうちのサンプル番号が2番目に大きいものとし、0をS+1個の整数値による整数組のうちの残りのS-1個とし、・・・、選択情報がS-1である場合には、入力された第2整数値x2をS+1個の整数値による整数組のうちのサンプル番号が2番目に小さいものとし、0をS+1個の整数値による整数組のうちの残りのS-1個とする。
【0087】
例えば、y_1からx_1とx_2とx_3とx_4の整数組を得るのであれば、整数組復元部242は、第1整数値x1をサンプル番号が一番小さいx_1とする。また、整数組復元部242は、選択情報が0である場合には、入力された第2整数値x2をx_4とし、0をx_2とx_3とし、選択情報が1である場合には、入力された第2整数値x2をx_3とし、0をx_2とx_4とし、選択情報が2である場合には、入力された第2整数値x2をx_2とし、0をx_3とx_4とする。
【0088】
[[整数系列復元部243]]
整数系列復元部243は、整数逆変換部24に入力された変換後整数系列に含まれる変換後整数値y_1, y_2, …, y_Nについての、整数組復元部242から入力されたS+1個の整数値による整数組N組から、第二実施形態の符号化装置101の整数組生成部131が行った規則に対応する規則に従って整数系列x_1, x_2, …, x_((S+1)N)を得て出力する(ステップS243)。
【0089】
第二実施形態の符号化装置101の整数組生成部131が行った規則が順番が連続するS+1個の整数値を整数組とする規則であれば、整数組復元部242は、入力された変換後整数系列y_1, y_2, …, y_Nのうちの変換後整数y_1から整数値x_1から整数値x_(S+1)による整数組を得て、変換後整数y_2から整数値x_(S+2)から整数値x_((S+1)2)による整数組を得て、・・・、変換後整数y_Nから整数値x_((S+1)(N-1)+1)から整数値x_((S+1)N)による整数組を得て、整数系列復元部243は、整数組復元部242が得た整数組による系列である整数系列x_1, x_2, …, x_((S+1)N)を得て出力する。
【0090】
<第三実施形態>
第二実施形態では、符号化装置101の整数選択部132を、S個(Sは2以上の整数)の整数値から1個の整数値を選択し、選択した1個の整数値がS個の整数値の何れであるかを表すS値の選択情報を得る動作を含むようにし、これに対応するように、復号装置201の整数組復元部242が、1個の整数値がS個の整数値の何れであるかを表すS値の選択情報からS個の整数値を得る動作を含むようにする形態について説明した。これに対して、符号化装置の整数選択部は、L個(Lは3以上の整数)の整数値からM個(Mは2以上の整数)の整数値を選択し、選択したM個の整数値がL個の整数値の何れであるかを特定するJ値(Jは2以上の整数)の選択情報を得る動作をし、これに対応するように、復号装置の整数組復元部は、M個の整数値がL個の整数値の何れであるかを特定するJ値の選択情報からL個の整数値を得る動作としてもよい。第三実施形態ではこの一形態について説明する。
【0091】
≪符号化装置≫
図1および
図2を参照して、第三実施形態の符号化装置が実行する符号化方法の処理手続きを説明する。第三実施形態の符号化装置102は、第二実施形態の符号化装置と同様に、整数変換部15および整数符号化部16を例えば備える。この符号化装置102が
図2に示すステップS15およびステップS16の処理を実行することにより、第三実施形態の符号化方法が実現される。
【0092】
第三実施形態の符号化装置102の整数符号化部16の動作および整数符号化部16が実行するステップS16の処理は、第二実施形態の符号化装置101の整数符号化部14の動作および整数符号化部14が実行するステップS14の処理と同じであるため、ここでは、第二実施形態とは動作が異なる整数変換部15についてのみ説明する。
【0093】
第三実施形態の符号化装置102には、第二実施形態の符号化装置101と同様の整数値による系列が入力される。より具体的には、例えば、時間領域の音信号を所定の時間長のフレーム単位で周波数領域のLN点(L×N点)のMDCT係数列の各係数を非負の整数値にして得た整数値による系列や、時間領域の音信号を所定の時間長のフレーム単位で各サンプル値を非負の整数値にして得た整数値による系列である。
【0094】
[整数変換部15]
整数変換部15には、符号化装置102に入力された整数値による系列のうちの、LNサンプルずつの整数値による系列が入力される。入力された整数値による系列を整数系列x_1, x_2, …, x_LNとする。整数変換部15は、入力された整数系列x_1, x_2, …, x_LNからN個の整数値による系列y_1, y_2, …, y_Nを得て整数符号化部16に出力する(ステップS15)。整数変換部15は、
図3に示すように、整数組生成部151および整数選択部152および整数統合部153を例えば備え、
図4に示すステップS151およびステップS152およびステップS153の処理を実行する。
【0095】
[[整数組生成部151]]
整数組生成部151は、入力された整数系列x_1, x_2, …, x_LNから所定の規則に従ってM個の整数値による整数組をN組得て整数選択部152に出力する(ステップS151)。N組の整数組を得る所定の規則は、入力された整数系列x_1, x_2, …, x_LN内の順番が連続するL個の整数値を整数組とする規則、すなわち、x_1からx_Lまで、x_(L+1)からx_2Lまで、・・・、x_(L(N-1)+1)からx_LNまで、をそれぞれ整数組とする規則などの、予め定めて符号化装置102と後述する復号装置202に予め記憶しておける規則であればどのような規則であってもよい。
【0096】
[[整数選択部152]]
整数選択部152は、入力されたそれぞれの整数組について、L個の整数値のうちのM個の整数値を選択して、選択したM個の整数値である第1整数値から第M整数値までと、M個の整数値がL個の整数値の何れであるかを特定するJ値の選択情報と、を整数統合部153に出力する(ステップS152)。
【0097】
[[[整数選択部152の動作の第1例]]]
整数選択部152は、第二実施形態の整数選択部132と同じ動作をしてもよい。この場合には、整数選択部152は、L=S+1、M=2、J=Sとして、整数選択部152が第二実施形態の整数選択部132と同じ動作をする。この場合には、選択情報は、実際には、L個の整数値のうちのサンプル番号が一番小さいものを除くL-1=S個の整数値から選択した1個の整数値のサンプル番号を表す値である。しかし、M個の整数値がL個の整数値の何れであるかを復号側で特定できることが選択情報の目的であることからすると、予め定めた規則も選択情報に含まれると解釈することもできる。したがって、選択情報は、M=2個の整数値がL=S+1個の整数値の何れであるかを特定するJ=S値の選択情報だといえる。
【0098】
整数選択部152が第二実施形態の整数選択部132と同じ動作をすると選択情報は0以上J-1以下の整数値の何れかとなるが、選択情報の値を0以上J-1以下の整数値とするのは必須ではなく、整数選択部152は、予め定めたJ個の連続する整数値のうちの何れかである選択情報を得るようにしてもよい。例えば、選択情報は、1以上J以下の整数値としてもよいし、2以上J+1以下の整数値としてもよい。なお、整数選択部152が得る選択情報を予め定めたJ個の連続する整数値のうちの何れかとしているのは、後述する整数統合部153が行う例えば式(7)の変換を可逆な変換とするためである。したがって、式(7)とは異なる可逆な変換を行う場合には、整数選択部152が得る選択情報を予め定めたJ個の連続する整数値のうちの何れかとするのは必須ではなく、選択情報は上述したようにM個の整数値がL個の整数値の何れであるかを特定するJ値の情報であればよい。
【0099】
[[[整数選択部152の動作の第2例]]]
整数選択部152は、第二実施形態の整数選択部132と同じ動作を複数個含んでもよい。この場合には、例えば、整数選択部152は、L=S1+S2+2(S1とS2は2以上の正の整数)、M=4、J=4として、L個の整数値のうちのS1+1個の整数値について整数選択部152が第二実施形態の整数選択部132と同じ動作をして、S1+1個の整数値から2個の整数値を選択して2値の選択情報を得て、L個の整数値のうちの残りのS2+1個の整数値について整数選択部152が第二実施形態の整数選択部132と同じ動作をして、S2+1個の整数値から2個の整数値を選択して2値の選択情報を得て、選択したM=4個(2個×2)の整数値と、J=4値(2値×2値)の選択情報と、を得るようにすればよい。
【0100】
[[[整数選択部152の動作の第3例]]]
整数選択部152は、第二実施形態の整数選択部132のような予め定めた規則を含まずに、L個の整数値のうちのM個の整数値を自由に選択してもよい。すなわち、整数選択部152は、L個の整数値からM個の整数値を選択し、選択したM個の整数値と、M個の整数値がL個の整数値の何れであるかを特定するJ=LCM値の選択情報を整数統合部153に出力してもよい。
【0101】
[[[整数選択部152の動作のその他の例など]]]
組み合わせは多数あるので説明は省略するが、整数選択部152は、上述した第1例と第3例を組み合わせた動作や上述した第2例と第3例を組み合わせた動作をしてもよい。要するに、整数選択部152は、入力されたそれぞれの整数組について、L個の整数値のうちのM個の整数値を選択して、選択したM個の整数値である第1整数値から第M整数値までと、M個の整数値がL個の整数値の何れであるかを特定するJ値の選択情報と、を整数統合部153に出力する動作をすれば、どのような動作をしてもよい。
【0102】
[[整数統合部153]]
整数統合部153は、それぞれの整数組について、入力された第1整数値から第M整数値までのM個の整数値と、J値の選択情報と、から可逆な変換(逆変換可能な変換)により1個の整数値を得て、整数符号化部16に出力する(ステップS153)。
【0103】
例えば、整数統合部153は、入力された第1整数値から第M整数値までのそれぞれをx1, x2, ..., xMとし、入力されたJ値の選択情報を0からJ-1までの整数値sとして、式(7)によって1個の整数値yを得る。
【0104】
【0105】
ただし、fM’(x1, x2, …, xM’)は、M’個の変数による系列(変数系列)x1, x2, …,xM’を入力とし、1変数を出力とする再帰的な関数であり、M’個の変数x1, x2, …, xM’の最大値をxmax、最大値をとる変数の個数をK、最大値をとるK個の変数それぞれの変数系列内での番号をそれぞれm1, m2, …, mK、変数系列x1, x2, …, xM’から最大値をとる変数を除いたM’-K個の変数による系列を~x1, ~x2, …, ~xM’-K、f0を0、M’CKをM’個からK個を選択する組み合わせの数としたとき、式(8)で表される関数である。
【0106】
【0107】
式(7)では選択情報sを減算しているが、選択情報sを加算するようにしてもよい。また、式(7)において、0からJ-1までの整数値の何れかを選択情報sとするのではなく、入力されたJ値の選択情報のそれぞれに対応するように予め定めたJ個の連続する整数値J0からJ0+J-1までのうちの何れかを選択情報sとしてもよい。式(7)は、第1整数値から第M整数値までのM個の整数値と、J値の選択情報に対応する整数値と、から代数的に表現可能な可逆な変換により1個の変換後整数値を得る方法であるが、整数統合部153が行う変換は、必ずしも代数的に表現可能な変換である必要はなく、可逆な変換、すなわち逆変換可能な変換、により、第1整数値から第M整数値までのM個の整数値と、J値の選択情報に対応する整数値と、から1個の変換後整数値を得る方法であればどのような変換であってもよい。ただし、整数符号化部16の符号化処理を考慮すると、整数統合部153が行う変換は、式(7)のように、第1整数値から第M整数値の各整数値が小さいほど小さな変換後整数値を得、かつ、なるべく小さな変換後整数値を得る変換であることが望ましい。
【0108】
≪復号装置≫
図5および
図6を参照して、第三実施形態の復号装置が実行する復号方法の処理手続きを説明する。第三実施形態の復号装置202は、第二実施形態の復号装置と同様に、整数復号部25および整数逆変換部26を例えば備える。この復号装置202が
図6に示すステップS25およびステップS26の処理を実行することにより、第三実施形態の復号方法が実現される。
【0109】
第三実施形態の復号装置202には、第三実施形態の符号化装置102が出力した整数符号が入力される。第三実施形態の復号装置202は、入力された整数符号を第三実施形態の符号化装置102に対応する復号処理で復号して整数値による系列を得て、得た整数値による系列中の整数値それぞれについて第三実施形態の符号化装置102が行った変換に対応する逆変換により符号化装置102に入力されたL個の整数値のうちのM個の整数値を得ることで、第三実施形態の符号化装置102に入力された整数値による系列のうちのL分のM個の整数値を正しく復元するものである。
【0110】
第三実施形態の復号装置202の整数復号部25の動作および整数復号部25が実行するステップS25の処理は、第二実施形態の復号装置201の整数復号部23の動作および整数復号部23が実行するステップS23の処理と同じであるため、ここでは、第二実施形態とは動作が異なる整数逆変換部26についてのみ説明する。
【0111】
[整数逆変換部26]
整数逆変換部26には、整数復号部25が出力した変換後整数系列y_1, y_2, …, y_Nが入力される。整数逆変換部26は、入力された変換後整数系列y_1, y_2, …, y_Nから整数系列x_1, x_2, …, x_LNを得て出力する(ステップS26)。整数逆変換部26は、
図7に示すように、整数分離部261および整数組復元部262および整数系列復元部263を例えば備え、
図8に示すステップS261およびステップS262およびステップS263の処理を実行する。
【0112】
[[整数分離部261]]
整数分離部261は、変換後整数系列に含まれるそれぞれの変換後整数値y_1, y_2, …, y_Nについて、第三実施形態の符号化装置102の整数統合部153が行った変換に対応する逆変換により、第1整数値x1から第M整数値xMまでのM個の整数値と、選択情報sと、を得て、整数組復元部262に出力する(ステップS261)。
【0113】
例えば、第三実施形態の符号化装置102の整数統合部153が式(7)の変換を行った場合には、整数分離部261は、式(7)の変換の逆の変換として、式(9)と式(10)と式(11)によって1個の整数値yから、第1整数値x1から第M整数値xMまでのM個の整数値と、選択情報に対応するJ値の整数値sと、を得る。
【0114】
【0115】
【0116】
【0117】
ただし、fM’
-1(y')は1変数を入力とし、M’個の変数を出力とする再帰的な関数であり、yを超えない最大のM’次平方根
【0118】
【0119】
【0120】
が0を下回らない最大のKと、
【0121】
【0122】
により得られるM’-K個の変数からなる変数系列~x1, ~x2, …, ~xM’-Kと、
【0123】
【0124】
をM’CKで割った余りであるλM’を用いて、m=0からm=M’-1までに関してそれぞれ、i1=0, i2=0を初期値として式(12)を計算することでM’個の整数値x1, x2, …, xM’を得て、出力する。
【0125】
【0126】
また、f0
-1(y')は何も出力しない関数を意味する。
【0127】
式(9)と式(10)と式(11)による変換は、式(7)の変換の逆変換であって、1個の変換後整数値から代数的に表現可能な可逆な変換により、第1整数値から第M整数値までのM個の整数値と、選択情報に対応するJ値の整数値(0からJ-1の何れか)と、を得る方法であるが、整数分離部261が行う変換は、必ずしも代数的に表現可能な変換である必要はなく、可逆な変換であり、かつ、符号化装置102の整数統合部153が行った変換の逆変換で、第1整数値から第M整数値までのM個の整数値と、選択情報に対応するJ値の整数値と、を得る方法であればどのような変換であってもよい。なお、符号化装置102の整数統合部153が式(7)の選択情報sの減算に代えて加算をした場合には、整数分離部261は式(9)と式(10)に代えて以下の式(9’)と式(10’)を行えばよい。
【0128】
【0129】
【0130】
また、符号化装置102の整数統合部153が、式(7)において、0からJ-1までの整数値の何れかを選択情報sとするのではなく、入力されたJ値の選択情報のそれぞれに対応するように予め定めたJ個の連続する整数値J0からJ0+J-1のうちの何れかを選択情報sとした場合には、整数分離部261は式(9)に代えて以下の式(9”)を行えばよい。
【0131】
【0132】
すなわち、整数分離部261は、符号化装置102の整数統合部153が得た1個の整数値yが、第1整数値から第M整数値までのM個の整数値についての可逆な変換により得られた1個の整数値をJ倍した値に、予め定めたJ個の連続する整数値のうちの選択情報に対応する整数値を減算または加算した値であるとして、1個の整数値yから、第1整数値から第M整数値までのM個の整数値と、選択情報に対応する整数値と、を得ればよい。
【0133】
[[整数組復元部262]]
整数組復元部262は、整数逆変換部26に入力された変換後整数系列に含まれるそれぞれの変換後整数値y_1, y_2, …, y_Nについて、整数分離部261から入力された第1整数値から第M整数値までのM個の整数値と、選択情報s(選択情報に対応するJ値の整数値s)と、から、符号化装置102の整数選択部152が行った処理に対応する処理によって、L個の整数値による整数組を得て、整数系列復元部263に出力する(ステップS262)。
【0134】
[[[整数組復元部262の動作の第1例]]]
符号化装置102の整数選択部152が第1例の動作をした場合には、整数組復元部262は、L=S+1、M=2、J=Sとして、整数組復元部262が第二実施形態の整数組復元部242と同じ動作をする。この場合には、選択情報は、実際には、L個の整数値のうちのサンプル番号が一番小さいものを除くL-1=S個の整数値から1個の整数値のサンプル番号を特定する値である。しかし、符号化装置102の整数選択部152の第1例でも説明した通り、予め定めた規則も選択情報に含まれると解釈することもできる。したがって、選択情報は、M=2個の整数値がL=S+1個の整数値の何れであるかを特定するJ=S値の選択情報だといえる。
【0135】
なお、整数選択部152が、第二実施形態の整数選択部132と同じ動作ではなく、予め定めたJ個の連続する整数値のうちの何れかである選択情報を得る動作をした場合には、整数組復元部262は、その整数選択部152の動作に対応する動作をすればよい。
【0136】
[[[整数組復元部262の動作の第2例]]]
符号化装置102の整数選択部152が第2例の動作をした場合には、整数組復元部262は、L=S1+S2+2(S1とS2は2以上の正の整数)、M=4、J=4として、整数組復元部262は、J=4値(2値×2値)の選択情報から2値の第1選択情報と2値の第2選択情報を得て、入力された4個の整数値のうちの2個の整数値と2値の第1選択情報とから第二実施形態の整数組復元部242と同じ動作をしてS1+1個の整数値を得て、入力された4個の整数値のうちの残りの2個の整数値と2値の第2選択情報とから第二実施形態の整数組復元部242と同じ動作をしてS2+1個の整数値を得て、得たS1+1個の整数値とS2+1個の整数値とをL=S1+S2+2個の整数値による整数組を得るようにすればよい。
【0137】
[[[整数組復元部262の動作の第3例]]]
符号化装置102の整数選択部152が第3例の動作をした場合には、整数組復元部262が、入力されたM個の整数値と、M個の整数値がL個の整数値の何れであるかを特定するJ=LCM値の選択情報と、から、L個の整数値による整数組を得るようにすればよい。例えば、整数組復元部262は、入力されたM個の整数値を、整数組のL個の整数値のうちの選択情報が特定するM個の整数値とし、例えば0などの予め定めた規則によって定まる値を、整数組のL個の整数値のうち残りのL-M個の整数値とすることで、L個の整数値による整数組を得ればよい。
【0138】
[[[整数組復元部262の動作のその他の例など]]]
組み合わせは多数あるので説明は省略するが、整数組復元部262は、上述した第1例と第3例を組み合わせた動作や上述した第2例と第3例を組み合わせた動作をしてもよい。要するに、整数組復元部262は、入力された第1整数値から第M整数値までのM個の整数値と、選択情報s(選択情報に対応するJ値の整数値s)と、から、符号化装置102の整数選択部152が行った処理に対応する処理によって、L個の整数値による整数組を得て、整数系列復元部263に出力する動作をすれば、どのような動作をしてもよい。
【0139】
[[整数系列復元部263]]
整数系列復元部263は、整数逆変換部26に入力された変換後整数系列に含まれる変換後整数値y_1, y_2, …, y_Nについての、整数組復元部262から入力されたL個の整数値による整数組N組から、第三実施形態の符号化装置102の整数組生成部151が行った規則に対応する規則に従って整数系列x_1, x_2, …, x_LNを得て出力する(ステップS263)。
【0140】
第三実施形態の符号化装置102の整数組生成部151が行った規則が順番が連続するL個の整数値を整数組とする規則であれば、整数組復元部262は、入力された変換後整数系列y_1, y_2, …, y_Nのうちの変換後整数y_1から整数値x_1からx_Lまでによる整数組を得て、変換後整数y_2から整数値x_(L+1)から整数値x_2Lまでによる整数組を得て、・・・、変換後整数y_Nから整数値x_(L(N-1)+1)から整数値x_LNまでによる整数組を得て、整数系列復元部263は、整数組復元部262が得た整数組による系列である整数系列x_1, x_2, …, x_LNを得て出力する。
【0141】
以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【0142】
<プログラム、記録媒体>
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【0143】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0144】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0145】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0146】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。