Communication networks, such as digital broadcast networks, enable end users with electronic devices to receive digital content from various service and content providers. To communicate services and content, the network may use various standards, such as those developed by the Digital Video Broadcast (DVB) Project, which implement a layered protocol stack such as the one described by the Open Systems Interconnection (OSI) Reference Model. Within the network protocol, transport streams may be defined to encapsulate individual components of programs or other services. Such components may include, for example, audio, video, or text components of a program or service. The network may also carry a service guide (SG), which describes for users the services and content available for subscription or purchase.
Within the communication network, digital content can be transmitted in a cell, which is a geographical area covered by a terrestrial transmitter. A cellular network may have multiple cells and cells may be adjacent to other cells. When a device moves between cells, a handover procedure may be initiated. Performing a handover may allow for an electronic device to continue receiving services or programs from the communication network in a neighboring cell.
The same digital content may also be transmitted from a satellite over a satellite coverage area, which may overlap or be adjacent to the cellular network. In some circumstances, it may be desirable to perform a handover to the satellite-transmitted signal when the electronic device moves into a satellite coverage area. However, the electronic device in a cellular network may not be aware of the satellite signal and/or may not have the required signaling information to perform the handover.
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 various embodiments, nor is it intended to be used to limit the scope of the claims.
Embodiments include a hybrid satellite/terrestrial wireless network having a plurality of terrestrial cells and satellite coverage areas. A multiplex transmitted in a terrestrial cell or satellite coverage area may include signaling information for neighboring terrestrial cells and neighboring satellite coverage areas. A multiplex may comprise a plurality of services, service components, and/or signaling information multiplexed in the same broadcast transmission. Examples of such multiplex may include multiplexing of MPEG-2 transport steams (TS) or elementary streams (ES), Generic Encapsulated Stream (GSE), or internet protocol (IP) data.
In some variations, the signaling information may include indicators identifying different profiles for the hybrid satellite/terrestrial network, and may include other information enabling handover from a terrestrial cell multiplex or satellite multiplex to one of the neighboring terrestrial or satellite multiplexes.
Some aspects include apparatuses, methods, and computer readable media for receiving the multiplexes, decoding the signaling information for neighboring terrestrial and satellite multiplexes, and performing a handover to one of the neighboring multiplexes based on the signaling information.
Other aspects may include apparatuses, methods, and computer readable media for generating the signaling information, and causing transmission of the generated information to a receiving device.
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 various illustrative 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.
As seen in
Although shown as a single network in
Devices 105-120 may be configured to interact with each other or other devices, such as content provider/server 130 or service provider server 125. In one example, devices 105, 110, 115, and 120 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 provider/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, satellite, and/or wireless network access, client software 165 may include instructions for access and communication through the cellular, satellite and/or wireless 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—for example, processor 155, a transceiver, and a display—of devices 105/110/115/120 to perform various functions and methods including those described herein.
Ultimately, mobile terminals or devices 112 may selectively receive and consume digital content originating from digital content sources 104, via one or more terrestrial or satellite transmissions. Communication over the communication network may be unidirectional or bi-directional, with mobile terminals or devices 112 selectively transmitting digital content to other mobile terminals or devices 112, to digital content sources 104, or to other devices configured to receive digital content through the communication network (for example, via tower 101 and/or satellite link 107). Devices 112 may be the same or similar to devices 105, 110, 115, and 120 in
A communication system may be comprised of a plurality of communication coverage areas.
One or more of the cells and satellite coverage areas in
In various embodiments, a hybrid terrestrial/satellite network may be part of a digital broadcast network (for example, DVB-NGH) having different profiles, each profile operating according to different sets of transmission coding schemes and parameters. In certain variations, the terrestrial and/or satellite transmitted multiplexes may use different encoding schemes, for example, orthogonal frequency division multiplexing (OFDM) or single carrier orthogonal frequency division multiplexing (SC-OFDM). For each different coding scheme, each multiplex may further use different transmission parameters (for example, FFT size, guard interval, etc.)
One example profile of a hybrid network may include an MFN using OFDM encoding (i.e., MFN-OFDM), where each coverage area may transmit its multiplex on a different frequency (MFN) using an OFDM transmission scheme, and where the terrestrial transmitters and the satellite transmitters are configured according to different sets of transmission parameters, respectively (i.e., a terrestrial OFDM parameter set and a satellite OFDM parameter set).
Another example profile of a hybrid network may include a SFN using OFDM encoding (i.e., SFN-OFDM), where each coverage area may transmit its multiplex on the same frequency (SFN) using an OFDM transmission scheme, and using a common set of transmission parameters (i.e., a terrestrial/satellite OFDM parameter set).
A further example profile of a hybrid network may include a SFN using SC-OFDM encoding (i.e., SFN-SC-OFDM), where each coverage area may transmit its multiplex on the same frequency (SFN) using a SC-OFDM transmission scheme, and using a common set of transmission parameters (i.e., a terrestrial/satellite SC-OFDM parameter set).
Still a further example of a hybrid network may include an MFN using SC-OFDM encoding for the satellite transmitters and OFDM encoding for the terrestrial transmitters (i.e., MFN-SC-OFDM/OFDM), where each coverage area may transmit its multiplex on a different frequency (MFN) using different transmission schemes, and where the terrestrial transmitters and the satellite transmitters are configured according to different sets of transmission parameters, respectively (i.e., a terrestrial OFDM parameter set and a satellite SC-OFDM parameter set).
Various other examples of hybrid networks include further combinations of SFN/MFN, SC-OFDM/OFDM, terrestrial and/or satellite parameter sets.
Device 212 may also include a battery 250 or other power supply device, speaker 253, and one or more antennae 254. Device 212 may include user interface circuitry, such as user interface control 230. User interface control 230 may include controllers or adapters, and other circuitry, configured to receive input from or provide output to a keypad, touch screen, voice interface—for example via microphone 256, function keys, joystick, data glove, mouse and the like. The user interface circuitry and user interface software may be configured to facilitate user control of at least some functions of device 212 though use of a display 236. Display 236 may be configured to display at least a portion of a user interface of device 212. Additionally, the display may be configured to facilitate user control of at least some functions of the device (for example, display 236 could be a touch screen).
Computer executable instructions and data used by processor 228 and other components of computing device 212 may be stored in a storage facility such as memory 234 and/or in hardware logic in an integrated circuit, ASIC, etc. Memory 234 may include any of various types of tangible machine-readable storage medium, including one or more of the following types of storage devices: read only memory (ROM) modules, random access memory (RAM) modules, magnetic tape, magnetic discs (for example, a fixed hard disk drive or a removable floppy disk), optical disk (for example, a CD-ROM disc, a CD-RW disc, a DVD disc), flash memory, and EEPROM memory. As used herein (including the claims), a tangible machine-readable storage medium is a physical structure that may be touched by a human. A signal would not by itself constitute a tangible machine-readable storage medium, although other embodiments may include signals or other ephemeral versions of instructions executable by one or more processors to carry out one or more of the operations described herein.
Software 240 may be stored within memory 234 to provide instructions to processor 228 such that when the instructions are executed, processor 228, device 212, and/or other components of 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
Device 212 or its various components may be mobile and be configured to receive, decode and process various types of transmissions including digital broadband broadcast transmissions that are based, for example, on a Digital Video Broadcast (DVB) standard, such as DVB-NGH, DVB-H, DVB-T2, DVB-S, hybrid satellite/terrestrial architectures, and/or Digital Video Broadcasting—Multimedia Home Platform (DVB-MHP), through a specific one or more transceivers 241. Other digital transmission formats may alternatively be used to deliver content and information regarding availability of supplemental services. Additionally or alternatively, device 212 may be configured to receive, decode, and process transmissions through various transceivers, such as FM/AM Radio transceiver 242, wireless local area network (WLAN) transceiver 243, and telecommunications transceiver 244.
Although the above description of
Some digital video broadcasting protocols provide signaling information to allow for the discovery and reception of services and other data at an electronic device (for example, device 212 of
Audio/Video (AV) content is another example of component transmission. For scalable video coding, a service may include an audio component, a base layer video component, and an enhancement layer video component. The base layer video component may have lower resolution than the enhancement layer video component. The AV components of each service might not be shared with other services, and may be sufficiently synchronous with each other to avoid synchronization problems at a receiver.
According to some digital video broadcasting protocols, components that make up a particular service like a content program or an interactive function are mapped across a number of protocol layers. The Open Systems Interconnection (OSI) Reference Model, for example, provides for a layered communication architecture including a physical layer (Layer 1, L1), a data link layer (Layer 2, L2), a network layer (Layer 3, L3), a transport layer (Layer 4, L4), a session layer (Layer 5, L5), a presentation layer (Layer 6, L6), and an application layer (Layer 7, L7).
At the lowest level, the physical layer (for example, L1), as used herein, generally refers to a portion of a network protocol that is configured to define hardware-specific operations for effecting the transmission or reception of electronic signals over a data network. The physical layer is configured to facilitate the transmission of raw bits from a source to a destination. The physical layer may be configured to specify frequencies, voltages, bit rates and the like for transmission of data. The physical layer may include a number of physical layer pipes (PLPs).
A PLP generally refers to a transmission channel between a source and a destination node defined at the physical layer. The physical layer may define multiple channels—pipes—through which raw bits representative of the data such as broadcast data may be sent. For example, different broadcast services, service components, and data associated therewith may be mapped to different physical layer pipes through which the data is transmitted. Accordingly, the physical layer may be configured to identify the appropriate transmission channel for a series of bits corresponding to a particular service and transmit the data through the identified channel or pipe. In a broadcast arrangement, a PLP may be established between a source and multiple destinations. In one example, a PLP may correspond to a physical layer time multiplexed channel that is carried by specified slices of a transmission stream (for example, a DVB-T2 stream, which uses time-division multiplexing). A PLP may also correspond to a physical layer multiplexed channel within a plurality of frequencies, for example as in the time-frequency slicing mode of DVB-T2 or DVB-NGH. When an end-user device wishes to access a component of a particular service, the end-user device may identify the corresponding PLP or PLPs from which to access the service data.
In the broadcast scenario, a receiving device may listen for the particular PLP or PLPs carrying the desired service or services. Example embodiments permit transmission of multiple service components within the same PLP or different PLPs, as well as with different robustness levels for each PLP containing the components. Each physical layer multiplex may be transmitted in one or more of the coverage areas illustrated in
Grouped PLPs for a particular LLP may be defined by specified cells or slices and packet sizes in a transmission stream. For example, a first PLP for an LLP might be defined as occupying the first, fifth, and ninth slices in a payload portion of a DVB-T2 frame. PLPs may occupy different numbers of available cells or slices; for example, a PLP may be twice as large as another PLP and, therefore may occupy twice the number of available cells. A remainder of a DVB-T2 frame may be apportioned to header data and other LLP frames of other services.
The data depicted in
Above the physical layer (for example, digital broadcast data) 325, upper level data (for example, service data 301 and service guide data 302) may be carried within one or more Internet Protocol (IP) streams at the IP stack layer 310, which is encapsulated into sections as encapsulation data 315, which may be encoded into transport streams as frame data 320. Encapsulation data 315 and internet protocol data 320 together may form an MPEG-2 transport stream, or alternatively, may form Generic Stream Encapsulation (GSE) frames, or some other encapsulation frames.
As previously discussed, the service guide data (SG) 302 describes for users the services and content available for subscription or purchase. One example of SG data 302 transmitted on top of layer 3 Internet Protocol 310 is described for example in the Open Mobile Alliance (OMA)—Service Guide for Mobile Broadcast Services specification, OMA-TS-BCAST_Service_Guide-V1—1, dated Sep. 14, 2010 (hereinafter OMA BCAST ESG). The OMA BCAST ESG standard is incorporated herein by reference in its entirety.
The services may include audio, video, and other types of data, and may include Open Mobile Alliance Mobile Broadcast (OMA BCAST) services. The service data and the SG data may be transmitted through a variety of types of networks according to many different protocols. For example, data may be transmitted through a collection of networks usually referred to as the “Internet” using protocols of the Internet protocol suite, such as Internet Protocol (IP) and User Datagram Protocol (UDP). Data may be transmitted through the Internet addressed to a single user. Data may also be addressed to a group of users, commonly known as multicasting.
The service guide enables a terminal to communicate what services are available to end users and how the services may be accessed. The SG may include independently existing pieces of SG fragments. In various examples, SG fragments include XML and/or binary documents, and may encompass a vast array of items, such as for example, a SDP (Session Description Protocol) description of media files, textual files, and/or an image. In some variations, SG fragments may each be separate well-formed XML documents that are uniquely identifiable, and the entire SG may be defined as a set of these fragments. Because each fragment is a complete XML document, which is unique, the fragments may be individually replaced and updated as programming content and services change.
The SG fragments describe one or several aspects of currently available (or future) services, content, or broadcast programs. Such aspects may include for example: free text description, schedule, geographical availability, price, purchase method, genre, and supplementary information such as preview images or clips.
The SG fragments may be organized and formatted to provide different types of information. For example, some fragments may describe a broadcast service and include metadata that identifies components associated with the service, availability of the service, and an overall description of the service. Such fragments may point to other fragments, which provide further details of the service. The other fragments may provide detailed descriptions of components within a service, define timeframes of the components are streamed/downloaded and rendered, describe capabilities and options for a terminal to access content and services, describe groups of services which may be provided together, describe purchase and pricing information for groups of services, describe subscription channels on which purchased services may be obtained, provide preview information, and provide information about interactivity of services.
Certain SG fragments may also provide session description information for each service, which includes information for session initiation of a service, such as a multimedia service. These fragments may include session description information that conveys session announcements, and other description information used for delivery procedures to initiate a session of a service. The session description information in the SG for a service may be formatted according to the Session Description Protocol (SDP) as defined for example in the Request for Comment standard, RFC4566, published by the Internet Engineering Task Force (IETF), or according to 3GPP the MBMS User Service Bundle Description standard 3GPP TS 26.346.
For each service, certain SG fragments may provide access information that describes how a client device may access the service. These fragments may include information on the delivery method of the service, the required capabilities of the client device to use the service, and provide alternative ways to access or interact with the service. The access fragments may include reference to the fragments with session description information described above, or include the session description information directly in SDP format or another format.
Each service included in the SG information may have a global service identifier, which may be a unique identifier of the service. Each service may be associated with one or more components that may respectively transport audio, video, text, etc. Each component may be associated with a uniform resource identifier (URI) to identify information corresponding to the component. In various examples, using SG information and signaling information as further described below with respect to
In some embodiments, ULI 407 and NMI 402 may be carried on top of OSI layer 3 information. For example, ULI 407 and NMI 402 may be carried on top of the Internet Protocol layer, which includes Internet Protocol data 400. Below the Internet Protocol layer may be data that includes encapsulation data 403, frame data 404 and digital broadcast data (e.g., DVB-NGH data) 405. L1 signaling 406 may be carried with the digital broadcast data 425. An example of frame data 404 is the baseband frame of the DVB-NGH system. An example of the digital broadcast data is the physical layer data transmitted according to the DVB-NGH system.
In various embodiments, the ULI 407 and NMI 402 signaling data may be allocated in dedicated and/or dynamically allocated IP addresses and ports, or may be included within a dedicated PLP. In certain variations, the ULI 407 and NMI 402 signaling may be carried within the service guide information (for example, in SG data 302).
ULI 407 may include information that maps services into the component identifiers for the services, and may include SG specific signaling information and/or other upper layer transmission protocol data, such as data of protocols defined in OMA BCAST ESG and/or DVB Internet Protocol Device Control (IPDC). Additionally, the ULI may include information that maps services into component identifiers for the services and provides Robust Header Compression (RoHC) information for each data stream.
One example of ULI 407 is illustrated in
Referring to the information included within the service_association section 502, a section_length parameter may be a field (for example, a 32 bit field) that indicates the length of the service association section and a number_of_services parameter may be a field (for example, an 8 bit field) indicating the number of services delivered through the current channel (for example, multiplex). In the representation of
Each service may include one or more components, and the number_of_components parameter may be a field (for example, 8-bit field) used to indicate the number of components delivered through the corresponding service. In the representation of
For each component of each service, a resource length parameter (for example, URI_length) may be a field (for example, 8 bit field) used for indicating the length of the URI for that service/component. In the representation of
The URI_byte or (IP_address:port) parameter(s) may be a string of one or more bytes (for example, text bytes), which indicate the URI or number sequence (for example, IPv4/IPv6 address and port number) for locating a service/component identified by the data block within the sequence of data blocks associated with a given “i” and “j” in the representation of
In addition to the URI location identifier string, a number of other parameters are provided for each service/component to support RoHC decompression. These may include a context_id parameter indicating the context id of the RoHC compressed IP stream, the context_profile parameter indicating context profile of the compressed IP stream, the static_info_length parameter indicating the length of the static_chain_byte sequence, and the static_chain byte parameter, which may be a byte sequence indicating the static information of the compressed IP stream.
The RoHC may use two kinds of context IDs (CIDs), a small CID and a large CID. The small CID may be one octet from 1 to 15, and the large CID may be one or two octets from 1 to 16383. The size of context id may be determined as follows. If the CID starts with “1110”, the CID is one octet, and the remaining 4 bits indicate a value ranging from 1-15. If the CID starts with a “0”, the CID is a large CID having one octet, with the remaining 7 bits indicating a value from 1-127. If the CID starts with “10”, the CID is a large CID with two octets, with the remaining 14 bits indicating a range of 1-16383.
For each component of each service, a PLP_ID parameter may be a field (for example, 8 bit field) identifying uniquely the physical layer pipe (PLP) through which the corresponding component is delivered.
ULI 502 may further include Anchor_flag, MIMO_mode, and FRU parameters for each component. The Anchor_flag parameter for each component may be a field (for example, 1 bit field) indicating that the PLP for this component is an anchor for all associated PLPs for the associated service, i.e. PLPs associated mutually with the anchor PLP have the same parameters, which are mapped with the anchor PLP. The MIMO_mode parameter, which may be a field (for example, 2-bit field), may indicate a single-input-single-output/multiple-input-multiple-output (SISO/MIMO) profile for the PLP carrying the component. Single and multiple refers to the number of antennas used in the transmitter and receiver, whereas the output refers to the receiver and the input refers to the transmitter.
A PLP may comprise multiple frames, which may be used to allow for the fair division of resources in a broadcast transmission stream. Accordingly, a first frame of a PLP may be transmitted at time T1, while a second frame may be transmitted at time T2 and a third frame may be transmitted at time T3. PLP frames may vary in size from frame to frame. A T_INT_APLF parameter and a BS_APLPF parameter may also be included in ULI 407 for each service. The T_INT_APLF parameter, which may be for example 16 bits, may define the amount of time (for example in milliseconds or in OFDM symbols) between two consecutive frames of all service associated PLPs. During the time between the service associated PLPs, other PLPs in other frames may be transmitted. The BS_APLPF parameter, which may be 24-bits, may indicate a maximum buffer size (for example, in OFDM symbols) for the service associated PLP frames. Based on the T_INT_APLF and BS_APLPF parameters, a receiver may determine if the previous associated PLP frames may be processed during this time in order to free available buffer space for receiving the next associated frame.
A cyclic redundancy check (CRC) parameter (for example, CRC—32) may contain a CRC value for performing a redundancy check. In one example, CRC—32 may be a 32-bit field that contains the value that gives a zero output of the registers in the CRC decoder.
As previously discussed, signaling information for a digital broadcast system may include neighboring multiplexes information (NMI) 402 as shown in
Referring to 504, a section length parameter (for example, section_length) may indicate the entire length of the section. A number_of neighbour_multiplexes parameter may indicate the number of neighbouring multiplexes described in 504, which may indicate the number of iterations of the pseudo-code loop following the number_of neighbour_multiplexes parameter. In an actual NMI signalling structure, the number_of neighbour_multiplexes parameter could represent a number of consecutive data blocks, with each of those blocks including data of the types described below and corresponding to other parameters in 504 between “for (i=0; i<number_of neighbour_multiplexes; i++)” and “CRC—32.”
For each neighbour multiplex (i.e., each iteration of the pseudo-code loop), the neighboring multiplex section 504 may include a network_id parameter, a service_association_section, and a mux_information_section or a sat_mux_information section. The network identifier (for example, network_id) may be used for uniquely identifying the neighboring network (for example, cell or satellite coverage area) carrying the multiplex. The service association section, may be similar to the service association section 502 in ULI 407 illustrated in
In 506, the NGH_system_id parameter may be used to indicate the configuration of the multiplexing of the frame, i.e., frames having the same NGH_system_id may have the same configuration.
A cell identifier (for example, cell_id) may be used for identifying a cell. In one example, the cell_id for each cell may be unique within a single network.
A number_RF parameter may indicate the number of RF carriers for the neighboring multiplex in the terrestrial cell. In the representation of 506, number_RF indicates the number of iterations of the pseudocode loop following the number_RF parameter. In an actual NMI signaling structure, the number_RF parameter could represent a number of consecutive data blocks, with each of those blocks including data of the types described below and corresponding to other parameters in 506 in the loop beginning with “for (i=0;i<number_RF; i++).” For each RF carrier of the neighboring multiplex, 506 may include the following parameters.
An RF_id may identify the RF carrier with a unique value within the neighboring cell.
A bandwidth parameter may indicate the bandwidth used within PLPs within the neighboring multiplex.
The transmission_mode parameter may indicate the transmission mode, for example, FFT size used within the PLPs.
A guard interval field (for example, GUARD_INTERVAL) may be used for indicating the guard interval of the current super-frame of the neighboring multiplex.
A common_clock_reference_id parameter may indicate the synchronization information between frames carried within two different signals, i.e., the receiver is able to determine the jitter between two different frames when performing handover.
An in_band_flag parameter may indicate whether in-band signaling is used within the neighboring multiplex. If the in_band_flag parameter is set, 506 may include ngh_slot_length and ngh_slot_interval parameters. The ngh_slot_length parameter may indicate the slot length of particular NGH slot. The ngh_slot_interval parameter may indicate the interval between NGH slots. If the in_band_flag parameter is not set, the ngh_slot_length and ngh_slot_interval parameters might not be included in 506.
A number_of_LNC parameter may indicate the number of logical network channels (LNCs) within the neighbouring terrestrial multiplex. In the representation of 506, the number_of_LNC parameter may indicate the number of iterations of the pseudocode loop following the parameter. In an actual NMI signalling structure, the number_of_LNC parameter could represent a number of consecutive data blocks, with each of those blocks including data of the types described below and corresponding to other parameters in 506 in the loop beginning with “(i=0; i<number_of_LNC; i++).” For each LNC, an RF_main parameter and one or more PLPs are identified. The RF_main parameter indicates the main frequency in an associated NGH frame. Following the RF_main parameter in 506, a nof_PLP parameter indicates the number of PLPs within the LNC. The nof_PLP parameter indicates the number of iterations of the pseudocode loop following the parameter. In an actual NMI signalling structure, the nof_PLP parameter could represent a number of consecutive data blocks, with each of those blocks including a PLP_id identifying one of the PLPs within the LNC.
In sat_mux_information_section 508, the parameters and the number of bits (identified in the “bits” column) for each field have been selected such that parameters for multiple different profiles may be signaled. Other examples may include a subset of these parameters or additional parameters, and the parameters in various examples may include more or less bits.
In 508, a number_of_frequencies parameter may indicate the number of RF carriers available from the neighboring satellite multiplex. In the representation of 508, number_of_frequencies indicates the number of iterations of the pseudocode loop following the number_of_frequencies parameter. In an actual NMI signaling structure, the number_of_frequencies parameter could represent a number of consecutive data blocks, with each of those blocks including data of the types described below and corresponding to other parameters in 508 in the loop beginning with “for (i=0;i<number_of_frequencies; i++).” For each RF carrier of the neighboring satellite multiplex, 508 may include the following parameters.
A frequency parameter field in 508 may include one or more bits (for example, 32 bits) that indicate the frequency of the RF signal carrying the neighboring satellite multiplex.
An orbital_position field in 508 may include one or more bits (for example, 16 bits) that indicate the orbital position in degrees. In one example, a 16-bit field may be portioned into four 4-bit binary-coded-decimal (BCD) values with a decimal point occurring after the third value (e.g. 019.2°). In other variations, orbital position may be represented in other units of measure.
A west_east_flag field in 508 may include one or more bits (for example 1 bit) that indicate if the satellite position is in the western or eastern part of the orbit. A value “0” may indicate the western position and a value “1” may indicate the eastern position. The assignment of value to position may be the opposite (for example, ‘1’=western, ‘0’=eastern) in certain variations.
A polarization parameter field may include one or more bits (for example 2 bits) that indicate the polarization of the RF signal carrying the neighboring satellite multiplex. Table 1 below illustrates a signaling definition of the polarization field. Table 1 is an example only, and in other variations, each polarization parameter may be associated with a different number of bits and different bit combination. In some variations, as in the example below, the first bit may indicate whether the polarization is linear or circular.
A satellite_profile field may include one or more bits (for example 2 bits) that indicate a transmission profile for the hybrid network system. Illustrative profiles are described above with respect to
As previously discussed with respect to
In the SFN-OFDM and SFN-DC-OFDN profiles, the terrestrial transmitters in neighboring cells and the satellite transmitters for satellite coverage areas may transmit the same signal. As such, the mux_information_section, and the sat_mux_information_section may indicate similar signaling parameters.
A bandwidth parameter field in 508 may include one or more bits (for example 5 bits) that indicate the bandwidth of the RF signal carrying the neighboring satellite multiplex. Table 3 below illustrates a signaling definition of the bandwidth field. Table 3 is illustrative only, and in other variations, each bandwidth value may be associated with a different number of bits and different bit combination.
A preamble_type parameter field in 508 may include one or more bits (for example 1 bit) that indicate a preamble type for frames in the transmission scheme (for example, OFDM or SC-OFDM transmission schemes). For example, preamble_type may indicate the number of P1 symbols in an OFDM or SC-OFDM encoding scheme. Table 4 below illustrates a signaling definition of the preamble_type field. Table 4 is illustrative only, and in certain variations, each preamble_type value may be associated with a different number of bits and different bit combination. Alternatively, the preamble_type field may not be present for certain satellite profiles since there may be only one possible preamble_type.
An FFT_size parameter field in 508 may include one or more bits (for example 3 bits) that indicate a fast Fourier transform configuration used in the satellite transmission. Table 5 below illustrates a signaling definition of the FFT_size field. Table 5 is illustrative only, and in certain variations, each FFT_size value may be associated with a different number of bits and different bit combination. In some variations, FFT_size field may indicate the same information as the transmission_mode field in the mux_information_section 506.
A guard_interval parameter field in 508 may include one or more bits (for example, 3 bits) that indicate a guard_interval used in the transmission encoding (for example, OFDM) used in the neighboring satellite transmission. Table 6 below illustrates a signaling definition of the guard_interval field. Table 6 is illustrative only, and in other variations, each guard_interval value may be associated with a different number of bits and different bit combination. In some variations, the guard_interval field may indicate the same information as the guard_interval field in the mux_information_section 506.
A pilot_pattern field in 508 may include one or more bits (for example, 3 bits) that indicate a pilot pattern used in the transmission encoding scheme used in the neighboring satellite transmission. For example, in OFDM, the pilot_pattern may indicate a pattern of training symbols distributed on sub-carriers and known to the receiver for performing channel estimation. Table 7 below illustrates a signaling definition of the pilot_pattern field, which includes seven different predefined pilot patterns, which are known to receivers. Table 7 is illustrative only, and in other variations, each pilot_pattern value may be associated with a different number of bits and different bit combination. The definition of each pilot_pattern parameter may be specific to the transmission scheme (for example, OFDM).
A frame_synch_offset parameter field in 508 may include one or more bits (for example 2 bits) that indicate an offset between the physical layer frame transmitted within the current (i.e., local) multiplex and the physical layer frame transmitted within the associated neighboring multiplex. In some embodiments, the frame_synch_offset parameters may be replaced by the common_clock_reference_id parameter to indicate the synchronization information between frames carried within two different signals. In both embodiments, a receiver is able to determine the jitter between two different frames when performing handover.
Each service carried by the neighboring satellite multiplex may include one or more components, and the number_of_components parameter may be a field (for example, 8-bit field) used to indicate the number of services/components available on the neighboring satellite multiplex. In the representation of
Within the loop, a component_id parameter may include one or more bits (for example 8 bits) that indicate a ‘short_id’ or index which is used for the identification of services/components within the current (i.e., local) and neighboring cell and satellite multiplexes. The component_id parameter may be unique for each multiplex, and hence, it may be re-used by each multiplex for its signaling of local and adjacent services.
For each component of each service, a PLP_ID parameter may be a field (for example, 8 bit field) identifying uniquely the physical layer pipe (PLP) through which the corresponding service/component is delivered.
Sat mux_information_section 510 includes a pseudocode conditional if-then statement, with each branch of the if-then statement representing a different set of parameters included in the section depending upon the profile. In an actual NMI signaling structure, only the parameters in one of the if-then branches is included the section depending upon the value of the satellite_profile parameter. The size and definition of each parameter may be different for different profiles as indicated below.
In various examples, parameter fields: bandwidth, preamble_type, FFT_size, guard_interval, and pilot_pattern may include a different number of bits having different assigned values for different values of satellite_profile. For example, if satellite_profile=‘10’, there may be no pilot_pattern field at all. This reduces the needed signaling capacity for the ‘10’ profile.
In
The following tables illustrate the mapping of the signaling field values to the parameters according to various embodiments. In the tables below, for each satellite profile value, the number of bits of each field may be different. For example, in profiles ‘01’, ‘11’, and ‘00’, the preamble_type parameter may be defined as illustrated above with respect to Table 4, but in profile ‘10’ the preamble_type may not be present. The profile ‘10’ may always have the same preamble configuration (for example, a single P1 symbol), and thus may not need a preamble_type parameter. In another example, in table 8 below, bandwidth is represented with one bit for satellite profiles ‘01’ and ‘10’, and is represented by 5 bits for profiles ‘00’ and ‘11’. Note that profile ‘11’ in the disclosed examples is not defined. In certain variations, the profile ‘11’ may be reserved, or may represent another profile.
Table 8 illustrates example bit width and bit assignments for the bandwidth parameter in sat_mux_information_section 510. Table 8 is illustrative only, and in other variations, each bandwidth value may be associated with a different number of bits and different bit combination.
Table 9 illustrates example bit width and bit assignments for the FFT_size parameter in sat_mux_information_section 510. Table 9 is illustrative only, and in other variations, each FFT_size value may be associated with a different number of bits and different bit combination.
Table 10 illustrates example bit width and bit assignments for the guard_interval parameter in sat_mux_information_section 510. Table 10 is illustrative only, and in other variations, each guard_interval value may be associated with a different number of bits and different bit combination.
Table 11 illustrates example bit width and bit assignments for the pilot_pattern parameter in sat_mux_information_section 510. Table 11 is illustrative only, and in other variations, each pilot_pattern value may be associated with a different number of bits and different bit combination.
In 512, satellite_profile may be a 1-bit field that indicates a transmission profile for the hybrid network system as shown in table 12. Table 12 is illustrative only, and in other variations, each satellite_profile value may be associated with a different number of bits and different bit combination.
The bandwidth parameter in 512 may be a 1-bit field that indicates, as shown in table 13, the bandwidth of the RF signal carrying the neighboring satellite multiplex. Table 13 is illustrative only, and in other variations, each bandwidth value may be associated with a different number of bits and different bit combination.
The FFT_size parameter field in 512 may include a 2-bit field that indicates, as shown in table 14, a fast Fourier transform configuration used in the satellite transmission. Table 14 is illustrative only, and in other variations, each FFT_size value may be associated with a different number of bits and different bit combination.
The guard_interval parameter field in 512 may include a 2-bit field that indicates a guard interval used in the transmission encoding (for example OFDM) used in the neighboring satellite transmission. Table 15 is illustrative only, and in other variations, each guard_interval value may be associated with a different number of bits and different bit combination.
1/4
The pilot_pattern parameter field in 512 may include a 3-bit field that indicates a pilot pattern that is present for the specified satellite_profile. Table 16 is illustrative only, and in other variations, each pilot_pattern value may be associated with a different number of bits and different bit combination.
With respect to the pilot_pattern parameter, the sat_mux_information_section 512 includes a pseudocode conditional if-then statement that indicates whether the pilot_pattern parameter is present. If the satellite profile is ‘0’ (i.e., SFN-OFDM), then the sat_mux_information_section may include a 3-bit pilot_pattern parameter that indicates a pilot_pattern as illustrated in table 16 below, and a 1 bit preamble_type parameter as illustrated in table 4 above. Table 16 is illustrative only, and in other variations, each pilot_pattern value may be associated with a different number of bits and different bit combination. If the satellite_profile is ‘1’ (i.e., SFN-SC-OFDN), then the pilot_pattern parameter is not present in the sat_mux_information_section.
To locate the PLPs carrying data for consumption at an electronic device (for example, video and/or audio components of a service for viewing, playback, etc.), the electronic device may process signaling parameters included in
If the receiver gets synchronization, then at step 604, the layer 1 (L1) signaling and PLP carrying the upper layer information (ULI) may be located from the received signal. In some variations, receiving the ULI includes receiving the PLP carrying the service guide and extracting the ULI from the service guide. Upon locating the L1 signaling and the PLP carrying the ULI, the L1 signaling and ULI may be decoded from the signal. In some embodiments, the PLP carrying the upper layer information can be hard coded (e.g., a pre-determined PLP carries the ULI, etc.). In some embodiments, the PLP carrying the ULI may be signaled by a data parameter included in the signal, such as a PLP type parameter. The PLP carrying the ULI may contain additional signaling information.
At step 606, the ULI 407 may be extracted from the PLP carrying the ULI. In some instances, this may include separating the ULI from the additional signaling information included in the PLP carrying the ULI. In some variations, extracting the ULI includes receiving and extracting a service guide, and then extracting the ULI from the service guide data. Additionally, extracting the ULI may include decapsulating the ULI from IP packets and/or decoding the ULI. In some embodiments, the ULI may be located for extraction from the PLP carrying the ULI using one or more dedicated IP addresses and/or ports. Alternatively, the one or more IP addresses and/or ports of the ULI may be provided within dedicated bootstrap information. In some examples, such bootstrap information may be located at the beginning of the PLP carrying the ULI.
At step 608, one or more services (for example, the one or more desired services) may be selected. In one example, a service may be selected (for example, by a user of the receiving device via a user interface or autonomously by an application executed by the receiving device). A service identifier (e.g., a URI) for the selected service/components may then be discovered. For example, a receiver may analyze SG information, such as a SG table, stored at the receiver to identify a URI for a selected service.
At step 610, service-mapping information for the selected one or more services may be determined from the upper level information. For example, the upper level information (for example, service association section 502 of
Step 610 may also include, for each selected service, processing and/or decoding buffer information (for example, T_INT_APLF and BS_APLPF in ULI 407 in
At step 612, the determined mapping information (for example, the component parameters determined in step 610) may be stored (for example, in a memory of the receiving device) for later access.
At step 614, the location of one or more PLPs is determined based on the mapping information and L1 signaling. For example, the mapping information (for example, the buffer information and PLP_identifiers) and the L1 signaling (for example, the L1 signaling extracted and stored in the method illustrated by
In various embodiments, the receiving device may determine that a handover to a neighboring terrestrial cell or neighboring satellite coverage area is to be performed. In one example, the receiving device may initiate a handover from a first cell to a second cell. The receiver may attempt to continue receiving and/or consuming the selected service(s) currently being received and/or consumed by the receiving device. A handover procedure, in some embodiments, may include using information included in the neighboring multiplexes information (for example, NMI 504 of
At step 706, the NMI may be extracted from the PLP carrying the NMI. Similar to extraction of the ULI, in some instances, this can include separating the NMI from the additional signaling information included in the PLP carrying the NMI (for example, separating the NMI from the ULI). Additionally, extracting the NMI may include decapsulating the NMI from IP packets and/or decoding the NMI. Similar to the ULI, in some embodiments, the NMI may be provided using dedicated IP addresses and ports. Alternatively, the IP address and port of the NMI may be provided within dedicated bootstrap information. In some examples, such bootstrap information may be located at the beginning of the PLP carrying the NMI. In some embodiments, the NMI (e.g., NMI section 402) may be stored (e.g., in a memory of the receiving device) for later access.
In some variations, the NMI is encapsulated in a service guide and locating and extracting the NMI may include locating and extracting the service guide, and then extracting the NMI from the service guide data.
At step 804, a handover has been initiated and the NMI may be compared to handover criteria. The NMI may list one or more (for example, some or all) services/components carried within the current multiplex (for example, the multiplex the receiving device is currently tuned to) and/or other multiplexes (for example, the multiplexes not currently tuned to, but available to the device, such as multiplexes of neighboring cells, neighboring satellite coverage areas, or other multiplexes of the current cell). In one example, each multiplex may be included in the NMI and may have a respective list of components that are carried within the multiplex. Components listed in the NMI may use the same component identifiers as the component identifiers found in the ULIs (for example, COMPONENT_IDs, URIs).
In some embodiments, the handover criteria may be that one or more services currently being received and/or consumed by the receiving device are included in a neighboring multiplex. Additionally and/or alternatively, the handover criteria may include one or more services recently received and/or consumed by the receiving device, and/or may include one or more services predicted to be received and/or consumed by the receiving device are included in a neighboring multiplex (for example, a prediction based on reception and/or consumption habits of a user at the receiving device). These services may be represented in the handover criteria by their component identifiers. Comparing the NMI to the handover criteria may include identifying one or more multiplexes of the NMI that include a listing of component identifiers that match the component identifiers of the handover criteria. In one instance, one or more multiplexes of the NMI may be identified by the comparison against handover criteria representing the services currently being received and/or consumed by the receiving device. In this instance, these identified multiplexes may carry the services currently being received and/or consumed by the receiving device.
In some embodiments, the comparison may compare the handover criteria to every multiplex included in the NMI. In others, the comparison may compare the handover criteria until a first matching multiplex is identified in the NMI. In yet others, the comparison may compare the handover criteria until a threshold number (for example, 2, 3, 4, etc.) of matching multiplexes are identified in the NMI. Additionally, the information for the identified matching multiplexes may be extracted from the NMI and/or stored for later access. For example, referring to
Referring again to
At step 806, the handover to an available handover candidate multiplex is performed. The handover may include selecting a handover multiplex from the available handover candidate multiplexes and starting reception of the handover multiplex. In some instances, the handover multiplex may be a different frequency than the current multiplex (for example, in a system having an MFN-OFDM profile). Determining the frequency and other information required to receive the new multiplex may be based on the neighboring multiplex information previously received in the current multiplex before handover.
Handover may include, for example, tuning to a P1 OFDM preamble symbol in the new multiplex to synchronize the receiving device and to retrieve information for retrieving the remainder of the physical layer frame. In some variations, the physical layer frames may include one or more P1 or other preamble symbols that include data that may be correlated with each other to improve frame detection and synchronization. Using the preamble_type field in the neighboring signaling information to determine how many P1 symbols there are in the new multiplex may improve or reduce synchronization time to the new multiplex.
Selecting the handover multiplex may be performed in various ways, including, for example: selecting the first available candidate multiplex; selecting based on multiplex priority (for example, multiplexes having certain parameter and/or identifier values, such as network identifier and/or cell identifier, may be given priority over other multiplexes having different parameter/identifier values); and/or selecting based on other criteria (for example, signal strength of the available multiplexes). The handover may be performed using the information of the selected handover multiplex that was extracted from the NMI (for example, the parameters and/or identifiers extracted from NMI section 504 of
At step 808, upon reception of a signal of the handover multiplex, the L1 signaling is located. The L1 signaling may then be extracted for use by the receiving device. In conjunction with the information for the handover multiplex extracted from the NMI (for example, component identifiers, PLP identifiers, etc.), the L1 signaling may provide the receiving device the information needed to locate and extract information from PLPs carrying the data for the desired services. In some embodiments, the receiving device may proceed immediately with locating and extracting information from the PLPs carrying the data for the desired services so that the receiving device may continue receiving and/or consuming the desired services. For example, there may be no need to locate and process ULI information (for example, in a system having a SFN-OFDN or SFN-SC-OFDN profile), and those processes for extracting and processing the ULI may be skipped and/or not performed.
At step 810, reception of the desired services may be continued by extracting data from one or more PLPs of the desired service from the received signal of the handover multiplex. Extracting the data may include locating the one or more PLPs using the L1 signaling located in step 808 and the information of the handover multiplex extracted from the NMI. For example, the one or more PLPs may be located (for example, the physical location of the one or more PLPs may be determined) based on the L1 signaling, the component identifiers of the handover multiplex, and the PLP identifiers of the handover multiplex.
If a neighboring terrestrial multiplex is available, the process proceeds to step 912, where the signaling information for the detected multiplex is examined to confirm the multiplexes availability and requirements for handover. The inspected signaling information may be stored in a memory for later analysis. Subsequently, the process proceeds to step 908 where a determination is made of whether further candidate multiplexes are needed or desired. For example, a device performing the process may be configured to find all available terrestrial and/or satellite neighboring candidate multiplexes so that the requirements for handover and other performance criteria may be compared. If more are desired, the process returns to step 902.
In step 902, if no further terrestrial multiplexes are available, the process proceeds to step 904, where the presence of neighboring satellite multiplexes are checked for availability. Determining whether a satellite multiplex is available may be performed in a number of ways, including, for example, determining if a sat_mux_information_section has been received in the NMI or is available, and/or performing a signal scan to detect the neighboring satellite multiplex. If a neighboring satellite multiplex is available, the process proceeds to step 906, where the signaling information for the detected satellite multiplex is examined to confirm the multiplexes availability and the requirements for handover. The inspected satellite signaling information may be stored in a memory for later analysis. Subsequently, the process proceeds to step 908.
In step 908, when no more candidate multiplexes are needed or available, the process proceeds to step 910, where one of the candidate multiplexes is selected for handover based on the stored signaling information for each multiplex, and based on one or more selection criteria. Selection criteria may include a determination of geographical proximity of the neighboring cell or satellite coverage area, total area of the neighboring cell or satellite coverage area, reception requirement compatibility with the receiving device, power requirements for receiving each neighboring multiplex, data throughput capability of each neighboring multiplex, cost, and/or fees for using each neighboring multiplex, etc. Once a multiplex is selected for handover, the process returns to step 806 in
At step 1008, upper layer information is generated that associates a uniform resource identifier with one or more component identifiers (for example, information represented by the structure of service_association section 502 of
In step 1010, the ULI and/or the NMI are formatted as described above. Step 1010 may include formatting a service guide according to OMA BCAST ESG or other standard and embedding the ULI and NMI within the service guide data.
At step 1012 the formatted L1 signalling, ULI and/or NMI are encoded into a multiplex having one or more PLPs. In one variation, the encoded multiplex may be configured for transmission from a terrestrial based transmitter, such as a transmitter covering a terrestrial cell as illustrated in
At step 1014, transmission of encoded multiplex including the L1 signaling information, the NMI, and the ULI to a receiving device is caused to occur (for example, the generated information is sent to a transmitter and/or transmitter antenna for transmission).
Any of the method steps, operations, procedures or functions described herein may be implemented using one or more processors and/or one or more memory in combination with executable instructions that cause the processors and other components to perform the method steps, procedures or functions. For example, service provider 125, content provider/server 130, digital content sources 104, digital broadcast transmitter 103, antenna 101, satellite transceiver/dish 106, satellite 107, and client devices (for example, devices 105, 110, 115, 120, and 112) may each include one or more processors and/or one or more memory in combination with executable instructions that cause each device/system to perform operations as described herein. As used herein, the terms “processor”/“controller” 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, 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 machine-readable media that are able to store machine executable instructions. Examples of machine 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 be, for example, a microprocessor that accesses machine executable instructions or other data stored in a read only memory (ROM). In some such embodiments, the ROM stores machine executable 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 machine executable 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.
As used in this application, the term ‘circuitry’ refers to all of the following: (a) hardware-only circuit implementations (such as implementations in only analog and/or digital circuitry) and (b) to combinations of circuits and software (and/or firmware), such as (as applicable): (i) to a combination of processor(s) or (ii) to portions of processor(s)/software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions) and (c) to circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present.
This definition of ‘circuitry’ applies to all uses of this term in this application, including in any claims. As an example, as used in this application, the term “circuitry” would also cover an implementation of merely a processor (or multiple processors) or portion of a processor and its (or their) accompanying software and/or firmware. The term “circuitry” would also cover, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, or other network device
A processor and memory may comprise but are not limited to (1) one or more microprocessors, (2) one or more processor(s) with accompanying digital signal processor(s), (3) one or more processor(s) without accompanying digital signal processor(s), (4) one or more special-purpose computer chips, (5) one or more field-programmable gate arrays (FPGAS), (6) one or more controllers, (7) one or more application-specific integrated circuits (ASICS), or (8) one or more computer(s). The description should also note, among other things, that the relevant structure may include one or more memories (e.g., RAM, ROM, CD-ROM, etc.) and that the relevant structure/hardware has been programmed in such a way to carry out the inventive function.
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 and be recognized as being within the scope of the invention.
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.