USRE46167E1 - Systems and methods for transmitting data over lossy networks - Google Patents

Systems and methods for transmitting data over lossy networks Download PDF

Info

Publication number
USRE46167E1
USRE46167E1 US14/147,467 US201414147467A USRE46167E US RE46167 E1 USRE46167 E1 US RE46167E1 US 201414147467 A US201414147467 A US 201414147467A US RE46167 E USRE46167 E US RE46167E
Authority
US
United States
Prior art keywords
wireless network
server
client
data packets
slices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US14/147,467
Inventor
Behram daCosta
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Sony Electronics Inc
Original Assignee
Sony Corp
Sony Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp, Sony Electronics Inc filed Critical Sony Corp
Priority to US14/147,467 priority Critical patent/USRE46167E1/en
Application granted granted Critical
Publication of USRE46167E1 publication Critical patent/USRE46167E1/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • H04L1/1877Buffer management for semi-reliable protocols, e.g. for less sensitive applications like streaming video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0023Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
    • H04L1/0026Transmission of channel quality indication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0098Unequal error protection

Definitions

  • the invention relates in general to transmitting data over lossy networks, and in particular, to improving data transmission performance over lossy wireless network connections.
  • Typical problems associated with transmitting compressed video over wireless networks include Quality of Service (QoS), latency and maintaining basic image integrity. For example, if a single packet of transmitted video data is lost, the fact that the video data is typically compressed in the temporal domain can cause propagation and cascading of a single artifact in one frame through multiple successive frames.
  • QoS Quality of Service
  • Such lossy wireless networks may operate wireless protocols, such as those described by IEEE 802.11x and 802.15.3a, and video compression algorithms such as those described by the AVC video standard. Lossy networks may use transmission methods other than wireless such as, for example, HomePlug AV Powerline Communications.
  • video data (sometimes referred to as “video packets”) may be lost.
  • wireless lossy transmission mediums can be unreliable in that the transmitted video packets may not always be received (accurately or at all) by the wireless receiver.
  • the 802.11x Media Access Control (MAC) requires that in most cases a packet (or group of packets for 802.11e extensions to the standard) that is received will be acknowledged to the transmitter by sending back an “ACK” signal.
  • ACK 802.11x Media Access Control
  • video packet data can also be lost at the receiver.
  • AVC Advanced Video Coding
  • RTP Real-Time Transport Protocol
  • H264/AVC is a more recently developed coding standard which includes a Video Coding Layer (VCL) to efficiently represent the video content, and a Network Abstraction Layer (NAL) to format the VCL representation of the video and provide header information in a manner appropriate for conveyance by particular transport layers or storage media.
  • VCL Video Coding Layer
  • NAL Network Abstraction Layer
  • a method comprises transmitting a plurality of encoded data packets over a wireless network, receiving acknowledgment signals for each of said plurality of encoded data packets when successfully transmitted, and determining if a number of transmission failures exceeds a to predetermined threshold, and if so, signaling that multiple reference frames should be used for encoding predictions.
  • FIG. 1 depicts one embodiment of a simplified system overview for implementing one or more aspects of the invention
  • FIG. 2 depicts a process for carrying one aspect of the invention in accordance with one embodiment
  • FIG. 3 depicts a process for carrying another aspect of the invention, according to one embodiment
  • FIG. 4 depicts a process for carrying yet another aspect of the invention, according to one embodiment
  • FIG. 5 depicts an IDR frame according to one embodiment
  • FIG. 6 depicts an IDR frame according to another embodiment.
  • the invention relates to a system in which data (e.g., video data) is being transmitted at least partially wirelessly over a lossy network originating from a server to one or more client-side systems.
  • data e.g., video data
  • the server includes an encoder module and a transmitter
  • the client includes a decoder module and a receiver.
  • data packets sent over the wireless network by the server which are not successfully received may be retransmitted a particular number of times.
  • the number of retransmission attempts is based on how important the data in the lost packet is considered. That is, in one embodiment, the number of retransmission attempts may be made adaptive, and packets considered more important (e.g., those containing IDR frames) are retransmitted a greater number of times as compared to less important packets (e.g., those containing P frames).
  • the aforementioned data packets may be encoded by an H.264/AVC encoder and/or sent over a 802.11x wireless network connection to be decoded by one or more H.264/AVC decoders.
  • Another aspect of the invention is to improve the probability of successful decoding at the client side.
  • this is done by having a decoder signal to a corresponding encoder to use multiple reference frames for subsequent prediction operations.
  • this allows frames, such as P frames, that refer to data in prior frames (or in the case of B frames also future frames) to refer to macroblocks in multiple reference frames in order to determine the macroblocks in a current frame.
  • the probability of successful decoding at the client side may be improved by identifying exactly which slices of the original data stream have not been received at the decoder. In one embodiment, this may be done by noting when an acknowledgment signal is not received for a given packet and all the packet retransmission attempts have been used. Using this information, an encoder may then stop referring to these lost slices/macroblocks in future coding operations. This may then limit the propagation of errors in future decoded frames at the client side. While in one embodiment, this may be done concurrently with the aforementioned operations, in another embodiment it may be subsequently performed.
  • Still another aspect of the invention is to estimate the distortion of the data caused by lost data packets/slices. Using this information, past pixels that are considers to have been reconstructed adequately by the error concealment at the client may continue to be referred to, while references to data not adequately reconstructed properly may be avoided.
  • the client itself may indicate the level of distortion back to the server given that the client decoder knows exactly what error concealment was used. This information may then be communicated back to the server.
  • an estimate of error of the received data may also be determined on the server-side by estimating the error concealment at the client for the given lost data packets, and the distortion may then be estimated by comparing the reconstructed data to the original data which is also available at the server.
  • Still another aspect of the invention is to increase the quality of error-concealment at the client by making use of the Flexible Macroblock Ordering (FMO) functionality of an H.264/AVC encoder/decoder system. That is, the reconstruction of IDR frames (on which all successive frames in the picture depend) may be made more robust by first decomposing each IDR frame into n fields such that all macroblocks of the IDR frame may be included in the n fields without duplication. Thereafter, each field may be segmented into m slices. In one embodiment, all m slices for the first field may be transmitted first, followed by the transmission of all m slices for the second field, and so on until all m slices for all n fields have been transmitted.
  • FMO Flexible Macroblock Ordering
  • error concealment functionality of the decoder e.g., H.264/AVC decoder
  • the decoder may interpolate neighboring pixels to estimate the missing pixels since the missing macroblocks are spatially surrounded by available macroblocks.
  • the elements of the invention are essentially the code segments to perform the necessary tasks.
  • the program or code segments can be stored in a processor readable medium or transmitted by a computer data signal embodied in a carrier wave over a transmission medium or communication link.
  • the H.264/AVC standard supports video coding that contains either progressive, interlaced frames or both mixed together in the same sequence.
  • a frame of video contains two interleaved fields—a top and a bottom field.
  • the two fields of an interlaced frame which are separated in time by a field period, may be coded separately as two field pictures or together as a frame picture.
  • a progressive frame is coded as a single frame picture. However, it is still considered to consist of two fields at the same instant in time.
  • the VCL represents the content of the video data.
  • the NAL formats the data and provides header information in a manner appropriate for conveyance by the transport layers or storage media. All data is contained in NAL units, each of which contains an integer number of bytes. An NAL unit specifies a generic format for use in both packet-oriented and bitstream systems.
  • the VCL of the H.264/AVC standard is similar in spirit to other standards such as MPEG-2. In short, it consists of a hybrid of temporal and spatial prediction, in conjunction with transform coding.
  • Each picture of a video which can either be a frame or a field, is partitioned into fixed-size macroblocks that cover a rectangular picture area of 16 ⁇ 16 samples of the luma component and 8 ⁇ 8 samples of each of the two chroma components. All luma and chroma samples of a macroblock are either spatially or temporally predicted, and the resulting prediction residual is transmitted using transform coding.
  • the macroblocks are organized in slices, which represent portions of a given image that can be decoded independently, and the transmission order of macroblocks in the bitstream depends on a Macroblock Allocation Map.
  • the H.264/AVC standard supports five different slice-coding types. The simplest one is referred to as an I slice, or Intra slice. In I slices, all macroblocks are coded without referring to other pictures within the video sequence. On the other hand, prior-coded images can be used to form a prediction signal for macroblocks of the predictive-coded P and B slices (where P stands for predictive and B stands for bi-predictive).
  • the two additional slice types are SP (switching P) and SI (switching I), which are specified for efficient switching between bitstreams coded at various bit-rates.
  • the H.264/AVC standard supports a feature called Flexible Macroblock Ordering (FMO) in which a pattern that assigns the macroblocks in a picture to one or several slice groups is specified. Each slice group may then be transmitted separately.
  • FMO Flexible Macroblock Ordering
  • FIG. 1 depicts one embodiment of a system 100 for carrying out one or more aspects of the invention.
  • system 100 includes the capture of video content from source 110 .
  • video content 115 may be real-time content transmitted from a real-time video source. Regardless of whether the video content 115 is real-time content or not, it may then be provided to server 135 which, in the embodiment of FIG. 1 , is comprised of encoder 120 and transmitter 130 .
  • encoder 120 processes the video content 115 from source 110 in order to provide encoded data 125 to some destination point via network 140 .
  • encoder 120 may encode video content 115 in accordance with the previously-described H.264/AVC coding standard. However, it should equally be appreciated that the invention may be used with similar codecs other than the H.264/AVC coding standard
  • encoded data 125 is provided to transmitter a client 145 , as shown in FIG. 1 .
  • transmitter 130 is a 802.11x or 802.15.3a wireless transmitter, it should equally be appreciated that transmitter 130 may also transmit data according to numerous other lossy protocols. Regardless of the wireless protocol employed, encoded data 125 may then be provided to and sent over network 140 .
  • encoder 120 may encode video content 115 in accordance with the previously-described H.264/AVC coding standard. However, it should equally be appreciated that the invention may be used with similar codecs other than the H.264/AVC coding standard, and with lossy networks other than 802.11x/802.15.3a wireless networks.
  • client 145 includes receiver 150 and decoder 155 .
  • Encoded data 125 may be received by receiver 145 , which is in communication with network 140 (e.g., the Internet). Receiver 150 may then provide the encoded data 125 to decoder 150 . In another embodiment, the encoded data 125 may be received and decoded by a plurality of client-side devices (not shown). Depending on the coding standard used by the encoder 120 (e.g., H.264/AVC), the decoder 155 may then perform specific decoding operations on the encoded data 125 to provide decoded video content 160 to a connected display device 165 , as shown in FIG. 1 .
  • the encoder 120 e.g., H.264/AVC
  • server 135 and client 145 may have numerous configurations other than as depicted in FIG. 1 .
  • encoder 120 and transmitter 130 may be separate from server 135 .
  • decoder 155 and receiver 150 need not be integrated into client 145 .
  • server 135 and/or client 145 may include other components, such as a central processing unit (CPU), which may include an arithmetic logic unit (ALU) for performing computations, a collection of registers for temporary storage of data and instructions, and a control unit for controlling operation for the computer system.
  • CPU central processing unit
  • ALU arithmetic logic unit
  • the CPU may be any one of the x86, PentiumTM class microprocessors as marketed by IntelTM Corporation, microprocessors as marketed by AMDTM, or the 6 ⁇ 86MX microprocessor as marketed by CyrixTM Corp.
  • any of a variety of other processors including those from Sun Microsystems, MIPS, IBM, Motorola, NEC, Cyrix, AMD, Nexgen and others may be used.
  • any such CPU need not be limited to microprocessors, but may take on other forms such as microcontrollers, digital signal processors, reduced instruction set computers (RISC), application specific integrated circuits, and the like.
  • RISC reduced instruction set computers
  • server 135 and/or client 145 may include are a random access memory, a non-volatile memory (e.g., hard disk, floppy disk, CD-ROM, DVD-ROM, tape, high density floppy, high capacity removable media, low capacity removable media, solid state memory device, etc., and combinations thereof).
  • the server 135 and/or client 145 may also include a network interface (e.g., a network interface card, a modem interface, integrated services digital network, etc.), and a user input device (e.g., a keyboard, mouse, joystick and the like for enabling a user to interact with and provide commands).
  • a network interface e.g., a network interface card, a modem interface, integrated services digital network, etc.
  • user input device e.g., a keyboard, mouse, joystick and the like for enabling a user to interact with and provide commands.
  • server 135 and/or client 145 may include system firmware, such as system BIOS, and an operating system (e.g., DOS, Windows, Unix, Linux, Xenix, etc) for controlling the server 135 and/or client's operation and the allocation of resources.
  • system firmware such as system BIOS
  • operating system e.g., DOS, Windows, Unix, Linux, Xenix, etc
  • FIG. 2 depicts a process 200 for how the probability of a failed transmission may be decreased in accordance with one embodiment of the invention.
  • IDR Instantaneous Decoder Refresh
  • process 200 begins at block 210 with the transmission of a data packet.
  • a determination may then be made at block 220 as to whether the packet was received or not. In one embodiment, this determination may be based on whether the destination receiver (e.g., client 145 ) provided an ACK signal back to the source (e.g., server 135 ). However, it should equally be appreciated that successful packet delivery may be determined using other means as well.
  • process 200 simply moves to block 230 where the next data packet is processed. If, on the other hand, it is determined that the packet was not properly received, then process 200 may continue to block 240 where a determination is made as to what number of retransmission should be attempted for the given packet. In one embodiment, the number of retransmission attempts is based on the importance of the data contained within the given packet. In another embodiment, the number of retransmissions is made adaptive at all levels at which retransmission is implemented to occur. For example, the number of retransmissions may be made adaptive at the 802.11x MAC layer, as well as at the RTP layer if a form of reliable or semi-reliable RTP retransmission has been implemented.
  • process 200 will continue to block 250 where it is determined if the packet should be re-sent or not. If the number of retransmission attempts equals zero, then the packet will not be re-sent and process 200 ends. If, on the other hand, the number of retransmission attempts is greater than zero, then process 200 will continue to block 260 where the packet is re-sent, and then the number of remaining retransmission attempts is reduced by 1 (block 270 ). Once re-sent, a determination must then be made at block 280 as to whether the re-sent packet was received this time. If so, then process 200 simply moves to block 230 where the next data packet is processed. If not, then process 200 moves back to block 250 where it is determined if the packet should be re-sent or not (i.e., determine if the number of retransmission attempts equals zero or not).
  • FIG. 3 illustrates one embodiment of a process 300 for improving the decoding of video content transmitted over a lossy network (e.g., network 140 ).
  • process 300 begins with a determination of whether or not the number of transmission failures has increased. This may be done, for example, by detecting a decreasing number of ACKs sent by a client side device (e.g., client 145 ). In one embodiment, a predetermined threshold may be used to compare the number of ACKs against.
  • process 300 continues to one or more of blocks 310 , 320 and 335 . That is, portions of process 300 may be carried out concurrently or sequentially. For example, the portions of process 300 which comprise blocks 310 - 315 may be carried out concurrently with the operations described below with reference to blocks 320 - 330 and/or blocks 335 - 345 .
  • the client or decoder-side may signal back to the encoder that it should use multiple reference frames for prediction purposes.
  • the current frame can still be successfully reconstructed assuming the other reference frames are not also lost.
  • blocks 310 - 315 may be performed either concurrently with or sequentially with the operations described below with reference to blocks 320 - 330 and 335 - 345 .
  • the server side may identify exactly which slices of the original video stream have not been received at the decoder. In one embodiment, this information is available since the server knows which data packets are lost because a ACK signal would not have been received for the given packet at the 802.11x MAC layer, or which RTP packets are lost at the RTP application layer. Once the missing slices have been identified, process 300 may continue to block 325 where the encoder is notified of exactly which slices (and hence which macroblocks) have not been received by the decoder.
  • the encoder (which in one embodiment is an H2.64/AVC encoder) will stop referring to these lost slices/macroblocks in future P and B frames (block 330 ). In another embodiment, the encoder may also generate additional IDR frames if necessary.
  • the level of distortion caused by the missing packets may be estimated by the server at block 335 . This may be significant since not all lost packets degrade the video equally, specially since many decoders (e.g., H264 decoders) employ error concealment.
  • the client itself may estimate the distortion of the client's video caused by the lost packets. This may be preferable since the decoder will know exactly how it has implemented possibly proprietary error concealment. In this case, the level of distortion may be communicated back to the server (block 340 ).
  • this back channel of communication between the client and server may be unreliable.
  • an estimate of the error of the final video may also be determined at the server by estimating the error concealment at the client for the given lost slices/packets.
  • the distortion may be estimated by comparing the reconstructed video to the original video which is also available at the server. Regardless of whether the distortion has been estimated on the client side or on the server side, this information may then be used by the encoder to only refer to past pixels that are considered to have been reconstructed adequately by the error concealment at the client (block 345 ).
  • the process 300 of FIG. 3 may also be implemented for pre-stored streams on the server side (such as on a PVR or at a ISP's head-end).
  • the server side such as on a PVR or at a ISP's head-end.
  • several versions of the same encoded stream can be pre-stored, which can decrease the latency of producing these multiple versions of encoded data on the fly.
  • FIG. 4 illustrates one embodiment of a process 400 for using error concealment to reduce the distortion of the video content caused by the missing macroblocks.
  • FMO Flexible Macroblock Ordering
  • the reconstruction of IDR frames may be made more robust using the process 400 of FIG. 4 .
  • process 400 begins at block 410 by decomposing each IDR frame into n fields. As will be shown below with reference to FIG. 5 , each field may comprise macroblocks spatially separated from other macroblocks by p macroblocks.
  • each field may be segmented into m slices by the NAL, where size restrictions may be imposed by a wireless network (e.g., 802.11x) link layer.
  • a wireless network e.g., 802.11x
  • process 400 may continue to block 430 for all m slices for the first field may be transmitted first, followed by the transmission of all m slices for the second field, and so on until all m slices for all n fields have been transmitted.
  • This form of transmission may be particularly useful for transmissions over a lossy network in which errors are often bursty (e.g., 802.11x), where a short burst of errors might eliminate all m slices for a given field.
  • the error concealment functionality of the decoder e.g., H.264/AVC decoder
  • the single macroblock may itself be expanded to include a group of macroblocks around the original macroblock.
  • the encoding process 400 of FIG. 4 may also help the buffer management and streaming stacks to determine which packets of data can be dropped prior to wireless transmission (or after wireless reception) should critical congestion occur at other stages of the network.
  • dropping a network packet containing one of the fields of the dropping a network packet containing one of the fields of the frame may result in better decoded video quality at the receiver compared to randomly dropping any packet in the original stream. It should further be appreciated that, for specific applications in which spatial multiplexing MIMO wireless technology is used, it is possible to optionally transmit each field on a separate spatial channel to further improve performance.
  • Field # 3 for example, is comprised of all the individual macroblocks labeled “ 3 ,” as shown in FIG. 5 . In this fashion, Field # 3 may be transmitted in multiple slices/packets so as to reduce the consequence of bursty errors by improving the error concealment functionality on the decoder side.
  • FIG. 6 depicts another embodiment of an IDR frame 600 .
  • the IDR frame 600 is comprised of a plurality of “super-macroblocks.”
  • a super-macroblock is made up of 4 individual macroblocks all containing data for the same field.
  • all super-macroblocks labelled # 1 are considered part of Field # 1 and are transmitted as one or more slices in sequence.
  • Field # 2 which is correspondingly comprised of the super-macroblocks labelled # 2
  • Field # 3 Field # 3 and so on.
  • the super-macroblock algorithm of FIG. 6 will tend to increase encoding efficiency but decrease accuracy of reconstruction at the decoder should a field be lost in transmission.

Abstract

An encoder/decoder system usable to decrease the probability of a failed transmission over a lossy wireless network. In one embodiment, data packets unsuccessfully sent over the wireless network may be retransmitted a particular number of times, depending on how important the data in the lost packet is. In another embodiment, when a number of transmission failures is determined to exceed a predetermined threshold, it may be signaled that multiple reference frames should be used for encoding predictions.

Description

CROSS REFERENCE TO RELATED APPLICATION
This application is a divisional of U.S. patent application Ser. No. 11/197,818, filed on Aug. 5, 2005, which is hereby fully incorporated by reference.
FIELD OF THE INVENTION
The invention relates in general to transmitting data over lossy networks, and in particular, to improving data transmission performance over lossy wireless network connections.
BACKGROUND OF THE INVENTION
Typical problems associated with transmitting compressed video over wireless networks include Quality of Service (QoS), latency and maintaining basic image integrity. For example, if a single packet of transmitted video data is lost, the fact that the video data is typically compressed in the temporal domain can cause propagation and cascading of a single artifact in one frame through multiple successive frames. Such lossy wireless networks may operate wireless protocols, such as those described by IEEE 802.11x and 802.15.3a, and video compression algorithms such as those described by the AVC video standard. Lossy networks may use transmission methods other than wireless such as, for example, HomePlug AV Powerline Communications.
During video transmission over a lossy network, video data (sometimes referred to as “video packets”) may be lost. For example, wireless lossy transmission mediums can be unreliable in that the transmitted video packets may not always be received (accurately or at all) by the wireless receiver. To counter this, the 802.11x Media Access Control (MAC) requires that in most cases a packet (or group of packets for 802.11e extensions to the standard) that is received will be acknowledged to the transmitter by sending back an “ACK” signal. Hence a missing ACK signal normally indicates that a video packet (or packets) has been lost.
In addition, video packet data can also be lost at the receiver. For example, as Advanced Video Coding (AVC) encoded data tends to be bursty, an unexpectedly large burst can overflow buffers on the receiver-side at several locations between the 802.11x module and the AVC decoder itself. Most packets lost in this way can be detected by Real-Time Transport Protocol (RTP) feedback.
To alleviate some of the inherent drawbacks associated with lossy network communication, various data recovery and error correction features have been built into the data coding standard used. For example, H264/AVC is a more recently developed coding standard which includes a Video Coding Layer (VCL) to efficiently represent the video content, and a Network Abstraction Layer (NAL) to format the VCL representation of the video and provide header information in a manner appropriate for conveyance by particular transport layers or storage media. Despite these efforts, there is a need to improve transmission reliability and error concealment over lossy network connections, such as 802.11x networks.
Thus, there is still an unsatisfied need for an improved system and method for transmitting video data over networks in a manner which decreases the probability of a failed transmission, improves the probability of successful decoding and/or increases the quality of error concealment on the receiver-side.
SUMMARY OF THE INVENTION
Systems and methods for transmitting data over lossy networks, such as wireless networks, are disclosed and claimed herein. In one embodiment a method comprises transmitting a plurality of encoded data packets over a wireless network, receiving acknowledgment signals for each of said plurality of encoded data packets when successfully transmitted, and determining if a number of transmission failures exceeds a to predetermined threshold, and if so, signaling that multiple reference frames should be used for encoding predictions.
Other embodiments are disclosed and claimed herein.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 depicts one embodiment of a simplified system overview for implementing one or more aspects of the invention;
FIG. 2 depicts a process for carrying one aspect of the invention in accordance with one embodiment;
FIG. 3 depicts a process for carrying another aspect of the invention, according to one embodiment;
FIG. 4 depicts a process for carrying yet another aspect of the invention, according to one embodiment;
FIG. 5 depicts an IDR frame according to one embodiment; and
FIG. 6 depicts an IDR frame according to another embodiment.
DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS
The invention relates to a system in which data (e.g., video data) is being transmitted at least partially wirelessly over a lossy network originating from a server to one or more client-side systems. In one embodiment, the server includes an encoder module and a transmitter, while the client includes a decoder module and a receiver.
According to one aspect of the invention, data packets sent over the wireless network by the server which are not successfully received may be retransmitted a particular number of times. In one embodiment, the number of retransmission attempts is based on how important the data in the lost packet is considered. That is, in one embodiment, the number of retransmission attempts may be made adaptive, and packets considered more important (e.g., those containing IDR frames) are retransmitted a greater number of times as compared to less important packets (e.g., those containing P frames). In one embodiment, the aforementioned data packets may be encoded by an H.264/AVC encoder and/or sent over a 802.11x wireless network connection to be decoded by one or more H.264/AVC decoders.
Another aspect of the invention is to improve the probability of successful decoding at the client side. In one embodiment, this is done by having a decoder signal to a corresponding encoder to use multiple reference frames for subsequent prediction operations. In the case of an H.264/AVC system, this allows frames, such as P frames, that refer to data in prior frames (or in the case of B frames also future frames) to refer to macroblocks in multiple reference frames in order to determine the macroblocks in a current frame.
In another embodiment, the probability of successful decoding at the client side may be improved by identifying exactly which slices of the original data stream have not been received at the decoder. In one embodiment, this may be done by noting when an acknowledgment signal is not received for a given packet and all the packet retransmission attempts have been used. Using this information, an encoder may then stop referring to these lost slices/macroblocks in future coding operations. This may then limit the propagation of errors in future decoded frames at the client side. While in one embodiment, this may be done concurrently with the aforementioned operations, in another embodiment it may be subsequently performed.
Still another aspect of the invention is to estimate the distortion of the data caused by lost data packets/slices. Using this information, past pixels that are considers to have been reconstructed adequately by the error concealment at the client may continue to be referred to, while references to data not adequately reconstructed properly may be avoided. In one embodiment, the client itself may indicate the level of distortion back to the server given that the client decoder knows exactly what error concealment was used. This information may then be communicated back to the server. However, in another embodiment, an estimate of error of the received data may also be determined on the server-side by estimating the error concealment at the client for the given lost data packets, and the distortion may then be estimated by comparing the reconstructed data to the original data which is also available at the server.
Still another aspect of the invention is to increase the quality of error-concealment at the client by making use of the Flexible Macroblock Ordering (FMO) functionality of an H.264/AVC encoder/decoder system. That is, the reconstruction of IDR frames (on which all successive frames in the picture depend) may be made more robust by first decomposing each IDR frame into n fields such that all macroblocks of the IDR frame may be included in the n fields without duplication. Thereafter, each field may be segmented into m slices. In one embodiment, all m slices for the first field may be transmitted first, followed by the transmission of all m slices for the second field, and so on until all m slices for all n fields have been transmitted. This may be desirable since errors in lossy network environments (e.g., 802.11x) are often bursty, where a short burst of errors might eliminate all m slices, for example, for a given field. That being the case, if the m slices for different fields (e.g., 1,3,4, etc.) have been received correctly, then the error concealment functionality of the decoder (e.g., H.264/AVC decoder) may interpolate neighboring pixels to estimate the missing pixels since the missing macroblocks are spatially surrounded by available macroblocks.
While it should be appreciated that all or some of the aforementioned aspects of the invention may be implemented using an H.264/AVC encoder/decoder system and/or a 802.11x wireless network connection, it should equally be appreciated that they may also be implemented using other similar codecs and/or lossy communication channels.
When implemented in software, the elements of the invention are essentially the code segments to perform the necessary tasks. The program or code segments can be stored in a processor readable medium or transmitted by a computer data signal embodied in a carrier wave over a transmission medium or communication link.
H.264/AVC Overview
The H.264/AVC standard supports video coding that contains either progressive, interlaced frames or both mixed together in the same sequence. Generally, a frame of video contains two interleaved fields—a top and a bottom field. The two fields of an interlaced frame, which are separated in time by a field period, may be coded separately as two field pictures or together as a frame picture. A progressive frame, on the other hand, is coded as a single frame picture. However, it is still considered to consist of two fields at the same instant in time.
The VCL, which will be described in more detail below, represents the content of the video data. In contrast, the NAL formats the data and provides header information in a manner appropriate for conveyance by the transport layers or storage media. All data is contained in NAL units, each of which contains an integer number of bytes. An NAL unit specifies a generic format for use in both packet-oriented and bitstream systems.
The VCL of the H.264/AVC standard is similar in spirit to other standards such as MPEG-2. In short, it consists of a hybrid of temporal and spatial prediction, in conjunction with transform coding. Each picture of a video, which can either be a frame or a field, is partitioned into fixed-size macroblocks that cover a rectangular picture area of 16×16 samples of the luma component and 8×8 samples of each of the two chroma components. All luma and chroma samples of a macroblock are either spatially or temporally predicted, and the resulting prediction residual is transmitted using transform coding.
The macroblocks are organized in slices, which represent portions of a given image that can be decoded independently, and the transmission order of macroblocks in the bitstream depends on a Macroblock Allocation Map. The H.264/AVC standard supports five different slice-coding types. The simplest one is referred to as an I slice, or Intra slice. In I slices, all macroblocks are coded without referring to other pictures within the video sequence. On the other hand, prior-coded images can be used to form a prediction signal for macroblocks of the predictive-coded P and B slices (where P stands for predictive and B stands for bi-predictive). The two additional slice types are SP (switching P) and SI (switching I), which are specified for efficient switching between bitstreams coded at various bit-rates.
The H.264/AVC standard supports a feature called Flexible Macroblock Ordering (FMO) in which a pattern that assigns the macroblocks in a picture to one or several slice groups is specified. Each slice group may then be transmitted separately.
System Architecture Overview
FIG. 1 depicts one embodiment of a system 100 for carrying out one or more aspects of the invention. In particular, system 100 includes the capture of video content from source 110. In one embodiment, video content 115 may be real-time content transmitted from a real-time video source. Regardless of whether the video content 115 is real-time content or not, it may then be provided to server 135 which, in the embodiment of FIG. 1, is comprised of encoder 120 and transmitter 130. In one embodiment, encoder 120 processes the video content 115 from source 110 in order to provide encoded data 125 to some destination point via network 140. In one embodiment, encoder 120 may encode video content 115 in accordance with the previously-described H.264/AVC coding standard. However, it should equally be appreciated that the invention may be used with similar codecs other than the H.264/AVC coding standard
Once encoded, encoded data 125 is provided to transmitter a client 145, as shown in FIG. 1. While in one embodiment, transmitter 130 is a 802.11x or 802.15.3a wireless transmitter, it should equally be appreciated that transmitter 130 may also transmit data according to numerous other lossy protocols. Regardless of the wireless protocol employed, encoded data 125 may then be provided to and sent over network 140. In one embodiment encoder 120 may encode video content 115 in accordance with the previously-described H.264/AVC coding standard. However, it should equally be appreciated that the invention may be used with similar codecs other than the H.264/AVC coding standard, and with lossy networks other than 802.11x/802.15.3a wireless networks.
Continuing to refer to FIG. 1, client 145 includes receiver 150 and decoder 155. Encoded data 125 may be received by receiver 145, which is in communication with network 140 (e.g., the Internet). Receiver 150 may then provide the encoded data 125 to decoder 150. In another embodiment, the encoded data 125 may be received and decoded by a plurality of client-side devices (not shown). Depending on the coding standard used by the encoder 120 (e.g., H.264/AVC), the decoder 155 may then perform specific decoding operations on the encoded data 125 to provide decoded video content 160 to a connected display device 165, as shown in FIG. 1.
It should be appreciated that server 135 and client 145 may have numerous configurations other than as depicted in FIG. 1. For example, either or both of encoder 120 and transmitter 130 may be separate from server 135. Similarly, either or both of decoder 155 and receiver 150 need not be integrated into client 145.
Although not depicted, it should equally be appreciated that server 135 and/or client 145 may include other components, such as a central processing unit (CPU), which may include an arithmetic logic unit (ALU) for performing computations, a collection of registers for temporary storage of data and instructions, and a control unit for controlling operation for the computer system. In one embodiment, the CPU may be any one of the x86, Pentium™ class microprocessors as marketed by Intel™ Corporation, microprocessors as marketed by AMD™, or the 6×86MX microprocessor as marketed by Cyrix™ Corp. In addition, any of a variety of other processors, including those from Sun Microsystems, MIPS, IBM, Motorola, NEC, Cyrix, AMD, Nexgen and others may be used. Moreover, any such CPU need not be limited to microprocessors, but may take on other forms such as microcontrollers, digital signal processors, reduced instruction set computers (RISC), application specific integrated circuits, and the like.
Other components that the server 135 and/or client 145 may include are a random access memory, a non-volatile memory (e.g., hard disk, floppy disk, CD-ROM, DVD-ROM, tape, high density floppy, high capacity removable media, low capacity removable media, solid state memory device, etc., and combinations thereof). The server 135 and/or client 145 may also include a network interface (e.g., a network interface card, a modem interface, integrated services digital network, etc.), and a user input device (e.g., a keyboard, mouse, joystick and the like for enabling a user to interact with and provide commands).
It should further be appreciated that the server 135 and/or client 145 may include system firmware, such as system BIOS, and an operating system (e.g., DOS, Windows, Unix, Linux, Xenix, etc) for controlling the server 135 and/or client's operation and the allocation of resources.
Decreasing Probability of a Failed Transmission
As mentioned above, one aspect of the invention is to be able to decrease the probability of a failed transmission. To that end, FIG. 2 depicts a process 200 for how the probability of a failed transmission may be decreased in accordance with one embodiment of the invention. With real-time wireless transmissions, it is not always feasible to guarantee successful transmission of all data packets. In particular, excessive redundant transmissions can lead to unacceptable latencies. With that said, some data packets can be considered more important than others. Hence, the number of retransmission attempts may be a function of the importance of the packets in question. For example, packets containing Instantaneous Decoder Refresh (IDR) frames may be retransmitted a greater number of times as compared to less important packets, such as those containing predictive frames, or P frames. To that end, process 200 begins at block 210 with the transmission of a data packet. A determination may then be made at block 220 as to whether the packet was received or not. In one embodiment, this determination may be based on whether the destination receiver (e.g., client 145) provided an ACK signal back to the source (e.g., server 135). However, it should equally be appreciated that successful packet delivery may be determined using other means as well.
If it is determined at block 220 that the packet in question was in fact received, then process 200 simply moves to block 230 where the next data packet is processed. If, on the other hand, it is determined that the packet was not properly received, then process 200 may continue to block 240 where a determination is made as to what number of retransmission should be attempted for the given packet. In one embodiment, the number of retransmission attempts is based on the importance of the data contained within the given packet. In another embodiment, the number of retransmissions is made adaptive at all levels at which retransmission is implemented to occur. For example, the number of retransmissions may be made adaptive at the 802.11x MAC layer, as well as at the RTP layer if a form of reliable or semi-reliable RTP retransmission has been implemented.
Once the packet's number of retransmissions has been determined, process 200 will continue to block 250 where it is determined if the packet should be re-sent or not. If the number of retransmission attempts equals zero, then the packet will not be re-sent and process 200 ends. If, on the other hand, the number of retransmission attempts is greater than zero, then process 200 will continue to block 260 where the packet is re-sent, and then the number of remaining retransmission attempts is reduced by 1 (block 270). Once re-sent, a determination must then be made at block 280 as to whether the re-sent packet was received this time. If so, then process 200 simply moves to block 230 where the next data packet is processed. If not, then process 200 moves back to block 250 where it is determined if the packet should be re-sent or not (i.e., determine if the number of retransmission attempts equals zero or not).
Increasing Probability of Successful Decoding
As mentioned above, another aspect of the invention is to increase the probability of successful decoding at the client side of a lossy transmission. To that end, FIG. 3 illustrates one embodiment of a process 300 for improving the decoding of video content transmitted over a lossy network (e.g., network 140). In particular, process 300 begins with a determination of whether or not the number of transmission failures has increased. This may be done, for example, by detecting a decreasing number of ACKs sent by a client side device (e.g., client 145). In one embodiment, a predetermined threshold may be used to compare the number of ACKs against. Once the number of ACKs (or the rate of ACKs received per given time period) falls below the predetermined threshold, process 300 continues to one or more of blocks 310, 320 and 335. That is, portions of process 300 may be carried out concurrently or sequentially. For example, the portions of process 300 which comprise blocks 310-315 may be carried out concurrently with the operations described below with reference to blocks 320-330 and/or blocks 335-345.
Once the number of ACKs (or the rate of ACKs received) falls below the predetermined threshold, the client or decoder-side may signal back to the encoder that it should use multiple reference frames for prediction purposes. For example, in the case of a H.264/AVC encoder, P frames that refer to data in prior frames (or in the case of B frames also future frames) to refer to macroblocks in multiple reference frames in order to determine the macroblocks in the current frame. Hence, if one of the reference frames is missing due to a lossy transmission error, the current frame can still be successfully reconstructed assuming the other reference frames are not also lost.
Thus, by using multiple reference frames (block 315) the probability that a lost frame will cause a cascading effect that leads to corruption of future predicted frames can be effectively decreased. As illustrated by the dashed progress lines leading from block 315, the operations of blocks 310-315 may be performed either concurrently with or sequentially with the operations described below with reference to blocks 320-330 and 335-345.
Regardless of whether sequentially or concurrently performed, at block 320 the server side (e.g., server 135) may identify exactly which slices of the original video stream have not been received at the decoder. In one embodiment, this information is available since the server knows which data packets are lost because a ACK signal would not have been received for the given packet at the 802.11x MAC layer, or which RTP packets are lost at the RTP application layer. Once the missing slices have been identified, process 300 may continue to block 325 where the encoder is notified of exactly which slices (and hence which macroblocks) have not been received by the decoder. Using this information, the encoder (which in one embodiment is an H2.64/AVC encoder) will stop referring to these lost slices/macroblocks in future P and B frames (block 330). In another embodiment, the encoder may also generate additional IDR frames if necessary.
Either currently with or sequentially to the aforementioned operations of process 300, the level of distortion caused by the missing packets may be estimated by the server at block 335. This may be significant since not all lost packets degrade the video equally, specially since many decoders (e.g., H264 decoders) employ error concealment. In one embodiment, the client itself may estimate the distortion of the client's video caused by the lost packets. This may be preferable since the decoder will know exactly how it has implemented possibly proprietary error concealment. In this case, the level of distortion may be communicated back to the server (block 340).
Alternatively, this back channel of communication between the client and server may be unreliable. In that case, an estimate of the error of the final video may also be determined at the server by estimating the error concealment at the client for the given lost slices/packets. The distortion may be estimated by comparing the reconstructed video to the original video which is also available at the server. Regardless of whether the distortion has been estimated on the client side or on the server side, this information may then be used by the encoder to only refer to past pixels that are considered to have been reconstructed adequately by the error concealment at the client (block 345).
In addition to real-time video content, the process 300 of FIG. 3 may also be implemented for pre-stored streams on the server side (such as on a PVR or at a ISP's head-end). In this case, several versions of the same encoded stream can be pre-stored, which can decrease the latency of producing these multiple versions of encoded data on the fly. In other cases where the content is being encoded in real-time, in latency-critical applications it may be preferable to generate multiple encoded streams (e.g., H.264/AVC) simultaneously in a manner that allows switching between them to limit dependencies on any specific lost slices as explained above.
Increasing Quality of Error Concealment
As mentioned above, another aspect of the invention is to increase the quality of error concealment at the client side of a lossy transmission. To that end, FIG. 4 illustrates one embodiment of a process 400 for using error concealment to reduce the distortion of the video content caused by the missing macroblocks. In the case of an H.264/AVC encoder, Flexible Macroblock Ordering (FMO) is available. The reconstruction of IDR frames (on which all successive frames in the picture depend) may be made more robust using the process 400 of FIG. 4. In particular, process 400 begins at block 410 by decomposing each IDR frame into n fields. As will be shown below with reference to FIG. 5, each field may comprise macroblocks spatially separated from other macroblocks by p macroblocks. Hence, all macroblocks of the IDR frame may be included in the n fields without duplication. Thereafter at block 420 each field may be segmented into m slices by the NAL, where size restrictions may be imposed by a wireless network (e.g., 802.11x) link layer.
Once the fields have been segmented into m slices, process 400 may continue to block 430 for all m slices for the first field may be transmitted first, followed by the transmission of all m slices for the second field, and so on until all m slices for all n fields have been transmitted. This form of transmission may be particularly useful for transmissions over a lossy network in which errors are often bursty (e.g., 802.11x), where a short burst of errors might eliminate all m slices for a given field. However, if the m slices for different fields (e.g., 1,3,4, etc.) have been received correctly, then the error concealment functionality of the decoder (e.g., H.264/AVC decoder) will be able to interpolate neighboring pixels to estimate the missing pixels given that the missing macroblocks are spatially adjacent to or surrounded by available macroblocks. This approach avoids the need to transmit duplicate data to compensate for lost packets or slices, hence requiring less bandwidth. In another embodiment, instead of a single macroblock separated by n macroblocks, the single macroblock may itself be expanded to include a group of macroblocks around the original macroblock.
In another embodiment, the encoding process 400 of FIG. 4 may also help the buffer management and streaming stacks to determine which packets of data can be dropped prior to wireless transmission (or after wireless reception) should critical congestion occur at other stages of the network. By dropping a network packet containing one of the fields of the dropping a network packet containing one of the fields of the frame may result in better decoded video quality at the receiver compared to randomly dropping any packet in the original stream. It should further be appreciated that, for specific applications in which spatial multiplexing MIMO wireless technology is used, it is possible to optionally transmit each field on a separate spatial channel to further improve performance.
While the aforementioned process 400 was described in terms of IDR frames, it should further be appreciated that it may be used with any type of data frame containing spatial intra-frame data so long as the available bandwidth and computational resources permit.
Referring now to FIG. 5, depicted is one embodiment of an IDR frame 500 comprised of 4 fields, where the individual macroblock of any one field are spatially separated from each other by p=1 macroblock in both the horizontal and vertical directions. Field # 3, for example, is comprised of all the individual macroblocks labeled “3,” as shown in FIG. 5. In this fashion, Field # 3 may be transmitted in multiple slices/packets so as to reduce the consequence of bursty errors by improving the error concealment functionality on the decoder side.
FIG. 6 depicts another embodiment of an IDR frame 600. However, in the embodiment of FIG. 6, the IDR frame 600 is comprised of a plurality of “super-macroblocks.” In this embodiment, a super-macroblock is made up of 4 individual macroblocks all containing data for the same field. Thus, all super-macroblocks labelled #1, for example, are considered part of Field # 1 and are transmitted as one or more slices in sequence. Thereafter, the same is done for Field #2 (which is correspondingly comprised of the super-macroblocks labelled #2), then Field # 3 and so on. Compared to the macroblock based algorithm of FIG. 5, the super-macroblock algorithm of FIG. 6 will tend to increase encoding efficiency but decrease accuracy of reconstruction at the decoder should a field be lost in transmission.
While the invention has been described in connection with various embodiments, it will be understood that the invention is capable of further modifications. This application is intended to cover any variations, uses or adaptations of the invention following, in general, the principles of the invention, and including such departures from the present disclosure as, within the known and customary practice within the art to which the invention pertains.

Claims (29)

What is claimed is:
1. A method comprising:
transmitting a plurality of encoded data packets over a wireless network;
receiving acknowledgment signals for each of said plurality of encoded data packets when successfully transmitted; and
determining if a number of transmission failures exceeds a predetermined threshold, and if so,
signaling that multiple reference frames should be used for encoding predictions.
2. The method of claim 1, wherein said plurality of encoded data packets are encoded according to an H.264/AVC coding standard.
3. The method of claim 2, wherein said wireless network is a lossy wireless network.
4. The method of claim 1, further comprising determining a number of retransmission attempts for a particular encoded data packet if not successfully transmitted, wherein said number of retransmission attempts is based at least in part on a type of data in said encoded data packet.
5. The method of claim 4, wherein said number of retransmission attempts increases when said type of data in said particular encoded data packet is Instantaneous Decoder Refresh (IDR) frame data.
6. The method of claim 1, wherein determining the number of transmission failures exceeds the predetermined threshold comprises detecting a decrease in a number of acknowledgment signals being sent.
7. The method of claim 1, further comprising:
identifying one or more slices of said plurality of encoded data packets which were not successfully transmitted; and
ceasing to refer to said one or more slices when encoding subsequent frames of said encoded video data.
8. The method of claim 1, further comprising:
estimating a distortion level caused by the unsuccessful receipt of a plurality of lost data packets transmitted over said network; and
encoding additional video data using said distortion level to avoid referencing
said plurality of lost data packets.
9. A system comprising:
a wireless network;
a client coupled to said wireless network, said client including a decoder and a receiver;
a server coupled to said wireless network, said sever including an encoder and a transmitter, wherein said server is to,
transmit a plurality of encoded data packets over the wireless network to said client;
receive acknowledgment signals for each of said plurality of encoded data packets when successfully transmitted to said client; and
determine if a number of transmission failures exceeds a predetermined threshold, and if so,
signal that multiple reference frames should be used for encoding predictions.
10. The system of claim 9, wherein said plurality of encoded data packets are encoded according to an H.264/AVC coding standard.
11. The system of claim 10, wherein said wireless network is a lossy wireless network.
12. The system of claim 9, wherein said server is to further determine a number of retransmission attempts for a particular encoded data packet if not successfully transmitted, wherein said number of retransmission attempts is based at least in part on a type of data in said encoded data packet.
13. The system of claim 12, wherein said number of retransmission attempts increases when said type of data in said particular encoded data packet is Instantaneous Decoder Refresh (IDR) frame data.
14. The system of claim 9, wherein determining the number of transmission failures exceeds the predetermined threshold comprises detecting a decrease in a number of acknowledgment signals being sent.
15. The system of claim 9, wherein said server is to further,
identify one or more slices of said plurality of encoded data packets which were not successfully transmitted; and
cease to refer to said one or more slices when encoding subsequent frames of said encoded video data.
16. The system of claim 9, wherein said server is to further,
estimate a distortion level caused by the unsuccessful receipt of a plurality of lost data packets transmitted over said network; and
encode additional video data using said distortion level to avoid referencing said plurality of lost data packets.
17. A system comprising:
a server in communication with a wireless network, the server being configured to:
encode a plurality of data packets including a plurality of frames associated with video content;
transmit the plurality of encoded data packets to a client connected to the wireless network;
decompose each of the frames into a plurality of fields;
segment each of the fields into a plurality of slices;
transmit each of the slices associated with a first of the fields over the wireless network to the client; and
transmit each of the slices associated with a second of the fields over the wireless network to the client after transmission of each of the slices associated with the first of the fields.
18. The system of claim 17, wherein the plurality of encoded video data packets are encoded according to an H.264/AVC coding standard.
19. The system of claim 17, wherein the wireless network is a lossy wireless network.
20. The system of claim 17, wherein each of the frames is an Instantaneous Decoder Refresh (IDR) frame.
21. The system of claim 20, wherein each of the fields comprises a plurality of macroblocks, the macroblocks being spatially separated from one another by p macroblocks.
22. The system of claim 21, wherein all macroblocks of the IDR frame are included in the plurality of fields.
23. The system of claim 17, wherein the server is further configured to identify macroblocks not received by the client from the server and interpolate neighboring pixels to estimate pixels of the macroblocks not received by the client.
24. The system of claim 17, wherein the server is further configured to determine which of the video data packets are not to be transmitted from the server to the client due to congestion of the wireless network.
25. The system of claim 17, wherein the server is further configured to transmit each of the plurality of fields on a separate spatial channel.
26. The system of claim 17, wherein the server includes an encoder adapted to encode the plurality of data packets including a plurality of frames associated with video content.
27. The system of claim 17, further comprising a transmitter adapted to transmit each of the slices associated with the first of the fields over the wireless network to the client; and transmit each of the slices associated with the second of the fields over the wireless network to the client after transmission of each of the slices associated with the first of the fields.
28. The system of claim 27, wherein the server includes the transmitter.
29. The system of claim 27, wherein the transmitter is separate from the server.
US14/147,467 2005-08-05 2014-01-03 Systems and methods for transmitting data over lossy networks Active 2026-09-04 USRE46167E1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/147,467 USRE46167E1 (en) 2005-08-05 2014-01-03 Systems and methods for transmitting data over lossy networks

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/197,818 US7747921B2 (en) 2005-08-05 2005-08-05 Systems and methods for transmitting data over lossy networks
US12/770,464 US8429476B2 (en) 2005-08-05 2010-04-29 Systems and methods for transmitting data over lossy networks
US14/147,467 USRE46167E1 (en) 2005-08-05 2014-01-03 Systems and methods for transmitting data over lossy networks

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/770,464 Reissue US8429476B2 (en) 2005-08-05 2010-04-29 Systems and methods for transmitting data over lossy networks

Publications (1)

Publication Number Publication Date
USRE46167E1 true USRE46167E1 (en) 2016-09-27

Family

ID=37727843

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/197,818 Expired - Fee Related US7747921B2 (en) 2005-08-05 2005-08-05 Systems and methods for transmitting data over lossy networks
US12/770,464 Active 2026-09-04 US8429476B2 (en) 2005-08-05 2010-04-29 Systems and methods for transmitting data over lossy networks
US14/147,467 Active 2026-09-04 USRE46167E1 (en) 2005-08-05 2014-01-03 Systems and methods for transmitting data over lossy networks

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US11/197,818 Expired - Fee Related US7747921B2 (en) 2005-08-05 2005-08-05 Systems and methods for transmitting data over lossy networks
US12/770,464 Active 2026-09-04 US8429476B2 (en) 2005-08-05 2010-04-29 Systems and methods for transmitting data over lossy networks

Country Status (7)

Country Link
US (3) US7747921B2 (en)
EP (1) EP1911227A4 (en)
JP (2) JP2009504092A (en)
KR (1) KR20080063750A (en)
CN (1) CN102017539A (en)
CA (1) CA2618464A1 (en)
WO (1) WO2007019093A2 (en)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060271990A1 (en) * 2005-05-18 2006-11-30 Rodriguez Arturo A Higher picture rate HD encoding and transmission with legacy HD backward compatibility
US7962641B1 (en) * 2005-09-30 2011-06-14 Cleversafe, Inc. Streaming media software interface to a dispersed data storage network
US7965771B2 (en) * 2006-02-27 2011-06-21 Cisco Technology, Inc. Method and apparatus for immediate display of multicast IPTV over a bandwidth constrained network
US8031701B2 (en) 2006-09-11 2011-10-04 Cisco Technology, Inc. Retransmission-based stream repair and stream join
US8769591B2 (en) * 2007-02-12 2014-07-01 Cisco Technology, Inc. Fast channel change on a bandwidth constrained network
KR20080082843A (en) * 2007-03-09 2008-09-12 삼성전자주식회사 Method and apparatus for compensating for packet loss
US20080253369A1 (en) 2007-04-16 2008-10-16 Cisco Technology, Inc. Monitoring and correcting upstream packet loss
US8457214B2 (en) * 2007-09-10 2013-06-04 Cisco Technology, Inc. Video compositing of an arbitrary number of source streams using flexible macroblock ordering
US8787153B2 (en) 2008-02-10 2014-07-22 Cisco Technology, Inc. Forward error correction based data recovery with path diversity
US9312989B2 (en) * 2008-07-07 2016-04-12 Cisco Technology, Inc. Importance-based FEC-aware error-repair scheduling
US8819011B2 (en) 2008-07-16 2014-08-26 Cleversafe, Inc. Command line interpreter for accessing a data object stored in a distributed storage network
US8423854B2 (en) * 2009-03-02 2013-04-16 Clearwire Ip Holdings Llc Communication retransmission based on transmission performance relative to expected quality of service
CN101883240B (en) * 2010-06-09 2012-02-22 广东威创视讯科技股份有限公司 Video conference system based on MCU (Microprogrammed Control Unit) and video transmission lost packet processing method thereof
KR101744355B1 (en) * 2011-01-19 2017-06-08 삼성전자주식회사 Apparatus and method for tranmitting a multimedia data packet using cross layer optimization
US8868695B2 (en) * 2011-03-02 2014-10-21 Cleversafe, Inc. Configuring a generic computing device utilizing specific computing device operation information
US11159804B1 (en) * 2012-09-13 2021-10-26 Arris Enterprises Llc QoE feedback based intelligent video transport stream tuning
KR101407832B1 (en) * 2012-12-12 2014-06-18 조선대학교산학협력단 Error resilient reference selection for Video Codec using multiple reference frames
US9510022B2 (en) * 2012-12-12 2016-11-29 Intel Corporation Multi-layer approach for frame-missing concealment in a video decoder
CN103814582B (en) * 2013-11-05 2017-06-20 华为技术有限公司 Video service data transmission and data sending device
CN104702970A (en) * 2015-03-26 2015-06-10 无锡天脉聚源传媒科技有限公司 Video data synchronization method, device and system
US10567703B2 (en) 2017-06-05 2020-02-18 Cisco Technology, Inc. High frame rate video compatible with existing receivers and amenable to video decoder implementation
US11233716B2 (en) * 2018-03-28 2022-01-25 Arlo Technologies, Inc. System for real-time monitoring with backward error correction
CN108900863B (en) * 2018-07-02 2021-01-15 宇龙计算机通信科技(深圳)有限公司 Video image generation method and device and electronic equipment
JP7208465B2 (en) * 2018-07-12 2023-01-19 日本電信電話株式会社 Wireless communication system, control method, control device and control program
KR102447130B1 (en) * 2020-11-05 2022-09-26 국민대학교산학협력단 Target file detection device and method based on network packet analysis

Citations (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3728681A (en) * 1972-01-06 1973-04-17 Collins Radio Co Data loop communication priority establishing apparatus
US3810100A (en) * 1971-12-16 1974-05-07 Collins Radio Co Looped direct switching system
US3934224A (en) * 1974-10-29 1976-01-20 Honeywell Information Systems, Inc. Apparatus for continuous assessment of data transmission accuracy in a communication system
US4383315A (en) * 1981-07-20 1983-05-10 Bell Telephone Laboratories, Incorporated Idle time slot seizure and transmission facilities for loop communication system
US4633462A (en) * 1983-07-18 1986-12-30 The Board Of Trustees Of The University Of Illinois Multiple access communication on a CATV reverse channel
US4835731A (en) * 1987-08-14 1989-05-30 General Electric Company Processor-to-processor communications protocol for a public service trunking system
US5020132A (en) * 1987-08-14 1991-05-28 Ericsson Ge Mobile Communications Inc. Processor-to-processor communications protocol for a public service trunking system
US5128930A (en) * 1987-08-14 1992-07-07 General Electric Company Processor-to-processor communications protocol for a public service trunking system
US5164942A (en) * 1990-09-06 1992-11-17 Ncr Corporation Antenna control for a wireless local area network station
US5191585A (en) * 1989-03-02 1993-03-02 Secom Information Products Company Computer networking method
US5206863A (en) * 1987-08-14 1993-04-27 General Electric Company Processor-to-processor communications protocol for a public service trunking system
US5212724A (en) * 1987-08-14 1993-05-18 General Electric Company Processor-to-processor communications protocol for a public service trunking system
US5339316A (en) * 1992-11-13 1994-08-16 Ncr Corporation Wireless local area network system
US5357525A (en) * 1991-04-02 1994-10-18 The Furukawa Electric Co., Ltd. Multiplex transmission system
US5453987A (en) * 1994-02-15 1995-09-26 The Mitre Corporation Random access protocol for multi-media networks
US5502733A (en) * 1991-03-08 1996-03-26 Matsushita Electric Industrial Co., Ltd. Data transfer device
US5550847A (en) * 1994-10-11 1996-08-27 Motorola, Inc. Device and method of signal loss recovery for realtime and/or interactive communications
JPH0937245A (en) 1995-07-14 1997-02-07 Oki Electric Ind Co Ltd Moving image transmission system and moving image transmitter
JPH0937425A (en) 1995-07-19 1997-02-07 Kinden:Kk Cable support and overhead cable holder
US5646686A (en) * 1994-10-11 1997-07-08 Hitachi America, Ltd. Methods and apparatus for reducing drift in video decoders
US5703570A (en) * 1995-08-16 1997-12-30 Motorola, Inc. Method and apparatus for indicating undelivered messages in a communication device
US5768533A (en) 1995-09-01 1998-06-16 National Semiconductor Corporation Video coding using segmented frames and retransmission to overcome channel errors
US5963559A (en) * 1995-10-31 1999-10-05 Nec Corporation Radio transmission with a slow transmission mode used when retransmission of a data frame fails even repeated
US6088342A (en) * 1997-05-05 2000-07-11 Nokia Mobile Phones Limited Dynamic configuration of radio link protocol in a telecommunications system
JP2001119437A (en) 1998-11-30 2001-04-27 Matsushita Electric Ind Co Ltd Data transmission method, data transmitter, data receiver and packet data structure
JP2001156782A (en) 1999-11-25 2001-06-08 Toyota Autom Loom Works Ltd Method for transmitting data to a plurality of destinations
US6256334B1 (en) * 1997-03-18 2001-07-03 Fujitsu Limited Base station apparatus for radiocommunication network, method of controlling communication across radiocommunication network, radiocommunication network system, and radio terminal apparatus
US6289054B1 (en) 1998-05-15 2001-09-11 North Carolina University Method and systems for dynamic hybrid packet loss recovery for video transmission over lossy packet-based network
US6400695B1 (en) * 1998-05-22 2002-06-04 Lucent Technologies Inc. Methods and apparatus for retransmission based access priority in a communications system
US6430661B1 (en) * 1999-06-28 2002-08-06 Legerity, Inc. Method and apparatus for accessing variable sized data with prioritization
US20030009717A1 (en) 1998-11-30 2003-01-09 Hideaki Fukushima Data transmission method, data transmission apparatus, data receiving apparatus, and packet data structure
US20030112754A1 (en) 2001-12-14 2003-06-19 Rohit Ramani Technique for improving transmission control protocol performance in lossy networks
US6594240B1 (en) * 1998-05-22 2003-07-15 Lucent Technologies Inc. Methods and apparatus for random backoff based access priority in a communications system
US6643318B1 (en) * 1999-10-26 2003-11-04 Golden Bridge Technology Incorporated Hybrid DSMA/CDMA (digital sense multiple access/code division multiple access) method with collision resolution for packet communications
US6674765B1 (en) * 1998-05-22 2004-01-06 Lucent Technologies Inc. Methods and apparatus for random chip delay access priority in a communications system
US20040013409A1 (en) * 2002-04-26 2004-01-22 Brian Beach Smart broadcast program recording padding and scheduling system
US6693907B1 (en) 2000-04-11 2004-02-17 Sun Microsystems, Inc. Method and system for measuring reception characteristics in a multicast data distribution group
US20040032853A1 (en) 2002-08-16 2004-02-19 D'amico Thomas Victor Method and apparatus for reliably communicating information packets in a wireless communication network
US6708107B2 (en) * 2002-04-02 2004-03-16 Lockheed Martin Corporation Real-time ad hoc traffic alert distribution
AU2004203324A1 (en) 1999-04-02 2004-08-19 Qualcomm Incorporated System and method for prioritizing traffic channel messages
WO2004075555A1 (en) 2003-02-18 2004-09-02 Nokia Corporation Picture coding method
US6792286B1 (en) * 1999-06-28 2004-09-14 Legerity, Inc. Apparatus for transmitting and receiving signals
US20040218816A1 (en) * 2003-04-30 2004-11-04 Nokia Corporation Picture coding method
US20050031097A1 (en) 1999-04-13 2005-02-10 Broadcom Corporation Gateway with voice
US7031273B2 (en) * 2004-04-23 2006-04-18 Motorola, Inc. Session initiation protocol retransmission method
US7061942B2 (en) * 2002-05-31 2006-06-13 Skystream Networks Inc. Apparatus for redundant multiplexing and remultiplexing of program streams and best effort data
JP2006165733A (en) 2004-12-03 2006-06-22 Matsushita Electric Ind Co Ltd Wireless video image transmission apparatus
US7131048B2 (en) * 2001-07-10 2006-10-31 Hitachi, Ltd. Apparatus for system decoder and method for error correction of packet data
US7158473B2 (en) * 2003-05-16 2007-01-02 Matsushita Electric Industrial Co., Ltd. Transmitting/receiving apparatus, method, program, recording medium, and integrated circuit used in communication network
US7184421B1 (en) * 2001-12-21 2007-02-27 Itt Manufacturing Enterprises, Inc. Method and apparatus for on demand multicast and unicast using controlled flood multicast communications
US7243284B2 (en) * 2003-12-11 2007-07-10 International Business Machines Corporation Limiting number of retransmission attempts for data transfer via network interface controller
US7355976B2 (en) * 2004-02-09 2008-04-08 Texas Instruments Incorporated Method and apparatus for providing retry control, buffer sizing and management

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2750717B2 (en) * 1988-12-15 1998-05-13 国際電信電話 株式会社 Image transmission error correction method
JPH0482436A (en) * 1990-07-25 1992-03-16 Pfu Ltd Packet transmission control system
JP2830948B2 (en) * 1990-09-06 1998-12-02 株式会社日立製作所 Image signal coding method
JP2001268058A (en) * 2000-03-17 2001-09-28 Hitachi Kokusai Electric Inc Data transmission system
EP1233594B1 (en) * 2000-10-13 2011-12-07 Sony Corporation Data communication quality control system, transmitter system and receiver
JP3757857B2 (en) * 2001-12-12 2006-03-22 ソニー株式会社 Data communication system, data transmission apparatus, data reception apparatus and method, and computer program
JP3929876B2 (en) * 2002-11-12 2007-06-13 松下電器産業株式会社 Wireless video transmission device
JP2005020528A (en) * 2003-06-27 2005-01-20 Toshiba Corp Radio equipment
US7631239B2 (en) * 2003-12-29 2009-12-08 Electronics And Telecommunications Research Institute Method for retransmitting packet in mobile communication system and computer-readable medium recorded program thereof

Patent Citations (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3810100A (en) * 1971-12-16 1974-05-07 Collins Radio Co Looped direct switching system
US3728681A (en) * 1972-01-06 1973-04-17 Collins Radio Co Data loop communication priority establishing apparatus
US3934224A (en) * 1974-10-29 1976-01-20 Honeywell Information Systems, Inc. Apparatus for continuous assessment of data transmission accuracy in a communication system
US4383315A (en) * 1981-07-20 1983-05-10 Bell Telephone Laboratories, Incorporated Idle time slot seizure and transmission facilities for loop communication system
US4633462A (en) * 1983-07-18 1986-12-30 The Board Of Trustees Of The University Of Illinois Multiple access communication on a CATV reverse channel
US5020132A (en) * 1987-08-14 1991-05-28 Ericsson Ge Mobile Communications Inc. Processor-to-processor communications protocol for a public service trunking system
US5128930A (en) * 1987-08-14 1992-07-07 General Electric Company Processor-to-processor communications protocol for a public service trunking system
US5206863A (en) * 1987-08-14 1993-04-27 General Electric Company Processor-to-processor communications protocol for a public service trunking system
US5212724A (en) * 1987-08-14 1993-05-18 General Electric Company Processor-to-processor communications protocol for a public service trunking system
US4835731A (en) * 1987-08-14 1989-05-30 General Electric Company Processor-to-processor communications protocol for a public service trunking system
US5191585A (en) * 1989-03-02 1993-03-02 Secom Information Products Company Computer networking method
US5164942A (en) * 1990-09-06 1992-11-17 Ncr Corporation Antenna control for a wireless local area network station
US5502733A (en) * 1991-03-08 1996-03-26 Matsushita Electric Industrial Co., Ltd. Data transfer device
US5357525A (en) * 1991-04-02 1994-10-18 The Furukawa Electric Co., Ltd. Multiplex transmission system
US5339316A (en) * 1992-11-13 1994-08-16 Ncr Corporation Wireless local area network system
US5453987A (en) * 1994-02-15 1995-09-26 The Mitre Corporation Random access protocol for multi-media networks
US5646686A (en) * 1994-10-11 1997-07-08 Hitachi America, Ltd. Methods and apparatus for reducing drift in video decoders
US5550847A (en) * 1994-10-11 1996-08-27 Motorola, Inc. Device and method of signal loss recovery for realtime and/or interactive communications
US5847763A (en) 1995-07-14 1998-12-08 Oki Electric Industry Co., Ltd. Moving picture transmission system and moving picture transmission apparatus
JPH0937245A (en) 1995-07-14 1997-02-07 Oki Electric Ind Co Ltd Moving image transmission system and moving image transmitter
JPH0937425A (en) 1995-07-19 1997-02-07 Kinden:Kk Cable support and overhead cable holder
US5703570A (en) * 1995-08-16 1997-12-30 Motorola, Inc. Method and apparatus for indicating undelivered messages in a communication device
US5768533A (en) 1995-09-01 1998-06-16 National Semiconductor Corporation Video coding using segmented frames and retransmission to overcome channel errors
US5963559A (en) * 1995-10-31 1999-10-05 Nec Corporation Radio transmission with a slow transmission mode used when retransmission of a data frame fails even repeated
US6256334B1 (en) * 1997-03-18 2001-07-03 Fujitsu Limited Base station apparatus for radiocommunication network, method of controlling communication across radiocommunication network, radiocommunication network system, and radio terminal apparatus
US6088342A (en) * 1997-05-05 2000-07-11 Nokia Mobile Phones Limited Dynamic configuration of radio link protocol in a telecommunications system
US6289054B1 (en) 1998-05-15 2001-09-11 North Carolina University Method and systems for dynamic hybrid packet loss recovery for video transmission over lossy packet-based network
US6594240B1 (en) * 1998-05-22 2003-07-15 Lucent Technologies Inc. Methods and apparatus for random backoff based access priority in a communications system
US6674765B1 (en) * 1998-05-22 2004-01-06 Lucent Technologies Inc. Methods and apparatus for random chip delay access priority in a communications system
US6400695B1 (en) * 1998-05-22 2002-06-04 Lucent Technologies Inc. Methods and apparatus for retransmission based access priority in a communications system
JP2001119437A (en) 1998-11-30 2001-04-27 Matsushita Electric Ind Co Ltd Data transmission method, data transmitter, data receiver and packet data structure
US6587985B1 (en) 1998-11-30 2003-07-01 Matsushita Electric Industrial Co., Ltd. Data transmission method, data transmission apparatus, data receiving apparatus, and packet data structure
US20030009717A1 (en) 1998-11-30 2003-01-09 Hideaki Fukushima Data transmission method, data transmission apparatus, data receiving apparatus, and packet data structure
AU2004203324A1 (en) 1999-04-02 2004-08-19 Qualcomm Incorporated System and method for prioritizing traffic channel messages
US20050031097A1 (en) 1999-04-13 2005-02-10 Broadcom Corporation Gateway with voice
US6430661B1 (en) * 1999-06-28 2002-08-06 Legerity, Inc. Method and apparatus for accessing variable sized data with prioritization
US6792286B1 (en) * 1999-06-28 2004-09-14 Legerity, Inc. Apparatus for transmitting and receiving signals
US6643318B1 (en) * 1999-10-26 2003-11-04 Golden Bridge Technology Incorporated Hybrid DSMA/CDMA (digital sense multiple access/code division multiple access) method with collision resolution for packet communications
JP2001156782A (en) 1999-11-25 2001-06-08 Toyota Autom Loom Works Ltd Method for transmitting data to a plurality of destinations
US6693907B1 (en) 2000-04-11 2004-02-17 Sun Microsystems, Inc. Method and system for measuring reception characteristics in a multicast data distribution group
US7131048B2 (en) * 2001-07-10 2006-10-31 Hitachi, Ltd. Apparatus for system decoder and method for error correction of packet data
US20030112754A1 (en) 2001-12-14 2003-06-19 Rohit Ramani Technique for improving transmission control protocol performance in lossy networks
US7184421B1 (en) * 2001-12-21 2007-02-27 Itt Manufacturing Enterprises, Inc. Method and apparatus for on demand multicast and unicast using controlled flood multicast communications
US6708107B2 (en) * 2002-04-02 2004-03-16 Lockheed Martin Corporation Real-time ad hoc traffic alert distribution
US20040013409A1 (en) * 2002-04-26 2004-01-22 Brian Beach Smart broadcast program recording padding and scheduling system
US7061942B2 (en) * 2002-05-31 2006-06-13 Skystream Networks Inc. Apparatus for redundant multiplexing and remultiplexing of program streams and best effort data
US20040032853A1 (en) 2002-08-16 2004-02-19 D'amico Thomas Victor Method and apparatus for reliably communicating information packets in a wireless communication network
US6741554B2 (en) 2002-08-16 2004-05-25 Motorola Inc. Method and apparatus for reliably communicating information packets in a wireless communication network
WO2004075555A1 (en) 2003-02-18 2004-09-02 Nokia Corporation Picture coding method
US20040218816A1 (en) * 2003-04-30 2004-11-04 Nokia Corporation Picture coding method
US7158473B2 (en) * 2003-05-16 2007-01-02 Matsushita Electric Industrial Co., Ltd. Transmitting/receiving apparatus, method, program, recording medium, and integrated circuit used in communication network
US7243284B2 (en) * 2003-12-11 2007-07-10 International Business Machines Corporation Limiting number of retransmission attempts for data transfer via network interface controller
US7355976B2 (en) * 2004-02-09 2008-04-08 Texas Instruments Incorporated Method and apparatus for providing retry control, buffer sizing and management
US7031273B2 (en) * 2004-04-23 2006-04-18 Motorola, Inc. Session initiation protocol retransmission method
JP2006165733A (en) 2004-12-03 2006-06-22 Matsushita Electric Ind Co Ltd Wireless video image transmission apparatus

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
Extended European Search Report for European Application No. 06800504 mailed from the European Patent Office on Jan. 7, 2013.
Notice of Allowance from U.S. Appl. No. 12/770,464 mailed Oct. 24, 2011.
Notice of Allowance from U.S. Appl. No. 12/770,646 mailed Dec. 20, 2012.
Notice of Last Preliminary Rejection for Korean Patent Application No. 10-2008-7005355 mailed from Korean Intellectual Property Office on Dec. 5, 2012.
Notice of Preliminary Rejection for Korean Patent Application No. 10-2008-7005355 mailed from Korean Intellectual Property Office on Sep. 14, 2012.
PCT Search Report for PCT/US06/29569 mailed Sep. 26, 2007.
R. Schaefer et al.; "The emerging H.264/AVC standard"; EBU Technical Review, Jan. 2003, p. 1-12, http://tech.ebu.ch/docs/techreview/trev-293-schaefer.pdf.

Also Published As

Publication number Publication date
WO2007019093A3 (en) 2007-12-06
CN102017539A (en) 2011-04-13
CA2618464A1 (en) 2007-02-15
US20070058635A1 (en) 2007-03-15
US8429476B2 (en) 2013-04-23
WO2007019093A2 (en) 2007-02-15
US20100211843A1 (en) 2010-08-19
EP1911227A4 (en) 2013-01-30
JP2009504092A (en) 2009-01-29
KR20080063750A (en) 2008-07-07
US7747921B2 (en) 2010-06-29
EP1911227A2 (en) 2008-04-16
JP2013070436A (en) 2013-04-18

Similar Documents

Publication Publication Date Title
USRE46167E1 (en) Systems and methods for transmitting data over lossy networks
US8005028B2 (en) Data communication system, data transmitting device, data transmitting method, data receiving device, and data receiving method
US7502818B2 (en) Data communications system, data sender, data receiver, data communications method, and computer program
JP4982024B2 (en) Video encoding method
US8472520B2 (en) Systems and methods for transmitting and receiving data streams with feedback information over a lossy network
US8094548B2 (en) Transmission format, communication control apparatus and method, recording medium, and program
US8730953B2 (en) Method and system for communicating video data in a packet-switched network, related network and computer program product therefor
US20090103635A1 (en) System and method of unequal error protection with hybrid arq/fec for video streaming over wireless local area networks
US20060188025A1 (en) Error concealment
KR20050122281A (en) Picture coding method
JP5207895B2 (en) Transmitting apparatus, receiving apparatus, method, and program
US7802168B1 (en) Adapting encoded data to overcome loss of data
JP2005033556A (en) Data transmitter, data transmitting method, data receiver, data receiving method
JP2011172153A (en) Media encoding and transmitting apparatus
KR100363550B1 (en) Encoder and decoder in a wireless terminal for retransmitting a moving picture
JP2000253380A (en) Data transmitter
EP1648171A1 (en) A method of encoding and decoding of data packets using length field

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

CC Certificate of correction
MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8