特許第5913748号(P5913748)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アルカテル−ルーセントの特許一覧

<>
  • 特許5913748-セキュアで損失のないデータ圧縮 図000005
  • 特許5913748-セキュアで損失のないデータ圧縮 図000006
  • 特許5913748-セキュアで損失のないデータ圧縮 図000007
  • 特許5913748-セキュアで損失のないデータ圧縮 図000008
  • 特許5913748-セキュアで損失のないデータ圧縮 図000009
  • 特許5913748-セキュアで損失のないデータ圧縮 図000010
  • 特許5913748-セキュアで損失のないデータ圧縮 図000011
  • 特許5913748-セキュアで損失のないデータ圧縮 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5913748
(24)【登録日】2016年4月8日
(45)【発行日】2016年4月27日
(54)【発明の名称】セキュアで損失のないデータ圧縮
(51)【国際特許分類】
   H03M 7/30 20060101AFI20160414BHJP
【FI】
   H03M7/30 Z
【請求項の数】14
【全頁数】29
(21)【出願番号】特願2015-536043(P2015-536043)
(86)(22)【出願日】2013年9月20日
(65)【公表番号】特表2015-534795(P2015-534795A)
(43)【公表日】2015年12月3日
(86)【国際出願番号】EP2013069581
(87)【国際公開番号】WO2014056703
(87)【国際公開日】20140417
【審査請求日】2015年6月5日
(31)【優先権主張番号】12306230.9
(32)【優先日】2012年10月9日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】391030332
【氏名又は名称】アルカテル−ルーセント
(74)【代理人】
【識別番号】110001173
【氏名又は名称】特許業務法人川口國際特許事務所
(72)【発明者】
【氏名】デネス,アラン
【審査官】 北村 智彦
(56)【参考文献】
【文献】 特開2007−274183(JP,A)
【文献】 特開平09−069785(JP,A)
【文献】 特開平05−080972(JP,A)
【文献】 特開2012−034272(JP,A)
【文献】 特表平04−503421(JP,A)
【文献】 米国特許第04929946(US,A)
【文献】 DAVID SALOMON,DATA COMPRESSION: THE COMPLETE REFERENCE, 3RD EDITION,SPRINGER VERLAG,2004年,P18-19
【文献】 WOLF MISHA,UNICODE TECHNICAL REPORT #6: A STANDARD COMPRESSION SCHEME FOR UNICODE, REVISION 2.0,INTERNET CITATION [ONLINE],1998年 9月30日,URL,http://www.unicode.org/unicode/reports/tr6/tr6-2.html
(58)【調査した分野】(Int.Cl.,DB名)
H03M 7/30
(57)【特許請求の範囲】
【請求項1】
最初に、各々が絶対符号化テーブル(10)に従って各文字(4)を一意に表す絶対数(5)によって表される元の順序付けされた文字(4)のシーケンス(2)によって定義されている文字列を圧縮するための方法であって、
− 前記元のシーケンス(2)を、連続した文字を含む少なくとも1つの第1のタイプのサブシーケンス(7)であって、第1のタイプのサブシーケンス(7)の連続した文字の各々が、相対符号化テーブル(20)内の対応する文字に一致する、第1のタイプのサブシーケンスと、連続した残りの文字を含む少なくとも1つの第2のタイプのサブシーケンス(8)とにパースするステップ(31)と、
− 前記相対符号化テーブル(20)を使用して各第1のタイプのサブシーケンス(7)を符号化するステップ(33)と、
− 各第2のタイプのサブシーケンス(8)からの各文字(4)を、前記圧縮シーケンス(3)内にコピーするステップであって、各文字が前記絶対符号化テーブル(10)からのその絶対表現数(5)によって表される、コピーするステップ(40)と
を含み、
第1のタイプのサブシーケンス(7)を符号化すること(33)が、
− 前記サブシーケンスの最初の文字(14)を、キーコード(14)として、前記絶対符号化テーブル(10)からのその元の絶対表現数(5)によって符号化するステップ(34)と、
− 前記サブシーケンス(7)内の前記最初の文字(14)に後続する各文字を、前記相対符号化テーブル(20)における、前記文字に先行する文字と前記文字との間の変位(21)を符号化することによって符号化するステップ(35)と、
− 前記第1のタイプのサブシーケンス(7)の符号化を、前記サブシーケンス(7)内の最後の文字の後の符号化の終わりを示す、前記相対符号化テーブル(20)内の第2の特定の制御文字(16)に向けての変位(21)を符号化することによって終了するステップ(39)と
を含み、
前記相対符号化テーブル(20)における、先行する文字と後続する文字との間の変位(21)を符号化すること(35)が、
− 前記相対符号化テーブル(20)において、第1の所定の方向に沿った、前記後続する文字から前記先行する文字を分離する第1の座標を求めるステップ(36)と、
− 前記相対符号化テーブル(20)において、第2の所定の方向に沿った、前記後続する文字から前記先行する文字を分離する第2の座標を求めるステップ(37)と、
− すべての求められた座標を順番に、圧縮シーケンス(3)に連結するステップ(38)と
を含み、
前記第1の座標が第1の数字セット内で選択され、前記第2の座標が第2の数字セット内で選択され、前記第1の数字セットと前記第2の数字セットとの間で数が一切共有されず、前記第1のセットの間の1つの第1の特定の座標、および、前記第2のセットの間の1つの第2の特定の座標が、圧縮シーケンス(3)においては省略されるが、2つの特定の座標が直に後続している場合は例外であり、この場合、前記後続する特定の座標が省略されない、方法。
【請求項2】
− 前記元のシーケンス(2)から計算されるチェックサム(18、19)を、前記圧縮シーケンス(3)内に挿入するステップ(41)
をさらに含む、請求項1に記載の方法。
【請求項3】
前記相対符号化テーブル(20)が、圧縮されるべき文字列において予測されるものとしての、最も頻度の高い文字をデータ投入される、請求項1から2のいずれか一項に記載の方法。
【請求項4】
前記相対符号化テーブル(20)が8×8行列であり、前記第1の座標が、左から右への列の循環的カウントに従って[0..7]の第1の範囲内で選択され、前記第2の座標は、上から下への、8を加えた行の循環的カウントに従って[8..F]の第2の範囲内で選択され、第1の特定の座標が、分離が無い(ゼロの)列に対応する第1の座標であり、第2の特定の座標が、分離が無い(ゼロの)行に対応する第2の座標である、請求項1から3のいずれか一項に記載の方法。
【請求項5】
パースするステップと符号化するステップとの間に、
− 各第1のタイプのサブシーケンス(7)について、符号化するステップを通じて取得されることになる符号化サブシーケンス(11)が、元のサブシーケンス(7)よりも短いか否かを検査するステップと、
− そうでない場合、前記第1のタイプのサブシーケンス(7)を、第2のタイプのサブシーケンスとして扱うステップと
をさらに含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
圧縮シーケンス(3)を、各々が絶対符号化テーブル(10)に従って各文字(4)を一意に表す絶対数(5)によって表される最終的な順序付けされた文字(4)のシーケンス(2)によって定義される文字列に逆圧縮するための方法であって、
− 前記圧縮シーケンス(3)から、連続した数の少なくとも1つの符号化サブシーケンス(11)を抽出するステップ(71)と、
− 相対符号化テーブル(20)を使用して、前記符号化サブシーケンス(11)を復号して、最終的な復号サブシーケンス(7)にする、復号するステップ(72)と、
− 残りの数を保持するステップ(83)と、
− 各前記残りの数を、前記絶対符号化テーブル(10)を使用して絶対数によって表される文字として逆圧縮シーケンス2内にコピーするステップ(84)と
を含み、
抽出するステップ(71)および復号するステップ(72)が、
− 最初の数(14)を、前記絶対符号化テーブル(10)に従って前記絶対数によって表される文字として前記最終的な復号サブシーケンス(2)にコピーするステップ(73)と、
− 前記符号化サブシーケンス(11)において、前記最初の数(14)に後続する、後続する数を前処理するステップ(74)と、
− 後続する数を前記相対符号化テーブル(20)における相対的な変位(21)として、変位が、符号化の終わりを示し、したがって前記符号化サブシーケンス(11)の終わりを示す、前記相対符号化テーブル(20)内の第2の特定の制御文字(16)を指すまで復号するステップ(80)と
をさらに含み、
後続する数を復号するステップ(80)が、
− 前記最初の文字(14)である現在の文字によって開始するステップ(81)であって、現在の位置が前記相対符号化テーブル(20)内の前記最初の文字(14)の位置であり、現在の座標対が、前記符号化サブシーケンス(20)内の第1の座標と第2の座標との第1の対である、開始するステップ(81)と、
− 新たな位置が前記相対符号化テーブル(20)内の第2の特定の制御文字(16)を指すまで、
− 新たな復号される文字を示す新たな位置を見つけるために、前記相対符号化テーブル(20)内の現在の位置から、第1の座標と第2の座標との現在の対によって符号化されるものとして変位(21)を適用するステップであって、第1の座標が、第1の所定の方向に沿った列の循環的カウントを示し、第2の座標が、第2の所定の方向に沿った行の循環的カウントを示す、適用するステップと、
− 前記復号される最終的なサブシーケンス(7)内の前記現在の文字の後に前記新たな復号される文字をコピーするステップと、
− 現在の文字を前記新たな復号される文字に更新し、現在の位置を前記新たな位置に更新し、現在の座標対を、前記符号化サブシーケンス(11)内の第1の座標と第2の座標との次の対に更新するステップと
を反復するステップ(82)と
をさらに含み、
前記第1の座標が第1の数字セット内で選択され、前記第2の座標が第2の数字セット内で選択され、前記第1の数字セットと前記第2の数字セットとの間で数が一切共有されず、後続する数を前処理するステップ(74)が、
− 前記後続する数を座標に分離するステップ(75)と、
− 任意の第2の特定の座標の前に第1の特定の座標を挿入するステップ(76)と、
− 任意の第1の特定の座標の前に第2の特定の座標を挿入するステップ(77)と、
− 任意の2つの連続する第2の座標の間に第1の特定の座標を挿入するステップ(78)と、
− 任意の2つの連続する第1の座標の間に第2の特定の座標を挿入するステップ(79)と
をさらに含む、方法。
【請求項7】
前記相対符号化テーブル(20)が8×8行列であり、前記第1の座標が、左から右への列の循環的カウントに従って[0..7]の第1の範囲内で選択され、前記第2の座標は、上から下への、8を加えた行の循環的カウントに従って[8..F]の第2の範囲内で選択され、第1の特定の座標が、分離が無い(ゼロの)列に対応する第1の座標であり、第2の特定の座標が、分離が無い(ゼロの)行に対応する第2の座標である、請求項6に記載の方法。
【請求項8】
最初に、各々が絶対符号化テーブル(10)に従って各文字(4)を一意に表す絶対数(5)によって表される元の順序付けされた文字(4)のシーケンス(2)によって定義されている文字列を圧縮して、圧縮シーケンス(3)にするための圧縮器(50)であって、
− 前記元のシーケンス(2)を、連続した文字を含む少なくとも1つの第1のタイプのサブシーケンス(7)であって、第1のタイプのサブシーケンス(7)の連続した文字の各々が、相対符号化テーブル(20)内の対応する文字に基づいて選択される、第1のタイプのサブシーケンスと、連続した残りの文字を含む少なくとも1つの第2のタイプのサブシーケンス(8)とにパースするためのパース器(51)と、
− 前記相対符号化テーブル(20)を使用して各第1のタイプのサブシーケンス(7)を符号化するための符号化器(53)と、
− 各第2のタイプのサブシーケンス(8)からの各文字(4)を、前記圧縮シーケンス(3)内にコピーするためのコピー器(60)であって、各文字が前記絶対符号化テーブル(10)からのその絶対表現数(5)によって表される、コピー器(60)と
を備え、
符号化器(53)が、
− 前記サブシーケンスの最初の文字(14)を、キーコード(14)として、前記絶対符号化テーブル(10)からのその元の絶対表現数(5)によって符号化するための第1の部分符号化器(54)と、
− 前記サブシーケンス(7)内の前記最初の文字(14)に後続する各文字を、前記相対符号化テーブル(20)における、前記文字に先行する文字と前記文字との間の変位(21)を符号化することによって符号化するための第2の部分符号化器(55)と、
− 前記第1のタイプのサブシーケンス(7)の符号化を、前記サブシーケンス(7)内の最後の文字の後の符号化の終わりを示す、前記相対符号化テーブル(20)内の第2の特定の制御文字(16)に向けての変位(21)を符号化することによって終了するための第3の部分符号化器(59)と
をさらに備え、
第2の部分符号化器(55)が、
− 前記相対符号化テーブル(20)において、第1の所定の方向に沿った、前記後続する文字から前記先行する文字を分離する第1の座標を求めるための第1の決定器(56)と、
− 前記相対符号化テーブル(20)において、第2の所定の方向に沿った、前記後続する文字から前記先行する文字を分離する第2の座標を求めるための第2の決定器(57)と、
− すべての求められた座標を順番に、圧縮シーケンス(3)に連結するための連結器(58)と
をさらに備え、
前記第1の座標が第1の数字セット内で選択され、前記第2の座標が第2の数字セット内で選択され、前記第1の数字セットと前記第2の数字セットとの間で数が一切共有されず、前記第1のセットの間の1つの第1の特定の座標、および、前記第2のセットの間の1つの第2の特定の座標が、圧縮シーケンス(3)においては省略されるが、2つの特定の座標が直に後続している場合は例外であり、この場合、前記後続する特定の座標が省略されない、圧縮器。
【請求項9】
− 前記元のシーケンス(2)から計算されるチェックサム(18、19)を、前記圧縮シーケンス(3)内に挿入するための挿入器(61)
をさらに備える、請求項8に記載の圧縮器。
【請求項10】
前記相対符号化テーブル(20)が、圧縮されるべき文字列において予測されるものとしての、最も頻度の高い文字をデータ投入される、請求項8から9のいずれか一項に記載の圧縮器。
【請求項11】
前記相対符号化テーブル(20)が8×8行列であり、前記第1の座標が、左から右への列の循環的カウントに従って[0..7]の第1の範囲内で選択され、前記第2の座標は、上から下への、8を加えた行の循環的カウントに従って[8..F]の第2の範囲内で選択され、第1の特定の座標が、分離が無い(ゼロの)列に対応する第1の座標であり、第2の特定の座標が、分離が無い(ゼロの)行に対応する第2の座標である、請求項8から10のいずれか一項に記載の圧縮器。
【請求項12】
各第1のタイプのサブシーケンス(7)について、取得されることになる符号化サブシーケンス(11)が、元のサブシーケンス(7)よりも短いか否かを検査し、そうでない場合、前記第1のタイプのサブシーケンス(7)を、第2のタイプのサブシーケンスとして扱うための検査器(52)をさらに備える、請求項8から11のいずれか一項に記載の圧縮器。
【請求項13】
圧縮シーケンス(3)を、各々が絶対符号化テーブル(10)に従って各文字(4)を一意に表す絶対数(5)によって表される最終的な順序付けされた文字(4)のシーケンス(2)によって定義される文字列に逆圧縮するための逆圧縮器であって、
− 前記圧縮シーケンス(3)から、連続した数の少なくとも1つの符号化サブシーケンス(11)を抽出するための抽出器(91)と、
− 相対符号化テーブル(20)を使用して、前記符号化サブシーケンス(11)を復号して、最終的な復号サブシーケンス(7)にするための復号器(91)と、
− 残りの数を保持するための保持器(103)と、
− 各前記残りの数を、前記絶対符号化テーブル(10)を使用して絶対数によって表される文字として逆圧縮シーケンス2内にコピーするためのコピー器(104)と
を備え、
抽出器および復号器が、
− 最初の数(14)を、前記絶対符号化テーブル(10)に従って前記絶対数によって表される文字として前記最終的な復号サブシーケンス(2)にコピーするための部分コピー器(93)と、
− 前記符号化サブシーケンス(11)において、前記最初の数(14)に後続する、後続する数を前処理するための前処理器(94)と、
− 後続する数を前記相対符号化テーブル(20)における相対的な変位(21)として、変位が、符号化の終わりを示し、したがって前記符号化サブシーケンス(11)の終わりを示す、前記相対符号化テーブル(20)内の第2の特定の制御文字(16)を指すまで復号するための部分復号器(100)と
をさらに備え、
部分復号器(100)が、
− 前記最初の文字(14)である現在の文字によって開始するための開始器(101)であって、現在の位置が前記相対符号化テーブル(20)内の前記最初の文字(14)の位置であり、現在の座標対が、前記符号化サブシーケンス(20)内の第1の座標と第2の座標との第1の対である、開始器(101)と、
− 新たな位置が前記相対符号化テーブル(20)内の第2の特定の制御文字(16)を指すまで、
− 新たな復号される文字を示す新たな位置を見つけるために、前記相対符号化テーブル(20)内の現在の位置から、第1の座標と第2の座標との現在の対によって符号化されるものとして変位(21)を適用するステップであって、第1の座標が、第1の所定の方向に沿った列の循環的カウントを示し、第2の座標が、第2の所定の方向に沿った行の循環的カウントを示す、適用するステップと、
− 前記復号される最終的なサブシーケンス(7)内の前記現在の文字の後に前記新たな復号される文字をコピーするステップと、
− 現在の文字を前記新たな復号される文字に更新し、現在の位置を前記新たな位置に更新し、現在の座標対を、前記符号化サブシーケンス(11)内の第1の座標と第2の座標との次の対に更新するステップと
を反復するための反復器(102)と
をさらに備え、
前記第1の座標が第1の数字セット内で選択され、前記第2の座標が第2の数字セット内で選択され、前記第1の数字セットと前記第2の数字セットとの間で数が一切共有されず、前処理器(94)が、
− 前記後続する数を座標に分離するための分離器(95)と、
− 任意の第2の特定の座標の前に第1の特定の座標を挿入するための第1の挿入器と、
− 任意の第1の特定の座標の前に第2の特定の座標を挿入するための第2の挿入器と、
− 任意の2つの連続する第2の座標の間に第1の特定の座標を挿入するための第3の挿入器と、
− 任意の2つの連続する第1の座標の間に第2の特定の座標を挿入するための第4の挿入器と
をさらに備える、逆圧縮器。
【請求項14】
前記相対符号化テーブル(20)が8×8行列であり、前記第1の座標が、左から右への列の循環的カウントに従って[0..7]の第1の範囲内で選択され、前記第2の座標は、上から下への、8を加えた行の循環的カウントに従って[8..F]の第2の範囲内で選択され、第1の特定の座標が、列を分離するゼロに対応する第1の座標であり、第2の特定の座標が、行を分離するゼロに対応する第2の座標である、請求項13に記載の逆圧縮器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の技術分野は、情報の通信の技術分野である。より詳細には、本発明の技術分野は、セキュアで損失のない圧縮/逆圧縮に関する。
【背景技術】
【0002】
テキストは、文字のシーケンスとして順序付けされている文字列である。文字を数値的に表す一般的な方法は、各文字が一意の絶対数によって表される絶対符号化テーブルを使用することによるものである。そのような絶対符号化テーブルで最も有名なものの1つは、ASCII標準によって定義されるものである。そのようなASCII絶対符号化テーブルにおいて、各文字は一般的に、一意の1バイト数によって表され、したがって、そのようなASCII絶対符号化テーブルのサイズは256文字に制限される。順序付けされた文字シーケンスを数値的に表す一般的な方法は、対応する順序付けされた数字シーケンスを提供することであり、各文字は、同じ順序で、その絶対数によって表される。
【0003】
結果として、n文字から成る列は、nバイトを占有する数字シーケンスによって表される。たとえば、携帯電話ネットワーク上のデータまたはテキストトラフィックの増大を考慮すると、そのような占有は大きすぎると考えられる。
【0004】
zip、rarなどのようないくつかの圧縮ソリューションが存在するが、これらのソリューションは、特に長さの短いテキスト文字列に適用されるときには何らサイズ低減をもたらさない場合がある。
【発明の概要】
【発明が解決しようとする課題】
【0005】
長さの短い列についてさえも顕著なサイズ低減を呈する圧縮/逆圧縮方式が望ましい。
【課題を解決するための手段】
【0006】
一実施形態は、最初に、各々が絶対符号化テーブルに従って各文字を一意に表す絶対数によって表される元の順序付けされた文字シーケンスによって定義されている文字列を圧縮するための方法であって、前記元のシーケンスを、連続した文字を含む少なくとも1つの第1のタイプのサブシーケンスであって、第1のタイプのサブシーケンスの連続した文字の各々は、相対符号化テーブル内の対応する文字に一致する、第1のタイプのサブシーケンスと、連続した残りの文字を含む少なくとも1つの第2のタイプのサブシーケンスとにパースするステップと、前記相対符号化テーブルを使用して各第1のタイプのサブシーケンスを符号化するステップと、各第2のタイプのサブシーケンスからの各文字を、前記圧縮シーケンス内にコピーするステップであって、各文字は前記絶対符号化テーブルからのその絶対表現数によって表される、コピーするステップとを含む、方法に関する。
【0007】
一実施形態の特徴によれば、第1のタイプのサブシーケンスを符号化することは、前記サブシーケンスの最初の文字を、キーコードとして、前記絶対符号化テーブルからのその元の絶対表現数によって符号化するステップと、前記サブシーケンス内の前記最初の文字に後続する各文字を、前記相対符号化テーブルにおける、前記文字に先行する文字と前記文字との間の変位を符号化することによって符号化するステップと、前記第1のタイプのサブシーケンスの符号化を、前記サブシーケンス内の最後の文字の後の符号化の終わりを示す、前記相対符号化テーブル内の第2の特定の制御文字に向けての変位を符号化することによって終了するステップとをさらに含んでもよい。
【0008】
一実施形態の別の特徴によれば、前記方法は、前記元のシーケンスから計算されるチェックサムを、前記圧縮シーケンス内に挿入するステップをさらに含んでもよい。
【0009】
一実施形態の別の特徴によれば、前記相対符号化テーブルにおける、先行する文字と後続する文字との間の変位を符号化することは、前記相対符号化テーブルにおいて、第1の所定の方向に沿った、前記後続する文字から前記先行する文字を分離する第1の座標を求めるステップと、前記相対符号化テーブルにおいて、第2の所定の方向に沿った、前記後続する文字から前記先行する文字を分離する第2の座標を求めるステップと、すべての求められた座標を順番に、圧縮シーケンスに連結するステップとを含んでもよい。
【0010】
一実施形態の別の特徴によれば、前記第1の座標は第1の数字セット内で選択され、前記第2の座標は第2の数字セット内で選択され、前記第1の数字セットと前記第2の数字セットとの間で数は一切共有されず、前記第1のセットの間の1つの第1の特定の座標、および、前記第2のセットの間の1つの第2の特定の座標は、圧縮シーケンスにおいては省略されるが、2つの特定の座標が直に後続している場合は例外であり、この場合、前記後続する特定の座標は省略されない。
【0011】
一実施形態の別の特徴によれば、前記相対符号化テーブルは、圧縮されるべき文字列において予測されるものとしての、最も頻度の高い文字をデータ投入される。
【0012】
一実施形態の別の特徴によれば、前記相対符号化テーブルは8×8行列であり、前記第1の座標は、左から右への列の循環的カウントに従って[0..7]の第1の範囲内で選択され、前記第2の座標は、上から下への、8を加えた行の循環的カウントに従って[8..F]の第2の範囲内で選択され、第1の特定の座標は、分離が無い(ゼロの)列に対応する第1の座標であり、第2の特定の座標は、分離が無い(ゼロの)行に対応する第2の座標である。
【0013】
一実施形態の別の特徴によれば、前記方法は、パースするステップと符号化するステップとの間に、各第1のタイプのサブシーケンスについて、符号化するステップを通じて取得されることになる符号化サブシーケンスが、元のサブシーケンスよりも短いか否かを検査するステップと、そうでない場合、前記第1のタイプのサブシーケンスを、第2のタイプのサブシーケンスとして扱うステップとをさらに含む。
【0014】
別の実施形態は、圧縮シーケンスを、各々が絶対符号化テーブルに従って各文字を一意に表す絶対数によって表される最終的な順序付けされた文字シーケンスによって定義される文字列に逆圧縮するための方法であって、前記圧縮シーケンスから、連続した数の少なくとも1つの符号化サブシーケンスを抽出するステップと、相対符号化テーブルを使用して、前記符号化サブシーケンスを復号して、最終的な復号サブシーケンスにする、復号するステップと、残りの数を保持するステップと、前記残りの数を、前記絶対符号化テーブルを使用して絶対数によって表される文字として逆圧縮シーケンス2内にコピーするステップとの1つまたは複数のステップを含む、方法に関する。
【0015】
一実施形態の別の特徴によれば、抽出するステップおよび復号するステップは、最初の数を、前記絶対符号化テーブルに従って前記絶対数によって表される文字として前記最終的な復号サブシーケンスにコピーするステップと、前記符号化サブシーケンスにおいて、前記最初の数に後続する、後続する数を前処理するステップと、後続する数を前記相対符号化テーブルにおける相対的な変位として、変位が、符号化の終わりを示し、したがって前記符号化サブシーケンスの終わりを示す、前記相対符号化テーブル内の第2の特定の制御文字を指すまで復号するステップとをさらに含んでもよい。
【0016】
一実施形態の別の特徴によれば、後続する数を復号するステップは、前記最初の文字である現在の文字によって開始するステップであって、現在の位置は前記相対符号化テーブル内の前記最初の文字の位置であり、現在の座標対は、前記符号化サブシーケンス内の第1の座標と第2の座標との第1の対である、開始するステップと、新たな位置が前記相対符号化テーブル内の第2の特定の制御文字を指すまで、新たな復号される文字を示す新たな位置を見つけるために、前記相対符号化テーブル内の現在の位置から、第1の座標と第2の座標との現在の対によって符号化されるものとして変位を適用するステップであって、第1の座標は、第1の所定の方向に沿った列の循環的カウントを示し、第2の座標は、第2の所定の方向に沿った行の循環的カウントを示す、適用するステップと、前記復号される最終的なサブシーケンス内の前記現在の文字の後に前記新たな復号される文字をコピーするステップと、現在の文字を前記新たな復号される文字に更新し、現在の位置を前記新たな位置に更新し、現在の座標対を、前記符号化サブシーケンス内の第1の座標と第2の座標との次の対に更新するステップとを反復するステップとをさらに含んでもよい。
【0017】
一実施形態の別の特徴によれば、前記第1の座標は第1の数字セット内で選択され、前記第2の座標は第2の数字セット内で選択され、前記第1の数字セットと前記第2の数字セットとの間で数は一切共有されず、後続する数を前処理するステップは、任意の第2の特定の座標の前に第1の特定の座標を挿入するステップと、任意の第1の特定の座標の前に第2の特定の座標を挿入するステップと、任意の2つの連続する第2の座標の間に第1の特定の座標を挿入するステップと、任意の2つの連続する第1の座標の間に第2の特定の座標を挿入するステップとをさらに含む。
【0018】
一実施形態の別の特徴によれば、前記相対符号化テーブルは8×8行列であり、前記第1の座標は、左から右への列の循環的カウントに従って[0..7]の第1の範囲内で選択され、前記第2の座標は、上から下への、8を加えた行の循環的カウントに従って[8..F]の第2の範囲内で選択され、第1の特定の座標は、分離が無い(ゼロの)列に対応する第1の座標であり、第2の特定の座標は、分離が無い(ゼロの)行に対応する第2の座標である。
【0019】
別の実施形態は、そのような圧縮方法に従って文字列を圧縮して、圧縮シーケンスにするための手段を備える圧縮器に関する。
【0020】
一実施形態は、最初に、各々が絶対符号化テーブルに従って各文字を一意に表す絶対数によって表される元の順序付けされた文字シーケンスによって定義されている文字列を圧縮して、圧縮シーケンスにするための圧縮器であって、前記元のシーケンスを、連続した文字を含む少なくとも1つの第1のタイプのサブシーケンスであって、第1のタイプのサブシーケンスの連続した文字の各々は、相対符号化テーブル内の対応する文字に基づいて選択される、第1のタイプのサブシーケンスと、連続した残りの文字を含む少なくとも1つの第2のタイプのサブシーケンスとにパースするためのパース器と、前記相対符号化テーブルを使用して各第1のタイプのサブシーケンスを符号化するための符号化器と、各第2のタイプのサブシーケンスからの各文字を、前記圧縮シーケンス内にコピーするためのコピー器であって、各文字は前記絶対符号化テーブルからのその絶対表現数によって表される、コピー器とを備える、圧縮器に関する。
【0021】
一実施形態の別の特徴によれば、符号化器は、前記サブシーケンスの最初の文字を、キーコードとして、前記絶対符号化テーブルからのその元の絶対表現数によって符号化するための第1の部分符号化器と、前記サブシーケンス内の前記最初の文字に後続する各文字を、前記相対符号化テーブルにおける、前記文字に先行する文字と前記文字との間の変位を符号化することによって符号化するための第2の部分符号化器と、前記第1のタイプのサブシーケンスの符号化を、前記サブシーケンス内の最後の文字の後の符号化の終わりを示す、前記相対符号化テーブル内の第2の特定の制御文字に向けての変位を符号化することによって終了するための第3の部分符号化器とをさらに備える。
【0022】
一実施形態の別の特徴によれば、圧縮器は、前記元のシーケンスから計算されるチェックサムを、前記圧縮シーケンス内に挿入するための挿入器をさらに備える。
【0023】
一実施形態の別の特徴によれば、第2の部分符号化器は、前記相対符号化テーブルにおいて、第1の所定の方向に沿った、前記後続する文字から前記先行する文字を分離する第1の座標を求めるための第1の決定器と、前記相対符号化テーブルにおいて、第2の所定の方向に沿った、前記後続する文字から前記先行する文字を分離する第2の座標を求めるための第2の決定器と、すべての求められた座標を順番に、圧縮シーケンスに連結するための連結器とをさらに備える。
【0024】
一実施形態の別の特徴によれば、前記第1の座標は第1の数字セット内で選択され、前記第2の座標は第2の数字セット内で選択され、前記第1の数字セットと前記第2の数字セットとの間で数は一切共有されず、前記第1のセットの間の1つの第1の特定の座標、および、前記第2のセットの間の1つの第2の特定の座標は、圧縮シーケンスにおいては省略されるが、2つの特定の座標が直に後続している場合は例外であり、この場合、前記後続する特定の座標は省略されない。
【0025】
一実施形態の別の特徴によれば、前記相対符号化テーブルは、圧縮されるべき文字列において予測されるものとしての、最も頻度の高い文字をデータ投入される。
【0026】
一実施形態の別の特徴によれば、前記相対符号化テーブルは8×8行列であり、前記第1の座標は、左から右への列の循環的カウントに従って[0..7]の第1の範囲内で選択され、前記第2の座標は、上から下への、8を加えた行の循環的カウントに従って[8..F]の第2の範囲内で選択され、第1の特定の座標は、分離が無い(ゼロの)列に対応する第1の座標であり、第2の特定の座標は、分離が無い(ゼロの)行に対応する第2の座標である。
【0027】
一実施形態の別の特徴によれば、前記圧縮器は、各第1のタイプのサブシーケンスについて、取得されることになる符号化サブシーケンスが、元のサブシーケンスよりも短いか否かを検査し、そうでない場合、前記第1のタイプのサブシーケンスを、第2のタイプのサブシーケンスとして扱うための検査器をさらに備える。
【0028】
別の実施形態は、そのような逆圧縮方法に従って、圧縮シーケンスを文字列に逆圧縮するための手段を備える逆圧縮器に関する。
【0029】
一実施形態は、圧縮シーケンスを、各々が絶対符号化テーブルに従って各文字を一意に表す絶対数によって表される最終的な順序付けされた文字シーケンスによって定義される文字列に逆圧縮するための逆圧縮器であって、前記圧縮シーケンスから、連続した数の少なくとも1つの符号化サブシーケンスを抽出するための抽出器と、相対符号化テーブルを使用して、前記符号化サブシーケンスを復号して、最終的な復号サブシーケンスにするための復号器と、残りの数を保持するための保持器と、各前記残りの数を、前記絶対符号化テーブルを使用して絶対数によって表される文字として逆圧縮シーケンス内にコピーするためのコピー器とを備える、逆圧縮器に関する。
【0030】
一実施形態の別の特徴によれば、抽出器および復号器は、最初の数を、前記絶対符号化テーブルに従って前記絶対数によって表される文字として前記最終的な復号サブシーケンスにコピーするための部分コピー器と、前記符号化サブシーケンスにおいて、前記最初の数に後続する、後続する数を前処理するための前処理器と、後続する数を前記相対符号化テーブルにおける相対的な変位として、変位が、符号化の終わりを示し、したがって前記符号化サブシーケンスの終わりを示す、前記相対符号化テーブル内の第2の特定の制御文字を指すまで復号するための部分復号器とをさらに備える。
【0031】
一実施形態の別の特徴によれば、部分復号器は、前記最初の文字である現在の文字によって開始するための開始器であって、現在の位置は前記相対符号化テーブル内の前記最初の文字の位置であり、現在の座標対は、前記符号化サブシーケンス内の第1の座標と第2の座標との第1の対である、開始器と、新たな位置が前記相対符号化テーブル内の第2の特定の制御文字を指すまで、新たな復号される文字を示す新たな位置を見つけるために、前記相対符号化テーブル内の現在の位置から、第1の座標と第2の座標との現在の対によって符号化されるものとして変位を適用するステップであって、第1の座標は、第1の所定の方向に沿った列の循環的カウントを示し、第2の座標は、第2の所定の方向に沿った行の循環的カウントを示す、適用するステップと、前記復号される最終的なサブシーケンス内の前記現在の文字の後に前記新たな復号される文字をコピーするステップと、現在の文字を前記新たな復号される文字に更新し、現在の位置を前記新たな位置に更新し、現在の座標対を、前記符号化サブシーケンス内の第1の座標と第2の座標との次の対に更新するステップとを反復するための反復器とをさらに備える。
【0032】
一実施形態の別の特徴によれば、前記第1の座標は第1の数字セット内で選択され、前記第2の座標は第2の数字セット内で選択され、前記第1の数字セットと前記第2の数字セットとの間で数は一切共有されず、前処理器は、前記後続する数を座標に分離するための分離器と、任意の第2の特定の座標の前に第1の特定の座標を挿入するための第1の挿入器と、任意の第1の特定の座標の前に第1の第2の特定の座標を挿入するための第2の挿入器と、任意の2つの連続する第2の座標の間に第1の特定の座標を挿入するための第3の挿入器と、任意の2つの連続する第1の座標の間に第2の特定の座標を挿入するための第4の挿入器とをさらに備える。
【0033】
一実施形態の別の特徴によれば、前記相対符号化テーブルは8×8行列であり、前記第1の座標は、左から右への列の循環的カウントに従って[0..7]の第1の範囲内で選択され、前記第2の座標は、上から下への、8を加えた行の循環的カウントに従って[8..F]の第2の範囲内で選択され、第1の特定の座標は、分離が無い(ゼロの)列に対応する第1の座標であり、第2の特定の座標は、分離が無い(ゼロの)行に対応する第2の座標である。
【0034】
本発明の他の特徴、詳細および利点は、添付の図面に対して以下に与えられる詳細な解説となる説明からより明らかとなる。
【図面の簡単な説明】
【0035】
図1】ASCII標準による絶対符号化テーブルを示す図である。
図2】絶対符号化され、一実施形態に従って符号化される文字列の一例を示す図である。
図3】元のシーケンスを第1のタイプのサブシーケンスと第2のタイプのサブシーケンスとに分割するステップを示す図である。
図4】相対符号化テーブルを示す図である。
図5】一実施形態による圧縮方法の流れ図である。
図6】一実施形態による圧縮器を示す図である。
図7】一実施形態による逆圧縮方法の流れ図である。
図8】一実施形態による逆圧縮器を示す図である。
【発明を実施するための形態】
【0036】
テキストは、文字4のシーケンス1として順序付けされている文字列である。文字4を数値的に表す一般的な方法は、各文字4が一意の絶対数5によって表される絶対符号化テーブル10を使用することによるものである。そのような絶対符号化テーブル10で最も有名なものの1つは、ASCII標準によって定義されるものである。ASCII絶対符号化テーブル10の前半部分を、図1に示す。第3の列において示されている文字4は、それぞれ第7の列において、第1の列において示されている絶対数によって表されており、それぞれ第5の列において、10進数で、第2の列に示されている同じ絶対数5によって表されており、それぞれ第6の列において16進数において表されている。一例として、文字「A」は、10進数の絶対数「065」によって、および、16進数の絶対数「41」によって表されている。
【0037】
そのようなASCII絶対符号化テーブル10において、各文字4は一般的に、一意の1バイト数5によって表され、したがって、そのようなASCII絶対符号化テーブルのサイズは256文字に制限される(テーブルの半分が図示されている)。順序付けされた文字4のシーケンス1であるテキストを数値的に表す一般的な方法は、対応する順序付けされた数字5のシーケンス2を提供することであり、各文字4は、同じ順序で、その絶対数5によって表される。図2を参照すると、例示的な文字列1:「“888” Orange voicemail: on 12/05/11 at 17h44 this correspondent has called one time without leaving a message.」が、前記ASCII絶対符号化テーブル10を使用して表されている。すべてのブロックの第1の行は文字列1を含み、各ブロックの第2の行は、対応して順序付けられている数字10のシーケンス2、すなわち、16進数のASCII符号を含む。
【0038】
そのような絶対符号化は効率的ではない場合があるため、圧縮方法を提案する。このとき、すべてのブロックの第2の行は圧縮されることになる元の順序付けされたシーケンス2を表し、すべてのブロックの第3の行は、前記元の順序付けされたシーケンス2から圧縮方法の一実施形態を通じて得られるものとしての、対応する圧縮シーケンス3である。
【0039】
前記圧縮方法は、前記絶対符号化テーブル10に加えて、相対符号化テーブル20を使用する。そのような相対符号化テーブル20の一例を、図4に提示する。前記圧縮方法は、いくつかのステップを含み得る。
【0040】
図3を参照すると、圧縮方法に入るときの元のシーケンス2が上部に図示されている。図3の下部には、前記圧縮方法によって出力されるものとしての圧縮シーケンス3が図示されている。
【0041】
圧縮方法の第1のステップによれば、前記元のシーケンス2はサブシーケンス7、8にパースされる。前記パースは、前記相対符号化テーブル20の内容に基づく。前記内容は、たとえば、絶対符号化テーブル10に含まれる256文字によって定義されるような、文字セット全体のうちの少なくともサブセットである、文字セットである。したがって、前記相対符号化テーブル20に含まれ、そのため前記絶対符号化テーブル10にも含まれることを特徴とする第1のタイプの文字を定義することができる。同様に、前記絶対符号化テーブル10に含まれるが、前記相対符号化テーブル20には含まれないものとして、第2のタイプの文字を定義することができる。たとえば、図1の例示的な絶対符号化テーブル10および図4の例示的な相対符号化テーブル20によれば、前記相対符号化テーブル20に存在する文字「A」−「Z」は第1のタイプの文字であり、一方で前記相対符号化テーブル20にない文字「0」−「9」は第2のタイプの文字である。
【0042】
したがって、第1のタイプのサブシーケンス7を、第1のタイプの連続した文字を含むものとして定義することができ、第2のタイプのサブシーケンス8を、任意のタイプの連続した文字を含むものとして定義することができる。したがって、第1のタイプの文字は第1のタイプまたは第2のタイプのサブシーケンスに見つけることができ、一方で、第2のタイプの文字は第2のタイプのサブシーケンスに見られる。
【0043】
図3を参照すると、例示的な文字列:「“888” Orange voicemail: on 12/05/11 at 17h44 this correspondent has called one time without leaving a message.」を、図4の相対符号化テーブル20に基づいて以下に分割され得る:
− 第1の第2タイプサブシーケンス8:「“888”」、
− 第1の第1タイプサブシーケンス7:「 Orange voicemail: on 」
− 第2の第2タイプサブシーケンス8a:「12/05/11 at 17h44」、および
− 第2の第1タイプサブシーケンス7a:「 this correspondent has called one time without leaving a message.」。
【0044】
「 at 」は、すべて前記相対符号化テーブル20内に存在する文字:スペース、「a」および「t」を含むため、サブシーケンス8aは、3つのサブシーケンス:第2のタイプの「12/05/11」、第1のタイプの「 at 」および第2のタイプの「17h44」にさらに分割されている。しかしながら、後に説明されるように、第1のタイプのサブシーケンス7の抽出は任意選択であってもよい。ここで、第1のタイプのサブシーケンス「at」は、後に詳述されるように、短すぎて抽出および符号化することが有益でない。
【0045】
より一般的に、すべての文字が絶対符号化テーブル10に関連する場合、抽出可能な第1のタイプのサブシーケンスがない場合があるため、第1のタイプのサブシーケンス7の抽出は、任意選択であり得る。そのような場合、前記パースするステップを通じて、元のシーケンス2に等しい1つの第2のタイプのサブシーケンスが得られ得る。
【0046】
以下から明らかになるように、第1のタイプのサブシーケンス7の符号化を通じて圧縮利得を得ることができるため、できうる最も長い第1のタイプのサブシーケンス7を抽出し、前記相対符号化テーブル20にない第2のタイプのサブシーケンス8の収容に第2のタイプの文字を使用することが有益である。
【0047】
それらのタイプに応じて、これら2つのタイプのそのようにして得られるサブシーケンスが処理される。各第1のタイプのサブシーケンス7は、後に詳述されるように、前記相対符号化テーブル20を使用して符号化され得る。第2のタイプのサブシーケンス8はそのまま保持される。言い換えると、第2のタイプのサブシーケンス8は前記絶対符号化テーブル10を使用して表されたままであり、各文字4は前記絶対符号化テーブル10からのその絶対表現数5によって表されている。そのため、第2のタイプのサブシーケンスは単純に、元のシーケンス2から圧縮シーケンス3へと順番にコピーされる。
【0048】
第1のタイプのサブシーケンス7は、第1のタイプの最終的な符号化サブシーケンス11に符号化される。第2のタイプのサブシーケンス8は、前記元の第2のタイプのサブシーケンス8と同一の第2のタイプの最終的なサブシーケンス12にコピーされる。この圧縮方法のこの結果は、図3に示されているように、前記第1のタイプの最終的なシーケンス11および第2のタイプの最終的なサブシーケンス12を順番に連結したものに等しい最終的な圧縮シーケンス3である。
【0049】
この圧縮方法の主な利点は、任意の第1のタイプのサブシーケンス7に適用される符号化ステップに由来する。そのような符号化ステップは、前記相対符号化テーブル20に基づき、いくつかの後続するステップを含む。これは図3に示されている。
【0050】
第1のタイプのサブシーケンス7の符号化を開始するために、第1の特定の制御文字13が、結果もたらされる対応する最終的なサブシーケンス11の始まりに加えられる。そのような第1の特定の制御文字13は、逆圧縮方法/復号ステップに対して、符号化の始まりを示すためにここに配置される。
【0051】
前記第1の特定の制御文字13は、任意に選択されてもよい。しかしながら、絶対符号化テーブル10において定義されているようないくつかの文字は、制御目的専用にされる。その符号が「00」から「1F」までである文字4が制御文字である。それらの多くはすでに特別な目的を有し、好適な候補にはならない。文字DC2(「12」と符号化される)は今日では頻繁に使用されないため、1つの可能な候補である。本明細書における例は、符号化の始まりを意味する第1の特定の制御文字13として前記DC2文字を使用する。
【0052】
その後、符号化されることになるサブシーケンス7の第1の文字14が絶対符号化される。これは、前記最初の文字14が、前記絶対符号化テーブル10からのその元の絶対表現数5によって表されることを意味する。前記最初の文字14は、本明細書においてはキーコード14とも称される。これは、符号化されることになるサブシーケンス7の第1の数が、前記第1の特定の制御文字13の後の第2の位置において、最終的な符号化サブシーケンス11にコピーされることを意味する。
【0053】
その後、前記サブシーケンス7内の前記第1の文字14に後続する各文字4が、前記相対符号化テーブル20における、前記符号化されることになる文字に先行する文字と前記文字との間の変位を符号化することによって相対符号化される。これは、最終的な符号化サブシーケンス11が、最初に第1の特定の制御文字13を含み、次に第1の文字/キーコード14を含み、次に、前記相対符号化テーブル20における、前記第1の文字14と前記第1の文字14の直後の第2の文字との間の変位を示す移動数15を含み、次に、前記第2の文字と前記第2の文字の直後の第3の文字との間の変位を示す移動数15を含み、前記元のサブシーケンス7の最後の文字までこれが続く。これは重要なステップであるため、変位の相対符号化は後に詳述する。
【0054】
符号化は前記最後の文字の後に終了する。前記第1のタイプのサブシーケンス7の符号化の終わりは、最終的な符号化サブシーケンス11において、最後の文字の後の、符号化の終わりを示す、前記相対符号化テーブル20における第2の特定の制御文字16に向けての変位を符号化する追加の移動数15によって示される。
【0055】
ここで、例示的な文字列および図2に戻る。「“888”」を含む文字列の始まりは、前記相対符号化テーブル20にない5文字を含む。結果として、それらは、元のシーケンス2と圧縮シーケンス3の両方において{22,38,38,38,22}と符号化される第2のタイプのサブシーケンス、すなわちサブシーケンス8を形成する。その後、第1のタイプのサブシーケンス7「 Orange voicemail: on 」が始まる。前記元のサブシーケンスは最初に、{20,4F,72,61,6E,67,65,20,76,6F,69,63,65,6D,61,69,6C,3A,20,6F,6E,20}と符号化される。これはその後、符号化ステップを通じて、順番に、第1の特定の制御文字13、すなわち、薄い灰色で図示されている、その符号が「12」であるDC2と、その後の、その符号が「20」である「スペース」である、元のサブシーケンス7の第1の文字14の表現数5とを含む、最終的なサブシーケンス11になる。その後に、順番に、ある文字と次の文字との間の各変位を符号化する移動数15が続く。元のサブシーケンス7は22文字を含むため、それらは符号化するための21個の変位である。それらは、移動数15のシーケンス{41,C5,47,94,F7,C5,E7,E7,49,2F,A1,E1,69,70,B4,C2,2C}によって符号化され、ここでこれは、本方法によってもたらされる有利な低減に起因して17バイトを含む。最終的なサブシーケンス11は、最後の移動数15、ここでは「0C」で終わり、これは、前記相対符号化テーブル20における、最後の文字、ここでは「 」(スペース)と第2の特定の制御文字16との間の変位に対応する。後に詳述されるように、前記移動数「0C」は、先行する「0」を省略することによって「C」になっている。その後、半バイトの奇数を提示するために「0」フィラーがその後に加えられている。これによって、図2においては濃い灰色で図示されている「C0」数がもたらされる。次の数{31,32,2F,...}は、第2のタイプのサブシーケンス8aに関連する次の文字「12/...」を表す絶対数5であり、したがって絶対的に表現される。
【0056】
図3に示されているように、圧縮方法の安全を確保するために、チェックサム18、19を加えることが可能である。そのようなチェックサム18は、前記元のシーケンス2から計算される。その後、前記チェックサム18のコピー19が送信前に圧縮シーケンス3に、たとえば、前記圧縮シーケンスの終わりに付加される。これによって、受信者が、2つの冗長なデータ、すなわち、圧縮シーケンス3と前記チェックサム19とを比較することによって検査することが可能になる。前記比較の肯定的な結果は、正確に圧縮および送信されていることを示し、一方で、否定的な結果は、圧縮方法/符号化ステップまたは送信のいずれかに誤りがあることを示す。
【0057】
前記チェックサム18を計算する可能な方法は、たとえば、元のシーケンス2の文字4のすべての絶対数5を合計することである。文字列内の文字の数は256未満のままである一方、前記合計は65536未満のままであり、2バイトで書くことができる。より大きい文字列について、チェックサムを2バイトのままにするために、前記文字列を256バイトの部分列にカットするか、または、投影チェックサムアルゴリズムを使用して、たとえば、任意の繰り上げを無視することが可能である。
【0058】
ここで、相対符号化テーブル20を使用した変位の符号化を説明する。変位21は、前記元のシーケンス2内の2つの後続する文字の間で定義され、先行する文字22および後続する文字23を定義し得る。前記文字は第1のタイプのサブシーケンス7に関連するため、それらは両方とも前記相対符号化テーブル20内に存在する。
【0059】
原則は、前記相対符号化テーブル20において、前記先行する文字22から前記後続する文字23への変位21を考えることである。前記変位21を考えるとき、これは、水平変位と垂直変位とに分解され得る。したがって、前記変位21を定義するために第1の座標および第2の座標を求めることが可能である。相対符号化テーブル20が矩形行列であるとき、第1の座標は、第1の所定の方向に沿った、前記後続する文字23から前記先行する文字22を分離する列の循環的カウントとされ得、第2の座標は、第2の所定の方向に沿った、前記後続する文字23から前記先行する文字22を分離する行の循環的カウントとされ得る。行/列または列/行の順序は任意に選択され、さらには、圧縮方法と逆圧縮方法との間で一致される限り、変位21ごとに変更されてもよい。
【0060】
すべての変位21について、カウント方向が同じであることが有利である。列は、左から右または右から左にカウントされ得る。行は、上から下または下から上にカウントされ得る。これは一定であってもよく、または、圧縮方法と逆圧縮方法との間で一致される限り、変位21ごとに変更されてもよい。本明細書の残りの部分において、列カウント方向は左から右であり、行カウント方向は上から下であると仮定する。
【0061】
前記列カウントは0と列の最大数−1との間に含まれ、前記行カウントはそれぞれ0と行の最大数−1との間に含まれるように丸められるという点において、それらはそれぞれ循環的である。
【0062】
前記求められた第1の座標および第2の座標はその後変位の順に、移動数15に連結されて圧縮シーケンス3に入る。
【0063】
例示的な相対符号化テーブル20を有する図4を参照すると、先行する文字22「F」と後続する文字「g」との間の変位21が詳述されている。「F」は列3にあり、「g」は列5にあり、このとき、左から右への方向に沿った「F」から「g」への変位21を特徴づける列の数は2である。その結果、前記変位21の第1の座標は2である。「F」は行2にあり、「g」は行5にあり、このとき、上から下への方向に沿った「F」から「g」への変位21を特徴づける行の数は3である。その結果、前記変位21の第2の座標は3である。したがって、前記変位21の移動数15は(2,3)または「23」と符号化され得る。
【0064】
ここで、文字「g」と文字「s」24との間の変位を考える。列は左から右へとカウントされるため、「s」から「g」を分離する列の数は5である。ここで、循環的カウントは、列が循環的に考えられ、列0が再び列7の右に配置されることを意味する。「s」から「g」を分離する上から下への行のカウントによって、これらは両方とも同じ行にあるため0のカウントまたは8のカウントがもたらされ、8のカウントは、0と8−1=7との間に含まれたままになるように、すなわち、行の最大数、ここでは8を法として0に丸められる。
【0065】
別の発明的特徴によれば、前記第1の座標は、第1の数字セット内で選択され、前記第2の座標は第2の数字セット内で選択される。前記第1の数字セットと前記第2の数字セットとの間で数は一切共有されない。そのような特徴によって、有利には、座標を見て、それが第1の座標であるか、または第2の座標であるかを直ちに知ることができる。
【0066】
結果として、それぞれの第1の座標および第2の座標の相対的な順序付けが知られているため、そのような特徴によって、圧縮シーケンス3において、前記第1のセットの中からの1つの第1の特定の座標、および、前記第2のセットの中からの1つの第2の特定の座標を省略することができる。第1の座標および第2の座標の相対的な順序付けが知られていることに起因して、そのような省略は復号中に容易に検出され得、前記省略された座標を前記対応する第1の特定の座標または第2の特定の座標に置き換えることによって補正され得る。
【0067】
前記省略は、送信すべきバイト量が低減されるという観点から、本圧縮方法/符号化ステップから期待され得る利点の基礎である。
【0068】
しかしながら、前記省略を適用する場合には例外がある。2つのそのような特定の座標が直に続く場合、復号中に少なくとも1つの文字を失う危険性があるため、両方とも省略することはできない。そのような場合、2つの続く座標のうちの第2の特定の座標は省略されず、代わりに、圧縮シーケンス3内に保持される。それが存在することによって、逆圧縮方法/復号ステップがすべての元々存在していた文字を取り戻すことが可能になる。
【0069】
前記相対符号化テーブル20の使用を最大化するために、すなわち、所与の元のシーケンス2からほとんどのまたは最も長い第1のタイプのサブシーケンス7を抽出するために、前記相対符号化テーブル20は、圧縮されることになるテキスト文字列において予測されるものとしての、最も頻度の高い文字をデータ投入されることが有利である。
【0070】
所与のサイズNの相対符号化テーブル20について、前記符号化テーブル20内の1つの場所はEoC16に確保され得、すべての他のN−1個の場所が利用可能であり、絶対符号化テーブル10によって定義されるような完全な文字セットからのN−1個の最も頻度の高い文字を受け入れるために選択され得る。
【0071】
文字の相対頻度は、圧縮されると予測されるテキスト文字列から統計的に推定される。したがって、前記文字列に使用されている所与の言語について、頻度分析が適用され得る。
【0072】
図4の例示的な相対符号化テーブル20は、8×8正方行列である。したがって、これは64個の場所を含む。1つの場所はEoC16に確保される。63個の残りの場所が、英語の63個の最も頻度の高い文字を、左から右へ、かつ上から下へとデータ投入される。
【0073】
前記相対符号化テーブル20の使用を最大化するために、すなわち、所与の元のシーケンス2からほとんどの最も長い第1のタイプのサブシーケンス7を抽出するために、絶対符号化テーブル10によって示されるものとしての完全な文字セットからの可能な限り多くの文字を含む大きい相対符号化テーブル20を有することが有利である。
【0074】
一実施形態によれば、前記相対符号化テーブル20は、絶対符号化テーブル10によって示されるものとしての完全な文字セットからのすべての文字を含んでもよい。絶対ASCII符号化テーブル10の場合、これによって256文字がもたらされ、したがって、たとえば、16×16行列の相対符号化テーブル20がもたらされる。この広範囲の符号化から得られる利点は、いかなる元のシーケンス2も第1のタイプのサブシーケンス7であり、符号化され得るという事実に起因して、変位、および座標を符号化するのに必要とされるサイズによって低減される。そのような16×16相対符号化テーブルについて、各座標は16個のシンボルの中から選択され、したがって、符号化のオーバーヘッドが増大することになる。
【0075】
したがって、前記相対符号化テーブル20のサイズを低減し、したがって関連付けられる変位座標のサイズを低減し、最も頻繁に使用される文字から構成される第1のタイプのサブシーケンス7に符号化の的を絞ることが好ましい場合がある。
【0076】
好ましい実施形態によれば、前記相対符号化テーブルは8x8正方行列である。これによって、8個のシンボルを使用することによって、それぞれ第1の座標、第2の座標を符号化することが可能になる。
【0077】
特定の有利な実施形態において、第1の座標は、列の循環的カウントに従って[0..7]の第1の範囲内で選択される。そのため、「0」の座標は先行する文字22と、同じ列上の後続する文字との間の変位21を示し、「1」の座標は、先行する文字22と直後の列上の後続する文字との間の変位21を示す、などである。前記列カウントは、たとえば、左から右へと行われる。
【0078】
前記実施形態において、第2の座標は、8を加えられた行の循環的カウントに従って[8..F]の第2の範囲内で選択される。前記のように8を加えることによって、各座標の意味を保持しながら、第1の座標と第2の座標との間でいかなる座標も共通出ないようにすることが可能である。そのため、「8」(0を意味する)の座標は先行する文字22と、同じ列上の後続する文字との間の変位21を示し、「9」(1を意味する)の座標は、先行する文字22と直後の行上の後続する文字との間の変位21を示し、「A」(2を意味する)の座標は、2つの行の先行する文字22と後続する文字との間の変位21を示す、などである。前記行カウントは、たとえば、上から下へと行われる。
【0079】
前記相対符号化テーブル20のサイズが小さいこと、および座標の値の選択に起因して、任意の座標は半バイトで表現されてもよく、第1の座標および第2の座標を含む移動数15は1バイトで表現されてもよい。
【0080】
加えて、使用されるシンボルが異なるため、座標は、それが第1の座標であるか、または第2の座標であるかを明示的に示す。「D」座標は5のカウントを示し、また、この座標が行/第2の座標に関係することも示す。「3」座標は3のカウントを示し、また、この座標が列/第1の座標に関係することも示す。
【0081】
これによって、第1の座標{0,1,2,3,4,5,6,7}の中から1つの第1の特定の座標を省略し、第2の座標のセット{8,9,A,B,C,D,E,F}の中から1つの第2の特定の座標を省略することが可能になる。
【0082】
圧縮の利点の基礎である前記省略は、正規分布を仮定する場合、少なくとも、座標の総数の中から1つの座標について、すなわち、ここでは1/8について期待され得る。前記相対符号化テーブル20内の文字の配置の可能な最適化は、さらには、前記省略された第1の特定の座標および前記第2の特定の座標の座標を使用して統計的により多くの変位を有することによって、圧縮の利点を増大することができる。
【0083】
それぞれ前記省略された第1の特定の座標、第2の特定の座標は、圧縮方法/符号化ステップと逆圧縮方法/復号ステップとの間で一致される限り、任意に選択されてもよい。中でも1つの可能な選択は、分離が無い(ゼロの)列に対応する第1の座標を省略すること、および、分離が無い(ゼロの)行に対応する第2の座標を省略することである。
【0084】
結果として、一実施形態において、第1の特定の座標は「0」であり、第2の特定の座標は「8」である。これは、元のシーケンス2内で連続して続く文字が、前記相対符号化テーブル20の同じ列または同じ行のいずれかに位置するときに圧縮の利点を期待され得ることを意味する。たとえば、所与の言語について、文字列内で統計的に頻度の高い後続する文字を、前記相対符号化テーブル20の同じ列または行に配置することによって、相対符号化テーブル20を最適化され得る。
【0085】
例に戻って、第1のタイプのサブシーケンス7「 Orange voicemail: on 」における変位の符号化は、図2を参照すると、図4の相対符号化テーブル20を使用して以下の方法で実現される。
【0086】
第1の文字「 」(「スペース」)14は、その絶対表現数「20」によって絶対的に表される。前記第1の文字14はまた、前記相対符号化テーブル20における、第1の行、第1の列上の第1の位置も定義する。
【0087】
その直後の文字は「O」である。このとき、第1の変位は「スペース」から「O」までである。「O」は前記相対符号化テーブル20において第1の行、第4の列に位置するため、このとき、変位は、4列の水平変位および0行の垂直変位によって符号化され得る。これによって、第1の座標または4および8(0+8)の第2の座標がもたらされる。
【0088】
後続する文字は「r」である。このとき、第2の変位は「O」から「r」までである。「r」は前記相対符号化テーブル20において第6の行、第5の列に位置するため、このとき、変位は、1列の水平変位および4行の垂直変位によって符号化され得る。これによって、第1の座標または1およびC(4+8)の第2の座標がもたらされる。
【0089】
後続する文字は「a」である。このとき、第3の変位は「r」から「a」までである。「a」は前記相対符号化テーブル20において第5の行、第3の列に位置するため、このとき、変位は、5列の水平変位および0行の垂直変位によって符号化され得る。これによって、第1の座標の5および第2の座標の8がもたらされる。
【0090】
後続する文字は「n」である。このとき、第4の変位は「a」から「n」までである。「n」は前記相対符号化テーブル20において第5の行、第7の列に位置するため、このとき、変位は、4列の水平変位および0行の垂直変位によって符号化され得る。これによって、第1の座標の4および第2の座標の8がもたらされる。
【0091】
後続する文字は「g」である。このとき、第5の変位は「n」から「g」までである。「g」は前記相対符号化テーブル20において第6の行、第6の列に位置するため、このとき、変位は、7の水平変位および1の垂直変位によって符号化され得る。これによって、第1の座標の7および第2の座標の9(1+8)がもたらされる。
【0092】
後続する文字は「e」である。このとき、第6の変位は「g」から「e」までである。「e」は前記相対符号化テーブル20において第5の行、第2の列に位置するため、このとき、変位は、4列の水平変位および7行の垂直変位によって符号化され得る。これによって、第1の座標の4および第2の座標のF(7+8)がもたらされる。
【0093】
後続する文字は「スペース」であり、7およびCの座標がもたらされる。
【0094】
後続する文字は「v」であり、5およびEの座標がもたらされる。
【0095】
後続する文字は「o」であり、7およびEの座標がもたらされる。
【0096】
後続する文字は「i」であり、7および0の座標がもたらされる。
【0097】
後続する文字は「c」であり、4および9の座標がもたらされる。
【0098】
後続する文字は「e」であり、2およびFの座標がもたらされる。
【0099】
後続する文字は「m」であり、0およびAの座標がもたらされる。
【0100】
後続する文字は「a」であり、1およびEの座標がもたらされる。
【0101】
後続する文字は「i」であり、1および8の座標がもたらされる。
【0102】
後続する文字は「l」であり、6および9の座標がもたらされる。
【0103】
後続する文字は「:」であり、7および8の座標がもたらされる。
【0104】
後続する文字は「スペース」であり、0およびBの座標がもたらされる。
【0105】
後続する文字は「o」であり、4およびCの座標がもたらされる。
【0106】
後続する文字は「n」であり、2および8の座標がもたらされる。
【0107】
後続する文字は「スペース」であり、2およびCの座標がもたらされる。
【0108】
前記「スペース」が、サブシーケンス7の最後の文字である。したがって、最後の変位は、ここでは第1の列、第5の行に位置するEoC16に向けて符号化される。このとき、最後の変位は最後の文字「スペース」から「EoC」までである。このとき、この変位は、0列の水平変位および4行の垂直変位によって符号化され得る。これによって、第1の座標の0および第2の座標のCがもたらされる。
【0109】
すべての座標を、第1の座標の次に第2の座標をおく可能な相対的な順序に従い、元のサブシーケンス7における文字の順序に従って順番に連結することによって、以下のようになる:
【0110】
【数1】
【0111】
0は第1の特定の座標として選択されており、8は第2の特定の座標として選択されているため、それらの両方が連続している場合を除き、それらは符号化サブシーケンスから省略され得る。ボックスによって示されている、8の直後に0を見つけることができる場合が1回発生している。この場合、後続する0が保持される。これによって、以下のようになる:
【0112】
【数2】
【0113】
これは以下のように単純化される:
【0114】
【数3】
【0115】
前記単純化が、圧縮の利点の主な要因である。前記数字シーケンスはその後、図2に見られるように、対応する符号化サブシーケンス11に順番にコピーされる。
【0116】
特定の座標、ここでは0および8の省略によって、この例におけるように、残りの座標の数が偶数でない場合があることが留意され得る。各座標は半バイトを占有するため、これによって、最後のバイトが不完全になり得る。前記制約に適合するために、任意の不完全な最後のバイトが半バイトのフィラー17によって完結され得る。ここではイタリック体にされている前記フィラー17は、たとえば、図2に示されているようにゼロを充填され得る。
【0117】
文字列の内容に応じて、本圧縮方法/符号化ステップは、圧縮シーケンス3が元のシーケンス2よりも短いという点において有利であり得る。
【0118】
前述の説明から容易に導かれ得るように、第2のタイプのサブシーケンス8は、元のシーケンス2から圧縮シーケンス3へと同一にコピーされるため、何ら圧縮の利点をもたらさない。第1のタイプのサブシーケンス7について、圧縮の利点は、前記サブシーケンス7の内容に応じて決まる。圧縮の利点は明らかに、加わるオーバーヘッドと比較した、省略される特定の座標の数からもたらされる。2つという少ない省略が操作され得る場合、第1のタイプのサブシーケンス7は、より長い符号化サブシーケンス11に符号化される場合さえある。
【0119】
一実施形態を参照すると、前記オーバーヘッドは第1の特定の制御文字13(1バイト)およびEoC16に向けての変位(最大1バイト)を含むため、最大2バイトを含み得る。特定の座標の各省略によって半バイトの利得がもたらされる。5以上の省略が所与の第1のタイプのサブシーケンス7に適用され得る場合、本圧縮方法は有益なものになる。チェックサム18、19を挿入することによって、さらに2バイトが加わる。そのため、第1のタイプのサブシーケンス7がそれぞれ4未満、8未満(チェックサムを使用する場合)の省略をもたらすと考えられる場合、その符号化は最適なものにならない場合がある。そのような文字列は有利には、第2のタイプのサブシーケンスとしてより良好に扱われる場合がある。
【0120】
したがって、一実施形態によれば、圧縮方法は、以下のステップを加えることによってこのように最適化され得る。パースするステップから得られる各第1のタイプのサブシーケンス7について、符号化ステップを通じて取得されることになる符号化サブシーケンス11が、元のサブシーケンス7の長さ以上の長さを有する場合、前記第1のタイプのサブシーケンス7は第2のタイプのサブシーケンスとして扱われ、すなわち、符号化されない。
【0121】
図2の例に戻って、これは上述したサブシーケンス「 at 」の場合に当たり、これは第1のタイプのサブシーケンスとは考えられず、したがって、符号化ステップを通じて処理されない代わりに、含んでいる第2のタイプのサブシーケンス8の一部として保持される。
【0122】
圧縮方法および符号化ステップは広く説明されている。本開示はまた、対応する逆圧縮方法にも関する。
【0123】
前記逆圧縮方法は、順序付けされた数字シーケンスである圧縮シーケンス3を受け取り、前記元のシーケンス2と同一の最終的な順序付けされたシーケンスの形態の最終的なテキスト文字列を提供し戻すために、これを逆圧縮する役割を担う。
【0124】
前記逆圧縮方法は、圧縮方法によって使用されるものと同じ矩形行列の相対符号化テーブル20を使用する。前記逆圧縮方法は、以下のステップを含む。
【0125】
最初に、逆圧縮方法は、前記圧縮シーケンス3を、第1のタイプのサブシーケンス7を符号化することに由来する第1のタイプの符号化サブシーケンス11と、第2のタイプのサブシーケンス8をコピーすることに由来する第2のタイプのサブシーケンス12とにパースすることを含む。これは、存在する場合、前記圧縮シーケンス3から、すべての存在する符号化サブシーケンス11を抽出することによって行われ得る。
【0126】
前記抽出後の前記圧縮シーケンス3内の残りの数は保持される。それらの数は連続している場合、集められて、第2のタイプのサブシーケンス12になり得る。そのような各第2のタイプのサブシーケンス12は、元の第2のタイプのサブシーケンス8と同一の最終的な第2のタイプのサブシーケンスにそのままコピーされる。
【0127】
そのように抽出された各第1のタイプの符号化サブシーケンス11は、前記相対符号化テーブル20を使用して、復号ステップを通じて処理されて、前記元の第1のタイプのサブシーケンス7と同一の最終的な第1のタイプの復号サブシーケンスになり得る。
【0128】
抽出プロセスは、いくつかのステップを含み得る。符号化方式に起因して、第1のタイプの符号化サブシーケンス11は、抽出する目的で、第1の特定の制御文字13であるその最初の数によって検出され得る。圧縮シーケンス3内に見られる任意のそのような第1の特定の制御文字13は、前記第1の特定の制御文字13の後に始まる、1つの第1のタイプの符号化サブシーケンス11の存在を示す。前記第1の特定の制御文字13は、見つかると廃棄され、最終的な逆圧縮シーケンスにはコピーされない。
【0129】
その後、変位による相対符号化に起因して、前記第1の特定の制御文字13から始まる第1のタイプの符号化サブシーケンス11は、その終わりを見つけ、したがってその抽出を終了させることを可能にするために復号される。
【0130】
前記第1の特定の制御文字13の直後の最初の数14は、前記絶対符号化テーブル10に従って、キーコード14とも名付けられる最初の文字14、すなわち、前記最終的な第1のタイプの復号サブシーケンスの最初の文字を表す絶対数5を表す。したがって、前記最初の文字14は、前記最終的な第1のタイプの復号サブシーケンスの最初の復号文字として最終的な逆圧縮シーケンスにコピーされる。
【0131】
残りの後続する数は、相対変位を符号化する移動数15と考えられる。それらは、前記相対符号化テーブル20を使用して復号され得る。
【0132】
第1のタイプの符号化サブシーケンス11の終わりは一般的に事前に知ることができないため、圧縮シーケンス3全体は、その終わりまで、または、前記圧縮シーケンス3内で別の第1の特定の制御文字13が見つかるまで、復号ステップを通じて処理または前処理され得る。
【0133】
前記復号ステップは、変位が前記相対符号化テーブル20内の第2の特定の制御文字EoC16を指すと終了し得る。これは、符号化の終わりを示し、したがって、この事象から抽出され得る前記第1のタイプの符号化サブシーケンス11の終わりを示し、これによって、その始まりおよび終わりが分かる。
【0134】
復号ステップは、符号化ステップ中に適用されるものに対応する逆の処理によって進行する。前記キーコード14に後続する数は、連続する変位を符号化する移動数15と考えられ、相対符号化テーブル20内の各変位が、最終的な復号サブシーケンスの文字4を定義する。
【0135】
各移動数15は、第1の座標および第2の座標を含む。復号ステップは、そのような各移動数15に対して、以下のステップを反復する。
【0136】
復号ステップは、現在の文字、前記相対符号化テーブル20内の前記現在の文字の位置である現在の位置、ならびに、第1の座標および第2の座標を含む現在の移動数15を定義する。最初に、前記キーコード14または最初の文字14に等しい第1の現在の文字がとられ、前記相対符号化テーブル20内の前記キーコード文字14の位置に等しい第1の現在の位置がとられ、第1の移動数15は、前記最初の文字14に後続する第1の数である、符号化サブシーケンス11から見つかる/抽出される第1の移動数である。
【0137】
復号ステップはその後、新たな復号文字を示す新たな位置を見つけるために、前記相対符号化テーブル20内の現在の位置から、第1の座標と第2の座標との現在の対として符号化されているものとしての変位を適用し、ここで、第1の座標は第1の所定の方向に沿った列の循環的カウントを示し、第2の座標は第2の所定の方向に沿った行の循環的カウントを示す。前記新たな復号文字は、最後の復号文字の後に最終的な逆圧縮シーケンスにコピーされる。
【0138】
ここで、符号化ステップにおいては、ある文字に向けての変位21は2つの座標を定義し、一方で、復号ステップにおいては、2つの座標がある文字に行き着く変位21を定義するという点を除いて、変位は対応する符号化ステップと同じように適用されることが留意され得る。第1の所定の方向および第2の所定の方向は、符号化ステップと同じである。
【0139】
そのように見つけられた復号文字はその後、第1のタイプの最終的な復号サブシーケンス内の最後の復号文字の後に付加される。
【0140】
前記新たな復号が前記相対符号化テーブル20内のEoC16文字/位置である場合、復号ステップは終了する。前記最後の変位/EoC文字は、第1のタイプの最終的な復号サブシーケンス/最終的な逆圧縮シーケンスには見られるという点において、廃棄される。
【0141】
前記新たに復号される文字がEoC16でないとき、現在の文字は前記新たに復号される文字に更新され、現在の位置は、前記新たに復号される文字の対応する新たな位置に更新され、現在の移動数15は、次の移動数15、および、前記符号化サブシーケンス11内で見つかる第1の座標と第2の座標との次の対に更新される。その後、前記新たな現在の文字、現在の位置および現在の座標を用いてプロセスが反復される。
【0142】
そのようなプロセスは、その後、前記符号化サブシーケンス11内に符号化されているすべての文字を反復して取り戻すことを可能にする。
【0143】
符号化方式によれば、第1の座標が第1の数字セット内で選択され、前記第2の座標が第2の数字セット内で選択されており、前記2つのセットの間に共通する数が一切ない場合で、かつ、特定の第1の座標および/または特定の第2の座標が省略されている場合、キーコード16の後の第1のタイプの符号化サブシーケンス11内に見つかる数字シーケンスを移動数15のシーケンスに変換するための前処理ステップが実施され得る。前記前処理の目的は、前記省略されている特定の第1の座標および/または第2の座標を再導入し戻すことである。
【0144】
前記前処理ステップは、以下のステップに分解され得る。最初に、前記キーコード16に後続する前記符号化サブシーケンス11の数字のシーケンスが座標に分離される。第1の座標と第2の座標とは同じ数字セット内で選択されていないため、座標を表す数は、それが第1の座標であるか、または第2の座標であるかを直ちに示す。
【0145】
特定の座標は、2つの特定の座標が続いていた場合を除いて、通常は符号化ステップ中に省略されている。そのため、前記符号化サブシーケンス11内に見つかる任意の特定の座標は、そのような対の構成を示す。省略のない完全な符号化サブシーケンス7を復元し戻すために、第1の特定の座標が符号化サブシーケンス11内に見つかるときはいつでも、第2の特定の座標が前記第1の特定の座標の前に挿入される。同様に、第2の特定の座標が符号化サブシーケンス11内に見つかるときはいつでも、第1の特定の座標が前記第2の特定の座標の前に挿入される。
【0146】
複数の続いている特定の座標を復元するこれらの2つのステップは、2つの次のステップの前に適用されることが有利である。
【0147】
第1の座標および/または第2の座標は、符号化ステップ中に省略が適用される前に所与の順序に従って配置されているため、その省略に起因して任意の座標がどこで失われているかを判定することが可能である。
【0148】
たとえば、符号化するときに第1の座標および第2の座標が交互になっている一般的な順序に従っている場合、前記符号化サブシーケンス11内で2つの第1の座標が連続して続いているとき、これは、これら2つの間で第2の座標が失われていることを示す。前記失われている第2の座標はこのとき、間に再挿入され得る特定の第2の座標であると判定され得る。
【0149】
そのため、それらの数によって示されるものとして、2つの連続した第2の座標が見つかるときはいつでも、第1の特定の座標がそれらの間に挿入される。同様に、それらの数によって示されるものとして、2つの連続した第1の座標が見つかるときはいつでも、第2の特定の座標がそれらの間に挿入される。
【0150】
いずれにせよ、相対符号化テーブル20、第1の座標および第2の座標に対する数字セットの選択、第1のカウント方向および第2のカウント方向、第1の特定の座標および第2の特定の座標は、圧縮方法/符号化ステップと逆圧縮方法/復号ステップとの間で共有される。
【0151】
この実施形態によれば、相対符号化テーブル20は、符号化ステップによって使用されるものと同じ8×8正方行列であり、前記第1の座標は、左から右への列の循環的カウントに従って[0..7]の第1の範囲内で選択され、前記第2の座標は、上から下への、8を加えた行の循環的カウントに従って[8..F]の第2の範囲内で選択され、第1の特定の座標は0であり、第2の特定の座標は8である。
【0152】
図2の例示的な圧縮シーケンスに戻って、逆圧縮を例示する。圧縮シーケンス3の最初の5つの数{22,38,38,38,22}は、「12」(DC2)が存在しないため、第1の制御文字13を含まない。したがって、これは絶対符号化テーブル10に従ってASCIIにおいてすでに符号化されている第2のタイプのサブシーケンス12である。
【0153】
第6の数は「12」(DC2)であり、したがって、第1のタイプの符号化サブシーケンス11の始まりを示す。次の数は「20」である。これはキーコード14であるため、絶対符号化テーブル10を使用して、「 」(または「スペース」)文字として絶対的に解釈される。
【0154】
連続した変位を符号化している数を含む後続のシーケンスは、{41,C5,47,94,F7,C5,E7,E7,49,2F,A1,E1,69,70,B4,C2,2C,C0,31,32,2F,30,...}である。
【0155】
最初に、復号ステップはそれらをここでは半バイトの座標に分離して、{4,1,C,5,4,7,9,4,F,7,C,5,E,7,E,7,4,9,2,F,A,1,E,1,6,9,7,0,B,4,C,2,2,C,C,0,3,1,3,2,2,F,3,0,...}をもたらす。
【0156】
その後、復号ステップは、特定の第1の座標、すなわち「0」、または特定の第2の座標、すなわち「8」を探索する。3つの「0」が存在し、それらの各々の前に「8」が挿入される。「8」は存在しない。これによって、{4,1,C,5,4,7,9,4,F,7,C,5,E,7,E,7,4,9,2,F,A,1,E,1,6,9,7,8,0,B,4,C,2,2,C,C,8,0,3,1,3,2,2,F,3,8,0,...}がもたらされる。
【0157】
その後、復号ステップは、任意の連続する座標が同じタイプのものであるか否かを調べる。たとえば、2つの第1の座標がこれに当たる。「4」は第1の座標であり、「1」も第1の座標である。これは、特定の第2の座標「8」がそれらの間で失われていることを示す。同様に、4番目の座標「5」と6番目の座標「4」は両方とも第1の座標である。それらの間に「8」が挿入される。同様に、「F」に後続する「A」が見出され得る。それらは両方とも第2の座標であるため、それらの間に失われた「0」が挿入される。これらの発生したことをすべて考慮すると、これによって、{48,1C,58,48,79,4F,7C,5E,7E,78,49,2F,0A,1E,18,69,78,0B,4C,28,2C,0C,08,08,38,18,38,28,2F,38,0,...}がもたらされ、これは、第1の座標と第2の座標が規則正しく交互になっていることを表す。その後、各バイト/数が、第1の座標および第2の座標を含む各移動数15として解釈され得る。
【0158】
キーコード14は「スペース」文字であるため、前記相対符号化テーブル20における第1の位置は、第1の行、第1の列上である。この位置から、「48」である第1の移動数15によって定義される変位が適用される。前記変位は、左から右へ4列、および、上から下へ8または0行によって定義され、したがって、文字「O」を示す。
【0159】
前記第2の文字「O」の第2の位置から開始して、第2の移動数15は、左から右へ1列、および、上から下へCまたは4行の変位を定義する「1C」であり、したがって、文字「r」を示す。
【0160】
同じプロセスが反復して適用され、順番に他の文字「ange voicemail: on 」をもたらす。最後の「スペース」文字に、「0C」に等しい移動数15が後続する。同じ(0)列およびCまたは4行の前記変位はEoC16の位置を指し、したがって、第1のタイプのサブシーケンスの終わりを示し、前記「スペース」文字が最後の文字であったことを示す。
【0161】
前記「0C」数に後続し、最初は連続する変位を符号化する数に対して誤っていた残りの数{08,08,38,18,38,28,2F,38,0,...}から、第1の「0」はフィラー17として識別され得、無視され得る。他の数、または、代わりに「0」および「8」を再導入する前の初めの形式のそれらの対応する数{31,32,2F,30,...}は、今後、第2のタイプのサブシーケンス12に関連するものと考えられ得る。それらは、新たな第1のタイプの符号化サブシーケンス11aの始まりを示し、したがってまた、前記第2のタイプのサブシーケンス12の終わりも示す新たな第1の制御文字13が見つかるまで、「12/0...」として逆圧縮/コピーされ得る。
【0162】
図5は、圧縮方法30の可能な実施形態を示す。前記圧縮方法30は、パースするステップ31によって開始する。次に符号化ステップ33が行われて、コピーするステップ40が後続する。圧縮方法30は、任意選択的にチェックサムステップ41を挿入することによって終了してもよい。
【0163】
任意選択のチェックするステップ32は、パースするステップ31と符号化ステップ33との間に挿入されてもよい。
【0164】
符号化ステップ33は、最初の文字を符号化するステップ34と、各後続する文字を符号化するステップ35と、符号化を終了するステップ39とにさらに分割される。
【0165】
各後続する文字を符号化するステップ35は、第1の座標を求めるステップ36と、第2の座標を求めるステップ37と、連結するステップ38とにさらに分割される。
【0166】
本開示はまた、圧縮方法の上述した実施形態のいずれか1つに従って、テキスト文字列を圧縮して圧縮シーケンス3にするための手段を備える圧縮器デバイス50にも関する。
【0167】
図6に示されているように、そのような圧縮器デバイス50は、パース器51と、任意選択の検査器52と、符号化器53と、コピー器60と、任意選択の挿入器61とを備える。前記符号化器53は、第1の部分符号化器54と、第2の部分符号化器55と、第3の部分符号化器59とをさらに備える。前記第2の部分符号化器55は、第1の決定器56と、第2の決定器57と、連結器58とをさらに備える。
【0168】
図7は、逆圧縮方法70の可能な実施形態を示す。前記逆圧縮方法70は、抽出するステップ71によって開始する。次に復号ステップ72が行われて、保持するステップ83が後続する。圧縮方法70は、コピーするステップ84によって終了してもよい。
【0169】
抽出するステップ71および復号ステップ72は、最初の文字をコピーするステップ73と、前処理ステップ74と、後続する数を復号するステップ80とにさらに分割されてもよい。
【0170】
前処理ステップ74は、分離するステップ75と、第1の挿入ステップ76と、第2の挿入ステップ77と、第3の挿入ステップ78と、第4の挿入ステップ79とにさらに分割される。
【0171】
復号ステップ80は、開始するステップ81と、反復するステップ82とにさらに分割される。
【0172】
本開示はまた、逆圧縮方法の上述した実施形態のいずれか1つに従って、圧縮シーケンス(3)を文字列に逆圧縮するための手段を備える逆圧縮器デバイス(90)にも関する。
【0173】
図8に示されているように、そのような逆圧縮器デバイス90は、抽出器/復号器91と、保持器103と、コピー器104とを備える。前記抽出器/復号器91は、部分コピー器93と、前処理器94と、部分復号器100とをさらに備える。前記部分復号器100は、開始器101と、反復器102とをさらに備える。前記前処理器94は、分離器95と、第1の挿入器96と、第2の挿入器97と、第3の挿入器98と、第4の挿入器99とをさらに備える。
【0174】
前述された圧縮および逆圧縮方法は、圧縮比/利点の低減をもたらす3つの実施形態に従って使用され得る。
【0175】
Xと名付けられる第1の実施形態によれば、第1のタイプのサブシーケンス7が相対符号化テーブル20を使用して符号化され、チェックサムは加えられない。前記実施形態は最高の圧縮比をもたらすが、あまりセキュアではない。
【0176】
Yと名付けられる第2の実施形態によれば、第1のタイプのサブシーケンス7が相対符号化テーブル20を使用して符号化され、チェックサム18が加えられる。前記実施形態がもたらす圧縮比はより低いが、前記チェックサム18が誤りを検出することを可能にすることができるため、よりセキュアである。
【0177】
Zと名付けられる第3の実施形態によれば、第1のタイプのサブシーケンス7は符号化されない。他の様態で書かれ、第1のタイプのサブシーケンスは元のシーケンス2から抽出されず、または、任意の元のシーケンス2が単一の第2のタイプのサブシーケンスと考えられる。前記実施形態がもたらす圧縮比は最低であるが、最もセキュアである。
【0178】
圧縮方法/デバイスと逆圧縮方法/デバイスの両方を包含する大域的な戦略によれば、前記3つの実施形態が組み合わされることが有利であり得る。
【0179】
X、YおよびZの中からの実施形態は、たとえば、送信される圧縮シーケンス3に加えられる符号によって、圧縮方法と逆圧縮方法との間で一致がとられる。圧縮器および逆圧縮器は、それらのうちのいずれか1つが検出した誤りに従って、3つのモードX、YまたはZのうちの1つを連帯して選択する。
【0180】
たとえば、閾値と比較される前記誤りの数に応じて、大域的な戦略は現在の実施形態を変更することを選択してもよい。存在する誤りが多すぎる場合、大域的な戦略は、圧縮比がより低くなることを犠牲にしてセキュリティの増大をもたらす新たな実施形態を選択することによって、誤りの数を低減するよう試行することができる。代わりに、存在する誤りが少なすぎる場合、大域的な戦略は、圧縮比の増大をもたらす新たな実施形態を選択することによって、圧縮比を増大するよう試行することができる。
図1
図2
図3
図4
図5
図6
図7
図8