JP2011109361A - データ符号化プログラム、データ復号化プログラムおよび方法 - Google Patents
データ符号化プログラム、データ復号化プログラムおよび方法 Download PDFInfo
- Publication number
- JP2011109361A JP2011109361A JP2009261649A JP2009261649A JP2011109361A JP 2011109361 A JP2011109361 A JP 2011109361A JP 2009261649 A JP2009261649 A JP 2009261649A JP 2009261649 A JP2009261649 A JP 2009261649A JP 2011109361 A JP2011109361 A JP 2011109361A
- Authority
- JP
- Japan
- Prior art keywords
- bit string
- data
- encoding
- matrix
- processing unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3761—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【解決手段】符号化処理手段11は、符号化対象データと、符号化用ビット列3から得られる単位ビット列とから、符号化データを生成する。圧縮処理手段12は、符号化用ビット列3から符号化データの一部分と一致するビット列を探索し、探索されたビット列と一致する符号化データのビット列を、開始符号と、探索されたビット列の符号化用ビット列3における位置に関する位置情報とを組み合わせたビット列に置換する。伸張処理手段21は、圧縮データから開始符号を検出すると、開始符号の後の領域から位置情報を検出し、位置情報に基づく符号化用ビット列3の位置から置換ビット列を抽出し、開始符号を先頭とした置換範囲を置換ビット列に置換する。
【選択図】図1
Description
〔第1の実施の形態〕
図1は、第1の実施の形態の情報処理装置の構成を示す図である。
上記の情報処理装置2では、復号化処理で用いる符号化用ビット列3が、符号化データを復元する伸張処理でも共通に用いられるため、例えば、伸張処理のために専用のデータを用意する必要がない。また、伸張処理は、前述の圧縮処理とは逆の手順で、圧縮データの一部分を符号化用ビット列3のビット列に置換するという簡単な方法で実行される。
図2は、第2の実施の形態のシステム構成例を示す図である。
図2において、情報処理装置100,200は、ネットワーク300を介して、互いにデータを送受信する。データの送信の際、送信側の情報処理装置は、送信対象データを符号化した後、さらに圧縮し、圧縮データを受信側の情報処理装置に送信する。ここで、送信対象データは、送信前に符号化されることにより、送信されたデータの一部が例えばネットワーク300上で消失した場合でも、消失したデータを受信側で復元し得る状態に変換される。すなわち、受信側の情報処理装置は、受信した圧縮データを伸張した後、得られた符号化データを復号化する。このとき、符号化データの一部が消失していた場合でも、受信した他の符号化データを基にエラー訂正することで、元の送信対象データを復元できる場合が多くなる。
情報処理装置100は、例えば、図3に示すようなコンピュータとして実現される。このコンピュータは、CPU111、RAM(Random Access Memory)112、HDD(Hard Disk Drive)113、グラフィック処理部114、入力インタフェース(I/F)115、書き込み/読み取り部116および通信インタフェース(I/F)117を備えており、これらの各部はバス118によって相互に接続されている。
なお、情報処理装置200についても、図3に示した情報処理装置100と同様のハードウェア構成によって実現可能である。
[ステップS11]符号化処理部120は、送信対象データを、それぞれ(m×p)サイズを有する部分ブロックに分割する。前述のように、mは符号化行列Aの列数であり、pは分割データのサイズである。
[ステップS13]符号化処理部120は、1つの部分ブロックDlを1つ選択し、それぞれ同じサイズpを有するm個の分割データDl0,Dl1,・・・,Dl(m-1)を生成する。
[ステップS15]符号化処理部120は、符号化行列Aにおけるi行目のビット列aiを選択する。
[ステップS17]符号化処理部120は、ビット列aiのjビット目の値aijが1であるか否かを判定する。1であった場合、ステップS18の処理が実行され、0であった場合、ステップS19の処理が実行される。
[ステップS19]符号化処理部120は、変数jが(m−1)と一致するか否かを判定する。変数jが(m−1)と一致する場合には、ステップS21の処理が実行され、変数jが(m−1)より小さい場合には、ステップS20の処理が実行される。
[ステップS22]符号化処理部120は、変数iの値が(n−1)と一致するか否かを判定する。変数iが(n−1)と一致する場合には、ステップS24の処理が実行され、変数iが(n−1)より小さい場合には、ステップS23の処理が実行される。
圧縮処理部130は、符号化処理部120から出力された冗長データに含まれる所定の長さのビット列が、符号化行列Aに含まれるビット列と一致するか否かを探索する。そして、両者が一致した場合には、冗長データの該当ビット列を、開始符号、位置情報および長さ情報によって置換する。これにより、データ量が圧縮される。
[ステップS43]圧縮処理部130は、ステップS42の処理でsビット分のビット列を選択できたか否かを判定する。sビット分のビット列が選択できた場合には、ステップS44の処理が実行される。一方、ステップS43では、冗長データの先頭からrビットの位置から最後尾までのビット数がs未満である場合、sビット分のビット列を選択できない。従って、この場合には、圧縮処理が終了される。
[ステップS48]圧縮処理部130は、変数rに1を加算する。この後、ステップS42の処理が実行される。
[ステップS50]圧縮処理部130は、識別符号“11111”のビット数5を、変数rに加算する。この後、ステップS42の処理が実行される。
[ステップS61]圧縮処理部130は、変数sに1を加算する。
[ステップS62]圧縮処理部130は、冗長データの先頭からrビットの位置から、sビット分のビット列を選択する。
以上の図9の処理では、ステップS61〜S64のループ処理により、冗長データ内のビット列のビット数を1ビットずつ増加させながら、そのビット列と同一のビット列が符号化行列Aに存在するかを順次判定していく。そして、同一のビット列が符号化行列Aに存在しないと判定されるまで、ループ処理を繰り返す。このような処理により、符号化行列A内に同一のビット列が存在する符号化データ内のビット列として、できるだけビット数の大きいビット列を探索し、それらのビット列を開始符号、位置情報および長さ情報により置換する。これにより、圧縮データの圧縮率が高められる。
情報処理装置200において、受信処理部220は、ネットワーク300を通じて受信したパケットから圧縮データを抽出し、伸張処理部230に転送する。前述のように、圧縮データは、冗長データを単位としてパケットに格納されている。受信処理部220は、受信したパケットから1つの冗長データに基づく圧縮データを抽出し、伸張処理部230に供給する。
[ステップS82]伸張処理部230は、1つの冗長データに基づく圧縮データの先頭からrビットの位置から4ビットのビット列を選択する。
ステップS86の処理時には、ステップS82で選択したビット列のうち少なくとも1ビット目は、圧縮処理時に符号化データを置換したものではないと考えられる。このため、圧縮データにおける判別対象とするビット列の先頭が1ビット分進められ、進められた先頭から4ビット分のビット列を判別対象として、ステップS82からの処理が実行される。
[ステップS89]伸張処理部230は、変数rに5を加算する。この後、ステップS82の処理が実行される。
[ステップS90]冗長データに基づく圧縮データの先頭からrビットの位置から5ビット分のデータは、開始符号であると判定される。このため、伸張処理部230は、ステップS87での判別対象としたビット(すなわち、開始符号)に続く30ビット分のビット列から、位置情報および長さ情報を抽出する。
上記のステップS90,S91の処理により、圧縮処理時に開始符号、位置情報および長さ情報と置換されていた元のビット列が復元される。そして、ステップS92の処理により、復元されたビット列の次の4ビットのビット列が判別対象とされて、ステップS82からの処理が実行される。
復号化処理部240は、伸張処理部230から出力された符号化データから、冗長データを部分ブロック単位で選択して復号化する。例えば、前述の図5では、0番目から(h−1)番目の部分ブロックのうち、1番目の部分ブロックに含まれる4つの分割データD10,D11,D12,D13を基に、冗長データE10,E11,E12,E13,E14,E15を生成した。一方、4つの分割データD10,D11,D12,D13を復号化する際には、図11に示すように、伸張された符号化データから冗長データE10,E11,E12,E13,E14,E15が選択される。
[ステップS117]復号化処理部240は、上三角化行列化処理が未完の状態の行列Adに対して、ステップS116で復元したビット列を新たな行として加え、行を加えた行列Adを上三角行列化する。これとともに、処理が未完の状態の行列Dxorに対して、ステップS116で選択した冗長データから抽出した排他的論理和データを新たな行として加え、行を加えた行列Dxorに対して、行列Adに施した処理と同じ処理を施す。
[ステップS120]復号化処理部240は、ステップS119による処理後の行列Dxorの各行のビット列のうち、行列Ad内の単位行列に対応するm行のビット列を、それぞれ分割データとして出力する。
[ステップS141]復号化処理部240は、変数iを0とする。変数iは、行列Adのうち処理対象とする行数を指定するものである。
[ステップS143]復号化処理部240は、jの値がiの値と一致するか否かを判定する。各値が一致する場合には、ステップS150の処理が実行され、各値が一致しない場合には、ステップS144の処理が実行される。
[ステップS150]復号化処理部240は、変数iに1を加算する。
図14では、図5の例と同様に、符号化行列Aの列数mが4であったものとする。このとき、復号化処理部240は、送信側の情報処理装置100で生成された、図5に示した冗長データE10,E11,E12,E13,E14,E15のうち、冗長データE10,E12,E13,E14,E15を正常に取得できたとする。一方、冗長データE11については、正常に取得できなかったものとする。
[ステップS171]復号化処理部240は、変数iを(m−2)とする。この処理により、比較対象の行が、上三角行列における最も下の行から1行目に設定される。
[ステップS174]復号化処理部240は、処理対象の行の行数を示す変数jに、変数iの値を設定する。
[ステップS177]復号化処理部240は、比較ビット列cと行列Adのj行目のビット列adjとの論理積が、0であるか否かを判定する。論理積が0である場合、ステップS179の処理が実行され、論理積が0でない場合、ステップS178の処理が実行される。
以上の図15の処理により、上三角行列に変換された行列Adの、y行y列(ただし、yは0から(m−1)までの整数)のビットを除く右上側半分のビットが、すべて0に変換されて、単位行列が生成される。
[ステップS192]情報処理装置100は、符号化行列Aにおけるt行目のtビット目の位置に1をセットする(ただし、tは0以上(t−1)以下の整数)。
[ステップS194]情報処理装置100は、符号化行列Aのu列のランダムな位置に1をセットする。
[ステップS199]情報処理装置は、変数uの値が(m−1)と一致するか否かを判定する。(m−1)と一致する場合には、処理が終了され、(m−1)と一致しない場合には、ステップS194の処理が実行される。
次に、第3の実施の形態として、第2の実施の形態とは異なる符号化処理および復号化処理が行われる場合の例について説明する。
ここでは、1つの分割データの各ビットを上位から“b0,b1,・・・,bm-1”とする。また、符号化用ビット列として、n行m列の符号化行列Aを用いる。図18の例では、n=5,m=4である。そして、符号化行列Aのi行目(ただし、iは0以上の整数)のビット列aiの各ビットを上位から“ai0,ai1,・・・,ai(m-1)”とする。
b0ai0+b1ai1+b2ai2+・・・+bm-1ai(m-1)=pi ・・・(1)
上記の式(1)は、分割データの1つのビットと、ビット列における対応するビットとの論理積を演算し、すべてのビットに基づく論理積を加算するものである。また、解piは、式(1)の左辺の演算結果が奇数のとき1とされ、偶数のとき0とされる。符号化処理部120aは、式(1)から求められた解p0,p1,・・・,pn-1と、解p0,p1,・・・,pn-1をそれぞれ求める際に使用されたビット列の符号化行列Aにおける行番号とを、符号化データに含める。
受信側の情報処理装置200aにおいて、復号化処理部240aは、伸張された符号化データから行番号を抽出して、この行番号を基に符号化行列Aからビット列a0,a1,・・・,a(n-1)を復元する。また、復号化処理部240aは、各ビット列に対応する解を先頭から順次選択することで、1つの分割データに基づく解を取得して、取得した解とビット列とを式(1)の連立方程式に代入する。すなわち、ビット列におけるビット1に対応するデータビットを有効とし、ビット0に対応するデータビットを消去した連立方程式を生成する。そして、復号化処理部240aは、生成した連立方程式を解くことで、mビットの分割データを復元する。
[ステップS211]符号化処理部120aは、変数iを0とする。
[ステップS212]符号化処理部120aは、変数jを0とする。
[ステップS214]符号化処理部120aは、mビット分の解に相当するmビット列pmjの各ビットを0で初期化する。このmビット列は、1つのビット列aiに対応する解のうち、m個の部分ブロックに基づく解を示すものである。
[ステップS217]符号化処理部120aは、一時データfの各ビットの1の数を数える。1の数が奇数の場合には、ステップS218の処理が実行され、1の数が偶数の場合には、ステップS219の処理が実行される。
[ステップS219]符号化処理部120aは、変数kに1を加算する。
[ステップS223]符号化処理部120aは、変数iが(n−1)と一致するか否かを判定する。変数iが(n−1)より小さい場合には、ステップS224の処理が実行される。一方、変数iが(n−1)と一致した場合、符号化行列Aのすべての行を用いた処理が実行済みであるので、処理が終了される。
以上の手順で出力された冗長データが、圧縮処理部130に順次供給され、図8に示した圧縮処理が実行される。そして、圧縮処理部130から出力された圧縮データは、送信処理部140によりパケット化される。このとき、1つの冗長データに対応するデータが、1つのパケットに格納される。
[ステップS241]復号化処理部240aは、伸張された符号化データから、m個の行番号、すなわち、図20のステップS222で出力された変数iのうちのm個を選択し、選択した行番号が格納されたすべての冗長データを読み込む。そして、冗長データに格納された行番号に対応するm個のビット列を、符号化行列Aから復元する。
[ステップS247]復号化処理部240aは、上三角化行列化処理が未完の状態の行列Adに対して、ステップS246で復元したビット列を新たな行として加え、行を加えた行列Adを上三角行列化する。これとともに、処理が未完の状態の行列Pdに対して、ステップS246で選択した冗長データから抽出したすべてのmビット列pmを新たな行として加え、行を加えた行列Pdに対して、行列Adに施した処理と同じ処理を施す。なお、このステップS247の処理は、図12のステップS117において、行列Dxorを行列Pdに置き換えた場合の処理と同じである。
なお、以上の図21の処理では、すべての分割データに対応するmビット列が行列Adに組み込まれて、一度に演算の対象となっていた。しかし、分割データのうち1つあるいは複数の分割データに対応するmビット列ごとに、図21の処理が実行されてもよい。
(付記1) コンピュータに、
符号化対象データと、符号化用ビット列から得られる単位ビット列とから、符号化データを得る符号化手順、
前記符号化用ビット列から前記符号化データの一部分と一致するビット列を探索し、探索されたビット列と一致する前記符号化データのビット列を、置換範囲の開始位置を示す開始符号と、探索されたビット列の前記符号化用ビット列における位置に関する位置情報とを組み合わせたビット列に置換する置換手順、
を実行させるデータ符号化プログラム。
付記1記載のデータ符号化プログラム。
前記置換手順では、前記符号化用ビット列から一致するビット列が探索されない前記符号化データの範囲に、前記部分ビット列が含まれていた場合に、当該部分ビット列を前記識別符号に置換する、
付記2記載のデータ符号化プログラム。
付記1〜3のいずれか1つに記載のデータ符号化プログラム。
前記置換手順では、前記符号化データの一部分と一致するビット列を前記符号化行列から探索する方向を可変とし、探索されたビット列と一致する前記符号化データのビット列を、前記開始符号と、前記位置情報と、前記符号化行列からのビット列の探索方向を示す方向情報とを組み合わせたビット列に置換する、
付記1〜3のいずれか1つに記載のデータ符号化プログラム。
前記置換手順では、前記符号化データのうち、一の前記単位ビット列と一以上の前記分割データとを用いて演算された前記演算結果が格納された演算結果領域ごとに、前記符号化データの一部分と一致するビット列を前記符号化用ビット列から探索し、探索されたビット列と一致する前記符号化データのビット列を、前記開始符号と前記位置情報とを組み合わせたビット列に置換する、
付記1〜5のいずれか1つに記載のデータ符号化プログラム。
前記置換手順で処理された前記符号化データを、前記演算結果領域ごとに1つの送信パケットに格納するパケット格納手順、
をさらに実行させる付記6記載のデータ符号化プログラム。
前記置換手順では、前記符号化データのうち、一の前記排他的論理和データを少なくとも含むデータ領域ごとに、前記データ領域の一部分と一致するビット列を前記符号化用ビット列から探索する、
付記1〜7のいずれか1つに記載のデータ符号化プログラム。
前記符号化手順では、前記一の分割データと0番目から(n−1)番目までの前記単位ビット列とを前記式(2)に代入してn個の前記解piを求め、すべての前記分割データについてn個の前記解pjを求め、求めた前記解pjと、前記解pjのそれぞれの演算に使用された前記単位ビット列、または、当該単位ビット列の前記符号化用ビット列における位置を示す情報のいずれかとを含む前記符号化データを出力し、
前記置換手順では、前記符号化データのうち、一定個数の前記解piを少なくとも含むデータ領域ごとに、前記データ領域の一部分と一致するビット列を前記符号化用ビット列から探索する、
付記1〜7のいずれか1つに記載のデータ符号化プログラム。
b0ai0+b1ai1+b2ai2+・・・+bm-1ai(m-1)=pi ・・・(2)
(付記10) コンピュータに、
入力データから、置換範囲の開始位置を示す開始符号を検出すると、前記開始符号から開始される前記置換範囲から位置情報を検出し、検出した前記位置情報に基づく符号化用ビット列の位置から置換ビット列を抽出し、前記入力データにおける前記開始符号および前記位置情報を含む前記置換範囲を前記置換ビット列に置換する置換手順、
置換後の前記入力データと、前記符号化用ビット列から得られる単位ビット列とから、符号化対象データを復元する復号化手順、
を実行させるデータ復号化プログラム。
付記10記載のデータ復号化プログラム。
付記11記載のデータ復号化プログラム。
付記10〜12のいずれか1つに記載のデータ復号化プログラム。
前記置換手順では、前記位置情報と方向情報とを前記入力データの前記置換範囲から検出し、検出した前記位置情報に基づく前記符号化行列の位置から、検出した前記方向情報に基づく方向に並ぶビット列を前記置換ビット列として抽出する、
付記10〜12のいずれか1つに記載のデータ復号化プログラム。
付記10〜14のいずれか1つに記載のデータ復号化プログラム。
前記入力データのうち、一の前記単位ビット列と一以上の前記分割データとを基に前記符号化処理時に演算された前記演算結果が格納された一の演算結果領域のデータを、一の受信パケットから抽出する受信手順、
をさらに実行させ、
前記置換手順では、前記一の受信パケットから抽出された前記演算結果領域のデータごとに、前記開始符号の検出を行う、
付記15記載のデータ復号化プログラム。
前記復号化手順では、m個の前記単位ビット列情報に基づくm個の前記単位ビット列を行列配置した第1の行列を単位行列化するとともに、当該m個の単位ビット列と前記同じ分割データとを基に符号化処理時に演算されたm個の前記演算結果を行列配置した第2の行列に対して、単位行列化処理の際に前記第1の行列に施した処理と同じ処理を施し、処理後の前記第2の行列から前記同じ分割データを復元する、
付記15または16に記載のデータ復号化プログラム。
前記符号化手順では、0番目から(m−1)番目までのm個の前記単位ビット列、および、当該m個の単位ビット列と前記一の分割データとを基に演算されたm個の前記解piを、前記式(3)に代入することで、前記一の分割データを復元する、
付記15または16に記載のデータ復号化プログラム。
b0ai0+b1ai1+b2ai2+・・・+bm-1ai(m-1)=pi ・・・(3)
(付記19) 符号化処理手段が、符号化対象データと、符号化用ビット列から得られる単位ビット列とから、符号化データを得る符号化手順と、
置換処理手段が、前記符号化用ビット列から前記符号化データの一部分と一致するビット列を探索し、探索されたビット列と一致する前記符号化データのビット列を、置換範囲の開始位置を示す開始符号と、探索されたビット列の前記符号化用ビット列における位置に関する位置情報とを組み合わせたビット列に置換する置換手順と、
を有するデータ符号化方法。
復号化処理手段が、置換後の前記入力データと、前記符号化用ビット列から得られる単位ビット列とから、符号化対象データを復元する復号化手順と、
を有するデータ復号化方法。
3 符号化ビット列
11 符号化処理手段
12 圧縮処理手段
21 伸張処理手段
22 復号化処理手段
Claims (8)
- コンピュータに、
符号化対象データと、符号化用ビット列から得られる単位ビット列とから、符号化データを得る符号化手順、
前記符号化用ビット列から前記符号化データの一部分と一致するビット列を探索し、探索されたビット列と一致する前記符号化データのビット列を、置換範囲の開始位置を示す開始符号と、探索されたビット列の前記符号化用ビット列における位置に関する位置情報とを組み合わせたビット列に置換する置換手順、
を実行させるデータ符号化プログラム。 - 前記置換手順では、前記符号化用ビット列から一致するビット列が探索されない前記符号化データの範囲に、前記開始符号と同じビット列が含まれていた場合には、当該ビット列を異なるビット列である識別符号に置換する、
請求項1記載のデータ符号化プログラム。 - 前記置換手順では、前記符号化用ビット列から探索する、前記符号化データの一部分と一致するビット列のビット数を可変とし、探索されたビット列と一致する前記符号化データのビット列を、前記開始符号と、前記位置情報と、探索されたビット列の長さを示す長さ情報とを組み合わせたビット列に置換する、
請求項1または2記載のデータ符号化プログラム。 - 前記符号化手順では、それぞれmビットのn個の前記単位ビット列(ただし、mは1以上の整数であり、nはm以上の整数)のうち一の単位ビット列における各桁を、前記符号化対象データを分割した分割データをm個ごとに選択した分割データ群のうち一の分割データ群に含まれる前記分割データのそれぞれに対応付け、前記一の単位ビット列におけるビット1の位置に対応する前記分割データを選択して、選択した前記分割データの排他的論理和である排他的論理和データを算出し、n個の前記単位ビット列とすべての前記分割データ群との組み合わせごとに算出された前記排他的論理和データと、前記排他的論理和データの演算に使用された前記単位ビット列、または、当該単位ビット列の前記符号化用ビット列における位置を示す情報のいずれかとを含む前記符号化データを出力し、
前記置換手順では、前記符号化データのうち、一の前記排他的論理和データを少なくとも含むデータ領域ごとに、前記データ領域の一部分と一致するビット列を前記符号化用ビット列から探索する、
請求項1〜3のいずれか1項に記載のデータ符号化プログラム。 - コンピュータに、
入力データから、置換範囲の開始位置を示す開始符号を検出すると、前記開始符号から開始される前記置換範囲から位置情報を検出し、検出した前記位置情報に基づく符号化用ビット列の位置から置換ビット列を抽出し、前記入力データにおける前記開始符号および前記位置情報を含む前記置換範囲を前記置換ビット列に置換する置換手順、
置換後の前記入力データと、前記符号化用ビット列から得られる単位ビット列とから、符号化対象データを復元する復号化手順、
を実行させるデータ復号化プログラム。 - 前記置換手順では、前記入力データから、前記開始符号とは異なる所定のビット列である識別符号を検出すると、前記識別符号を前記開始符号と同じビット列に置換する、
請求項5記載のデータ復号化プログラム。 - 符号化処理手段が、符号化対象データと、符号化用ビット列から得られる単位ビット列とから、符号化データを得る符号化手順と、
置換処理手段が、前記符号化用ビット列から前記符号化データの一部分と一致するビット列を探索し、探索されたビット列と一致する前記符号化データのビット列を、置換範囲の開始位置を示す開始符号と、探索されたビット列の前記符号化用ビット列における位置に関する位置情報とを組み合わせたビット列に置換する置換手順と、
を有するデータ符号化方法。 - 置換処理手段が、入力データから、置換範囲の開始位置を示す開始符号を検出すると、前記開始符号から開始される前記置換範囲から位置情報を検出し、検出した前記位置情報に基づく符号化用ビット列の位置から置換ビット列を抽出し、前記入力データにおける前記開始符号および前記位置情報を含む前記置換範囲を前記置換ビット列に置換する置換手順と、
復号化処理手段が、置換後の前記入力データと、前記符号化用ビット列から得られる単位ビット列とから、符号化対象データを復元する復号化手順と、
を有するデータ復号化方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009261649A JP5397179B2 (ja) | 2009-11-17 | 2009-11-17 | データ符号化プログラム、データ復号化プログラムおよび方法 |
US12/947,475 US8184024B2 (en) | 2009-11-17 | 2010-11-16 | Data encoding process, data decoding process, computer-readable recording medium storing data encoding program, and computer-readable recording medium storing data decoding program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009261649A JP5397179B2 (ja) | 2009-11-17 | 2009-11-17 | データ符号化プログラム、データ復号化プログラムおよび方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011109361A true JP2011109361A (ja) | 2011-06-02 |
JP5397179B2 JP5397179B2 (ja) | 2014-01-22 |
Family
ID=44010929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009261649A Active JP5397179B2 (ja) | 2009-11-17 | 2009-11-17 | データ符号化プログラム、データ復号化プログラムおよび方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8184024B2 (ja) |
JP (1) | JP5397179B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012049757A (ja) * | 2010-08-26 | 2012-03-08 | Fujitsu Ltd | データ転送プログラム、データ転送方法及び情報処理装置 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8504847B2 (en) * | 2009-04-20 | 2013-08-06 | Cleversafe, Inc. | Securing data in a dispersed storage network using shared secret slices |
US10795766B2 (en) | 2012-04-25 | 2020-10-06 | Pure Storage, Inc. | Mapping slice groupings in a dispersed storage network |
US10621044B2 (en) | 2012-04-25 | 2020-04-14 | Pure Storage, Inc. | Mapping slice groupings in a dispersed storage network |
US9380032B2 (en) | 2012-04-25 | 2016-06-28 | International Business Machines Corporation | Encrypting data for storage in a dispersed storage network |
KR101613984B1 (ko) * | 2013-06-14 | 2016-04-20 | 최수정 | 입력 데이터의 상대적 고밀도를 이용한 부호화 방법 및 장치 |
US20150007057A1 (en) * | 2013-07-01 | 2015-01-01 | Cisco Technlogy, Inc. | System and Method for Application Sharing |
EP3127110B1 (en) | 2014-04-02 | 2018-01-31 | Dolby International AB | Exploiting metadata redundancy in immersive audio metadata |
US10031806B2 (en) * | 2016-11-01 | 2018-07-24 | Cisco Technology, Inc. | Efficient repair of erasure coded data based on coefficient matrix decomposition |
US20210127125A1 (en) * | 2019-10-23 | 2021-04-29 | Facebook Technologies, Llc | Reducing size and power consumption for frame buffers using lossy compression |
CN117579078B (zh) * | 2024-01-11 | 2024-04-12 | 央视国际网络有限公司 | 数据编码方法、数据解码方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10271342A (ja) * | 1997-03-26 | 1998-10-09 | Ricoh Co Ltd | 2値画像符号化方法 |
JP2003061095A (ja) * | 2001-08-08 | 2003-02-28 | Matsushita Electric Ind Co Ltd | 画像符号化装置及び画像符号化方法 |
JP2003188735A (ja) * | 2001-12-13 | 2003-07-04 | Ntt Data Corp | データ圧縮装置及び方法並びにプログラム |
JP2006271006A (ja) * | 2006-06-12 | 2006-10-05 | Fujitsu Ltd | データ配信方法、システム、伝送方法及びプログラム |
JP2006295683A (ja) * | 2005-04-13 | 2006-10-26 | Canon Inc | 画像符号化方法及び画像符号化装置 |
JP2008172617A (ja) * | 2007-01-12 | 2008-07-24 | Fujitsu Ltd | 符号化装置、復号装置、符号化プログラム、復号プログラム、データ転送システム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4491934A (en) * | 1982-05-12 | 1985-01-01 | Heinz Karl E | Data compression process |
DE69615950T2 (de) * | 1995-02-08 | 2002-05-29 | Koninkl Philips Electronics Nv | Kodierungsanordnung und -verfahren zur kodierung von (n-1)-bit informationsworten in n-bit kanalworte und dekodierungsanordnung und -verfahren zur dekodierung der kanalworte in informationsworte |
JP2006211331A (ja) * | 2005-01-28 | 2006-08-10 | Nec Corp | データ符号化装置、データ復号装置及びデータ符号化/復号システム |
NZ548528A (en) * | 2006-07-14 | 2009-02-28 | Arc Innovations Ltd | Text encoding system and method |
-
2009
- 2009-11-17 JP JP2009261649A patent/JP5397179B2/ja active Active
-
2010
- 2010-11-16 US US12/947,475 patent/US8184024B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10271342A (ja) * | 1997-03-26 | 1998-10-09 | Ricoh Co Ltd | 2値画像符号化方法 |
JP2003061095A (ja) * | 2001-08-08 | 2003-02-28 | Matsushita Electric Ind Co Ltd | 画像符号化装置及び画像符号化方法 |
JP2003188735A (ja) * | 2001-12-13 | 2003-07-04 | Ntt Data Corp | データ圧縮装置及び方法並びにプログラム |
JP2006295683A (ja) * | 2005-04-13 | 2006-10-26 | Canon Inc | 画像符号化方法及び画像符号化装置 |
JP2006271006A (ja) * | 2006-06-12 | 2006-10-05 | Fujitsu Ltd | データ配信方法、システム、伝送方法及びプログラム |
JP2008172617A (ja) * | 2007-01-12 | 2008-07-24 | Fujitsu Ltd | 符号化装置、復号装置、符号化プログラム、復号プログラム、データ転送システム |
Non-Patent Citations (1)
Title |
---|
JPN6013033701; 亀山裕亮,佐沢真一,佐藤裕一: 'ミッドサイズな符号長に適した消失訂正符号の提案とクラウドコンピューティングでの高速データ転送への適用' 電子情報通信学会技術研報告 vol.109,no.190, 20090903, pp.47-52, 社団法人電子情報通信学会 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012049757A (ja) * | 2010-08-26 | 2012-03-08 | Fujitsu Ltd | データ転送プログラム、データ転送方法及び情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20110115654A1 (en) | 2011-05-19 |
JP5397179B2 (ja) | 2014-01-22 |
US8184024B2 (en) | 2012-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5397179B2 (ja) | データ符号化プログラム、データ復号化プログラムおよび方法 | |
US20220224353A1 (en) | Methods and apparatus to parallelize data decompression | |
JP5675876B2 (ja) | 連鎖的暗号化反応の系統的記号化および復号化 | |
RU2377670C2 (ru) | Сжатие данных | |
JP2021513141A (ja) | 2次元バーコードの生成及び識別 | |
US10270468B2 (en) | Method for file updating and version control for linear erasure coded and network coded storage | |
JP4157041B2 (ja) | 通信システムのための多段符号発生器及び復号器 | |
US8819288B2 (en) | Optimized data stream compression using data-dependent chunking | |
US11632125B2 (en) | Compressively-accelerated read mapping framework for next-generation sequencing | |
US8937564B2 (en) | System, method and non-transitory computer readable medium for compressing genetic information | |
JP5750786B2 (ja) | Simd命令を用いるrdpビットマップハッシュアクセラレーション | |
US8872677B2 (en) | Method and apparatus for compressing data-carrying signals | |
US8959155B1 (en) | Data compression through redundancy removal in an application acceleration environment | |
US20110227764A1 (en) | Systems and methods for compression of logical data objects for storage | |
CN111262876B (zh) | 基于区块链的数据处理方法、装置、设备以及存储介质 | |
CN101783955B (zh) | 一种数据异常时的恢复方法和设备 | |
WO2021179518A1 (en) | Methods and apparatuses for oblivious transfer using trusted environment | |
US11762557B2 (en) | System and method for data compaction and encryption of anonymized datasets | |
CN115408350A (zh) | 日志压缩、日志还原方法、装置、计算机设备和存储介质 | |
US20170048303A1 (en) | On the fly statistical delta differencing engine | |
CN111061682A (zh) | 一种数据缓存方法、读取方法、电子设备及存储介质 | |
US11734012B2 (en) | Systems and methods for efficient transfer of log data | |
BR102014006340B1 (pt) | Método e aparelho para compressão e descompressão de dados por estágios | |
CN111600846B (zh) | 一种网关设备的恢复方法和恢复系统 | |
US20240154622A1 (en) | System and method for extracting data from a compressed and encrypted data stream |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120720 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130703 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130709 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130905 |
|
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: 20130924 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131007 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5397179 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |