文書画像の処理方法及び装置
【課題】文書画像の処理方法及び装置を提供する。
【解決手段】ビューポート内に目標オブジェクトを含む3Dビューポートを生成するプロセスが呼び出され(1701)。それを使って、ユーザは3Dビューポート内の目標オブジェクトの調整を行う(1702)。ユーザが目標オブジェクトを所望通りに調整し終えると、オブジェクトの2D画像をレンダリングし、(1703)、3Dビューポートが終了する(1704)。
【解決手段】ビューポート内に目標オブジェクトを含む3Dビューポートを生成するプロセスが呼び出され(1701)。それを使って、ユーザは3Dビューポート内の目標オブジェクトの調整を行う(1702)。ユーザが目標オブジェクトを所望通りに調整し終えると、オブジェクトの2D画像をレンダリングし、(1703)、3Dビューポートが終了する(1704)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像キャプチャリングのシステムおよび方法に関し、より具体的には文書を含む画像の処理方法及び装置に関する。
【背景技術】
【0002】
文書の画像をキャプチャする方法として、図1に示すようにデジタルカメラまたはスマートフォン(高機能携帯電話)の利用がある。これらの文書の写真は、平面走査をするスキャナに比べると、遠近方向のひずみ、捩じれ、照度むらなどの様々な問題点を含んでいる。
【0003】
このような問題を調整するための対話型または自動のシステムがいくつか存在する。例えば、デジタルカメラには台形歪み補正機能(keystone correction)を有するものがある。写真を見るときに、ユーザが台形歪み補正のコマンドをメニューから選択することができる。そのようなシステムにおいては、台形を構成する辺の組が自動的に検出される。ユーザは所望の台形の辺を(矢印ボタンで)選択して、メニューコマンドにより画像が直交する辺をもつ四角形になるように補正を行う。新しい画像が生成され、同時に原画像も保存される。
【0004】
透視変換などの種々の補正機能を利用するそのほかのシステムもあるが、初心者には複雑すぎるかもしれない。ユーザが画像を選択し、透視変換のコマンドへ進む。アンカーポイントが現れ、それをユーザが所望の位置へドラッグする。アンカーポイントは、連動する対辺のアンカーポイントに連結されている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本明細書で記述する本発明の特定の例示的実施形態は、画像調整の従来技術に関する上述及びその他の問題の1つ又は複数を実質的に取り除くための方法及び装置に関する。
【課題を解決するための手段】
【0006】
本発明の第1の態様によれば、文書を含む画像の処理方法であって、生成手段が、画像の3次元ビューポートを生成することと、調整手段が、前記生成された3次元ビューポート内の前記画像上で前記画像の調整を指示するジェスチャを直接受信すると、前記ジェスチャに従って前記画像を調整することと、を含む、文書を含む画像の処理方法が提供される。
【0007】
本発明の第2の態様によれば、第1の態様において、レンダリング手段が、前記調整画像を2次元画像としてレンダリングし、前記画像を2次元ビューポート上に表示することをさらに含む。
【0008】
本発明の第3の態様によれば、第1の態様において、前記調整のためのジェスチャが前記画像の回転または伸張の命令である場合、前記ジェスチャに従って回転または伸張を実行する。
【0009】
本発明の第4の態様によれば、第1の態様において、前記調整のためのジェスチャが前記画像をスクロールするための命令である場合、前記スクロールが前記画像の回転軸に沿うものかどうかを判定する。
【0010】
本発明の第5の態様によれば、第4の態様において、前記スクロールが前記画像の回転軸に沿うものである場合に、前記ジェスチャに従って前記画像をスクロールし、幾何変換用の数値アルゴリズムを利用してスキューの補正を行う。
【0011】
本発明の第6の態様によれば、第4の態様において、前記スクロールが前記画像の回転軸に沿うものでない場合には、前記ジェスチャに従ってスクロールを行い、前記スクロールに基づいて前記画像の伸張の補正を行う。
【0012】
本発明の第7の態様によれば、文書の画像の処理方法であって、生成手段が、文書の画像の3次元ビューポートを生成することと、受信手段が、ジェスチャによる命令を受信することと、調整手段が、前記命令が前記画像をスクロールすることである場合、前記ジェスチャに従って前記画像のスクロールを行い、該スクロール中に幾何変換用の数値アルゴリズムを利用して幾何歪みを補正することと、を含む、文書の画像の処理方法が提供される。
【0013】
本発明の第8の態様によれば、第7の態様において、前記命令が前記画像のドラッグである場合、前記ジェスチャに従って前記画像のドラッグを行い、該ドラッグ中に幾何歪みを補正する。
【0014】
本発明の第9の態様によれば、第7の態様において、前記スクロールが前記画像の回転軸に沿う場合、前記幾何歪みの補正は、幾何変換用の数値アルゴリズムを適用したスキューの補正を含む。
【0015】
本発明の第10の態様によれば、第7の態様において、前記スクロールが前記画像の回転軸に直交する場合、前記幾何歪みの補正は、前記スクロールに基づく前記画像の伸張の補正を含む。
【0016】
本発明の第11の態様によれば、第7の態様において、前記スクロールが前記画像の回転軸に直交でも平行でもない場合、前記幾何歪みの補正は、伸張の補正とスキューの補正を含む。
【0017】
本発明の第12の態様によれば、第11の態様において、前記スキューの補正は、ニュートン法を利用することを含む。
【0018】
本発明の第13の態様によれば、文書の画像を3次元ビューポートに表示することが可能なタッチディスプレイと、前記タッチディスプレイ上の前記3次元ビューポート内に表示された画像上への直接のジェスチャを受信すると、前記ジェスチャに従って前記画像を処理する操作手段と、前記画像の操作により生じた前記画像のスクロール、ドラッグ、または回転による幾何歪みに対する前記画像の補正を行う補正手段と、を備える装置が提供される。
【0019】
本発明の第14の態様によれば、第13の態様において、調整された画像をレンダリングして2次元画像とするレンダリング手段をさらに備え、前記タッチディスプレイは、前記2次元画像を2次元ビューポート上に表示可能である。
【0020】
本発明の第15の態様によれば、第13の態様において、前記スクロールが前記画像の回転軸に直交する場合、前記補正手段は、前記スクロールに基づく前記画像の伸張を補正することにより幾何歪みの補正を行う。
【0021】
本発明の第16の態様によれば、第13の態様において、前記スクロールが前記画像の回転軸に沿う場合、前記補正手段は、キュー補正のために幾何変換用の数値アルゴリズムを適用して幾何歪みを補正する。
【0022】
本発明の第17の態様によれば、第13の態様において、前記スクロールが前記画像の回転軸に直交でも平行でもない場合、前記補正手段は、伸張の補正とスキューの補正とによって幾何歪みを補正する。
【0023】
本発明の第18の態様によれば、第13の態様において、前記操作手段は、マルチタッチジェスチャを含むジェスチャを受信すると、前記画像の回転により前記画像を操作し、前記マルチタッチジェスチャは、前記画像をその場所に保持するための前記画像上への第1の直接タッチと、前記画像を回転させる第2のタッチとを含む。
【0024】
本発明の第19の態様によれば、第13の態様において、前記操作手段は、マルチタッチのジェスチャを含むジェスチャを受信すると、座標軸に沿う前記画像の拡大縮小により前記画像を操作し、前記マルチタッチジェスチャは、前記画像を伸張して座標軸に沿って前記画像を拡大縮小するために画像上を直接4回タッチすることを含む。
【0025】
例示的実施形態の更なる態様は、以下の記述で部分的に説明され、また以下の記述で部分的に明らかとなり、または例示的実施形態の実施により習得されるであろう。例示的実施形態の態様は、以下の詳細な説明及び添付の特許請求の範囲において特に指摘された要素、及び種々の要素と態様との組合せによって、実現及び達成することができる。
【0026】
上記及び以下の記述はいずれも、単に例示及び説明を目的とするものであり、実施形態またはその適用を限定することは全く意図されていないことを理解されたい。
【発明の効果】
【0027】
3次元ビューポートにおける画像を処理するための方法及び装置を提供することができる。
【図面の簡単な説明】
【0028】
本明細書に組み込まれ本明細書の一部をなす添付の図面が実施形態を例示し、説明と相俟って例示的実施形態の説明及び例示に供する。
【図1】ある角度で文書の写真を撮影している例を示す図である。
【図2】遠近方向のひずみを持つ文書の写真の一例を示す図である。
【図3】例示的一実施形態による、写真オブジェクト中の文書の調整を示す図である。
【図4】例示的一実施形態による、調整の実行に利用される例示的ジェスチャを示す図である。
【図5】例示的一実施形態による、読めるようにするための文書画像の拡大を示す図である。
【図6】画像を垂直にスクロールする場合のスキューと例示的一実施形態によるそのスキューの補正の比較を示す図である。
【図7】例示的一実施形態による、座標平面の中心原点に配置された図3(a)の写真オブジェクトを示す図である。
【図8】例示的一実施形態による、y軸を中心に角度θだけ回転された写真オブジェクトの側面図である。
【図9】例示的一実施形態による、y軸を中心に角度θだけ既に回転され、次にx軸を中心に角度−ψだけ回転させようとする写真オブジェクトの側面図である。
【図10】例示的一実施形態による、写真オブジェクトのパラメータから回転角の初期推定値を計算するためのパラメータを示す図である。
【図11】水平軸方向への画像のスクロールを示す図である。
【図12】画像を水平スクロールすることによって生じる可能性のある伸張を示す図である。
【図13】例示的一実施形態による、写真オブジェクトの平面図から考慮される例示的パラメータを示す図である。
【図14】例示的実施形態の実装により操作されたスライドの写真を示す図である。
【図15】例示的実施形態の実装により操作されたホワイトボードの写真を示す図である。
【図16】例示的一実施形態による、別個の2Dモードがない、純粋な3Dビューポートのフローチャートを示す図である。
【図17】例示的一実施形態による、3Dビューポートモードの活用に関連する2D画像のレンダリングのフローチャートを示す図である。
【図18】例示的一実施形態による、ビューポートにおける調整のフローチャートを示す図である。
【図19】本発明による方法の実施形態を実装することが可能なコンピュータ/サーバシステムの一実施形態を示すブロック図である。
【発明を実施するための形態】
【0029】
以下の詳細な説明においては添付の図面を参照する。ここで、同一の機能的要素は同様の符号で示される。前述の添付図面は、本発明の原理に整合する例示的実施形態および実装を例示するものであり、それに限定するためのものではない。これらの実装は、当業者が例示的実施形態を実行できるように十分詳細に説明される。また、例示的実施形態の範囲及び趣旨を逸脱することなしに、他の実装が利用されてもよいこと、及び様々な要素の構造上の変更及び/又は代用が行われてもよいことを理解されたい。従って、以下の詳細な記述は本発明を制限するものとして解釈されるべきではない。更に、記載の実施形態は、汎用コンピュータ上で実行されるソフトウェア、専用ハードウェア、あるいはソフトウェアとハードウェアの組合せ、のいずれの形態において実装されてもよい。
【0030】
電子装置上にキャプチャまたは表示された文書の画像を、電子装置と対話して操作または補正する公知の方法にはいくつかの欠点がある。例えば、従来のシステムでは、文書の画像を作業する際に入力と出力で異なるモードを使用しなければならないことが多い。これは文書との円滑な対話を阻害するばかりでなく、対話がモード選択の誤りになりやすくなる。また、従来のシステムで文書画像の操作に利用される制御ポイントまたは制御セグメントは、ユーザインタフェースが明快な設計となることを阻む。例えば、従来のシステムにおいて制御ポイントやラインなどのような小さな目標物をタッチスクリーン上で選択することは困難である(いわゆる“指太問題”)。さらに、制御ポイントと制御セグメントを利用するには(マウスのクリックやドラッグなどの)余計な操作を必要とする。さらには、そのような制御ポイントとセグメントを利用すると余分な画像が生成され、また、文書を読みやすくするためには高分解能を必要とするので、文書の写真の収集量の増大と共にこの余分な画像がメモリの相当な量を占める可能性が出てくる。
【0031】
従来のシステムには自動的な調整法も存在するが、これらの方法では文書を囲む四角形の端が写真の中に見えていることを必要とするものが多い。また、従来の方法ではそのページ中のテキストの行の検出結果を利用するものもあるが、これは絵や図や手書きのものに対してはうまく機能しない。したがって、従来技術のシステムには、自動的な補正方法はあっても、機能しないことがある。
【0032】
このような問題に対処するために、本発明の例示的実施形態にはいくつかの特徴がある。1)キャプチャ画像の表示に、標準的な2次元(2D)ビューポートではなく3次元(3D)ビューポートを利用する。2)3Dビューポート内のキャプチャ画像の処理/調整を行う際に、制御ポイントやセグメントを利用するのではなく、ジェスチャとマルチタッチジェスチャを利用する。3)画像歪みの補正には、モバイル装置での使用が困難な大規模な処理能力を必要とする処理ではなく、3Dビューポート内での数値的方法(ニュートン法など)を利用する。これにより、本発明の例示的実施形態では、モードなしの円滑な対話が可能であり、制御ポイントやセグメントを排除し、新規に高分解能画像を生成するのではなく少量のメタデータを生成してそのシーンのビューを特定する。マルチタッチディスプレイと3Dグラフィックスとを利用することで、例示的実施形態では直感的かつ円滑な調整用の対話型技術とすることが可能である。マルチタッチディスプレイにより、ユーザはジェスチャの豊富な表現力を用いて(例えば文書の写真などの)画像オブジェクトを直接操作することが可能となる。透視画法的なカメラのレンダリング機構を用いて画像オブジェクトを3Dシーン/ビューポートに配置することにより、ユーザは3Dビューポート内のシーンにおける画像オブジェクトを操作するだけで遠近歪みを簡単に補正することができる。
【0033】
以前のシステムでは、調整を行うためにビューポートとして2次元の四角形の観察領域を利用していた。しかし、それによってオブジェクトの操作はxとyの次元のみに限られていた。本発明の例示的実施形態では、ビューポートとして文書の画像に対して新たな3次元の観察領域を生成して、ユーザがジェスチャとマルチタッチジェスチャで調整を実行できるようにし、また、3D領域での操作を可能とした。本発明の例示的実施形態は、x、y、zの次元を利用して数値的手法を実行する。これは従来のシステムに比べると計算負荷が小さい。
【0034】
特定の実施形態では、遠近歪み(台形歪みとも言う)の問題に焦点を絞って調整を行う。これは、図1に示すように、文書の写真が斜めから撮られた場合に発生する。斜めから写真を撮影することは、立ち上がって撮影することに比べれば簡単であるばかりでなく、ユーザまたはカメラが文書の真上にある場合にできやすい文書上の影を防いでくれる。遠近歪みが起きるそのほかの一般的な場面としては、名刺、ホワイトボード、スライド、サインの撮影などがある。
【0035】
図2は、例示的実施形態による、グラフィカルユーザインタフェース(GUI)アプリケーションでの遠近歪みの有る文書写真の一例を示す。図2のこの写真は、図1に示した状況で撮影されたものである。GUIアプリケーションの中心となるのは、文書の写真を3Dのシーンとして表示する3Dビューポートである。
【0036】
図3(a)〜(c)は例示的一実施形態による、写真オブジェクトの調整を示している。調整を実行するには、写真オブジェクトを最初に3Dビューポート内で回転させて文書のコンテンツが正立するようにする(図3(a)を回転させて図3(b)の方向にする)。これは、文書のエッジが写真内に見えている場合には、図3(a)と図3(b)に示すように、この回転操作後には向かい合うエッジ同士が平行になるということである。
【0037】
図4(a)、(b)は例示的一実施形態による、図3(a)、(b)の調整の実行に利用できる例示的ジェスチャを示す。図4(a)では回転を行うマルチタッチジェスチャの例が示されている。この例では、ユーザは写真オブジェクトに1本の指で触れてそこに保持し、そして(反対側の手の)第2の指で右か左にドラッグして垂直軸を中心とする回転を行う。
【0038】
この回転操作の副作用として、図3(b)に示すように、文書のコンテンツが水平方向に圧縮されることがしばしばある。これを解決するためには、ユーザは伸張(一軸方向への拡大)を行って圧縮状態を解決する(図3(b)から図3(c)へ)。伸張のマルチタッチジェスチャの一例は、図4(b)に示すように(それぞれの手から二つずつの)四つの接触ポイントを利用する。ハードウェアが二つの接触ポイントしかサポートしていない場合には、伸張を行うジェスチャの一方法として、ツールバー(図2の201参照)にジェスチャの別の解釈を与えるボタンを配置させて、2つの接触ポイントを相互に離すか近づけるように動かす(代替解釈ではない通常の解釈では、これは摘まむか拡大することを表すジェスチャである)。
【0039】
図5(a)、(b)は例示的一実施形態による、3Dビューポート内の文書画像を拡大して判読可能にすることを示す図である。図5(a)に示すように、文書画像は拡大して判読可能とすることができる。拡大操作は、例えばピンチジェスチャなどで実行することができ、図5(b)に示すように、拡大された文書の詳細部分を示すことも可能である。ノイズ除去処理がなされてないにもかかわらず、結果は判読可能なことが多い。
【0040】
ところで、ユーザはビューポートの周りに普通あるスクロールバーを利用するか、またはそのページにタッチしてドラッグすることによって、ページ内をスクロールしようとすることがある。
【0041】
これを実現する一つの手法は、2Dビューポートと3Dビューポートの両方を利用する方法である。この場合、3Dビューポートはユーザが遠近補正をし、観察用の新しい画像を生成するための特別なモードとして存在し、補正のあとは元のモードである2Dビューポートに戻るというものである。しかし、この手法には、複数のUIメタファ、モードが必要であること、生成画像による大量のメモリ占有などのように、ユーザにとって複雑さが増すという欠点がある。より技術的な問題点としては、ディスプレイ上にきれいな変換画像を作成するためのレンダリング・パイプラインは、グラフィカル・プロセシング・ユニット(GPU)などの専用のグラフィックハードウェアを活用しているが、プラットフォームによっては(例えばWINDOWS(登録商標) 7)、それがビットマップを処理するためのソフトウェア・レンダリング・パイプラインとは異なっていて、その結果、ソフトウェア・レンダリング・パイプラインが画像品質の顕著な劣化(例えば、アンチエイリアシングの劣化)をもたらす場合がある。
【0042】
透視図法のレンダリングにおいて3Dシーン内でスクロールすると、3Dグラフィックスにいくつかの問題が生じる。垂直方向にスクロールした場合の例について以下に述べる。参考のために、3Dグラフィックスの座標の標準的表記は以下のようになっている。x軸(以下、水平軸ともいう)はスクリーンに向かって右向き、y軸(以下、垂直軸ともいう)はスクリーンに向かって上向き、そしてz軸はスクリーンの外向き(スクリーンに向かったときの手前向き)である。
【0043】
図6(a)〜(e)は、画像を垂直にスクロールする場合のスキューと、例示的一実施形態によるそのスキューの補正との比較を示す図である。
【0044】
図6を参照すると、垂直軸(y軸)を中心にある角度θだけ回転して調整された図6(a)に示す画像をもとにスクロールすると、図6(a)を上方向へスクロールして図6(b)となり、上方向に再度スクロールして図6(c)となるにつれて、スキューが出てくる。このスキューは、水平軸(x軸)を中心に別の角度ψだけ回転させることにより補正できる。図6(a)を上方向に補正有りでスクロールしたものが図6(d)であり、さらにそれを上方向にスクロールしたものが図6(e)となっている。この回転角ψはスクロール値dyによって変わり、回転角ψとスクロール値dyとの関係は単純ではない。
【0045】
与えられたスクロール値dyと角度θに対する角度ψを計算する例示的実施形態による方法では、まずこれらの方程式を導出する。これは、これらの角度の正弦と余弦を含む項となるが、ψに関する単純な式になるようには見えない。正弦関数と余弦関数は微分可能なので、ニュートン法などの数値解析法を適用できる。
【0046】
図7は例示的一実施形態による、座標平面の中心原点に配置された図3(a)の写真オブジェクトを示す図である。まず、幅w、高さhの写真オブジェクト700が図7の701で示すシーンの原点(0,0,0)に配置される。これは図3(a)のシーンに対応している。
【0047】
図8は例示的一実施形態に従って、y軸を中心に角度θだけ回転させた写真オブジェクト800の側面図である。最初に、目または透視カメラが801で示す点(0,0,d)にあるとし、観察面はxy平面に平行な固定位置にあるものとする。ユーザが、文書のコンテンツを調整するために802に示すようにオブジェクトを角度θだけ回転すると、右上の隅から延びる内角αを持つ直線が観察面に水平線として投影されるような内角αが存在する。
【0048】
図9は例示的一実施形態による、y軸を中心に角度θだけ既に回転させて、次にx軸を中心に角度−ψだけ回転させようとする写真オブジェクト900の側面図である。ここで、図9に示すようにパラメータa,b,αとスクロール距離dyが与えられたとして、スクロール補正のための大きさψの回転角が計算される。角度ψは、点P’とQ’とが観察面上に同じ高さに射影される条件を満足する必要がある。すなわち、等価的には、側面図から点の集合{E’,P’,Q’}が同一直線状になければならない。目がビューポートの中心を介してオブジェクトから同一の距離にあるために、線分E’P’とE’Q’が同一の傾斜である。
【0049】
三角法を利用して、下記の表式が導かれる。
【0050】
【数1】
ここで、f(ψ)はψと(τ+ψ)の三角関数の多項式であり、ここでもパラメータb,d,h,dyが含まれている。陽関数表示すると次の様になる。
【数2】
【0051】
式(2)はψに関する簡単な式にはならないので、f(ψ)=0を数値的に解く必要がある。f(ψ)=0は、ニュートン法などのアルゴリズムを適用して数値的に解くことが可能である。反復アルゴリズムであるニュートン法を利用するためには、導関数f’(ψ)を求め、解の初期推定値をψ0とする。ニュートン法によれば、反復数列{ψn}が次の漸化式で定義される。
【0052】
【数3】
【0053】
導関数f’(ψ)は、上記の式(2)で与えられるf(ψ)から、三角関数の微分に関する基本公式と、合成関数の導関数に関する連鎖律とを利用して求めることができる。
【0054】
解の初期推定値ψ0は図9の粗い近似で求められる。
【0055】
図10は、例示的一実施形態による、写真オブジェクト1000のパラメータから回転角を近似するためのパラメータを示している。角度を推定する一方法が図10に示されており、これから次式が得られる。
【0056】
【数4】
【0057】
例示的実施形態の実装において、項の計算は、連続する項の間の差がε=0.00001より小さくなるまで行われる。これには数百回の反復が必要であるが、ユーザがスクロールバーを繰り返しクリックする際にリアルタイムの対話として十分高速に実行される。
【0058】
図11(a)〜(c)は画像の水平軸方向へのスクロールを示している。図11(a)の文書の画像は、3次元ビューポート内を図11(b)に示すように右に移動させ、次に図11(c)に示すように左に移動させて、どのような歪みが生じるかを判定する。水平方向のスクロールは垂直方向に比べてはるかに単純であることが分かる。歪みは垂直方向のスクロールの場合とは異なっており、スキューの問題は予想されない。この様子は図11(a)の画像を右にスクロールした図11(b)と左にスクロールした図11(c)とが示されている。
【0059】
図12は、画像を補正なしで水平方向へスクロールした場合(1201)に生じる伸張と、伸張補正された場合(1202)の画像とを示している。水平スクロールした場合の歪みは、1201に示すように、水平方向の伸張となって現れやすい。
【0060】
図12の1201に示された伸張を補正し、1202のようなきちんと調整された画像を得るために、まず図13に示す平面図を検討してみる。
【0061】
図13は、例示的一実施形態による、写真オブジェクトの平面図において考慮される例示的パラメータを示す図である。(図7に示したように)幅2aの写真オブジェクトを考え、それがy軸に関してθだけ回転されているとする。写真オブジェクトが水平方向にdx1301だけスクロールされ、回転された面内で横移動され、写真オブジェクトが観察面に投影された場合に同じ寸法に見えるように幅が2a’に拡大されたとすると、解くべき問題は、a’1302と倍率を求めることである。
【0062】
相似の三角形から、次の関係が得られる。
【0063】
【数5】
【0064】
dz=dxtanθであるので、次の解が得られる。
【0065】
【数6】
【0066】
図14は例示的実施形態に従って操作されたスライドの写真を示す図である。スライド1401の写真は、1402に示すように調整することができる。
【0067】
図15は例示的実施形態の実装によって操作されたホワイトボードの写真を示す図である。ホワイトボードの写真1501は、1502のように調整することができる。
【0068】
図16は、例示的一実施形態に従った、純粋な3Dモードを実装した場合のフローチャートを示す。タッチディスプレイ上に、ジェスチャまたはマルチタッチジェスチャ、またはそのほかの方法で、ユーザから命令が入力される(1600)。命令が処理されて、文書画像の調整命令であるかどうかが判定される(1601)。文書画像の調整命令であれば、調整手段が、ユーザ入力に従って文書を調整する(1602)。ここでは、操作手段が、入力された命令に従って文書画像を処理し、補正手段が、画像のスクロール、ドラッグ、または回転による幾何歪みに対する補正を行う調整を行う。調整命令でない場合には、別の命令をチェックしてそれが実行される。例えば、例示的実施形態が、表示された画像に関する(メタデータなどの)情報を保存するための命令どうかを判定する場合(1603)、そのような情報の保存のための命令であれば、情報が保存される(1604)。情報保存の命令でなければ、代わりに別の命令が処理される(1605)。
【0069】
図17は例示的一実施形態による、3Dモードが実装された状態での2D画像のレンダリングのフローチャートを示す図である。この実装は、純粋な3Dモードの場合に似ているが、いくつかの顕著な違いがある。文書画像の調整の命令であれば、ビューポート内に目標オブジェクトを含む3Dビューポートを生成することを含む生成手段が呼び出され、3Dビューポートを生成する(1701)。それを使って、ユーザはタッチディスプレイ上に、ジェスチャまたはマルチタッチジェスチャ、またはそのほかの方法で命令を入力し、この入力は受信手段により受け付けられ、次に、調整手段が、入力された命令に従って3Dビューポート内の目標オブジェクトの調整を行う(1702)。調整手段では、操作手段が、入力された命令に従って3Dビューポート内の目標オブジェクトの画像を処理し、そして、補正手段が、画像のスクロール、ドラッグ、または回転による幾何歪みに対する補正を行う。ユーザが目標オブジェクトを所望通りに調整し終えると、レンダリング手段が、調整されたオブジェクトの2D画像をレンダリングして(3Dビューポート内に表示して)(1703)、3Dビューポートが終了する(1704)。続けて、レンダリングされた2D画像が、調整された目標オブジェクトとして表示される。命令が保存命令であれば、レンダリングされた2D画像がユーザの今後の参考のために保存される(1705)。
【0070】
図18は例示的一実施形態による、3Dビューポートでの目標オブジェクトの調整のフローチャートを示す図である。3Dビューポート内で命令が解析されて、幾何変換(1801)か、スクロール(1803)か、または別の命令(1605)かが判定される。目標オブジェクトの幾何変換の命令である場合には、適切な幾何変換(例えば、回転、伸張、拡大、など)が実行される(1802)。命令が目標オブジェクトのスクロール(1803)であれば、スクロール命令が解析されて、オブジェクトの回転軸に沿うスクロールか否かが検討される(1804)。スクロールがオブジェクトの回転軸に沿うものである場合(例えば回転軸に平行であるような場合)、スクロールがスキュー補正を伴って実行される(1805)。これはニュートン法を利用して行われてもよい。スクロールがオブジェクトの回転軸に沿うものではない場合には、伸張補正を伴ってスクロールが実行される(1806)。あるいはまた、スクロールが目標オブジェクトの回転軸に直交でも平行でもない場合には、伸張とスキューの両方に対する補正が実行される。
【0071】
図19は、本発明による方法の実施形態を実装することが可能なコンピュータ/サーバシステム1900の実施形態を示すブロック図である。システム1900は、当業者には周知のように、命令の実行を行うプロセッサ1902とメモリ1903を含むコンピュータ/サーバプラットフォーム1901を備える。本明細書で用いられる「コンピュータ可読媒体」という用語は、プロセッサ1902に実行命令を与えることに関与する任意の媒体を指す。更に、コンピュータプラットフォーム1901は、キーボード、マウス、タッチデバイス、マルチタッチデバイスまたは音声命令などの複数の入力装置1904からの入力を受信する。コンピュータプラットフォーム1901はさらに、ポータブルハードディスク装置、光学媒体(CDまたはDVD)、ディスク媒体、またはコンピュータが実行可能なコードを読み込むことができるその他の任意の媒体などのリムーバブル記憶装置1905に接続されていてもよい。コンピュータプラットフォームは更に、インターネットやその他のローカルな公共または私的なネットワーク部品に繋がるネットワークリソース1906に接続されていてもよい。ネットワークリソース1906は、ネットワーク1907上のリモートロケーションから命令およびデータをコンピュータプラットフォームへ供給してもよい。ネットワークリソース1906への接続は、802.11標準やBluetooth(登録商標)やセルラープロトコル等の無線プロトコル経由で、または、ケーブルやファイバ光学部品などの物理的伝送媒体経由であってもよい。ネットワークリソースは、コンピュータプラットフォーム1901から隔離された場所にデータ及び実行可能な命令を格納するための記憶装置を含んでいてもよい。コンピュータはディスプレイ1908と対話して、データおよびその他の情報をユーザへ出力したり、ユーザからの追加の指示と入力を要求したりする。従ってディスプレイ1908は、ユーザと対話するための入力装置1904として更に作用してもよい。
【0072】
さらに、ここに開示した本発明の明細書を考察し、本発明を実施すれば、本発明の他の実装が当業者には明らかとなるであろう。前述の実施形態の様々な態様及び/又は構成要素は、画像識別システムに単独もしくは任意の組み合わせで使用することが可能である。明細書及び実施例は例示としてのみ理解されるべきであり、本発明の真の範囲と精神は添付の特許請求の範囲によって示されるものとする。
【符号の説明】
【0073】
1902 プロセッサ
1903 メモリ
1904 入力装置
1905 リムーバブル記憶装置
1906 ネットワークリソース
1907 ネットワーク
1908 ディスプレイ
【技術分野】
【0001】
本発明は、画像キャプチャリングのシステムおよび方法に関し、より具体的には文書を含む画像の処理方法及び装置に関する。
【背景技術】
【0002】
文書の画像をキャプチャする方法として、図1に示すようにデジタルカメラまたはスマートフォン(高機能携帯電話)の利用がある。これらの文書の写真は、平面走査をするスキャナに比べると、遠近方向のひずみ、捩じれ、照度むらなどの様々な問題点を含んでいる。
【0003】
このような問題を調整するための対話型または自動のシステムがいくつか存在する。例えば、デジタルカメラには台形歪み補正機能(keystone correction)を有するものがある。写真を見るときに、ユーザが台形歪み補正のコマンドをメニューから選択することができる。そのようなシステムにおいては、台形を構成する辺の組が自動的に検出される。ユーザは所望の台形の辺を(矢印ボタンで)選択して、メニューコマンドにより画像が直交する辺をもつ四角形になるように補正を行う。新しい画像が生成され、同時に原画像も保存される。
【0004】
透視変換などの種々の補正機能を利用するそのほかのシステムもあるが、初心者には複雑すぎるかもしれない。ユーザが画像を選択し、透視変換のコマンドへ進む。アンカーポイントが現れ、それをユーザが所望の位置へドラッグする。アンカーポイントは、連動する対辺のアンカーポイントに連結されている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本明細書で記述する本発明の特定の例示的実施形態は、画像調整の従来技術に関する上述及びその他の問題の1つ又は複数を実質的に取り除くための方法及び装置に関する。
【課題を解決するための手段】
【0006】
本発明の第1の態様によれば、文書を含む画像の処理方法であって、生成手段が、画像の3次元ビューポートを生成することと、調整手段が、前記生成された3次元ビューポート内の前記画像上で前記画像の調整を指示するジェスチャを直接受信すると、前記ジェスチャに従って前記画像を調整することと、を含む、文書を含む画像の処理方法が提供される。
【0007】
本発明の第2の態様によれば、第1の態様において、レンダリング手段が、前記調整画像を2次元画像としてレンダリングし、前記画像を2次元ビューポート上に表示することをさらに含む。
【0008】
本発明の第3の態様によれば、第1の態様において、前記調整のためのジェスチャが前記画像の回転または伸張の命令である場合、前記ジェスチャに従って回転または伸張を実行する。
【0009】
本発明の第4の態様によれば、第1の態様において、前記調整のためのジェスチャが前記画像をスクロールするための命令である場合、前記スクロールが前記画像の回転軸に沿うものかどうかを判定する。
【0010】
本発明の第5の態様によれば、第4の態様において、前記スクロールが前記画像の回転軸に沿うものである場合に、前記ジェスチャに従って前記画像をスクロールし、幾何変換用の数値アルゴリズムを利用してスキューの補正を行う。
【0011】
本発明の第6の態様によれば、第4の態様において、前記スクロールが前記画像の回転軸に沿うものでない場合には、前記ジェスチャに従ってスクロールを行い、前記スクロールに基づいて前記画像の伸張の補正を行う。
【0012】
本発明の第7の態様によれば、文書の画像の処理方法であって、生成手段が、文書の画像の3次元ビューポートを生成することと、受信手段が、ジェスチャによる命令を受信することと、調整手段が、前記命令が前記画像をスクロールすることである場合、前記ジェスチャに従って前記画像のスクロールを行い、該スクロール中に幾何変換用の数値アルゴリズムを利用して幾何歪みを補正することと、を含む、文書の画像の処理方法が提供される。
【0013】
本発明の第8の態様によれば、第7の態様において、前記命令が前記画像のドラッグである場合、前記ジェスチャに従って前記画像のドラッグを行い、該ドラッグ中に幾何歪みを補正する。
【0014】
本発明の第9の態様によれば、第7の態様において、前記スクロールが前記画像の回転軸に沿う場合、前記幾何歪みの補正は、幾何変換用の数値アルゴリズムを適用したスキューの補正を含む。
【0015】
本発明の第10の態様によれば、第7の態様において、前記スクロールが前記画像の回転軸に直交する場合、前記幾何歪みの補正は、前記スクロールに基づく前記画像の伸張の補正を含む。
【0016】
本発明の第11の態様によれば、第7の態様において、前記スクロールが前記画像の回転軸に直交でも平行でもない場合、前記幾何歪みの補正は、伸張の補正とスキューの補正を含む。
【0017】
本発明の第12の態様によれば、第11の態様において、前記スキューの補正は、ニュートン法を利用することを含む。
【0018】
本発明の第13の態様によれば、文書の画像を3次元ビューポートに表示することが可能なタッチディスプレイと、前記タッチディスプレイ上の前記3次元ビューポート内に表示された画像上への直接のジェスチャを受信すると、前記ジェスチャに従って前記画像を処理する操作手段と、前記画像の操作により生じた前記画像のスクロール、ドラッグ、または回転による幾何歪みに対する前記画像の補正を行う補正手段と、を備える装置が提供される。
【0019】
本発明の第14の態様によれば、第13の態様において、調整された画像をレンダリングして2次元画像とするレンダリング手段をさらに備え、前記タッチディスプレイは、前記2次元画像を2次元ビューポート上に表示可能である。
【0020】
本発明の第15の態様によれば、第13の態様において、前記スクロールが前記画像の回転軸に直交する場合、前記補正手段は、前記スクロールに基づく前記画像の伸張を補正することにより幾何歪みの補正を行う。
【0021】
本発明の第16の態様によれば、第13の態様において、前記スクロールが前記画像の回転軸に沿う場合、前記補正手段は、キュー補正のために幾何変換用の数値アルゴリズムを適用して幾何歪みを補正する。
【0022】
本発明の第17の態様によれば、第13の態様において、前記スクロールが前記画像の回転軸に直交でも平行でもない場合、前記補正手段は、伸張の補正とスキューの補正とによって幾何歪みを補正する。
【0023】
本発明の第18の態様によれば、第13の態様において、前記操作手段は、マルチタッチジェスチャを含むジェスチャを受信すると、前記画像の回転により前記画像を操作し、前記マルチタッチジェスチャは、前記画像をその場所に保持するための前記画像上への第1の直接タッチと、前記画像を回転させる第2のタッチとを含む。
【0024】
本発明の第19の態様によれば、第13の態様において、前記操作手段は、マルチタッチのジェスチャを含むジェスチャを受信すると、座標軸に沿う前記画像の拡大縮小により前記画像を操作し、前記マルチタッチジェスチャは、前記画像を伸張して座標軸に沿って前記画像を拡大縮小するために画像上を直接4回タッチすることを含む。
【0025】
例示的実施形態の更なる態様は、以下の記述で部分的に説明され、また以下の記述で部分的に明らかとなり、または例示的実施形態の実施により習得されるであろう。例示的実施形態の態様は、以下の詳細な説明及び添付の特許請求の範囲において特に指摘された要素、及び種々の要素と態様との組合せによって、実現及び達成することができる。
【0026】
上記及び以下の記述はいずれも、単に例示及び説明を目的とするものであり、実施形態またはその適用を限定することは全く意図されていないことを理解されたい。
【発明の効果】
【0027】
3次元ビューポートにおける画像を処理するための方法及び装置を提供することができる。
【図面の簡単な説明】
【0028】
本明細書に組み込まれ本明細書の一部をなす添付の図面が実施形態を例示し、説明と相俟って例示的実施形態の説明及び例示に供する。
【図1】ある角度で文書の写真を撮影している例を示す図である。
【図2】遠近方向のひずみを持つ文書の写真の一例を示す図である。
【図3】例示的一実施形態による、写真オブジェクト中の文書の調整を示す図である。
【図4】例示的一実施形態による、調整の実行に利用される例示的ジェスチャを示す図である。
【図5】例示的一実施形態による、読めるようにするための文書画像の拡大を示す図である。
【図6】画像を垂直にスクロールする場合のスキューと例示的一実施形態によるそのスキューの補正の比較を示す図である。
【図7】例示的一実施形態による、座標平面の中心原点に配置された図3(a)の写真オブジェクトを示す図である。
【図8】例示的一実施形態による、y軸を中心に角度θだけ回転された写真オブジェクトの側面図である。
【図9】例示的一実施形態による、y軸を中心に角度θだけ既に回転され、次にx軸を中心に角度−ψだけ回転させようとする写真オブジェクトの側面図である。
【図10】例示的一実施形態による、写真オブジェクトのパラメータから回転角の初期推定値を計算するためのパラメータを示す図である。
【図11】水平軸方向への画像のスクロールを示す図である。
【図12】画像を水平スクロールすることによって生じる可能性のある伸張を示す図である。
【図13】例示的一実施形態による、写真オブジェクトの平面図から考慮される例示的パラメータを示す図である。
【図14】例示的実施形態の実装により操作されたスライドの写真を示す図である。
【図15】例示的実施形態の実装により操作されたホワイトボードの写真を示す図である。
【図16】例示的一実施形態による、別個の2Dモードがない、純粋な3Dビューポートのフローチャートを示す図である。
【図17】例示的一実施形態による、3Dビューポートモードの活用に関連する2D画像のレンダリングのフローチャートを示す図である。
【図18】例示的一実施形態による、ビューポートにおける調整のフローチャートを示す図である。
【図19】本発明による方法の実施形態を実装することが可能なコンピュータ/サーバシステムの一実施形態を示すブロック図である。
【発明を実施するための形態】
【0029】
以下の詳細な説明においては添付の図面を参照する。ここで、同一の機能的要素は同様の符号で示される。前述の添付図面は、本発明の原理に整合する例示的実施形態および実装を例示するものであり、それに限定するためのものではない。これらの実装は、当業者が例示的実施形態を実行できるように十分詳細に説明される。また、例示的実施形態の範囲及び趣旨を逸脱することなしに、他の実装が利用されてもよいこと、及び様々な要素の構造上の変更及び/又は代用が行われてもよいことを理解されたい。従って、以下の詳細な記述は本発明を制限するものとして解釈されるべきではない。更に、記載の実施形態は、汎用コンピュータ上で実行されるソフトウェア、専用ハードウェア、あるいはソフトウェアとハードウェアの組合せ、のいずれの形態において実装されてもよい。
【0030】
電子装置上にキャプチャまたは表示された文書の画像を、電子装置と対話して操作または補正する公知の方法にはいくつかの欠点がある。例えば、従来のシステムでは、文書の画像を作業する際に入力と出力で異なるモードを使用しなければならないことが多い。これは文書との円滑な対話を阻害するばかりでなく、対話がモード選択の誤りになりやすくなる。また、従来のシステムで文書画像の操作に利用される制御ポイントまたは制御セグメントは、ユーザインタフェースが明快な設計となることを阻む。例えば、従来のシステムにおいて制御ポイントやラインなどのような小さな目標物をタッチスクリーン上で選択することは困難である(いわゆる“指太問題”)。さらに、制御ポイントと制御セグメントを利用するには(マウスのクリックやドラッグなどの)余計な操作を必要とする。さらには、そのような制御ポイントとセグメントを利用すると余分な画像が生成され、また、文書を読みやすくするためには高分解能を必要とするので、文書の写真の収集量の増大と共にこの余分な画像がメモリの相当な量を占める可能性が出てくる。
【0031】
従来のシステムには自動的な調整法も存在するが、これらの方法では文書を囲む四角形の端が写真の中に見えていることを必要とするものが多い。また、従来の方法ではそのページ中のテキストの行の検出結果を利用するものもあるが、これは絵や図や手書きのものに対してはうまく機能しない。したがって、従来技術のシステムには、自動的な補正方法はあっても、機能しないことがある。
【0032】
このような問題に対処するために、本発明の例示的実施形態にはいくつかの特徴がある。1)キャプチャ画像の表示に、標準的な2次元(2D)ビューポートではなく3次元(3D)ビューポートを利用する。2)3Dビューポート内のキャプチャ画像の処理/調整を行う際に、制御ポイントやセグメントを利用するのではなく、ジェスチャとマルチタッチジェスチャを利用する。3)画像歪みの補正には、モバイル装置での使用が困難な大規模な処理能力を必要とする処理ではなく、3Dビューポート内での数値的方法(ニュートン法など)を利用する。これにより、本発明の例示的実施形態では、モードなしの円滑な対話が可能であり、制御ポイントやセグメントを排除し、新規に高分解能画像を生成するのではなく少量のメタデータを生成してそのシーンのビューを特定する。マルチタッチディスプレイと3Dグラフィックスとを利用することで、例示的実施形態では直感的かつ円滑な調整用の対話型技術とすることが可能である。マルチタッチディスプレイにより、ユーザはジェスチャの豊富な表現力を用いて(例えば文書の写真などの)画像オブジェクトを直接操作することが可能となる。透視画法的なカメラのレンダリング機構を用いて画像オブジェクトを3Dシーン/ビューポートに配置することにより、ユーザは3Dビューポート内のシーンにおける画像オブジェクトを操作するだけで遠近歪みを簡単に補正することができる。
【0033】
以前のシステムでは、調整を行うためにビューポートとして2次元の四角形の観察領域を利用していた。しかし、それによってオブジェクトの操作はxとyの次元のみに限られていた。本発明の例示的実施形態では、ビューポートとして文書の画像に対して新たな3次元の観察領域を生成して、ユーザがジェスチャとマルチタッチジェスチャで調整を実行できるようにし、また、3D領域での操作を可能とした。本発明の例示的実施形態は、x、y、zの次元を利用して数値的手法を実行する。これは従来のシステムに比べると計算負荷が小さい。
【0034】
特定の実施形態では、遠近歪み(台形歪みとも言う)の問題に焦点を絞って調整を行う。これは、図1に示すように、文書の写真が斜めから撮られた場合に発生する。斜めから写真を撮影することは、立ち上がって撮影することに比べれば簡単であるばかりでなく、ユーザまたはカメラが文書の真上にある場合にできやすい文書上の影を防いでくれる。遠近歪みが起きるそのほかの一般的な場面としては、名刺、ホワイトボード、スライド、サインの撮影などがある。
【0035】
図2は、例示的実施形態による、グラフィカルユーザインタフェース(GUI)アプリケーションでの遠近歪みの有る文書写真の一例を示す。図2のこの写真は、図1に示した状況で撮影されたものである。GUIアプリケーションの中心となるのは、文書の写真を3Dのシーンとして表示する3Dビューポートである。
【0036】
図3(a)〜(c)は例示的一実施形態による、写真オブジェクトの調整を示している。調整を実行するには、写真オブジェクトを最初に3Dビューポート内で回転させて文書のコンテンツが正立するようにする(図3(a)を回転させて図3(b)の方向にする)。これは、文書のエッジが写真内に見えている場合には、図3(a)と図3(b)に示すように、この回転操作後には向かい合うエッジ同士が平行になるということである。
【0037】
図4(a)、(b)は例示的一実施形態による、図3(a)、(b)の調整の実行に利用できる例示的ジェスチャを示す。図4(a)では回転を行うマルチタッチジェスチャの例が示されている。この例では、ユーザは写真オブジェクトに1本の指で触れてそこに保持し、そして(反対側の手の)第2の指で右か左にドラッグして垂直軸を中心とする回転を行う。
【0038】
この回転操作の副作用として、図3(b)に示すように、文書のコンテンツが水平方向に圧縮されることがしばしばある。これを解決するためには、ユーザは伸張(一軸方向への拡大)を行って圧縮状態を解決する(図3(b)から図3(c)へ)。伸張のマルチタッチジェスチャの一例は、図4(b)に示すように(それぞれの手から二つずつの)四つの接触ポイントを利用する。ハードウェアが二つの接触ポイントしかサポートしていない場合には、伸張を行うジェスチャの一方法として、ツールバー(図2の201参照)にジェスチャの別の解釈を与えるボタンを配置させて、2つの接触ポイントを相互に離すか近づけるように動かす(代替解釈ではない通常の解釈では、これは摘まむか拡大することを表すジェスチャである)。
【0039】
図5(a)、(b)は例示的一実施形態による、3Dビューポート内の文書画像を拡大して判読可能にすることを示す図である。図5(a)に示すように、文書画像は拡大して判読可能とすることができる。拡大操作は、例えばピンチジェスチャなどで実行することができ、図5(b)に示すように、拡大された文書の詳細部分を示すことも可能である。ノイズ除去処理がなされてないにもかかわらず、結果は判読可能なことが多い。
【0040】
ところで、ユーザはビューポートの周りに普通あるスクロールバーを利用するか、またはそのページにタッチしてドラッグすることによって、ページ内をスクロールしようとすることがある。
【0041】
これを実現する一つの手法は、2Dビューポートと3Dビューポートの両方を利用する方法である。この場合、3Dビューポートはユーザが遠近補正をし、観察用の新しい画像を生成するための特別なモードとして存在し、補正のあとは元のモードである2Dビューポートに戻るというものである。しかし、この手法には、複数のUIメタファ、モードが必要であること、生成画像による大量のメモリ占有などのように、ユーザにとって複雑さが増すという欠点がある。より技術的な問題点としては、ディスプレイ上にきれいな変換画像を作成するためのレンダリング・パイプラインは、グラフィカル・プロセシング・ユニット(GPU)などの専用のグラフィックハードウェアを活用しているが、プラットフォームによっては(例えばWINDOWS(登録商標) 7)、それがビットマップを処理するためのソフトウェア・レンダリング・パイプラインとは異なっていて、その結果、ソフトウェア・レンダリング・パイプラインが画像品質の顕著な劣化(例えば、アンチエイリアシングの劣化)をもたらす場合がある。
【0042】
透視図法のレンダリングにおいて3Dシーン内でスクロールすると、3Dグラフィックスにいくつかの問題が生じる。垂直方向にスクロールした場合の例について以下に述べる。参考のために、3Dグラフィックスの座標の標準的表記は以下のようになっている。x軸(以下、水平軸ともいう)はスクリーンに向かって右向き、y軸(以下、垂直軸ともいう)はスクリーンに向かって上向き、そしてz軸はスクリーンの外向き(スクリーンに向かったときの手前向き)である。
【0043】
図6(a)〜(e)は、画像を垂直にスクロールする場合のスキューと、例示的一実施形態によるそのスキューの補正との比較を示す図である。
【0044】
図6を参照すると、垂直軸(y軸)を中心にある角度θだけ回転して調整された図6(a)に示す画像をもとにスクロールすると、図6(a)を上方向へスクロールして図6(b)となり、上方向に再度スクロールして図6(c)となるにつれて、スキューが出てくる。このスキューは、水平軸(x軸)を中心に別の角度ψだけ回転させることにより補正できる。図6(a)を上方向に補正有りでスクロールしたものが図6(d)であり、さらにそれを上方向にスクロールしたものが図6(e)となっている。この回転角ψはスクロール値dyによって変わり、回転角ψとスクロール値dyとの関係は単純ではない。
【0045】
与えられたスクロール値dyと角度θに対する角度ψを計算する例示的実施形態による方法では、まずこれらの方程式を導出する。これは、これらの角度の正弦と余弦を含む項となるが、ψに関する単純な式になるようには見えない。正弦関数と余弦関数は微分可能なので、ニュートン法などの数値解析法を適用できる。
【0046】
図7は例示的一実施形態による、座標平面の中心原点に配置された図3(a)の写真オブジェクトを示す図である。まず、幅w、高さhの写真オブジェクト700が図7の701で示すシーンの原点(0,0,0)に配置される。これは図3(a)のシーンに対応している。
【0047】
図8は例示的一実施形態に従って、y軸を中心に角度θだけ回転させた写真オブジェクト800の側面図である。最初に、目または透視カメラが801で示す点(0,0,d)にあるとし、観察面はxy平面に平行な固定位置にあるものとする。ユーザが、文書のコンテンツを調整するために802に示すようにオブジェクトを角度θだけ回転すると、右上の隅から延びる内角αを持つ直線が観察面に水平線として投影されるような内角αが存在する。
【0048】
図9は例示的一実施形態による、y軸を中心に角度θだけ既に回転させて、次にx軸を中心に角度−ψだけ回転させようとする写真オブジェクト900の側面図である。ここで、図9に示すようにパラメータa,b,αとスクロール距離dyが与えられたとして、スクロール補正のための大きさψの回転角が計算される。角度ψは、点P’とQ’とが観察面上に同じ高さに射影される条件を満足する必要がある。すなわち、等価的には、側面図から点の集合{E’,P’,Q’}が同一直線状になければならない。目がビューポートの中心を介してオブジェクトから同一の距離にあるために、線分E’P’とE’Q’が同一の傾斜である。
【0049】
三角法を利用して、下記の表式が導かれる。
【0050】
【数1】
ここで、f(ψ)はψと(τ+ψ)の三角関数の多項式であり、ここでもパラメータb,d,h,dyが含まれている。陽関数表示すると次の様になる。
【数2】
【0051】
式(2)はψに関する簡単な式にはならないので、f(ψ)=0を数値的に解く必要がある。f(ψ)=0は、ニュートン法などのアルゴリズムを適用して数値的に解くことが可能である。反復アルゴリズムであるニュートン法を利用するためには、導関数f’(ψ)を求め、解の初期推定値をψ0とする。ニュートン法によれば、反復数列{ψn}が次の漸化式で定義される。
【0052】
【数3】
【0053】
導関数f’(ψ)は、上記の式(2)で与えられるf(ψ)から、三角関数の微分に関する基本公式と、合成関数の導関数に関する連鎖律とを利用して求めることができる。
【0054】
解の初期推定値ψ0は図9の粗い近似で求められる。
【0055】
図10は、例示的一実施形態による、写真オブジェクト1000のパラメータから回転角を近似するためのパラメータを示している。角度を推定する一方法が図10に示されており、これから次式が得られる。
【0056】
【数4】
【0057】
例示的実施形態の実装において、項の計算は、連続する項の間の差がε=0.00001より小さくなるまで行われる。これには数百回の反復が必要であるが、ユーザがスクロールバーを繰り返しクリックする際にリアルタイムの対話として十分高速に実行される。
【0058】
図11(a)〜(c)は画像の水平軸方向へのスクロールを示している。図11(a)の文書の画像は、3次元ビューポート内を図11(b)に示すように右に移動させ、次に図11(c)に示すように左に移動させて、どのような歪みが生じるかを判定する。水平方向のスクロールは垂直方向に比べてはるかに単純であることが分かる。歪みは垂直方向のスクロールの場合とは異なっており、スキューの問題は予想されない。この様子は図11(a)の画像を右にスクロールした図11(b)と左にスクロールした図11(c)とが示されている。
【0059】
図12は、画像を補正なしで水平方向へスクロールした場合(1201)に生じる伸張と、伸張補正された場合(1202)の画像とを示している。水平スクロールした場合の歪みは、1201に示すように、水平方向の伸張となって現れやすい。
【0060】
図12の1201に示された伸張を補正し、1202のようなきちんと調整された画像を得るために、まず図13に示す平面図を検討してみる。
【0061】
図13は、例示的一実施形態による、写真オブジェクトの平面図において考慮される例示的パラメータを示す図である。(図7に示したように)幅2aの写真オブジェクトを考え、それがy軸に関してθだけ回転されているとする。写真オブジェクトが水平方向にdx1301だけスクロールされ、回転された面内で横移動され、写真オブジェクトが観察面に投影された場合に同じ寸法に見えるように幅が2a’に拡大されたとすると、解くべき問題は、a’1302と倍率を求めることである。
【0062】
相似の三角形から、次の関係が得られる。
【0063】
【数5】
【0064】
dz=dxtanθであるので、次の解が得られる。
【0065】
【数6】
【0066】
図14は例示的実施形態に従って操作されたスライドの写真を示す図である。スライド1401の写真は、1402に示すように調整することができる。
【0067】
図15は例示的実施形態の実装によって操作されたホワイトボードの写真を示す図である。ホワイトボードの写真1501は、1502のように調整することができる。
【0068】
図16は、例示的一実施形態に従った、純粋な3Dモードを実装した場合のフローチャートを示す。タッチディスプレイ上に、ジェスチャまたはマルチタッチジェスチャ、またはそのほかの方法で、ユーザから命令が入力される(1600)。命令が処理されて、文書画像の調整命令であるかどうかが判定される(1601)。文書画像の調整命令であれば、調整手段が、ユーザ入力に従って文書を調整する(1602)。ここでは、操作手段が、入力された命令に従って文書画像を処理し、補正手段が、画像のスクロール、ドラッグ、または回転による幾何歪みに対する補正を行う調整を行う。調整命令でない場合には、別の命令をチェックしてそれが実行される。例えば、例示的実施形態が、表示された画像に関する(メタデータなどの)情報を保存するための命令どうかを判定する場合(1603)、そのような情報の保存のための命令であれば、情報が保存される(1604)。情報保存の命令でなければ、代わりに別の命令が処理される(1605)。
【0069】
図17は例示的一実施形態による、3Dモードが実装された状態での2D画像のレンダリングのフローチャートを示す図である。この実装は、純粋な3Dモードの場合に似ているが、いくつかの顕著な違いがある。文書画像の調整の命令であれば、ビューポート内に目標オブジェクトを含む3Dビューポートを生成することを含む生成手段が呼び出され、3Dビューポートを生成する(1701)。それを使って、ユーザはタッチディスプレイ上に、ジェスチャまたはマルチタッチジェスチャ、またはそのほかの方法で命令を入力し、この入力は受信手段により受け付けられ、次に、調整手段が、入力された命令に従って3Dビューポート内の目標オブジェクトの調整を行う(1702)。調整手段では、操作手段が、入力された命令に従って3Dビューポート内の目標オブジェクトの画像を処理し、そして、補正手段が、画像のスクロール、ドラッグ、または回転による幾何歪みに対する補正を行う。ユーザが目標オブジェクトを所望通りに調整し終えると、レンダリング手段が、調整されたオブジェクトの2D画像をレンダリングして(3Dビューポート内に表示して)(1703)、3Dビューポートが終了する(1704)。続けて、レンダリングされた2D画像が、調整された目標オブジェクトとして表示される。命令が保存命令であれば、レンダリングされた2D画像がユーザの今後の参考のために保存される(1705)。
【0070】
図18は例示的一実施形態による、3Dビューポートでの目標オブジェクトの調整のフローチャートを示す図である。3Dビューポート内で命令が解析されて、幾何変換(1801)か、スクロール(1803)か、または別の命令(1605)かが判定される。目標オブジェクトの幾何変換の命令である場合には、適切な幾何変換(例えば、回転、伸張、拡大、など)が実行される(1802)。命令が目標オブジェクトのスクロール(1803)であれば、スクロール命令が解析されて、オブジェクトの回転軸に沿うスクロールか否かが検討される(1804)。スクロールがオブジェクトの回転軸に沿うものである場合(例えば回転軸に平行であるような場合)、スクロールがスキュー補正を伴って実行される(1805)。これはニュートン法を利用して行われてもよい。スクロールがオブジェクトの回転軸に沿うものではない場合には、伸張補正を伴ってスクロールが実行される(1806)。あるいはまた、スクロールが目標オブジェクトの回転軸に直交でも平行でもない場合には、伸張とスキューの両方に対する補正が実行される。
【0071】
図19は、本発明による方法の実施形態を実装することが可能なコンピュータ/サーバシステム1900の実施形態を示すブロック図である。システム1900は、当業者には周知のように、命令の実行を行うプロセッサ1902とメモリ1903を含むコンピュータ/サーバプラットフォーム1901を備える。本明細書で用いられる「コンピュータ可読媒体」という用語は、プロセッサ1902に実行命令を与えることに関与する任意の媒体を指す。更に、コンピュータプラットフォーム1901は、キーボード、マウス、タッチデバイス、マルチタッチデバイスまたは音声命令などの複数の入力装置1904からの入力を受信する。コンピュータプラットフォーム1901はさらに、ポータブルハードディスク装置、光学媒体(CDまたはDVD)、ディスク媒体、またはコンピュータが実行可能なコードを読み込むことができるその他の任意の媒体などのリムーバブル記憶装置1905に接続されていてもよい。コンピュータプラットフォームは更に、インターネットやその他のローカルな公共または私的なネットワーク部品に繋がるネットワークリソース1906に接続されていてもよい。ネットワークリソース1906は、ネットワーク1907上のリモートロケーションから命令およびデータをコンピュータプラットフォームへ供給してもよい。ネットワークリソース1906への接続は、802.11標準やBluetooth(登録商標)やセルラープロトコル等の無線プロトコル経由で、または、ケーブルやファイバ光学部品などの物理的伝送媒体経由であってもよい。ネットワークリソースは、コンピュータプラットフォーム1901から隔離された場所にデータ及び実行可能な命令を格納するための記憶装置を含んでいてもよい。コンピュータはディスプレイ1908と対話して、データおよびその他の情報をユーザへ出力したり、ユーザからの追加の指示と入力を要求したりする。従ってディスプレイ1908は、ユーザと対話するための入力装置1904として更に作用してもよい。
【0072】
さらに、ここに開示した本発明の明細書を考察し、本発明を実施すれば、本発明の他の実装が当業者には明らかとなるであろう。前述の実施形態の様々な態様及び/又は構成要素は、画像識別システムに単独もしくは任意の組み合わせで使用することが可能である。明細書及び実施例は例示としてのみ理解されるべきであり、本発明の真の範囲と精神は添付の特許請求の範囲によって示されるものとする。
【符号の説明】
【0073】
1902 プロセッサ
1903 メモリ
1904 入力装置
1905 リムーバブル記憶装置
1906 ネットワークリソース
1907 ネットワーク
1908 ディスプレイ
【特許請求の範囲】
【請求項1】
文書を含む画像の処理方法であって、
生成手段が、画像の3次元ビューポートを生成することと、
調整手段が、前記生成された3次元ビューポート内の前記画像上で前記画像の調整を指示するジェスチャを直接受信すると、前記ジェスチャに従って前記画像を調整することと、
を含む、
文書を含む画像の処理方法。
【請求項2】
レンダリング手段が、前記調整画像を2次元画像としてレンダリングし、前記画像を2次元ビューポート上に表示することをさらに含む、
請求項1に記載の方法。
【請求項3】
前記調整のためのジェスチャが前記画像の回転または伸張の命令である場合、前記ジェスチャに従って回転または伸張を実行する、
請求項1に記載の方法。
【請求項4】
前記調整のためのジェスチャが前記画像をスクロールするための命令である場合、前記スクロールが前記画像の回転軸に沿うものかどうかを判定する、
請求項1に記載の方法。
【請求項5】
前記スクロールが前記画像の回転軸に沿うものである場合に、前記ジェスチャに従って前記画像をスクロールし、幾何変換用の数値アルゴリズムを利用してスキューの補正を行う、
請求項4に記載の方法。
【請求項6】
前記スクロールが前記画像の回転軸に沿うものでない場合には、前記ジェスチャに従ってスクロールを行い、前記スクロールに基づいて前記画像の伸張の補正を行う、
請求項4に記載の方法。
【請求項7】
文書の画像の処理方法であって、
生成手段が、文書の画像の3次元ビューポートを生成することと、
受信手段が、ジェスチャによる命令を受信することと、
調整手段が、前記命令が前記画像をスクロールすることである場合、前記ジェスチャに従って前記画像のスクロールを行い、該スクロール中に幾何変換用の数値アルゴリズムを利用して幾何歪みを補正することと、
を含む、
文書の画像の処理方法。
【請求項8】
前記命令が前記画像のドラッグである場合、前記ジェスチャに従って前記画像のドラッグを行い、該ドラッグ中に幾何歪みを補正する、
請求項7に記載の方法。
【請求項9】
前記スクロールが前記画像の回転軸に沿う場合、前記幾何歪みの補正は、幾何変換用の数値アルゴリズムを適用したスキューの補正を含む、
請求項7に記載の方法。
【請求項10】
前記スクロールが前記画像の回転軸に直交する場合、前記幾何歪みの補正は、前記スクロールに基づく前記画像の伸張の補正を含む、
請求項7に記載の方法。
【請求項11】
前記スクロールが前記画像の回転軸に直交でも平行でもない場合、前記幾何歪みの補正は、伸張の補正とスキューの補正を含む、
請求項7に記載の方法。
【請求項12】
前記スキューの補正は、ニュートン法を利用することを含む、
請求項11に記載の方法。
【請求項13】
文書の画像を3次元ビューポートに表示することが可能なタッチディスプレイと、
前記タッチディスプレイ上の前記3次元ビューポート内に表示された画像上への直接のジェスチャを受信すると、前記ジェスチャに従って前記画像を処理する操作手段と、
前記画像の操作により生じた前記画像のスクロール、ドラッグ、または回転による幾何歪みに対する前記画像の補正を行う補正手段と、
を備える装置。
【請求項14】
調整された画像をレンダリングして2次元画像とするレンダリング手段をさらに備え、
前記タッチディスプレイは、前記2次元画像を2次元ビューポート上に表示可能である、
請求項13に記載の装置。
【請求項15】
前記スクロールが前記画像の回転軸に直交する場合、前記補正手段は、前記スクロールに基づく前記画像の伸張を補正することにより幾何歪みの補正を行う、
請求項13に記載の装置。
【請求項16】
前記スクロールが前記画像の回転軸に沿う場合、前記補正手段は、キュー補正のために幾何変換用の数値アルゴリズムを適用して幾何歪みを補正する、
請求項13に記載の装置。
【請求項17】
前記スクロールが前記画像の回転軸に直交でも平行でもない場合、前記補正手段は、伸張の補正とスキューの補正とによって幾何歪みを補正する、
請求項13に記載の装置。
【請求項18】
前記操作手段は、マルチタッチジェスチャを含むジェスチャを受信すると、前記画像の回転により前記画像を操作し、
前記マルチタッチジェスチャは、前記画像をその場所に保持するための前記画像上への第1の直接タッチと、前記画像を回転させる第2のタッチとを含む、
請求項13に記載の装置。
【請求項19】
前記操作手段は、マルチタッチのジェスチャを含むジェスチャを受信すると、座標軸に沿う前記画像の拡大縮小により前記画像を操作し、
前記マルチタッチジェスチャは、前記画像を伸張して座標軸に沿って前記画像を拡大縮小するために画像上を直接4回タッチすることを含む、
請求項13に記載の装置。
【請求項1】
文書を含む画像の処理方法であって、
生成手段が、画像の3次元ビューポートを生成することと、
調整手段が、前記生成された3次元ビューポート内の前記画像上で前記画像の調整を指示するジェスチャを直接受信すると、前記ジェスチャに従って前記画像を調整することと、
を含む、
文書を含む画像の処理方法。
【請求項2】
レンダリング手段が、前記調整画像を2次元画像としてレンダリングし、前記画像を2次元ビューポート上に表示することをさらに含む、
請求項1に記載の方法。
【請求項3】
前記調整のためのジェスチャが前記画像の回転または伸張の命令である場合、前記ジェスチャに従って回転または伸張を実行する、
請求項1に記載の方法。
【請求項4】
前記調整のためのジェスチャが前記画像をスクロールするための命令である場合、前記スクロールが前記画像の回転軸に沿うものかどうかを判定する、
請求項1に記載の方法。
【請求項5】
前記スクロールが前記画像の回転軸に沿うものである場合に、前記ジェスチャに従って前記画像をスクロールし、幾何変換用の数値アルゴリズムを利用してスキューの補正を行う、
請求項4に記載の方法。
【請求項6】
前記スクロールが前記画像の回転軸に沿うものでない場合には、前記ジェスチャに従ってスクロールを行い、前記スクロールに基づいて前記画像の伸張の補正を行う、
請求項4に記載の方法。
【請求項7】
文書の画像の処理方法であって、
生成手段が、文書の画像の3次元ビューポートを生成することと、
受信手段が、ジェスチャによる命令を受信することと、
調整手段が、前記命令が前記画像をスクロールすることである場合、前記ジェスチャに従って前記画像のスクロールを行い、該スクロール中に幾何変換用の数値アルゴリズムを利用して幾何歪みを補正することと、
を含む、
文書の画像の処理方法。
【請求項8】
前記命令が前記画像のドラッグである場合、前記ジェスチャに従って前記画像のドラッグを行い、該ドラッグ中に幾何歪みを補正する、
請求項7に記載の方法。
【請求項9】
前記スクロールが前記画像の回転軸に沿う場合、前記幾何歪みの補正は、幾何変換用の数値アルゴリズムを適用したスキューの補正を含む、
請求項7に記載の方法。
【請求項10】
前記スクロールが前記画像の回転軸に直交する場合、前記幾何歪みの補正は、前記スクロールに基づく前記画像の伸張の補正を含む、
請求項7に記載の方法。
【請求項11】
前記スクロールが前記画像の回転軸に直交でも平行でもない場合、前記幾何歪みの補正は、伸張の補正とスキューの補正を含む、
請求項7に記載の方法。
【請求項12】
前記スキューの補正は、ニュートン法を利用することを含む、
請求項11に記載の方法。
【請求項13】
文書の画像を3次元ビューポートに表示することが可能なタッチディスプレイと、
前記タッチディスプレイ上の前記3次元ビューポート内に表示された画像上への直接のジェスチャを受信すると、前記ジェスチャに従って前記画像を処理する操作手段と、
前記画像の操作により生じた前記画像のスクロール、ドラッグ、または回転による幾何歪みに対する前記画像の補正を行う補正手段と、
を備える装置。
【請求項14】
調整された画像をレンダリングして2次元画像とするレンダリング手段をさらに備え、
前記タッチディスプレイは、前記2次元画像を2次元ビューポート上に表示可能である、
請求項13に記載の装置。
【請求項15】
前記スクロールが前記画像の回転軸に直交する場合、前記補正手段は、前記スクロールに基づく前記画像の伸張を補正することにより幾何歪みの補正を行う、
請求項13に記載の装置。
【請求項16】
前記スクロールが前記画像の回転軸に沿う場合、前記補正手段は、キュー補正のために幾何変換用の数値アルゴリズムを適用して幾何歪みを補正する、
請求項13に記載の装置。
【請求項17】
前記スクロールが前記画像の回転軸に直交でも平行でもない場合、前記補正手段は、伸張の補正とスキューの補正とによって幾何歪みを補正する、
請求項13に記載の装置。
【請求項18】
前記操作手段は、マルチタッチジェスチャを含むジェスチャを受信すると、前記画像の回転により前記画像を操作し、
前記マルチタッチジェスチャは、前記画像をその場所に保持するための前記画像上への第1の直接タッチと、前記画像を回転させる第2のタッチとを含む、
請求項13に記載の装置。
【請求項19】
前記操作手段は、マルチタッチのジェスチャを含むジェスチャを受信すると、座標軸に沿う前記画像の拡大縮小により前記画像を操作し、
前記マルチタッチジェスチャは、前記画像を伸張して座標軸に沿って前記画像を拡大縮小するために画像上を直接4回タッチすることを含む、
請求項13に記載の装置。
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2013−80466(P2013−80466A)
【公開日】平成25年5月2日(2013.5.2)
【国際特許分類】
【出願番号】特願2012−208139(P2012−208139)
【出願日】平成24年9月21日(2012.9.21)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成25年5月2日(2013.5.2)
【国際特許分類】
【出願日】平成24年9月21日(2012.9.21)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]