JP2002524006A - デジタル画像の移植性の改善 - Google Patents

デジタル画像の移植性の改善

Info

Publication number
JP2002524006A
JP2002524006A JP2000568048A JP2000568048A JP2002524006A JP 2002524006 A JP2002524006 A JP 2002524006A JP 2000568048 A JP2000568048 A JP 2000568048A JP 2000568048 A JP2000568048 A JP 2000568048A JP 2002524006 A JP2002524006 A JP 2002524006A
Authority
JP
Japan
Prior art keywords
image data
image
data
imaging device
format
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.)
Granted
Application number
JP2000568048A
Other languages
English (en)
Other versions
JP2002524006A5 (ja
JP4377066B2 (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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JP2002524006A publication Critical patent/JP2002524006A/ja
Publication of JP2002524006A5 publication Critical patent/JP2002524006A5/ja
Application granted granted Critical
Publication of JP4377066B2 publication Critical patent/JP4377066B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • 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
    • G06T3/4092Image resolution transcoding, e.g. by using client-server architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0065Converting image data to a format usable by the connected apparatus or vice versa
    • H04N2201/0068Converting from still picture data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0081Image reader
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0084Digital still camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0087Image storage device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3242Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of processing required or performed, e.g. for reproduction or before recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3252Image capture parameters, e.g. resolution, illumination conditions, orientation of the image capture device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3278Transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/333Mode signalling or mode changing; Handshaking therefor
    • H04N2201/33307Mode signalling or mode changing; Handshaking therefor of a particular mode
    • H04N2201/33378Type or format of data, e.g. colour or B/W, halftone or binary, computer image file or facsimile data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Studio Devices (AREA)
  • Television Signal Processing For Recording (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

(57)【要約】 撮像装置を独立して製造するために、画像の作成/取り込みおよび処理に関する要因を一致させる必要がない方法で、異なる固有フォーマット(104a、104b、110)のデジタル画像を格納および変換する技法。固有フォーマットの画像データおよび関連付けられたメソッドが、従来のオブジェクト指向技術の意図の範囲内で、画像オブジェクト(108a、108b、108c)の一部として組み合わせられ、ホスト・システム(102)に転送される。

Description

【発明の詳細な説明】
【0001】 (背景情報) (発明の分野) 本発明は、一般にデジタル撮像に関し、より詳細には、様々な固有のフォーマ
ットが可能なデジタル画像をパッケージングし、これらを共通のフォーマットに
変換する技法に関する。
【0002】 (関連技術) デジタル・カメラなどデジタル撮像装置の可用性が向上の一途をたどりつつあ
ることによって、パーソナル・コンピュータ(PC)業界と写真業界とが結集す
るいまだかつてない好機が訪れている。デジタル・カメラが作成した写真は、P
Cで使用するのには理論上好適であり、デジタル・カメラとパーソナル・コンピ
ュータを統合させることには何の問題もないと思われる。ただし、この結合には
大きな障害がある。
【0003】 デジタル写真業界が現在実施していることは、製造業者がそれぞれ独自にデジ
タル・カメラを開発していることである。この動きは変わりそうもない。このよ
うな新しいカメラは、典型的には、画像をホスト処理システム上で表示できるよ
うに、それぞれ統合されたソフトウェア・パッケージにまとめられている。ソフ
トウェアは、具体的にはそのカメラで動作するように設計され、タイプの異なる
デジタル・カメラまたは製造業者の異なるカメラとの互換性はサポートしていな
い。デジタル画像をカメラ内部に格納する方法、格納前に処理する方法、または
ホスト・システム(たとえばPC)がこれらを取り扱う方法については、製造業
者間でほとんど、またはまったく取り決められていない。
【0004】 装置とホストとの間でイメージを転送する基準に関する、これまでで最も新し
い試みが、Twainドライバである。Twainドライバとは、撮像装置から
デジタル画像を取り出すためのアプリケーション・プログラムへの標準インタフ
ェースとなっているソフトウェア・モジュールである。モジュールは、撮像装置
の固有フォーマットからアプリケーションが使用する何らかの共通フォーマット
へ画像を変換する。このような共通フォーマットの例には、赤緑青(RGB)ビ
ットマップ、およびMicrosoft Corpによって定義付けられたよう
な装置非依存型ビットマップ(DIB)が含まれる。
【0005】 タイプの異なるデジタル・カメラは、デジタル画像を格納するために異なる固
有フォーマットを使用することが多い。デジタル・カメラ内部には、装置、固有
フォーマット、およびホスト・オペレーティング・システムの所与の組み合わせ
に特有のTwainモジュールを格納することができる。その後Twainモジ
ュールを、画像データと共にそれぞれの新しいホストに転送することができる。
ただし、このようなモジュールをデジタル・カメラ内部に格納することは、デジ
タル・カメラ内のメモリ・リソースが制限されていることから、実用的でない場
合がある。また、このようなモジュールはホスト・オペレーティング・システム
と直接対話するため、カメラ内にウィルスとしてセキュリティ・リスクが発生し
、ホスト・システム内へと伝播される可能性がある。結局の所、Twainモジ
ュールは典型的には特定のホスト・コンピュータに特有のコードで作成され、T
wainソリューションが実際には移植不能となってしまう。
【0006】 したがって、デジタル画像を異なる固有フォーマットで格納するタイプの異な
る画像装置が、大規模な装置特有のTwainドライバをホスト・システムにロ
ードする必要なく、ホスト内部でこのような画像を共通フォーマットで表示また
は処理できるように、ホスト・システムと通信可能にする技法を有することが望
ましい。
【0007】 (概要) 一実施態様での本発明は、センサ・データを生成する画像センサと、画像オブ
ジェクトを格納するメモリとを有する撮像装置を対象とするものである。画像オ
ブジェクトは、センサ・データに関する画像データと、その画像データに基づい
て変換された画像データを取得するためにアブストラクト・マシンが実行する画
像メソッドとを有する。
【0008】 前述の本発明の一実施態様を簡単にまとめた特徴、ならびに他の実施態様の他
の特徴および利点は、以下の詳細な説明、特許請求の範囲、および図面から明ら
かになろう。
【0009】 (詳細な説明) 上記で簡単に述べたように、一実施形態での本発明は、デジタル・カメラなど
の撮像装置の製造業者に、デジタル画像データの取り出しおよび格納を行うため
の独自の固有フォーマットを選択する機能を与えると同時に、画像を作成した特
定の撮像装置に特有の知識をホスト・システムが有する必要性をなくすものであ
る。画像に関するデータは、オブジェクトの一部として格納される。したがって
、それぞれの画像は画像ファイルとして表されるのではなく、オブジェクト指向
ソフトウェアの従来の意味で画像オブジェクトの一部としてパッケージングされ
る。画像オブジェクトには、画像データと関連付けられたメソッドとが含まれる
。このメソッドは、固有フォーマットから共通画像ファイルフォーマットへの変
換をサポートするのに必要なインテリジェンスである。それぞれのメソッドが、
関連付けられた画像データの固有フォーマットに特有の変換を定義する。
【0010】 画像メソッドを解釈して実行するホスト・システム内のソフトウェアは、ハー
ドウェアおよびオペレーティング・システムの如何にかかわらず、すべてのホス
ト処理システムに共通とすることが可能であって、撮像装置とは無関係に開発お
よび配布することができる。このようなソフトウェアは、実質的に、仮想マシン
などのオブジェクト実行環境である。仮想マシンと受け取った画像データとの間
には依存関係がないため、新しい様々な撮像装置を、共通のフォーマットおよび
アプリケーション・ソフトウェアの開発とは関係なく開発することができる。共
通フォーマットを使用すれば、アプリケーション開発者が現在使用中の様々な画
像ファイルフォーマットを認識し処理する必要もなくなる。画像オブジェクトに
よって、画像製造業者は、撮像装置内に画像を格納するのに最適なフォーマット
は何か、またこれらを処理する最適な方法は何かを判定することから解放される
。このような解決策は、仮想マシンおよび/または共通画像ファイル・フォーマ
ットの変更または改善が、画像装置またはアプリケーション・ソフトウェアの変
更よりも行われる頻度がおそらく少ないので、特に有利である。
【0011】 図1は、本発明の様々な実施形態のシステム全体図であって、画像オブジェク
トは異なる撮像装置104aおよび104b内ならびに記憶装置110内に形成
または格納された後、ホスト・システム102に転送される。オブジェクト10
8a、108b、または108cはそれぞれ、画像データを取り込むのに使用さ
れた特定タイプの撮像装置に固有のフォーマットの画像データである、少なくと
も1つのデータ部分を含んでいる。たとえば、装置104aは、その装置を使用
して得られた単一の画像を表す、オブジェクト108aを生成するように構成さ
れたスキャナであってよい。これに対して、装置104bは、2つの静止画像を
表す2つのデータ部分114b1および114b2を有する単一のオブジェクト1
08bを生成するように構成されたデジタル・カメラであって良い。
【0012】 いったんホスト・システム102にオブジェクトが転送されると、そのメソッ
ドはアブストラクト・マシン120によって解釈および実行され、その結果デー
タ・ファイル116a(オブジェクト108aから)、116b1および116
2(オブジェクト108bから)、ならびに116c(オブジェクト108c
から)となる。これらのファイルは、事前定義された共通フォーマットのデジタ
ル画像を含んでいる。次いで、各データ・ファイル内で画像を操作または表示す
るために、アプリケーション124がデータ・ファイルにアクセスすることがで
きる。アプリケーション124は、Joint Photographic E
xperts Group(JPEG)フォーマット、Graphics In
terchange Format(GIF)、Interchange Fi
le Format(IFF)、およびTagged Image File
Format(TIFF)を含んでいる、多数の他のファイルフォーマットの1
つに画像をさらに変換するように設計することができる。便宜上、下記の考察で
は、装置104aと、オブジェクト108aと、関連付けられたデータ114a
およびメソッド115aとの間の対話についてのみ説明する。ただし、この考察
は、このような実施形態にのみ限定されるものではなく、図1に示されたものを
含んでいる代替の装置、オブジェクト、データ、およびメソッドにも適用される
ものであることを理解されよう。
【0013】 本発明の実施形態とTwainモジュールを使用して装置とホストの間で画像
データを転送する従来の技法との間の何らかの相違点をより理解しやすいように
するために、図1のシステムの一実施形態で実行されるステップが図2に示され
る。本発明の一実施形態に従って移植可能な画像データを作成および転送する技
法は、生センサ・データを取り込むことによって、図2のステップ204から開
始することができる。これは、デジタル・カメラなどの撮像装置に関連付けられ
た知られている技法に従って実行することができる。次に、事前定義された固有
フォーマットの画像データ114aが生センサ・データに基づいて形成される。
一実施形態では、生センサ・データは、ステップ208で示されるように所望の
固有フォーマットでデータを取得するために、ノイズ除去、色補間、画像圧縮、
およびスケーリングなどの従来の操作および/または知的所有権のある操作に従
い、画像装置104aによって処理される。あるいは、生センサ・データに対し
て重要な処理を実行せずに、ステップ208を省略することができる。この場合
、生センサ・データは固有フォーマットであるとみなされる。ステップ208で
の処理量は、以下で論じる潜在的な性能の兼ね合いに関係する。次いで操作はス
テップ212に進む。
【0014】 ステップ212では、画像装置104aが、画像データ114aおよび関連付
けられた画像メソッド115aを含んでいるオブジェクト108aを形成する。
画像メソッド115aは、画像データを固有フォーマットから事前定義された共
通フォーマットに変換するためにアブストラクト・マシン120によって実行さ
れる、プログラムまたは命令リストである。メソッド115aは、アブストラク
ト・マシン120の命令セットに基づくものである。ほとんどの場合、アブスト
ラクト・マシンの命令セットは画像処理用に最適化することができるため、およ
びメモリ割振りなどの資源割振りはこのメソッドによらずにアブストラクト・マ
シン120に組み込むことができるため、このメソッドは従来のTwainモジ
ュールよりもかなり小さくなると予想される。
【0015】 画像オブジェクト108aが撮像装置内で形成された後、図2の操作はホスト
・システムへのオブジェクト転送に進む。これは、有線リンクなどの画像データ
を転送するよく知られた通信媒体を使用するか、または不揮発性メモリ・カード
などの取外し可能な記憶装置110を使用して、実行することができる。
【0016】 通信媒体とホスト・システム内のアブストラクト・マシン120との間のイン
タフェースがオブジェクト・ドライバ122である。オブジェクト・ドライバ1
22は、アブストラクト・マシンがオブジェクト108aを使用できるようにす
るために、ホスト・システム102内にある適切なハードウェアおよびソフトウ
ェア(オペレーティング・システムを含んでいる)と通信する。オブジェクト・
ドライバはローカルOSの下でアブストラクト・マシンを起動し、最終的にメソ
ッドを実行させる。一実施形態では、オブジェクト・ドライバ122は、Tag
ged Image File Format(TIFF)に従って構成された
ファイルを検索するよく知られたソフトウェア・ドライバを含んでいる。TIF
Fは、ビットマップされた画像をPCおよびMacintoshコンピュータに
格納する一般的なフォーマットであり、オブジェクト108aを実装するのに使
用することができる。オブジェクト108aおよびその関連付けられたドライバ
122を実装する他の技法は、当分野の通常の技術者であれば理解できるように
使用することができる。
【0017】 ローダ(図示せず)は、メソッドをアブストラクト・マシン内にロードし、画
像データを示すポインタにこれを渡す。さらにローダは、画像カウントなど画像
オブジェクトの一定のフィールドを認識し、ステップ220のように、各画像を
処理するためにアブストラクト・マシンを繰返し初期設定する。その結果、画像
データ114aが共通フォーマットの変換済み画像データに変換および処理され
る。変換済みデータは、通常別のデータ・ファイル116a内に配置され、ハー
ド・ディスク・ドライブなどの大容量記憶装置内に格納することができる。次い
でアプリケーション124は、さらにこのデータ・ファイル116aを所望の最
終フォーマットに処理することができる。
【0018】 以上、本発明の一実施形態についてシステム全体の見地から説明してきたが、
図3および4では、本発明の他の実施形態を画像装置104aおよびホスト・シ
ステム102として例示する。図3は、画像オブジェクト108aを受け入れて
処理するように構成されたソフトウェアおよびハードウェアを含んでいる、ホス
ト処理システム102の一実施形態である。この特定の実施形態は、プロセッサ
334が結合されたバス332を中心に構成される。システム102は、Int
elプロセッサならびにMicrosoft Windowsのグラフィカル・
ユーザ・インタフェースおよびオペレーティング・システムを有する、従来のパ
ーソナル・コンピュータであってよい。オペレーティング・システム・ソフトウ
ェア340、オブジェクト・ドライバ122、およびアブストラクト・マシン1
20はメモリ328内に別々にロードされるように示されているが、当分野の通
常の技術者であれば、これらソフトウェア構成要素が時には全体的または部分的
に組み合わせられ、メモリ328と、大容量記憶装置338(たとえば磁気回転
式ディスク)と、光コンパクト・ディスクなどのポータブル・メモリ(図示せず
)との間で分配できることを理解されよう。
【0019】 プロセッサ334は、メモリ328(たとえばランダム・アクセス・メモリ(
RAM))内および大容量記憶装置338内に格納された命令を実行する。メモ
リ328は、プロセッサ334によって実行されるとホスト処理システム102
を構成するステップに様々な画像装置および記憶装置からオブジェクトを受け取
って処理させる命令をロードすることができる、半導体集積回路などの任意の機
械読取り可読媒体である。
【0020】 ホスト処理システム120は、RS−232シリアル、ユニバーサル・シリア
ル・バス(USB)、およびIEEE標準1394〜1995を含んでいる従来
のコンピュータ周辺バス標準のいずれか1つでコンパイルする、通信インタフェ
ース316も含んでいる。物理的有線を介した通信に加えて、たとえば、データ
伝送用の赤外線または無線周波を使用する無線通信媒体も企図されている。他の
代替通信媒体としては、Personal Computer Memory
Card International Association(PCMCI
A)、IntelによるFlash Miniature Card、およびデ
ジタル画像データの移送に好適な任意の他の不揮発性記憶媒体を含んでいる、い
くつかの異なる取外し可能記憶装置が企図されている。
【0021】 図3のホスト処理システム102は、陰極線管(CRT)、液晶表示(LCD
)、および電子画像を表示するのに好適な任意の他の表示技法を含んでいる任意
の従来型表示装置とインタフェースする、グラフィックス・アダプタ・カードな
どの、ユーザ表示装置インタフェース342も備えている。もちろん、ホスト処
理システム102は、追加のI/Oを実行する追加のインタフェース(図示せず
)(たとえばネットワーク・インタフェース・コントローラ)も備えることがで
きる。
【0022】 以上、本発明のシステム実施形態のホスト部分について論じてきたが、図4で
は、そのソフトウェア要素およびハードウェア要素を含んでいる撮像装置104
aについて例示する。図4の実施形態も、プロセッサ424およびメモリ428
が結合されるバス432に基づくものである。ここでの代替例は、プロセッサ4
24およびメモリ428に取って代わるマイクロコントローラである。メモリは
、半導体集積回路RAMなどの機械可読媒体または読取り専用メモリ(ROM)
などの不揮発性半導体メモリであってよい。メモリ428には、画像オブジェク
ト108の一部として画像データ114aとメソッド115aとの組み合わせを
発生させる(図1参照)、プロセッサ424によって実行される命令がロードさ
れる。図4では、このような命令をオブジェクト形成ソフトウェア412として
集合的に表示している。画像メソッド115aは、通常、以下で記載するように
別々のソフトウェアとして開発される。
【0023】 メモリ428は、画像センサ404から受け取った生センサ・データを、固有
フォーマットの画像データ114aに処理するために使用される、任意選択の信
号処理ソフトウェア408を含むこともできる。画像処理論理回路436は、生
センサ・データを処理するときにより良い性能を得るために、撮像装置104に
含めることもできる。論理回路436は、一実施形態では相補型金属酸化膜半導
体(CMOS)アクティブ・ピクセル・センサであってもよい、画像センサ40
4のタイに組み込むことができる。
【0024】 図4には示されていないが、メモリ428は、インタフェース416および4
20にアクセスして撮像装置104aの外部にある装置と通信する、プロセッサ
424によって実行されるソフトウェアも格納する。通信媒体へのインタフェー
ス416は、ホスト・システムに関して上記で論じたコンピュータ周辺バス標準
でコンパイルするものであってよい。同様に、インタフェース420は、不揮発
性記憶のフラッシュ・メモリ・カードなどの取外し可能記憶装置を接続したり、
画像オブジェクト108aの移送用のカードに接続することができる。
【0025】 図4に示した本発明の実施形態は、画像オブジェクト108aを形成してホス
ト・システム102に転送するために、主としてソフトウェア・ベースのプロセ
ッサおよびバス・アーキテクチャを使用する。これに代わるものとしては、前述
の画像オブジェクト108aを形成および転送する場合と同じ機能を実行する、
ゲート・アレイおよび特定用途向け集積回路(ASIC)に基づく主としてハー
ドウェア・ベースのアーキテクチャとすることができる。
【0026】アブストラクト・マシンおよび画像オブジェクト 本開示の残りの部分では、画像メソッド115aを構築する際に使用できる命
令セットを含んでいる、画像オブジェクト108aおよびアブストラクト・マシ
ン120を実装する技法について論じる。
【0027】 前述のように、オブジェクト108aは、Tagged Image Fil
e Format(TIFF)/Electronic Photograph
y(EP)構造またはファイルとして実装することができる。TIFFファイル
は、画像データ114aおよび関連付けられたメソッド115aの位置を指すフ
ァイル・ヘッダを含んでいる。TIFFファイルおよびそのファイル・ヘッダは
、オブジェクト・ドライバ122によってアクセス可能であり、アブストラクト
・マシン120を使用可能にすることができる。
【0028】 画像メソッド115aを開発する手順は、撮像装置104aの開発者が事前定
義された固有フォーマットと共通フォーマットとを比較することによって開始さ
れる。画像データ114aを固有フォーマットから共通フォーマットに変換する
アルゴリズムが開発される。このようなアルゴリズムはよく知られたものである
か、または当分野の通常の技術者が簡単に開発できるものである。次いでこのア
ルゴリズムが、Cなどの高水準プログラミング言語および/または以下に記述す
るアブストラクト・マシン120の低水準命令セットを使用するプログラムで実
施される。次いでこのプログラムがテストされ、任意選択で最適化される。次い
でこのプログラムが、低水準命令を表すバイト・コードにコンパイルされる。こ
れが所望の画像メソッド115aになる。次いでこのメソッドが、撮像装置10
4a上の不揮発性メモリ(たとえばメモリ428)に、オブジェクト形成ソフト
ウェア412(図4を参照)の一部として格納される。
【0029】 撮像装置104a内に常駐する画像オブジェクト108aが必要とする記憶オ
ーバヘッドは、記憶域が典型的に限られているデジタル・カメラなどの移植可能
アプリケーションに関係する場合がある。このオーバヘッドは、(1)画像デー
タ114aをその固有フォーマットから共通フォーマットに変換するのに必要な
処理の量および複雑さ、ならびに(2)その固有フォーマットでのデータ114
aのサイズによって決まる。事前定義された共通フォーマットに対して計算上は
クローズである固有フォーマットを選択すると、画像メソッド115aは、単純
な数学的命令またはデータ移動命令の比較的短いリストになる。これに対して、
メソッド115aは、画像データ114aを圧縮率の高い固有フォーマット(た
とえばJPEGまたはフラクタル技術)から共通フォーマットに圧縮解除するこ
とが必要な場合、比較的大きくなりやすい。後者の場合、画像データを圧縮する
ことによって得られる記憶スペース内の任意の利得が、画像データの圧縮解除に
必要なより複雑で冗長なメソッドによって低減される。
【0030】 記憶スペースの問題を解決するために、各メソッドがそれに基づいて形成され
る、アブストラクト・マシンの命令セットを高度に最適化することができる。た
とえば、アブストラクト・マシン120が使用できる(画像データ114aを受
け取るための)入力バッファと(変換されたデータを共通フォーマットで格納す
る)出力バッファの場所を暗黙的にすることができる。アドレス計算および大多
数のデータ移動は、画像メソッド115a内の特有の命令ではなく、アブストラ
クト・マシン120によって暗黙的に実行することができる。したがってこのメ
ソッドは、その関連付けられた画像データ114aを共通フォーマットに変換す
るのに必要なアルゴリズムに専念するだけでよい。
【0031】 画像メソッド115aをコンパクトにしておくように命令セットを最適化する
ことに加え、撮像装置上の記憶域を節約する他の方法は、図1のオブジェクト1
08bに示されるように、メソッド115aの単一コピーを複数セットの画像デ
ータに関連付けることである。この方法では、単一の画像オブジェクト108b
が画像データ114b1および114b2内に複数の画像を含んでおり、実際には
、メソッド115bの実行がフィルムの現像とおおよそ等価であるような、従来
のフィルムの役割に似たものとなる。
【0032】 記憶スペースに加え、撮像装置の製造業者に関する他の問題は、画像処理方法
論(methodology)の知的所有権を保護することである場合がある。
このような処理は、たとえばカラー・フィルタ・アレイ・パターンの補間、ガン
マ修正、ホワイト・バランス・アルゴリズムなど、最終画像品質を向上させるた
めに生センサ・データに対して実行することができる。撮像装置104aの製造
業者は、メソッド115aにこれら画像処理アルゴリズムを入れることによって
、オブジェクト108aがホスト・システム102に転送されたときにアルゴリ
ズムを潜在的な競争相手に公開してしまうのではなく、主要な画像処理機能を撮
像装置内部で実行させることを望む場合がある。その結果、生センサ・データの
強力な処理済みバージョンである画像データ114aが生じる。その極端な場合
の一つとして、自分の画像処理技術を強力に保護することを望む製造業者は、こ
のような処理をすべて画像装置内に埋め込み、その結果、画像データ114aが
共通フォーマットとなる場合がある。この場合、対応するメソッド115aは、
データ114aをホスト・システム102内の出力バッファにコピーするだけで
ある。他方の極端な場合は、画像データ114aをオブジェクト108aにパッ
ケージングする前には生センサ・データに対してどんな処理も実行しないことだ
けで、撮像装置104a内での画像処理を絶対最低に維持することができる。メ
ソッド115aは、共通フォーマットに達するのに必要なすべての処理を定義し
、ホスト・システム内のアブストラクト・マシン120は、共通フォーマットの
画像データを達成するためにこのような処理をすべて実行する。
【0033】仮想マシン・アーキテクチャ アブストラクト・マシン120の一例が仮想マシンである。仮想マシンは、画
像メソッド115aを実行する別々のコンピュータであるかのように動作する、
独立型オペレーティング環境である。仮想マシンは、ホスト・システムを、受け
取ったオブジェクト108aに内在している可能性のあるどんなウィルスからも
遮蔽する助けとなる。仮想マシンは、ホスト処理システム102のハードウェア
・プラットフォームから独立した、命令セット、レジスタ・セット、およびメモ
リ・モデルを有することができる。よく知られたインタープリタ、プログラミン
グ言語、および関連ツールを備えた使用可能な仮想マシンの一例が、JAVATM の仮想マシンおよびプログラミング言語である。
【0034】 一般に、仮想マシンは、比較的小さなコードを画像メソッド115a用に書き
込めるように最適化しなければならない。他の望ましい特徴は、たとえば、メソ
ッド115aを解釈するために、知られた技法であるジャスト・イン・タイムの
コード変換を使用する、単純な仮想マシン・インタフェースおよびスピーディな
コード・コンパイルである。仮想マシンは、動的メモリ割振りを使用して、メソ
ッド115aを実行中に、一時データ記憶用のバッファを作成することができる
ものとする。したがって、メモリ管理のためにメソッド115aで必要なオーバ
ヘッドを最小限にすることができる。また、ホスト・システム102は、ホスト
・システムが画像オブジェクト108aによるどんな正当な要求も認められるよ
うに、画像オブジェクト108aが必要とする資源に比べて十分な使用可能資源
(たとえばメモリ)を有するものとする。
【0035】 仮想マシンの命令セットについても考慮しなければならない。撮像技法に関す
る図1の実施形態の場合、命令セットは画像処理用に最適化されるものとする。
たとえば、命令が、文字列、マルチタスク実行、またはグラフィカル・ユーザ・
インタフェースを処理する必要はない。命令セットは、画像データ114a用の
いくつかの異なる固有フォーマットを共通フォーマットに変換できる十分なフレ
キシビリティを有するように設計しなければならない。仮想マシンに提供される
どんな機能およびその命令セットも、画像データ114aを格納するのに使用で
きるどんな固有フォーマットの知識もないことを想定しなければならない。
【0036】 命令セットについて考慮すべきその他の点は、比較的深いスタックを備えたス
タック指向のフロー制御(call/return/push/pop)をサポ
ートすることである。たとえば、仮想マシンを実施するホスト・システム102
は、オブジェクト108aによる任意の正当なスタック使用量を処理することが
できる拡張可能な仮想スタックに、十分な資源を提供することができる。さらに
、仮想マシンは、ホスト・システム102で使用可能な場合に、特に並列処理が
画像処理アルゴリズムにとって主要な性能強化となる可能性があることから、並
列処理サポートを利用できるプログラミング制約を与えなければならない。最終
的に、仮想マシンは、あらゆる潜在的な例外に関する定義済みの省略時挙動を備
えた、フレキシブルな例外処理も提供することができる。プログラミングをでき
る限り簡略化し、オブジェクト108a内のフロー制御オーバヘッドを最小限に
するために、高水準フロー制御(if/for/while/case)をサポ
ートすることも望ましい。あるタイプの変数から他のタイプのものへキャストす
るときに必要となる可能性のある他の特徴に、フレキシブル・タイプのチェック
もある。
【0037】仮想マシンの例−仮想画像プロセッサ 一実施形態での仮想マシンは、以下で説明する仮想画像プロセッサ(VIP)
であってもよい。この実施形態では、ユーザの介入がまったく予想されないので
、VIPに関する従来のI/Oサポートはいっさい企図されていない。VIPは
、画像データ114aを固有フォーマットの入力として処理するため、および画
像データを共通フォーマットの出力として生成するためにのみ存在する。このよ
うなタスクに必要なメモリ資源は、通常ホスト・システム102によって提供さ
れ、したがって、画像オブジェクト108aのプログラマは、メモリ資源がどの
ように提供されるかを正確に認識する必要がない。
【0038】 以下の記述からも明らかなように、VIPの命令セットは、従来のハードウェ
ア・マイクロプロセッサのそれとはほとんど似ていない場合がある。これは部分
的には、メソッド115aのコード・サイズを減らすことを所望しているため、
および画像データ114aの数学的処理に重点を置いているためである。VIP
の命令セットは、画像処理に必要な操作を最小限の可能なスペース内に指定でき
るようにしなければならない。たとえば、フロー制御命令は、関連付けられた複
雑さの相対的にかなりの部分を、命令セットではなくVIPに組み込むことがで
きるため、従来のマイクロプロセッサのそれに比べてかなり簡略化することがで
きる。したがって、従来のハードウェア・マイクロプロセッサ内で実施するには
複雑すぎる事象を、単一の命令でトリガすることができる。さらに、VIP用の
命令は、様々な数のオペランドを有することが可能であり、これはハードウェア
・マイクロプロセッサの場合よりもはるかに多いことを意味する。物理レジスタ
の限定セットを使用するように設計された離散的な数値演算を使用して、数式を
データ移動命令のシーケンスに分ける必要がない。その代わりに、式は画像メソ
ッド115a内に直接表され、VIPによって解釈される。割当て式は、逆ポー
ランド記法(RPN)の式が後に続くターゲット・レジスタとして表すことがで
きる。したがって演算子を、機械命令としてではなく式の構成要素として、画像
メソッド115aに直接コード化することができる。タイプのキャストおよび自
動変換を管理する規則は、どんな式でも暗黙的にすることができる。
【0039】 この実施形態では、以下のような7つのプログラム制御命令および5つのデー
タ操作命令が企図される。 ┌───────┬──────────────────────────┐ │命令 │説明 │ ├───────┼──────────────────────────┤ │goto │プログラム制御を転送する │ ├───────┼──────────────────────────┤ │ifgoto │条件付きでプログラム制御を転送する │ ├───────┼──────────────────────────┤ │select │インデックス付きのプログラム制御転送 │ ├───────┼──────────────────────────┤ │call │プログラム制御をサブ・プログラムに転送する │ ├───────┼──────────────────────────┤ │return │プログラム制御をサブ・プログラムから戻す │ ├───────┼──────────────────────────┤ │exit │VIPプログラムの実行を普通に終了する │ ├───────┼──────────────────────────┤ │abort │VIPプログラムの実行を異常に終了する │ ├───────┼──────────────────────────┤ │push │プリミティブ・データ変数をデータ・スタック上にプッシ│ │ │ュする │ ├───────┼──────────────────────────┤ │pop │プリミティブ・データ変数をデータ・スタックからポップ│ │ │する │ ├───────┼──────────────────────────┤ │move │データを移動し、任意選択で式を評価する │ ├───────┼──────────────────────────┤ │create │プログラムで使用するための新しいデータ要素を作成する│ ├───────┼──────────────────────────┤ │destroy│作成したデータ要素を解除する │ └───────┴──────────────────────────┘
【0040】 プログラム制御命令は、プログラム実行フローを管理するのに使用される。従
来のマイクロプロセッサとは異なり、多数の条件付き分岐命令はない。また、(
Cプログラミング言語の切り換えステートメントに対応する)インデックス付き
ジャンプの直接サポートがある。ターゲット・アドレス・サイズは、メソッド1
15a全体のサイズに応じて変化する。
【0041】 データ移動命令は、実際に画像の変換および処理作業を実行するものである。
一実施形態では、数値演算または論理演算が各命令に関連付けられたオペランド
・リスト内に埋め込まれているので、これらを直接実施する命令はない。また、
従来のマイクロプロセッサとは異なり、命令に関するオペランド・リストは数の
異なるオペランドを有することができる。
【0042】 プッシュ命令は、1つのデータ変数をデータ・スタックの上にプッシュする。
データ・スタックがプログラム・フロー制御スタックとは異なることに留意され
たい。プッシュ命令は、個々のプリミティブ・データ・タイプをデータ・スタッ
クの上にプッシュするためにのみ使用できる。すなわち、アレイ全体をスタック
の上にプッシュするのには使用できない。プッシュ命令のフォーマットは演算コ
ードであり、その後に、スタック上にプッシュするデータを表すデータ変数のイ
ンデックスが続く。データ変数のタイプおよびサイズは、オペランドにコード化
される。
【0043】 ポップ命令は、データ・スタックから1つのデータ変数をポップする。関連付
けられたデータ変数は、以前にスタック上にプッシュされたデータと同じタイプ
のものである必要はない。変数タイプがスタックの一番上にある既存のデータ・
タイプと一致しないと、メソッド115aを定義するのに使用される、より高水
準なプログラミング言語のタイプ・キャストを管理するのと同じ規則に従って、
自動タイプ・キャストが実行される。
【0044】 移動命令は、データをソースから宛先に転送し、任意選択で、ソース内でコー
ド化された式を評価する。すなわち、ソースは単一の変数である必要はなく、逆
ポーランド記法(RPN)を使用してコード化された任意の複雑な式であってよ
い。
【0045】 作成命令は、新しいデータ変数を動的に作成し、その変数に参照を割り当てる
。作成された変数は、単一のプリミティブ・データ・タイプまたはプリミティブ
・データ変数のアレイであってよい。破棄命令は、作成命令によってデータ変数
に割り振られたメモリを解除する。メソッド115aを定義するのに使用される
、より高水準なプログラミング言語用のコンパイラは、メソッド115aのサブ
プログラムで使用される自動変数用の動的メモリを管理するために、作成命令お
よび破棄命令を使用することができる。これは、自動変数を作成するスタックを
使用するCプログラミング言語での通常の実施とは異なる。VIPは物理マイク
ロプロセッサとしての実施を意図するものではないので、ハードウェア・スタッ
クのどんな必然の結果である必要もない。
【0046】VIP高水準言語 VIPの命令セットは画像プロセッサの仮想実装用に最適化されるため、VI
P用アセンブリなどの低水準プログラミング言語は、マイクロプロセッサ用の従
来のアセンブリ言語のものとほとんど似ていない場合がある。前述の撮像に合わ
せた最適化には固有の制限があるため、メソッド115aの定義に使用するCま
たはC++などの高水準言語のフル・バージョンを実施するには実用的でない場
合もある。したがって、適切な兼ね合いは、C言語のサブセットであってよい。
このようなCのサブセットを使用してVIP用に作成されたプログラムには、リ
ンク・ステップがないことがある。むしろ、単一ファイルとして、または一連の
組込みファイル(最終的には単一のファイル)としてコンパイルされることにな
る。
【0047】 宣言 許容されるデータ・タイプは、上記で論じた命令セットで使用されるものであ
る。ポインタは定義済みのタイプを指す(すなわち無効なポインタはない)。ポ
インタを指すポインタは許容されるが、多くとも2方向である。多次元アレイは
、従来のCと同じであると宣言される。typedef宣言子およびstruc
t宣言子は予想されたとおりに挙動する。structなどの複雑なデータ・タ
イプは、アレイ以内の要素として使用することができる。ビット・フィールドな
どの従来の関数の中には、VIP実施形態の状況においては本質的に無意味なも
のがあるので、簡略化のためにビット・フィールドは許容されない。
【0048】 タイプ・クォリファイアー VIPではconstタイプ・クォリファイアーが許容されているが、変数は
VIPプログラムの範囲外にあるどんなプロセス(たとえばメソッド115a)
にも見えるものではないので、揮発性クォリファイアーには意味がない。str
uctなどの複雑なデータ・タイプを処理する技法はメソッド115aでは提供
されないが、コンパイル済みのVIPコードの構造定義から推断される。これは
VIPと従来のマイクロプロセッサとの間の主要な相違点である。たとえば、次
のようになる。 struct { double real_part; double imaginary_part; }complex[10]; short index=1; complex[index].real_part=0.0;
【0049】 従来のコンパイラでは、上記のコード・セグメントに示された割当てステート
メントは、その構成部分のその基本アドレスからの知られた変位に基づいて、構
造フィールドのアドレスを計算するために、一連の命令に分割される。ただしV
IPでは、あらゆるデータ項目に一意のID番号が割り当てられるので、線形ア
ドレス・スペースの直接的な必然の結果はない。データ項目は、メモリ内で連続
していても連続していなくてもよい。VIPは、複雑なデータ・タイプ参照を、
所望の変数を一意に区別する単一のID番号に分解する。VIPは、ID番号と
アレイ・インデックスとを区別することができるので、あいまいさはない。前述
の例は、各構造に2つのデータ項目が含まれる構造アレイである。これをコンパ
イルすると、次のように表される。 double real_part[10]; double imaginary_part[10]; その結果、次のような等価の割当てステートメントになる。 real_part[index]=0.0; この方法で、コンパイラは、構造定義および参照を、VIPが使用する記憶スキ
ームに適合するプリミティブ・タイプに分割することができる。
【0050】 記憶クラス 上記で論じたように、複雑なデータ・タイプの構造は実行可能コードというよ
りはデータ内で搬送され、データ・アクセスはアドレス計算によってではなく参
照によって分解される。VIP実施形態ではこれについて、画像データ114a
を受け取るための入力データ・バッファと、変換された画像データを保持する出
力データ・バッファという、2つの例外がある。これらはバイトの連続したアレ
イであって、そのサイズは、ソース・ファイルがメソッド115aにコンパイル
されるときに定義される。これらは、標準Cには含まれていない記憶クラスによ
って、他の記憶タイプと区別される。
【0051】 1つの入力バッファおよび1つの出力バッファがある。入力記憶クラスで宣言
された任意の変数が、入力バッファを指す。出力記憶クラスで宣言された任意の
変数が、出力バッファを指す。これら記憶クラスの1つで定義されたすべてのタ
イプが、それぞれのメモリ・アレイに、その始まりを基準にしてマッピングされ
る。メソッド115aにVIPの制御が与えられる前に、input_size
およびoutput_sizeという2つの特別な変数がローダによって設定さ
れる。これらは、それぞれのバッファのバイト長さを定義し、メソッド115a
でこれらを第1に宣言せずに使用することができる(定義により有効である)。
この点では、VIPに対しては無効な(目的にかなわない)標準Cで定義される
argc変数およびargv変数と同様である。これらの記憶クラスおよび特別
変数を使用して、プログラマはどんなデータ・タイプでも入力バッファまたは出
力バッファにマッピングすることができる。たとえば次のようになる。 input unsigned integer raw_data[inp
ut_size/4]; //画像データ114aからの生画像全体を表す整数配列を宣言する input float raw_fdata[input_size/4]
; //画像データ114aからの生画像全体を表すフロート配列を宣言する 変数raw_data[n]およびraw_fdata[n]は同じデータを指
すが、異なるタイプとして解釈される。
【0052】 単一のメソッド115aは、入力バッファおよび出力バッファならびに各画像
のサイズ変数をローダに初期設定させることによって、サイズの異なる複数の画
像を処理することができる。撮像装置104aは共通フォーマットで画像を生成
するので、最も単純で利用可能な画像メソッドは、入力バッファを出力バッファ
に直接コピーすることであろう。たとえば次のようになる。 main() { input byte raw[input_size]; output byte finished[output_size]; finished=raw; }
【0053】 割当てステートメントの、C++クラスの割当て構文との類似性に留意された
い。これは暗黙の並列処理を可能にする、標準C構文からの偏位である。
【0054】 アレイ 割当てステートメントまたは明示的インデックスのない式で使用されるアレイ
・タイプは、演算がアレイ全体に適用され、アレイの要素間にはデータ依存関係
がないことを暗示するものである。以下のコード断片化を考えてみる。 short x[256]; short y[256]; x=y*1.414; これは、yアレイ内のあらゆる要素に定数1.414を掛け、その結果をxアレ
イ内の対応する要素に割り当てるものである。アレイ・サイズが一致しない場合
、演算は小さい方のアレイ内にある要素の数だけ繰り返される。これが暗示する
ことは、可能であれば演算および割当てが並列で実行できるということである。
このステートメントが暗示する特別のインデックス付け順序はない。等価の記数
法は、次のようになる。 x[]=y[]*1.414; これにより、多次元アレイを、所望であれば単一次元用に並列に処理することが
できる。たとえば次のようになる。 const short column=640; const short row=480; unsigned byte image[column][row]; image[][12]=255;
【0055】 このコード断片化は、画像アレイの行12内にあるすべての要素に値255を
割り当てるものである。このタイプの高水準コードを従来のマイクロプロセッサ
用にコンパイルするとき、コンパイラは、ステートメント内にある暗黙のループ
演算を明示的に実行するために、機械命令シーケンスを生成することがある。た
だしVIPコンパイラは、暗黙のループ演算および任意の必要な関連するパラメ
ータを単に記録し、VIPそれ自体は、必要なインデックス反復を推断する。こ
れにより、性能を犠牲にしてメソッド115aに格納されるコードのサイズが減
少する。このような兼ね合いは、VIPがインストールされているホスト・シス
テム102の性能が、必要な機能を許容可能な速度で実行するのに十分な場合に
許容される。
【0056】 以上、本発明の様々な実施形態を、画像オブジェクトの概念を使用して静止画
像データの移植性を改善する技法として述べてきた。ただし、記述された画像オ
ブジェクトおよびアブストラクト・マシン技法は、一定タイプのオーディオまた
はビデオなどの、コヒーレントであり制限がある他のタイプのデータにも適用可
能であることが予想されよう。このような場合、画像メソッドは、オーディオ/
ビデオ・シーケンスの圧縮および圧縮解除に典型的に使用される、オーディオ/
ビデオ・コーデックに置き換えることができる。
【0057】 上記に記載された本発明の実施形態は、もちろん構造および実施における他の
変形形態の対象となるものである。たとえば、図1では、各撮像装置または記憶
装置内に単一オブジェクトを例示しているが、これは本発明が所与の実施形態で
どのように動作するかを簡単に説明する目的でのみ例示したものである。実際、
当分野の通常の技術者であれば、各装置によって生成された複数の画像を表すた
めに、各装置によって複数のオブジェクトが作成され、必要に応じてホスト・シ
ステムに転送できることを理解されよう。また、図3および4のコンピューティ
ング・アーキテクチャについて、画像の取り込みおよび画像オブジェクトの形成
を達成する多くの他の代替実施形態が可能である。したがって、本発明の範囲は
、例示された実施形態によるのではなく、添付の請求項およびその法的な等価物
によって決定されるものとする。
【図面の簡単な説明】
【図1】 本発明の一実施形態に従った撮像システムのシステム全体図である。
【図2】 本発明の他の実施形態に従い、デジタル画像の移植性を改善するために実行さ
れるステップを示す図である。
【図3】 本発明の他の実施形態に従って構成されたソフトウェアおよびハードウェアを
含んでいる、ホスト処理システムを示す図である。
【図4】 本発明の他の実施形態に従って構成されたソフトウェアおよびハードウェアの
要素を含んでいる、撮像装置の一部を示す図である。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) H04N 9/79 H04N 5/91 L // H04N 101:00 9/79 G (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AE,AL,AM,AT,AU,AZ,BA ,BB,BG,BR,BY,CA,CH,CN,CU, CZ,DE,DK,EE,ES,FI,GB,GD,G E,GH,GM,HR,HU,ID,IL,IN,IS ,JP,KE,KG,KP,KR,KZ,LC,LK, LR,LS,LT,LU,LV,MD,MG,MK,M N,MW,MX,NO,NZ,PL,PT,RO,RU ,SD,SE,SG,SI,SK,SL,TJ,TM, TR,TT,UA,UG,US,UZ,VN,YU,Z A,ZW Fターム(参考) 5C022 AA13 AC69 CA00 5C053 FA08 GB05 KA21 KA24 LA01 LA14 5C055 AA06 BA06 CA16 EA01 GA09 HA31 HA37 5C077 LL19 PP37 5C079 LA23 LA24 LB01 NA03

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 第1の画像データを画像オブジェクトの一部として第1のメ
    ソッドに関連付けるステップであって、その第1のメソッドがアブストラクト・
    マシンによって実行され、第1の画像に基づいて第1の変換済み画像データを取
    得するものであるステップ をプロセッサによって実行されたときに引き起こす命令を有する機械可読媒体
    を含んでいる物品。
  2. 【請求項2】 機械可読媒体がさらに、 第2の画像データをオブジェクトの一部として第1のメソッドに関連付けるス
    テップであって、第1のメソッドがアブストラクト・マシンによって実行され、
    第2の画像データに基づいて第2の変換済み画像データを取得するものであるス
    テップ をプロセッサによって実行されたときに引き起こす命令を含んでいる、請求項
    1に記載の物品。
  3. 【請求項3】 機械可読媒体がさらに、 第2の画像データを第2のオブジェクトの一部として第2のメソッドに関連付
    けるステップであって、第2のメソッドがアブストラクト・マシンによって実行
    され、第2の画像データに基づいて第2の変換済み画像データを取得するもので
    あるステップ をプロセッサによって実行されたときに引き起こす命令を含んでいる、請求項
    1に記載の物品。
  4. 【請求項4】 第1の変換済みデータが第1のデータと同じフォーマットで
    ある、請求項1に記載の物品。
  5. 【請求項5】 第1および第2の画像データならびに対応するメソッドを有
    する第1および第2のオブジェクトを、それぞれ第1および第2の撮像装置から
    受け取るためのデータ処理システムを構成するステップと、 アブストラクト・マシンが、第1および第2の変換済み画像データを第1およ
    び第2の画像データに基づいてそれぞれ取得するために、各オブジェクトの対応
    するメソッドを実行するステップと をプロセッサによって実行されたときに引き起こす命令を有する機械可読媒体
    を含んでいる物品。
  6. 【請求項6】 第1および第2の変換済み画像データが同じ画像ファイルフ
    ォーマットである、請求項5に記載の物品。
  7. 【請求項7】 第1のメソッドに関連付けられた第1の画像データを有する
    画像オブジェクトを処理システムに転送することと、 前記処理システム内のアブストラクト・マシンが、第1の画像データに基づい
    て第1の変換済み画像データを生成する第1のメソッドを実行することを含んで
    いる方法。
  8. 【請求項8】 さらに、 第2のメソッドに関連付けられた第2の画像データを有する第2のオブジェク
    トを処理システムに転送することを含んでおり、第1の画像データと第2の画像
    データが異なるフォーマットであり、 アブストラクト・マシンが、第2の画像データに基づいて第2の変換済み画像
    データを生成する第2のメソッドを実行することを含んでおり、第1および第2
    の変換済み画像データが同じフォーマットである、請求項7に記載の方法。
  9. 【請求項9】 さらに、 第1のメソッドに関連付けられた第2の画像データを処理システムに転送する
    ことと、 アブストラクト・マシンが、第2の画像データに基づいて第2の変換済み画像
    データを生成する第1のメソッドを実行することを含んでおり、第1および第2
    の変換済み画像データが同じフォーマットである、請求項7に記載の方法。
  10. 【請求項10】 センサ・データを生成する画像センサと、 センサ・データに関する第1の画像データと、アブストラクト・マシンによっ
    て実行され、第1の画像データに基づいて変換済みの第1の画像データを取得す
    る第1の画像メソッドとを有する、画像オブジェクトを格納するメモリとを含ん
    でいる撮像装置。
  11. 【請求項11】 第1の画像データがセンサ・データである、請求項10に
    記載の撮像装置。
  12. 【請求項12】 さらに、 プロセッサと、 センサ・データを第1の画像データに処理することをプロセッサによって実行
    されたときに引き起こす命令を有する第2のメモリとを含んでいる、請求項10
    に記載の撮像装置。
  13. 【請求項13】 処理が、センサ・データ上に対して画像処理方法論を実行
    することを含んでいる、請求項12に記載の撮像装置。
  14. 【請求項14】 さらに、 センサ・データを第1の画像データに処理する論理回路を含んでいる、請求項
    10に記載の撮像装置。
  15. 【請求項15】 論理回路がセンサ・データに対して色補間アルゴリズムを
    実行する、請求項14に記載の撮像装置。
  16. 【請求項16】 さらに、 第1の画像データおよび第1のメソッドを撮像装置とは別個の処理システムに
    転送する通信媒体へのインタフェースを含んでおり、処理システムが前記アブス
    トラクト・マシンで構成されている、請求項10に記載の撮像装置。
  17. 【請求項17】 画像オブジェクトがTIFFファイルを含んでおり、TI
    FFファイルが第1の画像データおよび第1の画像メソッドを含んでいる、請求
    項10に記載の撮像装置。
  18. 【請求項18】 変換済みの第1の画像データが、装置非依存型ビットマッ
    プ(DIB)フォーマットの画像ファイルの一部である、請求項10に記載の撮
    像装置。
  19. 【請求項19】 第1の画像データおよび変換済みの第1の画像データが同
    じ画像ファイルフォーマットを有する、請求項10に記載の撮像装置。
  20. 【請求項20】 プロセッサと、 プロセッサに結合されたメモリであって、 画像データと対応するメソッドをそれぞれ有する第1および第2のオブジェ
    クトを、それぞれ第1および第2の撮像装置から受け取るためのシステムを構成
    するステップと、 アブストラクト・マシンが、対応する変換済み画像データを画像データに基
    づいて取得するために、各オブジェクトの対応するメソッドを実行するステップ
    と をプロセッサによって実行されたときに引き起こす命令を有するメモリとを含
    んでいる、データ処理システム。
  21. 【請求項21】 変換済みデータが、同じ画像ファイルフォーマットを有す
    る第1および第2の画像ファイルの一部である、請求項20に記載のシステム。
JP2000568048A 1998-08-27 1999-08-17 デジタル画像の移植性の改善 Expired - Fee Related JP4377066B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/141,210 1998-08-27
US09/141,210 US7010177B1 (en) 1998-08-27 1998-08-27 Portability of digital images
PCT/US1999/018692 WO2000013132A1 (en) 1998-08-27 1999-08-17 Improving the portability of digital images

Publications (3)

Publication Number Publication Date
JP2002524006A true JP2002524006A (ja) 2002-07-30
JP2002524006A5 JP2002524006A5 (ja) 2006-10-05
JP4377066B2 JP4377066B2 (ja) 2009-12-02

Family

ID=22494675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000568048A Expired - Fee Related JP4377066B2 (ja) 1998-08-27 1999-08-17 デジタル画像の移植性の改善

Country Status (9)

Country Link
US (1) US7010177B1 (ja)
JP (1) JP4377066B2 (ja)
KR (1) KR100579216B1 (ja)
CN (2) CN1324469A (ja)
AU (1) AU5567999A (ja)
DE (1) DE19983504B4 (ja)
GB (1) GB2357926B (ja)
TW (1) TW442759B (ja)
WO (1) WO2000013132A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963347B1 (en) * 2000-08-04 2005-11-08 Ati International, Srl Vertex data processing with multiple threads of execution
GB2382509B (en) * 2001-11-23 2003-10-08 Voxar Ltd Handling of image data created by manipulation of image data sets
JP4300767B2 (ja) * 2002-08-05 2009-07-22 ソニー株式会社 ガイドシステム、コンテンツサーバ、携帯装置、情報処理方法、情報処理プログラム、及び記憶媒体
JP2006053690A (ja) 2004-08-10 2006-02-23 Ricoh Co Ltd 画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体
US20060259239A1 (en) * 2005-04-27 2006-11-16 Guy Nouri System and method for providing multimedia tours
CN102281372B (zh) * 2010-06-12 2014-02-19 虹光精密工业(苏州)有限公司 自动存取影像处理程序的扫描设备
US20160232191A1 (en) * 2013-09-30 2016-08-11 Hewlett Packard Enterprise Development Lp Overlays to modify data objects of source data
US9779471B2 (en) * 2014-10-01 2017-10-03 Qualcomm Incorporated Transparent pixel format converter
US9749548B2 (en) 2015-01-22 2017-08-29 Google Inc. Virtual linebuffers for image signal processors
US9756268B2 (en) 2015-04-23 2017-09-05 Google Inc. Line buffer unit for image processor
US9769356B2 (en) 2015-04-23 2017-09-19 Google Inc. Two dimensional shift array for image processor
US9785423B2 (en) 2015-04-23 2017-10-10 Google Inc. Compiler for translating between a virtual image processor instruction set architecture (ISA) and target hardware having a two-dimensional shift array structure
US10291813B2 (en) 2015-04-23 2019-05-14 Google Llc Sheet generator for image processor
US10095479B2 (en) 2015-04-23 2018-10-09 Google Llc Virtual image processor instruction set architecture (ISA) and memory model and exemplary target hardware having a two-dimensional shift array structure
US9965824B2 (en) 2015-04-23 2018-05-08 Google Llc Architecture for high performance, power efficient, programmable image processing
US9772852B2 (en) 2015-04-23 2017-09-26 Google Inc. Energy efficient processor core architecture for image processor
US10313641B2 (en) 2015-12-04 2019-06-04 Google Llc Shift register with reduced wiring complexity
US9830150B2 (en) 2015-12-04 2017-11-28 Google Llc Multi-functional execution lane for image processor
US10204396B2 (en) 2016-02-26 2019-02-12 Google Llc Compiler managed memory for image processor
US10387988B2 (en) 2016-02-26 2019-08-20 Google Llc Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform
US10380969B2 (en) 2016-02-28 2019-08-13 Google Llc Macro I/O unit for image processor
US20180005346A1 (en) 2016-07-01 2018-01-04 Google Inc. Core Processes For Block Operations On An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register
US20180005059A1 (en) 2016-07-01 2018-01-04 Google Inc. Statistics Operations On Two Dimensional Image Processor
US20180007302A1 (en) 2016-07-01 2018-01-04 Google Inc. Block Operations For An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register
US10546211B2 (en) 2016-07-01 2020-01-28 Google Llc Convolutional neural network on programmable two dimensional image processor

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495581A (en) * 1992-02-25 1996-02-27 Tsai; Irving Method and apparatus for linking a document with associated reference information using pattern matching
CN1147822C (zh) * 1993-03-25 2004-04-28 Mgi软件公司 图象处理的方法和系统
US5450140A (en) 1993-04-21 1995-09-12 Washino; Kinya Personal-computer-based video production system
DE69433482T2 (de) * 1993-11-16 2004-06-03 Fuji Xerox Co., Ltd. Netzwerkdrucker
JP3893480B2 (ja) * 1994-09-28 2007-03-14 株式会社リコー デジタル電子カメラ
JPH08297669A (ja) * 1994-12-27 1996-11-12 Internatl Business Mach Corp <Ibm> 複合ドキュメント内の複数のパートを自動的にリンクするシステムおよび方法
US5848413A (en) * 1995-01-13 1998-12-08 Ricoh Company, Ltd. Method and apparatus for accessing and publishing electronic documents
US5873077A (en) * 1995-01-13 1999-02-16 Ricoh Corporation Method and apparatus for searching for and retrieving documents using a facsimile machine
JPH0935032A (ja) * 1995-07-24 1997-02-07 Mitsubishi Electric Corp Icカードと情報機器端末
US5762552A (en) * 1995-12-05 1998-06-09 Vt Tech Corp. Interactive real-time network gaming system
GB9526129D0 (en) * 1995-12-21 1996-02-21 Philips Electronics Nv Machine code format translation
US5854693A (en) 1996-02-07 1998-12-29 Sharp Kabushiki Kaisha Image forming system
US5884262A (en) * 1996-03-28 1999-03-16 Bell Atlantic Network Services, Inc. Computer network audio access and conversion system
US5778378A (en) * 1996-04-30 1998-07-07 International Business Machines Corporation Object oriented information retrieval framework mechanism
US6005613A (en) * 1996-09-12 1999-12-21 Eastman Kodak Company Multi-mode digital camera with computer interface using data packets combining image and mode data
US6161148A (en) * 1996-09-27 2000-12-12 Kodak Limited Computer method and apparatus for interactive objects controls
JP4330665B2 (ja) * 1996-10-30 2009-09-16 株式会社リコー クライアントサーバシステムおよび画像処理装置
US6166729A (en) * 1997-05-07 2000-12-26 Broadcloud Communications, Inc. Remote digital image viewing system and method
US6215495B1 (en) * 1997-05-30 2001-04-10 Silicon Graphics, Inc. Platform independent application program interface for interactive 3D scene management
US6260021B1 (en) * 1998-06-12 2001-07-10 Philips Electronics North America Corporation Computer-based medical image distribution system and method

Also Published As

Publication number Publication date
US7010177B1 (en) 2006-03-07
DE19983504T1 (de) 2001-07-26
TW442759B (en) 2001-06-23
GB2357926B (en) 2002-08-07
JP4377066B2 (ja) 2009-12-02
CN1324469A (zh) 2001-11-28
CN101714249A (zh) 2010-05-26
AU5567999A (en) 2000-03-21
GB2357926A (en) 2001-07-04
KR100579216B1 (ko) 2006-05-11
KR20010072958A (ko) 2001-07-31
WO2000013132A1 (en) 2000-03-09
GB0104702D0 (en) 2001-04-11
DE19983504B4 (de) 2009-09-24

Similar Documents

Publication Publication Date Title
JP4377066B2 (ja) デジタル画像の移植性の改善
EP1038219B1 (en) Apparatus and method for allowing object-oriented programs created with different framework versions to communicate
US6314445B1 (en) Native function calling
JP4979287B2 (ja) 画像処理装置及びプログラム
EP0949566A2 (en) Method and system for performing static initialization
EP0729094A1 (en) A mixed-endian computing environment for a conventional bi-endian computer system
US6281893B1 (en) Method and apparatus for providing an object oriented approach to a device independent graphics control system
US9152437B2 (en) Dynamically installing image processing
WO2014193446A1 (en) Shader function linking graph
JP2003501742A (ja) 中間言語内のオペランド・タイプの推定
US6964049B2 (en) Smart internetworking operating system for low computational power microprocessors
US7051323B2 (en) Method and apparatus for initializing romized system classes at virtual machine build time
US6865738B2 (en) Method and apparatus for managing independent asynchronous I/O operations within a virtual machine
US8670634B2 (en) Method and apparatus for managing image-processing operations
US5623676A (en) Computer program product and program storage device for safing asynchronous interrupts
US5970250A (en) System, method, and computer program product for scoping operating system semanticis in a computing environment supporting multi-enclave processes
CN114741121A (zh) 用于模块加载的方法与装置、电子设备
US6769119B1 (en) System, method, and computer program product for scoping operating system semantics in a computing environment supporting multi-enclave processes
US20050108436A1 (en) System and method for transferring a compressed data file to a peripheral device
US6490609B1 (en) Method, apparatus and computer program product for invoking a thread-unaware routine that uses an operation-dependent temporary data structure
US20050289288A1 (en) Compression and decompression of expansion read only memories
JP3767666B2 (ja) ワークフロー管理システム
Kushsairy et al. Embedded vision: Enhancing embedded platform for face detection system
CN108829502B (zh) 线程操作的实现方法和装置
Laplante et al. Mechanism requirements for a real-time image-processing language

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060810

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090617

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090811

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090910

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130918

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees