(57)【要約】【課題】コンピュータなどのデバイスの画面をリモートディスプレイに効率良く表示する。【解決手段】デバイスの画面出力端子に接続され、デバイスから出力される画面表示用の画像データをディスプレイシステムに供給する画面出力コンバータ３００を提供する。バッファ３２０は、現在の画面の画像データをブロック単位でバッファリングする。更新検出部３３０は、現在の画面の各ブロックの画像データの誤り検出符号値を求めて以前の画面の対応するブロックの画像データの誤り検出符号値と比較することによって、各ブロックの画像データの更新の有無を検出する。画像符号化部３４０は、更新のあったブロックの画像データを圧縮符号化する。パケット送信部３５０は、更新のあったブロックの画像データを当該ブロックの識別情報とともにリモートディスプレイシステムに送信する。【選択図】図２
2010020159.tif 000002
【特許請求の範囲】
【請求項１】
デバイスの画面出力端子に接続され、前記デバイスから出力される画面表示用の画像データをリモートディスプレイシステムに供給する画面出力コンバータであって、
現在の画面の画像データをブロック単位でバッファリングするバッファと、
現在の画面の各ブロックの画像データの誤り検出符号値を求め、以前の画面の対応するブロックの画像データの誤り検出符号値と比較することによって、各ブロックの画像データの更新の有無を検出する更新検出部と、
更新のあったブロックの画像データを当該ブロックの識別情報とともに前記リモートディスプレイシステムに送信する送信部とを含むことを特徴とする画面出力コンバータ。
【請求項２】
前記リモートディスプレイシステムにおいて表示された画面に対してユーザが行った操作に関する情報を受信する受信部をさらに含み、
前記バッファは、ユーザが行った操作が前記デバイスにおいて実行された後、得られる画面の画像データを次の画面の画像データとしてバッファリングすることを特徴とする請求項１に記載の画面出力コンバータ。
【請求項３】
前記リモートディスプレイシステムに表示された画面に対してユーザが行うことが許可される操作は、前記デバイスにおいてユーザが行うことのできる操作に比べて、操作の対象または内容が制限されていることを特徴とする請求項２に記載の画面出力コンバータ。
【請求項４】
請求項１から３のいずれかに記載の画面出力コンバータを内蔵したことを特徴とするディスプレイ装置。
【請求項５】
デバイスの画面出力端子に接続された画面出力コンバータから画面表示用の画像データの供給を受けるディスプレイシステムであって、
前記画面出力コンバータから現在の画面の画像データをブロック単位でブロックの識別情報とともに受信する受信部と、
受信された画像データを復号し、ブロックの識別情報を参照して、対応するブロックの画像データを更新してバッファリングする復号部と、
バッファリングされた画像データを当該ディスプレイシステムの仕様に合わせて加工して画面に表示する表示制御部と、
当該ディスプレイシステムの画面に対するユーザの操作を受け付けるユーザインターフェース部と、
ユーザの操作に関する情報を前記画面出力コンバータまたは前記デバイスに送信する送信部とを含むことを特徴とするディスプレイシステム。
【請求項６】
当該ディスプレイシステムの画面に表示される画像から、ユーザが操作する操作対象を抽出する抽出部をさらに含み、
前記ユーザインターフェース部は、前記抽出部により画面から抽出された操作対象に対するユーザの操作を受け付けることを特徴とする請求項５に記載のディスプレイシステム。
【請求項７】
前記ユーザインターフェース部は、前記抽出部により画面から抽出された操作対象の内、ユーザによる操作が許可される操作対象を当該ディスプレイシステムで利用されるサービスの範囲に制限することを特徴とする請求項６に記載のディスプレイシステム。
【請求項８】
前記ユーザインターフェース部は、ユーザが操作するポインティングデバイスのポイント先を前記抽出部により画面から抽出された操作対象に誘導するナビゲーション機能を提供することを特徴とする請求項６または７に記載のディスプレイシステム。
【請求項９】
前記ユーザインターフェース部は、前記抽出部により画面から抽出された操作対象に対する特定の操作を実行するための自動操縦機能を提供することを特徴とする請求項６または７に記載のディスプレイシステム。
【請求項１０】
前記表示制御部は、ユーザが操作するポインティングデバイスのポイント先の周辺の画像を拡大して表示することを特徴とする請求項５から９のいずれかに記載のディスプレイシステム。
【請求項１１】
前記表示制御部は、当該ディスプレイシステムの画面のアスペクト比が前記デバイスで通常想定される画面のアスペクト比と異なる場合、当該ディスプレイシステムの画面に生じる余白領域に、ユーザが操作するポインティングデバイスのポイント先の周辺の画像を拡大して表示することを特徴とする請求項５から９のいずれかに記載のディスプレイシステム。
【請求項１２】
前記表示制御部は、当該ディスプレイシステムの画面のアスペクト比が前記デバイスで通常想定される画面のアスペクト比と異なる場合、当該ディスプレイシステムの画面に生じる余白領域に、ユーザの操作対象に関する操作方法のガイダンス情報を表示することを特徴とする請求項５から９のいずれかに記載のディスプレイシステム。
【請求項１３】
デバイスから出力される画面表示用の画像データをリモートディスプレイシステムに供給するための変換を行うプログラムであって、
現在の画面の画像データをブロック単位でバッファリングする機能と、
現在の画面の各ブロックの画像データの誤り検出符号値を求め、以前の画面の対応するブロックの画像データの誤り検出符号値と比較することによって、各ブロックの画像データの更新の有無を検出する機能と、
更新のあったブロックの画像データを圧縮符号化する機能と、
更新のあったブロックの圧縮符号化された画像データを当該ブロックの識別情報とともに前記リモートディスプレイシステムに送信する機能とをコンピュータに実現させることを特徴とするプログラム。
【請求項１４】
デバイスから出力される画面表示用の画像データをネットワークを介してリモートディスプレイシステムに供給して表示させる画面表示方法であって、
現在の画面の画像データをブロック単位でバッファリングするステップと、
現在の画面の各ブロックの画像データの誤り検出符号値を求め、以前の画面の対応するブロックの画像データの誤り検出符号値と比較することによって、各ブロックの画像データの更新の有無を検出するステップと、
更新のあったブロックの画像データを圧縮符号化するステップと、
更新のあったブロックの圧縮符号化された画像データを当該ブロックの識別情報とともに前記リモートディスプレイシステムに送信するステップとを含むことを特徴とする画面表示方法。
【請求項１５】
受信された画像データを復号してブロック単位でバッファリングするステップと、
前記リモートディスプレイシステムの仕様に合わせてバッファリングされた画像データを加工して画面に表示するステップと、
前記リモートディスプレイシステムの画面に対してユーザインターフェースを介してなされたユーザの操作に関する情報を前記デバイスに提供するステップと、
前記デバイスにおいて前記ユーザの操作を実行し、その結果得られる画面の画像データをブロック単位でバッファリングするステップとをさらに含むことを特徴とする請求項１４に記載の画面表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンピュータから出力される画面表示用の画像データを変換するための画面出力コンバータ、その画面出力コンバータを内蔵したディスプレイ装置、および画面表示用の画像データの供給を受けて画面に表示するディスプレイシステムに関する。
【背景技術】
【０００２】
コンピュータネットワークは一般家庭にも普及しており、各部屋のコンピュータを無線ＬＡＮで互いに接続したり、プリンタを共有することが普通に行われている。また、デジタルカメラで撮影した写真やインターネットからダウンロードした映像を家族で見るために、コンピュータに保存した静止画や動画をリビングルームにあるゲーム機やテレビジョン（ＴＶ）システムの画面に手軽に表示させたいというニーズも高まっている。
【０００３】
そのため、ゲーム機やＴＶシステムもコンピュータネットワークに接続し、コンピュータの画面をコンピュータに直接接続されたＰＣモニタではなく、ネットワークに接続されたゲーム機やＴＶシステムのディスプレイに表示する機能が求められるようになってきている。
【０００４】
遠隔地にあるコンピュータのデスクトップ画面をネットワークに接続された別のコンピュータ上の画面に仮想的に表示し、その仮想デスクトップ画面上での操作を特定のプロトコルでネットワークを介して遠隔地にあるコンピュータに送信することにより、遠隔地のコンピュータを遠隔操作する「リモートデスクトップ」と呼ばれるサービスも利用されている。
【特許文献１】米国特許出願公開第２００７／０２０，２９５６号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
遠隔地にあるコンピュータのデスクトップ画面を別のコンピュータの画面に表示して、デスクトップ画面上で遠隔操作するためには、遠隔地のコンピュータと同一または互換性のあるオペレーティングシステム（ＯＳ）を用いて、同一のデスクトップ環境を操作側のコンピュータ上に実現する必要があり、ＯＳの支援が必要不可欠であり、「リモートデスクトップ」のサービスは必然的にＯＳに依存するものとなってしまう。また、ＯＳの支援を前提とするため、デスクトップ画面の画像データをメインメモリに保持しておく必要があり、メインメモリを圧迫する。
【０００６】
コンピュータのディスプレイ画面をＴＶシステムなどの他のディスプレイシステムの画面に効率良く表示することのできる「リモートディスプレイ」とでも呼ぶべき技術が求められている。
【０００７】
本発明はこうした課題に鑑みてなされたものであり、その目的は、コンピュータなどの画面表示データをリモートディスプレイシステムの画面に効率良く表示し、その画面に対して遠隔操作する技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある態様の画面出力コンバータは、デバイスの画面出力端子に接続され、前記デバイスから出力される画面表示用の画像データをリモートディスプレイシステムに供給する。この画面出力コンバータは、現在の画面の画像データをブロック単位でバッファリングするバッファと、現在の画面の各ブロックの画像データの誤り検出符号値を求め、以前の画面の対応するブロックの画像データの誤り検出符号値と比較することによって、各ブロックの画像データの更新の有無を検出する更新検出部と、更新のあったブロックの画像データを当該ブロックの識別情報とともに前記リモートディスプレイシステムに送信する送信部とを含む。
【０００９】
本発明の別の態様は、上記の態様の画面出力コンバータを内蔵したディスプレイ装置である。
【００１０】
本発明のさらに別の態様は、デバイスの画面出力端子に接続された画面出力コンバータから画面表示用の画像データの供給を受けるディスプレイシステムである。このディスプレイシステムは、前記画面出力コンバータから現在の画面の画像データをブロック単位でブロックの識別情報とともに受信する受信部と、受信された画像データを復号し、ブロックの識別情報を参照して、対応するブロックの画像データを更新してバッファリングする復号部と、バッファリングされた画像データを当該ディスプレイシステムの仕様に合わせて加工して画面に表示する表示制御部と、当該ディスプレイシステムの画面に対するユーザの操作を受け付けるユーザインターフェース部と、ユーザの操作に関する情報を前記画像出力コンバータまたは前記デバイスに送信する送信部とを含む。
【００１１】
本発明のさらに別の態様は、画面表示方法である。この方法は、デバイスから出力される画面表示用の画像データをネットワークを介してディスプレイシステムに供給して表示させる画面表示方法であって、現在の画面の画像データをブロック単位でバッファリングするステップと、現在の画面の各ブロックの画像データの誤り検出符号値を求めて以前の画面の対応するブロックの画像データの誤り検出符号値と比較することによって、各ブロックの画像データの更新の有無を検出するステップと、更新のあったブロックの画像データを圧縮符号化するステップと、更新のあったブロックの圧縮符号化された画像データを当該ブロックの識別情報とともに前記ディスプレイシステムに送信するステップとを含む。
【００１２】
本発明のさらに別の態様は、デバイスから出力される画面表示用の画像データをディスプレイシステムに供給するための変換を行うプログラムである。このプログラムは、現在の画面の画像データをブロック単位でバッファリングする機能と、現在の画面の各ブロックの画像データの誤り検出符号値を求めて以前の画面の対応するブロックの画像データの誤り検出符号値と比較することによって、各ブロックの画像データの更新の有無を検出する機能と、更新のあったブロックの画像データを圧縮符号化する機能と、更新のあったブロックの圧縮符号化された画像データを当該ブロックの識別情報とともに前記ディスプレイシステムに送信する機能とをコンピュータに実現させる。
【００１３】
このプログラムは、オペレーティングシステムに組み込まれる基本ソフトウエアもしくはライブラリの一部として提供されてもよい。このようなファームウエア、基本ソフトウエアまたはライブラリを提供するため、あるいはこれらの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【００１４】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１５】
本発明によれば、コンピュータなどの画面表示データをリモートディスプレイシステムの画面に効率良く表示し、その画面に対して遠隔操作する技術を提供することができる。
【発明を実施するための最良の形態】
【００１６】
実施の形態１
図１は、実施の形態１に係る画面表示システムの全体構成図である。本システムでは、パーソナルコンピュータ（ＰＣ）２００が出力する画面を、ＰＣ２００に直接接続された通常のＰＣディスプレイ１００に表示する代わりに、あるいはＰＣディスプレイ１００に表示するとともに、ギガビット・イーサネット（登録商標）などのネットワーク９００に接続された他のディスプレイシステムのリモートディスプレイ、ここではゲーム機４００のＨＤＴＶ（High Definition Televison）６００に表示する。
【００１７】
ＰＣ２００には、キーボード２９０などの入力デバイスとＰＣディスプレイ１００が接続されている。また、ＰＣ２００はネットワーク９００に接続されており、ゲーム機４００などと通信可能である。
【００１８】
ＰＣ２００はデジタルビデオ信号をビデオ信号出力端子２０２から出力する。ビデオ信号出力端子２０２はビデオ信号スプリッタ２１０に接続されている。ビデオ信号スプリッタ２１０は、ＰＣ２００から出力されたデジタルビデオ信号をＰＣディスプレイ１００および画面出力コンバータ３００に分岐させ、それぞれに入力する。
【００１９】
ＰＣディスプレイ１００のビデオ信号入力部１１０は、ビデオ信号スプリッタ２１０から出力されたビデオ信号を受け取り、ピクセルデータに復調して表示回路１２０に供給する。表示回路１２０は、ピクセルデータを画面に表示する。
【００２０】
画面出力コンバータ３００は、ビデオ信号スプリッタ２１０から出力されたビデオ信号を受け取り、ピクセルデータを符号化し、ネットワーク９００に伝送できるパケット形式に変換して画面出力ディスプレイシステム５００に送信する。また、画面出力コンバータ３００は画面出力ディスプレイシステム５００からグラフィカルユーザインタフェース（ＧＵＩ）のデータを受信し、それをもとにキーボード／マウスのコマンドをエミュレートしてＵＳＢ（Universal Serial Bus）信号に変換し、ＰＣ２００のＵＳＢ信号入力端子２０４に供給する。また、画面出力コンバータ３００は、画面出力ディスプレイシステム５００からキャラクタベースのコマンドのデータを受信し、それをもとにＵＳＢ信号に変換し、ＰＣ２００のＵＳＢ信号入力端子２０４に供給する。
【００２１】
ゲーム機４００は、画面出力ディスプレイシステム５００を内蔵し、ネットワーク９００を介して、画面出力コンバータ３００やＰＣ２００と通信可能である。
【００２２】
画面出力ディスプレイシステム５００は、画面出力コンバータ３００からパケット化されたビデオデータを受信し、復号してピクセルデータを取得し、ＨＤＴＶ６００に表示する。
【００２３】
図２は、画面出力コンバータ３００の構成図である。ビデオ信号入力部３１０は、ビデオ信号スプリッタ２１０からビデオ信号を受け取り、復調し、現在のフレームの画面のピクセルデータを取得する。たとえば、映像出力インタフェースとしてＤＶＩ（Digital Visual Interface）規格が用いられた場合、ビデオ信号入力部３１０はＤＶＩレシーバに相当する機能をもつ。
【００２４】
ビデオ信号入力部３１０は、取得したピクセルデータをバッファ３２０に格納する。バッファ３２０は、画面のスキャンブロック単位で区分けされたメモリ領域を有し、各ブロックの画像データは、対応するブロックのメモリ領域に格納される。
【００２５】
更新検出部３３０は、各ブロックの画像データの誤り検出符号値を求め、一つ前のフレームの画面の対応するブロックの画像データの誤り検出符号値と比較することによって、各ブロックの画像データの更新の有無を検出する。
【００２６】
画像符号化部３４０は、更新検出部３３０から更新のあったブロックの番号の通知を受け取り、更新のあったブロックの画像データをバッファ３２０の対応するメモリ領域から読み出し、そのブロックの画像データを圧縮符号化する。
【００２７】
パケット送信部３５０は、更新のあったブロックの圧縮符号化された画像データに当該ブロックの識別情報をタグとして付加した上で、ネットワーク９００を介して画面出力ディスプレイシステム５００に送信する。
【００２８】
なお、上記の説明では、更新検出部３３０が、圧縮符号化する前の各ブロックの画像データについて誤り検出符号値を求め、更新の有無を検出したが、画像符号化部３４０により圧縮符号化した後の各ブロックの画像データについて誤り検出符号値を求め、更新の有無を検出してもよい。もっとも、前者の方法であれば、更新されなかったブロックについては圧縮符号化する手間を省ける点、効率的である。
【００２９】
ＧＵＩデータ受信部３６０は、ネットワーク９００を介して画面出力ディスプレイシステム５００から送信されたＧＵＩデータを受信する。ＧＵＩデータは、リモートディスプレイ画面に表示されたウインドウやアイコンなどに対してＧＵＩを介してなされた操作コマンドなどを含む。
【００３０】
キーボード／マウスエミュレータ３７０は、ＧＵＩデータ受信部３６０が受信したＧＵＩデータにもとづいてキーボードやマウスの操作をエミュレーションすることにより、当該操作を行った場合に生成される信号を生成する。キーボード／マウスエミュレータ３７０は、生成した信号をＰＣ２００のＵＳＢ信号入力端子２０４に入力する。これにより、ＰＣ２００において、あたかもＰＣ２００に接続されたキーボードやマウスなどの入力デバイスを使って当該操作がなされたのと同じ効果がもたらされる。ＰＣ２００は当該操作を実行し、画面データを更新して出力する。
【００３１】
上記の説明では、画面出力ディスプレイシステム５００から受信されたＧＵＩデータにもとづいてキーボードやマウスの操作をエミュレーションしてＰＣ２００に与えたが、画面出力ディスプレイシステム５００からキャラクタベースのコマンドを受信する場合は、受信されたコマンドをそのままＰＣ２００に与えてもよい。
【００３２】
本実施の形態の画面出力コンバータ３００は、各機能構成をハードウエアで構成し、ワンチップ化することが好ましい。
【００３３】
図３は、画面出力ディスプレイシステム５００の構成図である。パケット受信部５４０は、ネットワーク９００を介して画面出力コンバータ３００からパケット化された画面の画像データを受信する。画像復号部５３０は、受信された画像データを復号し、復号された画像データをバッファ５２０にバッファリングする。
【００３４】
バッファ５２０は、画面のブロック単位で画像データを保持できるようにメモリ領域が区分けされている。画像復号部５３０が、画像データにタグとして付加されたブロックの識別情報をもとに、対応するブロックの画像データを格納することにより、更新のあったブロックの画像データが書き換えられる。
【００３５】
表示制御部５１０は、バッファ５２０に格納された画像データをＨＤＴＶ６００の画面に表示する。これにより、ＰＣ２００の画面がＨＤＴＶ６００の画面に再構成される。表示制御部５１０は、ＨＤＴＶ６００の仕様に合わせて、バッファ５２０に格納された画像データを適宜加工する。たとえば、ＨＤＴＶ６００に解像度に合わせて拡大・縮小、クリッピング、フィルタ処理、エフェクト加工などを実行する。
【００３６】
ＧＵＩ５５０は、ＨＤＴＶ６００の画面に対してユーザがゲーム機４００の入力デバイスを用いて各種の操作を行うことができるように、グラフィカルユーザインタフェースの機能を提供する。
【００３７】
ここで、ゲーム機４００は、ＰＣ２００の画面を自ら生成したのではないため、ＨＤＴＶ６００の画面にどのようなウインドウやアイコンが表示されているかをシステムとしては把握していない。そこで、操作対象抽出部５７０は、ＨＤＴＶ６００に再構成された画面の画像からウインドウやアイコンなどの操作対象を抽出し、ＧＵＩ５５０に操作対象のウインドウやアイコンなどの位置を通知する。ＧＵＩ５５０は、画像から抽出された操作対象に対してユーザが操作を行えるようにインタフェースを提供し、操作対象に対するユーザの操作内容を示すＧＵＩデータを生成する。
【００３８】
具体的には、操作対象抽出部５７０は、アイコンの形状や文字列などの情報にもとづいて、抽出された操作対象の種類を特定し、その操作対象に対して実行できるコマンドを把握する。たとえば、操作対象がワードプロセッサのアプリケーションで作成されたファイルであれば、ファイルのオープンのコマンドが操作内容の一つとして特定される。ＧＵＩ５５０は、ユーザが操作対象のファイルの位置でクリックする操作を行うと、対象ファイルをオープンするためのＧＵＩコマンドを生成する。
【００３９】
画像から抽出された操作対象が映像ファイルであれば、映像ファイルの再生コマンドが操作内容の一つとして特定される。ＧＵＩ５５０は、ユーザが操作対象の映像ファイルの位置でクリックする操作を行うと、対象ファイルを再生するためのＧＵＩコマンドが生成される。
【００４０】
ＧＵＩ５５０は生成されたＧＵＩデータをＧＵＩデータ送信部５６０に与える。ＧＵＩデータ送信部５６０は、ＧＵＩデータをネットワーク９００経由で画面出力コンバータ３００に送信する。これにより、画面出力コンバータ３００はリモートディスプレイ画面の操作対象に対してなされたユーザの操作内容をエミュレートしてＰＣ２００に供給することができ、ＰＣ２００はユーザの操作内容を実行して画面を更新できる。
【００４１】
上記の説明では、ユーザがグラフィカルユーザインタフェースを介して行った操作に関するデータを画面出力コンバータ３００に送信したが、ユーザがリモートディスプレイ画面に対して行うことのできる操作は、グラフィカルユーザインタフェースを介したものに限られない。たとえば、キーボードの特定のキーを操作することで、ファイルをオープンするコマンドの実行を指示することもできる。その場合、画面出力ディスプレイシステム５００は、コマンド生成部を有し、コマンド生成部が、キャラクタベースのコマンドを生成し、画面出力コンバータ３００に送信する。画面出力コンバータ３００は、画面出力ディスプレイシステム５００から受信したコマンドをＰＣ２００に与える。
【００４２】
たとえば、ユーザがキーボードのファンクションキーと文字「Ｏ」を同時に押した場合、コマンド生成部は、ファイルをオープンするコマンドを生成し、画面出力コンバータ３００に送信する。画面出力コンバータ３００は、受信したファイルオープンコマンドをＰＣ２００に供給する。ＰＣ２００はファイルオープンコマンドを実行して画面を更新する。
【００４３】
図４は、画面出力コンバータ３００から画面出力ディスプレイシステム５００への画面の画像データの供給処理を説明する図である。
【００４４】
まず、送信側である画面出力コンバータ３００の動作を説明する。ＰＣ２００の画面１０は、スキャンブロックによってｎ個のブロックに分けられる。バッファ３２０も画面１０のスキャンブロックに対応してｎ個のバッファメモリに区分けされる。各ブロックのピクセルデータは、バッファ３２０の対応するバッファメモリに格納される。すなわち、ブロック１の画像データはバッファメモリ１に、ブロック２の画像データはバッファメモリ２に、ブロックｎの画像データはバッファメモリｎに格納される。
【００４５】
画面出力コンバータ３００の更新検出部３３０は、ＣＲＣ算出部３３２、ＣＲＣ保持部３３４、および比較部３３６を含む。ＣＲＣ算出部３３２は、各ブロックの画像データについて誤り検出符号の一種である巡回冗長検査（ＣＲＣ:Cyclic Redundancy Check）を実行し、ＣＲＣ値を算出する。
【００４６】
ＣＲＣ保持部３３４は、一つ前のフレームの各ブロックのＣＲＣ値を保持する。比較部３３６は、ＣＲＣ算出部３３２により算出された、現フレームの各ブロックの画像データのＣＲＣ値と、ＣＲＣ保持部３３４に保持された一つ前のフレームの各ブロックのＣＲＣ値とを比較する。ＣＲＣ値が一致しないブロックは画像が更新されている。比較部３３６は、ＣＲＣ値が一致しないブロックの識別番号を画像符号化部３４０に通知する。
【００４７】
比較部３３６による各ブロックのＣＲＣ値の比較が終わると、ＣＲＣ算出部３３２は、現フレームの各ブロックのＣＲＣ値をＣＲＣ保持部３３４に書き込み、各ブロックのＣＲＣ値を更新する。
【００４８】
画像符号化部３４０は、比較部３３６から通知されたブロックの識別番号にもとづいて、現フレームで更新されたブロックの画像データを対応するバッファメモリから読み出し、圧縮符号化する。画像符号化部３４０は、圧縮符号化された画像データに当該ブロックの識別情報をタグとして付加する。パケット送信部３５０は、更新されたブロックの圧縮符号化された画像データをパケット化して画面出力ディスプレイシステム５００に送信する。これにより、更新のあったブロックの画像データだけが圧縮符号化されて送信される。
【００４９】
次に、受信側である画面出力ディスプレイシステム５００の動作を説明する。パケット受信部５４０は、画面出力コンバータ３００から、更新のあったブロックの圧縮符号化された画像データを受信する。画像復号部５３０は、画像データを復号してバッファ５２０に格納する。
【００５０】
バッファ５２０は、ＨＤＴＶ６００の画面のスキャンブロック単位で区分けされたバッファメモリを有し、各ブロックの画像データを保持する。画像復号部５３０は、画像データにタグとして付加されたブロックの識別情報を参照して、当該ブロックに対応するバッファメモリに復号後の画像データを格納する。表示制御部５１０はバッファ５２０に格納された画像データをＨＤＴＶ６００の画面１０００に表示する。これにより、ＰＣ２００において画面１０のいずれかのブロックの画像が更新されると、ＨＤＴＶ６００の画面１０００の対応するブロックの画像も更新される。
【００５１】
上記の説明では、バッファ５２０に格納された画像データがそのまま画面１０００に表示されたが、バッファ５２０に格納された画像データをテクスチャとして用いて、テクスチャを拡大、縮小、エフェクトなどの加工を施した上で画面１０００内に表示してもよい。たとえば、ＰＣ２００の画面１０に表示されたウインドウの画面をテクスチャとして切り出し、立体的に見えるように加工した上で画面１０００に表示したり、ウインドウの開閉時には、ウインドウが大きくなったり、小さくなったりするように見せてもよい。
【００５２】
ここで、ＰＣ２００の画面１０に複数のウインドウが重なって表示されている場合、ウインドウのテクスチャ画像を個別に切り出すことができない。そこで、画面出力ディスプレイシステム５００側で各ウインドウのテクスチャを画像認識によって抽出できるように、たとえば、ＰＣ２００側で画面１０に複数のウインドウが重複せずに上下左右に並べて表示されるモードに切り替える操作を行う必要がある。そのため、画面出力ディスプレイシステム５００は、マルチウインドウを並べて表示するモードに切り替えるためのコマンドを生成し、画面出力コンバータ３００に送信する。画面出力コンバータ３００はそのコマンドをＰＣ２００に与える。ＰＣ２００の画面１０では、自動的にウインドウの並列表示モードに切り替わる。
【００５３】
別の方法として、ＰＣ２００側で画面１０に複数のウインドウを全部表示するのではなく、ウインドウを一つずつ順番に表示し、画面出力ディスプレイシステム５００側で、各ウインドウのテクスチャを取得することができるようにしてもよい。そのため、画面出力ディスプレイシステム５００は、複数のウインドウをいったんすべて閉じた後、一つずつ順番に開閉するコマンドを生成し、画面出力コンバータ３００に送信する。画面出力コンバータ３００はそのコマンドをＰＣ２００に与える。ＰＣ２００の画面１０では、自動的にウインドウが一つずつ順番に開閉する。
【００５４】
ウインドウのテクスチャの取得を目的としてなされるウインドウシステムの遠隔操作は、ユーザに見せる必要はない。画面出力ディスプレイシステム５００または画面出力コンバータ３００がバックグラウンドでウインドウ操作のコマンドを生成してＰＣ２００に与え、画面出力ディスプレイシステム５００側で必要なウインドウの画像データだけを取得してメモリに保持すればよい。ウインドウのテクスチャを画像認識で抽出しやすいようにウインドウをコントロールするが、その操作過程はユーザに見せない。ＰＣ２００の画面１０上では操作過程が見えるが、ＨＤＴＶ６００の画面１０００は、その間、何も変化しない。ＨＤＴＶ６００の画面１０００上では、取得できたウインドウのテクスチャを自由に加工して表示することができ、ＰＣ２００の画面１０と連動する必要はない。
【００５５】
実施の形態２
図５は、実施の形態２に係る画面表示システムの全体構成図である。本システムの伝送機能付きＰＣディスプレイ１０２は、実施の形態１のビデオ信号スプリッタ２１０と画面出力コンバータ３００を内蔵する。
【００５６】
ＰＣ２００のビデオ信号出力端子２０２は、伝送機能付きＰＣディスプレイ１０２のビデオ信号入力端子に直接接続する。伝送機能付きＰＣディスプレイ１０２のビデオ信号スプリッタ２１０は、ＰＣ２００のビデオ信号出力端子２０２から出力されるビデオ信号をビデオ信号入力部１１０と画面出力コンバータ３００に分岐させ、それぞれに入力する。
【００５７】
ビデオ信号入力部１１０および表示回路１２０の動作は実施の形態１と同じである。画面出力コンバータ３００の機能構成および動作は実施の形態１と同じである。
【００５８】
高機能ＴＶシステム６０２は、実施の形態１の画面出力ディスプレイシステム５００を内蔵するテレビジョンシステムである。たとえば、高機能ＴＶシステム６０２は、マルチプロセッサシステムを内蔵しており、マルチプロセッサが画面出力ディスプレイシステム５００の画像復号機能や表示制御機能をソフトウエアで実行する。
【００５９】
実施の形態３
図６は、実施の形態３に係る画面表示システムの全体構成図である。本システムでは、マルチプロセッサシステム２２０が画面出力コンバータ３００の各機能をソフトウエアで実行する。
【００６０】
マルチプロセッサシステム２２０は、一例として二つ以上のプロセッサコアを一つのパッケージに集積したマルチコアプロセッサであり、メインプロセッサ２３０、複数のサブプロセッサ２６０、共有メモリ２７０、および通信インタフェース２８０を有する。
【００６１】
一つのサブプロセッサ２６０に画面出力コンバータ３００の機能をソフトウエアで実行させる。ビデオ信号出力端子２０２から出力されるビデオ信号は、ビデオ信号スプリッタ２１０によってＰＣディスプレイ１００のビデオ信号入力部１１０と画面出力コンバータ３００に分岐され、それぞれに入力される。画面出力コンバータ３００の構成と動作は実施の形態１と同様であり、画面の画像データが圧縮符号化された後、パケット化され通信インタフェース２８０を介して携帯端末８００に送信される。
【００６２】
ネットワーク９００には無線ＬＡＮ（ＷＬＡＮ）７００が接続されており、携帯端末８００はＷＬＡＮ７００を介してマルチプロセッサシステム２２０から画面の画像データを受信する。携帯端末８００は、受信した画像データを復号し、携帯端末８００の画面に表示するとともに、ＧＵＩを介して画面の操作対象をユーザに操作させ、ＧＵＩデータをマルチプロセッサシステム２２０に送り返す。
【００６３】
図７は、実施の形態１のＨＤＴＶ６００、実施の形態２の高機能ＴＶシステム６０２、実施の形態３の携帯端末８００の各リモートディスプレイの画面１０００を説明する図である。この画面例は、マルチウインドウシステムのデスクトップ画面であり、ワードプロセッサのアプリケーションのウインドウ１００２、フォルダの内容を閲覧するためのウインドウ１００４、カレンダ１００６、各種アイコン１００８などが表示されている。
【００６４】
カーソル１０１０は、実施の形態１ではゲーム機４００のゲームコントローラで操作され、実施の形態２では高機能ＴＶシステム６０２のリモートコントローラで操作され、実施の形態３では携帯端末８００のキーやボタン等で操作される。いずれの実施の形態でもカーソル１０１０の移動、クリックなどの操作をポインティングデバイス等を用いてユーザが行うことができるようにＧＵＩが提供されている。
【００６５】
図８は、リモートディスプレイ画面１０００における操作例を説明する図である。ユーザが入力デバイスで特定のキーを押すなどの操作を行うと、カーソル１０１０周辺の画像がクリッピングされ、画面内に拡大表示される。
【００６６】
図９は、リモートディスプレイ画面１０００における別の操作例を説明する図である。リモートディスプレイ画面１０００には、ユーザの操作対象となるウインドウ、アイコン、ボタンなどがある。しかし、これらの操作対象は、送信側のＰＣ２００のウインドウシステムなどの基本ソフトウエアが管理しているものであり、受信側のゲーム機４００、高機能ＴＶシステム６０２、携帯端末８００などが把握しているものではない。そこで、受信側の画面出力ディスプレイシステム５００のＧＵＩ５５０は、まず、画像処理によってリモートディスプレイ画面１０００に表示されているウインドウ、アイコン、ボタンなどの操作対象を抽出する。
【００６７】
これにより、ワードプロセッサのアプリケーションのウインドウ１０４０が操作対象として特定され、さらにウインドウ１０４０内の操作対象として、ファイル、編集、表示、フォント、ツールなどのメニュー（符号１０５０、１０５２、１０５４、１０５６、１０５８）が特定される。ＧＵＩ５５０は、ウインドウ１０４０に対してウインドウの位置やサイズを変更するＧＵＩ操作をユーザが行えるようにインタフェースを提供し、ユーザが行ったウインドウ１０４０に対する操作内容を示すＧＵＩデータを生成する。また、ユーザがウインドウ１０４０の各メニューの位置にカーソル１０１０を移動してクリックすると、ＧＵＩ５５０は、その位置でのクリック操作を示すＧＵＩデータを生成する。
【００６８】
生成されたＧＵＩデータはＧＵＩデータ送信部５６０によって画面出力コンバータ３００に送信される。ＰＣ２００側では、ウインドウシステムにおいてウインドウ１０４０の位置やサイズを変更するイベントや、メニューを選択するイベントが発生し、ウインドウ１０４０の画像が更新される。画面出力コンバータ３００はＰＣ画面の更新データを送信し、受信側のリモートディスプレイ画面１０００が更新される。
【００６９】
同様に、フォルダを閲覧するウインドウ１０４２が操作対象として特定され、さらにそのウインドウ１０４２内に表示されているドキュメントファイルＡ（符号１０３０）、システムファイルＢ（符号１０３２）、フォルダＣ（符号１０３４）、フォルダＤ（符号１０３６）、および映像ファイル（符号１０３８）が操作対象として特定される。
【００７０】
ユーザがドキュメントファイルＡの位置にカーソル１０１０を移動させてダブルクリックする操作を行うと、その操作内容を示すＧＵＩデータを生成され、画面出力コンバータ３００に送信される。ＰＣ２００のウインドウシステムにおいてドキュメントファイルＡをオープンするイベントが発生し、画面データが更新され、更新結果が受信側のリモートディスプレイ画面１０００に反映される。
【００７１】
システムファイルＢはＰＣ２００では管理上の必要に応じて操作することがあるが、当該リモートディスプレイシステム上では操作する必要のないファイルであるため、リモートディスプレイシステム上では操作対象から外される。
【００７２】
画面出力ディスプレイシステム５００の操作対象抽出部５７０は、リモートディスプレイ画面１０００の画像から操作対象を抽出したとき、アイコンの形状やファイル名の拡張子の文字列などの情報にもとづいて、ファイルの種別を判定する。ＧＵＩ５５０は、ファイルの種別に応じて、ユーザによる操作を許可する操作対象を制限する。たとえば、アプリケーションファイルであれば、操作対象とするが、システムファイルであれば、操作対象から外す。このようにして、ＧＵＩ５５０は、操作対象抽出部５７０により抽出された操作対象の内、ユーザによる操作が許可される操作対象を当該リモートディスプレイシステムで利用されるサービスの範囲に制限することができる。
【００７３】
カレンダー１０４４に対しては、操作対象のボタンとして「次月」を表示させるボタン１０６１と「前月」を表示されるボタン１０６２とが抽出される。
【００７４】
また、デスクトップ画面上で各種アプリケーションのアイコン（符号１０２０、１０２２、１０２４、１０２６、１０２８）が操作対象アイコンとして抽出される。操作対象抽出部５７０は、各アイコンの図柄から、符号１０２０のアイコンは写真アルバムを表示するアプリケーション、符号１０２２のアイコンは音楽を再生するアプリケーション、符号１０２４のアイコンは世界時計を表示するアプリケーション、符号１０２６のアイコンは地図を表示するアプリケーション、符号１０２８のアイコンはシステム設定をカスタマイズするアプリケーションにそれぞれ対応することを特定する。操作対象抽出部５７０がアイコンの図柄からアプリケーションを特定できるように、各アプリケーションのアイコンはあらかじめリモートディスプレイシステムに登録されている。
【００７５】
これらのアプリケーションの内、符号１０２８のアイコンで示されるシステム設定をカスタマイズするアプリケーションは、ＰＣ２００上で実行することはあっても、一般にはリモートディスプレイシステム上で実行すべきものではないので、操作対象から外される。
【００７６】
ＧＵＩ５５０は、ユーザが操作するカーソルを画面から抽出された操作対象のアイコンに誘導するナビゲーション機能を提供してもよい。たとえば、ユーザがカーソル１０１０をリモートディスプレイ画面１０００の右側に少し移動させるだけで、操作対象のアプリケーションのアイコン１０２０、１０２２、１０２４、１０２６のいずれかがハイライト表示され、カーソル１０１０を上下にわずかに移動させれば、ハイライト表示されるアイコンが上下に切り替わるようにナビゲーションすることで、ユーザは容易にいずれかのアプリケーションのアイコンを選択することができる。
【００７７】
カーソル１０１０で指定されたアイコンをハイライト表示するために、操作対象抽出部５７０は、アイコンの位置と大きさを画像認識により特定する。ＧＵＩ５５０は、カーソル１０１０で指定されたアイコンの画像の色を変えたり、アイコンの画像に目印となる画像を合成するなどして、アイコンをハイライト表示する。
【００７８】
このナビゲーション機能により、ユーザはポインティングデバイスを操作してカーソルのポイント先を操作対象のアイコンまで移動させたり、アイコンの位置に細かく合わせる必要がなくなる。ＰＣ２００でのカーソル操作とは違って、ゲーム機４００や高機能ＴＶシステム６０２でのカーソル操作はユーザの負担になることが多いため、ナビゲーション機能は利便性が高い。
【００７９】
ＧＵＩ５５０は、特定のアプリケーションの自動操縦機能を提供してもよい。ＴＶ画面上で利用されるＰＣサービスをあらかじめ特定しておき、ＧＵＩ５５０は、特定アプリケーションの特定の処理を実行するためのＧＵＩ操作を自動的に生成する。たとえば、リモートディスプレイシステムの入力デバイスの特定のボタンを押すと、地図表示アプリケーションのアイコン１０２６にカーソル１０１０を移動させ、そのアイコン１０２６をクリックする操作を自動的に実行する。このような自動操縦を可能にするため、リモートディスプレイシステムにはエージェント（ロボット）機能を搭載してもよい。
【００８０】
ＧＵＩ５５０は、これらの自動操縦の操作を示すＧＵＩデータを生成し、ＧＵＩデータ送信部５６０は、生成されたＧＵＩデータを画面出力コンバータ３００に送信する。これにより、ＰＣ２００側でアプリケーションが自動的に実行され、その結果がリモートディスプレイ画面に反映される。これは、リモートディスプレイ上でのＧＵＩ操作によるマクロ自動実行と言ってもよい。
【００８１】
また、カーソル１０１０が移動する可能性があるアプリケーションやファイルのアイコンには「引力」を設定しておき、カーソル１０１０がそれらのアイコンのいずれかの近くに来ると、速度を速めて当該アイコンに吸い寄せられるようにカーソルを制御してもよい。これにより、リビングルームに置かれたＴＶの画面において、ユーザはカーソル操作を必要以上にしなくてもよくなる。
【００８２】
図１０は、リモートディスプレイ画面１０００におけるさらに別の操作例を説明する図である。リモートディスプレイ画面１０００のアスペクト比が、ＰＣディスプレイ１００の画面のアスペクト比と異なる場合、リモートディスプレイ画面１０００には余白領域が生じる。この余白領域にカーソル１０１０の位置の周辺の画像を拡大して表示したり、カーソル１０１０により指示された操作対象に関する情報を表示してもよい。
【００８３】
図１０の例では、カーソル１０１０は映像ファイル１０３８を指し示しており、デスクトップ画面１０６０の右側の余白領域１０７０に、映像ファイル１０３８に対する操作方法のガイダンス情報が表示されている。たとえば、映像再生、サムネイルインデックス画像の閲覧、キーワードによるシーン検索などの操作が可能である。ユーザが余白領域１０７０に示された操作内容を選択すると、ＧＵＩ５５０は、映像ファイル１０３８に対して指定された操作内容を実行するためのＧＵＩ操作のデータを生成する。たとえば、映像再生が選択されると、映像ファイル１０３８をクリックする操作を示すＧＵＩデータが生成される。サムネイルインデックス画像の閲覧が選択されると、映像ファイル１０３８に対してマウスの右ボタンをクリックし、そのときに表示されるサブメニューの「サムネイルインデックス閲覧」を選択するといった一連の操作を示すＧＵＩデータが生成される。
【００８４】
以上述べたように、実施の形態によれば、ＰＣ２００のディスプレイ画面をゲーム機４００、高機能ＴＶシステム６０２、携帯端末８００などのリモートディスプレイシステムの画面に効率良く表示する「リモートディスプレイ」の機能を提供することができる。また、リモートディスプレイシステムの仕様に合わせて、ユーザにとって見易いように画面を加工して表示することができる。たとえば、高精度のハイビジョンテレビシステムがリビングルームにある場合、ハイビジョンテレビシステムの画面の広さや画質の高さを利用した画面構成にするとユーザにとって見易くなる。
【００８５】
「リモートデスクトップ」が遠隔地のコンピュータのデスクトップ環境をシームレスにリモートで使えるようにするサービスであるのに対して、実施の形態の「リモートディスプレイ」は、コンピュータの画面の画像データをリモートディスプレイシステムに送信し、リモートディスプレイシステムの画面に再構成することを基本とする。「リモートディスプレイ」は、コンピュータのデスクトップ環境と同一の環境を提供するものではない。リモートディスプレイシステムでは利用されるサービスが限定されるため、ＧＵＩ操作の自由度を大きく制限することができ、そのことがユーザのＧＵＩ操作を容易にし、利便性を高めることにもつながっている。
【００８６】
「リモートディスプレイ」は、コンピュータの画面の画像データを受信し、受信した画像データから操作対象を抽出し、ＧＵＩ操作を示すデータを生成してコンピュータに送り返すだけである。そのため、コンピュータのウインドウシステムなどのＯＳの基本ソフトウエアには全く依存しない。旧世代のＯＳや互換性のないＯＳで動作するコンピュータの画面であっても、リモートディスプレイシステムの画面に表示して操作することができる。
【００８７】
旧世代のウインドウシステムを実行するコンピュータの画面をリモートディスプレイシステムの画面に表示する際、新世代のウインドウシステムで動作しているかのように、ウインドウの表示形態をグレードアップして加工して表示させることもできる。たとえば、新世代のウインドウシステムが、ウインドウを立体的に表示したり、動的に表示する機能をもつ場合、送信側のコンピュータの処理性能が低いと、新世代のウインドウシステムを送信側のコンピュータで実行することは難しい。リモートディスプレイを利用すれば、旧世代のウインドウシステムを実行するコンピュータの画面をリモートディスプレイシステムが受信し、画像データを加工して、リモートディスプレイシステムの画面では、あたかも新世代のウインドウシステムで動作しているかのように、ウインドウを立体的に表示させたり、動的に表示させることができる。
【００８８】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００８９】
上記の説明では、コンピュータの画面の画像をリモートディスプレイシステムの画面に表示したが、リモートディスプレイシステムの画面に表示する画像は、コンピュータの画面の画像データに限られない。「リモートディスプレイ」は、コンピュータのＯＳに全く依存しないため、どんなデバイスの画面出力端子から出力されるビデオ信号であっても、画面出力コンバータ３００によって変換してリモートディスプレイシステムに送信し、リモートディスプレイシステムの画面に表示し、遠隔操作することができる。
【００９０】
たとえば、デジタルカメラの液晶ディスプレイに表示される画像データをリモートディスプレイシステムに送信し、リモートディスプレイ画面に表示してもよい。デジタルカメラの液晶ディスプレイは画面サイズが小さいため、見づらかったり、操作しづらいことがあるが、リモートディスプレイ画面では拡大して表示されるため、操作が容易になる。また、デジタルカメラの液晶ディスプレイでは画面が狭いため、マルチウインドウシステムを実現することは限界があるが、リモートディスプレイ画面ではマルチウインドウシステムで画像ブラウザや画像エディタなどを表示することができ、利便性を高めることができる。
【図面の簡単な説明】
【００９１】
【図１】実施の形態１に係る画面表示システムの全体構成図である。
【図２】図１の画面出力コンバータの構成図である。
【図３】図１の画面出力ディスプレイシステムの構成図である。
【図４】画面出力コンバータから画面出力ディスプレイシステムへの画面の画像データの供給処理を説明する図である。
【図５】実施の形態２に係る画面表示システムの全体構成図である。
【図６】実施の形態３に係る画面表示システムの全体構成図である。
【図７】リモートディスプレイ画面を説明する図である。
【図８】図７のリモートディスプレイ画面における操作例を説明する図である。
【図９】図７のリモートディスプレイ画面における別の操作例を説明する図である。
【図１０】図７のリモートディスプレイ画面におけるさらに別の操作例を説明する図である。
【符号の説明】
【００９２】
１００  ＰＣディスプレイ、  １０２  伝送機能付きＰＣディスプレイ、  ２００  ＰＣ、  ２０２  ビデオ信号出力端子、  ２０４  ＵＳＢ信号入力端子、  ２１０  ビデオ信号スプリッタ、  ３００  画面出力コンバータ、  ３１０  ビデオ信号入力部、  ３２０  バッファ、  ３３０  更新検出部、  ３３２  ＣＲＣ算出部、  ３３４  ＣＲＣ保持部、  ３３６  比較部、  ３４０  画像符号化部、  ３５０  パケット送信部、  ３６０  ＧＵＩデータ受信部、  ３７０  キーボード／マウスエミュレータ、  ４００  ゲーム機、  ５００  画面出力ディスプレイシステム、  ５１０  表示制御部、  ５２０  バッファ、  ５３０  画像復号部、  ５４０  パケット受信部、  ５５０  ＧＵＩ、  ５６０  ＧＵＩデータ送信部、  ５７０  操作対象抽出部、  ６００  ＨＤＴＶ、  ６０２  高機能ＴＶシステム、  ８００  携帯端末、  ９００  ネットワーク。  
【図１】
2010020159.tif 000003
【図２】
2010020159.tif 000004
【図３】
2010020159.tif 000005
【図４】
2010020159.tif 000006
【図５】
2010020159.tif 000007
【図６】
2010020159.tif 000008
【図７】
2010020159.tif 000009
【図８】
2010020159.tif 000010
【図９】
2010020159.tif 000011
【図１０】
2010020159.tif 000012