The disclosure relates to a software distribution method, and more particularly to an over-the-air software distribution method.
Recently, OAD (over-the-air download) has lost its importance in ATSC/DVB (ATSC: advanced television systems committee; DVB: digital video broadcasting) receivers. The main reason for the plunge in popularity of the OAD resides in its longer time required for downloading, particularly for large software images, which are transmitted as DSM-CC (digital storage media command and control) sections each having a maximum section size of 4K bytes in the conventional OAD technology. ATSC/DVB receiver manufacturers are now relying more on IP based software download technologies. However, it is difficult to perform software upgrades on all target devices without using the OAD technology.
Therefore, an object of the disclosure is to provide an over-the-air software distribution method that can alleviate at least one of the drawbacks of the prior art.
According to the disclosure, the over-the-air software distribution method is to be implemented by a computerized software distribution system, and includes: splitting a to-be-distributed software image into a plurality of split image parts; encapsulating the split image parts into a plurality of data streams, respectively; and broadcasting the data streams in parallel.
Other features and advantages of the disclosure will become apparent in the following detailed description of the embodiment(s) with reference to the accompanying drawings, of which:
Before the disclosure is described in greater detail, it should be noted that where considered appropriate, reference numerals or terminal portions of reference numerals have been repeated among the figures to indicate corresponding or analogous elements, which may optionally have similar characteristics.
Referring to
In this embodiment, the computerized software distribution system 1 is configured or programmed to have a software image splitter 11, a packet generator 12, and a multiplexer 13. The software image splitter 11 splits a software or software update image, which is to be distributed to the receiver devices, into multiple split image parts so as to be organized into modules for data transport (with each split image part serving as a module for data transport), and then the split image parts are provided to the packet generator 12.
The packet generator 12 encapsulates the split image parts respectively into multiple private packetized elementary streams (PESs, whose structure may be defined in a conventional standard, e.g., the MPEG-2 standard) (data streams) each having an individual PID (packet identifier), and encapsulates each of the private packetized elementary streams into a private transport stream (TS) packet stream. In detail, the packet generator 12 splits each module into multiple blocks, and encapsulates the blocks into PES packets to form a respective private PES for each module. It is noted that, in the MPEG-2 standard, the packetized elementary streams provide a mechanism to transmit data entities of variable size with a maximum length of 64 Kbytes in a PES packet, which is much larger than that for a DSM-CC section (4K bytes), resulting in a higher bitrate for data transmission, and thereby significantly reducing time required for downloading. In addition, because the DSM-CC standard defines that each module can contain 65535 blocks at maximum, this implementation may enable vendors that provide the software or software update (e.g., receiver manufacturers) to transmit software images with larger image size using OAD technology.
The multiplexer 13 combines PES packets of the private TS packet streams with, for example, audio TS packet streams (originating from audio packetized elementary streams), video TS packet streams (originating from video packetized elementary streams), and DSM-CC section data TS packets (originating from DSM-CC section data), etc., to form a transport stream (data stream group), where the DSM-CC section data may contain information related to the packetized elementary streams, such as OUIs (organizationally unique identifier), DSI (download server initiated) messages, DII (download information indication) messages, etc. The transport stream is transmitted after modulation, thereby broadcasting the private packetized elementary streams in parallel along with the other audio/video packetized elementary streams and DSM-CC section data at a specific frequency, which may fall within a range of radio frequency.
At the receiver side, the receiver device 2 may include a tuner 21 to receive the modulated transport stream at the specific frequency, a demodulator 22 (which may be either hardware-implemented or software-implemented) to demodulate the modulated transport stream, and a processor 23. The processor 23 may be configured/programmed to demultiplex the (demodulated modulated) transport stream (i.e., to separate the packetized elementary streams and the DSM-CC section data from the transport stream), and to parse and extract the OUIs, DSI and/or DII messages from the DSM-CC section data of the transport stream. Then, the processor 23 may download the blocks of the modules from the private packetized elementary streams based on the DSI and/or DII messages in parallel. After completion of downloading all of the blocks of any one of the modules, the processor 23 may reassemble the blocks into the corresponding module. After all of the modules have been reassembled, the processor 23 merges the modules into the full software or software update image, and then initiates installation or update process for the software or software update.
In view of the above, the over-the-air software distribution method according to this disclosure can achieve efficient download for software or software update images by: 1) splitting the to-be-distributed software image into multiple parts, thereby enabling parallel download for saving the download time; and 2) encapsulating each split software part as a private packetized elementary stream, which has a larger maximum block size in comparison to the conventional DSM-CC section data, thereby increasing the download speed.
In the description above, for the purposes of explanation, numerous specific details have been set forth in order to provide a thorough understanding of the embodiment(s). It will be apparent, however, to one skilled in the art, that one or more other embodiments may be practiced without some of these specific details. It should also be appreciated that reference throughout this specification to “one embodiment,” “an embodiment,” an embodiment with an indication of an ordinal number and so forth means that a particular feature, structure, or characteristic may be included in the practice of the disclosure. It should be further appreciated that in the description, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of various inventive aspects.
While the disclosure has been described in connection with what is (are) considered the exemplary embodiment(s), it is understood that this disclosure is not limited to the disclosed embodiment(s) but is intended to cover various arrangements included within the spirit and scope of the broadest interpretation so as to encompass all such modifications and equivalent arrangements.