JP6797755B2 - 撮像装置、撮像装置の処理方法およびプログラム - Google Patents

撮像装置、撮像装置の処理方法およびプログラム Download PDF

Info

Publication number
JP6797755B2
JP6797755B2 JP2017120595A JP2017120595A JP6797755B2 JP 6797755 B2 JP6797755 B2 JP 6797755B2 JP 2017120595 A JP2017120595 A JP 2017120595A JP 2017120595 A JP2017120595 A JP 2017120595A JP 6797755 B2 JP6797755 B2 JP 6797755B2
Authority
JP
Japan
Prior art keywords
distribution
moving image
video
request
video stream
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
JP2017120595A
Other languages
English (en)
Other versions
JP2019009492A (ja
JP2019009492A5 (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 JP2017120595A priority Critical patent/JP6797755B2/ja
Priority to EP18169475.3A priority patent/EP3419294B1/en
Priority to US16/010,154 priority patent/US10951887B2/en
Priority to CN201810638768.XA priority patent/CN109104552B/zh
Publication of JP2019009492A publication Critical patent/JP2019009492A/ja
Publication of JP2019009492A5 publication Critical patent/JP2019009492A5/ja
Application granted granted Critical
Publication of JP6797755B2 publication Critical patent/JP6797755B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • 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/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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, manipulating MPEG-4 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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/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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof

Description

本発明は、撮像装置、撮像装置の処理方法およびプログラムに関する。
近年、クライアントの通信状況に応じて、品質を調整して動画の配信を行うアダプティブストリーミング技術を用いたシステムが普及している。アダプティブストリーミング技術の代表的な例としては、下記の2つがある。第1の技術は、MPEG(Moving Picture Experts Group)によって規格化されたDASH(Dynamic Adaptive Streaming over HTTP)である。第2の技術は、HLS(HTTP Live Streaming)である。これらの技術では、HTTP(Hypertext Transfer Protocol)を通信方式として用い、配信サーバーは動画ストリームをセグメントと呼ばれる複数の動画ファイルに分割して、各セグメントをクライアントに対して配信する。
具体的には、DASH配信では、まずクライアントは、配信サーバーが配信可能である動画ストリームの情報を含むMPD(Media Presentation Description)ファイルを取得する。そして、クライアントは、その中からクライアントの表示性能や通信状況に応じて、適切な解像度やビットレートの動画ストリームを選択する。そして、クライアントは、MPDの記載に従って、MPEG2−TSまたはMP4の動画フォーマットをセグメント単位でダウンロードして再生する。MPEG2−TSおよびMP4の動画フォーマットにおける動画コーデックには、フレーム内符号化によって符号化される動画フレーム(Iフレーム)と、フレーム間符号化によって符号化される動画フレーム(Pフレーム、Bフレーム)が存在する。クライアントは、Iフレームから動画の再生を開始する。
特許文献1は、クライアントから動画配信の要求がある前に、MPDに記述されたセグメントの中から、次にクライアントに配信するセグメントをアナウンスし、クライアントから配信前に配信キャンセルや配信順序変更の要求を受け付ける方法を開示している。また、特許文献2は、クライアントの動画再生開始を早めるためにクライアントから動画配信の要求があった際にIフレームを生成する方法を開示している。
特表2016−531466号公報 特開2002−344932号公報
しかし、上述の特許文献1および2では、例えばネットワークカメラのように、撮像手段と配信サーバーを備える構成を用いてDASH配信をライブ形式(DASHライブ配信)で行う際の動画フレームの撮像方法が考慮されていない。このため、クライアントが動画の再生を開始するために必要なIフレームを含むセグメントが作成されるまでの遅延時間が長くなる。
特許文献1では、クライアントに対してDASHライブ配信を開始する際に、Iフレームを含むセグメントが配信サーバー内に存在しない場合について開示されていない。そのような場合、クライアントは、配信サーバーが新たにIフレームを含むセグメントを作成するのを待ってからそのセグメントを取得するまでの間だけ遅延時間が長くなる。
また、特許文献2では、配信サーバーは、クライアントから動画配信要求が行われてからIフレームを生成するため、動画配信要求を行ってからIフレームを含むセグメントを取得するまでの間だけ遅延時間が長くなる。
本発明の目的は、動画ストリームの配信要求を受信してから動画ストリームを配信するまでの遅延時間を短くすることができる撮像装置、撮像装置の処理方法およびプログラムを提供することである。
本発明の撮像装置は、動画ストリームを生成して配信する撮像装置であって、複数の動画ストリームに係る情報を示すことが可能なプレイリストの配信要求を受信すると、前記プレイリストを配信する配信手段と、前記プレイリストの配信要求を受信すると、特定の動画ストリームの配信要求を受信する前に、前記プレイリスト示される複数の動画ストリームに対応する複数の動画フレームをフレーム内符号化によって符号化する符号化手段と、前記複数の動画ストリームの生成を制御する制御手段とを有し、前記配信手段は、前記複数の動画ストリームの内の特定の動画ストリームの配信要求を受信すると、前記特定の動画ストリームに対応する、前記フレーム内符号化によって符号化された動画フレームを含む動画ストリームを配信し、前記制御手段は、前記特定の動画ストリームの配信要求が受信されると、前記プレイリストで示される前記複数の動画ストリームのうちの前記特定の動画ストリーム以外の動画ストリームの生成を終了させる
本発明によれば、動画ストリームの配信要求を受信してから動画ストリームを配信するまでの遅延時間を短くすることができる。
第1の実施形態に係る撮像システムの構成例を示す図である。 第1の実施形態に係る撮像装置のハードウェア構成例を示す図である。 第1の実施形態に係る撮像装置の機能構成例を示す図である。 DASHライブ配信に用いるMPDの一例を示す図である。 動画フレームとセグメントの関係を示す図である。 管理部の処理を示すフローチャートである。 撮像装置とクライアント間の相互作用の一例を示すシーケンス図である。 第1の実施形態に係る配信部の処理を示すフローチャートである。 第2の実施形態に係る配信部の処理を示すフローチャートである。 第3の実施形態に係る配信部の処理を示すフローチャートである。 第3の実施形態に係る配信部の処理を示すフローチャートである。 第4の実施形態に係る配信部の処理を示すフローチャートである。 撮像装置とクライアントの処理を示すシーケンス図である。 第5の実施形態に係る配信部の処理を示すフローチャートである。 第6の実施形態に係る配信部の処理を示すフローチャートである。 第6の実施形態に係る配信部の処理を示すフローチャートである。
(第1の実施形態)
図1は、本発明の第1の実施形態に係る撮像システムの構成例を示す図である。撮像システムは、撮像装置101と、クライアント102と、ネットワーク103とを有する。例えば、撮像装置101は、ネットワークカメラであり、ネットワーク103は、LAN等のIPネットワークである。撮像装置101とクライアント102は、ネットワーク103を介して、相互に接続され、相互に通信可能である。撮像装置101は、撮影した画像を、ネットワーク103を介して、クライアント102に配信する。クライアント102は、撮像装置101の外部機器である。クライアント102は、撮像装置101に対して、各種リクエストコマンドを送信する。撮像装置101は、それらのコマンドに対するレスポンスをクライアント102に送信する。ネットワーク103は、Ethernet(登録商標)等の通信規格を満足する複数のルータ、スイッチ、ケーブル等を有する。ネットワーク103は、撮像装置101およびクライアント102間の通信が行えるものであれば、その通信規格、規模、構成が限定されない。ネットワーク103は、インターネットから無線LAN(Local Area Network)にまで適用可能である。なお、図1では、説明の簡略化のために、撮像装置101は1台としているが、2台以上であってもよい。また、クライアント102以外にも、撮像装置101に接続するクライアントがあってもよい。
図2は、本実施形態に係る撮像装置101のハードウェア構成例を示す図である。撮像装置101では、CPU201、一次記憶装置202、二次記憶装置203、画像キャプチャインタフェース206、ネットワークインタフェース207が内部バス204を介して相互に接続されている。撮像装置101は、撮像素子205を有する。一次記憶装置202は、例えばRAMであり、書き込み可能な高速の記憶装置であり、OSや各種プログラムおよび各種データがロードされ、またOSや各種プログラムの作業領域として使用される。二次記憶装置203は、例えばフラッシュメモリ、HDD、SDカード等であり、不揮発性記憶装置であり、OSや各種プログラムおよび各種データの永続的な記憶領域として使用され、短期的な各種データの記憶領域として使用される。CPU112は、二次記憶装置203に記憶されているプログラムを一次記憶装置202に展開して実行することにより、撮像装置101の処理を行う。
撮像素子205は、CCDセンサやCMOSセンサであり、光電変換により動画像データを生成する。画像キャプチャインタフェース206は、撮像素子205に接続され、撮像素子205から取得した動画像データを所定のフォーマットに変換し、圧縮して一次記憶装置202に動画フレームとして転送する。ネットワークインタフェース207は、ネットワーク103を介して、撮像装置101へ画像の要求をするクライアント102に接続するインタフェースであり、クライアント102との通信を担う。
図3は、本実施形態に係る撮像装置101の機能構成例を示す図である。撮像装置101は、一時記憶部301、配信部302、撮像処理部303、管理部304および通信部305を有する。一時記憶部301は、図2の一次記憶装置202に対応する。配信部302、撮像処理部303、管理部304および通信部305は、図2のCPU201がプログラムを実行することにより機能する処理部である。
撮像処理部303は、撮像素子205により生成された動画フレームを、画像キャプチャインタフェース206を経由して取得する。そして、撮像処理部303は、その動画フレームを符号化し、SPS(Sequence Parameter Set)やPPS(Picture Parameter Set)などの動画再生に必要な動画メタ情報と共に一時記憶部301に保存する。符号化方式として例えば、H.264/AVCまたはH.265/HEVCを用いることができる。ただし、符号化方式はこれらに限らない。また、撮像処理部303は、複数の符号化方式の中から符号化方式を選択して符号化を行ってもよい。一時記憶部301は、生成された動画メタ情報と動画フレームを一時的に記憶する。
管理部304は、撮像処理部303が一時記憶部301に保存した動画メタ情報と動画フレームから初期化セグメント情報とセグメント情報をそれぞれ生成して、配信部302に通知する。初期化セグメント情報は、一時記憶部301に保存された動画メタ情報から初期化セグメントを生成するための情報であり、例えばファイルとして保存した動画メタ情報のパスである。セグメント情報は、一時記憶部301に保存された動画フレームからセグメントを生成するための情報であり、例えばセグメントが含む各動画フレームのデータファイルのパスを動画フレームの番号から小さい順に記述したテキストを用いることができる。各セグメントが含む動画フレームは、各セグメントが含む動画フレーム数(セグメントフレーム数)を基に判定され、セグメントフレーム数は、配信部302からの動画ストリーム開始要求時に指定される。具体的な指定方法の説明は、図4におけるセグメント時間情報414の説明と共に行う。管理部304は、配信部302がセグメント情報を解放するまで一時記憶部301の動画フレームを保持する。
配信部302は、配信できる全動画ストリーム情報が記載されているプレイリストと管理部304が生成した初期化セグメントおよびセグメントを、クライアント102のリクエストに応じて、通信部305を経由して、クライアント102に配信する。プレイリストの一例として、ISO/IEC23009−1:2014にて定義されるMPDファイルを用いる。配信部302は、初期化セグメントとセグメントのヘッダ部を生成し、管理部304が生成した初期化セグメント情報とセグメント情報に記載されている動画メタ情報および動画フレームのデータ部分と結合し、初期化セグメントとセグメントを生成する。そして、配信部302は、初期化セグメントとセグメントを、通信部305を経由して、クライアント102に配信する。
管理部304は、クライアント102からの配信要求を受信してからセグメントを配信する例を説明したが、これに限定されない。管理部304は、HTTP/2やWebsocketなどのプロトコルによっては要求を受信しなくても動画フレームを生成して、セグメントが完成した時点で次々と配信してもよい。
図4は、撮像装置101がクライアント102に配信するMPDファイル400の構成例を示す図である。MPDファイル400は、XML形式であり、スキーマ情報401にて、xmlns属性で指定した名前空間およびxsi属性で指定したスキーマ文書において、MPDファイル400の記述方法が定義される。
プロファイル情報402では、ISO/IEC23009−1:2014にて定義されるプロファイル“urn:mpeg:dash:profile:isoff-live:2011”を指定している。このプロファイルは、DASHライブ配信を想定して設計されている。このプロファイルは、クライアント102から撮像装置101へのストリーム設定変更要求、一次記憶装置202の帯域使用率等の撮像装置101の稼働状況、およびネットワーク103の通信帯域等に合わせてMPDファイル400を動画配信中に更新できる。
例えば、撮像装置101は、配信可能な3本の動画ストリーム1、2、3の動画フレームを撮像処理部303が出力する。MPDファイル400の中では、動画ストリーム1、2、3で配信する動画の情報を、データ構造Representation405、406、407で定義している。MPDファイル400は、複数の動画ストリームに係る情報を示すことが可能なプレイリストである。
Representation405は、符号化情報409、解像度情報410、フレームレート情報411、および配信ビットレート情報412を含む。符号化情報409は、動画の符号化方式H.264/AVC Mainプロファイル レベル3.1を示す。解像度情報410は、動画の幅480および高さ270を示す。フレームレート情報411は、動画の1秒当たりの表示フレーム枚数30を示す。配信ビットレート情報412は、動画の配信ビットレート値680000bpsを示す。また、Representation405は、下記のように、セグメントが区切られる時間の単位(セグメント時間)をセグメント時間情報414で示している。
(Representation405のセグメント時間)=(セグメント時間情報414のduration)/(セグメント時間情報414のtimescale)=300/3000[秒]=0.1[秒]
故に、前述した配信部302から管理部304へのセグメントフレーム数を、下記の計算式によって導出し、指定することが可能である。
(Representation405のセグメントフレーム数)=(Representation405のフレームレート)=0.1[秒]×30[1/秒]×(Representation405のセグメント時間)=3
また、Representation405は、動画ストリーム1の初期化セグメントURI情報416、および、セグメントURI情報415を含んでいる。クライアント102は、撮像装置101のIPアドレスを含むMPDBaseURI情報403、ストリーム1の識別子を含むRepresentationBaseURI情報413を使用することにより、下記のURIにアクセスする。そして、クライアント102は、動画ストリーム1の初期化セグメントと各セグメントの取得を行う。
(Representation405の初期化セグメントURI)=(MPDBaseURI情報403)+(RepresentationBaseURI情報413)+(初期化セグメントURI情報416)=“http://192.169.100.1:80/video/stream1/init1.mp4”
(Representation405のセグメントURI)=(MPDBaseURI情報403)+(RepresentationBaseURI情報413)+(セグメントURI情報415)=“http://192.169.100.1:80/video/stream1/media1_$Number$.m4s”
上記の式で、A+Bは、要素Aの文字列の右側に要素Bの文字列を結合すること意味する。$Number$は、テンプレート表現であり、セグメントURI情報415のstartNumberの値からセグメント1つ毎に評価値がインクリメントされていく。
実際の動画ストリーム1の各セグメントのURIは、“http://192.169.100.1:80/video/stream1/media1_1.m4s”である。また、“http://192.169.100.1:80/video/stream1/media1_2.m4s”である。また、“http://192.169.100.1:80/video/stream1/media1_3.m4s”等である。
他に、URIのためのテンプレート表現として、Representation405のRepresentationID408として$RepresentationID$を用いることができる。また、Representation405の配信ビットレート412の数値とし、$BandWidth$等を用いることができる。また、それらの組み合わせを用いることができる。
Representation406は、符号化情報418、解像度情報419、フレームレート情報420、配信ビットレート情報421、およびセグメント時間情報423を含む。さらに、Representation406は、RepresentationID417、初期化セグメントURI情報425、およびセグメントURI情報424を含む。
Representation407は、符号化情報427、解像度情報428、フレームレート情報429、配信ビットレート情報430、およびセグメント時間情報432を含む。さらに、Representation407は、RepresentationID426、初期化セグメントURI情報434、およびセグメントURI情報433を含む。
Representaion405が動画ストリーム1の情報を表現するのと同様に、Representation406および407は、動画ストリーム2、3について、各種の値を表現している。本実施形態では、説明の容易化のため、動画ストリームを3本としたが、3本以外の動画ストリームを定義してもよいし、逆にクライアント102からのリクエストに合わせて1本の動画ストリームのみの定義でもよい。
図5は、動画ストリーム1と動画ストリーム1の各セグメントとの関係を示す図である。撮像処理部303は、動画ストリーム1の開始要求を受け付けると、SPSおよびPPSを含む動画メタ情報501と動画フレーム511〜516を連続して生成し、それぞれを生成すると同時に管理部304に生成通知をする。このうち、動画フレーム511と514は、完全な動画フレームを構成するのに必要な動画情報を有するIフレームを示し、それ以外の動画フレームは、直前の画像との差分の動画情報を有するPフレームを示す。Iフレームは、フレーム内符号化によって符号化される動画フレームである。Pフレームは、フレーム間符号化によって符号化される動画フレームである。撮像処理部303は、撮像された動画フレームをフレーム内符号化またはフレーム間符号化によって符号化する。撮像処理部303は、動画フレーム516を生成した後もフレーム生成を続け、各フレームセグメントを生成すると同時に管理部304に生成通知をする。
管理部304は、まず動画メタ情報501を含む初期化セグメント500を生成し、次に動画フレーム511、512、513を含むセグメント1−1(520)を生成し、次に動画フレーム514、515、516を含むセグメント1−2(530)を生成する。管理部304は、生成手段であり、セグメント1−2(530)を生成した後も撮像処理部303が生成したフレームに対してセグメントの生成を続ける。
管理部304は、他の動画ストリームについても、撮像処理部303が生成したフレームを、セグメントフレーム数の指定に応じて、同様にセグメント化する。本実施形態では、差分の動画情報をPフレームとしたが、Bフレームなどにも適用可能である。また、セグメントの最初のフレームは、必ずしもIフレームとならなくてもよい。
図6は、管理部304の処理例を示すフローチャートである。管理部304は、撮像処理部303が自身が開始した直後に開始要求を行うことで開始する。ステップS600において、管理部304は、イベントの発生を待ち、発生イベントの判定により、処理動作を切り替える。管理部304は、発生イベントが、撮像処理部303からの動画メタ情報の生成イベントであると判定した場合には、ステップS601に処理を進める。また、管理部304は、発生イベントが、撮像処理部303からの動画フレーム生成イベントであると判定した場合には、ステップS605に処理を進める。また、管理部304は、発生イベントが、配信部302からのセグメント解放指示イベントであると判定した場合には、ステップS616に処理を進める。また、管理部304は、発生イベントが、配信部302からの動画ストリームの終了要求イベントであると判定した場合には、ステップS617に処理を進める。
ステップS601において、管理部304は、動画メタ情報を保存する。次に、ステップS602において、管理部304は、動画メタ情報を含む初期化セグメントを生成して配信部302に通知する。次に、ステップS603において、管理部304は、動画ストリームの開始要求時に指定されたセグメントフレーム数などのセグメント構成情報を保存する。次に、ステップS604において、管理部304は、自己の状態をIフレーム待ちの状態に設定する。その後、管理部304は、ステップS600に処理を戻す。
ステップS605において、管理部304は、自己の状態を判定する。そして、管理部304は、自己の状態がIフレーム待ちの状態であると判定した場合には、ステップS606に処理を進め、自己の状態が次フレーム待ちの状態であると判定した場合には、ステップS612に処理を進める。
ステップS606において、管理部304は、生成された動画フレームがIフレームか否かを判定する。そして、管理部304は、動画フレームがIフレームであると判定した場合にはステップS607に処理を進め、動画フレームがIフレームでないと判定した場合にはステップS600に処理を戻す。
ステップS607において、管理部304は、動画フレーム情報を保存する。次に、ステップS608において、管理部304は、動画フレームがS603にて保存したセグメント構成情報に含むセグメントフレーム数分生成されたか否かを判定する。そして、管理部304は、セグメントフレーム数分の動画フレームが生成されたと判定した場合にはステップS609に処理を進め、セグメントフレーム数分の動画フレームが生成されていないと判定した場合にはステップS600に処理を戻す。
ステップS609において、管理部304は、セグメント番号とセグメントに含まれる動画フレーム情報を保存する。次に、ステップS610において、管理部304は、配信部302にセグメントが生成された旨を通知する。次に、ステップS611において、管理部304は、自己の状態を次フレーム待ちの状態に設定する。その後、管理部304は、ステップS600に処理を戻す。
上記のステップS609およびS610では、管理部304は、セグメント情報と動画フレーム情報のみを保存し、通知することが重要である。もし、管理部304が、動画フレーム中の動画データ部分からセグメントを生成すると、データのコピー処理を実行するだけでなく、クライアント102毎にセグメントを保存する必要が出てくるため、一時記憶部301が不足するという懸念が発生する。
ステップS612において、管理部304は、動画フレーム情報を保存する。次に、ステップS613において、管理部304は、動画フレームがステップS603にて保存したセグメント構成情報に含まれる動画フレーム数分生成されたか否かを判定する。そして、管理部304は、セグメント分の動画フレーム数が生成されたと判定した場合にはステップS614に処理を進め、セグメント分の動画フレーム数が生成されていないと判定した場合にはステップS600に処理を戻す。
ステップS614において、管理部304は、セグメント番号とセグメントに含まれる動画フレーム情報を保存する。次に、ステップS615において、管理部304は、配信部302にセグメントが生成された旨を通知する。その後、管理部304は、ステップS600に処理を戻す。
本実施形態では、必ず連続で動画フレームが生成される前提で説明したが、動画フレームが連続して生成されない可能性がある場合は、管理部304は、動画フレームが連続か否かを判定し、非連続の場合は再度Iフレーム待ちの状態に戻る処理を行ってもよい。
ステップS616において、管理部304は、保存しているセグメント情報と当該セグメントに含まれている動画フレームを削除する。その後、管理部304は、ステップS600に処理を戻す。
ステップS617において、管理部304は、保存している全セグメント情報と当該セグメントに含まれている動画フレーム情報を削除する。次に、ステップS618において、管理部304は、全ての動画ストリームが終了したか否かを判定する。そして、管理部304は、全ての動画ストリームが終了したと判定した場合には、処理を終了し、全ての動画ストリームが終了していないと判定した場合には、ステップS600に処理を戻す。
本実施形態では、配信部302が動画ストリームの開始要求を行った際に、管理部304は、撮像処理部303と同時に起動する例を説明したが、常時起動しておき、全クライアント102のセグメント情報を1つの管理部304が管理してもよい。
図7は、クライアント102が撮像装置101から動画配信を受信する処理を示すシーケンス図である。以下、クライアント102と撮像装置101の処理方法を説明する。撮像装置101は、撮像処理を行う撮像処理部303と、撮像処理部303が生成した動画メタ情報と動画フレームを基にセグメントを生成および管理する管理部304と、クライアント102への配信処理を行う配信部302を有する。
まず、ステップS700において、クライアント102は、動画情報を束ねるMPDファイル400の配信要求を撮像装置101に配信する。次に、ステップS701において、撮像装置101の配信部302は、MPDファイル400の配信要求を受信すると、配信可能な動画ストリームをまとめたMPDファイル400を生成して、クライアント102に配信する。
ステップS709において、配信部302は、MPDファイル400に記載されている動画ストリーム1のストリーム開始要求を、撮像処理部303に対して出力する。次に、ステップS710において、配信部302は、MPDファイル400に記載されている動画ストリーム2のストリーム開始要求を、撮像処理部303に対して出力する。次に、ステップS711において、配信部302は、MPDファイル400に記載されている動画ストリーム3のストリーム開始要求を、撮像処理部303に対して出力する。
ステップS721において、撮像処理部303は、ステップS709の動画ストリーム1の開始要求を受け付けると、動画ストリーム1について、SPSおよびPPSを含む動画メタ情報を生成し、管理部304に通知する。次に、ステップS722において、撮像処理部303は、ステップS710の動画ストリーム2の開始要求を受け付けると、動画ストリーム2について、SPSおよびPPSを含む動画メタ情報を生成し、管理部304に通知する。次に、ステップS723において、撮像処理部303は、ステップS711の動画ストリーム3の開始要求を受け付けると、動画ストリーム3について、SPSおよびPPSを含む動画メタ情報を生成し、管理部304に通知する。その後、ステップS724において、撮像処理部303は、動画フレームを連続して生成し、管理部304に通知する。
ステップS712において、管理部304は、ステップS721の動画メタ情報生成通知を受け付けると、初期化セグメント1を生成し、生成が完了した場合には、生成通知を配信部302に出力する。次に、ステップS713において、管理部304は、ステップS722の動画メタ情報生成通知を受け付けると、初期化セグメント2を生成し、生成が完了した場合には、生成通知を配信部302に出力する。次に、ステップS714において、管理部304は、ステップS723の動画メタ情報生成通知を受け付けると、初期化セグメント3を生成し、生成が完了した場合には、生成通知を配信部302に出力する。
次に、ステップS715〜S720において、管理部304は、動画ストリーム開始時に指定されたセグメント構成情報を基に、セグメントを生成する。具体的には、管理部304は、動画ストリーム1については、セグメント1−1、1−2、・・・、動画ストリーム2については、セグメント2−1、2−2、・・・、動画ストリーム3については、セグメント3−1、3−2、・・・を生成する。そして、管理部304は、その生成が完了した場合には、生成通知を配信部302に出力する。
クライアント102は、ステップS701のMPDファイル400を取得して分析した後、自己のCPU能力や表示解像度および通信帯域などから受信する動画ストリームを選択する。ステップS702において、クライアント102は、再生に必要な情報が含まれている初期化セグメントの配信要求を撮像装置101に配信する。図7の場合、クライアント102は、動画ストリーム1を選択し、初期化セグメント1の配信要求を撮像装置101に配信する。なお、クライアント102は、MPDファイル400に記載される他の動画ストリームの初期化セグメントの配信要求を配信してもよく、また、初期化セグメントを撮像装置101からサーバプッシュ方式で取得してもよい。
次に、ステップS703において、配信部302は、指定された初期化セグメントをクライアント102に返信する。図7の場合、配信部302は、初期化セグメント1をクライアント102に返信する。
次に、ステップS704において、クライアント102は、上記の初期化セグメント1を受信した後、セグメント1−1の配信要求を撮像装置101に配信する。次に、ステップS705において、配信部302、ステップS715のセグメント1−1が生成されると、セグメント1−1をクライアント102に配信する。次に、ステップS708において、クライアント102は、セグメント1−1を受信後、動画再生を行う。クライアント102は、必要であれば一定時間セグメント1−1をバッファリングしてから動画再生を開始してもよい。
次に、ステップS706において、クライアント102は、次のセグメント1−2の配信要求を撮像装置101に配信する。次に、ステップS707において、配信部302は、ステップS718のセグメント1−2が生成されると、セグメント1−2をクライアント102に配信する。クライアント102は、動画を途切れないように、セグメント1−1に含まれていた動画フレームの後に、セグメント1−2に含まれている動画フレームを順次再生する。その後も同様に、クライアント102は、撮像装置101からセグメントを順次取得し、動画の再生を行う。
図8は、本実施形態に係る配信部302の処理例を示すフローチャートである。ステップS800において、配信部302は、イベントの発生を待ち、発生イベントの判定によって処理動作を切り替える。配信部302は、発生イベントが、クライアント102からのMPD配信要求イベントであると判定した場合には、ステップS801に処理を進める。また、配信部302は、発生イベントが、管理部304からのセグメント生成通知イベントであると判定した場合には、ステップS806に処理を進める。また、配信部302は、発生イベントが、クライアント102からの初期化セグメント/セグメント配信要求イベントであると判定した場合には、ステップS807に処理を進める。また、配信部302は、発生イベントが、動画ストリームの配信終了要求のイベントであると判定した場合には、ステップS811に処理を進める。
ステップS801において、配信部302は、現在配信可能な単数または複数の動画ストリームの情報をまとめたMPDファイル400を生成する。次に、ステップS802において、配信部302は、クライアント102にMPDファイル400を配信する。次に、ステップS803において、配信部302は、MPDファイル400に記載されている全動画ストリームが開始しているか否かを判定する。そして、配信部302は、既に全動画ストリームが開始していると判定した場合には、ステップS804に処理を進め、全動画ストリームが開始していないと判定した場合には、ステップS805に処理を進める。
ステップS804において、配信部302は、撮像処理部303に対して、全動画ストリームのIフレームの生成要求を出力し、ステップS800に処理を戻す。ステップS805において、配信部302は、撮像処理部303に対して、MPDファイル400に記載されている全動画ストリームの開始要求を同時に出力し、ステップS800に処理を戻す。ここで、ステップS805では、配信部302は、全動画ストリームの開始要求を同時に出力しているが、図5で説明した通り、動画ストリームの開始後に生成される最初のフレームとしてIフレームの生成が行われる。動画ストリームの開始要求およびIフレームの生成要求は、全動画ストリームに対して同時に行わず、順次行ってもよい。配信部302は、MPDファイル400内(プレイリスト内)の全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を同時または順に撮像処理部303に対して行う。
ステップS803において、既に全動画ストリームを開始している場合の例としては、クライアント102が最初のステップS801〜S803およびS805を既に完了している場合が挙げられる。その他、クライアント102以外のクライアントが撮像装置101に接続し、ステップS801〜S803およびS805を既に完了している場合が挙げられる。
ステップS806において、配信部302は、動画フレームを含むセグメント情報を保存する。その後、配信部302は、ステップS800に処理を戻す。
ステップS807において、配信部302は、要求された初期化セグメント/セグメントが既に生成されているか否かを判定する。そして、配信部302は、初期化セグメント/セグメントが既に生成されていると判定した場合には、ステップS808に処理を進め、初期化セグメント/セグメントが生成されていないと判定した場合には、ステップS810に処理を進める。
ステップS808において、配信部302は、セグメントのヘッダ部分を生成し、ヘッダ部分を動画フレームのデータ部分に結合したセグメントを、通信部305を経由してクライアント102に配信する。次に、ステップS809において、配信部302は、管理部304に配信したセグメントの解放を指示する。その後、配信部302は、ステップS800に処理を戻す。ステップS808では、配信部302は、コピー処理とメモリ使用量を増やさないため、ヘッダ部分だけを生成して、ヘッダ部分を動画フレームのデータ部分に結合しながら配信することが重要である。
ステップS810において、配信部302は、クライアント102にエラーレスポンスを配信する。その後、配信部302は、ステップS800に処理を戻す。なお、配信部302は、要求されたセグメントが存在しない場合は、エラーレスポンスを配信する例を説明したが、セグメントが生成できるまで待ち合わせをしてもよい。
ステップS811において、配信部302は、管理部304に対して、当該動画ストリームの終了要求を出力して、当該動画ストリームのセグメント生成を停止させる。次に、ステップS812において、配信部302は、全ての動画ストリームが終了したか否かを判定する。そして、配信部302は、全ての動画ストリームが終了したと判定した場合には、処理を終了し、全ての動画ストリームが終了していないと判定した場合には、ステップS800に処理を戻す。なお、配信部302は、ステップS812で全ての動画ストリームが終了したと判定した場合に終了する例を説明したが、撮像装置101の他の処理部からの終了要求を受け取るまで、ステップS800でイベント判定を続けてもよい。
以上のように、撮像処理部303は、ステップS700のMPDファイル400の配信要求を受信すると、ステップS702の特定の動画ストリームの配信要求を受信する前に、ステップS724で、MPDファイル400内の動画ストリームの符号化を行う。具体的には、撮像処理部303は、符号化手段であり、MPDファイル400に示される動画ストリームに対応する動画フレームをフレーム内符号化によって符号化する。配信部302は、特定の動画ストリーム(初期化セグメント/セグメント)の配信要求を受信すると、その特定の動画ストリームに対応する、フレーム内符号化によって符号化された動画フレームを含む動画ストリームを配信する。
このように、撮像装置101は、MPDファイル400の配信要求が行われた時点で全ての動画ストリームの生成を開始し、クライアント102がどの動画ストリームを選択しても即座に初期化セグメント/セグメントを返信できるようにする。これにより、撮像装置101は、クライアント102に対して、短い遅延で動画配信することができる。
(第2の実施形態)
図9は、本発明の第2の実施形態に係る配信部302の一部の処理例を示すフローチャートである。第2の実施形態における配信部302は、第1の実施形態における配信部302のステップS803〜S805の処理を、ステップS900〜S905の処理に置き換えて行う。第2の実施形態と第1の実施形態で共通している部分の説明は省略し、第2の実施形態と第1の実施形態で異なる部分について説明を行う。
図9は、配信部302が動画ストリームの開始要求を配信ビットレートが低い順に行う処理を示すフローチャートである。ステップS900では、配信部302は、MPDファイル400に記載される動画ストリーム1、2、3のそれぞれの配信ビットレート412、421、430を参照し、動画ストリームのid(番号)を配信ビットレートが低い順に配列OBW[j]でソートする。なお、ソートの方法は、バブルソート、2分木ソートなど、いずれのソートアルゴリズムを使用してもよい。下記に、動画ストリーム1、2、3のビットレートと配列OBW[j]のソートの例を示す。
(動画ストリーム1の配信ビットレート 680000[bps])<(動画ストリーム2の配信ビットレート 1360000[bps])<(動画ストリーム3の配信ビットレート 5680000[bps])
OBW[1]=1
OBW[2]=2
OBW[3]=3
次に、ステップS901において、配信部302は、変数jについて、1から、MPDファイル400に記載された動画ストリーム総数までのループ処理を開始する。配信部302は、全ての動画ストリームに対する処理が完了すると、動画ストリーム総数のループ処理を終了する。
次に、ステップS902において、配信部302は、MPDファイル400に記載されている動画ストリームのうちの配列OBW[j]の動画ストリームが既に開始しているか否かを判定する。そして、配信部302は、配列OBW[j]の動画ストリームが既に開始していると判定した場合には、ステップS903に処理を進め、配列OBW[j]の動画ストリームが開始していないと判定した場合には、ステップS905に処理を進める。
ステップS903において、配信部302は、撮像処理部303に対して、配列OBW[j]の動画ストリームのIフレームの生成要求を出力する。その後、配信部302は、ステップS904に処理を進める。
ステップS905において、配信部302は、撮像処理部303に対して、配列OBW[j]の動画ストリームの開始要求を出力する。その後、配信部302は、ステップS904に処理を進める。ここで、ステップS905では、配信部302は、動画ストリームの開始要求を出力しているが、図5で説明した通り、動画ストリームの開始後に生成される最初のフレームとしてIフレームの生成が行われる。
ステップS904において、配信部302は、変数jが動画ストリーム総数と同じでない場合には、変数jをインクリメントし、ステップS901に処理を戻し、変数jが動画ストリーム総数と同じである場合には、図8のステップS800に処理を戻す。
以上のように、配信部302は、MPDファイル400内の全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を、配信ビットレートの低い順で撮像処理部303に対して行う。
このように、撮像装置101は、MPDファイル400の配信要求が行われた時点で、動画ストリームの開始要求を配信ビットレートが低い順に出力する。これにより、撮像装置101は、クライアント102に対して、短い遅延で動画配信しつつ、単位時間当たりの処理データサイズが小さいデータから動画ストリーム開始の準備が完了することが期待される。そのため、撮像装置101の単位時間当たりのメモリ使用量を低減することができる。
(第3の実施形態)
図10は、本発明の第3の実施形態に係る配信部302の一部の処理例を示すフローチャートである。第3の実施形態における配信部302は、第1の実施形態における配信部302のステップS803〜S805の処理を、ステップS1000〜S1006の処理に置き換えて行う。第3の実施形態と第1の実施形態で共通している部分の説明は省略し、第3の実施形態と第1の実施形態で異なる部分について説明を行う。
図10は、配信部302が動画ストリームの開始要求を配信頻度が高い順に出力する処理を示すフローチャートである。ステップS1000において、配信部302は、一時記憶部301に保存されている動画ストリーム1、2、3の配信履歴情報(後述)を読み出し、各動画ストリームiの配信頻度評価値val(i)を算出し、一時記憶部301に格納する。動画ストリームiの配信頻度評価値val(i)の例として、時間Tmから時間TMまでの動画ストリームiの合計配信時間の算出式を式(1)に示す。
Figure 0006797755
式(1)のsは、一続きの動画ストリーム配信の配信メタ情報を含む構造体である。strm(s)は、一続きの動画ストリーム配信の動画ストリームidを示す。To(s)は、一続きの動画ストリーム配信の配信開始時間を示す。Tc(s)は、一続きの動画ストリーム配信の配信終了時間を示す。ここでは、動画ストリームiの配信頻度評価値val(i)を式(1)で定義したが、クライアント102の動画ストリームiへのアクセス回数を用いる等の他の定義でもよい。
次に、ステップS1001において、配信部302は、MPDファイル400に記載される動画ストリーム1、2、3のそれぞれの配信頻度評価値val(i)を一時記憶部301から参照する。そして、配信部302は、動画ストリームのidを配信頻度評価値val(i)が高い順に配列OTM[j]でソートする。なお、ソートの方法は、バブルソート、2分木ソートなど、いずれのソートアルゴリズムを使用してもよい。
次に、ステップS1002において、配信部302は、変数jについて、1から、MPDファイル400に記載された動画ストリーム総数までのループ処理を開始する。配信部302は、全ての動画ストリームに対する処理が完了すると、動画ストリーム総数のループ処理を終了する。
次に、ステップS1003において、配信部302は、MPDファイル400に記載されている配列OTM[j]の動画ストリームが既に開始しているか否かを判定する。そして、配信部302は、既に配列OTM[j]の動画ストリームが開始していると判定した場合には、ステップS1004に処理を進め、配列OTM[j]の動画ストリームが開始していないと判定した場合には、ステップS1006に処理を進める。
ステップS1004において、配信部302は、撮像処理部303に対して、配列OTM[j]の動画ストリームのIフレームの生成要求を出力する。その後、配信部302は、ステップS1005に処理を進める。
ステップS1006において、配信部302は、撮像処理部303に対して、配列OTM[j]の動画ストリームの開始要求を出力する。その後、配信部302は、ステップS1005に処理を進める。ここで、ステップS1006では、配信部302は、動画ストリームの開始要求を出力しているが、図5で説明した通り、動画ストリームの開始後に生成される最初のフレームとしてIフレームの生成が行われる。
ステップS1005において、配信部302は、変数jが動画ストリーム総数と同じでない場合には、変数jをインクリメントし、ステップS1002に処理を戻し、変数jが動画ストリーム総数と同じである場合には、図8のステップS800に処理を戻す。
図11は、第3の実施形態に係る配信部302の他の一部の処理例を示すフローチャートである。第3の実施形態における配信部302は、第1の実施形態における配信部302のステップS811の処理を、ステップS1100およびS1101の処理に置き換えて行う。
図11は、配信部302が動画ストリームを終了してストリーム配信履歴情報を保存する処理を示すフローチャートである。ステップS1100において、配信部302は、管理部304に対して、クライアント102から配信終了要求を受信した動画ストリームの終了要求を出力し、当該動画ストリームのセグメントの生成を停止させる。次に、ステップS1101において、配信部302は、ステップS1100で終了した動画ストリームの配信履歴情報を一時記憶部301に保存する。動画ストリームの配信履歴情報としては、例えば、一続きの動画ストリーム配信について、動画ストリームの配信開始時間と動画ストリームの配信終了時間を保存する。
以上のように、配信部302は、MPDファイル400内の全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を、配信頻度が高い順で撮像処理部303に対して行う。
このように、撮像装置101は、MPDファイル400の配信要求が行われた時点で、動画ストリームの開始要求を配信頻度が高い順に行うことにより、クライアント102に対して、短い適な遅延で動画配信することができる。また、撮像装置101は、CPU201への高負荷やメモリ使用量増大を起因として一部動画ストリームで指定通りのフレームレートの撮像ができなくなる場合(フレーム落ち)がある。その場合でも、撮像装置101は、配信頻度の高い動画ストリームをフレーム落ちなく配信し、クライアント102の動画再生をスムーズに行わせることができる。
(第4の実施形態)
図12は、本発明の第4の実施形態に係る配信部302の処理例を示すフローチャートである。撮像装置101は、MPDファイル400の配信要求が行われてから一定時間が経過しても、クライアント102から初期化セグメント配信要求イベントを受信しない場合に、Iフレームを全ての動画ストリームで生成する。ステップS1200において、配信部302は、イベントの発生を待ち、発生イベントの判定により、処理動作を切り替える。配信部302は、発生イベントが、クライアント102からのMPD配信要求イベントであると判定した場合には、ステップS1201に処理を進める。また、配信部302は、発生イベントが、管理部304からのセグメント生成通知イベントであると判定した場合には、ステップS1207に処理を進める。また、配信部302は、発生イベントが、クライアント102からの初期化セグメント/セグメント配信要求イベントであると判定した場合には、ステップS1208に処理を進める。また、配信部302は、発生イベントが、動画ストリームの配信終了要求のイベントであると判定した場合には、ステップS1214に処理を進める。
ステップS1201において、配信部302は、現在配信可能な単数または複数の動画ストリームの情報をまとめたMPDファイル400を生成する。次に、ステップS1202において、配信部302は、クライアント102に対して、MPDファイル400を配信する。次に、ステップS1203において、配信部302は、MPDファイル400に記載されている全動画ストリームが既に開始しているか否かを判定する。そして、配信部302は、既に全動画ストリームが開始していると判定した場合には、ステップS1204に処理を進め、全動画ストリームが開始していないと判定した場合には、ステップS1205に処理を進める。
ステップS1204において、配信部302は、撮像処理部303に対して、全動画ストリームのIフレームの生成要求を出力する。その後、配信部302は、ステップS1206に処理を進める。
ステップS1205において、配信部302は、撮像処理部303に対して、MPDファイル400に記載されている全動画ストリームの開始要求を同時に出力する。その後、配信部302は、ステップS1206に処理を進める。ここで、ステップS1205では、配信部302は、全動画ストリームの開始要求を同時に出力する例を説明したが、図5で説明した通り、動画ストリームの開始後に生成される最初のフレームとしてIフレームの生成が行われる。動画ストリームの開始要求およびIフレームの生成要求は、全動画ストリームに対して同時に行わず、順次行ってもよい。
S1203にて、既に全動画ストリームを開始している場合の例としては、クライアント102が最初のステップS1201〜S1203およびS1205を既に完了している場合が挙げられる。また、クライアント102以外のクライアントが撮像装置101に接続し、ステップS1201〜S1203およびS1205を既に完了している場合が挙げられる。
ステップS1206において、配信部302は、タイマカウント値Tに0を設定し、タイマのカウントアップを開始させる。その後、配信部302は、ステップS1200に処理を戻す。
ステップS1200において、配信部302は、タイマカウント値Tが閾値以上になったと判定した場合には、ステップS1203に処理を進める。
ステップS1207において、配信部302は、動画フレームを含むセグメント情報を保存する。その後、配信部302は、ステップS1200に処理を戻す。
ステップS1208において、配信部302は、要求された初期化セグメント/セグメントが既に生成されているか否かを判定する。そして、配信部302は、初期化セグメント/セグメントが既に生成されていると判定した場合には、ステップS1209に処理を進め、初期化セグメント/セグメントが生成されていないと判定した場合には、ステップS1213に処理を進める。
ステップS1209において、配信部302は、発生イベントが初期化セグメント配信要求イベントであるか否かを判定する。そして、配信部302は、発生イベントが初期化セグメント配信要求イベントであると判定した場合には、ステップS1210に処理を進め、発生イベントが初期化セグメント配信要求イベントでないと判定した場合には、ステップS1211に処理を進める。
ステップS1210において、配信部302は、タイマのカウントアップを終了させる。次に、ステップS1211において、配信部302は、セグメントのヘッダ部分を生成し、ヘッダ部分を動画フレームのデータ部分に結合したセグメントを、通信部305を経由してクライアント102に配信する。次に、ステップS1212において、配信部302は、管理部304に対して、配信したセグメントの解放を指示する。その後、配信部302は、ステップS1200に処理を戻す。
ステップS1213において、配信部302は、クライアント102に対して、エラーレスポンスを配信する。その後、配信部302は、ステップS1200に処理を戻す。
ステップS1214において、配信部302は、管理部304に対して、当該動画ストリームの終了要求を出力し、当該動画ストリームのセグメントの生成を停止させる。次に、ステップS1215において、配信部302は、全ての動画ストリームが終了したか否かを判定する。そして、配信部302は、全ての動画ストリームが終了したと判定した場合には、処理を終了し、全ての動画ストリームが終了していないと判定した場合には、ステップS1200に処理を戻す。なお、配信部302は、ステップS1215で全ての動画ストリームが終了したと判定した場合に、処理を終了する例を説明したが、撮像装置101の他の処理部からの終了要求を受け取るまで、ステップS1200でイベント判定を続けてもよい。
本実施形態では、動画ストリームの開始要求およびIフレームの生成要求は、全動画ストリームに対して同時に行う例を説明したが、各動画ストリームに対して順次行ってもよい。
以上のように、配信部302は、MPDファイル400内の全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を撮像処理部303に対して行った後、ステップS1206でタイマカウント値Tを0に設定する。その後、配信部302は、特定の動画ストリーム(初期化セグメント/セグメント)の配信要求の受信の待ち時間Tが閾値以上になった場合には、ステップS1203に進む。ステップS1204またはS1205では、配信部302は、再び、MPDファイル400内の全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を撮像処理部303に対して行う。
このように、撮像装置101は、MPDファイル400の配信要求が行われてから初期化セグメント配信要求が行われるまで、閾値ごとの時間に、全ての動画ストリームのIフレームを生成する。これにより、撮像装置101は、クライアント102がMPDファイル400の分析等に起因して初期化セグメント配信要求まで時間を要する場合でも、クライアント102に対して、短い遅延で動画配信することができる。
(第5の実施形態)
図13は、本発明の第5の実施形態に係る動画配信における撮像装置101とクライアント102間の相互作用の一例を示すシーケンス図であり、クライアント102が撮像装置101から動画配信を受信しているシーケンスを示す。第5の実施形態が第1の実施形態と異なる部分は、配信部302のステップS1300およびS1301、管理部304のステップS718以降のセグメント生成のシーケンス、撮像処理部303のステップS1302以降の動画フレーム生成のシーケンスである。第5の実施形態と第1の実施形態で共通している部分の説明は省略し、第5の実施形態と第1の実施形態で異なる部分について説明を行う。
ステップS704において、クライアント102は、動画ストリーム1のセグメント1−1の配信要求を撮像装置101に配信する。配信部301は、動画ストリーム1のセグメント1−1の配信要求を受信すると、その動画ストリーム1以外の動画ストリームとして、MPDファイル400から動画ストリーム2および動画ストリーム3を特定する。次に、ステップS1300において、配信部302は、撮像処理部303および管理部304に対して、その特定した動画ストリーム2の終了要求を出力する。次に、ステップS1301において、配信部302は、撮像処理部303および管理部304に対して、その特定した動画ストリーム3の終了要求を出力する。
撮像処理部303は、動画ストリーム2および動画ストリーム3の終了要求を受信する。すると、撮像処理部303は、ステップS724以降で行っている動画フレームの生成のうち、動画ストリーム2および動画ストリーム3の動画フレームの生成を終了し、ステップS1302以降で動画ストリーム1の動画フレームの生成を継続する。
管理部304は、ステップS1300およびS1301の動画ストリーム2および動画ストリーム3の終了要求を受信する。すると、管理部304は、動画ストリーム2および動画ストリーム3のセグメントの生成を終了する。管理部304は、ステップS718以降では、動画ストリーム1のセグメントの生成を継続する。
図14は、配信部302が初期化セグメント配信要求を受信した時の処理を示すフローチャートである。配信部302は、初期化セグメント配信要求をクライアント102から受信した際に、当該初期化セグメントの動画ストリーム以外の動画ストリームの終了要求を行う。第5の実施形態における配信部302は、第1の実施形態における配信部302のステップS807とS808の処理の間に、ステップS1400〜S1405の処理を追加する。第5の実施形態と第1の実施形態で共通している部分の説明は省略し、第5の実施形態と第1の実施形態で異なる部分について説明を行う。
ステップS1400において、配信部302は、発生イベントが初期化セグメント配信要求イベントであるか否かを判定する。そして、配信部302は、発生イベントが初期化セグメント配信要求イベントであると判定した場合には、ステップS1401に処理を進め、発生イベントが初期化セグメント配信要求イベントでないと判定した場合には、図8のステップS808に処理を進める。
ステップS1401において、配信部302は、配信する動画ストリームのidを含む配信ストリーム情報を一時記憶部301に保存する。次に、ステップS1402において、配信部302は、変数iについて、1から、MPDファイル400に記載された動画ストリーム総数までのループ処理を開始する。配信部302は、全ての動画ストリームに対する処理が完了すると、動画ストリーム総数のループ処理を終了する。次に、ステップS1403において、配信部302は、一時記憶部301に保存されている配信ストリーム情報を読み出し、配信ストリーム情報が動画ストリームiのidを含んでいるか否かを判定する。そして、配信部302は、配信ストリーム情報が動画ストリームiのidを含んでいると判定した場合には、ステップS1404に処理を進め、配信ストリーム情報が動画ストリームiのidを含んでいないと判定した場合には、ステップS1405に処理を進める。ステップS1405において、配信部302は、動画ストリームiの終了要求を撮像処理部303に出力し、ステップS1404に処理を進める。ステップS1404において、配信部302は、変数iが動画ストリーム総数と同じでない場合には、変数iをインクリメントし、ステップS1402に処理を戻し、変数iが動画ストリーム総数と同じである場合には、図8のステップS808に処理を進める。
配信部302は、ステップS1400では、発生イベントが初期化セグメント配信要求イベントであるか否かを判定する例を説明した。しかし、ステップS1301とS1302との間に、クライアント102およびクライアント102以外のクライアントが動画ストリーム1以外の動画ストリームの初期化セグメントを要求する場合がある。その場合の配信遅延を最適にするために、配信部302は、ステップS1400で、発生イベントが最初のセグメントの配信要求イベントであるか否かを判定するようにしてもよい。
配信部302は、特定の動画ストリーム(初期化セグメント/セグメント)の配信要求を受信すると、MPDファイル400内の動画ストリームのうちの上記の特定の動画ストリーム以外の動画ストリームの生成終了要求を撮像処理部303に対して行う。
このように、撮像装置101は、MPDファイル400の配信要求が行われた時点で、全ての動画ストリームを開始し、クライアント102が初期化セグメントの配信要求を行うと、配信する動画ストリーム以外の動画ストリームを終了する。これにより、撮像装置101の単位時間当たりのメモリ使用量を低減しつつ、撮像装置101は、クライアント102に対して、短い遅延で動画配信することができる。
(第6の実施形態)
図15は、本発明の第6の実施形態に係る配信部302がMPD配信要求イベントを受信した時の処理例を示すフローチャートである。第6の実施形態における配信部302は、第1の実施形態における配信部302のステップS803〜S805の処理を、ステップS1500〜S1505の処理に置き換える。第6の実施形態と第1の実施形態で共通している部分の説明は省略し、第6の実施形態と第1の実施形態で異なる部分について説明を行う。
図15は、MPDファイル400に定義される動画ストリームが1つである場合に、配信部302が動画ストリームの開始要求を行う処理を示すフローチャートである。ステップS1500において、配信部302は、MPDファイル400に定義されている動画ストリームが1つであるか否かを判定する。そして、配信部302は、動画ストリームが1つであると判定した場合には、ステップS1501に処理を進め、動画ストリームが1つでないと判定した場合には、ステップS1505に処理を進める。
ステップS1501において、配信部302は、複数ストリームフラグをオフにする。次に、ステップS1502において、配信部302は、MPDファイル400に記載されている動画ストリームが既に開始しているか否かを判定する。そして、配信部302は、動画ストリームが既に開始していると判定した場合には、ステップS1503に処理を進め、動画ストリームが開始していないと判定した場合には、ステップS1504に処理を進める。
ステップS1503において、配信部302は、撮像処理部303に対して、動画ストリームのIフレームの生成要求を出力し、図8のステップS800に処理を戻す。ステップS1504において、撮像処理部303に対して、動画ストリームの開始要求を出力し、図8のステップS800に処理を戻す。ここで、ステップS1504では、配信部302は、動画ストリームの開始要求を出力しているが、図5で説明した通り、動画ストリームの開始後に生成される最初のフレームとしてIフレームの生成が行われる。ステップS1502にて、既に動画ストリームを開始している場合の例としては、クライアント102が最初のステップS1500〜S1502およびS1504を既に完了している場合が挙げられる。また、クライアント102以外のクライアントが撮像装置101に接続し、ステップS1500〜S1502およびS1504を既に完了している場合が挙げられる。ステップS1505において、配信部302は、複数ストリームフラグをオンにし、図8のステップS800に処理を戻す。
図16は、配信部302が初期化セグメント配信要求イベントを受信した時の処理例を示すフローチャートである。第6の実施形態における配信部302は、第1の実施形態における配信部302のステップS807の処理の直前に、ステップS1600〜S1604の処理を追加して行う。配信部302は、初期化セグメント配信要求イベントをクライアント102から受信した際に、動画ストリームの開始要求を行う。
ステップS1600において、発生イベントが初期化セグメント配信要求イベントであるか否かを判定する。そして、配信部302は、発生イベントが初期化セグメント配信要求イベントであると判定した場合には、ステップS1601に処理を進め、発生イベントが初期化セグメント配信要求イベントでないと判定した場合には、図8のステップS807に処理を進める。
ステップS1601において、配信部302は、複数ストリームフラグがオンであるか否かを判定する。そして、配信部302は、複数ストリームフラグがオンであると判定した場合には、ステップS1602に処理を進め、複数ストリームフラグがオンでないと判定した場合には、図8のステップS800に処理を戻す。
ステップS1602において、配信部302は、ステップS1600にて判定された初期化セグメントの動画ストリームが既に開始しているか否かを判定する。そして、配信部302は、動画ストリームが既に開始していると判定した場合には、ステップS1603に処理を進め、動画ストリームが開始していないと判定した場合には、ステップS1604に処理を進める。
ステップS1603において、配信部302は、撮像処理部303に対して、ステップS1600にて判定された初期化セグメントの動画ストリームのIフレームの生成要求を出力し、図8のステップS807に処理を進める。ステップS1604において、配信部302は、撮像処理部303に対して、ステップS1600にて判定された初期化セグメントの動画ストリームの開始要求を出力し、図8のステップS807に処理を進める。ここで、ステップS1604では、配信部302は、動画ストリームの開始要求を出力しているが、図5で説明した通り、動画ストリームの開始後に生成される最初のフレームとしてIフレームの生成が行われる。
以上のように、配信部302は、MPDファイル400に1つの動画ストリームに係る情報が示されている場合には、特定の動画ストリーム(初期化セグメント/セグメント)の配信要求を受信する前に、その1つの動画ストリームのIフレームの生成要求を行う。具体的には、配信部302は、MPDファイル400に示される1つの動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を撮像処理部303に対して行う。
また、配信部302は、MPDファイル400に複数の動画ストリームに係る情報が示されている場合には、特定の動画ストリーム(初期化セグメント/セグメント)の配信要求を受信した後に、特定の動画ストリームのIフレームの生成要求を行う。具体的には、配信部302は、特定の動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を撮像処理部303に対して行う。
このように、撮像装置101は、クライアント102に配信する動画ストリームが特定できた時点で、当該動画ストリームを開始することにより、撮像装置101のメモリ使用量を最小限にすることができる。
(その他の実施形態)
以上、説明した実施形態では、DASH配信を例に説明したが、HLS配信など他のアダプティブストリーミング技術にも適用可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
101 撮像装置、302 配信部、303 撮像処理部、304 管理部

Claims (10)

  1. 動画ストリームを生成して配信する撮像装置であって、
    複数の動画ストリームに係る情報を示すことが可能なプレイリストの配信要求を受信すると、前記プレイリストを配信する配信手段と、
    前記プレイリストの配信要求を受信すると、特定の動画ストリームの配信要求を受信する前に、前記プレイリスト示される複数の動画ストリームに対応する複数の動画フレームをフレーム内符号化によって符号化する符号化手段と
    前記複数の動画ストリームの生成を制御する制御手段とを有し、
    前記配信手段は、前記複数の動画ストリームの内の特定の動画ストリームの配信要求を受信すると、前記特定の動画ストリームに対応する、前記フレーム内符号化によって符号化された動画フレームを含む動画ストリームを配信し、
    前記制御手段は、前記特定の動画ストリームの配信要求が受信されると、前記プレイリストで示される前記複数の動画ストリームのうちの前記特定の動画ストリーム以外の動画ストリームの生成を終了させることを特徴とする撮像装置。
  2. 前記符号化手段は、撮像された動画フレームをフレーム内符号化またはフレーム間符号化によって符号化し、
    さらに、前記符号化された動画フレームのセグメントを生成する生成手段を有し、
    前記配信手段は、前記特定の動画ストリームの配信要求を受信すると、前記セグメントを配信することを特徴とする請求項1に記載の撮像装置。
  3. 前記動画ストリームに係る情報は、動画の解像度、符号化方式、配信ビットレート、およびフレームレートのうちの少なくとも1つを含むことを特徴とする請求項1または2に記載の撮像装置。
  4. 前記配信手段は、前記プレイリストで示される全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を同時または順に前記符号化手段に対して行うことを特徴とする請求項1〜3のいずれか1項に記載の撮像装置。
  5. 前記配信手段は、前記プレイリストで示される全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を、配信ビットレートの低い順で前記符号化手段に対して行うことを特徴とする請求項1〜3のいずれか1項に記載の撮像装置。
  6. 前記配信手段は、前記プレイリストで示される全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を、配信頻度が高い順で前記符号化手段に対して行うことを特徴とする請求項1〜3のいずれか1項に記載の撮像装置。
  7. 前記配信手段は、前記プレイリストで示される全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を前記符号化手段に対して行った後、前記特定の動画ストリームの配信要求の受信の待ち時間が閾値以上になった場合には、再び、前記プレイリストで示される全ての動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を前記符号化手段に対して行うことを特徴とする請求項4〜6のいずれか1項に記載の撮像装置。
  8. 前記配信手段は、前記プレイリスト1つの動画ストリームに係る情報が示されている場合には、前記特定の動画ストリームの配信要求を受信する前に、前記プレイリスト示される1つの動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を前記符号化手段に対して行い、前記プレイリスト複数の動画ストリームに係る情報が示されている場合には、前記特定の動画ストリームの配信要求を受信した後に、前記特定の動画ストリームのフレーム内符号化によって符号化される動画フレームの生成要求を前記符号化手段に対して行うことを特徴とする請求項1〜3のいずれか1項に記載の撮像装置。
  9. 動画ストリームを生成して配信する撮像装置の処理方法であって、
    配信手段により、複数の動画ストリームに係る情報を示すことが可能なプレイリストの配信要求を受信すると、前記プレイリストを配信する第1の配信ステップと、
    符号化手段により、前記プレイリストの配信要求を受信すると、特定の動画ストリームの配信要求を受信する前に、前記プレイリスト示される複数の動画ストリームに対応する複数の動画フレームをフレーム内符号化によって符号化する符号化ステップと、
    前記配信手段により、前記複数の動画ストリームの内の特定の動画ストリームの配信要求を受信すると、前記特定の動画ストリームに対応する、前記フレーム内符号化によって符号化された動画フレームを含む動画ストリームを配信する第2の配信ステップと
    制御手段により、前記特定の動画ストリームの配信要求が受信されると、前記プレイリストで示される前記複数の動画ストリームのうちの前記特定の動画ストリーム以外の動画ストリームの生成を終了させる制御ステップと
    を有することを特徴とする撮像装置の処理方法。
  10. 複数の動画ストリームに係る情報を示すことが可能なプレイリストの配信要求を受信すると、前記プレイリストを配信する第1の配信ステップと、
    前記プレイリストの配信要求を受信すると、特定の動画ストリームの配信要求を受信する前に、前記プレイリスト示される複数の動画ストリームに対応する複数の動画フレームをフレーム内符号化によって符号化する符号化ステップと、
    前記複数の動画ストリームの内の特定の動画ストリームの配信要求を受信すると、前記特定の動画ストリームに対応する、前記フレーム内符号化によって符号化された動画フレームを含む動画ストリームを配信する第2の配信ステップと
    前記特定の動画ストリームの配信要求が受信されると、前記プレイリストで示される前記複数の動画ストリームのうちの前記特定の動画ストリーム以外の動画ストリームの生成を終了させる制御ステップと
    をコンピュータに実行させるためのプログラム。
JP2017120595A 2017-06-20 2017-06-20 撮像装置、撮像装置の処理方法およびプログラム Active JP6797755B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017120595A JP6797755B2 (ja) 2017-06-20 2017-06-20 撮像装置、撮像装置の処理方法およびプログラム
EP18169475.3A EP3419294B1 (en) 2017-06-20 2018-04-26 Imaging apparatus, processing method for imaging apparatus, and storage medium
US16/010,154 US10951887B2 (en) 2017-06-20 2018-06-15 Imaging apparatus, processing method for imaging apparatus, and storage medium
CN201810638768.XA CN109104552B (zh) 2017-06-20 2018-06-20 摄像设备、摄像设备的处理方法和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017120595A JP6797755B2 (ja) 2017-06-20 2017-06-20 撮像装置、撮像装置の処理方法およびプログラム

Publications (3)

Publication Number Publication Date
JP2019009492A JP2019009492A (ja) 2019-01-17
JP2019009492A5 JP2019009492A5 (ja) 2020-02-06
JP6797755B2 true JP6797755B2 (ja) 2020-12-09

Family

ID=62067472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017120595A Active JP6797755B2 (ja) 2017-06-20 2017-06-20 撮像装置、撮像装置の処理方法およびプログラム

Country Status (4)

Country Link
US (1) US10951887B2 (ja)
EP (1) EP3419294B1 (ja)
JP (1) JP6797755B2 (ja)
CN (1) CN109104552B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7327953B2 (ja) * 2019-03-11 2023-08-16 キヤノン株式会社 動画配信装置、動画配信方法及びプログラム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10257466A (ja) * 1997-03-12 1998-09-25 Matsushita Electric Ind Co Ltd 有料放送送信システムおよび方法
JP2000312360A (ja) * 1999-04-27 2000-11-07 Matsushita Electric Ind Co Ltd 情報提供装置
JP4721028B2 (ja) 2001-05-22 2011-07-13 株式会社メガチップス 動画像配信システム、動画像配信方法及びそれらのプログラム
US9314691B2 (en) 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
US7936819B2 (en) * 2005-07-08 2011-05-03 Tag Networks, Inc. Video encoder with latency control
JP2008079061A (ja) * 2006-09-22 2008-04-03 Matsushita Electric Ind Co Ltd 画像ストリーミングシステム
EP2201723B1 (en) 2007-09-11 2011-01-12 Nxp B.V. Method of transcoding content, transcoder unit, and UPnP network system
GB201105502D0 (en) * 2010-04-01 2011-05-18 Apple Inc Real time or near real time streaming
KR101528991B1 (ko) * 2011-01-11 2015-06-15 애플 인크. 실시간 또는 준 실시간 스트리밍
US8769576B2 (en) * 2011-04-01 2014-07-01 Mixaroo, Inc. System and method for real-time processing, storage, indexing, and delivery of segmented video
US8813116B2 (en) * 2011-04-27 2014-08-19 Morega Systems Inc. Adaptive video server with virtual file system and methods for use therewith
MX339710B (es) * 2012-06-22 2016-06-07 Panasonic Ip Corp America Metodo de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de codificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
JP6139872B2 (ja) * 2012-12-10 2017-05-31 キヤノン株式会社 情報処理装置及びその制御方法、プログラム、記憶媒体、並びに、映像処理システム
JP6116240B2 (ja) * 2012-12-28 2017-04-19 キヤノン株式会社 送信装置、送信方法、及びプログラム
US8869218B2 (en) * 2013-03-15 2014-10-21 Wowza Media Systems, LLC On the fly transcoding of video on demand content for adaptive streaming
WO2014145011A2 (en) * 2013-03-15 2014-09-18 General Instrument Corporation Method and apparatus for streaming video
US9674251B2 (en) * 2013-06-17 2017-06-06 Qualcomm Incorporated Mediating content delivery via one or more services
WO2014204366A1 (en) * 2013-06-19 2014-12-24 Telefonaktiebolaget L M Ericsson (Publ) Arrangements and method thereof for a channel change during streaming
CN105532013B (zh) 2013-07-12 2018-12-28 佳能株式会社 利用推送消息控制的自适应数据流传输方法
US9462306B2 (en) 2013-07-16 2016-10-04 The Hong Kong University Of Science And Technology Stream-switching in a content distribution system
US20160073106A1 (en) 2014-09-08 2016-03-10 Apple Inc. Techniques for adaptive video streaming
CN104735470B (zh) 2015-02-11 2018-06-19 海信集团有限公司 一种流媒体数据传输方法及装置
US10051294B2 (en) * 2015-03-31 2018-08-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Compressed video buffering
US10025796B2 (en) * 2015-04-29 2018-07-17 Box, Inc. Operation mapping in a virtual file system for cloud-based shared content
DK3107261T3 (da) * 2015-06-18 2020-05-04 Sky Italia S R L System, fremgangsmåde og indretninger til transmission med lav latens
US10582201B2 (en) * 2016-05-19 2020-03-03 Qualcomm Incorporated Most-interested region in an image
US10148989B2 (en) * 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US10063612B2 (en) * 2016-09-30 2018-08-28 Amazon Technologies, Inc. Request-based encoding for streaming content portions

Also Published As

Publication number Publication date
CN109104552A (zh) 2018-12-28
EP3419294B1 (en) 2020-11-18
CN109104552B (zh) 2021-10-08
US10951887B2 (en) 2021-03-16
US20180367792A1 (en) 2018-12-20
JP2019009492A (ja) 2019-01-17
EP3419294A1 (en) 2018-12-26

Similar Documents

Publication Publication Date Title
US11470405B2 (en) Network video streaming with trick play based on separate trick play files
RU2652099C2 (ru) Устройство передачи, способ передачи, устройство приема и способ приема
US9288250B2 (en) Mobile multimedia real-time transcoding system, apparatus, storage medium and method
CN107615756B (zh) 一种用于实现快速平滑视点切换的视频服务器、方法及视频系统
US20080143875A1 (en) Method and system for synchronous video capture and output
US20140359678A1 (en) Device video streaming with trick play based on separate trick play files
US20130104177A1 (en) Distributed real-time video processing
WO2017138387A1 (ja) 情報処理装置および情報処理方法
KR102362513B1 (ko) 타임 슬라이스 영상을 생성하는 서버, 방법 및 사용자 단말
CN108702478B (zh) 文件生成装置、文件生成方法、再现装置和再现方法
CN108702534B (zh) 文件生成装置、文件生成方法以及再现装置和再现方法
CN111447503A (zh) 一种多视点视频的视点切换方法、服务器和系统
CN108696505B (zh) 视频分发设备、视频接收设备、视频分发方法和记录介质
US10469860B1 (en) Chunk parallel transcoding using overlapping frames
JP2001245281A (ja) ネットワークシステム
JP6797755B2 (ja) 撮像装置、撮像装置の処理方法およびプログラム
JP2020113922A (ja) 動画配信装置、動画配信方法及びプログラム
KR101452269B1 (ko) 콘텐트 가상 세그멘테이션 방법과, 이를 이용한 스트리밍 서비스 제공 방법 및 시스템
US11496535B2 (en) Video data transmission apparatus, video data transmitting method, and storage medium
JP2007267144A (ja) 情報配信方法、サーバ装置およびプログラム
KR101568317B1 (ko) Ip 카메라에서 hls 프로토콜을 지원하는 시스템 및 그 방법
JP5358916B2 (ja) コンテンツ配信装置およびコンテンツ配信方法
KR20210130092A (ko) 서버 디바이스, 정보 처리 방법, 및 비일시적 컴퓨터 판독가능 기록 매체
KR20210004877A (ko) 미디어 데이터 프로세싱 방법 및 장치
JP2019114926A (ja) 映像処理装置、映像処理方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191217

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200925

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201118

R151 Written notification of patent or utility model registration

Ref document number: 6797755

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151