JP5631590B2 - 画像の複数のかつネイティブな表現方法 - Google Patents

画像の複数のかつネイティブな表現方法 Download PDF

Info

Publication number
JP5631590B2
JP5631590B2 JP2009519434A JP2009519434A JP5631590B2 JP 5631590 B2 JP5631590 B2 JP 5631590B2 JP 2009519434 A JP2009519434 A JP 2009519434A JP 2009519434 A JP2009519434 A JP 2009519434A JP 5631590 B2 JP5631590 B2 JP 5631590B2
Authority
JP
Japan
Prior art keywords
image
transformations
processing command
received
received image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009519434A
Other languages
English (en)
Other versions
JP2009543253A5 (ja
JP2009543253A (ja
Inventor
ゴエル ラジャット
ゴエル ラジャット
エル.グッドウィン マーガレット
エル.グッドウィン マーガレット
シー.マーガリント ラドゥ
シー.マーガリント ラドゥ
エー.ヴロダルチェク ロバート
エー.ヴロダルチェク ロバート
ダブリュ.オルセン トーマス
ダブリュ.オルセン トーマス
ジョーンズ ワン ウェイ−チュン
ジョーンズ ワン ウェイ−チュン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009543253A publication Critical patent/JP2009543253A/ja
Publication of JP2009543253A5 publication Critical patent/JP2009543253A5/ja
Application granted granted Critical
Publication of JP5631590B2 publication Critical patent/JP5631590B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、画像の複数のかつネイティブな表現方法に関する。
画像は様々なフォーマット及び解像度で提供することができる。いくつかの画像処理アプリケーションは、画像が処理されるかまたは異なったフォーマットへ変換されること等を可能にする。この処理は、通常は画像における1または複数の変換によって行うことができる。
いくつかのケースにおいて、このような画像処理は所望の画像を生成することができるが、解像度の損失のない処理を不可能にする場合がある。なぜなら、従来はオリジナルの画像は処理の中で破棄される場合があるからである。このような画像処理技術は、通常は非常に制限されている。
様々な実施形態は、画像の複数の(multiple)かつネイティブな(native)表現に関して開示される。実施形態の一例によれば、例えば、画像の単一のリアライゼーション(具現化された画像)だけよりもむしろ画像の複数のリアライゼーションが生成されて提供され得る。複数のリアライゼーションの生成及び出力も、ネイティブオブジェクトを使用し、変換すなわち画像処理をネイティブに実行して画像またはリアライゼーションを提供することができる。
実施形態の一例によって方法が提供される。この方法は、画像の受信をするステップと、当該受信した画像の画像処理コマンドを受信するステップと、当該画像処理コマンドに基づいて当該画像における複数の変換をネイティブに実行して当該画像の1または複数のリアライゼーションを提供するステップとを含むことができる。
実施形態の他の例によって方法が提供される。この方法は、画像を受信するステップと、当該受信した画像の画像処理コマンドを受信するステップと、当該画像処理コマンドに基づいて当該画像における複数の変換を実行して当該画像の複数のリアライゼーションを提供するステップとを含むことができる。当該複数のリアライゼーションの各々は、当該画像にネイティブに実行される少なくとも1つの変換を含んでも良い。
さらに実施形態の他の例によって方法が提供される。この方法は、画像を受信するステップと、画像処理コマンドを受信するステップと、当該画像処理コマンドに基づいて、1または複数の変換及び当該変換の順序を判定し、当該画像処理コマンドに従って当該画像を処理して当該画像の複数のリアライゼーションを提供するステップとを含むことができる。
この概要は、発明の詳細な説明において以下でさらに説明されるコンセプトの選択を簡単な形式で紹介するために提供される。この概要は、本願の請求項に記載された発明の重要な特徴及び本質的な特徴を特定することを意図しておらず、本願の請求項に記載された発明の範囲の決定において目的として使用されることも意図していない。
実施形態の一例に従ったコンピューティングシステムのブロック図である。 実施形態の他の例に従ったシステムのブロック図である。 実施形態の一例に従った複数のリアライゼーションを提供するために画像が処理されるシステム300Aの図である。 実施形態の他の例に従った複数のリアライゼーションを提供するために画像が処理されるシステム300Bのブロック図である。 実施形態の一例に従って、1または複数のリアライゼーションを生成するために画像における複数の変換を実行するプロセスを示したフローチャートである。 実施形態の他の例に従って、1または複数のリアライゼーションを生成するために複数の変換を実行するプロセスを示したフローチャートである。 さらに実施形態の他の例に従って、1または複数のリアライゼーションを生成するために1または複数の変換を実行するプロセスを示したフローチャートである。
同様の参照符号が同じ要素を示す図面を参照すると、図1は、本発明の実施形態の一例に従ったコンピューティングシステムのブロック図である。実施形態の一例によれば、様々な実施形態は、コンピューティングシステム100または他のコンピューティングシステム内で実行または実装することができる。コンピューティングシステム100は、例えば、ラップトップコンピュータ、デスクトップコンピュータ、パーソナルコンピュータ(PC)、サーバ、ネットワークデバイス(例えばスイッチ、ルータ)、携帯電話、PDA(personal digital assistant)、ゲームデバイス、ハンドヘルド通信デバイスまたは他のコンピューティングデバイスであっても良い。これらは単なる少数の例であり、様々な実施形態はこれらに制限されるものではない。
システム100は、中央処理装置(CPU)102と、ランダムアクセスメモリ106(RAM)及びリードオンリーメモリ108(ROM)を含むシステムメモリ104と、を含むことができる。CPU102は、命令を解釈してコンピュータアプリケーション内のデータを処理することができる。例えばCPU102は、マイクロプロセッサでありかつ多数の集積回路を含むことができ、ソフトウェアまたは命令を実行してコンピュータシステム100に全体的な制御を提供することができる。RAM106は、当該RAMに保存されたデータが任意の順でアクセスされることを可能にし、例えばシステム100もRAM106に書込みかつそこから読み出すことができる。例えば、データファイルは、時刻XにおいてRAM106に保存することができ、時刻Yにおいて当該データファイルをRAM106から読み出すことができる。ROM108は、システム100によってROM108から読み出されるであろうデータまたはシステムを含むことができる(システム100によって書込まれまたは読み出しをされ得るRAM106とは対照的である)。例えば、ROM108は、システム100が最初に起動されたときにシステム100によって実行されるべき基本入力/出力システム(BIOS)ソフトウェアコードを含むことができる。例えば、ROM108は、クロック110に結合することができる。クロック110は、例えばROM108を介してシステム100に時間を提供することができる。
システム100は、入力/出力コントローラ128及びディスプレイデバイス130を含むことができる。入力/出力(I/O)コントローラ128は、ディスプレイデバイス130のような1または複数のI/Oデバイスを相互作用させることができる。例えば、入力/出力コントローラ128は、ディスプレイデバイス130に出力を提供することができる。ディスプレイデバイス130は、入力/出力コントローラ128からのデータを受信して、ユーザに当該データを提供すなわち表示するように構成されたデバイスとすることができる。図示してはいないが、入力/出力コントローラ128は、キーボード、マウス、ジョイスティックまたはシステム100に入力を提供するように構成されている任意のその他の入力デバイスのような様々な入力デバイスに結合することもできる。
システム100は、データ記憶デバイス114も含み、データ、命令またはその他の情報を保存することができる。例えば、データ記憶デバイス114は、磁気表面にデータを保存するハードディスクデバイス、CD−ROMまたはシステム100によってアクセス可能な任意のその他の利用可能な媒体記憶装置とすることができる。
例示であって制限するものではないが、データストレージデバイス114は任意のコンピュータ読み取り可能媒体を含むことができる。例えば、コンピュータ読み取り可能媒体は、コンピュータ記憶媒体及び通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュールまたはその他のデータのような、情報の記憶に関する任意の方法または技術において実施される媒体を含むことができる。制限するわけではないが、コンピュータ記憶媒体は、RAM、ROM、EPROM、EEPROM、フラッシュメモリもしくは他のソリッドステートメモリ技術、CD−ROM、DVDもしくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、所望の情報を保存できかつコンピュータからアクセス可能な任意の他の媒体を含むことができる。
アプリケーション116、画像プロセッサ118、オペレーティングシステム120及びスタック122のような、1もしくは複数のコンピュータプログラムまたはブロックはデータ記憶デバイス114内に保存することができる。アプリケーション116は、ウェブブラウザ、ワードプロセッサ、マルチメディアアプリケーションまたは他のアプリケーションであっても良い。そして、例えば、アプリケーション116は、画像及び画像処理コマンドを送信して、1または複数のリアライゼーションを含む処理された画像を受信するように構成されているイメージングアプリケーションであっても良い。例えば、アプリケーション116は、ユーザの入力に基づいた画像、処理コマンド、処理された画像及び/またはリアライゼーションを送信しかつ受信することができる。例えば、アプリケーション116は、デジタルカメラからの画像を受信することができる。例えば、アプリケーション116は、画像を画像プロセッサ118に送信してフリップ/ローテータ変換のような変換を実行することができ、その後に、画像プロセッサ118は、リアライゼーション216を含む処理された画像214をアプリケーション116に返送することができる。
画像プロセッサ118は、画像処理を実行するプログラムであっても良い。例えば、画像プロセッサ118は、画像、画像処理コマンドを受信するように構成されたアプリケーションであっても良く、コマンドに基づいて当該受信した画像における1または複数の変換を実行して当該画像の1または複数のリアライゼーションを生成することができる。例えば、画像プロセッサ118は、画像及びコマンドを受信して画像を回転させることができる。その後に、画像プロセッサ118は、回転処理を実行して、回転された画像リアライゼーションを含む処理された画像を出力することができる。
オペレーティングシステム120は、システム100のハードウェア及びソフトウェアを管理するソフトウェアプログラムであっても良く、任意のタイプのオペレーティングシステムでも良い。例えば、オペレーティングシステムは、マイクロソフトウィンドウズ(登録商標)、リナックス等でも良い。スタック122は、データ記憶デバイス114からのデータを保存するために使用される一時データ構造であっても良い。例えば、スタックがアプリケーション116から画像プロセッサへの画像及び対応する処理コマンドを保存して、その後、画像プロセッサ118がスタック122に保存されているアイテムにアクセスすることができる。
実施形態の一例によれば、システム100は、論理接続を使用しているネットワーク化された環境において動作することができ、リモートコンピュータと、例えばTCP/IPネットワーク124のようなネットワークを介して通信する。例えば、TCP/IPネットワーク124は、インターネット、企業のイントラネット、ローカルエリアネットワーク、ワイヤレスネットワーク、ワイドエリアネットワーク及び/または任意の他のネットワークであっても良い。システム100は、ネットワークインタフェースユニット126を介してTCP/IPと通信しても良い。ネットワークインタフェースユニット126は、システム100にTCP/IPネットワーク124との通信を可能とさせるよう構成されているデバイス及び/またはソフトウェアプログラムでも良い。例えば、ネットワークインタフェースユニット126は、ネットワークカード、ネットワークインタフェースコントローラ(NIC)、モデムまたは任意のその他の通信可能デバイスでも良い。
システムバス112は、CPU102、システムメモリ104、データ記憶デバイス114、ネットワークインタフェースユニット126及び入力/出力コントローラ128に結合されても良い。システムバス112は、2またはそれ以上のシステムコンポーネント間のデータ伝送を可能にしても良い。例えば、システムバス112は、システムメモリ104及びCPU102についてのデータの伝送を可能にしても良い。例えば、システムバス112は、データデバイス114と入力/出力コントローラ128のようなシステム100の他の部分を一緒に結合することができる。
図2は、実施形態の他の例に従ったシステム200のブロック図である。上述したように、システム200は、アプリケーション116及び画像プロセッサ118を含んでも良い。例えば、アプリケーション116は、ライン204を介して画像202を、ライン208を介して画像処理コマンド206を、画像プロセッサ118に提供するように構成されていても良い。例えば、コマンド及び1または複数のパラメータを画像プロセッサ118に送るアプリケーション116によって、画像202及び処理コマンド206が提供されても良い。
画像プロセッサ118は、画像202を受信してコマンド206を処理するように構成されたソフトウェアプログラム及び/またはデバイスでも良い。例えば、画像プロセッサ118は、デコーダオブジェクト220並びに変換オブジェクト222、224、226及び228のような1または複数の変換オブジェクトによって画像202に処理コマンド206を実行して、画像の1または複数のリアライゼーション(216、218)を含む1または複数の画像214を提供しても良い。このようにして、一例として、画像プロセッサ118は、処理コマンド206に基づいて画像202を処理して、リアライゼーション216及び218のような、画像の1または複数のリアライゼーションを提供しても良い。
画像202は、特定のファイルタイプ203のファイル内にあっても良い。ファイルタイプ203は、ファイルフォーマットまたは画像データの圧縮方法でも良く、ラスタグラフィックファイルタイプ、デジタルファイルタイプまたは他のファイルタイプのような任意の受け入れ可能なファイルタイプであっても良い。例えば、ファイルタイプ203は、JPEG、GIF(Graphics Interchange Format)、PNG(Portable Network Graphics)、未加工(すなわちコーディングされていない)または任意の他のファイルタイプであっても良い。画像202は、任意の受け入れ可能なファイルタイプ203を含むファイル内にあっても良い。画像202は、1または複数の画像を含んでも良い。各画像は、画像(またはピクセル)フォーマット205を含んでも良い。例えば、画像フォーマット205は、RGB、CMYK、YCbCrもしくは任意の他のカラースペースピクセルフォーマットでも良い。
処理コマンド206は、単一の処理コマンド206または複数の処理コマンドであっても良い。例えば、処理コマンド206は、変換値210、リアライゼーション値212またはその両方を含んでも良い。処理コマンド206は、画像202と関連していても良い。例えば、変換値210は、画像に実行される変換(群)を示していても良く、変換(群)アプリケーションの所定の順序を示していても良い。変換は、画像202上で実行することができる任意の潜在的変形または処理でも良く、それらはスカラ変換、フォーマットコンバータ変換及び/またはフリップ/ローテータ変換を含むが、これらに限定されるものではない。追加的な及び/または異なった変換が使用されても良い。
リアライゼーション値212は、画像プロセッサ118によって出力されるべきリアライゼーションの数を特定しかつ/またはリアライゼーション及び/もしくは処理された画像(群)を特定しても良い。リアライゼーション216、218は、各々画像202への1または複数の変換の実施前後の画像202のバージョンであっても良い。例えば、リアライゼーション値212は、リアライゼーション216、218に実行される変換を示しても良く、また変換を実行する順序を特定しても良い。処理された画像(群)214は、画像202への1または複数の変換の適用前または適用後に画像プロセッサ118から出力された1または複数の画像であっても良い。処理された画像(群)214の各々は、1または複数のリアライゼーション216、218を含むことができ、1つのリアライゼーションとして参照することができる。
例えば、アプリケーション116は、YCbCrのフォーマット205の画像202を画像プロセッサ118に送信しても良い。アプリケーション116はまた、処理コマンド206を画像プロセッサ118に送信しても良い。例えば、処理コマンド206は、変換値210及びリアライゼーション値212を含んでも良いが、これは例示でありかつ実施形態はこれに制限されるものではない。変換値212は、画像に実行されるスケーラ変換、フォーマットコンバータ変換及びフリップ/ローテータ変換、及び/または他の変換を特定しても良い。例えば、リアライゼーション値212は、リアライゼーション216が受信された画像202をスケーリング(例えば30%)することによって生成されるべきこと、リアライゼーション218が受信した画像202をフォーマット変更(例えばYCbCrからRGB)し、次いで回転(例えば90°)させることによって生成されるべきことを示しても良い。これらは一部の例に過ぎず、様々な実施形態はこれに制限されるものではない。例えば、画像プロセッサ118は、スケーラオブジェクト222、フォーマットコンバータオブジェクト224及び/またはフリップ/ローテータオブジェクト226をインスタンス化し、特定の変換を実行して画像を処理し、2つのリアライゼーション216、218を含む処理された画像(群)214を出力しても良い。
画像プロセッサ118は、例えば、デコーダオブジェクト220及びスケーラオブジェクト222、フォーマットコンバータオブジェクト224並びに/またはフリップ/ローテータオブジェクト226等の複数の変換オブジェクトを含んでも良い。
デコーダオブジェクト220は、例えば現在ファイルタイプ203の状態から画像202をデコーディング及び/または解凍して、画像プロセッサ118または1もしくは複数の変換オブジェクトが画像202における変換を実行するようにしても良い。
スケーラオブジェクト222は、画像202におけるスケーラ変換を実行するように構成されていても良い。スケーラオブジェクト222(すなわちスケーラ変換)は、画像の全体または一部をスケーリングしても良く、これは画像202のサイズの拡大または縮小を含んでも良い。スケーラオブジェクト222によって実行されるスケーリングは、画像の解像度を変えることなく実行されても良いが、画像の解像度の変更または置換を含んでも良い。例えば、変換値210は、画像202のサイズを50%増加させるためにスケーラ変換をすることを示しても良い。このような画像処理コマンドに応答して、画像プロセッサ118及び/またはスケーラオブジェクト222は、画像を全体として50%でスケーリングして50%でスケーリングされたリアライゼーションを生成しても良い。
フォーマットコンバータオブジェクト224は、受信した画像202のフォーマット205を変更しても良い。すなわち、画像202のフォーマット205を異なったフォーマットに変更しても良い。例えば、画像202は、画像プロセッサ118にRGBフォーマットで提供されても良く、変換値210は画像をCMYKに変換するためにフォーマットコンバータ変換を特定しても良い。このような処理コマンドに応答して、例えば、画像プロセッサ118及び/または画像プロセッサ118のフォーマットコンバータオブジェクト224は、受信した画像202のフォーマット205をRGBからCMYKに変更しても良い。
フリップ/ローテータオブジェクト226は、画像202をフリッピングまたは回転させても良い。フリップ/ローテータオブジェクト226(すなわち変換)は、画像202を上下もしくは左右にフリッピングするかまたは画像202をある角度回転させても良い。例えば、変換値210は、フリップ/ローテータ変換を特定して画像202を上下にフリッピングするかまたは画像を反時計回りに30°回転させても良い。このような画像処理コマンドに応答して、画像プロセッサ118及び/またはフリップ/ローテータオブジェクト226は、画像202を要求されたようにフリッピングまたは回転させても良い。
上述したように、デコーダオブジェクト220は、受信した画像をデコーディングしても良い。デコーダオブジェクト220は、画像202をデコーディングするように構成されていることに加えて、ネイティブ変換オブジェクト228を含んでも良い。例として、ネイティブ変換オブジェクト228は、ネイティブスケーラオブジェクト、ネイティブフォーマットコンバータオブジェクト及び/またはネイティブフリップ/ローテータオブジェクトのような、ネイティブに実行することができる任意の変換オブジェクト(すなわち画像処理オブジェクト)を含んでも良い。ネイティブ変換オブジェクト228が変換能力を含む場合、ネイティブ変換オブジェクト228は任意の変換または変換の組み合わせをデコーダオブジェクト内でネイティブに実行しても良い。実施形態の一例において、デコーダオブジェクト220のネイティブ変換オブジェクト228は、画像における1または複数のネイティブ変換を、デコーダオブジェクト220が受信した画像202をデコーディングすると同時にまたはほぼ同時に実行しても良い。このことは、デコーダオブジェクト220またはネイティブ変換オブジェクト228内で、変換(群)をネイティブに実行することによって、例えば、受信した画像を再サンプリングすることなく画像に要求された変換を可能とする。いくつかのケースにおいて、このことは、画像に再サンプリングまたはダウンサンプリングが起こり得る非ネイティブ変換と比較して改善された画像の品質を提供することができる。
ネイティブ変換オブジェクト228は、1または複数の変換が画像にネイティブに、例えば画像の再サンプリングまたはダウンサンプリングを必要とせずに施されることを可能にすることができる。従って、いくつかのケースにおいて、ネイティブ変換は、例えば、向上した画像品質を有利に提供するかまたは画像品質の損失を有利に回避することができる。ネイティブ変換オブジェクト228は、任意の数の変換オブジェクトを含んでも良い。例えば、ネイティブ変換オブジェクト228は、全ての要求された変換を画像202においてネイティブに実行することができるように、ネイティブスケーラオブジェクト、ネイティブフォーマットコンバータオブジェクト及び/またはネイティブフリップ/ローテータオブジェクトを含んでも良い。
いくつかのケースにおいて、デコーダオブジェクト220は、アプリケーション116から処理コマンド206を受信した後に1または複数の変換オブジェクトをインスタンス化して、画像202における要求された処理を実行しても良い。ネイティブ変換オブジェクト228が要求された変換または処理を実行可能な場合、画像はネイティブオブジェクトを使用してネイティブに処理されても良い。そうではなく要求された変換オブジェクトがネイティブ変換として利用できなければ、例えばオブジェクト222、224または226といったインスタンス化された変換オブジェクトは、画像における(例えば非ネイティブな)処理を実行することができる。このことは、いくつかのケースにおいて画像の再サンプリングを含むことができる。従って、例えば、いくつかの(または全ての)要求された変換は画像にネイティブに実行することができ、他の(または全ての)変換は他の変換オブジェクトによって引き続き非ネイティブに実行することができる。
実施形態の一例において、受信された処理コマンド206は、画像202において実行される25%でスケーリングしかつ画像フォーマットをYCbCrからRGBに変更するような2つの変換を要求することができる。この例において、デコーダオブジェクト220は、画像プロセッサ118によってインスタンス化することができる。また、処理コマンド206に基づいて、スケーラオブジェクト及びフォーマットコンバータオブジェクトがインスタンス化されてデコーダオブジェクト220と関連させられ得る。この例において、スケーリングはネイティブ変換オブジェクト228によってネイティブに実行することができる一方で、要求されたYCbCrからRGBへのフォーマット変更はネイティブに実行可能でなくとも良い。これは単に例示である。従って、デコーダオブジェクト220は、画像を受信したときに画像をデコーディングすることができ、ネイティブ変換オブジェクト228は要求によって25%でネイティブに画像をスケーリングすることができる。続いて、デコーディングされかつスケーリングされた画像は、フォーマットコンバータオブジェクト224に渡すことができ、そこで、画像は例えばRGBフォーマットに変換され、(デコーディングされ、スケーリングされかつフォーマット変更された)当該画像のリアライゼーションとして出力することができる。
実施形態の他の例において、画像プロセッサ118は、画像の複数のリアライゼーションを出力しても良い。リアライゼーションの各々は、異なったバージョンの画像であっても良く、例えば、リアライゼーションの各々に対して画像における異なった変換が実行される。例えば、画像プロセッサ118は、オリジナルの画像202とすることができる第1の画像リアライゼーション、デコーディング後の画像202とすることができる第2のリアライゼーション及び25%でスケーリングされかつRGBに変更されたデコーディング後の画像とすることができる第3の画像を出力することができる。実施形態の一例において、この例における1または複数(または全て)の変換はネイティブに行うことができる。これは単なる例である。処理コマンド206は、提供されるすなわち生成される1または複数のリアライゼーションを、例えばリアライゼーション値(群)212を介して特定しても良い。
図3Aはシステム300Aの図であり、このシステムにおいて、画像は処理されて実施形態の一例に従った複数のリアライゼーションを提供する。システム300Aは、画像202と、デコーダオブジェクト220によって受信された処理コマンド206と、を含んでも良い。画像202はファイル内に存在しても良く、上述したように任意の画像フォーマット205の任意の画像またはいくつかの画像を含んでも良い。上述した処理コマンド206は、変換値及び/もしくはリアライゼーション値、または提供されるすなわち生成されるべき1もしくは複数の画像リアライゼーションを特定する他の情報を含んでも良い。処理コマンド206は、例えば画像202の出力のためのリアライゼーションがいくつあるか、リアライゼーションの各々に実行する変換はどれなのか及びどの順序でリアライゼーションを生成する変換が実行されるのかを指示しても良い。
デコーダオブジェクト220は、画像メモリ302を含んでも良い。デコーダオブジェクト220は、スケーラオブジェクト222、フォーマットコンバータオブジェクト224及び/またはフリップ/ローテータオブジェクト226に結合されまたは関連させられても良い。上述したように、デコーダオブジェクト220は、受信された画像202をデコーディングまたは解凍することができる。また、スケーラオブジェクト222は、画像をスケーリングする。フォーマットコンバータオブジェクト224は画像のフォーマット205を異なったフォーマットに変換することができ、フリップ/ローテータオブジェクト226は画像をフリッピングまたは回転させることができる。他の変換オブジェクトが提供されても良い。
実施形態の一例によれば、画像プロセッサ118は、例えばリアライゼーション304A、304B、304C及び304Dのような1または複数の画像リアライゼーションを出力しても良い。リアライゼーションの各々は、0またはそれ以上の変換が実行された後の画像202を含んでも良い。0の変換が行われた後に出力されるケースにおいては、オリジナルの受信された画像202を出力することができる。デコーダオブジェクト220の画像メモリ302は、受信された画像202を保存しても良く、オリジナルの画像202は、変換が行われた後であっても使用可能とすることができる。例えば、画像メモリ302は、画像に1または複数の変換が行われた後に1または複数の中間ステージリアライゼーションを保存しても良い。これらの中間ステージリアライゼーションは、リアライゼーションとして出力されても良くかつ/または他のリアライゼーションとして出力するために他の変換によってさらに処理されても良い。実施形態の一例において、画像メモリ302は、デコーダオブジェクト220の一部としても良く、またはシステムメモリ104内(例えば、図1のRAM106内)に提供しても良い。
例えば、オリジナルの画像202は、犬またはその他のオブジェクトであっても良く、処理コマンドは、サイズをスケーリングしてオリジナルのサイズの150%にする第1のリアライゼーション及び画像を上下にフリッピングする第2のリアライゼーションを含むことができる。画像メモリ302は、オリジナルの犬の画像202を保存することができ、その後に当該画像は第1のリアライゼーションのために150%にスケーリングされ、第2のリアライゼーションは、オリジナルの画像202を上下にフリッピングするために画像メモリ302内に保存されているオリジナルの画像202を引き続き使用しても良い。画像メモリ302内に保存されているオリジナルの画像が使用されて、当該オリジナルの画像のリアライゼーションが出力されても良い。実施形態の一例において、画像メモリ302は、画像に1または複数の変換が実行された後に、処理されている画像202及び/または中間状態リアライゼーションを特定する状態情報を保存しても良い。例えば、第2のリアライゼーション304Bの提供において、画像メモリ302は、スケーラオブジェクト222がスケーラ変換を実行した後に画像または画像状態情報を保存しても良い。その後に、例えば、フォーマットコンバータオブジェクト224は画像状態情報を画像メモリ302から取り出して、スケーリングされた画像上でフォーマットコンバータ変換を実行しても良い。
図3A内のシステム300Aによって実行される画像処理は、ここで簡単に説明される。デコーダオブジェクト220は、実施形態の一例において通常最初に提供することができる。デコーダオブジェクト220の後に、システム300Aのスケーラオブジェクト222、フォーマットコンバータオブジェクト224及びフリップ/ローテータオブジェクト226のような1または複数の変換オブジェクトが、処理コマンド206に基づいて、例えば処理コマンド206のリアライゼーション値212に基づいて、直列、並列またはそれらの組み合わせにおいて編成される。例えば、図3Aの例において示されているように、デコーダオブジェクト220はRGBフォーマットの犬の画像202を受信しても良い。デコーダオブジェクト220は、画像202に関する処理コマンド206を受信しても良く、ここにおいて例えば処理コマンド206は画像の4つのリアライゼーションを提供するコマンドを含んでも良い。第1の要求されたリアライゼーション304Aは、デコーダオブジェクトによってデコーディングされかつスケーラオブジェクトによって(例えば50%で)スケーリングされた画像202を含んでも良い。第2の要求されたリアライゼーション304Bは、デコーダオブジェクトによってデコーディングされ、スケーラオブジェクトによって(例えば50%で)スケーリングされかつその後フォーマットコンバータオブジェクトによってフォーマットが(例えばRGBからCMYKに)変換された画像を含んでも良い。第3の要求されたリアライゼーション304Cは、デコーダオブジェクトによってデコーディングされた後にフリップ/ローテータオブジェクトで(例えば90°)回転された画像を含んでも良い。そして、第4のリアライゼーション304Dは、デコーダオブジェクトによってデコーディングされ、フリップ/ローテータオブジェクトによって(例えば30°)回転され、フォーマットコンバータオブジェクトによって(例えばRGBからCMYKに)フォーマット変更された画像を含んでも良く、例えばこれらの順序は任意である。
例えば、デコーダオブジェクト220は、画像202を受信すると、さらなる処理及び/または未処理のリアライゼーションとしての可能性のある出力のために画像メモリ302内にオリジナル画像202のコピーを保存しても良い。図3Aに示されている実施形態の一例において、システム300Aのデコーダオブジェクト220は、例えば、処理コマンドによって要求されたスケーラオブジェクト、フォーマットコンバータオブジェクト及びフリップ/ローテータオブジェクトに関するネイティブ変換オブジェクト228を含まない。従って、この例においては、要求された変換は非ネイティブ変換オブジェクトによって実行することができる。
デコーダオブジェクト220は、画像202を受信するとインスタンス化されて受信画像のデコーディングを実行しても良い。1または複数の追加のオブジェクトもインスタンス化され、処理コマンド206に基づいてデコーダオブジェクト220に結合されまたは関連させられ得る。このことは、1または複数のオブジェクトの判定及びオブジェクトの配列の判定、例えば、直列及び/もしくは並列の配列並びに/または順序の判定を含み、処理コマンドに従って画像を処理して要求された画像リアライゼーションを生成しても良い。例えば、図3Aに示されているように、このことはスケーラオブジェクト222及びフォーマット変換オブジェクト224が第2のリアライゼーション304Bを生成するために直列で提供されるべきことを判定する一方で、フリップ/ローテータオブジェクト226を(第2のリアライゼーションを生成するために使用されるオブジェクトのために)並列に配置して第3のリアライゼーション304Cを生成することができる。デコーダオブジェクト220が画像202をネイティブにデコーディングした後に、4つの例示的なリアライゼーションが生成されても良い。
記載したように、図3Aの第2のリアライゼーション304Bに関して、デコーディングされた画像はスケーラオブジェクト222によってスケーリングされかつフォーマットコンバータオブジェクト224によってフォーマット変更されて、第2のリアライゼーション304Bが生成されても良い。例えば、オブジェクト222及び224は、非ネイティブ変換とすることができる。例えば、非ネイティブ変換は、デコーディングされた画像の再サンプリングまたはダウンサンプリングを含んでも良い。実施形態の他の例において、スケーラオブジェクト222及びフォーマットコンバータオブジェクト224の両方はネイティブに利用可能であっても良く、従ってデコーダオブジェクト内でネイティブに実行することができる。中間ステージリアライゼーションは、デコーディングされた画像がスケーラオブジェクト222によってスケーリングされた後に保存することができることに注意すべきである。スケーラオブジェクト222から出力されたこの中間ステージリアライゼーションは、第1のリアライゼーション304Aとして出力することができる。
例えば、第3のリアライゼーション304Cを生成するために、画像メモリ302内に保存されているデコーディングされた画像は、フリップ/ローテータオブジェクト226によって回転されて第3のリアライゼーション304Cを生成することができる。最後に、第4のリアライゼーション304Dを生成するために、画像メモリ302内に保存されているデコーディングされた画像は、最初に(例えば、第2のリアライゼーション304Bにおける場合とは対照的に)フォーマットコンバータオブジェクト224によってフォーマット変更され、その後にフリップ/ローテータオブジェクト226によって回転されて第4のリアライゼーション308Dを生成することができる。実施形態の他の例において、フォーマットコンバータオブジェクト224、フリップ/ローテータオブジェクト226を含む第4のリアライゼーション304Dを生成するために使用される全てのオブジェクトをネイティブに提供することができる。このことは、実施形態の一例において、ネイティブ処理はデコーダオブジェクト220によって実行されて画像の第4のリアライゼーション304Dを生成することを意味する。
上述したように、少なくともいくつかのケースでは、システム300Aにおいて、スケーラオブジェクト222、フォーマットコンバータオブジェクト224及びフリップ/ローテータオブジェクト226は、例えばそれらの変換の各々を画像上において非ネイティブな状態で実行することができる(すなわち、それらは再サンプリングすることができ、ダウンサンプリングすることができかつ/または画像品質を失うことができる)。また、上述したようにシステム300Aに適用された変換、変換の順序及びリアライゼーションの数は、単に説明のためのものである。代替の実施形態において、システム300Aに適用された変換、変換の順序及びリアライゼーションの数は変化し得る。さらに、上記の説明は単に例示に過ぎないので、リアライゼーションの各々は分離して処理される必要はなく、複数のリアライゼーションは同時に処理することができる。代替の実施形態において、複数の画像202及び複数の処理コマンド206も受信することができる。
図3Bはシステム300Bのブロック図であって、そのシステムにおいて画像は処理されて実施形態の他の例に従った複数のリアライゼーションを提供する。システム300Bは、デコーダオブジェクト220によって受信された画像202及び処理コマンド206を含むことができる。システム300B(図3B)は、システム300A(図3A)と非常に類似しており、2つの図の間の違いが説明される。上述のように、画像202は受け入れ可能なファイルタイプ203のファイルであっても良く、かつ/または任意の互換性のある画像フォーマットの任意の画像もしくはいくつかの画像であっても良い。上述のように、処理コマンド206は、変換値210及びリアライゼーション値212を含むことができる。処理コマンド206は、例えば画像202を出力するためのリアライゼーションがいくつあるのか、各々のリアライゼーションを実施するための変換はどれか及び変換(群)の実行の順序はどうなるのかを示しても良い。
例えば、デコーダオブジェクト220は、画像メモリ302、ネイティブフリップ/ローテータオブジェクト306及びネイティブフォーマットコンバータオブジェクト308を含んでも良い。しかし、システム300Bにおいては、フリップ/ローテータオブジェクト226及びフォーマットコンバータオブジェクト224が、それらの各々の変換を実行するのではなく、ネイティブフリップ/ローテータオブジェクト306及びネイティブフォーマットコンバータオブジェクト308がそれぞれ、画像202にフリップ/ローテータ変換及びフォーマットコンバータ変換を実行することができる。従って、この例においては、ネイティブフリップ/ローテータオブジェクト306及びネイティブフォーマットコンバータオブジェクト308は利用可能であり、非ネイティブオブジェクト226及び224の各々の代わりに画像を処理するために使用することができる。システム300Bにおいて、ネイティブオブジェクトが画像202の変換の実行に利用できるならば、ネイティブオブジェクトは非ネイティブオブジェクトより好ましく使用することができる。そして、例えば、処理された画像は、ネイティブオブジェクトが利用可能な非ネイティブオブジェクトを通過(またはこれをバイパス)させられ得る。従って、4つのリアライゼーション304E、304F、304G及び304Hは、処理コマンドに従って複数のリアライゼーションを生成するために、ネイティブオブジェクト、非ネイティブオブジェクトまたはネイティブ及び非ネイティブオブジェクトの組み合わせに基づいて生成される。
システム300Aにおけるように、スケーラオブジェクト222、フォーマットコンバータオブジェクト224及びフリップ/ローテータオブジェクト226並びに/またはシステム300Bの他のオブジェクトは、処理コマンド206に基づいて直列、並列または両方の組み合わせで構成することができる。例えば、処理コマンド206は4つのリアライゼーション(304E−H)を生成するコマンドを含んでも良い。例えば、リアライゼーション304E−Hに関する要求または処理コマンドは、リアライゼーション304A−D(図3A)と同じ処理コマンドであっても良いが、システム300Bは1または複数のネイティブオブジェクトを有利に使用して画像処理を実行し、複数の要求されたリアライゼーションを生成しても良い。第1のリアライゼーション304Eは、ネイティブデコーダ220及び非ネイティブスケーラオブジェクト222を使用して生成することができる。なぜなら、ネイティブスケーラオブジェクトが利用できないことがあり得るからである(代替の実施形態においては利用可能であっても良いが)。しかし、第2のリアライゼーション304Fは、ネイティブデコーダ220、非ネイティブスケーラオブジェクト222(例えば利用できるネイティブスケーラオブジェクトがない故に)及びネイティブフォーマットコンバータオブジェクト308を使用して生成することができる。ネイティブフォーマットコンバータオブジェクト308は、要求されたフォーマット変更に利用できるので、ネイティブフォーマットコンバータオブジェクト308はインスタンス化された非ネイティブフォーマットコンバータオブジェクト224の代わりに使用されて、第2の画像リアライゼーションを生成することができる。しかし、実施形態の一例において、任意のネイティブ変換は、非ネイティブ変換の前に通常実行することができる。例えば、リアライゼーション304Fを生成するために、ネイティブフォーマットコンバータオブジェクト308は非ネイティブスケーラオブジェクトの前に実行することができる。
同様に、第3のリアライゼーション304Gは、ネイティブデコーダオブジェクト220及びネイティブフリップ/ローテータオブジェクト306を使用して生成することができる。この例において、ネイティブフリップ/ローテータオブジェクト306は、非ネイティブフリップ/ローテータオブジェクト226の代わりに使用することができる。第4の画像リアライゼーション404Hも、ネイティブデコーダオブジェクト220、ネイティブフォーマットコンバータオブジェクト308及びネイティブフリップ/ローテータオブジェクト306を含む全てのネイティブオブジェクトを使用して生成することができる。ネイティブオブジェクト308及び306が存在するすなわち利用可能であるならば、それらは対応する非ネイティブオブジェクト224及び226の代わりに各々使用することができる。例えば、画像がデコーダオブジェクト220によって処理された後(ネイティブオブジェクト306及び308によって処理されることを含む)、処理された画像は処理されずに非ネイティブオブジェクト224及び226を通過することができる(なぜなら、フォーマット変更及び回転は、既にネイティブフォーマットコンバータ308及びネイティブフリップ/ローテータオブジェクト306によって実行されているからである)。上述の通り、いくつかのケースにおいてネイティブオブジェクトが利用可能な場合、その使用は要求されたネイティブな、例えば画像の再サンプリング及び/または品質の損失のない処理を提供することができる。
このようにして、実施形態の一例に従って、画像の単一のリアライゼーションだけでなく画像の複数のリアライゼーションが生成されて提供される。また、複数のリアライゼーションの生成及び出力は、ネイティブオブジェクトを使用して変換すなわち画像処理を実行して出力画像すなわちリアライゼーションの品質を改善することができる。
代替の実施形態において、システム300Bに適用される変換、変換の順序及びリアライゼーションの数は変化し得る。また、上記の説明は単に例示なので、リアライゼーションの各々も分離して処理される必要はなく、複数のリアライゼーションは同時に処理することができる。代替の実施形態において、複数の画像202及び複数の処理コマンド206を使用することができる。
図4−図6は、上述で説明された図1、図2及び図3の例に関した並びに/または他の例及びコンテキストに関した動作フローすなわちフローチャートの様々な例を含む。しかし、動作フローは他の環境及びコンテキスト並びに/または図1、図2及び3の変形バージョンにおいて実行され得ることが理解されるべきである。また、様々な動作フローが図示されたシーケンス(群)において示されるが、様々な動作は図示されたものと別の順で実行されても良くまたは並行に実行されても良い。
図4は、1または複数のリアライゼーションを生成するための画像における複数の変換を実行する実施形態の一例に従ったプロセスを示したフローチャートである。開始動作の後、動作フロー400は受信動作410に移動し、そこで画像を受信することができる。例えば、画像プロセッサ118は、アプリケーション116から画像202を受信することができる。実施形態の他の例において、アプリケーション116及び画像プロセッサ118は、必要ではないが、同一の全体的なシステム200、アプリケーションまたはデバイスの一部であっても良い。
次いで、受信動作420において画像処理コマンド(すなわち処理コマンド)を画像に関して受信することができる。例えば、図2に示されているように、画像プロセッサ118はアプリケーション116から処理コマンド206を受信することができる。処理コマンド206は画像202と関連し、画像202を如何に処理するかを示すことができる。単なる実施形態の一例であるが、例えば、処理コマンド206は変換値210及び/またはリアライゼーション値212を含むことができる。
次いで、実行動作430において、画像処理コマンドすなわち処理コマンドに基づいて画像上でネイティブに変換が実行されて、画像の1または複数のリアライゼーションが提供され得る。例えば、図2で示されているように、画像プロセッサ118は処理コマンド206に基づいて画像における変換を実行して、処理された画像(群)214のリアライゼーション(群)216、218を提供することができる。あるいは図3Bに示されているように、画像202及び処理コマンド206はデコーダ220によって受信されて、複数の変換がネイティブフリップ/ローテータオブジェクト306及びネイティブフォーマットコンバータオブジェクト308によってネイティブに実行された後に、例えば、リアライゼーション304G及び304Hを含む1または複数のリアライゼーションが提供されても良い。
図5は、実施形態の一例に従った複数の変換を実行するプロセスを示したフローチャートである。開始動作の後、動作フロー500は受信動作510に移動し、そこで画像を受信することができる。例えば、画像プロセッサ118はアプリケーション116から画像202を受信することができる。
次いで、受信動作520において、画像処理コマンド(すなわち処理コマンド)を画像に関して受信することができる。例えば、図2に示されているように、処理コマンド206は画像プロセッサ118によってアプリケーション116から受信することができる。処理コマンド206は画像202と関連し、画像202を如何に処理するかを示すことができ、提供すなわち生成されるべき画像の1または複数のリアライゼーションを特定することができる。
その後、実行動作530において、画像処理コマンドに基づいて複数の変換が画像上で実行されて複数のリアライゼーションが提供され得る。複数のリアライゼーションの各々は、画像上でネイティブに実行される少なくとも1の変換を含んでも良い。例えば、図3Bにおいて示されているように、画像202及び処理コマンド206はデコーダ220によって受信することができる。デコーダオブジェクト220が画像をデコーディングした後、フォーマットコンバータ変換がネイティブフォーマットコンバータオブジェクト308によって実行され、次いで非ネイティブスケーラ変換が非ネイティブスケーラ222によって実行されて第2のリアライゼーション304Fが生成され得る。代替例として、ネイティブフォーマットコンバータオブジェクト308によって実行されるネイティブフォーマット変更は、画像がデコーダ220によってデコーディングされると同時に実行することができる。上述したように、ネイティブ変換は非ネイティブ変換に先立って実行することができる。実施形態の一例において、ネイティブ変換は通常任意の順序において実行することができるが、非ネイティブ変換に先立って実行されても良い。非ネイティブ変換も通常は任意の順序において実行することができる。また、第3のリアライゼーション304Gを生成するために、例えば、画像はデコーダオブジェクト220によってデコーディングすることができ、その後または同時に回転変換をネイティブフリップ/ローテータオブジェクト306によって画像に実行することができる。従ってこの態様において、例として、複数のリアライゼーションを提供することができ、リアライゼーションの各々はリアライゼーションを生成するために画像に実行された少なくとも1つのネイティブ変換を含むことができる。
図6は、画像に1または複数の変換を実行して1または複数のリアライゼーションを提供するプロセスを示した実施形態のさらに他の例に従ったフローチャートである。開始動作の後、動作フロー600は受信動作610に移動し、そこで画像を受信することができる。その後、受信動作620において画像処理コマンドを受信することができる。
その後、判定動作630において、画像処理コマンド(すなわち処理コマンド)に基づいて1または複数の変換及び当該変換の配列が判定されて、画像が処理され、画像処理コマンドに従った画像の複数のリアライゼーションが提供される。例えば、画像処理コマンドに基づいて、1または複数の変換(またはオブジェクト)を判定することができる。加えて、変換またはオブジェクトの直列及び/または並列のような配列が画像を処理するために判定され、画像が処理されて画像処理コマンドに従った画像のリアライゼーションが生成され得る。例えば図3Aにおいて、スケーラオブジェクト222及びフォーマットコンバータオブジェクト224(デコーダオブジェクト220の後)の直列配列を判定して、受信した画像202の要求されたリアライゼーション304Bを生成するために画像を処理することを含むことができる。同様に、この判定は、並列配列及び変換またはオブジェクトの順序を判定し、受信した画像を処理して、例えば304A、304C及び304Dのような要求された他のリアライゼーションを提供することを含んでも良い。
説明された実施例の特定の特徴が本明細書において説明されて示されている一方、多くの変形、追加、変更及び等価物が当業者によって想到され得るであろう。従って、添付の特許請求の範囲は、様々な実施形態の真の趣旨の範囲内にある変形及び変更を包含するように企図されていることが理解されるべきである。

Claims (19)

  1. コンピューティングデバイス又は画像プロセッサーによって実行される方法であって、
    画像を受信するステップと、
    前記受信された画像に対する画像処理コマンドを受信するステップと、
    前記画像処理コマンドに基づいて、1つ以上の変換及び前記変換の配列を判定し、前記画像処理コマンドに従って前記受信された画像を処理して前記受信された画像の複数の具現化された描写を提供する判定ステップであって、前記複数の具現化された描写が、前記1つ以上の変換の少なくとも1つの適用前後両方の画像のバージョンの具現化された描写を含むステップと、
    前記画像処理コマンドに応答して、画像を再サンプリングして実行される非ネイティブ変換に優先して、画像の再サンプリング無しに実行されるネイティブ変換を選択するステップと、
    前記画像処理コマンドに基づいて前記受信された画像において、ネイティブ変換を含む複数の変換を実行して前記受信された画像の1つ以上の具現化された描写を提供する実行ステップと
    を含むことを特徴とする方法。
  2. 請求項1記載の方法であって、前記画像を受信するステップは、
    ラスタグラフィックス画像、デジタル画像及び/またはビットマップ画像を含むファイルを受信するステップを含むことを特徴とする方法。
  3. 請求項1記載の方法であって、前記画像処理コマンドを受信するステップは、
    画像処理コマンドを受信して、前記受信された画像をデコーディングまたは解凍する変換、前記受信された画像をスケーリングする変換、前記受信された画像のフォーマットを異なったフォーマットに変更する変換及び/または前記受信された画像をフリッピングもしくは回転する変換のうちの1つ以上の変換を前記受信された画像に実行するステップを含むことを特徴とする方法。
  4. 請求項1記載の方法であって、前記実行ステップは、
    前記画像処理コマンドに基づいて前記受信された画像における第1のネイティブ変換をデコーダによって受信された画像の再サンプリング無しに実行するステップと、
    前記画像処理コマンドに基づいて前記受信された画像における第2のネイティブ変換を前記デコーダによって受信された画像の再サンプリング無しに実行するステップと
    を含むことを特徴とする方法。
  5. 請求項1記載の方法であって、前記実行ステップは、
    前記受信された画像を再サンプリングすることなく前記画像処理コマンドに基づいて前記受信された画像における複数の変換を実行して前記画像の1つ以上の具現化された描写を提供するステップを含むことを特徴とする方法。
  6. 請求項1記載の方法であって、前記実行ステップは、
    デコーダオブジェクトを生成するステップと、
    1つ以上の変換に関するオブジェクトを生成するステップと、
    前記1つ以上の変換に関するオブジェクトと前記デコーダオブジェクトとを関連付けるステップと
    を含むことを特徴とする方法。
  7. 請求項6記載の方法であって、前記1つ以上の変換に関するオブジェクトを生成するステップは、
    スケーラオブジェクトを生成するステップと、
    フォーマットコンバータオブジェクトを生成するステップと、
    フリップ/ローテータオブジェクトを生成するステップと
    を含むことを特徴とする方法。
  8. 請求項1記載の方法であって、前記実行ステップは、
    処理されている前記画像の状態を特定する状態情報を保存するステップをさらに含むことを特徴とする方法。
  9. 請求項1記載の方法であって、前記実行ステップは、
    前記受信された画像に1つ以上の前記変換が実行された後に1つ以上の中間ステージ画像の具現化された描写を保存するステップをさらに含むことを特徴とする方法。
  10. 請求項1記載の方法であって、前記実行ステップは、
    前記画像処理コマンドに基づいて前記受信された画像における複数の変換を受信された画像の再サンプリング無しに実行して前記受信された画像の複数の具現化された描写を提供するステップを含むことを特徴とする方法。
  11. コンピューティングデバイス又は画像プロセッサーによって実行される方法であって、
    画像を受信するステップと、
    前記受信された画像に対する画像処理コマンドを受信するステップと、
    前記画像処理コマンドに基づいて、1つ以上の変換及び前記変換の配列を判定し、前記画像処理コマンドに従って前記受信された画像を処理して前記受信された画像の複数の具現化された描写を提供する判定ステップであって、前記複数の具現化された描写が、前記1つ以上の変換の少なくとも1つの適用前後両方の画像のバージョンの具現化された描写を含むステップと、
    前記画像処理コマンドに応答して、画像を再サンプリングして実行される非ネイティブ変換に優先して、画像の再サンプリング無しに実行されるネイティブ変換を選択するステップと、
    前記画像処理コマンドに基づいて前記受信された画像において、ネイティブ変換を含む複数の変換を実行して前記受信された画像の複数の具現化された描写を提供する実行ステップと、
    を含むことを特徴とする方法。
  12. 請求項11記載の方法であって、前記画像処理コマンドを受信するステップは、
    画像処理コマンドを受信して、前記受信された画像をデコーディングまたは解凍する変換、前記受信された画像をスケーリングする変換、前記受信された画像のフォーマットを異なったフォーマットに変更する変換及び/または前記受信された画像をフリッピングもしくは回転する変換のうちの1つ以上の変換を前記受信された画像に実行するステップを含むことを特徴とする方法。
  13. 請求項11記載の方法であって、前記実行ステップは、
    デコーダオブジェクトを生成するステップと、
    1つ以上の変換に関するオブジェクトを生成するステップと、
    前記1つ以上の変換に関するオブジェクトと前記デコーダオブジェクトとを関連付けるステップと
    を含むことを特徴とする方法。
  14. 請求項11記載の方法であって、前記実行ステップは、
    前記受信された画像に1つ以上の前記変換が実行された後に、1つ以上の中間ステージ画像の具現化された描写を保存して前記受信された画像の前記複数の具現化された描写を提供するステップをさらに含むことを特徴とする方法。
  15. 請求項11記載の方法であって、前記実行ステップは、オブジェクトを生成して複数の変換の各々を実行するステップを含み、前記生成ステップは、
    デコーダオブジェクトを生成するステップ、
    スケーラオブジェクトを生成するステップ、
    フォーマットコンバータオブジェクトを生成するステップ、または
    フリップ/ローテータオブジェクトを生成するステップ
    の1つ以上を含むことを特徴とする方法。
  16. 請求項11記載の方法であって、前記実行ステップは、
    前記画像処理コマンドに基づいて前記受信された画像における複数の変換を実行して前記受信された画像の複数の具現化された描写を提供するステップを含み、前記複数の具現化された描写はオリジナルすなわち未処理の画像及び1つ以上の処理すなわち変換をされた画像の具現化された描写を含むことを特徴とする方法。
  17. 請求項11記載の方法であって、前記実行ステップは、
    前記受信された画像の前記複数の具現化された描写を出力するステップを含むことを特徴とする方法。
  18. 請求項11記載の方法であって、前記判定ステップは、
    前記画像処理コマンドに基づいて1つ以上の変換並びに変換の直列及び/または並列の配列もしくは順序を判定し、前記画像処理コマンドに従って前記受信された画像を処理して前記受信された画像の複数の具現化された描写を提供するステップを含むことを特徴とする方法。
  19. 請求項11記載の方法であって、
    当該判定に基づいた順序及び/または配列において前記受信された画像における1つ以上の変換を実行し、前記画像処理コマンドに従って前記受信された画像の複数の具現化された描写を提供するステップをさらに含むことを特徴とする方法。
JP2009519434A 2006-07-07 2007-05-29 画像の複数のかつネイティブな表現方法 Expired - Fee Related JP5631590B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/482,558 2006-07-07
US11/482,558 US8478074B2 (en) 2006-07-07 2006-07-07 Providing multiple and native representations of an image
PCT/US2007/012641 WO2008008131A1 (en) 2006-07-07 2007-05-29 Providing multiple and native representations of an image

Publications (3)

Publication Number Publication Date
JP2009543253A JP2009543253A (ja) 2009-12-03
JP2009543253A5 JP2009543253A5 (ja) 2010-07-01
JP5631590B2 true JP5631590B2 (ja) 2014-11-26

Family

ID=38919187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009519434A Expired - Fee Related JP5631590B2 (ja) 2006-07-07 2007-05-29 画像の複数のかつネイティブな表現方法

Country Status (8)

Country Link
US (1) US8478074B2 (ja)
EP (1) EP2044569A4 (ja)
JP (1) JP5631590B2 (ja)
KR (1) KR20090031408A (ja)
CN (1) CN101484915B (ja)
MX (1) MX2008015960A (ja)
TW (1) TW200809687A (ja)
WO (1) WO2008008131A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI475509B (zh) * 2008-04-18 2015-03-01 High Tech Comp Corp 圖像載入方法及電子裝置與數位資料儲存媒體
JPWO2009153851A1 (ja) * 2008-06-16 2011-11-17 Necディスプレイソリューションズ株式会社 画像選択システム、画像出力装置、携帯端末、画像選択方法及びプログラム
US8610830B2 (en) * 2008-09-11 2013-12-17 Apple Inc. Video rotation method and device
CN103123718B (zh) * 2011-11-21 2016-06-22 腾讯科技(深圳)有限公司 一种图像处理方法和系统
US9489711B2 (en) 2014-08-21 2016-11-08 Facebook, Inc. Systems and methods for recipient-side image processing
US11094030B2 (en) 2018-12-21 2021-08-17 Microsoft Technology Licensing, Llc Methods of transforming image misalignment

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02131076A (ja) * 1988-11-11 1990-05-18 Hitachi Ltd 画像復号縮小装置
JP3238567B2 (ja) 1993-07-02 2001-12-17 株式会社ソニー・コンピュータエンタテインメント 画像生成方法及び装置
JPH0884341A (ja) * 1994-09-14 1996-03-26 Hitachi Ltd 情報変換装置
JPH08116534A (ja) * 1994-10-18 1996-05-07 Seiko Epson Corp 画像データ符号化装置およびその方法並びに画像データ復号化装置およびその方法
US7190284B1 (en) * 1994-11-16 2007-03-13 Dye Thomas A Selective lossless, lossy, or no compression of data based on address range, data type, and/or requesting agent
JPH08317184A (ja) * 1995-05-15 1996-11-29 Sanyo Electric Co Ltd 画像符号化方法、画像復号化方法および画像記録媒体
US5802373A (en) * 1996-01-29 1998-09-01 Digital Equipment Corporation Method for providing a pipeline interpreter for a variable length instruction set
US6084598A (en) 1998-04-23 2000-07-04 Chekerylla; James Apparatus for modifying graphic images
US6501861B1 (en) * 1998-09-17 2002-12-31 Samsung Electronics Co., Ltd. Scalable coding/decoding methods and apparatus for producing still image using wavelet transformation
US6906826B1 (en) 1998-11-16 2005-06-14 Seiko Epson Corporation Medium on which image modifying program is recorded, image modifying apparatus and method
KR100671098B1 (ko) 1999-02-01 2007-01-17 주식회사 팬택앤큐리텔 모양정보를 이용한 멀티미디어 데이터의 검색 방법 및 장치
US6563964B1 (en) * 1999-02-08 2003-05-13 Sharp Laboratories Of America, Inc. Image downsampling using redundant pixel removal
KR100586693B1 (ko) 1999-04-22 2006-06-08 에스케이 텔레콤주식회사 이미지 데이터의 크기를 축소하기 위한 이미지 변환 처리 장치및 이미지 데이터 크기 축소 방법
US6870944B1 (en) 1999-06-08 2005-03-22 Sony Corporation Image processing apparatus, image processing method, and storage medium
US6959098B1 (en) 1999-11-30 2005-10-25 Digimarc Corporation Method and system for determining image transformation
JP4127465B2 (ja) * 2001-05-14 2008-07-30 株式会社リコー 画像伸張装置及び方法、並びに記録媒体
WO2002045005A1 (en) 2000-12-01 2002-06-06 Lizardtech, Inc. Method for lossless encoding of image data by approximating linear transforms and preserving selected properties
KR100378222B1 (ko) 2001-04-21 2003-03-29 주식회사 마크애니 디지털 워터마크의 삽입 및 검출방법과 이를 이용한워터마크 삽입/검출 장치
US6944357B2 (en) * 2001-05-24 2005-09-13 Microsoft Corporation System and process for automatically determining optimal image compression methods for reducing file size
US20020186393A1 (en) * 2001-06-11 2002-12-12 Pochuev Denis A. Document printing using format-specific translation modules
US6819803B2 (en) 2001-07-02 2004-11-16 International Business Machines Corporation Faster lossless rotation of JPEG images
AU2002334705A1 (en) * 2001-09-27 2003-04-07 Eyesee360, Inc. System and method for panoramic imaging
US7058239B2 (en) * 2001-10-29 2006-06-06 Eyesee360, Inc. System and method for panoramic imaging
WO2003041011A2 (en) * 2001-11-08 2003-05-15 Eyesee360, Inc. Method and apparatus for the computation of panoramic views and _perspective projections from omnidirectional images
JP4141342B2 (ja) * 2002-08-12 2008-08-27 株式会社リコー 画像形成装置
US7149370B2 (en) * 2003-03-07 2006-12-12 Nokia Corporation Method and device for image surfing
JP2004297772A (ja) * 2003-03-12 2004-10-21 Ricoh Co Ltd 画像処理システム、画像形成装置、画像処理方法、プログラム及び記憶媒体
JP3874738B2 (ja) * 2003-04-14 2007-01-31 シャープ株式会社 画像処理システム、画像処理装置及び画像処理方法
CN100458844C (zh) 2003-04-18 2009-02-04 深圳市朗科科技股份有限公司 数码图像处理装置及方法
KR20050030699A (ko) 2003-09-25 2005-03-31 주식회사 팬택앤큐리텔 이미지 변환 시스템 및 그 방법
EP1538844A3 (en) 2003-11-26 2006-05-31 Samsung Electronics Co., Ltd. Color image residue transformation and encoding method
JP2005235029A (ja) * 2004-02-23 2005-09-02 Fuji Photo Film Co Ltd 画像縮小方法および装置ならびにプログラム
US7657846B2 (en) * 2004-04-23 2010-02-02 Microsoft Corporation System and method for displaying stack icons
US20050251758A1 (en) * 2004-04-26 2005-11-10 Microsoft Corporation Indicating file type on thumbnail preview icon
US7506253B2 (en) * 2004-05-21 2009-03-17 Electronics For Imaging, Inc. Methods and apparatus for recording web information
MX2007002101A (es) * 2004-08-21 2007-08-14 Co Exprise Inc Metodos, sistemas, y aparatos para comercio extendido de empresas.
US7672521B2 (en) * 2004-08-30 2010-03-02 Hewlett-Packard Development Company, L.P. System and method for improved page composition
JP4376156B2 (ja) 2004-09-16 2009-12-02 株式会社リコー 画像処理装置および画像処理方法およびプログラムおよび記録媒体
US7882413B2 (en) * 2005-01-20 2011-02-01 New Jersey Institute Of Technology Method and/or system for space-time encoding and/or decoding
GB2423613A (en) * 2005-02-25 2006-08-30 Canon Europa Nv Document print management
US20070120763A1 (en) * 2005-11-23 2007-05-31 Lode De Paepe Display system for viewing multiple video signals
US7715653B2 (en) * 2006-04-03 2010-05-11 Humberto Garduno Non-platform specific method and/or system for navigating through the content of large images, allowing zoom into or out, pan and/or rotation
US20080144066A1 (en) * 2006-10-26 2008-06-19 Andrew Rodney Ferlitsch Composition Print Method Using Translators
TWI324477B (en) * 2006-11-03 2010-05-01 Quanta Comp Inc Stereoscopic image format transformation method applied to display system
US8103654B2 (en) * 2007-06-26 2012-01-24 Mikhail Gilula System and method for querying heterogeneous data sources

Also Published As

Publication number Publication date
KR20090031408A (ko) 2009-03-25
US8478074B2 (en) 2013-07-02
TW200809687A (en) 2008-02-16
WO2008008131A1 (en) 2008-01-17
JP2009543253A (ja) 2009-12-03
EP2044569A4 (en) 2011-06-22
US20080008392A1 (en) 2008-01-10
MX2008015960A (es) 2009-01-09
EP2044569A1 (en) 2009-04-08
CN101484915B (zh) 2013-09-18
CN101484915A (zh) 2009-07-15

Similar Documents

Publication Publication Date Title
JP5631590B2 (ja) 画像の複数のかつネイティブな表現方法
JP4964386B2 (ja) グラフィカルデータおよびデジタルドキュメント処理の視覚表示を生成するためのシステムおよび方法
CN102246154B (zh) 基于用户模式的远程桌面协议(rdp)编码体系结构
JP5908653B2 (ja) 3次元客体生成装置及びその方法
US20070234229A1 (en) Server apparatus of computer system
JP2008526107A (ja) リモートコンピューティングにおけるグラフィクスプロセッサの使用
US9390354B2 (en) Method for printing an upscaled image
US9275487B1 (en) System and method for performing non-affine deformations
US8670634B2 (en) Method and apparatus for managing image-processing operations
JP3817473B2 (ja) 画像出力装置及び画像処理方法
CN111008934A (zh) 一种场景构建方法、装置、设备及存储介质
US20210335018A1 (en) Data generating device, training device, and data generating method
CN102239484B (zh) 经改进的命令遥控技术
WO2021213340A1 (zh) 视频分辨率提升方法及装置、存储介质及电子设备
JP4775161B2 (ja) 画像処理装置、画像処理プログラム
US9679356B2 (en) Vectorized two stage tile-based scaling
JP2004103017A (ja) ダイナミックな色提供辞書
JP2020087104A (ja) コンピュータプログラム、画像処理方法、及び画像処理装置
CN117412060A (zh) 基于硬件加速的图像处理方法、装置及电子设备
JP2001297339A (ja) 三次元立体図形生成方法及び三次元立体図形生成の記録媒体
JP2004103016A (ja) ダイナミックな色提供辞書
US20200380730A1 (en) Encoding positional coordinates based on multiple channel color values
CN116797451A (zh) 图像生成方法、系统、电子设备和介质
JP2001054112A (ja) 画像生成方法、画像生成装置、画像閲覧方法、画像閲覧装置、及び、記録媒体
JPH0229834A (ja) 画像処理装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100430

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111011

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120110

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120816

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130809

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130819

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20130927

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140307

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140312

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141008

R150 Certificate of patent or registration of utility model

Ref document number: 5631590

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees