JP2016508679A - 複数の視覚コンポーネントを有する画面を共有するためのシステム、装置、および方法 - Google Patents

複数の視覚コンポーネントを有する画面を共有するためのシステム、装置、および方法 Download PDF

Info

Publication number
JP2016508679A
JP2016508679A JP2015553852A JP2015553852A JP2016508679A JP 2016508679 A JP2016508679 A JP 2016508679A JP 2015553852 A JP2015553852 A JP 2015553852A JP 2015553852 A JP2015553852 A JP 2015553852A JP 2016508679 A JP2016508679 A JP 2016508679A
Authority
JP
Japan
Prior art keywords
visual component
computing device
compressed data
visual
video
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.)
Granted
Application number
JP2015553852A
Other languages
English (en)
Other versions
JP6333858B2 (ja
Inventor
ハオピン・ユ
シン・ワン
Original Assignee
ホアウェイ・テクノロジーズ・カンパニー・リミテッド
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 ホアウェイ・テクノロジーズ・カンパニー・リミテッド filed Critical ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Publication of JP2016508679A publication Critical patent/JP2016508679A/ja
Application granted granted Critical
Publication of JP6333858B2 publication Critical patent/JP6333858B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/27Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding involving both synthetic and natural picture components, e.g. synthetic natural hybrid coding [SNHC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC

Abstract

本発明の実施形態は、ローカルコンピューティングデバイスおよびリモートコンピューティングデバイスを含んでいる画面共有技術を提供するものである。ローカルコンピューティングデバイスは、ローカルコンピューティングデバイスのフレームバッファから取り込まれた画素データをビデオストリームへと圧縮する。ローカルコンピューティングデバイスは、ビデオ視覚コンポーネントを表示すべきであると判断すると、ビデオ視覚コンポーネント、位置情報および時間的情報に関する圧縮データを取得する。リモートコンピューティングデバイスは、圧縮データおよびビデオストリームを別々の復号器で復号し、時間的情報および位置情報に従って、そのモニタ上にビデオストリームおよび圧縮データを表示する。そのため、前述の実施形態は、より優れた符号化効率、より優れた符号化品質、およびより低いビットレートをもたらすものである。

Description

本出願は、2013年1月17日に出願した「New system architecture and solutions for compressing and encoding screen content」という名称の米国仮出願第61/753,823号の優先権を主張するものである。
本発明は、一般に画面共有技術に関し、より詳細には、画面共有のために、あるネットワーキングデバイスから別のネットワーキングデバイスに画面コンテンツを送信することに関するものである。
コンピュータなどのコンピューティングデバイス間での画面共有は、様々な位置の人々が情報を共有して様々なタスクを達成するための重要なツールである。たとえば、リモートコンピューティングデバイスに問題が生じると、閲覧側デバイス(viewing device)における技術者は、コンピュータにサインオンし、問題のリモートコンピューティングデバイスのグラフィカルユーザインターフェース(GUI)を閲覧することにより、その問題に対処することができる可能性がある。これによって、技術者が問題の現場に行く必要性が解消される。画面共有により、作業者は、ホームコンピュータ、ラップトップ、さらにはPDAなどを含む、インターネットへの接続が可能な任意のデバイスから、自分の業務用コンピュータにアクセスすることもできる。画面共有の別の利点にはプレゼンテーションの共有があり、これによって、無味乾燥なテレビ会議が魅力的なオンラインプレゼンテーションになる。
画面コンテンツを共有するために、モニタ上に表示された画面コンテンツを収集してリモートコンピューティングデバイスに送信する必要がある。従来、ローカルコンピューティングデバイスは、たとえば20フレーム/秒といった特定のレートで画面の画像の画素データをサンプリングする。画面の画像のサンプリングされた画素データは、次いで圧縮され、パッケージ化されて、リモートコンピューティングデバイスに送信される。リモートコンピューティングは、受け取ったデータを圧縮解除して、そのモニタ上に表示する。あるいは、ネットワーク資源の消費を低減するために、ローカルコンピューティングデバイスは、全体の画面の画像を送信する代わりに、表示すべき画面の画像を以前の画面表示と比較して、以前の画面の画像に対するアップデートのみをリモートコンピューティングデバイスに送信してもよい。
画面コンテンツに静的画像しか含まれていなければ、画面共有の従来のやり方は満足できるように機能する。しかしながら、画面コンテンツがビデオ画像を含んでいると、不満足な結果がもたらされる。リモートコンピューティングデバイスが、共有デバイスによって送信される、取り込まれた画面の画素データに基づいて共有画面を再生すると、再生される画面のビデオ画像の品質がかなり劣化する可能性がある。
本発明の一実施形態による画面共有システムの総合的な構成を示す、画面共有システムのブロック図である。 本発明の一実施形態によるコンピューティングデバイスの構造を示す図である。 一実施形態によるコンピューティングデバイス上に表示された視覚コンポーネントを示す図である。 別のコンピューティングデバイスと共有するように、一実施形態による、違ったやり方で別個に処理されている様々な視覚コンポーネントを示す図である。 コンピューティングデバイスのメモリに記憶されたオペレーションシステムおよび圧縮ファイルと一緒に、本発明の一実施形態による画面共有アプリケーションを示すブロック図である。 一実施形態による、画面共有を実施するための例示的ステップを表す流れ図である。 一実施形態による、画面共有を実施するための例示的ステップを表す流れ図である。 一実施形態によって、違ったやり方で別個に処理されて、送信すべきデータストリームに多重分離される様々な視覚コンポーネントを示す図である。 一実施形態によって、違ったやり方で別個に復号される、受信された様々な視覚コンポーネントを示す図である。
図1は、本発明の一実施形態による画面共有システム100の総合的な構成を示すものである。画面共有システムは、ネットワーク接続を介して互いに通信するように接続されているローカルコンピューティングデバイス110とリモートコンピューティングデバイス120を含む。サードパーティのコンテンツソース130は、ローカルコンピューティングデバイス110で表示するように圧縮データを供給する。圧縮データは、Moving Picture Experts Group(MPEG)ファイル、Joint Photographic Experts Group(JPEG)ファイル、または他の圧縮ファイルでよい。ローカルコンピューティングデバイス110が、画面共有のための圧縮された画面コンテンツデータをリモートコンピューティングデバイス120に送信し、リモートコンピューティングデバイス120は、圧縮された画面コンテンツデータを受信し、圧縮された画面コンテンツデータを圧縮解除して、そのモニタ上に画面コンテンツを表示することにより、画面共有動作を達成する能力を有する。
ネットワークの例には、それに限定されないが、ローカルエリアネットワーク(LAN)、メトロエリアネットワーク(MAN)、およびインターネットまたはワールドワイドウェブなどの広域ネットワーク(WAN)が含まれる。ローカルコンピューティングデバイス110およびリモートコンピューティングデバイス120は、標準電話回線、デジタル加入者線(DSL)、非同期DSL、LANまたはWANのリンク(たとえばT1、T3)、広帯域接続(Frame Relay、ATM)、およびワイヤレス接続(たとえば802.11(a)、802.11(b)、802.11(g))などの様々な接続のうちの1つを介してネットワークに接続してよい。
図2に示されるローカルコンピューティングデバイス110は、中央処理装置(CPU)115、グラフィック処理ユニット(GPU)114、専用の復号器113、メモリ116、フレームバッファ112およびモニタ111を含み得る。ローカルコンピューティングデバイス110は、当業者には理解されるように、マウスまたはキーボードなどの他の構成要素を含み得る。リモートコンピューティングデバイス120は、類似の(または異なる)構成を有してよい。
メモリ116は、読取り専用のメモリ(ROM)などの不揮発性コンピュータ記憶媒体およびランダムアクセスメモリ(RAM)などの揮発性コンピュータ記憶媒体を含み得る。一般に、ROMに記憶された基本入出力システム(BIOS)は、コンピューティングデバイスの起動およびハードウェアの初期化を含めて、コンピュータシステムの基本操作を制御するためのプログラムコードを含有している。RAM内に記憶されるのはプログラムコードおよびデータである。プログラムコードには、それに限定されないが、アプリケーションプログラム、プログラムモジュール(たとえばブラウザのプラグイン)およびオペレーションシステム(たとえばウィンドウズ(登録商標)オペレーティングシステム)が含まれる。メモリ116は、互いに物理的に分離された複数の構成要素を含み得る。たとえば、RAMの一部分がグラフィックスカードに配置され、RAMの別の部分がPeripheral Component Interconnect Express(PCIe)インターフェースを介してローカルコンピューティングデバイス110の他の構成要素に接続される。それらは、総体として「メモリ」と称される。
フレームバッファ112は、メモリのRAMの一部分でよく、ローカルコンピューティングデバイス110のモニタ111上に表示可能なグラフィックコンテンツを示すように、CPU 115、GPU 114、または専用の復号器113によって生成された非圧縮の画素レベルのデータを記憶する。一般に、フレームバッファ112はグラフィックスカードに配置される。
CPU 115は、命令の取出しおよび実行に適したマイクロプロセッサでよく、かつ/または、ソフトウェアプログラムの機能(functionality software programs)を実施するように電子回路を構成することができる。GPU 114は、グラフィックスレンダリングプロシージャを実行するのに必要な計算を最適化するように開発されている特化されたプロセッサである。GPU 114は、データを処理して、モニタ111上に表示可能な画像の画素データを生成する。一般に、GPU 114は、グラフィックスカードのプリント回路基板上に実装される。MPEG復号器、JPEG復号器などの専用の復号器113は、たとえばMPEGビデオまたはJPEG画像といった特定の圧縮データを圧縮解除するように構成されている。専用の復号器113は、GPU 115に組み込まれてよく、またはGPU 115と一緒にグラフィックスカード上に実装された分離モジュールでもよい。専用の復号器113は、必ずしも前述のようなハードウェアの形態ではなく、当業者には理解されるようにソフトウェアとして実施することも可能である。説明のために、この特許出願で「プロセッサ」と称される用語は、GPU 114、専用の復号器113、CPU 114またはGPU 114、専用の復号器113、およびCPU 114の任意の組合せであり得る。
図2および図3を参照して、ローカルコンピューティングデバイス110は、たとえばワードでテキストを編集すること、またはスプレッドシート、ウェブブラウザでウェブページをブラウズすること、ビデオゲームをすること、写真を表示すること、および、映画を見ることなど、様々なソフトウェアプログラムを用いて様々なことをするのに用いられ得る。したがって、様々な視覚コンポーネント、すなわちテキスト、グラフィックス、2D/3D動画、画像、ビデオなどが、ローカルコンピューティングデバイス110のモニタ111上に表示され得る。モニタ111上に表示される画面コンテンツの視覚コンポーネントは、様々なタイプに分類され得る。画面コンテンツの第1の視覚コンポーネント1112すなわちカテゴリ1には、たとえばテキストおよびグラフィックス、2D/3D動画1114、さらには復号されたビジュアルコンテンツなど、GPU 114のグラフィックプロセッサによって生成されたすべてのものが含まれる。通常、第1のカテゴリのこれらのデータは、RGB画素として、GPU 114の内部のフレームメモリまたはバッファ(FB)に保存される。第2の視覚コンポーネントすなわちカテゴリ2は、モニタ111に表示されるビデオ1111および画像1113などの前もって圧縮されたコンテンツを有する。一般に、ビデオ視覚コンポーネント1111および画像視覚コンポーネント1113は、GPU 114または専用の復号器113によって復号される。たとえば画像ファイルといった圧縮データは、JPEG(Joint Photographic Experts Group)ファイル、Exif(Exchaneable image file format)ファイル、TIFF(Tagged Image File Format)ファイル、GIF(Graphics Interchange Format)ファイル、PNG(Portable Network Graphics)ファイルなどとして圧縮されてよく、ビデオファイルは、MPEG-2、MPEG-4、AVI、MP4などとして圧縮されてよい。ビデオ視覚コンポーネント1111または画像視覚コンポーネント1113の画素データは、第1の視覚コンポーネント1112と一緒にフレームバッファ112に保存されて、モニタ111に表示される全体の画像を形成してよく、あるいは、フレームバッファ112からの第1の視覚コンポーネントの画素データに対して、オーバーレイプロセスによって、オンザフライで一緒に加えられて、モニタ111への最終出力のビデオ信号を生成してもよい。第1の視覚コンポーネント1112の特定のコンテンツは、たとえば2D/3D動画1114といった異なる特徴を有してよく、そのようなコンテンツは、第1の視覚コンポーネントから取り出され、圧縮されて、第1の視覚コンポーネントからリモートコンピューティングデバイス120へ別個に送信され得る。説明のために、そのようなコンテンツは「第3の視覚コンポーネント」と名付けられ、やはりプロセッサによって生成されて、フレームバッファ112に保存されるが、2D/3D動画1114など、異なる特徴を有し得る。
今日のデスクトップ/画面共有アプリケーションの大部分で、ローカルコンピューティングデバイス110は、フレームバッファ112に保存された画素データを圧縮して、圧縮された画素データをリモートコンピューティングデバイス120へ送信することにより、視覚コンポーネントをリモートコンピューティングデバイス120と共有する。GPUの設計に依拠して、前述のビデオコンポーネントまたは画像コンポーネントがフレームバッファ112に保存されなくてもよく、その結果、リモートコンピューティングデバイス上に黒/白領域が見える可能性がある。しかしながら、これらの黒/白領域は、ビデオおよび/または画像などの実際の圧縮解除されたデータで満たされるので、ローカルコンピューティングデバイス上のモニタには現れないはずである。したがって、この種の画面/デスクトップの共有の解決策は不十分なことがあり、ほとんどのとき、許容されない可能性がある。しかしながら、第1の視覚コンポーネントおよび第2の視覚コンポーネントを、画面を共有する目的で取得することができるアプリケーションもあり得る。基本的に、この種の解決策は、それらの前もって圧縮されたビデオファイルおよび/または画像ファイルを最初に圧縮解除して、次いで、それらを第1の視覚コンポーネント1112(テキスト/グラフィックス/動画)の画素データと一緒に加えてから圧縮して、リモートコンピューティングデバイス120向けのビデオストリームにする。この第2の手法では、前もって圧縮されたビデオファイルおよび画像ファイルが圧縮解除され、画面コンテンツの一部分として再圧縮されることになる。したがって、画面コンテンツの圧縮がかなり複雑になり、通常は、圧縮性能が不十分になる。これは、主として、画面共有アプリケーションが、しばしば実時間処理および圧縮を必要とするという事実によるものであり得る。これらのビデオおよび画像は、圧縮されてからローカルコンピューティングデバイス110に来るので、画面共有のために再び圧縮するのは、有効で洗練されたエンジニアリング解ではないであろう。
図4に示されるように、ローカルコンピューティングデバイス110上に示された視覚コンポーネントは、第1の視覚コンポーネント1112、ビデオ視覚コンポーネント1111、画像コンポーネント1113、および第1の視覚コンポーネント1112から取り出された第3の視覚コンポーネント1114を含む。すべての視覚コンポーネントがビデオストリームへと圧縮されて、ビデオストリームがリモートコンピューティングデバイスと共有されるのではなく、各視覚コンポーネントが違ったやり方で別個に処理されてよい。たとえば、プロセッサによって生成されてフレームバッファ112に保存されている第1の視覚コンポーネント1112は、他の視覚コンポーネントのデータとは別個にビデオストリームへと圧縮され得る。圧縮されたビデオファイルまたは圧縮された画像ファイルなどの圧縮データが、圧縮解除/再圧縮のプロシージャを経験することなくリモートコンピューティングデバイス120に送信されることにより、ビデオ視覚コンポーネント1111向けに圧縮されたビデオファイルまたは画像視覚コンポーネント1113向けに圧縮された画像ファイルなどの前もって圧縮された第2の視覚コンポーネントが、リモートコンピューティングデバイス120と共有されてよい。別の例として、第1の視覚コンポーネントから取り出された第3の視覚コンポーネントが、背景コンポーネントとは別個に圧縮されてもよい。別々の視覚コンテンツを違ったやり方で処理する主な理由は、(1)それらの特徴がかなり異なる可能性があるため、ビデオコーデックが単一であると圧縮性能が不十分になる恐れがあり、(2)それらのうちいくつかは、コンピュータに来るとき、たとえばMPEG1/MPEG2/VC8/JPEG/JPEG2kなどの圧縮されたビデオおよび画像に既に圧縮されていることがあり、したがって、それらを再び符号化するのは、計算リソースの一種の浪費であって、大抵の場合、再符号化によって見栄えが低下することを意味するためである。そのため、前述の実施形態は、より優れた符号化効率、より優れた符号化品質、およびより低いビットレートをもたらすものである。
図5を参照して、オペレーティングシステム1167、ビデオファイルおよび/または画像ファイルなどの圧縮ファイル1166、ならびに画面共有アプリケーション1164が、ローカルコンピューティングデバイス110のメモリ111(図5には示されていない)に記憶されている。画面共有アプリケーション1164は、画素データ取込みモジュール1161、メタデータ取得モジュール1169、検出モジュール1170、圧縮モジュール1162、圧縮データ取得モジュール1165、および送信モジュール1163を含む。
図6A、図6Bとともに図5を参照する。これらの図は、画面共有を実施する一実施形態を表すものである。
画素データ取込みモジュール1161は、フレームバッファ112から第1の視覚コンポーネントの画素データを取り込む(ステップ601)。画素データ取込みモジュール1161は、視覚コンポーネントの画素データを、適切なレートおよび分解能(たとえばMPEG準拠のフレームレートおよび分解能)でサンプリングしてよい。
ネットワークおよびリモートコンピューティングデバイスの最大の許容データレートによって課された帯域幅制限に適合し得るビデオストリームを生成するために、取り込まれた画素データを直接送信するのでなく、取り込まれた画素データを圧縮モジュール1162が圧縮する(ステップ602)。圧縮フォーマットは、MPEG(Motion Picture Experts Group)でよく、またはリモートコンピューティングデバイスによってサポートされた任意のタイプの圧縮フォーマットおよび/またはメディアストリームフォーマットでもよい。具体的には、図7に示されるように、圧縮モジュール1162は、第1の視覚コンポーネント1112を圧縮するための第1の符号器1131と、第1の視覚コンポーネント1112から取り出される第3の視覚コンポーネントを圧縮するための第2の符号器1132とを含み得る。第1の符号器によって圧縮された第1の視覚コンポーネントの画素データがビデオストリームを形成し、一方、第2の符号器によって圧縮された第3の視覚コンポーネントの画素データが、第1の視覚コンポーネントのビデオストリームとは別個にもう1つのビデオストリームを形成する。圧縮モジュール1162が第1の視覚コンポーネントを圧縮するとき、違ったやり方で処理されることになる他の視覚コンポーネントで占有された画面上の領域は、何らかのテクスチャ(線など)、平坦なフィールド、または第1の視覚コンポーネントの全体の総合的ビットレートを低下させるのを支援する限り任意の色のテキストを表す画素で満たされてよい。同様に、第3の視覚コンポーネントが第1の視覚コンポーネントとは別個に圧縮されて送信される場合、第3の視覚コンポーネントで占有された画面上の領域も、何らかのテクスチャ(線など)、平坦なフィールド、または第1の視覚コンポーネントの全体の総合的ビットレートを低下させるのを支援する限り任意の色のテキストを表す画素で満たされ得る。
検出モジュール1170は、ローカルコンピューティングデバイス110の画面が、ビデオ視覚コンポーネントまたは画像視覚コンポーネントなど、第2の視覚コンポーネントを表示しようとしていると判断する(ステップ603)。ビデオ視覚コンポーネントと画像視覚コンポーネントの両方が圧縮データから圧縮解除される。判断するための多くのやり方がある。たとえば、ユーザが、圧縮ファイルを開くように指令を与えたのが検出される。別の例として、検出モジュールは、圧縮データがGPU 114または専用の復号器113によって圧縮解除されていること、または圧縮データが圧縮解除されてフレームバッファ112に保存されるということに基づいて判断する。
圧縮データ取得モジュール1165は、ローカルコンピューティングデバイスのメモリから圧縮データを取得する(ステップ604)。一旦、ステップ603で判断されると、ローカルコンピューティングデバイス110は、圧縮データを取得して、リモートコンピューティングデバイス120に送信する準備をすることになる。
様々な視覚コンポーネントを、リモートコンピューティングデバイス120上に、ローカルコンピューティングデバイス110上に表示されるのと同様に表示するために、メタデータ取得モジュール1169は、時間的情報および/または位置情報を含んでいるメタデータ1120を取得してよい(ステップ605および606)。時間的情報は、時間スタンプ、開始、終了、期間などに関する情報を含み得、様々な視覚コンポーネントを同期させるのに用いられ、またxy座標などの位置情報は、視覚コンポーネントの表示位置を示す。より具体的には、位置情報は、第1の視覚コンポーネント、第2の視覚コンポーネント(ビデオ視覚コンポーネントおよび/または画像視覚コンポーネント)、および第3の視覚コンポーネントの表示位置を示し得る。位置情報は、各視覚コンポーネントの透過性情報と、リモートコンピューティングデバイス120のモニタ上に表示される最終構成(final composition)の作成におけるこれらの視覚コンポーネントの配置に関する他の情報とをさらに含み得る。一例として、メタデータは、視覚コンポーネントの1つまたは複数に対する許容情報をさらに含み得る。許容情報は、各視覚コンポーネントによって搬送されてよく、したがって、ローカルコンピューティングデバイス110の所有者は、どの視覚コンポーネントをリモートコンピューティングデバイス120と共有すべきか制御することができる。この機能は、画面共有アプリケーションにおけるプライバシーのために、いくつかの視覚コンポーネントを隠すのにかなり有益であり得る。位置情報と、時間的情報と、最終構成を作成するのに用いられる他の要素とを含むメタデータが、パーツとして現在表示され得る個々のソフトウェアアプリケーションによって、または全体の画面コンテンツ向けに、通常もたらされ得る。このメタデータは、オペレーティングシステム自体によっても供給され得る。
送信モジュール1163は、第1の視覚コンポーネント用のビデオストリームと、ビデオ視覚コンポーネント用のビデオファイルのビデオストリームと、画像視覚コンポーネント用の画像ファイルのビデオストリームと、第3の視覚コンポーネント用のビデオストリームと、メタデータ1200とを、リモートコンピューティングデバイス120に送信する(ステップ607)。図7に示されるように、ローカルコンピューティングデバイス110は、第1の視覚コンポーネント用のビデオストリームと、ビデオ視覚コンポーネント用のビデオファイルのビデオストリームと、画像視覚コンポーネント用の画像ファイルのビデオストリームと、第3の視覚コンポーネント用のビデオストリームと、メタデータ1200とを、データストリーム(ビデオストリームとも称され得る)として多重化して、リモートコンピューティングデバイス120に送信してよい。メタデータ1200は、コンポーネントのそれぞれにとって最適な配信を達成するために、視覚コンポーネントの符号化されたデータ/圧縮されたデータと一緒に、多重化ストリームで、または個別のチャネルによって、リモートコンピューティングデバイス120と共有され得る。一例として、背景コンポーネント用のビデオストリームが共有され得るのは1回だけであるが、他のコンポーネント、ビデオファイルのビデオストリームまたはビデオコンポーネント用のビデオストリーム、および恐らく、分離されたコンポーネント用のビデオストリームは、ストリーミングのやり方で、周期的に、さらには連続的に、配信されてよい。
図6Bおよび図8を参照して、リモートコンピューティングデバイス120は、第1の視覚コンポーネント用のビデオストリームと、ビデオ視覚コンポーネント用のビデオファイルと、画像視覚コンポーネント用の画像ファイルと、メタデータ1200とを含んでいるデータストリームを受信する(ステップ608)。第3の視覚コンポーネントが第1の視覚コンポーネントから取り出される場合には、リモートコンピューティングデバイス120は、第3の視覚コンポーネント用のビデオストリームも同様に受信してよい。リモートコンピューティングデバイス120は、最初に、受信したデータストリームを、第1の視覚コンポーネント用のビデオストリーム、ビデオ視覚コンポーネント用のビデオストリーム、画像視覚コンポーネント用のビデオストリーム、メタデータ1200、および恐らく第3の視覚コンポーネントが、第1の視覚コンポーネントから取り出されて第1の視覚コンポーネントとは違ったやり方で別個に圧縮されているか否かということに依拠して、第3の視覚コンポーネント用のビデオストリーム、といった様々なデータストリームに多重分離する。
各ビデオストリームは、それ自体の復号器によってさらに復号されてよい(ステップ609)。図8に示されるように、ビデオ視覚コンポーネント用のビデオストリームは、MPEG復号器などのビデオ復号器によって圧縮解除されてよい。画像ファイルのビデオストリームは、JEPG復号器などの画像復号器によって復号されてよい。第1の視覚コンポーネント用の圧縮された画素データは第1の復号器によって圧縮解除されてよく、第1の視覚コンポーネントから取り出された2D/3D動画用のビデオストリームは2D/3D動画復号器によって復号されてよい。ここで言及された復号器は、リモートコンピューティングデバイス120のグラフィックスカード上に実装されたハードウェアでよく、ソフトウェアで実施されてもよい。
次いで、リモートコンピューティングデバイス120は、受信したメタデータに応じて、背景コンポーネント、ビデオコンポーネント、および画像コンポーネントを表示する(ステップ610)。リモートコンピューティングデバイス120は、時間的情報に従って、背景コンポーネント用のビデオストリームと、ビデオコンポーネント用のビデオストリームと、画像コンポーネント用のビデオストリームとを同期させて表示する。リモートコンピューティングデバイス120は、位置情報に従って、背景コンポーネント用のビデオストリーム、ビデオコンポーネント用のビデオストリーム、画像コンポーネント用のビデオストリームも表示するので、視覚コンポーネントは、ローカルコンピューティングデバイスのモニタ上に表示されるのと同様に配置される。第3の視覚コンポーネントが第1の視覚コンポーネントから取り出されたのであれば、第3の視覚コンポーネントは、第1の視覚コンポーネントに関する時間的情報および位置情報に従って表示されることになる。詳細には、リモートコンピューティングデバイス120のモニタ上に表示される最終的な画面のビデオは、画面コンテンツ構成モジュールによって生成されることになり、位置情報、時間的情報、および許容情報に関する情報が、表示用の最終画面のコンテンツを構成するのに用いられることになる。
本発明が、特定の特徴およびその実施形態を参照しながら説明されてきたが、以下の特許請求の範囲によって定義される本発明の精神および範囲から逸脱することなく、様々な変更および置換が可能であることを理解されたい。
100 画面共有システム
110 ローカルコンピューティングデバイス
111 モニタ
112 フレームバッファ
113 専用の復号器
114 GPU
115 CPU
116 メモリ
118 多重化器
120 リモートコンピューティングデバイス
130 コンテンツソース
1111 ビデオ視覚コンポーネント
1112 第1の視覚コンポーネント
1113 画像視覚コンポーネント
1114 2D/3D動、第3の視覚コンポーネント
1131 第1の符号器
1132 第2の符号器
1161 画素データ取込みモジュール
1162 圧縮モジュール
1163 送信モジュール
1164 画面共有アプリケーション
1165 圧縮ファイル取得モジュール
1166 圧縮ファイル
1167 オペレーティングシステム
1169 メタデータ取得モジュール
1170 検出モジュール
1200 メタデータ
CPU 115は、命令の取出しおよび実行に適したマイクロプロセッサでよく、かつ/または、ソフトウェアプログラムの機能(functionality software programs)を実施するように電子回路を構成することができる。GPU 114は、グラフィックスレンダリングプロシージャを実行するのに必要な計算を最適化するように開発されている特化されたプロセッサである。GPU 114は、データを処理して、モニタ111上に表示可能な画像の画素データを生成する。一般に、GPU 114は、グラフィックスカードのプリント回路基板上に実装される。MPEG復号器、JPEG復号器などの専用の復号器113は、たとえばMPEGビデオまたはJPEG画像といった特定の圧縮データを圧縮解除するように構成されている。専用の復号器113は、GPU114に組み込まれてよく、またはGPU 114と一緒にグラフィックスカード上に実装された分離モジュールでもよい。専用の復号器113は、必ずしも前述のようなハードウェアの形態ではなく、当業者には理解されるようにソフトウェアとして実施することも可能である。説明のために、この特許出願で「プロセッサ」と称される用語は、GPU 114、専用の復号器113、CPU 115またはGPU 114、専用の復号器113、およびCPU 115の任意の組合せであり得る。


Claims (20)

  1. 画面の画像をリモートコンピューティングデバイスと共有するためにローカルコンピューティングデバイスによって実施される方法であって、
    前記ローカルコンピューティングデバイスのフレームバッファから、前記ローカルコンピューティングデバイスの画面コンテンツの第1の視覚コンポーネントの画素データを取り込むステップと、
    前記第1の視覚コンポーネントの前記取り込まれた画素データを圧縮して第1のビデオストリームを形成するステップと、
    前記画面コンテンツの第2の視覚コンポーネントを前記画面上に表示すべきと判断するステップであって、前記画面コンテンツの前記第2の視覚コンポーネントが圧縮データから圧縮解除されるステップと、
    前記第2の視覚コンポーネント用の前記圧縮データを取得するステップと、
    前記第1および第2の視覚コンポーネントの表示位置を示す位置情報ならびに前記第1および第2の視覚コンポーネントの表示を同期させるための時間的情報を取得するステップと、
    前記リモートコンピューティングデバイスと画面を共有するために、前記画面コンテンツの前記第1の視覚コンポーネント用の前記圧縮された第1のビデオストリーム、前記圧縮データ、前記位置情報、および前記時間的情報を、前記リモートコンピューティングデバイスに送信するステップとを含む方法。
  2. 前記判断するステップが、
    圧縮データを開くようにとの指令がユーザによって与えられていること、
    前記圧縮データが、前記ローカルコンピューティングデバイスのプロセッサによって圧縮解除されていること、または、
    前記圧縮データが圧縮解除されて前記フレームバッファに保存されていることを検出するステップを含む請求項1に記載の方法。
  3. 前記圧縮データがビデオファイルであり、前記第2の視覚コンポーネントがビデオ視覚コンポーネントである請求項1に記載の方法。
  4. 前記圧縮データが画像ファイルであり、前記第2の視覚コンポーネントが画像視覚コンポーネントである請求項1に記載の方法。
  5. 前記圧縮データがビデオストリームとして送信される請求項1に記載の方法。
  6. 前記ローカルコンピューティングデバイスの前記フレームバッファからの前記第1の視覚コンポーネントから取り出された第3の視覚コンポーネントの画素データを取り込むステップと、
    前記第3の視覚コンポーネントの前記取り込まれた画素データを圧縮して第2のビデオストリームにするステップと、
    前記圧縮された第2のビデオストリームを前記リモートコンピューティングデバイスに送信するステップとをさらに含む請求項1に記載の方法。
  7. 共有コンピューティングデバイスによって共有される画面コンテンツを表示するためにコンピューティングデバイスによって実施される方法であって、
    前記共有コンピューティングデバイスから、前記画面コンテンツの第1の視覚コンポーネント用の第1のビデオストリーム、前記画面コンテンツの第2の視覚コンポーネント用の圧縮データ、およびメタデータを受信するステップであって、前記メタデータが、前記第1の視覚コンポーネントと前記第2の視覚コンポーネントの表示を同期させるための時間的情報、ならびに前記第1および第2の視覚コンポーネントの表示位置を示す位置情報を含んでいる、ステップと、
    前記第1の視覚コンポーネント用の前記第1のビデオストリームを圧縮解除して、前記第1の視覚コンポーネントを取得するステップと、
    前記第2の視覚コンポーネント用の前記圧縮データを圧縮解除して、前記第2の視覚コンポーネントを取得するステップと、
    前記時間的情報および前記位置情報に従って、前記第1の視覚コンポーネントと第2の視覚コンポーネントを同期させて表示するステップとを含む方法。
  8. 前記第2の視覚コンポーネント用の前記圧縮データがデータストリームとして受信される請求項7に記載の方法。
  9. 前記圧縮データがビデオファイルであり、前記第2の視覚コンポーネントがビデオ視覚コンポーネントである請求項7に記載の方法。
  10. 前記圧縮データが画像ファイルであり、前記第2の視覚コンポーネントが画像視覚コンポーネントである請求項7に記載の方法。
  11. リモートコンピューティングデバイスと画面の画像を共有するためのコンピューティングデバイスであって、
    モニタと、
    フレームバッファと、
    前記フレームバッファおよび前記モニタに結合されたプロセッサであって、
    前記フレームバッファから、前記コンピューティングデバイスの前記モニタ上に表示される画面コンテンツの第1の視覚コンポーネントの画素データを取り込み、
    前記第1の視覚コンポーネントの前記取り込まれた画素データを圧縮して第1のビデオストリームを形成し、
    圧縮データから圧縮解除される前記画面コンテンツの第2の視覚コンポーネントを前記モニタ上に表示すべきであると判断し、
    前記第2の視覚コンポーネント用の前記圧縮データを取得し、
    前記第1および第2の視覚コンポーネントの表示位置を示す位置情報ならびに前記第1および第2の視覚コンポーネントの表示を同期させるための時間的情報を取得し、
    前記リモートコンピューティングデバイスと画面を共有するために、前記画面コンテンツの前記第1の視覚コンポーネント用の前記圧縮された第1のビデオストリーム、前記圧縮データ、前記位置情報、および前記時間的情報を、前記リモートコンピューティングデバイスに送信するように構成されたプロセッサとを備えるコンピューティングデバイス。
  12. 圧縮データを開くようにとの指令がユーザによって与えられていること、
    前記圧縮データが、前記ローカルコンピューティングデバイスのプロセッサによって圧縮解除されていること、または、
    前記圧縮データが圧縮解除されて前記フレームバッファに保存されていることを前記プロセッサが検出したとき、前記画面コンテンツの第2の視覚コンポーネントを前記モニタ上に表示すべきであると前記プロセッサが判断する請求項11に記載のコンピューティングデバイス。
  13. 前記圧縮データがビデオファイルであり、前記第2の視覚コンポーネントがビデオ視覚コンポーネントである請求項11に記載のコンピューティングデバイス。
  14. 前記圧縮データが画像ファイルであり、前記第2の視覚コンポーネントが画像視覚コンポーネントである請求項11に記載のコンピューティングデバイス。
  15. 前記圧縮データがビデオストリームとして送信される請求項11に記載のコンピューティングデバイス。
  16. 前記プロセッサが、
    前記フレームバッファからの前記第1の視覚コンポーネントから取り出された第3の視覚コンポーネントの画素データを取り込み、
    前記第3の視覚コンポーネントの前記取り込まれた画素データを圧縮して第2のビデオストリームにし、
    前記圧縮された第2のビデオストリームを前記リモートコンピューティングデバイスに送信するようにさらに構成されている請求項11に記載のコンピューティングデバイス。
  17. 共有コンピューティングデバイスによって共有された画面コンテンツを表示するためのコンピューティングデバイスであって、
    モニタと、
    前記モニタに結合されたプロセッサであって、
    前記共有コンピューティングデバイスから、前記画面コンテンツの第1の視覚コンポーネント用の第1のビデオストリームと、前記画面コンテンツの第2の視覚コンポーネント用の圧縮データと、前記第1の視覚コンポーネントと前記第2の視覚コンポーネントの表示を同期させるための時間的情報ならびに前記第1および第2の視覚コンポーネントの表示位置を示す位置情報を含んでいるメタデータとを受信し、
    前記第1の視覚コンポーネント用の前記第1のビデオストリームを圧縮解除して前記第1の視覚コンポーネントを取得し、
    前記第2の視覚コンポーネント用の前記圧縮データを圧縮解除して前記第2の視覚コンポーネントを取得し、
    前記時間的情報および前記位置情報に従って、前記モニタ上に、前記第1の視覚コンポーネントと第2の視覚コンポーネントを同期させて表示するように構成されたプロセッサとを備えるコンピューティングデバイス。
  18. 前記第2の視覚コンポーネント用の前記圧縮データがビデオのビットストリームとして受信される請求項17に記載のコンピューティングデバイス。
  19. 前記圧縮データがビデオファイルであり、前記第2の視覚コンポーネントがビデオ視覚コンポーネントである請求項17に記載のコンピューティングデバイス。
  20. 前記圧縮データが画像ファイルであり、前記第2の視覚コンポーネントが画像視覚コンポーネントである請求項17に記載のコンピューティングデバイス。
JP2015553852A 2013-01-17 2014-01-17 複数の視覚コンポーネントを有する画面を共有するためのシステム、装置、および方法 Active JP6333858B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361753823P 2013-01-17 2013-01-17
US61/753,823 2013-01-17
US14/158,096 US9860285B2 (en) 2013-01-17 2014-01-17 System, apparatus, and method for sharing a screen having multiple visual components
PCT/US2014/012065 WO2014113684A1 (en) 2013-01-17 2014-01-17 System, apparatus and method for sharing a screen having multiple visual components
US14/158,096 2014-01-17

Publications (2)

Publication Number Publication Date
JP2016508679A true JP2016508679A (ja) 2016-03-22
JP6333858B2 JP6333858B2 (ja) 2018-05-30

Family

ID=51210095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015553852A Active JP6333858B2 (ja) 2013-01-17 2014-01-17 複数の視覚コンポーネントを有する画面を共有するためのシステム、装置、および方法

Country Status (5)

Country Link
US (1) US9860285B2 (ja)
JP (1) JP6333858B2 (ja)
KR (1) KR101698951B1 (ja)
CN (1) CN105165009B (ja)
WO (1) WO2014113684A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL2962478T3 (pl) * 2013-02-26 2020-11-16 Mersive Technologies, Inc. System i sposób sterowania wieloma użytkownikami i przesyłania strumieniowego multimediów do wspólnego wyświetlacza
JP2016092435A (ja) * 2014-10-29 2016-05-23 株式会社東芝 電子機器、映像共有方法及びプログラム
CN107079200B (zh) * 2014-12-16 2020-07-28 惠普发展公司,有限责任合伙企业 处理瘦客户端终端中的数据
US10579163B2 (en) 2018-06-02 2020-03-03 Mersive Technologies, Inc. System and method of annotation of a shared display using a mobile device
CN112102497A (zh) 2019-06-18 2020-12-18 明日基金知识产权控股有限公司 用于将应用和交互附接到静态对象的系统和方法
US11546721B2 (en) * 2019-06-18 2023-01-03 The Calany Holding S.À.R.L. Location-based application activation
CN112102498A (zh) 2019-06-18 2020-12-18 明日基金知识产权控股有限公司 用于将应用虚拟地附接到动态对象并实现与动态对象的交互的系统和方法
US11516296B2 (en) * 2019-06-18 2022-11-29 THE CALANY Holding S.ÀR.L Location-based application stream activation
US11341727B2 (en) 2019-06-18 2022-05-24 The Calany Holding S. À R.L. Location-based platform for multiple 3D engines for delivering location-based 3D content to a user
US11341543B2 (en) * 2020-08-31 2022-05-24 HYPE AR, Inc. System and method for generating visual content associated with tailored advertisements in a mixed reality environment
US20220244903A1 (en) * 2021-02-04 2022-08-04 Apple Inc. Application casting

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060069797A1 (en) * 2004-09-10 2006-03-30 Microsoft Corporation Systems and methods for multimedia remoting over terminal server connections
US20110150433A1 (en) * 2009-12-22 2011-06-23 Albert Alexandrov Systems and methods for video-aware screen capture and compression
JP2012005107A (ja) * 2010-05-17 2012-01-05 Ricoh Co Ltd 多拠点描画画像共有装置、多拠点描画画像共有システム、方法、プログラムおよび記録媒体
US20120317485A1 (en) * 2011-06-08 2012-12-13 Cisco Technology, Inc. Virtual meeting video sharing

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314438B1 (en) * 1994-07-25 2001-11-06 Apple Computer, Inc. Displaying workstations requests in differentiating manner according to their respective priorities
GB2301252A (en) * 1995-05-23 1996-11-27 Ibm Run length data compression
US6005582A (en) * 1995-08-04 1999-12-21 Microsoft Corporation Method and system for texture mapping images with anisotropic filtering
US20060031779A1 (en) * 2004-04-15 2006-02-09 Citrix Systems, Inc. Selectively sharing screen data
US7933955B2 (en) 2006-07-11 2011-04-26 Igor Khalatian One-click universal screen sharing
US20090234983A1 (en) 2008-03-17 2009-09-17 Golden Signals, Inc. Methods and apparatus for sharing a computer display screen
US8520734B1 (en) * 2009-07-31 2013-08-27 Teradici Corporation Method and system for remotely communicating a computer rendered image sequence
US8171154B2 (en) * 2009-09-29 2012-05-01 Net Power And Light, Inc. Method and system for low-latency transfer protocol
US20110202854A1 (en) 2010-02-17 2011-08-18 International Business Machines Corporation Metadata Capture for Screen Sharing
KR101017866B1 (ko) * 2010-09-08 2011-03-04 주식회사 텔레칩스 네비게이션을 이용한 휴대단말기 제어 방법
CA2722460A1 (en) * 2010-11-26 2012-05-26 Centre De Recherche Informatique De Montreal Screen sharing and video conferencing system and method
US9026615B1 (en) * 2011-09-22 2015-05-05 Teradici Corporation Method and apparatus for caching image data transmitted over a lossy network
EP2783483B1 (en) 2011-11-23 2019-08-07 Calgary Scientific Inc. Methods and systems for collaborative remote application sharing and conferencing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060069797A1 (en) * 2004-09-10 2006-03-30 Microsoft Corporation Systems and methods for multimedia remoting over terminal server connections
US20110150433A1 (en) * 2009-12-22 2011-06-23 Albert Alexandrov Systems and methods for video-aware screen capture and compression
JP2012005107A (ja) * 2010-05-17 2012-01-05 Ricoh Co Ltd 多拠点描画画像共有装置、多拠点描画画像共有システム、方法、プログラムおよび記録媒体
US20120317485A1 (en) * 2011-06-08 2012-12-13 Cisco Technology, Inc. Virtual meeting video sharing

Also Published As

Publication number Publication date
JP6333858B2 (ja) 2018-05-30
US9860285B2 (en) 2018-01-02
KR20150110595A (ko) 2015-10-02
KR101698951B1 (ko) 2017-01-23
US20140229542A1 (en) 2014-08-14
CN105165009B (zh) 2019-06-28
CN105165009A (zh) 2015-12-16
WO2014113684A1 (en) 2014-07-24

Similar Documents

Publication Publication Date Title
JP6333858B2 (ja) 複数の視覚コンポーネントを有する画面を共有するためのシステム、装置、および方法
US11120677B2 (en) Transcoding mixing and distribution system and method for a video security system
US9665332B2 (en) Display controller, screen transfer device, and screen transfer method
US8170123B1 (en) Media acceleration for virtual computing services
US20130254417A1 (en) System method device for streaming video
KR100889367B1 (ko) 네트워크를 통한 가상 스튜디오 구현 시스템 및 그 방법
US11700419B2 (en) Re-encoding predicted picture frames in live video stream applications
KR101986995B1 (ko) 웹 브라우저 상에서 비디오와 오디오를 동기화하여 재생하는 미디어 재생 장치 및 방법
US9226003B2 (en) Method for transmitting video signals from an application on a server over an IP network to a client device
CN110740352A (zh) 显卡透传环境下基于spice协议的差异图像显示方法
CN107580228B (zh) 一种监控视频处理方法、装置及设备
KR20160015123A (ko) 클라우드 스트리밍 서비스 시스템, 스틸 이미지 기반 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
CN110798700B (zh) 视频处理方法、视频处理装置、存储介质与电子设备
EP2946554B1 (en) System, apparatus and method for sharing a screen having multiple visual components
TW201216148A (en) Remote management system and the method thereof
KR101700821B1 (ko) 스케일러블 원격화면 전송방법 및 그 장치
CN111093091A (zh) 视频处理方法、服务器及系统
CN111147928A (zh) 视频处理方法、服务器、终端及系统
CN105812922A (zh) 多媒体文件数据的处理方法及系统、播放器和客户端
KR102598986B1 (ko) 엣지 서버와 연동하는 ar 스트리밍 장치 및 방법, 시스템
JP6067085B2 (ja) 画面転送装置
JP6412893B2 (ja) 動画配信システム、動画送信装置、通信端末、及びプログラム
CN110798715A (zh) 基于图像串的视频播放方法及系统
KR20170032605A (ko) 영상 칼라성분 샘플링 위치 정보 전송을 통한 비디오 신호 복호화 방법 및 장치

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170201

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171227

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180425

R150 Certificate of patent or registration of utility model

Ref document number: 6333858

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250