JP2010535382A - ピクセルをアップデートバッファから供給する方法 - Google Patents

ピクセルをアップデートバッファから供給する方法 Download PDF

Info

Publication number
JP2010535382A
JP2010535382A JP2010519192A JP2010519192A JP2010535382A JP 2010535382 A JP2010535382 A JP 2010535382A JP 2010519192 A JP2010519192 A JP 2010519192A JP 2010519192 A JP2010519192 A JP 2010519192A JP 2010535382 A JP2010535382 A JP 2010535382A
Authority
JP
Japan
Prior art keywords
buffer
pixel
update
update buffer
bitstream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010519192A
Other languages
English (en)
Inventor
ローランド, エム. フーフミュース,
ロバート, ピー. マーティン,
アンドリュー, デイヴィッド トーマス,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2010535382A publication Critical patent/JP2010535382A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/04Partial updating of the display screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers

Abstract

方法(100)は、ピクセルデータをフレームバッファ内に記憶し(102)、ピクセルデータをフレームバッファから読出し(104)およびピクセルデータの少なくとも1個のピクセル値を処理して出力ピクセルビットストリームを生成することを備える。この方法は、ピクセル値を第1のアップデートバッファ内に記憶すること(108)を更に備える。このピクセル値は出力ピクセルビットストリームから派生したものである。この方法はまた、ピクセル値を第1のアップデートバッファからネットワークを介して遠く離れて配置された図形装置に供給すること(110)を備える。

Description

あるコンピュータのユーザが、そのユーザのコンピュータから遠く離れて配置された他のコンピュータで生成された画像(図形および文書)を自分のディスプレイで閲覧可能にする電子装置がある。そのような電子装置においては、図形データを生成するリモート・コンピュータがユーザのコンピュータに画像を送信し、これにより、ユーザのコンピュータが元々の画像を生成したコンピュータ上の画像を複製する。しかしながら、ユーザのコンピュータ上で閲覧される画像は、リモート・コンピュータ上で生成された元の画像と完全に同一とはならない場合がある。
以下の説明および特許請求の範囲において、所定の用語を用いて特定の構成要素を呼称する。当業者が理解している通り、コンピュータ会社によっては同一の構成部材を異なる名称で呼ぶ場合がある。この明細書においては、名称が異なるものの機能に差異はない構成部材を区別するものではない。以下の説明および特許請求の範囲において、「含む」および「備える」という用語は非制限的に使用され、したがって「…を含むが、それに制限されるものではない」ということを意図するものとする。また、「結合する」という用語は、間接的もしくは直接的な、光学的もしくは無線による電気的接続のいずれかを意味するものとする。したがって、第1の装置が第2の装置に結合する場合、装置間の接続は直接的電気的接続、他の装置および接続を介した間接的電気的接続、光学的電気的接続、もしくは無線による電気的接続によるものであってもよい。
本発明の実施例を詳細に説明するため、以下のような添付の図面を参照する。
図1は、様々な実施例による装置を示す。 図2は、様々な実施例による図1に示す装置の少なくとも一部を示すブロック図である。 図3は、アップデートバッファを用いる様々な実施例を示すブロック図である。 図4は、様々な実施例による方法を示す。 図5は、複数のアップデートバッファを用いる様々な実施例を示すブロック図である。
図1は、装置100を備える実施例を示す。装置100は、ネットワーク25を介して通信可能に結合される送信装置12および受信装置30を備える。装置12および30は、ネットワークを介して相互に対して通信可能に結合される。ネットワーク25は、インターネットもしくは他の通信ネットワークを備えていてもよい。ネットワーク25は、典型的なローカルエリアネットワークとしてポイントツーポイント通信リンクおよびマルチドロップネットワークを含んでいてもよい。図示のように、送信装置12は、図形サブシステム14、ディスプレイ16、システムメモリ17、グラフィックアプリケーション18、送信器22、およびオペレーティングシステム23を備える。グラフィックアプリケーション18および送信器22は実行可能コードを備える。受信装置30は、図形サブシステム32、ディスプレイ34、入力装置35、および受信器36を備える。受信装置の受信器36は実行可能コードを備える。図1とともに図2を簡単に参照するとわかるように、送信装置12および受信装置30の各々は、システムバス44を介して記憶装置42および図形サブシステム14、32に結合されるプロセッサ40を備える。図示のように、装置12、30の各々はまた、図形サブシステム14、32の各々に結合されるディスプレイ16、34を備える。図示の実施例における実行可能コード(すなわち、グラフィックアプリケーション18、送信器22、オペレーティングシステム23、および受信器36)の各々は各装置のプロセッサ40により実行され、記憶装置42内に記憶される。記憶装置42は、揮発性記憶装置(ランダムアクセスメモリ等)、非揮発性記憶装置(ハードディスクドライブ等)、もしくは両方を備えていてもよい。送信装置12の記憶装置42は、図1に示すシステムメモリ17を備えていてもよい。図形サブシステム14および32の各々は、例えばアプリケーション・プログラミング・インターフェース(API)、グラフィックドライバ、グラフィックアダプタ等の少なくとも1個のハードウェアコンポーネント等の実行可能コードを更に備えていてもよい。図形サブシステムの各々はまた、連動するディスプレイ上でピクセルをレンダリングするためにピクセルカラー値を一時的に記憶するための少なくとも1つのフレームバッファを含む。
実施例によっては、送信装置12は送信装置12に結合されるディスプレイ16を有するが、実施例によっては、送信装置はディスプレイ16を含まない。受信装置30は、例えばキーボードもしくはマウス等の入力装置35含んでいてもよく、これにより、受信装置のユーザは、グラフィックアプリケーションが受信装置30上で実行されているかのように、グラフィックアプリケーション18と効果的に相互作用することが可能である。
図1を参照するとわかるように、送信装置12はグラフィックアプリケーション18を実行して、図形サブシステム14によりディスプレイ16上に画像(文書、線、塗りつぶし等)を表示させる。グラフィックアプリケーション18は、グラフィックAPIを使用する複数の実行可能プログラムのうち少なくとも1個を備える。グラフィックアプリケーションが使用するAPIは図形サブシステム14により実装される。グラフィックアプリケーション18は、ピクセルデータを備える画像を作成および図形サブシステム14内のフレームバッファに記憶する図形サブシステム14にグラフィックコマンドを供給することにより、ディスプレイ16上に画像を表示させる。
図3は、送信装置12の図形サブシステム14の実施例を示す。実施例によっては、図形サブシステム14は送信装置12内に組込まれるアドインカードを備える。 図3に示すように、図形サブシステム14はグラフィックメモリ52に結合される演算処理エンジン50を備え、グラフィックメモリ52はディスプレイ更新ユニット54に結合される。実施例によっては、演算処理エンジン50、グラフィックメモリ52、およびディスプレイ更新ユニット54は全て、ハードウェアコンポーネントを備える。演算処理エンジン50は、送信装置12のプロセッサ40からグラフィックコマンドを受信し、ピクセルデータを備える画像を生成する。演算処理エンジン50はまた、ピクセルデータを圧縮してもよい。演算処理エンジン50は、グラフィックメモリ52内に実装されるフレームバッファ56内にピクセルデータを記憶する。ディスプレイ更新ユニット54は、フレームバッファ56からピクセルデータを読出すポストフレームバッファ・プロセッサユニット62を備え、実施例によっては、フレームバッファからのピクセルデータを更に処理して出力ピクセルビットストリームを生成する。上述のような更なる処理には、色空間変換、カラーオーバレイプレーンの実行、ガンマ補正の適用等がある。色空間変換は、出力ピクセルビットストリームを、例えば光の三原色(RGB)等の色空間形式から例えば輝度・色差形式(YCrCb)等の他の形式に変換するものである。フレームバッファのピクセルデータの形式が元々の形式と異なる場合、送信装置12により受信装置30に送信されるピクセル値を決定するため、形式を効率化する工程が必要となる場合がある。実施例によっては、フレームバッファ56内のピクセルデータは実カラー値を備え、実施例によっては、ピクセルデータは、ポストフレームバッファ・プロセッサユニット62により実カラー値に解像されるカラーインデックス値を備える。例えば、ポストフレームバッファ・プロセッサユニット62は、インデックス値を使ってカラールックアップテーブルからカラー値を探す。ポストフレームバッファ・プロセッサユニット62はまた、ピクセルビットストリームを送信装置12に結合される特定のディスプレイ16に適合する形式に変換する。例えば、ディスプレイ更新ユニット54は、例えばビデオグラフィックスアレイ(VGA)等のアナログ形式、もしくは例えばデジタルビデオインターフェース(DVI)等のデジタル形式で出力ピクセルビットストリームを生成してもよい。
送信装置12は、ディスプレイ16上に表示するピクセルデータの複製をネットワーク25を介して受信装置30に供給する。しかしながら送信装置12は、ピクセルデータをフレームバッファ56から受信装置30に送信する代わりに、出力ピクセルビットストリームをディスプレイ更新ユニット54、詳細にはポストフレームバッファ・プロセッサユニット62から抽出し、出力ピクセルビットストリームを示すピクセル値をネットワーク25を介して受信装置30に供給する。出力ピクセルビットストリームはポストフレームバッファ・プロセッサユニット62の作用で符号化されているため、受信装置30に送信される画像は、ディスプレイ16上に表示される画像を備える。フレームバッファ56からのピクセルデータが受信装置30に送信された場合、当該データはポストフレームバッファ・プロセッサユニット62の作用で符号化されておらず、したがって、受信装置30が表示する画像は送信装置12上に表示される画像と同一にはならない場合がある。
図3に示す図形サブシステム14のグラフィックメモリ52はまた、アップデートバッファ58および差分バッファ(BFR)60を備える。アップデートバッファ58および差分バッファ60はフレームバッファ56とは別に設けられる。アップデートバッファ58は一般的に、ディスプレイ更新ユニット54が生成する出力ピクセルビットストリーム内で符号化される現在のフレームに時間的に先行する映像フレームを備える。ディスプレイ更新ユニット54はまた、比較ユニット66を備える。比較ユニット66は、ポストフレームバッファ・プロセッサ62が生成する出力ピクセルビットストリームの複製を受信する。比較ユニット66は、出力ピクセルビットストリーム内で符号化されるピクセルと、アップデートバッファ58内に記憶されるピクセル値とを、例えばピクセル毎に比較し、現在表示されている画像が(アップデートバッファ58内に記憶される)前の画像と異なるか否か決定する。比較ユニット66は、実施例によっては、連続する画像フレーム対ごとに比較を実行し、実施例によっては、画像フレームの連続する対ごと以外の組合せで比較を実行する。実施例によっては、例えば1つおきの画像フレームを比較する。
比較ユニット66が比較を行った結果、比較ユニット66は、アップデートバッファ内に記憶される前の画像と、ディスプレイ更新ユニット54の出力ピクセルビットストリーム内で符号化される現在の画像との間で、少なくとも1個のピクセルが変更されていることと、その他のピクセルは変更されていないことと決定することができる。例えば、比較的静止画像に近い画像では、少なくともいくつかのピクセルのカラー値は前後の画像フレーム間で変化しない。比較ユニット66は、アップデートバッファ58内の、比較ユニット66が変化したと決定したピクセル値を上書きし、変化していないと決定したアップデートバッファピクセル値は上書きしない(すなわち、放置する)。この上書き工程は、置換ピクセル値、もしくは新旧ピクセル値間の差分に等しい差分値を備えていてもよい。ピクセル毎に比較を実行し、アップデートバッファの少なくとも一部を上書きした結果、比較ユニット66、すなわちディスプレイ更新ユニット54は出力ピクセルビットストリームの複製を生成およびアップデートバッファ58内に記憶させる。代わりに、アップデートバッファ58は、送信装置のディスプレイ16上に現在表示されている画像を反映する。
様々な実施例において、差分バッファ60は各ピクセルに対応するビットを備え、各ピクセルのカラー値はアップデートバッファ58内に記憶される。比較ユニット66は差分バッファビットに、例えば、当該差分バッファビットに対応するピクセルは変化したことを示す値である「1」、もしくは対応するピクセルは変化していないことを示す値である「0」を与える。実施例によっては、差分バッファ60のコンテンツは当初は0であり、したがって比較ユニット66は所定のビット値を「1」に変更するだけで、当該ピクセルの色が変化したことを示すことが可能である(言い換えれば、色に変化がないことを示すためには、差分バッファに値「0」を与える必要がある)。実施例によっては、差分ビット値「0」は対応するピクセルが変化したことを示し、値「1」は対応するピクセルは変化していないことを示す。差分バッファ60内の全ビットの初期値は上述のように「0」に設定してもよく、もしくは「1」に設定してもよい。
実施例によっては、差分バッファ60内の各ビットはアップデートバッファ内の各ピクセルに対応する。実施例によっては、差分バッファ60内の各ビットはアップデートバッファ内のピクセルの集合体に対応する。例えば、各差分バッファビットは8×8ピクセルからなる集合体に対応していてもよい。ピクセルの集合体に対応する差分バッファビットは、集合体内に変化したピクセルがあるか否かを表す。
実施例によっては、アップデートバッファ58および差分バッファ60が更新されると、バッファ58、60のコンテンツの一部もしくは全部はシステムバス44を介してシステムメモリ17に書込まれる。様々な実施例において、図形サブシステム14は、差分バッファ60のコンテンツが示すように、実際に変化したピクセルのみに対応するピクセル値をシステムメモリ17に書込む。例えば、図形サブシステム14は差分バッファ60内のビットを解析し、アップデートバッファ58からのピクセル値のみを書き込み、このピクセル値は、対応するピクセルが変化したことを示すために比較ユニット66により書込まれた差分バッファビットに対応する。実施例によっては、アップデートバッファ58および差分バッファ60の全コンテンツがシステムメモリ17に書込まれ、送信装置のホストプロセッサ40はシステムメモリ内の差分バッファ60のコンテンツの複製を解析して、どのピクセルが変化したか決定する。ホストプロセッサ40は、プロセッサによる差分バッファのコンテンツの解析結果に基づいて、変化したピクセルのみを含む画像パケットを少なくとも1個生成する。様々な実施例において、ホストプロセッサ40はネットワーク25を介して受信装置に送信されるピクセルデータを圧縮する。
実施例によっては、送信装置のホストプロセッサは差分バッファ解析し、また隣接するブロックを結合して大きいブロックを作成、もしくは隣接するピクセルを結合して大きい矩形の領域を作成する。例えば、d(0,1)およびd(0,2)(dは差分バッファを表す)が変更された場合、d(0,1)およびd(0,2)に対応するピクセルは結合されて1個の大きい矩形を形成する。その後、この大きい領域はシステムメモリ内へ再度読出され、圧縮されて受信装置に送信される。したがって、相互に「接触」している(つまり隣接している)ピクセル領域は結合されて大きい領域に変化し、これにより、読出しに必要な工程数が減少する。読出しに必要な工程数が減少することにより、精度を向上させることができる。多数の小さい矩形を読出す代わりに、少ない数の大きい矩形を読出す。
様々な実施例において、受信装置30に送信される各ピクセル値はXY画面座標により符号化されて、当該ピクセルが適用される画面上の位置を受信装置の図形サブシステムに対して示す。実施例によっては、一連のピクセルは開始座標XおよびY、および続くピクセルの数を示す長さ値により符号化してもよい。更に、ピクセルのブロック(隣接するピクセルの矩形集合体等)は当該ブロックの対向する角(左上と右下等)の座標により符号化してもよい。また、実施例によっては、ピクセル毎に適用される以下の方法を備える。
struct Header
{
Byte isModified;
Color color;
}
上記においてisModifiedは、ピクセルが変更されたか否かを示すブール値であり、colorはRGB値、もしくはisModifiedが成立する場合任意で与えられるその他の色空間値である。
ブロック毎に適用される方法の例は、
struct Block
{
Byte isModified;
Color colors[8, 8];
}
であり、上記において、isModifiedはブロック内に変更されたピクセルがあるか否かを示すブール値であり、colorは二次元の8×8配列のカラー値である。この場合、ブロックサイズは8×8ピクセルであるが、その他のブロックサイズも可能である。その後、ブロック内のピクセルに変更されたものがある場合、ブロック全体が受信装置30に送信される。
したがって、送信装置に表示される画像を示すピクセルデータは、システムメモリ17からネットワーク25を介して受信装置30に供給される。送信されたピクセルデータは、上述したようにピクセルのカラー値に変化していないものがある場合、全画面もしくはウィンドウに相当するピクセル値より少ないピクセル値を備える。送信装置12は、ピクセル値をシステムメモリ17から、すなわち間接的にはアップデートバッファ58からネットワーク25を介して、遠く離れて配置された図形装置(受信装置30)に供給する。ネットワーク25を介して送信されるピクセルデータが圧縮されている場合、受信器36は当該データを解凍し、ディスプレイ34上に表示するピクセルデータを図形サブシステム32に供給する。上述した画像フレームを比較する工程および得られたアップデートバッファのコンテンツを送信する工程は自動的に繰返し実行され、これにより、受信装置のディスプレイ34が送信装置12が生成する画像により更新される。
図4は、様々な実施例による方法100を示す。方法100は、102ではピクセルデータをフレームバッファ内に記憶することを備える(例えば、フレームバッファ56等。)104では、方法は、ディスプレイ更新ユニット54によりフレームバッファからピクセルデータを読出すことを備える。上述したように、ディスプレイ更新ユニット54は、フレームバッファからのピクセルデータに任意の色変更(例えば、ガンマ等)を加えて、出力ピクセルビットストリームを生成(106)、およびディスプレイ16に適合する形式のビデオ信号(VGA、DVI等)を生成してもよい。108では、方法100は、第1のアップデートバッファ内にピクセル値を記憶することを備える。図3は、グラフィックメモリ52がアップデートバッファ58を1個のみ備える実施例を示すが、以下に説明するように、他の実施例においてはグラフィックメモリ52は複数のアップデートバッファ58を備える。第1のアップデートバッファ内に記憶されるピクセル値は、現在の画像を前の画像と比較する比較工程において決定される、変化したピクセル値を備える。110では、方法100は、ピクセル値を第1のアップデートバッファからネットワーク25を介して受信装置30に供給することを備える。様々な実施例において、アップデートバッファから供給されるピクセル値は、アップデートバッファのピクセルのうち少なくとも一部(例えば、差分バッファ60のコンテンツが示す、変化したピクセルのピクセル値のみ)を備える。したがって図4に示す工程110は、どのピクセルが変化したか決定することを備える。決定することは、自己のアップデートバッファ58および差分バッファ60のコンテンツを解析する図形サブシステム14、もしくは図形サブシステムのアップデートバッファ58および差分バッファ60のコンテンツもしくはシステムメモリ17内に記憶されるバッファの複製を解析する送信装置のホストプロセッサ40により実行してもよい。
図5は、図形サブシステム14のグラフィックメモリ52が複数のアップデートバッファ58および複数の差分バッファ60を備える実施例を示す。このような実施例のうち、実施例によっては、グラフィックメモリ17は2個のアップデートバッファ58および2個の差分バッファ60を備える。以下の説明においては、2個のアップデートバッファおよび2個の差分バッファは「Aアップデートバッファ」、「Bアップデートバッファ」、「A差分バッファ」、および「B差分バッファ」と呼称することとする。比較ユニット66は、ポストフレームバッファ・プロセッサ62から生成された出力ピクセルビットストリームを、(前の画像を含む)Aアップデートバッファのコンテンツと比較し、BアップデートバッファおよびB差分バッファの(それまでに反復して実行された比較工程の結果を含む)コンテンツの一部もしくは全部はネットワーク25を介して、また上述したように場合によってはシステムメモリ17を介して受信装置30に送信される。その後、Aアップデートバッファ58に対する現在の比較工程が完了すると、AおよびBアップデートバッファおよび差分バッファの役割は交換され、実施例によっては、AアップデートバッファおよびA差分バッファのコンテンツの複製がBアップデートバッファおよびB差分バッファに作成される。この時点において、比較工程は今度はBアップデートバッファ58およびB差分バッファ60を用いて繰返し実行される。BアップデートバッファおよびB差分バッファに対して比較が実行される際、AアップデートバッファおよびA差分バッファのコンテンツの一部もしくは全部はネットワーク25を介して上述の受信装置30に送信される。したがって、AおよびBの、アップデートバッファ58および差分バッファ60は前後で「ピンポン」のように使用される。上述のように複数のアップデートバッファおよび差分バッファを使用することは、一般的に、1個のアップデートバッファおよび1個の差分バッファのみを使用する場合に比べてより効果的である。
同様に、複数のアップデートバッファおよび差分バッファを使用する他の実施例が可能である。例えば、上述したようにAアップデートバッファ58およびA差分バッファ60をBアップデートバッファおよびB差分バッファに複製する代わりに、一方のアップデートバッファおよび差分バッファ対が「現在」として指定され、他方のアップデートバッファおよび差分バッファ対が「先行」として指定される。本実施例において、ディスプレイ更新ユニット54が生成する出力ピクセルビットストリームは「現在」のアップデートバッファ58内に書込まれる。ピクセルデータが「現在」のアップデートバッファ58内に書込まれる際、当該ピクセルデータは比較ユニット66により「先行」のアップデートバッファ58内の対応するピクセルデータと比較される。差分が検出された場合、「現在」の差分バッファ60は当該特定のピクセルもしくはピクセル領域について更新される。送信装置12が次の画像フレームを圧縮および受信装置30に送信できる状態になると、「先行」および「現在」のアップデートバッファ58および差分バッファ60の役割が交換される。少なくともいくつかの実施例においては、バッファの役割を交換する動作はディスプレイのリトレース時間に同期され、これにより、例えば画像の「割れ」を防止する。本実施例においては、「現在」の差分バッファ60は役割が交換される度に全消去される。実施例によっては、2個のバッファが設けられている場合、「現在」の差分バッファは常に更新されてもよい。前のフレームに対する比較動作は、最後の交換以降当該フレームに対して常に行われているため、その後差分バッファを更新することが可能である。
上述の説明は、本発明の原理および様々な実施例を示すことを意図するものとする。上述の記載を十分に理解すれば、当業者にとって様々な変形および変更は明らかとなる。以下の特許請求の範囲は、そのような変形および変更を含むものと理解されることとする。

Claims (10)

  1. ピクセルデータをフレームバッファ内に記憶し(102)、
    前記ピクセルデータを前記フレームバッファから読出し(104)、前記ピクセルデータの少なくとも1個のピクセル値を処理して出力ピクセルビットストリームを生成し、
    前記出力ピクセルビットストリームから派生したピクセル値を第1のアップデートバッファ内に記憶し(108)、
    前記ピクセル値を前記第1のアップデートバッファからネットワークを介して遠く離れて配置された図形装置に供給すること(110)とを含むことを特徴とする方法(100)。
  2. 前記出力ピクセルビットストリームを前記第1のアップデートバッファ内に既に記憶されたピクセル値と比較することをさらに含むことを特徴とする請求項1に記載の方法。
  3. ピクセル値を前記第1のアップデートバッファ内に記憶することは、前記比較に基づいて、前記第1のアップデートバッファ内に既に記憶されたピクセル値を上書きすることを含むことを特徴とする請求項2に記載の方法。
  4. 前記第1のアップデートバッファのコンテンツを第2のアップデートバッファに書込むことをさらに含むことを特徴とする請求項1に記載の方法。
  5. 前記第1のアップデートバッファのコンテンツをシステムメモリに書込むことを更に含むことを特徴とする請求項4に記載の方法。
  6. フレームバッファ(56)および第1のアップデートバッファ(58)を備える記憶装置(52)と、
    ピクセルデータを前記フレームバッファから読出し、前記ピクセルデータの少なくとも1個のピクセル値を処理して出力ピクセルビットストリームを生成し、また、前記出力ピクセルビットストリームの複製を前記第1のアップデートバッファに記憶させるディスプレイ更新ユニット(54)と、
    前記出力ピクセルビットストリームの前記複製を示すピクセル値をネットワークを介して受信装置に送信させるロジックとを備えることを特徴とする図形サブシステム(14)。
  7. 前記ディスプレイ更新ユニットは、前記出力ピクセルビットストリームを前記第1のアップデートバッファのコンテンツと比較することを特徴とする請求項6に記載の図形サブシステム。
  8. 前記ディスプレイ更新ユニットが、前記出力ピクセルビットストリーム内のピクセル値が前記第1のアップデートバッファのコンテンツと異なるか否かを示すデータを記憶するための差分バッファ(60)をさらに備えることを特徴とする請求項7に記載の図形サブシステム。
  9. 前記記憶装置は第2のアップデートバッファ(58)を更に備え、前記ディスプレイ更新ユニットは前記出力ピクセルビットストリームの複製を前記第2のアップデートバッファ内にも記憶させることを特徴とする請求項6に記載の図形サブシステム。
  10. 前記記憶装置は、各々が複数のピクセルに対応し、かつ前記対応するピクセルに変化したものがあるか否かを示す複数のビットを含む第1および第2の差分バッファ(60)を更に備えることを特徴とする請求項9に記載の図形サブシステム。
JP2010519192A 2007-07-31 2008-07-14 ピクセルをアップデートバッファから供給する方法 Pending JP2010535382A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/830,930 US7944451B2 (en) 2007-07-31 2007-07-31 Providing pixels from an update buffer
PCT/US2008/008624 WO2009017594A2 (en) 2007-07-31 2008-07-14 Providing pixels from an update buffer

Publications (1)

Publication Number Publication Date
JP2010535382A true JP2010535382A (ja) 2010-11-18

Family

ID=40305105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010519192A Pending JP2010535382A (ja) 2007-07-31 2008-07-14 ピクセルをアップデートバッファから供給する方法

Country Status (5)

Country Link
US (1) US7944451B2 (ja)
JP (1) JP2010535382A (ja)
CN (1) CN101796501B (ja)
GB (1) GB2464044B (ja)
WO (1) WO2009017594A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092020A (ja) * 2008-09-26 2010-04-22 Nvidia Corp ピクセル出力フォーマットを選択するためのシステム及び方法
KR20120058867A (ko) * 2010-11-30 2012-06-08 삼성전자주식회사 이기종 멀티코어 환경에서의 데이터 처리 방법 및 장치

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8902242B2 (en) 2009-04-23 2014-12-02 Vmware, Inc. Method and system for identifying drawing primitives for selective transmission to a remote display
US9406155B2 (en) * 2009-09-25 2016-08-02 Arm Limited Graphics processing systems
US9349156B2 (en) 2009-09-25 2016-05-24 Arm Limited Adaptive frame buffer compression
US8988443B2 (en) * 2009-09-25 2015-03-24 Arm Limited Methods of and apparatus for controlling the reading of arrays of data from memory
GB0916924D0 (en) * 2009-09-25 2009-11-11 Advanced Risc Mach Ltd Graphics processing systems
US20110134120A1 (en) * 2009-12-07 2011-06-09 Smart Technologies Ulc Method and computing device for capturing screen images and for identifying screen image changes using a gpu
GB201105716D0 (en) 2011-04-04 2011-05-18 Advanced Risc Mach Ltd Method of and apparatus for displaying windows on a display
US9472018B2 (en) * 2011-05-19 2016-10-18 Arm Limited Graphics processing systems
DE112011105532T5 (de) * 2011-08-15 2014-05-08 Mitsubishi Electric Corp. Zeichnungssteuervorrichtung
KR20140001726A (ko) * 2012-06-27 2014-01-07 한국전자통신연구원 화면 동기화 가능한 원격 제어 장치
US8902238B2 (en) * 2012-10-15 2014-12-02 Intel Corporation Parallel flood-fill techniques and architecture
US9129581B2 (en) * 2012-11-06 2015-09-08 Aspeed Technology Inc. Method and apparatus for displaying images
US9195426B2 (en) 2013-09-20 2015-11-24 Arm Limited Method and apparatus for generating an output surface from one or more input surfaces in data processing systems
US9182934B2 (en) 2013-09-20 2015-11-10 Arm Limited Method and apparatus for generating an output surface from one or more input surfaces in data processing systems
GB2524467B (en) 2014-02-07 2020-05-27 Advanced Risc Mach Ltd Method of and apparatus for generating an overdrive frame for a display
GB2528265B (en) 2014-07-15 2021-03-10 Advanced Risc Mach Ltd Method of and apparatus for generating an output frame
US9471956B2 (en) 2014-08-29 2016-10-18 Aspeed Technology Inc. Graphic remoting system with masked DMA and graphic processing method
US9466089B2 (en) 2014-10-07 2016-10-11 Aspeed Technology Inc. Apparatus and method for combining video frame and graphics frame
US9904665B2 (en) * 2014-10-15 2018-02-27 Qualcomm Innovation Center, Inc. Partial rasterization of web page tiles
CN106254865B (zh) 2015-06-08 2020-06-09 同济大学 一种图像编码及解码方法、图像处理设备
WO2016197893A1 (zh) * 2015-06-08 2016-12-15 同济大学 图像编码及解码方法、图像处理设备、计算机存储介质
GB2540562B (en) 2015-07-21 2019-09-04 Advanced Risc Mach Ltd Method of and apparatus for generating a signature representative of the content of an array of data
US9997141B2 (en) * 2016-09-13 2018-06-12 Omnivision Technologies, Inc. Display system and method supporting variable input rate and resolution

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0984021A (ja) * 1995-09-19 1997-03-28 Nec Corp 画像データ転送システム
JP2005223490A (ja) * 2004-02-04 2005-08-18 Fujitsu Ltd 画像処理装置及び画像処理方法
WO2005081440A1 (en) * 2004-02-17 2005-09-01 Avocent Corporation Network virtual computing devices and framework
JP2006133872A (ja) * 2004-11-02 2006-05-25 Canon Inc 情報処理装置及び情報処理方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5261072A (en) * 1991-10-31 1993-11-09 Tandy Corporation Compact disk data transfer system using cache memory
US5457477A (en) * 1994-02-02 1995-10-10 Industrial Technology Research Institute Image data processing system with false color suppression signal generator utilizing luminance and edge threshold suppression methods
US5831639A (en) * 1995-07-05 1998-11-03 Symantec Corporation Scanning display driver
US6233634B1 (en) * 1996-08-17 2001-05-15 Compaq Computer Corporation Server controller configured to snoop and receive a duplicative copy of display data presented to a video controller
US7274368B1 (en) * 2000-07-31 2007-09-25 Silicon Graphics, Inc. System method and computer program product for remote graphics processing
JP2004536472A (ja) * 2000-11-30 2004-12-02 シリコン、グラフィクス、インコーポレイテッド 視覚化セッションをキャプチャするためのシステム、方法、および、コンピュータプログラム
US20030058248A1 (en) * 2001-09-21 2003-03-27 Hochmuth Roland M. System and method for communicating graphics over a network
US7589737B2 (en) 2001-10-31 2009-09-15 Hewlett-Packard Development Company, L.P. System and method for communicating graphics image data over a communication network
US20030079919A1 (en) 2001-10-31 2003-05-01 Hochmuth Roland M. System and method for displaying an image on a network attachable display device
US20030234749A1 (en) 2002-06-20 2003-12-25 Johnny Marks System and method for communicating graphics image data over a communication network for display on a single logical screen
US7233335B2 (en) * 2003-04-21 2007-06-19 Nividia Corporation System and method for reserving and managing memory spaces in a memory resource
US7868890B2 (en) 2004-02-24 2011-01-11 Qualcomm Incorporated Display processor for a wireless device
KR20060072174A (ko) * 2004-12-22 2006-06-28 삼성전자주식회사 디스플레이 데이터 전송 장치 및 디스플레이 데이터 전송방법
KR20060099687A (ko) * 2005-03-14 2006-09-20 삼성전자주식회사 타임스탬프를 이용한 비디오 동기화 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0984021A (ja) * 1995-09-19 1997-03-28 Nec Corp 画像データ転送システム
JP2005223490A (ja) * 2004-02-04 2005-08-18 Fujitsu Ltd 画像処理装置及び画像処理方法
WO2005081440A1 (en) * 2004-02-17 2005-09-01 Avocent Corporation Network virtual computing devices and framework
JP2007529065A (ja) * 2004-02-17 2007-10-18 アボセント コーポレイション ネットワーク仮想コンピューティングデバイスおよびフレームワーク
JP2006133872A (ja) * 2004-11-02 2006-05-25 Canon Inc 情報処理装置及び情報処理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092020A (ja) * 2008-09-26 2010-04-22 Nvidia Corp ピクセル出力フォーマットを選択するためのシステム及び方法
KR20120058867A (ko) * 2010-11-30 2012-06-08 삼성전자주식회사 이기종 멀티코어 환경에서의 데이터 처리 방법 및 장치
KR101670958B1 (ko) 2010-11-30 2016-11-01 삼성전자주식회사 이기종 멀티코어 환경에서의 데이터 처리 방법 및 장치

Also Published As

Publication number Publication date
CN101796501B (zh) 2013-06-12
US7944451B2 (en) 2011-05-17
GB201001254D0 (en) 2010-03-10
US20090033670A1 (en) 2009-02-05
WO2009017594A2 (en) 2009-02-05
GB2464044A (en) 2010-04-07
WO2009017594A3 (en) 2009-03-19
GB2464044B (en) 2011-04-06
CN101796501A (zh) 2010-08-04

Similar Documents

Publication Publication Date Title
JP2010535382A (ja) ピクセルをアップデートバッファから供給する方法
US7589737B2 (en) System and method for communicating graphics image data over a communication network
JP4839322B2 (ja) アドレスベースのグラフィックスプロトコル
US8564501B2 (en) Image display system
US20040010622A1 (en) Method and system for buffering image updates in a remote application
WO2022252488A1 (zh) 一种图像压缩方法、装置、电子设备及可读存储介质
US9176935B2 (en) Image forming apparatus capable of displaying print preview on screen
GB2484736A (en) Connecting a display device via USB interface
US20130002521A1 (en) Screen relay device, screen relay system, and computer -readable storage medium
US8203565B2 (en) Device control using data communication
US20160005379A1 (en) Image Generation
GB2538797A (en) Managing display data
US20050206609A1 (en) Controller circuit of image display device, display device, and program and recording medium thereof
US20040008205A1 (en) Tagging single-color images for improved compression
US8675026B2 (en) Image processing apparatus, image processing method, and computer program storage medium
US20090033669A1 (en) System And Method For Communicating Graphics Image Data Over A Communication Network
US20090040573A1 (en) Image processing apparatus and image processing method
KR20150095051A (ko) 디스플레이 장치 및 디스플레이 장치의 이미지 업데이트 방법
CN107318021B (zh) 一种远程显示的数据处理方法及系统
US7046250B1 (en) Caching fonts for improved bandwidth of transmitted text
US9317891B2 (en) Systems and methods for hardware-accelerated key color extraction
CN107318020B (zh) 远程显示的数据处理方法及系统
US20090058874A1 (en) Image display device
JP5278048B2 (ja) 画像供給装置、画像供給システム、画像供給方法、及び画像供給用プログラム
TWI484472B (zh) 顯示影像之方法及裝置

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110715

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110715

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111122

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120221

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130423