JP2018029338A - ビデオカンファレンスのためのビデオストリーム提供方法およびコンピュータプログラム - Google Patents

ビデオカンファレンスのためのビデオストリーム提供方法およびコンピュータプログラム Download PDF

Info

Publication number
JP2018029338A
JP2018029338A JP2017157004A JP2017157004A JP2018029338A JP 2018029338 A JP2018029338 A JP 2018029338A JP 2017157004 A JP2017157004 A JP 2017157004A JP 2017157004 A JP2017157004 A JP 2017157004A JP 2018029338 A JP2018029338 A JP 2018029338A
Authority
JP
Japan
Prior art keywords
resolution
layer
video stream
video conference
layers
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.)
Pending
Application number
JP2017157004A
Other languages
English (en)
Inventor
ジョンナム クァック
Jung Nam Gwock
ジョンナム クァック
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.)
Z Intermediate Global Corp
Original Assignee
Line 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 Line Corp filed Critical Line Corp
Publication of JP2018029338A publication Critical patent/JP2018029338A/ja
Priority to JP2022054842A priority Critical patent/JP7273217B2/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/152Multipoint control units therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • 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
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/40Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
    • H04N25/42Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by switching between different modes of operation using different resolutions or aspect ratios, e.g. switching between interlaced and non-interlaced mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/667Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/148Interfacing a video terminal to a particular transmission medium, e.g. ISDN

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】 ビデオカンファレンスのためのビデオストリーム提供方法およびシステムを提供する。【解決手段】 ビデオストリーム提供方法は、ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類するクラス情報を管理する段階、クラス情報に基づき、複数のクラスのうちで前記ビデオカンファレンスに参加したソース提供クライアントで提供可能な解像度が属する少なくとも2つ以上のクラスを決定する段階、ビデオカンファレンスのためのビデオストリームを決定された少なくとも2つ以上のクラスごとに設定される解像度を利用して複数のレイヤとしてエンコードする段階、および前記複数のレイヤとしてエンコードされたビデオストリームをネットワークを介してビデオカンファレンスのためのサーバに送信するように前記ソース提供クライアントの電子機器を制御する段階を含む。【選択図】 図3

Description

以下の説明は、ビデオカンファレンスのためのビデオストリーム提供方法およびシステム、コンピュータによって実現される電子機器と結合してビデオカンファレンスのためのビデオストリーム提供方法をコンピュータに実行させるコンピュータプログラム、ならびに、コンピュータで読み取り可能な記録媒体に関する。
ビデオカンファレンス(video conference)とは、遠距離に位置する人々が映像および音声通信網を利用して同じ場所にいるような雰囲気で行われる遠隔会議の一種である。このようなビデオカンファレンスでは、映像の解像度(映像画面のサイズ)が大きくなるため、データが圧縮されたとしても送受信されなければならないデータ量が多くなる上に、ビデオカンファレンスに参加したユーザのうちでも特定のユーザ(一例として、該当の解像度でビデオストリームを再生することができない端末のユーザ)には、ビデオストリームの伝達が困難になる可能性もあるという問題を抱えている。
このような問題を克服するために、従来のビデオカンファレンスシステムは、2種類以上の解像度を有するビデオストリームを提供している。例えば、従来のビデオカンファレンスシステムは、ビデオカンファレンスのすべての参加者が使用することのできる解像度のみでビデオストリームを送信したり、あるいは、受信したビデオストリームをデコードした後、低い解像度のビデオストリームにトランスコードして伝達したりしていた。一例として、特許文献1は、エンコードされたメディアストリームにトランスコード(transcoding)情報を提供する方法について開示している。
しかし、このようなトランスコードは、サーバ側の負荷が極めて大きいという問題を抱えている。さらに、2種類以上の解像度を有するビデオストリームを提供するにあたっては、画面サイズを別途分類しないため、希望するサイズでない場合には画面サイズをリサイジングしなければならないことから、性能に悪影響を及ぼすという問題がある。
韓国登録特許第10−1100413号公報 国際公開第2015/065001号 米国特許出願公開第2014/0019540号明細書 米国特許出願公開第2013/0332543号明細書 米国特許出願公開第2013/0260893号明細書
ビデオカンファレンスのためのビデオストリームの提供において、ソース提供クライアントがビデオストリームを画面サイズ(解像度)別に複数のレイヤとしてエンコードしてサーバに提供することによってサーバ側の負担を減らすことができる、ビデオカンファレンスのためのビデオストリーム提供方法およびシステム、コンピュータによって実現される電子機器と結合してビデオカンファレンスのためのビデオストリーム提供方法をコンピュータに実行させるコンピュータプログラム、および、コンピュータで読み取り可能な記録媒体を提供する。
解像度の範囲を複数のクラスに予め分類し、各クラスの解像度範囲に含まれる解像度を有するレイヤを提供することにより、クライアントのカメラによって入力される解像度と前記解像度を基準に設定される他の解像度を活用して画面をリサイジングする必要なくそのまま活用することができる、ビデオカンファレンスのためのビデオストリーム提供方法およびシステム、コンピュータによって実現される電子機器と結合してビデオカンファレンスのためのビデオストリーム提供方法をコンピュータに実行させるためにコンピュータプログラム、および、コンピュータで読み取り可能な記録媒体を提供する。
ビデオカンファレンスのためのビデオストリーム提供方法を、電子機器のコンピュータに実行させるコンピュータプログラムであって、前記ビデオストリーム提供方法は、前記ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類したクラス情報に基づいて、前記複数のクラスのうち、前記ビデオカンファレンスに参加したソース提供クライアントから提供可能な解像度が属する少なくとも2つ以上のクラスを決定する段階、前記ビデオカンファレンスのためのビデオストリームを前記決定された少なくとも2つ以上のクラスごとに設定される解像度を利用して複数のレイヤとしてエンコードする段階、および前記複数のレイヤとしてエンコードされたビデオストリームをネットワークを介して前記ビデオカンファレンスのためのサーバに送信するように前記ソース提供クライアントの電子機器を制御する段階を含む、コンピュータプログラムを提供する。
ビデオカンファレンスのためのビデオストリーム提供方法であって、前記ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類したクラス情報に基づいて、前記複数のクラスのうちで前記ビデオカンファレンスに参加したソース提供クライアントから提供可能な解像度が属する少なくとも2つ以上のクラスを決定する段階、前記ビデオカンファレンスのためのビデオストリームを前記決定された少なくとも2つ以上のクラスごとに設定される解像度を利用して複数のレイヤとしてエンコードする段階、および前記複数のレイヤとしてエンコードされたビデオストリームをネットワークを介して前記ビデオカンファレンスのためのサーバに送信するように前記ソース提供クライアントの電子機器を制御する段階を含む、ビデオストリーム提供方法を提供する。
ビデオカンファレンスのためのサーバのビデオストリーム提供方法であって、前記ビデオカンファレンスに参加したソース提供クライアントから、前記ソース提供クライアントが提供可能な複数の解像度それぞれによって複数のレイヤとしてエンコードされたビデオストリームを受信する段階、前記ビデオカンファレンスに参加した少なくとも2つ以上の受信クライアントそれぞれから、前記2つ以上の受信クライアントそれぞれが再生可能な解像度に関する情報を受信する段階、前記2つ以上の受信クライアントのうちで第1受信クライアントに送信するためのビデオストリームのレイヤを前記第1受信クライアントから受信した解像度に関する情報を利用して決定する段階、および前記決定されたレイヤを前記第1受信クライアントに送信する段階を含む、ビデオストリーム提供方法を提供する。
ビデオカンファレンスのためのビデオストリームの提供において、ソース提供クライアントがビデオストリームを画面サイズ(解像度)別に複数のレイヤとしてエンコードしてサーバに提供することにより、サーバ側の負担を減らすことができる。
解像度の範囲を複数のクラスに予め分類し、各クラスの解像度範囲に含まれる解像度を有するレイヤを提供することにより、クライアントのカメラによって入力される解像度と前記解像度を基準に設定される他の解像度を活用して画面をリサイジングする必要なくそのまま活用することができる。
本発明の一実施形態における、ネットワーク環境の例を示した図である。 本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。 本発明の一実施形態における、ビデオストリーム提供のための全体システムの例を示した図である。 本発明の一実施形態における、電子機器のプロセッサが含むことのできる構成要素の例を示したブロック図である。 本発明の一実施形態における、電子機器が実行することのできる方法の例を示したフローチャートである。 本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図である。 本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。 本発明の一実施形態における、下位レイヤと上位レイヤの関係に対する例を示した図である。 本発明の一実施形態における、ビデオストリームをレイヤとしてエンコードする例を示した図である。 本発明の一実施形態における、ビデオストリームをレイヤとしてエンコードする他の例を示した図である。
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
本発明の実施形態に係るビデオカンファレンスのためのサーバのビデオストリーム提供システムは、以下で説明される電子機器やサーバによって実現されてよく、本発明の実施形態に係るビデオカンファレンスのためのサーバのビデオストリーム提供方法は、上述した電子機器やサーバによって実行されてよい。一実施形態として、電子機器は、サーバを通じてビデオカンファレンスに参加してよく、1つの電子機器から送信されるビデオストリームは、サーバを通じてビデオカンファレンスに参加した他の電子機器に伝達されてよい。このとき、ビデオカンファレンスのためのサービスが提供されるためのコンピュータプログラムが電子機器にインストールされてよく、電子機器は、インストールされたコンピュータプログラムの制御にしたがって本発明の実施形態に係るビデオカンファレンスのためのサーバのビデオストリーム提供方法を実行してよい。サーバも、サーバにインストールされるコンピュータプログラムの制御にしたがって電子機器にビデオカンファレンスのためのサービスを提供してよい。コンピュータプログラムは、コンピュータで実現された電子機器やサーバと結合してビデオストリーム提供方法をコンピュータに実行させるためにコンピュータで読み取り可能な記録媒体に格納されてよい。
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図1のように限定されることはない。
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、PC(personal computer)、ノート型パンコン、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレットなどがある。一例として、図1では、電子機器1(110)の例としてスマートフォンの形状を示しているが、本発明の実施形態では、実質的に、無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信することのできる多様な機器のうちの1つを意味してよい。
通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでもよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的(hierarchical)ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク170を介して接続した複数の電子機器110、120、130、140に第1サービスを提供するシステムであってよく、サーバ160も、ネットワーク170を介して接続した複数の電子機器110、120、130、140に第2サービスを提供するシステムであってよい。より具体的な例として、サーバ150は、第1サービスとして、ビデオカンファレンスのためのサービスを複数の電子機器110、120、130、140に提供するシステムであってよい。また、サーバ160は、第2サービスとして、ビデオカンファレンスのためのサービスが提供されるようにするためのアプリケーション(一例として、上述したコンピュータプログラム)のインストールファイルを複数の電子機器110、120、130、140に提供するファイル配布システムであってよい。
図2は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図2では、電子機器に対する例として電子機器1(110)の内部構成を、そしてサーバ150の内部構成を説明する。また、他の電子機器120、130、140やサーバ160も、上述した電子機器1(110)またはサーバ150と同一または類似の内部構成を有してよい。
電子機器1(110)とサーバ150は、メモリ211、221、プロセッサ212、222、通信モジュール213、223、および入力/出力インタフェース214、224を含んでよい。メモリ211、221は、コンピュータで読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永久大容量記憶装置(permanent mass storage device)を含んでよい。ここで、ROMとディスクドライブのような永久大容量記憶装置は、メモリ211、221とは区分される別の永久保存装置として電子機器1(110)やサーバ150に含まれてもよい。また、メモリ211、221には、オペレーティングシステムと、少なくとも1つのプログラムコード(一例として、電気機器1(110)にインストールされ駆動するブラウザや特定サービスの提供のために電子機器1(110)にインストールされたアプリケーションなどのためのコード)が格納されてよい。このようなソフトウェア構成要素は、メモリ211、221とは別のコンピュータで読み取り可能な記録媒体からロードされてもよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD−ROMドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール213、223を通じてメモリ211、221にロードされてもよい。例えば、少なくとも1つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム(一例として、上述したサーバ160)がネットワーク170を介して提供するファイルによってインストールされるプログラム(一例として、上述したアプリケーション)に基づいてメモリ211、221にロードされてよい。
プロセッサ212、222は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ211、221または通信モジュール213、223によって、プロセッサ212、222に提供されてよい。例えば、プロセッサ212、222は、メモリ211、221のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
通信モジュール213、223は、ネットワーク170を介して電子機器1(110)とサーバ150とが互いに通信するための機能を提供してもよいし、電子機器1(110)および/またはサーバ150が他の電子機器(一例として、電子機器2(120))または他のサーバ(一例として、サーバ160)と通信するための機能を提供してもよい。一例として、電子機器1(110)のプロセッサ212がメモリ211のような記録装置に格納されたプログラムコードにしたがって生成した要求が、通信モジュール213の制御にしたがってネットワーク170を介してサーバ150に伝達されてよい。これとは逆に、サーバ150のプロセッサ222の制御にしたがって提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール223とネットワーク170を経て電子機器1(110)の通信モジュール213を通じて電子機器1(110)に受信されてもよい。例えば、通信モジュール213を通じて受信されたサーバ150の制御信号や命令、コンテンツ、ファイルなどは、プロセッサ212やメモリ211に伝達されてよく、コンテンツやファイルなどは、電子機器1(110)がさらに含むことのできる格納媒体(上述した永久保存装置)に格納されてよい。
入力/出力インタフェース214は、入力/出力装置215とのインタフェースのための手段であってよい。例えば、入力装置は、キーボードまたはマウスなどの装置を、出力装置は、ディスプレイのような装置を含んでよい。他の例として、入力/出力インタフェース214は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置215は、電子機器1(110)と1つの装置で構成されてもよい。また、サーバ150の入力/出力インタフェース224は、サーバ150と接続するかサーバ150が含むことのできる入力または出力のための装置(図示せず)とのインタフェースのための手段であってよい。より具体的な例として、電子機器1(110)のプロセッサ212は、メモリ211にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ150や電子機器2(120)が提供するデータを利用して構成されるサービス画面やコンテンツが入力/出力インタフェース214を通じてディスプレイに表示されてよい。
また、他の実施形態において、電子機器1(110)およびサーバ150は、図2の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器1(110)は、上述した入力/出力装置215のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、GPS(Global Positioning System)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器1(110)がスマートフォンである場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラ、物理的な各種ボタン、タッチパネルを利用したボタン、入力/出力ポート、振動のための振動器などの多様な構成要素が電子機器1(110)にさらに含まれるように実現されてよい。
図3は、本発明の一実施形態における、ビデオストリーム提供のための全体システムの例を示した図である。図3は、第1電子機器310、第2電子機器320、第3電子機器330、およびビデオカンファレンスサーバ340を示している。第1電子機器310、第2電子機器320、および第3電子機器330それぞれは、上述した電子機器1(110)のように実現されてよく、ビデオカンファレンスサーバ340は、上述したサーバ150のように実現されてよい。
ここで、第1電子機器310、第2電子機器320、および第3電子機器330は、ネットワーク170を介してビデオカンファレンスに参加した端末であってよく、ビデオカンファレンスのためのビデオストリームを送受信してよい。このような第1電子機器310、第2電子機器320、および第3電子機器330はそれぞれ、ビデオストリームの発信者であると同時に受信者であってもよいが、説明の便宜のために、第1電子機器310がビデオストリームを発信するソース提供クライアントであり、第2電子機器320および第3電子機器330がビデオスクリムを受信する受信クライアントであると仮定する。また、ビデオカンファレンスサーバ340は、第1電子機器310、第2電子機器320、および第3電子機器330間でビデオカンファレンスが成立するようにサービスを提供する装置であってよい。
第1点線ボックス351が示す過程は、ビデオカンファレンスに参加した第1電子機器310から提供可能なソースのサイズをビデオカンファレンスサーバ340に知らせてビデオカンファレンスサーバ340が応答する過程の例を示している。ここで、ソースとは、第1電子機器310がビデオカンファレンスを行うためにビデオカンファレンスサーバ340にアップロードしようとするビデオストリームを意味してよく、ソースのサイズとは、第1電子機器310が提供することのできる解像度を意味してよい。例えば、第1電子機器310は、ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類したクラス情報を利用し、ビデオストリームを互いに異なる解像度のn(前記nは、2以上の自然数)個のレイヤでエンコードしてよい。
このとき、第1電子機器310が提供可能なソースのサイズ(レイヤ)は、第1電子機器310のCPUパワーおよび/またはネットワーク状況(例えば、第1電子機器310が測定するネットワークトラフィック)に基づいて第1電子機器310で決定されてよい。
一例として、以下の表1は、ビデオカンファレンスのための解像度の範囲を3つのクラスに予め分類した例を示している。このとき、解像度の範囲は、幅(width)×高さ(height)を基準に分類されてよい。
このとき、第1点線ボックス351に示された「レイヤ=3」は、表1のレイヤ識別子3に対応し、第1電子機器310が第1クラスに対応するレイヤ1、第2クラスに対応するレイヤ2、および第3クラスに対応するレイヤ3の提供が可能であることをビデオカンファレンスサーバに知らせることを意味してよい。
各レイヤの解像度は、対応するクラスの解像度の範囲に含まれてよい。ここで、各レイヤの解像度は、予め特定の値で固定されるのではなく、予め分類されたクラスの解像度範囲に含まれる値の中から設定されてよい。例えば、電子機器が含むカメラによって入力される画面のサイズは一括的ではない。もし、第2レイヤの解像度の値を640×480に固定した場合に、カメラを通じて他の解像度(一例として、635×475)の映像が入力された場合には、映像の解像度をリサイジングしなければならない問題が生じる。しかし、発明の実施形態のように、レイヤの解像度の値を固定的に設定するのではなく、クラス別の解像度の範囲に含まれる値を設定することによってリサイジング(resizing)が要求されなくなるため、性能が向上するようになる。
表1では、3つのクラスと3つのレイヤについて説明したが、クラスはn個に予め分類されてもよく、レイヤもn個が存在してもよい。例えば、表2は、ビデオカンファレンスのための解像度の範囲が4つのクラスに予め分類された実施形態を示している。
このような実施形態において、複数のレイヤのうちで基準となるレイヤの解像度は、電子機器(一例として、上述した第1電子機器310)が含むカメラによって入力される解像度が設定されてよく、複数のレイヤのうちの他のレイヤの解像度は、基準となるレイヤの解像度に基づいて設定されてよい。例えば、レイヤの解像度は、レイヤnの解像度による幅がレイヤn−1の解像度による幅の2倍となり、前記レイヤnの解像度による高さが前記レイヤn−1の解像度による高さの2倍となるように設定されてよい。より具体的な例として、第1電子機器310が含むカメラを通じて入力される画面のサイズが315×235である場合、レイヤ1の解像度は315×235となってよい。ここで、レイヤ2の解像度は630×470となってよく、レイヤ3の解像度は1260×940となってよい。
言い換えれば、レイヤの解像度がQVGAのための496×360、VGAのための640×480のように固定されているのではなく、カメラを通じて入力される画面のサイズによって対応するクラスの解像度範囲に含まれるように可変的に設定され、そのサイズは幅と高さがそれぞれ2倍になるように設定されるため、リサイジング時には性能向上を期待することができる。
また、レイヤnは、レイヤn−1を基盤にエンコードされてよい。例えば、レイヤ1が生成された後、レイヤ2は、レイヤ1に追加で必要な情報のみを含んでよい。言い換えれば、レイヤnは、レイヤ1からレイヤn−1までの下位レイヤのデータを共有し、レイヤnの解像度にしたがってエンコードされたビデオストリームを構成するための追加データを含むことができる。
一方、ビデオカンファレンスサーバ340は、ネットワーク状況(例えば、ビデオカンファレンスサーバ340で測定するネットワークトラフィックやネットワークリソースなど)に応じて第1電子機器310がアップロード可能なレイヤを再調整してよい。例えば、第1電子機器310が「レイヤ=3」のようにレイヤ1からレイヤ3までの提供が可能であると知らせてきたとき、ビデオカンファレンスサーバ340は、ネットワーク状況に応じて第1電子機器310がアップロード可能なレイヤをレイヤ2までに制限してよい。この場合、第1点線ボックスの「応答」は、「レイヤ=2」のように再調整されたレイヤ識別子を含んでよい。
また、第2点線ボックス352が示す過程は、ビデオカンファレンスに参加した第2電子機器320が第2電子機器320で再生可能な解像度をビデオカンファレンスサーバ340に知らせ、サーバがこれに応答する過程の例であってよい。第2点線ボックス352の「レイヤ=2」は、第2電子機器320がレイヤ2の解像度で映像の再生が可能であることを意味してよい。
第3点線ボックス353が示す過程は、ビデオカンファレンスに参加した第3電子機器330が第3電子機器330で再生可能な解像度をビデオカンファレンスサーバ340に知らせ、サーバがこれに応答する過程の例であってよい。第3点線ボックス353の「レイヤ=1」は、第3電子機器330がレイヤ1の解像度で映像の再生が可能であることを意味してよい。
このような受信クライアント(第2電子機器320および第3電子機器330)の再生可能な解像度は、機器の特性に応じて定められるものであるため、ビデオカンファレンスサーバ340は、レイヤに対する別途の再調整なく、第2電子機器320および第3電子機器330の要求にしたがってレイヤを伝達することができる。
第1矢印354が示す過程は、第1電子機器310がビデオカンファレンスサーバ340にレイヤをアップロードする過程であってよい。図3の実施形態のように、第1電子機器310は、レイヤ1からレイヤ3までのアップロードが可能であることをビデオカンファレンスサーバ340に知らせたため、これに応じてレイヤ1、レイヤ2、およびレイヤ3をビデオカンファレンスサーバ340にアップロードしてよい。
第2矢印355と第3矢印356が示す過程は、ビデオカンファレンスサーバ340が第2電子機器320および第3電子機器330に要求されたレイヤを伝達する過程であってよい。ここで、第2電子機器320はレイヤ2を要求したため、ビデオカンファレンスサーバ340は、レイヤ1およびレイヤ2を第2電子機器320に提供してよい。また、第3電子機器330はレイヤ1を要求したため、ビデオカンファレンスサーバ340は、レイヤ1を第3電子機器330に提供してよい。
上述したように、レイヤ2は、レイヤ1のデータを共有し、レイヤ2の解像度によるビデオストリームを得るための追加の情報を含むため、レイヤ1と共に伝達されることにより、第2電子機器320でレイヤ2の解像度によるビデオストリームを得ることができるようになる。より具体的な例として、第1電子機器310がビデオカンファレンスサーバ340にアップロードするレイヤの統合されたペイロードフォーマットが「[レイヤ1][レイヤ2][レイヤ3]」のような形態を有しているとする。このとき、ビデオカンファレンスサーバ340は、上のペイロード構造をトランスコードせずにパッシングした後、「[レイヤ1][レイヤ2]」のように再び組み合わせて第2電子機器320に提供してよい。これと同じように、ビデオカンファレンスサーバ340は、上のペイロード構造をトランスコードせずにパッシングした後、「[レイヤ1]」のように再び組み合わせて第3電子機器330に提供してよい。
図4は、本発明の一実施形態における、電子機器のプロセッサが含むことのできる構成要素の例を示したブロック図であり、図5は、本発明の一実施形態における、電子機器が実行することのできる方法の例を示したフローチャートである。
本実施形態に係る電子機器1(110)は、図3を参照しながら説明した第1電子機器310に対応してよく、ソース提供クライアントの役割を実行してよい。このような電子機器1(110)のプロセッサ212は、図4に示すように、クラス情報管理部410、クラス決定部420、エンコード部430、および送信制御部440を含んでよい。
このようなプロセッサ212およびプロセッサ212の構成要素は、図5のビデオストリーム提供方法が含む段階510〜540を実行してよい。このとき、プロセッサ212およびプロセッサ212の構成要素は、メモリ211が含むオペレーティングシステムのコードや少なくとも1つのプログラム(一例として、ビデオカンファレンスサービスの提供のためのアプリケーション)のコードによる制御命令(instruction)を実行するように実現されてよい。ここで、プロセッサ212の構成要素は、電子機器1(110)に格納されたコードが提供する制御命令にしたがってプロセッサ212によって実行される、プロセッサ212の互いに異なる機能(different functions)の表現であってよい。例えば、プロセッサ212がクラス情報を管理するように電子機器1(110)を制御するプロセッサ212の機能的表現としてクラス情報管理部410が使用されてよい。
段階510で、クラス情報管理部410は、ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類したクラス情報を管理してよい。クラス情報とは、上記の表1や表2を参照しながら説明したように、解像度の範囲に関する分類情報であってよく、上述したアプリケーションの制御にしたがって電子機器1(110)の格納所(一例として、図2を参照しながら説明した永久格納装置)に格納および管理されてよい。解像度の範囲に対する分類は、ビデオカンファレンスのためのサーバで予め設定されてよい。ここで、サーバは、上述したビデオカンファレンスサーバ340に対応してよい。例えば、複数のクラスは、QVGA(Quarter Video Graphic Array)の解像度を含む解像度範囲の第1クラス、VGA(Video Graphic Array)の解像度を含む解像度範囲の第2クラス、およびHD(High Definition)の解像度を含む解像度範囲の第3クラスを含んでよい。
段階520で、クラス決定部420は、クラス情報に基づき、複数のクラスのうちでビデオカンファレンスに参加したソース提供クライアントから提供可能な解像度が属する少なくとも2つ以上のクラスを決定してよい。上述したように、各クラスに対応するレイヤが存在し、クラスを決定することは、提供可能なレイヤを決めることに対応してよい。例えば、表1において第1クラスおよび第2クラスを決定することは、レイヤ1およびレイヤ2の提供が可能であることに対応してよい。
段階530で、エンコード部430は、ビデオカンファレンスのためのビデオストリームを決定された少なくとも2つ以上のクラスごとに設定される解像度を利用して複数のレイヤとしてエンコードしてよい。上述したように、複数のレイヤのうちで基準となるレイヤの解像度は、電子機器1(110)が含むカメラによって入力される画面のサイズ(解像度)で設定され、複数のレイヤのうちの他のレイヤの解像度は、基準となるレイヤの解像度に基づいて設定されてよい。ここで、複数のレイヤの解像度は、レイヤnの解像度による幅がレイヤn−1の解像度による幅の2倍となり、レイヤnの解像度による高さがレイヤn−1の解像度による高さの2倍となるように設定されてよい。上述したビデオカンファレンスのための解像度の範囲は、解像度範囲が低い順にn番目クラスの解像度範囲にレイヤnの解像度が含まれるように予め分類されてよい。また、上述したように、レイヤnは、レイヤ1からレイヤn−1までのデータを共有し、レイヤnの解像度にしたがってエンコードされたビデオストリームを構成するための追加データを含んでよい。例えば、レイヤ2は、レイヤ1のデータを共有し、レイヤ2の解像度にしたがってエンコードされたビデオストリームを構成するための追加データを含んでよい。
例えば、電子機器1(110)が含むカメラを通じて入力される画面のサイズが315×235である場合、エンコード部430は、解像度315×235でレイヤ1をエンコードしてよい。また、電子機器1(110)がレイヤ3まで提供可能な場合(第1クラス、第2クラス、および第3クラスを提供可能な解像度が属するクラスとして決定する場合)、エンコード部430は、解像度630×470でレイヤ2をエンコードしてよく、解像度1260×940でレイヤ3をエンコードしてよい。ビデオストリームのレイヤとしてのエンコードについては、以下でさらに詳しく説明する。
段階540で、送信制御部440は、複数のレイヤとしてエンコードされたビデオストリームをネットワークを介してビデオカンファレンスのためのサーバに送信するようにソース提供クライアントの電子機器1(110)を制御してよい。ここで、ネットワークは、図1および図2を参照しながら説明したネットワーク170に対応してよく、ビデオストリームをサーバに送信することは、図3の第1矢印354が示す過程を参照しながら説明したように、レイヤをアップロードすることに対応してよい。このとき、ビデオカンファレンスのためのサーバは、複数のレイヤとしてエンコードされたビデオストリームを受信し、ビデオカンファレンスに参加した少なくとも2つ以上の受信クライアントそれぞれから2つ以上の受信クライアントそれぞれが再生可能な解像度に関する情報をネットワークを介して受信し、2つ以上の受信クライアントのうちの第1受信クライアントから受信した解像度に関する情報を利用して第1受信クライアントに送信するレイヤを決定するように実現されてよい。
また、2つ以上の受信クライアントそれぞれは、2つ以上の受信クライアントの電子機器(一例として、図3を参照しながら説明した第2電子機器320および第3電子機器330)で再生可能な解像度に関する情報をネットワークを介してビデオカンファレンスのためのサーバに送信し、ビデオカンファレンスのためのサーバから受信したレイヤを利用してビデオストリームを再生するように実現されてよい。例えば、図3の第2電子機器320は、受信したレイヤ1およびレイヤ2によってレイヤ2の解像度によるビデオストリームを再生してよい。
図6は、本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図であり、図7は、本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。
本実施形態に係るサーバ150は、図3を参照しながら説明したビデオカンファレンスサーバ340に対応してよい。このようなサーバ150のプロセッサ222は、図6に示すように、ビデオストリーム受信制御部610、解像度情報受信部620、レイヤ決定部630、およびレイヤ送信制御部640を含んでよい。
このようなプロセッサ222およびプロセッサ222の構成要素は、図7のビデオストリーム提供方法が含む段階710〜740を実行してよい。このとき、プロセッサ222およびプロセッサ222の構成要素は、メモリ221が含むオペレーティングシステムのコードや少なくとも1つのプログラムのコードによる制御命令を実行するように実現されてよい。ここで、プロセッサ222の構成要素は、サーバ150に格納されたコードが提供する制御命令にしたがってプロセッサ222によって実行される、プロセッサ222の互いに異なる機能の表現であってよい。例えば、プロセッサ222がビデオストリームを受信するようにサーバ150を制御するプロセッサ222の機能的表現としてビデオストリーム受信制御部610が使用されてよい。
段階710で、ビデオストリーム受信制御部610は、ビデオカンファレンスに参加したソース提供クライアントから、ソース提供クライアントから提供可能な複数の解像度それぞれにしたがって複数のレイヤとしてエンコードされたビデオストリームを受信するようにサーバ150を制御してよい。上述したように、ソース提供クライアントは、ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類したクラス情報に基づき、複数のクラスのうちでビデオカンファレンスに参加したソース提供クライアントから提供可能な解像度が属する少なくとも2つ以上のクラスを決定し、ビデオカンファレンスのためのビデオストリームを決定された少なくとも2つ以上のクラスごとに設定される解像度を利用して複数のレイヤとしてエンコードし、複数のレイヤとしてエンコードされたビデオストリームをネットワークを介してビデオカンファレンスのためのサーバ150に送信するように実現されてよい。このようなレイヤとクラスについての繰り返される説明は省略する。
段階720で、解像度情報受信部620は、ビデオカンファレンスに参加した少なくとも2つ以上の受信クライアントそれぞれから、2つ以上の受信クライアントそれぞれが再生可能な解像度に関する情報を受信してよい。一例として、2つ以上の受信クライアントは、図3を参照しながら説明した第2電子機器320および第3電子機器330に対応してよく、それぞれ自身が再生可能な解像度に関する情報をネットワークを介してサーバ150に送信してよい。ここで、解像度に関する情報は、レイヤ識別子(一例として、レイヤ1、レイヤ2、またはレイヤ3)を含んでよい。
段階730で、レイヤ決定部630は、2つ以上の受信クライアントのうちの第1受信クライアントに送信するためのビデオストリームのレイヤを第1受信クライアントから受信した解像度に関する情報を利用して決定してよい。例えば、第1受信クライアントから受信した解像度に関する情報がレイヤ識別子「2」を含む場合、レイヤ決定部630は、レイヤ1およびレイヤ2を第1受信クライアントに送信するためのビデオストリームのレイヤとして決定してよい。また、レイヤ決定部630は、2つ以上の受信クライアントのうちの残りの受信クライアントのためのレイヤも、それぞれの受信クライアントから受信した解像度に関する情報を利用して決定してよい。
段階740で、レイヤ送信制御部640は、決定されたレイヤを第1受信クライアントに送信するようにサーバ150を制御してよい。ここで、レイヤ送信制御部640は、2つ以上の受信クライアントのうちの残り受信クライアントにもそれぞれ決定されたレイヤを送信するようにサーバ150を制御することは当然である。例えば、図3では、ビデオカンファレンスサーバ340が第2電子機器320および第3電子機器330に決定されたレイヤを送信することについて既に説明した。
図8は、本発明の一実施形態における、下位レイヤと上位レイヤの関係に対する例を示した図である。下位レイヤ(一例として、レイヤ1)のブロック8101つが示す映像は、上位レイヤ(一例として、レイヤ2)の4つのブロック821、822、823、824が示す映像に該当する。これは、レイヤnの解像度による幅がレイヤn−1の解像度による幅の2倍になり、レイヤnの解像度による高さがレイヤn−1の解像度による高さの2倍になるように設定されるためである。このとき、ソース提供クライアントは、レイヤをエンコードするにあたり、下位レイヤ1つのブロック810に該当する4つのブロック821、822、823、824単位で参照フレームを決定してよい。また、ソース提供クライアントは、このようにマッピングされた上位レイヤの4つのブロック821、822、823、824単位で参照フレームを最後フレームとして使用するのか、それとも下位レイヤで生成された再生成されたイメージを使用するのかを判断してよい。このようなエンコードについては、図9を参照しながら以下でさらに詳しく説明する。
図9は、本発明の一実施形態における、ビデオストリームをレイヤとしてエンコードする例を示した図である。ソース提供クライアントは、入力される上位レイヤのためのソースフレーム910をダウンスケーリング920(down scaling)して下位レイヤのためのフレーム930を生成してよい。このとき、ソース提供クライアントは、上位レイヤのためのエンコードフォーマット(一例として、EVS2)を利用してソースフレーム910をエンコード940(EVS2エンコード)して上位レイヤのためのビットストリーム950(ビデオストリーム)を生成し、下位レイヤのためのエンコードフォーマット(一例として、VP8)を利用して下位レイヤのためのフレーム930をエンコード960(VP8エンコード)して下位レイヤのためのビットストリーム970を生成してよい。
この場合、ソース提供クライアントは、下位レイヤのためのエンコード960に使用されたインタ−レイヤ予測(inter−layer prediction)のためのメタデータ(一例として、モーションベクトル(motion vector)、再生成フレーム(reconstruction frame)、レジデュアル(residual)など)を上位レイヤのためのエンコード940のために活用してよい。ここで、再生成フレームは、アップスケーリング980を経て活用されてよい。このとき、上位レイヤのためのエンコード940時に、ソース提供クライアントは、以前フレームやアップスケーリング980を経た再生成されたフレームを参照フレームとして探し出してよい。言い換えれば、上位レイヤエンコードは、下位レイヤ1つのブロックに該当する4つのブロック単位で参照フレームを決定してよい。また、ソース提供クライアントは、インタ−レイヤ予測のためのメタデータを利用して最善のモーションベクトルを探し出してよく、探し出された参照フレームと最善のモーションベクトルを通じて上位レイヤのためのエンコード940を処理してよい。また、ソース提供クライアントは、上述したレジデュアルをさらにエンコードしてよい。
上述した図9のメインアルゴリズムでは、下位レイヤで計算されたモーションベクトルを上位レイヤで利用すれば、以下で説明される図10の代替アルゴリズムでは、上位レイヤで計算されたモーションベクトルを下位レイヤで利用することができる。
図10は、本発明の一実施形態における、ビデオストリームをレイヤとしてエンコードする他の例を示した図である。ソース提供クライアントは、入力される上位レイヤのためのソースフレーム1010を上位レイヤのためのエンコードフォーマット(一例として、EVS2)を利用してエンコード1020(EVS2エンコード)して上位レイヤのためのビットストリーム1030(ビデオストリーム)を生成してよい。
このとき、ソース提供クライアントは、ソースフレーム1010をダウンスケーリング1040(down scaling)して下位レイヤのためのフレーム1050を生成しながら、上位レイヤのためのエンコード1020で計算されたモーションベクトルを利用して下位レイヤのためのフレーム1050をエンコード1060(VP8エンコード)することによって下位レイヤのためのビットストリーム1070を生成してよい。また、下位レイヤのためのエンコード1060で使用されたメタデータを上位レイヤのために活用してよい。図9と同じように、再生成フレームがアップスケーリングされて活用されてよく、下位レイヤ1つのブロックに該当する上位レイヤの4つのブロック単位で参照フレームが決定されてよい。
図8〜図10は、レイヤnがレイヤ1〜レイヤn−1のデータを共有し、ビデオストリームを得るための追加データを含むように生成される例を説明するためのものであり、ビデオストリームのエンコードがどのように行われるかを説明するためのものではない。また、VP8のようなエンコードフォーマットは周知のとおりであるため、具体的な説明は省略する。
生成されたレイヤは、上述したように、ビデオカンファレンスのためのサーバを通じて受信クライアントに適切にルーティングされてよい。
このように、本発明の実施形態によると、ビデオカンファレンス(video conference)のためのビデオストリームの提供において、ソース提供クライアントがビデオストリームを画面サイズ(解像度)別に複数のレイヤとしてエンコードしてサーバに提供することにより、サーバ側の負担を減らすことができる。また、解像度の範囲を複数のクラスに予め分類し、各クラスの解像度範囲に含まれる解像度を有するレイヤを提供することにより、クライアントのカメラによって入力される解像度と前記解像度を基準として設定される他の解像度を活用して画面をリサイジングする必要なくそのまま活用することができる。
上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)および前記OS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでもよい。また、並列プロセッサのような、他の処理構成も可能である。
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、所望の動作を行うように処理装置を構成したり、独立的または集合的に処理装置に命令してもよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ格納媒体または装置、または伝送される信号波に永久的または一時的に具現化されてもよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータで読み取り可能な記録媒体に格納されてもよい。
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてもよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでもよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD−ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。上述したハードウェア装置は、実施形態の動作を実行するために1つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同じである。
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
したがって、本発明の精神及び範囲から逸脱しない限り、異なる実施形態であってもそれらは特許請求の範囲に属する。
110、120、130、140:電子機器
150、160:サーバ
170:ネットワーク

Claims (20)

  1. ビデオカンファレンスのためのビデオストリーム提供方法を、電子機器のコンピュータに実行させるコンピュータプログラムであって、
    前記ビデオストリーム提供方法は、
    前記ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類したクラス情報に基づいて、前記複数のクラスのうち、前記ビデオカンファレンスに参加したソース提供クライアントから提供可能な解像度が属する少なくとも2つ以上のクラスを決定する段階、
    前記ビデオカンファレンスのためのビデオストリームを、前記決定された少なくとも2つ以上のクラスごとに設定される解像度を利用して、複数のレイヤとしてエンコードする段階、および
    前記複数のレイヤとしてエンコードされたビデオストリームを、ネットワークを介して、前記ビデオカンファレンスのためのサーバに送信するように前記ソース提供クライアントの電子機器を制御する段階
    を含む、コンピュータプログラム。
  2. 前記複数のレイヤのうちで基準となるレイヤの解像度は、前記電子機器が含むカメラによって入力される解像度に設定され、前記複数のレイヤのうちの他のレイヤの解像度は、前記基準となるレイヤの解像度に基づいて設定される、
    請求項1に記載のコンピュータプログラム。
  3. 前記複数のレイヤの解像度は、レイヤnの解像度による幅がレイヤn−1の解像度による幅の2倍となり、前記レイヤnの解像度による高さが前記レイヤn−1の解像度による高さの2倍となるように設定され、
    前記nは2以上の自然数である、
    請求項1に記載のコンピュータプログラム。
  4. 前記ビデオカンファレンスのための解像度の範囲は、解像度範囲が低い順にn番目クラスの解像度範囲に前記レイヤnの解像度が含まれるように予め分類される、
    請求項3に記載のコンピュータプログラム。
  5. 前記レイヤnは、レイヤ1からレイヤn−1までのデータを共有し、前記レイヤnの解像度によってエンコードされたビデオストリームを構成するための追加データを含む、
    請求項3に記載のコンピュータプログラム。
  6. 前記複数のクラスは、QVGAの解像度を含む解像度範囲の第1クラス、VGAの解像度を含む解像度範囲の第2クラス、およびHDの解像度を含む解像度範囲の第3クラスを含む、
    請求項1に記載のコンピュータプログラム。
  7. 前記ビデオカンファレンスのためのサーバは、
    前記複数のレイヤとしてエンコードされたビデオストリームを受信し、
    前記ビデオカンファレンスに参加した少なくとも2つ以上の受信クライアントそれぞれから前記2つ以上の受信クライアントそれぞれが再生可能な解像度に関する情報をネットワークを介して受信し、
    前記2つ以上の受信クライアントのうちで第1受信クライアントから受信した解像度に関する情報を利用して前記第1受信クライアントに送信するレイヤを決定するように実現される、
    請求項1に記載のコンピュータプログラム。
  8. 前記2つ以上の受信クライアントそれぞれは、
    前記2つ以上の受信クライアントの電子機器で再生可能な解像度に関する情報をネットワークを介して前記ビデオカンファレンスのためのサーバに送信し、
    前記ビデオカンファレンスのためのサーバから受信されるレイヤを利用してビデオストリームを再生するように実現される、
    請求項7に記載のコンピュータプログラム。
  9. ビデオカンファレンスのためのビデオストリーム提供方法であって、
    前記ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類したクラス情報に基づいて、前記複数のクラスのうち、前記ビデオカンファレンスに参加したソース提供クライアントから提供可能な解像度が属する少なくとも2つ以上のクラスを決定する段階、
    前記ビデオカンファレンスのためのビデオストリームを、前記決定された少なくとも2つ以上のクラスごとに設定される解像度を利用して、複数のレイヤとしてエンコードする段階、および
    前記複数のレイヤとしてエンコードされたビデオストリームを、ネットワークを介して、前記ビデオカンファレンスのためのサーバに送信するように前記ソース提供クライアントの電子機器を制御する段階
    を含む、ビデオストリーム提供方法。
  10. 前記複数のレイヤのうちで基準となるレイヤの解像度は、前記電子機器が含むカメラによって入力される解像度に設定され、前記複数のレイヤのうちの他のレイヤの解像度は、前記基準となるレイヤの解像度に基づいて設定される、
    請求項9に記載のビデオストリーム提供方法。
  11. 前記複数のレイヤの解像度は、レイヤnの解像度による幅がレイヤn−1の解像度による幅の2倍となり、前記レイヤnの解像度による高さが前記レイヤn−1の解像度による高さの2倍となるように設定され、
    前記nは2以上の自然数である、
    請求項9に記載のビデオストリーム提供方法。
  12. 前記ビデオカンファレンスのための解像度の範囲は、解像度範囲が低い順にn番目クラスの解像度範囲に前記レイヤnの解像度が含まれるように予め分類される、
    請求項11に記載のビデオストリーム提供方法。
  13. 前記レイヤnは、レイヤ1からレイヤn−1までのデータを共有し、前記レイヤnの解像度によってエンコードされたビデオストリームを構成するための追加データを含む、
    請求項11に記載のビデオストリーム提供方法。
  14. 前記複数のクラスは、QVGAの解像度を含む解像度範囲の第1クラス、VGAの解像度を含む解像度範囲の第2クラス、およびHDの解像度を含む解像度範囲の第3クラスを含む、
    請求項9に記載のビデオストリーム提供方法。
  15. ビデオカンファレンスのためのサーバのビデオストリーム提供方法であって、
    前記ビデオカンファレンスに参加したソース提供クライアントから、前記ソース提供クライアントが提供可能な複数の解像度それぞれによって複数のレイヤとしてエンコードされたビデオストリームを受信する段階、
    前記ビデオカンファレンスに参加した少なくとも2つ以上の受信クライアントそれぞれから、前記2つ以上の受信クライアントそれぞれが再生可能な解像度に関する情報を受信する段階、
    前記2つ以上の受信クライアントのうちの第1受信クライアントに送信するためのビデオストリームのレイヤを、前記第1受信クライアントから受信した解像度に関する情報を利用して決定する段階、および
    前記決定されたレイヤを前記第1受信クライアントに送信する段階
    を含む、ビデオストリーム提供方法。
  16. 前記ソース提供クライアントは、
    前記ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類したクラス情報に基づいて、前記複数のクラスのうちで前記ビデオカンファレンスに参加したソース提供クライアントから提供可能な解像度が属する少なくとも2つ以上のクラスを決定し、
    前記ビデオカンファレンスのためのビデオストリームを、前記決定された少なくとも2つ以上のクラスごとに設定される解像度を利用して、複数のレイヤとしてエンコードし、
    前記複数のレイヤとしてエンコードされたビデオストリームを、ネットワークを介して、前記ビデオカンファレンスのためのサーバに送信するように実現される、
    請求項15に記載のビデオストリーム提供方法。
  17. 前記複数のレイヤのうちで基準となるレイヤの解像度は、前記ソース提供クライアントの電子機器が含むカメラによって入力される解像度に設定され、前記複数のレイヤのうちの他のレイヤの解像度は、前記基準となるレイヤの解像度に基づいて設定される、
    請求項15に記載のビデオストリーム提供方法。
  18. 前記複数のレイヤの解像度は、レイヤnの解像度による幅がレイヤn−1の解像度による幅の2倍となり、前記レイヤnの解像度による高さが前記レイヤn−1の解像度による高さの2倍となるように設定され、
    前記nは2以上の自然数である、
    請求項15に記載のビデオストリーム提供方法。
  19. 前記ビデオカンファレンスのための解像度の範囲は、解像度範囲が低い順にn番目クラスの解像度範囲に前記レイヤnの解像度が含まれるように予め分類される、請求項18に記載のビデオストリーム提供方法。
  20. 前記レイヤnは、レイヤ1からレイヤn−1までのデータを共有し、前記レイヤnの解像度によってエンコードされたビデオストリームを構成するための追加データを含む、
    請求項18に記載のビデオストリーム提供方法。
JP2017157004A 2016-08-16 2017-08-16 ビデオカンファレンスのためのビデオストリーム提供方法およびコンピュータプログラム Pending JP2018029338A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022054842A JP7273217B2 (ja) 2016-08-16 2022-03-30 ビデオカンファレンスのビデオストリームを提供するサーバ、方法及びコンピュータプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160103738A KR101770070B1 (ko) 2016-08-16 2016-08-16 비디오 컨퍼런스를 위한 비디오 스트림 제공 방법 및 시스템
KR10-2016-0103738 2016-08-16

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022054842A Division JP7273217B2 (ja) 2016-08-16 2022-03-30 ビデオカンファレンスのビデオストリームを提供するサーバ、方法及びコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2018029338A true JP2018029338A (ja) 2018-02-22

Family

ID=59757347

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017157004A Pending JP2018029338A (ja) 2016-08-16 2017-08-16 ビデオカンファレンスのためのビデオストリーム提供方法およびコンピュータプログラム
JP2022054842A Active JP7273217B2 (ja) 2016-08-16 2022-03-30 ビデオカンファレンスのビデオストリームを提供するサーバ、方法及びコンピュータプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022054842A Active JP7273217B2 (ja) 2016-08-16 2022-03-30 ビデオカンファレンスのビデオストリームを提供するサーバ、方法及びコンピュータプログラム

Country Status (3)

Country Link
US (3) US10264216B2 (ja)
JP (2) JP2018029338A (ja)
KR (1) KR101770070B1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11088861B2 (en) 2019-08-16 2021-08-10 Logitech Europe S.A. Video conference system
US11038704B2 (en) * 2019-08-16 2021-06-15 Logitech Europe S.A. Video conference system
US11095467B2 (en) 2019-08-16 2021-08-17 Logitech Europe S.A. Video conference system
US11258982B2 (en) 2019-08-16 2022-02-22 Logitech Europe S.A. Video conference system
CN111698451B (zh) * 2020-06-17 2022-07-08 北京天威诚信电子商务服务有限公司 基于视频会议的电子合同签署方法、平台及系统
CN113286149B (zh) * 2021-07-21 2021-09-24 全时云商务服务股份有限公司 一种云会议自适应多层视频编码方法、系统和存储介质
US11647060B1 (en) * 2022-03-17 2023-05-09 Lenovo (United States) Inc. Use of audio and image data of video conference to dynamically generate interactive graphical elements
CN116600090B (zh) * 2023-07-17 2023-09-19 微网优联科技(成都)有限公司 一种用于ipc网络摄像头的运维管控方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004260362A (ja) * 2003-02-24 2004-09-16 Fujitsu Ltd ストリーム配信方法、ストリーム配信装置、送信端末及び受信端末
JP2009508454A (ja) * 2005-09-07 2009-02-26 ヴィドヨ,インコーポレーテッド スケーラブルなビデオ符号化を用いたスケーラブルで低遅延のテレビ会議用システムおよび方法
JP2010503280A (ja) * 2006-08-29 2010-01-28 マイクロソフト コーポレーション マルチメディア音声会議向け視覚的構成の管理技術
JP2011521570A (ja) * 2008-05-23 2011-07-21 華為技術有限公司 マルチポイント会議の制御方法及び装置
JP2012512604A (ja) * 2008-12-15 2012-05-31 マイクロソフト コーポレーション マルチビットレートストリームを使用するビデオ会議のサブスクリプション
US20120192240A1 (en) * 2011-01-20 2012-07-26 Roi Sasson Participant aware configuration for video encoder

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6343313B1 (en) * 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
JP4859219B2 (ja) * 2006-09-07 2012-01-25 キヤノン株式会社 映像出力装置及びその制御方法
CN101578884B (zh) 2007-01-08 2015-03-04 诺基亚公司 提供和使用译码的媒体流的互操作点的预定信令的系统和方法
KR20100052992A (ko) 2008-11-12 2010-05-20 주식회사 엔씨소프트 온라인 리듬 게임 서비스 방법 및 온라인 리듬 게임을 위한키노트 설정 방법
KR101064156B1 (ko) 2009-06-26 2011-09-14 주식회사한얼엠에스티 리듬액션 기반의 비보이 댄스 배틀 온라인 게임 방법
JP5911337B2 (ja) * 2011-04-08 2016-04-27 キヤノン株式会社 映像表示装置、映像出力装置、及びその制御方法、映像提示システム
KR101299993B1 (ko) 2011-06-02 2013-08-28 주식회사 에이앤비소프트 터치 스크린용 리듬 액션 게임 방법 및 이를 실행 가능한 프로그램으로 기록한 기록매체
KR20130065751A (ko) 2011-11-28 2013-06-20 신성규 리듬게임용 인터페이스 제공방법 및 이를 이용한 멀티미디어 기기
KR20130104572A (ko) 2012-03-14 2013-09-25 주식회사 네오위즈인터넷 리듬 액션 게임 서비스 제공 방법 및 서버
WO2013147557A1 (ko) * 2012-03-29 2013-10-03 엘지전자 주식회사 인터 레이어 예측 방법 및 이를 이용하는 인코딩 장치와 디코딩 장치
JP5706868B2 (ja) 2012-03-30 2015-04-22 Line株式会社 メッセンジャープラットフォームでアバタ/ゲーム/エンターテイメント機能を提供するシステムおよび方法
KR101685226B1 (ko) 2012-06-12 2016-12-20 라인 가부시키가이샤 메신저 플랫폼의 인간 관계를 기반으로 하는 소셜 그래프를 활용한 메신저 연계 서비스 시스템 및 방법
KR20140009778A (ko) 2012-07-13 2014-01-23 라인 가부시키가이샤 메신저 플랫폼의 사용자 관계정보에 기반하여 다양한 서비스를 제공하는 방법 및 시스템
US9451256B2 (en) * 2012-07-20 2016-09-20 Qualcomm Incorporated Reusing parameter sets for video coding
TWI516104B (zh) * 2012-09-04 2016-01-01 緯創資通股份有限公司 網路影片播放的方法及其電子裝置
WO2014146100A1 (en) * 2013-03-15 2014-09-18 Veamea Bv Methods and systems for dynamic adjustment of session parameters for effective video collaboration among heterogeneous devices
WO2015007795A1 (en) * 2013-07-16 2015-01-22 Bitmovin Gmbh Apparatus and method for cloud assisted adaptive streaming
WO2015065001A1 (ko) 2013-10-31 2015-05-07 라인 가부시키가이샤 다양한 캐릭터를 이용하여 리듬 게임 서비스를 제공하기 위한 방법 및 시스템
CN105376612A (zh) * 2014-08-26 2016-03-02 华为技术有限公司 一种视频播放方法、媒体设备、播放设备以及多媒体系统
US20160119399A1 (en) * 2014-10-24 2016-04-28 Kevin J. Glass Extending browser support of real time media to any available codec
US9313508B1 (en) * 2014-10-29 2016-04-12 Qualcomm Incorporated Feeding intra-coded video frame after port reconfiguration in video telephony
US20170134461A1 (en) * 2015-11-09 2017-05-11 Le Shi Zhi Xin Electronic Technology (Tian Jin) Limited Method and device for adjusting definition of a video adaptively

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004260362A (ja) * 2003-02-24 2004-09-16 Fujitsu Ltd ストリーム配信方法、ストリーム配信装置、送信端末及び受信端末
JP2009508454A (ja) * 2005-09-07 2009-02-26 ヴィドヨ,インコーポレーテッド スケーラブルなビデオ符号化を用いたスケーラブルで低遅延のテレビ会議用システムおよび方法
JP2010503280A (ja) * 2006-08-29 2010-01-28 マイクロソフト コーポレーション マルチメディア音声会議向け視覚的構成の管理技術
JP2011521570A (ja) * 2008-05-23 2011-07-21 華為技術有限公司 マルチポイント会議の制御方法及び装置
JP2012512604A (ja) * 2008-12-15 2012-05-31 マイクロソフト コーポレーション マルチビットレートストリームを使用するビデオ会議のサブスクリプション
US20120192240A1 (en) * 2011-01-20 2012-07-26 Roi Sasson Participant aware configuration for video encoder

Also Published As

Publication number Publication date
KR101770070B1 (ko) 2017-08-21
US10911717B2 (en) 2021-02-02
US10554930B2 (en) 2020-02-04
JP2022079607A (ja) 2022-05-26
JP7273217B2 (ja) 2023-05-12
US20200145614A1 (en) 2020-05-07
US10264216B2 (en) 2019-04-16
US20180054596A1 (en) 2018-02-22
US20190215485A1 (en) 2019-07-11

Similar Documents

Publication Publication Date Title
JP7273217B2 (ja) ビデオカンファレンスのビデオストリームを提供するサーバ、方法及びコンピュータプログラム
US20180270496A1 (en) Composite video streaming using stateless compression
CN101223791B (zh) 转变压缩级别的方法及其交互式流式图像系统
US20120127183A1 (en) Distribution Processing Pipeline and Distributed Layered Application Processing
US20140074911A1 (en) Method and apparatus for managing multi-session
JP2009518103A (ja) ユーザがモバイル機器によって大画面ゲームをプレイできるようにするための方法およびシステム
TW201507440A (zh) 用於視窗內容編碼之視窗圖與基於標準的漸進式編解碼器
KR20210130802A (ko) 세그먼트화된 데이터 스트림 프로세싱을 위한 선입 선출 기능
US20220286736A1 (en) Dynamic processing and display of multi-stream video content
KR20210134776A (ko) 컴퓨팅 플랫폼에서의 기능 구현을 위한 컴퓨팅 리소스 추정
US20200404241A1 (en) Processing system for streaming volumetric video to a client device
US11223662B2 (en) Method, system, and non-transitory computer readable record medium for enhancing video quality of video call
US11218746B2 (en) Method, system, and non-transitory computer readable record medium for video quality control
US20180192064A1 (en) Transcoder for real-time compositing
KR20160131830A (ko) 클라우드 스트리밍 서비스 시스템, 리사이즈 기반의 멀티뷰 화면을 제공하는 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR102516831B1 (ko) 싱글 스트림을 이용하여 관심 영역 고화질 영상을 제공하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
KR20210055278A (ko) 하이브리드 비디오 코딩 방법 및 시스템
KR20160131827A (ko) 클라우드 스트리밍 서비스 시스템, 알파 레벨을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR102238720B1 (ko) 인코딩과 업로딩의 병행 처리를 통해 미디어 파일의 전송 시간을 단축시킬 수 있는 방법 및 시스템
Tamm et al. Plugin free remote visualization in the browser
KR20160091622A (ko) 클라우드 스트리밍 서비스 시스템, 변화 영역의 분할을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
US11785281B2 (en) System and method for decimation of image data for multiviewer display
Pańka et al. Visualization of multidimensional data on distributed mobile devices using interactive video streaming techniques
JP7133634B2 (ja) ユーザフィードバックが可能なボットに基づいて映像を制作する方法、システム、および非一時的なコンピュータ読み取り可能な記録媒体
JP2024509222A (ja) シーンアセットを再利用するための没入型メディアアナライザ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200814

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20210414

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20210412

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210906

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220111