JP4085123B1 - 画像表示更新方法およびサーバ・クライアントシステム並びに描画操作エコーバックスクリプト - Google Patents

画像表示更新方法およびサーバ・クライアントシステム並びに描画操作エコーバックスクリプト Download PDF

Info

Publication number
JP4085123B1
JP4085123B1 JP2007086855A JP2007086855A JP4085123B1 JP 4085123 B1 JP4085123 B1 JP 4085123B1 JP 2007086855 A JP2007086855 A JP 2007086855A JP 2007086855 A JP2007086855 A JP 2007086855A JP 4085123 B1 JP4085123 B1 JP 4085123B1
Authority
JP
Japan
Prior art keywords
image
server
drawing operation
web browser
terminal device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007086855A
Other languages
English (en)
Other versions
JP2010026542A (ja
Inventor
曜 蓮池
隆宣 香川
Original Assignee
株式会社サピエンス
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社サピエンス filed Critical 株式会社サピエンス
Priority to JP2007086855A priority Critical patent/JP4085123B1/ja
Priority to PCT/JP2008/053486 priority patent/WO2008120517A1/ja
Priority to CA2681709A priority patent/CA2681709C/en
Priority to US12/449,685 priority patent/US7975231B2/en
Application granted granted Critical
Publication of JP4085123B1 publication Critical patent/JP4085123B1/ja
Publication of JP2010026542A publication Critical patent/JP2010026542A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)
  • Digital Computer Display Output (AREA)

Abstract

【課題】WEBブラウザを利用して濃度表現を有する筆ツールにより描画を行う場合にエコーバックを高速にする。
【解決手段】HTTPサーバ12に描画操作対象画像と画像処理プログラムを用意する。端末装置10からHTTPサーバ12アクセスして描画操作対象画像をダウンロードする。操作者が端末装置10のWEBブラウザ画面で描画操作をすると、XMLHTTPリクエストによりカーソルの座標位置情報と描画半径情報がHTTPサーバ12に送られて画像加工処理がされる。WEBブラウザは描画操作対象画像を仮想的に複数の矩形(セル)に分割し、画像加工処理で画像内容に変更があったセルを計算し、該セルの画像を要求するHTTPリクエストを発行する。HTTPサーバ12は要求された領域の加工済み画像を切り取って送信する。WEBブラウザはセル画像を受け取って、該当する領域に配置して表示を更新する。
【選択図】図1

Description

この発明は端末装置のWEBブラウザ画面上での描画操作に基づきサーバ側に保管されている画像に対し濃度表現を有する筆ツールによる加工を施す方法において、描画操作に応じて加工される画像が該描画操作から大きく遅れることなくWEBブラウザの画面に反映されるようにしたものである。またこの発明は端末装置のWEBブラウザ画面上での描画操作に基づきサーバ側に保管されている画像に対し濃度表現を有する筆ツールによる加工を施す方法において、描画操作に応じて時々刻々加工されていく画像が該描画操作から大きく遅れることなくWEBブラウザの画面に反映されるようにして、端末装置の操作者が思い通りの描画操作をできるようにしたものである。
インターネットを利用した画像共有サービスが出現している。画像共有サービスは参加者の端末装置(クライアント端末)からサーバに写真、絵、図等の画像をアップロードして保管し、該保管された画像を参加者どうしが共有できるようにしたものである。画像共有サービスではサーバに保管された画像を参加者が自己の端末装置からの操作により任意に加工できるようにしている場合がある。この画像加工機能は従来は端末装置に、ヘルパーアプリケーションプログラム、ActiveX(登録商標)プログラム、JavaAppletプログラム等の専用の画像処理プログラムをインストールすることにより実現していた。すなわち参加者が、加工しようとする画像をサーバから端末装置にダウンロードし、該端末装置での描画操作に基づき該端末装置の画像処理プログラムで該操作に応じて加工処理を行い、加工処理が済んだ画像をサーバにアップロードして再保管するようにしていた。しかしこの従来方法によれば端末装置に専用の画像処理プログラムをインストールする必要があるため、普及の妨げになっていた。
端末装置に専用の画像処理プログラムをインストールすることなくWEBブラウザの機能を利用して画像共有サービスで画像加工処理を実現する方法として、サーバ側に画像処理プログラムを用意し、端末装置から描画操作をして、サーバ側の画像処理プログラムで該当する画像加工処理を実行する方法が考えられる。すなわち参加者は、加工処理しようとする画像をサーバから端末装置にダウンロードして該端末装置の該画像が表示されたブラウザ画面上で描画操作をし、該端末装置はサーバで該描画操作に応じた画像加工処理を実行するのに必要な情報をパラメータとして付加して該画像加工処理された画像を要求するHTTPリクエストを発行し、サーバはこのHTTPリクエストを受信して該リクエストにパラメータとして含まれる前記情報に基づき画像処理プログラムを制御して該当する画像加工処理を実行しかつ該加工処理された画像をHTTPリクエストに対する応答として返信し、端末装置は該加工処理された画像を受信してブラウザ画面に表示されている元の画像を該加工処理された画像で更新するというものである。
ところで画像加工処理を行っている際には、描画操作を行っている端末装置の画面上で描画操作(カーソルの移動等)に追従して加工処理結果が反映される(すなわち画面上でカーソルが通過した位置に沿って線が描かれていく等描画操作の進行に従って表示画像が順次変更されていく)必要がある。このような表示の更新は一般にエコーバックと呼ばれる。描画操作ではエコーバックの応答が遅いと描画操作している画面上で加工処理結果が即座に表示画像に反映されないため、思い通りの描画操作を行えず使い勝手の悪いものとなる。
エコーバックの応答の遅さは特に画像に濃度表現を有する筆ツールによる変更を加える描画操作において問題となる。ここで「濃度表現を有する筆ツール」とはポインティングデバイスの描画操作態様(マウスボタンを押したままカーソルを移動させるときの移動速度、カーソルを1箇所に留まらせたままマウスボタンを押し続ける時間等)に応じて描画濃度が変化する描画を実現する描画ツールであって、例えば筆ツール、ブラシツール、筆ブラシツール、エアブラシツール等と呼ばれるものである。例えばエアブラシツールはスプレーでインクを吹き付けたような効果を出すものであり、マウスボタンを押すことによりマウスカーソルの位置に所定の広がりで円状にインク吹き付け画像を描画する。円の中心に近いほど濃くなるように濃度分布を設定して描画することもできる。そして1箇所でマウスボタンを押し続ける時間により描画濃度をしだいに濃くすることができる。またマウスボタンを押したままカーソルを移動させた場合は、その移動速度を速くすれば薄く描画され、移動速度を遅くすれば濃く描画される。したがってエアブラシの描画操作による加工処理結果(エアブラシにより加工された画像)が即座に該描画操作を行っている画面上に反映されなければ操作者はどの位の時間マウスボタンを押し続ければよいのかあるいはどの位の速度でマウスカーソルを移動させればよいのかがわからず、思い通りの描画を行うことができない。したがってエコーバックの応答を速くすることは画像に濃度表現を有する筆ツールによる変更を加える描画操作において特に重要である。
エコーバックの応答の速さが描画操作の操作性に影響を与えることは上述のとおりであるが、端末装置に専用の画像処理プログラムをインストールして画像加工処理を行う従来方法によればエコーバックの応答を速くすることは容易であるから、問題なく画面上での描画操作に追従して加工処理結果を該画面上に即座に反映させることができる。これに対しサーバ側の画像処理プログラムを利用して加工処理を行う場合には、端末装置のブラウザ画面上で描画操作をしてサーバ側で対応する画像加工処理を行い、その加工処理結果を端末装置のブラウザ画面上に反映させるのに端末装置とサーバ間で通信が介在するので、必然的にエコーバックの応答が遅くなる。その結果後者の方法では特に、画像に濃度表現を有する筆ツールによる変更を加える描画操作において使い勝手が悪くなることが予想される。
前記サーバ側の画像処理プログラムを利用して画像加工処理を行う方法においてエコーバックの応答を速くするためには、加工が行われた画像全体をサーバから送信してブラウザ画面の画像表示全体を更新するのでなく、画像全体のうち加工が行われた領域に限ってサーバから送信してブラウザ画面の該当する領域を更新するという処理が必要である。ところが端末装置で描画操作が行われたときに、該端末装置が、該描画操作により加工が行われる領域を計算したうえで、該描画操作に応じた画像加工処理を実行するのに必要な情報をパラメータとして付加して画像全体のうち該画像加工処理が行われる領域の画像を要求するHTTPリクエストを発行するのでは、加工が行われる領域の計算が済んでから画像加工処理を実行するのに必要な情報がサーバに送られることになるため、サーバでの加工開始時間が該計算に要する時間分遅れることになり、その分エコーバックの応答が遅くなる。
この発明は上述の点に鑑みてなされたもので、端末装置のWEBブラウザ画面上での描画操作に基づきサーバ側に保管されている画像に対し濃度表現を有する筆ツールによる加工を施す方法において、描画操作に応じて加工される画像が該描画操作から大きく遅れることなくWEBブラウザの画面に反映されるようにした手法を提供しようとするものである。またこの発明は端末装置のWEBブラウザ画面上での描画操作に基づきサーバ側に保管されている画像に対し濃度表現を有する筆ツールによる加工を施す方法において、描画操作に応じて時々刻々加工されていく画像が該描画操作から大きく遅れることなくWEBブラウザの画面に反映されるようにして、端末装置の操作者が思い通りの描画操作をできるようにした手法を提供しようとするものである。
この発明の画像表示更新方法は、端末装置にインストールされたWEBブラウザの画面に画像を表示し、該画面上で該端末装置の操作者がポインティングデバイスで描画操作をすることにより、該ポインティングデバイスによるカーソル位置の画像の表示に濃度表現を有する筆ツールによる変更を加える画像表示更新方法であって、サーバに、前記操作者による描画操作対象となる画像のデータと、該描画操作に応じて該画像データに対して画像加工処理を実行する画像処理プログラムを保持管理し、前記端末装置と前記サーバをネットワークを介して相互に通信可能な状態に設定し、前記端末装置のWEBブラウザが前記サーバに対しHTMLドキュメントをHTTPリクエストによって要求すると、該サーバは該WEBブラウザによって解釈可能な描画操作エコーバックスクリプトが内部に記述されたHTMLドキュメントまたは該描画操作エコーバックスクリプトを外部ファイルとして読み込むことが記述されたHTMLドキュメントを該端末装置に該HTTPリクエストに対する応答として返信し、該端末装置のWEBブラウザは該HTMLドキュメントを受信して、該WEBブラウザに前記描画操作エコーバックスクリプトを付加し、前記HTMLドキュメントは、前処理として、前記サーバが保持管理する前記描画操作対象画像をHTTPリクエストによって該サーバに要求し、その返信として受け取った画像データによる画像を前記WEBブラウザの画面に表示し、前記端末装置のWEBブラウザに付加された前記描画操作エコーバックスクリプトは、前記画像が表示された画面上で前記描画操作がされたときに、該描画操作に応じたカーソル位置の座標情報をXMLHTTPリクエストによって前記サーバに送信し、前記サーバの画像処理プログラムは、受信した該カーソル位置の座標情報と、別途取得しまたは初めから保持する筆の描画サイズの情報に基づき、自らが保持管理する前記描画操作対象画像に対して、前記濃度表現を有する筆ツールによる画像加工処理を実行し、前記描画操作エコーバックスクリプトは前記カーソル位置の座標情報を送信後に、前記WEBブラウザの画面に表示された画像を複数の領域に分割する矩形領域のうち前記画像加工処理で画像内容に変更が生じる領域を含む単一または複数の矩形領域の情報を取得し、かつ該単一または複数の矩形領域の画像を選択的に要求する単一または複数のHTTPリクエストを該サーバに送信し、前記サーバは該単一または複数のHTTPリクエストを受信して、前記WEBブラウザの画面に表示された画像の該当する単一または複数の矩形領域の前記画像加工処理が終了した画像データを選択的に返信し、前記WEBブラウザは受信した単一または複数の矩形領域の画像データによる画像を、該WEBブラウザの画面の該当する矩形領域に、それまで該矩形領域に表示されていた画像に代えて表示するものである。
なおこの発明において「WEBブラウザ」とは、マイクロソフト社のInternet Explorer(登録商標)等のWEBページを閲覧するソフトウェアであり、明示的に「WEBブラウザ」と称しているもの以外に、WEBページを閲覧する機能を有しているが「WEBブラウザ」と称していないものを含むものとする。
この発明によれば、WEBブラウザの画面に表示された画像を複数の領域に分割する矩形領域のうち、描画操作に基づく画像加工処理で画像内容に変更が生じる領域を含む単一または複数の矩形領域の画像を選択的にサーバからWEBブラウザに送信して該WEBブラウザの画面表示を更新するので、WEBブラウザの画面に表示された画像全体分の画像をサーバからWEBブラウザに送信して該WEBブラウザの画面に表示された画像全体の表示を更新する場合に比べて、更新画像のダウンロードに要する時間を短縮することができる。その反面、この手法によればWEBブラウザの画面に表示された画像全体の表示を更新する場合に比べて、画像内容に変更が生じる領域を計算する分の時間が必要となる。そこでこの発明では描画操作エコーバックスクリプトは画像が表示された画面上で描画操作がされたときに、該描画操作に応じたカーソル位置の座標情報をXMLHTTPリクエストによってサーバにいち早く送信するようにしている(加工処理された画像を要求するHTTPリクエストはこの時点では送信せず、後に別途送信する。画像加工処理で画像内容に変更が生じる領域の計算は該カーソル位置の座標情報をサーバに送信した後に端末装置側またはサーバ側で行うことができる)。したがってサーバの画像処理プログラムは描画操作から短時間のうちに該描画操作に対応した画像加工処理を開始することができる。したがって描画操作がされたときに、加工が行われる領域の計算が済んでから画像加工処理を実行するのに必要な情報をサーバに送る場合に比べて、描画操作がされてから画像加工処理が終了するまでの時間を短縮することができる。これにより描画操作エコーバックスクリプトは前記XMLHTTPリクエストを送信した後に、加工処理された画像を要求するHTTPリクエストを送信すると、該当する加工処理された画像を少ない待ち時間で取得することができる
またこの発明の画像表示更新方法は、端末装置にインストールされたWEBブラウザの画面に画像を表示し、該画面上で該端末装置の操作者がポインティングデバイスで描画操作をすることにより、該ポインティングデバイスによるカーソル位置の画像の表示に濃度表現を有する筆ツールによる変更を加える画像表示更新方法であって、サーバに、前記操作者による描画操作対象となる画像のデータと、該描画操作に応じて該画像データに対して画像加工処理を実行する画像処理プログラムを保持管理し、前記端末装置と前記サーバをネットワークを介して相互に通信可能な状態に設定し、前記端末装置のWEBブラウザが前記サーバに対しHTMLドキュメントをHTTPリクエストによって要求すると、該サーバは該WEBブラウザによって解釈可能な描画操作エコーバックスクリプトが内部に記述されたHTMLドキュメントまたは該描画操作エコーバックスクリプトを外部ファイルとして読み込むことが記述されたHTMLドキュメントを該端末装置に該HTTPリクエストに対する応答として返信し、該端末装置のWEBブラウザは該HTMLドキュメントを受信して、該WEBブラウザに前記描画操作エコーバックスクリプトを付加し、前記HTMLドキュメントは、前処理として、前記サーバが保持管理する前記描画操作対象画像をHTTPリクエストによって該サーバに要求し、その返信として受け取った画像データによる画像を前記WEBブラウザの画面に表示し、前記端末装置のWEBブラウザに付加された前記描画操作エコーバックスクリプトは、前記画像が表示された画面上で前記描画操作がされたときに、該描画操作に応じたカーソル位置の座標情報をXMLHTTPリクエストによって前記サーバに送信し、前記サーバの画像処理プログラムは、受信した該カーソル位置の座標情報と、別途取得しまたは初めから保持する筆の描画サイズの情報に基づき、自らが保持管理する前記描画操作対象画像に対して、前記濃度表現を有する筆ツールによる画像加工処理を実行し、前記描画操作エコーバックスクリプトは前記カーソル位置の座標情報を送信後に、前記WEBブラウザの画面に表示された画像を複数の領域に分割する矩形領域のうち前記画像加工処理で画像内容に変更が生じる領域を含む単一または複数の矩形領域の情報を取得し、かつ該単一または複数の矩形領域の画像を選択的に要求する単一または複数のHTTPリクエストを該サーバに送信し、前記サーバは該単一または複数のHTTPリクエストを受信して、前記WEBブラウザの画面に表示された画像の該当する単一または複数の矩形領域の前記画像加工処理が終了した画像データを選択的に返信し、前記WEBブラウザは受信した単一または複数の矩形領域の画像データによる画像を、該WEBブラウザの画面の該当する矩形領域に、それまで該矩形領域に表示されていた画像に代えて表示し、該WEBブラウザは前記XMLHTTPリクエストによるカーソル位置の座標情報の送信を、それ以前のXMLHTTPリクエストにより送信されたカーソル位置の座標情報に基づき加工処理された画像が該WEBブラウザの画面に表示されるのを待たずに、前回のXMLHTTPリクエストに対する応答を受信後に順次実行し、前記サーバの画像処理プログラムは該XMLHTTPリクエストに基づき、前記画像加工処理がされた画像に対しさらに該画像加工処理を繰り返すものである。
この発明によれば前述の効果に加えて、描画操作に応じて時々刻々加工されていく画像を該描画操作から大きく遅れることなくWEBブラウザの画面に反映させることが可能になり、端末装置の操作者は濃度表現を有する筆ツールを用いた描画を自分の思い通りに実行することが可能になる。また描画操作エコーバックスクリプトはXMLHTTPリクエストによるカーソル位置の座標情報の送信を、それ以前のXMLHTTPリクエストにより送信されたカーソル位置の座標情報に基づき加工処理された画像がブラウザの画面に表示されるの待たずに順次実行するので、サーバの画像処理プログラムは描画操作に追従して画像加工処理を実行することができる。このことも、描画操作に応じて時々刻々加工されていく画像が該描画操作から大きく遅れることなくWEBブラウザの画面に反映されることに寄与している。
この発明の画像表示更新方法において、描画操作エコーバックスクリプトは画像加工処理で画像内容に変更が生じる領域を含む単一または複数の矩形領域の情報を自ら計算して取得することができる。また描画操作エコーバックスクリプトは画像加工処理で画像内容に変更が生じる領域を含む単一または複数の矩形領域の情報をサーバの画像処理プログラムが計算した結果を受信して取得することもできる。
この発明の画像表示更新方法において、描画操作エコーバックスクリプトは筆の描画サイズの情報をカーソル位置の座標情報と同時にサーバに送信することができる。また描画操作エコーバックスクリプトは筆の描画サイズの情報を、操作者により筆の描画サイズの設定操作がされたときにサーバに送信することもできる。
この発明の画像表示更新方法において、サーバの画像処理プログラムは端末装置から受信したカーソル位置の座標情報と、該端末装置から該カーソル位置の座標情報と同時に受信しまたは該サーバが該カーソル位置の座標情報を受信する以前から保持している筆の描画サイズの情報に基づき画像加工処理を実行し、かつ該画像描画処理により描画するまたは描画した筆の描画中心位置の座標情報をXMLHTTPリクエストに対する応答として端末装置のWEBブラウザに返信し、描画操作エコーバックスクリプトは該サーバから受信する筆の描画中心位置の座標情報と、該サーバから該筆の描画中心位置の座標情報と同時に受信しまたは該描画操作エコーバックスクリプトが該筆の描画中心位置の座標情報を受信する以前から保持している筆の描画サイズの情報を利用して、画像加工処理で画像内容に変更が生じる領域を含む単一または複数の矩形領域の情報を自ら計算して取得することができる。この場合筆の描画中心位置の座標情報はカーソル位置の座標情報そのものまたは該カーソル位置の座標該カーソル位置の座標情報で補間処理した座標情報とすることができる。
この発明の画像表示更新方法において、描画操作エコーバックスクリプトは自ら取得しかつサーバを経由しないカーソル位置の座標情報と、該描画操作エコーバックスクリプトが該カーソル位置の座標情報を取得する以前から保持している筆の描画サイズの情報を利用して、画像加工処理で画像内容に変更が生じる領域を含む単一または複数の矩形領域の情報を自ら計算して取得することができる。
この発明の画像表示更新方法はさらに、他の端末装置からの描画操作により加工される画像を自端末装置の画面上に反映させることができる。すなわち画像処理プログラムは描画操作対象画像に対して他の端末装置から同時に描画操作がされたときに該描画操作に基づく画像加工処理を併せて実行し、描画操作エコーバックスクリプトはタイマー駆動により定期的にXMLHTTPリクエストを発行し、画像処理プログラムは他の端末装置からの描画操作に基づく画像加工処理に対応して、該画像処理プログラムで計算した画像内容に変更が生じる領域を含む単一または複数の矩形領域の情報または描画操作エコーバックスクリプトで該矩形領域を計算するのに必要な情報を該XMLHTTPリクエストに対する応答として返信し、描画操作エコーバックスクリプトは該サーバから受信して取得した情報による単一または複数の矩形領域または該サーバから受信した情報に基づき自ら計算して取得した情報による単一または複数の矩形領域の画像を選択的に要求する単一または複数のHTTPリクエストを該サーバに送信し、サーバは該HTTPリクエストを受信して、WEBブラウザの画面に表示された画像の該当する単一または複数の矩形領域の画像データを選択的に返信し、WEBブラウザは受信した単一または複数の矩形領域の画像データによる画像を、該WEBブラウザの画面の該当する矩形領域に、それまで該矩形領域に表示されていた画像に代えて表示する。
この発明の画像表示更新方法において、サーバが保持管理する描画操作対象画像はその画像全体に相当する単一の画像ファイルまたは該画像全体を実際に矩形に分割した複数のスライス画像に相当する複数の画像ファイルで構成され、前記矩形領域は1つの画像ファイルによる画像を仮想的に複数の矩形に分割した該仮想分割画像単位の領域とすることができる。またサーバが保持管理する描画操作対象画像はその画像全体を実際に複数の矩形に分割した複数のスライス画像の画像ファイルで構成され、前記矩形領域は該スライス画像単位の領域とすることもできる。
この発明の画像表示更新方法において、端末装置の描画操作エコーバックスクリプトは、受信した単一または複数の矩形領域の画像を、前記WEBブラウザの該当する領域に、それまで該領域に表示されていた画像の手前にzインデックスを変更することにより配置して表示することができる。
この発明の画像表示更新方法において、端末装置の描画操作エコーバックスクリプトは、画像が表示された画面上で描画操作がされたときに、1回のXMLHTTPリクエストにつき、該描画操作によるカーソルの移動軌跡に応じた該カーソル位置の複数の座標位置の情報をサーバに送信し、かつ該複数の座標位置に基づく画像加工処理全体で画像内容に変更が生じる領域を含む単一または複数の矩形領域の情報を取得し、かつ該単一または複数の矩形領域の画像を選択的に要求する単一または複数のHTTPリクエストを該サーバに送信することができる。
この発明の画像表示更新方法において、ポインティングデバイスの描画操作態様は該ポインティングデバイスの移動速度や該ポインティングデバイスのボタン押下時間等とすることができる。
この発明のサーバ・クライアントシステムはこの発明の画像表示更新方法を実行するものである。この発明の描画操作エコーバックスクリプトはこの発明の画像表示更新方法を実行するために前記端末装置で行う処理を該端末装置に実行させるプログラムであって、前記サーバから送信され前記端末装置の前記WEBブラウザに付加されるものである。
《実施の形態1》
この発明の実施の形態を以下説明する。図1はシステム構成を示す。このシステムは端末装置(HTTPクライアント)10とHTTPサーバ12をインターネット等のHTTPプロトコルネットワーク14を介して相互に接続してサーバ・クライアントシステムとして構成されている。端末装置10にはマウス、タブレット等のポインティングデバイス16とディスプレイ18が付属されている。ここではポインティングデバイス16としてマウスを使用する場合について説明する。また端末装置10にはJAVASCRIPT(登録商標)をはじめとするECMAScript規格に準拠したスクリプト言語を解釈できるInternet Explorer等の一般的なWEBブラウザがインストールされている。この実施の形態では該スクリプト言語としてJAVASCRIPTを使用した場合を示している。
HTTPサーバ12には画像処理プログラムがインストールされている。この画像処理プログラムは一般的なペイントソフトや画像編集(レタッチ)ソフトと同様に、様々な描画ツール(濃度表現を有する筆ツール、鉛筆、直線、曲線、塗りつぶし、消しゴム等)を使用して新規画像の作成および作成済み画像の加工を行えるものであるが、ここでは作成済み画像を描画操作対象画像として、濃度表現を有する筆ツール(以下単に「筆ツール」という)を使用して該描画操作対象画像の加工を行う場合について説明する。この実施の形態の画像処理プログラムによれば端末装置10の操作者は筆ツールについて次の描画属性の指定を行うことができる。

(a)筆の色(赤、緑、青ごと)
(b)筆の全体的な濃度
(c)円形、楕円形などの筆の断面形状(描画形状)
(d)筆の濃度分布パターン(筆の種類)
(e)筆の描画サイズ
(f)補間の有無

なお(d)の筆の濃度分布パターンの指定で濃度表現を有する筆ツールの濃度分布パターンを指定することにより濃度表現を有する筆ツールが選択されることになる。また描画される筆の各部の濃度は「(b)で指定された全体的な濃度×(d)で指定された濃度分布パターン」によって決まる。この実施の形態では筆の描画形状が円形で、円の中心に近いほど濃くなるような濃度分布パターンで描画するものとする。円形の筆を指定した場合は描画サイズの指定は筆の描画半径または描画直径(この実施の形態では描画半径)の指定となる。
HTTPサーバ12には前記画像処理プログラムにより筆ツール属性情報受信モジュール20、筆ツール計算モジュール22、画像指定領域切り出しモジュール24等が予め用意されている。また、HTTPサーバ12の共有メモリ26には筆ツール属性情報格納領域28と加工対象のビットマップ画像データ(描画操作対象画像)の格納領域30が予め用意されている。WEBブラウザからのHTTPリクエストに対してサービスするHTTPサーバ12は、各リクエストに対して基本的に独立であり、通常はメモリ共有をしない。しかしここでは描画操作のエコーバックをWEBブラウザ上で実現するために、HTTPサーバ12は各サービスで共有メモリ26を共有する。なおHTTPサーバ12は全体を1台のサーバで構成するほか、その機能を分散して複数台のサーバを組織して構成することもできる。
筆ツール属性情報受信モジュール20は端末装置10から予め送られてくる筆ツールの属性情報(この実施の形態では、色、全体的な濃度、断面形状、濃度分布パターン、補間の有無)を受信し、共有メモリ26の筆ツール属性情報格納領域28に格納する。なおこの実施の形態では操作者によって設定される筆の属性のうち描画サイズ(描画半径)の情報は実際に描画操作がされた時にカーソル位置の座標情報とともに端末装置10からHTTPサーバ12に送信するようにしている。筆ツール計算モジュール22は端末装置10で描画操作が実行されているときに、筆ツール属性情報格納領域28に格納されている筆ツールの属性情報(色、全体的な濃度、断面形状、濃度分布パターン、補間の有無)を取得し、かつ端末装置10から筆ツールの座標情報および描画サイズ(描画半径)の情報を受け取り、共有メモリ26のビットマップ画像データ格納領域30の画像データに対して、濃度計算をしながら画像に変更を加える処理(画像加工処理)を実行する。
この濃度計算は例えば筆ツールによる描画操作により画像データに変更を加える領域(描画直径)内の画素ごとに、該画像データによる画素値に1-α(αは適宜の係数で、0<α<1)を掛けた値と筆ツールによる画素値にαを掛けた値どうしを加算することにより行われる。その結果該領域内の画素ごとに背景画像(元の画像)と筆による画像を混ぜた画素に加工され、筆による画像の奥に背景画像が透けて見える半透明の状態の画像が得られる。この濃度計算は描画操作が実行されている間中、onMouseMoveイベントによって筆ツールの検出座標が変化するごとに前回の加工結果に対して順次繰り返される。その結果同一画素に対して加工が繰り返される場合は、該画素は次第に(つまり加工回数が増えるにつれて)筆の影響が強くなりその分背景画像の影響が弱くなっていく。ここでonMouseMoveイベントによる筆ツールの検出座標はマウスカーソルの移動速度が遅いときは前回の検出座標との距離が短く、該移動速度が速くなるほど前回の検出座標との距離が長くなるので、1つの画素に対して筆の描画直径が通過する間に繰り返される加工回数はマウスカーソルの移動速度が遅いときは多くなり、該移動速度が速いときは少なくなる。したがってマウスカーソルの移動速度が遅いときは筆が濃く描画され、該移動速度が速いときは筆が薄く描画される。このようにして濃度表現を有する筆による描画表現が実現される。
上記濃度計算はonMouseMoveイベントによって筆ツールの検出座標が変化するごとに行うのに代えてタイマーイベント(setIntervalあるいはsetTimeout)により一定時間ごとに行うこともできる。タイマーイベントとしてsetIntervalを使用する場合は1回設定すると一定時間ごとに繰り返し設定した濃度計算の関数が呼び出される。これに対しsetTimeoutを使用する場合は一定時間後に1回だけ濃度計算の関数が呼び出されるので、この呼び出された関数の中で再びsetTimeoutを設定することによって繰り返し関数が呼ばれるようにする。タイマーイベントを使用した場合も、onMouseMoveイベントを使用した場合と同様に、マウスカーソルの移動速度が遅いときは、1つの画素に対して筆の描画直径が通過する時間が長くなるので加工回数が多くなり、その結果筆が濃く描画される。これに対しマウスカーソルの移動速度が速いときは、1つの画素に対して筆の描画直径が通過する時間が短くなるので加工回数が少なくなり、その結果筆が薄く描画される。
濃度表現を有する筆による描画表現は上記濃度計算以外の方法でも実現可能である。例えば筆の描画直径内の背景画像(元の画像)の飛び飛びの位置の画素を筆による画素で置き換えることにより、人の目には(つまり巨視的には)筆による画像の奥に背景画像が透けて見える半透明の状態の画像が得られる。そして描画操作が実行されている間中、筆の描画直径内について、onMouseMoveイベントによって筆ツールの検出座標が変化するごとにこの画素の置き換え箇所を順次増やしていくことにより、次第に筆の影響が強くなりその分背景画像の影響が弱くなっていく。ここでonMouseMoveイベントによる筆ツールの検出座標はマウスカーソルの移動速度が遅いときは前回の検出座標との距離が短く、該移動速度が速くなるほど前回の検出座標との距離が長くなるので、筆の描画直径が通過する領域の単位面積あたりの画素の置き換え数はマウスカーソルの移動速度に応じて変化する。すなわち該置き換え数はマウスカーソルの移動速度が遅いときは多くなり、該移動速度が速くなるほど少なくなる。したがってマウスカーソルの移動速度が遅いときは筆が濃く描画され、該移動速度が速いときは筆が薄く描画される。このようにして濃度表現を有する筆による描画表現が実現される。
上記画素の置き換えはonMouseMoveイベントによって筆ツールの検出座標が変化するごとに行うのに代えてタイマーイベントで計測した一定時間ごとに行うこともできる。これによれば筆の描画直径が通過する領域の単位面積あたりの画素の置き換え数はマウスカーソルの移動速度が遅いときは多くなり、該移動速度が速くなるほど少なくなる。したがってマウスカーソルの移動速度が遅いときは筆が濃く描画され、該移動速度が速いときは筆が薄く描画される。
HTTPサーバ12の記憶装置32には端末装置10からアクセスがあったときに最初に読み出されるHTMLドキュメントが記憶されている。このHTMLドキュメントには端末装置10のWEBブラウザによって実行可能な、JAVASCRIPTによって記述された描画操作エコーバックスクリプトが含まれている。HTMLドキュメントに描画操作エコーバックスクリプトを含ませて解釈する方法としては、HTMLドキュメントの内部にそのまま描画操作エコーバックスクリプトを記述して一括して読み込み解釈する方法(内部記述による方法)、HTMLドキュメントの解釈中に外部ファイルとしてHTTPサーバ12から描画操作エコーバックスクリプト部分を読み込んで全体を組み立ててから解釈する方法(外部ファイルによる方法)等がある。HTTPサーバモジュール34はHTTPプロトコルにより端末装置10との通信を行う。
図1のシステム構成において筆ツールにより描画される画像について説明する。図2は描画操作対象画像の全体を構成するカンバス36に対して筆ツールにより描画を行う状態を示す。なお端末装置10のディスプレイ18にはこのカンバス36の全体(カンバス36すなわち描画操作対象画像全体がディスプレイ18の表示領域に収まる大きさの場合)または一部(カンバス36すなわち描画操作対象画像全体がディスプレイ18の表示領域に収まらない大きさの場合)が表示される。カンバス36の一部が表示される場合は操作者のスクロール操作により表示領域を移動して任意の画像領域を表示することができる。いま操作者が描画操作対象画像が表示されたディスプレイ18の画面上で、マウスカーソルを図2(a)に示すようにカンバス36上の例えば左上角を原点Oとする任意の位置P1(x,y)に位置決めしてマウスボタンを押下すると、該マウスカーソル位置P1(x,y)を中心とする半径rの円形に筆ツールによる画像38が描かれる。ここでは円の中心に近いほど濃くなるように濃度分布が設定されている。マウスボタンを押下したままマウスカーソルを移動すると、図2(b)に示すようにマウスカーソルの移動軌跡P1,P2,・・・,Pmに追従して筆ツールによる連続した画像38(太さ2rの曲線画像)が描かれていく。このとき画像38の描画濃度はマウスカーソルの移動速度によって変化する。すなわちマウスカーソルの移動速度を速くすれば薄く描画され、遅くすれば濃く描画される。
図2の描画を実現するための画像加工処理はHTTPサーバ12の筆ツール計算モジュール22によって実現される。そしてこの画像加工処理により時々刻々加工されていく画像を端末装置10のディスプレイ18(WEBブラウザの画面)にエコーバックとして表示する。このとき更新速度を速くするためにカンバス36を仮想的に矩形に分割して管理する。図3はこの矩形分割の一例を示す。図3ではカンバス36を、その原点Oから横方向(x軸方向)および縦方向(y軸方向)にそれぞれ所定画素数ずつ区切って同一の大きさの矩形40に分割している。ここでは個々の矩形40を「セル」と呼ぶことにする。個々のセルの大きさはディスプレイ18の表示領域全体の大きさに比べて十分に小さく、例えば縦・横各方向とも48画素程度に設定することができる。カンバス36の原点Oから数えたセル40の番地を{X,Y}(X=0,1,2,・・・M、Y=0,1,2,・・・N)で表す。エコーバックは描画操作に基づく画像加工処理により画像内容に変更を生じたセルの画像(仮想分割画像、セル画像)をHTTPサーバ12から端末装置10のWEBブラウザに供給することにより行う。図2(a)に対応する図3の例で言えば、マウスカーソルをカンバス36上の任意の位置P1(x,y)に位置決めしてマウスボタンを押下すると、マウスカーソル位置P1(x,y)を中心とする半径rの円形に筆による画像38が描かれる。その結果X座標が4,5,6,7でY座標が3,4,5,6である図3に太線で囲んだ領域の14個のセルの画像内容に変更が生じる。そこでWEBブラウザはHTTPリクエストによりこの変更後の14個のセル画像を要求し、HTTPサーバ12は保持している画像加工処理が行われた画像からこの14個のセル画像を切り出してWEBブラウザに送信する。WEBブラウザは受信した各セル画像をディスプレイ18に表示されている画像の該当する矩形領域に、それまで該矩形領域に表示されていた画像に代えて表示する。このようにしてエコーバックが行われる。そして以上の画像加工処理およびエコーバック処理をカーソルが移動する(画像上でカーソル座標が変化する)ごとに実行することにより描画操作に追従して画像加工処理およびエコーバックがリアルタイムで行われるようにする。このときHTTPサーバ12からは画像内容に変更が生じたセル画像のみを送信するので、描画操作対象画像全体を送信する場合に比べて画像表示を高速に更新することができる。なお後述する数4あるいは図7の手法のように、画像内容に変更が生じる領域全体を含む1つの矩形領域が掛かる全てのセル画像(画像内容に変更が生じるセルに隣接する画像内容に変更が生じないセル画像が含まれる場合がある)をHTTPサーバに要求して画像表示を更新することもできる。
図1のシステムを使用して端末装置10の操作者によるブラウザ画面からの描画操作によりHTTPサーバ12側で描画操作対象画像に対して順次画像加工処理を行い、かつそのエコーバックとして端末装置10のディスプレイ18に表示されている描画操作対象画像を順次更新していく処理手順を図4を参照して説明する。はじめに実際に描画操作を開始する前の前処理について説明する。端末装置10で操作者がWEBブラウザを起動してHTTPサーバ12(WEBサイト)へのアクセスを指示操作をすると(S1)、WEBブラウザはHTTPサーバ12に対しHTMLドキュメントを要求するHTTPリクエストを送信する(S2)。HTTPサーバ12はこれを受信して、記憶装置32から指定されたHTMLドキュメントの入ったファイルを読み出し返信する(S3)。HTTPサーバ12は記憶装置32からHTMLドキュメントの入ったファイルを読み出すのに代えて、cgiプログラムでHTMLドキュメントを生成し返信することもできる。このHTMLドキュメントには端末装置10のWEBブラウザによって実行可能な、JAVASCRIPTによる描画操作エコーバックスクリプトが格納(内部記述または外部ファイルによる)されている。WEBブラウザは送られてきた描画操作エコーバックスクリプトを含むHTMLドキュメントを解釈する(S4)。以下WEBブラウザ側の処理はこのJAVASCRIPTによって実行される。
WEBブラウザはいわゆるペイントシステムを構成するためのメニューシステム(描画ツールの選択や属性の設定を行うためのツールボックス等)をWEBブラウザの画面上に構成(表示)する(S5)。このWEBブラウザ画面上へのメニューシステムの構成はJAVASCRIPTによりメニューシステムをWEBブラウザの画面上に構成する周知の手法を用いて実現することができる。そして複数回のHTTPリクエストでメニュー画像を読み込んでWEBブラウザの画面上にメニューを組み立てることができる。
またWEBブラウザにはHTTPサーバ12側で設定したカンバス36上の各セル位置を識別するために必要な情報(セルのサイズ、番地の付与方法等)が定義される。WEBブラウザはさらにHTTPサーバ12が保持管理する描画操作対象画像をHTTPリクエストによってHTTPサーバ12に要求する(S6)。このセルを定義し描画操作対象画像を要求する一連のJAVASCRIPTのプログラムリスト例を数1に示す。
Figure 0004085123
HTTPサーバ12は描画操作対象画像を要求するHTTPリクエストを受け取ると、ビットマップ画像データ格納領域30から指定された画像ファイルを読み出し描画操作対象画像として返信する(S7)。WEBブラウザはこの描画操作対象画像を受け取って表示する(S8)。操作者はWEBブラウザの画面に表示されたメニューシステムを操作して筆ツールについて色、全体的な濃度、断面形状、濃度分布パターン、描画サイズ、補間の有無の各属性を指定する(S9)。WEBブラウザは指定された筆の属性のうち描画サイズを除く属性を引数に設定してXMLHTTPリクエストを発行する(S10)。このXMLHTTPリクエストを発行するJAVASCRIPTのプログラムリスト例を数2に示す。
Figure 0004085123
HTTPサーバ12はこのXMLHTTPリクエストを受け取ってその中に含まれる筆の属性情報(色、全体的な濃度、断面形状、濃度分布パターン、補間の有無)を共有メモリ26の筆ツール属性情報格納領域28に保存する(S11)。HTTPサーバ12はXMLHTTPリクエストに対する応答としてダミー情報を返信する(S12)。WEBブラウザはこの応答を受け取ってそのまま廃棄する(S13)。ダミー情報に代えてエラー情報(エラーの有無を通知する情報)を返信することもできる。以上で前処理が終了し、操作者による描画操作が可能な状態となる。
次に、以上のようにして前処理が終了した状態で操作者が実際に描画操作したときの処理について説明する。操作者がWEBブラウザに表示された描画操作対象画像上の描画したい場所にマウスカーソルを位置決めしてマウスボタンを押下すると(S14)、これをトリガにしてWEBブラウザは該画像上での筆ツールの座標(マウスカーソルの座標)および前記属性設定で指定された筆ツールの描画サイズ(描画半径)を引数に設定してXMLHTTPリクエストを発行する(S15)。このXMLHTTPリクエストを発行するJAVASCRIPTのプログラムリスト例を数3に示す。
Figure 0004085123
HTTPサーバ12はXMLHTTPリクエストを受け取ると、先に保存されている筆ツールの属性(色、全体的な濃度、断面形状、濃度分布パターン、補間の有無)と、今回送られてきた筆ツールの座標および描画半径に基づき、画像処理プログラムを使用して、自らが保持管理する描画操作対象画像に対して筆ツールによる画像加工処理を実行する。このようにして画像処理プログラムは描画操作から短時間のうちに(つまり画像加工処理によって画像内容に変更が生じるセルの計算結果が出るのを待つことなく)該描画操作に対応した画像加工処理を開始することができる。そしてHTTPサーバ12は実際に加工した(またはこれから加工しようとする)該画像加工処理の中心座標(筆ツールの座標)と描画半径をXMLHTTPリクエストに対する応答として返信する(S16)。なお属性設定で補間の有無について「有り」が指示された場合であって前回のXMLHTTPリクエストで送られてきた筆ツールの座標と今回のXMLHTTPリクエストで送られてきた筆ツールの座標との間が離れている場合は該座標間を補間(直線補間、スプライン補間等)して画像加工処理を施し、かつ該補間した複数の中心座標と描画半径を返信する。
WEBブラウザは画像加工処理の中心座標と描画半径を受け取ると、これらの情報に基づき、描画操作対象画像を仮想的に分割するいずれのセルの画像内容に画像加工処理による変更が生じるかを計算する。そして計算により求められたセルを識別する番号(例えば図3のX,Y座標を組み合わせた数値)を引数として該当するセル画像を要求するHTTPリクエストを発行する(S17)。この際HTTPリクエストの仕様上、返信として受け取る予定のセル画像の表示位置(ブラウザ画面の原点を基準とした位置)を指定する。なおHTTPリクエストは要求するセル画像ごとに発行されるので、このHTTPリクエストは複数になる場合がある。
HTTPサーバ12はHTTPリクエストを受け取ると、自らが保持管理する描画操作対象画像から該リクエストで指示されるセルの識別番号に対応する矩形領域の画像を切り取って返信する(S18)。WEBブラウザは送られてきたセル画像を、ブラウザの画面の該当する領域(画像要求時に指定した表示位置)に現在表示している画像の手前にzインデックスの機能で表示する。すなわち1つのセル画像の受信を終了したら、該新たなセル画像のzインデックスを現在その領域に表示されている画像のzインデックスよりも大きい値に設定することにより、該新たなセル画像を手前に配置して表示する(S19)。以上の処理によればHTTPサーバ12からは画像内容に変更が生じたセルの画像のみを送信するので、描画操作対象画像全体を送信する場合に比べて画像表示を高速に更新することができる。画像内容に変更が生じるセルを計算して該計算に基づきHTTPリクエストを発行し、さらに該HTTPリクエストに対する応答として送られてきたセル画像を現在表示している画像の手前にzインデックスの機能で表示するJAVASCRIPTのプログラムリスト例を数4〜数5に示す。なお数4では計算を容易にするために、画像内容に変更が生じる全てのセルのみを計算するのに代えて、画像内容に変更が生じる全てのセルを含む最小の矩形領域に含まれるセルを計算している。すなわち図3の例で言えば、X座標が4,5,6,7でY座標が3,4,5,6である矩形領域(後述する図7(b)に太線で囲んだ領域と同じ)に含まれる16個のセルを計算している。その結果この16個のセルの中には画像内容に変更が生じたセルに隣接する画像内容に変更が生じていないセル{7,3}、{7,6}も含まれることになるが、この発明はWEBブラウザが画像内容に変更が生じていないセルの画像を一部含んで要求し画像表示を更新する場合を排除するものではない。この場合も描画操作対象画像全体を送信する場合に比べて画像表示を高速に更新することができる。
Figure 0004085123
(数4続き)
Figure 0004085123
以上の処理によりWEBブラウザの画面では描画操作に伴い描画操作対象画像に描画加工処理が施されたかのように表示が更新される(エコーバックされる)。そして前記XMLHTTPリクエストによる筆ツールの座標および描画半径の送信(S15)を筆ツールの座標が変化するごと(onMouseMoveイベントによる筆ツールの検出座標が変化するごと、すなわち筆ツールの移動速度が遅ければ1画素ごと、速ければ検出される飛び飛びの位置の画素ごと)に順次実行する。すなわちそれ以前のXMLHTTPリクエストにより送信されたカーソル位置の座標情報に基づき加工処理された画像がWEBブラウザの画面に表示されるの待たずにカーソル位置の座標情報の送信を順次実行する。これにより筆ツールの動きに追従して筆ツールによる描画が順次実行される。またこれに合わせてリアルタイムでエコーバックが行われる。
《実施の形態2》
前記実施の形態1では筆ツールの座標が変化するごとに画像内容に変更が生じるセルを計算しかつ該当するセル画像をHTTPサーバ12に要求したが、これでは筆ツールの座標が変化するごとにHTTPサーバ12から該当するセル画像を送信することになるので、WEBブラウザの通信セッションが足らなくなり(受信すべきセル画像の数が多くなり、該セル画像の受信が追いつかなくなる)、エコーバックがリアルタイムでブラウザ画面に表示されない場合が生じる可能性がある。そこで筆ツールの座標の変化が複数回生じるごとに、該複数回の座標の変化に基づく画像加工処理全体で画像内容に変更が生じるセルを計算しかつ該当するセル画像(該複数回の座標の変化による画像加工処理が済んだ画像)をHTTPサーバ12に要求する。このようにすれば筆ツールの座標が複数回変化するごとにHTTPサーバ12から該当するセル画像を送信すれば済むので、筆ツールの座標が変化するごとにHTTPサーバ12から該当するセル画像を送信する場合に比べてHTTPサーバ12から送信するセル画像の数を減少させることができ、WEBブラウザの通信セッション不足を緩和することができる。
《実施の形態3》
前記実施の形態1ではXMLHTTPリクエストによる筆ツールの座標および描画半径の送信(図4のS15)を筆ツールの座標が変化するごとに行ったが、これではWEBブラウザ側の通信セッションが足らなくなって(つまり通信セッションがXMLHTTPリクエストによる筆ツールの座標および描画半径の送信のためだけに費やされ、加工処理したセル画像の受信が追いつかなくなる)、エコーバックがリアルタイムでブラウザ画面に表示されない場合が生じる可能性がある。そこでXMLHTTPリクエストによる筆ツールの座標および描画半径の送信を筆ツールの座標が変化するごとに行うのに代えて、筆ツールの座標が所定の複数回変化するごとに該変化した複数個の座標および描画半径の組をまとめて1回のXMLHTTPリクエストで送信する。このようにすればXMLHTTPリクエストによる筆ツールの座標および描画半径の送信(図4のS15)の回数が減少するので、WEBブラウザの通信セッション不足を緩和することができる。この場合前記実施の形態2の手法も併用して、該1回のXMLHTTPリクエストで送信した複数個の座標に基づく画像加工処理全体で画像内容に変更が生じるセルを計算しかつ該当するセル画像(該複数個の座標による画像加工処理が済んだ画像)をHTTPサーバ12に要求するようにすれば、WEBブラウザの通信セッション不足をより緩和することができる。
実施の形態3による処理手順を図5を参照して説明する。ここでは前記実施の形態2の手法も併用する。なお前処理は実施の形態1で説明したのと同じであるのでその説明は省略する。前処理が終了した状態で操作者がWEBブラウザに表示された描画操作対象画像上の描画したい場所にマウスカーソルを位置決めしてマウスボタンを押下しながら移動すると(S21)、WEBブラウザは該画像上での筆ツールが移動した複数の座標および属性設定で指定された筆ツールの描画半径の組を引数に設定してXMLHTTPリクエストを発行する(S22)。この引数の組の数は例えば2〜4個程度である。このXMLHTTPリクエストを発行するJAVASCRIPTのプログラムリスト例を数6〜数7に示す。
Figure 0004085123
(数6続き)
Figure 0004085123
HTTPサーバ12はXMLHTTPリクエストを受け取ると、先に保存されている筆ツールの属性(色、全体的な濃度、断面形状、濃度分布パターン、補間の有無)と、今回送られてきた複数の筆ツールの座標および描画半径の組に基づき、画像処理プログラムを使用して、自らが保持管理する前記描画操作対象画像に対して筆ツールによる画像加工処理を実行する。そして実際に加工した(またはこれから加工しようとする)複数の該画像加工処理の中心座標(筆ツールの座標)と描画半径をXMLHTTPリクエストに対する応答として返信する(S23)。なお属性設定で補間の有無について「有り」が指示された場合であって今回送られてきた筆ツールの複数の座標間が離れている場合は該座標間を補間して画像加工処理を施し、かつ該補間により数が増えた中心座標と描画半径を返信する。また前回のXMLHTTPリクエストで送られてきた筆ツールの最後の座標と今回のXMLHTTPリクエストで送られてきた筆ツールの最初の座標との間が離れている場合も該座標間を補間して画像加工処理を施し、かつ該補間された分の中心座標と描画半径を併せて返信する。
WEBブラウザは複数の画像加工処理の中心座標と描画半径を受け取ると、これらの情報に基づき、これら複数の中心座標全体で、描画操作対象画像を分割するいずれのセルの画像内容に画像加工処理による変更が生じるかを計算する。そして計算により求められたセルの識別番号(例えば図3のX,Y座標を組み合わせた数値)を引数として該当するセル画像を要求するHTTPリクエストを発行する(S24)。この際HTTPリクエストの仕様上、返信として受け取る予定のセル画像の表示位置(ブラウザ画面の原点を基準とした位置)を指定する。このHTTPリクエストはそのリクエスト数が増える可能性がある以外は前記実施の形態1のステップS17(図4)における処理と同じである。HTTPサーバ12は今回の複数の筆ツールの座標および描画半径により加工処理された最終的な画像(例えば筆ツールの座標の4個を1組にする場合は、この4個の座標全部による加工処理が済んだ画像)から、要求されたセル画像を切り出してWEBブラウザに送信する(S25)。このHTTPリクエストに対するHTTPサーバ12によるセル画像の送信処理およびWEBブラウザによる該セル画像の受信および表示処理(S26)は、実施の形態1のステップS18,S19とそれぞれ同じである。
前記XMLHTTPリクエストによる複数の筆ツールの座標および描画半径の組の送信(S21)を筆ツールの座標が所定の複数回変化するごとに順次実行する(前回送信してから所定時間内に該所定の複数回に達しない場合は該所定時間経過後に送信する)ことにより、筆ツールの動きに追従して筆ツールによる描画が順次実行されていく。この実施の形態3によれば、筆ツールの座標が変化するごとにXMLHTTPリクエストを発行する場合に比べてXMLHTTPリクエストの回数が減少する。また複数の筆ツールの座標全部による加工処理が済んだ画像からセル画像を切り出してWEBブラウザに送信するので、筆ツールの座標が変化するごとにセル画像を切り出してWEBブラウザに送信する場合に比べてHTTPサーバ12から送信するセル画像数も減少する。これによりWEBブラウザ側の通信セッション不足を防止することができる。
《実施の形態4》
前記実施の形態では端末装置10からの描画操作により該端末装置10にエコーバックする場合について説明したが、描画操作対象画像に対し端末装置10と他の端末装置で同時に描画操作を行って(または他の端末装置単独で描画操作を行って)、他の端末装置による描画操作により加工処理された画像を端末装置10にエコーバックさせることもできる。そのようにする場合の端末装置10とHTTPサーバ12間の処理手順を図6を参照して説明する。なお前処理は実施の形態1で説明したのと同じであるのでその説明は省略する。
WEBブラウザは、前処理が終了した状態で、実施の形態1と同様にして端末装置10における描画操作に基づきXMLHTTPリクエストによる筆ツールの座標および描画半径を送信する。そして該描画操作に基づくXMLHTTPリクエストの合間に、所定の設定時間が経過するごとにタイマーイベント(setIntervalあるいはsetTimeout。setTimeoutを使用する場合は設定時間後に再びsetTimeoutを設定する)によるトリガで(S31)他の端末装置のWEBブラウザからの描画操作に基づいてされた画像加工処理の中心座標と描画半径の組を要求するXMLHTTPリクエストを発行する(S32)。HTTPサーバ12はこのリクエストを受信して、該他の端末装置のWEBブラウザからの操作で実際に画像加工した(またはこれから加工しようとする)中心座標と描画半径のうち、前回のタイマートリガによるXMLHTTPリクエストの返信の際に返信していないものを返信する(S33)。この返信を受け取ったときのWEBブラウザによる画像内容に変更が生じるセルの計算および該当するセル画像を要求するHTTPリクエストの送信処理(S34)、このHTTPリクエストに対するHTTPサーバ12によるセル画像の送信処理(S35)、WEBブラウザによる該セル画像の受信および表示処理(S36)は、実施の形態1のステップS17,S18,S19と同じである。以上の処理により、描画操作対象画像に対し端末装置10と他の端末装置で同時に描画操作を行って(または他の端末装置単独で描画操作を行って)、該描画操作により加工処理された画像を端末装置10にエコーバックさせることができる。なお、他の端末装置においてもタイマーイベントによるトリガに基づき端末装置10と同様に処理することにより、端末装置10における描画操作により加工された画像を他の端末装置にエコーバックさせることができ、これにより各端末装置で共通の画像を表示しながら同時に描画操作をすることができる。タイマートリガによりXMLHTTPリクエストを発行するJAVASCRIPTのプログラムリスト例を数8に示す。
Figure 0004085123
《その他の実施の形態》
前記実施の形態の一部を以下のように様々に変更することができる。
[A]前記実施の形態では筆ツールの描画サイズ(半径または直径)の情報を属性設定時にHTTPサーバ12に送信せずに実際に描画操作が行われたときに筆ツールの座標と組にして送信するようにしたが、これに代えて描画サイズの情報を属性設定時に他の属性(色、全体的な濃度、断面形状、濃度分布パターン、補間の有無)とともにHTTPサーバ12に送信し、HTTPサーバ12の共有メモリ26の筆ツール属性情報格納領域28に格納して画像加工処理に利用することができる。
[B]前記実施の形態ではWEBブラウザはHTTPサーバ12から返信される画像加工処理の中心座標と描画半径に基づいて画像内容に変更が生じるセルを計算したが、これに代えてWEBブラウザが自ら保持する描画操作時の筆ツールの座標と描画サイズの情報に基づいて画像内容に変更が生じるセルを計算することもできる。あるいはWEBブラウザはHTTPサーバ12から返信される画像加工処理の中心座標とWEBブラウザが自ら保持する描画サイズの情報に基づいて画像内容に変更が生じるセルを計算することもできる。ただし前者の場合、HTTPサーバ12側で座標を補間処理して画像処理を行う場合は、WEBブラウザが画像内容に変更が生じるセルを正しく計算するためには、該WEBブラウザ側でも同じ補間計算をしたうえで画像内容に変更が生じるセルの計算をする必要がある。
[C]前記実施の形態ではWEBブラウザ側で画像内容に変更が生じるセルを計算したが、これに代えてHTTPサーバ12側で画像加工処理の中心座標と描画半径に基づいて画像内容に変更が生じるセルを計算し、該計算により求められたセルの識別番号(例えば図3のX,Y座標を組み合わせた数値)をWEBブラウザに送信することもできる。
[D]あるいはHTTPサーバ12側で画像加工処理の中心座標と描画半径に基づいて画像内容に変更が生じる領域全体を含む1つの矩形領域を特定する座標情報をWEBブラウザに送信し、WEBブラウザ側で該矩形領域が掛かる全てのセルを計算することもできる。図7はその説明図である。図7は前記図2(a)と同じ描画状態を示す。すなわち図7(a)のようにマウスカーソルをカンバス36上の任意の位置P1(x,y)に位置決めしてマウスボタンを押下すると、マウスカーソル位置P1(x,y)を中心とする半径rの円形に筆による画像38が描かれる。このとき画像38全体を含む最小の矩形領域は同図に点線42で囲んだ領域となる。この矩形領域42はその対角位置の2つの座標P11(x11,y11)、P12(x12,y12)で特定される。そこでHTTPサーバ12はこの2つの座標P11(x11,y11)、P12(x12,y12)をWEBブラウザに送信する。WEBブラウザはこの2つの座標P11,P12を受信して対応する矩形領域42が掛かる全てのセルを計算して求める。すなわち図7(b)に示すように2つの座標P11,P12で特定される矩形領域42が掛かる全てのセルとして、X座標が4,5,6,7でY座標が3,4,5,6である同図に太線で囲んだ領域の16個のセルを求める。そしてWEBブラウザはHTTPサーバ12に対してHTTPリクエストによりこの16個のセルの画像を要求する。HTTPサーバ12はこのリクエストを受けて、保持している画像加工処理が行われた画像からこの16個のセルの画像を切り出してWEBブラウザに送信する。WEBブラウザは各セル画像を受信しブラウザ画面に表示されている画像の該当するセル領域に、それまで該矩形領域に表示されていた画像に代えて表示する。この16個のセルの中には画像内容に変更が生じたセルに隣接する画像内容に変更が生じていないセル{7,3}、{7,6}も含まれているが、この発明はWEBブラウザが画像内容に変更が生じていないセルの画像を一部含んで要求し画像表示を更新する場合を排除するものではない。この場合も描画操作対象画像全体を送信する場合に比べて画像表示を高速に更新することができる。
[E]前記実施の形態では操作者が筆の描画サイズを設定可能としたが、これに代えてHTTPサーバ側で筆の描画サイズを固定値として初めから保持することもできる。この場合、WEBブラウザ側で画像内容に変更が生じるセルを計算する場合はHTTPサーバから筆の描画サイズの固定値をWEBブラウザに送信する。またHTTPサーバ側で画像内容に変更が生じるセルを計算しWEBブラウザに送信する場合はHTTPサーバから筆の描画サイズの固定値をWEBブラウザに送信する必要はない。
[F]前記実施の形態では新たなセル画像のzインデックスを現在その領域に表示されている画像のzインデックスよりも大きい値に設定して該新たなセル画像を手前に配置して表示することにより表示画像の更新を行うようにしたが、これに代えて現在表示されているセル画像を新しいセル画像で完全に差し替える(今まで表示されていたセル画像は差し替えと同時にHTMLドキュメントとのリンクが解除される)ことにより表示画像の更新を行うこともできる。
[G]前記実施の形態では描画操作対象画像を仮想的に複数のセルに分割して(画像ファイルは1つ)管理したが、これに代えて描画操作対象画像を実際にスライス画像に分割して(画像ファイルはスライス画像ごと。個々のスライス画像の大きさは例えば縦・横各方向とも480画素)管理することもできる。また描画操作対象画像を実際にスライス画像に分割したうえで(画像ファイルはスライス画像ごと。個々のスライス画像の大きさは例えば縦・横各方向とも480画素)、さらに個々のスライス画像を仮想的に複数のセルに分割して(個々のセル画像の大きさは例えば縦・横各方向とも48画素)管理することもできる。
[H]前記実施の形態ではマウスボタンを押したままカーソルを移動させるときの移動速度に応じて描画濃度を変化させる(つまり「描画操作態様」をカーソルの移動速度とする)ようにしたが、カーソルを1箇所に留まらせたままマウスボタンを押し続ける時間等に応じて描画濃度を変化させる(つまり「描画操作態様」をマウスボタンを押し続ける時間その他とする)こともできる。この場合はonMouseMoveイベントに代えてタイマーイベント(setIntervalあるいはsetTimeout。setTimeoutを使用する場合は設定時間後に再びsetTimeoutを設定する)を使用する。なおタイマーイベントではカーソルの座標位置情報は取得できないので、処理に必要な筆ツールの座標としては直前のonMouseMoveイベントで取得した筆ツールの座標を用い、処理に必要な画像加工処理の中心座標としては直前のXMLHTTPリクエストに対する応答として取得した画像加工処理の中心座標を用いる。
[I]前記実施の形態ではポインティングデバイスとしてマウスを使用した場合について説明したが、タブレットその他のポインティングデバイスを使用することもできる。タブレットを使用する場合はスタイラスペンをタブレットに押しつける操作がマウスボタンを押下する操作に対応する。
[J]前記実施の形態では筆ツールの描画形状を円形としたが、楕円形、角形その他の任意の形状にすることもできる。
この発明の実施の形態のシステム構成を示すブロック図である。 図1のシステム構成において描画操作対象画像のカンバスに対して筆ツールにより描画を行う状態を示す図である。 カンバスを仮想的に矩形(セル)に分割した一例および図2(a)の描画状態に対応して画像表示を更新するセル画像の範囲を示す図である。 この発明の実施の形態1による処理手順を示すフロー図である。 この発明の実施の形態3による処理手順を示すフロー図である。 この発明の実施の形態4による処理手順を示すフロー図である。 図2(a)と同じ描画状態について画像表示を更新するセル画像の範囲が図3と異なる例を示す図である。
符号の説明
10…端末装置、16…ポインティングデバイス、12…HTTPサーバ、14…HTTPプロトコルネットワーク、36…描画操作対象画像の全体を構成するカンバス、38…筆ツールによる画像、40…セル、P1,P2,・・・,Pm…マウスカーソルの位置

Claims (17)

  1. 端末装置にインストールされたWEBブラウザの画面に画像を表示し、該画面上で該端末装置の操作者がポインティングデバイスで描画操作をすることにより、該ポインティングデバイスによるカーソル位置の画像の表示に濃度表現を有する筆ツールによる変更を加える画像表示更新方法であって、
    ここに「濃度表現を有する筆ツール」とは、ポインティングデバイスの描画操作態様に応じて描画濃度が変化する描画を実現する描画ツールであって、
    サーバに、前記操作者による描画操作対象となる画像のデータと、該描画操作に応じて該画像データに対して画像加工処理を実行する画像処理プログラムを保持管理し、
    前記端末装置と前記サーバをネットワークを介して相互に通信可能な状態に設定し、
    前記端末装置のWEBブラウザが前記サーバに対しHTMLドキュメントをHTTPリクエストによって要求すると、該サーバは該WEBブラウザによって解釈可能な描画操作エコーバックスクリプトが内部に記述されたHTMLドキュメントまたは該描画操作エコーバックスクリプトを外部ファイルとして読み込むことが記述されたHTMLドキュメントを該端末装置に該HTTPリクエストに対する応答として返信し、該端末装置のWEBブラウザは該HTMLドキュメントを受信して、該WEBブラウザに前記描画操作エコーバックスクリプトを付加し、
    前記HTMLドキュメントは、前処理として、前記サーバが保持管理する前記描画操作対象画像をHTTPリクエストによって該サーバに要求し、その返信として受け取った画像データによる画像を前記WEBブラウザの画面に表示し、
    前記端末装置のWEBブラウザに付加された前記描画操作エコーバックスクリプトは、前記画像が表示された画面上で前記描画操作がされたときに、該描画操作に応じたカーソル位置の座標情報をXMLHTTPリクエストによって前記サーバに送信し、
    前記サーバの画像処理プログラムは、受信した該カーソル位置の座標情報と、別途取得しまたは初めから保持する筆の描画サイズの情報に基づき、自らが保持管理する前記描画操作対象画像に対して、前記濃度表現を有する筆ツールによる画像加工処理を実行し、
    前記描画操作エコーバックスクリプトは前記カーソル位置の座標情報を送信後に、前記WEBブラウザの画面に表示された画像を複数の領域に分割する矩形領域のうち前記画像加工処理で画像内容に変更が生じる領域を含む単一または複数の矩形領域の情報を取得し、かつ該単一または複数の矩形領域の画像を選択的に要求する単一または複数のHTTPリクエストを該サーバに送信し、
    前記サーバは該単一または複数のHTTPリクエストを受信して、前記WEBブラウザの画面に表示された画像の該当する単一または複数の矩形領域の前記画像加工処理が終了した画像データを選択的に返信し、
    前記WEBブラウザは受信した単一または複数の矩形領域の画像データによる画像を、該WEBブラウザの画面の該当する矩形領域に、それまで該矩形領域に表示されていた画像に代えて表示する画像表示更新方法。
  2. 端末装置にインストールされたWEBブラウザの画面に画像を表示し、該画面上で該端末装置の操作者がポインティングデバイスで描画操作をすることにより、該ポインティングデバイスによるカーソル位置の画像の表示に濃度表現を有する筆ツールによる変更を加える画像表示更新方法であって、
    ここに「濃度表現を有する筆ツール」とは、ポインティングデバイスの描画操作態様に応じて描画濃度が変化する描画を実現する描画ツールであって、
    サーバに、前記操作者による描画操作対象となる画像のデータと、該描画操作に応じて該画像データに対して画像加工処理を実行する画像処理プログラムを保持管理し、
    前記端末装置と前記サーバをネットワークを介して相互に通信可能な状態に設定し、
    前記端末装置のWEBブラウザが前記サーバに対しHTMLドキュメントをHTTPリクエストによって要求すると、該サーバは該WEBブラウザによって解釈可能な描画操作エコーバックスクリプトが内部に記述されたHTMLドキュメントまたは該描画操作エコーバックスクリプトを外部ファイルとして読み込むことが記述されたHTMLドキュメントを該端末装置に該HTTPリクエストに対する応答として返信し、該端末装置のWEBブラウザは該HTMLドキュメントを受信して、該WEBブラウザに前記描画操作エコーバックスクリプトを付加し、
    前記HTMLドキュメントは、前処理として、前記サーバが保持管理する前記描画操作対象画像をHTTPリクエストによって該サーバに要求し、その返信として受け取った画像データによる画像を前記WEBブラウザの画面に表示し、
    前記端末装置のWEBブラウザに付加された前記描画操作エコーバックスクリプトは、前記画像が表示された画面上で前記描画操作がされたときに、該描画操作に応じたカーソル位置の座標情報をXMLHTTPリクエストによって前記サーバに送信し、
    前記サーバの画像処理プログラムは、受信した該カーソル位置の座標情報と、別途取得しまたは初めから保持する筆の描画サイズの情報に基づき、自らが保持管理する前記描画操作対象画像に対して、前記濃度表現を有する筆ツールによる画像加工処理を実行し、
    前記描画操作エコーバックスクリプトは前記カーソル位置の座標情報を送信後に、前記WEBブラウザの画面に表示された画像を複数の領域に分割する矩形領域のうち前記画像加工処理で画像内容に変更が生じる領域を含む単一または複数の矩形領域の情報を取得し、かつ該単一または複数の矩形領域の画像を選択的に要求する単一または複数のHTTPリクエストを該サーバに送信し、
    前記サーバは該単一または複数のHTTPリクエストを受信して、前記WEBブラウザの画面に表示された画像の該当する単一または複数の矩形領域の前記画像加工処理が終了した画像データを選択的に返信し、
    前記WEBブラウザは受信した単一または複数の矩形領域の画像データによる画像を、該WEBブラウザの画面の該当する矩形領域に、それまで該矩形領域に表示されていた画像に代えて表示し、
    該WEBブラウザは前記XMLHTTPリクエストによるカーソル位置の座標情報の送信を、それ以前のXMLHTTPリクエストにより送信されたカーソル位置の座標情報に基づき加工処理された画像が該WEBブラウザの画面に表示されるのを待たずに、前回のXMLHTTPリクエストに対する応答を受信後に順次実行し、
    前記サーバの画像処理プログラムは該XMLHTTPリクエストに基づき、前記画像加工処理がされた画像に対しさらに該画像加工処理を繰り返す画像表示更新方法。
  3. 前記描画操作エコーバックスクリプトは前記画像加工処理で画像内容に変更が生じる領域を含む単一または複数の矩形領域の情報を自ら計算して取得する請求項1または2記載の画像表示更新方法。
  4. 前記描画操作エコーバックスクリプトは前記画像加工処理で画像内容に変更が生じる領域を含む単一または複数の矩形領域の情報を前記サーバの画像処理プログラムが計算した結果を受信して取得する請求項1または2記載の画像表示更新方法。
  5. 前記描画操作エコーバックスクリプトは前記筆の描画サイズの情報を前記カーソル位置の座標情報と同時に前記サーバに送信する請求項1からのいずれか1つに記載の画像表示更新方法。
  6. 前記描画操作エコーバックスクリプトは前記筆の描画サイズの情報を、操作者により筆の描画サイズの設定操作がされたときに前記サーバに送信する請求項1からのいずれか1つに記載の画像表示更新方法。
  7. 前記サーバの画像処理プログラムは前記端末装置から受信した前記カーソル位置の座標情報と、該端末装置から該カーソル位置の座標情報と同時に受信しまたは該サーバが該カーソル位置の座標情報を受信する以前から保持している筆の描画サイズの情報に基づき前記画像加工処理を実行し、かつ該画像描画処理により描画するまたは描画した筆の描画中心位置の座標情報をXMLHTTPリクエストに対する応答として前記端末装置のWEBブラウザに返信し、前記描画操作エコーバックスクリプトは該サーバから受信する筆の描画中心位置の座標情報と、該サーバから該筆の描画中心位置の座標情報と同時に受信しまたは該描画操作エコーバックスクリプトが該筆の描画中心位置の座標情報を受信する以前から保持している筆の描画サイズの情報を利用して、前記画像加工処理で画像内容に変更が生じる領域を含む単一または複数の矩形領域の情報を自ら計算して取得する請求項1または2記載の画像表示更新方法。
  8. 前記筆の描画中心位置の座標情報は前記カーソル位置の座標情報そのものまたは該カーソル位置の座標該カーソル位置の座標情報で補間処理した座標情報である請求項記載の画像表示更新方法。
  9. 前記描画操作エコーバックスクリプトは自ら取得しかつ前記サーバを経由しない前記カーソル位置の座標情報と、該描画操作エコーバックスクリプトが該カーソル位置の座標情報を取得する以前から保持している筆の描画サイズの情報を利用して、前記画像加工処理で画像内容に変更が生じる領域を含む単一または複数の矩形領域の情報を自ら計算して取得する請求項1または2記載の画像表示更新方法。
  10. 前記画像処理プログラムは前記描画操作対象画像に対して他の端末装置から同時に描画操作がされたときに該描画操作に基づく画像加工処理を併せて実行するものであり、
    前記描画操作エコーバックスクリプトはタイマー駆動により定期的にXMLHTTPリクエストを発行し、
    前記画像処理プログラムは前記他の端末装置からの描画操作に基づく画像加工処理に対応して、該画像処理プログラムで計算した画像内容に変更が生じる領域を含む単一または複数の矩形領域の情報または前記描画操作エコーバックスクリプトで該矩形領域を計算するのに必要な情報を該XMLHTTPリクエストに対する応答として返信し、
    前記描画操作エコーバックスクリプトは該サーバから受信して取得した情報による単一または複数の矩形領域または該サーバから受信した情報に基づき自ら計算して取得した情報による単一または複数の矩形領域の画像を選択的に要求する単一または複数のHTTPリクエストを該サーバに送信し、
    前記サーバは該HTTPリクエストを受信して、前記WEBブラウザの画面に表示された画像の該当する単一または複数の矩形領域の画像データを選択的に返信し、
    前記WEBブラウザは受信した単一または複数の矩形領域の画像データによる画像を、該WEBブラウザの画面の該当する矩形領域に、それまで該矩形領域に表示されていた画像に代えて表示する請求項1からのいずれか1つに記載の画像表示更新方法。
  11. 前記サーバが保持管理する描画操作対象画像はその画像全体に相当する単一の画像ファイルまたは該画像全体を実際に矩形に分割した複数のスライス画像に相当する複数の画像ファイルで構成され、前記矩形領域は1つの画像ファイルによる画像を仮想的に複数の矩形に分割した該仮想分割画像単位の領域である請求項1から10のいずれか1つに記載の画像表示更新方法。
  12. 前記サーバが保持管理する描画操作対象画像はその画像全体を実際に複数の矩形に分割した複数のスライス画像の画像ファイルで構成され、前記矩形領域は該スライス画像単位の領域である請求項1から10のいずれか1つに記載の画像表示更新方法。
  13. 前記端末装置の描画操作エコーバックスクリプトは、受信した単一または複数の矩形領域の画像を、前記WEBブラウザの該当する領域に、それまで該領域に表示されていた画像の手前にzインデックスを変更することにより配置して表示する請求項1から12のいずれか1つに記載の画像表示更新方法。
  14. 前記端末装置の描画操作エコーバックスクリプトは、前記画像が表示された画面上で前記描画操作がされたときに、1回のXMLHTTPリクエストにつき、該描画操作によるカーソルの移動軌跡に応じた該カーソル位置の複数の座標位置の情報を前記サーバに送信し、かつ該複数の座標位置に基づく画像加工処理全体で画像内容に変更が生じる領域を含む単一または複数の矩形領域の情報を取得し、かつ該単一または複数の矩形領域の画像を選択的に要求する単一または複数のHTTPリクエストを該サーバに送信する請求項1から13のいずれか1つに記載の画像表示更新方法。
  15. 前記ポインティングデバイスの描画操作態様が該ポインティングデバイスの移動速度である請求項1から14のいずれか1つに記載の画像表示更新方法。
  16. 請求項1から15のいずれか1つに記載の画像表示更新方法を実行するサーバ・クライアントシステム。
  17. 請求項1から15のいずれかに記載の画像表示更新方法を実行するために前記端末装置で行う処理を該端末装置に実行させるプログラムであって、前記サーバから送信され前記端末装置の前記WEBブラウザに付加される描画操作エコーバックスクリプト。
JP2007086855A 2007-03-29 2007-03-29 画像表示更新方法およびサーバ・クライアントシステム並びに描画操作エコーバックスクリプト Active JP4085123B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007086855A JP4085123B1 (ja) 2007-03-29 2007-03-29 画像表示更新方法およびサーバ・クライアントシステム並びに描画操作エコーバックスクリプト
PCT/JP2008/053486 WO2008120517A1 (ja) 2007-03-29 2008-02-28 画像表示更新方法およびサーバ・クライアントシステム並びに描画操作エコーバックスクリプト
CA2681709A CA2681709C (en) 2007-03-29 2008-02-28 Image display updating method, server client system and drawing operation echo back script
US12/449,685 US7975231B2 (en) 2007-03-29 2008-02-28 Image display updating system, server client system and drawing operation echo back script

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007086855A JP4085123B1 (ja) 2007-03-29 2007-03-29 画像表示更新方法およびサーバ・クライアントシステム並びに描画操作エコーバックスクリプト

Publications (2)

Publication Number Publication Date
JP4085123B1 true JP4085123B1 (ja) 2008-05-14
JP2010026542A JP2010026542A (ja) 2010-02-04

Family

ID=39445749

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007086855A Active JP4085123B1 (ja) 2007-03-29 2007-03-29 画像表示更新方法およびサーバ・クライアントシステム並びに描画操作エコーバックスクリプト

Country Status (4)

Country Link
US (1) US7975231B2 (ja)
JP (1) JP4085123B1 (ja)
CA (1) CA2681709C (ja)
WO (1) WO2008120517A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239749B2 (en) * 2004-06-25 2012-08-07 Apple Inc. Procedurally expressing graphic objects for web pages
US7730398B2 (en) * 2005-10-25 2010-06-01 Research In Motion Limited Image stitching for mobile electronic devices
EP2187321B1 (fr) * 2008-11-13 2018-09-12 Orange Procédé et dispositif d'édition d'un objet représenté dans une page web
US8984424B2 (en) * 2009-02-03 2015-03-17 Microsoft Technology Licensing, Llc Layout of user interface elements
KR101552306B1 (ko) * 2009-04-13 2015-09-10 삼성전자주식회사 휴대 단말기의 태깅 방법 및 장치
JP2011061385A (ja) * 2009-09-08 2011-03-24 Nara Women's Univ 対話的実時間遠隔可視化システム
JP2011198076A (ja) 2010-03-19 2011-10-06 Rei Shizuma 画像商品発注システム
US8775958B2 (en) * 2010-04-14 2014-07-08 Microsoft Corporation Assigning Z-order to user interface elements
US8407608B1 (en) * 2010-05-27 2013-03-26 Amazon Technologies, Inc. Touch input assist
US8312365B2 (en) * 2010-06-11 2012-11-13 Microsoft Corporation Rendering web content with a brush
JP5439295B2 (ja) * 2010-06-29 2014-03-12 ヤフー株式会社 文字入力方法、プログラム、及び文字入力装置
JP5957986B2 (ja) * 2012-03-14 2016-07-27 日本電気株式会社 描画支援装置、描画支援方法および描画支援プログラム
US20130298005A1 (en) * 2012-05-04 2013-11-07 Motorola Mobility, Inc. Drawing HTML Elements
US9009610B2 (en) * 2012-06-07 2015-04-14 Costar Group, Inc. Method and apparatus for managing real estate data
US9367933B2 (en) 2012-06-26 2016-06-14 Google Technologies Holdings LLC Layering a line with multiple layers for rendering a soft brushstroke
JP2014115895A (ja) * 2012-12-11 2014-06-26 Canon Inc 情報処理装置及びその制御方法、並びにプログラム
CN103870484B (zh) * 2012-12-13 2017-12-29 腾讯科技(深圳)有限公司 网页坐标获取方法和装置
JP2015092322A (ja) * 2013-03-15 2015-05-14 株式会社リコー 配信制御システム、配信システム、配信制御方法、及びプログラム
CN104050152B (zh) * 2013-03-15 2017-06-16 苏州精易会信息技术有限公司 网页中可编辑区域光标定位方法
US9723337B2 (en) 2013-03-15 2017-08-01 Ricoh Company, Limited Distribution control system and distribution system
US9857888B2 (en) 2015-03-17 2018-01-02 Behr Process Corporation Paint your place application for optimizing digital painting of an image
JP5939478B1 (ja) 2015-05-20 2016-06-22 富士ゼロックス株式会社 情報処理装置およびプログラム
CN106547420B (zh) * 2015-09-23 2020-06-02 阿里巴巴集团控股有限公司 一种页面处理方法和装置
US20180157629A1 (en) * 2016-12-01 2018-06-07 Raja Singh Tuli Method for reducing data transfer from a server to a portable device
CN112037332B (zh) * 2020-09-28 2023-09-05 北京百度网讯科技有限公司 浏览器的显示校验方法、装置、计算机设备和存储介质
CN112632442A (zh) * 2020-12-25 2021-04-09 广州凡科互联网科技股份有限公司 一种基于Web图像分割功能与设计方法
CN113934876B (zh) * 2021-12-21 2022-02-22 成都泰盟软件有限公司 一种基于Web的作业批改方法、装置及系统
CN115239843B (zh) * 2022-09-22 2023-06-06 中科三清科技有限公司 空气质量分布图的绘制方法、装置、电子设备和存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108655A (en) * 1996-07-19 2000-08-22 Cisco Technology, Inc. Method and apparatus for transmitting images and other objects over a computer network system
JP3396177B2 (ja) * 1999-01-26 2003-04-14 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブページカスタマイズシステム
US6978418B1 (en) * 1999-04-13 2005-12-20 Hewlett-Packard Development Company, L.P. Dynamic-adaptive client-side image map
JP2001273513A (ja) * 2000-01-17 2001-10-05 Fuji Photo Film Co Ltd 画像編集方法およびシステム
US7152203B2 (en) * 2000-09-11 2006-12-19 Appeon Corporation Independent update and assembly of web page elements
US20020109729A1 (en) * 2000-12-14 2002-08-15 Rabindranath Dutta Integrating content with virtual advertisements using vector graphics images obtainable on the web
JP4059802B2 (ja) * 2003-04-17 2008-03-12 株式会社サピエンス 画像表示方法
JP2005107662A (ja) * 2003-09-29 2005-04-21 Hitachi Software Eng Co Ltd Wwwシステム処理方法およびシステム
US20050240869A1 (en) * 2004-04-23 2005-10-27 Kalev Leetaru Method and system for editable web browsing

Also Published As

Publication number Publication date
CA2681709A1 (en) 2008-10-09
US7975231B2 (en) 2011-07-05
CA2681709C (en) 2013-10-15
US20100083146A1 (en) 2010-04-01
WO2008120517A1 (ja) 2008-10-09
JP2010026542A (ja) 2010-02-04

Similar Documents

Publication Publication Date Title
JP4085123B1 (ja) 画像表示更新方法およびサーバ・クライアントシステム並びに描画操作エコーバックスクリプト
CN102222062A (zh) 即时通信系统用户空间页面个性化设置方法及其装置
CN104166514A (zh) 信息处理装置、信息处理系统和信息显示方法
CN112016023B (zh) 业务处理方法、装置、终端及存储介质
CN106062741B (zh) 在社交网络系统中进行信息处理的方法和系统
CA3116993A1 (en) Digital workspace sharing over one or more display clients and authorization protocols for collaboration systems
KR102199735B1 (ko) 영상을 위한 효과 공유 방법 및 시스템
CN106162353A (zh) 界面处理方法、装置及系统
CN109472849A (zh) 处理应用中图像的方法、装置、终端设备和存储介质
CN106953924B (zh) 一种共享信息的处理方法及共享客户端
CN111246272A (zh) 视频封面图的显示方法及装置
CN108363749B (zh) 用于信息处理的方法和装置
CN111797343A (zh) 一种运营活动的管理方法、配置服务器和展示终端
CN111405303B (zh) 基于网页快速建立直播的方法
JP2005149440A (ja) 画面共有制御方法
CN111316217B (zh) 遥控可移动平台的控制方法、设备及计算机可读存储介质
CN112819923A (zh) 电子名片的生成方法、装置和计算机存储介质
US20170289212A1 (en) Human machine interface system and the method for operating the same
KR20190092922A (ko) 사용자 맞춤형 모션 그래픽 영상 제작 시스템
Bath et al. CERVI: collaborative editing of raster and vector images
CN111382292A (zh) 内容管理服务器、信息共享系统、通信方法
JP4113106B2 (ja) 性能測定装置および性能測定方法
CN116166242B (zh) 一种基于画布的度量卡片实现方法、装置及存储介质
CN115437624B (zh) 一种客户端海报页面的生成方法及装置
KR20130049673A (ko) 동영상 스팟 이미지에 기초한 객체정보 제공방법 및 시스템

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080218

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4085123

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120222

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140222

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S802 Written request for registration of partial abandonment of right

Free format text: JAPANESE INTERMEDIATE CODE: R311802

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250