IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 深▲せん▼前海達闥雲端智能科技有限公司の特許一覧

特許7058658映像表示方法、装置、電子機器及びコンピュータプログラム製品
<>
  • 特許-映像表示方法、装置、電子機器及びコンピュータプログラム製品 図1
  • 特許-映像表示方法、装置、電子機器及びコンピュータプログラム製品 図2
  • 特許-映像表示方法、装置、電子機器及びコンピュータプログラム製品 図3
  • 特許-映像表示方法、装置、電子機器及びコンピュータプログラム製品 図4
  • 特許-映像表示方法、装置、電子機器及びコンピュータプログラム製品 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-14
(45)【発行日】2022-04-22
(54)【発明の名称】映像表示方法、装置、電子機器及びコンピュータプログラム製品
(51)【国際特許分類】
   G06F 9/50 20060101AFI20220415BHJP
   G06F 9/455 20060101ALI20220415BHJP
【FI】
G06F9/50 120A
G06F9/455 150
【請求項の数】 9
(21)【出願番号】P 2019532731
(86)(22)【出願日】2016-12-27
(65)【公表番号】
(43)【公表日】2020-03-05
(86)【国際出願番号】 CN2016112497
(87)【国際公開番号】W WO2018119712
(87)【国際公開日】2018-07-05
【審査請求日】2019-06-17
(73)【特許権者】
【識別番号】517266861
【氏名又は名称】深▲せん▼前海達闥雲端智能科技有限公司
【氏名又は名称原語表記】CLOUDMINDS (SHENZHEN) ROBOTICS SYSTEMS CO., LTD.
【住所又は居所原語表記】23th Floor Building A, Tower 3 Wangjing SOHO, Chaoyang District Beijing 100102 (CN)
(74)【代理人】
【識別番号】110001139
【氏名又は名称】SK特許業務法人
(74)【代理人】
【識別番号】100130328
【弁理士】
【氏名又は名称】奥野 彰彦
(74)【代理人】
【識別番号】100130672
【弁理士】
【氏名又は名称】伊藤 寛之
(72)【発明者】
【氏名】孔祥暁
【審査官】三坂 敏夫
(56)【参考文献】
【文献】特開2006-190281(JP,A)
【文献】特開2016-059053(JP,A)
【文献】特開2016-212874(JP,A)
【文献】特表2008-527508(JP,A)
【文献】特開2009-145932(JP,A)
【文献】米国特許出願公開第2012/0278803(US,A1)
【文献】特開2016-220208(JP,A)
【文献】宮内 大 他,仮想計算機上での|/○デバイス仮想化方式,第75回(平成25年)全国大会講演論文集(1),2013年03月06日,第1-81頁-第1-82頁
【文献】片岡 啓明,LinuxのGUIシステムとAndroid採用のメリット,FPGAマガジン No.5,日本,CQ出版株式会社,2014年05月01日,第6頁~第15頁
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/455-9/54
(57)【特許請求の範囲】
【請求項1】
ホストオペレーティングシステムで、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当てるステップであって、各ゲストオペレーティングシステムは1つのvGrallocとフロントエンドドライバとを含み、ホストオペレーティングシステムは、バックエンドドライバと、1つのGrallocと、1つのGrallocサーバとを備える、割り当てるステップと、
ゲストオペレーティングシステムで、ハードウェアコーデックに共有メモリが必要である場合、ゲストオペレーティングシステムがフロントエンドドライバとホストオペレーティングシステムのバックエンドドライバとの間の通信により、ホストオペレーティングシステムへ共有メモリの申請を送信し、ホストオペレーティングシステムに新しく作成されたウィンドウに対応する連続物理メモリPCMサブ領域を申請するステップと、
ホストオペレーティングシステムで、ホストオペレーティングシステムが前記Grallocサーバに前記Grallocを要求し、前記ゲストオペレーティングシステムにPCMサブ領域を割り当て、フロントエンドドライバとバックエンドドライバとの間の通信により、対応するハードウェアコーデックに表示データをPCMサブ領域に書き込むように指示するための前記PCMサブ領域の記述子をゲストオペレーティングシステムに返却して、前記Grallocの仮想化が実現されるステップと、
ゲストオペレーティングシステムで、対応するハードウェアコーデックに前記PCMサブ領域の記述子を割り当て、ハードウェアコーデックから送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信するステップと、
ホストオペレーティングシステムで、PCMサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示するステップとを含み、
さらに、ゲストオペレーティングシステムで、ハードウェアコーデックから送信された表示要求が検出されると、PCMサブ領域内のデータをテクスチャに変換し、1つのフレームを書き込んでからOpenGL ESの拡張テクスチャインタフェースを用いてPCMサブ領域内のデータをテクスチャに直接変換し、
ホストオペレーティングシステムで、PCMサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングするステップは、
PCMサブ領域内のテクスチャに基づいて、ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングすることを含むことを特徴とする映像表示方法。
【請求項2】
さらに、ゲストオペレーティングシステムで、ハードウェアコーデックから送信された表示要求が検出されると、メモリ記述子をホストオペレーティングシステムに伝達することを含み、
ホストオペレーティングシステムで、PCMサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングするステップは、
ゲストオペレーティングシステムから伝達されたメモリ記述子に基づいてPCMサブ領域を決定し、そして決定されたPCMサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングすることを含む、ことを特徴とする請求項1に記載の映像表示方法。
【請求項3】
ハードウェアコーデックは、映像コーデック及び/又はカメラを含むことを特徴とする請求項1に記載の映像表示方法。
【請求項4】
ホストオペレーティングシステムで、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当てるための第1の割当モジュールであって、各ゲストオペレーティングシステムは1つのvGrallocとフロントエンドドライバとを含み、ホストオペレーティングシステムは、バックエンドドライバと、1つのGrallocと、1つのGrallocサーバとを備える第1の割当モジュールと、
ゲストオペレーティングシステムで、ハードウェアコーデックに共有メモリが必要である場合、ゲストオペレーティングシステムがフロントエンドドライバとホストオペレーティングシステムのバックエンドドライバとの間の通信により、ホストオペレーティングシステムへ共有メモリの申請を送信しホストオペレーティングシステムに新しく作成されたウィンドウに対応する連続物理メモリPCMサブ領域を申請するための申請モジュールと、
ホストオペレーティングシステムで、ホストオペレーティングシステムがGrallocサーバにGrallocを要求し、前記ゲストオペレーティングシステムにPCMサブ領域を割り当て、フロントエンドドライバとバックエンドドライバとの間の通信により、対応するハードウェアコーデックに表示データをPCMサブ領域に書き込むように指示するための前記PCMサブ領域の記述子をゲストオペレーティングシステムに返却し、前記Grallocの仮想化を実現する第2の割当モジュールと、
ゲストオペレーティングシステムで、対応するハードウェアコーデックに前記PCMサブ領域の記述子を割り当て、ハードウェアコーデックから送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信するための処理モジュールと、
ホストオペレーティングシステムで、PCMサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示するための表示モジュールと
ゲストオペレーティングシステムで、ハードウェアコーデックから送信された表示要求が検出されると、PCMサブ領域内のデータをテクスチャに変換し、1つのフレームを書き込んでからOpenGL ESの拡張テクスチャインタフェースを用いてPCMサブ領域内のデータをテクスチャに直接変換するための変換モジュールと、
ホストオペレーティングシステムで、PCMサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、PCMサブ領域内のテクスチャに基づいて、ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングするための表示モジュールとを含む、ことを特徴とする映像表示装置。
【請求項5】
申請モジュールは、ゲストオペレーティングシステムで、ホストオペレーティングシステムへ共有メモリの申請を送信するために用いられ、
第2の割当モジュールは、ホストオペレーティングシステムで、共有メモリ管理モジュールGrallocによりゲストオペレーティングシステムにPCMサブ領域を割り当てるために用いられる、ことを特徴とする請求項4に記載の装置。
【請求項6】
さらに、
ゲストオペレーティングシステムで、ハードウェアコーデックから送信された表示要求が検出されると、メモリ記述子をホストオペレーティングシステムに伝達するための伝達モジュールと、
ゲストオペレーティングシステムから伝達されたメモリ記述子に基づいてPCMサブ領域を決定し、そして決定されたPCMサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングするための表示モジュールとを含む、ことを特徴とする請求項4に記載の装置。
【請求項7】
ハードウェアコーデックは、映像コーデック及び/又はカメラを含むことを特徴とする請求項4に記載の装置。
【請求項8】
メモリと、1つ又は複数のプロセッサとを含み、メモリは通信バスを介してプロセッサに接続され、プロセッサはメモリ内の命令を実行するように構成され、記憶媒体には、請求項1から4のいずれか1項に記載の方法における各ステップを実行するための命令が記憶されていることを特徴とする電子機器。
【請求項9】
コンピュータ可読記憶媒体に組み込まれた、請求項1から3のいずれか1項に記載の方法における各ステップを電子機器に実行させるための命令を含むコンピュータプログラムを含む、電子機器と組み合わせて使用するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想化技術分野に関し、特に映像表示方法、装置、電子機器及びコンピュータプログラム製品に関する。
【背景技術】
【0002】
Gralloc(Graphic Memory Allocator)は、アンドロイド(Android)表示システム用にグーグル(Google)によって開発された共有メモリ管理モジュールである。前記共有メモリとは、物理アドレスが連続し、DMA(Direct Memory Access ダイレクトメモリアクセス)機器の直接アクセスをサポートするメモリ領域であり、GPU(Graphics Processing Unit グラフィックプロセッシングユニット)、VPU(Visual Processing Unit ビジュアルプロセッシングユニット)、カメラ(Camera)などのハードウェアデバイスが直接アクセスすることができ、さらに、OpenGL(Open Graphics Library オープングラフィックスライブラリ)としてのテクスチャ(texture)レンダリングもサポートする。
【0003】
Grallocにより異なるモジュール間でメモリを共有することができ、且つ前記共有メモリは、CPU(Central Processing Unit セントラルプロセッシングユニット)のコピーと処理を介さず、DMA機器が直接アクセスすることをサポートするため、CPUの負荷率を大幅に低下させ、CPUの使用率と並列処理能力を大幅に向上させる。
【0004】
仮想化技術の急速な発展に伴い、仮想化技術分野において、このような共有メモリにより映像を表示することは、解決すべき課題になっている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本願の実施例は、主に共有メモリにより映像を表示するための映像表示方法、装置、電子機器及びコンピュータプログラム製品を提供する。
【課題を解決するための手段】
【0006】
第1の態様では、本願の実施例に係る映像表示方法は、
ホストオペレーティングシステムで、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当てるステップと、
ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、ホストオペレーティングシステムに新しく作成されたウィンドウに対応する連続物理メモリPCMサブ領域を申請するステップと、
ホストオペレーティングシステムで、ゲストオペレーティングシステムにPCMサブ領域を割り当て、そして対応するハードウェアコーデック設計に表示データをPCMサブ領域に書き込むように指示するための前記PCMサブ領域の記述子をゲストオペレーティングシステムに返却するステップと、
ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記PCMサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信するステップと、
ホストオペレーティングシステムで、PCMサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示するステップとを含む。
【0007】
第2の態様では、本願の実施例に係る映像表示装置は、
ホストオペレーティングシステムで、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当てるための第1の割当モジュールと、
ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、ホストオペレーティングシステムに新しく作成されたウィンドウに対応する連続物理メモリPCMサブ領域を申請するための申請モジュールと、
ホストオペレーティングシステムで、ゲストオペレーティングシステムにPCMサブ領域を割り当て、そして対応するハードウェアコーデック設計に表示データをPCMサブ領域に書き込むように指示するための前記PCMサブ領域の記述子をゲストオペレーティングシステムに返却するための第2の割当モジュールと、
ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記PCMサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信するための処理モジュールと、
ホストオペレーティングシステムで、PCMサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示するための表示モジュールとを含む。
【0008】
第3の態様では、本願の実施例に係る電子機器は、
メモリと、1つ又は複数のプロセッサとを含み、メモリは通信バスを介してプロセッサに接続され、プロセッサはメモリ内の命令を実行するように構成され、記憶媒体には、第1の態様の方法における各ステップを実行するための命令が記憶されている。
【0009】
第3の態様では、本願の実施例に係る電子機器と組み合わせて使用するコンピュータプログラム製品は、コンピュータ可読記憶媒体に組み込まれた、第1の態様の方法における各ステップを電子機器に実行させるための命令を含むコンピュータプログラムを含む。
【発明の効果】
【0010】
本願の実施例によれば、ホストオペレーティングシステムで、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当て、ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、対応するPCMサブ領域をホストオペレーティングシステムに申請し、ホストオペレーティングシステムで、ゲストオペレーティングシステムにPCMサブ領域を割り当てて、前記PCMサブ領域の記述子を返却し、ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記PCMサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信し、ホストオペレーティングシステムで、PCMサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示することにより、共有メモリにより映像表示を実現する。
【図面の簡単な説明】
【0011】
以下、図面を参照しながら、本願の具体的な実施例について説明する。
図1】本願の実施例における映像表示方法を適用するシステムの構造を示す模式図である。
図2】本願の実施例における映像表示方法のプロセスを示す模式図である。
図3】本願の実施例における別の映像表示方法のプロセスを示す模式図である。
図4】本願の実施例における映像表示装置の構造を示す模式図である。
図5】本願の実施例における電子機器の構造を示す模式図である。
【発明を実施するための形態】
【0012】
本願の技術的解決手段と利点をより明確にするため、以下、添付図面を参照しながら、本願の実施例についてさらに詳しく説明するが、当然ながら、ここで説明される実施例は、本願の一部の実施例にすぎず、全ての実施例を網羅したものではない。また、矛盾がない限り、本願の実施例及び実施例の特徴を互いに結合することができる。
【0013】
発明者が発明の過程で気付いたことは以下のとおりである。
Grallocにより、1つのメモリに異なるモジュールが同時にアクセスすることができるだけでなく、CPUのコピーを介さず、DMAデバイスの前記メモリへの直接アクセスもサポートされるため、CPUの負荷率を大幅に低下させ、CPUの使用率と並列処理能力を大幅に向上させる。しかし、現在のところ、仮想オペレーティングシステムに対して、Granclocを仮想化するための現実的な解決策がなく、共有メモリにより映像を表示することが可能な現実的な解決策はさらにない。
【0014】
上記に鑑み、本願は、ホストオペレーティングシステムで、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当て、ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、対応するPCMサブ領域をホストオペレーティングシステムに申請し、ホストオペレーティングシステムで、ゲストオペレーティングシステムにPCMサブ領域を割り当てて、前記PCMサブ領域の記述子を返却し、ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記PCMサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信し、ホストオペレーティングシステムで、PCMサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示する、映像表示方法を提供する。
【0015】
本願にて提供される映像表示方法は、図1に示されるシステムに適用され、前記システムは、複数のゲストオペレーティングシステム101と1つのホストオペレーティングシステム102とを含む。各ゲストオペレーティングシステム101は、いずれも1つのvGraloccとフロントエンドドライバ1011とを含み、ホストオペレーティングシステム102は、バックエンドドライバ1021と、1つのGraloc1022と、1つのGralocサーバ1023とを含む。
【0016】
図1に示されるシステムのいずれかのゲストオペレーティングシステム101が全てのゲストオペレーティングシステム101とホストオペレーティングシステム102が共有するPCM(Physical Contiguous Memory 連続物理メモリ)にアクセスする場合、図2に示すように、以下のプロセスに従って実施することができる。
【0017】
201.ホストオペレーティングシステムで、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当てる。
【0018】
202.ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、新しく作成されたウィンドウに対応するPCMサブ領域をホストオペレーティングシステムに申請する。
【0019】
ここで、ハードウェアコーデック設計は、映像コーデック及び/又はカメラを含む。
【0020】
具体的には、ゲストオペレーティングシステムで、ホストオペレーティングシステムへ共有メモリの申請を送信する。例えば、いずれかのゲストオペレーティングシステム101は、それに含まれているフロントエンドドライバ1011とバックエンドドライバ1021との間の通信により、Gralocサーバ1023にPCMサブ領域を申請する。
【0021】
203.ホストオペレーティングシステムで、ゲストオペレーティングシステムにPCMサブ領域を割り当て、そして前記PCMサブ領域の記述子をゲストオペレーティングシステムに返却する。
【0022】
ここで、記述子は、対応するハードウェアコーデック設計に表示データをPCMサブ領域に書き込むように指示するために用いられる。
【0023】
具体的には、ホストオペレーティングシステムで、Grallocにより、ゲストオペレーティングシステムに1つの共有メモリサブ領域を割り当てる。例えば、ホストオペレーティングシステム102がGraloc1022を呼び出して、いずれかのゲストオペレーティングシステム1021にPCMサブ領域を割り当てるようにGralocサーバ1023に要求する。ホストオペレーティングシステム102は、フロントエンドドライバ1011とバックエンドドライバ1021との間の通信により、前記ゲストオペレーティングシステムにPCMサブ領域に対応する記述子を返却する。
【0024】
ステップ201からステップ203を経て、いずれかのゲストオペレーティングシステム101にPCMサブ領域を割り当てると、Gralloc1022の仮想化が実現される。
【0025】
204.ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記PCMサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信する。
【0026】
本ステップを具体的に実施する際に、さらに、ゲストオペレーティングシステムで、ハードウェアコーデック設計から送信された表示要求が検出されると、ホストオペレーティングシステムにメモリ記述子を伝達することができる。
【0027】
また、本ステップを具体的に実施する際に、さらに、ゲストオペレーティングシステムで、ハードウェアコーデック設計から送信された表示要求が検出されると、PCMサブ領域内のデータをテクスチャに変換することができる。
【0028】
205.ホストオペレーティングシステムで、PCMサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示する。
【0029】
本ステップを具体的に実施する際に、ゲストオペレーティングシステムから伝達されたメモリ記述子に基づいてPCMサブ領域を決定し、そして決定されたPCMサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングすることができる。
【0030】
本ステップを具体的に実施する際に、さらに、PCMサブ領域内のテクスチャに基づいて、ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングすることができる。
【0031】
例えば、図3に示されるCamera Preview(カメラプレビュー)シナリオにおいて、いずれかのゲストオペレーティングシステム101はGuest(ゲスト)であり、ホストオペレーティングシステム102はHost(ホスト)である。Guestは、GuestのフロントエンドドライバとHostのバックエンドドライバとの間の通信により、HostのGrallocサーバにPCMサブ領域を要求する。Hostは、PCMサブ領域に対応する記述子をGuestに送信する。Guestは記述子をCameraに送信し、Cameraは記述子に基づいてプレビューデータをPCMサブ領域に書き込む。Guestは記述子をDisplay(ディスプレイ)に送信し、Displayは記述子に基づいてPCMサブ領域からCameraによって書き込まれたデータを読み取り、そして前記データをレンダリングして表示する。
【0032】
本実施例に係る映像表示方法は、さらに、YUV映像フォーマットに対するサポートも追加でき、それにより映像再生、カメラプレビューなどのアプリケーションシナリオをサポートすることもできる。各Guest側の表示フレームレートと切り替え速度を明らかに向上させることができ、映像再生やカメラプレビューなどのアプリケーションシナリオに対するサポートも製品のマルチメディア機能を大幅に向上させ、ユーザはより良好なインタラクティブな体験ができる。
【0033】
例えば、映像表示のプロセスは、
1)Guest側が映像画面を表示するためのWindowを申請し、それに応じてPCMサブ領域を申請し、そして前記PCMサブ領域の記述子をGuest側に返却し、
2)Guest側が前記PCMサブ領域の記述子をハードウェアデコーダに送信し、ハードウェアデコーダは前記PCMサブ領域のアドレスを見つけてDMAを介してデコードされたデータをPCMサブ領域(プロセス全体にわたって、CPUを介する必要がなく、大量のCPUリソースを節約する)に直接書き込み、1つのフレームを書き込んでからOpenGL ESの拡張テクスチャインタフェースを用いてPCMサブ領域内のデータをTextureに直接変換し、
3)マルチウィンドウを重ねてレンダリングして表示するとき、Host側は、各Windowの映像に対応する各フレームデータ全てをGuest側に対応するNative Windowに重ねてレンダリングし、ある1つのNative Windowが最前面に止められるとき、Host側の表示システムは前記Native Windowを表示し、
ここまですると、1回の映像表示が完了する。
【0034】
ここから分かるように、本実施例に係る映像表示方法において、物理アドレスが連続するメモリへのサポートと共有を実現したため、CPUによるデータ移行の面倒を省き、データのコピー速度が上がり、まだ、YUVデータに対する直接レンダリングをサポートすることにより、フォーマット変換とコピーのオーバーヘッドがなくなり、映像再生の表示効果も大幅に向上する。
【0035】
また、Guest側の表示システムにYUVフォーマットに対するレンダリングへのサポートを追加するとともに、物理メモリのデータをテクスチャとして直接レンダリングして表示することをサポートして、不必要なレンダリングの回数を減らすことができ、それにより表示効率を向上させることができる。
【0036】
その有益な効果は、以下のとおりである
本願の実施例によれば、ホストオペレーティングシステムで、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当て、ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、対応するPCMサブ領域をホストオペレーティングシステムに申請し、ホストオペレーティングシステムで、ゲストオペレーティングシステムにPCMサブ領域を割り当てて、前記PCMサブ領域の記述子を返却し、ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記PCMサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信し、ホストオペレーティングシステムで、PCMサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示することにより、共有メモリにより映像表示を実現する。
【0037】
同じ発明構想に基づき、本実施例は映像表示装置を提供し、前記映像表示装置の問題を解決する原理は図2に示される映像表示方法と類似するため、ここでは重複な説明を省略し、前記映像表示装置の実施方法は、図2に示される映像表示方法の実施方法を参照してください。
【0038】
図4に示すように、前記映像表示装置は、
ホストオペレーティングシステムで、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当てるための第1の割当モジュール401と、
ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、ホストオペレーティングシステムに新しく作成されたウィンドウに対応する連続物理メモリPCMサブ領域を申請するための申請モジュール402と、
ホストオペレーティングシステムで、ゲストオペレーティングシステムにPCMサブ領域を割り当て、そして対応するハードウェアコーデック設計に表示データをPCMサブ領域に書き込むように指示するための前記PCMサブ領域の記述子をゲストオペレーティングシステムに返却するための第2の割当モジュール403と、
ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記PCMサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信するための処理モジュール404と、
ホストオペレーティングシステムで、PCMサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示するための表示モジュール405とを含む。
【0039】
必要に応じて、申請モジュール402は、
ゲストオペレーティングシステムで、ホストオペレーティングシステムへ共有メモリの申請を送信するために用いられ、
第2の割当モジュール403は、ホストオペレーティングシステムで、共有メモリ管理モジュールGrallocによりゲストオペレーティングシステムにPCMサブ領域を割り当てるために用いられる。
【0040】
必要に応じて、前記装置は、さらに、
ゲストオペレーティングシステムで、ハードウェアコーデック設計から送信された表示要求が検出されると、メモリ記述子をホストオペレーティングシステムに伝達するための伝達モジュールと、
ゲストオペレーティングシステムから伝達されたメモリ記述子に基づいてPCMサブ領域を決定し、そして決定されたPCMサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングするための表示モジュール405とを含む。
【0041】
必要に応じて、前記装置は、さらに、
ゲストオペレーティングシステムで、ハードウェアコーデック設計から送信された表示要求が検出されると、PCMサブ領域内のデータをテクスチャに変換するための変換モジュールと、
PCMサブ領域内のテクスチャに基づいて、ゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングするための表示モジュール405とを含む。
【0042】
必要に応じて、ハードウェアコーデック設計は、映像コーデック及び/又はカメラを含む。
【0043】
その有益な効果は、以下のとおりである。
本願の実施例によれば、ホストオペレーティングシステムで、各ゲストオペレーティングシステムに1つのネイティブウィンドウを割り当て、ゲストオペレーティングシステムで、ハードウェアコーデック設計に共有メモリが必要である場合、対応するPCMサブ領域をホストオペレーティングシステムに申請し、ホストオペレーティングシステムで、ゲストオペレーティングシステムにPCMサブ領域を割り当てて、前記PCMサブ領域の記述子を返却し、ゲストオペレーティングシステムで、対応するハードウェアコーデック設計に前記PCMサブ領域の記述子を割り当て、ハードウェアコーデック設計から送信された表示要求が検出されると、表示要求をホストオペレーティングシステムに送信し、ホストオペレーティングシステムで、PCMサブ領域内のデータに基づいてゲストオペレーティングシステムに対応するネイティブウィンドウをレンダリングし、そして前記ネイティブウィンドウを表示することにより、共有メモリにより映像表示を実現する。
【0044】
他の一形態では、本願の実施例は、電子機器をさらに提供し、図5に示すように、前記電子機器は、
メモリ501と、1つ又は複数のプロセッサ502とを含み、メモリは通信バスを介してプロセッサに接続され、プロセッサはメモリ内の命令を実行するように構成され、前記記憶媒体には、上記のいずれか1項に記載の映像表示方法における各ステップを実行するための命令が記憶されている。
【0045】
他の一形態では、本願の実施例は、電子機器と組み合わせて使用するコンピュータプログラム製品を提供し、前記コンピュータプログラム製品は、コンピュータ可読記憶媒体に組み込まれた、上記のいずれか1項に記載の映像表示方法における各ステップを電子機器に実行させるための命令を含むコンピュータプログラムを含む。
【0046】
当業者であれば、本願の実施形態は、方法、システム、又はコンピュータプログラム製品として提供できるということが理解できるだろう。従って、本願は、完全なハードウェアの実施形態、完全なソフトウェアの実施形態、又はソフトウェアとハードウェアとを組み合わせた実施形態の形を用いることができる。また、本願は、コンピュータ使用可能なプログラムコードを含む1つ又は複数のコンピュータ使用可能な記憶媒体(ディスク記憶装置、CD-ROM、光記憶装置などを含むが、これらに限定されるものではない)に具現化されるコンピュータプログラム製品の形を用いるものである。
【0047】
本願は、本願の実施形態に係る方法、機器(システム)、コンピュータプログラム製品のフローチャート及び/又はブロック図を参照して説明する。コンピュータプログラム命令により、フローチャート及び/又はブロック図における各々プロセス及び/又はブロック、及びフローチャート及び/又はブロック図におけるプロセス及び/又はブロックの組み合わせが実現できることが理解されたい。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、又は他のプログラマブルデータ処理機器のプロセッサに記憶されて1つの機器になり、コンピュータ又は他のプログラマブルデータ処理機器のプロセッサにより実行される命令でフローチャートの1つ又は複数のプロセス及び/又はブロック図の1つ又は複数のブロックにおいて指定される機能を実現するための装置が作られる。
【0048】
また、コンピュータ又は他のプログラマブルデータ処理機器を特定の方法で動作するように導くことができるコンピュータ可読メモリに、これらのコンピュータプログラム命令を記憶することもでき、それにより前記コンピュータ可読メモリに記憶された命令で命令装置を含む製品が作られ、前記命令装置は、フローチャートの1つ又は複数のプロセス及び/又はブロック図の1つ又は複数のブロックにおいて指定される機能を実施する。
【0049】
また、コンピュータ又は他のプログラム可能なデータ処理装置に、これらのコンピュータプログラム命令をロードして、コンピュータ又は他のプログラマブルデータ処理機器上で一連の操作ステップを実行することでコンピュータにより実施できる処理を生成し、それによりコンピュータ又は他のプログラマブルデータ処理機器で実行される命令により、フローチャートの1つ又は複数のプロセス及び/又はブロック図の1つ又は複数のブロックにおいて指定される機能を実現するためのステップが提供される。
【0050】
本願の好適な実施形態を説明したが、当業者が基本的な発明概念を知っている限り、これらの実施形態に対してさらなる変更及び修正を行えることは明らかである。従って、添付の特許請求の範囲は、好適な実施形態及び本願の範囲に含まれるすべての変更及び修正を含むと解釈されることを意図している。
図1
図2
図3
図4
図5