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
Links
- 238000000034 method Methods 0.000 claims abstract description 111
- 238000003384 imaging method Methods 0.000 claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000004519 manufacturing process Methods 0.000 abstract 1
- 239000000872 buffer Substances 0.000 description 15
- 230000014509 gene expression Effects 0.000 description 9
- 238000003491 array Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000005266 casting Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4092—Image resolution transcoding, e.g. by using client-server architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection 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/00204—Connection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0008—Connection or combination of a still picture apparatus with another apparatus
- H04N2201/0065—Converting image data to a format usable by the connected apparatus or vice versa
- H04N2201/0068—Converting from still picture data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0077—Types of the still picture apparatus
- H04N2201/0081—Image reader
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0077—Types of the still picture apparatus
- H04N2201/0084—Digital still camera
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0077—Types of the still picture apparatus
- H04N2201/0087—Image storage device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits 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/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3225—Display, 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/3242—Display, 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits 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/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3225—Display, 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/3252—Image capture parameters, e.g. resolution, illumination conditions, orientation of the image capture device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits 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/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3278—Transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits 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/333—Mode signalling or mode changing; Handshaking therefor
- H04N2201/33307—Mode signalling or mode changing; Handshaking therefor of a particular mode
- H04N2201/33378—Type 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
Description
ットが可能なデジタル画像をパッケージングし、これらを共通のフォーマットに
変換する技法に関する。
ることによって、パーソナル・コンピュータ(PC)業界と写真業界とが結集す
るいまだかつてない好機が訪れている。デジタル・カメラが作成した写真は、P
Cで使用するのには理論上好適であり、デジタル・カメラとパーソナル・コンピ
ュータを統合させることには何の問題もないと思われる。ただし、この結合には
大きな障害がある。
タル・カメラを開発していることである。この動きは変わりそうもない。このよ
うな新しいカメラは、典型的には、画像をホスト処理システム上で表示できるよ
うに、それぞれ統合されたソフトウェア・パッケージにまとめられている。ソフ
トウェアは、具体的にはそのカメラで動作するように設計され、タイプの異なる
デジタル・カメラまたは製造業者の異なるカメラとの互換性はサポートしていな
い。デジタル画像をカメラ内部に格納する方法、格納前に処理する方法、または
ホスト・システム(たとえばPC)がこれらを取り扱う方法については、製造業
者間でほとんど、またはまったく取り決められていない。
い試みが、Twainドライバである。Twainドライバとは、撮像装置から
デジタル画像を取り出すためのアプリケーション・プログラムへの標準インタフ
ェースとなっているソフトウェア・モジュールである。モジュールは、撮像装置
の固有フォーマットからアプリケーションが使用する何らかの共通フォーマット
へ画像を変換する。このような共通フォーマットの例には、赤緑青(RGB)ビ
ットマップ、およびMicrosoft Corpによって定義付けられたよう
な装置非依存型ビットマップ(DIB)が含まれる。
有フォーマットを使用することが多い。デジタル・カメラ内部には、装置、固有
フォーマット、およびホスト・オペレーティング・システムの所与の組み合わせ
に特有のTwainモジュールを格納することができる。その後Twainモジ
ュールを、画像データと共にそれぞれの新しいホストに転送することができる。
ただし、このようなモジュールをデジタル・カメラ内部に格納することは、デジ
タル・カメラ内のメモリ・リソースが制限されていることから、実用的でない場
合がある。また、このようなモジュールはホスト・オペレーティング・システム
と直接対話するため、カメラ内にウィルスとしてセキュリティ・リスクが発生し
、ホスト・システム内へと伝播される可能性がある。結局の所、Twainモジ
ュールは典型的には特定のホスト・コンピュータに特有のコードで作成され、T
wainソリューションが実際には移植不能となってしまう。
る画像装置が、大規模な装置特有のTwainドライバをホスト・システムにロ
ードする必要なく、ホスト内部でこのような画像を共通フォーマットで表示また
は処理できるように、ホスト・システムと通信可能にする技法を有することが望
ましい。
ジェクトを格納するメモリとを有する撮像装置を対象とするものである。画像オ
ブジェクトは、センサ・データに関する画像データと、その画像データに基づい
て変換された画像データを取得するためにアブストラクト・マシンが実行する画
像メソッドとを有する。
の特徴および利点は、以下の詳細な説明、特許請求の範囲、および図面から明ら
かになろう。
の撮像装置の製造業者に、デジタル画像データの取り出しおよび格納を行うため
の独自の固有フォーマットを選択する機能を与えると同時に、画像を作成した特
定の撮像装置に特有の知識をホスト・システムが有する必要性をなくすものであ
る。画像に関するデータは、オブジェクトの一部として格納される。したがって
、それぞれの画像は画像ファイルとして表されるのではなく、オブジェクト指向
ソフトウェアの従来の意味で画像オブジェクトの一部としてパッケージングされ
る。画像オブジェクトには、画像データと関連付けられたメソッドとが含まれる
。このメソッドは、固有フォーマットから共通画像ファイルフォーマットへの変
換をサポートするのに必要なインテリジェンスである。それぞれのメソッドが、
関連付けられた画像データの固有フォーマットに特有の変換を定義する。
ドウェアおよびオペレーティング・システムの如何にかかわらず、すべてのホス
ト処理システムに共通とすることが可能であって、撮像装置とは無関係に開発お
よび配布することができる。このようなソフトウェアは、実質的に、仮想マシン
などのオブジェクト実行環境である。仮想マシンと受け取った画像データとの間
には依存関係がないため、新しい様々な撮像装置を、共通のフォーマットおよび
アプリケーション・ソフトウェアの開発とは関係なく開発することができる。共
通フォーマットを使用すれば、アプリケーション開発者が現在使用中の様々な画
像ファイルフォーマットを認識し処理する必要もなくなる。画像オブジェクトに
よって、画像製造業者は、撮像装置内に画像を格納するのに最適なフォーマット
は何か、またこれらを処理する最適な方法は何かを判定することから解放される
。このような解決策は、仮想マシンおよび/または共通画像ファイル・フォーマ
ットの変更または改善が、画像装置またはアプリケーション・ソフトウェアの変
更よりも行われる頻度がおそらく少ないので、特に有利である。
トは異なる撮像装置104aおよび104b内ならびに記憶装置110内に形成
または格納された後、ホスト・システム102に転送される。オブジェクト10
8a、108b、または108cはそれぞれ、画像データを取り込むのに使用さ
れた特定タイプの撮像装置に固有のフォーマットの画像データである、少なくと
も1つのデータ部分を含んでいる。たとえば、装置104aは、その装置を使用
して得られた単一の画像を表す、オブジェクト108aを生成するように構成さ
れたスキャナであってよい。これに対して、装置104bは、2つの静止画像を
表す2つのデータ部分114b1および114b2を有する単一のオブジェクト1
08bを生成するように構成されたデジタル・カメラであって良い。
ドはアブストラクト・マシン120によって解釈および実行され、その結果デー
タ・ファイル116a(オブジェクト108aから)、116b1および116
b2(オブジェクト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に示されたものを
含んでいる代替の装置、オブジェクト、データ、およびメソッドにも適用される
ものであることを理解されよう。
データを転送する従来の技法との間の何らかの相違点をより理解しやすいように
するために、図1のシステムの一実施形態で実行されるステップが図2に示され
る。本発明の一実施形態に従って移植可能な画像データを作成および転送する技
法は、生センサ・データを取り込むことによって、図2のステップ204から開
始することができる。これは、デジタル・カメラなどの撮像装置に関連付けられ
た知られている技法に従って実行することができる。次に、事前定義された固有
フォーマットの画像データ114aが生センサ・データに基づいて形成される。
一実施形態では、生センサ・データは、ステップ208で示されるように所望の
固有フォーマットでデータを取得するために、ノイズ除去、色補間、画像圧縮、
およびスケーリングなどの従来の操作および/または知的所有権のある操作に従
い、画像装置104aによって処理される。あるいは、生センサ・データに対し
て重要な処理を実行せずに、ステップ208を省略することができる。この場合
、生センサ・データは固有フォーマットであるとみなされる。ステップ208で
の処理量は、以下で論じる潜在的な性能の兼ね合いに関係する。次いで操作はス
テップ212に進む。
けられた画像メソッド115aを含んでいるオブジェクト108aを形成する。
画像メソッド115aは、画像データを固有フォーマットから事前定義された共
通フォーマットに変換するためにアブストラクト・マシン120によって実行さ
れる、プログラムまたは命令リストである。メソッド115aは、アブストラク
ト・マシン120の命令セットに基づくものである。ほとんどの場合、アブスト
ラクト・マシンの命令セットは画像処理用に最適化することができるため、およ
びメモリ割振りなどの資源割振りはこのメソッドによらずにアブストラクト・マ
シン120に組み込むことができるため、このメソッドは従来のTwainモジ
ュールよりもかなり小さくなると予想される。
・システムへのオブジェクト転送に進む。これは、有線リンクなどの画像データ
を転送するよく知られた通信媒体を使用するか、または不揮発性メモリ・カード
などの取外し可能な記憶装置110を使用して、実行することができる。
タフェースがオブジェクト・ドライバ122である。オブジェクト・ドライバ1
22は、アブストラクト・マシンがオブジェクト108aを使用できるようにす
るために、ホスト・システム102内にある適切なハードウェアおよびソフトウ
ェア(オペレーティング・システムを含んでいる)と通信する。オブジェクト・
ドライバはローカルOSの下でアブストラクト・マシンを起動し、最終的にメソ
ッドを実行させる。一実施形態では、オブジェクト・ドライバ122は、Tag
ged Image File Format(TIFF)に従って構成された
ファイルを検索するよく知られたソフトウェア・ドライバを含んでいる。TIF
Fは、ビットマップされた画像をPCおよびMacintoshコンピュータに
格納する一般的なフォーマットであり、オブジェクト108aを実装するのに使
用することができる。オブジェクト108aおよびその関連付けられたドライバ
122を実装する他の技法は、当分野の通常の技術者であれば理解できるように
使用することができる。
像データを示すポインタにこれを渡す。さらにローダは、画像カウントなど画像
オブジェクトの一定のフィールドを認識し、ステップ220のように、各画像を
処理するためにアブストラクト・マシンを繰返し初期設定する。その結果、画像
データ114aが共通フォーマットの変換済み画像データに変換および処理され
る。変換済みデータは、通常別のデータ・ファイル116a内に配置され、ハー
ド・ディスク・ドライブなどの大容量記憶装置内に格納することができる。次い
でアプリケーション124は、さらにこのデータ・ファイル116aを所望の最
終フォーマットに処理することができる。
図3および4では、本発明の他の実施形態を画像装置104aおよびホスト・シ
ステム102として例示する。図3は、画像オブジェクト108aを受け入れて
処理するように構成されたソフトウェアおよびハードウェアを含んでいる、ホス
ト処理システム102の一実施形態である。この特定の実施形態は、プロセッサ
334が結合されたバス332を中心に構成される。システム102は、Int
elプロセッサならびにMicrosoft Windowsのグラフィカル・
ユーザ・インタフェースおよびオペレーティング・システムを有する、従来のパ
ーソナル・コンピュータであってよい。オペレーティング・システム・ソフトウ
ェア340、オブジェクト・ドライバ122、およびアブストラクト・マシン1
20はメモリ328内に別々にロードされるように示されているが、当分野の通
常の技術者であれば、これらソフトウェア構成要素が時には全体的または部分的
に組み合わせられ、メモリ328と、大容量記憶装置338(たとえば磁気回転
式ディスク)と、光コンパクト・ディスクなどのポータブル・メモリ(図示せず
)との間で分配できることを理解されよう。
RAM))内および大容量記憶装置338内に格納された命令を実行する。メモ
リ328は、プロセッサ334によって実行されるとホスト処理システム102
を構成するステップに様々な画像装置および記憶装置からオブジェクトを受け取
って処理させる命令をロードすることができる、半導体集積回路などの任意の機
械読取り可読媒体である。
ル・バス(USB)、およびIEEE標準1394〜1995を含んでいる従来
のコンピュータ周辺バス標準のいずれか1つでコンパイルする、通信インタフェ
ース316も含んでいる。物理的有線を介した通信に加えて、たとえば、データ
伝送用の赤外線または無線周波を使用する無線通信媒体も企図されている。他の
代替通信媒体としては、Personal Computer Memory
Card International Association(PCMCI
A)、IntelによるFlash Miniature Card、およびデ
ジタル画像データの移送に好適な任意の他の不揮発性記憶媒体を含んでいる、い
くつかの異なる取外し可能記憶装置が企図されている。
)、および電子画像を表示するのに好適な任意の他の表示技法を含んでいる任意
の従来型表示装置とインタフェースする、グラフィックス・アダプタ・カードな
どの、ユーザ表示装置インタフェース342も備えている。もちろん、ホスト処
理システム102は、追加のI/Oを実行する追加のインタフェース(図示せず
)(たとえばネットワーク・インタフェース・コントローラ)も備えることがで
きる。
は、そのソフトウェア要素およびハードウェア要素を含んでいる撮像装置104
aについて例示する。図4の実施形態も、プロセッサ424およびメモリ428
が結合されるバス432に基づくものである。ここでの代替例は、プロセッサ4
24およびメモリ428に取って代わるマイクロコントローラである。メモリは
、半導体集積回路RAMなどの機械可読媒体または読取り専用メモリ(ROM)
などの不揮発性半導体メモリであってよい。メモリ428には、画像オブジェク
ト108の一部として画像データ114aとメソッド115aとの組み合わせを
発生させる(図1参照)、プロセッサ424によって実行される命令がロードさ
れる。図4では、このような命令をオブジェクト形成ソフトウェア412として
集合的に表示している。画像メソッド115aは、通常、以下で記載するように
別々のソフトウェアとして開発される。
フォーマットの画像データ114aに処理するために使用される、任意選択の信
号処理ソフトウェア408を含むこともできる。画像処理論理回路436は、生
センサ・データを処理するときにより良い性能を得るために、撮像装置104に
含めることもできる。論理回路436は、一実施形態では相補型金属酸化膜半導
体(CMOS)アクティブ・ピクセル・センサであってもよい、画像センサ40
4のタイに組み込むことができる。
20にアクセスして撮像装置104aの外部にある装置と通信する、プロセッサ
424によって実行されるソフトウェアも格納する。通信媒体へのインタフェー
ス416は、ホスト・システムに関して上記で論じたコンピュータ周辺バス標準
でコンパイルするものであってよい。同様に、インタフェース420は、不揮発
性記憶のフラッシュ・メモリ・カードなどの取外し可能記憶装置を接続したり、
画像オブジェクト108aの移送用のカードに接続することができる。
ト・システム102に転送するために、主としてソフトウェア・ベースのプロセ
ッサおよびバス・アーキテクチャを使用する。これに代わるものとしては、前述
の画像オブジェクト108aを形成および転送する場合と同じ機能を実行する、
ゲート・アレイおよび特定用途向け集積回路(ASIC)に基づく主としてハー
ドウェア・ベースのアーキテクチャとすることができる。
令セットを含んでいる、画像オブジェクト108aおよびアブストラクト・マシ
ン120を実装する技法について論じる。
e Format(TIFF)/Electronic Photograph
y(EP)構造またはファイルとして実装することができる。TIFFファイル
は、画像データ114aおよび関連付けられたメソッド115aの位置を指すフ
ァイル・ヘッダを含んでいる。TIFFファイルおよびそのファイル・ヘッダは
、オブジェクト・ドライバ122によってアクセス可能であり、アブストラクト
・マシン120を使用可能にすることができる。
義された固有フォーマットと共通フォーマットとを比較することによって開始さ
れる。画像データ114aを固有フォーマットから共通フォーマットに変換する
アルゴリズムが開発される。このようなアルゴリズムはよく知られたものである
か、または当分野の通常の技術者が簡単に開発できるものである。次いでこのア
ルゴリズムが、Cなどの高水準プログラミング言語および/または以下に記述す
るアブストラクト・マシン120の低水準命令セットを使用するプログラムで実
施される。次いでこのプログラムがテストされ、任意選択で最適化される。次い
でこのプログラムが、低水準命令を表すバイト・コードにコンパイルされる。こ
れが所望の画像メソッド115aになる。次いでこのメソッドが、撮像装置10
4a上の不揮発性メモリ(たとえばメモリ428)に、オブジェクト形成ソフト
ウェア412(図4を参照)の一部として格納される。
ーバヘッドは、記憶域が典型的に限られているデジタル・カメラなどの移植可能
アプリケーションに関係する場合がある。このオーバヘッドは、(1)画像デー
タ114aをその固有フォーマットから共通フォーマットに変換するのに必要な
処理の量および複雑さ、ならびに(2)その固有フォーマットでのデータ114
aのサイズによって決まる。事前定義された共通フォーマットに対して計算上は
クローズである固有フォーマットを選択すると、画像メソッド115aは、単純
な数学的命令またはデータ移動命令の比較的短いリストになる。これに対して、
メソッド115aは、画像データ114aを圧縮率の高い固有フォーマット(た
とえばJPEGまたはフラクタル技術)から共通フォーマットに圧縮解除するこ
とが必要な場合、比較的大きくなりやすい。後者の場合、画像データを圧縮する
ことによって得られる記憶スペース内の任意の利得が、画像データの圧縮解除に
必要なより複雑で冗長なメソッドによって低減される。
る、アブストラクト・マシンの命令セットを高度に最適化することができる。た
とえば、アブストラクト・マシン120が使用できる(画像データ114aを受
け取るための)入力バッファと(変換されたデータを共通フォーマットで格納す
る)出力バッファの場所を暗黙的にすることができる。アドレス計算および大多
数のデータ移動は、画像メソッド115a内の特有の命令ではなく、アブストラ
クト・マシン120によって暗黙的に実行することができる。したがってこのメ
ソッドは、その関連付けられた画像データ114aを共通フォーマットに変換す
るのに必要なアルゴリズムに専念するだけでよい。
ことに加え、撮像装置上の記憶域を節約する他の方法は、図1のオブジェクト1
08bに示されるように、メソッド115aの単一コピーを複数セットの画像デ
ータに関連付けることである。この方法では、単一の画像オブジェクト108b
が画像データ114b1および114b2内に複数の画像を含んでおり、実際には
、メソッド115bの実行がフィルムの現像とおおよそ等価であるような、従来
のフィルムの役割に似たものとなる。
論(methodology)の知的所有権を保護することである場合がある。
このような処理は、たとえばカラー・フィルタ・アレイ・パターンの補間、ガン
マ修正、ホワイト・バランス・アルゴリズムなど、最終画像品質を向上させるた
めに生センサ・データに対して実行することができる。撮像装置104aの製造
業者は、メソッド115aにこれら画像処理アルゴリズムを入れることによって
、オブジェクト108aがホスト・システム102に転送されたときにアルゴリ
ズムを潜在的な競争相手に公開してしまうのではなく、主要な画像処理機能を撮
像装置内部で実行させることを望む場合がある。その結果、生センサ・データの
強力な処理済みバージョンである画像データ114aが生じる。その極端な場合
の一つとして、自分の画像処理技術を強力に保護することを望む製造業者は、こ
のような処理をすべて画像装置内に埋め込み、その結果、画像データ114aが
共通フォーマットとなる場合がある。この場合、対応するメソッド115aは、
データ114aをホスト・システム102内の出力バッファにコピーするだけで
ある。他方の極端な場合は、画像データ114aをオブジェクト108aにパッ
ケージングする前には生センサ・データに対してどんな処理も実行しないことだ
けで、撮像装置104a内での画像処理を絶対最低に維持することができる。メ
ソッド115aは、共通フォーマットに達するのに必要なすべての処理を定義し
、ホスト・システム内のアブストラクト・マシン120は、共通フォーマットの
画像データを達成するためにこのような処理をすべて実行する。
像メソッド115aを実行する別々のコンピュータであるかのように動作する、
独立型オペレーティング環境である。仮想マシンは、ホスト・システムを、受け
取ったオブジェクト108aに内在している可能性のあるどんなウィルスからも
遮蔽する助けとなる。仮想マシンは、ホスト処理システム102のハードウェア
・プラットフォームから独立した、命令セット、レジスタ・セット、およびメモ
リ・モデルを有することができる。よく知られたインタープリタ、プログラミン
グ言語、および関連ツールを備えた使用可能な仮想マシンの一例が、JAVATM の仮想マシンおよびプログラミング言語である。
込めるように最適化しなければならない。他の望ましい特徴は、たとえば、メソ
ッド115aを解釈するために、知られた技法であるジャスト・イン・タイムの
コード変換を使用する、単純な仮想マシン・インタフェースおよびスピーディな
コード・コンパイルである。仮想マシンは、動的メモリ割振りを使用して、メソ
ッド115aを実行中に、一時データ記憶用のバッファを作成することができる
ものとする。したがって、メモリ管理のためにメソッド115aで必要なオーバ
ヘッドを最小限にすることができる。また、ホスト・システム102は、ホスト
・システムが画像オブジェクト108aによるどんな正当な要求も認められるよ
うに、画像オブジェクト108aが必要とする資源に比べて十分な使用可能資源
(たとえばメモリ)を有するものとする。
る図1の実施形態の場合、命令セットは画像処理用に最適化されるものとする。
たとえば、命令が、文字列、マルチタスク実行、またはグラフィカル・ユーザ・
インタフェースを処理する必要はない。命令セットは、画像データ114a用の
いくつかの異なる固有フォーマットを共通フォーマットに変換できる十分なフレ
キシビリティを有するように設計しなければならない。仮想マシンに提供される
どんな機能およびその命令セットも、画像データ114aを格納するのに使用で
きるどんな固有フォーマットの知識もないことを想定しなければならない。
タック指向のフロー制御(call/return/push/pop)をサポ
ートすることである。たとえば、仮想マシンを実施するホスト・システム102
は、オブジェクト108aによる任意の正当なスタック使用量を処理することが
できる拡張可能な仮想スタックに、十分な資源を提供することができる。さらに
、仮想マシンは、ホスト・システム102で使用可能な場合に、特に並列処理が
画像処理アルゴリズムにとって主要な性能強化となる可能性があることから、並
列処理サポートを利用できるプログラミング制約を与えなければならない。最終
的に、仮想マシンは、あらゆる潜在的な例外に関する定義済みの省略時挙動を備
えた、フレキシブルな例外処理も提供することができる。プログラミングをでき
る限り簡略化し、オブジェクト108a内のフロー制御オーバヘッドを最小限に
するために、高水準フロー制御(if/for/while/case)をサポ
ートすることも望ましい。あるタイプの変数から他のタイプのものへキャストす
るときに必要となる可能性のある他の特徴に、フレキシブル・タイプのチェック
もある。
であってもよい。この実施形態では、ユーザの介入がまったく予想されないので
、VIPに関する従来のI/Oサポートはいっさい企図されていない。VIPは
、画像データ114aを固有フォーマットの入力として処理するため、および画
像データを共通フォーマットの出力として生成するためにのみ存在する。このよ
うなタスクに必要なメモリ資源は、通常ホスト・システム102によって提供さ
れ、したがって、画像オブジェクト108aのプログラマは、メモリ資源がどの
ように提供されるかを正確に認識する必要がない。
ア・マイクロプロセッサのそれとはほとんど似ていない場合がある。これは部分
的には、メソッド115aのコード・サイズを減らすことを所望しているため、
および画像データ114aの数学的処理に重点を置いているためである。VIP
の命令セットは、画像処理に必要な操作を最小限の可能なスペース内に指定でき
るようにしなければならない。たとえば、フロー制御命令は、関連付けられた複
雑さの相対的にかなりの部分を、命令セットではなくVIPに組み込むことがで
きるため、従来のマイクロプロセッサのそれに比べてかなり簡略化することがで
きる。したがって、従来のハードウェア・マイクロプロセッサ内で実施するには
複雑すぎる事象を、単一の命令でトリガすることができる。さらに、VIP用の
命令は、様々な数のオペランドを有することが可能であり、これはハードウェア
・マイクロプロセッサの場合よりもはるかに多いことを意味する。物理レジスタ
の限定セットを使用するように設計された離散的な数値演算を使用して、数式を
データ移動命令のシーケンスに分ける必要がない。その代わりに、式は画像メソ
ッド115a内に直接表され、VIPによって解釈される。割当て式は、逆ポー
ランド記法(RPN)の式が後に続くターゲット・レジスタとして表すことがで
きる。したがって演算子を、機械命令としてではなく式の構成要素として、画像
メソッド115aに直接コード化することができる。タイプのキャストおよび自
動変換を管理する規則は、どんな式でも暗黙的にすることができる。
タ操作命令が企図される。 ┌───────┬──────────────────────────┐ │命令 │説明 │ ├───────┼──────────────────────────┤ │goto │プログラム制御を転送する │ ├───────┼──────────────────────────┤ │ifgoto │条件付きでプログラム制御を転送する │ ├───────┼──────────────────────────┤ │select │インデックス付きのプログラム制御転送 │ ├───────┼──────────────────────────┤ │call │プログラム制御をサブ・プログラムに転送する │ ├───────┼──────────────────────────┤ │return │プログラム制御をサブ・プログラムから戻す │ ├───────┼──────────────────────────┤ │exit │VIPプログラムの実行を普通に終了する │ ├───────┼──────────────────────────┤ │abort │VIPプログラムの実行を異常に終了する │ ├───────┼──────────────────────────┤ │push │プリミティブ・データ変数をデータ・スタック上にプッシ│ │ │ュする │ ├───────┼──────────────────────────┤ │pop │プリミティブ・データ変数をデータ・スタックからポップ│ │ │する │ ├───────┼──────────────────────────┤ │move │データを移動し、任意選択で式を評価する │ ├───────┼──────────────────────────┤ │create │プログラムで使用するための新しいデータ要素を作成する│ ├───────┼──────────────────────────┤ │destroy│作成したデータ要素を解除する │ └───────┴──────────────────────────┘
来のマイクロプロセッサとは異なり、多数の条件付き分岐命令はない。また、(
Cプログラミング言語の切り換えステートメントに対応する)インデックス付き
ジャンプの直接サポートがある。ターゲット・アドレス・サイズは、メソッド1
15a全体のサイズに応じて変化する。
一実施形態では、数値演算または論理演算が各命令に関連付けられたオペランド
・リスト内に埋め込まれているので、これらを直接実施する命令はない。また、
従来のマイクロプロセッサとは異なり、命令に関するオペランド・リストは数の
異なるオペランドを有することができる。
データ・スタックがプログラム・フロー制御スタックとは異なることに留意され
たい。プッシュ命令は、個々のプリミティブ・データ・タイプをデータ・スタッ
クの上にプッシュするためにのみ使用できる。すなわち、アレイ全体をスタック
の上にプッシュするのには使用できない。プッシュ命令のフォーマットは演算コ
ードであり、その後に、スタック上にプッシュするデータを表すデータ変数のイ
ンデックスが続く。データ変数のタイプおよびサイズは、オペランドにコード化
される。
けられたデータ変数は、以前にスタック上にプッシュされたデータと同じタイプ
のものである必要はない。変数タイプがスタックの一番上にある既存のデータ・
タイプと一致しないと、メソッド115aを定義するのに使用される、より高水
準なプログラミング言語のタイプ・キャストを管理するのと同じ規則に従って、
自動タイプ・キャストが実行される。
ド化された式を評価する。すなわち、ソースは単一の変数である必要はなく、逆
ポーランド記法(RPN)を使用してコード化された任意の複雑な式であってよ
い。
。作成された変数は、単一のプリミティブ・データ・タイプまたはプリミティブ
・データ変数のアレイであってよい。破棄命令は、作成命令によってデータ変数
に割り振られたメモリを解除する。メソッド115aを定義するのに使用される
、より高水準なプログラミング言語用のコンパイラは、メソッド115aのサブ
プログラムで使用される自動変数用の動的メモリを管理するために、作成命令お
よび破棄命令を使用することができる。これは、自動変数を作成するスタックを
使用するCプログラミング言語での通常の実施とは異なる。VIPは物理マイク
ロプロセッサとしての実施を意図するものではないので、ハードウェア・スタッ
クのどんな必然の結果である必要もない。
P用アセンブリなどの低水準プログラミング言語は、マイクロプロセッサ用の従
来のアセンブリ言語のものとほとんど似ていない場合がある。前述の撮像に合わ
せた最適化には固有の制限があるため、メソッド115aの定義に使用するCま
たはC++などの高水準言語のフル・バージョンを実施するには実用的でない場
合もある。したがって、適切な兼ね合いは、C言語のサブセットであってよい。
このようなCのサブセットを使用してVIP用に作成されたプログラムには、リ
ンク・ステップがないことがある。むしろ、単一ファイルとして、または一連の
組込みファイル(最終的には単一のファイル)としてコンパイルされることにな
る。
る。ポインタは定義済みのタイプを指す(すなわち無効なポインタはない)。ポ
インタを指すポインタは許容されるが、多くとも2方向である。多次元アレイは
、従来のCと同じであると宣言される。typedef宣言子およびstruc
t宣言子は予想されたとおりに挙動する。structなどの複雑なデータ・タ
イプは、アレイ以内の要素として使用することができる。ビット・フィールドな
どの従来の関数の中には、VIP実施形態の状況においては本質的に無意味なも
のがあるので、簡略化のためにビット・フィールドは許容されない。
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;
メントは、その構成部分のその基本アドレスからの知られた変位に基づいて、構
造フィールドのアドレスを計算するために、一連の命令に分割される。ただしV
IPでは、あらゆるデータ項目に一意のID番号が割り当てられるので、線形ア
ドレス・スペースの直接的な必然の結果はない。データ項目は、メモリ内で連続
していても連続していなくてもよい。VIPは、複雑なデータ・タイプ参照を、
所望の変数を一意に区別する単一のID番号に分解する。VIPは、ID番号と
アレイ・インデックスとを区別することができるので、あいまいさはない。前述
の例は、各構造に2つのデータ項目が含まれる構造アレイである。これをコンパ
イルすると、次のように表される。 double real_part[10]; double imaginary_part[10]; その結果、次のような等価の割当てステートメントになる。 real_part[index]=0.0; この方法で、コンパイラは、構造定義および参照を、VIPが使用する記憶スキ
ームに適合するプリミティブ・タイプに分割することができる。
りはデータ内で搬送され、データ・アクセスはアドレス計算によってではなく参
照によって分解される。VIP実施形態ではこれについて、画像データ114a
を受け取るための入力データ・バッファと、変換された画像データを保持する出
力データ・バッファという、2つの例外がある。これらはバイトの連続したアレ
イであって、そのサイズは、ソース・ファイルがメソッド115aにコンパイル
されるときに定義される。これらは、標準Cには含まれていない記憶クラスによ
って、他の記憶タイプと区別される。
された任意の変数が、入力バッファを指す。出力記憶クラスで宣言された任意の
変数が、出力バッファを指す。これら記憶クラスの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]は同じデータを指
すが、異なるタイプとして解釈される。
のサイズ変数をローダに初期設定させることによって、サイズの異なる複数の画
像を処理することができる。撮像装置104aは共通フォーマットで画像を生成
するので、最も単純で利用可能な画像メソッドは、入力バッファを出力バッファ
に直接コピーすることであろう。たとえば次のようになる。 main() { input byte raw[input_size]; output byte finished[output_size]; finished=raw; }
い。これは暗黙の並列処理を可能にする、標準C構文からの偏位である。
・タイプは、演算がアレイ全体に適用され、アレイの要素間にはデータ依存関係
がないことを暗示するものである。以下のコード断片化を考えてみる。 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;
割り当てるものである。このタイプの高水準コードを従来のマイクロプロセッサ
用にコンパイルするとき、コンパイラは、ステートメント内にある暗黙のループ
演算を明示的に実行するために、機械命令シーケンスを生成することがある。た
だしVIPコンパイラは、暗黙のループ演算および任意の必要な関連するパラメ
ータを単に記録し、VIPそれ自体は、必要なインデックス反復を推断する。こ
れにより、性能を犠牲にしてメソッド115aに格納されるコードのサイズが減
少する。このような兼ね合いは、VIPがインストールされているホスト・シス
テム102の性能が、必要な機能を許容可能な速度で実行するのに十分な場合に
許容される。
像データの移植性を改善する技法として述べてきた。ただし、記述された画像オ
ブジェクトおよびアブストラクト・マシン技法は、一定タイプのオーディオまた
はビデオなどの、コヒーレントであり制限がある他のタイプのデータにも適用可
能であることが予想されよう。このような場合、画像メソッドは、オーディオ/
ビデオ・シーケンスの圧縮および圧縮解除に典型的に使用される、オーディオ/
ビデオ・コーデックに置き換えることができる。
変形形態の対象となるものである。たとえば、図1では、各撮像装置または記憶
装置内に単一オブジェクトを例示しているが、これは本発明が所与の実施形態で
どのように動作するかを簡単に説明する目的でのみ例示したものである。実際、
当分野の通常の技術者であれば、各装置によって生成された複数の画像を表すた
めに、各装置によって複数のオブジェクトが作成され、必要に応じてホスト・シ
ステムに転送できることを理解されよう。また、図3および4のコンピューティ
ング・アーキテクチャについて、画像の取り込みおよび画像オブジェクトの形成
を達成する多くの他の代替実施形態が可能である。したがって、本発明の範囲は
、例示された実施形態によるのではなく、添付の請求項およびその法的な等価物
によって決定されるものとする。
れるステップを示す図である。
含んでいる、ホスト処理システムを示す図である。
要素を含んでいる、撮像装置の一部を示す図である。
Claims (21)
- 【請求項1】 第1の画像データを画像オブジェクトの一部として第1のメ
ソッドに関連付けるステップであって、その第1のメソッドがアブストラクト・
マシンによって実行され、第1の画像に基づいて第1の変換済み画像データを取
得するものであるステップ をプロセッサによって実行されたときに引き起こす命令を有する機械可読媒体
を含んでいる物品。 - 【請求項2】 機械可読媒体がさらに、 第2の画像データをオブジェクトの一部として第1のメソッドに関連付けるス
テップであって、第1のメソッドがアブストラクト・マシンによって実行され、
第2の画像データに基づいて第2の変換済み画像データを取得するものであるス
テップ をプロセッサによって実行されたときに引き起こす命令を含んでいる、請求項
1に記載の物品。 - 【請求項3】 機械可読媒体がさらに、 第2の画像データを第2のオブジェクトの一部として第2のメソッドに関連付
けるステップであって、第2のメソッドがアブストラクト・マシンによって実行
され、第2の画像データに基づいて第2の変換済み画像データを取得するもので
あるステップ をプロセッサによって実行されたときに引き起こす命令を含んでいる、請求項
1に記載の物品。 - 【請求項4】 第1の変換済みデータが第1のデータと同じフォーマットで
ある、請求項1に記載の物品。 - 【請求項5】 第1および第2の画像データならびに対応するメソッドを有
する第1および第2のオブジェクトを、それぞれ第1および第2の撮像装置から
受け取るためのデータ処理システムを構成するステップと、 アブストラクト・マシンが、第1および第2の変換済み画像データを第1およ
び第2の画像データに基づいてそれぞれ取得するために、各オブジェクトの対応
するメソッドを実行するステップと をプロセッサによって実行されたときに引き起こす命令を有する機械可読媒体
を含んでいる物品。 - 【請求項6】 第1および第2の変換済み画像データが同じ画像ファイルフ
ォーマットである、請求項5に記載の物品。 - 【請求項7】 第1のメソッドに関連付けられた第1の画像データを有する
画像オブジェクトを処理システムに転送することと、 前記処理システム内のアブストラクト・マシンが、第1の画像データに基づい
て第1の変換済み画像データを生成する第1のメソッドを実行することを含んで
いる方法。 - 【請求項8】 さらに、 第2のメソッドに関連付けられた第2の画像データを有する第2のオブジェク
トを処理システムに転送することを含んでおり、第1の画像データと第2の画像
データが異なるフォーマットであり、 アブストラクト・マシンが、第2の画像データに基づいて第2の変換済み画像
データを生成する第2のメソッドを実行することを含んでおり、第1および第2
の変換済み画像データが同じフォーマットである、請求項7に記載の方法。 - 【請求項9】 さらに、 第1のメソッドに関連付けられた第2の画像データを処理システムに転送する
ことと、 アブストラクト・マシンが、第2の画像データに基づいて第2の変換済み画像
データを生成する第1のメソッドを実行することを含んでおり、第1および第2
の変換済み画像データが同じフォーマットである、請求項7に記載の方法。 - 【請求項10】 センサ・データを生成する画像センサと、 センサ・データに関する第1の画像データと、アブストラクト・マシンによっ
て実行され、第1の画像データに基づいて変換済みの第1の画像データを取得す
る第1の画像メソッドとを有する、画像オブジェクトを格納するメモリとを含ん
でいる撮像装置。 - 【請求項11】 第1の画像データがセンサ・データである、請求項10に
記載の撮像装置。 - 【請求項12】 さらに、 プロセッサと、 センサ・データを第1の画像データに処理することをプロセッサによって実行
されたときに引き起こす命令を有する第2のメモリとを含んでいる、請求項10
に記載の撮像装置。 - 【請求項13】 処理が、センサ・データ上に対して画像処理方法論を実行
することを含んでいる、請求項12に記載の撮像装置。 - 【請求項14】 さらに、 センサ・データを第1の画像データに処理する論理回路を含んでいる、請求項
10に記載の撮像装置。 - 【請求項15】 論理回路がセンサ・データに対して色補間アルゴリズムを
実行する、請求項14に記載の撮像装置。 - 【請求項16】 さらに、 第1の画像データおよび第1のメソッドを撮像装置とは別個の処理システムに
転送する通信媒体へのインタフェースを含んでおり、処理システムが前記アブス
トラクト・マシンで構成されている、請求項10に記載の撮像装置。 - 【請求項17】 画像オブジェクトがTIFFファイルを含んでおり、TI
FFファイルが第1の画像データおよび第1の画像メソッドを含んでいる、請求
項10に記載の撮像装置。 - 【請求項18】 変換済みの第1の画像データが、装置非依存型ビットマッ
プ(DIB)フォーマットの画像ファイルの一部である、請求項10に記載の撮
像装置。 - 【請求項19】 第1の画像データおよび変換済みの第1の画像データが同
じ画像ファイルフォーマットを有する、請求項10に記載の撮像装置。 - 【請求項20】 プロセッサと、 プロセッサに結合されたメモリであって、 画像データと対応するメソッドをそれぞれ有する第1および第2のオブジェ
クトを、それぞれ第1および第2の撮像装置から受け取るためのシステムを構成
するステップと、 アブストラクト・マシンが、対応する変換済み画像データを画像データに基
づいて取得するために、各オブジェクトの対応するメソッドを実行するステップ
と をプロセッサによって実行されたときに引き起こす命令を有するメモリとを含
んでいる、データ処理システム。 - 【請求項21】 変換済みデータが、同じ画像ファイルフォーマットを有す
る第1および第2の画像ファイルの一部である、請求項20に記載のシステム。
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)
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)
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 |
-
1998
- 1998-08-27 US US09/141,210 patent/US7010177B1/en not_active Expired - Fee Related
-
1999
- 1999-08-16 TW TW088113967A patent/TW442759B/zh not_active IP Right Cessation
- 1999-08-17 WO PCT/US1999/018692 patent/WO2000013132A1/en not_active Application Discontinuation
- 1999-08-17 CN CN99812400A patent/CN1324469A/zh active Pending
- 1999-08-17 AU AU55679/99A patent/AU5567999A/en not_active Abandoned
- 1999-08-17 GB GB0104702A patent/GB2357926B/en not_active Expired - Fee Related
- 1999-08-17 KR KR1020017002396A patent/KR100579216B1/ko not_active IP Right Cessation
- 1999-08-17 CN CN200910174921A patent/CN101714249A/zh active Pending
- 1999-08-17 JP JP2000568048A patent/JP4377066B2/ja not_active Expired - Fee Related
- 1999-08-17 DE DE19983504T patent/DE19983504B4/de not_active Expired - Fee Related
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 |