IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ワコムの特許一覧

<>
  • 特開-画像処理方法及び情報処理装置 図1
  • 特開-画像処理方法及び情報処理装置 図2
  • 特開-画像処理方法及び情報処理装置 図3
  • 特開-画像処理方法及び情報処理装置 図4
  • 特開-画像処理方法及び情報処理装置 図5
  • 特開-画像処理方法及び情報処理装置 図6
  • 特開-画像処理方法及び情報処理装置 図7
  • 特開-画像処理方法及び情報処理装置 図8
  • 特開-画像処理方法及び情報処理装置 図9
  • 特開-画像処理方法及び情報処理装置 図10
  • 特開-画像処理方法及び情報処理装置 図11
  • 特開-画像処理方法及び情報処理装置 図12
  • 特開-画像処理方法及び情報処理装置 図13
  • 特開-画像処理方法及び情報処理装置 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023038195
(43)【公開日】2023-03-16
(54)【発明の名称】画像処理方法及び情報処理装置
(51)【国際特許分類】
   H04N 7/15 20060101AFI20230309BHJP
   G06F 3/04883 20220101ALI20230309BHJP
   G06T 11/80 20060101ALI20230309BHJP
【FI】
H04N7/15
G06F3/04883
G06T11/80 A
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022203866
(22)【出願日】2022-12-21
(62)【分割の表示】P 2022554349の分割
【原出願日】2021-12-16
(31)【優先権主張番号】P 2020208723
(32)【優先日】2020-12-16
(33)【優先権主張国・地域又は機関】JP
(31)【優先権主張番号】P 2021163158
(32)【優先日】2021-10-02
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000139403
【氏名又は名称】株式会社ワコム
(74)【代理人】
【識別番号】100130982
【弁理士】
【氏名又は名称】黒瀬 泰之
(72)【発明者】
【氏名】加藤 龍憲
(72)【発明者】
【氏名】武部 佳文
(72)【発明者】
【氏名】坂井 清一
(72)【発明者】
【氏名】山本 定雄
(72)【発明者】
【氏名】渡辺 直樹
(57)【要約】
【課題】暫定画像とストリーミング映像内に現れるペンストローク画像とで、外観を合わせることを可能にする。
【解決手段】コンピュータ1,2により実行される画像描画方法であって、コンピュータ2が、第1のレンダリング処理により生成されたペンストローク画像を含むストリーミング映像SVを送信するステップS24と、コンピュータ1が、第1のレンダリング処理と共有された第2のレンダリング処理を第1のレンダリング処理と並列に実行することによりペンストローク画像PS2を生成するステップS25と、コンピュータ1が、遅延の発生する通信を経由してコンピュータ2からストリーミング映像SVを受信し、ペンストローク画像PS2を合成して出力するステップS27と、を含む。
【選択図】図7
【特許請求の範囲】
【請求項1】
リモート側装置及びローカル側装置により実行される画像描画方法であって、
前記リモート側装置が、第1のレンダリング処理により生成された画像を含むストリーミング映像を送信するステップと、
前記ローカル側装置が、前記第1のレンダリング処理と共有された第2のレンダリング処理を前記第1のレンダリング処理と並列に実行することにより暫定画像を生成するステップと、
前記ローカル側装置が、遅延の発生する通信を経由して前記リモート側装置から前記ストリーミング映像を受信し、前記暫定画像を合成して出力するステップと、
を含む画像処理方法。
【請求項2】
前記遅延は、ネットワーク遅延、画像圧縮符号化遅延、バッファリング遅延のうちのいずれか少なくとも1つを含む、
請求項1に記載の画像処理方法。
【請求項3】
前記ローカル側装置は、ペンの指示位置を検出して前記リモート側装置に送信するよう構成され、
前記第1のレンダリング処理及び前記第2のレンダリング処理はそれぞれ、一連の前記指示位置に基づいてペンストローク画像を描画する処理である、
請求項1又は2に記載の画像処理方法。
【請求項4】
前記第1のレンダリング処理と前記第2のレンダリング処理との共有は、前記ペンストローク画像を描画する際に参照されるペン先属性を前記ローカル側装置と前記リモート側装置とで共有することを含む、
請求項3に記載の画像処理方法。
【請求項5】
前記ペン先属性は、前記ペンのペン先の形状を含む、
請求項4に記載の画像処理方法。
【請求項6】
前記ペン先属性は、前記ペンストローク画像の描画色を含む、
請求項4に記載の画像処理方法。
【請求項7】
前記ペン先属性は、前記ペンに関する情報に基づいてペンストロークの属性を導出するための関数を含む、
請求項4に記載の画像処理方法。
【請求項8】
前記ペンに関する情報は筆圧値を含み、
前記ペンストロークの属性は線幅を含む、
請求項7に記載の画像処理方法。
【請求項9】
前記ペン先属性は、パーティクル散乱により前記ペンストローク画像を描画する場合の乱数シードを含む、
請求項4に記載の画像処理方法。
【請求項10】
前記ローカル側装置は、前記ペンを検出した後、少なくとも定期的に前記ペン先属性に関する情報を前記リモート側装置から受信する、
請求項4乃至9のいずれか一項に記載の画像処理方法。
【請求項11】
前記第1のレンダリング処理と前記第2のレンダリング処理との共有は、前記ペンストロークの描画領域を前記ローカル側装置と前記リモート側装置とで共有することを含む、
請求項3乃至10のいずれか一項に記載の画像処理方法。
【請求項12】
前記第2のレンダリング処理は、前記ペンストローク画像を前記描画領域内に描画する処理である、
請求項11に記載の画像処理方法。
【請求項13】
前記ローカル側装置は、前記ペンのペンダウン位置が前記描画領域内にある場合に、前記第2のレンダリング処理を実行する、
請求項11又は12に記載の画像処理方法。
【請求項14】
前記ローカル側装置は、前記ペンのペンダウンからペンアップまでの間、前記描画領域を固定して前記第2のレンダリング処理を実行する、
請求項11乃至13のいずれか一項に記載の画像処理方法。
【請求項15】
前記ローカル側装置が、前記ストリーミング映像に合成した暫定画像を消去するステップ、
を含む請求項1乃至14のいずれか一項に記載の画像処理方法。
【請求項16】
前記ローカル側装置は、前記暫定画像のうち生成から所定時間が経過した部分を消去していくことにより、前記消去するステップを実行する、
請求項15に記載の画像処理方法。
【請求項17】
前記所定時間は、前記リモート側装置により設定される、
請求項16に記載の画像処理方法。
【請求項18】
前記所定時間は、前記遅延の時間長に応じて設定される、
請求項16又は17に記載の画像処理方法。
【請求項19】
前記ローカル側装置は、前記暫定画像のうち前記ストリーミング映像内に現れた部分を消去していくことにより、前記消去するステップを実行する、
請求項15乃至18のいずれか一項に記載の画像処理方法。
【請求項20】
前記リモート側装置は、前記ローカル側装置から順次受信されるペンの指示位置のうち前記第1のレンダリング処理が開始されたものを示す情報を前記ローカル側装置に対して送信するよう構成され、
前記ローカル側装置は、前記暫定画像のうち前記リモート側装置からの情報により前記第1のレンダリング処理の開始が示された前記指示位置に対応する部分を消去していくことにより、前記消去するステップを実行する、
請求項15乃至19のいずれか一項に記載の画像処理方法。
【請求項21】
前記第2のレンダリング処理により描画されるペンストローク画像である第2のペンストローク画像は、前記第1のレンダリング処理により描画されるペンストローク画像である第1のペンストローク画像と形状が一致する一方、模様及び色彩のいずれか一方又はこれらの組み合わせが前記第1のペンストローク画像と異なるペンストローク画像である、
請求項3に記載の画像処理方法。
【請求項22】
前記ローカル側装置が、前記ストリーミング映像に合成した暫定画像を消去するステップ、を含み、
前記消去ステップが前記暫定画像の消去を行う時点で表示されているペンストローク画像のうち、前記第1のペンストローク画像に相当する部分と、前記第2のペンストローク画像に相当する部分とで、模様及び色彩のいずれか一方又はこれらの組み合わせが異なる、
請求項21に記載の画像処理方法。
【請求項23】
前記色彩は、透明度を含む、
請求項22に記載の画像処理方法。
【請求項24】
前記ローカル側装置は、2色以上の多色混在の模様を用いて前記第2のペンストローク画像を生成する
請求項21乃至23のいずれか一項に記載の画像処理方法。
【請求項25】
前記ローカル側装置は、前記リモート側装置から取得した前記第1のペンストローク画像の描画色を特定する情報に基づいて、前記第2のペンストローク画像の描画色を決定する、
請求項21乃至24のいずれか一項に記載の画像処理方法。
【請求項26】
前記ローカル側装置は、描画領域の背景色に基づいて、前記第2のペンストローク画像の描画色を決定する、
請求項21乃至25のいずれか一項に記載の画像処理方法。
【請求項27】
前記ローカル側装置は、前記第1のペンストローク画像が線を描画するためのストロークではない特殊ストロークである場合に、輪郭線によって前記第2のペンストローク画像を描画する、
請求項21乃至26のいずれか一項に記載の画像処理方法。
【請求項28】
前記第2のレンダリング処理により描画されるペンストローク画像である第2のペンストローク画像は、前記第1のレンダリング処理により描画されるペンストローク画像である第1のペンストローク画像と軌跡が一致する一方、形状が前記第1のペンストローク画像と異なるペンストローク画像である、
請求項3に記載の画像処理方法。
【請求項29】
前記ローカル側装置が、前記第2のペンストローク画像の生成方法を設定するための設定画面をディスプレイに表示するステップ、を含み、
前記第2のレンダリング処理は、前記第1のレンダリング処理と前記第2のレンダリング処理との共有が完了するまでの間、前記設定画面により設定された生成方法を用いて前記第2のペンストローク画像を描画する、
請求項20乃至28のいずれか一項に記載の画像処理方法。
【請求項30】
前記表示するステップは、所定のスイッチの状態が第1の状態に変化したことに応じて前記設定画面の表示を行い、
前記ローカル側装置は、前記所定のスイッチの状態が前記第1の状態に変化したことを前記リモート側装置に通知しない、
請求項29に記載の画像処理方法。
【請求項31】
前記ローカル側装置は、
前記ペンの指示位置を含む前記ペンに関する複数のデータを前記リモート側装置に送信するとともに、該複数のデータそれぞれの送信の可否を示すフラグ情報を記憶し、
前記ローカル側装置のディスプレイに表示中の情報に応じて前記フラグ情報を制御し、
前記複数のデータのうち前記フラグ情報により送信否が示されるデータを前記リモート側装置に送信しない、
請求項3に記載の画像処理方法。
【請求項32】
前記リモート側装置及び前記ローカル側装置は互いに別体のコンピュータである、
請求項1乃至31のいずれか一項に記載の画像処理方法。
【請求項33】
前記ローカル側装置はコンピュータの中央処理装置であり、
前記リモート側装置は、前記ローカル側装置内で動作する仮想マシンである、
請求項1乃至31のいずれか一項に記載の画像処理方法。
【請求項34】
前記ローカル側装置はコンピュータ内に設けられた集積回路であり、
前記リモート側装置は前記コンピュータの中央処理装置である、
請求項1乃至31のいずれか一項に記載の画像処理方法。
【請求項35】
前記ローカル側装置はコンピュータの中央処理装置であり、
前記リモート側装置はウェブブラウザ上で動作するアプリケーションである、
請求項1乃至31のいずれか一項に記載の画像処理方法。
【請求項36】
前記ローカル側装置はペン入力装置を含み、
前記暫定画像を生成するステップは、前記ペン入力装置内の集積回路によって実行される、
請求項1乃至31のいずれか一項に記載の画像処理方法。
【請求項37】
前記ペン入力装置は表示装置を含み、
前記ペン入力装置は、前記暫定画像を合成して出力するステップとは別に、前記暫定画像を前記表示装置に出力するステップを実行する、
請求項36に記載の画像処理方法。
【請求項38】
前記ローカル側装置はコンピュータを含み、
前記コンピュータは、前記リモート側装置からペン先属性を示す情報を受信し、受信した前記ペン先属性に前記ペン入力装置が対応していない場合に、前記暫定画像の生成場所を前記ペン入力装置から前記コンピュータに切り替える、
請求項36又は37に記載の画像処理方法。
【請求項39】
リモート側装置及びローカル側装置により実行される画像描画方法であって、
前記リモート側装置が、ストリーミング映像を送信するステップと、
前記リモート側装置が、前記ストリーミング映像内の描画領域を示す描画領域情報を送信するステップと、
前記ローカル側装置が、前記リモート側装置から前記描画領域情報を受信するステップと、
前記ローカル側装置が、前記ストリーミング映像内に暫定的に表示するための暫定画像を生成するステップと、
前記ローカル側装置が、前記ストリーミング映像のうち前記描画領域情報により示される領域に前記暫定画像を合成して出力するステップと、
を含む画像処理方法。
【請求項40】
前記リモート側装置は、前記ストリーミング映像内の描画領域が変更された場合に、前記描画領域情報を再送信する、
請求項39に記載の画像処理方法。
【請求項41】
前記ローカル側装置は、前記リモート側装置からの前記描画領域情報によって前記描画領域の変更が示される場合に、前記暫定画像を消去する、
請求項40に記載の画像処理方法。
【請求項42】
前記暫定画像はペンストロークを含む画像であり、
前記リモート側装置は、前記ペンストロークを含む画像を生成するためのアプリケーションが前記リモート側装置内においてフォアグラウンドになったことに応じて、前記描画領域情報を送信する
請求項39乃至41のいずれか一項に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像描画方法に関し、特に、リモート会議の共有画面においてペン入力を行うための画像描画方法に関する。
【背景技術】
【0002】
最近、複数のコンピュータを通信回線により相互に接続して行うリモート会議が多用されるようになっている。この種のリモート会議においては、あるコンピュータで開いている画面を他のコンピュータでも見られるように「共有」することが広く行われている。この場合、画面を共有したコンピュータ(以下「リモート側装置」と称する)からその他のコンピュータ(以下「ローカル側装置」と称する)に対し、共有している画面のストリーミング映像が送信されることになる。
【0003】
また、タブレット端末などのペン入力に対応するコンピュータにおいては、ホストプロセッサの処理遅延によるペンストロークの描画への影響を軽減するため、ペンの位置を検出するセンサコントローラから表示用プロセッサに対し、ホストプロセッサを介さず直接ペンの位置を供給する処理を行う場合がある。特許文献1~3には、このような処理を行うコンピュータの例が開示されている。このうち特許文献1には、センサコントローラからホストプロセッサ及び表示用プロセッサの両方に位置を供給し、ホストプロセッサによって生成される画像にペンストロークが現れるまでの間、表示用プロセッサが一時的にペンストロークを描画することが記載されている。
【0004】
また、ペン入力を行うにあたり、ペン先のサイズ、形状、色などのペン先属性を設定可能に構成する技術が知られている。特許文献4,5には、そのような技術の例が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許第9721365号明細書
【特許文献2】国際公開第2020/136729号公報
【特許文献3】米国特許第8564555号明細書
【特許文献4】米国特許公開第2005-0162413号明細書
【特許文献5】米国特許第9792517号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上述したリモート会議においては、リモート側装置から送信されてくるストリーミング映像に対して、ローカル側装置からペン入力を行う場合がある。この場合、ローカル側装置が行うのは、センサコントローラにより検出されたペンの位置をリモート側装置に逐次送信する処理までであり、ペンストロークのレンダリングとストリーミング映像への合成はリモート側装置によって実行される。しかし、この処理によれば、ペンストロークがストリーミング映像に反映されるまでに無視できない量の遅延が発生するため、本願の発明者は、特許文献1~3に記載の技術を応用し、ストリーミング映像内にペンストロークが現れるまでの間、ローカル側装置において一時的にペンストロークを描画することを検討している。以下、この一時的な描画処理によって描かれるペンストロークの画像を「暫定画像」と称する。
【0007】
しかしながら、特許文献1~3に記載の技術は簡易な表示用プロセッサでの描画処理を前提としたものであり、特許文献4,5に記載されるようなペン先属性を考慮した高度な描画処理には対応していない。そうすると、暫定画像と最終的にストリーミング映像内に現れるペンストローク画像とで外観の異なる場合が生じてしまうので、改善が必要とされていた。
【0008】
したがって、本発明の目的の一つは、暫定画像とストリーミング映像内に現れるペンストローク画像とで外観を合わせることのできる画像描画方法を提供することにある。
【0009】
また、ストリーミング映像は、例えばメニューバーなど、ペンストロークを描画する領域として適切でない領域を含むことが一般的である。しかしながら、特許文献1~3に記載の技術によれば、ローカル側装置はペンストロークの描画に適したストリーミング映像内の領域(以下「描画領域」と称する)を判別できず、ユーザのペンの動きによっては描画領域外にも暫定画像が描画されてしまうことになるため、改善が必要とされていた。
【0010】
したがって、本発明の目的の他の一つは、暫定画像が描画領域外に描画されてしまうことを防止できる画像描画方法を提供することにある。
【課題を解決するための手段】
【0011】
本発明の第1の側面による画像処理方法は、リモート側装置及びローカル側装置により実行される画像描画方法であって、前記リモート側装置が、第1のレンダリング処理により生成された画像を含むストリーミング映像を送信するステップと、前記ローカル側装置が、前記第1のレンダリング処理と共有された第2のレンダリング処理を前記第1のレンダリング処理と並列に実行することにより暫定画像を生成するステップと、前記ローカル側装置が、遅延の発生する通信を経由して前記リモート側装置から前記ストリーミング映像を受信し、前記暫定画像を合成して出力するステップと、を含む画像処理方法である。
【0012】
本発明の第2の側面による画像処理方法は、リモート側装置及びローカル側装置により実行される画像描画方法であって、前記リモート側装置が、ストリーミング映像を送信するステップと、前記リモート側装置が、前記ストリーミング映像内の描画領域を示す描画領域情報を送信するステップと、前記ローカル側装置が、前記リモート側装置から前記描画領域情報を受信するステップと、前記ローカル側装置が、前記ストリーミング映像内に暫定的に表示するための暫定画像を生成するステップと、前記ローカル側装置が、前記ストリーミング映像のうち前記描画領域情報により示される領域に前記暫定画像を合成して出力するステップと、を含む画像処理方法である。
【発明の効果】
【0013】
本発明の第1の側面によれば、ローカル側装置により実行される第2のレンダリング処理がリモート側装置により実行される第1のレンダリング処理と共有されているので、ローカル側装置は、ペン先属性を考慮した高度な描画処理を用いて暫定画像を描画することが可能になる。
【0014】
本発明の第2の側面によれば、暫定画像を合成する領域を描画領域情報により示される領域に制限できるので、描画領域外における暫定画像の描画を制限することが可能になる。
【図面の簡単な説明】
【0015】
図1】本発明の第1の実施の形態による画像処理方法を実行するコンピュータ1,2のシステム構成を示す図である。
図2】(a)は、ストリーミング映像SV及びデスクトップ映像DV1,DV1aの例を示す図であり、(b)は、ユーザがペン入力を行っている最中におけるストリーミング映像SV及びデスクトップ映像DV1,DV1aの例を示す図である。
図3】レンダリング処理を行うために描画アプリケーション36が必要とするデータのフォーマットを示す図である。
図4】(a)は、アプリ状態情報ASのフォーマットを示す図であり、(b)は、描画アプリウインドウ位置情報GAWPのフォーマットを示す図である。
図5】描画領域A3の内部へのペンストローク画像PS2の描画の例を示す図である。
図6】本発明の第1の実施の形態による画像処理方法のシーケンスを示す図である。
図7】本発明の第1の実施の形態による画像処理方法のシーケンスを示す図である。
図8】(a)及び(b)はそれぞれ、ユーザがペン入力を行っている最中におけるストリーミング映像SV及びデスクトップ映像DV1,DV1aの例を示す図である。
図9】(a)~(c)は、ペンストローク画像PS1と形状は一致しつつも、模様及び色彩のいずれか一方又はこれらの組み合わせが異なるペンストローク画像PS2の例を示す図であり、(d)は、ペンストローク画像PS1と軌跡(形状の中心線)は一致しつつも、形状が異なるペンストローク画像PS2の例を示す図である。
図10】ペンストローク画像PS1が特殊ストロークを表すものである場合におけるペンストローク画像PS1,PS2の例を示す図である。
図11】本発明の第2の実施の形態による画像処理方法を示すシーケンスを示す図である。
図12】本発明の第3の実施の形態による画像処理方法を示すシーケンスを示す図である。
図13】本発明の第4の実施の形態による画像処理方法を実行するコンピュータ3のシステム構成を示す図である。
図14】本発明の第5の実施の形態による画像処理方法を実行するコンピュータ1,2のシステム構成を示す図である。
【発明を実施するための形態】
【0016】
以下、添付図面を参照しながら、本発明の実施の形態について詳細に説明する。
【0017】
図1は、本発明の第1の実施の形態による画像処理方法を実行するコンピュータ1,2のシステム構成を示す図である。コンピュータ1,2はそれぞれ、例えばパーソナルコンピュータ、タブレット端末、スマートフォンなどの、個人用として用いられる情報処理装置である。コンピュータ1,2のそれぞれには所定の会議アプリケーションがインストールされており、コンピュータ1,2は、この会議アプリケーションを通じて相互にリモート会議を行う。会議アプリケーションの種類は特に限定されないが、本実施の形態においては、一方のコンピュータ(リモート側装置)の画面(デスクトップ画面又はアプリケーションのウインドウ)を他方のコンピュータ(ローカル側装置)に共有する機能を有するものを用いる。
【0018】
本実施の形態では、コンピュータ1がローカル側装置であり、コンピュータ2がリモート側装置であるとする。リモート側装置であるコンピュータ2のユーザが自身のデスクトップ画面を共有するための所定の操作を行うと、ローカル側装置であるコンピュータ1のデスクトップ画面内に、コンピュータ2のデスクトップ画面が表示される。以下では、コンピュータ1のデスクトップ画面を構成する映像をデスクトップ映像DV1と称し、コンピュータ2のデスクトップ画面を構成する映像をデスクトップ映像DV2と称する。また、デスクトップ映像DV1内におけるデスクトップ映像DV2の配置領域を、仮想デスクトップ領域VDI(後述する図2を参照)と称する。
【0019】
コンピュータ1は、自身のデスクトップ画面内の仮想デスクトップ領域VDIに対し、ペンPによるペン入力を受け付ける機能を有している。具体的には、仮想デスクトップ領域VDI内におけるペンPの指示位置を検出する処理と、筆圧値等のデータをペンPから受信する処理と、検出した指示位置及び受信したデータを含むペンデータPDをコンピュータ2に供給する処理とを実行可能に構成される。ペンデータPDの供給を受けたコンピュータ2は、供給されたペンデータPDに基づいてペンストローク画像PS1を生成し、デスクトップ映像DV2内に表示する処理を行う。仮想デスクトップ領域VDIにはデスクトップ映像DV2が表示されているので、これらの一連の処理により、ペンPによって入力されたペンストロークがコンピュータ1,2それぞれのデスクトップ画面内に表示されることになる。
【0020】
図1には、コンピュータ1,2がそれぞれ有する構成のうち、以上の各処理に関連するものを図示している。以下、図1を参照しながら、コンピュータ1,2の構成及び動作について詳しく説明する。
【0021】
コンピュータ1,2はそれぞれ、プロセッサ20、通信装置21、入力装置22、ビデオデバイス23、ディスプレイ24を有して構成される。また、コンピュータ1は、ペン入力装置25をさらに有して構成される。
【0022】
プロセッサ20はコンピュータ1,2それぞれの中央処理装置であり、オペレーティングシステム、各種のデバイスドライバ、各種のアプリケーションを構成するプログラムを図示しないメモリから読み出して実行するように構成される。図1においてプロセッサ20内に示した各部は、対応するプログラムをプロセッサ20が実行することによって実現される機能部を示している。
【0023】
具体的に説明すると、コンピュータ1のプロセッサ20によって実現される機能部には、入力装置22のデバイスドライバであるUSB(Universal Serial Bus)デバイスドライバ30と、ペン入力装置25のデバイスドライバであるUSBデバイスドライバ31と、USBデバイスドライバ31を介してペン入力装置25を制御するタブレットドライバ32と、タブレットドライバ32から供給される情報に基づいてペンストローク画像PS2を描画するレンダリングエンジン33と、他のコンピュータとの間でのリモート会議を実現する会議アプリケーション35とが含まれる。また、コンピュータ2のプロセッサ20によって実現される機能部には、USBデバイスドライバ30、タブレットドライバ32、及び会議アプリケーション35の他、レンダリングエンジン33のコンピュータ2内におけるエージェントとして機能するレンダリングエンジンエージェント34と、タブレットドライバ32から供給される情報に基づいてペンストローク画像PS1を描画する描画アプリケーション36とが含まれる。各機能部の動作の詳細については、後述する。
【0024】
通信装置21は、インターネットやアドホックネットワークを介して、他のコンピュータと通信する機能を有する装置である。この通信はOSI(Open Systems Interconnection)参照モデルに従って行われるもので、図示したディスプレイチャンネル40、データチャンネル41、タブレットチャンネル42、USBリダイレクトチャンネル43はそれぞれ、トランスポート層に設定されるチャンネルを示している。
【0025】
入力装置22は、例えばマウス又はキーボードである。USBデバイスドライバ30は、ユーザによる入力装置22の操作結果を示す操作情報を逐次取得し、プロセッサ20内の各機能部に供給するとともに、USBリダイレクトチャンネル43を介して、他のコンピュータのUSBデバイスドライバ30にも供給可能に構成される。他のコンピュータから操作情報を取得したUSBデバイスドライバ30は、自身に直接接続されている入力装置22から取得した操作情報と同様に、他のコンピュータからの操作情報をプロセッサ20内の各機能部に供給する処理を行う。
【0026】
ペン入力装置25は、ペンPによるペン入力を受け付ける装置である。典型的な例では、ペンPは平面における位置を指示する機能を有する棒状の指示体であり、その場合のペン入力装置25は、タッチ面を有するタッチセンサ及びセンサコントローラによって構成される。タッチセンサは、タッチ面に配置された複数のセンサ電極によって構成される。センサコントローラは、タッチセンサを利用してペンPの指示位置を示す2次元座標を検出するとともに、ペンPから筆圧値等のデータを受信するよう構成される。センサコントローラによるペンPの位置の検出方式は特に限定されないが、アクティブ静電方式又は電磁誘導方式を用いることが好適である。ペンPはXR空間内で3D入力を行うためのコントローラであってもよく、その場合のペン入力装置25は、XR空間内におけるペンPの指示位置を示す3次元座標を検出するとともに、ペンPから筆圧値等のデータを受信するよう構成される。
【0027】
ペン入力装置25は、ペンPの指示位置を検出する都度、検出したペンPの指示位置及びペンPから受信したデータを、USBデバイスドライバ31を介してタブレットドライバ32に供給するよう構成される。タブレットドライバ32は、ペン入力装置25から供給された指示位置及びデータを含むペンデータPDを生成し、レンダリングエンジン33に逐次供給するとともに、タブレットチャンネル42を介して他のコンピュータのタブレットドライバ32にも逐次供給するよう構成される。
【0028】
タブレットドライバ32はまた、自身が動作しているコンピュータのデスクトップ映像のうち、ペン入力装置25の入力を対応付ける部分に関する情報を取得するように構成される。具体的に説明すると、コンピュータ1のタブレットドライバ32は、デスクトップ映像DV1内における仮想デスクトップ領域VDIの位置及びサイズを示す仮想デスクトップ情報VDPを会議アプリケーション35又はオペレーティングシステムから取得し、レンダリングエンジン33に供給する処理を行う。また、コンピュータ2のタブレットドライバ32は、デスクトップ映像DV2内における描画アプリケーション36のウインドウWの位置及びサイズなどを示す描画アプリウインドウ位置情報GAWPを取得し、レンダリングエンジンエージェント34に供給する処理を行う。描画アプリウインドウ位置情報GAWPについては、後ほど別途詳しく説明する。
【0029】
ビデオデバイス23は、プロセッサ20の制御に従ってデスクトップに表示すべきデスクトップ映像を生成し、ディスプレイ24に供給する装置である。ディスプレイ24は、こうして供給されたデスクトップ映像を表示する役割を果たす。図1の例においては、コンピュータ1のビデオデバイス23はデスクトップ映像DV1を生成し、コンピュータ2のビデオデバイス23はデスクトップ映像DV2を生成する。詳しくは後述するが、コンピュータ1のビデオデバイス23は、コンピュータ2から送信されてくるストリーミング映像SVを含むデスクトップ映像DV1aをまず生成し、生成したデスクトップ映像DV1aにレンダリングエンジン33から供給されるペンストローク画像PS2を合成することにより、デスクトップ映像DV1を生成するよう構成される。
【0030】
ビデオデバイス23は、会議アプリケーション35の制御に応じて、自身が生成しているデスクトップ映像の一部又は全体を、ディスプレイチャンネル40を通じて他のコンピュータにストリーミング送信する処理も行う。図1に示したストリーミング映像SVは、こうしてコンピュータ2のビデオデバイス23が送信した映像を表している。
【0031】
図2(a)は、ストリーミング映像SV及びデスクトップ映像DV1,DV1aの例を示す図である。同図には、ストリーミング映像SVがデスクトップ映像DV2の全体によって構成され、かつ、レンダリングエンジン33がペンストローク画像PS2の供給を行っていない場合を示している。この場合、ストリーミング映像SVとデスクトップ映像DV2とが同一となり、デスクトップ映像DV1とデスクトップ映像DV1aとが同一となる。
【0032】
ストリーミング映像SV内に示しているウインドウWは、描画アプリケーション36によって生成され、デスクトップ映像DV2内に配置されるウインドウである。この例のように、デスクトップ映像DV2内には、各種のウインドウやアイコンが含まれる場合がある。共有の対象がデスクトップ映像DV2の全体である場合、これらのウインドウやアイコンはストリーミング映像SVにも含まれることとなる。一方、共有の対象がデスクトップ映像DV2内に表示されている特定のウインドウのみである場合、ストリーミング映像SVは、共有対象となったウインドウの映像のみによって構成される。
【0033】
ストリーミング映像SVは、デスクトップ映像DV1aに設けられた仮想デスクトップ領域VDIの中に配置される。コンピュータ1のビデオデバイス23は、会議アプリケーション35の制御に応じてデスクトップ映像DV1a内に仮想デスクトップ領域VDIを配置し、その中にストリーミング映像SVを配置するよう構成される。これにより、図2(a)のデスクトップ映像DV1に示すように、コンピュータ2のデスクトップ映像DV2の一部又は全体がコンピュータ1のディスプレイ24に表示されるので、コンピュータ1,2のユーザは、同じ画面を見ながらリモート会議を行えることになる。
【0034】
図1に戻る。会議アプリケーション35は、データチャンネル41を介して他のコンピュータの会議アプリケーション35と通信を行うことにより、複数のコンピュータの間でリモート会議を設定する機能を有する機能部である。コンピュータ2の会議アプリケーション35は、デスクトップ映像DV2の一部又は全体をストリーミング映像SVとしてコンピュータ1に送信するようビデオデバイス23を制御する処理も行う。また、コンピュータ1の会議アプリケーション35は、デスクトップ映像DV1内に仮想デスクトップ領域VDIを配置し、その中に、コンピュータ2から供給されるストリーミング映像SVを配置するようビデオデバイス23を制御する処理も行う。
【0035】
描画アプリケーション36は、タブレットドライバ32から供給されるペンデータPDに基づくレンダリング処理を行うことにより、ペンストローク画像PS1を生成する機能部である。描画アプリケーション36は、図2(a)に示したウインドウWを生成し、その中に、生成したペンストローク画像PS1を配置するよう構成される。ペンストローク画像PS1を含むウインドウWは、ビデオデバイス23によってデスクトップ映像DV2内に配置される。
【0036】
ウインドウWの内部構造について説明すると、図2(a)に示すように、ウインドウWは、メインエリアA1及びキャンパスエリアA2と、その他の領域(ヘッダー、フッター、ツールバー、各種プロパティパネルなど)とを含んで構成される。メインエリアA1は、キャンパスエリアA2を表示するための領域である。キャンパスエリアA2は、ユーザ操作により、メインエリアA1の中で拡大・縮小、回転、移動などの各種操作を行えるように構成される。キャンパスエリアA2は、ペンPによる描画を受け付ける領域(描画領域)である。描画アプリケーション36は、生成したペンストローク画像PS1がキャンパスエリアA2外に位置している部分を含む場合、その部分の描画を行わないよう構成される。したがって、ペンストローク画像PS1はキャンパスエリアA2の内側のみに配置される。
【0037】
デスクトップ映像DV2内に配置されたウインドウW、及び、その中に含まれるペンストローク画像PS1は、ストリーミング映像SVの全体又は一部として、コンピュータ1のディスプレイ24に表示されることになる。しかし、ペンPによるペン入力の結果がデスクトップ映像DV1に反映されるまでの過程では、コンピュータ1,2間の通信にかかるネットワーク遅延や、コンピュータ1,2内部の処理で発生する画像圧縮符号化遅延及びバッファリング遅延を含む各種の遅延が発生する。その結果、ペンPのペン先とコンピュータ1のディスプレイ24上に表示されるペンストローク画像PS1の先端との間に、無視できない程度の乖離が発生してしまう場合がある。本実施の形態による画像処理方法の目的の1つは、この乖離を小さくすることにある。
【0038】
図3は、描画アプリケーション36によって行われるレンダリング処理に関連する各種データのフォーマットを示す図である。同図に示すように、各種データには、ペンデータ、履歴データ、及びブラシデータが含まれる。描画アプリケーション36は、これらのデータに基づいて、ペンストローク画像PS1の描画を行う。
【0039】
ペンデータは、タブレットドライバ32から供給されるペンデータPDである。図3に示すように、ペンデータPDには、カーソル情報、ボタン情報、座標データ、筆圧値情報、エアブラシホイール情報、傾き情報、回転情報が含まれ得る。ペンデータPDは、一連のペンデータPD内における自身の順番を示すシリアル情報を含むこととしてもよい。
【0040】
カーソル情報は、ペンPによる操作の対象がカーソルであるか否かを示すとともに、カーソルでない場合(すなわち、ペンストロークを描画するためにペンPが操作されている場合)に、ペンPに設けられているスイッチ(例えば、ペンPの末端に配置されたテールスイッチ)が押下されているか否かを示す情報である。典型的な例では、カーソル情報は、ペンPによる操作の対象がカーソルである場合に0となり、ペンPによる操作の対象がカーソルでなくスイッチが押下されていない場合に1となり、ペンPによる操作の対象がカーソルでなくスイッチが押下されている場合に2となる。ペンPによる操作の対象がカーソルであることがカーソル情報により示される場合、描画アプリケーション36はペンストローク画像PS1の生成を行わない。
【0041】
ボタン情報は、ペンPに設けられているその他のスイッチのオンオフ状態を示す情報である。座標データは、ペン入力装置25のセンサコントローラによって検出されたペンPの位置を示す2次元又は3次元の座標である。筆圧値情報は、ペンPに設けられている圧力センサによって検出された筆圧値(ペンPの先端に加わる圧力の値)を示す情報である。筆圧値は、ペンPのペン先がタッチ面に接触している場合(ペンダウン中である場合)には0より大きい値となり、ペンPのペン先がタッチ面に接触していない場合(ホバー中である場合)には0となる。エアブラシホイール情報は、ペンPがエアブラシ型のものである場合に、ペンPの表面に設けられるホイールに印加された力を示す情報である。傾き情報は、タッチ面に対するペンPの傾きを示す情報である。回転情報は、ペンPのペン軸方向の回転量を示す情報である。
【0042】
履歴データは、ペンデータPDの履歴である。描画アプリケーション36は、一定時間分のペンデータPDを履歴データとして記憶しておくよう構成される。描画アプリケーション36は、ペンデータPD及び履歴データのそれぞれに含まれる一連の座標に基づいてベジエ曲線やキャットマル-ロム曲線などの曲線を導出し、ペンデータPD及び履歴データのそれぞれに含まれるその他のデータ並びに後述するブラシデータに基づいて曲線の属性(線幅、透明度、色など)を制御することにより、ペンストローク画像PS1の生成を行う。また、描画アプリケーション36は、後述する関数を計算する際に必要となる場合、ペンデータPD及び履歴データのそれぞれに含まれる一連の座標に基づいて、筆記速度の導出も行う。
【0043】
ブラシデータは、ペンPのペン先属性を示す情報であり、ユーザによって描画アプリケーション36に設定される。具体的に説明すると、ブラシデータは、関数情報、色情報、サイズ情報、ペン先形状情報、ブラシ選択解除情報、パターンビットマップ、粗密データ、粗密ランダム度、粗密乱数シード、向きデータ、向きランダム度、向き乱数シードを含んで構成される。
【0044】
関数情報は、筆圧値、傾き、筆記速度などのペンPに関する情報に基づいてペンストロークの属性(線幅、透明度、濃淡、粗密など)を導出するための関数を示す情報である。典型的な例では、関数情報は、筆圧値と線幅との関係を規定する関数を示す情報である。他にも、関数情報は、筆圧値及び筆記速度の組み合わせと線幅との関係を規定する関数を示す情報であるとしてもよいし、ペンPの傾き及び筆記速度の組み合わせと濃淡との関係を規定する関数を示す情報であるとしてもよいし、これらを含む複数の関数を示す情報であるとしてもよい。また、色情報は、ペンストローク画像の描画色(透明度を含む)を特定する情報である。サイズ情報は、ペンストロークの線幅の基準値(筆圧値変化に伴う線幅変化の基準値)を特定する情報である。サイズ情報に、同じ位置におけるペンPの滞在時間と線幅との関係を示す関数(例えば、同じ位置でのペンPの滞在時間が長いほど線幅を大きくすることにより、インクが滲んでいく様子を再現するための関数)を含むこととしてもよい。ペン先形状情報は、ボールペンタイプ、カラーマーカータイプなどのペン先の形状のタイプを特定する情報である。描画アプリケーション36による曲線の属性(線幅、透明度、色など)の制御は、これらの情報にも基づいて実行される。
【0045】
ブラシ選択解除情報は、領域選択や塗りつぶしなど、ペンストロークの描画を必要としないツールが選択されていることを示す情報である。ブラシ選択解除情報によりペンストロークの描画を必要としないツールの選択中であることが示されている場合、描画アプリケーション36はペンストローク画像PS1の生成を行わない。
【0046】
パターンビットマップ、粗密データ、粗密ランダム度、粗密乱数シード、向きデータ、向きランダム度、向き乱数シードは、描画アプリケーション36がパーティクル散乱によりペンストローク画像PS1を生成する際に参照される情報である。具体的に説明すると、パターンビットマップは、パーティクル散乱による曲線の個々のパーツを示す画像データである。粗密データはパターンビットマップの配置密度の基準値を示すデータであり、向きデータはパターンビットマップの配置の向きの基準値を示すデータである。描画アプリケーション36は、粗密データにより示される配置密度を中心としてランダムに決定される配置密度で、かつ、向きデータにより示される配置の向きを中心としてランダムに決定される配置の向きで、座標データに基づいて導出した曲線に沿ってパターンビットマップを配置することにより、パーティクル散乱によるペンストローク画像PS1を生成するように構成される。
【0047】
粗密ランダム度、粗密乱数シード、向きランダム度、向き乱数シードはそれぞれ、乱数を発生するための乱数発生器に設定される値である。ランダム度は、乱数生成器によって生成される疑似乱数列と理想的な乱数列との乖離度を示し、乱数シードは、乱数生成器に設定する初期値を示す。描画アプリケーション36は、粗密ランダム度及び粗密乱数シードを乱数生成器に設定することによって得られる擬似乱数に基づいてパターンビットマップの配置密度を決定し、向きランダム度及び向き乱数シードを乱数生成器に設定することによって得られる擬似乱数に基づいてパターンビットマップの配置の向きを決定するよう構成される。
【0048】
図1に戻る。描画アプリケーション36は、自身が行うレンダリング処理を特徴付けるアプリ状態情報ASを生成し、レンダリングエンジンエージェント34に対して供給する処理も行う。
【0049】
図4(a)は、アプリ状態情報ASのフォーマットを示す図である。同図に示すように、アプリ状態情報ASは、描画設定情報、キャンパスエリア情報を含んで構成される。
【0050】
描画設定情報は、レンダリング処理によって描画されるペンストロークの外観を特定する情報であり、ブラシデータ及びブラシパラメータ変更情報を含んで構成される。ブラシデータは、図3に示したブラシデータそのものである。ブラシパラメータ変更情報は、ブラシデータのうち前回のアプリ状態情報ASから変更されたものを特定する情報である。
【0051】
キャンパスエリア情報は、図2(a)に示したウインドウW内におけるキャンパスエリアA2(ペンPによる描画を受け付ける領域)に関する情報であり、初期状態情報、拡大・縮小情報、回転情報、移動情報、描画領域情報を含んで構成される。初期状態情報は、ウインドウW内におけるキャンパスエリアA2の位置・サイズの初期値を示す情報である。拡大・縮小情報は、初期状態情報により示される初期サイズからのキャンパスエリアA2の表示の拡大率を示す情報である。回転情報は、キャンパスエリアA2の回転角度を示す情報である。移動情報は、初期状態情報により示される初期位置からのキャンパスエリアA2の移動量を示す情報である。描画領域情報は、図2(a)に示した描画領域A3のキャンパスエリアA2内における位置・サイズ・形状・背景色を示す情報である。
【0052】
図1に戻る。レンダリングエンジンエージェント34はレンダリングエンジン33のエージェントとして機能する機能部であり、レンダリングエンジン33がペンストローク画像PS2の描画を開始する際に、レンダリングエンジン33にアタッチされる。レンダリングエンジンエージェント34は、タブレットドライバ32から描画アプリウインドウ位置情報GAWPを取得するとともに、描画アプリケーション36からアプリ状態情報ASを取得し、取得したこれらの情報を、タブレットチャンネル42を介してレンダリングエンジン33に供給するよう構成される。
【0053】
図4(b)は、描画アプリウインドウ位置情報GAWPのフォーマットを示す図である。同図に示すように、描画アプリウインドウ位置情報GAWPは、位置情報、サイズ情報、アクティブ情報、非アクティブ情報、メニュー開閉情報、子ウインドウ展開情報を含んで構成される。
【0054】
位置情報は、デスクトップ映像DV2内におけるウインドウWの位置を示す情報であり、サイズ情報は、ウインドウWの大きさを示す情報である。アクティブ情報は、ウインドウWがフォアグラウンドとなっている場合に真、そうでない場合に偽となる情報であり、非アクティブ情報は、ウインドウWがバックグラウンドとなっている場合に真、そうでない場合に偽となる情報である。アクティブ情報が偽となり、非アクティブ情報が真となっている場合、描画アプリケーション36はペン入力を受け付けない状態(ペンストローク画像PS1の生成を行わない状態)になっている。
【0055】
メニュー開閉情報は、ウインドウW内に設けられるメニューのうちの1つが開いた状態になっている場合に真、そうでない場合に偽となる情報である。子ウインドウ展開情報は、ウインドウW内に子ウインドウ(ファイル保存時のフォルダ選択画面、設定画面など)が開いている場合に真、そうでない場合に偽となる情報である。メニュー開閉情報が真となっている場合、及び、子ウインドウ展開情報が真となっている場合にも、描画アプリケーション36はペン入力を受け付けない状態(ペンストローク画像PS1の生成を行わない状態)になっている。
【0056】
図1に戻る。レンダリングエンジン33は、描画アプリケーション36の行うレンダリング処理(以下「第1のレンダリング処理」という)と共有されたレンダリング処理(以下「第2のレンダリング処理」という)を第1のレンダリング処理と並列に実行することにより、ペンストローク画像PS2(暫定画像)を生成する機能部である。第1のレンダリング処理と第2のレンダリング処理との共有は、要するに、ペンストローク画像PS2の外観をペンストローク画像PS1の外観に合わせるということであり、描画アプリウインドウ位置情報GAWP及びアプリ状態情報ASをコンピュータ1,2間で共有することを含む。
【0057】
より詳しく説明すると、レンダリングエンジン33は、タブレットドライバ32から供給される仮想デスクトップ情報VDPに基づいて、デスクトップ映像DV1内における仮想デスクトップ領域VDIの位置及びサイズを取得する。続いてレンダリングエンジン33は、レンダリングエンジンエージェント34から受信した描画アプリウインドウ位置情報GAWPに基づいて、仮想デスクトップ領域VDI内におけるウインドウWの位置・サイズを取得する。レンダリングエンジン33はさらに、レンダリングエンジンエージェント34から受信したアプリ状態情報AS内のキャンパスエリア情報に基づいて、ウインドウW内における描画領域A3の位置・サイズ・形状・背景色を取得する。レンダリングエンジン33は、こうして得た描画領域A3の内部にのみ、ペンストローク画像PS2を描画するよう構成される。これによりペンストローク画像PS2は、遅れて表示されるペンストローク画像PS1と同じ位置に描画されることになる。
【0058】
ここで、図5は、描画領域A3の内部へのペンストローク画像PS2の描画の例を示す図である。タブレットドライバ32は、ペンPの指示位置が描画領域A3の外にある場合においても、ペンデータPDを生成してレンダリングエンジン33に供給するよう構成される。図5に示した位置P1~P4は、タブレットドライバ32からレンダリングエンジン33に供給される一連のペンデータPDに含まれるペンPの指示位置を表しており、このうち位置P1,P2は描画領域A3外の位置となっている。レンダリングエンジン33は、この位置P1,P2のように描画領域A3の外にある位置も必要に応じて参照しながら、ペンストローク画像PS2の描画を行う。すなわち、例えば上述したキャットマル-ロム曲線を導出する際には、4つの位置が必要となる。そこでレンダリングエンジン33は、描画領域A3の外にある位置も含めて4つの位置を参照することによって曲線を導出し、そのうち描画領域A3の中にある部分のみを描画することにより、ペンストローク画像PS2の描画を行う。
【0059】
図1に戻る。レンダリングエンジン33は、レンダリングエンジンエージェント34から受信したアプリ状態情報AS内の描画設定情報に基づいて、第1のレンダリング処理で使用されるブラシデータを取得する。そして、取得したブラシデータを用い、タブレットドライバ32から供給されるペンデータPDに基づいて第2のレンダリング処理を行うことにより、ペンストローク画像PS2を生成する。これにより、ペンストローク画像PS2は、ペンストローク画像PS1と同じ外観を有する画像となる。
【0060】
また、レンダリングエンジン33は、レンダリングエンジンエージェント34から受信した描画アプリウインドウ位置情報GAWP及びアプリ状態情報ASに基づいて、描画アプリケーション36がペンストローク画像PS1の生成を行っているか否かを判定する。そして、描画アプリケーション36がペンストローク画像PS1の生成を行っていると判定した場合にのみ、第2のレンダリング処理を行ってペンストローク画像PS2を生成する。これにより、ペンストローク画像PS1が生成されていないのにペンストローク画像PS2が生成されるという事態が発生することを防止できる。
【0061】
図2(b)は、ユーザがペン入力を行っている最中におけるストリーミング映像SV及びデスクトップ映像DV1,DV1aの例を示す図である。同図には、レンダリングエンジン33によって生成されるペンストローク画像PS2も示している。同図に示すように、レンダリングエンジン33は、仮想デスクトップ領域VDI、ウインドウW、及び描画領域A3を仮想的に設定し、そのうちの描画領域A3内にのみペンストローク画像PS2を描画するよう構成される。
【0062】
図1に戻る。レンダリングエンジン33は、生成したペンストローク画像PS2をビデオデバイス23に供給する処理も行う。ビデオデバイス23は、内部で生成しているデスクトップ映像DV1aにペンストローク画像PS2を合成することによってデスクトップ映像DV1を生成し、ディスプレイ24に供給する。これにより、図2(b)に示したように、ペンストローク画像PS2を含むデスクトップ映像DV1がディスプレイ24に表示されることになる。したがって、コンピュータ1のユーザは、表示の遅れがちなペンストローク画像PS1が表示される前の段階で、ペンストローク画像PS1と同じ位置に、ペンストローク画像PS1と同じ外観を有するペンストローク画像PS2を見ることが可能になる。
【0063】
図6及び図7は、本実施の形態による画像処理方法のシーケンスを示す図である。以下、この図6及び図7を参照しながら、コンピュータ1,2が行う処理について、再度より詳しく説明する。
【0064】
まず図6を参照すると、初めにユーザにより、会議アプリケーション35上で、リモート会議を開始するための操作が行われる(ステップS1)。この操作は、入力装置22又はペン入力装置25を用いて実行され得る。この点は、以下に説明する各操作においても同様である。なお、図6にはコンピュータ1のユーザが行う操作のみを示しているが、会議を開始するための操作はコンピュータ1,2のそれぞれにおいて行われる。
【0065】
コンピュータ1,2の会議アプリケーション35は、ステップS1の操作が行われたことを受け、図1に示したデータチャンネル41を通じて、リモート会議を開始するための処理を実行する(ステップS2)。これにより、コンピュータ1,2の間でリモート会議が開始される。
【0066】
リモート会議を開始したコンピュータ2の会議アプリケーション35は、コンピュータ2のユーザの操作に応じて、図1に示したデスクトップ映像DV2の全体又は一部のストリーミングを開始する(ステップS3)。これにより、図1に示したディスプレイチャンネル40を介してデスクトップ映像DV2の全体又は一部を含むストリーミング映像SVの送信が開始され、コンピュータ1のディスプレイ24に表示されるデスクトップ映像DV1の中に、コンピュータ2から受信したストリーミング映像SVが現れるようになる。
【0067】
次に、コンピュータ1のユーザにより、会議アプリケーション35上で、ペンPによるペン入力を開始するための操作が実行される(ステップS4)。この操作を受けた会議アプリケーション35は、ペン入力を開始する旨をレンダリングエンジン33及びコンピュータ2の会議アプリケーション35に通知する(ステップS5)。
【0068】
ステップS5の通知を受けたレンダリングエンジン33は、タブレットドライバ32から上述した仮想デスクトップ情報VDPを取得し(ステップS6)、それによって示される仮想デスクトップ領域VDIの位置に、ストロークを描画するためのキャンパスを設定する(ステップS7)。また、レンダリングエンジン33はさらに、図1に示したタブレットチャンネル42を通じて、コンピュータ2内のレンダリングエンジンエージェント34にアタッチする(ステップS8)。
【0069】
また、ステップS5の通知を受けたコンピュータ2の会議アプリケーション35は、描画アプリケーション36を起動する(ステップS9)。これによって起動した描画アプリケーション36は、タブレットドライバ32からのペンデータPDの受付を開始する(ステップS10)。
【0070】
ステップS8においてレンダリングエンジン33にアタッチされたレンダリングエンジンエージェント34は、タブレットドライバ32から描画アプリウインドウ位置情報GAWPを取得する(ステップS11)とともに、描画アプリケーション36からアプリ状態情報ASを取得し(ステップS12)、取得したこれらの情報を、図1に示したタブレットチャンネル42を通じてレンダリングエンジン33に送信する(ステップS13)。
【0071】
レンダリングエンジンエージェント34から描画アプリウインドウ位置情報GAWP及びアプリ状態情報ASを受信したレンダリングエンジン33は、描画アプリケーション36によって実行される第1のレンダリング処理を共有するための共有処理を実行する(ステップS14)。具体的に説明すると、レンダリングエンジン33は、描画アプリウインドウ位置情報GAWPに基づいて、ステップS7で設定したキャンパス内におけるウインドウWの位置・サイズを取得し、さらに、アプリ状態情報AS内のキャンパスエリア情報に基づいて、ウインドウW内における描画領域A3の位置・サイズ・形状・背景色を取得する。また、レンダリングエンジン33は、アプリ状態情報AS内の描画設定情報に基づいて、第1のレンダリング処理で使用されるブラシデータを取得するとともに、描画アプリウインドウ位置情報GAWP及びアプリ状態情報ASに基づいて、描画アプリケーション36がペンストローク画像PS1の生成を行っていることを確認する。レンダリングエンジン33は、この共有処理を実行することにより、ペンストローク画像PS1と同じ外観を有するペンストローク画像PS2を描画領域A3内に描画することが可能になる。
【0072】
ここで、レンダリングエンジンエージェント34は、少なくとも定期的に、描画アプリウインドウ位置情報GAWP及びアプリ状態情報ASの取得及びレンダリングエンジン33への送信を実行することが好ましい。或いは、レンダリングエンジンエージェント34は、描画アプリウインドウ位置情報GAWP及びアプリ状態情報ASの変更を監視し、変更される都度、その取得及びレンダリングエンジン33への送信を実行することとしてもよい。一例を挙げると、レンダリングエンジンエージェント34は、描画アプリケーション55がフォアグラウンドになり、その結果として描画アプリウインドウ位置情報GAWP内のアクティブ情報が変更されたことに応じて、描画アプリウインドウ位置情報GAWPを送信することとしてもよい。
【0073】
また、レンダリングエンジン33において、レンダリングエンジン33が生成したペンストローク画像PS2と、その後に受信されたペンストローク画像PS1とが異なっているか否かを判定し、異なっていると判定した場合に、レンダリングエンジン33からレンダリングエンジンエージェント34に対して描画アプリウインドウ位置情報GAWP及びアプリ状態情報ASを要求し、該要求に応じてレンダリングエンジンエージェント34がレンダリングエンジン33に対して描画アプリウインドウ位置情報GAWP及びアプリ状態情報ASを送信することとしてもよい。こうすることで、描画アプリウインドウ位置情報GAWP又はアプリ状態情報ASが変更されたことによってペンストローク画像PS2とペンストローク画像PS1の間に相違が生じた場合に、速やかにペンストローク画像PS2をペンストローク画像PS1に合わせることが可能になる。
【0074】
また、レンダリングエンジン33は、レンダリングエンジンエージェント34から描画アプリウインドウ位置情報GAWP又はアプリ状態情報ASが受信される都度、必要に応じてステップS14の共有処理を再実行することが好ましい。或いは、レンダリングエンジン33の側から、レンダリングエンジンエージェント34が新たな描画アプリウインドウ位置情報GAWP又はアプリ状態情報ASを取得したか否かを少なくとも定期的に確認し、必要に応じて、描画アプリウインドウ位置情報GAWP又はアプリ状態情報ASの受信と、ステップS14の共有処理とを再実行することとしてもよい。これによりレンダリングエンジン33は、常に最新の情報に基づいてペンストローク画像PS2の生成を行うことが可能になる。
【0075】
続いて、図7を参照する。ユーザがペンPの操作を行うと(ステップS20)、コンピュータ1のタブレットドライバ32によりペンデータPDが取得される。ペンデータPDを取得したタブレットドライバ32は、取得したペンデータPDをレンダリングエンジン33に供給するとともに、図1に示したタブレットチャンネル42を用いて、コンピュータ2のタブレットドライバ32にも供給する(ステップS21)。このステップS21から以下で説明するステップS30までの処理は、コンピュータ1のタブレットドライバ32が新たなペンデータPDを取得する都度、繰り返し実行される。
【0076】
コンピュータ2のタブレットドライバ32は、供給されたペンデータPDを描画アプリケーション36に供給する(ステップS21)。これを受けた描画アプリケーション36は、図3に示した各データに基づいて第1のレンダリング処理を行い(ステップS22)、その結果として得られたペンストローク画像PS2を含むウインドウWをコンピュータ2のビデオデバイス23に供給する。これにより、第1のレンダリング処理によって得られたペンストローク画像PS2を含むストリーミング映像SVがコンピュータ2からコンピュータ1に対して送信され(ステップS24)、いずれデスクトップ映像DV1内にペンストローク画像PS2が現れることになる。
【0077】
一方、コンピュータ1のレンダリングエンジン33は、図6に示したステップS14で実行しておいた共有処理により第1のレンダリング処理と共有された第2のレンダリング処理を第1のレンダリング処理と並列に実行することにより、ペンストローク画像PS2を生成する(ステップS25)。具体的には、まず初めに、最新の所定個のペンデータPDに含まれる一連の指示位置に基づいて、ベジエ曲線やキャットマル-ロム曲線などの曲線を導出する。そして、導出した曲線をベースに、各ペンデータPD内のデータ及びステップS14で取得したブラシデータに基づいてペンストローク画像PS2の生成を行い、生成したペンストローク画像PS2のうちステップS14で位置等を取得した描画領域A3内に位置する部分のみを描画する。ただし、レンダリングエンジン33は、描画アプリウインドウ位置情報GAWP又はアプリ状態情報ASにより描画アプリケーション36がペンストローク画像PS1の生成を行っていないことが示される場合、ペンストローク画像PS2の生成を行わない。
【0078】
レンダリングエンジン33は、ステップS25にて生成したペンストローク画像PS2を、ビデオデバイス23に供給する(ステップS26)。ビデオデバイス23は、供給されたペンストローク画像PS2をデスクトップ映像DV1aに合成することによってデスクトップ映像DV1を生成し、図1に示したディスプレイ24に出力する(ステップS27)。これによりコンピュータ1のユーザは、デスクトップ映像DV1内にペンストローク画像PS2が反映される前の段階で、後に表示されることとなるペンストローク画像PS1と同じ位置に、ペンストローク画像PS1と同一の外観を有するペンストローク画像PS2を視認することが可能になる。
【0079】
レンダリングエンジン33は、ステップS25においてペンストローク画像PS2を生成してから所定時間後に、デスクトップ映像DV1からペンストローク画像PS2を消去するための処理を行う(ステップS28)。この処理は、最新のペンストローク画像PS2から、所定時間前のステップS25において新たに生成した部分を消去してなるペンストローク画像PS2を新たに生成する処理とすればよい。より具体的に言えば、レンダリングエンジン33は、タブレットドライバ32から供給されるペンデータPDを蓄積し、描画タイミングの都度、透明なスクリーンを用意し、蓄積したペンデータPDのうち描画対象とするもの(初めて描画の対象となってから所定時間が経過していないもの)のみをスクリーン上に描画することにより、ペンストローク画像PS2の消去を実行することとすればよい。
【0080】
レンダリングエンジン33は、ステップS25にて生成したペンストローク画像PS2を、ビデオデバイス23に供給する(ステップS29)。ビデオデバイス23は、ステップS27と同様にしてデスクトップ映像DV1を生成し、図1に示したディスプレイ24に出力する(ステップS30)。これにより、ペンストローク画像PS2のうち所定時間前に生成された部分がデスクトップ映像DV1から消えることになる。
【0081】
図8(a)及び図8(b)はそれぞれ、ユーザがペン入力を行っている最中におけるストリーミング映像SV及びデスクトップ映像DV1,DV1aの例を示す図である。図8(a)には図2(b)から所定時間後の状態を示し、図8(b)には図8(a)から所定時間後の状態を示している。なお、実際の処理では、新たなペンデータPDが取得される都度ステップS28の消去処理を行うことになるが、理解を容易にするため、図8(a)及び図8(b)においては、図示したペンストロークが2回の消去処理によって消去されることとしている。以下、この図8(a)及び図8(b)を参照しながら、ステップS28~S30の処理について、より具体的に説明する。
【0082】
まず図8(a)を参照すると、この時点でストリーミング映像SV内に現れているペンストローク画像PS1は、図示したペンストロークの前半部分のみを含んでいる。このタイミングで図示したペンストロークの前半部分をペンストローク画像PS2から消去すれば、デスクトップ映像DV1には、ペンストローク画像PS1とペンストローク画像PS2とが重なって表示されることなく、かつ、途切れずにペンストロークが表示されることになる。
【0083】
次に図8(b)を参照すると、この時点では、ストリーミング映像SV内に現れているペンストローク画像PS1は、図示したペンストロークの全体を含んでいる。このタイミングで図示したペンストロークの後半部分をペンストローク画像PS2から消去すれば、デスクトップ映像DV1には引き続き、ペンストローク画像PS1とペンストローク画像PS2とが重なって表示されることなく、かつ、途切れずにペンストロークが表示されることになる。
【0084】
このように、ユーザのペン入力によって描画したペンストロークのうち、ストリーミング映像SV内に現れた部分をペンストローク画像PS2から順次消去していけば、デスクトップ映像DV1内において、ペンストローク画像PS1とペンストローク画像PS2とが重なって表示されることなく、かつ、途切れずにペンストローク画像が表示されることになる。ユーザがペン入力を行ってからその結果を示すペンストローク画像PS1がストリーミング映像SV内に現れるまでに要する時間が一定であるとすれば、図7に示したように、ステップS25のレンダリング処理を行ってから所定時間後にステップS28の消去処理を行うことで、このようなペンストローク画像の表示を実現することが可能になる。
【0085】
ここで、ペンストローク画像PS2を生成してから消去するまでの所定時間はコンピュータ1,2のいずれによってレンダリングエンジン33に設定されることとしてもよいが、所定のキャリブレーション処理を行うことによって実際の遅延時間を測定し、測定した遅延の時間長に応じて設定されることが好ましい。特に、ブラシデータによるペンストロークの属性の導出と制御に時間がかかる場合においては、コンピュータ2によって、上記所定時間をレンダリングエンジン33に設定することが好ましい。こうすることで、より適切にペンストローク画像PS2を消去していくことが可能になる。
【0086】
また、図8(a)には、ペンストローク画像PS2の外観がペンストローク画像PS1との外観と完全に一致する例を示したが、ペンストローク画像PS2の外観とペンストローク画像PS1との外観とは、必ずしも完全に一致していなくてもよい。つまり、図7に示したステップS28の消去処理を行う時点で表示されているペンストローク画像のうち、ペンストローク画像PS1に相当する部分の外観と、ペンストローク画像PS2に相当する部分の外観とが完全には一致していなくてもよい。以下、具体的な例を参照しながら、ペンストローク画像PS1の外観と完全には一致しない外観を有するペンストローク画像PS2について説明する。
【0087】
図9(a)~図9(c)は、ペンストローク画像PS1と形状は一致しつつも、模様及び色彩のいずれか一方又はこれらの組み合わせが異なるペンストローク画像PS2の例を示す図である。これらの図では、ペンストローク画像PS1がベタ塗りの黒線により描かれているのに対し、図9(a)のペンストローク画像PS2はハッチングされた線により描かれており、図9(b)のペンストローク画像PS2は輪郭を有する線により描かれており、図9(c)のペンストローク画像PS2は所定時間ごと(例えば10ミリ秒ごと)に描画色の異なる線(いわゆるゼブラ模様の線)により描かれている。このようにペンストローク画像PS1とペンストローク画像PS2とで模様及び色彩のいずれか一方又はこれらの組み合わせを異ならせることにより、コンピュータ1のユーザは、どの部分が暫定画像であるのかを識別することが可能になる。また、図9(c)のようにペンストローク画像PS2の描画色を所定時間ごとに変更することで、ある時点でディスプレイ24に表示されているペンストローク画像PS2における描画色変更箇所の数を数えることにより、その時点での遅延時間の概数を知ることが可能になる。
【0088】
なお、ペンストローク画像PS1とペンストローク画像PS2とで模様及び色彩のいずれか一方又はこれらの組み合わせを異ならせる場合における「色彩」には、透明度を含むこととしてもよい。また、図9(b)に示すペンストローク画像PS2の輪郭の内側の塗り方は、特に限定されない。例えば、ベタ塗りとしてもよいし、ハッチングを施すこととしてもよいし、透明又は半透明としてもよい。
【0089】
また、ペンストローク画像PS1と異なる描画色(透明度を含む)によりペンストローク画像PS2を生成する場合、レンダリングエンジン33は、コンピュータ2から取得されるアプリ状態情報ASに含まれる色情報(ペンストローク画像PS1の描画色を特定する情報)に基づき、ペンストローク画像PS2の描画色を決定することが好ましい。こうすることで、レンダリングエンジン33は、ペンストローク画像PS1とは確実に異なる色(例えば、ペンストローク画像PS1の描画色の補色)でペンストローク画像PS2を生成することが可能になる。また、レンダリングエンジン33は、コンピュータ2から取得されるアプリ状態情報ASに含まれる描画領域A3の背景色にも基づき、ペンストローク画像PS2の色彩を決定することがより好ましい。こうすることで、ペンストローク画像PS2の描画色をペンストローク画像PS1の描画色と異なる色にした結果、ペンストローク画像PS2の描画色が描画領域A3の背景色と同一又は類似の色になり、ペンストローク画像PS2の視認が困難になってしまうことを防止できる。
【0090】
ペンストローク画像PS2の描画色が描画領域A3の背景色と同一又は類似の色になり、ペンストローク画像PS2の視認が困難になってしまうことは、図9(b)や図9(c)に示す例のようなペンストローク画像PS2を用いることによっても防止できる。すなわち、レンダリングエンジン33は、図9(c)に示す例のように2色以上の多色混在の模様を用いてペンストローク画像PS2を生成することによってペンストローク画像PS2の視認性を確保することとしてもよいし、図9(b)に示す例のようにペンストローク画像PS2に輪郭を設けることによってペンストローク画像PS2の視認性を確保することとしてもよい。その他、ペンストローク画像PS2の描画色や模様を時間的に変化させる(例えば点滅させる)ことによっても、ペンストローク画像PS2の視認性を確保することが可能になる。
【0091】
図9(d)は、ペンストローク画像PS1と軌跡(形状の中心線)は一致しつつも、形状が異なるペンストローク画像PS2の例を示す図である。同図の例によるレンダリングエンジン33は、ペンストローク画像PS1の線幅に比べて細い線幅でペンストローク画像PS2を生成している。別の言い方をすると、同図の例によるレンダリングエンジン33は、ペンストローク画像PS1と同じ補間曲線(上述したベジエ曲線、キャットマル-ロム曲線など)を用いてペンストローク画像PS2を生成しつつ、ペンストローク画像PS1と線幅を異ならせている。こうすることで、描画色を変える場合などに比べてユーザが感じる遅延の度合いを軽減する効果が得られ、また、ペンストローク画像PS1とペンストローク画像PS2の軌跡が一致していることから、ユーザにとって違和感の少ない処理を実現することが可能になる。
【0092】
図10は、描画アプリケーション36によって生成されるペンストローク画像PS1が線を描画するためのストロークではないストローク(以下「特殊ストローク」と称する)を表すものである場合におけるペンストローク画像PS1,PS2の例を示す図である。この例によるペンストローク画像PS1は色混ぜ用のストロークを示すものであり、図10には、相対的に薄い色で塗られた領域AR1と、相対的に濃い色で塗られた領域AR2とが仮想デスクトップ領域VDI内に隣接して表示された状態で、領域AR1,AR2の境界近傍においてユーザがペンPを移動させ、その結果として入力されたペンストローク画像PS1により領域AR1,AR2の色が混合された状態を示している。この場合のペンストローク画像PS1は、色の混合領域によって示される。特殊ストロークの例としては、他にも、3Dモデルのスカルプティング(粘土細工的操作)用のストロークなどが挙げられる。一方、ペンストローク画像PS2は、図9(b)に示した例と同様、輪郭を有する線により描かれている。ただし、図10には、ペンストローク画像PS2の線幅をペンストローク画像PS1の線幅より狭くし、かつ、ペンストローク画像PS2を構成する輪郭線の内側を透明とする例を示している。
【0093】
ペンストローク画像PS1が特殊ストロークである場合、描画アプリウインドウ位置情報GAWP及びアプリ状態情報ASを利用したとしても、レンダリングエンジン33が描画アプリケーション36によって実行される第1のレンダリング処理を共有することは難しい場合がある。図10の例でいえば、レンダリングエンジン33がペンストローク画像PS1と完全に同じ外観を有するペンストローク画像PS2を描画するためには領域AR1,AR2の情報が必須であるが、描画アプリウインドウ位置情報GAWP及びアプリ状態情報ASは領域AR1,AR2の情報を含んでいないため、上述したステップS14の共有処理によっても、ペンストローク画像PS1及びペンストローク画像PS2の外観は完全には一致しない。そのようなペンストローク画像PS2をペンストローク画像PS1に重ねて描画したとすると、不自然なペンストローク画像PS2によってペンストローク画像PS1が隠れてしまい、ユーザの感じる違和感がむしろ増大する結果になりかねない。この点、図10に例示するように、輪郭線によってペンストローク画像PS2を構成することで、操作中の位置を、違和感なくユーザに知らせることが可能になる。なお、図10には、輪郭線によって囲まれた領域の描画色を透明とした例を示しているが、半透明としてもよい。
【0094】
以上説明したように、本実施の形態による画像処理方法によれば、コンピュータ1により実行される第2のレンダリング処理がコンピュータ2により実行される第1のレンダリング処理と共有されているので、コンピュータ1は、ペン先属性を考慮した高度な描画処理を用いて、暫定画像であるペンストローク画像PS2を描画することが可能になる。
【0095】
また、本実施の形態による画像処理方法によれば、ビデオデバイス23によりペンストローク画像PS2が合成される領域を描画領域A3内に制限できるので、描画領域A3外におけるペンストローク画像PS2の描画を制限することが可能になる。
【0096】
さらに、本実施の形態による画像処理方法によれば、生成から所定時間後にペンストローク画像PS2を消去するための処理を行っているので、ペンストローク画像PS1とペンストローク画像PS2とが重なって表示されることなく、かつ、途切れることなく、デスクトップ映像DV1内にペンストローク画像を表示することが可能になる。
【0097】
なお、本実施の形態によれば、図7のステップS28において、ペンPの指示位置の単位で小刻みにペンストローク画像PS2が消去されていくことになるが、レンダリングエンジン33は、複数の指示位置分のペンストローク画像PS2をまとめて消去することとしてもよい。こうすることで、プロセッサ20の負荷を軽減することが可能になる。
【0098】
図11は、本発明の第2の実施の形態による画像処理方法を示すシーケンスを示す図である。本実施の形態による画像処理方法は、ペンストローク画像PS2の消去方法の点で、第1の実施の形態による画像処理方法と相違する。以下、第1の実施の形態による画像処理方法との相違点に着目して説明する。
【0099】
図11図7を比較すると理解されるように、ステップS27までの処理は第1の実施の形態による処理と同じである。本実施の形態においては、ステップS25,S26の処理を実行したレンダリングエンジン33は、所定時間の待機に代え、デスクトップ映像DV1aのうち、ステップS25で新たに生成したペンストローク画像PS2の部分に対応する位置の画素情報を取得する(ステップS40)。レンダリングエンジン33は、このステップS40の処理を、例えば周期的に繰り返し実行する。
【0100】
ステップS25で新たに生成したペンストローク画像PS2の部分に対応するペンストローク画像PS1の部分がストリーミング映像SVに含まれるようになると、ステップS40の画素情報に変化が現れる。レンダリングエンジン33は、この変化を検出すると(ステップS41)、ペンストローク画像PS2のうち対応する部分を消去する処理を行い(ステップS42)、新たに生成したペンストローク画像PS2をビデオデバイス23に供給する(ステップS43)。このペンストローク画像PS2を受けたビデオデバイス23は、図7に示したステップS30と同様にしてデスクトップ映像DV1を生成し、図1に示したディスプレイ24に出力する(ステップS44)。
【0101】
このような処理を採用することにより、レンダリングエンジン33は、ペンストローク画像PS2のうちストリーミング映像SVに現れた部分を随時消去していくことができる。したがって、本実施の形態による画像処理方法によれば、万一遅延が増大したとしても、途切れずにペンストロークを表示することが可能になる。
【0102】
なお、本実施の形態によるペンストローク画像PS2の消去方法と、図7を参照して説明したペンストローク画像PS2の消去方法とを併用することとしてもよい。本実施の形態によるペンストローク画像PS2の消去方法によれば、描画アプリケーション36が上述したインクが滲んでいく様子を再現するための関数(同じ位置でのペンPの滞在時間が長いほど線幅を大きくする関数)を用いてペンストローク画像PS2の描画を行うとすると、ペンPがタッチ面内の同じ位置に滞在し続けた場合、ペン先周辺の画素に変化が現れず、ペンストローク画像PS1がいつまで経っても消去されないことになる。図7を参照して説明したペンストローク画像PS2の消去方法を併用すれば、このような場合においても、所定時間が経過した後、ペンストローク画像PS1を消去することが可能になる。
【0103】
図12は、本発明の第3の実施の形態による画像処理方法を示すシーケンスを示す図である。本実施の形態による画像処理方法も、ペンストローク画像PS2の消去方法の点で、第1の実施の形態による画像処理方法と相違する。以下、第1の実施の形態による画像処理方法との相違点に着目して説明する。
【0104】
図12図7を比較すると理解されるように、ステップS27までの処理は第1の実施の形態による処理と同じである。本実施の形態によるコンピュータ2のタブレットドライバ32は、ステップS21においてペンデータPDを描画アプリケーション36に供給した後(すなわち、描画アプリケーション36によるレンダリングが始まった後)、タブレットチャンネル42を介し、そのペンデータPDのシリアル情報SNをコンピュータ1のタブレットドライバ32に対して送信する(ステップS50)。コンピュータ1のタブレットドライバ32は、こうして受信したシリアル情報SNをレンダリングエンジン33に転送する(ステップS51)。
【0105】
タブレットドライバ32からシリアル情報SNの供給を受けたレンダリングエンジン33は、生成済みのペンストローク画像PS2のうち、供給されたシリアル情報SNに対応する部分を消去する処理を行い(ステップS52)、新たに生成したペンストローク画像PS2をビデオデバイス23に供給する(ステップS53)。このペンストローク画像PS2を受けたビデオデバイス23は、図7に示したステップS30と同様にしてデスクトップ映像DV1を生成し、図1に示したディスプレイ24に出力する(ステップS54)。
【0106】
このような処理を採用することにより、レンダリングエンジン33は、生成済みのペンストローク画像PS2のうち、コンピュータ2内でのレンダリングが始まったペンデータPDに対応する部分を随時消去していくことができる。コンピュータ1へのシリアル情報SNの供給は、ストリーミング映像SVの供給に対して僅かに先んじることが通常であるので、本実施の形態による画像処理方法によれば、ペンストローク画像PS1が表示されていくタイミングに合わせて、ペンストローク画像PS2を消去していくことが可能になる。
【0107】
なお、本実施の形態によるペンストローク画像PS2の消去方法と、図7を参照して説明したペンストローク画像PS2の消去方法とを併用することとしてもよい。こうすることで、万一ステップS50におけるシリアル情報SNの送信が滞り、シリアル情報SNに基づく消去が適時のタイミングで行えなかったとしても、所定時間が経過した後には、ペンストローク画像PS1を確実に消去することが可能になる。さらに、本実施の形態によるペンストローク画像PS2の消去方法と、図11を参照して説明したペンストローク画像PS2の消去方法とを併用することとしてもよいし、本実施の形態によるペンストローク画像PS2の消去方法と、図7を参照して説明したペンストローク画像PS2の消去方法及び図11を参照して説明したペンストローク画像PS2の消去方法の両方とを併用することとしてもよい。
【0108】
また、コンピュータ2のタブレットドライバ32は、すべてのペンデータPDについてシリアル情報SNを送信するのではなく、数個おきなど間欠的にシリアル情報SNを送信することとしてもよい。こうすることで、シリアル情報SNの送信のために使用される通信リソースを削減することが可能になる。
【0109】
図13は、本発明の第4の実施の形態による画像処理方法を実行するコンピュータ3のシステム構成を示す図である。本実施の形態による画像処理方法は、1台のコンピュータ3により実行される点で、第1の実施の形態による画像処理方法と相違する。以下、コンピュータ3の構成及び動作について、第1の実施の形態によるコンピュータ1,2との相違点に着目して説明する。
【0110】
コンピュータ3は、仮想マシン50を実行する点で、図1に示したコンピュータ1と異なっている。仮想マシン50は、コンピュータ3上で2つ目のオペレーティングシステムを実行するために使用される仮想的なコンピュータであり、プロセッサ20が所定のプログラムを実行することによって実現される。典型的な例では、仮想マシン50は、コンピュータ3のオペレーティングシステム上で動作しない描画アプリケーションを使用したい場合に用いられる。
【0111】
図13に示すように、仮想マシン50は、通信部51、USBデバイスドライバ52、タブレットドライバ53、レンダリングエンジンエージェント54、描画アプリケーション55、及びビデオデバイス56を有して構成される。これらの基本的な動作は、図1に示した通信装置21、USBデバイスドライバ30、タブレットドライバ32、レンダリングエンジンエージェント34、描画アプリケーション36、及びビデオデバイス23と同様である。ただし、コンピュータ3においては、ストリーミング映像SVはウインドウWを示す映像となる。また、描画アプリケーション55の起動は、コンピュータ3のユーザ操作によって実行される。
【0112】
本実施の形態においては、プロセッサ20がローカル側装置として機能し、仮想マシン50がリモート側装置として機能する。描画アプリケーション55により生成されたウインドウWを含むストリーミング映像SVが仮想マシン50からプロセッサ20に供給され、デスクトップ映像DV1内に配置される。プロセッサ20により実行される第2のレンダリング処理が仮想マシン50により実行される第1のレンダリング処理と共有されている点は、第1の実施の形態と同様である。したがって、本実施の形態による画像処理方法によっても、プロセッサ20は、ペン先属性を考慮した高度な描画処理を用いて、暫定画像であるペンストローク画像PS2を描画することが可能になる。
【0113】
また、本実施の形態による画像処理方法によっても、ビデオデバイス23によりペンストローク画像PS2が合成される領域を描画領域A3内に制限できる。したがって、描画領域A3外におけるペンストローク画像PS2の描画を制限することが可能になる。
【0114】
なお、仮想マシン50は、ウェブブラウザ上で動作するアプリケーションであってもよい。そのようなアプリケーションの例としては、ウェブブラウザ上で動作するお絵かきアプリや、画面転送型のシンクライアントで用いられるデスクトップ仮想化アプリなどが挙げられる。アプリケーションが実際に動作する場所は、コンピュータ3上であってもよいし、ネットワークを介してコンピュータ3に接続されたサーバコンピュータ上であってもよい。いずれの場合であっても、本実施の形態による画像処理方法を用いることにより、ペン先属性を考慮した高度な描画処理を用いて、暫定画像であるペンストローク画像PS2を描画することが可能になる。
【0115】
図14は、本発明の第5の実施の形態による画像処理方法を実行するコンピュータ1,2のシステム構成を示す図である。本実施の形態による画像処理方法は、ペン入力装置25の内部でペンストローク画像PS2の生成とレンダリングが行われる点で、第1の実施の形態と相違する。以下、本実施の形態によるコンピュータ1,2の構成及び動作について、第1の実施の形態によるコンピュータ1,2との相違点に着目して説明する。
【0116】
本実施の形態によるペン入力装置25は、いわゆる液タブ(液晶画面付きタブレット)であり、図14に示すように、タッチセンサ25a、ペン処理部25b、描画処理部25c、及び最前面表示処理部25dを有して構成される。本実施の形態においては、ディスプレイ24もペン入力装置25の一部を構成する。ただし、ペン入力装置25の種類は液タブに限られず、例えば小型画面付きのサインタブレットであることとしてもよい。この場合、ディスプレイ24はペン入力装置25の一部を構成せず、ペン入力装置25内には、ディスプレイ24とは別の小型のディスプレイが配置される。
【0117】
タッチセンサ25aは、タッチ面に配置された複数のセンサ電極によって構成される装置である。ペン処理部25bは集積回路によって構成される機能部であり、上述したセンサコントローラとしての機能を有している。すなわち、ペン処理部25bは、例えばアクティブ静電方式又は電磁誘導方式により、タッチセンサ25を利用してペンPの指示位置を示す2次元座標を検出するとともに、ペンPから筆圧値等のデータを受信する役割を果たす。ペン処理部25bは、USBデバイスドライバ31を介してタブレットドライバ32に接続されるとともに、描画処理部25cにも接続されており、ペンPの指示位置を検出する都度、検出したペンPの指示位置及びペンPから受信したデータ(ペンデータPD)を、タブレットドライバ32及び描画処理部25cの両方に供給するよう構成される。
【0118】
ここで、本実施の形態によるレンダリングエンジン33は、レンダリングエンジンエージェント34から受信した描画アプリウインドウ位置情報GAWP及びアプリ状態情報ASをタブレットドライバ32に供給するよう構成される。また、タブレットドライバ32は、レンダリングエンジン33から供給された描画アプリウインドウ位置情報GAWP及びアプリ状態情報ASを、取得している仮想デスクトップ情報VDPとともに、USBデバイスドライバ31を介してペン処理部25bに供給するよう構成される。ペン処理部25bは、こうしてタブレットドライバ32から供給された描画アプリウインドウ位置情報GAWP、アプリ状態情報AS、及び仮想デスクトップ情報VDPを、描画処理部25cに対して供給するよう構成される。
【0119】
描画処理部25cも集積回路によって構成される機能部であり、レンダリングエンジン33と同様に、ペン処理部25bから供給される情報に基づいてペンストローク画像PS2を生成する機能を有している。具体的に説明すると、描画処理部25cは、まず仮想デスクトップ情報VDPに基づいて、デスクトップ映像DV1内における仮想デスクトップ領域VDIの位置及びサイズを取得し、次いで、描画アプリウインドウ位置情報GAWPに基づいて、仮想デスクトップ領域VDI内におけるウインドウWの位置・サイズを取得する。そして、アプリ状態情報AS内のキャンパスエリア情報に基づいて、ウインドウW内における描画領域A3の位置・サイズ・形状・背景色を取得し、こうして得た描画領域A3の内部にペンストローク画像PS2を描画するよう構成される。描画処理部25cはまた、アプリ状態情報AS内の描画設定情報に基づいてブラシデータを取得し、取得したブラシデータを用いて、ペンデータPDに基づくレンダリング処理を行うことにより、ペンストローク画像PS2を生成するよう構成される。
【0120】
最前面表示処理部25dも集積回路によって構成される機能部であり、ディスプレイ24に表示するための映像信号を一時的に記憶するためのメモリを含んで構成される。最前面表示処理部25dは、描画処理部25cによって生成されたペンストローク画像PS2を、このメモリに蓄積するよう構成される。また、最前面表示処理部25dは、ビデオデバイス23からデスクトップ映像DV1を受け取り、上記メモリに蓄積した映像信号とともにディスプレイ24に出力する処理も行う。この出力を受けたディスプレイ24は、デスクトップ映像DV1の上に重ねてペンストローク画像PS2を表示する。これによりユーザは、ディスプレイ24において、デスクトップ映像DV1の上にペンストローク画像PS2が合成されてなる映像を見ることが可能になる。
【0121】
本実施の形態による画像処理方法によっても、コンピュータ1は、第1の実施の形態によるコンピュータ1と同様、ペン先属性を考慮した高度な描画処理を用いて、暫定画像であるペンストローク画像PS2を描画することが可能になる。
【0122】
なお、図14に破線で示したように、本実施の形態によるコンピュータ1においても、第1の実施の形態によるコンピュータ1と同様に、レンダリングエンジン33によるペンストローク画像PS2の生成を行えるようにしてもよい。この場合、タブレットドライバ32が、レンダリングエンジン33から供給されたアプリ状態情報ASにより示されるペン先属性に描画処理部25cが対応しているか否かを判定し、対応していないと判定した場合に、ペンストローク画像PS2の生成場所を描画処理部25cからレンダリングエンジン33に切り替えることとしてもよい。このような切り替え処理を採用することにより、描画処理部25cが対応していないような高度な描画処理(ブラシ形状、ブラシ挙動など)を実行する場合にも、ペンストローク画像PS1と同一の外観でペンストローク画像PS2を表示することが可能になる。
【0123】
また、描画処理部25cは、図7を参照して説明したペンストローク画像PS2の消去方法、及び、図12を参照して説明したペンストローク画像PS2の消去方法の一方又は両方と同様の方法により、最前面表示処理部25dがディスプレイ24に供給する画像からペンストローク画像PS2を消去するための処理を行うこととしてもよい。こうすれば、描画処理部25cにより生成されるペンストローク画像PS2のうちペンストローク画像PS1として表示されるようになった部分を、適宜消去していくことが可能になる。
【0124】
また、ペン処理部25b、描画処理部25c、及び最前面表示処理部25dは、1つの集積回路によって構成されることとしてもよいし、2つ以上の集積回路によって構成されることとしてもよい。後者の場合において、ペン処理部25b及び描画処理部25cを1つの集積回路で構成する場合、MCU(Micro Controller Unit)を用いることが好ましい。また、描画処理部25c及び最前面表示処理部25dを1つの集積回路で構成する場合、スケーラーIC(Scaler IC)を用いることが好ましい。なお、複数の集積回路を用いる場合における各集積回路の間は、I2C(Inter-Integrated Circuit)やUART(Universal Asynchronous Receiver / Transmitter)などのUSBではない周辺機器用インターフェイスを介して、相互に接続することが一般的である。
【0125】
以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
【0126】
例えば、レンダリングエンジン33は、ペンダウンが発生したとき(すなわち、筆圧値が0から0より大きい値に変化したとき)のペンPの指示位置を検出し、その指示位置が描画領域A3内にある場合にのみ、第2のレンダリング処理を行うこととしてもよい。また、レンダリングエンジン33は、ペンダウンが発生してからペンアップが発生するまで(すなわち、筆圧値が0に戻るまで)の間、仮に新たな描画アプリウインドウ位置情報GAWP又はアプリ状態情報ASが受信され、それによって描画領域A3の位置の変更が示されたとしても、描画領域A3の位置を変更することなく(つまり、描画領域A3を固定して)第2のレンダリング処理を実行し続けることとしてもよい。一方、レンダリングエンジン33は、新たな描画アプリウインドウ位置情報GAWP又はアプリ状態情報ASが受信され、それによって描画領域A3の位置の変更が示された場合に、表示中のペンストローク画像PS2を一旦すべて消去することとしてもよい。
【0127】
また、図13に示した構成のうち、タブレットドライバ32及びレンダリングエンジン33を集積回路内に設ける一方、タブレットドライバ53、レンダリングエンジンエージェント54、描画アプリケーション55をプロセッサ20内に設け、描画アプリケーション55によって生成されたペンストローク画像PS1がデスクトップ映像DV1に反映されるまでの間、集積回路内でペンストローク画像PS2を生成することとしてもよい。これによれば、集積回路をローカル側装置、プロセッサ20をリモート側装置として、コンピュータ3に本発明を適用することが可能になる。
【0128】
また、ペンPのペン先とコンピュータ1のディスプレイ24上に表示されるペンストローク画像PS1の先端との間の乖離は、ディスプレイ24が小さいほど小さくなり、ディスプレイ24が大きいほど大きくなる。そこでレンダリングエンジン33は、ディスプレイ24のサイズに応じて、ペンストローク画像PS2の存在感を制御することとしてもよい。より具体的に言えば、レンダリングエンジン33は、ディスプレイ24が小さいほどペンストローク画像PS2の存在感を弱くすることとしてもよい。例えば、レンダリングエンジン33は、ディスプレイ24のサイズが所定値以下である場合、ペンストローク画像PS2の生成をオフにすることとしてもよい。また、レンダリングエンジン33は、ディスプレイ24が小さいほど、図7に示したステップS25においてペンストローク画像PS2を生成してから、図7に示したステップS28において該ペンストローク画像PS2を消去するまでの時間を短くすることとしてもよい。また、レンダリングエンジン33は、ディスプレイ24が小さいほどペンストローク画像PS2の線幅を細くすることとしてもよいし、ディスプレイ24が小さいほどペンストローク画像PS2の透明度を高く(すなわち、描画色を薄く)することとしてもよい。
【0129】
また、ペンストローク画像PS2の具体的な生成方法(例えば、描画色、模様、輪郭の有無など)を設定するための設定画面をデスクトップ映像DV1内に表示し、コンピュータ1のユーザがペンストローク画像PS2の生成方法を設定できるようにしてもよい。この場合において、レンダリングエンジンエージェント34又は描画アプリケーション36が仮想デスクトップ領域VDI内(又は、ウインドウW内)に設定画面を描画することとしてもよい。こうすれば、ディスプレイ24において仮想デスクトップ領域VDIを全画面表示している場合に、仮想デスクトップ領域VDIを最小化したり移動したりしなくても、ペンストローク画像PS2の生成方法を変更することが可能になる。
【0130】
一方、コンピュータ1のレンダリングエンジン33(図14の例では、描画処理部25c)により、仮想デスクトップ領域VDIの外に、ペンストローク画像PS2の具体的な生成方法を設定するための設定画面を描画することとしてもよい。こうすれば、ローカル側装置内でユーザがペンストローク画像PS2の外観を設定することができるので、レンダリングエンジンエージェント34からレンダリングエンジン33へのアプリ状態情報ASの送信が遅れたとしても、アプリ状態情報ASが受信されるまでの間、ペン先属性を考慮した高度な描画処理を用いて、暫定画像であるペンストローク画像PS2を描画することが可能になる。なお、頻繁に使用する1以上の生成方法をレンダリングエンジン33内にプリセットしておき、プリセットされた1以上の生成方法のうちの1つを選択するだけでペンストローク画像PS2の生成方法を設定できるよう、設定画面を構成することしてもよい。
【0131】
なお、コンピュータ1のレンダリングエンジン33は、ペン入力装置25から供給されたデータに含まれるボタン情報の変化に応じて、上記設定画面の表示動作を実行することとしてもよい。例えば、ペン入力装置25から供給されるデータに含まれるボタン情報によりペンPに設けられている所定のスイッチの状態がオフからオンに変化したことが示される場合に、上記設定画面を表示すればよい。こうすることによりユーザは、ペンPに設けられている所定のスイッチを押下することにより、コンピュータ1に上記設定画面を表示させることが可能になる。この場合においてタブレットドライバ32は、コンピュータ2に対して送信するペンデータPDのうち、上記所定のスイッチに対応するボタン情報の値を、ペン入力装置25から供給されるデータの内容にかかわらず常時オフを示す値に固定することにより、上記所定のスイッチの状態がオンに変化したことをコンピュータ2に通知しないことが好ましい。こうすることで、1つのスイッチの操作で2つの操作結果(コンピュータ1における上記設定画面の表示と、コンピュータ2で実行される他の動作)が発生し、ユーザを困惑させてしまうことを回避できるようになる。
【0132】
また、ペン入力装置25に1以上のスイッチ(オンオフボタン、タッチリングなど)を設けることとしてもよく、ペン入力装置25に設けられている1以上のスイッチそれぞれの状態を示す情報もペンデータPD内に配置することとしてもよい。また、コンピュータ1のレンダリングエンジン33は、ペン入力装置25に設けられている所定のスイッチの状態変化に応じて、上記設定画面の表示動作を実行することとしてもよい。この場合において、この所定のスイッチの状態を示す情報がペンデータPD内に配置されているならば、コンピュータ1のタブレットドライバ32は、少なくとも該所定のスイッチの状態を設定画面の表示動作に対応付けている間、該所定のスイッチの実際の状態によらず該所定のスイッチの状態を示す情報を固定することにより、該所定のスイッチの状態をコンピュータ2に通知しないことが好ましい。
【0133】
また、ペンデータPDを構成する各データのコンピュータ2への送信の可否を示すフラグ情報をコンピュータ1のタブレットドライバ32内に記憶しておき、ディスプレイ24に表示中の情報に応じて、レンダリング33又は会議アプリケーション35がこのフラグ情報の値を制御することとしてもよい。そして、タブレットドライバ32は、フラグ情報により送信否が示されるデータをコンピュータ2に送信しない(又は、送信する値を所定値に固定する)こととしてもよい。こうすることで、例えば、レンダリング33又は会議アプリケーション35が表示しているメニュー画面内にペンPの指示位置が存在する場合に、ペンPの座標データをコンピュータ2に対して送信しないようにすることができ、そうすることによって、コンピュータ1のユーザがペンPによりメニューの操作をしているときに、コンピュータ2においてペンストローク画像PS1が描かれてしまうことを防止できるようになる。
【0134】
また、コンピュータ1,2はそれぞれ、複数のディスプレイ24を有していてもよい。この場合において、コンピュータ2の複数のディスプレイ24のそれぞれに表示される画面を結合したものをデスクトップ映像DV2としてもよい。仮想デスクトップ領域VDIがデスクトップ映像DV1内に収まらない場合には、仮想デスクトップ領域VDIを縮小することとしてもよいし、仮想デスクトップ領域VDIの一部のみをデスクトップ映像DV1内に表示することとしてもよい。
【0135】
また、ペン入力装置25は、いわゆる液晶タブレットとしてディスプレイ24と一体に構成されてもよいし、いわゆる板タブレットとしてディスプレイ24と別体に構成されてもよい。前者の場合、コンピュータ1が複数のディスプレイ24を有しているとすれば、それぞれを液晶タブレットとして構成してもよい。後者の場合、第2の実施の形態に記載したレンダリングエンジン33の処理によれば、レンダリングエンジン33は、コンピュータ1のディスプレイ24に表示されるペンPの位置を示すカーソルと、ストリーミング映像SVに現れたペンストローク画像PS1の先端とを結ぶようにペンストローク画像PS2を描画することになる。
【0136】
また、ペン入力装置25は、複数のペンPを同時に検出可能に構成されてもよい。この場合におけるレンダリングエンジン33は、ペンPごとにペンストローク画像PS2を生成することが好ましい。
【0137】
また、ペンPとともに、或いは、ペンPに代えて、指などのパッシブポインタにより仮想デスクトップ領域VDI内への書き込みが行えるようにしてもよい。この場合におけるレンダリングエンジン33は、パッシブポインタの一連の指示位置によって示されるストロークについても、ペンストローク画像PS2と同様にして暫定画像を生成することが好ましい。
【0138】
また、会議アプリケーション35は、ブラウザのプラグインとして構成することとしてもよいし、ブラウザとは別のアプリケーションとして構成することとしてもよい。
【0139】
また、本発明は、上記実施の形態で取り上げたリモート会議を行う場合のみならず、一方のコンピュータ(リモート側装置)の画面(デスクトップ画面又はアプリケーションのウインドウ)を他方のコンピュータ(ローカル側装置)に共有する場合に広く適用可能である。
【符号の説明】
【0140】
1~3 コンピュータ
20 プロセッサ
21 通信装置
22 入力装置
23,56 ビデオデバイス
24 ディスプレイ
25 ペン入力装置
25a タッチセンサ
25b ペン処理部
25c 描画処理部
25d 最前面表示処理部
30,31,52 デバイスドライバ
32,53 タブレットドライバ
33 レンダリングエンジン
34,54 レンダリングエンジンエージェント
35,45 会議アプリケーション
36,55 描画アプリケーション
40 ディスプレイチャンネル
41 データチャンネル
42 タブレットチャンネル
43 リダイレクトチャンネル
50 仮想マシン
51 通信部
A1 メインエリア
A2 キャンパスエリア
A3 描画領域
AS アプリ状態情報
DV1,DV1a,DV2 デスクトップ映像
GAWP 描画アプリウインドウ位置情報
P ペン
P1~P4 ペンPの指示位置
PD ペンデータ
PS1,PS2 ペンストローク画像
SV ストリーミング映像
VDI 仮想デスクトップ領域
VDP 仮想デスクトップ情報
W 描画アプリケーション36のウインドウ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
【手続補正書】
【提出日】2023-02-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
リモート側装置及びローカル側装置により実行される画像処理方法であって、
前記ローカル側装置が、ペンの指示位置を検出し、ネットワーク経由で前記リモート側装置に送信するステップと、
前記リモート側装置が、前記ローカル側装置から受信した一連の前記指示位置に基づいて生成されたペンストローク画像を含むストリーミング映像を前記ネットワーク経由で送信するステップと、
前記ローカル側装置が、検出した一連の前記指示位置に基づいて、ペンストローク画像である暫定画像を生成するステップと、
前記ローカル側装置が、前記リモート側装置から前記ネットワーク経由で前記ストリーミング映像を受信し、前記暫定画像を合成して出力するステップと、
前記ローカル側装置が、前記暫定画像のうち所定の条件が満たされた部分を順次消去するステップと、
を含む画像処理方法。
【請求項2】
前記所定の条件が満たされた部分、生成から所定時間が経過した部分である
請求項1に記載の画像処理方法。
【請求項3】
前記所定時間は、前記リモート側装置により設定される、
請求項に記載の画像処理方法。
【請求項4】
前記所定時間は、前記ペンストローク画像が前記ストリーミング映像に反映されるまでの時間長に応じて設定される、

請求項又はに記載の画像処理方法。
【請求項5】
前記所定の条件が満たされた部分、前記ストリーミング映像内に現れた部分である
請求項乃至のいずれか一項に記載の画像処理方法。
【請求項6】
前記リモート側装置は、前記ローカル側装置から順次受信されるペンの指示位置のう前記ストリーミング映像に含まれるペンストローク画像を生成するためのレンダリング処理が開始されたものを示す情報を前記ローカル側装置に対して送信するよう構成され、
前記所定の条件が満たされた部分、前記リモート側装置からの情報により前記レンダリング処理の開始が示された前記指示位置に対応する部分である
請求項乃至のいずれか一項に記載の画像処理方法。
【請求項7】
前記リモート側装置及び前記ローカル側装置は互いに別体のコンピュータである、
請求項1乃至のいずれか一項に記載の画像処理方法。
【請求項8】
前記ローカル側装置はペン入力装置を含み、
前記暫定画像を生成するステップは、前記ペン入力装置内の集積回路によって実行される、
請求項1乃至のいずれか一項に記載の画像処理方法。
【請求項9】
前記ペン入力装置は表示装置を含み、
前記ペン入力装置は、前記暫定画像を合成して出力するステップとは別に、前記暫定画像を前記表示装置に出力するステップを実行する、
請求項に記載の画像処理方法。
【請求項10】
ペンの位置を検出するペン入力装置と、
映像を表示する表示装置と、
ネットワーク経由で他の情報処理装置と通信する通信装置と、
前記ペン入力装置、前記表示装置、前記通信装置のそれぞれに接続される制御部と、を含み、
前記制御部は、
前記ペン入力装置によって検出された前記ペンの一連の指示位置を、前記通信装置を介して前記他の情報処理装置に送信するとともに、前記一連の指示位置に基づいて、ペンストローク画像である暫定画像を生成し、
前記他の情報処理装置から前記通信装置を介して受信されたストリーミング映像に前記暫定画像を合成してなる映像を前記表示装置に表示し、
表示した前記暫定画像のうち所定の条件が満たされた部分を順次消去する、
情報処理装置。
【請求項11】
前記所定の条件が満たされた部分は、生成から所定時間が経過した部分である、、
請求項10に記載の情報処理装置。
【請求項12】
前記所定時間は、前記他の情報処理装置により設定される、
請求項11に記載の情報処理装置。
【請求項13】
前記所定時間は、前記ペンストローク画像が前記ストリーミング映像に反映されるまでの時間長に応じて設定される、
請求項11又は12に記載の情報処理装置。
【請求項14】
前記所定の条件が満たされた部分は、前記ストリーミング映像内に現れた部分である、
請求項10乃至13のいずれか一項に記載の情報処理装置。
【請求項15】
前記他の情報処理装置は、前記情報処理装置から順次受信されるペンの指示位置のうち前記ストリーミング映像に含まれるペンストローク画像を生成するためのレンダリング処理が開始されたものを示す情報を前記情報処理装置に対して送信するよう構成され、
前記所定の条件が満たされた部分は、前記暫定画像のうち前記他の情報処理装置からの情報により前記レンダリング処理の開始が示された前記指示位置に対応する部分である、
請求項10乃至14のいずれか一項に記載の情報処理装置。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正の内容】
【0001】
本発明は画像処理方法に関し、特に、リモート会議の共有画面においてペン入力を行うための画像処理方法に関する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正の内容】
【0008】
したがって、本発明の目的の一つは、暫定画像とストリーミング映像内に現れるペンストローク画像とで外観を合わせることのできる画像処理方法を提供することにある。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0010
【補正方法】変更
【補正の内容】
【0010】
したがって、本発明の目的の他の一つは、暫定画像が描画領域外に描画されてしまうことを防止できる画像処理方法を提供することにある。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正の内容】
【0011】
本発明の第1の側面による画像処理方法は、リモート側装置及びローカル側装置により実行される画像処理方法であって、前記リモート側装置が、第1のレンダリング処理により生成された画像を含むストリーミング映像を送信するステップと、前記ローカル側装置が、前記第1のレンダリング処理と共有された第2のレンダリング処理を前記第1のレンダリング処理と並列に実行することにより暫定画像を生成するステップと、前記ローカル側装置が、遅延の発生する通信を経由して前記リモート側装置から前記ストリーミング映像を受信し、前記暫定画像を合成して出力するステップと、を含む画像処理方法である。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0012
【補正方法】変更
【補正の内容】
【0012】
本発明の第2の側面による画像処理方法は、リモート側装置及びローカル側装置により実行される画像処理方法であって、前記リモート側装置が、ストリーミング映像を送信するステップと、前記リモート側装置が、前記ストリーミング映像内の描画領域を示す描画領域情報を送信するステップと、前記ローカル側装置が、前記リモート側装置から前記描画領域情報を受信するステップと、前記ローカル側装置が、前記ストリーミング映像内に暫定的に表示するための暫定画像を生成するステップと、前記ローカル側装置が、前記ストリーミング映像のうち前記描画領域情報により示される領域に前記暫定画像を合成して出力するステップと、を含む画像処理方法である。