(57)【要約】【課題】  電子辞書装置で辞書データを伸張する場合に問題が生じることがないように辞書データの参照部を圧縮し、辞書データの圧縮効率を高めること。【解決手段】  元英和辞典データ２０２は、元英和参照部２０２ａと、元英和主データ部２０２ｂとに区分されている。ＣＰＵ１０は、元英和主データ部２０２ｂを、元英和参照部２０２ａを参照元とする辞書型符号化方法により見出語単位で符号化し、符号化後英和主データ部３０４とする。また、ＣＰＵ１０は、元英和参照部２０２ａを所定の方法で圧縮し、圧縮後英和参照部３０２とする。【選択図】  図２
2005136617.tif 000002
【特許請求の範囲】
【請求項１】
文字列が見出語単位で一連に記述されているコンピュータによる読取可能な辞書データのデータ構造であって、
前記辞書データは参照部と主データ部とに区分され、
前記主データ部は前記参照部を参照元とする辞書型符号化方法により見出語単位で符号化され、
前記参照部は前記辞書型符号化方法と異なる所定の圧縮方法により圧縮されており、
前記所定の圧縮方法で伸張することにより前記参照部が伸張可能に構成され、伸張後の参照部を参照した前記辞書型符号化方法で復号することにより前記主データ部が見出語単位で復号可能に構成されていることを特徴とする辞書データのデータ構造。
【請求項２】
文字列が見出語単位で一連に記述されている辞書データを参照部と主データ部とに区分して記憶する記憶手段と、
前記参照部を参照元とする辞書型符号化方法により前記主データ部を見出語単位で復号可能に符号化する主データ部符号化手段と、
前記参照部を所定の圧縮方法により圧縮する参照部圧縮手段と、
を備えたことを特徴とする辞書データ圧縮装置。
【請求項３】
参照部と主データ部とに区分され、文字列が見出語単位で一連に記述されている辞書データであって、前記主データ部が前記参照部を参照元とする辞書型符号化方法により見出語単位で符号化され、前記参照部が前記辞書型符号化方法と異なる所定の圧縮方法により圧縮された辞書データを記憶する記憶手段と、
この記憶手段により記憶された辞書データの参照部を前記所定の圧縮方法で伸張する伸張手段と、
前記辞書データに含まれる見出語の中から見出語を検索する見出語検索手段と、
この見出語検索手段により検索された見出語が前記主データ部に含まれている場合に、当該見出語に対応する見出語単位の文字列を前記伸張手段により伸張された参照部を参照した前記辞書型符号化方法で復号する復号手段と、
を備えたことを特徴とする電子辞書装置。
【請求項４】
文字列が見出語単位で一連に記述されている複数の辞書データのうち、一の辞書データを参照部と主データ部とに区分して記憶する記憶手段と、
前記一の辞書データの参照部を参照元とする辞書型符号化方法により、前記一の辞書データの主データ部及び他の辞書データを見出語単位で復号可能に符号化する主データ部符号化手段と、
を備えたことを特徴とする辞書データ圧縮装置。
【請求項５】
前記一の辞書データの参照部を所定の圧縮方法により圧縮する参照部圧縮手段を更に備えたことを特徴とする請求項４に記載の辞書データ圧縮装置。
【請求項６】
文字列が見出語単位で一連に記述されている複数の辞書データであって、この複数の辞書データのうち一の辞書データが参照部と主データ部とに区分され、前記一の辞書データの主データ部及び他の辞書データが、前記一の辞書データの参照部を参照元とする辞書型符号化方法により見出語単位で符号化されている複数の辞書データを記憶する記憶手段と、
前記複数の辞書データの中から択一的に辞書データを選択する辞書選択手段と、
この辞書選択手段により選択された辞書データに含まれる見出語の中から見出語を検索する見出語検索手段と、
前記辞書選択手段により選択された辞書データが前記一の辞書データであり、且つ前記見出語検索手段により検索された見出語が前記一の辞書データの主データ部に含まれる場合に、当該見出語に対応する見出語単位の文字列を、前記一の辞書データの参照部を参照した前記辞書型符号化方法で復号する第１の復号手段と、
前記辞書選択手段により選択された辞書データが前記一の辞書データ以外の辞書データである場合に、前記見出語検索手段により検索された見出語に対応する見出語単位の文字列を、前記一の辞書データの参照部を参照した前記辞書型符号化方法で復号する第２の復号手段と、
を備えたことを特徴とする電子辞書装置。
【請求項７】
前記参照部は前記所定の圧縮方法により見出語単位で圧縮されており、
前記主データ部の参照先に基づいて前記参照部を見出語単位で伸張し、この伸張後の参照部を参照した前記辞書型符号化方法で復号することにより前記主データ部の見出語単位での復号が可能に構成されていることを特徴とする請求項１に記載の辞書データのデータ構造。
【請求項８】
前記参照部圧縮手段は前記所定の圧縮方法により前記参照部を見出語単位で圧縮する見出語単位圧縮手段を有することを特徴とする請求項２に記載の辞書データ圧縮装置。
【請求項９】
前記参照部は前記所定の圧縮方法により見出語単位で圧縮されており、
前記伸張手段は前記主データ部の参照先に基づいて前記参照部を見出語単位で伸張する見出語単位伸張手段を有し、
前記復号手段は前記見出語単位伸張手段により伸張された参照部を参照した前記辞書型符号化方法で復号することにより見出語単位の文字列を復号する手段である、
ことを特徴とする請求項３に記載の電子辞書装置。
【請求項１０】
文字列が見出語単位で一連に記述されている辞書データを参照部と主データ部とに区分して記憶する記憶手段と、
前記主データ部の符号化対象の文字列に一致又は類似する文字列を前記参照部中から検索し、一致する文字列が検索された場合には前記参照部中の当該文字列の位置及び文字長を含む符号化コードで前記符号化対象の文字列を置換し、類似する文字列が検索された場合には前記参照部中の当該文字列の位置、文字長及び一致させるための編集コードを含む符号化コードで前記符号化対象の文字列を置換することにより前記主データ部を見出語単位で復号可能に符号化する主データ部符号化手段と、
を備えたことを特徴とする辞書データ圧縮装置。
【請求項１１】
参照部と主データ部とに区分され、文字列が見出語単位で一連に記述されている辞書データであって、前記主データ部が(1)前記参照部中の文字列の位置及び文字長を含む符号化コード、及び(2)前記参照部中の文字列の位置、文字長及び当該文字列の編集を示す編集コードを含む符号化コードで符号化された辞書データを記憶する記憶手段と、
前記辞書データに含まれる見出語の中から見出語を検索する見出語検索手段と、
この見出語検索手段により検索された見出語が前記主データ部に含まれている場合に、当該見出語に対応する見出語単位の文字列を前記主データ部の中から読み出し、前記参照部を参照した辞書型符号化方法での復号を前記符号化コードに基づいて行いつつ、前記符号化コードに編集コードが含まれるときには当該編集コードに従った編集を行って復号する復号手段と、
を備えることを特徴とする電子辞書装置。
【請求項１２】
コンピュータに、
文字列が見出語単位で一連に記述されている辞書データを参照部と主データ部とに区分して記憶する記憶機能と、
前記参照部を参照元とする辞書型符号化方法により前記主データ部を見出語単位で復号可能に符号化する主データ部符号化機能と、
前記参照部を所定の圧縮方法により圧縮する参照部圧縮機能と、
を実現させるためのプログラム。
【請求項１３】
コンピュータに、
参照部と主データ部とに区分され、文字列が見出語単位で一連に記述されている辞書データであって、前記主データ部が前記参照部を参照元とする辞書型符号化方法により見出語単位で符号化され、前記参照部が前記辞書型符号化方法と異なる所定の圧縮方法により圧縮された辞書データを記憶する記憶機能と、
この記憶機能により記憶された辞書データの参照部を前記所定の圧縮方法で伸張する伸張機能と、
前記辞書データに含まれる見出語の中から見出語を検索する見出語検索機能と、
この見出語検索機能により検索された見出語が前記主データ部に含まれている場合に、当該見出語に対応する見出語単位の文字列を前記伸張手段により伸張された参照部を参照した前記辞書型符号化方法で復号する復号機能と、
を実現させるためのプログラム。
【請求項１４】
コンピュータに、
文字列が見出語単位で一連に記述されている複数の辞書データのうち、一の辞書データを参照部と主データ部とに区分して記憶する記憶機能と、
前記一の辞書データの参照部を参照元とする辞書型符号化方法により、前記一の辞書データの主データ部及び他の辞書データを見出語単位で復号可能に符号化する主データ部符号化機能と、
を実現させるためのプログラム。
【請求項１５】
コンピュータに、
文字列が見出語単位で一連に記述されている複数の辞書データであって、この複数の辞書データのうち一の辞書データが参照部と主データ部とに区分され、前記一の辞書データの主データ部及び他の辞書データが、前記一の辞書データの参照部を参照元とする辞書型符号化方法により見出語単位で符号化されている複数の辞書データを記憶する記憶機能と、
前記複数の辞書データの中から択一的に辞書データを選択する辞書選択機能と、
この辞書選択機能により選択された辞書データに含まれる見出語の中から見出語を検索する見出語検索機能と、
前記辞書選択機能により選択された辞書データが前記一の辞書データであり、且つ前記見出語検索機能により検索された見出語が前記一の辞書データの主データ部に含まれる場合に、当該見出語に対応する見出語単位の文字列を、前記一の辞書データの参照部を参照した前記辞書型符号化方法で復号する第１の復号機能と、
前記辞書選択機能により選択された辞書データが前記一の辞書データ以外の辞書データである場合に、前記見出語検索機能により検索された見出語に対応する見出語単位の文字列を、前記一の辞書データの参照部を参照した前記辞書型符号化方法で復号する第２の復号機能と、
を実現させるためのプログラム。
【請求項１６】
コンピュータに、
文字列が見出語単位で一連に記述されている辞書データを参照部と主データ部とに区分して記憶する記憶機能と、
前記主データ部の符号化対象の文字列に一致又は類似する文字列を前記参照部中から検索し、一致する文字列が検索された場合には前記参照部中の当該文字列の位置及び文字長を含む符号化コードで前記符号化対象の文字列を置換し、類似する文字列が検索された場合には前記参照部中の当該文字列の位置、文字長及び一致させるための編集コードを含む符号化コードで前記符号化対象の文字列を置換することにより前記主データ部を見出語単位で復号可能に符号化する主データ部符号化機能と、
を実現させるためのプログラム。
【請求項１７】
コンピュータに、
参照部と主データ部とに区分され、文字列が見出語単位で一連に記述されている辞書データであって、前記主データ部が(1)前記参照部中の文字列の位置及び文字長を含む符号化コード、及び(2)前記参照部中の文字列の位置、文字長及び当該文字列の編集を示す編集コードを含む符号化コードで符号化された辞書データを記憶する記憶機能と、
前記辞書データに含まれる見出語の中から見出語を検索する見出語検索機能と、
この見出語検索機能により検索された見出語が前記主データ部に含まれている場合に、当該見出語に対応する見出語単位の文字列を前記主データ部の中から読み出し、前記参照部を参照した辞書型符号化方法での復号を前記符号化コードに基づいて行いつつ、前記符号化コードに編集コードが含まれるときには当該編集コードに従った編集を行って復号する復号機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、辞書データのデータ構造、辞書データを圧縮する辞書データ圧縮装置、圧縮された辞書データを伸張して利用する電子辞書装置及びプログラムに関する。
【背景技術】
【０００２】
データの圧縮アルゴリズムには種々のものが知られているが、電子辞書装置等で利用される辞書データの圧縮は、「見出語毎のランダムアクセス（復号・伸張）が必要」、「符号化（圧縮ともいう。）は製品開発時に１度行うのみであるため十分時間をかけても問題がない」という２点において一般文章データの圧縮と大きく異なっている。
【０００３】
「見出語毎のランダムアクセス」とは、辞書データを見出語単位で復号（伸張や展開ともいう。）することをいう。辞書データは紙の辞書と同等の内容を有している。符号化前の辞書データは、紙の辞書に印字されている文字を文字コードとしたものであって、一連のテキストのデータとなっているのが一般的である。すなわち、先頭の見出語から順番に、紙の辞書に印字されている文字（テキスト）が連続したテキストのデータである。この辞書データを全体として単純に圧縮すると、任意の見出語の情報（当該見出語に関する説明文）を復号することができない。このため、連続したテキストデータを見出語毎（見出語単位）で区切り、圧縮する必要がある。
【０００４】
「符号化は製品開発時に１度行うのみ」とは、文字通りメーカ側が十分な時間をかけて辞書データを符号化できることを意味する。すなわち、電子辞書装置では圧縮された辞書データを伸張するのみであり、圧縮（符号化）することはない。従って、高速な計算機によるあらゆる可能性を試した後に最も効率のよい圧縮方法を採用できるという利点がある。
【０００５】
この様な特徴の中で、例えば、特許文献１、特許文献２及び特許文献３のような辞書データの圧縮方法が提案されている。
【０００６】
例えば、辞書データ全体を１割程度の部分（以下適宜「参照部」という。）と残りの部分（以下適宜「主データ部」という。）とに区分する。そして、主データ部中の文字列が参照部中に含まれているか否かを判定し、含まれている場合には含まれている参照部中の位置及び長さに基づいて符号化することにより主データ部の圧縮を行う方法が知られている。
【０００７】
具体的には、主データ部中の符号化対象の文字列が、参照部中のどの位置（位置ｘ）から、何文字分（長さｙ文字）（以下位置ｘ及び長さｙを合わせて「位置情報」という。）の文字列に相当するのかを判定して符号化する。このような参照部の位置情報を用いて符号化する方法は、ＬＺ７７法やＬＺ７８法等の辞書型符号化方法として知られているものである。ただし、符号化の対象が辞書データであるため、「見出語毎のランダムアクセス」を可能とする必要があり、辞書データ中の参照部を固定とする等の工夫が必要である。
【０００８】
また、参照部中に一致する文字列が存在しない場合には、その符号化対象の文字列をハフマン符号等で直接可変長で符号化することにより圧縮する。このように、符号化には、文字列が含まれる参照部の位置を参照して符号化する辞書型符号化方法と、直接ハフマン符号等の可変長符号により符号化する方法の２つが利用される。
【特許文献１】特開平６−２５１０７０号公報
【特許文献２】特開平８−３１４９６０号公報
【特許文献３】特開平１１−９６１８６号広報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ここで、上述した２つの圧縮方法のうち、直接可変長で符号化する方法は、参照部を利用せず、使用されている文字列全てに対して一意に符号を割り当てる必要があるため、辞書型符号化方法に比べて圧縮率（圧縮効率ともいう。）が悪い。従って、より多くの文字列を辞書型符号化方法で符号化するために、辞書データのうち参照部の占める割合を高くすることが考えられる。しかし、主データ部のデータを復号する際に、参照部は随時利用される。このため、辞書データに占める参照部の割合を高めると、却って辞書データ全体としての圧縮率が悪くなることとなる。
【００１０】
さらに、辞書型符号化方法においては、より長い文字列が見つかるほど圧縮効率が良くなるが、その長い文字列中にわずかでも文字列が異なると、同じ文字列とは認識されず、符号化出来なかった。例えば、参照部に「画面に表示するためのソフトウェア」という文字列があり、主データ部に「画面に表示するソフトウェア」という文字列がある場合には、「ための」という３文字の有無によって異なる文字列と判断され、「画面に表示する」と「ソフトウェア」との２語に分けて符号化されていた。
【００１１】
また、最近の電子辞書装置には、２０種別以上の辞書データが内蔵されているものもある。内蔵される辞書データの種別が増えれば増えるほど、辞書データの圧縮効率が問題となるのは自明の通りである。
【００１２】
本発明は以上の課題に鑑みてなされたものであり、第１の目的は、電子辞書装置で辞書データを利用する（伸張する）場合に問題が生じることがないように辞書データの参照部を圧縮し、辞書データの圧縮効率を高めることである。第２の目的は、辞書型符号化方法において、一致する文字列のみならず類似する文字列を参照する符号化を実現し辞書データの圧縮効率を高めることである。
【課題を解決するための手段】
【００１３】
以上の課題を解決するため、請求項１に記載の発明は、文字列が見出語単位で一連に記述されているコンピュータによる読取可能な辞書データのデータ構造であって、
前記辞書データは参照部と主データ部とに区分され、
前記主データ部（例えば、図２の元英和主データ部２０２ｂ）は前記参照部を参照元とする辞書型符号化方法により見出語単位で符号化され、
前記参照部（例えば、図２の元英和参照部２０２ａ）は前記辞書型符号化方法と異なる所定の圧縮方法により圧縮されており、
前記所定の圧縮方法で伸張することにより前記参照部が伸張可能に構成され、伸張後の参照部を参照した前記辞書型符号化方法で復号することにより前記主データ部が見出語単位で復号可能に構成されていることを特徴とする。
【００１４】
この請求項１に記載の発明によれば、参照部が圧縮された辞書データのデータ構造を実現できる。このため、辞書データ全体の圧縮効率を高めることができる。また、主データ部は、伸張後の参照部を参照した辞書型符号化方法で復号される構成である。このため、圧縮された参照部によって主データ部が復号できなくなるといったことは生じない。
【００１５】
請求項２に記載の発明の辞書データ圧縮装置は、
文字列が見出語単位で一連に記述されている辞書データを参照部と主データ部とに区分して記憶する記憶手段（例えば、図２のハードディスク２０；元英和辞典データ２０２）と、
前記参照部を参照元とする辞書型符号化方法により前記主データ部を見出語単位で復号可能に符号化する主データ部符号化手段（例えば、図２のＣＰＵ１０；図４のステップＡ１２）と、
前記参照部を所定の圧縮方法により圧縮する参照部圧縮手段（例えば、図２のＣＰＵ１０；図４のステップＡ１４）と、
を備えたことを特徴とする。
【００１６】
また、請求項１２に記載の発明のプログラムは、
コンピュータに、
文字列が見出語単位で一連に記述されている辞書データを参照部と主データ部とに区分して記憶する記憶機能（例えば、図２のハードディスク２０；元英和辞典データ２０２）と、
前記参照部を参照元とする辞書型符号化方法により前記主データ部を見出語単位で復号可能に符号化する主データ部符号化機能（例えば、図２のＣＰＵ１０；図４のステップＡ１２）と、
前記参照部を所定の圧縮方法により圧縮する参照部圧縮機能（例えば、図２のＣＰＵ１０；図４のステップＡ１４）と、
を実現させることを特徴とする。
【００１７】
この請求項２又は１２に記載の発明によれば、主データ部が辞書型符号化方法により符号化されるとともに、参照部も所定の圧縮方法で圧縮されるため、辞書データ全体の圧縮効率を高めることができる。
【００１８】
請求項３に記載の発明の電子辞書装置は、
参照部と主データ部とに区分され、文字列が見出語単位で一連に記述されている辞書データであって、前記主データ部（例えば、図２のハードディスク２０；元英和主データ部２０２ａ）が前記参照部（例えば、図２のハードディスク２０；元英和参照部２０２ｂ）を参照元とする辞書型符号化方法により見出語単位で符号化され、前記参照部が前記辞書型符号化方法と異なる所定の圧縮方法により圧縮された辞書データを記憶する記憶手段（例えば図２のハードディスク２０）と、
この記憶手段により記憶された辞書データの参照部を前記所定の圧縮方法で伸張する伸張手段（例えば、図７のＣＰＵ１１０；図９のステップＣ１２）と、
前記辞書データに含まれる見出語の中から見出語を検索する見出語検索手段（例えば、図７のＣＰＵ１１０；図９のステップＣ１６）と、
この見出語検索手段により検索された見出語が前記主データ部に含まれている場合に、当該見出語に対応する見出語単位の文字列を前記伸張手段により伸張された参照部を参照した前記辞書型符号化方法で復号する復号手段（例えば、図７のＣＰＵ１１０；図９のステップＣ２０）と、
を備えたことを特徴とする。
【００１９】
また請求項１３に記載の発明のプログラムは、
コンピュータに、
参照部と主データ部とに区分され、文字列が見出語単位で一連に記述されている辞書データであって、前記主データ部が前記参照部を参照元とする辞書型符号化方法により見出語単位で符号化され、前記参照部が前記辞書型符号化方法と異なる所定の圧縮方法により圧縮された辞書データを記憶する記憶機能（例えば、図２のハードディスク２０）と、
この記憶機能により記憶された辞書データの参照部を前記所定の圧縮方法で伸張する伸張機能（例えば図７のＣＰＵ１１０；図９のステップＣ１２）と、
前記辞書データに含まれる見出語の中から見出語を検索する見出語検索機能（例えば図７のＣＰＵ１１０；図９のステップＣ１６）と、
この見出語検索機能により検索された見出語が前記主データ部に含まれている場合に、当該見出語に対応する見出語単位の文字列を前記伸張手段により伸張された参照部を参照した前記辞書型符号化方法で復号する復号機能（例えば図７のＣＰＵ１１０；図９のステップＣ２０）と、
を実現させることを特徴とする。
【００２０】
この請求項３又は１３に記載の発明によれば、参照部が圧縮された場合であっても、伸張後の参照部を参照した辞書型符号化方法で主データ部を復号する電子辞書装置を実現できる。このため、圧縮された参照部によって主データ部が復号できなくなるといったことがない。また、辞書データの参照部も圧縮されているため、辞書データを格納するためのメモリ容量を節減できる。
【００２１】
請求項４に記載の発明の辞書データ圧縮装置は、
文字列が見出語単位で一連に記述されている複数の辞書データのうち、一の辞書データを参照部と主データ部とに区分して記憶する記憶手段（例えば、図２のハードディスク２０；元英和辞典データ２０２）と、
前記一の辞書データの参照部を参照元とする辞書型符号化方法により、前記一の辞書データの主データ部及び他の辞書データを見出語単位で復号可能に符号化する主データ部符号化手段（例えば、図２のＣＰＵ１０；図１２のステップＥ１６）と、
を備えたことを特徴とする。
【００２２】
また、請求項１４に記載の発明のプログラムは、
コンピュータに、
文字列が見出語単位で一連に記述されている複数の辞書データのうち、一の辞書データを参照部と主データ部とに区分して記憶する記憶機能（例えば図２のハードディスク２０；元英和辞典データ２０２）と、
前記一の辞書データの参照部を参照元とする辞書型符号化方法により、前記一の辞書データの主データ部及び他の辞書データを見出語単位で復号可能に符号化する主データ部符号化機能（例えば図２のＣＰＵ１０；図１２のステップＥ１６）と、
を実現させることを特徴とする。
【００２３】
この請求項４又は１４に記載の発明によれば、複数の辞書データのうち、一の辞書データのみが参照部と主データ部とに区分され、この一の辞書データの主データ部及び他の辞書データは一の辞書データの参照部を参照した辞書型符号化方法で符号化（圧縮）される。このため、他の辞書データが参照部と主データ部とに区分されている必要がなく、比較的圧縮効率の高い辞書型圧縮方法を他の辞書データ全体に適用することができる。従って、電子辞書装置に複数の辞書データが内蔵される場合に好適な圧縮を実現できる。
【００２４】
請求項５に記載の発明は、請求項４に記載の辞書データ圧縮装置において、
前記一の辞書データの参照部を所定の圧縮方法により圧縮する参照部圧縮手段（例えば、図２のＣＰＵ１０；図４のステップＡ１４）を更に備えたことを特徴とする。
【００２５】
この請求項５に記載の発明によれば、一の辞書データの参照部が所定の圧縮方法で圧縮されるため、複数の辞書データ全体の圧縮効率を更に高めることができる。
【００２６】
請求項６に記載の発明の電子辞書装置は、
文字列が見出語単位で一連に記述されている複数の辞書データであって、この複数の辞書データのうち一の辞書データ（例えば図１３（ｂ）のＥＥＰＲＯＭ１４２；圧縮後英和辞典データ１４２０）が参照部と主データ部とに区分され、前記一の辞書データの主データ部及び他の辞書データが、前記一の辞書データの参照部を参照元とする辞書型符号化方法により見出語単位で符号化されている複数の辞書データを記憶する記憶手段（例えば図１３（ｂ）のＥＥＰＲＯＭ１４２）と、
前記複数の辞書データの中から択一的に辞書データを選択する辞書選択手段（例えば図７のＣＰＵ１１０；図１５のステップＣ１０）と、
この辞書選択手段により選択された辞書データに含まれる見出語の中から見出語を検索する見出語検索手段（例えば図７のＣＰＵ１１０；図１５のステップＣ１６）と、
前記辞書選択手段により選択された辞書データが前記一の辞書データであり、且つ前記見出語検索手段により検索された見出語が前記一の辞書データの主データ部に含まれる場合に、当該見出語に対応する見出語単位の文字列を、前記一の辞書データの参照部を参照した前記辞書型符号化方法で復号する第１の復号手段（例えば、図７のＣＰＵ１１０；図１５のステップＦ２６）と、
前記辞書選択手段により選択された辞書データが前記一の辞書データ以外の辞書データである場合に、前記見出語検索手段により検索された見出語に対応する見出語単位の文字列を、前記一の辞書データの参照部を参照した前記辞書型符号化方法で復号する第２の復号手段（例えば図７のＣＰＵ１１０；図１５のステップＦ２０）と、
を備えたことを特徴とする。
【００２７】
また、請求項１５に記載の発明のプログラムは、
コンピュータに、
文字列が見出語単位で一連に記述されている複数の辞書データであって、この複数の辞書データのうち一の辞書データが参照部と主データ部とに区分され、前記一の辞書データの主データ部及び他の辞書データが、前記一の辞書データの参照部を参照元とする辞書型符号化方法により見出語単位で符号化されている複数の辞書データを記憶する記憶機能（例えば、図１３のＥＥＰＲＯＭ１４２）と、
前記複数の辞書データの中から択一的に辞書データを選択する辞書選択機能（例えば図７のＣＰＵ１１０；図１５のステップＣ１０）と、
この辞書選択機能により選択された辞書データに含まれる見出語の中から見出語を検索する見出語検索機能（例えば図７のＣＰＵ１１０；図１５のステップＣ１６）と、
前記辞書選択機能により選択された辞書データが前記一の辞書データであり、且つ前記見出語検索機能により検索された見出語が前記一の辞書データの主データ部に含まれる場合に、当該見出語に対応する見出語単位の文字列を、前記一の辞書データの参照部を参照した前記辞書型符号化方法で復号する第１の復号機能（例えば図７のＣＰＵ１１０；図１５のステップＦ２６）と、
前記辞書選択機能により選択された辞書データが前記一の辞書データ以外の辞書データである場合に、前記見出語検索機能により検索された見出語に対応する見出語単位の文字列を、前記一の辞書データの参照部を参照した前記辞書型符号化方法で復号する第２の復号機能（例えば図７のＣＰＵ１１０；図１５のステップＦ２０）と、
を実現させることを特徴とする。
【００２８】
この請求項６又は１５に記載の発明によれば、記憶手段に記憶された複数の辞書データは、一の辞書データのみが参照部と主データ部とに区分され、この一の辞書データの主データ部及び他の辞書データが一の辞書データの参照部を参照した辞書型符号化方法で符号化（圧縮）されている。そして、選択された辞書データが一の辞書データであり、且つ検索された見出語が一の辞書データの主データ部に含まれる場合には、第１の復号手段又は第１の復号機能により、当該見出語に対応する見出語単位の文字列が、一の辞書データの参照部を参照した辞書型符号化方法で復号される。また、選択された辞書データが一の辞書データ以外の辞書データである場合には、第２の復号手段又は第２の復号機能により、検索された見出語に対応する見出語単位の文字列が、一の辞書データの参照部を参照した辞書型符号化方法で復号される。
【００２９】
このため、複数の辞書データのうち、一の辞書データのみが参照部と主データ部とに区分され、この一の辞書データの主データ部及び他の辞書データが一の辞書データの参照部を参照した辞書型符号化方法で符号化（圧縮）されている場合であっても問題なく他の辞書データを復号できる。よって、比較的圧縮効率の高い辞書型圧縮方法が他の辞書データ全体に適用されているため、電子辞書装置における複数の辞書データの格納領域（メモリ容量）を削減できる。
【００３０】
請求項７に記載の発明は、請求項１に記載の辞書データのデータ構造において、
前記参照部は前記所定の圧縮方法により見出語単位で圧縮されており（例えば図１６のハードディスク２４；元英和参照部２０２ａ）、
前記主データ部の参照先に基づいて前記参照部を見出語単位で伸張し、この伸張後の参照部を参照した前記辞書型符号化方法で復号することにより前記主データ部の見出語単位での復号が可能に構成されていることを特徴とする。
【００３１】
この請求項７に記載の発明によれば、請求項１に記載の発明の効果に加えて、次のような効果を具備する。すなわち、主データ部を復号する前に参照部全体を伸張する必要のないデータ構造を実現できる。具体的には、電子辞書装置において、参照部は見出語単位で圧縮されているため、復号の対象となっている主データ部の参照先に基づいて、参照部のうちの必要な部分のみを伸張すれば済む。
【００３２】
請求項８に記載の発明は、請求項２に記載の辞書データ圧縮装置において、
前記参照部圧縮手段は前記所定の圧縮方法により前記参照部を見出語単位で圧縮する見出語単位圧縮手段（例えば図２のＣＰＵ１０；図１８のステップＧ１８）を有することを特徴とする。
【００３３】
この請求項８に記載の発明によれば、請求項２に記載の発明の効果に加えて、次のような効果を具備する。すなわち、圧縮後の辞書データを利用する電子辞書装置において、復号の対象となっている主データ部の参照先に基づいて、参照部のうちの必要な見出語単位部分のみを伸張すれば済む。従って、電子辞書装置における参照部の伸張用の一時使用メモリ量を削減することのできる圧縮を実現できる。
【００３４】
請求項９に記載の発明は、請求項３に記載の電子辞書装置において、
前記参照部は前記所定の圧縮方法により見出語単位で圧縮されており（例えば図１９のＥＥＰＲＯＭ１４４；圧縮後英和参照部１４０２）、
前記伸張手段は前記主データ部の参照先に基づいて前記参照部を見出語単位で伸張する見出語単位伸張手段（例えば図７のＣＰＵ１１０；図２１のステップＩ１４）を有し、
前記復号手段は前記見出語単位伸張手段により伸張された参照部を参照した前記辞書型符号化方法で復号することにより見出語単位の文字列を復号する手段である（例えば図７のＣＰＵ１１０；図２１のステップＩ１６）、
ことを特徴とする。
【００３５】
この請求項９に記載の発明によれば、請求項３に記載の発明の効果に加えて、次のような効果を具備する。すなわち、復号の対象となっている主データ部の参照先に基づいて、参照部のうちの必要な見出語単位部分のみを見出語単位伸張手段が伸張すれば済む。従って、電子辞書装置における参照部の伸張用の一時使用メモリ量を削減できる。
【００３６】
請求項１０に記載の発明の辞書データ圧縮装置は、
文字列が見出語単位で一連に記述されている辞書データを参照部と主データ部とに区分して記憶する記憶手段（例えば図２２のハードディスク２６）と、
前記主データ部の符号化対象の文字列に一致又は類似する文字列を前記参照部中から検索し、一致する文字列が検索された場合には前記参照部中の当該文字列の位置及び文字長を含む符号化コードで前記符号化対象の文字列を置換し、類似する文字列が検索された場合には前記参照部中の当該文字列の位置、文字長及び一致させるための編集コードを含む符号化コードで前記符号化対象の文字列を置換することにより前記主データ部を見出語単位で復号可能に符号化する主データ部符号化手段（例えば図２のＣＰＵ１０；図２３のステップＪ２４）と、
を備えたことを特徴とする。
【００３７】
また、請求項１６に記載の発明のプログラムは、
コンピュータに、
文字列が見出語単位で一連に記述されている辞書データを参照部と主データ部とに区分する区分機能（例えば図２２のハードディスク２６）と、
前記主データ部の符号化対象の文字列に一致又は類似する文字列を前記参照部中から検索し、一致する文字列が検索された場合には前記参照部中の当該文字列の位置及び文字長を含む符号化コードで前記符号化対象の文字列を置換し、類似する文字列が検索された場合には前記参照部中の当該文字列の位置、文字長及び一致させるための編集コードを含む符号化コードで前記符号化対象の文字列を置換することにより前記主データ部を見出語単位で復号可能に符号化する主データ部符号化機能（例えば図２のＣＰＵ１０；図２３のステップＪ２４）と、
を実現させることを特徴とする。
【００３８】
この請求項１０又は１６に記載の発明によれば、符号化対象の文字列に一致する文字列が参照部中に存在しない場合であっても、類似する文字列が存在すれば、位置、文字長及び一致させるための編集コードを含む符号化コードで、当該符号化対象文字列を符号化できる。
【００３９】
請求項１１に記載の発明の電子辞書装置は、
参照部と主データ部とに区分され、文字列が見出語単位で一連に記述されている辞書データであって、前記主データ部が(1)前記参照部中の文字列の位置及び文字長を含む符号化コード、及び(2)前記参照部中の文字列の位置、文字長及び当該文字列の編集を示す編集コードを含む符号化コードで符号化された辞書データ（例えば図７のＥＥＰＲＯＭ１４０；圧縮後英和辞典データ１４００）を記憶する記憶手段（例えば図７のＥＥＰＲＯＭ１４０）と、
前記辞書データに含まれる見出語の中から見出語を検索する見出語検索手段（例えば図７のＣＰＵ１１０；図９のステップＣ１６）と、
この見出語検索手段により検索された見出語が前記主データ部に含まれている場合に、当該見出語に対応する見出語単位の文字列を前記主データ部の中から読み出し、前記参照部を参照した辞書型符号化方法での復号を前記符号化コードに基づいて行いつつ、前記符号化コードに編集コードが含まれるときには当該編集コードに従った編集を行って復号する復号手段（例えば図７のＣＰＵ１１０；図２６のステップＫ１８）と、
を備えることを特徴とする。
【００４０】
また請求項１７に記載の発明のプログラムは、
コンピュータに、
参照部と主データ部とに区分され、文字列が見出語単位で一連に記述されている辞書データであって、前記主データ部が(1)前記参照部中の文字列の位置及び文字長を含む符号化コード、及び(2)前記参照部中の文字列の位置、文字長及び当該文字列の編集を示す編集コードを含む符号化コードで符号化された辞書データ（例えば図７のＥＥＰＲＯＭ１４０；圧縮後英和辞典データ１４００）を記憶する記憶機能（例えば図７のＥＥＰＲＯＭ１４０）と、
前記辞書データに含まれる見出語の中から見出語を検索する見出語検索機能（例えば図７のＣＰＵ１１０；図９のステップＣ１６）と、
この見出語検索機能により検索された見出語が前記主データ部に含まれている場合に、当該見出語に対応する見出語単位の文字列を前記主データ部の中から読み出し、前記参照部を参照した辞書型符号化方法での復号を前記符号化コードに基づいて行いつつ、前記符号化コードに編集コードが含まれるときには当該編集コードに従った編集を行って復号する復号機能（例えば図７のＣＰＵ１１０；図２６のステップＫ１８）と、
を実現させることを特徴とする。
【００４１】
この請求項１１又は１７に記載の発明によれば、主データ部の復号の際に、符号化コードに編集コードが含まれている場合には、当該編集コードに従った編集を行いつつ復号が実行される。このため、参照部中の文字列に一致する文字列のみならず、類似する文字列が辞書型符号化方法で符号化された主データ部であっても問題なく復号することができ、圧縮効率の高い辞書データを格納（内蔵）することによるメモリ容量の削減を実現できる。
【発明の効果】
【００４２】
請求項１に記載の発明によれば、参照部が圧縮された辞書データのデータ構造を実現できる。このため、辞書データ全体の圧縮効率を高めることができる。
【００４３】
請求項２又は１２に記載の発明によれば、主データ部が辞書型符号化方法により符号化されるとともに、参照部も所定の圧縮方法で圧縮されるため、辞書データ全体の圧縮効率を高めることができる。
【００４４】
請求項３又は１３に記載の発明によれば、参照部が圧縮された場合であっても、伸張後の参照部を参照した辞書型符号化方法で主データ部を復号する電子辞書装置を実現できる。
【００４５】
請求項４又は１４に記載の発明によれば、一の辞書データ以外の他の辞書データが参照部と主データ部とに区分されている必要がなく、比較的圧縮効率の高い辞書型圧縮方法を他の辞書データ全体に適用することができる。
【００４６】
請求項５に記載の発明によれば、一の辞書データの参照部が所定の圧縮方法で圧縮されるため、複数の辞書データ全体の圧縮効率を更に高めることができる。
【００４７】
請求項６又は１５に記載の発明によれば、複数の辞書データのうち、一の辞書データのみが参照部と主データ部とに区分され、この一の辞書データの主データ部及び他の辞書データが一の辞書データの参照部を参照した辞書型符号化方法で符号化（圧縮）されている場合であっても問題なく主データ部を復号できる。
【００４８】
請求項７に記載の発明によれば、主データ部を復号する前に参照部全体を伸張する必要のないデータ構造を実現できる。具体的には、電子辞書装置において、参照部は見出語単位で圧縮されているため、復号の対象となっている主データ部の参照先に基づいて、参照部のうちの必要な部分のみを伸張すれば済む。
【００４９】
請求項８に記載の発明によれば、電子辞書装置における参照部の伸張用の一時使用メモリ量を削減することのできる圧縮を実現できる。
【００５０】
請求項９に記載の発明によれば、復号の対象となっている主データ部の参照先に基づいて、参照部のうちの必要な見出語単位部分のみを見出語単位伸張手段が伸張すれば済む。
【００５１】
請求項１０又は１６に記載の発明によれば、符号化対象の文字列に一致する文字列が参照部中に存在しない場合であっても、類似する文字列が存在すれば、位置、文字長及び一致させるための編集コードを含む符号化コードで、当該符号化対象文字列を符号化できる。
【００５２】
請求項１１又は１７に記載の発明によれば、参照部中の文字列に一致する文字列のみならず、類似する文字列が辞書型符号化方法で符号化された主データ部であっても問題なく復号することができ、圧縮効率の高い辞書データを格納（内蔵）することによるメモリ容量の削減を実現できる。
【発明を実施するための最良の形態】
【００５３】
以下、図を参照して本発明を辞書データ圧縮装置の一種であるコンピュータ及び携帯式かつ折り畳み式の電子辞書装置に適用した場合の実施形態について図面を参照して詳細に説明する。但し、本発明が適用可能なものはこれに限定されるものではない。
【００５４】
〔第１実施形態〕
［１．全体構成］
図１は、本発明を適用したコンピュータ１及び電子辞書装置１００の概観図である。コンピュータ１は、通常、電子辞書装置１００の製造メーカ等に設置されており、辞書データの圧縮の用に供される。コンピュータ１で圧縮された辞書データは、ＥＥＰＲＯＭ１０７に記憶されて、ＥＥＰＲＯＭ１０７が実装された電子辞書装置１００が製造される。そして、電子辞書装置１００においては、圧縮された辞書データが伸張され、辞書データの内容（見出語や説明情報等）が表示される。
【００５５】
辞書データとは、見出語と、当該見出語を説明するための説明情報とからなるデータであり、例えば国語辞典や英和辞典、和英辞典、英英辞典、カタカナ語辞典などの電子辞書データがある。但し、簡明のために、本実施形態においては、コンピュータ１により圧縮され、電子辞書装置１００に記憶される辞書データは、英和辞典の辞書データと、英和大辞典の辞書データとの２種類として説明する。また、圧縮前の辞書データを圧縮後の辞書データと区別するために、以下では、圧縮前の辞書データを「元辞書データ」という。また、参照部についての圧縮及び伸張を「圧縮」及び「伸張」と、主データ部についての圧縮及び伸張を「符号化」及び「復号」として説明する。これは、参照部の圧縮及び伸張と、主データ部の圧縮及び伸張とが異なる方式であるため、混同を避けるために便宜的に区別した表記とするものとである。
【００５６】
図１に示すように、コンピュータ１は、ＣＲＴ（Cathode Ray Tube）等のディスプレイ３と、キーボード５と、ＲＡＭやハードディスク等のメモリ７とを備えた汎用のサーバ・コンピュータ等のハードウェアで構成される。電子辞書装置１００は、ＬＣＤ（Liquid Crystal Display）等のディスプレイ１０３と、文字入力キーや辞書種別の選択キー等の各種キー群１０５と、ＥＥＰＲＯＭ１０７とを備えて構成される。
【００５７】
電子辞書装置１００の基本的な機能は、次の通りである。すなわち、ユーザによって辞書が選択され、検索語となる文字が入力される（以下、入力された文字を「入力文字」と表す。）と、電子辞書装置１００は、入力文字に適合する見出語を選択された辞書の辞書データの中から検索し、見出語候補として一覧表示する。そして、検索した見出語に対応する説明情報を表示する。
【００５８】
［１．２  辞書データ圧縮装置］
［１．２．１  構成］
まず、辞書データをコンピュータ１において圧縮する場合の処理について説明する。図２は、コンピュータ１の機能を示すブロック図である。同図に示すように、コンピュータ１は、ＣＰＵ（Central Processing Unit）１０と、ハードディスク２０と、ＲＡＭ（Random Access Memory）３０と、ＲＯＭ（Read Only Memory）４０と、入力部５０と、表示部６０とを備えている。
【００５９】
ハードディスク２０は、オペレーティングシステム、必要なプログラム又はデータファイル等を格納する。また、ハードディスク２０には、元英和辞典データ２０２と、元英和大辞典データ２０４と、第１圧縮プログラム２０６と、第１主データ部符号化プログラム２０８とが記憶されている。ここで、各辞書データは、所定の割合で分割（区分）されている。辞書データ全体の１割の部分と残り９割の部分とに分割されている。ここで、辞書データ全体の１割の部分を参照部、残りの９割の部分を主データ部という。なお、本実施形態において参照部の割合を一例として辞書データ全体の１割としたが、これに限定される訳ではない。例えば、参照部の割合は、辞書データの全体の５％でも良いし、２割でも良い。
【００６０】
元英和辞典データ２０２は、「英和辞典」のコンテンツの圧縮前のデータが入っている辞書データである。図３（ａ）に元英和辞典データ２０２の概要を図示した。図３（ａ）において、「○○○○」で示した部分は見出語を表し、「・・・・・」で示した部分は当該見出語の説明文（見出語を説明する文章を構成する文字）を表している。図３（ａ）に示すように、元英和辞典データ２０２は、紙の辞書に印字されている文字を文字コードとした一連のテキストのデータとなっている。
【００６１】
また、図３（ｂ）は、説明の便宜上、元英和辞典データ２０２を見出語単位に区切って図式化した概念図である。図３（ｂ）によれば、例えば、見出語「applet」及び「applet」の説明情報（以下、１つの見出語とその見出語の説明情報とを合わせて「見出語単位データ」という。）は、元英和辞典データ２０２の先頭を「１」バイト目とした「１００」バイト目から記述されており、見出語「ASCII」の見出語単位データは、元英和辞典データ２０２の「２５０」バイト目から記述されている。また、図３に示したように、元英和辞典データ２０２は、データ全体の１割の部分を参照部、残る９割の部分を主データ部として区分されている。以下、元英和辞典データ２０２の参照部を元英和参照部２０２ａ、主データ部を元英和主データ部２０２ｂという。
【００６２】
また、元英和大辞典データ２０４は、「英和大辞典」のコンテンツの圧縮前のデータが入っている辞書データである。元英和大辞典データ２０４も、元英和辞典データ２０２と同様に、参照部となる元英大参照部２０４ａと、主データ部となる元英大主データ部２０４ｂとから構成されている。
【００６３】
ＲＡＭ３０は、ＣＰＵ１０が実行する各種プログラムや、これらのプログラムの実行にかかるデータ等を一時的に保持するメモリ領域を備える。本実施形態では、圧縮後英和辞典データ３００と、圧縮後英和大辞典データ３１０と、英和辞典見出語テーブル３１６と、英和大辞典見出語テーブル３１８とを格納している。なお、ＲＡＭ３０は、図１におけるメモリ７に相当する。
【００６４】
圧縮後英和辞典データ３００は、ＣＰＵ１０が、第１圧縮プログラム２０６に基づいて第１圧縮処理を実行することにより、元英和辞典データ２０２を圧縮した辞書データである。詳細は後述するが、元英和参照部２０２ａが圧縮されて圧縮後英和参照部３０２となり、元英和主データ部２０２ｂが符号化されて符号化後英和主データ部３０４となる。同様に、圧縮後英和大辞典データ３１０は、ＣＰＵ１０が、第１圧縮プログラム２０６に基づいて第１圧縮処理を実行することにより、元英和大辞典データ２０４を圧縮した辞書データである。
【００６５】
英和辞典見出語テーブル３１６は、圧縮後英和辞典データ３００に含まれている各見出語の圧縮後英和辞典データ３００の開始位置（開始バイト）を記録したテーブルである。ＣＰＵ１０は、英和辞典見出語テーブル３１６を参照することにより、見出語単位データを読み出す。同様に、英和大辞典見出語テーブル３１８は、圧縮後英和大辞典データ３１０に含まれている各見出語の英和大辞典データ３１０中の開始位置を記録したテーブルである。
【００６６】
ＲＯＭ４０は、各種初期設定、ハードウェアの検査、あるいは必要なプログラムのロードを行う為の初期プログラム（例えば、ＢＩＯＳ（Basic Input/Output System）等）を格納する。ＣＰＵ１０は、コンピュータ１の電源投入時においてこの初期プログラムを実行することにより、コンピュータ１の動作環境を設定する。
【００６７】
ＣＰＵ１０は、入力される指示に応じて所定のプログラムに基づいた処理を実行し、各機能部への指示やデータの転送を行う。具体的には、ＣＰＵ１０は、入力部５０から入力される操作信号に応じてハードディスク２０に格納されたプログラムを読み出し、当該プログラムに従って処理を実行する。そして、表示制御信号を適宜表示部６０に出力して、処理結果を表示させる。
【００６８】
また、ＣＰＵ１０は、本実施形態において、ハードディスク２０の第１圧縮プログラム２０６に従った、第１圧縮処理（図４参照）を実行すると共に、この第１圧縮処理において、第１主データ部符号化プログラム２０８に従った第１主データ部符号化処理をサブルーチンとして実行する。
【００６９】
具体的には、ＣＰＵ１０は、第１圧縮処理において、まず第１主データ部符号化処理を実行して、辞書データの主データ部を符号化し、次に当該辞書データの参照部を圧縮する。この処理を全ての辞書データについて行う。
【００７０】
また、ＣＰＵ１０は、第１主データ部符号化処理では、いわゆる辞書型符号化方法により主データ部を符号化する。すなわち、主データ部の先頭から順に文字列を選択し、選択した文字列が元辞書データの参照部に含まれているか否かを判定する。そして、参照部に一致する文字列が含まれている場合には、ＣＰＵ１０は、その文字列が記述されている元辞書データにおける位置、語長を抽出し、抽出した位置、語長に対応する符号化を実行する。
【００７１】
入力部５０は、仮名やアルファベット等の文字入力や機能選択等に必要なキー群を備えた入力装置であり、押下されたキーの信号をＣＰＵ１０に出力する。この入力部５０におけるキー入力により、処理の実行などを指示する制御命令の入力手段を実現する。なお、この入力部５０は、図１に示すキーボード５に相当するが、キーボードに限られる物ではなく、例えばマウス等であっても良い。
【００７２】
表示部６０は、ＣＰＵ１０から出力される表示信号に基づいて各種画面を表示するものであり、ＣＲＴ（Cathode Ray Tube）等により構成される。なお、この表示部６０は、図１に示すディスプレイ３に相当する。
【００７３】
［１．２．２  動作］
図４（ａ）は、第１圧縮処理に係るコンピュータ１の動作を説明するためのフローチャートである。この第１圧縮処理は、ＣＰＵ１０がハードディスク２０に記憶された第１圧縮プログラム２０６を実行することによって実現される処理である。
【００７４】
まず、ＣＰＵ１０は、ハードディスク２０に記憶されている元辞書データの中から一の元辞書データを選択する（ステップＡ１０）。次に、ＣＰＵ１０は、第１主データ部符号化処理を実行することにより、選択した元辞書データのうちの主データ部について符号化する（ステップＡ１２）。そして、符号化された元辞書データの主データ部を、ＣＰＵ１０は、符号化後主データ部として、ＲＡＭ３０に記憶する。
【００７５】
次に、ＣＰＵ１０は、参照部圧縮処理を実行し（ステップＡ１４）、元辞書データの参照部のデータを圧縮する。なお、参照部を圧縮する方法としては、例えば、ハフマン符号で符号化することにより圧縮する方法を用いたり、ＺＩＰ圧縮方式によって圧縮する方法を用いたりする等、公知技術を適宜適用して良い。そして、ＣＰＵ１０は、圧縮された辞書データの参照部を、圧縮後参照部として、ＲＡＭ３０に記憶する。
【００７６】
そして、ＣＰＵ１０は、圧縮後辞書データに含まれている各見出語の位置（開始バイト）を、見出語テーブルとして、ＲＡＭ３０に記憶することにより、見出語テーブルを作成する（ステップＡ１５）。例えば、図６（ｃ）は英和辞典見出語テーブル３１６を表した図である。ＣＰＵ１０は、圧縮後英和辞典データ３００に含まれている各見出語データの開始位置（開始バイト）を圧縮後英和辞典データ３００に含まれている順に記憶する。
【００７７】
次に、ＣＰＵ１０は、全ての元辞書データについて圧縮処理を実行したか否かを判定する（ステップＡ１６）。もし、まだ圧縮処理を実行していない元辞書データがハードディスク２０に記憶されていれば（ステップＡ１６；Ｎｏ）、ＣＰＵ１０は、次の元辞書データを選択し（ステップＡ１８）、選択した元辞書データについて圧縮処理を実行する。また、ＣＰＵ１０は、ハードディスク２０に記憶されている全ての元辞書データについて、圧縮処理を実行したと判定したときは（ステップＡ１６；Ｙｅｓ）、処理を終了する。
【００７８】
ここで、図４（ｂ）を用いて第１圧縮処理を具体的に説明する。図４（ｂ）の（１）は、元英和辞典データ２０２の参照部と主データ部との関係を示した図である。まず、ＣＰＵ１０は、第１圧縮処理のステップＡ１２において、第１主データ部符号化処理を実行することにより、元英和主データ部２０２ｂを符号化して、符号化後英和主データ部３０４とする（図４（ｂ）（ｉ））。次に、ＣＰＵ１０は、第１圧縮処理のステップＡ１４において、参照部圧縮処理を実行することにより元英和参照部２０２ａを圧縮して、圧縮後英和参照部３０２とする（図４（ｂ）（ii））。そして、圧縮後英和参照部３０２と、符号化後英和主データ部３０４とから圧縮後英和辞典データ３００が構成されることとなる（図４（ｂ）（４））。
【００７９】
次に、第１主データ部符号化処理について説明する。図５は、第１主データ部符号化処理に係るコンピュータ１の動作を説明するためのフローチャートである。この第１主データ部符号化処理は、ＣＰＵ１０がハードディスク２０の第１主データ部符号化プログラム２０８を実行することによって実現される処理である。
【００８０】
まず、ＣＰＵ１０は、主データ部を構成するはじめの文字列を選択する（ステップＢ１０）。ここで、文字列を選択するとは、例えば文節毎に文字列として抽出したり、所定の文字数ずつ抽出するなど、いずれの方法であっても良い。そして、ＣＰＵ１０は、選択した文字列が、元辞書データの参照部に含まれているか否かを判定する（ステップＢ１２）。もし、選択した文字列が、元辞書データの参照部に含まれていると判定した場合には（ステップＢ１２；Ｙｅｓ）、参照部に含まれている当該文字列の位置及び語長を検出する（ステップＢ１４）。具体的には、ＣＰＵ１０は、当該文字列が含まれている参照部中の見出語単位データを判定する。そして、その見出語単位データの開始位置（すなわち、当該見出語の開始位置）が、辞書データの先頭から何バイト目かを検出する。更に当該見出語単位データ中の何バイト目に当該文字列が存在するかを検出する。なお、位置を検出する方法はこれに限られる訳ではなく、例えば、選択した文字列が、辞書データの先頭から何バイト目に記憶されているかを直接検出する方法としてもよいし、先頭からの文字数を検出するとしてもよい。
【００８１】
次に、ＣＰＵ１０は、検出した文字列の位置及び語長に基づいて、主データ部中の選択した文字列を符号化する（ステップＢ１６）。そして、主データ部の全ての文字列を符号化したか否か、即ち、主データ部の最後の文字列に対して処理を行ったかを判定し、全ての文字列の符号化が終了していない場合は（ステップＢ１８；Ｙｅｓ）、次の文字列を選択し（ステップＢ２０）、ステップＢ１２から同様の処理を実行する。
【００８２】
ここで、図６を参照して第１主データ部符号化処理について具体的に説明する。図６（ａ）は、元英和辞典データ２０２における元英和参照部２０２ａに含まれる見出語「applet」の見出語単位データを示す図である。見出語「applet」の見出語単位データは、元英和辞典データ２０２の「１００」バイト目から記述されており、「［名詞］」が「１０７」バイト目から、「〔コンピュータ〕」が「１１５」バイト目から、「アプレット」が「１３１」バイト目からそれぞれ記述されている。また、図６（ｂ）は、元英和主データ部２０２ｂに含まれる見出語「ASCII」の見出語単位データのうちの説明情報を図示したものである。この「ASCII」の説明情報の符号化について説明する。
【００８３】
まず、ＣＰＵ１０は、文字列「［名詞］」を元英和参照部２０２ａから検索する。ここで、「［名詞］」は、元英和参照部２０２ａの「applet」の見出語単位データの「７」バイト目に存在する。従って、ＣＰＵ１０は、見出語「applet」と、「７」バイト目とを検出する。次に、ＣＰＵ１０は、文字列の語長を検出する。ここで、「［名詞］」は「８」バイトの文字長であることから、語長として「８」バイトを検出する。
【００８４】
次に、ＣＰＵ１０は、検出した位置情報等から中間データを生成する。中間データは、参照部を参照して符号化したことを示すフラグの役目を担う「％」と、「［名詞］」が含まれている見出語「applet」と、「７」バイト目と、語長「８」バイトとを区切り記号「：」で連結した「％applet：７：８％」となる。更に、符号化後英和主データ部３０４に記録するための最終データとする。具体的には、まず参照部を参照して符号化したことを示すフラグ「１」（１ビット目）と、「［名詞］」が存在するバイト位置「１０７」バイト目を２進数の９ビットで表した値「001101011」（２ビット目〜１０ビット目）と、語長「８」を２進数の６ビットで表した値「001000」（１１ビット目〜１６ビット目）とを一連にした符号とすることで最終データにする。従って、本来「８」バイト分の文字コード（１文字は２バイト）で表されていた「名詞」が「２」バイト分の符号で済むこととなる。また、同様に「〔コンピュータ〕」について、符号化を行うと「1001110011010000」となり、「１６」バイトが「２」バイトに圧縮される。
【００８５】
なお、本実施形態においては、中間データを用いたが、中間データを用いないで最終データに直接符号化するとしてもよいのは勿論である。
【００８６】
また、本実施形態においては、最初の１ビットを、参照部を参照した符号化としたのか否か、即ち、辞書型符号化方法によって符号化された符号なのか否かのフラグとしたが、このフラグを用いずに実現してもよいことは勿論である。例えば、参照部を用いて符号化を行った文字列と、参照部を用いずに符号化を行った文字列とを含めて、同一のハフマン符号方式でさらなる符号化を行う。この場合、ハフマン符号によって一意にコードが決定されるため、フラグのビットは不要となり、より効率的な符号化が可能となる。
【００８７】
以上のように、第１実施形態における辞書圧縮装置（コンピュータ）によれば、主データ部が符号化されるとともに、参照部も圧縮されるため、辞書データ全体の圧縮効率を高めることができる。
【００８８】
［１．３  電子辞書装置］
［１．３．１  構成］
図７は、電子辞書装置１００の構成を示すブロック図である。同図に示すように、電子辞書装置１００は、ＣＰＵ（Central Processing Unit）１１０と、ＲＯＭ（Read Only Memory）１２０と、ＲＡＭ（Random Access Memory）１３０と、ＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）１４０と、入力部１５０と、表示部１６０とを備えている。
【００８９】
ＲＯＭ１２０は、各種初期設定、ハードウェアの検査、あるいは必要なプログラムのロード等を行うための初期プログラムを格納する。ＣＰＵ１１０は、電子辞書装置１００の電源投入時においてこの初期プログラムを実行することにより、電子辞書装置１００の動作環境を設定する。
【００９０】
また、ＲＯＭ１２０は、メニュー表示処理、各種設定処理、各種検索処理等の電子辞書装置１００の動作に係る各種プログラムや、電子辞書装置１００の備える種々の機能を実現するためのプログラム等を格納すると共に、第１伸張プログラム１２０２と、第１主データ部復号プログラム１２０４とを備えている。
【００９１】
ＲＡＭ１３０は、ＣＰＵ１１０が実行する各種プログラムや、これらのプログラムの実行に係るデータ等を一時的に保持するメモリ領域を備える。本実施形態では、参照部伸張領域１３０２を備えている。
【００９２】
参照部伸張領域１３０２は、第１伸張処理において、圧縮後辞書データに含まれる参照部を伸張するための領域である。詳細は後述するが、概略について図８を用いて説明する。参照部伸張領域１３０２は、ＲＡＭ１３０の中に確保されている領域である。ＣＰＵ１１０は、ユーザによって辞書データが選択されると、選択された辞書データに対応する圧縮後辞書データの圧縮後参照部の部分について、参照部伸張領域１３０２に伸張する。例えば、ユーザによって英和辞典データ（圧縮後英和辞典データ１４００）が選択されると、ＣＰＵ１１０は、圧縮後英和参照部１４０２を伸張して、元英和参照部２０２ａを生成する。また、ユーザによって英和大辞典データ（圧縮後英和大辞典データ３１０）が選択されると、ＣＰＵ１１０は、圧縮後英大参照部１４１２から、元英大参照部２０４ａを伸張する。
【００９３】
ＥＥＰＲＯＭ１４０は、電子辞書装置１００において、ＣＰＵ１１０が参照する各種辞書データや、各種設定等を記憶しておく領域である。本実施形態においては、圧縮後英和辞典データ１４００と、圧縮後英和大辞典データ１４１０と、英和辞典見出語テーブル１４１６と、英和大辞典見出語テーブル１４１８とを記憶している。ここで、圧縮後英和辞典データ１４００は、コンピュータ１において、ＣＰＵ１０が、第１圧縮処理を実行することによって作成する圧縮後英和辞典データ３００と同一の辞書データである。同様に、圧縮後英和大辞典データ１４１０は、圧縮後英和大辞典データ３１０と同一の辞書データである。また、上述したように、圧縮後英和参照部１４０２が伸張されることで、元英和参照部２０２ａが生成され、圧縮後英大参照部１４１２が伸張されることで、元英大参照部２０４ａが生成される。また、英和辞典見出語テーブル１４１６は英和辞典見出語テーブル３１６と、英和大辞典見出語テーブル１４１８は英和大辞典見出語テーブル３１８と同一の見出語テーブルである。
【００９４】
ＣＰＵ１１０は、入力される指示に応じて所定のプログラムに基づいた処理を実行し、各機能部への指示やデータの転送を行う。具体的には、ＣＰＵ１１０は、入力部１５０から入力される操作信号に応じてＲＯＭ１２０に格納されたプログラムを読み出し、当該プログラムに従って処理を実行する。そして、ＣＰＵ１１０は、表示制御信号を適宜表示部１６０に出力して、処理結果を表示させる。
【００９５】
また、ＣＰＵ１１０は、本実施形態において、ＲＯＭ１２０に記憶された第１伸張プログラム１２０２に従った、第１伸張処理（図９参照）を実行すると共に、この第１伸張処理において、第１主データ部復号プログラム１２０４を読み出して第１主データ部復号処理をサブルーチンとして実行する。
【００９６】
具体的には、ＣＰＵ１１０は、第１伸張処理において、圧縮後の辞書データの参照部を伸張することで、元辞書データの参照部を生成する。また、ＣＰＵ１１０は、第１主データ部復号処理において、圧縮後の辞書データの主データ部に含まれる見出語単位データを復号する。
【００９７】
入力部１５０は、仮名やアルファベット等の文字入力や機能選択等に必要なキー群を備えた入力装置であり、押下されたキーの信号をＣＰＵ１１０に出力する。この入力部１５０におけるキー入力により、入力文字の入力、辞書モードの選択、検索実行指示、ジャンプ機能の開始等を指示入力する入力手段を実現する。なお、この入力部１５０は、図１のキー群１０５に相当するが、キー群１０５に限られるわけではなく、タッチパネル等であってもよい。
【００９８】
表示部１６０は、ＣＰＵ１１０から入力される表示信号に基づいて各種画面を表示するものであり、ＬＣＤ等により構成される。なお、この表示部１６０は、図１に示すディスプレイ１０３に相当する。
【００９９】
［１．３．２  動作］
図９は、第１伸張処理に係る電子辞書装置１００の動作を説明するためのフローチャートである。この第１伸張処理は、ＣＰＵ１１０がＲＯＭ１２０に記憶された第１伸張プログラム１２０２を実行することによって実現される処理である。
【０１００】
まず、ＣＰＵ１１０は、ユーザによって辞書の種別が選択されると、選択された種別の辞書データに対応する圧縮後辞書データを、ＥＥＰＲＯＭ１４０から選択する（ステップＣ１０）。次に、ＣＰＵ１１０は、選択した圧縮後辞書データの参照部をＲＡＭ３０の参照部伸張領域１３０２に伸張する（ステップＣ１２）。ここで、圧縮後辞書データの参照部を参照部伸張領域１３０２に伸張する方法としては、参照部が圧縮された方法に対応する伸張方法で伸張すればよい。例えば、圧縮後参照部がハフマン符号で符号化されている場合には、ハフマン符号で復号することにより伸張する方法を用いる。また、圧縮後参照部がＺＩＰ圧縮方式によって圧縮されている場合には、ＺＩＰ圧縮方式によって伸張する方法を用いる。
【０１０１】
次に、ＣＰＵ１１０は、文字が入力されると（ステップＣ１４）、入力文字に対応する見出語を検索する（ステップＣ１６）。具体的には、見出語テーブルに格納された開始位置の中から何れかの開始位置を選択し、圧縮後辞書データを伸張していく処理を行う。見出語テーブルには、辞書の格納順に見出語の開始位置が格納されているため、例えば、公知である２分木を用いた探索法等により、開始位置の選択・見出語の伸張・適合する見出語か否かの判定を繰り返すことにより、見出語の検索を実行する。次に、ＣＰＵ１１０は、入力文字に対応する見出語が主データ部に含まれているか否かを判定する（ステップＣ１８）。例えば、入力文字に対応する見出語が記憶されている開始位置が、所定の位置より大きい場合は主データ部に含まれていると判定する。そして、ＣＰＵ１１０が、入力文字に対応する見出語が主データ部に含まれていないと判定した場合には（ステップＣ１８；Ｎｏ）、参照部伸張領域１３０２に伸張された参照部から、見出語単位データを読み出して、説明情報を抽出する（ステップＣ２２）。
【０１０２】
また、ＣＰＵ１１０が、入力文字に対応する見出語が主データ部に含まれていると判定した場合には（ステップＣ１８；Ｙｅｓ）、ＣＰＵ１１０は、第１主データ部復号処理を実行し、主データ部から、対応する説明情報を抽出する（ステップＣ２０）。
【０１０３】
そして、ＣＰＵ１１０は、検索された見出語と、見出語に対応する説明情報を表示部１６０に表示する（ステップＣ２４）。
【０１０４】
次に、第１主データ部復号処理について説明する。図１０は、第１主データ部復号処理に係る電子辞書装置１００の動作を説明するためのフローチャートである。この第１主データ部復号処理は、ＣＰＵ１１０がＲＯＭ１２０の第１主データ部復号プログラム１２０４を実行することによって実現される処理である。
【０１０５】
まず、符号化後主データ部中の、入力文字に対応する見出語の開始位置から、データ（符号）を読み込む（ステップＤ８）。ＣＰＵ１１０は、読み込まれた符号に圧縮コードが含まれているか否かを判定する（ステップＤ１０）。ＣＰＵ１１０は、符号に圧縮コードが含まれていると判定した場合には（ステップＤ１０；Ｙｅｓ）、参照部に含まれている文字列の位置及び語長を検出する（ステップＤ１２）。そして、ＣＰＵ１１０は、検出した位置及び語長に基づいて、参照部に含まれている文字列を複写することにより復号する（ステップＤ１４）。そして、ＣＰＵ１１０は、主データ部における全ての文字列について復号したか否かを判定し（ステップＤ１６）、復号する文字列が残っている場合には（ステップＤ１６；Ｎｏ）、次の文字列を検出し（ステップＤ１８）、同じ処理を実行する。
【０１０６】
ここで復号処理は、図６（ｂ）に示した符号化処理を、逆の手順で実行することによって実現される処理である。図６（ｂ）を用いて具体的に説明すると、まず、符号化されたデータ「1001101011001000」を読み込むとする。次に、ＣＰＵ１１０は、１ビット目を読み出し、圧縮コードであるか否かを判定する。この場合、１ビット目が「1」であることから、ＣＰＵ１１０は、検出した符号が参照部の文字列を用いて符号化されていると判定する。次に、ＣＰＵ１１０は、文字列の位置を示すビットとして、例えば「９」ビット分の符号「001101011」を検出し、これを１０進数「１０７」に変換する。そして、ＣＰＵ１１０は、参照部伸張領域１３０２に伸張された元英和参照部２０２ａの「１０７」バイト目から始まる文字列を検出する。次に、ＣＰＵ１１０は、語長を検出するために符号から６ビット分「001000」を検出し、これを１０進数の「８」に変換する。そして、ＣＰＵ１１０は「１０７」バイト目から始まる８バイト分「［名詞］」を符号化後英和主データ部の該当部に複写することにより、主データ部に符号化されている見出語データを復号する。
【０１０７】
このように、第１実施形態の電子辞書装置によれば、参照部が圧縮された場合であっても、伸張後の参照部を参照して主データ部を復号することが可能となる。このため、圧縮された参照部によって主データ部が復号できなくなるといったことがない。また、辞書データの参照部も圧縮されているため、辞書データを格納するためのメモリ容量を節減でき、更に多くの情報を記憶することが可能となる。
【０１０８】
〔第２実施形態〕
次に、本発明を適用した第２実施形態について説明する。本実施形態は、複数の辞書データにおいて、参照部を共通化して利用することにより、圧縮効率を向上させようというものである。
【０１０９】
［２．１  辞書データ圧縮装置］
［２．１．１  構成］
まず、第２実施形態におけるコンピュータの構成は、第１実施形態において図２に示して説明したコンピュータ１の構成において、ハードディスク２０を図１１（ａ）に示すハードディスク２２に、ＲＡＭ３０を図１１（ｂ）に示すＲＡＭ３２に置き換えた構成と同様であり、以下、同一の構成要素には同一の符号を付してその説明を省略する。また、各フローチャートにおいて、第１実施形態のフローチャートを同一処理内容のステップについては同一の符号を付して、異なる部分を中心に説明する。
【０１１０】
図１１（ａ）を参照してハードディスク２２の構成について説明する。図１１（ａ）に示すように、ハードディスク２２は、元英和辞典データ２０２と、元英和大辞典データ２２０と、第１主データ部符号化プログラム２０８と、第２圧縮プログラム２２２とを記憶している。
【０１１１】
元英和大辞典データ２２０は、「英和大辞典」の圧縮前のデータが入っている辞書データである。元英和大辞典データ２２０は、第１実施形態における元英和大辞典データ２０４における元英大参照部２０４ａと元英大主データ部２０４ｂとを区別せずに、１つの元英大主データ部２２０ａとして構成されている。
【０１１２】
第２圧縮プログラム２２２は、本実施形態における第２圧縮処理を実現するためのプログラムであり、ＣＰＵ１０がこの第２圧縮プログラム２２２を実行することで、第２圧縮処理が実現される。ＣＰＵ１０は、元英和辞典データ２０２の元英和主データ部２０２ｂを符号化した後に、残りの元英和辞典データ２０２について、元英和辞典データ２０２の元英和参照部２０２ａを共通参照部として符号化する処理を実行する。そして、全ての元辞書データの主データ部を共通参照部を利用して符号化した後に、共通参照部として利用した元英和辞典データ２０２の元英和参照部２０２ａを圧縮する。
【０１１３】
また、図１１（ｂ）を参照してＲＡＭ３２の構成について説明する。図１１（ｂ）に示すように、ＲＡＭ３２は、英和辞典見出語テーブル３１６と、英和大辞典見出語テーブル３１８と、圧縮後英和辞典データ３２０と、圧縮後英和大辞典データ３３０とを格納している。
【０１１４】
圧縮後英和辞典データ３２０は、第１実施形態における圧縮後英和辞典データ３００と同様の構成である。圧縮後英和辞典データ３２０に含まれる圧縮後英和参照部３２２（共通参照部）においては、他の辞書データの参照部としても利用される。
【０１１５】
圧縮後英和大辞典データ３３０は、ＣＰＵ１０が、元英和大辞典データ２０４を圧縮して作成した辞書データである。ＣＰＵ１０は、元英大主データ部２２０ａについて第１主データ部符号化処理を実行する。
【０１１６】
［２．１．２  動作］
次に、第２実施形態におけるコンピュータ１の動作について図を参照して説明する。図１２は、第２圧縮処理に係るコンピュータ１の動作を説明するためのフローチャートである。この第２圧縮処理は、ＣＰＵ１０が、ハードディスク２２の第２圧縮プログラム２２２を実行することによって実現される処理である。
【０１１７】
ＣＰＵ１０は、元辞書データとして元英和辞典データ２０２ｂを選択し（ステップＡ１０）、元英和主データ部２０２ｂに対して、第１主データ部符号化処理を実行する（ステップＡ１２）。そして、ＣＰＵ１０は、第１主データ部符号化処理を実行した元辞書データのうちの主データ部（すなわち、元英和主データ部２０２ｂ）を、符号化後英和主データ部３２４）として、ＲＡＭ３２に記憶する。
【０１１８】
次に、ＣＰＵ１０は、まだ処理を実行していない元辞書データ（すなわち、元英和大辞典データ２２０）を選択する（ステップＥ１４）。そして、ステップＥ１４において選択された元辞書データ（元英大主データ部２２０ａ）に対して第１主データ部圧縮処理を実行する（ステップＥ１６）。そして、同様にＣＰＵ１０は、第１主データ部符号化処理を実行した元英大主データ部２２０ａを、符号化後英大主データ部３３２としてＲＡＭ３２に記憶する。
【０１１９】
次にＣＰＵ１０は、全ての元辞書データに対して第１主データ部符号化処理が実行されたか否かを判定する（ステップＥ１８）。もし、全ての元辞書データに対して処理が実行されていない場合には（ステップＥ１８；Ｎｏ）、ＣＰＵ１０は、次の元辞書データを選択し（ステップＥ２０）、主データ部に対して第１主データ部符号化処理を実行する。もし、全ての元辞書データに対して第１主データ部符号化処理が実行されている場合には（ステップＥ１８；Ｙｅｓ）、ＣＰＵ１０は、始めに選択した元辞書データの参照部の圧縮処理を実行し（ステップＥ２２）、見出語テーブルを作成して（ステップＥ２４）第２圧縮処理を終了する。
【０１２０】
なお、本実施形態においては、共通の参照部として元英和辞典データ２０２の参照部を利用したが、これに限定される物ではなく、例えば元英和大辞典データ２２０を、参照部と主データ部に分け、元英和大辞典データ２２０の参照部を共通の参照部として利用しても良いことは勿論である。
【０１２１】
第２実施形態における辞書圧縮装置（コンピュータ）によれば、複数の辞書データのうち、一の辞書データのみが参照部と主データ部とに分割され、この一の辞書データの主データ部及び他の辞書データは一の辞書データの参照部を参照して符号化すされる。従って、他の辞書データが参照部と主データ部とに区分されている必要がなく、他の辞書データ全体を比較的圧縮効率の高い圧縮方法で圧縮することができる。
【０１２２】
［２．２  電子辞書装置］
［２．２．１  構成］
まず、第２実施形態における電子辞書装置の構成は、第１実施形態において図７に示して説明した電子辞書装置１００の構成において、ＲＯＭ１２０を図１３（ａ）に示すＲＯＭ１２２に、ＥＥＰＲＯＭ１４０を図１３（ｂ）に示すＥＥＰＲＯＭ１４２に置き換えた構成と同様であり、以下、同一の構成要素には同一の符号を付してその説明を省略する。また、各フローチャートにおいて、第１実施形態のフローチャートと同一処理内容のステップについては同一の符号を付して、異なる部分を中心に説明する。
【０１２３】
図１３（ａ）を参照して、ＲＯＭ１２２の構成について説明する。図１３（ａ）に示すように、ＲＯＭ１２２は、第１主データ部復号プログラム１２０４と、第２伸張プログラム１２２０とを記憶している。
【０１２４】
第２伸張プログラム１２２０は、本実施形態における第２伸張処理を実現するためのプログラムであり、ＣＰＵ１１０がこの第２伸張プログラム１２２０を実行することで、第２伸張処理が実現される。ＣＰＵ１１０は、圧縮された共通参照部を伸張しておき、主データ部の見出語データを伸張する際に、圧縮された共通参照部を伸張し、伸張された共通参照部を利用することにより見出語及び説明情報を復号して表示する処理である。
【０１２５】
また、図１３（ｂ）を参照してＥＥＰＲＯＭ１４２の構成について説明する。図１３（ｂ）に示すように、ＥＥＰＲＯＭ１４２は、英和辞典見出語テーブル１４１６と、英和大辞典見出語テーブル１４１８と、圧縮後英和辞典データ１４２０と、圧縮後英和大辞典データ１４３０とを記憶している。
【０１２６】
圧縮後英和辞典データ１４２０は、図１１（ｂ）の圧縮後英和辞典データ３２０と同一のデータである。また、圧縮後英和辞典データ１４２０の共通参照部（圧縮後英和参照部）１４２２においては、他の圧縮後辞書データの参照部としても利用される共通参照部として記憶されている。
【０１２７】
圧縮後英和大辞典データ１４３０は、図１１（ｂ）の圧縮後英和大辞典データ３３０と同一のデータである。また、詳細は後述するが、図１４を参照して概略を説明すると、第２実施形態においては、共通参照部１４２２がＲＡＭ１３０の参照部伸張領域１３０２に伸張されて、他の符号化後主データ部から利用される。
【０１２８】
［２．２．２  動作］
次に、第２実施形態における電子辞書装置１００の動作について図を参照して説明する。図１５は、第２伸張処理に係る電子辞書装置１００の動作を説明するためのフローチャートである。この第２伸張処理は、ＣＰＵ１１０が、ＲＯＭ１２２の第２伸張プログラム１２２０を実行することによって実現される処理である。
【０１２９】
ＣＰＵ１１０は、圧縮後辞書データの中から辞書データ（例えば、圧縮後英和辞典データ１４２０）を選択する（ステップＣ１０）。次に、ＣＰＵ１１０は、ＥＥＰＲＯＭ１４２に記憶された共通参照部１４２２をＲＡＭ１３２の参照部伸張領域１３０２に伸張する（ステップＦ１２）。
【０１３０】
次に、ＣＰＵ１１０は、ユーザにより文字が入力されると（ステップＣ１４）、入力文字に対応する見出語を検索する（ステップＣ１６）。そして、ＣＰＵ１１０は、現在選択している辞書データと、共通参照部が記憶されている辞書データとが同一か否かを判定する（ステップＦ１８）。共通参照部１４２２は、圧縮後英和辞典データ１４２０の共通参照部１４２２であるため、例えば選択した辞書データが圧縮後英和辞典データ１４２０であれば同一の辞書データと判定し、選択した辞書データが圧縮後英和大辞典データ１４３０であれば、異なる辞書データと判定する。
【０１３１】
ＣＰＵ１１０が、共通参照部と、選択した辞書データとが異なる辞書データであると判定した場合には（ステップＦ１８；Ｎｏ）、第１主データ部伸張処理を実行する（ステップＦ２０）。
【０１３２】
そして、ＣＰＵ１１０が、共通参照部と、選択した辞書データとが同一の辞書データであると判定した場合には（ステップＦ１８；Ｙｅｓ）、入力文字に対応する見出語が主データ部に含まれているか否かを判定し、含まれていると判定した場合には（ステップＦ２２；Ｙｅｓ）、第１主データ部伸張処理を実行する（ステップＦ２６）。また、ＣＰＵ１１０が、対応する見出語が主データ部に無いと判定した場合には（ステップＦ２２；Ｎｏ）、参照部伸張領域１３０２に伸張された参照部の中から説明情報を抽出する（ステップＦ２４）。
【０１３３】
そして、見出語と、抽出された説明情報とを表示部１６０に表示し（ステップＦ２８）、第２伸張処理を終了する。
【０１３４】
例えば、ＣＰＵ１１０が、入力文字に対応する見出語を検索し、検索した見出語が符号化後英和主データ部１４２４にあると判定した場合には、ＣＰＵ１１０は、第１主データ部伸張処理を実行することにより、対応する見出語の見出語単位データを復号する。また、検索された見出語が、符号化後英和主データ部１４２４に無いと判定された場合には、ＣＰＵ１１０は、参照部伸張領域１３０２に伸張された元英和参照部２０２ａより、入力文字に対応する見出語に対応する見出語単位データを抽出して、表示部１６０に表示する。
【０１３５】
このように、第２実施形態における電子辞書装置によれば、複数の辞書データのうち、一の辞書データのみが参照部と主データ部とに区分され、この一の辞書データの主データ部及び他の辞書データが一の辞書データの参照部を参照して符号化されている場合であっても問題なく他の辞書データを復号できる。従って、比較的圧縮効率の高い圧縮方法が他の辞書データ全体に適用されているため、電子辞書装置における複数の辞書データの格納領域を削減できる。
【０１３６】
〔第３実施形態〕
次に、本発明を適用した第３実施形態について説明する。本実施形態は、参照部を見出語単位データごとに別個独立に圧縮することで、伸張の際に圧縮された参照部のうち、必要のある部分のみを伸張するというものである。
【０１３７】
［３．１  辞書データ圧縮装置］
［３．１．１  構成］
まず、第３実施形態におけるコンピュータの構成は、第１実施形態において図２に示して説明したコンピュータ１の構成において、ハードディスク２０を図１６（ａ）に示すハードディスク２４に、ＲＡＭ３０を図１６（ｂ）に示すＲＡＭ３４に置き換えた構成と同様であり、以下、同一の構成要素には同一の符号を付してその説明を省略する。また、各フローチャートにおいて、第１実施形態のフローチャートと同一処理内容のステップについては同一の符号を付して、異なる部分を中心に説明する。
【０１３８】
図１６（ａ）を参照してハードディスク２４の構成について説明する。図１６（ａ）に示すように、ハードディスク２４は、元英和辞典データ２０２と、元英和大辞典データ２０４と、第１主データ部符号化プログラム２０８と、第３圧縮プログラム２４０とを記憶している。
【０１３９】
第３圧縮プログラム２４０は、本実施形態における第３圧縮処理を実現するためのプログラムであり、ＣＰＵ１０がこの第３圧縮プログラム２４０を実行することで、第３圧縮処理が実現される。第３圧縮処理の詳細については後述するが、簡単に説明する。第３圧縮処理は、主データ部については第１実施形態と同様の第１主データ部符号化処理を行うが、参照部については見出語単位データ毎に圧縮を行う。そして、参照部の見出語単位データそれぞれについて、圧縮前の元辞書データ中の開始位置（開始バイト）と、圧縮後の辞書データ中の開始位置（開始バイト）とを対応づけて、参照部に含まれる見出語順に見出語対応テーブルに登録・記憶しておく、というものである。
【０１４０】
また、図１６（ｂ）を参照してＲＡＭ３４の構成について説明する。図１６（ｂ）に示すように、ＲＡＭ３４は、英和辞典見出語テーブル３１６と、英和大辞典見出語テーブル３１８と、圧縮後英和辞典データ３４０と、圧縮後英和大辞典データ３５０と、英和辞典見出語対応テーブル３５６と、英和大辞典見出語対応テーブル３５８とを記憶している。
【０１４１】
圧縮後英和辞典データ３４０は、圧縮後英和参照部３４２と、符号化後英和主データ部３４４とに区分して構成されている。圧縮後英和参照部３４２は、ＣＰＵ１０が、元英和参照部２０２ａを圧縮して作成した辞書データであり、見出語単位データで伸張可能となっている。また、符号化後英和主データ部３４４は、第１実施形態における符号化後英和主データ部３０４と同様である。
【０１４２】
英和辞典見出語対応テーブル３５６は、元英和辞典データ２０２における元英和参照部２０２ａにおける見出語の開始位置（開始バイト）と、圧縮後英和辞典データ３４０における圧縮後英和参照部３４２における見出語の開始位置（開始バイト）とを対応づけて、それぞれの参照部に含まれている順に記憶するテーブルである。
【０１４３】
図１７は、英和辞典見出語対応テーブル３５６についてのデータ構成の一例を示した図である。英和辞典見出語テーブル３５６は、例えば見出語「applet」に対応する元英和参照部位置「１００」と、圧縮後英和参照部位置「８０」とを対応づけて記憶している。
【０１４４】
また、英和大辞典見出語対応テーブル３５８は、元英和大辞典データ２０４における元英大参照部２０４ａにおける見出語の開始位置（開始バイト）と、圧縮後英和大辞典データ３５０における圧縮後英大参照部３５２における見出語の開始位置（開始バイト）とを対応づけて、それぞれの参照部に含まれている順に記憶するテーブルである。
【０１４５】
［３．１．２］  動作
次に、第３実施形態におけるコンピュータ１の動作について図を参照して説明する。図１８は、第３圧縮処理に係るコンピュータ１の動作を説明するためのフローチャートである。この第３圧縮処理は、ＣＰＵ１０が、ハードディスク２４の第３圧縮プログラム２４０を実行することによって実現される処理である。
【０１４６】
ＣＰＵ１０は、元辞書データを選択し（ステップＧ１０）、見出語対応テーブルを決定する（ステップＧ１２）。例えば、元英和辞典データ２０２を選択した場合には、見出語対応テーブルとして英和辞典見出語対応テーブル３５６が決定される。
【０１４７】
次に、ＣＰＵ１０は、第１主データ部符号化処理を実行する（ステップＧ１４）。次に、元辞書データの参照部の先頭から順番に見出語単位データを１つ選択し（ステップＧ１６）、選択した見出語単位データについて圧縮する（ステップＧ１８）。なお、ＣＰＵ１０は、圧縮した見出語単位データを、従前に圧縮済みの見出語単位データの最後に追記していく。すなわち、総ての見出語単位データを圧縮すると、圧縮後英和参照部３５０が形成されることとなる。
【０１４８】
次に、ＣＰＵ１０は、圧縮前の元辞書データに含まれていた開始位置（開始バイト）と、圧縮後の辞書データの開始位置（開始バイト）とを対応づけて見出語対応テーブルの最後に追加記憶する（ステップＧ２０）。例えば、見出語「applet」の見出語単位データについて、元英和参照部２０２ａに含まれていた開始位置（開始バイト）「１００」と、ステップＧ１８における圧縮時に判明した開始位置（開始バイト）「８０」とを対応づけて、英和辞典見出語対応テーブル３５６の最後に追加記憶する。
【０１４９】
次に、ＣＰＵ１０は、元辞書データの参照部の見出語単位データ全てについて圧縮処理を行ったか否かを判定する（ステップＧ２２）。そして、全ての見出語について圧縮処理が行われていない場合は（ステップＧ２２；Ｎｏ）、次の見出語単位データを選択し（ステップＧ２４）、圧縮処理を同様に実行する。また、全ての見出語について圧縮処理を実行した場合には（ステップＧ２２；Ｙｅｓ）、見出語テーブルを作成し（ステップＧ２５）、ＣＰＵ１０は、全ての元辞書データについてステップＧ１４〜Ｇ２５の処理を実行したか否かを判定する（ステップＧ２６）。そして、まだ全ての元辞書データについて処理を実行していない場合には（ステップＧ２６；Ｎｏ）、次の元辞書データと（ステップＧ２８）、その元辞書データに対応する見出語対応テーブルとを選択して（ステップＧ２８）、ステップＧ１４〜Ｇ２６の処理を実行する。
【０１５０】
第３実施形態における辞書圧縮装置（コンピュータ）によれば、参照部が見出語単位データごとに圧縮された辞書データを生成することができる。また、見出語対応テーブルには、参照部の見出語単位データについて、圧縮前の参照部における開始位置と圧縮後の参照部における開始位置とが対応づけて記憶される。このため、参照部が圧縮されない場合に比べて辞書データ全体の圧縮効率を高めることができる。加えて、後述する電子辞書装置の通りに、主データ部の中のデータを検索する際であっても、参照部全体を伸張する必要が無くなる。
【０１５１】
［３．２  電子辞書装置］
［３．２．１  構成］
まず、第３実施形態における電子辞書装置の構成は、第１実施形態において図７に示して説明した電子辞書装置１００の構成において、ＲＯＭ１２０を図１９（ａ）に示すＲＯＭ１２４に、ＥＥＰＲＯＭ１４０を図１９（ｂ）に示すＥＥＰＲＯＭ１４４に置き換えた構成と同様であり、以下、同一の構成要素には同一の符号を付してその説明を省略する。また、各フローチャートにおいて第１実施形態のフローチャートと同一処理内容のステップについては同一の符号を付して、異なる部分を中心に説明する。
【０１５２】
図１９（ａ）を参照して、ＲＯＭ１２４の構成について説明する。図１９（ａ）に示すように、ＲＯＭ１２４は、第３伸張プログラム１２４２と、第２主データ部復号プログラム１２４４とを記憶している。
【０１５３】
第３伸張プログラム１２４２は、本実施形態における第３伸張処理を実現するためのプログラムであり、ＣＰＵ１１０がこの第３伸張プログラム１２４２を実行することで、第３伸張処理が実現される。ＣＰＵ１１０は、使用する辞書の種別を選択すると、対応する見出語対応テーブルを選択する。そして、入力文字に対応する見出語が圧縮辞書データの主データ部にあるか否かを判定し、主データ部にある場合には対応する見出語の見出語単位データについて第２主データ部復号処理を実行する。また、主データ部に無い場合には、圧縮後の参照部から、対応する見出語の見出語単位データだけを伸張し、説明情報を抽出する。
【０１５４】
第２主データ部復号プログラム１２４４は、本実施形態における第２主データ部復号処理を実現するためのプログラムであり、ＣＰＵ１１０がこの第２主データ部復号プログラム１２４４を実行することで、第２主データ部復号処理が実現される。ＣＰＵ１１０は、圧縮コードがあると、復号する文字列と同一の文字列のある参照部中の位置及び語長を見出語単位データの符号から抽出する。そして、文字列が存在する位置に対応する見出語単位データを圧縮後の参照部から読み出して伸張し、抽出した位置及び語長に基づいて当該文字列を複写することで復号する。
【０１５５】
また、図１９（ｂ）を参照してＥＥＰＲＯＭ１４４の構成について説明する。図１９（ｂ）に示すように、ＥＥＰＲＯＭ１４４は、英和辞典見出語テーブル１４１６と、英和大辞典見出語テーブル１４１８と、圧縮後英和辞典データ１４４０と、圧縮後英和大辞典データ１４５０と、英和辞典見出語対応テーブル１４５６と、英和大辞典見出語対応テーブル１４５８とを記憶している。
【０１５６】
英和辞典見出語対応テーブル１４５６は図１６（ｂ）における英和辞典見出語テーブル３５６と、英和大辞典見出語対応テーブル１４４４は図１６（ｂ）における英和大辞典見出語テーブル３５８と同一のものである。また、圧縮後英和辞典データ１４４０は図１６（ｂ）における圧縮後英和辞典データ３４０と、圧縮後英和大辞典データ１４５０は図１６（ｂ）における圧縮後英和大辞典データ３５０と同一のものである。
【０１５７】
［３．２．２  処理］
次に、第３実施形態における電子辞書装置１００の動作について図を参照して説明する。図２０は、第３伸張処理に係る電子辞書装置１００の動作を説明するためのフローチャートである。この第３伸張処理は、ＣＰＵ１１０が、ＲＯＭ１２４の第３伸張プログラム１２４２を実行することによって実現される処理である。
【０１５８】
次に、ＣＰＵ１１０は、文字が入力されると（ステップＣ１４）、入力文字に対応する見出語を検索する（ステップＣ１６）。そして、ＣＰＵ１１０は、検索された見出語が主データ部（例えば、符号化後英和主データ部１４４４）に含まれているか否かを判定する（ステップＣ１８）。そして、検索した見出語が主データ部に含まれている場合には（ステップＣ１８；Ｙｅｓ）、第２主データ部復号処理を実行する（ステップＨ２０）。また、検索した見出語が主データ部に含まれていない場合には（ステップＣ１８；Ｎｏ）、対応する見出語データを伸張する（ステップＨ２２）。例えば、ＣＰＵ１１０は、英和辞典見出語対応テーブル１４５６から、圧縮後英和参照部１４４２における検索した見出語の見出語単位データの位置を検出する。そして、ＣＰＵ１１０は、検出した圧縮後英和参照部１４４２における位置に存在する見出語単位データを伸張し、説明情報を抽出する（ステップＨ２４）。
【０１５９】
そして、見出語と、検出した説明情報とを表示部１６０に表示し（ステップＨ２６）、第３伸張処理を終了する。
【０１６０】
次に、第２主データ部復号処理について説明する。図２１は、第２主データ部復号処理にかかる電子辞書装置１００の動作を説明するためのフローチャートである。この第２主データ部復号処理は、ＣＰＵ１１０が、ＲＯＭ１２４の第２主データ部復号プログラム１２４４を実行することによって実現される処理である。
【０１６１】
ＣＰＵ１１０は、符号化後主データ部中の、入力文字に対応する見出語の開始位置からデータ（符号）を読み込む（ステップＤ８）。そして、ＣＰＵ１１０は、読み込まれた符号に圧縮コードが含まれていると判定すると（ステップＤ１０；Ｙｅｓ）、参照部に含まれている文字列の位置及び語長を検出する（ステップＤ１２）。
【０１６２】
次に、検出した文字列が含まれている見出語単位データを伸張する（ステップＩ１４）。例えば、検出した文字の位置が「１０７」バイト目のとき、ＣＰＵ１１０は、英和辞典見出語対応テーブル１４５６（図１７）から、復号すべき文字列が含まれる見出語単位データを判定する。この場合、見出語「applet」は、元英和参照部２０２ａにおいて「１００」バイト目から記述されており、見出語「appliance」は、元英和参照部２０２ａにおいて「１４０」バイト目から記述されている。従って、ＣＰＵ１１０は、検出した文字列が見出語「applet」の見出語単位データ中に含まれていると判定できる。そこで、ＣＰＵ１１０は、圧縮後英和参照部１４４２の「８０」バイト目から伸張し、見出語「applet」の見出語単位データを参照部伸張領域１３０２に伸張する。
【０１６３】
次に、ＣＰＵ１１０は、検出した位置及び語長に基づいて復号する（ステップＩ１６）。例えば、見出語「applet」の開始位置は「１００」バイト目であり、復号すべき文字列は「１０７」バイト目に含まれている。従って、ＣＰＵ１１０は、見出語単位データの先頭から「７」バイト目、語長「８」バイトの文字「［名詞］」を元の文字列として復号する。
そして、ＣＰＵ１１０は、主データ部における全ての文字列について復号したか否かを判定し（ステップＩ１８）、復号する文字列が残っている場合には（ステップＩ１８；Ｎｏ）、次の文字列を検出し（ステップＩ２０）、同じ処理を実行する。
【０１６４】
このように、第３実施形態における電子辞書装置によれば、主データ部中の文字列を復号する場合、当該復号対象の文字列が参照している参照部中の一部分（より具体的には参照部中の見出語単位データ）を伸張し、伸張した文字列をもとにして当該文字列を復号する。また、参照部は見出語単位データごとに圧縮されているため、参照部中の見出語に対応する説明情報を読み出す場合には、当該見出語に対応する見出語単位データのみを伸張する。従って、電子辞書装置における参照部の伸張用の一時使用メモリ量を削減することができる。
【０１６５】
〔第４実施形態〕
次に、本発明を適用した第４実施形態について説明する。本実施形態は、参照部を参照して主データ部を符号化する際に、参照先の文字列と完全に一致しなくとも、符号化を可能とするものである。
【０１６６】
［４．１  辞書データ圧縮装置］
［４．１．１  構成］
まず、第４実施形態におけるコンピュータの構成は、第１実施形態において図２に示して説明したコンピュータ１の構成において、ハードディスク２０を図２２（ａ）に示すハードディスク２６に置き換えた構成と同様であり、以下、同一の構成要素には同一の符号を付してその説明を省略する。また、各フローチャートにおいて、第１実施形態のフローチャートと同一処理内容のステップについては同一の符号を付して、異なる部分を中心に説明する。
【０１６７】
図２２を参照してハードディスク２６の構成について説明する。図２２に示すように、ハードディスク２６は、元英和辞典データ２０２と、元英和大辞典データ２０４と、第１圧縮プログラム２０６と、第３主データ部符号化プログラム２６０とを記憶している。
【０１６８】
第３主データ部符号化プログラム２６０は、本実施形態における第３主データ部符号化処理を実現するためのプログラムであり、ＣＰＵ１０がこの第３主データ部符号化プログラム２６０を実行することで、第３主データ部符号化処理が実現される。第３主データ部符号化処理において、ＣＰＵ１０は、主データ部の中から符号化対象の文字列を選択すると、パターン認識により、当該文字列に所定割合以上で一致する文字列を参照部から検索する。そして、ＣＰＵ１０は、パターン認識による一致率が１００％の場合は第１実施形態と同様の符号化を行い、一致率が７０％以上の場合は編集コードを用いた符号化を行う。
【０１６９】
［４．１．２  処理］
次に、第４実施形態におけるコンピュータ１の動作について図を参照して説明する。
【０１７０】
図２３は、第３主データ部符号化処理に係るコンピュータ１の動作を説明するためのフローチャートである。この第３主データ部符号化処理は、ハードディスク２６の第１圧縮プログラム２０６の実行中に呼び出される処理である。ＣＰＵ１０は、図４の第１圧縮処理におけるステップＡ１２において、第１主データ部符号化処理に代えて、本実施形態の第３主データ部符号化処理を呼び出して実行する。
【０１７１】
ＣＰＵ１０は、符号化前の主データ部から符号化対象の文字列を選択し、参照部の中から、所定割合以上一致する文字列をパターン認識で検索する（ステップＪ１２）。例えば、元英和主データ部２０２ｂを符号化している場合、元英和主データ部２０２ｂの中から符号化対象の文字列を選択し、パターン認識により選択した文字列と所定割合以上一致する文字列を元英和参照部２０２ａから検索する。
【０１７２】
そして、ＣＰＵ１０は、パターン認識による一致率が１００％であった場合には（ステップＪ１４；Ｙｅｓ）、一致した文字列の参照部中の位置及び語長を検出し（ステップＪ１６）、符号化対象文字列を符号化する（ステップＪ１８）。
【０１７３】
また、ＣＰＵ１０は、パターン認識の結果による一致率７０％以上の場合には（ステップＪ２０；Ｙｅｓ）、参照部中の位置及び語長を検出するとともに（ステップＪ２２）、異なる部分の編集コードを生成し（ステップＪ２４）、符号化する。ここで、一致率を７０％以上としたのは一例であり、これに限られる訳ではなく、例えば７５％以上としたり、６０％以上としても良いことは勿論である。
【０１７４】
ステップＪ２２及びＪ２４について具体的に図２４を用いて説明する。図２４（ａ）は元英和辞典データ２０２のデータ構成の一例を示した図の一例である。元英和辞典データ２０２は、元英和参照部２０２ａと、元英和主データ部２０２ｂとに区分されている。
【０１７５】
まず、図２４（ｂ）の上段「元」と書かれている行は、元英和辞典データ２０２に記述されている状態を示している図である。見出語「cache」は元英和参照部２０２ａに、見出語「conceal」は元英和主データ部２０２ｂに記述されている。
【０１７６】
今、ＣＰＵ１０は、元英和主データ部２０２ｂの説明情報「＜物など＞を隠す」に所定割合以上一致する文字列として元英和参照部２０２ａの、見出語「cache」の説明情報中の「＜物など＞を隠し場に隠す」を検索したとする。図２４（ｂ）の「中間」と書かれている行は、符号化過程の中間データを表したものである。まず、元英和参照部２０２ａ中の文字列「＜物など＞を隠し場に隠す」を複写したものが中間データの１行目である。ここで、２重下線部「隠し場に」は元英和主データ部２０２ｂには含まれていない文字である。従って、ＣＰＵ１０は、「隠し場に」を削除する編集コードとして中間コード「＄６文字前から４文字削除＄」を生成する。ここで、「＄」は編集コードであることを表す識別子である。そして、元英和主データ部２０２ｂの「＄６文字前から４文字削除＄」の最終的なコード（符号）が、最下段の「最終」と書かれた行である。ここでは、最初の２ビットで参照部を利用した圧縮であるか（例えば、「10」）、もしくは編集コードであるか（例えば、削除の編集コードを「11」）を識別ビットとして付加している。参照部を利用した符号化コードにおいては、識別ビットの２ビットの後、８ビットで位置を表し、６ビットで語長を表している。従って、本来「＜物など＞を隠す」と１６バイトで表現されていた文字列が、「101010110001100011110100」と６バイトで表現出来ることとなる。
【０１７７】
なお、本実施形態においては、編集コードをも符号化して表現したが、編集コードの表現方法は一例であり、これに限られるわけではないのは勿論である。また、例えば符号化コードに対し一意に識別可能なハフマン符号を割り当てることにより、可変長で表現することも可能である。
【０１７８】
第４実施形態における辞書圧縮装置によれば、符号化対象の文字列に一致する文字列が参照部中に存在しない場合であっても、類似する（所定の割合以上一致する）文字列が存在すれば、位置、語長及び一致させるための編集コードを含む符号化コードで、当該符号化対象文字列を符号化することが可能となる。
【０１７９】
［４．２  電子辞書装置］
［４．２．１  構成］
第４実施形態における電子辞書装置の構成は、第１実施形態において図７に示して説明した電子辞書装置１００の構成において、ＲＯＭ１２０を図２５に示すＲＯＭ１２６に置き換えた構成と同様であり、以下、同一の構成要素には同一の符号を付してその説明を省略する。また、各フローチャートにおいて、第１実施形態のフローチャートと同一処理内容のステップについては同一の符号を付して、異なる部分を中心に説明する。
【０１８０】
図２５を用いて、ＲＯＭ１２６の構成について説明する。図２５に示すように、ＲＯＭ１２６は、第１伸張プログラム１２０２と、第３主データ部復号プログラム１２６０とを記憶している。
【０１８１】
第３主データ部復号プログラム１２６０は、本実施形態における第３主データ部復号処理を実現するためのプログラムであり、ＣＰＵ１１０がこの第３主データ部復号プログラム１２６０を実行することで、第３主データ部復号処理が実現される。第３主データ部復号処理においては、ＣＰＵ１１０は、符号化された主データ部の中の符号を復号していくが、編集コードを発見すると、編集コードに基づいて直前に復号した文字列について編集処理を実行する。
【０１８２】
［４．２．２  処理］
次に、第４実施形態における電子辞書装置１００の動作について図を参照して説明する。図２６は、第３主データ部復号処理に係る電子辞書装置１００の動作を説明するためのフローチャートである。この第３主データ部復号処理は、ＲＯＭ１２６０の第１伸張プログラム１２０２の実行中にサブルーチンとして呼び出される処理である。ＣＰＵ１１０は、図９の第１伸張処理におけるステップＣ２０において、第１主データ部復号処理に代えて、本実施形態の第３主データ部復号処理を呼び出して実行する。
【０１８３】
ＣＰＵ１１０は、符号化後主データ部中の、入力文字に対応する見出語の開始位置からデータ（符号）を読み込む（ステップＤ８）。ＣＰＵ１１０は、圧縮コードがあることを判定すると、復号する文字列の位置及び語長を検出し、参照部伸張領域１３０２に伸張された元参照部から文字列を複写して復号する（ステップＤ１０〜Ｄ１４）。
【０１８４】
次に、ＣＰＵ１１０は、編集コードがあるか否かを判定する（ステップＫ１６）。編集コードがあると判定した場合には（ステップＫ１６；Ｙｅｓ）、直前に復号した文字列を編集コードに基づいて編集する（ステップＫ１８）。そして、編集コードによる編集が終了すると（ステップＫ２０；Ｙｅｓ）、ＣＰＵ１１０は、主データ部における総ての文字列について復号したか否かを判定し（ステップＫ２２）、復号する文字列が残っている場合には（ステップＫ２２；Ｎｏ）、次の文字列を検出し（ステップＫ２４）、同じ処理を実行する。
【０１８５】
ここで、編集コードを用いた復号処理は、図２４（ｂ）を参照して説明した符号化処理を、逆の手順に実行することによって実現される処理である。図２４（ｂ）を用いて具体的に説明すると、まず、符号「1010101100011000」は、「＜物など＞を隠し場に隠す」と復号される。続いてＣＰＵ１１０は、符号「11110100」を検出する。すると、最初の２ビットが「11」となっていることから、削除する編集コードであると判定する。次にＣＰＵ１１０は、３ビット「110」の１０進数「６」と、その後の３ビット「100」の１０進数「４」とから、６文字前「隠」から４文字分「隠し場に」を削除する。
【０１８６】
このように、第４実施形態における電子辞書装置によれば、主データ部の復号の際に、符号に編集コードが含まれている場合には、当該編集コードに従った編集を行いつつ復号を行う。このため、参照部中の文字列に一致する文字列のみならず、類似する（所定割合以上一致する）文字列により符号化された主データ部であっても問題なく復号することができ、圧縮効率の高い辞書データを格納することによるメモリ容量の削減を実現できる。
【０１８７】
また、第４実施形態は、第１実施形態に基づいて説明したが、これに限られるものではなく、上述した第２実施形態及び第３実施形態に対しても適用可能なことは勿論である。
【０１８８】
［５．本発明を内蔵可能な変形例］
上述した実施形態では、電子辞典、電子事典などを含む電子辞書装置について単体で使用するものとして説明したが、本発明の電子辞書装置は、このような製品に限定されるものではなく、例えば携帯電話やＰＤＡ（Personal Digital Assistants）、パソコン等に電子辞書装置を内蔵することも可能である。
【図面の簡単な説明】
【０１８９】
【図１】コンピュータ及び電子辞書の概観図。
【図２】第１実施形態におけるコンピュータの構成図。
【図３】第１実施形態における元英和辞典データのデータ構造の一例を示した図。
【図４】第１実施形態における（ａ）第１圧縮処理の動作フローを示した図、（ｂ）第１圧縮処理の動作を説明した図。
【図５】第１主データ部符号化処理の動作フローを示した図。
【図６】第１実施形態における（ａ）及び（ｂ）動作を説明した図、（ｃ）英和辞典見出語テーブルのデータ構造の一例を示した図。
【図７】第１実施形態における電子辞書の構成図。
【図８】第１実施形態における第１伸張処理の動作を説明した図。
【図９】第１実施形態における第１伸張処理のフローチャートを示す図。
【図１０】第１実施形態における第１主データ部復号処理のフローチャートを示す図。
【図１１】第２実施形態における（ａ）コンピュータのハードディスク、（ｂ）ＲＡＭの構成を示す図。
【図１２】第２実施形態における第２圧縮処理のフローチャートを示す図。
【図１３】第２実施形態における（ａ）電子辞書のＲＯＭ、（ｂ）ＥＥＰＲＯＭの構成を示す図。
【図１４】第２実施形態における第２伸張処理の流れを示す図。
【図１５】第２実施形態における第２伸張処理のフローチャートを示す図。
【図１６】第３実施形態における（ａ）コンピュータのハードディスク、（ｂ）ＲＡＭの構成を示す図。
【図１７】第３実施形態における英和辞典見出語テーブルのデータ構成を示す図。
【図１８】第３実施形態における第３圧縮処理のフローチャートを示す図。
【図１９】第３実施形態における（ａ）電子辞書のＲＯＭ、（ｂ）ＥＥＰＲＯＭの構成を示す図。
【図２０】第３実施形態における第３伸張処理のフローチャートを示す図。
【図２１】第３実施形態における第２主データ部復号処理のフローチャートを示す図。
【図２２】第４実施形態におけるコンピュータのハードディスクの構成を示す図。
【図２３】第４実施形態における第３主データ部符号化処理のフローチャートを示す図。
【図２４】第４実施形態における（ａ）元英和辞典データのデータ構成（ｂ）動作を説明した図。
【図２５】第４実施形態における電子辞書のＲＯＭの構成を示す図。
【図２６】第４実施形態における第３主データ部復号処理のフローチャートを示す図。
【符号の説明】
【０１９０】
１    コンピュータ
１０    ＣＰＵ
２０    ハードディスク
２０２    元英和辞典データ
２０２ａ  元英和参照部
２０２ｂ  元英和主データ部
２０４    元英和大辞典データ
２０４ａ  元英大参照部
２０４ｂ  元英大主データ部
２０６    第１圧縮プログラム
２０８    第１主データ部符号化プログラム
３０  ＲＡＭ
３００    圧縮後英和辞典データ
３０２    圧縮後英和参照部
３０４    符号化後英和主データ部
３１０    圧縮後英和大辞典データ
３１２    圧縮後英大参照部
３１４    符号化後英大主データ部
４０  ＲＯＭ
５０  入力部
６０  表示部
３  ディスプレイ
５  キーボード
７  記憶メモリ
１００    電子辞書
１１０    ＣＰＵ
１２０    ＲＯＭ
１２０２  第１伸張プログラム
１２０４  第１主データ部復号プログラム
１３０    ＲＡＭ
１３０２  参照部伸張領域
１４０    ＥＥＰＲＯＭ
１４００  圧縮後英和辞典データ
１４０２  圧縮後英和参照部
１４０４  符号化後英和主データ部
１４１０  圧縮後英和大辞典ＤＢ
１４１２  圧縮後英大参照部
１４１４  符号化後英大主データ部
１０３  ディスプレイ
１０５  各種キー群
１０７  ＥＥＰＲＯＭ
【図１】
2005136617.tif 000003
【図２】
2005136617.tif 000004
【図３】
2005136617.tif 000005
【図４】
2005136617.tif 000006
【図５】
2005136617.tif 000007
【図６】
2005136617.tif 000008
【図７】
2005136617.tif 000009
【図８】
2005136617.tif 000010
【図９】
2005136617.tif 000011
【図１０】
2005136617.tif 000012
【図１１】
2005136617.tif 000013
【図１２】
2005136617.tif 000014
【図１３】
2005136617.tif 000015
【図１４】
2005136617.tif 000016
【図１５】
2005136617.tif 000017
【図１６】
2005136617.tif 000018
【図１７】
2005136617.tif 000019
【図１８】
2005136617.tif 000020
【図１９】
2005136617.tif 000021
【図２０】
2005136617.tif 000022
【図２１】
2005136617.tif 000023
【図２２】
2005136617.tif 000024
【図２３】
2005136617.tif 000025
【図２４】
2005136617.tif 000026
【図２５】
2005136617.tif 000027
【図２６】
2005136617.tif 000028