(57)【要約】【課題】画像処理装置の転送倍率の上限値を上回る拡大処理や下限値を下回る縮小処理をして画像の転送ができるようにする。【解決手段】元もとの転送倍率Xが、画像処理装置２３（画像転送部３３）の転送倍率の下限値Yを下回っている場合、縮小処理部５１−１は、一時領域４１から画像データを取得し、転送倍率Ａで画像データに対して縮小処理を施して、縮小用一時領域４２に一旦格納する。縮小処理部５１−２は、縮小用一時領域４２から画像データを取得し、転送倍率Cで画像データに対して縮小処理を施して、表示用領域４３に一旦格納する。ここで、X=A×Cの関係が成立する。ただし、A≧Y，C≧Yとされる。本発明は、画像処理装置に適用することができる。【選択図】図１
2010160721.tif 000002
【特許請求の範囲】
【請求項１】
画像データを格納する格納手段と、
前記格納手段の第１の領域に格納された前記画像データを、所定の転送倍率で縮小または拡大して、前記格納手段の前記第１の領域とは別の場所へ転送する転送手段と
を備え、
前記転送手段は、
前記所定の転送倍率が、既知の上限閾値以下であるかまたは下限閾値以上である場合、前記画像データに対して１回の拡大または縮小処理を施すことで、前記所定の転送倍率による前記画像データの縮小または拡大を実現し、
前記所定の転送倍率が、前記上限閾値を上回っているかまたは前記下限閾値を下回っている場合、前記上限閾値以下または前記下限閾値以上の分割転送倍率で拡大または縮小処理を前記画像データに施した上で前記格納手段の前記第２の領域に格納させるという分割転送処理を、複数回繰り返すことで、前記所定の転送倍率による前記画像データの縮小または拡大を実現する
画像処理装置。
【請求項２】
前記転送手段は、前記所定の転送倍率並びに前記上限閾値若しくは前記下限閾値に基づいて、前記分割転送処理の繰り返し回数ｎ（ｎは２以上の整数値）と、ｎ回の前記分割転送処理のそれぞれにおける前記分割転送倍率を決定する
請求項１に記載の画像処理装置。
【請求項３】
前記転送手段は、さらに、前記画像処理装置のハードウエアの性質に基づいて、前記分割転送処理の繰り返し回数ｎと、前記ｎ回の分割転送処理のそれぞれにおける前記分割転送倍率を決定する
請求項２に記載の画像処理装置。
【請求項４】
前記転送手段は、さらに、前記画像データに対応する画像の画質に基づいて、前記分割転送処理の繰り返し回数ｎと、前記ｎ回の分割転送処理のそれぞれにおける前記分割転送倍率を決定する
請求項２に記載の画像処理装置。
【請求項５】
前記転送手段は、前記ｎ回の分割転送処理のそれぞれに対して、前記所定の転送倍率を均等に配分するようにして、それぞれの前記分割転送倍率を決定する
請求項２に記載の画像処理装置。
【請求項６】
前記転送手段は、前記ｎ回の分割転送処理のそれぞれにおける前記分割転送倍率を、１／自然数となるようにそれぞれ決定する
請求項２に記載の画像処理装置。
【請求項７】
前記上限閾値は、前記画像処理装置のハードウエアの制限による転送倍率の上限値であり、
前記下限閾値は、前記画像処理装置のハードウエアの制限による転送倍率の下限値である
請求項１に記載の画像処理装置。
【請求項８】
前記転送手段は、さらに、特定の値を下回る転送倍率で縮小処理を行う場合、前記画像データに対応する画像の劣化を伴う処理を実行し、
前記下限閾値は、前記特定の値である
請求項１に記載の画像処理装置。
【請求項９】
画像データを格納する格納手段と、
前記格納手段の第１の領域に格納された前記画像データを、所定の転送倍率で縮小または拡大して、前記格納手段の前記第１の領域とは別の場所へ転送する転送手段と
を備える画像処理装置が、
前記所定の転送倍率が、既知の上限閾値以下であるかまたは下限閾値以上である場合、前記画像データに対して１回の拡大または縮小処理を施すことで、前記所定の転送倍率による前記画像データの縮小または拡大を実現し、
前記所定の転送倍率が、前記上限閾値を上回っているかまたは前記下限閾値を下回っている場合、前記上限閾値以下または前記下限閾値以上の分割転送倍率で拡大または縮小処理を前記画像データに施した上で前記格納手段の前記第２の領域に格納させるという分割転送処理を、複数回繰り返すことで、前記所定の転送倍率による前記画像データの縮小または拡大を実現する
ステップを含む画像処理方法。
【請求項１０】
画像データを格納する格納手段と、
前記格納手段の第１の領域に格納された前記画像データを、所定の転送倍率で縮小または拡大して、前記格納手段の前記第１の領域とは別の場所へ転送する転送手段と
を備える画像転送装置を制御するコンピュータに、
前記所定の転送倍率が、既知の上限閾値以下であるかまたは下限閾値以上である場合、前記画像データに対して１回の拡大または縮小処理を施すことで、前記所定の転送倍率による前記画像データの縮小または拡大を実現し、
前記所定の転送倍率が、前記上限閾値を上回っているかまたは前記下限閾値を下回っている場合、前記上限閾値以下または前記下限閾値以上の分割転送倍率で拡大または縮小処理を前記画像データに施した上で前記格納手段の前記第２の領域に格納させるという分割転送処理を、複数回繰り返すことで、前記所定の転送倍率による前記画像データの縮小または拡大を実現する
ステップを含む制御処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、並びにプログラムに関し、特に、転送倍率の上限値を上回る拡大処理や下限値を下回る縮小処理をして画像の転送ができるようになった、画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、デジタルカメラ等の機器の高解像度化が進んでいる。これに伴い、各機器が取り扱う画像も高解像度化している。このため、縮小処理や拡大処理を施した画像データを転送する画像処理装置（例えば特許文献１参照）が、各機器内に搭載されている場合が多い。このような画像処理装置に対して、より一段と小さな転送倍率での縮小処理や、より一段と大きな転送倍率での拡大処理の実現が要求されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−８６４３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１を含む従来の技術では、かかる要求に充分に応えられていない現状である。画像処理装置には、転送倍率の上限値や下限値が存在するからである。即ち、画像処理装置による拡大処理や縮小処理だけでは、上限値を上回る転送倍率での拡大処理や、下限値を下回る転送倍率での縮小処理を行うことができないからである。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、画像処理装置の転送倍率の上限値を上回る拡大処理や下限値を下回る縮小処理をして画像の転送ができるようにするものである。
【課題を解決するための手段】
【０００６】
本発明の一側面の画像処理装置は、画像データを格納する格納手段と、前記格納手段の第１の領域に格納された前記画像データを、所定の転送倍率で縮小または拡大して、前記格納手段の前記第１の領域とは別の場所へ転送する転送手段とを備え、前記転送手段は、前記所定の転送倍率が、既知の上限閾値以下であるかまたは下限閾値以上である場合、前記画像データに対して１回の拡大または縮小処理を施すことで、前記所定の転送倍率による前記画像データの縮小または拡大を実現し、前記所定の転送倍率が、前記上限閾値を上回っているかまたは前記下限閾値を下回っている場合、前記上限閾値以下または前記下限閾値以上の分割転送倍率で拡大または縮小処理を前記画像データに施した上で前記格納手段の前記第２の領域に格納させるという分割転送処理を、複数回繰り返すことで、前記所定の転送倍率による前記画像データの縮小または拡大を実現する。
【０００７】
前記転送手段は、前記所定の転送倍率並びに前記上限閾値若しくは前記下限閾値に基づいて、前記分割転送処理の繰り返し回数ｎ（ｎは２以上の整数値）と、ｎ回の前記分割転送処理のそれぞれにおける前記分割転送倍率を決定する。
【０００８】
前記転送手段は、さらに、前記画像処理装置のハードウエアの性質に基づいて、前記分割転送処理の繰り返し回数ｎと、前記ｎ回の分割転送処理のそれぞれにおける前記分割転送倍率を決定する。
【０００９】
前記転送手段は、さらに、前記画像データに対応する画像の画質に基づいて、前記分割転送処理の繰り返し回数ｎと、前記ｎ回の分割転送処理のそれぞれにおける前記分割転送倍率を決定する。
【００１０】
前記転送手段は、前記ｎ回の分割転送処理のそれぞれに対して、前記所定の転送倍率を均等に配分するようにして、それぞれの前記分割転送倍率を決定する。
【００１１】
前記転送手段は、前記ｎ回の分割転送処理のそれぞれにおける前記分割転送倍率を、１／自然数となるようにそれぞれ決定する。
【００１２】
前記上限閾値は、前記画像処理装置のハードウエアの制限による転送倍率の上限値であり、前記下限閾値は、前記画像処理装置のハードウエアの制限による転送倍率の下限値である。
【００１３】
前記転送手段は、さらに、特定の値を下回る転送倍率で縮小処理を行う場合、前記画像データに対応する画像の劣化を伴う処理を実行し、前記下限閾値は、前記特定の値である。
【００１４】
本発明の一側面の画像処理方法およびプログラムは、上述の本発明の一側面の画像処理装置に対応する方法およびプログラムである。
【００１５】
本発明の一側面の画像処理装置および方法並びにプログラムにおいては、画像データを格納する格納手段と、前記格納手段の第１の領域に格納された前記画像データを、所定の転送倍率で縮小または拡大して、前記格納手段の前記第１の領域とは別の場所へ転送する転送手段とを備える画像処理装置等において、次のような処理が実行される。即ち、前記所定の転送倍率が、既知の上限閾値以下であるかまたは下限閾値以上である場合、前記画像データに対して１回の拡大または縮小処理が施されることで、前記所定の転送倍率による前記画像データの縮小または拡大が実現される。これに対して、前記所定の転送倍率が、前記上限閾値を上回っているかまたは前記下限閾値を下回っている場合、前記上限閾値以下または前記下限閾値以上の分割転送倍率で拡大または縮小処理を前記画像データに施した上で前記格納手段の前記第２の領域に格納させるという分割転送処理が、複数回繰り返されることで、前記所定の転送倍率による前記画像データの縮小または拡大が実現される。
【発明の効果】
【００１６】
以上のごとく、本発明によれば、画像処理装置の転送倍率の上限値を上回る拡大処理や下限値を下回る縮小処理をして画像の転送ができるようになる。
【図面の簡単な説明】
【００１７】
【図１】本発明が適用される情報処理システムの機能的構成例を示す機能ブロック図である。
【図２】図１の情報処理システムの画像処理装置による画像データの縮小処理の概略を説明する図である。
【図３】図１の情報処理システムの画像処理装置が実行する画像データ転送処理の一例を説明するフローチャートである。
【図４】図３の画像データ転送処理のステップＳ５の転送倍率決定処理の詳細例を説明するフローチャートである。
【図５】図３の画像データ転送処理のステップＳ５の転送倍率決定処理の詳細例を説明するフローチャートである。
【図６】本発明が適用される画像処理装置を制御するコンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００１８】
＜１．本発明の概要＞
画像データを転送する画像処理装置は、転送倍率に上限値や下限値が存在する。このような画像処理装置をそのまま利用しても、上限値を上回る転送倍率での拡大処理や、下限値を下回る転送倍率での縮小処理を行うことができない。また、画像処理装置の中には、画像データの転送倍率が特定の値を下回ると、画素を間引きするなどして、縮小処理時に画質を劣化させてしまうものも存在する。また、上限値を上回る転送倍率での拡大処理や、下限値を下回る転送倍率での縮小処理を画像処理装置のハードウエアにより対応させることも考えられる。しかしながら、かかる対応ではコストがかかるし、対応の仕方によっては転送倍率を十分に小さくできないことになる。また、転送倍率の下限値は、画像処理装置が搭載される機器側の制約を受ける場合もあり、かかる対応が困難な場合もある。
【００１９】
そこで、本発明人は、画像処理装置２３による画像データの拡大処理または縮小処理を複数回に分けるという手法を発明した。かかる手法を適用することで、画像処理装置２３の転送倍率の上限値を上回る転送倍率、下限値を下回る転送倍率での拡大処理または縮小処理が実現可能になる。また、画像データの転送倍率が特定の値を下回ると、画素を間引きするなどして、縮小処理時に画質を劣化させてしまうような場合において、画質の劣化を伴う転送倍率の特定の値を維持した転送倍率での縮小処理が実現可能になる。
【００２０】
以下、図面を参照して、本発明が適用される画像処理装置の実施の形態について、２つの実施形態について説明する。以下、２つの実施形態を、第１実施形態、第２実施形態と称する。
【００２１】
なお、以下、第１実施形態，第２実施形態を説明する場合、画像データの縮小処理について説明する。ただし、本発明は、縮小処理のみならず、拡大処理も同様の考え方で容易に適用できる。
【００２２】
第１実施形態の情報処理システムは、画像処理装置の転送倍率の上限値を上回る拡大処理や下限値を下回る縮小処理をして画像の転送ができるようにする。
【００２３】
これに対して、第２実施形態の情報処理システムは、画像データの転送倍率が特定の値を下回ると、画素を間引きするなどして、縮小処理時に画質を劣化させてしまうような場合を対象とする。かかる場合、第２実施形態の情報処理システムは、画質の劣化を伴う転送倍率の特定の値を維持した転送倍率で縮小処理をして画像の転送ができるようにする。
【００２４】
＜２．本発明が適用される情報処理システムの第１実施形態＞
[情報処理システムの構成例]
図１は、本発明の第１実施形態が適用される情報処理システムの機能的構成例を示す機能ブロック図である。
【００２５】
なお、システムとは、複数の装置や処理部により構成される装置全体を表すものである。即ち、図１の例の情報処理システムは、１台の情報処理装置全体であると把握することもできるし、複数の装置より構成されたものであると把握することもできる。
【００２６】
図１の例の情報処理システムは、CPU（Central Processing Unit）を含む主制御装置２１、外部記憶装置２２、画像処理装置２３、およびディスプレイ装置２４を含むように構成されている。
【００２７】
外部記憶装置２２にはデータ読み込み処理部３１が設けられている。画像処理装置２３には、VRAM（Video Random Access Memory）３２、および画像転送部３３が設けられている。また、VRAM３２には、一時領域４１、縮小用一時領域４２、および表示用領域４３が含まれる。また、画像転送部３３には、縮小処理部５１−１，５１−２が設けられている。
【００２８】
[情報処理システムの動作例の概略]
【００２９】
主制御装置２１は、情報処理システム１１全体の動作を制御する。
【００３０】
例えば、主制御装置２１は、外部記憶装置２２に対して、VRAM３２の一時領域４１に画像データを読み込むように指示をする。すると、外部記憶装置２２のデータ読み込み処理部３１は、画像データを、外部記憶装置２２から、画像処理装置２３の一時領域４１に対して読み込む。なお、本実施の形態では、画像データとしては、デコード処理を行わずにディスプレイ装置２４に表示できる形態のデータが採用されているとする。
【００３１】
また例えば、主制御装置２１は、画像転送部３３の縮小処理部５１−１に対して、一時領域４１に読み込まれた画像データを縮小し、縮小したデータを縮小用一時領域４２に格納するように指示をする。すると、縮小処理部５１−１は、一時領域４１から画像データを取得し、その画像データに対して縮小処理を施す。縮小処理部５１−１は、縮小処理により縮小された画像データを、縮小用一時領域４２に一旦格納する。
【００３２】
また例えば、主制御装置２１は、縮小処理部５１−２に対して、縮小用一時領域４２に格納された画像データを縮小し、縮小したデータを表示用領域４３に格納するように指示をする。すると、縮小処理部５１−２は、縮小用一時領域４２から画像データを取得し、その画像データに対して縮小処理を施す。縮小処理部５１−２は、縮小処理により縮小された画像データを、表示用領域４３に一旦格納する。
【００３３】
表示用領域４３に格納された画像データは、ディスプレイ装置２４に転送される。
【００３４】
ディスプレイ装置２４は、表示用領域４３から転送されてきた画像データに対応する画像を表示する。
【００３５】
図１の例では、画像処理装置２３の画像転送部３３による画像データの縮小処理を２回に分けることで、各縮小処理の転送倍率が、画像処理装置２３（画像転送部３３）の転送倍率の下限値を下回らないようにしている。
【００３６】
ただし、元もとの転送倍率が、画像処理装置２３（画像転送部３３）の転送倍率の下限値以上のような場合、必ずしも、画像データの縮小処理を複数回に分ける必要があるわけではない。このような場合、縮小処理部５１−１は、縮小処理により縮小された画像データを、縮小用一時領域４２ではなく表示用領域４３に格納すればよい。
【００３７】
また、逆に、画像転送部３３による画像データの縮小処理を２回に分けるだけでは、各縮小処理における転送倍率が画像処理装置２３（画像転送部３３）の転送倍率の下限値を下回ってしまう場合がある。このような場合は、画像転送部３３による縮小処理を３回以上に分けることで、各縮小処理の転送倍率を画像処理装置２３（画像転送部３３）の転送倍率の下限値を下回らないようにすることができる。
【００３８】
即ち、このような場合、画像処理装置２３において、VRAM３２には、２以上の縮小用一時領域４２が設けられ、画像転送部３３には、縮小処理部５１−１乃至５１−ｎ（ｎは、縮小処理の回数を示す整数値）が設けられる。
【００３９】
縮小処理部５１−１は、一時領域４１から画像データを取得し、その画像データに対して縮小処理を施す。縮小処理部５１−１は、縮小処理により縮小された画像データを、２つ以上の縮小用一時領域４２のうちの１つに一旦格納する。
【００４０】
縮小処理部５１−２乃至５１−（ｎ−１）のそれぞれは、２つ以上の縮小用一時領域４２のうちの１つから画像データを取得し、その画像データに対して縮小処理を施す。縮小処理部５１−２乃至５１−（ｎ−１）のそれぞれは、縮小処理により縮小された画像データを、２つ以上の縮小用一時領域４２のうちの別の１つに一旦格納する。
【００４１】
縮小処理部５１−ｎは、縮小用一時領域４２から画像データを取得し、その画像データに対して縮小処理を施す。縮小処理部５１−２は、縮小処理により縮小された画像データを、表示用領域４３に一旦格納する。
【００４２】
さらに、以下、図２以降の図面を参照して、画像処理装置２３による画像データの縮小処理について説明する。
【００４３】
図２は、画像処理装置２３による画像データの縮小処理の概略を説明する図である。
【００４４】
図２の例では、画像処理装置２３のVRAM３２には、一時領域４１、ｎ-1個（ｎは、上述の如く、縮小処理の回数を示す整数値）の縮小用一時領域４２−１乃至４２−（ｎ−１）、および、表示用領域４３が設けられている。なお、３回以上の縮小処理が行われる場合であったとしても、縮小用一時領域４２の個数は、図２の例のn-1個に限定されず、２個以上であれば任意の個数で構わない。２つの縮小用一時領域４２さえあれば、上書きを繰り返していくことで、対応可能だからである。
【００４５】
以下、図２の記載にあわせて、一時領域４１から表示用領域４３への転送倍率をXと記述する（Xは１未満の値）。即ち、転送倍率Xが、画像処理装置２３からディスプレイ装置２４に転送される場合の元々の転送倍率となっている。また、画像処理装置２３の（ハードウエアとしての）転送倍率の下限値をYと記述する（Yは１未満の値）。
【００４６】
この場合、転送倍率Xと下限値Yが定まることによって、縮小処理の回数ｎが決定される。
【００４７】
縮小処理の回数ｎが２以上の場合、即ち、縮小処理の回数を複数回に分ける場合、一時領域４１から縮小用一時領域４２−１への転送倍率をAとする。即ち、縮小処理部５１−１が、一時領域４１から取得した画像データを縮小して、縮小用一時領域４２−１に格納する場合に適用される縮小倍率が、転送倍率Aになる。
【００４８】
また、以下、縮小用一時領域４２−i（ｉは、１乃至n-2の整数値）での転送倍率をBiと記述する。即ち、各縮小処理の転送倍率が、画像処理装置２３の転送倍率の下限値Yを下回ってしまう場合、縮小処理部５１−１乃至５１−ｎによる縮小処理の回数ｎを増やすことによって、各縮小処理の転送倍率が調整される。即ち、縮小処理部５１−２による転送倍率はB1と、縮小処理部５１−３による転送倍率はB2と、・・・、縮小処理部５１−（ｎ-1）による転送倍率はBn-2と、それぞれ記述される。
【００４９】
また、以下、縮小用一時領域４２−ｎから表示用領域４３への転送倍率をCn-1と記述する。即ち、転送倍率Cn-1は、画像処理装置２３が、縮小用一時領域４２に格納された画像データを縮小処理して表示用領域４３に格納する場合の縮小倍率である。
【００５０】
この場合、各縮小処理の転送倍率について、次の式（１）の関係が成り立つ。
【００５１】
X = A×C1 = A×B1×C2 = ・・・A×B1×B2×・・・×Bn-2×Cn-1      ・・・（１）
【００５２】
ただし、式（１）において、転送倍率A，Bi，Cn-1は何れも、画像処理装置２３の転送倍率の下限値Y以上であるとする。
【００５３】
この式（１）からだけでは、転送倍率A，Bi，Cn-1は一意に定まらない。そこで、画像処理装置２３は、画像データを縮小して転送する前に、転送倍率A，Bi，Cn-1を決定する処理（以下、転送倍率決定処理と称する）を予め実行しておく必要がある。
【００５４】
なお、転送倍率決定手法自体は、式（１）を満たす範囲内であれば、任意の決定手法を採用することができる。しかしながら、転送倍率A，Bi，Cn-1は、縮小用一時領域４２のメモリ使用量や転送処理時間に影響を与え、情報処理システム１１として採用する機器によっては、画質にも影響を与えるものである。本発明が適用される画像処理装置２３を適用する場合、状況によって、優先すべき事項や情報処理システム１１の性質が異なる。従って、転送倍率A，Bi，Cn-1として、どのような倍率をどのように設定するのが良いのかについては、一概には言えない。即ち、転送倍率決定手法として、好適な手法とは、優先すべき事項や情報処理システム１１の性質によって異なってくる。そこで、本明細書では、いくつかの優先条件を予め設定し、その優先条件にとって好適な転送倍率決定手法を具体例として説明することにする。ただし、具体例については後述する。
【００５５】
[情報処理システムの動作例の詳細]
【００５６】
以上説明した情報処理システムの動作例の詳細について、さらに以下、詳しく説明していく。なお、以下、情報処理システムが、画像データを縮小してディスプレイ装置２４に転送し、その画像データに対応する画像をディスプレイ装置２４に表示させるまでの一連の処理を、画像データ転送処理と称する。
【００５７】
図３は、画像データ転送処理の一例を説明するフローチャートである。
【００５８】
なお、以下の説明では、画像データ転送処理は、主制御装置２１の制御の下、画像処理装置２３の画像転送部３３により実行されるとする。もっとも、画像データ転送処理の少なくとも一部は、画像転送部３３以外、例えば主制御装置２１により実行されても構わない。
【００５９】
ステップＳ１において、画像転送部３３は、縮小処理の回数ｎを決定する。
【００６０】
具体的には例えば、縮小処理の回数ｎは、例えば次の式（２）を満たすように決定される。
【００６１】
Y n ≦ X ＜ Y n-1      ・・・（２）
【００６２】
ステップＳ２において、画像転送部３３は、ｎ≧２であるか否かを判定する。縮小処理の回数ｎ＝１であれば、画像データの縮小処理を複数回にわける必要がないからである。
【００６３】
即ち、縮小処理の回数ｎ＝１の場合、ステップＳ２においてＮＯであると判定されて、処理はステップＳ３に進む。
【００６４】
ステップＳ３において、画像転送部３３は、外部記憶装置２２から転送対象画像データを一時領域４１に読み込む。
【００６５】
ステップＳ４において、画像転送部３３の縮小処理部５１−１は、転送対象画像データを一時領域４１から取得し、元々の転送倍率Xで転送対象画像データを縮小して、表示用領域４３に格納する。
【００６６】
ステップＳ１２において、画像転送部３３は、表示用領域４３の画像データをディスプレイ装置２４に転送することで、その画像データに対応する画像をディスプレイ装置２４に表示させる。
【００６７】
これにより、画像データ転送処理は終了となる。
【００６８】
以上の縮小処理の回数ｎ＝１の場合の処理に対して、縮小処理の回数ｎ≧２の場合の処理は次のようになる。
【００６９】
即ち、この場合には、ステップＳ２においてＹＥＳであると判定されて、処理はステップＳ５に進む。
【００７０】
ステップＳ５において、画像転送部３３は、転送倍率決定処理をおこなう。これにより、転送倍率A，Bi，Cn-1が決定される。なお、転送倍率決定処理の具体例については後述する。
【００７１】
なお、以下、転送倍率Aを、rate[0]と適宜称する。転送倍率Bi（i=1乃至n-2）を、rate[i]と適宜称する。また、転送倍率Cn-1を、rate[n-1]と適宜称する。即ち、ステップＳ５の転送倍率決定処理で、ｎ個の転送倍率rate[0]乃至rate[n-1]（＝A，Bi，Cn-1）が決定されると、処理はステップＳ７に進む。
【００７２】
ステップＳ７において、画像転送部３３は、i＝０に設定する。
【００７３】
ステップＳ８において、画像転送部３３の縮小処理部５１−（ｉ＋１）は、rate[ｉ]で転送対象画像データを縮小して縮小用一時領域４２に格納する。
【００７４】
なお、縮小処理の回数ｎ≧３の場合、上述の如く、縮小用一時領域４２は２以上存在する。よって、縮小処理部５１−（ｉ＋１）のは、２つ以上の縮小用一時領域４２のうちの１つから転送対象画像データを取得し、その転送対象画像データに対してrate[i]（i=0の場合はAであり、i=1乃至n-2の場合Biである）での縮小処理を施す。縮小処理部５１−（ｉ＋１）は、rate[i]で縮小された転送対象画像データを、２つ以上の縮小用一時領域４２のうちの別の１つに一旦格納する。
【００７５】
ステップＳ９において、画像転送部３３は、ｉを１だけインクリメントする（i=i+1）。
【００７６】
ステップＳ１０において、画像転送部３３は、ｉ＞n-2であるか否かを判定する。
【００７７】
ｉが１乃至n-2の何れかの値の場合、ステップＳ１０においてＮＯであると判定されて、処理はステップＳ８に戻され、それ以降の処理が繰り返される。
【００７８】
即ち、ステップＳ８乃至Ｓ１０の処理が繰り返し実行されて、転送対象画像データに対して、n-1回の縮小処理が施されることになる。そして、i=n-2について、ステップＳ８の処理で、n-1回の縮小処理が施された転送対象画像データが縮小用一時領域４２に格納される。そして、ステップＳ９の処理でi=n-1となると、ステップＳ１０の処理でＹＥＳであると判定されて、処理はステップＳ１１に進む。
【００７９】
ステップＳ１１において、画像転送部３３の縮小処理部５１−ｎは、転送対象画像データを縮小用一時領域４２から取得し、rate[n-1]（＝Cn-1）で転送対象画像データを縮小して、表示用領域４３に格納する。
【００８０】
ステップＳ１２において、画像転送部３３は、表示用領域４３の画像データをディスプレイ装置２４に転送することで、その画像データに対応する画像をディスプレイ装置２４に表示させる。
【００８１】
これにより、画像データ転送処理は終了となる。
【００８２】
［転送倍率決定処理の第１の具体例］
【００８３】
次に、ステップＳ４の転送倍率決定処理の具体例、換言すると転送倍率決定手法の例について幾つか説明していく。
【００８４】
ここでは、上述の如く、いくつかの優先条件を予め設定し、その優先条件にとって好適な転送倍率決定手法を具体例として説明することにする。
【００８５】
第１の具体例としては、優先条件として、縮小用一時領域４２のメモリ使用量の軽減と転送処理時間の短縮を優先するという条件が採用されているとする。
【００８６】
この場合、複数回に分けた縮小処理のうち、早い回数の縮小処理の転送倍率(A,Bi,Cn-1)程、低く設定することにより、早い回数の縮小処理の段階で転送対象画像データのサイズが小さくなる。その結果、縮小用一時領域４２のメモリ使用量の軽減と転送処理時間の短縮が見込まれる。
【００８７】
縮小処理の回数ｎ＝２の場合、転送倍率は、次の式（３）に示されるように決定される。
【００８８】
A = Y
C1 = X / Y      ・・・（３）
【００８９】
縮小処理の回数ｎ≧３の場合、転送倍率は、次の式（４）に示されるように決定される。
【００９０】
A = Y
Bi = Y    (i=1乃至n-2の各整数値)
Cn-1 = X / Yn-1      ・・・（４）
【００９１】
［転送倍率決定処理の第２の具体例］
【００９２】
第２の具体例としては、優先条件として、画質の良さを優先するという条件が採用されているとする。
【００９３】
転送倍率をどのように設定すれば、画質が良くなるかについては、情報処理システム１１に依存する。そこで、情報処理システム１１の画質に関する性質をいくつか仮定して、第２の具体例乃至第４の具体例としてその順番に個別に説明していく。
【００９４】
まず、第２の具体例としては、複数回に分けた縮小処理のうち、回数が早い方の縮小処理の転送倍率を高くしたときに、画質が良くなるという仮定が採用されているとする。
【００９５】
縮小処理の回数ｎ＝２の場合、転送倍率は、次の式（５）に示されるように決定される。
【００９６】
A = X / Y
C1 = Y      ・・・（５）
【００９７】
縮小処理の回数ｎ≧３の場合、転送倍率は、次の式（６）に示されるように決定される。
【００９８】
A = X / Y n-1
Bi = Y    (i=1乃至n-2の各整数値)
Cn-1 = Y      ・・・（６）
【００９９】
［転送倍率決定処理の第３の具体例］
【０１００】
第３の具体例としては、優先条件として、第２の具体例と同様に、画質の良さを優先するという条件が採用されているとする。
【０１０１】
ただし、第３の具体例としては、各縮小処理の転送倍率の差が小さいときに、画質が良くなるという仮定が採用されているとする。
【０１０２】
縮小処理の回数ｎ＝２の場合、転送倍率は、次の式（７）に示されるように決定される。
【０１０３】
A = X1/2
C1 = X1/2      ・・・（７）
【０１０４】
縮小処理の回数ｎ≧３の場合、転送倍率は、次の式（８）に示されるように決定される。
【０１０５】
A = X1/n
Bi = X1/n    (i=1乃至n-2の各整数値)
Cn-1 = X1/n      ・・・（８）
【０１０６】
［転送倍率決定処理の第４の具体例］
【０１０７】
第４の具体例としては、優先条件として、第２の具体例や第３の具体例と同様に、画質の良さを優先するという条件が採用されているとする。
【０１０８】
ただし、第４の具体例としては、転送倍率が 1/k (ｋは1自然数) である縮小処理が多ければ多いほど、画質が良くなるという仮定が採用されているとする。
【０１０９】
なお、第４の具体例は他の具体例と比べると、転送倍率の算出手法が複雑である。そこで、第４の具体例については、図４と図５のフローチャートを参照して説明する。
【０１１０】
図４，図５は、図３のステップ５の転送倍率決定処理の詳細例のうち、第４の具体例について説明するフローチャートである。
【０１１１】
図４，図５の転送倍率決定処理のうち、図４に示される処理の概略は次の通りになる。即ち、複数回に分けた縮小処理のうち、全ての転送倍率A，Bi，Cn-1を 1/k にできるか否かが確認される。この確認は、元々の転送倍率 X を n 個の 1/ｋ の積(各分数の分母のｋは、一致していても、一致していなくても良い)として表すことができるか否かを確認することで実現可能である。また、図４に示される処理としては、元々の転送倍率X を n 個の 1/K の積で表せる場合には、各転送倍率A，Bi，Cn-1が算出される。これに対して、元々の転送倍率X を n 個の 1/K の積で表せない場合には、次の図５に示される処理が実行される。
【０１１２】
図４，図５の転送倍率決定処理のうち、図５に示される処理の概略は次の通りになる。即ち、複数回に分けた縮小処理の各転送倍率A，Bi，Cn-1が、できるだけ多く 1/K となるように、各転送倍率を算出する。
【０１１３】
はじめに、図４，図５の転送倍率決定処理のうち、図４に示される処理について説明していく。
【０１１４】
転送倍率 X を n 個の 1/k の積で表せる場合、次の関係１乃至関係３が成立する。ただし、以下、転送元の画像データのサイズ（一時領域４１に読み込まれるサイズ）をSと記述し、転送先の画像データのサイズ（表示用領域４３に格納されるサイズ）をDと記述するとする。また、α % β == γとは、αをβで除算した時の余りがγであることを示している。
【０１１５】
関係１：S % D == 0
関係２：{S / D} は n 個の正の整数（kとして取り得る整数）の積で表せる
関係３：各正の整数（kとして取り得る整数） ≦ 1/Y 
【０１１６】
これらの関係１乃至関係３を満たすか否かの確認処理が、図４に示される処理として実行される。
【０１１７】
即ち、ステップＳ２１において、画像転送部３３は、転送元，転送先のサイズを、それぞれS，Dに設定する。また、画像転送部３３は、k (自然数) = 1 / Y  (小数部分は切捨て) ， S' = S / D , p = 0 に設定する。なお、ｐは、転送倍率をrate[p]と記述した場合の番号pを示している。ただし、後述するように、転送倍率rate[p]は、図３における転送倍率rate[i]とは基本的に独立している点注意する。
【０１１８】
具体的には例えば、画像処理装置２３の（ハードウエアとしての）転送倍率の下限値Yが、1/3.975であったとする。この場合、複数回に分けた縮小処理の各転送倍率rate［p］として、1/3は設定可能であるが、1/4は設定不可能になる。そこで、このような場合、1/Y＝3.975となるが、そのうちの少数部分が切り捨てられて、ｋ=３（=1/Y）が設定されることになる。
【０１１９】
ステップＳ２２において、画像転送部３３は、S % D == 0であるか否か、即ち、関係１が成立するか否かを判定する。
【０１２０】
S を D で除算しても余りが０にならない場合、即ち、関係１が成立しない場合、 D/S を既約分数にしても、分子は、1 にならない。このため、転送倍率 X を 1/k の積として表すことができない。このような場合、即ち、関係１が成立しない場合、ステップＳ２２においてＮＯであると判定されて、処理は図５のステップＳ２９に進む。即ち、図５に示される処理が実行される。ただし、図５に示される処理については後述する。
【０１２１】
これに対して、S を D で除算して余りが０になる場合、即ち、関係１が成立する場合、ステップＳ２２においてＹＥＳであると判定されて、処理はステップＳ２３に進む。
【０１２２】
ステップＳ２３において、画像転送部３３は、k < 2 であるか否かを判定する。
【０１２３】
k < 2 である場合、そもそも、転送倍率 X を 1/K の積として表すことができない。そこで、このような場合、ステップＳ２３においてＮＯであると判定されて、処理は図５のステップＳ２９に進む。即ち、図５に示される処理が実行される。ただし、図５に示される処理については後述する。
【０１２４】
これに対して、ｋ≧２である場合、ステップＳ２３においてＹＥＳであると判定されて、処理はステップＳ２４に進む。
【０１２５】
ステップＳ２４において、画像転送部３３は、S' % k == 0であるか否かを判定する。
【０１２６】
S' を、現在設定されているk で除算しても余りが０にならない場合、現在設定されているkは、関係２を満たす正の整数とはならない。即ち、転送倍率 X を 1/kの積（ただし、kの中には、現在設定されている正の整数値を少なくとも含む）として表すことができない。そこで、このような場合、ｋの設定を変更すべく、ステップＳ２４においてＮＯであると判定されて、処理はステップＳ２５に進む。ステップＳ２５において、画像転送部３３は、ｋを１だけデクリメントする（k=k-1）。なお、ｋを１だけデクリメントして更新するのは、関係３を満たすようにするためである。具体的には例えば、上述の例では、ステップＳ２１の処理でｋ=3が設定されたので、ステップＳ２５の処理で、k=2に更新される。ステップＳ２５の処理が終了すると、処理はステップＳ２３に戻され、それ以降の処理が繰り返される。
【０１２７】
ステップＳ２１の処理で設定されたk、または、ステップＳ２３乃至Ｓ２５の処理で更新されたｋが、S'に対して除算されると余りが０になるような値となった場合、ステップＳ２４の処理でＹＥＳであると判定されて、処理はステップＳ２６に進む。
【０１２８】
ステップＳ２６において、画像転送部３３は、rate[p] = 1/k とし、S' = S' / k とする。なお、ここでいうｋは、ステップＳ２４の処理でＹＥＳであると判定された時点で設定されているｋを意味する。また、画像転送部３３は、p を１だけインクリメントする（p=p+1）。
【０１２９】
具体的には例えば、ステップＳ２１の処理でk=3が設定されたので、k=3である場合にステップＳ２４の処理でＹＥＳであると判定されたときには、rate[p] = 1/3となる。
また例えば、k=3である場合にステップＳ２４の処理でＮＯであると判定されて、次のステップＳ２５の処理でk=2に更新されて、次のステップＳ２４の処理でＹＥＳであると判定されたときには、rate[p] = 1/2となる。なお、k=2である場合に、ステップＳ２４の処理でＮＯであると判定されると、次のステップＳ２５の処理でk=1に更新されるため、次のステップＳ２３の処理ではＮＯであると判定されて、後述する図５に示される処理が実行されることになる。
【０１３０】
ステップＳ２７において、画像転送部３３は、p≧nであるか否かを判定する。
【０１３１】
p が n 未満の場合、ステップＳ２７においてＮＯであると判定されて、処理はステップＳ２３に戻される。即ち、ステップＳ２３乃至Ｓ２７のループ処理が繰り返されることによって、複数回に分けた縮小処理の各転送倍率rate［p＝０乃至n-1の各値］がそれぞれ決定されていく。最終的に、転送倍率rate［p=n-1］が決定されて、p=nになると、ステップＳ２７においてＹＥＳであると判定されて、処理はステップＳ２８に進む。
【０１３２】
ステップＳ２８において、画像転送部３３は、S'==1であるか否かを判定する。
【０１３３】
S' が 1 以外の場合、複数回に分けた縮小処理の各転送倍率rate［p=０］乃至rate[p=n-1］の積が元々の転送倍率Ｘにならないこと、即ち、関係２が成立せずに転送倍率 X を 1/k の積として表すことができないことを意味する。このような場合、ステップＳ２８においてＮＯであると判定されて、処理は図５のステップＳ２９に進む。即ち、図５に示される処理が実行される。ただし、図５に示される処理については後述する。
【０１３４】
これに対して、S' が 1 の場合、複数回に分けた縮小処理の各転送倍率rate［p=０］乃至rate[p=n-1］を全て1/k（ただし、ｋは必ずしも同一とは限らない）にでき、かつ、その積が元々の転送倍率Ｘになることを意味する。このような場合、ステップＳ２８においてＹＥＳであると判定されて、転送倍率決定処理は終了する。即ち、図３のステップＳ５の処理は終了し、処理はステップＳ６に進む。
【０１３５】
なお、図４でいう転送倍率rate[p=0]乃至rate［p=n-1］のそれぞれに対して、転送倍率A，Bi，Cn-1のうちの何れを対応付けるのかは特に限定されない。例えば、メモリ使用量や転送処理時間を考慮すれば、早い回の縮小処理の転送倍率、即ち転送倍率A，B1付近の転送倍率が小さくなるようにするとよい。即ち、そのように、図４でいう転送倍率rate[p=0]乃至rate［p=n-1］のそれぞれに対して、転送倍率A，Bi，Cn-1のうちの何れかを１つずつ対応付けていくとよい。
【０１３６】
換言すると、図３のステップＳ８やＳ１１等でいう転送倍率rate[i=0]乃至[i=n-2]，rate[n-1]に対しては、次の前提が適用される。即ち、かかる前提とは、転送倍率rate[i=0]が転送倍率Aに対応し、転送倍率rate[i]が転送倍率Bi（iは１乃至n-2の整数値）に対応し、転送倍率rate［n-1］が転送倍率Cn-1に対応することである。これに対して、かかる前提は、図４でいうrate[p=0]乃至rate［p=n-1］に対しては適用されない。即ち、図４に示す処理の結果得られたrate[p=0]乃至rate［p=n-1］は、図３のステップＳ８やＳ１１等でいう転送倍率rate[i=0]乃至[i=n-2]，rate[n-1]とは、必ずしも一対一に対応していない点注意する。
【０１３７】
以上、図４，図５の転送倍率決定処理のうち、図４に示される処理について説明した。次に、図５に示される処理について説明する。
【０１３８】
まず、図５に示される処理の概略を説明する。
【０１３９】
上述した式（２）から、次の式（９）に示される関係が成立する。
【０１４０】
Yn ≦ X      ・・・（９）
【０１４１】
また、図４に示される処理の関係３と同様に、正の整数値kと、画像処理装置２３の（ハードウエアとしての）転送倍率の下限値Yとの間には、次の式（１０）に示される関係が成立する。
【０１４２】
Y ≦ 1/k       ・・・（１０）
【０１４３】
ここで、式（９）の左辺のYn について、１つのYを1/k に置き換えることを繰り返していくと、式（１０）の関係を考慮すると、次の式（１１）が導き出される。
【０１４４】
Yn ≦ Yn-1 × (1/k)1 
≦ Yn-2 × (1/k)2 
≦・・・
≦Yn-j × (1/k)j
≦ (1/k)n        ・・・（１１）
【０１４５】
式（１１）に示されるように、式（９）の左辺のYn について、１つのYを1/k に置き換えることを繰り返していくと、その都度、積は大きくなっていき、ｊ＋１回目（ｊは1以上の整数値）の置き換えの時点で、元々の転送倍率Xを超えてしまうことになる。即ち、次の式（１２）に示されるようになる。
【０１４６】
Yn-j × (1/k)j ≦ X ＜ Yn-j-1 × (1/k)j+1      ・・・（１２）
【０１４７】
ここで、元々の倍率Xをｎ個の転送倍率の積として表す場合、その積に含まれる転送倍率は可能な限り1/kであるとよい。このためには、上述の置き換え回数、即ち、１つのYを1/k に置き換える回数ｊは、式（１２）を満たす範囲でできる限り多いとよい。このためには、先ず、1/k はできるだけ小さな値、即ち、ｋはできるだけ大きな値が良い。このため、ｋ（自然数）は、次の式（１３）に示される値が固定値として採用されるとする。
【０１４８】
k = 1 / Y  (小数部分は切捨て)      ・・・（１３）
【０１４９】
例えば、図４に示される具体例をそのまま用いれば、転送倍率の下限値Y＝1/3.975であるので、図５に示される処理では、ｋ=３（=1/Y）が固定値として採用されることになる。
【０１５０】
また、上述の式（１２）は、次の式（１４）のように変形することができる。
【０１５１】
Yq+1 × (1/k)n-1-q ≦ X ＜ Yq × (1/k)n-q      ・・・（１４）
【０１５２】
式（１４）は、さらに、次の式（１５）のように変形することができる。
【０１５３】
tmp_dst＝S×Yq+1×(1/k)n-1-q ≦ D ＜ S×Yq×(1/k)n-q      ・・・（１５）
【０１５４】
そこで、図５に示される処理では、式（１５）を満たすような値qが算出される（後述するステップＳ３０乃至Ｓ３２のループ処理参照）。
【０１５５】
このようにして求められた値ｑを用いることで、元々の倍率Xは、1/k の積を含む次の式（１６）で表すことができるようになる（後述するステップＳ３３参照）。
【０１５６】
X = Yq+1 × （1/k）n-2-q × W      ・・・（１６）
【０１５７】
なお、式（１６）において、値Wは、Y ≦ W ＜ 1/kを満たす値である。
【０１５８】
以下、図５に示される処理を、ステップ単位で詳しく説明していく。
【０１５９】
ステップＳ２９において、画像転送部３３は、ｋ=1/Y (小数部分は切捨て)に設定し、q=0に設定する。
【０１６０】
ステップＳ３０において、画像転送部３３は、tmp_dst＝S×Yq+1×(1/k)n-1-qに設定する。
【０１６１】
なお、画像処理装置２３として、整数で座標指定を行う必要があるハードウエアが採用されている場合がある。かかる場合、画像転送部３３は、S×Yq+1×(1/k)n-1-qの各掛け算の積の小数部分を切り上げて、整数にした上で、その整数をtmp_dstとして設定する必要がある。
【０１６２】
ステップＳ３１において、画像転送部３３は、tmp_dst ≦ Dであるか否かを判定する。
【０１６３】
tmp_dst ≦ Dでない場合、ステップＳ３１においてＮＯであると判定されて、処理はステップＳ３２に進む。ステップＳ３２において、画像転送部３３は、ｑを１だけインクリメントする（q＝q+1）。これにより、処理はステップＳ３０に戻され、それ以降の処理が繰り返される。
【０１６４】
即ち、ステップＳ３０乃至Ｓ３２のループ処理が繰り返されることで、上述の式（１５）を満たすようにqの値が更新されていく。上述の式（１５）を満たすようなqの値になると、ステップＳ３１においてＹＥＳであると判定されて、処理はステップＳ３３に進む。
【０１６５】
ステップＳ３３において、画像転送部３３は、各転送レートとして、rate[0], ・・・ , rate[q-1] = Y ，rate[q] = D / S × Y-q × kn-1-q ，rate[q+1], ・・・ , rate[n-1] = 1/kを設定する。これにより、上述の式（１６）が実現されたことになる。
【０１６６】
なお、画像処理装置２３として、整数で座標指定を行う必要があるハードウエアが採用されている場合がある。かかる場合、画像転送部３３は、図５のステップＳ３３の処理で設定した転送倍率rate[q=0]乃至rate［q=n-1］のそれぞれを、転送倍率A，Bi（i=1乃至n-2），Cn-1のそれぞれにその順番で順次割り当てる必要がある。即ち、この場合、図５のステップＳ３３の処理で設定した転送倍率rate[q=0]乃至rate［q=n-1］と、図３のステップＳ８やＳ１１等でいう転送倍率rate[i=0]乃至[i=n-2]，rate[n-1]とは一対一に対応する。
【０１６７】
なお、このようなハードウエアの制限がない場合には、図５のステップＳ３３の処理で設定した転送倍率rate[q=0]乃至rate［q=n-1］のそれぞれに対して、転送倍率A，Bi，Cn-1のうちの何れを対応付けるのかは特に限定されない。ただし、この場合、図５のステップＳ３３の処理で設定した転送倍率rate[q=0]乃至rate［q=n-1］は、図３のステップＳ８やＳ１１等でいう転送倍率rate[i=0]乃至[i=n-2]，rate[n-1]とは、必ずしも一対一に対応していない点注意する。
【０１６８】
以上、本発明が適用される実施の形態の説明として、縮小処理についてのみ言及した。ただし、当然ながら、本発明は、拡大処理にも適用できる。この場合、拡大処理も、拡大と縮小の違い以外は、基本的に上述した一連の処理と同様の処理で実現可能になる。具体的には例えば、図４と図５のフローチャート中の変数を次のように置き換えることで、拡大処理についての転送倍率決定処理が実現可能になる。
【０１６９】
S：拡大処理の転送先のサイズ
D：拡大処理の転送元のサイズ
Y：{1 / {ハードウエアの転送倍率の上限値}}
【０１７０】
また、上述の例では、縮小処理の回数ｎが予め決定された後に、転送倍率決定処理が行われた。しかしながら、縮小処理の回数ｎの決定タイミングは、上述した例に特に限定されない。例えば、転送倍率決定処理の枠組み内で、転送処理の回数ｎを決定するようにしても構わない。
＜３．本発明が適用される情報処理システムの第２実施形態＞
【０１７１】
本発明の第２実施形態が適用される情報処理システムの機能的構成としては、第１実施形態と同様の構成を採用し得る。即ち、図１はまた、本発明の第２実施形態が適用される情報処理システムの機能的構成例を示している。
【０１７２】
上述の如く、画像処理装置２３として採用し得る装置の中では、転送倍率が特定の値を下回ると、画像処理装置２３が画素を間引きする処理（以下、間引き処理と称する）などを行う装置が存在する。この場合、間引き処理が実行されると、画質が劣化してしまうことになる。
【０１７３】
そこで、間引き処理の実行を禁止する必要がある。このためには、情報処理システムは、第１実施形態と基本的に同様の動作を行えばよい。
【０１７４】
ただし、第１実施形態では、縮小処理を複数回に分ける場合には、転送倍率の下限値Yを基準としたのに対して、第２実施形態では、画質の劣化を伴う転送倍率の特定の値を基準とする。以下、この特定の値を、Zと記述する。すると、画像処理装置２３は、図２を用いて説明した画像データの縮小処理をそのまま実行することができる。
【０１７５】
ただし、式（１）において、転送倍率A，Bi，Cn-1は何れも、特定の値Z以上であるとする。即ち、原則として、値Yを値Zに変更することで、図３以降の画像データ転送処理もそのまま実現可能になる。
【０１７６】
＜本発明の効果等＞
【０１７７】
以上説明した本発明が適用される情報処理システムを採用することで、様々な効果を奏することが可能になる。以下、その中でも特に顕著な効果として、第１の効果乃至第３の効果について説明する。
【０１７８】
第１の効果とは、ハードウエアの転送倍率の上限値を上回る拡大処理や、下限値を下回る縮小処理が可能になる、という効果である。
【０１７９】
第２の効果とは、拡大縮小による画質劣化の軽減という効果である。即ち、ハードウエアの中には、縮小処理時の転送倍率が特定の値を下回ると、間引き処理などを行うものも存在する。このような間引き処理などが行われると、画質が劣化してしまう。例えば、間引き処理が行われた場合、画像内の斜めの直線はガタガタになり、本来滑らかな直線であるところ、そのような直線でないことをユーザが視認できるほどに、画質が劣化してしまうことがある。このような画質劣化が致命的となるアプリケーションソフトウエアが用いられる場合、本発明を適用することで、ハードウエアの変更を行わずに、画質劣化を軽減することができる。このような効果が第２の効果である。
【０１８０】
第３の効果とは、ハードウエアの作成コストを削減できるという効果である。近年の画像の高解像度化により、高解像度の画像を低い転送倍率で縮小する機会が増加の傾向にあり、今後も、この傾向は継続していくことが予想される。しかし、本発明を適用することで、第１の効果の発揮により、ハードウエアの転送倍率の下限値を下回る縮小処理が可能になるため、高解像度化に対応させるためだけに、コストをかけてハードウエアを変更する必要がなくなる。逆に、敢えて、ハードウエアの転送倍率の上限値を低く設定したり、下限値を高く設定したり、ハードウエアで間引き処理などを行う機能をなくすことも可能である。このようなことをすることで、ハードウエア内のメモリ削減やバンド幅削減が可能となり、その結果として、ハードウエアの作成コストの削減が期待できる。このような効果が第３の効果である。なお、本発明をミドルウエアに適用すれば、アプリケーションソフトウエアの開発にコストをかけることなく、ハードウエアのコスト削減が期待できる。
【０１８１】
ところで、上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることができる。
【０１８２】
この場合、上述した情報処理装置の少なくとも一部として、例えば、図６に示されるパーソナルコンピュータを採用してもよい。
【０１８３】
図６において、CPU（Central Processing Unit）１０１は、ROM（Read Only Memory）１０２に記録されているプログラム、または記憶部１０８からRAM（Random Access Memory）１０３にロードされたプログラムに従って各種の処理を実行する。RAM１０３にはまた、CPU１０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１８４】
CPU１０１、ROM１０２、およびRAM１０３は、バス１０４を介して相互に接続されている。このバス１０４にはまた、入出力インタフェース１０５も接続されている。
【０１８５】
入出力インタフェース１０５には、キーボード、マウスなどよりなる入力部１０６、ディスプレイなどよりなる出力部１０７、ハードディスクなどより構成される記憶部１０８、および、モデム、ターミナルアダプタなどより構成される通信部１０９が接続されている。通信部１０９は、インターネットを含むネットワークを介して他の装置（図示せず）との間で行う通信を制御する。
【０１８６】
入出力インタフェース１０５にはまた、必要に応じてドライブ１１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなるリムーバブルメディア１１１が適宜装着される。そして、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部１０８にインストールされる。
【０１８７】
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１８８】
このようなプログラムを含む記録媒体は、図６に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フロッピディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（MD（Mini-Disk）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア（パッケージメディア）１１１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM１０２や、記憶部１０８に含まれるハードディスクなどで構成される。
【０１８９】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【符号の説明】
【０１９０】
１１  情報処理システム,  ２１  主制御装置，  ２２  外部記憶装置，  ２３  画像処理装置，  ２４  ディスプレイ装置，  ３１  データ読み込み処理部，  ３２  画像転送部，  ４１  一時領域，  ４２  縮小用一時領域，  ４３  表示用領域，  ５１−１，５１−２  縮小処理部，  １０１  CPU，  １０２  ROM，  １０３  RAM，  １０８  記憶部，  １１１  リムーバブルメディア
【図１】
2010160721.tif 000003
【図２】
2010160721.tif 000004
【図３】
2010160721.tif 000005
【図４】
2010160721.tif 000006
【図５】
2010160721.tif 000007
【図６】
2010160721.tif 000008
【手続補正書】
【提出日】平成22年3月12日(2010.3.12)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
なお、システムとは、複数の装置や処理部により構成される装置全体を表すものである。即ち、図１の例の情報処理システム１１は、１台の情報処理装置全体であると把握することもできるし、複数の装置より構成されたものであると把握することもできる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
図１の例の情報処理システム１１は、CPU（Central Processing Unit）を含む主制御装置２１、外部記憶装置２２、画像処理装置２３、およびディスプレイ装置２４を含むように構成されている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００７１
【補正方法】変更
【補正の内容】
【００７１】
なお、以下、転送倍率Aを、rate[0]と適宜称する。転送倍率Bi（i=1乃至n-2）を、rate[i]と適宜称する。また、転送倍率Cn-1を、rate[n-1]と適宜称する。即ち、ステップＳ５の転送倍率決定処理で、ｎ個の転送倍率rate[0]乃至rate[n-1]（＝A，Bi，Cn-1）が決定されると、処理はステップＳ６に進む。ステップＳ６において、画像転送部３３は、外部記憶装置２２から転送対象画像データを一時領域４１に読み込む。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
なお、縮小処理の回数ｎ≧３の場合、上述の如く、縮小用一時領域４２は２以上存在する。よって、縮小処理部５１−（ｉ＋１）は、２つ以上の縮小用一時領域４２のうちの１つから転送対象画像データを取得し、その転送対象画像データに対してrate[i]（i=0の場合はAであり、i=1乃至n-2の場合Biである）での縮小処理を施す。縮小処理部５１−（ｉ＋１）は、rate[i]で縮小された転送対象画像データを、２つ以上の縮小用一時領域４２のうちの別の１つに一旦格納する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００８３
【補正方法】変更
【補正の内容】
【００８３】
次に、ステップＳ５の転送倍率決定処理の具体例、換言すると転送倍率決定手法の例について幾つか説明していく。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１１１
【補正方法】変更
【補正の内容】
【０１１１】
図４，図５の転送倍率決定処理のうち、図４に示される処理の概略は次の通りになる。即ち、複数回に分けた縮小処理のうち、全ての転送倍率A，Bi，Cn-1を 1/k にできるか否かが確認される。この確認は、元々の転送倍率 X を n 個の 1/ｋ の積(各分数の分母のｋは、一致していても、一致していなくても良い)として表すことができるか否かを確認することで実現可能である。また、図４に示される処理としては、元々の転送倍率X を n 個の 1/k の積で表せる場合には、各転送倍率A，Bi，Cn-1が算出される。これに対して、元々の転送倍率X を n 個の 1/k の積で表せない場合には、次の図５に示される処理が実行される。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１１２
【補正方法】変更
【補正の内容】
【０１１２】
図４，図５の転送倍率決定処理のうち、図５に示される処理の概略は次の通りになる。即ち、複数回に分けた縮小処理の各転送倍率A，Bi，Cn-1が、できるだけ多く 1/k となるように、各転送倍率を算出する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１２３
【補正方法】変更
【補正の内容】
【０１２３】
k < 2 である場合、そもそも、転送倍率 X を 1/k の積として表すことができない。そこで、このような場合、ステップＳ２３においてＹＥＳであると判定されて、処理は図５のステップＳ２９に進む。即ち、図５に示される処理が実行される。ただし、図５に示される処理については後述する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１２４
【補正方法】変更
【補正の内容】
【０１２４】
これに対して、ｋ≧２である場合、ステップＳ２３においてＮＯであると判定されて、処理はステップＳ２４に進む。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１２９
【補正方法】変更
【補正の内容】
【０１２９】
具体的には例えば、ステップＳ２１の処理でk=3が設定されたので、k=3である場合にステップＳ２４の処理でＹＥＳであると判定されたときには、rate[p] = 1/3となる。また例えば、k=3である場合にステップＳ２４の処理でＮＯであると判定されて、次のステップＳ２５の処理でk=2に更新されて、次のステップＳ２４の処理でＹＥＳであると判定されたときには、rate[p] = 1/2となる。なお、k=2である場合に、ステップＳ２４の処理でＮＯであると判定されると、次のステップＳ２５の処理でk=1に更新されるため、次のステップＳ２３の処理ではＹＥＳであると判定されて、後述する図５に示される処理が実行されることになる。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１７０
【補正方法】変更
【補正の内容】
【０１７０】
また、上述の例では、縮小処理の回数ｎが予め決定された後に、転送倍率決定処理が行われた。しかしながら、縮小処理の回数ｎの決定タイミングは、上述した例に特に限定されない。例えば、転送倍率決定処理の枠組み内で、縮小処理の回数ｎを決定するようにしても構わない。
＜３．本発明が適用される情報処理システムの第２実施形態＞