JP6907104B2 - 映像配信装置、制御方法及びプログラム - Google Patents

映像配信装置、制御方法及びプログラム Download PDF

Info

Publication number
JP6907104B2
JP6907104B2 JP2017235238A JP2017235238A JP6907104B2 JP 6907104 B2 JP6907104 B2 JP 6907104B2 JP 2017235238 A JP2017235238 A JP 2017235238A JP 2017235238 A JP2017235238 A JP 2017235238A JP 6907104 B2 JP6907104 B2 JP 6907104B2
Authority
JP
Japan
Prior art keywords
time
client
video
client device
distribution
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.)
Active
Application number
JP2017235238A
Other languages
English (en)
Other versions
JP2019103087A (ja
Inventor
勝敏 田尻
勝敏 田尻
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2017235238A priority Critical patent/JP6907104B2/ja
Priority to US16/207,634 priority patent/US10778740B2/en
Priority to EP18210264.0A priority patent/EP3496414B1/en
Publication of JP2019103087A publication Critical patent/JP2019103087A/ja
Application granted granted Critical
Publication of JP6907104B2 publication Critical patent/JP6907104B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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/26258Content 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 for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、映像配信装置、制御方法及びプログラムに関する。
従来、インターネットなどIP(Internet Protocol)ネットワークを利用した配信システムが増加してきている。例えば、スキー場や動物園の状況を配信するインターネットサイトに採用されており、他にも店舗・ビル監視などにも採用されている。動画サービスでは、DASH(Dynamic Adaptive Streaming over HTTP)やAppleが主導して規格化しているHLS(HTTP Live Streaming)等が普及してきている。これらは、MPEG(Moving Picture Experts Group)によって規格化された技術である。これらの映像配信技術では、RTP(Real−time Transport Protocol)で問題であったネットワーク環境の問題や特別なクライアントアプリケーションが必要などの問題が解決されている。すなわち、これらの映像配信技術においては、通常のブラウザ上で動画配信を受信し再生できるようになっている。
一般的なDASH配信では、配信サーバ側で解像度やビットレートが異なる複数の動画データを数秒単位のセグメントと言われる動画ファイルに分割する。そして、クライアントは表示性能や通信帯域に合わせて最適な動画ファイルを順次ダウンロードして再生する。具体的には、クライアントはまず動画の全体情報が記載されているMPD(Media Presentation Description)ファイルを取得し、その中から適切な解像度やビットレートの動画ストリームを選択する。そして、クライアントは、MPDの記載に従って、MPEG2 TSストリームまたはMP4ファイルの動画データをセグメント単位でダウンロードして再生する。
MPDファイルには配信可能時刻(AvailabilityStartTime等)が記載されている。このため、特にライブ配信においては、クライアントは、配信可能時刻になるまで動画データの取得を待ったり、配信可能時刻を過ぎた場合は現在の動画データから取得したりすることができる。このため、配信サーバとクライアント間で予め時刻同期しておくことは重要である。これに対し、特許文献1には、MPDファイルにコンテンツデータを取り出すことができる時刻と時刻同期方法を含ませ、クライアントは、MPDファイルに記載してある時刻同期方法により時刻を合わせる技術が開示されている。
特表2016−509400号公報
しかしながら、従来技術においては、動画データを視聴するためにクライアント装置の時刻を変更しなければならなかった。
本発明はこのような問題点に鑑みなされたもので、配信サーバと時刻同期を行っていないクライアント装置に対し、時刻変更を行うことなく、クライアント装置が適切なタイミングで映像データの取得を要求できる仕組みを提供することを目的とする。
そこで、本発明は、映像配信装置であって、クライアント装置から、映像データの配信の開始要求を受信する受信手段と、前記開始要求を受信した場合に、前記クライアント装置による前記開始要求の送信タイミングとして前記クライアント装置で計測されたクライアント時刻を示す情報を前記開始要求から抽出する抽出手段と、少なくとも前記クライアント時刻に基づいて、映像データを配信可能な時刻を決定する第1の決定手段と、前記配信可能な時刻を前記クライアント装置に送信する送信手段とを有することを特徴とする。
本発明によれば、配信サーバと時刻同期を行っていないクライアント装置に対し、時刻変更を行うことなく、クライアント装置が適切なタイミングで映像データの取得を要求できる仕組みを提供することができる。
映像配信システムの全体図である。 カメラサーバ装置のハードウェア構成図である。 カメラサーバ装置の機能構成図である。 映像配信処理を示すシーケンス図である。 映像配信処理を示すフローチャートである。 配信可能時刻決定処理を示すフローチャートである。 映像生成と配信要求のタイミングを示した関係図である。 配信可能時刻決定処理を示すフローチャートである。
以下、本発明の実施形態について図面に基づいて説明する。
(第1の実施形態)
図1は、第1の実施形態に係る映像配信システム100の全体図である。映像配信システム100は、カメラサーバ装置110と、クライアント装置120と、を有している。カメラサーバ装置110とクライアント装置120とは、ネットワーク130を介して相互に接続される。カメラサーバ装置110はカメラを備え、撮影した映像データを、ネットワーク130を介してクライアント装置120に配信する。クライアント装置120は、カメラサーバ装置110にアクセスし、映像データを取得する。
図1においては、説明の簡略化のためにカメラサーバ装置110を1台としているが、2台以上であってもよい。またクライアント装置120以外にもカメラサーバ装置110にアクセスして画像の受信を行う他のクライアント装置があってもよい。ネットワーク130は、Ethernet(登録商標)等の通信規格を満足する複数のルータ、スイッチ、ケーブル等から構成される。なお、ネットワーク130の通信規格、規模、構成を問わない。ネットワーク130は、例えば、インターネットからLAN(Local Area Network)であってもよい。
また、本実施形態においては、カメラサーバ装置110による配信対象のデータが映像データであるもとして説明するが、配信対象のデータは、映像データ以外のデータを含んでもよい。映像データ以外のデータとしては、音声データ、画像・音声解析データ、字幕データ等が挙げられる。
図2は、カメラサーバ装置110のハードウェア構成図である。CPU200、一次記憶装置201、二次記憶装置202、画像キャプチャI/F(インターフェース)203、ネットワークI/F204は、内部バス206を介して相互に接続されている。CPU200は、カメラサーバ装置110全体を制御する。一次記憶装置201は、RAMに代表される書き込み可能な高速の記憶装置で、OSや各種プログラム及び各種データがロードされ、またOSや各種プログラムの作業領域としても使用される。二次記憶装置202は、フラッシュメモリ、HDD、SDカード等に代表される不揮発性を持った記憶装置で、OSや各種プログラム及び各種データの永続的な記憶領域として使用される他に、短期的な各種データの記憶領域としても使用される。なお、後述するカメラサーバ装置110の機能や処理は、CPU200が二次記憶装置202に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
画像キャプチャI/F203にはCCDやCMOSからなるセンサー(画像センサー)205が接続されている。画像キャプチャI/F203は、センサー205から取得した画像データを所定のフォーマットに変換・圧縮して一次記憶装置201に転送する。ネットワークI/F204は、ネットワーク130と接続するためのI/Fであり、クライアント装置120等との通信を担う。
図3は、カメラサーバ装置110の機能構成図である。撮像処理部301は、センサー205で生成された映像フレームを画像キャプチャI/F203を経由して取得し符号化処理を行い、一次記憶装置201に保存する。一次記憶装置201は、生成された映像フレームを一時的に格納する。一次記憶装置201に格納された映像フレームは、配信が完了した後に削除される。
配信管理部302は、クライアント装置120から配信開始要求を受信すると、配信可能時刻や配信可能映像ストリーム情報を含んだMPDファイルを、ネットワーク処理部303を経由して送信する。ここで、配信開始要求は、MPDファイル取得要求である。配信管理部302はまた、一次記憶装置201に蓄積されている単数または複数の映像フレームを送信可能なセグメントファイル(動画ファイル)に変換する。そして、配信管理部302は、クライアント装置120の要求に合わせてネットワーク処理部303を経由してセグメントファイルを送信する。
なお、他の例としては、配信管理部302は、HTTP/2やWebsocketなどのプロトコルを採用する場合には、要求を受信することなく、映像フレームを生成してセグメントファイルが完成した時点で次々と送信してもよい。また、配信管理部302が映像フレームをセグメントファイルに変換するとしたが、映像生成時に全クライアント共通でセグメントファイルを生成するようにしても構わない。
図4は、カメラサーバ装置110からクライアント装置120への映像配信処理を示すシーケンス図である。S401において、クライアント装置120は、S401の処理時点(送信時点)において自装置において計測された時刻(T1)を含む配信開始要求を、カメラサーバ装置110に送信する。以下、カメラサーバ装置110において計測された時刻(T1)をクライアント時刻と称することとする。カメラサーバ装置110は、配信開始要求を受信すると、S402において、配信可能な映像ストリームの映像生成を開始する。次に、S403において、カメラサーバ装置110は、配信可能な映像データが準備できるまでの基準時間(D1)を、配信開始要求に含まれるクライアント時刻(T1)に加算した値を配信可能時刻(T2)として決定する。なお、基準時間(D1)については、後に詳述する。
次に、S404において、カメラサーバ装置110は、配信可能時刻(T2)をAvailabilityStartTimeに設定したMPDファイルを生成してクライアント装置120に送信する。次に、S405において、カメラサーバ装置110は、SPS/PPS等を含む映像フレーム1(Iフレーム)を生成する。次に、S406において、カメラサーバ装置110は、SPS/PPS等から最初の映像データである初期化セグメントを生成する。次に、S407において、カメラサーバ装置110では、映像フレーム1からの差分映像である映像フレーム2(Pフレーム)を生成する。次に、S408において、カメラサーバ装置110は、映像フレーム2からの差分映像である映像フレーム3(Pフレーム)を生成する。次に、S409において、カメラサーバ装置110は、映像フレーム1,2,3からメディアセグメント1を生成する。なお、本実施形態においては、差分映像をPフレームとしたが、Bフレームでもよい。
続いて、クライアント装置120は、処理時点の現在時刻がMPDファイルのAvailabilityStartTimeに設定された時刻になると、S410において、初期化セグメントの取得要求をカメラサーバ装置110へ送信する。次に、S411において、クライアント装置120は、カメラサーバ装置110から初期化セグメントを応答として受信する。次に、S412において、クライアント装置120は、メディアセグメント1の取得要求をカメラサーバ装置110へ送信する。次に、S413において、クライアント装置120は、カメラサーバ装置110からメディアセグメント1を応答として受信する。なお、本実施形態においては、クライアント装置120は、配信可能時刻以降に初期化セグメントを取得するものとしたが、初期化セグメントは事前に生成できるので配信可能時刻以前に取得することとしてもよい。
以下同様に、カメラサーバ装置110は、S414において映像フレーム4(Iフレーム)を生成し、次に、S415において映像フレーム5(Pフレーム)を生成し、次に、S416において映像フレーム6(Pフレーム)を生成する。次に、S417において、カメラサーバ装置110は、これらの映像フレームからメディアセグメント2を生成する。そして、S418において、クライアント装置120は、メディアセグメント2が生成される時刻以降に取得要求をカメラサーバ装置110へ送信する。次に、S419において、クライアント装置120は、カメラサーバ装置110から応答としてメディアセグメント2を受信する。
図5は、カメラサーバ装置110による映像配信処理を示すフローチャートである。映像配信処理は、クライアント装置120から配信開始要求を受信した際に実行される処理である。S501において、配信管理部302は、撮像処理部301に配信可能な映像ストリームの映像生成の開始を指示する。次に、S502において、配信管理部302は、配信開始要求に含まれているクライアント時刻(T1)に基づいて、配信可能時刻を決定する。本処理については、図6を参照しつつ後述する。
次に、S503において、配信管理部302は、S502において決定した配信可能時刻をMPDファイルのAvailabilityStartTimeに設定し、MPDファイルを生成する。次に、S504において、配信管理部302は、MPDファイルをネットワーク処理部303経由でクライアント装置120に送信する。S505において、配信管理部302は、イベント発生まで待機し、イベントが発生すると(S505でYES)、処理をS506へ進める。
S506において、配信管理部302は、イベントの種類を判定する。配信管理部302は、イベントの種類が映像フレーム生成の場合には(S506で映像フレーム生成)、処理をS507へ進める。配信管理部302は、イベントの種類がセグメント取得要求の場合には(S506でセグメント取得要求)、処理をS510へ進める。なお、セグメント取得要求は、初期化セグメント又はメディアセグメントの取得を要求する情報である。配信管理部302は、イベントの種類が配信終了の場合には(S506で配信終)、処理をS515へ進める。
S507において、配信管理部302は、映像フレームを一次記憶装置201にバッファリングする。このとき、配信管理部302は、映像フレームだけでなくSPS/PPS等の情報もバッファに保存する。次に、S508において、配信管理部302は、バッファがフルの状態か否かを判定する。配信管理部302は、バッファがフルの状態でない場合には(S508でNO)、処理をS505へ進める。配信管理部302は、バッファがフルの状態である場合には(S508でYES)、処理をS509へ進める。S509において、配信管理部302は、古い映像フレームを解放し、その後処理をS505へ進める。
S510において、配信管理部302は、要求されたセグメントに含まれる情報がバッファに格納されているか否かを判定する。配信管理部302は、要求された情報がバッファに格納されている場合には(S510でYES)、処理をS511へ進める。配信管理部302は、要求された情報がバッファに格納されていない場合には(S510でNO)、処理をS514へ進める。S511において、配信管理部302は、要求されたセグメント(初期化セグメント又はメディアセグメント)を生成する。配信管理部302は、生成する初期化セグメントまたはメディアセグメントに含める時刻に、配信可能時刻を起点とした初期化セグメントの時刻や各メディアセグメントの時刻を設定してもよい。次に、S512において、配信管理部302は、S511において生成したセグメントをクライアント装置120に送信する。次に、S513において、配信管理部302は、送信した映像フレームをバッファから解放し、その後処理をS505へ進める。
S514において、配信管理部302は、クライアント装置120にエラー応答を送信し、その後処理をS505へ進める。S515において、配信管理部302は、バッファに格納されているすべての情報を解放する。次に、S516において、配信管理部302は、撮像処理部301に映像生成の停止を指示する。以上で、映像配信処理が終了する。
図6は、図5を参照しつつ説明した配信可能時刻決定処理(S502)における詳細な処理を示すフローチャートである。なお、前提として、カメラサーバ装置110がクライアント装置120から受信するMPDファイルには、クライアント時刻が含まれる場合と含まれない場合があるものとする。同様に、カメラサーバ装置110がクライアント装置120から受信するMPDファイルには、セグメント時間が含まれる場合と含まれない場合があるものとする。ここで、セグメント時間とは、カメラサーバ装置110が配信可能なセグメントを準備するのにかかる時間として、クライアント装置120のユーザにより設定された時間である。
S601において、配信管理部302は、MPDファイルにおいてクライアント時刻(T1)が指定されているか否かを判定する。配信管理部302は、クライアント時刻(T1)が指定されている場合には(S601でYES)、処理をS602へ進める。配信管理部302は、クライアント時刻(T1)が指定されていない場合には(S601でNO)、処理をS603へ進める。S602において、配信管理部302は、MPDファイルからクライアント時刻(T1)を抽出し、開始時刻(T2)にクライアント時刻(T1)を設定し、その後処理をS604へ進める。一方、S603においては、配信管理部302は、開始時刻(T2)に対し、S603の処理時点においてカメラサーバ装置110において計測された現在時刻(サーバ時刻)を設定し、その後処理をS604へ進める。ここで、クライアント時刻(T1)は、クライアント装置120による配信開始要求の送信タイミングとしてクライアント装置120により計測された時刻である。また、サーバ時刻は、カメラサーバ装置110による配信開始要求の受信タイミングとしてカメラサーバ装置110により計測された時刻である。
S604において、配信管理部302は、MPDファイルにおいてセグメント時間が指定されているか否かを判定する。配信管理部302は、セグメント時間が指定されている場合には(S604でYES)、処理をS605へ進める。配信管理部302は、セグメント時間が指定されていない場合には(S604でNO)、処理をS606へ進める。S605において、配信管理部302は、基準時間(D1)にセグメント時間を設定し、その後処理をS607へ進める。一方、S606において、配信管理部302は、基準時間(D1)にIフレームからIフレームの時間間隔であるGOP間隔を設定する。なお、GOP間隔は、3つの映像フレームを生成する期間に相当する期間である。GOP間隔は、カメラサーバ装置110において基準時間(D1)のデフォルト値として設定されているものとする。なお、デフォルト値は、カメラサーバ装置110において予め設定された値であればよく、GOP間隔に限定されるものではない。また、映像ストリーム毎に異なる時間をデフォルト値として用いてもよい。S607において、配信管理部302は、開始時刻(T2)に基準時間(D1)を加算した値を、配信可能時刻として決定する。以上で、配信可能時刻決定処理(S502)が終了する。
以上のように、第1の実施形態に係る映像配信システム100においては、カメラサーバ装置110がクライアント装置120から現在時刻を受信することで、クライアント装置120における配信開始時刻を決定し、これをクライアント装置120に送信する。このため、クライアント装置120は、時刻を変更することなく、適切なタイミングでセグメントの取得要求をカメラサーバ装置110へ送信することができる。このように、配信サーバと時刻同期を行っていないクライアント装置に対し、時刻変更を行うことなく、クライアント装置が適切なタイミングで映像データの取得を要求できる仕組みを提供することができる。
なお、第1の実施形態の第1の変形例としては、S607において、配信管理部302は、開始時刻(T2)と基準時間(D1)とに基づいて配信可能時刻を決定すればよく、そのための具体的な処理は実施形態に限定されるものではない。他の例としては、配信管理部302は、基準時間(D1)を1.5倍、0.5倍した値を開始時刻(T2)に加算してもよい。
また、第2の変形例としては、セグメント時間が1秒未満である等、基準時間が無視できる程度に短い場合は、基準時間を0秒としてもよい。つまり、クライアント時刻を、そのまま、映像データを配信可能な時刻として決定してもよい。
また、第3の変形例としては、S607において、配信管理部302は、さらに、クライアント装置120への配信が可能になるまでにかかる基準時間(D1)以外の時間を加味して配信可能時間を決定してもよい。配信管理部302は、例えば、カメラサーバ装置110とクライアント装置120間の通信に必要なRTT(RoundTripTime)時間等を加味してもよい。
また、第4の変形例としては、配信可能時刻は、AvailablilityStartTime以外の他の時刻情報として用いられてもよい。配信可能時刻は、例えば、InbandEventStream等に使用するPublishTimeとして用いられてもよい。
(第2の実施形態)
次に、第2の実施形態に係る映像配信システム100について、第1の実施形態に係る映像配信システム100と異なる点を主に説明する。図7は、第2の実施形態における映像生成と配信要求のタイミングを示した関係図である。図7に示すグラフの横軸は生成される映像フレーム番号を示し、縦軸は時刻を示している。また、直線700は生成されたフレーム番号に対する時刻を示している。図7に示すように、フレーム番号3のフレームが生成されたタイミング(T11)で、セグメント1が生成される。また、フレーム番号6のフレームが生成されたタイミング(T12)で、セグメント2が生成される。また、T11とT12の間のタイミング(T20)において、カメラサーバ装置110がクライアント装置120からの配信開始要求を受信したものとする。
この場合において、さらにカメラサーバ装置110が既に生成済みのセグメント1から配信を開始するものとする。この場合には、カメラサーバ装置110は、タイミング(T20)とセグメント1の生成時刻(T11)の差分時間(D2)を求める。ここで、差分時間(D2)は、「T20−T11」となる。この場合、開始時刻(T2)は、「T1−D2」で求めることができるまた、カメラサーバ装置110が次に生成するセグメント2から配信を開始するものとする。この場合、カメラサーバ装置110は、セグメント2の生成時間(T12)とタイミング(T20)の差分時間(D3)を求める。ここで、差分時間(D3)は、「T12−T20」で求めることができる。この場合、開始時刻(T2)は、「T1+D3」で求めることができる。
図8は、第2の実施形態に係る配信可能時刻決定処理を示すフローチャートである。なお、S801〜S803の処理は、図6を参照しつつ説明したS601〜S603の処理と同様である。続く、S804において、配信管理部302は、一時記憶部としてのバッファに配信可能なセグメントが格納されているか否かを判定する。配信管理部302は、セグメントが格納されている場合には(S804でYES)、処理をS805へ進める。配信管理部302は、セグメントが格納されていない場合には(S804でNO)、処理をS807へ進める。
S805におい、配信管理部302は、差分時間(D2)を算出する。次に、S806において、配信管理部302は、開始時刻(T1)から差分時間(D2)を減算した値を配信可能時刻として決定する。以上で、配信可能時刻決定処理が終了する。一方、S807において、配信管理部302は、差分時間(D3)を算出する。次に、S808において、配信管理部302は、開始時刻(T1)に差分時間(D3)を加算した値を配信可能時刻として決定する。以上で、配信可能時刻決定処理が終了する。
このように、第2の実施形態のカメラサーバ装置110は、バッファに配信可能なセグメントが存在する場合には、バッファに存在するセグメントから配信を開始する。一方で、カメラサーバ装置110は、バッファに配信可能なセグメントが存在しない場合には、これから生成されるセグメントから配信を開始する。なお、第2の実施形態に係る映像配信システム100のこれ以外の構成及び処理は、第1の実施形態に係る映像配信システム100の構成及び処理と同様である。
なお、第2の実施形態の変形例としては、配信管理部302は、バッファに配信可能なセグメントが格納されている場合であっても、次に生成するセグメントから配信を行うこととしてもよい。配信管理部302は、例えば、クライアント装置120から指示があった場合等に、次に生成するセグメントから配信を行うこととしてもよい。
また、上記実施形態においては、MPEG−DASHによる配信方法を例に説明したが、HLSなど他のHTTP Adaptive Streamingを用いた配信や、それ以外の時刻情報を使った配信方式にも適用可能である。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 映像配信システム
110 カメラサーバ装置
120 クライアント装置

Claims (11)

  1. クライアント装置から、映像データの配信の開始要求を受信する受信手段と、
    前記開始要求を受信した場合に、前記クライアント装置による前記開始要求の送信タイミングとして前記クライアント装置で計測されたクライアント時刻を示す情報を前記開始要求から抽出する抽出手段と、
    少なくとも前記クライアント時刻に基づいて、映像データを配信可能な時刻を決定する第1の決定手段と、
    前記配信可能な時刻を前記クライアント装置に送信する送信手段と
    を有することを特徴とする映像配信装置。
  2. 前記第1の決定手段は、前記クライアント時刻と、前記映像データの配信に係る基準時間とに基づいて、前記映像データを配信可能な時刻を決定する
    ことを特徴とする請求項1に記載の映像配信装置。
  3. 前記第1の決定手段は、前記クライアント時刻に前記基準時間を加算した時刻を、前記配信可能な時刻として決定することを特徴とする請求項2に記載の映像配信装置。
  4. 前記第1の決定手段は、一時記憶手段に、前記配信可能な映像データが記憶されていない場合に、前記クライアント時刻に前記基準時間を加算した時刻を、前記配信可能な時刻として決定することを特徴とする請求項3に記載の映像配信装置。
  5. 前記第1の決定手段は、一時記憶手段に、前記配信可能な映像データが記憶されている場合に、前記クライアント時刻から前記基準時間を減じた時刻を、前記配信可能な時刻として決定することを特徴とする請求項2に記載の映像配信装置。
  6. 前記基準時間は、前記映像配信装置に予め設定された時間であることを特徴とする請求項2乃至5の何れか1項に記載の映像配信装置。
  7. 前記受信手段は、前記クライアント装置から、前記基準時間の指定をさらに受信し、
    前記第1の決定手段は、前記クライアント装置から受信した前記基準時間に基づいて、前記配信可能な時刻を決定することを特徴とする請求項2乃至5の何れか1項に記載の映像配信装置。
  8. 前記第1の決定手段は、前記クライアント装置により前記基準時間の指定を受信した場合には、前記クライアント装置により指定された前記基準時間に基づいて、前記配信可能な時刻を決定し、前記クライアント装置により前記基準時間の指定を受信しなかった場合には、前記映像配信装置に予め設定された基準時間に基づいて、前記配信可能な時刻を決定することを特徴とする請求項7に記載の映像配信装置。
  9. 前記第1の決定手段は、前記開始要求に前記クライアント時刻が含まれない場合には、前記受信手段が前記開始要求を受信した受信タイミングとして、前記映像配信装置で計測された時刻と、前記基準時間と、に基づいて、前記配信可能な時刻を決定することを特徴とする請求項2乃至8の何れか1項に記載の映像配信装置。
  10. 映像配信装置が実行する制御方法であって、
    クライアント装置から、映像データの配信の開始要求を受信する受信ステップと、
    前記開始要求を受信した場合に、前記クライアント装置による前記開始要求の送信タイミングとして前記クライアント装置で計測されたクライアント時刻を示す情報を前記開始要求から抽出する抽出ステップと、
    少なくとも前記クライアント時刻に基づいて、映像データを配信可能な時刻を決定する第1の決定ステップと、
    前記配信可能な時刻を前記クライアント装置に送信する送信ステップと
    を含むことを特徴とする制御方法。
  11. コンピュータを、請求項1乃至9の何れか1項に記載の映像配信装置の各手段として機能させるためのプログラム。
JP2017235238A 2017-12-07 2017-12-07 映像配信装置、制御方法及びプログラム Active JP6907104B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017235238A JP6907104B2 (ja) 2017-12-07 2017-12-07 映像配信装置、制御方法及びプログラム
US16/207,634 US10778740B2 (en) 2017-12-07 2018-12-03 Video image distribution apparatus, control method, and recording medium
EP18210264.0A EP3496414B1 (en) 2017-12-07 2018-12-04 Video image distribution apparatus, control method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017235238A JP6907104B2 (ja) 2017-12-07 2017-12-07 映像配信装置、制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019103087A JP2019103087A (ja) 2019-06-24
JP6907104B2 true JP6907104B2 (ja) 2021-07-21

Family

ID=64606783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017235238A Active JP6907104B2 (ja) 2017-12-07 2017-12-07 映像配信装置、制御方法及びプログラム

Country Status (3)

Country Link
US (1) US10778740B2 (ja)
EP (1) EP3496414B1 (ja)
JP (1) JP6907104B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339103B (zh) * 2021-12-31 2024-06-18 广东泓胜科技股份有限公司 查验监管视频管理系统实时触发执法记录仪的方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1742487B (zh) * 2003-01-28 2010-09-29 夏普株式会社 信息服务器装置和客户机终端装置
JP4203528B1 (ja) * 2007-08-01 2009-01-07 ソフトバンクBb株式会社 映像データ取得方法、映像データ取得システム、映像受信装置及び映像配信装置
US9538142B2 (en) * 2009-02-04 2017-01-03 Google Inc. Server-side support for seamless rewind and playback of video streaming
CN102137130A (zh) 2010-01-22 2011-07-27 华为技术有限公司 基于http的同步方法和装置
JP5697494B2 (ja) * 2011-03-09 2015-04-08 日立マクセル株式会社 映像送信装置、映像送信方法、映像受信装置、および映像受信方法
JP2013085139A (ja) * 2011-10-11 2013-05-09 Toshiba Corp コンテンツ再生装置、サーバおよびコンテンツ再生方法
JP5557939B2 (ja) * 2012-03-29 2014-07-23 株式会社Nttドコモ 携帯端末、情報再生システムおよび情報再生方法
US9426196B2 (en) * 2013-01-04 2016-08-23 Qualcomm Incorporated Live timing for dynamic adaptive streaming over HTTP (DASH)
EP2944089B1 (en) 2013-01-11 2018-03-07 Telefonaktiebolaget LM Ericsson (publ) Technique for operating client and server devices in a broadcast communication network
WO2016099354A1 (en) * 2014-12-18 2016-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Request scheduling for streamed media

Also Published As

Publication number Publication date
EP3496414A1 (en) 2019-06-12
US10778740B2 (en) 2020-09-15
EP3496414B1 (en) 2020-07-15
US20190182303A1 (en) 2019-06-13
JP2019103087A (ja) 2019-06-24

Similar Documents

Publication Publication Date Title
CN109889543B (zh) 视频传输的方法、根节点、子节点、p2p服务器和系统
JP5854243B2 (ja) Ipビデオ信号同期のための方法及び装置
US11758209B2 (en) Video distribution synchronization
CN107615756B (zh) 一种用于实现快速平滑视点切换的视频服务器、方法及视频系统
EP3560205B1 (en) Synchronizing processing between streams
US10341672B2 (en) Method and system for media synchronization
KR101934200B1 (ko) 미디어 동기화 방법 및 시스템
US11201903B1 (en) Time synchronization between live video streaming and live metadata
CN108696505B (zh) 视频分发设备、视频接收设备、视频分发方法和记录介质
US20180295391A1 (en) Multiplexing apparatus, receiving apparatus, multiplexing method, and delay adjustment method
JP6907104B2 (ja) 映像配信装置、制御方法及びプログラム
US11457286B2 (en) Video distribution apparatus, distribution method, and recording medium
EP3371978A1 (en) Contiguous streaming of media stream
KR101748382B1 (ko) 비디오 스트리밍 제공 방법 및 시스템
JP2020072461A (ja) 送信装置、サーバ装置、送信方法およびプログラム
JP6193569B2 (ja) 受信装置、受信方法、及びプログラム、撮像装置、撮像方法、及びプログラム、送信装置、送信方法、及びプログラム
JP2020113922A (ja) 動画配信装置、動画配信方法及びプログラム
JP6400163B2 (ja) 受信装置、受信方法、送信装置、送信方法、及びプログラム
JP6890977B2 (ja) 送信装置、送信方法、およびプログラム
JP2020022106A (ja) 情報処理装置、情報処理方法、及びプログラム
US20180192085A1 (en) Method and apparatus for distributed video transmission
JP2020150321A (ja) 動画配信装置、動画配信方法及びプログラム
US20180262790A1 (en) Systems and methods for adaptive streaming using jpeg 2000
JP2019114926A (ja) 映像処理装置、映像処理方法、及びプログラム
JP2007329628A (ja) 画像送信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200916

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210526

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: 20210601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210630

R151 Written notification of patent or utility model registration

Ref document number: 6907104

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151