(57)【要約】  本発明は、遠隔装置の選択的なアクセスを可能にするために、一連の遠隔シリアル装置、サーバ、およびコンピュータを1台または複数台のユーザワークステーションに結合するための遠隔ネットワーク管理システムを開示する。該遠隔シリアルデバイス、サーバおよびコンピュータはすべて、該ユーザワークステーションを該遠隔装置に接続する遠隔管理装置に接続されている。各遠隔装置の電源も制御可能な電源を通して該遠隔管理装置に接続されている。該遠隔ネットワーキング装置からのビデオは、それが伝送のために圧縮される前に、該遠隔管理装置内に配置されるＬＣＤコントローラによってデジタル化され、最適化される。すべての該遠隔装置のメニューを含むオプションメニューにより、ユーザは該遠隔装置のいずれかを選択し、操作することができる。また、オプションメニューは、遠隔シリアル装置、サーバ、およびコンピュータへの電力を選択的に制御するために活用される。【特許請求の範囲】
【請求項１】
改善されたビデオデジタル化および画像訂正のためのシステムであって、
通信媒体に結合される複数のワークステーションと、
前記通信媒体に結合される遠隔管理装置であって、複数の遠隔ネットワーキング装置の内の少なくとも１つから受信されるアナログビデオ信号を、デジタルビデオ信号に変換するためのビデオデジタイザを含む前記遠隔管理装置と、
前記デジタイザから受信される前記デジタルビデオ信号を処理するための画像訂正回路と、
を備える前記システム。
【請求項２】
前記複数のワークステーションのそれぞれが少なくとも１つのキーボード、ビデオモニタおよびカーソル制御装置を備えるタイプであり、前記複数のワークステーションのそれぞれが前記遠隔管理装置を通して前期複数の遠隔ネットワーキング装置にアクセスし、操作できる請求項１に記載のシステム。
【請求項３】
前記遠隔管理装置が前記遠隔ネットワーキング装置のそれぞれのための電源を制御する請求項１に記載のシステム。
【請求項４】
前記通信媒体は、ＬＡＮ、ＷＡＮ、無線接続、モデム、直接モデム接続およびインターネットからなるグループから選択される少なくとも１つである請求項１に記憶されるシステム。
【請求項５】
前記複数の遠隔ネットワーキング装置のそれぞれは、シリアルポート、パラレルポート、キーボードポート、ビデオポート、カーソル制御装置ポート、ＵＳＢポート、ファイヤーワイヤーポート、ブルートゥースポート、イーサネットポート、および電源ポートからなるグループから選択されるポートを介するケーブル布線を通して前期遠隔管理装置に接続される請求項１に記載のシステム。
【請求項６】
前記遠隔管理装置は、ユーザを認証するために識別データを必要とすることによってアクセスを制御する請求項１に記載のシステム。
【請求項７】
前記遠隔管理装置および前記複数のユーザワークステーションがＴＣＰ／ＩＰを介して通信する請求項１に記載のシステム。
【請求項８】
前記遠隔管理装置および複数のユーザワークステーションがインターネットを介して通信する請求項１に記載のシステム。
【請求項９】
前記ビデオデジタイザがアナログ／デジタル変換器を含む請求項１に記載のシステム。
【請求項１０】
前記画像訂正回路が、前記遠隔ネットワーク装置によって活用されるカラーパレットを検出するための入力インタフェース回路を含む請求項１に記載のシステム。
【請求項１１】
前記画像訂正回路が、水平同期信号および垂直同期信号を受信するための同期セレクタ回路を含む請求項１に記載のシステム。
【請求項１２】
前記画像訂正回路が、前記同期セレクタ回路から前記同期信号を受信するため、および前記同期信号の周波数を決定するためのモード検出回路を含む請求項１１に記載のシステム。
【請求項１３】
アクティブ領域検出、ピクセル輝度検索、ピクセル測定および位相歪み測定を実行するための自動調整回路を含む請求項１に記載のシステム。
【請求項１４】
前記自動調整回路が前記位相歪み測定の間にクロックのタイミングを更新する請求項１３に記載のシステム。
【請求項１５】
前記画像訂正回路は、高ビデオ解像度から低ビデオ解像度に削減するためのダウンスケーラ回路を含む請求項１に記載のシステム。
【請求項１６】
前記画像訂正回路が、低ビデオ解像度から高ビデオ解像度に増加するためのアップスケーラ回路を含む請求項１に記載のシステム。
【請求項１７】
前記画像訂正回路が、ユーザが複数のシリアルデバイス、遠隔サーバ、遠隔コンピュータ、または電力装置の内の１つを選択できるようにするためのオプションメニュー回路を含む請求項１に記載のシステム。
【請求項１８】
前記画像訂正回路が、カラーパレットに従って前期デジタルビデオ信号の各ピクセルを修正する請求項１に記載のシステム。
【請求項１９】
前記画像訂正回路が、前記デジタルビデオ信号のピクセルの色に近似するためのディザリング回路を含む請求項１に記載のシステム。
【請求項２０】
前記画像訂正回路が、前記アナログビデオ信号のタイミングを調整するための出力インタフェース回路を含む請求項１に記載のシステム。
【請求項２１】
前記遠隔管理装置は、前記デジタルビデオ信号を圧縮するためのビデオプロセッサ回路を含む請求項１に記載のシステム。
【請求項２２】
前記ビデオプロセッサ回路が前記デジタルビデオ信号からピクセル情報を受信するためのピクセル受信回路を含む請求項２１に記載のシステム。
【請求項２３】
前記ビデオプロセッサ回路は、前記ピクセル情報を記憶するためのフレームバッファ回路を含む請求項２２に記載のシステム。
【請求項２４】
前記ビデオプロセッサ回路がビデオ圧縮回路を含む請求項２１に記載のシステム。
【請求項２５】
前記処理が、前記複数のワークステーションの１つのビデオディスプレイとの互換性のために前記デジタルビデオ信号を変換することを含む請求項１に記載のシステム。
【請求項２６】
ビデオ信号の伝送のために改善されたビデオデジタル化および画像訂正を提供するための方法であって、
（ａ）遠隔管理装置に接続されている複数の遠隔装置の１つからアナログビデオ信号を受信するステップと、
（ｂ）前記アナログビデオ信号をデジタルビデオ信号に変換するステップと、
（ｃ）前記デジタルビデオ信号を訂正するステップと、
（ｄ）複数のユーザインタフェース装置の１つに前記デジタルビデオ信号を送信するステップと、
を備える前記方法。
【請求項２７】
前記ユーザインタフェース装置が一意の認証情報を入力することによりアクセス可能である請求項２６に記載の方法。
【請求項２８】
前記方法が、
前記ユーザインタフェース装置の１つのビデオディスプレイ上に前記デジタルビデオ信号を表示するステップ、
を備える請求項２６に記載の方法。
【請求項２９】
前記方法が、
前記送信の前に前記デジタルビデオ信号を圧縮するステップ、
をさらに備える請求項２６に記載の方法。
【請求項３０】
圧縮アルゴリズムは前記圧縮を実行するために使用される請求項２９に記載の方法。
【請求項３１】
前記圧縮アルゴリズムが前記デジタルビデオ信号の中の雑音を決定し、前記デジタルビデオ信号を平滑化し、前記デジタルビデオ信号のピクセルに対する変更を決定し、前記変更されたデジタルビデオ信号を圧縮する請求項３２に記載の方法。
【請求項３２】
前記送信がＴＣＰ／ＩＰを介して発生する請求項２６に記載の方法。
【請求項３３】
前記訂正することが画像訂正回路によって実行される請求項２６に記載の方法。
【請求項３４】
前記画像訂正回路が前記デジタルビデオ信号のカラーパレットを検出するためのインタフェース回路を含む請求項３３に記載の方法。
【請求項３５】
前記訂正することが、水平同期信号と垂直同期信号を受信することをさらに含む請求項２６に記載の方法。
【請求項３６】
前記訂正することが、前記デジタルビデオ信号の１つまたは複数の周波数を決定することをさらに含む請求項２６に記載の方法。
【請求項３７】
前記訂正することが、前記デジタルビデオ信号によって表現されるビデオ画像のアクティブ領域を検出することをさらに含む請求項２６に記載の方法。
【請求項３８】
前記訂正することが、前記デジタルビデオ信号の各ピクセルの輝度を決定することをさらに含む請求項２６に記載の方法。
【請求項３９】
前記訂正することが、前記デジタルビデオ信号の位相歪みを測定することをさらに含む請求項２６に記載の方法。
【請求項４０】
前記訂正することが、前記デジタルビデオ信号の１つまたは複数のピクセルを測定することを含む請求項２６に記載の方法。
【請求項４１】
前記訂正することが高ビデオ解像度から低ビデオ解像度に削減することを含む請求項２６に記載の方法。
【請求項４２】
前記訂正することが、低ビデオ解像度を高ビデオ解像度に増加することをさらに含む請求項２６に記載の方法。
【請求項４３】
前記訂正することが、前記デジタルビデオ信号をディザリングすることをさらに含む請求項２６に記載の方法。
【請求項４４】
前記訂正することが、前記デジタルビデオ信号のタイミングを調整することをさらに含む請求項２６に記載の方法。
【請求項４５】
前記方法が、さらに、
デジタルビデオ信号のピクセル情報を記憶すること
を備える請求項２６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概してビデオデジタル化および画像補正のためのシステムに関する。具体的には、本発明の該改善されたデジタル化システムは、ＫＶＭスイッチを介した遠隔コンピュータからユーザワークステーションへの伝送のためにビデオをデジタル化するためにＬＣＤコントローラを活用する。該ＬＣＤコントローラはビデオモード検出、サンプリング段階と周波数のための自動調整、ピクチャ位置合わせ、カラー位置合わせ、カラー調整、拡大／縮小、および画像位置の機能も実行する。
【背景技術】
【０００２】
典型的なコンピュータ環境では、ローカルエリアネットワーク（「ＬＡＮ」）は、接続されているコンピュータのそれぞれが各サーバの資源を利用できるように、1台または複数台のコンピュータサーバを複数のコンピュータに接続できるようにする。ＬＡＮは通常、ルータ、ハブ、開閉器等のネットワーキング装置から構成される。このような構成では、専用のキーボード、ビデオモニタ、およびマウスはコンピュータとコンピュータサーバごとに利用されてよい。
【０００３】
ＬＡＮの適切な動作を維持するために、システム管理者は個々のネットワーキング装置、サーバおよびコンピュータを維持、監視しなければならない。この維持は多くの場合、システム管理者がネットワーキング装置、サーバ、またはコンピュータに接続されているユーザコンソールから多数のタスクを実行することを必要とする。例えば、コンピュータをリブートするために、またはファイルを追加または削除するために、システム管理者は多くの場合、システム管理者のコンピュータから、およびＬＡＮに接続されている他のコンピュータまたはサーバから実質的な距離で配置されてよい、そのローカルユーザコンソールからサーバまたはコンピュータを操作することを必要とされる。したがって、システム管理のタスクを達成するために、システム管理者は、遠隔に配置されるサーバとコンピュータのローカルユーザコンソールにアクセスするために多くの場合、物理的に移転しなければならない。代替策としては、システム管理者が遠隔コンピュータ装置に完全にアクセスし、遠隔コンピュータ装置を操作できるようにするために、専用ケーブルがそれぞれの遠隔に配置されるサーバとコンピュータからシステム管理者のユーザコンソールに設置されてよい。しかしながら、この代替策はかなりの配線およびワイヤハーネス作業(wire harnessing)を必要とし、両方とも多大なコストを要する。加えて、システム管理者のユーザコンソールと遠隔コンピュータ装置間の距離が増加するにつれて、多くの場合、伝送信号の品質の減少が生じる。したがって、システム管理者のユーザコンソールと遠隔コンピュータ装置の間の専用ケーブルは実現可能な代替策でなくてよい。
【０００４】
いくつかの状況では、システム管理者から遠く離れた場所に位置するネットワーキング装置、サーバ、およびコンピュータを管理することが望ましい。距離が十分に遠い場合は、一般的に遠隔位置からコンピュータを制御するためにインターネットが活用される。例えば、ｐｃＡｎｙｗｈｅｒｅ等のソフトウェアプログラムは、ローカルユーザワークステーションに取り付けられているビデオモニタ、およびカーソル制御装置（例えばマウス）上でキーボードを活用するインターネットまたはＬＡＮ上で遠隔コンピュータにアクセスするために活用されてよい。ｐｃＡｎｙｗｈｅｒｅ等の遠隔コンピュータアクセスプログラムは、通常、ホストソフトウェアが遠隔コンピュータにインストールされ、クライアントソフトウェアがユーザワークステーションにインストールされることを必要とする。遠隔コンピュータにアクセスする場合、ユーザワークステーションのユーザはリストから所望される遠隔コンピュータを選択し、適切なユーザ名とパスワードを入力する。いったんアクセスが遠隔コンピュータに与えられると、ユーザは、遠隔コンピュータにアクセスし、操作するために、ローカルユーザワークステーションに取り付けられているキーボード、ビデオモニタ、およびカーソル制御装置を活用する。
【０００５】
インターネット上でまたはモデムを介してユーザワークステーションから遠隔コンピュータを操作するためにはハードウェアソリューションも存在する。ただし、ソフトウェアソリューションとは対照的に、ハードウェアソリューションは通常ホストおよび／またはクライアントソフトウェアを必要としない。代わりに、ハードウェアソリューションは、通常、インターネット上であるいは伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）等の共通プロトコルを介してＬＡＮ上でアクセス可能であるキーボード、ビデオモニタ、およびマウス（「ＫＶＭ」）スイッチを活用する。ハードウェアソリューションはインターネットに接続するために、または公衆電話回線網を通して通信するためにモデムも活用してよい。一般的には、ユーザまたはシステム管理者は、ＫＶＭスイッチと関連付けられるインターネットブラウザまたはクライアントソフトウェアを活用して、ＫＶＭスイッチに取り付けられている遠隔コンピュータにアクセスする。いったん遠隔コンピュータが選択されると、遠隔コンピュータのビデオ信号はユーザワークステーションのビデオモニタに送られ、ユーザは遠隔コンピュータを制御するためにキーボードおよび／またはマウスを活用してよい。ＫＶＭスイッチは、さらにシステム故障の場合のハードリブートのために遠隔コンピュータの電源への接続を含んでよい。
【０００６】
前述されたハードウェアソリューションとソフトウェアソリューションは、通常、ビデオ信号を送信するために必要とされる必要な帯域幅を削減するために圧縮アルゴリズムを活用する。例えば、本発明のネットワーク遠隔管理システムは、遠隔コンピュータおよび／またはビデオディスプレイ装置に送信されなければならないデジタルデータを削減し、圧縮するために、参照することにより本書に組み込まれている出願番号第１０／２３３，２９９号に開示されている圧縮アルゴリズムを使用する。一般的には、パーソナルコンピュータによって生成されるビデオ信号は空間的冗長性とフレーム間冗長性の両方を有する。例えば、ほぼ(near)遊休のパーソナルコンピュータでは、ビデオの連続フレーム間の唯一の変化がカーソルの点滅である可能性がある。ユーザが文書を入力しても画面の大半は経時的に変化しない。したがって、本発明により使用される圧縮アルゴリズムは、送信されるデジタルビデオ信号データの量を削減するために、ビデオの連続フレーム間と各個別フレーム内の両方でこれらの冗長性を利用する。通信媒体上で送信されるデジタルデータの量を削減すると、通信時間が短縮され、必要とされる帯域幅が削減される。
【０００７】
当技術分野で公知の大部分の形式のビデオ圧縮形式は、複雑な計算を必要とする。例えば、エムペグ(Moving Pictures Experts Group「ＭＰＥＧ」)ビデオ圧縮アルゴリズムは離散コサイン変換を使用する。また、ＭＰＥＧ規格は、ビデオ画像の部分がある期間に渡ってどのように変化したのかを説明する運動ベクトルの計算を必要とする、フレーム間の「運動」の認識に依存している。これらのアルゴリズムは計算集約型であるため、それらはこのような計算を迅速に実行する相対的に高価なハードウェアまたは低速のハードウェアが計算を完了できるようにする長い送信時間のどちらかを必要とする。
【０００８】
複雑さに加えて、多くの既存のビデオ圧縮技術は損失が多い（つまり、それらは必要とされる帯域幅を削減するためにビデオ信号情報のすべてを送信しない）。通常、このような損失が多い技術はビデオ画像の詳細を削減するか、あるいは活用される色の数を削減するかのどちらかである。色数の削減はコンピュータ管理システムアプリケーションに対する適切な圧縮ソリューションの一部となるであろうが、多くの他のアプリケーションではこのような結果はコンピュータ管理システムの意図された目的を無効にする。
【０００９】
キーボード、ビデオモニタおよびマウス（「ＫＶＭ」）切り替えシステムは、１つまたは複数のユーザワークステーションが中央切替え装置を介して複数の遠隔コンピュータのいずれか1台を選択し、制御できるようにするために活用されてよい。このようなシステムは当技術分野で周知であり、少なくとも１０年間システム管理者に使用されている。
【００１０】
デジタルＫＶＭスイッチは、高速の赤アナログビデオ信号、緑アナログビデオ信号、および青アナログビデオ信号をデジタル表現に変換するために、従来、ビデオデジタイザと呼ばれる回路ブロックを使用する。従来の回路の中心にあるのがビデオ速度Ａ／Ｄ変換器である。ビデオデジタイザは種々のピクセルクロックと移相を処理し、信号のソースであるさまざまなコンピュータやサーバを切り替えるときに空白のビデオエッジを検出する必要もあるため、このチップの回りを囲んでいるサポート回路網は複雑である。
【００１１】
高品質のビデオ表現のために、ビデオデジタイザは水平同期信号と垂直同期信号の検出に依存し、ターゲットビデオ信号ごとに移相およびピクセルクロックを調整する。この調整はＫＶＭスイッチシステムで活用されるビデオカードとケーブル長に関係なく発生しなければならない。移相調整は重要であり、正確でない場合には、削除できない雑音をデジタル表現にもたらす。
【００１２】
デジタルＫＶＭスイッチの事前の設計はトリプルＡ／Ｄ変換器およびデジタルデータプロセッサ、あるいはトリプルＡ／Ｄ変換器と異なる調整を行うためのソフトウェアを使用する。ただし、オペレータがあるコンピュータから別のコンピュータに切り替えるときに、調整時間は多くの場合数秒を要する。また、多くの電子パーツがこれらの機能を実現することが必要とされる。
【００１３】
当技術分野で公知のシステムは、コンピュータを、該コンピュータから遠く離れて配置されるマウス、キーボード、および／またはビデオモニタに結合するための拡張範囲通信リンクを開示している。コンピュータに結合されているリンクの端部は、キーボード信号、ビデオモニタ信号およびマウス信号を調整する、第1の信号調整ネットワーク（つまり、ビデオ信号の共鳴と反響を弱め、それらを所定の電圧レベルに偏向させる回路網のネットワーク）を有する。ビデオモニタ信号を調整することは、ビデオ信号の伝送中にビデオ信号線に隣接する導線上で誘発される「漏話」の量を最小限に抑えるために振幅を削減することを含む。この第1の信号調整ネットワークは、調整済みの信号、電力および論理接地電位を、ビデオ信号をその元の振幅に回復し、それらをビデオモニタに出力する第２の調整ネットワーク（つまり、分圧器と増幅器を使用してビデオ信号を終端する回路網のネットワーク）に送信する、複数の導線を有する拡張範囲ケーブルに結合される。
【００１４】
当技術分野で公知の別のシステムは、これらの２つの構成要素を最高３００フィート離れて配置できるようにする、コンピュータとビデオモニタ等のディスプレイ装置の間で使用するための通信リンクを開示する。通信リンクのコンピュータ端部に配置されるエンコーダはアナログの赤信号、緑信号および青信号をコンピュータから受信し、信号電流を変調する離散電流増幅器に各信号を入力する。インピーダンスマッチングネットワークは、次に赤信号、緑信号、および青信号のインピーダンスをケーブルのインピーダンスに適合し、ケーブルのビデオモニタ端部に配置される離散エミッタ−フォロワトランジスタに信号を送信する。その後、これらの信号は増幅されてから、ビデオモニタに入力される。同時に、水平同期信号はケーブル導線に入力され、そのインピーダンスはケーブルのインピーダンスに適合されず、それによって導線が水平同期信号を減衰し、雑音放射を削減できるようにする。
【００１５】
さらに別のシステムは、該コンピュータから最高１，０００フィートまで配置されるビデオモニタにローカルコンピュータからトランジスタ−トランジスタ論理ビデオ信号を送信するための拡張範囲通信リンクを開示する。該リンクは、受信された信号を調整し、拡張ケーブルを介して第２の信号調整回路に信号を送信するためのリンクのコンピュータ端部に配置される第1の信号調整回路（つまり、ビデオ信号の振幅を削減し、信号を選択された電位にバイアスをかけ、それらを拡張ケーブルの離散導線に適用する回路）を含む。第２の信号調整回路（つまり、ビデオモニタに信号を適用する前にビデオ信号の再構築を達成するための閾値または閾値の組を活用する回路）がビデオモニタに信号を入力する前に送信されたビデオ信号を受信する。該システムに従って、このプロセスの性能は伝送ケーブルのキーボードクロック導線上での高周波ビデオ雑音の出現を削減し、それによってキーボードエラーを防止する。
【００１６】
当技術分野で公知のさらに別のシステムは、キーボード、マウスおよび／またはビデオモニタを含むローカルユーザワークステーションを遠隔コンピュータに結合するための方法および装置を開示する。それは、遠隔コンピュータが標準的なパーソナルコンピュータビデオモニタに表示されるメニューから選択されるシステムを開示する。システムユーザが遠隔コンピュータを選択すると、該遠隔コンピュータのビデオ信号がデジタル化され、ローカルユーザワークステーションのビデオモニタに送信される。ビデオ信号は、入力されたアナログビデオ信号をデジタル表現に変換できるビデオＣＰＵを活用してデジタル化される。システムユーザは、ローカルユーザワークステーションのキーボードとモニタを活用して遠隔コンピュータを制御してもよい。また、システムはローカルユーザワークステーションと遠隔コンピュータの間でマウス信号とキーボード信号を双方向で送信できる。遠隔コンピュータとローカルユーザワークステーションは、公衆交換回線網（「ＰＳＴＮ」）とモデルを介して、または直接ケーブル布線を介してのどちらかにより接続されてよい。
【００１７】
当技術分野で公知のさらに別のシステムは、単一のビデオモニタに複数のコンピュータのビデオ出力を多重化するための装置を開示する。システムは、各コンピュータからビデオ信号の赤の成分、緑の成分および青の成分を受信するための３セットの開閉器を含む。ビデオモニタ上での表示のために特定のコンピュータのビデオ出力を選択するために、ユーザは２つのビデオ選択信号を制御信号生成回路に入力する。入力されたビデオ選択信号に応じて、制御信号発生回路が選択されたビデオ出力に対応する出力信号を生成する。その後、単一のビデオモニタに所望されるコンピュータによって出力されているビデオ信号を切り替えるために３つのセットの開閉器にインデックスを付ける制御信号が生成される。３セットの開閉器は、入力と出力のインピーダンスマッチングをそれぞれ提供する、３セットのスイッチ回路および電流増幅回路に入力ビデオ信号を転送する。調整されたビデオ信号が次に単一のビデオモニタに表示される。
【００１８】
当技術分野でなおさらに公知のシステムは、ビデオ信号を受信し、処理し、1台または複数台のコンピュータから複数のビデオモニタに受信されたビデオ信号を分散する。ビデオ信号分配装置は、これらの信号をビデオモニタに送信する前に各コンピュータから受信された赤のビデオ信号、緑のビデオ信号および青のビデオ信号を個別に増幅するために３つのトランジスタベースの電圧増幅回路を含む。ビデオ信号分配装置は、各コンピュータから水平同期信号と垂直同期信号を受信し、ビデオモニタに出力されるビデオ信号の量に基づいて新しい同期信号を発生させる同期信号バッファリング装置も含む。
【００１９】
異なるシステムでさえ１つの共通ビデオモニタに接続される複数のコンピュータを選択的に操作するためのシステムを開示する。システムは複数の接続されたコンピュータのいずれか１つにデータを入力するためのデータ入力装置を含む。システムは、データ入力装置に接続されるメイン制御装置、および入力されたデータを提供し、選択されたコンピュータからビデオ信号を受信するための選択回路も含む。ユーザはキーボードおよび／またはマウスを活用して所望される遠隔コンピュータと関連付けられるコマンドコードを入力することによって遠隔コンピュータを選択する。選択回路は入力されたコマンドを受信し、選択されたコンピュータを識別する。選択された回路は、次に、選択された遠隔コンピュータを示す信号を、キーボード、ビデオモニタおよびマウスおよび選択された遠隔コンピュータの間の通信を提供するメイン制御回路に送信する。
【００２０】
当技術分野で公知のさらに別のシステムがローカルキーボード、マウスおよび／またはビデオモニタを複数の遠隔コンピュータの内の1台に結合するためのコンピュータ化された切り替えシステムの特殊なインプリメンテーションを開示する。特に、第1の信号調整装置は、ローカルビデオモニタに接続されている遠隔コンピュータのリストを表示するオンスクリーンプログラミング回路を含む。メニューを活性化するために、ユーザは、例えばローカルキーボードの「画面印刷」キーを押す。ユーザはローカルキーボードおよび／またはマウスを使用してリストから所望されるコンピュータを選択する。
【００２１】
システムに従って、オンスクリーンプログラミング回路が少なくとも２セットのトライステートバッファ、単一のオンスクリーンプロセッサ、内部同期発生器、同期開閉器、同期偏光器、およびオーバレイ制御論理を必要とする。トライステートバッファの第1のセットは、遠隔コンピュータから受信されたビデオ信号の赤の成分、緑の成分および青の成分をビデオモニタに結合する。すなわち、トライステートバッファの第1のセットが付勢され、赤のビデオ信号、緑のビデオ信号および青のビデオ信号が、トライステートバッファを通して遠隔コンピュータからローカルビデオモニタに渡される。トライステートバッファの第1のセットがアクティブではないとき、遠隔コンピュータからのビデオ信号はブロックされる。同様に、トライステートバッファの第２のセットは単一のオンスクリーンプロセッサをビデオモニタに結合する。トライステートバッファの第２のセットは付勢され、オンスクリーンプログラミング回路のビデオ出力がローカルビデオモニタに表示される。トライステートバッファの第２のセットがアクティブではないとき、オンスクリーンプログラミング回路からのビデオ出力はブロックされる。代わりに、トライステートバッファの両方のセットとも付勢される場合、遠隔コンピュータビデオ信号はローカルビデオモニタでの表示の前にオンスクリーンプロセッサによって生成されるビデオ信号と結合される。
【００２２】
開示されたオンスクリーンプログラミング回路も独自の水平同期信号と垂直同期信号を生成する。どの文字がビデオモニタに表示されるのかを指示するために、ＣＰＵはオンスクリーンプロセッサに命令データを送信する。これによりオンスクリーンプロセッサはローカルビデオモニタでの表示のために内部ビデオＲＡＭから文字を取り出す。
【００２３】
オンスクリーンプロセッサ、つまりモトローラ(Motorola)ＭＣ１４１５４３オンスクリーンププロセッサにより生成されたオーバレイビデオ画像は、サイズと色の量、および単一オンスクリーンプロセッサで利用可能な文字に制限されている。言い換えると、システムは（つまり、壁用サイズまたはマルチモニタ型ビデオディスプレイではなく）標準サイズのコンピュータモニタのサイズに作られたオーバレイビデオを生成することを目的とし、単一オンスクリーンプロセッサによって提供される色の量および文字に制限されている。
【００２４】
システムの動作中、遠隔コンピュータはオーバレイビデオディスプレイから選ばれる。その後、第1の信号調整装置はローカルキーボードとマウスからキーボード信号とマウス信号を受信し、中央のクロスポイントスイッチへの伝送のためにデータパケットを生成する。クロスポイントスイッチはデータパケットを、選択された遠隔コンピュータに結合されている第２の信号調整装置に送る。第２の信号調整装置は次にキーボードコマンド信号とマウスコマンド信号を、遠隔コンピュータのキーボードコネクタとマウスコネクタに送る。同様に、遠隔コンピュータによって生成されるビデオ信号は、第２の信号調整装置、クロスポイントスイッチ、および第1の信号調整装置を通して遠隔コンピュータからローカルビデオモニタに送られる。遠隔コンピュータから受信される水平同期ビデオ信号と垂直同期ビデオ信号は赤、緑、または青のビデオ信号の１つで符号化される。この符号化により遠隔コンピュータからローカルビデオモニタにビデオ信号を送信するために必要とされるケーブルの量が削減する。
【００２５】
当技術分野で公知の別のシステムは、１つまたは複数のビデオソースを複数のビデオディスプレイ装置に多重化できるビデオグラフィックシステムを開示する。ビデオソース（複数の場合がある）からビデオ信号の赤の成分、緑の成分および青の成分が、ビデオ分散ハブに配置される３台のアナログ／デジタル変換器によって初期にデジタル形式に変換される。デジタル化されたビデオは、次にデジタル化されたビデオを適切な遠隔ディスプレイ装置に送信する開閉器に送信される。ビデオ分散ハブもビデオソースからデジタル入力を受け入れることができる。
【００２６】
その上、さらに別のシステムが、キーボード、ビデオモニタおよびマウスに接続される制御コンピュータを使用してターゲット開閉器またはコンピュータに遠隔でアクセスし、制御するための方法およびシステムを開示する。ターゲット開閉器および／またはコンピュータは中央コントローラを介して制御コンピュータに接続される。双方向キーボード信号とマウス信号は、遠隔ターゲット開閉器／コンピュータと制御コンピュータの間で送信される。双方向のキーボード信号とマウス信号の伝送を容易にするために、キーボード信号とマウス信号は遠隔ターゲット開閉器／コンピュータから制御コンピュータへ、および逆の場合の送信前にデジタル化され、直列化される。単一指向性のビデオ信号も、ビデオモニタ上での表示のために遠隔ターゲット開閉器／コンピュータから、中央コントローラを通して制御コンピュータに送信される。中央コントローラは、遠隔ターゲット開閉器／コンピュータによって出力されるアナログビデオ信号を受信し、デジタル形式に変換するビデオデジタイザを含む。システムはビデオ信号の赤の成分、緑の成分および青の成分をデジタル形式に変換するために３台のアナログ／デジタル（「Ａ／Ｄ」）変換器を活用することを開示する。中央コントローラは、デジタルビデオデータとしてデジタルメモリ内でデジタル形式で変換された信号を記憶する。デジタルビデオデータは、適切にパケット化され、圧縮された後で制御コンピュータに送信される。次に制御コンピュータは、デパッケト化し、解凍し、ビデオモニタでの表示のために受信されたビデオ信号をアナログ形式に変換する。
【００２７】
当技術分野で公知の最終的なシステムは、ＫＶＭＰスイッチにアクセスするための視覚的な手段を提供する、オンスクリーン表示回路を有するキーボード、ビデオモニタ、マウスおよび電力（「ＫＶＭＰ」）切り替えシステムを開示する。複数のコンピュータとオンスクリーン表示回路に結合されている切り替え回路の第1のセットは、ユーザがローカルキーボード、ビデオモニタ、およびマウスを使用して遠隔コンピュータのいずれかにアクセスし、制御できるようにする。各遠隔コンピュータの電源およびオンスクリーン表示回路に結合される切り替え回路の第２のセットは、ユーザが各遠隔コンピュータに対する電力を制御できるようにする。システムを使用する遠隔コンピュータを選択するために、ユーザはキーボードおよび／またはマウスのどちらかを用いてホットキーを入力することによってオンスクリーンディスプレイを活性化する。当初、オンスクリーンディスプレイは、ユーザにユーザ名とパスワードを入力するようにプロンプトを出す。ユーザがいったん確認されると、ユーザはすべての取り付けられている遠隔コンピュータのリストを提供される。ユーザは、所望される遠隔コンピュータの電源を選択し、制御するためにローカルキーボードとマウスを活用する。システムは遠隔コンピュータのリストの作成のために単一オンスクリーンプロセッサを組み込む。
【００２８】
前記を鑑みて、ユーザがある遠隔コンピュータから別の遠隔コンピュータに切り替えるとビデオ信号を迅速に調整できる改善されたビデオデジタイザに対するニーズが明らかに存在する。また、該改善されたビデオデジタイザは、移相調整、ビデオモード検出等、ＫＶＭスイッチにおけるビデオ伝送にまつわる多くの問題を補正できなければならない。
【発明の開示】
【００２９】
本発明は、周辺装置（つまりキーボード、ビデオモニタ、カーソル制御装置等）が取り付けられた1台または複数台のローカルユーザワークステーションから遠隔コンピュータネットワーキング環境を管理するための内蔵型のネットワーク遠隔管理システムを提供する。本発明のネットワーク遠隔管理システムによって、ユーザワークステーションに位置するユーザは遠隔場所に位置するネットワーキング装置、サーバおよびコンピュータにアクセスし、走査し、制御できるようになる。またネットワーク遠隔管理システムによって、ユーザはそれぞれ１つの遠隔装置に対する電源を制御できる。ネットワーキング装置（例えば、ハブ、スイッチ、ルータ等）は通常シリアルインタフェースを介して制御される。対照的に、サーバとコンピュータはキーボード、ビデオモニタ、およびマウスを活用して制御、操作される。
【００３０】
遠隔ネットワーキング装置、サーバ、およびコンピュータはすべて遠隔管理装置（「ＲＭＵ」）に接続され、ＲＭＵは代わりにイーサネットまたはモデム接続を介してインターネットまたはＬＡＮに接続される。ＲＭＵは、サーバとコンピュータに対する接続のためのキーボード、ビデオ、およびカーソル制御装置ポートのみではなく、ネットワーキング装置に対する接続のためのシリアルポートも有する。ＲＭＵはさらにネットワーキング装置、サーバ、およびコンピュータへの電力を制御できる電源への接続のためのポートも含む。標準的なケーブル布線は、ネットワーキング装置、サーバおよびコンピュータをＲＭＵ上の適切なポートに接続するために活用される。
【００３１】
デジタル化されたビデオをＲＭＵからユーザワークステーションに送信するために、本発明はビデオデジタル化および画像訂正のための改善されたシステムを活用する。これを達成するために、本発明はＡ／Ｄ変換器、およびその関連付けられた回路網の多くを液晶ディスプレイ（「ＬＣＤ」）コントローラで置換する。本発明はＬＣＤコントローラの中に内蔵される内部機能を活用し、それらを共通のＫＶＭスイッチ問題に適用する。例えば、これらの機能のいくつかはビデオモード検出、位相と周波数をサンプリングするための自動調整、ピクチャ位置合わせ、色整合、色調整、アップスケーリング／ダウンスケーリング、および画像位置を含む。ＬＣＤコントローラを活用することによって、本発明は、ＫＶＭスイッチを設計し、実現するためのさらに効率的且つさらに簡略な方法を提供する。
【００３２】
ＲＭＵは、多様なオペレーティングシステムおよび／またはマイクロソフト社(Microsoft Corporation)（「マイクロソフト(Microsoft)」（ウィンドウズ(Windows)）、アップルコンピュータ社(Apple Computer Inc.)（［アップル(Apple)］）（マッキントッシュ(Macintosh)、サンマイクロシステムズ社(Sun Microsystems, Inc.)（「サン(Sun)」）（ソラリス(Solaris)）、デジタルイクイップメント社(Digital Equipment Corporation)（「ＤＥＣ」）、コンパックコンピュータ社(Compaq Computer Corporation)（「コンパック(Compaq)」）（アルファ(Alpha)）、ＩＢＭ社（「ＩＢＭ」）(RS/6000)、ヒューレットパッカード社(Hewlett-Packard Company)（「ＨＰ」）(HP9000)、およびＳＧＩ（旧、シリコングラフィックス社(Silicon Graphics, Inc.)）（ＩＲＩＸ）を含むが、これらの限定されない通信プロトコルの間の互換性も提供する。
【００３３】
本発明のネットワーク遠隔管理システムを活用する場合、ユーザは最初にＲＭＵに接続するためにユーザワークステーションに位置するクライアントソフトウェアを活用することによって管理セッションを開始する。代わりに、ユーザはＲＭＵに接続するためにインターネットブラウザを活用してよい。次に、ユーザはＲＭＵによってユーザ名とパスワードを入力するようにプロンプトを出される。ＲＭＵは複数のプロファイルとプロファイルごとのさまざまなレベルのアクセスを記憶できる。いったんユーザが認証されると、ユーザは、ＲＭＵ内に位置するオプションメニュー回路網によって生成される、ユーザワークステーションのモニタ上にオプションメニューを与えられる。オプションメニューは、遠隔場所でのすべてのネットワーキング装置、サーバ、およびコンピュータを一覧表示するメニューからなる。オプションメニューは、さらにユーザが遠隔装置の各個に対する電力を制御できるようにするメニューを含む。ユーザはユーザワークステーションに取り付けられているキーボードおよび／またはカーソル制御装置を活用することによって、所望されるネットワーキング装置、サーバまたはコンピュータを選択する。いったんユーザが選択を行うと、ユーザは、ユーザが物理的に遠隔サイトにいるかのように該遠隔装置へのアクセスを提供される。
【００３４】
ＲＭＵおよびユーザワークステーションはＴＣＰ／ＩＰを介して通信する。ＴＣＰ／ＩＰを介した伝送の前に、一方向の（つまり、ＲＭＵからユーザワークステーションへの）ビデオ信号がＬＣＤコントローラによってデジタル化される。ＬＣＤコントローラは、少なくとも毎秒２０コマの速度で起動側コンピュータからビデオ出力を捕捉し、捕捉したアナログビデオ信号をピクセルのデジタル表現に変換する。各ピクセルは赤の場合5ビット、緑の場合５ビットおよび青の場合５ビットでデジタル的に表現されている。デジタル表現は次に未処理フレームバッファに記憶される。圧縮アルゴリズムは次に未処理フレームバッファに含まれているデジタルデータを処理する。圧縮アルゴリズムは、実際には、以下のように動作する４つのサブアルゴリズム（つまり、消音および差異試験）アルゴリズム、円滑化アルゴリズム、キャッシングアルゴリズム、およびビットスライシング／圧縮サブアルゴリズム）の組み合わせである。
【００３５】
消音および差異試験
前述されたように、アナログビデオ信号のデジタル化は、これらの信号をデジタル通信媒体（例えば、ネットワーク、ＬＡＮ、ＷＡＮ、インターネット等）を介して送信できるようにするために必要である。しかしながら、デジタル化プロセスの有害な副作用は、ビデオ信号の中に量子化エラーと雑音が入り込むことである。したがって、消音および差異試験サブアルゴリズム（「ＮＲＤＴサブアルゴリズム」）は、ビデオ信号のデジタル化の間に生じる雑音を削減することを目的とする。加えて、ＮＲＤＴサブアルゴリズムはビデオの最近捕捉されたフレーム（つまり「カレントフレーム」）とビデオの過去に捕捉されたフレーム（つまり「比較フレーム」）の差異を同時に決定する。
【００３６】
最初に、ＮＲＤＴサブアルゴリズムは、未処理フレームバッファに含まれているカレントフレームを６４×３２ブロックのピクセルに分割する。代わりに、ビデオフレーム全体のサイズ、通信媒体の帯域幅、所望される圧縮歩留まり等の基準に基づいて（例えば、８×８ピクセル、１６×１６ピクセル、３２×３２ピクセル等の）他のサイズのブロックが使用されてよい。
【００３７】
カレントフレームがブロックに分割されてから、２レベルの閾値モデルがピクセルのブロックに適用され、それが比較フレームに関して変化したかどうかを判断する。これらの２つの閾値はピクセル閾値とブロック閾値である。
【００３８】
最初に、既定のピクセルが調べられ、三色（つまり、赤、緑および青）のピクセルのそれぞれの値が、比較フレームの中のその対応するピクセルの値を用いて計算される。この計算から距離値が算出される。距離値がピクセル閾値（つまり２レベルの閾値の第１の閾値）より大きい場合、この距離値は距離合計に加えられる。このプロセスはブロックの中のピクセルごとに実行される。
【００３９】
次に、ブロックの中のピクセルのすべての距離値が前述されたように計算され、処理された後、距離合計の結果として生じる値はブロック閾値（つまり２レベルの閾値の第２の閾値）に比較される。距離合計がブロック閾値を超えている場合には、このピクセルのブロックは比較フレームの中の対応するピクセルのブロックに比較して変化したと見なされる。変化が確認されると、比較フレームバッファに記憶されている比較フレームはピクセルの新しいブロックで更新される。さらに、新しいピクセルのブロックは、さらに処理され、圧縮フォーマットでユーザワークステーションに送信される。
【００４０】
対照的に、距離合計がブロック閾値より大きくない場合、ピクセルのブロックは未変更であると判断される。その結果として、比較フレームバッファは更新されず、このピクセルのブロックはユーザワークステーションに送信されない。ピクセルの未変更ブロックの伝送を排除すると、送信されるデータの総量が削減され、それにより伝送時間が延び、必要とされる帯域幅が削減される。
【００４１】
ＮＲＤＴサブアルゴリズムは少量のピクセルの中の大きな変化と大量のピクセルの中の小さな変化の両方の位置を突き止めるために理想的である。その結果として、ＮＲＤＴサブアルゴリズムはピクセルのブロック内で変化したピクセル数を単にカウントする公知のパーセンテージ閾値アルゴリズムよりさらに効率的且つより正確である。このようなアルゴリズムを用いると、ピクセルのブロックの中の数個のピクセルが劇的に（つまり黒から白へ）変化した場合、アルゴリズムは、変化したピクセルの総数がパーセンテージ閾値を超えないであろうため、ピクセルのブロックを未変更であると見なすであろう。多くの場合、これがコンピュータビデオの伝送での表示エラーにつながる。
【００４２】
例えば、文書を編集しているユーザを考えてみる。ユーザが「Ｅ」を「Ｆ」に変更する等、単一の文字を変更する場合、ビデオ画像の２-３個のピクセルのみが変化するであろう。しかしながら、この変化に基づいて、結果として生じる文書は元の文書からは著しく異なる。パーセンテージ閾値アルゴリズムはこの変化を登録せず、したがって表示エラーにつながる。パーセンテージ閾値アルゴリズムは、一般的には、変化したブロックの中のピクセル数を見るのみで、数個のピクセルがかなり変化したビデオ画像変化を認識することはできない。しかしながら、本発明によって使用されるＮＲＤＴサブアルゴリズムは、その２レベルの閾値のおかげで、ピクセルのこのようなブロックがビデオの連続フレームの間でかなり変化したことを認識するであろう。
【００４３】
平滑化
ＮＲＤＴサブアルゴリズムが、ピクセルのブロックが変化したと判断すると、このブロックを表すデジタルデータは平滑化サブアルゴリズムによってさらに処理する。この平滑化サブアルゴリズムは、アナログ対デジタル変換の間に入る雑音により生じるビデオ画像の粗さを削減する。
【００４４】
第１に、各デジタルピクセル表現はピクセルごとにより少ない量のビットを使用する表現に変換される。各ピクセルの各色を表現するためにより少ない数のビットを使用することによりカラービデオを圧縮することは当技術分野で公知である。例えば、共通ビデオ規格はビデオ信号の赤の成分、緑の成分および青の成分のそれぞれを表すために８ビットを使用する。このような方式は1ピクセルを表現するために合計２４個のビットを使用するため、この表現は一般的には「２４ビットＲＧＢ表現」と呼ばれている。ピクセルの赤、緑および青の成分の４個の最上位ビットのみがすべての８個のビットに代わってその色を表現するために使用される場合、ピクセルのブロック、およびビデオのフレームを表現するために使用されるデジタルデータの総量は５０パーセント削減される。
【００４５】
対照的に、平滑化サブアルゴリズムはＲＧＢ表現のサイズを縮小するよりインテリジェントな方法を取り入れる。この方法は特定のＲＧＢ表現をよりコンパクトなＲＧＢ表現にマップするためにカラーコードテーブル（「ＣＣＴ」）を使用する。本発明の圧縮アルゴリズムと解凍アルゴリズムの両方とも同じＣＣＴを使用する。しかしながら、さまざまなカラーコードテーブルが、使用可能な帯域幅、ローカルディスプレイ装置の機能等に応じて選ばれてよい。
【００４６】
ピクセルのブロックごとにピクセル値のヒストグラムが作成され、平滑化サブアルゴリズムがどのくらい頻繁に各ピクセル値が発生するのかを判断できるように周波数単位で並べ替えられる。あまり頻繁にではなく発生するピクセル値は、より頻繁に発生するピクセル値に比較される。ピクセル値がどの程度類似しているのかを判断するために、各ピクセルの赤、緑および青（「ＲＧＢ」）の成分のカラー値に基づいて計算される。ヒストグラム分析中、カラーコード（つまりＣＣＴ）に対するＲＧＢ値のマップが作成される。あまり頻繁に発生しないピクセル値が類似したさらに頻繁に発生するピクセル値に調整される必要がある場合に、該より頻繁に発生するピクセル値のカラーコードに、あまり頻繁に発生しないピクセルをマップするために使用される。このようにして雑音は各ブロックから効率的に削除され、各ピクセルを表すために使用されるビット数は削減される。
【００４７】
例示を目的として、８×８ピクセルブロックが処理中であると仮定する。さらに、カレントブロックの中の６４ピクセルの内、５９個が青、４個が赤、および１個がライトブルーであるとさらに仮定する。５という低い頻度閾値と２５という高い頻度閾値が使用されることも仮定する。言い換えると、ピクセル値が１つのブロックの中で５回未満発生すると、それは低頻度を有すると考えられる。同様にピクセル値が１つのブロックの中で２５回を超えて発生する場合、それは高頻度を有すると考えられる。本発明の好適実施形態では、平滑化サブアルゴリズムはこれらの２つの閾値の間で発生するピクセル値を無視する。したがって、現在の例では、平滑化サブアルゴリズムは、赤のピクセルとライトブルーのピクセルは低頻度で発生し、青のピクセルが高頻度で発生すると判断する。
【００４８】
次のステップで、４個の赤のピクセルおよび１個のライトブルーのピクセルという値が青のピクセルの値と比較される。このステップでは、所定の距離閾値が使用される。あまり頻繁ではないピクセル値とより頻繁なピクセル値の間の距離がこの距離閾値の範囲内にあると、あまり頻繁ではないピクセル値がより頻繁なピクセル値に変換される。したがって、我々の現在の例では、ライトブルーのピクセルは青のピクセルに値で十分に近く、その距離は距離閾値より少ない可能性がある。その結果としてライトブルーのピクセルは青のピクセルにマッピングされる。対照的に、赤のピクセルと青のピクセルの間の距離は距離閾値を超えているため、赤のピクセルは青のピクセルにマッピングされない。本発明の平滑化サブアルゴリズムを使用すると、赤のピクセルはめったに発生しないが、赤のピクセル値と青のピクセル値の間の距離は、赤のピクセルが青のピクセルに変換されないほど十分に大きい。このようにして、本発明の平滑化サブアルゴリズムは、ビデオ画像における本当の変化を保持しつつ、アナログ対デジタル変換で入る不必要な雑音により引き起こされる変化を排除することによってビデオフレームの冗長性を高める。
【００４９】
キャッシング
平滑化サブアルゴリズムがデジタルビデオ画像データに適用された後、ビデオ画像を送信するために必要とされる帯域幅をさらに最小限に抑えるためにオプションのキャッシングサブアルゴリズムが適用されてよい。キャッシングサブアルゴリズムは過去に送信されたピクセルのブロックのキャッシュに依存する。ＮＲＤＴサブアルゴリズムと同様に、キャッシングサブアルゴリズムはビデオフレーム内のピクセルのブロックに対して実行される。再び、任意のブロックサイズが使用されてよい（例えば８×８、１６×１６、３２×３２または６４×３２）。
【００５０】
最初に、キャッシングサブアルゴリズムはキャッシュチェックを実行し、ピクセルのカレントブロックをキャッシュに記憶されているピクセルのブロックと比較する。キャッシュは任意の多数の過去のフレームを記憶してよい。キャッシュが大きいほど、より多くのキャッシュがヒットする尤度が大きくなる。ただし、キャッシュのサイズが増大すると、メモリとハードウェアの要件が大きくなる。さらに比較の回数、したがって処理電力要件も、キャッシュのサイズが増大すると大きくなる。
【００５１】
ピクセルの一致するボックスがキャッシュ内に位置すると「キャッシュヒット」が発生する。「キャッシュミス」は、ピクセルの一致するブロックがキャッシュ内で検出されない場合に発生する。キャッシュヒットが発生すると、ピクセルの新しいブロックは再送される必要はない。代わりに、メッセージとキャッシュ入力識別（「ＩＤ」）は遠隔参加者装置に送信される。一般的には、このメッセージとキャッシュ入力識別は、ピクセルのブロック全体を送信するために必要とされる帯域幅より少ない帯域幅を消費する。
【００５２】
「キャッシュミス」が発生すると、ピクセルの新しいブロックが圧縮され、ユーザワークステーションに送信される。また、ＲＭＵとユーザワークステーションの両方とも、キャッシュ内にピクセルの新しいブロックを記憶することにより、そのそれぞれのキャッシュを更新する。キャッシュのサイズは制限されているため、より古いデータは上書きされる。当業者は、どの古いデータを上書きする必要があるのかを決定するために多様なアルゴリズムを使用できることを認識している。例えば、シンプルアルゴリズムは、キャッシュ内のピクセルの最も古いブロックを上書きするために利用でき、最も古いブロックは最近にではなく送信されたブロックとして定義される。
【００５３】
キャッシュヒットを検索するために、ピクセルの新しいブロックはキャッシュ内に位置するピクセルのすべての対応するブロックと比較されなければならない。これが実行されてよい複数の方法がある。一実施形態では、サイクリックリダンダンシーチェック（「ＣＲＣ」）がピクセルの新しいブロック、およびすべての対応するピクセルのブロックについて計算される。ＣＲＣはブロックのためのハッシュコードに類似している。ハッシュコードは、さらに大きなデータソースより小さいが一意の表現である。したがって、キャッシュチェックプロセスはピクセルのブロック全体を比較する代わりに一致がないかＣＲＣを比較できる。具体的には、ピクセルのカレントブロックのＣＲＣがキャッシュ中のピクセルの他のブロックのＣＲＣと一致すると、「キャッシュヒット」が発生する。ＣＲＣはブロックのより小さな表現であるため、ＣＲＣの比較に必要とされる処理電力と時間は少なくなる。さらに、ピクセルのブロックＣＲＣのみが遠隔参加者位置に記憶されるキャッシュを構築することができる。したがって、ＣＲＣの比較がピクセルのブロック全体の比較に代わりに実行される場合に、メモリとプロセッサ時間が節約される。
【００５４】
ビットスライシング／圧縮：
いったんＮＲＤＴサブアルゴリズム、平滑化サブアルゴリズム、およびオプションのキャッシングサブアルゴリズムが実行されると、送信されなければならないピクセルの各ブロックが圧縮される。本発明の好適実施形態では、各ブロックはＪＢＩＧ可逆圧縮アルゴリズムを使用して圧縮される。
【００５５】
ＪＢＩＧ圧縮アルゴリズムは、ファクシミリ機械により送信される画像等の黒い画像と白い画像用に作られていた。しかしながら、本発明により活用される圧縮アルゴリズムは、カラービデオ画像を圧縮、送信できる。したがって、ＪＢＩＧ圧縮アルゴリズムを活用しているときには、カラービデオ画像はビットスライシングされ、結果として生じるビット平面は別個に圧縮されなければならない。
【００５６】
カラービデオ画像のビット平面はカラービデオ画像の各ピクセルカラー値から単一ビットを抽出することにより作成される。例えば、ピクセルの色を表現するために８ビットが使用される場合には、カラービデオ画像は８ビット平面に分割される。圧縮アルゴリズムは、前述されたＣＣＴと関連して、最重要ビットを含むビット平面を最初に、第２に最上位のビットを含む平面を２番目に送信する等のために機能する。ＣＣＴは各ピクセルカラーの最上位ビットが最初に記憶され、より上位ではないビットが最後に記憶されるように作られている。その結果として、最初に送信されるビット平面はつねに最も重要なデータを含み、最後に送信されるビット平面はつねに最も重要ではないデータを含むであろう。このようにして、遠隔ビデオモニタはＲＭＵから漸次的にビデオを受信し、残りのビットを受信する前に画像の最上位ビットを受信し、表示する。このような方法は帯域幅の変化にあまり敏感ではなく、送信されるフレームのすべての詳細を待機する代わりに、ユーザがビデオのフレームを、それが送信されているときに見ることができるようにする。
【００５７】
解凍
解凍は、ビデオ信号がユーザワークステーションに到達した後に発生する。つまり、ビデオ信号の解凍が実行される時点で、ユーザワークステーションはＲＭＵから圧縮されたビデオ信号を受信する。ユーザワークステーションは解凍ソフトウェアアルゴリズムを実行することにより解凍装置として動作する。送信されたビデオ信号またはデータ信号とともに、ＲＭＵはキャッシュヒットを生じさせたビデオの部分に関して解凍装置にメッセージを送信する。応えて、解凍装置は送信済みビデオ信号とそのローカルキャッシュに含まれているピクセルのブロックに基づいてビデオフレームを構築する。また、解凍装置はＲＭＵから受信されたピクセルの新しいブロックでそのローカルキャッシュを更新する。このようにして、解凍装置キャッシュは圧縮装置キャッシュと同期されたままとなる。圧縮装置と解凍装置の両方とも、より新しいビデオデータで古いデータを置換することによってそのそれぞれのキャッシュを更新する。
【００５８】
さらに、ＲＭＵによって送信されるビデオ信号は、前述されたように可逆圧縮アルゴリズムを使用して圧縮されていた。したがって、解凍装置はこの可逆圧縮を逆転しなければならない。これはＲＭＵによって送信されるフラグに基づいてビデオ画像の変更された部分を特定することにより行われる。このフラグ情報から、解凍ソフトウェアはビデオの完全フレームを再構築することができる。
【００５９】
さらに、解凍プロセスは、「ＣＣＴ」変換を逆転させることによってビデオフレームをその元のカラースキームに変換する。その結果、ＲＭＵのような解凍ソフトウェアはビデオデータを圧縮するために使用される同じＣＣＴのコピーを局所的に記憶する。次にＣＣＴはＲＭＵから受信されたビデオデータを、ユーザワークステーションに取り付けられているモニタで表示されてよい標準ＲＧＢフォーマットに変換するために使用される。
【００６０】
解凍アルゴリズムは、種々の実施形態における本発明のネットワーク遠隔管理システムで実現できる。例えば、一実施形態では、それはユーザワークステーションで実行されるソフトウェアアプリケーションとして実現できる。代替実施形態では、解凍アルゴリズムはインターネットエクスプローラー(Internet Explorer)またはネットスケープ  ナビゲータ（Netscape Navigator、登録商標）のようなウェブブラウザ内で実行するために実現できる。このような実施形態はユーザワークステーションでのアプリケーションに特殊なソフトウェアのインストールに対するニーズを排除する。また該実施形態により、ＲＭＵは、コンピュータが起動側コンピュータから位置する距離に関係なく、インターネット機能を備えた任意のユーザワークステーションにビデオ信号を容易に送信できる。この機能は、本発明のネットワーク遠隔管理システムと関連するケーブル布線の費用を削減する。
【００６１】
セキュリティ
本発明はＲＭＵからかなり離れていることがある場所でビデオ信号を表示するために使用できるので、ビデオ信号伝送が安全であることを確実にすることは重要である。伝送が安全ではない場合、ハッカー、競争相手、または他の未許可のユーザがビデオ信号に含まれている秘密情報を表示する可能性があるであろう。したがって、本発明のネットワーク遠隔管理システムは、当技術分野で公知のデジタル暗号化技術と容易に統合することを目的としている。本発明の一実施形態では、ＲＭＵのアイデンティティを検証するため、および送信されたビデオ信号とデータ信号を暗号化し、復号化するために１２８ビットの暗号化技術が使用される。この実施形態では、遠隔参加者を検証するために１２８ビット公開鍵ＲＳＡ暗号化技術が使用され、送信された信号を暗号化、および復号化するために１２８ビットＲＣ４秘密鍵が使用される。
【００６２】
最後に、本発明のネットワーク遠隔管理システムはプラットホームに無関係な通信を可能とするので、本発明の好適実施形態によって活用される圧縮アルゴリズムはオペレーティングシステムに特殊なフックを使用せず、プラットホームに特殊なＧＤＩコールも利用しない。
【００６３】
本発明の好適実施形態では、前述された圧縮アルゴリズムがビデオ信号を送信するために使用される。ただし、本発明のビデオ伝送システムはこのような実施形態に限定されない。むしろ、このシステムは本発明の精神から逸脱することなく任意の圧縮アルゴリズムと利用されてよい。
【００６４】
したがって、強化されたビデオデジタル化を提供するためにＬＣＤコントローラを活用する改善されたコンピュータ管理システムを提供することが本発明の目的である。
【００６５】
さらに、強化されたビデオモード検出、位相と周波数をサンプリングするための自動調整サポート、ピクチャ位置合わせ、色整合、色調整、アップスケーリング、ダウンスケーリングおよび画像位置を提供するためにＬＣＤコントローラを活用する改善されたコンピュータ管理システムを提供することが本発明の目的である。
【００６６】
ユーザが１つまたは複数のローカルユーザワークステーションから遠隔ネットワーキング環境を制御できるようにする改善されたネットワーク遠隔管理システムを提供することが本発明の目的である。
【００６７】
さらに、１つまたは複数のローカルユーザワークステーションが、遠隔管理装置に接続されている遠隔ネットワーキング装置、サーバ、およびコンピュータにアクセスし、操作できるようにするネットワーク遠隔管理システムを提供することが本発明の目的である。
【００６８】
設置と操作が容易であるモジュール式のコンピュータ管理システムを提供することも本発明の追加の目的である。
【００６９】
加えて、サイズが相対的に小さい遠隔ネットワーク管理システムを提供することが本発明の目的である。
【００７０】
さらに、高解像度のビデオを、ビデオ信号が発生するコンピュータまたはサーバから伸ばした距離で表示できるようにするネットワーク遠隔管理システムを提供することが本発明の目的である。
【００７１】
さらに、ローカルユーザワークステーションから拡張された距離に配置される、ローカルユーザワークステーションとネットワーキング装置の周辺装置、サーバ、コンピュータの間でエラーのない通信を可能にするネットワーク遠隔管理システムを提供することが本発明の目的である。
【００７２】
遠く離れて配置されるネットワーキング装置、サーバおよびコンピュータへの電力供給を制御できるネットワーク遠隔管理システムを提供することも本発明の目的である。
【００７３】
構造の関係する要素の動作および機能の方法のみではなく、本発明の他の目的、特徴および特性、ならびにパーツと製造の経済の組み合わせは、すべてが本明細書の一部を形成する添付図面を参照して以下の詳細な説明を考慮するときにさらに明らかになるであろう。
【００７４】
添付図面の説明に述べられている好適実施形態を参照することにより本発明をさらに理解することができる。描かれている実施形態は本発明を実施するためのシステムの例示的なものに過ぎないが、本発明の組織と運転方法の両方とも、一般的にはその追加の目的と優位点とともに図面および続く説明を参照することによりさらに容易に理解されてよい。図面は、付加されたように、あるいは以後に修正されるように詳細に述べられている本発明の範囲を制限することを目的とするのではなく、単に本発明を明確にし、例証することを目的としている。
【００７５】
本発明を完全に理解するために、ここで以下の図面を参照する。
【発明を実施するための最良の形態】
【００７６】
必要とされるように、本発明の詳細な例示的な実施形態がここに開示されている。ただし、本発明による技術、システムおよび動作構造は、多岐にわたる形式とモードで具現化されてよく、その内のいくつかは開示されている実施形態のものと極めて異なる可能性がある。その結果として、ここに開示されている特定の構造上および機能上の詳細は単に典型的であるにすぎないが、その点でそれらは開示の目的のために最善の実施形態を与え、本発明の範囲を定めるここのクレームの基礎となると見なされる。以下は本発明の（いくつかの代替実施形態のみではなく）好適実施形態の詳細な説明も提示する。
【００７７】
まず図１を参照すると、本発明によるネットワーク遠隔管理システムの好適実施形態のアーキテクチャが描かれている。具体的には、ネットワーク遠隔管理システムは、キーボード１０３と、ビデオモニタ１０５と、カーソル制御装置１０７を含むユーザワークステーション１０１と、遠隔管理装置（「ＲＭＵ」）１０９と、インターネット／ＬＡＮ１０８と、シリアルデバイス１１１ａと１１１ｂ、サーバ１１３ａと１１３ｂ、コンピュータ１１５ａと１１５ｂ、および電源１１７を含んで示されている。好ましくはユーザワークステーション１０１とＲＭＵ１０９は、それぞれケーブル１１９と１２１を介してインターネット／ＬＡＮ１０８に接続されている。ＣＡＴ５ケーブル布線はケーブル１１９と１２１用の好適ケーブル布線であるが、同軸ケーブル、光ファイバケーブル、または複数ＣＡＴ５ケーブル等の他のケーブル布線が使用されてよい。ＣＡＴ５ケーブル布線は、長い距離を送信される信号の強度を維持しつつ、ケーブル布線費用を削減するため好ましい。
【００７８】
ケーブル１１９と１２１は、ＣＡＴ５ケーブルによって結合されるそれぞれの装置に位置するＲＪ−４５ソケットに各端部を差し込むことによりユーザワークステーション１０１とＲＭＵ１０９に接続される。ＲＪ−４５ソケットとプラグが好ましいが、ＲＪ−１１、ＲＧ−５８、ＲＧ−５９、軍用コネクタ(British Navy Connector)（「ＢＮＣ」）およびＳＴコネクタを含むが、これらに限定されない他のタイプのコネクタが使用されてよい。
【００７９】
遠隔管理システムはローカルユーザワークステーション１０１を含み、好ましくはキーボード１０３、ビデオモニタ１０５および／またはカーソル制御装置１０７等の専用周辺装置を備える。プリンタ、スキャナ、ビデオカメラ、バイオメトリック走査装置、マイク等の他の周辺装置もワークステーションに配置されてよい。各周辺装置は、ケーブル１１９を介してインターネット／ＬＡＮ／ＷＡＮ１０９に取り付けられている、ユーザワークステーション１０１に直接的にまたは間接的に接続される。無線周辺装置もこのシステムとともに使用してよいことは言うまでもない。運転中、取り付けられている周辺装置からユーザワークステーション１０１で受信されるすべての電子信号（つまりキーボード信号とカーソル制御装置信号）が、ケーブル１１９を介してインターネット／ＬＡＮ１０８に送信される。それ以後、信号はケーブル１２１を介してＲＭＵ１０９に送信される。ＲＭＵは受信された信号を、この図ではシリアルデバイス１１１ａと１１１ｂ、サーバ１１３ａと１１３ｂ、コンピュータ１１５ａと１１５ｂ、および電源１１７を含むそれぞれの遠隔装置に送信する。
【００８０】
ＲＭＵ１０９は、マイクロソフト(Microsoft)（ウィンドウズ（Windows））、アップル(Apple)（マッキントッシュ(Macintosh)）、サン(Sun)（ユニックス(Unix)）、ＤＥＣ、コンパック(Compaq)（アルファ(Alpha)）、ＩＢＭ(RS/6000)、ＨＰ(HP9000)、およびＳＧＩを含むが、これらに限定されないすべての一般的に使用されている今日のコンピュータオペレーティングシステムとプロトコルと互換性があってよい。さらに、ローカルデバイスは、ユニバーサルシリアルバス（「ＵＳＢ」）、米国規格協会情報交換標準コード（「ＡＳＣＩＩ」）、および推奨規格(Recommend Standard)−２３２（「ＲＳ−２３２」）を含む種々のプロトコルを介して遠隔コンピュータと通信してよい。
【００８１】
管理およびアクセスのために遠隔ネットワーキング環境に接続するために、ユーザは最初にユーザワークステーション１０１を活用して遠隔管理セッションを開始する。ユーザは、ユーザにユーザ名とパスワードを入力するようにプロンプトを出すユーザワークステーション１０１上でクライアントソフトウェアを起動する。しかしながら、本発明のシステムはあるユーザを認証するために識別データの任意の組み合わせを活用してよい。ユーザは、ユーザ名とパスワードを入力するために取り付けられているキーボード１０３および／またはカーソル制御装置１０７を活用する。いったんユーザ名とパスワードが入力されると、ユーザワークステーション１０１はケーブル１１９を介してインターネット／ＬＡＮ１０８に接続する。ユーザワークステーション１０１は、種々の方法でインターネット／ＬＡＮ１０８に接続してよい。例えば、ユーザワークステーション１０１はイーサネット接続を通してインターネット／ＬＡＮ１０８に接続されてよい。この例では、ケーブル１１９はＣＡＴ５ケーブルであろう。代わりに、ユーザワークステーション１０１はモデム接続を介してインターネット／ＬＡＮ１０８に接続してよい。この代替例では、ケーブル１１９はＣＡＴ３ケーブルであろう。インターネット／ＬＡＮ１０８への接続は、ケーブル１１９に対する必要性を排除する無線接続を通して達成されてもよい。
【００８２】
次にユーザ名とパスワードはインターネット／ＬＡＮ１０８を通して、ケーブル１２１を介してＲＭＵ１０９に送られる。ＲＭＵ１０９はユーザワークステーション１０１と同様に（つまり、イーサネット接続、モデム接続、または無線接続を通して）インターネット／ＬＡＮ１０８に接続される。ＲＭＵ１０９はユーザ名とパスワードを受信し、ユーザワークステーション１０１に位置するユーザを認証する。いったんユーザがＲＭＵ１０９によって認証されると、ＲＭＵ１０９内に位置するオプションメニュー回路がモニタ１０５を介してユーザ１０１に、ＲＭＵ１０９を通してアクセスできるすべての装置を一覧表示するオプションメニューを提供する。ユーザは、ユーザワークステーション１０１に取り付けられているキーボード１０３および／またはカーソル制御装置１０５を活用してこのオプションメニューから選択を行う。
【００８３】
好ましくは、オプションメニューは、取り付けられている装置がＲＭＵ１０９に対する接続単位で配列されるメニューからなる。例えば、シリアルデバイス１１１ａと１１１ｂは好ましくはサーバ１１３ａと１１３ｂおよびコンピュータ１１５ａと１１５ｂとは異なるメニューに一覧表示されるであろう。また、オプションメニューは、電源１１７を制御するためのサブメニューからなる。
【００８４】
ＲＭＵ１０９は、ＲＭＵ１０９にとってユーザが取り付けられているシリアルデバイス１１１ａと１１１ｂ、サーバ１１３ａと１１３ｂ、およびコンピュータ１１５ａと１１５ｂを制御できるように、取り付けられているキーボード１２３、カーソル制御装置１２５およびビデオモニタ１２７をさらに含んでよい。キーボード１２３、カーソル制御装置１２５、およびビデオモニタ１２７は、インタフェースケーブル１２９を介してＲＭＵ１０９に接続されている。代わりにキーボード１２３、カーソル制御装置１２５、およびビデオモニタ１２７は標準キーボード、カーソル制御装置、およびビデオモニタのコネクタを介してＲＭＵ１０９に接続されてよい。
【００８５】
次に図２を参照すると、描かれているのは本発明によるＲＭＵ１０９の好適実施形態である。キーボード信号とマウス信号は、ケーブル１２１を介してインターネット／ＬＡＮ１０８からＲＪ−４５ポート２０１に到達する。ＲＭＵ１０９はＲＪ−４５ポート２０１、ＲＪ−１１ポート２０２、イーサネットコネクタ２０５、モデムモジュール２０４、通信ポートコネクタ２０６、ＣＰＵ２０７、通信ポートコネクタ２０８、ＰＣＩライザーカード２０９、シリアルカード２１１、ビデオプロセッサ２１２、シリアルポート２１３、ＬＣＤコントローラ２１５、ＫＶＭポートヘッダ２１７、ＫＶＭポート２１９、電源２２１、電力ポート２３３、リセット回路網２２５、ローカルＫＶＭポート２２７からなる。図示されているように、ＲＭＵ１０９がイーサネット接続を介してインターネット／ＬＡＮ１０８に接続する場合、最初にキーボードおよび／またはカーソル制御装置信号がＲＪ−４５ポート２０１に達する。次に、信号は、信号をデパッケト化するイーサネットコネクタ２０５に送信される。代わりに、キーボード信号および／またはカーソル制御装置信号がモデムを介して送信される場合には、信号はＲＪ−１１ポート２０２でインターネット／ＬＡＮ１０８から到達してよい。この場合、信号は、受信した信号を復調するモデムモジュール２０４に送信され、以後、信号をデパッケト化する通信ポートコネクタ２０６に送信される。
【００８６】
イーサネットコネクタ２０５または通信ポートコネクタ２０６から、次にキーボードおよび／またはカーソル制御装置信号がビデオプロセッサ２１２を介してＣＰＵ２０７に送信される。ＣＰＵ２０７は、キーボード信号とカーソル制御装置信号のための適切な宛先を決定するために、キーボード信号および／またはカーソル制御装置信号の中に含まれているルーティング情報を活用する。キーボード信号およびカーソル制御装置信号が電源１１７に対するコマンドを指定する場合、ＣＰＵ２０７は（例えばルックアップテーブルを活用して）受信されたコマンドを解釈し、通信ポートコネクタ２０８と電力ポート２１０を介して電源１１７に適切なコマンドを送信する。好ましくは、電力ポート２１０は、ＲＭＵが電力ストリップと接続し、それがあたかもシリアルデバイスであるかのようにそれを操作できるようにするためのＲＪ−４５コネクタである。
【００８７】
ＣＰＵ２０７が、キーボード信号とカーソル制御装置信号にシリアルデバイスルーティング情報が含まれると判断すると、キーボード信号とカーソル制御装置信号がＰＣＩライザーカード２０９を通してシリアルカード２１１に送信される。図２Ａに示されるように、シリアルポート２１１はＵＡＲＴ／開閉器３０１、シリアルトランシーバ３０３およびプログラマブルメモリ３０５から構成される。シリアルカード２１１は双方向シリアル伝送が可能である。キーボード信号および／またはカーソル制御装置信号がＰＣＩライザーカード２０９からシリアルポート２１３に送信されているとき、信号は当初、キーボード信号および／またはカーソル制御装置が送信される適切なシリアルトランシーバ３０３を決定するＵＡＲＴ／開閉器３０１に送信される。シリアルカード２１１の好適実施形態では、ＵＡＲＴ／開閉器３０１はＥＸＡＲ  ＸＲ１７ｃ１５８である。以後、アナログ信号は並列フォーマットから直列フォーマットに信号を変換する適切なシリアルトランシーバ３０３に送信される。シリアルトランシーバ３０３は好ましくはＩｎｔｅｒｓｉｌのＨＩＮ２３Ｅシリアルトランシーバである。キーボード信号および／またはカーソル制御装置信号がシリアルポート２１３に送信される。
【００８８】
対照的に、シリアルデバイス１１１ａまたは１１１ｂからのコマンドがシリアルポート２１３、シリアルカード２１１、およびＰＣＩライザーカード２０９を介してＣＰＵ２０７に送信されるとき、コマンドは、初期に、シリアルコマンドを並列フォーマットに変換するシリアルトランシーバ３０３に送信される。以後、コマンドは、ＰＣＩライザーカード２０９を介してＣＰＵ２０７にコマンドを再送するＵＡＲＴ／開閉器３０１に送信される。ＣＰＵ２０７は受信されたコマンドを解釈し、ビデオモニタ１０５での表示のために仮想端末をエミュレートする。本発明は任意の数のシリアルポート２１３を組み込んでよい。図示されている例では、２台のシリアルデバイス１１１ａと１１１ｂがそれぞれシリアルポート２１３ａと２１３ｂに接続される。
【００８９】
ＣＰＵ２０７が、キーボード信号および／またはカーソル制御装置信号がサーバ１１３ａと１１３ｂまたはコンピュータ１１５ａと１１５ｂ向けであると判断すると、ＣＰＵ２０７はＰＣＩライザーカード２０９とＬＣＤコントローラ２１５を通して、適切なＫＶＭポート２１９に信号を送信するＫＶＭポートヘッダ２１７にキーボード信号とカーソル制御装置信号を送信する。図２Ｂに示されているように、ＫＶＭポートヘッダ２１７は開閉器３５０と、ビデオスイッチ３５２と、ＵＡＲＴ３５４とからなる。キーボード信号および／またはカーソル制御装置信号がＫＶＭポート２１９からＫＶＭポートヘッダ２１７に送信されると、信号は当初ＵＡＲＴ３５４で受信される。ＵＡＲＴ３５４は受信されたシリアルキーボード信号および／またはカーソル制御装置信号を並列フォーマットに変換する。次に、変換されたキーボード信号および／またはカーソル制御装置信号は、ＬＣＤコントローラ２１５に信号２を再送する開閉器３５０に送信される。
【００９０】
同様に、双方向キーボード信号および／またはカーソル制御装置信号もＬＣＤコントローラ２１５からＫＶＭポート２１９に送信される。ＬＣＤコントローラ２１５から受信されるキーボード信号および／またはカーソル制御装置信号は、ＫＶＭポートヘッダ２１７に配置される開閉器３５０に送信される。キーボード信号および／またはカーソル制御装置信号の中に含まれる制御信号を活用して、開閉器３５０は適切なＵＡＲＴ３５４に受信されたキーボード信号および／またはカーソル制御装置信号を送信する。ＵＡＲＴ３５４は、次に、ＫＶＭポート２１９への伝送のために並列フォーマットから直列フォーマットにキーボード信号および／またはカーソル制御装置信号を変換する。
【００９１】
また、ＫＶＭポートヘッダ２１７は、ＫＶＭポート２１９で受信される一方向ビデオ信号をＬＣＤコントローラ２１５に送信する。ＫＶＭポート２１９から受信されるアナログビデオ信号は、初期にビデオスイッチ３５２に送信される。ビデオスイッチ３５２は次にビデオ信号を、受信されたアナログビデオ信号をデジタルフォーマットに変換するＬＣＤコントローラ２１５に再送する。図２Ｃに示されているように、ＬＣＤコントローラ２１５はＲ−Ｉｎ  ３５５ａ、Ｇ−Ｉｎ  ３５５ｂ、Ｂ−Ｉｎ  ３５５ｃ、Ｈ−Ｉｎ  ３５５ｄ、Ｖ−Ｉｎ  ３５５ｅ、アナログ／デジタル（「Ａ／Ｄ」）変換器３５６、クロック３５７、入力インタフェース３５８、同期セレクタ３５９、モード検出回路３６０、自動調整回路３６１、ダウンスケーラ回路３６２、アップスケーラ回路３６４、オプションメニュー回路３５６、カラールックアップテーブル３６６、ディザリング回路３６７および出力インタフェース３６８を備える。ＫＶＭポートヘッダ２１７からＰＣＩライザーカード２０９に送信されるすべてのキーボード信号とカーソル制御装置信号は、未処理でＬＣＤコントローラ２１５を通過する。同様に、ＰＣＩライザーカード２０９からＫＶＭポートヘッダ２１７に送信されるすべてのキーボード信号とカーソル制御装置信号も未処理でＬＣＤコントローラ２１５を通過する。
【００９２】
ＫＶＭポートヘッダ２１７からの単一指向性ビデオ信号は、ＬＣＤコントローラ２１５にそれぞれビデオ信号の赤の成分、緑の成分、および青の成分を入力するＲ−Ｉｎ  ３５５ａ、Ｇ−Ｉｎ  ３５５ｂ、Ｂ−Ｉｎ  ３５５ｃを介してＬＣＤコントローラに到着する。同様に、Ｈ−Ｉｎ  ３５５ｄおよびＶ−Ｉｎ  ３５５ｅは、それぞれ水平同期信号と垂直同期信号をＬＣＤコントローラ２１５に入力する。ビデオ信号のアナログの赤の成分、緑の成分および青の成分は初期に、クロック３５７によって駆動されるＡ／Ｄ変換器３５６によってデジタルフォーマットに変換される。ビデオがいったんデジタル化されると、それは入力インタフェース３５８に送信される。入力インタフェース３５８は、ビデオソースによってどのカラーパレットが活用されているのかを検出するために受信されたデジタルビデオ信号を活用する。
【００９３】
代わりに、受信された信号はデジタルソースからであってよく、その場合Ａ／Ｄ変換は必要ない。このようなシナリオでは、信号はＡ／Ｄ変換器３５６を迂回し、どのカラーパレットがビデオソースによって活用されているのかを検出するために入力インタフェース３５８に直接的に送信される。
【００９４】
同時に、水平同期信号と垂直同期信号は、Ｈ−Ｉｎ  ３５５ｄとＶ−Ｉｎ  ３５５ｅを通して同期セレクタ３５９で受信される。モード検出回路３６０は、水平同期信号と垂直同期信号の周波数を検出するために受信された水平同期信号と垂直同期信号を活用する。いったん周波数が決定されると、情報は入力インタフェース３５８に渡される。
【００９５】
入力インタフェース３５８は、ビデオソースのビデオモードを決定するためにカラーパレット情報と組み合わせて受信された水平同期信号と垂直同期信号の周波数情報を活用する。いったんビデオモードが決定されると、デジタル化されたビデオが自動調整回路３６１によって分析される。自動調整回路３６１はアクティブ領域検出、最も明るく最も低いピクセル検索、ピクセル測定、および位相歪み測定を行うことができる。例えば、自動調整回路３６１は位相歪み測定をビデオ信号で実行してよい。位相歪みはビデオ信号の赤の成分、緑の成分、および青の成分が同期されていない場合に発生してよい。自動調整回路３６１は、位相歪みが存在すると判断すると、ビデオ信号のさまざまな成分の異なる位相を補償するためにクロック３５７のタイミングを更新する。
【００９６】
いったんビデオ信号が自動調整回路３６１によって処理されると、ビデオ信号はダウンスケーラ回路３６２に送信される。ダウンスケーラ回路３６２は高解像度ビデオ信号を低解像度に削減するために活用される。水平ダウンスケーリングと垂直ダウンスケーリングの両方とも独立して調整できる。例えば、ビデオソースが１０２４×７６８ピクセルであるビデオ信号を出力すると仮定する。また、ビデオの宛先が８００×６００ピクセルの最大解像度のビデオソースを収容するに過ぎないことも仮定する。この例では、ダウンスケーラ回路３６２は、８００×６００の解像度に１０２４×７６８ビデオソース解像度を削減するために活用されてよい。
【００９７】
しかしながら、ダウンスケーリングが必要とされない場合（例えば、宛先ビデオがソースより高い解像度に対応する場合）ビデオ信号は着信ビデオ信号を拡大するために活用されてよいアップスケーラ回路３６４に送信される。拡大は水平スケーリングと垂直スケーリングに個別にプログラミングできる。好ましくは、実現されたアップスケーリングアルゴリズムは、自由なプログラマブル遷移関数に基づいて、ピクセル機能拡張とともに補間を使用する。
【００９８】
いったんビデオ信号がダウンスケーラ回路３６２またはアップスケーラ回路３６４によって処理されると、ビデオ信号はオプションメニュー回路３６５に送信される。オプションメニュー回路３６５は本発明のユーザにオプションメニューを提供する。前述されたように、オプションメニューはシリアルデバイス、遠隔サーバまたはコンピュータを選択するためのメニューまたは電源１１７に接続されているすべての装置への電力を制御するためのオプションを含む。
【００９９】
オプションメニュー回路３６５の後で、ビデオ信号は次に、ガンマ訂正、およびビデオ信号でカラーコンポーネント輝度およびコントラスト調整を実行するカラールックアップテーブル３６６に入る。ビデオ信号の赤の成分、緑の成分、および青の成分は、カラールックアップテーブル３６６の中に位置する３つの独立したテーブルにより処理される。
【０１００】
ビデオ信号は、次にディザリングを通してビデオ信号の視覚的な品質を改善するディザリング回路３６７に入る。これは物理的に考えられる色値の時間的変化を通して達成される。時間的変化のアーチファクトを削減するために、近接するピクセルは変動のさまざまなシーケンスに従う。代わりに、ディザリングは、当技術分野で周知であるように無作為に適用できる。
【０１０１】
ビデオ信号がダウンスケーラ回路３６２、アップルケーリング回路３６４、オプションメニュー回路３６５、カラールックアップテーブル３６６、およびディザリング回路３６７によって適切に処理された後に、ビデオ信号は出力インタフェース３６８によってＰＣＩライザーカード２０９に出力される。オプションで、出力インタフェース３６８は、ＰＣＩライザーカード２０９に送信されるビデオ信号のタイミングを調整するために活用されてよい。
【０１０２】
ビデオ信号が、ＬＣＤコントローラ２１５によってデジタル化され、処理された後、デジタル化されたビデオ信号はＣＰＵ２０７とＰＣＩライザーカード２０９を介してビデオプロセッサ２１２に送信される。図２Ｄに示されるように、ビデオプロセッサ２１２はビデオインポート３７５、Ｒ−ｏｕｔ  ３７６ａ、Ｇ−ｏｕｔ  ３７６ｂ、Ｂ−ｏｕｔ  ３７６ｃ、ピクセルプッシャー３７８、フレームバッファ３８０、圧縮装置３８２、フラッシュメモリ３８４、ＲＡＭ３８６、マイクロプロセッサ３８８および開閉器３９０からなる。図２Ｄの上部に示されているビデオ−インポート３７５はＣＰＵ２０７からデジタル化されたビデオ信号を受信する。ビデオ−インポート３７５はデジタル化されたビデオ信号のそれぞれ赤の成分、緑の成分および青の成分を表現するＲ−ｏｕｔ  ３７６ａ、Ｇ−ｏｕｔ  ３７６ｂ、およびＢ−ｏｕｔ  ３７６ｃとして示される。ビデオ−インポート３７５は、ピクセルプッシャー３７８に送信され、記憶されるピクセルの形式でこれらのデジタル化されたビデオ信号を出力する。ピクセルプッシャー３７８、フラッシュメモリ３８４およびランダムアクセスメモリ（「ＲＡＭ」）３８６は通信バス３８７を介してマイクロプロセッサ３８８と通信する。ピクセルプッシャー３７８は、それぞれ通信バス３７９と３８１を介してフレームバッファ３８０（例えば未処理フレームバッファ、比較フレームバッファ等）および圧縮装置３８２とも通信する。圧縮アルゴリズムはマイクロプロセッサ３８８によって実行される。ビデオ信号の圧縮が完了した後、結果として生じるビデオ信号は、開閉器３９０を介してイーサネットコネクタ２０５または通信ポートコネクタ２０６のどちらかに送信される。
【０１０３】
ＲＭＵ１０９は、ＲＭＵ１１９に電力を提供する電源２２１も含む。好ましくは、電源２２１は、メイン回路網が失敗したケースではバックアップ回路網を含む冗長な電源である。電源２２１は外部電源から電力ポート２３３を通って電力を受け取る。ＲＭＵに対する電力は、ＣＰＵ２０７に直接的に接続されるリセット回路網２２５によって制御される。リセット回路網２２５は、電力をオンまたはオフにするために、およびＲＭＵ１０９をリセットするために活用される。
【０１０４】
ＲＭＵ１０９は、ＣＰＵ２０７に接続されるローカルＫＶＭポート２２７も含む。ローカルＫＶＭポート２２７はローカルキーボード１２３、ビデオモニタ１２７、およびカーソル制御装置１２５のケーブル１２９（図１）を介したＲＭＵ２２７への接続を可能にする。ローカルキーボード１２３、ビデオモニタ１２７、およびカーソル制御装置１２５は取り付けられているシリアルデバイス１１１ａと１１１ｂ、サーバ１１３ａと１１３ｂ、コンピュータ１１５ａと１１５ｂ、および電源１１７のオンサイト制御のために活用されてよい。
【０１０５】
本発明のシステムを活用するために、ユーザは最初にユーザワークステーション１０１で遠隔管理セッションを開始し、必用とされるユーザ名とパスワードを入力する。しかしながら、認証情報の一意の組み合わせが活用されてよい。ユーザワークステーション１０１は入力された情報をパケット化し、ケーブル１１９を介してそれをインターネット／ＬＡＮ１０８に、次にケーブル１２１を介してＲＭＵ１０９に送る。入力されたデータはＲＪ−４５コネクタ２０１（あるいは代わりにＲＪ−１１コネクタ２０２）を介してＣＰＵ２０７で受信される。イーサネットコネクタ２０５はネットワークプロトコルを削除し、受信されたキーボード信号および／またはカーソル制御装置信号をＣＰＵ２０７に送信する。ＣＰＵ２０７はユーザを認証するためにシステムに記憶されているすべてのユーザプロファイルを含むルックアップテーブルを活用する。異なるユーザプロファイルにシステムに対する異なるアクセスのレベルが与えられてよい。例えば、特定のユーザはコンピュータ１１５ａと１１５ｂのみにアクセスし、操作することができ、サーバ１１３ａと１１３ｂ、シリアルデバイス１１１ａと１１１ｂおよび電源１１７を操作するのを制限されている。
【０１０６】
いったんユーザが認証されると、オプションメニュー回路３６５は、ＲＭＵ１０９に取り付けられているすべての装置を含むオプションメニューを作成する。この場合、取り付けられている装置はシリアルデバイス１１１ａと１１１ｂ、サーバ１１３ａと１１３ｂ、コンピュータ１１５ａと１１５ｂおよび電源１１７を含む。しかしながら、ＲＭＵ１０９が任意の数のシリアルデバイス、サーバ、コンピュータ、および関連付けられた電源を収容してよいことは当業者に明らかであろう。オプションメニュー回路３６５によって作成されるオプションメニューはビデオプロセッサ２１２によって圧縮され、イーサネットコネクタ２０５によってパケット化され、次にＲＪ−４５コネクタＲＪ−４５コネクタ２０１、ケーブル１２１、インターネット／ＬＡＮ１０８、およびケーブル１１９を通してユーザワークステーション１０１にその順序で送信される。オプションメニューはビデオモニタ１０５での表示のために、ユーザワークステーション１０１でデパッケト化され、解凍される。次にユーザは、オプションメニューから所望される装置を選択するために、キーボード１０３とカーソル制御装置１０７を活用する。ユーザにより入力されたキーボード信号とカーソル制御装置信号は、次にユーザワークステーション１０１によって符号化され、インターネット／ＬＡＮ１０８を介してＲＭＵ１０９に送信され、以後のＲＭＵ１０９に配置されるＣＰＵ２０７によって復号される。ＣＰＵ２０７は受信されたキーボード信号とカーソル制御装置信号を解釈し、前述されたようにユーザを選択された装置と接続する。
【０１０７】
ユーザがサーバ１１３ａまたは１１３ｂまたはコンピュータ１１５ａおよび１１５ｂと接続されることを選択すると、選択された装置のビデオ信号がビデオモニタ１０５に表示される。ビデオ信号は初期にＫＶＭポート２１９で選択される装置から到着し、ＫＶＭポートヘッダ２１７に送られる。ビデオ信号は次に、アナログビデオ信号をデジタル信号に変換するＬＣＤコントローラ２１５に送られる。結果として生じるデジタル化されたビデオ信号は次にＰＣＩライザーカード２０９を通してＣＰＵ２０７に送られる。ＣＰＵ２０７は、次に、ビデオ信号を送信するための正しい場所（つまりローカルＫＶＭポート２２７またはビデオプロセッサ２１２）を決定する。ビデオ信号がローカルＫＶＭポート１２９に送られると、ビデオ信号はローカルビデオモニタ１２７で表示される。代わりに、ビデオ信号がビデオプロセッサ２１２に送られると、それはビデオプロセッサ２１２により圧縮され、ＲＪ−４５ポート２０１またはＲＪ−１１ポート２０２のどちらかを通って、ケーブル１２１を介してイーサネットコネクタ２０５または通信ポートコネクタ２０６によってパケット化される。イーサネットコネクタ２０５または通信ポートコネクタ２０６もあらゆる他の信号（つまり、キーボード信号、カーソル制御装置信号等）を、ユーザワークステーション１０１への伝送のために圧縮されたビデオ信号の上に付加する。
【０１０８】
別の接続されている装置に切り替えるために、ユーザはユーザワークステーション１０１に取り付けられているキーボード１０３上の「印刷画面」または「Ｆ１」等の「ホットキー」を押す（図１）。これによりオプションメニュー回路３６５が、ユーザが新しいシリアルデバイス、サーバ、コンピュータを選択する、あるいは接続されている装置の１つに対する電力供給を修正することができるようにするオプションメニューを表示する。
【０１０９】
ここで図３を参照すると、描かれているのは本発明の好適実施形態におけるビデオプロセッサ２１２によって活用される圧縮アルゴリズムの動作を描くフローチャートである。圧縮アルゴリズムはビデオプロセッサ２１２（図２）によってＲＭＵ１０９に内部で実行される。デジタル化されたビデオ信号は、フレームバッファ３８０（図２Ｄ）の１つである未処理フレームバッファ（ステップ４０２）に初期に記憶されている。この時点で、圧縮アルゴリズムは、未処理フレームバッファに含まれる捕捉されたビデオデータを処理し、ユーザワークステーション１０１への伝送のためにそれを作成するために実行される。
【０１１０】
圧縮アルゴリズムの第１のステップはＮＲＤＴ（ステップ４０３）である。ＮＲＤＴサブアルゴリズムもビデオプロセッサ２１２（図２）によってＲＭＵ１０９に内部で実行される。ＮＲＤＴサブアルゴリズムは、やはり前述されたようにカレントフレームと比較フレームの間で、存在する場合は、どのピクセルのブロックが変化したのかを決定する。
【０１１１】
本発明の好適実施形態では、ビデオフレームは最初に６４×３２ピクセルのブロックに分割される。次に、ＮＲＤＴサブアルゴリズムがピクセルの各ブロックに独立して適用される。本発明の代替実施形態は、所望されるビデオ解像度、使用可能な帯域幅等の基準に応じてさらに小さなブロックまたはさらに大きなブロックを活用してよい。
【０１１２】
次にＮＲＤＴサブアルゴリズムは、カレントフレームの中のピクセルのブロックと比較フレームの中のピクセルの対応するブロックの間に差異が存在するかどうかを判断するための２つの閾値モデルを利用する。これらの２つの閾値はピクセル閾値とブロック閾値である。
【０１１３】
最初にピクセルブロックの各ピクセルが調べられ、そのピクセルが比較フレーム内の対応するブロックの対応するピクセルを基準にして変化したかどうかを判断する。図６に関してさらに詳しく後述されるように、対応する比較ピクセルに関して、各ピクセルの三色（つまり、赤、緑、および青）のそれぞれの距離値が計算される。距離値がピクセル閾値（つまり２つの閾値モデルの第１の閾値）より大きい場合、距離値が距離合計値に加算される。
【０１１４】
次に、ピクセルブロックの中のすべてのピクセルが調べられた後、結果として生じる距離合計値がブロック閾値（つまり２つの閾値モデルの第２の閾値）より大きい場合、ブロックは変化したと判断される。ビデオフレーム内のピクセルのあらゆるブロックが同じプロセスを経る。したがって、このプロセスがビデオフレーム全体に適用された後、プロセスは過去のビデオフレーム後に変化したとプロセスが判断したすべてのピクセルブロックを識別するであろう。この時点で、比較フレームは変化したピクセルブロックで更新される。しかしながら、カレントフレームの未変更のピクセルブロックに対応する比較フレームのピクセルブロックは未変更のままとなるであろう。このようにして、ＮＲＤＴサブアルゴリズムによって使用される２閾値モデルは、アナログ／デジタル変換の間に生じる雑音により生じるピクセル値の変化を排除し、ビデオフレーム内の本当の変化も捕捉する。
【０１１５】
ビデオデータがＮＲＤＴサブアルゴリズムによって処理された後、それは次に平滑化サブアルゴリズムで処理される（ステップ４１９）。本発明により使用される平滑化サブアルゴリズムは、アナログ／デジタル変換中に生じる雑音によって引き起こされるビデオが画像の粗さを削減することによって、平滑で高品質のビデオ画像を生じさせることを目的としている。
【０１１６】
平滑化サブアルゴリズムは最初にＮＲＤＴサブアルゴリズムから発生したピクセル表現を、各ピクセルを表現するためにより少ない量のビットを使用するピクセル表現に変換する。これは、ピクセル表現のサイズを最小限に抑えるために特に編成されるＣＣＴを使用して実行される。平滑化サブアルゴリズムは最も一般的に使用される色について１ビットが最小数のカラーコードを選ぶためにＣＣＴを使用する。例えば、白と黒は非常に一般的な色であると仮定される。したがって、白にはつねに０が割り当てられ、黒にはつねに１が割り当てられる。すなわち、白はすべての平面で０というビット値によって表現されるであろう。次に最も一般的な色である黒は１つ平面を除くすべてで１というビット値として表示される。これにより圧縮アルゴリズムによって圧縮されるデータの量は削減される。次に、ブロックの中のピクセルごとに、カラーコードが割り当てられる。同時に、カラーコードのヒストグラムがピクセルのブロック内の一意の色のそれぞれの発生数を記憶するように作成される。このカラーコードのヒストグラムは、次に、最小数の発生から優勢な数の発生までのカラーコードのリストを作成するために並べ替えられる。
【０１１７】
いったんカラーコードの並べ替えられたリストが作成されると、次のステップは色をマージすることである。並べ替えられたリストの開始から作業し、平滑化サブアルゴリズムは最も頻繁にではなく発生する色をより頻繁に発生する色に比較する。あまり頻繁に発生しない色がより頻繁に発生する色に非常に類似している場合は、あまり頻繁に発生しない色を有するピクセルはより頻繁に発生する色に変更される。２つの色が類似しているかどうかの判断は、ＲＧＢ空間の三次元点の間の距離を計算することによって実行される。式は、以下のとおりである。
距離＝平方根（（平方（赤１−赤２））＋平方（緑１−緑２）＋平方（青１−青２））
距離が距離閾値の範囲内である場合には、二色は類似すると判断される。本発明の好適実施形態では、システム性能は距離閾値を二乗し、この値をＲＧＢ差異の平方和と比較することによって高まる。このステップにより、さらに大量の処理時間を要する合計の平方根を取ることが排除される。
【０１１８】
ピクセルの各ブロックは雑音についてフィルタリングされ、ＲＧＢ表現からカラーコード表現に変換される。アナログ信号からデジタル信号への変換中のＬＣＤコントローラ２１５（図２）によって生じる雑音によって、いくつかのピクセルの値が歪む。したがって、平滑化サブアルゴリズムは歪んだピクセルを訂正する。平滑化サブアルゴリズムは各ビデオ画像ブロックに存在する異なる色の数を削減することによって雑音を最小限に抑える。このような平滑化は、冗長性がさらに大きい画像を生じさせ、このようにしてさらに高い圧縮率を生じさせる。
【０１１９】
平滑化の後に、キャッシングが実行される（ステップ４２１）。キャッシングはＲＭＵ１０９（図２）のビデオプロセッサ２１２によって実行される全体的な圧縮アルゴリズムのサブアルゴリズムである。キャッシングはＲＭＵ１０９（図２）に最近送信された画像のキャッシュを保持するように要求する。このようなキャッシュは実現され、ＲＡＭ３８６（図２Ｄ）に記憶できる。キャッシングサブアルゴリズムは、ピクセルの最近のブロックをキャッシュに記憶されているビデオ画像の中のピクセルの対応するブロックと比較する（ステップ４０５）。最近に送信されたピクセルのブロックがキャッシュに記憶される対応するピクセルのブロックの１つと同じである場合には、キャッシングサブアルゴリズムはビデオ画像のこの部分を再送しない。代わりに、「キャッシュヒット」メッセージは、最近に送信されたブロックがすでにキャッシュ（ステップ４０７）に記憶されていることを示す「キャッシュヒット」メッセージがユーザワークステーション１０１に送信される。「キャッシュヒット」メッセージは、どのキャッシュがピクセルの対応するブロックを含むのかに関する情報を含み、それによってユーザワークステーション１０１がそのキャッシュからピクセルのブロックを取り出し、それを使用して、その取り付けられているビデオディスプレイ装置に表示されるビデオ画像を作成できるようにする。
【０１２０】
プロセスの中の次のステップ、ステップ４０９は、ＮＲＤＴが、比較フレームの中のピクセルの対応するブロック以来、ピクセルのブロックが変化したかどうかを確かめるためにチェックする。このステップは、ステップ４０５の前にまたはそれと平行して実現することもできる。また、ステップ４２１、４０５および４０７は完全に排除されてよい。
【０１２１】
ステップ４０９の主要な目的は、ブロックが最後のフレーム以来変化したかどうかをチェックすることである。ブロックが変化しなかった場合、ユーザワークステーション１０１に更新されたブロックを送信する必要性はない。それ以外の場合、ピクセルのブロックが変化した場合、それは比較のために作成される（ステップ４１１）。好適実施形態では、ステップ４０９はステップ４０５とは別の技法を使用する。冗長性に関してチェックする２つの方法を用いるとさらに高い圧縮が発生することがある。ステップ４０９と４１１の両方ともビデオプロセッサ２１２のマイクロプロセッサ３８８により実行されるキャッシングサブアルゴリズムによって実行される（図２Ｄ）。
【０１２２】
変化した画像のあらゆる領域について、キャッシュは更新され、データはサーバスタックに送信される前に圧縮される。好適実施形態では、画像はＩＢＭ  ＪＢＩＧ圧縮アルゴリズムを使用して圧縮される。ＪＢＩＧは黒い画像と白い画像を圧縮することを目的としている。しかしながら、本発明はカラービデオ画像を送信することを目的としている。したがって、画像のビット平面が抽出され（ステップ４１１）、各ビット平面が別個に圧縮される（ステップ４１３）。最後に、圧縮された画像は、開閉器３９０（図２Ｄ）にデータを送信するサーバスタック４１７（ステップ４１５）に送信される。
【０１２３】
図４Ａと図４Ｂは、圧縮プロセスの好適実施形態の詳細なフローチャートを提供する。捕捉されたビデオ画像のデジタル表現は転送され、フレームバッファ０  ５０３またはフレームバッファ１  ５０５のどちらかに記憶される。フレームバッファは、ビデオの１つのフレームを記憶できるメモリの領域である。２つのフレームバッファを使用すると画像データのより高速の捕捉が可能になる。ビデオの捕捉されたフレームは交互にフレームバッファ０  ５０３とフレームバッファ１  ５０５に記憶される。これによって、圧縮が前のビデオのフレームで実行されている間にビデオの次のフレームを捕捉できるようになる。ビデオプロセッサ２１２では、フレームバッファ０  ５０３とフレームバッファ１  ５０５はフレームバッファ３８０の一部を備える（図２Ｄ）。
【０１２４】
ＮＲＤＴ試験は、未処理フレームバッファ０  ５０３と未処理フレームバッファ１  ５０５に記憶されるピクセルの各ブロックで実行され（ステップ５１９）、捕捉されたビデオ画像の各ブロックを過去に捕捉されたビデオ画像の対応するブロックに比較する。ステップ５１９はカレント未処理フレームバッファ（つまり未処理フレームバッファ０  ５０３または未処理フレームバッファ１  ５０５）に記憶されているビデオ画像からのピクセルのブロックを、比較フレームバッファ５２１に記憶されるピクセルの対応するブロックに比較する。このステップは図６Ａと図６Ｂに関してさらに詳しく後述される。
【０１２５】
ステップ５１９が、ピクセルのカレントブロックが変化したと判断した場合、最も近い色の一致関数が、フラッシュメモリ２３９（図２）に記憶されているクライアントカラーコードテーブル（「クライアントからのＣＣＴ」）５１１に含まれている情報に関連して未処理フレームバッファ０  ５０３と未処理フレームバッファ１  ５０５（ステップ５０９）に含まれているビデオ画像を処理する。最も近い色一致関数はマイクロプロセッサ３８８によってソフトウェアとして実行できる。最も近い色一致関数の詳細な説明は図５に関して後述される。
【０１２６】
最も近い色一致関数の結果として生じるＣＣＴ  ５１３は、カラーコード変換（ステップ５１５）のために使用され、ビデオデータを表現するために必要とされるデジタルデータの量を削減するためにピクセルの変化したブロックの各ピクセルのデジタルＲＧＢ表現を変換する。カラーコード変換は、ＮＲＤＴサブアルゴリズム（ステップ５１９）が、過去に捕捉されたビデオ画像を基準にして変化したと判断するピクセルのブロックを受信する。カラーコード変換は、次にこのデジタルデータをさらにコンパクトな形式に変換し、結果をコード化フレームバッファ５１７に記憶する。コード化フレームバッファ５１７は、ＲＡＭ３８６（図２Ｄ）の一部として実現できる。
【０１２７】
代わりに、ステップ５０９と５１５は、ステップ５１９と平行して実行されてよい。これらのステップを並列で実行すると、変化したピクセルのブロックごとに必要とされる処理時間が短縮される。このシナリオでは、ステップ５０９と５１５は変化したピクセルのブロックを見越して実行される。これが当てはまる場合、ステップ５０９と５１５のための処理は、ステップ５１９のための処理が完了すると同時に完了されてよい。したがって、アルゴリズムはステップ５０９と５１５の処理を待機する必要なく、ステップ５０９からステップ５２３に直接的に移動してよい。それ以外の場合、ステップ５９１が、ピクセルのブロックが変化しなかったと判断し、したがってステップ５０９と５１５の結果が必要とされない場合、これらの結果は単に破棄されてよい。
【０１２８】
ステップ５１５の完了時、キャッシングはサイクリックリダンダンシーチェック（ＣＲＣ）（ステップ５２３）を実行することにより開始する。サイクリックリダンダンシーチェック（ＣＲＣ）はある特定のデータのブロックのチェックサムまたはハッシュコードを作成するための当技術分野で公知の方法である。ＣＲＣは、データの２つのブロックについて計算され、次に比較されてよい。ＣＲＣが一致すると、ブロックは同じである。このようにして、ＣＲＣは一般的にエラーがないかチェックするために使用される。本発明では、ＣＲＣはキャッシュに記憶されるピクセルのブロックとピクセルのブロックを比較するために使用される。したがって、ステップ５２３では、ＣＲＣはＮＲＤＴサブアルゴリズムによって変化したと判断されたピクセルの各ブロックについて計算される。ＣＲＣのアレイはＣＲＣアレイ５２５に記憶される。
【０１２９】
次に図４Ｂを見ると、キャッシングサブアルゴリズムとビットスプライシング／圧縮サブアルゴリズムの概要が図示されている。アルゴリズムのこの部分はコード化フレームバッファ５１７とＣＲＣアレイ５２５からの情報を待機し始める（ステップ５２７）。次に、新しいビデオモードが宣言されたかどうかに関する決定が下される（ステップ５２９）。新しいビデオモードは、例えば、ユーザワークステーション１０１がさまざまな帯域幅または色の要件を有する場合に宣言できる。新しいビデオモードが宣言されている場合、すべてのデータは無効にされ（ステップ５３１）、サブアルゴリズムはステップ５２７に戻り、コード化フレームバッファ５１７とＣＲＣアレイ５２５から新しい情報を待機する。ＬＣＤコントローラ２１５内に配置されるダウンスケーラ回路３６２および／またはアップスケーラ回路３６４は、新しいビデオモードと互換性があるように出力されたデジタル化されたビデオを調整するために活用されてよい。ステップ５２７、５２９、および５３１はマイクロプロセッサ３８８（図２Ｄ）によって実行される全体的な圧縮アルゴリズムのすべてのステップである。
【０１３０】
ステップ５２９において、新しいビデオモードが宣言されていないと考えられる場合には、ピクセルのＣＲＣのカレントブロックのキャッシュに入れられたＣＲＣとの比較が実行される（ステップ５３３）。このブロックは、ＣＲＣアレイ５２５に含まれるカレントビデオフレームのＣＲＣデータを、ブロック情報アレイ５３５に含まれる過去のＣＲＣのキャッシュと比較する。ブロック情報アレイ５３５はピクセルブロックのキャッシュおよびピクセルブロックのＣＲＣを記憶し、ＲＡＭ３８６内の装置として実現できる（図２Ｄ）。ステップ５３３はマイクロプロセッサ３８８（図２Ｄ）によって実行される全体的な圧縮アルゴリズムの一部でもある。
【０１３１】
次にピクセルのカレントブロックがブロック情報アレイ５３５に含まれるピクセルブロックキャッシュ内に配置される場合（ステップ５３７）、キャッシュヒットメッセージはワークステーション１０１に送信され、ピクセルのブロックは完了、つまり処理済みとマークされる（ステップ５３９）。ユーザワークステーション１０１はＲＭＵ１０９（図２Ｄ）と同じピクセルブロックキャッシュを含むので、キャッシュヒットメッセージは、処理されたピクセルのブロックに対応するビデオ画像の部分を作成するためにキャッシュに含まれるピクセルの特殊ブロックを使用するようにユーザワークステーション１０１に命令するに過ぎない。
【０１３２】
次に、ピクセルの未処理ブロックについてチェックが実行される（ステップ５３９）。処理される、または更新される必要のあるピクセルのすべてのブロックは次更新矩形計算(a compute next update rectangle)を作成するために結合される。更新するものがない場合（つまり、ビデオがフレーム間で変化していない場合）には、アルゴリズムはステップ５２７に戻る（ステップ５４３）。したがってカレントフレームは遠隔参加者装置に送信されない。ビデオのカレントフレームの再送を排除することによって、サブアルゴリズムはビデオを送信するために必要とされる帯域幅を削減する。
【０１３３】
しかしながら、更新される必要がある画像の領域がある場合、更新矩形は最初に圧縮される。したがって、更新矩形はビットスライシングされなければならない（ステップ５４５）。更新矩形のビット平面は更新矩形の各ピクセルから同じビットを採取することにより構築される。したがって、更新矩形が８ビットのピクセルを含む場合、それは８のビット平面に分解できる。結果として生じるビット平面はビット平面バッファ５４７に記憶される。再び、ステップ５４１、５４３および５４５は、ＲＭＵ１０９（図２）のマイクロプロセッサ３８８により実行されるビットスプライシング／圧縮サブアルゴリズムのすべての部分である。
【０１３４】
各ビット平面は、圧縮サブアルゴリズム（ステップ５４９）によって別々に圧縮される。この場合、圧縮は各ビット平面上で実行され、結果として生じるデータはサーバスタック４１７に送信される（ステップ５５１）。本発明の好適実施形態では、圧縮はビデオ圧縮装置３８２（図２）（ステップ５４９）によって実行される。それ以後、圧縮されたビット平面は開閉器３９０に送信される（図２Ｄ）。
【０１３５】
好適実施形態は毎秒２０回フレームを捕捉するので、ビデオフレームキャプチャの間に３００ｍｓ待機することが必要である。したがって、アルゴリズムは、サブアルゴリズムをステップ５２７に戻す前に、過去のフレームキャプチャから３００ｍｓが経過するまで待機する（ステップ５５３）。
【０１３６】
ここで図５を参照すると、ＣＣＴを使用してあまり頻繁に発生しない色をより頻繁に発生する色に選択的にマップする最も近い色一致関数（ステップ５０９）（図４Ａ）が示されている。最も近い色一致関数はビデオ画像のピクセルの各ブロックを連続して処理する。図５に示されるように、ピクセルのブロックは未処理フレームバッファ０  ５０３または未処理フレームバッファ１  ５０５に記憶されるビデオ画像から抽出される（ステップ６００）。本発明の好適実施形態では、抽出されたブロックは６４×３２ピクセルというサイズを有する。しかしながら、最も近い色一致関数は任意のサイズを有するブロックを処理できる。
【０１３７】
最も近い色一致はＡ／Ｄ変換により生じた雑音を排除する。これは、あまり頻繁に発生しないピクセル値を、類似したより頻繁に発生するピクセル値に変換することによって達成される。これはおもにヒストグラム分析および差異計算を介して行われる。最も近い色一致関数はピクセル値のヒストグラムを作成する（ステップ６０１）。ヒストグラムはステップ６００の間に抽出されるピクセルのブロック内の各ピクセル値の頻度を測定する。ヒストグラムは並べ替えられ、その結果頻繁に発生する色のリスト、つまり人気のある色のリスト６０３と、最も頻繁に発生しない色のリスト、つまり希少な色のリスト６０５が作成される。リストごとの閾値は調整可能である。
【０１３８】
最も近い色一致関数は、ピクセルが頻繁に発生する値にマップされるべきであるかどうかを判断するために各低頻度発生ピクセルを分析する。最初に、ピクセル値は希少色リスト６０５（ステップ６０７）から選ばれる。次にピクセル値は人気色リスト６０３から選ばれる（ステップ６０９）。これらの２つの値の間のこれらの距離が次に計算される（ステップ６１１）。このプロセスでは、距離は２個のピクセルの別々の赤、緑、および青の値を比較することによって計算される測定基準である。距離値「Ｄ」は種々の方法で計算できる。１つのこのような例は以下のとおりである。
【数１】
2007531355.tif 000002
【０１３９】
この式では、Ｒ１は低頻度ピクセルの赤の値であり、Ｒ２は高頻度ピクセルの赤の値であり、Ｇ１は低頻度ピクセルの緑の値であり、Ｇ２は高頻度ピクセルの緑の値であり、Ｂ１は低頻度ピクセルの青の値であり、Ｂ２は高頻度ピクセルの青の値である。
【０１４０】
この式は、あまり頻繁に発生しないピクセル対より頻繁に発生するピクセル等、２つのピクセルの色の類似性または差異の規模を示す距離値Ｄを生じさせる。サブアルゴリズムの目標は、あまり頻繁に発生しないピクセルの色に比較されるときに、最低の距離値を生じさせる色を有するより頻繁に発生するピクセルを見つけることである。したがって、比較は計算された距離値用である（ステップ６１３）。すべての過去の距離値未満である距離値が計算されるたびに、距離値は最も近い距離変数に書き込まれる（ステップ６１５）。
【０１４１】
いったんすべてのより頻繁に発生するピクセルがあまり頻繁に発生しないピクセルに比較されたと判断されると（ステップ６１７）、最低の発生Ｄが所定の閾値の範囲内にあるかどうかを判断するために計算が実行される（ステップ６１９）。このＤが所定の閾値の範囲内にある場合、ＣＣＴ５１３は低頻度で発生するピクセルを、このＤ値を生じさせた高頻度で発生するピクセルのカラーコード値にマッピングすることにより更新される（ステップ６２１）。このプロセスは、すべての低頻度ピクセルについて繰り返され、ＣＣＴ５１３は相応して更新される。
【０１４２】
図６見ると、ステップ５１９（図４Ａ）がさらに詳細に示されている。このプロセスは、ビデオ画像の中のピクセルのすべてのブロックで動作する。カレントピクセルブロック７００はカレント未処理フレームバッファ（つまり未処理フレームバッファ０  ５０３または未処理フレームバッファ１  ５０５（図４Ａ））に含まれているビデオ画像のピクセルのブロックを表現する。過去のピクセルブロック７０１は比較フレームバッファ５２１（図４Ａ）に含まれているビデオ画像のピクセルの対応するブロックを含む。ステップ５１９は、カレントピクセルブロック７００と過去のピクセルブロック７０１から１つのピクセルに対応するピクセル値を抽出することにより開始する（ステップ７０３）。それから、ピクセル色値は、２個のピクセルの色の間の類似性または差異の大きさを示す距離値を計算するために使用される（ステップ７０５）。本発明の好適実施形態では、距離値は以下の式を使用して計算される。
【数２】
2007531355.tif 000003
【０１４３】
前述のように、Ｒ１、Ｇ１およびＢ１は、フレームバッファピクセルのそれぞれ赤の値、緑の値、および青の値である。同様に、Ｒ２、Ｇ２およびＢ２は比較フレームバッファピクセルのそれぞれ赤の値、緑の値、および青の値である。
【０１４４】
次に、計算された距離値Ｄはピクセル閾値と比較される（ステップ７０７）。Ｄがピクセル閾値より大きい場合には、それは蓄積する距離合計に加算される（ステップ７０９）。Ｄの値がピクセル閾値未満である場合、差異は重要ではない、つまり雑音であると考えられ、距離合計に加算されない。
【０１４５】
距離値を計算し、所定のピクセル閾値より大きい距離値を合計するこのプロセスは、ピクセルのブロックの最後のピクセルが処理されたと判断されるまで続行する（ステップ７１１）。いったん最後のピクセルに達すると、距離合計は第２の閾値、つまりブロック閾値と比較される（ステップ７１３）。距離合計がブロック閾値を上回っている場合は、過去に捕捉されたフレームから、ピクセルのカレントブロックがピクセルの対応するブロックに比較して変化したと指定される。それ以外の場合、距離合計がブロック閾値未満である場合、ピクセルのブロックは未変更として指定される。
【０１４６】
ピクセルのブロックが変化したと指定される場合、ステップ７１５が実行される。ステップ７１５は、ピクセルの特定のブロックが変化したことを示すフラグをセットする。さらに、ピクセルの新しいブロックが比較フレームバッファ５２１（図４Ａ）に書き込まれ、ピクセルの対応する過去のブロックを置換する。
【０１４７】
それ以外の場合、距離合計がブロック閾値を超えない場合、ブロックは未変化と指定され、フラグは、ピクセルのこのブロックが遠隔参加装置に再送される必要がないことを示すためにセットされる（ステップ７２１）。むしろ、遠隔参加装置は、ビデオの過去のフレームについて表示されるピクセルの同じブロックを使用してピクセルのブロックにより表現されるビデオ画像の部分を作成し直す。この時点で、ステップ５２３が図４Ａに関して詳しく前述されたように実行される。
【０１４８】
図７は、図６に示されるＮＲＤＴサブアルゴリズムによって活用される２レベルの閾値アルゴリズムをさらに図解する。例示的な目的のために、ピクセルの４×４のブロックが示されている。各ピクセルは当技術分野で一般的に実行されるように０から２５５の範囲となる赤、緑および青の色値を与えられる。０という赤、緑および青の値を有するピクセルは黒のピクセルを表現するのに対し、２５５という赤、緑および青の値を有するピクセルは白のピクセルを表現する。過去のピクセルブロック７５１は比較フレームバッファ５２１（図４Ａ）から取り込まれたピクセルのブロックである。過去のピクセル１  ７５２は過去のピクセルブロック７５１の左上角のピクセルである。過去のピクセルブロック７５１のあらゆるピクセルは０という値を有するので、過去のピクセルブロック７５１は完全に黒い４×４ピクセル領域を表現する。
【０１４９】
カレントピクセルブロック７５３は、過去のピクセルブロック７５１と、ビデオフレームの同じ空間領域を表現するが、それは１フレーム遅れている。ここではカレントピクセル１  ７５４が過去のピクセル１  ７５２と同じピクセル１であるが、それは１フレーム遅れて発生する。説明を簡単にするために、白いカーソル等の小さな白いオブジェクトが過去のピクセルブロック７５１によって表現されるビデオ画像の領域に入ると仮定する。この変化はカレントピクセルブロック７５３のカレントピクセル１  ７５４で発生する。カレントピクセルブロック７５３では、ピクセルの過半数は黒のままであるが、カレントピクセル１  ７５４は、２５５、２５５、および２５５というＲＧＢ色値によって表されるように、現在白である。
【０１５０】
雑音がＡ／Ｄ変換により生じ、その結果過去のピクセル２  ７５５が、０，０、および０というそのＲＧＢ値によって表されるような黒から灰色に変化したとさらに仮定する。新しい灰色値はカレントピクセル２  ７５６に割り当てられる２、２および２というＲＧＢ値によって表される。
【０１５１】
ピクセル閾値が１００であり、ブロック閾値が２００であるとさらに仮定する。ＮＲＤＴサブアルゴリズムはカレントピクセルブロック７５３の各ピクセルと過去のピクセルブロック７５１の間の距離値を計算する。図６に関して前述されたように、本発明の好適実施形態で使用される式は、以下のとおりである。
【数２】
2007531355.tif 000004
したがって、カレントピクセル１  ７５４と過去のピクセル１  ７５２の間の距離値は以下のとおり、
【数３】
2007531355.tif 000005
つまり１９５，０７５である。１９５，０７５は１００というピクセル閾値を超えているため、この距離値は距離合計に加算される。しかしながら、前記の距離の式を使用して計算されるようにピクセル間の距離は１２に等しく、１００というピクセル閾値を上回っていないために、黒い過去のピクセル２  ７５５と灰色のカレントピクセル２  ７５６の間の距離値は距離合計に加算されない。同様に、距離値は２個のピクセルブロックの中の残りのピクセルのすべてについて計算される。これらの距離値のそれぞれはゼロに等しく、したがって、これらの距離値はピクセル閾値未満であるので、それらは距離合計に加算されない。
【０１５２】
その結果として、すべてのピクセルの距離値が処理された後で、距離合計は１９５，０７５に等しくなる。この値は２００というブロック閾値を上回っているので、ブロックが指定される。この例はＮＲＤＴサブアルゴリズムの２レベル閾値化特徴の優位点を図解している。すなわち、カレントピクセルブロック７５３のカレントピクセル２  ７５６で発生した雑音が無視されたのに対し、カレントピクセルブロック７５３のカレントピクセル１  ７５４で発生したビデオの本物の変化が認識された。
【０１５３】
図８は、ユーザワークステーション１０１（図１）によって実行される解凍アルゴリズムのフローチャートである。解凍アルゴリズムはメッセージを待機することにより開始する（ステップ８０１）。このメッセージはＲＭＵ１０９のサーバスタック４１７からユーザワークステーション１０１に送信される。その後、ユーザワークステーション１０１は情報を受け取り、データをクライアントスタック８０３に書き込む。クライアントスタック８０３は、デジタルデータを恒久的にまたは一時的に記憶することができるレジスタまたは他の何らかのデバイスであってよい。本発明の一実施形態では、メッセージがＴＣＰ／ＩＰ通信プロトコルを使用して送信される。このシナリオでは、クライアントスタック８０３はローカルＴＣＰ／ＩＰスタックである。他の実施形態はＴＣＰ／ＩＰ以外のプロトコルを使用してよい。しかしながら、通信プロトコルに関係なく、本発明は処理のために受信されたメッセージを記憶するためにクライアントスタック８０３を使用する。
【０１５４】
メッセージはいったんクライアントスタック８０３で受信されると、それは、メッセージが新しいビデオモードメッセージであるかどうかを判断するために処理される（ステップ８０５）。新しいビデオモードメッセージは、帯域幅変化、画面解像度または色の深みの変化、新しいクライアント等を含む種々の理由のために送信できる。このリストは新しいビデオモードメッセージを送信するための理由を限定することを目的とするのではなく、代わりにそれがいつ発生してよいのかの例を示す。メッセージが新しいビデオモードメッセージである場合、アプリケーション層８２３は新しいビデオモードを通知される（ステップ８０７）。本発明の好適実施形態では、アプリケーション層８２３は、ユーザワークステーション１０１の入力装置と出力装置（つまり、キーボード１０３、ビデオモニタ１０５、およびカーソル制御装置１０７）と接続するユーザワークステーション１０１によって実行されるソフトウェアである。したがって、あらゆるビデオ更新がアプリケーション層８２３に送信されなければならない。また、過去に送信されたフレームの記憶専用のすべてのメモリを含む古いバッファが解放され、新しいバッファが割り当てられる（ステップ８０９）。次に解凍アルゴリズムはステップ８０１に戻る。
【０１５５】
新しいメッセージがビデオモードメッセージではない場合、それがキャッシュヒットメッセージであるかどうかを判断するために、メッセージはさらに処理される（ステップ８１１）。イエスの場合、キャッシュヒットメッセージは３つのキャッシュフレームバッファ８１５に記憶されているピクセルのブロックの内、どのピクセルのブロックがビデオ画像のそれぞれの部分を再構築するために使用されなければならないのかを判断するために解読される。本発明の好適実施形態では３個のキャッシュフレームバッファ８１５が使用されるが、本発明の精神から逸脱することなく任意の量のキャッシュフレームバッファが使用されてよい。キャッシュフレームバッファ８１５は、ＲＭＵ１０９（図２）に内部に配置されるキャッシュフレームバッファに記憶されるピクセルの同じブロックを記憶する。したがって、キャッシュヒットメッセージはビデオデータを含まないが、むしろ単に遠隔参加者装置に、キャッシュフレームバッファ８１５に含まれているピクセルのどのブロックがフレームバッファ８１７をマージするために送信されるべきかに関して命令する。指定されたキャッシュの中に含まれるピクセルのブロックは、次にバッファ８１７をマージするためにキャッシュフレームバッファ８１５からコピーされる（ステップ８１３）。最後に、アプリケーション層８２３は、ビデオ画像の領域は更新されたことを通知される（ステップ８２５）。マージバッファ８１７はカラーコードピクセル内のビデオのフレーム全体の現在の表現を含む。アプリケーション層８２３はマージバッファ８１７からピクセルデータをコピーし、接続されているビデオモニタ１０５のピクセルフォーマットに適合するためにデータをフォーマットする（ステップ８１９）。その後、フォーマットされたピクセルデータは、次にデータをビデオモニタ１０５に送信するフレームバッファ８２１を更新するために書き込まれる。あるいは、ビデオモニタの代わりに、フォーマットされたピクセルデータが、通常ビデオディスプレイ装置と使用されるビデオカード、メモリおよび／または任意の他のハードウェアまたはソフトウェアに書き込まれてよい。
【０１５６】
さらに、新しいメッセージが新しいビデオモードまたはキャッシュヒットメッセージではない場合、それは、それが圧縮ビデオデータを含むメッセージであるかどうかを判断するために試験される（ステップ８２７）。メッセージが圧縮ビデオデータを含んでいない場合には、解凍アルゴリズムがステップ８０１に戻り、サーバスタック４１７から送信される新しいメッセージを待機する。それ以外の場合、メッセージに圧縮ビデオデータが含まれている場合、データは解凍され、ビット平面フレームバッファ８３３に転送される（ステップ８２９）。前述されたように、本発明の好適実施形態はＪＢＩＧ可逆圧縮技術を組み込む。したがって、ビデオデータの解凍は各個別ビット平面について実行されなければならない。各ビット平面が解凍された後、それは、ビット平面フレームバッファ８３３に記憶される過去に解凍されたビット平面とマージされる（ステップ８２９）。十分な数のビット平面がマージされると、ビット平面フレームバッファ８３３に含まれるマージされたデータはマージフレームバッファ８１７に転送される。代わりに、個々のビット平面が解凍され、マージフレームバッファ８１７に直接的に記憶され、それによりビット平面フレームバッファ８３３を排除する（ステップ８３１）。ビデオの完全フレームを表示するために必要とされるデータのすべてがマージフレームバッファ８１７に転送されると、アプリケーション層８２３はフレームバッファ８２１を更新するためにマージフレームバッファ８１７内でデータをコピーする（ステップ８１９）。その後、データはビデオモニタ１０５に転送される。
【０１５７】
代替実施形態では、ビデオモニタ１０５で表示されるビデオは各ビット平面が受信された後に更新できる。言い換えると、ユーザは表示されたビデオの部分を更新するためにビデオの更新されたフレーム全体が受信されるまで待機する必要がない。ビデオ伝送に使用できる帯域幅が変化するときにこの代替方法は望ましい。また、ビデオディスプレイを更新するこの漸次的な方法はＪＢＩＧ圧縮アルゴリズムを使用する優位点の１つである。
【０１５８】
次に、解凍アルゴリズムは、カレントビデオフレームの１つのフィールドからのカラーコードデータのすべてが受信されたかどうかを判断する（ステップ８３５）。完全フィールドが受信されなかった場合、解凍アルゴリズムはステップ８０１に戻り、サーバスタック４１７からクライアントスタック８０３に新規メッセージの形で送信されるメッセージの残りを待機する。それ以外の場合、完全フィールドが受信されると、解凍方法はアプリケーション層８２３に知らせる（ステップ８３７）。キャッシュヒットメッセージの処理に関して前述されたのと同様に、この通知はアプリケーション層８２３にマージフレームバッファ８１７内のデータを読み取り、それをカレントスクリーンピクセルフォーマットに変換するように命令する（ステップ８１９）。その後、フォーマットされたデータはフレームバッファ８２１を更新するために書き込まれ、データをビデオモニタ１０５に送信する。
【０１５９】
完全フィールドが受信され、アプリケーション層８２３が通知を受け取った後、完全フィールドがメッセージに含まれる最後のフィールドであるかどうかを判断するために、第２の決定が下される。そうである場合、ピクセルの新規に解凍されたブロックはキャッシュフレームバッファ８１５の１つに書き込まれる（ステップ８４１）。それ以外の場合、解凍アルゴリズムはステップ８０１に戻り、新規メッセージを待機し続ける。本発明の好適実施形態では、キャッシュフレームバッファ８１５に書き込まれるピクセルの新しいブロックは、その中に含まれるピクセルの最も古いブロックを上書きする。ステップ８４１は、キャッシュが最新であり、ＲＭＵ１０９のキャッシュと同期していることを確実にする。キャッシュ更新の完了後、解凍アルゴリズムはステップ８０１に戻る。
【０１６０】
本発明は好適実施形態および複数の代替実施形態に関して説明されてきたが、その実施形態は本発明の完全な開示を行う目的でかなり詳細に述べられ、このような実施形態は単に例示的にすぎず、本発明のすべての態様を制限する、あるいはその包括的な列挙を表現することを目的としない。したがって、本発明の範囲は以下の請求項によってのみ定められるものとする。さらに、数値変化は本発明の精神および原則から逸脱することなくこのような詳細で行われてよいことは当業者に明らかであろう。本発明がその本質的な特性から逸脱することなく他の形式で具現化できることが理解されなければならない。
【図面の簡単な説明】
【０１６１】
【図１】キーボード、ビデオモニタ、およびカーソル制御装置を含むユーザワークステーションの、遠隔管理装置（「ＲＭＵ」）を通したネットワーキング装置、サーバおよびコンピュータへの接続を示した、本発明の好適実施形態によるネットワーク遠隔管理システムの概略図である。
【図２】ＲＭＵの内部構造、およびシリアルデバイス、キーボード、ビデオモニタ、カーソル制御装置、および電源のためのコネクタのブロック図を示した本発明の好適実施形態による図１に示されるＲＭＵの概略図である。
【図２Ａ】図2に示されるシリアルカードの概略図である。
【図２Ｂ】図２に示されるＫＶＭポートの概略図である。
【図２Ｃ】図２に示されるＬＣＤコントローラの概略図である。
【図２Ｄ】図２に示されるビデオプロセッサの概略図である。
【図３】本発明の好適実施形態により活用される圧縮アルゴリズムのフローチャートである。
【図４Ａ】本発明の好適実施形態により活用される圧縮アルゴリズムのＮＲＤＴサブアルゴリズムと平滑化サブアルゴリズムを詳説したフローチャートである。
【図４Ｂ】本発明の好適実施形態により活用される圧縮アルゴリズムのキャッシングアルゴリズムおよびビットスライシング／圧縮サブアルゴリズムを詳説したフローチャートである。
【図５】最も近い一致関数と、本発明の好適実施形態により活用される圧縮アルゴリズムのＣＣＴとのその統合を詳説したフローチャートである。
【図６】本発明の好適実施形態により活用される圧縮アルゴリズムのＮＲＤＴサブアルゴリズムを詳説したフローチャートである。
【図７】本発明の好適実施形態により活用される圧縮アルゴリズムにより実行されるようなピクセルのサンプルブロックに対するＮＲＤＴサブアルゴリズムの例の適用を示した図である。
【図８】本発明の好適実施形態により使用される圧縮アルゴリズムの動作の詳細なフローチャートである。
【図１】
2007531355.tif 000006
【図２】
2007531355.tif 000007
【図２Ａ】
2007531355.tif 000008
【図２Ｂ】
2007531355.tif 000009
【図２Ｃ】
2007531355.tif 000010
【図２Ｄ】
2007531355.tif 000011
【図３】
2007531355.tif 000012
【図４Ａ】
2007531355.tif 000013
【図４Ｂ】
2007531355.tif 000014
【図５】
2007531355.tif 000015
【図６】
2007531355.tif 000016
【図７】
2007531355.tif 000017
【図８】
2007531355.tif 000018
【国際調査報告】
2007531355.tif 000019
2007531355.tif 000020