以下、本発明の実施形態について図面を参照して説明する。まず、第一実施形態について図1〜図5を参照して説明する。図1は、本実施の形態における画像表示装置1の構成を示すブロック図である。図2は、画像表示装置1の正面図である。
図1に示すように、画像表示装置1は、画像表示装置1全体を制御するCPU10と、プログラム等を記憶したROM11と、データを一時的に記憶するRAM12と、液晶画面もしくは電子ペーパーディスプレイなどからなる表示部2と、入力部3と、外部記憶部であるメモリカード13と、データ受信部14とを備え、これらはバスを介して相互に接続されている。メモリカード13には、文書データ等の画像情報を格納する表示画像格納部131が設けられている。RAM12には、表示部2に表示可能な表示倍率を示す倍率データを記憶した表示倍率格納部121と、表示画像格納部131に格納された画像情報を一時的に格納するための画像表示用バッファ122とが設けられている。尚、表示倍率格納部121についてはメモリカード13に設けられていてもよい。
図2に示すように、表示部2は、画像表示用バッファ122に格納された画像情報に基づいて文書等の画像を表示する。入力部3は、頁操作等を行うための次ボタン31及び前ボタン32と、表示倍率を変更するための拡大ボタン34及び縮小ボタン35とを備えている。
図3は、RAM12の表示倍率格納部121のデータ構造を示す構成図である。表示倍率格納部121には、拡大ボタン34又は縮小ボタン35を押すことによって指定できる表示倍率(0)〜(m)を示す倍率データが格納されている。例えば、表示倍率は、100%、150%、200%、300%・・・等である。本実施形態では、後述するように、各表示倍率に対応する画像情報を記憶させておくので、表示できる倍率は固定されている。
図4は、メモリカード13の表示画像格納部131のデータ構造を示す構成図である。表示画像格納部131には、文書毎に、各表示倍率に対応する画像情報が記憶されている。ここでは、100%の表示倍率に対応する画像情報を特に基準画像情報と称し、その他の表示倍率に対応する画像情報を拡大画像情報と称するものとする。例えば、文書ID1の文書については、基準画像情報1310と、拡大画像情報として表示倍率1画像情報1311,表示倍率2画像情報1312,・・・表示倍率m画像情報131mが記憶されている。また、文書ID2の文書については、基準画像情報1320と、拡大画像情報として表示倍率1画像情報1321,表示倍率2画像情報1322・・・表示倍率m画像情報132mが記憶されている。また、文書ID3の文書については、基準画像情報1330と、拡大画像情報として表示倍率1画像情報1331,表示倍率2画像情報1332・・・表示倍率m画像情報133mが記憶されている。
以上の構成を有する画像表示装置1で行なわれる表示倍率変更処理(1)について、図5を参照して説明する。
図5に示すように、表示倍率変更処理(1)が開始されると、まず、現在表示されている文書の文書IDを取得する(S1)。
そして、RAM12の画像表示用バッファ122を初期化する(S2)。次に、表示倍率格納部121から倍率データを取得する(S3)。
次に、取得した倍率データに基づき、使用者が表示倍率を選択できるよう、表示部2に表示倍率候補を表示する(S4)。そして、使用者が拡大ボタン34又は縮小ボタン35を押して表示倍率を入力してくるのを受け付け(S5)、その入力に基づき表示倍率を選択する(S6)。
次に、現在表示中の文書のS6で選択された表示倍率に対応する画像情報を表示画像格納部131から取得し(S7)、これを画像表示用バッファ122に転送する(S8)。そして、画像表示用バッファ122に格納された画像情報を表示部2に表示する(S9)。以上で、使用者の所望の表示倍率に変更された画像情報の表示を得ることができる。
尚、表示画像格納部131から読み込まれた画像情報が表示部2の表示領域よりも大きい場合には、例えば、左上、右上、左下、右下、等の候補を表示部2に表示して、どの部分を表示するかを使用者が入力可能としてもよいし、左上等の既定の部分を表示させるようにしてもよい。
以上のように、本実施形態によれば、あらかじめ設定された表示倍率に対応させて、その表示倍率に最適化した画像の画像情報を記憶させておき、表示倍率の変更が使用者により指定されたときには、これに対応するその画像情報を読み込んで表示させるので、拡大・縮小処理のために処理時間がかかることがなく、品質の高い画像表示を行うことができる。
次に、本発明の第二実施形態について図6(a)乃至図7を参照して説明する。本実施形態では、拡大画像情報そのものを記憶させておく代わりに、差分情報を記憶させておき、表示倍率が指定されたときに基準画像情報から差分情報に基づき拡大画像情報を作成する。
例えば、図6(a)及び図6(b)に示すように、基準画像情報500と、これに対応する表示倍率200%の拡大画像情報600及び表示倍率400%の拡大画像情報700があるとする。この場合、基準画像情報500と、基準画像情報500と拡大画像情報600との差分を表す差分情報610と、基準画像情報500と拡大画像情報700との差分を表す差分情報710と、図6(c)及び図6(d)にそれぞれ示す対応情報620,720とを表示画像格納部131に記憶しておき、指定された表示倍率に応じて、差分情報610、710を用いて基準画像情報500から拡大画像情報600、700を生成する。ここで、対応情報とは、基準画像情報の各画素が、求める表示倍率の拡大画像情報においてどの座標位置に来るかを示すものである。図6(c)に示す対応情報620は、基準画像情報500と拡大画像情報600との対応情報であり、図6(d)に示す対応情報720は、基準画像情報500と拡大画像情報700との対応情報である。このような本実施形態の表示倍率変更処理(2)について図7を参照して説明する。尚、以下の説明において、第一実施形態と同一の場合はその説明を援用し、説明を省略する。また、同一処理については、ステップ番号も同一のものを用いる。
図7に示すように、まず、現在表示されている文書の文書IDを取得し(S1)、RAM12の画像表示用バッファ122を初期化する(S2)。次に、拡大画像情報の画素を特定するための画素インデクスiを初期化して1にし(S33)、表示倍率格納部121から倍率データを取得する(S3)。
次に、取得した倍率データに基づき、使用者が表示倍率を選択できるよう、表示部2に表示倍率候補を表示する(S4)。そして、使用者が拡大ボタン34又は縮小ボタン35を押して表示倍率を入力してくるのを受け付け(S5)、その入力に基づき表示倍率を選択する(S6)。
次に、現在表示中の文書の、選択された表示倍率に対応する差分情報を表示画像格納部131から読み込む(S37)。そして、選択された表示倍率をもとに、対応情報を表示画像格納部131から取得する(S38)。
次に、取得した対応情報に基づき、画素インデクスiに対応する基準画像情報の画素の値を取得する(S39)。次に、画素インデクスiの差分値を差分情報から取得し(S40)、S39で取得した画素値に、S40で取得した差分値を加算する(S41)。そして、S41で得られた画素値を画像表示用バッファ122にセットする(S42)。
次に、画素インデクスiの値が、求める拡大画像情報のサイズ(全画素数)と一致したか否かを判断し(S43)、一致していなければ(S43:NO)、iの値に1を加算して(S44)、S39に戻り、S39〜S43の処理を繰り返す。
画素インデクスiの値が、拡大画像情報のサイズと一致した場合には(S43:YES)、画像表示用バッファ122に格納された画像情報(拡大画像情報)を表示部2に表示する(S9)。以上により、使用者の所望の拡大画像情報を差分情報に基づいて生成し、これを表示できる。
以上のように、本実施形態によれば、拡大画像情報そのものに代えて差分情報を表示画像格納部131に記憶しておくので、対応する表示倍率が多くなっても、表示画像格納部131の記憶容量を節約しつつ、各表示倍率に対応した高品質の画像を表示させることができる。
次に、図8を参照して、本発明の第三実施形態について説明する。上記第二実施形態においては、対応情報を用いて拡大画像情報を生成したが、本実施形態では、図8に示す表示倍率変更処理(3)において、対応情報を用いずに、拡大画像情報を生成する。
この表示倍率変更処理(3)では、図8に示すように、まず、現在表示中の文書IDを取得する(S1)。そして、RAM12の画像表示用バッファ122を初期化する(S2)。次に、画素インデクスiを初期化して1にする(S33)。次に、表示倍率格納部121から倍率データを取得する(S3)。
次に、取得した倍率データに基づき、使用者が表示倍率を選択できるよう、表示部2に表示倍率候補を表示する(S4)。そして、使用者が拡大ボタン34又は縮小ボタン35を押して表示倍率を入力してくるのを受け付け(S5)、その受け付けた表示倍率を選択する(S6)。
次に、現在表示中の文書における、S6で選択された表示倍率に対応した差分情報を表示画像格納部131から読み込む(S37)。そして、現在表示中の文書の基準画像情報を選択された表示倍率まで拡大し、拡大基準画像情報を作成する(S48)。
次に、拡大基準画像情報のi番目の画素の値を、差分情報のi番目の画素の値に加算する(S50)。そして、S50にて得られた画素値を画像表示用バッファ122にセットする(S42)。
次に、画素インデクスiの値が、拡大基準画像情報のサイズ(全画素数)と一致したか否かを判断し(S45)、拡大基準画像情報のサイズ(全画素数)と一致しなければ(S45:NO)、iの値に1を加算して(S46)、S50に戻る。
画素インデクスiの値が、拡大基準画像情報のサイズと一致した場合には(S45:YES)、以上により、差分情報を用いて基準画像情報から使用者の所望の表示倍率に変更された拡大画像情報が画像表示用バッファ122に格納されたので、これを表示部2に表示する(S9)。
このように、本実施形態によれば、対応情報を用いなくても、画素間の対応づけが崩れることなく、差分情報を用いて、選択された表示倍率に対応する拡大画像情報を基準画像情報から生成することができる。
次に、本発明の第四実施形態について、図9を参照して説明する。上記第三実施形態では基準画像情報と各拡大画像情報との間の差分情報を記憶させたが、本実施形態では、用意された表示倍率間の差分情報を記憶しておく。例えば、100%、200%、300%の表示倍率がある場合には、100%と200%との間の差分情報、200%と300%との間の差分情報を記憶しておく。従って、画像情報の拡大処理を一段階ずつ行い、要求された表示倍率まで拡大処理を繰り返す。
以下、本実施形態における表示倍率変更処理(4)について説明する。図9に示すように、まず、現在表示されている文書の文書IDを取得する(S1)。そして、RAM12の画像表示用バッファ122を初期化する(S2)。次に、画素インデクスiを初期化して1にする(S33)。次に、表示倍率格納部121から倍率データを取得する(S3)。
次に、取得した倍率データに基づき、使用者が表示倍率を選択できるよう、表示部2に表示倍率候補を表示する(S4)。そして、使用者が拡大ボタン34又は縮小ボタン35を押して表示倍率を入力してくるのを受け付け(S5)、その受け付けた表示倍率を選択する(S6)。
次に、現在の表示倍率を取得する(S71)。そして、S71で取得した現在の表示倍率より1段階大きい表示倍率を取得し、これを拡大表示倍率としてセットする(S72)。次に、拡大表示倍率に基づいて、現在の画像情報を1段階大きいサイズに拡大し、拡大画像情報を作成する(S73)。
次に、S72でセットした拡大表示倍率に対応する差分情報を表示画像格納部131から取得する(S74)。次に、拡大画像情報のi番目の画素の値に、差分情報のi番目の画素の値を加算する(S75)。そして、S75で得られた画素値を画像表示用バッファ122にセットする(S42)。
次に、画素インデクスiの値が、拡大画像情報のサイズと一致したか否かを判断し(S45)、画素インデクスiの値が、拡大画像情報のサイズと一致しなければ(S45:NO)、iの値に1を加算して(S46)、S73に戻り、処理を繰り返す。
画素インデクスiの値が、拡大画像情報のサイズと一致した場合には(S45:YES)、次に、S72でセットした拡大表示倍率がS6で選択された表示倍率と等しいか否かを判断する(S76)。等しくなければ(S76:NO)、S72に戻る。選択された表示倍率と等しくなったら(S76:YES)、以上により、使用者の所望の表示倍率に対応する拡大画像情報が画像表示用バッファ122に格納されたので、これを表示部2に表示する(S9)。
このように、本実施形態によれば、対応情報を用いなくても、選択された表示倍率に達するまで、段階を追って倍率変更した拡大画像情報を生成しつつ、差分情報を加算することで、画素間の対応づけが崩れることなく所望の拡大画像情報を生成することができる。
次に、本発明の第五実施形態について図10を参照して説明する。上記第一実施形態では、各拡大画像情報は、基準画像情報と同一のレイアウトを有していたが、文字のみで画像情報が構成されている場合には、単純に表示倍率を変更した拡大画像情報を作成・記憶させておくよりも、表示領域に合わせて文字のレイアウトを変更した拡大画像情報を記憶させておく方が、読み込んで表示させた場合に閲覧上便利である。
例えば、図10に示すように、表示部2の表示領域が長さL、幅Wを有する場合に、基準画像情報に基づき拡大画像情報を生成する際に、基準画像情報をそのまま拡大するのではなく、文字を倍率に合わせて拡大し、拡大された文字を幅Wの表示領域に流し込むようにして拡大画像情報を作成する。そして、このように作成された拡大画像情報を表示画像格納部131に記憶させておく。表示倍率の変更が要求された場合には、第一実施形態の図5に示すフローチャートに従って、表示倍率変更処理(1)を行えば、S7の処理により、選択表示倍率に拡大された文字を有する、幅Wの拡大画像情報が表示画像格納部131から読出される。したがって、本実施形態によれば、使用者は、文書を読むときに、横方向に頁をめくる必要がなく、縦方向にのみ読むことができて便利である。
次に、本発明の第六実施形態について、図11乃至図13を参照して説明する。上記第五実施形態では、幅Wを有する拡大画像情報を表示画像格納部131に記憶しておき、これを読み出して表示部2に表示させていたが、本実施形態においては、表示倍率変更指示があった場合に、このように幅Wを有する拡大画像情報を基準画像情報から作成して表示させる。
例えば、図11に示すように、基準画像情報100に基づき拡大画像情報105を作成する場合、表示部2に表示される文字の位置は基準画像情報100と拡大画像情報105とで異なる。そこで、本実施形態では、基準画像情報100を複数の領域に分割し、各領域について基準画像情報100及び拡大画像情報105間の位置関係を予め定めておき、これを対応情報として対応情報テーブル1500に記憶させておく。尚、対応情報テーブル1500はRAM12等に設ければよい。
例えば、図11に示す画像内の「むてっぽ」という領域については、基準画像情報100については、表示始点座標(x1,y1):(50,100),表示終点座標(x2,y2):(240,170)、拡大画像情報105については、表示始点座標(x1,y1):(280,150), 表示終点座標(x2,y2):(540,310)というような対応情報の持ち方ができる。
次に、図12を参照して、上記の対応情報テーブル1500を参照して表示倍率の変更を行う表示倍率変更処理(6)について説明する。まず、現在表示中の文書IDを取得する(S1)。取得した文書IDから、当該文書における領域数を取得する(S61)。そして、RAM12の画像表示用バッファ122を初期化する(S2)。次に、領域インデクスaを初期化して1にする(S62)。
次に、表示倍率格納部121から倍率データを取得する(S3)。次に、取得した倍率データに基づき、使用者が表示倍率を選択できるよう、表示部2に表示倍率候補を表示する(S4)。そして、使用者が拡大ボタン34又は縮小ボタン35を押して表示倍率を入力してくるのを受け付け(S5)、その受け付けた表示倍率を選択する(S6)。
次に、選択された表示倍率に対応した差分情報を表示画像格納部131から読み込む(S37)。尚、本実施形態で使用する差分情報は上記第三実施形態におけるものと同一である。そして、領域インデクスaに対応する対応情報を対応情報テーブル1500から取得する(S63)。
次に、後述の領域拡大処理を行う(S64)。領域拡大処理が終わると、拡大した領域内の画像を、対応情報に基いて画像表示用バッファ122にセットする(S65)。次に、領域インデクスaの値が、S61で取得した領域数と一致したか否かを判断し(S66)、一致していなければ(S66:NO)、領域インデクスaの値に1を加算して(S67)、S63に戻り、処理を繰り返す。
領域インデクスaの値が、領域数と一致した場合には(S66:YES)、画像表示用バッファ122に格納された画像情報を表示部2に表示する(S9)。
図13を参照して、S64の領域拡大処理について説明する。領域拡大処理では、領域aの拡大画像情報を生成する。まず、画素インデクスjを1に初期化し(S81)、表示倍率変更処理(6)のS37で取得した差分情報から、j番目の画素に対応する差分値を取得する(S82)。次に、j番目の画素に対応する基準画像情報の画素の値にS82で取得した差分値を加算し(S83)、これを領域拡大用バッファ123(図1に点線で示す)にセットする(S84)。
画素インデクスjの値が、領域のサイズ(画素数)と一致したか否かを判断し(S85)、一致していなければ(S85:NO)、画素インデクスjの値に1を加算して(S86)、S82に戻り、S82〜S86の処理を繰り返す。領域のサイズと一致していれば(S85:YES)、表示倍率変更処理(6)に戻る。
このように、本実施形態によれば、あらかじめ対応領域テーブル1500を用意することにより、差分情報と対応情報を用いて、幅Wを有する要求された表示倍率の拡大画像情報を生成して表示することができる。
次に、第七実施形態について、図14(a)及び図14(b)を参照して説明する。
本実施形態は、第一実施形態とほぼ同一であるが、本実施形態では図14(a)に示すような管理テーブル332を用いる点で第一実施形態と異なる。
管理テーブル332は、メモリカード13内又はRAM12内に設けられ、データ項目として文書ID3321と、倍率データ3322と、各画像情報へのリンク情報3323とが用意されている。また、図14(b)に示すように、表示画像格納領域131には、画像情報(基準画像情報及び拡大画像情報)のみが記憶されている。
本実施形態の表示倍率変更処理は、第一実施形態(図5)におけるものと同様である。ただし、本実施形態では、S3において、倍率データは表示倍率格納部121からではなく、管理テーブル332から取得される。また、S7において、画像情報は表示画像格納部131から直接取得されるのではなく、管理テーブル332を参照して、表示画像格納部131から取得される。これにより、倍率データや各画像情報へのアクセスが容易となり、表示倍率の種類や画像情報の数が増加しても、高速に表示倍率変更処理を実行することができる。また、表示倍率の種類を追加した場合にも管理が容易になる。
次に、第八実施形態について、図15(a)乃至図18を参照して説明する。
本実施形態では、拡大画像情報については、数個に分割した分割画像情報として、表示画像格納部131に格納しておく。例えば、図15(a)に示すように、拡大画像情報200を4分割し、これを分割画像情報201〜204として、表示画像格納部131に記憶させておく。
より具体的には、表示画像格納部131には、図16に示すように、基準表示倍率以外の各表示倍率に対してはn個の分割画像情報が記憶されている。すなわち、文書ID1の文書については、基準画像情報2310と、表示倍率(1)に対応する画像情報として、表示倍率1画像情報(1)2311,表示倍率1画像情報(2)2312,・・・表示倍率1画像情報(n)231n、のn個の分割画像情報が記憶されている。また、表示倍率(2)に対応する画像情報として、表示倍率2画像情報(1)2321,表示倍率2画像情報(2)2322,・・・表示倍率2画像情報(n)232n、のn個の分割画像情報が記憶されている。さらに、表示倍率(m)に対応する画像情報として、表示倍率m画像情報(1)23m1,表示倍率m画像情報(2)23m2,・・・表示倍率m画像情報(n)23mn、のn個の分割画像情報が記憶されている。また、文書ID2の文書については、基準画像情報2410,表示倍率(1)に対応する画像情報として、表示倍率1画像情報(1)2411,表示倍率1画像情報(2)2412,・・・表示倍率1画像情報(n)241n、のn個の分割画像情報が記憶されている。また、表示倍率(2)に対応する画像情報として、表示倍率2画像情報(1)2421,表示倍率2画像情報(2)2422,・・・表示倍率2画像情報(n)242n、のn個の分割画像情報が記憶されている。さらに、表示倍率(m)に対応する画像情報として、表示倍率m画像情報(1)24m1,表示倍率m画像情報(2)24m2,・・・表示倍率m画像情報(n)24mn、のn個の分割画像情報が記憶されている。ここで、各分割画像情報は表示部2の表示領域よりも小さく、複数の分割画像情報の組み合わせにより、表示領域分の画像情報を形成する。尚、分割画像情報の数nは、各表示倍率毎にあらかじめ設定されている。
以上のような分割画像情報を用いた本実施形態の表示倍率変更処理(8)について、図17のフローチャートを参照して説明する。
図17に示すように、本実施形態の表示倍率変更処理(8)が開始されると、まず、現在表示されている文書の文書IDを取得する(S1)。そして、RAM12の画像表示用バッファ122を初期化する(S2)。次に、表示倍率格納部121から倍率データを取得する(S3)。
次に、取得した倍率データに基づき、使用者が表示倍率を選択できるよう、表示部2に表示倍率候補を表示する(S4)。そして、使用者が拡大ボタン34又は縮小ボタン35を押して表示倍率を入力してくるのを受け付け(S5)、その受け付けた入力に基づき、表示倍率を選択する(S6)。
次に、初期表示領域候補の表示を行う(S10)。例えば、左上、右上、左下、右下、等の候補を表示する。そして、使用者がこれらの候補から初期表示領域を入力してくるのを受け付ける(S11)。
次に、変数iをS11で指定された初期表示領域に対応するインデクス値に設定する(S12)。例えば、入力された初期表示領域が左上である場合は1、右上である場合は2、左下である場合は3、右下である場合は4をインデクス値として予め設定しておく。
そして、S6で選択された表示倍率に対応する分割画像情報のうち、i番目の分割画像情報を表示画像格納部131から取得する(S16)。例えば、文書ID=1であり、表示倍率(1)で、iが2であれば、表示倍率1画像情報(2)2312が取得される(図16参照)。次に、取得した分割画像情報を画像表示用バッファ122に転送する(S8)。
次に、i番目の分割画像情報が、現在表示中の文書の、S6で選択された表示倍率に対応する分割画像情報のうち最後の分割画像情報であるか否かを判断する(S17)。最後の分割画像情報である場合は(S17:YES)、S20に進む。
一方、最後の分割画像情報でない場合は(S17:NO)、次に、表示部2の表示領域に相当する一頁分の分割画像情報が画像表示用バッファ122に転送されたか否かを判断する(S18)。まだ一頁分(表示領域分)に満たなければ(S18:NO)、変数iに1を加算して(S19)、S16に戻り、前述の処理を繰り返す。
一方、一頁分(表示領域分)を満たしていれば(S18:YES)、S20に進む。S20では、表示開始位置をS11で指定された初期表示領域に設定し(S20)、画像表示用バッファ122に格納された分割画像情報を表示部2に表示して(S9)、処理を終了する。
これにより、使用者により指定された表示倍率に応じて、分割画像情報の合成により一頁分の画像情報が作成され、これが表示部2に表示される。以上説明したように、本実施形態によれば、分割画像情報を表示領域のサイズ以上の大きさになるように複数個合成して表示するので、表示領域より大きなサイズを有する1個の画像情報を読み込む場合よりも画像表示用バッファ122の領域を小さくすることができる。次に、本実施形態における表示領域移動処理について、図18のフローチャートを参照して説明する。表示領域移動処理は、上記表示倍率変更処理により表示倍率の変更が行われた後に、使用者の指示によって表示画像領域を移動させるための処理である。
まず、入力部3から表示画像領域の移動指示の入力を受け付ける(S51)。表示画像領域の移動指示は、例えば、次ボタン31や前ボタン32の押下により行われる。次に、領域移動量の設定値をRAM12から取得する(S52)。次に、S52で得られた設定値分だけ、画面表示領域を移動させた画像情報を画像表示用バッファ122に格納する(S53)。そして、画像表示用バッファ122に格納された画像情報に基づき、画像の表示を行い(S54)、処理を終了する。
尚、本実施形態において、分割画像情報を複数個合成して表示させるのではなく、S17〜S19のステップを行わずに、使用者によりS11で指定された領域に対応する1個の分割画像情報のみを画像表示用バッファ122に転送して、表示するようにしてもよい。この場合、図15(a)に示すように、拡大画像情報200を単純に分割するのではなく、図15(b)に示すように、それぞれの分割画像情報に重複する領域を設けて分割画像情報211〜214としてもよい。例えば、図15(c)に示すように、分割画像情報211の右端の領域215と分割画像情報212の左端の領域216は、重複した領域となっている。同様に、分割画像情報211の下端の領域219と分割画像情報213の上端の領域221、分割画像情報213の右端の領域217と分割画像情報214の左端の領域218、分割画像情報212の下端の領域220と分割画像情報214の上端の領域222は、重複した領域となっている。このようにそれぞれの分割画像情報に重複した領域を設けておくと、文字が分割画像情報の端にかかって切れてしまったような場合にも、次の分割画像情報に遷移したときに前の分割画像情報の最後の端が表示されることとなり、文字を読みやすく表示できる。
また、本実施形態のように分割画像情報を用いる場合でも、上述の第七実施形態と同様に管理テーブルを用いることもできる。この場合は、図14(c)に示すような管理テーブル1332を用いる。管理テーブル1332は、データ項目として、文書ID情報3321,倍率データ3322,頁1の画像情報へのリンク情報3324,頁2の画像情報へのリンク情報3325,頁3の画像情報へのリンク情報3326,頁4の画像情報へのリンク情報3327・・・が用意され、各表示倍率と各頁に対応する画像情報のファイル名が記憶されている。
また、図14(d)に示すように、表示画像格納部131には、画像情報(基準画像情報及び分割画像情報)のみが記憶されている。これにより、第七実施形態の場合と同様、倍率データや各画像情報へのアクセスが容易となり、表示倍率の種類や画像情報の数が増加しても、高速に表示倍率変更処理を実行することができる。
次に、本発明の第九実施形態について、図19を参照して説明する。携帯型電子ブックのように文書を表示させる場合には、表示倍率を変更したときにも、表示領域にできるだけ無駄が出ないように表示ができる方が望ましい。そこで、本実施形態では、あらかじめ表示倍率を整数倍のみにしておき、一個の分割画像情報で表示領域一頁分の画像情報を構成するようにしておく。
例えば、図19に示すように、基準画像情報100に対し、2倍の表示倍率を有する拡大画像情報200を表示させる場合、1頁目には分割画像情報201が、2頁目には分割画像情報202が、3頁目には分割画像情報203が、4頁目には分割画像情報204が、表示領域いっぱいに表示されるようにする。また、3倍の表示倍率を有する拡大画像情報300の場合、1頁目には分割画像情報301が、2頁目には分割画像情報302が、3頁目には分割画像情報303が、4頁目には分割画像情報304が、5頁目には分割画像情報305が、6頁目には分割画像情報306が、7頁目には分割画像情報307が、8頁目には分割画像情報308が、9頁目には分割画像情報309が、表示領域いっぱいに表示されるようにする。これにより、右側に無駄な余白ができないので、閲覧時に好適である。
次に、本発明の第十実施形態について説明する。本実施形態においては、図10に示すように、表示部2の幅Wに合わせて作成した拡大画像情報を、長さLで分割して、分割画像情報とし、表示画像格納部131に記憶しておく。この場合、第八実施形態のフローチャート(図17)に従って、表示倍率変更処理(8)を行えばよい。ここで、分割画像情報は予め幅Wと長さLの表示領域に合わせて作成しているので、S16で一頁分の分割画像情報が読み込まれる。従って、S17〜S19のステップを省略し画像表示用バッファ122に転送した分割画像情報を表示部2に表示すればよい。
さらに、このような文字を含む文書の場合、文章の流れる方向に沿って分割して画像情報を作成するとさらに便利である。例えば、横書の文章では、図20(a)に示すように、文章の流れに沿って縦に分割し、一方、縦書の文章では、図20(b)に示すように、文章の流れに沿って横に分割するとよい。
次に、本発明の第十一実施形態について、図21(a)乃至図21(c)を参照して説明する。本実施形態では、表示部2の縦横の比率に合わせて作成された分割画像情報については、これを回転させて表示画像格納部131に記憶させておく。表示の際には使用者は画像表示装置1ごと90度回転して画像を閲覧できる。
例えば、図21(a)に示すように、基準画像情報100が縦800横600のサイズであれば、まず、縦1040横800となるような拡大画像情報300を生成し、これを90度回転させ、重複する領域を持つ二つの分割画像情報301、302として記憶させておく。このような構成によって、基準画像情報の表示時には、図21(b)のように閲覧でき、拡大画像情報の表示時には、図21(c)のように閲覧でき、表示領域の移動方向が一方向のみで閲覧できるため、便利である。
次に、本発明の第十二実施形態について、図22及び図23を参照して説明する。上記第一実施形態では、画像情報をそのまま表示画像格納部131に記憶しておき、これを読み出して表示部2に表示させていたが、本実施形態では、各画像情報を圧縮して圧縮情報を生成し、これを表示画像格納部131に記憶させておき、表示部2に表示する際には圧縮画像を展開して表示させる。
圧縮情報は、パソコン(図示外)等で圧縮画像作成処理を行うことにより、予め生成される。ここでは、ランレングス圧縮法を用いる。このような圧縮画像作成処理について、図22を参照して説明する。圧縮画像作成処理では、連続した同じ階調の画素の数を示す変数としてカウンタiと、その階調を示す変数として画素変数pixelを用いる。まず、カウンタiを初期化して1とする(S100)。次に、画素変数pixelを初期化する(S101)。次に、圧縮を行う元の画像情報を読み込む(S102)。そして、どの表示倍率の圧縮画像情報を作成するかについての情報を取得する(S103)。
次に、S103で取得した表示倍率に基づいて、ランレングス圧縮後の符号化データの符号長を取得する(S104)。例えば、表示倍率100%の基準画像情報の符号長が5ビットの場合、表示倍率200%の場合は6ビット、表示倍率300%の場合は7ビットというように、符号化データの符号長はあらかじめ決定されている。また、符合化データは、階調の値を表す領域と、連続した階調の画素の数を表す領域とで構成されている。例えば、表示倍率が200%に圧縮された符号長が6ビットの符号化データは、先頭2ビットに階調の値(画素変数pixelの値)が、残り4ビットには連続した階調の画素の数(カウンタiの値)が格納される。同様に、表示倍率が300%に圧縮された符号長が7ビットの符号化データは、先頭2ビットに階調の値(画素変数pixelの値)が、残り5ビットには連続した階調の画素の数(カウンタiの値)が格納されている。尚、各倍率における符号長は一例であり、これに限るものではない。
次に、元画像情報からi番目の画素の階調の値を取得し、これを画素変数pixelにセットする(S105)。次に、画素変数pixelの値が一つ前の画素の階調の値と同じか否かを判断する(S106)。同じ場合には(S106:YES)、次に、カウンタiの値が、S104で取得された符号長で表現できる範囲に収まるか否かを判断する(S107)。例えば、表示倍率200%の圧縮画像情報を生成する場合、符号長6ビットのうち、階調の値を示す2ビットを除いた4ビットでカウンタiの値を表現できる。つまり、4ビットでは0〜15までの数が表現できるので、カウンタiの値が15以下かを判断する。符号長で表現できる範囲に収まっていれば(S107:YES)、カウンタiの値に1を加算して、S111に進む。
画素変数pixelの値が同じでない場合(S106:NO)、又は、カウンタiの値が符号長で表現できる範囲を超えている場合は(S107:NO)、次に、画素変数pixelの値と、カウンタiの値とを所定の記憶手段に出力及び記憶する(S109)。例えば、表示倍率200%の圧縮画像情報を生成する場合、2ビットに画素変数pixelの値を格納し、残り4ビットにカウンタiを格納した符号化データを、所定の記憶手段に出力及び記憶する。そして、カウンタiの値を1に初期化し(S110)、S111へ移行する。
S111では、すべての画素についての上記の処理が終了したか、すなわち、これ以上画素が読み込めないか否かを判断する(S111)。画素がまだ読み込める場合には(S111:NO)、S105に戻り、処理を繰り返す。画素が読み込めない場合には(S111:YES)、処理を終了する。
このようにして、得られた符号化データ(圧縮情報)が表示画像格納部131に記憶される。このように作成された圧縮情報から、使用者からの要求に応じた画像情報を表示部2に表示するには、上述の各表示倍率変更処理において、S7にて表示画像格納部131から画像情報を読込む際に、次のような圧像画像展開処理が必要となる。
圧縮画像展開処理について、図23を参照して説明する。図23に示すように、まず、画素変数pixelとカウンタcountを初期化する(S120)。次に、RAM12内に設けられた、圧縮画像を展開する先の展開先バッファ(図示外)を初期化する(S121)。
次に、選択された表示倍率を取得する(S122)。そして、その表示倍率に対応する圧縮情報を取得する(S123)。次に、S122で取得した表示倍率に基づき、ランレングス圧縮の符号長を取得する(S124)。ここでは、先に説明した図22のS104の方法の逆の手順で、符号長は取得される。
次に、S123で取得した圧縮情報から、符号長分だけ符号化データを取得する。(S125)。つまり、階調の値と、連続する同じ階調の画素の数とを示す値を取得する。次に、取得した階調の値を画素変数pixelに、連続した同じ階調の画素の数をカウンタcountにセットする(S126)。そして、変数iに0を代入する(S127)。
次に、変数iがカウンタcountの値より小さいか否かを判断する(S128)。小さければ(S128:YES)、画像変数pixelの値を展開先バッファに追加し(S129)、変数iに1を加算する(S130)。そして、S128に戻り、処理を繰り返す。
変数iがカウンタcountの値より小さくなければ(S128:NO)、これ以上符号化データを読み込めないかどうかを判断し(S131)、まだ読み込める場合には(S131:NO)、S125に戻って処理を繰り返す。もう読み込めない場合には(S131:YES)、圧縮画像展開処理を終了する。
以上のように、本実施形態によれば、画像情報として圧縮情報を記憶させるとともに、符号長の長さを表示倍率情報に基づいて設定しているので、適切な長さの符号長を用いることができ、圧縮効率の高い画像情報を用いることができる。
ところで、以上の実施形態は、いずれも拡大の場合を念頭に置いているが、縮小の場合も同様に考えることができる。また、縮小の場合には、特有の処理として、単純に縮小画像情報を記憶させて表示させることに代えて、サムネイル表示を行うこともできる。このようなサムネイル表示を実行する第十三実施形態について、図24〜図26を参照して説明する。
図24に示すように、本実施形態の表示倍率変更処理(13)が開始されると、まず、現在表示中の文書の文書IDを取得する(S1)。そして、RAM12の画像表示用バッファ122を初期化する(S2)。次に、表示倍率格納部121から倍率データを取得する(S3)。
次に、取得した倍率データに基づき、使用者が表示倍率を選択できるよう、表示部2に表示倍率候補を表示する(S4)。そして、使用者が拡大ボタン34又は縮小ボタン35を押して表示倍率を入力してくるのを受け付け(S5)、その受け付けた表示倍率を選択する(S6)。
次に、選択された表示倍率が、縮小表示であり、サムネイル表示が指定されているか否かを判断する(S56)。サムネイル表示が指定されていなければ(S56:NO)、選択された表示倍率に対応する画像情報を表示画像格納部131から検索して読み込み(S7)、画像表示用バッファ122に転送する(S8)。尚、サムネイル表示の指定は、例えば表示部2の表示に従って、使用者が入力部3を操作することにより行うことができる。
一方、サムネイル表示が指定されている場合には(S56:YES)、後述のサムネイルページ生成処理を実行する(S67)。そして、生成されたサムネイルページを画像表示用バッファ122に転送し(S8)、画像表示用バッファ122に格納された画像情報を表示部2に表示する(S9)。以上により、サムネイルページであっても、使用者の所望の表示倍率に変更された表示を得ることができる。
次に、図25を参照して、図24の表示倍率変更処理(13)の中で実行されるサムネイルページ生成処理について説明する。サムネイルページ生成処理が開始されると、まず1ページに表示するサムネイル数を取得する(S203)。1ページに表示するサムネイル数は、表示倍率に対応させてあらかじめ定められている。
次に、x方向のマージン値margin_x及びy方向のマージン値margin_yを取得する(S204)。マージン値は、表示倍率に対応させてあらかじめ定められている。ここでは、サムネイル画像の幅とx方向のサムネイル間の間隔との合計値を、x方向のマージン値margin_x、サムネイル画像の高さとy方向のサムネイル間の間隔との合計値を、y方向のマージン値margin_yとして設定している。
次に、これから生成するサムネイル画像のインデクスiを初期化して0とし、ページインデクスpageに、S1で取得した文書IDを代入する(S205)。次にページ位置インデクスxを0に、ページ位置インデクスyをmargin_yに初期化する(S206)。尚、ページ位置インデクスx及びyは、サムネイル画像の右下端点の座標を示す。尚、表示領域の左上端点を原点とする。
そして、選択表示倍率及びページインデクスpageに対応する画像情報を表示画像格納部131から読み込む(S207)。次に、ページ位置インデクスxに、x方向のマージン値margin_xを加算する(S208)。そして、その画像情報についてサムネイル配置位置決定処理を行う(S209)。
サムネイル配置位置決定処理について図26を参照して説明する。図26に示すように、サムネイル配置位置決定処理が開始されると、まず、インデクスyの値が、格納バッファの高さ未満であるか否かを判断する(S232)。格納バッファ(図示せず)の高さに達してしまった場合には(S232:NO)、格納位置あふれエラーのエラー処理を実行し(S233)、サムネイル生成処理へ戻る。
ページ位置インデクスyの値が、格納バッファの高さ未満であれば(S232:YES)、ページ位置インデクスxの値が、格納バッファの幅未満であるか否かを判断する(S235)。ページ位置インデクスxの値が、格納バッファの幅未満である場合には(S235:YES)、サムネイルページ生成処理に戻る。
ページ位置インデクスxの値が、格納バッファの幅に達していれば(S235:NO)、次の段にサムネイルを配置するために、インデクスyにマージン値margin_yを加算する(S237)。すなわち、y=y+margin_yとする。次に、インデクスxをmargin_xに初期化し(S238)、サムネイルページ生成処理に戻る。
このようにサムネイルの配置位置が決定したら、次に、サムネイルの格納位置あふれエラーが発生していないかを判断する(S210)。エラーが発生している場合には(S210:YES)、そのまま表示倍率変更処理(13)に戻る。エラーが発生していない場合には(S210:NO)、S209で決定された表示領域の指定位置に、S207で取得した画像情報をサムネイル画像として配置する(S211)。
次に、サムネイル画像のインデクスiと、ページインデクスpageに1を加算する(S212)。次に、ページインデクスpageの値が表示画像格納部131に格納された全文書数に達していないかどうかを判断する(S213)。全文書数に達していなければ(S213:YES)、次に、サムネイル画像のインデクスiの値が、S203で取得したサムネイル数に達していないかを判断する(S214)。iの値がサムネイル数に達していなければ(S214:YES)、S207に戻る。
ページインデクスpageの値が全文書数に達した場合(S213:NO)、又は、iの値がサムネイル数に達した場合は(S214:NO)、図24の表示倍率変更処理(13)に戻る。
このように、本実施形態によれば、縮小倍率が選択された場合には、一画面に使用者が所望する表示倍率のサムネイル画像を複数個表示することができ、全体の構成を把握しやすくできる。
なお、本発明は、上述した実施の形態に限定されず、特許請求の範囲に記載した範囲で種々の変形や改良が可能である。