(57)【要約】【課題】モバイル機器に表示される画面を他の機器に転送して表示させたいというニーズがある。【解決手段】システムインターコネクト４０は、メインメモリ５０とディスプレイコントローラ６０と専用メモリ７０を相互接続する。ディスプレイコントローラ６０は、メインメモリ５０に設けられたフレームバッファ５２からフレームデータを読み出し、ディスプレイに表示するための画面出力イメージを生成する。画面出力イメージを他の機器に転送するための転送用画面イメージとしてディスプレイコントローラ６０から取り出してシステムインターコネクト４０を経由せずに専用メモリ７０に書き戻すためのパスが設けられる。【選択図】図２
2014238507.tif 000002
【特許請求の範囲】
【請求項１】
フレームバッファからフレームデータを読み出し、ディスプレイに表示するための画面出力イメージを生成するディスプレイコントローラであって、
前記画面出力イメージを他の機器に転送するための転送用画面イメージとして取り出して前記フレームバッファとは別に設けられた専用メモリに書き出すためのパスが設けられたことを特徴とするディスプレイコントローラ。
【請求項２】
フレームバッファが設けられたメインメモリと、
フレームバッファからフレームデータを読み出し、ディスプレイに表示するための画面出力イメージを生成するディスプレイコントローラと、
前記メインメモリとは別に設けられた専用メモリと、
前記メインメモリと前記ディスプレイコントローラと前記専用メモリを相互接続するシステムインターコネクトとを含み、
前記画面出力イメージを他の機器に転送するための転送用画面イメージとして前記ディスプレイコントローラから取り出して前記システムインターコネクトを経由せずに前記専用メモリに書き戻すためのパスが設けられたことを特徴とする画面転送装置。
【請求項３】
前記転送用画面イメージを圧縮符号化するエンコーダをさらに含み、
前記エンコーダが、前記転送用画面イメージを前記システムインターコネクトを経由せずに前記専用メモリから読み出し、圧縮符号化された前記転送用画面イメージを前記システムインターコネクトを経由せずに前記専用メモリへ書き戻すパスが設けられたことを特徴とする請求項２に記載の画面転送装置。
【請求項４】
圧縮符号化された前記転送用画面イメージを外部に出力する入出力部をさらに含み、
前記入出力部が、圧縮符号化された前記転送用画面イメージを前記システムインターコネクトを経由せずに前記専用メモリから読み出すパスが設けられたことを特徴とする請求項３に記載の画面転送装置。
【請求項５】
前記ディスプレイコントローラは、複数のフレームバッファからフレームデータを読み出し、複数のパスで画面イメージを生成して最終的な画面出力イメージに合成し、
各パスで生成された画面イメージおよび合成された前記最終的な画面出力イメージをそれぞれ前記転送用画面イメージとして前記ディスプレイコントローラから取り出して前記システムインターコネクトを経由せずに前記専用メモリに書き戻すためのパスが設けられたことを特徴とする請求項２から４のいずれかに記載の画面転送装置。
【請求項６】
前記ディスプレイコントローラは、２チャネルの画面出力を有し、２種類の画面出力イメージを生成し、一方の画面出力イメージは当該ディスプレイコントローラに接続されたディスプレイパネルに出力され、他方の画面出力イメージは前記転送用画面イメージとして取り出されることを特徴とする請求項２から５のいずれかに記載の画面転送装置。
【請求項７】
前記２種類の画面出力イメージは、解像度またはリフレッシュレートの異なる画面出力イメージであることを特徴とする請求項６に記載の画面転送装置。
【請求項８】
前記２種類の画面出力イメージの一方は、操作画面であることを特徴とする請求項６に記載の画面転送装置。
【請求項９】
前記専用メモリは、画面転送処理と下位互換処理との間で共有されることを特徴とする請求項２から８のいずれかに記載の画面転送装置。
【請求項１０】
フレームバッファが設けられたメインメモリと、
フレームバッファからフレームデータを読み出し、ディスプレイに表示するための画面出力イメージを生成するディスプレイコントローラと、
前記ディスプレイコントローラが生成する前記画面出力イメージを他の機器に転送するための転送用画面イメージとして格納する専用メモリと、
前記転送用画面イメージを圧縮符号化するエンコーダとを含み、
前記エンコーダは、フレーム間予測を行わずに、前記転送用画面イメージを圧縮符号化することを特徴とする画面転送装置。
【請求項１１】
前記専用メモリは、画面転送処理と下位互換処理との間で共有されることを特徴とする請求項１０に記載の画面転送装置。
【請求項１２】
メインメモリとディスプレイコントローラと専用メモリとがシステムインターコネクトにより相互接続された装置において、画面イメージを転送する方法であって、
ディスプレイコントローラが、メインメモリに設けられたフレームバッファからフレームデータを読み出し、ディスプレイに表示するための画面出力イメージを生成するステップと、
前記画面出力イメージを他の機器に転送するための転送用画面イメージとして前記ディスプレイコントローラから取り出し、前記システムインターコネクトを経由せずに前記専用メモリに書き戻すステップと、
前記専用メモリに書き戻された前記転送用画面イメージを圧縮符号化して前記他の機器に転送するステップとを含む画面転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画面イメージを転送する技術に関する。
【背景技術】
【０００２】
パーソナルコンピュータやゲーム専用機において、高品質な３次元コンピュータグラフィックスを用いたゲームやシミュレーションなどのアプリケーションを実行したり、実写とコンピュータグラフィックスを融合させた映像コンテンツの再生を行うなど、高画質のグラフィックスの利用が広がっている。
【０００３】
一方、スマートフォンやタブレット端末のようなモバイル機器のディスプレイパネルの表示性能が高くなっており、高画質のコンピュータグラフィックスや映像がモバイル機器においても利用されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
モバイル機器の画面は一般に小さいため、モバイル機器の画面をテレビや据え置きゲーム機のモニタなどの大画面に表示させて見たいというニーズがある。また、モバイル機器を他の機器に接続して、家族や友だちが同じ画面を見られるようにしたり、複数のユーザ間で画面を共有してゲームなどのアプリケーションを楽しみたいというニーズもある。
【０００５】
本発明はこうした課題に鑑みてなされたものであり、その目的は、ある機器で生成される画面イメージを他の機器に転送して表示する技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様のディスプレイコントローラは、フレームバッファからフレームデータを読み出し、ディスプレイに表示するための画面出力イメージを生成するディスプレイコントローラであって、前記画面出力イメージを他の機器に転送するための転送用画面イメージとして取り出して前記フレームバッファとは別に設けられた専用メモリに書き出すためのパスが設けられた。
【０００７】
本発明の別の態様は、画面転送装置である。この装置は、フレームバッファが設けられたメインメモリと、フレームバッファからフレームデータを読み出し、ディスプレイに表示するための画面出力イメージを生成するディスプレイコントローラと、前記メインメモリとは別に設けられた専用メモリと、前記メインメモリと前記ディスプレイコントローラと前記専用メモリを相互接続するシステムインターコネクトとを含む。前記画面出力イメージを他の機器に転送するための転送用画面イメージとして前記ディスプレイコントローラから取り出して前記システムインターコネクトを経由せずに前記専用メモリに書き戻すためのパスが設けられた。
【０００８】
本発明のさらに別の態様もまた、画面転送装置である。この装置は、フレームバッファが設けられたメインメモリと、フレームバッファからフレームデータを読み出し、ディスプレイに表示するための画面出力イメージを生成するディスプレイコントローラと、前記ディスプレイコントローラが生成する前記画面出力イメージを他の機器に転送するための転送用画面イメージとして格納する専用メモリと、前記転送用画面イメージを圧縮符号化するエンコーダとを含む。前記エンコーダは、フレーム間予測を行わずに、前記転送用画面イメージを圧縮符号化する。
【０００９】
本発明のさらに別の態様は、画面転送方法である。この方法は、メインメモリとディスプレイコントローラと専用メモリとがシステムインターコネクトにより相互接続された装置において、画面イメージを転送する方法であって、ディスプレイコントローラが、メインメモリに設けられたフレームバッファからフレームデータを読み出し、ディスプレイに表示するための画面出力イメージを生成するステップと、前記画面出力イメージを他の機器に転送するための転送用画面イメージとして前記ディスプレイコントローラから取り出し、前記システムインターコネクトを経由せずに前記専用メモリに書き戻すステップと、前記専用メモリに書き戻された前記転送用画面イメージを圧縮符号化して前記他の機器に転送するステップとを含む。
【００１０】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、ある機器で生成される画面イメージを他の機器に効率良く転送して表示することができる。
【図面の簡単な説明】
【００１２】
【図１Ａ】モバイル機器からＴＶ／モニタへ画面を転送するシステムの構成図である。
【図１Ｂ】モバイル機器から据え置き機器へ画面を送信するシステムの構成図である。
【図１Ｃ】モバイル機器から別のモバイル機器へ画面を送信するシステムの構成図である。
【図１Ｄ】配信プラットフォームがクラウドサーバを介してクラウドサービスクライアントへ画面を転送するシステムの構成図である。
【図１Ｅ】モバイル機器から動画共有サービスへ画面データをアップロードするシステムの構成図である。
【図２】モバイル機器の構成図である。
【図３Ａ】図２のシステムＬＳＩにおける画面転送機能の実装例を説明する図である。
【図３Ｂ】図２のシステムＬＳＩにおける画面転送機能の別の実装例を説明する図である。
【図３Ｃ】図２の専用メモリを画面転送処理と下位互換処理の間で共有する構成を説明する図である。
【図４】図２のディスプレイコントローラの構成図である。
【図５】図５（ａ）〜図５（ｃ）は、ディスプレイコントローラから転送用書き戻しパスを用いて取り出した画面イメージを説明する図である。
【図６】２チャネルの画像出力を設けたディスプレイコントローラの構成を説明する図である。
【図７】図７（ａ）〜図７（ｃ）は、出力２チャネルのディスプレイコントローラの用途例を説明する図である。
【図８】図８（ａ）〜図８（ｃ）は、出力２チャネルのディスプレイコントローラの別の用途例を説明する図である。
【図９】図９（ａ）〜図９（ｃ）は、出力２チャネルのディスプレイコントローラのさらに別の用途例を説明する図である。
【図１０】画面送信システムと画面受信システムの間のソフトウェアハンドシェイクの手順を説明するフローチャートである。
【発明を実施するための形態】
【００１３】
実施の形態に係る画面転送システムは、リアルタイムである機器から別の機器へ画面を転送する。さらに転送先の機器においてユーザが何らかの操作入力を与えると、その操作内容が転送元の画面転送システムに転送され、操作内容を反映した更新画面が転送先の機器に転送される。図１Ａ〜図１Ｅを参照して実施の形態に係る画面転送システムの構成例をいくつか説明する。
【００１４】
図１Ａは、モバイル機器１００からＴＶ／モニタ３００へ画面を転送するシステムの構成図である。
【００１５】
モバイル機器１００とＴＶ／モニタ３００は無線ＬＡＮなどのネットワークで接続されている。モバイル機器１００は、一例としてポータブルゲーム機、スマートフォン、タブレットなどの携帯機器であり、後述の画面転送機能２００を有する。
【００１６】
画面転送機能２００は、モバイル機器１００のディスプレイコントローラが生成する画面（モバイル機器１００のディスプレイに表示される画面とは限られない）をＭＰＥＧ−４  ＡＶＣなどの動画圧縮符号化方式により圧縮符号化し、無線ＬＡＮなどのネットワークを経由してＴＶ／モニタ３００に転送する。
【００１７】
ＴＶ／モニタ３００は、ＡＶＣデコーダ４００を有し、モバイル機器１００から受信した圧縮済みの画面データを復号して大画面ディスプレイに表示する。これにより、モバイル機器１００の小さい画面で見ていた画像をＴＶ／モニタ３００の大画面に表示させることができる。
【００１８】
図１Ｂは、モバイル機器１００から据え置き機器３１０へ画面を送信するシステムの構成図である。
【００１９】
モバイル機器１００と据え置き機器３１０は無線ＬＡＮなどのネットワークで接続されている。モバイル機器１００の画面転送機能２００は、ディスプレイコントローラが生成する画面を圧縮符号化し、無線ＬＡＮなどのネットワークを経由して据え置き機器３１０に転送する。据え置き機器３１０は、一例として据え置きゲーム機、テレビ受信機、録画機、ＣＡＴＶ（cable television）用セットトップボックスなどである。
【００２０】
据え置き機器３１０は、ＡＶＣデコーダ４００を有し、モバイル機器１００から受信した圧縮済みの画面データを復号して据え置き機器３１０にＨＤＭＩ（High Definition Multimedia Interface）（登録商標）やＭＨＬ（Mobile High-definition Link）などで接続されたＴＶ／モニタ３００に表示する。これにより、モバイル機器１００の小さい画面で見ていた画像をＴＶ／モニタ３００の大画面に表示させることができる。また、据え置き機器３１０に録画機能があれば、モバイル機器１００から転送された映像を録画することもできる。
【００２１】
図１Ｃは、モバイル機器１００から別のモバイル機器１１０へ画面を送信するシステムの構成図である。
【００２２】
第１のモバイル機器１００と第２のモバイル機器１１０は無線ＬＡＮなどのネットワークで接続されている。第１のモバイル機器１００は画面転送機能２００を有し、第２のモバイル機器１１０はＡＶＣデコーダ４００を有する。画面転送機能２００は、第１のモバイル機器１００のディスプレイに表示される画面を圧縮符号化し、無線ＬＡＮなどのネットワークを経由して第２のモバイル機器１１０に転送する。第２のモバイル機器１１０は、第１のモバイル機器１００から受信した圧縮済みの画面データを復号してディスプレイパネルに表示する。
【００２３】
さらに、第２のモバイル機器１１０は、ユーザから入力を受け付け、その入力内容を第１のモバイル機器１００に送信する。第１のモバイル機器１００は第２のモバイル機器１１０から受信したユーザの入力内容を反映した画面を生成して第２のモバイル機器１１０に転送する。これにより、対戦ゲームの場合、第１のモバイル機器１００と第２のモバイル機器１１０の間でゲーム画面を共有し、複数のユーザがゲームに参加することができる。また、第１のモバイル機器１００と第２のモバイル機器１１０の間で画面を共有することで、複数のユーザがネットミーティングをすることもできる。
【００２４】
図１Ｄは、配信プラットフォーム５０２がクラウドサーバ５００を介してクラウドサービスクライアント５１０へ画面を転送するシステムの構成図である。
【００２５】
配信プラットフォーム５０２は、画面転送機能２００を有し、ＰＣＩ  Ｅｘｐｒｅｓｓ（ＰＣＩｅ）やＵＳＢなどのインタフェースを介してクラウドサーバ５００と接続されている。画面転送機能２００は、クラウドサービスクライアント５１０に転送したい画面を圧縮符号化してクラウドサーバ５００に供給する。クラウドサーバ５００は圧縮済みの画面データをクラウドサービスクライアント５１０にインターネット経由で送信する。
【００２６】
クラウドサービスクライアント５１０は、ＡＶＣデコーダ４００を有し、圧縮済みの画面データを復号し、ディスプレイに表示する。さらに、クラウドサービスクライアント５１０は、ユーザから入力を受け付け、その入力内容をクラウドサーバ５００に送信する。配信プラットフォーム５０２は、クラウドサーバ５００が受信したユーザの入力内容を反映した画面を生成し、圧縮符号化してクラウドサービスクライアント５１０に供給する。クラウドサービスクライアント５１０はユーザの入力内容が反映された画面をクラウドサービスクライアント５１０から受信する。
【００２７】
図１Ｅは、モバイル機器１００から動画共有サービス６００へ画面データをアップロードするシステムの構成図である。
【００２８】
モバイル機器１００は、画面転送機能２００を有し、ディスプレイに表示される画面を圧縮符号化し、インターネットを経由して動画共有サービス６００に送信する。これにより、モバイル機器１００のディスプレイに表示される画面が動画として動画共有サービス６００にアップロードされる。
【００２９】
図１Ａ〜図１Ｅの構成例で説明した、画面転送機能２００を有する送信側のモバイル機器１００や配信プラットフォーム５０２などを総称して「画面送信システム」と呼ぶ。また、ＡＶＣデコーダ４００を有する受信側のＴＶ／モニタ３００、据え置き機器３１０、モバイル機器１１０、クラウドサービスクライアント５１０などを総称して「画面受信システム」と呼ぶ。以下では、「画面送信システム」の一例としてモバイル機器１００を、「画面受信システム」の一例としてＴＶ／モニタ３００を取り上げて、構成や処理手順を説明するが、「画面送信システム」および「画面受信システム」の例はこれらに限定されるものではない。
【００３０】
図２は、モバイル機器１００の構成図である。モバイル機器１００は、システムＬＳＩ２７０を含む。システムＬＳＩ２７０は、ＣＰＵ１０と、グラフィックスプロセッシングユニット（ＧＰＵ）２０と、ペリフェラル３０と、メインメモリ５０と、ディスプレイコントローラ（ＤＩＳＰＣ）６０と、専用メモリ７０と、ＡＶＣエンコーダ８０と、Ｉ／Ｏ９０とを含み、これらの構成はシステムインターコネクト４０によって互いに接続されている。
【００３１】
ＣＰＵ１０は、アプリケーションを実行し、システムＬＳＩ２７０の各構成を制御する。ＧＰＵ２０は、グラフィックス処理を実行し、動画を生成してメインメモリ５０のフレームバッファ５２に格納する。ペリフェラル３０は、各種周辺機器を制御する。
【００３２】
システムインターコネクト４０は、システムコンポーネントを相互に接続するコネクションであり、共有バス、クロスバースイッチ、リングバス、ツリー状ネットワークなど任意の物理形態を有し、データ伝送方式としてはハンドシェイク方式やパケットベースネットワークなど任意の方式を採ることができ、これらは例示であり、システムインターコネクト４０の物理形態、データ転送方式はここに挙げるものに限定されるものではない。
【００３３】
モバイル機器１００は、ＬＣＤ（Liquid Crystal Display）／ＯＬＥＤ（Organic Light Emitting Diode）パネル２３０とタッチパッド２４０を含むタッチパネル２８０を有する。
【００３４】
メインメモリ５０は、動画のフレームを格納する複数のフレームバッファ５２を含む。ＤＩＳＰＣ６０は、複数のフレームバッファ５２に格納された画像をライン単位で読み出して変換処理し、一定のリフレッシュレートで最終的な画面イメージを生成してＬＣＤ／ＯＬＥＤパネル２３０に出力する。また、オプションとして、ＤＩＳＰＣ６０は最終的な画面イメージをＨＤＭＩ／ＭＨＬコネクタ２６０に出力し、ＨＤＭＩ／ＭＨＬで接続された外部ディスプレイなどに画面を表示させることができる。
【００３５】
本実施の形態のＤＩＳＰＣ６０には、生成された画面イメージを転送用画面イメージとして取り出す専用パス（「転送用書き戻しパス」と呼ぶ）が設けられている。ＤＩＳＰＣ６０は、イニシエータ（バスマスタ）として、この転送用書き戻しパスを経由して転送用画面イメージを専用パスまたはシステムインターコネクト４０へ出力し、転送用画面イメージを、メインメモリ５０とは別に設けられた専用メモリ７０に書き戻すことができる。
【００３６】
ＡＶＣエンコーダ８０は、専用メモリ７０に格納された転送用画面イメージを読み出してＭＰＥＧ−４  ＡＶＣなどの動画圧縮符号化方式により圧縮符号化し、圧縮符号化された画面データを専用メモリ７０に書き込む。
【００３７】
ここで、ＭＰＥＧ−４  ＡＶＣでは通常、Ｉフレーム（Intra-coded Frame）、Ｐフレーム（Predicted Frame）およびＢフレーム（Bi-directional Predicted Frame）を用いたフレーム間予測が行われるが、本実施の形態のＡＶＣエンコーダ８０は、画面転送のリアルタイム性を確保するためにフレーム間予測を行わず、Ｉフレームのみで画像を圧縮符号化してもよい。
【００３８】
フレーム間予測を行うと圧縮後のデータ量を小さくして転送帯域を抑えることができるが、予測をするために処理時間がかかり、画面転送のレイテンシが大きくなる。そこで、本実施の形態のＡＶＣエンコーダ８０では、ＷＬＡＮやブルートゥース（商標）などの機器間接続が高速化していることに鑑み、圧縮効率を犠牲にして、レイテンシを小さくすることを優先し、フレーム間予測を行わず、Ｉフレームのみで画像を圧縮符号化する方式を採用した。機器間接続の帯域に制約がある場合は、画質は低下するが、フレーム間予測並みのデータ量になるように圧縮率を高めて必要帯域を低減することもできる。
【００３９】
なお、図１Ｅで示した動画共有サービス６００への動画のアップロードの場合のように、レイテンシが問題とならない用途では、圧縮率を優先させて、通常のフレーム間予測により圧縮符号化してもよい。
【００４０】
ＭＰＥＧ−４  ＡＶＣではフレーム間予測を行わず、Ｉフレームのみで動画を圧縮符号化することも規格上は許されているから、規格準拠のデコーダであればＩフレームのみで圧縮符号化された動画でも復号することができる。したがって、画面受信システム側には専用のハードウェアやソフトウェアは不要であり、汎用のＡＶＣデコーダ４００を搭載するだけで転送用画面イメージを復号することができ、幅広い機器に対応することができる。
【００４１】
Ｉ／Ｏ９０は、圧縮済みの画面データを専用メモリ７０から読み出して、ＷＬＡＮアンテナ２２０ａ、イーサネット（登録商標）コネクタ２２０ｂ、ＵＳＢポート２２０ｃ、ＰＣＩｅスロット２２０ｄなどの外部接続インタフェースに出力して外部に送信する。これらの外部接続インタフェースは、音声データや汎用処理結果を外部に送信する場合にも用いられる。
【００４２】
また、Ｉ／Ｏ９０は、ボタン・キーボード・センサ２５０およびタッチパッド２４０からユーザ入力を受け付け、ＣＰＵ１０に供給する。ＣＰＵ１０は、必要に応じてユーザから入力されたデータをＩ／Ｏ９０を介してＷＬＡＮアンテナ２２０ａ、イーサネットコネクタ２２０ｂ、ＵＳＢポート２２０ｃ、ＰＣＩｅスロット２２０ｄなどの外部接続インタフェースに出力して外部に送信する。
【００４３】
旧世代機互換ハードウェア２１０は、旧世代ゲーム機などの旧世代機と互換性を保つための旧世代機のハードウェア構成であり、たとえば、ＣＰＵ、ベクタ演算を行うＦＰＵであるＶＦＰＵ、ＧＰＵ、ＤＭＡ（Direct Memory Access）コントローラなどの回路を内蔵する。旧世代機互換ハードウェア２１０は、システムインターコネクト４０に接続され、データを読み書きするバッファとして専用メモリ７０を用いる。
【００４４】
図３Ａ〜図３Ｃを参照してシステムＬＳＩ２７０内に実装される画面転送機能２００の構成を説明する。
【００４５】
図３Ａは、システムＬＳＩ２７０における画面転送機能２００の実装例を説明する図である。この実装例では、システムＬＳＩ２７０の内、点線１２０で囲まれたＤＩＳＰＣ６０、専用メモリ７０、ＡＶＣエンコーダ８０、およびＩ／Ｏ９０が、図１Ａ〜図１Ｅで説明した画面送信システムの画面転送機能２００の主要ブロックとして作用する。
【００４６】
ＤＩＳＰＣ６０は、メインメモリ５０の複数のフレームバッファ５２からフレームデータをライン単位で読み出してＬＣＤ／ＯＬＥＤパネル２３０のサイズに合わせて拡大、縮小、合成などの変換処理を行い、ＬＣＤ／ＯＬＥＤパネル２３０のリフレッシュレートで最終画面データを生成してＬＣＤ／ＯＬＥＤパネル２３０に表示する。
【００４７】
一方、ＤＩＳＰＣ６０には拡大、縮小、合成などの変換処理がなされた画面イメージを引き抜いて専用メモリ７０に書き戻すための専用パス６２が設けられており、変換処理後の画面イメージが専用メモリ７０に書き戻される。ＡＶＣエンコーダ８０は、専用メモリ７０に格納された変換処理後の画面イメージを専用パス８２を経由して専用メモリ７０から読み出して圧縮符号化し、圧縮符号化された画面イメージを専用パス８２を経由して専用メモリ７０に書き込む。Ｉ／Ｏ９０は、圧縮符号化された画面イメージを専用パス９２を経由して専用メモリ７０から読み出し、転送用画面イメージとして転送先の機器に転送する。
【００４８】
図３Ａの実装例では、ＤＩＳＰＣ６０が生成した画面イメージを取り出して圧縮符号化し、転送画面イメージとして外部に出力するまでの専用メモリ７０に対するデータの読み書きには専用パス６２、８２、９２が用いられており、システムインターコネクト４０は介在していない。すなわち、圧縮済みの転送画面イメージのデータフローに専用メモリ７０と専用パス６２、８２、９２を利用し、システムインターコネクト４０を用いる通常のデータ処理とはデータパスが分離されている。これにより、システムインターコネクト４０のデータ転送帯域を圧迫することなく画面転送処理を実行することができる。また、専用メモリ７０に専用パス６２、８２、９２で直接アクセスする構成であり、システムインターコネクト４０を介してメインメモリ５０にアクセスする必要がないため、低レイテンシで画面転送処理を実行することができる。
【００４９】
図３Ｂは、システムＬＳＩ２７０における画面転送機能２００の別の実装例を説明する図である。この実装例では、システムＬＳＩ２７０の内、点線１３０で囲まれたＤＩＳＰＣ６０、専用メモリ７０、ＡＶＣエンコーダ８０、Ｉ／Ｏ９０、およびシステムインターコネクト４０が、図１Ａ〜図１Ｅで説明した画面送信システムの画面転送機能２００の主要ブロックとして作用する。
【００５０】
図３Ｂの実装例では、ＤＩＳＰＣ６０が生成した画面イメージを取り出して圧縮符号化し、転送画面イメージとして外部に出力するまでの専用メモリ７０に対するデータの読み書きにシステムインターコネクト４０を用いる点が図３Ａの実装例とは異なる。
【００５１】
システムインターコネクト４０は、転送画面イメージのデータフローに対してＱｏＳ機能により帯域を予約し、通常処理とはデータパスを分離する。このＱｏＳ制御により、システムインターコネクト４０を画面転送処理と通常処理で共有しても、画面転送処理が通常処理の影響を受けて画面イメージの転送に遅れが生じてリアルタイム性が失われる事態を避け、また、逆に、画面転送処理によりシステムインターコネクト４０のデータ伝送帯域が圧迫されて、通常処理のデータ処理に遅延が生じてレスポンスが悪化する事態を避けることができる。
【００５２】
図３Ｃは、専用メモリ７０を画面転送処理と下位互換処理の間で共有する構成を説明する図である。
【００５３】
旧世代機互換ハードウェア２１０は、旧世代ゲーム機などの旧世代機のハードウェアブロックである。旧世代機互換ハードウェア２１０は、メインメモリ５０ではなく、専用メモリ７０を利用してデータの読み書きを行う。ここで、専用メモリ７０は、旧世代機互換性を維持するために、旧世代機に搭載されていたビデオメモリとレイテンシや帯域が同等になるように設計される。システムインターコネクト４０を経由してアクセスされるメインメモリ５０は、旧世代機に搭載されていたビデオメモリよりもレイテンシが大きく、互換性を維持するには適さないためである。
【００５４】
旧世代機互換ハードウェア２１０が動作する際、専用メモリ７０はビデオメモリとして使用され、旧世代機互換ハードウェア２１０のＧＰＵが専用メモリ７０に描画データを書き込む。一方、図３Ａおよび図３Ｂで説明したように、画面転送処理は、通常処理の影響を受けずにリアルタイムで動作させる必要があり、そのためにメインメモリ５０とは別に専用メモリ７０を搭載し、転送用画面イメージを専用メモリ７０に書き込む構成とした。１つの専用メモリ７０が旧世代機互換処理と画面転送処理の間で共有される構成であり、旧世代機との互換性を保つ目的と、画面転送処理のリアルタイム性を保証する目的の両方が同時に達成される。これにより回路規模を小さくし、かつ、効率良く旧世代機互換処理と画面転送処理を実行することができる。
【００５５】
図４は、ＤＩＳＰＣ６０の構成図である。ＤＩＳＰＣ６０は、システムインターコネクト４０を介してメインメモリ５０の複数のフレームバッファ５２からライン単位でフレームデータを読み出し、フォーマット変換、ビット拡張処理、スケーリング処理、および色空間変換を行い、アルファブレンディングにより画像を合成して最終画面データを生成し、パネルに出力する。ＤＩＳＰＣ６０のパイプラインはディスプレイ画面のリフレッシュレートで画面更新を行う。たとえば、リフレッシュレートが６０Ｈｚであれば、１秒間に６０回、最終画面を生成する。
【００５６】
パスａ（符号１６０ａ）は、フォーマット変換／ビット拡張部１５０ａ、スケーリング処理部１５２ａ、カラースペース変換部１５４ａを含み、第１のフレームバッファ５２から読み出されたフレームデータに対して、フォーマット変換、ビット拡張処理、スケーリング処理、および色空間変換を行う構成である。
【００５７】
パスｂ（符号１６０ｂ）は、フォーマット変換／ビット拡張部１５０ｂ、スケーリング処理部１５２ｂ、カラースペース変換部１５４ｂを含み、第２のフレームバッファ５２から読み出されたフレームデータに対して、フォーマット変換、ビット拡張処理、スケーリング処理、および色空間変換を行う構成である。
【００５８】
フォーマット変換／ビット拡張部１５０ａ、１５０ｂは、フレームバッファの各種フォーマット情報を読み取ってデータフォーマットを変換し、後段の処理で用いるビット長に拡張する。
【００５９】
スケーリング処理部１５２ａ、１５２ｂは、フレーム画像をディスプレイのサイズに合わせて拡大・縮小し、バイリニアフィルタなどを用いた画質改善を行う。
【００６０】
カラースペース変換部１５４ａ、１５４ｂは、ディスプレイの仕様に合わせてフレームの色空間を変換する。たとえばフレームデータをＲＧＢやＹＣｂＣｒなどのピクセル形式に変換する。
【００６１】
アルファブレンド部１５６は、パスａの変換後のフレームデータとパスｂの変換後のフレームデータの入力をアルファブレンドし、合成画像を生成し、合成画像をＭＩＰＩインタフェース部１５８に出力する。ＭＩＰＩインタフェース部１５８はアルファブレンド部１５６から受け取った画像を最終画面データとしてパネルに出力する。
【００６２】
図４では、２つのフレームバッファからのフレームデータの入力を前提とした構成例を示したが、３以上のフレームバッファをサポートする場合は、点線１６０ａで囲んだフォーマット変換／ビット拡張部１５０ａ、スケーリング処理部１５２ａ、カラースペース変換部１５４ａの構成を３以上並列に設け、アルファブレンド部１５６を、３以上のパスからの入力を受けて合成する多入力１出力の構成にすればよい。
【００６３】
ＤＩＳＰＣ６０には、生成された画面イメージを転送用画面イメージとして取り出す転送用書き戻しパス６４が設けられている。パスａおよびパスｂの出力、すなわちフレームバッファからのフレームデータをフォーマット変換、ビット拡張、スケーリング処理、色空間変換した後の画面イメージは、パスａ出力（ｐａｔｈ  ａ−ｏｕｔ）、パスｂ出力（ｐａｔｈ  ｂ−ｏｕｔ）として取り出される。また、パスｃの出力、すなわちパスａの出力とパスｂの出力をアルファブレンドした後の画面イメージは、パスｃ出力（ｐａｔｈ  ｃ−ｏｕｔ）として取り出される。パスａ出力、パスｂ出力、およびパスｃ出力の画面イメージは、図３Ａの実装例では専用パス６２を経由して、図３Ｂの実装例ではシステムインターコネクト４０を経由して、専用メモリ７０に転送用画面イメージとして書き戻される。
【００６４】
パスａ出力およびパスｂ出力の画面イメージを専用パス６２またはシステムインターコネクト４０経由で専用メモリ７０に書き戻すことで、２画面合成前の画面イメージを個別に取り出すことができる。パスｃ出力をシステムインターコネクト４０経由で専用メモリ７０に書き戻すことで、２画面合成後の画面イメージを取り出すことができる。
【００６５】
図５（ａ）〜図５（ｃ）は、ＤＩＳＰＣ６０から転送用書き戻しパス６４を用いて取り出した画面イメージを説明する図である。
【００６６】
図５（ａ）はパスａ出力の画面イメージであり、ここでは動画ストリームである。図５（ｂ）はパスｂ出力の画面イメージであり、ここではメニュー画面やゲーム画面である。図５（ｃ）はパスｃ出力の画面イメージであり、ここではパスｂ出力のメニュー画面にパスａ出力の動画を合成した画像である。ＤＩＳＰＣ６０の転送用書き戻しパス６４を利用することにより、これら３種類の画面イメージを取り出すことができる。
【００６７】
転送用画面イメージとして取り出された３種類の画面イメージの用途例をいくつか説明する。用途例１として、画面転送機能２００を有する画面送信システムのディスプレイパネルにはパスｃ出力の合成画像を表示し、同じ画面イメージをＡＶＣデコーダ４００を有する画面受信システムに転送する。たとえば画面を送信側と受信側で共有したい場合や、受信側の大画面ディスプレイで送信側の画面を見たい場合などにこの方法を用いる。
【００６８】
用途例２として、画面送信システムのディスプレイパネルにはパスｃ出力の合成画像を表示し、画像受信システムにはパスａ出力の動画ストリームを転送する。たとえば映画を大画面ディスプレイで見ながら、メニュー画面は送信側のモバイル機器１００に表示させて手元で操作を行いたい場合にはこの方法が適する。メニュー画面は送信側のモバイル機器１００には表示させずに、画面受信システムにおいて別途生成して表示してもよい。
【００６９】
用途例３として、画面送信システムのディスプレイパネルにはパスｃ出力の合成画面を表示し、２つの画面受信システムの内、一方にはパスａ出力の画面を転送し、他方にはパスｂ出力の画面を転送する。たとえば、一方の画面受信システムのディスプレイには動画を、他方の画面受信システムのディスプレイにはゲーム画面を表示させることができる。
【００７０】
用途例４として、画面送信システムのディスプレイパネルにはいずれのパス出力の画像も表示せず、画面受信システムにはパスｃ出力の合成画像を転送する。送信側のモバイル機器１００で見ていた画面を受信側のＴＶ／モニタ３００の大画面に切り替えて見たい場合などにこの方法を用いる。
【００７１】
図４では、１チャネルの画像出力を有するＤＩＳＰＣ６０の構成を示したが、画像出力を２チャネル設けてもよい。図６は、２チャネルの画像出力を設けたＤＩＳＰＣ６０の構成を説明する図である。第１チャネルＣＨ１の構成（符号１６２）、第２チャネルＣＨ２（符号１６４）の各構成は、図４と同じである。図２にも示したように、通常の用途では、第１チャネルＣＨ１の最終画面データはＬＣＤ／ＯＬＥＤパネル２３０に供給される一方、第２チャネルＣＨ２の最終画面データはＨＤＭＩ／ＭＨＬコネクタ２６０に供給され、ＨＤＭＩ／ＭＨＬで接続されたモニタなどに表示される。
【００７２】
図６のＤＩＳＰＣ６０においても、第１チャネルＣＨ１について、第１チャネルＣＨ１のパスａおよびパスｂのアルファブレンド前の画像を取り出すパスｐａｔｈ  ａ−ｏｕｔおよびｐａｔｈ  ｂ−ｏｕｔ、第１チャネルＣＨ１のパスｃのアルファブレンド後の合成画像を取り出すパスｐａｔｈ  ｃ−ｏｕｔが設けられる。また、第２チャネルＣＨ２についても、第２チャネルＣＨ２のパスａおよびパスｂのアルファブレンド前の画像を取り出すパスｐａｔｈ  ａ−ｏｕｔおよびｐａｔｈ  ｂ−ｏｕｔ、および第２チャネルＣＨ２のパスｃのアルファブレンド後の合成画像を取り出すパスｐａｔｈ  ｃ−ｏｕｔが設けられる。これらのパス出力の画面イメージは、図４と同様、図３Ａの実装例では専用パス６２を経由して、図３Ｂの実装例ではシステムインターコネクト４０を経由して、専用メモリ７０に転送用画面イメージとして書き戻される。
【００７３】
図６の出力２チャネルのＤＩＳＰＣ６０を用いれば、２種類の画面イメージを生成して転送用書き戻しパス６５（ｐａｔｈ  ａ−ｏｕｔ、ｐａｔｈ  ｂ−ｏｕｔ、ｐａｔｈ  ｃ−ｏｕｔ）から転送用画面イメージとして取り出し、転送先の機器に転送することができる。
【００７４】
図７（ａ）〜図７（ｃ）は、出力２チャネルのＤＩＳＰＣ６０の用途例を説明する図である。第１チャネルＣＨ１では、送信側のモバイル機器１００用の画面として、図７（ａ）に示す横１２８０縦７２０ピクセルの低解像度の画面Ａを生成する。他方、第２チャネルＣＨ２では、受信側のＴＶ／モニタ３００用の画面として、図７（ｂ）に示す横１９８０縦１０８０ピクセルの高解像度の画面Ｂを生成する。第１チャネルＣＨ１ではモバイル機器１００のパネルのリフレッシュレートに合わせて画面を更新し、第２チャネルＣＨ２ではＴＶ／モニタ３００のリフレッシュレートに合わせて画面を更新する。
【００７５】
図７（ｃ）に示すように、ＤＩＳＰＣ６０の第１チャネルＣＨ１の画面Ａは送信側のモバイル機器１００のディスプレイパネルに出力される一方、第２チャネルＣＨ２の画面Ｂは転送用書き戻しパスから転送用画面イメージとして取り出され、圧縮符号化された後、転送先のＴＶ／モニタ３００に転送される。ＴＶ／モニタ３００は圧縮符号化された画面イメージを受信し、ＡＶＣデコーダ４００により復号して、ディスプレイに表示する。これにより、送信側のモバイル機器１００では低解像度の画面Ａが表示され、受信側のＴＶ／モニタ３００では高解像度の画面Ｂが表示される。ただし、送信側のモバイル機器１００に画面Ａを表示する必要がない場合は、画面Ａを未表示にしてもよい。
【００７６】
このようにして、出力２チャネルのＤＩＳＰＣ６０を用いれば、同じ画像であるが解像度やリフレッシュレートが異なる画面を生成することができるので、低解像度画面はモバイル機器１００に直接出力する一方、高解像度画面はＴＶ／モニタ３００に転送して表示することができる。異なる解像度のフレームバッファを２つ用意する従来の方法と比べて、本実施の形態では、メモリ占有量やＣＰＵ負荷を増やさずに解像度とリフレッシュレートの異なる２枚の画面イメージを生成することができる。
【００７７】
図８（ａ）〜図８（ｃ）は、出力２チャネルのＤＩＳＰＣ６０の別の用途例を説明する図である。第１チャネルＣＨ１では、送信側のモバイル機器１００用の画面として、図８（ａ）に示すタッチ操作メニューの画面Ａを生成する。他方、第２チャネルＣＨ２では、受信側のＴＶ／モニタ３００用の画面として、図８（ｂ）に示すゲーム映像の画面Ｂを生成する。第１チャネルＣＨ１ではモバイル機器１００のパネルのリフレッシュレートに合わせて画面を更新し、第２チャネルＣＨ２ではＴＶ／モニタ３００のリフレッシュレートに合わせて画面を更新する。
【００７８】
図８（ｃ）に示すように、ＤＩＳＰＣ６０の第１チャネルＣＨ１の画面Ａは送信側のモバイル機器１００のディスプレイパネルに出力される一方、第２チャネルＣＨ２の画面Ｂは転送用書き戻しパスから転送用画面イメージとして取り出され、圧縮符号化された後、転送先のＴＶ／モニタ３００に転送される。ＴＶ／モニタ３００は圧縮符号化された画面イメージを受信し、ＡＶＣデコーダ４００により復号して、ディスプレイに表示する。これにより、送信側のモバイル機器１００ではタッチ操作メニューの画面Ａが表示され、受信側のＴＶ／モニタ３００ではゲーム映像の画面Ｂが表示される。
【００７９】
このようにして、出力２チャネルのＤＩＳＰＣ６０を用いれば、異なる画面を生成することができるので、タッチ操作メニュー画面はモバイル機器１００に直接出力して手元操作ができるようにする一方、ゲーム映像画面はＴＶ／モニタ３００に転送して大画面に表示することができる。
【００８０】
図９（ａ）〜図９（ｃ）は、出力２チャネルのＤＩＳＰＣ６０のさらに別の用途例を説明する図である。第１チャネルＣＨ１では、送信側のモバイル機器１００用の画面として、図９（ａ）に示す横１２８０縦７２０ピクセルの低解像度の画面Ａを生成する。他方、第２チャネルＣＨ２では、受信側のＴＶ／モニタ３００およびパーソナルコンピュータ３２０用の画面として、図９（ｂ）に示す横１９８０縦１０８０ピクセルの高解像度の画面Ｂを生成する。
【００８１】
図９（ｃ）に示すように、ＤＩＳＰＣ６０の第１チャネルＣＨ１の画面Ａは送信側のモバイル機器１００のディスプレイパネルに出力される一方、第２チャネルＣＨ２の画面Ｂは転送用書き戻しパスから転送用画面イメージとして取り出され、圧縮符号化された後、転送先のＴＶ／モニタ３００およびパーソナルコンピュータ３２０に送信される。ＴＶ／モニタ３００およびパーソナルコンピュータ３２０は圧縮符号化された画面イメージを受信し、ＡＶＣデコーダ４００により復号して、ディスプレイに表示する。これにより、送信側のモバイル機器１００では低解像度の画面Ａが表示され、受信側のＴＶ／モニタ３００およびパーソナルコンピュータ３２０では高解像度の画面Ｂが表示される。ただし、送信側のモバイル機器１００に画面Ａを表示する必要がない場合は、画面Ａを未表示にしてもよい。
【００８２】
このようにして、出力２チャネルのＤＩＳＰＣ６０を用いれば、同じ画像であるが解像度やリフレッシュレートが異なる画面を生成することができるので、低解像度画面はモバイル機器１００に直接出力する一方、高解像度画面はＴＶ／モニタ３００およびパーソナルコンピュータ３２０に転送して表示することができる。高解像度画面を複数の受信システムに転送することで複数のユーザが同じ画面を共有することができる。
【００８３】
図１０は、画面送信システムと画面受信システムの間のソフトウェアハンドシェイクの手順を説明するフローチャートである。
【００８４】
画面送信システムは、画面接続リクエストを画面受信システムに送信する（Ｓ１０）。この画面接続リクエストには、付属情報として、ゲームや映画など映像の種別を示す画面内容、解像度、リフレッシュレート、ＡＶＣ圧縮フォーマット、オーディオの有無、オーディオフォーマット、画面受信システムにおけるユーザ入力の有無の問い合わせなどが含まれる。
【００８５】
画面送信システムは、ＤＩＳＰＣ６０、ＡＶＣエンコーダ８０およびＩ／Ｏ９０を初期化してビデオ転送を準備し、オーディオ転送を準備し、ＴＣＰ／ＩＰとＵＤＰを準備する（Ｓ１２）。
【００８６】
画面接続リクエストを受けた画面受信システムは、ＡＶＣデコーダ４００、Ｉ／Ｏを初期化し、オーディオ処理を準備し、ユーザ入力の転送準備、ＴＣＰ／ＩＰとＵＤＰを準備する（Ｓ１４）。画面受信システムは画面接続アクノレッジを画面送信システムに返信する（Ｓ１６）。この画面接続アクノレッジには、付属情報として、ユーザ入力の有無が含まれる。ここではユーザ入力がある場合を説明する。画面送信システムは、画面受信システムからユーザ入力を受け取る準備をする（Ｓ１８）。
【００８７】
画面受信システムは、初期化が完了し、画面転送を受け取る準備ができた旨の接続ＯＫの通知を画面送信システムに送信する（Ｓ２０）。画面送信システムは画面転送の準備完了を確認し（Ｓ２２）、初期化が完了し、画面転送を開始する旨の接続開始通知を画面受信システムに送信する（Ｓ２４）。
【００８８】
画面送信システムと画面受信システムは、ＴＣＰ／ＩＰにおけるＵＤＰコネクションレス通信でデータの送受信を行う（Ｓ２６〜Ｓ２９）。画面送信システムは、画面とオーディオを画面受信システムに送信し、画面受信システムからユーザ入力を受信する（Ｓ３０）。画面受信システムは、画面とオーディオを画面送信システムから受信し、画面送信システムへユーザ入力を送信する（Ｓ３２）。
【００８９】
本実施の形態の画面転送システムによれば、ある機器から別の機器へ画面イメージをリアルタイムで転送することができる。また転送先の機器におけるユーザ入力が転送元の機器に転送されるため、転送元の機器においてユーザ入力を反映した画面イメージを生成し、転送先の機器に更新された画面イメージを転送することができる。これにより、ユーザ入力が転送画面にリアルタイムで反映され、転送先の機器をユーザが用いてもレスポンスが悪くなることがない。
【００９０】
転送用画面イメージをディスプレイコントローラから取り出して専用メモリに書き戻すパスを設けたことにより、低レイテンシで画面イメージを転送先の機器に転送することができる。また、システムインターコネクトとは分離して画面転送処理用の専用のデータパスを設けたことにより、画面転送処理と通常処理が競合してシステムリソースを奪い合い、アプリケーションの挙動に変化が生じたり、画面転送が遅延する事態を避けることができる。
【００９１】
特に画面転送時のシステム負荷が増大すると、ソフトウェアの挙動に予測できない変化が起き、ソフトウェアの挙動を安定させるための開発コストが増大する。また、画面転送をすることでアプリケーションの動作が重くなったり、画面更新頻度が低下することをユーザは望まない。本実施の形態では、画面転送処理と通常処理を専用パスやＱｏＳ制御によって分離することでそのような事態を回避している。
【００９２】
また、転送用画面イメージは標準的な圧縮符号化を用いて符号化されて転送されるため、画面受信システムに通常のデコーダを搭載するだけで画面イメージを復号して表示することができる。特にフレーム間予測を行わない圧縮符号化を用いることにより、符号化にかかる処理時間を抑え、遅延なく画面イメージを転送することができる。
【００９３】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【００９４】
１０  ＣＰＵ、  ２０  ＧＰＵ２０、  ３０  ペリフェラル、  ４０  システムインターコネクト、  ５０  メインメモリ、  ５２  フレームバッファ、  ６０  ＤＩＳＰＣ、  ７０  専用メモリ、  ８０  ＡＶＣエンコーダ、  ９０  Ｉ／Ｏ、  １００  モバイル機器、  １１０  モバイル機器、  １５０  フォーマット変換／ビット拡張部、  １５２  スケーリング処理部、  １５４  カラースペース変換部、  １５６  アルファブレンド部、  １５８  ＭＩＰＩインタフェース部、  ２００  画面転送機能、  ２１０  旧世代機互換ハードウェア、  ２３０  ＬＣＤ／ＯＬＥＤパネル、  ２４０  タッチパッド、  ２５０  ボタン・キーボード・センサ、  ２６０  ＨＤＭＩ／ＭＨＬコネクタ、  ２７０  システムＬＳＩ、  ２８０  タッチパネル、  ３００  ＴＶ／モニタ、  ３１０  据え置き機器、  ３２０  パーソナルコンピュータ、  ４００  ＡＶＣデコーダ、  ５００  クラウドサーバ、  ５０２  配信プラットフォーム、  ５１０  クラウドサービスクライアント、  ６００  動画共有サービス。
【図１Ａ】
2014238507.tif 000003
【図１Ｂ】
2014238507.tif 000004
【図１Ｃ】
2014238507.tif 000005
【図１Ｄ】
2014238507.tif 000006
【図１Ｅ】
2014238507.tif 000007
【図２】
2014238507.tif 000008
【図３Ａ】
2014238507.tif 000009
【図３Ｂ】
2014238507.tif 000010
【図３Ｃ】
2014238507.tif 000011
【図４】
2014238507.tif 000012
【図５】
2014238507.tif 000013
【図６】
2014238507.tif 000014
【図７】
2014238507.tif 000015
【図８】
2014238507.tif 000016
【図９】
2014238507.tif 000017
【図１０】
2014238507.tif 000018