JP2021158482A - 映像配信装置、映像配信方法およびプログラム - Google Patents
映像配信装置、映像配信方法およびプログラム Download PDFInfo
- Publication number
- JP2021158482A JP2021158482A JP2020055698A JP2020055698A JP2021158482A JP 2021158482 A JP2021158482 A JP 2021158482A JP 2020055698 A JP2020055698 A JP 2020055698A JP 2020055698 A JP2020055698 A JP 2020055698A JP 2021158482 A JP2021158482 A JP 2021158482A
- Authority
- JP
- Japan
- Prior art keywords
- image quality
- video
- distribution
- data
- amount
- 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
Links
Images
Landscapes
- Studio Devices (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】映像配信中にネットワーク帯域が変動した場合であっても、適切に高品質な映像配信を継続する。【解決手段】映像配信装置は、ネットワークを介してクライアント装置に対して映像を配信する配信手段と、クライアント装置との間のネットワーク帯域の余裕の程度を示す使用可能帯域を測定する測定手段と、測定手段により測定された使用可能帯域と、映像の許容する画質範囲とに基づいて、配信手段によりクライアント装置へ配信する映像のデータ量を制御する制御手段と、を備える。【選択図】 図3
Description
本発明は、映像配信装置、映像配信方法およびプログラムに関する。
従来、複数の動画再生装置との通信帯域に基づいて配信に使用する帯域を決定し、決定された帯域に従って、各動画再生装置に対して、ユーザが要求した画質、解像度、フレームレートを反映した動画を配信する技術が知られている(例えば、特許文献1参照)。
本発明が解決しようとする課題は、映像配信中にネットワーク帯域が変動した場合であっても、適切に高品質な映像配信を継続することである。
上記課題を解決するために、本発明に係る映像配信装置の一態様は、ネットワークを介してクライアント装置に対して映像を配信する配信手段と、前記クライアント装置との間のネットワーク帯域の余裕の程度を示す使用可能帯域を測定する測定手段と、前記測定手段により測定された使用可能帯域と、前記映像の許容する画質範囲とに基づいて、前記配信手段により前記クライアント装置へ配信する映像のデータ量を制御する制御手段と、を備える。
以下、添付図面を参照して、本発明を実施するための形態について詳細に説明する。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
図1は、本実施形態における映像配信システム100の構成例を示す図である。
本実施形態における映像配信システム100は、ネットワークを利用して映像を配信するシステムである。この映像配信システム100は、例えば店舗やビル監視向けには、インターネットやクローズドなIPネットワークを経由して、遠隔からのカメラ操作や映像、音声の閲覧、録画を行うことができる。
本実施形態では、映像配信システム100における配信データが映像データのみである場合について説明する。ただし、配信データは、映像データの他にも音声データ、映像および音声の解析データ、字幕データなどを含むことができる。
本実施形態における映像配信システム100は、ネットワークを利用して映像を配信するシステムである。この映像配信システム100は、例えば店舗やビル監視向けには、インターネットやクローズドなIPネットワークを経由して、遠隔からのカメラ操作や映像、音声の閲覧、録画を行うことができる。
本実施形態では、映像配信システム100における配信データが映像データのみである場合について説明する。ただし、配信データは、映像データの他にも音声データ、映像および音声の解析データ、字幕データなどを含むことができる。
映像配信システム100は、映像配信装置であるカメラサーバ装置200と、クライアント装置300と、を備える。カメラサーバ装置200とクライアント装置300とは、ネットワーク400を介して相互に接続されている。
カメラサーバ装置200は、撮像装置であるカメラを備え、当該カメラによって撮像した映像を、ネットワーク400を介して配信する。クライアント装置300は、ネットワーク400を介してカメラサーバ装置200に対して映像の配信開始要求を送信し、これを受けてカメラサーバ装置200が配信した映像を、ネットワーク400を介して受信する。
カメラサーバ装置200は、撮像装置であるカメラを備え、当該カメラによって撮像した映像を、ネットワーク400を介して配信する。クライアント装置300は、ネットワーク400を介してカメラサーバ装置200に対して映像の配信開始要求を送信し、これを受けてカメラサーバ装置200が配信した映像を、ネットワーク400を介して受信する。
ネットワーク400は、Ethernet(登録商標)等の通信規格に準拠する複数のルータ、スイッチ、ケーブル等から構成することができる。なお、ネットワーク400は、カメラサーバ装置200とクライアント装置300との間で通信が支障なく行えるものであれば、その通信規格、規模、構成は問わない。つまり、ネットワーク400は、インターネットやLAN(Local Area Network)、WAN(Wide Area Network)、若しくはこれらの複合により実現してもよい。
また、ネットワーク400に接続されるカメラサーバ装置200およびクライアント装置300の台数は、図1に示す数に限定されない。つまり、カメラサーバ装置200およびクライアント装置300の少なくとも一方が、複数台ネットワーク400に接続されていてもよい。
また、ネットワーク400に接続されるカメラサーバ装置200およびクライアント装置300の台数は、図1に示す数に限定されない。つまり、カメラサーバ装置200およびクライアント装置300の少なくとも一方が、複数台ネットワーク400に接続されていてもよい。
図2は、カメラサーバ装置200のハードウェア構成例である。
カメラサーバ装置200は、CPU201、一次記憶装置202、二次記憶装置203、画像キャプチャI/F204、画像センサ205、およびネットワークI/F206を備える。これらの各部は、内部バス207を介して相互に接続されている。
CPU201は、カメラサーバ装置200における動作を統括的に制御する。一次記憶装置202は、RAMに代表される書き込み可能な高速の記憶装置である。一次記憶装置202は、OSや各種プログラムおよび各種データがロードされる記憶装置であり、OSや各種プログラムの作業領域としても使用することができる。
カメラサーバ装置200は、CPU201、一次記憶装置202、二次記憶装置203、画像キャプチャI/F204、画像センサ205、およびネットワークI/F206を備える。これらの各部は、内部バス207を介して相互に接続されている。
CPU201は、カメラサーバ装置200における動作を統括的に制御する。一次記憶装置202は、RAMに代表される書き込み可能な高速の記憶装置である。一次記憶装置202は、OSや各種プログラムおよび各種データがロードされる記憶装置であり、OSや各種プログラムの作業領域としても使用することができる。
二次記憶装置203は、フラッシュメモリ、HDD、SDカード等に代表される不揮発性の記憶装置である。二次記憶装置203は、OSや各種プログラムおよび各種データの永続的な記憶領域として使用される。また、二次記憶装置203は、短期的な各種データの記憶領域としても使用することができる。CPU201は、二次記憶装置203から必要なプログラム等を一次記憶装置202にロードし、当該プログラム等を実行することで各種の機能動作を実現する。カメラサーバ装置200の機能や処理の詳細については後述する。
画像キャプチャI/F204には、CCDやCMOS等の半導体素子および周辺回路を備える画像センサ205が接続され、画像センサ205から取得した画像データ(映像フレーム)を所定のフォーマットに変換・圧縮して一次記憶装置202に転送する。
ネットワークI/F205は、ネットワーク400と接続するためのインタフェースであり、Ethernet等の通信媒体を介してクライアント300等との通信を行う。
画像キャプチャI/F204には、CCDやCMOS等の半導体素子および周辺回路を備える画像センサ205が接続され、画像センサ205から取得した画像データ(映像フレーム)を所定のフォーマットに変換・圧縮して一次記憶装置202に転送する。
ネットワークI/F205は、ネットワーク400と接続するためのインタフェースであり、Ethernet等の通信媒体を介してクライアント300等との通信を行う。
図3は、カメラサーバ装置200の機能構成の一例を示す機能ブロック図である。
この図3に示すように、カメラサーバ装置200は、撮像処理部211と、一時記憶部212と、配信処理部213と、帯域測定部214と、ビットレート制御部215と、を備える。
撮像処理部211は、映像を撮像する。具体的には、撮像処理部211は、画像キャプチャI/F204を経由して一次記憶装置202に転送された映像フレームを取得し、符号化処理を行う。
一時記憶部212は、撮像処理部211において撮像された映像フレームを一時的に記憶する。例えば、一時記憶部212は、映像フレームを一時的に図1に示す一次記憶装置202等に蓄積する。なお、一次記憶装置202等に蓄積された複数の映像フレームからなる映像データ(以下、単に「映像」ともいう。)は、配信完了後に一次記憶装置202等から削除される。
この図3に示すように、カメラサーバ装置200は、撮像処理部211と、一時記憶部212と、配信処理部213と、帯域測定部214と、ビットレート制御部215と、を備える。
撮像処理部211は、映像を撮像する。具体的には、撮像処理部211は、画像キャプチャI/F204を経由して一次記憶装置202に転送された映像フレームを取得し、符号化処理を行う。
一時記憶部212は、撮像処理部211において撮像された映像フレームを一時的に記憶する。例えば、一時記憶部212は、映像フレームを一時的に図1に示す一次記憶装置202等に蓄積する。なお、一次記憶装置202等に蓄積された複数の映像フレームからなる映像データ(以下、単に「映像」ともいう。)は、配信完了後に一次記憶装置202等から削除される。
配信処理部213は、ネットワーク400を介してクライアント装置300との間でデータの送受信を行う。例えば、配信処理部213は、クライアント装置300から配信開始要求を受信すると、一時記憶部212に保存されている映像を、要求されたフォーマットで配信する。
帯域測定部214は、配信処理部213が配信している単位時間当たりのデータ量である使用帯域と、クライアント装置300との間のネットワーク帯域と、を測定する。ここで、帯域測定部214は、送信パケットのRTT(Round Trip Time)などからクライアント装置300との間のネットワーク帯域を測定することができる。なお、ネットワーク帯域の測定は、カメラサーバ装置200だけでなく、クライアント装置300と連携して測定することも可能である。
帯域測定部214は、配信処理部213が配信している単位時間当たりのデータ量である使用帯域と、クライアント装置300との間のネットワーク帯域と、を測定する。ここで、帯域測定部214は、送信パケットのRTT(Round Trip Time)などからクライアント装置300との間のネットワーク帯域を測定することができる。なお、ネットワーク帯域の測定は、カメラサーバ装置200だけでなく、クライアント装置300と連携して測定することも可能である。
ビットレート制御部215は、帯域測定部214により測定された使用帯域とネットワーク帯域とを参照し、ネットワーク帯域から使用帯域を差し引いた使用可能帯域を算出する。ここで、使用可能帯域は、どの程度ネットワーク帯域に余裕があるかを示す指標である。ビットレート制御部215は、算出された使用可能帯域と所定の閾値とを比較し、使用可能帯域が下限閾値以下である場合は、ネットワーク帯域に余裕がないと判定し、使用可能帯域が上限閾値以上である場合は、ネットワーク帯域に余裕があると判定する。
そして、ビットレート制御部215は、使用可能帯域が下限閾値以下であり、ネットワーク帯域に余裕がないと判定した場合には、配信する映像のデータ量を減少させる、つまり、映像のビットレートを減らすように制御する。一方、ビットレート制御部215は、使用可能帯域が上限閾値以上であり、ネットワーク帯域に余裕があると判定した場合には、配信する映像のデータ量を増加させる、つまり、映像のビットレートを増やすように制御する。
そして、ビットレート制御部215は、使用可能帯域が下限閾値以下であり、ネットワーク帯域に余裕がないと判定した場合には、配信する映像のデータ量を減少させる、つまり、映像のビットレートを減らすように制御する。一方、ビットレート制御部215は、使用可能帯域が上限閾値以上であり、ネットワーク帯域に余裕があると判定した場合には、配信する映像のデータ量を増加させる、つまり、映像のビットレートを増やすように制御する。
本実施形態では、ビットレート制御部215は、測定した使用可能帯域と、映像の許容する画質範囲とに基づいて、映像の画質情報を制御することで、配信する映像のデータ量(配信データ量)を制御する。ここで、画質情報は、映像の画質(品質)を決定づける情報であり、映像の符号化に用いる量子化値(Q値)、映像を配信するフレームレートおよび映像の解像度を含む。
ビットレート制御部215は、まず、配信処理部213により配信している映像の画質情報を取得する。ビットレート制御部215は、複数取得された画質情報のうちの1つの画質情報が許容範囲内にあるか否かを判定することで、映像の画質が許容する画質範囲内にあるか否かを判定する。そして、上記1つの画質情報が許容範囲内にある場合には、ビットレート制御部215は、当該許容範囲内で上記1つの画質情報の設定を変更して配信データ量を増減すべき方向に変更する。
ビットレート制御部215は、まず、配信処理部213により配信している映像の画質情報を取得する。ビットレート制御部215は、複数取得された画質情報のうちの1つの画質情報が許容範囲内にあるか否かを判定することで、映像の画質が許容する画質範囲内にあるか否かを判定する。そして、上記1つの画質情報が許容範囲内にある場合には、ビットレート制御部215は、当該許容範囲内で上記1つの画質情報の設定を変更して配信データ量を増減すべき方向に変更する。
本実施形態では、上記1つの画質情報がQ値であり、Q値が許容範囲内にあるか否か、具体的には、Q値が許容範囲の上限値から下限値までの間にあるか否かを判定することで、映像の画質が許容する画質範囲内にあるか否かを判定する。そして、ビットレート制御部215は、Q値が許容範囲の上限値に達していない場合には、許容範囲内でQ値を上限値へ向けて変更し、Q値が許容範囲の下限値に達していない場合には、許容範囲内でQ値を下限値へ向けて変更する。
一方、ビットレート制御部215は、上記1つの画質情報(本実施形態では、Q値)が許容範囲外にあると判定した場合には、他の画質情報の設定を変更してデータ量を増減すべき方向に変更する。ここで、本実施形態では、上記他の画質情報は、フレームレートおよび解像度である。ビットレート制御部215は、まずフレームレートを変更してQ値が上記許容範囲内を収まるように制御し、フレームレートを変更してもQ値が上記許容範囲内に収まらない場合には、解像度をも変更してQ値が上記許容範囲内に収まるように制御する。
なお、本実施形態では、使用可能帯域が下限閾値以下または上限閾値以上になった場合に、即座にビットレートを増減させる場合について説明する。しかしながら、使用可能帯域が下限閾値以下または上限閾値以上である状態が一定時間継続した場合に、ビットレートを増減させるようにしてもよい。
また、本実施形態では、使用帯域とネットワーク帯域とを使用してネットワーク状態を監視し、ネットワーク帯域に余裕があるか否かを判定する場合について説明する。しかしながら、使用帯域およびネットワーク帯域以外の情報も使用してネットワーク状態を監視するようにしてもよい。例えば、パケットロス回数、パケットの遅延時間またはパケット順序入替回数、更にはその状態が一定時間続いたこと等を考慮して、ネットワーク帯域に余裕があるか否かを判定するようにしてもよい。
また、本実施形態では、使用帯域とネットワーク帯域とを使用してネットワーク状態を監視し、ネットワーク帯域に余裕があるか否かを判定する場合について説明する。しかしながら、使用帯域およびネットワーク帯域以外の情報も使用してネットワーク状態を監視するようにしてもよい。例えば、パケットロス回数、パケットの遅延時間またはパケット順序入替回数、更にはその状態が一定時間続いたこと等を考慮して、ネットワーク帯域に余裕があるか否かを判定するようにしてもよい。
この図3に示すカメラサーバ装置200の各要素の一部または全部の機能は、図2に示すCPU201がプログラムを実行することで実現することができる。ただし、図3に示すカメラサーバ装置200の各要素のうち少なくとも一部が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、CPU201の制御に基づいて動作する。
なお、本実施形態では、映像配信装置であるカメラサーバ装置200が、撮像手段である画像キャプチャI/F204および画像センサ205を備える場合について説明した。しかしながら、カメラサーバ装置200とは別装置が上記撮像手段を備え、映像配信装置であるカメラサーバ装置200は撮像手段を備える別装置から映像フレームを取得する構成であってもよい。
なお、本実施形態では、映像配信装置であるカメラサーバ装置200が、撮像手段である画像キャプチャI/F204および画像センサ205を備える場合について説明した。しかしながら、カメラサーバ装置200とは別装置が上記撮像手段を備え、映像配信装置であるカメラサーバ装置200は撮像手段を備える別装置から映像フレームを取得する構成であってもよい。
図4は、本実施形態における映像配信処理を示す配信シーケンスの例である。
まず、クライアント装置300は、カメラサーバ装置200に対して配信開始要求を送信する(S1)。配信開始要求を受けたカメラサーバ装置200は、レスポンスとして映像データ1−1を送信し、クライアント装置300は、カメラサーバ装置200が送信した映像データ1−1を受信する(S2)。
なお、この図4において、カメラサーバ装置200からの映像データ送信に関する送達確認のパケットについては特に図示していないが、クライアント装置300から送信されているものとする。
まず、クライアント装置300は、カメラサーバ装置200に対して配信開始要求を送信する(S1)。配信開始要求を受けたカメラサーバ装置200は、レスポンスとして映像データ1−1を送信し、クライアント装置300は、カメラサーバ装置200が送信した映像データ1−1を受信する(S2)。
なお、この図4において、カメラサーバ装置200からの映像データ送信に関する送達確認のパケットについては特に図示していないが、クライアント装置300から送信されているものとする。
カメラサーバ装置200は、映像データ1−1に続いて映像データ1−2、映像データ1−3を生成すると、これらを順次クライアント装置300に配信する。そして、クライアント装置300は、カメラサーバ装置200が送信した映像データ1−2、映像データ1−3を受信する(S3、S4)。
その後、何等かの理由によりネットワーク状態が不安定になると、続く映像データ1−4、映像データ1−5が連続でパケットロスし、送達確認がとれない状態となったものとする(S5、S6)。この場合、カメラサーバ装置200は、送達確認のタイムアウトをもって、映像データ1−4と映像データ1−5とを再送する(S7、S8)。
その後、何等かの理由によりネットワーク状態が不安定になると、続く映像データ1−4、映像データ1−5が連続でパケットロスし、送達確認がとれない状態となったものとする(S5、S6)。この場合、カメラサーバ装置200は、送達確認のタイムアウトをもって、映像データ1−4と映像データ1−5とを再送する(S7、S8)。
この再送処理によって送信できない時間帯ができるため、ネットワーク帯域が減少し、使用可能帯域も減少する。このとき、使用可能帯域が下限閾値以下まで減少した場合には、カメラサーバ装置200は、映像のビットレートを減らし、更なるネットワーク帯域の変動に備える。つまり、カメラサーバ装置200は、続く映像データ2−6、映像データ207は、ビットレートを減少させて配信する(S9、S10)。
本配信シーケンスの概念は、HTTPを用いたMP4フラグメント配信やMPEG−DASH/HLSのようなHTTPアダプティブストリーミングから、RTP/RTCPを用いた配信にまで適用することが可能である。
本配信シーケンスの概念は、HTTPを用いたMP4フラグメント配信やMPEG−DASH/HLSのようなHTTPアダプティブストリーミングから、RTP/RTCPを用いた配信にまで適用することが可能である。
図5(a)は、本実施形態における配信条件リストの例である。
本実施形態では、カメラサーバ装置200は、上述したように、ネットワークの使用可能帯域と、映像の許容する画質範囲とに基づいて、配信する映像のデータ量(配信データ量)を制御する。具体的には、カメラサーバ装置200は、ネットワーク帯域に余裕があり配信データ量を増加可能であると判断される場合は、映像画質を許容する画質範囲に収めながら、Q値、フレームレートおよび解像度の少なくとも1つを変更して配信データ量を増加させる。一方、カメラサーバ装置200は、ネットワーク帯域に余裕がなく配信データ量を減少させる必要があると判断される場合は、映像画質を許容する画質範囲に収めながら、Q値、フレームレートおよび解像度の少なくとも1つを変更して配信データ量を減少させる。
本実施形態では、カメラサーバ装置200は、上述したように、ネットワークの使用可能帯域と、映像の許容する画質範囲とに基づいて、配信する映像のデータ量(配信データ量)を制御する。具体的には、カメラサーバ装置200は、ネットワーク帯域に余裕があり配信データ量を増加可能であると判断される場合は、映像画質を許容する画質範囲に収めながら、Q値、フレームレートおよび解像度の少なくとも1つを変更して配信データ量を増加させる。一方、カメラサーバ装置200は、ネットワーク帯域に余裕がなく配信データ量を減少させる必要があると判断される場合は、映像画質を許容する画質範囲に収めながら、Q値、フレームレートおよび解像度の少なくとも1つを変更して配信データ量を減少させる。
本実施形態では、カメラサーバ装置200は、許容する画質範囲を表すQ値の許容範囲、フレームレート、解像度の組からなる配信条件が複数設定されたリストである配信条件リストを用いて、ネットワークの使用可能帯域に応じた配信条件を選択する。
図5(a)は、配信条件リストの一例である。この図5(a)に示す配信条件リストは、0から11までの12段階の配信条件が設定されている場合の例である。図5(a)に示す配信条件リストの「画質範囲」の数値は、Q値の許容範囲を示す数値であり、右がQ値の上限値、左がQ値の下限値である。Q値は、小さい値の方が高画質であり、大きい値の方が低画質であることを意味している。
この図5(a)に示す配信条件リストでは、No.0の配信条件が、解像度:3840px×2160px、フレームレート:60fps、画質範囲:30−16に設定されており、No.0から配信データ量の大きい順に配列されている。
図5(a)は、配信条件リストの一例である。この図5(a)に示す配信条件リストは、0から11までの12段階の配信条件が設定されている場合の例である。図5(a)に示す配信条件リストの「画質範囲」の数値は、Q値の許容範囲を示す数値であり、右がQ値の上限値、左がQ値の下限値である。Q値は、小さい値の方が高画質であり、大きい値の方が低画質であることを意味している。
この図5(a)に示す配信条件リストでは、No.0の配信条件が、解像度:3840px×2160px、フレームレート:60fps、画質範囲:30−16に設定されており、No.0から配信データ量の大きい順に配列されている。
カメラサーバ装置200は、配信データ量を増加させる場合で、配信している映像のQ値が設定中の配信条件に含まれる許容範囲内にある場合には、当該許容範囲内でQ値を小さくすることでデータ量を増加させる。Q値が上限値に到達した場合には、配信条件リストからデータ量が増加する別の組に定義されている配信条件を選択し、選択した配信条件をもとにフレームレートおよび解像度を上げる。
同様に、配信データ量を減少させる場合で、配信している映像のQ値が設定中の配信条件に含まれる許容範囲内にある場合には、当該許容範囲内でQ値を大きくすることでデータ量を減少させる。Q値が下限値に到達した場合には、配信条件リストからデータ量が減少する別の組に定義されている配信条件を選択し、選択した配信条件をもとにフレームレートおよび解像度を下げる。
同様に、配信データ量を減少させる場合で、配信している映像のQ値が設定中の配信条件に含まれる許容範囲内にある場合には、当該許容範囲内でQ値を大きくすることでデータ量を減少させる。Q値が下限値に到達した場合には、配信条件リストからデータ量が減少する別の組に定義されている配信条件を選択し、選択した配信条件をもとにフレームレートおよび解像度を下げる。
以下、No.0の配信条件を用いて映像配信を始めた後に、ネットワーク帯域が変動するなどの理由により使用可能帯域が減少していった場合の制御について説明する。
カメラサーバ装置200は、使用可能帯域が減少するに従って、配信データ量を減少させるために現在撮像している映像の画質を徐々に下げる。つまり、Q値を徐々に大きくする。そして、Q値が許容範囲の下限値である30に到達すると、画質を確保するために、No.0の配信条件から1段下のNo.1の配信条件に変更する。つまり、フレームレートを50fpsに下げる。No.1の配信条件が設定されると、フレームレートが下がって配信データ量が減るため、画質を回復させ、Q値が許容範囲30−16に収まるようにすることができる。
この後、更に使用可能帯域が減少し、再度Q値が許容範囲の下限値である30に到達すると、No.2の配信条件に変更する。つまり、フレームレートを30fpsに下げて、Q値を許容範囲30−16に収めるようにする。
カメラサーバ装置200は、使用可能帯域が減少するに従って、配信データ量を減少させるために現在撮像している映像の画質を徐々に下げる。つまり、Q値を徐々に大きくする。そして、Q値が許容範囲の下限値である30に到達すると、画質を確保するために、No.0の配信条件から1段下のNo.1の配信条件に変更する。つまり、フレームレートを50fpsに下げる。No.1の配信条件が設定されると、フレームレートが下がって配信データ量が減るため、画質を回復させ、Q値が許容範囲30−16に収まるようにすることができる。
この後、更に使用可能帯域が減少し、再度Q値が許容範囲の下限値である30に到達すると、No.2の配信条件に変更する。つまり、フレームレートを30fpsに下げて、Q値を許容範囲30−16に収めるようにする。
更に使用可能帯域が減少し、Q値が許容範囲の下限値である30に到達すると、No.3の配信条件に変更する。このNo.3の配信条件では、解像度を1920×1080に下げる。解像度が下がると配信データ量が減るため、画質を回復させ、Q値が許容範囲30−16に収まるようにすることができる。その後、使用可能帯域が引き続き減り続けた場合は、最終的にはNo.11の配信条件まで変更される。
このように、Q値が各段階で定めた許容範囲内に収まるように制御し、そこで収まらない場合は段階を落としてフレームレートを落とし、それでも収まらない場合は解像度を落とす制御を行う。したがって、画質を許容する画質範囲に収めながら、配信データ量を減少させることができる。
このように、Q値が各段階で定めた許容範囲内に収まるように制御し、そこで収まらない場合は段階を落としてフレームレートを落とし、それでも収まらない場合は解像度を落とす制御を行う。したがって、画質を許容する画質範囲に収めながら、配信データ量を減少させることができる。
次に、No.3の配信条件を用いて映像配信を始めた後に、ネットワーク帯域が変動するなどの理由により使用可能帯域が増加していった場合の制御について説明する。
No.3の配信条件は、解像度が1920×1080、フレームレートが30fps、Q値の許容範囲が30−16である。カメラサーバ装置200は、使用可能帯域が増えるに従って、配信データ量を増加させるために現在撮像している映像の画質を徐々に上げる。つまり、Q値を徐々に小さくする。そして、Q値が許容範囲の上限値である16に到達すると、No.3の配信条件から1段上のNo.2の配信条件に変更する。つまり、解像度を3840×2160に上げる。この場合、解像度が上がって配信データ量が増えるため、画質を下げ、Q値が許容範囲30−16に収まるようにすることができる。
No.3の配信条件は、解像度が1920×1080、フレームレートが30fps、Q値の許容範囲が30−16である。カメラサーバ装置200は、使用可能帯域が増えるに従って、配信データ量を増加させるために現在撮像している映像の画質を徐々に上げる。つまり、Q値を徐々に小さくする。そして、Q値が許容範囲の上限値である16に到達すると、No.3の配信条件から1段上のNo.2の配信条件に変更する。つまり、解像度を3840×2160に上げる。この場合、解像度が上がって配信データ量が増えるため、画質を下げ、Q値が許容範囲30−16に収まるようにすることができる。
それ以降も使用可能帯域の増加に合わせてQ値を小さくしていき、Q値が許容範囲の上限値である16に到達すると、1段上のNo.1の配信条件に変更する。つまり、フレームレートを50fpsに上げる。このとき、フレームレートが上がった分、画質を下げる。それ以降も使用可能帯域が増加に合わせてQ値を小さくしていき、Q値が許容範囲の上限値である16に到達すると、1段上のNo.0の配信条件に変更する。つまり、配信条件を最高画質となる解像度3840×2160、フレームレート60fpsに変更し、画質範囲を30−16に収まるように制御する。
このように、Q値が各段階で定めた許容範囲内に収まるように制御し、そこで収まらない場合は段階を上げてフレームレートを上げ、それでも収まらない場合は解像度を上げる制御を行う。したがって、画質を許容する画質範囲に収めながら、配信データ量を増加させることができる。
このように、Q値が各段階で定めた許容範囲内に収まるように制御し、そこで収まらない場合は段階を上げてフレームレートを上げ、それでも収まらない場合は解像度を上げる制御を行う。したがって、画質を許容する画質範囲に収めながら、配信データ量を増加させることができる。
図5(b)は、図5(a)に示す配信条件リストによって設定された12段階の配信条件がどのように分布するのかを示した図である。この図5(b)において、横軸は画質を表すQ値、縦軸はデータ量である。
図5(b)において、一番上の実線で示す曲線は、No.0の配信条件(解像度3840×2160、フレームレート60fps、画質範囲30−16)を示している。また、上から2番目の実線で示す曲線は、No.1の配信条件(解像度3840×2160、フレームレート50fps、画質範囲30−16)を示している。さらに、その下の実線で示す曲線は、No.2の配信条件(解像度3840×2160、フレームレート30fps、画質範囲30−16)を示している。その下の破線で示す曲線は、No.3の配信条件(解像度1920×1080、フレームレート30fps、画質範囲30−16)を示している。以降、配信条件リストに従って、No.11の配信条件(解像度640×360、フレームレート1fps、画質範囲40−16)までを示している。
図5(b)において、一番上の実線で示す曲線は、No.0の配信条件(解像度3840×2160、フレームレート60fps、画質範囲30−16)を示している。また、上から2番目の実線で示す曲線は、No.1の配信条件(解像度3840×2160、フレームレート50fps、画質範囲30−16)を示している。さらに、その下の実線で示す曲線は、No.2の配信条件(解像度3840×2160、フレームレート30fps、画質範囲30−16)を示している。その下の破線で示す曲線は、No.3の配信条件(解像度1920×1080、フレームレート30fps、画質範囲30−16)を示している。以降、配信条件リストに従って、No.11の配信条件(解像度640×360、フレームレート1fps、画質範囲40−16)までを示している。
ネットワーク帯域が連続して減少していくような環境では、設定画質は、許容する画質範囲の下限周辺を遷移する。つまり、図5(b)の左側(Q値の大きい側)に集まりながら下のリストのフレームレートと解像度に遷移する。一方、ネットワーク帯域が連続して増加していくような環境では、設定画質は、許容する画質範囲の上限周辺を遷移する。つまり、図5(b)の右側(Q値の小さい側)に集まりながら上のリストのフレームレートと解像度に遷移する。そして、ネットワーク帯域が安定している環境では、リストの上下遷移はなく、特定の配信条件でのQ値の許容範囲の上下限値内の遷移だけで収まるような制御になる。
このように、カメラサーバ装置200は、許容する画質範囲(Q値の許容範囲)と、フレームレートと、解像度とを含む配信条件が複数設定された配信条件リストを有する。カメラサーバ装置200は、この配信条件リストを用いることで、ネットワークの使用可能帯域に応じて、一定の画質範囲に収まる最大解像度および最大フレームレートを容易に選択することが可能となる。
なお、配信条件リストは、図5(a)に示す配信条件リストに限定されるものではない。図5(a)に示す配信条件リストは、配信データ量の大きい順に配信条件を配列させた場合、フレームレートと解像度とが交互に下がっていくように設定されており、フレームレートと解像度とは同等の優先度を有する。しかしながら、配信条件リストは、いずれかのパラメータが下がりにくく設定されていてもよい。つまり、優先度を有する配信条件リストであってもよい。
図6(a)は、解像度優先の配信条件リストの例である。
この図6(a)に示す配信条件リストにおいて、No.0〜No.6までは解像度3840×2160を維持し、フレームレートを60fpsから順に7.5fpsまで下げている。また、No.7〜No.9までは解像度1920×1080を維持し、フレームレートを5fpsまで下げている。そして、No.10、No.11では解像度を1280×720とし、フレームレートを1まで下げている。
このように、解像度が下がりにくく、フレームレートが下がりやすい解像度優先の配信条件リストを用いて配信条件を設定してもよい。フレームレートを下がりやすくして解像度を大きな値に維持することで、フレームレートは高くなくてもよいが細部などが鮮明に見える高解像度な映像配信を実現することができる。
この図6(a)に示す配信条件リストにおいて、No.0〜No.6までは解像度3840×2160を維持し、フレームレートを60fpsから順に7.5fpsまで下げている。また、No.7〜No.9までは解像度1920×1080を維持し、フレームレートを5fpsまで下げている。そして、No.10、No.11では解像度を1280×720とし、フレームレートを1まで下げている。
このように、解像度が下がりにくく、フレームレートが下がりやすい解像度優先の配信条件リストを用いて配信条件を設定してもよい。フレームレートを下がりやすくして解像度を大きな値に維持することで、フレームレートは高くなくてもよいが細部などが鮮明に見える高解像度な映像配信を実現することができる。
図6(b)は、フレームレート優先の配信条件リストの例である。
この図6(b)に示す配信条件リストにおいて、No.0〜No.3まではフレームレート60fpsを維持し、解像度を3840×2160から1920×1080まで下げている。また、No.4〜No.7まではフレームレート50fpsを維持し、解像度を1920×1080から640×360まで下げている。そして、No.8〜No.11ではフレームレート30fpsを維持し、解像度を640×360から320×180まで下げている。
このように、フレームレートが下がりにくく、解像度が下がりやすいフレームレート優先の配信条件リストを用いて配信条件を設定してもよい。解像度を下がりやすくしてフレームレートを大きな値に維持することで、細部は鮮明でなくても構わないが、速い動きを見逃したくない高フレームレート配信を実現することができる。
この図6(b)に示す配信条件リストにおいて、No.0〜No.3まではフレームレート60fpsを維持し、解像度を3840×2160から1920×1080まで下げている。また、No.4〜No.7まではフレームレート50fpsを維持し、解像度を1920×1080から640×360まで下げている。そして、No.8〜No.11ではフレームレート30fpsを維持し、解像度を640×360から320×180まで下げている。
このように、フレームレートが下がりにくく、解像度が下がりやすいフレームレート優先の配信条件リストを用いて配信条件を設定してもよい。解像度を下がりやすくしてフレームレートを大きな値に維持することで、細部は鮮明でなくても構わないが、速い動きを見逃したくない高フレームレート配信を実現することができる。
次に、本実施形態におけるビットレート制御について詳細に説明する。
図7は、本実施形態におけるカメラサーバ装置200のビットレート制御部215の動作を示すフローチャートである。この図7の処理は、クライアント装置300から配信開始要求を受信したタイミングで開始される。カメラサーバ装置200は、CPU201が必要なプログラムを読み出して実行することにより、図7に示す各処理を実現することができる。以降、アルファベットSはフローチャートにおけるステップを意味するものとする。
図7は、本実施形態におけるカメラサーバ装置200のビットレート制御部215の動作を示すフローチャートである。この図7の処理は、クライアント装置300から配信開始要求を受信したタイミングで開始される。カメラサーバ装置200は、CPU201が必要なプログラムを読み出して実行することにより、図7に示す各処理を実現することができる。以降、アルファベットSはフローチャートにおけるステップを意味するものとする。
まずS21において、ビットレート制御部215は、配信条件リストを取得する。ビットレート制御部215は、予めカメラサーバ装置200が保持している特定の配信条件リストを取得してもよいし、クライアント装置300から指示された優先度情報に従って、複数の配信条件リストの中から選択した配信条件リストを取得してもよい。優先度情報は、上述した解像度優先やフレームレート優先といった情報であり、例えば配信開始要求時にクライアント装置300から取得することができる。配信条件リストの具体例は、図5(a)や図6(a)、図6(b)で説明したとおりである。
なお、ビットレート制御部215は、クライアント装置300が表示可能な画像の最大解像度および最大フレームレートに応じた配信条件リストを作成するようにしてもよい。この場合、配信条件として設定される解像度の上限およびフレームレートの上限は、クライアント装置300が表示可能な画像の最大解像度および最大フレームレートとすることができる。
なお、ビットレート制御部215は、クライアント装置300が表示可能な画像の最大解像度および最大フレームレートに応じた配信条件リストを作成するようにしてもよい。この場合、配信条件として設定される解像度の上限およびフレームレートの上限は、クライアント装置300が表示可能な画像の最大解像度および最大フレームレートとすることができる。
映像の配信処理は配信処理部213が実施し、クライアント装置300との間のネットワーク帯域や配信の使用帯域の測定は帯域測定部214が実施する。このため、S22では、ビットレート制御部215は、配信処理が行われて必要な帯域情報が生成されるまで一定時間待機する。
そして、一定時間が経過した後、S23においてビットレート制御部215は、帯域測定部214により測定されたクライアント装置300との間のネットワーク帯域と現在の映像配信処理で使用している使用帯域とを取得する。
次にS24では、ビットレート制御部215は、S23において取得されたネットワーク帯域から現在の使用帯域を差し引いて、どの程度ネットワーク帯域に余裕があるのかを示す使用可能帯域を算出する。
そして、一定時間が経過した後、S23においてビットレート制御部215は、帯域測定部214により測定されたクライアント装置300との間のネットワーク帯域と現在の映像配信処理で使用している使用帯域とを取得する。
次にS24では、ビットレート制御部215は、S23において取得されたネットワーク帯域から現在の使用帯域を差し引いて、どの程度ネットワーク帯域に余裕があるのかを示す使用可能帯域を算出する。
次に、S25において、ビットレート制御部215は、ネットワーク帯域に余裕があるかどうかを判断するために、使用可能帯域が上下限値のどの範囲にあるかをチェックする。具体的には、使用可能帯域が上限閾値以上であるか、下限閾値以下であるか、上限閾値から下限閾値までの間にあるかを判定する。ここで、使用可能帯域の上限値は50Mbps、下限値は10Mbpsとすることができる。
なお、ここでは、使用可能帯域の上限閾値を50Mbps、下限閾値を30Mbpsに設定したが、使用可能帯域の上下限閾値は、無線LANや4G回線などネットワーク経路や回線種類を考慮して決定してもよい。また、使用可能帯域の上下限閾値は、動的に変えてもよい。
なお、ここでは、使用可能帯域の上限閾値を50Mbps、下限閾値を30Mbpsに設定したが、使用可能帯域の上下限閾値は、無線LANや4G回線などネットワーク経路や回線種類を考慮して決定してもよい。また、使用可能帯域の上下限閾値は、動的に変えてもよい。
そして、使用可能帯域が下限閾値よりも大きく上限閾値よりも小さい場合には、ネットワーク帯域が安定しており、配信データ量を変更する必要はないと判断してS22に戻る。そして、再度帯域情報が更新されるのを待つ。
一方、使用可能帯域が下限閾値以下である場合には、ネットワーク帯域に余裕がなく、配信データ量を減少する必要があると判断してS26に移行し、配信データ量を減少するためのデータ量減少処理を実行してからS22に戻る。また、使用可能帯域が上限閾値以上である場合には、ネットワーク帯域に余裕があり、配信データ量を増加することができると判断してS27に移行し、配信データ量を増加するためのデータ量増加処理を実行してからS22に戻る。
一方、使用可能帯域が下限閾値以下である場合には、ネットワーク帯域に余裕がなく、配信データ量を減少する必要があると判断してS26に移行し、配信データ量を減少するためのデータ量減少処理を実行してからS22に戻る。また、使用可能帯域が上限閾値以上である場合には、ネットワーク帯域に余裕があり、配信データ量を増加することができると判断してS27に移行し、配信データ量を増加するためのデータ量増加処理を実行してからS22に戻る。
このように、ビットレート制御部215は、カメラサーバ装置200とクライアント装置300との間のネットワーク帯域と使用帯域とに基づいて、ネットワーク帯域に余裕があるかどうかを判定する。そして、ネットワーク帯域に余裕がないと判定した場合は、配信データ量を減らすように制御し、ネットワーク帯域に余裕があると判定した場合は配信データ量を増やすように制御する。
配信データ量の増減は、Q値、フレームレートおよび解像度の少なくとも1つを変更することによって実現する。以下、データ量減少処理およびデータ量増加処理の詳細について、図8(a)および図8(b)を参照しながら説明する。
配信データ量の増減は、Q値、フレームレートおよび解像度の少なくとも1つを変更することによって実現する。以下、データ量減少処理およびデータ量増加処理の詳細について、図8(a)および図8(b)を参照しながら説明する。
図8(a)は、図7のS26において実施されるデータ量減少処理の手順を示すフローチャートである。
まずS26aにおいて、ビットレート制御部215は、撮像処理部211が生成している映像フレームから画質情報としてQ値を取得し、S26bに移行する。S26bでは、ビットレート制御部215は、現在の画質が現在の配信条件で定義されている許容する画質範囲に入っているか否かを判定する。具体的には、ビットレート制御部215は、現在の画質が許容する画質の下限(下限画質)よりも良いか、つまり、Q値が許容範囲の下限値よりも小さいか否かを判定する。例えば、図5(a)の配信条件リストのNo.0の配信条件で配信している場合には、現在のQ値が下限値30よりも小さいか否かを判定する。
まずS26aにおいて、ビットレート制御部215は、撮像処理部211が生成している映像フレームから画質情報としてQ値を取得し、S26bに移行する。S26bでは、ビットレート制御部215は、現在の画質が現在の配信条件で定義されている許容する画質範囲に入っているか否かを判定する。具体的には、ビットレート制御部215は、現在の画質が許容する画質の下限(下限画質)よりも良いか、つまり、Q値が許容範囲の下限値よりも小さいか否かを判定する。例えば、図5(a)の配信条件リストのNo.0の配信条件で配信している場合には、現在のQ値が下限値30よりも小さいか否かを判定する。
そして、ビットレート制御部215は、現在の画質が下限画質に達していない、つまり現在のQ値が下限値30よりも小さいと判定した場合は、まだ画質を低下させることができると判断し、S26cに移行する。S26cでは、ビットレート制御部215は、許容する画質範囲内で画質を下げるために許容範囲内でQ値を変更し、図8(a)のデータ量減少処理を終了する。なお、ここではQ値を指定して画質を下げる場合について説明したが、Q値を指定せずに、目標となるビットレート値(目標符号量)のみを下げてQ値は撮像処理時に自動で制御してもよい。
一方、S26bにおいて、ビットレート制御部215が、現在の画質が下限画質に達している、つまり現在のQ値が下限値30以上であると判定した場合は、これ以上画質を低下させることができないと判断してS26dに移行する。そして、S26dでは、ビットレート制御部215は、Q値を変更するのではなく、配信条件リストを1段階下の配信条件、つまり配信データ量が減少する配信条件に変更して図8(a)のデータ量減少処理を終了する。例えば、図5(a)のNo.0の配信条件で配信している場合には、配信条件を、解像度3840×2160、フレームレート60fpsから、1段階下のNo.1の配信条件である解像度3840×2160、フレームレート50fpsへ変更する。
図8(b)は、図7のS27において実施されるデータ量増加処理の手順を示すフローチャートである。
まずS27aにおいて、ビットレート制御部215は、撮像処理部211が生成している映像フレームから画質情報としてQ値を取得し、S27bに移行する。S27bでは、ビットレート制御部215は、現在の画質が現在の配信条件で定義されている許容する画質範囲に入っているか否かを判定する。具体的には、ビットレート制御部215は、現在の画質が許容する画質の上限(上限画質)に達しているか、つまり、Q値が許容範囲の上限値よりも大きいか否かを判定する。例えば、図5(a)の配信条件リストのNo.1の配信条件で配信している場合には、現在のQ値が上限値16よりも大きいか否かを判定する。
まずS27aにおいて、ビットレート制御部215は、撮像処理部211が生成している映像フレームから画質情報としてQ値を取得し、S27bに移行する。S27bでは、ビットレート制御部215は、現在の画質が現在の配信条件で定義されている許容する画質範囲に入っているか否かを判定する。具体的には、ビットレート制御部215は、現在の画質が許容する画質の上限(上限画質)に達しているか、つまり、Q値が許容範囲の上限値よりも大きいか否かを判定する。例えば、図5(a)の配信条件リストのNo.1の配信条件で配信している場合には、現在のQ値が上限値16よりも大きいか否かを判定する。
そして、ビットレート制御部215は、現在の画質が上限画質に達していない、つまり現在のQ値が上限値16よりも大きいと判定した場合は、まだ画質を上げることができると判断し、S27cに移行する。S27cでは、ビットレート制御部215は、許容する画質範囲内で画質を上げるために許容範囲内でQ値を変更し、図8(b)のデータ量増加処理を終了する。なお、ここではQ値を指定して画質を上げる場合について説明したが、Q値を指定せずに、目標となるビットレート値(目標符号量)のみを上げてQ値は撮像処理時に自動で制御してもよい。
一方、S27bにおいて、ビットレート制御部215が、現在の画質が上限画質に達している、つまり現在のQ値が上限値16以下であると判定した場合は、これ以上画質を上げることができないと判断してS27dに移行する。そして、S27dでは、ビットレート制御部215は、Q値を変更するのではなく、配信条件リストを1段階上の配信条件、つまり配信データ量が増加する配信条件に変更して図8(b)のデータ量増加処理を終了する。例えば、図5(a)のNo.1の配信条件で配信している場合には、配信条件を、解像度3840×2160、フレームレート50fpsから、1段階上のNo.0の配信条件である解像度3840×2160、フレームレート60fpsへ変更する。
このように、ネットワーク帯域が不足してきた場合には、図8(a)に示すデータ量減少処理を実施して、まずはQ値を変更して許容する画質範囲内で画質を下げることで配信データ量を減少する。そして、さらに配信データ量を減少させる必要がある場合は、フレームレートおよび解像度の少なくとも一方を下げる。一方、ネットワーク帯域が充分ある場合には、図8(b)に示すデータ増加処理を実施して、まずはQ値を変更して許容する画質範囲内で画質を上げることで配信データ量を増加する。そして、さらに配信データ量を増加できる場合は、フレームレートおよび解像度の少なくとも一方を上げる。これにより、配信中にネットワーク状態が変動した場合であっても、データ落ちや配信切断することなく高品質な映像配信を継続することができる。
また、配信条件リストに解像度優先を選択すれば、高解像度で画質を一定範囲内の抑えながらフレームレートが動的に変わる映像配信を実現できる。さらに、配信条件リストにフレームレート優先を選択すれば、高フレームレートで画質を一定範囲に押さえながら解像度が動的に変わる映像配信を実現できる。
また、配信条件リストに解像度優先を選択すれば、高解像度で画質を一定範囲内の抑えながらフレームレートが動的に変わる映像配信を実現できる。さらに、配信条件リストにフレームレート優先を選択すれば、高フレームレートで画質を一定範囲に押さえながら解像度が動的に変わる映像配信を実現できる。
以上説明したように、本実施形態における映像配信装置であるカメラサーバ装置200は、ネットワーク400を介してクライアント装置300に対して映像を配信する。このとき、カメラサーバ装置200は、クライアント装置300との間のネットワーク帯域の余裕の程度を示す使用可能帯域を測定し、測定された使用可能帯域と映像の許容する画質範囲とに基づいてクライアント装置300へ配信する映像のデータ量を制御する。
したがって、映像配信中にネットワーク帯域が変動した場合であっても、適切に高品質な映像配信を継続することができる。
したがって、映像配信中にネットワーク帯域が変動した場合であっても、適切に高品質な映像配信を継続することができる。
具体的には、カメラサーバ装置200は、クライアント装置300との間の現在のネットワーク帯域と、カメラサーバ装置200が単位時間当たりに送信している映像のデータ量である使用帯域とを測定する。そして、カメラサーバ装置200は、クライアント装置300との間の現在のネットワーク帯域から現在の使用帯域を差し引くことで使用可能帯域を測定する。そのため、クライアント装置300との間のネットワーク帯域にどの程度余裕があるかを適切に把握することができ、配信する映像のデータ量を増加することができるか減少させる必要があるかを適切に判断することができる。
また、カメラサーバ装置200は、配信する映像のデータ量の増減に際し、映像の符号化に用いる量子化値(Q値)、映像を配信するフレームレートおよび映像の解像度の少なくとも1つを制御する。このように、映像配信開始後のネットワーク帯域の変動に応じて、動的にQ値やフレームレート、解像度を調整することができる。そのため、適切に配信する映像のデータ量を制御することができる。
さらに、カメラサーバ装置200は、測定した使用可能帯域が上限閾値以上となった場合、配信する映像のデータ量を増加させることができると判断し、使用可能帯域が下限閾値以下となった場合、配信する映像のデータ量を減少させる必要があると判断する。このように、使用可能帯域に余裕がある状態や使用可能帯域が不足してきた状態を適切に把握し、配信する映像のデータ量の増減を適切に判断することができる。
さらに、カメラサーバ装置200は、測定した使用可能帯域が上限閾値以上となった場合、配信する映像のデータ量を増加させることができると判断し、使用可能帯域が下限閾値以下となった場合、配信する映像のデータ量を減少させる必要があると判断する。このように、使用可能帯域に余裕がある状態や使用可能帯域が不足してきた状態を適切に把握し、配信する映像のデータ量の増減を適切に判断することができる。
また、カメラサーバ装置200は、Q値の許容範囲、映像を配信するフレームレートおよび映像の解像度を少なくとも含む配信条件のリスト(配信条件リスト)を有することができる。カメラサーバ装置200は、測定された使用可能帯域に基づいてデータ量を増減させると判断した場合、配信している映像のQ値と設定中の配信条件に含まれるQ値の許容範囲とを比較する。そして、カメラサーバ装置200は、Q値が許容範囲内にあると判断した場合には、当該許容範囲内でQ値を変更することでデータ量を増減すべき方向に変更する。一方、Q値が許容範囲外にあると判断した場合には、配信条件リストからデータ量が増減すべき方向に変更される別の配信条件を選択し、選択した配信条件に含まれるフレームレートおよび解像度に変更する。
このように、画質が許容する画質範囲内であれば、フレームレートおよび解像度は変更せず、許容範囲内でQ値を変更して配信データ量を増減させる。そのため、ネットワーク帯域が不足してきた場合には、画質を一定画質に収めつつ配信データ量を減少させ、フレーム落ちや配信切断を防止することができる。また、ネットワーク帯域が十分ある場合には、画質を上限画質まで上げることができ、高品質な映像配信を行うことができる。
さらに、ネットワーク帯域が不足してきた場合で、画質が下限画質に達している場合には、フレームレートおよび解像度の少なくとも一方を下げて配信データ量を減少させる。そのため、画質を一定画質に収めつつ配信データ量を適切に減少させることができる。同様に、ネットワーク帯域が十分ある場合で、画質が上限画質に達している場合には、フレームレートおよび解像度の少なくとも一方を上げて配信データ量を増加させる。そのため、画質を一定画質に収めつつ配信データ量を適切に増加少させることができる。
さらに、ネットワーク帯域が不足してきた場合で、画質が下限画質に達している場合には、フレームレートおよび解像度の少なくとも一方を下げて配信データ量を減少させる。そのため、画質を一定画質に収めつつ配信データ量を適切に減少させることができる。同様に、ネットワーク帯域が十分ある場合で、画質が上限画質に達している場合には、フレームレートおよび解像度の少なくとも一方を上げて配信データ量を増加させる。そのため、画質を一定画質に収めつつ配信データ量を適切に増加少させることができる。
また、配信条件リストを用いて、Q値が各段階で定めた許容範囲内に収まるように制御し、そこで収まらない場合には、配信条件を1段階ずつ切り替えてフレームレートおよび解像度を変更する。そのため、ネットワークの使用可能帯域に応じて、一定の画質範囲に収まる最大フレームレートおよび最大解像度を容易に設定することができる。
従来、ユーザに指定された映像領域(タイル)だけを高解像映像から切り出して配信することにより、ネットワーク帯域の消費量を抑えつつ高解像映像を配信する映像配信最適化技術(HDSM2.0)がある。
しかしながら、上記技術では、ライブ映像配信時にネットワーク帯域そのものが変動して、映像配信に必要な帯域が足りなくなった場合には、たとえ限られたタイルであっても配信できずにフレーム落ちが発生し、最悪の場合は配信が切断してしまう。
これに対して、本実施形態では、ネットワーク帯域が変動して映像配信に使用できる帯域が不足してきた場合には、Q値、フレームレート、解像度の少なくとも1つを変更して、画質を許容する画質範囲に収めつつ配信データ量を減らすことができる。したがって、フレーム落ちや配信切断することなく高品質な映像配信を継続することができる。
しかしながら、上記技術では、ライブ映像配信時にネットワーク帯域そのものが変動して、映像配信に必要な帯域が足りなくなった場合には、たとえ限られたタイルであっても配信できずにフレーム落ちが発生し、最悪の場合は配信が切断してしまう。
これに対して、本実施形態では、ネットワーク帯域が変動して映像配信に使用できる帯域が不足してきた場合には、Q値、フレームレート、解像度の少なくとも1つを変更して、画質を許容する画質範囲に収めつつ配信データ量を減らすことができる。したがって、フレーム落ちや配信切断することなく高品質な映像配信を継続することができる。
このように、本実施形態におけるカメラサーバ装置200は、ネットワーク状態が不安定であり、ネットワーク帯域そのものが変動した場合であっても、配信不良を生じることなく高品質な映像配信を継続することができる。
なお、上記実施形態においては、配信データ量の増減に際し、まずQ値を許容範囲内で変更し、Q値が許容範囲外となったらフレームレートや解像度を変更する場合について説明した。しかしながら、Q値、フレームレート、解像度の画質情報のうち、まず1つの画質情報を許容範囲内で変更し、当該1つの画質情報が許容範囲外となったら他の画質情報を変更するようにすればよく、上記1つの画質情報はQ値に限定されない。上記1つの画質情報はフレームレートであってもよいし、解像度であってもよい。例えば、上記1つの画質情報が解像度である場合、まず解像度を許容範囲内で変更し、解像度が許容範囲外となったらフレームレートやQ値を変更するようにしてもよい。この場合にも、画質を許容する画質範囲に収めつつ配信データ量を制御することができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100…映像配信システム、200…カメラサーバ装置、211…撮像処理部、212…一時記憶部、213…配信処理部、214…帯域測定部、215…ビットレート制御部、300…クライアント装置
Claims (14)
- ネットワークを介してクライアント装置に対して映像を配信する配信手段と、
前記クライアント装置との間のネットワーク帯域の余裕の程度を示す使用可能帯域を測定する測定手段と、
前記測定手段により測定された使用可能帯域と、前記映像の許容する画質範囲とに基づいて、前記配信手段により前記クライアント装置へ配信する映像のデータ量を制御する制御手段と、を備えることを特徴とする映像配信装置。 - 前記測定手段は、
前記クライアント装置との間の現在のネットワーク帯域と、前記配信手段が単位時間当たりに送信している映像のデータ量である使用帯域とを測定し、
前記ネットワーク帯域から前記使用帯域を差し引くことで前記使用可能帯域を測定することを特徴とする請求項1に記載の映像配信装置。 - 前記制御手段は、
前記使用可能帯域が上限閾値以上となった場合、または、その状態が一定時間継続した場合に、前記データ量を増加させ、
前記使用可能帯域が下限閾値以下となった場合、または、その状態が一定時間継続した場合に、前記データ量を減少させることを特徴とする請求項1または2に記載の映像配信装置。 - 前記制御手段は、
前記映像の符号化に用いる量子化値、前記映像を配信するフレームレートおよび前記映像の解像度の少なくとも1つの画質情報を制御することで前記データ量を制御することを特徴とする請求項1から3のいずれか1項に記載の映像配信装置。 - 前記配信手段により配信している映像の前記画質情報を複数取得する取得手段をさらに備え、
前記制御手段は、
前記測定手段により測定された使用可能帯域に基づいて前記データ量を増減させると判断した場合、
前記取得手段により取得された前記画質情報のうちの1つの画質情報が許容範囲内にあると判断した場合には、当該許容範囲内で前記1つの画質情報の設定を変更することで前記データ量を増減すべき方向に変更し、
前記取得手段により取得された前記1つの画質情報が前記許容範囲外にあると判断した場合には、前記取得手段により取得された前記画質情報のうちの他の画質情報の設定を変更することで前記データ量を増減すべき方向に変更することを特徴とすることを特徴とする請求項4に記載の映像配信装置。 - 前記1つの画質情報は、前記量子化値であり、
前記他の画質情報は、前記フレームレートおよび前記解像度の少なくとも一方であることを特徴とする請求項5に記載の映像配信装置。 - 前記制御手段は、
前記1つの画質情報の許容範囲と、前記他の画質情報の設定とを少なくとも含む配信条件のリストを有し、
前記測定手段により測定された使用可能帯域に基づいて前記データ量を増減させると判断した場合、
前記取得手段により取得された前記1つの画質情報が設定中の前記配信条件に含まれる前記許容範囲内にあると判断した場合には、当該許容範囲内で前記1つの画質情報の設定を変更することで前記データ量を増減すべき方向に変更し、
前記取得手段により取得された前記1つの画質情報が設定中の前記配信条件に含まれる前記許容範囲外にあると判断した場合には、前記リストから前記データ量が増減すべき方向に変更される別の配信条件を選択し、選択した配信条件に含まれる前記他の画質情報の設定に変更することを特徴とすることを特徴とする請求項5または6に記載の映像配信装置。 - 前記1つの画質情報は、前記量子化値であり、
前記他の画質情報は、前記フレームレートおよび前記解像度であり、
前記リストは、前記データ量の大きい順に前記配信条件を配列させた場合、前記フレームレートと前記解像度とが交互に下がっていくように設定されていることを特徴とする請求項7に記載の映像配信装置。 - 前記1つの画質情報は、前記量子化値であり、
前記他の画質情報は、前記フレームレートおよび前記解像度であり、
前記リストは、前記データ量の大きい順に前記配信条件を配列させた場合、前記解像度が下がりやすく前記フレームレートが下がりにくく設定されていることを特徴とする請求項7に記載の映像配信装置。 - 前記1つの画質情報は、前記量子化値であり、
前記他の画質情報は、前記フレームレートおよび前記解像度であり、
前記リストは、前記データ量の大きい順に前記配信条件を配列させた場合、前記フレームレートが下がりやすく前記解像度が下がりにくく設定されていることを特徴とする請求項7に記載の映像配信装置。 - 前記制御手段は、
複数の前記リストから、前記クライアント装置からの要求に応じた前記リストを選択して前記データ量の制御に用いることを特徴とする請求項7から10のいずれか1項に記載の映像配信装置。 - 前記配信条件に含まれる解像度の上限は、前記クライアント装置が表示可能な画像の最大解像度であることを特徴とする請求項7から11のいずれか1項に記載の映像配信装置。
- ネットワークを介してクライアント装置に対して映像を配信するステップと、
前記クライアント装置との間のネットワーク帯域の余裕の程度を示す使用可能帯域を測定するステップと、
測定された前記使用可能帯域と、前記映像の許容する画質範囲とに基づいて、前記クライアント装置へ配信する映像のデータ量を制御するステップと、を含むことを特徴とする映像配信方法。 - コンピュータを、請求項1から12のいずれか1項に記載の映像配信装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020055698A JP2021158482A (ja) | 2020-03-26 | 2020-03-26 | 映像配信装置、映像配信方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020055698A JP2021158482A (ja) | 2020-03-26 | 2020-03-26 | 映像配信装置、映像配信方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021158482A true JP2021158482A (ja) | 2021-10-07 |
Family
ID=77919843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020055698A Pending JP2021158482A (ja) | 2020-03-26 | 2020-03-26 | 映像配信装置、映像配信方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021158482A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114245198A (zh) * | 2021-12-17 | 2022-03-25 | 北京达佳互联信息技术有限公司 | 媒体内容的处理方法、装置、电子设备及存储介质 |
CN114844872A (zh) * | 2022-03-30 | 2022-08-02 | 广东悦伍纪网络技术有限公司 | 一种云手机动态码流调整方法及系统 |
-
2020
- 2020-03-26 JP JP2020055698A patent/JP2021158482A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114245198A (zh) * | 2021-12-17 | 2022-03-25 | 北京达佳互联信息技术有限公司 | 媒体内容的处理方法、装置、电子设备及存储介质 |
CN114245198B (zh) * | 2021-12-17 | 2024-02-06 | 北京达佳互联信息技术有限公司 | 媒体内容的处理方法、装置、电子设备及存储介质 |
CN114844872A (zh) * | 2022-03-30 | 2022-08-02 | 广东悦伍纪网络技术有限公司 | 一种云手机动态码流调整方法及系统 |
CN114844872B (zh) * | 2022-03-30 | 2023-08-15 | 广东悦伍纪网络技术有限公司 | 一种云手机动态码流调整方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11503307B2 (en) | System and method for automatic encoder adjustment based on transport data | |
US20200382575A1 (en) | Video encoding using starve mode | |
US9042444B2 (en) | System and method for transmission of data signals over a wireless network | |
US9585062B2 (en) | System and method for implementation of dynamic encoding rates for mobile devices | |
KR101796179B1 (ko) | 피어-투-피어 네트워크에서 대역폭을 협상하기 위한 방법 및 디바이스 | |
US10602139B2 (en) | Embedded multimedia systems with adaptive rate control for power efficient video streaming | |
CN111988560B (zh) | 编码和通过多个网络连接流传输视频序列的方法和设备 | |
US10659514B2 (en) | System for video monitoring with adaptive bitrate to sustain image quality | |
JP2021158482A (ja) | 映像配信装置、映像配信方法およびプログラム | |
US20140344392A1 (en) | Content delivery system, cache server, and content delivery method | |
AU2021200428B9 (en) | System and method for automatic encoder adjustment based on transport data | |
US10154188B2 (en) | Camera system, master camera device, and slave camera device | |
JP5434570B2 (ja) | ストリーム配信装置 | |
JP2008271378A (ja) | 映像監視装置 | |
JP6415387B2 (ja) | 表示制御装置、表示制御方法及びプログラム | |
EP3720133B1 (en) | Apparatus and method for real-time streaming of video | |
JP2009194454A (ja) | 送信装置、データ送信方法及びプログラム | |
KR20150026446A (ko) | 무손실 네트워크 영상 전송 방법 및 장치 |