IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ピクシブ株式会社の特許一覧

特許7483848動画配信システム、動画配信サーバ、動画配信方法及び動画配信プログラム
<>
  • 特許-動画配信システム、動画配信サーバ、動画配信方法及び動画配信プログラム 図1
  • 特許-動画配信システム、動画配信サーバ、動画配信方法及び動画配信プログラム 図2
  • 特許-動画配信システム、動画配信サーバ、動画配信方法及び動画配信プログラム 図3
  • 特許-動画配信システム、動画配信サーバ、動画配信方法及び動画配信プログラム 図4
  • 特許-動画配信システム、動画配信サーバ、動画配信方法及び動画配信プログラム 図5
  • 特許-動画配信システム、動画配信サーバ、動画配信方法及び動画配信プログラム 図6
  • 特許-動画配信システム、動画配信サーバ、動画配信方法及び動画配信プログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-07
(45)【発行日】2024-05-15
(54)【発明の名称】動画配信システム、動画配信サーバ、動画配信方法及び動画配信プログラム
(51)【国際特許分類】
   H04N 21/2743 20110101AFI20240508BHJP
   H04L 67/565 20220101ALI20240508BHJP
【FI】
H04N21/2743
H04L67/565
【請求項の数】 6
(21)【出願番号】P 2022205080
(22)【出願日】2022-12-22
(62)【分割の表示】P 2019023057の分割
【原出願日】2019-02-12
(65)【公開番号】P2023040056
(43)【公開日】2023-03-22
【審査請求日】2023-01-23
(73)【特許権者】
【識別番号】507180054
【氏名又は名称】ピクシブ株式会社
(74)【代理人】
【識別番号】110002516
【氏名又は名称】弁理士法人白坂
(72)【発明者】
【氏名】道井 俊介
(72)【発明者】
【氏名】茂木 勇
【審査官】鈴木 順三
(56)【参考文献】
【文献】特開2010-177876(JP,A)
【文献】特開2002-262259(JP,A)
【文献】特開2018-181310(JP,A)
【文献】特開2014-086850(JP,A)
【文献】特開2006-191427(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00 - 21/858
H04L 67/00 - 67/75
(57)【特許請求の範囲】
【請求項1】
配信者が使用する配信者端末と、顧客サーバと、視聴者が使用する視聴者端末と、前記配信者端末から送信された動画データを前記視聴者端末にライブ配信する配信サーバと、が通信ネットワークによって接続する動画配信システムであって、
前記顧客サーバは、
前記配信者端末の要求に応じて、前記配信サーバに動画を配信するための配信リクエストを送信するリクエスト送信制御部と、
配信リクエストに応じて前記配信サーバから応答された動画データの送信先となる配信接続先を前記配信者端末に通知すると共に、視聴者の視聴のための接続先となる視聴接続先を前記視聴者端末に通知する通知部と、を備え、
記配信サーバは、
前記配信者端末、前記顧客サーバ及び前記視聴者端末との間でそれぞれデータを送受信するサーバ通信部と、
前記サーバ通信部によって前記配信リクエストを受信すると、前記配信者端末から送信される動画データを配信サーバで受け付けるための配信接続先と、視聴者が動画データの配信を受けるために視聴者が配信サーバに接続する視聴接続先とを設定し、配信接続先及び視聴接続先を前記サーバ通信部によって前記顧客サーバに返信させる接続先設定部と、
前記配信リクエストに基づいて動画を視聴者に配信するための配信設定を行う配信設定部と、
前記配信者端末から送信された動画データを前記サーバ通信部で受信すると、前記配信設定部によって設定された配信設定に応じた配信データを生成する生成部と、
前記生成部によって生成された配信データを視聴接続先に対応付けて配信する配信部と、
前記配信接続先となる前記配信サーバに対して、WebRTCを行う処理を実行する制御部と、
を備える動画配信システム。
【請求項2】
前記生成部は、
動画データをデコードするデコード部と、
前記デコード部でデコードされた動画データに基づいて、配信設定に応じて1又は複数の配信データを生成する変換部と、
を備える請求項1に記載の動画配信システム。
【請求項3】
前記デコード部は、動画データを構成するフレームを時系列順に並び替えて、所定の時間毎に複数のフレームに区切る処理を行い、
前記変換部は、前記デコード部によって区切られたフレームをリアルタイム配信が可能なデータに順次変換することにより、配信データを生成する
請求項2に記載の動画配信システム。
【請求項4】
前記配信設定部は、配信設定として、配信する動画の解像度、ビットレート及びフレームレートのうち少なくとも1つの設定を行い、
前記生成部は、配信設定に応じて1又は複数の配信データを生成する
請求項1~3のいずれか1に記載の動画配信システム。
【請求項5】
配信者が使用する配信者端末と、顧客サーバと、視聴者が使用する視聴者端末と、前記配信者端末から送信された動画データを前記視聴者端末にライブ配信する配信サーバと、が通信ネットワークによって接続する動画配信システムにおいて実行される動画配信方法であって、
前記顧客サーバは、
前記配信者端末の要求に応じて、前記配信サーバに動画を配信するための配信リクエストを送信するリクエスト送信制御ステップと、
配信リクエストに応じて前記配信サーバから応答された動画データの送信先となる配信接続先を前記配信者端末に通知すると共に、視聴者の視聴のための接続先となる視聴接続先を前記視聴者端末に通知する通知ステップと、を実行し、
前記配信サーバは、
前記配信者端末、前記顧客サーバ及び前記視聴者端末との間でそれぞれデータを送受信する通信ステップと、
前記配信リクエストを受信すると、前記配信者端末から送信される動画データを配信サーバで受け付けるための配信接続先と、視聴者が動画データの配信を受けるために視聴者が配信サーバに接続する視聴接続先とを設定し、配信接続先及び視聴接続先を前記顧客サーバに返信させる接続先設定ステップと、
前記配信リクエストに基づいて動画を視聴者に配信するための配信設定を行う配信設定ステップと、
前記配信者端末から前記配信サーバに対して、WebRTCを行う処理を実行する制御ステップと、
前記配信者端末から送信された動画データを受信すると、前記配信設定ステップによって設定された配信設定に応じた配信データを生成する生成ステップと、
前記生成ステップによって生成された配信データを視聴接続先に対応付けて配信する配信ステップと、
を実行する動画配信方法。
【請求項6】
配信者が使用する配信者端末と、顧客サーバと、視聴者が使用する視聴者端末と、前記配信者端末から送信された動画データを前記視聴者端末にライブ配信する配信サーバと、が通信ネットワークによって接続する動画配信システムにおいて実行される動画配信プログラムであって、
前記顧客サーバに、
前記配信者端末の要求に応じて、前記配信サーバに動画を配信するための配信リクエストを送信するリクエスト送信制御機能と、
配信リクエストに応じて前記配信サーバから応答された動画データの送信先となる配信接続先を前記配信者端末に通知すると共に、視聴者の視聴のための接続先となる視聴接続先を前記視聴者端末に通知する通知機能と、を実現させ、
前記配信サーバに、
前記配信者端末、前記顧客サーバ及び前記視聴者端末との間でそれぞれデータを送受信するサーバ通信機能と、
前記サーバ通信機能によって前記配信リクエストを受信すると、前記配信者端末から送信される動画データを配信サーバで受け付けるための配信接続先と、視聴者が動画データの配信を受けるために視聴者が配信サーバに接続する視聴接続先とを設定し、配信接続先及び視聴接続先を前記サーバ通信機能によって前記顧客サーバに返信させる接続先設定機能と、
前記配信リクエストに基づいて動画を視聴者に配信するための配信設定を行う配信設定機能と、
前記配信者端末から送信された動画データを前記サーバ通信機能で受信すると、前記配信設定機能によって設定された配信設定に応じた配信データを生成する生成機能と、
前記生成機能によって生成された配信データを視聴接続先に対応付けて配信する配信機能と、
前記視聴者端末と前記配信接続先となる前記配信サーバの間で、WebRTCを行う処理を実行する制御機能と、
を実現させる動画配信プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画配信システム、動画配信サーバ、動画配信方法及び動画配信プログラムに関する。
【背景技術】
【0002】
従来から、動画の配信は、配信者がサーバに動画を保存した後、視聴者がサーバにアクセスして所望の動画を視聴することが行われていた。近年は、動画をライブで配信することも行われている。ライブ配信を行う場合、例えば、配信者は、動画を配信してからすぐにユーザの反応を受け取ることができる等、新しいコミュニケーションの場としても考えられている。また、動画のライブ配信は、いろいろな用途にも利用することができると考えられる。このため、今後は、より多くの人が動画のライブ配信を行うことができるような場を提供することも重要と考えられている。
【0003】
動画のライブ配信を行えるシステムには、例えば、特許文献1に記載されるようなシステムが存在する。特許文献1に記載されたシステムは、配信者端末、配信サーバ及びユーザ端末を備える。配信サーバは、配信者端末から送信された動画を受信すると、その動画を複数の視聴者に配信する構成である。また、特許文献1に記載されたシステムは、配信者端末と、視聴者端末との間で音声を使ったコミュニケーションが取れるようになっている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-101965号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ライブ配信を行う場合、ライブ配信システムには、配信者側の端末から送信された動画を、確実に視聴者側の端末に送信することが求められる。また一方で、より多くの人にライブ配信の場を提供するためには、ライブ配信システムを使用する顧客が制御しやすいシステムを構築することが求められる。
【0006】
本発明は、動画のライブ配信を行える、ユーザにとって制御しやすい動画配信システム、動画配信サーバ、動画配信方法及び動画配信プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
一態様の動画配信システムは、配信者が使用する配信者端末と、顧客サーバと、視聴者が使用する視聴者端末と、配信者端末から送信された動画データを視聴者端末にライブ配信する配信サーバと、が通信ネットワークによって接続する動画配信システムであって、顧客サーバは、配信者端末の要求に応じて、配信サーバに動画を配信するための配信リクエストを送信するリクエスト送信制御部と、配信リクエストに応じて配信サーバから応答された動画データの送信先となる配信接続先を配信者端末に通知すると共に、視聴者の視聴のための接続先となる視聴接続先を視聴者端末に通知する通知部と、を備え、配信者端末は、配信サーバとの間でデータを送受信する配信者通信部と、通知部によって通知された配信接続先に動画データを送信するよう配信者通信部を制御するデータ送信制御部と、を備え、配信サーバは、配信者端末、顧客サーバ及び視聴者端末との間でそれぞれデータを送受信するサーバ通信部と、サーバ通信部によって配信リクエストを受信すると、配信者端末から送信される動画データを配信サーバで受け付けるための配信接続先と、視聴者が動画データの配信を受けるために視聴者が配信サーバに接続する視聴接続先とを設定し、配信接続先及び視聴接続先をサーバ通信部によって顧客サーバに返信させる接続先設定部と、配信リクエストに基づいて動画を視聴者に配信するための配信設定を行う配信設定部と、配信者端末から送信された動画データをサーバ通信部で受信すると、配信設定部によって設定された配信設定に応じた配信データを生成する生成部と、生成部によって生成された配信データを視聴接続先に対応付けて配信する配信部と、を備え、視聴者端末は、配信サーバとの間でデータを送受信する視聴者通信部と、視聴者通信部を介して配信サーバの視聴接続先に接続して、配信サーバから配信された配信データに基づいて動画を表示する表示部と、を備える。
【0008】
一態様の動画配信システムでは、生成部は、動画データをデコードするデコード部と、デコード部でデコードされた動画データに基づいて、配信設定に応じて1又は複数の配信データを生成する変換部と、を備えることとしてもよい。
【0009】
一態様の動画配信システムでは、デコード部は、動画データを構成するフレームを時系列順に並び替えて、所定の時間毎に複数のフレームに区切る処理を行い、変換部は、デコード部によって区切られたフレームをリアルタイム配信が可能なデータに順次変換することにより、配信データを生成することとしてもよい。
【0010】
一態様の動画配信システムでは、配信設定部は、配信設定として、配信する動画の解像度、ビットレート及びフレームレートのうち少なくとも1つの設定を行い、生成部は、配信設定に応じて1又は複数の配信データを生成することとしてもよい。
【0011】
一態様の動画配信サーバは、外部に配される配信者端末から送信された動画データを外部に配される視聴者端末にリアルタイムで配信する動画配信サーバであって、配信者端末、外部に配される顧客サーバ、及び、視聴者端末との間でデータを送受信するサーバ通信部と、顧客サーバから配信リクエストを受信すると、配信者端末から送信される動画データを動画配信サーバで受け付けるための配信接続先と、視聴者が動画の配信を受けるために視聴者が動画配信サーバに接続する視聴接続先とを設定し、配信接続先及び視聴接続先をサーバ通信部によって顧客サーバに返信させる接続先設定部と、配信リクエストに基づいて動画を視聴者に配信するための配信設定を行う配信設定部と、配信者端末から送信された動画データをサーバ通信部で受信すると、配信設定部によって設定された配信設定に応じた配信データを生成する生成部と、生成部によって生成された配信データを視聴接続先に対応付けて配信する配信部と、を備える。
【0012】
一態様の動画配信プログラムでは、動画配信サーバを構成するコンピュータが、サーバ通信部によって、外部に配される配信者端末、外部に配される顧客サーバ、及び、外部に配される視聴者端末との間でデータを送受信する通信ステップと、顧客サーバから配信リクエストを受信すると、配信者端末から送信される動画データを動画配信サーバで受け付けるための配信接続先と、視聴者が動画の配信を受けるために視聴者が動画配信サーバに接続する視聴接続先とを設定し、配信接続先及び視聴接続先をサーバ通信部によって顧客サーバに返信させる接続先設定ステップと、配信リクエストを受信すると、配信リクエストに基づいて動画を視聴者に配信するための配信設定を行う配信設定ステップと、配信者端末から送信された動画データをサーバ通信部で受信すると、配信設定ステップによって設定された配信設定に応じた配信データを生成する生成ステップと、生成ステップによって生成された配信データを視聴接続先に対応付けてリアルタイムで配信する配信ステップと、を実行する。
【0013】
一態様の動画配信プログラムは、動画配信サーバを構成するコンピュータに、外部に配される配信者端末と、外部に配される視聴者端末と、外部に配される顧客サーバとの間でそれぞれデータを送受信する通信機能と、配信者端末から配信リクエストを受信すると、配信者端末から送信される動画データを動画配信サーバで受け付けるための配信接続先と、視聴者が動画の配信を受けるために視聴者が動画配信サーバに接続する視聴接続先とを設定し、配信接続先及び視聴接続先を通信機能によって顧客サーバに返信させる接続先設定機能と、通信機能によって配信リクエストを受信すると、配信リクエストに基づいて動画を視聴者に配信するための配信設定を行う配信設定機能と、配信者端末から送信された動画データを通信機能で受信すると、配信設定機能によって設定された配信設定に応じた配信データを生成する生成機能と、生成機能によって生成された配信データを視聴接続先に対応付けてリアルタイムで配信する配信機能と、を実現させる。
【発明の効果】
【0014】
一態様の動画配信システムは、配信者端末、視聴者端末及び配信サーバを備え、配信サーバによって、配信リクエストを受信すると配信接続先及び視聴接続先を設定すると共に、配信設定を行い、配信者端末から動画データを受信すると配信設定に応じた配信データを生成し、その配信データを視聴接続先に対応付けて視聴者端末に配信するので、動画のライブ配信を行えるシステムを提供することができる。
また、一態様の動画配信サーバ、動画配信方法及び動画配信プログラムは、上述した一態様の動画配信システムと同様の効果を奏することができる。
【図面の簡単な説明】
【0015】
図1】一実施形態に係る動画配信システムの概略について説明するための図である。
図2】一実施形態に係る動画配信システムについて説明するための第1のブロック図である。
図3】一実施形態に係る動画配信システムについて説明するための第2のブロック図である。
図4】配信者端末及び顧客サーバの処理の流れについて説明するためのフローチャートである。
図5】動画配信サーバの処理の流れについて説明するためのフローチャートである。
図6】生成部の処理の流れについて説明するためのフローチャートである。
図7】視聴者端末の処理の流れについて説明するためのフローチャートである。
【発明を実施するための形態】
【0016】
以下、本発明の一実施形態について説明する。
図1は、一実施形態に係る動画配信システムの概略について説明するための図である。
【0017】
動画配信システム1は、配信者端末10、動画配信サーバ20(配信サーバ)及び複数の視聴者端末30を備える。
配信者端末10は、例えば、被写体を撮像する撮像部(図示せず)を備える。配信者端末10は、撮像部によって被写体を撮像して動画データを生成し、その動画データを動画配信サーバ20に送信する。配信者端末10は、音声を取得するマイク部(図示せず)を備えることとしてもよい。この場合、配信者端末10は、マイク部によって取得した音声データを動画データに含ませることができる。
なお、配信者端末10で撮像する被写体は種々のものであってよい。配信者端末10は、一例として、イラストを描く時の様子を撮影することしてもよく、写真をコンピュータでレタッチする時の様子を撮影してもよい。又は、配信者端末10は、一例として、人物及び風景等を撮影することとしてもよい。
また、配信者端末10は、その配信者端末10の表示部(図示せず)に表示される画面を動画データとして生成することとしてもよい。
【0018】
視聴者端末30は複数あり、それぞれが動画配信サーバ20に接続する。視聴者端末30は、一例として、数千台が動画配信サーバ20に接続することができる。図1に示す例では、視聴者端末30を2台示しているが、この例に限定されることはない。
動画配信サーバ20は、配信者端末10で生成された動画データを取得すると、その動画データをリアルタイムで配信できる配信データに変換し、配信データを視聴者端末30にライブ配信する。視聴者端末30は、配信者端末10によって生成される動画を、ほぼリアルタイムで視聴することができる。
【0019】
次に、動画配信システム1の詳細について説明する。
図2は、一実施形態に係る動画配信システムについて説明するための第1のブロック図である。
【0020】
動画配信システム1は、顧客サーバ40、配信者端末10、視聴者端末30及び動画配信サーバ20を備える。
配信者端末10は、動画を配信する配信者が使用する。配信者端末10は、例えば、スマートフォン、タブレット及びパーソナルコンピュータ等の情報処理端末である。
視聴者端末30は、配信者が配信した動画を視聴する視聴者が使用する。視聴者端末30は、例えば、スマートフォン、タブレット及びパーソナルコンピュータ等の情報処理端末である。
動画配信サーバ20は、顧客サーバ40、配信者端末10及び複数の視聴者端末30と通信ネットワークを介して接続可能である。
【0021】
顧客サーバ40は、リクエスト送信制御部41及び通知部42を備える。
リクエスト送信制御部41は、配信者端末10の要求に応じて、動画配信サーバ20に動画を配信するための配信リクエストを送信する。配信リクエストは、動画を配信するためのチャンネルの作成を要求する情報である。
【0022】
通知部42は、配信リクエストに応じて動画配信サーバ20から応答された動画データの送信先となる配信接続先を配信者端末10に通知すると共に、視聴者の視聴のための接続先となる視聴接続先を視聴者端末30に通知する。
通知部42は、視聴接続先を種々の手段により、視聴接続先を視聴者(視聴者端末30)に対して提供することができる。一例として、通知部42は、視聴者が顧客サーバ40にアクセスした場合、その視聴者の視聴者端末30に視聴接続先を通知する。又は、通知部42は、一例として、顧客サーバ40に予め登録している視聴者(視聴者端末30)に対して、視聴接続先を記載したメール等を送信することとしてもよい。又は、通知部42は、視聴接続先を配信者端末10に通知することも可能である。配信者端末10は、通知部42によって視聴接続先の通知を受けた場合、例えば、配信者自身のWebページ(一例として、ブログ及びホームページ等)及びSNS(Social Networking Service)等に視聴接続先を掲示することにより、視聴者に視聴接続先を通知する。
通知部42は、上述の例示の他にも、種々の方法で視聴接続先を視聴者(視聴者端末30)に通知することが可能である。
視聴者は、通知部42によって提供された視聴接続先にアクセスすることにより、配信者端末10から送信される動画をほぼリアルタイムで視聴することができる。
【0023】
配信者端末10は、配信者通信部11及びデータ送信制御部13を備える。
配信者通信部11は、動画配信サーバ20との間でデータを送受信する。また、配信者通信部11は、顧客サーバ40との間でデータを送受信することとしてもよい。
【0024】
データ送信制御部13は、動画配信サーバ20から応答された動画データの送信先となる配信接続先及び視聴者の視聴のための接続先となる視聴接続先を、顧客サーバ40を介して配信者通信部11によって受信すると、配信接続先に動画データを送信するよう配信者通信部11を制御する。ここで、配信者通信部11によって受信する情報は、配信接続先及び視聴接続先に加えて、配信接続先に配信者端末10が接続するための(配信接続先を配信者が利用するための)識別情報が含まれることとしてもよい。
配信者端末10の要求に応じて顧客サーバ40が動画配信サーバ20に配信リクエストを送信した場合、動画配信サーバ20は、配信リクエストに基づいて配信設定を行うと共に、配信接続先及び視聴者接続先に関する接続情報(チャンネル情報)を顧客サーバ40に返信する。
配信接続先は、動画配信サーバ20の制御部26に接続するための情報である。配信者端末10は、配信接続先に動画を配信することにより、リアルタイム配信が可能となる。
視聴接続先は、視聴者が配信者から配信される動画を視聴するために、動画配信サーバ20に接続するためのURL(Uniform Resource Locator(配信URL))である。
【0025】
動画配信サーバ20は、サーバ通信部21、接続先設定部22、配信設定部23、生成部24、配信部25及び制御部26を備える。
サーバ通信部21は、配信者端末10、顧客サーバ40及び視聴者端末30との間でそれぞれデータを送受信する。
【0026】
接続先設定部22は、サーバ通信部21によって配信リクエストを受信すると、配信者端末10から送信される動画データを動画配信サーバ20で受け付けるための配信接続先と、視聴者が動画データの配信を受けるために視聴者が動画配信サーバ20に接続する視聴接続先とを設定する。接続先設定部22は、配信接続先及び視聴接続先をサーバ通信部21によって顧客サーバ40に返信させる。
【0027】
すなわち、接続先設定部22は、顧客サーバ40から送信された配信リクエストを受信すると、配信者端末10によって送信される動画データを受け付けるための、動画配信サーバ20の接続先(配信接続先)を設定する。また、接続先設定部22は、配信リクエストを受信すると、視聴者が動画を視聴するために接続する動画配信サーバ20の接続先(視聴接続先)を設定する。視聴接続先は、配信設定部23によって設定される、配信される動画の解像度、ビットレート及びフレームレートのうち少なくとも1つの設定に応じて接続先を設定することとしてもよい。接続先設定部22は、配信接続先及び視聴接続先それぞれの設定が終了すると、チャンネル情報としての接続先情報を顧客サーバ40に送信する。接続先情報は、配信接続先及び視聴接続先それぞれに関する情報を含む。
接続先設定部22は、配信設定部23によって後述する配信設定が終了した場合に、接続先情報を顧客サーバ40に送信することとしてもよい。
【0028】
配信設定部23は、配信リクエストに基づいて動画を視聴者に配信するための配信設定を行う。配信設定は、例えば、ストリーム数及び各ストリームの設定等である。各ストリームの設定は、例えば、配信する動画の解像度、ビットレート及びフレームレートのうち少なくとも1つの設定である。
【0029】
生成部24は、配信者端末10から送信された動画データをサーバ通信部21で受信すると、配信設定部23によって設定された配信設定に応じた配信データを生成する。具体的には、生成部24は、デコード部241及び変換部242を備えることとしてもよい。
【0030】
デコード部241は、動画データをデコードする。具体的には、デコード部241は、配信者端末10から送信された動画データを構成するフレームを時系列順に並び替えて、所定の時間毎に複数のフレームに区切る処理を行う。配信者端末10から動画配信サーバ20に動画データが送信される場合、データ送信の形式によってはフレームが時系列順に送信されないことがある。このため、デコード部241は、フレームが時系列順に並ぶようにフレームを並び替える。また、デコード部241は、すなわち、時系列順に並ぶ複数のフレームを所定時間毎(例えば、1秒とか2秒単位長さであってもよいし、フレーム数の所定枚数(例えば、48フレーム単位など)にまとめる処理を行う。デコード部241は、複数のフレームをまとめることとして、配信者端末10から送信される動画データを所定時間毎に区切ることにより複数の動画セグメントを順次生成する。
【0031】
変換部242は、デコード部241でデコードされた動画データに基づいて、配信設定に応じて1又は複数の配信データを生成する。具体的には、変換部242は、デコード部241によってまとめられた複数のフレームをリアルタイム配信が可能なデータに順次変換することにより、配信データを生成する。変換部242は、一例として、配信設定として複数の解像度が設定されている場合、それぞれの解像度毎に配信データを生成する。また、変換部242は、一例として、配信設定として複数のビットレートが設定されている場合、それぞれのビットレート毎に配信データに変換する。また、変換部242は、一例として、配信設定として複数のフレームレートが設定されている場合、それぞれのフレームレート毎に配信データを生成する。また、変換部242は、配信設定として、解像度、ビットレート及びフレームレートの少なくとも1つについて複数の設定がされていない場合(一例として、解像度について1つの設定のみされている場合)、1つの設定に応じて1つの配信データを生成することとしてもよい。
具体的な一例として、変換部242は、配信者端末10から送信される動画データの解像度が3840×2160のサイズの場合、配信設定に応じて、1920×1080、1280×720及び640×360それぞれのサイズの配信データに変換する。
【0032】
変換部242は、デコード部241によって動画データを区切ることにより複数の動画セグメントが順次生成された場合、1の動画セグメントの全てを配信データに変換した後に、その配信データを配信することとしてもよい。
又は、変換部242は、デコード部241によって複数の動画セグメントが順次生成された場合、1の動画セグメントの全てが配信データに変換される前、すなわち、順次変換される配信データを順次配信することとしてもよい。すなわち、変換部242は、1の動画セグメントを順次変換して、配信が可能になるデータの単位になるまで配信データを記憶部(図示せず)に記憶し、配信データが配信可能なデータの単位になると、視聴者端末30に順次配信することとしてもよい。
生成部24は、後述する処理部243(図3参照)を備えることとしてもよい。
【0033】
配信部25は、生成部24によって生成された配信データを視聴接続先に対応付けて配信する。すなわち、配信部25は、視聴者端末30が視聴接続先に接続すると、生成部24によって生成された配信データに基づく動画を視聴者端末30で視聴できるように、配信データと視聴接続先とを対応づけてリアルタイム配信する。配信部25は、生成部24において配信設定に応じて複数の配信データが生成されている場合、配信設定に応じた視聴接続先と、配信設定に応じた配信データとを対応付けて、リアルタイム配信する。
【0034】
視聴者端末30は、視聴者通信部31及び表示部32を備える。
視聴者通信部31は、動画配信サーバ20との間でデータを送受信する。
【0035】
表示部32は、視聴者通信部31を介して動画配信サーバ20の視聴接続先に接続して、動画配信サーバ20から配信された配信データに基づいて動画を表示する。すなわち、視聴者端末30は、視聴者通信部31を用いて視聴接続先にアクセスすると、動画配信サーバ20の配信部25によって配信される配信データを受信する。表示部32は、配信データに基づく動画をリアルタイムで表示する。
【0036】
次に、動画配信システム1の具体的な一例について説明する。
図3は、一実施形態に係る動画配信システムについて説明するための第2のブロック図である。
なお、図3では、動画配信サーバ20に配される「サーバ通信部21」の記載を省略する。
【0037】
配信者端末10は、例えば、顧客サーバ40を介して動画配信サーバ20に接続する。
顧客サーバ40は、例えば、配信者端末10と動画配信サーバ20との間の通信を仲介する。すなわち、顧客サーバ40は、配信者端末10を動画配信サーバ20に接続させるためのサーバである。
なお、顧客サーバ40には、配信者端末10の他に、1又は複数の視聴者端末30が接続することとしてもよい。顧客サーバ40は、動画配信サーバ20から視聴者接続先を受信すると、その視聴者接続先を視聴者端末30に送信することとしてもよい。
【0038】
動画配信サーバ20は、例えば、API(Application Programming Interface)サーバ201、DB(Database)サーバ202、HLS(HTTP Live Streaming)サーバ203及びサービスサーバ204を備える。
【0039】
APIサーバ201は、接続先設定部22、配信設定部23及び制御部26を備える。
制御部26は、一例として、サーバを経由してWebRTC(Web Real-Time Communication)を行うための処理を実行する機能である。
接続先設定部22は、配信者が配信用の動画データをアップロードするためのアドレスを送信する。配信設定部23は、配信リクエストを受信すると、その配信リクエストに基づいて配信設定を行い、その配信設定に関する情報をDBサーバ202のDB(Database)27に記憶する。
【0040】
HLSサーバ203は、生成部24を備える。生成部24は、デコード部241及び変換部242に加えて、処理部243を備える。処理部243は、一例として、HTTPサーバである。処理部243(HTTPサーバ)は、配信データを配信するための機能を備える。
デコード部241は、DB27に記憶される配信設定に応じて変換部242を設定する。デコード部241は、動画データが入力されると、動画データをデコードした後、フレームを時系列順に並び替え、並び替えたフレームを所定時間毎にまとめて動画セグメントを生成する。デコード部241は、生成した動画セグメントを変換部242に送信する。
【0041】
変換部242は、動画セグメントを受け付けると、配信設定に応じて配信データ(セグメントファイル)に変換して出力する。また、変換部242は、配信データの出力結果をデコード部241に送信する。デコード部241は、その出力結果を受け付けると、配信データの配信に関するプレイリストを更新する。
処理部243は、変換部242から出力される配信データと、デコード部241において更新されるプレイリストとを視聴者端末30に配信する。
【0042】
サービスサーバ204は、配信部25を備える。接続先設定部22から配信者端末10に送信される視聴接続先(配信URL)は、配信部25に接続するための情報である。
【0043】
視聴者端末30は、視聴接続先に基づいて配信部25に接続する。
配信部25は、視聴者端末30が接続すると、処理部243から配信される配信データ及びプレイリストを視聴者端末30に配信する。具体的には、視聴者端末30が配信部25に接続すると、APIサーバ201はDB27から配信設定を読み出し、配信設定に応じたHLSサーバ203の処理部243にアクセスし、配信データを読み出す。
なお、配信部25は、1の視聴者端末30からアクセスされることにより1の視聴者端末30に配信データを配信している場合、その配信データをキャッシュすることとしてもよい。これにより、配信部25は、他の視聴者端末30がアクセスした場合において、他の視聴者端末30が上述した1の視聴者端末30と同じ設定(一例として、解像度、ビットレート及びフレームレート等)で動画の配信を受ける際には、キャッシュしている配信データを他の視聴者端末30に送信することができる。
これにより、動画配信サーバ20は、配信データを視聴者端末30にリアルタイム配信することができる。
【0044】
なお、上述した動画配信システム1の各部は、コンピュータの処理装置の一機能として実現されてもよい。すなわち、動画配信システム1の各部は、コンピュータによって実行されるプログラムによって、処理装置の一機能として実現されることとしてもよい。プログラムは、例えば、外部メモリ及び光ディスク等の記録媒体に記録されることとしてもよい。
【0045】
次に、一実施形態に係る動画配信方法について説明する。
まず、配信者端末10及び顧客サーバ40の処理の流れについて説明する。
図4は、配信者端末及び顧客サーバの処理の流れについて説明するためのフローチャートである。
【0046】
ステップST11において、リクエスト送信制御部41は、配信者端末10の要求に応じて、動画配信サーバ20に動画を配信するための配信リクエストを動画配信サーバ20に送信する。
【0047】
ステップST12において、配信者通信部11は、顧客サーバ40から配信接続先及び視聴接続先を受信する。すなわち、顧客サーバ40は、ステップST11で送信した配信リクエストに応じて動画配信サーバ20が返信した配信接続先及び視聴接続先を受信する。顧客サーバ40は、配信接続先及び視聴接続先のうち少なくとも配信接続先を配信者端末10に送信する。
【0048】
ステップST13において、通知部42は、視聴接続先を視聴者端末30に通知する。
【0049】
ステップST14において、データ送信制御部13は、ステップST12で受信した配信接続先(動画配信サーバ20)に対して動画データを送信する。なお、データ送信制御部13は、動画配信サーバ20から識別情報が送信されている場合には、動画データを動画配信サーバ20に送信する前に識別情報を動画配信サーバ20に送信する。
【0050】
次に、動画配信サーバ20の処理の流れについて説明する。
図5は、動画配信サーバの処理の流れについて説明するためのフローチャートである。
【0051】
ステップST21において、サーバ通信部21は、図4に示すST11において顧客サーバ40から送信された配信リクエストを受信する。
【0052】
ステップST22において、接続先設定部22は、配信接続先及び視聴接続先を設定し、配信接続先及び視聴接続先を顧客サーバ40に送信させる。接続先設定部22は、例えば、動画配信サーバ20へ動画データを送信する際の複数のアドレスとポート番号のうち現在使用されていないアドレスとポート番号を取得し、取得したアドレスとポート番号を配信接続先として設定する。また、接続先設定部22は、例えば、動画配信サーバ20から動画を配信する際の複数のアドレスとポート番号のうち現在使用されていないアドレスとポート番号を取得し、取得したアドレスとポート番号を視聴接続先として設定する。
【0053】
ステップST23において、配信設定部23は、配信設定を行う。配信設定は、例えば、ストリーム数及び各ストリームの設定等である。各ストリームの設定は、例えば、配信する動画の解像度、ビットレート及びフレームレートのうち少なくとも1つの設定である。
なお、ステップST22とステップST23との処理の順番は、逆になっていてもよい。すなわち、ステップST23の処理の後にステップST22の処理が行われてもよい。又は、接続先設定部22は、その接続先設定部22において配信接続先及び視聴接続先の設定が終了すると共に、配信設定部23において配信設定が終了した後に、配信接続先及び視聴接続先を顧客サーバ40に送信することとしてもよい。
【0054】
ステップST24において、サーバ通信部21は、図4に示すステップST14において配信者端末10から送信された動画データを受信する。
【0055】
ステップST25において、生成部24は、ステップST24で受信された動画データに基づいて配信データを生成する。生成部24の処理の詳細については後述する。
【0056】
ステップST26において、配信部25は、ステップST25で生成された配信データを視聴者端末30に送信する。
【0057】
次に、動画配信サーバ20の生成部24の具体的な処理の流れについて説明する。
図6は、生成部の処理の流れについて説明するためのフローチャートである。
【0058】
ステップST101において、デコード部241は、動画データを受け付けると、動画データを構成するフレームを時系列順に並び替える。すなわち、デコード部241は、配信者端末10から送信された動画データのフレームが時系列順に並ぶようにする。
【0059】
ステップST102において、デコード部241は、ステップST101で並び替えられたフレームを所定時間毎に区切り、動画セグメントを生成する。
【0060】
ステップST103において、変換部242は、ステップST102で生成された動画セグメントに基づいて配信データ(セグメントファイル)を生成する。
【0061】
次に、視聴者端末30の処理の流れについて説明する。
図7は、視聴者端末の処理の流れについて説明するためのフローチャートである。
【0062】
ステップST31において、視聴者端末30は、視聴接続先を取得する。例えば、図4に示すステップST13において通知される視聴接続先を視聴者端末30が取得する。
【0063】
ステップST32において、視聴者通信部31は、ステップTS31で取得された視聴接続先にアクセスして、配信データを取得する。
【0064】
ステップST33において、表示部32は、ステップST32で取得された配信データに基づく動画を表示する。これにより、表示部32は、配信者端末10で取得される動画をリアルタイムで表示することができる。
【0065】
次に、本実施形態の効果について説明する。
動画配信システム1は、配信者端末10、顧客サーバ40、視聴者端末30及び動画配信サーバ20を備える。顧客サーバ40は、配信者端末10の要求に応じて、動画配信サーバ20に動画を配信するための配信リクエストを送信するリクエスト送信制御部41と、配信リクエストに応じて動画配信サーバ20から応答された動画データの送信先となる配信接続先を配信者端末10に通知すると共に、視聴者の視聴のための接続先となる視聴接続先を視聴者端末30に通知する通知部と、を備える。配信者端末10は、配信接続先に動画データを送信させるデータ送信制御部13を備える。動画配信サーバ20は、配信リクエストを受信すると配信接続先及び視聴接続先とを設定し、配信接続先及び視聴接続先を顧客サーバ40に返信させる接続先設定部22と、配信リクエストに基づいて動画を視聴者に配信するための配信設定を行う配信設定部23と、配信者端末10から送信された動画データを受信すると、配信設定部23によって設定された配信設定に応じた配信データを生成する生成部24と、生成部24によって生成された配信データを視聴接続先に対応付けて配信する配信部25と、を備える。視聴者端末30は、動画配信サーバ20の視聴接続先に接続して、動画配信サーバ20から配信された配信データに基づいて動画を表示する表示部32と、を備える。
これにより、動画配信システム1は、配信者端末10から送信される動画を視聴者端末30にライブ配信することができる。
また、動画配信システム1は、配信者端末10から配信リクエストを送信することにより、動画配信サーバ20におけるリアルタイム配信の設定を行うことができるので、配信者にとって使いやすいシステムを提供することができる。また、動画配信システム1は、ユーザによって制御しやすいシステムを提供することができる。
また、動画配信システム1は、視聴者端末30が視聴接続先に応じて動画配信サーバ20に接続することにより配信データを視聴者端末30に配信する。一例として、視聴者が通知部42によって通知される視聴接続先をワンクリックするだけで、視聴者端末30は、配信データを受信することができる。よって、動画配信システム1は、視聴者にとって使いやすいシステムを提供することができる。
【0066】
動画配信システム1では、生成部24は、動画データをデコードするデコード部241と、デコード部241でデコードされた動画データに基づいて、配信設定に応じて1又は複数の配信データを生成する変換部242と、を備えることとしてもよい。
これにより、動画配信システム1は、動画のライブ配信を行うための配信データを生成することができる。
【0067】
動画配信システム1では、デコード部241は、動画データを構成するフレームを時系列順に並び替えて、所定の時間毎に複数のフレームに区切る処理を行うこととしてもよい。この場合、変換部242は、デコード部241によって区切られたフレームをリアルタイム配信が可能なデータに順次変換することにより、配信データを生成することとしてもよい。
これにより、動画配信システム1は、デコード部241によって動画セグメントを生成し、変換部242によって動画セグメントに基づいてセグメントファイルを生成するので、セグメントファイルが生成される毎に配信データとして視聴者端末30に配信することができる。すなわち、動画配信システム1は、動画のライブ配信を行うことができる。
なお、実施形態によっては、動画配信システム1は、1の動画セグメントの全てがセグメントファイルとして生成された後に視聴者端末30に配信するのではなく、1の動画セグメントの全てがセグメントファイルとして生成される前に視聴者端末30に配信することとしてもよい。すなわち、動画配信システム1は、1の動画セグメントがセグメントファイルに変換される途中において、セグメントファイルが視聴者端末30に配信できる単位になると、視聴者端末30に順次配信することとしてもよい。これにより、動画配信システム1は、相対的に低遅延のライブ配信を行うことができる。
【0068】
動画配信システム1では、配信設定部23は、配信設定として、配信する動画の解像度、ビットレート及びフレームレートのうち少なくとも1つの設定を行うこととしてもよい。この場合、生成部24は、配信設定に応じて1又は複数の配信データを生成することとしてもよい。
これにより、動画配信システム1は、配信者が所望する設定で動画を配信することができる。
【0069】
動画配信サーバ20は、配信リクエストを受信すると配信接続先及び視聴接続先とを設定し、配信接続先及び視聴接続先を配信者端末10に返信させる接続先設定部22と、配信リクエストに基づいて動画を視聴者に配信するための配信設定を行う配信設定部23と、配信者端末10から送信された動画データを受信すると、配信設定部23によって設定された配信設定に応じた配信データを生成する生成部24と、生成部24によって生成された配信データを視聴接続先に対応付けて配信する配信部25と、を備える。
これにより、動画配信サーバ20は、配信者端末10から送信される動画を視聴者端末30にライブ配信することができる。
また、動画配信サーバ20は、配信者端末10から配信リクエストを送信することにより、動画配信サーバ20におけるリアルタイム配信の設定を行うことができるので、配信者にとって使いやすいサーバを提供することができる。また、動画配信サーバ20は、ユーザによって制御しやすいサーバを提供することができる。
また、動画配信サーバ20は、視聴者端末30が視聴接続先に応じて動画配信サーバ20に接続することにより配信データを視聴者端末30に配信する。一例として、視聴者が通知部42によって通知される視聴接続先をワンクリックするだけで、視聴者端末30は、配信データを受信することができる。よって、動画配信サーバ20は、視聴者にとって使いやすいサーバを提供することができる。
【0070】
動画配信方法は、動画配信サーバ20を構成するコンピュータが、サーバ通信部21によって、外部に配される配信者端末10との間でデータを送受信すると共に、外部に配される視聴者端末30との間でデータを送受信する通信ステップと、配信者端末10から配信リクエストを受信すると配信接続先及び視聴接続先を設定し、配信接続先及び視聴接続先をサーバ通信部21によって配信者端末10に返信させる接続先設定ステップと、配信リクエストを受信すると配信設定を行う配信設定ステップと、配信者端末10から送信された動画データをサーバ通信部21で受信すると、配信設定ステップによって設定された配信設定に応じた配信データを生成する生成ステップと、生成ステップによって生成された配信データを視聴接続先に対応付けてリアルタイムで配信する配信ステップと、を実行する。
これにより、動画配信方法は、配信者端末10から送信される動画を視聴者端末30にライブ配信することができる。
また、動画配信方法は、配信者端末10から配信リクエストを送信することにより、動画配信サーバ20におけるリアルタイム配信の設定を行うことができるので、配信者にとって使いやすい方法を提供することができる。また、動画配信方法は、ユーザによって制御しやすい方法を提供することができる。
また、動画配信方法は、視聴者端末30が視聴接続先に応じて動画配信サーバ20に接続することにより配信データを視聴者端末30に配信する。一例として、視聴者が通知部42によって通知される視聴接続先をワンクリックするだけで、視聴者端末30は、配信データを受信することができる。よって、動画配信方法は、視聴者にとって使いやすい方法を提供することができる。
【0071】
動画配信プログラムは、動画配信サーバ20を構成するコンピュータに、外部に配される配信者端末10との間でデータを送受信すると共に、外部に配される視聴者端末30との間でデータを送受信する通信機能と、配信者端末10から配信リクエストを受信すると配信接続先及び視聴接続先とを設定し、配信接続先及び視聴接続先を通信機能によって配信者端末10に返信させる接続先設定機能と、通信機能によって配信リクエストを受信すると配信設定を行う配信設定機能と、配信者端末10から送信された動画データを通信機能で受信すると、配信設定に応じた配信データを生成する生成機能と、生成機能によって生成された配信データを視聴接続先に対応付けてリアルタイムで配信する配信機能と、実現させる。
これにより、動画配信プログラムは、配信者端末10から送信される動画を視聴者端末30にライブ配信することができる。
また、動画配信プログラムは、配信者端末10から配信リクエストを送信することにより、動画配信サーバ20におけるリアルタイム配信の設定を行うことができるので、配信者にとって使いやすいプログラムを提供することができる。また、動画配信プログラムは、ユーザによって制御しやすいプログラムを提供することができる。
また、動画配信プログラムは、視聴者端末30が視聴接続先に応じて動画配信サーバ20に接続することにより配信データを視聴者端末30に配信する。一例として、視聴者が通知部42によって通知される視聴接続先をワンクリックするだけで、視聴者端末30は、配信データを受信することができる。よって、動画配信プログラムは、視聴者にとって使いやすいプログラムを提供することができる。
【0072】
なお、本発明は、上述した実施形態に限定されることはなく、種々の変形が可能である。
例えば、動画配信システム1は、APIサーバ201とHLSサーバ203とを相対的に高速なネットワークにより接続することができる。この場合、動画配信システム1は、配信者端末10と、その配信者端末10に地理的に最も近いAPIサーバ201とを接続させることにより、より安定した動画のリアルタイム配信を実現することができる。
【0073】
また、動画配信システム1は、配信者端末10から動画配信サーバ20に動画データを送信する場合、WebRTCを用いて動画データを送信することができる。この場合、動画配信システム1では、動画配信サーバ20は、WebRTCで動画データを送信する際の解像度、ビットレート及びパケットロス率等の情報のうち少なくとも1つを取得することができる。動画配信システム1では、動画配信サーバ20は、配信者端末10から送信される動画データの解像度が低下した場合、又は、パケットロス率が高くなった場合、配信者端末10に配信する配信データのビットレートを低くすることにより、転送量を抑えて配信データを配信することができる。
【0074】
また、動画配信システム1は、配信者端末10から動画配信サーバ20に送信される動画データのビットレートが、動画配信サーバ20から視聴者端末30に配信される配信データのビットレートよりも低くなった場合、動画データから配信データへの変換を行わなくともよい。すなわち、動画配信システム1では、生成部24は、動画データを動画セグメントに分割して、分割した動画セグメントをセグメントファイル(配信データ)として視聴者端末30に配信することとしてもよい。これにより、動画配信システム1は、動画を配信する際の遅延を抑制することができる。
【0075】
また、上記実施の形態に示す動画配信システム1において、リアルタイム配信を実現できると説明しているが、変換部242による変換処理が入るため、わずかながらもタイムラグが発生する。このタイムラグを抑制する手法として上記実施の形態においては、通常セグメント単位での変換を行って、配信するようにしているところ、セグメント内の細かい単位(例えばフレーム単位)で配信するようにすることで、よりリアルタイムに近い配信を実現する例を示している。この配信の遅延を抑制する手法は、これ以外の手法を用いてもよく、他の構成を採用してもよい。
【0076】
また、動画配信システム1は、配信者端末10から動画配信サーバ20に送られてくる映像や音声のフレームがネットワークの都合などにより遅延する場合、動画配信サーバ20から視聴者端末30へ配信する配信フレームも同時に遅延させることにより、スムーズな動画配信を行うこととしてもよい。
動画配信サーバ20が受信したフレームを配信する際、どのくらい遅延させれば良いかを計算する方法として、例えば、動画配信サーバ20が受信したフレームに所定の遅延を加えた状態でリアルタイムに再生した場合に、フレーム未受信によるフレームスキップ率が閾値以下になるように、時系列順に並び替えた後に遅延を加える、という方式を採用することとしてもよい。
これにより、動画配信システム1は、配信者端末10と動画配信サーバ20の間のネットワークの速度が速い時は自動で遅延が少なく配信することができ、同時に配信者端末10と動画配信サーバ20の間のネットワークの速度が遅いときは自動で「ネットワーク速度が遅いことによるフレーム未到達が原因のフレームスキップにより動画がスムーズに再生できない」状態を避けることができる最低限の遅延を自動で設定することで、動画再生の遅延をできるだけ減らすことができる。
【符号の説明】
【0077】
1 動画配信システム
10 配信者端末
11 配信者通信部
13 データ送信制御部
20 動画配信サーバ(配信サーバ)
21 サーバ通信部
22 接続先設定部
23 配信設定部
24 生成部
241 デコード部
242 変換部
243 処理部
25 配信部
26 制御部
27 DB
30 視聴者端末
31 視聴者通信部
32 表示部
201 APIサーバ
202 DBサーバ
203 HLSサーバ
204 サービスサーバ
40 顧客サーバ
41 リクエスト送信制御部
42 通知部
図1
図2
図3
図4
図5
図6
図7