JP2015177344A - 配信方法、再生装置、配信装置、転送制御プログラムおよび配信制御プログラム - Google Patents

配信方法、再生装置、配信装置、転送制御プログラムおよび配信制御プログラム Download PDF

Info

Publication number
JP2015177344A
JP2015177344A JP2014052268A JP2014052268A JP2015177344A JP 2015177344 A JP2015177344 A JP 2015177344A JP 2014052268 A JP2014052268 A JP 2014052268A JP 2014052268 A JP2014052268 A JP 2014052268A JP 2015177344 A JP2015177344 A JP 2015177344A
Authority
JP
Japan
Prior art keywords
distribution
packet
playback
data
streaming data
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.)
Granted
Application number
JP2014052268A
Other languages
English (en)
Other versions
JP6426901B2 (ja
Inventor
敏郎 大櫃
Toshiro Obitsu
敏郎 大櫃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014052268A priority Critical patent/JP6426901B2/ja
Priority to US14/614,979 priority patent/US10284681B2/en
Priority to CN201510088678.4A priority patent/CN104918068B/zh
Publication of JP2015177344A publication Critical patent/JP2015177344A/ja
Application granted granted Critical
Publication of JP6426901B2 publication Critical patent/JP6426901B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25875Management of end-user data involving end-user authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1094Inter-user-equipment sessions transfer or sharing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/226Characteristics of the server or Internal components of the server
    • H04N21/2265Server identification by a unique number or address, e.g. serial number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Graphics (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】可変ビットレートのストリーミングデータを安定的に再生する。【解決手段】配信装置10は、可変ビットレートのストリーミングデータ11をパケット化して再生装置20a,20bへ配信する。配信されたストリーミングデータ11は、再生装置20aから再生装置20bへ転送される。再生装置20aは、転送先の他の再生装置である再生装置20bとの間の通信品質を計測する。再生装置20aは、受信したストリーミングデータ11における単位再生時間毎の再生データ量と、計測された通信品質とに基づいて、受信したストリーミングデータ11をパケット#11、#12に分割し直して転送する。【選択図】図1

Description

本発明は、配信方法、再生装置、配信装置、転送制御プログラムおよび配信制御プログラムに関する。
近年、動画や音声等のコンテンツをストリーミングにより配信する技術が広く普及している。ストリーミングとは、コンテンツのデータを再生装置が受信しながら、同時に再生を行う方式である。
ストリーミングに関する技術としては、例えば、次のような技術が提案されている。この技術では、サーバは、グループ内の各クライアントの実行スループットに基づいて、1つのクライアントを中間ノードとして選択し、選択されたクライアントに対してソース・パケットを送信する。中間ノードとして機能するクライアントは、受信したパケットを、グループ内に含まれる他のクライアントへ送信する。
また、ストリーミングにより配信されるデータ(ストリーミングデータ)は、可変ビットレート(VBR:Variable Bit Rate)方式により圧縮された状態で配信される場合がある。可変ビットレート方式とは、単位時間あたりの再生に必要なデータ量が変化する圧縮方式である。可変ビットレート方式によれば、動画や音声の品質を維持しながら、全体のデータ量を抑制できるというメリットがある。
国際公開2003−105421号公報
ところで、ストリーミングデータを受信したある再生装置が、そのデータを再生すると共に、他の1以上の再生装置へ転送するというシステムが考えられている。このようなシステムは、例えば、再生装置間がピアツーピア(P2P:Peer To Peer)で通信できるシステムに適している。
このようなシステムにおいては、ある再生装置の受信側の通信速度が十分に高く、その再生装置での再生動作を正常に実行できている場合でも、転送先の再生装置との間の通信速度も十分に高いとは限らない。転送先の再生装置との間の通信速度が低くなると、転送されたデータの遅配や欠落が生じて、転送先の再生装置での再生動作が途切れてしまう可能性がある。特に、可変ビットレートのストリーミングデータにおいて、単位再生時間あたりのデータ量が大きい区間が連続して現れると、通信速度が低下した場合に転送先の再生装置での再生動作が途切れやすくなるという問題がある。
1つの側面では、本発明は、可変ビットレートのストリーミングデータを安定的に再生可能にする配信方法、再生装置、配信装置、転送制御プログラムおよび配信制御プログラムを提供することを目的とする。
1つの案では、可変ビットレートのストリーミングデータがパケット化されて配信装置から複数の再生装置へ配信され、配信されたストリーミングデータが複数の再生装置のうち一の再生装置から他の1以上の再生装置へ転送される配信システムにおける配信方法が提供される。複数の再生装置のうち、受信したストリーミングデータを他の再生装置へ転送する再生装置が、転送先の他の再生装置との間の通信品質を計測する。そして、複数の再生装置のうち、受信したストリーミングデータを他の再生装置へ転送する再生装置が、受信したストリーミングデータにおける単位再生時間毎の再生データ量と、計測された通信品質とに基づいて、受信したストリーミングデータをパケットに分割し直して転送する。
また、1つの案では、可変ビットレートのストリーミングデータをパケット化された状態で受信し、受信したストリーミングデータを再生すると共に他の再生装置へ転送する再生装置が提供される。再生装置は、計測部および転送制御部を有する。計測部は、他の再生装置との間の通信品質を計測する。転送制御部は、受信したストリーミングデータにおける単位再生時間毎の再生データ量と、計測された通信品質とに基づいて、受信したストリーミングデータをパケットに分割し直して転送する。
また、1つの案では、ストリーミングデータを複数の再生装置へ配信する配信装置が提供される。配信装置は、取得部および経路制御部を有する。取得部は、配信装置と複数の再生装置のそれぞれとの間の通信品質と、複数の再生装置それぞれの相互間の通信品質とを取得する。経路制御部は、取得された各通信品質に基づいて、ストリーミングデータが複数の再生装置の間でデイジーチェーン方式により転送されるように、ストリーミングデータの配信経路を決定する。
また、1つの案では、上記再生装置と同様の処理をコンピュータに実行させる転送制御プログラムが提供される。
さらに、1つの案では、上記配信装置と同様の処理をコンピュータに実行させる配信制御プログラムが提供される。
一側面では、可変ビットレートのストリーミングデータを安定的に再生できる。
第1の実施の形態の配信システムの構成例および処理例を示す図である。 第2の実施の形態のデータ配信システムの例を示す図である。 動画データの配信経路の例を示す図である。 配信装置のハードウェア構成例を示す図である。 端末装置のハードウェア構成例を示す図である。 配信装置、端末装置および認証サーバの機能例を示す図である。 グループ情報テーブルの例を示す図である。 配信経路情報テーブルを用いて経路を選択する例を示す図である。 動画データを分割する際の動画解析情報の例を示す図である。 動画データを分割する際の再生区間情報テーブルの例を示す図である。 動画データを分割する際の動画解析情報の例を示す図(続き)である。 動画データを分割する際の再生区間情報テーブルの例を示す図(続き)である。 利用者情報テーブルの例を示す図である。 パケットのフォーマット例を示す図である。 動画をパケット化する例を示す図である。 参加者確認画面を示す図である。 動画選択画面を示す図である。 配信先のアドレスを取得するシーケンス例を示す図である。 配信経路の選択およびパケットの生成のシーケンス例を示す図である。 動画データの配信時のシーケンス例を示す図である。 配信準備処理の例を示すフローチャートである。 動画データの配信処理の例を示すフローチャートである。 動画データの配信処理の例を示すフローチャート(続き)である。 パケット生成処理の例を示すフローチャートである。 パケット生成処理の例を示すフローチャート(続き)である。 パケットの受信処理の例を示すフローチャートである。 パケットの再生成処理の例を示すフローチャートである。
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の配信システムの構成例および処理例を示す図である。第1の実施の形態の配信システムは、ストリーミングデータ11を配信するシステムである。本配信システムは、配信装置10および再生装置20a,20bを有する。なお、再生装置は、3台以上であってもよい。
配信装置10は、ストリーミングデータ11をパケット化して配信する。ストリーミングデータ11は、可変ビットレートのデータであり、例えば、動画データであってもよいし、音声データであってもよい。
再生装置20aは、配信装置10から配信されたストリーミングデータ11を受信する。再生装置20aは、受信したストリーミングデータ11を再生すると共に、再生装置20bに転送する。再生装置20bは、再生装置20aから転送されたストリーミングデータ11を受信して、再生する。
このように、本配信システムでは、ストリーミングデータ11を受信したある再生装置が、他の1以上の再生装置に対してストリーミングデータ11を転送する。これにより、配信システムに含まれるすべての再生装置にストリーミングデータ11が配信され、各再生装置でストリーミングデータ11が再生される。
次に、本配信システムに含まれる再生装置のうち、受信したストリーミングデータ11を他の再生装置に転送する再生装置での処理について説明する。以下、図1の構成例において、このような再生装置は再生装置20aに該当する。
再生装置20aは、転送先の再生装置20bとの間の通信品質を計測する。通信品質の例として、通信速度や、RTT(Round Trip Time)等が挙げられる。また、再生装置20aは、受信したストリーミングデータ11における単位再生時間毎の再生データ量と、計測された通信品質とに基づいて、受信したストリーミングデータ11をパケットに分割し直して転送する。これにより、ストリーミングデータ11を、転送先の再生装置20bにおいて安定的に再生できるようにする。
ここで、ストリーミングデータ11における再生区間R1〜R3のデータが、パケット#1に格納されて再生装置20aに送信されたとする。さらに、それに続けて、ストリーミングデータ11における再生区間R4〜R6のデータが、パケット#2に格納されて再生装置20aに送信されたとする。
“再生区間”とは、ストリーミングデータ11の再生時間を一定時間(単位再生時間)毎に区切った区間である。可変ビットレートであるので、各再生区間における再生データ量は変動し得る。図1の例では、再生区間R1,R2,R3,R4,R5,R6の再生データ量は、それぞれ5Mb,5Mb,10Mb,35Mb,25Mb,20Mbであるとする。以下、説明を簡単にするために、各再生区間の時間(単位再生時間)を1秒とする。
また、再生装置20aは、再生装置20bとの間の通信品質として、通信速度を計測するものとする。ここでは、再生装置20bとの間の通信速度が25Mbpsと計測されたとする。
ここで、仮に再生装置20aがパケット#1,#2をそのまま再生装置20bへ転送した場合を考える。
パケット#1には、3秒かけて再生されるデータが格納されている。また、パケット#1に含まれる再生データ量の合計は、20Mbである。このため、パケット#1が再生装置20aから25Mbpsで送信された場合、送信開始から3秒以内で、再生装置20bでのパケット#1の受信が完了する。
一方、パケット#2にも、3秒かけて再生されるデータが格納されている。また、パケット#2に含まれる再生データ量の合計は、80Mbである。このため、パケット#2が再生装置20aから25Mbpsで送信された場合、送信開始から3秒以内では、再生装置20bでのパケット#2の受信が完了しない。この場合、再生装置20bでのパケット#2の受信完了が遅れ、再生装置20bでパケット#2内のデータを再生すべき時刻までに、そのデータの到着が間に合わなくなる可能性が生じる。また、通信速度に対するパケット#2の相対的なデータ量が大き過ぎるため、伝送路の途中でパケット#2が欠落する可能性もある。このようなパケット受信完了の遅延やパケット欠落により、再生装置20bでのストリーミングデータ11の再生が途切れてしまう可能性がある。
そこで、再生装置20aは、ストリーミングデータ11をパケットに分割し直して転送する。再生装置20aは、少なくともパケット#2に含まれるデータを送信パケットに含める際の分割位置を変更する。図1の例では、パケット#1,#2に含まれるデータを新たなパケットに分割し直す。この場合、ストリーミングデータ11は、再生区間R1〜R6のそれぞれの再生データ量と、計測された通信速度“25Mbps”とに基づいて、パケット#1,#2に含まれるデータを新たなパケットに分割し直す。
例えば、再生時間4秒分に相当する再生区間R1〜R4の再生データ量の合計は、55Mbであり、25Mbpsの速度で4秒間に送信可能なデータ量“100Mb”より小さい。そこで、再生装置20aは、再生区間R1〜R4の再生データを新たなパケット#11に格納して、再生装置20bに送信する。この場合、パケット#11が再生装置20aから送信されてから4秒以内で、再生装置20bにおけるパケット#11の受信が完了する。
また、再生時間2秒分に相当する再生区間R5,R6の再生データ量の合計は、45Mbであり、25Mbpsの速度で2秒間に送信可能なデータ量“50Mb”より小さい。そこで、再生装置20aは、再生区間R5,R6の再生データを新たなパケット#12に格納して、再生装置20bに送信する。この場合、パケット#12が再生装置20aから送信されてから2秒以内で、再生装置20bにおけるパケット#12の受信が完了する。
このように、パケット#1,#2に格納されていたデータがパケット#11,#12に分割し直されて転送されることで、再生装置20bにおけるストリーミングデータ11のバッファ量の余裕度が改善される可能性が高まる。また、伝送路上でパケットが欠落する可能性も低減される。従って、再生装置20bでストリーミングデータ11の再生が途切れる可能性が低下し、安定的な再生が可能になる。
なお、再生装置20aは、単位再生時間毎の再生データ量と、計測された通信品質とに基づき、必要な場合のみパケットを分割し直し、必要でない場合には受信したパケットをそのまま転送してもよい。例えば、再生装置20aは、受信したパケットを分割し直すかを、そのパケットをそのまま転送した場合に、そのパケットに格納されている再生データの再生時間以内に、転送先でそのパケットの受信を完了できるか否かによって判定する。
また、受信したパケットを分割し直すべきかの判定処理は、次のように簡略化されてもよい。再生装置20aは、転送先との間の通信品質を示す指標に基づいて、閾値を設定する。例えば、再生装置20aは、転送先との間の通信速度に所定の係数を乗じた値を閾値とする。そして、再生装置20aは、受信したパケットに含まれるデータを解析し、再生データ量が閾値を超える再生区間が所定数存在する場合に、受信したパケットを分割し直すと判定する。これにより、再生装置20aの処理負荷が軽減される。
[第2の実施の形態]
図2は、第2の実施の形態のデータ配信システムの例を示す図である。データ配信システム1は、システムの利用者にストリーミングにより動画データを配信するシステムである。第2の実施の形態において、データ配信システム1は、eラーニング(Electronic Learning)を利用した学習システムに用いるが、それ以外のシステムに適用してもよい。データ配信システム1は、所定の時刻にeラーニングに用いる動画を、端末装置へストリーミングにより配信する。端末装置は、本システムのeラーニングの参加者により使用されるものである。
データ配信システム1は、配信装置100、端末装置200a,200b,200cおよび認証サーバ300を有する。配信装置100は、ルータ41を介してネットワーク30と接続可能であり、端末装置200aは、ルータ42を介してネットワーク30と接続可能である。端末装置200bは、ルータ43を介してネットワーク30と接続可能であり、端末装置200cは、ルータ44を介してネットワーク30と接続可能である。配信装置100、端末装置200a,200b,200cおよび認証サーバ300は、ネットワーク30を介して、相互に接続可能である。
なお、配信装置100および端末装置200a,200b,200cは、1つのルータを介してネットワーク30と接続されていてもよい。また、配信装置100は、第1の実施の形態の配信装置10の一例である。また、端末装置200a,200b,200cのうちの1つは、第1の実施の形態の再生装置20bの一例であり、残りは再生装置20aの一例である。
配信装置100は、動画を配信する機能を有するコンピュータである。配信装置100は、例えば、デスクトップ型のコンピュータ、ノート型のコンピュータ等が挙げられる。
配信装置100は、端末装置200a,200b,200cのアドレスを認証サーバ300から取得する。配信装置100は、各端末装置と配信装置100との間の有効帯域幅と、端末装置間の有効帯域幅とを収集する。有効帯域幅とは、単位時間(ここでは、1秒)あたりに送信可能なデータ量(すなわち、通信速度)を意味する。配信装置100は、収集した有効帯域幅に基づいて、動画を配信するための配信経路を決定する。配信経路は、端末装置がデイジーチェーン方式で接続されるように決定される。
また、配信装置100は、決定した配信経路に従って、配信経路を示す情報を各端末装置へ配信する。これにより、各端末装置は、配信経路を認識できる。以下、配信経路を示す情報を“配信経路情報”と記載する場合がある。また、配信装置100は、決定した配信経路に従って、動画をパケット化して各端末装置へ配信する。各パケットのデータ長は、送信先の端末装置との間の有効帯域幅等に基づいて算出される。
端末装置200a,200b,200cは、動画を再生する機能を有する装置である。データ配信システム1では、端末装置200a,200b,200cとして、タブレット型のコンピュータ、スマートホン等、携帯可能な装置を用いるが、デスクトップ型のコンピュータ等の所定の場所に配置される装置を用いてもよい。
また、端末装置200a,200b,200cは、配信装置100の要求に応じて、他の各端末装置との間の有効帯域幅とを計測し、計測した各装置との間の有効帯域幅を配信装置100へ送信する。なお、他の端末装置のアドレスは、配信装置100からの要求の際に各端末装置へ通知される。
また、端末装置200a,200b,200cは、配信経路情報を受信する。端末装置200a,200b,200cは、パケット化された動画データを受信しながら、動画データに基づく動画を再生する。
また、端末装置200a,200b,200cは、配信経路情報に基づいて、デイジーチェーン方式で接続される。そして、配信装置100から送信された動画データは、デイジーチェーン方式で端末装置200a,200b,200cに転送される。従って、端末装置200a,200b,200cのうち、末端を除く2つの端末装置は、受信した動画データの再生処理を行うと共に、その動画データを他の端末装置へ転送する。また、これら2つの端末装置は、受信した動画データを必要に応じてパケット化し直して、転送先の端末装置へ転送する。
配信装置100および端末装置200a,200b,200cは、認証サーバ300を用いてハイブリッドピアツーピア(ハイブリッドP2P:Hybrid Peer To Peer)方式により相互に通信を行う。ここで、P2P方式とは、クライアントサーバ方式とは異なり、複数のノード(例えば、配信装置100や端末装置200a,200b,200c)同士が対等の機能または立場で直接通信を行う方式である。これに対して、ハイブリッドP2P方式は、実体的なデータはノード間で直接送受信されるものの、サーバが各ノードのアドレスや利用者のID(Identification)を管理する方式である。
例えば、ハイブリッドP2P方式において、各ノードは他のノードのアドレスを認識していない。そこで、通信を行う一方のノードは、例えば、利用者IDなどの識別情報を指定してサーバに問い合わせることで、他方のノードのアドレスを取得する。その後、一方のノードは、取得したアドレスを用いて他方のノードと直接通信する。
図2に示すデータ配信システム1では、認証サーバ300がハイブリッドP2Pにおけるサーバに相当し、配信装置100および端末装置200a,200b,200cがノードに相当する。すなわち、配信装置100または端末装置200a,200b,200cが認証サーバ300から通信相手のアドレスを取得した後、配信装置100と端末装置200a,200b,200cとの間で画像データが直接的に送受信される。
認証サーバ300は、利用者のIDや、配信装置100および各端末装置のアドレスを管理する。認証サーバ300は、端末装置200a,200b,200cの何れかの要求に応じて、データ配信システム1の利用者を認証する。認証サーバ300は、配信装置100の要求に応じて、認証済の利用者のIDや、認証済の利用者が使用する装置(例えば、端末装置200a)のアドレスを通知する。
図3は、動画データの配信経路の例を示す図である。データ配信システム1において動画は、デイジーチェーン方式により接続された配信経路に従って、配信装置100から端末装置200a,200b,200cへ配信される。
図3上段に示すように、配信装置100および端末装置200a,200b,200cは相互に接続されている。そのため、配信装置100からデイジーチェーン方式で端末装置200a,200b,200cへ動画を配信する場合、複数の配信経路が存在する。例えば、図3上段の場合、動画の配信経路の例として、配信装置100から端末装置200a、端末装置200b、端末装置200cの順に経由するものや、端末装置200b、端末装置200c、端末装置200aの順に経由するもの等が挙げられる。
そこで、配信装置100は、各端末装置との間の有効帯域幅および端末装置間の有効帯域幅を収集し、収集した有効帯域幅に基づいて、動画を配信するために最適な配信経路を、複数の配信経路から1つ選択する。そして、選択した配信経路に従って、各端末装置へ動画を配信する。
例えば、端末装置200a、端末装置200b、端末装置200cの順に経由する配信経路が、配信装置100により選択されたとする。この場合、データ配信システム1において配信される動画は、図3下段に示すように、配信装置100から、端末装置200a、端末装置200b、端末装置200cの順に経由することで、各端末装置に配信される。
このように、デイジーチェーン方式により接続された配信経路に従って動画を配信することで、動画の配信による負荷が特定の装置に集中しないため、負荷の集中による動画データの欠落や、動画データの到着の遅延を抑制できる。よって、配信装置100は、各端末装置に連続的に再生可能な状態で動画を配信できる。また、有効帯域幅に基づいて配信経路を決定することで、動画がすべての端末装置に安定的に配信される可能性が高められる。
図4は、配信装置のハードウェア構成例を示す図である。配信装置100は、プロセッサ101、RAM(Random Access Memory)102、HDD(Hard Disk Drive)103、画像信号処理部104、入力信号処理部105、ディスクドライブ106および通信インタフェース107を有する。これらのユニットは、配信装置100内でバス108に接続されている。
プロセッサ101は、プログラムの命令を実行する演算器を含み、例えばCPU(Central Processing Unit)である。プロセッサ101は、HDD103に記憶されているプログラムやデータの少なくとも一部をRAM102にロードしてプログラムを実行する。なお、プロセッサ101は複数のプロセッサコアを備えてもよい。また、配信装置100は、複数のプロセッサを備えてもよい。また、配信装置100は、複数のプロセッサまたは複数のプロセッサコアを用いて並列処理を行ってもよい。また、2以上のプロセッサの集合、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)等の専用回路、2以上の専用回路の集合、プロセッサと専用回路の組み合わせ等を「プロセッサ」と呼んでもよい。
RAM102は、プロセッサ101が実行するプログラムやプログラムから参照されるデータを一時的に記憶する揮発性メモリである。なお、配信装置100は、RAM以外の種類のメモリを備えてもよく、複数個の揮発性メモリを備えてもよい。
HDD103は、OS(Operating System)やファームウェアやアプリケーションソフトウェア等のソフトウェアのプログラムおよびデータを記憶する不揮発性の記憶装置である。なお、配信装置100は、フラッシュメモリ等の他の種類の記憶装置を備えてもよく、複数個の不揮発性の記憶装置を備えてもよい。
画像信号処理部104は、プロセッサ101からの命令に従って、配信装置100に接続されたディスプレイ51に画像を出力する。ディスプレイ51としては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイ(LCD:Liquid Crystal Display)等を用いることができる。
入力信号処理部105は、配信装置100に接続された入力デバイス52から入力信号を取得し、プロセッサ101に通知する。入力デバイス52としては、マウスやタッチパネル等のポインティングデバイス、キーボード等を用いることができる。
ディスクドライブ106は、記録媒体53に記録されたプログラムやデータを読み取る駆動装置である。記録媒体53として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDD等の磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)等の光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。ディスクドライブ106は、プロセッサ101からの命令に従って、記録媒体53から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
通信インタフェース107は、ルータ41等のルータおよびネットワーク30等のネットワークを介して他の情報処理装置(例えば、端末装置200a等)と通信を行う。
なお、配信装置100はディスクドライブ106を備えていなくてもよく、専ら他の端末装置から制御される場合には、画像信号処理部104や入力信号処理部105を備えていなくてもよい。また、ディスプレイ51や入力デバイス52は、配信装置100の筐体と一体に形成されていてもよい。
なお、認証サーバ300も、配信装置100と同様のハードウェアを用いて実現できる。
図5は、端末装置のハードウェア構成例を示す図である。なお、端末装置200a,200b,200cはそれぞれ同様のハードウェア構成を有するので、図5ではこれらを“端末装置200”と表す。また、これ以降、端末装置200a,200b,200cを区別せずに説明する場合には、“端末装置200”という表記を使用する。
端末装置200は、プロセッサ201、RAM202、フラッシュメモリ203、ディスプレイ204、タッチパネル205および無線インタフェース206を有する。これらのユニットは、端末装置200内でバス207に接続されている。
プロセッサ201は、前述のプロセッサ101と同様に、プログラムの命令を実行する演算器を含むプロセッサである。RAM202は、前述のRAM102と同様に、プロセッサ201が実行するプログラムやデータを一時的に記憶する揮発性メモリである。
フラッシュメモリ203は、OSやファームウェアやアプリケーションソフトウェア等のプログラムおよびデータを記憶する不揮発性の記憶装置である。なお、端末装置200は、HDD等の他の種類の記憶装置を備えてもよく、複数個の不揮発性の記憶装置を備えてもよい。
ディスプレイ204は、プロセッサ201からの命令に従って画像を表示する。ディスプレイ204としては、液晶ディスプレイや有機EL(Electro Luminescence)ディスプレイ等を用いることができる。
タッチパネル205は、ディスプレイ204に重ねて設けられており、ディスプレイ204に対するユーザのタッチ操作を検出してタッチ位置を入力信号としてプロセッサ201に通知する。タッチ操作には、タッチペン等のポインティングデバイスまたはユーザの指が用いられる。タッチ位置の検出方式には、例えば、マトリクススイッチ方式、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式等様々な検出方式があり、いずれの方式を採用してもよい。なお、端末装置200は、複数の入力キーを備えたキーパッド等、他の種類の入力デバイスを備えてもよい。
無線インタフェース206は、無線通信を行う通信インタフェースである。無線インタフェース206は、受信信号の復調・復号や送信信号の符号化・変調等を行う。例えば、無線インタフェース206は、ルータ42等のルータを介してネットワーク30等に接続する。端末装置200は、複数の無線インタフェースを備えてもよい。
なお、プロセッサ201に実行させるプログラムは、フラッシュメモリ203に他の記憶装置からコピーするようにしてもよい。また、プロセッサ201に実行させるプログラムは、無線インタフェース206がネットワーク30等からダウンロードするようにしてもよい。
図6は、配信装置、端末装置および認証サーバの機能例を示す図である。配信装置100は、管理情報記憶部110、動画情報記憶部120、配信準備部130、通信品質取得部140、配信経路選択部150、パケット生成部160および動画配信部170を有する。管理情報記憶部110および動画情報記憶部120は、RAM102またはHDD103に確保した記憶領域として実現できる。配信準備部130、通信品質取得部140、配信経路選択部150、パケット生成部160および動画配信部170の処理は、例えば、配信装置100が備えるプロセッサ101が所定のプログラムを実行することで実現できる。
管理情報記憶部110は、データ配信システム1の利用者のグループ(利用者グループ)に関する情報を予め格納したグループ情報テーブルを記憶する。また、管理情報記憶部110は、選択可能な配信経路に関する情報を格納した配信経路情報テーブルを記憶する。
動画情報記憶部120は、配信装置100が配信可能な1または2以上の動画データを予め記憶する。動画情報記憶部120に記憶された動画データは、可変ビットレートで圧縮符号化されたデータである。また、動画情報記憶部120は、動画データの解析結果を示す動画解析情報を一時的に記憶する。さらに、動画情報記憶部120は、動画データを再生区間毎に分割するときの再生区間に関する情報を一時的に格納する再生区間情報テーブルを記憶する。再生区間とは、再生時間に基づいて動画データを分割する際の各分割区間を示し、1つの再生区間に含まれる動画データが1つのパケットに格納される。
配信装置100は、動画の配信先となる端末装置のアドレスを認識していないため、直接データを送信できない。そこで、配信準備部130は、次に説明する機能により、配信先となる端末装置のアドレスを取得し、配信先の端末装置に配信装置100が直接データを送信できるようにする。
配信準備部130は、参加確認要求を認証サーバ300へ送信する。参加確認要求は、eラーニングに参加可能な利用者グループに属する利用者のIDを含む。この利用者グループは、配信装置100の管理者が入力操作等により選択してもよいし、配信する動画に対応するグループを配信準備部130等が検索してもよい。利用者のIDは、利用者グループに対応付けられてグループ情報テーブルに登録されている。
配信準備部130は、確認結果通知を認証サーバ300から受信する。確認結果通知は、eラーニングに参加する利用者(参加者)のIDを含む。eラーニングに参加する利用者のIDは、参加確認要求に含まれる利用者のうち、eラーニングに参加する利用者のIDである。
また、配信準備部130は、確認結果通知に含まれる利用者のIDを指定して、宛先要求を認証サーバ300へ送信する。配信準備部130は、宛先通知を認証サーバ300から受信する。宛先通知は、動画の配信先の端末装置のアドレスを含む。動画の配信先の端末装置は、宛先要求に含まれる利用者が使用するものである。宛先通知を受信することで、配信装置100は、eラーニングに参加する利用者が使用する端末装置へ、直接データを送信できる。
通信品質取得部140は、配信準備部130の処理によりデータが送信可能となった各端末装置へ通信品質要求を送信する。通信品質要求は、送信先の端末装置へ、各端末装置との間の有効帯域幅を要求するための通知である。このとき、通信品質要求は、配信準備部130により取得された各配信先の端末装置のアドレスを含む。
通信品質取得部140は、通信品質要求が送信された各端末装置から通信品質通知を受信する。通信品質通知は、通信品質通知の送信元の端末装置と、他の各端末装置との間の有効帯域幅を含む。通信品質取得部140は、受信した有効帯域幅を配信経路情報テーブルに登録する。
また、通信品質取得部140は、配信準備部130によりデータが送信可能となった各端末装置との間の有効帯域幅を計測し、計測した有効帯域幅を配信経路情報テーブルに登録する。
配信経路選択部150は、配信経路情報テーブルに登録された有効帯域幅に基づいて、複数の配信経路の候補から1つの配信経路を選択する。複数の配信経路の候補は、配信経路情報テーブルに予め登録されている。
パケット生成部160は、動画情報記憶部120から配信する動画を選択する。動画を選択する例として、ディスプレイ51に表示させた画面から、配信する動画を配信装置100の管理者に選択させる方法が挙げられる。あるいは、記憶された配信する動画に関する情報を配信装置100に予め記憶し、記憶した情報に基づいて配信する動画をパケット生成部160が選択する方法が挙げられる。本データ配信システム1では、前者により配信する動画を選択するものとする。
パケット生成部160は、選択した動画のデータを解析することで動画解析情報を生成する。送信先の端末装置との間の有効帯域幅と、動画解析情報とに基づいて、動画を分割するときの各再生区間を決定する。パケット生成部160は、決定した再生区間で配信する動画を分割する。パケット生成部160は、分割された動画データ毎に、パケットを生成する。このとき、パケット生成部160は、再生時刻が最も小さい再生区間に分割された動画を含むパケットに、配信経路選択部150が選択した配信経路情報を含めるようにする。
動画配信部170は、パケット生成部160により生成された各パケットを送信先の端末装置へ送信する。このとき、動画配信部170は、再生時刻が小さい動画が含まれているパケットから順に送信する。また、2つ目以降のパケットは、端末装置200からパケットの要求があったときに送信される。
端末装置200は、参加要求部210、通信品質計測部220、パケット受信部230、パケット再生成部240、パケット送信部250、動画再生部260および管理情報記憶部270を有する。参加要求部210、通信品質計測部220、パケット受信部230、パケット再生成部240、パケット送信部250および動画再生部260の処理は、端末装置200が備えるプロセッサ201が所定のプログラムを実行することで実現できる。
参加要求部210は、認証サーバ300に参加要求を送信する。参加要求は、利用者のIDとパスワードを含む。参加要求部210は、認証サーバ300による認証結果を受信する。
通信品質計測部220は、配信装置100から通信品質要求を受信する。通信品質計測部220は、配信装置100の通信品質要求に応じて、他の各端末装置との間の有効帯域幅を計測する。通信品質計測部220は、計測した有効帯域幅を含む通信品質通知を配信装置100へ送信する。
パケット受信部230は、パケット化された動画データを、配信装置100または他の端末装置から受信する。1つ目に受信するパケットには、配信経路情報が含まれる。パケット受信部230は、受信が完了したパケットに含まれる動画データをデコーダバッファに格納する。また、動画データが転送される場合、パケット受信部230は、受信したパケットを送信バッファに格納する。後述するように、送信バッファ上で、必要に応じてパケットの再生成が行われる。これらのバッファ領域は、端末装置200の備える記憶装置(例えば、RAM202)に確保された記憶領域である。
また、パケット受信部230は、2つ目以降のパケットを受信する際、デコーダバッファ上のデータ蓄積量を確認し、データ蓄積量が閾値未満である場合、配信装置100にパケット要求を送信する。すると、パケット要求に応じて配信装置100から2つ目以降のパケットが1つ受信される。
パケット再生成部240は、受信した動画データを解析して、単位再生時間毎のデータ量を算出する。算出されたデータ量は、管理情報記憶部270の動画解析情報に登録される。パケット再生成部240は、動画データの転送先の端末装置との間の有効帯域幅と、単位再生時間毎のデータ量とに基づいて、必要に応じて動画データをパケット化し直す。転送先の端末装置は、パケット受信部230が受信した配信経路情報に基づいて取得できる。転送先の端末装置との間の有効帯域幅は、取得した送信先の端末装置と、通信品質計測部220により計測された有効帯域幅とに基づいて取得できる。
パケット送信部250は、パケット化された動画データを転送先の端末装置に送信する。パケット再生成部240によってパケット再生成の対象にならなかった受信パケットについては、送信先アドレス等のヘッダ情報のみが書き替えられてそのまま送信される。また、パケット再生成部240によってパケット再生成の対象になった受信パケットの動画データについては、再生成されたパケットに格納されて送信される。
動画再生部260は、パケット受信部230によりデコーダバッファに格納された動画データに対して伸張復号化処理を行うことで、動画を再生する。
管理情報記憶部270は、例えば、端末装置200の備える記憶装置(例えば、RAM202)によって実現される。管理情報記憶部270は、単位再生時間毎のデータ量を格納した動画解析情報を記憶する。
認証サーバ300は、利用者情報記憶部310、認証部320および配信先提供部330を有する。利用者情報記憶部310は、認証サーバ300が備えるRAMまたはHDD等の記憶装置に確保した記憶領域として実現できる。認証部320および配信先提供部330の処理は、例えば、認証サーバ300が備えるプロセッサが所定のプログラムを実行することで実現できる。
利用者情報記憶部310は、データ配信システム1の利用者に関する情報を予め格納した利用者情報テーブルを記憶する。
認証部320は、端末装置200から参加要求を受信する。参加要求は、利用者のIDとパスワードとを含む。認証部320は、受信した利用者のIDとパスワードとを用いて、利用者を認証する。認証部320は、認証に成功した場合、利用者情報テーブルにその旨を登録する。認証部320は、参加要求を送信した端末装置へ認証結果を通知する。認証に成功した利用者は、認証サーバ300に参加者として認識される。
配信先提供部330は、参加確認要求を配信装置100から受信する。認証部320は、確認結果通知を配信装置100へ送信する。確認結果通知は、受信した参加確認要求に含まれる利用者のうち、認証済の利用者(すなわち、参加者)のIDを含む。認証済か否かは、利用者情報テーブルを参照することで判定できる。
また、配信先提供部330は、宛先要求を配信装置100から受信する。配信先提供部330は、宛先通知を配信装置100へ送信する。宛先通知は、各宛先要求に含まれている参加者についての端末装置のアドレスを含む。端末装置のアドレスは、認証済の各利用者のIDに基づいて、利用者情報テーブルから取得できる。
次に、図7〜17を用いて、データ配信システム1が用いるテーブルおよびデータについて説明する。まず、図7〜12を用いて、配信装置100が用いるテーブルについて説明する。具体的には、まず、図7では、グループ情報テーブルについて説明し、次に、図8では、配信経路情報テーブルを用いて配信する動画の配信経路を決定する方法について説明する。そして、図9〜12では、配信装置100が、動画解析情報および再生区間情報テーブルを用いて、動画を分割する方法について説明する。
図7は、グループ情報テーブルの例を示す図である。グループ情報テーブル111は、データ配信システム1の利用者グループに関する情報を予め格納する。グループ情報テーブル111は、管理情報記憶部110に記憶されている。
グループ情報テーブル111は、グループIDおよび利用者IDの項目を有する。グループIDの項目には、データ配信システム1の利用者グループを識別するための識別子が設定される。利用者IDには、グループに属するデータ配信システム1の利用者を識別するための識別子が設定される。
図8は、配信経路情報テーブルを用いて経路を選択する例を示す図である。図8において、配信装置100の識別子は“配”であり、端末装置200aの識別子が“#A”であり、端末装置200bの識別子が“#B”であり、端末装置200cの識別子が“#C”であるものとする。
配信経路情報テーブル112は、端末装置200a,200b,200cをデイジーチェーン方式で接続した場合の接続パターン(すなわち、配信経路の候補)に関する情報を格納する。配信経路情報テーブル112は、配信装置100が複数の配信経路の候補から1つの配信経路を選択する際に用いられる。配信経路情報テーブル112は、管理情報記憶部110に記憶されている。
配信経路情報テーブル112は、配信経路、有効帯域幅1、有効帯域幅2、有効帯域幅3および合計の項目を有する。
配信経路の項目には、動画の配信経路の候補を示す情報が設定される。例えば、配信装置100から端末装置200a,200b,200cの順に経由する配信経路を示す場合、配信経路の項目には、“配,#A,#B,#C”が設定される。
有効帯域幅1には、対応する配信経路における1つ目の送信先の端末装置と、その端末装置の送信元の装置との間の有効帯域幅を示す情報が設定される。有効帯域幅2には、対応する配信経路における2つ目の送信先の端末装置と、その端末装置の送信元の装置との間の有効帯域幅を示す情報が設定される。有効帯域幅3には、対応する配信経路における3つ目の送信先の端末装置と、その端末装置の送信元の装置との間の有効帯域幅を示す情報が設定される。
例えば、配信経路の項目に“配,#A,#B,#C”が設定されているとすると、有効帯域幅1には、配信装置100が計測した端末装置200aとの間の有効帯域幅を示す情報が設定される。同様の場合において、有効帯域幅2には、端末装置200aが計測した端末装置200bとの間の有効帯域幅を示す情報が設定され、有効帯域幅3には、端末装置200bが計測した端末装置200cとの間の有効帯域幅を示す情報が設定される。なお、有効帯域幅1、有効帯域幅2、有効帯域幅3に登録される値の単位は、“Mbps”であるものとする。
合計の項目には、有効帯域幅1、有効帯域幅2および有効帯域幅3の合計値を示す情報が設定される。配信装置100は、複数の配信経路の候補から1つの配信経路を選択する際、合計の項目に設定されている値が最も大きい配信経路を選択する。
例えば、図8上段に示すような、配信経路情報テーブル112が管理情報記憶部110に記憶されているとする。配信経路情報テーブル112に登録されている合計のうち、最も大きい値は“140”である。そのため、合計が“140”であるレコードの配信経路の項目に示す“配,#A,#C,#B”が、配信される動画の配信経路として決定される。この場合、図8下段に示すように、動画データは、配信装置100から端末装置200a,200c,200bの順に経由して配信される。これにより、分割された動画データを含むパケットの欠落や、パケットの到着の遅延のリスクが軽減されるため、配信先のすべての端末装置で連続的に動画を再生できる可能性が高くなる。
なお、配信装置100は、有効帯域幅1、有効帯域幅2および有効帯域幅3の項目の少なくとも1つに所定値を下回る有効帯域幅が登録されている配信経路を、配信経路の候補から除外してもよい。また、有効帯域幅の合計値が最大である配信経路が複数存在する場合、有効帯域幅1、有効帯域幅2および有効帯域幅3の項目に登録された値の最小値が、最も大きい通信配信経路を選択してもよい。
さらに、配信装置100は、上記の方法の他、次のように配信経路を選択してもよい。まず、配信装置100は、有効帯域幅1が最も大きい配信経路を選択する。有効帯域幅1の最大である配信経路が複数存在する場合、配信装置100は、有効帯域幅2が最も大きい配信経路を選択する。さらに、有効帯域幅2が最も大きい配信経路が複数存在する場合、配信装置100は、有効帯域幅3が最も大きい配信経路を選択する。
図9は、動画データを分割する際の動画解析情報の例を示す図であり、図10は、動画データを分割する際の再生区間情報テーブルの例を示す図である。
動画解析情報121は、配信する動画データの解析結果を示す情報である。動画解析情報121は、動画データを一定の再生時間毎の区間に区切り、区切られた各区間について、再生に必要なデータ量(再生データ量)を記録したものである。以下、上記のように区切られた区間を“単位区間”と記載する場合があり、単位区間の再生時間を"単位再生時間"と記載する場合がある。以下、例として、単位再生時間は1/8秒であるものとする。データ配信システム1において、単位区間を最小単位として動画データが分割され、パケットが生成される。以下、単位区間の再生データを“単位区間データ”と記載する場合がある。
動画解析情報121は、動画情報記憶部120に一時的に記憶されている。実際の動画解析情報121は、例えば、単位区間毎に再生データ量が対応付けられたテーブル情報として実現される。図9では、このようなテーブル情報に記録された情報をグラフ化して表している。図9の動画解析情報121において、横軸は、再生時刻を表し、縦軸は、データ量を表す。例えば、図9の動画解析情報121に対応する動画について、0秒から1/8秒までの単位区間における単位区間データのデータ量は、“1Mb”となる。
図10に示す再生区間情報テーブル122は、動画データを再生区間毎に分割するときの再生区間に関する情報を一時的に格納する。再生区間情報テーブル122は、動画データにおける各再生区間の分割位置を算出するときや、各再生区間の再生データをパケットに格納する際に用いられる。
再生区間情報テーブル122は、再生区間、単位区間数および再生データ量の項目を有する。再生区間の項目には、再生区間を識別するための識別子が設定される。前述のように、再生区間とは、再生時間に基づいて動画データを分割する際の各分割区間を示す。再生区間は、動画像データの先頭から順に設定される。単位区間数の項目には、再生区間に含まれる単位区間の数が設定される。再生データ量の項目には、再生区間の再生データ量を示す情報が設定される。すなわち、再生データ量の項目には、再生区間に含まれる単位区間データのデータ量の合計が設定される。
ここで、動画解析情報121および再生区間情報テーブル122を用いて、配信する動画データを分割する方法について説明する。
まず、配信装置100は、初期設定として、動画データを一定再生時間間隔の再生区間に区切り、区切られた各再生区間に関する情報を算出し、再生区間情報テーブル122に登録する。以下、初期設定時には再生区間の長さが1秒に設定されるものとする。各再生区間に関する情報には、再生区間に含まれる単位区間数や、再生区間の再生データ量が含まれる。
例えば、図9上段に示す動画解析情報121に対応する動画データを分割する場合、まず、配信装置100は、配信する動画を“0〜1秒”である再生区間#1と、“1〜2秒”である再生区間#2と、“2〜3秒”である再生区間#3に区切る。
次に、配信装置100は、1秒間隔に区切られた再生区間#1,#2,#3に関する情報を算出して、再生区間情報テーブル122に登録する。図9の動画解析情報121が示すように、再生区間#1,#2,#3は、それぞれに8個の単位区間を含む。また、再生区間#1に含まれる単位区間データの合計(すなわち、再生区間#1の再生データ量)は、“1+1+2+2+1+1+1+1=10[Mb]”となる。同様に、再生区間#2の再生データ量は、“7+7+7+7+7+7+2+4=48[Mb]”となり、再生区間#3の再生データ量は“1+1+1+2+2+1+1+7=16[Mb]”となる。
そのため、図10の再生区間情報テーブル122が示すように、再生区間#1,#2,#3に対応する単位区間数の項目には、それぞれ“8”が登録される。また、再生区間#1に対応する再生データ量の項目には“10”が登録され、再生区間#2に対応する再生データ量の項目には“48”が登録され、再生区間#3に対応する再生データ量の項目には“16”が登録される。 なお、図9の下段に示す“動画#1”、“動画#2”、“動画#3”の各ブロックは、その面積がそれぞれ再生区間#1,#2,#3における再生データ量を模式的に示す。各ブロックの高さは、対応する再生区間のデータを1パケットに格納して一定速度で送信した場合の、速度の最低値を模式的に示す。
次に、配信装置100は、区間の調整の対象となる再生区間を判定する。具体的には、まず、配信装置100は、データ量が閾値121aを超える単位区間データの数が2以上連続している再生区間を、動画解析情報121に基づいて検索する。次に、配信装置100は、検索された再生区間とその前後の再生区間とを、調整の対象となる再生区間と判定する。
閾値121aは、送信先の端末装置との間の有効帯域幅に基づいて設定される。例えば、閾値121aは、有効帯域幅に対して(1/単位再生時間)および補正値を乗算することで算出される。この閾値121aは、再生区間の再生データを1つのパケットに格納して送信した際に、パケットの遅配や欠落により送信先の端末装置での再生動作が途切れる可能性があるかを、簡易的に判定するための値となる。
例えば、閾値121aが“6Mb”とすると、図9上段の場合、まず、データ量が“6Mb”を超える単位区間データの数が2以上連続している再生区間として再生区間#2が検索される。そして、検索された再生区間#2と、再生区間#2の前後の再生区間#1,#3とが、調整の対象となる再生区間と判定される。
なお、配信装置100は、上記方法の他、再生区間のデータ量が、その再生区間の再生時間以内に送信可能なデータ量を超えている場合に、その再生区間とその前後の再生区間とを調整の対象と判定してもよい。再生区間の再生時間以内に送信可能な再生データ量は、“送信先の端末装置との間の有効帯域幅×単位区間数×単位再生時間”により算出される。配信装置100の送信先の端末装置との間の有効帯域幅が“40Mbps”であり、各再生区間の再生時間が1秒であるとすると、再生時間(すなわち1秒)以内に送信可能なデータ量は、“40×8×(1/8)=40[Mb]”となる。
図9の例では、再生区間#2の再生データ量が“48Mb”であり、再生時間以内に送信可能なデータ量“40Mb”を超えている。この場合、再生区間#2とその前後の再生区間#1,#3とが、調整の対象となる再生区間と判定される。
以上のように、再生区間のデータ量が、その再生区間の再生時間以内に送信可能なデータ量を超えているかに基づいて、再生区間を調整の対象とするかを判定する場合には、閾値121aを用いた判定処理と比較して、調整の対象とすべき再生区間を正確に判定できる。その反面、閾値121aを用いた判定処理と比較して処理負荷が高くなる。
また、これらの2つの判定方法を組み合わせてもよい。具体的には、配信装置100は、まず、データ量が閾値121aを超える単位区間データの数が所定数以上連続している再生区間を検索する。次に、配信装置100は、検索された再生区間のデータ量が、その再生区間の再生時間以内に送信可能なデータ量を超えているかを判定し、超えている場合に、その再生区間およびその前後の再生区間を、調整の対象となる再生区間と判定する。これにより、調整の対象とすべき再生区間を正確に判定でき、なおかつ処理負荷を低減できる。
図11は、動画データを分割する際の動画解析情報の例を示す図(続き)であり、図12は、動画データを分割する際の再生区間情報テーブルの例を示す図(続き)である。
次に、配信装置100は、再生区間の再生時間以内に送信可能なデータ量を、再生区間の再生データ量が超えないように、調整の対象と判定した各再生区間を調整する。そして、配信装置100は、調整後の各再生区間に関する情報を算出し、算出した各再生区間に関する情報で再生区間情報テーブル122を更新する。
例えば、図11上段に示すように、再生区間#1は“0〜1.3秒”となり、再生区間#2は“1.3〜2.5秒”となり、再生区間#3は“2.5〜3秒”となるように、各再生区間が調整されたとする。
この場合、図12の再生区間情報テーブル122に示すように、再生区間#1において、単位区間数が“11”となり、再生データ量は“31Mb”となる。再生区間#2において、単位区間数が“9”となり、再生データ量は“32Mb”となる。再生区間#3において、単位区間数が“4”となり、再生データ量は“11Mb”となる。
また、図12右側に示すように、再生区間#1において、再生時間以内に送信可能なデータ量は、“40×11×(1/8)=55[Mb]”となる。再生区間#2において、再生時間以内に送信可能なデータ量は、“40×9×(1/8)=45[Mb]”となる。再生区間#3において、再生時間以内に送信可能なデータ量は、“40×4×(1/8)=20[Mb]”となる。
ここで、図10の再生区間情報テーブル122に示すように、調整前における再生区間#2の再生データ量は“48Mb”であり、再生時間以内に送信可能なデータ量を超えている。この場合、再生区間#2で分割される動画データを1パケットに格納して送信しようとすると、有効帯域幅に対するパケットの相対的なデータ量が大き過ぎるため、そのパケットが伝送路上で欠落する確率が上がる。また、再生区間#2の動画データを1パケットに格納して送信した場合、その送信開始から、送信先の端末装置でパケットの受信が完了するまでの時間が、再生時間“1秒”より長くなる。このため、送信先の端末装置でのパケットの到着が遅れ、パケット内の動画データを再生すべき時刻までに、その動画データの到着が間に合わなくなる可能性も生じる。これらの要因により、送信先の端末装置で再生動作を継続できなくなるリスクが高まる。
そこで、配信装置100は、再生区間のデータ量が、その再生区間の再生時間以内に送信可能なデータ量を超えないように、再生区間を調整する。すると、図12に示すように、いずれの再生区間の再生データ量も、対応する再生区間の再生時間以内に送信可能なデータ量を超えなくなる。この場合、図11下段に示すように、調整後の各再生区間のデータをそれぞれ個別のパケットに格納して一定速度で送信した場合の速度の最低値が、有効帯域幅以下となる。よって、調整後の再生区間で分割された各動画データをそれぞれパケットに格納して送信する際、欠落や遅延のリスクが軽減される。
なお、再生区間のデータがその再生時間より短い時間で送信されるように、再生区間を調整してもよい。具体的には、再生区間のデータ量が、“有効帯域幅×補正係数×単位区間数×単位再生時間”の値を超えないようにし、補正係数を0より大きく1より小さい値に設定する。ここで、送信先の端末装置との間の有効帯域幅は、動画の配信中に変動する可能性がある。そのため、上記の補正係数を1とした場合、動画の配信中に有効帯域幅が下がると、その動画データのパケットが欠落したり遅延したりする可能性がある。上記のように補正係数を1より小さくすることにより、有効帯域幅に対して1パケットに割り当てる単位区間数に余裕を持たせるように、再生区間を調整して動画データを分割することで、動画の配信中に有効帯域幅が変動してもパケットが欠落したり遅延したりするリスクが軽減される。
また、上記の例では、調整の対象とされた3つのパケットが新たな3つのパケットに分割し直されたが、データ量によっては、3つのパケットが4つ以上の新たなパケットに分割し直される場合もある。
次に、図13を用いて、認証サーバ300が用いるテーブルについて説明する。
図13は、利用者情報テーブルの例を示す図である。利用者情報テーブル311は、利用者情報記憶部310に記憶されている。利用者情報テーブル311は、利用者ID、端末ID、アドレス、パスワードおよび参加フラグの項目を有する。利用者IDの項目には、データ配信システム1の利用者を識別するための識別子が設定される。端末IDの項目には、利用者が使用する装置(例えば、端末装置200a)を識別するための識別子が設定される。アドレスの項目には、本データ配信システム1の利用者が使用する装置のアドレスが設定される。パスワードの項目には、データ配信システム1の利用者のパスワードが設定される。
参加フラグの項目には、認証サーバ300による認証済であるか(すなわち、eラーニングに参加するか)を示す情報が設定される。例えば、利用者がeラーニングに参加する場合、参加フラグの項目に“TRUE”が設定され、利用者がeラーニングに参加しない場合、参加フラグの項目に“FALSE”が設定される。また、参加フラグの項目には、初期値として“FALSE”が設定されている。その後、認証サーバ300が利用者の認証に成功したときに“TRUE”に更新され、認証サーバ300が宛先通知を送信するときに“FALSE”に更新される。
次に、図14〜15を用いて、配信装置100等が動画を配信する際に用いられるパケットのフォーマットについて説明する。
図14は、パケットのフォーマット例を示す図である。配信装置100は、動画を配信する際、図14に示すようなパケットを用いてパケット化する。このパケットには、IP(Internet Protocol)ヘッダ、UDP(User Datagram Protocol)ヘッダ、RTP(Real-time Transport Protocol)ヘッダおよびRTPペイロードを含む。
IPヘッダは、IPのヘッダ部であり、4ビットのヘッダ長と、4バイトの送信元IPアドレスと、4バイトの送信先IPアドレスとを含む。さらに、1つ目に送信されるパケットのIPヘッダは、可変長のオプション部を含む。
ヘッダ長は、IPヘッダのデータ長を4バイト単位で示す。IPヘッダのデータ長は、オプション部のデータ長により可変する。オプション部にデータが存在しない場合、IPヘッダは20バイトとなり、IPヘッダには0x5が設定される。オプション部に12バイトのデータが設定されている場合、IPヘッダは“20+12=32バイト”となり、ヘッダ長には0x8が設定される。
送信元IPアドレスは、パケットの送信元のIPアドレスを示し、送信先IPアドレスは、パケットの送信先のIPアドレスを示す。
1つ目のパケットのオプション部には、動画データの配信経路を示す配信経路情報が設定される。配信経路情報には、配信先の端末装置のIPアドレス(配信先IPアドレス#1,#2,…)が、配信経路上の端末装置を動画データが経由する順に設定される。例えば、端末装置200a,200b,200cの順に経由して動画が配信される場合、端末装置200aのIPアドレス、端末装置200bのIPアドレス、端末装置200cのIPアドレスの順に、配信経路情報に各配信先IPアドレスが設定される。オプション部のデータ長は、“4×配信先IPアドレスの数”となる。
なお、データ配信システム1において、IPヘッダは、IPv4(Version4)ヘッダを用いるが、IPv6(Version6)ヘッダを用いてもよい。
UDPヘッダは、UDPのヘッダ部である。UDPヘッダは、図示しない2バイトの送信元ポート番号と、図示しない2バイトの送信先のポート番号を有する。送信元ポート番号は、パケットの送信元の装置が使用するポート番号を示し、送信先ポート番号は、パケットの送信先の端末装置が使用するポート番号を示す。
RTPヘッダは、RTPのヘッダ部である。RTPヘッダは、7ビットのペイロードタイプと、2バイトのシーケンス番号と、4バイトのタイムスタンプとを含む。ペイロードタイプは、RTPペイロードのデータの種別を示す。シーケンス番号は、パケットのシーケンス番号を示す。1つ目のパケットのシーケンス番号には、ランダムに値が設定される。2つ目以降のパケットのシーケンス番号には、1つ前のパケットのシーケンス番号に1加算した値が設定される。タイムスタンプは、RTPペイロードに格納された動画データのうち、先頭データの再生時刻を示す。
RTPペイロードは、RTPのデータ部であり、分割された動画を示す。RTPペイロードは、ペイロードヘッダとペイロードデータとを含む。ペイロードヘッダは、分割された動画データのヘッダ部であり、“Ftyp Box”と、“Moov Box”とを有する。“Ftyp Box”は、分割された動画データのフォーマット種別を示す。“Moov Box”は、動画データのデータ長、動画データの再生時間など動画に関する情報を示す。ペイロードデータには、分割された動画データが格納され、“Mdat Box”が含まれる。
各端末装置は、パケットの送信元IPアドレスを参照することで、パケットの要求先となる装置のIPアドレスを取得できる。各端末装置は、1つ目のパケットに含まれる配信経路情報を参照することで、転送先の端末装置のIPアドレスを取得できる。
また、各端末装置は、ペイロードタイプを参照することで、ペイロードデータの種別を取得でき、種別に応じた方法でペイロードデータを再生できる。また、各端末装置は、シーケンス番号を参照することで、受信側が分割後の動画の欠落や、パケットの受信順序の入替わりを検出できる。
なお、配信経路情報は、例えば、IPヘッダの代わりに、1つ目のパケットのペイロードデータの欄に設定されてもよい。この場合、例えば、分割された動画データは2つ目のパケットから送信されてもよい。
図15は、動画データをパケット化する例を示す図である。例えば、配信装置100が、“0〜10秒”の再生区間に対応する分割データ#11と、“10〜20秒”の再生区間に対応する分割データ#12とに動画データを分割して、分割データ#11を含むパケット61と分割データ#12を含むパケット62とを生成したとする。パケット61は、RTPヘッダ#11、ペイロードヘッダ#11およびペイロードデータ#11を含み、パケット62は、RTPヘッダ#12、ペイロードヘッダ#12およびペイロードデータ#12を含む。
この場合、例えば、図15上段に示すように、RTPヘッダ#11のシーケンス番号には“101”が設定され、図15下段に示すように、RTPヘッダ#12のシーケンス番号には“102”が設定される。また、図15上段に示すように、RTPヘッダ#11のタイムスタンプには、分割データ#11に対応する再生区間の始点となる“00:00:00”が設定され、図15下段に示すように、RTPヘッダ#12のシーケンス番号には、分割データ#12に対応する再生区間の始点となる“00:00:10”が設定される。
また、ペイロードヘッダ#11には、分割データ#11のヘッダ部が設定され、ペイロードデータ#11には、分割データ#11が設定される。また、同様に、ペイロードヘッダ#12には、分割データ#12のヘッダ部が設定され、ペイロードデータ#12には、分割データ#12が設定される。
次に、図16〜17を用いて、配信装置100が表示させる画面について説明する。
図16は、参加者確認画面を示す図である。参加者確認画面131は、配信装置100の管理者がeラーニングの参加者を確認するための画面である。参加者確認画面131は、配信装置100が宛先要求を受信したとき、ディスプレイ51に表示される。参加者確認画面131の右側には、eラーニングに参加可能なグループに属する利用者のIDが表示され、各利用者IDの右側にチェックボックスが表示される。このとき、eラーニングに参加する利用者のIDの右側のチェックボックスには、チェックマークが表示される。
例えば、図16の参加者確認画面131では、表示されている複数の利用者のIDに対応するいずれのチェックボックスにもチェックマークが表示されている。そのため、配信装置100が指定した利用者のいずれもがeラーニングに参加することを示す。
管理者は、例えば、eラーニングの参加者を確認し、OKボタンを押す。配信装置100は、参加者確認画面131上のOKボタンが押下されたことを検出すると、動画を配信する処理を続行する。
なお、配信装置100の管理者がeラーニングの参加者を確認する必要が無い場合、配信装置100は、OKボタンの押下の検出を待たずに、動画を配信する処理を続行してもよい。また、同様の場合、配信装置100は、参加者確認画面131を表示させずに、動画を配信する処理を続行してもよい。
図17は、動画選択画面を示す図である。動画選択画面132は、配信装置100の管理者に、eラーニングに用いる動画を選択させるための画面である。管理者は、例えば、eラーニングにおける参加者の理解度や修得度等を考慮して、配信する動画を選択する。動画選択画面132は、配信装置100が宛先通知の受信後にディスプレイ51に表示される。
動画選択画面132の右側には、配信装置100が配信可能な動画を示す情報(例えば、動画の名称)が表示され、各情報の右側にチェックボックスが表示される。このとき、管理者は、配信する動画の右側のチェックボックスにチェックマークを入力し、OKボタンを押下する。配信装置100は、動画選択画面132上のOKボタンが押下されたことを検出すると、チェックマークが入力されたチェックボックスに対応する動画を配信する。例えば、図17の動画選択画面132では、“動画A”の右側のチェックボックスにはチェックマークが入力され、“動画B”および“動画C”の右側のチェックボックスにはチェックマークが入力されていない。この状態で、動画選択画面132上のOKボタンが押下されると、“動画A”は配信され、“動画B”および“動画C”は配信されない。
なお、配信する動画が予め決定されている場合、配信装置100は、動画選択画面132を表示させずに、予め決定されている動画を配信してもよい。この場合、予め決定されている動画を示す情報は、例えば、動画情報記憶部120に予め格納される。
次に、図18〜20を用いて、データ配信システム1において動画を配信される際のシーケンス例について説明する。図18〜20では、配信装置100が端末装置200a,200b,200cに動画を配信するシーケンス例について説明する。
図18は、配信先のアドレスを取得するシーケンス例を示す図である。配信装置100および端末装置200a,200b,200cは、互いのアドレスを認識しておらず、認証サーバ300のアドレスのみを認識している。そこで、データ配信システム1では、次のシーケンスを実行することにより、eラーニングの各参加者が使用する端末装置のアドレスが、配信装置100へ提供される。以下、図18に示す処理をステップ番号に沿って説明する。
(S1)端末装置200aは、参加要求を認証サーバ300へ送信する。参加要求には、利用者のIDとパスワードが含まれる。認証サーバ300は、参加要求を端末装置200aから受信し、受信した利用者IDとパスワードを用いて利用者を認証する。具体的には、認証サーバ300は、受信した利用者IDとパスワードとを含むレコードが利用者情報テーブル311から検索されるか判定する。レコードが検索された場合、認証に成功したと判定し、レコードが検索されなかった場合、認証に失敗したと判定する。認証に成功したと判定した場合、認証サーバ300は、検索されたレコードの参加フラグを“TRUE”に更新する。図18では、認証に成功したものとし、以下、ステップS2〜S3においても同様とする。
その後、図示しないが、認証サーバ300は、認証結果を端末装置200aに送信し、端末装置200aは、認証結果を認証サーバ300から受信する。
(S2)端末装置200bは、参加要求を認証サーバ300へ送信する。認証サーバ300は、参加要求を端末装置200bから受信し、受信した利用者IDとパスワードを用いて、ステップS1と同様の方法で、利用者を認証して、認証に成功した場合、利用者情報テーブル311を更新する。
その後、図示しないが、認証サーバ300は、認証結果を端末装置200bに送信し、端末装置200bは、認証結果を認証サーバ300から受信する。
(S3)端末装置200cは、参加要求を認証サーバ300へ送信する。認証サーバ300は、参加要求を端末装置200cから受信し、受信した利用者IDとパスワードを用いて、ステップS1と同様の方法で、利用者を認証して、認証に成功した場合、利用者情報テーブル311を更新する。
その後、図示しないが、認証サーバ300は、認証結果を端末装置200cに送信し、端末装置200cは、認証結果を認証サーバ300から受信する。
(S4)配信装置100は、eラーニングの開始の所定時間前(例えば、15分前)になると、参加確認要求を認証サーバ300へ送信する。参加確認要求には、eラーニングに参加可能な利用者のIDが含まれる。認証サーバ300は、参加確認要求を配信装置100から受信する。
(S5)認証サーバ300は、確認結果通知を配信装置100へ送信する。確認結果通知には、参加確認要求に含まれる利用者のIDのうち、ステップS1〜S3で認証済である利用者のIDが含まれる。
認証済である各利用者のIDは、参加フラグが“TRUE”であるレコードを利用者情報テーブル311から検索し、検索したレコードの利用者IDを読み出すことで取得できる。
配信装置100は、確認結果通知を認証サーバ300から受信する。
(S6)配信装置100は、宛先要求を認証サーバ300へ送信する。宛先要求には、確認結果通知に含まれる各利用者のID、すなわち、eラーニングの各参加者のIDが含まれる。認証サーバ300は、宛先要求を配信装置100から受信する。
(S7)認証サーバ300は、宛先通知を配信装置100へ送信する。宛先通知には、宛先要求に含まれる各利用者(すなわち、eラーニングの参加者)が使用する端末装置のアドレスが設定される。
eラーニングの各参加者のアドレスは、ステップS5で利用者情報テーブル311から検索されたレコードから、宛先要求に含まれる利用者のいずれかと一致するレコードを検索し、検索したレコードのアドレスを読み出すことで取得できる。その後、認証サーバ300は、検索されたレコードの参加フラグを“FALSE”に更新する。
配信装置100は、宛先通知を認証サーバ300から受信する。これにより、配信装置100は、配信先の端末装置200a,200b,200cと直接通信することが可能となる。
(S8)配信装置100は、動画確認通知を端末装置200aへ送信する。動画確認通知には、配信する動画を示す情報が含まれる。配信する動画を示す情報は、ステップS7のシーケンス後に、配信装置100が管理者により動画選択画面132から選択されたものを用いる。ステップS9,S10についても同様である。端末装置200aは、動画確認通知を配信装置100から受信する。
(S9)配信装置100は、動画確認通知を端末装置200bへ送信する。端末装置200bは、動画確認通知を配信装置100から受信する。
(S10)配信装置100は、動画確認通知を端末装置200cへ送信する。端末装置200cは、動画確認通知を配信装置100から受信する。
(S11)端末装置200aは、了承通知を配信装置100へ送信する。
(S12)端末装置200bは、了承通知を配信装置100へ送信する。
(S13)端末装置200cは、了承通知を配信装置100へ送信する。
図19は、配信経路の選択およびパケットの生成のシーケンス例を示す図である。前述のように、配信装置100から各端末装置へデイジーチェーン方式により動画データを配信する際、複数の配信経路の候補が存在することになる。そこで、データ配信システム1では、次のシーケンスの実行により、動画データを配信するための配信経路が選択される。図19において、配信装置100は、認証サーバ300から受信した宛先通知により、端末装置200a,200b,200cのアドレスを取得済であるものとする。以下、図19に示す処理をステップ番号に沿って説明する。
(S21)配信装置100は、通信品質要求を端末装置200aへ送信する。通信品質要求には、端末装置200a,200b,200cのアドレスが含まれる(ステップS22,S23についても同様)。端末装置200aは、通信品質要求を配信装置100から受信する。端末装置200aは、通信品質要求を参照することで、計測先の各端末装置のアドレスを取得する。
(S22)配信装置100は、通信品質要求を端末装置200bへ送信する。端末装置200bは、通信品質要求を配信装置100から受信する。端末装置200bは、通信品質要求を参照することで、計測先の各端末装置のアドレスを取得する。
(S23)配信装置100は、通信品質要求を端末装置200cへ送信する。端末装置200cは、通信品質要求を配信装置100から受信する。端末装置200cは、通信品質要求を参照することで、計測先の各端末装置のアドレスを取得する。
(S24)端末装置200aは、端末装置200bとの間の有効帯域幅と、端末装置200cとの間の有効帯域幅とを計測し、計測された各有効帯域幅を含む通信品質通知を配信装置100へ送信する。配信装置100は、通信品質通知を端末装置200aから受信する。これにより、配信装置100は、端末装置200aと端末装置200bとの間の有効帯域幅と、端末装置200aと端末装置200cとの間の有効帯域幅とを取得できる。
(S25)端末装置200bは、端末装置200aとの間の有効帯域幅と、端末装置200cとの間の有効帯域幅とを計測し、計測された各有効帯域幅を含む通信品質通知を配信装置100へ送信する。配信装置100は、通信品質通知を端末装置200bから受信する。これにより、配信装置100は、端末装置200bと端末装置200aとの間の有効帯域幅と、端末装置200bと端末装置200cとの間の有効帯域幅とを取得できる。
(S26)端末装置200cは、端末装置200aとの間の有効帯域幅と、端末装置200bとの間の有効帯域幅とを計測し、計測された各有効帯域幅を含む通信品質通知を配信装置100へ送信する。配信装置100は、通信品質通知を端末装置200cから受信する。これにより、配信装置100は、端末装置200cと端末装置200aとの間の有効帯域幅と、端末装置200cと端末装置200bとの間の有効帯域幅とを取得できる。
(S27)配信装置100は、端末装置200aとの間の有効帯域幅と、端末装置200bとの間の有効帯域幅と、端末装置200cとの間の有効帯域幅とを計測する。
(S28)配信装置100は、ステップS24〜S27で取得した有効帯域幅に基づいて、図8で説明した方法で、複数の配信経路の候補の中から1つの配信経路を選択する。
(S29)配信装置100は、配信する動画をパケット化する。
図20は、動画データの配信時のシーケンス例を示す図である。配信装置100がパケットを生成した時点において、端末装置200a,200b,200cは、動画データの配信経路を認識していない。そこで、データ配信システム1では、次のシーケンスの実行により、動画データが配信装置100により選択された配信経路を経由して配信される。図20では、配信装置100から、端末装置200a,200b,200cの順に経由する配信経路が、配信装置100により選択されたものとする。また、パケット#1〜#3は、配信する動画データがパケット化されたときのパケットの一部である。“パケット#1”は、RTPヘッダのシーケンス番号が“1”であるパケットであることを示す。すなわち、パケット#1は、1つ目に端末装置へ送信されるパケットとなる。同様に、“パケット#2”は、RTPヘッダのシーケンス番号が“2”であるパケットであることを示す。“パケット#3”は、RTPヘッダのシーケンス番号が“3”であるパケットであることを示す。
(S31)配信装置100は、配信経路情報を含む1つ目のパケット#1を端末装置200aへ送信する。端末装置200aは、パケット#1を配信装置100から受信する。
(S32)端末装置200aは、パケット要求を配信装置100へ送信する。パケット要求の送信先アドレスは、受信したパケット#1の送信元アドレスから取得できる。配信装置100は、パケット要求を端末装置200aから受信する。
(S33)配信装置100は、パケット要求に応じて、パケット#2を端末装置200aへ送信する。端末装置200aは、パケット#2を配信装置100から受信する。
(S34)端末装置200aは、パケット要求を配信装置100へ送信する。配信装置100は、パケット要求を端末装置200aから受信する。
(S35)配信装置100は、パケット要求に応じて、パケット#3を端末装置200aへ送信する。端末装置200aは、パケット#3を配信装置100から受信する。
なお、ステップS31でパケット#1を受信した後、端末装置200aは、デコーダバッファのデータ蓄積量を確認し、データ蓄積量が所定の閾値未満である場合に、配信装置100へパケット要求を送信する。
(S36)端末装置200aは、配信経路情報を含む1つ目のパケット#1を端末装置200bへ送信する。端末装置200bのアドレス、すなわち動画データの転送先アドレスは、ステップS31で受信した配信経路情報から自己の配信先アドレスを検索し、検索された配信先アドレスの次の配信先アドレスを参照することで取得される。端末装置200bは、パケット#1を端末装置200aから受信する。
(S37)端末装置200bは、パケット要求を端末装置200aへ送信する。パケット要求の送信先アドレスは、受信したパケット#1の送信元アドレスを参照することで取得できる。端末装置200aは、パケット要求を端末装置200bから受信する。
(S38)端末装置200aは、パケット要求に応じて、パケット#2を端末装置200bへ送信する。端末装置200bは、パケット#2を端末装置200aから受信する。
(S39)端末装置200bは、パケット要求を端末装置200aへ送信する。端末装置200aは、パケット要求を端末装置200bから受信する。
(S40)端末装置200aは、パケット要求に応じて、パケット#3を端末装置200bへ送信する。端末装置200bは、パケット#3を端末装置200aから受信する。
なお、ステップS36でパケット#1を受信した後、端末装置200bは、デコーダバッファのデータ蓄積量を確認し、データ蓄積量が所定の閾値未満である場合に、端末装置200aへパケット要求を送信する。
(S41)端末装置200bは、配信経路情報を含む1つ目のパケット#1を端末装置200cへ送信する。端末装置200cのアドレス、すなわち動画データの転送先アドレスは、ステップS36で受信した配信経路情報から自己の配信先アドレスを検索し、検索された配信先アドレスの次の配信先アドレスを参照することで取得される。端末装置200cは、パケット#1を端末装置200bから受信する。
(S42)端末装置200cは、パケット要求を端末装置200bへ送信する。パケット要求の送信先アドレスは、1つ目のパケット#1の送信元アドレスから取得できる。端末装置200bは、パケット要求を端末装置200cから受信する。
(S43)端末装置200bは、パケット要求に応じて、パケット#2を端末装置200cへ送信する。端末装置200cは、パケット#2を端末装置200bから受信する。
(S44)端末装置200cは、パケット要求を端末装置200bへ送信する。端末装置200bは、パケット要求を端末装置200cから受信する。
(S45)端末装置200bは、パケット要求に応じて、パケット#3を端末装置200cへ送信する。端末装置200cは、パケット#3を端末装置200bから受信する。
なお、ステップS41でパケット#1を受信した後、端末装置200cは、デコーダバッファのデータ蓄積量を確認し、データ蓄積量が所定の閾値未満である場合に、端末装置200bへパケット要求を送信する。
ここで、端末装置200cは、自己の配信先アドレスがステップS41で受信した配信経路情報のうち最後の配信先アドレスであることを確認することで、転送先の端末装置がないことを認識できる。
また、動画データの転送を行う端末装置200a,200bは、自己の送信バッファに格納した受信パケットの解析結果に基づき、必要に応じて再生区間を調整し、調整後の再生区間毎に送信パケットを再作成する。転送されるパケットは、再生区間が確定したパケットであることが望ましい。そのため、端末装置200a,200bでは、図20に示すように、複数のパケットを受信した後に、パケットを転送するようにしている。
なお、データ配信システム1では、配信経路情報は、1つ目のパケットに含めてデイジーチェーン方式により接続された配信経路を経由して配信装置100から配信されるが、配信装置100から各端末装置へ一斉送信されてもよい。また、1つ目のパケットが送信される前に、配信経路情報のみを含むパケットが、デイジーチェーン方式により接続された配信経路を経由して配信装置100から配信されてもよい。
次に、図21〜26を用いて、データ配信システムを用いて動画データを配信する処理について、フローチャートを用いて説明する。
図21は、配信準備処理の例を示すフローチャートである。図21を用いて説明する処理は、配信装置100で実行される。図21では、認証サーバ300がeラーニングの参加者を認証済であるものとする。以下、図21に示す処理をステップ番号に沿って説明する。
(S51)配信準備部130は、eラーニングに参加可能なグループに属する全利用者がeラーニングに参加済か確認するために、参加確認要求を認証サーバ300へ送信する。参加確認要求には、eラーニングに参加可能なグループに属する各利用者のIDが含まれる。
eラーニングに参加可能なグループは、配信装置100の管理者の入力操作を検出することで取得してもよいし、eラーニングに参加可能なグループを示す情報を予め管理情報記憶部110など記憶領域に格納し、その格納先から取得してもよい。そのグループに属する各利用者は、上記方法により取得したグループを含むレコードをグループ情報テーブル111から検索し、検索した各レコードの利用者を読み出すことで取得できる。
(S52)配信準備部130は、確認結果通知を認証サーバ300から受信する。確認結果通知は、ステップS51で送信した参加確認要求に含まれる利用者のIDのうち、eラーニングに参加する利用者のID(すなわち、eラーニングの参加者のID)が含まれる。
(S53)配信準備部130は、eラーニングに参加可能なグループに属する全利用者がeラーニングに参加済か判定する。具体的には、配信準備部130は、ステップS51で送信した参加確認要求に含まれる利用者が、ステップS52で送信した確認結果通知に全て含まれているか判定する。全利用者がeラーニングに参加済である場合、処理をステップS54へ進める。参加済でない利用者が含まれている場合、処理をステップS55へ進める。
(S54)配信準備部130は、宛先要求を認証サーバ300へ送信する。宛先要求には、eラーニングの参加者のIDが含まれている。eラーニングの参加者のIDは、ステップS52で受信した確認結果通知から取得できる。
(S55)配信準備部130は、動画を配信しない旨を出力する。出力方法として、例えば、ディスプレイ51にその旨を表示させる方法が挙げられるが、これに限定されるものではない。
(S56)配信準備部130は、宛先通知を認証サーバ300から受信する。宛先通知には、動画の配信先となる端末装置のアドレスが含まれる。動画の配信先となる端末装置は、eラーニングの参加者が使用する端末装置である。eラーニングの参加者は、ステップS54で送信した宛先要求に含まれる参加者のIDにより特定できる。
(S57)配信準備部130は、図16で説明したような、参加者確認画面131をディスプレイ51に表示させる。
(S58)配信準備部130は、参加者確認画面131上のOKボタンの押下が検出されたか判定する。OKボタンは、例えば、配信装置100の管理者により押下され、後で説明する動画選択画面132についても同様である。OKボタンの押下が検出された場合、処理をステップS59へ進める。OKボタンの押下が検出されていない場合、処理をステップS58へ進める。
すなわち、配信準備部130は、参加者確認画面131上のOKボタンの押下が検出されるまで、待機する。
(S59)配信準備部130は、図17で説明したような、動画選択画面132をディスプレイ51に表示させる。
(S60)配信準備部130は、動画選択画面132上のOKボタンの押下が検出されたか判定する。OKボタンの押下が検出された場合、処理をステップS61へ進める。OKボタンの押下が検出されていない場合、処理をステップS60へ進める。
すなわち、配信準備部130は、動画選択画面132上のOKボタンの押下が検出されるまで、待機する。
(S61)配信準備部130は、動画確認通知を配信先の各端末装置へ送信する。動画確認通知には、配信する動画を示す情報が含まれる。動画を示す情報は、配信装置100の管理者により動画選択画面132上から選択されたものである。配信先の各端末装置のアドレスは、ステップS56で受信した宛先通知から取得できる。
(S62)配信準備部130は、了承通知を全端末装置から受信済か判定する。了承通知を全端末装置から受信済である場合、処理を終了する。了承通知を受信済でない端末装置が存在する場合、処理をステップS62へ進める。すなわち、配信準備部130は、了承通知を全端末装置から受信するまで待機する。
なお、データ配信システム1では、eラーニングに参加可能なグループに属する全利用者が、eラーニングに参加しない場合に動画を配信しないこととしているが、グループの一部の利用者のみが参加する場合でも動画を配信してもよい。この場合、ステップS53,S55は不要となる。
また、図16で説明したように、配信準備部130は、OKボタンの押下の検出を待たずに、配信準備処理を続行してもよい。この場合、ステップS58の処理は不要となる。また、同様の場合、配信準備部130は、動画選択画面132を表示させずに、配信準備処理を続行してもよい。この場合、ステップS59,S60の処理は不要となる。
さらに、配信準備部130は、ステップS61,S62の処理を省略することで、配信する動画を、eラーニングの参加者に確認させないことも可能である。
図22は、動画データの配信処理の例を示すフローチャートである。図22〜23を用いて説明する処理は、図21で説明した配信準備処理の実行後に、配信装置100で実行される。以下、図22〜23に示す処理をステップ番号に沿って説明する。
(S71)通信品質取得部140は、通信品質要求を動画の配信先の各端末装置へ送信する。通信品質要求には、動画の配信先となる各端末装置のアドレスが含まれる。各端末装置のアドレスは、図21のステップS56で配信準備部130により取得されている。
(S72)通信品質取得部140は、動画の配信先の全端末装置から通信品質通知を受信済か判定する。通信品質通知には、通信品質通知の送信元の端末装置と他の各端末装置との間の有効帯域幅を示す情報が含まれる。
全端末装置から通信品質通知を受信済である場合、通信品質取得部140は、受信した有効帯域幅を配信経路情報テーブル112へ登録し、処理をステップS75へ進める。
通信品質通知を受信済でない端末装置が存在する場合、処理をステップS73へ進める。
(S73)通信品質取得部140は、1回目のステップS72の処理の実行から所定時間が経過したか判定する。所定時間が経過した場合、処理をステップS74へ進める。所定時間が経過していない場合、処理をステップS72へ進める。
すなわち、通信品質取得部140は、1回目のステップS72の処理の実行から所定時間が経過するまでの間、動画の配信先の全端末装置から通信品質通知を受信するまで待機する。
(S74)通信品質取得部140は、データ配信システム1を利用できない旨を、図21のステップS55と同様の方法で出力する。そして、処理を終了する。
(S75)通信品質取得部140は、動画の配信先の各端末装置との間の有効帯域幅を計測する。有効帯域幅は、例えば、計測先の端末装置にpingを送信し、送信したpingの応答結果を受信し、受信した応答結果に基づいて計測できる。また、例えば、計測先の端末装置にRTPC(Real-time Transport Protocol Control protocol)に規定されるSR(Sender Report)パケットを送信し、送信したSRパケットに対応するRR(Receiver Report)パケット(RTPCに規定)を受信する。そして、受信したRRパケットおよびSRパケットの送信からRRパケットの受信までの時間に基づいて計測してもよい。通信品質取得部140は、計測した各有効帯域幅を配信経路情報テーブル112へ登録する。
(S76)配信経路選択部150は、配信経路情報テーブル112に登録されている配信経路の候補から、図8で説明した方法で、1つの配信経路を選択する。
(S77)パケット生成部160は、配信する動画データをパケット化する。動画データをパケット化する処理の詳細は、図24を用いて後で説明する。
図23は、動画データの配信処理の例を示すフローチャート(続き)である。
(S81)動画配信部170は、図22のステップS77でパケット化された複数のパケットから未送信のパケットを1つ選択する。その際、動画配信部170は、上記複数のパケットのうち、RTPヘッダに含まれるシーケンス番号が一番小さいパケットを選択する。
(S82)動画配信部170は、1つ目のパケットを送信済か判定する。1つ目のパケットであるかは、例えば、パケットに配信経路情報が含まれているかにより判定できる。1つ目のパケットである場合、処理をステップS84へ進める。2つ目以降のパケットである場合、処理をステップS83へ進める。
(S83)動画配信部170は、パケット要求を送信先の端末装置から受信する。
(S84)動画配信部170は、パケットを送信先の端末装置へ送信する。送信先の端末装置は、図22のステップS76で決定した配信経路から取得できる。
(S85)動画配信部170は、図22のステップS77でパケット化された全パケットを、送信先の端末装置へ送信済か判定する。全パケットを送信済である場合、処理を終了する。送信済でないパケットが存在する場合、処理をステップS81へ進める。
図24は、パケット生成処理の例を示すフローチャートである。図24〜25を用いて説明する処理は、図22のステップS77で実行される。以下、図24〜25に示す処理をステップ番号に沿って説明する。
(S771)パケット生成部160は、配信する動画データを解析し、動画解析情報121を生成する。具体的には、パケット生成部160は、動画データにおける単位区間毎の再生データ量を動画解析情報121に登録する。
(S772)パケット生成部160は、再生区間情報テーブル122を初期設定する。具体的には、パケット生成部160は、図9〜10で説明した方法で、配信する動画データを一定の再生時間(ここでは、1秒)毎の再生区間に区切る。以下、この区切られた再生区間の再生時間を"初期再生時間"と記載する場合がある。パケット生成部160は、動画解析情報121に基づき、区切られた再生区間それぞれについて、単位区間数および再生データ量を再生区間情報テーブル122に登録する。
(S773)パケット生成部160は、送信先の端末装置との間の有効帯域幅を配信経路情報テーブル112から取得する。具体的には、パケット生成部160は、選択した配信経路を含むレコードを配信経路情報テーブル112から検索し、検索したレコードの有効帯域幅1の項目の値を、送信先の端末装置との間の有効帯域幅として取得する。
(S774)パケット生成部160は、ステップS773で取得した有効帯域幅と、動画解析情報121で用いられる単位再生時間に基づいて、閾値を算出する。閾値は、例えば、“ステップS773で取得した有効帯域幅/(1/単位再生時間)×補正値”により算出される。補正値は、1より大きい値に設定され、例えば1.3である。なお、閾値は、予め設定された固定値を用いてもよい。この場合、閾値は、例えば、動画情報記憶部120上の記憶領域に格納される。
(S775)パケット生成部160は、動画データの先頭からi番目の再生区間を、処理の対象として選択する。変数iの初期値は1である。
(S776)パケット生成部160は、動画解析情報121に登録された、ステップS775で選択した再生区間に含まれる単位区間に関する情報を参照する。パケット生成部160は、単位区間に関する情報に基づいて、処理対象の再生区間においてステップS774で算出した閾値を超えるデータ量の単位区間が2以上連続して存在しているか判定する。閾値を超える単位区間が2以上連続して存在している場合、処理をステップS777へ進める。閾値を超える単位区間が2以上連続して存在していない場合、処理をステップS779へ進める。
(S777)パケット生成部160は、ステップS775で選択した再生区間とその前後の再生区間を、調整の対象となる再生区間と判定する。
(S778)パケット生成部160は、図11〜12で説明した方法で、ステップS777で調整の対象とされた再生区間の分割位置を調整する。そして、パケット生成部160は、調整後の再生区間に関する情報を算出し、算出した再生区間に関する情報で再生区間情報テーブル122を更新する。
(S779)パケット生成部160は、全再生区間を選択済か判定する。全再生区間を選択済である場合、処理をステップS781へ進める。選択済でない再生区間が存在する場合、処理をステップS780へ進める。
(S780)パケット生成部160は、変数iを1だけインクリメントする。そして、処理をステップS775に進める。
図25は、パケット生成処理の例を示すフローチャート(続き)である。
(S781)パケット生成部160は、再生区間情報テーブル122に登録されている再生区間毎に、配信する動画データを分割する。
(S782)パケット生成部160は、ステップS781で分割後の動画データを1つ選択する。
(S783)パケット生成部160は、ステップS782で選択した動画のタイムスタンプを取得する。タイムスタンプには、例えば、選択した動画が分割されたときの再生区間の始点の再生時刻を示す情報が設定される。
(S784)パケット生成部160は、ステップS782で選択した動画データを配信するためのパケットを、図14〜15で説明したフォーマットに従って生成する。このとき、RTPヘッダのシーケンス番号には、任意の値から始まるシーケンス番号を設定し、RTPヘッダのタイムスタンプには、ステップS782で算出したタイムスタンプを設定する。また、RTPペイロードに選択した動画データを設定する。
(S785)パケット生成部160は、ステップS781で分割された全動画データを選択済か判定する。全動画データを選択済である場合、処理を終了する。選択済でない動画データが存在する場合、処理をステップS782へ進める。
図26は、パケットの受信処理の例を示すフローチャートである。図26を用いて説明する処理は、受信した動画データを他の端末装置に転送する端末装置200で実行される。以下、図26に示す処理をステップ番号に沿って説明する。
(S91)パケット再生成部240は、送信先の端末装置との間の有効帯域幅を取得する。送信先の端末装置との間の有効帯域幅は、図19のステップS24等の方法で計測したものを用いる。
(S92)パケット再生成部240は、ステップS91で取得した有効帯域幅と、単位再生時間に基づいて、図24のステップS774と同様の方法で、閾値を計算する。単位再生時間は、配信装置100が用いる単位再生時間と同じ値であり、例えば、端末装置200の備える記憶装置に確保された記憶領域に格納されている。
(S93)パケット受信部230は、配信装置100または他の端末装置からパケットを受信する。パケット受信部230は、受信したパケットを送信バッファに格納する。
(S94)パケット再生成部240は、ステップS93で受信されたパケット内の動画データを解析し、単位区間毎の再生データ量を取得する。パケット再生成部240は、取得した単位区間毎の再生データ量を、管理情報記憶部110の動画解析情報に登録する。
(S95)パケット受信部230は、配信される動画データの全パケットの受信が終了したかを判定する。受信が終了していない場合、処理をステップS93に進める。この場合、次のパケットの受信が待機される。一方、受信が終了した場合、処理が終了する。
なお、図示しないが、パケット送信部250は、送信先の他の端末装置からパケット要求を受信するたびに、送信バッファ内の先頭パケットを他の端末装置へ送信する。パケットが送信されると、そのパケットは送信バッファから消去される。
図27は、パケットの再生成処理の例を示すフローチャートである。図27の処理は、図26の処理と並行して、同じ端末装置200により実行される。以下、図27に示す処理をステップ番号に沿って説明する。
(S101)送信バッファに格納される各パケットは、動画データの受信開始から通し番号が付加されることで管理される。パケット再生成部240は、i番目のパケットを処理の対象として選択する。変数iの初期値は1である。
(S102)パケット再生成部240は、管理情報記憶部270の動画解析情報のうち、ステップS101で選択したパケット内の動画データに含まれる単位区間の情報を参照する。パケット再生成部240は、単位区間の情報に基づいて、処理対象のパケット内の動画データに、データ量がステップS92で算出した閾値を超える単位区間が2以上連続して存在しているかを判定する。閾値を超える単位区間が2以上連続して存在している場合、処理をステップS103へ進める。閾値を超える単位区間が2以上連続して存在していない場合、処理をステップS105へ進める。後者の場合、処理対象のパケットは、そのままの状態で送信バッファに残る。
(S103)パケット再生成部240は、送信バッファ内のパケットのうち、ステップS101で選択したパケットとその前後のパケットを、再分割の対象となるパケットと判定する。
なお、送信バッファに処理対象のパケットの前のパケットが存在しない場合(例えば、前のパケットが送信済みの場合)、処理対象のパケットとその後のパケットとが再分割の対象となる。また、送信バッファに処理対象のパケットの後のパケットが存在しない場合(例えば、処理対象のパケットが最終パケットの場合)、処理対象のパケットとその前のパケットとが再分割の対象となる。
(S104)パケット再生成部240は、ステップS103で再分割の対象としたパケット内の動画データを合成する。パケット再生成部240は、図26のステップS91で取得した有効帯域幅の情報と、管理情報記憶部270の動画解析情報に基づいて、合成した動画データを図24のステップS778と同様の方法で分割し直す。
すなわち、パケット再生成部240は、再生区間の再生データ量が、その再生区間の再生時間以内で送信可能なデータ量以下となるように、合成した動画データに対して再生区間を設定する。そして、パケット再生成部240は、設定された再生区間毎の動画データを個別のパケットに格納することで、パケットを再生成する。パケット再生成部240は、送信バッファに記憶された、ステップS103で再分割の対象としたパケットを、再生成したパケットによって置き換える。
(S105)パケット再生成部240は、配信される動画データについての全パケットを処理対象として選択済みかを判定する。選択済みでない場合、処理をステップS106へ進める。選択済みである場合、処理が終了する。
(S106)パケット再生成部240は、変数iを1だけインクリメントする。そして、処理をステップS101に進める。
以上説明した第2の実施の形態のデータ配信システム1によれば、パケット化した動画をデイジーチェーン方式により接続された配信経路を用いて配信する際、その配信経路上の各端末装置は、転送先の他の端末装置との間の有効帯域幅と、分割された各動画に含まれる各単位区間データのデータ量とに基づいて、動画データをパケット化し直す。これにより、パケット化された動画データを転送する際に発生するパケットの欠落や遅延のリスクを軽減することができる。よって、転送先の各端末装置は、配信された動画を連続的に再生することができる。
また、デイジーチェーン方式により接続された配信経路を用いて動画を配信することにより、動画を配信する際、配信装置や1つの端末装置に処理負荷が集中しなくなり、パケットの欠落や遅延のリスクを軽減できる。
また、配信経路上の各端末装置は、転送先の他の端末装置との間の有効帯域幅と、分割された各動画に含まれる各単位区間データのデータ量とに基づいて、受信した複数のパケットに含まれる動画のうち、パケット化し直す動画を判定する。これにより、動画データにおける必要な箇所のみパケット化し直されるようになり、動画データを転送する各端末装置の処理負荷が下がる。
また、配信装置100は、配信装置100と各端末装置との間の有効帯域幅、および端末装置の相互間の有効帯域幅を取得し、取得した有効帯域幅に基づいてデイジーチェーン方式による配信経路を決定する。これにより、通信品質の高い配信経路で動画データを配信することができるようになるため、動画データの配信中に配信経路上で発生するパケットの欠落や遅延のリスクを抑制できる。
また、配信装置100は、決定した配信経路を示す情報を動画の配信先となる各端末装置へ送信する。これにより、動画の配信先となる各端末装置は、パケット化された動画の転送先を認識することができる。
なお、前述のように、第1の実施の形態の情報処理は、配信装置10や再生装置20a,20bにプログラムを実行させることで実現でき、第2の実施の形態の情報処理は、配信装置100や端末装置200,200a,200b,200cや認証サーバ300にプログラムを実行させることで実現できる。このようなプログラムは、コンピュータ読み取り可能な記録媒体(例えば、記録媒体53)に記録しておくことができる。記録媒体としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、FDおよびHDDが含まれる。光ディスクには、CD、CD−R(Recordable)/RW(Rewritable)、DVDおよびDVD−R/RWが含まれる。
プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータの記憶装置に格納しておき、ネットワーク30経由でプログラムを配布することもできる。コンピュータは、例えば、可搬記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを、記憶装置(例えば、HDD103)に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワーク30を介して受信したプログラムを直接実行してもよい。また、上記の情報処理の少なくとも一部を、DSP(Digital Signal Processor)、ASIC、PLD(Programmable Logic Device)等の電子回路で実現することも可能である。
以上の第1および第2の実施の形態を含む実施の形態に関し、さらに以下の付記を開示する。
(付記1) 可変ビットレートのストリーミングデータがパケット化されて配信装置から複数の再生装置へ配信され、配信された前記ストリーミングデータが前記複数の再生装置のうち一の再生装置から他の1以上の再生装置へ転送される配信システムにおける配信方法であって、
前記複数の再生装置のうち、受信した前記ストリーミングデータを他の再生装置へ転送する再生装置が、
転送先の前記他の再生装置との間の通信品質を計測し、
受信した前記ストリーミングデータにおける単位再生時間毎の再生データ量と、計測された前記通信品質とに基づいて、受信した前記ストリーミングデータをパケットに分割し直して転送する、
ことを特徴とする配信方法。
(付記2) 前記配信装置は、当該配信装置と前記複数の再生装置のそれぞれとの間の通信品質と、前記複数の再生装置それぞれの相互間の通信品質とに基づいて、前記ストリーミングデータが前記複数の再生装置の間でデイジーチェーン方式により転送されるように、前記ストリーミングデータの配信経路を決定する、
ことを特徴とする付記1記載の配信方法。
(付記3) 可変ビットレートのストリーミングデータをパケット化された状態で受信し、受信した前記ストリーミングデータを再生すると共に他の再生装置へ転送する再生装置において、
前記他の再生装置との間の通信品質を計測する計測部と、
受信した前記ストリーミングデータにおける単位再生時間毎の再生データ量と、計測された前記通信品質とに基づいて、受信した前記ストリーミングデータをパケットに分割し直して転送する転送制御部と、
を有することを特徴とする再生装置。
(付記4) 前記転送制御部は、分割し直したパケットに含まれる前記ストリーミングデータが、当該パケットに含まれる前記ストリーミングデータを再生する際の再生時間以下の時間で送信されるように、受信した前記ストリーミングデータをパケットに分割し直すことを特徴とする付記3記載の再生装置。
(付記5) 前記転送制御部は、受信したパケットに含まれる前記ストリーミングデータについての単位再生時間毎の再生データ量と、計測された前記通信品質に応じた判定閾値との比較に基づいて、前記受信したパケットに含まれる前記ストリーミングデータを別のパケットに分割し直すかを判定することを特徴とする付記3記載の再生装置。
(付記6) 前記転送制御部は、前記受信したパケットに含まれる前記ストリーミングデータを別のパケットに分割し直すと判定した場合、前記受信したパケットおよびその前後の少なくとも一方のパケットに含まれる前記ストリーミングデータを複数の分割区間に分割し直して、前記複数の分割区間それぞれに含まれる前記ストリーミングデータを個別のパケットに格納して送信し、前記複数の分割区間に分割する際に、一の分割区間に含まれる前記ストリーミングデータが、当該一の分割区間に含まれる前記ストリーミングデータを再生する際の再生時間以下の時間で送信されるように前記複数の分割区間を決定することを特徴とする付記5記載の再生装置。
(付記7) ストリーミングデータを複数の再生装置へ配信する配信装置において、
前記配信装置と前記複数の再生装置のそれぞれとの間の通信品質と、前記複数の再生装置それぞれの相互間の通信品質とを取得する取得部と、
取得された前記各通信品質に基づいて、前記ストリーミングデータが前記複数の再生装置の間でデイジーチェーン方式により転送されるように、前記ストリーミングデータの配信経路を決定する経路制御部と、
を有することを特徴とする配信装置。
(付記8) 前記経路制御部は、決定された前記配信経路を示す情報を、前記複数の再生装置それぞれに通知することを特徴とする付記7記載の配信装置。
(付記9) 前記経路制御部は、前記複数の再生装置をデイジーチェーン方式で接続して得られる複数の配信経路パターンのうち、配信経路における装置間の通信品質を示す数値の合計値が最大となる配信経路パターンを、前記ストリーミングデータの前記配信経路に決定することを特徴とする付記7または8のいずれかに記載の配信装置。
(付記10) 可変ビットレートのストリーミングデータをパケット化された状態で受信し、受信した前記ストリーミングデータを再生すると共に他の再生装置へ転送するコンピュータが実行する転送制御プログラムにおいて、
前記コンピュータに、
前記他の再生装置との間の通信品質を計測し、
受信した前記ストリーミングデータにおける単位再生時間毎の再生データ量と、計測された前記通信品質とに基づいて、受信した前記ストリーミングデータをパケットに分割し直して転送する、
処理を実行させることを特徴とする転送制御プログラム。
(付記11) 前記ストリーミングデータをパケットに分割し直す際、分割し直したパケットに含まれる前記ストリーミングデータが、当該パケットに含まれる前記ストリーミングデータを再生する際の再生時間以下の時間で送信されるように分割し直すことを特徴とする付記10記載の転送制御プログラム。
(付記12) 前記パケット化された状態の前記ストリーミングデータを受信したとき、前記受信したパケットに含まれる前記ストリーミングデータについての単位再生時間毎の再生データ量と、計測された前記通信品質に応じた判定閾値との比較に基づいて、前記受信したパケットに含まれる前記ストリーミングデータを別のパケットに分割し直すかを判定することを特徴とする付記10記載の転送制御プログラム。
(付記13) 前記受信したパケットに含まれる前記ストリーミングデータを別のパケットに分割し直すと判定した場合、前記受信したパケットおよびその前後の少なくとも一方のパケットに含まれる前記ストリーミングデータを複数の分割区間に分割し直して、前記複数の分割区間それぞれに含まれる前記ストリーミングデータを個別のパケットに格納して送信し、前記複数の分割区間に分割する際に、一の分割区間に含まれる前記ストリーミングデータが、当該一の分割区間に含まれる前記ストリーミングデータを再生する際の再生時間以下の時間で送信されるように前記複数の分割区間を決定することを特徴とする付記12記載の転送制御プログラム。
(付記14) ストリーミングデータを複数の再生装置へ配信するコンピュータが実行する配信制御プログラムにおいて、
前記コンピュータに、
前記コンピュータと前記複数の再生装置のそれぞれとの間の通信品質と、前記複数の再生装置それぞれの相互間の通信品質とを取得し、
取得された前記各通信品質に基づいて、前記ストリーミングデータが前記複数の再生装置の間でデイジーチェーン方式により転送されるように、前記ストリーミングデータの配信経路を決定する、
処理を実行させることを特徴とする配信制御プログラム。
(付記15) 前記配信経路を決定したとき、決定された前記配信経路を示す情報を、前記複数の再生装置それぞれに通知することを特徴とする付記14記載の配信制御プログラム。
(付記16) 前記配信経路を決定する際、前記複数の再生装置をデイジーチェーン方式で接続して得られる複数の配信経路パターンのうち、配信経路における装置間の通信品質を示す数値の合計値が最大となる配信経路パターンを、前記ストリーミングデータの前記配信経路に決定することを特徴とする付記14または15のいずれかに記載の配信制御プログラム。
10 配信装置
11 ストリーミングデータ
20a,20b 再生装置
R1〜R6 再生区間

Claims (11)

  1. 可変ビットレートのストリーミングデータがパケット化されて配信装置から複数の再生装置へ配信され、配信された前記ストリーミングデータが前記複数の再生装置のうち一の再生装置から他の1以上の再生装置へ転送される配信システムにおける配信方法であって、
    前記複数の再生装置のうち、受信した前記ストリーミングデータを他の再生装置へ転送する再生装置が、
    転送先の前記他の再生装置との間の通信品質を計測し、
    受信した前記ストリーミングデータにおける単位再生時間毎の再生データ量と、計測された前記通信品質とに基づいて、受信した前記ストリーミングデータをパケットに分割し直して転送する、
    ことを特徴とする配信方法。
  2. 前記配信装置は、当該配信装置と前記複数の再生装置のそれぞれとの間の通信品質と、前記複数の再生装置それぞれの相互間の通信品質とに基づいて、前記ストリーミングデータが前記複数の再生装置の間でデイジーチェーン方式により転送されるように、前記ストリーミングデータの配信経路を決定する、
    ことを特徴とする請求項1記載の配信方法。
  3. 可変ビットレートのストリーミングデータをパケット化された状態で受信し、受信した前記ストリーミングデータを再生すると共に他の再生装置へ転送する再生装置において、
    前記他の再生装置との間の通信品質を計測する計測部と、
    受信した前記ストリーミングデータにおける単位再生時間毎の再生データ量と、計測された前記通信品質とに基づいて、受信した前記ストリーミングデータをパケットに分割し直して転送する転送制御部と、
    を有することを特徴とする再生装置。
  4. 前記転送制御部は、分割し直したパケットに含まれる前記ストリーミングデータが、当該パケットに含まれる前記ストリーミングデータを再生する際の再生時間以下の時間で送信されるように、受信した前記ストリーミングデータをパケットに分割し直すことを特徴とする請求項3記載の再生装置。
  5. 前記転送制御部は、受信したパケットに含まれる前記ストリーミングデータについての単位再生時間毎の再生データ量と、計測された前記通信品質に応じた判定閾値との比較に基づいて、前記受信したパケットに含まれる前記ストリーミングデータを別のパケットに分割し直すかを判定することを特徴とする請求項3記載の再生装置。
  6. 前記転送制御部は、前記受信したパケットに含まれる前記ストリーミングデータを別のパケットに分割し直すと判定した場合、前記受信したパケットおよびその前後の少なくとも一方のパケットに含まれる前記ストリーミングデータを複数の分割区間に分割し直して、前記複数の分割区間それぞれに含まれる前記ストリーミングデータを個別のパケットに格納して送信し、前記複数の分割区間に分割する際に、一の分割区間に含まれる前記ストリーミングデータが、当該一の分割区間に含まれる前記ストリーミングデータを再生する際の再生時間以下の時間で送信されるように前記複数の分割区間を決定することを特徴とする請求項5記載の再生装置。
  7. ストリーミングデータを複数の再生装置へ配信する配信装置において、
    前記配信装置と前記複数の再生装置のそれぞれとの間の通信品質と、前記複数の再生装置それぞれの相互間の通信品質とを取得する取得部と、
    取得された前記各通信品質に基づいて、前記ストリーミングデータが前記複数の再生装置の間でデイジーチェーン方式により転送されるように、前記ストリーミングデータの配信経路を決定する経路制御部と、
    を有することを特徴とする配信装置。
  8. 前記経路制御部は、決定された前記配信経路を示す情報を、前記複数の再生装置それぞれに通知することを特徴とする請求項7記載の配信装置。
  9. 前記経路制御部は、前記複数の再生装置をデイジーチェーン方式で接続して得られる複数の配信経路パターンのうち、配信経路における装置間の通信品質を示す数値の合計値が最大となる配信経路パターンを、前記ストリーミングデータの前記配信経路に決定することを特徴とする請求項7または8のいずれかに記載の配信装置。
  10. 可変ビットレートのストリーミングデータをパケット化された状態で受信し、受信した前記ストリーミングデータを再生すると共に他の再生装置へ転送するコンピュータが実行する転送制御プログラムにおいて、
    前記コンピュータに、
    前記他の再生装置との間の通信品質を計測し、
    受信した前記ストリーミングデータにおける単位再生時間毎の再生データ量と、計測された前記通信品質とに基づいて、受信した前記ストリーミングデータをパケットに分割し直して転送する、
    処理を実行させることを特徴とする転送制御プログラム。
  11. ストリーミングデータを複数の再生装置へ配信するコンピュータが実行する配信制御プログラムにおいて、
    前記コンピュータに、
    前記コンピュータと前記複数の再生装置のそれぞれとの間の通信品質と、前記複数の再生装置それぞれの相互間の通信品質とを取得し、
    取得された前記各通信品質に基づいて、前記ストリーミングデータが前記複数の再生装置の間でデイジーチェーン方式により転送されるように、前記ストリーミングデータの配信経路を決定する、
    処理を実行させることを特徴とする配信制御プログラム。
JP2014052268A 2014-03-14 2014-03-14 配信方法、再生装置、配信装置、転送制御プログラムおよび配信制御プログラム Expired - Fee Related JP6426901B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014052268A JP6426901B2 (ja) 2014-03-14 2014-03-14 配信方法、再生装置、配信装置、転送制御プログラムおよび配信制御プログラム
US14/614,979 US10284681B2 (en) 2014-03-14 2015-02-05 Distribution method, playback apparatus, and distribution apparatus
CN201510088678.4A CN104918068B (zh) 2014-03-14 2015-02-26 分发方法、重放设备和分发设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014052268A JP6426901B2 (ja) 2014-03-14 2014-03-14 配信方法、再生装置、配信装置、転送制御プログラムおよび配信制御プログラム

Publications (2)

Publication Number Publication Date
JP2015177344A true JP2015177344A (ja) 2015-10-05
JP6426901B2 JP6426901B2 (ja) 2018-11-21

Family

ID=54070294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014052268A Expired - Fee Related JP6426901B2 (ja) 2014-03-14 2014-03-14 配信方法、再生装置、配信装置、転送制御プログラムおよび配信制御プログラム

Country Status (3)

Country Link
US (1) US10284681B2 (ja)
JP (1) JP6426901B2 (ja)
CN (1) CN104918068B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6911922B2 (ja) * 2017-07-19 2021-07-28 日本電気株式会社 データ配信装置、システム、方法およびプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003105421A1 (ja) * 2002-06-06 2003-12-18 インターナショナル・ビジネス・マシーンズ・コーポレーション ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、該方法を実行するためのプログラム、該プログラムを記憶したコンピュータ可読な記録媒体、およびそのためのサーバおよびクライアント
JP2007195106A (ja) * 2006-01-23 2007-08-02 Yamaha Corp コンテンツデータ配信システム
JP2009527952A (ja) * 2006-02-17 2009-07-30 スタンダード マイクロシステムズ コーポレーション イーサネット符号化違反でもって仕切られたフレーム及びパケット構造を用いてイーサネット伝送線上で異なる首里のパケット化ストリーミングデータを転送するシステム及び方法
JP2011068350A (ja) * 2003-05-21 2011-04-07 Boeing Co:The 高帯域かつオープンな配線ネットワーク
JP2011244312A (ja) * 2010-05-20 2011-12-01 Nippon Hoso Kyokai <Nhk> ノード装置、最適パス決定方法及びプログラム

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574934A (en) * 1993-11-24 1996-11-12 Intel Corporation Preemptive priority-based transmission of signals using virtual channels
US6611537B1 (en) * 1997-05-30 2003-08-26 Centillium Communications, Inc. Synchronous network for digital media streams
GB0022951D0 (en) * 2000-09-19 2000-11-01 Sgs Thomson Microelectronics Data injection
US7418088B2 (en) * 2000-10-03 2008-08-26 Tierra Telecom, Inc. Monitoring and control module
US7535900B2 (en) * 2003-01-21 2009-05-19 Symmetricom, Inc. Multiple transmission bandwidth streams with defferentiated quality of service
WO2004080071A1 (ja) * 2003-03-06 2004-09-16 Matsushita Electric Industrial Co., Ltd. データ処理装置
US20050005025A1 (en) * 2003-07-04 2005-01-06 Michael Harville Method for managing a streaming media service
JP4370995B2 (ja) 2004-07-26 2009-11-25 ブラザー工業株式会社 接続態様設定装置及び接続態様設定方法、並びに接続態様制御装置及び接続態様制御方法等
JP2006080659A (ja) 2004-09-07 2006-03-23 Brother Ind Ltd 情報配信システム、処理装置、処理方法及び処理プログラム等
KR100952547B1 (ko) * 2005-04-25 2010-04-12 샤프 가부시키가이샤 기록 장치 및 방법, 재생 장치 및 방법, 컴퓨터 판독가능한 기록 프로그램 기록 매체, 및 컴퓨터 판독가능한 재생 프로그램 기록 매체
US20070201388A1 (en) * 2006-01-31 2007-08-30 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
JP2008048182A (ja) * 2006-08-17 2008-02-28 Sony Corp 通信処理装置、および通信制御方法、並びにコンピュータ・プログラム
JP2009044416A (ja) * 2007-08-08 2009-02-26 Sony Corp コンテンツ再生装置、コンテンツ再生方法、プログラム、およびコンテンツ再生システム
JP5541488B2 (ja) * 2009-02-09 2014-07-09 ソニー株式会社 コンテンツ受信装置および方法
US8880716B2 (en) * 2009-05-08 2014-11-04 Canon Kabushiki Kaisha Network streaming of a single data stream simultaneously over multiple physical interfaces
US8396960B2 (en) * 2009-05-08 2013-03-12 Canon Kabushiki Kaisha Efficient network utilization using multiple physical interfaces
CN102055717B (zh) * 2009-11-09 2014-08-13 华为技术有限公司 快速播放的方法、终端及服务器
WO2011105815A2 (en) * 2010-02-23 2011-09-01 Lg Electronics Inc. A method and an apparatus for session routing in home network system
US8504713B2 (en) * 2010-05-28 2013-08-06 Allot Communications Ltd. Adaptive progressive download
US8489760B2 (en) * 2011-03-31 2013-07-16 Juniper Networks, Inc. Media file storage format and adaptive delivery system
EP2525587B1 (en) 2011-05-17 2017-07-05 Alcatel Lucent Method for streaming video content, node in a network for monitoring video content streaming
EP2715984B1 (en) * 2011-06-02 2017-03-29 Luxi Electronics Corp. Daisy chain devices and systems for digital signal switching and distribution
US20130179590A1 (en) * 2011-09-20 2013-07-11 General Instrument Corporation Video quality of experience management and constrained fidelity adaptive bit rate encoding systems and methods
WO2013043919A1 (en) * 2011-09-21 2013-03-28 General Instrument Corporation Constrained fidelity adaptive bitrate encoding systems and methods
US20130198786A1 (en) * 2011-12-07 2013-08-01 Comcast Cable Communications, LLC. Immersive Environment User Experience
US20150172348A1 (en) * 2012-01-17 2015-06-18 Telefonaktiebolaget L M Ericsson (Publ) Method for sending respectively receiving a media stream
WO2014011848A2 (en) * 2012-07-12 2014-01-16 Huawei Technologies Co., Ltd. Signaling and processing content with variable bitrates for adaptive streaming
EP2819364A1 (en) * 2013-06-25 2014-12-31 British Telecommunications public limited company Content distribution system and method
US9386308B2 (en) * 2013-07-16 2016-07-05 Cisco Technology, Inc. Quality optimization with buffer and horizon constraints in adaptive streaming
US20150089072A1 (en) * 2013-09-25 2015-03-26 Ericsson Television Inc System and method for managing adjacent channels in an adaptive streaming environment
US9380351B2 (en) * 2014-01-17 2016-06-28 Lg Display Co., Ltd. Apparatus for transmitting encoded video stream and method for transmitting the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003105421A1 (ja) * 2002-06-06 2003-12-18 インターナショナル・ビジネス・マシーンズ・コーポレーション ディジタル・コンテンツ配信システム、ディジタル・コンテンツ配信方法、該方法を実行するためのプログラム、該プログラムを記憶したコンピュータ可読な記録媒体、およびそのためのサーバおよびクライアント
JP2011068350A (ja) * 2003-05-21 2011-04-07 Boeing Co:The 高帯域かつオープンな配線ネットワーク
JP2007195106A (ja) * 2006-01-23 2007-08-02 Yamaha Corp コンテンツデータ配信システム
JP2009527952A (ja) * 2006-02-17 2009-07-30 スタンダード マイクロシステムズ コーポレーション イーサネット符号化違反でもって仕切られたフレーム及びパケット構造を用いてイーサネット伝送線上で異なる首里のパケット化ストリーミングデータを転送するシステム及び方法
JP2011244312A (ja) * 2010-05-20 2011-12-01 Nippon Hoso Kyokai <Nhk> ノード装置、最適パス決定方法及びプログラム

Also Published As

Publication number Publication date
US20150264100A1 (en) 2015-09-17
CN104918068A (zh) 2015-09-16
JP6426901B2 (ja) 2018-11-21
CN104918068B (zh) 2019-01-04
US10284681B2 (en) 2019-05-07

Similar Documents

Publication Publication Date Title
CN1767636B (zh) 内容分布方法、程序和信息处理装置
EP2053859B1 (en) A method and apparatus for reducing delay of media play
US8311399B2 (en) Method for fast forward/backward play of video data and a streaming server
JP5876480B2 (ja) マルチメディア・ストリーム・ファイルの保存ファイルフォーマット、保存方法及びそれを利用したクライアント装置
KR101089562B1 (ko) 고화질 미디어 방송을 위한 피투피 라이브 스트리밍 시스템 및 방법
CN107231581B (zh) 用于视频播放的方法、系统及流媒体播放控制服务器
CN102547395B (zh) 一种用于确定网络播放器的视频数据源的方法与设备
US7882168B2 (en) Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded
US7882261B2 (en) Method and apparatus for realizing positioning play of content stream in peer-to-peer network
JP5673538B2 (ja) 配信システム
WO2008023531A1 (fr) système de sauvegarde à dispersion de contenus, procédé d&#39;acquisition d&#39;image de trame, dispositif de nœud, et support de mémoire comprenant un programme de traitement de nœud stocké dans celui-ci
US20120030314A1 (en) Method and apparatus for transmitting and receiving streaming data based on real-time streaming protocol (rtsp) session
US9332421B2 (en) Method and apparatus for random access to multimedia content in wireless communication system
JP2008048350A (ja) コンテンツ分散保存システム、フレーム画像取得方法、及びノード装置等
JP6426901B2 (ja) 配信方法、再生装置、配信装置、転送制御プログラムおよび配信制御プログラム
JP2007527576A (ja) コンテンツを配信するためのシステム、レシーバ、方法及びプログラム
JP4283186B2 (ja) 双方向映像通信品質制御システム、利用者端末、品質管理サーバ及びプログラム
CN110602515A (zh) 基于区块链的数据处理方法、服务器及存储介质
WO2003100679A1 (fr) Procede et dispositif de distribution de contenus
KR101144331B1 (ko) 시간 기반의 메쉬 오버레이 네트워크 시스템 및 이를 이용한 메쉬 오버레이 네트워크 구축 방법
US20120246329A1 (en) Method for setting plurality of sessions and node using same
JP4821501B2 (ja) コンテンツ分散保存システム、フレーム取得方法、及びノード装置等
AU2015101273A4 (en) A computer implemented system and method for transferring multimedia content
JP5178947B2 (ja) サーバ、データ配信システム及び情報配信方法
KR101027117B1 (ko) 이동 통신 단말기에서의 컨텐츠 녹화 방법 및 그 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170919

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180605

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20180706

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180710

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20180912

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181009

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181026

R150 Certificate of patent or registration of utility model

Ref document number: 6426901

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees