(57)【要約】【課題】上述の装置では、統計的に文字コード種別を判別しているので、判定の精度が、十分ではないといった課題がある。【解決手段】判定装置は、入力されたテキストの種類を判定する判定装置である。判定装置は、予め定められた種類のテキストに用いられうる文字列を記憶する記憶装置から前記文字列を取得する取得部と、入力されたテキスト中に前記文字列が含まれるか否かに基づいて、前記テキストの種類を判定する判定部と、を備える。【選択図】図１
2015118625.tif 000002
【特許請求の範囲】
【請求項１】
入力されたテキストの種類を判定する判定装置であって、
予め定められた種類のテキストに用いられうる文字列を記憶する記憶装置から前記文字列を取得する取得部と、
入力されたテキスト中に前記文字列が含まれるか否かに基づいて、前記テキストの種類を判定する判定部と、
を備える判定装置。
【請求項２】
前記取得部は、変換前の文字列の文字コード種別を誤って認識して他の文字コード種別の文字列に誤変換した誤変換文字列を前記記憶装置から取得し、
前記判定部は、入力されたテキスト中に前記誤変換文字列が含まれることを条件として文字コード種別の誤変換を検出する
請求項１に記載の判定装置。
【請求項３】
前記判定部は、閾値以上の長さまたは数の前記誤変換文字列が入力されたテキスト中に含まれることを条件として文字コード種別の誤変換を検出する
請求項２に記載の判定装置。
【請求項４】
前記取得部は、誤変換の種類に対応付けられた誤変換文字列を前記記憶装置から取得し、
前記判定部は、入力されたテキスト中に含まれる誤変換文字列がいずれの種類の誤変換に対応するものであるかに基づいて、誤変換の種類を判定する
請求項２または３に記載の判定装置。
【請求項５】
前記判定部が判定した誤変換の種類に基づいて、入力されたテキストを変換前の文字コード種別のテキストに戻す修正部を更に備える請求項４に記載の判定装置。
【請求項６】
前記修正部は、前記判定部が判定した誤変換の種類に基づいて、変換前の文字コード種別に戻したテキストを変換後の文字コード種別の文字列に再変換する請求項５に記載の判定装置。
【請求項７】
前記取得部は、変換前の文字列の文字コード種別を正しく認識して他の文字コード種別の文字列に変換した正常変換文字列を前記記憶装置から取得し、
前記判定部は、入力されたテキスト中に前記正常変換文字列が含まれることを条件として文字コード種別が正しく変換されたことを検出する
請求項１から６のいずれか１項に記載の判定装置。
【請求項８】
前記取得部は、変換前の文字列の文字コード種別を正しく認識して他の文字コード種別の文字列に変換した正常変換文字列を前記記憶装置から取得し、
前記判定部は、入力されたテキストを１以上の文字コード種別で逆変換したテキストに前記正常変換文字列が含まれることを条件として、入力されたテキストの種類を判定する
請求項１から７のいずれか１項に記載の判定装置。
【請求項９】
前記取得部は、前記正常変換文字列の文字コード種別を前記記憶装置から取得し、
前記判定部は、前記正常変換文字列の文字コード種別に基づいて、入力されたテキストの誤変換を検出する
請求項８に記載の判定装置。
【請求項１０】
前記取得部は、予め定められた言語の文字列を前記記憶装置から取得し、
前記判定部は、入力されたテキスト中に前記文字列が含まれるか否かに基づいて、前記テキストの言語を判定する
請求項１から９のいずれか１項に記載の判定装置。
【請求項１１】
入力されたテキストの種類を判定する判定方法であって、
予め定められた種類のテキストに用いられうる文字列を記憶する記憶装置から前記文字列を取得する取得段階と、
入力されたテキスト中に前記文字列が含まれるか否かに基づいて、前記テキストの種類を判定する判定段階と、
を備える判定方法。
【請求項１２】
入力されたテキストの種類を判定するコンピュータに実行されるプログラムであって、
予め定められた種類のテキストに用いられうる文字列を記憶する記憶装置から前記文字列を取得する取得部と、
入力されたテキスト中に前記文字列が含まれるか否かに基づいて、前記テキストの種類を判定する判定部と、
して前記コンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、判定装置、判定方法、及び、プログラムに関する。
【背景技術】
【０００２】
テキストの文字コード種類等を判定する装置が知られている。例えば、複数の文字コード種別によって変換した文字列を統計的に解析して、文字コード種別を判別する装置が知られている（例えば、特許文献１参照）。
特許文献１  特開２０１０−１７６２３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述の装置では、統計的に文字コード種別を判別しているので、判定の精度が十分ではないといった課題がある。
【課題を解決するための手段】
【０００４】
本発明の態様においては、入力されたテキストの種類を判定する判定装置であって、予め定められた種類のテキストに用いられうる文字列を記憶する記憶装置から前記文字列を取得する取得部と、入力されたテキスト中に前記文字列が含まれるか否かに基づいて、前記テキストの種類を判定する判定部と、を備える判定装置、判定方法、及び、プログラムを提供する。
【０００５】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００６】
【図１】判定装置１０の全体構成図である。
【図２】文字列生成部２０による誤変換文字列リスト３２の生成処理を説明するフローチャートである。
【図３】文字列生成部２０によって生成される誤変換文字列リスト３２の一例を示す。
【図４】取得部２２、判定部２４及び修正部２６による誤変換の判定処理を説明するフローチャートである。
【図５】検出量の算出を説明する図である。
【図６】検出量の算出を説明する図である。
【図７】検出量の算出を説明する図である。
【図８】検出量の算出を説明する図である。
【図９】検出量の算出を説明する図である。
【図１０】検出量の算出を説明する図である。
【図１１】検出量の算出を説明する図である。
【図１２】判定装置１１０の全体構成図である。
【図１３】判定装置１１０の文字列生成部２０による正常変換文字列リスト３４の生成処理を説明するフローチャートである。
【図１４】文字列生成部２０によって生成される正常変換文字列リスト３４の一例を示す。
【図１５】取得部２２、判定部２４及び修正部２６による誤変換の判定処理を説明するフローチャートである。
【図１６】本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【０００７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００８】
図１は、判定装置１０の全体構成図である。判定装置１０は、入力されたテキストの種類を判定する。テキストの種類の判定とは、テキストを変換した文字コード種別の判定、変換に用いられた文字コード種別の正誤の判定、及び、テキストの言語の種類の判定を含む。例えば、判定装置１０は、予め記憶部１４に記憶された誤変換された文字列が、入力されたテキストに含まれているか否かによって、当該テキストが誤変換されたか否かを判定する。尚、当該誤変換された文字列とは、表示装置等に表示した場合、文字化けして意味をなさないように表示される文字列のことである。
【０００９】
図１に示すように、判定装置１０は、制御部１２と、記憶部１４とを備える。判定装置１０の一例は、コンピュータである。
【００１０】
制御部１２は、一例として、ＣＰＵ（Central Processing Unit）等の演算処理装置である。制御部１２は、文字列生成部２０と、取得部２２と、判定部２４と、修正部２６とを有する。例えば、制御部１２は、記憶部１４に記憶されたプログラムを読み込むことによって、文字列生成部２０、取得部２２、判定部２４、及び、修正部２６として機能する。尚、文字列生成部２０、取得部２２、判定部２４、及び、修正部２６の一部または全部を回路等のハードウェアによって構成してもよい。
【００１１】
文字列生成部２０は、記憶部１４に記憶された文字列リスト３０に含まれる文字列を取得する。文字列生成部２０は、変換前の文字列の文字コード種別を誤って認識して１以上の他の文字コード種別の文字列に誤変換した誤変換文字列を含む誤変換文字列リスト３２を記憶部１４に記憶させる。文字列生成部２０は、誤変換の種類と対応付けられた誤変換文字列を含む誤変換文字列リスト３２を記憶部１４に記憶させる。誤変換の種類とは、例えば、変換前後の文字コード種別、及び、誤認識した文字コード種別の組み合わせのことである。尚、記憶部１４が、予め誤変換文字列リスト３２を記憶する場合、文字列生成部２０は省略してもよい。また、記憶部１４が、予め誤変換文字列リスト３２を記憶する場合であっても、新たに取得したテキストに含まれる文字列に基づいて、誤変換文字列リスト３２を更新するために文字列生成部２０を設けてもよい。
【００１２】
取得部２２は、記憶部１４及び判定部２４と情報を入出力可能に接続されている。取得部２２は、予め定められた種類のテキストに用いられうる文字列を記憶する記憶部１４から文字列を取得する。例えば、取得部２２は、文字列として誤変換の種類と対応付けられた誤変換文字列を記憶部１４から取得する。取得部２２は、取得した誤変換文字列を誤変換の種類とともに判定部２４へと出力する。
【００１３】
判定部２４は、取得部２２から誤変換文字列を取得する。判定部２４は、入力されたテキスト中に誤変換文字列が含まれているか否かに基づいて、テキストの種類を判定する。例えば、判定部２４は、入力されたテキスト中に誤変換文字列が含まれていることを条件として文字コード種別の誤変換を検出する。具体的には、判定部２４は、閾値Ｔｈ以上の長さまたは数の誤変換文字列が入力されたテキスト中に含まれることを条件として文字コード種別の誤変換を検出する。誤変換文字列の長さまたは数の一例は、誤変換文字列のバイト長またはバイト数である。また、判定部２４は、入力されたテキスト中に含まれる誤変換文字列がいずれの種類の誤変換に対応するものであるかに基づいて、誤変換の種類を判定する。例えば、判定部２４は、取得部２２から取得した誤変換文字列に対応づけられた誤変換の種類に基づいて、変換前後の文字コード種別、及び、誤認識した文字コード種別を判定する。判定部２４は、修正部２６と接続されている。判定部２４は、検出した誤変換、及び、誤変換の種類を修正部２６に出力する。
【００１４】
修正部２６は、判定部２４が判定した誤変換の種類に基づいて、入力されたテキストを変換前の文字コード種別のテキストに戻す。修正部２６は、判定部２４が判定した誤変換の種類に基づいて、変換前の文字コード種別に戻したテキストを変換後の文字コード種別の文字列に再変換する。
【００１５】
記憶部１４は、テキストの種類を判定するために必要なプログラム及び情報を記憶する。例えば、記憶部１４は、テキストの種類を判定する時に使用される誤変換文字列リスト３２を生成する生成プログラムを記憶する。記憶部１４は、生成された誤変換文字列リスト３２に基づいて、テキストの種類を判定する判定プログラムを記憶する。記憶部１４は、文字列リスト３０を記憶する。文字列リスト３０は、いずれかの文字コード種別による複数の文字列を含む。文字列は、例えば、日本語の場合、１以上の漢字を含む意味のある単語、及び、１以上のひらがなを含む意味のある単語である。意味のある単語とは、通常の辞書等に記載されている単語のことである。記憶部１４は、文字列リスト３０の各文字列を誤変換した複数の誤変換文字列を含む誤変換文字列リスト３２を記憶する。尚、記憶部１４は、外部のサーバ等に設けてもよい。
【００１６】
図２は、文字列生成部２０による誤変換文字列リスト３２の生成処理を説明するフローチャートである。誤変換文字列リストの生成処理は、制御部１２が生成プログラムを読み込むことによって実行される。図３は、文字列生成部２０によって生成される誤変換文字列リスト３２の一例を示す。
【００１７】
図２に示すように、文字列生成部２０は、記憶部１４に記憶された文字列リスト３０から、当該文字列リスト３０の文字コード種別及び文字列を取得する（Ｓ１０）。
【００１８】
文字列生成部２０は、取得した文字列を複数の文字コード種別へと正常に変換して、変換前の文字列を生成する（Ｓ１２）。例えば、文字列生成部２０は、取得した文字列の文字コード種別がＵＴＦ８である場合、文字コード種別をＵＴＦ−８と正しく認識して、当該文字列をＳｈｉｆｔ−ＪＩＳ、及び、ＥＵＣ−ＪＰ等の異なる文字コード種別へと正常に変換した文字列を生成する。ここで生成された文字列を変換前の文字列とする。正常に変換された文字列とは、表示装置等に表示した場合、文字化けせずに意味のある文字として表示される文字列のことである。
【００１９】
文字列生成部２０は、生成した変換前の文字列を、更に、生成したときの正しい文字コード種別とは別の文字コード種別と誤認識して、異なる文字コード種別へと変換して、変換後の文字列を誤変換文字列として生成する（Ｓ１４）。誤変換文字列を生成するときに用いた文字コード種別を変換後の文字コード種別とする。例えば、文字列生成部２０は、文字コード種別Ｓｈｉｆｔ−ＪＩＳへと正常に変換した変換前の文字列のそれぞれを、文字コード種別Ｌａｔｉｎ−１と誤認識して、変換後の文字コード種別ＵＴＦ−８へと変換して誤変換文字列を生成する。ここで、文字コード種別Ｓｈｉｆｔ−ＪＩＳの文字列を、文字コード種別Ｌａｔｉｎ−１と誤認識して、文字コード種別ＵＴＦ−８に変換しているので、当該変換は誤変換である。同様に、文字列生成部２０は、他の文字コード種別ＥＵＣ−ＪＰ等によって正常に変換した変換前の文字列のそれぞれを、異なる文字コード種別Ｌａｔｉｎ−１と誤認識して、文字コード種別ＵＴＦ−８等へ誤変換することにより誤変換文字列を生成する。尚、文字列生成部２０は、元の文字コード種別ＵＴＦ−８、即ち、文字列リスト３０の文字コード種別の文字列についても他の文字コード種別と誤認識して、誤変換した誤変換文字列を生成する。
【００２０】
文字列生成部２０は、複数の誤変換文字列を、記憶部１４に記憶された誤変換文字列リスト３２に登録する（Ｓ１６）。例えば、文字列生成部２０は、変換前の文字列、変換前の文字コード種別、誤認識した文字コード種別、変換後の文字コード種別、及び、誤変換文字列を関連付けた誤変換文字列リスト３２を生成して、記憶部１４に記憶させる。従って、文字列生成部２０は、変換前後の文字コード種別、及び、誤認識した文字コード種別のそれぞれの組み合わせに対して誤変換文字列を生成する。
【００２１】
この後、文字列生成部２０は、文字列リスト３０に含まれる全ての文字列に対して、上述のステップＳ１０からＳ１６を繰り返す（Ｓ１８：Ｎｏ）。
【００２２】
文字列生成部２０は、文字列リスト３０に含まれる全ての文字列に対して、上述のステップＳ１０からＳ１６を実行したと判定すると（Ｓ１８：Ｙｅｓ）、生成処理を終了する。
【００２３】
これにより、文字列生成部２０は、図３に示すように、ステップＳ１２で生成した各種の文字コード種別の変換前の文字列、変換前後の文字コード種別、及び、誤認識した文字コード種別を、ステップＳ１４で生成した誤変換文字列に関連付けた誤変換文字列リスト３２を記憶部１４に記憶させる。換言すれば、文字列生成部２０は、文字コード種別の数の略３乗に文字列の数をかけた個数の誤変換文字列を含む誤変換文字列リスト３２を生成する。
【００２４】
次に、誤変換文字列リスト３２について説明する。図３に示す誤変換文字列リスト３２の最上段では、記憶部１４に記憶された文字コード種別ＵＴＦ−８の文字列を文字コード種別Ｓｈｉｆｔ−ＪＩＳへと正常に変換した文字列を変換前の文字列ＷＲ１０１としている。更に、誤変換文字列リスト３２の最上段では、変換前の文字列ＷＲ１０１の文字コード種別Ｓｈｉｆｔ−ＪＩＳを、文字コード種別Ｌａｔｉｎ−１と誤認識して、文字コード種別ＵＴＦ−８へと誤変換して変換後の文字列ＷＲ２０１を生成している。文字列ＷＲ１０１の一例は「特許文献」であって、文字列ＷＲ２０１の一例は「□□□□」である。また、誤変換文字列リスト３２の中段では、変換前の文字列ＷＲ３０１の文字コード種別ＥＵＣ−ＪＰを、文字コード種別Ｓｈｉｆｔ−ＪＩＳと誤認識して、文字コード種別ＵＴＦ−８へと誤変換して変換後の文字列ＷＲ４０１を生成している。
【００２５】
図４は、取得部２２、判定部２４及び修正部２６による誤変換の判定処理を説明するフローチャートである。図５、図６、図７、図８、図９、図１０、及び、図１１は、検出量の算出を説明する図である。誤変換の判定処理は、制御部１２が判定プログラムを読み込むことによって実行される。
【００２６】
図４に示すように、取得部２２が入力されたテキストを取得する（Ｓ２０）。例えば、取得部２２は、ネットワークを介して外部から入力されたテキストを取得してもよく、内部の記憶部１４から入力されたテキストを取得してもよい。取得部２２は、取得したテキストを判定部２４へ出力する。
【００２７】
取得部２２は、記憶部１４から全ての誤変換文字列を含む誤変換文字列リスト３２を取得する（Ｓ２２）。取得部２２は、取得した誤変換文字列リスト３２を判定部２４へと出力する。
【００２８】
判定部２４は、テキストに含まれる文字列から、取得部２２から取得した誤変換文字列リスト３２に含まれる誤変換文字列を検出する。判定部２４は、検出した誤変換文字列に基づいて、誤変換の種類毎に検出量を算出する（Ｓ２４）。検出量は、検出された連続する誤変換文字列のバイト数またはバイト長の合計である。
【００２９】
例えば、図５に示すように、判定部２４は、テキスト内の検索対象の最初の１バイト目のデータと同じ１バイト目のデータを有する誤変換文字列を誤変換文字列リスト３２から抽出する。判定部２４は、テキストの当該１バイト目のデータが誤変換文字列リスト３２のいずれかの誤変換文字列の１バイト目のデータにも一致しない場合、テキストの次の２バイト目のデータが、１バイト目のデータと一致する誤変換文字列を誤変換文字列リスト３２から抽出する。このようにして、判定部２４は、テキストのいずれかのデータが誤変換文字列リスト３２のいずれかの誤変換文字列の１バイト目に一致するまで続ける。判定部２４は、テキストのいずれのデータも誤変換文字列リスト３２の誤変換文字列の１バイト目に一致しない場合、検出量を０とする。
【００３０】
一方、図６に示すように、判定部２４は、テキストのいずれかのデータ、例えば、テキストの最初の１バイト目のデータがいずれかの誤変換文字列の１バイト目と一致すると、当該一致する全ての誤変換文字列を誤変換文字列リスト３２から抽出する。次に、判定部２４は、テキストの２バイト目のデータと同じ２バイト目のデータを有する誤変換文字列を、既に抽出済みの誤変換文字列から絞り込む。判定部２４は、テキストのデータと同じ並びのデータを有する誤変換文字列が抽出される限り、同じ処理をテキストの３バイト目以降にも実行する。判定部２４は、テキストのデータと同じ並びのデータの誤変換文字列が検出されなかった場合、検出された誤変換文字列のうち、最長の誤変換文字列のバイト数を検出量とする。例えば、図７に示す例では、判定部２４は、６バイト長の誤変換文字列を最長の誤変換文字列として誤変換文字列リスト３２から検出している。
【００３１】
同様に、図８に示すように、判定部２４は、テキストの検索対象の２バイト目のデータと同じ１バイト目のデータを有する誤変換文字列を誤変換文字列リスト３２から抽出する。判定部２４は、テキストの２バイト目のデータを１バイト目のデータとする誤変換文字列であって、テキストの２バイト目以降も並びが一致する誤変換文字列のうち、最もバイト長が長い誤変換文字列を誤変換文字列リスト３２から検出する。
【００３２】
ここで、判定部２４は、テキストの２バイト目のデータと同じ１バイト目のデータを有する誤変換文字列を誤変換文字列リスト３２から検出しても、テキスト内で誤変換文字列が全て重複している場合、当該誤変換文字列のバイト長を検出量としてカウントしない。例えば、図９の下に示すように、判定部２４は、テキストの２バイト目のデータと同じ１バイト目のデータを有する誤変換文字列として、４バイト長の誤変換文字列を検出した場合、テキスト内で誤変換文字列が全て重複しているので、４バイト長を検出量としてカウントしない。
【００３３】
一方、判定部２４は、テキストの２バイト目のデータと同じ１バイト目のデータを有する誤変換文字列を誤変換文字列リスト３２から検出した場合、先に検出した誤変換文字列よりもバイト長が長く、且つ、テキスト内で誤変換文字列が重複している場合、１バイト目のバイト長をキャンセルして、当該誤変換文字列のバイト長を検出量としてカウントする。
【００３４】
更に、判定部２４は、テキストの検索対象の３バイト目のデータ、４バイト目のデータに関して同様の処理を実行する。
【００３５】
ここで、判定部２４は、先に検出した誤変換文字列の一部と、後に検出した誤変換文字列の一部とが重複する場合、後に検出された誤変換文字列のバイト長から重複しているバイト長を引いた値を、先に検出された誤変換文字列のバイト長に足した値を検出量とする。
【００３６】
例えば、判定部２４が、図７に示す６バイト長の誤変換文字列を検出した後、図１０の下に示す６バイト目から始まる３バイト長の誤変換文字列を検出したとする。この場合、図７の誤変換文字列の６バイト目と、図１０に示す誤変換文字列の１バイト目とが重複しているので、判定部２４は、重複している１バイト長を引いた８バイト長を検出量としてカウントする。
【００３７】
また、判定部２４は、テキスト内において、先に検出された誤変換文字列と重ならず、且つ、連続する誤変換文字列を検出した場合、当該後に検出された誤変換文字列のバイト長を先に検出された誤変換文字列のバイト長に足した値を検出量とする。例えば、判定部２４は、図７に示す６バイト長の誤変換文字列を検出した後、図１１の下に示す７バイト目から始まる２バイト長の誤変換文字列を検出したとする。この場合、互いの誤変換文字列が重複しないので、判定部２４は、８バイト長を検出量としてカウントする。尚、判定部２４は、複数の誤変換文字列が連続しておらず、途切れている場合であっても、それぞれの誤変換文字列のバイト長を足してもよい。
【００３８】
この後、判定部２４は、予め定められたバイト、例えば、４０バイト目まで上述の処理を実行して、テキストに含まれる誤変換文字列リスト３２の誤変換文字列を検出して、検出量の合計を算出する。
【００３９】
判定部２４は、算出した検出量が閾値Ｔｈ以上か否かを判定する（Ｓ２６）。閾値Ｔｈの一例は、２０バイトである。判定部２４は、算出した検出量が閾値Ｔｈ未満と判定すると（Ｓ２６：Ｎｏ）、判定対象のテキストが正常な文字コード種別によって変換されていると判定して（Ｓ２８）、ステップＳ２６に戻る。検出量が閾値Ｔｈ未満とは、誤変換されている誤変換文字列がテキストにほとんど含まれていないことを意味する。
【００４０】
一方、判定部２４は、算出した検出量が閾値Ｔｈ以上と判定すると（Ｓ２６：Ｙｅｓ）、判定対象のテキストが、誤った文字コード種別によって誤変換されたと判定する（Ｓ３０）。検出量が閾値Ｔｈ以上とは、誤変換文字列リスト３２に含まれる誤変換された誤変換文字列がテキストに多く含まれることを意味する。
【００４１】
判定部２４は、変換前後の文字コード種別及び誤認識した文字コード種別を誤変換の種類として判定する（Ｓ３２）。判定部２４は、検出した誤変換文字列に関連付けられている変換前後の文字コード種別及び誤認識した文字コード種別に基づいて、各文字コード種別を判定する。
【００４２】
例えば、判定部２４は、検出した誤変換文字列が図３の誤変換文字列リスト３２の上段部分に含まれる場合、変換前の文字コード種別をＳｈｉｆｔ−ＪＩＳ、変換後の文字コード種別をＵＴＦ−８、及び、誤認識した文字コード種別をＬａｔｉｎ−１と判定する。判定部２４は、判定した各文字コード種別を誤変換の種類として修正部２６へ出力する。
【００４３】
修正部２６は、判定部２４から取得した誤変換の種類に含まれる文字コード種別に基づいて、変換後の誤変換文字列を含むテキストを、変換前の正常な文字列を含むテキストに逆変換する（Ｓ３４）。例えば、修正部２６は、変換後の文字コード種別としてＵＴＦ−８、及び、誤認識した文字コード種別としてＬａｔｉｎ−１を取得すると、テキストの文字コード種別をＵＴＦ−８と見なして、文字コード種別Ｌａｔｉｎ−１への変換を実行する。これにより、修正部２６は、誤変換されていたテキストの文字列を、変換前の正常な文字コード種別であるＳｈｉｆｔ−ＪＩＳの文字列へと逆変換する。より具体的には、図３に示す文字コード種別Ｓｈｉｆｔ−ＪＩＳの文字列ＷＲ１０１の文字コード種別をＬａｔｉｎ−１と誤認識してＵＴＦ−８に誤変換した誤変換文字列ＷＲ２０１を入力されたテキストが含むとする。修正部２６は、この誤変換文字列ＷＲ２０１の文字コード種別をＵＴＦ−８と認識して文字コード種別Ｌａｔｉｎ−１への変換を実行することにより、誤変換文字列ＷＲ２０１を文字コード種別Ｓｈｉｆｔ−ＪＩＳによって正しく認識される文字列ＷＲ１０１へと逆変換する。
【００４４】
次に、修正部２６は、逆変換したテキストを正常変換する（Ｓ３６）。例えば、修正部２６は、変換前の文字コード種別としてＳｈｉｆｔ−ＪＩＳを、及び、変換後の文字コード種別としてＵＴＦ−８を取得すると、文字コード種別Ｓｈｉｆｔ−ＪＩＳから文字コード種別ＵＴＦ−８へ正常に再変換して、テキストを生成する。これにより、修正部２６は、文字コード種別ＵＴＦ−８によって正しく認識される文字化けしていないテキストを生成できる。この後、修正部２６は、正常に再変換したテキストを表示装置または印刷装置等に出力してもよい。
【００４５】
上述したように判定装置１０では、記憶部１４に記憶された誤変換文字列リスト３２に含まれる誤変換文字列が、入力された判定対象のテキスト内に含まれるか否かによって、判定部２４が、当該テキストが誤変換されたか否かを判定している。このように、正常に変換された文字列とは略一致しない誤変換された誤変換文字列によってテキストの誤変換を判定しているので、判定装置１０は、略確実に精度よく誤変換を判定できる。
【００４６】
更に、判定装置１０では、判定部２４が、誤変換文字列リスト３２の誤変換文字列に関連付けられた変換前後の文字コード種別及び誤認識した文字コード種別に基づいて、各文字コード種別を判定できる。これにより、判定部２４は、各文字コード種別を正確に判定できる。このため、修正部２６は、判定部２４から変換後の文字コード種別及び誤認識された文字コード種別を取得することによって、精度よく変換前の文字コード種別にテキストを逆変換できる。更に、修正部２６は、判定部２４から変換前後の文字コード種別を取得することによって、逆変換したテキストを変換後の文字コード種別に正常に再変換できる。
【００４７】
次に、上述の実施形態を変更した実施形態について説明する。図１２は、判定装置１１０の全体構成図である。図１２において、図１と同様の機能及び構成を有する部材については説明を省略して、変更点を中心に説明する。
【００４８】
図１２に示すように、判定装置１１０は、制御部１２と、記憶部１４とを備える。制御部１２は、文字列生成部２０と、取得部２２と、判定部２４と、修正部２６とを有する。
【００４９】
文字列生成部２０は、記憶部１４に記憶された文字列リスト３０に含まれる変換前の文字列を取得する。文字列生成部２０は、変換前の文字列の文字コード種別を正しく認識して他の文字コード種別の文字列に正常に変換した正常変換文字列を含む正常変換文字列リスト３４を生成して、記憶部１４に記憶させる。
【００５０】
取得部２２は、入力されたテキストを取得して、判定部２４へ取得する。取得部２２は、正常変換文字列及び正常変換文字列の文字コード種別を含む正常変換文字列リスト３４を記憶部１４から取得する。取得部２２は、取得した正常変換文字列リスト３４を判定部２４へ出力する。
【００５１】
判定部２４は、入力されたテキストをある文字コード種別と認識して、他の全ての文字コード種別で逆変換した１以上のテキストを生成する。判定部２４は、入力されたテキスト中に正常変換文字列が含まれることを条件として文字コード種別が正しく逆変換されたことを検出する。また、判定部２４は、逆変換を判定するときに用いた正常変換文字列リスト３４の正常変換文字列の文字コード種別に基づいて、入力されたテキストの誤変換を検出する。
【００５２】
修正部２６は、判定部２４から取得した逆変換されたテキストを正常変換する。
【００５３】
図１３は、判定装置１１０の文字列生成部２０による正常変換文字列リスト３４の生成処理を説明するフローチャートである。図１４は、文字列生成部２０によって生成される正常変換文字列リスト３４の一例を示す。
【００５４】
図１３に示すように、文字列生成部２０は、記憶部１４の文字列リスト３０の文字列を取得する（Ｓ１１０）。文字列生成部２０は、文字列を正常に変換する（Ｓ１１２）。例えば、文字列生成部２０は、取得した文字列の文字コード種別がＵＴＦ８である場合、文字コード種別をＵＴＦ８と認識して、当該文字列をＳｈｉｆｔ−ＪＩＳ、及び、ＥＵＣ−ＪＰ等の異なる文字コード種別によって正常変換する。これにより、文字列生成部２０は、変換後の文字列を正常変換文字列として生成する。
【００５５】
文字列生成部２０は、正常に変換した正常変換文字列を正常変換文字列リスト３４に登録する（Ｓ１１６）。例えば、文字列生成部２０は、変換後の文字コード種別に関連付けられた複数の正常変換文字列を含む正常変換文字列リスト３４を生成して、記憶部１４に記憶させる。
【００５６】
文字列生成部２０は、全ての文字列に対して、ステップＳ１１０からＳ１１６を実行して（Ｓ１１８：Ｙｅｓ）、生成処理を終了する。
【００５７】
これにより、文字列生成部２０は、図１４に示すように、変換後の文字コード種別と、変換後の複数の正常変換文字列とが関連付けられた正常変換文字列リスト３４を生成する。変換後の文字コード種別とは、当該文字列リスト３０を正常に変換した後の文字コード種別のことである。
【００５８】
例えば、図１４に示す正常変換文字列リスト３４の上段部には、記憶部１４に記憶された文字列の文字コード種別をＵＴＦ−８と正しく認識して、文字コード種別Ｓｈｉｆｔ−ＪＩＳに正常変換した正常変換文字列が登録されている。
【００５９】
図１５は、取得部２２、判定部２４及び修正部２６による誤変換の判定処理を説明するフローチャートである。誤変換の判定処理は、制御部１２が判定プログラムを読み込むことによって実行される。
【００６０】
図１５に示すように、取得部２２は、テキストを取得する（Ｓ１２０）。取得部２２は、取得したテキストを判定部２４へと出力する。
【００６１】
取得部２２は、記憶部１４から全ての正常変換文字列を含む正常変換文字列リスト３４を取得する（Ｓ１２２）。取得部２２は、取得した正常変換文字列リスト３４を判定部２４に出力する。
【００６２】
判定部２４は、取得部２２から取得したテキストを文字コード種別によって逆変換する（Ｓ１２３）。例えば、判定部２４は、いずれかの文字コード種別とテキストを認識して、全ての文字コード種別へとテキストを逆変換する。更に、判定部２４は、別の文字コード種別とテキストを認識して、全ての文字コード種別へとテキストを逆変換する。判定部２４は、これを繰り返して、全ての文字コード種別のそれぞれと認識して、全ての文字コード種別へとテキストを逆変換する。従って、判定部２４は、文字コード種別の数の略２乗の個数の逆変換したテキストを生成する。判定部２４が、逆変換した複数のテキストのうち、いずれかのテキストは、取得部２２が取得したテキストが変換される前の正常なテキストとなる。
【００６３】
判定部２４は、逆変換したテキストに含まれる文字列から、正常変換文字列リスト３４に含まれる正常変換文字列を検出する（Ｓ１２４）。判定部２４は、検出された正常変換文字列のバイト数の合計を変換の種類毎に検出量として算出する。変換の種類とは、判定部２４が逆変換するときに認識したテキストの文字コード種別、判定部２４が逆変化させた文字コード種別、及び、正常変換文字列に関連付けられている変換後の文字コード種別の組み合わせである。判定部２４によるテキスト内の正常変換文字列の検出方法及び検出量の算出方法は、図４のステップＳ２４におけるテキスト内の誤変換文字列の検出方法と同様である。判定部２４は、正常変換文字列リスト３４のそれぞれに対して検出量を算出する。本実施形態においても、判定部２４は、例えば、テキストの４０バイト分で検出量を算出すればよい。
【００６４】
判定部２４は、各正常変換文字列リスト３４による検出量が閾値Ｔｈ以上か否かを判定する（Ｓ１２６）。閾値Ｔｈの一例は、２０バイトである。判定部２４は、判定対象のテキストの検出量が閾値Ｔｈ未満と判定すると（Ｓ１２６：Ｎｏ）、判定対象のテキストを誤逆変換と判定して（Ｓ１２８）、次の判定対象のテキストに対してステップＳ１２６を繰り返す。検出量が閾値Ｔｈ未満とは、正常変換文字列リスト３４に含まれる正常変換文字列がテキストにほとんど含まれないことを意味する。即ち、逆変換されたテキストの文字列は、文字化けする。
【００６５】
一方、判定部２４は、判定対象のテキストの検出量が閾値Ｔｈ以上と判定すると（Ｓ１２６：Ｙｅｓ）、判定対象のテキストの逆変換を正常逆変換と判定する（Ｓ１３０）。検出量が閾値Ｔｈ以上とは、正常変換文字列リスト３４に含まれる正常変換文字列がテキストに多く含まれることを意味する。即ち、逆変換されたテキストの文字列は、文字化けすることなく、意味のある文字として認識される。
【００６６】
次に、判定部２４は、入力されたテキストが誤変換されたか否かを判定する（Ｓ１３２）。例えば、判定部２４は、正常逆変換と判定した検出量を算出した正常変換文字列の変換後の文字コード種別と、逆変換した文字コード種別とが一致するか否かによって、入力されたテキストが誤変換か否かを判定する。
【００６７】
判定部２４は、入力されたテキストが誤変換でない、即ち、正常変換されたと判定すると（Ｓ１３２：Ｎｏ）、判定処理を終了する。例えば、判定部２４が、入力されたテキストを文字コード種別ＵＴＦ−８と認識して、文字コード種別Ｓｈｉｆｔ−ＪＩＳに逆変換したテキストを正常逆変換と判定したとする。この場合、判定部２４は、正常逆変換と判定した検出量の算出を、図１４に示す変換後の文字コード種別Ｓｈｉｆｔ−ＪＩＳの正常変換文字列によって算出した場合、入力されたテキストが正常変換であると判定する。これは、入力されたテキストが、文字コード種別Ｓｈｉｆｔ−ＪＩＳと正しく認識されて文字コード種別ＵＴＦ−８に変換されているからである。従って、判定部２４は、当該入力されたテキストを文字コード種別ＵＴＦ−８と認識して、文字コード種別Ｓｈｉｆｔ−ＪＩＳに正常逆変換したことになる。
【００６８】
一方、判定部２４は、入力されたテキストが誤変換であると判定すると（Ｓ１３２：Ｙｅｓ）、ステップＳ１３４の処理を実行する。例えば、判定部２４は、正常逆変換と判定した検出量の算出を、図１４に示す変換後の文字コード種別ＥＵＣ−ＪＰの正常変換文字列によって算出した場合、入力されたテキストが誤変換であると判定する。これは、入力されたテキストが、文字コード種別ＥＵＣ−ＪＰであるにも関わらず、文字コード種別Ｓｈｉｆｔ−ＪＩＳと誤って認識されて文字コード種別ＵＴＦ−８に変換されているからである。この場合、判定部２４は、当該入力されたテキストを文字コード種別ＵＴＦ−８と認識して、文字コード種別Ｓｈｉｆｔ−ＪＩＳへ正常逆変換したことにより、文字コード種別ＥＵＣ−ＪＰによって認識されるテキストを生成することになる。
【００６９】
この場合、判定部２４は、逆変換されて正常逆変換且つ誤変換と判定されたテキスト、当該テキストを逆変換するときに認識した文字コード種別であるＵＴＦ−８及び、逆変換されたテキストの正しい文字コード種別であるＥＵＣ−ＪＰを修正部２６に出力する。
【００７０】
修正部２６は、判定部２４から取得した逆変換されたテキスト、当該テキストを認識した文字コード種別、及び、正しい文字コード種別に基づいて、テキストを認識した文字コード種別に正常に再変換する（Ｓ１３４）。上述の場合、修正部２６は、逆変換されたテキストを文字コード種別ＥＵＣ−ＪＰと認識して、文字コード種別ＵＴＦ−８に正常に再変換する。この後、修正部２６は、正常に再変換した文字コード種別ＵＴＦ−８のテキストを表示装置または印刷装置等に出力する。
【００７１】
判定装置１１０では、文字コード種別の数の略２乗に文字列の数をかけた個数だけ正常変換文字列リスト３４を記憶部１４に記憶すればよいので、判定に必要な記憶部１４の容量を低減できる。
【００７２】
上述した実施形態の構成の処理内容、接続関係、個数等は適宜変更してよい。また、実施形態同士を組み合わせてもよい。例えば、判定装置は、誤変換文字列リスト３２及び正常変換文字列リスト３４によって、誤変換及び正常変換の両方を判定するように構成してもよい。
【００７３】
また、図１２に示す判定装置１１０において、入力されたテキストが正常に変換されたか否かを判定してもよい。
【００７４】
この場合、文字列生成部２０は、記憶部１４に記憶された文字列リスト３０に含まれる変換前の文字列を取得する。文字列生成部２０は、変換前の文字列の文字コード種別を正しく認識して他の文字コード種別の文字列に正常に変換した正常変換文字列を含む正常変換文字列リスト３４を生成して、記憶部１４に記憶させる。
【００７５】
取得部２２は、正常変換文字列を記憶部１４から取得する。取得部２２は、取得した正常変換文字列を判定部２４へ出力する。
【００７６】
判定部２４は、入力されたテキスト中に正常変換文字列が含まれることを条件として文字コード種別が正しく変換されたことを検出する。例えば、判定部２４は、入力されたテキストから検出された正常変換文字列のバイト長またはバイト数が閾値以上となる場合、正常変換されたと判定してもよい。
【００７７】
これにより、判定装置１１０では、正常に変換された正常変換文字列によって、判定部２４が入力されたテキストが正常に変換されたか否かを判定できる。
【００７８】
また、記憶部１４が記憶する誤変換文字列リスト３２または正常変換文字列リスト３４に日本語等の言語を関連付けてもよい。これにより、取得部２２は、誤変換文字列リスト３２または正常変換文字列リスト３４に含まれる当該言語の正常変換文字列を取得して、判定部２４へ出力する。判定部２４は、例えば、入力されたテキスト中に誤変換文字列リスト３２の誤変換文字列が含まれるか否かを判定する。判定部２４は、テキストに誤変換文字列が含まれると判定した場合、当該誤文字列の誤変換文字列リスト３２の言語に基づいて、テキストの言語を判定してもよい。
【００７９】
上述の実施形態では、テキストの検索対象の最初の例えば４０バイト内の検出量と閾値とを比較して、誤変換または正常変換を判定する例を示したが、判定方法はこれに限られない。例えば、他の判定方法として、テキスト全体に占める誤変換文字列または正常変換文字列の割合と閾値とを比較して、誤変換または正常変換を判定してもよい。また、Ｘバイト以上連続する誤変換文字列または正常変換文字列の個数と閾値とを比較して、誤変換または正常変換を判定してもよい。Ｘバイトは、例えば、２バイト以上である。
【００８０】
図１６は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、判定装置１０、１１０の一例である。コンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示部２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、及び、ハードディスクドライブ２０４０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、メモリドライブ２０５０及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【００８１】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示部２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００８２】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用する表示プログラム等のプログラム及びデータを格納する。
【００８３】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、メモリドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。メモリドライブ２０５０は、メモリカード２０９０から例えば表示プログラム等のプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、メモリドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００８４】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、メモリカード２０９０、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。表示プログラム等のプログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００８５】
コンピュータ１９００にインストールされ、コンピュータ１９００を判定装置１０、１１０として機能させるプログラムは、文字列生成モジュール、取得モジュール、判定モジュール、及び、修正モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、文字列生成モジュール、取得モジュール、判定モジュール、及び、修正モジュールとしてそれぞれ機能させる。
【００８６】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である文字列生成モジュール、取得モジュール、判定モジュール、及び、修正モジュールとして機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の判定装置１０、１１０が構築される。
【００８７】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、又はメモリカード２０９０等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００８８】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、メモリドライブ２０５０（メモリカード２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【００８９】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。
【００９０】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、メモリカード２０９０の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００９１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００９２】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００９３】
１０  判定装置
１２  制御部
１４  記憶部
２０  文字列生成部
２２  取得部
２４  判定部
２６  修正部
３０  文字列リスト
３２  誤変換文字列リスト
３４  正常変換文字列リスト
１１０  判定装置
１９００  コンピュータ
２０００  ＣＰＵ
２０１０  ＲＯＭ
２０２０  ＲＡＭ
２０３０  通信インターフェイス
２０４０  ハードディスクドライブ
２０５０  メモリドライブ
２０７０  入出力チップ
２０７５  グラフィック・コントローラ
２０８０  表示部
２０８２  ホスト・コントローラ
２０８４  入出力コントローラ
２０９０  メモリカード
【図１】
2015118625.tif 000003
【図２】
2015118625.tif 000004
【図３】
2015118625.tif 000005
【図４】
2015118625.tif 000006
【図５】
2015118625.tif 000007
【図６】
2015118625.tif 000008
【図７】
2015118625.tif 000009
【図８】
2015118625.tif 000010
【図９】
2015118625.tif 000011
【図１０】
2015118625.tif 000012
【図１１】
2015118625.tif 000013
【図１２】
2015118625.tif 000014
【図１３】
2015118625.tif 000015
【図１４】
2015118625.tif 000016
【図１５】
2015118625.tif 000017
【図１６】
2015118625.tif 000018