JP2007179554A - ディスプレイ画面の複写システム及び方法 - Google Patents
ディスプレイ画面の複写システム及び方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/507—Methods 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
【解決手段】コンピュータが、第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の値を計算、記憶し、
上記第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資源、メモリ及び帯域幅が効率的に使用される。また、転送されるデータ量が少なくても効率的に圧縮され得るデータを生成することが可能である。更に、本発明によれば、ポップアップウィンドウが消えたとき等に、より高速な表示用のデータキャッシュと互換性のある効率的な画面転送が行える。
10 ネットワーク状コンピュータシステム
10a,10b,10c,...,10d コンピュータシステム
12 ネットワーク
20 グリッドリスト
34 変更ブロックリスト
36 リターンリスト
10a,10b,10c,...,10d コンピュータシステム
12 ネットワーク
20 グリッドリスト
34 変更ブロックリスト
36 リターンリスト
Claims (2)
- コンピュータが、
第1のディスプレイの画面を区分した複数のブロックそれぞれの情報を示す第1の値を計算する段階;
前記第1の値を計算した後に、前記それぞれのブロックの情報を示す第2の値をグリッドリストに記憶する段階;
前記第1の値と前記第2の値が一致しないブロック群を抽出する段階;
前記第1の値と前記第2の値が一致しないブロック群から抽出した、値が一致しない第1のブロックと、
該値が一致しない第1のブロックに隣接する、値が一致しない第2のブロックと、
前記第1のブロックと前記第2のブロックとの何れかに2個以上隣接する、値が一致するブロックと
からなる方形のブロック群を抽出する段階;及び
該抽出された方形のブロック群の情報を圧縮して第2のディスプレイに送信する段階;
を実行する、ディスプレイの情報を送信する送信方法。 - 前記方形のブロック群を抽出する段階において、
前記コンピュータは、前記第1のディスプレイ画面を水平方向及び垂直方向に順次走査することによって前記方形のブロック群を抽出する、請求項1記載のディスプレイの情報を送信する送信方法。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013191028A (ja) * | 2012-03-14 | 2013-09-26 | Nec Corp | 画面共有装置、画面共有方法、及び、画面共有プログラム |
Families Citing this family (183)
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)
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 |
-
1996
- 1996-10-31 US US08/741,807 patent/US5990852A/en not_active Expired - Lifetime
-
1997
- 1997-09-12 GB GB9719407A patent/GB2318956B/en not_active Expired - Fee Related
- 1997-10-30 JP JP9298871A patent/JPH10161845A/ja not_active Withdrawn
-
2007
- 2007-01-18 JP JP2007009086A patent/JP2007179554A/ja active Pending
Cited By (1)
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 |