(57)【特許請求の範囲】
【請求項１】
対話式デスクトップ・システム（１）であって、
作業面（１１２）と、この作業面上の第１領域（１２１）に画像（１２０）を表示する手段（１１８）と、前記作業面上において前記第１領域に重なる第２領域にある画像をキャプチャする手段（１１６）と、前記表示手段（１１８）および前記キャプチャ手段（１１６）に接続されたプロセッサ手段（３２）とから成り、
前記プロセッサ手段（３２）が、
（ａ）作業面上の前記第１領域内に、コード化情報の画像（１２０）を前記表示手段（１１８）によって表示させ、
（ｂ）前記第１領域内であって前記第２領域にある前記コード化情報画像（１２０）のキャプチャを、前記キャプチャ手段(１１６）を通じて行わせ、
（ｃ）前記キャプチャした前記コード化情報画像のデータを基にして前記キャプチャ手段（１１６）の視界である前記第２領域の縁位置を計算することによって、前記第１領域に対する前記第２領域の位置を決定する、
ことを特徴とする対話式デスクトップ・システム。
【請求項２】
請求項１記載のシステムにおいて、前記第２領域は前記第１領域に部分的に重なっていることを特徴とするシステム。
【請求項３】
請求項１記載のシステムにおいて、前記第２領域はその全体が前記第１領域内に位置することを特徴とするシステム。
【請求項４】
請求項１、２又は３記載のシステムにおいて、前記コード化情報画像は、第１の向きに表示され、次に、前記第１の向きに直交する第２の向きに表示される、ことを特徴とするシステム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、カメラ・プロジェクタ構造を介してユーザが対話式にドキュメントを操作するドキュメント処理システム、特に、投影表示でカメラの視界の校正を行うことに関する。
【０００２】
【従来の技術】
デスク情報に設置したカメラ・プロジェクタ構造を用いてユーザがカメラの視界内に位置するアイテムを選択することによって実施しようとしている機能を選択できるようにすることは、ヨーロッパ特許出願公開第４９５，６２２号から公知である。デスク上の書類の画像をキャプチャするのにはビデオ・カメラあるいはスキャナが用いられ、フィードバック情報が投影表示によって表示される。機能としては、デスク上に置かれたデータ（たとえば、紙の書類のデータ）について実施される計算、翻訳の操作がある。このようなシステムでは、カメラと表示が合致した状態に保持されてなければならず、カメラの視界が表示に関して変化したときにはいつでも校正を行わなければならない。
【０００３】
たとえば、ユーザが或る書類の１つの単語を選んだとき、フィードバックを表示してその選択が単語と正確に一致しているかを確認しなければならない。表示座標系に対するカメラの視界のサイズ、向きおよび位置が知られていれば、表示された情報の位置を計算できる。
【０００４】
この校正上の問題を解決する提案が種々なされているが、そこでは作業面に校正マークを投影している。ヨーロッパ特許出願公開第６２２，７２２号が開示している校正システムは、太い十字印すなわち「プラス」記号（＋）を投影し、画像形態(Image Morphology)法（D. Bloomberg & P. Maragos, "Image Algebra and Morphological Image Processing", SPIE Conference Procs. San Diego, CA., July 1990 参照）を用いてフレーム・グラバ座標スペースにおいてマークの中心をピンポイントする。十字（＋）は４つの連続した点に投影され、これら４つの点からマッピングを計算するために、これらの技術では、以下の式を使用する（ヨーロッパ特許出願公開第６２２，７２２号の第４図を参照）。
【０００５】
x'=c1x+c2y+c3xy+c4
y'=c5x+c6y+c7xy+c8
ここで、（ｘ、ｙ）は投影表示における座標であり、（ｘ′、ｙ′）はフレーム・グラバにおける座標である。４つの点の対の場合、この連立一次方程式の解はガウス消去で得られる。次に、５番目の十字（＋）を投影し、その位置をチェックしてマッピングによって生じた位置に充分に近いことを確認する。このプロセスはカメラが表示に一致していないことによって生じたキーストーニング(keystoning)効果、回転効果を処理し、結果は１つまたは２つの表示画素内にあるが、ユーザがカメラの視界のおおまかな位置を手作業で指定しなければならず、したがって、視界が常にまたは頻繁に変わる状況では不適切である。
【０００６】
したがって、視界が変化しても迅速かつ自動的に実行できる校正技術が必要である。また、作業面が散らかっていて複数の書類がカメラの視界内に位置しているときでも有効である校正技術が必要である。そして、広い範囲の視界をうまく処理できる校正技術も必要である。
【０００７】
本発明は、作業面と、この作業面上の第１領域に画像を表示する手段と、作業面上の第２領域の画像をキャプチャする手段と、表示手段およびキャプチャ手段に接続してあるプロセッサ手段とから成り、このプロセッサ手段が、（ａ）作業面上にコード化された情報を表示させ、（ｂ）前記コード化情報のキャプチャを行わせ、（ｃ）前記キャプチャされたコード化情報に応じて前記第１領域に対する前記第２領域の位置を決定する手段を包含することを特徴とする対話式デスクトップ・システムを提供する。
【０００８】
好ましくは、表示手段はプロジェクタで成り、キャプチャ手段はカメラから成る。
【０００９】
本発明の１つの利点は、ユーザがカメラの視界の下で校正表示を位置決めするのにユーザの手出しが不要であるということにある。すなわち、視界がアプリケーションで調節されるときに校正が自動的に行われる。
【００１０】
別の利点は、３つの連続した画像フレームの表示、グラビング(grabbing:つかみ取り) だけが必要であるということにある。それに対して、従来技術では、５つ（４つの角隅表示と最終的な精度チェック）を必要とする。本発明の技術はより迅速である。
【００１１】
また別の利点は、作業面が書類で覆われている場合でも迅速に作業を行えることにある。これにより、ユーザが校正中にデスクを整頓する必要がなくなり、ここでもペーパー作業を進めながら自動的に（および周期的に）校正することが可能となるである。
【００１２】
【発明の実施の形態】
以下、本発明の実施例を添付図面を参照しながら説明する。
【００１３】
Ａ．基本システム
作業面１１２上方に設置され、そこに合焦されるビデオ・カメラ１１６、プロジェクタ１１８を用いる、本発明による全体的なシステム構成が図１に示してある。このシステム１０１は、１９９６年７月１２日出願の英国特許出願第９６１４８３７．４号に記載されている形態のうち任意の形態を採用し得る。
【００１４】
作業面すなわち平坦なデスク面（トップ）１１２には、ヨーロッパ特許出願公開第６２２，７２２号に記載されているように、テキスト情報あるいはグラフィック情報のソースとして使用しようとしている書類１１４が置いてある。この書類１１４はデスク面１１２上方に装置したビデオ・カメラ１１６の視界内に置かれている。カメラ１１６に隣接してプロジェクタ１１８が装置してあり、これはデスク面１１２上に表示１２１を投影する。この表示は、全体的にカメラ１１６の視界とほぼ一致しており、図示実施例では、新しく作り出されたドキュメントの画像１２０を含んでいる。カメラ１１６およびプロジェクタ１１８は、共に、画像処理システム（図示せず）に接続してあり、この画像処理システムは、たとえば、標準のマイクロコンピュータ（ＰＣ）を有するコンピュータであってもよい。これは図２を参照しながらより詳しく説明する。
【００１５】
当業者には明らかであるように、本発明は Windows（登録商標）の作動するコンピュータを使用することを意図しており、フレーム・グラバ・ボードおよび適切なインタフェース回路を備えていてもよい（たとえば、Jahne B., Digital Image Processing, Appendix B, Springer-Verlag, Heidelberg, 1991 参照）。
【００１６】
あるいは、ヨーロッパ特許出願公開第６２２，７２２号に詳細に記載されているハードウェア構造を用いてもよい。
【００１７】
本発明を実施する際に、ヨーロッパ特許出願公開第６２２，７２２号に記載されている画像処理装置を用い、適当にあるいは以下に説明するようにまたはこれら両方の要領で改造してもよい。
【００１８】
コンピュータは、ネットワーク・ケーブルに接続してある。このケーブルは、普通の内部ドライバ・カード（図示せず）および適当なソフトウェア（たとえば、Novell Corp.の市販しているNetware ）と共に、この技術分野では周知のように、コンピュータでローカル・ネットワーク（ＬＡＮ）あるいはワイド・エリア・ネットワーク（ＷＡＮ）の一部を形成することができる。
【００１９】
本発明の１つの好ましい実施例で用いた画像処理コンピュータのハードウェアが図２に概略的に示してある。この構造は、当業者にとって周知であり、たとえば、The Art of Electronics, Second Edition, Ch.10, P. Horowitz and W. Hill, Cambridge University Press, 1989に詳細に記載されている。簡単に言えば、このシステムは、共通バス１３０に接続した中央処理装置３２、ランダムアクセスメモリ（ＲＡＭ）３４及びリードオンリーメモリ（ＲＯＭ）３６を包含するメモリ装置、ディスクドライブやテープドライブやＣＤ−ＲＯＭドライブ等の記憶装置３８、キーボード１２、マウス１４、プリンタやプロットやスキャナ等の装置４０、Ａ／Ｄ変換及びＤ／Ａ変換装置４２、およびカメラ１１６、ビデオ・プロジェクタ１１８、ＬＡＮの残部（図示せず）のような外部装置４６にインタフェースするディジタル入出力装置４４を包含する。
【００２０】
Ｂ．自動校正
本発明の１つの好ましい実施例によれば、カメラの視界の位置は、それが表示によって覆われている領域内に位置しているときにはいつでも自動的に決定される。これは、或る形態のバーコードを表示し、カメラを介してこれらバーコードの画像をつかみ取ることによって行われる。バーコードのつかみ取られた画像を解析してカメラがどこを見ていることを決定する。３つの連続した画像（ブランク表示と２組のバーコード）を表示してつかみ取り、解析を行うときには、デスクが整頓されているか書類で散らかっているかどうかには関係なく、ユーザの介入なしに、カメラおよび投影表示を校正できる。表示されたバーコードは商品にラベル付けするのに用いられるバーコードとは異なる設計である。
【００２１】
図３は、本発明の一実施例で用いられるバーコード１を示しており、このバーコードは、デスク面（デスクトップ）に投影されたバー２０４及び２０６：２１０及び２１２、２１６及び２１８、２２２及び２２４の４つのグループ２０２、２０８、２１４、２２０からなる。これらのバーは、異なった太さ、たとえば、１画素幅と２画素幅で形成してもよい。１グループの始点にあるバー（たとえば２０４）から次のグループの開始点のバー（たとえば、２１０）までの距離は一定であり、バーコード１のピッチと呼ぶ。ピッチの割合として表されている、或るグループの最初のバーから最後のバーまでの距離は、バー・グループの広がりと呼ぶ。この実施例では、広がりはグループ毎に異なっていてもよいが、常に１ピッチの０．５未満である。これにより、各グループの開始点を検出できる。
【００２２】
この技術によれば、一連のバー・グループが使用され、広がりは認識可能なシーケンスで変化する。カメラは表示された画像の一部をつかみ取り、バーに対して直角な１つの走査線（以下の図５及びその説明を参照）に沿った画素値が調べられる。バーが前記の走査線に見つけられる場合、これらのバーがグループとして形成されることができ、そのグループの広がりは、表示されたパターンの広がりに一致させることができる。
【００２３】
図４に目を転じて、この図は走査線に沿った画素値のプロットすなわちグラフを示しており、これは複雑なバックグラウンド上にバーを表示する効果を示している。ブランクフレームが投影されてつかみ取られた後、まず、バーコード１が表示を左から右に（矢印Ａの方向に）横切るように延びた状態で、１つのバーコード・フレームが投影される。そのバーコード１の各バーは表示の高さ一杯にわたっていて、表示のほぼ全体がバーコード１で満たされる。このバーコードが投影されている間に、そのバーコード・フレームがカメラによってつかみ取られる（キャプチャされる）。次に、このステップは、直交する向き（各バーが水平になり且つバーコードが表示の幅方向に広がる向き）ｗにおいて、１つの投影されたバーコードについて、繰り返される。１組で３つの表示とグラブ(grab:つかみ取り＝キャプチャ )を用いることによって、デスク上に位置する書類の干渉効果は大きく除去できる。第２及び第３のグラブ（垂直バー及び水平バー）からの画素値は、第１のグラブ（ブランク表示）の値から減算され、各バーそのものから生じた１組の画素値の差の値を形成する。図４において、曲線２６は、ブランク表示でつかみ取られた画像についての走査線に沿った画素値対位置のグラフを示しており、曲線２８は、表示したバーコードでつかみ取られた画像についての走査線に沿った画素値対位置のグラフを示し、曲線３０は前記の画素値差を示しており、ここでは、２つの主要ピークが１グループ内の２つの太いバーの位置を示している。
【００２４】
曲線２６〜３０はサンプリングの平滑化効果を示している。曲線３０は、好ましくは、最高値の半分の値でスレッショルド処理され、これによって、外側のピーク２９ａ、２９ｂが、太いバー２３ａ、２３ｂに対応する２つの外側の幅広の方形波パルス２１ａ、２１ｂを発生し、内側のピーク３１ａ、３１ｂが、太いバー２５ａ、２５ｂに対応する２つの内側の幅狭い方形波パルス１９ａ、１９ｂを発生する。
【００２５】
図５の（ａ）は、一連のグループ２０２、２０８、２１４、２２０、２２１からなる表示バーコードを示しており、その内の小さなセット（２０８、２１４、２２０）がカメラで見える（カメラの視界にある）。また、カメラの視界内で、バーに対して直角の走査線２３４に沿った異なった画素値の曲線２３２も示してある（図５（ｂ））。バーコード・パターン１のピッチは容易に決定できる。これは、グループの各先行バー（２０４、２１０、２１６、２２２：図３参照）前のギャップが次のグループの幅よりも常に幅が広いためである。グループの幅がわかるならば、これらの幅をピッチと比較することによって、つかみ取られた画像におけるピークの対を発生したグループの広がりを演算することができる。つかみ取られた画像における広がりすなわちスプレッドのシーケンスは、表示されたスプレッドのシーケンスと一致させることができ、前者の位置は後者のシーケンスに見出すことができる。このことは、シーケンスの一部がカメラの視界内に位置していることを示している。
【００２６】
同じ技術を第３のフレーム内に表示されたバーコードに適用して直交方向におけるカメラ位置を決定することができる。図６はこれを如何に達成するかを示している。これらの技術は、カメラの視界３３８の縁に接近した走査線３４２、３４４および３６２、３６４に沿って各方向において２回適用される（図６ではこれらの縁からの距離が誇張して示してある）。この技術の各アプリケーションは視界の縁（たとえば、３３７、３３９）と共に走査線（たとえば、３４２）の２つの交差点（たとえば、３５ａ、３５ｂ）の座標を発生する。各縁に沿った交差点は外挿され、外挿された直交縁の対の位置がわかり、視界３３８の角隅を位置決めすることができる。こうして、カメラの視界３３８の角隅に対応する表示座標の４つの点を計算することができる。
【００２７】
上記の技術で起こり得る信頼性の問題を克服するために、別の実施例では、２レベル・コード化構造を用いている。これは成功していることが証明されている。これらの問題は、つかみ取られた画像におけるバー・グループの広がりを測定する際の正確さの欠如から生じる可能性がある。たとえば、０．３と０．４の広がりを持った２つのバー・グループは、ノイズやサンプリング誤差により、視界が大きい場合には区別することができないかも知れない。或る範囲の異なった広がり（たとえば、０.0５、０.1５、０.2５、０.3５及び０.4５）を用いてバーコード表示を構築する場合、つかみ取った画像における広がりを測定する際に誤差が多すぎることになる。もっと小さい範囲の広がりを使用する場合、たとえば、０.2及び０.4の広がりを用いる場合には、この問題は解決される。これはグループの幅の差が視界がどんなものであっても区別し得ないからである。従って、カメラは、表示シーケンスにおいて複数回生じるシーケンス（たとえば、０．２、０．４、０．２）をつかみ取ることができる。このような問題は、広い範囲の視界にわたってこの技術を使用する際の障害となる。
【００２８】
かかる問題を解決するために種々のマルチパス技術を工夫し得るが、本発明のこの別の実施例では、たった３つの表示画像（ブランク表示、垂直バー、水平バー）を用いるだけのたった一回のパスで問題を解決している。
【００２９】
図７は、たった２つの異なった広がりを用いるが、各グループの先頭バーと後尾バーとの間に、追加の分数(fractional)バー２４０、２４２、２４４、２４６（図７（ａ）参照）を表示した技術を示している。これらのバー２４０〜２４６はバイナリーコード（たとえば、異なった画素値の曲線２４８（図７（ｂ））において追加のピーク２５２、２５４、２５６）を形成し、このバイナリーコードは小さい視界（図７（ｂ））で、すなわち、広がりのみでは曖昧さを克服するには不十分である状況で容易に検出され得る。大きい視界（図７（ｃ））では、分数バー２４０〜２４６は、もはや画素の異なった値の曲線２５０では区別することはできないが、広がり値は表示シーケンスの可視部分を識別するには充分である。
【００３０】
図８〜図１２は本発明による校正技術で用いられるデータ処理ステップの概略フローチャートである。図８は、基本的なステップ・シーケンスを示している。最初、ホワイト（ブランク）・フレーム全体が表示される（ステップＳ１）。次にカメラが全ホワイト画像をつかみ取る（ステップＳ２）。ステップＳ３で、垂直バーがすべてであるバーコードが表示され、ステップＳ４では、この画像がカメラでつかみ取られる。次に、ステップＳ５で、バーが全て水平であるバーコードが投影され、ステップＳ６で、この画像がカメラでつかみ取られる。最後に、システムがステップＳ７で視界を計算する。
【００３１】
図９は、視界を計算するステップ（Ｓ７）の中のサブステップを示している。ステップＳ７２は垂直バーおよび全ホワイト画像のつかみ取られた画像からの水平縁を位置決めする。ステップＳ７４は水平バーおよび全ホワイト画像のつかみ取られた画像からの視界の垂直縁を位置決めする。ステップＳ７６では、これらの縁を外挿してカメラの視界の角隅の位置を決定する。
【００３２】
図１０は、「垂直」（または「水平」）および「ホワイト」画像からの水平縁を位置決めするステップＳ７２（またはＳ７４）におけるサブステップを示している。まず、システムは視界の左（または上）縁付近の走査線の端点（表示座標におけるもの）を見つける（ステップＳ７２２）。次に、システムは、視界の右（または下）縁付近の走査線の端点（表示座標におけるもの）を見つける（ステップＳ７２４）。最後に、ステップＳ７２６で、システムは端点間で外挿を行って表示座標での縁を見つける。
【００３３】
図１１および図１２は、バーに対して直角の走査線の端点（表示座標におけるもの）を見つけるステップにおけるサブステップを示している。ステップＳ８では、システムは表示されたバーから得たデータを「ホワイト画像」データから減算してＧＳ（グレイスケール）アレイ（一連のデータの列）を構築する。次に、ピークの何％かでのスレッショルド値のアレイを構築する（ステップＳ９）。次いで、スレッショルド演算を行い、カメラ座標でのバー位置のリストを作る（ステップＳ１０）。次に、システムは、連続するバー間の最長ギャップを見つける（ステップＳ１１）。次に、ステップ転送を先の長いギャップ内へ行い、次のバー（グループの先頭バー）を見つける（ステップＳ１２）。ステップＳ１３で、先頭バーから次のバーまでの距離を計算する（カメラ座標における計算）。
【００３４】
次に、図１２に示すように、システムは、コードリストを構築するルーチンを開始する（ステップＳ１４）。ステップＳ１５で、図１１のルーチンで求められたバーの位置のリストの走査（スキャンニング）を開始する。各バーの位置について、次のバーとのギャップが（既知の）ピッチ間隔より大きい値かどうかの判定がなされる（ステップＳ１６）。
【００３５】
ステップＳ１６の判定がイエスの場合には、それは、グループの最後のバーが処理中であることを意味しており、次のステップは特性（characteristic) の広がり（すなわち、０又は１（又は２等））に従って分類分けされるグループについてであることを意味する。次に、このグループ内の分数バーの位置が計算されて（ステップＳ１８）、その後に、その分数バーの位置のΔＧＳの値が検査されて、その分数バーの位置を０又は１として分類する（ステップＳ１９）。次に、その０と１のシーケンスから１つのコード（すなわち分数コード）を構築するように演算が行われる（ステップＳ２０）。フルコード（Ｎ，Ｎ）が構築されると、そのフルコードが、コンパイルされているコードのリストに加えられる（ステップＳ２１）。次に、処理はステップＳ２２に続く。
【００３６】
ステップＳ１６の判定がノーの場合には、処理はステップＳ２２にジャンプする。ステップＳ２２において、視界の中の最後のバーに達したかどうかのチェックが行われ、そうでない場合には、次のバーに移動し（ステップＳ２３）て、処理はステップＳ１６に戻る。
【００３７】
他方、ステップＳ２２において、最後のバーに達したと判定された場合、次のステップ（Ｓ２４）は、表示したグループのリストに最もよく適合するものを得るように、走査を行うことである。最良に適合したものが得られると、ステップＳ２５において、最初のグループと最後のグループの表示の座標が計算（演算）される。これによって、その後、走査線の２つの端部の表示座標が計算（演算）される（ステップＳ２６）。
【００３８】
その他の３つの走査線の各々の両端部の位置も、同じ様に計算される。それらの端部についての全８個の座標のセットが得られると、カメラの視界の４つの角隅の位置を定めるように、簡単な外挿処理を行える。
【００３９】
当業者にとって、他の種々の形状・形態のバーコードを、本発明の実施に利用できることが理解されよう。また、当業者にとって、バーコード以外の表示パターン（例えばグリフコード(glyph code)）が、位置の判定に使用できることも理解されよう。
【図面の簡単な説明】
【図１】本発明の一実施例によるシステム全体図である。
【図２】図１のシステムで使用されるコンピュータの概略ブロック図である。
【図３】本発明の一実施例において表面に投影される４つのバー・グループを示す図である。
【図４】複雑な背景にバーを表示する効果を示す、走査線に沿った画素値のグラフである。
【図５】（ａ）は一組の表示されたバーコードを示す図、（ｂ）は走査線に沿って得た画素値の差を示す図である。
【図６】本発明の一実施例で用いられる４本の走査線を示す図である。
【図７】本発明の別の実施例を示しており、（ａ）は各バーグループに分数バーが用いられた様子を示す図、（ｂ）および（ｃ）は狭い視界および広い視界についての或る走査線に沿った画素値のグラフを示している。
【図８】本発明による校正技術で用いられるデータ処理ステップの概略フローチャートである。
【図９】図８のステップ（Ｓ７）の詳細を示すフローチャートである。
【図１０】図９のステップＳ７２（又はＳ７４）の詳細を示すフローチャートである。
【図１１】ピッチを計算するステップの詳細を示すフローチャートである。
【図１２】バーに対して直角の走査線の端点を見つけるステップの詳細を示すフローチャートである。
【符号の説明】
１０１  システム
１１２  平坦なデスク面すなわちデスクトップ
１１４  書類
１１６  ビデオ・カメラ
１１８  ビデオ・プロジェクタ
１２１  表示
１３０  共通バス
３２  中央処理装置
３４  ＲＡＭ
３６  ＲＯＭ
３８  ディスクドライブ、テープドライブまたはＣＤ−ＲＯＭドライブ
４０  プリンタ、プロッタまたはスキャナ
４２  Ａ／Ｄ変換、Ｄ／Ａ変換装置
４４  ディジタル入出力装置
１  バーコード
２０２、２０８、２１４、２２０、２２１  バーのグループ
２０４、２０６、２１０、２１２、２１６、２１８、２２２、２２４  バー
２６、２８、３０  走査線に沿った画素値対位置のグラフ曲線
２４０、２４２、２４４、２４６  分数バー
【図１】
0003893174.tif 000002
【図２】
0003893174.tif 000003
【図３】
0003893174.tif 000004
【図４】
0003893174.tif 000005
【図５】
0003893174.tif 000006
【図６】
0003893174.tif 000007
【図７】
0003893174.tif 000008
【図８】
0003893174.tif 000009
【図９】
0003893174.tif 000010
【図１０】
0003893174.tif 000011
【図１１】
0003893174.tif 000012
【図１２】
0003893174.tif 000013