(57)【要約】【課題】  ビデオカンファレンスのためのビデオストリーム提供方法およびシステムを提供する。【解決手段】  ビデオストリーム提供方法は、ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類するクラス情報を管理する段階、クラス情報に基づき、複数のクラスのうちで前記ビデオカンファレンスに参加したソース提供クライアントで提供可能な解像度が属する少なくとも２つ以上のクラスを決定する段階、ビデオカンファレンスのためのビデオストリームを決定された少なくとも２つ以上のクラスごとに設定される解像度を利用して複数のレイヤとしてエンコードする段階、および前記複数のレイヤとしてエンコードされたビデオストリームをネットワークを介してビデオカンファレンスのためのサーバに送信するように前記ソース提供クライアントの電子機器を制御する段階を含む。【選択図】      図３
2018029338.tif 000002
【特許請求の範囲】
【請求項１】
ビデオカンファレンスのためのビデオストリーム提供方法を、電子機器のコンピュータに実行させるコンピュータプログラムであって、
前記ビデオストリーム提供方法は、
前記ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類したクラス情報に基づいて、前記複数のクラスのうち、前記ビデオカンファレンスに参加したソース提供クライアントから提供可能な解像度が属する少なくとも２つ以上のクラスを決定する段階、
前記ビデオカンファレンスのためのビデオストリームを、前記決定された少なくとも２つ以上のクラスごとに設定される解像度を利用して、複数のレイヤとしてエンコードする段階、および
前記複数のレイヤとしてエンコードされたビデオストリームを、ネットワークを介して、前記ビデオカンファレンスのためのサーバに送信するように前記ソース提供クライアントの電子機器を制御する段階
を含む、コンピュータプログラム。
【請求項２】
前記複数のレイヤのうちで基準となるレイヤの解像度は、前記電子機器が含むカメラによって入力される解像度に設定され、前記複数のレイヤのうちの他のレイヤの解像度は、前記基準となるレイヤの解像度に基づいて設定される、
請求項１に記載のコンピュータプログラム。
【請求項３】
前記複数のレイヤの解像度は、レイヤｎの解像度による幅がレイヤｎ−１の解像度による幅の２倍となり、前記レイヤｎの解像度による高さが前記レイヤｎ−１の解像度による高さの２倍となるように設定され、
前記ｎは２以上の自然数である、
請求項１に記載のコンピュータプログラム。
【請求項４】
前記ビデオカンファレンスのための解像度の範囲は、解像度範囲が低い順にｎ番目クラスの解像度範囲に前記レイヤｎの解像度が含まれるように予め分類される、
請求項３に記載のコンピュータプログラム。
【請求項５】
前記レイヤｎは、レイヤ１からレイヤｎ−１までのデータを共有し、前記レイヤｎの解像度によってエンコードされたビデオストリームを構成するための追加データを含む、
請求項３に記載のコンピュータプログラム。
【請求項６】
前記複数のクラスは、ＱＶＧＡの解像度を含む解像度範囲の第１クラス、ＶＧＡの解像度を含む解像度範囲の第２クラス、およびＨＤの解像度を含む解像度範囲の第３クラスを含む、
請求項１に記載のコンピュータプログラム。
【請求項７】
前記ビデオカンファレンスのためのサーバは、
前記複数のレイヤとしてエンコードされたビデオストリームを受信し、
前記ビデオカンファレンスに参加した少なくとも２つ以上の受信クライアントそれぞれから前記２つ以上の受信クライアントそれぞれが再生可能な解像度に関する情報をネットワークを介して受信し、
前記２つ以上の受信クライアントのうちで第１受信クライアントから受信した解像度に関する情報を利用して前記第１受信クライアントに送信するレイヤを決定するように実現される、
請求項１に記載のコンピュータプログラム。
【請求項８】
前記２つ以上の受信クライアントそれぞれは、
前記２つ以上の受信クライアントの電子機器で再生可能な解像度に関する情報をネットワークを介して前記ビデオカンファレンスのためのサーバに送信し、
前記ビデオカンファレンスのためのサーバから受信されるレイヤを利用してビデオストリームを再生するように実現される、
請求項７に記載のコンピュータプログラム。
【請求項９】
ビデオカンファレンスのためのビデオストリーム提供方法であって、
前記ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類したクラス情報に基づいて、前記複数のクラスのうち、前記ビデオカンファレンスに参加したソース提供クライアントから提供可能な解像度が属する少なくとも２つ以上のクラスを決定する段階、
前記ビデオカンファレンスのためのビデオストリームを、前記決定された少なくとも２つ以上のクラスごとに設定される解像度を利用して、複数のレイヤとしてエンコードする段階、および
前記複数のレイヤとしてエンコードされたビデオストリームを、ネットワークを介して、前記ビデオカンファレンスのためのサーバに送信するように前記ソース提供クライアントの電子機器を制御する段階
を含む、ビデオストリーム提供方法。
【請求項１０】
前記複数のレイヤのうちで基準となるレイヤの解像度は、前記電子機器が含むカメラによって入力される解像度に設定され、前記複数のレイヤのうちの他のレイヤの解像度は、前記基準となるレイヤの解像度に基づいて設定される、
請求項９に記載のビデオストリーム提供方法。
【請求項１１】
前記複数のレイヤの解像度は、レイヤｎの解像度による幅がレイヤｎ−１の解像度による幅の２倍となり、前記レイヤｎの解像度による高さが前記レイヤｎ−１の解像度による高さの２倍となるように設定され、
前記ｎは２以上の自然数である、
請求項９に記載のビデオストリーム提供方法。
【請求項１２】
前記ビデオカンファレンスのための解像度の範囲は、解像度範囲が低い順にｎ番目クラスの解像度範囲に前記レイヤｎの解像度が含まれるように予め分類される、
請求項１１に記載のビデオストリーム提供方法。
【請求項１３】
前記レイヤｎは、レイヤ１からレイヤｎ−１までのデータを共有し、前記レイヤｎの解像度によってエンコードされたビデオストリームを構成するための追加データを含む、
請求項１１に記載のビデオストリーム提供方法。
【請求項１４】
前記複数のクラスは、ＱＶＧＡの解像度を含む解像度範囲の第１クラス、ＶＧＡの解像度を含む解像度範囲の第２クラス、およびＨＤの解像度を含む解像度範囲の第３クラスを含む、
請求項９に記載のビデオストリーム提供方法。
【請求項１５】
ビデオカンファレンスのためのサーバのビデオストリーム提供方法であって、
前記ビデオカンファレンスに参加したソース提供クライアントから、前記ソース提供クライアントが提供可能な複数の解像度それぞれによって複数のレイヤとしてエンコードされたビデオストリームを受信する段階、
前記ビデオカンファレンスに参加した少なくとも２つ以上の受信クライアントそれぞれから、前記２つ以上の受信クライアントそれぞれが再生可能な解像度に関する情報を受信する段階、
前記２つ以上の受信クライアントのうちの第１受信クライアントに送信するためのビデオストリームのレイヤを、前記第１受信クライアントから受信した解像度に関する情報を利用して決定する段階、および
前記決定されたレイヤを前記第１受信クライアントに送信する段階
を含む、ビデオストリーム提供方法。
【請求項１６】
前記ソース提供クライアントは、
前記ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類したクラス情報に基づいて、前記複数のクラスのうちで前記ビデオカンファレンスに参加したソース提供クライアントから提供可能な解像度が属する少なくとも２つ以上のクラスを決定し、
前記ビデオカンファレンスのためのビデオストリームを、前記決定された少なくとも２つ以上のクラスごとに設定される解像度を利用して、複数のレイヤとしてエンコードし、
前記複数のレイヤとしてエンコードされたビデオストリームを、ネットワークを介して、前記ビデオカンファレンスのためのサーバに送信するように実現される、
請求項１５に記載のビデオストリーム提供方法。
【請求項１７】
前記複数のレイヤのうちで基準となるレイヤの解像度は、前記ソース提供クライアントの電子機器が含むカメラによって入力される解像度に設定され、前記複数のレイヤのうちの他のレイヤの解像度は、前記基準となるレイヤの解像度に基づいて設定される、
請求項１５に記載のビデオストリーム提供方法。
【請求項１８】
前記複数のレイヤの解像度は、レイヤｎの解像度による幅がレイヤｎ−１の解像度による幅の２倍となり、前記レイヤｎの解像度による高さが前記レイヤｎ−１の解像度による高さの２倍となるように設定され、
前記ｎは２以上の自然数である、
請求項１５に記載のビデオストリーム提供方法。
【請求項１９】
前記ビデオカンファレンスのための解像度の範囲は、解像度範囲が低い順にｎ番目クラスの解像度範囲に前記レイヤｎの解像度が含まれるように予め分類される、請求項１８に記載のビデオストリーム提供方法。
【請求項２０】
前記レイヤｎは、レイヤ１からレイヤｎ−１までのデータを共有し、前記レイヤｎの解像度によってエンコードされたビデオストリームを構成するための追加データを含む、
請求項１８に記載のビデオストリーム提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は、ビデオカンファレンスのためのビデオストリーム提供方法およびシステム、コンピュータによって実現される電子機器と結合してビデオカンファレンスのためのビデオストリーム提供方法をコンピュータに実行させるコンピュータプログラム、ならびに、コンピュータで読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
ビデオカンファレンス（ｖｉｄｅｏ  ｃｏｎｆｅｒｅｎｃｅ）とは、遠距離に位置する人々が映像および音声通信網を利用して同じ場所にいるような雰囲気で行われる遠隔会議の一種である。このようなビデオカンファレンスでは、映像の解像度（映像画面のサイズ）が大きくなるため、データが圧縮されたとしても送受信されなければならないデータ量が多くなる上に、ビデオカンファレンスに参加したユーザのうちでも特定のユーザ（一例として、該当の解像度でビデオストリームを再生することができない端末のユーザ）には、ビデオストリームの伝達が困難になる可能性もあるという問題を抱えている。
【０００３】
このような問題を克服するために、従来のビデオカンファレンスシステムは、２種類以上の解像度を有するビデオストリームを提供している。例えば、従来のビデオカンファレンスシステムは、ビデオカンファレンスのすべての参加者が使用することのできる解像度のみでビデオストリームを送信したり、あるいは、受信したビデオストリームをデコードした後、低い解像度のビデオストリームにトランスコードして伝達したりしていた。一例として、特許文献１は、エンコードされたメディアストリームにトランスコード（ｔｒａｎｓｃｏｄｉｎｇ）情報を提供する方法について開示している。
【０００４】
しかし、このようなトランスコードは、サーバ側の負荷が極めて大きいという問題を抱えている。さらに、２種類以上の解像度を有するビデオストリームを提供するにあたっては、画面サイズを別途分類しないため、希望するサイズでない場合には画面サイズをリサイジングしなければならないことから、性能に悪影響を及ぼすという問題がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】韓国登録特許第１０−１１００４１３号公報
【特許文献２】国際公開第２０１５／０６５００１号
【特許文献３】米国特許出願公開第２０１４／００１９５４０号明細書
【特許文献４】米国特許出願公開第２０１３／０３３２５４３号明細書
【特許文献５】米国特許出願公開第２０１３／０２６０８９３号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ビデオカンファレンスのためのビデオストリームの提供において、ソース提供クライアントがビデオストリームを画面サイズ（解像度）別に複数のレイヤとしてエンコードしてサーバに提供することによってサーバ側の負担を減らすことができる、ビデオカンファレンスのためのビデオストリーム提供方法およびシステム、コンピュータによって実現される電子機器と結合してビデオカンファレンスのためのビデオストリーム提供方法をコンピュータに実行させるコンピュータプログラム、および、コンピュータで読み取り可能な記録媒体を提供する。
【０００７】
解像度の範囲を複数のクラスに予め分類し、各クラスの解像度範囲に含まれる解像度を有するレイヤを提供することにより、クライアントのカメラによって入力される解像度と前記解像度を基準に設定される他の解像度を活用して画面をリサイジングする必要なくそのまま活用することができる、ビデオカンファレンスのためのビデオストリーム提供方法およびシステム、コンピュータによって実現される電子機器と結合してビデオカンファレンスのためのビデオストリーム提供方法をコンピュータに実行させるためにコンピュータプログラム、および、コンピュータで読み取り可能な記録媒体を提供する。
【課題を解決するための手段】
【０００８】
ビデオカンファレンスのためのビデオストリーム提供方法を、電子機器のコンピュータに実行させるコンピュータプログラムであって、前記ビデオストリーム提供方法は、前記ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類したクラス情報に基づいて、前記複数のクラスのうち、前記ビデオカンファレンスに参加したソース提供クライアントから提供可能な解像度が属する少なくとも２つ以上のクラスを決定する段階、前記ビデオカンファレンスのためのビデオストリームを前記決定された少なくとも２つ以上のクラスごとに設定される解像度を利用して複数のレイヤとしてエンコードする段階、および前記複数のレイヤとしてエンコードされたビデオストリームをネットワークを介して前記ビデオカンファレンスのためのサーバに送信するように前記ソース提供クライアントの電子機器を制御する段階を含む、コンピュータプログラムを提供する。
【０００９】
ビデオカンファレンスのためのビデオストリーム提供方法であって、前記ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類したクラス情報に基づいて、前記複数のクラスのうちで前記ビデオカンファレンスに参加したソース提供クライアントから提供可能な解像度が属する少なくとも２つ以上のクラスを決定する段階、前記ビデオカンファレンスのためのビデオストリームを前記決定された少なくとも２つ以上のクラスごとに設定される解像度を利用して複数のレイヤとしてエンコードする段階、および前記複数のレイヤとしてエンコードされたビデオストリームをネットワークを介して前記ビデオカンファレンスのためのサーバに送信するように前記ソース提供クライアントの電子機器を制御する段階を含む、ビデオストリーム提供方法を提供する。
【００１０】
ビデオカンファレンスのためのサーバのビデオストリーム提供方法であって、前記ビデオカンファレンスに参加したソース提供クライアントから、前記ソース提供クライアントが提供可能な複数の解像度それぞれによって複数のレイヤとしてエンコードされたビデオストリームを受信する段階、前記ビデオカンファレンスに参加した少なくとも２つ以上の受信クライアントそれぞれから、前記２つ以上の受信クライアントそれぞれが再生可能な解像度に関する情報を受信する段階、前記２つ以上の受信クライアントのうちで第１受信クライアントに送信するためのビデオストリームのレイヤを前記第１受信クライアントから受信した解像度に関する情報を利用して決定する段階、および前記決定されたレイヤを前記第１受信クライアントに送信する段階を含む、ビデオストリーム提供方法を提供する。
【発明の効果】
【００１１】
ビデオカンファレンスのためのビデオストリームの提供において、ソース提供クライアントがビデオストリームを画面サイズ（解像度）別に複数のレイヤとしてエンコードしてサーバに提供することにより、サーバ側の負担を減らすことができる。
【００１２】
解像度の範囲を複数のクラスに予め分類し、各クラスの解像度範囲に含まれる解像度を有するレイヤを提供することにより、クライアントのカメラによって入力される解像度と前記解像度を基準に設定される他の解像度を活用して画面をリサイジングする必要なくそのまま活用することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【図２】本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。
【図３】本発明の一実施形態における、ビデオストリーム提供のための全体システムの例を示した図である。
【図４】本発明の一実施形態における、電子機器のプロセッサが含むことのできる構成要素の例を示したブロック図である。
【図５】本発明の一実施形態における、電子機器が実行することのできる方法の例を示したフローチャートである。
【図６】本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図である。
【図７】本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。
【図８】本発明の一実施形態における、下位レイヤと上位レイヤの関係に対する例を示した図である。
【図９】本発明の一実施形態における、ビデオストリームをレイヤとしてエンコードする例を示した図である。
【図１０】本発明の一実施形態における、ビデオストリームをレイヤとしてエンコードする他の例を示した図である。
【発明を実施するための形態】
【００１４】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【００１５】
本発明の実施形態に係るビデオカンファレンスのためのサーバのビデオストリーム提供システムは、以下で説明される電子機器やサーバによって実現されてよく、本発明の実施形態に係るビデオカンファレンスのためのサーバのビデオストリーム提供方法は、上述した電子機器やサーバによって実行されてよい。一実施形態として、電子機器は、サーバを通じてビデオカンファレンスに参加してよく、１つの電子機器から送信されるビデオストリームは、サーバを通じてビデオカンファレンスに参加した他の電子機器に伝達されてよい。このとき、ビデオカンファレンスのためのサービスが提供されるためのコンピュータプログラムが電子機器にインストールされてよく、電子機器は、インストールされたコンピュータプログラムの制御にしたがって本発明の実施形態に係るビデオカンファレンスのためのサーバのビデオストリーム提供方法を実行してよい。サーバも、サーバにインストールされるコンピュータプログラムの制御にしたがって電子機器にビデオカンファレンスのためのサービスを提供してよい。コンピュータプログラムは、コンピュータで実現された電子機器やサーバと結合してビデオストリーム提供方法をコンピュータに実行させるためにコンピュータで読み取り可能な記録媒体に格納されてよい。
【００１６】
図１は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図１のネットワーク環境は、複数の電子機器１１０、１２０、１３０、１４０、複数のサーバ１５０、１６０、およびネットワーク１７０を含む例を示している。このような図１は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図１のように限定されることはない。
【００１７】
複数の電子機器１１０、１２０、１３０、１４０は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器１１０、１２０、１３０、１４０の例としては、スマートフォン、携帯電話、ナビゲーション、ＰＣ（ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）、ノート型パンコン、デジタル放送用端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、タブレットなどがある。一例として、図１では、電子機器１（１１０）の例としてスマートフォンの形状を示しているが、本発明の実施形態では、実質的に、無線または有線通信方式を利用し、ネットワーク１７０を介して他の電子機器１２０、１３０、１４０および／またはサーバ１５０、１６０と通信することのできる多様な機器のうちの１つを意味してよい。
【００１８】
通信方式が限定されることはなく、ネットワーク１７０が含むことのできる通信網（一例として、移動通信網、有線インターネット、無線インターネット、放送網）を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク１７０は、ＰＡＮ（ｐｅｒｓｏｎａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＣＡＮ（ｃａｍｐｕｓ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＭＡＮ（ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＢＢＮ（ｂｒｏａｄｂａｎｄ  ｎｅｔｗｏｒｋ）、インターネットなどのネットワークのうちの１つ以上の任意のネットワークを含んでもよい。さらに、ネットワーク１７０は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的（ｈｉｅｒａｒｃｈｉｃａｌ）ネットワークなどを含むネットワークトポロジのうちの任意の１つ以上を含んでもよいが、これらに限定されることはない。
【００１９】
サーバ１５０、１６０それぞれは、複数の電子機器１１０、１２０、１３０、１４０とネットワーク１７０を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置によって実現されてよい。例えば、サーバ１５０は、ネットワーク１７０を介して接続した複数の電子機器１１０、１２０、１３０、１４０に第１サービスを提供するシステムであってよく、サーバ１６０も、ネットワーク１７０を介して接続した複数の電子機器１１０、１２０、１３０、１４０に第２サービスを提供するシステムであってよい。より具体的な例として、サーバ１５０は、第１サービスとして、ビデオカンファレンスのためのサービスを複数の電子機器１１０、１２０、１３０、１４０に提供するシステムであってよい。また、サーバ１６０は、第２サービスとして、ビデオカンファレンスのためのサービスが提供されるようにするためのアプリケーション（一例として、上述したコンピュータプログラム）のインストールファイルを複数の電子機器１１０、１２０、１３０、１４０に提供するファイル配布システムであってよい。
【００２０】
図２は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図２では、電子機器に対する例として電子機器１（１１０）の内部構成を、そしてサーバ１５０の内部構成を説明する。また、他の電子機器１２０、１３０、１４０やサーバ１６０も、上述した電子機器１（１１０）またはサーバ１５０と同一または類似の内部構成を有してよい。
【００２１】
電子機器１（１１０）とサーバ１５０は、メモリ２１１、２２１、プロセッサ２１２、２２２、通信モジュール２１３、２２３、および入力／出力インタフェース２１４、２２４を含んでよい。メモリ２１１、２２１は、コンピュータで読み取り可能な記録媒体であって、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、およびディスクドライブのような永久大容量記憶装置（ｐｅｒｍａｎｅｎｔ  ｍａｓｓ  ｓｔｏｒａｇｅ  ｄｅｖｉｃｅ）を含んでよい。ここで、ＲＯＭとディスクドライブのような永久大容量記憶装置は、メモリ２１１、２２１とは区分される別の永久保存装置として電子機器１（１１０）やサーバ１５０に含まれてもよい。また、メモリ２１１、２２１には、オペレーティングシステムと、少なくとも１つのプログラムコード（一例として、電気機器１（１１０）にインストールされ駆動するブラウザや特定サービスの提供のために電子機器１（１１０）にインストールされたアプリケーションなどのためのコード）が格納されてよい。このようなソフトウェア構成要素は、メモリ２１１、２２１とは別のコンピュータで読み取り可能な記録媒体からロードされてもよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピー（登録商標）ドライブ、ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール２１３、２２３を通じてメモリ２１１、２２１にロードされてもよい。例えば、少なくとも１つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム（一例として、上述したサーバ１６０）がネットワーク１７０を介して提供するファイルによってインストールされるプログラム（一例として、上述したアプリケーション）に基づいてメモリ２１１、２２１にロードされてよい。
【００２２】
プロセッサ２１２、２２２は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ２１１、２２１または通信モジュール２１３、２２３によって、プロセッサ２１２、２２２に提供されてよい。例えば、プロセッサ２１２、２２２は、メモリ２１１、２２１のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【００２３】
通信モジュール２１３、２２３は、ネットワーク１７０を介して電子機器１（１１０）とサーバ１５０とが互いに通信するための機能を提供してもよいし、電子機器１（１１０）および／またはサーバ１５０が他の電子機器（一例として、電子機器２（１２０））または他のサーバ（一例として、サーバ１６０）と通信するための機能を提供してもよい。一例として、電子機器１（１１０）のプロセッサ２１２がメモリ２１１のような記録装置に格納されたプログラムコードにしたがって生成した要求が、通信モジュール２１３の制御にしたがってネットワーク１７０を介してサーバ１５０に伝達されてよい。これとは逆に、サーバ１５０のプロセッサ２２２の制御にしたがって提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール２２３とネットワーク１７０を経て電子機器１（１１０）の通信モジュール２１３を通じて電子機器１（１１０）に受信されてもよい。例えば、通信モジュール２１３を通じて受信されたサーバ１５０の制御信号や命令、コンテンツ、ファイルなどは、プロセッサ２１２やメモリ２１１に伝達されてよく、コンテンツやファイルなどは、電子機器１（１１０）がさらに含むことのできる格納媒体（上述した永久保存装置）に格納されてよい。
【００２４】
入力／出力インタフェース２１４は、入力／出力装置２１５とのインタフェースのための手段であってよい。例えば、入力装置は、キーボードまたはマウスなどの装置を、出力装置は、ディスプレイのような装置を含んでよい。他の例として、入力／出力インタフェース２１４は、タッチスクリーンのように入力と出力のための機能が１つに統合された装置とのインタフェースのための手段であってもよい。入力／出力装置２１５は、電子機器１（１１０）と１つの装置で構成されてもよい。また、サーバ１５０の入力／出力インタフェース２２４は、サーバ１５０と接続するかサーバ１５０が含むことのできる入力または出力のための装置（図示せず）とのインタフェースのための手段であってよい。より具体的な例として、電子機器１（１１０）のプロセッサ２１２は、メモリ２１１にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ１５０や電子機器２（１２０）が提供するデータを利用して構成されるサービス画面やコンテンツが入力／出力インタフェース２１４を通じてディスプレイに表示されてよい。
【００２５】
また、他の実施形態において、電子機器１（１１０）およびサーバ１５０は、図２の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器１（１１０）は、上述した入力／出力装置２１５のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器１（１１０）がスマートフォンである場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラ、物理的な各種ボタン、タッチパネルを利用したボタン、入力／出力ポート、振動のための振動器などの多様な構成要素が電子機器１（１１０）にさらに含まれるように実現されてよい。
【００２６】
図３は、本発明の一実施形態における、ビデオストリーム提供のための全体システムの例を示した図である。図３は、第１電子機器３１０、第２電子機器３２０、第３電子機器３３０、およびビデオカンファレンスサーバ３４０を示している。第１電子機器３１０、第２電子機器３２０、および第３電子機器３３０それぞれは、上述した電子機器１（１１０）のように実現されてよく、ビデオカンファレンスサーバ３４０は、上述したサーバ１５０のように実現されてよい。
【００２７】
ここで、第１電子機器３１０、第２電子機器３２０、および第３電子機器３３０は、ネットワーク１７０を介してビデオカンファレンスに参加した端末であってよく、ビデオカンファレンスのためのビデオストリームを送受信してよい。このような第１電子機器３１０、第２電子機器３２０、および第３電子機器３３０はそれぞれ、ビデオストリームの発信者であると同時に受信者であってもよいが、説明の便宜のために、第１電子機器３１０がビデオストリームを発信するソース提供クライアントであり、第２電子機器３２０および第３電子機器３３０がビデオスクリムを受信する受信クライアントであると仮定する。また、ビデオカンファレンスサーバ３４０は、第１電子機器３１０、第２電子機器３２０、および第３電子機器３３０間でビデオカンファレンスが成立するようにサービスを提供する装置であってよい。
【００２８】
第１点線ボックス３５１が示す過程は、ビデオカンファレンスに参加した第１電子機器３１０から提供可能なソースのサイズをビデオカンファレンスサーバ３４０に知らせてビデオカンファレンスサーバ３４０が応答する過程の例を示している。ここで、ソースとは、第１電子機器３１０がビデオカンファレンスを行うためにビデオカンファレンスサーバ３４０にアップロードしようとするビデオストリームを意味してよく、ソースのサイズとは、第１電子機器３１０が提供することのできる解像度を意味してよい。例えば、第１電子機器３１０は、ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類したクラス情報を利用し、ビデオストリームを互いに異なる解像度のｎ（前記ｎは、２以上の自然数）個のレイヤでエンコードしてよい。
【００２９】
このとき、第１電子機器３１０が提供可能なソースのサイズ（レイヤ）は、第１電子機器３１０のＣＰＵパワーおよび／またはネットワーク状況（例えば、第１電子機器３１０が測定するネットワークトラフィック）に基づいて第１電子機器３１０で決定されてよい。
【００３０】
一例として、以下の表１は、ビデオカンファレンスのための解像度の範囲を３つのクラスに予め分類した例を示している。このとき、解像度の範囲は、幅（ｗｉｄｔｈ）×高さ（ｈｅｉｇｈｔ）を基準に分類されてよい。
【００３１】
【表１】
2018029338.tif 000003
このとき、第１点線ボックス３５１に示された「レイヤ＝３」は、表１のレイヤ識別子３に対応し、第１電子機器３１０が第１クラスに対応するレイヤ１、第２クラスに対応するレイヤ２、および第３クラスに対応するレイヤ３の提供が可能であることをビデオカンファレンスサーバに知らせることを意味してよい。
【００３２】
各レイヤの解像度は、対応するクラスの解像度の範囲に含まれてよい。ここで、各レイヤの解像度は、予め特定の値で固定されるのではなく、予め分類されたクラスの解像度範囲に含まれる値の中から設定されてよい。例えば、電子機器が含むカメラによって入力される画面のサイズは一括的ではない。もし、第２レイヤの解像度の値を６４０×４８０に固定した場合に、カメラを通じて他の解像度（一例として、６３５×４７５）の映像が入力された場合には、映像の解像度をリサイジングしなければならない問題が生じる。しかし、発明の実施形態のように、レイヤの解像度の値を固定的に設定するのではなく、クラス別の解像度の範囲に含まれる値を設定することによってリサイジング（ｒｅｓｉｚｉｎｇ）が要求されなくなるため、性能が向上するようになる。
【００３３】
表１では、３つのクラスと３つのレイヤについて説明したが、クラスはｎ個に予め分類されてもよく、レイヤもｎ個が存在してもよい。例えば、表２は、ビデオカンファレンスのための解像度の範囲が４つのクラスに予め分類された実施形態を示している。
【００３４】
【表２】
2018029338.tif 000004
このような実施形態において、複数のレイヤのうちで基準となるレイヤの解像度は、電子機器（一例として、上述した第１電子機器３１０）が含むカメラによって入力される解像度が設定されてよく、複数のレイヤのうちの他のレイヤの解像度は、基準となるレイヤの解像度に基づいて設定されてよい。例えば、レイヤの解像度は、レイヤｎの解像度による幅がレイヤｎ−１の解像度による幅の２倍となり、前記レイヤｎの解像度による高さが前記レイヤｎ−１の解像度による高さの２倍となるように設定されてよい。より具体的な例として、第１電子機器３１０が含むカメラを通じて入力される画面のサイズが３１５×２３５である場合、レイヤ１の解像度は３１５×２３５となってよい。ここで、レイヤ２の解像度は６３０×４７０となってよく、レイヤ３の解像度は１２６０×９４０となってよい。
【００３５】
言い換えれば、レイヤの解像度がＱＶＧＡのための４９６×３６０、ＶＧＡのための６４０×４８０のように固定されているのではなく、カメラを通じて入力される画面のサイズによって対応するクラスの解像度範囲に含まれるように可変的に設定され、そのサイズは幅と高さがそれぞれ２倍になるように設定されるため、リサイジング時には性能向上を期待することができる。
【００３６】
また、レイヤｎは、レイヤｎ−１を基盤にエンコードされてよい。例えば、レイヤ１が生成された後、レイヤ２は、レイヤ１に追加で必要な情報のみを含んでよい。言い換えれば、レイヤｎは、レイヤ１からレイヤｎ−１までの下位レイヤのデータを共有し、レイヤｎの解像度にしたがってエンコードされたビデオストリームを構成するための追加データを含むことができる。
【００３７】
一方、ビデオカンファレンスサーバ３４０は、ネットワーク状況（例えば、ビデオカンファレンスサーバ３４０で測定するネットワークトラフィックやネットワークリソースなど）に応じて第１電子機器３１０がアップロード可能なレイヤを再調整してよい。例えば、第１電子機器３１０が「レイヤ＝３」のようにレイヤ１からレイヤ３までの提供が可能であると知らせてきたとき、ビデオカンファレンスサーバ３４０は、ネットワーク状況に応じて第１電子機器３１０がアップロード可能なレイヤをレイヤ２までに制限してよい。この場合、第１点線ボックスの「応答」は、「レイヤ＝２」のように再調整されたレイヤ識別子を含んでよい。
【００３８】
また、第２点線ボックス３５２が示す過程は、ビデオカンファレンスに参加した第２電子機器３２０が第２電子機器３２０で再生可能な解像度をビデオカンファレンスサーバ３４０に知らせ、サーバがこれに応答する過程の例であってよい。第２点線ボックス３５２の「レイヤ＝２」は、第２電子機器３２０がレイヤ２の解像度で映像の再生が可能であることを意味してよい。
【００３９】
第３点線ボックス３５３が示す過程は、ビデオカンファレンスに参加した第３電子機器３３０が第３電子機器３３０で再生可能な解像度をビデオカンファレンスサーバ３４０に知らせ、サーバがこれに応答する過程の例であってよい。第３点線ボックス３５３の「レイヤ＝１」は、第３電子機器３３０がレイヤ１の解像度で映像の再生が可能であることを意味してよい。
【００４０】
このような受信クライアント（第２電子機器３２０および第３電子機器３３０）の再生可能な解像度は、機器の特性に応じて定められるものであるため、ビデオカンファレンスサーバ３４０は、レイヤに対する別途の再調整なく、第２電子機器３２０および第３電子機器３３０の要求にしたがってレイヤを伝達することができる。
【００４１】
第１矢印３５４が示す過程は、第１電子機器３１０がビデオカンファレンスサーバ３４０にレイヤをアップロードする過程であってよい。図３の実施形態のように、第１電子機器３１０は、レイヤ１からレイヤ３までのアップロードが可能であることをビデオカンファレンスサーバ３４０に知らせたため、これに応じてレイヤ１、レイヤ２、およびレイヤ３をビデオカンファレンスサーバ３４０にアップロードしてよい。
【００４２】
第２矢印３５５と第３矢印３５６が示す過程は、ビデオカンファレンスサーバ３４０が第２電子機器３２０および第３電子機器３３０に要求されたレイヤを伝達する過程であってよい。ここで、第２電子機器３２０はレイヤ２を要求したため、ビデオカンファレンスサーバ３４０は、レイヤ１およびレイヤ２を第２電子機器３２０に提供してよい。また、第３電子機器３３０はレイヤ１を要求したため、ビデオカンファレンスサーバ３４０は、レイヤ１を第３電子機器３３０に提供してよい。
【００４３】
上述したように、レイヤ２は、レイヤ１のデータを共有し、レイヤ２の解像度によるビデオストリームを得るための追加の情報を含むため、レイヤ１と共に伝達されることにより、第２電子機器３２０でレイヤ２の解像度によるビデオストリームを得ることができるようになる。より具体的な例として、第１電子機器３１０がビデオカンファレンスサーバ３４０にアップロードするレイヤの統合されたペイロードフォーマットが「［レイヤ１］［レイヤ２］［レイヤ３］」のような形態を有しているとする。このとき、ビデオカンファレンスサーバ３４０は、上のペイロード構造をトランスコードせずにパッシングした後、「［レイヤ１］［レイヤ２］」のように再び組み合わせて第２電子機器３２０に提供してよい。これと同じように、ビデオカンファレンスサーバ３４０は、上のペイロード構造をトランスコードせずにパッシングした後、「［レイヤ１］」のように再び組み合わせて第３電子機器３３０に提供してよい。
【００４４】
図４は、本発明の一実施形態における、電子機器のプロセッサが含むことのできる構成要素の例を示したブロック図であり、図５は、本発明の一実施形態における、電子機器が実行することのできる方法の例を示したフローチャートである。
【００４５】
本実施形態に係る電子機器１（１１０）は、図３を参照しながら説明した第１電子機器３１０に対応してよく、ソース提供クライアントの役割を実行してよい。このような電子機器１（１１０）のプロセッサ２１２は、図４に示すように、クラス情報管理部４１０、クラス決定部４２０、エンコード部４３０、および送信制御部４４０を含んでよい。
【００４６】
このようなプロセッサ２１２およびプロセッサ２１２の構成要素は、図５のビデオストリーム提供方法が含む段階５１０〜５４０を実行してよい。このとき、プロセッサ２１２およびプロセッサ２１２の構成要素は、メモリ２１１が含むオペレーティングシステムのコードや少なくとも１つのプログラム（一例として、ビデオカンファレンスサービスの提供のためのアプリケーション）のコードによる制御命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行するように実現されてよい。ここで、プロセッサ２１２の構成要素は、電子機器１（１１０）に格納されたコードが提供する制御命令にしたがってプロセッサ２１２によって実行される、プロセッサ２１２の互いに異なる機能（ｄｉｆｆｅｒｅｎｔ  ｆｕｎｃｔｉｏｎｓ）の表現であってよい。例えば、プロセッサ２１２がクラス情報を管理するように電子機器１（１１０）を制御するプロセッサ２１２の機能的表現としてクラス情報管理部４１０が使用されてよい。
【００４７】
段階５１０で、クラス情報管理部４１０は、ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類したクラス情報を管理してよい。クラス情報とは、上記の表１や表２を参照しながら説明したように、解像度の範囲に関する分類情報であってよく、上述したアプリケーションの制御にしたがって電子機器１（１１０）の格納所（一例として、図２を参照しながら説明した永久格納装置）に格納および管理されてよい。解像度の範囲に対する分類は、ビデオカンファレンスのためのサーバで予め設定されてよい。ここで、サーバは、上述したビデオカンファレンスサーバ３４０に対応してよい。例えば、複数のクラスは、ＱＶＧＡ（Ｑｕａｒｔｅｒ  Ｖｉｄｅｏ  Ｇｒａｐｈｉｃ  Ａｒｒａｙ）の解像度を含む解像度範囲の第１クラス、ＶＧＡ（Ｖｉｄｅｏ  Ｇｒａｐｈｉｃ  Ａｒｒａｙ）の解像度を含む解像度範囲の第２クラス、およびＨＤ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ）の解像度を含む解像度範囲の第３クラスを含んでよい。
【００４８】
段階５２０で、クラス決定部４２０は、クラス情報に基づき、複数のクラスのうちでビデオカンファレンスに参加したソース提供クライアントから提供可能な解像度が属する少なくとも２つ以上のクラスを決定してよい。上述したように、各クラスに対応するレイヤが存在し、クラスを決定することは、提供可能なレイヤを決めることに対応してよい。例えば、表１において第１クラスおよび第２クラスを決定することは、レイヤ１およびレイヤ２の提供が可能であることに対応してよい。
【００４９】
段階５３０で、エンコード部４３０は、ビデオカンファレンスのためのビデオストリームを決定された少なくとも２つ以上のクラスごとに設定される解像度を利用して複数のレイヤとしてエンコードしてよい。上述したように、複数のレイヤのうちで基準となるレイヤの解像度は、電子機器１（１１０）が含むカメラによって入力される画面のサイズ（解像度）で設定され、複数のレイヤのうちの他のレイヤの解像度は、基準となるレイヤの解像度に基づいて設定されてよい。ここで、複数のレイヤの解像度は、レイヤｎの解像度による幅がレイヤｎ−１の解像度による幅の２倍となり、レイヤｎの解像度による高さがレイヤｎ−１の解像度による高さの２倍となるように設定されてよい。上述したビデオカンファレンスのための解像度の範囲は、解像度範囲が低い順にｎ番目クラスの解像度範囲にレイヤｎの解像度が含まれるように予め分類されてよい。また、上述したように、レイヤｎは、レイヤ１からレイヤｎ−１までのデータを共有し、レイヤｎの解像度にしたがってエンコードされたビデオストリームを構成するための追加データを含んでよい。例えば、レイヤ２は、レイヤ１のデータを共有し、レイヤ２の解像度にしたがってエンコードされたビデオストリームを構成するための追加データを含んでよい。
【００５０】
例えば、電子機器１（１１０）が含むカメラを通じて入力される画面のサイズが３１５×２３５である場合、エンコード部４３０は、解像度３１５×２３５でレイヤ１をエンコードしてよい。また、電子機器１（１１０）がレイヤ３まで提供可能な場合（第１クラス、第２クラス、および第３クラスを提供可能な解像度が属するクラスとして決定する場合）、エンコード部４３０は、解像度６３０×４７０でレイヤ２をエンコードしてよく、解像度１２６０×９４０でレイヤ３をエンコードしてよい。ビデオストリームのレイヤとしてのエンコードについては、以下でさらに詳しく説明する。
【００５１】
段階５４０で、送信制御部４４０は、複数のレイヤとしてエンコードされたビデオストリームをネットワークを介してビデオカンファレンスのためのサーバに送信するようにソース提供クライアントの電子機器１（１１０）を制御してよい。ここで、ネットワークは、図１および図２を参照しながら説明したネットワーク１７０に対応してよく、ビデオストリームをサーバに送信することは、図３の第１矢印３５４が示す過程を参照しながら説明したように、レイヤをアップロードすることに対応してよい。このとき、ビデオカンファレンスのためのサーバは、複数のレイヤとしてエンコードされたビデオストリームを受信し、ビデオカンファレンスに参加した少なくとも２つ以上の受信クライアントそれぞれから２つ以上の受信クライアントそれぞれが再生可能な解像度に関する情報をネットワークを介して受信し、２つ以上の受信クライアントのうちの第１受信クライアントから受信した解像度に関する情報を利用して第１受信クライアントに送信するレイヤを決定するように実現されてよい。
【００５２】
また、２つ以上の受信クライアントそれぞれは、２つ以上の受信クライアントの電子機器（一例として、図３を参照しながら説明した第２電子機器３２０および第３電子機器３３０）で再生可能な解像度に関する情報をネットワークを介してビデオカンファレンスのためのサーバに送信し、ビデオカンファレンスのためのサーバから受信したレイヤを利用してビデオストリームを再生するように実現されてよい。例えば、図３の第２電子機器３２０は、受信したレイヤ１およびレイヤ２によってレイヤ２の解像度によるビデオストリームを再生してよい。
【００５３】
図６は、本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図であり、図７は、本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。
【００５４】
本実施形態に係るサーバ１５０は、図３を参照しながら説明したビデオカンファレンスサーバ３４０に対応してよい。このようなサーバ１５０のプロセッサ２２２は、図６に示すように、ビデオストリーム受信制御部６１０、解像度情報受信部６２０、レイヤ決定部６３０、およびレイヤ送信制御部６４０を含んでよい。
【００５５】
このようなプロセッサ２２２およびプロセッサ２２２の構成要素は、図７のビデオストリーム提供方法が含む段階７１０〜７４０を実行してよい。このとき、プロセッサ２２２およびプロセッサ２２２の構成要素は、メモリ２２１が含むオペレーティングシステムのコードや少なくとも１つのプログラムのコードによる制御命令を実行するように実現されてよい。ここで、プロセッサ２２２の構成要素は、サーバ１５０に格納されたコードが提供する制御命令にしたがってプロセッサ２２２によって実行される、プロセッサ２２２の互いに異なる機能の表現であってよい。例えば、プロセッサ２２２がビデオストリームを受信するようにサーバ１５０を制御するプロセッサ２２２の機能的表現としてビデオストリーム受信制御部６１０が使用されてよい。
【００５６】
段階７１０で、ビデオストリーム受信制御部６１０は、ビデオカンファレンスに参加したソース提供クライアントから、ソース提供クライアントから提供可能な複数の解像度それぞれにしたがって複数のレイヤとしてエンコードされたビデオストリームを受信するようにサーバ１５０を制御してよい。上述したように、ソース提供クライアントは、ビデオカンファレンスのための解像度の範囲を複数のクラスに予め分類したクラス情報に基づき、複数のクラスのうちでビデオカンファレンスに参加したソース提供クライアントから提供可能な解像度が属する少なくとも２つ以上のクラスを決定し、ビデオカンファレンスのためのビデオストリームを決定された少なくとも２つ以上のクラスごとに設定される解像度を利用して複数のレイヤとしてエンコードし、複数のレイヤとしてエンコードされたビデオストリームをネットワークを介してビデオカンファレンスのためのサーバ１５０に送信するように実現されてよい。このようなレイヤとクラスについての繰り返される説明は省略する。
【００５７】
段階７２０で、解像度情報受信部６２０は、ビデオカンファレンスに参加した少なくとも２つ以上の受信クライアントそれぞれから、２つ以上の受信クライアントそれぞれが再生可能な解像度に関する情報を受信してよい。一例として、２つ以上の受信クライアントは、図３を参照しながら説明した第２電子機器３２０および第３電子機器３３０に対応してよく、それぞれ自身が再生可能な解像度に関する情報をネットワークを介してサーバ１５０に送信してよい。ここで、解像度に関する情報は、レイヤ識別子（一例として、レイヤ１、レイヤ２、またはレイヤ３）を含んでよい。
【００５８】
段階７３０で、レイヤ決定部６３０は、２つ以上の受信クライアントのうちの第１受信クライアントに送信するためのビデオストリームのレイヤを第１受信クライアントから受信した解像度に関する情報を利用して決定してよい。例えば、第１受信クライアントから受信した解像度に関する情報がレイヤ識別子「２」を含む場合、レイヤ決定部６３０は、レイヤ１およびレイヤ２を第１受信クライアントに送信するためのビデオストリームのレイヤとして決定してよい。また、レイヤ決定部６３０は、２つ以上の受信クライアントのうちの残りの受信クライアントのためのレイヤも、それぞれの受信クライアントから受信した解像度に関する情報を利用して決定してよい。
【００５９】
段階７４０で、レイヤ送信制御部６４０は、決定されたレイヤを第１受信クライアントに送信するようにサーバ１５０を制御してよい。ここで、レイヤ送信制御部６４０は、２つ以上の受信クライアントのうちの残り受信クライアントにもそれぞれ決定されたレイヤを送信するようにサーバ１５０を制御することは当然である。例えば、図３では、ビデオカンファレンスサーバ３４０が第２電子機器３２０および第３電子機器３３０に決定されたレイヤを送信することについて既に説明した。
【００６０】
図８は、本発明の一実施形態における、下位レイヤと上位レイヤの関係に対する例を示した図である。下位レイヤ（一例として、レイヤ１）のブロック８１０１つが示す映像は、上位レイヤ（一例として、レイヤ２）の４つのブロック８２１、８２２、８２３、８２４が示す映像に該当する。これは、レイヤｎの解像度による幅がレイヤｎ−１の解像度による幅の２倍になり、レイヤｎの解像度による高さがレイヤｎ−１の解像度による高さの２倍になるように設定されるためである。このとき、ソース提供クライアントは、レイヤをエンコードするにあたり、下位レイヤ１つのブロック８１０に該当する４つのブロック８２１、８２２、８２３、８２４単位で参照フレームを決定してよい。また、ソース提供クライアントは、このようにマッピングされた上位レイヤの４つのブロック８２１、８２２、８２３、８２４単位で参照フレームを最後フレームとして使用するのか、それとも下位レイヤで生成された再生成されたイメージを使用するのかを判断してよい。このようなエンコードについては、図９を参照しながら以下でさらに詳しく説明する。
【００６１】
図９は、本発明の一実施形態における、ビデオストリームをレイヤとしてエンコードする例を示した図である。ソース提供クライアントは、入力される上位レイヤのためのソースフレーム９１０をダウンスケーリング９２０（ｄｏｗｎ  ｓｃａｌｉｎｇ）して下位レイヤのためのフレーム９３０を生成してよい。このとき、ソース提供クライアントは、上位レイヤのためのエンコードフォーマット（一例として、ＥＶＳ２）を利用してソースフレーム９１０をエンコード９４０（ＥＶＳ２エンコード）して上位レイヤのためのビットストリーム９５０（ビデオストリーム）を生成し、下位レイヤのためのエンコードフォーマット（一例として、ＶＰ８）を利用して下位レイヤのためのフレーム９３０をエンコード９６０（ＶＰ８エンコード）して下位レイヤのためのビットストリーム９７０を生成してよい。
【００６２】
この場合、ソース提供クライアントは、下位レイヤのためのエンコード９６０に使用されたインタ−レイヤ予測（ｉｎｔｅｒ−ｌａｙｅｒ  ｐｒｅｄｉｃｔｉｏｎ）のためのメタデータ（一例として、モーションベクトル（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ）、再生成フレーム（ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｆｒａｍｅ）、レジデュアル（ｒｅｓｉｄｕａｌ）など）を上位レイヤのためのエンコード９４０のために活用してよい。ここで、再生成フレームは、アップスケーリング９８０を経て活用されてよい。このとき、上位レイヤのためのエンコード９４０時に、ソース提供クライアントは、以前フレームやアップスケーリング９８０を経た再生成されたフレームを参照フレームとして探し出してよい。言い換えれば、上位レイヤエンコードは、下位レイヤ１つのブロックに該当する４つのブロック単位で参照フレームを決定してよい。また、ソース提供クライアントは、インタ−レイヤ予測のためのメタデータを利用して最善のモーションベクトルを探し出してよく、探し出された参照フレームと最善のモーションベクトルを通じて上位レイヤのためのエンコード９４０を処理してよい。また、ソース提供クライアントは、上述したレジデュアルをさらにエンコードしてよい。
【００６３】
上述した図９のメインアルゴリズムでは、下位レイヤで計算されたモーションベクトルを上位レイヤで利用すれば、以下で説明される図１０の代替アルゴリズムでは、上位レイヤで計算されたモーションベクトルを下位レイヤで利用することができる。
【００６４】
図１０は、本発明の一実施形態における、ビデオストリームをレイヤとしてエンコードする他の例を示した図である。ソース提供クライアントは、入力される上位レイヤのためのソースフレーム１０１０を上位レイヤのためのエンコードフォーマット（一例として、ＥＶＳ２）を利用してエンコード１０２０（ＥＶＳ２エンコード）して上位レイヤのためのビットストリーム１０３０（ビデオストリーム）を生成してよい。
【００６５】
このとき、ソース提供クライアントは、ソースフレーム１０１０をダウンスケーリング１０４０（ｄｏｗｎ  ｓｃａｌｉｎｇ）して下位レイヤのためのフレーム１０５０を生成しながら、上位レイヤのためのエンコード１０２０で計算されたモーションベクトルを利用して下位レイヤのためのフレーム１０５０をエンコード１０６０（ＶＰ８エンコード）することによって下位レイヤのためのビットストリーム１０７０を生成してよい。また、下位レイヤのためのエンコード１０６０で使用されたメタデータを上位レイヤのために活用してよい。図９と同じように、再生成フレームがアップスケーリングされて活用されてよく、下位レイヤ１つのブロックに該当する上位レイヤの４つのブロック単位で参照フレームが決定されてよい。
【００６６】
図８〜図１０は、レイヤｎがレイヤ１〜レイヤｎ−１のデータを共有し、ビデオストリームを得るための追加データを含むように生成される例を説明するためのものであり、ビデオストリームのエンコードがどのように行われるかを説明するためのものではない。また、ＶＰ８のようなエンコードフォーマットは周知のとおりであるため、具体的な説明は省略する。
【００６７】
生成されたレイヤは、上述したように、ビデオカンファレンスのためのサーバを通じて受信クライアントに適切にルーティングされてよい。
【００６８】
このように、本発明の実施形態によると、ビデオカンファレンス（ｖｉｄｅｏ  ｃｏｎｆｅｒｅｎｃｅ）のためのビデオストリームの提供において、ソース提供クライアントがビデオストリームを画面サイズ（解像度）別に複数のレイヤとしてエンコードしてサーバに提供することにより、サーバ側の負担を減らすことができる。また、解像度の範囲を複数のクラスに予め分類し、各クラスの解像度範囲に含まれる解像度を有するレイヤを提供することにより、クライアントのカメラによって入力される解像度と前記解像度を基準として設定される他の解像度を活用して画面をリサイジングする必要なくそのまま活用することができる。
【００６９】
上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、１つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム（ＯＳ）および前記ＯＳ上で実行される１つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してよい。理解の便宜のために、１つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および／または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは１つのプロセッサおよび１つのコントローラを含んでもよい。また、並列プロセッサのような、他の処理構成も可能である。
【００７０】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの１つ以上の組み合わせを含んでもよく、所望の動作を行うように処理装置を構成したり、独立的または集合的に処理装置に命令してもよい。ソフトウェアおよび／またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ格納媒体または装置、または伝送される信号波に永久的または一時的に具現化されてもよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、１つ以上のコンピュータで読み取り可能な記録媒体に格納されてもよい。
【００７１】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてもよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでもよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク、および磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような光磁気媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。上述したハードウェア装置は、実施形態の動作を実行するために１つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同じである。
【００７２】
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ／あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【００７３】
したがって、本発明の精神及び範囲から逸脱しない限り、異なる実施形態であってもそれらは特許請求の範囲に属する。
【符号の説明】
【００７４】
１１０、１２０、１３０、１４０：電子機器
１５０、１６０：サーバ
１７０：ネットワーク
【図１】
2018029338.tif 000005
【図２】
2018029338.tif 000006
【図３】
2018029338.tif 000007
【図４】
2018029338.tif 000008
【図５】
2018029338.tif 000009
【図６】
2018029338.tif 000010
【図７】
2018029338.tif 000011
【図８】
2018029338.tif 000012
【図９】
2018029338.tif 000013
【図１０】
2018029338.tif 000014