(57)【要約】画像閲覧方法、システム及びコンピュータ記憶媒体が開示される。画像閲覧方法は、画像に対するユーザの操作要求を取得する工程と、操作要求を予め設定した条件と比較し、画像をメインキャッシュに格納する必要があるかを判定する工程と、画像をメインキャッシュに格納する必要がある場合、さらに、画像のレンダリングが初めてであるかを判定し、初めてである場合、メインスレッドを用いて、画像をメインキャッシュに格納し、メインキャッシュから画像を取得し、当該画像をレンダリングし、それ以外の場合、メインスレッドを用いて画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする工程と、レンダリングされた画像を表示する工程と、を含む。上記画像閲覧方法、システム及びコンピュータ記憶媒体は、レンダリングする画像の作成に時間がかかるために画像の閲覧がスムーズに行われないことを回避するので、画像のよりスムーズな閲覧が可能となる。
2014517395.tif 000002
【特許請求の範囲】
【請求項１】
画像閲覧方法であって、
画像に対するユーザの操作要求を取得する工程と、
前記操作要求を予め設定した条件と比較し、前記画像をメインキャッシュに格納する必要があるかを判定する工程と、
前記画像を前記メインキャッシュに格納する必要がある場合、前記画像のレンダリングが初めてであるかをさらに判定し、初めてである場合、メインスレッドを用いて、前記画像を前記メインキャッシュに格納し、前記メインキャッシュから前記画像を取得し、当該画像をレンダリングし、それ以外の場合、メインスレッドを用いて、画像チェーンから前記メインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする工程と、
レンダリングされた画像を表示する工程と、
を含む、画像閲覧方法。
【請求項２】
請求項１に記載の画像閲覧方法であって、さらに、
前記メインキャッシュに前記画像を格納する必要がない場合、メインスレッドを用いて、前記メインキャッシュから前記画像を直接取得し、当該画像をレンダリングする工程を含む、画像閲覧方法。
【請求項３】
請求項１または２に記載の画像閲覧方法であって、
画像チェーンから前記メインキャッシュの容量に適応した画像を取得する工程は、具体的に、前記画像の画像チェーンが作成されたかを判定し、作成されていた場合、前記メインスレッドを用いて、前記画像チェーンから前記メインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングし、それ以外の場合、前記メインスレッドを用いて、前記画像チェーンを作成し、前記画像チェーンから前記メインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする工程を含む、画像閲覧方法。
【請求項４】
請求項３に記載の画像閲覧方法であって、さらに、
前記画像の画像チェーンが作成されたかを判定した後、前記画像チェーンがサブキャッシュにあるかを判定し、サブキャッシュにある場合、前記メインスレッドを用いて、前記サブキャッシュの前記画像チェーンから前記メインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングし、それ以外の場合、前記メインスレッドを用いて、作成された画像チェーンを前記サブキャッシュに格納し、前記画像の画像チェーンがまだ作成されていないと判定された場合、前記メインスレッドを用いて、前記画像の画像チェーンを作成し、作成された画像チェーンをサブキャッシュに格納し、前記サブチェーンの画像チェーンから前記メインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする工程を含む、画像閲覧方法。
【請求項５】
請求項１または２に記載の画像閲覧方法であって、
前記予め設定した条件は、
画像のレンダリングが初めてである、
前記画像のサイズが前記メインキャッシュの容量よりも大きい、及び
前記ユーザが画像のサイズ変更またはドラッグの操作を行っている、
のうちいずれかから選択される、画像閲覧方法。
【請求項６】
請求項１または２に記載の画像閲覧方法であって、
前記メインキャッシュに画像を格納する必要があり、前記画像のレンダリングが初めてではない場合、
前記画像閲覧方法はさらに、サブスレッドを用いて、画像を作成し、作成された画像を前記メインキャッシュに格納し、前記メインスレッドを用いて、前記メインキャッシュから作成された画像を取得し、当該画像をレンダリングする工程を含む、画像閲覧方法。
【請求項７】
画像閲覧システムであって、
画像に対するユーザの操作要求を取得するように構成された取得モジュールと、
前記操作要求を予め設定した条件と比較し、前記画像をメインキャッシュに格納する必要があるか、及び、画像のレンダリングが初めてであるかを判定するように構成された判定モジュールと、
前記判定モジュールが前記画像を前記メインキャッシュに格納する必要があり、前記画像のレンダリングが初めてであると判定した場合、メインスレッドを用いて、前記画像を前記メインキャッシュに格納し、前記画像を前記メインキャッシュから取得し、当該画像をレンダリングし、前記判定モジュールが前記画像を前記メインキャッシュに格納する必要があり、前記画像のレンダリングが初めてではないと判定した場合、前記メインスレッドを用いて、画像チェーンから前記メインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングするように構成されたレンダリングモジュールと、
レンダリングされた画像を表示する表示モジュールと、
を含む、画像閲覧システム。
【請求項８】
請求項７に記載の画像閲覧システムであって、
前記判定モジュールが前記画像を前記メインキャッシュに格納する必要がないと判定した場合、前記レンダリングモジュールは、前記メインスレッドを用いて、前記メインキャッシュから直接前記画像を取得し、当該画像をレンダリングする、画像閲覧システム。
【請求項９】
請求項７または８に記載の画像閲覧システムであって、
前記判定モジュールはさらに、前記画像の画像チェーンが作成されたかを判定し、作成されていた場合、メインスレッドモジュールは、前記画像チェーンから前記メインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングし、それ以外の場合、前記メインスレッドモジュール、画像チェーンを作成し、前記画像チェーンから前記メインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする、画像閲覧システム。
【請求項１０】
請求項９に記載の画像閲覧システムであって、
前記判定モジュールはさらに、前記画像の画像チェーンが作成されていたと判定された後、前記画像チェーンがサブキャッシュにあるかを判定し、サブキャッシュある場合、前記レンダリングモジュールは、前記メインスレッドを用いて、前記サブキャッシュの画像チェーンから前記メインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングし、それ以外の場合、前記レンダリングモジュールは、前記メインスレッドを用いて、作成された画像チェーンを前記サブキャッシュに格納し、前記判定モジュールが前記画像の画像チェーンがまだ作成されていないと判定した場合、前記レンダリングモジュールは、前記メインスレッドを用いて、前記画像チェーンを作成し、作成された画像チェーンをサブキャッシュに格納し、前記サブキャッシュの画像チェーンから前記メインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする、画像閲覧システム。
【請求項１１】
請求項７または８に記載の画像閲覧システムであって、
前記予め設定した条件は、
画像のレンダリングが初めてである、
前記画像のサイズが前記メインキャッシュの容量より大きい、及び
前記ユーザが画像のサイズ変更またはドラッグの操作を行っている、
のうちいずれかより選択される、画像閲覧方法。
【請求項１２】
請求項７または８に記載の画像閲覧システムであって、
前記判定モジュールは、前記画像を前記メインキャッシュに格納する必要があり、画像のレンダリングが初めてではないと判定した場合、前記レンダリングモジュールは、サブスレッドを用いて、画像を作成し、作成された画像を前記メインキャッシュに格納し、その後、前記レンダリングモジュールは、前記メインスレッドを用いて、作成された画像を前記メインキャッシュから取得し、当該画像をレンダリングする、画像閲覧システム。
【請求項１３】
コンピュータ実行可能命令を保存する非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、１つ以上のコンピュータ処理装置で実行されると、前記１つ以上のコンピュータ処理装置に画像閲覧方法を行わせ、前記画像閲覧方法は、
画像に対するユーザの操作要求を取得する工程と、
前記操作要求を予め設定した条件と比較し、前記画像をメインキャッシュに格納する必要があるかを判定する工程と、
前記画像を前記メインキャッシュに格納する必要がある場合、前記画像のレンダリングが初めてであるかをさらに判定し、初めてである場合、メインスレッドを用いて、前記画像を前記メインキャッシュに格納し、前記メインキャッシュから前記画像を取得し、当該画像をレンダリングし、それ以外の場合、前記メインスレッドを用いて、画像チェーンから前記メインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする工程と、
レンダリングされた画像を表示する工程と、
を含む、コンピュータ記憶媒体。
【請求項１４】
請求項１３に記載のコンピュータ記憶媒体であって、前記画像閲覧方法はさらに、
前記画像を前記メインキャッシュに格納する必要がない場合、前記メインスレッドを用いて、前記メインキャッシュから直接前記画像を取得し、当該画像をレンダリングする工程を含む、コンピュータ記憶媒体。
【請求項１５】
請求項１３または１４に記載のコンピュータ記憶媒体であって、
画像チェーンから前記メインキャッシュの容量に適応した画像を取得する工程はさらに、前記画像の画像チェーンが作成されたかを判定し、作成されていた場合、前記メインスレッドを用いて、前記画像チェーンから前記メインスレッドの容量に適応した画像を取得し、当該画像をレンダリングし、それ以外の場合、前記メインスレッドを用いて、前記画像チェーンを作成し、前記画像チェーンから前記メインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする工程を含む、コンピュータ記憶媒体。
【請求項１６】
請求項１５に記載のコンピュータ記憶媒体であって、前記画像閲覧方法はさらに、
前記画像の画像チェーンが作成されたかを判定した後、前記画像チェーンがサブキャッシュにあるかを判定し、サブキャッシュにある場合、前記メインスレッドを用いて、前記サブキャッシュの画像チェーンから前記メインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングし、それ以外の場合、前記メインスレッドを用いて、作成された画像を前記サブキャッシュに格納し、前記画像の画像チェーンがまだ作成されていないと判定された場合、前記メインスレッドを用いて、前記画像の画像チェーンを作成し、作成された画像チェーンをサブキャッシュに格納し、前記サブキャッシュの前記画像チェーンから前記メインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする工程を含む、コンピュータ記憶媒体。
【請求項１７】
請求項１３または１４に記載のコンピュータ記憶媒体であって、
前記予め設定した条件は、
画像のレンダリングが初めてである、
前記画像のサイズが前記メインキャッシュの容量よりも大きい、及び、
前記ユーザが、画像のサイズ変更またはドラッグの操作を行っている、
のうちいずれかより選択される、コンピュータ記憶媒体。
【請求項１８】
請求項１３または１４に記載のコンピュータ記憶媒体であって、前記画像閲覧方法はさらに、
画像を前記メインキャッシュに格納する必要があり、画像のレンダリングが初めてではない場合、サブスレッドを用いて、画像を作成し、作成された画像を前記メインキャッシュに格納し、前記メインスレッドを用いて、前記メインキャッシュから作成された画像を取得し、当該画像をレンダリングする工程を、含むコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、画像処理の分野、特に、画像閲覧方法、システム及びコンピュータ記憶媒体に関する。
【背景技術】
【０００２】
画像を閲覧する際、ユーザは、画像に対して、サイズ変更、ドラッグ、切り替えなど様々な操作を行うことがよくある。
【０００３】
しかし、Ｗｉｎｄｏｗｓ  ＰｉｃｔｕｒｅやＦａｘ  Ｖｉｅｗｅｒなどの従来の画像ビューアを用いて高解像度の画像を閲覧する場合、適切な画像キャッシングや最適化機能がないため、画像に対する補間演算が非常に遅くなり、結果的に、画像のサイズ変更やドラッグがスムーズに行われなくなる、或いは、応答がないことさえある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記を踏まえて、画像のスムーズな閲覧を可能にする画像閲覧方法を提供する必要がある。
【課題を解決するための手段】
【０００５】
画像閲覧方法は、画像に対するユーザの操作要求を取得する工程と、操作要求を予め設定した条件と比較し、画像をメインキャッシュに格納する必要があるかを判定する工程と、画像をメインキャッシュに格納する必要がある場合、画像のレンダリングが初めてであるかをさらに判定し、初めてである場合、メインスレッドを用いて画像をメインキャッシュに格納し、メインキャッシュから画像を取得し、当該画像をレンダリングし、それ以外の場合、メインスレッドを用いて、画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする工程と、レンダリングされた画像を表示する工程と、を含む。
【０００６】
一実施形態において、方法はさらに、画像をメインキャッシュに格納する必要がない場合、メインスレッドを用いて、メインキャッシュから画像を直接取得し、当該画像をレンダリングする工程を含む。
【０００７】
一実施形態において、画像チェーンからメインキャッシュの容量に適応した画像を取得する工程は、具体的に、画像の画像チェーンが作成されたかを判定し、作成されていた場合、メインスレッドを用いて、画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングし、それ以外の場合、メインスレッドを用いて、画像チェーンを作成し、画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする工程を含む。
【０００８】
一実施形態において、方法はさらに、画像の画像チェーンが作成されたかを判定した後、画像チェーンがサブキャッシュにあるかを判定し、サブキャッシュにある場合、メインスレッドを用いて、サブキャッシュの画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングし、それ以外の場合、メインスレッドを用いて、作成された画像チェーンをサブキャッシュに格納し、画像の画像チェーンがまだ作成されていないと判定された場合、メインスレッドを用いて、画像の画像チェーンを作成し、作成された画像チェーンをサブキャッシュに格納し、サブキャッシュの画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする工程を含む。
【０００９】
一実施形態において、予め設定した条件は、画像のレンダリングが初めてである、画像のサイズがメインキャッシュの容量よりも大きい、及び、ユーザが画像のサイズ変更またはドラッグの操作を行っている、のうちいずれかより選択されてもよい。
【００１０】
一実施形態において、画像をメインキャッシュに格納する必要があり、画像のレンダリングが初めてではない場合、方法はさらに、サブスレッドを用いて、画像を作成し、作成された画像をメインキャッシュに格納し、メインスレッドを用いて、作成された画像をメインキャッシュから取得し、当該画像をレンダリングする工程を含む。
【００１１】
さらに、スムーズな画像閲覧を可能にする画像閲覧システムを提供する必要がある。
【００１２】
画像閲覧システムは、画像に対するユーザの操作要求を取得する取得モジュールと、操作要求を予め設定した条件と比較し、画像をメインキャッシュに格納する必要があるか、及び、画像のレンダリングが初めてであるかを判定する判定モジュールと、判定モジュールが画像をメインキャッシュに格納する必要があり、画像のレンダリングが初めてであると判定した場合、メインスレッドを用いて、画像をメインキャッシュに格納し、メインキャッシュから画像を取得し、当該画像をレンダリングし、判定モジュールが画像をメインキャッシュに格納する必要があり、画像のレンダリングが初めてではないと判定した場合、メインスレッドを用いて、画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングするレンダリングモジュールと、レンダリングされた画像を表示する表示モジュールと、を含む。
【００１３】
一実施形態において、判定モジュールが画像をメインキャッシュに格納する必要がないと判定した場合、レンダリングモジュールは、メインスレッドを用いてメインキャッシュから直接画像を取得し、当該画像をレンダリングする。
【００１４】
一実施形態において、判定モジュールはまた、画像の画像チェーンが作成されたかを判定し、作成されていた場合、メインスレッドモジュールは、画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングし、それ以外の場合、メインスレッドモジュールは、画像チェーンを作成し、画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする。
【００１５】
一実施形態において、判定モジュールはまた、画像の画像チェーンが作成されたかを判定した後、さらに、画像チェーンがサブキャッシュにあるかを判定し、サブキャッシュにある場合、レンダリングモジュールは、メインスレッドを用いて、サブキャッシュの画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングし、それ以外の場合、レンダリングモジュールは、メインスレッドを用いて、作成された画像チェーンをサブキャッシュに格納し、判定モジュールが、画像の画像チェーンがまだ作成されていないと判定した場合、レンダリングモジュールは、メインスレッドを用いて、画像チェーンを作成し、作成された画像チェーンをサブキャッシュに格納し、その後、サブキャッシュの画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする。
【００１６】
一実施形態において、予め設定した条件は、画像のレンダリングが初めてである、画像のサイズがメインキャッシュの容量よりも大きい、及び、ユーザが画像のサイズ変更またはドラッグの操作を行う、のうちいずれかより選択される。
【００１７】
一実施形態において、判定モジュールが画像をメインキャッシュに格納する必要があり、画像のレンダリングが初めてではないと判定した場合、レンダリングモジュールは、サブスレッドを用いて、画像を作成し、作成された画像をメインキャッシュに格納し、その後、レンダリングモジュールは、メインスレッドを用いて、作成された画像をメインキャッシュから取得し、当該画像をレンダリングする。
【００１８】
さらに、コンピュータ記憶媒体を提供する必要がある。
【００１９】
非一時的なコンピュータ可読記憶媒体は、コンピュータ実行可能命令を保存し、コンピュータ実行可能命令は、１つ以上のコンピュータ処理装置で実行されると、１つ以上のコンピュータ処理装置に画像閲覧方法を行わせる。方法は、画像に対するユーザの操作要求を取得する工程と、操作要求を予め設定した条件と比較し、画像をメインキャッシュに格納する必要があるかを判定する工程と、画像をメインキャッシュに格納する必要がある場合、さらに、画像のレンダリングが初めてであるかを判定し、画像のレンダリングが初めてである場合、メインスレッドを用いて、画像をメインキャッシュに格納し、画像をメインキャッシュから取得し、当該画像をレンダリングし、それ以外の場合、メインスレッドを用いて、画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする工程と、レンダリングされた画像を表示する工程と、を含む。
【００２０】
一実施形態において、方法はさらに、画像をメインキャッシュに格納する必要がない場合、メインスレッドを用いて、メインキャッシュから画像を直接取得し、当該画像をレンダリングする工程を含む。
【００２１】
一実施形態において、画像チェーンからメインキャッシュの容量に適応した画像を取得する工程は、具体的に、画像の画像チェーンが作成されたかを判定し、作成されていた場合、メインスレッドを用いて、画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングし、それ以外の場合、メインスレッドを用いて、画像チェーンを作成し、画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする工程を含む。
【００２２】
一実施形態において、方法はさらに、画像の画像チェーンが作成されたかを判定した後、画像チェーンがサブキャッシュあるかを判定する工程と、サブキャッシュにある場合、メインスレッドを用いて、サブキャッシュの画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする工程と、それ以外の場合、メインスレッドを用いて、作成された画像チェーンをサブキャッシュに格納する工程と、画像の画像チェーンがまだ作成されていないと判定した場合、メインスレッドを用いて、画像チェーンを作成し、作成された画像チェーンをサブキャッシュに格納し、サブキャッシュの画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする工程を含む。
【００２３】
一実施形態において、予め設定した条件は、画像のレンダリングが初めてである、画像のサイズがメインキャッシュの容量よりも大きい、及び、ユーザが画像のサイズ変更またはドラッグの操作を行う、のうちいずれかより選択される。
【００２４】
一実施形態において、画像をメインキャッシュに格納する必要があり、画像のレンダリングが初めてではない場合、方法はさらに、サブスレッドを用いて、画像を作成し、作成された画像をメインキャッシュに格納する工程と、メインスレッドを用いて、メインキャッシュから作成された画像を取得し、当該画像をレンダリングする工程とを含む。
【発明の効果】
【００２５】
上記の画像閲覧方法、システム及びコンピュータ記憶媒体によって、画像をメインキャッシュに格納する必要があり、画像のレンダリングが初めてである場合、画像は、メインキャッシュに格納され、メインキャッシュから取得され、レンダリングされ、画像をメインキャッシュに格納する必要があり、画像のレンダリングが初めてではない場合、画像は、画像チェーンから取得され、レンダリングされる。異なる大きさを有する一連の画像である画像チェーンから適切な画像を選択することで、高速なレンダリングが実現でき、レンダリングする画像の作成に時間がかかるために画像の閲覧がスムーズに行われないことを回避することができる。このように、ユーザは、画像をよりスムーズに閲覧することができる。一方、メインスレッドを用いてサブキャッシュの画像チェーンから画像を取得し、サブスレッドを用いて画像を作成することで、各スレッドのレンダリング負荷がそれぞれ削減され、さらに、二重のキャッシングにより、レンダリングする画像に、容易に、迅速にアクセスしやすくなり、画像閲覧プロセス全体をよりスムーズにすることができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態における画像閲覧方法のフロー図である。
【図２】本発明の別の実施形態における画像閲覧方法のフロー図である。
【図３】本発明の一実施形態における画像閲覧システムの概略構造図である。
【発明を実施するための形態】
【００２７】
本発明は、具体的な実施形態及び添付の図面と合わせて以下の記載を参照することでより理解されるだろう。
【００２８】
一実施形態において、図１に示すように、画像閲覧方法は、以下の工程を含む。
工程Ｓ１１０：画像に対するユーザの操作要求を取得する。
【００２９】
画像に対するユーザの操作要求は、画像閲覧、サイズ変更及びドラッグの操作でもよい。操作要求は、第１レンダリング情報、画像サイズ情報及びサイズ変更情報などを含んでもよい。
【００３０】
工程Ｓ１２０：操作要求を予め設定した条件と比較し、画像をメインキャッシュに格納する必要があるかを判定し、格納する必要がある場合、工程Ｓ１３０を行い、それ以外の場合、工程Ｓ１６０を行う。
【００３１】
メインキャッシュに保存されるのはソース画像の部分である。レンダリングする部分がメインキャッシュに保存されていた部分を超えると、画像をメインキャッシュに格納する必要がある。キャッシュに格納する画像とメインキャッシュに既に保存されていた画像は両方とも、同じソース画像の部分である。キャッシュに格納するとは、画像のサイズを変更し、切り抜き、画像データをメモリからビデオメモリに読み込む操作を意味する。メモリとは、Ｄ３ＤのＤ３ＤＰＯＯＬ＿ＳＹＳＴＥＭＭＥＭリソースプールであり、Ｄ３ＤＰＯＯＬ＿ＳＹＳＴＥＭＭＥＭリソースプールに保存されたリソースには、装置は直接アクセスできない。ビデオメモリは、Ｄ３ＤのＤ３ＤＰＯＯＬ＿ＤＥＦＡＵＬＴリソースプールであり、Ｄ３ＤＰＯＯＬ＿ＤＥＦＡＵＬＴリソースプールは、ビデオメモリに作成されるので、システムメモリを使用するが、装置を失くした場合、再度、作成されなければならない。メインキャッシュは、予め設定した基準に適合する定義を有する画像を保存するのに用いられる。
【００３２】
一実施形態において、予め設定した条件は、以下のうちいずれかより選択される。
（１）画像のレンダリングが初めてである。
【００３３】
ユーザは、画像に操作を行う。操作に従って、画像のレンダリングが初めてである場合、メインスレッドを用いて画像をメインキャッシュから取得して画像をレンダリングするために、画像をメインキャッシュに格納する必要がある。
【００３４】
（２）画像のサイズがメインキャッシュの容量よりも大きい。
【００３５】
画像のサイズがメインキャッシュの容量よりも大きい場合、画像を全て、メインキャッシュに格納することはできないので、画像のサイズをメインキャッシュの容量に適応するサイズに変更してからメインキャッシュに格納する必要がある。
【００３６】
（３）ユーザが画像のサイズ変更またはドラッグの操作を行っている。
【００３７】
ユーザがサイズ変更の操作を行っている場合、予め設定した基準に適合する定義を有する新しい画像の作成は、相対的に遅くなってしまうので、メインキャッシュからの画像の抽出効率が低下してしまう。画像を画像チェーンから取得する場合、サイズ変更の度合いが大きくなりすぎることがないので、操作は速くなる。画像チェーンは、Ｍｉｐｍａｐ画像処理技術によって作成された一連の画像であり、画像列の各画像は、以前の画像の４分の１の大きさ、すなわち、以前の画像の半分の長さ及び幅を有する。画像チェーンの画像の定義は、予め設定した基準に適合しない。
【００３８】
工程Ｓ１３０：画像のレンダリングが初めてであるかをさらに判定する。初めてである場合、工程Ｓ１４０を行い、それ以外の場合、工程Ｓ１５０を行う。
【００３９】
工程Ｓ１４０：メインスレッドを用いて、画像をメインキャッシュに格納し、メインキャッシュから画像を取得し、当該画像をレンダリングする。
【００４０】
画像のレンダリングが初めてである場合、メインスレッドを用いて、作成された画像をメインキャッシュに格納し、メインキャッシュから画像を取得し、当該画像をレンダリングする。
【００４１】
工程Ｓ１５０：メインスレッドを用いて画像チェーンからメインキャッシュの容量に適応する画像を取得し、当該画像をレンダリングする。
【００４２】
メインスレッドは、画像チェーンから画像を取得し、当該画像をレンダリングする。レンダリングされた画像の定義は、予め設定した基準に適合せず、レンダリング後、一時的に表示される。予め設定した基準に適合する画像が作成され、メインキャッシュに格納された後、作成された画像は、基準に適合する画像として表示されるように、メインキャッシュから取得され、レンダリングされる。
【００４３】
工程Ｓ１６０：メインスレッドを用いてメインキャッシュから直接画像を取得し、当該画像をレンダリングする。
【００４４】
画像をメインキャッシュに格納する必要がない場合、すなわち、（１）から（３）の条件のいずれも満たさない場合、画像は、メインキャッシュから直接取得され、レンダリングされる。
【００４５】
工程Ｓ１７０：レンダリングされた画像を表示する。
【００４６】
レンダリングされた画像は、ユーザが閲覧するために表示される。
【００４７】
図２は、別の実施形態における画像閲覧方法のフロー図である。方法は、以下の工程を含む。
工程Ｓ２０１：画像に対するユーザ操作要求を取得する。
【００４８】
画像に対するユーザの操作要求は、画像閲覧、サイズ変更及びドラッグの操作でもよい。操作要求は、第１レンダリング情報、画像サイズ情報及びサイズ変更情報などを含んでもよい。
【００４９】
工程Ｓ２０３：操作要求を予め設定した条件と比較し、画像をメインキャッシュに格納する必要があるかを判定し、格納する必要がある場合、工程Ｓ２０５を行い、それ以外の場合、工程Ｓ２０４を行う。
【００５０】
メインキャッシュに保存されるのはソース画像の部分である。レンダリングする部分がメインキャッシュに保存されていた部分を超えると、画像をメインキャッシュに格納する必要がある。キャッシュに格納する画像とメインキャッシュに既に格納されていた画像は両方とも、同じソース画像の部分である。キャッシュに格納するとは、画像のサイズを変更し、切り抜き、画像データをメモリからビデオメモリに読み込む操作を意味する。メモリとは、Ｄ３ＤのＤ３ＤＰＯＯＬ＿ＳＹＳＴＥＭＭＥＭリソースプールであり、Ｄ３ＤＰＯＯＬ＿ＳＹＳＴＥＭＭＥＭリソースプールに保存されたリソースには、装置は直接アクセスできない。ビデオメモリは、Ｄ３ＤのＤ３ＤＰＯＯＬ＿ＤＥＦＡＵＬＴリソースプールであり、Ｄ３ＤＰＯＯＬ＿ＤＥＦＡＵＬＴリソースプールは、ビデオメモリに作成されるので、システムメモリを使用するが、装置を失くした場合、再度、作成されなければならない。メインキャッシュは、予め設定した基準に適合する定義を有する画像を保存するのに用いられる。
【００５１】
工程Ｓ２０４：メインスレッドを用いてメインキャッシュから画像を取得し、当該画像をレンダリングする。
【００５２】
工程Ｓ２０５：画像のレンダリングが初めてであるかをさらに判定し、初めてである場合、工程Ｓ２０６を行い、それ以外の場合、工程Ｓ２０７を行う。
【００５３】
一実施形態において、方法はさらに、工程Ｓ２０７と同じ時間において、画像を作成し、作成された画像をメインキャッシュに格納し、作成された画像をメインキャッシュから取得し、当該画像をレンダリングする工程を含む。予め設定した基準に適合する定義を有する画像のレンダリングは、サブスレッドによって実現される。
【００５４】
工程Ｓ２０６：メインスレッドを用いて画像をメインキャッシュに格納し、工程Ｓ２０４を行う。
【００５５】
画像のレンダリングが初めてである場合、メインスレッドを用いて、作成された画像をメインキャッシュに格納し、画像をメインキャッシュから取得し、当該画像をレンダリングする。
【００５６】
工程Ｓ２０７：画像の画像チェーンが作成されたかを判定する。作成されていた場合、工程Ｓ２０８を行い、それ以外の場合、工程Ｓ２０９を行う。
【００５７】
画像の画像チェーンが作成されたかを判定し、作成されていた場合、メインキャッシュの容量に適応する画像を画像チェーンから直接取得し、当該画像をレンダリングするか、または、画像チェーンがサブキャッシュにあるかをさらに判定し、画像チェーンがまだ作成されていない場合、画像チェーンを作成し、メインキャッシュの容量に適応した画像を画像チェーンから取得し、当該画像をレンダリングするか、または、画像チェーンをサブキャッシュに格納する。画像チェーンはサブキャッシュに保存される。
【００５８】
工程Ｓ２０８：画像チェーンがサブキャッシュにあるかを判定し、サブキャッシュにある場合、工程Ｓ２１１を行い、それ以外の場合、工程Ｓ２１０を行う。
【００５９】
サブキャッシュの利用により、予め設定した基準に適合しない画像をキャッシュに迅速に格納することができ、メインスレッドが、サブキャッシュから予め設定した基準に適合しない画像を取得し、当該画像をレンダリングしやすくするので、操作をスムーズにすることができる。
【００６０】
工程Ｓ２０９：メインスレッドを用いて、画像の画像チェーンを作成し、作成された画像チェーンをサブキャッシュに格納する。
【００６１】
工程Ｓ２１０：メインスレッドを用いて、作成された画像チェーンをサブキャッシュに格納する。
【００６２】
工程Ｓ２１１：メインスレッドを用いて、メインキャッシュの容量に適応した画像をサブキャッシュの画像チェーンから取得し、当該画像をレンダリングする。
【００６３】
画像チェーンから取得されたレンダリングする画像は、定義基準に適合せず、予め設定した基準に適合する定義を有する画像を作成するように、レンダリングされた画像が一時的に表示される。画像をメインキャッシュに格納した後、予め設定した基準に適合する定義を有する画像は、メインキャッシュから取得され、レンダリングされるので、予め設定した基準に適合する定義を有する画像が表示される。
【００６４】
工程Ｓ２１２：レンダリングされた画像を表示する。
【００６５】
レンダリングされた画像が、ユーザによって閲覧されるように表示される。
【００６６】
さらに、本発明は、コンピュータ実行可能命令を保存するコンピュータ記憶媒体を提供する。コンピュータ実行可能命令は、画像閲覧方法を実行するように構成され、コンピュータ記憶媒体に保存されたコンピュータ実行可能命令によって実行される画像閲覧方法に含まれる工程は、上述した工程と同じであるので、ここでは詳述しない。
【００６７】
図３に示すように、画像閲覧システムは、取得モジュール３１０、レンダリングモジュール３２０、判定モジュール３３０及び表示モジュール３４０を含む。
【００６８】
取得モジュール３１０は、画像に対するユーザの操作要求を取得するように構成される。画像に対するユーザの操作要求は、画像閲覧、サイズ変更及びドラッグの操作でもよい。操作要求は、第１レンダリング情報、画像サイズ情報及びサイズ変更情報などを含んでもよい。
【００６９】
レンダリングモジュール３２０は、操作要求に応じて画像をレンダリングするように構成される。
【００７０】
判定モジュール３３０は、操作要求を予め設定した条件と比較し、画像をメインキャッシュに格納する必要があるかを判定し、画像のレンダリングが初めてであるかを判定するように構成される。
【００７１】
判定モジュール３３０が、画像をメインキャッシュに格納する必要があり、画像のレンダリングが初めてであると判定した場合、レンダリングモジュール３２０は、メインスレッドを用いて、画像をメインキャッシュに格納し、画像をメインキャッシュから取得し、当該画像をレンダリングする。画像のレンダリングが初めてである場合、レンダリングモジュール３２０は、メインスレッドを用いて、作成された画像をメインキャッシュに格納し、画像をメインキャッシュから取得し、当該画像をレンダリングする。
【００７２】
判定モジュール３３０が、画像をメインキャッシュに格納する必要があり、画像のレンダリングが初めてではないと判定した場合、レンダリングモジュール３２０は、メインスレッドを用いて、画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする。レンダリングモジュール３２０は、メインスレッドを用いて、画像チェーンから画像を取得するが、取得した画像は、予め設定した基準に適合しない定義を有する。レンダリングされた画像は、一時的に表示される。予め設定した基準に適合した画像が作成され、メインキャッシュに格納された後、作成された画像は、メインキャッシュから取得され、表示モジュール３４０によって基準に適合する画像として表示されるようにレンダリングされる。
【００７３】
判定モジュール３３０が画像をメインキャッシュに格納する必要があり、画像のレンダリングが初めてではないと判定した場合、レンダリングモジュール３２０は、サブスレッドを用いて、画像を作成し、作成された画像をメインキャッシュに格納し、メインスレッドを用いて、作成された画像をメインキャッシュから取得し、当該画像をレンダリングする。作成された画像の定義は、予め設定した基準に適合する。
【００７４】
ユーザが画像サイズ変更操作を行う場合、ＳｔｒｅｔｃｈＤＩＢｉｔｓ、Ｄ３ＤＸＬｏａｄＳｕｒｆａｃｅＦｒｏｍＭｅｍｏｒｙ、及び、Ｄ３ＤＸＬｏａｄＳｕｒｆａｃｅＦｒｏｍＳｕｒｆａｃｅの３種類の画像サイズ変更機能を用いることができる。ＳｔｒｅｔｃｈＤＩＢｉｔｓは、高速で、割り込みすることができず、マルチスレッドにおいてサイズ変更された鮮明な画像を作成するのに一般的に用いられ、Ｄ３ＤＸＬｏａｄＳｕｒｆａｃｅＦｒｏｍＭｅｍｏｒｙ、及び、Ｄ３ＤＸＬｏａｄＳｕｒｆａｃｅＦｒｏｍＳｕｒｆａｃｅは、速度は遅いが、割り込み可能であり、サブキャッシュに画像を格納するのに用いられる。サイズ変更操作のレンダリングは、通常、レンダリングする画像チェーンからの画像を用いるが、非常に高速である。
【００７５】
ユーザが画像ドラッグ操作を行う場合、ドラッグ操作する間、メインキャッシュは十分な容量を有するので再びキャッシュに格納する必要がなく、画像を直接レンダリングすることができ、効率が良い。ユーザが集中的にドラッグ操作を行う場合、画像チェーンからの画像のレンダリングがより効率的である。
【００７６】
好適な実施形態において、判定モジュール３３０が画像をメインキャッシュに格納する必要があり、画像のレンダリングが初めてではないと判定する場合、判定モジュール３３０は、さらに画像の画像チェーンを作成するかを判定するように構成される。画像チェーンを作成すると判定する場合、レンダリングモジュール３２０は、メインスレッドを用いて、画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする。それ以外の場合、レンダリングモジュール３２０は、メインスレッドを用いて、画像チェーンを作成し、画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする。
【００７７】
好適な実施形態において、判定モジュール３３０はまた、画像チェーンが作成されたと判定された後、さらに、画像チェーンがサブキャッシュにあるかを判定し、サブキャッシュにある場合、レンダリングモジュール３２０は、メインスレッドを用いて、サブキャッシュの画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングする。それ以外の場合、レンダリングモジュール３２０は、メインスレッドを用いて、作成された画像をサブキャッシュに格納する。サブキャッシュの利用は、予め設定した基準に適合しない画像をすぐにキャッシュに格納することができ、レンダリングモジュール３２０がサブキャッシュから予め設定した基準に適合しない画像を取得し、画像をレンダリングしやすくするので、ユーザ操作をスムーズにすることができる。
【００７８】
判定モジュール３３０が画像の画像チェーンがまだ作成されていないと判定した場合、レンダリングモジュール３２０はさらに、画像チェーンを作成し、作成された画像チェーンをサブキャッシュに格納し、サブキャッシュの画像チェーンからメインキャッシュの容量に適応した画像を取得し、当該画像をレンダリングするように構成される。
【００７９】
判定モジュール３３０が画像をメインキャッシュに格納する必要がないと判定した場合、レンダリングモジュール３２０は、メインキャッシュから直接画像を取得し、当該画像をレンダリングする。
【００８０】
メインキャッシュに保存されるのは、ソース画像の部分である。レンダリングする部分がメインキャッシュに保存されていた部分を超えると、画像をメインキャッシュに格納する必要があり、キャッシュに格納する画像とメインキャッシュに既に保存されていた画像は、両方とも、同じソース画像の部分である。キャッシュに格納するとは、画像のサイズを変更し、切り抜き、画像データをメモリからビデオメモリに読み込む操作を意味する。メモリとは、Ｄ３ＤのＤ３ＤＰＯＯＬ＿ＳＹＳＴＥＭＭＥＭリソースプールであり、Ｄ３ＤＰＯＯＬ＿ＳＹＳＴＥＭＭＥＭリソースプールに保存されたリソースには、装置は直接アクセスできない。ビデオメモリは、Ｄ３ＤのＤ３ＤＰＯＯＬ＿ＤＥＦＡＵＬＴリソースプールであり、Ｄ３ＤＰＯＯＬ＿ＤＥＦＡＵＬＴリソースプールは、ビデオメモリに作成されるので、システムメモリを使用するが、装置を失くした場合、再度、作成されなければならない。メインキャッシュは、予め設定した基準に適合する定義を有する画像を保存するのに用いられる。
【００８１】
一実施形態において、予め設定した条件は、以下のうちいずれかより選択される。
【００８２】
（１）画像のレンダリングが初めてである。
【００８３】
ユーザは、画像に操作を行う。操作に従って、画像のレンダリングが初めてである場合、メインスレッドを用いて画像をメインキャッシュから取得して画像をレンダリングするように、画像をメインキャッシュに格納する必要がある。
【００８４】
（２）画像のサイズがメインキャッシュの容量よりも大きい。
【００８５】
画像のサイズがメインキャッシュの容量よりも大きい場合、画像を全て、メインキャッシュに格納することができないので、画像のサイズをメインキャッシュの容量に適応するサイズに変更してからメインキャッシュに格納する必要がある。
【００８６】
（３）ユーザが画像のサイズ変更またはドラッグの操作を行っている。
【００８７】
ユーザがサイズ変更の操作を行っている場合、予め設定した基準に適合する定義を有する新しい画像の作成は、相対的に遅くなってしまうので、メインキャッシュからの画像の抽出効率が低下してしまう。画像を画像チェーンから取得する場合、サイズ変更の度合いが大きくなりすぎることがないので、操作は速くなる。画像チェーンは、Ｍｉｐｍａｐ画像処理技術によって作成された一連の画像であり、画像列の各画像は、以前の画像の４分の１の大きさ、すなわち、以前の画像の半分の長さ及び幅を有する。画像チェーンの画像の定義は、予め設定した基準に適合しない。
【００８８】
表示モジュールは、レンダリングされた画像を表示するように構成される。
【００８９】
上述の画像閲覧方法、システム及びコンピュータ記憶媒体によって、画像をメインキャッシュに格納する必要がない場合、画像を、メインキャッシュから直接取得し、レンダリングし、画像をメインキャッシュに格納する必要があり、画像のレンダリングが初めてである場合、画像をメインキャッシュに格納し、メインキャッシュから取得し、レンダリングし、画像をメインキャッシュに格納する必要があり、画像のレンダリングが初めてではない場合、画像を画像チェーンから取得し、レンダリングする。異なる大きさの画像の列である画像チェーンから適切な画像を選択することで、高速なレンダリングを実現でき、レンダリングする画像の作成に時間がかかるために画像の閲覧がスムーズに行われないことを回避することができる。これにより、ユーザは、よりスムーズに画像を閲覧することができる。
【００９０】
さらに、サブスレッドによって画像を作成し、メインスレッドによって画像をレンダリングすることで、レンダリング効率がさらに向上し、スムーズな画像閲覧が可能となる。
【００９１】
本実施形態は、当業者が本発明及び様々な実施形態を利用することができるように、本発明の原理及びその実際の適用を説明するために、選択して記載されており、様々な修正により、考えられる特定の使用に適している。本発明の要旨及び範囲を逸脱することなく本発明に関連する別の実施形態も、当業者に明らかだろう。従って、本発明の範囲は、これまでの記載及び本明細書に記載された実施形態例よりも添付の請求の範囲によって規定される。
【図１】
2014517395.tif 000003
【図２】
2014517395.tif 000004
【図３】
2014517395.tif 000005
【国際調査報告】
2014517395.tif 000006
2014517395.tif 000007
2014517395.tif 000008
2014517395.tif 000009