JP2007179554A - ディスプレイ画面の複写システム及び方法 - Google Patents

ディスプレイ画面の複写システム及び方法 Download PDF

Info

Publication number
JP2007179554A
JP2007179554A JP2007009086A JP2007009086A JP2007179554A JP 2007179554 A JP2007179554 A JP 2007179554A JP 2007009086 A JP2007009086 A JP 2007009086A JP 2007009086 A JP2007009086 A JP 2007009086A JP 2007179554 A JP2007179554 A JP 2007179554A
Authority
JP
Japan
Prior art keywords
block
blocks
value
changed
list
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.)
Pending
Application number
JP2007009086A
Other languages
English (en)
Inventor
Samurei Mark
サムレイ マーク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2007179554A publication Critical patent/JP2007179554A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/507Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment

Abstract

【課題】あるディスプレイ画面の変化を1台以上の他のディスプレイ画面に効率的に通信する送信方法を提案する。
【解決手段】コンピュータが、第1のディスプレイの画面を区分した複数のブロックそれぞれの情報を示す第1の値を計算する段階;第1の値を計算した後に、それぞれのブロックの情報を示す第2の値をグリッドリストに記憶する段階;第1の値と第2の値が一致しないブロック群を抽出する段階;第1の値と第2の値が一致しないブロック群から抽出した、値が一致しない第1のブロックと、値が一致しない第1のブロックに隣接する、値が一致しない第2のブロックと、第1のブロックと第2のブロックとの何れかに2個以上隣接する、値が一致するブロックとからなる方形のブロック群を抽出する段階;及び抽出された方形のブロック群の情報を圧縮して第2のディスプレイに送信する段階;を実行する。
【選択図】図2

Description

本発明は、コンピュータディスプレイ画面の少なくとも一部分の複写物を二つ以上の物理的に離れた場所で保持するシステム及び方法、特に、あるディスプレイ画面の変化を1台以上の他のディスプレイ画面に効率的に通信するシステム及び方法に関する。
コンピュータディスプレイ画面の全体又は一部の複製を2台以上のデータ処理システムに生成する多数のアプリケーションがある。それらのアプリケーションの例には、リモートアクセスソフトウェア、アプリケーション共有、及び、種々のタイプの遠隔地間会議が含まれる。ディスプレイ画面の複製を2台のコンピュータシステムに生成する最も簡単な方法は、画面の全内容を周期的に送ることである。これには、大量のデータを送信する必要がある。例えば、256色を有する1024×768ドットのディスプレイ画面を定義するため約800キロバイトが使用される。ビデオ解像度が増加し、色の奥行きが深くなると共に、転送されるべきデータ量は、特に、モデムのような低帯域幅の接続を使用する場合に極端に多くなる。送信されるデータ量を削減するため圧縮を使用することが可能であるが、圧縮は重要なプロセッサ(CPU)資源を必要とし、かつ、圧縮前にデータ量を削減する方が好ましい。
別の例は、ディスプレイ画面を発生するため使用された命令と同じ命令を、ディスプレイ画面の複製を表示するコンピュータシステムに送信することである。これは、全てのコンピュータシステム上で本質的に同一ソフトウェアが実行され、適当な画面コマンドが適当なシステムに横取りされ、若しくは、適当なシステムに経由されることを必要とする。米国特許第5,241,625号及び第5,491,780号に開示されている別の技術は、オペレーティングシステムソフトウェアへの“フック”に依存する。Windows(登録商標) NTTMのようなある種のオペレーティングシステムは、ディスプレイ画面に影響を与えるコマンドを横取りすることが困難である安全なオペレーティングシステムを提供するので、表示を生成する初期プログラムは、ディスプレイ画面コマンドを遠隔位置に送ることが可能でなければならない。
システムコマンドを横取りすることなく送信されるべきデータ量を減少させる一つの方法は、前に送信された画面との差だけを送信することである。多くの場合に、画面の小さい領域しか変化せず、画面の全内容を常時送信する必要はないので、遠隔ディスプレイ画面を高速に更新するため必要とされる帯域幅が著しく削減される。2台のコンピュータシステムがウィンドウの複製をローカル遠隔ディスプレイ画面及び遠隔ディスプレイ画面に保持するため上記の技術を使用する場合を考えると、ローカルシステムは全画面の複製を遠隔システムに転送し、基準画像として複製を記憶する。周期的に、ローカルシステムはローカルディスプレイ画面を読み出し、基準画像と排他的論理和(XOR)を実行し、この演算の結果を所謂デルタバッファに記憶する。デルタバッファは、基準画像と現在の画面内容との差だけを含む。デルタバッファは圧縮され、遠隔システムに送信され、遠隔システムは送信されたデータの圧縮を解除し、遠隔ディスプレイ画面を更新する。ローカルシステム及び遠隔システムは、共に、更新された画面内容を新しい基準画像として保存し、この手順が繰り返される。
デルタバッファ技術は、送信されるべきデータ量を著しく削減する際だった利点がある。この技術は制限帯域幅環境における性能を非常に改善するので、近年多く見られるように画面データが利用可能な帯域幅よりも遙かに濃密である場合に非常に望ましい。
しかし、デルタバッファ技術は必要なメモリ量の点で欠点がある。基準画像用、現在の画面内容用及び排他的論理和の結果用として、ビデオメモリのサイズのメモリが3ブロックだけ必要とされる。
本発明の目的は、CPU資源、メモリ及び帯域幅を効率的に使用する画面転送方法を提供することである。
本発明の他の目的は、安全なオペレーティングシステムと共に使用可能な画面転送方法を提供することである。
本発明の更なる目的は、転送されるデータ量が少なくても効率的に圧縮され得るデータを生成する効率的な画面転送方法を提供することである。
本発明の更なる他の目的は、ポップアップウィンドウが消えたとき、より高速な表示用のデータキャッシュと互換性のある効率的な画面転送方法を提供することである。
上記本発明の目的を達成するため、本発明の第1のディスプレイから第2のディスプレイにディスプレイデータを送信する方法は、
第1のディスプレイをブロックに区分し、
各ブロックの内容を表わす第1の値を計算、記憶し、
上記第1の値が計算された後、各ブロックの内容を表わす第2の値を計算し、変更されたブロックに対する第1の値と第2の値とが一致しないとき、変更されたブロックを第1のディスプレイから第2のディスプレイに転送する。
本発明の方法がマルチスレッド形オペレーティングシステムにより制御されたコンピュータシステムで使用されるならば、好ましくは、第1のスレッド又はモニタリングスレッドは、第1のディスプレイが区分された各ブロックに対するブロック識別子と共に計算された値として循環冗長コード(CRC)をグリッドリスト内に記憶する。第1の値と第2の値との比較により、一つのブロックに対するCRCが変化したことが判定されたとき、変更されたブロックのブロック識別子はウェイトリストに挿入される。ウェイトリストは、最初の変更されたブロックが検出された後に全てのブロックの変更が検査されるまで、或いは、4分の1秒又は2分の1秒のような所定の時間間隔が経過した後まで、変更されたブロックが検出された順序で維持される。
スレッド環境において、ウェイトリストの内容は、好ましくは、モニタリングスレッドによって幾つかの機能を実行する第2のスレッド又はメインスレッドによるアクセス用の変更ブロックリストに全て同時に移される。上記機能には、第1のディスプレイを含む第1のコンピュータシステムから第2のディスプレイを含む第2のコンピュータシステムに送信されるべきブロックを分類する機能が含まれる。ウェイトリストと同様に、変更ブロックリストは変更されたブロックが検出された順序で保持される。メインスレッドは、最先に変更されたブロックに対応する変更ブロックリスト内の最初のブロック識別子を読み、最先に変更されたブロックに隣接した最も大きく変更されたブロックを含む方形を検出し、変更されたブロックに対応するデータを第2のコンピュータシステムに送信し、その結果として、変更されたブロックが第2のディスプレイ上に表示され得る。変更されたブロックに対応し、第2のディスプレイに送信されたデータは、ビデオメモリを読み、必要に応じて従来のデータ圧縮を行い、方形内のブロックのブロック識別子と共にデータを送信することにより得られる。変更されたブロックに対応するデータの一部としてCRCを送信してもよいので、第1及び第2のコンピュータシステムは、第1及び第2のディスプレイに現在若しくは最近表示されたブロックのCRC及びブロック識別子をキャッシュシステムで使用し得る。
上記の目的は、以下で明らかになる他の目的及び利点と共に、添付図面を参照して十分に説明され、特許請求の範囲に記載された構成及び動作の詳細に依拠する。添付図面を通して、同じ参照番号は同じ部品を表わす。
図1にはネットワーク12により接続されたネットワーク状コンピュータシステム10の概略が示される。ネットワーク12は、ローカルエリアネットワーク、ワイドエリアネットワーク、インターネットのような公衆ネットワーク等の任意のトポロジーを含むどのような従来の構造でも構わない。あらゆるタイプのネットワーク12を使用することができるため、終端伝送路は、例えば、1台のコンピュータシステム10aから他の1台以上のコンピュータシステム10bへの接続を表わすため使用される。図1に示される如く、コンピュータシステムには、テキスト又はグラフィックスを表示するディスプレイが通常の形式で含まれる。
開示された実施例において、本発明はマルチスレッド形オペレーティングシステム環境で動作する。図2は、二つの並行動作スレッドにより実行される処理を表わしている。第1又はモニタリングスレッドが図2の右側に示され、第2又はメインスレッドが図2の左側に示される。オペレーティングシステムがマルチスレッド形動作を行えない場合、若しくは、本発明の処理に対し単一スレッドだけを用いることが望ましい場合に、処理の一部を実行し、マルチスレッド形オペレーティングシステムに関して以下に説明するように処理の別の部分に切り替えるためタイマ及びカウンタを使用してもよい。
図2に示されたモニタリングスレッドはディスプレイ画面の変化を監視し、変更されたブロックへのポインタをメインスレッドに通知する。変更されたブロックは、ビデオメモリを読むこと、或いは、他の公知の技術を用いることにより判定され得る。
ソースコードの一例において、画面の内容をバッファにコピーするため、関数BitBlt()が使用される。使用されるオペレーティングシステム及びドライバに依存して、BitBlt()の呼び出しは、以下の(1)〜(3)のいずれかを行う。(1)ビデオメモリの内容を読み、ドキュメント化されたフォーマットを用いてバッファ内に入れる。(2)ビデオメモリをアクセスすることなく、画面の内容を直にバッファに入れる(これは、オペレーティングシステム又はドライバが、画面メモリをアクセスすることなく使用可能な画面内容の知識を保持する場合に該当する)。(3)画面(又は画面セクション)の内容をドキュメント化されたフォーマットを用いてバッファに入れるため他の方法を使用する。
区分された画面の一例が示される図3において、変更されたブロックにはハッチングが施されている。図3乃至15には、16×16のブロックの配列に区分されたディスプレイ画面が示されるが、他のブロック数を用いてもよい。好ましくは、両方向のブロック数は2の倍数であるが、殆どのディスプレイ画面は正方形ではないので、一方の向きのブロック数は他方の向きのブロック数と異なっていても構わない。使用されるブロック数は、画面解像度、処理能力、並びに、メモリ及び帯域幅の利用性に依存する。例えば、1024×768個の画素のディスプレイ画面に対し、水平方向に32ブロック及び垂直方向に24ブロックがある。
ブロックの識別子及びブロックへのポインタは、グリッドリスト20(図2)と称されるデータ構造に格納される。C++コードの例では、リンクドリストがグリッドリスト及び以下に説明する他のリストのため使用される。しかし、用語“リスト”は、リンクドリストに限定されることはなく、情報を格納し得るあらゆるデータ構造を使用することが可能である。
図2において、実線はプログラムフローを表わし、破線はデータフローを表わす。
図2に示されたモニタリングスレッドは、グリッドリスト20にブロックが在るかどうかを検査し(ステップ22)、ブロックが無いならば、戻されたブロックがあるかどうかを検査する(ステップ24)。ソースコードの例において、最初に、グリッドリスト20はブロック識別子(典型的なソースコードでは、pGrid)で充填され、2個の32ビットのCRCがCRC64を効率的に形成するため異なる方法で計算される。これにより、異なるブロックに対し重複した値が計算される可能性は、264分の1である。より小さい重複の可能性が許容されるならば、グリッドリストに格納されるべき値を得るため、例えば、CRC32、チェックサム等の他の計算法を使用してもよい。先に変化が検出されていないならば、検査ステップ22の後に、リスト内の次のブロックを取得し(ステップ26)、画面上に現時に表示されているデータに対しCRC64を計算する(ステップ28)。
グリッドリスト20に格納された第1の値と、ステップ28で計算された第2の値がステップ30において比較される。両方の値が同じであるならば、処理はステップ22に戻る。監視されているブロックの第1の値と第2の値とが異なるならば、そのブロックに対応してグリッドリスト20に格納されたデータはグリッドリスト20から削除され、変更されたブロックのリストに挿入される。好ましい実施例において、変更されたブロックに対するデータは、最初、所定の規準と合致するまでウェイトリストに格納され、所定の規準と合致した時点に、上記データは変更されたブロックのスレッドセーフリスト34、即ち、変更ブロックリスト(典型的なソースコードでは、DirtyList)に移される。好ましい実施例において、所定の規準は、最初の変更されたブロックが空のウェイトリストに挿入された後の4分の1秒、若しくは、ウェイトリストに格納された最初の変更されたブロックから始めて全てのブロックがステップ30において検査された後である。
ブロックが送信された後、変更されたブロックを識別するデータは、メインスレッドによってスレッドセーフリスト36、即ち、リターンリストに格納される。ステップ22において、グリッドリストが適当な量だけ検査されたことが判定されたとき、例えば、ウェイトリストが空にされたとき、モニタリングスレッドは、リターンリスト36内に識別されたブロックが在るかどうかを検査し(ステップ24)、識別されたブロックが在るならば、そのブロックはリターンリストから削除され、グリッドリスト20に戻される(ステップ38)。
メインスレッドは、変更ブロックリスト34内に変更されたブロックが在るかどうかを繰り返し検査する(ステップ40)。ブロックが存在するとき、変更された全てのブロックを識別するデータは、変更ブロックリスト34から削除され、変更されたブロックに含まれる情報を1台以上の遠隔ディスプレイに送信するためのステップ44における処理のため局所的に記憶される。処理されたブロックを識別するデータは、上記の如く、リターンリスト36から削除された後、更なるモニタリングのためリターンリスト36に格納される。
図2に示されたフローチャートのステップ44において行われる最適な方形を検出する処理は図16に示されている。区分されたディスプレイ画面の各ブロック、例えば、図3に示されるような16×16の配列に対応する1個のセルを有するマトリックスは、参照カウント及び画面データのブロックへのポインタ又は参照と共に作成される(ステップ50)。マトリックスの各要素のポインタは、ブロックが変化した場合に対応する画面データのブロックを指定し、ブロックが変化していない場合にNULLを指定するようセットされる(ステップ52)。ステップ52の処理は、図17に記載されたステップを実行する。次に、マトリックスの各行にあるセルは、図18に示されたステップを実行することにより処理され(ステップ54)、各列は図19に示されたステップを実行することにより処理される(ステップ56)。ステップ54及びステップ56の結果は、以下、図3乃至15を参照して説明する例に関して図4に示されるようなマトリックスである。
ステップ56で得られたマトリックスは、変更ブロックリスト(例示的なコードにおけるDirtyList)の先頭に在るデータに対応する最先に変更されたブロックから処理される(ステップ58)。参照要素を含む参照行から始めて、最も左側要素が検出され(ステップ60)、最も右側にある閾値レベル以上の要素が検出される(ステップ62)。図3乃至15に示された例の場合に、閾値レベルは2である。この処理は、図20に示される如く、上限を検出するため繰り返される(ステップ64)。参照要素の真上にある要素が閾値レベル以上であり、行全体を走査するときに先の左側の限界又は右側の限界に達する前により小さい値が与えられた要素が在るならば、左側の限界及び右側の限界が調節される。同様に下限が検出され(ステップ66)、左側の限界及び右側の限界が図21に示されるように調節される。
変更されたブロックの組に対し最適な方形を見つける一例を図3乃至15を参照して説明する。図3には、16×16個のセル又はブロックの配列に区分された画面の一例が示され、ハッチングを施された左上の象限にある12個のブロック及び右下の象限にある10個のブロックが変更されている。上記の如く、画面の区分又はブロックの変更は、ブロックと関係したカウンタをセットすることにより示される。変更されていない全てのブロックのカウンタは、0にセットされる。変更されたブロックの関係したカウンタが1にセットされているならば、図4に示されるようなマトリックスが結果として得られる。図4には図3と同じハッチングが施されている。
変更された区分だけを上記のデルタバッファを用いて送信する従来の方法において、カウンタの値1を有するハッチングされたブロックが1ブロックずつ送られる。しかし、ランレングス又はイントラフレーム符号化技術によってより良い効率が得られるので、グループ内の殆どのブロックが変更されているならば、変更されていないブロックが多少含まれているとしても、より多量のデータのグループを送信する方が好ましい。かくして、本発明は、関係したカウンタに値を割り当てるため上記の方法を使用した後に最適な方形を取得する。
本発明によれば、関係したカウンタ値は、ブロック又は隣接したブロックが変更された場合に1ずつ増加される。配列は、最初に、図5に示されたカウンタ値を生成するため水平方向に走査される(ステップ54)。図5乃至15の記述を補助するため、列はアルファベットで区別され、行は数字で区別されるが、どちらも画面上又は配列内で使用されない。図5に示される如く、ステップ54の最後に、変更されたブロックの左側又は右側にある変更されていないブロックは、値1を有するが、両側に変更されたブロックを有する変更されていないブロックは、1個の隣接した変更されたブロックだけを有する全ての変更されたブロックと同様に、値2を有する。水平方向に隣接した変更されたブロックを伴わない変更されたブロックは値1を有し、一方、水平方向に隣接した2個の変更されたブロックを伴う変更されたブロックは値3を有する。ステップ56において、配列が垂直方向に走査され、図6に示される如くの値を生成するため、同じ増加規則が適用される。
図6に示されたカウンタ値を用いることにより、略変更されたブロックの領域は、包含されるべきブロックに対し閾値レベル2をセットすることにより画成される。この閾値レベルを用いるならば、図3の左上隅でハッチングされた全ての正方形は1回の演算で同時に送られる。このようなブロックのグループは、“最適な方形”と称される。
上記の如く、図3及び4(図10乃至15については後述する)の右下隅の変更されたブロックのグループと、左上隅のグループとの相違は、上方のグループの左下のブロック、即ち、ブロックD6は変更を含み、一方、下方のグループの対応するブロック、即ち、ブロックJ14は変更されていない点だけである。同様に、上方のグループのブロックG4は変更され、下方のグループの対応するブロックM12は変更されていない。その結果として、下方のグループの左下のブロック及び右上のブロック、即ち、ブロックJ14及びM11は、閾値よりも小さいカウンタ値を有する。アルゴリズムは、最適な方形を形成した上方グループの16個のブロックと同じように、下方グループの16個のブロックを含むように記述してもよい。しかし、多数の変更されていないブロックが含まれることになる。従って、好ましい実施例によれば、上記の方法が最適な方形を選択するため使用される。
好ましい実施例において、最適な方形内の各ブロックは、この例では2である閾値レベル以上のカウンタ値を有することが必要である。上記の如く、変更ブロックリスト(例示的なコードでは、DirtyListとして示される)は、最初に検出され、未だ送信されていない変更されたブロック(最先に変更されたブロック)から始まる順序で保持される。下方グループ内で最初に検出される変更されたブロックに依存して、異なる最適な方形が選択される。
好ましい実施例において、処理は変更ブロックリスト(DirtyList)の最初のブロックから始まる。これは、参照行及び参照列内の参照要素と称される。参照行内の最も左側及び最も右側の変更されたブロックは、閾値レベル以下のカウンタ値を有するブロックが見つけられるまで、最初に左側に走査し、次いで右側に走査することにより見つけられる。この処理は、参照要素の上側及び下側の参照列内で閾値レベル以下のカウンタ値を有するブロックが見つけられるまで、開始ポイントの上側及び下側の各行に関し繰り返される。開始列の左側及び右側で最も近くにある閾値レベル以下のカウンタ値を有するブロックは、最適な方形の左側の限界及び右側の限界を画成する。
かくして、下方グループの最初の参照要素が、図8において2重線で囲まれ、交差状にハッチングされたブロック、即ち、ブロックJ11又はJ13であるならば、2重線で囲まれたブロックは上記下方グループに対する第1の最適な方形に含まれる。図8に示される如く、ブロックJ10及びJ14は、閾値レベルよりも小さいので、最適な方形の上限は行11であり、下限は行13である。行11は、参照列である列Jの最も近くにあり閾値レベルよりも小さいカウンタを伴うブロックを有する。従って、最終的な最も左側の列は列Jであり、最終的な最も右側の列は列Kであり、図8において2重線で囲まれた方形が送信される。ブロックJ11及びJ13のいずれかが変更ブロックリストの先頭にあるとき、下方グループの送信を行うため、(図9において2重の外形線で示された)ブロックL13、L14、M13及びM14から形成された方形が送信される。但し、図3乃至10に示された最適な方形が選択される間に付加的なブロックが変更されない場合を想定している。
図10において、下方グループの処理が始まるとき、斜交平行線の陰影を付けられたブロックが変更ブロックリストの先頭に在るならば、2重線で外形が示されたブロックは、下方グループの第1の最適な方形として選択される。残りのブロックの中でどのブロックが最初に検出されるかに依存し、かつ、他のブロックが変更されない場合を想定するならば、図11において2重線で示された方形、或いは、図12において2重線で示された方形の一方が送信され、引き続いて、図11又は12の中のもう一方の方形が送信される。最終的に、ブロックM13又はM14のいずれかが下方のブロックのグループ内で変更されたブロックとして検出された最初のブロックであるならば、第1の最適な方形は、図13に2重線で示されるような方形である。上記の如く、閾値2よりも小さいカウンタ値を有し、ブロックM13及びM14の最も近くにある列M内のブロックは、ブロックM11及びM15である。このブロックは最適な方形の上方の境界及び下方の境界を画成する。列N内の全てのブロックは、閾値よりも小さいカウンタ値を有するので、右側の境界を画成し、一方、ブロックJ14はカウンタ値1を有するので、最適な方形の左側の境界を画成する。図14において2重線で外形が示された一つのブロックがブロックJ13の前に変更されたとして検出されたならば、3個のブロックJ11、K11及びL11が次に送信され、続いて、ブロックJ13が送信される。さもなければ、ブロックJ13が送信され、続いて、上記3個のブロックが送信される。
上記3個のブロックJ11、K11及びL11だけが一体的に送信され、ブロックJ13は単独で送信される理由は、図14から直ちに明らかではない。上記3個のブロックだけが一つのグループとして送信され、図13において2重線で示された最適な方形の後で1個のブロックが単独で送信される理由は、図14に示されたカウンタ値から直ちに明らかではない。カウンタ値の更なる変更が検出されない場合を想定しているので、図6乃至14において、カウンタ値は変更されないままで示されている。しかし、好ましい実施例において、最適な方形に含まれるブロックは、図2に示されるように、変更ブロックリスト(DirtyList)から削除され(ステップ38)、ブロックがステップ44で送信された後、リターンリストに挿入される。次の最適な方形が選択されたとき、カウンタ値は再計算される。その結果として、変更されたブロックの上方グループが最初に送信され、新たに変更されたブロックが検出されない場合を考えると、図13において2重線で示された最適な方形が送信された後、カウンタ値は、図14ではなく、図15に示されるように変わる。図15に示される如く、2重線で示された方形は、ブロックJ13と同様に、コーナーを除いてカウンタ値1を有するブロックで囲まれる。上記の4個のブロック以外の他の全てのブロックは、遠隔装置に送信されたため変更されていないので、値0のカウンタを有する。図13において変更され、図15に示される如く同時に送信されたブロックに施されたハッチングの向きは、図示されたようなカウンタ値になる理由の理解を助けるため、(図13乃至15における下方グループに対し変更ブロックリスト(DirtyList)の先頭であると考えられるブロックを除いて)先に使用されたハッチングと直交している。
上記の如く、最適な方形を選択する別の方法を使用しても構わないので、閾値レベルよりも大きいカウンタ値を有し参照要素に隣接したブロック含む最小の実現可能な方形ではなく、下方グループ内の全ブロックを含む最小の実現可能な方形が検出される。これは、CPU資源を使用する際により有効であるが、多数の変更されていないブロックを送信する必要がある。プロセッサパワーの方がデータ伝送帯域幅よりも豊富に利用可能であるならば、上記の別の方法を使用してもよい。ここで要求されるのは、好ましい実施例において行われたように、参照行内で左側及び右側に最も近くにあり、閾値レベルよりも小さいカウンタ値を有するブロックを探索し、次に、同時に1行ずつ上昇及び下降させて、現在の最も左側の位置及び最も右側の位置の外側に、閾値レベルよりも大きいカウンタ値を有するブロックが在るかどうかを検査し、もしブロックが在るならば、上記参照行内で閾値よりも大きいカウンタ値を有するブロックが在るかどうかを調べるため、最も左側のブロックの左及び最も右側のブロックの右の方へブロックを検査する。そのようなブロックが存在するならば、閾値レベルよりも小さいカウンタ値が検出されるまで上記ブロックの左側及び右側に夫々走査を継続し、最も左側の位置及び最も右側の位置が次の行のためリセットされる。この方法を用いることにより、方形の外側の全てのブロックのカウンタ値が閾値レベルよりも小さくなるまで、方形のサイズは連続的に拡大される。この結果として得られるブロックは非常にまばらになる。このことは、本発明の好ましい実施例が上記技術を使用しない理由の一つである。
好ましい実施例により得られる方形よりも大きく、上記の他の方法により得られる方形よりも小さい方形が得られるならば、最適な方形を検出する他の方法を使用してもよい。
図16に示されたステップを実行することにより最適な方形を決定した後、最適な方形内のブロックに対応するビデオメモリが読まれ、バッファに一時的に格納される。画面内の全てのブロック又は実質的に全てのブロックが変更された場合、表示画面上の全てのブロックのコピーを記憶するため、充分なメモリを一時的なバッファのために確保する必要がある。しかし、使用される残りのデータ構造は、ビデオメモリのサイズの中の小部分であるので、本発明による方法の方が、上記のデルタバッファ技術よりも著しく効率的である。一時的なバッファ内の画面データは、従来の方法を用いて圧縮され、データが表示されるべき画面上の場所を識別するポインタ又はポインタの範囲と共に遠隔ディスプレイに転送される。
図2のステップ28において、例えば、CRC64を用いて計算された値は、画面データと共に送信される。ローカル及び遠隔コンピュータシステムは、送信され、圧縮/圧縮解除処理されるべきデータ量を更に削減するため、画面データ、ポインタ及び計算された値をキャッシュすることが可能である。ローカルシステムが送信されるべきブロックデータに対し計算された値と一致する計算された値をキャッシュした場合に、計算された値を発生したブロックへのポインタ及び計算された値が遠隔コンピュータシステムに送信され、計算された値に対応するキャッシュされた圧縮解除データは、ポインタデータによって指定されたブロックに表示され得る。このようなデータキャッシュ方式により、最小の帯域幅しか必要としない高速表示が行われるが、当然ながらキャッシュのため使用されるメモリ容量分だけメモリ必要量を増加させる。
図2及び16に示されたフローチャートは、例えば、C++におけるMICROSOFT Foundation Classes(MFC)を用いて実現される。グリッドリスト、ウェイトリスト、変更ブロックリスト(DirtyList)及びリターンリストは、MFCの CObList により定義される。例示的なソースコードで使用されるMFC内の他のクラスは、デバイスコンテキスト(描画面)としてディスプレイ画面を表わすクラスCDCを含む。画面に表示されたデータは、ウィンドウズ(登録商標)・グラフィックス・デバイス・インタフェース(GDI)ビットマップをカプセル化し、ビットマップを操作するメンバ関数を提供するCBitmapクラスからのオブジェクトの中に在る。
本発明の多数の特徴及び利点は詳細な説明から明らかであり、特許請求の範囲は、本発明の真の精神及び範囲に収まる自動切り替えの全ての特徴及び利点を包摂する。さらに、当業者であれば、本発明の開示に基づいて種々の変形及び変更を容易に行い得るので、本発明は、例示、説明された構成及び動作に厳密に制限されるべきではない。本発明は、本発明の精神及び範囲を逸脱することなく他の適当な変形物及び等価物にも及ぶ。
上記説明の通り、本発明によれば、ディスプレイ画面を複写する際に、特に、安全の高いオペレーティングシステムの動作環境においても、CPU資源、メモリ及び帯域幅が効率的に使用される。また、転送されるデータ量が少なくても効率的に圧縮され得るデータを生成することが可能である。更に、本発明によれば、ポップアップウィンドウが消えたとき等に、より高速な表示用のデータキャッシュと互換性のある効率的な画面転送が行える。
ネットワーク状コンピュータシステムの概略図である。 本発明による方法のフローチャートである。 16×16のセル又はブロックの配列に区分されたディスプレイ画面に変更が行われ、検出され、遠隔システムに伝送される様子を示す図である。 16×16のセル又はブロックの配列に区分されたディスプレイ画面に変更が行われ、検出され、遠隔システムに伝送される様子を示す図である。 16×16のセル又はブロックの配列に区分されたディスプレイ画面に変更が行われ、検出され、遠隔システムに伝送される様子を示す図である。 16×16のセル又はブロックの配列に区分されたディスプレイ画面に変更が行われ、検出され、遠隔システムに伝送される様子を示す図である。 16×16のセル又はブロックの配列に区分されたディスプレイ画面に変更が行われ、検出され、遠隔システムに伝送される様子を示す図である。 16×16のセル又はブロックの配列に区分されたディスプレイ画面に変更が行われ、検出され、遠隔システムに伝送される様子を示す図である。 16×16のセル又はブロックの配列に区分されたディスプレイ画面に変更が行われ、検出され、遠隔システムに伝送される様子を示す図である。 16×16のセル又はブロックの配列に区分されたディスプレイ画面に変更が行われ、検出され、遠隔システムに伝送される様子を示す図である。 16×16のセル又はブロックの配列に区分されたディスプレイ画面に変更が行われ、検出され、遠隔システムに伝送される様子を示す図である。 16×16のセル又はブロックの配列に区分されたディスプレイ画面に変更が行われ、検出され、遠隔システムに伝送される様子を示す図である。 16×16のセル又はブロックの配列に区分されたディスプレイ画面に変更が行われ、検出され、遠隔システムに伝送される様子を示す図である。 16×16のセル又はブロックの配列に区分されたディスプレイ画面に変更が行われ、検出され、遠隔システムに伝送される様子を示す図である。 16×16のセル又はブロックの配列に区分されたディスプレイ画面に変更が行われ、検出され、遠隔システムに伝送される様子を示す図である。 本発明による最適な方法を決定する方法の詳細なフローチャートである。 本発明による方法の詳細なフローチャートである。 本発明による方法の詳細なフローチャートである。 本発明による方法の詳細なフローチャートである。 本発明による方法の詳細なフローチャートである。 本発明による方法の詳細なフローチャートである。
符号の説明
10 ネットワーク状コンピュータシステム
10a,10b,10c,...,10d コンピュータシステム
12 ネットワーク
20 グリッドリスト
34 変更ブロックリスト
36 リターンリスト

Claims (2)

  1. コンピュータが、
    第1のディスプレイの画面を区分した複数のブロックそれぞれの情報を示す第1の値を計算する段階;
    前記第1の値を計算した後に、前記それぞれのブロックの情報を示す第2の値をグリッドリストに記憶する段階;
    前記第1の値と前記第2の値が一致しないブロック群を抽出する段階;
    前記第1の値と前記第2の値が一致しないブロック群から抽出した、値が一致しない第1のブロックと、
    該値が一致しない第1のブロックに隣接する、値が一致しない第2のブロックと、
    前記第1のブロックと前記第2のブロックとの何れかに2個以上隣接する、値が一致するブロックと
    からなる方形のブロック群を抽出する段階;及び
    該抽出された方形のブロック群の情報を圧縮して第2のディスプレイに送信する段階;
    を実行する、ディスプレイの情報を送信する送信方法。
  2. 前記方形のブロック群を抽出する段階において、
    前記コンピュータは、前記第1のディスプレイ画面を水平方向及び垂直方向に順次走査することによって前記方形のブロック群を抽出する、請求項1記載のディスプレイの情報を送信する送信方法。
JP2007009086A 1996-10-31 2007-01-18 ディスプレイ画面の複写システム及び方法 Pending JP2007179554A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/741,807 US5990852A (en) 1996-10-31 1996-10-31 Display screen duplication system and method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP9298871A Division JPH10161845A (ja) 1996-10-31 1997-10-30 ディスプレイ画面の複写システム及び方法

Publications (1)

Publication Number Publication Date
JP2007179554A true JP2007179554A (ja) 2007-07-12

Family

ID=24982295

Family Applications (2)

Application Number Title Priority Date Filing Date
JP9298871A Withdrawn JPH10161845A (ja) 1996-10-31 1997-10-30 ディスプレイ画面の複写システム及び方法
JP2007009086A Pending JP2007179554A (ja) 1996-10-31 2007-01-18 ディスプレイ画面の複写システム及び方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP9298871A Withdrawn JPH10161845A (ja) 1996-10-31 1997-10-30 ディスプレイ画面の複写システム及び方法

Country Status (3)

Country Link
US (1) US5990852A (ja)
JP (2) JPH10161845A (ja)
GB (1) GB2318956B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013191028A (ja) * 2012-03-14 2013-09-26 Nec Corp 画面共有装置、画面共有方法、及び、画面共有プログラム

Families Citing this family (183)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790798A (en) 1996-05-31 1998-08-04 Witness Systems, Inc. Method and apparatus for simultaneously monitoring computer user screen and telephone activity from a remote location
US6370574B1 (en) 1996-05-31 2002-04-09 Witness Systems, Inc. Method and apparatus for simultaneously monitoring computer user screen and telephone activity from a remote location
US8861707B2 (en) * 1996-05-31 2014-10-14 Verint Americas Inc. Method and apparatus for simultaneously monitoring computer user screen and telephone activity from a remote location
US6064382A (en) * 1997-11-19 2000-05-16 International Business Machines Corporation Object oriented apparatus and method for providing a graphical user interface for host-based software applications
US6501442B2 (en) * 1998-06-15 2002-12-31 Compaq Information Technologies Group, L.P. Method and apparatus for graphical display of multiple network monitors over multiple intervals
JP3105884B2 (ja) * 1999-03-31 2000-11-06 新潟日本電気株式会社 メモリ性表示装置用表示コントローラ
US6331855B1 (en) * 1999-04-28 2001-12-18 Expertcity.Com, Inc. Method and apparatus for providing remote access, control of remote systems and updating of display information
US6664969B1 (en) * 1999-11-12 2003-12-16 Hewlett-Packard Development Company, L.P. Operating system independent method and apparatus for graphical remote access
GB0000735D0 (en) 2000-01-13 2000-03-08 Eyretel Ltd System and method for analysing communication streams
US7574000B2 (en) 2000-01-13 2009-08-11 Verint Americas Inc. System and method for analysing communications streams
US6943801B2 (en) * 2000-03-31 2005-09-13 Scott A. Rosenberg System and method for refreshing imaging devices or displays on a page-level basis
US7325190B1 (en) 2000-10-02 2008-01-29 Boehmer Tiffany D Interface system and method of building rules and constraints for a resource scheduling system
US6760772B2 (en) 2000-12-15 2004-07-06 Qualcomm, Inc. Generating and implementing a communication protocol and interface for high data rate signal transfer
US8206379B2 (en) * 2001-02-02 2012-06-26 Homer Gregg S Techniques for alteration of iris pigment
GB0103381D0 (en) 2001-02-12 2001-03-28 Eyretel Ltd Packet data recording method and system
US8015042B2 (en) 2001-04-02 2011-09-06 Verint Americas Inc. Methods for long-range contact center staff planning utilizing discrete event simulation
US7155399B2 (en) 2001-04-03 2006-12-26 Witness Systems, Inc. System and method for complex schedule generation
US6952732B2 (en) 2001-04-30 2005-10-04 Blue Pumpkin Software, Inc. Method and apparatus for multi-contact scheduling
US6959405B2 (en) 2001-04-18 2005-10-25 Blue Pumpkin Software, Inc. Method and system for concurrent error identification in resource scheduling
US8812706B1 (en) 2001-09-06 2014-08-19 Qualcomm Incorporated Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system
US20030058248A1 (en) * 2001-09-21 2003-03-27 Hochmuth Roland M. System and method for communicating graphics over a network
JP4611584B2 (ja) * 2001-09-28 2011-01-12 富士通エフ・アイ・ピー株式会社 画像データ表示方法、画像データ表示サーバ、画像データ表示プログラム及び記録媒体
US6825846B2 (en) * 2001-12-10 2004-11-30 American Megatrends, Inc. Systems and methods for capturing screen displays from a host computing system for display at a remote terminal
GB0219493D0 (en) 2002-08-21 2002-10-02 Eyretel Plc Method and system for communications monitoring
US7260624B2 (en) 2002-09-20 2007-08-21 American Megatrends, Inc. Systems and methods for establishing interaction between a local computer and a remote computer
US7321623B2 (en) 2002-10-01 2008-01-22 Avocent Corporation Video compression system
US20060126718A1 (en) * 2002-10-01 2006-06-15 Avocent Corporation Video compression encoder
US7418141B2 (en) * 2003-03-31 2008-08-26 American Megatrends, Inc. Method, apparatus, and computer-readable medium for identifying character coordinates
US7412625B2 (en) * 2003-05-27 2008-08-12 American Megatrends, Inc. Method and system for remote software debugging
KR101166734B1 (ko) 2003-06-02 2012-07-19 퀄컴 인코포레이티드 고속 데이터 레이트를 위한 신호 프로토콜 및 인터페이스의 생성 및 구현
US7546584B2 (en) 2003-06-16 2009-06-09 American Megatrends, Inc. Method and system for remote software testing
US7543277B1 (en) 2003-06-27 2009-06-02 American Megatrends, Inc. Method and system for remote software debugging
US9560371B2 (en) 2003-07-30 2017-01-31 Avocent Corporation Video compression system
JP2007507918A (ja) 2003-08-13 2007-03-29 クゥアルコム・インコーポレイテッド さらに高速なデータレート用の信号インタフェース
KR100973103B1 (ko) 2003-09-10 2010-08-02 콸콤 인코포레이티드 고속 데이터 인터페이스
AU2004306903C1 (en) 2003-10-15 2009-01-22 Qualcomm Incorporated High data rate interface
US7886057B2 (en) * 2003-10-20 2011-02-08 Logitech Europe S.A. Method and apparatus for communicating data between two hosts
US7636805B2 (en) * 2003-10-20 2009-12-22 Logitech Europe S.A. Method and apparatus for communicating data between two hosts
AU2004307162A1 (en) 2003-10-29 2005-05-12 Qualcomm Incorporated High data rate interface
KR100915250B1 (ko) 2003-11-12 2009-09-03 콸콤 인코포레이티드 향상된 링크 제어를 제공하는 고속 데이터 레이트 인터페이스
WO2005053272A1 (en) 2003-11-25 2005-06-09 Qualcomm Incorporated High data rate interface with improved link synchronization
EP2247070B1 (en) 2003-12-08 2013-09-25 QUALCOMM Incorporated High data rate interface with improved link synchronization
US7827258B1 (en) 2004-03-01 2010-11-02 American Megatrends, Inc. Method, system, and apparatus for communicating with a computer management device
EP2375676B1 (en) 2004-03-10 2013-06-26 Qualcomm Incorporated High data rate interface apparatus and method
EP1735986B1 (en) 2004-03-17 2013-05-22 Qualcomm, Incorporated High data rate interface apparatus and method
BRPI0509147A (pt) 2004-03-24 2007-09-11 Qualcomm Inc equipamentos e método para interface de alta taxa de dados
US20060031779A1 (en) * 2004-04-15 2006-02-09 Citrix Systems, Inc. Selectively sharing screen data
US20060002315A1 (en) * 2004-04-15 2006-01-05 Citrix Systems, Inc. Selectively sharing screen data
US7827139B2 (en) * 2004-04-15 2010-11-02 Citrix Systems, Inc. Methods and apparatus for sharing graphical screen data in a bandwidth-adaptive manner
US7680885B2 (en) 2004-04-15 2010-03-16 Citrix Systems, Inc. Methods and apparatus for synchronization of data set representations in a bandwidth-adaptive manner
US8650304B2 (en) 2004-06-04 2014-02-11 Qualcomm Incorporated Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system
KR100926658B1 (ko) 2004-06-04 2009-11-17 퀄컴 인코포레이티드 고 데이터 레이트 인터페이스 장치 및 방법
US7212174B2 (en) * 2004-06-24 2007-05-01 International Business Machines Corporation Systems and methods for sharing application data in a networked computing environment
US7457461B2 (en) 2004-06-25 2008-11-25 Avocent Corporation Video compression noise immunity
US7672005B1 (en) 2004-06-30 2010-03-02 Teradici Corporation Methods and apparatus for scan block caching
US7782339B1 (en) 2004-06-30 2010-08-24 Teradici Corporation Method and apparatus for generating masks for a multi-layer image decomposition
US7864857B1 (en) 2004-06-30 2011-01-04 Teradici Corporation Data comparison methods and apparatus suitable for image processing and motion search
US7519749B1 (en) 2004-08-25 2009-04-14 American Megatrends, Inc. Redirecting input and output for multiple computers
US7543064B2 (en) * 2004-09-30 2009-06-02 Logitech Europe S.A. Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host
US8723705B2 (en) 2004-11-24 2014-05-13 Qualcomm Incorporated Low output skew double data rate serial encoder
US8873584B2 (en) 2004-11-24 2014-10-28 Qualcomm Incorporated Digital data interface device
US7680250B1 (en) 2004-11-24 2010-03-16 Interactive Quality Services Interactive method and system of testing an automated call telephonic communication system
US8667363B2 (en) 2004-11-24 2014-03-04 Qualcomm Incorporated Systems and methods for implementing cyclic redundancy checks
US8699330B2 (en) * 2004-11-24 2014-04-15 Qualcomm Incorporated Systems and methods for digital data transmission rate control
US8692838B2 (en) 2004-11-24 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US20060159432A1 (en) 2005-01-14 2006-07-20 Citrix Systems, Inc. System and methods for automatic time-warped playback in rendering a recorded computer session
US8230096B2 (en) 2005-01-14 2012-07-24 Citrix Systems, Inc. Methods and systems for generating playback instructions for playback of a recorded computer session
US8296441B2 (en) 2005-01-14 2012-10-23 Citrix Systems, Inc. Methods and systems for joining a real-time session of presentation layer protocol data
US8340130B2 (en) 2005-01-14 2012-12-25 Citrix Systems, Inc. Methods and systems for generating playback instructions for rendering of a recorded computer session
US8935316B2 (en) 2005-01-14 2015-01-13 Citrix Systems, Inc. Methods and systems for in-session playback on a local machine of remotely-stored and real time presentation layer protocol data
US8200828B2 (en) 2005-01-14 2012-06-12 Citrix Systems, Inc. Systems and methods for single stack shadowing
US7738468B2 (en) 2005-03-22 2010-06-15 Logitech Europe S.A. Method and apparatus for packet traversal of a network address translation device
US8443040B2 (en) 2005-05-26 2013-05-14 Citrix Systems Inc. Method and system for synchronizing presentation of a dynamic data set to a plurality of nodes
US7822278B1 (en) 2005-09-20 2010-10-26 Teradici Corporation Methods and apparatus for encoding a digital video signal
US8107527B1 (en) 2005-07-28 2012-01-31 Teradici Corporation Progressive block encoding using region analysis
US8345768B1 (en) 2005-07-28 2013-01-01 Teradici Corporation Progressive block encoding using region analysis
US8191008B2 (en) * 2005-10-03 2012-05-29 Citrix Systems, Inc. Simulating multi-monitor functionality in a single monitor environment
US8692839B2 (en) 2005-11-23 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8730069B2 (en) 2005-11-23 2014-05-20 Qualcomm Incorporated Double data rate serial encoder
US8010843B2 (en) 2005-12-14 2011-08-30 American Megatrends, Inc. System and method for debugging a target computer using SMBus
US7783985B2 (en) * 2006-01-04 2010-08-24 Citrix Systems, Inc. Systems and methods for transferring data between computing devices
US7853006B1 (en) 2006-02-22 2010-12-14 Verint Americas Inc. Systems and methods for scheduling call center agents using quality data and correlation-based discovery
US8112306B2 (en) 2006-02-22 2012-02-07 Verint Americas, Inc. System and method for facilitating triggers and workflows in workforce optimization
US8117064B2 (en) 2006-02-22 2012-02-14 Verint Americas, Inc. Systems and methods for workforce optimization and analytics
US8670552B2 (en) 2006-02-22 2014-03-11 Verint Systems, Inc. System and method for integrated display of multiple types of call agent data
US8108237B2 (en) 2006-02-22 2012-01-31 Verint Americas, Inc. Systems for integrating contact center monitoring, training and scheduling
US8112298B2 (en) 2006-02-22 2012-02-07 Verint Americas, Inc. Systems and methods for workforce optimization
US7864946B1 (en) 2006-02-22 2011-01-04 Verint Americas Inc. Systems and methods for scheduling call center agents using quality data and correlation-based discovery
US8160233B2 (en) 2006-02-22 2012-04-17 Verint Americas Inc. System and method for detecting and displaying business transactions
US7768543B2 (en) * 2006-03-09 2010-08-03 Citrix Online, Llc System and method for dynamically altering videoconference bit rates and layout based on participant activity
US7734783B1 (en) 2006-03-21 2010-06-08 Verint Americas Inc. Systems and methods for determining allocations for distributed multi-site contact centers
US8126134B1 (en) 2006-03-30 2012-02-28 Verint Americas, Inc. Systems and methods for scheduling of outbound agents
US7792278B2 (en) 2006-03-31 2010-09-07 Verint Americas Inc. Integration of contact center surveys
US7995612B2 (en) 2006-03-31 2011-08-09 Verint Americas, Inc. Systems and methods for capturing communication signals [32-bit or 128-bit addresses]
US7680264B2 (en) 2006-03-31 2010-03-16 Verint Americas Inc. Systems and methods for endpoint recording using a conference bridge
US7822018B2 (en) 2006-03-31 2010-10-26 Verint Americas Inc. Duplicate media stream
US8594313B2 (en) 2006-03-31 2013-11-26 Verint Systems, Inc. Systems and methods for endpoint recording using phones
US7826608B1 (en) 2006-03-31 2010-11-02 Verint Americas Inc. Systems and methods for calculating workforce staffing statistics
US7774854B1 (en) 2006-03-31 2010-08-10 Verint Americas Inc. Systems and methods for protecting information
US7701972B1 (en) 2006-03-31 2010-04-20 Verint Americas Inc. Internet protocol analyzing
US8130938B2 (en) 2006-03-31 2012-03-06 Verint Americas, Inc. Systems and methods for endpoint recording using recorders
US7852994B1 (en) 2006-03-31 2010-12-14 Verint Americas Inc. Systems and methods for recording audio
US8000465B2 (en) 2006-03-31 2011-08-16 Verint Americas, Inc. Systems and methods for endpoint recording using gateways
US8442033B2 (en) 2006-03-31 2013-05-14 Verint Americas, Inc. Distributed voice over internet protocol recording
US8254262B1 (en) 2006-03-31 2012-08-28 Verint Americas, Inc. Passive recording and load balancing
US7633930B2 (en) 2006-03-31 2009-12-15 Verint Americas Inc. Systems and methods for capturing multimedia communication signals
US8204056B2 (en) 2006-03-31 2012-06-19 Verint Americas, Inc. Systems and methods for endpoint recording using a media application server
US20080008296A1 (en) * 2006-03-31 2008-01-10 Vernit Americas Inc. Data Capture in a Distributed Network
US7672746B1 (en) 2006-03-31 2010-03-02 Verint Americas Inc. Systems and methods for automatic scheduling of a workforce
US8155275B1 (en) 2006-04-03 2012-04-10 Verint Americas, Inc. Systems and methods for managing alarms from recorders
US7782961B2 (en) 2006-04-28 2010-08-24 Avocent Corporation DVC delta commands
US8331549B2 (en) 2006-05-01 2012-12-11 Verint Americas Inc. System and method for integrated workforce and quality management
US8396732B1 (en) 2006-05-08 2013-03-12 Verint Americas Inc. System and method for integrated workforce and analytics
US7817795B2 (en) 2006-05-10 2010-10-19 Verint Americas, Inc. Systems and methods for data synchronization in a customer center
US7660406B2 (en) 2006-06-27 2010-02-09 Verint Americas Inc. Systems and methods for integrating outsourcers
US7660407B2 (en) 2006-06-27 2010-02-09 Verint Americas Inc. Systems and methods for scheduling contact center agents
US7660307B2 (en) 2006-06-29 2010-02-09 Verint Americas Inc. Systems and methods for providing recording as a network service
US7903568B2 (en) 2006-06-29 2011-03-08 Verint Americas Inc. Systems and methods for providing recording as a network service
US7853800B2 (en) 2006-06-30 2010-12-14 Verint Americas Inc. Systems and methods for a secure recording environment
US7848524B2 (en) 2006-06-30 2010-12-07 Verint Americas Inc. Systems and methods for a secure recording environment
US7769176B2 (en) 2006-06-30 2010-08-03 Verint Americas Inc. Systems and methods for a secure recording environment
US7966397B2 (en) 2006-06-30 2011-06-21 Verint Americas Inc. Distributive data capture
US8131578B2 (en) 2006-06-30 2012-03-06 Verint Americas Inc. Systems and methods for automatic scheduling of a workforce
US7953621B2 (en) 2006-06-30 2011-05-31 Verint Americas Inc. Systems and methods for displaying agent activity exceptions
US7783799B1 (en) * 2006-08-31 2010-08-24 American Megatrends, Inc. Remotely controllable switch and testing methods using same
US8054241B2 (en) * 2006-09-14 2011-11-08 Citrix Systems, Inc. Systems and methods for multiple display support in remote access software
US7791559B2 (en) * 2006-09-14 2010-09-07 Citrix Systems, Inc. System and method for multiple display support in remote access software
US7953750B1 (en) 2006-09-28 2011-05-31 Verint Americas, Inc. Systems and methods for storing and searching data in a customer center environment
US7930314B2 (en) 2006-09-28 2011-04-19 Verint Americas Inc. Systems and methods for storing and searching data in a customer center environment
US7752043B2 (en) 2006-09-29 2010-07-06 Verint Americas Inc. Multi-pass speech analytics
US7885813B2 (en) 2006-09-29 2011-02-08 Verint Systems Inc. Systems and methods for analyzing communication sessions
US8837697B2 (en) 2006-09-29 2014-09-16 Verint Americas Inc. Call control presence and recording
US7899178B2 (en) 2006-09-29 2011-03-01 Verint Americas Inc. Recording invocation of communication sessions
US8068602B1 (en) 2006-09-29 2011-11-29 Verint Americas, Inc. Systems and methods for recording using virtual machines
US7881216B2 (en) 2006-09-29 2011-02-01 Verint Systems Inc. Systems and methods for analyzing communication sessions using fragments
US7873156B1 (en) 2006-09-29 2011-01-18 Verint Americas Inc. Systems and methods for analyzing contact center interactions
US7991613B2 (en) 2006-09-29 2011-08-02 Verint Americas Inc. Analyzing audio components and generating text with integrated additional session information
US7965828B2 (en) 2006-09-29 2011-06-21 Verint Americas Inc. Call control presence
US8199886B2 (en) 2006-09-29 2012-06-12 Verint Americas, Inc. Call control recording
US7570755B2 (en) 2006-09-29 2009-08-04 Verint Americas Inc. Routine communication sessions for recording
US7920482B2 (en) 2006-09-29 2011-04-05 Verint Americas Inc. Systems and methods for monitoring information corresponding to communication sessions
US7899176B1 (en) 2006-09-29 2011-03-01 Verint Americas Inc. Systems and methods for discovering customer center information
US8645179B2 (en) 2006-09-29 2014-02-04 Verint Americas Inc. Systems and methods of partial shift swapping
US7613290B2 (en) 2006-09-29 2009-11-03 Verint Americas Inc. Recording using proxy servers
US8005676B2 (en) 2006-09-29 2011-08-23 Verint Americas, Inc. Speech analysis using statistical learning
US8130925B2 (en) 2006-12-08 2012-03-06 Verint Americas, Inc. Systems and methods for recording
US8130926B2 (en) 2006-12-08 2012-03-06 Verint Americas, Inc. Systems and methods for recording data
US8280011B2 (en) 2006-12-08 2012-10-02 Verint Americas, Inc. Recording in a distributed environment
US8102400B1 (en) * 2007-03-26 2012-01-24 Celio Corporation Method and apparatus for providing enhanced resolution display for display telephones and PDAs
US9106737B2 (en) 2007-03-30 2015-08-11 Verint Americas, Inc. Systems and methods for recording resource association for recording
US8743730B2 (en) 2007-03-30 2014-06-03 Verint Americas Inc. Systems and methods for recording resource association for a communications environment
US8437465B1 (en) 2007-03-30 2013-05-07 Verint Americas, Inc. Systems and methods for capturing communications data
US8170184B2 (en) 2007-03-30 2012-05-01 Verint Americas, Inc. Systems and methods for recording resource association in a recording environment
GB0707276D0 (en) * 2007-04-16 2007-05-23 Adventiq Ltd Video data transmission
US8315901B2 (en) 2007-05-30 2012-11-20 Verint Systems Inc. Systems and methods of automatically scheduling a workforce
WO2009047694A1 (en) * 2007-10-08 2009-04-16 Nxp B.V. Method and system for managing the encoding of digital video content
US8190707B2 (en) 2007-10-20 2012-05-29 Citrix Systems, Inc. System and method for transferring data among computing environments
JP4708410B2 (ja) * 2007-11-02 2011-06-22 株式会社ナナオ 画像表示装置
US8413151B1 (en) 2007-12-19 2013-04-02 Nvidia Corporation Selective thread spawning within a multi-threaded processing system
EP2277317B1 (en) 2008-05-19 2021-01-27 Citrix Systems, Inc. Systems and methods for enhanced image encoding
US8401155B1 (en) 2008-05-23 2013-03-19 Verint Americas, Inc. Systems and methods for secure recording in a customer center environment
CN101290746A (zh) * 2008-06-18 2008-10-22 北京工业大学 电子纸屏幕的图像更新方法
US9098495B2 (en) * 2008-06-24 2015-08-04 Commvault Systems, Inc. Application-aware and remote single instance data management
US8959497B1 (en) * 2008-08-29 2015-02-17 Nvidia Corporation System and method for dynamically spawning thread blocks within multi-threaded processing systems
US8615770B1 (en) * 2008-08-29 2013-12-24 Nvidia Corporation System and method for dynamically spawning thread blocks within multi-threaded processing systems
US8880715B2 (en) * 2008-10-23 2014-11-04 Canon Kabushiki Kaisha Remote control of a host computer
US8719016B1 (en) 2009-04-07 2014-05-06 Verint Americas Inc. Speech analytics system and system and method for determining structured speech
IL199115A (en) * 2009-06-03 2013-06-27 Verint Systems Ltd Systems and methods for efficiently locating keywords in communication traffic
US10115065B1 (en) 2009-10-30 2018-10-30 Verint Americas Inc. Systems and methods for automatic scheduling of a workforce
JP5471794B2 (ja) * 2010-05-10 2014-04-16 富士通株式会社 情報処理装置、画像送信プログラム及び画像表示方法
US20110310980A1 (en) * 2010-06-22 2011-12-22 Qualcomm Mems Technologies, Inc. Apparatus and methods for processing frames of video data across a display interface using a block-based encoding scheme and a tag id
GB2481612A (en) * 2010-06-30 2012-01-04 Skype Ltd Updating image regions in a shared image system
GB2481613A (en) * 2010-06-30 2012-01-04 Skype Ltd Updating regions of shared images using a server that records image status
CN102437999A (zh) 2010-09-29 2012-05-02 国际商业机器公司 通过动态分区改进应用共享的方法和系统
US20120133659A1 (en) * 2010-11-30 2012-05-31 Ati Technologies Ulc Method and apparatus for providing static frame
EP2563038A1 (en) 2011-08-26 2013-02-27 Streamtainment Systems OÜ Method for transmitting video signals from an application on a server over an IP network to a client device
US8615159B2 (en) 2011-09-20 2013-12-24 Citrix Systems, Inc. Methods and systems for cataloging text in a recorded session
JP2015210569A (ja) * 2014-04-24 2015-11-24 株式会社リコー 画像処理装置、情報共有装置、画像処理方法、及びプログラム
CN108369795B (zh) * 2015-12-15 2021-03-30 精工爱普生株式会社 电路装置、电光装置、电子设备、移动体及错误检测方法
GB2547220A (en) 2016-02-10 2017-08-16 Testplant Europe Ltd Method of, and apparatus for, testing computer hardware and software
GB2547222A (en) 2016-02-10 2017-08-16 Testplant Europe Ltd Method of, and apparatus for, testing computer hardware and software
JP2019132922A (ja) * 2018-01-30 2019-08-08 株式会社ジャパンディスプレイ 表示装置および表示システム
JP2020027176A (ja) * 2018-08-10 2020-02-20 セイコーエプソン株式会社 回路装置、表示制御システム、電子機器及び移動体

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3408061A1 (de) * 1984-03-05 1985-09-05 ANT Nachrichtentechnik GmbH, 7150 Backnang Verfahren zur bewegungsadaptiven interpolation von fernsehbildsequenzen und anwendungen dieses verfahrens
US4823108A (en) * 1984-05-02 1989-04-18 Quarterdeck Office Systems Display system and memory architecture and method for displaying images in windows on a video display
NL8701838A (nl) * 1987-08-04 1989-03-01 Frederik Karanema Houtman En P Werkwijze en stelsel voor het in gedigitaliseerde vorm overdragen en/of opslaan van informatie.
JPH0220185A (ja) * 1988-07-08 1990-01-23 Ricoh Co Ltd 動画像伝送方式
US4958378A (en) * 1989-04-26 1990-09-18 Sun Microsystems, Inc. Method and apparatus for detecting changes in raster data
CA2021865A1 (en) * 1989-07-26 1991-01-27 Seizi Maruo Multimedia telemeeting terminal device, terminal device system and manipulation method thereof
US5030953A (en) * 1990-07-11 1991-07-09 Massachusetts Institute Of Technology Charge domain block matching processor
US5241625A (en) * 1990-11-27 1993-08-31 Farallon Computing, Inc. Screen image sharing among heterogeneous computers
JP3002019B2 (ja) * 1991-07-04 2000-01-24 富士通株式会社 セル廃棄補償機能を有する画像符号化伝送方式
JPH05347674A (ja) * 1992-06-12 1993-12-27 Matsushita Electric Ind Co Ltd 同期表示制御装置
JP3429789B2 (ja) * 1992-06-19 2003-07-22 株式会社リコー 画面表示装置の制御方法
GB2270581A (en) * 1992-09-15 1994-03-16 Ibm Computer workstation
US5442788A (en) * 1992-11-10 1995-08-15 Xerox Corporation Method and apparatus for interfacing a plurality of users to a plurality of applications on a common display device
US5471248A (en) * 1992-11-13 1995-11-28 National Semiconductor Corporation System for tile coding of moving images
US5467134A (en) * 1992-12-22 1995-11-14 Microsoft Corporation Method and system for compressing video data
US5430486A (en) * 1993-08-17 1995-07-04 Rgb Technology High resolution video image transmission and storage
US5485212A (en) * 1993-11-02 1996-01-16 Xerox Corporation Software video compression for teleconferencing
US5481297A (en) * 1994-02-25 1996-01-02 At&T Corp. Multipoint digital video communication system
GB2291553A (en) * 1994-07-13 1996-01-24 Ibm Digital image compression system
US5506624A (en) * 1994-07-28 1996-04-09 Silicon Graphics, Inc. Rotating sample of video images
US5552832A (en) * 1994-10-26 1996-09-03 Intel Corporation Run-length encoding sequence for video signals
GB2299233A (en) * 1995-03-21 1996-09-25 Ibm Video compression method involving conditional replenishment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013191028A (ja) * 2012-03-14 2013-09-26 Nec Corp 画面共有装置、画面共有方法、及び、画面共有プログラム

Also Published As

Publication number Publication date
JPH10161845A (ja) 1998-06-19
GB9719407D0 (en) 1997-11-12
GB2318956B (en) 2001-07-04
US5990852A (en) 1999-11-23
GB2318956A (en) 1998-05-06

Similar Documents

Publication Publication Date Title
JP2007179554A (ja) ディスプレイ画面の複写システム及び方法
US6657625B1 (en) System and method of caching glyphs for display by a remote terminal
KR100783217B1 (ko) 저밴드폭 전송 프로토콜 메카니즘을 통해 전송에 대한그래픽 디스플레이 데이터를 효율적으로 감소하기 위한방법 및 시스템
USRE36145E (en) System for managing tiled images using multiple resolutions
US20060103653A1 (en) System And Method Of Caching Glyphs For Display By A Remote Terminal
US20030085893A1 (en) Method and apparatus for controlling compressed Z information in a video graphics system
US6292166B1 (en) System and method for sharing diverse display types in a bit map sharing collaborative tool
CN1291355C (zh) 用于区域渲染的深度写禁止
AU2001263490A1 (en) Method and system for efficiently reducing graphical display data for transmission over a low bandwidth transport protocol mechanism
EP1326405B1 (en) Method and system for efficiently reducing graphical display data for transmission over a low bandwidth transport protocol mechanism
US7903119B2 (en) Compression of image regions according to graphics command type
CN116166367B (zh) 提升显示帧缓存图像读取效率的方法
US6807678B2 (en) Method for selectively transmitting screen control data for terminal displays from a server to a client computer
AU2006202292B2 (en) Method and system for efficiently reducing graphical display data for transmission over a low bandwidth transport protocol mechanism
JPH05265416A (ja) 画像情報伝送方式
AU2006202299A1 (en) Method and system for efficiently reducing graphical display data for transmission over a low bandwidth transport protocol mechanism

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080902

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090106