With the advent of new broadcast protocols, legacy devices might not be able to transmit or receive content or services conforming to the new protocols. For example, receivers might not understand the formatting of the new transmission protocol and thus, users may need to upgrade their hardware or firmware. Similarly, transmitters may need to be reconfigured to the new broadcast protocols. Content providers may also need to convert their content to the new broadcast protocol instead of the legacy formats used previously.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Aspects of the present disclosure relate to a system and method for tunneling legacy broadcast streams in a carrier stream. In one or more arrangements, the tunneled broadcast streams may include streams conforming to a first set of broadcast protocols while the carrier stream may conform to a second type of broadcast protocol. The first set of broadcast protocols may be legacy protocols. Each of the tunneled streams may be assigned to a physical layer pipe (PLP) within the carrier stream and have a corresponding broadcast protocol identified in a signaling section of the carrier stream. For example, the types of tunneled streams may be specified in a Layer 1 pre-signaling section (e.g., a TYPE field) while the particular PLPs corresponding to each of the tunneled streams may be defined in a Layer 1 post-signaling section (e.g., a PLP payload type parameter).
According to another aspect, program specific information/service information may be provided within each tunneled stream or in the carrier stream or both. In one example, service information may be stored in service descriptors of a service description table carried in a common PLP of the carrier stream. The service descriptors may include a service type parameter for which values may be defined for each of the various tunneled stream protocols. A common PLP may be accessed by all interested receivers regardless of which tunneled streams they are interested in. Thus, common PLP data may be applicable to all tunneled streams. Service information may correspond to both services currently available in the carrier stream and services that will be available in the future. A receiver may thus identify and save information for desired future services based on the service information transmitted in a currently available carrier stream.
Certain embodiments are illustrated by way of example and not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:
In the following description of the various embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which are shown by way of illustration various embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural and functional modifications may be made without departing from the scope of the present invention.
Although shown as a single network in
Devices 105-120 may be configured to interact with each other or other devices, such as content server 130 or service provider 125. In one example, mobile device 110 may include client software 165 that is configured to coordinate the transmission and reception of information to and from content provider/server 130. In one arrangement, client software 165 may include application or server specific protocols for requesting and receiving content from content server 130. For example, client software 165 may comprise a Web browser or mobile variants thereof and content provider/server 130 may comprise a web server. Billing services (not shown) may also be included to charge access or data fees for services rendered. In one arrangement where service provider 125 provides cellular network access, e.g. acts as a wireless service provider, client software 165 may include instructions for access and communication through the cellular network. Client software 165 may be stored in computer-readable memory 160 such as read only, random access memory, writeable and rewriteable media and removable media in device 110 and may include instructions that cause one or more components—e.g., processor 155, a transceiver, and a display—of device 110 to perform various functions and methods including those described herein.
Computer executable instructions and data used by processor 228 and other components of mobile device 212 may be stored in a storage facility such as memory 234. Memory 234 may comprise any type or combination of read only memory (ROM) modules or random access memory (RAM) modules, including both volatile and nonvolatile memory such as disks. Software 240 may be stored within memory 234 to provide instructions to processor 228 such that when the instructions are executed, processor 228, mobile device 212 and/or other components of mobile device 212 are caused to perform various functions or methods such as those described herein. Software may include both applications and operating system software, and may include code segments, instructions, applets, pre-compiled code, compiled code, computer programs, program modules, engines, program logic, and combinations thereof. Computer executable instructions and data may further be stored on computer readable media including electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, DVD or other optical disk storage, magnetic cassettes, magnetic tape, magnetic storage and the like. Some or all of the instructions implemented by processor 228 or other components so as to carry out the operations described herein may also be stored as hard-wired instructions (e.g., logic gates). For example, processor 228 could include one or more application specific integrated circuits (ASICs) configured to carry out operations such as those described herein.
Mobile device 212 or its various components may be configured to transmit and/or receive, decode and process various types of transmissions including digital broadband broadcast transmissions that are based, for example, on one or more Digital Video Broadcast (DVB) standards, such as Digital Video Broadcast—Handheld (DVB-H), Digital Video Broadcast—Terrestrial (DVB-T), Digital Video Broadcast—Second Generation Terrestrial (DVB-T2), Digital Video Broadcast—Next Generation Terrestrial (DVB-NGH), Digital Video Broadcast—Cable (DVB-C), Digital Video Broadcast—Second Generation Cable (DVB-C2), Digital Video Broadcast—Satellite (DVB-S), Digital Video Broadcast—Second Generation Satellite (DVB-S2) or Digital Video Broadcast—Multimedia Home Platform (DVB-MHP), through a specific broadcast transceiver 241. Other digital transmission formats may alternatively be used to deliver content and information regarding availability of supplemental services. Additionally or alternatively, mobile device 212 may be configured to receive, decode and process transmissions through FM/AM Radio transceiver 242, wireless local area network (WLAN) transceiver 243, and telecommunications transceiver 244. Transceivers 241, 242, 243 and 244 may, alternatively, include individual transmitter and receiver components. In one or more arrangements, mobile device 212 may further include a gyroscopic sensor (not shown) configured to determine an orientation of mobile device 212. According to one or more further aspects, mobile device 212 may include a GPS device for receiving and determining location information from one or more GPS satellites.
Although the above description of
Broadcast video content may be received by mobile device 212 (
Content servers 301a-301g may each include various components including a processor 309, random access memory (RAM) 311, read only memory (ROM) 313 and a database 315. Processor 309 may be configured to execute various instructions and to perform calculations for preparing and transmitting scalable video broadcasts. RAM 311 and ROM 313 may be configured to store instructions for execution or access by the processor 309. Database 315 may be used to store content, subscriber information, network information and the like.
Additionally, a receiver may identify the particular PLPs corresponding to each of the types of broadcasts carried in stream 401 using data specified in configurable portion 417 of L1 post-signaling section 419. As illustrated in
By using both pre-signaling and post-signaling to identify the types of streams tunneled in a carrier transport stream such as stream 401, a receiver need not examine each PLP's data in a post-signaling section (e.g., section 419) to determine whether a compatible or desired transmission exists in stream 401. Instead, the receiver might only have to examine the pre-signaling information (e.g., in section 421) to make such a determination thereby resulting in more efficient processing. If the stream includes a compatible or desirable transmission, the receiver may then examine the individual PLPs to retrieve the content. Additionally, by indicating in the pre-signaling information that a stream includes tunneled transmissions, a receiver would know not to operate under the assumption that the post-signaling information and the stream only include data corresponding or formatted according to the broadcast protocol in which the stream was transmitted. For example, if tunneling information is not provided in the pre-signaling section in the case of DVB-T2, a receiver might assume that program specific information/service information (PSI/SI) is separated from a corresponding content stream, modified to include DVB-T2 specific signaling and at least partially carried in a common PLP. For tunneled transmissions, such assumptions may be inaccurate since PSI/SI might actually be carried within each content stream and might not include DVB-T2 specific signaling.
PSI/SI may be stored in a variety of ways.
Descriptor_Tag: An 8-bit field which identifies each descriptor.
Descriptor_Length: An 8-bit field specifying the total number of bytes of the data portion of the descriptor following the byte defining the value of this field.
Service_Type: An 8-bit field specifying the type of service. Types of service may include digital television service, digital radio service, teletext service, DVB-T tunneled service, DVB-C tunneled service, DVB-C2 tunneled service and the like. A listing of service_types and corresponding values according to one or more aspects of the present disclosure is illustrated in
Service_Provider_Name_Length: This 8-bit field specifies the number of bytes that follow the service_provider_name_length field for describing characters of the name of the service provider. A service provider's name may be, for example, YLE or CBS.
Service_Name_Length: This 8-bit field specifies the number of bytes that follow the service_name_length field for describing characters of the name of the service. An example of a service name may include “Television Show 1,” or “DVB-C services.”
Accordingly, not only is a receiver able to identify the particular PLPs corresponding to a tunneled service, it may also determine a service name and service provider name associated with the service. For example, a service provider name may correspond to the name of a content provider from which a tunneled DVB-C2 stream is received. Similarly, the service name may correspond to a channel name (e.g., “Channel 2”) or content package name (e.g., “Sports Content Package”). The service descriptors for each tunneled stream or service may be stored in a service description table (SDT) of the carrier transport stream.
According to one or more aspects, PSI/SI may include information for content or services that will be broadcast in future transmission frames and that might not be included in the present frame or superframe. By identifying future broadcast services and content, a content provider may notify a user of future programming in which the user may be interested. If the user is interested in a future broadcast, the receiver may examine a network information table to determine additional information about the broadcast such as a transport stream id of a transport stream carrying the broadcast, a broadcast time, whether the broadcast includes scalable content and the like. Such additional information may be defined using various parameters (e.g., transport_stream_id) and descriptors (e.g., advanced_scalable_video_codec descriptor) included in the network information table.
PSI/SI carried within a common PLP may be specific to the carrier protocol, e.g., DVB-T2/NGH. In one or more arrangements, such PSI/SI (i.e., PSI/SI provided in the common PLP of the carrier stream) may require an operator to inspect incoming streams and configure PSI/SI carried within the common PLP in accordance with DVB-T2/NGH protocol. In contrast, when the stream is tunneled as ‘a whole’ through PLP, the operator might not need to inspect inside the stream and thus, the PSI/SI may remain unchanged (e.g., no configuration of the PSI/SI may be needed).
In step 1120, the broadcast service may define PSI/SI by creating service descriptors for each of the tunneled streams. The service descriptors may be defined in a service description table stored in a common PLP of the carrier transport stream (i.e., the DVB-T2 transport stream). A service_type field of each service descriptor may further be assigned a value indicative of the transport protocol (e.g., DVB-T, DVB-C, DVB-S, etc.) in which the corresponding tunneled stream is formatted in step 1125. In one or more arrangements, a common PLP may also be defined for storage of data common to all services in step 1130 including the PSI/SI defined in the service descriptors. Upon defining the above parameters and variables of the transmission, the carrier DVB-T2 transport stream may be transmitted to one or more receiving devices in step 1135.
In one or more examples, each of receivers 1207a-1207f may be registered with DVB-T2/NGH transceiver 1205 either manually (e.g., via user configuration and input) or automatically. If registration is performed manually, a user may provide address and other identification information of each of receivers 1207a-1207f to transceiver 1205. Alternatively or additionally, registration may include automatic detection of receivers 1207a-1207f and/or transceiver 1205 being connected to a network or directly to one or more of receivers 1207a-1207f. Transceiver 1205 may further automatically determine device capabilities by sending requests to each of receivers 1207a-1207f for capability information. Alternatively, receivers 1207a-1207f may automatically send such information upon detecting the presence of another receiver (e.g., transceiver 1205) being connected to network 1203.
Once all signaling data has been received, the transceiver may inspect a TYPE field in the L1 pre-signaling section of the signal in step 1420. In step 1425, the transceiver may determine whether there are any tunneled streams of interest signaled in the pre-signaling section. This determination may be made based on device or user profile information indicating the types of content that is compatible with a user's device. For example, the user may specify that his or her receiver is able to receive DVB-T and DVB-S streams but not DVB-C streams. If no streams of interest are identified from the signal, the transceiver may then determine if all frequencies have been scanned in step 1430. If not, the transceiver may return to step 1400 to continue scanning other frequencies for additional DVB-T2/NGH signals. If all frequencies have been scanned, the transceiver may exit the process.
If, however, there are streams of interest in the DVB-T2/NGH signal, the transceiver may subsequently inspect a PLP_PAYLOAD_TYPE of each PLP carried in the signal in step 1435. PLP parameters and specification may be stored in an L1 post-signaling section as described herein. In step 1440, a list of the PLPs corresponding to the streams of interest may be stored at the transceiver. The list of PLPs may include PLP_IDs of the PLPs of interest, a description of the content carried therein, the content itself and/or combinations thereof. Additionally, in step 1445, the transceiver may further inspect the PSI/SI in the signal to identify other services of interest. In one example, inspecting the PSI/SI of the signal may include the transceiver identifying services having service types matching the service type of the identified PLPs of interest. The service types may, for instance, be configured to specify types of tunneled streams using new service_type values as illustrated in the example embodiment of
The transceiver may further transmit the identified currently available services of interest to one or more receivers having the capability to process the services provided in the PLPs in step 1455. In one example, the list of PLPs of interest may be identified or transmitted to the one or more receivers. The receivers may then request and receive various content streams based on the identified PLPs in the list and receiver compatibility. The process may then return to step 1430.
The above method may be used for any transceiver able to process a protocol to which a carrier transport stream having one or more tunneled streams conforms. Such protocols any currently existing or future protocols that facilitate the tunneling of streams within a carrier stream.
It should be understood that any of the method steps, procedures or functions described herein may be implemented using one or more processors in combination with executable instructions that cause the processors and other components to perform the method steps, procedures or functions. As used herein, the terms “processor” and “computer” whether used alone or in combination with executable instructions stored in a memory or other computer-readable storage medium should be understood to encompass any of various types of well-known computing structures including but not limited to one or more microprocessors, special-purpose computer chips, digital signal processors (DSPs), field-programmable gate arrays (FPGAS), controllers, application-specific integrated circuits (ASICS), combinations of hardware/firmware/software, or other special or general-purpose processing circuitry.
The methods and features recited herein may further be implemented through any number of computer readable media that are able to store computer readable instructions. Examples of computer readable media that may be used include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, DVD or other optical disk storage, magnetic cassettes, magnetic tape, magnetic storage and the like.
Additionally or alternatively, in at least some embodiments, the methods and features recited herein may be implemented through one or more integrated circuits (ICs). An integrated circuit may, for example, be a microprocessor that accesses programming instructions or other data stored in a read only memory (ROM). In some such embodiments, the ROM stores programming instructions that cause the IC to perform operations according to one or more of the methods described herein. In at least some other embodiments, one or more the methods described herein are hardwired into an IC. In other words, the IC is in such cases an application specific integrated circuit (ASIC) having gates and other logic dedicated to the calculations and other operations described herein. In still other embodiments, the IC may perform some operations based on execution of programming instructions read from ROM or RAM, with other operations hardwired into gates and other logic of IC. Further, the IC may output image data to a display buffer.
Although specific examples of carrying out the invention have been described, those skilled in the art will appreciate that there are numerous variations and permutations of the above-described systems and methods that are contained within the spirit and scope of the invention as set forth in the appended claims. Additionally, numerous other embodiments, modifications and variations within the scope and spirit of the appended claims will occur to persons of ordinary skill in the art from a review of this disclosure.
This application is a non-provisional application of and claims the benefit of priority from U.S. Provisional Patent Application No. 61/236,932, entitled “TUNNELING AND SIGNALING OF CONTENT IN LEGACY FORMATS,” and filed on Aug. 26, 2009, the content of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61236932 | Aug 2009 | US |