(57)【要約】  データ圧縮装置（１０）は、外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、入力データ列ｄにおける対象位置ｉの入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測する。データ圧縮装置（１０）は、予測された予測値ｐ［ｉ］との差を残差ｒ［ｉ］として計算する。そして、データ圧縮装置（１０）は、計算された残差ｒ［ｉ］を符号化して、入力値ｄ［ｉ］についての符号ｃ［ｉ］を生成する。
2017109865.tif 000002
【特許請求の範囲】
【請求項１】
外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、入力データ列ｄにおける前記対象位置ｉの入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測する予測部と、
前記入力値ｄ［ｉ］と、前記予測部によって予測された予測値ｐ［ｉ］との差を残差ｒ［ｉ］として計算する残差計算部と、
前記残差計算部によって計算された残差ｒ［ｉ］を符号化して、前記入力値ｄ［ｉ］についての符号ｃ［ｉ］を生成する符号化部と
を備えるデータ圧縮装置。
【請求項２】
前記予測部は、さらに、前記入力データ列ｄにおいて既に符号が生成された入力値を用いて、前記予測値ｐ［ｉ］を予測する
請求項１に記載のデータ圧縮装置。
【請求項３】
前記データ圧縮装置は、さらに、
前記入力データ列ｄの入力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記入力データ列ｄと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定する位置差決定部
を備える請求項１又は２に記載のデータ圧縮装置。
【請求項４】
前記位置差決定部は、前記入力データ列ｄにおいて既に符号が生成された入力値と、前記外部データ列ｅとについて、極値の位置が近くなる前記ずらし量を前記位置差ｍとして決定する
請求項３に記載のデータ圧縮装置。
【請求項５】
前記位置差決定部は、基準個の入力値が符号化される度に、前記位置差ｍを新たに決定する
請求項３又は４に記載のデータ圧縮装置。
【請求項６】
前記位置差決定部は、前記外部データ列ｅを用いずに予測された前記入力値ｄ［ｉ−１］の予測値ｐ＊［ｉ−１］と前記入力値ｄ［ｉ−１］との残差ｒ＊［ｉ−１］の絶対値が、前記入力値ｄ［ｉ−１］と前記予測値ｐ［ｉ−１］との残差ｒ［ｉ−１］の絶対値よりも小さいことが基準回連続した場合に、前記位置差ｍを新たに決定する
請求項３又は４に記載のデータ圧縮装置。
【請求項７】
前記データ圧縮装置は、さらに、
前記入力データ列ｄにおいて既に符号が生成されたある入力値ｄ［ｊ］について、前記位置差決定部によって決定された位置差ｍを用いて予測された予測値ｐ［ｊ］と、前記入力値ｄ［ｊ］との残差ｒ［ｊ］の絶対値が基準値以上である場合に、前記位置差決定部に前記位置差ｍを決定し直させる検証部
を備える請求項３から６までのいずれか１項に記載のデータ圧縮装置。
【請求項８】
外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、出力データ列ｏにおける前記対象位置ｉの出力値ｏ［ｉ］の予測値ｐ［ｉ］を予測する予測部と、
符号ｃ［ｉ］を復号して残差ｒ［ｉ］を生成する復号部と、
前記予測部によって予測された予測値ｐ［ｉ］と、前記復号部によって生成された残差ｒ［ｉ］との和を前記出力値ｏ［ｉ］として計算する出力値計算部と
を備えるデータ伸長装置。
【請求項９】
前記予測部は、さらに、前記出力値計算部によって計算された出力値を用いて、前記予測値ｐ［ｉ］を予測する
請求項８に記載のデータ伸長装置。
【請求項１０】
前記データ伸長装置は、さらに、
前記出力データ列ｏの出力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記出力データ列ｏと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定する位置差決定部
を備える請求項８又は９に記載のデータ伸長装置。
【請求項１１】
前記位置差決定部は、前記出力データ列ｏと前記外部データ列ｅとについて、極値の位置が近くなる前記ずらし量を前記位置差ｍとして決定する
請求項１０に記載のデータ伸長装置。
【請求項１２】
前記位置差決定部は、基準個の出力値が計算される度に、前記位置差ｍを新たに決定する
請求項１０又は１１に記載のデータ伸長装置。
【請求項１３】
前記位置差決定部は、前記外部データ列ｅを用いずに予測された前記出力値ｏ［ｉ−１］の予測値ｐ＊［ｉ−１］と前記出力値ｏ［ｉ−１］との残差ｒ＊［ｉ−１］の絶対値が、前記予測値ｐ［ｉ−１］と前記出力値ｏ［ｉ−１］との残差ｒ［ｉ−１］の絶対値よりも小さいことが基準回連続した場合に、前記位置差ｍを新たに決定する
請求項１０又は１１に記載のデータ伸長装置。
【請求項１４】
前記データ伸長装置は、さらに、
前記出力値計算部によって生成されたある出力値ｏ［ｊ］について、前記位置差決定部によって決定された位置差ｍを用いて予測された予測値ｐ［ｊ］と、前記出力値ｏ［ｊ］との残差ｒ［ｊ］の絶対値が基準値以上である場合に、前記位置差決定部に前記位置差ｍを決定し直させる検証部
を備える請求項１０から１３までのいずれか１項に記載のデータ伸長装置。
【請求項１５】
外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、入力データ列ｄにおける前記対象位置ｉの入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測する予測処理と、
前記入力値ｄ［ｉ］と、前記予測処理によって予測された予測値ｐ［ｉ］との差を残差ｒ［ｉ］として計算する残差計算処理と、
前記残差計算処理によって計算された残差ｒ［ｉ］を符号化して、前記入力値ｄ［ｉ］についての符号ｃ［ｉ］を生成する符号化処理と
をコンピュータに実行させるデータ圧縮プログラム。
【請求項１６】
外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、出力データ列ｏにおける前記対象位置ｉの出力値ｏ［ｉ］の予測値ｐ［ｉ］を予測する予測処理と、
符号ｃ［ｉ］を復号して残差ｒ［ｉ］を生成する復号処理と、
前記予測処理によって予測された予測値ｐ［ｉ］と、前記復号処理によって生成された残差ｒ［ｉ］との和を出力値ｏ［ｉ］として計算する出力値計算処理と
をコンピュータに実行させるデータ伸長プログラム。
【請求項１７】
プロセッサが、外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、入力データ列ｄにおける前記対象位置ｉの入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測し、
プロセッサが、前記入力値ｄ［ｉ］と、前記予測値ｐ［ｉ］との差を残差ｒ［ｉ］として計算し、
プロセッサが、前記残差ｒ［ｉ］を符号化して、前記入力値ｄ［ｉ］についての符号ｃ［ｉ］を生成するデータ圧縮方法。
【請求項１８】
プロセッサが、外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、出力データ列ｏにおける前記対象位置ｉの出力値ｏ［ｉ］の予測値ｐ［ｉ］を予測し、
プロセッサが、符号ｃ［ｉ］を復号して残差ｒ［ｉ］を生成し、
プロセッサが、前記予測値ｐ［ｉ］と、前記残差ｒ［ｉ］との和を前記出力値ｏ［ｉ］として計算するデータ伸長方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、整数列を可逆圧縮する技術に関する。
【背景技術】
【０００２】
整数列を可逆圧縮するための１つの方式として入力値と予測値との残差を符号化する方式がある。この残差を符号化する方式では、まず、符号化対象の入力データ列の各入力値について、予測値が計算される。次に、各入力値について予測値との残差が計算される。そして、残差が符号化される。
具体的な残差を符号化する方式としては、予測値として入力データ列の１つ前の値である前回値を用い、入力値から前回値を減じて残差を計算し、残差をガンマ符号化、又は、デルタ符号化で符号化する方式がある。【０００３】
圧縮する値が０に近い値であるほど、圧縮率が高くなることが多い。
残差を符号化する方式では、予測値と入力値とが近い値であるほど、残差は０に近くなる。そのため、予測値を予測する精度を向上させることで、圧縮率を高くすることができる可能性が高い。【０００４】
予測値を予測する精度を向上させるための技術として、外部データを利用する方法が知られる。特許文献１には、２つのチャンネルデータからなる立体映像データを圧縮して記録する技術が記載されている。そして、特許文献１には、一方のチャンネルデータについては、他方のチャンネルデータとの残差を符号化することが記載されている。この例では、他方のチャンネルデータが外部データに相当する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−３０２１０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
２つの整数列が一定の位相差を持つ２つの波形データである場合のように、２つの整数列のうち一方の整数列をずらした場合に、他方の整数列と似た挙動を示す場合がある。この場合に、特許文献１に記載された技術では、残差は０に近い値にならない可能性が高い。
この発明は、一方の整数列の位置をずらすと、他方の整数列と似た挙動を示す場合に、予測値を予測する精度を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係るデータ圧縮装置は、
外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、入力データ列ｄにおける前記対象位置ｉの入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測する予測部と、
前記入力値ｄ［ｉ］と、前記予測部によって予測された予測値ｐ［ｉ］との差を残差ｒ［ｉ］として計算する残差計算部と、
前記残差計算部によって計算された残差ｒ［ｉ］を符号化して、前記入力値ｄ［ｉ］についての符号ｃ［ｉ］を生成する符号化部と
を備える。
【発明の効果】
【０００８】
この発明では、外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、入力データ列ｄにおける前記対象位置ｉの入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測する。これにより、外部データ列ｅの位置をずらすと、入力データ列ｄと似た挙動を示すようになる場合に、予測値を予測する精度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係るデータ圧縮システム１の構成図。
【図２】実施の形態１に係る入力データ列ｄ及び外部データ列ｅの例を示す図。
【図３】実施の形態１に係るデータ圧縮装置１０の構成図。
【図４】実施の形態１に係るデータ伸長装置２０の構成図。
【図５】実施の形態１に係るデータ圧縮装置１０の動作を示すフローチャート。
【図６】実施の形態１に係るデータ伸長装置２０の動作を示すフローチャート。
【図７】変形例１に係るデータ圧縮装置１０の構成図。
【図８】変形例１に係るデータ伸長装置２０の構成図。
【図９】各部の機能がハードウェアで実現される場合のデータ圧縮装置１０の構成図。
【図１０】各部の機能がハードウェアで実現される場合のデータ伸長装置２０の構成図。
【図１１】実施の形態２に係るデータ圧縮装置１０の構成図。
【図１２】実施の形態２に係るデータ伸長装置２０の構成図。
【図１３】実施の形態２に係るデータ圧縮装置１０の動作を示すフローチャート。
【図１４】図１３のステップＳ３０３での位置差決定部１１６の動作を示すフローチャート。
【図１５】実施の形態２に係るデータ伸長装置２０の動作を示すフローチャート。
【図１６】図１３のステップＳ３０２での変形例４に係る位置差決定部１１６の動作を示すフローチャート。
【図１７】実施の形態３に係るデータ圧縮装置１０の構成図。
【図１８】実施の形態３に係るデータ伸長装置２０の構成図。
【図１９】実施の形態３に係るデータ圧縮装置１０の動作を示すフローチャート。
【図２０】実施の形態３に係るデータ伸長装置２０の動作を示すフローチャート。
【発明を実施するための形態】
【００１０】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１を参照して、実施の形態１に係るデータ圧縮システム１の構成を説明する。
データ圧縮システム１は、データ圧縮装置１０と、データ伸長装置２０とを備える。データ圧縮装置１０とデータ伸長装置２０とはネットワーク３０を介して接続されている。
データ圧縮装置１０は、入力データ列ｄと外部データ列ｅとを入力として、入力データ列ｄを符号化した符号データ列ｃを生成する装置である。データ伸長装置２０は、データ圧縮装置１０によって生成された符号データ列ｃと、外部データ列ｅとを入力として、符号データ列ｃを復号した出力データ列ｏを生成する装置である。
【００１１】
入力データ列ｄは、順序付けられた整数列であり、入力データ列ｄに含まれる整数値を入力値と呼ぶ。外部データ列ｅは、入力データ列ｄとは別の順序付けられた整数列であり、外部データ列ｅに含まれる整数値を外部値と呼ぶ。入力データ列ｄにおけるｉ番目の入力値を入力値ｄ［ｉ］と書き、外部データ列ｅにおけるｉ番目の外部値を外部値ｅ［ｉ］と書く。
実施の形態１に係るデータ圧縮システムでは、では、入力データ列ｄにおける対象位置ｉの入力値ｄ［ｉ］は、外部データ列ｅにおける対象位置ｉより位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］に近い値である場合に、圧縮率を高めることができる。具体的には、図２に示すように、一定の位相差を持つ２つの波形データの一方から一定時刻毎にサンプリングされた値の列が入力データ列ｄであり、他方から一定時刻毎にサンプリングされた値の列が外部データ列ｅであるような場合を想定する。図２では、２つの波形データの一方から一定時刻毎にサンプリングされた値が入力値ｄ［０］，．．．，ｄ［Ｘ］であり、他方から一定時刻毎にサンプリングされた値が外部値ｅ［０］，．．．，ｅ［Ｘ］である。図２では、位相差が位置差ｍである。なお、図２では、位置差ｍは正の値であるが、位置差ｍは負の値であってもよい。
入力データ列ｄに含まれる入力値の個数と、外部データ列ｅに含まれる外部値の個数とは任意である。実施の形態１では、外部データ列ｅに含まれる外部値の個数は、入力データ列ｄに含まれる入力値の個数以上であるとして説明する。なお、外部値の個数が入力値の個数未満の場合には、入力値の個数と外部値の個数との差の数だけ、外部データ列ｅに０といった任意の整数値を付加すればよい。
【００１２】
図３を参照して、実施の形態１に係るデータ圧縮装置１０の構成を説明する。
データ圧縮装置１０は、コンピュータである。
データ圧縮装置１０は、プロセッサ１１と、記憶装置１２と、通信装置１３とを備える。プロセッサ１１は、信号線１４を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１３】
データ圧縮装置１０は、機能構成として、入力部１１１と、予測部１１２と、残差計算部１１３と、符号化部１１４と、出力部１１５とを備える。入力部１１１と、予測部１１２と、残差計算部１１３と、符号化部１１４と、出力部１１５との各部の機能はソフトウェアにより実現される。
記憶装置１２には、データ圧縮装置１０の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ１１に読み込まれ、プロセッサ１１によって実行される。これにより、データ圧縮装置１０の各部の機能が実現される。
【００１４】
図４を参照して、実施の形態１に係るデータ伸長装置２０の構成を説明する。
データ伸長装置２０は、コンピュータである。
データ伸長装置２０は、プロセッサ２１と、記憶装置２２と、通信装置２３とを備える。プロセッサ２１は、信号線２４を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１５】
データ伸長装置２０は、機能構成として、入力部２１１と、予測部２１２と、復号部２１３と、出力値計算部２１４と、出力部２１５とを備える。入力部２１１と、予測部２１２と、復号部２１３と、出力値計算部２１４と、出力部２１５との各部の機能はソフトウェアにより実現される。
記憶装置２２には、データ伸長装置２０の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ２１に読み込まれ、プロセッサ２１によって実行される。これにより、データ伸長装置２０の各部の機能が実現される。
【００１６】
プロセッサ１１，２１は、プロセッシングを行うＩＣである。ＩＣは、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略である。プロセッサ１１，２１は、具体的には、ＣＰＵ、ＤＳＰ、ＧＰＵである。ＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。ＤＳＰは、Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒの略である。ＧＰＵは、Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。
記憶装置１２，２２は、具体的には、ＲＡＭ及びＨＤＤである。ＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略である。ＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略である。記憶装置は、ＲＯＭ及びフラッシュメモリといった他のハードウェアで構成されてもよい。ＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略である。
通信装置１３，２３は、データを受信するレシーバー及びデータを送信するトランスミッターを含む装置である。通信装置１３，２３は、具体的には、通信チップ又はＮＩＣである。ＮＩＣは、Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄの略である。
【００１７】
プロセッサ１１によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置１２、又は、プロセッサ１１内のレジスタ又はキャッシュメモリに記憶される。以下の説明では、プロセッサ１１によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置１２に記憶されるものとして説明する。
同様に、プロセッサ２１によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置２２、又は、プロセッサ２１内のレジスタ又はキャッシュメモリに記憶される。以下の説明では、プロセッサ２１によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置２２に記憶されるものとして説明する。
【００１８】
プロセッサ１１，２１によって実現される各部の機能を実現するプログラムは、記憶装置１２，２２に記憶されているとした。しかし、このプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤといった可搬記憶媒体に記憶されてもよい。
【００１９】
図３では、プロセッサ１１は、１つだけ示されていた。しかし、プロセッサ１１は、複数であってもよく、複数のプロセッサ１１が、各部の機能を実現するプログラムを連携して実行してもよい。同様に、図４では、プロセッサ２１は、１つだけ示されていた。しかし、プロセッサ２１は、複数であってもよく、複数のプロセッサ２１が、各部の機能を実現するプログラムを連携して実行してもよい。
【００２０】
＊＊＊動作の説明＊＊＊
図３及び図５を参照して、実施の形態１に係るデータ圧縮装置１０の動作を説明する。
実施の形態１に係るデータ圧縮装置１０の動作は、実施の形態１に係るデータ圧縮方法に相当する。また、実施の形態１に係るデータ圧縮装置１０の動作は、実施の形態１に係るデータ圧縮プログラムの処理に相当する。
【００２１】
図５に示す処理の前提として、入力部１１１は、入力データ列ｄと外部データ列ｅとを通信装置１３を介して受信し、入力データ列ｄと外部データ列ｅと記憶装置１２に書き込んでいるものとする。
【００２２】
変数ｉに０が設定され、図５に示す処理が開始される。
【００２３】
ステップＳ１０１の完了判定処理では、入力部１１１は、入力データ列ｄの全ての入力値についての符号化が完了したか否かを判定する。具体的には、入力部１１１は、入力データ列ｄの入力値の個数をカウントしておき、変数ｉが入力値の個数である場合には、全ての入力値についての符号化が完了したと判定する。
入力部１１１は、符号化が完了したと判定した場合（ステップＳ１０１でＹＥＳ）、処理を終了する。入力部１１１は、符号化が完了していないと判定した場合（ステップＳ１０１でＮＯ）、処理をステップＳ１０２に進める。
【００２４】
ステップＳ１０２の予測処理では、予測部１１２は、外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、入力データ列ｄにおける対象位置ｉの入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測する。
具体的には、予測部１１２は、記憶装置１２から位置差ｍを読み出し、対象位置ｉより位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を記憶装置１２から読み出す。実施の形態１では、位置差ｍは記憶装置１２に事前に記憶されているとする。そして、予測部１１２は、ｐ［ｉ］＝ｅ［ｉ−ｍ］という式に従い、予測値ｐ［ｉ］を計算する。予測部１１２は、計算した予測値ｐ［ｉ］を記憶装置１２に書き込む。
なお、外部値の個数が入力値の個数未満の場合など、予測に用いたい外部値が存在しない場合には、当該外部値を０などの任意の整数値と見做して処理すれば良い。
【００２５】
ここでは、入力値ｄ［ｉ］が外部値ｅ［ｉ−ｍ］と近い値であるという仮定の下、ｐ［ｉ］＝ｅ［ｉ−ｍ］という式に従い予測値ｐ［ｉ］が計算された。しかし、予測値ｐ［ｉ］の計算に用いる式は、入力値ｄ［ｉ］と外部値ｅ［ｉ−ｍ］との関係に基づき決定される。具体的には、入力値ｄ［ｉ］が外部値ｅ［ｉ−ｍ］の２倍と近い値である場合には、ｐ［ｉ］＝ｅ［ｉ−ｍ］×２という式に従い予測値ｐ［ｉ］が計算される。また、入力値ｄ［ｉ］が外部値ｅ［ｉ−ｍ］に３加えた値と近い値である場合には、ｐ［ｉ］＝ｅ［ｉ−ｍ］＋３という式に従い予測値ｐ［ｉ］が計算される。
【００２６】
ステップＳ１０３の残差計算処理では、残差計算部１１３は、入力値ｄ［ｉ］と、ステップＳ１０２で予測部１１２によって予測された予測値ｐ［ｉ］との差を残差ｒ［ｉ］として計算する。
具体的には、残差計算部１１３は、事前に書き込まれた入力値ｄ［ｉ］と、ステップＳ１０２で書き込まれた予測値ｐ［ｉ］とを記憶装置１２から読み出す。そして、残差計算部１１３は、入力値ｄ［ｉ］から予測値ｐ［ｉ］を減算して、残差ｒ［ｉ］を計算する。残差計算部１１３は、計算した残差ｒ［ｉ］を記憶装置１２に書き込む。
【００２７】
ステップＳ１０４の符号化処理では、符号化部１１４は、ステップＳ１０３で残差計算部１１３によって計算された残差ｒ［ｉ］を符号化して、入力値ｄ［ｉ］についての符号ｃ［ｉ］を生成する。
具体的には、符号化部１１４は、ステップＳ１０３で書き込まれた残差ｒ［ｉ］を記憶装置１２から読み出す。符号化部１１４は、ガンマ符号、デルタ符号、ゴロム・ライス符号といった整数符号化方式により残差ｒ［ｉ］を変換して、入力値ｄ［ｉ］についての符号ｃ［ｉ］を生成する。符号化部１１４は、生成した符号ｃ［ｉ］を記憶装置１２に書き込む。
【００２８】
ステップＳ１０５の出力処理では、出力部１１５は、ステップＳ１０４で符号化部１１４によって生成された符号ｃ［ｉ］を符号データ列ｃの対象位置ｉの値として出力する。
【００２９】
ステップＳ１０６のインクリメント処理では、入力部１１１は、変数ｉの値に１加算して、処理をステップＳ１０１に戻す。
【００３０】
図４及び図６を参照して、実施の形態１に係るデータ伸長装置２０の動作を説明する。
実施の形態１に係るデータ伸長装置２０の動作は、実施の形態１に係るデータ伸長方法に相当する。また、実施の形態１に係るデータ伸長装置２０の動作は、実施の形態１に係るデータ伸長プログラムの処理に相当する。
【００３１】
図６に示す処理の前提として、入力部２１１は、符号データ列ｃと外部データ列ｅとを通信装置２３を介して受信し、符号データ列ｃと外部データ列ｅと記憶装置２２に書き込んでいるものとする。
【００３２】
変数ｉに０が設定され、図６に示す処理が開始される。
【００３３】
ステップＳ２０１の完了判定処理では、入力部２１１は、符号データ列ｃの全ての符号についての復号が完了したか否かを判定する。具体的には、入力部２１１は、符号データ列ｃの符号の個数をカウントしておき、変数ｉが符号の個数である場合には、全ての符号についての復号が完了したと判定する。
入力部２１１は、復号が完了したと判定した場合（ステップＳ２０１でＹＥＳ）、処理を終了する。入力部２１１は、復号が完了していないと判定した場合（ステップＳ２０１でＮＯ）、処理をステップＳ２０２に進める。
【００３４】
ステップＳ２０２の予測処理では、予測部２１２は、外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、出力データ列ｏにおける対象位置ｉの出力値ｏ［ｉ］の予測値ｐ［ｉ］を予測する。
具体的には、予測部２１２は、記憶装置２２から位置差ｍを読み出し、対象位置ｉより位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を記憶装置２２から読み出す。実施の形態１では、位置差ｍは記憶装置２２に事前に記憶されているとする。そして、予測部２１２は、図５のステップＳ１０２で用いた式と同じ式に従い、予測値ｐ［ｉ］を計算する。予測部２１２は、計算した予測値ｐ［ｉ］を記憶装置２２に書き込む。
【００３５】
ステップＳ２０３の復号処理では、復号部２１３は、符号ｃ［ｉ］を復号して残差ｒ［ｉ］を生成する。
具体的には、復号部２１３は、符号ｃ［ｉ］を記憶装置２２から読み出す。そして、復号部２１３は、図５のステップＳ１０４で符号化部１１４が用いた整数符号化方式に対応した復号方式により符号ｃ［ｉ］を変換して、残差ｒ［ｉ］を計算する。復号部２１３は、計算した残差ｒ［ｉ］を記憶装置２２に書き込む。
【００３６】
ステップＳ２０４の出力値計算処理では、出力値計算部２１４は、ステップＳ２０２で予測部２１２によって予測された予測値ｐ［ｉ］と、ステップＳ２０３で復号部２１３によって生成された残差ｒ［ｉ］との和を出力値ｏ［ｉ］として計算する。
具体的には、出力値計算部２１４は、ステップＳ２０２で予測部２１２によって予測された予測値ｐ［ｉ］と、ステップＳ２０３で復号部２１３によって生成された残差ｒ［ｉ］とを記憶装置２２から読み出す。そして、出力値計算部２１４は、残差ｒ［ｉ］に予測値ｐ［ｉ］を加算して、出力値ｏ［ｉ］を計算する。出力値計算部２１４は、計算した出力値ｏ［ｉ］を記憶装置２２に書き込む。
【００３７】
ステップＳ２０５の出力処理では、出力部２１５は、ステップＳ２０４で出力値計算部２１４によって計算された出力値ｏ［ｉ］を出力データ列ｏの対象位置ｉの値として出力する。
【００３８】
ステップＳ２０６のインクリメント処理では、入力部２１１は、変数ｉの値に１加算して、処理をステップＳ２０１に戻す。
【００３９】
＊＊＊実施の形態１の効果＊＊＊
以上のように、実施の形態１に係るデータ圧縮システム１では、外部データ列ｅにおける対象位置ｉより位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、入力データ列ｄにおける入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測する。これにより、一方の外部データ列ｅの位置をずらすと、入力データ列ｄと似た挙動を示すようになる場合に、予測値を予測する精度を向上させることができる。
【００４０】
＊＊＊他の構成＊＊＊
＜変形例１＞
実施の形態１では、外部値ｅ［ｉ−ｍ］を用いて予測値ｐ［ｉ］を予測した。しかし、変形例１として、外部値ｅ［ｉ−ｍ］だけでなく、他の外部値と、入力データ列ｄにおいて既に符号が生成された入力値との少なくともいずれかを用いて、予測値ｐ［ｉ］を予測してもよい。この変形例１について、実施の形態１と異なる点を説明する。
【００４１】
図７を参照して、変形例１に係るデータ圧縮装置１０の構成を説明する。
図７では、予測部１１２が、入力データ列ｄの入力値ｄ［ｊ］と、外部データ列ｅとを入力としている点が図３と異なる。なお、変数ｊは、０からｉ−１までの整数値である。
【００４２】
変形例１では、図５のステップＳ１０２で予測部１１２は、外部値ｅ［ｉ−ｍ］だけでなく、他の外部値と、入力データ列ｄにおいて既に符号が生成された入力値ｄ［０］，．．．，入力値ｄ［ｉ−１］との少なくともいずれかを用いて、予測値ｐ［ｉ］を予測する。この場合には、必要な外部値及び入力値を記憶装置１２から読み出し、読み出した外部値及び入力値を用いた式に従い、予測値ｐ［ｉ］を計算する。
具体例としては、予測部１１２は、外部値ｅ［ｉ−ｍ−１］及び外部値ｅ［ｉ−ｍ］と、入力値ｄ［ｉ−１］とを用いて、ｐ［ｉ］＝ｄ［ｉ−１］＋（ｅ［ｉ−ｍ］−ｅ［ｉ−ｍ−１］）という式に従い、予測値ｐ［ｉ］を計算することが考えられる。
【００４３】
図８を参照して、変形例１に係るデータ伸長装置２０の構成を説明する。
図８では、予測部２１２が、出力データ列ｏの出力値ｏ［ｊ］と、外部データ列ｅとを入力としている点が図４と異なる。なお、変数ｊは、０からｉ−１までの整数値である。
【００４４】
変形例１では、図６のステップＳ２０２で予測部２１２は、外部値ｅ［ｉ−ｍ］だけでなく、他の外部値と、出力データ列ｏにおいて既に符号が生成された出力値ｏ［０］，．．．，出力値ｏ［ｉ−１］との少なくともいずれかを用いて、予測値ｐ［ｉ］を予測する。
具体的には、予測部２１２は、変形例１のステップＳ１０２で予測部１１２が予測値ｐ［ｉ］を計算した方法と同じ方法により、予測値ｐ［ｉ］を計算する。但し、Ｓ１０２で予測部１１２が入力値ｄ［ｊ］を用いている場合には、入力値ｄ［ｊ］に代えて、入力値ｄ［ｊ］に対応する出力値ｏ［ｊ］を用いる。
【００４５】
なお、変形例１において、データ圧縮装置１０の予測部１１２は、入力データ列ｄについては、未だ符号が生成されていない入力値については、予測値ｐ［ｉ］の予測に用いることができない。これは、データ伸長装置２０が符号データ列ｃを正しく復号可能とするために必要となる。
つまり、データ伸長装置２０の予測部２１２は、データ圧縮装置１０の予測部１１２と同じ方法により予測値ｐ［ｉ］を予測する必要がある。しかし、データ伸長装置２０の予測部２１２は、予測値ｐ［ｉ］を予測するときには、出力値としては、復号済の出力値ｏ［０］，．．．，出力値ｏ［ｉ−１］しか得られない。したがって、データ圧縮装置１０の予測部１１２が、予測値ｐ［ｉ］を予測するときに、未だ符号が生成されていない入力値を用いてしまうと、データ伸長装置２０が符号データ列ｃを正しく復号できなくなってしまう。
【００４６】
＜変形例２＞
実施の形態１では、データ圧縮装置１０とデータ伸長装置２０との各部の機能がソフトウェアで実現された。しかし、変形例２として、データ圧縮装置１０とデータ伸長装置２０との各部の機能はハードウェアで実現されてもよい。この変形例２について、実施の形態１と異なる点を説明する。
【００４７】
図９を参照して、変形例２に係るデータ圧縮装置１０の構成を説明する。
各部の機能がハードウェアで実現される場合、データ圧縮装置１０は、通信装置１３と、処理回路１５とを備える。処理回路１５は、データ圧縮装置１０の各部の機能及び記憶装置１２の機能を実現する専用の電子回路である。
【００４８】
図１０を参照して、変形例２に係るデータ伸長装置２０の構成を説明する。
各部の機能がハードウェアで実現される場合、データ伸長装置２０は、通信装置２３と、処理回路２５とを備える。処理回路２５は、データ伸長装置２０の各部の機能及び記憶装置２２の機能を実現する専用の電子回路である。
【００４９】
処理回路１５，２５は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＡＳＩＣ、ＦＰＧＡが想定される。ＧＡは、Ｇａｔｅ  Ａｒｒａｙの略である。ＡＳＩＣは、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略である。ＦＰＧＡは、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略である。
各部の機能を１つの処理回路１５，２５で実現してもよいし、各部の機能を複数の処理回路１５，２５に分散させて実現してもよい。
【００５０】
＜変形例３＞
変形例３として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、データ圧縮装置１０の各部のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。データ伸長装置２０についても、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
【００５１】
プロセッサ１１，２１と記憶装置１２，２２と処理回路１５，２５とを、総称して「プロセッシングサーキットリー」という。つまり、各部の機能は、プロセッシングサーキットリーにより実現される。
【００５２】
実施の形態２．
実施の形態２は、位置差ｍを適宜決定して、予測値ｐ［ｉ］を予測する点が実施の形態１と異なる。実施の形態２では、この異なる点について説明する。
【００５３】
＊＊＊構成の説明＊＊＊
図１１を参照して、実施の形態２に係るデータ圧縮装置１０の構成を説明する。
データ圧縮装置１０は、図３に示す機能構成に加え、位置差決定部１１６を備える。位置差決定部１１６の機能はソフトウェアにより実現される。
記憶装置１２には、位置差決定部１１６の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ１１に読み込まれ、プロセッサ１１によって実行される。これにより、位置差決定部１１６の機能が実現される。
【００５４】
図１２を参照して、実施の形態２に係るデータ伸長装置２０の構成を説明する。
データ伸長装置２０は、図４に示す機能構成に加え、位置差決定部２１６を備える。位置差決定部２１６の機能はソフトウェアにより実現される。
記憶装置２２には、位置差決定部２１６の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ２１に読み込まれ、プロセッサ２１によって実行される。これにより、位置差決定部２１６の機能が実現される。
【００５５】
＊＊＊動作の説明＊＊＊
図１１及び図１３を参照して、実施の形態２に係るデータ圧縮装置１０の動作を説明する。
実施の形態２に係るデータ圧縮装置１０の動作は、実施の形態２に係るデータ圧縮方法に相当する。また、実施の形態２に係るデータ圧縮装置１０の動作は、実施の形態２に係るデータ圧縮プログラムの処理に相当する。
【００５６】
ステップＳ３０１の処理は、図５のステップＳ１０１の処理と同じである。また、ステップＳ３０４からステップＳ３０８の処理は、図５のステップＳ１０２からステップＳ１０６の処理と同じである。
【００５７】
ステップＳ３０２の決定判定処理では、位置差決定部１１６は、位置差ｍを新たに決定するか否かを判定する。位置差を更新するのは、入力データ列ｄ及び外部データ列ｅの特性が変動することにより、位値差ｍも変動する可能性があるためである。
位置差決定部１１６は、位置差ｍを決定すると判定した場合（ステップＳ３０２でＹＥＳ）、処理をステップＳ３０３へ進める。一方、位置差決定部１１６は、位置差ｍを決定しないと判定した場合（ステップＳ３０２でＮＯ）、処理をステップＳ３０４へ進める。
【００５８】
具体的には、位置差決定部１１６は、基準個の入力値が符号化される度に、位置差ｍを決定すると判定する。
基準個は、１以上の整数である。基準個が小さい値であるほど、位置差ｍの更新頻度が高くなり処理負荷が高くなる。しかし、基準個が小さい値であるほど、位置差ｍが適切に設定されている割合が多くなり、予測精度が高くなることが見込まれる。そこで、基準個は、処理負荷と予測精度との両方を考慮の上、事前に決定される。
また、入力データ列ｄが周期性を持つデータの場合は、入力データ列ｄの周期毎に位置差ｍを決定し直せばよい。そこで、この場合、位置差決定部１１６は、入力データ列ｄにおいて既に符号が生成された入力値ｄ［０］，．．．，入力値ｄ［ｉ−１］を記憶装置１２から読み出す。そして、位置差決定部１１６は、入力値ｄ［０］，．．．，入力値ｄ［ｉ−１］からその周期を特定し、特定した１つの周期に含まれる入力値の個数を基準個の値とする。また、この場合、位置差決定部１１６は、位置差ｍを決定する際、周期も特定する。これにより、周期が変動するような入力データ列ｄに対しても、周期の変動に追随し適切なタイミングで位置差ｍを決定することができる。
【００５９】
ステップＳ３０３の位置差決定処理では、位置差決定部１１６は、入力データ列ｄの入力値に対応する外部データ列ｅの外部値の位置をずらすことによって、入力データ列ｄと外部データ列ｅとが相関するずらし量を位置差ｍとして決定する。
図２であれば、元々は、同じ時刻にサンプリングされた、同じ位置の入力値ｄ［ｎ］と外部値ｅ［ｎ］とが対応している。このままでは、入力データ列ｄと外部データ列ｅとは相関していない。しかし、入力データ列ｄの入力値に対応する外部データ列ｅの外部値の位置を位相差分だけずらせば、入力データ列ｄと外部データ列ｅとが相関する。
具体的には、位置差決定部１１６は、入力データ列ｄにおいて既に符号が生成された入力値と、外部データ列ｅとについて、ピーク、すなわち極値の位置が近くなるずらし量を特定し、特定したずらし量を位置差ｍとして決定する。位置差決定部１１６は、決定した位置差ｍで記憶装置１２に記憶された位置差ｍを上書きする。
【００６０】
図１４を参照して、位置差ｍを決定する処理について説明する。
ステップＳ３０３１のデータ読出処理では、位置差決定部１１６は、入力データ列ｄにおいて既に符号が生成された入力値ｄ［０］，．．．，入力値ｄ［ｉ−１］を記憶装置１２から読み出す。また、位置差決定部１１６は、外部データ列ｅの外部値ｅ［０］，．．．，外部値ｅ［ｉ−１］を記憶装置１２から読み出す。
なお、位置差ｍを決定する処理負荷を小さくするために、直近のいくつかの入力値及び外部値のみを用いるようにしてもよい。直近のｋ個の入力値及び外部値のみを用いるのであれば、位置差決定部１１６は、入力値ｄ［ｉ−ｋ］，．．．，入力値ｄ［ｉ−１］と、外部値ｅ［ｉ−ｋ］，．．．，外部値ｅ［ｉ−１］とを記憶装置１２から読み出す。
以下では、直近のｋ個の入力値及び外部値のみを用いる場合について説明する。
【００６１】
ステップＳ３０３２のピーク特定処理では、位置差決定部１１６は、入力値ｄ［ｉ−ｋ］，．．．，入力値ｄ［ｉ−１］から極値の位置を特定し、特定した極値のデータ列を極値ａ［０］，．．．，極値ａ［ｐ−１］とする。ここで、ｐは特定された極値の個数である。また、位置差決定部１１６は、外部値ｅ［ｉ−ｋ］，．．．，外部値ｅ［ｉ−１］から極値の位置を特定し、特定した極値のデータ列を極値ｂ［０］，．．．，極値ｂ［ｑ−１］とする。ここで、ｑは特定された極値の個数である。
ノイズによる細かい変動が混在するようなデータ列を扱う際に、極値を全て選択すると、ノイズの影響で不必要な極値を多く含んでしまう可能性がある。そこで、ノイズの影響を低減するために、ある固定幅内で最大値となる値のみを極値として抽出してもよい。また、入力値ｄ［ｉ−ｋ］，．．．，入力値ｄ［ｉ−１］の最大値からの差が一定値未満の極値のみを入力値の極値として抽出し、外部値ｅ［ｉ−ｋ］，．．．，外部値ｅ［ｉ−１］の最大値からの差が一定値未満の極値のみを外部値の極値として抽出してもよい。この方法は、データ列の最大振幅の周波数成分のみに着目したい場合に特に有効である。
【００６２】
ステップＳ３０３３の位置差特定処理では、位置差決定部１１６は、ｊ＝０，．．．，ｐ−１の各整数ｊについて昇順に、極値ａ［ｊ］より前で、位置が最も近い極値ｂ［ｊ］を選択し、極値ａ［ｉ］と極値ｂ［ｊ］との位置の差を計算する。そして、位置差決定部１１６は、ｐ個の位置の差に基づき、位置差ｍを決定する。実施の形態２では、位置差決定部１１６は、ｐ個の位置の差のうち、最も多い位置の差を位置差ｍとして決定する。なお、位置差決定部１１６は、ｐ個の位置の差の中間値を位置差ｍに決定する、又は、ｐ個の位置の差の平均値に最も近い整数を位置差ｍに決定するといった他の方法で位置差ｍを決定してもよい。
【００６３】
図１２及び図１５を参照して、実施の形態２に係るデータ伸長装置２０の動作を説明する。
実施の形態２に係るデータ伸長装置２０の動作は、実施の形態２に係るデータ伸長方法に相当する。また、実施の形態２に係るデータ伸長装置２０の動作は、実施の形態２に係るデータ伸長プログラムの処理に相当する。
【００６４】
ステップＳ４０１の処理は、図６のステップＳ２０１の処理と同じである。また、ステップＳ４０４からステップＳ４０８の処理は、図６のステップＳ２０２からステップＳ２０６の処理と同じである。
【００６５】
ステップＳ４０２の決定判定処理では、位置差決定部２１６は、図１３のステップＳ３０２で位置差決定部１１６が用いた判定方法と同じ判定方法により、位置差ｍを新たに決定するか否かを判定する。
位置差決定部２１６は、位置差ｍを決定すると判定した場合（ステップＳ４０２でＹＥＳ）、処理をステップＳ４０３へ進める。一方、位置差決定部２１６は、位置差ｍを決定し直さないと判定した場合（ステップＳ４０２でＮＯ）、処理をステップＳ４０４へ進める。
【００６６】
具体的には、位置差決定部１１６が基準個の入力値が符号化される度に位置差ｍを決定すると判定する場合には、位置差決定部２１６は、基準個の出力値が計算される度に位置差ｍを決定すると判定する。
また、位置差決定部１１６が、入力データ列ｄの周期毎に位置差ｍを決定し直す場合には、位置差決定部２１６は、出力データ列ｏの周期毎に位置差ｍを決定し直す。この場合、位置差決定部２１６は、既に計算された出力値ｏ［０］，．．．，出力値ｏ［ｉ−１］を記憶装置２２から読み出す。そして、位置差決定部２１６は、出力値ｏ［０］，．．．，出力値ｏ［ｉ−１］からその周期を特定し、特定した１つの周期に含まれる出力値の個数を基準個の値とする。また、この場合、位置差決定部２１６は、位置差ｍを決定する際、周期も特定する。
【００６７】
ステップＳ４０３の位置差決定処理では、位置差決定部２１６は、図１３のステップＳ３０３で位置差決定部１１６が用いた決定方法と同じ決定方法により、位置差ｍを決定する。
つまり、位置差決定部２１６は、出力データ列ｏの出力値に対応する外部データ列ｅの外部値の位置をずらすことによって、出力データ列ｏと外部データ列ｅとが相関するずらし量を位置差ｍとして決定する。具体的には、位置差決定部２１６は、既に計算された出力値からなる出力データ列ｏと、外部データ列ｅとについて、ピーク、すなわち極値の位置が近くなるずらし量を特定し、特定したずらし量を位置差ｍとして決定する。位置差決定部２１６は、決定した位置差ｍで記憶装置２２に記憶された位置差ｍを上書きする。位置差ｍを決定する処理については、図１４に基づき説明した位置差決定部１１６の処理と同じである。但し、位置差決定部１１６がある整数ｖについての入力値ｄ［ｖ］を用いる場合、位置差決定部２１６は入力値ｄ［ｖ］に代えて出力値ｏ［ｖ］を用いる。
【００６８】
＊＊＊実施の形態２の効果＊＊＊
以上のように、実施の形態２に係るデータ圧縮システム１では、位置差ｍを適宜決定して、予測値ｐ［ｉ］を予測する。これにより、入力データ列ｄの特性が変動する場合にも、予測値を予測する精度を向上させることができる。
【００６９】
＊＊＊他の構成＊＊＊
＜変形例４＞
実施の形態２では、ステップＳ３０２で位置差決定部１１６は、基準個の入力値が符号化される度に、位置差ｍを新たに決定すると判定した。しかし、変形例４として、位置差決定部１１６は、予測値ｐ［ｉ］を予測する精度が基準精度を連続して下回った場合に、位置差ｍを新たに決定すると判定してもよい。この変形例４について、実施の形態２と異なる点を説明する。
【００７０】
データ圧縮装置１０について説明する。
位置差決定部１１６は、基準精度として、外部データ列ｅを用いずに入力値ｄ［ｉ−１］を予測した場合の精度を用いる。具体的には、位置差決定部１１６は、外部データ列ｅを用いずに予測された入力値ｄ［ｉ−１］の予測値ｐ＊［ｉ−１］と入力値ｄ［ｉ−１］との残差ｒ＊［ｉ−１］の絶対値を基準精度とする。
基準精度が、入力値ｄ［ｉ−１］と予測値ｐ［ｉ−１］との残差ｒ［ｉ−１］の絶対値よりも小さい場合、予測値ｐ［ｉ−１］の精度が基準精度を下回ることになる。そこで、位置差決定部１１６は、基準精度が、入力値ｄ［ｉ−１］と予測値ｐ［ｉ−１］との残差ｒ［ｉ−１］の絶対値よりも小さいことが基準回連続した場合に、位置差ｍを新たに決定すると判定する。
【００７１】
図１６を参照して、図１３のステップＳ３０２での変形例４に係る位置差決定部１１６の動作を説明する。
ステップＳ３０２１の回数判定処理では、位置差決定部１１６は、変数Ｌが基準回以上であるか否かを判定する。位置差決定部１１６は、変数Ｌが基準回以上である場合（ステップＳ３０２１でＹＥＳ）、処理をステップＳ３０２２に進める。一方、位置差決定部１１６は、変数Ｌが基準回以上でない場合（ステップＳ３０２１でＮＯ）、処理をステップＳ３０２３に進める。
【００７２】
ステップＳ３０２２の更新決定処理では、位置差決定部１１６は、位置差ｍを新たに決定すると判定する。この際、位置差決定部１１６は、変数Ｌに０を設定する。
【００７３】
ステップＳ３０２３の非更新決定処理では、位置差決定部１１６は、位置差ｍを新たに決定しないと判定する。
【００７４】
ステップＳ３０２４の予測処理では、位置差決定部１１６は、予測部１１２に、外部データ列ｅを用いて、入力値ｄ［ｉ−１］の予測値ｐ［ｉ−１］を予測させる。また、位置差決定部１１６は、予測部１１２に、外部データ列ｅを用いずに、入力値ｄ［ｉ−１］の予測値ｐ＊［ｉ−１］を予測させる。
ここでは、予測部１１２は、図５のステップＳ１０２と同様に、予測値ｐ［ｉ−１］を予測する。また、予測部１１２は、入力データ列ｄにおいて既に符号が生成された入力値ｄ［０］，．．．，入力値ｄ［ｉ−２］を用いて、入力値ｄ［ｉ−１］の予測値ｐ＊［ｉ−１］を予測する。具体例としては、予測部１１２は、入力値ｄ［ｉ−２］を予測値ｐ＊［ｉ−１］とする。
【００７５】
ステップＳ３０２５の残差計算処理では、位置差決定部１１６は、残差計算部１１３に、予測値ｐ［ｉ−１］と入力値ｄ［ｉ−１］との残差ｒ［ｉ−１］を計算させる。また、位置差決定部１１６は、残差計算部１１３に、予測値ｐ＊［ｉ−１］と入力値ｄ［ｉ−１］との残差ｒ＊［ｉ−１］を計算させる。
ここでは、残差計算部１１３は、図５のステップＳ１０３と同様に、入力値ｄ［ｉ−１］から予測値ｐ［ｉ−１］を減算して残差ｒ［ｉ−１］を計算する。また、残差計算部１１３は、入力値ｄ［ｉ−１］から予測値ｐ＊［ｉ−１］を減算して残差ｒ＊［ｉ−１］を計算する。
【００７６】
ステップＳ３０２６の絶対値判定処理では、位置差決定部１１６は、残差ｒ＊［ｉ−１］の絶対値が残差ｒ［ｉ−１］の絶対値よりも小さいか否かを判定する。位置差決定部１１６は、残差ｒ＊［ｉ−１］の絶対値が残差ｒ［ｉ−１］の絶対値よりも小さい場合、処理をステップＳ３０２７に進める。一方、位置差決定部１１６は、残差ｒ＊［ｉ−１］の絶対値が残差ｒ［ｉ−１］の絶対値以上場合、処理をステップＳ３０２８に進める。
【００７７】
ステップＳ３０２７の変数加算処理では、位置差決定部１１６は、変数Ｌに１加算する。一方、ステップＳ３０２８の変数初期化処理では、位置差決定部１１６は、変数Ｌに０を設定する。
【００７８】
データ伸長装置２０について説明する。
図１５のステップＳ４０２で位置差決定部２１６は、図１３のステップＳ３０２で位置差決定部１１６が用いた判定方法と同じ判定方法により、位置差ｍを決定するか否かを判定する。したがって、位置差決定部１１６が図１６に基づき説明した判定方法で位置差ｍを決定するか否かを判定するのであれば、位置差決定部２１６も図１６に基づき説明した判定方法で位置差ｍを決定するか否かを判定する。
つまり、位置差決定部２１６は、基準精度として、外部データ列ｅを用いずに出力値ｏ［ｉ−１］を予測した場合の精度を用いる。具体的には、位置差決定部２１６は、外部データ列ｅを用いずに予測された出力値ｏ［ｉ−１］の予測値ｐ＊［ｉ−１］と出力値ｏ［ｉ−１］との残差ｒ＊［ｉ−１］の絶対値を基準精度とする。
基準精度が、出力値ｏ［ｉ−１］と予測値ｐ［ｉ−１］との残差ｒ［ｉ−１］の絶対値よりも小さい場合、予測値ｐ［ｉ−１］の精度が基準精度を下回ることになる。そこで、位置差決定部２１６は、基準精度が、出力値ｏ［ｉ−１］と予測値ｐ［ｉ−１］との残差ｒ［ｉ−１］の絶対値よりも小さいことが基準回連続した場合に、位置差ｍを新たに決定すると判定する。
図１５のステップＳ４０２での変形例４に係る位置差決定部２１６の動作については、図１６に基づき説明した位置差決定部１１６の動作と同じである。但し、位置差決定部１１６がある整数ｖについての入力値ｄ［ｖ］を用いる場合、位置差決定部２１６は入力値ｄ［ｖ］に代えて出力値ｏ［ｖ］を用いる。
【００７９】
なお、変形例４において、データ圧縮装置１０の位置差決定部１１６は、入力データ列ｄについては、未だ符号が生成されていない入力値については、位置差ｍの決定に用いることができない。これは、変形例１の説明において、予測部１１２が未だ符号が生成されていない入力値を用いることができなかったことと同じ理由からである。
【００８０】
＜変形例５＞
実施の形態２では、実施の形態１と同じように、データ圧縮装置１０とデータ伸長装置２０との各部の機能がソフトウェアで実現された。しかし、実施の形態１の変形例２と同じように、データ圧縮装置１０とデータ伸長装置２０との各部の機能はハードウェアで実現されてもよい。また、実施の形態１の変形例３と同じように、データ圧縮装置１０とデータ伸長装置２０とは、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
【００８１】
実施の形態３．
実施の形態３では、位置差ｍが決定されると、決定された位置差ｍを検証して、適宜決定し直しする点が実施の形態２と異なる。実施の形態３では、この異なる点について説明する。
【００８２】
＊＊＊構成の説明＊＊＊
図１７を参照して、実施の形態３に係るデータ圧縮装置１０の構成を説明する。
データ圧縮装置１０は、図１１に示す機能構成に加え、検証部１１７を備える。検証部１１７の機能はソフトウェアにより実現される。
記憶装置１２には、検証部１１７の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ１１に読み込まれ、プロセッサ１１によって実行される。これにより、検証部１１７の機能が実現される。
【００８３】
図１８を参照して、実施の形態３に係るデータ伸長装置２０の構成を説明する。
データ伸長装置２０は、図４に示す機能構成に加え、検証部２１７を備える。検証部２１７の機能はソフトウェアにより実現される。
記憶装置２２には、検証部２１７の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ２１に読み込まれ、プロセッサ２１によって実行される。これにより、検証部２１７の機能が実現される。
【００８４】
＊＊＊動作の説明＊＊＊
図１７及び図１９を参照して、実施の形態３に係るデータ圧縮装置１０の動作を説明する。
実施の形態３に係るデータ圧縮装置１０の動作は、実施の形態３に係るデータ圧縮方法に相当する。また、実施の形態３に係るデータ圧縮装置１０の動作は、実施の形態３に係るデータ圧縮プログラムの処理に相当する。
【００８５】
ステップＳ５０１からステップＳ５０３の処理は、図１３のステップＳ３０１からステップＳ３０３の処理と同じである。また、ステップＳ５０６からステップＳ５１０の処理は、図１３のステップＳ３０４からステップＳ３０８の処理と同じである。
【００８６】
ステップＳ５０４の妥当性検証処理では、検証部１１７は、ステップＳ５０３で位置差決定部１１６によって決定された位置差ｍが妥当であるか否かを判定する。
検証部１１７は、位置差ｍが妥当でないと判定した場合（ステップＳ５０４でＮＯ）、処理をステップＳ５０５に進める。一方、検証部１１７は、位置差ｍが妥当であると判定した場合（ステップＳ５０４でＹＥＳ）、処理をステップＳ５０６に進める。
【００８７】
実施の形態３では、検証部１１７は、入力データ列ｄにおいて既に符号が生成されたある入力値ｄ［ｊ］について、位置差決定部１１６によって決定された位置差ｍを用いて予測された予測値ｐ［ｊ］と、入力値ｄ［ｊ］との残差ｒ［ｊ］の絶対値が基準値以上である場合に、位置差ｍが妥当でないと判定する。一方、検証部１１７は、残差ｒ［ｊ］が基準値未満である場合に、位置差ｍが妥当であると判定する。
具体的には、検証部１１７は、位置差ｍを記憶装置１２から読み出す。そして、検証部１１７は、予測部１１２に、位置差ｍを用いて入力値ｄ［ｊ］の予測値ｐ［ｊ］を予測させる。ここで、変数ｊは、０以上変数ｉ未満の整数である。次に、検証部１１７は、残差計算部１１３に、予測値ｐ［ｊ］と入力値ｄ［ｊ］との残差ｒ［ｊ］を計算させる。そして、検証部１１７は、残差ｒ［ｊ］の絶対値が基準値未満であるか否かを判定する。
なお、検証部１１７が位置差ｍが妥当であるか否かを判定する方法は他の方法であってもよいが、判定に用いることができる入力値は、既に符号が生成された入力値ｄ［０］，．．．，入力値ｄ［ｉ−１］に限られる。
【００８８】
ステップＳ５０５の再決定判定処理では、検証部１１７は、位置差決定部１１６に、位置差ｍを決定し直させるか否かを判定する。具体的には、検証部１１７は、ステップＳ５０４で一定回連続して位置差ｍが妥当でないと判定した場合には、位置差ｍを決定し直させないと判定し、そうでない場合には、位置差ｍを決定し直させると判定する。
【００８９】
検証部１１７は、位置差ｍを決定し直させると判定した場合（ステップＳ５０５でＹＥＳ）、処理をステップＳ５０３に戻す。この際、検証部１１７は、一度妥当でないと判定した位置差ｍについては選択対象外とし、再び位置差決定部１１６によって選択されないようにする。処理がステップＳ５０３に戻されると、ステップＳ５０３において、位置差決定部１１６は、選択対象外となっていない位置の差のうち、最も多い位置の差を位置差ｍとして決定する。
【００９０】
一方、検証部１１７は、位置差ｍを決定し直させないと判定した場合（ステップＳ５０５でＮＯ）、処理をステップＳ５０６に進める。この際、検証部１１７は、位置差ｍを使用不可に設定する。この場合、ステップＳ５０６で予測部１１２は、位置差ｍを用いずに、入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測する。具体的には、入力データ列ｄにおいて既に符号が生成された入力値ｄ［０］，．．．，入力値ｄ［ｉ−１］を用いて、入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測する。
【００９１】
図１８及び図２０を参照して、実施の形態３に係るデータ伸長装置２０の動作を説明する。
実施の形態３に係るデータ伸長装置２０の動作は、実施の形態３に係るデータ伸長方法に相当する。また、実施の形態３に係るデータ伸長装置２０の動作は、実施の形態３に係るデータ伸長プログラムの処理に相当する。
【００９２】
ステップＳ６０１からステップＳ６０３の処理は、図１５のステップＳ４０１からステップＳ４０３の処理と同じである。また、ステップＳ６０６からステップＳ６１０の処理は、図１５のステップＳ４０４からステップＳ４０８の処理と同じである。
【００９３】
ステップＳ６０４の妥当性検証処理では、検証部２１７は、図１９のステップＳ５０４で検証部１１７が用いた判定方法と同じ判定方法により、ステップＳ６０３で位置差決定部２１６によって決定された位置差ｍが妥当であるか否かを判定する。
つまり、実施の形態３では、検証部２１７は、既に計算されたある出力値ｏ［ｊ］について、位置差決定部２１６によって決定された位置差ｍを用いて予測された予測値ｐ［ｊ］と、出力値ｏ［ｊ］との残差ｒ［ｊ］の絶対値が基準値以上である場合に、位置差ｍが妥当でないと判定する。一方、検証部２１７は、残差ｒ［ｊ］が基準値未満である場合に、位置差ｍが妥当であると判定する。
具体的には、検証部２１７は、位置差ｍを記憶装置２２から読み出す。そして、検証部２１７は、予測部２１２に、位置差ｍを用いて出力値ｏ［ｊ］の予測値ｐ［ｊ］を予測させる。ここで、変数ｊは、０以上変数ｉ未満の整数である。次に、検証部２１７は、残差計算部２１３に、予測値ｐ［ｊ］と出力値ｏ［ｊ］との残差ｒ［ｊ］を計算させる。そして、検証部２１７は、残差ｒ［ｊ］の絶対値が基準値未満であるか否かを判定する。
検証部２１７は、位置差ｍが妥当でないと判定した場合（ステップＳ６０４でＮＯ）、処理をステップＳ６０５に進める。一方、検証部２１７は、位置差ｍが妥当であると判定した場合（ステップＳ６０４でＹＥＳ）、処理をステップＳ６０６に進める。
【００９４】
ステップＳ６０５の再決定判定処理では、検証部２１７は、図１９のステップＳ５０５で検証部１１７が用いた判定方法と同じ判定方法により、位置差決定部２１６に、位置差ｍを決定し直させるか否かを判定する。
つまり、検証部２１７は、ステップＳ６０４で一定回連続して位置差ｍが妥当でないと判定した場合には、位置差ｍを決定し直させないと判定し、そうでない場合には、位置差ｍを決定し直させると判定する。
【００９５】
検証部２１７は、位置差ｍを決定し直させると判定した場合（ステップＳ６０５でＹＥＳ）、処理をステップＳ６０３に戻す。この際、検証部２１７は、一度妥当でないと判定した位置差ｍについては選択対象外とし、再び位置差決定部２１６によって選択されないようにする。
【００９６】
一方、検証部２１７は、位置差ｍを決定し直させないと判定した場合（ステップＳ６０５でＮＯ）、処理をステップＳ６０６に進める。この際、検証部２１７は、位置差ｍを使用不可に設定する。この場合、ステップＳ６０６で予測部２１２は、位置差ｍを用いずに、出力値ｏ［ｉ］の予測値ｐ［ｉ］を予測する。具体的には、出力値計算部によって生成された出力値ｏ［０］，．．．，出力値ｏ［ｉ−１］を用いて、出力値ｏ［ｉ］の予測値ｐ［ｉ］を予測する。
【００９７】
＊＊＊実施の形態３の効果＊＊＊
以上のように、実施の形態３に係るデータ圧縮システム１では、位置差ｍが決定されると、決定された位置差ｍを検証して、適宜決定し直しする。これにより、決定された位置差ｍが適切でない場合に、予測値を予測する精度が低下することを防止することができる。
【００９８】
＊＊＊他の構成＊＊＊
＜変形例６＞
実施の形態３では、実施の形態１，２と同じように、データ圧縮装置１０とデータ伸長装置２０との各部の機能がソフトウェアで実現された。しかし、実施の形態１の変形例２と同じように、データ圧縮装置１０とデータ伸長装置２０との各部の機能はハードウェアで実現されてもよい。また、実施の形態１の変形例３と同じように、データ圧縮装置１０とデータ伸長装置２０とは、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
【符号の説明】
【００９９】
１  データ圧縮システム、１０  データ圧縮装置、１１  プロセッサ、１２  記憶装置、１３  通信装置、１４  信号線、１５  処理回路、１１１  入力部、１１２  予測部、１１３  残差計算部、１１４  符号化部、１１５  出力部、１１６  位置差決定部、１１７  検証部、２０  データ伸長装置、２１  プロセッサ、２２  記憶装置、２３  通信装置、２４  信号線、２５  処理回路、２１１  入力部、２１２  予測部、２１３  復号部、２１４  出力値計算部、２１５  出力部、２１６  位置差決定部、２１７  検証部、ｄ  入力データ列、ｅ  外部データ列、ｃ  符号データ列、ｏ  出力データ列。
【図１】
2017109865.tif 000003
【図２】
2017109865.tif 000004
【図３】
2017109865.tif 000005
【図４】
2017109865.tif 000006
【図５】
2017109865.tif 000007
【図６】
2017109865.tif 000008
【図７】
2017109865.tif 000009
【図８】
2017109865.tif 000010
【図９】
2017109865.tif 000011
【図１０】
2017109865.tif 000012
【図１１】
2017109865.tif 000013
【図１２】
2017109865.tif 000014
【図１３】
2017109865.tif 000015
【図１４】
2017109865.tif 000016
【図１５】
2017109865.tif 000017
【図１６】
2017109865.tif 000018
【図１７】
2017109865.tif 000019
【図１８】
2017109865.tif 000020
【図１９】
2017109865.tif 000021
【図２０】
2017109865.tif 000022
【手続補正書】
【提出日】平成29年10月24日(2017.10.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、入力データ列ｄにおける前記対象位置ｉの入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測する予測部と、
前記入力値ｄ［ｉ］と、前記予測部によって予測された予測値ｐ［ｉ］との差を残差ｒ［ｉ］として計算する残差計算部と、
前記残差計算部によって計算された残差ｒ［ｉ］を符号化して、前記入力値ｄ［ｉ］についての符号ｃ［ｉ］を生成する符号化部と、
前記入力データ列ｄの入力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記入力データ列ｄと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定する位置差決定部であって、前記入力データ列ｄにおいて既に符号が生成された入力値と、前記外部データ列ｅとについて、極値の位置が近くなる前記ずらし量を前記位置差ｍとして決定する位置差決定部と
を備えるデータ圧縮装置。
【請求項２】
前記予測部は、さらに、前記入力データ列ｄにおいて既に符号が生成された入力値を用いて、前記予測値ｐ［ｉ］を予測する
請求項１に記載のデータ圧縮装置。
【請求項３】
前記位置差決定部は、基準個の入力値が符号化される度に、前記位置差ｍを新たに決定する
請求項１又は２に記載のデータ圧縮装置。
【請求項４】
外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、入力データ列ｄにおける前記対象位置ｉの入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測する予測部と、
前記入力値ｄ［ｉ］と、前記予測部によって予測された予測値ｐ［ｉ］との差を残差ｒ［ｉ］として計算する残差計算部と、
前記残差計算部によって計算された残差ｒ［ｉ］を符号化して、前記入力値ｄ［ｉ］についての符号ｃ［ｉ］を生成する符号化部と、
前記入力データ列ｄの入力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記入力データ列ｄと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定する位置差決定部であって、前記外部データ列ｅを用いずに予測された前記入力値ｄ［ｉ−１］の予測値ｐ＊［ｉ−１］と前記入力値ｄ［ｉ−１］との残差ｒ＊［ｉ−１］の絶対値が、前記入力値ｄ［ｉ−１］と前記予測値ｐ［ｉ−１］との残差ｒ［ｉ−１］の絶対値よりも小さいことが基準回連続した場合に、前記位置差ｍを新たに決定する位置差決定部と
を備えるデータ圧縮装置。
【請求項５】
外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、入力データ列ｄにおける前記対象位置ｉの入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測する予測部と、
前記入力値ｄ［ｉ］と、前記予測部によって予測された予測値ｐ［ｉ］との差を残差ｒ［ｉ］として計算する残差計算部と、
前記残差計算部によって計算された残差ｒ［ｉ］を符号化して、前記入力値ｄ［ｉ］についての符号ｃ［ｉ］を生成する符号化部と、
前記入力データ列ｄの入力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記入力データ列ｄと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定する位置差決定部と、
前記入力データ列ｄにおいて既に符号が生成されたある入力値ｄ［ｊ］について、前記位置差決定部によって決定された位置差ｍを用いて予測された予測値ｐ［ｊ］と、前記入力値ｄ［ｊ］との残差ｒ［ｊ］の絶対値が基準値以上である場合に、前記位置差決定部に前記位置差ｍを決定し直させる検証部と
を備えるデータ圧縮装置。
【請求項６】
外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、出力データ列ｏにおける前記対象位置ｉの出力値ｏ［ｉ］の予測値ｐ［ｉ］を予測する予測部と、
符号ｃ［ｉ］を復号して残差ｒ［ｉ］を生成する復号部と、
前記予測部によって予測された予測値ｐ［ｉ］と、前記復号部によって生成された残差ｒ［ｉ］との和を前記出力値ｏ［ｉ］として計算する出力値計算部と、
前記出力データ列ｏの出力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記出力データ列ｏと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定する位置差決定部であって、前記出力データ列ｏと前記外部データ列ｅとについて、極値の位置が近くなる前記ずらし量を前記位置差ｍとして決定する位置差決定部と
を備えるデータ伸長装置。
【請求項７】
前記予測部は、さらに、前記出力値計算部によって計算された出力値を用いて、前記予測値ｐ［ｉ］を予測する
請求項６に記載のデータ伸長装置。
【請求項８】
前記位置差決定部は、基準個の出力値が計算される度に、前記位置差ｍを新たに決定する
請求項６又は７に記載のデータ伸長装置。
【請求項９】
外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、出力データ列ｏにおける前記対象位置ｉの出力値ｏ［ｉ］の予測値ｐ［ｉ］を予測する予測部と、
符号ｃ［ｉ］を復号して残差ｒ［ｉ］を生成する復号部と、
前記予測部によって予測された予測値ｐ［ｉ］と、前記復号部によって生成された残差ｒ［ｉ］との和を前記出力値ｏ［ｉ］として計算する出力値計算部と、
前記出力データ列ｏの出力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記出力データ列ｏと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定する位置差決定部であって、前記外部データ列ｅを用いずに予測された前記出力値ｏ［ｉ−１］の予測値ｐ＊［ｉ−１］と前記出力値ｏ［ｉ−１］との残差ｒ＊［ｉ−１］の絶対値が、前記予測値ｐ［ｉ−１］と前記出力値ｏ［ｉ−１］との残差ｒ［ｉ−１］の絶対値よりも小さいことが基準回連続した場合に、前記位置差ｍを新たに決定する位置差決定部と
を備えるデータ伸長装置。
【請求項１０】
外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、出力データ列ｏにおける前記対象位置ｉの出力値ｏ［ｉ］の予測値ｐ［ｉ］を予測する予測部と、
符号ｃ［ｉ］を復号して残差ｒ［ｉ］を生成する復号部と、
前記予測部によって予測された予測値ｐ［ｉ］と、前記復号部によって生成された残差ｒ［ｉ］との和を前記出力値ｏ［ｉ］として計算する出力値計算部と、
前記出力データ列ｏの出力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記出力データ列ｏと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定する位置差決定部と、
前記出力値計算部によって生成されたある出力値ｏ［ｊ］について、前記位置差決定部によって決定された位置差ｍを用いて予測された予測値ｐ［ｊ］と、前記出力値ｏ［ｊ］との残差ｒ［ｊ］の絶対値が基準値以上である場合に、前記位置差決定部に前記位置差ｍを決定し直させる検証部と
を備えるデータ伸長装置。
【請求項１１】
外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、入力データ列ｄにおける前記対象位置ｉの入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測する予測処理と、
前記入力値ｄ［ｉ］と、前記予測処理によって予測された予測値ｐ［ｉ］との差を残差ｒ［ｉ］として計算する残差計算処理と、
前記残差計算処理によって計算された残差ｒ［ｉ］を符号化して、前記入力値ｄ［ｉ］についての符号ｃ［ｉ］を生成する符号化処理と、
前記入力データ列ｄの入力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記入力データ列ｄと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定する位置差決定処理であって、前記入力データ列ｄにおいて既に符号が生成された入力値と、前記外部データ列ｅとについて、極値の位置が近くなる前記ずらし量を前記位置差ｍとして決定する位置差決定処理と
をコンピュータに実行させるデータ圧縮プログラム。
【請求項１２】
外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、入力データ列ｄにおける前記対象位置ｉの入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測する予測処理と、
前記入力値ｄ［ｉ］と、前記予測処理によって予測された予測値ｐ［ｉ］との差を残差ｒ［ｉ］として計算する残差計算処理と、
前記残差計算処理によって計算された残差ｒ［ｉ］を符号化して、前記入力値ｄ［ｉ］についての符号ｃ［ｉ］を生成する符号化処理と、
前記入力データ列ｄの入力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記入力データ列ｄと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定する位置差決定処理であって、前記外部データ列ｅを用いずに予測された前記入力値ｄ［ｉ−１］の予測値ｐ＊［ｉ−１］と前記入力値ｄ［ｉ−１］との残差ｒ＊［ｉ−１］の絶対値が、前記入力値ｄ［ｉ−１］と前記予測値ｐ［ｉ−１］との残差ｒ［ｉ−１］の絶対値よりも小さいことが基準回連続した場合に、前記位置差ｍを新たに決定する位置差決定処理と
をコンピュータに実行させるデータ圧縮プログラム。
【請求項１３】
外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、入力データ列ｄにおける前記対象位置ｉの入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測する予測処理と、
前記入力値ｄ［ｉ］と、前記予測処理によって予測された予測値ｐ［ｉ］との差を残差ｒ［ｉ］として計算する残差計算処理と、
前記残差計算処理によって計算された残差ｒ［ｉ］を符号化して、前記入力値ｄ［ｉ］についての符号ｃ［ｉ］を生成する符号化処理と、
前記入力データ列ｄの入力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記入力データ列ｄと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定する位置差決定処理と、
前記入力データ列ｄにおいて既に符号が生成されたある入力値ｄ［ｊ］について、前記位置差決定処理によって決定された位置差ｍを用いて予測された予測値ｐ［ｊ］と、前記入力値ｄ［ｊ］との残差ｒ［ｊ］の絶対値が基準値以上である場合に、前記位置差決定処理に前記位置差ｍを決定し直させる検証処理と
をコンピュータに実行させるデータ圧縮プログラム。
【請求項１４】
外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、出力データ列ｏにおける前記対象位置ｉの出力値ｏ［ｉ］の予測値ｐ［ｉ］を予測する予測処理と、
符号ｃ［ｉ］を復号して残差ｒ［ｉ］を生成する復号処理と、
前記予測処理によって予測された予測値ｐ［ｉ］と、前記復号処理によって生成された残差ｒ［ｉ］との和を出力値ｏ［ｉ］として計算する出力値計算処理と、
前記出力データ列ｏの出力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記出力データ列ｏと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定する位置差決定処理であって、前記出力データ列ｏと前記外部データ列ｅとについて、極値の位置が近くなる前記ずらし量を前記位置差ｍとして決定する位置差決定処理と
をコンピュータに実行させるデータ伸長プログラム。
【請求項１５】
外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、出力データ列ｏにおける前記対象位置ｉの出力値ｏ［ｉ］の予測値ｐ［ｉ］を予測する予測処理と、
符号ｃ［ｉ］を復号して残差ｒ［ｉ］を生成する復号処理と、
前記予測処理によって予測された予測値ｐ［ｉ］と、前記復号処理によって生成された残差ｒ［ｉ］との和を出力値ｏ［ｉ］として計算する出力値計算処理と、
前記出力データ列ｏの出力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記出力データ列ｏと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定する位置差決定処理であって、前記外部データ列ｅを用いずに予測された前記出力値ｏ［ｉ−１］の予測値ｐ＊［ｉ−１］と前記出力値ｏ［ｉ−１］との残差ｒ＊［ｉ−１］の絶対値が、前記予測値ｐ［ｉ−１］と前記出力値ｏ［ｉ−１］との残差ｒ［ｉ−１］の絶対値よりも小さいことが基準回連続した場合に、前記位置差ｍを新たに決定する位置差決定処理と
をコンピュータに実行させるデータ伸長プログラム。
【請求項１６】
外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、出力データ列ｏにおける前記対象位置ｉの出力値ｏ［ｉ］の予測値ｐ［ｉ］を予測する予測処理と、
符号ｃ［ｉ］を復号して残差ｒ［ｉ］を生成する復号処理と、
前記予測処理によって予測された予測値ｐ［ｉ］と、前記復号処理によって生成された残差ｒ［ｉ］との和を出力値ｏ［ｉ］として計算する出力値計算処理と、
前記出力データ列ｏの出力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記出力データ列ｏと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定する位置差決定処理と、
前記出力値計算処理によって生成されたある出力値ｏ［ｊ］について、前記位置差決定処理によって決定された位置差ｍを用いて予測された予測値ｐ［ｊ］と、前記出力値ｏ［ｊ］との残差ｒ［ｊ］の絶対値が基準値以上である場合に、前記位置差決定処理に前記位置差ｍを決定し直させる検証処理と
をコンピュータに実行させるデータ伸長プログラム。
【請求項１７】
プロセッサが、外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、入力データ列ｄにおける前記対象位置ｉの入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測し、
プロセッサが、前記入力値ｄ［ｉ］と、前記予測値ｐ［ｉ］との差を残差ｒ［ｉ］として計算し、
プロセッサが、前記残差ｒ［ｉ］を符号化して、前記入力値ｄ［ｉ］についての符号ｃ［ｉ］を生成し、
前記入力データ列ｄの入力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記入力データ列ｄと前記外部データ列ｅとが相関するずらし量であって、前記入力データ列ｄにおいて既に符号が生成された入力値と、前記外部データ列ｅとについて、極値の位置が近くなるずらし量を前記位置差ｍとして決定するデータ圧縮方法。
【請求項１８】
プロセッサが、外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、入力データ列ｄにおける前記対象位置ｉの入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測し、
プロセッサが、前記入力値ｄ［ｉ］と、前記予測値ｐ［ｉ］との差を残差ｒ［ｉ］として計算し、
プロセッサが、前記残差ｒ［ｉ］を符号化して、前記入力値ｄ［ｉ］についての符号ｃ［ｉ］を生成し、
前記入力データ列ｄの入力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記入力データ列ｄと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定し、
前記外部データ列ｅを用いずに予測された前記入力値ｄ［ｉ−１］の予測値ｐ＊［ｉ−１］と前記入力値ｄ［ｉ−１］との残差ｒ＊［ｉ−１］の絶対値が、前記入力値ｄ［ｉ−１］と前記予測値ｐ［ｉ−１］との残差ｒ［ｉ−１］の絶対値よりも小さいことが基準回連続した場合に、前記位置差ｍを新たに決定するデータ圧縮方法。
【請求項１９】
プロセッサが、外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、入力データ列ｄにおける前記対象位置ｉの入力値ｄ［ｉ］の予測値ｐ［ｉ］を予測し、
プロセッサが、前記入力値ｄ［ｉ］と、前記予測値ｐ［ｉ］との差を残差ｒ［ｉ］として計算し、
プロセッサが、前記残差ｒ［ｉ］を符号化して、前記入力値ｄ［ｉ］についての符号ｃ［ｉ］を生成し、
前記入力データ列ｄの入力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記入力データ列ｄと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定し、
前記入力データ列ｄにおいて既に符号が生成されたある入力値ｄ［ｊ］について、決定された位置差ｍを用いて予測された予測値ｐ［ｊ］と、前記入力値ｄ［ｊ］との残差ｒ［ｊ］の絶対値が基準値以上である場合に、前記位置差ｍを決定し直させるデータ圧縮方法。
【請求項２０】
プロセッサが、外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、出力データ列ｏにおける前記対象位置ｉの出力値ｏ［ｉ］の予測値ｐ［ｉ］を予測し、
プロセッサが、符号ｃ［ｉ］を復号して残差ｒ［ｉ］を生成し、
プロセッサが、前記予測値ｐ［ｉ］と、前記残差ｒ［ｉ］との和を前記出力値ｏ［ｉ］として計算し、
前記出力データ列ｏの出力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記出力データ列ｏと前記外部データ列ｅとが相関するずらし量であって、前記出力データ列ｏと前記外部データ列ｅとについて、極値の位置が近くなる前記ずらし量を前記位置差ｍとして決定するデータ伸長方法。
【請求項２１】
プロセッサが、外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、出力データ列ｏにおける前記対象位置ｉの出力値ｏ［ｉ］の予測値ｐ［ｉ］を予測し、
プロセッサが、符号ｃ［ｉ］を復号して残差ｒ［ｉ］を生成し、
プロセッサが、前記予測値ｐ［ｉ］と、前記残差ｒ［ｉ］との和を前記出力値ｏ［ｉ］として計算し、
前記出力データ列ｏの出力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記出力データ列ｏと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定し、
前記外部データ列ｅを用いずに予測された前記出力値ｏ［ｉ−１］の予測値ｐ＊［ｉ−１］と前記出力値ｏ［ｉ−１］との残差ｒ＊［ｉ−１］の絶対値が、前記予測値ｐ［ｉ−１］と前記出力値ｏ［ｉ−１］との残差ｒ［ｉ−１］の絶対値よりも小さいことが基準回連続した場合に、前記位置差ｍを新たに決定するデータ伸長方法。
【請求項２２】
プロセッサが、外部データ列ｅにおける対象位置ｉの外部値ｅ［ｉ］より位置差ｍずれた位置の外部値ｅ［ｉ−ｍ］を用いて、出力データ列ｏにおける前記対象位置ｉの出力値ｏ［ｉ］の予測値ｐ［ｉ］を予測し、
プロセッサが、符号ｃ［ｉ］を復号して残差ｒ［ｉ］を生成し、
プロセッサが、前記予測値ｐ［ｉ］と、前記残差ｒ［ｉ］との和を前記出力値ｏ［ｉ］として計算し、
前記出力データ列ｏの出力値に対応する前記外部データ列ｅの外部値の位置をずらすことによって、前記出力データ列ｏと前記外部データ列ｅとが相関するずらし量を前記位置差ｍとして決定し、
生成されたある出力値ｏ［ｊ］について、決定された位置差ｍを用いて予測された予測値ｐ［ｊ］と、前記出力値ｏ［ｊ］との残差ｒ［ｊ］の絶対値が基準値以上である場合に、前記位置差ｍを決定し直させるデータ伸長方法。
【国際調査報告】
2017109865.tif 000023
2017109865.tif 000024
2017109865.tif 000025
2017109865.tif 000026