(57)【要約】本願は、映像表示方法、装置、電子機器及びコンピュータプログラム製品を提供し、前記方法は、ホストオペレーティングシステムで、各ゲストオペレーティングシステムに１つのネイティブウィンドウを割り当て、ゲストオペレーティングシステムがホストオペレーティングシステムにＰＣＭサブ領域を申請し、そして前記ＰＣＭサブ領域の記述子をハードウェアコーデック設計に割り当て、ホストオペレーティングシステムで、ＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示する。前記方法は、ホストオペレーティングシステムで、各ゲストオペレーティングシステムに１つのネイティブウィンドウを割り当て、ゲストオペレーティングシステムがＰＣＭサブ領域をホストオペレーティングシステムに申請し、且つ前記ＰＣＭサブ領域の記述子をハードウェアコーデック設計に割り当て、ホストオペレーティングシステムで、ＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示することにより、共有メモリによる映像表示を実現する。【選択図】なし
2020507146.tif 000002
【特許請求の範囲】
【請求項１】
ホストオペレーティングシステムで、各ゲストオペレーティングシステムに１つのネイティブウィンドウを割り当てるステップと、
ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、ホストオペレーティングシステムに新しく作成されたウィンドウに対応する連続物理メモリＰＣＭサブ領域を申請するステップと、
ホストオペレーティングシステムで、ゲストオペレーティングシステムにＰＣＭサブ領域を割り当て、そして対応するハードウェアコーデック設計に表示データをＰＣＭサブ領域に書き込むように指示するための前記ＰＣＭサブ領域の記述子をゲストオペレーティングシステムに返却するステップと、
ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記ＰＣＭサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信するステップと、
ホストオペレーティングシステムで、ＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示するステップとを含む、
ことを特徴とする映像表示方法。
【請求項２】
ホストオペレーティングシステムに新しく作成されたウィンドウに対応する連続物理メモリＰＣＭサブ領域を申請するステップは、
ゲストオペレーティングシステムで、ホストオペレーティングシステムへ共有メモリの申請を送信することを含み、
ホストオペレーティングシステムで、ゲストオペレーティングシステムにＰＣＭサブ領域を割り当てるステップは、
ホストオペレーティングシステムで、共有メモリ管理モジュールＧｒａｌｌｏｃによりゲストオペレーティングシステムにＰＣＭサブ領域を割り当てることを含む、ことを特徴とする請求項１に記載の映像表示方法。
【請求項３】
さらに、ゲストオペレーティングシステムで、ハードウェアコーデック設計から送信された表示要求が検出されると、メモリ記述子をホストオペレーティングシステムに伝達することを含み、
ホストオペレーティングシステムで、ＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングするステップは、
ゲストオペレーティングシステムから伝達されたメモリ記述子に基づいてＰＣＭサブ領域を決定し、そして決定されたＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングすることを含む、ことを特徴とする請求項１に記載の映像表示方法。
【請求項４】
さらに、ゲストオペレーティングシステムで、ハードウェアコーデック設計から送信された表示要求が検出されると、ＰＣＭサブ領域内のデータをテクスチャに変換することを含み、
ホストオペレーティングシステムで、ＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングするステップは、
ＰＣＭサブ領域内のテクスチャに基づいて、ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングすることを含む、ことを特徴とする請求項１に記載の映像表示方法。
【請求項５】
ハードウェアコーデック設計は、映像コーデック及び／又はカメラを含むことを特徴とする請求項１に記載の映像表示方法。
【請求項６】
ホストオペレーティングシステムで、各ゲストオペレーティングシステムに１つのネイティブウィンドウを割り当てるための第１の割当モジュールと、
ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、ホストオペレーティングシステムに新しく作成されたウィンドウに対応する連続物理メモリＰＣＭサブ領域を申請するための申請モジュールと、
ホストオペレーティングシステムで、ゲストオペレーティングシステムにＰＣＭサブ領域を割り当て、そして対応するハードウェアコーデック設計に表示データをＰＣＭサブ領域に書き込むように指示するための前記ＰＣＭサブ領域の記述子をゲストオペレーティングシステムに返却するための第２の割当モジュールと、
ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記ＰＣＭサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信するための処理モジュールと、
ホストオペレーティングシステムで、ＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示するための表示モジュールとを含む、
ことを特徴とする映像表示装置。
【請求項７】
申請モジュールは、ゲストオペレーティングシステムで、ホストオペレーティングシステムへ共有メモリの申請を送信するために用いられ、
第２の割当モジュールは、ホストオペレーティングシステムで、共有メモリ管理モジュールＧｒａｌｌｏｃによりゲストオペレーティングシステムにＰＣＭサブ領域を割り当てるために用いられる、ことを特徴とする請求項６に記載の装置。
【請求項８】
さらに、
ゲストオペレーティングシステムで、ハードウェアコーデック設計から送信された表示要求が検出されると、メモリ記述子をホストオペレーティングシステムに伝達するための伝達モジュールと、
ゲストオペレーティングシステムから伝達されたメモリ記述子に基づいてＰＣＭサブ領域を決定し、そして決定されたＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングするための表示モジュールとを含む、ことを特徴とする請求項６に記載の装置。
【請求項９】
さらに、
ゲストオペレーティングシステムで、ハードウェアコーデック設計から送信された表示要求が検出されると、ＰＣＭサブ領域内のデータをテクスチャに変換するための変換モジュールと、
ＰＣＭサブ領域内のテクスチャに基づいて、ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングするための表示モジュールとを含む、ことを特徴とする請求項６に記載の装置。
【請求項１０】
ハードウェアコーデック設計は、映像コーデック及び／又はカメラを含むことを特徴とする請求項６に記載の装置。
【請求項１１】
メモリと、１つ又は複数のプロセッサとを含み、メモリは通信バスを介してプロセッサに接続され、プロセッサはメモリ内の命令を実行するように構成され、記憶媒体には、請求項１から５のいずれか１項に記載の方法における各ステップを実行するための命令が記憶されていることを特徴とする電子機器。
【請求項１２】
コンピュータ可読記憶媒体に組み込まれた、請求項１から５のいずれか１項に記載の方法における各ステップを電子機器に実行させるための命令を含むコンピュータプログラムを含む、電子機器と組み合わせて使用するコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化技術分野に関し、特に映像表示方法、装置、電子機器及びコンピュータプログラム製品に関する。
【背景技術】
【０００２】
Ｇｒａｌｌｏｃ（Ｇｒａｐｈｉｃ  Ｍｅｍｏｒｙ  Ａｌｌｏｃａｔｏｒ）は、アンドロイド（Ａｎｄｒｏｉｄ）表示システム用にグーグル（Ｇｏｏｇｌｅ）によって開発された共有メモリ管理モジュールである。前記共有メモリとは、物理アドレスが連続し、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  ダイレクトメモリアクセス）機器の直接アクセスをサポートするメモリ領域であり、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ  グラフィックプロセッシングユニット）、ＶＰＵ（Ｖｉｓｕａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ  ビジュアルプロセッシングユニット）、カメラ（Ｃａｍｅｒａ）などのハードウェアデバイスが直接アクセスすることができ、さらに、ＯｐｅｎＧＬ（Ｏｐｅｎ  Ｇｒａｐｈｉｃｓ  Ｌｉｂｒａｒｙ  オープングラフィックスライブラリ）としてのテクスチャ（ｔｅｘｔｕｒｅ）レンダリングもサポートする。
【０００３】
Ｇｒａｌｌｏｃにより異なるモジュール間でメモリを共有することができ、且つ前記共有メモリは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ  セントラルプロセッシングユニット）のコピーと処理を介さず、ＤＭＡ機器が直接アクセスすることをサポートするため、ＣＰＵの負荷率を大幅に低下させ、ＣＰＵの使用率と並列処理能力を大幅に向上させる。
【０００４】
仮想化技術の急速な発展に伴い、仮想化技術分野において、このような共有メモリにより映像を表示することは、解決すべき課題になっている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本願の実施例は、主に共有メモリにより映像を表示するための映像表示方法、装置、電子機器及びコンピュータプログラム製品を提供する。
【課題を解決するための手段】
【０００６】
第１の態様では、本願の実施例に係る映像表示方法は、
ホストオペレーティングシステムで、各ゲストオペレーティングシステムに１つのネイティブウィンドウを割り当てるステップと、
ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、ホストオペレーティングシステムに新しく作成されたウィンドウに対応する連続物理メモリＰＣＭサブ領域を申請するステップと、
ホストオペレーティングシステムで、ゲストオペレーティングシステムにＰＣＭサブ領域を割り当て、そして対応するハードウェアコーデック設計に表示データをＰＣＭサブ領域に書き込むように指示するための前記ＰＣＭサブ領域の記述子をゲストオペレーティングシステムに返却するステップと、
ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記ＰＣＭサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信するステップと、
ホストオペレーティングシステムで、ＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示するステップとを含む。
【０００７】
第２の態様では、本願の実施例に係る映像表示装置は、
ホストオペレーティングシステムで、各ゲストオペレーティングシステムに１つのネイティブウィンドウを割り当てるための第１の割当モジュールと、
ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、ホストオペレーティングシステムに新しく作成されたウィンドウに対応する連続物理メモリＰＣＭサブ領域を申請するための申請モジュールと、
ホストオペレーティングシステムで、ゲストオペレーティングシステムにＰＣＭサブ領域を割り当て、そして対応するハードウェアコーデック設計に表示データをＰＣＭサブ領域に書き込むように指示するための前記ＰＣＭサブ領域の記述子をゲストオペレーティングシステムに返却するための第２の割当モジュールと、
ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記ＰＣＭサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信するための処理モジュールと、
ホストオペレーティングシステムで、ＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示するための表示モジュールとを含む。
【０００８】
第３の態様では、本願の実施例に係る電子機器は、
メモリと、１つ又は複数のプロセッサとを含み、メモリは通信バスを介してプロセッサに接続され、プロセッサはメモリ内の命令を実行するように構成され、記憶媒体には、第１の態様の方法における各ステップを実行するための命令が記憶されている。
【０００９】
第３の態様では、本願の実施例に係る電子機器と組み合わせて使用するコンピュータプログラム製品は、コンピュータ可読記憶媒体に組み込まれた、第１の態様の方法における各ステップを電子機器に実行させるための命令を含むコンピュータプログラムを含む。
【発明の効果】
【００１０】
本願の実施例によれば、ホストオペレーティングシステムで、各ゲストオペレーティングシステムに１つのネイティブウィンドウを割り当て、ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、対応するＰＣＭサブ領域をホストオペレーティングシステムに申請し、ホストオペレーティングシステムで、ゲストオペレーティングシステムにＰＣＭサブ領域を割り当てて、前記ＰＣＭサブ領域の記述子を返却し、ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記ＰＣＭサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信し、ホストオペレーティングシステムで、ＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示することにより、共有メモリにより映像表示を実現する。
【図面の簡単な説明】
【００１１】
以下、図面を参照しながら、本願の具体的な実施例について説明する。
【図１】本願の実施例における映像表示方法を適用するシステムの構造を示す模式図である。
【図２】本願の実施例における映像表示方法のプロセスを示す模式図である。
【図３】本願の実施例における別の映像表示方法のプロセスを示す模式図である。
【図４】本願の実施例における映像表示装置の構造を示す模式図である。
【図５】本願の実施例における電子機器の構造を示す模式図である。
【発明を実施するための形態】
【００１２】
本願の技術的解決手段と利点をより明確にするため、以下、添付図面を参照しながら、本願の実施例についてさらに詳しく説明するが、当然ながら、ここで説明される実施例は、本願の一部の実施例にすぎず、全ての実施例を網羅したものではない。また、矛盾がない限り、本願の実施例及び実施例の特徴を互いに結合することができる。
【００１３】
発明者が発明の過程で気付いたことは以下のとおりである。
Ｇｒａｌｌｏｃにより、１つのメモリに異なるモジュールが同時にアクセスすることができるだけでなく、ＣＰＵのコピーを介さず、ＤＭＡデバイスの前記メモリへの直接アクセスもサポートされるため、ＣＰＵの負荷率を大幅に低下させ、ＣＰＵの使用率と並列処理能力を大幅に向上させる。しかし、現在のところ、仮想オペレーティングシステムに対して、Ｇｒａｎｃｌｏｃを仮想化するための現実的な解決策がなく、共有メモリにより映像を表示することが可能な現実的な解決策はさらにない。
【００１４】
上記に鑑み、本願は、ホストオペレーティングシステムで、各ゲストオペレーティングシステムに１つのネイティブウィンドウを割り当て、ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、対応するＰＣＭサブ領域をホストオペレーティングシステムに申請し、ホストオペレーティングシステムで、ゲストオペレーティングシステムにＰＣＭサブ領域を割り当てて、前記ＰＣＭサブ領域の記述子を返却し、ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記ＰＣＭサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信し、ホストオペレーティングシステムで、ＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示する、映像表示方法を提供する。
【００１５】
本願にて提供される映像表示方法は、図１に示されるシステムに適用され、前記システムは、複数のゲストオペレーティングシステム１０１と１つのホストオペレーティングシステム１０２とを含む。各ゲストオペレーティングシステム１０１は、いずれも１つのｖＧｒａｌｏｃｃとフロントエンドドライバ１０１１とを含み、ホストオペレーティングシステム１０２は、バックエンドドライバ１０２１と、１つのＧｒａｌｏｃ１０２２と、１つのＧｒａｌｏｃサーバ１０２３とを含む。
【００１６】
図１に示されるシステムのいずれかのゲストオペレーティングシステム１０１が全てのゲストオペレーティングシステム１０１とホストオペレーティングシステム１０２が共有するＰＣＭ（Ｐｈｙｓｉｃａｌ Contiguous  Ｍｅｍｏｒｙ  連続物理メモリ）にアクセスする場合、図２に示すように、以下のプロセスに従って実施することができる。
【００１７】
２０１．ホストオペレーティングシステムで、各ゲストオペレーティングシステムに１つのネイティブウィンドウを割り当てる。
【００１８】
２０２．ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、新しく作成されたウィンドウに対応するＰＣＭサブ領域をホストオペレーティングシステムに申請する。
【００１９】
ここで、ハードウェアコーデック設計は、映像コーデック及び／又はカメラを含む。
【００２０】
具体的には、ゲストオペレーティングシステムで、ホストオペレーティングシステムへ共有メモリの申請を送信する。例えば、いずれかのゲストオペレーティングシステム１０１は、それに含まれているフロントエンドドライバ１０１１とバックエンドドライバ１０２１との間の通信により、Ｇｒａｌｏｃサーバ１０２３にＰＣＭサブ領域を申請する。
【００２１】
２０３．ホストオペレーティングシステムで、ゲストオペレーティングシステムにＰＣＭサブ領域を割り当て、そして前記ＰＣＭサブ領域の記述子をゲストオペレーティングシステムに返却する。
【００２２】
ここで、記述子は、対応するハードウェアコーデック設計に表示データをＰＣＭサブ領域に書き込むように指示するために用いられる。
【００２３】
具体的には、ホストオペレーティングシステムで、Ｇｒａｌｌｏｃにより、ゲストオペレーティングシステムに１つの共有メモリサブ領域を割り当てる。例えば、ホストオペレーティングシステム１０２がＧｒａｌｏｃ１０２２を呼び出して、いずれかのゲストオペレーティングシステム１０２１にＰＣＭサブ領域を割り当てるようにＧｒａｌｏｃサーバ１０２３に要求する。ホストオペレーティングシステム１０２は、フロントエンドドライバ１０１１とバックエンドドライバ１０２１との間の通信により、前記ゲストオペレーティングシステムにＰＣＭサブ領域に対応する記述子を返却する。
【００２４】
ステップ２０１からステップ２０３を経て、いずれかのゲストオペレーティングシステム１０１にＰＣＭサブ領域を割り当てると、Ｇｒａｌｌｏｃ１０２２の仮想化が実現される。
【００２５】
２０４．ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記ＰＣＭサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信する。
【００２６】
本ステップを具体的に実施する際に、さらに、ゲストオペレーティングシステムで、ハードウェアコーデック設計から送信された表示要求が検出されると、ホストオペレーティングシステムにメモリ記述子を伝達することができる。
【００２７】
また、本ステップを具体的に実施する際に、さらに、ゲストオペレーティングシステムで、ハードウェアコーデック設計から送信された表示要求が検出されると、ＰＣＭサブ領域内のデータをテクスチャに変換することができる。
【００２８】
２０５．ホストオペレーティングシステムで、ＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示する。
【００２９】
本ステップを具体的に実施する際に、ゲストオペレーティングシステムから伝達されたメモリ記述子に基づいてＰＣＭサブ領域を決定し、そして決定されたＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングすることができる。
【００３０】
本ステップを具体的に実施する際に、さらに、ＰＣＭサブ領域内のテクスチャに基づいて、ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングすることができる。
【００３１】
例えば、図３に示されるＣａｍｅｒａ  Ｐｒｅｖｉｅｗ（カメラプレビュー）シナリオにおいて、いずれかのゲストオペレーティングシステム１０１はＧｕｅｓｔ（ゲスト）であり、ホストオペレーティングシステム１０２はＨｏｓｔ（ホスト）である。Ｇｕｅｓｔは、ＧｕｅｓｔのフロントエンドドライバとＨｏｓｔのバックエンドドライバとの間の通信により、ＨｏｓｔのＧｒａｌｌｏｃサーバにＰＣＭサブ領域を要求する。Ｈｏｓｔは、ＰＣＭサブ領域に対応する記述子をＧｕｅｓｔに送信する。Ｇｕｅｓｔは記述子をＣａｍｅｒａに送信し、Ｃａｍｅｒａは記述子に基づいてプレビューデータをＰＣＭサブ領域に書き込む。Ｇｕｅｓｔは記述子をＤｉｓｐｌａｙ（ディスプレイ）に送信し、Ｄｉｓｐｌａｙは記述子に基づいてＰＣＭサブ領域からＣａｍｅｒａによって書き込まれたデータを読み取り、そして前記データをレンダリングして表示する。
【００３２】
本実施例に係る映像表示方法は、さらに、ＹＵＶ映像フォーマットに対するサポートも追加でき、それにより映像再生、カメラプレビューなどのアプリケーションシナリオをサポートすることもできる。各Ｇｕｅｓｔ側の表示フレームレートと切り替え速度を明らかに向上させることができ、映像再生やカメラプレビューなどのアプリケーションシナリオに対するサポートも製品のマルチメディア機能を大幅に向上させ、ユーザはより良好なインタラクティブな体験ができる。
【００３３】
例えば、映像表示のプロセスは、
１）Ｇｕｅｓｔ側が映像画面を表示するためのＷｉｎｄｏｗを申請し、それに応じてＰＣＭサブ領域を申請し、そして前記ＰＣＭサブ領域の記述子をＧｕｅｓｔ側に返却し、
２）Ｇｕｅｓｔ側が前記ＰＣＭサブ領域の記述子をハードウェアデコーダに送信し、ハードウェアデコーダは前記ＰＣＭサブ領域のアドレスを見つけてＤＭＡを介してデコードされたデータをＰＣＭサブ領域（プロセス全体にわたって、ＣＰＵを介する必要がなく、大量のＣＰＵリソースを節約する）に直接書き込み、１つのフレームを書き込んでからＯｐｅｎＧＬ  ＥＳの拡張テクスチャインタフェースを用いてＰＣＭサブ領域内のデータをＴｅｘｔｕｒｅに直接変換し、
３）マルチウィンドウを重ねてレンダリングして表示するとき、Ｈｏｓｔ側は、各Ｗｉｎｄｏｗの映像に対応する各フレームデータ全てをＧｕｅｓｔ側に対応するＮａｔｉｖｅ  Ｗｉｎｄｏｗに重ねてレンダリングし、ある１つのＮａｔｉｖｅ  Ｗｉｎｄｏｗが最前面に止められるとき、Ｈｏｓｔ側の表示システムは前記Ｎａｔｉｖｅ  Ｗｉｎｄｏｗを表示し、
ここまですると、１回の映像表示が完了する。
【００３４】
ここから分かるように、本実施例に係る映像表示方法において、物理アドレスが連続するメモリへのサポートと共有を実現したため、ＣＰＵによるデータ移行の面倒を省き、データのコピー速度が上がり、まだ、ＹＵＶデータに対する直接レンダリングをサポートすることにより、フォーマット変換とコピーのオーバーヘッドがなくなり、映像再生の表示効果も大幅に向上する。
【００３５】
また、Ｇｕｅｓｔ側の表示システムにＹＵＶフォーマットに対するレンダリングへのサポートを追加するとともに、物理メモリのデータをテクスチャとして直接レンダリングして表示することをサポートして、不必要なレンダリングの回数を減らすことができ、それにより表示効率を向上させることができる。
【００３６】
その有益な効果は、以下のとおりである
本願の実施例によれば、ホストオペレーティングシステムで、各ゲストオペレーティングシステムに１つのネイティブウィンドウを割り当て、ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、対応するＰＣＭサブ領域をホストオペレーティングシステムに申請し、ホストオペレーティングシステムで、ゲストオペレーティングシステムにＰＣＭサブ領域を割り当てて、前記ＰＣＭサブ領域の記述子を返却し、ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記ＰＣＭサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信し、ホストオペレーティングシステムで、ＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示することにより、共有メモリにより映像表示を実現する。
【００３７】
同じ発明構想に基づき、本実施例は映像表示装置を提供し、前記映像表示装置の問題を解決する原理は図２に示される映像表示方法と類似するため、ここでは重複な説明を省略し、前記映像表示装置の実施方法は、図２に示される映像表示方法の実施方法を参照してください。
【００３８】
図４に示すように、前記映像表示装置は、
ホストオペレーティングシステムで、各ゲストオペレーティングシステムに１つのネイティブウィンドウを割り当てるための第１の割当モジュール４０１と、
ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、ホストオペレーティングシステムに新しく作成されたウィンドウに対応する連続物理メモリＰＣＭサブ領域を申請するための申請モジュール４０２と、
ホストオペレーティングシステムで、ゲストオペレーティングシステムにＰＣＭサブ領域を割り当て、そして対応するハードウェアコーデック設計に表示データをＰＣＭサブ領域に書き込むように指示するための前記ＰＣＭサブ領域の記述子をゲストオペレーティングシステムに返却するための第２の割当モジュール４０３と、
ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記ＰＣＭサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信するための処理モジュール４０４と、
ホストオペレーティングシステムで、ＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示するための表示モジュール４０５とを含む。
【００３９】
必要に応じて、申請モジュール４０２は、
ゲストオペレーティングシステムで、ホストオペレーティングシステムへ共有メモリの申請を送信するために用いられ、
第２の割当モジュール４０３は、ホストオペレーティングシステムで、共有メモリ管理モジュールＧｒａｌｌｏｃによりゲストオペレーティングシステムにＰＣＭサブ領域を割り当てるために用いられる。
【００４０】
必要に応じて、前記装置は、さらに、
ゲストオペレーティングシステムで、ハードウェアコーデック設計から送信された表示要求が検出されると、メモリ記述子をホストオペレーティングシステムに伝達するための伝達モジュールと、
ゲストオペレーティングシステムから伝達されたメモリ記述子に基づいてＰＣＭサブ領域を決定し、そして決定されたＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングするための表示モジュール４０５とを含む。
【００４１】
必要に応じて、前記装置は、さらに、
ゲストオペレーティングシステムで、ハードウェアコーデック設計から送信された表示要求が検出されると、ＰＣＭサブ領域内のデータをテクスチャに変換するための変換モジュールと、
ＰＣＭサブ領域内のテクスチャに基づいて、ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングするための表示モジュール４０５とを含む。
【００４２】
必要に応じて、ハードウェアコーデック設計は、映像コーデック及び／又はカメラを含む。
【００４３】
その有益な効果は、以下のとおりである。
本願の実施例によれば、ホストオペレーティングシステムで、各ゲストオペレーティングシステムに１つのネイティブウィンドウを割り当て、ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、対応するＰＣＭサブ領域をホストオペレーティングシステムに申請し、ホストオペレーティングシステムで、ゲストオペレーティングシステムにＰＣＭサブ領域を割り当てて、前記ＰＣＭサブ領域の記述子を返却し、ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記ＰＣＭサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信し、ホストオペレーティングシステムで、ＰＣＭサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示することにより、共有メモリにより映像表示を実現する。
【００４４】
他の一形態では、本願の実施例は、電子機器をさらに提供し、図５に示すように、前記電子機器は、
メモリ５０１と、１つ又は複数のプロセッサ５０２とを含み、メモリは通信バスを介してプロセッサに接続され、プロセッサはメモリ内の命令を実行するように構成され、前記記憶媒体には、上記のいずれか１項に記載の映像表示方法における各ステップを実行するための命令が記憶されている。
【００４５】
他の一形態では、本願の実施例は、電子機器と組み合わせて使用するコンピュータプログラム製品を提供し、前記コンピュータプログラム製品は、コンピュータ可読記憶媒体に組み込まれた、上記のいずれか１項に記載の映像表示方法における各ステップを電子機器に実行させるための命令を含むコンピュータプログラムを含む。
【００４６】
当業者であれば、本願の実施形態は、方法、システム、又はコンピュータプログラム製品として提供できるということが理解できるだろう。従って、本願は、完全なハードウェアの実施形態、完全なソフトウェアの実施形態、又はソフトウェアとハードウェアとを組み合わせた実施形態の形を用いることができる。また、本願は、コンピュータ使用可能なプログラムコードを含む１つ又は複数のコンピュータ使用可能な記憶媒体（ディスク記憶装置、ＣＤ−ＲＯＭ、光記憶装置などを含むが、これらに限定されるものではない）に具現化されるコンピュータプログラム製品の形を用いるものである。
【００４７】
本願は、本願の実施形態に係る方法、機器（システム）、コンピュータプログラム製品のフローチャート及び／又はブロック図を参照して説明する。コンピュータプログラム命令により、フローチャート及び／又はブロック図における各々プロセス及び／又はブロック、及びフローチャート及び／又はブロック図におけるプロセス及び／又はブロックの組み合わせが実現できることが理解されたい。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、又は他のプログラマブルデータ処理機器のプロセッサに記憶されて１つの機器になり、コンピュータ又は他のプログラマブルデータ処理機器のプロセッサにより実行される命令でフローチャートの１つ又は複数のプロセス及び／又はブロック図の１つ又は複数のブロックにおいて指定される機能を実現するための装置が作られる。
【００４８】
また、コンピュータ又は他のプログラマブルデータ処理機器を特定の方法で動作するように導くことができるコンピュータ可読メモリに、これらのコンピュータプログラム命令を記憶することもでき、それにより前記コンピュータ可読メモリに記憶された命令で命令装置を含む製品が作られ、前記命令装置は、フローチャートの１つ又は複数のプロセス及び／又はブロック図の１つ又は複数のブロックにおいて指定される機能を実施する。
【００４９】
また、コンピュータ又は他のプログラム可能なデータ処理装置に、これらのコンピュータプログラム命令をロードして、コンピュータ又は他のプログラマブルデータ処理機器上で一連の操作ステップを実行することでコンピュータにより実施できる処理を生成し、それによりコンピュータ又は他のプログラマブルデータ処理機器で実行される命令により、フローチャートの１つ又は複数のプロセス及び／又はブロック図の１つ又は複数のブロックにおいて指定される機能を実現するためのステップが提供される。
【００５０】
本願の好適な実施形態を説明したが、当業者が基本的な発明概念を知っている限り、これらの実施形態に対してさらなる変更及び修正を行えることは明らかである。従って、添付の特許請求の範囲は、好適な実施形態及び本願の範囲に含まれるすべての変更及び修正を含むと解釈されることを意図している。
【図１】
2020507146.tif 000003
【図２】
2020507146.tif 000004
【図３】
2020507146.tif 000005
【図４】
2020507146.tif 000006
【図５】
2020507146.tif 000007
【国際調査報告】
2020507146.tif 000008
2020507146.tif 000009
2020507146.tif 000010
2020507146.tif 000011