(57)【特許請求の範囲】
【請求項１】
構造的イメージＳＩの編集を行う画像編集装置であって、
前記構造的イメージは、
個々のオブジェクトを含む多様なデータ型と、
前記多様なデータ型がその上に表現されるフレームであるペーストボードと、を含み、
前記ペーストボードは、各データ型が前記ペーストボードに関連してどのように表現されるかを定義する少なくとも１つの空間的なイメージの特質を前記ペーストボード上に表現されるデータ型が変更された場合においても受け継がれるように備え、
前記装置は、
前記構造的イメージの階層的な表示を生成することによってＳＩ構造を編集し、
前記多様なデータ型をそれぞれ対応する高位の表現形式に結び付けながらＳＩ画像を編集する、
プロセッサを含むことを特徴とする画像編集装置。
【請求項２】
構造的イメージＳＩの編集を行う画像編集方法であって、
前記構造的イメージは、
個々のオブジェクトを含む多様なデータ型と、
前記多様なデータ型がその上に表現されるフレームであるペーストボードと、を含み、
前記ペーストボードは、各データ型が前記ペーストボードに関連してどのように表現されるかを定義する少なくとも１つの空間的なイメージの特質を前記ペーストボード上に表現されるデータ型が変更された場合においても受け継がれるように備え、
前記方法は、プロセッサを用いて、
前記構造的イメージの階層的な表示を生成するのに必要な画像処理操作を決定し編集するステップと、
ＳＩ画像エディタとＳＩ構造エディタの少なくとも一方を用いて、前記多様なデータ型をそれぞれ対応する高位の表現形式に関連させながら編集するステップと、
を含む処理を行うことを特徴とする画像編集方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像編集装置と画像編集方法に関し、特に、構造的イメージ（ＳＩ：Structured Image）フォーマットの画像を適切なユーザーインターフェイスを用いて変更し、メモリの有効オープン編集環境下でそれ以前に行った編集操作（オペレーション）に制限なしにアクセスすることを可能とする画像編集装置と方法に関する。
【０００２】
【従来の技術】
個別のドキュメント要素の処理用に特化されたデータ編集装置として、ディジタルイメージを編集するラスタエディタ、ベクトルグラフィクス用のグラフィクエディタ、テキスト情報を編集するテキストエディタなどがある。テキスト、グラフィック、ディジタル（ラスタ）イメージが混ざり合った複合ドキュメントを編集するためには、オペレータはまず各要素をそれぞれのオリジナルフォーマットで別々に編集してから、組み合わせなければならない。現在入手可能な編集ツールは、このような組合せ型の編集処理を目的としたものであり、一般にイラストレータと呼ばれる。
【０００３】
イラストレータは、副要素オブジェクトの組み合わせ編集を容易にするために生成されたモノリシックの（単一ユニットとしての）ツールである。イラストレータは一般に簡単な編集操作、たとえば罫線作成、色付け、ディジタルイメージの配置とサイズ調整、テキスト生成、テキストのサイズ調整と色付け、背景の色およびパターン設定などを行うことができる。このレベルの編集機能では、細かい副要素オブジェクトの編集に、まだネイティブ（もとの）オブジェクトのエディタを必要とする。たとえば、オブジェクトが複雑にフォーマットされたラスタデータである場合、そのラスタ用のエディタが編集に必要となる。
【０００４】
また、それぞれのデータ型に共通の最低レベルの形式がビットである場合（すなわち、ディジタルまたはラスタエディタ）、テキストなどのより高位の型を含む編集は、そのデータをビットとして付加しなければならない。編集を終えると、編集後のイメージ（あるいはページ）が新規の表示になり、一度編集したものを元に戻す復帰（アンドゥ）機能が非常に限られる。一般にビットエディタは１レベルの復元しかできない。
【０００５】
中〜低位のディジタル／ラスタエディタにおける問題点として、それらのメモリ使用がある。画像はビットで構成されるので、その編集は必ずビットの変更を伴う。操作をもとに戻すための一般の方法は、十分なバッファメモリを準備して、原画像を２つに複写して保持することである。第１のコピー画像を第１のバッファに保存し、第１のバッファで行った編集処理結果を第２のバッファに保存し、さらにバッファ２での編集を第１のバッファに保存する、というように、編集が完了するまでバッファ間を行き来して処理を繰り返す。操作をアンドゥしたいときは、ユーザーはひとつ前のバッファに戻る。この方式では、大容量のメモリを使わざるをえない。たとえば、オリジナルの２４ビット３００ｓｐｉのフルページイメージは２８メガバイトを必要とするが、このイメージを編集するには、最低５６メガバイトの空きディスクメモリが必要になる。さらに、この方式では、編集操作ごとにフル解像度のイメージをディスクやメモリあるいはスワップメモリに書き込むので、処理速度が非常に遅い。
【０００６】
歴史的に見れば、表示、印刷される情報は、最終的に０と１で構成されるディジタルデータに変換されている。これらビットの操作を容易にするために、高次の表示（テキスト、ベクターグラフィクスなど）が開発された。たとえば、テキスト列を表示するには、ユーザーが「テキストを表示せよ」とキーボードでタイプすることによって表示画面上にテキストが現れる。この情報の処理はデータをテキスト言語で転送し、最終地点でビットに変換する。テキスト列を再編集するときは、エディタの内部構造を用いて、ビットの位置を表示画面上でもとの高位のテキスト表現に結び付けて戻す。この処理の流れを図１に示す。
【０００７】
図１では、エディタのデータ構造は高位の表現形式（テキストあるいはグラフィクス）と緊密に結び付けられる。これにより、個別のエディタ機能が発揮され、複合的な編集が容易になる。図の例では、データの流れは高位の表現形式としてのキーボード入力に始まる。この表現形式は文字生成器で表示のためのビットに変換される。いったん生成された表示データはユーザーインターフェイスのマウスやカーソルで選択して編集することができる。すなわち、この編集／表示処理は、高位の表現形式（テキスト、ベクターグラフィクスなど）からビットへ変換、さらに高位の表現形式へという流れで展開される。
【０００８】
【発明が解決しようとする課題】
しかしながら、今日生成されるイメージやページのほとんどが、テキスト、グラフィクス、パターン、これらの組み合わせといった多様なデータ型で構成されることを考えると、上記のような従来の編集方法では問題がある。従来の方式では、編集作業を完了するのに、余分なアセンブリと編集の反復が必要であり、処理速度が遅く、生産性が低い。また、多様なデータ型をビットレベルで組み合わせると、高位のデータ型における再編集機能が失われる。
【０００９】
【課題を解決するための手段】
したがって本発明は、基礎になる各データ要素と、複合的な構造的イメージ  （ＳＩ）を生成するための操作をユーザーに示し、ユーザーがその構造的イメージを容易に構成、編集、再編集、プリントアウトできる画像編集装置を提供する。本発明の目的は、構造的イメージフォーマットの画像の変更、修正を簡単に行うことのできる、改善された画像編集装置の提供にある。このＳＩ画像編集装置は、ＳＩオブジェクトの画像処理操作、表示、幾何学変換を行う。ＳＩフォーマットによって、高いメモリ効率で編集操作のアンドゥを制限なく行うことができる。
【００１０】
高いメモリ効率は、表示解像度のデータのみを操作することによって達成され、制限のない編集のアンドゥは、階層的な表示で操作をテキスト表示することによって実現される。編集セッション全体を通して行う操作のリストから、任意の操作をいつでも、どの順序でも消去（デリート）することができ、残りの操作リストで表示データを再処理できる。
【００１１】
本発明は、画像編集の新たなパラダイム（模範例）を与える。ＳＩ画像エディタは、テキスト、グラフィクス、パターン、ラスタといった副要素や、それらの組み合わせを、すべて一度に表わすことのできる統一表示層を有する。このような表示で用いるソフトウェア言語を、構造的イメージ定義言語（ＳＩＤＬ：Structured Image Definition Language）という。もちろんその他の適切なソフトウェア言語を使ってもよい。ＳＩＤＬは、複合的なカラーラスタイメージを、階層には依存するが装置からは独立したフォーマットで、オブジェクトと副オブジェクトの集合体として生成する。この意味において、イメージあるいはページは、テキスト、グラフィクス、ラスタ、パターン、およびその他のデータ型から構成される構造的イメージといえる。表示され得るすべてのオブジェクトは、構造的イメージの中でそれらの本質（テキスト、グラフィクス、ラスタ、パターンなど）を失わずに高位のまま表現される。この言語によって表現されるイメージの記述方法を、構造的イメージ定義（ＳＩＤ：Structured Image Definition ）とよぶ。
【００１２】
本発明の第１の側面では、構造的イメージの編集を行う画像編集装置を提供する。構造的イメージは、個々のオブジェクトを含む多様なデータ型と、前記多様なデータ型がその上に表現されるフレームであるペーストボードとを含み、該装置は、前記構造的イメージの階層的な表示を生成するＳＩ構造エディタと、前記ＳＩ構造エディタに接続され、前記多様なデータ型をそれぞれ対応する高位の表現形式に結び付けて編集するＳＩ画像エディタとを含む。
【００１３】
画像編集装置はまた、ＳＩ構造エディタとＳＩ画像エディタとをつないで多様なデータ型の編集を可能にするコミュニケーションリンクを含む。
【００１４】
コミュニケーションリンクを形成することによって、第１のマシン（構造エディタ）で構造的イメージの編集操作を行う一方で、これに接続した第２のマシン（画像エディタ）で、第１のマシンの編集操作をモニタリングする。第２のマシン（画像エディタ）は編集後の構造的イメージの各バージョンを編集することもできる。すなわち、コミュニケーションリンクによって、構造的イメージの定義展開のモニタリングあるいは編集が可能になる。
【００１５】
ＳＩ画像エディタは、ＳＩ構造エディタから独立して個別に操作することも、ＳＩ構造エディタと組み合わせて共同操作することも可能である。
【００１６】
構造的イメージは、接続される出力装置の解像度に一致する解像度を有する。出力装置はモニタ、プリンタ、ペンプロッタ、表示装置などである。したがって、表示サイズのメモリの要件に基づく表示解像度で画像形成を行う。編集後の構造的イメージを記憶するのに、本来のラスタイメージの編集記憶に必要なメモリサイズより、ずっと少ない容量のメモリですむ。複数の構造的イメージを記憶する際も、これらはＡＳＣＩＩ（アスキー）ファイルの表示テキストとして表わされ、ラスタイメージ用のメモリの何分の一かでよい。
【００１７】
本発明の第２の態様によれば、構造的イメージの画像編集方法を提供する。構造的イメージは個々のオブジェクトを含む多様なデータ型と、前記多様なデータ型がその上に表現されるフレームであるペーストボードとを含み、該方法は、前記構造的イメージの階層的な表示を生成するのに必要な画像処理操作を決定し編集するステップと、ＳＩ画像エディタとＳＩ構造エディタの少なくとも一方を用いて、前記多様なデータ型をそれぞれ対応する高位の表現形式に関連させながら編集するステップとを含む。
【００１８】
オプションとして、構造的イメージを第１のマシンで編集し、コミュニケーションリンクを用いて少なくとも一つの別のマシン上でその編集をモニタリングし、前記別のマシンを用いて構造的イメージを編集するステップを含んでもよい。
【００１９】
【発明の実施の形態】
Ａ．システムの概要
構造的イメージ（ＳＩ）は、画像要素（子オブジェクト）と、ラスタイメージを出力するのに必要な画像処理操作から構成される合成ラスタイメージの階層的な表示である。ラスタとして表現され得る任意のデータ型は、構造的イメージのコンポーネント（要素）となる。構造的イメージは、複合的なイメージを容易かつ迅速に生成、操作して印刷表示することが可能である。
【００２０】
図２は本発明で用いるシステム概略図である。構造的イメージは従来どおりのハードウェアシステム１００で実行される。もちろんこれ以外のシステム構成またはネットワーク構成を用いてもよい。システム１００はマイクロプロセッサ１１０を含み、ここで作動される１つ以上のソフトウェアプログラムにしたがって、システム１００の他の構成要素と信号の送受信を行う。ユーザーは、ユーザー入力装置１２０（マウス、キーボード、タッチスクリーン、これらの組み合わせなど）で構造的イメージに制御信号を送ることによって、構造的イメージにインターフェイス接続できる。画像出力装置１３０（ビデオ表示モニタ、プリンタなど）は、構造的イメージの画像データを出力する。ＳＩ入力装置１４０（スキャナなど）は、画像を走査し、画像ソースとしてメモリに記憶する。画像ソースはディスケットから供給されてもよい。
【００２１】
マイクロプロセッサ１１０は、操作プログラムとイメージデータを記憶するリードオンリーメモリ（ＲＯＭ）１５０を有する。構造的イメージでは、これらのプログラムとデータを用いて画像の構成と編集を行う。マイクロプロセッサ１１０はさらに、多様な操作プログラムを行うランダムアクセスメモリ（ＲＡＭ）１６０と、ＲＡＭのオーバーフローに備えた追加ファイル１７０を有する。
【００２２】
Ａ１．構造的イメージ定義
構造的イメージはオブジェクトとペーストボードによって形成される。オブジェクトはラスタイメージに変換され得るデータであり、ペーストボードはその上にオブジェクトが生成されるフレームを表わす。構造的イメージは、構造的イメージ定義（ディスクリプション）で特定される絶対サイズを持たない。各副オブジェクトのサイズは、それぞれの副オブジェクトの親に対する相対的サイズとして、ペーストボード内に記憶される。
【００２３】
構造的イメージのオブジェクトをラスタイメージに変換する変換処理は、ユーザー入力装置を用いた適切なコマンド指示を介して行なう。この際、オブジェクト、ペーストボード、および親オブジェクトの絶対サイズをパラメータとする。ＳＩオブジェクトとその副オブジェクトは、自動的に適切な出力サイズに変換される。構造的イメージはＳＩＤファイルによって記述される。
【００２４】
ＳＩオブジェクトはまた、適切なＳＩ走査ソフトウェアを用いて自動的に走査することによってＳＩＤを生成できる。すなわち、対話式編集方法だけが印刷用のＳＩＤ生成方法ではない。
【００２５】
Ａ２．構造的イメージ（ＳＩ）オブジェクト
ＳＩオブジェクトは、ラスタイメージに変換され得るデータ集合である（図３参照）。このデータはＴｉＦＦファイルのような単純なラスタイメージでも、副オブジェクトとそれに関連するラスタ処理操作を階層的に集めたより複雑なデータ集合でもよい。オブジェクトのデータ型の例としては、
（１）ラスタイメージ：  ＴｉＦＦ、ＲＥＳ、その他のディジタル表示
（２）トイテキスト：  単純なテキストによる注釈
（３）ＣＧＭグラフィック：  単純な図形による注釈
（４）ＩＰＤ（画像処理記述）：  構造的イメージの画像処理の記述
（５）ＭＲファイル：  イメージの多重表示を含むファイル
本発明のＳＩ方式の重要な特徴は、画像処理操作（ＩＰＯ）を構造的イメージ定義のなかに記憶できることである。オブジェクトデータ型のＩＰＤによって、画像処理操作を記憶するメカニズムができる。
【００２６】
単一のＳＩオブジェクトが２つ以上のデータ型、データファイルの少なくとも一方を表すこともある。たとえば図４に示すように、ひとつのＳＩオブジェクトが、異なる解像度で記憶した複数のファイルのディレクトリーを有することもある。この例では、各ファイルは同じ画像を表わしているが、絶対ピクセルサイズと光度表示がそれぞれ異なる。これをＭＲ（Multiple Representations：多重表示）という。構造的イメージは、動的に決定される多重表示を特定するが、多重表示の明確なリストが必要な場合のためにＭＲファイルフォーマットを決定する。構造的イメージの最上位のオブジェクト（すなわち、親を持たないオブジェクト）をルートオブジェクトと呼ぶ。
【００２７】
Ａ３．画像処理定義
上述したように、ＩＰＤはＳＩオブジェクト型のひとつであり、その他のオブジェクト型と画像処理操作（ＩＰＯ）による構造的イメージの形成を可能にする。図５を参照すると、ＩＰＯ１はスケール調整、ＩＰＯ２は色ぬり操作、ＩＰＯ３〜ＩＰＯ６は幾何学変換、フィルタリング、画像強調、色附け、マスキングなど多種の操作を示す。ＩＰＤは、要素オブジェクトと、それらオブジェクトに与える画像処理操作を特定したものである。図５はこのようなＩＰＤの例である。
【００２８】
ＩＰＤは以下のディスクリプタに関する表示によって構成されている。（１）デフォルトサイズ、（２）リードオブジェクト、（３）パス（path）、（４）ＩＰＯ（画像処理操作）、（５）マージ（融合）、（６）ペーストボード、（７）イニシャライザー、（８）要素ペーストボード。図５では各縦線をパスと呼び、それぞれがＩＰＯの集合である。リードオブジェクトはＳＩオブジェクトを選択してパス中のＩＰＯによる処理に適したラスタイメージに変換する手続きである。これは任意の周知の方法で行うことができる。あらゆる記憶フォーマットは、通常、それらのフォーマット型を定義する識別タグを有する。イニシャライザーは、サポートするすべてのフォーマットのリストをただ有しており、タグの型によってフォーマットを識別する。変換されたオブジェクトは、パスを介して流れ、各ＩＰＯ列によって処理される。各パスはリードオブジェクトが使ったペーストボードを内部に記憶し、ＳＩオブジェクトの生成がなされる「フレーム」を定義する。このペーストボードを、要素ペーストボードと呼ぶ。一方、水平のラインはＩＰＤオブジェクトペーストボードであり、「ブランク（空白）」のラスタイメージを表す。このブランクラスタイメージ上に要素ペーストボードがマージされる。白抜きの三角形４１〜４４は、要素ペーストボードをオブジェクトペーストボードに組み合わせるマージ操作を示す。要素ペーストボードのマージ順序は暗黙的に決まり、「頂点（トップ）のイメージ」、「底（ボトム）のイメージ」という意味合いが生じる。図６は、構造的イメージを生成するときのラスタデータの流れ（すなわち、リードオブジェクトからマージまでの制御の流れ）を示す。
【００２９】
各ＩＰＤは、そのＩＰＤのデフォルトサイズを特定する情報を有する。この情報は、画像生成プログラムにおいて生成されるイメージのサイズを決定するときにヒントとして参照される。現在のＳＩＤＬシンタックス（文法）では、好ましくは、この情報はアスペクト比とデフォルト幅の文字列として記憶される。
【００３０】
ＩＰＯは、画像処理コマンドのデバイスに依存しない記述である。基本的なＩＰＯ機能として、以下のものが望ましい。
【００３１】
（１）トランスフォーマー：画像のサイズまたは形状を空間的に変換する（アフィン変換、ワープ変換など）
（２）フォーマッタ：画素をあるフォーマットから別のフォーマットに変換する（コンバート、インターリーブ、スペースなど）
（３）フィルタ：多様なフィルタリング操作を適用する（コンボルバー、メジアン、類型的フィルタリングなど）
（４）カラライザー：画像のカラー値を調整する（相対カラー、絶対カラー、コントラスト、ホワイトポイントなど）
（５）マスク：マスク処理の適用（追加、抽出、置換、適用など）
（６）その他：その他の様々な処理の適用
ＩＰＯはその操作を施す選択領域を特定できる。つまり、画像中のどの画素をどの操作で処理するかの選択が可能になる。選択領域の例として、ビットマップ（ドットのパターンとして記録した絵）領域や、数理表現領域などがある。ユーザーは、オリジナルの画素と、所望位置の画素との間の値を測定することによって、どれだけの処理を施せばよいか（たとえばグレー値の特定など）を制御できる。
【００３２】
図７に示すように、ＩＰＤ中のすべての子オブジェクトは、マージポイントとコントロールポイントとで特定される位置で、ペーストボードにマージされる。マージポイントは、オブジェクトのペーストボードに対する位置、コントロールポイントは、マージしたオブジェクト（要素ペーストボード）に対する制御位置である。図７の例では、オブジェクトＡをマージポイント（0.1, 0.2）、コントロールポイント（0.0, 0.0）で、オブジェクトＢをマージポイント（0.5, 0.45 ）、コントロールポイント（0.5, 0.5）でそれぞれペーストボードにマージさせる例である。ＩＰＤにおいてマージ順序は明示される。
【００３３】
通常、ＩＰＤオブジェクトのペーストボードはブランクのラスタを表す。その上に要素ペーストボードをマージする。イニシャライザ（図８参照）を用いて、ペーストボードの色、パターン、ラスタイメージをも初期化することができる。イニシャライザは、実際にはリードオブジェクトとＩＰＯを含むパス（縦のライン）である。その相対サイズは（1.0 ，1.0 ）であることと、パスではいかなる空間的画像処理操作もないという制約がある。ペーストボードは、生成されたイニシャライザの大きさになる。通常、イニシャライザーはペーストボードの色付け、またはペーストボードを背景ラスタイメージで初期化するときに使用する。イニシャライザーについての詳細は、本願出願人による米国特許出願第１３３，４２２号に詳しい。
【００３４】
Ｂ．ＳＩ画像エディタ
上述したように、本発明はＳＩフォーマットの画像編集に新規の効果を提供する。すなわち、ＳＩ画像エディタは統一層を強制的に生成し、そこですべての副要素（テキスト、グラフィクス、パターン、ラスタなど）をＳＩオブジェクトとして表現することができる。ラスタとして表示され得るすべてのオブジェクトは、その本来の性質（テキスト、グラフィクス、ラスタ、パターン、など）を失うことなく、構造的イメージの中に表現される。
【００３５】
ＳＩ編集装置は２つのエディタで構成される。すなわち（１）構造エディタと、（２）画像エディタである。双方のＳＩソフトウェア構造はコミュニケーションリンクでつながり、ＳＩＤの展開をモニタする。この２部構成のＳＩ編集装置について、物理的側面（すなわちＳＩ画像エディタ）と構造的側面（すなわちＳＩ構造エディタ）で説明できる。物理的側面は実際のデータ生成であり、構造的側面は実際に物理的側面を生成するのに必要なすべての操作の展望（すなわち、構造的イメージの階層的な表示）である。この構成の利点は、いかなる操作も失われないことである。構造的な面からいえば、アンドゥ機能に制約がない。たとえば、ユーザーが最初の編集工程で背景の色を変更し、次いでラスタやその他のオブジェクトを変更してから、背景色がやはり好ましくないと思ったら、それまでに行った変更編集をすべて維持したまま、第１工程での背景色の処理に戻り、それを消去することができる。すなわち、それまでの満足できる編集操作はアンドゥしないで維持しつつ、任意のオブジェクト編集にアクセスできる。
【００３６】
さらに、構造的イメージのエディタにも、物理的側面と構造的側面という論理的な区分がある。物理的側面は、画像に施した操作の結果の表示である。これは画家がキャンバスに絵を描くのを眺めるのと同じである。一方、構造的側面は、オブジェクトの生成と、これらのオブジェクトと関連する操作の階層的表示である。画像エディタと構造エディタは、それぞれ独立して実行され得るが、双方を使用して編集を行うときは共同作用する。構造エディタに関しては、これ以上の説明は控え、以降はＳＩ画像エディタの発明的効果に焦点を当ててゆく。ＳＩ構造エディタに類似のモデル（しかしＳＩフォーマットではない）は、本願出願人による１９９１年８月１３日出願の米国特許出願第７４４，６３０号に述べられている。
【００３７】
従来のエディタと異なり、ＳＩ画像エディタは多様なデータ型をそれらの高位の表現形式を維持したまま扱うことができる。ＳＩ画像エディタでのデータ処理は、統一層を用いてすべてのデータをＳＩオブジェクトとして表わす。上述したように、ＳＩオブジェクトは、グループ分けされた不規則な形状を表すビット集合であり、リアルタイムで表示、操作される。重要なことは、構造的イメージに固有のオブジェクトの層構造が明示的にあることである。つまり、１レベルにつき１つのオブジェクトを置き、オブジェクトの選択を容易にする。したがって、２つのオブジェクトを互いに非常に近接して動かしても、一方はかならず他方の上か下のレベルにあるので、２つがぶつかり合うことはない。オブジェクトの選択をしたら、ユーザーはそれを画面上で見ることができる。また、個々のオブジェクトをそのレベルから切り離してグループ分けすることもできる。選択したオブジェクトをリストとしてひとつのＳＩオブジェクトに階層的にまとめることによって、エディタの中でレイヤー（層）を越えてグループ分けできる。また、オブジェクトのレベル位置の切り換えもでき、多数のオブジェクトをひとつにしたり、１つのオブジェクトを複数のオブジェクトに分割する機能も可能である。複数のオブジェクトを１つにまとめるには、エディタの外に新たなＳＩを生成しそれを一つの独立したオブジェクトとしてエディタ内に読み出す。これは上述のレイヤー（層）を越えたグループ分けとは異なる。ひとつのオブジェクトを分裂させるには、そのオブジェクトがすでに個別のオブジェクトを読み出すことのできるＳＩとして存在している必要があり、セグメンテーション（分割）処理をほどこして複数のオブジェクトに分ける。分割したオブジェクトを、ユーザーの所望の場所に配置したら、それらは物理的にひとつにまとめられる（これは、複数のオブジェクトをレベルを越えてグループにする選択とは異なる）。オブジェクトがＳＩＤである場合は、それを要素ごとの部分に分けることができる。
【００３８】
本発明のＳＩ画像エディタと、図１に示す従来のエディタとのシステム実行において、ビット変換（レンダー・ビット）後にも相違がある。ＳＩ画像エディタでは、ＳＩオブジェクトを構成する高位の表現形式からビットに変換される。高位の表現形式に関する情報は、変換されたビットから生成するＳＩオブジェクトに反映される。選択したＳＩオブジェクトに対して編集要求があれば、識別タグを用いて、そのオブジェクト型に適したスタイルのエディタの例を、高位の表現としてロードされたオブジェクトによって生成する。編集が完了したら、高位の表現形式をビットに戻し、ＳＩオブジェクトを更新する。理想としては、ユーザーはＡＳＣＩＩでフルテキストページを編集し、ＳＩオブジェクト用にビットに変換する。しかし、シングルテキストライン翻訳機を用い、複数ラインの操作を避けてエディタを実行してもよい。ＳＩ画像エディタの情報のフローを図１０に示す。
【００３９】
図１０では、画像はディスクあるいはスキャナから得る。もしくは画面に新規に作成する。テキスト、グラフィクス、ラスタなどのイメージはビットとして変換される（変換ビットのブロック）。図のＳＩオブジェクトのブロックでは、前段で得たビットを図５のような階層表現で表す。ディスプレイでビット（ラスタデータ）を表示してイメージを物理的側面として表示する。表示した後は、実際に構成した画像から、選択デバイスを用いて編集したい画像部分を選択する。オブジェクトは、マウス、矢印キーなどの選択デバイスで捕獲、選択できる。選択デバイスで選択した画像は、図中の第２のＳＩオブジェクトのブロックを経て、（１）ラスタイメージとして編集されるか、または（２）オブジェクトのデータ型に基づいて編集される。どちらのモードを使うかはユーザーの好みによる。ラスタ（ビット）編集操作がテキストエディタでサポートされないときは、（１）のモードでテキストデータ型をラスタ編集するのが望ましい。例を挙げると、  『Ｘｅｒｏｘ』というテキストの外観を特定のフォントに編集するときは本来のテキストエディタでは不可能だから、このテキストをラスタにして編集する。この種の編集は、従来のエディタでは不可能であった。一方、グラフィクスやテキストの内容を変更するときは、高位の表現形式を用いたオブジェクトイメージの編集モード（２）が望ましい。この種の編集の操作スタイルはすでに十分開発されているからである。『Ｘｅｒｏｘ』というテキストをテキストエディタ中のフォントのまま『Ｆｕｊｉ  Ｘｅｒｏｘ』に変えるときは、テキストのラスタ表示は必要ない。こうしてモード（１）か（２）で編集した後、編集した画像を再びビットにして再編集してもよい。ＳＩエディタ内にはすべての操作経緯が残っているので、再編集は容易である。従来のエディタはこの機能を持たない。
【００４０】
図１のシステムと比較して、図１０のエディタはいくつかの効果を有する。図１１に示す画像の編集を例にとると、すべての編集過程、すなわち処理操作の経緯をすべて維持できる能力、次いで、より高位の表現形式のオブジェクト（テキスト、ベクトルグラフィクス、ＣＡＤＣＡＭなど）を編集できる能力がある。さらに、"An apple every day"というようなテキストをイメージ中のリンゴの形に沿って湾曲（ワープ）したいときは、"An apple every day"  というテキストオブジェクトを追加してリンゴの後のマージレベルにおき、その処理ストリームにシリンダ型ワープＩＰＯを加えることによって容易に作成できる。図１の従来型エディタで同じ編集をするときは、ユーザーは、変換テキストとワープ機能を内部にコード化したラスタエディタを必要とする。ここでの問題は、これがもはや普通のラスタエディタではなくなる点である。特定の操作機能を追加して改良したラスタエディタが必要になる。それでもラスタエディタはまだ、単一操作用である。図１０のエディタはまた、テキスト以外のオブジェクト、たとえば図１１中の車（ラスタ）をそれぞれ個々に編集することができるが、図１のエディタでは操作モデルが１つのラスタオブジェクト型に限定されるので不可能である。さらに、多様なデータ型を高位の表現形式として結び付ける機能によって、ラスタ、テキストなどを混合した複合編集が可能になる。この機能によって、エディタはビットレベルの編集なしに表示画像（ＡＳＣＩＩファイル）にアクセスするだけでよい。これに対して図１のエディタは、編集する際に、とくに編集画像を変換した後は、ビットにアクセスしなければならない。本発明では、ユーザーは構成的側面において編集したいＩＰＯをクリックすれば、そのＩＰＯを表すＡＳＣＩＩコードが表示され、編集される。
【００４１】
操作において、ユーザーはマウスなどのユーザーインターフェイスで、編集したい画像部分を入力する。クリックした画像は即座に編集可能となる。たとえば、図１１のドラゴンとリンゴの中の人物をエディタで交換したいときは、ドラゴンをマウスでクリックして選択し、次に人物を選択してドラゴンの位置にもってゆく。この結果、構造エディタ内でドラゴンと人物のマージ位置が交換される。図１のエディタでは、イメージオブジェクトを交換するときは画像の広範囲の部分か画像全体を再構成する必要があった。
【００４２】
図１１はＳＩ画像エディタの例を示していたが、図１２に対応のＳＩ構造エディタの例を示す。図１１の画像は以下のオブジェクトで構成される。（１）黒の境界線の背景、（２）大きなリンゴの絵、（３）それぞれの車、（４）ドラゴン、（５）リンゴの中の老夫婦である。この画像を表示するＳＩＤファイルは２．６Ｋバイト（１Ｋバイト圧縮）である。
【００４３】
図１１の画像のＳＩＤ構造は図１２に示すとおりである。画像の表示と印刷で同じファイルを用いるので、最終的な解像度に損失はない。ＳＩ生成装置（任意の適切な生成プログラム）は、画像をどの大きさにするかを決定するためのサイズフィールドを必要とする。ＳＩ生成装置は、サイズフィールドをそれを呼び出すアーギュメントとして受け取る。サイズのアーギュメントがないときは、本来のアスペクト比を維持したままディスプレイで定めたサイズ（５１２×５１２）に適合するようにデフォルト設定する。この解像度非依存方式によって、画面の解像度データのみに基づいて操作されるので、本発明のＳＩ画像エディタは従来のエディタよりずっと速く動作する。
【００４４】
このように、本発明のＳＩ画像エディタは、構造的イメージへの実際の編集アプリケーションに多大な効果がある。現在入手可能なエディタは対話式ラスタ編集に莫大なメモリ量を必要とし、中〜低位のディジタル（ラスタ）エディタにおける問題はそのメモリ使用法にある。画像はビットから構成されるので、その画像に行う編集操作はビットを変ることになる。編集アンドゥ操作を行う一般的な方法は、元画像を２つ維持できるだけの十分なバッファメモリを備えることである。初期画像を第１のバッファにおいて第１の編集を施し、これを今度は第２のバッファに入れて、次の編集を行う。２つのバッファの間を行き来してこの処理を続ける。アンドゥするときは、ユーザーは一つ前のバッファに戻る。２４ビットのフルページ３００ｓｐｉ（スポット／インチ）のオリジナル画像は２８メガバイトを必要とする。この画像を編集するときは、ディスクに最低５６メガバイトの空メモリが必要になる。さらに、編集ごとにフル解像度のイメージをディスクメモリあるいはバッファに書き込むので、処理速度が非常に遅い。本発明のＳＩ画像エディタだと、表示解像度の画像を操作するので、ディスプレイサイズのメモリですむ。
【００４５】
さらに、変更後の画像／ページの記憶には、一般に少なくとも元画像を記憶するのと同等のメモリを必要とする。しかし、ＳＩエディタで複数の画像／ページを記憶するときは、少ないメモリ容量ですむ。特にＳＩ画像はＡＳＣＩＩファイルなので、オリジナルサイズのごく一部ですむ。
【００４６】
現在の一般的なビットエディタは１レベルの操作しかアンドゥできないが、ＳＩエディタは連続して行う限り、アンドゥに制限はない。また、どの段階での操作をアンドゥするかの選択も可能である。
【００４７】
既存の編集環境はどれも単一の編集セッションのインスタンスに閉じている。一方、本発明のＳＩ画像編集装置はコミュニケーションリンク（図９参照）を有するので、オペレータは一つのマシンで画像を編集しつつ、ネットワーク（市販されているＸ‐ｗｉｎｄｏｗｓネットワークなど）につながれた他のマシンでその編集をモニタリングできる。その他のサクセションのいずれの画面もモニタできる。接続したモニタ自体も編集制御を要求することができ、担当エディタとして処理を行う（以下で述べるＳＩ画像エディタの例を参照）。従来のマシンでは、操作モードでネットワークでの画像データの伝送は実行不可能なので、このようなコミュニケーションリンクを介したモニタリングはできなかった。従来例で生の画像データを送るとネットワーク転送の帯域幅はオーバーフローするはずである。従来のエディタで変更を伝達しようと思ったら、生データの転送を行う必要があり、かつ、変更ごとに更新した画像全体を送る必要があった。しかし、ＳＩ方法では、すべての変更を転送するのにＡＳＣＩＩラインを数行使うだけである。受信サイドのエディタはその変更を適切なマシンに与えるだけでよい。
【００４８】
Ｂ１．ＳＩ画像編集の例
ＳＩエディタは、単なる対話式エディタにとどまならいことは特記すべきである。たとえば、卒業記念アルバムの編集にも適用できる。制作元は、多数の絵柄（絵画、写真など）を電子的に処理して、最終的にアルバムとして印刷出版する。特に、写真はひとつひとつ走査してデータベースに入力する（非常に時間がかかる）が、最新の技術でも一度に１２枚までの写真しか走査できない。走査時にどれだけ正確に写真を配置しようとしても、走査の結果には多少のずれがでる。各写真は通常、それぞれバーコードなどの識別手段を有し、その下に記載される注釈や名前と結び付けられる。
【００４９】
上記した走査のときに自動的に構造的イメージを生成することのできるソフトウェアが存在する。すなわち、子オブジェクト（それぞれ個別の写真あるいは絵柄）を識別し、ずれの補正を行う画像処理操作を内含し、バーコードを参照して写真（あるいは絵柄）の下につける名前や注釈とともにページ上の正しく配置するＳＩを生成する。このようなソフトウェアは一度に多くのオブジェクトを走査でき、それぞれの子オブジェクトを回転させて位置編集し、適切な印刷用の状態にする。出版元は企画したとおりに特定のページに挿入したい子オブジェクトを選んで所望の配置で並べ、対応の名前を付けて印刷すればよい。前述のごとく、子オブジェクトは呼び出し用のバーコードで参照される。
【００５０】
写真（絵柄）や注釈用の場所をあけたテンプレート（版下）を作ることによって、別のＳＩを作る要望も考えられる。そのテンプレートに適切な数の子オブジェクトをはめ込んで（すなわち、関連づけて）印刷する。ＳＩは写真が入るべき個所を可変のエントリーとして備え、生成される。ＳＩ生成装置はまた、名前変数の配置アーギュメントも受け入れる。たとえば、第１の絵を「＄pict１」として、ＳＩエディタにそれに対する可変配置が与えられない場合（すなわち、可変である「＄pict１」などに特定の写真が割り当てられない場合）、ＳＩ生成装置は＄pict１に対するオブジェクトがないことをユーザーに警告する（これを事後またはランタイムの変数割当という）。この方式によって、同じＳＩを、フォオーマットは同一だが内容が全く異なる多数のアルバムに用いることができる。しかし、テンプレート自体にも、自動的に色、トリミング、特殊効果などを変更するインテリジェント処理機能（すなわち、背景など）を組み込むことができる。オブジェクト用に名前変数を用いるのと同様に、インテリジェント処理もＳＩのＩＰＯと結び付けられる。たとえば、特定の領域でデザイン効果のために白黒写真が欲しいが、ＳＩに与えられたオブジェクトがカラーの場合、ＩＰＯに「このオブジェクトのフォトメトリ（光度）がカラーの場合は、ＩＰＯ色空間をグレイに変えて処理」というような条件付けを与えることができる。
【００５１】
Ｂ２．ＳＩ画像編集例２
典型的なＳＩ画像編集を図１１を参照して述べる。図１１は多数の個別のアイテム（リンゴ、車、人物、ドラゴンなど）を含む画像である。これらのアイテムが個別のオブジェクトとなる。それぞれのオブジェクトは他から独立して個別に操作される。文字ラベルや線画のグラフィックもオブジェクトになり得る。
【００５２】
図１１のシーンを作るには、まず背景イメージをロードし、それぞれのオブジェクトを背景上に配置する。これは、オブジェクト型の識別処理で行われる。記憶したすべてのフォーマットはなんらかの識別タグを有し、これによってそれぞれのタイプを定義する。イニシャライザは記憶されたすべてのフォーマットのリストを有し、タグの種類によって記憶フォーマットを識別する。ラスタ、テキスト、グラフィックの各タイプにそれぞれ有効な読み取り部があり、この構成ではすべてのオブジェクトはラスタであるが、テキストやグラフィックを入れたいときは、これらのタイプにタグを付けその識別タグを、生成されたオブジェクトとともに維持する。タグはエディタ内にデータ構造で維持される。オブジェクトを選択／捕獲するときは、そのオブジェクトの識別を行い、タグの型を設定する。
【００５３】
ＳＩエディタでオブジェクトを獲得した後、内部インテリジェンスによって、ラスタの場合は解像度を、その他のタイプの場合はサイズ特定を行う。さらに、本発明のＳＩエディタは、単にファイルとしてのイメージモデル以外のモデルも用いる。少なくとも、イメージは多様なフォーマットと解像度の集合として表わされる。画像エディタ（ＳＩ生成装置）は必要なサイズか知っており、編集実行を最適にできる適切なファイルを選択する。不適切な選択例として、１２８×１２８ｄｐｉのサイズのアイコンを生成するのに２０００×３０００ｄｐｉのプリント解像度ファイルを用いると、これを縮小するための処理量が非常に大きくなる。生成するイメージの種類（アイコン、プリンタ、表示画面など）に基づいて、ＳＩエディタは適切なファイルを選択する。例えばテキストを一行欲しい場合は、テキストエディタへの要求として、表示用に正規化されたサイズを特定する。すべての捕穫／編集操作は表示解像度で行われる。フルページのラスタイメージが２８メガバイトの記憶スペースを使う従来例とは対照的に、本発明のモニタディスプレイは、これと同じイメージをフルサイズの８０％のサイズと１／４解像度で表示する。これは、７２ｄｐｉ画面で約５．４メガバイトに相当する。
【００５４】
オブジェクトの獲得においては、画面に見えるものはすべて獲得できる。車が重なっていても、一番奥の車を獲得してそれだけを処理できる。あらゆるオブジェクトに対して、ベースＳＩエディタは、移動、グループピング（１つのものとして動くオブジェクトを集合としてまとめる）、階層的配置（最上位（トップ）から最下位（ボトム）までの相対位置）、背景の境界などの基本的操作を行う。さらに、すべてのオブジェクトは最終的にラスタとして表わされているので、それらオブジェクトを編集するときは、ラスタ操作にアクセスする。獲得したオブジェクトを編集する必要のある場合は、ＳＩエディタは、固有の識別タグに従ってそのオブジェクトのネイティブオブジェクトエディタを呼び出す（すなわち、そのオブジェクトに作用する独立した処理プログラムを起動する）。ここでいう識別タグは、特定のオブジェクトと関連し、そのオリジナルオブジェクトのデータ型（テキスト、ラスタ、ベクトルなど）を示すタグである。この環境下で、テキストとグラフィックはその本来の高位の表現形式で編集され得る。高位の編集を終えたら、ＳＩエディタは再度オブジェクトを獲得して編集を続ける。
【００５５】
オブジェクトの獲得、編集操作ごとに、新たな表示が構造的イメージの中に記憶される。ＳＩエディタはまた、操作のインテリジェント管理も可能である。たとえば、オブジェクトを獲得したとき、この操作を構造的イメージに入らないで何度も（無限に）尺度調整を試みることができる。相対サイズは獲得プロセスでのバリューフィールドなので、サイズフィールドの変更には、イメージ獲得の方法を変えることかでき、操作を追加する必要はない。図１２の構造エディタの状態では、ドラゴン以外のオブジェクトは、ただ獲得されただけの状態である（現実には、多くのオブジェクトが尺度調整操作を受けていることは無視する）。ドラゴンだけは、尺度調整の後、さらに別の操作を受ける。この操作を図ではサークル５０で示す。ここで行う操作は、ｙ軸に関する画像の折返しである。図１２の構造エディタでは、このインタフェースの複数のアイテムが選択され、操作される。アイテムは追加、消去、変更が可能である。ドラゴンのオブジェクトに複数の操作を施すときは、それぞれドラゴンの縦線上にサークルになって現われる。従来のエディタと異なり、ＳＩ構造エディタは行うべき操作を画面で見ることができる。このように操作構成を見て編集する機能によって、それまでに成された操作工程にいくらでもアクセスできる（すなわち、無制限のアンドゥが可能になる）。たとえば、５ステップ前の操作が折返し操作だとしたら、構造エディタでその操作を変更あるいは消去できる。画像生成の時にはペーストボード表示よりも画像そのものを見ているほうが好ましいが、この構造エディタだと、画像を見ないでも完全なイメージの構成を達成できる。この構造エディタを画像エディタに接続すると、共同作用する画像編集環境ができる。
【００５６】
Ｃ．リスト
図１３以降は、本実施形態の処理を説明する図である。ＳＩエディタの構成面と画像面での処理操作手順のリストである。これら処理手順は、構造エディタと画像エディタの生成を可能にする機能と、それぞれのエディタを作り上げるための操作のリストと考えてよい。このリストは、多様な画像処理操作型と、ＳＩ画像エディタと構造エディタをつなぐコミュニケーションリンクへのアクセスに必要な基本的ユーザーインターフェイスを示す。リストはＣ言語で書かれているが、操作リストと、画像エディタおよび構造エディタの実際のソースコードはその他の言語（Ｐａｓｃａｌ、Ｃ＋＋言語など、ユーザーインターフェイスによるオブジェクトイメージの編集を可能にする適切な言語）で書いてもよい。
【００５７】
上記実施例以外にも、本発明の原理と範囲から離れることなく、多様な変形が可能である。
【００５８】
【発明の効果】
以上のように、本発明のＳＩ画像編集装置と方法によれば、画像エディタと構造エディタを生成して、メモリ効率を最大にし、過去の編集操作への無制限のアクセス、アンドゥを可能にする。
【図面の簡単な説明】
【図１】  従来の画像編集装置のデータの流れを示す図である。
【図２】  本発明で用いる基本コンポーネントのブロック図である。
【図３】  ＳＩ（構造的イメージ）のオブジェクトを構成する多様なデータ型を示すグラフィック表現の例を示す図である。
【図４】  ＳＩオブジェクトを作る多重表示（ＭＲ）の例を示す図である。
【図５】  ＩＰＤを出力ＳＩと関連させて示した図であり、要素オブジェクトと、それらの要素オブジェクトに行われる画像処理操作とを構造的に示した図である。
【図６】  構造的イメージ生成中のラスタデータの流れを示す図である。
【図７】  子オブジェクトがどのようにして親ペーストボードにマージされるかを示す図であり、マージポイント（子オブジェクトのペーストボードに対する位置）とコントロールポイント（子ペーストボードに対する制御位置）で特定される位置でのマージ例を示す図である。
【図８】  ペーストボードの初期化機能を示す図であり、この例では、走査したテキストイメージでペーストボードを初期化する。
【図９】  ＳＩ画像エディタとＳＩ構造エディタとの間のコミュニケーションパスを示す図である。
【図１０】  構造的イメージのディスプレイと再編集機能を示すブロック図である。
【図１１】  編集する画像と、ＳＩ画像エディタの機能表示を示す表示画面の図である。
【図１２】  本発明にしたがって、図１１の構造的イメージの関連のＳＩＤ（構造的イメージ特定）ファイルを表示した表示画面の例を示す図である。
【図１３】  本実施形態の処理を説明する図である。
【図１４】  本実施形態の処理を説明する図である。
【図１５】  本実施形態の処理を説明する図である。
【図１６】  本実施形態の処理を説明する図である。
【図１７】  本実施形態の処理を説明する図である。
【図１８】  本実施形態の処理を説明する図である。
【図１９】  本実施形態の処理を説明する図である。
【図２０】  本実施形態の処理を説明する図である。
【図２１】  本実施形態の処理を説明する図である。
【図２２】  本実施形態の処理を説明する図である。
【図２３】  本実施形態の処理を説明する図である。
【図２４】  本実施形態の処理を説明する図である。
【図２５】  本実施形態の処理を説明する図である。
【図２６】  本実施形態の処理を説明する図である。
【図２７】  本実施形態の処理を説明する図である。
【図２８】  本実施形態の処理を説明する図である。
【図２９】  本実施形態の処理を説明する図である。
【図３０】  本実施形態の処理を説明する図である。
【図３１】  本実施形態の処理を説明する図である。
【図３２】  本実施形態の処理を説明する図である。
【図３３】  本実施形態の処理を説明する図である。
【図３４】  本実施形態の処理を説明する図である。
【図３５】  本実施形態の処理を説明する図である。
【図３６】  本実施形態の処理を説明する図である。
【図３７】  本実施形態の処理を説明する図である。
【図３８】  本実施形態の処理を説明する図である。
【図３９】  本実施形態の処理を説明する図である。
【図４０】  本実施形態の処理を説明する図である。
【図４１】  本実施形態の処理を説明する図である。
【図４２】  本実施形態の処理を説明する図である。
【図４３】  本実施形態の処理を説明する図である。
【図４４】  本実施形態の処理を説明する図である。
【図４５】  本実施形態の処理を説明する図である。
【図４６】  本実施形態の処理を説明する図である。
【図４７】  本実施形態の処理を説明する図である。
【図４８】  本実施形態の処理を説明する図である。
【図４９】  本実施形態の処理を説明する図である。
【図５０】  本実施形態の処理を説明する図である。
【符号の説明】
１０  プロセッサ、  １２０  ユーザー入力装置、  １３０  画像出力装置、
１４０  画像入力装置、  １７０  ファイル。
【図１】
0003836527.tif 000002
【図２】
0003836527.tif 000003
【図３】
0003836527.tif 000004
【図４】
0003836527.tif 000005
【図５】
0003836527.tif 000006
【図６】
0003836527.tif 000007
【図７】
0003836527.tif 000008
【図８】
0003836527.tif 000009
【図９】
0003836527.tif 000010
【図１０】
0003836527.tif 000011
【図１１】
0003836527.tif 000012
【図１２】
0003836527.tif 000013
【図１３】
0003836527.tif 000014
【図１４】
0003836527.tif 000015
【図１５】
0003836527.tif 000016
【図１６】
0003836527.tif 000017
【図１７】
0003836527.tif 000018
【図１８】
0003836527.tif 000019
【図１９】
0003836527.tif 000020
【図２０】
0003836527.tif 000021
【図２１】
0003836527.tif 000022
【図２２】
0003836527.tif 000023
【図２３】
0003836527.tif 000024
【図２４】
0003836527.tif 000025
【図２５】
0003836527.tif 000026
【図２６】
0003836527.tif 000027
【図２７】
0003836527.tif 000028
【図２８】
0003836527.tif 000029
【図２９】
0003836527.tif 000030
【図３０】
0003836527.tif 000031
【図３１】
0003836527.tif 000032
【図３２】
0003836527.tif 000033
【図３３】
0003836527.tif 000034
【図３４】
0003836527.tif 000035
【図３５】
0003836527.tif 000036
【図３６】
0003836527.tif 000037
【図３７】
0003836527.tif 000038
【図３８】
0003836527.tif 000039
【図３９】
0003836527.tif 000040
【図４０】
0003836527.tif 000041
【図４１】
0003836527.tif 000042
【図４２】
0003836527.tif 000043
【図４３】
0003836527.tif 000044
【図４４】
0003836527.tif 000045
【図４５】
0003836527.tif 000046
【図４６】
0003836527.tif 000047
【図４７】
0003836527.tif 000048
【図４８】
0003836527.tif 000049
【図４９】
0003836527.tif 000050
【図５０】
0003836527.tif 000051