JP5807756B2 - ビデオストリーミングのための方法及び装置 - Google Patents

ビデオストリーミングのための方法及び装置 Download PDF

Info

Publication number
JP5807756B2
JP5807756B2 JP2013211012A JP2013211012A JP5807756B2 JP 5807756 B2 JP5807756 B2 JP 5807756B2 JP 2013211012 A JP2013211012 A JP 2013211012A JP 2013211012 A JP2013211012 A JP 2013211012A JP 5807756 B2 JP5807756 B2 JP 5807756B2
Authority
JP
Japan
Prior art keywords
video stream
video
result
arbitration module
output device
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.)
Active
Application number
JP2013211012A
Other languages
English (en)
Other versions
JP2014081933A (ja
Inventor
サンパスクマラン スリラム
サンパスクマラン スリラム
ニューマン ヘルムート
ニューマン ヘルムート
ヤム エリック
ヤム エリック
承郁 洪
承郁 洪
アグニホートリ タンメイ
アグニホートリ タンメイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of JP2014081933A publication Critical patent/JP2014081933A/ja
Application granted granted Critical
Publication of JP5807756B2 publication Critical patent/JP5807756B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/96Management of image or video recognition tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/441Acquiring end-user identification, e.g. using personal code sent by the remote control or by inserting a card
    • H04N21/4415Acquiring end-user identification, e.g. using personal code sent by the remote control or by inserting a card using biometric characteristics of the user, e.g. by voice recognition or fingerprint scanning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Marketing (AREA)
  • General Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

本発明は、一般にビデオストリーミングに関し、より詳細には、クライアントアプリケーションに応答したビデオストリーミングに関する。
現代の電子デバイス、特にスマートデバイスでは、固定デバイス又は移動デバイスに関わらずクライアントアプリケーションが広く使用されている。これらのクライアントアプリケーションは、(ディスプレイなどの)出力デバイスにビデオストリームを出力することに加え、この出力されているビデオストリームに関するデータを必要とすることがある。ビデオ表示に関するこのようなデータが他のクライアントアプリケーションにとって有用な場合、ビデオストリームに関するデータの生成に必要とされる機能処理を実行するために電子デバイスのオペレーティングシステム内の全て又はほとんどのクライアントアプリケーションが利用可能な機能リソースを、クライアントアプリケーション層よりも下位層において生み出すことが有益となり得る。この処理を、複数のクライアントアプリケーションが利用可能なリソースにすることにより、各個々のクライアントアプリケーションにより行われる反復処理が低減される。
米国特許出願第13/285,121号明細書
現在のところ、Android(商標)などの人気の高いオペレーティングシステムでは、複数のクライアントアプリケーションが様々なハードウェアリソースを同時に呼び出すことはできない。例えば、カメラリソースを一度に利用できるのは1つのクライアントアプリケーションのみである。このことは、クライアントアプリケーションがカメラからのビデオストリームを出力デバイスに提供することに加えて、上述した機能リソースにより生成されたこのビデオストリームに関する追加データを提供することはできない場合があるという点で制限的である。この理由は、オペレーティングシステムが、クライアントアプリケーション又は機能リソースの両方ではなく一方しかカメラリソースにアクセスできなくしているからである。従って、クライアントアプリケーションは、ビデオストリームのみ、又は機能リソースからのビデオストリームに関するデータのみしか提供することができず、両方を同時に提供することはできない。
また、このような人気の高いオペレーティングシステムは、1つのクライアントアプリケーションが別のクライアントアプリケーションのグラフィック領域内に単純に描画できないという点で制限的である。これができるのであれば、クライアントアプリケーションが、別のクライアントアプリケーション又は機能リソースのグラフィック領域に単純に描画して、伝えたいと思うあらゆる視覚データを伝えることができるという点で、本明細書に示す解決策とは異なる解決策が可能になると思われる。
従って、上述した望ましい機能を可能にするシステムアーキテクチャを提供することが有益であると考えられる。
本発明のいくつかの実施形態は、ビデオストリームを求める要求と、ビデオストリームに対して行われた処理の結果を求める要求と、ビデオストリームをストリーミングすべきビデオプレーン内の指定位置とをクライアントアプリケーションから受け取る方法、及びこの方法を実行するための、仲裁モジュール備えた装置を提供することにより、上記の及びその他のニーズに有利に対処する。また、仲裁モジュールは、仲裁モジュールにおいてビデオストリームを受け取り、ビデオストリームに対して処理を行って結果を生成する。さらに、仲裁モジュールは、ビデオストリームと、処理の結果と、ビデオストリームをストリーミングすべきビデオプレーン内の指定位置とを出力する。
次に、この方法は、ビデオパイプライン要素によってビデオストリーム及び指定位置を受け取り、これに応答してビデオプレーンの指定位置にビデオストリームをストリーミングする。次に、この方法は、クライアントアプリケーションにより、生成された追加の視覚情報と、ビデオプレーンへのアクセスと、ビデオストリームに対して行われた処理の結果へのアクセスとを出力デバイスに提供する。
従って、この方法及び装置により、クライアントアプリケーションは、ビデオストリーム、及び機能リソースにより作成されたビデオストリームに関するデータの両方を出力デバイスに提供することができる。
以下の図面と共に提供する以下の本発明のより詳細な説明から、本発明のいくつかの実施形態の上記の及びその他の態様、特徴及び利点がより明らかになるであろう。
少なくとも1つの実施形態による方法を実行するように構成された装置のブロック図である。 様々な実施形態による、図1の装置の状況例を示す図である。 様々な実施形態による、図1の装置の出力画像例を示す図である。 少なくとも1つの実施形態による、図3の出力画像例の詳細図である。 少なくとも1つの実施形態による、図3の出力画像例のさらなる詳細図である。
図面の複数の図を通じて、対応する参照文字は対応する構成要素を示す。当業者であれば、図中の要素は単純さ及び明確さを目的として示したものであり、必ずしも縮尺通りではないと理解するであろう。例えば、本発明の様々な実施形態をより良く理解できるように、図中の要素の中には、他の要素に対して寸法を誇張しているものもある。また、本発明のこれらの様々な実施形態をより分かり易く示すために、商業的に実現可能な実施形態において有用又は必要な、一般的ではあるが良く理解されている要素については示していないことが多い。
以下の説明は、限定的な意味で捉えるべきでなく、例示的な実施形態の一般的原理を説明するためのものにすぎない。本発明の範囲は、特許請求の範囲に基づいて決定すべきものである。
本明細書を通じて、「1つの実施形態」、「ある実施形態」、又は同様の表現に言及する場合、これらは、実施形態に関連して説明する特定の特徴、構造又は特性が本発明の少なくとも1つの実施形態に含まれることを意味する。従って、本明細書を通じて「1つの実施形態では」、「ある実施形態では」という表現、及び同様の表現が出現した場合、これらは、必ずというわけではないが、全て同じ実施形態を指すことができる。
さらに、説明する本発明の特徴、構造又は特性を、1又はそれ以上の実施形態においてあらゆる好適な態様で組み合わせることもできる。以下の説明では、本発明の実施形態を完全に理解してもらうために、プログラミング、ソフトウェアモジュール、ユーザ203の選択、ネットワークトランザクション、データベース問い合わせ、データベース構造、ハードウェアモジュール、ハードウェア回路、ハードウェアチップなどの例のような数多くの特定の詳細を記載している。しかしながら、当業者であれば、これらの特定の詳細の1又はそれ以上を用いずに、或いはその他の方法、構成要素及び材料などを用いて本発明を実現できると認識するであろう。その他の場合、本発明の態様を曖昧にしないように、周知の構造、材料又は動作については示しておらず、或いは詳細に説明していない。
まず図1を参照すると、様々な実施形態による方法を実行するように構成された装置100のブロック図を示している。装置100は、例えばIntel(商標)プロセッサ又はMarvel(商標)ARMプロセッサなどの少なくとも1つのコンピュータデバイス又は処理デバイス、メモリ、任意の記憶デバイス、及び様々なインターフェイスを備える。装置100は、少なくとも1つのクライアントアプリケーション101、仲裁モジュール102、ビデオパイプライン要素103、ビデオプレーン104、及び出力デバイス105をさらに備える。他の実施形態によれば、装置100は、カメラ106、カメラエンジン107及び復号要素108を備えることもできる。また、いくつかの実施形態によれば、仲裁モジュール102は、顔検出エンジン110をさらに含むこともできる自然入力エンジン109をさらに含むことができる。これらの様々なモジュール及び要素は、個別に、互いに組み合わせて、或いは既知又は未知のその他の要素と組み合わせて、当業で理解されているようなビデオパイプラインを含むことができる。ビデオパイプラインスキームは、ユーザ又は別のソフトウェア又はハードウェア要素に、或いはいくつかの実施形態ではビデオパイプライン自体に、ビデオ及び/又はオーディオの提供を行うことができる。
クライアントアプリケーション101は、仲裁モジュール102及び出力デバイス105に結合される。仲裁モジュール102は、ビデオパイプライン要素103に結合され、任意にカメラ106及び/又はカメラエンジン107からビデオストリーム111を受け取るように構成される。ビデオパイプライン要素103は、任意に復号要素108を介してビデオプレーンに結合される。さらに、ビデオプレーン104は、出力デバイス105に結合される。
クライアントアプリケーション101は、当業で周知かつ理解されているようないずれのタイプのクライアントアプリケーション101であってもよい。図示のクライアントアプリケーション101は、複数のクライアントアプリケーション101の一群を表わすことができ、仲裁モジュール102、出力デバイス105、ビデオパイプライン要素103又はビデオプレーン104を収容する同じ又は異なる処理デバイス又はコンピュータデバイス上に存在し、又はこれらのデバイス上で実行することができる。クライアントアプリケーション101は、当業で十分に理解されているように、有線又は無線を問わないネットワーク接続を介して仲裁モジュール102に結合できる遠隔位置で任意に実行し又はこの遠隔位置に記憶することができる。クライアントアプリケーション101は、Android(商標)、Linux、Apple(登録商標)OS、Microsoft(登録商標)などを含むあらゆる数の既知のオペレーティングシステム内で実行されるように設計することができる。Android(商標)アプリケーションは、通常、Android(商標)ソフトウェア開発キットを使用してJava又はCプログラミング言語で開発されるが、他の開発ツール及び言語もよく使用される。Apple(登録商標)アプリケーションは、通常、iOS SDK(ソフトウェア開発キット)又はiPhone(登録商標)SDKを使用して開発される。他のスタイル及びフォーマットの既知のクライアントアプリケーション101が存在してもよく、いくつかの実施形態によれば、装置100と互換性があり又はその一部であってもよい。
仲裁モジュール102は、特に(クライアントアプリケーション101などの)複数のクライアントアプリケーションと複数のリソース(すなわち、カメラ106リソース又は機能リソース)との間の通信を可能にして、複数のクライアントアプリケーション101が同時にリソースを使用できるようにするよう構成される。また、仲裁モジュール102は、ビデオストリーム111に対して少なくとも1つの処理を行って少なくとも1つの処理の結果を生成するようにさらに構成することができる。2011年10月31日に出願された「クライアントアプリケーション及びリソース仲裁(Client Application and Resource Arbitration)」という名称の同一出願人による米国特許出願第13/285,121号に、本明細書で開示するものと同様の仲裁モジュールが記載されており、この特許出願の内容は引用により本明細書に組み入れられる。
いくつかの実施形態によれば、仲裁モジュール102は、ビデオストリーム111内に存在し得る1又はそれ以上の自然入力を検出又は特定するための処理をビデオストリーム111に対して行うように構成された自然入力エンジン109をさらに含むことができる。他の実施形態によれば、自然入力エンジン109は、ビデオストリーム111内の少なくとも1つの顔を検出し、その顔の少なくとも1つの特徴(すなわち、その人物の身元又は年齢)を判断するための処理をビデオストリーム111に対して行うように構成された顔検出エンジン110をさらに含むことができる。1つの実施形態によれば、この少なくとも1つの顔は、人間の顔を含む。
図2を簡単に参照すると、自然入力に関する非限定的な状況例を示している。図2には、ここではテレビ、コンピュータディスプレイ又はその他の既知のディスプレイ201などのディスプレイ201として示す出力デバイス105を含む装置100を示している。ディスプレイ201は装置100として動作し、或いはディスプレイ201とは無関係に又はこれと共に装置100として動作する別のデバイス(図示せず)に結合される。装置100には、ディスプレイ201の正面のシーンの画像を取り込むためのカメラ106が取り付けられ、対応するビデオストリーム111を提供する。別の例によれば、装置100に、マイク202又はその他の感知デバイス202(動作検出器、光検出器、温度センサ、赤外線センサ、超音波センサ、加速度計、又はその他の公知の検出器又はセンサなど)を同様に接続することができる。装置100のディスプレイ201の正面には、立っているユーザ203を示している。ディスプレイ201は、ユーザ203が視聴できるように、対話型メニュー、ガイド、マルチメディア、又はその他のプログラミングを出力することができる。ユーザ203は、従来の遠隔制御装置を使用する代わりに、自然入力を使用して装置100と対話することができる。例えば、ユーザ203は、(図2に示すような)手のジェスチャ204を行って、チャネルを変更し、音量を変更し、又は装置100と別様に対話することができる。カメラ106は、このジェスチャ204のビデオを取り込み、ビデオストリーム111を介してこれを自然入力エンジン109に送信し、自然入力エンジン109は、このジェスチャ204を特定の命令又は動作(すなわち、チャネルの変更)に対応するものとして認識する。次に、自然入力エンジン109は、この受け取ったジェスチャ204のコマンドを、仲裁モジュール102を介して、このようなコマンドを受け取ることに関心のあるいずれかのクライアントアプリケーション101又はリソースに仲裁規則に基づいて伝えることができる。或いは、ユーザ203は、マイク202により感知され自然入力エンジン109によりコマンドとして解釈される音を立て、この音をクライアントアプリケーション101又はリソースに伝えることもできる。従って、ユーザ203は、自然入力を使用して装置100を制御することができる。
また、図3をごく簡単に参照すると、顔検出エンジン110の動作に対応する出力画像300の非限定的な状況例を示している。図2と同様に、カメラ106がディスプレイ201の正面のシーンを取り込み、このビデオストリーム111が仲裁モジュール102内の顔検出エンジン110に供給される。顔検出エンジン110は、(別の自然入力である)顔301を検出して、顔301の少なくとも1つの特徴を判断する。図3に示すように、顔検出エンジン110を利用して、(個々の顔301により識別される)各人物の身元及び年齢を検出する。次に、顔検出エンジン110は、この顔301に関する情報を、このような情報を求めるいずれかのクライアントアプリケーション101又はリソースに送信することができる。例えば、チャイルドロックアプリケーションは、未成年者の存在時に成人向けコンテンツの視聴を制限するチャイルドロッククライアントアプリケーションを実行させるために、この自然入力の顔検出情報を求めることができる。別の例として、プロファイルアプリケーションは、この自然入力の顔検出情報を使用して、お気に入りチャネル設定を自動的に呼び出すことができる。
図1に戻ると、ステージ、ステップ又はフィルタとも呼ばれるビデオパイプライン要素103は、デコーダ、マルチプレクサ、デマルチプレクサ、スプリッタ、コンバイナ、又はその他のあらゆる既知又は未知のビデオパイプライン要素103を含むことができる。ビデオパイプライン要素103は、単一の要素、ステージ、ステップ又はフィルタであってもよく、或いは複数の要素、ステージ、ステップ及び/又はフィルタの組み合わせであってもよい。ビデオパイプライン要素103は、ソフトウェアの形で実装することも、又はハードウェアの形で実装することもできるが、標準ソフトウェアであるか、それとも組み込みソフトウェアであるかに関わらず、ソフトウェア実装が最も一般的である。
1つの実施形態によれば、ビデオパイプライン要素103は、gStreamer要素、又はgStreamerビデオパイプラインフレームワークと互換性のある要素であり、gStreamerビデオパイプライン又はgStreamer互換ビデオパイプラインの一部である。当業で理解されているように、gStreamerは、設計者が様々な種類のマルチメディアアプリケーションを作成できるようにするパイプラインベースのマルチメディアフレームワークである。ほとんどの場合、gStreamerは、Cプログラミング言語で書かれたオープンソースであり、GObjectに基づく種類のシステムを利用する。
別の実施形態によれば、ビデオパイプライン要素103が、OpenMAX(商標)要素、又はOpenMAX(商標)ビデオパイプラインフレームワークと互換性のある要素であり、OpenMAX(商標)ビデオパイプライン又はOpenMAX(商標)互換ビデオパイプラインの一部である。Microsoft(登録商標)Directshow及びApple(登録商標)Core Videoを含む他のビデオパイプライン要素又はビデオパイプラインフレームワークも同様に可能である。
レンダラとしても理解される復号要素108は、圧縮(又は非圧縮)ビデオを色空間に翻訳することができる。1つの実施形態によれば、復号要素108が、(図1に示すように)RGBフォーマット復号要素を含むことができる。復号要素108の動作に関しては、RGB+アルファブレンディング、YUV、HSL/HLS(色相彩度輝度)、及びHSV(色相彩度値)、又はその他の公知のカラー又はモノクロの色空間表示などの他の可能性も存在する。
ビデオプレーン104は、少なくともいくつかのクライアントアプリケーション101がアクセスできるビデオ層又はビデオ面である。これらのクライアントアプリケーション101は、ビデオプレーン104のコンテンツをさらに出力デバイス105に送り、戻し、又は提供することができる。出力デバイス105は、ディスプレイ201、ハードドライブ、メモリ、ネットワーク出力、電話機、タブレット、PC、又は本明細書で説明するようなビデオストリーム111を出力し、記憶し、又は別様に利用できる他のあらゆるデバイスを含むことができる。
いくつかの実施形態によれば、クライアントアプリケーション101、出力デバイス105、カメラ106及びカメラエンジン107が、Android(商標)などのオペレーティングシステム内に存在する。他の実施形態によれば、仲裁モジュール102、ビデオパイプライン要素103、任意の復号要素108及びビデオプレーン104が、装置100のネイティブ層内に存在する。従って、仲裁モジュール102では、オペレーティングシステムレベルのクライアントアプリケーション101が、ネイティブ層内の利用可能なリソースを呼び出すことができ、逆にネイティブ層リソースが、オペレーティングシステムレベル内に存在するリソース又はアプリケーションを呼び出すことができる。
この構成により、装置100は、ビデオストリーム111及びビデオストリームに関するデータを提供する方法を実行できるようになる。仲裁モジュール102においてビデオストリーム111に対して(すなわち、自然入力エンジン109及び/又は顔検出エンジン110を介して)行われる処理に関して上述したように、これらの処理により生成された情報又は結果を利用するクライアントアプリケーション101及びリソースは複数存在することができる。従って、各要求側クライアントアプリケーション101又はリソースに関して計算及び処理を繰り返すよりもむしろ、これらの複数のクライアントアプリケーション101及びリソースが処理の結果にアクセスするために呼び出すことができるアクセス可能な機能リソースを提供することが有益である。しかしながら、これらのクライアントアプリケーション101の中には、ビデオストリーム111又はその修正版が出力デバイス105にストリーミングされるように求めるものもある。Android(商標)などの様々な既知のオペレーティングシステムに存在する制限に起因して、複数のクライアントアプリケーション101又は機能リソースが同時に同じハードウェアリソース(カメラ106リソースなど)にアクセスすることはできず、これによりクライアントアプリケーション101及び機能リソースの両方が同時にビデオストリーム111を受け取ることが妨げられる。従って、ビデオストリーム111の表示及びビデオストリームに関するデータを求めるクライアントアプリケーション101は、ビデオストリーム111を受け取って処理自体を実行し、クライアントアプリケーションレベルで処理の結果を生成する必要がある。この処理は、ネイティブレベルで処理を行うよりも遅い。さらに、この状況では、クライアントアプリケーション101が、ビデオストリーム111を受け取る機能リソースではなくビデオストリーム111を受け取るので、ビデオストリーム111に対して行われた処理の結果に他のクライアントアプリケーションが同時にアクセスすることが妨げられる。
このような短所を改善するために、任意に装置100により実行される以下の方法を提供する。図1に戻ると、1つの実施形態によれば、この方法は、クライアントアプリケーション101が、ビデオストリーム111を求める要求と、ビデオストリーム111に対して行われた少なくとも1つの処理の結果を求める要求と、ビデオストリーム111をストリーミングすべきビデオプレーン104内の指定位置に関する命令とを仲裁モジュール102に送信する(まとめて矢印112で示す)ステップ(及び仲裁モジュール102がクライアントアプリケーションからさらに受け取るステップ)を含む。1つの実施形態によれば、ビデオストリーム111を求める要求は、ビデオストリーム111をクライアントアプリケーション101自体ではなく出力デバイス105にストリーミングする要求を含むことができる。1つの状況例によれば、この要求を、カメラ106が取り込んだビデオストリーム111をユーザ203がリアルタイムで視聴できるようにディスプレイ201又はその他の出力デバイス105に表示するための要求とすることができる。
ビデオストリーム111に対して行われた処理の結果を求める要求は、例えば上述した自然入力エンジン109及び/又は顔検出エンジン110によって行われた処理などの、ビデオストリーム111に対して行われた下位レベルの処理又は機能により生成された情報を求める要求とすることができる。例えば、クライアントアプリケーション101は、顔検出エンジン110により生成された情報であるビデオストリーム111内のいずれかの人物の身元又は年齢を要求することができる。また、この要求を、クライアントアプリケーション101においてこれらの結果又はこれらの結果の一部を受け取る要求(矢印113で示す)とすることもできる。同様に、この要求を、クライアントアプリケーション101に結果を送信することなく、又は送信することに加えて、これらの結果又はこれらの結果の一部を出力デバイス105に出力する要求とすることもできる。
ビデオストリーム111をストリーミングすべきビデオプレーン104内の指定位置に関する命令は、ビデオストリーム111をビデオプレーン104に提供することに関する位置、サイズ、向き又はその他の詳細を仲裁モジュール102に示す。この位置情報は、ビデオプレーン104内の位置を示すために使用する座標、画像オフセット情報、画素寸法又はその他の位置データを含むことができる。この位置情報は、ビデオプレーン104に対するビデオストリーム111の表示をサイズ変更し、トリミングし、引き延ばし、回転させ又は別様に変更するために使用できるサイズ又は寸法情報を含むこともできる。さらに、この位置情報は、重複したビデオストリーム又はビデオストリーム111の分割部分に対応できる複数の位置又はサイズを含むこともできる。また、(例えば、クライアントアプリケーション101が、ビデオストリーム111がストリーミングされているページをスクロールした場合、又はビデオストリーム111の新たな位置を含む異なるページに変更した場合)この位置情報は時間と共に変化することができ、クライアントアプリケーション101によりリアルタイムで更新することができる。
仲裁モジュール102は、上記で識別された要求及び命令と共にビデオストリーム111を受け取る(矢印112で示す)。1つの実施形態によれば、ビデオストリーム111が、カメラ106又はカメラエンジン107から受け取られる。カメラ106は、(図2に示すように)ディスプレイ201又はその他の出力デバイス105の正面のシーンを取り込むことができる。上述したように、仲裁モジュール102は、ビデオストリーム111に対して少なくとも1つの処理を行って、求められる少なくとも1つの処理の結果を生成する。例えば、この求められる結果は、自然入力及び/又は顔検出に関するものとすることができ、1つの実施形態によれば、仲裁モジュール102が、ビデオストリーム111内に存在する少なくとも1つの自然入力(ジェスチャ204又は顔301など)を識別し、認識し、又は特定するための処理を行う自然入力エンジン109を含む。さらに、別の実施形態によれば、仲裁モジュール102又は自然入力エンジン109が、ビデオストリーム111内の少なくとも1つの顔301を識別する、又はビデオストリーム111内に存在する少なくとも1つの顔301に関する少なくとも1つの特徴を別様に判断する顔検出エンジン110を含む。これらの処理例及び処理エンジン例は、限定的な意味で捉えるべきでなく、考えられる求められる処理及び処理エンジンの状況例として提供するものにすぎない。ビデオストリーム111に対しては、ジェスチャ204の検出、音の検出、動作の検出、顔の検出、顔の識別、顔の表情の検出、年齢の認識、オブジェクトの識別、シーンの検出、テキスト認識、及びこれらの処理を行うための様々なエンジンなどの他の多くの処理を行うことができ、これらは全て本出願により完全に企図されている。
仲裁モジュール102は、ビデオストリーム111に対して行われた処理の結果を生成した後に、この結果を出力する。1つの実施形態によれば、矢印113で示すように、この処理の結果又はその一部がクライアントアプリケーションによって受け取られる。別の実施形態によれば、クライアントアプリケーション101が結果を受け取ることなく、又はクライアントアプリケーション101が結果を受け取ることに加え、ビデオパイプライン要素103が結果又は結果の一部を受け取ることができる(以下で説明する矢印115内の矢印114で表している)。
仲裁モジュール102は、ビデオストリーム111、及びビデオストリーム111をストリーミングすべきビデオプレーン104内の指定位置を出力することができ(まとめて矢印115で表している)、これらがビデオパイプライン要素103によって受け取られる。ビデオパイプライン要素103は、これに応答して、受け取った指定位置データに従って、(矢印116及び117で示すように)ビデオプレーン104内の指定位置に(すなわち、指定された位置に又は指示されたサイズで)ビデオストリーム111をストリーミングする。いくつかの実施形態によれば、ビデオパイプライン要素103は、ビデオパイプラインフレームワーク内に、ビデオプレーン104内の指定位置にビデオストリーム111をストリーミングするように協調する、復号要素108及び/又はその他の要素などの複数の要素を含むことができる。
クライアントアプリケーション101(又はその他のクライアントアプリケーション)が使用できるビデオストリーム111を含むビデオプレーン104に関しては、クライアントアプリケーション101が、出力デバイス105(ディスプレイ201など)にビデオプレーン104へのアクセスを提供する(矢印118で表している)。また、クライアントアプリケーション101は、クライアントアプリケーションが生成した又はこれに関連する追加の視覚情報を出力デバイス105に提供することもできる(矢印119で表している)。1つの実施形態によれば、この追加の視覚情報は、グラフィクス、テキスト、又はビデオプレーン104の上部にオーバーレイされたグラフィック層内に存在するその他の画像を含むことができる(いくつかの実施形態では、グラフィック層がビデオプレーンの下位に存在することができる)。これらのグラフィクスは、クライアントアプリケーション101のユーザインターフェイスの一部とすることができ、或いはビデオストリーム111の構成を支援するための、又はビデオストリーム111に関連する又は関連しない情報を提供するための画像、テキスト又はデータとすることができる。この実施形態では、クライアントアプリケーション101が、グラフィック層の少なくとも一部又は全部を出力デバイス105に出力119して、ビデオプレーン104と組み合わさる(すなわち、ビデオプレーン上に重なる、ビデオプレーン上に投影される、又はビデオプレーンと別様にフラット化される)ようにすることができる。
1つの実施形態によれば、クライアントアプリケーション101は、グラフィクス層又はグラフィクスプレーン内に、下位レベルに存在するビデオプレーン104の一部をグラフィクス層を介して見ることができるようにする1又はそれ以上の空隙305(図3〜図5を参照)を形成し又は残すことができる。これらの空隙305は、ビデオプレーン104内のビデオストリーム111の指定位置に直接的又は近似的に対応することができる。この構成により、出力デバイス105に提供される、又は出力デバイス105により提供される最終的な出力画像(出力画像例300など)は、クライアントアプリケーション101により提供119されたグラフィクス層内の視覚情報、及びグラフィクス層内の1又はそれ以上の空隙305内のビデオストリーム111をいずれも含むことができる。最終結果として、2つの層をシームレスに組み合わせて単一の統合されたソースに見える最終画像(出力画像例300など)が得られる。
別の実施形態によれば、クライアントアプリケーション101が、出力デバイス105に、ビデオストリーム111に対して行われた処理の結果又は結果に関する情報へのアクセスも提供する。様々な実施形態によれば、この結果又は結果に関する情報へのアクセスを複数の方法で提供することができる。これらの実施形態をより良く理解できるように、これらの様々な実施形態による出力画像300の非限定的な状況例を示す図3、図4及び図5を参照する。
上述したように、図3には、出力デバイス105において出力できる出力画像例300を示している。この非限定的な例では、ディスプレイ201(図2に示すようなテレビなど)の正面に位置する視聴者の顔301を識別してディスプレイ201上に情報を提供するための「視聴者自動検出」クライアントアプリケーションを呼び出すことができる。いくつかの実施形態によれば、グラフィカルテンプレートが画面の一部を覆い、(青色又は灰色などの)ソリッドカラー、背景画像、又はアニメーションを表示し、その上にテキスト、その他のアニメーション又はその他の情報を表示することができる。上部又はその他の場所には、クライアントアプリケーション101のタイトル303を表示することができ、画面上には、(出力画像例300の底部に示されている「メニュー」、「プロファイルの編集」及び「終了」ボタンなどの)ナビゲーションボタン304が存在することができる。少なくとも1つの実施形態によれば、上述したグラフィクス及びテキストが、クライアントアプリケーション101により生成されて出力デバイス105に提供された追加の視覚情報を含むことができる。
さらなる実施形態では、クライアントアプリケーション101が、(図1の矢印113で示すような)仲裁モジュール102によりビデオストリーム111に対して行われた処理の結果の少なくとも一部を受け取ることができる。クライアントアプリケーション101は、この受け取った情報を使用して、受け取った結果の少なくとも1つの視覚表現を生成し、この視覚表現を出力デバイス105に提供119することができる。この視覚表現は、クライアントアプリケーション101により出力デバイス105に提供119される追加の視覚情報(すなわち、背景、テキスト、タイトル及びメニューボタン)の一部として、又はこれとは別個のものとして提供119することができる。また、クライアントアプリケーション101は、ビデオプレーン104内に存在するビデオストリーム111を確認できるようにする空隙305を形成し又は残す。
図3の状況例では、受け取った結果又は受け取った結果に関する情報の生成された視覚表現306を、識別された視聴者の名前307及び視聴者のそれぞれの年齢308として示しているが、受け取った結果の視覚表現306としては、各顔301の認識確実度及びプロファイル情報などの、識別された顔301に関するあらゆる種類の情報又はデータを表示することができる。これらの情報項目は、仲裁モジュール102において生成して結果的にクライアントアプリケーション101に送信することもでき、或いは結果を単純に(数字又は他の指示子などの)識別符号とし、後にクライアントアプリケーション101がこれらを使用して、識別された顔301に関する様々な情報項目を検索することもできる。その後、これらの情報項目は、受け取った結果の又はこれに関する視覚表現306であるテキスト又はその他の画像に変換される。
別の実施形態によれば、及び図3の状況例を続けると、ビデオストリーム111に対して行われた処理の結果は、検出された顔301のビデオストリーム111内の位置を含むこともできる。この情報を、図1の矢印113で表すように、クライアントアプリケーション101に送信することができる。クライアントアプリケーション101は、これらの受け取った結果の視覚表現306の一部として、識別された顔301を囲むグラフィックボックス309を作成し、このボックス309の位置を、ビデオストリーム111内の顔301の位置にリアルタイムで合わせることができる。その後、これらのグラフィックボックス309を空隙305内のグラフィック層内の適当な位置に配置して、ビデオプレーン104からビデオストリーム111が追加された時に、図3に示すように顔301の上にグラフィックボックス309が表示されるようにすることができる。
図4に、この実施形態による、図3の出力画像例300の詳細版を示す。クライアントアプリケーション101により提供されるグラフィック層401は、(背景302、タイトル303及びナビゲーションボタン304などの)追加の視覚情報、及びビデオストリーム111に対して行われた処理の結果の生成された視覚表現306を含む。この例では、結果の視覚表現306が、顔301に対応する名前307、それぞれの年齢308及びグラフィックボックス309を含む。グラフィック層401は、少なくとも1つの空隙305も含む。グラフィック層401の下位にビデオストリーム111を含むビデオプレーン104が加わると、出力画像300は、図3に示すような単一の結合画像300のように見える。
別の実施形態によれば、仲裁モジュール102が、仲裁モジュールにおいて結果の少なくとも1つの視覚表現306を生成し、次に仲裁モジュールからビデオストリーム111を出力する前に、この視覚表現306をビデオストリーム111に追加することによってビデオストリーム111に対して行われた処理の結果又はその一部を出力する。これにより、ビデオパイプライン要素103は、図1の矢印115の内部に入れ子になった矢印114で表すように、これらの視覚表現306を含む修正済みビデオストリーム111の形でこれらの結果を受け取る。なお、この実施形態では、クライアントアプリケーション101は、図1の矢印113で示すように、処理の結果の少なくとも一部を受け取っても、又は受け取らなくてもよい。
図5に、本明細書で上述した状況例におけるこの実施形態をさらに示す。仲裁モジュール102からは、恐らくは顔検出エンジン110により生成される、ビデオストリーム111内の顔301の位置を含む顔検出処理の結果が、ビデオストリーム111内の顔301の周囲に挿入されたグラフィックボックスの形で出力される。これを、図4に示すグラフィック層401ではなく、図5のビデオプレーン104内のビデオストリーム111に示している。この場合も、グラフィックボックス309を有するビデオストリーム111を含むビデオプレーン104がグラフィック層の下位に加わると、出力画像300は、図3に示すような単一の結合画像300のように見える。やはり、この状況例でも、クライアントアプリケーション101は、結果の少なくとも一部も受け取って113、識別された顔301に対応する名前307及び年齢308を含む、結果に関する情報の視覚表現306を生成する。
仲裁モジュール102内又はネイティブ層内の別のモジュールにおいて結果の視覚表現306(すなわち、グラフィックボックス309)を生成することには、このような視覚表現306の生成をクライアントアプリケーション層で行うよりもネイティブ層で行った方が速いという点で利点がある。また、ビデオプレーン104にアクセスできて、グラフィックボックス309と同じビデオストリーム111を利用したいと望むことがある他のクライアントアプリケーションが、グラフィックボックス309を生成するためのさらなる冗長な処理を行うこと及び他のクライアントアプリケーションの進行中に必要とされる冗長な符号化を行うことなくビデオストリーム111にアクセスすることができる。
さらに、仲裁モジュール102又はネイティブ層などの、クライアントアプリケーション層よりも下位層においてビデオストリーム111に対して処理を行うことにより、複数のクライアントアプリケーションがこのデータにアクセスすることができる。例えば、上述したように、視聴者自動検出クライアントアプリケーション例は、顔検出の結果を使用して様々な顔301の名前307を引き出すことができるのに対し、チャイルドロッククライアントアプリケーションは、成人向けコンテンツへのアクセスを制限するために、顔検出の結果を同時に使用して顔301の年齢308を判定し、現在未成年者がディスプレイ201を視聴しているかどうかを判断することができる。Android(商標)などの一部のオペレーティングシステムの(カメラビデオストリーム111などのハードウェアリソースを同時に1つのクライアントアプリケーション101又はリソースしか利用できない)現在の制限を考慮すると、本出願の教示がなければ、ビデオストリーム111に対して行われた処理の結果を複数のアプリケーションが利用すると同時に、クライアントアプリケーション101が出力デバイス105にビデオストリーム111を出力できるようにすることはできない。従って、本明細書では、これらの制限に対する解決策を開示した。
本明細書で説明した機能ユニットの多くは、これらの実装の独立性をより具体的に際立たせるためにモジュールとして示した。例えば、モジュールは、カスタムVLSI回路又はゲートアレイ、論理チップなどの市販の半導体、トランジスタ、又はその他の個別部品を含むハードウェア回路として実装することができる。モジュールは、フィールドプログラマブルゲートアレイなどのプログラマブルハードウェアデバイス、プログラマブルアレイロジック、又はプログラマブル論理デバイスなどの形で実装することもできる。
モジュールは、様々な種類のプロセッサにより実行されるソフトウェアの形で実装することもできる。実行可能コードの識別されたモジュールは、例えばオブジェクト、手順又は機能として体系化できる、例えばコンピュータ命令の1又はそれ以上の物理的又は論理的ブロックを含むことができる。これにも関わらず、識別されたモジュールの実行可能ファイルを共に物理的に位置付ける必要はないが、これらは、論理的に結合された場合、モジュールを含むとともにモジュールのための定められた目的を達成する、様々な場所に記憶された異なる命令を含むことができる。
当然ながら、実行可能コードのモジュールは、単一の命令であっても、又は多くの命令であってもよく、いくつかの異なるコードセグメントを介して、異なるプログラム間で及び複数のメモリ装置にわたって分散させることもできる。同様に、本明細書ではモジュール内で動作データを識別して示すことができ、またこれをいずれかの適当な形で具体化し、いずれかの適当な種類のデータ構造内で体系化することができる。これらの動作データは、単一のデータセットとして収集することも、又は異なる記憶装置を含む様々な場所に分散させることもでき、また少なくとも部分的に、単に電子信号としてシステム又はネットワーク上に存在させることもできる。
本明細書で開示した発明について、特定の実施形態、実施例及びその用途を通じて説明したが、当業者であれば、特許請求の範囲に示す本発明の範囲から逸脱することなく、本発明に数多くの修正及び変更を行うことができる。

Claims (22)

  1. コンピュータデバイスのオペレーティングシステムによる制御対象ではない、当該コンピュータデバイスの仲裁モジュールにおいて、ビデオストリームについての少なくとも1つの要求と、前記ビデオストリームに行われた少なくとも1つの処理の結果についての要求と、前記ビデオストリームのビデオプレーンでの表示のための少なくとも1つの位置情報要素とを、少なくともつのクライアントアプリケーションから同時に受け取るステップと、
    前記仲裁モジュールにより、前記ビデオストリームを受け取るステップと、
    前記仲裁モジュールにより、前記ビデオストリームに前記少なくとも1つの処理を行って、これにより、前記少なくとも1つの処理の結果を生成するステップと、
    前記仲裁モジュールから、前記ビデオストリームと、前記少なくとも1つの処理の結果と、前記ビデオストリームのビデオプレーンでの表示のための少なくとも1つの位置情報要素とを出力するステップと、
    少なくとも前記ビデオストリームと、前記ビデオストリームのビデオプレーンでの表示のための少なくとも1つの位置情報要素とをビデオパイプライン要素により、受け取るステップと、
    前記ビデオパイプライン要素により、前記位置情報要素にしたがって、前記ビデオプレーンへ少なくとも前記ビデオストリームをストリーミングするステップと、
    前記ビデオプレーンの出力デバイスへのアクセスを、前記少なくともつのクライアントアプリケーションによって出力デバイスに提供するステップであって、これにより、前記ビデオプレーンが前記出力デバイスに表示される、ステップと、
    前記少なくとも2つのクライアントアプリケーションにより、少なくとも前記少なくとも1つの処理の結果により生成された視覚情報の少なくとも一つの要素を含むグラフィック層を生成するステップと、
    前記グラフィック層を前記少なくとも2つのクライアントアプリケーションから前記出力デバイスに出力し、これにより、前記グラフィック層及び前記ビデオプレーンが前記出力デバイスのディスプレイに同時に表示される、ステップと、
    を含むことを特徴とする方法。
  2. 前記仲裁モジュールにより、前記ビデオストリームに前記少なくとも1つの処理を行うステップは、前記仲裁モジュールから前記ビデオストリームを出力する前に、前記ビデオストリームに前記結果の少なくとも1つの視覚表現を追加するステップをさらに含み、前記仲裁モジュールから前記少なくとも1つの処理の結果を出力するステップは、前記ビデオストリームを、前記追加された前記結果の少なくとも1つの視覚表現と共に出力するステップをさらに含む、
    ことを特徴とする請求項1に記載の方法。
  3. 前記少なくともつのクライアントアプリケーションにおいて、前記仲裁モジュールから前記少なくとも1つの処理の前記少なくとも一つの結果を受け取るステップをさらに含み、
    前記少なくとも2つのクライアントアプリケーションにより前記グラフィック層を生成するステップは、前記ビデオストリームに行われた前記少なくとも1つの処理の前記少なくとも一つの結果の少なくとも1つの視覚表現を前記少なくともつのクライアントアプリケーションによって生成し、前記ビデオストリームに行われた前記少なくとも1つの処理の前記少なくとも一つの結果の少なくとも1つの視覚表現を前記出力デバイスに提供するステップをさらに含む、
    ことを特徴とする請求項1に記載の方法。
  4. 前記少なくとも一つの位置情報要素は、前記出力デバイスの前記ディスプレイに関する位置パラメータ及び前記出力デバイスの前記ディスプレイに関するサイズパラメータを含み、前記グラフィック層は、前記位置パラメータ及び前記サイズパラメータに対応する空隙を含む、請求項1に記載の方法。
  5. 前記ビデオパイプライン要素は、gStreamer互換ビデオパイプライン内にgStreamer互換ビデオパイプライン要素を含む、
    ことを特徴とする請求項1に記載の方法。
  6. 前記ビデオパイプライン要素は、OpenMAX(商標)互換ビデオパイプライン内にOpenMAX(商標)互換ビデオパイプライン要素を含む、
    ことを特徴とする請求項1に記載の方法。
  7. 前記コンピュータデバイスは、Android(商標)互換オペレーティングシステムを利用する、
    ことを特徴とする請求項1に記載の方法。
  8. 前記仲裁モジュールは、さらに、自然入力エンジンを含み、前記仲裁モジュールにより、前記ビデオストリームに前記少なくとも1つの処理を行って前記少なくとも1つの処理の前記少なくとも一つの結果を生成するステップは、前記ビデオストリーム内に存在する少なくとも1つの自然入力を特定するように前記ビデオストリームを処理するステップをさらに含む、
    ことを特徴とする請求項1に記載の方法。
  9. 前記自然入力エンジンは、前記ビデオストリーム内に存在する少なくとも1つの顔に関する少なくとも1つの特徴を判断するように構成された顔検出エンジンをさらに含む、
    ことを特徴とする請求項8に記載の方法。
  10. 前記仲裁モジュールにおいて前記ビデオストリームを受け取るステップは、前記ビデオストリームをカメラデバイスから受け取るステップをさらに含む、
    ことを特徴とする請求項1に記載の方法。
  11. 少なくとも、ビデオストリームについての要求と、前記ビデオストリームに行われた少なくとも1つの処理の少なくとも1つの結果についての要求と、前記ビデオストリームのビデオプレーンでの表示のための少なくとも一つの位置情報要素とを少なくともつのクライアントアプリケーションから受け取り、
    前記ビデオストリームを受け取り、
    前記ビデオストリームに前記少なくとも1つの処理を行って、これにより、前記少なくとも1つの処理の前記少なくとも1つの結果を生成し、
    前記ビデオストリームと、前記少なくとも1つの処理の前記少なくとも1つの結果と、前記ビデオストリームのビデオプレーンでの表示のための少なくとも一つの位置情報要素とを出力する、
    ように構成されたコンピュータデバイスのオペレーティングシステムによる制御対象ではない、当該コンピュータデバイスの仲裁モジュールと、
    少なくとも前記ビデオストリームと、前記ビデオストリームのビデオプレーンでの表示のための少なくとも一つの位置情報要素とを受け取り、
    前記少なくとも一つの位置情報要素にしたがって、前記ビデオプレーンへ前記ビデオストリームをストリーミングする、
    ように構成された、前記仲裁モジュールに結合されている、前記コンピュータデバイスのビデオパイプライン要素と、
    前記少なくとも1つの処理の前記少なくとも一つの結果により生成された視覚情報の少なくとも一つの要素を含むグラフィック層を生成し、
    前記グラフィック層を前記少なくとも2つのクライアントアプリケーション及び前記ビデオプレーンに結合された出力デバイスに提供し、
    前記ビデオプレーンへのアクセスと、前記ビデオストリームに行われた前記少なくとも1つの処理の前記少なくとも一つの結果へのアクセスとを前記出力デバイスに提供し、前記グラフィック層及び前記ビデオプレーンが前記出力デバイスのディスプレイに同時に表示される、
    ように構成された、前記仲裁モジュールに結合された前記少なくともつのクライアントアプリケーションと、
    を備えることを特徴とする装置。
  12. 前記ビデオストリームを生成するように構成された、前記仲裁モジュールに結合された少なくとも1つのカメラをさらに備える、
    ことを特徴とする請求項11に記載の装置。
  13. 前記少なくともつのクライアントアプリケーションが動作するAndroid(商標)互換オペレーティングシステムをさらに備える、
    ことを特徴とする請求項11に記載の装置。
  14. 前記ビデオパイプライン要素は、gStreamer互換パイプライン内にgStreamer互換パイプライン要素をさらに含む、
    ことを特徴とする請求項11に記載の装置。
  15. 前記ビデオパイプライ要素は、OpenMAX(商標)互換ビデオパイプライン内にOpenMAX(商標)互換ビデオパイプライン要素をさらに含む、
    ことを特徴とする請求項11に記載の装置。
  16. 前記仲裁モジュールは、
    前記ビデオストリームを出力する前に、前記少なくとも1つの結果の少なくとも1つの視覚表現を前記ビデオストリームに追加することにより、前記ビデオストリームに前記少なくとも1つの処理を行って前記少なくとも1つの結果を生成し、
    前記ビデオストリームを、前記追加された前記少なくとも1つの結果の少なくとも1つの視覚表現と共に出力することにより、前記少なくとも1つの処理の前記少なくとも1つの結果を出力する、
    ようにさらに構成されることを特徴とする請求項11に記載の装置。
  17. 前記少なくともつのクライアントアプリケーションは、
    前記仲裁モジュールから前記少なくとも1つの処理の前記少なくとも1つの結果を受け取り、
    前記ビデオストリームに行われた前記少なくとも1つの処理の前記少なくとも1つの結果の少なくとも1つの視覚表現を生成することによって追加の視覚情報を生成し、
    前記グラフィック層に前記少なくとも1つの視覚表現を含む、
    ようにさらに構成されることを特徴とする請求項11に記載の装置。
  18. 前記少なくとも一つの位置情報要素は、前記出力デバイスの前記ディスプレイに関する位置パラメータ及び前記出力デバイスの前記ディスプレイに関するサイズパラメータを含み、前記グラフィック層は、前記位置パラメータ及び前記サイズパラメータに対応する空隙を含む、
    ことを特徴とする請求項11に記載の装置。
  19. 前記仲裁モジュールは、前記ビデオストリーム内に存在する少なくとも1つの自然入力を特定するように前記ビデオストリームを処理することにより、前記ビデオストリームに前記少なくとも1つの処理を行って前記少なくとも1つの処理の前記少なくとも1つの結果を生成するように構成された自然入力エンジンをさらに含む、
    ことを特徴とする請求項11に記載の装置。
  20. 前記自然入力エンジンは、前記ビデオストリーム内に存在する少なくとも1つの顔に関する少なくとも1つの特徴を判断するように構成された顔検出エンジンをさらに含む、
    ことを特徴とする請求項19に記載の装置。
  21. 前記少なくともつのクライアントアプリケーションは、Java(商標)アプリケーションである、請求項1に記載の方法。
  22. 前記少なくともつのクライアントアプリケーションは、Java(商標)アプリケーションである、請求項11に記載の装置。
JP2013211012A 2012-10-12 2013-10-08 ビデオストリーミングのための方法及び装置 Active JP5807756B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/651,290 2012-10-12
US13/651,290 US9001216B2 (en) 2012-10-12 2012-10-12 Method and apparatus for video streaming

Publications (2)

Publication Number Publication Date
JP2014081933A JP2014081933A (ja) 2014-05-08
JP5807756B2 true JP5807756B2 (ja) 2015-11-10

Family

ID=49326551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013211012A Active JP5807756B2 (ja) 2012-10-12 2013-10-08 ビデオストリーミングのための方法及び装置

Country Status (5)

Country Link
US (1) US9001216B2 (ja)
EP (1) EP2720471A1 (ja)
JP (1) JP5807756B2 (ja)
KR (1) KR101501378B1 (ja)
CN (1) CN103731742B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432730B2 (en) * 2012-12-26 2016-08-30 Huawei Technologies Co., Ltd. Multimedia file playback method and apparatus
US9251405B2 (en) * 2013-06-20 2016-02-02 Elwha Llc Systems and methods for enhancement of facial expressions
KR20150137499A (ko) * 2014-05-29 2015-12-09 엘지전자 주식회사 영상 표시 기기 및 그의 동작 방법
US10318361B2 (en) * 2014-07-02 2019-06-11 Atheer, Inc. Methods and systems for multiple access to a single hardware data stream
US9946355B2 (en) * 2015-09-01 2018-04-17 Samsung Electronics Co., Ltd. System and method for operating a mobile device using motion gestures
US20210220064A1 (en) * 2018-05-18 2021-07-22 Corindus, Inc. Remote communications and control system for robotic interventional procedures
CN109905752B (zh) * 2019-03-14 2021-06-08 海信视像科技股份有限公司 音频数据处理方法、装置、电子设备和存储介质
CN110493626B (zh) * 2019-09-10 2020-12-01 海信集团有限公司 视频数据处理方法及装置
US11546617B2 (en) 2020-06-30 2023-01-03 At&T Mobility Ii Llc Separation of graphics from natural video in streaming video content

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207487A (ja) 1999-01-20 2000-07-28 Sony Corp 情報処理装置および方法、並びに提供媒体
US6931376B2 (en) 2000-07-20 2005-08-16 Microsoft Corporation Speech-related event notification system
WO2002037471A2 (en) 2000-11-03 2002-05-10 Zoesis, Inc. Interactive character system
US20030046316A1 (en) 2001-04-18 2003-03-06 Jaroslav Gergic Systems and methods for providing conversational computing via javaserver pages and javabeans
US7020841B2 (en) 2001-06-07 2006-03-28 International Business Machines Corporation System and method for generating and presenting multi-modal applications from intent-based markup scripts
US6839896B2 (en) 2001-06-29 2005-01-04 International Business Machines Corporation System and method for providing dialog management and arbitration in a multi-modal environment
US7113618B2 (en) 2001-09-18 2006-09-26 Intel Corporation Portable virtual reality
JP2005094741A (ja) 2003-08-14 2005-04-07 Fuji Photo Film Co Ltd 撮像装置及び画像合成方法
US7644410B1 (en) 2004-11-23 2010-01-05 Hewlett-Packard Development Company, L.P. Resource management for shared computing environment
US7868893B2 (en) 2006-03-07 2011-01-11 Graphics Properties Holdings, Inc. Integration of graphical application content into the graphical scene of another application
US20070288627A1 (en) 2006-06-13 2007-12-13 Alicia Abella Method for sensing user presence for buddy list applications
US7839434B2 (en) * 2006-08-04 2010-11-23 Apple Inc. Video communication systems and methods
US8842074B2 (en) * 2006-09-06 2014-09-23 Apple Inc. Portable electronic device performing similar operations for different gestures
US7616131B2 (en) 2006-10-16 2009-11-10 Motorola, Inc. Method and apparatus for allowing runtime creation of a user experience for a wireless device
EP2081362B1 (en) 2008-01-21 2013-07-24 Alcatel Lucent Resource arbitration in a converged multi-media environment
US20100257252A1 (en) * 2009-04-01 2010-10-07 Microsoft Corporation Augmented Reality Cloud Computing
US20100289912A1 (en) 2009-05-14 2010-11-18 Sony Ericsson Mobile Communications Ab Camera arrangement with image modification
KR101698082B1 (ko) 2010-01-20 2017-02-01 엘지전자 주식회사 영상 신호 조절 장치 및 제어 방법
US20110213664A1 (en) * 2010-02-28 2011-09-01 Osterhout Group, Inc. Local advertising content on an interactive head-mounted eyepiece
JP5659510B2 (ja) 2010-03-10 2015-01-28 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
US20110289506A1 (en) 2010-05-18 2011-11-24 Google Inc. Management of computing resources for applications
US8850463B2 (en) 2010-12-30 2014-09-30 Átila Leão FLORES XAVIER System and method for capturing parameters and recording events in portable devices with digital television receiver
US8190749B1 (en) 2011-07-12 2012-05-29 Google Inc. Systems and methods for accessing an interaction state between multiple devices
KR101348142B1 (ko) * 2013-09-14 2014-01-07 주식회사 코어셀 얼굴인식기술을 이용하여 분류된 개인 또는 그룹 유형별 맞춤형 콘텐츠 제공 방법 및 그러한 시스템

Also Published As

Publication number Publication date
JP2014081933A (ja) 2014-05-08
KR101501378B1 (ko) 2015-03-12
EP2720471A1 (en) 2014-04-16
KR20140047553A (ko) 2014-04-22
US20140104440A1 (en) 2014-04-17
CN103731742A (zh) 2014-04-16
CN103731742B (zh) 2017-06-06
US9001216B2 (en) 2015-04-07

Similar Documents

Publication Publication Date Title
JP5807756B2 (ja) ビデオストリーミングのための方法及び装置
US11720179B1 (en) System and method for redirecting content based on gestures
US10171731B2 (en) Method and apparatus for image processing
US20130275411A1 (en) Image search method and digital device for the same
WO2018103384A1 (zh) 一种360度全景视频的播放方法、装置及系统
KR101654053B1 (ko) 메타데이터 저장 서브시스템의 작동
CN111556350B (zh) 一种智能终端及人机交互方法
US9185334B2 (en) Methods and devices for video generation and networked play back
KR102426089B1 (ko) 전자 장치 및 전자 장치의 요약 영상 생성 방법
CN113825002B (zh) 显示设备及焦距控制方法
WO2021052488A1 (zh) 一种信息处理方法及电子设备
KR20150079889A (ko) 겟 앤드 셋 아키텍처에 기초한 전송 메커니즘 내에서의 커맨드의 실행
WO2023125316A1 (zh) 视频处理方法、装置、电子设备及介质
US10915778B2 (en) User interface framework for multi-selection and operation of non-consecutive segmented information
CN113453069B (zh) 一种显示设备及缩略图生成方法
US10542309B2 (en) Electronic device and operation method thereof
US20200168202A1 (en) Electronic device and operation method thereof
CN111324437A (zh) 操作系统的内核函数调用方法及计算机设备
TWI775397B (zh) 3d顯示系統與3d顯示方法
US11537824B2 (en) Categorization of photographs
WO2024099206A1 (zh) 一种图形界面处理方法以及装置
WO2022156729A1 (zh) 一种显示设备及显示方法
CN114297435A (zh) 一种通信终端及多屏互动视频浏览方法
CN115705129A (zh) 一种显示设备及窗口背景显示方法
KR20230010601A (ko) 증강현실을 이용한 메시지 기반의 xr 모바일 서비스 제공 방법 및 이를 지원하는 시스템

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141001

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150617

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150625

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: 20150812

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150825

R151 Written notification of patent or utility model registration

Ref document number: 5807756

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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