Abstract:
A method for transporting real-time audio and video data is provided, wherein a partial encryption method merely encrypts some packets or some segments thereof in the data stream thereby improve the speed of data process and reduce the load of the processor. Especially for audio data, the malicious interceptor cannot hear the audio data clearly although it is merely partially encrypted.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention generally relates to a method for real-time transportation of audiovisual data over networks.  
         [0003]     2. The Related Arts  
         [0004]     Conventional techniques for network data transportation, such as wired or wireless real-time transportation of audio or video data, usually employs a mechanism built on top of Internet. This approach not only includes complicated definition of transportation protocol, but is also hard to build and manage. In addition, the data transportation is not nearly as real-time as the household entertainment appliances.  
         [0005]     The popular universal-plug-and-play (UPNP) structure is an open structure defined for home networking. The purpose of UPnP is to link and share the intelligent objects, appliances, PC and services in the home network. UPNP allows different types of network device to be linked without complicated setup or installation processes. For example, a printer conforms to the UPnP specification can be connected to Internet through the home network without connecting to a PC first. No complicated network setting problem is involved, either.  
         [0006]     In addition, UPnP is built on top of the existing network standard structure. Both specific network and bus individual configuration are built on top of the existing protocols. Therefore, UPnP is suitable for all the network media, such as, 10BaseT Ethernet, or new network technologies. UPnP does not require a concentrated server for management, so it also improves the home network usability.  
         [0007]     However, as the amount of data to be transported is increasing, especially in embedded systems, it is imperative to develop a new solution for real-time data transportation that is more efficient and easier to layout and manage.  
       SUMMARY OF THE INVENTION  
       [0008]     The present invention provides a real-time audio and video data network transportation system, which is applicable to various structures of wired or wireless network and can also be built on top of different levels of communication protocols, such as UDP, IP, and so on. The system of the present invention can reduce the load on the processor, and is beneficial to the embedded systems. The present invention is easier to manage, and therefore, is suitable for home networking and other smaller network systems.  
         [0009]     The first embodiment of the present invention provides a method of establishing multiple channels in a single connection for differentiating non-real-time instructions, such as control, set state, read state. Therefore, the real-time audio and video data can be transported without the effect of the packets containing the non-real-time instructions.  
         [0010]     The second embodiment of the present invention provides a method of periodical report on data. With periodic report from the receiving end on the data consumption or the consumption of data buffer, the transmitting end can adjust the speed of data transporting or inform the receiving end to adjust the data consumption speed. Therefore, the speed of data transporting and the speed of data consumption can be synchronized.  
         [0011]     The third embodiment of the present invention provides a method of delay response. The delay time can be either randomly determined or determined by the system setting in order to reduce the probability of packet collision.  
         [0012]     The fourth embodiment of the present invention is to provide a method of last-in-first-connect policy. Any device on the same network can temporarily interrupt the existing connection between the transmitting end and the receiving end, and establishes a new connection with the receiving end. This simplifies the connection rule. This embodiment does not include a security mechanism to avoid the account management complexity. If a security mechanism is required, the security mechanism can be placed in the underneath lower layer communication protocol.  
         [0013]     The fifth embodiment of the present invention provides a method of periodic broadcast of discovering response. A receiving end periodically broadcasts discovering response to all the transmitting ends on the network to notify all the transmitting ends of the existence of the receiving end.  
         [0014]     The sixth embodiment of the present invention provides a method of partial noise encryption. By encrypting only certain packets or a segment of some packets in the data stream, the load on the processor is reduced and the speed of data processing is increased. This is especially useful for audio data. Although it is merely partially encrypted, the malicious interception of the audio data cannot be heared clearly.  
         [0015]     The seventh embodiment of the present invention is to provide a method of simplifying silence packets. When the data stream includes segments of silence, only the packet header is transported to save the bandwidth.  
         [0016]     These and other objects, features and advantages of the invention will be apparent to those skilled in the art, from a reading of the following brief description of the drawings, the detailed description of the preferred embodiment, and the appended claims. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0017]     The present invention can be understood in more detail by reading the subsequent detailed description in conjunction with the examples and references made to the accompanying drawings, wherein:  
         [0018]      FIG. 1  shows the first embodiment of the present invention of a method of establishing multiple channels in a single connection;  
         [0019]      FIGS. 2A and 2B  show the second embodiment of the present invention of a method of periodical report on data;  
         [0020]      FIG. 3  shows the third embodiment of the present invention of a delayed response;  
         [0021]      FIGS. 4A and 4B  show the fourth embodiment of the present invention of a method with last-in-first-connect policy, and the fifth embodiment of the present invention of a method of periodic broadcast of discovering response; and  
         [0022]      FIG. 5  shows the sixth embodiment of the present invention of a method of partial noise encryption and the seventh embodiment of the present invention of a method of simplifying silence packets. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0023]     The present invention is usually built on top of UDP, but can also be built on top of lower layer network or communication protocols.  
         [0024]      FIG. 1  shows a method of establishing multiple channels of the present invention. As shown in  FIG. 1 , the first  8  bits of a packet header define the version field, type field and sub-type field, followed by reserved field, session number field, sequence number field, payload length field. The payload follows the packet header. The type field defines the four packet types. For example, “00” indicates a control packet, “01” indicates a management packet, “10” indicates a data packet, and “11” indicates an optional user data type packet. The different types defined in the packet header imply that multiple channels are established in a single connection for differentiating non-real-time instructions for control, set state, and read state. Therefore, the real time audio and video data can be transported without the effect of the transportation of the non-real-time instruction packets.  
         [0025]      FIGS. 2A and 2B  show the second embodiment of the present invention of a method of periodic report on data. When the type field of the header is “00”, the sub-type field is further defined. As shown in  FIG. 2A , when the sub-type field is set as “0000” (acknowledge), it indicates the packet is an acknowledgement from the receiving end to the transmitting end and the packet payload contains the information from the receiving end, including the buffer size. As shown in  FIG. 2B , when the sub-type field is set as “0010” (buffer consumption report), it indicates the packet is a buffer consumption report packet from the receiving end to the transmitting end and the packet payload contains the information from the receiving end, including the report time from the receiving end and the amount of buffer consumption.  
         [0026]     The method also periodically extracts the buffer consumption report packets to compute the consumption rate in order to obtain the latest changes in the consumption.  
         [0027]     The data stream consumption rate can be computed using the equation: (B n -B 1 )/(T n -T 1 ), where T and B are the report time of the receiving end and the amount of buffer consumption, respectively. The advantage of this computation is that there is no impact on the result even when one or more report packets are lost between T 1  and T n .  
         [0028]     A variation of the buffer consumption report packets is the data stream consumption report packet. The information includes the report time from the receiving end and the amount of data stream consumption.  
         [0029]     Through the periodic report from the receiving end on the data stream consumption or the buffer consumption, the transmitting end can adjust the data generation rate or inform the receiving end to adjust its consumption rate so that synchronization between the data generation and data consumption can be achieved.  
         [0030]      FIG. 3  shows the third embodiment of the present invention of a delay response method. When the type field of the header is “01” (management), the sub-type field is further set. As shown in  FIG. 3 , when the sub-type is set as “0000”, it indicates a discover request, it indicates a discover packet broadcast by a transmitting end for discovering the existing receiving ends in the network. The header of the packet contains a unique serial number, and the payload contains the options, length, data, and so on. When a receiving end responds to a discover packet, the receiving end sends a packet with the same serial number as the discover packet. However, the sending time of the response packet to the discover packet can be random or pre-determined by the system as to reduce the packet collision probability.  
         [0031]      FIGS. 4A and 4B  show the fourth embodiment of the present invention of a method with last-in-first-connect policy. When the type field is “01” (management), the sub-type field is further set. As shown in  FIG. 4A , when the sub-type is set as “0001”, it indicates an associate request packet from a transmitting end. The session number of the associate packet can be zero for establishing a connection. The receiving ends can send an associate response packet (sub-type field “0015”), with one of them having the only non-zero session number, to the transmitting end. After the connection is established between the transmitting end and the receiving end, the transmitting end can establish another connection with the receiving end without disconnecting the existing connections.  
         [0032]     As shown in  FIG. 4B , when the sub-type field is set as “0010”, it indicates a disassociate request packet from either the transmitting end or the receiving end to disconnect an existing connection. When a second receiving end intends to disconnect the existing connection, the second receiving end must receive the discover packet from the transmitting end first, and then sends the disassociate packet to request the disconnection of the existing connection. The advantage of this method is that any device on the network can temporarily interrupt the any connection between a transmitting end and a receiving end, and establish the connection with a higher priority. This simplifies the connection rule. This embodiment does not include a security mechanism to avoid the account management complexity. If a security mechanism is required, the security mechanism can be placed in the underneath lower layer communication protocol.  
         [0033]     Following the fourth embodiment, the fifth embodiment of the present invention is a method periodic broadcast of discovering response. A receiving end periodically broadcasts discovering response to all the transmitting ends on the network to notify all the transmitting ends of the existence of the receiving end.  
         [0034]      FIG. 5  shows the sixth embodiment of the present invention of a method of partial noise encryption. When the header of the packet is “10”, it indicates a data packet, and the sub-type field is set, including the encryption (E), compression (C), resend (R) and all-zero (Z) fields. When the E field is set as “1”, it indicates the packet is encrypted. The encryption can be performed on only a small segment of a packet or only some of the packets to reduce the load of the processor and increase the processing speed. This is especially useful for audio data. Although only partially encrypting the data, the malicious interception of the audio data will render it hard to hear clearly. The transmitting end can selectively encrypt the packets randomly or even periodically, for example, encryption once for every 10 packets.  
         [0035]     The first two values in the payload field of the packet indicate the starting point of the encryption and the length of the encrypted data. If the starting point is “0”, the entire data payload is encrypted.  
         [0036]     When the C field is set as “1”, it indicates the packet is compressed. When both encryption and compression are performed, it is preferred to perform the compression before the encryption. As only the partial encryption is used in the method, such execution order assures the overall encryption.  
         [0037]     When the R field is set as “1”, it indicates the packet is a re-send of a data packet.  
         [0038]     As shown in  FIG. 5 , the seventh embodiment of the present invention is a simplification of sending silence packet. When the Z field is set as “1”, it indicates the packet is a silent packet. The payload of the silent packet can be eliminated, and only the payload length of the header is kept. When the silence packet is sent, only the header is transported to save the bandwidth.  
         [0039]     While the invention has been described in connection with what is presently considered to the most practical and preferred embodiment, it is to be understood that the invention is not to be limited to the disclosed embodiment, but on the contrary, is intended to cover various modifications and equivalent arrangement included within the spirit and scope of the appended claims.