JP6523345B2 - プレーンasciiデータストリームの符号化 - Google Patents

プレーンasciiデータストリームの符号化 Download PDF

Info

Publication number
JP6523345B2
JP6523345B2 JP2016574079A JP2016574079A JP6523345B2 JP 6523345 B2 JP6523345 B2 JP 6523345B2 JP 2016574079 A JP2016574079 A JP 2016574079A JP 2016574079 A JP2016574079 A JP 2016574079A JP 6523345 B2 JP6523345 B2 JP 6523345B2
Authority
JP
Japan
Prior art keywords
character
pair
characters
stream
vowels
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
JP2016574079A
Other languages
English (en)
Other versions
JP2017525235A5 (ja
JP2017525235A (ja
Inventor
シルグッピ,サガー・シャムラオ
Original Assignee
オラクル・インターナショナル・コーポレイション
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 オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2017525235A publication Critical patent/JP2017525235A/ja
Publication of JP2017525235A5 publication Critical patent/JP2017525235A5/ja
Application granted granted Critical
Publication of JP6523345B2 publication Critical patent/JP6523345B2/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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4093Variable length to variable length 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/70Type of the data to be coded, other than image and sound
    • H03M7/705Unicode
    • 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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Document Processing Apparatus (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

関連出願
本願は、2014年6月20日に提出され、参照により本明細書に組み込まれた米国非仮り特許出願第14309901号(代理人整理番号ORCL−207−US)の利益を主張する。
開示の背景
技術分野
本開示は、一般に、データの符号化に関し、より詳細には、プレーンASCII(American Standard Code for Information Interchange)データストリームの符号化に関する。
関連技術
ASCIIは、英語などの書面言語に一般的に使用されるさまざまな文字を表すために周知の符号化規格である。プレーンASCIIは、7ビットエンコードを用いて、128個の特定文字、すなわち、0〜9の数字、a〜zおよびA〜Zの英文字、基本的な句読記号の一部、テレタイプマシンから由来する制御コードの一部、およびスペースを表す。
プレーンASCIIは、拡張ASCIIとは異なる。拡張ASCIIにおいて、(バイト表現の)第8ビットは、ラテンおよびその派生語などの他の言語に共通する付加的な文字の符号化にも使用される。バイトを使用して文字を表現する場合、最上位ビットに位置する0を用いて、プレーンASCII文字を表し、その位置に1である場合、拡張ASCIIを表す。
プレーンASCIIデータストリームは、プレーンASCIIコードの順序付きシーケンスであり、各コードは、対応する文字を表す。換言すれば、文字の順序付きシーケンスは、対応するプレーンASCIIデータストリームとして表され、各文字は、順序付きシーケンスにおいて対応する位置を有する。
例えばより良い圧縮などを得るために、このようなプレーンASCIIデータストリームをさらに符号化する必要がある。以下に説明するように、本開示の態様は、このような符号化技術を提供する。
以下に簡潔に説明する添付の図面を参照して、本開示の例示的な実施形態を説明する。
適切な実行可能モジュールの実行によって、本開示のさまざまな態様を実施するデジタル処理システムの詳細を示すブロック図である。 本開示の一態様に従って、プレーンASCIIデータストリームの符号化を実行する方法を示すフローチャートである。 本開示の一実施形態において、符号化前の(ソース)内容を示すプレーンASCIIデータファイルの例を示す図である。 本開示の一実施形態において、符号化された内容を示す出力ファイルを示す図である。 別の実施形態において、符号化前の内容を示すプレーンASCIIデータファイルの例を示す図である。 別の実施形態において、符号化された内容を示す出力ファイルを示す図である。 本開示の別の実施形態におけるプレーンASCIIデータストリームを符号化するためのデジタル処理システムを示すブロック図である。
図面において、同様の参照番号は、一般的に、同一の要素、または機能的に類似するおよび/または構造的に類似する要素を示す。要素が最初に出現する図面の番号は、対応する参照番号の一番左側の数字によって示される。
本開示の実施形態の詳細な説明
1.概要
プレーンASCIIデータストリームに隣接する一対の文字が子音およびその後に続く文字セットのうち1文字、または母音およびその後に続く文字セットのうち1文字を含むか否かという条件で、この文字対を検査する。文字セットは、母音およびスペースのみから選択される。条件が満たされている場合、その文字対は、対応する拡張ASCIIコードとして符号化される。条件が満たされていない場合、その文字対の第1文字を対応するプレーンASCIIコードとして発行し、(前の)文字対の第2文字を第1文字として、プレーンASCIIストリームの次の文字を第2文字として、次の文字対を形成する。次の対およびその後の対は、上記の条件で検査され、同様に処理される。これによって、プレーンASCIIデータストリームの圧縮が達成される。
一実施形態において、文字セットは、5つの母音のみを含む。別の実施形態において、文字セットは、4つの母音およびスペースを含む。
さらに別の態様によれば、拡張ASCII文字を用いて符号化されたプレーンASCIIストリームは、さらに圧縮され、プレーンASCIIデータストリームのさらなる圧縮表現を生成する。
本開示の一態様によれば、プレーンASCIIデータストリームを符号化するためのデジタル処理システムが提供される。このデジタル処理システムは、受信ユニットと、選択ユニットと、検査ユニットと、検査および発行ユニットとを含む。受信ユニットは、各文字が対応するプレーンASCIIコードとして表される文字ストリームを受信するように構成される。選択ユニットは、ストリーム内に隣接する一対の文字を選択するように構成される。検査ユニットは、文字対が子音およびその後に続く文字セットのうち1文字、または母音およびその後に続く文字セットのうち1文字を含むか否かという条件で、前記文字対を検査するように構成される。文字セットは、母音およびスペースのみから選択される。検査および発行ユニットは、条件が満たされている場合、文字対を置換するように対応する拡張ASCIIコードを発行し、ストリームの次の2文字を次の反復用の対として形成するように構成され、条件が満たされていない場合、その文字対の第1文字を対応するプレーンASCIIコードとして発行し、その文字対の第2文字を第1文字として、ストリームの次の文字を第2文字として、次の反復用の文字対を形成するように構成される。検査ユニットと検査および発行ユニットとは、形成された対を用いて、検査および発行の次の反復を実行する。
さらに別の態様によれば、文字セットは、5つの文字のみを含むことができる。
さらに別の態様によれば、文字セットは、大文字の母音または小文字の母音のみを含むことができる。
さらに別の態様によれば、文字セットは、4つの母音およびスペースを含むことができる。
さらに別の態様によれば、4つの母音は、a、e、iおよびoを含む。
さらに別の態様によれば、デジタル処理システムは、圧縮手法を用いて前記発行されたコードを処理することによって、文字ストリームのさらなる圧縮表現を生成するように構成された処理ユニットをさらに備えることができる。
本開示の一態様によれば、プレーンASCIIデータストリームを符号化するための装置が提供される。この装置は、各文字が対応するプレーンASCIIコードとして表される文字ストリームを受信する手段と、文字対が子音およびその後に続く文字セットのうち1文字、または母音およびその後に続く文字セットのうち1文字を含むか否かという条件で、文字対を検査する手段と、条件が満たされている場合、その文字対を置換するように対応する拡張ASCIIコードを発行し、ストリームの次の2文字を次の反復用の対として形成する手段と、条件が満たされていない場合、その文字対の第1文字を対応するプレーンASCIIコードとして発行し、その文字対の第2文字を第1文字として、ストリームの次の文字を第2文字として、次の反復用の文字対を形成する手段と、形成された対を用いて検査および発行の次の反復を実行するための手段とを備える。
さらに別の態様によれば、文字セットは、5つの文字のみを含むことができる。
さらに別の態様によれば、文字セットは、大文字の母音または小文字の母音のみを含むことができる。
さらに別の態様によれば、文字セットは、4つの母音およびスペースを含むことができる。
別の態様によれば、4つの母音はa、e、iおよびoを含む。
さらに別の態様によれば、装置は、文字ストリームのさらなる圧縮表現を生成するように、圧縮手法を用いて発行されたコードを処理する手段をさらに備える。
本開示のいくつかの態様は、説明するための例示を参照して以下に記載される。しかしながら、当業者なら分かるように、本開示は、1つ以上の特定の詳細を使用せず、または他の方法、構成要素および材料などを用いて、実施されてもよい。また、本開示の特徴を明瞭化にするために、周知の構造、材料または動作は、詳細に示されていない。さらに、記載された特徴/態様は、さまざまな組み合せで実施することができる。本明細書において、簡潔のために、さまざまな組み合せの一部のみが記載される。
2.デジタル処理システム
図1は、適切な実行可能モジュールの実行によって、本開示のさまざまな態様を実施するデジタル処理システム100の詳細を示すブロック図である。デジタル処理システム100は、1つ以上のプロセッサ、例えば中央処理装置(CPU)110と、ランダムアクセスメモリ(RAM)120と、2次メモリ130と、グラフィックスコントローラ160と、表示ユニット170と、ネットワークインターフェイス180と、入力インターフェイス190とを含むことができる。表示ユニット170を除き、すべての構成要素は、関連技術に周知のように、いくつかのバスを含む通信路150を介して、互いに通信することができる。図1のブロックは、以下により詳細に説明される。
CPU110は、本開示のいくつかの特徴を提供するために、RAM120に記憶された命令を実行することができる。CPU110は、複数の処理ユニットを含むことができ、各処理ユニットは、潜在的に特定のタスクを実行するために設計される。代替的に、CPU110は、単一の汎用処理ユニットのみを含むことができる。RAM120は、通信経路150を用いて、2次メモリ130から命令を受信することができる。図示されたRAM120は、共有環境125およびユーザプログラム126を構成するソフトウェア命令を含む。共有環境125は、ユーザプログラム126を実行するための(共通)ランタイム環境を提供するオペレーティングシステム、デバイスドライバおよび仮想マシンなどを含む。
グラフィックスコントローラ160は、CPU110から受信したデータ/命令に基づいて、(例えば、RGBフォーマットで)表示信号を生成し、表示ユニット170に送信する。表示ユニット170は、表示信号によって規定された画像を表示する表示スクリーンを含む。入力インターフェイス190は、キーボードおよびポインティングデバイス(例えば、タッチパッド、マウス)に相当することができ、入力を提供するために使用されてもよい。ネットワークインターフェイス180は、ネットワークへの接続を提供し、ネットワークに接続された他のシステムとの通信に使用されることができる。
2次メモリ130は、ハードドライブ135、フラッシュメモリ136、および取り外し可能な記憶ドライブ137を含むことができる。2次メモリ130は、データ(例えば、本開示のさまざまな態様に従って符号化されるASCIIファイル)および(以下に説明する図2のステップを実施するための)ソフトウェア命令を含む。これらのソフトウェア命令によって、デジタル処理システム100は、本開示に係るいくつかの特徴を提供することができる。2次メモリ130に記憶されたコード/命令およびASCIIデータは、より高速な実行速度を得るためにCPU110によって実行される前にRAM120にコピーされてもよく、CPU110によって直接実行されてもよい。
データおよび命令の一部または全部は、取り外し可能な記憶ユニット140上に形成されてもよく、データおよび命令は、取り外し可能な記憶ドライブ137によってCPU110に読み出され、提供されてもよい。取り外し可能な記憶ユニット140は、記憶取り外し可能な記憶ドライブ137と互換性がある媒体およびフォーマットを用いて実装されることができる。これによって、取り外し可能な記憶ドライブ137は、データおよび命令を読み取ることができる。したがって、取り外し可能な記憶装置140は、コンピュータソフトウェアおよび/またはデータを記憶したコンピュータ可読(記憶)媒体を含む。しかしながら、コンピュータ(または一般的に機械)可読媒体は、他の形態(例えば、取り外し不能、ランダムアクセスなど)の媒体であってもよい。
一般的に、「コンピュータプログラム製品」という用語は、本明細書に使用される場合、取り外し可能な記憶ユニット140またはハードドライブ135にインストールされたハードディスクを指す。これらのコンピュータプログラム製品は、デジタル処理システム100にソフトウェアを提供する手段である。CPU110は、ソフトウェア命令を検索し、命令を実行することによって、上述した本開示のさまざまな特徴を提供することができる。
「記憶媒体/媒体」という用語は、本明細書に使用される場合、マシンを特定の方法で動作させるデータおよび/または命令を記憶する任意の非一時的な媒体を指す。このような記憶媒体は、不揮発性媒体および/または揮発性媒体を含むことができる。不揮発性媒体は、例えば、光ディスク、磁気ディスク、または記憶メモリ130などの固体ドライブを含む。揮発性媒体は、RAM120などの動的メモリを含む。一般的な記憶装置は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、固体ドライブ、磁気テープまたは任意の他の磁気データ記憶媒体、CD−ROM、任意の他の光学データ記憶媒体、穴パターンを有する任意の物理的媒体、RAM、APROM、EPROM、フラッシュEPROM、NVRAM、任意の他のメモリチップまたはカートリッジを含む。
記憶媒体は、伝送媒体と異なるが、伝送媒体と併用することができる。伝送媒体は、記憶媒体間の情報伝送に関与する。例えば、伝送媒体は、バス150を構成する同軸ケーブル、銅線および光ファイバを含む。また、伝送媒体は、無線データ通信または赤外線データ通信に生成される音波または光波であってもよい。
上述したように、CPU110は、ソフトウェア命令を実行して、1つ以上のプレーンASCIIデータストリームを符号化する。プレーンASCIIデータストリームの内容/文字は、ASCIIテキストファイルとして(例えば、2次メモリ130に)記憶されてもよく、符号化のためにCPU110によって読み出されてもよい。代替的に、CPU110は、ネットワークインターフェイス180を介して外部ネットワークから、または入力インターフェイス190を介してユーザから、符号化されるASCIIデータストリームを受信することができる。符号化データは、2次メモリ130に記憶されてもよく、および/またはネットワークインターフェイス180を介して送信されてもよい。符号化のために実行されるソフトウェア命令は、ユーザプログラム126を構成するまたは共有環境125内のツールを構成することができる。
次に、フローチャートを用いて、CPU110がプレーンASCIIデータストリームの符号化を実行する方法を詳細に説明する。
3.プレーンASCIIデータストリームの符号化
図2は、本開示の一態様に従って、プレーンASCIIデータストリームの符号化を実行する方法を示すフローチャートである。フローチャートは、単に説明のために、図1のブロックに関して、特にCPU110に関して記載されている。しかしながら、本明細書に提供された開示を読むことによって当業者に明らかであるように、本発明のさまざまな態様の範囲および精神から逸脱することなく、他のシステムおよび環境において特徴を実現することもできる。
さらに、関連する技術分野の当業者に明らかであるように、特定の環境に適応するように、いくつかのステップを以下に示す順序とは異なる順序で実行してもよい。このような実現例の多くが本開示のいくつかの態様によって網羅されることを意図している。フローチャートは、ステップ201で開始する。その後、制御は、直ちにステップ210に移行する。
ステップ210において、CPU110は、プレーンASCII文字ストリーム(順序付きシーケンス)を受信する。関連する分野において周知のように、プレーンASCII文字のコード値は、0(10進数)〜127(10進数)の範囲にある。しかしながら、上述したように、各文字は、バイト(8ビット)として符号化されてもよい。ストリームは、2次メモリ130に記憶されたファイルから、入力インターフェイス190またはネットワークインターフェイス180から受信することができる。その後、制御は、ステップ220に移行する。
ステップ220において、CPU110は、ストリームに含まれる一対の隣接する文字を選択する。実行される符号化が第1文字から開始すると仮定する場合、ストリームの最初の2文字を選択してもよい。その後、制御は、ステップ230に移行する。
ステップ230において、CPU110は、文字対が子音およびその後に続く母音または母音およびその後に続く母音を含むか否かを判定する。周知のように、子音は、子音を表すアルファベット文字を指す。英語のアルファベットにおいて、子音は、21個の小文字子音b、c、d、f、g、h、j、k、l、m、n、p、q、r、s、t、v、w、x、yおよびz、および21個の大文字子音(B、C、D、Fなど)を含む。一方、母音は、声道を開いて発音するアルファベット文字を指す。英語のアルファベットにおいて、母音は、5つの小文字母音a、e、i、o、u、および5つの大文字母音A、E、I、O、Uを含む。周知のように、各々の子音(大文字または小文字)および母音(大文字または小文字)は、対応するプレーンASCIIコードを有する。
CPU110によって、文字対が子音およびその後に続く母音または母音およびその後に続く母音を含むと判定された場合、制御は、ステップ240に移行する。文字対が子音およびその後に続く母音または母音およびその後に続く母音を含まない場合、制御は、ステップ260に移行する。
ステップ240において、CPU110は、文字対に対応する(単一の)拡張ASCIIコードを発行する。拡張ASCIIコードは、128(10進数)〜255(10進数)の範囲に位置する(8ビット)ASCIIコード値を指す。「発行(emit)」という用語は、「操作の出力/結果として提供する」ことを意味する。
CPU110は、一対の子音−母音(子音およびその後に続く母音)および一対の母音−母音(母音およびその後に続く母音)並びにそれに対応する(ユニークおよび単一の)拡張ASCIIコードのマッピングをメモリ記憶装置に、例えば2次メモリ130に記憶することができる。文字対が子音およびその後に続く母音または母音およびその後に続く母音を含むというステップ230の判定に応じて、CPU110は、マッピングを検査し、拡張ASCIIコードを発行することができる。その後、制御は、ステップ250に移行する。
ステップ250において、CPU110は、ストリーム内の次の2文字を隣接する文字の対として選択する。その後、制御は、ステップ230に戻る。フローチャートの対応するステップは、繰り返されてもよい。
ステップ260において、CPU110は、隣接する文字対の第1文字に対応するプレーンASCIIコードを発行する。その後、制御は、ステップ270に移行する。
ステップ270において、CPU110は、(前の)文字対の第2文字を第1文字として、ストリームの次の文字を第2文字として、文字対を形成する。その後、制御は、ステップ230に戻る。フローチャートの対応するステップは、繰り返されてもよい。
図2のフローチャートは、無限ループであるように示されているが、実際には、CPU110がASCIIストリームの終了を示す指示(例えば、End Of File/EOF)を受信すると、フローチャートの実行ステップが終了する。ステップ250を実行する間に終了指示を受けた場合、ステップ210のストリームに対応する出力が符号化された形式で発行されたとみなされる。一方、ステップ270を実行する間に終了指示を受けた場合、ステップ230で処理された第2文字が発行される。
さらに、図2から分かるように、入力ストリームに存在する特定のパターンおよびストリームの長さに関係なく、図2の手法を継続することができる。符号化された出力は、対応する処理の結果である。
プレーンASCII文字のストリーム(例えば、ファイル)に図2のフローチャートのステップの動作を行った結果として得られた処理後のデータストリームは、メモリ(例えば、2次メモリ130)に記憶されてもよく、および/または適切な伝送媒体(例えば、ネットワークインターフェイス180)を介して外部装置に送信されてもよい。処理後のデータストリームのサイズは、プレーンASCII文字ストリームのサイズよりも小さいことを理解すべきである。したがって、処理しなかったプレーンASCII文字ストリームよりも、記憶要件および伝送時間を低減することができる。
一実施形態において、CPUは、プレーンASCIIストリーム内の子音−母音文字対または母音−母音文字対の各文字が小文字の英字であって且つ文字対の第1位置に文字「z」(小文字のz)を含まない場合のみ、対応する拡張ASCIIコードを発信する。このような制限をする理由は、128個の拡張ASCIIコードしか利用できないのに対し、(小文字に限る)英字の子音−母音および母音−母音の組み合せの合計数が130通り(26×5(26個のアルファベット文字および5つの母音))もある。しかしながら、第1位置の「z」を無視すると、125(25×5)個の拡張ASCIIコードしか必要されない。本開示の特徴に従って、大文字(または選択的に異なる文字)を選択して追加の符号化を行うことによって、代替の実施形態を実現することができる。
複数の言語(梵語、ヒンディ語など)が表音式である、すなわち、多くの単語において第2文字が母音であるという観察に基づいて、(第2位置に母音を位置する)組み合せが選択される。英語も、かなり高い頻度で母音を使用している。したがって、少なくともバイトでプレーンASCIIおよび拡張ASCIIの各文字を表す場合、本明細書に開示された符号化手法によって、圧縮表現を達成することができる。
次に、プレーンASCIIデータストリームの符号化を実行する方法を例示と共に以下に説明する。
4.実施例1
図3Aは、プレーンASCII文字内容が上記の方法で符号化されるファイル300を示す図である。ファイル300は、「The Restaurant at the End of the Universe」という文章を含み、各文字は、バイトで表される。この例において、小文字の子音−母音(母音およびその後に続く子音)または小文字の母音−母音(母音およびその後に続く母音)(さらに、文字対の第1位置に「z」を含まない)である隣接する文字の対のみが、対応する拡張ASCIIコードによって符号化されると仮定する。
以下の付録Aの表は、小文字の子音−母音の対および小文字の母音−母音の対と、それらが符号化される対応の拡張ASCIIコードとの間のマッピング例を示している。したがって、例えば、小文字の母音−母音「aa」は、拡張ASCIIコード128として符号化され、小文字の母音−母音「ba」は、拡張ASCII符号129として符号化される。拡張ASCIIコードに対応する(印刷)記号は、ISO 8859-1およびMicrosoft(登録商標)Windows(登録商標) Latin-1の拡張文字に準拠し、付録Aの表の第3列に示される。付録Aの表は、2次メモリ130に格納されてもよい。
Figure 0006523345
Figure 0006523345
Figure 0006523345
Figure 0006523345
Figure 0006523345
付録Bは、1482バイトのプレーンASCIIテキストファイルHitch.txtの内容を示している。上記の例に従ってHitch.txtファイルを符号化して得られたHitch-encoded.txtの内容は、付録Cに記載され、そのサイズが1273バイトであり、約1.164の圧縮率(非圧縮サイズ/圧縮サイズ)を有する。なお、一般的に、上記の技術に従って得られた圧縮率は、プレーンASCIIストリーム/ファイルのサイズの増加に伴って増加する。
Figure 0006523345
Figure 0006523345
Figure 0006523345
Figure 0006523345
当然、単一の8ビット拡張ASCIIコードを用いて、8ビットプレーンASCIIコードの対を置換することは、プレーンASCIIデータストリームの圧縮表現をもたらす。
しばしば、スペース(10進数のASCIIコード32)が少なくとも1つの母音(例えば、文字「u」)よりも頻繁に出現する可能性がある。このような観察に基づいて、本開示の別の実施形態において、(子音または母音に続く)第2位置に位置するスペースまたは4つの母音(例えば、a、e、iおよびo)のうち1つから構成される文字対が選択され、拡張ASCIIコードに符号化される。したがって、以下の例で示すように、CPU110は、小文字子音−スペースの対、小文字子音−4つの母音のうち1つの小文字母音の対、小文字母音−スペースの対、または小文字母音−4つの母音のうち1つの小文字母音の対(再び、「z」が第1位置に位置する場合を無視する)である文字対を選択して、対応する拡張ASCIIコードに符号化する。
5.実施例2
図4Aは、プレーンASCII文字内容が符号化されるファイル400を示す図である。図示されたファイル400は、「The Restaurant at the End of the Universe」という文章を含む。以下の付録Dの表は、文字対とそれらが符号化される対応の拡張ASCIIコードとの間のマッピング例を示している。この例において、小文字の「u」が文字対の第2位置に位置する場合に無視されるものとする。しかしながら、他の実施形態において、別の母音が文字対の第2位置に位置する場合に無視されてもよい。上述したように、128個の拡張ASCIIコードしか利用できないため、小文字の「z」がマッピングされない。付録Dの表のマッピングは、子音−スペースの対および母音−スペースの対(拡張ASCIIコード228〜252)を除き、付録Aの表のマッピングと同様である。付録Dの表は、2次メモリ130に格納されてもよい。
Figure 0006523345
Figure 0006523345
Figure 0006523345
CPU110は、「The Restaurant at the End of the Universe」という文章によって表されるプレーンASCIIデータストリームを受信すると、図2のフローチャートに従って、上述した方法でデータストリームを処理する。図4Aを参照して、CPU110は、マーカ401〜412によって示される文字対を付録Aの表に対応する拡張ASCIIコードに符号化する。例えば、CPU110は、(マーカ404および405によって示される)文字対「tSPACE」を拡張ASCIIコード247(10進数)に符号化し、図4Bから見られるように、印刷時に文字「÷」として印刷される。CPU110は、反復的に動作すること(ステップ250)によって、同様に他の文字対を識別し、符号化する。
Figure 0006523345
したがって、一般的に、CPU110は、文字対が子音およびその後に続く文字セットのうち1文字、または母音およびその後に続く文字セットのうち1文字を含むか否かという条件で、選択された隣接する文字の対を検査する。文字セットは、母音およびスペースのみから選択される。
一般的に、プレーンASCII文字(拡張ASCIIコードに符号化される小文字または大文字の子音−母音、母音−母音、子音−スペース、母音−スペース)の組み合せの種類の選択は、利用可能な拡張ASCIIコードの数(128に制限される)および/または特定の組み合せの出現頻度などの考慮事項によって決定されてもよい。
手法に従って符号化された出力は、周知の技術および/またはWinZip、7-Zipなどの(Huffman符号化を使用する技術)圧縮プログラムを用いて、さらに圧縮されてもよい。当業者には明らかであるように、当然ながら、(プレーンASCIIに比べて)異なる記号セットおよびより少ない文字により構成される入力ストリームに基づく操作によって、異なるレベルの圧縮が得られるだろう。
図5は、本開示の一実施形態におけるプレーンASCIIデータストリームを符号化するためのデジタル処理システム500を示すブロック図である。デジタル処理システム500のブロックは、本発明の原理を実行するハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合せによって実現することができる。当業者であれば理解するように、図5に記載されたブロックを組み合せてサブブロックに分割して、上述した本発明の原理を実現することができる。したがって、本明細書の説明は、本明細書に記載された機能ブロックの任意可能な組み合せまたは分離またはさらなる定義をサポートすることができる。
図5に示すように、デジタル処理システム500は、受信ユニット501と、選択ユニット503と、検査ユニット505と、発行および形成ユニット507とを備えてもよい。受信ユニット501は、各文字が対応するプレーンASCIIコードとして表される文字ストリームを受信するように構成されることができる。選択ユニット503は、ストリーム内に隣接する一対の文字を選択するように構成されることができる。検査ユニット505は、文字対が子音およびその後に続く文字セットのうち1文字、または母音およびその後に続く文字セットのうち1文字を含むか否かという条件で、文字対を検査するように構成されることができる。文字セットは、母音およびスペースのみから選択される。発行および形成ユニット507は、条件が満たされている場合、対を置換するように対応する拡張ASCIIコードを発行し、ストリームの次の2文字を次の反復用の対として形成形成するように構成され、条件が満たされていない場合、その文字対の第1文字を対応するプレーンASCIIコードとして発行し、その文字対の第2文字を第1文字として、ストリームの次の文字を第2文字として、次の反復用の文字対を形成するように構成されることができる。検査ユニット505および発行および形成ユニット507は、形成された対を用いて、検査および発行の次の反復を実行する。
一実施形態において、文字セットは、5つの文字のみを含むことができる。
一実施形態において、文字セットは、大文字の母音または小文字の母音のみを含むことができる。
一実施形態において、文字セットは、4つの母音およびスペースを含むことができる。
一実施形態において、4つの母音は、a、e、iおよびoを含む。
一実施形態において、デジタル処理システム500は、処理ユニット509をさらに備えることができる。処理ユニット509は、圧縮手法を用いて発行されたコードを処理することによって、文字ストリームのさらなる圧縮表現を生成するように構成されることができる。
本明細書を通して、「1つの実施形態」、「一実施形態」または類似する用語は、実施形態に関連して説明された特定の特徴、構造または特性が、本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書を通して、「一実施形態では」、「実施形態において」および類似する用語は、必ずしもすべて同一の実施形態を指す必要がない。
さらに、本開示の記載された特徴、構造または特性は、任意の適切な方法で1つ以上の実施形態に組み合せることができる。上記の説明において、本開示の実施形態の完全な理解を与えるために、プログラミング例、ソフトウェアモジュール、ユーザ選択、ネットワークトランザクション、データベースクエリ、データベース構造、ハードウェアモジュール、ハードウェア回路、ハードウェアチップなどの多数の特定の詳細が提供される。
6.結論
上記で本発明のさまざまな実施形態を説明したが、これらの実施形態は、限定の目的ではなく、例示として提示されていることを理解すべきである。したがって、本発明の幅および範囲は、上述した例示的な実施形態のいずれかに限定されず、添付の特許請求の範囲およびその等価物によって規定されるべきである。
本開示の機能および利点を強調する添付文書に示されている図面および/またはスクリーンショットは、例示の目的で提示されることを理解すべきである。本開示は、添付の図面に示された方法以外の方法で利用され得るように、十分に柔軟で構成可能である。
さらに、以下の要約書の目的は、特許庁および一般公衆に、特に特許または法律の用語または表現に精通していない当該分野の科学者、技術者および実践者が、大まかな閲覧により、本願の技術的開示の本質および要旨を迅速に理解するものである。要約書は、決して本開示の範囲を限定すると意図していない。

Claims (8)

  1. プレーンASCIIデータストリームを符号化する方法であって、前記方法は、デジタル処理システムにおいて実行され、前記方法は、
    符号化によって符号化データにしようとする文字ストリームを受信するステップを含み、各文字が対応するプレーンASCIIコードとして表され、
    前記文字ストリーム内に隣接する一対の文字を選択するステップと、
    前記一対の文字が子音およびその後に続く文字セットのうち1文字、または母音およびその後に続く文字セットのうち1文字を含むか否かという条件で、前記一対の文字を検査するステップとを含み、前記文字セットは、母音およびスペースのみから選択され、
    前記条件が満たされている場合、前記一対の文字に対応する拡張ASCIIコードを発行することによって前記符号化データを生成し、前記文字ストリームの次の2文字を次の反復用の一対の文字として形成するステップと、
    前記条件が満たされていない場合、前記一対の文字の第1文字を対応するプレーンASCIIコードの形式で発行することによって前記符号化データを生成し、前記一対の文字の第2文字を第1文字として、前記文字ストリームの次の文字を第2文字として、次の反復用の一対の文字を形成するステップと、
    前記形成された対を用いて、前記文字ストリームの全体が前記符号化データに符号化されるまで、前記検査および前記発行の次の反復を実行するステップとを含む、方法。
  2. 前記文字セットは、5つの文字のみを含む、請求項1に記載の方法。
  3. 前記文字セットは、大文字の母音または小文字の母音のみを含む、請求項2に記載の方法。
  4. 前記文字セットは、4つの母音および前記スペースを含む、請求項2に記載の方法。
  5. 前記4つの母音は、a、e、iおよびoを含む、請求項4に記載の方法。
  6. 前記文字ストリームのさらなる圧縮表現を生成するために、圧縮手法を用いて前記発行されたコードを処理するステップをさらに含む、請求項1〜5のいずれか1項に記載の方法。
  7. デジタル処理システムであって、
    プロセッサと、
    ランダムアクセスメモリ(RAM)と、
    1つ以上の命令を格納する機械可読媒体とを備え、前記命令は、前記プロセッサによって前記RAMに取り込まれ、実行されると、前記デジタル処理システムに文字ストリームを処理させ、前記デジタル処理システムは、以下の動作を実行し、これらの動作は、
    符号化によって符号化データにしようとする文字ストリームを受信する動作を含み、各文字が対応するプレーンASCIIコードとして表され、
    前記文字ストリーム内に隣接する一対の文字を選択する動作と、
    前記一対の文字が子音およびその後に続く文字セットのうち1文字、または母音およびその後に続く文字セットのうち1文字を含むか否かという条件で、前記一対の文字を検査する動作とを含み、前記文字セットは、母音およびスペースのみから選択され、
    前記条件が満たされている場合、前記一対の文字に対応する拡張ASCIIコードを発行することによって前記符号化データを生成し、前記文字ストリームの次の2文字を次の反復用の一対の文字として形成する動作と、
    前記条件が満たされていない場合、前記一対の文字の第1文字を対応するプレーンASCIIコードの形式で発行することによって前記符号化データを生成し、前記一対の文字の第2文字を第1文字として、前記文字ストリームの次の文字を第2文字として、次の反復用の一対の文字を形成する動作と、
    前記形成された対を用いて、前記文字ストリームの全体が前記符号化データに符号化されるまで、前記検査および前記発行の次の反復を実行する動作とを含む、デジタル処理システム。
  8. 請求項1〜6のいずれかに記載の方法をコンピュータに実行させるためのプログラム。
JP2016574079A 2014-06-20 2014-12-29 プレーンasciiデータストリームの符号化 Active JP6523345B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/309,901 US9300322B2 (en) 2014-06-20 2014-06-20 Encoding of plain ASCII data streams
US14/309,901 2014-06-20
PCT/US2014/072465 WO2015195161A1 (en) 2014-06-20 2014-12-29 Encoding of plain ascii data streams

Publications (3)

Publication Number Publication Date
JP2017525235A JP2017525235A (ja) 2017-08-31
JP2017525235A5 JP2017525235A5 (ja) 2018-01-18
JP6523345B2 true JP6523345B2 (ja) 2019-05-29

Family

ID=52392233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016574079A Active JP6523345B2 (ja) 2014-06-20 2014-12-29 プレーンasciiデータストリームの符号化

Country Status (4)

Country Link
US (1) US9300322B2 (ja)
JP (1) JP6523345B2 (ja)
CN (1) CN106471743B (ja)
WO (1) WO2015195161A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430702B2 (en) * 2014-07-10 2016-08-30 Korea Electronics Technology Institute Character input apparatus and method based on handwriting
US9917599B2 (en) 2015-08-19 2018-03-13 International Business Machines Corporation Coding schemes including alternative codings for a single code construct

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN85101055A (zh) 1985-04-01 1987-01-24 艺达电脑有限公司 汉字拼音编码输入法(艺峰输入法)
EP0271619A1 (en) 1986-12-15 1988-06-22 Yeh, Victor Chang-ming Phonetic encoding method for Chinese ideograms, and apparatus therefor
JPS63157262A (ja) 1986-12-16 1988-06-30 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン ワードの類似性をランク付けする方法
JPH04167821A (ja) * 1990-10-31 1992-06-15 Fujitsu Ltd データ符号化及び復号化方法
US5708829A (en) * 1991-02-01 1998-01-13 Wang Laboratories, Inc. Text indexing system
JP3689954B2 (ja) * 1995-03-13 2005-08-31 富士ゼロックス株式会社 異種コード文字列転記装置および電子辞書
US5682158A (en) * 1995-09-13 1997-10-28 Apple Computer, Inc. Code converter with truncation processing
US5793381A (en) * 1995-09-13 1998-08-11 Apple Computer, Inc. Unicode converter
US5861827A (en) * 1996-07-24 1999-01-19 Unisys Corporation Data compression and decompression system with immediate dictionary updating interleaved with string search
US5999949A (en) 1997-03-14 1999-12-07 Crandall; Gary E. Text file compression system utilizing word terminators
JPH1185459A (ja) * 1997-09-01 1999-03-30 Denso Corp 文字データ符号化方法および記録媒体
US6631501B1 (en) * 1999-06-30 2003-10-07 Microsoft Corporation Method and system for automatic type and replace of characters in a sequence of characters
CN1280329A (zh) 1999-07-13 2001-01-17 蔺冲毅 汉字三维拼音法
US8726148B1 (en) * 1999-09-28 2014-05-13 Cloanto Corporation Method and apparatus for processing text and character data
EP1093058A1 (en) * 1999-09-28 2001-04-18 Cloanto Corporation Method and apparatus for processing text and character data
CN1334497A (zh) 2000-07-18 2002-02-06 曲振兴 三笔通快速汉语输入输出系统(新式汉语拼音编码方案)
US20040193399A1 (en) * 2003-03-31 2004-09-30 Microsoft Corporation System and method for word analysis
KR100494876B1 (ko) * 2003-04-08 2005-06-14 주식회사 팬택 2바이트 문자 데이터 압축 방법
WO2005091252A1 (en) 2004-03-19 2005-09-29 Lanstar Corporation Pty Ltd A method for teaching a language
JP5186897B2 (ja) * 2007-11-27 2013-04-24 セイコーエプソン株式会社 文字処理装置、文字処理装置の文字判別方法およびプログラム
CN101325418B (zh) * 2008-08-05 2012-11-21 北京海尔集成电路设计有限公司 一种基于概率查表的哈夫曼快速解码方法
US8229971B2 (en) * 2008-09-29 2012-07-24 Efrem Meretab System and method for dynamically configuring content-driven relationships among data elements
US8438005B1 (en) 2009-08-31 2013-05-07 Google Inc. Generating modified phonetic representations of indic words
US8843815B2 (en) * 2010-01-18 2014-09-23 Hewlett-Packard Development Company, L. P. System and method for automatically extracting metadata from unstructured electronic documents
JP5853531B2 (ja) * 2011-09-26 2016-02-09 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
CN103248367B (zh) * 2012-02-03 2016-03-16 展讯通信(上海)有限公司 码流数据的编码、解码方法和装置
US8902170B2 (en) * 2012-05-31 2014-12-02 Blackberry Limited Method and system for rendering diacritic characters
EP2712089A1 (en) 2012-09-20 2014-03-26 Alcatel-Lucent Method for compressing texts and associated equipment
CN103701470B (zh) * 2013-12-27 2017-02-01 上海新浩艺软件有限公司 一种流智能预测差异压缩算法及相应的控制装置

Also Published As

Publication number Publication date
WO2015195161A1 (en) 2015-12-23
US9300322B2 (en) 2016-03-29
CN106471743B (zh) 2020-05-26
CN106471743A (zh) 2017-03-01
JP2017525235A (ja) 2017-08-31
US20150372693A1 (en) 2015-12-24

Similar Documents

Publication Publication Date Title
JP5513898B2 (ja) 共有された言語モデル
US8677237B2 (en) Integrated pinyin and stroke input
US9158742B2 (en) Automatically detecting layout of bidirectional (BIDI) text
US20080211777A1 (en) Stroke number input
JP6523345B2 (ja) プレーンasciiデータストリームの符号化
JP6417649B2 (ja) 文章処理装置、文章表示システム、プログラム
US11239858B2 (en) Detection of unknown code page indexing tokens
US9613019B2 (en) Techniques for automatically generating test data
JP2018067264A (ja) データ検索プログラム、データ検索装置およびデータ検索方法
JP7430625B2 (ja) バージョン検証装置、バージョン検証システム及びバージョン検証方法
CN105683873A (zh) 容错输入法编辑器
US20070033035A1 (en) String display method and device compatible with the hindi language
JP6972788B2 (ja) 特定プログラム、特定方法および情報処理装置
JP2017091024A (ja) 入力支援装置
Andika et al. Algorithm to Avoid Overlapping Vowel Signs in Latin to Balinese Script Transliteration Method
JP7417068B2 (ja) 表示方法及び表示プログラム、並びに情報処理装置
JP6729656B2 (ja) 文章処理装置、文章表示システム、情報処理装置、プログラム
JP2017040857A (ja) 情報処理装置及び情報処理プログラム
JP5846658B1 (ja) テキスト比較装置、テキスト比較プログラム及びテキスト比較方法
JP2022152216A (ja) 情報処理装置及びプログラム
JPWO2017009900A1 (ja) 文書処理システム及び文書処理方法
JP5876144B2 (ja) デジタル情報分析システム、デジタル情報分析方法、及びデジタル情報分析プログラム
JP4960636B2 (ja) かな漢字変換装置、文字列に単一ルビを与える方法、コンピュータプログラムおよびコンピュータ読み取り可能な記憶媒体
JP2014075032A (ja) 情報処理装置、タイトル抽出方法及びプログラム
Chowdhury et al. An Encoding Scheme to Support Efficient Searching and Linguistic Sorting for Bengali Texts

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171204

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181030

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190327

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190425

R150 Certificate of patent or registration of utility model

Ref document number: 6523345

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