This application claims the benefit of priority from Indian Patent Application No. 202141030964, filed on Jul. 9, 2021, the contents of which are hereby incorporated by reference.
The present disclosure relates generally to transmitting and receiving broadcast data and, more specifically, to delivering targeted content to one-way set-top-boxes.
Many set-top-boxes (STBs) are low-cost devices, e.g., single tuner one-way STBs with limited capacity. To support targeted content delivery, it is impractical for previously existing solutions to add section filters, remux, and/or recording stacks to such devices. As such, there are no previously existing solutions for single tuner one-way STBs to download targeted content (e.g., advertisements or regional sports highlights) at a high bitrate and/or without impacting the live viewing experience.
So that the present disclosure can be understood by those of ordinary skill in the art, a more detailed description may be had by reference to aspects of some illustrative embodiments, some of which are shown in the accompanying drawings.
In accordance with common practice the various features illustrated in the drawings may not be drawn to scale. Accordingly, the dimensions of the various features may be arbitrarily expanded or reduced for clarity. In addition, some of the drawings may not depict all of the components of a given system, method, or device. Finally, like reference numerals may be used to denote like features throughout the specification and figures.
Numerous details are described in order to provide a thorough understanding of the example embodiments shown in the drawings. However, the drawings merely show some example aspects of the present disclosure and are therefore not to be considered limiting. Those of ordinary skill in the art will appreciate that other effective aspects and/or variants do not include all of the specific details described herein. Moreover, well-known systems, methods, components, devices, and circuits have not been described in exhaustive detail so as not to obscure more pertinent aspects of the example embodiments described herein.
In accordance with some embodiments, a targeted content delivery solution uses elementary stream filter(s) to download broadcast data (e.g., audio, video, and/or metadata) into client devices (e.g., single tuner one-way set-top-boxes (STB s)) without impacting the live viewing experience. In some embodiments, a headend encapsulates elements of data such as targeted content and corresponding metadata into one packet identifier (PID) and sends the data to multiple transponders for broadcast. In some embodiments, on the receiving end, a client device (e.g., an STB) includes a targeted content delivery unit that shares a connection with the live viewing pipeline. The targeted content delivery unit obtains and processes targeted content that is relevant to the client device based on the information derived from the metadata and a profile of the client device. The headend can change the metadata packaged in the stream on the fly, e.g., changing attribute(s), targeted profile(s), active campaign(s), and/or delivery window rule(s), etc., and the targeted content being downloaded to the client device would be updated accordingly. As such, a schedule-free targeted content delivery method allows the headend to dynamically adjust the content targeted to different client devices, and each client device can efficiently obtain the targeted content without requiring additional tuners, filters, remux, and/or recording stacks.
In accordance with various embodiments, a targeted content delivery method is performed at a client device (e.g., a set-top-box (STB)) with a tuner, one or more controllers, and a non-transitory memory. The method includes obtaining streaming media content in a stream. The method further includes detecting a plurality of transport packets under a packet identifier (PID) in the stream, where the plurality of transport packets is associated with a targeted content delivery service. The method additionally includes identifying metadata corresponding to targeted content of the targeted content delivery service in the plurality transport packets under the PID. The method also includes selecting a list of targeted content identifiers for the client device based on the metadata and a profile of the client device. The method further includes downloading the targeted content according to the list of targeted content identifiers.
A targeted content delivery unit on a client device in accordance with various embodiments described herein addresses the aforementioned data downloading issues on limited capacity devices. In some embodiments, a client device (e.g., a one-way set-top-box (STB) with a single tuner), upon booting up, tunes to any channel to receive streaming content and detects the presence of the targeted content in the stream, e.g., by looking for any targeted content delivery services associated with the current transponder. In some embodiments, upon detecting the presence of the targeted content, the client device creates a job to receive the packets carrying the targeted content under a packet identifier (PID) by applying filter(s) and device sharing with the live viewing, e.g., sharing a connection with the tuner. The client device further processes headers of packetized elementary stream (PES) packets. Based on the information in the headers and a profile of the client device, the client device identifies targeted content that is relevant to the client device. The client device then downloads and stores the relevant targeted content. As such, the targeted content delivery methods, devices, and systems described herein can be used to distribute and download any broadcasted data. Even a one-way STB with a single tuner can obtain the targeted content without requiring additional tuners, filters, remux, and/or recording stacks, thus improving the efficiency of targeted content delivery.
Reference is now made to
Many single tuner client devices in the field have similar configurations as the client device 120 shown in
In
The PAT 202 is associated with each transport stream and has a list of programs and the corresponding PMT PIDs. The PMT 203 associated with each channel (also referred to as a service or a program) shows details about the relevant service and the respective types, e.g., indicating the PID of a TS packet in which an image, audio, private, or the like is carried. The SDT 209 is associated with each transport stream and has details about the channel name and other service specific properties, e.g., the type of the EIT 208 sent through each channel, digital copy control information, and the like. In some embodiments, the EIT 208 includes event information (e.g., the start time, duration, and/or parental rating, etc.) and/or the complete event information for multiple days (e.g., 7 days) for large operators. The NIT 211 is associated with each network and has a list of transport streams in the respective network and the corresponding tuning information (e.g., frequency, symbol rate, polarization, etc.).
In some embodiments, as will be described in further detail below, the packager(s) 212 configure targeted content as a program with a single PID and specifies the program as a targeted content delivery service, e.g., by declaring the availabilities of the targeted content delivery service in the NIT 211 and/or other tables in the signalization. For example, the NIT 211 can include a targeted content delivery service notification. Because the targeted content delivery service is associated with each transport stream, in some embodiments, a special descriptor presented in the NIT 211 informs the client device 220 the targeted content delivery service ID, TS ID, and the original network ID to uniquely identify the targeted content delivery service in the network. As such, the NIT 211 carries the information at the transport stream level, and the special descriptor (e.g., a private descriptor) in the NIT 211 describes the DVB triple of the targeted content delivery service within the transport stream. In some embodiments, once configured, the program is sent to a plurality of transponders for distribution and/or broadcast. When the targeted content delivery service is declared and included in the signalization, the content of the targeted content can be updated dynamically, e.g., a schedule-free delivery method.
It should be noted that although the exemplary MPTS is shown following the DVB standard, in the exemplary content distribution system 200, the packager(s) 212 can apply any number of audio and video encoding, compression, and/or packaging techniques pursuant to any standards, including but not limited to, H.264, MPEG-4, Advanced Video Coding (AVC), High Efficiency Video Coding (HEVC), MPEG-2, MP3, AC-3, etc. Accordingly, the client device 220 can be configured to receive broadcast signals transmitted from various types of broadcast systems and according to different broadcast standards, e.g., the DVB standard, the Advanced Television Systems Committee (ATSC) standard, or the like.
On the receiving end, in some embodiments, like the client device 120 shown in
In some embodiments, the targeted content delivery unit 230 includes TPID filter 2223-2, ES filter 2224-2, a service data controller 232, a metadata controller 234, a content controller 236, and a storage 238 (e.g., a non-transitory memory including RAM and/or disk(s)). In some embodiments, the service data controller 232 creates a shared connection with the live viewing and collects the output from ES filter 2224-2 in PES format for further processing. In some embodiments, the metadata controller 234 requests a list of targeted content by specifying a table identifier (ID), allocates space to store the downloaded metadata, and performs post processing to check the metadata. In some embodiments, the content controller 236 requests targeted content by specifying a targeted content ID, allocates space to store the downloaded targeted content, performs post processing to check the downloaded targeted content, and manages a database (e.g., stored in the storage 238) that stores download status.
Once live viewing starts, e.g., via the live viewing pipeline with the components 221-222, 223-1, 224-1, and 225-226, the targeted content delivery unit 230 looks for any targeted content service associated with the current transponder by locating the targeted content delivery service entry in the NIT 211 in the MPTS 213 in some embodiments. Having detected the presence of the targeted content delivery service, the targeted content delivery unit 230 configures a targeted delivery pipeline that includes TPID filter 2223-2, ES filter 2224-2, the controllers 232-236, and the storage 238. In some embodiments, to create the targeted content delivery pipeline, the targeted content delivery unit 230 creates a new job by device sharing with the live viewing pipeline. The new job processes the output from ES filter 2224-2 for the service data controller 232 to process. The service data controller 232 then interacts with the metadata controller 234 and the content controller 236 to extract and process the metadata and the targeted content. The targeted content delivery unit 230 then stores the processed targeted content in the storage 238 in preparation for presentation by the display 226. In some embodiments, the playback of the targeted content includes reading the stored data from the storage 238, passing the data to the AV decoder 225, and presenting the decoded data on the display 226.
Using the exemplary client device 220 in the exemplary content distribution system 200, targeted content can be downloaded at a high bitrate without impacting the live viewing experience. The data associated with targeted content are identified with a PID at the transport stream level. TPID filter 2223-2 filters the specific PID associated with the targeted content (e.g., packets 207-1, 207-2, and 207-3 with PID a) and collects section data and the PES data. Relative to some previously existing solutions that attempt to download targeted content using section filters (e.g., by downloading the targeted content from the section data), using ES filter 2224-2 to collect the PES data encapsulating the targeted content can support higher bitrate. Further, using the exemplary client device 220, any data, e.g., advertisement assets, metadata, sports highlights, etc., can be distributed efficiently without requiring complex processing such as re-mux, chunking input and output (e.g., on personal video recorder (PVR) capable devices). As such, the client device 220 can download the targeted content within its capacity at a high bitrate without requiring additional tuners, filters, remux, and/or recording stacks.
In some embodiments, the packager further converts the media file 320 to targeted asset data 330, which further includes data elements such as a media object 340, an index object 341, and a catalog object 342. In some embodiments, the media object 340 includes a single program transport stream of audio/video (AV) data. In some embodiments, the index object 341 includes the indexing format used for trick mode operations. In some embodiments, the catalog object 342 includes the presentation timestamp (PTS) of the targeted content. Likewise, the packager also converts the data in the ADT bin 322, TPT bin 324, and CMP bin 326 into data objects, e.g., an ADT object 343, a TPT object 344, and a CMP object 345. Further, the packager generates a playlist of the targeted content and the corresponding metadata and encapsulates the data objects 340-345 in the playlist into a PES 350, e.g., a plurality of bounded PES packets. An exemplary format of a PES packet is shown in
In some embodiments, the packager also converts the PES packets for the targeted content in the PES 350 into a plurality of TPs 360 (e.g., each TP includes 188 bytes) under a single PID. In some embodiments, as described above with reference to
It should be noted that the packaging format as shown in
In
In some embodiments, the private header 373 is present for a PES packet that carries targeted content data and describes the targeted content and its position. In some embodiments, a 6-bit schema version field 376 in the private header 373 specifies the version of the targeted content packaging syntax. In some embodiments, a 6-bit version field 377 in the private header 373 specifies the version of the metadata table, e.g., the version of the ADT, TPT, CMP, and/or DWR. In some embodiments, a 4-bit optional field indicator 378 in the private header 373 indicates if any optional field is present, e.g., 0x0000 indicating no optional field, 0x0001 indicating the presence of the optional field, and 0xXXX0 indicating reserved. In some embodiments, a 16-bit total number of PES field 379 in the private header 373 specifies the number of PES packets (including this PES packet) that the client device acquires for a complete object. In some embodiments, a 16-bit PES ID field 380 in the private header 373 specifies the sequence number for the respective PES packet. In some embodiments, the starting PES packet sets the PES ID field 380 to 0.
In some embodiments, an 8-bit content type field 381 in the private header 373 indicates the type of content carried by the PES packet. For example, for a PES packet carrying the asset data, e.g., carrying the targeted asset data 330 (
In some embodiments, a 32-bit total object size field 383 in the private header 373 indicates the total size of the object, where the instant PES packet is a part of. For example, when the content type field 381 is 0x01, the total object size field 383 represents the total size of the media object 340 (
In some embodiments, a 32-bit content unique ID field 384 in the private header 373 carries the unique ID of the targeted content that is cross referenced in the CMP table. In some embodiments, for packets that carry the metadata, the content unique ID field 384 is set to 0XFFFFFFFF. In some embodiments, a 32-bit content offset field 385 in the private header 373 specifies the offset of the data carried by the instant PES packet in the object. In some embodiments, for post processing check and/or validation, a 32-bit cyclic redundancy check (CRC) field 386 in the private header 373 carries the CRC checksum for the object data in the respective PES. In some embodiments, CRC32 is used for calculating the CRC value.
In some embodiments, the optional objects header field 374 is used to describe sub object files when a target content asset splits into multiple sub object files, e.g., the media file 320 in
In some embodiments, in step 410, the metadata controller 234 requests for metadata from the service data controller 232, e.g., requesting the ADT, the TPT, the CMP, and/or the DWR. The service data controller 232, upon receiving the request, locates the tables based on the table IDs and extracts the table information from the PES packets in step 420. For example, the service data controller 232 locates and extracts the ADT data in the PES with the content type 381 (
In some embodiments, in step 440, the metadata controller 234 processes the metadata to select a list of targeted content identifiers targeted for the client device based on the metadata and a profile of the client device (e.g., a profile stored in the storage 238 in
As explained above with reference to
In the examples shown in
Because client device 1510-1 is in region R1 and hasCat is set to true, the metadata controller 234 (
The method 600 begins with the client device obtaining streaming media content in a stream, as represented by block 620, and continues with the client device detecting a plurality of transport packets under a packet identifier (PID) in the stream, where the plurality of transport packets is associated with a targeted content delivery service, as represented by block 630. In some embodiments, as represented by block 632, the plurality of transport packets under the PID in the stream is packetized from an elementary stream (ES), where the ES is packaged from media objects for the targeted content and the corresponding metadata and multiplexed with one or more elementary streams for the media content. The plurality of transport packets is broadcasted via a plurality of transponders in accordance with some embodiments.
For example, in
In some embodiments, as represented by block 634, obtaining the streaming media content in the stream includes tuning the tuner to a transponder, and establishing a connection to the tuner to receive the streaming media content. For example, in
In such embodiments, as represented by block 636, detecting the plurality of transport packets under the PID in the stream includes sharing the connection with the streaming media content for obtaining the targeted content delivery service. Further in such embodiments, as represented by block 638, the method 600 includes locating in the stream the targeted content delivery service associated with the transponder in accordance with some embodiments. For example, in
The method 600 continues with the client device identifying metadata corresponding to targeted content of the targeted content delivery service in the plurality transport packets under the PID, as represented by block 640. The method 600 also includes selecting a list of targeted content identifiers for the client device based on the metadata and a profile of the client device, as represented by block 650. Turning to
In
In some embodiments, as represented by block 664, selecting the list of targeted content identifiers for the client device based on the metadata and the profile of the client device includes deriving attributes, targeted profiles, and active campaigns from the metadata, and obtaining the list of targeted content identifiers for the client device by matching client attributes in the profile of the client device with the attributes, the targeted profiles, and the active campaigns.
For example, in
In the example shown in
In some embodiments, as represented by block 666, downloading the targeted content according to the list of targeted content identifiers includes specifying a respective targeted content identifier in the list of targeted content identifiers, obtaining objects from packets in the PES based on a content type corresponding to the targeted content and the respective targeted content identifier in headers of a second set of packets in the PES, and storing in the non-transitory memory the respective targeted content. For example, in step 460 of
In some embodiments, as represented by block 670, the method 600 further includes receiving updated metadata for the targeted content delivery service, selecting an updated list of targeted content identifiers for the client device based on the updated metadata and the profile of the client device, and downloading updated targeted content according to the updated list of targeted content identifiers. In other words, the targeted content delivery method 600 described herein allows a schedule-free delivery to dynamically change the delivery of targeted content for single tuner one-way client devices. Once updated at the headend, e.g., updating the ADT bin 322, the TPT bin 324, and/or the CMP bin 326 in
While various aspects of implementations within the scope of the appended claims are described above, it should be apparent that the various features of implementations described above may be embodied in a wide variety of forms and that any specific structure and/or function described above is merely illustrative. Based on the present disclosure one skilled in the art should appreciate that an aspect described herein may be implemented independently of any other aspects and that two or more of these aspects may be combined in various ways. For example, an apparatus may be implemented and/or a method may be practiced using any number of the aspects set forth herein. In addition, such an apparatus may be implemented and/or such a method may be practiced using other structure and/or functionality in addition to or other than one or more of the aspects set forth herein.
It will also be understood that, although the terms “first,” “second,” etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first device could be termed a second device, and, similarly, a second device could be termed a first device, which changing the meaning of the description, so long as all occurrences of the “first device” are renamed consistently and all occurrences of the “second device” are renamed consistently. The first device and the second device are both devices, but they are not the same device.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the claims. As used in the description of the embodiments and the appended claims, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
As used herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in accordance with a determination” or “in response to detecting”, that a stated condition precedent is true, depending on the context. Similarly, the phrase “if it is determined [that a stated condition precedent is true]” or “if [a stated condition precedent is true]” or “when [a stated condition precedent is true]” may be construed to mean “upon determining” or “in response to determining” or “in accordance with a determination” or “upon detecting” or “in response to detecting” that the stated condition precedent is true, depending on the context.
Number | Date | Country | Kind |
---|---|---|---|
202141030964 | Jul 2021 | IN | national |