JP6610555B2 - 受信装置、送信装置、およびデータ処理方法 - Google Patents
受信装置、送信装置、およびデータ処理方法 Download PDFInfo
- Publication number
- JP6610555B2 JP6610555B2 JP2016555190A JP2016555190A JP6610555B2 JP 6610555 B2 JP6610555 B2 JP 6610555B2 JP 2016555190 A JP2016555190 A JP 2016555190A JP 2016555190 A JP2016555190 A JP 2016555190A JP 6610555 B2 JP6610555 B2 JP 6610555B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- application
- segment
- reception
- processing
- 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.)
- Expired - Fee Related
Links
- 230000005540 biological transmission Effects 0.000 title claims description 66
- 238000003672 processing method Methods 0.000 title claims description 17
- 238000012545 processing Methods 0.000 claims description 266
- 238000000034 method Methods 0.000 claims description 183
- 230000008569 process Effects 0.000 claims description 176
- 239000000872 buffer Substances 0.000 claims description 120
- 230000006854 communication Effects 0.000 claims description 87
- 238000004891 communication Methods 0.000 claims description 87
- 238000003780 insertion Methods 0.000 claims description 5
- 230000037431 insertion Effects 0.000 claims description 5
- 230000011664 signaling Effects 0.000 description 33
- 230000015572 biosynthetic process Effects 0.000 description 31
- 238000003786 synthesis reaction Methods 0.000 description 31
- 230000003044 adaptive effect Effects 0.000 description 28
- 230000033458 reproduction Effects 0.000 description 27
- 238000007726 management method Methods 0.000 description 14
- 239000000203 mixture Substances 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000002194 synthesizing effect Effects 0.000 description 8
- 239000002131 composite material Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 230000002085 persistent effect Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4431—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23614—Multiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
- H04N21/4316—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4622—Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/64322—IP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8173—End-user applications, e.g. Web browser, game
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2668—Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Marketing (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Library & Information Science (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
- Circuits Of Receivers In General (AREA)
Description
このような問題を解決するため、複数のビットレートのデータの細分化ファイルであるセグメントをネットワーク上に送信し、ネットワーク状況に応じてクライアント側で最適なビットレートのセグメントを選択して再生するアダプティブ(適応型)ストリーミングが提案されている。
MPEG−DASH規格には、以下の2つの規格が含まれる。
(a)動画や音声ファイルの管理情報であるメタデータを記述するためのマニフェスト・ファイル(MPD:Media Presentation Description)に関する規格。
(b)動画コンテンツ伝送用のファイル・フォーマット(セグメント・フォーマット)に関する規格。
MPEGデータをDASHに従ってストリーミング配信する場合は、このMPEG−DASH規格に従った処理が行われる。
上記アダプティブ(適応型)ストリーミングもHTML5アプリケーションのJavaScript(登録商標)によって制御が行われる。
WWW(World Wide Web)利用技術の国際的標準化団体であるW3C(World Wide Web Consortium)は、このためのAPI(Application Programming Interface)の標準規格として、MSE(Media Source Extentions)−APIを規定している。
このMSE−APIを利用することで、アダプティブストリーミングのみならず、アプリケーションがユーザの属性に合わせた広告をコンテンツに挿入を行うことも可能である。
これは、例えば、MSE−APIでは、アプリケーションがチューナー受信データとネットワーク受信データを処理し、さらに合成処理において実行される様々なデータ処理の処理時間に起因する。
また、広告挿入において複数のHTML5ビデオをタイミングを合わせて重畳表示する場合でも、アプリケーションの制御によって放送番組の映像、音声と広告の映像、音声の出力タイミングを正確に合わせることは難しい。
これは、HTML5ブラウザ等のアプリケーション実行環境では、アプリケーションが一秒以下の精度でタイミング合わせをするようなリアルタイム処理に適さないという問題に起因する。
受信装置の受信データのバッファ処理を、受信装置が実行するアプリケーションのメディア再生の処理オブジェクトであるメディアソースオブジェクトとして開示するデータ処理部を有する受信装置にある。
受信装置において利用されるアプリケーションを送信する通信部を有し、
前記アプリケーションは、受信装置における受信データのバッファ処理を開示するメディアソースオブジェクトを利用して、受信データとアプリケーションの受信データとの合成処理を実行させるアプリケーションである送信装置にある。
受信装置において実行するデータ処理方法であり、
前記受信装置のデータ処理部が、受信データを受信装置が実行するアプリケーションのメディア再生の処理オブジェクトであるメディアソースオブジェクトに設定するデータ処理方法にある。
送信装置において実行するデータ処理方法であり、
送信装置の通信部が、受信装置において利用されるアプリケーションを送信し、
前記アプリケーションは、受信装置における受信データのバッファ処理を開示するメディアソースオブジェクトを利用して、受信データとアプリケーションの受信データとの合成処理を実行させるアプリケーションであるデータ処理方法にある。
具体的には、例えば受信装置が通信部を介して受信する放送受信データの処理を、HTML5ブラウザのMSE API(Application Programming Interface)を適用して、受信装置の実行するアプリケーションの処理オブジェクトであるメディアソースオブジェクトとしてアプリケーションが制御可能なように設定する。アプリケーションは、メディアソースオブジェクトに対する処理として、放送受信データのメディアソースオブジェクトをHTML5のビデオオブジェクトに設定し、放送受信データの映像音声再生をアプリケーションから制御する。アプリケーションは放送受信データのメディアソースオブジェクトを利用して前記放送受信データと、ネットワークを介して受信するネットワーク受信データとの合成処理の制御を実行する。アプリケーションは、API適用処理によってアプリケーション時間軸と放送時間軸の時間差に相当する時間オフセットを取得し、高精度、低遅延のデータ合成処理の制御を実行する。
本構成により、放送受信データとネットワーク受信データの合成処理および出力処理を低遅延、高精度に行うことが可能となる。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
1.通信システムの構成例について
2.データ通信プロトコルFLUTE、およびROUTEについて
3.送信装置と受信装置の実行する通信処理例について
4.サービスワーカー(SW)について
5.放送波とネットワーク双方の受信データの合成処理について
6.放送波とネットワーク双方の受信データの合成処理における遅延を解消または減少させた実施例について
7.受信装置におけるデータ受信および合成処理に適用するハードウェア構成例について
8.受信装置の実行する処理のシーケンスについて
9.サービスワーカー(SW)とアプリケーションを利用した処理例について
10.送信装置と受信装置の構成例について
11.本開示の構成のまとめ
まず、図1を参照して本開示の処理を実行する通信システムの一構成例について説明する。
図1に示すように、通信システム10は、画像データや音声データ等のコンテンツを送信する通信装置である送信装置20と、送信装置20の送信するコンテンツを受信する通信装置である受信装置30を有する。
一方、受信装置30は、一般ユーザのクライアント装置であり、具体的には、例えばテレビ31、PC32、携帯端末33等によって構成される。
MPEG−DASH規格には、以下の2つの規格が含まれる。
(a)動画や音声ファイルの管理情報であるメタデータを記述するためのマニフェスト・ファイル(MPD:Media Presentation Description)に関する規格、
(b)動画コンテンツ伝送用のファイル・フォーマット(セグメント・フォーマット)に関する規格、
送信装置20から、受信装置30に対するコンテンツ配信は、上記のMPEG−DASH規格に従って実行する。
MPEG−DASH規格に従ってデータ送信を実行する送信装置20は、図2に示すように、大きく分けて以下の複数種類のデータの送信を行う。
(a)シグナリングデータ50
(b)AVセグメント60
(c)その他のデータ(ESG,NRTコンテンツ等)70
受信装置30は、このシグナリングデータ50を、再生対象となる番組コンテンツを格納したAVセグメント60の受信に先行して受信することが必要となる。
このシグナリングデータ50は、例えばXML(Extensible Markup Language)形式のデータとして、スマホやテレビ等のユーザ端末である受信装置(クライアント)に送信される。
これは、受信装置(クライアント)が、いつでも、即座にシグナリングデータを取得することを可能とするためである。
クライアント(受信装置)は、随時、受信可能なシグナリングデータに基づいて、必要な番組コンテンツのアクセス用アドレスの取得や、コーデック設定処理など、番組コンテンツの受信および再生に必要な処理を遅滞なく実行することが可能となる。
ESGは、電子サービスガイド(Electronic Service Guide)であり、例えば番組表等の案内情報である。
NRTコンテンツはノンリアルタイム型のコンテンツである。
後述するアプリケーション等の制御プログラムとして利用されるサービスワーカー(Service Worker)も、NRTコンテンツに含まれる。
(a)シグナリングデータ50
(b)AVセグメント60
(c)その他のデータ(ESG,NRTコンテンツ等)70
これらのデータは、例えば、データ通信プロトコル:FLUTE(File Delivery over Uni−directional Transport)に従って送信される。
データ通信プロトコル:FLUTE(File Delivery over Uni−directional Transport)はマルチキャストにより伝送するコンテンツのセッション管理を行うプロトコルである。
例えば送信装置であるサーバ側で生成されるファイル(URLとバージョンで識別される)は、FLUTEプロトコルに従って、受信装置であるクライアントに送信される。
同じURLでバージョンが異なるものはファイルの中身が更新されているものとみなす。FLUTEプロトコルは一方向ファイル転送制御のみを行うもので、クライアントにおけるファイルの選択的なフィルタリング機能はないが、FLUTEで転送制御するファイルをそのファイルに紐づけられるメタデータを利用して、クライアント側で取捨選択することにより、選択的なフィルタリングを実現し、ユーザの嗜好を反映したローカルキャッシュを構成・更新管理することが可能となる。
なお、メタデータは、FLUTEプロトコルに拡張して組み込むこともできるし、別途ESG(Electronic Service Guide)等のプロトコルで記述することもできる。
次に、送信装置と受信装置の実行する通信処理例について説明する。
図3は、送信装置および受信装置のプロトコルスタックの例を示す図である。
図3に示す例は、以下の2つの通信データの処理を行なうための2つのプロトコルスタックを有する。
(a)ブロードキャスト(マルチキャストも含む)通信(例えば放送型データ配信)
(b)ユニキャスト(ブロードバンド)通信(例えばHTTP型のクライアントサーバ型通信)
図3の右側が、(b)ユニキャスト(ブロードバンド)通信(例えばHTTP型のクライアントサーバ型通信)に対応するプロトコルスタックである。
(1)ブロードキャスト物理レイヤ(Broadcast PHY)
(2)IPマルチキャストレイヤ(IP Multicast)
(3)UDPレイヤ
(4)ROUTE(=拡張型FLUTE)レイヤ
(5)ESG,NRTcontent,DASH(ISO BMFF)およびVideo/Audio/CC
(6)アプリケーションレイヤ(Applications(HTML5))
シグナリングレイヤは、先に図2を参照して説明したシグナリングデータ50の送受信に適用されるレイヤである。シグナリングデータには、番組表等の番組予定情報や、番組取得に必要となるアドレス情報(URL等)、さらにコンテンツの再生処理に必要な情報、例えばコーデック情報(符号化方式など)などからなる案内情報、制御情報などが含まれる。
なお、(1)ブロードキャスト物理レイヤ(Broadcast PHY)の上位レイヤとして将来の新たなプロトコルの利用許容レイヤ(Future Extensibility)が設定されている。
(2)IPマルチキャストレイヤ(IP Multicast)は、IPマルチキャストに従ったデータ送受信処理を実行するレイヤである。
(3)UDPレイヤは、UDPパケットの生成、解析処理レイヤである。
ROUTEは、FLUTEと同様、ALCと呼ばれるスケーラブルなファイルオブジェクトのマルチキャストプロトコルであり、具体的にはそのビルディングブロックであるLCTやFECコンポーネントの組み合わせにより構成される。
MBMSやeMBMSは、同報型配信サービスであり、特定のエリア内に位置する受信装置である複数のユーザ端末(UE)に対して共通のベアラで一斉に同一データ、例えば映画コンテンツなどを配信するサービスである。MBMSやeMBMSに従った同報配信により、配信サービス提供エリアに位置する多数のスマホやPC、あるいはテレビ等の受信装置に、同じコンテンツを同時に提供することができる。
(a)シグナリングデータ50
(b)AVセグメント60
(c)その他のデータ(ESG、NTRコンテンツ等)70
これらのデータの多くはROUTEプロトコル、またはFLUTEプロトコルに従って送信される。
前述したように、NRTコンテンツには、例えば、クライアントである受信装置のブラウザ上で実行される様々なアプリケーションファイル、動画、静止画等のデータファイル等が含まれる。さらに、後述するアプリケーション等の制御プログラムとして利用されるサービスワーカー(Service Worker(SW))も、NRTコンテンツに含まれる。
Video/Audio/CCは、DASH規格に従って配信されるビデオやオーディオ等、再生対象となる実データである。
(1)ブロードバンド物理レイヤ(Broaband PHY)
(2)IPユニキャストレイヤ(IP Unicast)
(3)TCPレイヤ
(4)HTTPレイヤ
(5)ESG,Signaling,NRTcontent,DASH(ISO BMFF)およびVideo/Audio/CC
(6)アプリケーションレイヤ(Applications(HTML5))
(2)IPユニキャストレイヤ(IP Unicast)は、IPユニキャスト送受信処理を実行するレイヤである。
(3)HTTPレイヤは、HTTPパケットの生成、解析処理レイヤである。
この上位レイヤは、図3左側の(a)ブロードキャスト通信(例えば放送型データ配信)のスタック構成と同様である。
(a)ブロードキャスト通信(例えば放送型データ配信)
(b)ユニキャスト(ブロードバンド)通信(例えばHTTP型のP2P通信)
これら2つの通信プロトコルスタックの少なくともいずれかに従った処理を行なう。
次に、送信装置(サーバ)20が提供し、主に受信装置(クライアント)30において利用されるサービスワーカー(SW:Service Worker)について説明する。
サービスワーカー(SW)は、放送サーバ21や、データ配信サーバ22等の送信装置20から受信装置に提供される。
あるいは、放送番組を配信するサーバとは別のデータ提供サーバが、サービスワーカー(SW)、アプリケーション、およびアプリケーションの実行時に利用されるデータファイルを受信装置30に提供する構成としてもよい。
図4は、受信装置30が、放送サーバ21等の送信装置20から、ある番組コンテンツを受信し、受信装置30の表示部に表示している状態を示している。
以下では、これらのアプリケーションおよびデータファイルを「リソース」と呼ぶ。
放送サーバ21は、さらに、これらの「リソース」を管理するリソース管理プログラムとして、サービスワーカー(SW)を、やはりNRTコンテンツ(ノンリアルタイムコンテンツ)として受信装置30に提供する。
このような、アプリケーションを利用したデータ表示は、これまでのデータ配信構成では、アプリケーションの提供される番組の終了とともに実行できなくなってしまう。
なお、天気情報表示アプリケーションは、例えばブラウザ上で表示されるプログラムである。
なお、アプリケーション等のリソースを格納する記憶部(永続キャッシュ)は、受信装置30の電源がオフとなっても格納データが消去されない不揮発性メモリとすることが好ましい。
このように、サービスワーカー(SW)を利用することで、様々な番組対応アプリケーションを、番組の表示、非表示と無関係に利用することが可能となる。
サービスワーカー(SW)は、各番組対応の設定とすることもできるが、複数番組を含む特定のチャンネル対応のリソースに対して、共通に利用可能としたサービスワーカー(SW)を設定することもできる。
サービスワーカー(SW)と、サービスワーカー(SW)によって管理されるリソース(アプリケーションおよびアプリ関連データ)は、受信装置30の記憶部(永続キャッシュ)に格納される。
図6には、受信装置30が送信装置20からリソースとしてのWebページ(例えば図4、図5に示す天気情報表示ページ)を取得して受信装置30の記憶部(永続キャッシュ)に格納して利用するシーケンスの一例を示している。
なお、Webページは、所定のWebページ表示アプリケーションと、表示用データによって構成されるリソースを利用して表示される。
図6には、受信装置内表示制御部90の構成要素として表示処理部91、サービスワーカー(SW)92、キャッシュ(記憶部)93を示している。
これは、例えば放送サーバ等の送信するNRTコンテンツから取得される。
この取得処理後、表示処理部91によって、Webページ95が、受信装置30の表示部に表示される。この表示は、このWebページを提供している番組に併せて表示されている状態であり、先に図3を参照して説明した表示状態に相当する。
具体的には、ステップS104に示すようにリソースをキャッシュ93に渡し、記憶部(永続キャッシュ)に格納する処理を行なう。
サービスワーカー(SW)92は、この閲覧要求の入力をフェッチイベントとして検出し、フェッチイベント検出に応じて、ステップS106において、リソース(Webページ)を記憶部(永続キャッシュ)から取得する。
表示処理部91は、ステップS107において、Webページ96を表示する。
Webページ表示プログラムであるブラウザに一種のプロキシサーバが実装され、いつでも、必要なときにプロキシサーバ(永続キャッシュ)をアクセスしてWebページを取得して表示可能としたイメージである。
例えば、リソースへのアクセスリクエスト(リソースへのフェッチリクエスト)に応じて、ブラウザ側の処理(ローカルキャッシュやネットワークからのリソースの取得)がはじまる前に、サービスワーカー(SW)の処理が開始され、永続キャッシュからのリソースの提供が行われる。
また、サービスワーカー(SW)は、JavaScirpt(登録商標)で提供されるため、さまざまな手続きを組み込むことが可能であり、永続キャッシュのリソースの一部の更新等キャッシュ制御についての柔軟な処理記述が可能となっている。
例えば、ヘッダに設定された使用期限等に基づいて、使用期限が来ると、受信装置30は、新しいバージョンのサービスワーカ(SW)の取得処理を実行して、キャッシュに格納された旧バージョンのSWを置き換える更新処理を行なう。
受信装置30は、送信装置である放送サーバ21から放送波を介して番組コンテンツを受信し、さらに、データ配信サーバ22からネットワークを介して様々なコンテンツを受信することが可能である。受信装置30は、これらの2つの通信経路を併用して、2つの通信経路から受信したデータを合成して表示することができる。
(a)放送波を介して受信する番組コンテンツ
(b)ネットワークを介して受信する広告コンテンツ
これらの2つのデータを合成して表示する処理を行なう。
図7には、受信装置(クライアント)30の表示部に表示されるデータの時間経過に伴う推移を示している。
(1)時間t0〜t1では、放送波を介して受信する番組コンテンツを表示している。
(2)時間t1〜t2では、放送波を介して受信する番組コンテンツに、ネットワークを介して受信する広告コンテンツを重畳して表示している。
(3)時間t2〜t3では、放送波を介して受信する番組コンテンツを表示している。
受信装置30が、(2)の時間t1〜t2においてネットワークを介して受信する広告コンテンツは、受信装置30においてアプリケーションを実行している場合に受信可能なコンテンツとなる。
アプリケーションを実行していない受信装置では、放送波を介して受信するデータのみが表示される。
この他、受信装置30のアプリケーションの処理態様としては、2つの受信データの並列表示ではなく、放送波を介する受信データの一部期間のデータを、ネットワーク受信データに完全に置き換えて出力する処理も可能である。この場合は、一つの映像復号化装置にて再生可能である。
この置換表示例を図8に示す。
(2)時間t1〜t2では、ネットワークを介して受信する広告コンテンツを表示している。
(3)時間t2〜t3では、放送波を介して受信する番組コンテンツを表示している。
受信装置30が、(2)の時間t1〜t2においてネットワークを介して受信する広告コンテンツは、受信装置30がアプリケーションを実行している場合において受信可能なコンテンツとなる。
アプリケーションを実行していない受信装置では、時間t1〜t2の間に、放送波を介して受信する不特定多数向けの広告コンテンツを受信して表示する設定とすることができる。
しかし、この、放送受信データとネットワーク受信データの合成処理の処理時間が長くなると、再生遅延を発生させてしまう場合がある。
特に、例えば図8に示すように、放送受信データをネットワーク受信データに置き換えて表示する場合、合成処理に時間を要すると、図8に示す時間t1において、広告表示が実行されず、画像が途切れてしまうとっいた事態が発生する可能性がある。
以下、この問題点について説明する。
前述したように、ネットワークを介したデータ送信においては、ネットワークの輻輳等により、一定のビットレートでのデータ受信が困難となる場合がある。
このような問題を解決するため、複数のビットレートのデータの細分化ファイルであるセグメントをネットワーク上に送信し、ネットワーク状況に応じてクライアント側で最適なビットレートのセグメントを選択して再生するアダプティブ(適応型)ストリーミングが提案されている。
なお、受信装置30は、どのようなビットレートのデータが送信されるかについての情報を、送信装置20が提供するマニフェストファイルに基づいて取得することができる。
データ配信サーバ22は、配信データとして、例えばライブ映像からなるコンテンツを配信する場合、予め複数の異なるビットレートのデータを用意する。
図に示す例では、
高ビットレート(2Mbps)データ101、
中ビットレート(1.5Mbps)データ102、
低ビットレート(1Mbps)データ103、
これらのデータを配信データとする。
A1,B1,C1はすべて同一シーンのデータであり、ビットレートが異なるデータ(セグメント)として構成されている。
各セグメントは、1つのセグメント単位で復号可能なデータ、たとえばMP4ファイルを含むセグメントである。
さらに、セグメントの属性情報やURLを記述したマニフェスト・ファイル104を、ネットワークを介して受信装置30に提供する。
図に示す再生データ105が受信装置30における再生データであり、様々なビットレートのデータ(セグメント)が混在して再生される。
例えば、図7、図8を参照して説明した広告コンテンツもこのようなセグメントデータの組み合わせによって構成される。
図10に示す構成は、例えば受信装置30において実行されるブラウザによって利用されるAPI(Application Programming Interface)として実装可能なMSE(Media Source Extentions)−APIの処理構成である。
なお、オブジェクトとは、アプリケーションによる処理やアクセスが可能な要素を意味し、受信装置30の受信するデータや、記憶部に格納されるデータ、あるいは受信装置の記憶部や通信部等のハードウェアがオブジェクトに設定可能な要素となる。
メディアソース110は、例えば受信装置30の記憶部に格納されたビデオや音声データに相当する。
これら個別のソースバッファ111〜113は、メディアソース110の構成要素であり、いずれもアプリケーションによる処理対象となるオブジェクトである。
ソースバッファ111は、ビデオデータと2chオーディオデータの各セグメントを含むデータのソースバッファである。
ソースバッファ112は、ビデオデータのみ、ソースバッファ113はオーディオデータのみを格納するソースバッファである。
なお、画像出力部117には、いずれか1つのビデオデコード結果が出力され、音声出力部116にはいずれか1つのオーディオデコード結果が出力される。
どのデコード結果、すなわちどのビットレートデータを選択して出力するかは、受信装置(クライアント)30側において、ネットワーク状況や受信装置の出力部機能等に応じて決定することができる。
しかし、このようなアプリケーションがMSE APIを利用してネットワーク受信データを放送波に合成して出力する処理に時間を要すると合成画像の出力に遅延が発生する場合がある。
(A)ライブ放送での再生遅延の要因
合成処理を実行するアプリケーションは、放送波によって送信される放送ストリームを、XHR(XMLHttpRequest)によってセグメント単位で読み込む。読み込みセグメントは、図10を参照して説明したネットワーク経由の受信セグメントの格納領域を想定したオブジォェクトとしてのソースバッファに追加(Append)する。この一連の処理により遅延が生じる。
合成処理を実行するアプリケーションは、番組単位、あるいはチャンネル単位で設定されており、番組切り替え時、チャンネル切り替え時にはアプリケーションも切り替える必要がある。この切り替え処理によって遅延が発生し、また、連続して再生できなく映像が静止したり黒画像が挿入される問題がある。
図11を参照して、放送波とネットワークを介する2つの経路の受信データを合成して出力する処理と、遅延要因について説明する。
なお、以下では、放送波の受信データの一部をネットワーク受信データに置き換えて出力する場合の処理例について説明する。すなわち、図8を参照して説明したように、放送受信データの一部期間のデータをネットワーク受信データに置き換えて出力する処理例について説明する。
受信装置(クライアント)30は、放送サーバ21からの放送波を、アンテナ131を介して受信する。
さらに、データ配信サーバ22からデータ受信を行う。
データ配信サーバ22からの受信データをネットワーク受信セグメント126とする。
放送受信セグメント125は、例えば映画等の番組コンテンツであり、ネットワーク受信セグメント126は、番組コンテンツの決められたタイミングに表示する広告コンテンツであるとする。
一方、ネットワーク受信セグメント126として(c),(d)の2つのセグメントを示している。
なお、各セグメントは、各セグメント単位で復号可能な例えばMPEG圧縮されたデータ(MP4データ)である。
データの置き換えはセグメント単位で実行する。
すなわち、受信装置30における出力コンテンツを以下のセグメント列とする。
a,b,(c),(d),e,f
上記セグメント列中、セグメントa,b,e,fは、放送受信セグメントであり、セグメント(c),(d)は、ネットワーク受信セグメントである。
アプリケーション142は、例えばAPI(先に説明した図10に示すMSE−API)等を利用した処理により、放送受信セグメント125と、ネットワーク受信セグメント126との合成処理を行なう、
HTTPサーバ133にデータを格納することで、アプリケーション142は、HTTPサーバ133から、XHR(XMLHttpRequest)141を適用してセグメント単位のデータ読み込みを行うことが可能となる。
アプリケーション142によるセグメント読み込みにおいて、ネットワーク受信セグメント(c),(d)によって置き換え対象となる放送受信セグメントc,dは読み込まず、出力対象となる放送受信セグメントa,b,e,fのみの読み込み処理を行なう。
アプリケーション142は、先に図8を参照して説明した放送波として受信する番組コンテンツを非表示として、ネットワークを介して受信する広告コンテンツを番組コンテンツに置き換えたセグメント列、すなわち、
a,b,(c),(d),e,f
上記セグメント列を生成する。
a,b,(c),(d),e,f
上記セグメント列からなるメディアソース143の生成処理を実行する。
このメディアソース143は、図10に示すメディアソース110に相当する。
なお、図10に示す例では、メディアソース110には様々なビットレートのデータが混在するものとして説明したが、図11に示す例では、説明を簡略化するため、すでに出力予定の1つのビットレートが決定されており、そのビットレートのセグメントに対する処理を行うものとして説明する。
その後、メディアソース143は、データの種類に応じて振り分けられ、画像対応ソースバッファ144と、音声対応ソースバッファ145が生成される。
音声対応ソースバッファ145は、音声デコーダ136によってデコードされ、音声出力部137に出力される。
この結果として再生されるセグメントが図に示す再生セグメント127であり、放送受信セグメント125の一部のセグメントがネットワーク受信セグメント126に置き換えて再生される。
例えば図8に示す時間t0〜t3の一連のデータ表示が実行される。
このAPIの処理アルゴリズムは例えば、以下のアルゴリズムとなる。
<script>
var video=document.getElementById('v');
var mediaSource=new MediaSource();
mediaSource.addEventListener('sourceopen',onSourceOpen.bind(this, video));
video.src=window.URL.createObjectURL(mediaSource);
var videoSourceBuffer=mediaSource.addSourceBuffer('video/mp4;codecs="avc1.4d401f"');
var audioSourceBuffer=mediaSource.addSourceBuffer('audio/mp4;codecs="mp4a.40.2"')
</script>
(S1)新規のメディアソース143を作成する。
(S2)メディアソース143対応のビデオソースバッファ144と、オーディオソースバッファ145を追加し、HTML5のビデオオブジェクトにメディアバッファを設定する。
アプリケーション142は、これらのAPI処理によって生成されたメディアソース143、ビデオソースバッファ144、オーディオソースバッファ145に上述した合成セグメントを設定する処理を行なう。
これは、図11を参照して説明した一連の合成処理に時間を要してしまうということが大きな要因である。
(a)放送受信セグメント125のHTTPサーバ133に対する格納と、アプリケーション142によるHTTPサーバ133からのセグメント単位の読み込み処理
(b)アプリケーション142によるメディアソース143へセグメントデータの置き換えや追加する処理、
これらの一連の処理が遅延を発生させる大きな要因であると考えられる。
(b)の処理は、アプリケーション142が、放送受信セグメント125の一部のセグメントをネットワーク受信セグメント126に置き換えてメディアソース143を生成する処理である。
これらの処理には、所定の時間を要するため、再生遅延が避けられない状況となっていると考えられる。
さらに、アプリケーション142は、番組切り替えやチャンネル切り替え時に切り替えることが必要となる場合が多く、このアプリケーション切り替え処理時間も、さらに遅延を大きくする要因となる。HTTPサーバ133の代わりに、WebSocketサーバを利用して、アプリケーション125がWeb Socket APIによってプッシュ型のデータ送受信をすることで遅延を低減する方法も考えられるが、最低でも一つのセグメントを受信して、送信するという処理に要する時間は低減することができない。
次に、放送波とネットワーク双方の受信データの合成処理における遅延を解消または減少させた実施例について説明する。
なお、図12に示す処理も図11と同様、放送波の受信データの一部をネットワーク受信データに置き換えて出力する場合の処理、すなわち、図8を参照して説明したデータ置き換え処理を行なう場合の処理例である。
さらに、データ配信サーバ22からデータ受信を行う。
アンテナ131を介して受信するデータを放送受信セグメント125、
データ配信サーバ22からの受信データをネットワーク受信セグメント126とする。
放送波セグメント125は、例えば映画等の番組コンテンツであり、ネットワーク受信セグメント126は、番組コンテンツの決められたタイミングに表示する広告コンテンツであるとする。
一方、ネットワーク受信セグメント126として(c),(d)の2つのセグメントを示している。
なお、各セグメントは、各セグメント単位で復号可能な例えばMPEG圧縮されたデータ(MP4データ)である。
データの置き換えはセグメント単位で実行する。
すなわち、受信装置30における出力コンテンツを以下のセグメント列とする。
a,b,(c),(d),e,f
上記セグメント列中、セグメントa,b,e,fは、放送受信セグメントであり、セグメント(c),(d)は、ネットワーク受信セグメントである。
このアプリケーション212が放送受信セグメント125と、ネットワーク受信セグメント126との合成処理を行なう、
先に図11を参照して説明した構成では、放送受信セグメント125は、受信装置に設定されるプロキシサーバとしてのHTTPサーバ133に一旦、格納され、その後、アプリケーションによるサーバからのセグメント単位の読み出しが実行されていた。
この図12に示す構成では、放送受信セグメント125に対するHTTPサーバに対する格納処理や読み出し処理が実行されず、放送受信セグメント125は、そのままメディアソース213として構成される。
この時点で、メディアソース213は、図に示すセグメント列(1)のように、放送受信セグメント、a,b,c,d,e,fによって構成される。つまり、放送受信セグメントはアプリケーション212が実行されているか否かに関わらず、画像デコーダ、音声デコーダに送られ、再生されている。
a,b,(c),(d),e,f
上記セグメント列からなるメディアソース(2)となるように制御する。。
この具体的処理については、後段で説明する。
a,b,(c),(d),e,f
上記セグメント列を有するメディアソース(2)213は、データの種類に応じて振り分けられ、画像対応ソースバッファ214と、音声対応ソースバッファ215が生成される。
音声対応ソースバッファ215は、音声デコーダ223によってデコードされ、音声出力部224に出力される。
この結果として再生されるセグメントが図に示す再生セグメント225であり、放送受信セグメント125の一部のセグメントがネットワーク受信セグメント126に置き換えて再生される。
例えば図8に示す時間t0〜t3の一連のデータ表示が実行される。
この新APIの処理アルゴリズムは例えば、以下のアルゴリズムとなる。
<script>
var video=document.getElementById('v');
var tuner=navigator.tv.currentTuner();
var mediaSource=.tuner.getMediaSource();
mediaSource.addEventListener('sourceopen',onSourceOpen.bind(this,video));
video.src=window.URL.createObjectURL(mediaSource);
var videoSourceBuffer=mediaSource.sourceBuffers[0];
var audioSourceBuffer=mediaSoorce.sourceBuffers[1];
</script>
(S1)通信部(チューナー)202受信セグメント格納用のメディアソース213を取得し、アプリケーション142による参照を可能な設定とする。
(S2)メディアソース213対応のビデオソースバッファ214と、オーディオソースバッファ215を取得し、アプリケーション142による参照を可能な設定とする。メディアソース213は、HTML5のビデオオブジェクトに設定する。
すなわち、以下の処理の処理時間が不要となるため、処理遅延が解消される。
(a)放送受信セグメントのHTTPサーバに対する格納と、アプリケーションによるHTTPサーバからのセグメント単位の読み込み処理
(b)アプリケーションによるメディアソースへの放送受信セグメントの置き換えや追加処理
図12を参照して説明した処理例では、これらの一連の遅延発生要因となる処理が不要となり、この結果再生遅延を解消することができる。
また、アプリケーションは、番組切り替えやチャンネル切り替え時に切り替えることが必要となるが、放送受信セグメントによって構成されるメディアソースは、アプリ切り替えと無関係に生成されるのでのアプリケーション切り替え処理時間によって、メディアソース生成の遅延や、アプリケーションの切り替え時に放送セグメントの再生が中断される問題は発生しない。
図13には、以下の3つのデータを時系列(左から右に時間が経過)に示している。
(A)アプリケーション受信セグメント(ネットワーク受信セグメント)
(B)チューナー受信セグメント(放送受信セグメント)
(C)デコーダ入力セグメント(出力セグメント)
下段に放送時間軸(WallClock(UTC))
上段にHTML5ビデオオブジェクト時間軸(CurrentTime)
ここでは、いわゆる実時間情報に相当するウォールクロック(WallClock(UTC))を適用した例を示す。
放送波を介して受信する放送受信セグメントには、放送時間軸(WallClock(UTC))に従ったタイムスタンプが設定されている。
アプリケーション212は、HTML5ビデオ時間軸(CurrentTime)に従って処理を実行する。
図13において、HTML5ビデオ時間軸(CurrentTime)上の各時間t3h〜t5hは、HTML5ビデオ時間軸(CurrentTime)上の時間であることを示すため(h)を付記している。
(時間t1)
まず、時間t1において、受信装置は、チューナー選局を行う。例えばユーザの選択した特定のチャンネルの番組の受信を開始する。
チューナーによる番組受信の開始に併せて、
(B)チューナー受信セグメント(放送受信セグメント)が、放送サーバ21から送信され、受信装置30において順次、受信される。
(B)チューナー受信セグメント(放送受信セグメント)
は、そのまま、
(C)データコーダ入力セグメント(出力セグメント)
として設定され、チューナー受信セグメント(放送受信セグメント)がデコードされて出力(表示、音声出力)される。
時間t2において、チューナー受信番組に対応して設定されたアプリケーション(HTML5アプリ)212が起動する。
アプリケーション212の起動は、例えばチューナー受信番組、またはそのメタデータに含まれるトリガー情報に基づいて実行される。
ユーザによるアプリケーション起動指示に基づいて起動する設定も可能である。
時間t3は、時間t2におけるアプリケーション起動後、アプリケーション212による処理が開始可能となった時間である。
アプリケーション212は、この処理可能開始時間を、HTML5ビデオ時間軸の起点(currentTime=0)に設定され、HTML5ビデオ時間軸のCurrentTimeはチューナー受信番組の再生とともに更新される。。
アプリケーションの処理タイミングは、HTML5ビデオ時間(currentTime)に基づいて決定される。
これは、先に図12を参照して説明した新APIの処理によって行われる。前述したように、新APIの処理は以下の通りである。
(S1)通信部(チューナー)202受信セグメント格納用のメディアソース213を取得し、アプリケーション142による参照を可能な設定とする。
(S2)メディアソース213対応のビデオソースバッファ214と、オーディオソースバッファ215を取得し、アプリケーション142による参照を可能な設定とする。
これらのAPI処理によって、アプリケーション212は、メディアソースやソースバッファを参照して、バッファ状況の確認に基づく処理が可能となる。
ビデオソースバッファ214は、受信装置30の記憶部(バッファ)に格納されるビデオデータのみからなるセグメント列に相当する。
オーディオソースバッファ215は、受信装置30の記憶部(バッファ)に格納されるオーディオデータのみからなるセグメント列に相当する。
メディアソース213は、受信装置30の記憶部(バッファ)に格納されるビデオデータとオーディオデータを含む放送受信セグメント列に相当する。
図に示す例では、セグメント[Seg(tuner1)]が、時間t3(=t3h)以降に最初にメディアソース213に入力したチューナー受信セグメントである。
アプリケーション213は、このセグメント[Seg(tuner1)]に設定されたタイムスタンプを取得する。
アプリケーションは、このタイムスタンプ(WallClock(UTC))を用いて、放送時間軸(WallClock(UTC))と、HTML5ビデオ時間軸(currentTime)との差分(時間オフセット)である放送タイムオフセット(broadcastTimeOffset)を算出する。
すなわち、時間t3(=t3h)以降に最初にメディアソース213に入力したチューナー受信セグメント[Seg(tuner1)]に設定されたタイムスタンプの示す時間を、放送タイムオフセット(broadcastTimeOffset)とする。
UTC2014年10月3日午前7時3分40秒
であったとする。
この場合、アプリケーションは、放送タイムオフセット(broadcastTimeOffset)を上記時間に設定する。すなわち、
broadcastTimeOffset=UTC2014年10月3日午前7時3分40秒
とする。
すなわち、時間t3(=t3h)において、
HTML5ビデオ時間:currentTime=0、
放送時間:WallClock(UTC)=014年10月3日午前7時3分40秒
であり、
時間オフセット:broadcastTimeOffset=UTC2014年10月3日午前7時3分40秒は、放送時間軸(WallClock(UTC))と、HTML5ビデオ時間軸(currentTime)との差分(時間オフセット)に相当する。
すなわち、APIによる時間オフセット情報の取得処理として実行することが可能である。
その後、アプリケーションは、時間t4hにおいて、ネットワークを介した合成用セグメントの受信を開始する。すなわち、放送受信セグメントに置き換えて出力するための例えば広告コンテンツ等からなるネットワーク受信セグメントの受信処理を開始する。
マージンは、例えば、インターネットを介したデータ取得に必要な時間等によって決定することができる。
t4h=VideoAdStartTimeBefore
=t5h−Margin
=VideoAdStarttime−Margin
=t5−broadcastTimeOffset
=BroadcastAdStartTime−broadcastTimeOffset
t4h:VideoAdStartTimeBefore
t5h:VideoAdStarttime
Margin
これらの時間は、HTML5ビデオ時間軸(currentTime)に従った時間情報である。
t5:BroadcastAdStartTime
この時間は、放送時間軸(WallClock(UTC))に従った時間情報である。
broadcastTimeOffset
は、時間t3(=t3h)において算出した時間オフセットであり、
broadcastTimeOffset=UTC2014年10月3日午前7時3分40秒
である。
アプリケーション212は、ネットワークを介した合成用セグメントの受信開始時間t4hを、これらの各データを用いて算出する。
図13に示すセグメントSa1〜Sa5である。
アプリケーションは、これらのネットワーク受信セグメントSa1〜Sa5を、チューナー受信セグメントS1〜S5の位置に設定する処理を実行する。
すなわち、チューナー受信セグメントS1〜S5をネットワーク受信セグメントSa1〜Sa5に置き換える処理を行なう。
例えば、ネットワーク受信セグメントSa1は、チューナー受信セグメントS1の位置に置き換えて設定され、チューナー受信セグメントS1の出力時間(t5)に出力される。
従って、ネットワーク受信セグメントSa1の置換処理は、広告開始時間t5(=BroadcastAdStartTime=2014年10月3日午前7時16分20秒)までに完了しておくことが必要となる。
この時間は、ソースバッファのセグメント(S1)が出力される時間であり、この時間(t5)のタイムスタンプの設定されたセグメント(S1)を置換対象セグメント列の開始位置として、ネットワーク受信セグメントSa1から順次、置き換えればよい。
変換処理は以下の式に従って実行される。
=t5−(broadcastTimeOffset)
=(BroadcastAdStartTime)−(broadcastTimeOffset)
=(2014年10月3日午前7時16分20秒)−(2014年10月3日午前7時3分40秒)
=12分40秒
t5h:VideoAdStarttime
この時間は、HTML5ビデオ時間軸(currentTime)に従った時間情報である。
t5:BroadcastAdStartTime
この時間は、放送時間軸(WallClock(UTC))に従った時間情報である。
また、記憶部(バッファ)に格納された放送受信セグメントS1のタイムスタンプから取得することも可能である。
セグメントS1には出力時間を示すタイムスタンプとして、放送時間系であるウォールクロック(WallClock(UTC))に従った広告開始時間t5(=BroadcastAdStartTime=2014年10月3日午前7時16分20秒)が設定されている。
broadcastTimeOffset
は、時間t3(=t3h)において算出した時間オフセットであり、
broadcastTimeOffset=UTC2014年10月3日午前7時3分40秒
である。
12分40秒
は、HTML5ビデオ時間軸に従った時間(currentTime)、すなわちアプリケーション起動時間:t3h=0からの経過時間に相当する。
アプリケーションは、この算出時間、
currentTime=12分30秒までに、受信装置の記憶部(バッファ)に格納された放送受信セグメントS1をネットワーク受信セグメントSa1に置き換える処理を実行する。
以降のセグメントS2〜S5についても、各セグメントに設定された出力時間を示すタイムスタンプの経過前に同様の処理を実行して、ネットワーク受信セグメントSa2〜Sa5に置き換える処理を実行する。
受信装置30の記憶部に格納された放送受信セグメントのセグメントS1〜S5は、アプリケーション212の処理によって、順次、ネットワーク受信セグメントSa1〜Sa5に置き換えられ、広告開始時間t5(=BroadcastAdStartTime=2014年10月3日午前7時16分20秒)以降、置き換え後のネットワーク受信セグメントSa1〜Sa5が、順次、出力される。
この処理によって、放送波受信セグメントの一部がネットワーク受信セグメントに置き換えられ、先に図8を参照して説明したようなデータ切り換え表示が可能となる。
すなわち、放送受信データである番組コンテンツを、所定タイミングでネットワーク受信データである広告コンテンツに切り替え、その後、再度、放送受信データである番組コンテンツに切り替えるデータ出力処理が可能となる。
アプリケーション212は、バッファされた放送受信セグメントS1〜S5のタイムスタンプを確認し、それぞれのタイムスタンブ設定時間までに、置換処理を完了させる。
アプリケーション212は、タイムスタンブ設定時間を、前述の時間(t3h)において算出した時間オフセット:broadcastTimeOffset=UTC2014年10月3日午前7時3分40秒を考慮して、HTML5ビデオ時間軸(currentTime)に従った時間情報に変換する。
この変換処理によって、生成した時間に基づいて、各セグメントの置換処理を各セグメントの出力開始時間までに完了させる。
この処理によって、放送波受信セグメントの一部がネットワーク受信セグメントに置き換えられ、先に図8を参照して説明したようなデータ切り換え表示が可能となる。
すなわち、放送受信データである番組コンテンツを、所定タイミングでネットワーク受信データである広告コンテンツに切り替え、その後、再度、放送受信データである番組コンテンツに切り替えるデータ出力処理が可能となる。
アプリケーション212は、ソースバッファのセグメントの置き換えを伴うソースバッファ更新処理によって、放送波受信セグメントのみからなるソースバッファの一部のセグメントを、ネットワーク受信セグメントに置き換える。
このソースバッファ更新処理は、HTTPサーバに対するデータ格納、読み出し処理に比較して極めて短時間の処理として実行することが可能であり、置き換えられたセグメントの出力を遅延なく実行することが可能となる。
次に、図14を参照して受信装置におけるデータ受信および合成処理に適用するハードウェア構成例について説明する。
(a)ネットワークおよび放送波を介したデータ受信処理、
(b)受信データに基づくデータ合成処理(セグメント合成処理)を実行して表示部等の出力部に出力するデータの生成処理、
これらの処理を実行する受信装置30のハードウェア構成例を示す図である。
放送受信データ処理部310、ネットワーク受信データ処理部330、さらに。メタデータ(シグナリング)処理部321、バッファ管理部322、合成部341を有する。
放送受信データ処理部310は、チューナー311、記憶部(バッファ)312、デコーダ&レンダラー313を有する。
また、ネットワーク受信データ処理部330は、ネットワークI/F331、HTアプリケーション実行部(HTML5ブラウザ)332、グラフィックシステム(HTMLページ出力部)333を有する。
アプリケーション実行部332の生成したデータが、グラフィックスシステム(HTMLページ生成部)333に渡され、生成されたHTMLページが合成部341に出力される。
合成部341において、放送受信データ処理部の生成した出力データとの合成処理がなされて合成画像の出力が実行される。
放送受信セグメントは、すべて記憶部(バッファ)312に格納される。
記憶部(バッファ)312の格納データは、図12に示すアプリケーション212の処理対象オブジェクトであるメディアソース213、ソースバッファ214,215を構成するデータである。
前述したように、アプリケーション212は、新APIの処理によって、記憶部(バッファ)312の格納データを参照することが可能となる。
図14に示すハードウェア構成では、アプリケーション実行部332は、バッファ管理部322を介してバッファ情報を取得する処理を実行する。
このメタデータ(シグナリング)には、例えば、先に図13を参照して説明した広告開始時間(t5)等の情報が含まれる。
アプリケーション実行部212は、これらの情報を適用して、先に図13を参照して説明したセグメントの置き換え処理、すなわち、記憶部(バッファ)312に格納された放送受信セグメントの一部をネットワーク受信セグメントに置き換える処理をバッファ管理部322に指示して実行させる。
このハードウェア構成例によれば、放送受信セグメントのメディアソースのバッファリング情報はAPIとしては公開されているが、放送セグメント自体はソフトウェアで実装されたブラウザに伝送されることはなく、放送受信データ処理部で処理されるためハードウェア化できるため、ソフトウェアの負荷を低減できるため、高性能なCPUや大量のメモリを必要しない低コストな実装や低消費電力化の実装が可能である。
次に、図15以下に示すフローチャートを参照して、受信装置30、および図12に示すアプリケーション212(=図14に示すアプリケーション実行部332)の実行する処理のシーケンスについて説明する。
図15に示すフローは、例えば受信装置30の記憶部に記憶されたプログラムに従って、受信装置のプログラム実行機能を持つCPU等を備えたデータ処理部の制御の下に実行される。
以下、図15に示すフローの各ステップの処理について、順次、説明する。
まず、ステップS201において、受信装置30側のユーザによって受信チャンネルの選択がなされ、選択されたチャンネルのコンテンツ(番組)の受信処理と再生処理が開始される。
このコンテンツは、放送サーバ21の送信する放送波から取得される。
なお、受信装置30は、コンテンツ(番組)の受信に併せて、コンテンツ対応のアプリケーションや、コンテンツ対応の様々なメタデータを受信する。
次に、受信装置は、ステップS101において選択され、受信、再生を開始したコンテンツ(番組)に対応して設定されたアプリケーションを起動する。例えば図12に示すアプリケーション212である。
アプリケーションの起動は、例えばチューナー受信番組、またはそのメタデータに含まれるトリガー情報に基づいて実行される。
ユーザによるアプリケーション起動指示に基づいて起動する設定としてもよい。
次に、受信装置30は、起動したアプリケーションによる処理を実行する。具体的には、ネットワークを介して受信した広告コンテンツ等のネットワーク受信データを放送受信データに置き換え、あるいは重畳するデータ合成処理を実行する。
これは、先に図12〜図14を参照して説明した処理に相当する。
このステップS203のアプリケーション処理の詳細シーケンスについては、図16〜図17に示すフローチャートを参照して後段で説明する。
ステップS204は、チャンネル切り替えの有無判定処理である。
チャンネル切り替えが発生すると、ステップS205に進み、バングミ連動のアプリケーションは終了する。アプリケーション終了後、ステップS201に戻り、切り替え後のチャンネル対応のコンテンツ(番組)の受信、再生処理を開始する。
一方、ステップS204においてチャンネル切り替え無しの判定の場合は、ステップS206に進む。その他、チャンネル切り替えが発生していないい場合でも、先に示したように受信番組のメタデータに含まれるトリガー情報に基づいて、別のアプリケーションが起動される場合もある。
ステップS206は、ユーザによる受信装置30の電源オフ動作がなされたか否かの判定処理である。
電源がオフされた場合、ステップS207に進み、コンテンツ受信、再生を終了する。併せてアプリケーションの処理も終了する。
一方、電源がオフされていない場合は、ステップS203におけるアプリケーションの処理を継続して実行する。
図16のフローのステップS301から、各ステップの処理の詳細について、順次、説明する。
なお、アプリケーションは、図12を参照して説明したアプリケーション212であり、具体的には、例えばブラウザ上で動作するHTML5アプリケーションである。
まず、アプリケーションは、ステップS301において、アプリケーションの処理対象(オブジェクト)としてHTML5ビデオオブジェクトを設定する。
これは、放送受信データとネットワーク受信データとの合成処理を可能とするための準備処理であり、アプリケーションの生成する合成データ用の処理オブジェクトとしてHTML5ビデオデータを設定する処理である。
次に、アプリケーションは、ステップS302において、アプリケーションの処理対象(オブジェクト)としてチューナーを設定する。図12に示す放送受信セラグメント125を受信する通信部(チューナー)202である。
これも、放送受信データとネットワーク受信データとの合成処理を可能とするための準備処理であり、放送受信データを受信する通信部(チューナー)202を処理対象(オブジェクト)に設定する処理である。CurrentTunerとあるのは、受信機が複数チューナーを搭載していた場合、テレビに表示されているチューナのオブジェクトを取得するという意味である。このチューナーオブジェクトはアプリケーションがチャンネル切り替えを指示するAPIとしても利用される。
なお、この処理は、前述した新APIを適用した処理として実行される。
前述した新API(MSE−API)の実行する処理アルゴリズム中の以下の処理に相当する。
tuner=navigator.tv.currentTuner();
次に、アプリケーションは、ステップS303において、ステップS320において処理対象オブジェクトに設定したチューナーオブジェクトから、チューナーメディアソースオブジェクトを取得する。
この処理は、図に示すメディアソース213の取得処理に相当する。
図12に示す通信部(チューナー)202は、放送サーバ21の送信する放送受信セグメント125を受信し、受信セグメントをメディアソースとして記憶部(バッファ)に格納された設定となる。ただし、ハードウェア構成として図14に示す様に、チューナーからの受信セグメントはアプリケーションの実行部に関わらず、記憶部(バッファ)312に放送受信セグメント125を格納し、デコーダ&レンダラ313を経て再生されている事になる。
なお、この処理も、前述した新APIを適用した処理として実行される。
前述した新APIの実行する処理アルゴリズム中の以下の処理に相当する。
mediaSource=.tuner.getMediaSource();
次に、アプリケーションは、ステップS304において、ステップS301においてアプリケーションの処理対象オブジェクトに設定したHTML5ビデオオブジェクトに、ステップS303において取得したチューナーメディアソースオブジェクトを設定する。
すなわち、アプリケーションによる合成処理の準備処理として、放送ジュシンセグメントのみから構成されるメディアソースを、HTML5ビデオオブジェクトに設定する処理である。
これは、例えば、図13に示す(B)チューナー受信セグメントのセグメントS1等を含むセグメント列(=更新前メディアソース)をHTML5ビデオオブジェクトに設定する処理である。
なお、この処理も、前述した新APIを適用した処理として実行される。
前述した新APIの実行する処理アルゴリズム中の以下の処理に相当する。ただし、この処理は元のMSE APIで行われる処理と同じである。
video.src=window.URL.createObjectURL(mediaSource);
次に、アプリケーションは、ステップS305において、ステップS303において取得したチューナーメディアソースオブジェクトから、放送時間オフセットを取得する。
この時間オフセット取得処理は、先に図13を参照して説明した放送タイムオフセット(broadcastTimeOffset)の取得処理である。
アプリケーションは、このタイムスタンプ(WallClock(UTC))を用いて、放送時間軸(WallClock(UTC))と、HTML5ビデオ時間軸(currentTime)との差分(時間オフセット)である放送タイムオフセット(broadcastTimeOffset)を決定する。
UTC2014年10月3日午前7時3分40秒
であったとする。
この場合、アプリケーションは、放送タイムオフセット(broadcastTimeOffset)を上記時間に設定する。すなわち、
broadcastTimeOffset=UTC2014年10月3日午前7時3分40秒
とする。
すなわち、時間t3(=t3h)において、
HTML5ビデオ時間:currentTime=0、
放送時間:WallClock(UTC)=014年10月3日午前7時3分40秒
であり、
時間オフセット:broadcastTimeOffset=UTC2014年10月3日午前7時3分40秒は、放送時間軸(WallClock(UTC))と、HTML5ビデオ時間軸(currentTime)との差分(時間オフセット)に相当する。
すなわち、以下のAPIによる時間オフセット情報の取得処理として実行することが可能である。
broadcastTimeOffset = mediaSource.broadcastTimeOffset
broadcastTimeOffset = navigator.tv.currentTuner().broadcastTimeOffset
broadcastTimeOffset = video.broadcastTimeOffset
次に、アプリケーションは、ステップS306において、ステップS303で取得したチューナーメディアソースオブジェクトから、ビデオ、オーディオの各ソースバッファを取得する。
ビデオソースバッファは、図12に示すソースバッファ214に相当し、オーディオソースバッファは、図12に示すソースバッファ215に相当する。
これらのソースバッファ214,215は、メディアソース213の一部の構成要素から構成されるオブジェクト、すなわちアプリケーションが処理可能なオブジェクトである。
ビデオソースバッファ214は、図14に示す受信装置30の記憶部(バッファ)312に格納されるビデオデータのみからなるセグメント列に相当する。
オーディオソースバッファ215は、受信装置30の記憶部(バッファ)312に格納されるオーディオデータのみからなるセグメント列に相当する。
メディアソース213は、受信装置30の記憶部(バッファ)312に格納されるビデオデータとオーディオデータを含む放送受信セグメント列に相当する。
なお、この処理も、前述した新APIを適用した処理として実行される。
前述した新APIの実行する処理アルゴリズム中の以下の処理に相当する。元のMSE APIではアプリケーションが新規にバッファを作成していたが、新APIではチューナーメディアソースオブジェクトは放送受信データに含まれるビデオ、オーディオの数やコーデックの種類に合わせてブラウザにより生成される
videoSourceBuffer=mediaSource.sourceBuffers[0];
audioSourceBuffer=mediaSoorce.sourceBuffers[1];
次に、アプリケーションは、ステップS307において、放送波を介して受信するメタデータ(シグナリングデータ)から、ネットワーク受信データ(例えばMP4広告からなるセグメント列)の挿入の開始時間(BroadcastAdStartTime)と、ネット受信セグメントファイルのURLリスト、セグメントファイルの数を取得する。
放送サーバ21は、コンテンツ(番組)に併せて、様々なメタデータをシグナリングデータとして受信装置30に提供しており、受信装置30は、これらのメタデータをチューナー(図12の通信部(チューナー)202=図14のチューナー311))を介して受信する。
アプリケーションは、このメタデータ(シグナリングデータ)から、ネットワーク受信データ(例えばMP4広告からなるセグメント列)の挿入の開始時間(BroadcastAdStartTime)と、ネット受信セグメントファイルのURLリスト、セグメントファイルの数を取得する。これらの情報は、MPEG DASHのマニフェスト・ファイル(MPD:Media Presentation Description)を用いて記述することもでき、したがってアダプティブストリーミングによりコンテンツ再生することもできる。また、サービスワーカーをつかうことによって、広告コンテンツのセグメントを予め取得し、受信機の永続的キャッシュに保存しておくことで、ネットワークの帯域に影響されずに、放送番組と同等の高画質、高音質にて広告を再生することが可能である。
このような場合、受信装置やユーザの属性によって提供される広告動画は異なることになり、ネット受信セグメントファイルのURLリスト、セグメントファイルの数等は、受信装置毎に異なる設定となる場合がある。
次に、アプリケーションは、ステップS308において、ステップS301で処理対象として設定し、ステップS304でチューナーメディアソースを設定したHTML5ビデオオブジェクト、すなわち、放送受信セグメントのみによって構成されるHTML5ビデオオブジェクトのカレントタイム(currentTime)を取得する。カレントタイム(currentTime)は、アプリケーションの時間軸[HTML5ビデオ時間軸(currentTime)]に従った時間情報である。
このステップS308〜S309の処理は、先に図13を参照して説明した時間(t3h〜t4h)の処理に相当する。
t4h=VideoAdStartTimeBefore
=t5h−Margin
=VideoAdStarttime−Margin
=t5−broadcastTimeOffset
=BroadcastAdStartTime−broadcastTimeOffset
t4h:VideoAdStartTimeBefore
t5h:VideoAdStarttime
Margin
これらの時間は、HTML5ビデオ時間軸(currentTime)に従った時間情報である。
t5:BroadcastAdStartTime
この時間は、放送時間軸(WallClock(UTC))に従った時間情報である。
broadcastTimeOffset
は、ステップS305において算出した時間オフセットであり、
図13を参照して説明した例では、
broadcastTimeOffset=UTC2014年10月3日午前7時3分40秒
である。
アプリケーションは、ネットワークを介した合成用セグメントの受信開始時間(VideoAdStartTimeBefore)、すなわち、図13に示す時間t4hを、これらの各データを用いて算出する。
アプリケーションは、ステップS310において、HTML5ビデオ時間軸(currentTime)に従った時間(currentTime)が、ネットワークを介した合成用セグメントの受信開始時間(VideoAdStartTimeBefore)になったか否かを判定する。
時間になったと判定した場合は、ステップS311に進み、ネットワークを介した合成用セグメント、例えばMP4広告コンテンツを格納したセクメントの受信を開始する。
時間になっていない場合は、ステップS308に戻り、ステップS308〜S309の処理を繰り返す。
アプリケーションは、ステップS312において、ステップS311でネットワークを介して受信したネットワーク受信セグメント(例えばMP4広告)を、ビデオ、オーディオの各ソースバッファの(VideoAdStartTime)の位置に追加する処理を行なう。
t5h(VideoAdStartTime)
=t5−(broadcastTimeOffset)
=(BroadcastAdStartTime)−(broadcastTimeOffset)
=(2014年10月3日午前7時16分20秒)−(2014年10月3日午前7時3分40秒)
=12分40秒
t5h:VideoAdStarttime
この時間は、HTML5ビデオ時間軸(currentTime)に従った時間情報である。
t5:BroadcastAdStartTime
この時間は、放送時間軸(WallClock(UTC))に従った時間情報である。
次に、アプリケーションは、ステップS313において、すべてのネットワーク受信セグメントの処理を完了したか否かを判定する。
処理が完了していない場合は、ステップS311に戻り、未処理セグメントについてステップS311以下の処理を実行する。
すべてのセグメントに対する処理が完了したと判定した場合は、ステップS314に進み、次のネット受信セグメント列(例えば次の広告)の処理のために、ステップS307に戻る。
これらの説明から理解されるように、アプリケーションは、図14に示す受信装置30の記憶部(バッファ)に格納された放送受信セグメントの一部をネットワーク受信セグメントによって置き換えるメディアソース更新処理を実行する。
この処理によって、放送波受信セグメントの一部がネットワーク受信セグメントに置き換えられ、先に図8を参照して説明したようなデータ切り換え表示が可能となる。
すなわち、放送受信データである番組コンテンツを、所定タイミングでネットワーク受信データである広告コンテンツに切り替え、その後、再度、放送受信データである番組コンテンツに切り替えるデータ出力処理が可能となる。
本実施例では、チューナー受信セグメントは、直接、アプリケーションの処理対象オブジェクトであるソースバッファとして設定される。
アプリケーションは、ソースバッファのセグメントの置き換えを伴うソースバッファ更新処理によって、放送波受信セグメントのみからなるソースバッファの一部のセグメントを、ネットワーク受信セグメントに置き換える。
このソースバッファ更新処理は、HTTPサーバに対するデータ格納、読み出し処理に比較して極めて短時間の処理として実行することが可能であり、置き換えられたセグメントの出力を遅延なく実行することが可能となる。
上述したアプリケーションは、先に説明したサービスワーカー(SW)の管理アプリケーションとして設定することが可能となる。
サービスワーカー(SW)の管理アプリケーションとして設定することで、アプリケーションは、アプリケーションの提供されたコンテンツ(番組)終了後も、受信装置の記憶部に格納され、他の番組再生中や、ネットワークが接続されていないオフライン状態であっても任意のタイミングで実行することが可能となる。
(処理例1)
アプリケーションが、ユーザの視聴履歴を取得し、取得した視聴履歴情報をメタデータとしてサービスワーカー(SW)に通知する。
サービスワーカー(SW)は、メタデータ(視聴履歴情報)に基づいて、放送波によって送信される様々な種類の広告データから、ユーザの興味に適合した広告を選択取得する。
アプリケーションは、サービスワーカー(SW)がの選択的に取得した広告コンテンツの表示処理を実行する。
このような処理を行なうことで、ユーザの興味に一致した広告を集中的に提供することが可能となる。
サービスワーカー(SW)が、事前に広告データと、その出力時間を記録したメタデータを取得し、受信装置の記憶部に格納しておく。
アプリケーションは、受信装置の記憶部に格納された広告データと、メタデータを取得して、メタデータに記録された出力時間に併せて取得した広告データを出力する処理を実行する。
var videoTuner=document.getElementById('vTuner');
var tuner=navigator.tv.currentTuner();
var mediaSourceTuner=.tuner.getMediaSource();
mediaSourceTuner.addEventListener('sourceopen',onSourceOpen.bind(this,video));
videoTuner.src=window.URL.createObjectURL(mediaSourceTuner);
var videoSourceBufferTuner=mediaSourceTuner.sourceBuffers[0];
var audioSourceBufferTuner=mediaSourceTuner.sourceBuffers[1];
var videoAd=document.getElementById('vAd');
var mediaSourceAd=new MediaSource();
mediaSourceAd.addEventListener('sourceopen',onSourceOpen.bind(this, video));
videoAd.src=window.URL.createObjectURL(mediaSourceAd);
var videoSourceBufferAd=mediaSourceAd.addSourceBuffer('video/mp4;codecs="avc1.4d401f"');
var audioSourceBufferAd=mediaSourceAd.addSourceBuffer('audio/mp4;codecs="mp4a.40.2"')
videoTuner.mediaGroup = "SYNC";
videoAd.mediaGroup = "SYNC";
</script>
次に、通信装置である送信装置(サーバ)20と、受信装置(クライアント)30の装置構成例について、図18、図19を参照して説明する。
送信装置(サーバ)20は、データ処理部751、通信部752、記憶部753を有する。
受信装置(クライアント)30は、データ処理部771、通信部772、記憶部773、入力部774、出力部775を有する。
データ処理部には通信データ処理部771a、再生処理部771bが含まれる。
記憶部753は配信対象とするAVセグメント、アプリケーション、サービスワーカー(SW)、アプリケーションによって利用されるデータ、シグナリングデータなどが格納される。
さらに、記憶部753は、データ処理部751の実行するデータ処理のワークエリアとして利用され、また各種パラメータの記憶領域としても利用される。
通信部772は、送信装置(サーバ)20から配信されるデータ、例えばAVセグメントやアプリケーション、サービスワーカー(SW)、アプリケーションによって利用されるデータ、シグナリングデータ等を受信する。
具体的には、アプリケーションや、API、さらに、サービスワーカー(SW)を利用したデータ処理等を実行する。
再生データは表示部やスピーカ等の出力部775に出力される。
記憶部773はAVセグメント、サービスワーカー(SW)、アプリケーション、アプリケーションによって利用されるデータ、シグナリングデータなどが格納される。
さらに、記憶部773は、データ処理部771の実行するデータ処理のワークエリアとして利用され、また各種パラメータの記憶領域としても利用される。
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
(1) 受信装置の受信データのバッファ処理を、受信装置が実行するアプリケーションのメディア再生の処理オブジェクトであるメディアソースオブジェクトとして開示するデータ処理部を有する受信装置。
前記メディアソースオブジェクトに対する処理として、前記データ処理部に格納された受信データと、アプリケーション受信データとの合成処理を実行する(1)〜(4)いずれかに記載の受信装置。
前記アプリケーションによる処理時間を規定するアプリケーションメディア再生時間軸と、前記受信データにおいて利用される映像音声再生時間軸の時間差に相当する時間オフセットを取得し、取得した時間オフセットを利用して、前記受信データに対する前記アプリケーションが受信したデータの挿入時間位置を決定する(5)に記載の受信装置。
前記時間オフセットを利用して、前記アプリケーション受信データの受信開始時間を決定する(6)に記載の受信装置。
前記受信データを構成するセグメントを、前記アプリケーション受信データを構成するセグメントに置き換えるセグメント置換処理を実行する(5)〜(7)いずれかに記載の受信装置。
前記アプリケーションは、受信装置における受信データのバッファ処理を開示するメディアソースオブジェクトを利用して、受信データとアプリケーションの受信データとの合成処理を実行させるアプリケーションである送信装置。
前記アプリケーションは、前記APIによって設定されたメディアソースオブジェクトを利用した処理を実行するアプリケーションである(9)に記載の送信装置。
前記受信装置のデータ処理部が、受信データを受信装置が実行するアプリケーションのメディア再生の処理オブジェクトであるメディアソースオブジェクトに設定するデータ処理方法。
送信装置の通信部が、受信装置において利用されるアプリケーションを送信し、
前記アプリケーションは、受信装置における受信データのバッファ処理を開示するメディアソースオブジェクトを利用して、受信データとアプリケーションの受信データとの合成処理を実行させるアプリケーションであるデータ処理方法。
また、実施例においては放送からブロードバンド受信した番組コンテンツのセグメントにネットワークから受信した広告コンテンツのセグメントで置き換えることを示したが、受信経路については限定するものではなく、番組コンテンツ、広告コンテンツの双方をネットワーク経由で受信する場合は、もしくは、双方を放送経由で受信する場合でも適応することが可能である。
具体的には、例えば受信装置が通信部を介して受信する放送受信データを、API(Application Programming Interface)を適用して、受信装置の実行するアプリケーションの処理オブジェクトであるメディアソースオブジェクトに設定する。アプリケーションは、メディアソースオブジェクトに対する処理として、前記放送受信データと、ネットワークを介して受信するネットワーク受信データとの合成処理を実行する。アプリケーションは、API適用処理によってアプリケーション時間軸と放送時間軸の時間差に相当する時間オフセットを取得し、高精度、低遅延のデータ合成処理を実行する。
本構成により、放送受信データとネットワーク受信データの合成処理および出力処理を低遅延、高精度に行うことが可能となる。これにより放送された番組コンテンツに対してネットワークからの広告コンテンツを挿入することが容易となり、放送サービスとインターネットサービスの融合が進むことが期待される。
20 送信装置
21 放送サーバ
22 データ配信サーバ
30 受信装置
31 TV
32 PC
33 携帯端末
50 シグナリングデータ
60 AVセグメント
70 その他のデータ
90 受信装置内表示制御部
91 表示処理部
92 サービスワーカー(SW)
93 キャッシュ
95,96 Webページ
101 高ビットレートデータ
102 中ビットレートデータ
103 低ビットレートデータ
104 マニフェスト・ファイル
105 再生データ
110 メディアソース
111〜113 ソースバッファ
114 トラックバッファ
125 放送受信セグメント
126 ネットワーク受信セグメント
127 再生セグメント
131 アンテナ
132 通信部(チューナー)
133 HTTPサーバ
134 画像デコーダ
135 画像表示部
136 音声デコーダ
137 音声出力部
140 ブラウザ
141 XHR
142 アプリケーション
143 メディアソース
144,145 ソースバッファ
201 アンテナ
202 通信部(チューナー)
210 ブラウザ
212 アプリケーション
213 メディアソース
214,215 ソースバッファ
221 画像デコーダ
222 画像表示部
223 音声デコーダ
224 音声出力部
225 再生セグメント
310 放送受信データ処理部
311 チューナー
312 記憶部(バッファ)
313 デコーダ&レンダラー
321 メタデータ(シグナリング)処理部
322 バッファ管理部
330 ネットワーク受信データ処理部
331 ネットワークI/F
332 アプリケーション実行部
333 グラフィックシステム
341 合成部
751 データ処理部
752 通信部
753 記憶部
771 データ処理部
772 通信部
773 記憶部
774 入力部
775 出力部
801 CPU
802 ROM
803 RAM
804 バス
805 入出力インタフェース
806 入力部
807 出力部
808 記憶部
809 通信部
810 ドライブ
811 リムーバブルメディア
Claims (12)
- 受信装置の受信データを、受信装置が実行するアプリケーションの読み込み処理を経ずに、前記アプリケーションのメディア再生の処理オブジェクトであるメディアソースオブジェクトとして設定するデータ処理部を有する受信装置。
- 前記データ処理部は、API(Application Programming Interface)を適用して、前記受信データを前記メディアソースオブジェクトに設定し、アプリケーションは、前記受信データが記憶されたバッファの状態の取得やバッファに格納されている受信データの置き換え、または追加の処理を実行する請求項1に記載の受信装置。
- 前記データ処理部は、前記アプリケーションによる処理時間を規定するアプリケーションのメディア再生時間軸と、前記受信データにおいて利用される映像音声再生時間軸の時間差に相当する時間オフセットを取得する請求項1に記載の受信装置。
- 前記アプリケーションは、
前記メディアソースオブジェクトに対する処理として、前記データ処理部に格納された受信データと、アプリケーション受信データとの合成処理を実行する請求項1に記載の受信装置。 - 前記受信データは放送コンテンツデータであり、
前記アプリケーション受信データは通信コンテンツデータであり、
前記データ処理部は、前記通信コンテンツデータの属性情報を記述したマニフェスト・ファイルを受信し、
前記アプリケーションは、前記放送コンテンツデータに連動して起動され、前記マニフェスト・ファイルに基づいて、前記通信コンテンツデータをセグメント単位で受信する請求項4に記載の受信装置。 - 前記アプリケーションは、
前記アプリケーションによる処理時間を規定するアプリケーションメディア再生時間軸と、前記受信データにおいて利用される映像音声再生時間軸の時間差に相当する時間オフセットを取得し、取得した時間オフセットを利用して、前記受信データに対する前記アプリケーションが受信したデータの挿入時間位置を決定する請求項4に記載の受信装置。 - 前記アプリケーションは、
前記時間オフセットを利用して、前記アプリケーション受信データの受信開始時間を決定する請求項6に記載の受信装置。 - 前記アプリケーションは、
前記受信データを構成するセグメントを、前記アプリケーション受信データを構成するセグメントに置き換えるセグメント置換処理を実行する請求項4に記載の受信装置。 - 受信装置において利用されるアプリケーションの読み込み処理を経ずに設定された、受信装置における受信データのメディアソースオブジェクトを利用して、前記受信データとアプリケーションの受信データとの合成処理を実行させるアプリケーションを生成し、
前記アプリケーションを送信するデータ処理部を有する送信装置。 - 前記データ処理部は、API(Application Programming Interface)を適用して、前記受信データを前記メディアソースオブジェクトに設定する処理を実行し、
前記アプリケーションは、前記APIによって設定されたメディアソースオブジェクトを利用した処理を実行するアプリケーションである請求項9に記載の送信装置。 - 受信装置において実行するデータ処理方法であり、
前記受信装置のデータ処理部が、受信データを受信装置が実行するアプリケーションの読み込み処理を経ずに、前記アプリケーションのメディア再生の処理オブジェクトであるメディアソースオブジェクトとして設定するデータ処理方法。 - 送信装置において実行するデータ処理方法であり、
受信装置において利用されるアプリケーションの読み込み処理を経ずに設定された、受信装置における受信データのメディアソースオブジェクトを利用して、前記受信データとアプリケーションの受信データとの合成処理を実行させるアプリケーションを生成し、
前記アプリケーションを送信するデータ処理方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014213498 | 2014-10-20 | ||
JP2014213498 | 2014-10-20 | ||
PCT/JP2015/079098 WO2016063780A1 (ja) | 2014-10-20 | 2015-10-14 | 受信装置、送信装置、およびデータ処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2016063780A1 JPWO2016063780A1 (ja) | 2017-07-27 |
JP6610555B2 true JP6610555B2 (ja) | 2019-11-27 |
Family
ID=55760822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016555190A Expired - Fee Related JP6610555B2 (ja) | 2014-10-20 | 2015-10-14 | 受信装置、送信装置、およびデータ処理方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11070872B2 (ja) |
EP (1) | EP3211904A4 (ja) |
JP (1) | JP6610555B2 (ja) |
KR (1) | KR102529711B1 (ja) |
CA (1) | CA2963765C (ja) |
MX (1) | MX2017004885A (ja) |
WO (1) | WO2016063780A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10120542B2 (en) * | 2014-10-08 | 2018-11-06 | International Business Machines Corporation | Reproducing state of source environment when image was screen captured on a different computing device using resource location, resource navigation and positional metadata embedded in image |
US20180097974A1 (en) * | 2016-10-03 | 2018-04-05 | App Onboard, Inc. | Video-tree system for interactive media reproduction, simulation, and playback |
US20180124453A1 (en) * | 2016-11-01 | 2018-05-03 | App Onboard, Inc. | Dynamic graphic visualizer for application metrics |
US11089381B2 (en) * | 2017-01-20 | 2021-08-10 | Hanwha Techwin Co., Ltd. | Apparatus and method for simultaneous playback and backup of media in a web browser |
JP6861046B2 (ja) * | 2017-02-14 | 2021-04-21 | 日本放送協会 | 配信装置およびプログラム |
EP3425865B1 (de) * | 2017-07-05 | 2019-12-18 | Siemens Mobility GmbH | Verfahren und vorrichtung zur rückwirkungsfreien unidirektionalen übertragung von daten an einen abgesetzten anwendungsserver |
EP3753254A1 (en) * | 2018-02-15 | 2020-12-23 | Vitec, Inc. | Distribution and playback of media content |
CN110545491B (zh) * | 2018-05-29 | 2021-08-10 | 北京字节跳动网络技术有限公司 | 一种媒体文件的网络播放方法、装置及存储介质 |
CN110545479B (zh) * | 2018-05-29 | 2021-07-06 | 北京字节跳动网络技术有限公司 | 媒体播放的加载控制方法、装置及存储介质 |
US11095944B2 (en) * | 2019-08-19 | 2021-08-17 | Roku, Inc. | Content-modification system with broadcast schedule utilization feature |
US11363321B2 (en) * | 2019-10-31 | 2022-06-14 | Roku, Inc. | Content-modification system with delay buffer feature |
CN111193798A (zh) * | 2019-12-31 | 2020-05-22 | 山东公链信息科技有限公司 | 一种打散后加密分散存储的图片分布式存储技术 |
US10992401B1 (en) * | 2020-03-05 | 2021-04-27 | Rovi Guides, Inc. | Systems and methods for generating playlist for a vehicle |
US10972206B1 (en) | 2020-03-05 | 2021-04-06 | Rovi Guides, Inc. | Systems and methods for generating playlist for a vehicle |
US11805160B2 (en) | 2020-03-23 | 2023-10-31 | Rovi Guides, Inc. | Systems and methods for concurrent content presentation |
US11599880B2 (en) | 2020-06-26 | 2023-03-07 | Rovi Guides, Inc. | Systems and methods for providing multi-factor authentication for vehicle transactions |
US11790364B2 (en) | 2020-06-26 | 2023-10-17 | Rovi Guides, Inc. | Systems and methods for providing multi-factor authentication for vehicle transactions |
US11818189B2 (en) | 2021-01-06 | 2023-11-14 | Tencent America LLC | Method and apparatus for media streaming |
US11792473B2 (en) * | 2021-08-06 | 2023-10-17 | Sony Group Corporation | Stream repair memory management |
CN114745561B (zh) * | 2022-04-06 | 2023-05-30 | 珠海格力电器股份有限公司 | 直播间交互方法、装置、电子设备及存储介质 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002268999A (ja) | 2001-03-09 | 2002-09-20 | Toshiba Corp | コンテンツ再生方法及び装置 |
US20030066094A1 (en) * | 2001-09-29 | 2003-04-03 | Koninklijke Philips Electronics N.V. | Robust method for recovering a program time base in MPEG-2 transport streams and achieving audio/video sychronization |
US7246318B2 (en) * | 2002-06-28 | 2007-07-17 | Microsoft Corporation | Application programming interface for utilizing multimedia data |
US7426734B2 (en) * | 2003-10-24 | 2008-09-16 | Microsoft Corporation | Facilitating presentation functionality through a programming interface media namespace |
US7626612B2 (en) * | 2006-06-30 | 2009-12-01 | Motorola, Inc. | Methods and devices for video correction of still camera motion |
US20080040743A1 (en) * | 2006-07-29 | 2008-02-14 | Srinivasa Dharmaji | Micro-splicer for inserting alternate content to a content stream on a handheld device |
US8612643B2 (en) * | 2007-06-30 | 2013-12-17 | Microsoft Corporation | Interfaces for digital media processing |
US8064343B2 (en) | 2008-11-25 | 2011-11-22 | Broadcom Corporation | Utilizing a replacement pathway for lost packet delivery during media reception in a set-top box (STB) |
US8755669B2 (en) * | 2009-05-13 | 2014-06-17 | Cisco Technology Inc. | Splicing system |
JP2011087103A (ja) | 2009-10-15 | 2011-04-28 | Sony Corp | コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供 |
US8555163B2 (en) * | 2010-06-09 | 2013-10-08 | Microsoft Corporation | Smooth streaming client component |
US20120095819A1 (en) * | 2010-10-14 | 2012-04-19 | Phone Through, Inc. | Apparatuses, methods, and computer program products enabling association of related product data and execution of transaction |
US9026671B2 (en) * | 2011-04-05 | 2015-05-05 | Qualcomm Incorporated | IP broadcast streaming services distribution using file delivery methods |
JP2013009332A (ja) * | 2011-05-20 | 2013-01-10 | Nippon Hoso Kyokai <Nhk> | 受信機 |
CN103703764A (zh) | 2011-05-25 | 2014-04-02 | Lg电子株式会社 | 发送/接收***和处理广播信号的方法 |
JP6348251B2 (ja) | 2012-09-13 | 2018-06-27 | サターン ライセンシング エルエルシーSaturn Licensing LLC | 端末装置、受信方法、およびプログラム |
WO2014115295A1 (ja) | 2013-01-25 | 2014-07-31 | 株式会社 東芝 | ビデオ表示装置及びビデオ表示方法 |
US20140297882A1 (en) * | 2013-04-01 | 2014-10-02 | Microsoft Corporation | Dynamic track switching in media streaming |
JPWO2014162748A1 (ja) | 2013-04-05 | 2017-02-16 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 受信装置、及び受信方法 |
US9332047B2 (en) * | 2013-09-30 | 2016-05-03 | Brightcove Inc. | Dynamic chunk manipulation for streaming mixed live and on-demand media: dynamic permutation layer |
-
2015
- 2015-10-14 CA CA2963765A patent/CA2963765C/en active Active
- 2015-10-14 KR KR1020177009683A patent/KR102529711B1/ko active IP Right Grant
- 2015-10-14 JP JP2016555190A patent/JP6610555B2/ja not_active Expired - Fee Related
- 2015-10-14 MX MX2017004885A patent/MX2017004885A/es active IP Right Grant
- 2015-10-14 US US15/508,535 patent/US11070872B2/en active Active
- 2015-10-14 WO PCT/JP2015/079098 patent/WO2016063780A1/ja active Application Filing
- 2015-10-14 EP EP15852053.6A patent/EP3211904A4/en not_active Ceased
-
2021
- 2021-06-16 US US17/304,228 patent/US11785289B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR102529711B1 (ko) | 2023-05-09 |
KR20170074866A (ko) | 2017-06-30 |
EP3211904A1 (en) | 2017-08-30 |
EP3211904A4 (en) | 2018-04-25 |
WO2016063780A1 (ja) | 2016-04-28 |
US11785289B2 (en) | 2023-10-10 |
US11070872B2 (en) | 2021-07-20 |
CA2963765C (en) | 2022-12-13 |
JPWO2016063780A1 (ja) | 2017-07-27 |
CA2963765A1 (en) | 2016-04-28 |
US20210314657A1 (en) | 2021-10-07 |
US20170289616A1 (en) | 2017-10-05 |
MX2017004885A (es) | 2017-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6610555B2 (ja) | 受信装置、送信装置、およびデータ処理方法 | |
JP6462566B2 (ja) | 送信装置、送信方法、受信装置および受信方法 | |
JP6807852B2 (ja) | Lctに基づくdashフォーマットを有するファイルフォーマットベースのストリーミング | |
US11375258B2 (en) | Transitioning between broadcast and unicast streams | |
JP2022089899A (ja) | 送信方法および受信方法 | |
JP5903924B2 (ja) | 受信装置および字幕処理方法 | |
CN111316652A (zh) | 使用对齐编码内容片段的个性化内容流 | |
RU2646391C2 (ru) | Устройство поставки контента, способ поставки контента, программа, терминальное устройство и система поставки контента | |
KR102499231B1 (ko) | 수신 장치, 송신 장치 및 데이터 처리 방법 | |
JP6630860B2 (ja) | 端末装置および受信方法 | |
JP2015012305A (ja) | コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム | |
JP2015534312A (ja) | レンダリング時の制御 | |
KR20180058219A (ko) | 송신 장치, 수신 장치, 및 데이터 처리 방법 | |
WO2016067989A1 (ja) | 受信装置、送信装置、およびデータ処理方法 | |
KR101666246B1 (ko) | 메타데이터 우선제공 증강방송 장치 및 방법 | |
KR102533674B1 (ko) | 수신 장치, 송신 장치 및 데이터 처리 방법 | |
JP2008016894A (ja) | 送信装置及び受信装置 | |
US11856242B1 (en) | Synchronization of content during live video stream | |
WO2017047433A1 (ja) | 送信装置、受信装置、およびデータ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180928 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190618 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190813 |
|
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: 20191001 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191014 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6610555 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |