Patent Publication Number: US-7583693-B2

Title: Signal coding

Description:
The invention relates to coding a signal. 
   The invention further relates to channel coding. 
   The article of Hagenauer, J. and Stockhammer, T., ‘Channel Coding and Transmission Aspects for Wireless Multimedia’, Proceedings of the IEEE, Vol. 87, No. 10, October 1999, discloses joint source/channel coding and decoding methods for multimedia. Multimedia has to handle a variety of compressed and uncompressed source signals such as data, text, image, audio and video. On wireless channels the error rates are high and joint source/channel coding and decoding methods are advantageous. 
   In the heterogeneous world of communication the layered structure is an important feature for standardization, design and implementation. Usually one layer only communicates with the corresponding layer at the receiver side by using the lower layers to fulfil the requests of the upper layer. For both standardization and implementation, only the definition of interfaces and tasks for each layer is necessary, whereby the interface definition is quite simple. The layer is usually described using a state machine. There also exists a very clear separation in the layer model: end-to-end applications are transported over different physical media like optical fiber, copper wires, or wireless within one connection. 
   In contrast to the layered structure, an optimization of compression and transmission stretching across the layers might be useful in the mobile environment. The source coding scheme and even the application control could be influenced by the state of the mobile channel and the available resources. Some services might be restricted because of error, complexity, and delay constraints. Communication systems optimized to both the application and the channel might be of interest in the future for very bandwidth and power efficient transmission. 
   If there is some knowledge about the source properties, i.e., bit sensitivity measurements or source significance information, or if the application provides base information separated from enhancement information, Unequal Error Protection (UEP) methods should be applied by using advanced channel coding algorithms or modulation techniques. The more important base information is highly protected to guarantee delivery, the less important enhancement information is either low protected or in bad channel conditions even not transmitted. 
     FIG. 1  shows a part of the simplest transmission scheme over a non-frequency selective fading channel for a single application. The different blocks of source  1 , channel encoder  2 , transmission channel  3 , channel decoder  4 , and source decoder  5  are linked in a variety of ways. A source signal u is furnished from the source encoder  1  to the channel encoder  2  to obtain a channel encoded signal x. The channel encoded signal x is transmitted over the transmission channel  3  and corrupted, resulting in a corrupted signal y. The corrupted signal y is decoded in the channel decoder  4  to obtain a channel decoded signal û, which is furnished to the source decoder  5 . The channel and the decoder are not to be connected by the hard decisions of the demodulator/detector only. Soft decisions and Channel State Information (CSI) are passed on. Source Significance Information (SSI) is passed to the channel encoder  2  for static or dynamic UEP. SSI might be derived by evaluating the decoded application under the assumption that a certain part of a packet is missing or wrong. 
   An object of the invention is to provide advantageous signal coding. To this end, the invention provides coding, channel coding, a coded data stream, and a storage medium as defined in the independent claims. Advantageous embodiments are defined in the dependent claims. The invention is especially advantageous in presence of intermediate layers, e.g. protocol layers for networked devices. 
   According to a first aspect of the invention, a signal is source coded to obtain a coded data stream and source significance information (SSI) is included in the coded data stream, the source significance information indicating desired protection rates of respective parts of the coded data stream. The invention provides advantageous exchange of information between source and channel encoder in the presence of intermediate network layers, thereby allowing UEP beneficial advantages to be effectively applied to the design of wireless networked architectures and devices, e.g. cellular networks. The invention may be used in circuit-switched as well as packet-switched networks. By including SSI in the coded data stream, the SSI is obtainable from the coded bit-stream, keeping interfacing between coding layers simple. Including SSI info in the coded data stream has the consequence that a channel encoder should be arranged to extract the SSI information from the coded bit-stream. SSI transmitted from source coder to channel encoder indicates the desired protection rates. A channel encoder according to the invention, channel codes the coded data stream under control of the identified SSI. Preferably the channel encoder also takes into account a state of the transmission channel. In this way, respective parts of the coded data stream are channel coded with respective error protection rates under control of the SSI in the coded data stream obtained from the source coder and the state of the transmission channel. Therefore, the actual error protection rates of the channel coded data stream are not necessarily the same as the desired error protection rates indicated by the SSI obtained from the source encoder. The channel encoder may also decide to omit transmission of given information in the case that channel conditions are do not meet a certain required bandwidth. 
   Advantageously, the SSI includes respective lengths of the respective parts of the coded data stream. This aspect of the invention provides advantageous coding for variable lengths of the parts of the coded data stream. 
   Advantageously, the SSI is included in respective headers that are associated with respective packets, a given SSI header indicating desired protection rates for respective parts of the associated packet. This aspect of the invention provides an advantageous exchange of information between source and channel encoder in a coding system that uses packets. 
   Advantageously, the SSI header includes an offset which indicates a start position of the associated packet. In this way, the channel encoder is provided with a pointer to the coded data stream to directly access the coded data stream at the start position of the packet to be channel coded. 
   Preferably, the SSI is included in the coded data stream in such a way that it can be easily identified by a channel encoder, which channel encoder has been arranged according to the invention. Preferably, the SSI should be available to the channel encoder without having to decode the coded data stream at the channel encoder. Further embodiments of the invention provide advantageous ways in identifying the SSI in the channel encoder. 
   Advantageously, the SSI header of the first packet in a group of packets, i.e. the first SSI header, is placed at the beginning of the group of packets. This embodiment provides an easy access to the SSI header. This embodiment requires that at each intermediate coding layer, the SSI header is replaced at the beginning of the group of packets and that the offset in the first SSI header is updated to take header lengths of intermediate coding layers into account. 
   Alternatively, the first header is provided with an identifier, preferably just in front of the first SSI header. This embodiment has the further advantage that the SSI header is transparent to the network. The identifier may be a pseudo-random word or any kind of identifier known in the art. Preferably, the pseudo-random word is a pseudo-noise sequence. Reference is made to John G. Proakis, ‘Digital communications’, 2 nd  edition, McGraw-Hill, 1989, pp. 801-817, pp. 831-836. A preferred pseudo-noise sequence is a Gold sequence, which is known in the art. Pseudo-noise sequences have auto-correlation properties particularly suitable for detection and/or synchronization. A channel encoder according to the invention is arranged to identify the identifier and consequently the first SSI header. 
   Although the invention is preferably applied to provide a channel encoder with source significance information, the SSI that has been included in the coded data stream is alternatively applied in transmitting SSI from channel encoder to channel decoder over a channel. 
   A preferable field of application of the invention, is wireless transmission of MPEG-4 video. The article of Heinzelman, W. R., Budagavi, M. and Talluni, R., ‘Unequal Error Protection of MPEG-4 Compressed Video’, Proceedings of the International Conference on Image Processing (ICIP), October 1999, discloses that the structure of an MPEG-4 compressed bit-stream lends itself to using unequal error protection to ensure fewer errors in the important portions of the bit-stream. 
   Alternatively, the coded data stream may be recorded to a computer-readable medium, and transmission being effected by distributing the recorded computer-readable medium. 
   The aforementioned and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter. 

   
     In the drawings: 
       FIG. 1  shows a block diagram of a coding arrangement as known from the prior art; 
       FIG. 2  shows an embodiment of including an SSI header in a packet; 
       FIG. 3  shows an example of an SSI header; 
       FIG. 4  shows managing of an SSI header of a first packet in a coded bit-stream according to an embodiment of the invention; 
       FIG. 5  shows managing of SSI headers of remaining packets according to an embodiment of the invention; 
       FIG. 6  shows a diagram of a vertical layer concept according to an embodiment of the invention; 
       FIG. 7  shows a block diagram of a system according to an embodiment of the invention; 
       FIG. 8  shows automatic SSI header detection using an identifier according to an embodiment of the invention; and 
       FIG. 9  shows a block diagram of a system according to another embodiment of the invention. 
   

   The drawings only show those elements that are necessary to understand the invention. 
   In UEP, a channel encoder/decoder, running on a physical layer is able to encode/decode parts of the stream with a different rate according to the SSI received from the source. 
   In the following, an MPEG-4 encoder is considered running on an application layer, which encoder is delivering a video stream to an end user. To simplify, it is supposed that the video stream is divided into groups of N video packets, e.g. in frames, and that the groups are not broken up into smaller units at a given layer (a person skilled in the art, after having read this description, will straightforwardly make the extension to the case wherein the groups are broken up). In the following, the discussion is focused on the transmission of a single group of N MPEG-4 video packets. 
   According to an aspect of the invention, respective SSI headers are incorporated in a coded data stream comprising respective packets, wherein a given SSI header is associated with a given packet. See  FIG. 2  of an example of a packet, having an SSI header. An MPEG-4 video packet basically comprises a video packet header p 1 , motion information p 2  (in the case of a predictively coded frame), and texture information p 3 , each part of the packet having variable size Δ l   L . Although not shown in  FIG. 2 , an MPEG-4 packet normally comprises stuffing bits at the end of the packet, i.e. after the texture information p 3 . These stuffing bits should get a protection similar to the header of the packet p 1 , because reversible decoding cannot be performed if this information is corrupted, and a following packet may be dropped if the stuffing bits are received in error. The header p 1  comprises the most important bits of the packet, the motion bits p 2  are next important and the texture bits p 3  are least important. Note that the importance of the parts of the packet is directly related to the SSI. Supposing that different protection rates are desired to perform UEP, the header p 1  should get a given protection r 1 , the motion bits P 2  should get a lower level of protection r 2 , and the texture bits p 3  should receive a lowest level of protection r 3 . Layer L indicates an MPEG coding layer. At each subsequent layer l=L−1, . . . , 1 some processing is performed and a header h(l) is inserted in the coded data stream, usually at the beginning of the coded data stream. According to a preferred embodiment of the invention, the SSI header of the first packet, i.e. SSI 1  is replaced at the beginning of the coded bit-stream as shown in  FIG. 4 . Managing of SSI headers of remaining packets is shown in  FIG. 5 . 
   For each packet a start position of a packet part p i   n  is given by:
 
for Δ l   l,n =Δ l−1   l,n +Δ l−1   L,n   (1)
 
   for i≧2, wherein Δ 1   l,n =Δ ofs   l,n    
   The offset Δ ofs   l,1  of a first packet is a summation of a current header length Δ h   l  and a previous offset Δ ofs   l+1,1  of the first packet, as indicated by:
 
Δ ofs   l,1 =Δ h   l +Δ ofs   l+1,1   , l=L, . . .  1  (2)
 
The offset Δ ofs   l,1  at layer L is equal to the length of the SSI header, i.e. Δ h   L,1 =Δ SSI  and Δ ofs   L+1,1 =0.
 
   The first SSI header preferably comprises the sizes Δ l   L,l , the rates r i   l , and the offset Δ ofs   l,1 . Such a preferred SSI header is shown in  FIG. 3 . In this way, the channel encoder receives both the size Δ l   L  of each part of the packet and the corresponding rate r i . 
   In an embodiment according to  FIG. 4 , the offset Δ ofs   L,1 , which takes into account the current layer&#39;s header length, needs to be updated at each layer in the way that the channel encoder is given the right pointer to encode correctly the different parts of the video packets.  FIG. 4  shows that at each layer, the SSI header associated to the first MPEG-4 packet is placed at the beginning of the group of packets so that it can be immediately detected; moreover, the corresponding offset Δ ofs   l,1  is updated according to the current layer&#39;s length. For the remaining MPEG-4 video packets, the offset Δ ofs   l,n (n=2, . . . , N) corresponds to the length of the respective SSI header Δ SSI   n . If all Δ SSI   n  have a predetermined length, it is possible to omit the offset Δ ofs   l,n  in the SSI header for n≧2, as long as the channel encoder takes into account Δ SSI   n . The SSI header so defined can be interpreted as a vertical layer extending across several layers  1 , . . . , L, as shown in  FIG. 6 . Layer L denotes an MPEG-4 application, layer  1  a channel coding/physical layer. In this way, SSI may be carried among the layers through the vertical layer, which lets the channel encoder receive instantaneously all the information it needs to encode the video packets according to a UEP criterion. The vertical layer extending across the network layers therefore allows advantageous source adapted UEP. 
     FIG. 7  shows a block diagram of a system according to an embodiment of the invention. At the application layer L, a source coder  10  (e.g. an MPEG-4 encoder) is shown, provided with an SSI header generation unit  11  and a multiplexer  12 . The source coder  10  generates a coded data stream. The multiplexer  12  incorporates the SSI headers generated by the SSI header generation unit  11  into the coded data stream. At intermediate layers, an intermediate coder  13  performs a coding operation wherein the first SSI header is shifted and the offset updated similar to the coding operation illustrated in  FIG. 4 . Each layer L−1, . . . , 2 incorporates such a coder  13 . At the channel coding/physical layer  1 , a channel coder  15  is shown that is controlled by a controller  14 . The controller  14  identifies the first SSI header. This is an easy operation, because in this embodiment the SSI header is present at the beginning of the coded data stream. Further SSI headers are identified by using offsets and lengths of the respective packet parts. Information available from the SSI headers is furnished to the channel encoder  15  which performs a channel coding operation on the coded data stream, in which respective parts of the coded data stream are coded with respective protection rates under control of the source significance information. A channel coded data stream generated by the channel coder  15  is furnished to a modulator  16  that performs a modulation operation to make the coded signal suitable for transmission over the channel  3 ′. The transmission channel  3 ′ may alternatively be a storage medium. Each layer&#39;s resulting data stream, which includes SSI information according to an aspect of the invention, may be transmitted over such a channel, or may be stored on such a storage medium. At a receiver side, the transmitted data stream is received in a demodulator  17 , which inter alia extracts control information from the transmitted data stream. The control information is furnished to a controller  18 , which controls a channel decoder  19 . The channel decoder furnishes a channel decoded signal through intermediate layers to a source decoder  20 . 
   The channel coding may be performed according to any known source adapted channel coding mechanism. Preferably, the SSI headers according to the invention are transmitted to inform the channel decoder how the UEP operation in the channel encoder  15  has been performed. The channel encoder  15  should protect the SSI headers against channel errors and the channel decoder  19  should carry out a channel decoding operation to decode the SSI. In the case that the error protection rates in the channel encoding differs from the desired protection rates obtained from the original SSI headers, the SSI headers need to be updated to indicate the actual error protection rates used by the channel encoder  15 . 
   Because the proposed technique requires management of the SSI header at each layer, additional processing at each layer is required relative to prior art systems. 
   An alternative embodiment of the invention, which prevents the additional processing at each layer and makes UEP transparent to the network, makes use of an identifier just in front of the SSI header. For example, a pseudo-random word may be placed just before the SSI header of the first MPEG-4 packet, so that it can be automatically detected by correlation techniques at the physical layer. The identifier adds further redundancy to the bit-stream and the detection of the identifier requires additional hardware and/or software resources at the physical layer for correlation computing. However, the advantage of this technique is that it enables UEP irrespective of the intermediate layers. 
     FIG. 8  shows an embodiment for SSI header detection using an identifier according to an embodiment of the invention. By inserting an identifier in the coded data stream, a channel encoder according to the invention easily identifies the SSI header associated with the identifier. In this embodiment, it is not necessary at each intermediate layer to update and replace the first SSI header at the beginning of the coded data stream. In fact, it is not necessary to identify and process the first SSI header at each intermediate layer. Therefore, prior art intermediate coding can be used. Subsequent headers h(L−1), h(L−2), etc. are just placed in front of the first SSI header. 
     FIG. 9  shows a block diagram of an implementation of UEP without SSI management at the intermediate layers. The elements shown in  FIG. 9  are similar to the elements shown in the implementation of  FIG. 7 . Differences are that the SSI header insertion unit  11  has now been arranged to include an identifier in the coded data stream, the identifier being associated to the first SSI header and preferably put in the coded bit-stream just before the first SSI header. In this way, the SSI header can be easily identified in the channel encoder  15 . Because it is not necessary to replace the SSI header at the beginning of the coded data stream in each intermediate layer processing, no additional processing is necessary in the intermediate layers. A further difference with  FIG. 7  is that the controller  14  now has been arranged to identify the SSI header identifier. In the case that the SSI header is channel coded and transmitted, unit  18  in this embodiment has been arranged to detect the identifier. The identifier may be designed such that detection at the receiving side is sufficiently robust against channel errors. It is not necessary to channel code such an identifier. Channel coding of the SSI headers still remains necessary. 
   When groups of packets are broken up, smaller groups of packets are generated. First packets of these smaller groups can each be handled as described above. 
   Preferred application fields of the invention are mobile phones and mobile communication devices. 
   It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word ‘comprising’ does not exclude the presence of other elements or steps than those listed in a claim. The invention can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In a device claim enumerating several means, several of these means can be embodied by one and the same item of hardware. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. 
   In summary, the invention provides signal coding, wherein the signal is source coded to obtain a coded data stream, and source significance information is included into the coded data stream, the source significance information indicating desired protection rates of respective parts of the coded data stream. In this way, a channel encoder may obtain the source significance information from the coded data stream, which is advantageous in presence of intermediate network layers. Preferably, the coded data stream comprises respective packets, the being included in respective headers associated with the respective packets, a given header indicating desired protection rates for respective parts of the associated packet. In order to provide easy detection of the source significance information, a first header is placed at a beginning of the coded data stream. Alternatively, the first header is provided with an identifier.