(57)【特許請求の範囲】
【請求項１】
メモリ空間に展開されたイメージデータを画面上に表示する際、前記メモリ空間に対して前記画面の表示走査領域を対応させる画像処理装置であって、
前記画面上に表示された前記イメージデータを縮小表示させるにあたり、前記メモリ空間にて前記イメージデータの展開領域を縮小しつつも、前記表示走査領域の所定点を不変として、その表示走査領域を前記イメージデータの展開領域に対して相対的に変位させる表示走査領域変位手段と、
前記表示走査領域変位手段により変位された前記表示走査領域が前記イメージデータの展開領域から逸脱するか否かを判断する判断手段と、
前記判断手段によって、前記表示走査領域変位手段により変位された後の表示走査領域が前記メモリ空間における前記イメージデータの展開領域から逸脱すると判断された場合、その表示走査領域を前記イメージデータの展開領域内に変位させて前記メモリ空間に対応させる表示走査領域制御手段とを有することを特徴とする画像処理装置。
【請求項２】
前記表示走査領域変位手段は、前記表示走査領域の上辺中央を不変として当該表示走査領域を前記イメージデータの展開領域に対して相対的に変位させることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記表示走査領域制御手段は、前記画面上に表示された前記イメージデータをスクロール表示させる際、前記イメージデータの展開領域から逸脱しない範囲内にて、現在表示されている画像の縮小率に応じたスクロール量によって前記表示走査領域を移動させることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記イメージデータとしてファクシミリデータを前記メモリ空間に展開する際には、主走査方向と副走査方向の解像度がほぼ一致するように展開する、請求項１ないし３のいずれかに記載の画像処理装置。
【請求項５】
前記副走査方向の解像度を３．８５本／ｍｍの解像度として変換し、前記主走査方向の解像度を前記副走査方向の解像度にほぼ一致するように展開する、請求項４に記載の画像処理装置。
【請求項６】
主走査方向のデータを間引くことによって副走査方向の解像度に合わせる、請求項４又は５に記載の画像処理装置。
【請求項７】
コンピュータを、メモリ空間に展開されたイメージデータを画面上に表示する際、前記メモリ空間に対して前記画面の表示走査領域を対応させる画像処理装置として機能させるためのコンピュータプログラムであって、
前記コンピュータを、前記画面上に表示された前記イメージデータを縮小表示させるにあたり、前記メモリ空間にて前記イメージデータの展開領域を縮小しつつも、前記表示走査領域の所定点を不変として、その表示走査領域を前記イメージデータの展開領域に対して相対的に変位させるための表示走査領域変位手段と、
前記表示走査領域が前記イメージデータの展開領域から逸脱するか否かを判断する判断手段と、
前記判断手段によって、前記表示走査領域変位手段により変位された後の表示走査領域が前記メモリ空間における前記イメージデータの展開領域から逸脱すると判断された場合、その表示走査領域を前記イメージデータの展開領域内に変位させて前記メモリ空間に対応させるための表示走査領域制御手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、たとえばファクシミリ装置などにおいて、ビデオメモリに展開されたイメージデータを画面上に表示するための画像処理装置に関する。
【０００２】
【従来の技術】
最近のファクシミリ装置には、受信したファクシミリデータを用紙上に打ち出さなくても、イメージデータとしてビデオメモリに格納しておき、その後それを表示して確認できるといった比較的大きなサイズの表示画面を備えたものがある。この種の表示画面を備えたファクシミリ装置では、イメージデータを画面上で回転させたり、拡大／縮小表示させたりすることが可能とされ、ユーザにとっては便利な機能が提供されている。
【０００３】
【発明が解決しようとする課題】
しかしながら、画面上でイメージデータを回転させたり、拡大／縮小表示させたりすると、その前の表示状態から一転してイメージデータの存在しない不要部分が画面上に表示されることがあり、それに伴って本来見えるべきイメージデータの一部が画面上から消えて見えなくなることもあることから、この点に関して使い勝手が良くないこともあった。
【０００４】
本発明は、上記の点に鑑みて提案されたものであって、画面上でイメージデータを回転させたり、拡大／縮小表示させたりする際には、その時点で注目していた表示部分を中心としつつも、できる限りイメージデータの存在しない不要部分を排除してイメージデータを回転表示や拡大／縮小表示することができる画像処理装置、およびそのような画像処理装置の動作を実現するためのコンピュータプログラムを提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、請求項１に記載した発明の画像処理装置は、メモリ空間に展開されたイメージデータを画面上に表示する際、前記メモリ空間に対して前記画面の表示走査領域を対応させる画像処理装置であって、前記画面上に表示された前記イメージデータを縮小表示させるにあたり、前記メモリ空間にて前記イメージデータの展開領域を縮小しつつも、前記表示走査領域の所定点を不変として、その表示走査領域を前記イメージデータの展開領域に対して相対的に変位させる表示走査領域変位手段と、前記表示走査領域変位手段により変位された前記表示走査領域が前記イメージデータの展開領域から逸脱するか否かを判断する判断手段と、前記判断手段によって、前記表示走査領域変位手段により変位された後の表示走査領域が前記メモリ空間における前記イメージデータの展開領域から逸脱すると判断された場合、その表示走査領域を前記イメージデータの展開領域内に変位させて前記メモリ空間に対応させる表示走査領域制御手段とを有することを特徴とするを有することを特徴とする。
【０００６】
【０００７】
【０００８】
このような画像処理装置によれば、画面上でイメージデータを縮小表示する際には、その時点で画面上に捉えていた所定点を不変としてイメージデータを縮小しつつも、そのイメージデータが存在するメモリ空間内の展開領域内に収まるように画面の表示走査領域が割り当てられるので、実際の画面上においては、不要部分ができる限り排除された状態で縮小したイメージデータを表示することができる。
【０００９】
【００１０】
【００１１】
また、請求項２に記載した発明の画像処理装置は、請求項１に記載の画像処理装置において、前記表示走査領域変位手段は、前記表示走査領域の上辺中央を不変として当該表示走査領域を前記イメージデータの展開領域に対して相対的に変位させることを特徴とする。
【００１２】
このような画像処理装置によれば、画面上に表示中のイメージデータをその上辺中央付近を中心として縮小した状態とすることができる。
【００１３】
さらに、請求項３に記載した発明の画像処理装置は、請求項１に記載の画像処理装置であって、前記表示走査領域制御手段は、前記画面上に表示された前記イメージデータをスクロール表示させる際、前記イメージデータの展開領域から逸脱しない範囲内にて、現在表示されている画像の縮小率に応じたスクロール量によって前記表示走査領域を移動させる。
【００１４】
このような画像処理装置によれば、請求項１に記載の画像処理装置による効果に加えて、画面上でイメージデータをスクロール表示する際には、その時点で表示中の縮小率に応じたスクロール量によってイメージデータを移動させることができるとともに、それに伴ってイメージデータの存在しない不要部分まで表示される状態を回避することができる。
【００１５】
また、請求項４に記載した発明の画像処理装置は、請求項１ないし３のいずれかに記載の画像処理装置であって、前記イメージデータとしてファクシミリデータを前記メモリ空間に展開する際には、主走査方向と副走査方向の解像度がほぼ一致するように展開する。
【００１６】
このような画像処理装置によれば、請求項１ないし３のいずれかに記載の画像処理装置による効果に加えて、データの解像度によらず、縦横比がほぼ一致するように表示することができる。
【００１７】
さらに、請求項５に記載した発明の画像処理装置は、請求項４に記載の画像処理装置であって、副走査方向の解像度を３．８５本／ｍｍの解像度として変換し、主走査方向の解像度を副走査方向の解像度にほぼ一致するように展開する。
【００１８】
このような画像処理装置によれば、請求項４に記載の画像処理装置による効果に加えて、表示部が比較的小さい場合であっても図形の範囲を幅広く表示できる。
【００１９】
また、請求項６に記載した発明の画像処理装置は、請求項５に記載の画像処理装置であって、主走査方向のデータを間引くことによって副走査方向の解像度に合わせる。
【００２０】
このような画像処理装置によれば、請求項５に記載の画像処理装置による効果に加えて、間引くという簡単な処理で、解像度を合わせることができる。
【００２１】
さらに、請求項７に記載した発明のコンピュータプログラムは、コンピュータを、メモリ空間に展開されたイメージデータを画面上に表示する際、前記メモリ空間に対して前記画面の表示走査領域を対応させる画像処理装置として機能させるためのコンピュータプログラムであって、前記コンピュータを、前記画面上に表示された前記イメージデータを縮小表示させるにあたり、前記メモリ空間にて前記イメージデータの展開領域を縮小しつつも、前記表示走査領域の所定点を不変として、その表示走査領域を前記イメージデータに対して相対的に変位させるための表示走査領域変位手段と、前記表示操作領域変位手段により前記表示走査領域が前記イメージデータの展開領域から逸脱するか否かを判断する判断手段と、前記判断手段によって、前記表示走査領域変位手段により変位された後の表示走査領域が前記メモリ空間における前記イメージデータの展開領域から逸脱すると判断された場合、その表示走査領域を前記イメージデータの展開領域内に変位させて前記メモリ空間に対応させるための表示走査領域制御手段として機能させるためのコンピュータプログラムである。
【００２２】
このようなコンピュータプログラムによれば、その内容に基づいてＣＰＵを動作させることにより、請求項１に記載の画像処理装置の動作を実現することができる。
【００２３】
【００２４】
【００２５】
【００２６】
【００２７】
【００２８】
【００２９】
【発明の実施の形態】
以下、本発明の好ましい実施の形態について図面を参照して説明する。
【００３０】
図１は、本発明に係る画像処理装置の一実施形態として、ファクシミリ装置を示すブロック図、図２は、ファクシミリ装置の外観を示す外観図である。特に、図２に良く示すように、本実施形態に係るファクシミリ装置は、受信したファクシミリデータなどをイメージデータとして表示できる比較的大きな液晶ディスプレイなどの表示部２４を備えたものである。
【００３１】
図１を主に参照して説明すると、ファクシミリ装置は、ＣＰＵ１０、ＮＣＵ１１、ＲＡＭ１２、モデム１３、ＲＯＭ１４、ＮＶＲＡＭ（不揮発性ＲＡＭ：Non-Volatile RAM）１５、ゲートアレイ１６、コーデック１７、ＤＭＡＣ１８、読取部２１、印刷部２２、操作部２３、および表示部２４などを具備して概略構成されている。ＣＰＵ１０、ＮＣＵ１１、ＲＡＭ１２、モデム１３、ＲＯＭ１４、ＮＶＲＡＭ１５、ゲートアレイ１６、コーデック１７、およびＤＭＡＣ１８は、バス線２７により相互に接続されている。バス線２７には、アドレスバス、データバス、および制御信号線が含まれる。ゲートアレイ１６には、読取部２１、印刷部２２、操作部２３、および表示部２４が接続されている。ＮＣＵ１１には、公衆電話回線２８が接続されている。
【００３２】
ＣＰＵ１０は、ファクシミリ装置全体の動作を制御する。ＮＣＵ１１は、公衆電話回線２８に接続されて網制御を行う。ＲＡＭ１２は、ＣＰＵ１０の作業領域や各種データのバッファ領域などを提供する。図３は、ＲＡＭ１２のアドレス空間を説明するための説明図であるが、この図３に示すように、ＲＡＭ１２のアドレス空間は、受信したファクシミリデータをそのままイメージデータとして格納しておくためのＦＡＸ受信バッファ（図３に受信バッファは図示せず）、受信したファクシミリデータを主走査方向について１／２に間引いたデータを格納しておくための表示用ＦＡＸイメージバッファ、画面上に表示すべきテキストデータを展開するためのテキストＶＲＡＭ（Video RAM ）、ＦＡＸイメージバッファに格納されたイメージデータを画面表示用に展開するためのＦＡＸプレビューＶＲＡＭ、画面全体のグラフィック表示とは独立した図形パターンを格納しておくためのスプライト・バッファに区分けされている。特に、このうちのＦＡＸプレビューＶＲＡＭがビデオメモリとして利用される。なお、以下の説明においてＶＲＡＭと言う場合には、ＦＡＸプレビューＶＲＡＭを指すものとする。モデム１３は、音声信号の変調や復調などを行う。ＲＯＭ１４は、ＣＰＵ１０が実行すべきプログラムなどを記憶している。ＮＶＲＡＭ１５は、各種の情報やデータを記憶する。ゲートアレイ１６は、ＣＰＵ１０と各部２１〜２４とのインターフェイスとして機能する。コーデック１７は、音声信号やデータなどの符号化や復号化を行う。ＤＭＡＣ１８は、ＣＰＵ１０を介することなくＲＡＭ１２などとの間で直接データのやり取りを行う。
【００３３】
読取部２１は、イメージセンサやＬＥＤ光源などを備え、原稿などから文字や図形などの画像を読み取る。印刷部２２は、たとえばインクジェット方式などにより文字や図形などの画像を用紙上に印刷する。操作部２３は、図２に良く示すように、テンキーや各種の操作ボタンなどを備え、ユーザの操作に応じた入力信号をＣＰＵ１０に伝える。表示部２４は、先述したように一例として３２０×２４０ドットとした液晶ディスプレイを備え、イメージデータを表示するほか、テキストデータなども表示する。ここで、ＦＡＸイメージバッファについて補足する。たとえばＢ４サイズの原稿の場合、受信データサイズは２０４８×１３６３（標準解像度時）であるため、読み取りまたは受信したファクシミリデータのイメージを表示部（横３２０×縦２４０）にそのまま表示すると、ごく一部しか表示できない。また、表示部２４に液晶ディスプレイを使用したときには、画素サイズは固定となるが、ファクシミリのように標準解像度、ファイン、スーパーファイン（独自モード）などの解像度で、主走査方向は常に一定で８本／ｍｍ、副走査方向（縦方向）のみ解像度がそれぞれ３．８５本／ｍｍ、７．７本／ｍｍ、１５．４本／ｍｍと変わる場合には、そのまま受信データを表示するようにすると、画像が縮んだり、伸びたりすることになる。そこで、横のサイズについては１／２に間引き、縦方向については横の解像度と表示部２４の画素の縦横比に合わせて、たとえば横を１／２、表示部２４の画素の縦横比が１：１の場合は、縦方向はデータがどの解像度でも全て標準解像度の解像度に変換したデータを格納するためにＦＡＸイメージバッファを設けている。
【００３４】
要点について説明すると、本ファクシミリ装置では、表示部２４の画面上に表示されたイメージデータを回転させたり、拡大／縮小させたりすることができ、さらには、スクロール表示することもできる。
【００３５】
図４は、イメージデータの回転や拡大／縮小に伴うデータ処理を説明するための説明図、図５ないし図７は、一例としてイメージデータを回転させる場合を説明するための説明図、図８ないし図１０は、一例としてイメージデータを縮小させる場合を説明するための説明図である。まず、図４を参照して概要を説明すると、Ｂ４サイズの原稿の場合は既に説明した通り、受信データサイズは２０４８×１３６３になる。そうすると、ファクシミリイメージデータのサイズは１０２４×１３６３となるが、原稿の長いものにも対応できるようにするためと計算し易いように、副走査方向のサイズを５１２の３倍の１５３６としている。以降の説明では、１／１サイズのイメージサイズを１０２４×１５３６として説明する。イメージデータを表示する際、ＣＰＵ１０は、そのイメージデータをＦＡＸイメージバッファからＶＲＡＭに転送する。このとき、たとえば１／１（１０２４×１５３６）、１／２（５１２×７６８）、１／４（２５６×３８４）などの縮小率に関わらず、イメージデータは、常にＶＲＡＭの左上を原点として展開される。なお、詳細については後の説明に委ねるが、イメージデータを回転させる場合には、ＶＲＡＭのアドレス空間においてイメージデータはそのままの状態とされる。また、縮小率を変更して現時点で表示中のイメージデータを拡大／縮小表示させる場合には、一旦ＶＲＡＭをクリアした後、変更後の縮小率に応じたイメージデータが展開される。
【００３６】
イメージデータをＶＲＡＭに展開すると、ＣＰＵ１０は、そのＶＲＡＭのアドレス空間に対して画面の表示走査領域（図示省略）を対応させる。この表示走査領域とは、イメージデータの展開領域から画面上に表示する部分を写し取るための仮想的なフレームであって、画面全体サイズと同じ３２０×２４０の固定サイズに設定されている。スクロール表示する際、画面上においては、あたかもイメージデータが動いているかのように見えるが、実際には、ＣＰＵ１０の制御によって表示走査領域がＶＲＡＭのアドレス空間上を縮小率に応じたスクロール量をもって移動するものとされる。この表示走査領域によって写し取られたＶＲＡＭの一部領域に含まれるイメージデータは、画面全体にわたって表示されるが、その際、常に表示走査領域の左上から走査し始めてイメージデータが画面上へと転送されることとなる。
【００３７】
一方、イメージデータを回転表示させる場合、ＣＰＵ１０は、ＶＲＡＭのアドレス空間に展開されたイメージデータをそのままの状態とする一方で、その時点でアドレス空間内のある部分を捉えた状態にある表示走査領域を、そのちょうど中央を中心として回転させる。すると、画面上においては、あたかもイメージデータがたとえば時計の逆方向に回転したかのように見えるが、実際には、ＣＰＵ１０の制御によって表示走査領域がＶＲＡＭのアドレス空間上において時計方向に回転した状態とされるのである。
【００３８】
以上のようにしてイメージデータを画面上で回転表示したり、拡大／縮小表示したり、さらには、スクロール表示できるのであるが、表示走査領域の位置によっては、この表示走査領域がアドレス空間外にはみ出た状態となったり、アドレス空間内に収まる状態でもイメージデータの存在しない領域を捉えた状態となってしまうことがある。そうした場合、画面上においては、イメージデータの存在しない不要部分が画面上に表示されるとともに、本来見えるべきイメージデータの一部が画面上から消えて見えなくなるといった問題が生じる。このような点を解消すべく、本実施形態では、以下に説明するように、表示走査領域の位置をその都度適当に制御するものとしている。
【００３９】
まず、イメージデータを回転表示させる場合について図５ないし図７を参照して説明すると、図５に一例として示すように、１／２サイズのイメージデータを回転させる前、ＣＰＵ１０は、そのイメージデータをＶＲＡＭに展開した状態で、太い枠線で示す表示走査領域の走査開始点（図中、「×」座標（Ｘ０，Ｙ０）で示す）をイメージデータの左上に一致させた状態としている。この状態では、画面上において１／２サイズのイメージデータの左上部分が表示され、イメージデータの存在しない不要部分が画面上に表示されることはない。
【００４０】
そして、画面上においてイメージデータが時計とは逆方向に９０度回転するように指示されると、ＣＰＵ１０は、図６に示すように、イメージデータをそのままとした状態とする一方で、表示走査領域をその中央（図中、「○」で示す）を中心として時計方向に９０度回転させる。すると、画面上においては、相対的にイメージデータが時計とは逆方向に９０度回転したように見えるが、表示走査領域の走査開始点はイメージデータの展開領域外に位置するため（図中「×」の座標は（Ｘ１，Ｙ１）に移動するため）、この状態では、イメージデータの存在しない不要部分が画面上に表示されてしまう。
【００４１】
そのため、ＣＰＵ１０は、図７に示すように、表示走査領域をイメージデータの展開領域内に変位させ（図中「×」の座標を（Ｘ１，Ｙ２）に変位させて）、その後、表示走査領域の走査開始点から走査し始めてイメージデータを画面上へと転送している。これにより、画面上においては、イメージデータが時計とは逆方向に９０度回転したように見えつつも、イメージデータの存在しない不要部分が画面上に表示されることはない。
【００４２】
次に、イメージデータを１／１サイズから１／２サイズに縮小表示させる場合について図８ないし図１０を参照して説明すると、図８に一例として示すように、イメージデータを縮小する前、ＣＰＵ１０は、１／１サイズのイメージデータをＶＲＡＭに展開した状態で、太い枠線で示す表示走査領域の走査開始点（図中、「×」座標（Ｘ０，Ｙ０）で示す）をイメージデータの左上に一致させた状態としている。この状態では、画面上において１／１サイズのイメージデータの左上部分が表示され、イメージデータの存在しない不要部分が画面上に表示されることはない。
【００４３】
そして、画面上においてイメージデータを１／２サイズに縮小表示するように指示されると、ＣＰＵ１０は、図９に示すように、１／１サイズのイメージデータをＶＲＡＭからクリアした後、そのＶＲＡＭに対して１／２サイズに縮小したイメージデータを展開する。このとき、表示走査領域は、その上辺中央（図中、「●」で示す）で捉えていたイメージデータ上の点を縮小後も同じ上辺中央で捉える状態とされ、つまり、表示走査領域全体としては、１／２サイズのイメージデータの展開領域から若干左寄りにはみ出た状態（図中「×」の座標が（Ｘ３，Ｙ３）となる状態）とされる。すると、画面上においては、イメージデータが１／２サイズに縮小されたように見えるが、この状態では、イメージデータの存在しない不要部分が画面上に表示されてしまう。
【００４４】
そのため、ＣＰＵ１０は、図１０に示すように、表示走査領域をイメージデータの展開領域内に変位させ（図中「×」の座標を（Ｘ４，Ｙ４）に変位させて）、その後、表示走査領域の走査開始点から走査し始めてイメージデータを画面上へと転送している。これにより、画面上においては、イメージデータが１／２サイズに縮小したように見えつつも、イメージデータの存在しない不要部分が画面上に表示されることはない。なお、イメージデータを拡大表示する場合についても同様の手順で表示走査領域が制御される。
【００４５】
つまり、イメージデータを回転表示させたり、拡大／縮小表示させたりする場合、ＣＰＵ１０は、表示走査領域の走査開始点がイメージデータの展開領域に対して位置する相対的なアドレス座標を算出する一方、この走査開始点のアドレス座標が所定の限界条件を満たさないときには、走査開始点のアドレス座標を所定の限界値に変換することで表示走査領域全体をイメージデータの展開領域内に収めた状態とするのである。
【００４６】
図１１は、表示走査領域に関する限界条件を説明するための説明図である。この図に示すように、各行は、イメージデータの各サイズを表し、各列は、イメージデータの回転角度を表す。そして、各行各列が交差する欄には、表示走査領域の走査開始点がイメージデータの展開領域に対して相対的に配置可能とされる範囲がアドレス座標の上限値および下限値をもって示されている。このような限界条件は、テーブル情報としてＲＯＭ１４などに記憶されており、その都度ＣＰＵ１０によって参照されるものとされる。つまり、図１１に示す限界条件から言えることは、イメージデータを画面上に表示する際、表示走査領域がイメージデータの展開領域から逸脱しない範囲内に必ず配置されるように、その表示走査領域の走査開始点が所定範囲内に位置すべきものとされる。このような限界条件は、イメージデータを回転表示させたり、拡大／縮小表示させたりする場合に限らず、スクロール表示する際にも適用され、ユーザが許容範囲を越えてスクロール操作を行っても、ＣＰＵ１０が限界条件に基づいて表示走査領域を制御することにより、画面上においてイメージデータの存在しない不要部分までスクロール表示されることはない。なお、１／４サイズのイメージデータを０度あるいは１８０度回転させた状態で画面上に表示する場合には、イメージデータの展開領域の横幅（２５６）に比べて表示走査領域の横幅（３２０）が大きくなることから、必然的に画面上においてイメージデータの存在しない不要部分が表示される。
【００４７】
すなわち、ＣＰＵ１０は、画面上に表示されたイメージデータを縮小表示させるにあたり、メモリ空間にてイメージデータの展開領域を縮小しつつも、表示走査領域の所定点を不変として、その表示走査領域をイメージデータの展開領域に対して相対的に変位させる表示走査領域変位手段と、表示走査領域が前記イメージデータの展開領域から逸脱するか否かを判断する判断手段と、判断手段によって、表示走査領域変位手段により変位された後の表示走査領域がメモリ空間におけるイメージデータの展開領域から逸脱する場合、その表示走査領域をイメージデータの展開領域内に変位させてメモリ空間に対応させる表示走査領域制御手段とを実現している。
【００４８】
ＲＯＭ１４に記憶されたプログラムは、コンピュータを、画面上に表示されたイメージデータを縮小表示させるにあたり、メモリ空間にてイメージデータの展開領域を縮小しつつも、表示走査領域の所定点を不変として、その表示走査領域をイメージデータの展開領域に対して相対的に変位させるための表示走査領域変位手段と、表示走査領域が前記イメージデータの展開領域から逸脱するか否かを判断する判断手段と、判断手段によって、表示走査領域変位手段により変位された後の表示走査領域がメモリ空間におけるイメージデータの展開領域から逸脱する場合、その表示走査領域をイメージデータの展開領域内に変位させてメモリ空間に対応させるための表示走査領域制御手段として機能させるためのコンピュータプログラムを実現している。
【００４９】
次に、イメージデータを回転表示させたり、拡大／縮小表示させたりする場合にＣＰＵ１０が行う処理について説明する。
【００５０】
図１２は、回転表示処理の動作手順を示すフローチャート、図１３は、拡大／縮小表示処理の動作手順を示すフローチャートである。まず、図１２を主に参照してイメージデータを回転表示させる場合について説明する。なお、説明を分かり易くするために図５ないし図７に示す一例に従うものとして、０度の状態で画面上に表示中にある１／２サイズのイメージデータを時計とは逆方向に９０度回転させるものとする。
【００５１】
まず、イメージデータの回転が指示されると、ＣＰＵ１０は、図５から図６にかけて示すように、イメージデータが画面上で見かけ上回転する方向とは逆方向（時計方向）に表示走査領域を回転させる（Ｓ１）。このとき、イメージデータは、ＶＲＡＭのアドレス空間に再配置されることなくそのままの状態とされる。また、表示走査領域は、先述したように、その中央を中心として相対的に回転させられる。
【００５２】
そして、ＣＰＵ１０は、表示走査領域の左上となる走査開始点のアドレス座標（Ｘ１，Ｙ１）を算出する（Ｓ２）。このとき、アドレス座標の原点は、表示走査領域の回転に伴って図６に示すイメージデータの右上に位置し、ＸＹ軸も図６に示す位置とされる。
【００５３】
続いて、ＣＰＵ１０は、算出したＸ方向のアドレス座標Ｘ１が図１１に示す限界条件に基づいて下限値よりも小さいか否かを判断する（Ｓ３）。この処理による一例では、Ｘ方向の下限値として「０」が与えられる。
【００５４】
アドレス座標Ｘ１が下限値よりも小さくない場合（Ｓ３：ＮＯ）、ＣＰＵ１０は、そのアドレス座標Ｘ１が同じく限界条件に基づいて上限値よりも大きいか否かを判断する（Ｓ４）。この処理による一例では、Ｘ方向の上限値として「４４８」が与えられる。
【００５５】
アドレス座標Ｘ１が上限値よりも大きくない場合（Ｓ４：ＮＯ）、ＣＰＵ１０は、最終的に走査開始点のＸ方向のアドレス座標を「Ｘ１」として確定し、これを保持する（Ｓ５）。
【００５６】
同様にして、ＣＰＵ１０は、Ｓ２において算出したＹ方向のアドレス座標Ｙ１が図１１に示す限界条件に基づいて下限値よりも小さいか否かを判断する（Ｓ６）。この処理による一例では、Ｙ方向の下限値として「０」が与えられる。
【００５７】
アドレス座標Ｙ１が下限値よりも小さくない場合（Ｓ６：ＮＯ）、ＣＰＵ１０は、そのアドレス座標Ｙ１が同じく限界条件に基づいて上限値よりも大きいか否かを判断する（Ｓ７）。この処理による一例では、Ｙ方向の上限値として「２７２」が与えられる。
【００５８】
アドレス座標Ｙ１が上限値よりも大きくない場合（Ｓ７：ＮＯ）、ＣＰＵ１０は、最終的に走査開始点のＹ方向のアドレス座標を「Ｙ１」として確定し、これを保持する（Ｓ８）。
【００５９】
こうして走査開始点のアドレス座標が確定すると、ＣＰＵ１０は、そのアドレス座標に基づく走査開始点から順次イメージデータを取り込むとともに、一定の走査手順にしたがってそのイメージデータを画面上へと転送することで表示させ、この回転表示処理を終える（Ｓ９）。これにより、画面上においては、あたかもイメージデータが回転したように見える一方で、イメージデータの存在しない不要部分が画面上に表示されることはない。
【００６０】
Ｓ７において、アドレス座標Ｙ１が上限値よりも大きい場合（Ｓ７：ＹＥＳ）、ＣＰＵ１０は、走査開始点のＹ方向のアドレス座標を上限値として確定した後（Ｓ１０）、Ｓ９に進む。つまり、このような場合では、表示走査領域がイメージデータの展開領域内に収まるように変位され、画面上においては、あたかもイメージデータが回転したように見える一方で、イメージデータの存在しない不要部分が画面上に表示されることはない。
【００６１】
Ｓ６において、アドレス座標Ｙ１が下限値よりも小さい場合（Ｓ６：ＹＥＳ）、ＣＰＵ１０は、走査開始点のＹ方向のアドレス座標を下限値として確定した後（Ｓ１１）、Ｓ９に進む。つまり、このような場合においても、表示走査領域がイメージデータの展開領域内に収まるように変位され、画面上においては、あたかもイメージデータが回転したように見える一方で、イメージデータの存在しない不要部分が画面上に表示されることはない。
【００６２】
Ｓ４において、アドレス座標Ｘ１が上限値よりも大きい場合（Ｓ４：ＹＥＳ）、ＣＰＵ１０は、走査開始点のＸ方向のアドレス座標を上限値として確定した後（Ｓ１２）、Ｓ６に進む。つまり、このような場合においても、表示走査領域がイメージデータの展開領域内に収まるように変位され、画面上においては、あたかもイメージデータが回転したように見える一方で、イメージデータの存在しない不要部分が画面上に表示されることはない。
【００６３】
Ｓ３において、アドレス座標Ｘ１が下限値よりも小さい場合（Ｓ３：ＹＥＳ）、ＣＰＵ１０は、走査開始点のＸ方向のアドレス座標を下限値として確定した後（Ｓ１３）、Ｓ６に進む。つまり、このような場合においても、表示走査領域がイメージデータの展開領域内に収まるように変位され、画面上においては、あたかもイメージデータが回転したように見える一方で、イメージデータの存在しない不要部分が画面上に表示されることはない。
【００６４】
なお、図５ないし図７に示す一連の処理は、図１２に示すＳ１〜Ｓ３の次にＳ１３を経て、Ｓ６〜Ｓ９をＣＰＵ１０が実行した場合に相当する。
【００６５】
次に、図１３を主に参照してイメージデータを拡大／縮小表示させる場合について説明する。なお、説明を分かり易くするために図８ないし図１０に示す一例に従うものとして、０度の状態で画面上に表示中にある１／１サイズのイメージデータを１／２サイズに縮小させるものとする。
【００６６】
まず、イメージデータの縮小が指示されると、ＣＰＵ１０は、図８から図９にかけて示すように、縮小サイズに応じたイメージデータをＶＲＡＭ上に展開する（Ｓ２０）。このとき、縮小前の元のイメージデータがＶＲＡＭから一旦クリアされた後、縮小したイメージデータが展開される。
【００６７】
また、ＣＰＵ１０は、先述したように、表示走査領域の上辺中央で捉えていたイメージデータの点が同じ上辺中央にて捉えられるように、その表示走査領域の全体位置を変更させる（Ｓ２１）。
【００６８】
そして、ＣＰＵ１０は、表示走査領域の左上となる走査開始点のアドレス座標（Ｘ３，Ｙ３）を算出する（Ｓ２２）。このとき、アドレス座標の原点は、変更されることなく元の位置とされる。
【００６９】
続いて、ＣＰＵ１０は、算出したＸ方向のアドレス座標Ｘ３が図１１に示す限界条件に基づいて下限値よりも小さいか否かを判断する（Ｓ２３）。この処理による一例では、Ｘ方向の下限値として「０」が与えられる。
【００７０】
アドレス座標Ｘ３が下限値よりも小さくない場合（Ｓ２３：ＮＯ）、ＣＰＵ１０は、そのアドレス座標Ｘ３が同じく限界条件に基づいて上限値よりも大きいか否かを判断する（Ｓ２４）。この処理による一例では、Ｘ方向の上限値として「１９２」が与えられる。
【００７１】
アドレス座標Ｘ３が上限値よりも大きくない場合（Ｓ２４：ＮＯ）、ＣＰＵ１０は、最終的に走査開始点のＸ方向のアドレス座標を「Ｘ３」として確定し、これを保持する（Ｓ２５）。
【００７２】
同様にして、ＣＰＵ１０は、Ｓ２２において算出したＹ方向のアドレス座標Ｙ３が図１１に示す限界条件に基づいて下限値よりも小さいか否かを判断する（Ｓ２６）。この処理による一例では、Ｙ方向の下限値として「０」が与えられる。
【００７３】
アドレス座標Ｙ３が下限値よりも小さくない場合（Ｓ２６：ＮＯ）、ＣＰＵ１０は、そのアドレス座標Ｙ３が同じく限界条件に基づいて上限値よりも大きいか否かを判断する（Ｓ２７）。この処理による一例では、Ｙ方向の上限値として「５２８」が与えられる。
【００７４】
アドレス座標Ｙ３が上限値よりも大きくない場合（Ｓ２７：ＮＯ）、ＣＰＵ１０は、最終的に走査開始点のＹ方向のアドレス座標を「Ｙ３」として確定し、これを保持する（Ｓ２８）。
【００７５】
こうして走査開始点のアドレス座標が確定すると、ＣＰＵ１０は、そのアドレス座標に基づく走査開始点から順次イメージデータを取り込むとともに、一定の走査手順にしたがってそのイメージデータを画面上へと転送することで表示させ、この拡大／縮小表示処理を終える（Ｓ２９）。これにより、画面上においては、イメージデータが縮小したように見える一方で、イメージデータの存在しない不要部分が画面上に表示されることはない。
【００７６】
Ｓ２７において、アドレス座標Ｙ３が上限値よりも大きい場合（Ｓ２７：ＹＥＳ）、ＣＰＵ１０は、走査開始点のＹ方向のアドレス座標を上限値として確定した後（Ｓ３０）、Ｓ２９に進む。つまり、このような場合には、表示走査領域がイメージデータの展開領域内に収まるように変位され、画面上においては、イメージデータが縮小したように見える一方で、イメージデータの存在しない不要部分が画面上に表示されることはない。
【００７７】
Ｓ２６において、アドレス座標Ｙ３が下限値よりも小さい場合（Ｓ２６：ＹＥＳ）、ＣＰＵ１０は、走査開始点のＹ方向のアドレス座標を下限値として確定した後（Ｓ３１）、Ｓ２９に進む。つまり、このような場合においても、表示走査領域がイメージデータの展開領域内に収まるように変位され、画面上においては、イメージデータが縮小したように見える一方で、イメージデータの存在しない不要部分が画面上に表示されることはない。
【００７８】
Ｓ２４において、アドレス座標Ｘ３が上限値よりも大きい場合（Ｓ２４：ＹＥＳ）、ＣＰＵ１０は、走査開始点のＸ方向のアドレス座標を上限値として確定した後（Ｓ３２）、Ｓ２６に進む。つまり、このような場合においても、表示走査領域がイメージデータの展開領域内に収まるように変位され、画面上においては、イメージデータが縮小したように見える一方で、イメージデータの存在しない不要部分が画面上に表示されることはない。
【００７９】
Ｓ２３において、アドレス座標Ｘ３が下限値よりも小さい場合（Ｓ２３：ＹＥＳ）、ＣＰＵ１０は、走査開始点のＸ方向のアドレス座標を下限値として確定した後（Ｓ３３）、Ｓ２６に進む。つまり、このような場合においても、表示走査領域がイメージデータの展開領域内に収まるように変位され、画面上においては、イメージデータが縮小したように見える一方で、イメージデータの存在しない不要部分が画面上に表示されることはない。
【００８０】
なお、図８ないし図１０に示す一連の処理は、図１３に示すＳ２０〜Ｓ２３の次にＳ３３を経て、Ｓ２６〜Ｓ２９をＣＰＵ１０が実行した場合に相当する。
【００８１】
以上のようにして画面上に縮小表示されたイメージデータをスクロール表示させる場合には、ＣＰＵ１０が縮小率に応じたスクロール量をもって表示走査領域を変位させることとなるが、この際においても、走査開始点のアドレス座標が限界条件に基づく下限値から上限値までの範囲内に存在するか否かが判断される。走査開始点が下限値や上限値を越えてしまう場合には、その時点でスクロール表示が限界に達した状態とされ、それ以上にわたって下限値や上限値を越えてしまうようにユーザがスクロール操作を行ってもスクロール表示されることはなく、イメージデータの存在しない不要部分が画面上に表示されることはない。
【００８２】
したがって、上記ファクシミリ装置によれば、画面上でイメージデータを回転表示する際には、画面上の中央付近を中心として見かけ上イメージデータが回転しつつも、そのイメージデータが存在するＶＲＡＭの展開領域内に表示走査領域が完全に収まる状態とされるので、実際の画面上においては、不要部分ができる限り排除された状態で回転したイメージデータを表示することができる。
【００８３】
また、画面上でイメージデータを拡大／縮小表示する際には、画面上の上辺中央付近を中心としてイメージデータが拡大／縮小しつつも、そのイメージデータが存在するＶＲＡＭの展開領域内に表示走査領域が完全に収まる状態とされるので、実際の画面上においては、不要部分ができる限り排除された状態で拡大／縮小したイメージデータを表示することができる。
【００８４】
なお、本発明は、上記の実施形態に限定されるものではない。
【００８５】
たとえば、本実施形態では、表示走査領域がイメージデータの展開領域内に収まるようにしたが、イメージデータ内に空白領域が存在する場合には、さらにその空白領域を除くように表示走査領域を変位させても良い。
【００８６】
表示部２４に通常つねに表示しておきたい情報を表示するための領域、たとえばガイダンス表示とか、ファンクションキーの機能表示用などのイメージ表示領域以外の領域としてあらかじめ確保された領域がある場合には、その領域を考慮して表示走査領域を変化させても良い。
【００８７】
また、一度に表示できる領域をできる限り広くすることを優先するときには、イメージ以外の表示のために確保されている領域でも手動または自動で全て消して、イメージデータを表示できるようにしても良い。
【００８８】
本実施形態では、ファクシミリ受信データについて説明したが、読み取った原稿データであっても良い。
【００８９】
本発明が適用される装置としては、ファクシミリ装置に限らず、イメージデータを画面上で回転表示させたり、拡大／縮小表示させたりするものであれば、たとえば携帯型電話機や据置型の電話機であっても良い。
【００９０】
イメージデータとしては、受信したファクシミリデータに限らず、電子メールデータや送信前に原稿を読み取って作成されたファクシミリデータであっても良い。
【００９１】
イメージデータを回転表示する際の中心点や、拡大／縮小表示する際の不動点は、必ずしも表示走査領域の中央や上辺中央に固定されていなくても良く、たとえばユーザが表示走査領域内の任意の点を指定できるとしても良い。
【００９２】
回転角度や縮小率については、上記実施形態に挙げた値に限らず、たとえばユーザが任意の値を設定できるとしても良い。
【００９３】
【発明の効果】
以上説明したように、請求項１に記載した発明の画像処理装置によれば、画面上でイメージデータを縮小表示する際には、その時点で画面上に捉えていた所定点を不変としてイメージデータを縮小しつつも、そのイメージデータが存在するメモリ空間内の展開領域内に収まるように画面の表示走査領域が割り当てられるので、実際の画面上においては、不要部分ができる限り排除された状態で縮小したイメージデータを表示することができる。
【００９４】
【００９５】
【００９６】
また、請求項２に記載した発明の画像処理装置によれば、画面上に表示中のイメージデータをその上辺中央付近を中心として縮小した状態とすることができる。
【００９７】
さらに、請求項３に記載した発明の画像処理装置によれば、請求項１に記載の画像処理装置による効果に加えて、画面上でイメージデータをスクロール表示する際には、その時点で表示中の縮小率に応じたスクロール量によってイメージデータを移動させることができるとともに、それに伴ってイメージデータの存在しない不要部分まで表示される状態を回避することができる。
【００９８】
また、請求項４に記載した発明の画像処理装置によれば、請求項１ないし３のいずれかに記載の画像処理装置による効果に加えて、データの解像度によらず、縦横比がほぼ一致するように表示することができる。
【００９９】
さらに、請求項５に記載した発明の画像処理装置によれば、請求項４に記載の画像処理装置による効果に加えて、表示部が比較的小さい場合であっても図形の範囲を幅広く表示できる。
【０１００】
また、請求項６に記載した発明の画像処理装置によれば、請求項５に記載の画像処理装置による効果に加えて、間引くという簡単な処理で、解像度を合わせることができる。
【０１０１】
さらに、請求項７に記載した発明のコンピュータプログラムによれば、その内容に基づいてＣＰＵを動作させることにより、請求項１に記載の画像処理装置の動作を実現することができる。
【０１０２】
【０１０３】
【０１０４】
【図面の簡単な説明】
【図１】  本発明に係る画像処理装置の一実施形態として、ファクシミリ装置を示すブロック図である。
【図２】  ファクシミリ装置の外観を示す外観図である。
【図３】  ＲＡＭのアドレス空間を説明するための説明図である。
【図４】  イメージデータの回転や拡大／縮小に伴うデータ処理を説明するための説明図である。
【図５】  一例としてイメージデータを回転させる場合を説明するための説明図である。
【図６】  一例としてイメージデータを回転させる場合を説明するための説明図である。
【図７】  一例としてイメージデータを回転させる場合を説明するための説明図である。
【図８】  一例としてイメージデータを縮小させる場合を説明するための説明図である。
【図９】  一例としてイメージデータを縮小させる場合を説明するための説明図である。
【図１０】  一例としてイメージデータを縮小させる場合を説明するための説明図である。
【図１１】  表示走査領域に関する限界条件を説明するための説明図である。
【図１２】  回転表示処理の動作手順を示すフローチャートである。
【図１３】  拡大／縮小表示処理の動作手順を示すフローチャートである。
【符号の説明】
１０  ＣＰＵ
１１  ＮＣＵ
１２  ＲＡＭ
１３  モデム
１４  ＲＯＭ
１５  ＮＶＲＡＭ
１６  ゲートアレイ
１７  コーデック
１８  ＤＭＡＣ
２１  読取部
２２  印刷部
２３  操作部
２４  表示部
２８  公衆電話回線
【図１】
0003747789.tif 000002
【図２】
0003747789.tif 000003
【図３】
0003747789.tif 000004
【図４】
0003747789.tif 000005
【図５】
0003747789.tif 000006
【図６】
0003747789.tif 000007
【図７】
0003747789.tif 000008
【図８】
0003747789.tif 000009
【図９】
0003747789.tif 000010
【図１０】
0003747789.tif 000011
【図１１】
0003747789.tif 000012
【図１２】
0003747789.tif 000013
【図１３】
0003747789.tif 000014