Abstract:
An apparatus and method of transceiving a bit stream, by which a video bit stream is stably transmitted by the effective use of two logic channels when communication is established by the two logic channels during transmission of the video bit stream in a communication network, is provided. In this method, a source is encoded into a bit stream using a predetermined type of coding. Then, the encoded bit stream is transmitted to each communication protocol layer, while the header of each communication protocol layer is added to a payload. The header is transmitted separately from the bit stream.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to an apparatus for transmitting/receiving a bit stream in a network and a method therefor, and more particularly, to an apparatus for transmitting/receiving a bit stream, by which a video bit stream is stably transferred in a network including a wireless network and an Internet network, and a method therefor. The present application is based on Korean Patent Application No. 00-9624 filed Feb. 26, 2000, which is incorporated herein by reference. 
     2. Description of the Related Art 
     In packet networks such as the Internet, typically, two logical ports exist when a channel is set to achieve communication between two locations. That is, a real time protocol (RTP) packet, which has been packetized according to a request for comments (RFC) protocol via the Internet network, is transmitted via the hierarchical structure of a real time protocol/user datagram protocol/Internet protocol (RTP/UDP/IP) or a real time protocol/transmission control protocol/Internet protocol (RTP/TCP/IP). 
     The RTP/TCP/IP operates in the acknowledge mode and can transmit data stably, so that it usually transmits control information. The RTP/UDP/IP operates in the unacknowledged mode, and transmits video data which usually must be processed in real time. 
     Referring to  FIG. 1 , in a transmitting terminal, a video bit stream sequentially undergoes an application layer (video source codec), an RTP layer, an UDP/IP and TCP/IP layer, a radio link protocol (RLP) layer, a layer 2 (L2) and a layer 1 (L1). In each layer, header information is added to the video bit stream, and the video bit stream having header information is transmitted to a network. Here, the TCP transmits control information, and the UDP transmits an RTP packet. In a receiving terminal, the video bit stream undergoes an UDP/IP and TCP/IP layer, an RTP layer and an application layer (video source codec), and is decoded into video data. 
       FIG. 2  is a view illustrating an embodiment of a typical communication method of transceiving data between a server and a client. First, a server  200  reads a video bit stream produced by a video source codec to divide the read video bit stream into a high priority bit stream  210  and a low priority bit stream  220  before an RTP packet is produced. Next, the server  200  transmits the high priority bit stream  210  to a client  230  via an RTP/TCP/IP, as indicated by arrow  1 , and receives an acknowledgment representing that transmission of the high priority bit stream  210  has been completed without error, as indicated by arrow  2 . Then the server  200  transmits the low priority bit stream  220  to the client  230  via an RTP/UDP/IP regardless of error as indicated by arrow  3 . The client  230  reconstructs the high priority bit stream  210  and the low priority bit stream  220  back into the original video bit stream syntax. 
     As described above, under a conventional Internet environment, a bit stream produced by video source coding such as MPEG-4 or H.263 is transmitted to the UDP/IP layer. The UDP/IP layer cannot determine when all of the transmitted data has been received since it operates in an unacknowledged mode. If a bit stream packet is transmitted under a communication environment in which an Internet network communicates with a wireless network, the packet data may have bit error under the wireless environment. That is, the bit stream packet may have a loss on the Internet while undergoing the Internet environment and the wireless environment, and bit error may be generated even though the bit stream packet has been transmitted without loss. Here, the bit stream packet includes a packet header and a payload header. If a bit error is included in these headers, the receiving terminal cannot perform suitable decoding. 
     When a video bit stream is transmitted in real time, the transmitting terminal classifies the video bit stream based on priority, and transmits higher priority packets first and then lower priority packets. At this time, the receiving terminal must delay data until high priority packets are received first. Thus, real time processing of data is difficult. That is, if high priority packets are consecutively transmitted in an Internet network and a wireless network, the network must be continuously stable. Also, if a bit stream is classified according to priority during video source coding, it cannot be reconstructed into a bit stream packet which conforms to a current RFC protocol. Furthermore, the server  200  and the client  230  must always perform a pre-process for classifying a bit stream, according to priority, in order to transmit and receive the bit stream, and a post-process for reconstructing the received higher and lower priority bit streams into the original bit stream. Also, the process for classifying a bit stream based on priority before packetizing can only be performed at a video codec level which has already known the syntax of the video bit stream. 
     Therefore, data communication in an Internet network combined with a wireless environment causes packet loss and bit error as described above, thus deteriorating the quality of an image. 
     SUMMARY OF THE INVENTION 
     An objective of the present invention is to provide a method of transmitting a bit stream, by which a video bit stream is stably transmitted by the effective use of two logic channels when communication is established by the two logic channels during transmission of the video bit stream. 
     Another objective of the present invention is to provide an apparatus for transceiving a bit stream, by which a video bit stream is stably transceived by the effective use of two logic channels when communication is established by the two logic channels during transmission of the video bit stream. 
     To achieve the first objective, according to an embodiment of the present invention, there is provided a method of transmitting a bit stream in a communication network, the method including: (a) coding source data into a bit stream using a predetermined type of coding; (b) adding the header of each communication protocol layer to a payload while transmitting the bit stream coded in the step (a) to each communication protocol layer; and (c) transmitting the header separately from the bit stream received from the step (b). 
     To achieve the first objective, according to another embodiment of the present invention, there is provided a method of transmitting a bit stream in a communication network, the method including: (a) coding source data into a bit stream using a predetermined type of coding; and (b) adding the header of each communication protocol layer to a payload while transmitting the bit stream coded in the step (a) to each communication protocol layer, and separately transmitting the payload and the header. 
     To achieve the second objective, according to an embodiment of the present invention, there is provided an apparatus for transmitting a bit stream in a communication network, the apparatus including: an encoder for encoding source data into a bit stream using a predetermined type of coding; a protocol processing unit for adding the header of each communication protocol layer to a payload while transmitting the bit stream encoded by the encoder to each communication protocol layer; and a packet processing unit for transmitting the bit stream processed by the protocol processing unit in an unacknowledged mode protocol and transmitting the header information in an acknowledged mode protocol. 
     To achieve the second objective, according to another embodiment of the present invention, there is provided an apparatus for relaying and receiving a bit stream in a communication network, the apparatus including: an extractor for separately extracting payloads and header information, which corresponds to the header of each layer, while transmitting a bit stream received in a separate transmission protocol in the communication network to each layer; an error determination processing unit for determining whether the header information extracted by the extractor has error, and, if it is determined that the header information has error, requesting re-transmission; a bit stream re-organizing unit for re-organizing a bit stream using the header information extracted by the extractor, if it is determined that the header information has no error; and a decoder for decoding a bit stream re-organized by the bit stream re-organizing unit. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The above objectives and advantages of the present invention will become more apparent by describing in detail a preferred embodiment thereof with reference to the attached drawings in which: 
         FIG. 1  is a view illustrating a method of transmitting a video bit stream under a H.323 environment; 
         FIG. 2  is a view illustrating a method of transceiving data between a server and a client in a communication network; 
         FIG. 3  is a block diagram of a video stream transmitting apparatus according to the present invention; 
         FIG. 4  is a block diagram of an apparatus for relaying and receiving a video stream, according to the present invention; 
         FIG. 5A  is a view illustrating a method of transmitting a video bit stream in a situation where a wireless network communicates with an Internet network; 
         FIG. 5B  is a diagram of a video bit stream formed according to the present invention; and 
         FIG. 6  is a view illustrating a method of transmitting a bit stream, according to the present invention. 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     MPEG-4 and H.263, which are widely used as video coding methods, include various types of standardized headers. When data is transmitted in a real time protocol (RTP) while undergoing each layer of an Internet protocol or a wireless protocol, the MPEG-4 or H.263 transmission format is used. Accordingly, when one of these video coding methods is used, the header of each layer is added to a payload header. Thus, only when the header of each layer and the payload header are safe from bit error can a receiving terminal perform suitable decoding. 
     Referring to  FIG. 3 , a video codec unit  310  encodes data to a bit stream using an application program such as H.323. A protocol processing unit  320  transfers the bit stream encoded by the video codec unit  310  to each layer of a communication protocol, and simultaneously adds the header of each layer of the protocol to a payload. A packet processing unit  330  packetizes a bit stream processed by the protocol processing unit  320  and transmits the bit stream packet in a user datagram protocol (UDP), which is an unacknowledged mode transmission protocol, and transmits only header information in a transmission control protocol (TCP), which is an acknowledged mode transmission protocol. In another embodiment, the packet processing unit  330  transmits a payload, with a bit stream processed by the protocol processing unit  320 , in an unacknowledged mode transmission protocol, and transmits only the added header information in an acknowledged mode transmission protocol. 
       FIG. 4  is a block diagram of an apparatus for relaying and receiving a video stream, according to the present invention. Referring to  FIG. 4 , a packet extractor  410  transfers to each layer a bit stream packet received in an unacknowledged or acknowledged mode transmission protocol, while separately extracting a payload and the header of each layer from the bit stream packet. An error determination processing unit  412  determines existence or non-existence of an error in the header information extracted by the packet extractor  410 . If it is determined that an error exists in the header information, the error determination processing unit  412  requests re-transmission. On the other hand, if it is determined that there are no errors in the header, a bit stream re-organizing unit  420  re-organizes a video bit stream using the header of each layer extracted by the packet extractor  410 . A video codec unit  430  decodes the bit stream re-organized by the bit stream re-organizing unit  420 . 
       FIG. 5A  is a view illustrating a method of transmitting a video bit stream in a situation where a wireless network communications with an Internet network. Referring to  FIG. 5A , reference numeral  510  indicates a wireless terminal on a transmitting side including several layers, reference numeral  560  indicates a base station including several layers, reference number  570  indicates an inter working function (IWF), including several layers, and reference numeral  580  indicates an Internet terminal on a receiving side including several layers. 
     First, the wireless terminal  510  includes a video source codec layer  512 , which corresponds to an application layer, at the top, and sequentially includes an RTP layer  514 , an TCP/IP layer  516 , a radio link protocol (RLP) layer  522 , a MAC layer  524 , a layer 1 (L1)  526 . Here, a multimedia codec other than the video source codec can be used as the application layer. A video stream forms a packet made up of a header and a payload while passing through each layer. 
     The video source codec layer  512  encodes a video source into a video bit stream using a video source coding method such as MPEG-4 or H.263 to form a payload header  532  and a video payload  534  as shown in (a) of  FIG. 5B . Here, the payload header  532  and the video payload  534  can be replaced by multimedia data. Then, the RTP layer  514  forms a packet by adding a video payload  545  filled with video data, a payload header  544 , and an RTP header  543 , the UDP/IP or TCP/IP layer  516  adds an IP header  541  and an UDP or TCP header  542  to the formed packet, as shown in (b). The RLP layer  522  and the MAC, or L2, layer  524  add an RLP header  552  and an L2 header  551 , respectively, to the packet (b) as shown in (c). 
     Next, a video bit stream to which the header of each layer is added is transmitted to the base station  560  including identical layers, through an UDP or TCP. The video bit stream (c), including headers, can be divided into a portion which is transmitted through the UDP, which is an UNACK transmission protocol, and a portion which is transmitted through the TCP, which is an ACK transmission protocol. As described above, the wireless terminal  510  can transmit a video bit stream using the following methods. 
       FIG. 6  is a view illustrating a method of transmitting a bit stream, according to the present invention. First, source data is coded into a bit stream  601 . A header is then added from each communication protocol layer to a payload while the bit stream is transmitted to each protocol layer  602 . The bit stream is next transmitted in an unacknowledged mode protocol  603  and the header information is transmitted in an acknowledged or unacknowledged mode protocol  604 . 
     In a first embodiment of the first method, a video bit stream, to which header information is added, is transmitted in the UDP, and the header information is separately transmitted in the TCP. When a bit stream is transmitted only in the UDP, if header information included in the bit stream is damaged, it is difficult for a receiving side to process the bit stream. Hence, in order to prevent the packet loss, the wireless terminal  510  individually packetizes the header of each layer; that is, the L2 header  551 , the RLP header  552 , the IP header  553 , the UDP or TCP header  554 , the RTP header  555  and the payload header  556 , which are added to a video bit stream after the video bit stream passes through each layer. At the same time or when re-transmission is requested, the wireless terminal  510  stably transmits the packetized headers in a TCP. Here, the data transmitted in the TCP at the request of re-transmission is IP packets or RLP packets. 
     In a second embodiment of the first method, in order to solve delay that may occur in real time environment, a video bit stream to which header information is added is transmitted in an UDP, and the header information is separately packetized and transmitted in an UDP simultaneously or when re-transmission is requested. 
     In the second method, according to an embodiment, a video bit stream is separated into a payload portion and a header portion, and these portions are separately packetized. The payload portion is transmitted in an UDP, and simultaneously, the header portion is separately transmitted in a TCP. In another embodiment, the payload portion is transmitted in an UDP, and simultaneously, the header portion is separately transmitted in an UDP. In still another embodiment, in order to reduce a transmission time, a bit stream packet, except for a portion from which a bit error is removed by the TCP layer, can be transmitted to an UDP layer. 
     In the third method, according to an embodiment, when a bit stream transmitted via the TCP layer is re-transmitted a small number of times, the channel of transmission is determined to be stable to some extent. Accordingly, a small bit stream normally transmitted via the UDP can be transmitted via the TCP. 
     The base station  560  relays the layers of a wireless protocol, that is, an RLP layer, an L2 and an L1, to the layers of an Internet protocol, an UDP layer, an IP layer and an L1 (or ATM), in order to tunnel a bit stream received from the wireless terminal  510 . At this time, when re-transmission is requested, data transmitted in a TCP is re-transmitted in units of IP packets or RLPs. 
     The IWF  570  relays a bit stream, which has passed through the layers of the base station  560 , that is, an UDP layer, an IP layer, and a L1 layer, to an UDP or TCP layer, an IP layer, and a L1 layer, in order to interface with the Internet terminal  580 . 
     The Internet terminal  580 , which is a final receiving side, decodes a bit stream received from the IWF  570  through a L1 layer  576 , an IP layer  572 , an UDP or TCP layer  566 , an RTP layer  564 , and a video source codec layer  562 . The Internet terminal  580  can properly decode a video bit stream which probably has a bit error by using an error resilient tool of video coding and referring to a payload and separately-received header information, when a packet received via the UDP layer has a bit error. 
     The present invention is not limited to the aforementioned embodiment, and it is apparent that modifications to this particular embodiment may be effected by those skilled in the art without departing from the spirit of the present invention. That is, the present invention can be used when a bit stream is bi-directionally communicated in real time or streamed in a one-way system in a packet network such as an Internet. The present invention can also be applied to a case where an audio source codec other than a video source codec, or a source codec having the same function as the audio source codec has an error resilient tool with respect to a payload or a function which conforms to the error resilient tool; for example, an adaptive multi rate (AMR) for a MPEG-4 audio mobile, an AMR for a universal mobile telephone network (UMTS), a speech codec, and the like. 
     Also, the above-described embodiment of the present invention can be written in a program that can be executed in computers, and can be realized in general-use digital computers which operate the program from a medium which is used in computers. The medium includes a magnetic storage medium (for example, a ROM, a floppy disc, a hard disc, and the like), an optical read-out medium (for example, a CD-ROM, a DVD and the like), and other computer-readable storage media. 
     According to the present invention as described above, header information or the like is stably transmitted separately from a payload when a wireless network and an Internet network are linked, so that it can correct and check for bit error of a packet which has been passed through each layer. Also, in contrast with an existing method of transmitting data according to priority, a packet to which the present invention is applied can be processed independently of a video syntax. Furthermore, under an application environment where communication is achieved using an UDP, a bit stream including a bit error can be appropriately decoded by separately-received header information using an error resilient tool.