System and method for processing wireless high definition video data using a shortened last codeword |
|||||||
申请号 | US11863109 | 申请日 | 2007-09-27 | 公开(公告)号 | US07688908B2 | 公开(公告)日 | 2010-03-30 |
申请人 | Huaning Niu; Pengfei Xia; Chiu Ngo; | 发明人 | Huaning Niu; Pengfei Xia; Chiu Ngo; | ||||
摘要 | A method and system for processing high definition video data to be transmitted over a wireless medium is disclosed. In one embodiment, the method includes receiving an information packet having the length of L bytes, wherein L=(M×n×K)+A, and where: M is the depth of an interleaver, n is the number of interleavers, K is an encoding code length and A is the number of remainder bytes with respect to M×n×K bytes, wherein the remainder bytes are located at the end of the information packet. M×n×K bytes represent M×n codewords, wherein the remainder bytes sequentially form a plurality of remainder codewords, and wherein the plurality of remainder codewords comprise a last codeword which is located at the end of the remainder codewords. The method further includes i) shortening the last codeword such that the resultant shortened codeword is shorter in length than each of the remaining codewords of the information packet and ii) adding dummy bits to the outer encoded data so as to meet a predefined size requirement for an outer interleaver. | ||||||
权利要求 | What is claimed is: |
||||||
说明书全文 | This application claims priority under 35 U.S.C. §119(e) from U.S. Provisional Patent Application No. 60/906,382 filed on Mar. 12, 2007, which is hereby incorporated by reference. This application also relates to U.S. patent application Ser. No. 11/863,084 entitled “System and method for processing high definition video data using remainder bytes,” which is concurrently filed with this application and is incorporated herein by reference. 1. Field of the Invention The present invention relates to wireless transmission of video information, and in particular, to transmission of high definition video information over wireless channels. 2. Description of the Related Technology With the proliferation of high quality video, an increasing number of electronic devices, such as consumer electronic devices, utilize high definition (HD) video which can require about 1 Gbps (giga bits per second) in bandwidth for transmission. As such, when transmitting such HD video between devices, conventional transmission approaches compress the HD video to a fraction of its size to lower the required transmission bandwidth. The compressed video is then decompressed for consumption. However, with each compression and subsequent decompression of the video data, some data can be lost and the picture quality can be reduced. The High-Definition Multimedia Interface (HDMI) specification allows transfer of uncompressed HD signals between devices via a cable. While consumer electronics makers are beginning to offer HDMI-compatible equipment, there is not yet a suitable wireless (e.g., radio frequency) technology that is capable of transmitting uncompressed HD video signals. Wireless local area network (WLAN) and similar technologies can suffer interference issues when several devices, which do not have the bandwidth to carry the uncompressed HD signals, are connected together. One aspect of the invention provides a method of processing high definition video data to be transmitted over a wireless medium, the method comprising: i) receiving an information packet having the length of L bytes, wherein L=(M×n×K)+A, and where: M is the depth of an interleaver, n is the number of interleavers, K is an encoding code length and A is the number of remainder bytes with respect to M×n×K bytes, wherein the remainder bytes are located at the end of the information packet, wherein M×n×K bytes represent M×n codewords, wherein the remainder bytes sequentially form a plurality of remainder codewords, and wherein the plurality of remainder codewords comprise a last codeword which is located at the end of the remainder codewords, ii) outer encoding the M×n codewords and the plurality of remainder codewords based on the code length (K), iii) shortening the last codeword such that the resultant shortened codeword is shorter in length than each of the remaining codewords of the information packet and iv) adding dummy bits to the outer encoded data so as to meet a predefined size requirement for an outer interleaver. Another aspect of the invention provides a system for processing high definition video data to be transmitted over a wireless medium, the system comprising: i) a first module configured to receive an information packet having the length of L bytes, wherein L=(M×n×K)+A, and where: M is the depth of an interleaver, n is the number of interleavers, K is an encoding code length and A is the number of remainder bytes with respect to M×n×K bytes, wherein the remainder bytes are located at the end of the information packet, wherein M×n×K bytes represent M×n codewords, wherein the remainder bytes sequentially form a plurality of remainder codewords, and wherein the plurality of remainder codewords comprise a last codeword which is located at the end of the remainder codewords, ii) an outer encoder configured to outer encode the M×n codewords and the plurality of remainder codewords based on the code length (K), iii) a second module configured to shorten the last codeword such that the shortened codeword is shorter in length than each of the remaining codewords of the information packet and iii) a third module configured to add dummy bits to the outer encoded data so as to meet a predefined size requirement for the outer interleaver. Another aspect of the invention provides one or more processor-readable storage devices having processor-readable code, the processor-readable code for programming one or more processors to perform a method of processing high definition video data to be transmitted over a wireless medium, the method comprising: i) receiving an information packet having the length of L bytes, wherein L=(M×n×K)+A, and where: M is the depth of an interleaver, n is the number of interleavers, K is an encoding code length and A is the number of remainder bytes with respect to M×n×K bytes, wherein the remainder bytes are located at the end of the information packet, wherein M×n×K bytes represent M×n codewords, wherein the remainder bytes sequentially form a plurality of remainder codewords, and wherein the plurality of remainder codewords comprise a last codeword which is located at the end of the remainder codewords, ii) outer encoding the M×n codewords and the plurality of remainder codewords based on the code length (K), iii) shortening the last codeword such that the resultant shortened codeword is shorter in length than each of the remaining codewords of the information packet and iv) adding dummy bits to the outer encoded data so as to meet a predefined size requirement for an outer interleaver. Still another aspect of the invention provides a system for processing high definition video data to be transmitted over a wireless medium, the system comprising: i) means for receiving an information packet having the length of L bytes, wherein L=(M×n×K)+A, and where: M is the depth of an interleaver, n is the number of interleavers, K is an encoding code length and A is the number of remainder bytes with respect to M×n×K bytes, wherein the remainder bytes are located at the end of the information packet, wherein M×n×K bytes represent M×n codewords, wherein the remainder bytes sequentially form a plurality of remainder codewords, and wherein the plurality of remainder codewords comprise a last codeword which is located at the end of the remainder codewords, ii) means for outer encoding the M×n codewords and the plurality of remainder codewords based on the code length (K), iii) means for shortening the last codeword such that the resultant shortened codeword is shorter in length than each of the remaining codewords of the information packet and iv) means for adding dummy bits to the outer encoded data so as to meet a predefined size requirement for an outer interleaver. Certain embodiments provide a method and system for transmission of uncompressed HD video information from a sender to a receiver over wireless channels. Example implementations of the embodiments in a wireless high definition (HD) audio/video (A/V) system will now be described. Each station 114 uses the low-rate channel 116 for communications with other stations 114. The high-rate channel 118 supports single direction unicast transmission over directional beams established by beamforming, with e.g., multi-giga bps bandwidth, to support uncompressed HD video transmission. For example, a set-top box can transmit uncompressed video to a HD television (HDTV) over the high-rate channel 118. The low-rate channel 116 can support bi-directional transmission, e.g., with up to 40 Mbps throughput in certain embodiments. The low-rate channel 116 is mainly used to transmit control frames such as acknowledgement (ACK) frames. For example, the low-rate channel 116 can transmit an acknowledgement from the HDTV to the set-top box. It is also possible that some low-rate data like audio and compressed video can be transmitted on the low-rate channel between two devices directly. Time division duplexing (TDD) is applied to the high-rate and low-rate channel. At any one time, the low-rate and high-rate channels cannot be used in parallel for transmission, in certain embodiments. Beamforming technology can be used in both low-rate and high-rate channels. The low-rate channels can also support omni-directional transmissions. In one example, the device coordinator 112 is a receiver of video information (hereinafter “receiver 112”), and the station 114 is a sender of the video information (hereinafter “sender 114”). For example, the receiver 112 can be a sink of video and/or audio data implemented, such as, in an HDTV set in a home wireless network environment which is a type of WLAN. In another embodiment, the receiver 112 may be a projector. The sender 114 can be a source of uncompressed video or audio. Examples of the sender 114 include a set-top box, a DVD player or recorder, digital camera, camcorder, other computing device (e.g., laptop, desktop, PDA, etc.) and so forth. The application layer 210 of the transmitter 202 includes an A/V pre-processing module 211 and an audio video control (AV/C) module 212. The A/V pre-processing module 211 can perform pre-processing of the audio/video such as partitioning of uncompressed video. The AV/C module 212 provides a standard way to exchange A/V capability information. Before a connection begins, the AV/C module negotiates the A/V formats to be used, and when the need for the connection is completed, AV/C commands are used to stop the connection. In the transmitter 202, the PHY layer 206 includes a low-rate (LR) channel 203 and a high rate (HR) channel 205 that are used to communicate with the MAC layer 208 and with a radio frequency (RF) module 207. In certain embodiments, the MAC layer 208 can include a packetization module (not shown). The PHY/MAC layers of the transmitter 202 add PHY and MAC headers to packets and transmit the packets to the receiver 204 over the wireless channel 201. In the wireless receiver 204, the PHY/MAC layers 214, 216 process the received packets. The PHY layer 214 includes a RF module 213 connected to the one or more antennas. A LR channel 215 and a HR channel 217 are used to communicate with the MAC layer 216 and with the RF module 213. The application layer 218 of the receiver 204 includes an A/V post-processing module 219 and an AV/C module 220. The module 219 can perform an inverse processing method of the module 211 to regenerate the uncompressed video, for example. The AV/C module 220 operates in a complementary way with the AV/C module 212 of the transmitter 202. In frame based bursty communication systems, information bytes are generally grouped in packets/frames before transmission. Packetization of the information bytes is generally straightforward. However, non-negligible efficiency loss could occur if the packetization is not done properly. This is especially true toward the end of each frame/packet. In a typical HD video data transmitter for a wireless video area network (WVAN), the packetization task toward the end of the packet is generally non-trivial as the transmitter generally uses Reed Solomon (RS) codes followed by an outer block interleaver code and a parallel of multiple convolutional codes in an orthogonal frequency division multiplexing (OFDM) setup. In one embodiment, in order to ensure that an integer number of OFDM symbols are created, the high rate physical layer (HRP) will add additional bits to the bit stream, generally called stuff bits, prior to performing any operations on the incoming data. Stuff bits are typically set to zero prior to adding them to the end of the bit stream. The HRP generally adds the minimum number of stuff bits necessary to create an integer number of OFDM symbols for the combination of the physical layer header field, medium access control (MAC) header field and header check sequence (HCS) field. These additional bits are typically discarded by the receiver upon reception. In addition, the HRP generally adds the minimum number of stuff bits necessary to create an integer number of OFDM symbols for each of the subpackets that end on a HRP mode change and for the last subpacket. These additional bits are not included in the calculation of the MAC protocol data unit (MPDU) length field and are discarded by the receiver upon reception. In the IEEE 802.11n standard, the encoding procedure is defined for a low density parity check (LDPC) coded OFDM system. The design is to meet both the LDPC codeword boundary and the OFDM symbol boundary, while improving the coding performance and padding efficiency. In a wireless HD video data transmitter, more constraints may exist compared with the 802.11n case, because the wireless transmitter may need to meet the RS codeword boundary, the block outer-interleaver boundary, the padding of tail bits for convolutional codes after the outer interleaver, and the OFDM symbol boundary. Therefore, the design is generally more complicated in the WVAN system. In the digital video broadcast-terrestrial (DVB-T) standard, where a concatenated RS code with convolutional codes is used, the encoding procedure is also much simpler than the wireless HD transmitter because a convolutional outer interleaver is used in the DVB-T system instead of a block interleaver, as well as only one convolutional code is used. In a typical WVAN system targeting multi-giga bps video/data communications over a short range, information bytes are first equally divided into two branches, with a possibly different modulation and coding method used for each branch, in order to accommodate the unequal error protection concept where the data of the two branches receive a different level of error protection. In one embodiment, instead of using RS encoders 304 and 306, other outer encoders such as a Bose, Ray-Chaudhuri, Hocquenghem (BCH) encoder can be also used. In one embodiment, instead of using one or more convolutional encoders 312, other inner encoders such as a linear block encoder can be also used. In one embodiment, each of the convolutional encoders 312 may include a plurality of parallel convolutional encoders which encode a plurality of incoming data bits, respectively. In this embodiment, the system 300 may further include at least one parser (not shown), generally located between each of outer interleavers 308, 310 and each of the convolutional encoders 312, which parses the outer interleaved data bits to a corresponding one of the convolutional encoders 312. However, for convenience, the In another embodiment, it is also possible to have a single RS (or outer) encoder and a single outer interleaver instead of using a pair of those elements 304, 306 and 308, 310. In another embodiment, it is also possible to have more than two of the RS encoders, outer interleavers, convolutional encoders and multiplexers. Referring to The RS encoders 304, 306 encode the MSBs and LSBs, respectively. The first and second outer interleavers 308, 310 outer interleave the RS encoded data, respectively. In one embodiment, each of the outer interleavers 308, 310 is a block interleaver or a convolutional interleaver. In another embodiment, other forms of interleavers are also possible. The convolutional encoder(s) 312 perform(s) convolutional encoding and puncturing on the outer interleaved data, and output(s), for example, four bits of data, corresponding to the MSBs and LSBs, respectively, to a multiplexer 314. In one embodiment, the convolutional encoders 312 may include a plurality of convolutional (or inner) encoders some of which are for the MSBs and the others of which are for the LSBs. In this embodiment, the number of convolutional encoders for MSB data may be the same (e.g., 4 and 4) as that of inner encoders for LSB data. In another embodiment, the number of convolutional encoders for MSB data may be different (e.g., 6 and 2) from that of convolutional encoders for LSB data. In one embodiment, each of the convolutional encoders may provide equal error protection (EEP) for all incoming data bits. In another embodiment, the convolutional encoders may provide unequal error protection (UEP) for all incoming data bits. The multiplexer 314 multiplexes the bit streams output from the convolutional encoders 312 to a multiplexed data stream to be provided to a bit interleaver 316. The bit interleaver 316 bit-interleaves the multiplexed data stream. A symbol mapper 318 performs symbol mapping such as quadrature amplitude modulation (QAM) mapping on the bit-interleaved data. A pilot/DC null insert unit 320 and a tone interleaver 322 perform pilot/DC null inserting and tone interleaving, respectively. An inverse Fourier fast transform (IFFT) unit 324 performs IFFT processing on the output of the tone interleaver 322. A guard interval unit 326 and a symbol shaping unit 328 perform guard interval and symbol shaping for the IFFT processed data, sequentially. In one embodiment, the IFFT unit 324 and the guard interval unit 326 together perform orthogonal frequency division multiplexing (OFDM) modulation. An upconversion unit 330 performs upconversion on the output of the symbol shaping unit 328 before transmitting the data packet to a HD video data receiver over the wireless channel 201 (see In one embodiment, as shown in Further describing inserting tail bits based on one embodiment, the information symbols are divided into equal-sized units, with each unit containing equal 4×K information symbols, so that each unit after RS encoding matches with the interleaver size. In this embodiment, the ending unit (or the last unit) would have 0≦q<4×K symbols available, while q may take arbitrary value in between. In one embodiment, the ending packet contains 4×(K−M) information symbols, with each symbol being, for example, 8-bit long. Additional zeros may be added to the data packets (with the tail-bit-zeros for convolutional codes to be added later), which will lower the overall efficiency. Since each unit is of 4K symbols (or 32K bits), each subpacket (approximately 50 μs long) may contain up to only 10 units for 1080i (1080 interlaced scan). Thus, in order to meet the boundaries of the RS encoder and block interleaver, such a packetization leads to an average efficiency reduction of about 5% and a maximum efficiency reduction of about 10% for 1080i. One embodiment of the invention provides a systematic way to do packetization of the information bits for wireless HD video communication systems and provides much higher padding efficiency (i.e., much more efficient padding) while improving the decoding performance. Summarizing the operation of the For convenience, four encoding schemes shown in Scheme 1 In one embodiment, the encoding procedure 500 is implemented in a conventional programming language, such as C or C++ or another suitable programming language. In one embodiment of the invention, the program is stored on a computer accessible storage medium at a HD video data transmitter for a WVAN, for example, a device coordinator 112 or devices (1−N) 114 as shown in Referring to In one embodiment, scheme 1 provides the most straightforward encoding procedure among the four schemes. In one embodiment, the system 300 receives L information bytes 400 from the MAC layer (502). The information bytes 400 include main codewords 402 and remainder codewords 404. The remainder codewords 404 are less than, e.g., four codewords and located at the end of the information packet 400. Each block of the information bytes 400 represents a codeword having the length of, e.g., 1K bytes, where K=1024. This applies to the remaining schemes shown in The system 300 RS encodes the information bytes 402 with the RS code of (N, K, t), where K is the number of information bytes, N is the number of bytes in the codeword, and t is correction capability (504). After the RS encoding, 2t (e.g., 8) bytes of parity bits 408 are added per codeword to form the size N byte codewords as shown in In one embodiment, certain length of zeros 416 are padded to the RS encoded codewords to, for example, ceil(L/4K)×4N (508). In one embodiment, each of the outer interleavers has a depth of 4 (the number of columns of each outer interleaver) as shown in The RS encoded codewords 410 and zero-padded codewords 414 are outer interleaved and parsed (510). In this embodiment, each outer interleaver performs outer interleaving on a set of four codewords 410 and 414. This applies to the remaining schemes shown in Tail bits 420 are further inserted to the outer interleaved data and convolutional encoding is performed for the data having the tail bits 420 thereafter (512). Padding tail bits 420 is to terminate the convolutional codes such that decoding at the receive side is properly performed. In one embodiment, 1 byte of tail bits (e.g., 1 byte of zeros) is added per a convolutional encoder. For example, for 8 convolutional encoders, 8 bytes of tail bits are added. In one embodiment, padding tail bits 420 in state 512 may be performed by at least one of the outer interleavers 308, 310. In another embodiment, the padding of the tail bits may be performed by another element of the More scrambled zeros 424 are inserted to the convolutional coded bytes in order to provide an integer number of OFDM symbols (514). Multiplexing of the data having the scrambled zeros 424 is performed thereafter. In one embodiment, padding scrambled zeros 424 may be performed by the multiplexer 314. In another embodiment, padding scrambled zeros 424 may be performed by another element of the Scheme 2 Scheme 1 provides relatively a straightforward scheme. However, the padding efficiency may be low. Scheme 2 provides some improvement on transmission efficiency over scheme 1. The system 300 receives L information bytes 520 from the MAC layer (560). The information bytes 520 may include main codewords 522 and remainder codewords 524. The system 300 RS encodes the information bytes 520 with the RS code of (N, K, t), where K is the number of information bytes, N is the number of bytes in the codeword, and t is correction capability (562). After the RS encoding, 2t parity bytes 526 are added to form the size N byte codewords as shown in The last codeword 528 (case 1) or 532 (case 2) of the RS encoded remainder codewords is shortened to, for example, (m+2t, m), wherein m=mod(L, K) (564). It is determined whether mod(L, 4K) for the last codeword 532 is greater than 4K−8 (566). If it is greater than 4K−8 (case 1), partial tail bits 538, for example, less than 8 bytes, are inserted into the RS encoded codewords to form a set of four codewords 536 which meets the depth four outer interleaver requirement (568). The RS encoded codewords 536 with the partial tail bits 538 added are outer interleaved and parsed (570). Additional tail bits 548, for example, 8 bytes minus the number of the partial tail bits, are added to the outer interleaved data such that total tail bits added are 8 bytes (572). Convolutional encoding is performed for the outer interleaved data having the tail bits (partial tail bits 538+additional tail bits 548) thereafter (572). If it is determined in state 566 whether mod(L, 4K) for the last codeword 532 is not greater than 4K−8 (case 2), entire tail bits 544 (e.g., 8 bytes) are added to the RS encoded codewords (574). Thereafter, certain length of zeros 542 are padded to the RS encoded codewords to form a set of four codewords 540 which meets the depth four outer interleaver requirement (576). In one embodiment, padding tail bits 538 and 544, and padding zeros 542 may be performed by at least one of the outer interleavers 308, 310. In another embodiment, the padding of the tail bits 538, 544 and zeros 542 may be performed by another element of the Scrambled zeros 550 are inserted to the convolutional coded bytes in order to provide an integer number of OFDM symbols (580). Multiplexing of the data having the scrambled zeros 550 is performed thereafter. In state 582, the rest of the OFDM transmission procedure is performed. Scheme 3 The schemes 1 and 2 keep the size of the outer interleaver and pad zeros in different ways. However, due to the relatively large size of the outer interleaver (e.g., 4×224 bytes), the efficiency may be limited. Scheme 3 may further improve the efficiency and the RS code performance over the schemes 1 and 2. In one embodiment, in scheme 3, instead of shortening only the last codeword, all of the last four codewords are shortened, which can evenly improve the RS performance, at the same time enable the usage of a shortened outer interleaver. Referring to FIGS. 3 and 8-9, the operation of scheme 3 encoding procedure will be described in greater detail. The system 300 receives L information bytes 601 from the MAC layer (702). The information bytes 601 may include main codewords 602 and remainder codewords 604. The system 300 calculates the value of “floor(L/4K)×4K”, where K represents an RS code length (704). For convenience, it is assumed that L=4nK+A (bytes), wherein n=0, 1, 2, 3, . . . and n represents the number of outer interleavers, wherein A=1, 2, 3, . . . K−1 and A represents the number of remainder bytes with respect to 4nK bytes. 4nK bytes represent 4n codewords. Each outer interleaver performs outer interleaving on a set of four codewords 606. Each codeword includes 2t parity bytes (e.g., 8 bytes) 608. State 704 separates encoding processing for the first 4nK bytes from encoding processing for the remainder bytes (A). The first 4nK information bytes are RS encoded with, for example, an RS code (N, K, t), wherein t is error correction capability (bytes) and N=K+2t (706). The RS encoded data is outer interleaved, parsed and convolutional encoded (708). With regard to the remainder bytes (A), the system 300 evenly distributes the remainder bytes (A=L′=L−floor(L/4K)×4K) to four RS codewords 610a-610d, where the first three RS codes 610a-610c have K1 information bytes and the last RS codeword 610d has K2 information bytes (710). In one embodiment, K1 is obtained using the equation “ceil(L′/4)” and K2 is obtained using the equation “L′−3×ceil(L′/4).” The four codewords (610a-610d) are RS encoded and shortened with an RS code (K1+2t, K1, t) for the first three codewords (610a-610c) and an RS code (K2+2t, K2, t) for the last codeword 610d (712). In one embodiment, states 704, 710 and 712 may be performed by at least one of the RS encoders 304, 306. In another embodiment, states 704, 710 and 712 may be performed by another element of the If needed to meet the outer encoder size requirement, a certain length of zeros (e.g., 1-3 bytes) may be padded to the last codeword 610d (714). The RS encoded data is outer interleaved using a shortened outer interleaver with the size of 4×(K1+2t) (714). In one embodiment, the system 300 adds tail bits 615 (e.g., 4×8 bytes for the four codewords) to the data which has been outer interleaved in states 708 and 714 in order to terminate convolutional codes, and performs convolutional encoding on the outer interleaved data as shown in In one embodiment, additional zeros 618 may be added to the convolutional encoded data to satisfy the integer number requirement of OFDM symbols before multiplexing (718). Thereafter, the rest of the OFDM transmission procedures is performed (720). In one embodiment, as the RS encoders are shortened in size with respect to the remainder codewords, so is the outer interleaver for the remainder codewords. For example, if the number of the remainder bytes 604 is 32 bytes, K1=K2=8 using the above equations, thus each codeword would have 8 bytes and 8 parity bytes. This can be implemented with an outer interleaver having the size of 4×(K1+2t)=4×(8+8)=4×16 bytes, which provides a significantly higher efficiency compared to the outer interleaver having the size of 4×224 bytes. As another example, if the number of the remainder bytes 604 is 23 bytes, K1=6 and K2=5 using the above equations. In this example, one byte of zeros is added to the last codeword and each codeword would have 6 bytes and 8 parity bytes. This can be implemented with an outer interleaver having the size of 4×(K1+2t))=4×(6+8)=4×14 bytes, which provides a significantly higher efficiency compared to the outer interleaver having the size of 4×224 bytes. Scheme 4 The system 300 determines the value of “L′=L−floor(L/4K)×4K”, where K represents an RS code length (910). This state is also substantially the same as part of state 704 of The system 300 determines an RS code for the last RS codeword byte K2 (816), for example, using the equation: K2=max(floor((L′−24)/4), 0) (912). In state 914, the system 300 evenly distributes the (L′−K2) information bytes to the rest of three RS codewords 812-816, where K11 is for the first two codewords 812, 814 and K12 is for the third codeword 816. In one embodiment, K11 is obtained by using the equation “K11=ceil ((L′−K2)/3)” and K12 is obtained by using the equation “K12=floor((L′−K2)/3).” The first two codewords 812, 814 are encoded with, for example, an RS code (K11+2t, K11, t) and the third codeword 816 is encoded with, for example, an RS code (K12+2t, K11, t) (916). The last codeword 818 is encoded with, for example, an RS code (K2+2t, K2, t) (916). Thereafter, if needed, tail bits 820 may be added to the last codeword (818) in order to meet the size requirement of the RS encoder (916). In order to meet the size requirement of the outer interleaver, the system 300 may add zero bytes to the outer interleaver and outer interleave the RS encoded data using a shortened outer interleaver with the size of 4×(K11+2t) (918). Thereafter, parsing is performed to parse the outer interleaved data to convolutional encoders. In one embodiment, states 904 and 910-914 may be performed by at least one of the RS encoders 304, 306. In another embodiment, states 904 and 910-914 may be performed by another element of the In this scheme 4, the remainder bytes 802 are converted into four shortened codewords 812-818, where the last codeword 818 is, for example, eight bytes shorter than the remaining codewords 812-816 as shown in The procedure 900 will be further explained with reference to Alternative Embodiment (Modified Version of Scheme 4 In another embodiment, the information bytes are padded to multiple of four instead of using the ceil/floor operation to calculate K11 and K12 as shown in Zeros are padded to the L1 information bytes to obtain L2=max{(depth−1)×M, ceil(L1/depth)×depth}. Assuming that L1=23 bytes and depth=4 and M=8, L2=max{(depth−1)×M, ceil(L1/depth)×depth}=max{(4−1)×8, ceil(23/4)×4}=max{24,20}=24. The length (K2) of the last RS codeword is calculated: K2=max{[L2−(depth−1)×M]/depth, 0}=max{[24−(4−1)×8]/4, 0}=max{0,0}=0. The length (K1=K11=K12) of the remaining RS codewords is calculated: K1=(L2−K2)/(depth−1)=(24−0)/(4−1)=8. This is illustrated in The i=depth−1 column of the outer interleaver is a shortened RS (K2+2×t, K2, t=4) code. The i=0, 1, . . . depth−2 column of the outer interleaver is a shortened RS (K1+2×t, K2, t=4) code. The bytes of b(depth−1, K2+2×t+1), . . . , b(depth−1, K1+2×t) are padded with zeroes. A shortened block interleaver for RS(K1+2×t, K2, t=4) is used similar as in the scheme 4 example. In another embodiment, the information bytes can be padded further to meet other system requirements, for example, the bit interleaver requirement. The method of encoding the information bytes together with the padded bits follows the same as described above. According to at least one embodiment, the method of encoding the information bits is intended to meet the RS codeword boundary, the block outer interleaver boundary and OFDM symbol boundary. Different schemes are provided which give different tradeoffs between simplicity and RS codeword performance, and the padding efficiency. At least one embodiment of the invention provides much more efficient padding schemes while improving the decoding performance. Furthermore, at least one embodiment of the invention does not require changes to current designs, either. At least one embodiment of the invention can be applicable to other wireless telecommunication standards such as IEEE 802.15.3c. While the above description has pointed out novel features of the invention as applied to various embodiments, the skilled person will understand that various omissions, substitutions, and changes in the form and details of the device or process illustrated may be made without departing from the scope of the invention. For example, although embodiments of the invention have been described with reference to uncompressed video data, those embodiments can be applied to compressed video data as well. Therefore, the scope of the invention is defined by the appended claims rather than by the foregoing description. All variations coming within the meaning and range of equivalency of the claims are embraced within their scope |