JP6192804B2 - データ圧縮装置およびデータ圧縮方法 - Google Patents

データ圧縮装置およびデータ圧縮方法 Download PDF

Info

Publication number
JP6192804B2
JP6192804B2 JP2016506007A JP2016506007A JP6192804B2 JP 6192804 B2 JP6192804 B2 JP 6192804B2 JP 2016506007 A JP2016506007 A JP 2016506007A JP 2016506007 A JP2016506007 A JP 2016506007A JP 6192804 B2 JP6192804 B2 JP 6192804B2
Authority
JP
Japan
Prior art keywords
data
check matrix
compression
parity check
feature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016506007A
Other languages
English (en)
Other versions
JPWO2015132914A1 (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
Publication of JPWO2015132914A1 publication Critical patent/JPWO2015132914A1/ja
Application granted granted Critical
Publication of JP6192804B2 publication Critical patent/JP6192804B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6017Methods or arrangements to increase the throughput
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1162Array based LDPC codes, e.g. array codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6312Error control coding in combination with data compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/55Compression Theory, e.g. compression of random number, repeated compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6041Compression optimized for errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes

Description

この発明は、データを短く圧縮するデータ圧縮装置およびデータ圧縮方法に関するものである。
画像、音声、およびセンサ等のデータそのもの、またはそのデータから抽出した特徴量を、乱数を要素に持つ行列と掛け算して、圧縮データを生成していた。次元圧縮に係るデータの要素数を次元数と呼ぶ。従来の次元圧縮では、m×nの行列の要素を実数値とし、ランダムに選択した値を要素に用いて行列を構成していた。nは元のデータの次元数で、mが圧縮後のデータの次元数である。また、n≧mである。
上記のように画像、音声およびセンサ等のデータそのものまたはその特徴量を圧縮することにより、検索、認識、予知等に係るデータ処理量を削減し、高速化を実現し、一つの作業を短時間で処理可能にしたり、ある一定時間により多くの作業またはより複雑な作業を実行可能にしたりする。
例えば、図4に示す画像マッチングシステムは、端末装置100で撮影した写真(検索画像101)等に近い画像を、サーバ装置200の画像データベース(以下、DB)201に保持されている多数のサンプル画像の中から検索するものである。このシステムにおいて、端末装置100の特徴量抽出部102は、検索画像101から特徴量を抽出する。特徴量抽出にSIFT(Scale−Invariant Feature Transform)を用いた場合、1つの画像につき複数個(一般に数十から数百個)の128バイト/個の特徴量ベクトルが抽出される。
従来の次元圧縮部103は、ランダム写像行列を用いて、上記特徴量を次元圧縮する。ここで用いるランダム写像行列は式(1)、ランダム写像行列の要素a(r,c)はa(r,c)〜N(0,1)で平均0、分散値1の正規分布に従う。
Figure 0006192804
Figure 0006192804
上記のようにSIFTを用いた場合、特徴量ベクトルxの要素xを1バイト=8ビットで表現し、n=128と表現する。また、ランダム写像行列Aの各要素a(r,c)を8ビットで表現できるようにした場合、圧縮後の特徴量ベクトルyの要素yは、式(2)で計算できる。
Figure 0006192804
従って、ランダム写像行列Aの要素と特徴量ベクトルxの要素の掛け算で、2バイト=16ビットに列数分の128=2個が加算されるので、最大16+7=23ビットが圧縮後の特徴量ベクトルyの要素yの量子化サイズとなる。圧縮後の特徴量ベクトルyの長さは、m次元のベクトルとして表現でき、次元をm=40とした場合に圧縮前の128から40に圧縮できる。
さらに非特許文献1では、圧縮後の特徴ベクトルyの要素yの量子化サイズを縮小する方式に関して検討しており、例えば上記の例で要素yのサイズを最大23ビットから1〜5ビット程度まで圧縮する方式を示している。この方法では、特徴量間の距離を維持する条件で次元圧縮を行っている。
量子化サイズ縮小部104が上記非特許文献1の方法を用いて特徴量の量子化サイズを圧縮した場合、一つの特徴量が128×8=1024ビットであったデータ量を、m=40、量子化サイズ4ビットに圧縮すると、圧縮後のデータ量は128×40/128×4=160ビットであり、160/1024=15.6%までデータ量が圧縮される。
サーバ装置200側においても、特徴量抽出部102が画像DB201に保存されているサンプル画像から特徴量を抽出し、次元圧縮部103および量子化サイズ縮小部104が特徴量を圧縮する。
例えば、サーバ装置200は、画像DB201にサンプル画像が10000枚あれば、各サンプル画像に対して特徴量抽出とデータ圧縮を行い、検索部205が、端末装置100から送られてくる検索画像101の圧縮された特徴量と比較を行い、検索画像101に近いサンプル画像を検索する。
Mu Li,Shantanu Rane,Petros Boufounos,"Quantized Embeddings of Scale Invariant Image Features for Mobile Augmented Reality",Multimedia Signal Processing(MMSP),2012 IEEE 14th International Workshop on Digital Object Identifier,p.1-6
しかしながら、上記方法の場合、次元圧縮のためにyを計算する際、m×n個の掛け算が必要となるので、圧縮前のデータ量が大きく、圧縮率が同程度の場合、指数関数的に計算量が増大するという課題があった。
例えばn=128、m=40の場合、m×n=5120個の掛け算が必要となり、n=1280、m=400の場合、m×n=512000個の掛け算が必要となる。このように、圧縮前のデータ量が10倍になると計算量が100倍になる。また、行列の要素をランダムに選ぶことにより、圧縮後の性質にばらつきが生じ、検索時の正解率が劣化するケースが発生する。
この発明は、上記のような課題を解決するためになされたもので、データ圧縮時の計算量を削減することを目的とする。
この発明に係るデータ圧縮装置は、情報通信機器から入手したデータまたはデータの特徴量を圧縮する際、データまたは特徴量と検査行列との演算により検索、認識または予知を行うための圧縮データを生成し、検査行列に、0と1と−1の3つの要素から構成される検査行列を用い、データまたは特徴量において検査行列の要素が1または−1の箇所に対応する値を行単位で足し算または引き算して、圧縮データを生成するものである。
この発明に係るデータ圧縮方法は、情報通信機器から入手したデータまたはデータの特徴量を圧縮する際、データまたは特徴量と検査行列との演算により検索、認識または予知を行うための圧縮データを生成し、検査行列に、0と1と−1の3つの要素から構成される検査行列を用い、データまたは特徴量において検査行列の要素が1または−1の箇所に対応する値を行単位で足し算または引き算して、圧縮データを生成するものである。
この発明によれば、データを圧縮する際、ランダム写像行列に検査行列を用いるようにしたので、計算量を削減することができる。
この発明の実施の形態1に係るデータ圧縮装置を組み込んだ情報通信機器の構成を示すブロック図である。 実施の形態1に係るデータ圧縮装置を組み込んだ情報通信機器の動作を示すフローチャートである。 実施の形態1の次元圧縮部の圧縮次元を決定する方法を説明するためのグラフである。 従来のデータ圧縮方法を用いた画像マッチングシステムの構成を示すブロック図である。
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
実施の形態1では、図1に示すように、この発明に係るデータ圧縮装置を組み込んだ情報通信機器(端末装置10、サーバ装置20)を用いて構成した画像マッチングシステムを例にして、データ圧縮方法を説明する。端末装置10は、タブレットPC(Personal Computer)、スマートフォン、監視カメラ等であり、検索画像取得部11、特徴量抽出部12、次元圧縮部13(データ圧縮装置)、量子化サイズ縮小部14を備えている。この端末装置10との間で通信可能なサーバ装置20は、画像DB21、特徴量抽出部12、次元圧縮部13(データ圧縮装置)、量子化サイズ縮小部14、検索部25を備えている。
端末装置10、サーバ装置20のそれぞれは、不図示のCPU(Central Processing Unit)で構成されており、このCPUが内部メモリに格納されたプログラムを実行することによって、特徴量抽出部12、次元圧縮部13、量子化サイズ縮小部14、検索部25としての機能を実現する。なお、次元圧縮部13は専用の演算回路で構成してもよい。
画像DB21は、HDD(Hard Disk Drive)等によって構成されている。
次に、図2に示すフローチャートを参照しながら、端末装置10の詳細を説明する。
端末装置10において、検索画像取得部11は、カメラ等から受像した画像を、マッチング対象の検索画像として取り込み、特徴量抽出部12へ出力する(ステップST1)。
特徴量抽出部12は、検出画像の特徴を抽出して、次元圧縮部13へ出力する(ステップST2)。特徴量抽出方法としてはSIFT等の適用例が多いが、どのような特徴量抽出方法でも構わない。例えばSIFTでは、画像の中の数十から数百の特徴的なポイント(キーポイントと呼ぶ)が選択され、そのキーポイントごとに128バイトの特徴量ベクトルが出力される。ここでは、この128バイトの特徴量ベクトルの次元を128とし、128次元のベクトルと見なすことにする。
次元圧縮部13は、特徴量抽出部12が出力した特徴量ベクトルを、誤り訂正符号の検査行列を用いて次元圧縮する(ステップST3)。ここで用いる誤り訂正符号の検査行列は、2元{0,1}を要素に持つ行列であり、式(11)とする。なお、誤り訂正符号の検査行列が、式(12)のような非2元を要素に持つ行列で構成されていてもよい。
以下の説明では、誤り訂正符号の検査行列として、式(11)のように2元{0,1}を要素に持つ、ランダム符号の検査行列を用いるものとする。
Figure 0006192804
ここで、pは2以外の自然数である。
Figure 0006192804
特徴量抽出部12がSIFTを用いた場合、特徴量ベクトルxの要素xを1バイト=8ビットで表現し、n=128として表現できる。また、検査行列Hの各要素h(r,c)は1ビットで表現でき、圧縮後の特徴量ベクトルyの要素yは、式(13)で計算できる。
Figure 0006192804
2元の要素で構成される検査行列の場合、要素が0の箇所は計算を削除し、1が立った箇所のみxを加算すればよい。従って、特徴量ベクトルxの要素8ビットに対して、最大列数分の128=2個が加算されるので、最大8+7=15ビットが圧縮後の特徴量ベクトルyの要素yの量子化サイズとなる。また、圧縮後の特徴量ベクトルyの長さはm次元のベクトルとして表現でき、次元をm=40とした場合に圧縮前の128から40に圧縮できる。
この際、誤り訂正符号の検査行列を使用しない従来の次元圧縮(図4の次元圧縮部103)との違いは、計算量である。
従来例では、圧縮後の特徴量ベクトルyの要素yを一個求めるためにn回の掛け算とn−1回の加算が必要であり、この計算を特徴量ベクトルyの長さm回分繰り返す必要があるため、最終的に、nm回の掛け算と(n−1)m回の加算が必要であった。
一方、実施の形態1では、ランダム符号化の場合、検査行列Hの各要素が1である確率と0である確率は共に1/2であるため、要素yを一個求めるために平均n/2−1回の加算でよく、この計算を特徴量ベクトルyの長さm回分繰り返しても、最終的に、平均(n/2−1)m回の加算で十分となる。
今回の例の場合、従来例では、nm=128×40=5120回の掛け算と、(n−1)m=5080回の加算が必要となる。一方、実施の形態1では、(n/2−1)m=2520回の加算のみでよくなり、大幅な計算量削減が可能となる。
この後、量子化サイズ縮小部14が、上記非特許文献1のように、圧縮後の特徴量ベクトルyの要素yの量子化サイズを縮小し、最大15ビットから1〜5ビット程度まで圧縮する(ステップST4)。この際、特徴量間の相対的な距離の大小関係をほぼ維持できる様に事前に評価を行い、距離の大小関係がほぼ維持可能な圧縮次元を決定しておく。
ここで、決定方法の一例を、図3を用いて説明する。装置の設計者は、200種類の建物をそれぞれ4つの異なった角度から撮影した写真800枚(=200×4)を用意し、同じ建物の写真には同じID番号を割り振っておく。また、ターゲットとして、その200種類の建物のうちの1つを撮影した写真(先の800枚の写真とは異なる)を用意する。そして、k−近傍法(ターゲットに最も近いk個のデータを取り出して多数決を取る)により、ターゲットの建物に最も近い建物がうつった写真を800枚の中から検出する。図3はその検出結果を示し、縦軸が検出成功率、横軸が圧縮次元である。kを10と設定し、ターゲットの建物の特徴量と、800枚の写真の建物の特徴量との距離を比較し、同じ建物の特徴量との距離が近いID番号がk=10個の中で多数を占めた場合を検出成功とする。目標性能を検出成功率95%とした場合、圧縮後の次元は40を選択できる。このような方法等により決定した圧縮次元が、次元圧縮部13に事前に設定される。
一つの特徴量が128×8=1024ビットであった元々のデータ量を、m=40および量子化サイズ4ビットに圧縮する場合、圧縮後のデータ量は128×40/128×4=160ビットであり、160/1024=15.6%までデータ量を圧縮できる。
以上が、端末装置10によるデータ圧縮の方法である。
なお、上記説明では検索画像の特徴量を圧縮する例を示したが、検索画像そのものを圧縮してもよい。
一方のサーバ装置20においても、画像DB21が保存しているサンプル画像に対して、特徴量抽出部12が上記と同様の方法により特徴量を抽出し、次元圧縮部13が上記と同様の方法により誤り訂正符号の検査行列を用いた次元圧縮を行い、量子化サイズ縮小部14が上記と同様の方法により量子化サイズの縮小を行う。この際、サーバ装置20側においても、次元圧縮の計算の際に、端末装置10側と同様の計算量の削減が可能となる。
例えば、画像DB21にサンプル画像が10000枚あれば、特徴量抽出部12、次元圧縮部13および量子化サイズ縮小部14がそれぞれのサンプル画像に対して特徴量抽出とデータ圧縮を行い、圧縮した特徴量を検索部25へ出力する。
検索部25は、端末装置10から送られてくる検索画像の圧縮された特徴量と、量子化サイズ縮小部14から入力される各サンプル画像の圧縮された特徴量を比較し、検索画像と近いサンプル画像を検索する。
ここで、次元圧縮部13による圧縮は、特徴量間の相対的な距離の大小関係をほぼ維持しているため、検索部25は、k−近傍法(ターゲットに最も近いk個のデータを取り出して多数決を取る)等の手法により、端末装置10の検索画像が画像DB21に保存されているサンプル画像のどれに近いかを判別できる。その結果、圧縮による正解率の劣化を抑えられる特徴がある。この場合、k−近傍法の検索対象は圧縮された特徴量となるため、単純な比較による検索では15.6%まで処理時間を短縮できる。
以上より、実施の形態1によれば、次元圧縮部13は、データまたは当該データから抽出した特徴量を、誤り訂正符号の検査行列と掛け算して、圧縮データを生成するようにしたので、計算量を削減することができる。
特に、誤り訂正符号の検査行列に、0と1の2元の要素から構成されるランダム符号の検査行列を用いることにより、圧縮のための計算量を、従来のランダム写像行列を用いた場合のnm回の掛け算と(n−1)m回の足し算から、(n/2−1)m回の足し算のみに削減できる。
実施の形態2.
図1に示した画像マッチングシステムを援用して、実施の形態2に係るデータ圧縮装置を説明する。
この実施の形態2では、次元圧縮部13(データ圧縮装置)が次元圧縮に用いる誤り訂正符号の検査行列として、上式(11)のように2元{0,1}の要素で構成される、LDPC(Low−Density Parity−Check)符号の検査行列を用いるものとする。
なお、説明は省略するが、上式(12)のように非2元の要素で構成される、LDPC符号の検査行列を用いてもよい。
LDPC符号は、一般に列の平均重みが4であり、行の平均重みは(列の平均重み)×n/mである。ここで、列の重みとは、行列の1列に含まれる1の数である。また、行の重みとは、行列の1行に含まれる1の数である。例えば、n=128、m=40の場合、行の重みは4×128/40=12.8となる。LDPC符号の場合、nまたはmが大きくなってもこれら列の重み、行の重みは変化しない特徴がある。
上記実施の形態1で説明したランダム符号の検査行列の場合、列内の1の数は平均n/2、行内の1の数は平均m/2であり、LDPC符号の検査行列と比例して列、行ともに1の数が多くなり、かつ行列内の1の総数は2乗されるのでこの総数も多くなる。一方、LDPC符号の検査行列の場合、1の数は常に一定で、かつ疎であることから、ランダム符号の検査行列に比べると圧倒的に1の総数が少なくなる。
例えば、n=128、m=40の場合、ランダム符号では1の総数は、(列の平均重み)×(列数)=40/2×128=2560個である。一方、LDPC符号の場合、1の総数は、(列の平均重み)×(列数)=4×128=516個となり、圧倒的に少ない。
ここで一例として、n=28、m=21のLDPC符号の検査行列Hを、式(14)に示す。
Figure 0006192804
上記実施の形態1と同様に、LDPC符号の検査行列Hの各要素h(r,c)は1ビットで表現でき、圧縮後の特徴量ベクトルyの要素yは、上式(13)で計算できる。
LDPC符号の検査行列Hの要素が0の箇所は計算を削除し、1が立った箇所のみxを加算すればよいので、圧縮前の特徴量ベクトルxの要素1バイト=8ビットに対して、行重み分の(列の平均重み)×n/m=12.8個分として必要な2進数表現2の4ビットが加算されることになり、最大8+4=12ビットが圧縮後の特徴量ベクトルyの要素yの量子化サイズとなる。また、圧縮後の特徴量ベクトルyの長さはm次元のベクトルとして表現でき、次元をm=40とした場合に圧縮前の128から40に圧縮できる。
また、実施の形態2では、要素yを一個求めるために、今回の例では平均で行重み=12.8回の加算でよく、これを特徴量ベクトルyの長さm回分繰り返しても、平均(12.8−1)×m=472回の加算で十分となる。よって、従来のランダム写像行列を用いた場合の計算量(nm=5120回の掛け算と(n−1)m=5080回の足し算)に比べて、大幅な計算量削減が可能となる。また、LDPC符号の検査行列を用いた場合の計算量は、ランダム符号の検査行列を用いるよりも更に少ない。
以上より、実施の形態2によれば、次元圧縮部13は、データまたは当該データから抽出した特徴量を圧縮する際に、疎なLDPC符号の検査行列を用いることにより、計算量を大幅に削減できる。また、LDPC符号の検査行列は、要素が規則的なので、圧縮の性能のばらつきを抑える効果も期待できる。さらに、LDPC符号の検査行列は、圧縮前の特徴量の次元数nが大きくなるほど圧縮効率が良くなるため、特に数百以上の長い特徴量を扱う際に有効となる。
なお、上記実施の形態1ではランダム符号、上記実施の形態2ではLDPC符号の検査行列を用いる例を示したが、その他に、BCH符号、リードソロモン符号、巡回符号等を用いてもよい。これらの符号は短い特徴量を扱う際に成功率の低下を抑制しながら圧縮できる特徴がある。また、上記に列挙した誤り訂正符号以外でもよく、条件に応じて適切な誤り訂正符号を適用できる。
また、上記実施の形態1,2では検査行列として、2元{0,1}の要素で構成される行列を例示したが、3つの要素{−1,0,1}で構成される行列でもよい。例えば、上式(14)の行列のうち、0はそのまま0にし、1の部分を−1または1に割り振った下式(15)の行列でもよい。式(15)のような検査行列を用いる場合、次元圧縮部13は、データまたは当該データから抽出した特徴量において検査行列の要素が1または−1の箇所に対応する値を行単位で足し算または引き算して、圧縮データを生成する。
検査行列の要素を2元{0,1}にするか3つの要素{−1,0,1}にするかは、計算量自体あまり大きな差は無い為、性能評価により良好な性能を示す方を選択すればよい。
Figure 0006192804
上記以外にも、本発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
以上のように、この発明に係るデータ圧縮装置は、誤り訂正符号の検査行列を用いて少ない計算量でデータを圧縮するようにしたので、画像、音声、センサ等のデータに基づいて検索、認識、予知等の処理を高速に実行する装置等に用いるのに適している。
10,100 端末装置、11 検索画像取得部、12,102 特徴量抽出部、13,103 次元圧縮部(データ圧縮装置)、14,104 量子化サイズ縮小部、20,200 サーバ装置、21,201 画像DB、25,205 検索部、101 検索画像。

Claims (7)

  1. 情報通信機器から入手したデータまたは前記データの特徴量を圧縮するデータ圧縮装置であって、
    前記データまたは前記特徴量と検査行列との演算により検索、認識または予知を行うための圧縮データを生成し、
    前記検査行列に、0と1と−1の3つの要素から構成される検査行列を用い、前記データまたは前記特徴量において前記検査行列の要素が1または−1の箇所に対応する値を行単位で足し算または引き算して、圧縮データを生成することを特徴とするデータ圧縮装置。
  2. 前記検査行列に、ランダム符号の検査行列を用いることを特徴とする請求項記載のデータ圧縮装置。
  3. 前記検査行列に、LDPC符号の検査行列を用いることを特徴とする請求項記載のデータ圧縮装置。
  4. 前記検査行列に、BCH符号の検査行列を用いることを特徴とする請求項記載のデータ圧縮装置。
  5. 前記検査行列に、リードソロモン符号の検査行列を用いることを特徴とする請求項記載のデータ圧縮装置。
  6. 前記検査行列に、巡回符号の検査行列を用いることを特徴とする請求項記載のデータ圧縮装置。
  7. 情報通信機器から入手したデータまたは前記データの特徴量を圧縮するデータ圧縮方法であって、
    前記データまたは前記特徴量と検査行列との演算により検索、認識または予知を行うための圧縮データを生成し、
    前記検査行列に、0と1と−1の3つの要素から構成される検査行列を用い、前記データまたは前記特徴量において前記検査行列の要素が1または−1の箇所に対応する値を行単位で足し算または引き算して、圧縮データを生成することを特徴とするデータ圧縮方法。
JP2016506007A 2014-03-05 2014-03-05 データ圧縮装置およびデータ圧縮方法 Active JP6192804B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/055671 WO2015132914A1 (ja) 2014-03-05 2014-03-05 データ圧縮装置およびデータ圧縮方法

Publications (2)

Publication Number Publication Date
JPWO2015132914A1 JPWO2015132914A1 (ja) 2017-03-30
JP6192804B2 true JP6192804B2 (ja) 2017-09-06

Family

ID=54054751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016506007A Active JP6192804B2 (ja) 2014-03-05 2014-03-05 データ圧縮装置およびデータ圧縮方法

Country Status (6)

Country Link
US (1) US9735803B2 (ja)
EP (1) EP3116132A4 (ja)
JP (1) JP6192804B2 (ja)
KR (1) KR101800571B1 (ja)
CN (1) CN106063133B (ja)
WO (1) WO2015132914A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209312B (zh) * 2016-07-06 2019-10-01 重庆邮电大学 一种利用软判决的循环码参数盲识别方法
CN107767331A (zh) * 2017-10-18 2018-03-06 中国电建集团中南勘测设计研究院有限公司 一种激光扫描地形数据压缩方法及地形图成图方法
TWI687112B (zh) 2018-01-29 2020-03-01 光禾感知科技股份有限公司 分散式室內定位系統及其方法
CN109586733B (zh) * 2018-11-23 2021-06-25 清华大学 一种基于图形处理器的ldpc-bch译码方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5490258A (en) * 1991-07-29 1996-02-06 Fenner; Peter R. Associative memory for very large key spaces
US5635932A (en) * 1994-10-17 1997-06-03 Fujitsu Limited Lempel-ziv compression with expulsion of dictionary buffer matches
JPH08221113A (ja) * 1995-02-16 1996-08-30 Hitachi Ltd 時系列データ記憶装置およびプロセス異常診断装置
JP3720412B2 (ja) * 1995-05-01 2005-11-30 キヤノン株式会社 情報処理方法及び装置
US5729223A (en) * 1996-03-20 1998-03-17 Motorola Inc. Method and apparatus for data compression and restoration
JP4214562B2 (ja) * 1998-06-26 2009-01-28 ソニー株式会社 復号装置
JP2002077637A (ja) * 2000-08-31 2002-03-15 Canon Inc 画像符号化装置及び画像符号化方法
JP3971135B2 (ja) * 2001-07-11 2007-09-05 株式会社テクノマセマティカル Dct行列分解方法及びdct装置
JP3709158B2 (ja) * 2001-10-15 2005-10-19 独立行政法人科学技術振興機構 部分選択変換装置、部分選択変換方法及び部分選択変換プログラム
JP3804773B2 (ja) * 2002-01-08 2006-08-02 日本電気株式会社 通信システム及び通信方法
US7840072B2 (en) * 2003-03-13 2010-11-23 Hewlett-Packard Development Company, L.P. Method and system for pattern matching
JP4257145B2 (ja) * 2003-04-15 2009-04-22 オリンパス株式会社 画像圧縮装置及び画像処理システム
JP4552049B2 (ja) * 2005-02-04 2010-09-29 独立行政法人 宇宙航空研究開発機構 動画像圧縮符号化装置、圧縮データ伸長装置、動画像圧縮符号化及び/又は圧縮データ伸長プログラム、動画像圧縮符号化方法、及び、圧縮データ伸長方法
JP2008276695A (ja) * 2007-05-07 2008-11-13 Yamaha Motor Co Ltd 客層認識装置
CN101448156B (zh) * 2008-12-31 2010-06-30 无锡紫芯集成电路系统有限公司 图像分析的方波正交函数体系选取及其软硬件实现方法
CN101504760A (zh) * 2009-02-27 2009-08-12 上海师范大学 一种数字图像隐密信息检测与定位的方法
JP4735729B2 (ja) * 2009-03-12 2011-07-27 沖電気工業株式会社 近似計算処理装置、近似ウェーブレット係数計算処理装置、及び近似ウェーブレット係数計算処理方法
JP2011077958A (ja) * 2009-09-30 2011-04-14 Chiba Univ 次元圧縮装置、次元圧縮方法及び次元圧縮プログラム
TWI419481B (zh) * 2009-12-31 2013-12-11 Nat Univ Tsing Hua 低密度奇偶檢查碼編解碼器及其方法
JP5709417B2 (ja) * 2010-06-29 2015-04-30 キヤノン株式会社 画像処理装置及びその制御方法並びにプログラム
US9432298B1 (en) * 2011-12-09 2016-08-30 P4tents1, LLC System, method, and computer program product for improving memory systems
KR20140003690A (ko) * 2012-06-22 2014-01-10 삼성디스플레이 주식회사 화소 데이터 압축 장치
JP6042001B2 (ja) * 2014-02-03 2016-12-14 三菱電機株式会社 動画像符号化装置及び動画像符号化方法

Also Published As

Publication number Publication date
KR101800571B1 (ko) 2017-11-22
EP3116132A4 (en) 2017-12-06
US9735803B2 (en) 2017-08-15
EP3116132A1 (en) 2017-01-11
CN106063133B (zh) 2019-06-14
KR20160130441A (ko) 2016-11-11
JPWO2015132914A1 (ja) 2017-03-30
WO2015132914A1 (ja) 2015-09-11
CN106063133A (zh) 2016-10-26
US20170019125A1 (en) 2017-01-19

Similar Documents

Publication Publication Date Title
US10909419B2 (en) Abnormality detection device, learning device, abnormality detection method, and learning method
CN105069424B (zh) 面部快速识别系统和方法
EP2657884B1 (en) Identifying multimedia objects based on multimedia fingerprint
JP6891379B2 (ja) 画像のサーチのための方法およびデバイス
JP2019503530A (ja) 画像改ざん検出方法、システム、電子装置及び記憶媒体
JP6192804B2 (ja) データ圧縮装置およびデータ圧縮方法
US10839006B2 (en) Mobile visual search using deep variant coding
CN103294667A (zh) 通过水印进行同源图片追踪的方法及系统
CN106663195B (zh) 用于指纹匹配和相机识别的改进的方法、设备和系统
US11249987B2 (en) Data storage in blockchain-type ledger
CN115630236B (zh) 无源遥感影像的全球快速检索定位方法、存储介质及设备
CN111831844A (zh) 图像检索方法、图像检索装置、图像检索设备及介质
JP6035173B2 (ja) 画像検索システム及び画像検索方法
US9239850B2 (en) Feature descriptor encoding apparatus, feature descriptor encoding method, and program
WO2019024160A1 (zh) 图像篡改检测方法、系统、电子装置及可读存储介质
JP6042912B2 (ja) ハイパースペクトラル・イメージ圧縮のためのシステム及び方法
US10162832B1 (en) Data aware deduplication
CN111243046B (zh) 图像质量检测方法、装置、电子设备及存储介质
JP7435907B2 (ja) 画像マッチング装置、制御方法、及びプログラム
Du et al. Mvss: Mobile visual search based on saliency
JP2014194757A (ja) 信号を埋め込む方法
CN114998600B (zh) 图像处理方法、模型的训练方法、装置、设备及介质
CN111324678B (zh) 数据处理方法、装置和计算机可读存储介质
US20140099018A1 (en) Method, system, and device for compressing, encoding, indexing, and decoding images
CN117076790A (zh) 地址匹配方法、装置、计算机设备、存储介质和程序产品

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170621

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170808

R150 Certificate of patent or registration of utility model

Ref document number: 6192804

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250