1. Field of the Invention
This invention relates to multimedia broadcast systems and methods of the same and, more particularly, to a multimedia broadcast system and method supporting P2P coordinated code conversion.
2. Description of Related Art
Owing to ever-developing computer networks and increasing use of network application by people at work and at home, traffic of data transmission is becoming heavier than ever before. However, the increase of bandwidth available on existing networks always lags behind that of data transmission traffic. The shortage of bandwidth poses a bottleneck for the betterment of our daily life which is increasingly dependent on network-based data transmission. It is thanks to the recent emergence of peer-to-peer (or P2P) computer network technology that revolutionary change has come to network architecture and expansion, allowing the bandwidth bottleneck to be eliminated with existing, rather than additional, resources. The impact of the P2P networking technology on our daily life is instant and widespread. Immediate beneficiaries of the P2P networking technology abound. Network multimedia providers and users are some of them for sure.
P2P IPTV is a newly developed multimedia data broadcasting technology built within a P2P system to enable a network multimedia provider to broadcast multimedia video data, such as live TV programs or recorded video extracts to various end-user devices, e.g. mobile phones, personal digital assistants (PDAs), personal computers (notebook computers or desk top computers), etc., and MPEG-4 and WMV are mostly used data formats in the present P2P IPTV broadcasting systems.
However, a practical application problem of the present IPTV broadcast technology is that there are various screen display specifications or settings among different end-user devices; for instance, smart mobile phones and personal digital assistants may have display screens of VGA format (640×480) or QVGA format (320×240). Therefore, before broadcasting multimedia video data to end-user devices, the network multimedia provider has to perform a code converting task on the multimedia video data; for instance, converting the MPEG-4 or WMV format into MDC (multiple description coding) or LVC (layered video coding) format. Then, multimedia video data of various display formats are created and provided for end-user devices having different screen display specification, so as to enable end-user devices having low resolution monitors to download video streaming of low resolution QVGA format, and enable end-user devices having high resolution monitors to download video streams of high resolution VGA format.
However, in practice, each data segment has to be converted into many kinds of display format in the process of multimedia data code conversion, and in consequence the process takes a lot of time and uses considerable system resources, seriously taking up computation capability of multimedia data providing device. Consequently, when the network is in a poor quality condition, a live program of multimedia video data has lower continuity index, namely, discontinuity keeps happening in the process of broadcasting.
In view of the above, it is a highly urgent issue in the field of multimedia broadcast system to provide a multimedia broadcast system of high speed and high efficiency and a method of the same so as to overcome drawbacks of the prior art.
In view of the aforesaid drawbacks of the prior art, it is a primary objective of the present invention to provide a multimedia broadcast system supporting P2P coordinated code conversion for use in a network system. The multimedia broadcast system includes: a data source device for providing multimedia data; and a plurality of P2P devices for receiving the multimedia data via the network system and then performing coordinated code conversion on the multimedia data, wherein each of the P2P devices is connected to another P2P device or other P2P devices via the network system to form a partner group.
In a preferred embodiment, each of the P2P devices further includes: a computation capability evaluation module for evaluating computation capability of the P2P device itself and then generating a device message based on evaluation outcome; a message exchange module for delivering the device message to other P2P devices of the same partner group, and receiving response messages sent back from other P2P devices of the same partner group; a work scheduling module for deciding whether to request a specific peer device to download the multimedia data so as to perform code conversion and/or broadcasting based on the received response message and/or broadcasting situation of the P2P device itself; and a code conversion module for downloading the multimedia data and then performing code conversion thereon based on decision made by the work scheduling module.
It is a further objective of the present invention to provide a multimedia broadcast method supporting P2P coordinated code conversion for use in a multimedia broadcast system including a data source device and a plurality of P2P devices. The multimedia broadcast method includes the steps: (1) the data source device forms one or more data segments from multimedia data; (2) each of the P2P devices connects with one or more P2P devices via the network system to form a partner group, and the P2P device is to acquire the data segments from the data source device; and (3) the P2P device of the partner group acquires schedule and code conversion data from other P2P devices, and then executes coordinated code conversion and downloading on the multimedia data.
In a preferred embodiment, said step (3) further includes: (3-1) a consuming peer device evaluates computation capability thereof, and then generates a device message based on evaluation outcome; (3-2) the consuming peer device delivers the device message to a providing peer of the same partner group; (3-3) the providing peer answers the consuming peer device with a response message; (3-4) the consuming peer device performs work scheduling based on the response message; (3-5) the consuming peer device requests the providing peer device to deliver a specific multimedia data segment based on the outcome of work scheduling; and (3-6) the consuming peer device performs code conversion or broadcasting on the multimedia data segment received.
Compared with the prior art, a multimedia broadcast system and method supporting P2P coordinated code conversion according to the present invention overcome drawbacks of conventional multimedia broadcast systems. The multimedia broadcast system and method supporting P2P coordinated code conversion according to the present invention perform code conversion on multimedia data by adopting P2P distributed and coordinated code conversion. Code conversion tasks of the multimedia data segments are distributed based on computation capability of each end-user device of the P2P system; with coordination with other P2P devices, a specific data format is able to be converted to another video format at a higher speed, thereby enabling multimedia video data to be broadcasted to end-user devices of various display formats. As a testing result, the present invention provides live TV programs with continuity index up to 98%, enabling the live TV programs to be run as instant broadcasting to each end-user device, thereby overcoming disadvantages of time consuming and low efficiency as shown in the prior data code conversion.
The present invention can be more fully understood by reading the following detailed description of the preferred embodiments, with reference made to the accompanying drawings, wherein:
a and 4b are schematic views illustrating message exchanges among a plurality of P2P devices for use in the multimedia broadcast system supporting P2P coordinated code conversion according to the present invention;
The following illustrative embodiments are provided to illustrate the disclosure of the present invention; those in the art can apparently understand these and other advantages and effects after reading the disclosure of this specification. The present invention can also be performed or applied by other different embodiments. The details of the specification may be on the basis of different points and applications, and numerous modifications and variations can be devised without departing from the spirit of the present invention.
The network system 10 is the medium for data transmission, means of connection thereof can be wired or wireless. The wired network can be Ethernet, Intranet, LAN, WAN, or VPN, and the wireless network can be remote communication technologies, such as WLAN, GSM, GPRS, WiMax, etc.
The data source device 11 and the P2P devices 12 are electronic equipments capable of accessing and processing data, such as desktop computers, notebook computers, personal digital assistants, and/or mobile phones. Any equipment with network connection capability can be used as the data source device 11 and the P2P devices 12. In this regard, the functional difference between the data source device 11 and the P2P devices 12 is that, while the data source device 11 is a multimedia data provider, a P2P device is a multimedia data receiver capable of performing format code conversion or live broadcasting on the received multimedia data.
In practice, the data source device 11 forms a plurality of data segments from multimedia data, and then the data source device 11 delivers the multimedia data in the form of the data segments to the P2P device 12 connected to the data source device 11; subsequently, the P2P device 12 connects another P2P device or a plurality of other P2P devices 12 via the network system 10 to form a partner group; at last, the P2P device 12 of the partner group executes coordinated code conversion and broadcasting on the multimedia data.
Referring to
The computation capability evaluation module 301 is configured for evaluating computation capability of P2P device, and then generating a device message based on evaluation outcome; evaluation criteria of the computation capability of the P2P device 30 many include available CPU resource, CPU performance, data transmission bandwidth, and/or quantity of data that the P2P device is able to process.
In a preferred embodiment, the quantity of data that the P2P device is able to process in a swarming cycle equals the quotient obtained by dividing duration of the swarming cycle by average code conversion time of an individual datum. Taking code conversion from MPEG-4 format to MDC-STHI format as an example, tf is average code conversion time of fill-size format, tq is average code conversion time of quarter-size format, ts is time of a swarming cycle, and Cs is quantity of data that a P2P device is able to process in the swarming cycle. Therefore, following equation can be used to evaluate computation capability of the P2P device:
C
s
=t
s/(tf+tq)
The quantity of data that the P2P device is able to process is calculated as a basis to determine the computation capability of the P2P device.
The message exchange module 302 is configured to deliver the device message to other P2P devices of the same partner group, and also receiving a response message sent back from the other P2P devices of the same partner group. The message exchange module 302 also has partner relation management function, which enabling all P2P devices receiving the same multimedia data to form a P2P system via a gossip message.
In a preferred embodiment, the device message includes a computation capability message, a message of number of requesting peer devices, and/or a data transmission bandwidth message. The response message includes a buffer map of multimedia data having one or more data segments. The buffer map includes a message of code conversion status, a message of code-convertible data, and/or a message of code-converted data.
The work scheduling module 303 is configured to decide whether to request a specific P2P device to download multimedia data and further process code conversion and/or broadcasting based on a response message received and/or broadcasting situation of the P2P device 30.
In a preferred embodiment, the work scheduling module 303 divides an un-decoded data segment shown in the response message into an urgent data segment and a non-urgent data segment before broadcasting ends. In order to avoid interruption of broadcast continuity, and the P2P device is to download the urgent data segment first.
In another preferred embodiment, the work scheduling module 303 calculates a downloading fraction for each data segment, and then decide whether to download the non-urgent data segments based on weight of the downloading fraction.
It is based on decision of the work scheduling module 303 that the code conversion module 304 downloads the multimedia data and then performs code conversion thereon; wherein the multimedia data can be data in formats of MPEG-1, MPEG-2, MPEG-4, H.261, H.263, H.264, WMV, and/or YUV.
In a preferred embodiment, said P2P device further includes a candidate data selection module 305 for deciding whether to show specific multimedia data in a response message while receiving a device message.
a and 4b are schematic views illustrating message exchanges among a plurality of P2P devices for use in the multimedia broadcast system supporting P2P coordinated code conversion according to the present invention.
First, look at a P2P device 40 of
Next, look at a P2P device 44 of
In a practical application, a computation capability evaluation module 501 evaluates computation capability of the consuming peer device 50, and a device message shown with evaluation outcome is then transmitted to the providing peer device 51 via a message exchange module 502. After receiving the device message, via a candidate data selection module 511, the providing peer device 51 decides, e.g. computation capability of the consuming peer device 50 or code conversion status of the providing peer device 51, whether to include descriptions of multimedia data in a response message and send the response message to the consuming peer device 50 via a message exchange module 512. At this moment, a work scheduling module 503 decides which multimedia data segments to download and which code conversion works to receive based on the response message and status of the work scheduling module 503. At last, the consuming peer device 50 maces a request to the providing peer device 51 for downloading a specific data segment, and then performs code conversion or broadcasting after receiving the specific data segment. It is based on decision of the work scheduling module 503 that the code conversion module 504 downloads the multimedia data and then performs code conversion thereon.
First, the multimedia data source server 60 divides the video data A into a plurality of data segments; next, delivering these data segments to the workstation 61 and the personal computer 64. The workstation 61 and the personal computer 64 have to execute code conversion task in addition to broadcasting the data segment directly; therefore, the workstation 61 and its partners, namely the cellphone 62, personal computers 63 and 64, perform message exchanges and allot code conversion tasks based on mechanism described above. Likewise, the personal computer 64 and its partner, namely workstation 61 and personal computer 65 perform message exchange and allot code conversion tasks, and so on. Since code conversion tasks are shared in P2P system, the cellphone 62 and PDA 67 are able to receive video data A in MDC format at a higher speed.
In a preferred embodiment, if a specific device has weak computation capability or is poorly equipped, the device is not to execute computation capability evaluation or code conversion work scheduling in order to avoid affecting performance thereof. For instance, computation capability of the cellphone 62 of
In step S70, upon receipt of a request from a P2P device, for delivery of multimedia data, a data source device forms one or more data segments from the multimedia data, and then delivers the data segments to the P2P device connected therewith.
In step S71, an individual P2P device connects with another P2P device or a plurality of other P2P devices to form a partner group via the network system. The partner group is able to perform subsequent coordinated code conversion tasks.
In step S72, the P2P devices of the partner group perform coordinated code conversion and broadcasting on the multimedia data in each swarming cycle.
In a preferred embodiment, the step S70 further comprises: (1) connecting each of P2P devices to the data source device to individually deliver a computation capability message to the data source device; (2) calculating, by the data source device, data distribution fractions based on the computation capability message received; and (3) delivering, by the data source device, different data segments to the P2P devices connected therewith based on weight of data distribution fractions. Since the P2P devices connected with the data source device transmit related information thereof to the data source device, upon receiving a request, the data source device allocates the quantity of data to be downloaded based on system situation of each of the P2P devices, such as size of bandwidth or computation capability.
In another preferred embodiment, the multimedia data are in formats of MPEG-1, MPEG-2, MPEG-4, H.261, H.263, H.264, WMV, YUV, and/or MDC.
In step S80, the consuming peer device evaluates computation capability thereof, and then generate a device message based on evaluation outcome. The computation capability includes available CPU resource, CPU performance, data transmission bandwidth, and/or quantity of data that the P2P device is able to process in a swarming cycle.
In a preferred embodiment, the quantity of data that the P2P device is able to process in a swarming cycle equals the quotient obtained by dividing the duration of the swarming cycle by average code conversion time of an individual datum.
In another preferred embodiment, the step S80 further comprises: judging whether to perform computation capability evaluation based on performance data of the consuming P2P device, if the performance data is less than a preset value, then the consuming peer device is not to perform computation capability evaluation. The performance data is size of RAM and/or CPU clock.
In step S81, the consmuning peer device sends the device message to a providing peer device of the same partner group. The device message includes a computation capability message, a message of number of requesting peer devices, and/or a data transmission bandwidth message.
In step S82, the providing peer device answers the consuming peer device with a response message. The response message includes a buffer map of multimedia data having one or more data segments.
In a preferred embodiment, the step S82 further comprises: deciding, by the providing peer device, whether to show specific data segments in the response message by means of candidate data selection; wherein the means of candidate data selection includes: (1) if all data segments have been converted, then the providing peer device shows all data segments in the response message; (2) if the providing peer device is unable to complete code conversion of the specific data segments before broadcasting ends, then the data segments unable to be completed are shown in the response message; and (3) if the consuming peer device has relatively strong computation capability, then the providing peer device shows extra data segments in the response message.
In another preferred embodiment, the buffer map includes a message of code conversion status, a message of code-convertible data, and/or a message of code-converted data.
In step S83, the consuming peer device performs work scheduling based on the response message.
In a preferred embodiment, the step S83 further includes: the consuming peer device divides an un-decoded data segment shown in the response message into an urgent data segment and a non-urgent data segment before broadcasting ends. At this moment, the consuming peer device is to download the urgent data segment first.
In another preferred embodiment, the consuming peer device calculates a downloading fraction for each data segment, and then decides whether to download the non-urgent data segment based on weight of the downloading fraction.
In step S84, the consuming peer device requests the providing peer device to deliver a specific data segment based on the outcome of work scheduling.
In step S85, the consuming peer device performs code conversion or broadcasting on the data segment received.
According to above descriptions of the preferred embodiments, the multimedia broadcast system and method supporting P2P coordinated code conversion according to the present invention are able to provide clients of multimedia data with instantly received video data; the present invention enables multimedia data clients to form a P2P system for performing coordinated code conversion tasks, thereby speeding up code conversion of multimedia data format, and providing advantages to devices of various display specification for receiving multimedia data.
The multimedia broadcast system and method supporting P2P coordinated code conversion according to the present invention have the following effects:
The foregoing descriptions of the detailed embodiments are only illustrated to disclose the features and functions of the present invention and are not interpreted as limiting the scope of the present invention. It should be understood to those in the art that all modifications and variation according to the spirit and principle of the disclosure of the present invention should fall within the scope of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
97132344 | Aug 2008 | TW | national |