(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023070477
(43)【公開日】2023-05-19
(54)【発明の名称】通信情報最適化装置
(51)【国際特許分類】
H04N 21/2662 20110101AFI20230512BHJP
H04N 21/258 20110101ALI20230512BHJP
【FI】
H04N21/2662
H04N21/258
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021182682
(22)【出願日】2021-11-09
(71)【出願人】
【識別番号】392026693
【氏名又は名称】株式会社NTTドコモ
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100121980
【弁理士】
【氏名又は名称】沖山 隆
(74)【代理人】
【識別番号】100128107
【弁理士】
【氏名又は名称】深石 賢治
(72)【発明者】
【氏名】木村 拓人
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA06
5C164SA32S
5C164SB01S
5C164SC03P
5C164SC11P
5C164YA21
5C164YA24
(57)【要約】
【課題】映像データなどのデータを配信する際に適切なエンコーディング設定を行うことができる通信情報最適化装置を提供することを目的とする。
【解決手段】エンコーディング設定計算装置100は、クライアント端末400のスループット情報を元にしてエンコーディング設定の更新の要否を判定するエンコーディング設定更新判定ユニット102と、判定結果を元に、エンコーディング設定計算を行うエンコーディング設定計算ユニット103と、を備える。この構成により、適切なエンコーディング設定に更新することができる。よって、映像配信の品質が向上する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
クライアント端末のスループット情報を元にしてエンコーディング設定の更新の要否を判定するエンコーディング設定更新判定部と、
判定結果を元に,エンコーディング設定計算を行うエンコーディング設定計算部と、
を備える通信情報最適化装置。
【請求項2】
配信サーバからデータを受け取り一または複数のクライアント端末にデータ配信を行う中継サーバから前記一または複数のクライアント端末におけるスループット情報を取得する取得部、
をさらに備える、請求項1に記載の通信情報最適化装置。
【請求項3】
前記エンコーディング設定更新判定部は、現在のスループット情報と、直近に取得したスループット情報とに基づいて、前記エンコーディング設定を更新するか否かを判定する、
請求項2に記載の通信情報最適化装置。
【請求項4】
前記エンコーディング設定更新判定部は、前記スループット情報からスループット分布を求め、当該スループット分布に基づいて、前記エンコーディング設定を更新するか否かを判定する、
請求項3に記載の通信情報最適化装置。
【請求項5】
前記エンコーディング設定計算部は、
エンコーディング設定に応じたユーザのデータ配信に対する効用と最低エンコーディング設定以下のスループットを経験するユーザの効用の損失とに基づいて、エンコーディング設定計算を行う、
請求項1~4の何れか一項に記載の通信情報最適化装置。
【請求項6】
前記エンコーディング設定計算部は、
前記効用を定義した関数の出力値と、前記損失を定義した関数の出力値との差分を最大化したときの値に基づいてエンコーディング設定計算を行う、
請求項5に記載の通信情報最適化装置。
【請求項7】
前記エンコーディング設定計算部は、
あるエンコーディング設定におけるエンコーディングコストと、ネットワークにおける最大帯域とに基づいて複数のエンコーディング設定計算を行う、請求項1~6のいずれか一項に記載の通信情報最適化装置。
【請求項8】
前記エンコーディング設定とは、少なくともビットレートの設定を含み、映像符号化方式、音声符号化方式、映像ビットレート、音声ビットレート、解像度、フレームレートの少なくとも一つまたは複数の組み合わせに対する設定を含んでもよい、
請求項1~7のいずれか一項に記載の通信情報最適化装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビットレートなどの通信情報を最適化する通信情報最適化装置に関する。
【背景技術】
【0002】
ライブ映像配信技術において、webRTC SFU(web Real-TimeCommunication Selective Forwarding Unit)という方式が知られている。このwebRTCSFUは多対多で相互の映像配信を実現する仕組みである。webRTC SFUにはサイマル通信という機能がある。サイマル通信とは、映像データを配信する配信サーバ側で複数のエンコーディング設定に基づいて映像データをエンコードし、各クライアント端末は、当該クライアント端末が置かれている通信状況に適したエンコーディング設定を選択する機能である。これによって、配信サーバから現在の通信状況に適した映像データを受信することが可能となる。非特許文献1は、webRTC SFUについての標準化資料である。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Ian Hickson,[online]、W3C on GitHub、[令和3年10月15日検索]、インターネット、https://w3c.github.io/webrtc-pc/
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1などにおいて規定されているwebRTC SFUにおいては、どのようにサイマル通信におけるエンコーディング設定を最適化すべきか、規定されていない。
【0005】
したがって、例えば多くのユーザが通信状況がよい状況にも関わらず、誰にも選択されない低いビットレートでエンコーディングする映像データが存在する場合がある。
【0006】
そこで、上述の課題を解決するために、本発明は、映像データなどのデータを配信する際に適切なエンコーディング設定を行うことができる通信情報最適化装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の通信情報最適化装置は、クライアント端末のスループット情報を元にしてエンコーディング設定の更新の要否を判定するエンコーディング設定更新判定部と、判定結果を元に,エンコーディング設定計算を行うエンコーディング設定計算部と、を備える。
【発明の効果】
【0008】
本発明によると、映像データなどのデータを配信する際に適切なエンコーディング設定を行うことができる。
【図面の簡単な説明】
【0009】
【
図1】本開示における通信情報最適化装置として機能するエンコーディング設定計算装置100を含む機能構成を示すブロック図である。
【
図2】スループットDB101の具体例を示す図である。
【
図3】エンコーディング設定計算装置100の動作を示すフローチャートである。
【
図5】本開示の一実施の形態に係るエンコーディング設定計算装置100のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0010】
添付図面を参照しながら本開示の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【0011】
図1は、本開示における通信情報最適化装置として機能するエンコーディング設定計算装置100を含む機能構成を示すブロック図である。図に示されるとおり、配信サーバ300は、エンコーディング設定計算装置100により計算されたエンコーディング設定に基づいてソース映像をエンコーディングし、webRTCサーバ200にエンコーディングされた映像データを送信する。
【0012】
クライアント端末400は、webRTCサーバ200に対して、エンコーディング設定を決定して、映像データ要求を送信する。
【0013】
webRTCサーバ200は、クライアント端末400から要求された映像データをクライアントに送信する。
【0014】
エンコーディング設定計算装置100は、webRTCサーバ200から各クライアント端末400のスループット情報を収集し、エンコード設定を変更すべきタイミング(または常時)で配信サーバ300に対してエンコード設定情報を送る。
【0015】
つぎに、エンコーディング設定計算装置100の機能構成について説明する。図に示される通り、エンコーディング設定計算装置100は、スループットDB101、エンコーディング設定更新判定ユニット102、およびエンコーディング設定計算ユニット103から構成される。
【0016】
このエンコーディング設定計算装置100は、クライアント端末400全体に対して最適化されたエンコード設定計算を行い、そのエンコード設定を配信サーバ300に対して行う。配信サーバ300は、最適化されたエンコーディングに従った映像データの配信を行う。クライアント端末400は、受け取った最適化された映像データを再生して表示する。
【0017】
スループットDB101は、ユーザを識別するユーザid、時刻、およびスループットを対応付けて記憶している。
図2は、その具体例を示す図である。時刻は、クライアント端末400からスループット情報が送信された時刻を示す。スループットは、各クライアント端末400におけるスループットを示す。
図2では、データ転送量(kbps)を示すが、これ以外に単位時間あたりの処理量を示すようにしてもよい。
【0018】
エンコーディング設定更新判定ユニット102は、配信サーバ300におけるエンコーディング設定を変更すべきかを判定する部分である。このエンコーディング設定更新判定ユニット102は、スループットDB101の情報に基づいて現在接続しているクライアント端末400のスループット分布p(x)と前回更新時のスループット分布q(x)との距離が一定値以上になる場合に更新を行い、そうでない場合には更新を行わないものとする。
【0019】
分布p(x)およびq(x)は、スループットDB101に基づいて経験分布として構成してもよいし、経験分布に対してフィッティングした分布としてもよい。距離の指標としては、KLダイバージェンスもしくはJSダイバージェンスを用いるが、これら以外の指標を用いてもよい。
【0020】
この判定処理は、一定時間おきに実行してもよいし、webRTCサーバ200と通信している接続ユーザ数(通信しているクライアント端末数)が変更となったタイミングごとに実行してもよい。更新を行う場合にはエンコーディング設定計算ユニットに更新指示を出す。
【0021】
エンコーディング設定計算ユニット103は、エンコーディング設定更新判定ユニット102から指示を受けた時に動作し、エンコーディング設定の更新を行う部分である。各エンコーディング設定は、映像コーデック(映像符号化方式)、映像ビットレート、映像解像度、フレームレート、音声コーデック(音声符号化方式)、および音声ビットレートの組で表される。エンコーディング設定計算ユニット103は、映像ビットレートを決定し、他の要素については固定、もしくは映像ビットレートに応じて決定するものとする。
【0022】
例えば、映像解像度は、映像ビットレートが100kbps以上300kbps未満のときには360p、300kbps以上600kbps未満のときには480p、600kbps以上1000kbps未満のときには720p、1000kbps以上3000kbps未満のときには1080p、3000kbps以上のときには2160pのように設定してもよい。また、音声ビットレートについても、映像ビットレートが300kbps未満のときには128kbps、300kbps以上のときには192kbpsのように設定してもよい。
【0023】
以下では映像ビットレートを単にビットレートと称し、ビットレートを決定する方法について述べる。
【0024】
エンコーディング設定計算ユニット103は、以下の数式で示される目的関数h(x)を最大化するよう、最適化問題を解くことにより、配信サーバ300に設定するビットレート数Nおよびビットレートb1、b2・・・bNを決定する。
【0025】
【数1】
【数2】
上記の式で示した通り、目的関数h(x)は、2つの項から構成される。第1項はあるビットレートで視聴することによって得られる効用の和であり、第2項は最低レートにも満たないスループットのユーザによる損失を表す。
【0026】
第1項の効用は、ビットレートに対する効用は効用関数f(x)を通じて得られるものとする。効用関数f(x)は、広義の単調増加関数である。この効用関数f(x)は、ITU-T P.1203 mode 3で計算される体感品質としてもよいし、カメラに映る物体の認識率といった任意の指標を設定することに基づいて定義づけてもよい。
【0027】
第2項は、設定した最低ビットレートにも満たないユーザが存在することに対するペナルティ項を表す。通信品質の悪いユーザをどの程度重視するかは、パラメータを操作することで調整することができるものとする。ここで、パラメータλは0以上の実数とする。
【0028】
ここで、制約条件は、以下の2つとする。
【0029】
【数3】
1つめの制約は、コスト制約である。ここでコストとは,計算にかかるコストのことを指す。各ビットレートb
iに対して計算コストg(b
i)がかかるものし、その和がコスト最大値C以下となる制約をおく。計算コスト関数g(x)は、広義の単調増加関数とする。事前に異なるビットレートxでエンコードをしておき、任意のビットレートxに対して計算コストが求められるようにしておく。
【0030】
2つめの制約は、ネットワーク帯域に関する制約である。配信元からのアップロード帯域の上限を最大値Bと置き、エンコード設定に含まれるビットレートbiの合計は最大値Bを超えないものとする。最大値Bは事前に与えてもよいし、直近のスループット履歴から推定してもよい。推定方法として,直近で計測したスループットデータの単純平均、調和平均を用いても良いし,ARIMAモデル(自己回帰和分移動平均モデル)を用いてもよい。
【0031】
つぎに、本開示のエンコーディング設定計算装置100の最適化問題の解を算出する動作について説明する。
図3は、エンコーディング設定計算装置100の動作を示すフローチャートである。エンコーディング設定計算ユニット103は、初期値として、N=2、N
best=N、b
best=0、s
best=h(b)を定義する(S101)。なお、bおよびb
bestは、ベクトル形式で表され、N個の0(ゼロ)で表記される。例えば、b
best=(b
1、b
2…b
N)=(0,0,0・・・、0)である。b
bestは、スコアが最大となるビットレートbである。Nは、ビットレート数を示す。N
bestは、ビットレート数の最大値を示す。b
bestは、いくつか算出したビットレートのうち目的関数h(x)の値を最大にしたビットレートを示す。s
bestは、目的関数h(x)のスコアのうち最大値を示す。なお、
図3および
図4においては、スコアs=h(x)としている。
【0032】
エンコーディング設定計算ユニット103は、ビットレート数Nにおける目的関数h(x)のスコアsおよび探索したビットレートbを算出する(S102)。この処理の詳細については後述する。
【0033】
エンコーディング設定計算ユニット103は、算出したスコアsがsbestより大きいか否かを判断する(S103)。エンコーディング設定計算ユニット103は、大きいと判断した場合(S103:Yes)、Nbest=N、bbest=b、sbest=sに更新する(S104)。エンコーディング設定計算ユニット103は、大きいと判断しない場合(S103:No)、更新処理をしない。
【0034】
エンコーディング設定計算ユニット103は、これら処理が終了すると、N=N+1とし、Nを一つインクリメントする(S105)。エンコーディング設定計算ユニット103は、N>Nmaxであるか否かを判断し(S106)、大きいと判断しない場合(S106:No)、さらにN=N+1としたスコアsおよびビットレートbを算出する(S102)。このNmaxは、ビットレート数Nの最大値であり、予め規定された数値である。この処理では、Nmaxになるまで、Nを増やしながら適正なNを探索している。
【0035】
エンコーディング設定計算ユニット103は、大きいと判断すると、処理を終了し、処理S104で更新したビットレートbbest、およびビットレート数Nを出力する。
【0036】
このようにして、適正なビットレートbおよびビットレート数Nを求めることができる。
【0037】
つぎに、処理S102のフローチャートについて説明する。
図4は、その処理内容を示すフローチャートである。エンコーディング設定計算ユニット103は、b′
best=0、s′
best=h(b′
best)とし、初期化する(S201)。ビットレートb′
bestは、N個の識別子ごとのビットレートを示したベクトルであり、(0,0,0・・・)とN個の数値で表される。
【0038】
エンコーディング設定計算ユニット103は、b′next=0、Snext=-∞、Bnb=Φ(空集合)として、初期値の設定を行う(S202)。本明細書において、Φは、空集合を表すものとする。なお、Bnbは、ビットレートbの集合である。
【0039】
エンコーディング設定計算ユニット103は、b′tmp=b′bestとし、b′tmp,i=b′tmp,i+Δ、Bnb=Bnb∪Btmpとする(S203)。ここで、iは、設定されるビットレートの識別子を示す。本開示においては、b′tmpは、ベクトルで表記され、i=1は、一番目のビットレートを示す。そして、b′tmp,i=b′tmp,i+Δとは、識別子iで示されるビットレートにΔを加算する。Δは、ビットレートを探索するための探索幅であり、あらかじめ定められた値である。
【0040】
例えば、Nが2であるときの、b′tmp,1の初期値は、(0,0)であり、Δを加算することで、b′tmp,1=(Δ、0)となる。識別子i=1は、ベクトル表記の1番目を示す。同様に、b′tmp,2=(0,Δ)で表される。これら処理をi=1からNまで行う。そして、すべてのb′tmp,1~b′tmp,N、およびb′tmpを、集合Btmpとして集合で表す。
【0041】
同様にして、エンコーディング設定計算ユニット103は、b′tmp=b′bestとし、b′tmp,i=b′tmp,i+Δ、b′tmp,j=b′tmp,j-Δ、Bnb=Bnb∪Btmpとする(S204)。なお、ここでは、すべてのN以下のi,jの組み合わせ(i≠jの条件あり)を使って、b′tmp,i、b′tmp,jを求める。また、b′tmp,j>0とする。
【0042】
このようにして、処理S203および処理S204により、Δだけずれた複数のビットレート(ビットレートの集合Bnb)が得られる。
【0043】
そしてエンコーディング設定計算ユニット103は、集合Bnbから一のビットレートxを取り出し、またその集合Bnbからビットレートxを除去し(S205)、スコアs′next<h(x)を満たし、さらに制約条件を満たすか、を判断する(S206)。
【0044】
制約条件とは、上述した通り以下の数式により示される。
【0045】
【数4】
ここで、エンコーディング設定計算ユニット103は、スコアs′
next<h(x)を満たし、さらに制約条件を満たす場合には(S206:Yes)、スコアs′
next=h(x)とし、b′
next=xとする(S207)。
【0046】
エンコーディング設定計算ユニット103は、すべての集合Bnb=Φになるまで、すなわち、集合Bnbに含まれているビットレートに対するスコアを算出するまで、繰り返し処理S205~S207の処理を行う(S208:No)。
【0047】
エンコーディング設定計算ユニット103は、すべてのビットレートに対するスコアsを算出すると(S208:Yes)、スコアs′next>スコアs′bestであるか否か判断する(S210)。ここで、スコアs′next>スコアs′bestである場合には(S209:Yes)、b′best=b′next、s′best=s′nextとして(S210)、処理S202まで戻り、さらにb′tmpにおける各ベクトル要素(ビットレート)をΔずらした集合Btmpを作り処理を繰り返す。
【0048】
エンコーディング設定計算ユニット103は、スコアs′next>スコアs′bestではないと判断する場合には(S209:No)、スコアs′best、b′bestを、それぞれスコアs、ビットレートbとして、出力する(S211)。
【0049】
これにより、上記目的関数h(x)における最適解を算出することができる。なお、ここでは山登り法に基づくアルゴリズムを実施例として示したが,焼き鈍し法を組み合わせたアルゴリズムで求解してもよい。
【0050】
つぎに、本開示の通信情報最適化装置であるエンコーディング設定計算装置100の作用効果について説明する。エンコーディング設定計算装置100は、クライアント端末400のスループット情報を元にしてエンコーディング設定の更新の要否を判定するエンコーディング設定更新判定ユニット102と、判定結果を元に、エンコーディング設定計算を行うエンコーディング設定計算ユニット103と、を備える。
【0051】
この構成により、適切なエンコーディング設定に更新することができる。よって、映像配信の品質が向上する。
【0052】
また、エンコーディング設定計算装置100は、配信サーバ300からデータを受け取り一または複数のクライアント端末400にデータ配信を行う中継サーバであるwebRTCサーバ200から一または複数のクライアント端末400におけるスループット情報を取得する取得部に相当するスループットDB101をさらに備える。
【0053】
そして、エンコーディング設定更新判定ユニット102は、現在のスループット情報と、直近に取得したスループット情報とに基づいて、エンコーディング設定を更新するか否かを判定する。より具体的には、エンコーディング設定更新判定ユニット102は、スループット情報からスループット分布p(x)を求め、当該スループット分布p(x)に基づいて、エンコーディング設定を更新するか否かを判定する。
【0054】
エンコーディング設定計算ユニット103は、エンコーディング設定に応じたユーザのデータ配信に対する効用と最低エンコーディング設定以下のスループットを経験するユーザの効用に対する損失とに基づいて、エンコーディング設定計算を行う。
【0055】
より具体的には、エンコーディング設定計算ユニット103は、ユーザに対する効用を定義した関数の出力値(上記目的関数h(x)の第一項)と、ユーザの効用に対する損失を定義した関数の出力値(上記目的関数h(x)の第二項)との差分を最大化したときの値に基づいてエンコーディング設定計算を行う。
【0056】
エンコーディング設定計算ユニット103は、あるエンコーディング設定(あるビットレート)におけるエンコーディングコストg(x)と、ネットワークにおける最大帯域Bとに基づいて複数のエンコーディング設定を行う。
【0057】
エンコーディング設定とは、ビットレートの設定を示すが、それ以外にも、映像符号化方式、音声符号化方式、映像ビットレート、音声ビットレート、解像度、FPSの一つまたは複数の組み合わせを含む。
【0058】
上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェアおよびソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的または論理的に結合した1つの装置を用いて実現されてもよいし、物理的または論理的に分離した2つ以上の装置を直接的または間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置または上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
【0059】
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)や送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
【0060】
例えば、本開示の一実施の形態におけるエンコーディング設定計算装置100は、本開示のエンコーディング設定計算方法の処理を行うコンピュータとして機能してもよい。
図5は、本開示の一実施の形態に係るエンコーディング設定計算装置100のハードウェア構成の一例を示す図である。上述のエンコーディング設定計算装置100は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
【0061】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。エンコーディング設定計算装置100のハードウェア構成は、図に示した各装置を1つまたは複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【0062】
エンコーディング設定計算装置100における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002およびストレージ1003におけるデータの読み出しおよび書き込みの少なくとも一方を制御したりすることによって実現される。
【0063】
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。例えば、上述のエンコーディング設定更新判定ユニット102、エンコーディング設定計算ユニット103などは、プロセッサ1001によって実現されてもよい。
【0064】
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003および通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、エンコーディング設定計算ユニット103は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時または逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
【0065】
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係るエンコーディング設定計算方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
【0066】
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002およびストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
【0067】
通信装置1004は、有線ネットワークおよび無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。通信装置1004は、例えば周波数分割複信(FDD:Frequency Division Duplex)および時分割複信(TDD:Time Division Duplex)の少なくとも一方を実現するために、高周波スイッチ、デュプレクサ、フィルタ、周波数シンセサイザなどを含んで構成されてもよい。
【0068】
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005および出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
【0069】
また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
【0070】
また、エンコーディング設定計算装置100は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部または全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
【0071】
情報の通知は、本開示において説明した態様/実施形態に限られず、他の方法を用いて行われてもよい。例えば、情報の通知は、物理レイヤシグナリング(例えば、DCI(Downlink Control Information)、UCI(Uplink Control Information))、上位レイヤシグナリング(例えば、RRC(Radio Resource Control)シグナリング、MAC(Medium Access Control)シグナリング、報知情報(MIB(Master Information Block)、SIB(System Information Block)))、その他の信号またはこれらの組み合わせによって実施されてもよい。また、RRCシグナリングは、RRCメッセージと呼ばれてもよく、例えば、RRC接続セットアップ(RRC Connection Setup)メッセージ、RRC接続再構成(RRC Connection Reconfiguration)メッセージなどであってもよい。
【0072】
本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【0073】
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【0074】
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
【0075】
本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
【0076】
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨および範囲を逸脱することなく修正および変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
【0077】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【0078】
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)および無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、これらの有線技術および無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
【0079】
本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、またはこれらの任意の組み合わせによって表されてもよい。
【0080】
なお、本開示において説明した用語および本開示の理解に必要な用語については、同一のまたは類似する意味を有する用語と置き換えてもよい。例えば、チャネルおよびシンボルの少なくとも一方は信号(シグナリング)であってもよい。また、信号はメッセージであってもよい。また、コンポーネントキャリア(CC:Component Carrier)は、キャリア周波数、セル、周波数キャリアなどと呼ばれてもよい。
【0081】
また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。例えば、無線リソースはインデックスによって指示されるものであってもよい。
【0082】
上述したパラメータに使用する名称はいかなる点においても限定的な名称ではない。さらに、これらのパラメータを使用する数式等は、本開示で明示的に開示したものと異なる場合もある。様々なチャネル(例えば、PUCCH、PDCCHなど)および情報要素は、あらゆる好適な名称によって識別できるので、これらの様々なチャネルおよび情報要素に割り当てている様々な名称は、いかなる点においても限定的な名称ではない。
【0083】
本開示においては、「移動局(MS:Mobile Station)」、「ユーザ端末(user terminal)」、「ユーザ装置(UE:User Equipment)」、「端末」などの用語は、互換的に使用され得る。
【0084】
移動局は、当業者によって、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、またはいくつかの他の適切な用語で呼ばれる場合もある。
【0085】
本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベースまたは別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
【0086】
「接続された(connected)」、「結合された(coupled)」という用語、またはこれらのあらゆる変形は、2またはそれ以上の要素間の直接的または間接的なあらゆる接続または結合を意味し、互いに「接続」または「結合」された2つの要素間に1またはそれ以上の中間要素が存在することを含むことができる。要素間の結合または接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1またはそれ以上の電線、ケーブルおよびプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域および光(可視および不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」または「結合」されると考えることができる。
【0087】
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【0088】
本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量または順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1および第2の要素への参照は、2つの要素のみが採用され得ること、または何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
【0089】
本開示において、「含む(include)」、「含んでいる(including)」およびそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。
【0090】
本開示において、例えば、英語でのa, anおよびtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
【0091】
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。
【符号の説明】
【0092】
100…エンコーディング設定計算装置、200…webRTCサーバ、300…配信サーバ、400…クライアント端末、101…スループットDB、102…エンコーディング設定更新判定ユニット、103…エンコーディング設定計算ユニット。