JP6266193B2 - データ圧縮装置、データ伸長装置、データ圧縮プログラム、データ伸長プログラム、データ圧縮方法及びデータ伸長方法 - Google Patents

データ圧縮装置、データ伸長装置、データ圧縮プログラム、データ伸長プログラム、データ圧縮方法及びデータ伸長方法 Download PDF

Info

Publication number
JP6266193B2
JP6266193B2 JP2017555720A JP2017555720A JP6266193B2 JP 6266193 B2 JP6266193 B2 JP 6266193B2 JP 2017555720 A JP2017555720 A JP 2017555720A JP 2017555720 A JP2017555720 A JP 2017555720A JP 6266193 B2 JP6266193 B2 JP 6266193B2
Authority
JP
Japan
Prior art keywords
value
data string
external
input
residual
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.)
Expired - Fee Related
Application number
JP2017555720A
Other languages
English (en)
Other versions
JPWO2017109865A1 (ja
Inventor
秀哉 柴田
秀哉 柴田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6266193B2 publication Critical patent/JP6266193B2/ja
Publication of JPWO2017109865A1 publication Critical patent/JPWO2017109865A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

この発明は、整数列を可逆圧縮する技術に関する。
整数列を可逆圧縮するための1つの方式として入力値と予測値との残差を符号化する方式がある。この残差を符号化する方式では、まず、符号化対象の入力データ列の各入力値について、予測値が計算される。次に、各入力値について予測値との残差が計算される。そして、残差が符号化される。
具体的な残差を符号化する方式としては、予測値として入力データ列の1つ前の値である前回値を用い、入力値から前回値を減じて残差を計算し、残差をガンマ符号化、又は、デルタ符号化で符号化する方式がある。
圧縮する値が0に近い値であるほど、圧縮率が高くなることが多い。
残差を符号化する方式では、予測値と入力値とが近い値であるほど、残差は0に近くなる。そのため、予測値を予測する精度を向上させることで、圧縮率を高くすることができる可能性が高い。
予測値を予測する精度を向上させるための技術として、外部データを利用する方法が知られる。特許文献1には、2つのチャンネルデータからなる立体映像データを圧縮して記録する技術が記載されている。そして、特許文献1には、一方のチャンネルデータについては、他方のチャンネルデータとの残差を符号化することが記載されている。この例では、他方のチャンネルデータが外部データに相当する。
特開平6−302103号公報
2つの整数列が一定の位相差を持つ2つの波形データである場合のように、2つの整数列のうち一方の整数列をずらした場合に、他方の整数列と似た挙動を示す場合がある。この場合に、特許文献1に記載された技術では、残差は0に近い値にならない可能性が高い。
この発明は、一方の整数列の位置をずらすと、他方の整数列と似た挙動を示す場合に、予測値を予測する精度を向上させることを目的とする。
この発明に係るデータ圧縮装置は、
外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける前記対象位置iの入力値d[i]の予測値p[i]を予測する予測部と、
前記入力値d[i]と、前記予測部によって予測された予測値p[i]との差を残差r[i]として計算する残差計算部と、
前記残差計算部によって計算された残差r[i]を符号化して、前記入力値d[i]についての符号c[i]を生成する符号化部と
を備える。
この発明では、外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける前記対象位置iの入力値d[i]の予測値p[i]を予測する。これにより、外部データ列eの位置をずらすと、入力データ列dと似た挙動を示すようになる場合に、予測値を予測する精度を向上させることができる。
実施の形態1に係るデータ圧縮システム1の構成図。 実施の形態1に係る入力データ列d及び外部データ列eの例を示す図。 実施の形態1に係るデータ圧縮装置10の構成図。 実施の形態1に係るデータ伸長装置20の構成図。 実施の形態1に係るデータ圧縮装置10の動作を示すフローチャート。 実施の形態1に係るデータ伸長装置20の動作を示すフローチャート。 変形例1に係るデータ圧縮装置10の構成図。 変形例1に係るデータ伸長装置20の構成図。 各部の機能がハードウェアで実現される場合のデータ圧縮装置10の構成図。 各部の機能がハードウェアで実現される場合のデータ伸長装置20の構成図。 実施の形態2に係るデータ圧縮装置10の構成図。 実施の形態2に係るデータ伸長装置20の構成図。 実施の形態2に係るデータ圧縮装置10の動作を示すフローチャート。 図13のステップS303での位置差決定部116の動作を示すフローチャート。 実施の形態2に係るデータ伸長装置20の動作を示すフローチャート。 図13のステップS302での変形例4に係る位置差決定部116の動作を示すフローチャート。 実施の形態3に係るデータ圧縮装置10の構成図。 実施の形態3に係るデータ伸長装置20の構成図。 実施の形態3に係るデータ圧縮装置10の動作を示すフローチャート。 実施の形態3に係るデータ伸長装置20の動作を示すフローチャート。
実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係るデータ圧縮システム1の構成を説明する。
データ圧縮システム1は、データ圧縮装置10と、データ伸長装置20とを備える。データ圧縮装置10とデータ伸長装置20とはネットワーク30を介して接続されている。
データ圧縮装置10は、入力データ列dと外部データ列eとを入力として、入力データ列dを符号化した符号データ列cを生成する装置である。データ伸長装置20は、データ圧縮装置10によって生成された符号データ列cと、外部データ列eとを入力として、符号データ列cを復号した出力データ列oを生成する装置である。
入力データ列dは、順序付けられた整数列であり、入力データ列dに含まれる整数値を入力値と呼ぶ。外部データ列eは、入力データ列dとは別の順序付けられた整数列であり、外部データ列eに含まれる整数値を外部値と呼ぶ。入力データ列dにおけるi番目の入力値を入力値d[i]と書き、外部データ列eにおけるi番目の外部値を外部値e[i]と書く。
実施の形態1に係るデータ圧縮システムでは、では、入力データ列dにおける対象位置iの入力値d[i]は、外部データ列eにおける対象位置iより位置差mずれた位置の外部値e[i−m]に近い値である場合に、圧縮率を高めることができる。具体的には、図2に示すように、一定の位相差を持つ2つの波形データの一方から一定時刻毎にサンプリングされた値の列が入力データ列dであり、他方から一定時刻毎にサンプリングされた値の列が外部データ列eであるような場合を想定する。図2では、2つの波形データの一方から一定時刻毎にサンプリングされた値が入力値d[0],...,d[X]であり、他方から一定時刻毎にサンプリングされた値が外部値e[0],...,e[X]である。図2では、位相差が位置差mである。なお、図2では、位置差mは正の値であるが、位置差mは負の値であってもよい。
入力データ列dに含まれる入力値の個数と、外部データ列eに含まれる外部値の個数とは任意である。実施の形態1では、外部データ列eに含まれる外部値の個数は、入力データ列dに含まれる入力値の個数以上であるとして説明する。なお、外部値の個数が入力値の個数未満の場合には、入力値の個数と外部値の個数との差の数だけ、外部データ列eに0といった任意の整数値を付加すればよい。
図3を参照して、実施の形態1に係るデータ圧縮装置10の構成を説明する。
データ圧縮装置10は、コンピュータである。
データ圧縮装置10は、プロセッサ11と、記憶装置12と、通信装置13とを備える。プロセッサ11は、信号線14を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
データ圧縮装置10は、機能構成として、入力部111と、予測部112と、残差計算部113と、符号化部114と、出力部115とを備える。入力部111と、予測部112と、残差計算部113と、符号化部114と、出力部115との各部の機能はソフトウェアにより実現される。
記憶装置12には、データ圧縮装置10の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ11に読み込まれ、プロセッサ11によって実行される。これにより、データ圧縮装置10の各部の機能が実現される。
図4を参照して、実施の形態1に係るデータ伸長装置20の構成を説明する。
データ伸長装置20は、コンピュータである。
データ伸長装置20は、プロセッサ21と、記憶装置22と、通信装置23とを備える。プロセッサ21は、信号線24を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
データ伸長装置20は、機能構成として、入力部211と、予測部212と、復号部213と、出力値計算部214と、出力部215とを備える。入力部211と、予測部212と、復号部213と、出力値計算部214と、出力部215との各部の機能はソフトウェアにより実現される。
記憶装置22には、データ伸長装置20の各部の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21に読み込まれ、プロセッサ21によって実行される。これにより、データ伸長装置20の各部の機能が実現される。
プロセッサ11,21は、プロセッシングを行うICである。ICは、Integrated Circuitの略である。プロセッサ11,21は、具体的には、CPU、DSP、GPUである。CPUは、Central Processing Unitの略である。DSPは、Digital Signal Processorの略である。GPUは、Graphics Processing Unitの略である。
記憶装置12,22は、具体的には、RAM及びHDDである。RAMは、Random Access Memoryの略である。HDDは、Hard Disk Driveの略である。記憶装置は、ROM及びフラッシュメモリといった他のハードウェアで構成されてもよい。ROMは、Read Only Memoryの略である。
通信装置13,23は、データを受信するレシーバー及びデータを送信するトランスミッターを含む装置である。通信装置13,23は、具体的には、通信チップ又はNICである。NICは、Network Interface Cardの略である。
プロセッサ11によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置12、又は、プロセッサ11内のレジスタ又はキャッシュメモリに記憶される。以下の説明では、プロセッサ11によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置12に記憶されるものとして説明する。
同様に、プロセッサ21によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置22、又は、プロセッサ21内のレジスタ又はキャッシュメモリに記憶される。以下の説明では、プロセッサ21によって実現される各部の機能の処理の結果を示す情報とデータと信号値と変数値は、記憶装置22に記憶されるものとして説明する。
プロセッサ11,21によって実現される各部の機能を実現するプログラムは、記憶装置12,22に記憶されているとした。しかし、このプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬記憶媒体に記憶されてもよい。
図3では、プロセッサ11は、1つだけ示されていた。しかし、プロセッサ11は、複数であってもよく、複数のプロセッサ11が、各部の機能を実現するプログラムを連携して実行してもよい。同様に、図4では、プロセッサ21は、1つだけ示されていた。しかし、プロセッサ21は、複数であってもよく、複数のプロセッサ21が、各部の機能を実現するプログラムを連携して実行してもよい。
***動作の説明***
図3及び図5を参照して、実施の形態1に係るデータ圧縮装置10の動作を説明する。
実施の形態1に係るデータ圧縮装置10の動作は、実施の形態1に係るデータ圧縮方法に相当する。また、実施の形態1に係るデータ圧縮装置10の動作は、実施の形態1に係るデータ圧縮プログラムの処理に相当する。
図5に示す処理の前提として、入力部111は、入力データ列dと外部データ列eとを通信装置13を介して受信し、入力データ列dと外部データ列eと記憶装置12に書き込んでいるものとする。
変数iに0が設定され、図5に示す処理が開始される。
ステップS101の完了判定処理では、入力部111は、入力データ列dの全ての入力値についての符号化が完了したか否かを判定する。具体的には、入力部111は、入力データ列dの入力値の個数をカウントしておき、変数iが入力値の個数である場合には、全ての入力値についての符号化が完了したと判定する。
入力部111は、符号化が完了したと判定した場合(ステップS101でYES)、処理を終了する。入力部111は、符号化が完了していないと判定した場合(ステップS101でNO)、処理をステップS102に進める。
ステップS102の予測処理では、予測部112は、外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける対象位置iの入力値d[i]の予測値p[i]を予測する。
具体的には、予測部112は、記憶装置12から位置差mを読み出し、対象位置iより位置差mずれた位置の外部値e[i−m]を記憶装置12から読み出す。実施の形態1では、位置差mは記憶装置12に事前に記憶されているとする。そして、予測部112は、p[i]=e[i−m]という式に従い、予測値p[i]を計算する。予測部112は、計算した予測値p[i]を記憶装置12に書き込む。
なお、外部値の個数が入力値の個数未満の場合など、予測に用いたい外部値が存在しない場合には、当該外部値を0などの任意の整数値と見做して処理すれば良い。
ここでは、入力値d[i]が外部値e[i−m]と近い値であるという仮定の下、p[i]=e[i−m]という式に従い予測値p[i]が計算された。しかし、予測値p[i]の計算に用いる式は、入力値d[i]と外部値e[i−m]との関係に基づき決定される。具体的には、入力値d[i]が外部値e[i−m]の2倍と近い値である場合には、p[i]=e[i−m]×2という式に従い予測値p[i]が計算される。また、入力値d[i]が外部値e[i−m]に3加えた値と近い値である場合には、p[i]=e[i−m]+3という式に従い予測値p[i]が計算される。
ステップS103の残差計算処理では、残差計算部113は、入力値d[i]と、ステップS102で予測部112によって予測された予測値p[i]との差を残差r[i]として計算する。
具体的には、残差計算部113は、事前に書き込まれた入力値d[i]と、ステップS102で書き込まれた予測値p[i]とを記憶装置12から読み出す。そして、残差計算部113は、入力値d[i]から予測値p[i]を減算して、残差r[i]を計算する。残差計算部113は、計算した残差r[i]を記憶装置12に書き込む。
ステップS104の符号化処理では、符号化部114は、ステップS103で残差計算部113によって計算された残差r[i]を符号化して、入力値d[i]についての符号c[i]を生成する。
具体的には、符号化部114は、ステップS103で書き込まれた残差r[i]を記憶装置12から読み出す。符号化部114は、ガンマ符号、デルタ符号、ゴロム・ライス符号といった整数符号化方式により残差r[i]を変換して、入力値d[i]についての符号c[i]を生成する。符号化部114は、生成した符号c[i]を記憶装置12に書き込む。
ステップS105の出力処理では、出力部115は、ステップS104で符号化部114によって生成された符号c[i]を符号データ列cの対象位置iの値として出力する。
ステップS106のインクリメント処理では、入力部111は、変数iの値に1加算して、処理をステップS101に戻す。
図4及び図6を参照して、実施の形態1に係るデータ伸長装置20の動作を説明する。
実施の形態1に係るデータ伸長装置20の動作は、実施の形態1に係るデータ伸長方法に相当する。また、実施の形態1に係るデータ伸長装置20の動作は、実施の形態1に係るデータ伸長プログラムの処理に相当する。
図6に示す処理の前提として、入力部211は、符号データ列cと外部データ列eとを通信装置23を介して受信し、符号データ列cと外部データ列eと記憶装置22に書き込んでいるものとする。
変数iに0が設定され、図6に示す処理が開始される。
ステップS201の完了判定処理では、入力部211は、符号データ列cの全ての符号についての復号が完了したか否かを判定する。具体的には、入力部211は、符号データ列cの符号の個数をカウントしておき、変数iが符号の個数である場合には、全ての符号についての復号が完了したと判定する。
入力部211は、復号が完了したと判定した場合(ステップS201でYES)、処理を終了する。入力部211は、復号が完了していないと判定した場合(ステップS201でNO)、処理をステップS202に進める。
ステップS202の予測処理では、予測部212は、外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、出力データ列oにおける対象位置iの出力値o[i]の予測値p[i]を予測する。
具体的には、予測部212は、記憶装置22から位置差mを読み出し、対象位置iより位置差mずれた位置の外部値e[i−m]を記憶装置22から読み出す。実施の形態1では、位置差mは記憶装置22に事前に記憶されているとする。そして、予測部212は、図5のステップS102で用いた式と同じ式に従い、予測値p[i]を計算する。予測部212は、計算した予測値p[i]を記憶装置22に書き込む。
ステップS203の復号処理では、復号部213は、符号c[i]を復号して残差r[i]を生成する。
具体的には、復号部213は、符号c[i]を記憶装置22から読み出す。そして、復号部213は、図5のステップS104で符号化部114が用いた整数符号化方式に対応した復号方式により符号c[i]を変換して、残差r[i]を計算する。復号部213は、計算した残差r[i]を記憶装置22に書き込む。
ステップS204の出力値計算処理では、出力値計算部214は、ステップS202で予測部212によって予測された予測値p[i]と、ステップS203で復号部213によって生成された残差r[i]との和を出力値o[i]として計算する。
具体的には、出力値計算部214は、ステップS202で予測部212によって予測された予測値p[i]と、ステップS203で復号部213によって生成された残差r[i]とを記憶装置22から読み出す。そして、出力値計算部214は、残差r[i]に予測値p[i]を加算して、出力値o[i]を計算する。出力値計算部214は、計算した出力値o[i]を記憶装置22に書き込む。
ステップS205の出力処理では、出力部215は、ステップS204で出力値計算部214によって計算された出力値o[i]を出力データ列oの対象位置iの値として出力する。
ステップS206のインクリメント処理では、入力部211は、変数iの値に1加算して、処理をステップS201に戻す。
***実施の形態1の効果***
以上のように、実施の形態1に係るデータ圧縮システム1では、外部データ列eにおける対象位置iより位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける入力値d[i]の予測値p[i]を予測する。これにより、一方の外部データ列eの位置をずらすと、入力データ列dと似た挙動を示すようになる場合に、予測値を予測する精度を向上させることができる。
***他の構成***
<変形例1>
実施の形態1では、外部値e[i−m]を用いて予測値p[i]を予測した。しかし、変形例1として、外部値e[i−m]だけでなく、他の外部値と、入力データ列dにおいて既に符号が生成された入力値との少なくともいずれかを用いて、予測値p[i]を予測してもよい。この変形例1について、実施の形態1と異なる点を説明する。
図7を参照して、変形例1に係るデータ圧縮装置10の構成を説明する。
図7では、予測部112が、入力データ列dの入力値d[j]と、外部データ列eとを入力としている点が図3と異なる。なお、変数jは、0からi−1までの整数値である。
変形例1では、図5のステップS102で予測部112は、外部値e[i−m]だけでなく、他の外部値と、入力データ列dにおいて既に符号が生成された入力値d[0],...,入力値d[i−1]との少なくともいずれかを用いて、予測値p[i]を予測する。この場合には、必要な外部値及び入力値を記憶装置12から読み出し、読み出した外部値及び入力値を用いた式に従い、予測値p[i]を計算する。
具体例としては、予測部112は、外部値e[i−m−1]及び外部値e[i−m]と、入力値d[i−1]とを用いて、p[i]=d[i−1]+(e[i−m]−e[i−m−1])という式に従い、予測値p[i]を計算することが考えられる。
図8を参照して、変形例1に係るデータ伸長装置20の構成を説明する。
図8では、予測部212が、出力データ列oの出力値o[j]と、外部データ列eとを入力としている点が図4と異なる。なお、変数jは、0からi−1までの整数値である。
変形例1では、図6のステップS202で予測部212は、外部値e[i−m]だけでなく、他の外部値と、出力データ列oにおいて既に符号が生成された出力値o[0],...,出力値o[i−1]との少なくともいずれかを用いて、予測値p[i]を予測する。
具体的には、予測部212は、変形例1のステップS102で予測部112が予測値p[i]を計算した方法と同じ方法により、予測値p[i]を計算する。但し、S102で予測部112が入力値d[j]を用いている場合には、入力値d[j]に代えて、入力値d[j]に対応する出力値o[j]を用いる。
なお、変形例1において、データ圧縮装置10の予測部112は、入力データ列dについては、未だ符号が生成されていない入力値については、予測値p[i]の予測に用いることができない。これは、データ伸長装置20が符号データ列cを正しく復号可能とするために必要となる。
つまり、データ伸長装置20の予測部212は、データ圧縮装置10の予測部112と同じ方法により予測値p[i]を予測する必要がある。しかし、データ伸長装置20の予測部212は、予測値p[i]を予測するときには、出力値としては、復号済の出力値o[0],...,出力値o[i−1]しか得られない。したがって、データ圧縮装置10の予測部112が、予測値p[i]を予測するときに、未だ符号が生成されていない入力値を用いてしまうと、データ伸長装置20が符号データ列cを正しく復号できなくなってしまう。
<変形例2>
実施の形態1では、データ圧縮装置10とデータ伸長装置20との各部の機能がソフトウェアで実現された。しかし、変形例2として、データ圧縮装置10とデータ伸長装置20との各部の機能はハードウェアで実現されてもよい。この変形例2について、実施の形態1と異なる点を説明する。
図9を参照して、変形例2に係るデータ圧縮装置10の構成を説明する。
各部の機能がハードウェアで実現される場合、データ圧縮装置10は、通信装置13と、処理回路15とを備える。処理回路15は、データ圧縮装置10の各部の機能及び記憶装置12の機能を実現する専用の電子回路である。
図10を参照して、変形例2に係るデータ伸長装置20の構成を説明する。
各部の機能がハードウェアで実現される場合、データ伸長装置20は、通信装置23と、処理回路25とを備える。処理回路25は、データ伸長装置20の各部の機能及び記憶装置22の機能を実現する専用の電子回路である。
処理回路15,25は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、FPGAが想定される。GAは、Gate Arrayの略である。ASICは、Application Specific Integrated Circuitの略である。FPGAは、Field−Programmable Gate Arrayの略である。
各部の機能を1つの処理回路15,25で実現してもよいし、各部の機能を複数の処理回路15,25に分散させて実現してもよい。
<変形例3>
変形例3として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、データ圧縮装置10の各部のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。データ伸長装置20についても、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
プロセッサ11,21と記憶装置12,22と処理回路15,25とを、総称して「プロセッシングサーキットリー」という。つまり、各部の機能は、プロセッシングサーキットリーにより実現される。
実施の形態2.
実施の形態2は、位置差mを適宜決定して、予測値p[i]を予測する点が実施の形態1と異なる。実施の形態2では、この異なる点について説明する。
***構成の説明***
図11を参照して、実施の形態2に係るデータ圧縮装置10の構成を説明する。
データ圧縮装置10は、図3に示す機能構成に加え、位置差決定部116を備える。位置差決定部116の機能はソフトウェアにより実現される。
記憶装置12には、位置差決定部116の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ11に読み込まれ、プロセッサ11によって実行される。これにより、位置差決定部116の機能が実現される。
図12を参照して、実施の形態2に係るデータ伸長装置20の構成を説明する。
データ伸長装置20は、図4に示す機能構成に加え、位置差決定部216を備える。位置差決定部216の機能はソフトウェアにより実現される。
記憶装置22には、位置差決定部216の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21に読み込まれ、プロセッサ21によって実行される。これにより、位置差決定部216の機能が実現される。
***動作の説明***
図11及び図13を参照して、実施の形態2に係るデータ圧縮装置10の動作を説明する。
実施の形態2に係るデータ圧縮装置10の動作は、実施の形態2に係るデータ圧縮方法に相当する。また、実施の形態2に係るデータ圧縮装置10の動作は、実施の形態2に係るデータ圧縮プログラムの処理に相当する。
ステップS301の処理は、図5のステップS101の処理と同じである。また、ステップS304からステップS308の処理は、図5のステップS102からステップS106の処理と同じである。
ステップS302の決定判定処理では、位置差決定部116は、位置差mを新たに決定するか否かを判定する。位置差を更新するのは、入力データ列d及び外部データ列eの特性が変動することにより、位値差mも変動する可能性があるためである。
位置差決定部116は、位置差mを決定すると判定した場合(ステップS302でYES)、処理をステップS303へ進める。一方、位置差決定部116は、位置差mを決定しないと判定した場合(ステップS302でNO)、処理をステップS304へ進める。
具体的には、位置差決定部116は、基準個の入力値が符号化される度に、位置差mを決定すると判定する。
基準個は、1以上の整数である。基準個が小さい値であるほど、位置差mの更新頻度が高くなり処理負荷が高くなる。しかし、基準個が小さい値であるほど、位置差mが適切に設定されている割合が多くなり、予測精度が高くなることが見込まれる。そこで、基準個は、処理負荷と予測精度との両方を考慮の上、事前に決定される。
また、入力データ列dが周期性を持つデータの場合は、入力データ列dの周期毎に位置差mを決定し直せばよい。そこで、この場合、位置差決定部116は、入力データ列dにおいて既に符号が生成された入力値d[0],...,入力値d[i−1]を記憶装置12から読み出す。そして、位置差決定部116は、入力値d[0],...,入力値d[i−1]からその周期を特定し、特定した1つの周期に含まれる入力値の個数を基準個の値とする。また、この場合、位置差決定部116は、位置差mを決定する際、周期も特定する。これにより、周期が変動するような入力データ列dに対しても、周期の変動に追随し適切なタイミングで位置差mを決定することができる。
ステップS303の位置差決定処理では、位置差決定部116は、入力データ列dの入力値に対応する外部データ列eの外部値の位置をずらすことによって、入力データ列dと外部データ列eとが相関するずらし量を位置差mとして決定する。
図2であれば、元々は、同じ時刻にサンプリングされた、同じ位置の入力値d[n]と外部値e[n]とが対応している。このままでは、入力データ列dと外部データ列eとは相関していない。しかし、入力データ列dの入力値に対応する外部データ列eの外部値の位置を位相差分だけずらせば、入力データ列dと外部データ列eとが相関する。
具体的には、位置差決定部116は、入力データ列dにおいて既に符号が生成された入力値と、外部データ列eとについて、ピーク、すなわち極値の位置が近くなるずらし量を特定し、特定したずらし量を位置差mとして決定する。位置差決定部116は、決定した位置差mで記憶装置12に記憶された位置差mを上書きする。
図14を参照して、位置差mを決定する処理について説明する。
ステップS3031のデータ読出処理では、位置差決定部116は、入力データ列dにおいて既に符号が生成された入力値d[0],...,入力値d[i−1]を記憶装置12から読み出す。また、位置差決定部116は、外部データ列eの外部値e[0],...,外部値e[i−1]を記憶装置12から読み出す。
なお、位置差mを決定する処理負荷を小さくするために、直近のいくつかの入力値及び外部値のみを用いるようにしてもよい。直近のk個の入力値及び外部値のみを用いるのであれば、位置差決定部116は、入力値d[i−k],...,入力値d[i−1]と、外部値e[i−k],...,外部値e[i−1]とを記憶装置12から読み出す。
以下では、直近のk個の入力値及び外部値のみを用いる場合について説明する。
ステップS3032のピーク特定処理では、位置差決定部116は、入力値d[i−k],...,入力値d[i−1]から極値の位置を特定し、特定した極値のデータ列を極値a[0],...,極値a[p−1]とする。ここで、pは特定された極値の個数である。また、位置差決定部116は、外部値e[i−k],...,外部値e[i−1]から極値の位置を特定し、特定した極値のデータ列を極値b[0],...,極値b[q−1]とする。ここで、qは特定された極値の個数である。
ノイズによる細かい変動が混在するようなデータ列を扱う際に、極値を全て選択すると、ノイズの影響で不必要な極値を多く含んでしまう可能性がある。そこで、ノイズの影響を低減するために、ある固定幅内で最大値となる値のみを極値として抽出してもよい。また、入力値d[i−k],...,入力値d[i−1]の最大値からの差が一定値未満の極値のみを入力値の極値として抽出し、外部値e[i−k],...,外部値e[i−1]の最大値からの差が一定値未満の極値のみを外部値の極値として抽出してもよい。この方法は、データ列の最大振幅の周波数成分のみに着目したい場合に特に有効である。
ステップS3033の位置差特定処理では、位置差決定部116は、j=0,...,p−1の各整数jについて昇順に、極値a[j]より前で、位置が最も近い極値b[j]を選択し、極値a[i]と極値b[j]との位置の差を計算する。そして、位置差決定部116は、p個の位置の差に基づき、位置差mを決定する。実施の形態2では、位置差決定部116は、p個の位置の差のうち、最も多い位置の差を位置差mとして決定する。なお、位置差決定部116は、p個の位置の差の中間値を位置差mに決定する、又は、p個の位置の差の平均値に最も近い整数を位置差mに決定するといった他の方法で位置差mを決定してもよい。
図12及び図15を参照して、実施の形態2に係るデータ伸長装置20の動作を説明する。
実施の形態2に係るデータ伸長装置20の動作は、実施の形態2に係るデータ伸長方法に相当する。また、実施の形態2に係るデータ伸長装置20の動作は、実施の形態2に係るデータ伸長プログラムの処理に相当する。
ステップS401の処理は、図6のステップS201の処理と同じである。また、ステップS404からステップS408の処理は、図6のステップS202からステップS206の処理と同じである。
ステップS402の決定判定処理では、位置差決定部216は、図13のステップS302で位置差決定部116が用いた判定方法と同じ判定方法により、位置差mを新たに決定するか否かを判定する。
位置差決定部216は、位置差mを決定すると判定した場合(ステップS402でYES)、処理をステップS403へ進める。一方、位置差決定部216は、位置差mを決定し直さないと判定した場合(ステップS402でNO)、処理をステップS404へ進める。
具体的には、位置差決定部116が基準個の入力値が符号化される度に位置差mを決定すると判定する場合には、位置差決定部216は、基準個の出力値が計算される度に位置差mを決定すると判定する。
また、位置差決定部116が、入力データ列dの周期毎に位置差mを決定し直す場合には、位置差決定部216は、出力データ列oの周期毎に位置差mを決定し直す。この場合、位置差決定部216は、既に計算された出力値o[0],...,出力値o[i−1]を記憶装置22から読み出す。そして、位置差決定部216は、出力値o[0],...,出力値o[i−1]からその周期を特定し、特定した1つの周期に含まれる出力値の個数を基準個の値とする。また、この場合、位置差決定部216は、位置差mを決定する際、周期も特定する。
ステップS403の位置差決定処理では、位置差決定部216は、図13のステップS303で位置差決定部116が用いた決定方法と同じ決定方法により、位置差mを決定する。
つまり、位置差決定部216は、出力データ列oの出力値に対応する外部データ列eの外部値の位置をずらすことによって、出力データ列oと外部データ列eとが相関するずらし量を位置差mとして決定する。具体的には、位置差決定部216は、既に計算された出力値からなる出力データ列oと、外部データ列eとについて、ピーク、すなわち極値の位置が近くなるずらし量を特定し、特定したずらし量を位置差mとして決定する。位置差決定部216は、決定した位置差mで記憶装置22に記憶された位置差mを上書きする。位置差mを決定する処理については、図14に基づき説明した位置差決定部116の処理と同じである。但し、位置差決定部116がある整数vについての入力値d[v]を用いる場合、位置差決定部216は入力値d[v]に代えて出力値o[v]を用いる。
***実施の形態2の効果***
以上のように、実施の形態2に係るデータ圧縮システム1では、位置差mを適宜決定して、予測値p[i]を予測する。これにより、入力データ列dの特性が変動する場合にも、予測値を予測する精度を向上させることができる。
***他の構成***
<変形例4>
実施の形態2では、ステップS302で位置差決定部116は、基準個の入力値が符号化される度に、位置差mを新たに決定すると判定した。しかし、変形例4として、位置差決定部116は、予測値p[i]を予測する精度が基準精度を連続して下回った場合に、位置差mを新たに決定すると判定してもよい。この変形例4について、実施の形態2と異なる点を説明する。
データ圧縮装置10について説明する。
位置差決定部116は、基準精度として、外部データ列eを用いずに入力値d[i−1]を予測した場合の精度を用いる。具体的には、位置差決定部116は、外部データ列eを用いずに予測された入力値d[i−1]の予測値p[i−1]と入力値d[i−1]との残差r[i−1]の絶対値を基準精度とする。
基準精度が、入力値d[i−1]と予測値p[i−1]との残差r[i−1]の絶対値よりも小さい場合、予測値p[i−1]の精度が基準精度を下回ることになる。そこで、位置差決定部116は、基準精度が、入力値d[i−1]と予測値p[i−1]との残差r[i−1]の絶対値よりも小さいことが基準回連続した場合に、位置差mを新たに決定すると判定する。
図16を参照して、図13のステップS302での変形例4に係る位置差決定部116の動作を説明する。
ステップS3021の回数判定処理では、位置差決定部116は、変数Lが基準回以上であるか否かを判定する。位置差決定部116は、変数Lが基準回以上である場合(ステップS3021でYES)、処理をステップS3022に進める。一方、位置差決定部116は、変数Lが基準回以上でない場合(ステップS3021でNO)、処理をステップS3023に進める。
ステップS3022の更新決定処理では、位置差決定部116は、位置差mを新たに決定すると判定する。この際、位置差決定部116は、変数Lに0を設定する。
ステップS3023の非更新決定処理では、位置差決定部116は、位置差mを新たに決定しないと判定する。
ステップS3024の予測処理では、位置差決定部116は、予測部112に、外部データ列eを用いて、入力値d[i−1]の予測値p[i−1]を予測させる。また、位置差決定部116は、予測部112に、外部データ列eを用いずに、入力値d[i−1]の予測値p[i−1]を予測させる。
ここでは、予測部112は、図5のステップS102と同様に、予測値p[i−1]を予測する。また、予測部112は、入力データ列dにおいて既に符号が生成された入力値d[0],...,入力値d[i−2]を用いて、入力値d[i−1]の予測値p[i−1]を予測する。具体例としては、予測部112は、入力値d[i−2]を予測値p[i−1]とする。
ステップS3025の残差計算処理では、位置差決定部116は、残差計算部113に、予測値p[i−1]と入力値d[i−1]との残差r[i−1]を計算させる。また、位置差決定部116は、残差計算部113に、予測値p[i−1]と入力値d[i−1]との残差r[i−1]を計算させる。
ここでは、残差計算部113は、図5のステップS103と同様に、入力値d[i−1]から予測値p[i−1]を減算して残差r[i−1]を計算する。また、残差計算部113は、入力値d[i−1]から予測値p[i−1]を減算して残差r[i−1]を計算する。
ステップS3026の絶対値判定処理では、位置差決定部116は、残差r[i−1]の絶対値が残差r[i−1]の絶対値よりも小さいか否かを判定する。位置差決定部116は、残差r[i−1]の絶対値が残差r[i−1]の絶対値よりも小さい場合、処理をステップS3027に進める。一方、位置差決定部116は、残差r[i−1]の絶対値が残差r[i−1]の絶対値以上場合、処理をステップS3028に進める。
ステップS3027の変数加算処理では、位置差決定部116は、変数Lに1加算する。一方、ステップS3028の変数初期化処理では、位置差決定部116は、変数Lに0を設定する。
データ伸長装置20について説明する。
図15のステップS402で位置差決定部216は、図13のステップS302で位置差決定部116が用いた判定方法と同じ判定方法により、位置差mを決定するか否かを判定する。したがって、位置差決定部116が図16に基づき説明した判定方法で位置差mを決定するか否かを判定するのであれば、位置差決定部216も図16に基づき説明した判定方法で位置差mを決定するか否かを判定する。
つまり、位置差決定部216は、基準精度として、外部データ列eを用いずに出力値o[i−1]を予測した場合の精度を用いる。具体的には、位置差決定部216は、外部データ列eを用いずに予測された出力値o[i−1]の予測値p[i−1]と出力値o[i−1]との残差r[i−1]の絶対値を基準精度とする。
基準精度が、出力値o[i−1]と予測値p[i−1]との残差r[i−1]の絶対値よりも小さい場合、予測値p[i−1]の精度が基準精度を下回ることになる。そこで、位置差決定部216は、基準精度が、出力値o[i−1]と予測値p[i−1]との残差r[i−1]の絶対値よりも小さいことが基準回連続した場合に、位置差mを新たに決定すると判定する。
図15のステップS402での変形例4に係る位置差決定部216の動作については、図16に基づき説明した位置差決定部116の動作と同じである。但し、位置差決定部116がある整数vについての入力値d[v]を用いる場合、位置差決定部216は入力値d[v]に代えて出力値o[v]を用いる。
なお、変形例4において、データ圧縮装置10の位置差決定部116は、入力データ列dについては、未だ符号が生成されていない入力値については、位置差mの決定に用いることができない。これは、変形例1の説明において、予測部112が未だ符号が生成されていない入力値を用いることができなかったことと同じ理由からである。
<変形例5>
実施の形態2では、実施の形態1と同じように、データ圧縮装置10とデータ伸長装置20との各部の機能がソフトウェアで実現された。しかし、実施の形態1の変形例2と同じように、データ圧縮装置10とデータ伸長装置20との各部の機能はハードウェアで実現されてもよい。また、実施の形態1の変形例3と同じように、データ圧縮装置10とデータ伸長装置20とは、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
実施の形態3.
実施の形態3では、位置差mが決定されると、決定された位置差mを検証して、適宜決定し直しする点が実施の形態2と異なる。実施の形態3では、この異なる点について説明する。
***構成の説明***
図17を参照して、実施の形態3に係るデータ圧縮装置10の構成を説明する。
データ圧縮装置10は、図11に示す機能構成に加え、検証部117を備える。検証部117の機能はソフトウェアにより実現される。
記憶装置12には、検証部117の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ11に読み込まれ、プロセッサ11によって実行される。これにより、検証部117の機能が実現される。
図18を参照して、実施の形態3に係るデータ伸長装置20の構成を説明する。
データ伸長装置20は、図4に示す機能構成に加え、検証部217を備える。検証部217の機能はソフトウェアにより実現される。
記憶装置22には、検証部217の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21に読み込まれ、プロセッサ21によって実行される。これにより、検証部217の機能が実現される。
***動作の説明***
図17及び図19を参照して、実施の形態3に係るデータ圧縮装置10の動作を説明する。
実施の形態3に係るデータ圧縮装置10の動作は、実施の形態3に係るデータ圧縮方法に相当する。また、実施の形態3に係るデータ圧縮装置10の動作は、実施の形態3に係るデータ圧縮プログラムの処理に相当する。
ステップS501からステップS503の処理は、図13のステップS301からステップS303の処理と同じである。また、ステップS506からステップS510の処理は、図13のステップS304からステップS308の処理と同じである。
ステップS504の妥当性検証処理では、検証部117は、ステップS503で位置差決定部116によって決定された位置差mが妥当であるか否かを判定する。
検証部117は、位置差mが妥当でないと判定した場合(ステップS504でNO)、処理をステップS505に進める。一方、検証部117は、位置差mが妥当であると判定した場合(ステップS504でYES)、処理をステップS506に進める。
実施の形態3では、検証部117は、入力データ列dにおいて既に符号が生成されたある入力値d[j]について、位置差決定部116によって決定された位置差mを用いて予測された予測値p[j]と、入力値d[j]との残差r[j]の絶対値が基準値以上である場合に、位置差mが妥当でないと判定する。一方、検証部117は、残差r[j]が基準値未満である場合に、位置差mが妥当であると判定する。
具体的には、検証部117は、位置差mを記憶装置12から読み出す。そして、検証部117は、予測部112に、位置差mを用いて入力値d[j]の予測値p[j]を予測させる。ここで、変数jは、0以上変数i未満の整数である。次に、検証部117は、残差計算部113に、予測値p[j]と入力値d[j]との残差r[j]を計算させる。そして、検証部117は、残差r[j]の絶対値が基準値未満であるか否かを判定する。
なお、検証部117が位置差mが妥当であるか否かを判定する方法は他の方法であってもよいが、判定に用いることができる入力値は、既に符号が生成された入力値d[0],...,入力値d[i−1]に限られる。
ステップS505の再決定判定処理では、検証部117は、位置差決定部116に、位置差mを決定し直させるか否かを判定する。具体的には、検証部117は、ステップS504で一定回連続して位置差mが妥当でないと判定した場合には、位置差mを決定し直させないと判定し、そうでない場合には、位置差mを決定し直させると判定する。
検証部117は、位置差mを決定し直させると判定した場合(ステップS505でYES)、処理をステップS503に戻す。この際、検証部117は、一度妥当でないと判定した位置差mについては選択対象外とし、再び位置差決定部116によって選択されないようにする。処理がステップS503に戻されると、ステップS503において、位置差決定部116は、選択対象外となっていない位置の差のうち、最も多い位置の差を位置差mとして決定する。
一方、検証部117は、位置差mを決定し直させないと判定した場合(ステップS505でNO)、処理をステップS506に進める。この際、検証部117は、位置差mを使用不可に設定する。この場合、ステップS506で予測部112は、位置差mを用いずに、入力値d[i]の予測値p[i]を予測する。具体的には、入力データ列dにおいて既に符号が生成された入力値d[0],...,入力値d[i−1]を用いて、入力値d[i]の予測値p[i]を予測する。
図18及び図20を参照して、実施の形態3に係るデータ伸長装置20の動作を説明する。
実施の形態3に係るデータ伸長装置20の動作は、実施の形態3に係るデータ伸長方法に相当する。また、実施の形態3に係るデータ伸長装置20の動作は、実施の形態3に係るデータ伸長プログラムの処理に相当する。
ステップS601からステップS603の処理は、図15のステップS401からステップS403の処理と同じである。また、ステップS606からステップS610の処理は、図15のステップS404からステップS408の処理と同じである。
ステップS604の妥当性検証処理では、検証部217は、図19のステップS504で検証部117が用いた判定方法と同じ判定方法により、ステップS603で位置差決定部216によって決定された位置差mが妥当であるか否かを判定する。
つまり、実施の形態3では、検証部217は、既に計算されたある出力値o[j]について、位置差決定部216によって決定された位置差mを用いて予測された予測値p[j]と、出力値o[j]との残差r[j]の絶対値が基準値以上である場合に、位置差mが妥当でないと判定する。一方、検証部217は、残差r[j]が基準値未満である場合に、位置差mが妥当であると判定する。
具体的には、検証部217は、位置差mを記憶装置22から読み出す。そして、検証部217は、予測部212に、位置差mを用いて出力値o[j]の予測値p[j]を予測させる。ここで、変数jは、0以上変数i未満の整数である。次に、検証部217は、残差計算部213に、予測値p[j]と出力値o[j]との残差r[j]を計算させる。そして、検証部217は、残差r[j]の絶対値が基準値未満であるか否かを判定する。
検証部217は、位置差mが妥当でないと判定した場合(ステップS604でNO)、処理をステップS605に進める。一方、検証部217は、位置差mが妥当であると判定した場合(ステップS604でYES)、処理をステップS606に進める。
ステップS605の再決定判定処理では、検証部217は、図19のステップS505で検証部117が用いた判定方法と同じ判定方法により、位置差決定部216に、位置差mを決定し直させるか否かを判定する。
つまり、検証部217は、ステップS604で一定回連続して位置差mが妥当でないと判定した場合には、位置差mを決定し直させないと判定し、そうでない場合には、位置差mを決定し直させると判定する。
検証部217は、位置差mを決定し直させると判定した場合(ステップS605でYES)、処理をステップS603に戻す。この際、検証部217は、一度妥当でないと判定した位置差mについては選択対象外とし、再び位置差決定部216によって選択されないようにする。
一方、検証部217は、位置差mを決定し直させないと判定した場合(ステップS605でNO)、処理をステップS606に進める。この際、検証部217は、位置差mを使用不可に設定する。この場合、ステップS606で予測部212は、位置差mを用いずに、出力値o[i]の予測値p[i]を予測する。具体的には、出力値計算部によって生成された出力値o[0],...,出力値o[i−1]を用いて、出力値o[i]の予測値p[i]を予測する。
***実施の形態3の効果***
以上のように、実施の形態3に係るデータ圧縮システム1では、位置差mが決定されると、決定された位置差mを検証して、適宜決定し直しする。これにより、決定された位置差mが適切でない場合に、予測値を予測する精度が低下することを防止することができる。
***他の構成***
<変形例6>
実施の形態3では、実施の形態1,2と同じように、データ圧縮装置10とデータ伸長装置20との各部の機能がソフトウェアで実現された。しかし、実施の形態1の変形例2と同じように、データ圧縮装置10とデータ伸長装置20との各部の機能はハードウェアで実現されてもよい。また、実施の形態1の変形例3と同じように、データ圧縮装置10とデータ伸長装置20とは、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
1 データ圧縮システム、10 データ圧縮装置、11 プロセッサ、12 記憶装置、13 通信装置、14 信号線、15 処理回路、111 入力部、112 予測部、113 残差計算部、114 符号化部、115 出力部、116 位置差決定部、117 検証部、20 データ伸長装置、21 プロセッサ、22 記憶装置、23 通信装置、24 信号線、25 処理回路、211 入力部、212 予測部、213 復号部、214 出力値計算部、215 出力部、216 位置差決定部、217 検証部、d 入力データ列、e 外部データ列、c 符号データ列、o 出力データ列。

Claims (22)

  1. 外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける前記対象位置iの入力値d[i]の予測値p[i]を予測する予測部と、
    前記入力値d[i]と、前記予測部によって予測された予測値p[i]との差を残差r[i]として計算する残差計算部と、
    前記残差計算部によって計算された残差r[i]を符号化して、前記入力値d[i]についての符号c[i]を生成する符号化部と
    前記入力データ列dの入力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記入力データ列dと前記外部データ列eとが相関するずらし量を前記位置差mとして決定する位置差決定部であって、前記入力データ列dにおいて既に符号が生成された入力値と、前記外部データ列eとについて、極値の位置が近くなる前記ずらし量を前記位置差mとして決定する位置差決定部と
    を備えるデータ圧縮装置。
  2. 前記予測部は、さらに、前記入力データ列dにおいて既に符号が生成された入力値を用いて、前記予測値p[i]を予測する
    請求項1に記載のデータ圧縮装置。
  3. 前記位置差決定部は、基準個の入力値が符号化される度に、前記位置差mを新たに決定する
    請求項1又は2に記載のデータ圧縮装置。
  4. 外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける前記対象位置iの入力値d[i]の予測値p[i]を予測する予測部と、
    前記入力値d[i]と、前記予測部によって予測された予測値p[i]との差を残差r[i]として計算する残差計算部と、
    前記残差計算部によって計算された残差r[i]を符号化して、前記入力値d[i]についての符号c[i]を生成する符号化部と
    前記入力データ列dの入力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記入力データ列dと前記外部データ列eとが相関するずらし量を前記位置差mとして決定する位置差決定部であって、前記外部データ列eを用いずに予測された前記入力値d[i−1]の予測値p [i−1]と前記入力値d[i−1]との残差r [i−1]の絶対値が、前記入力値d[i−1]と前記予測値p[i−1]との残差r[i−1]の絶対値よりも小さいことが基準回連続した場合に、前記位置差mを新たに決定する位置差決定部と
    を備えるデータ圧縮装置。
  5. 外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける前記対象位置iの入力値d[i]の予測値p[i]を予測する予測部と、
    前記入力値d[i]と、前記予測部によって予測された予測値p[i]との差を残差r[i]として計算する残差計算部と、
    前記残差計算部によって計算された残差r[i]を符号化して、前記入力値d[i]についての符号c[i]を生成する符号化部と
    前記入力データ列dの入力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記入力データ列dと前記外部データ列eとが相関するずらし量を前記位置差mとして決定する位置差決定部と、
    前記入力データ列dにおいて既に符号が生成されたある入力値d[j]について、前記位置差決定部によって決定された位置差mを用いて予測された予測値p[j]と、前記入力値d[j]との残差r[j]の絶対値が基準値以上である場合に、前記位置差決定部に前記位置差mを決定し直させる検証部と
    を備えるデータ圧縮装置。
  6. 外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、出力データ列oにおける前記対象位置iの出力値o[i]の予測値p[i]を予測する予測部と、
    符号c[i]を復号して残差r[i]を生成する復号部と、
    前記予測部によって予測された予測値p[i]と、前記復号部によって生成された残差r[i]との和を前記出力値o[i]として計算する出力値計算部と
    前記出力データ列oの出力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記出力データ列oと前記外部データ列eとが相関するずらし量を前記位置差mとして決定する位置差決定部であって、前記出力データ列oと前記外部データ列eとについて、極値の位置が近くなる前記ずらし量を前記位置差mとして決定する位置差決定部と
    を備えるデータ伸長装置。
  7. 前記予測部は、さらに、前記出力値計算部によって計算された出力値を用いて、前記予測値p[i]を予測する
    請求項に記載のデータ伸長装置。
  8. 前記位置差決定部は、基準個の出力値が計算される度に、前記位置差mを新たに決定する
    請求項6又は7に記載のデータ伸長装置。
  9. 外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、出力データ列oにおける前記対象位置iの出力値o[i]の予測値p[i]を予測する予測部と、
    符号c[i]を復号して残差r[i]を生成する復号部と、
    前記予測部によって予測された予測値p[i]と、前記復号部によって生成された残差r[i]との和を前記出力値o[i]として計算する出力値計算部と
    前記出力データ列oの出力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記出力データ列oと前記外部データ列eとが相関するずらし量を前記位置差mとして決定する位置差決定部であって、前記外部データ列eを用いずに予測された前記出力値o[i−1]の予測値p [i−1]と前記出力値o[i−1]との残差r [i−1]の絶対値が、前記予測値p[i−1]と前記出力値o[i−1]との残差r[i−1]の絶対値よりも小さいことが基準回連続した場合に、前記位置差mを新たに決定する位置差決定部と
    を備えるデータ伸長装置。
  10. 外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、出力データ列oにおける前記対象位置iの出力値o[i]の予測値p[i]を予測する予測部と、
    符号c[i]を復号して残差r[i]を生成する復号部と、
    前記予測部によって予測された予測値p[i]と、前記復号部によって生成された残差r[i]との和を前記出力値o[i]として計算する出力値計算部と
    前記出力データ列oの出力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記出力データ列oと前記外部データ列eとが相関するずらし量を前記位置差mとして決定する位置差決定部と、
    前記出力値計算部によって生成されたある出力値o[j]について、前記位置差決定部によって決定された位置差mを用いて予測された予測値p[j]と、前記出力値o[j]との残差r[j]の絶対値が基準値以上である場合に、前記位置差決定部に前記位置差mを決定し直させる検証部と
    を備えるデータ伸長装置。
  11. 外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける前記対象位置iの入力値d[i]の予測値p[i]を予測する予測処理と、
    前記入力値d[i]と、前記予測処理によって予測された予測値p[i]との差を残差r[i]として計算する残差計算処理と、
    前記残差計算処理によって計算された残差r[i]を符号化して、前記入力値d[i]についての符号c[i]を生成する符号化処理と
    前記入力データ列dの入力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記入力データ列dと前記外部データ列eとが相関するずらし量を前記位置差mとして決定する位置差決定処理であって、前記入力データ列dにおいて既に符号が生成された入力値と、前記外部データ列eとについて、極値の位置が近くなる前記ずらし量を前記位置差mとして決定する位置差決定処理と
    をコンピュータに実行させるデータ圧縮プログラム。
  12. 外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける前記対象位置iの入力値d[i]の予測値p[i]を予測する予測処理と、
    前記入力値d[i]と、前記予測処理によって予測された予測値p[i]との差を残差r[i]として計算する残差計算処理と、
    前記残差計算処理によって計算された残差r[i]を符号化して、前記入力値d[i]についての符号c[i]を生成する符号化処理と
    前記入力データ列dの入力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記入力データ列dと前記外部データ列eとが相関するずらし量を前記位置差mとして決定する位置差決定処理であって、前記外部データ列eを用いずに予測された前記入力値d[i−1]の予測値p [i−1]と前記入力値d[i−1]との残差r [i−1]の絶対値が、前記入力値d[i−1]と前記予測値p[i−1]との残差r[i−1]の絶対値よりも小さいことが基準回連続した場合に、前記位置差mを新たに決定する位置差決定処理と
    をコンピュータに実行させるデータ圧縮プログラム。
  13. 外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける前記対象位置iの入力値d[i]の予測値p[i]を予測する予測処理と、
    前記入力値d[i]と、前記予測処理によって予測された予測値p[i]との差を残差r[i]として計算する残差計算処理と、
    前記残差計算処理によって計算された残差r[i]を符号化して、前記入力値d[i]についての符号c[i]を生成する符号化処理と
    前記入力データ列dの入力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記入力データ列dと前記外部データ列eとが相関するずらし量を前記位置差mとして決定する位置差決定処理と、
    前記入力データ列dにおいて既に符号が生成されたある入力値d[j]について、前記位置差決定処理によって決定された位置差mを用いて予測された予測値p[j]と、前記入力値d[j]との残差r[j]の絶対値が基準値以上である場合に、前記位置差決定処理に前記位置差mを決定し直させる検証処理と
    をコンピュータに実行させるデータ圧縮プログラム。
  14. 外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、出力データ列oにおける前記対象位置iの出力値o[i]の予測値p[i]を予測する予測処理と、
    符号c[i]を復号して残差r[i]を生成する復号処理と、
    前記予測処理によって予測された予測値p[i]と、前記復号処理によって生成された残差r[i]との和を出力値o[i]として計算する出力値計算処理と
    前記出力データ列oの出力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記出力データ列oと前記外部データ列eとが相関するずらし量を前記位置差mとして決定する位置差決定処理であって、前記出力データ列oと前記外部データ列eとについて、極値の位置が近くなる前記ずらし量を前記位置差mとして決定する位置差決定処理と
    をコンピュータに実行させるデータ伸長プログラム。
  15. 外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、出力データ列oにおける前記対象位置iの出力値o[i]の予測値p[i]を予測する予測処理と、
    符号c[i]を復号して残差r[i]を生成する復号処理と、
    前記予測処理によって予測された予測値p[i]と、前記復号処理によって生成された残差r[i]との和を出力値o[i]として計算する出力値計算処理と
    前記出力データ列oの出力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記出力データ列oと前記外部データ列eとが相関するずらし量を前記位置差mとして決定する位置差決定処理であって、前記外部データ列eを用いずに予測された前記出力値o[i−1]の予測値p [i−1]と前記出力値o[i−1]との残差r [i−1]の絶対値が、前記予測値p[i−1]と前記出力値o[i−1]との残差r[i−1]の絶対値よりも小さいことが基準回連続した場合に、前記位置差mを新たに決定する位置差決定処理と
    をコンピュータに実行させるデータ伸長プログラム。
  16. 外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、出力データ列oにおける前記対象位置iの出力値o[i]の予測値p[i]を予測する予測処理と、
    符号c[i]を復号して残差r[i]を生成する復号処理と、
    前記予測処理によって予測された予測値p[i]と、前記復号処理によって生成された残差r[i]との和を出力値o[i]として計算する出力値計算処理と
    前記出力データ列oの出力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記出力データ列oと前記外部データ列eとが相関するずらし量を前記位置差mとして決定する位置差決定処理と、
    前記出力値計算処理によって生成されたある出力値o[j]について、前記位置差決定処理によって決定された位置差mを用いて予測された予測値p[j]と、前記出力値o[j]との残差r[j]の絶対値が基準値以上である場合に、前記位置差決定処理に前記位置差mを決定し直させる検証処理と
    をコンピュータに実行させるデータ伸長プログラム。
  17. プロセッサが、外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける前記対象位置iの入力値d[i]の予測値p[i]を予測し、
    プロセッサが、前記入力値d[i]と、前記予測値p[i]との差を残差r[i]として計算し、
    プロセッサが、前記残差r[i]を符号化して、前記入力値d[i]についての符号c[i]を生成し、
    前記入力データ列dの入力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記入力データ列dと前記外部データ列eとが相関するずらし量であって、前記入力データ列dにおいて既に符号が生成された入力値と、前記外部データ列eとについて、極値の位置が近くなるずらし量を前記位置差mとして決定するデータ圧縮方法。
  18. プロセッサが、外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける前記対象位置iの入力値d[i]の予測値p[i]を予測し、
    プロセッサが、前記入力値d[i]と、前記予測値p[i]との差を残差r[i]として計算し、
    プロセッサが、前記残差r[i]を符号化して、前記入力値d[i]についての符号c[i]を生成し、
    前記入力データ列dの入力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記入力データ列dと前記外部データ列eとが相関するずらし量を前記位置差mとして決定し、
    前記外部データ列eを用いずに予測された前記入力値d[i−1]の予測値p [i−1]と前記入力値d[i−1]との残差r [i−1]の絶対値が、前記入力値d[i−1]と前記予測値p[i−1]との残差r[i−1]の絶対値よりも小さいことが基準回連続した場合に、前記位置差mを新たに決定するデータ圧縮方法。
  19. プロセッサが、外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、入力データ列dにおける前記対象位置iの入力値d[i]の予測値p[i]を予測し、
    プロセッサが、前記入力値d[i]と、前記予測値p[i]との差を残差r[i]として計算し、
    プロセッサが、前記残差r[i]を符号化して、前記入力値d[i]についての符号c[i]を生成し、
    前記入力データ列dの入力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記入力データ列dと前記外部データ列eとが相関するずらし量を前記位置差mとして決定し、
    前記入力データ列dにおいて既に符号が生成されたある入力値d[j]について、決定された位置差mを用いて予測された予測値p[j]と、前記入力値d[j]との残差r[j]の絶対値が基準値以上である場合に、前記位置差mを決定し直させるデータ圧縮方法。
  20. プロセッサが、外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、出力データ列oにおける前記対象位置iの出力値o[i]の予測値p[i]を予測し、
    プロセッサが、符号c[i]を復号して残差r[i]を生成し、
    プロセッサが、前記予測値p[i]と、前記残差r[i]との和を前記出力値o[i]として計算し、
    前記出力データ列oの出力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記出力データ列oと前記外部データ列eとが相関するずらし量であって、前記出力データ列oと前記外部データ列eとについて、極値の位置が近くなる前記ずらし量を前記位置差mとして決定するデータ伸長方法。
  21. プロセッサが、外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、出力データ列oにおける前記対象位置iの出力値o[i]の予測値p[i]を予測し、
    プロセッサが、符号c[i]を復号して残差r[i]を生成し、
    プロセッサが、前記予測値p[i]と、前記残差r[i]との和を前記出力値o[i]として計算し、
    前記出力データ列oの出力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記出力データ列oと前記外部データ列eとが相関するずらし量を前記位置差mとして決定し、
    前記外部データ列eを用いずに予測された前記出力値o[i−1]の予測値p [i−1]と前記出力値o[i−1]との残差r [i−1]の絶対値が、前記予測値p[i−1]と前記出力値o[i−1]との残差r[i−1]の絶対値よりも小さいことが基準回連続した場合に、前記位置差mを新たに決定するデータ伸長方法。
  22. プロセッサが、外部データ列eにおける対象位置iの外部値e[i]より位置差mずれた位置の外部値e[i−m]を用いて、出力データ列oにおける前記対象位置iの出力値o[i]の予測値p[i]を予測し、
    プロセッサが、符号c[i]を復号して残差r[i]を生成し、
    プロセッサが、前記予測値p[i]と、前記残差r[i]との和を前記出力値o[i]として計算し、
    前記出力データ列oの出力値に対応する前記外部データ列eの外部値の位置をずらすことによって、前記出力データ列oと前記外部データ列eとが相関するずらし量を前記位置差mとして決定し、
    生成されたある出力値o[j]について、決定された位置差mを用いて予測された予測値p[j]と、前記出力値o[j]との残差r[j]の絶対値が基準値以上である場合に、前記位置差mを決定し直させるデータ伸長方法。
JP2017555720A 2015-12-22 2015-12-22 データ圧縮装置、データ伸長装置、データ圧縮プログラム、データ伸長プログラム、データ圧縮方法及びデータ伸長方法 Expired - Fee Related JP6266193B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/085875 WO2017109865A1 (ja) 2015-12-22 2015-12-22 データ圧縮装置、データ伸長装置、データ圧縮プログラム、データ伸長プログラム、データ圧縮方法及びデータ伸長方法

Publications (2)

Publication Number Publication Date
JP6266193B2 true JP6266193B2 (ja) 2018-01-24
JPWO2017109865A1 JPWO2017109865A1 (ja) 2018-02-01

Family

ID=59089691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017555720A Expired - Fee Related JP6266193B2 (ja) 2015-12-22 2015-12-22 データ圧縮装置、データ伸長装置、データ圧縮プログラム、データ伸長プログラム、データ圧縮方法及びデータ伸長方法

Country Status (2)

Country Link
JP (1) JP6266193B2 (ja)
WO (1) WO2017109865A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022024166A1 (ja) * 2020-07-27 2022-02-03 日本電信電話株式会社 光通信システム及び光通信方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1876585B1 (en) * 2005-04-28 2010-06-16 Panasonic Corporation Audio encoding device and audio encoding method
JP4348322B2 (ja) * 2005-07-07 2009-10-21 日本電信電話株式会社 多チャネル信号符号化方法、多チャネル信号復号化方法、それらの方法を用いた装置、プログラム、および記録媒体
MY194835A (en) * 2010-04-13 2022-12-19 Fraunhofer Ges Forschung Audio or Video Encoder, Audio or Video Decoder and Related Methods for Processing Multi-Channel Audio of Video Signals Using a Variable Prediction Direction

Also Published As

Publication number Publication date
JPWO2017109865A1 (ja) 2018-02-01
WO2017109865A1 (ja) 2017-06-29

Similar Documents

Publication Publication Date Title
KR101353170B1 (ko) 완전히 활용되지 않는 코드 공간을 압축하는데 산술 스테이지를 이용하는 인코더 및 디코더
KR101353216B1 (ko) 팩토리얼 펄스 코더를 위한 산술 인코딩
JP4801776B2 (ja) データ圧縮
KR101790463B1 (ko) 오디오/비디오 샘플 벡터의 피라미드 벡터 양자화 인덱싱 및 디인덱싱을 위한 방법 및 장치
JP4468858B2 (ja) データ符号化装置、データ符号化方法、プログラム
JP2019534600A5 (ja)
JP2017511997A (ja) データのソース符号化及び復号の装置及びその方法
KR102615901B1 (ko) 디지털 오디오 신호에서의 차분 데이터
CN107251438B (zh) 数据压缩装置及方法、数据解压缩装置及方法和记录介质
US20140313064A1 (en) Encoding apparatus, decoding apparatus, encoding method, encoding program, decoding method, and decoding program
JP6266193B2 (ja) データ圧縮装置、データ伸長装置、データ圧縮プログラム、データ伸長プログラム、データ圧縮方法及びデータ伸長方法
US20180205952A1 (en) Method and apparatus for performing arithmetic coding by limited carry operation
JP5704018B2 (ja) オーディオ信号符号化方法および装置
US8638243B2 (en) Data compression device, data compression method, and medium
CN106851278B (zh) 图像量化参数解码方法及解码器
JP2006157531A (ja) 動画像符号化復号化装置
JPWO2013046504A1 (ja) 算術復号装置、画像復号装置、および算術復号方法
JP2006270330A (ja) 可変長符号復号回路
KR101578989B1 (ko) 신호들의 저 복잡성 결합 코딩 및 디코딩을 위한 장치 및 방법
US9558109B2 (en) Method and apparatus for flash memory arithmetic encoding and decoding
JP2008072562A (ja) 符号化装置とその方法、復号装置とその方法、および符号化ならびに復号プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171024

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171024

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20171024

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20171116

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: 20171121

R150 Certificate of patent or registration of utility model

Ref document number: 6266193

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees