(57)【要約】【課題】符号化効率が高く、少ない計算量で復号することのできる画像符号化装置、画像復号装置を提案する。【解決手段】画像符号化装置は、ステップＳ１３０１でロードした画像データから１文字分の文字画像データを読出して、横方向のバイト境界によって縦方向に分割し、隣接するライン間の排他的論理和を算出する（Ｓ１３０４）。排他的論理和をラインの新たな値として加工画像を生成し、符号化処理して符号化データを生成する（Ｓ１３０６）。さらに、文字識別情報と、符号化データ上での位置との対応を記述したアクセステーブルデータを生成する（Ｓ１３０７）。【選択図】図９
2008092089.tif 000002
【特許請求の範囲】
【請求項１】
連続する第ｎラインおよび第（ｎ−１）ラインを含む画像データから単位画像データを読出す読出手段と、
前記単位画像データを、前記ライン方向に直交する方向に分割し、分割単位画像データを生成する画像分割手段と、
前記分割単位画像データに含まれる前記第ｎラインの値と前記第（ｎ−１）ラインの値との差分を算出し、前記差分を前記第ｎラインの値とした加工分割単位画像データを生成する加工分割単位画像データ作成手段と、
前記加工分割単位画像データを符号化し、符号化データを生成する符号化手段とを備える、画像符号化装置。
【請求項２】
前記単位画像データを特定する情報と、前記符号化データ上の前記単位画像データに対応する位置との対応を示すアクセステーブルを生成するアクセステーブル生成手段をさらに備える、請求項１に記載の画像符号化装置。
【請求項３】
前記単位画像データは文字画像データであり、
前記単位画像データを特定する情報は文字識別情報である、請求項２に記載の画像符号化装置。
【請求項４】
前記文字識別情報は、文字コード、または文字コードおよび書体識別情報を含む、請求項３に記載の画像符号化装置。
【請求項５】
前記文字識別情報とグリフとの対応を取得する取得手段をさらに備え、
前記アクセステーブル生成手段は、
前記文字画像データの文字識別情報から内部文字コードを取得する手段と、
取得された前記内部文字コード、および取得された前記文字識別情報とグリフとの対応より、前記内部文字コードに対応するグリフを特定する手段と、
特定された前記グリフより、前記符号化データ上の前記文字画像データに対応する位置を特定する手段とを含む、請求項３に記載の画像符号化装置。
【請求項６】
前記単位画像データから得られる第１分割単位画像データから得られる第１加工分割単位画像データの、前記符号化後のデータ量を算出する算出手段と、
前記単位画像データを９０度回転させて回転画像データを生成する回転手段と、
前記回転画像データを前記ライン方向に分割して得られる第２分割単位画像データについて、前記第２分割単位画像データに含まれる前記第ｎラインの値と前記第（ｎ−１）ラインの値との差分を算出し、前記差分を前記第ｎラインの値とした第２加工分割単位画像データの、前記符号化後のデータ量を予測する予測手段とをさらに備え、
前記符号化手段は、前記第１加工分割単位画像データと前記第２加工分割単位画像データとのうち、前記符号化後のデータ量が小さい方の加工分割単位画像データを符号化する、請求項１に記載の画像符号化装置。
【請求項７】
前記符号化手段において、前記第１加工分割単位画像データと前記第２加工分割単位画像データとのいずれの加工分割単位画像データを符号化したのかを示す情報を生成する手段をさらに備える、請求項６に記載の画像符号化装置。
【請求項８】
前記画像分割手段は、前記単位画像データを、前記ライン方向にワード単位の長さとなるように分割する、請求項１に記載の画像符号化装置。
【請求項９】
単位画像データを特定する情報を取得する取得手段と、
単位画像データを特定する情報と、符号化データ上の前記単位画像データに対応する位置との対応を示すアクセステーブルにアクセスし、取得された前記単位画像データを特定する情報に対応した、前記符号化データ上の位置を特定する特定手段と、
前記符号化データ上の、特定された前記位置にあるデータを復号して、複数の加工分割単位画像データを生成する復号手段と、
各々の分割単位画像データの第（ｎ−１）ラインの値と、各々の前記加工分割単位画像データの第ｎラインの値とを用いて、各々の前記分割単位画像データの第ｎラインの値を算出し、前記複数の加工分割単位画像データから、各々、分割単位画像データを生成する作成手段と、
前記作成手段で前記複数の加工分割単位画像データから作成された複数の前記分割単位画像データを統合して前記単位画像データを生成する統合手段とを備える、画像復号装置。
【請求項１０】
前記単位画像データが符号化時に９０度回転されたものであるか否かを示す情報にアクセスし、前記単位画像データが符号化時に９０度回転されたものである場合、前記単位画像データを前記符号化時の前記回転の向きに対して逆向きに９０度回転させる手段をさらに備える、請求項９に記載の画像復号装置。
【請求項１１】
請求項９または１０に記載の画像復号装置を搭載する、携帯電話。
【請求項１２】
画像符号化装置において画像データを符号化する方法であって、
前記画像データは、連続する第ｎラインおよび第（ｎ−１）ラインを含み、
前記画像データから単位画像データを読出す読出ステップと、
前記単位画像データを、前記ライン方向に直交する方向に分割し、分割単位画像データを生成する画像分割ステップと、
前記分割単位画像データに含まれる前記第ｎラインの値と前記第（ｎ−１）ラインの値との差分を算出し、前記差分を前記第ｎラインの値とした加工分割単位画像データを生成する加工分割単位画像データ作成ステップと、
前記加工分割単位画像データを符号化し、符号化データを生成する符号化ステップとを備える、画像符号化方法。
【請求項１３】
前記単位画像データから得られる第１分割単位画像データから得られる第１加工分割単位画像データの、前記符号化後のデータ量を算出する算出ステップと、
前記単位画像データを９０度回転させて回転画像データを生成する回転ステップと、
前記回転画像を前記ライン方向に分割して得られる第２分割単位画像データについて、前記第２分割単位画像データに含まれる前記第ｎラインの値と前記第（ｎ−１）ラインの値との差分を算出し、前記差分を前記第ｎラインの値とした第２加工分割単位画像データの、前記符号化後のデータ量を予測する予測ステップとをさらに備え、
前記符号化ステップにおいては、前記第１加工分割単位画像データと前記第２加工分割単位画像データとのうち、前記符号化後のデータ量が小さい方の加工分割単位画像データを符号化する、請求項１２に記載の画像符号化方法。
【請求項１４】
画像復号装置において単位画像が符号化されて生成された符号化データを復号する方法であって、
前記単位画像データを特定する情報を取得する取得ステップと、
単位画像データを特定する情報と、符号化データ上の前記単位画像データに対応する位置との対応を示すアクセステーブルにアクセスし、取得された前記単位画像データを特定する情報に対応した、前記符号化データ上の位置を特定する特定ステップと、
前記符号化データ上の、特定された前記位置にあるデータを復号して、複数の加工分割単位画像データを生成する復号ステップと、
各々の分割単位画像データの第（ｎ−１）ラインの値と、各々の前記加工分割単位画像データの第ｎラインの値とを用いて、各々の前記分割単位画像データの第ｎラインの値を算出し、前記複数の加工分割単位画像データから、各々、分割単位画像データを生成する作成ステップと、
前記作成ステップにおいて前記複数の加工分割単位画像データから作成された複数の前記分割単位画像データを統合して前記単位画像データを生成する統合ステップとを備える、画像復号方法。
【請求項１５】
前記単位画像データが符号化時に９０度回転されたものであるか否かを示す情報にアクセスし、前記単位画像データが符号化時に９０度回転されたものである場合、前記単位画像データを前記符号化時の前記回転の向きに対して逆向きに９０度回転させるステップをさらに備える、請求項１４に記載の画像復号方法。
【請求項１６】
画像データを符号化する処理をコンピュータに実行させるプログラムであって、
前記画像データは、連続する第ｎラインおよび第（ｎ−１）ラインを含み、
前記画像データから単位画像データを読出す読出ステップと、
前記単位画像データを、前記ライン方向に直交する方向に分割し、分割単位画像データを生成する画像分割ステップと、
前記分割単位画像データに含まれる前記第ｎラインの値と前記第（ｎ−１）ラインの値との差分を算出し、前記差分を前記第ｎラインの値とした加工分割単位画像データを生成する加工画像作成ステップと、
前記加工分割単位画像データを符号化し、符号化データを生成する符号化ステップとを実行させる、画像符号化プログラム。
【請求項１７】
前記単位画像データから得られる第１分割単位画像データから得られる第１加工分割単位画像データの、前記符号化後のデータ量を算出する算出ステップと、
前記単位画像データを９０度回転させて回転画像データを生成する回転ステップと、
前記回転画像データを前記ライン方向に分割して得られる第２分割単位画像データについて、前記第２分割単位画像データに含まれる前記第ｎラインの値と前記第（ｎ−１）ラインの値との差分を算出し、前記差分を前記第ｎラインの値とした第２加工分割単位画像データの、前記符号化後のデータ量を予測する予測ステップとをさらに実行させ、
前記符号化ステップにおいては、前記第１加工分割単位画像データと前記第２加工分割単位画像データとのうち、前記符号化後のデータ量が小さい方の加工分割単位画像データを符号化する、請求項１６に記載の画像符号化プログラム。
【請求項１８】
単位画像データが符号化されて生成された符号化データを復号する処理をコンピュータに実行させるプログラムであって、
前記単位画像データを特定する情報を取得する取得ステップと、
単位画像データを特定する情報と、符号化データ上の前記単位画像データに対応する位置との対応を示すアクセステーブルにアクセスし、取得された前記単位画像データを特定する情報に対応した、前記符号化データ上の位置を特定する特定ステップと、
前記符号化データ上の、特定された前記位置にあるデータを復号して、複数の加工分割単位画像データを生成する復号ステップと、
各々の分割単位画像データの第（ｎ−１）ラインの値と、各々の前記加工分割単位画像データの第ｎラインの値とを用いて、各々の前記分割単位画像データの第ｎラインの値を算出し、前記複数の加工分割単位画像データから、各々、分割単位画像データを生成する作成ステップと、
前記作成ステップにおいて前記複数の加工分割単位画像データから作成された複数の前記分割単位画像データを統合して前記単位画像データを生成する統合ステップとを実行させる、画像復号プログラム。
【請求項１９】
前記単位画像データが符号化時に９０度回転されたものであるか否かを示す情報にアクセスし、前記単位画像データが符号化時に９０度回転されたものである場合、前記単位画像データを前記符号化時の前記回転の向きに対して逆向きに９０度回転させるステップをさらに実行させる、請求項１８に記載の画像復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は画像符号化装置、画像復号装置、携帯電話、画像符号化方法、画像復号方法、画像符号化プログラム、および画像復号プログラムに関し、特に、少ない計算量で復号することのできる画像符号化装置、画像復号装置、携帯電話、画像符号化方法、画像復号方法、画像符号化プログラム、および画像復号プログラムに関する。
【背景技術】
【０００２】
近年、携帯機器を含む、種々の機器で、画面の解像度が向上しており、高度な文字の表示品位が要求されている。そのため、従来のようなビットマップフォント（以下、「フォント」と略する）であれば、文字を構成するドット数を増加させる必要がある。
【０００３】
さらに、上記機器の普及に伴って、機器の取り扱う文字の種類が増加してきており、機器において処理される文字画像のデータ量は増大している。
【０００４】
このため、文字画像のデータ量を効率よく圧縮することのできる符号化方法の必要性が高まっている。
【０００５】
２値画像を符号化する規格として、近年は、ＪＢＩＧ（Joint Bi-level Image experts Group）の提案する方式（ＩＳ１１５４４）のように、算術符号化を取り入れた、符号化効率が高い方式が考案されている。
【０００６】
また、単純に２値画像を符号化する技術として、特開昭６３−１５５９５７号公報（以下、特許文献１）に開示されているような技術もある。特許文献１に開示されている技術は、通常の画像では、隣接したライン間が類似していることを利用して符号化する技術であって、排他的論理和を算出することで０の値を持つビットを増やし、可逆性を保ちつつ、符号化効率を高める技術である。
【特許文献１】特開昭６３−１５５９５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示されているような従来の符号化の技術には、ワードの値の分布が、文字に占めるワードやバイト（以降、「バイト」は８ビットからなるワードであるものとし、「ワード」という語は、特に限定しない限りは「バイト」をも含むものとして用いる）の位置によって大きく異なるという、文字画像データ（フォントデータ）の２値画像としての特徴が生かされていないため、ビットマップフォントを通常の２値画像として符号化するためにこのような技術をそのまま利用した場合、必ずしも効率よく処理が行なわれない場合があるという問題がある。
【０００８】
また、上述のＪＢＩＧ方式はある程度普及してはいるものの、処理が複雑なために計算量が多く、小型機器で復号する必要があるような、文字画像データの符号化には使いにくいという問題がある。
【０００９】
本発明はこのような問題に鑑みてなされたものであって、所定の特徴を持った画像データを高効率に符号化することのできる画像符号化装置、画像符号化方法、および画像符号化プログラム、ならびに符号化されたデータを少ない計算量で復号することのできる画像復号装置、携帯電話、画像復号方法、および画像復号プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明のある局面に従うと、画像符号化装置は、連続する第ｎラインおよび第（ｎ−１）ラインを含む画像データから単位画像データを読出す読出手段と、上記単位画像データを、ライン方向に直交する方向に分割し、分割単位画像データを生成する画像分割手段と、上記分割単位画像データに含まれる第ｎラインの値と第（ｎ−１）ラインの値との差分を算出し、差分を第ｎラインの値とした加工分割単位画像データを生成する加工分割単位画像データ作成手段と、上記加工分割単位画像データを符号化し、符号化データを生成する符号化手段とを備える。
【００１１】
好ましくは、画像符号化装置は、単位画像データを特定する情報と、符号化データ上の当該単位画像データに対応する位置との対応を示すアクセステーブルを生成するアクセステーブル生成手段をさらに備える。
【００１２】
さらに好ましくは、上記単位画像データは文字画像データであり、単位画像データを特定する情報は文字識別情報である。またさらに、文字識別情報は、文字コード、または文字コードおよび書体識別情報を含む。
【００１３】
また好ましくは、画像符号化装置は、文字識別情報とグリフとの対応を取得する取得手段をさらに備え、アクセステーブル生成手段は、文字画像データの文字識別情報から内部文字コードを取得する手段と、取得された内部文字コード、および取得された文字識別情報とグリフとの対応より、取得された内部文字コードに対応するグリフを特定する手段と、特定されたグリフより、符号化データ上の上記文字画像データに対応する位置を特定する手段とを含む。
【００１４】
好ましくは、画像符号化装置は、上記単位画像データから得られる第１分割単位画像データから得られる第１加工分割単位画像データの、符号化後のデータ量を算出する算出手段と、上記単位画像データを９０度回転させて回転画像データを生成する回転手段と、回転画像データをライン方向に分割して得られる第２分割単位画像データについて、第２分割単位画像データに含まれる第ｎラインの値と第（ｎ−１）ラインの値との差分を算出し、その差分を第ｎラインの値とした第２加工分割単位画像データの、符号化後のデータ量を予測する予測手段とをさらに備え、符号化手段は、第１加工分割単位画像データと第２加工分割単位画像データとのうち、符号化後のデータ量が小さい方の加工分割単位画像データを符号化する。
【００１５】
さらに好ましくは、符号化手段において、第１加工分割単位画像データと第２加工分割単位画像データとのいずれの加工分割単位画像データを符号化したのかを示す情報を生成する手段をさらに備える。
【００１６】
また好ましくは、画像分割手段は、上記単位画像データを、ライン方向にワード単位の長さとなるように分割する。
【００１７】
本発明の他の局面に従うと、画像復号装置は、単位画像データを特定する情報を取得する取得手段と、単位画像データを特定する情報と、符号化データ上の当該単位画像データに対応する位置との対応を示すアクセステーブルにアクセスし、取得された単位画像データを特定する情報に対応した、符号化データ上の位置を特定する特定手段と、符号化データ上の、特定された位置にあるデータを復号して、複数の加工分割単位画像データを生成する復号手段と、各々の分割単位画像データの第（ｎ−１）ラインの値と、各々の加工分割単位画像データの第ｎラインの値とを用いて、各々の分割単位画像データの第ｎラインの値を算出し、上記複数の加工分割単位画像データから、各々、分割単位画像データを生成する作成手段と、作成手段で上記複数の加工分割単位画像データから作成された複数の分割単位画像データを統合して単位画像データを生成する統合手段とを備える。
【００１８】
好ましくは、画像復号装置は、単位画像データが符号化時に９０度回転されたものであるか否かを示す情報にアクセスし、上記単位画像データが符号化時に９０度回転されたものである場合、生成された単位画像データを符号化時の回転の向きに対して逆向きに９０度回転させる手段をさらに備える。
【００１９】
本発明のさらに他の局面に従うと、携帯電話は、上記画像復号装置を搭載する。
本発明のさらに他の局面に従うと、画像符号化方法は、画像符号化装置において画像データを符号化する方法であって、上記画像データは、連続する第ｎラインおよび第（ｎ−１）ラインを含み、上記画像データから単位画像データを読出す読出ステップと、単位画像データを、ライン方向に直交する方向に分割し、分割単位画像データを生成する画像分割ステップと、分割単位画像データに含まれる第ｎラインの値と第（ｎ−１）ラインの値との差分を算出し、差分を第ｎラインの値とした加工分割単位画像データを生成する加工画像作成ステップと、加工分割単位画像データを符号化し、符号化データを生成する符号化ステップとを備える。
【００２０】
好ましくは、画像符号化方法は、単位画像データから得られる第１分割単位画像データから得られる第１加工分割単位画像データの、符号化後のデータ量を算出する算出ステップと、単位画像データを９０度回転させて回転画像データを生成する回転ステップと、回転画像データをライン方向に分割して得られる第２分割単位画像データについて、第２分割単位画像データに含まれる第ｎラインの値と第（ｎ−１）ラインの値との差分を算出し、その差分を第ｎラインの値とした第２加工分割単位画像データの、符号化後のデータ量を予測する予測ステップとをさらに備え、符号化ステップにおいては、第１加工分割単位画像データと第２加工分割単位画像データとのうち、符号化後のデータ量が小さい方の加工分割単位画像データを符号化する。
【００２１】
本発明のさらに他の局面に従うと、画像復号方法は、画像復号装置において単位画像データが符号化されて生成された符号化データを復号する方法であって、上記単位画像データを特定する情報を取得する取得ステップと、単位画像データを特定する情報と、符号化データ上の前当該位画像データに対応する位置との対応を示すアクセステーブルにアクセスし、取得された単位画像データを特定する情報に対応した、符号化データ上の位置を特定する特定ステップと、符号化データ上の、特定された位置にあるデータを復号して、複数の加工分割単位画像データを生成する復号ステップと、各々の分割単位画像データの第（ｎ−１）ラインの値と、各々の加工分割単位画像データの第ｎラインの値とを用いて、各々の分割単位画像データの第ｎラインの値を算出し、上記複数の加工分割単位画像データから、各々、分割単位画像データを生成する作成ステップと、作成ステップにおいて上記複数の加工分割単位画像データから作成された複数の分割単位画像データを統合して単位画像を生成する統合ステップとを備える。
【００２２】
好ましくは、画像復号方法は、単位画像データが符号化時に９０度回転されたものであるか否かを示す情報にアクセスし、単位画像データが符号化時に９０度回転されたものである場合、生成された単位画像データを符号化時の回転の向きに対して逆向きに９０度回転させるステップをさらに備える。
【００２３】
本発明のさらに他の局面に従うと、画像符号化プログラムは、画像データを符号化する処理をコンピュータに実行させるプログラムであって、上記画像データは、連続する第ｎラインおよび第（ｎ−１）ラインを含み、上記画像データから単位画像データを読出す読出ステップと、単位画像データを、ライン方向に直交する方向に分割し、分割単位画像データを生成する画像分割ステップと、分割単位画像データに含まれる第ｎラインの値と第（ｎ−１）ラインの値との差分を算出し、差分を第ｎラインの値とした加工分割単位画像データを生成する加工画像作成ステップと、加工分割単位画像データを符号化し、符号化データを生成する符号化ステップとを実行させる。
【００２４】
好ましくは、画像符号化プログラムは、単位画像データから得られる第１分割単位画像データから得られる第１加工分割単位画像データの、符号化後のデータ量を算出する算出ステップと、単位画像データを９０度回転させて回転画像データを生成する回転ステップと、回転画像データをライン方向に分割して得られる第２分割単位画像データについて、第２分割単位画像データに含まれる第ｎラインの値と第（ｎ−１）ラインの値との差分を算出し、その差分を第ｎラインの値とした第２加工分割単位画像データの、符号化後のデータ量を予測する予測ステップとをさらに実行させ、符号化ステップにおいては、第１加工分割単位画像データと第２加工分割単位画像データとのうち、符号化後のデータ量が小さい方の加工分割単位画像データを符号化する。
【００２５】
本発明のさらに他の局面に従うと、画像復号プログラムは、単位画像データが符号化されて生成された符号化データを復号する処理をコンピュータに実行させるプログラムであって、単位画像データを特定する情報を取得する取得ステップと、単位画像データを特定する情報と、符号化データ上の単位画像データに対応する位置との対応を示すアクセステーブルにアクセスし、取得された単位画像データを特定する情報に対応した、符号化データ上の位置を特定する特定ステップと、符号化データ上の、特定された位置にあるデータを復号して、複数の加工分割単位画像データを生成する復号ステップと、各々の分割単位画像データの第（ｎ−１）ラインの値と、各々の加工分割単位画像データの第ｎラインの値とを用いて、各々の分割単位画像データの第ｎラインの値を算出し、複数の加工分割単位画像データから、各々、分割単位画像データを生成する作成ステップと、作成ステップにおいて上記複数の加工分割単位画像データから作成された複数の分割単位画像データを統合して単位画像を生成する統合ステップとを実行させる。
【００２６】
好ましくは、画像復号プログラムは、単位画像データが符号化時に９０度回転されたものであるか否かを示す情報にアクセスし、単位画像データが符号化時に９０度回転されたものである場合、生成された単位画像データを符号化時の回転の向きに対して逆向きに９０度回転させるステップをさらに実行させる。
【発明の効果】
【００２７】
本発明にかかる画像符号化装置では、文字画像（文字画像データ）に代表される、似たサイズのデータが、一定周期で配置されている特徴を持った画像データ、特に漢字に顕著なようにデータによって特定の方向の線分が多く含まれているという特徴を持った画像データを、少ない計算量で高効率に符号化することができる。
【００２８】
また、本発明にかかる画像復号装置では、上記画像符号化装置で符号化されたデータを、少ない計算量で復号することができる。
【発明を実施するための最良の形態】
【００２９】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。
【００３０】
本実施の形態にかかる画像符号化装置および画像復号装置は、情報処理装置としてのパーソナルコンピュータ等のコンピュータによって実現されるものであってもよいし、テキスト処理装置としての携帯機器に搭載されるものであってもよい。本実施の形態においては、画像符号化装置は、情報処理装置としてのパーソナルコンピュータ（以下、ＰＣと略する）に搭載されているものとする。また、画像復号装置は、テキスト処理装置としての携帯機器の一例としての、携帯電話に搭載されているものとする。テキスト処理装置の他の具体例としては、ＰＤＡ（Personal Digital Assistants）や携帯ゲーム装置や表示装置を備えた家電などが該当する。
【００３１】
＜１．画像符号化装置＞
［第１の実施の形態］
図４８は、本実施の形態にかかる画像符号化装置を搭載する、情報処理装置としてのＰＣ３のハードウェア構成の具体例を示す図であり、一般的なＰＣのハードウェア構成の具体例を示すブロック図である。
【００３２】
図４８を参照して、ＰＣ３は、装置全体を制御するＣＰＵ１０１と、ＲＯＭ１０３と、ＲＡＭ１０５と、ハードディスクドライブ１０７と、フレキシブルディスクドライブ（ＦＤＤ：Flexible Disk Drive）やＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）ドライブなど記録媒体２から情報を読取る読取部１０９と、キーボードやマウスなどにより構成される入力部１１１と、外部と通信行なうための通信部１１３と、表示部１１５とを含んで構成される。
【００３３】
本実施の形態にかかる画像符号化装置は、ＰＣ３のハードウェア、およびＲＯＭ１０３等の記憶部に記憶されＣＰＵ１０１により実行されるソフトウェアにより構成され、後述する画像符号化処理を行なうための機能は、ＣＰＵ１０１がＲＯＭ１０３等の記憶部に記憶されるプログラムを読出して実行することによって、主にＣＰＵ１０１に形成される。または、上記機能の少なくとも一部は図４８に示されたＰＣ３のハードウェアによって構成されてもよい。
【００３４】
図２は、本実施の形態にかかるＰＣ３において画像符号化装置として機能し、画像符号化処理を行なうための機能構成の具体例を示すブロック図である。第１の実施の形態にかかる画像符号化装置は、異なる文字コードに対応する文字画像データの系列を、ワードの系列ごとに、ライン間差分を用いて符号化する。
【００３５】
図２を参照して、画像符号化装置の上記機能は、コントローラ１２０１、画像データメモリ１２０２、加工分割画像データメモリ１２０３、エントロピー符号化部１２０４、符号化データメモリ１２０５、アクセステーブルデータ生成部１２０６、アクセステーブルデータメモリ１２０７、文字識別情報・グリフ番号対応ルールメモリ１２０８、および画像処理部１２０９を含んで構成され、それぞれの構成要素は、データバス１２１０を介して互いに、また外部に接続される。
【００３６】
さらに、図３は、画像処理部１２０９の構成の具体例を示すブロック図である。図３を参照して、画像処理部１２０９は、画像演算部３８０１、文字画像データメモリ３８０２、分割文字画像データメモリ３８０３、および加工分割文字画像データメモリ３８０４を含んで構成され、各構成要素はデータバス３８０５を介して互いに、また外部に接続される。
【００３７】
さらに、図４は、アクセステーブルデータ生成部１２０６の構成の具体例を示すブロック図である。図４を参照して、アクセステーブルデータ生成部１２０６は、文字識別情報・グリフ番号変換データ生成部２２０１、およびグリフ番号・オフセット情報変換データ生成部２２０２を含んで構成され、各構成要素はデータバス２２０３を介して互いに、また外部に接続される。
【００３８】
画像データメモリ１２０２はＲＯＭ１０３等の記憶部の所定領域で構成され、図示されない取得部によって取得された画像データは、画像データメモリ１２０２に入力（ロード）される。上記取得部は本発明において特定の手段に限定されず、ＣＤ−ＲＯＭなどの記録媒体からデータを読取る読取部１０９や、他の装置から送信されるデータを受信する通信部１１３などが挙げられる。
【００３９】
ここで、データをメモリに読出す単位としてワードが用いられる。ワードまたはワードの倍数と１文字を構成する画像データ（以降、文字画像データと呼ぶ）のサイズとは一致していない場合がある。そのため、たとえば２ワードで１文字分の文字画像データが読出される場合、メモリに書込まれるデータにおいて、ワードの境目（ワードバウンダリ）と文字の中心とが一致しない。具体的に図５を用いて説明する。なお、図５および以下の実施の形態においては、ワードが水平方向に配置されているものとする。また、文字画像データの縦・横ドット数は一定であるものとする。しかしながら、本発明において、処理対象の画像データのサイズや文字データのサイズは特定のサイズに限定されず、以下の例では、１つの具体例として、ワードサイズを８ビットとする。また、１文字を構成する文字画像データのサイズは、縦・横ドット数とも１１ドットとする（以下１１×１１フォントと呼ぶことがある）。そして、図５に示されるように、左に１ドットオフセットして横２バイト、縦１１ドットの２値画像で個々の文字データが格納されているものとする。なお、以下では、画像ラインを数える際は０から始めるものとする。したがって、先頭のラインは「０ライン目」となる。図５は１１ドット×１１ドットのサイズの、２値画像である文字画像データ１０１の具体例を表わしている。図５に示される１文字分の文字画像データ１０１は、２ワード分に相当する１６ビット×１１ラインで構成されており、左側は常に１ビット以上空けて１１ドット×１１ドットのサイズの文字が表わされる。なお、文字の形状によっては、１文字を構成する文字画像データに文字を構成するドット（以下「黒ドット」）がほとんど、あるいはまったく入っていないこともあり得る。なお、ここでは、２値画像のバイトの値として、左端のドットをＭＳＢ（Most Significant Bit）とするものとする。また、以下の説明を通じて、黒ドットを１、それ以外のドットを０とする。たとえば、後述する図１２のデータ１０２の場合、０ライン目の値は、１６進数で０Ｘ０２となる。
【００４０】
図６は、画像データメモリ１２０２に格納される、２値画像である画像データの具体例を示す図である。画像データメモリ１２０２に格納される画像データは、図５に示された、縦方向に１文字を構成する文字画像データが、複数個連結されてなる画像データであるものとする。
【００４１】
文字識別情報・グリフ番号対応ルールメモリ１２０８はＲＯＭ１０３等の記憶部の所定領域で構成され、後述する文字識別情報とグリフ番号との対応を示す文字識別情報・グリフ番号対応ルールを記憶する。
【００４２】
文字識別情報は文字を識別する情報を指し、具体的には、文字コードや書体などを指す。グリフ番号は画像データメモリ１２０２に格納されている文字画像データを特定する情報を指し、具体的には画像データメモリ１２０２に格納されている各文字画像データに付加された０から始まる番号を指す。以下の説明では、グリフ番号は、各文字画像データが、符号化される順序にもなっている。なお、ここでは、「グリフ」は、文字画像で表現される字形という意味で用いられる。
【００４３】
文字識別情報・グリフ番号対応ルールは画像データメモリ１２０２に格納されている各文字画像データと文字識別情報との対応を規定するものであり、具体的には、図７に示されるように、文字識別情報としての文字コードと、文字識別情報としての書体識別情報と、画像データメモリ１２０２に格納されている各文字画像データを特定するグリフ番号との対応を示すテーブルである。なお、以降の具体例では、文字識別情報は２バイトのシフトＪＩＳコードと、１ビットの書体指定情報（ゴシック体が０で表わされ、明朝体が１で表わされる）とする。また、この具体例では、フォントサイズが異なる文字は符号化データ自体が異なっているものとする。したがって、フォントサイズについては文字識別情報には含まれないものとする。
【００４４】
図７に示されるテーブルに規定されるように、文字コードが同じであっても書体が異なる場合には異なるグリフに対応する場合がある。または、異なる文字コードであっても、同一のグリフに対応する場合があってもよい。
【００４５】
画像処理部１２０９の文字画像データメモリ３８０２、分割文字画像データメモリ３８０３、および加工分割文字画像データメモリ３８０４はＲＯＭ１０３等の記憶部の所定領域で構成される。
【００４６】
画像データメモリ１２０２に格納された画像データから、画像演算部３８０１によって１文字分の文字画像データが読出され、文字画像データメモリ３８０２に格納される。文字画像データメモリ３８０２に格納された文字画像データは、画像演算部３８０１によって、横方向のバイト境界で縦方向に分割され、「分割文字画像データ」として、分割文字画像データメモリ３８０３に格納される。画像は一般にラスタ順にアドレスが配置されているので、バイト境界で分割した場合には、文字画像データでアドレスが不連続な、上下方向に隣接するバイトが１つの分割文字画像データ上でアドレスが連続するようになる。
【００４７】
なお、本発明において文字画像データの分割方法は特定の方法に限定されず、上記方法は１つの具体例である。分割方法は上記具体例のように、文字画像データのドット構成を考慮した方法であることが好ましい。このような分割方法で文字画像データを分割することで、後述するように、符号化にあたってより特定の値に分布を集中させることができるようになる。
【００４８】
また、本実施の形態における分割方法はバイト（８ビット）単位で区切るものであるため、通常のバイト単位でＣＰＵで処理がしやすいものとなっている。もちろん、この分割方法の具体例は画像上でのバイト配置が、水平方向にバイトを構成するビットが並んでいることが前提とされている。そのため、この前提が異なれば、分割方法は本具体例の分割方法に替えて、ＣＰＵでの処理がしやすい分割方法とすることが好ましい。
【００４９】
分割文字画像データメモリ３８０３に格納されている分割文字画像データについて、画像演算部３８０１において排他的論理和が算出され、算出結果が「加工分割文字画像データ」として加工分割文字画像データメモリ３８０４に格納される。
【００５０】
なお、ここでは排他的論理和は、広く知られているように、２つのビットが一致すれば０、不一致であれば１とする演算である。ここでは、１文字ごとに閉じたものとするため、最初のラインは排他的論理和を用いずに、入力データである分割文字画像データから取出した０ライン目をそのまま用いる。
【００５１】
したがって、ＡとＢとの排他的論理和を記号「＾」で表わすものとすると、
ｎ＝０について、
（加工分割文字画像データのｎライン目）＝（分割文字画像データのｎライン目）
ｎ≧１について、
（加工分割文字画像データのｎライン目）＝（分割文字画像データの（ｎ−１）ライン目）＾（分割文字画像データのｎライン目）
となる。
【００５２】
このように、分割文字画像データの０ライン目はそのまま加工分割画像データにコピーされ、残りのラインについて排他的論理和が算出されることで、ある文字を復号するにあたって他の文字を復号する必要がなく、各文字を独立して復号することができる。
【００５３】
ここでは差分を得る方法として、隣接するライン間の排他的論理和を用いたが、もちろんこの方法は１つの具体例であり、本発明においては特定の方法に限定されるものではない。差分を得る方法は、元の情報を失うことなく（可逆性を損なうことなく）、特定の値の頻度を大きくするような変換であれば排他的論理和でなくてもよいし、画像データの内容によっては、互いに隣接するラインの代わりに、離れたライン間の排他的論理和でも構わない。特に後者は、そのようにすることで、（たとえば周期的に類似した内容のラインが現れることがわかっている場合）特定の値の頻度をより大きくする（値の分布の偏りを大きくする）ことができれば有効である。
【００５４】
加工分割画像データメモリ１２０３はＲＯＭ１０３等の記憶部の所定領域で構成される。加工分割文字画像データメモリ３８０４に格納された加工分割文字画像データは、画像演算部３８０１によって加工分割画像データメモリ１２０３に出力されて、格納される。
【００５５】
符号化データメモリ１２０５はＲＯＭ１０３等の記憶部の所定領域で構成される。加工分割画像データメモリ１２０３に格納された加工分割画像はエントロピー符号化部１２０４においてエントロピー符号化され、「符号化データ」として符号化データメモリ１２０５に格納される。
【００５６】
なお、エントロピー符号化部１２０４における符号化方式は本発明において特定の方式に限定されず、公知のあらゆる技術が採用され得る。符号化方式の具体例としては固定ハフマン符号化（以下、単に「ハフマン符号化」と表現する）、算術符号化などが挙げられ、本実施の形態にかかる画像符号化装置ではハフマン符号化が行なわれるものとする。ハフマン符号化の利点は復号のための計算量が少ないことである。また、エントロピー符号化を行なう単位としては、加工分割文字画像データではなく、文字単位より大きい加工分割画像データとすることが好ましい。一般に、一塊のデータとして符号化される範囲（ハフマン符号化では、ハフマンテーブルを共有して符号化されるデータの範囲）を文字画像データとすると、総データ量に対してオーバヘッドが大きくなりやすいためである。ここではオーバヘッドとは、元のデータに対応する符号以外に必要なデータ量を意味する。たとえばハフマン符号化を採用する場合であればハフマンテーブルのデータ量がオーバヘッドに相当する。言うまでもなく、オーバヘッドが総データ量に対して充分に小さな符号化方式が採用される場合には、一塊のデータとして符号化される範囲は加工分割文字画像データとしてもよい。
【００５７】
アクセステーブルデータメモリ１２０７はＲＯＭ１０３等の記憶部の所定領域で構成される。アクセステーブルデータ生成部１２０６は符号化データメモリ１２０５に格納された符号化データにアクセスするためのアクセステーブルデータを生成して、アクセステーブルデータメモリ１２０７に格納する。
【００５８】
アクセステーブルデータは、文字識別情報と、当該文字識別情報で特定される文字が符号化データ上のどこからどこまでの符号に対応するかを示す情報（この情報をオフセット情報と称する）との対応を規定するデータであり、符号化データと共に格納される。アクセステーブルデータは後述する復号処理において用いられる。具体例としては、図８に示されるように、アクセステーブルデータは、文字識別情報を、符号化データ上の何番目（以下先頭を０番目とする）のグリフであるかを示す、グリフ番号に変換するための文字識別情報・グリフ番号変換データ１４０１と、グリフ番号をオフセット情報に変換するためのグリフ番号・オフセット情報変換データ１４０２とを含むデータとする。
【００５９】
一般に、データ容量を削減するための符号化では、同じデータ長の画像データであっても符号化後のデータ長は異なる。そのため、グリフ番号から、個々の文字に対応するデータに対応する符号化データ上のデータ位置を単純な計算で得ることができず、オフセット情報が必要とされる。
【００６０】
より詳しくは、アクセステーブルデータ生成部１２０６の文字識別情報・グリフ番号変換データ生成部２２０１は、文字識別情報に基づいて内部文字コードを取得する（なお、ここでいう「取得」とは算出することも含むとする。以下同様）。内部文字コードとは、データアクセスを効率化するため、文字識別情報で特定される文字が、当該画像符号化装置における何番目の文字コードであるかを示す値を指す。ここでは、文字コードが同一であっても、書体指定情報が異なれば内部文字コードも異なるものとする。
【００６１】
アクセステーブルデータ生成部１２０６のグリフ番号・オフセット情報変換データ生成部２２０２はグリフ番号・オフセット情報変換データを生成し、アクセステーブルデータメモリ１２０７に書込む。グリフ番号・オフセット情報変換データとは、グリフ番号から、各グリフに対応する符号データを探し出すための、グリフ番号と、符号化データ上でのオフセット情報との対応を表わす値を指す。
【００６２】
図９は、本実施の形態にかかる画像符号化装置における符号化処理を示すフローチャートである。図９のフローチャートに示される処理は、制御部１２０がＲＯＭ１０３等の記憶部に記憶されるプログラムを読出して実行し、コントローラ１２０１が図２等に示された各部を制御することによって実現される。
【００６３】
図９を参照して、始めに、コントローラ１２０１によって、画像データが画像データメモリ１２０２に入力（ロード）される（ステップＳ１３０１）。ここでは、具体例として図６に示された画像データ（１１×１１フォント）がロードされたものとして以下の説明を行なう。さらに、コントローラ１２０１によって、先述の文字識別情報・グリフ番号対応ルールが文字識別情報・グリフ番号対応ルールメモリ１２０８に入力（ロード）される（ステップＳ１３０２）。ここでは、具体例として図７に示された文字識別情報・グリフ番号対応ルールがロードされたものとして以下の説明を行なう。
【００６４】
コントローラ１２０１の画像演算部３８０１は、ステップＳ１３０１で画像データメモリ１２０３に格納された画像データから取出された文字画像データを横方向のバイト境界によって縦方向に分割して分割文字画像データを得る（ステップＳ１３０３）。ステップＳ１３０３で得られた分割文字画像データより、画像処理部１２０９において排他的論理和が算出され、算出結果が加工分割文字画像データとして加工分割画像データメモリ１２０３に格納される（ステップＳ１３０４）。加工分割画像データと加工分割画像データメモリ１２０３とには、すでに処理が終わった文字画像データに対応する、加工分割文字画像データがすでに格納されている。ステップＳ１３０３では、加工分割文字画像データは、すでに格納されている、加工分割文字画像データの末尾に追加されて加工分割画像データメモリ１２０３に格納される。「加工分割画像データ」とはこのようにして蓄積された加工分割文字画像データのことであり、その作られ方から、文字画像データをステップＳ１３０３で分割する数だけ存在する。したがって、図６に示された画像データがロードされた場合には加工分割画像データは２つ存在することになる。図４９および図５０は、すでに２文字分の加工分割文字画像データが格納されているところに、ステップＳ１３０４で、１文字分の加工分割文字画像データが追加される前および後の具体例を示す図である。上で述べたように、加工分割画像データは、文字画像データをステップＳ１３０３で２分割することに対応して、２つ存在するが、もう１つの加工分割画像データについて、１文字分の加工分割文字画像データが追加される前および後の具体例を示す図が図５１および図５２である。
【００６５】
ステップＳ１３０１でロードされた画像データに含まれるすべての文字が処理されていれば（ステップＳ１３０５でＹＥＳ）処理はステップＳ１３０６に進み、処理されていなければ（ステップＳ１３０５でＮＯ）処理はステップＳ１３０２に戻る。
【００６６】
ステップＳ１３０６では、エントロピー符号化部１２０４が、加工分割画像データメモリ１２０３に格納された加工分割画像データに対してエントロピー符号化処理を実行し、符号化データを符号化データメモリ１２０５に格納する。
【００６７】
ステップＳ１３０１でロードされた画像データから得られたすべての加工分割画像データに対して処理が終了していれば（ステップＳ１３０７でＹＥＳ）、処理はステップＳ１３０８に進み、そうでなければ（ステップＳ１３０７でＮＯ）、処理はステップＳ１３０６に戻る。
【００６８】
ステップＳ１３０８では、アクセステーブルデータ生成部１２０６が符号化データメモリ１２０５に格納された符号化データにアクセスするためのアクセステーブルデータを生成して、アクセステーブルデータメモリ１２０７に格納する。
【００６９】
符号化データメモリ１２０５に格納されている符号化データは画像データの符号化結果としてコントローラ１２０１によって当該画像符号化装置より出力される（ステップＳ１３０９）。また、アクセステーブルデータメモリ１２０７に格納されているアクセステーブルデータも符号化データと共に当該画像符号化装置より出力され（ステップＳ１３１０）、処理が終了する。
【００７０】
図１０は、上記ステップＳ１３０３における画像データの分割処理を示すフローチャートである。
【００７１】
図１０を参照して、始めに、画像演算部３８０１は、上記ステップＳ１３０１で画像データメモリ１２０２にロードされた画像データから１文字分の文字画像データを読出し、文字画像データメモリ３８０２に格納する（ステップＳ３９０１）。
【００７２】
画像データメモリ１２０２にロードされた画像データが図６に示される画像データである場合、上記ステップＳ３９０１では、図１１の（Ａ）〜（Ｃ）に示される文字画像データが順次、文字画像データメモリ３８０２に格納される。
【００７３】
次に、画像演算部３８０１は、文字画像データメモリ３８０２に格納された文字画像データを縦方向に分割して、分割文字画像データを分割文字画像データメモリ３８０３に格納し（ステップＳ３９０２）、処理をステップＳ１３０４に進める。
【００７４】
具体的には、上記ステップＳ３９０１で得られた文字画像データが図１１の（Ａ）で示された、ロードされた画像データを分割して得られた文字画像データ、つまり先に説明された図５に示されるデータ１０１である場合、上記ステップＳ３９０２で画像演算部３８０１によって分割されることで、分割文字画像データは図１２に示されるデータ１０２と図１３に示されるデータ１０３となる。図５に示される構成の文字画像データの場合、左端のビットに値が入ることはないため、図１２および図１３に示されるように、このような方向に分割することで、分割文字画像データは左側のデータ１０２と右側のデータ１０３とで、画像を構成する、横方向のラインに含まれるドットからなる個々のバイトの値の分布は大きく異なることとなる。
【００７５】
図１３のデータ１０３のバイトの値については、上述のように文字が配置されているため、下位の４ビットは値が常に０となる。すなわち、データ１０３のバイトの値の種類は最大限１６種類しかない。そのため、画像演算部３８０１において文字画像データを縦方向に分割することで、符号化効率向上に寄与する。
【００７６】
また、図１４は、２３ドット×２３ドットのサイズを持った文字画像データの例であるが、ここでは左側のバイト２０１は、ＭＳＢが常に０であり、したがってバイトの値の種類は１２８種類しかない。すなわち、左側のバイト２０１は中央のバイト２０２や右側のバイト２０３とは値の分布が異なるため、画像演算部３８０１において文字画像データを縦方向に分割することで、符号化効率向上に寄与する。
【００７７】
なお、文字画像データを縦方向に分割することが特に好ましいのは、上記具体例のように、特に、文字がワード（バイト）バウンダリ（境界）にしたがって文字画像データ上に配置されている場合である。そうなっていない画像データの具体例を図１５に示す。図１５に示される画像データ上では、ワードバウンダリ７０１、７０２をまたいで文字画像データが配置されている。ただし、このような場合も、適切なビットオペレーション（シフトなど）によって、文字がワードバウンダリをまたいで配置しないように変換することは可能である。
【００７８】
図１６は、上記ステップＳ１３０４における排他的論理和の算出処理を示すフローチャートである。
【００７９】
図１６を参照して、始めに、画像演算部３８０１は、上記ステップＳ３９０１で分割文字画像データメモリ３８０３に格納された分割文字画像データについて排他的論理和を算出し、加工分割文字画像データを加工分割文字画像データメモリ３８０４に格納する（ステップＳ４００１）。具体的には、図１２に示される分割文字画像データ１０２の排他的論理和が算出されると、図１７に示される加工分割文字画像データ６０１が得られる。そして、画像演算部３８０１は、加工分割文字画像データメモリ３８０４に格納された加工分割文字画像データを加工分割画像データメモリ１２０３に出力する（ステップＳ４００２）。
【００８０】
ステップＳ１３０１でロードされた画像データから得られたすべての分割文字画像データについて排他的論理和を算出する処理が終了していれば（ステップＳ４００３でＹＥＳ）、処理を終了して上記ステップＳ１３０５に進める。そうでなければ（ステップＳ４００３でＮＯ）、処理はステップＳ４００１に戻る。
【００８１】
図１８のフローチャートを用いて、上記ステップＳ１３０８におけるアクセステーブルの生成処理を説明する。
【００８２】
アクセステーブルに含まれる文字識別情報・グリフ番号変換データ１４０１の、最も単純な構成は、文字コードとグリフ番号との対応を規定するテーブルとする構成である。しかし、文字識別情報・グリフ番号変換データ１４０１をこのような構成とすると、文字識別情報・グリフ番号変換データ１４０１のデータサイズが（文字数）×（文字コードを格納するのに必要なビット長）となって効率的な符号化が達成され得ないため、次のように構成されることが好ましい。
【００８３】
ここで、以下のことを仮定する：
（仮定１）文字識別情報とグリフとは必ずしも１対１に対応付けられておらず、１つのグリフが複数のコードに対応付けられていてもよい、
（仮定２）グリフが対応付けられていない文字識別情報も存在する可能性がある、
（仮定３）大多数のグリフは、文字識別情報と１対１に対応付けられている、
（仮定４）文字コードは、局所的には連続している、
（仮定５）グリフデータは、対応する内部文字コード（後述）の昇順（小さいものから大きなものの順）に並んでいる。ただし、対応する内部文字コードが複数ある場合は、そのようなもので最小のものを取るとする。
【００８４】
上記（仮定１）は、ギリシャ文字の「Ρ（ロー）」およびラテンアルファベットの「Ｐ」など、文字識別情報（文字コード）では区別できても、対象とする表示装置でフォントデータを表示する場合にグリフとして区別できない場合に、グリフデータを共通とすることで符号化データが削減される可能性を考慮した仮定である。
【００８５】
上記（仮定２）は、サイズによってはグリフが存在しないケースなどを想定したものである（たとえば、特定のサイズでのみ存在する複雑な文字、つまり、ある程度のサイズがないと表示され得ない複雑な形状の文字などが該当する）。
【００８６】
上記（仮定３）は、（仮定１），（仮定２）の仮定の下でも、大半の文字識別情報がグリフデータと１対１に対応付けられているという仮定である。
【００８７】
上記（仮定４）は、シフトＪＩＳコードで典型的に見られるように、文字コードはすべて不連続なのではなく、連続したコードに文字が対応付けられているという仮定である。この仮定は、後述するように、比較的少数の条件式によって、文字コードと書体識別情報とから、内部文字コードに変換することが容易にできることを示している。
【００８８】
上記（仮定５）は、そのように構成すれば満たされる条件であり、後述する、符号化でデータに高速にアクセスできるためのアクセステーブルデータを作りやすくするためのものである。図７で示した文字識別情報・グリフ番号対応ルールの例もこの仮定を満たしたものとなっている。
【００８９】
以上の仮定に基づいて、本実施の形態において、文字識別情報・グリフ番号変換データ１４０１は図１９に示される構成であるものとする。すなわち、図１９を参照して、文字識別情報・グリフ番号変換データ１４０１は、ステータステーブル１５０１、第１補助テーブル１５０２、および第２補助テーブル１５０３を含んで構成される。
【００９０】
ここで図１８を参照して、アクセステーブルデータを生成する際、始めに、文字識別情報・グリフ番号変換データ生成部２２０１は、文字識別情報に基づいて対象の文字について内部文字コードを取得する（ステップＳ２３０１）。ここで、文字識別情報としての文字コードと内部文字コードとの具体的な対応を図２０に示される対応とする。図２０においては、説明の便宜上、文字コードは０ｘ８２５０〜０ｘ８２５１、０ｘ８２６０〜０ｘ８２６２の６通りのみとする。なお、図２０においては、上記（仮定４）が成立っていることが読取られ得る。
【００９１】
いくつかの条件文を用いることで文字コードと書体識別情報とから内部文字コードに変換する技術の１つの具体例として、図２１に、文字コードを示す変数ｃｏｄｅと書体識別情報を示す変数ｔｙｐｅとから、内部文字コードを示す変数ｉｎｔｅｒｎａｌ＿ｃｏｄｅに変換するＣ言語ソースコードを示す。上記ステップＳ２３０１で用いられる技術は特定の技術に限定されず、たとえば図２１に示されたような技術を用いて内部文字コードが取得される。
【００９２】
次に、文字識別情報・グリフ番号変換データ生成部２２０１は、文字識別情報・グリフ番号対応ルールメモリ１２０８に記憶されている文字識別情報・グリフ番号対応ルールと内部文字コードとからステータステーブルを生成して、アクセステーブルデータメモリ１２０７に書込む（ステップＳ２３０２）。
【００９３】
文字識別情報・グリフ番号対応ルールが図７に示されたものであり、文字識別情報としての文字コードと内部文字コードとの対応が図２０に示されたものである場合、上記ステップＳ２３０２では、図２２に示されるステータステーブルが生成される。ステータステーブルとは、昇順に並べられた内部文字コードに対応した、グリフの割当て状態を示すテーブルであり、具体的には、図２２を参照して、ステータステーブル１５０１には、以下の３種類の値のうちのいずれかの値が各内部文字コードに対して規定されている：
０…当該内部文字コードに割当てられているグリフはない、
１…当該内部文字コードに割当てられているグリフに対応する文字コードは１つだけ存在する、または２つ以上存在するがステータステーブル１５０１でそのグリフが出てくるのは１回目である、
２…当該内部文字コードに割当てられているグリフに対応する内部文字コードは２つ以上存在する。
【００９４】
図２２に示されるステータステーブルでは、内部文字コード３，９，４，１０，５，１１に対して値として１が与えられていることより、図２０を併せて参照すれば、それぞれゴシック体「Ａ」，明朝体「Ａ」，ゴシック体「Ｂ」，明朝体「Ｂ」，ゴシック体「Ｃ」，明朝体「Ｃ」には、独立したグリフが存在する（当該内部文字コードに対応するグリフは１つだけ存在する）ことが分かる。また、内部文字コード６，８に対してそれぞれ２が与えられていることより、他の内部文字コードと共通したグリフが使われていることが示されている。どの内部文字コードと共通したグリフが使われているのかは、このテーブル単独からでは判断できないが、図７および図２０も併せて参照すれば、それぞれ内部文字コード０，２と共通したグリフが使われていることが分かる。したがって、内部文字コード０，２に対応するテーブルの値が１になっているのは、先述の「当該内部文字コードに割当てられているグリフに対応する文字コードは２つ以上存在するがステータステーブル１５０１でそのグリフが出てくるのは１回目である」によるものである。また、内部文字コード７については「０」が与えられていることより、ゴシック体「２」のグリフは存在しないことが示されている。
【００９５】
次に、文字識別情報・グリフ番号変換データ生成部２２０１は第１補助テーブルを生成してアクセステーブルデータメモリ１２０７に書込む（ステップＳ２３０３）。ここで、第１補助テーブルとは、内部文字コードのいくつかについて対応するグリフ番号を記述したテーブルである。図１９の第１補助テーブル１５０２の具体例としては、図２３に示された、内部文字コードのうちのいくつかとグリフ番号との対応を記述したテーブルである。第１補助テーブル１５０２は当該符号化データを復号する際に用いられるテーブルであり、用いられ方については後述する。
【００９６】
第１補助テーブル１５０２の構成について説明する。ステータステーブル１５０１の値に１が割当てられている場合は、それまでにそのようなデータがいくつあったかを調べて、得られた結果が、対応するグリフ番号となる（上記（仮定５）があるためである。）。第１補助テーブルには、内部文字コードのいくつかについて、上記のようにして対応するグリフ番号を計算した結果が格納されている。
【００９７】
図２３に示された第１補助テーブル１５０２では、当該第１補助テーブルへのアクセスを効率化するために、等間隔（具体例として５刻み）の内部文字コードについてグリフ番号との対応が記述されているものとしているが、言うまでもなく、その間隔は不均等であってもよい。また、その間隔が具体例よりも短い場合であっても、第１補助テーブルのデータサイズが十分に小さければ、アクセス効率化のメリットはある。また、第１補助テーブルに記載するべき内部文字コードに対してステータステーブル１５０１で「０」または「２」が規定されている場合の対処については特定の対処に限定されないが、たとえば、当該内部文字コードの１つ前の内部文字コードであって、有効な値が規定されている内部文字コードを用いるなどすればよい。
【００９８】
また、図２２に示されるステータステーブル１５０１に替えて、図２４に示されるように、ステータステーブルを予めグリフ番号が記載される構成とすることで、上記ステップＳ２３０３での第１補助テーブルの生成を不要とすることができる。しかしながら、ステータステーブルの構成を図２４に示されるような構成とすると、そのデータ量が（グリフ番号を表わすビット数）×（ステータステーブルで「１」が規定される文字数）となり、そのデータサイズのステータステーブルが符号化データに付加されることになって好ましくない。
【００９９】
次に、文字識別情報・グリフ番号変換データ生成部２２０１は第２補助テーブル１５０３を生成してアクセステーブルデータメモリ１２０７に書込む（ステップＳ２３０４）。ここで、第２補助テーブルとは、ステータステーブル１５０１で「２」が規定された内部文字コード、つまり割当てられているグリフに対応する文字コードは２つ以上存在する内部文字コードについて、対応するグリフ番号を記述したテーブルである。図２２のステータステーブル１５０１の場合の第２補助テーブル１５０３の具体例としては、図２５に示されたテーブルである。第２補助テーブルは当該符号化データを復号する際に用いられるテーブルであり、具体的には、用いられ方については後述する。上記仮定（３）により、ステータステーブル１５０１で「２」が規定される内部文字コードは少ないと仮定されるため、「２」が規定されるすべての内部文字コードについての対応するグリフ番号を記述したテーブルが生成されても符号化の効率性は保たれるものと考えられる。
【０１００】
なお、上記具体例では、第２補助テーブル１５０３で内部文字コードとグリフ番号との対応が記述されるものとしているが、アクセスのキーとして、内部文字コードに替えて文字識別情報とし、文字識別情報とグリフ番号との対応が記述されてもよい。これは第１補助テーブル１５０２についても同様である。
【０１０１】
なお、上述の文字識別情報・グリフ番号変換データ生成部２２０１で生成される文字識別情報・グリフ番号変換データは１つの具体例であって、ここで生成される変換データは上述のような文字識別情報・グリフ番号変換データには限定されない。ここでのポイントは、文字識別情報（またはそこから一意に決定される内部文字コード）とグリフ番号またはグリフとの対応関係が１対１であるか、そうでないか（あるいはグリフ番号またはグリフがいくつの文字識別情報に対応するか、逆に文字識別情報がいくつのグリフ番号またはグリフに対応するか）を示すデータを生成することである。また、もう１つの重要な点は、生成されるデータを後述する画像復号装置が、判定結果に応じて異なるテーブルを参照するように構成することで、それ自身のために必要となるデータ容量を小さく保ちながら、文字識別情報（または内部文字コード）を高速にグリフ番号に変換する（グリフデータを特定する）ことができるように文字識別情報・グリフ番号変換データを構成したことである。具体的には、本実施の形態では、文字識別情報（内部文字コード）がグリフと１対１対応している場合には第１補助テーブル１５０２を参照し、そうでない場合には第２補助テーブル１５０３を参照することができるように構成された文字識別情報・グリフ番号変換データを、文字識別情報・グリフ番号変換データ生成部２２０１が生成している。さらにその第１補助テーブル１５０２は、文字識別情報（または内部文字コード）とグリフ番号との対応テーブルのサブセットとなっている。
【０１０２】
次に、ついでグリフ番号・オフセット情報変換データ生成部２２０２は、加工分割画像データごとにグリフ番号・オフセット情報変換データを生成してアクセステーブルデータメモリ１２０７に書込む（ステップＳ２３０５）。文字識別情報・オフセット情報変換データは分割に無関係であるが、符号化データ上のオフセットを示すグリフ番号・オフセット情報変換データは符号化されているグリフの数×分割の個数だけのデータをアクセスする情報を持っている。
【０１０３】
以上の構成の具体例では、グリフ番号・オフセット情報変換データは、符号化された分割加工文字データに対応するデータの符号化データ上での位置を、グリフ番号から変換することを通して、文字画像データの符号化データ上での位置を特定している。さらに一般化すれば、グリフ情報・オフセット情報変換データとは、グリフ番号から、符号化された文字画像データの符号化データ上での位置を得るための情報であるといえる。実際、（符号化された）加工分割画像データごとでなく、個々の（符号化された）文字画像データに対応する部分ごとにまとめて符号化データを配置すれば、グリフ番号・オフセット情報変換データは、グリフ番号から符号化された文字画像文字画像データの符号化データ上での位置を直接得るための情報となる。なお、ここで、グリフ番号・オフセット情報変換データの作成方法について詳細に述べていないが、たとえば先頭から各分割に対応する符号化データをサーチして、加工分割文字画像の境目となる位置をオフセット情報として記録すればよいので、特定の方法には限定されないものとする。もちろん、復号時の処理を高速に行なうことのできる工夫をグリフ番号・オフセット情報変換データについて行なうことも考えられる。
【０１０４】
そして、ステップＳ１３０１でロードされた画像データから得られたすべての分割画像データに対して処理が終了していれば（ステップＳ２３０６でＹＥＳ）、処理はステップＳ１３０９に進み、そうでなければ（ステップＳ２３０６でＮＯ）、ステップＳ２３０７は次の分割画像データに処理を移し、処理はステップＳ２３０５に戻る。
【０１０５】
本実施の形態にかかる画像符号化装置で上述の処理が実行されることで、文字画像データに見られる、似たサイズのデータが、一定周期で配置されるという特徴を利用して、少ない計算量で高効率の符号化を行なうことができる。つまり、符号化対象の文字画像データのドット構成に対応した方向に文字画像データを分割することで、バイトの値の分布確率がより反映され、符号化効率を向上させることができる。
【０１０６】
また、符号化データと内部文字コード、文字識別情報との対応を、サイズの小さいテーブルとして符号化データに付加することで、以下の説明する画像復号装置において、少ない計算量で復号することができる。
【０１０７】
なお、以上の説明では、各文字画像データごとにライン方向に直交する分割を行ない、符号化するものとしたが、上記方法は本発明の１つの具体例であって、他の具体例として、ライン方向に直交する分割を行なって「分割画像データ」を作成してから、各文字画像データに対応する部分ごとに、ライン間の差分を取って「加工分割画像データ」を作成する方法も挙げられる。このような方法を採用した実施の形態も本発明のバリエーションの１つである。
【０１０８】
また、本実施の形態では、画像データは文字画像データからなる、フォントデータであるものとしているが、本発明にかかる情報処理装置で処理対象とする画像データは文字画像データには限定されず、一定の大きさからなる、単位画像データが連続してなる画像データであればよい。特に、その場合、上記実施の形態における「文字画像データ」は「単位画像データ」に、「分割文字画像データ」は「分割単位画像データ」に、「加工分割文字画像データ」は「加工分割単位画像データ」に、など、それぞれ適切に置換えることで、文字画像データ以外の画像データを処理対象としたときの動作・構成の説明とされ得る。これは他の実施の形態でも同様である。
【０１０９】
［第２の実施の形態］
文字画像データの２値画像に見られるさらなる特徴として、図２６のように主に縦線から構成される文字画像データや、図２７のように主に横線から構成される文字画像データがある。これらの特徴は、特に文字が漢字である場合に顕著である。
【０１１０】
入力データが図２６に示された文字画像データである場合、水平に配置されたワードごとの排他的論理和を算出すると、図２８に示される出力データが得られる。図２８に示されるように、図２６に示されたような文字画像データの場合、排他的論理和が算出されると０ワード（すべてのビットが０のワード）になるワードが多い。そのため、排他的論理和によって情報が失われることなく０ワードの頻度を高めることができ、符号化効率を高めることができる。
【０１１１】
一方、入力データが図２７に示された文字画像データである場合、水平に配置されたワードごとの排他的論理和を算出しても、出力データは、図２９に示されるように、上述のような、特定のワードの値の頻度を大きくする効果はない。
【０１１２】
本発明の第２の実施の形態にかかる画像符号化装置は、異なる文字コードに対応する文字フォントデータの系列を、ワードの系列ごとに、ライン間差分を用いて符号化する装置であって、文字画像データの上記特徴を利用して符号化する。そのため、本発明の第２の実施の形態にかかる画像符号化装置は、符号化にあたって、符号化データのデータ量がより小さくなるように、文字画像データを回転させることを特徴とし、その点が第１の実施の形態にかかる画像符号化装置との相違点である。そこで、以下においては、主にその相違点について説明する。
【０１１３】
図３０は、本実施の形態にかかるＰＣ３において画像符号化装置として機能し、画像符号化処理を行なうための機能構成の具体例を示すブロック図である。
【０１１４】
図３０を参照して、本実施の形態にかかる画像符号化装置の上記機能は、図２に示された第１の実施の形態にかかる画像符号化装置の上記機能に含まれる各機能に加えて、フラグデータメモリ２４１０を含んで構成される。
【０１１５】
さらに、図３１は、本実施の形態にかかる画像処理部１２０９の構成の具体例を示すブロック図である。図３１を参照して、本実施の形態にかかる画像処理部１２０９は、画像演算部２７０１、第１文字画像データメモリ２７０２、第２文字画像データメモリ２７０３、第１分割文字画像データメモリ２７０４、第２分割文字画像データメモリ２７０５、第１加工分割文字画像データメモリ２７０６、第２加工分割文字画像データメモリ２７０７、および容量予測部２７０８を含んで構成され、各構成要素はデータバス２７０９を介して互いに、また外部に接続される。
【０１１６】
本実施の形態においては、画像データメモリ１２０２に格納された画像データから、画像演算部２７０１によって１文字分の文字画像データが読出され、「第１文字画像データ」として、第１文字画像データメモリ２７０２に格納される。第１文字画像データメモリ２７０２に格納された第１文字画像データは、画像演算部２７０１によって、横方向のバイト境界で縦方向に分割され、「第１分割文字画像データ」として、第１分割文字画像データメモリ２７０４に格納される。
【０１１７】
第１分割文字画像データメモリ２７０４に格納された第１分割文字画像データは、さらに、画像演算部２７０１によって、所定の向きに回転され、「第２文字画像データ」として、第２文字画像データメモリ２７０３に格納される。第２文字画像データメモリ２７０３に格納された第２文字画像データは、画像演算部２７０１によって、横方向のバイト境界で縦方向に分割され、「第２分割文字画像データ」として、第２分割文字画像データメモリ２７０５に格納される。ここでは「所定の向き」とは時計回りに９０度とする。
【０１１８】
画像データメモリ２４０９に格納されている１文字分の画像第１分割文字画像データメモリ２７０４に格納されている分割画像の排他的論理和を取り（以下「加工分割文字画像」と呼ぶことがある）、第１加工分割文字画像データメモリ２７０６に格納する。
【０１１９】
第１分割文字画像データメモリ２７０４に格納されている第１分割文字画像データについて、画像演算部２７０１において排他的論理和が算出され、算出結果が「第１加工分割文字画像データ」として第１加工分割文字画像データメモリ２７０６に格納される。
【０１２０】
同様に、第２分割文字画像データメモリ２７０５に格納されている第２分割文字画像データについて、画像演算部２７０１において排他的論理和が算出され、算出結果が「第２加工分割文字画像データ」として第２加工分割文字画像データメモリ２７０７に格納される。
【０１２１】
容量予測部２７０８は、第１文字画像データメモリ２７０２に格納された第１文字画像データの符号化後の容量と、第２加工分割文字画像データメモリ２７０７に格納された第２加工分割文字画像データの符号化後の容量とを予測し、予想結果を比較する。容量予測部２７０８での比較結果に従って、第１加工分割文字画像データメモリ２７０６に格納されている１加工分割文字画像データ、または第２加工分割文字画像データメモリ２７０７に格納されている第２加工分割文字画像データが出力される。また、容量予測部２７０８での比較結果を示すフラグが画像演算部２７０１によってフラグデータメモリ２４１０に格納される。
【０１２２】
図３２は、第２の実施の形態にかかる画像符号化装置における符号化処理を示すフローチャートである。図３２のフローチャートに示される処理もまた、ＣＰＵ１０１がＲＯＭ１０３等の記憶部に記憶されるプログラムを読出して実行し、コントローラ１２０１が図３０等に示された各部を制御することによって実現される。なお、図３２に示される第２の実施の形態における符号化処理は、図９のフローチャートに示された第２の実施の形態における符号化処理とほぼ同様であり、次の点が異なっている。すなわち、第１の実施の形態における符号化処理のステップＳ１３０３の処理およびステップＳ１３０４の処理に替えて、第２の実施の形態における符号化処理ではステップＳ２５０３の処理およびステップＳ２５０４の処理が実行される。また、以上の処理に加えて、ステップＳ２５１１の処理が実行される。
【０１２３】
図３３は、上記ステップＳ２５０３における画像データの分割処理を示すフローチャートである。
【０１２４】
図３３を参照して、始めに、画像演算部２７０１は、上記ステップＳ１３０１で画像データメモリ１２０２にロードされた画像データから１文字分の文字画像データを読出し、第１文字画像データを第１文字画像データメモリ２７０２に格納する（ステップＳ３７０１）。
【０１２５】
次に、画像演算部２７０１は、第１文字画像データメモリ２７０２に格納された第１文字画像データを横方向のバイト境界によって縦方向に分割して第１分割文字画像データを生成し、第１分割文字画像データメモリ２７０４に格納する（ステップＳ３７０２）。ここでの分割方法は、先に第１の実施の形態において説明された方法と同様の方法でよい。
【０１２６】
次に、画像演算部２７０１は、第１文字画像データメモリ２７０２に格納された第１文字画像データを時計回りに９０度回転して第２文字画像データを生成し、第２文字画像データメモリ２７０３に格納する（ステップＳ３７０３）。
【０１２７】
次に、画像演算部２７０１は、第２文字画像データメモリ２７０３に格納された第２文字画像データを横方向のバイト境界によって縦方向に分割して第２分割文字画像データを生成し、第２分割文字画像データメモリ２７０５に格納する（ステップＳ３７０４）。ここでの分割方法も、先に第１の実施の形態において説明された方法と同様の方法でよい。
【０１２８】
以上で処理を終了し、処理をステップＳ２５０４に進める。
図３４は、上記ステップＳ２５０４における排他的論理和の算出処理を示すフローチャートである。
【０１２９】
図３４を参照して、始めに、画像演算部２７０１は、上記ステップＳ３７０２で第１分割文字画像データメモリ２７０４に格納された第１分割文字画像データについて排他的論理和を算出し、第１加工分割文字画像データを第１加工分割文字画像データメモリ２７０６に格納する（ステップＳ２８０１）。排他的論理和の算出方法は、先に第１の実施の形態において説明された方法と同様の方法でよい。
【０１３０】
ステップＳ１３０１でロードされた画像データから得られたすべての第１分割文字画像データについて排他的論理和を算出する処理が終了していれば（ステップＳ２８０２でＹＥＳ）、処理はステップＳ２８０３に進み、処理していなければ（ステップＳ２８０２でＮＯ）、処理はステップＳ２８０１に戻る。
【０１３１】
ステップＳ２８０３において、容量予測部２７０８は、第１文字画像データメモリ２７０２に格納された第１文字画像データの符号化後の容量を予測する（ステップＳ２８０３）。ステップＳ２８０３での予測方法は上記ステップＳ１３０６での符号化方式と整合性が取れていればよく、本発明において特定の方法に限定されない。具体例として、ここでは、上記ステップＳ１３０６でエントロピー符号化方式が採用されることより、第１文字画像データメモリ２７０２に格納された第１文字画像データから得られる第１加工分割文字画像データのエントロピーを合計する方法が挙げられる。予測すべきターゲットの値は、ステップＳ２８０３での予測方法として、個々の第１加工分割文字画像データを符号化することによる符号データ量の増加量（ここでは「限界符号量」と呼ぶ）であるが、本具体例では、一塊のデータとして符号化される範囲が加工分割文字画像データではなく、これを直接算出することが容易でないため、代わりに第１加工分割文字画像データのエントロピー予測値を用いているのである。いずれにしろ、重要なのは、ここで用いる予測値が上記ステップＳ１３０６での符号化方式と整合性が取れている（予測値がターゲットの値と十分に近いという根拠がある）ことである。本具体例では、符号化方法として、ハフマン符号化を用いているので、その限界符号量の予測値としてエントロピーを用いることで、十分に限界符号量と近い値が得られるという根拠があると言える。もちろん、予測すべきターゲットの値（限界符号量）が容易に得られるような符号化方法であれば、限界符号量を用いてもよく、本発明のバリエーションであることにも変わりはない。
【０１３２】
次に、画像演算部２７０１は、第２分割文字画像データメモリ２７０５に格納されている第２分割文字画像データの排他的論理和を算出し、得られた第２加工分割文字画像データを第２加工分割文字画像データメモリ２７０７に格納する（ステップＳ２８０４）。
【０１３３】
ステップＳ１３０１でロードされた画像データから得られたすべての第２分割文字画像データについて排他的論理和を算出する処理が終了していれば（ステップＳ２８０５でＹＥＳ）、処理はステップＳ２８０６に進み、処理していなければ処理はステップＳ２８０４に戻る。
【０１３４】
ステップＳ２８０６において、容量予測部２７０８は、第２加工分割文字画像データメモリ２７０７に格納された第２加工分割文字画像データの符号化後の容量を予測する。ここでの予測方法はステップＳ２８０３での予測方法と同じ方法であり、上記ステップＳ１３０６での符号化方式と整合性が取れた方法であればよい。限界符号量とその予測とに関してすでに説明したこともそのまま該当する。
【０１３５】
次に、容量予測部２７０８は、ステップＳ２８０３で得られた第１文字画像データの符号化後の容量の予測値と、ステップＳ２８０６で得られた第２加工分割文字画像データの符号化後の容量の予測値とを比較し、後者が大きければ（ステップＳ２８０７でＹＥＳ）、第２加工分割文字画像データメモリ２７０７に格納されている第２加工分割文字画像データ、つまり回転後の画像データを出力し（ステップＳ２８０８）、そうでなければ（ステップＳ２８０７でＮＯ）、第１加工分割文字画像データメモリ２７０５に格納されている第１加工分割文字画像データ、つまり回転前の画像データを出力する（ステップＳ２８０９）。
【０１３６】
次に、画像演算部２７０１は、ステップＳ２８０７での判定結果、つまり、ステップＳ２８０８とステップＳ２８０９とのいずれの処理が実行されたかを示すフラグをフラグデータメモリ２４１０に格納する（ステップＳ２８１０）。フラグの値としては、たとえば、ステップＳ２８０３で得られた第１文字画像データの符号化後の容量の予測値が大きいことを表わす「１」、そうでないことを表わす「０」とすることができる。ステップＳ２８１０では文字ごとにフラグの値が決定される。フラグデータメモリ２７０８には、文字ごとのフラグが、アクセステーブルデータメモリ２４０７に格納されているアクセステーブルデータ、および符号化テーブルデータメモリ２４０５に格納されている符号化データと対応付けられて格納される。具体的には、フラグ、アクセステーブルデータ、および符号化データが処理の順序に蓄積されることでも対応付けられる。
【０１３７】
本実施の形態にかかる画像符号化装置で上述の処理が実行されることで、特に文字が漢字である文字画像データに見られる、主に縦線から構成される、または主に横線から構成されるという特徴を利用して、少ない計算量で高効率の符号化を行なうことができる。つまり、符号化対象の文字画像データが、図２７に示された文字画像データのように、そのまま排他的論理和を算出しても図２９に示されたように特定のワードの値の頻度を大きくする効果はない文字画像データである場合には、図３５のように９０度回転して排他的論理和が算出される。その結果、出力データは図３６に示されるようになり、ゼロの値をとるバイトの頻度を増やすことができる。このため、エントロピー符号化が実行されると、元の画像データの情報を失うことなく（可逆性を損なうことなく）、値の分布を特定の値に集中させてから符号化でき、符号化効率の向上に寄与する。
【０１３８】
＜２．画像復号装置＞
［第３の実施の形態］
図１は、本実施の形態にかかる画像復号装置を搭載するテキスト処理装置としての携帯電話１のハードウェア構成の具体例を示す図であり、一般的な携帯電話のハードウェア構成の具体例を示すブロック図である。
【０１３９】
図１を参照して、携帯電話１は、ユーザとのインタフェースである入出力部１４０と、ＣＰＵ（Central Processing Unit）等から構成されて、当該装置全体を制御する制御部１２０と、他の装置と通信するための通信部１１０と、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などから構成されて、制御部１２０において実行されるプログラムや、そのプログラムの中間データおよび他のコンピュータから受信したデータ等を記憶する記憶部１３０とを含んで構成される。
【０１４０】
通信部１１０は、図示されない基地局を介して通信を行ない、他の携帯電話などの装置にデータの送受信を行なう。
【０１４１】
さらに上述の入出力部１４０は、「１」、「２」などの数字ボタンおよび「Ｒ」、「Ｌ」などの方向ボタンなどを含むキーコード入力デバイス（キー）１４２と、ユーザに情報を表示するＬＣＤ（Liquid Crystal Display）などのディスプレイ１４４と、音声を入力するマイクロフォン１４６と、音声を出力するスピーカ１４８と、画像を撮影して入力するカメラ１４９とを含む。
【０１４２】
本実施の形態にかかる画像復号装置は、携帯電話１のハードウェア、および記憶部１３０に記憶され制御部１２０により実行されるソフトウェアにより構成され、後述する画像復号処理を行なうための機能は、制御部１２０が記憶部１３０に記憶されるプログラムを読出して実行することによって、主に制御部１２０に形成される。または、上記機能の少なくとも一部は携帯電話１のハードウェアによって構成されてもよい。なお、図１に示した携帯電話１の携帯電話機としての通常の動作は周知である。
【０１４３】
図３７は本実施の形態にかかる画像復号装置を搭載するテキスト処理装置のハードウェア構成の概略図であり、図１に示された本実施の形態にかかる画像復号装置を搭載する携帯電話１のハードウェア構成を概略化したブロック図である。
【０１４４】
図３７を参照して、テキスト処理装置は、入出力部１４０に相当する指示装置４６００、制御部１２０などに相当するコントローラ４６０１、記憶部１３０の所定領域に相当するテキストデータメモリ４６０２、画像復号装置４６０３、ディスプレイ１４４に相当する表示装置４６０４、および記憶部１３０に相当する記憶装置４６０６を含んで構成され、各要素はデータバス４６０５によって接続される。
【０１４５】
テキストデータメモリ４６０２には、テキストデータが、各文字の文字識別情報として格納されている。ここでは、文字識別情報は、第１の実施の形態と同様に、文字コードと書体識別情報とを含むものとする。通常、書体は頻繁に変更されるものではないので、テキストデータ上で直前の文字と同じ書体を用いているときには、書体識別情報は省略しておき、直前の文字から書体が変更されているときのみ書体識別情報を付加するようにしてもよい。
【０１４６】
記憶装置４６０５はコントローラ４６０１で実行されるプログラムや、その他のデータを記憶する。また、テキストデータメモリ４６０２は、記憶装置４６０５上に構成されてもよい。
【０１４７】
コントローラ４６０１は、指示装置４６００からの指示を受取ると記憶装置４６０５に記憶されるプログラムを読出して実行し、画像復号装置４６０３に復号処理を実行させるよう制御する。画像復号装置４６０３は、指示装置４６００からの指示信号に応じてコントローラ４６０１から文字識別情報が与えられるごとに、対応するグリフを復号する処理を実行する。つまり、本実施の形態にかかる画像復号装置は、テキスト処理装置のハードウェア、および記憶装置４６０６に記憶されコントローラ４６０１により実行されるソフトウェアにより構成される。また、後述する画像復号処理を行なうための機能は、コントローラ４６０１が記憶装置４６０６に記憶されるプログラムを読出して実行することによって形成される。または、上記機能の少なくとも一部はテキスト処理装置のハードウェアによって構成されてもよい。
【０１４８】
図３８は本実施の形態にかかるテキスト処理装置での画像復号処理を示すフローチャートである。図３８のフローチャートに示される処理は、コントローラ４６０１が記憶装置４６０６に記憶されるプログラムを読出して実行し、図３７に示された各部を制御することによって実現される。
【０１４９】
図３８を参照して、始めに、コントローラ４６０１は、指示装置４６００からの指示信号に従ってテキストデータメモリ４６０２から１文字分の文字識別情報を読出す（ステップＳ４７０１）。画像復号装置４６０３は、ステップＳ４７０１で読出された文字識別情報に対応するグリフを復号する（ステップＳ４７０２）。復号に成功すると（ステップＳ４７０３でＹＥＳ）、処理はステップＳ４７０４に進み、そうでなければ（ステップＳ４７０３でＮＯ）、処理はステップＳ４７０５に進む。
【０１５０】
ステップＳ４７０４で、コントローラ４６０１は、上記ステップＳ４７０２で復号されたグリフを表示装置４６０４に対して出力し、表示するための表示信号を生成させる（ステップＳ４７０４）。
【０１５１】
テキストデータメモリ４６０２にあるすべての文字が処理されていれば（ステップＳ４７０５でＹＥＳ）処理が終了し、そうでなければ処理はステップＳ４７０１に戻る。
【０１５２】
図３９は、本実施の形態にかかるテキスト処理装置である携帯電話１において画像復号装置４６０３として機能し、上記ステップＳ４７０２の画像復号処理を行なうための機能構成の具体例を示すブロック図である。本実施の形態にかかる画像復号装置は、第１の実施の形態にかかる画像符号化装置によって符号化された符号化データである文字フォントデータにアクセスして、必要なフォントデータを復号する。
【０１５３】
図３９を参照して、画像復号装置の上記機能は、コントローラ３３０１、符号化データメモリ３３０２、エントロピー符号復号部３３０３、加工分割文字画像データメモリ３３０４、アクセステーブルデータ変換部３３０５、アクセステーブルデータメモリ３３０６、画像処理部３３０７、および文字画像データメモリ３３０８を含んで構成され、それぞれの構成要素は、データバス３３０９を介して互いに、また外部に接続される。
【０１５４】
さらに、図４０は、画像処理部３３０７の構成の具体例を示すブロック図である。図４０を参照して、画像処理部３３０７は、画像演算部４８０１、文字画像データメモリ４８０２、および分割文字画像データメモリ４８０３を含んで構成され、各構成要素はデータバス４８０４を介して互いに、また外部に接続される。
【０１５５】
さらに、図４１は、アクセステーブルデータ変換部３３０５の構成の具体例を示すブロック図である。図４１を参照して、アクセステーブルデータ変換部３３０５は、文字識別情報・グリフ番号変換部５１０１、およびグリフ番号・オフセット情報変換部５１０２を含んで構成され、各構成要素はデータバス５１０３を介して互いに、また外部に接続される。
【０１５６】
符号化データメモリ３３０２、およびアクセステーブルデータメモリ３３０６は、記憶装置４６０４の所定領域で構成され、各々、第１の実施の形態にかかる画像符号化装置にて生成された符号化データ、およびアクセステーブルデータを記憶する。
【０１５７】
アクセステーブルデータ変換部３３０５の文字識別情報・グリフ番号変換部５１０１は、コントローラ３３０１から受取った文字識別情報に基づいて内部文字コードを取得する。ここでの取得方法は、第１の実施の形態における取得方法と同様の方法が用いられ得る。また、文字識別情報・グリフ番号変換部５１０１は、アクセステーブルデータメモリ３３０６に格納されるアクセステーブルデータを参照し、内部文字コードに対応するグリフ番号を特定して、文字識別情報をグリフ番号に変換する。変換されたグリフ番号は、さらにアクセステーブルデータ変換部３３０５のグリフ番号・オフセット情報変換部５１０２によってオフセット情報に変換され、エントロピー符号復号部３３０３に入力される。
【０１５８】
エントロピー符号復号部３３０３は、アクセステーブルデータ変換部３３０５から入力された、符号化データ上での位置を特定する情報であるオフセット情報を用い、符号化データメモリ３３０２に格納された符号化データ上の、復号対象の文字識別情報に対応した分割文字画像データに対応する部分にアクセスする。そして、その部分の符号化データ（つまり、オフセット情報によって特定された位置にあるデータ）を復号し、「加工分割文字画像データ」として加工分割文字画像データメモリ３３０４に格納する。加工分割文字画像データメモリ３３０４もまた、記憶装置４６０４の所定領域で構成され、復号されたデータを記憶する。
【０１５９】
画像処理部３３０７の画像演算部４８０１は、加工分割文字画像データメモリ３３０４に格納された加工分割文字画像データのうちの１つのデータについての排他的論理和を算出し、「分割文字画像データ」として分割文字画像データメモリ４８０３に格納する。分割文字画像データメモリ４８０３もまた、記憶装置４６０４の所定領域で構成され、分割文字画像データを記憶する。
【０１６０】
ここでは、第１の実施の形態における差分の算出と同様に、出力データである分割文字画像データの０ライン目は、入力データである加工分割文字画像データから取出した０ライン目をそのまま用いる。また、１ライン目以降は、入力データである加工分割文字画像データのｎライン目と、分割文字画像データのすでに復元されている（ｎ−１）ライン目との排他的論理和を、出力データである分割文字画像データのｎライン目の値とする。この処理を順次行なうことで、画像処理部３３０７において加工分割文字画像データから分割文字画像データが復元される。
【０１６１】
この処理で分割文字画像データが復元できるのは、排他的論理和を取るという操作が、それ自身の逆変換となっているからである。すなわち、
Ｃ＝Ａ＾Ｂ
であれば
Ｂ＝Ａ＾Ｃ
が成り立つためである。
【０１６２】
したがって、ｎ≧１について、第１の実施の形態に示された、
（加工分割文字画像データのｎライン目）＝（分割文字画像データの（ｎ−１）ライン目）＾（分割文字画像データのｎライン目）
という関係から、
（分割文字画像データのｎライン目）＝（分割文字画像データの（ｎ−１）ライン目）＾（加工分割文字画像データのｎライン目）
が成り立つ。つまり、分割文字画像データの第（ｎ−１）ラインの値と加工分割文字画像データの第ｎラインの値とを用いて、分割文字画像データの第ｎラインの値が算出できる。
【０１６３】
ｎ＝０については、これも第１の実施の形態に示されたように、
（加工分割文字画像データのｎライン目）＝（分割文字画像データのｎライン目）
であるため、加工分割文字画像データの０ライン目をそのまま分割文字画像データにコピーすれば復元できる。
【０１６４】
もちろん、符号化側での処理が、隣接するライン間の排他的論理和ではなくても、元の画像データの情報を失わない（可逆性を損なわない）変形であれば、これに対応した復号側の処理を行なって加工分割文字画像データから分割文字画像データを得ることが可能である。
【０１６５】
分割文字画像データメモリ４８０２に格納された分割文字画像データは画像処理部３３０７の画像演算部４８０１において統合されて、元の文字画像データが生成される。生成された文字画像データは文字画像データメモリ４８０２に格納される。文字画像データメモリ４８０２に格納された文字画像データは、画像演算部４８０１によって、文字画像データメモリ３３０８に格納される。文字画像データメモリ４８０２，３３０８もまた、記憶装置４６０４の所定領域で構成され、復号処理の結果得られた文字画像データを記憶する。
【０１６６】
図４２は、上記ステップＳ４７０２での、画像復号装置で実行される復号処理を示すフローチャートである。なお、当該画像復号装置を搭載するテキスト処理装置のように、当該画像復号装置を利用する装置を、以下の説明で「本体モジュール」と称する。
【０１６７】
図４２を参照して、始めに、画像復号装置のコントローラ３３０１は、テキスト処理装置のコントローラ４６０１より文字識別情報を受取る（ステップＳ３４０１）。ステップＳ３４０１で取得された文字識別情報は、アクセステーブルデータ変換部３３０５によってグリフ番号に変換される（ステップＳ３４０２）。
【０１６８】
ステップＳ３４０２において文字識別情報の変換に成功すれば（ステップＳ３４０３でＹＥＳ）、処理はステップＳ３４０５に進み、そうでない場合には（ステップＳ３４０３でＮＯ）、処理はステップＳ３４０４に進む。ステップＳ３４０４においてコントローラ３３０１は、本体モジュールに、復号に成功しなかったことを知らせるエラー値を返す（ステップ３４０４）。エラー値が返された場合は、本体モジュールは、要求したグリフの代わりにスペースを表示する、代替となる文字を表示する、など適宜処理を実行すればよい。
【０１６９】
ステップＳ３４０５においては、ステップＳ３４０２で変換されたグリフ番号は、アクセステーブル変換部３３０５によってオフセット情報に変換される（ステップＳ３４０５）。
【０１７０】
次に、エントロピー符号復号部３３０３は、上記ステップＳ３４０５で変換されたオフセット情報を用いて、符号化データメモリ３３０２に格納された符号化データ上の、上記ステップＳ３４０１で取得された文字識別情報に対応した加工分割文字画像データに対応する部分にアクセスして、その部分の符号化データを復号する（ステップＳ３４０６）。そして、復号して得られた加工分割文字画像データを加工分割文字画像データメモリ３３０４に格納する。
【０１７１】
上記ステップＳ３４０１で取得された文字識別情報に対応したすべての加工分割文字画像データに対する処理が終了すると（ステップＳ３４０７でＹＥＳ）、処理はステップＳ３４０８に進み、そうでなければ（ステップＳ３４０７でＮＯ）、処理はステップＳ３４０５に戻る。
【０１７２】
ステップＳ３４０８で、画像処理部３３０７は、上記ステップＳ３４０６で復号された加工分割文字画像データの排他的論理和を算出し、分割文字画像データを得る。次いで、画像処理部３３０８が、ステップＳ３４０８で得られた分割文字画像データを統合して、元の文字画像データを作成する（ステップＳ３４０９）。作成された文字画像データは文字画像データメモリ３３０８に格納され、処理が終了する。
【０１７３】
図４３は、上記ステップＳ３４０２における、グリフ番号への変換処理を示すフローチャートである。なお、第１の実施の形態と同様に、アクセスデータメモリ３３０６に格納されているアクセステーブルデータは、図８に示されたように、文字識別情報・グリフ番号変換データ１４０１と、グリフ番号・オフセット情報変換データ１４０２とを含み、さらに文字識別情報・グリフ番号変換データ１４０１は、図１９に示されたように、ステータステーブル１５０１、第１補助テーブル１５０２、および第２補助テーブル１５０３を含むものとする。以下の説明においては、画像復号装置のアクセスデータメモリ３３０６に図８，図１９に示されたアクセステーブルデータが格納されているものとする。
【０１７４】
図４３を参照して、始めに、文字識別情報・グリフ番号変換部５１０１は、上記ステップＳ３４０１で取得された文字識別情報に基づいて、対象の文字について内部文字コードを取得する（ステップＳ５２０１）。この取得方法については、第１の実施の形態における取得方法（ステップＳ２３０１）と同様である。
【０１７５】
次に、文字識別情報・グリフ番号変換部５１０１は、アクセスデータメモリ３３０６に格納されているステータステーブル１５０１にアクセスし（ステップＳ５２０２）、上記ステップＳ５２０１で取得された内部文字コードについてステータステーブル１５０１で規定された値を読出す。ステータステーブル１５０１で規定された値が「０」であれば（ステップＳ５２０３でＹＥＳ）処理はステップＳ５２０５に進み、ステータステーブル１５０１で規定された値が「２」であれば（ステップＳ５２０３でＮＯ、かつステップＳ５２０４でＹＥＳ）処理はステップＳ５２０７に進み、そうでなければ、つまり規定された値が「１」であれば（ステップＳ５２０３でＮＯ、かつステップＳ５２０４でＮＯ）、処理はステップＳ５２０６に進む。
【０１７６】
ステップＳ５２０５においては、つまり上記ステップＳ５２０１で取得された内部文字コードに対応するステータステーブル１５０１で規定された値が「０」であれば、その内部文字コードに対応するグリフがないことが規定されているため、文字識別情報・グリフ番号変換部５１０１は、エラーを返し、処理を上記ステップＳ３４０３に進める。
【０１７７】
ステータステーブルにて、「１」または「２」が規定された内部文字コードに対しては、対応するグリフ番号を取得する必要がある。
【０１７８】
ステータステーブルにて「１」が規定された内部文字コードに対しては、今までの復号処理において「１」が規定された内部文字コードがいくつあったかを調べて、得られた結果をグリフ番号とする。図２３に示されたように、第１補助テーブル１５０２には、内部文字コードのいくつかについて対応するグリフ番号が記載されているため、このようなアクセスを高速にすることができる。
【０１７９】
ステップＳ５２０６においては、つまり上記ステップＳ５２０１で取得された内部文字コードに対応するステータステーブル１５０１で規定された値が「１」であれば、文字識別情報・グリフ番号変換部５１０１は、第１補助テーブル１５０２とステータステーブル１５０１とから上記ステップＳ５２０１で取得された内部文字コードに対応するグリフ番号を特定して、処理を上記ステップＳ３４０３に進める。グリフ番号を特定する具体的な方法としては、文字識別情報・グリフ番号変換部５１０１は、第１補助テーブル１５０２から、その内部文字コードより大きくない、最も近い内部文字コードを抽出して、抽出された内部文字コードに対応するグリフ番号を特定する。そして、抽出された内部文字コードから、上記ステップＳ５２０１で取得された内部文字コードまでステータステーブル１５０１で「１」が規定されている内部文字コード数を数え、上記ステップＳ５２０１で取得された内部文字コードのグリフ番号とする。
【０１８０】
具体的に、上記ステップＳ５２０１で取得された内部文字コードが、図２２のステータステーブルにおいて内部文字コード「１１」に対応するグリフ番号が「８」と記述されている、「１１」であるものとする。上記ステップＳ５２０６で文字識別情報・グリフ番号変換部５１０１は、図２３の第１補助テーブル１５０２から、まず「１１」を超えない中で、最も「１１」に近い値として「１０」を抽出し、内部文字コード「１０」に対応するグリフ番号「７」を特定する。これはグリフ番号の概算値を得ていることになる。そして、図２２のステータステーブルを参照して、内部文字コードの１０番目から１つ先までの、ステータステーブル１５０１で「１」が規定されている内部文字コード数「８」をカウントすることで、内部文字コード「１１」に対応するグリフ番号「８」を得る。これは、図２２のステータステーブル１５０１から得られるグリフ番号「８」と一致する。
【０１８１】
また、ステップＳ５２０７においては、つまり上記ステップＳ５２０１で取得された内部文字コードに対応するステータステーブル１５０１で規定された値が「２」であれば、文字識別情報・グリフ番号変換部５１０１は、第２補助テーブル５３０３を参照して、その内部文字コードに対応するグリフ番号を特定し、処理を上記ステップＳ３４０３に進める。
【０１８２】
なお、上述の文字識別情報・グリフ番号変換部５１０１で用いられる文字識別情報・グリフ番号変換データは１つの具体例であって、ここで生成される変換データは上述のような文字識別情報・グリフ番号変換データには限定されない。ここでのポイントは、文字識別情報（またはそこから一意に決定される内部文字コード）とグリフ番号またはグリフとの対応関係が１対１であるか、そうでないか（あるいはグリフ番号またはグリフがいくつの文字識別情報に対応するか、逆に文字識別情報がいくつのグリフ番号またはグリフに対応するか）を示すデータを保持し、それによって高速に、文字識別情報（または内部文字コード）とグリフ番号またはグリフとの対応関係が１対１であるかどうかを判定し、その判定結果に応じて異なるテーブルを参照するように構成することで、文字識別情報・グリフ番号変換データのために必要となるデータ容量を小さく保ちながら、文字識別情報（または内部文字コード）を高速にグリフ番号に変換する（グリフデータを特定する）ことができるようにした点にある。具体的には、本実施の形態では、文字識別情報がグリフと１対１対応しているかどうかをステータステーブル１５０１へのアクセスによって判定し、１対１対応している場合には第１補助テーブル１５０２を参照し、そうでない場合には第２補助テーブル１５０３を参照するようにしている。さらにその第１補助テーブル１５０２は、文字識別情報（または内部文字コード）とグリフ番号との対応テーブルのサブセットとなっており、画像復号装置は、この第１補助テーブル１５０２をアクセスして、グリフ番号の概算値を得て、この概算値を用いることによって、第１補助テーブル１５０２を用いないときと比較して、少ない回数のステータステーブル１５０１へのアクセスにより真のグリフ番号を得ることができるようになっているのである。
【０１８３】
図４４は、上記ステップＳ３４０８における排他的論理和の算出処理を示すフローチャートである。
【０１８４】
図４４を参照して、始めに、画像演算部４８０１は、上記ステップＳ３４０６で加工分割文字画像データメモリ３３０４に格納された加工分割文字画像データの１つのデータについて排他的論理和を算出し、分割文字画像データを分割文字画像データメモリ４８０３に格納する（ステップＳ４９０１）。先述のように、符号化されたデータの排他的論理和を算出する処理は、データ符号化時の排他的論理和を算出する処理の逆向きの処理に該当するため、結果として復号する処理となり、符号化前の分割文字画像データが復元される。
【０１８５】
上記ステップＳ３４０１で取得された文字識別情報に対応したすべての加工分割文字画像データに対する排他的論理和を算出する処理が終了すると（ステップＳ４９０２でＹＥＳ）、処理は上記ステップＳ３４０９に進める。そうでなければ（ステップＳ４９０２でＮＯ）、処理はステップＳ４９０１に戻る。
【０１８６】
図４５は、上記ステップＳ３４０９における、分割文字画像データの統合処理を示すフローチャートである。
【０１８７】
図４５を参照して、始めに、画像演算部４８０１は、上記ステップＳ３４０８の処理が実行された結果として分割文字画像データメモリ４８０２に格納されている分割文字画像データを統合して、文字画像データメモリ４８０２に格納する（ステップＳ５００１）。そして、画像演算部４８０１は、文字画像データメモリ４８０２に格納された文字画像データを読出して文字画像データメモリ３３０８に出力し、文字画像データメモリ３３０８に格納する（ステップＳ５００２）。以上で、処理を終了する。
【０１８８】
［第４の実施の形態］
第４の実施の形態にかかる画像復号装置は、上記第２の実施の形態にかかる画像符号化装置において符号化された符号化データを復号する装置である。
【０１８９】
図４６は本実施の形態にかかるテキスト処理装置において画像復号装置として機能し、画像復号処理を行なうための機能構成の具体例を示すブロック図である。
【０１９０】
図４６を参照して、本実施の形態にかかる画像復号装置の上記機能は、図３９に示された第３の実施の形態にかかる画像復号装置の上記機能に含まれる各機能に加えて、フラグデータメモリ３６１０を含んで構成される。
【０１９１】
フラグデータメモリ３６１０は、記憶装置４６０４の所定領域で構成され、第２の実施の形態にかかる画像符号化装置にて生成されたフラグデータを予め記憶する。
【０１９２】
第３の実施の形態にかかる画像復号装置における復号処理は、第２の実施の形態において図４２に示された復号処理と同様である。
【０１９３】
図４７は、本実施の形態での、上記ステップＳ３４０９における、分割文字画像データの統合処理を示すフローチャートである。
【０１９４】
図４７を参照して、本実施の形態にかかる画像処理部３３０７の画像演算部４８０１は、分割文字画像データメモリ４８０３に格納されている分割文字画像データを統合して、文字画像データメモリ４８０２に格納する（ステップＳ５４０１）。
【０１９５】
画像演算部４８０１は、フラグデータメモリ３６１０格納されているフラグデータのうち、上記ステップＳ５４０１での処理対象の文字画像データに対応するフラグの値を参照する（ステップＳ５４０２）。フラグの値が「０」であれば、つまり回転後の画像データが符号化処理されている場合には（ステップＳ５４０２でＮＯ）処理はステップＳ５４０３に進み、フラグの値が「１」であれば、つまり回転前の画像データが符号化処理されている場合には（ステップＳ５４０２でＹＥＳ）ステップＳ５４０３をスキップして、処理がステップＳ５４０４に進む。
【０１９６】
ステップＳ５４０３では、画像演算部４８０１は、文字画像データメモリ３５０２に格納された文字画像データを９０度回転された後に、文字画像データメモリ３５０２に再度格納する（ステップＳ５４０３）。なお、ステップＳ５４０３では、画像演算部４８０１は、第２の実施の形態において画像演算部２７０１が、第１文字画像データに対して行なった回転（ステップＳ３７０３）の逆方向に文字画像データを回転させるものとする。したがって、第２の実施の形態にかかる画像符号化装置で文字画像データを時計回りに９０度回転したことと対応して、ここではその逆向き、すなわち反時計回りに９０度回転する（「時計回りに−９０度」と表現してもよい。）ことになる。つまり、一般化すると、ここで実行される処理は、符号化時に文字画像データに施した変換（ここでは回転処理）の影響を打ち消すような、逆変換を施す処理である。
【０１９７】
画像演算部４８０１は、上記ステップＳ５４０１または上記ステップＳ５４０３で文字画像データメモリ４８０２に格納された文字画像データを読出して文字画像データメモリ３３０８に出力し、文字画像データメモリ３３０８に格納する（ステップＳ５４０４）。以上で、処理を終了する。
【０１９８】
さらに、上述の画像符号化処理および／または画像復号処理をコンピュータに実行させるプログラムを提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ、ＲＯＭ、ＲＡＭおよびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【０１９９】
なお、本発明にかかるプログラムは、コンピュータのオペレーションシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【０２００】
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
【０２０１】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０２０２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０２０３】
【図１】携帯電話１のハードウェア構成の具体例を示す図である。
【図２】第１の実施の形態にかかる画像符号化装置の機能構成の具体例を示すブロック図である。
【図３】画像処理部１２０９の構成の具体例を示すブロック図である。
【図４】アクセステーブルデータ生成部１２０６の構成の具体例を示すブロック図である。
【図５】文字画像データの具体例を表わす図である。
【図６】画像データメモリ１２０２に格納される画像データの具体例を示す図である。
【図７】文字識別情報・グリフ番号対応ルールの具体例を表わす図である。
【図８】アクセステーブルデータの具体例を表わす図である。
【図９】第１の実施の形態にかかる符号化処理を示すフローチャートである。
【図１０】ステップＳ１３０３における画像データの分割処理を示すフローチャートである。
【図１１】文字画像データの具体例を表わす図である。
【図１２】分割文字画像データの具体例を表わす図である。
【図１３】分割文字画像データの具体例を表わす図である。
【図１４】文字画像データの具体例を表わす図である。
【図１５】文字画像データの配置を説明する図である。
【図１６】ステップＳ１３０４における排他的論理和の算出処理を示すフローチャートである。
【図１７】加工分割文字画像データの具体例を表わす図である。
【図１８】ステップＳ１３０８におけるアクセステーブルの生成処理を示すフローチャートである。
【図１９】文字識別情報・グリフ番号変換データの具体例を表わす図である。
【図２０】文字コードと内部文字コードとの対応の具体例を表わす図である。
【図２１】文字コードと書体識別情報とから内部文字コードに変換する技術を説明する図である。
【図２２】ステータステーブルの具体例を表わす図である。
【図２３】第１補助テーブルの具体例を表わす図である。
【図２４】ステータステーブルの具体例を表わす図である。
【図２５】第２補助テーブルの具体例を表わす図である。
【図２６】文字画像データの特徴を説明する図である。
【図２７】文字画像データの特徴を説明する図である。
【図２８】文字画像データの排他的論理和の算出結果を説明する図である。
【図２９】文字画像データの排他的論理和の算出結果を説明する図である。
【図３０】第２の実施の形態にかかる画像符号化装置の機能構成の具体例を示すブロック図である。
【図３１】画像処理部１２０９の構成の具体例を示すブロック図である。
【図３２】第２の実施の形態にかかる符号化処理を示すフローチャートである。
【図３３】ステップＳ２５０３における画像データの分割処理を示すフローチャートである。
【図３４】ステップＳ２５０４における排他的論理和の算出処理を示すフローチャートである。
【図３５】回転操作を説明する図である。
【図３６】文字画像データの排他的論理和の算出結果を説明する図である。
【図３７】テキスト処理装置のハードウェア構成の概略図である。
【図３８】テキスト処理装置での画像復号処理を示すフローチャートである。
【図３９】第３の実施の形態にかかる画像復号装置の機能構成の具体例を示すブロック図である。
【図４０】画像処理部３３０７の構成の具体例を示すブロック図である。
【図４１】アクセステーブルデータ変換部３３０５の構成の具体例を示すブロック図である。
【図４２】ステップＳ４７０２での、画像復号装置で実行される復号処理を示すフローチャートである。
【図４３】ステップＳ３４０２における、グリフ番号への変換処理を示すフローチャートである。
【図４４】ステップＳ３４０８における排他的論理和の算出処理を示すフローチャートである。
【図４５】第３の実施の形態での、ステップＳ３４０９における、分割文字画像データの統合処理を示すフローチャートである。
【図４６】第４の実施の形態にかかる画像復号装置の機能構成の具体例を示すブロック図である。
【図４７】第４の実施の形態での、ステップＳ３４０９における、分割文字画像データの統合処理を示すフローチャートである。
【図４８】ＰＣ３のハードウェア構成の具体例を示す図である。
【図４９】加工分割文字画像データの追加を説明する図である。
【図５０】加工分割文字画像データの追加を説明する図である。
【図５１】加工分割文字画像データの追加を説明する図である。
【図５２】加工分割文字画像データの追加を説明する図である。
【符号の説明】
【０２０４】
１  携帯電話、２  記録媒体、３  ＰＣ、１０１  ＣＰＵ、１０３  ＲＯＭ、１０５  ＲＡＭ、１０７  ハードディスクドライブ、１０９  読取部、１１０  通信部、１１１  入力部、１１３  通信部、１１５  表示部、１２０  制御部、１３０  記憶部、１４０  入出力部、１４２  キーコード入力デバイス、１４４  ディスプレイ、１４６  マイクロフォン、１４８  スピーカ、１４９  カメラ、１２０１  コントローラ、１２０２  画像データメモリ、１２０３  加工分割画像データメモリ、１２０４  エントロピー符号化部、１２０５  符号化データメモリ、１２０６  アクセステーブルデータ生成部、１２０７  アクセステーブルデータメモリ、１２０８  文字識別情報・グリフ番号対応ルールメモリ、１２０９  画像処理部、１２１０  データバス、２２０１  文字識別情報・グリフ番号変換データ生成部、２２０２  グリフ番号・オフセット情報変換データ生成部、２２０３  データバス、２４１０  フラグデータメモリ、２７０１  画像演算部、２７０２  第１文字画像データメモリ、２７０３  第２文字画像データメモリ、２７０４  第１分割文字画像データメモリ、２７０５  第２分割文字画像データメモリ、２７０６  第１加工分割文字画像データメモリ、２７０７  第２加工分割文字画像データメモリ、２７０８  容量予測部、２７０９  データバス、３３０１  コントローラ、３３０２  符号化データメモリ、３３０３  エントロピー符号復号部、３３０４  加工分割文字画像データメモリ、３３０５  アクセステーブルデータ変換部、３３０６  アクセステーブルデータメモリ、３３０７  画像処理部、３３０８  文字画像データメモリ、３３０９  データバス、３６１０  フラグデータメモリ、３８０１  画像演算部、３８０２  文字画像データメモリ、３８０３  分割文字画像データメモリ、３８０４  加工分割文字画像データメモリ、３８０５  データバス、４６００  指示装置、４６０１  コントローラ、４６０２  テキストデータメモリ、４６０３  画像復号装置、４６０４  表示装置、４６０６  記憶装置、４６０５  データバス、４８０１  画像演算部、４８０２  文字画像データメモリ、４８０３  分割文字画像データメモリ、５１０１  文字識別情報・グリフ番号変換部、５１０２  グリフ番号・オフセット情報変換部、５１０３  データバス。
【図１】
2008092089.tif 000003
【図２】
2008092089.tif 000004
【図３】
2008092089.tif 000005
【図４】
2008092089.tif 000006
【図５】
2008092089.tif 000007
【図６】
2008092089.tif 000008
【図７】
2008092089.tif 000009
【図８】
2008092089.tif 000010
【図９】
2008092089.tif 000011
【図１０】
2008092089.tif 000012
【図１１】
2008092089.tif 000013
【図１２】
2008092089.tif 000014
【図１３】
2008092089.tif 000015
【図１４】
2008092089.tif 000016
【図１５】
2008092089.tif 000017
【図１６】
2008092089.tif 000018
【図１７】
2008092089.tif 000019
【図１８】
2008092089.tif 000020
【図１９】
2008092089.tif 000021
【図２０】
2008092089.tif 000022
【図２１】
2008092089.tif 000023
【図２２】
2008092089.tif 000024
【図２３】
2008092089.tif 000025
【図２４】
2008092089.tif 000026
【図２５】
2008092089.tif 000027
【図２６】
2008092089.tif 000028
【図２７】
2008092089.tif 000029
【図２８】
2008092089.tif 000030
【図２９】
2008092089.tif 000031
【図３０】
2008092089.tif 000032
【図３１】
2008092089.tif 000033
【図３２】
2008092089.tif 000034
【図３３】
2008092089.tif 000035
【図３４】
2008092089.tif 000036
【図３５】
2008092089.tif 000037
【図３６】
2008092089.tif 000038
【図３７】
2008092089.tif 000039
【図３８】
2008092089.tif 000040
【図３９】
2008092089.tif 000041
【図４０】
2008092089.tif 000042
【図４１】
2008092089.tif 000043
【図４２】
2008092089.tif 000044
【図４３】
2008092089.tif 000045
【図４４】
2008092089.tif 000046
【図４５】
2008092089.tif 000047
【図４６】
2008092089.tif 000048
【図４７】
2008092089.tif 000049
【図４８】
2008092089.tif 000050
【図４９】
2008092089.tif 000051
【図５０】
2008092089.tif 000052
【図５１】
2008092089.tif 000053
【図５２】
2008092089.tif 000054