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

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

Info

Publication number
JP7175658B2
JP7175658B2 JP2018139326A JP2018139326A JP7175658B2 JP 7175658 B2 JP7175658 B2 JP 7175658B2 JP 2018139326 A JP2018139326 A JP 2018139326A JP 2018139326 A JP2018139326 A JP 2018139326A JP 7175658 B2 JP7175658 B2 JP 7175658B2
Authority
JP
Japan
Prior art keywords
section data
segment
data
video
timing
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
JP2018139326A
Other languages
English (en)
Other versions
JP2020017848A (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 JP2018139326A priority Critical patent/JP7175658B2/ja
Priority to US16/517,459 priority patent/US11457286B2/en
Priority to EP19187423.9A priority patent/EP3599767A1/en
Publication of JP2020017848A publication Critical patent/JP2020017848A/ja
Application granted granted Critical
Publication of JP7175658B2 publication Critical patent/JP7175658B2/ja
Active 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/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
    • 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
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • 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
    • 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

Landscapes

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

Description

本発明は、映像配信装置、配信方法及びプログラムに関する。
動画サービスにおいて、HTTP(Hyper Text Transfer Protocol)を用いたAdaptive Bitrate Streaming技術が普及してきている。ここで、Adaptive Bitrate Streaming技術としては、DASH(Dynamic Adaptive Streaming over HTTP)やHLS(HTTP Live Streaming)等が挙げられる。DASHは、MPEG(Moving Picture Experts Group)によって規格化された技術である。HLSは、Appleの主導で規格化された技術である。これらの映像配信技術では、特別なクライアントアプリケーションが必要であるといったRTP(Real-time Transport Protcol)における問題が解決され、通常のブラウザ上で動画配信を受信再生できる。
例えば、一般的なDASH配信では、配信サーバで解像度やビットレートが異なる複数の動画データを数秒単位のセグメントと言われる動画ファイルに分割し、クライアントは表示性能や通信帯域に合わせて動画ファイルを順次ダウンロードして再生する。具体的には、クライアントはまず動画の全体情報が記載されているMPD(Media Presentation Description)ファイルを取得し、その中から適切な解像度やビットレートの動画ストリームを選択する。そして、クライアントは、MPDの記載に従って、MPEG2 TSストリームまたはMP4ファイルの動画データをセグメント単位でダウンロードして再生する。
特に、ライブ配信では、配信サーバは動画データをセグメント単位に分割して一定時間バッファリングしておき、クライアントは配信サーバのバッファリング期間中にセグメントをタイミングよく取得してスムーズに再生しなければならない。このため、配信サーバのセグメントを準備するタイミングとクライアントのセグメント取得タイミングを合わせることが重要である。特許文献1には、配信サーバが、前回送信したファイル一覧に含まれていたファイルに変化があった場合に、変化があったことを示すようにファイル名を変更した一覧をクライアントに送信する技術が開示されている。
特開2013-12231号公報
上述のように、Adaptive Bitrate Streaming技術を使ったライブ配信では、ファイル名の雛形を配信サーバとクライアントで共有し、クライアントは時刻や経過時間を考慮して適切なタイミングでファイルを取得する必要がある。しかし、配信中にクライアントの時刻が変更された場合や、クライアントと配信サーバのCPUクロックの誤差などによりファイル取得タイミングのずれが大きくなった場合は、配信処理を継続できずに切断されることがあるという問題がある。
本発明はこのような問題点に鑑みなされたもので、映像配信中に映像配信装置とクライアント装置の時刻にずれが発生した場合であっても、通信を切断することなく配信処理を継続することを目的とする。
そこで、本発明は、映像データをクライアント装置に送信する映像配信装置であって、一連の映像データを構成する複数の区間データを再生順に生成する生成手段と、前記映像データを構成する複数の区間データのうち一の区間データの取得要求をクライアント装置から受信する受信手段と、前記取得要求に応じた区間データを前記クライアント装置に送信する送信手段と、を備え、前記送信手段は、第1の区間データの送信後でかつ前記第1の区間データに続く第2の区間データの送信前のタイミングにおいて、前記第2の区間データの再生タイミングを基準とした時間範囲に含まれないタイミングを再生タイミングとする区間データである第3の区間データの取得要求を受信した場合に、前記第3の区間データと異なる区間データであって、前記第1の区間データよりも後に生成された区間データを前記第3の区間データとして送信することを特徴とする。
本発明によれば、映像配信中に映像配信装置とクライアント装置の時刻にずれが発生した場合であっても、通信を切断することなく配信処理を継続することができる。
第1の実施形態に係る映像配信システムの全体構成図である。 カメラサーバ装置のハードウェア構成図である。 カメラサーバ装置の機能構成図である。 セグメントデータの構成例を示す図である。 映像配信処理を示すシーケンス図である。 映像配信処理を示すシーケンス図である。 映像配信処理を示すフローチャートである。 セグメント再構成処理を示すフローチャートである。 第2の実施形態に係る映像配信処理を示すフローチャートである。 第3の実施形態に係る映像配信処理を示すフローチャートである。 第4の実施形態に係る映像配信処理を示すフローチャートである。
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態においては、説明の簡略化のため動画データは、映像データのみを含むものとして説明するが、動画データには、音声データ、画像・音声解析データ、字幕データ等が含まれていてもよい。
(第1の実施形態)
図1は、第1の実施形態に係る映像配信システム100の全体構成図である。カメラサーバ装置110とクライアント装置120とはネットワーク130を介して相互に接続される。カメラサーバ装置110は、カメラを備え、ネットワーク130を介して撮影した画像をクライアント装置120に配信する。クライアント装置120は、カメラサーバ装置110にアクセスし、画像を取得する。
なお、本実施形態においては、説明の簡略化のためにカメラサーバ装置110及びクライアント装置120はいずれも1台とするが、カメラサーバ装置及びクライアント装置はそれぞれ2台以上であってもよい。2台以上のカメラサーバ装置が1台のクライアント装置120に映像を配信してもよい。また、2台以上のクライアント装置120が1台のカメラサーバ装置110から映像を受信してもよい。ネットワーク130はEthernet(登録商標)等の通信規格を満足する複数のルータ、スイッチ、ケーブル等から構成される。ネットワーク130は、インターネットやLAN(Local Area Network)等である。
図2は、カメラサーバ装置110のハードウェア構成図である。CPU201、一次記憶装置202、二次記憶装置203、画像キャプチャI/F204、ネットワークI/F206が内部バス210を介して相互に接続されている。CPU201は、カメラサーバ装置110の全体を制御する。一次記憶装置202は、RAMに代表される書き込み可能な高速の記憶装置である。一次記憶装置202には、OSや各種プログラム及び各種データがロードされ、またOSや各種プログラムの作業領域としても使用される。二次記憶装置203は、フラッシュメモリ、HDD、SDカード等に代表される不揮発性の記憶装置である。二次記憶装置203は、OSや各種プログラム及び各種データの永続的な記憶領域として使用される。二次記憶装置203はまた、短期的な各種データの記憶領域としても使用される。後述するカメラサーバ装置110の機能や処理は、CPU201が二次記憶装置203に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
画像キャプチャI/F204にはCCDやCMOSからなる画像センサ205が接続され、画像センサ205から取得した画像データを所定のフォーマットに変換・圧縮して一次記憶装置202に転送する。ネットワークI/F206は前述のネットワーク130と接続するためのI/Fであり、Ethernet等の通信媒体を介してクライアント装置120等との通信を担う。
図3は、カメラサーバ装置110の機能構成図である。映像取得部301は、画像センサ205で生成された映像フレームを画像キャプチャI/F204を経由して取得し符号化処理を行い、一時記憶部304に保存する。一時記憶部304は、生成された映像フレームを一時的に蓄積する。映像フレームは、配信完了後に一時記憶部304から削除される。
配信管理部302は、クライアント装置120から配信開始要求を受信すると、通信処理部303を経由して配信可能映像ストリーム情報を含んだMPDファイルを送信する。配信管理部302はまた、一時記憶部304に蓄積されている単数または複数の映像フレームを送信可能なセグメント(動画ファイル)に変換し、クライアント装置120の要求に合わせて通信処理部303を経由してセグメントを送信する。ここで、セグメントは、映像データを構成する区間データの一例である。
図4は、MP4ファイルフォーマットで配信する場合のセグメントデータの構成例を示す図である。セグメントデータの先頭には、セグメントであることを示すBOX styp400とセグメントの順番を示すBOX sidx401が存在する。BOX sidx401には配信開始からの経過時間を示すearliest presentation timeが含まれる。続いて、フラグメントの先頭を示すBOX moof402があり、その中にはフラグメントの時刻情報を示すBOX tfdt403が存在する。BOX tfdt403には、配信開始からの経過時間を示すbase media decode timeが含まれる。そして、最後に映像データを含むBOX mdat404が存在する。
次に、カメラサーバ装置110による、リアルタイム映像配信処理について説明する。カメラサーバ装置110は、リアルタイム映像配信処理において、一連の映像データを構成する複数のセグメントを再生順に対応した順番で生成し、クライアント装置120からの取得要求に応じて順次セグメントを送信する。クライアント装置120は、映像ストリームの情報、セグメントが配信可能となる時刻、セグメントの生成間隔、バッファリング時間などが記載されたMPDファイルを配信開始時に取得する。クライアント装置120は、セグメントの取得要求において、セグメントの番号でセグメントを指定するものとする。なお、他の例としては、時刻やファイルのオフセット位置でセグメントを指定してもよい。
図5は、リアルタイムでの映像配信処理を示すシーケンス図である。図5を参照しつつ、映像配信処理の実行中にクライアント装置120の時刻が変更された場合の処理について説明する。なお、ここでは、セグメントの生成間隔を1秒として説明する。リアルタイム映像配信処理が開始すると、カメラサーバ装置110の配信管理部302は、セグメントの生成を開始する。図5の例では、カメラサーバ装置110は、S501においてセグメント1000を生成し、続いて、S502、S503において、それぞれセグメント1001、1002を生成する。生成されたセグメント1000、1001、1002は、順にバッファ(一次記憶領域)に保存される。
一方、クライアント装置120は、S511において、配信開始時刻と処理時点の時刻からセグメント番号を算出する。そして、クライアント装置120は、算出されたセグメント(セグメント1000)が生成されたタイミングを見計らって、セグメント1000を指定した取得要求を送信する。そして、S512において、クライアント装置120は、セグメント1000の取得要求に対するレスポンス(応答)として、カメラサーバ装置110からセグメント1000を受信する。その後、S513において、クライアント装置120は、次のセグメント番号(セグメント1001)を算出し、セグメント1001の取得要求を送信し、S514において、セグメント1001を受信する。この時点で、例えば、ユーザ操作やNTP(Network Time Protocol)などによりクライアント装置120の時刻を約7000秒進めたものとする(S515)。
クライアント装置120は、次のセグメント番号の算出に現在時刻を使用する。このため、クライアント装置120の時刻が進むとセグメント番号も進み、次に、クライアント装置120が取得するセグメントは、セグメント1002よりも先のセグメントとなる。例えば、本来取得対象のセグメントがセグメント1002であるところ、クライアント装置120の時刻が進んだことにより、取得対象のセグメントがセグメント8000になる。この場合、時刻が進んだ後のS516において、クライアント装置120は、セグメント8000の取得要求を送信する。
カメラサーバ装置110は、バッファリング中のセグメント1002の取得要求を期待していたが、S516において、セグメント8000つまり約7000秒も未来のセグメントの取得要求を受信することになる。すなわち、カメラサーバ装置110は、セグメント1001の送信後で、かつセグメント1002の送信前のタイミングにおいて、セグメント8000の取得要求を受信する。セグメント8000の取得要求は、本来なら7000秒経過後の要求であるが、7000秒待たせる処理を実施した場合には、クライアント装置120のレスポンスタイムアウトにより切断してしまう。そこで、本実施形態においては、カメラサーバ装置110はバッファリング中のセグメントをセグメント8000としてクライアント装置120に送信する。
すなわち、まず、S504において、カメラサーバ装置110は、バッファリング中のセグメント1002をセグメント8000に再構成する。セグメントの再構成は、バッファリング中のセグメントの映像データはそのままに、図4に示す時刻情報、セグメント情報、ファイル名等を変更することで、バッファリング中のセグメントを要求されたセグメントにする処理である。次に、S517において、カメラサーバ装置110は、再構成したセグメント8000をクライアント装置120に送信する。続く、S505においては、カメラサーバ装置110は、セグメント8000の次のセグメント8001を生成する。クライアント装置120は、S517でセグメント8000を受信すると、次に、S518において、セグメント8001の取得要求を送信し、続いて、S519において、セグメント8001を受信する。
図5においては、クライアント装置120の時刻を進めた例を説明したが、時刻を戻した場合にも適用可能である。この場合、カメラサーバ装置110は、バッファリングしている最古(最も前)のセグメントより過去(前)に生成されたセグメントの取得要求を受信することがある。また、カメラサーバ装置110は、配信済みのセグメントの取得要求を再度受信する場合がある。これらの場合に、カメラサーバ装置110は、セグメントの再構成を行うこととする。これにより、配信処理を継続することができる。なお、配信済みセグメントの取得要求を再度受信したときは、カメラサーバ装置110は、セグメントを再構成して送信してもよく、配送済みセグメントを再度送信してもよい。
図6は、映像配信処理を示すシーケンス図である。図6を参照しつつ、映像アイシン処理の実行中に、カメラサーバ装置110とクライアント装置120のCPUクロック誤差が大きくなった場合の処理について説明する。なお、ここでは、セグメントの生成間隔を1秒、バッファリング時間は2秒(セグメント2つ分)として説明する。なお、FIFO方式で、バッファリングから2秒経過したセグメントはバッファから削除されるものとする。
図6の例では、S601において、カメラサーバ装置110は、セグメント1000を生成し、続いて、S602、S603、S604、S605において、セグメント1001、1002、1003、1004を生成する。一方、クライアント装置120は、S611において、配信開始時刻と処理時点の時刻からセグメントを算出し、算出されたセグメント(セグメント1000)が生成されたタイミングを見計らって、セグメント1000の取得要求を送信する。そして、S612において、クライアント装置120は、カメラサーバ装置110からセグメント1000をレスポンスとして受信する。
その後、クライアント装置120は、次のセグメントを算出し、セグメント1001が生成されるタイミングまで待つ。ただし、前述のように、カメラサーバ装置110とクライアント装置120のCPUクロック誤差がある。このため、クライアント装置120は、S613において、少し遅いタイミングで次のセグメント取得要求を送信する。これに対し、S614において、クライアント装置120は、カメラサーバ装置110からセグメント1001をレスポンスとして受信する。なお、本実施例では、理解しやすくするため1セグメント程度遅らせているが実際は数十ppm(parts per million)程度、具体的には数秒のずれが発生するには数時間~十数時間かかることが多い。また、カメラサーバ装置110はセグメントを2つしかバッファリングできない。このため、カメラサーバ装置110は、S605において、セグメント1004を生成すると、バッファリングされている、未送信のセグメント1002を破棄する。
一方、クライアント装置120は、セグメント1001を取得した後、S615において、同様にセグメント1002の生成タイミングを待って、セグメント1002の取得要求を送信する。カメラサーバ装置110は、S615において、バッファリングしている最古のセグメント1003より過去のセグメント1002の取得要求を受信する。この場合、S606において、カメラサーバ装置110は、処理時点においてバッファリングしているセグメント1003をセグメント1002に再構成し、セグメント1004をセグメント1003に再構成する。そして、S616において、カメラサーバ装置110は、セグメント1003として生成され、セグメント1002に再構成されたセグメントをクライアント装置120に送信する。すなわち、セグメント1003をセグメント1002としてクライアント装置120に送信する。カメラサーバ装置110は、続く、S607においては、S604において生成されたセグメントの次のセグメントではなく、S606において再構成されたセグメントの次のセグメント(セグメント1004)を生成する。
図6に示す例においては、S606において、カメラサーバ装置110は、セグメント1003をセグメント1002に再構成した。ただし、リアルタイム性を考慮して、カメラサーバ装置110は、セグメント1003を破棄し、セグメント1004をセグメント1002に再構成することとしてもよい。この場合、S607で生成されるセグメントはセグメント1003となる。
図6においては、クライアント装置120のCPUクロックがカメラサーバ装置110のCPUクロックより遅い例を説明したが、クライアント装置120のCPUクロックの方が早い場合は、図5と同様のシーケンスとなる。
図7は、カメラサーバ装置110による映像配信処理を示すフローチャートである。カメラサーバ装置110がクライアント装置120から配信開始要求を受信すると、映像配信処理が開始する。S701において、カメラサーバ装置110の配信管理部302は、映像取得部301に映像生成の開始指示を送信する。次に、S702において、配信管理部302は、配信可能な時刻や映像ストリームの情報、セグメント生成間隔、セグメントのファイル名の雛形を記述したMPDをクライアント装置120に送信する。次に、S703において、配信管理部302は、イベントが発生するまで待機する。次に、S704において、配信管理部302は、イベントが発生すると、発生イベントの種類を判定する。
発生イベントが映像フレーム生成イベントである場合には(S704で映像フレーム生成)、配信管理部302は、処理をS705へ進める。なお、映像フレーム生成イベントは、映像取得部301が生成するイベントである。発生イベントがセグメント生成通知イベントの場合には(S704でセグメント生成通知)、配信管理部302は、処理をS710へ進める。セグメント生成通知イベントは、配信管理部302が生成するイベントである。なお、他の例としては、カメラサーバ装置110が配信管理部302と別にセグメント生成通知を生成する生成部を有してもよい。発生イベントがセグメント取得要求イベントの場合には(S704でセグメント取得要求)、配信管理部302は、処理をS720へ進める。セグメント取得要求イベントは、通信処理部303が外部装置から取得するイベントである。発生イベントが配信終了イベントの場合には(S704で配信終了)、配信管理部302は、処理をS730へ進める。
S705において、配信管理部302は、映像フレームをバッファリングする。次に、S706において、配信管理部302は、セグメント分のフレームがバッファに蓄積されたか否かを判定する。配信管理部302は、セグメント分のフレームがバッファに蓄積されると(S706でYES)、処理をS707へ進める。配信管理部302は、セグメント分のフレームが蓄積されていない場合には(S706でNO)、処理をS703へ進める。すなわち、イベント待ち状態になる。S707において、配信管理部302は、セグメントを生成する。次に、S708において、配信管理部302は、自身にセグメント生成通知を送る。次に、S709において、配信管理部302は、セグメント化した映像フレームを解放する。配信管理部302は、その後処理をS703へ進める。
S710においては、配信管理部302は、セグメントをバッファ(一時記憶領域)バッファリングする。次に、S711において、配信管理部302は、セグメント数がバッファリングの上限を超えたか否かを判定する。配信管理部302は、セグメント数がバッファリングの上限を超えた場合には(S711でYES)、処理をS712へ進める。配信管理部302は、セグメント数がバッファリングの上限を超えていない場合には(S711でNO)、処理をS703へ進める。S712において、配信管理部302は、古いセグメントを解放し、その後処理をS703へ進める。
S720において、配信管理部302は、セグメント取得要求イベントにおいて要求されたセグメントが基準範囲に含まれないタイミング(基準範囲外のタイミング)を再生タイミングとするセグメントか否かを判定する。ここで、基準範囲とは、最新のセグメントを基準とした時間範囲である。本実施形態においては、基準範囲は、バッファに存在し得る最古のタイミングを一端とし、このタイミングから、最新のセグメントから予め設定された時間後(未来)のタイミングまでの範囲である。このように、基準範囲のうち前側の一端はバッファのサイズに応じて定まる。
配信管理部302は、要求されたセグメントが基準範囲外のタイミングを再生タイミングとするセグメントである場合(S720でYES)、処理をS721へ進める。配信管理部302は、要求されたセグメントが基準範囲内のタイミングを再生タイミングとするセグメントである場合(S720でNO)、処理をS726へ進める。
要求されたセグメントが基準範囲外のタイミングを再生タイミングとするセグメントである場合とは、以下の2つのケースである。すなわち、1つ目は、要求されたセグメントが基準範囲のうち最も前のタイミングよりも前のタイミングを再生タイミングとする場合である。2つ目は、要求されたセグメントが基準範囲の最も後のタイミングよりも後のタイミングを再生タイミングとする場合である。
S721において、配信管理部302は、バッファにあるセグメントを要求されたセグメントとして再構成する。次に、S722において、配信管理部302は、再構成に成功したか否かを判定する。配信管理部302は、再構成に成功した場合には(S722でYES)、処理をS723へ進める。配信管理部302は、再構成に失敗した場合には(S722でNO)、処理をS725へ進める。なお、S721の処理及び再構成に成功したか否かの判断については、図8を参照しつつ後に詳述する。
S723において、配信管理部302は、再構成されたセグメントをクライアント装置120へ送信する。次に、S724において、配信管理部302は、送信セグメントをバッファから解放する。配信管理部302は、その後処理をS703へ進める。また、S725においては、配信管理部302は、エラー応答をクライアント装置120へ送信する。配信管理部302は、その後処理をS703へ進める。
S726において、配信管理部302は、セグメント取得要求イベントにおいて要求されたセグメントがバッファに存在するか否かを判定する。配信管理部302は、要求されたセグメントがバッファに存在する場合には(S726でYES)、処理をS727へ進める。配信管理部302は、要求されたセグメントがバッファに存在しない場合には(S726でNO)、処理をS729へ進める。S727において、配信管理部302は、要求されたセグメントをクライアント装置120に送信する。次に、S728において、配信管理部302は、送信したセグメントをバッファから解放する。配信管理部302は、その後処理をS703へ進める。また、S729において、配信管理部302は、エラー応答をクライアント装置120へ送信する。配信管理部302は、その後処理をS703へ進める。
S730において、配信管理部302は、バッファリングしているすべてのセグメントを解放する。次に、S731において、配信管理部302は、バッファリングしているすべての映像フレームを解放する。次に、S732において、映像取得部301に映像生成の停止を指示する。以上で、映像配信処理が終了する。
図8は、セグメント再構成処理を示すフローチャートである。S801において、配信管理部302は、セグメント取得要求に係るセグメントのセグメント番号を保存する。次に、S802において、配信管理部302は、再構成中フラグをOFFにする。次に、S803において、配信管理部302は、バッファリングされているセグメントを1つずつ処理するループを開始する。ループ処理において、まずS804において、配信管理部302は、再構成中フラグがOFFか否かを判定する。配信管理部302は、再構成中フラグがOFFの場合には(S804でYES)、処理をS805へ進める。配信管理部302は、再構成中フラグがONの場合には(S804でNO)、処理をS810へ進める。
S805において、配信管理部302は、対象セグメントが再構成可能か否かを判定する。ここで、対象セグメントは、バッファリングされているセグメントのうち、処理対象として選択されているセグメントである。配信管理部302は、再構成可能な場合には(S805でYES)、処理をS806へ進める。配信管理部302は、再構成不可能な場合には(S805でNO)、処理をS809へ進める。
S806において、配信管理部302は、セグメントを再設定する。具体的には、配信管理部302は、対象セグメントに含まれる映像データはそのままで、ヘッダ情報として含まれる時刻情報、セグメント情報、ファイル名をS801で保存した、セグメント取得要求に係るセグメントに合わせて変更する。配信管理部302は、セグメントから経過した時間を算出し、図4を参照しつつ説明したsidx401のearliest presentation timeと、tfdt403のbase media decode timeの値を更新する。これにより、対象セグメントのヘッダ情報は、セグメント要求に係るセグメントであることを識別するヘッダ情報に書き替えられる。本処理は、再構成処理の一例である。
次に、S807において、配信管理部302は、セグメントを次の番号に更新する。次に、S808において、配信管理部302は、再構成中フラグをONに変更する。S809においては、配信管理部302は、セグメントを解放する。また、S810及びS811の処理は、S806及びS807の処理と同様である。配信管理部302は、以上の処理をすべてのセグメントに対して実施する。配信管理部302は、最終的にバッファに新しいセグメントが残っている場合には、成功と判定し、先頭のセグメントを送信対象として決定する。配信管理部302は、セグメントが残っていない場合には、失敗と判定する。なお、他の例としては、リアルタイム性を考慮し、配信管理部302は、最終的にバッファに新しいセグメントが残っている場合には、先頭のセグメントに替えて最後のセグメントを送信対象として決定してもよい。
以上のように、本実施形態に係るカメラサーバ装置110は、基準範囲外のタイミングを再生タイミングとするセグメントの取得要求を受信した場合には、要求に応じてセグメントを再構成することで、要求に応じたセグメントを配信する。このように、カメラサーバ装置110は、セグメントの配信を継続することができる。すなわち、本実施形態によれば、映像配信中に映像配信装置とクライアント装置の時刻にずれが発生した場合であっても、通信を切断することなく配信処理を継続することができる。
第1の実施形態の第1の変形例について説明する。図7を参照しつつ説明したS720において参照される基準範囲の前側の一端及び後側の一端のタイミングは、実施形態に限定されるものではない。例えば、基準範囲のうち前側の一端のタイミングは、最新のセグメントから予め設定された期間だけ前(過去)のタイミングであってもよい。また、例えば、クライアント装置120は、セグメント取得要求にエラーが返ってきても、配信処理を継続するため何度かリトライを行う。しかし、クライアント装置120は、一定回数以上エラーが続くような場合には配信継続不可と判断して、切断状態となる。これに対応し、基準範囲のうち後側の一端は、最新のセグメントからクライアント装置120が通信を切断せずに繰り返しセグメント取得要求を行う程度の時間だけ後のタイミングであってもよい。さらに、カメラサーバ装置110は、クライアント装置120からタイムアウト期間やリトライの最大回数等、通信の切断の条件を示す切断情報を受信し、切断情報に基づいて、基準範囲のうち後側の一端のタイミングを決定してもよい。
また、カメラサーバ装置110が、セグメントを配信した後はセグメントを解放するような実装では、配信済みセグメントを再要求された場合には、配信期間外のタイミングを再生タイミングとするセグメントであると判断してもよい。
また、第2の変形例としては、配信管理部302は、再構成の成功か否かの判定において、再構成の対象のセグメントにIDR(Instantaneous Decoder Refresh)フレームが含まれるか否かを考慮してもよい。IDRフレームの前後でフレーム間の参照関係がなくなることに起因したもので、例えば、配信管理部302は、IDRフレームから始まるセグメントの場合に再構成に成功したと判断してもよい。また、他の例としては、配信管理部302は、IDRフレームを含むセグメントの場合に再構成に成功したと判断してもよい。
また、第3の変形例としては、本実施形態においては、MPEG-DASHによる配信方法を説明したが、HLSなど他のHTTP Adaptive Streamingを用いた配信や、それ以外の時刻情報を使った配信方式にも適用可能である。
(第2の実施形態)
次に、第2の実施形態に係る映像配信システム100について、第1の実施形態に係る映像配信システム100と異なる点を主に説明する。第2の実施形態に係る映像配信システム100においては、カメラサーバ装置110は、セグメントの再構成に失敗した場合に、エラー応答を返さずに、配信処理を継続する。
図9は、第2の実施形態に係るカメラサーバ装置110による映像配信処理を示すフローチャートである。S901~S903の処理は、それぞれ図7を参照しつつ説明したS701~S703の処理と同様である。S904において、配信管理部302は、イベントの種類を判定する。発生イベントが映像フレーム生成イベントである場合には(S904で映像フレーム生成)、配信管理部302は、処理をS905へ進める。発生イベントがセグメント生成通知イベントの場合には(S904でセグメント生成通知)、配信管理部302は、処理をS910へ進める。発生イベントがセグメント取得要求イベントの場合には(S904でセグメント取得要求)、配信管理部302は、処理をS920へ進める。発生イベントが配信終了イベントの場合には(S904で配信終了)、配信管理部302は、処理をS930へ進める。S905~S909の処理及びS930~S932の処理は、それぞれS706~S709の処理及びS730~S732の処理と同様である。
S910~S912の処理は、それぞれS710~S912の処理と同様である。なお、S911において、バッファリングの上限を超えていない場合には(S911でNO)、配信管理部302は、処理をS913へ進める。また、S912の処理の後、配信管理部302は、処理をS913へ進める。S913において、配信管理部302は、既にセグメント取得要求が保存されているかどうかを判定する。配信管理部302は、セグメント取得要求が保存されている場合には(S913でYES)、処理をS914へ進める。配信管理部302は、セグメント取得要求が保存されていない場合には(S913でNO)、処理をS903へ進める。
S914において、配信管理部302は、保存されているセグメント取得要求に係るセグメントがバッファリングされているか否かを判定する。配信管理部302は、セグメントがバッファリングされている場合には(S914でYES)、処理をS915へ進める。配信管理部302は、セグメントがバッファリングされていない場合には(S914でNO)、処理をS903へ進める。S915において、配信管理部302は、バッファリングされているセグメントを、保存されているセグメント取得要求に係るセグメントとしてクライアント装置120に送信する。次に、S916において、配信管理部302は、送信したセグメントを解放する。配信管理部302は、その後処理をS903へ進める。
S920~S924の処理は、それぞれS720~S724の処理と同様である。ただし、S922において、配信管理部302は、再構成に失敗した場合には(S922でNO)、処理をS925へ進める。そして、S925において、配信管理部302は、セグメント取得要求を保存する。S926においてセグメント取得要求が保存された後で、S913が実行されたとする。この場合、S913において、セグメント取得要求が保存されていると判定され、S915において、新たに生成されたセグメントがセグメント取得要求に係るセグメントとして送信される。なお、S926~S929の処理は、それぞれS726~S729の処理と同様である。なお、第2の実施形態に係る映像配信システム100のこれ以外の構成及び処理は、第1の実施形態に係る映像配信システム100の構成及び処理と同様である。
以上のように、第2の実施形態のカメラサーバ装置110は、第1の実施形態のカメラサーバ装置110と同様に、基準範囲外のタイミングのセグメントの取得要求を受信した場合には、要求に応じてセグメントを再構成する。第2の実施形態のカメラサーバ装置110は、さらに再構成に失敗した場合においても、エラーレスポンスを返さない。これにより、配信処理の継続性をさらに向上させることができる。
(第3の実施形態)
次に、第3の実施形態に係る映像配信システム100について、他の実施形態に係る映像配信システム100と異なる点を主に説明する。第3の実施形態のカメラサーバ装置110は、基準範囲外のタイミングのセグメント取得要求を受信した場合には、バッファリングしているセグメントを破棄し、新たに生成されたセグメントをセグメント取得要求に係るセグメントとして送信する。
図10は、第3の実施形態に係るカメラサーバ装置110による映像配信処理を示すフローチャートである。S1001~S1003の処理は、それぞれ図7を参照しつつ説明したS701~S703の処理と同様である。S1004において、配信管理部302は、イベントの種類を判定する。発生イベントが映像フレーム生成イベントである場合には(S1004で映像フレーム生成)、配信管理部302は、処理をS1005へ進める。発生イベントがセグメント生成通知イベントの場合には(S1004でセグメント生成通知)、配信管理部302は、処理をS1010へ進める。発生イベントがセグメント取得要求イベントの場合には(S1004でセグメント取得要求)、配信管理部302は、処理をS1020へ進める。発生イベントが配信終了イベントの場合には(S1004で配信終了)、配信管理部302は、処理をS1030へ進める。S1005~S1009の処理及びS1010~S1012の処理は、それぞれS706~S709の処理及びS710~S712の処理と同様である。また、S1030~S1032の処理は、及びS730~S732の処理と同様である。
S1020において、配信管理部302は、セグメント取得要求イベントにおいて要求されたセグメントが基準範囲外のタイミングを再生タイミングとするセグメントか否かを判定する。配信管理部302は、要求されたセグメントが基準範囲外のタイミングを再生タイミングとするセグメントである場合(S1020でYES)、処理をS1021へ進める。配信管理部302は、要求されたセグメントが基準範囲内のタイミングを再生タイミングとするセグメントである場合(S1020でNO)、処理をS1024へ進める。S1021において、配信管理部302は、バッファリングしているすべてのセグメントを解放する。次に、S1022において、配信管理部302は、次に作成するセグメントをセグメント取得要求に係るセグメントとして生成するようにセグメント情報を更新する。
次に、S1023において、配信管理部302は、エラー応答を送信する。配信管理部302は、S1023の処理の後、処理をS1003へ進める。なお、S1024~S1027の処理は、それぞれS726~S729の処理と同様である。なお、第3の実施形態に係る映像配信システム100のこれ以外の構成及び処理は、他の実施形態に係る映像配信システム100の構成及び処理と同様である。
以上のように、第3の実施形態のカメラサーバ装置110は、基準範囲外のタイミングのセグメントの取得要求を受信した場合には、バッファリングしているセグメントを破棄し、エラー応答を返す。これに対し、カメラサーバ装置110は、リトライ処理により、再度セグメント取得要求を受信した場合には、新たに生成されたセグメントをセグメント取得要求に係るセグメントとして送信することで、配信処理を継続することができる。第3の実施形態においては、また、カメラサーバ装置110が再構成を行わなくてよいという利点がある。
(第4の実施形態)
次に、第4の実施形態に係る映像配信システム100について、他の実施形態に係る映像配信システム100と異なる点を主に説明する。第4の実施形態のカメラサーバ装置110は、基準範囲外のタイミングのセグメント取得要求を受信した場合には、バッファリングしているセグメントを破棄し、エラー応答を返さずに、配信処理を継続する。
図11は、第4の実施形態に係るカメラサーバ装置110による映像配信処理を示すフローチャートである。S1101~S1003の処理は、それぞれ図7を参照しつつ説明したS701~S703の処理と同様である。S1104において、配信管理部302は、イベントの種類を判定する。発生イベントが映像フレーム生成イベントである場合には(S1104で映像フレーム生成)、配信管理部302は、処理をS1105へ進める。発生イベントがセグメント生成通知イベントの場合には(S1104でセグメント生成通知)、配信管理部302は、処理をS1110へ進める。発生イベントがセグメント取得要求イベントの場合には(S1104でセグメント取得要求)、配信管理部302は、処理をS1120へ進める。発生イベントが配信終了イベントの場合には(S1104で配信終了)、配信管理部302は、処理をS1130へ進める。S1005~S1009の処理及びS1030~S1032の処理は、それぞれ図7を参照しつつ説明したS706~S709の処理及びS730~S732の処理と同様である。また、S1110~S1116の処理は、それぞれ図9を参照しつつ説明した、S910~S916の処理と同様である。
S1120において、配信管理部302は、セグメント取得要求イベントにおいて要求されたセグメントが基準範囲外のタイミングを再生タイミングとするセグメントか否かを判定する。配信管理部302は、要求されたセグメントが基準範囲外のタイミングを再生タイミングとするセグメントである場合(S1120でYES)、処理をS1121へ進める。配信管理部302は、要求されたセグメントが基準範囲内のタイミングを再生タイミングとするセグメントである場合(S1120でNO)、処理をS1124へ進める。S1121~S1123の処理は、それぞれ図10を参照しつつ説明したS1021~S1023の処理と同様である。
S1124において、配信管理部302は、セグメント取得要求イベントにおいて要求されたセグメントがバッファに存在するか否かを判定する。配信管理部302は、要求されたセグメントがバッファに存在する場合には(S1124でYES)、処理をS1125へ進める。配信管理部302は、要求されたセグメントがバッファに存在しない場合には(S1124でNO)、処理をS1127へ進める。S1125及びS1126の処理は、それぞれ図7を参照しつつ説明したS727及びS728の処理と同様である。S1127において、配信管理部302は、セグメント取得要求を保存する。配信管理部302は、S1127の処理の後、処理をS1103へ進める。なお、第4の実施形態に係る映像配信システム100のこれ以外の構成及び処理は、他の実施形態に係る映像配信システム100の構成及び処理と同様である。
以上のように、第3の実施形態のカメラサーバ装置110は、基準範囲外のタイミングのセグメントの取得要求を受信した場合には、バッファリングしているセグメントを破棄するが、エラー応答を返さない。そして、カメラサーバ装置110は、新たに生成されたセグメントを、セグメント取得要求に係るセグメントとして送信する。これにより、配信処理を継続することができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 映像配信システム
110 カメラサーバ装置
120 クライアント装置

Claims (14)

  1. 映像データをクライアント装置に送信する映像配信装置であって、
    一連の映像データを構成する複数の区間データを再生順に生成する生成手段と、
    前記映像データを構成する複数の区間データのうち一の区間データの取得要求をクライアント装置から受信する受信手段と、
    前記取得要求に応じた区間データを前記クライアント装置に送信する送信手段と、
    を備え、
    前記送信手段は、第1の区間データの送信後でかつ前記第1の区間データに続く第2の区間データの送信前のタイミングにおいて、前記第2の区間データの再生タイミングを基準とした時間範囲に含まれないタイミングを再生タイミングとする区間データである第3の区間データの取得要求を受信した場合に、前記第3の区間データと異なる区間データであって、前記第1の区間データよりも後に生成された区間データを前記第3の区間データとして送信することを特徴とする映像配信装置。
  2. 前記生成手段により生成された区間データを一時記憶領域に保存する保存手段をさらに有し、
    前記送信手段は、前記第3の区間データの取得要求を受信した場合に、前記一時記憶領域に保存されている、前記第3の区間データと異なる区間データである第4の区間データを前記第3の区間データとして送信することを特徴とする請求項1に記載の映像配信装置。
  3. 前記第4の区間データのヘッダ情報を、前記第3の区間データであることを識別するヘッダ情報に書き替える再構成手段をさらに有し、
    前記送信手段は、前記再構成手段によりヘッダ情報が書き替えられた前記第4の区間データを前記第3の区間データとして送信することを特徴とする請求項2に記載の映像配信装置。
  4. 前記区間データに含まれるフレームの種類に基づいて、前記第4の区間データを送信可能か否かを判定する判定手段をさらに有し、
    前記送信手段は、前記第4の区間データを送信可能でないと判定された場合に、前記第4の区間データの送信を行わず、エラー応答を前記クライアント装置に送信することを特徴とする請求項2又は3に記載の映像配信装置。
  5. 前記区間データに含まれるフレームの種類に基づいて、前記第4の区間データを送信可能か否かを判定する判定手段をさらに有し、
    前記送信手段は、前記第4の区間データを送信可能でないと判定された場合に、前記第4の区間データよりも後に生成された第5の区間データを前記第3の区間データとして送信することを特徴とする請求項2又は3に記載の映像配信装置。
  6. 前記送信手段は、前記第2の区間データの再生タイミングよりも後のタイミングで、かつ前記時間範囲に含まれるタイミングを再生タイミングとする区間データの取得要求を、前記第1の区間データの送信後でかつ前記第2の区間データの送信前のタイミングにおいて受信した場合に、区間データの送信を行わず、エラー応答を前記クライアント装置に送信することを特徴とする請求項1乃至5の何れか1項に記載の映像配信装置。
  7. 前記送信手段は、前記第3の区間データの取得要求を受信した場合に、前記第3の区間データと異なる区間データで、前記第3の区間データの取得要求を受信した後で前記生成手段により生成された区間データを前記第3の区間データとして送信することを特徴とする請求項1に記載の映像配信装置。
  8. 前記生成手段により生成された区間データを一時記憶領域に保存する保存手段と、
    前記第3の区間データの取得要求を受信した場合に、前記一時記憶領域に保存されている区間データを削除する削除手段と
    をさらに有し、
    前記送信手段は、前記削除手段により削除された区間データよりも後に生成された第6の区間データを前記第3の区間データとして送信することを特徴とする請求項1に記載の映像配信装置。
  9. 前記送信手段は、前記第3の区間データの取得要求を受信した場合に、エラー応答を前記クライアント装置に送信し、前記エラー応答を送信した後で、前記第3の区間データの取得要求を再度受信した場合に、前記第6の区間データを前記第3の区間データとして送信することを特徴とする請求項8に記載の映像配信装置。
  10. 前記生成手段により生成された区間データを一時記憶領域に保存する保存手段をさらに有し、
    前記時間範囲は、前記第2の区間データの再生タイミングを含み、前記第2の区間データの再生タイミングから、少なくとも前記一時記憶領域のサイズに応じた時間だけ前のタイミングを一端とする範囲であることを特徴とする請求項1乃至9の何れか1項に記載の映像配信装置。
  11. 前記時間範囲は、前記第2の区間データの再生タイミングを含み、前記第2の区間データの再生タイミングから所定の時間後のタイミングを一端とする範囲であることを特徴とする請求項1乃至10の何れか1項に記載の映像配信装置。
  12. 前記受信手段は、前記クライアント装置から、通信の切断の条件を示す切断情報を受信し、
    前記切断情報に基づいて、前記時間範囲のうち前記第2の区間データの再生タイミングより後の一端となるタイミングを決定する決定手段をさらに有することを特徴とする請求項1に記載の映像配信装置。
  13. 映像データをクライアント装置に送信する映像配信装置が実行する配信方法であって、
    一連の映像データを構成する複数の区間データを再生順に生成する生成ステップと、
    前記映像データを構成する複数の区間データのうち一の区間データの取得要求をクライアント装置から受信する受信ステップと、
    前記取得要求に応じた区間データを前記クライアント装置に送信する送信ステップと、を含み、
    前記送信ステップにおいては、第1の区間データの送信後でかつ前記第1の区間データに続く第2の区間データの送信前のタイミングにおいて、前記第2の区間データの再生タイミングを基準とした時間範囲に含まれないタイミングを再生タイミングとする区間データである第3の区間データの取得要求を受信した場合に、前記第3の区間データと異なる区間データであって、前記第1の区間データよりも後に生成された区間データを前記第3の区間データとして送信することを特徴とする配信方法。
  14. コンピュータを、請求項1乃至12の何れか1項に記載の映像配信装置して機能させるためのプログラム。
JP2018139326A 2018-07-25 2018-07-25 映像配信装置、配信方法及びプログラム Active JP7175658B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018139326A JP7175658B2 (ja) 2018-07-25 2018-07-25 映像配信装置、配信方法及びプログラム
US16/517,459 US11457286B2 (en) 2018-07-25 2019-07-19 Video distribution apparatus, distribution method, and recording medium
EP19187423.9A EP3599767A1 (en) 2018-07-25 2019-07-19 Video distribution apparatus, distribution method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018139326A JP7175658B2 (ja) 2018-07-25 2018-07-25 映像配信装置、配信方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2020017848A JP2020017848A (ja) 2020-01-30
JP7175658B2 true JP7175658B2 (ja) 2022-11-21

Family

ID=67438253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018139326A Active JP7175658B2 (ja) 2018-07-25 2018-07-25 映像配信装置、配信方法及びプログラム

Country Status (3)

Country Link
US (1) US11457286B2 (ja)
EP (1) EP3599767A1 (ja)
JP (1) JP7175658B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7480675B2 (ja) * 2020-10-29 2024-05-10 株式会社デンソー 中継装置
US20230108310A1 (en) * 2021-10-05 2023-04-06 Microsoft Technology Licensing, Llc Live video latency measurement and control

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013012231A (ja) 2011-05-31 2013-01-17 Toshiba Corp サーバ及びデータ配信システム
JP2016015533A (ja) 2014-06-30 2016-01-28 ソニー株式会社 情報処理装置および方法
WO2016063161A1 (en) 2014-10-19 2016-04-28 Tensera Networks Ltd. Partial prefetching of indexed content
JP2017225164A (ja) 2017-08-09 2017-12-21 キヤノン株式会社 受信装置、受信方法、送信装置、送信方法、及びプログラム
WO2018060489A1 (en) 2016-09-30 2018-04-05 British Telecommunications Public Limited Company Viewer importance adaptive bit rate delivery

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3763702B2 (ja) * 1999-05-27 2006-04-05 富士通株式会社 データ運用方法
US7836226B2 (en) * 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
KR20120010089A (ko) * 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
US20120195362A1 (en) * 2011-02-02 2012-08-02 Alcatel-Lucent Usa Inc. System and Method for Managing Cache Storage in Adaptive Video Streaming System
US8510267B2 (en) * 2011-03-08 2013-08-13 Rackspace Us, Inc. Synchronization of structured information repositories
US9401968B2 (en) * 2012-01-20 2016-07-26 Nokia Techologies Oy Method and apparatus for enabling pre-fetching of media
US9607132B2 (en) * 2012-10-22 2017-03-28 Koninklijke Kpn N.V. Token-based validation method for segmented content delivery
US8826325B2 (en) * 2012-12-08 2014-09-02 Joao Redol Automated unobtrusive ancilliary information insertion into a video
US9959277B2 (en) * 2012-12-27 2018-05-01 Echostar Technologies Llc Systems and methods for managing files in a computer system by segmenting files
JP6193569B2 (ja) * 2012-12-28 2017-09-06 キヤノン株式会社 受信装置、受信方法、及びプログラム、撮像装置、撮像方法、及びプログラム、送信装置、送信方法、及びプログラム
US20140258449A1 (en) * 2013-03-11 2014-09-11 Comcast Cable Communications, Llc Segmented content delivery
CN104125516B (zh) * 2013-04-24 2018-09-28 华为技术有限公司 媒体文件接收、媒体文件发送方法和装置及***
EP3033887A1 (en) * 2013-08-16 2016-06-22 Bitmovin GmbH Apparatus and method for constant quality optimization for adaptive streaming
US20150256600A1 (en) * 2014-03-05 2015-09-10 Citrix Systems, Inc. Systems and methods for media format substitution
EP2928196A1 (en) * 2014-04-01 2015-10-07 Thomson Licensing Method of video streaming and corresponding device
US20170149860A1 (en) * 2014-10-19 2017-05-25 Tensera Networks Ltd. Partial prefetching of indexed content
US9509742B2 (en) * 2014-10-29 2016-11-29 DLVR, Inc. Configuring manifest files referencing infrastructure service providers for adaptive streaming video
US10194183B2 (en) * 2015-12-29 2019-01-29 DISH Technologies L.L.C. Remote storage digital video recorder streaming and related methods
US10595054B2 (en) * 2016-05-10 2020-03-17 Google Llc Method and apparatus for a virtual online video channel
US10785508B2 (en) * 2016-05-10 2020-09-22 Google Llc System for measuring video playback events using a server generated manifest/playlist
US10063612B2 (en) * 2016-09-30 2018-08-28 Amazon Technologies, Inc. Request-based encoding for streaming content portions
CA3032198A1 (en) * 2016-10-25 2018-05-03 Owl Cameras, Inc. Video-based data collection, image capture and analysis configuration
US11647251B2 (en) * 2017-07-12 2023-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Fast tune-in for low latency streaming
US10880531B2 (en) * 2018-01-31 2020-12-29 Nvidia Corporation Transfer of video signals using variable segmented lookup tables
US12003796B2 (en) * 2019-04-08 2024-06-04 Palo Alto Networks, Inc. Context-aware content delivery

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013012231A (ja) 2011-05-31 2013-01-17 Toshiba Corp サーバ及びデータ配信システム
JP2016015533A (ja) 2014-06-30 2016-01-28 ソニー株式会社 情報処理装置および方法
WO2016063161A1 (en) 2014-10-19 2016-04-28 Tensera Networks Ltd. Partial prefetching of indexed content
WO2018060489A1 (en) 2016-09-30 2018-04-05 British Telecommunications Public Limited Company Viewer importance adaptive bit rate delivery
JP2017225164A (ja) 2017-08-09 2017-12-21 キヤノン株式会社 受信装置、受信方法、送信装置、送信方法、及びプログラム

Also Published As

Publication number Publication date
EP3599767A1 (en) 2020-01-29
US11457286B2 (en) 2022-09-27
JP2020017848A (ja) 2020-01-30
US20200037041A1 (en) 2020-01-30

Similar Documents

Publication Publication Date Title
US10284808B2 (en) System and method for supporting selective backtracking data recording
US8925021B2 (en) Method and system for trick play in over-the-top video delivery
CN108696505B (zh) 视频分发设备、视频接收设备、视频分发方法和记录介质
JP7175658B2 (ja) 映像配信装置、配信方法及びプログラム
US20230362418A1 (en) System and method for converting adaptive stream to downloadable media
EP2870769B1 (en) Simultaneous encoding and sending of a video data file
JP2020072461A (ja) 送信装置、サーバ装置、送信方法およびプログラム
JP6907104B2 (ja) 映像配信装置、制御方法及びプログラム
US11496535B2 (en) Video data transmission apparatus, video data transmitting method, and storage medium
JP7327953B2 (ja) 動画配信装置、動画配信方法及びプログラム
CN109104552B (zh) 摄像设备、摄像设备的处理方法和存储介质
TW202131701A (zh) 傳輸裝置、通訊系統、傳輸方法及電腦程式產品
CN113315997B (zh) 发送装置、服务器装置、发送方法以及程序
CN113542342B (zh) 服务器装置、信息处理方法以及存储介质
KR102291293B1 (ko) 송신 디바이스, 통신 시스템, 송신 방법, 및 비일시적 컴퓨터 판독가능 기록 매체
JP2004145392A (ja) 動画像ファイル配信装置
JP6738306B2 (ja) データ転送装置及びデータ転送方法
JP2023146067A (ja) 撮像システム、録画装置、録画方法およびプログラム
JP2023112033A (ja) 送信装置、サーバ装置、送信方法およびプログラム
JP5974482B2 (ja) データ制御装置及びプログラム、並びに、データ処理装置及びプログラム
WO2022253561A1 (en) Buffer management for live video streaming

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220715

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221109

R151 Written notification of patent or utility model registration

Ref document number: 7175658

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151