(57)【特許請求の範囲】
【請求項１】
プレーンＡＳＣＩＩデータストリームを符号化する方法であって、前記方法は、デジタル処理システムにおいて実行され、前記方法は、
符号化によって符号化データにしようとする文字ストリームを受信するステップを含み、各文字が対応するプレーンＡＳＣＩＩコードとして表され、
前記文字ストリーム内に隣接する一対の文字を選択するステップと、
前記一対の文字が子音およびその後に続く文字セットのうち１文字、または母音およびその後に続く文字セットのうち１文字を含むか否かという条件で、前記一対の文字を検査するステップとを含み、前記文字セットは、母音およびスペースのみから選択され、
前記条件が満たされている場合、前記一対の文字に対応する拡張ＡＳＣＩＩコードを発行することによって前記符号化データを生成し、前記文字ストリームの次の２文字を次の反復用の一対の文字として形成するステップと、
前記条件が満たされていない場合、前記一対の文字の第１文字を、対応するプレーンＡＳＣＩＩコードの形式で発行することによって前記符号化データを生成し、前記一対の文字の第２文字を第１文字として、前記文字ストリームの次の文字を第２文字として、次の反復用の一対の文字を形成するステップと、
前記形成された対を用いて、前記文字ストリームの全体が前記符号化データに符号化されるまで、前記検査および前記発行の次の反復を実行するステップとを含む、方法。
【請求項２】
前記文字セットは、５つの文字のみを含む、請求項１に記載の方法。
【請求項３】
前記文字セットは、大文字の母音または小文字の母音のみを含む、請求項２に記載の方法。
【請求項４】
前記文字セットは、４つの母音および前記スペースを含む、請求項２に記載の方法。
【請求項５】
前記４つの母音は、ａ、ｅ、ｉおよびｏを含む、請求項４に記載の方法。
【請求項６】
前記文字ストリームのさらなる圧縮表現を生成するために、圧縮手法を用いて前記発行されたコードを処理するステップをさらに含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
デジタル処理システムであって、
プロセッサと、
ランダムアクセスメモリ（ＲＡＭ）と、
１つ以上の命令を格納する機械可読媒体とを備え、前記命令は、前記プロセッサによって前記ＲＡＭに取り込まれ、実行されると、前記デジタル処理システムに文字ストリームを処理させ、前記デジタル処理システムは、以下の動作を実行し、これらの動作は、
符号化によって符号化データにしようとする文字ストリームを受信する動作を含み、各文字が対応するプレーンＡＳＣＩＩコードとして表され、
前記文字ストリーム内に隣接する一対の文字を選択する動作と、
前記一対の文字が子音およびその後に続く文字セットのうち１文字、または母音およびその後に続く文字セットのうち１文字を含むか否かという条件で、前記一対の文字を検査する動作とを含み、前記文字セットは、母音およびスペースのみから選択され、
前記条件が満たされている場合、前記一対の文字に対応する拡張ＡＳＣＩＩコードを発行することによって前記符号化データを生成し、前記文字ストリームの次の２文字を次の反復用の一対の文字として形成する動作と、
前記条件が満たされていない場合、前記一対の文字の第１文字を、対応するプレーンＡＳＣＩＩコードの形式で発行することによって前記符号化データを生成し、前記一対の文字の第２文字を第１文字として、前記文字ストリームの次の文字を第２文字として、次の反復用の一対の文字を形成する動作と、
前記形成された対を用いて、前記文字ストリームの全体が前記符号化データに符号化されるまで、前記検査および前記発行の次の反復を実行する動作とを含む、デジタル処理システム。
【請求項８】
請求項１〜６のいずれかに記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、２０１４年６月２０日に提出され、参照により本明細書に組み込まれた米国非仮り特許出願第１４３０９９０１号（代理人整理番号ＯＲＣＬ−２０７−ＵＳ）の利益を主張する。
【０００２】
開示の背景
技術分野
本開示は、一般に、データの符号化に関し、より詳細には、プレーンＡＳＣＩＩ（American Standard Code for Information Interchange）データストリームの符号化に関する。
【背景技術】
【０００３】
関連技術
ＡＳＣＩＩは、英語などの書面言語に一般的に使用されるさまざまな文字を表すために周知の符号化規格である。プレーンＡＳＣＩＩは、７ビットエンコードを用いて、１２８個の特定文字、すなわち、０〜９の数字、ａ〜ｚおよびＡ〜Ｚの英文字、基本的な句読記号の一部、テレタイプマシンから由来する制御コードの一部、およびスペースを表す。
【０００４】
プレーンＡＳＣＩＩは、拡張ＡＳＣＩＩとは異なる。拡張ＡＳＣＩＩにおいて、（バイト表現の）第８ビットは、ラテンおよびその派生語などの他の言語に共通する付加的な文字の符号化にも使用される。バイトを使用して文字を表現する場合、最上位ビットに位置する０を用いて、プレーンＡＳＣＩＩ文字を表し、その位置に１である場合、拡張ＡＳＣＩＩを表す。
【０００５】
プレーンＡＳＣＩＩデータストリームは、プレーンＡＳＣＩＩコードの順序付きシーケンスであり、各コードは、対応する文字を表す。換言すれば、文字の順序付きシーケンスは、対応するプレーンＡＳＣＩＩデータストリームとして表され、各文字は、順序付きシーケンスにおいて対応する位置を有する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えばより良い圧縮などを得るために、このようなプレーンＡＳＣＩＩデータストリームをさらに符号化する必要がある。以下に説明するように、本開示の態様は、このような符号化技術を提供する。
【０００７】
以下に簡潔に説明する添付の図面を参照して、本開示の例示的な実施形態を説明する。
【図面の簡単な説明】
【０００８】
【図１】適切な実行可能モジュールの実行によって、本開示のさまざまな態様を実施するデジタル処理システムの詳細を示すブロック図である。
【図２】本開示の一態様に従って、プレーンＡＳＣＩＩデータストリームの符号化を実行する方法を示すフローチャートである。
【図３Ａ】本開示の一実施形態において、符号化前の（ソース）内容を示すプレーンＡＳＣＩＩデータファイルの例を示す図である。
【図３Ｂ】本開示の一実施形態において、符号化された内容を示す出力ファイルを示す図である。
【図４Ａ】別の実施形態において、符号化前の内容を示すプレーンＡＳＣＩＩデータファイルの例を示す図である。
【図４Ｂ】別の実施形態において、符号化された内容を示す出力ファイルを示す図である。
【図５】本開示の別の実施形態におけるプレーンＡＳＣＩＩデータストリームを符号化するためのデジタル処理システムを示すブロック図である。
【発明を実施するための形態】
【０００９】
図面において、同様の参照番号は、一般的に、同一の要素、または機能的に類似するおよび／または構造的に類似する要素を示す。要素が最初に出現する図面の番号は、対応する参照番号の一番左側の数字によって示される。
【００１０】
本開示の実施形態の詳細な説明
１．概要
プレーンＡＳＣＩＩデータストリームに隣接する一対の文字が子音およびその後に続く文字セットのうち１文字、または母音およびその後に続く文字セットのうち１文字を含むか否かという条件で、この文字対を検査する。文字セットは、母音およびスペースのみから選択される。条件が満たされている場合、その文字対は、対応する拡張ＡＳＣＩＩコードとして符号化される。条件が満たされていない場合、その文字対の第１文字を対応するプレーンＡＳＣＩＩコードとして発行し、（前の）文字対の第２文字を第１文字として、プレーンＡＳＣＩＩストリームの次の文字を第２文字として、次の文字対を形成する。次の対およびその後の対は、上記の条件で検査され、同様に処理される。これによって、プレーンＡＳＣＩＩデータストリームの圧縮が達成される。
【００１１】
一実施形態において、文字セットは、５つの母音のみを含む。別の実施形態において、文字セットは、４つの母音およびスペースを含む。
【００１２】
さらに別の態様によれば、拡張ＡＳＣＩＩ文字を用いて符号化されたプレーンＡＳＣＩＩストリームは、さらに圧縮され、プレーンＡＳＣＩＩデータストリームのさらなる圧縮表現を生成する。
【００１３】
本開示の一態様によれば、プレーンＡＳＣＩＩデータストリームを符号化するためのデジタル処理システムが提供される。このデジタル処理システムは、受信ユニットと、選択ユニットと、検査ユニットと、検査および発行ユニットとを含む。受信ユニットは、各文字が対応するプレーンＡＳＣＩＩコードとして表される文字ストリームを受信するように構成される。選択ユニットは、ストリーム内に隣接する一対の文字を選択するように構成される。検査ユニットは、文字対が子音およびその後に続く文字セットのうち１文字、または母音およびその後に続く文字セットのうち１文字を含むか否かという条件で、前記文字対を検査するように構成される。文字セットは、母音およびスペースのみから選択される。検査および発行ユニットは、条件が満たされている場合、文字対を置換するように対応する拡張ＡＳＣＩＩコードを発行し、ストリームの次の２文字を次の反復用の対として形成するように構成され、条件が満たされていない場合、その文字対の第１文字を対応するプレーンＡＳＣＩＩコードとして発行し、その文字対の第２文字を第１文字として、ストリームの次の文字を第２文字として、次の反復用の文字対を形成するように構成される。検査ユニットと検査および発行ユニットとは、形成された対を用いて、検査および発行の次の反復を実行する。
【００１４】
さらに別の態様によれば、文字セットは、５つの文字のみを含むことができる。
さらに別の態様によれば、文字セットは、大文字の母音または小文字の母音のみを含むことができる。
【００１５】
さらに別の態様によれば、文字セットは、４つの母音およびスペースを含むことができる。
【００１６】
さらに別の態様によれば、４つの母音は、ａ、ｅ、ｉおよびｏを含む。
さらに別の態様によれば、デジタル処理システムは、圧縮手法を用いて前記発行されたコードを処理することによって、文字ストリームのさらなる圧縮表現を生成するように構成された処理ユニットをさらに備えることができる。
【００１７】
本開示の一態様によれば、プレーンＡＳＣＩＩデータストリームを符号化するための装置が提供される。この装置は、各文字が対応するプレーンＡＳＣＩＩコードとして表される文字ストリームを受信する手段と、文字対が子音およびその後に続く文字セットのうち１文字、または母音およびその後に続く文字セットのうち１文字を含むか否かという条件で、文字対を検査する手段と、条件が満たされている場合、その文字対を置換するように対応する拡張ＡＳＣＩＩコードを発行し、ストリームの次の２文字を次の反復用の対として形成する手段と、条件が満たされていない場合、その文字対の第１文字を対応するプレーンＡＳＣＩＩコードとして発行し、その文字対の第２文字を第１文字として、ストリームの次の文字を第２文字として、次の反復用の文字対を形成する手段と、形成された対を用いて検査および発行の次の反復を実行するための手段とを備える。
【００１８】
さらに別の態様によれば、文字セットは、５つの文字のみを含むことができる。
さらに別の態様によれば、文字セットは、大文字の母音または小文字の母音のみを含むことができる。
【００１９】
さらに別の態様によれば、文字セットは、４つの母音およびスペースを含むことができる。
【００２０】
別の態様によれば、４つの母音はａ、ｅ、ｉおよびｏを含む。
さらに別の態様によれば、装置は、文字ストリームのさらなる圧縮表現を生成するように、圧縮手法を用いて発行されたコードを処理する手段をさらに備える。
【００２１】
本開示のいくつかの態様は、説明するための例示を参照して以下に記載される。しかしながら、当業者なら分かるように、本開示は、１つ以上の特定の詳細を使用せず、または他の方法、構成要素および材料などを用いて、実施されてもよい。また、本開示の特徴を明瞭化にするために、周知の構造、材料または動作は、詳細に示されていない。さらに、記載された特徴／態様は、さまざまな組み合せで実施することができる。本明細書において、簡潔のために、さまざまな組み合せの一部のみが記載される。
【００２２】
２．デジタル処理システム
図１は、適切な実行可能モジュールの実行によって、本開示のさまざまな態様を実施するデジタル処理システム１００の詳細を示すブロック図である。デジタル処理システム１００は、１つ以上のプロセッサ、例えば中央処理装置（ＣＰＵ）１１０と、ランダムアクセスメモリ（ＲＡＭ）１２０と、２次メモリ１３０と、グラフィックスコントローラ１６０と、表示ユニット１７０と、ネットワークインターフェイス１８０と、入力インターフェイス１９０とを含むことができる。表示ユニット１７０を除き、すべての構成要素は、関連技術に周知のように、いくつかのバスを含む通信路１５０を介して、互いに通信することができる。図１のブロックは、以下により詳細に説明される。
【００２３】
ＣＰＵ１１０は、本開示のいくつかの特徴を提供するために、ＲＡＭ１２０に記憶された命令を実行することができる。ＣＰＵ１１０は、複数の処理ユニットを含むことができ、各処理ユニットは、潜在的に特定のタスクを実行するために設計される。代替的に、ＣＰＵ１１０は、単一の汎用処理ユニットのみを含むことができる。ＲＡＭ１２０は、通信経路１５０を用いて、２次メモリ１３０から命令を受信することができる。図示されたＲＡＭ１２０は、共有環境１２５およびユーザプログラム１２６を構成するソフトウェア命令を含む。共有環境１２５は、ユーザプログラム１２６を実行するための（共通）ランタイム環境を提供するオペレーティングシステム、デバイスドライバおよび仮想マシンなどを含む。
【００２４】
グラフィックスコントローラ１６０は、ＣＰＵ１１０から受信したデータ／命令に基づいて、（例えば、ＲＧＢフォーマットで）表示信号を生成し、表示ユニット１７０に送信する。表示ユニット１７０は、表示信号によって規定された画像を表示する表示スクリーンを含む。入力インターフェイス１９０は、キーボードおよびポインティングデバイス（例えば、タッチパッド、マウス）に相当することができ、入力を提供するために使用されてもよい。ネットワークインターフェイス１８０は、ネットワークへの接続を提供し、ネットワークに接続された他のシステムとの通信に使用されることができる。
【００２５】
２次メモリ１３０は、ハードドライブ１３５、フラッシュメモリ１３６、および取り外し可能な記憶ドライブ１３７を含むことができる。２次メモリ１３０は、データ（例えば、本開示のさまざまな態様に従って符号化されるＡＳＣＩＩファイル）および（以下に説明する図２のステップを実施するための）ソフトウェア命令を含む。これらのソフトウェア命令によって、デジタル処理システム１００は、本開示に係るいくつかの特徴を提供することができる。２次メモリ１３０に記憶されたコード／命令およびＡＳＣＩＩデータは、より高速な実行速度を得るためにＣＰＵ１１０によって実行される前にＲＡＭ１２０にコピーされてもよく、ＣＰＵ１１０によって直接実行されてもよい。
【００２６】
データおよび命令の一部または全部は、取り外し可能な記憶ユニット１４０上に形成されてもよく、データおよび命令は、取り外し可能な記憶ドライブ１３７によってＣＰＵ１１０に読み出され、提供されてもよい。取り外し可能な記憶ユニット１４０は、記憶取り外し可能な記憶ドライブ１３７と互換性がある媒体およびフォーマットを用いて実装されることができる。これによって、取り外し可能な記憶ドライブ１３７は、データおよび命令を読み取ることができる。したがって、取り外し可能な記憶装置１４０は、コンピュータソフトウェアおよび／またはデータを記憶したコンピュータ可読（記憶）媒体を含む。しかしながら、コンピュータ（または一般的に機械）可読媒体は、他の形態（例えば、取り外し不能、ランダムアクセスなど）の媒体であってもよい。
【００２７】
一般的に、「コンピュータプログラム製品」という用語は、本明細書に使用される場合、取り外し可能な記憶ユニット１４０またはハードドライブ１３５にインストールされたハードディスクを指す。これらのコンピュータプログラム製品は、デジタル処理システム１００にソフトウェアを提供する手段である。ＣＰＵ１１０は、ソフトウェア命令を検索し、命令を実行することによって、上述した本開示のさまざまな特徴を提供することができる。
【００２８】
「記憶媒体／媒体」という用語は、本明細書に使用される場合、マシンを特定の方法で動作させるデータおよび／または命令を記憶する任意の非一時的な媒体を指す。このような記憶媒体は、不揮発性媒体および／または揮発性媒体を含むことができる。不揮発性媒体は、例えば、光ディスク、磁気ディスク、または記憶メモリ１３０などの固体ドライブを含む。揮発性媒体は、ＲＡＭ１２０などの動的メモリを含む。一般的な記憶装置は、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、固体ドライブ、磁気テープまたは任意の他の磁気データ記憶媒体、ＣＤ−ＲＯＭ、任意の他の光学データ記憶媒体、穴パターンを有する任意の物理的媒体、ＲＡＭ、ＡＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、ＮＶＲＡＭ、任意の他のメモリチップまたはカートリッジを含む。
【００２９】
記憶媒体は、伝送媒体と異なるが、伝送媒体と併用することができる。伝送媒体は、記憶媒体間の情報伝送に関与する。例えば、伝送媒体は、バス１５０を構成する同軸ケーブル、銅線および光ファイバを含む。また、伝送媒体は、無線データ通信または赤外線データ通信に生成される音波または光波であってもよい。
【００３０】
上述したように、ＣＰＵ１１０は、ソフトウェア命令を実行して、１つ以上のプレーンＡＳＣＩＩデータストリームを符号化する。プレーンＡＳＣＩＩデータストリームの内容／文字は、ＡＳＣＩＩテキストファイルとして（例えば、２次メモリ１３０に）記憶されてもよく、符号化のためにＣＰＵ１１０によって読み出されてもよい。代替的に、ＣＰＵ１１０は、ネットワークインターフェイス１８０を介して外部ネットワークから、または入力インターフェイス１９０を介してユーザから、符号化されるＡＳＣＩＩデータストリームを受信することができる。符号化データは、２次メモリ１３０に記憶されてもよく、および／またはネットワークインターフェイス１８０を介して送信されてもよい。符号化のために実行されるソフトウェア命令は、ユーザプログラム１２６を構成するまたは共有環境１２５内のツールを構成することができる。
【００３１】
次に、フローチャートを用いて、ＣＰＵ１１０がプレーンＡＳＣＩＩデータストリームの符号化を実行する方法を詳細に説明する。
【００３２】
３．プレーンＡＳＣＩＩデータストリームの符号化
図２は、本開示の一態様に従って、プレーンＡＳＣＩＩデータストリームの符号化を実行する方法を示すフローチャートである。フローチャートは、単に説明のために、図１のブロックに関して、特にＣＰＵ１１０に関して記載されている。しかしながら、本明細書に提供された開示を読むことによって当業者に明らかであるように、本発明のさまざまな態様の範囲および精神から逸脱することなく、他のシステムおよび環境において特徴を実現することもできる。
【００３３】
さらに、関連する技術分野の当業者に明らかであるように、特定の環境に適応するように、いくつかのステップを以下に示す順序とは異なる順序で実行してもよい。このような実現例の多くが本開示のいくつかの態様によって網羅されることを意図している。フローチャートは、ステップ２０１で開始する。その後、制御は、直ちにステップ２１０に移行する。
【００３４】
ステップ２１０において、ＣＰＵ１１０は、プレーンＡＳＣＩＩ文字ストリーム（順序付きシーケンス）を受信する。関連する分野において周知のように、プレーンＡＳＣＩＩ文字のコード値は、０（１０進数）〜１２７（１０進数）の範囲にある。しかしながら、上述したように、各文字は、バイト（８ビット）として符号化されてもよい。ストリームは、２次メモリ１３０に記憶されたファイルから、入力インターフェイス１９０またはネットワークインターフェイス１８０から受信することができる。その後、制御は、ステップ２２０に移行する。
【００３５】
ステップ２２０において、ＣＰＵ１１０は、ストリームに含まれる一対の隣接する文字を選択する。実行される符号化が第１文字から開始すると仮定する場合、ストリームの最初の２文字を選択してもよい。その後、制御は、ステップ２３０に移行する。
【００３６】
ステップ２３０において、ＣＰＵ１１０は、文字対が子音およびその後に続く母音または母音およびその後に続く母音を含むか否かを判定する。周知のように、子音は、子音を表すアルファベット文字を指す。英語のアルファベットにおいて、子音は、２１個の小文字子音ｂ、ｃ、ｄ、ｆ、ｇ、ｈ、ｊ、ｋ、ｌ、ｍ、ｎ、ｐ、ｑ、ｒ、ｓ、ｔ、ｖ、ｗ、ｘ、ｙおよびｚ、および２１個の大文字子音（Ｂ、Ｃ、Ｄ、Ｆなど）を含む。一方、母音は、声道を開いて発音するアルファベット文字を指す。英語のアルファベットにおいて、母音は、５つの小文字母音ａ、ｅ、ｉ、ｏ、ｕ、および５つの大文字母音Ａ、Ｅ、Ｉ、Ｏ、Ｕを含む。周知のように、各々の子音（大文字または小文字）および母音（大文字または小文字）は、対応するプレーンＡＳＣＩＩコードを有する。
【００３７】
ＣＰＵ１１０によって、文字対が子音およびその後に続く母音または母音およびその後に続く母音を含むと判定された場合、制御は、ステップ２４０に移行する。文字対が子音およびその後に続く母音または母音およびその後に続く母音を含まない場合、制御は、ステップ２６０に移行する。
【００３８】
ステップ２４０において、ＣＰＵ１１０は、文字対に対応する（単一の）拡張ＡＳＣＩＩコードを発行する。拡張ＡＳＣＩＩコードは、１２８（１０進数）〜２５５（１０進数）の範囲に位置する（８ビット）ＡＳＣＩＩコード値を指す。「発行（emit）」という用語は、「操作の出力／結果として提供する」ことを意味する。
【００３９】
ＣＰＵ１１０は、一対の子音−母音（子音およびその後に続く母音）および一対の母音−母音（母音およびその後に続く母音）並びにそれに対応する（ユニークおよび単一の）拡張ＡＳＣＩＩコードのマッピングをメモリ記憶装置に、例えば２次メモリ１３０に記憶することができる。文字対が子音およびその後に続く母音または母音およびその後に続く母音を含むというステップ２３０の判定に応じて、ＣＰＵ１１０は、マッピングを検査し、拡張ＡＳＣＩＩコードを発行することができる。その後、制御は、ステップ２５０に移行する。
【００４０】
ステップ２５０において、ＣＰＵ１１０は、ストリーム内の次の２文字を隣接する文字の対として選択する。その後、制御は、ステップ２３０に戻る。フローチャートの対応するステップは、繰り返されてもよい。
【００４１】
ステップ２６０において、ＣＰＵ１１０は、隣接する文字対の第１文字に対応するプレーンＡＳＣＩＩコードを発行する。その後、制御は、ステップ２７０に移行する。
【００４２】
ステップ２７０において、ＣＰＵ１１０は、（前の）文字対の第２文字を第１文字として、ストリームの次の文字を第２文字として、文字対を形成する。その後、制御は、ステップ２３０に戻る。フローチャートの対応するステップは、繰り返されてもよい。
【００４３】
図２のフローチャートは、無限ループであるように示されているが、実際には、ＣＰＵ１１０がＡＳＣＩＩストリームの終了を示す指示（例えば、End Of File／ＥＯＦ）を受信すると、フローチャートの実行ステップが終了する。ステップ２５０を実行する間に終了指示を受けた場合、ステップ２１０のストリームに対応する出力が符号化された形式で発行されたとみなされる。一方、ステップ２７０を実行する間に終了指示を受けた場合、ステップ２３０で処理された第２文字が発行される。
【００４４】
さらに、図２から分かるように、入力ストリームに存在する特定のパターンおよびストリームの長さに関係なく、図２の手法を継続することができる。符号化された出力は、対応する処理の結果である。
【００４５】
プレーンＡＳＣＩＩ文字のストリーム（例えば、ファイル）に図２のフローチャートのステップの動作を行った結果として得られた処理後のデータストリームは、メモリ（例えば、２次メモリ１３０）に記憶されてもよく、および／または適切な伝送媒体（例えば、ネットワークインターフェイス１８０）を介して外部装置に送信されてもよい。処理後のデータストリームのサイズは、プレーンＡＳＣＩＩ文字ストリームのサイズよりも小さいことを理解すべきである。したがって、処理しなかったプレーンＡＳＣＩＩ文字ストリームよりも、記憶要件および伝送時間を低減することができる。
【００４６】
一実施形態において、ＣＰＵは、プレーンＡＳＣＩＩストリーム内の子音−母音文字対または母音−母音文字対の各文字が小文字の英字であって且つ文字対の第１位置に文字「ｚ」（小文字のｚ）を含まない場合のみ、対応する拡張ＡＳＣＩＩコードを発信する。このような制限をする理由は、１２８個の拡張ＡＳＣＩＩコードしか利用できないのに対し、（小文字に限る）英字の子音−母音および母音−母音の組み合せの合計数が１３０通り（２６×５（２６個のアルファベット文字および５つの母音））もある。しかしながら、第１位置の「ｚ」を無視すると、１２５（２５×５）個の拡張ＡＳＣＩＩコードしか必要されない。本開示の特徴に従って、大文字（または選択的に異なる文字）を選択して追加の符号化を行うことによって、代替の実施形態を実現することができる。
【００４７】
複数の言語（梵語、ヒンディ語など）が表音式である、すなわち、多くの単語において第２文字が母音であるという観察に基づいて、（第２位置に母音を位置する）組み合せが選択される。英語も、かなり高い頻度で母音を使用している。したがって、少なくともバイトでプレーンＡＳＣＩＩおよび拡張ＡＳＣＩＩの各文字を表す場合、本明細書に開示された符号化手法によって、圧縮表現を達成することができる。
【００４８】
次に、プレーンＡＳＣＩＩデータストリームの符号化を実行する方法を例示と共に以下に説明する。
【００４９】
４．実施例１
図３Ａは、プレーンＡＳＣＩＩ文字内容が上記の方法で符号化されるファイル３００を示す図である。ファイル３００は、「The Restaurant at the End of the Universe」という文章を含み、各文字は、バイトで表される。この例において、小文字の子音−母音（母音およびその後に続く子音）または小文字の母音−母音（母音およびその後に続く母音）（さらに、文字対の第１位置に「ｚ」を含まない）である隣接する文字の対のみが、対応する拡張ＡＳＣＩＩコードによって符号化されると仮定する。
【００５０】
以下の付録Ａの表は、小文字の子音−母音の対および小文字の母音−母音の対と、それらが符号化される対応の拡張ＡＳＣＩＩコードとの間のマッピング例を示している。したがって、例えば、小文字の母音−母音「ａａ」は、拡張ＡＳＣＩＩコード１２８として符号化され、小文字の母音−母音「ｂａ」は、拡張ＡＳＣＩＩ符号１２９として符号化される。拡張ＡＳＣＩＩコードに対応する（印刷）記号は、ISO 8859-1およびMicrosoft（登録商標）Windows（登録商標） Latin-1の拡張文字に準拠し、付録Ａの表の第３列に示される。付録Ａの表は、２次メモリ１３０に格納されてもよい。
【００５１】
【表１−１】
0006523345.tif 000002
【００５２】
【表１−２】
0006523345.tif 000003
【００５３】
【表１−３】
0006523345.tif 000004
【００５４】
【数１】
0006523345.tif 000005
【００５５】
【数２】
0006523345.tif 000006
【００５６】
付録Ｂは、１４８２バイトのプレーンＡＳＣＩＩテキストファイルHitch.txtの内容を示している。上記の例に従ってHitch.txtファイルを符号化して得られたHitch-encoded.txtの内容は、付録Ｃに記載され、そのサイズが１２７３バイトであり、約１．１６４の圧縮率（非圧縮サイズ／圧縮サイズ）を有する。なお、一般的に、上記の技術に従って得られた圧縮率は、プレーンＡＳＣＩＩストリーム／ファイルのサイズの増加に伴って増加する。
【００５７】
【表２−１】
0006523345.tif 000007
【００５８】
【表２−２】
0006523345.tif 000008
【００５９】
【表３−１】
0006523345.tif 000009
【００６０】
【表３−２】
0006523345.tif 000010
【００６１】
当然、単一の８ビット拡張ＡＳＣＩＩコードを用いて、８ビットプレーンＡＳＣＩＩコードの対を置換することは、プレーンＡＳＣＩＩデータストリームの圧縮表現をもたらす。
【００６２】
しばしば、スペース（１０進数のＡＳＣＩＩコード３２）が少なくとも１つの母音（例えば、文字「ｕ」）よりも頻繁に出現する可能性がある。このような観察に基づいて、本開示の別の実施形態において、（子音または母音に続く）第２位置に位置するスペースまたは４つの母音（例えば、ａ、ｅ、ｉおよびｏ）のうち１つから構成される文字対が選択され、拡張ＡＳＣＩＩコードに符号化される。したがって、以下の例で示すように、ＣＰＵ１１０は、小文字子音−スペースの対、小文字子音−４つの母音のうち１つの小文字母音の対、小文字母音−スペースの対、または小文字母音−４つの母音のうち１つの小文字母音の対（再び、「ｚ」が第１位置に位置する場合を無視する）である文字対を選択して、対応する拡張ＡＳＣＩＩコードに符号化する。
【００６３】
５．実施例２
図４Ａは、プレーンＡＳＣＩＩ文字内容が符号化されるファイル４００を示す図である。図示されたファイル４００は、「The Restaurant at the End of the Universe」という文章を含む。以下の付録Ｄの表は、文字対とそれらが符号化される対応の拡張ＡＳＣＩＩコードとの間のマッピング例を示している。この例において、小文字の「ｕ」が文字対の第２位置に位置する場合に無視されるものとする。しかしながら、他の実施形態において、別の母音が文字対の第２位置に位置する場合に無視されてもよい。上述したように、１２８個の拡張ＡＳＣＩＩコードしか利用できないため、小文字の「ｚ」がマッピングされない。付録Ｄの表のマッピングは、子音−スペースの対および母音−スペースの対（拡張ＡＳＣＩＩコード２２８〜２５２）を除き、付録Ａの表のマッピングと同様である。付録Ｄの表は、２次メモリ１３０に格納されてもよい。
【００６４】
【表４−１】
0006523345.tif 000011
【００６５】
【表４−２】
0006523345.tif 000012
【００６６】
【表４−３】
0006523345.tif 000013
【００６７】
ＣＰＵ１１０は、「The Restaurant at the End of the Universe」という文章によって表されるプレーンＡＳＣＩＩデータストリームを受信すると、図２のフローチャートに従って、上述した方法でデータストリームを処理する。図４Ａを参照して、ＣＰＵ１１０は、マーカ４０１〜４１２によって示される文字対を付録Ａの表に対応する拡張ＡＳＣＩＩコードに符号化する。例えば、ＣＰＵ１１０は、（マーカ４０４および４０５によって示される）文字対「tSPACE」を拡張ＡＳＣＩＩコード２４７（１０進数）に符号化し、図４Ｂから見られるように、印刷時に文字「÷」として印刷される。ＣＰＵ１１０は、反復的に動作すること（ステップ２５０）によって、同様に他の文字対を識別し、符号化する。
【００６８】
【数３】
0006523345.tif 000014
【００６９】
したがって、一般的に、ＣＰＵ１１０は、文字対が子音およびその後に続く文字セットのうち１文字、または母音およびその後に続く文字セットのうち１文字を含むか否かという条件で、選択された隣接する文字の対を検査する。文字セットは、母音およびスペースのみから選択される。
【００７０】
一般的に、プレーンＡＳＣＩＩ文字（拡張ＡＳＣＩＩコードに符号化される小文字または大文字の子音−母音、母音−母音、子音−スペース、母音−スペース）の組み合せの種類の選択は、利用可能な拡張ＡＳＣＩＩコードの数（１２８に制限される）および／または特定の組み合せの出現頻度などの考慮事項によって決定されてもよい。
【００７１】
手法に従って符号化された出力は、周知の技術および／またはWinZip、7-Zipなどの（Huffman符号化を使用する技術）圧縮プログラムを用いて、さらに圧縮されてもよい。当業者には明らかであるように、当然ながら、（プレーンＡＳＣＩＩに比べて）異なる記号セットおよびより少ない文字により構成される入力ストリームに基づく操作によって、異なるレベルの圧縮が得られるだろう。
【００７２】
図５は、本開示の一実施形態におけるプレーンＡＳＣＩＩデータストリームを符号化するためのデジタル処理システム５００を示すブロック図である。デジタル処理システム５００のブロックは、本発明の原理を実行するハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合せによって実現することができる。当業者であれば理解するように、図５に記載されたブロックを組み合せてサブブロックに分割して、上述した本発明の原理を実現することができる。したがって、本明細書の説明は、本明細書に記載された機能ブロックの任意可能な組み合せまたは分離またはさらなる定義をサポートすることができる。
【００７３】
図５に示すように、デジタル処理システム５００は、受信ユニット５０１と、選択ユニット５０３と、検査ユニット５０５と、発行および形成ユニット５０７とを備えてもよい。受信ユニット５０１は、各文字が対応するプレーンＡＳＣＩＩコードとして表される文字ストリームを受信するように構成されることができる。選択ユニット５０３は、ストリーム内に隣接する一対の文字を選択するように構成されることができる。検査ユニット５０５は、文字対が子音およびその後に続く文字セットのうち１文字、または母音およびその後に続く文字セットのうち１文字を含むか否かという条件で、文字対を検査するように構成されることができる。文字セットは、母音およびスペースのみから選択される。発行および形成ユニット５０７は、条件が満たされている場合、対を置換するように対応する拡張ＡＳＣＩＩコードを発行し、ストリームの次の２文字を次の反復用の対として形成形成するように構成され、条件が満たされていない場合、その文字対の第１文字を対応するプレーンＡＳＣＩＩコードとして発行し、その文字対の第２文字を第１文字として、ストリームの次の文字を第２文字として、次の反復用の文字対を形成するように構成されることができる。検査ユニット５０５および発行および形成ユニット５０７は、形成された対を用いて、検査および発行の次の反復を実行する。
【００７４】
一実施形態において、文字セットは、５つの文字のみを含むことができる。
一実施形態において、文字セットは、大文字の母音または小文字の母音のみを含むことができる。
【００７５】
一実施形態において、文字セットは、４つの母音およびスペースを含むことができる。
一実施形態において、４つの母音は、ａ、ｅ、ｉおよびｏを含む。
【００７６】
一実施形態において、デジタル処理システム５００は、処理ユニット５０９をさらに備えることができる。処理ユニット５０９は、圧縮手法を用いて発行されたコードを処理することによって、文字ストリームのさらなる圧縮表現を生成するように構成されることができる。
【００７７】
本明細書を通して、「１つの実施形態」、「一実施形態」または類似する用語は、実施形態に関連して説明された特定の特徴、構造または特性が、本開示の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書を通して、「一実施形態では」、「実施形態において」および類似する用語は、必ずしもすべて同一の実施形態を指す必要がない。
【００７８】
さらに、本開示の記載された特徴、構造または特性は、任意の適切な方法で１つ以上の実施形態に組み合せることができる。上記の説明において、本開示の実施形態の完全な理解を与えるために、プログラミング例、ソフトウェアモジュール、ユーザ選択、ネットワークトランザクション、データベースクエリ、データベース構造、ハードウェアモジュール、ハードウェア回路、ハードウェアチップなどの多数の特定の詳細が提供される。
【００７９】
６．結論
上記で本発明のさまざまな実施形態を説明したが、これらの実施形態は、限定の目的ではなく、例示として提示されていることを理解すべきである。したがって、本発明の幅および範囲は、上述した例示的な実施形態のいずれかに限定されず、添付の特許請求の範囲およびその等価物によって規定されるべきである。
【００８０】
本開示の機能および利点を強調する添付文書に示されている図面および／またはスクリーンショットは、例示の目的で提示されることを理解すべきである。本開示は、添付の図面に示された方法以外の方法で利用され得るように、十分に柔軟で構成可能である。
【００８１】
さらに、以下の要約書の目的は、特許庁および一般公衆に、特に特許または法律の用語または表現に精通していない当該分野の科学者、技術者および実践者が、大まかな閲覧により、本願の技術的開示の本質および要旨を迅速に理解するものである。要約書は、決して本開示の範囲を限定すると意図していない。
【図１】
0006523345.tif 000015
【図２】
0006523345.tif 000016
【図３Ａ】
0006523345.tif 000017
【図３Ｂ】
0006523345.tif 000018
【図４Ａ】
0006523345.tif 000019
【図４Ｂ】
0006523345.tif 000020
【図５】
0006523345.tif 000021