(58)【調査した分野】(Int.Cl.,DB名)
前記アプリケーションは、前記ロードされたイメージを利用してゲームサービスを提供するゲームエンジンを含み、前記ゲームエンジンを介して前記決められたピクセルフォーマットで前記ロードされたイメージをレンダリングするように前記コンピュータを制御することを特徴とする、
請求項1または2に記載のプログラム。
前記ピクセルフォーマットが決められた前記ロードされたイメージに対する識別情報を、前記決められたピクセルフォーマットと互いに関連付けてキャッシュに保存する保存手段
をさらに備え、
前記ロードされたイメージが再ロードされる場合、前記ロードされたイメージのピクセルフォーマットは、前記キャッシュに前記ロードされたイメージの識別情報と関連付けて保存されたピクセルフォーマットに決定されることを特徴とする、
請求項5または6に記載のシステム。
前記アプリケーションは、前記ロードされたイメージを利用してゲームサービスを提供するゲームエンジンを含み、前記ゲームエンジンを介して前記決められたピクセルフォーマットで前記ロードされたイメージをレンダリングするように当該システムを制御することを特徴とする、
請求項5または6に記載のシステム。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、ファイルイメージをロードしてレンダリングする場合、ロードしたイメージを最適化されたピクセルフォーマットによってテクスチャ切り替えすることができるシステムおよび方法を提供する。
【課題を解決するための手段】
【0007】
コンピュータ
を、
前記コンピュータで駆動するアプリケーションの制御にしたがって前記
コンピュータのメモリにイメージをロードする
手段と、前記アプリケーションの制御にしたが
って、ネットワークを介してダウンロードされた、または前記
コンピュータで生成されて保存された基準カラー配列情報を前記メモリにロードする
手段と、前記ロードされたイメージの色相値と前記ロードされた基準カラー配列情報とに基づいて、前記ロードされたイメージのテクスチャ生成のためのピクセルフォーマットを決める
手段と
、して機能させることを特徴とするプログラムを提供する。
【0008】
一つの態様では、前記基準カラー配列情報は、基準となるピクセルフォーマットのビット数に基づくカラー配列イメージを含み、前記ピクセルフォーマットを決める
手段は、前記カラー配列イメージの色相値の色相分布と前記ロードされたイメージの色相値の色相分布とを比較することで、前記ロードされたイメージのテクスチャ生成のためのピクセルフォーマットを決めることを特徴としてもよい。
【0009】
他の態様では、前記ピクセルフォーマットを決める
手段は、前記カラー配列イメージの各ピクセルの色相値である第1RGB(Red Green Blue)値の3次元色相分布図を生成する
手段(前記3次元色相分布図の各軸は、RGBの各色相に対応する)、前記ロードされたイメージの各ピクセルの第2RGB値を前記3次元色相分布図に適用し、前記第2RGB値と前記3次元色相分布図との差値を、前記3次元色相分布図を脱するピクセルに対して計算する
手段、および前記差値を利用して前記ロードされたイメージのテクスチャ生成のためのピクセルフォーマットを決める
手段を含むことを特徴としてもよい。
【0010】
さらに他の態様では、前記差値を利用して前記ロードされたイメージのテクスチャ生成のためのピクセルフォーマットを決める
手段は、前記計算された差値の標準偏差が予め設定された値以上である場合には、前記ロードされたイメージのテクスチャ生成のためのピクセルフォーマットを、前記基準となるピクセルフォーマットのビット数よりも大きいビット数のピクセルフォーマットに決め、前記標準偏差が前記予め設定された値未満である場合には、前記ロードされたイメージのテクスチャ生成のためのピクセルフォーマットを、前記基準となるピクセルフォーマットのビット数と同じか、小さいビット数のピクセルフォーマットに決めることを特徴としてもよい。
【0011】
さらに他の態様では、前記差値は、前記第2RGB値が前記3次元色相分布図で示す点と前記3次元色相分布図で前記第1RGB値が示す点のうち、最も近い点間の距離差によって計算されることを特徴としてもよい。
【0012】
さらに他の態様では、
前記コンピュータを、前記ピクセルフォーマットが決められた前記ロードされたイメージに対する識別情報を、前記決められたピクセルフォーマットと互いに関連付けてキャッシュに保存する
手段としてさらに
機能させ、前記ロードされたイメージが再ロードされる場合、前記ロードされたイメージのピクセルフォーマットは、前記キャッシュに前記ロードされたイメージの識別情報と関連付けて保存されたピクセルフォーマットに決定されることを特徴としてもよい。
【0013】
さらに他の態様では、前記アプリケーションは、前記ロードされたイメージを利用してゲームサービスを提供するゲームエンジンを含み、前記ゲームエンジンを介して前記決められたピクセルフォーマットによって前記ロードされたイメージをレンダリングするように前記
コンピュータを制御することを特徴としてもよい。
【0014】
システムであって
、駆動するアプリケーションの制御にしたがっ
てメモリにイメージをロードするイメージロード
手段と、前記アプリケーションの制御にしたがって、ネットワークを介してダウンロードされた、または
当該システムによって生成されて保存された基準カラー配列情報を前記メモリにロードする基準カラー配列情報ロード
手段と、前記ロードされたイメージの色相値と前記ロードされた基準カラー配列情報とに基づいて、前記ロードされたイメージのテクスチャ生成のためのピクセルフォーマットを決めるピクセルフォーマット決定
手段と、を備えることを特徴とする、システムを提供する。
【発明の効果】
【0015】
本発明によると、ファイルイメージをロードしてレンダリングする場合、ロードされたイメージを最適化されたピクセルフォーマットによってテクスチャ切り替えすることができる。
【発明を実施するための形態】
【0017】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【0018】
図1は、本発明の一実施形態における、イメージのレンダリングのためのシステムの動作環境の例を示した図である。
【0019】
本実施形態に係るシステムの動作環境は、電子機器110、120、130、140、サーバ150、160、およびネットワーク170を含んでもよい。
【0020】
電子機器110、120、130、140は、本発明の実施形態における、イメージのレンダリングを処理する装置の例であって、
図1には4台の電子機器110、120、130、140が示されているが、これは動作環境を説明するための例示に過ぎず、これに限定されることはない。このような電子機器110、120、130、140それぞれは、固定型端末や移動型端末であってもよい。電子機器110、120、130、140の例としては、スマートフォン(smart phone)、携帯電話、ナビゲーション、コンピュータ、ノート型パンコン、デジタル放送用端末、PDA(Personal Digital Assistants)、PMP(Portable Multimedia Player)、タブレットPCなどがある。電子機器110、120、130、140それぞれは、無線または有線通信方式を利用してネットワーク170を介して他の電子機器および/またはサーバ150、160と通信してもよい。実施形態によっては、別途の通信機能を要求しない装置が自主的に含む保存所のイメージを利用しながら、本発明の実施形態にしたがってレンダリングを処理することも可能ではあるが、本実施形態と後述する実施形態では、サーバ150、160と通信することによってレンダリングするためのイメージが提供される場合を例示しながら説明する。
【0021】
通信方式が制限されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を活用する通信方式はもちろん、機器間の近距離無線通信が含まれてもよい。
【0022】
ネットワーク170は、一例として、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうち1つ以上の任意のネットワークを含んでもよい。または、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的(hierarchical)ネットワークなどを含むネットワークトポロジのうち任意の1つ以上を含んでもよいが、これに制限されることはない。
【0023】
サーバ150、160それぞれは、電子機器110、120、130、140とネットワーク170を介して通信してサービスやコンテンツを提供する装置または複数の装置らによって実現されてもよい。サーバ150、160は、電子機器110、120、130、140にサービスやコンテンツを提供するための1つのシステムを構成するように構築されてもよいし、それぞれ互いに異なるサービスやコンテンツを提供する個別システムであってもよい。例えば、サーバ150は、電子機器110、120、130、140にゲームサービスを提供するシステムであってもよく、サーバ160は、サーバ150が提供するゲームサービスのためのアプリケーションのインストールファイルを配布するファイル配布システムであってもよい。
図1には2台のサーバ150、160が示されているが、これは動作環境を説明するための例示に過ぎず、これに限定されることはない。
【0024】
サーバ150、160は、電子機器110、120、130、140を介したユーザの要請にしたがい、電子機器110、120、130、140にサービスやコンテンツを提供してもよい。一例として、電子機器110、120、130、140は、サーバ150、160が提供するコード、ファイル、データなどを受信した後、電子機器110、120、130、140にインストールされたプログラムを利用してサーバ150、160が提供するサービスやコンテンツの提供を受けられるようになる。
【0025】
以下、スマートフォンのような1つの電子機器110の観点から、本発明の多様な実施形態について説明する。
【0026】
図2は、本発明の一実施形態における、電子機器の内部構成を説明するためのブロック図である。電子機器110は、メモリ210、プロセッサ220、通信モジュール230、および入力/出力インタフェース240を含んでもよい。メモリ210は、コンピュータで読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永久大容量記録装置(permanent mass storage device)を含んでもよい。また、メモリ210には、オペレーティングシステムと少なくとも1つのプログラムコードが格納されてもよい。例えば、少なくとも1つのプログラムコードは、少なくともイメージのレンダリングを処理するためのコードを含んでもよい。このようなソフトウェア構成要素は、ドライブメカニズム(drive mechanism)を利用してメモリ210とは別のコンピュータで読み取り可能な記録媒体からロードされてもよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピードライブ、ディスク、テープ、DVD/CD−ROMドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでもよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない、通信モジュール230を利用してメモリ210にロードされてもよい。例えば、少なくとも1つのプログラムコードは、開発者がネットワーク170を介して提供するファイルによってインストールされるプログラムを基盤としてメモリ210にロードされてもよい。
【0027】
プロセッサ220は、基本的な計算、ロジック、および入出力演算を実行することにより、コンピュータプログラム(一例として、上述した少なくとも1つのプログラムコード)の命令を処理するように構成されてよい。命令は、メモリ210または通信モジュール230によってプロセッサ220に提供されてよい。
【0028】
通信モジュール230は、ネットワーク170を介して他の機器と通信するための機能を提供してもよい。一例として、ユーザの入力によってプロセッサ220で発生した要請メッセージが、通信モジュール230の制御にしたがってネットワーク170を介してサーバ150に伝達されてもよい。これとは逆に、サーバ150がネットワーク170を介して送信するデータが、通信モジュール230を介して電子機器110で受信されてもよい。
【0029】
また、他の実施形態において、電子機器110は、
図2の構成要素よりもさらに多くの構成要素を含んでもよい。しかし、大部分の従来の技術的な構成要素を明確に図に示す必要はない。例えば、電子機器110は、タッチスクリーンのようなディスプレイやトランシーバ(transceiver)、GPS(Global Positioning System)モジュールなどのような他の構成要素をさらに含んでもよい。
【0030】
入力/出力インタフェース240は、電子機器110がさらに含んだり、電子機器110と連関したりする入力/出力装置との連結のための機能を提供してもよい。例えば、入力装置としては、マウス、キーボード、タッチパネル、マイクなどが含まれてもよく、出力装置としては、スピーカ、ディスプレイ、タッチスクリーンなどが含まれてもよい。例えば、メモリ210にロードされてプロセッサ220によってレンダリングされたイメージを基にしてサービス画面250が構成され、電子機器110のタッチスクリーンに表示されてもよい。
【0031】
図3は、本発明の一実施形態における、電子機器が含むプロセッサを説明するためのブロック図である。そして、
図4は、本発明の一実施形態における、電子機器のレンダリング方法を示したフローチャートである。電子機器110に含まれたプロセッサ220は、
図3に示すように、イメージロード部310、基準カラー配列情報ロード部320、およびピクセルフォーマット決定部330を含んでもよく、このような構成要素は、
図4のレンダリング方法が含む段階410〜430をメモリ210が含むオペレーティングシステムと少なくとも1つのプログラムコードによって実行するように実現されてもよい。
【0032】
段階410で、イメージロード部310は、電子機器110で駆動するアプリケーションの制御にしたがって電子機器110のメモリ210にイメージをロードしてもよい。一例として、ロードされるイメージは、サーバ150、160のサービスのために提供されるイメージであってもよい。他の例として、ロードされるイメージは、単に、電子機器110のコンピュータで読み取り可能な記録媒体に保存されているイメージであってもよい。
【0033】
段階420で、基準カラー配列情報ロード部320は、アプリケーションの制御にしたがってネットワークを介してダウンロードされたか、電子機器110で生成されて保存された基準カラー配列情報をメモリ210にロードしてもよい。例えば、基準カラー配列情報は、アプリケーションをインストールする際にダウンロードされてもよいし、電子機器110にインストールされたアプリケーションの制御にしたがってサーバ150、160からダウンロードされてもよいし、アプリケーションの制御にしたがって電子機器110で直接生成された後に電子機器110の保存所(メモリ210または別のコンピュータで読み取り可能な記録媒体)に保存されてもよい。このような基準カラー配列情報は、基準となるピクセルフォーマットのビット数に基づくカラー配列に関する情報を含んでもよい。
【0034】
段階430で、ピクセルフォーマット決定部330は、ロードされたイメージの色相値とロードされた基準カラー配列情報との比較により、ロードされたイメージのテクスチャ生成のためのピクセルフォーマットを決めてもよい。例えば、ピクセルフォーマット決定部330は、基準カラー配列情報のカラー配列における色相値とロードされたイメージの色相値とを比べることで、ロードされたイメージのピクセルフォーマットを決めてもよい。ここで、電子機器110は、決められたピクセルフォーマットでロードされたイメージに対するテクスチャを生成してロードされたイメージをレンダリングしてもよく、画面に表示してもよい。
【0035】
より具体的な例として、既存には、レンダリングの際に、各イメージのピクセルフォーマットが16ビットまたは32ビットなどに予め区分されてバインディングされていた。しかし、16ビットで十分に表現可能なイメージを32ビットでレンダリングする場合には、メモリのような資源の浪費が発生していた。この反面、本実施形態では、予め区分されたピクセルフォーマットを利用するのではなく、イメージの色相値を分析し、基準となるピクセルフォーマットに基づくカラー配列と比べてピクセルフォーマットを決めることにより、ロードされたイメージのピクセルフォーマットを動的に決めてビューバインディングすることが可能となる。
【0036】
より具体的な実施形態として、基準カラー配列情報は、基準となるピクセルフォーマットのビット数に基づくカラー配列イメージを含んでもよい。この場合、ピクセルフォーマット決定部330は、段階430で、カラー配列イメージの色相値の色相分布とロードされたイメージの色相値の色相分布とを比べることで、ロードされたイメージのテクスチャ生成のためのピクセルフォーマットを決めてもよい。例えば、ロードされたイメージの色相値の色相分布が、カラー配列イメージの色相値の色相分布から一定基準以上を脱する場合、基準となるピクセルフォーマットのビット数よりも高いビット数のピクセルフォーマットが必要であることが分かる。この場合、ピクセルフォーマット決定部330は、基準となるピクセルフォーマットのビット数(一例として、16ビット)よりも高いビット数(一例として、32ビット)のピクセルフォーマットを、ロードされたイメージのピクセルフォーマットとして決めてもよい。
【0037】
電子機器110がアンドロイドオペレーティングシステムを含み、基準カラー配列情報として16ビットカラー配列イメージが活用されると仮定する。ピクセルフォーマット決定部330は、ロードされたイメージの色相値の色相分布が、カラー配列イメージの色相値の色相分布から一定基準以上を超える場合には、32ビットのRGBA8888に、ロードされたイメージのピクセルフォーマットを決めてもよい。ロードされたイメージの色相値の色相分布が、カラー配列イメージの色相値の色相分布から一定基準以上を脱しない場合には、ピクセルフォーマット決定部330は、16ビットのRGB565に、ロードされたイメージのピクセルフォーマットを決めてもよい。同じ16ビットのピクセルフォーマットであっても、透明度を示すアルファ(alpha)値が存在するか否かに応じて互いに異なるピクセルフォーマットを有する場合もある。一例として、アルファ値がないイメージに対してはRGB565が適用されてもよく、アルファ値が存在するイメージに対してはRGBA4444が適用されてもよい。ここで、ロードされたイメージに対するテクスチャは、決められたピクセルフォーマットで生成されてもよい。
【0038】
このように、予め区分されたピクセルフォーマットを利用するのではなく、イメージをロードしてレンダリングするタイミングに
色相分布を分析してロードされたイメージのピクセルフォーマットを決めるため、不必要な資源の浪費を防ぐことができる。
【0039】
電子機器110にインストールされるアプリケーションは、一実施形態として、ロードされたイメージを利用してゲームサービスを提供するゲームエンジンを含んでもよい。ゲームサービスを提供する実施形態において、アプリケーションは、ゲームエンジンを介して決められたピクセルフォーマットでロードされたイメージをレンダリングするように電子機器110を制御してもよい。
【0040】
また、他の実施形態として、ピクセルフォーマット決定部330は、
図3に示す3次元色相分布図生成部331、差値計算部332、および決定部333を含むように実現されてもよい。この場合、3次元色相分布図生成部331、差値計算部332、および決定部333は、レンダリング方法の段階S430に選択的にさらに含まれてもよい
図5の段階510〜S530を、メモリ210が含むオペレーティングシステムと少なくとも1つのプログラムコードによって実行するように実現されてもよい。
【0041】
図5は、本発明の一実施形態における、ピクセルフォーマット決定方法の例を示したフローチャートである。
【0042】
段階510で、3次元色相分布図生成部331は、カラー配列イメージの各ピクセルの色相値である第1RGB(Red Green Blue)値の3次元色相分布図を生成してもよい。ここで、3次元色相分布図の各軸は、RGBの各色相に対応してもよい。例えば、3次元色相分布図のX軸はレッド(Red)色相に、Y軸はグリーン(Green)色相に、Z軸はブルー(Blue)色相にそれぞれ対応してもよく、1つのピクセルの色相値は、3次元色相分布図において1つの点で表現されてもよい。ここで、カラー配列イメージのすべてのピクセルの色相値である第1RGB値を3次元領域に表示することによって3次元色相分布図が生成されてもよい。
【0043】
段階520で、差値計算部332は、ロードされたイメージの各ピクセルの第2RGB値を3次元色相分布図に適用し、第2RGB値と3次元色相分布図との差値を、3次元色相分布図から脱するピクセルに対して計算してもよい。一例として、差値は、第2RGB値が3次元色相分布図で示す点と3次元色相分布図で第1RGB値が示す点のうち、最も近い点間の距離差によって計算されてもよい。
【0044】
段階530で、決定部333は、差値を利用してロードされたイメージのテクスチャ生成のためのピクセルフォーマットを決めてもよい。一例として、決定部333は、段階530で、計算された差値の標準偏差が予め設定された値以上である場合には、ロードされたイメージのテクスチャ生成のためのピクセルフォーマットを、基準となるピクセルフォーマットのビット数よりも大きいビット数のピクセルフォーマットに決め、標準偏差が前記予め設定された値未満である場合には、ロードされたイメージのテクスチャ生成のためのピクセルフォーマットを、基準となるピクセルフォーマットのビット数と同じか、小さいビット数のピクセルフォーマットに決めてもよい。標準偏差が0に近いほど、基準となるピクセルフォーマットのビット数の色相から脱する色相が多くないということを意味するため、決定部333は、標準偏差の値に基づいてロードされたイメージのためのピクセルフォーマットを決めることが可能となる。
【0045】
レンダリング方法は、上述した段階の他にも、実施形態によって選択的に、ピクセルフォーマットが決められたロードされたイメージに対する識別情報を、決められたピクセルフォーマットと互いに関連付けてキャッシュに保存する段階(図示せず)をさらに含んでもよい。このような図に示されていない段階は、プロセッサ220にさらに含まれてもよい保存部(図示せず)によって実行されてもよい。キャッシュは、一例として、メモリ210上に実現されてもよい。ここで、ロードされたイメージが再ロードされる場合、ロードされたイメージのピクセルフォーマットは、キャッシュにロードされたイメージの識別情報と関連付けて保存されたピクセルフォーマットに決まってもよい。言い換えれば、一度ピクセルフォーマットが決まったイメージに対しては、キャッシュに該当のイメージと関連付けて保存されたピクセルフォーマットによってレンダリングが処理されるようになることから、ピクセルフォーマットを決める過程をスキップして直ぐにテクスチャを生成することが可能となる。
【0046】
図6は、本発明の一実施形態における、3次元空間の例を示した図である。
図6の3次元座標系600は、X軸はレッド(Red)色相に、Y軸はグリーン(Green)色相に、Z軸はブルー(Blue)色相にそれぞれ対応するように構成された座標系を示している。
【0047】
16ビットのピクセルフォーマットを基準とするカラー配列イメージにおいて、1つの第1ピクセルに対する色相値であるRGB値は、3次元座標系600上で(x、y、z)の座標を有する1つの第1点610で表現されてもよい。ここで、x、y、zは、第1ピクセルのR値、G値、B値にそれぞれ対応してもよい。
【0048】
このように、カラー配列イメージのすべてのピクセルに対するRGB値を3次元座標系600上に点で表示する場合、3次元形態の色分布図である3次元色相分布図が生成されてもよい。
【0049】
ロードされたイメージをこのような3次元色相分布図に適用するときに、ロードされたイメージが16ビットのピクセルフォーマットで表現することのできるイメージである場合には、ピクセルのピクセル値の大部分は3次元色相分布図の内部に含まれるであろう。したがって、このような3次元色相分布図の範囲を脱する色相値が基準以上に多ければ、このイメージは16ビットで表現することが困難であるということが分かる。この場合、32ビットのようにより高いビット数のピクセルフォーマットを、ロードされたイメージのピクセルフォーマットとして決めてもよい。
【0050】
一例として、ロードされたイメージの1つの第2ピクセルに対する色相値であるRGB値も、3次元座標系600で(x’、y’、z’)の座標を有する1つの第2点620で表現されてもよい。
【0051】
第2点620が3次元色相分布図の範囲から外れ、第2点620から最も近い3次元色相分布図の点が第1点610である仮定するとき、上述した差値計算部332は、第2点620と第1点610との間の距離630の値を差値として計算してもよい。
【0052】
このとき、ロードされたイメージのすべての第2ピクセルのうち、3次元色相分布図の範囲を脱した第2ピクセルに対して差値が計算されてもよく、上述したように、このような差値の標準偏差に基づき、ロードされたイメージを16ビットのピクセルフォーマットでレンダリングするのか、あるいは32ビットのように16ビットよりも高いビット数のピクセルフォーマットでレンダリングするのかが決められてもよい。
【0053】
このように、本発明の実施形態によると、ファイルイメージをロードしてレンダリングする場合、ロードされたイメージを最適化されたピクセルフォーマットによってテクスチャ切り替えすることができる。
【0054】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてもよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてもよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数の処理要素(processing element)および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでもよい。また、並列プロセッサ(parallel processor)のような、他の処理構成(processing configuration)も可能である。
【0055】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、所望するとおりに動作するように処理装置を構成したり、独立的または集合的に(collectively)処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、ある種類の機械、コンポーネント、物理装置、仮想装置(virtual equipment)、コンピュータ格納媒体または装置、または送信される信号波(signal wave)に永久的または一時的に具現化(embody)されてもよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された態様で格納されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータで読み取り可能な記録媒体に格納されてもよい。
【0056】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてもよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでもよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、フロッピーディスク、磁気テープのような磁気媒体、CD−ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。上述したハードウェア装置は、実施形態の動作を実行するために1つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同じである。
【0057】
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能である。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0058】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。