System and method for processing wireless high definition video data using a shortened last codeword
Summary by NHIP
Shortened Last Codeword Processing
The method processes high definition video data by receiving an information packet and outer encoding its codewords. It shortens the final codeword to be shorter than remaining codewords and adds dummy bits to meet outer interleaver size requirements.
Claim Score by NHIP
Abstract
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.

Term
1.9 yearsleft in the term
Expires 3 September 2028, including 342 days of term adjustment.
- Priority
- Filed
- Granted
- Today
- Expires
25 claims: 4 independent, 21 dependent
- 1Broadest claimClaim Score 42, average(NHIP)A method of processing high definition video data to be transmitted over a wireless medium, the method comprising: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;outer encoding the M×n codewords and the plurality of remainder codewords based on the code length (K);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 adding dummy bits to the outer encoded data so as to meet a predefined size requirement for an outer interleaver.
- 15A system for processing high definition video data to be transmitted over a wireless medium, the system comprising: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;an outer encoder configured to outer encode the M×n codewords and the plurality of remainder codewords based on the code length (K);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 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.
- 24One 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: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;outer encoding the M×n codewords and the plurality of remainder codewords based on the code length (K);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 adding dummy bits to the outer encoded data so as to meet a predefined size requirement for an outer interleaver.
- 25A system for processing high definition video data to be transmitted over a wireless medium, the system comprising: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;means for outer encoding the M×n codewords and the plurality of remainder codewords based on the code length (K);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 means for adding dummy bits to the outer encoded data so as to meet a predefined size requirement for an outer interleaver.
Independent claims4
95 paragraphs in 5 sections, as filed
RELATED APPLICATIONS
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.
BACKGROUND OF THE INVENTION
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.
SUMMARY OF CERTAIN INVENTIVE ASPECTS
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.
BRIEF DESCRIPTION OF THE DRAWINGS
<figref idref="DRAWINGS">FIG. 1</figref> is a functional block diagram of a wireless network that implements uncompressed HD video transmission between wireless devices according to one embodiment.
<figref idref="DRAWINGS">FIG. 2</figref> is a functional block diagram of an example communication system for transmission of uncompressed HD video over a wireless medium, according to one embodiment.
<figref idref="DRAWINGS">FIG. 3</figref> illustrates an exemplary HD video data transmitter system <b>300</b> according to one embodiment of the invention.
<figref idref="DRAWINGS">FIG. 4</figref> illustrates a conceptual diagram showing an encoding procedure of a HD video data transmitter for a wireless video area network (WVAN) according to one embodiment of the invention.
<figref idref="DRAWINGS">FIG. 5</figref> is an exemplary flowchart for the encoding procedure according to one embodiment of the invention.
<figref idref="DRAWINGS">FIG. 6</figref> illustrates a conceptual diagram showing an encoding procedure of a HD video data transmitter for a WVAN according to another embodiment of the invention.
<figref idref="DRAWINGS">FIG. 7</figref> is an exemplary flowchart for the encoding procedure according to one embodiment of the invention.
<figref idref="DRAWINGS">FIG. 8</figref> illustrates a conceptual diagram showing an encoding procedure of a HD video data transmitter for a WVAN according to another embodiment of the invention.
<figref idref="DRAWINGS">FIG. 9</figref> is an exemplary flowchart for the encoding procedure according to one embodiment of the invention.
<figref idref="DRAWINGS">FIG. 10</figref> illustrates a conceptual diagram showing an encoding procedure of a HD video data transmitter for a WVAN according to another embodiment of the invention.
<figref idref="DRAWINGS">FIG. 11</figref> is an exemplary flowchart for the encoding procedure according to another embodiment of the invention.
<figref idref="DRAWINGS">FIG. 12A</figref> illustrates a conceptual drawing of an interleaver for the remainder codewords according to one embodiment.
<figref idref="DRAWINGS">FIG. 12B</figref> illustrates a conceptual drawing of an interleaver for the remainder codewords according to another embodiment.
DETAILED DESCRIPTION OF CERTAIN INVENTIVE EMBODIMENTS
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. <figref idref="DRAWINGS">FIG. 1</figref> shows a functional block diagram of a wireless network <b>100</b> that implements uncompressed HD video transmission between A/V devices such as an A/V device coordinator and A/V stations, according to certain embodiments. In other embodiments, one or more of the devices can be a computer, such as a personal computer (PC). The network <b>100</b> includes a device coordinator <b>112</b> and multiple A/V stations <b>114</b> (e.g., Device <b>1</b>, Device <b>2</b>, . . . , Device N). The A/V stations <b>114</b> utilize a low-rate (LR) wireless channel <b>116</b> (dashed lines in <figref idref="DRAWINGS">FIG. 1</figref>), and may use a high-rate (HR) channel <b>118</b> (heavy solid lines in <figref idref="DRAWINGS">FIG. 1</figref>), for communication between any of the devices. The device coordinator <b>112</b> uses a low-rate channel <b>116</b> and a high-rate wireless channel <b>118</b>, for communication with the stations <b>114</b>.
Each station <b>114</b> uses the low-rate channel <b>116</b> for communications with other stations <b>114</b>. The high-rate channel <b>118</b> 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 <b>118</b>. The low-rate channel <b>116</b> can support bi-directional transmission, e.g., with up to 40 Mbps throughput in certain embodiments. The low-rate channel <b>116</b> is mainly used to transmit control frames such as acknowledgement (ACK) frames. For example, the low-rate channel <b>116</b> 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 <b>112</b> is a receiver of video information (hereinafter “receiver <b>112</b>”), and the station <b>114</b> is a sender of the video information (hereinafter “sender <b>114</b>”). For example, the receiver <b>112</b> 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 <b>112</b> may be a projector. The sender <b>114</b> can be a source of uncompressed video or audio. Examples of the sender <b>114</b> 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.
<figref idref="DRAWINGS">FIG. 2</figref> illustrates a functional block diagram of an example communication system <b>200</b>. The system <b>200</b> includes a wireless transmitter <b>202</b> and wireless receiver <b>204</b>. The transmitter <b>202</b> includes a physical (PHY) layer <b>206</b>, a media access control (MAC) layer <b>208</b> and an application layer <b>210</b>. Similarly, the receiver <b>204</b> includes a PHY layer <b>214</b>, a MAC layer <b>216</b>, and an application layer <b>218</b>. The PHY layers provide wireless communication between the transmitter <b>202</b> and the receiver <b>204</b> via one or more antennas through a wireless medium <b>201</b>.
The application layer <b>210</b> of the transmitter <b>202</b> includes an A/V pre-processing module <b>211</b> and an audio video control (AV/C) module <b>212</b>. The A/V pre-processing module <b>211</b> can perform pre-processing of the audio/video such as partitioning of uncompressed video. The AV/C module <b>212</b> 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 <b>202</b>, the PHY layer <b>206</b> includes a low-rate (LR) channel <b>203</b> and a high rate (HR) channel <b>205</b> that are used to communicate with the MAC layer <b>208</b> and with a radio frequency (RF) module <b>207</b>. In certain embodiments, the MAC layer <b>208</b> can include a packetization module (not shown). The PHY/MAC layers of the transmitter <b>202</b> add PHY and MAC headers to packets and transmit the packets to the receiver <b>204</b> over the wireless channel <b>201</b>.
In the wireless receiver <b>204</b>, the PHY/MAC layers <b>214</b>, <b>216</b> process the received packets. The PHY layer <b>214</b> includes a RF module <b>213</b> connected to the one or more antennas. A LR channel <b>215</b> and a HR channel <b>217</b> are used to communicate with the MAC layer <b>216</b> and with the RF module <b>213</b>. The application layer <b>218</b> of the receiver <b>204</b> includes an A/V post-processing module <b>219</b> and an AV/C module <b>220</b>. The module <b>219</b> can perform an inverse processing method of the module <b>211</b> to regenerate the uncompressed video, for example. The AV/C module <b>220</b> operates in a complementary way with the AV/C module <b>212</b> of the transmitter <b>202</b>.
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.
<figref idref="DRAWINGS">FIG. 3</figref> illustrates an exemplary HD video data transmitter system <b>300</b> according to one embodiment of the invention. It is appreciated that certain elements of the system <b>300</b> may be omitted or combined to other elements of the system <b>300</b>. In another embodiment, a certain element may be broken into a plurality of sub-elements. Also, the order of certain elements in the system <b>300</b> may change. In addition, certain elements, not shown in <figref idref="DRAWINGS">FIG. 3</figref>, may be added to the system <b>300</b>. Furthermore, specific features of each element shown in <figref idref="DRAWINGS">FIG. 3</figref> are merely examples and many other modifications may also be possible. In one embodiment, all of the elements of the <figref idref="DRAWINGS">FIG. 3</figref> system <b>300</b> belong to the PHY layer <b>206</b> (see <figref idref="DRAWINGS">FIG. 2</figref>). In one embodiment, most significant bits (MSBs) and least significant bits (LSBs) of data are equally protected (EEP) with respect to error codings. In another embodiment, MSBs and LSBs are unequally protected (UEP) with respect to error codings. In one embodiment, all of the elements of the <figref idref="DRAWINGS">FIG. 3</figref> system <b>300</b> can be embodied by either software or hardware or a combination.
In one embodiment, instead of using RS encoders <b>304</b> and <b>306</b>, 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 <b>312</b>, other inner encoders such as a linear block encoder can be also used. In one embodiment, each of the convolutional encoders <b>312</b> may include a plurality of parallel convolutional encoders which encode a plurality of incoming data bits, respectively. In this embodiment, the system <b>300</b> may further include at least one parser (not shown), generally located between each of outer interleavers <b>308</b>, <b>310</b> and each of the convolutional encoders <b>312</b>, which parses the outer interleaved data bits to a corresponding one of the convolutional encoders <b>312</b>. However, for convenience, the <figref idref="DRAWINGS">FIG. 3</figref> system will be described based on RS encoders and convolutional encoders.
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 <b>304</b>, <b>306</b> and <b>308</b>, <b>310</b>. In another embodiment, it is also possible to have more than two of the RS encoders, outer interleavers, convolutional encoders and multiplexers.
Referring to <figref idref="DRAWINGS">FIG. 3</figref>, the system <b>300</b> receives an information packet from a MAC layer (see <b>208</b> in <figref idref="DRAWINGS">FIG. 2</figref>). In one embodiment, a scrambler <b>302</b> scrambles the received packet and outputs most significant bits (MSBs) and least significant bits (LSBs) to the first and second RS encoders <b>304</b>, <b>306</b>, respectively.
The RS encoders <b>304</b>, <b>306</b> encode the MSBs and LSBs, respectively. The first and second outer interleavers <b>308</b>, <b>310</b> outer interleave the RS encoded data, respectively. In one embodiment, each of the outer interleavers <b>308</b>, <b>310</b> is a block interleaver or a convolutional interleaver. In another embodiment, other forms of interleavers are also possible.
The convolutional encoder(s) <b>312</b> 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 <b>314</b>. In one embodiment, the convolutional encoders <b>312</b> 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 <b>314</b> multiplexes the bit streams output from the convolutional encoders <b>312</b> to a multiplexed data stream to be provided to a bit interleaver <b>316</b>. The bit interleaver <b>316</b> bit-interleaves the multiplexed data stream. A symbol mapper <b>318</b> performs symbol mapping such as quadrature amplitude modulation (QAM) mapping on the bit-interleaved data. A pilot/DC null insert unit <b>320</b> and a tone interleaver <b>322</b> perform pilot/DC null inserting and tone interleaving, respectively. An inverse Fourier fast transform (IFFT) unit <b>324</b> performs IFFT processing on the output of the tone interleaver <b>322</b>. A guard interval unit <b>326</b> and a symbol shaping unit <b>328</b> perform guard interval and symbol shaping for the IFFT processed data, sequentially. In one embodiment, the IFFT unit <b>324</b> and the guard interval unit <b>326</b> together perform orthogonal frequency division multiplexing (OFDM) modulation. An upconversion unit <b>330</b> performs upconversion on the output of the symbol shaping unit <b>328</b> before transmitting the data packet to a HD video data receiver over the wireless channel <b>201</b> (see <figref idref="DRAWINGS">FIG. 2</figref>). In one embodiment, the HD video data receiver may include a single convolutional decoder or a plurality of convolutional decoders corresponding to the convolutional encoder(s) of the transmitter system <b>300</b>.
In one embodiment, as shown in <figref idref="DRAWINGS">FIG. 3</figref>, each branch is first encoded by an RS code (<b>224</b>, <b>216</b>, t=4), followed by a block interleaver <b>308</b>, <b>310</b> of size, for example, 4×224 (depth four outer interleaver). For each branch, the interleaved output is parsed into, for example, M=4 parallel convolutional encoders <b>312</b>. For each convolutional code, a certain length of all-zero tail bits are inserted into the output of the outer interleaver <b>308</b>, <b>310</b> by further shortening of the RS code. Insertion of the tail bits is to simplify the decoding task of convolutional codes at the receiver side.
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 <figref idref="DRAWINGS">FIG. 3</figref> system, data is first RS encoded and then outer interleaved using, for example, a depth four block interleaver. The interleaved data is parsed into, for example, 8 parallel convolutional encoders where each convolutional encoder requires tail bits to terminate. The convolutional encoded data bits are multiplexed together, interleaved and mapped to QAM constellation for OFDM modulation. In one embodiment, the transmitted data bits meet the following: (1) integer number of RS codeword, (2) integer number of outer interleaver size, (3) tail bits need to be inserted before CC encoding and (4) additional padding bits are needed to ensure integer number of OFDM symbols.
For convenience, four encoding schemes shown in <figref idref="DRAWINGS">FIGS. 4-11</figref>, which meet the above four requirements, will be described. Typically, as additional padding bits are inserted and transmitted, the more padding bits are added, the lower the transmission efficiency. Therefore, at least one embodiment maximizes the efficiency while maintaining the coding performance and the simplicity of the system. It is appreciated that the four schemes are merely exemplary and other schemes may also be possible. In one embodiment, the four schemes can be implemented with the <figref idref="DRAWINGS">FIG. 3</figref> system.
Scheme 1
<figref idref="DRAWINGS">FIG. 4</figref> illustrates a conceptual diagram showing an encoding procedure <b>500</b> (see <figref idref="DRAWINGS">FIG. 5</figref>) of a HD video data transmitter for a wireless video area network (WVAN) according to one embodiment of the invention. <figref idref="DRAWINGS">FIG. 5</figref> is an exemplary flowchart for the encoding procedure <b>500</b> according to one embodiment of the invention.
In one embodiment, the encoding procedure <b>500</b> 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 <b>112</b> or devices (1−N) <b>114</b> as shown in <figref idref="DRAWINGS">FIG. 1</figref>. In another embodiment, the program can be stored in other system locations so long as it can perform the transmitting procedure <b>500</b> according to embodiments of the invention. The storage medium may comprise any of a variety of technologies for storing information. In one embodiment, the storage medium comprises a random access memory (RAM), hard disks, floppy disks, digital video devices, compact discs, video discs, and/or other optical storage mediums, etc. In another embodiment, at least one of the device coordinator <b>112</b> and devices (1−N) <b>114</b> comprises a processor (not shown) configured to or programmed to perform the transmitting procedure <b>900</b>. The program may be stored in the processor or a memory of the coordinator <b>112</b> and/or the devices (1−N) <b>114</b>. In various embodiments, the processor may have a configuration based on, for example, i) an advanced RISC machine (ARM) microcontroller, ii) Intel Corporation's microprocessors (e.g., the Pentium family microprocessors) and iii) Microsoft Corporation's Windows operating systems (e.g., Windows 95, Windows 98, Windows 2000 or Windows NT). In one embodiment, the processor is implemented with a variety of computer platforms using a single chip or multichip microprocessors, digital signal processors, embedded microprocessors, microcontrollers, etc. In another embodiment, the processor is implemented with a wide range of operating systems such as Unix, Linux, Microsoft DOS, Microsoft Windows 2000/9x/ME/XP, Macintosh OS, OS/2 and the like. In another embodiment, the transmitting procedure <b>500</b> can be implemented with an embedded software. Depending on the embodiments, additional states may be added, others removed, or the order of the states changes in <figref idref="DRAWINGS">FIG. 5</figref>. The description of this paragraph applies to the remaining schemes shown in <figref idref="DRAWINGS">FIGS. 6-11</figref>.
Referring to <figref idref="DRAWINGS">FIGS. 3-5</figref>, the operation of the scheme 1 encoding procedure will be described in greater detail. For convenience, it is assumed that an outer encoder is an RS encoder and an inner encoder is a convolutional encoder. It is appreciated that other outer encoders or other inner encoders (for example as discussed above) may also be used. The same applies to the remaining schemes 2-4 illustrated in <figref idref="DRAWINGS">FIGS. 6-11</figref>.
In one embodiment, scheme 1 provides the most straightforward encoding procedure among the four schemes. In one embodiment, the system <b>300</b> receives L information bytes <b>400</b> from the MAC layer (<b>502</b>). The information bytes <b>400</b> include main codewords <b>402</b> and remainder codewords <b>404</b>. The remainder codewords <b>404</b> are less than, e.g., four codewords and located at the end of the information packet <b>400</b>. Each block of the information bytes <b>400</b> represents a codeword having the length of, e.g., 1K bytes, where K=1024. This applies to the remaining schemes shown in <figref idref="DRAWINGS">FIGS. 6-11</figref>.
The system <b>300</b> RS encodes the information bytes <b>402</b> 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 (<b>504</b>). After the RS encoding, 2t (e.g., 8) bytes of parity bits <b>408</b> are added per codeword to form the size N byte codewords as shown in <figref idref="DRAWINGS">FIG. 4</figref>. The last codeword <b>412</b><i>c </i>of the three remainder codewords <b>412</b><i>a</i>-<b>412</b><i>c </i>is shortened to, for example, (m+2t, m), wherein m=mod(L, K) (<b>506</b>). This is to reduce the transmission time, which will further improve the performance of the last codeword <b>412</b><i>c</i>. In one embodiment, the shortening of the last codeword <b>412</b><i>c </i>may be performed by at least one of the RS encoders <b>304</b>, <b>306</b>. In another embodiment, the shortening of the last codeword <b>412</b><i>c </i>may be performed by another element of the <figref idref="DRAWINGS">FIG. 3</figref> system or a separate element which is not shown in <figref idref="DRAWINGS">FIG. 3</figref>. This applies to the remaining schemes shown in <figref idref="DRAWINGS">FIGS. 6-11</figref>.
In one embodiment, certain length of zeros <b>416</b> are padded to the RS encoded codewords to, for example, ceil(L/4K)×4N (<b>508</b>). In one embodiment, each of the outer interleavers has a depth of 4 (the number of columns of each outer interleaver) as shown in <figref idref="DRAWINGS">FIG. 4</figref>. The outer interleaver may have the size of 4×224 bytes. The zero padding is to form a set of four codewords <b>414</b> in order to meet the depth four outer interleaver requirement. In one embodiment, the zero padding may be performed by at least one of the outer interleavers <b>308</b>, <b>310</b>. In another embodiment, the zero padding may be performed by another element of the <figref idref="DRAWINGS">FIG. 3</figref> system or a separate element which is not shown in <figref idref="DRAWINGS">FIG. 3</figref>. This applies to the remaining schemes shown in <figref idref="DRAWINGS">FIGS. 6-11</figref>.
The RS encoded codewords <b>410</b> and zero-padded codewords <b>414</b> are outer interleaved and parsed (<b>510</b>). In this embodiment, each outer interleaver performs outer interleaving on a set of four codewords <b>410</b> and <b>414</b>. This applies to the remaining schemes shown in <figref idref="DRAWINGS">FIGS. 6-11</figref>.
Tail bits <b>420</b> are further inserted to the outer interleaved data and convolutional encoding is performed for the data having the tail bits <b>420</b> thereafter (<b>512</b>). Padding tail bits <b>420</b> 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 <b>420</b> in state <b>512</b> may be performed by at least one of the outer interleavers <b>308</b>, <b>310</b>. In another embodiment, the padding of the tail bits may be performed by another element of the <figref idref="DRAWINGS">FIG. 3</figref> system or a separate element which is not shown in <figref idref="DRAWINGS">FIG. 3</figref>. This applies to the remaining schemes shown in <figref idref="DRAWINGS">FIGS. 6-11</figref>.
More scrambled zeros <b>424</b> are inserted to the convolutional coded bytes in order to provide an integer number of OFDM symbols (<b>514</b>). Multiplexing of the data having the scrambled zeros <b>424</b> is performed thereafter. In one embodiment, padding scrambled zeros <b>424</b> may be performed by the multiplexer <b>314</b>. In another embodiment, padding scrambled zeros <b>424</b> may be performed by another element of the <figref idref="DRAWINGS">FIG. 3</figref> system or a separate element which is not shown in <figref idref="DRAWINGS">FIG. 3</figref>. This applies to the remaining schemes shown in <figref idref="DRAWINGS">FIGS. 6-11</figref>. Thereafter, the rest of the OFDM transmission procedure is performed by the remaining elements <b>316</b>-<b>330</b> of the <figref idref="DRAWINGS">FIG. 3</figref> system (<b>516</b>). This applies to the remaining schemes shown in <figref idref="DRAWINGS">FIGS. 6-11</figref>
Scheme 2
<figref idref="DRAWINGS">FIG. 6</figref> illustrates a conceptual diagram showing an encoding procedure <b>600</b> (see <figref idref="DRAWINGS">FIG. 7</figref>) of a HD video data transmitter for a WVAN according to another embodiment of the invention. <figref idref="DRAWINGS">FIG. 7</figref> is an exemplary flowchart for the encoding procedure <b>600</b> according to one embodiment of the invention. Referring to FIGS. <b>3</b> and <b>6</b>-<b>7</b>, the operation of the scheme 2 encoding procedure will be described in greater detail.
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 <b>300</b> receives L information bytes <b>520</b> from the MAC layer (<b>560</b>). The information bytes <b>520</b> may include main codewords <b>522</b> and remainder codewords <b>524</b>.
The system <b>300</b> RS encodes the information bytes <b>520</b> 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 (<b>562</b>). After the RS encoding, 2t parity bytes <b>526</b> are added to form the size N byte codewords as shown in <figref idref="DRAWINGS">FIG. 6</figref>.
The last codeword <b>528</b> (case <b>1</b>) or <b>532</b> (case <b>2</b>) of the RS encoded remainder codewords is shortened to, for example, (m+2t, m), wherein m=mod(L, K) (<b>564</b>). It is determined whether mod(L, 4K) for the last codeword <b>532</b> is greater than 4K−8 (<b>566</b>). If it is greater than 4K−8 (case <b>1</b>), partial tail bits <b>538</b>, for example, less than 8 bytes, are inserted into the RS encoded codewords to form a set of four codewords <b>536</b> which meets the depth four outer interleaver requirement (<b>568</b>). The RS encoded codewords <b>536</b> with the partial tail bits <b>538</b> added are outer interleaved and parsed (<b>570</b>). Additional tail bits <b>548</b>, 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 (<b>572</b>). Convolutional encoding is performed for the outer interleaved data having the tail bits (partial tail bits <b>538</b>+additional tail bits <b>548</b>) thereafter (<b>572</b>).
If it is determined in state <b>566</b> whether mod(L, 4K) for the last codeword <b>532</b> is not greater than 4K−8 (case <b>2</b>), entire tail bits <b>544</b> (e.g., 8 bytes) are added to the RS encoded codewords (<b>574</b>). Thereafter, certain length of zeros <b>542</b> are padded to the RS encoded codewords to form a set of four codewords <b>540</b> which meets the depth four outer interleaver requirement (<b>576</b>). In one embodiment, padding tail bits <b>538</b> and <b>544</b>, and padding zeros <b>542</b> may be performed by at least one of the outer interleavers <b>308</b>, <b>310</b>. In another embodiment, the padding of the tail bits <b>538</b>, <b>544</b> and zeros <b>542</b> may be performed by another element of the <figref idref="DRAWINGS">FIG. 3</figref> system or a separate element which is not shown in <figref idref="DRAWINGS">FIG. 3</figref>. The RS encoded codewords <b>540</b>, with the tail bits <b>544</b> and zeros <b>542</b> added, are outer interleaved, parsed and convolutional encoded (<b>578</b>). In case <b>2</b>, since the entire tail bits <b>544</b> have been added in state <b>574</b>, additional tail bits may not need to be added unlike case <b>1</b> (see states <b>568</b> and <b>572</b>).
Scrambled zeros <b>550</b> are inserted to the convolutional coded bytes in order to provide an integer number of OFDM symbols (<b>580</b>). Multiplexing of the data having the scrambled zeros <b>550</b> is performed thereafter. In state <b>582</b>, the rest of the OFDM transmission procedure is performed.
Scheme 3
<figref idref="DRAWINGS">FIG. 8</figref> illustrates a conceptual diagram showing an encoding procedure <b>700</b> (see <figref idref="DRAWINGS">FIG. 9</figref>) of a HD video data transmitter for a WVAN according to another embodiment of the invention. <figref idref="DRAWINGS">FIG. 9</figref> is an exemplary flowchart for the encoding procedure <b>700</b> according to one embodiment of the invention. Referring to FIGS. <b>3</b> and <b>8</b>-<b>9</b>, the operation of the scheme 3 encoding procedure will be described in greater detail.
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. <b>3</b> and <b>8</b>-<b>9</b>, the operation of scheme 3 encoding procedure will be described in greater detail. The system <b>300</b> receives L information bytes <b>601</b> from the MAC layer (<b>702</b>). The information bytes <b>601</b> may include main codewords <b>602</b> and remainder codewords <b>604</b>. The system <b>300</b> calculates the value of “floor(L/4K)×4K”, where K represents an RS code length (<b>704</b>). 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 <b>606</b>. Each codeword includes 2t parity bytes (e.g., 8 bytes) <b>608</b>.
State <b>704</b> 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 (<b>706</b>). The RS encoded data is outer interleaved, parsed and convolutional encoded (708).
With regard to the remainder bytes (A), the system <b>300</b> evenly distributes the remainder bytes (A=L′=L−floor(L/4K)×4K) to four RS codewords <b>610</b><i>a</i>-<b>610</b><i>d</i>, where the first three RS codes <b>610</b><i>a</i>-<b>610</b><i>c </i>have K<b>1</b> information bytes and the last RS codeword <b>610</b><i>d </i>has K<b>2</b> information bytes (<b>710</b>). In one embodiment, K<b>1</b> is obtained using the equation “ceil(L′/4)” and K<b>2</b> is obtained using the equation “L′−3×ceil(L′/4).” The four codewords (<b>610</b><i>a</i>-<b>610</b><i>d</i>) are RS encoded and shortened with an RS code (K<b>1</b>+2t, K<b>1</b>, t) for the first three codewords (<b>610</b><i>a</i>-<b>610</b><i>c</i>) and an RS code (K<b>2</b>+2t, K<b>2</b>, t) for the last codeword <b>610</b><i>d </i>(<b>712</b>). In one embodiment, states <b>704</b>, <b>710</b> and <b>712</b> may be performed by at least one of the RS encoders <b>304</b>, <b>306</b>. In another embodiment, states <b>704</b>, <b>710</b> and <b>712</b> may be performed by another element of the <figref idref="DRAWINGS">FIG. 3</figref> system or a separate element which is not shown in <figref idref="DRAWINGS">FIG. 3</figref>.
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 <b>610</b><i>d </i>(<b>714</b>). The RS encoded data is outer interleaved using a shortened outer interleaver with the size of 4×(K<b>1</b>+2t) (<b>714</b>).
In one embodiment, the system <b>300</b> adds tail bits <b>615</b> (e.g., 4×8 bytes for the four codewords) to the data which has been outer interleaved in states <b>708</b> and <b>714</b> in order to terminate convolutional codes, and performs convolutional encoding on the outer interleaved data as shown in <figref idref="DRAWINGS">FIG. 8</figref> (<b>716</b>). In one embodiment, the adding of the tail bits <b>615</b> may be performed by an element other than the outer interleavers <b>308</b>, <b>310</b>. In another embodiment, the adding of the tail bits <b>615</b> may be performed by the outer interleavers <b>308</b>, <b>310</b> after the outer interleaving is complete.
In one embodiment, additional zeros <b>618</b> may be added to the convolutional encoded data to satisfy the integer number requirement of OFDM symbols before multiplexing (<b>718</b>). Thereafter, the rest of the OFDM transmission procedures is performed (<b>720</b>).
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 <b>604</b> is 32 bytes, K<b>1</b>=K<b>2</b>=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×(K<b>1</b>+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 <b>604</b> is 23 bytes, K<b>1</b>=6 and K<b>2</b>=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×(K<b>1</b>+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
<figref idref="DRAWINGS">FIG. 10</figref> illustrates a conceptual diagram showing an encoding procedure <b>900</b> (see <figref idref="DRAWINGS">FIG. 11</figref>) of a HD video data transmitter for a WVAN according to another embodiment of the invention. <figref idref="DRAWINGS">FIG. 11</figref> is an exemplary flowchart for the encoding procedure <b>900</b> according to another embodiment of the invention. Referring to FIGS. <b>3</b> and <b>10</b>-<b>11</b>, the operation of the scheme 4 encoding procedure will be described in greater detail. States <b>902</b>-<b>908</b> of <figref idref="DRAWINGS">FIG. 11</figref> are substantially the same as states <b>702</b>-<b>708</b> of <figref idref="DRAWINGS">FIG. 9</figref>. Furthermore, states <b>920</b>-<b>922</b> of <figref idref="DRAWINGS">FIG. 11</figref> are substantially the same as states <b>718</b> and <b>720</b> of <figref idref="DRAWINGS">FIG. 9</figref>.
The system <b>300</b> determines the value of “L′=L−floor(L/4K)×4K”, where K represents an RS code length (<b>910</b>). This state is also substantially the same as part of state <b>704</b> of <figref idref="DRAWINGS">FIG. 9</figref>. L′ <b>802</b> represents remainder bytes or the total information bytes for the last interleaver block.
The system <b>300</b> determines an RS code for the last RS codeword byte K2 (<b>816</b>), for example, using the equation: K<b>2</b>=max(floor((L′−24)/4), 0) (<b>912</b>). In state <b>914</b>, the system <b>300</b> evenly distributes the (L′−K<b>2</b>) information bytes to the rest of three RS codewords <b>812</b>-<b>816</b>, where K<b>11</b> is for the first two codewords <b>812</b>, <b>814</b> and K<b>12</b> is for the third codeword <b>816</b>. In one embodiment, K<b>11</b> is obtained by using the equation “K<b>11</b>=ceil ((L′−K<b>2</b>)/3)” and K<b>12</b> is obtained by using the equation “K<b>12</b>=floor((L′−K<b>2</b>)/3).”
The first two codewords <b>812</b>, <b>814</b> are encoded with, for example, an RS code (K<b>11</b>+2t, K<b>11</b>, t) and the third codeword <b>816</b> is encoded with, for example, an RS code (K<b>12</b>+2t, K<b>11</b>, t) (<b>916</b>). The last codeword <b>818</b> is encoded with, for example, an RS code (K<b>2</b>+2t, K<b>2</b>, t) (<b>916</b>). Thereafter, if needed, tail bits <b>820</b> may be added to the last codeword (<b>818</b>) in order to meet the size requirement of the RS encoder (<b>916</b>).
In order to meet the size requirement of the outer interleaver, the system <b>300</b> 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×(K<b>11</b>+2t) (<b>918</b>). Thereafter, parsing is performed to parse the outer interleaved data to convolutional encoders. In one embodiment, states <b>904</b> and <b>910</b>-<b>914</b> may be performed by at least one of the RS encoders <b>304</b>, <b>306</b>. In another embodiment, states <b>904</b> and <b>910</b>-<b>914</b> may be performed by another element of the <figref idref="DRAWINGS">FIG. 3</figref> system or a separate element which is not shown in <figref idref="DRAWINGS">FIG. 3</figref>.
In this scheme 4, the remainder bytes <b>802</b> are converted into four shortened codewords <b>812</b>-<b>818</b>, where the last codeword <b>818</b> is, for example, eight bytes shorter than the remaining codewords <b>812</b>-<b>816</b> as shown in <figref idref="DRAWINGS">FIG. 10</figref>. For example, if L′=32, then K<b>2</b>=2 for the last codeword, and K<b>1</b> (=K<b>11</b>=K<b>12</b>)=10 for the first three codewords in the depth four outer interleaver. So, the difference between K<b>2</b> and K<b>1</b> is 8 bytes. 8 bytes of tail bits are added to the last codeword <b>818</b> and 8 bytes of parity bits are added to each of the first to third codewords <b>812</b>-<b>816</b>. In this example, the shortened outer interleaver would have the size of 4×(K<b>11</b>+2t)=4×(10+8)=4×18 bytes which provides a significantly higher efficiency compared to the outer interleaver having the size of 4×224 bytes.
The procedure <b>900</b> will be further explained with reference to <figref idref="DRAWINGS">FIG. 12A</figref>. <figref idref="DRAWINGS">FIG. 12A</figref> illustrates a conceptual drawing of an interleaver for the remainder codewords according to one embodiment. It is assumed that the number (L′) of the remainder codewords is 23 bytes. In state <b>912</b>, K<b>2</b>=max(floor((L′−24)/4), 0)=max(floor((23−24)/4), 0)=0. In state <b>914</b>, K<b>11</b>=ceil((L′−K<b>2</b>)/3=Ceil(23−0)/3=8. Also, K<b>12</b>=floor((L′−K<b>2</b>)/3=floor(23−0)/3=7. The first to third (information) codewords are <b>8</b>, <b>8</b> and <b>7</b>, respectively, as shown in <figref idref="DRAWINGS">FIG. 12A</figref>. The fourth codeword is 0 as shown in <figref idref="DRAWINGS">FIG. 12A</figref>. In state <b>916</b>, 8 bytes of tail bits are added to the fourth codeword as shown in <figref idref="DRAWINGS">FIG. 12A</figref> (state <b>916</b>). In state <b>918</b>, 1 byte of zeros is padded to the third codeword and 8 bytes of zeros are padded to the fourth codeword as shown in <figref idref="DRAWINGS">FIG. 12A</figref> (state <b>918</b>). In this example, the shortened outer interleaver has the size of 4×16 bytes as shown in <figref idref="DRAWINGS">FIG. 12A</figref> which provides a significantly higher efficiency compared to the outer interleaver having the size of 4×224 bytes.
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 K<b>11</b> and K<b>12</b> as shown in <figref idref="DRAWINGS">FIG. 12B</figref>. <figref idref="DRAWINGS">FIG. 12B</figref> illustrates a conceptual drawing of an interleaver for the remainder codewords according to another embodiment. In this embodiment, the encoding can be described as following:
Zeros are padded to the L<b>1</b> information bytes to obtain L<b>2</b>=max{(depth−1)×M, ceil(L<b>1</b>/depth)×depth}. Assuming that L<b>1</b>=23 bytes and depth=4 and M=8, L<b>2</b>=max{(depth−1)×M, ceil(L<b>1</b>/depth)×depth}=max{(4−1)×8, ceil(23/4)×4}=max{24,20}=24.
The length (K<b>2</b>) of the last RS codeword is calculated: K<b>2</b>=max{[L<b>2</b>−(depth−1)×M]/depth, 0}=max{[24−(4−1)×8]/4, 0}=max{0,0}=0. The length (K<b>1</b>=K<b>11</b>=K<b>12</b>) of the remaining RS codewords is calculated: K<b>1</b>=(L<b>2</b>−K<b>2</b>)/(depth−1)=(24−0)/(4−1)=8. This is illustrated in <figref idref="DRAWINGS">FIGS. 12B</figref>.
The i=depth−1 column of the outer interleaver is a shortened RS (K<b>2</b>+2×t, K<b>2</b>, t=4) code. The i=0, 1, . . . depth−2 column of the outer interleaver is a shortened RS (K<b>1</b>+2×t, K<b>2</b>, t=4) code. The bytes of b(depth−1, K<b>2</b>+2×t+1), . . . , b(depth−1, K<b>1</b>+2×t) are padded with zeroes. A shortened block interleaver for RS(K<b>1</b>+2×t, K<b>2</b>, t=4) is used similar as in the scheme 4 example. <figref idref="DRAWINGS">FIG. 12B</figref> shows that 8 bytes of zeros are padded to the last codeword and 8 bytes of tail bits are added to the last codeword, and 8 bytes of parity bits are added to each of the first to third codewords. In this example, the shortened outer interleaver has the size of 4×16 bytes as shown in <figref idref="DRAWINGS">FIG. 12B</figref> which provides a significantly higher efficiency compared to the outer interleaver having the size of 4×224 bytes.
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
Contents5
13 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13
Every citation, both waysCites: the store holds 12 of 13
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US8611380B2 | Cited by | United States of America | Applicant |
| US2009181622A1 | Cited by | United States of America | Pre-grant |
| US10387254B2 | Cited by | United States of America | Search report |
| WO0235853A2 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| EP0537932A2 | Cites | European Patent Office (EPO) | Applicant |
| US2004047424A1 | Cites | United States of America | Applicant |
| US2004064782A1 | Cites | United States of America | Applicant |
| US2005047519A1 | Cites | United States of America | Applicant |
| US2005156761A1 | Cites | United States of America | Applicant |
| US2005220180A1 | Cites | United States of America | Search report |
| WO2006007571A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| US2006082274A1 | Cites | United States of America | Applicant |
| US4907233A | Cites | United States of America | Applicant |
| US6724327B1 | Cites | United States of America | Applicant |
| US7133441B1 | Cites | United States of America | Search report |
| “Digital Video Broadcasting: Framing structure, channel coding and modulation for digital terrestrial television”, ETSI EN 300 744, Jan. 2001. | Non-patent | – | Third party observation |
| Forney, G., “Burst Correcting Codes for Classic Bursty Channel, ”IEEE Trans. On Communications Technology, vol. 19, No. 5, Oct. 1971. | Non-patent | – | Third party observation |
| International Search Report for PCT/KR2007/003172 dated on Nov. 19, 2007. | Non-patent | – | Third party observation |
| Babak Hassibi and Bertrand M. Hochwald, “How Much Training is Needed in Multiple-Antenna Wireless Links?”, IEEE Transactions on Information Theory, vol. 49, No. 4, Apr. 2003. | Non-patent | – | Third party observation |
| Pengfei Xia et al., “Adaptive MIMO-OFDM Based on Partial Channel State Information”, IEEE Transactions on signal processing, vol. 52, No. 1, Jan. 2004. | Non-patent | – | Third party observation |
| Pengfei Xia et al., “Achieving the Welch Bound With Difference Sets”, IEEE Transactions on Information Theory, vol. 51, No. 5, May 2005. | Non-patent | – | Third party observation |
| International Search Report for International Application No. PCT/KR2008/001390 dated Jun. 17, 2008 by Korean Intellectual Property Office. | Non-patent | – | Third party observation |
| International Search Report for International Application No. PCT/KR2008/001378 dated Jun. 24, 2008 by Korean Intellectual Property Office. | Non-patent | – | Third party observation |
| Maruhashi et al. “Wireless Uncompressed-HDTV-Signal Transmission System Utilizing Compact 60-GHz-band Transmitter and Receiver”, System Devices Research Laboratories, NEC Corporation, IEEE 2005, pp. 1867-1870. | Non-patent | – | Third party observation |
| "Digital Video Broadcasting: Framing structure, channel coding and modulation for digital terrestrial television", ETSI EN 300 744, Jan. 2001. | Non-patent | – | Applicant |
| Forney, G., "Burst Correcting Codes for Classic Bursty Channel, "IEEE Trans. On Communications Technology, vol. 19, No. 5, Oct. 1971. | Non-patent | – | Applicant |
| International Search Report for PCT/KR2007/003172 dated on Nov. 19, 2007. | Non-patent | – | Applicant |
| Babak Hassibi and Bertrand M. Hochwald, "How Much Training is Needed in Multiple-Antenna Wireless Links?", IEEE Transactions on Information Theory, vol. 49, No. 4, Apr. 2003. | Non-patent | – | Applicant |
| Pengfei Xia et al., "Adaptive MIMO-OFDM Based on Partial Channel State Information", IEEE Transactions on signal processing, vol. 52, No. 1, Jan. 2004. | Non-patent | – | Applicant |
| Pengfei Xia et al., "Achieving the Welch Bound With Difference Sets", IEEE Transactions on Information Theory, vol. 51, No. 5, May 2005. | Non-patent | – | Applicant |
| International Search Report for International Application No. PCT/KR2008/001390 dated Jun. 17, 2008 by Korean Intellectual Property Office. | Non-patent | – | Applicant |
| International Search Report for International Application No. PCT/KR2008/001378 dated Jun. 24, 2008 by Korean Intellectual Property Office. | Non-patent | – | Applicant |
| Maruhashi et al. "Wireless Uncompressed-HDTV-Signal Transmission System Utilizing Compact 60-GHz-band Transmitter and Receiver", System Devices Research Laboratories, NEC Corporation, IEEE 2005, pp. 1867-1870. | Non-patent | – | Applicant |
18 members in 5 offices
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 90638207 | United States of America | P | |
| 90638207 | United States of America | P | |
| 86310907 | United States of America | A | |
| 60906382 | – | – | – |
| US20070863109 | – | – | – |
| US20070906382P | – | – | – |
Members18
| Document | Office | Kind | |
|---|---|---|---|
| KR20080083574A | Republic of Korea | A | |
| US2008225818A1 | United States of America | A1 | |
| US2008225819A1 | United States of America | A1 | |
| WO2008111790A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2008111793A1 | World Intellectual Property Organization (WIPO) | A1 | |
| KR20090014333A | Republic of Korea | A | |
| EP2073550A1 | European Patent Office (EPO) | A1 | |
| EP2074773A1 | European Patent Office (EPO) | A1 | |
| KR100945490B1 | Republic of Korea | B1 | |
| CN101675631A | China | A | |
| CN101682751A | China | A | |
| US7688908B2This record | United States of America | B2 | |
| KR100970734B1 | Republic of Korea | B1 | |
| EP2073550A4 | European Patent Office (EPO) | A4 | |
| US8111670B2 | United States of America | B2 | |
| CN101682751B | China | B | |
| CN101675631B | China | B | |
| EP2074773A4 | European Patent Office (EPO) | A4 |
35 transactions on the USPTO file
Allowed without a rejection on record.
- Non-final rejections
- 0
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 12th Year, Large EntityM1553 | M1553 | |
| Post Issue Communication - Certificate of CorrectionN423 | N423 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Response to Reasons for AllowanceREAS | REAS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Printer Rush- No mailingTCPB | TCPB | |
| Pubs Case Remand to TCPUBTC | PUBTC | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Decision Made by Classification DivisionTI1052 | TI1052 | |
| Request for Classification Division DecisionTI1054 | TI1054 | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Sent to Classification ContractorPGPC | PGPC | |
| Application Is Now CompleteCOMP | COMP | |
| Cleared by L&R (LARS)L128 | L128 | |
| Referred to Level 2 (LARS) by OIPE CSRL198 | L198 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
10 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Fee paymentFPAY | FPAY | |
| Fee paymentFPAY | FPAY | |
| Fee payment procedurePAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Certificate of correctionCC | CC | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 07688908
- Publication, DOCDB
- 7688908
- Publication, EPODOC
- US7688908
- Application
- 11863109
- Application, DOCDB
- 86310907
- Application, EPODOC
- US20070863109
Titles
- English
- System and method for processing wireless high definition video data using a shortened last codeword
Patent term adjustment
- A delay
- +344 daysthe office missed an examination deadline
- Applicant delay
- −2 days
- Net adjustment
- 342 days
Classification
- CPC, 15
- H04L12/66
- H04N21/238
- H03M13/05
- H03M13/1515
- H03M13/152
- H03M13/23
- H03M13/2703
- H03M13/2936
- H03M13/356
- H03M13/47
- H03M13/618
- H04N21/2383
- H04N21/43637
- H04N21/4382
- H03M13/00
- IPC, 1
- H04L5 12
- USPC, 1
- 375262000