CA2566125C - Header compression of multimedia data transmitted over a wireless communication system - Google Patents
Header compression of multimedia data transmitted over a wireless communication system Download PDFInfo
- Publication number
- CA2566125C CA2566125C CA2566125A CA2566125A CA2566125C CA 2566125 C CA2566125 C CA 2566125C CA 2566125 A CA2566125 A CA 2566125A CA 2566125 A CA2566125 A CA 2566125A CA 2566125 C CA2566125 C CA 2566125C
- Authority
- CA
- Canada
- Prior art keywords
- header
- physical layer
- size
- wireless communication
- data
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/166—IP fragmentation; TCP segmentation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/321—Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/164—Feedback from the receiver or from the transmission channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2381—Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/41407—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6131—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a mobile phone network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/61—Network physical structure; Signal processing
- H04N21/6156—Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
- H04N21/6181—Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via a mobile phone network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64707—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless for transferring content from a first network to a second network, e.g. between IP and wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
- H04W28/065—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/04—Wireless resource allocation
- H04W72/044—Wireless resource allocation based on the type of the allocated resource
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/18—Service support devices; Network management devices
- H04W88/181—Transcoding devices; Rate adaptation devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/12—Wireless traffic scheduling
- H04W72/1263—Mapping of traffic onto schedule, e.g. scheduled allocation or multiplexing of flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/04—Large scale networks; Deep hierarchical networks
Abstract
Methods and apparatus are described for improving the transmission of multimedia data over wireless communication channels. These techniques include determining a physical layer packet size of the wireless communication system and determining a maximum size of a compressed header. Then, partitioning an information unit, wherein the size of the partitions are selected such that after a partition is encoded the aggregate size of the encoded partition and the compressed header are the size of the physical layer packet, or less. The techniques can be used for various types of information units, such as multimedia data, variable bit rate data streams, video streams, video teleconference stream, or voice over IP. The techniques can also be used with various over the air interfaces, such as, Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Enhanced Data GSM
Environment (EDGE), or standards based on CDMA such as TIA/EIA-95-B (IS-95), TIA/EIA-98-C (IS-98), IS2000, HRDP, cdma2000, Wideband CDMA (WCDMA), and others.
Environment (EDGE), or standards based on CDMA such as TIA/EIA-95-B (IS-95), TIA/EIA-98-C (IS-98), IS2000, HRDP, cdma2000, Wideband CDMA (WCDMA), and others.
Description
HEADER COMPRESSION OF MULTIMEDIA DATA TRANSMITTED OVER
A WIRELESS COMMUNICATION SYSTEM
BACKGROUND
1. Field [0003] The present invention relates generally to delivery of streaming data over a wireless communication system, and more specifically, to transmission of multimedia data over a wireless communication system.
II. Background [0004] Demand for the delivery of multimedia data over various communication networks is increasing. For example, consumers desire the delivery of streaming video over various communication channels, such as the Internet, wire-line and radio networks. Multimedia data can be different formats and data rates, and the various communication networks use different mechanisms for transmission of real time data over their respective communication channels.
[0005] One type of communication network that has become commonplace is mobile radio networks for wireless communications. Wireless communication systems have many applications including, for example, cellular telephones, paging, wireless local loops, personal digital assistants (PDAs), Internet telephony, and satellite communication systems. A particularly important application is cellular telephone systems for mobile subscribers. As used herein, the term "cellular" system encompasses both cellular and personal communications services (PCS) frequencies.
Various over-the-air interfaces have been developed for such cellular telephone systems including frequency division multiple access (FDMA), time division multiple access (TDMA), and code division multiple access (CDMA).
[0006] Different domestic and international standards have been established to support the various air interfaces including, for example, Advanced Mobile Phone Service (AMPS), Global System for Mobile (GSM), General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), Interim Standard 95 (IS-95) and its derivatives, IS-95A, IS-95B, ANSI J-STD-008 (often referred to collectively herein as IS-95), and emerging high-data-rate systems such as cdma 2000, Universal Mobile Telecommunications Service (UMTS), wideband CDMA (WCDMA), and others.
These standards are promulgated by the Telecommunication Industry Association (TIA), 3rd Generation partnership Project (3GPP), European Telecommunication Standards Institute (ETSI), and other well-known standards bodies.
[0007] Users, or customers, of mobile radio networks, such as cellular telephone networks, would like to receive streaming media such as video, multimedia, and Internet Protocol (IP) over a wireless communication link. For example, customers desire to be able to receive streaming video, such as a teleconference or television broadcasts, on their cell phone or other portable wireless communication device. Other examples of the type of data that customers desire to receive with their wireless communication device include multimedia multicast/broadcast and Internet access.
[0008] A protocol that provides a mechanism to stream real time data over an IP
network is the real-time transport protocol (RTP). RTP is a flexible protocol for transmitting real time data, such as audio and video over an IP network. It is desirable to use RTP to stream real-time data to wireless communication devices.
[0009] Typically, in RTP, streaming data is encoded into data packets. The RTP data packets include routing and sequencing information appended to each packet. The appended routing and sequencing information is commonly referred to as a header. Due to the limited resources available in a wireless communication system, such as limited bandwidth, it is desirable to reduce the amount of data that is transmitted.
[0010] Thus, there is therefore a need in the art for techniques and apparatus that can reduce the amount of data that is transmitted in a wireless communication system during the transmission of streaming data, such as multimedia data and VoIP.
SUMMARY
According to one aspect of the present invention, there is provided a method of transmitting data over a wireless communication system, the method comprising: determining a physical layer packet size of the wireless communication system from a set of physical layer packet sizes related to data encoding rates available; determining a maximum size of a compressed header based on supported compression schemes identified as usable within the wireless communication system; and partitioning an information unit based on the physical layer packet size and the maximum size of the compressed header, wherein partitions are sized such that after a partition is encoded an aggregate size of each encoded partition and an associated compressed header is no greater than the physical layer packet size.
According to another aspect of the present invention, there is provided a method of transmitting multimedia data over a wireless communication system, the method comprising: determining a set of possible physical layer data packet sizes of available communication channels, each possible physical layer data packet size corresponding to an encoding rate; selecting a physical layer packet size corresponding to a related encoding rate from the set of possible 3a physical layer data packet sizes; determining a maximum size of a compressed header based on supported compression schemes identified as usable within the wireless communication system; partitioning a frame of multimedia data into partitions based on the physical layer packet size and the maximum size of the compressed header, wherein partition sizes are selected so that an aggregate size of a partition plus the maximum size of the compressed header match the physical layer packet size; and encoding the partition at the related encoding rate, appending the compressed header and transmitting the encoded partition with the appended compressed header.
According to still another aspect of the present invention, there is provided a wireless communication device comprising: a processor configured to determine possible data packet sizes of available communication channels from a set of data packet sizes related to data encoding rates available and a maximum size of a compressed header based on supported compression schemes identified as usable by the wireless communication device; an encoder configured to partition multimedia data into partitions based on determined data packet size and maximum size of the compressed header, wherein partition sizes are selected so that an aggregate size of a partition plus the maximum size of a compressed header match one possible data packet size, encode the partition at an encoding rate corresponding to the determined data packet size, and append the compressed header; and a transmitter configured to transmit the partition with the appended compressed header.
According to yet another aspect of the present invention, there is provided a computer readable medium having stored thereon computer readable instructions for performing a method of encoding data, the computer readable instructions including instructions for performing operations comprising:
determining a physical layer packet size of a wireless communication system from a set of physical layer packet sizes related to data encoding rates available;
determining a maximum size of a compressed header based on supported compression schemes indentified as usable within the wireless communication system; and partitioning an information unit based on the physical layer packet size and the maximum size of the compressed header, wherein partition sizes are 3b selected such that after a partition is encoded an aggregate size of the encoded partition and the compressed header is no greater than the physical layer packet size.
According to a further aspect of the present invention, there is provided a computer readable medium having stored thereon computer readable instructions for performing a method of transmitting multimedia data over a wireless communication system, the computer readable instructions including instructions for performing operations comprising: determining a set of possible physical layer data packet sizes of available communication channels, each possible physical layer data packet size corresponding to an encoding rate;
selecting a physical layer packet size corresponding to a related encoding rate from the set of possible physical layer data packet sizes; determining a maximum size of a compressed header based on supported compression schemes indentified as usable within the wireless communication system; partitioning a frame of multimedia data into partitions based on the physical layer packet size and the maximum size of the compressed header, wherein partition sizes are selected so that an aggregate size of a partition plus the maximum size of the compressed header match the physical layer packet size; and encoding the partition at the related encoding rate, appending the compressed header and transmitting the encoded partition with the appended header.
According to yet a further aspect of the present invention, there is provided an apparatus configured to transmit multimedia data over a wireless communication system, the apparatus comprising: means for determining a set of possible physical layer data packet sizes of available communication channels, each possible physical layer data packet size corresponding to an encoding rate;
means for selecting a physical layer packet size corresponding to a related encoding rate from the set of possible physical layer data packet sizes; means for determining a maximum size of a compressed header based on supported compression schemes indentified as usable within the wireless communication system; partitioning a frame of multimedia data into partitions based on the physical layer packet size and the maximum size of the compressed header, wherein partition sizes are selected so that an aggregate size of a partition plus 3c the maximum size of the compressed header match the physical layer packet size; and means for encoding the partition at the related encoding rate, appending the compressed header and transmitting the encoded partition with the appended header.
According to still a further aspect of the present invention, there is provided an apparatus configured to transmit data over a wireless communication system, comprising: means for determining a physical layer packet size of the wireless communication system from a set of physical layer packet sizes related to data encoding rates available; means for determining a maximum size of a compressed header based on supported compression schemes indentified as usable within the wireless communication system; and means for partitioning an information unit based on the physical layer packet size and the maximum size of the compressed header, wherein partitions are sized such that after a partition is encoded an aggregate size of each encoded partition and an associated compressed header is no greater than the physical layer packet size.
[0011] Some embodiments disclosed herein address the above stated needs to reduce the amount of data required to transmit multimedia data streams over a wireless communication channel. Techniques for reducing, or eliminating, headers in the transmission of real time transport protocol (RTP) data streams over a wireless communication system are described. These techniques include determining a physical layer packet size of the wireless communication system and determining a maximum size of a compressed header and then, partitioning an information unit, wherein the size of the partitions are selected such that after a partition is encoded, the aggregate size of the encoded partition and the compressed header are no greater than the physical layer packet size.
[0012] Another technique for transmitting multimedia data over a wireless communication system includes negotiating a physical layer compressed header size between participants in a communication session.
[0013] Additional aspects include using robust header compression or zero byte header compression techniques with multimedia data transmitted over a wireless communication channel.
3d [0014] The above techniques can be used for various types of multimedia data. For example, the techniques can be used with variable bit rate data streams, video streams, or video teleconference streams.
[0015] The above techniques can also be used with various over the air interfaces. For example, the techniques can be used with Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), or standards based on CDMA such as TIA/E[A-95-B (IS-95), TIA/EIA-98-C
(IS-98), cdma2000, Wideband CDMA (WCDMA), and others.
100161 Other features and advantages of embodiments of the present invention should be apparent from the following description of exemplary embodiments, which illustrate, by way of example, aspects of embodiments of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[00171 Figure 1 shows a communication system 100 constructed in accordance with an embodiment of the present invention.
[0018] Figure 2 is a block diagram illustrating an exemplary packet data network and various air interface options for delivering packet data over a wireless network.
[0019] Figure 3 is a diagram illustrating various levels of encapsulation present when using RTP to transmit multimedia data over a wireless link.
[00201 Figure 4 is a flow diagram illustrating an example of a negotiation of values for data packet and compressed header sizes.
[00211 Figure 5 is a flow diagram illustrating another example of a negotiation of values for data packet and compressed header sizes.
(0022] Figure 6 is a diagram illustrating protocol stack for packet data in accordance with a zero byte header compression technique in a wireless communication system.
(0023] Figure 7 is a chart illustrating IP header overhead verses data rate of a video data stream.
[0024] Figure 8 is a block diagram illustrating exemplary components used in decoding multimedia data when a zero byte header technique is used.
[0025] Figure 9 is a flow chart illustrating an example of decoding of a multimedia data stream that uses a zero byte header compression technique.
[0026] Figure 10 is a flow diagram illustrating an exemplary procedure for a multimedia play out device.
[0027] Figure 11 is a flow diagram illustrating an exemplary procedure for transmitting data over a wireless communication system.
[0028] Figure 12 is a block diagram of a wireless communication device, or mobile station (MS), constructed in accordance with an exemplary embodiment of the present invention.
DETAILED DESCRIPTION
[0029] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
[0030] The word "streaming" is used herein to mean real time delivery of multimedia data - of continuous in nature, such as, audio, speech or video information, over dedicated and shared channels in conversational, unicast and broadcast applications.
The phrase "multimedia frame", for video, is used herein to mean video frame that can be displayed/rendered on a display device, after decoding. A video frame can be further divided in to independently decodable units. In video parlance, these are called "slices".
In the case of audio and speech, the term "multimedia frame" is used herein to mean information in a time window over which speech or audio is compressed for transport and decoding at the receiver. The phrase "information unit interval" is used herein to represent the time duration of the multimedia frame described above. For example, in case of video, information unit interval is 100 milliseconds in the case of 10 frames per second video. Further, as an example, in the case of speech, the information unit interval is typically 20 milliseconds in cdma2000, GSM and WCDMA. From this description, it should be evident that, typically audio/speech frames are not further divided in to independently decodable units and typically video frames are further divided in to slices that are independently decodable. It should be evident form the context when the phrases "multimedia frame", "information unit interval", etc. refer to multimedia data of video, audio and speech.
[0031] An aspect of the invention is to reduce the amount of data that is transmitted in a wireless communication system when a data stream is transmitted. Examples of streaming of data include multimedia data, such as, video, teleconference, broadcast/multicast services, internet protocol (IP), and voice over IP
(VoIP).
[0032] The techniques described herein relate to partitioning information units, thereby creating a plurality of data packets. Techniques described make use of some of the aspects described in co-pending U.S. Patent Applications referenced in the REFERENCE TO CO-PENDING APPLICATIONS FOR PATENT section above. For example, a technique referred to as explicit bit rate (EBR) is described wherein an encoder may be constrained such that it encodes application layer information units into sizes that match physical layer packet sizes of a communication channel.
[0033] As noted, RTP is a mechanism used to stream data by encoding the stream into packets. In RTP, a header that includes routing and sequencing information is appended to each packet. An aspect of the present invention is to reduce the size of the header, or remove the header entirely. In this way, the amount of data transmitted over a wireless communication channel transmitting RTP packets is reduced.
[0034] Figure 1 shows a communication system 100 constructed in accordance with the present invention. The communication system 100 includes infrastructure 101, multiple wireless communication devices (WCD) 104 and 105, and landline communication devices 122 and 124. The WCDs will also be referred to as mobile stations (MS) or mobiles. In general, WCDs may be either mobile or fixed. The landline communication devices 122 and 124 can include, for example, serving nodes, or content servers, that provide various types of multimedia data such as streaming data.
In addition, MSs can transmit streaming data, such as multimedia data.
[0035] The infrastructure 101 may also include other components, such as base stations 102, base station controllers 106, mobile switching centers 108, a switching network 120, and the like. In one embodiment, the base station 102 is integrated with the base station controller 106, and in other embodiments the base station 102 and the base station controller 106 are separate components. Different types of switching networks 120 may be used to route signals in the communication system 100, for example, IP
networks, or the public switched telephone network (PSTN).
[0036] The term "forward link" or "downlink" refers to the signal path from the infrastructure 101 to a MS, and the term "reverse link" or "uplink" refers to the signal path from a MS to the infrastructure. As shown in Figure 1, MSs 104 and 105 receive signals 132 and 136 on the forward link and transmit signals 134 and 138 on the reverse link. In general, signals transmitted from a MS 104 and 105 are intended for reception at another communication device, such as another remote unit, or a landline communication device 122 and 124, and are routed through the IP network or switching network 120. For example, if the signal 134 transmitted from an initiating WCD
104 is intended to be received by a destination MS 105, the signal is routed through the infrastructure 101 and a signal 136 is transmitted on the forward link to the destination MS 105. Likewise, signals initiated in the infrastructure 101 may be broadcast to a MS
105. For example, a content provider may send multimedia data, such as streaming multimedia data, to a MS 105. Typically, a communication device, such as a MS
or a landline communication device, may be both an initiator of and a destination for the signals.
[0037] Examples of a MS 104 include cellular telephones, wireless communication enabled personal computers, and personal digital assistants (PDA), and other wireless devices. The communication system 100 may be designed to support one or more wireless standards. For example, the standards may include standards referred to as Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), TIA/EIA-95-B (IS-95), TIA/EIA-98-C (IS-98), IS2000, HRPD, cdma2000, Wideband CDMA (WCDMA), and others.
[0038] Figure 2 is a block diagram illustrating an exemplary packet data network and various air interface options for delivering packet data over a wireless network. The techniques described may be implemented in a packet switched data network 200 such as the one illustrated in Figure 2. As shown in the example of Figure 2, the packet switched data network system may include a wireless channel 202, a plurality of recipient nodes or MS 204, a sending node or content server 206, a serving node 208, and a controller 210. The sending node 206 may be coupled to the serving node 208 via a network 212 such as the Internet.
[0039] The serving node 208 may comprise, for example, a packet data serving node (PDSN) or a Serving GPRS Support Node (SGSN) or a Gateway GPRS Support Node (GGSN). The serving node 208 may receive packet data from the sending node 206, and serve the packets of information to the controller 210. The controller 210 may comprise, for example, a Base Station Controller/Packet Control Function (BSC/PCF) or Radio Network Controller (RNC). In one embodiment, the controller 210 communicates with the serving node 208 over a Radio Access Network (RAN). The controller 210 communicates with the serving node 208 and transmits the packets of information over the wireless channel 202 to at least one of the recipient nodes 204, such as an MS.
[0040] In one embodiment, the serving node 208 or the sending node 206, or both, may also include an encoder for encoding a data stream, or a decoder for decoding a data stream, or both. For example the encoder could encode a video stream and thereby produce variable-sized frames of data, and the decoder could receive variable sized frames of data and decode them. Because the frames are of various size, but the video frame rate is constant, a variable bit rate stream of data is produced.
Likewise, a MS
may include an encoder for encoding a data stream, or a decoder for decoding a received data stream, or both. The term "codec" is used to describe the combination of an encoder and a decoder.
[0041] In one example illustrated in Figure 2, data, such as multimedia data, from the sending node 206 which is connected to the network, or Internet 212 can be sent to a recipient node, or MS 204, via the serving node, or Packet Data Serving Node (PDSN) 206, and a Controller, or Base Station Controller/Packet Control Function (BSC/PCF) 208. The wireless channel 202 interface between the MS 204 and the BSC/PCF 210 is an air interface and, typically, can use many channels for signaling and bearer, or payload, data.
Air Interface [0042] The air interface 202 may operate in accordance with any of a number of wireless standards. For example, the standards may include standards based on TDMA
or FDMA, such as Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), or standards based on CDMA such as TIA/EIA-95-B (IS-95), TIA/EIA-98-C (IS-98), IS2000, HRPD, cdma2000, Wideband CDMA (WCDMA), and others.
RTP Packetization [0043] The Real-Time Transport Protocol (RTP) is a protocol developed for transmitting real time data, such as multimedia data. RTP is a flexible protocol providing mechanisms to stream real time data over IP networks. See "RTP: A
Transport Protocol for Real-Time Applications", H. Schulzrinne [Columbia University], S. Casner [Packet Design], R. Frederick [Blue Coat Systems Inc.], V. Jacobson [Packet Design], RFC-3550 draft standard, Internet Engineering Steering Group, July 2003, available at URL www.fags.org/rfc/rfc3550.html). Streaming refers to a technique for transferring data such that it can be processed as a steady and continuous stream.
[0044] A description of a way to use RTP to stream a particular type of data, for example video, is referred to as an RTP profile. In an RTP profile, the output of a source encoder is grouped into packets and header information is added to the packet.
[0045] Figure 3 is a diagram illustrating various levels of encapsulation present when using RTP to transmit multimedia data, such as video data or VoIP, over a wireless link.
As shown in Figure 3, a payload 302 is generated. For example, the payload can be streaming multimedia data, for example, video data or VoIP. The payload 302 may be pre-pended by a Slice_Header (SH) 304 that includes additional information pertaining to the payload 302. The RTP protocol then encapsulates the payload into one or several RTP packets and appends an RTP header 306. In the example illustrated in Figure 3, the payload is encapsulated into a single RTP packet with an RTP header 306 indicated by "RTP." A User Datagram Protocol (UDP) header 308 is then added to each RTP
packet, indicating the source and destination ports. An Internet Protocol (IP) header 310 is then added to indicate the network address of the source and destination hosts. For example, in one embodiment the RTP header may be 12 bytes, the UDP header may be 20 bytes, and the IP header may be 8 bytes, thereby resulting in a 40 byte header being appended to the payload 302. It is desirable to reduce the size of the header to conserve system resources when transmitting RTP over a wireless communication system.
[0046] Upon entering the wireless network, a point to point protocol (PPP) header 312 is added to provide framing information for serializing the packets into a continuous stream of bits. A radio link protocol, for example, RLP in cdma2000 or RLC in W-CDMA, then packs the stream of bits into RLP packets 314. The radio-link protocol allows, among other things, the re-transmission and re-ordering of packets sent over the air interface. Finally, the air interface MAC-layer takes one or more RLP
packets 314, packs them into MUX layer packet 316, and adds a multiplexing header (MUX) 318. A
physical layer packet channel coder then adds a checksum (CRC) 320 to detect decoding errors, and a tail part 322 forming a physical layer packet 325.
[0047] The Internet Engineering Steering Group has proposed guidelines, or rules, about the packetization of video that is carried by RTP. See, "RTP Payload Format for MPEG-4 Audio/Visual Streams", Y. Kikuchi [Toshiba], T. Nomura [NEC], S.
Fukunaga [Oki], Y. Matsui [Matsushita], H. Kimata [NTT], RFC-3016 proposed standard, Internet Engineering Steering Group, November 2000, available at URL
www:fags.org/rfcs/rfcs306O.html). Although these rules address MPEG-4, similar schemes also apply to the other video codecs. The RFC3016 defines the following three options for packetization, where Video Object Planes (VOP) refers to an MPEG-4 video frame:
1. Packing one Video Frame per RTP Packet: "The RTP timestamp indicates the sampling instance of the VOP contained in the RTP packet. A constant offset, which is random, is added for security reasons." In this case, the RTP
timestamp and RTP sequence number are incremented.
2. Packing multiple Video Frames per RTP Packet: "When multiple VOPs are carried in the same RTP packet, the timestamp indicates the earliest of the VOP
times within the VOPs carried in the RTP packet. Timestamp information of the rest of the VOPs are derived from the timestamp fields in the VOP header (modulo-time-base and vop_time_increment). [...] This kind of packetization is effective to save the overhead of RTP/IP headers when the bit-rate of the underlying network is low. However, it will decrease the packet-loss resiliency because multiple video packets are discarded by a single RTP packet loss. The optimal number of video packets in an RTP packet and the length of the RTP
packet can be determined considering the packet-loss rate and the bit-rate of the underlying network." In this case, the RTP timestamp jumps ahead and the RTP
sequence number is incremented.
3. Segmenting one Video Frame over multiple RTP Packets: "It is RECOMMENDED that a single video packet is sent as a single RTP packet. The size of a video packet SHOULD be adjusted in such a way that the resulting RTP packet is not larger than the path-MTU. [...] When the packet-loss rate of the underlying network is high, this kind of packetization is recommended.
Even when the RTP packet containing the VOP header is discarded by a packet loss, the other RTP packets can be decoded by using the HEC (Header Extension Code) information in the video packet header. No extra RTP header field is necessary." In this case, the RTP timestamp remains the same and the RTP
sequence number is incremented.
[0048] In general, RTP packetization is simpler for speech codecs, or vocoders, as the "variability" of encoders is well defined. For example in cdma2000 vocoders, the payload size is one of four (4) possible rates (i.e., full rate, half rate, fourth rate, and eighth rate).
Header Compression during Transmission of Multimedia Data Streams Generic Header Compression Support [00491 A size of a compressed header, wherein the header includes RTP/UDP/IP/PPP.
headers, for a given compression scheme, depends on changes in the RTP
timestamp and the RTP sequence number, among other things. An encoder does not know the actual size of the compressed header at the time of encoding a data packet, for example from a multimedia data stream such as a video data stream. While the actual size of the compressed header may not be known, it is possible to set an upper limit on the header size. For example, during setup of a session an upper limit on header size may be established depending on parameters such as the compression scheme, UDP
checksum option, and the like.
[0050] In one embodiment, a set of possible data rates may be negotiated between a sending terminal, a receiving terminal and their corresponding PDSNs. For example, a set of possible data rates may be negotiated between a sending MS, a receiving MS, and their corresponding PDSNs. Each of the possible data rates has associated with it physical layer packet sizes.
Let S represent, in bytes, the set of physical layer packet sizes corresponding to the data rates available to the encoder after negotiation.
S = [ri rz = = - ri] Eq. I
Then, S=S-x Eq.2 where S represents the maximum amount of data, in bytes, within a physical layer packet that can be used for payload, and x E {0,1,2,3,4} where the value of x represents an upper limit on the compressed header size, in bytes, and is dependent on the type of header compression scheme used. For example, as discussed further below, values of correspond to different compression schemes, where:
x = 0 corresponds to zero-header compression, where the header is removed entirely;
x 1 or 2 correspond to robust header compression (ROHC) without UDP checksum;
x = 3 or 4 correspond to ROHC with UDP checksum;
[0051] In one embodiment, MSs, content servers and PDSNs that are involved in a session negotiate values for S and x during setup of a session setup. The negotiation may take into account parameters, such as, the encoding schemes and compression schemes supported by the various devices in the session. During the session a data stream, such as a multimedia data stream, may be partitioned into portions that are sized such that an encoder generates packets that are S-x bytes in size, leaving enough space for compressed headers. For example, if a video data stream is transmitted during a session, a video frame is partitioned, or "sliced", such that when the video slice is encoded the encoded slice will be S-x bytes and the compressed header will be no larger than x bytes in size. If the size of the compressed header is less than x bytes, then null bytes can be included, or the amount of data allocated to encoding the video slice can be increased so that data packets that are generated are of a desired size.
[0052] Figure 4 is a flow diagram illustrating an example of a negotiation of values for S and x. Flow begins in block 402 where a MS notifies a device in the infrastructure, for example a PDSN, which compression schemes the MS supports. In addition, the MS can notify the PDSN if the MS prefers one of the supported compression schemes over another. Flow then continues to block 404. In block 404, the infrastructure device, such as a PSDN, compares the MS supported compression schemes with the compression schemes supported by the infrastructure device. The infrastructure device may also take into account any preferences of the MS. Flow then continues to block 406 where the infrastructure device notifies the MS of the compression scheme to use during a session.
[0053] As an example of the negotiation illustrated in Figure 4, a MS may notify a PDSN that the MS supports x = 0, 3, and 1 in that preferred order. In this example, the PDSN does not support x = 1 (ROHC without UDP checksum). The PDSN may then send the supported options (x = 0, 3) to a second PDSN that will be participating in the session. The second PDSN may find out that a receiving MS that will also be participating in the session can support x = 0, 1, 2, 3, and 4, while the second PDSN
itself can support x = 0, 1, and 4. Because the only value of x that is supported by all participants in the session is x = 0, the session will be established using a value of zero for x.
[0054] Figure 5 is a flow diagram illustrating another example of a negotiation of values for S and x . Flow begins in block 502 where a device in the infrastructure, for example a PDSN, notifies a MS as to which compression schemes the infrastructure device supports. In addition, the infrastructure device can notify the MS of any preferences the infrastructure has for one of the supported compression schemes over another. Flow then continues to block 504. In block 504, the MS compares the MS
supported compression schemes with the compression schemes supported by the infrastructure device. The MS may also take into account any preferences of the infrastructure device. Flow then continues to block 506 where the MS notifies the infrastructure device of the compression scheme to use during a session.
[0055] An example of a protocol sequence for the above examples is listed below:
= During PPP Internet Protocol Control Protocol (IPCP), both mobile and PDSN indicate their header compression capabilities to each other, along with any preferences, and negotiate to a set of common compression capabilities supported by both mobile and PDSN.
= The mobile determines which header compression type to be used and hence the x value.
= The mobile conveys information, such as the x value, the data packet size, such as a video slice size, etc., to a content server in communication with a PSDN via a wireless communication system (e.g., Session Description Protocol (SDP) parameters in Session Initiation Protocol (SIP) or Real Time Streaming Protocol (RTSP), etc.).
= The mobile conveys flow information, such as, address/port, header compression type, etc., to the PDSN via 3GPP2-specific signaling (i.e., RESerVation (RESV) message). This information allows the PDSN to know what header compression type to be used on this particular session flow identified by the address/port.
Robust Header Compression [0056] Robust Header Compression (ROHC) as used herein relates to compression schemes that make use of redundancies between consecutive packets by maintaining state information (context) at both a compressor and a decompressor. The static context information is sent only initially, at the beginning of a session, while dynamic context is sent with subsequent data packets. In order for the decompressor to regenerate the uncompressed packets correctly, the context in the decompressor needs to be synchronized to the context used by the compressor during compression.
Techniques that have been developed to maintain synchronization of the context between the decompressor and compressor include the Robust Header Compression (ROHC) technique developed by the ROHC Working Group of the Internet Engineering Task Force, [see, for example the standards and drafts at the Internet URL
www.ietf.org/rfc/rfc3095.txt?number=3095] .
[00571 Using ROHC there is a one byte header for most payloads when context is available at the decompressor and a forty-four byte header when it is necessary to establish the context at the decompressor. When UDP checksum is enabled, the compressed header size, when context is available at the decompressor, is three bytes.
In one embodiment, ROHC is used and when context is available at the decompressor the payload packet sizes are restricted to be one byte smaller than the physical layer packet sizes. In another embodiment, ROHC with UDP checksum enabled is used and when context is available at the decompressor the payload packet sizes are restricted to be three bytes smaller than the physical layer packet sizes.
[00581 When ROHC context needs to be established, a "blank and burst"
transmission feature of edma2000 can be used, for example on multiple communication channels, or an additional packet can be sent. In this way, use of ROHC can be used with the techniques described and thereby result in a reduction in the amount of data transmitted-"Blank and burst" means that the signaling data (in this case the ROHC context information) is sent instead of voice data.
Zero Byte Header Compression [00591 A third generation mobile technology, known as Universal Mobile Telecommunications System (UMTS), can deliver audio and video to wireless devices anywhere in the world through fixed, wireless and satellite systems. In general, a UMTS codec payload size is fixed based on the Adaptive Multi-Rate (AMR) mode.
In order to amortize the RTP overhead across multiple frames one or both of the following methods can be used:
1. header compression (such as ROHC) 2. bundling multiple frames in one RTP packet When bundling is used, the RTP timestamp is that of the earliest frame in the RTP
packet.
[00601 When an IP node is communicating with a receiver, or "sink" terminal, it may not be necessary to reconstruct the RTP header if the timestamp information is implicitly known. If the decoder receives frames at a constant, known, rate, the decoder may be able to output samples without additional timestamp information. For example, if a decoder receives at least one frame every 20 ms, the decoder can output samples every 20 ms without additional timestamp information. Blank frames may be generated during packet losses.
[0061] Figure 6 is a diagram illustrating a protocol stack for packet data in accordance with a zero byte header compression technique in a wireless communication system. In the example illustrated in Figure 6, a MS 602 receives data from a host 604 in the infrastructure. In the host 604 a codec 606 encodes data packets. The output of the codec has RTP, UDP and IP header information, 608, 610, and 612 respectively, appended to the data packets. A PDSN 614 sends the encoded data packet to the MS
602 via a Radio Network 616, such as a base station/packet control function.
When the data packets are received by the MS 602, the data packets are routed from a media access control layer 618 to a codec 620. The codec 620 in the MS 602 decodes the received packet.
[0062] As described above, with RTP packetization it has been shown that when multiple video frames are included in one RTP packet a compliant decoder can recreate the timing of frames in this packet using the modulo_timebase and time_incriment fields of the subsequent video frames in the RTP packet. For example, using EBR, if there is a QoS guarantee that n video frames are delivered every nT ms (where T is the time between two video frames, T = 1000/frames-per second), a mechanism for synchronous delivery of video data may be established. Thus, the EBR approach can utilize zero byte header compression, similarly to Service Option 60 (S060) for speech.
Use of zero byte header compression can greatly reduce the amount o data that is transmitted. For example, in a wireless communication system based on CDMA, for a supplemental channel (SCH) operating at 8x (a 64 kbps stream) this technique could result in a reduction of at least 44 bytes of header information for each 160 bytes, e.g.
about a 27.5% savings in the bitrate.
[0063] Figure 7 is a chart illustrating IP header overhead verses data rate of a video data stream. The vertical axis 702 represents a RTP/UDP/IP/PPP overhead normalized as a percent of the total bitrate and the horizontal axis 704 represents a bitrate for the video stream. The curve 706 of Figure 7 illustrates the increase in available bitrate for data as the size of the overhead reduces. In the example illustrated in Figure 7, a value of four bytes was used for PPP overhead. A value of four for the PPP overhead probably underestimates actual values for the PPP overhead because, occasionally, escape codes are added so that some of the video data is not mistaken for a PPP header.
[0064] As illustrated in Figure 7, although the percentage of the total bit rate that is dedicated to overhead decreases as the bitrate increases, a significant amount of the total bitrate may be dedicated to transmission of overhead. For example, at a bit rate of 88 bytes per second about 20% of the total bit rate is dedicated to the transmission of overhead. Removal, or reduction, of header information through techniques such as ROHC and zero byte header compression allows bitrate that would otherwise be dedicated to transmission of overhead to instead be used to improve video quality or increase the system capacity, or the like.
[0065] Figure 8 is a block diagram illustrating exemplary components used in decoding multimedia data when a zero byte header technique is used. As shown in Figure 8, a channel decoder 802 is configured to receive data packets that make up a multimedia data stream. The output of the channel decoder 802 is connected to an RLP
resequencer 804. The RLP resequencer 804 places the channel packets into a resequencing buffer 806 where the channel packets are sequenced in accordance with the sequence number of each packet. A multimedia decoder 808, for example a video decoder, retrieves the data packets from the resequencing buffer 806 and decodes the individual multimedia packets. The multimedia packets are output from the multimedia decoder 808 and placed into a multimedia frame buffer 810 where the multimedia packets are stored. A
multimedia play out device 812 retrieves decoded multimedia packets from the multimedia frame buffer 810. The multimedia play out device 812 formats the multimedia packets for presentation to a user in an appropriate multimedia presentation device 814. For example, if the multimedia data is video data, then the multimedia presentation device 814 may be a video display.
[0066] Figure 9 is a flow chart illustrating an example of decoding of a multimedia data stream that uses a zero byte header compression technique as could be accomplished in a multimedia decoder 808 shown in Figure 8. In the example of Figure 9, the multimedia data is video data and the multimedia decoder 808 is a video decoder. Flow begins in block 902 where the video decoder retrieves a data packet, or slice, that is next in-sequence from a resequencing buffer. Flow continues to block 904. In block 904 the data packet is examined and it is determined if the data packet includes a start code or a resync marker. If the data packet includes a start code, indicating the start of a video frame in the video stream, then flow continues to block 906. In block 906 the data packet is examined and a Frame Header is read. The frame header may include information about an entire video frame including timing information. Flow then continues to block 908 where a new frame in a video frame buffer is opened.
Flow then continues to block 910.
[00671 Returning to block 904, if the data packet is examined and it is determined that the data packet, or slice, includes a resync marker flow continues to block 912. If the data packet includes a resync marker then the data packet is not the start of a video frame in the video stream but is a portion, also referred to as a slice or a macroblock, of a video frame. In block 912 a slice header of the data packet, or slice or macroblock, is read. Flow then continues to block 910.
[0068] In block 910 the data packet, or slice or macroblock, is decoded. Flow then continues to block 914 where it is determined if a decoding error occurred.
For example, it may be determined in block 914 that there are conflicting sequence numbers in decoded data packets. If it is determined that there is a decoding error, an affirmative outcome at block 914, flow continues to block 916. In block 916 the data packet, or slice containing the decoding error is discarded. Flow then continues to block 918 where it is determined if there are additional data packets in the stream.
[0069] Returning to block 914, if there is no decoding error, a negative outcome at block 914, then flow continues to block 920. In block 920 the encoded packet, or slice, is inserted into the open video frame. Flow then continues to block 922 where it is determined if there are additional data packets in the stream.
[0070] In block 922 if it is determined if there are no additional data packets in the stream, a negative outcome at block 922, flow continues to block 919 where it is determined if there are additional data packets in the stream. At block 922, if it is determined that there are more packets in the stream, an affirmative outcome at block 922, then flow continues to block 910 and the next macro block of the packet is decoded. Returning to block 918, if it is determined there are additional data packets in the stream, an affirmative outcome at block 918, flow continues to block 902 and the next packet in the sequence is retrieved. If, in block 918, it is determined that there are no additional data packets in the stream, a negative outcome in block 918, flow continues to block 924 and flow stops.
[0071] Figure 10 is a flow diagram illustrating an exemplary procedure for a multimedia play out device 812. In the example of Figure 10, the multimedia data is video data and the multimedia play out device 812 is a video play out device.
Flow begins in block 1002 where decoded video frames are retrieved from a video frame buffer at a frame rate of the video data. The video frame that is retrieved is the oldest frame in the video frame buffer. The age of the video frames may be determined, for example, by the RTP sequence number of the video frames, or timestamps of the video frames, or other techniques. Flow then continues to block 1004. In block 1004 the retrieved frames are examined and error concealment techniques are applied if desired.
For example, error concealment techniques may be applied if there are missing packets, of slices, in a video frame, or if an entire video frame is missing, or other types of error.
[0072] Error concealment techniques can include, for example, copying packets, or slices from a previous video frame to replace a corrupted slice in the current video frame. Another example of error concealment is to use information from neighboring video slices to generate a replacement slice for a corrupted slice. For example, information from neighboring slices can be used to determine, for example, interpolation motion vectors for the corrupted slice. Other techniques for concealment of errors in video slices may also be implemented. The error concealment techniques of block 1004 can also be performed as part of the video decoding, for example as part of the flow diagram of Figure 9.
[0073] Flow continues from block 1004 to block 1006. In block 1006 the video data is displayed. For example, the video data may be projected on a video display in a wireless communication device, such as a cell phone, PDA, wireless enabled personal computer, or other wireless communication device.
[0074] Figure 11 is a flow diagram illustrating an exemplary procedure for transmitting data over a wireless communication system. Flow beginnings in block 1102 where a physical layer packet size of the wireless communication system is determined.
For example, the physical layer packet size can be a single size or one of a plurality of sizes.
Flow continues to block 1104 where a maximum size of a compressed header is determined. Flow then continues to Block 1106. In block 1106 an information unit is partitioned. The size of the partition is selected such that after a partition is encoded the total;, or aggregate, size of the encoded partition and the compressed header are no greater than the physical layer packet size.
[0075] Figure 12 is a block diagram of a wireless communication device, or MS, constructed in accordance with an exemplary embodiment of the present invention. The communication device 1202 includes a network interface 1206, a codec 1208, a host processor 1210, a memory device 1212, a program product 1214, and a user interface 1216.
[0076] Signals from the infrastructure are received by the network interface 1106 and sent to the host processor 1210. The host processor 1210 receives the signals and, depending on the content of the signal, responds with appropriate actions. For example, the host processor 1210 may decode received data packets of a multimedia data stream, for example a video data stream, or it may route the received signal to the codec 1208 for decoding. In another embodiment, the received signal are sent directly to the codec 1208 from the network interface 1206.
[0077] Signals from the MS can also be transmitted to the infrastructure from the host processor 1206, or the codec 1208, or both via the network interface 1206. The host processor 1210 may partition a data stream into data packets that are sized so that after a header is appended to the data packet the total size of the data packet and appended header matches the size of a physical layer packet size. In another embodiment, the codec 1208 partitions a data stream into data packets that are sized so that after a header is appended to the data packet the total size of the data packet and appended header matches the size of a physical layer packet size. In both embodiments, the data packet and appended header are then sent to the network interface 1206 and transmitted to the infrastructure.
[0078] In one embodiment, the network interface 1206 may be a transceiver and an antenna to interface to the infrastructure over a wireless channel. In another embodiment, the network interface 1206 may be a network interface card used to interface to the infrastructure over landlines.
[0079] Both the host processor 1210 and the codec 1208 are connected to a memory device 1212. The memory device 1212 may be used to store data during operation of the MS. For example, the memory device may include a resequencing buffer, or a frame buffer, or both. The memory device may also store program code that will be executed by the host processor 1210 or the codec 1208, or both. For example, the host processor, codec, or both, may operate under the control of programming instructions that are temporarily stored in the memory device 1212. The host processor 1210 and codec 1208 also can include program storage memory of their own. When the programming instructions are executed, the host processor 1210 or codec 1208, or both, perform their functions, for example encoding and decoding multimedia streams with compressed headers. Thus, the programming steps implement the functionality of the respective host processor 1210 and codec 1208, so that the host processor and codec can each be made to perform the functions of encoding or decoding content streams with compressed headers as desired. The programming steps may be received from a program product reader 1214. The program product 1214 may store, and transfer the programming steps into the memory 1212 for execution by the host processor, codec, or both.
[0080] The program product 1214 may include a reader that receives interchangeable storage devices. The interchangeable storage devices may be a semiconductor memory chip, such as RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, as well as other storage devices such as a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art that may store computer readable instructions. Additionally, the program product 1214 may be a source file including the program steps that is received from the network and stored into memory and is then executed. In this way, the processing steps necessary for operation in accordance with the invention may be embodied on the program product.
In Figure 12, the exemplary storage medium is shown coupled to the host processor 1210 such that the host processor may read information from, and write information to, the storage medium. Alternatively, the storage medium may be integral to the host processor 1210.
[0081] The user interface 1216 is connected to both the host processor 1210 and the codec 1208. For example, the user interface 1216 may include a display and a speaker used to output multimedia data to the user.
[0082] Those of skill in the art will recognize that the step of a method described in connection with an embodiment may be interchanged without departing from the scope of the invention.
[0083] Those of skill in the art would also understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
[0084] Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality.
Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
[0085] The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0086] The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC
may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
[00871 The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
A WIRELESS COMMUNICATION SYSTEM
BACKGROUND
1. Field [0003] The present invention relates generally to delivery of streaming data over a wireless communication system, and more specifically, to transmission of multimedia data over a wireless communication system.
II. Background [0004] Demand for the delivery of multimedia data over various communication networks is increasing. For example, consumers desire the delivery of streaming video over various communication channels, such as the Internet, wire-line and radio networks. Multimedia data can be different formats and data rates, and the various communication networks use different mechanisms for transmission of real time data over their respective communication channels.
[0005] One type of communication network that has become commonplace is mobile radio networks for wireless communications. Wireless communication systems have many applications including, for example, cellular telephones, paging, wireless local loops, personal digital assistants (PDAs), Internet telephony, and satellite communication systems. A particularly important application is cellular telephone systems for mobile subscribers. As used herein, the term "cellular" system encompasses both cellular and personal communications services (PCS) frequencies.
Various over-the-air interfaces have been developed for such cellular telephone systems including frequency division multiple access (FDMA), time division multiple access (TDMA), and code division multiple access (CDMA).
[0006] Different domestic and international standards have been established to support the various air interfaces including, for example, Advanced Mobile Phone Service (AMPS), Global System for Mobile (GSM), General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), Interim Standard 95 (IS-95) and its derivatives, IS-95A, IS-95B, ANSI J-STD-008 (often referred to collectively herein as IS-95), and emerging high-data-rate systems such as cdma 2000, Universal Mobile Telecommunications Service (UMTS), wideband CDMA (WCDMA), and others.
These standards are promulgated by the Telecommunication Industry Association (TIA), 3rd Generation partnership Project (3GPP), European Telecommunication Standards Institute (ETSI), and other well-known standards bodies.
[0007] Users, or customers, of mobile radio networks, such as cellular telephone networks, would like to receive streaming media such as video, multimedia, and Internet Protocol (IP) over a wireless communication link. For example, customers desire to be able to receive streaming video, such as a teleconference or television broadcasts, on their cell phone or other portable wireless communication device. Other examples of the type of data that customers desire to receive with their wireless communication device include multimedia multicast/broadcast and Internet access.
[0008] A protocol that provides a mechanism to stream real time data over an IP
network is the real-time transport protocol (RTP). RTP is a flexible protocol for transmitting real time data, such as audio and video over an IP network. It is desirable to use RTP to stream real-time data to wireless communication devices.
[0009] Typically, in RTP, streaming data is encoded into data packets. The RTP data packets include routing and sequencing information appended to each packet. The appended routing and sequencing information is commonly referred to as a header. Due to the limited resources available in a wireless communication system, such as limited bandwidth, it is desirable to reduce the amount of data that is transmitted.
[0010] Thus, there is therefore a need in the art for techniques and apparatus that can reduce the amount of data that is transmitted in a wireless communication system during the transmission of streaming data, such as multimedia data and VoIP.
SUMMARY
According to one aspect of the present invention, there is provided a method of transmitting data over a wireless communication system, the method comprising: determining a physical layer packet size of the wireless communication system from a set of physical layer packet sizes related to data encoding rates available; determining a maximum size of a compressed header based on supported compression schemes identified as usable within the wireless communication system; and partitioning an information unit based on the physical layer packet size and the maximum size of the compressed header, wherein partitions are sized such that after a partition is encoded an aggregate size of each encoded partition and an associated compressed header is no greater than the physical layer packet size.
According to another aspect of the present invention, there is provided a method of transmitting multimedia data over a wireless communication system, the method comprising: determining a set of possible physical layer data packet sizes of available communication channels, each possible physical layer data packet size corresponding to an encoding rate; selecting a physical layer packet size corresponding to a related encoding rate from the set of possible 3a physical layer data packet sizes; determining a maximum size of a compressed header based on supported compression schemes identified as usable within the wireless communication system; partitioning a frame of multimedia data into partitions based on the physical layer packet size and the maximum size of the compressed header, wherein partition sizes are selected so that an aggregate size of a partition plus the maximum size of the compressed header match the physical layer packet size; and encoding the partition at the related encoding rate, appending the compressed header and transmitting the encoded partition with the appended compressed header.
According to still another aspect of the present invention, there is provided a wireless communication device comprising: a processor configured to determine possible data packet sizes of available communication channels from a set of data packet sizes related to data encoding rates available and a maximum size of a compressed header based on supported compression schemes identified as usable by the wireless communication device; an encoder configured to partition multimedia data into partitions based on determined data packet size and maximum size of the compressed header, wherein partition sizes are selected so that an aggregate size of a partition plus the maximum size of a compressed header match one possible data packet size, encode the partition at an encoding rate corresponding to the determined data packet size, and append the compressed header; and a transmitter configured to transmit the partition with the appended compressed header.
According to yet another aspect of the present invention, there is provided a computer readable medium having stored thereon computer readable instructions for performing a method of encoding data, the computer readable instructions including instructions for performing operations comprising:
determining a physical layer packet size of a wireless communication system from a set of physical layer packet sizes related to data encoding rates available;
determining a maximum size of a compressed header based on supported compression schemes indentified as usable within the wireless communication system; and partitioning an information unit based on the physical layer packet size and the maximum size of the compressed header, wherein partition sizes are 3b selected such that after a partition is encoded an aggregate size of the encoded partition and the compressed header is no greater than the physical layer packet size.
According to a further aspect of the present invention, there is provided a computer readable medium having stored thereon computer readable instructions for performing a method of transmitting multimedia data over a wireless communication system, the computer readable instructions including instructions for performing operations comprising: determining a set of possible physical layer data packet sizes of available communication channels, each possible physical layer data packet size corresponding to an encoding rate;
selecting a physical layer packet size corresponding to a related encoding rate from the set of possible physical layer data packet sizes; determining a maximum size of a compressed header based on supported compression schemes indentified as usable within the wireless communication system; partitioning a frame of multimedia data into partitions based on the physical layer packet size and the maximum size of the compressed header, wherein partition sizes are selected so that an aggregate size of a partition plus the maximum size of the compressed header match the physical layer packet size; and encoding the partition at the related encoding rate, appending the compressed header and transmitting the encoded partition with the appended header.
According to yet a further aspect of the present invention, there is provided an apparatus configured to transmit multimedia data over a wireless communication system, the apparatus comprising: means for determining a set of possible physical layer data packet sizes of available communication channels, each possible physical layer data packet size corresponding to an encoding rate;
means for selecting a physical layer packet size corresponding to a related encoding rate from the set of possible physical layer data packet sizes; means for determining a maximum size of a compressed header based on supported compression schemes indentified as usable within the wireless communication system; partitioning a frame of multimedia data into partitions based on the physical layer packet size and the maximum size of the compressed header, wherein partition sizes are selected so that an aggregate size of a partition plus 3c the maximum size of the compressed header match the physical layer packet size; and means for encoding the partition at the related encoding rate, appending the compressed header and transmitting the encoded partition with the appended header.
According to still a further aspect of the present invention, there is provided an apparatus configured to transmit data over a wireless communication system, comprising: means for determining a physical layer packet size of the wireless communication system from a set of physical layer packet sizes related to data encoding rates available; means for determining a maximum size of a compressed header based on supported compression schemes indentified as usable within the wireless communication system; and means for partitioning an information unit based on the physical layer packet size and the maximum size of the compressed header, wherein partitions are sized such that after a partition is encoded an aggregate size of each encoded partition and an associated compressed header is no greater than the physical layer packet size.
[0011] Some embodiments disclosed herein address the above stated needs to reduce the amount of data required to transmit multimedia data streams over a wireless communication channel. Techniques for reducing, or eliminating, headers in the transmission of real time transport protocol (RTP) data streams over a wireless communication system are described. These techniques include determining a physical layer packet size of the wireless communication system and determining a maximum size of a compressed header and then, partitioning an information unit, wherein the size of the partitions are selected such that after a partition is encoded, the aggregate size of the encoded partition and the compressed header are no greater than the physical layer packet size.
[0012] Another technique for transmitting multimedia data over a wireless communication system includes negotiating a physical layer compressed header size between participants in a communication session.
[0013] Additional aspects include using robust header compression or zero byte header compression techniques with multimedia data transmitted over a wireless communication channel.
3d [0014] The above techniques can be used for various types of multimedia data. For example, the techniques can be used with variable bit rate data streams, video streams, or video teleconference streams.
[0015] The above techniques can also be used with various over the air interfaces. For example, the techniques can be used with Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), or standards based on CDMA such as TIA/E[A-95-B (IS-95), TIA/EIA-98-C
(IS-98), cdma2000, Wideband CDMA (WCDMA), and others.
100161 Other features and advantages of embodiments of the present invention should be apparent from the following description of exemplary embodiments, which illustrate, by way of example, aspects of embodiments of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[00171 Figure 1 shows a communication system 100 constructed in accordance with an embodiment of the present invention.
[0018] Figure 2 is a block diagram illustrating an exemplary packet data network and various air interface options for delivering packet data over a wireless network.
[0019] Figure 3 is a diagram illustrating various levels of encapsulation present when using RTP to transmit multimedia data over a wireless link.
[00201 Figure 4 is a flow diagram illustrating an example of a negotiation of values for data packet and compressed header sizes.
[00211 Figure 5 is a flow diagram illustrating another example of a negotiation of values for data packet and compressed header sizes.
(0022] Figure 6 is a diagram illustrating protocol stack for packet data in accordance with a zero byte header compression technique in a wireless communication system.
(0023] Figure 7 is a chart illustrating IP header overhead verses data rate of a video data stream.
[0024] Figure 8 is a block diagram illustrating exemplary components used in decoding multimedia data when a zero byte header technique is used.
[0025] Figure 9 is a flow chart illustrating an example of decoding of a multimedia data stream that uses a zero byte header compression technique.
[0026] Figure 10 is a flow diagram illustrating an exemplary procedure for a multimedia play out device.
[0027] Figure 11 is a flow diagram illustrating an exemplary procedure for transmitting data over a wireless communication system.
[0028] Figure 12 is a block diagram of a wireless communication device, or mobile station (MS), constructed in accordance with an exemplary embodiment of the present invention.
DETAILED DESCRIPTION
[0029] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
[0030] The word "streaming" is used herein to mean real time delivery of multimedia data - of continuous in nature, such as, audio, speech or video information, over dedicated and shared channels in conversational, unicast and broadcast applications.
The phrase "multimedia frame", for video, is used herein to mean video frame that can be displayed/rendered on a display device, after decoding. A video frame can be further divided in to independently decodable units. In video parlance, these are called "slices".
In the case of audio and speech, the term "multimedia frame" is used herein to mean information in a time window over which speech or audio is compressed for transport and decoding at the receiver. The phrase "information unit interval" is used herein to represent the time duration of the multimedia frame described above. For example, in case of video, information unit interval is 100 milliseconds in the case of 10 frames per second video. Further, as an example, in the case of speech, the information unit interval is typically 20 milliseconds in cdma2000, GSM and WCDMA. From this description, it should be evident that, typically audio/speech frames are not further divided in to independently decodable units and typically video frames are further divided in to slices that are independently decodable. It should be evident form the context when the phrases "multimedia frame", "information unit interval", etc. refer to multimedia data of video, audio and speech.
[0031] An aspect of the invention is to reduce the amount of data that is transmitted in a wireless communication system when a data stream is transmitted. Examples of streaming of data include multimedia data, such as, video, teleconference, broadcast/multicast services, internet protocol (IP), and voice over IP
(VoIP).
[0032] The techniques described herein relate to partitioning information units, thereby creating a plurality of data packets. Techniques described make use of some of the aspects described in co-pending U.S. Patent Applications referenced in the REFERENCE TO CO-PENDING APPLICATIONS FOR PATENT section above. For example, a technique referred to as explicit bit rate (EBR) is described wherein an encoder may be constrained such that it encodes application layer information units into sizes that match physical layer packet sizes of a communication channel.
[0033] As noted, RTP is a mechanism used to stream data by encoding the stream into packets. In RTP, a header that includes routing and sequencing information is appended to each packet. An aspect of the present invention is to reduce the size of the header, or remove the header entirely. In this way, the amount of data transmitted over a wireless communication channel transmitting RTP packets is reduced.
[0034] Figure 1 shows a communication system 100 constructed in accordance with the present invention. The communication system 100 includes infrastructure 101, multiple wireless communication devices (WCD) 104 and 105, and landline communication devices 122 and 124. The WCDs will also be referred to as mobile stations (MS) or mobiles. In general, WCDs may be either mobile or fixed. The landline communication devices 122 and 124 can include, for example, serving nodes, or content servers, that provide various types of multimedia data such as streaming data.
In addition, MSs can transmit streaming data, such as multimedia data.
[0035] The infrastructure 101 may also include other components, such as base stations 102, base station controllers 106, mobile switching centers 108, a switching network 120, and the like. In one embodiment, the base station 102 is integrated with the base station controller 106, and in other embodiments the base station 102 and the base station controller 106 are separate components. Different types of switching networks 120 may be used to route signals in the communication system 100, for example, IP
networks, or the public switched telephone network (PSTN).
[0036] The term "forward link" or "downlink" refers to the signal path from the infrastructure 101 to a MS, and the term "reverse link" or "uplink" refers to the signal path from a MS to the infrastructure. As shown in Figure 1, MSs 104 and 105 receive signals 132 and 136 on the forward link and transmit signals 134 and 138 on the reverse link. In general, signals transmitted from a MS 104 and 105 are intended for reception at another communication device, such as another remote unit, or a landline communication device 122 and 124, and are routed through the IP network or switching network 120. For example, if the signal 134 transmitted from an initiating WCD
104 is intended to be received by a destination MS 105, the signal is routed through the infrastructure 101 and a signal 136 is transmitted on the forward link to the destination MS 105. Likewise, signals initiated in the infrastructure 101 may be broadcast to a MS
105. For example, a content provider may send multimedia data, such as streaming multimedia data, to a MS 105. Typically, a communication device, such as a MS
or a landline communication device, may be both an initiator of and a destination for the signals.
[0037] Examples of a MS 104 include cellular telephones, wireless communication enabled personal computers, and personal digital assistants (PDA), and other wireless devices. The communication system 100 may be designed to support one or more wireless standards. For example, the standards may include standards referred to as Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), TIA/EIA-95-B (IS-95), TIA/EIA-98-C (IS-98), IS2000, HRPD, cdma2000, Wideband CDMA (WCDMA), and others.
[0038] Figure 2 is a block diagram illustrating an exemplary packet data network and various air interface options for delivering packet data over a wireless network. The techniques described may be implemented in a packet switched data network 200 such as the one illustrated in Figure 2. As shown in the example of Figure 2, the packet switched data network system may include a wireless channel 202, a plurality of recipient nodes or MS 204, a sending node or content server 206, a serving node 208, and a controller 210. The sending node 206 may be coupled to the serving node 208 via a network 212 such as the Internet.
[0039] The serving node 208 may comprise, for example, a packet data serving node (PDSN) or a Serving GPRS Support Node (SGSN) or a Gateway GPRS Support Node (GGSN). The serving node 208 may receive packet data from the sending node 206, and serve the packets of information to the controller 210. The controller 210 may comprise, for example, a Base Station Controller/Packet Control Function (BSC/PCF) or Radio Network Controller (RNC). In one embodiment, the controller 210 communicates with the serving node 208 over a Radio Access Network (RAN). The controller 210 communicates with the serving node 208 and transmits the packets of information over the wireless channel 202 to at least one of the recipient nodes 204, such as an MS.
[0040] In one embodiment, the serving node 208 or the sending node 206, or both, may also include an encoder for encoding a data stream, or a decoder for decoding a data stream, or both. For example the encoder could encode a video stream and thereby produce variable-sized frames of data, and the decoder could receive variable sized frames of data and decode them. Because the frames are of various size, but the video frame rate is constant, a variable bit rate stream of data is produced.
Likewise, a MS
may include an encoder for encoding a data stream, or a decoder for decoding a received data stream, or both. The term "codec" is used to describe the combination of an encoder and a decoder.
[0041] In one example illustrated in Figure 2, data, such as multimedia data, from the sending node 206 which is connected to the network, or Internet 212 can be sent to a recipient node, or MS 204, via the serving node, or Packet Data Serving Node (PDSN) 206, and a Controller, or Base Station Controller/Packet Control Function (BSC/PCF) 208. The wireless channel 202 interface between the MS 204 and the BSC/PCF 210 is an air interface and, typically, can use many channels for signaling and bearer, or payload, data.
Air Interface [0042] The air interface 202 may operate in accordance with any of a number of wireless standards. For example, the standards may include standards based on TDMA
or FDMA, such as Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), or standards based on CDMA such as TIA/EIA-95-B (IS-95), TIA/EIA-98-C (IS-98), IS2000, HRPD, cdma2000, Wideband CDMA (WCDMA), and others.
RTP Packetization [0043] The Real-Time Transport Protocol (RTP) is a protocol developed for transmitting real time data, such as multimedia data. RTP is a flexible protocol providing mechanisms to stream real time data over IP networks. See "RTP: A
Transport Protocol for Real-Time Applications", H. Schulzrinne [Columbia University], S. Casner [Packet Design], R. Frederick [Blue Coat Systems Inc.], V. Jacobson [Packet Design], RFC-3550 draft standard, Internet Engineering Steering Group, July 2003, available at URL www.fags.org/rfc/rfc3550.html). Streaming refers to a technique for transferring data such that it can be processed as a steady and continuous stream.
[0044] A description of a way to use RTP to stream a particular type of data, for example video, is referred to as an RTP profile. In an RTP profile, the output of a source encoder is grouped into packets and header information is added to the packet.
[0045] Figure 3 is a diagram illustrating various levels of encapsulation present when using RTP to transmit multimedia data, such as video data or VoIP, over a wireless link.
As shown in Figure 3, a payload 302 is generated. For example, the payload can be streaming multimedia data, for example, video data or VoIP. The payload 302 may be pre-pended by a Slice_Header (SH) 304 that includes additional information pertaining to the payload 302. The RTP protocol then encapsulates the payload into one or several RTP packets and appends an RTP header 306. In the example illustrated in Figure 3, the payload is encapsulated into a single RTP packet with an RTP header 306 indicated by "RTP." A User Datagram Protocol (UDP) header 308 is then added to each RTP
packet, indicating the source and destination ports. An Internet Protocol (IP) header 310 is then added to indicate the network address of the source and destination hosts. For example, in one embodiment the RTP header may be 12 bytes, the UDP header may be 20 bytes, and the IP header may be 8 bytes, thereby resulting in a 40 byte header being appended to the payload 302. It is desirable to reduce the size of the header to conserve system resources when transmitting RTP over a wireless communication system.
[0046] Upon entering the wireless network, a point to point protocol (PPP) header 312 is added to provide framing information for serializing the packets into a continuous stream of bits. A radio link protocol, for example, RLP in cdma2000 or RLC in W-CDMA, then packs the stream of bits into RLP packets 314. The radio-link protocol allows, among other things, the re-transmission and re-ordering of packets sent over the air interface. Finally, the air interface MAC-layer takes one or more RLP
packets 314, packs them into MUX layer packet 316, and adds a multiplexing header (MUX) 318. A
physical layer packet channel coder then adds a checksum (CRC) 320 to detect decoding errors, and a tail part 322 forming a physical layer packet 325.
[0047] The Internet Engineering Steering Group has proposed guidelines, or rules, about the packetization of video that is carried by RTP. See, "RTP Payload Format for MPEG-4 Audio/Visual Streams", Y. Kikuchi [Toshiba], T. Nomura [NEC], S.
Fukunaga [Oki], Y. Matsui [Matsushita], H. Kimata [NTT], RFC-3016 proposed standard, Internet Engineering Steering Group, November 2000, available at URL
www:fags.org/rfcs/rfcs306O.html). Although these rules address MPEG-4, similar schemes also apply to the other video codecs. The RFC3016 defines the following three options for packetization, where Video Object Planes (VOP) refers to an MPEG-4 video frame:
1. Packing one Video Frame per RTP Packet: "The RTP timestamp indicates the sampling instance of the VOP contained in the RTP packet. A constant offset, which is random, is added for security reasons." In this case, the RTP
timestamp and RTP sequence number are incremented.
2. Packing multiple Video Frames per RTP Packet: "When multiple VOPs are carried in the same RTP packet, the timestamp indicates the earliest of the VOP
times within the VOPs carried in the RTP packet. Timestamp information of the rest of the VOPs are derived from the timestamp fields in the VOP header (modulo-time-base and vop_time_increment). [...] This kind of packetization is effective to save the overhead of RTP/IP headers when the bit-rate of the underlying network is low. However, it will decrease the packet-loss resiliency because multiple video packets are discarded by a single RTP packet loss. The optimal number of video packets in an RTP packet and the length of the RTP
packet can be determined considering the packet-loss rate and the bit-rate of the underlying network." In this case, the RTP timestamp jumps ahead and the RTP
sequence number is incremented.
3. Segmenting one Video Frame over multiple RTP Packets: "It is RECOMMENDED that a single video packet is sent as a single RTP packet. The size of a video packet SHOULD be adjusted in such a way that the resulting RTP packet is not larger than the path-MTU. [...] When the packet-loss rate of the underlying network is high, this kind of packetization is recommended.
Even when the RTP packet containing the VOP header is discarded by a packet loss, the other RTP packets can be decoded by using the HEC (Header Extension Code) information in the video packet header. No extra RTP header field is necessary." In this case, the RTP timestamp remains the same and the RTP
sequence number is incremented.
[0048] In general, RTP packetization is simpler for speech codecs, or vocoders, as the "variability" of encoders is well defined. For example in cdma2000 vocoders, the payload size is one of four (4) possible rates (i.e., full rate, half rate, fourth rate, and eighth rate).
Header Compression during Transmission of Multimedia Data Streams Generic Header Compression Support [00491 A size of a compressed header, wherein the header includes RTP/UDP/IP/PPP.
headers, for a given compression scheme, depends on changes in the RTP
timestamp and the RTP sequence number, among other things. An encoder does not know the actual size of the compressed header at the time of encoding a data packet, for example from a multimedia data stream such as a video data stream. While the actual size of the compressed header may not be known, it is possible to set an upper limit on the header size. For example, during setup of a session an upper limit on header size may be established depending on parameters such as the compression scheme, UDP
checksum option, and the like.
[0050] In one embodiment, a set of possible data rates may be negotiated between a sending terminal, a receiving terminal and their corresponding PDSNs. For example, a set of possible data rates may be negotiated between a sending MS, a receiving MS, and their corresponding PDSNs. Each of the possible data rates has associated with it physical layer packet sizes.
Let S represent, in bytes, the set of physical layer packet sizes corresponding to the data rates available to the encoder after negotiation.
S = [ri rz = = - ri] Eq. I
Then, S=S-x Eq.2 where S represents the maximum amount of data, in bytes, within a physical layer packet that can be used for payload, and x E {0,1,2,3,4} where the value of x represents an upper limit on the compressed header size, in bytes, and is dependent on the type of header compression scheme used. For example, as discussed further below, values of correspond to different compression schemes, where:
x = 0 corresponds to zero-header compression, where the header is removed entirely;
x 1 or 2 correspond to robust header compression (ROHC) without UDP checksum;
x = 3 or 4 correspond to ROHC with UDP checksum;
[0051] In one embodiment, MSs, content servers and PDSNs that are involved in a session negotiate values for S and x during setup of a session setup. The negotiation may take into account parameters, such as, the encoding schemes and compression schemes supported by the various devices in the session. During the session a data stream, such as a multimedia data stream, may be partitioned into portions that are sized such that an encoder generates packets that are S-x bytes in size, leaving enough space for compressed headers. For example, if a video data stream is transmitted during a session, a video frame is partitioned, or "sliced", such that when the video slice is encoded the encoded slice will be S-x bytes and the compressed header will be no larger than x bytes in size. If the size of the compressed header is less than x bytes, then null bytes can be included, or the amount of data allocated to encoding the video slice can be increased so that data packets that are generated are of a desired size.
[0052] Figure 4 is a flow diagram illustrating an example of a negotiation of values for S and x. Flow begins in block 402 where a MS notifies a device in the infrastructure, for example a PDSN, which compression schemes the MS supports. In addition, the MS can notify the PDSN if the MS prefers one of the supported compression schemes over another. Flow then continues to block 404. In block 404, the infrastructure device, such as a PSDN, compares the MS supported compression schemes with the compression schemes supported by the infrastructure device. The infrastructure device may also take into account any preferences of the MS. Flow then continues to block 406 where the infrastructure device notifies the MS of the compression scheme to use during a session.
[0053] As an example of the negotiation illustrated in Figure 4, a MS may notify a PDSN that the MS supports x = 0, 3, and 1 in that preferred order. In this example, the PDSN does not support x = 1 (ROHC without UDP checksum). The PDSN may then send the supported options (x = 0, 3) to a second PDSN that will be participating in the session. The second PDSN may find out that a receiving MS that will also be participating in the session can support x = 0, 1, 2, 3, and 4, while the second PDSN
itself can support x = 0, 1, and 4. Because the only value of x that is supported by all participants in the session is x = 0, the session will be established using a value of zero for x.
[0054] Figure 5 is a flow diagram illustrating another example of a negotiation of values for S and x . Flow begins in block 502 where a device in the infrastructure, for example a PDSN, notifies a MS as to which compression schemes the infrastructure device supports. In addition, the infrastructure device can notify the MS of any preferences the infrastructure has for one of the supported compression schemes over another. Flow then continues to block 504. In block 504, the MS compares the MS
supported compression schemes with the compression schemes supported by the infrastructure device. The MS may also take into account any preferences of the infrastructure device. Flow then continues to block 506 where the MS notifies the infrastructure device of the compression scheme to use during a session.
[0055] An example of a protocol sequence for the above examples is listed below:
= During PPP Internet Protocol Control Protocol (IPCP), both mobile and PDSN indicate their header compression capabilities to each other, along with any preferences, and negotiate to a set of common compression capabilities supported by both mobile and PDSN.
= The mobile determines which header compression type to be used and hence the x value.
= The mobile conveys information, such as the x value, the data packet size, such as a video slice size, etc., to a content server in communication with a PSDN via a wireless communication system (e.g., Session Description Protocol (SDP) parameters in Session Initiation Protocol (SIP) or Real Time Streaming Protocol (RTSP), etc.).
= The mobile conveys flow information, such as, address/port, header compression type, etc., to the PDSN via 3GPP2-specific signaling (i.e., RESerVation (RESV) message). This information allows the PDSN to know what header compression type to be used on this particular session flow identified by the address/port.
Robust Header Compression [0056] Robust Header Compression (ROHC) as used herein relates to compression schemes that make use of redundancies between consecutive packets by maintaining state information (context) at both a compressor and a decompressor. The static context information is sent only initially, at the beginning of a session, while dynamic context is sent with subsequent data packets. In order for the decompressor to regenerate the uncompressed packets correctly, the context in the decompressor needs to be synchronized to the context used by the compressor during compression.
Techniques that have been developed to maintain synchronization of the context between the decompressor and compressor include the Robust Header Compression (ROHC) technique developed by the ROHC Working Group of the Internet Engineering Task Force, [see, for example the standards and drafts at the Internet URL
www.ietf.org/rfc/rfc3095.txt?number=3095] .
[00571 Using ROHC there is a one byte header for most payloads when context is available at the decompressor and a forty-four byte header when it is necessary to establish the context at the decompressor. When UDP checksum is enabled, the compressed header size, when context is available at the decompressor, is three bytes.
In one embodiment, ROHC is used and when context is available at the decompressor the payload packet sizes are restricted to be one byte smaller than the physical layer packet sizes. In another embodiment, ROHC with UDP checksum enabled is used and when context is available at the decompressor the payload packet sizes are restricted to be three bytes smaller than the physical layer packet sizes.
[00581 When ROHC context needs to be established, a "blank and burst"
transmission feature of edma2000 can be used, for example on multiple communication channels, or an additional packet can be sent. In this way, use of ROHC can be used with the techniques described and thereby result in a reduction in the amount of data transmitted-"Blank and burst" means that the signaling data (in this case the ROHC context information) is sent instead of voice data.
Zero Byte Header Compression [00591 A third generation mobile technology, known as Universal Mobile Telecommunications System (UMTS), can deliver audio and video to wireless devices anywhere in the world through fixed, wireless and satellite systems. In general, a UMTS codec payload size is fixed based on the Adaptive Multi-Rate (AMR) mode.
In order to amortize the RTP overhead across multiple frames one or both of the following methods can be used:
1. header compression (such as ROHC) 2. bundling multiple frames in one RTP packet When bundling is used, the RTP timestamp is that of the earliest frame in the RTP
packet.
[00601 When an IP node is communicating with a receiver, or "sink" terminal, it may not be necessary to reconstruct the RTP header if the timestamp information is implicitly known. If the decoder receives frames at a constant, known, rate, the decoder may be able to output samples without additional timestamp information. For example, if a decoder receives at least one frame every 20 ms, the decoder can output samples every 20 ms without additional timestamp information. Blank frames may be generated during packet losses.
[0061] Figure 6 is a diagram illustrating a protocol stack for packet data in accordance with a zero byte header compression technique in a wireless communication system. In the example illustrated in Figure 6, a MS 602 receives data from a host 604 in the infrastructure. In the host 604 a codec 606 encodes data packets. The output of the codec has RTP, UDP and IP header information, 608, 610, and 612 respectively, appended to the data packets. A PDSN 614 sends the encoded data packet to the MS
602 via a Radio Network 616, such as a base station/packet control function.
When the data packets are received by the MS 602, the data packets are routed from a media access control layer 618 to a codec 620. The codec 620 in the MS 602 decodes the received packet.
[0062] As described above, with RTP packetization it has been shown that when multiple video frames are included in one RTP packet a compliant decoder can recreate the timing of frames in this packet using the modulo_timebase and time_incriment fields of the subsequent video frames in the RTP packet. For example, using EBR, if there is a QoS guarantee that n video frames are delivered every nT ms (where T is the time between two video frames, T = 1000/frames-per second), a mechanism for synchronous delivery of video data may be established. Thus, the EBR approach can utilize zero byte header compression, similarly to Service Option 60 (S060) for speech.
Use of zero byte header compression can greatly reduce the amount o data that is transmitted. For example, in a wireless communication system based on CDMA, for a supplemental channel (SCH) operating at 8x (a 64 kbps stream) this technique could result in a reduction of at least 44 bytes of header information for each 160 bytes, e.g.
about a 27.5% savings in the bitrate.
[0063] Figure 7 is a chart illustrating IP header overhead verses data rate of a video data stream. The vertical axis 702 represents a RTP/UDP/IP/PPP overhead normalized as a percent of the total bitrate and the horizontal axis 704 represents a bitrate for the video stream. The curve 706 of Figure 7 illustrates the increase in available bitrate for data as the size of the overhead reduces. In the example illustrated in Figure 7, a value of four bytes was used for PPP overhead. A value of four for the PPP overhead probably underestimates actual values for the PPP overhead because, occasionally, escape codes are added so that some of the video data is not mistaken for a PPP header.
[0064] As illustrated in Figure 7, although the percentage of the total bit rate that is dedicated to overhead decreases as the bitrate increases, a significant amount of the total bitrate may be dedicated to transmission of overhead. For example, at a bit rate of 88 bytes per second about 20% of the total bit rate is dedicated to the transmission of overhead. Removal, or reduction, of header information through techniques such as ROHC and zero byte header compression allows bitrate that would otherwise be dedicated to transmission of overhead to instead be used to improve video quality or increase the system capacity, or the like.
[0065] Figure 8 is a block diagram illustrating exemplary components used in decoding multimedia data when a zero byte header technique is used. As shown in Figure 8, a channel decoder 802 is configured to receive data packets that make up a multimedia data stream. The output of the channel decoder 802 is connected to an RLP
resequencer 804. The RLP resequencer 804 places the channel packets into a resequencing buffer 806 where the channel packets are sequenced in accordance with the sequence number of each packet. A multimedia decoder 808, for example a video decoder, retrieves the data packets from the resequencing buffer 806 and decodes the individual multimedia packets. The multimedia packets are output from the multimedia decoder 808 and placed into a multimedia frame buffer 810 where the multimedia packets are stored. A
multimedia play out device 812 retrieves decoded multimedia packets from the multimedia frame buffer 810. The multimedia play out device 812 formats the multimedia packets for presentation to a user in an appropriate multimedia presentation device 814. For example, if the multimedia data is video data, then the multimedia presentation device 814 may be a video display.
[0066] Figure 9 is a flow chart illustrating an example of decoding of a multimedia data stream that uses a zero byte header compression technique as could be accomplished in a multimedia decoder 808 shown in Figure 8. In the example of Figure 9, the multimedia data is video data and the multimedia decoder 808 is a video decoder. Flow begins in block 902 where the video decoder retrieves a data packet, or slice, that is next in-sequence from a resequencing buffer. Flow continues to block 904. In block 904 the data packet is examined and it is determined if the data packet includes a start code or a resync marker. If the data packet includes a start code, indicating the start of a video frame in the video stream, then flow continues to block 906. In block 906 the data packet is examined and a Frame Header is read. The frame header may include information about an entire video frame including timing information. Flow then continues to block 908 where a new frame in a video frame buffer is opened.
Flow then continues to block 910.
[00671 Returning to block 904, if the data packet is examined and it is determined that the data packet, or slice, includes a resync marker flow continues to block 912. If the data packet includes a resync marker then the data packet is not the start of a video frame in the video stream but is a portion, also referred to as a slice or a macroblock, of a video frame. In block 912 a slice header of the data packet, or slice or macroblock, is read. Flow then continues to block 910.
[0068] In block 910 the data packet, or slice or macroblock, is decoded. Flow then continues to block 914 where it is determined if a decoding error occurred.
For example, it may be determined in block 914 that there are conflicting sequence numbers in decoded data packets. If it is determined that there is a decoding error, an affirmative outcome at block 914, flow continues to block 916. In block 916 the data packet, or slice containing the decoding error is discarded. Flow then continues to block 918 where it is determined if there are additional data packets in the stream.
[0069] Returning to block 914, if there is no decoding error, a negative outcome at block 914, then flow continues to block 920. In block 920 the encoded packet, or slice, is inserted into the open video frame. Flow then continues to block 922 where it is determined if there are additional data packets in the stream.
[0070] In block 922 if it is determined if there are no additional data packets in the stream, a negative outcome at block 922, flow continues to block 919 where it is determined if there are additional data packets in the stream. At block 922, if it is determined that there are more packets in the stream, an affirmative outcome at block 922, then flow continues to block 910 and the next macro block of the packet is decoded. Returning to block 918, if it is determined there are additional data packets in the stream, an affirmative outcome at block 918, flow continues to block 902 and the next packet in the sequence is retrieved. If, in block 918, it is determined that there are no additional data packets in the stream, a negative outcome in block 918, flow continues to block 924 and flow stops.
[0071] Figure 10 is a flow diagram illustrating an exemplary procedure for a multimedia play out device 812. In the example of Figure 10, the multimedia data is video data and the multimedia play out device 812 is a video play out device.
Flow begins in block 1002 where decoded video frames are retrieved from a video frame buffer at a frame rate of the video data. The video frame that is retrieved is the oldest frame in the video frame buffer. The age of the video frames may be determined, for example, by the RTP sequence number of the video frames, or timestamps of the video frames, or other techniques. Flow then continues to block 1004. In block 1004 the retrieved frames are examined and error concealment techniques are applied if desired.
For example, error concealment techniques may be applied if there are missing packets, of slices, in a video frame, or if an entire video frame is missing, or other types of error.
[0072] Error concealment techniques can include, for example, copying packets, or slices from a previous video frame to replace a corrupted slice in the current video frame. Another example of error concealment is to use information from neighboring video slices to generate a replacement slice for a corrupted slice. For example, information from neighboring slices can be used to determine, for example, interpolation motion vectors for the corrupted slice. Other techniques for concealment of errors in video slices may also be implemented. The error concealment techniques of block 1004 can also be performed as part of the video decoding, for example as part of the flow diagram of Figure 9.
[0073] Flow continues from block 1004 to block 1006. In block 1006 the video data is displayed. For example, the video data may be projected on a video display in a wireless communication device, such as a cell phone, PDA, wireless enabled personal computer, or other wireless communication device.
[0074] Figure 11 is a flow diagram illustrating an exemplary procedure for transmitting data over a wireless communication system. Flow beginnings in block 1102 where a physical layer packet size of the wireless communication system is determined.
For example, the physical layer packet size can be a single size or one of a plurality of sizes.
Flow continues to block 1104 where a maximum size of a compressed header is determined. Flow then continues to Block 1106. In block 1106 an information unit is partitioned. The size of the partition is selected such that after a partition is encoded the total;, or aggregate, size of the encoded partition and the compressed header are no greater than the physical layer packet size.
[0075] Figure 12 is a block diagram of a wireless communication device, or MS, constructed in accordance with an exemplary embodiment of the present invention. The communication device 1202 includes a network interface 1206, a codec 1208, a host processor 1210, a memory device 1212, a program product 1214, and a user interface 1216.
[0076] Signals from the infrastructure are received by the network interface 1106 and sent to the host processor 1210. The host processor 1210 receives the signals and, depending on the content of the signal, responds with appropriate actions. For example, the host processor 1210 may decode received data packets of a multimedia data stream, for example a video data stream, or it may route the received signal to the codec 1208 for decoding. In another embodiment, the received signal are sent directly to the codec 1208 from the network interface 1206.
[0077] Signals from the MS can also be transmitted to the infrastructure from the host processor 1206, or the codec 1208, or both via the network interface 1206. The host processor 1210 may partition a data stream into data packets that are sized so that after a header is appended to the data packet the total size of the data packet and appended header matches the size of a physical layer packet size. In another embodiment, the codec 1208 partitions a data stream into data packets that are sized so that after a header is appended to the data packet the total size of the data packet and appended header matches the size of a physical layer packet size. In both embodiments, the data packet and appended header are then sent to the network interface 1206 and transmitted to the infrastructure.
[0078] In one embodiment, the network interface 1206 may be a transceiver and an antenna to interface to the infrastructure over a wireless channel. In another embodiment, the network interface 1206 may be a network interface card used to interface to the infrastructure over landlines.
[0079] Both the host processor 1210 and the codec 1208 are connected to a memory device 1212. The memory device 1212 may be used to store data during operation of the MS. For example, the memory device may include a resequencing buffer, or a frame buffer, or both. The memory device may also store program code that will be executed by the host processor 1210 or the codec 1208, or both. For example, the host processor, codec, or both, may operate under the control of programming instructions that are temporarily stored in the memory device 1212. The host processor 1210 and codec 1208 also can include program storage memory of their own. When the programming instructions are executed, the host processor 1210 or codec 1208, or both, perform their functions, for example encoding and decoding multimedia streams with compressed headers. Thus, the programming steps implement the functionality of the respective host processor 1210 and codec 1208, so that the host processor and codec can each be made to perform the functions of encoding or decoding content streams with compressed headers as desired. The programming steps may be received from a program product reader 1214. The program product 1214 may store, and transfer the programming steps into the memory 1212 for execution by the host processor, codec, or both.
[0080] The program product 1214 may include a reader that receives interchangeable storage devices. The interchangeable storage devices may be a semiconductor memory chip, such as RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, as well as other storage devices such as a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art that may store computer readable instructions. Additionally, the program product 1214 may be a source file including the program steps that is received from the network and stored into memory and is then executed. In this way, the processing steps necessary for operation in accordance with the invention may be embodied on the program product.
In Figure 12, the exemplary storage medium is shown coupled to the host processor 1210 such that the host processor may read information from, and write information to, the storage medium. Alternatively, the storage medium may be integral to the host processor 1210.
[0081] The user interface 1216 is connected to both the host processor 1210 and the codec 1208. For example, the user interface 1216 may include a display and a speaker used to output multimedia data to the user.
[0082] Those of skill in the art will recognize that the step of a method described in connection with an embodiment may be interchanged without departing from the scope of the invention.
[0083] Those of skill in the art would also understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
[0084] Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality.
Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
[0085] The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0086] The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC
may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
[00871 The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (45)
1. A method of transmitting data over a wireless communication system, the method comprising:
determining a physical layer packet size of the wireless communication system from a set of physical layer packet sizes related to data encoding rates available;
determining a maximum size of a compressed header based on supported compression schemes identified as usable within the wireless communication system; and partitioning an information unit based on the physical layer packet size and the maximum size of the compressed header, wherein partitions are sized such that after a partition is encoded an aggregate size of each encoded partition and an associated compressed header is no greater than the physical layer packet size.
determining a physical layer packet size of the wireless communication system from a set of physical layer packet sizes related to data encoding rates available;
determining a maximum size of a compressed header based on supported compression schemes identified as usable within the wireless communication system; and partitioning an information unit based on the physical layer packet size and the maximum size of the compressed header, wherein partitions are sized such that after a partition is encoded an aggregate size of each encoded partition and an associated compressed header is no greater than the physical layer packet size.
2. A method as defined in claim 1, wherein the information unit comprises multimedia data.
3. A method as defined in claim 1, wherein the information unit comprises video data.
4. A method as defined in any one of claims 1 to 3, wherein a header is compressed in accordance with robust header compression techniques.
5. A method as defined in any one of claims 1 to 3, wherein a header is compressed in accordance with zero-byte header compression techniques.
6. A method as defined in any one of claims 1 to 5, wherein the physical layer packet size and the maximum size of the compressed header is determined by negotiation between participants in a communication session.
7. A method as defined in any one of claims 1 to 6, wherein the wireless communication system is a CDMA system.
8. A method as defined in any one of claims 1 to 6, wherein the wireless communication system is a GSM system.
9. A method as defined in any one of claims 1 to 6, wherein the wireless communication system is an EDGE system.
10. A method as defined in any one of claims 1 to 6, wherein the wireless communication system is a GPRS system.
11. A method of transmitting multimedia data over a wireless communication system, the method comprising:
determining a set of possible physical layer data packet sizes of available communication channels, each possible physical layer data packet size corresponding to an encoding rate;
selecting a physical layer packet size corresponding to a related encoding rate from the set of possible physical layer data packet sizes;
determining a maximum size of a compressed header based on supported compression schemes identified as usable within the wireless communication system;
partitioning a frame of multimedia data into partitions based on the physical layer packet size and the maximum size of the compressed header, wherein partition sizes are selected so that an aggregate size of a partition plus the maximum size of the compressed header match the physical layer packet size; and encoding the partition at the related encoding rate, appending the compressed header and transmitting the encoded partition with the appended compressed header.
determining a set of possible physical layer data packet sizes of available communication channels, each possible physical layer data packet size corresponding to an encoding rate;
selecting a physical layer packet size corresponding to a related encoding rate from the set of possible physical layer data packet sizes;
determining a maximum size of a compressed header based on supported compression schemes identified as usable within the wireless communication system;
partitioning a frame of multimedia data into partitions based on the physical layer packet size and the maximum size of the compressed header, wherein partition sizes are selected so that an aggregate size of a partition plus the maximum size of the compressed header match the physical layer packet size; and encoding the partition at the related encoding rate, appending the compressed header and transmitting the encoded partition with the appended compressed header.
12. A method as defined in claim 11, wherein the multimedia data is a variable bit rate stream.
13. A method as defined in claim 11, wherein the multimedia data is a video stream.
14. A method as defined in any one of claims 11 to 13, wherein determining the set of possible physical layer data packet sizes and the maximum size of the compressed header is determined by negotiation between participants in a communication session.
15. A method as defined in any one of claims 11 to 14, wherein the communication channels are CDMA channels.
16. A method as defined in any one of claims 11 to 14, wherein the communication channels are GSM channels.
17. A method as defined in any one of claims 11 to 14, wherein the communication channels are EDGE channels.
18. A method as defined in any one of claims 11 to 14, wherein the communication channels are GPRS channels.
19. A method as defined in any one of claims 11 to 18, wherein a header is compressed in accordance with robust header compression techniques.
20. A method as defined in any one of claims 11 to 18, wherein a header is compressed in accordance with zero byte header compression techniques.
21. A wireless communication device comprising:
a processor configured to determine possible data packet sizes of available communication channels from a set of data packet sizes related to data encoding rates available and a maximum size of a compressed header based on supported compression schemes identified as usable by the wireless communication device;
an encoder configured to partition multimedia data into partitions based on determined data packet size and maximum size of the compressed header, wherein partition sizes are selected so that an aggregate size of a partition plus the maximum size of a compressed header match one possible data packet size, encode the partition at an encoding rate corresponding to the determined data packet size, and append the compressed header; and a transmitter configured to transmit the partition with the appended compressed header.
a processor configured to determine possible data packet sizes of available communication channels from a set of data packet sizes related to data encoding rates available and a maximum size of a compressed header based on supported compression schemes identified as usable by the wireless communication device;
an encoder configured to partition multimedia data into partitions based on determined data packet size and maximum size of the compressed header, wherein partition sizes are selected so that an aggregate size of a partition plus the maximum size of a compressed header match one possible data packet size, encode the partition at an encoding rate corresponding to the determined data packet size, and append the compressed header; and a transmitter configured to transmit the partition with the appended compressed header.
22. A wireless communication device as defined in claim 21, wherein the multimedia data is a data stream.
23. A wireless communication device as defined in claim 21, wherein the multimedia data is a video stream.
24. A wireless communication device as defined in any one of claims 21 to 23, wherein the communication channels are CDMA channels.
25. A wireless communication device as defined in any one of claims 21 to 23, wherein the communication channels are GSM channels.
26. A wireless communication device as defined in any one of claims 21 to 23, wherein the communication channels are GPRS channels.
27. A wireless communication device as defined in any one of claims 21 to 23, wherein the communication channels are EDGE channels.
28. A wireless communication device as defined in any one of claims 21 to 27, wherein a header is compressed in accordance with robust header compression techniques.
29. A wireless communication device as defined in any one of claims 21 to 27, wherein the header is compressed in accordance with zero byte header compression techniques.
30. A computer readable medium having stored thereon computer readable instructions for performing a method of encoding data, the computer readable instructions including instructions for performing operations comprising:
determining a physical layer packet size of a wireless communication system from a set of physical layer packet sizes related to data encoding rates available;
determining a maximum size of a compressed header based on supported compression schemes indentified as usable within the wireless communication system; and partitioning an information unit based on the physical layer packet size and the maximum size of the compressed header, wherein partition sizes are selected such that after a partition is encoded an aggregate size of the encoded partition and the compressed header is no greater than the physical layer packet size.
determining a physical layer packet size of a wireless communication system from a set of physical layer packet sizes related to data encoding rates available;
determining a maximum size of a compressed header based on supported compression schemes indentified as usable within the wireless communication system; and partitioning an information unit based on the physical layer packet size and the maximum size of the compressed header, wherein partition sizes are selected such that after a partition is encoded an aggregate size of the encoded partition and the compressed header is no greater than the physical layer packet size.
31. A computer readable medium having stored thereon computer readable instructions for performing a method of transmitting multimedia data over a wireless communication system, the computer readable instructions including instructions for performing operations comprising:
determining a set of possible physical layer data packet sizes of available communication channels, each possible physical layer data packet size corresponding to an encoding rate;
selecting a physical layer packet size corresponding to a related encoding rate from the set of possible physical layer data packet sizes;
determining a maximum size of a compressed header based on supported compression schemes indentified as usable within the wireless communication system;
partitioning a frame of multimedia data into partitions based on the physical layer packet size and the maximum size of the compressed header, wherein partition sizes are selected so that an aggregate size of a partition plus the maximum size of the compressed header match the physical layer packet size; and encoding the partition at the related encoding rate, appending the compressed header and transmitting the encoded partition with the appended header.
determining a set of possible physical layer data packet sizes of available communication channels, each possible physical layer data packet size corresponding to an encoding rate;
selecting a physical layer packet size corresponding to a related encoding rate from the set of possible physical layer data packet sizes;
determining a maximum size of a compressed header based on supported compression schemes indentified as usable within the wireless communication system;
partitioning a frame of multimedia data into partitions based on the physical layer packet size and the maximum size of the compressed header, wherein partition sizes are selected so that an aggregate size of a partition plus the maximum size of the compressed header match the physical layer packet size; and encoding the partition at the related encoding rate, appending the compressed header and transmitting the encoded partition with the appended header.
32. The computer readable medium as defined in claim 31, wherein the multimedia data is at least one of a variable bit rate stream and a video stream.
33. The computer readable medium as defined in claim 31 or claim 32, wherein determining the set of possible physical layer data packet sizes and the maximum size of the compressed header is determined by negotiation between participants in a communication session.
34. The computer readable medium as defined in any one of claims 31 to 33, wherein the communication channels are selected from the group consisting of: CDMA channels, GSM channels, EDGE channels, and GPRS channels.
35. The computer readable medium as defined in any one of claims 31 to 34, wherein a header is compressed in accordance with at least one of robust header compression techniques and zero byte header compression techniques.
36. An apparatus configured to transmit multimedia data over a wireless communication system, the apparatus comprising:
means for determining a set of possible physical layer data packet sizes of available communication channels, each possible physical layer data packet size corresponding to an encoding rate;
means for selecting a physical layer packet size corresponding to a related encoding rate from the set of possible physical layer data packet sizes;
means for determining a maximum size of a compressed header based on supported compression schemes indentified as usable within the wireless communication system;
partitioning a frame of multimedia data into partitions based on the physical layer packet size and the maximum size of the compressed header, wherein partition sizes are selected so that an aggregate size of a partition plus the maximum size of the compressed header match the physical layer packet size; and means for encoding the partition at the related encoding rate, appending the compressed header and transmitting the encoded partition with the appended header.
means for determining a set of possible physical layer data packet sizes of available communication channels, each possible physical layer data packet size corresponding to an encoding rate;
means for selecting a physical layer packet size corresponding to a related encoding rate from the set of possible physical layer data packet sizes;
means for determining a maximum size of a compressed header based on supported compression schemes indentified as usable within the wireless communication system;
partitioning a frame of multimedia data into partitions based on the physical layer packet size and the maximum size of the compressed header, wherein partition sizes are selected so that an aggregate size of a partition plus the maximum size of the compressed header match the physical layer packet size; and means for encoding the partition at the related encoding rate, appending the compressed header and transmitting the encoded partition with the appended header.
37. The apparatus as defined in claim 36, wherein the multimedia data is at least one of a variable bit rate stream and a video stream.
38. The apparatus as defined in claim 36 or claim 37, wherein the means for determining the set of possible physical layer data packet sizes and the maximum size of the compressed header determines by negotiation between participants in a communication session.
39. The apparatus as defined in any one of claims 36 to 38, wherein the communication channels are selected from the group consisting of: CDMA
channels, GSM channels, EDGE channels, and GPRS channels.
channels, GSM channels, EDGE channels, and GPRS channels.
40. The apparatus as defined in any one of claims 36 to 39, wherein a header is compressed in accordance with at least one of robust header compression techniques and zero byte header compression techniques.
41. An apparatus configured to transmit data over a wireless communication system, comprising:
means for determining a physical layer packet size of the wireless communication system from a set of physical layer packet sizes related to data encoding rates available;
means for determining a maximum size of a compressed header based on supported compression schemes indentified as usable within the wireless communication system; and means for partitioning an information unit based on the physical layer packet size and the maximum size of the compressed header, wherein partitions are sized such that after a partition is encoded, an aggregate size of each encoded partition and an associated compressed header is no greater than the physical layer packet size.
means for determining a physical layer packet size of the wireless communication system from a set of physical layer packet sizes related to data encoding rates available;
means for determining a maximum size of a compressed header based on supported compression schemes indentified as usable within the wireless communication system; and means for partitioning an information unit based on the physical layer packet size and the maximum size of the compressed header, wherein partitions are sized such that after a partition is encoded, an aggregate size of each encoded partition and an associated compressed header is no greater than the physical layer packet size.
42. The apparatus of claim 41, wherein the information unit comprises at least one of multimedia data and video data.
43. The apparatus of claim 41 or claim 42, wherein a header is compressed in accordance with at least one of robust header compression techniques and zero-byte header compression techniques.
44. The apparatus of any one of claims 41 to 43, wherein the means for determining the physical layer packet size include means for determining the size of the physical layer packet and the maximum size of the compressed header by negotiation between participants in a communication session.
45. The apparatus of any one of claims 41 to 44, wherein the wireless communication system is selected from the group consisting of: a CDMA system, a GSM system, an EDGE system, and a GPRS system.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US57167304P | 2004-05-13 | 2004-05-13 | |
US60/571,673 | 2004-05-13 | ||
PCT/US2005/016831 WO2005114950A1 (en) | 2004-05-13 | 2005-05-13 | Header compression of multimedia data transmitted over a wireless communication system |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2566125A1 CA2566125A1 (en) | 2005-12-01 |
CA2566125C true CA2566125C (en) | 2012-01-24 |
Family
ID=34969576
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2565977A Expired - Fee Related CA2565977C (en) | 2004-05-13 | 2005-05-13 | Delivery of information over a communication channel |
CA2566125A Expired - Fee Related CA2566125C (en) | 2004-05-13 | 2005-05-13 | Header compression of multimedia data transmitted over a wireless communication system |
CA002566126A Abandoned CA2566126A1 (en) | 2004-05-13 | 2005-05-13 | Synchronization of audio and video data in a wireless communication system |
CA2566124A Expired - Fee Related CA2566124C (en) | 2004-05-13 | 2005-05-13 | Method and apparatus for allocation of information to channels of a communication system |
CA2811040A Abandoned CA2811040A1 (en) | 2004-05-13 | 2005-05-13 | Delivery of information over a communication channel |
CA2771943A Expired - Fee Related CA2771943C (en) | 2004-05-13 | 2005-05-13 | Method and apparatus for allocation of information to channels of a communication system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2565977A Expired - Fee Related CA2565977C (en) | 2004-05-13 | 2005-05-13 | Delivery of information over a communication channel |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002566126A Abandoned CA2566126A1 (en) | 2004-05-13 | 2005-05-13 | Synchronization of audio and video data in a wireless communication system |
CA2566124A Expired - Fee Related CA2566124C (en) | 2004-05-13 | 2005-05-13 | Method and apparatus for allocation of information to channels of a communication system |
CA2811040A Abandoned CA2811040A1 (en) | 2004-05-13 | 2005-05-13 | Delivery of information over a communication channel |
CA2771943A Expired - Fee Related CA2771943C (en) | 2004-05-13 | 2005-05-13 | Method and apparatus for allocation of information to channels of a communication system |
Country Status (14)
Country | Link |
---|---|
US (6) | US9717018B2 (en) |
EP (9) | EP1751955B1 (en) |
JP (5) | JP2007537684A (en) |
KR (6) | KR101049701B1 (en) |
CN (5) | CN1973515B (en) |
AT (4) | ATE417436T1 (en) |
BR (4) | BRPI0510962A (en) |
CA (6) | CA2565977C (en) |
DE (4) | DE602005011611D1 (en) |
ES (4) | ES2323011T3 (en) |
MX (4) | MXPA06013193A (en) |
MY (3) | MY139431A (en) |
TW (4) | TWI381681B (en) |
WO (4) | WO2005114943A2 (en) |
Families Citing this family (196)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7136395B2 (en) * | 2000-11-30 | 2006-11-14 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for transmission of headerless data packets over a wireless link |
EP1751955B1 (en) * | 2004-05-13 | 2009-03-25 | Qualcomm, Incorporated | Header compression of multimedia data transmitted over a wireless communication system |
US7599371B1 (en) * | 2004-06-09 | 2009-10-06 | Cisco Technology, Inc. | System and method for optimizing data transport in a communications system |
FI20040817A0 (en) * | 2004-06-14 | 2004-06-14 | Nokia Corp | Transfer of packing parameters in a mobile communication system |
US7664057B1 (en) * | 2004-07-13 | 2010-02-16 | Cisco Technology, Inc. | Audio-to-video synchronization system and method for packet-based network video conferencing |
US20060062312A1 (en) * | 2004-09-22 | 2006-03-23 | Yen-Chi Lee | Video demultiplexer and decoder with efficient data recovery |
US7804850B2 (en) | 2004-10-01 | 2010-09-28 | Nokia Corporation | Slow MAC-e for autonomous transmission in high speed uplink packet access (HSUPA) along with service specific transmission time control |
EP1821442A4 (en) * | 2004-11-17 | 2011-07-20 | Sharp Kk | Transmitter |
EP1829315B1 (en) * | 2004-11-30 | 2016-08-17 | Telefonaktiebolaget LM Ericsson (publ) | Method for delivering multimedia files |
US7675872B2 (en) | 2004-11-30 | 2010-03-09 | Broadcom Corporation | System, method, and apparatus for displaying pictures |
US7970345B2 (en) * | 2005-06-22 | 2011-06-28 | Atc Technologies, Llc | Systems and methods of waveform and/or information splitting for wireless transmission of information to one or more radioterminals over a plurality of transmission paths and/or system elements |
US7764713B2 (en) * | 2005-09-28 | 2010-07-27 | Avaya Inc. | Synchronization watermarking in multimedia streams |
US8102878B2 (en) * | 2005-09-29 | 2012-01-24 | Qualcomm Incorporated | Video packet shaping for video telephony |
US9692537B2 (en) * | 2005-10-18 | 2017-06-27 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System, method, and apparatus for jitter reduction in a video decoder system |
US8842555B2 (en) * | 2005-10-21 | 2014-09-23 | Qualcomm Incorporated | Methods and systems for adaptive encoding of real-time information in packet-switched wireless communication systems |
US8548048B2 (en) * | 2005-10-27 | 2013-10-01 | Qualcomm Incorporated | Video source rate control for video telephony |
US8994879B2 (en) * | 2005-10-21 | 2015-03-31 | Thomson Licensing | Method and apparatus for audio and video synchronization timestamp rollover correction |
US8406309B2 (en) | 2005-10-21 | 2013-03-26 | Qualcomm Incorporated | Video rate adaptation to reverse link conditions |
US8514711B2 (en) * | 2005-10-21 | 2013-08-20 | Qualcomm Incorporated | Reverse link lower layer assisted video error control |
US7839948B2 (en) * | 2005-12-02 | 2010-11-23 | Qualcomm Incorporated | Time slicing techniques for variable data rate encoding |
JP4747816B2 (en) * | 2005-12-05 | 2011-08-17 | 日本電気株式会社 | Packet carpooling method, program and apparatus |
US8014389B2 (en) * | 2005-12-06 | 2011-09-06 | Lippershy Celestial Llc | Bidding network |
JP5011308B2 (en) * | 2005-12-23 | 2012-08-29 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Split data stream |
US20070169152A1 (en) * | 2005-12-30 | 2007-07-19 | Daniel Roodnick | Data and wireless frame alignment for error reduction |
US8953596B2 (en) * | 2006-01-06 | 2015-02-10 | Qualcomm Incorporated | Conserving network capacity by releasing QoS resources |
KR100754736B1 (en) * | 2006-02-10 | 2007-09-03 | 삼성전자주식회사 | Method and apparatus for reproducing image frames in video receiver system |
US8284713B2 (en) * | 2006-02-10 | 2012-10-09 | Cisco Technology, Inc. | Wireless audio systems and related methods |
KR100728038B1 (en) * | 2006-03-03 | 2007-06-14 | 삼성전자주식회사 | Method and apparatus for transmitting data on plc network by aggregating data |
US7876695B2 (en) * | 2006-03-07 | 2011-01-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Communication station and method providing flexible compression of data packets |
JP4659657B2 (en) * | 2006-03-28 | 2011-03-30 | 富士通株式会社 | Frame multiplexer |
US8059534B2 (en) * | 2006-04-03 | 2011-11-15 | Lg Electronics Inc. | Method of performing scheduling in a wired or wireless communication system and apparatus thereof |
US7684816B2 (en) * | 2006-04-06 | 2010-03-23 | Motorola, Inc. | Method and apparatus to facilitate communication resource allocation for supergroups |
CN101438533B (en) * | 2006-05-15 | 2013-01-23 | 艾利森电话股份有限公司 | Wireless multicast for layered medium |
CN1983905B (en) * | 2006-05-25 | 2011-05-11 | 华为技术有限公司 | Method for creating HRPD network grouped data service with terminal under 1x network |
US7920469B2 (en) * | 2006-06-15 | 2011-04-05 | Alcatel-Lucent Usa Inc. | Indicating a variable control channel structure for transmissions in a cellular system |
US20070299983A1 (en) * | 2006-06-21 | 2007-12-27 | Brothers Thomas J | Apparatus for synchronizing multicast audio and video |
US20070297454A1 (en) * | 2006-06-21 | 2007-12-27 | Brothers Thomas J | Systems and methods for multicasting audio |
US7584495B2 (en) * | 2006-06-30 | 2009-09-01 | Nokia Corporation | Redundant stream alignment in IP datacasting over DVB-H |
US20080025249A1 (en) * | 2006-07-28 | 2008-01-31 | Qualcomm Incorporated | 1xEVDO WIRELESS INTERFACE TO ENABLE COMMUNICATIONS VIA A SATELLITE RELAY |
US20080025312A1 (en) * | 2006-07-28 | 2008-01-31 | Qualcomm Incorporated | Zero-header compression for improved communications |
US8060651B2 (en) * | 2006-08-17 | 2011-11-15 | Sharp Laboratories Of America, Inc. | Systems and methods for adaptively packetizing data partitions for transport over a network |
US8644314B2 (en) * | 2006-09-07 | 2014-02-04 | Kyocera Corporation | Protocol and method of VIA field compression in session initiation protocol signaling for 3G wireless networks |
US8379733B2 (en) * | 2006-09-26 | 2013-02-19 | Qualcomm Incorporated | Efficient video packetization methods for packet-switched video telephony applications |
US8484059B2 (en) | 2006-10-17 | 2013-07-09 | At&T Intellectual Property I, L.P. | Methods, systems, and products for surveying facilities |
US8069412B2 (en) * | 2006-10-17 | 2011-11-29 | At&T Intellectual Property I, L.P. | Methods, systems, and products for mapping facilities data |
US20080101476A1 (en) * | 2006-11-01 | 2008-05-01 | Qualcomm Incorporated | Video coding rate adaptation to reduce packetization overhead |
CN101179484A (en) * | 2006-11-09 | 2008-05-14 | 华为技术有限公司 | Method and system of synchronizing different media stream |
CN100450163C (en) * | 2006-11-30 | 2009-01-07 | 中兴通讯股份有限公司 | A video and audio synchronization playing method for mobile multimedia broadcasting |
US7889191B2 (en) | 2006-12-01 | 2011-02-15 | Semiconductor Components Industries, Llc | Method and apparatus for providing a synchronized video presentation without video tearing |
US7953118B2 (en) * | 2006-12-08 | 2011-05-31 | Microsoft Corporation | Synchronizing media streams across multiple devices |
TWI364954B (en) | 2006-12-19 | 2012-05-21 | Innovative Sonic Ltd | Method and apparatus of continuous packet connectivity enhancement in a wireless communications system |
KR100946893B1 (en) * | 2007-01-03 | 2010-03-09 | 삼성전자주식회사 | Method for scheduling downlink packet in mobile communication system and apparatus thereof |
CN101578793B (en) | 2007-01-04 | 2014-03-05 | 高通股份有限公司 | Method and apparatus for distributed spectrum sensing for wireless communication |
WO2008086509A2 (en) * | 2007-01-10 | 2008-07-17 | Qualcomm Incorporated | Content- and link-dependent coding adaptation for multimedia telephony |
KR101369838B1 (en) * | 2007-04-20 | 2014-03-06 | 삼성전자주식회사 | Transport stream generating device, Transmitting device, Receiving device, Digital broadcasting system having them and method thereof |
KR100861594B1 (en) * | 2007-04-23 | 2008-10-07 | 주식회사 케이티프리텔 | Apparatus and method for controlling multimedia data rate |
US8875193B2 (en) * | 2007-05-14 | 2014-10-28 | Sigma Group, Inc. | Wireless multimedia system |
US8667318B2 (en) * | 2007-05-14 | 2014-03-04 | Picongen Wireless, Inc. | Method and apparatus for wireless clock regeneration |
CN100574283C (en) * | 2007-06-12 | 2009-12-23 | 华为技术有限公司 | Uplink and downlink transmission method and aggregation node |
EP2023521A1 (en) * | 2007-07-17 | 2009-02-11 | Alcatel Lucent | System and method for improving the use of radio spectrum in transmission of data |
CN101094406B (en) * | 2007-07-23 | 2010-09-29 | 北京中星微电子有限公司 | Method and device for transferring video data stream |
GB0715281D0 (en) * | 2007-08-07 | 2007-09-12 | Nokia Siemens Networks Oy | Reduced transmission time interval |
US7826360B1 (en) | 2007-08-27 | 2010-11-02 | Marvell International Ltd. | Adjusting transmission rates during packet expansion using in band signaling |
JP4410277B2 (en) * | 2007-08-28 | 2010-02-03 | 富士通株式会社 | Semiconductor device and method for controlling semiconductor device |
KR100916469B1 (en) | 2007-08-29 | 2009-09-08 | 엘지이노텍 주식회사 | Media Apparatus and Method for Control Thereof |
US9521186B2 (en) * | 2007-09-13 | 2016-12-13 | International Business Machines Corporation | Method and system for file transfer over a messaging infrastructure |
WO2009044232A1 (en) * | 2007-10-02 | 2009-04-09 | Nokia Corporation | Ip mtu control based on multiradio schedule |
CN101816206B (en) * | 2007-10-04 | 2014-10-08 | Lm爱立信电话有限公司 | Inter-system handoff using circuit switched bearers for serving general packet radio service support nodes |
KR100918961B1 (en) | 2007-10-09 | 2009-09-25 | 강릉원주대학교산학협력단 | Method for compressing dynamic area and deciding ncb in wireless communication network |
KR101422012B1 (en) * | 2007-10-19 | 2014-07-23 | 엘지전자 주식회사 | Method for generating control channel and decoding control channel, Base station and Mobile station thereof |
US8797850B2 (en) * | 2008-01-10 | 2014-08-05 | Qualcomm Incorporated | System and method to adapt to network congestion |
US9705935B2 (en) * | 2008-01-14 | 2017-07-11 | Qualcomm Incorporated | Efficient interworking between circuit-switched and packet-switched multimedia services |
US20090185534A1 (en) * | 2008-01-18 | 2009-07-23 | Futurewei Technologies, Inc. | Method and Apparatus for Transmitting a Packet Header |
US9357233B2 (en) * | 2008-02-26 | 2016-05-31 | Qualcomm Incorporated | Video decoder error handling |
JP5115802B2 (en) * | 2008-03-11 | 2013-01-09 | 富士通株式会社 | Scheduling apparatus, scheduling method, and program |
CN101257366B (en) * | 2008-03-27 | 2010-09-22 | 华为技术有限公司 | Encoding and decoding method, communication system and equipment |
US20090268732A1 (en) * | 2008-04-29 | 2009-10-29 | Thomson Licencing | Channel change tracking metric in multicast groups |
KR101367886B1 (en) * | 2008-05-07 | 2014-02-26 | 디지털 파운튼, 인크. | Fast channel zapping and high quality streaming protection over a broadcast channel |
KR101579136B1 (en) * | 2008-06-11 | 2016-01-04 | 코닌클리케 필립스 엔.브이. | Synchronization of media stream components |
US20100003928A1 (en) * | 2008-07-01 | 2010-01-07 | Motorola, Inc. | Method and apparatus for header compression for cdma evdo systems |
US20100027524A1 (en) * | 2008-07-31 | 2010-02-04 | Nokia Corporation | Radio layer emulation of real time protocol sequence number and timestamp |
JP2010081212A (en) * | 2008-09-25 | 2010-04-08 | Mitsubishi Electric Corp | Sound transmission apparatus |
US8966543B2 (en) * | 2008-09-29 | 2015-02-24 | Nokia Corporation | Method and system to enable adaptation between physical bearers and OMA-BCAST |
JP5135147B2 (en) | 2008-09-29 | 2013-01-30 | 富士フイルム株式会社 | Video file transmission server and operation control method thereof |
WO2010068151A1 (en) * | 2008-12-08 | 2010-06-17 | Telefonaktiebolaget L M Ericsson (Publ) | Device and method for synchronizing received audio data with video data |
US8204038B2 (en) * | 2009-01-13 | 2012-06-19 | Mediatek Inc. | Method for efficient utilization of radio resources in wireless communications system |
JP4650573B2 (en) | 2009-01-22 | 2011-03-16 | ソニー株式会社 | COMMUNICATION DEVICE, COMMUNICATION SYSTEM, PROGRAM, AND COMMUNICATION METHOD |
WO2010101996A1 (en) * | 2009-03-03 | 2010-09-10 | Davenport Ronald R | A wired internet network system for the internet video streams of radio stations |
US8902995B2 (en) | 2009-07-02 | 2014-12-02 | Qualcomm Incorporated | Transmitter quieting and reduced rate encoding |
US8958475B2 (en) | 2009-07-02 | 2015-02-17 | Qualcomm Incorporated | Transmitter quieting and null data encoding |
US9112618B2 (en) * | 2009-07-02 | 2015-08-18 | Qualcomm Incorporated | Coding latency reductions during transmitter quieting |
KR101669533B1 (en) * | 2009-07-06 | 2016-10-26 | 삼성전자주식회사 | Method and system for encoding and decoding medium access control layer packet |
CN102473188B (en) | 2009-07-27 | 2015-02-11 | 国际商业机器公司 | Method and system for transformation of logical data objects for storage |
CN101998508B (en) * | 2009-08-14 | 2013-08-28 | 华为技术有限公司 | Data encapsulation method and device |
WO2011027936A1 (en) * | 2009-09-03 | 2011-03-10 | 에스케이 텔레콤주식회사 | System and method for compressing and decompressing header information of transport layer mounted on near field communication-based protocol, and device applied thereto |
EP2302845B1 (en) | 2009-09-23 | 2012-06-20 | Google, Inc. | Method and device for determining a jitter buffer level |
WO2011068355A2 (en) * | 2009-12-01 | 2011-06-09 | 삼성전자 주식회사 | Method and apparatus for transmitting a multimedia data packet using cross-layer optimization |
US8780720B2 (en) | 2010-01-11 | 2014-07-15 | Venturi Ip Llc | Radio access network load and condition aware traffic shaping control |
US20110182257A1 (en) * | 2010-01-26 | 2011-07-28 | Qualcomm Incorporated | White space spectrum commmunciation device with multiplexing capabilties |
KR20110090596A (en) * | 2010-02-04 | 2011-08-10 | 삼성전자주식회사 | Method and apparatus for correcting interarrival jitter |
EP2362653A1 (en) | 2010-02-26 | 2011-08-31 | Panasonic Corporation | Transport stream packet header compression |
CN101877643B (en) * | 2010-06-29 | 2014-12-10 | 中兴通讯股份有限公司 | Multipoint sound-mixing distant view presenting method, device and system |
US8630412B2 (en) | 2010-08-25 | 2014-01-14 | Motorola Mobility Llc | Transport of partially encrypted media |
US8477050B1 (en) | 2010-09-16 | 2013-07-02 | Google Inc. | Apparatus and method for encoding using signal fragments for redundant transmission of data |
US20120243602A1 (en) * | 2010-09-23 | 2012-09-27 | Qualcomm Incorporated | Method and apparatus for pipelined slicing for wireless display |
US8736700B2 (en) * | 2010-09-30 | 2014-05-27 | Apple Inc. | Techniques for synchronizing audio and video data in an image signal processing system |
US8595374B2 (en) * | 2010-12-08 | 2013-11-26 | At&T Intellectual Property I, L.P. | Method and apparatus for capacity dimensioning in a communication network |
CN103262639B (en) * | 2010-12-20 | 2016-08-10 | 雅马哈株式会社 | Wireless audio transmission method |
WO2012100201A1 (en) * | 2011-01-21 | 2012-07-26 | Qualcomm Incorporated | User input back channel for wireless displays |
US20130013318A1 (en) | 2011-01-21 | 2013-01-10 | Qualcomm Incorporated | User input back channel for wireless displays |
US8964783B2 (en) * | 2011-01-21 | 2015-02-24 | Qualcomm Incorporated | User input back channel for wireless displays |
US9413803B2 (en) | 2011-01-21 | 2016-08-09 | Qualcomm Incorporated | User input back channel for wireless displays |
US9787725B2 (en) * | 2011-01-21 | 2017-10-10 | Qualcomm Incorporated | User input back channel for wireless displays |
US10135900B2 (en) | 2011-01-21 | 2018-11-20 | Qualcomm Incorporated | User input back channel for wireless displays |
US20130022032A1 (en) * | 2011-01-26 | 2013-01-24 | Qualcomm Incorporated | Systems and methods for communicating in a network |
US8856212B1 (en) | 2011-02-08 | 2014-10-07 | Google Inc. | Web-based configurable pipeline for media processing |
EP2490447A1 (en) * | 2011-02-16 | 2012-08-22 | British Telecommunications Public Limited Company | Compact cumulative bit curves |
JP2012222530A (en) * | 2011-04-06 | 2012-11-12 | Sony Corp | Receiving device and method, and program |
US8831108B2 (en) * | 2011-05-04 | 2014-09-09 | Cavium, Inc. | Low latency rate control system and method |
EP2547062B1 (en) * | 2011-07-14 | 2016-03-16 | Nxp B.V. | Media streaming with adaptation |
CN102325261A (en) * | 2011-09-14 | 2012-01-18 | 上海交通大学 | Synchronization method for eliminating jitter of inter-video video data of stereo video collecting and synthetizing system |
CN102521294A (en) * | 2011-11-30 | 2012-06-27 | 苏州奇可思信息科技有限公司 | Remote education lesson teaching method based on voice frequency touch type courseware |
US20130155918A1 (en) * | 2011-12-20 | 2013-06-20 | Nokia Siemens Networks Oy | Techniques To Enhance Header Compression Efficiency And Enhance Mobile Node Security |
CN103179094B (en) * | 2011-12-22 | 2019-10-01 | 南京中兴软件有限责任公司 | Sending, receiving method, sending device and the reception device of IP packet head |
CN103179449B (en) * | 2011-12-23 | 2016-03-02 | 联想(北京)有限公司 | The player method of media file, electronic equipment and virtual machine architecture |
US8687654B1 (en) * | 2012-01-05 | 2014-04-01 | Google Inc. | Method to packetize an encoded video frame |
GB2498992B (en) * | 2012-02-02 | 2015-08-26 | Canon Kk | Method and system for transmitting video frame data to reduce slice error rate |
US20130223412A1 (en) * | 2012-02-24 | 2013-08-29 | Qualcomm Incorporated | Method and system to improve frame early termination success rate |
EP2648418A1 (en) * | 2012-04-05 | 2013-10-09 | Thomson Licensing | Synchronization of multimedia streams |
US9098596B2 (en) * | 2012-04-10 | 2015-08-04 | Cable Television Laboratories, Inc. | Redirecting web content |
US9204095B2 (en) * | 2012-05-04 | 2015-12-01 | Hong Jiang | Instant communications system having established communication channels between communication devices |
CN102665140B (en) * | 2012-05-16 | 2014-04-09 | 哈尔滨工业大学深圳研究生院 | RTP (real-time transport protocol) packaging method of AVS (audio video coding standard) video frame |
CN103428523B (en) * | 2012-05-22 | 2015-07-08 | 华为技术有限公司 | Method and device for estimating video quality |
US9142012B2 (en) | 2012-05-31 | 2015-09-22 | Apple Inc. | Systems and methods for chroma noise reduction |
US9332239B2 (en) | 2012-05-31 | 2016-05-03 | Apple Inc. | Systems and methods for RGB image processing |
US8953882B2 (en) | 2012-05-31 | 2015-02-10 | Apple Inc. | Systems and methods for determining noise statistics of image data |
US11089247B2 (en) | 2012-05-31 | 2021-08-10 | Apple Inc. | Systems and method for reducing fixed pattern noise in image data |
US8917336B2 (en) | 2012-05-31 | 2014-12-23 | Apple Inc. | Image signal processing involving geometric distortion correction |
US9014504B2 (en) | 2012-05-31 | 2015-04-21 | Apple Inc. | Systems and methods for highlight recovery in an image signal processor |
US8817120B2 (en) | 2012-05-31 | 2014-08-26 | Apple Inc. | Systems and methods for collecting fixed pattern noise statistics of image data |
US9105078B2 (en) | 2012-05-31 | 2015-08-11 | Apple Inc. | Systems and methods for local tone mapping |
US9077943B2 (en) | 2012-05-31 | 2015-07-07 | Apple Inc. | Local image statistics collection |
US9743057B2 (en) | 2012-05-31 | 2017-08-22 | Apple Inc. | Systems and methods for lens shading correction |
US9025867B2 (en) | 2012-05-31 | 2015-05-05 | Apple Inc. | Systems and methods for YCC image processing |
US9031319B2 (en) | 2012-05-31 | 2015-05-12 | Apple Inc. | Systems and methods for luma sharpening |
US8872946B2 (en) | 2012-05-31 | 2014-10-28 | Apple Inc. | Systems and methods for raw image processing |
US8863307B2 (en) * | 2012-06-05 | 2014-10-14 | Broadcom Corporation | Authenticating users based upon an identity footprint |
TWI513320B (en) * | 2012-06-25 | 2015-12-11 | Hon Hai Prec Ind Co Ltd | Video conferencing device and lip synchronization method thereof |
WO2014006837A1 (en) * | 2012-07-05 | 2014-01-09 | パナソニック株式会社 | Encoding-decoding system, decoding device, encoding device, and encoding-decoding method |
US9661522B2 (en) | 2012-07-09 | 2017-05-23 | Cisco Technology, Inc. | System and method associated with a service flow router |
KR101947000B1 (en) | 2012-07-17 | 2019-02-13 | 삼성전자주식회사 | Apparatus and method for delivering transport characteristics of multimedia data in broadcast system |
US20140142955A1 (en) * | 2012-11-19 | 2014-05-22 | Apple Inc. | Encoding Digital Media for Fast Start on Digital Media Players |
US20140192200A1 (en) * | 2013-01-08 | 2014-07-10 | Hii Media Llc | Media streams synchronization |
US20140310735A1 (en) * | 2013-04-12 | 2014-10-16 | Codemate A/S | Flat rate billing of content distribution |
US9532043B2 (en) | 2013-08-02 | 2016-12-27 | Blackberry Limited | Wireless transmission of real-time media |
FR3011155A1 (en) * | 2013-09-26 | 2015-03-27 | Orange | METHODS FOR SYNCHRONIZATION, STREAM GENERATION, COMPUTER PROGRAMS, STORAGE MEDIA, CORRESPONDING RESTITUTION, EXECUTION AND GENERATION DEVICES. |
US20150195326A1 (en) * | 2014-01-03 | 2015-07-09 | Qualcomm Incorporated | Detecting whether header compression is being used for a first stream based upon a delay disparity between the first stream and a second stream |
US9282171B2 (en) * | 2014-03-06 | 2016-03-08 | Qualcomm Incorporated | Context establishment in marginal grant conditions |
US9369724B2 (en) * | 2014-03-31 | 2016-06-14 | Microsoft Technology Licensing, Llc | Decoding and synthesizing frames for incomplete video data |
EP3146777B1 (en) | 2014-05-22 | 2019-02-27 | Kyocera Corporation | Unlicensed frequency band with licensed frequency band timing |
CN103986941A (en) * | 2014-05-28 | 2014-08-13 | 深圳市智英实业发展有限公司 | Wireless audio and video transmission system |
EP3016432B1 (en) * | 2014-10-30 | 2018-07-04 | Vodafone IP Licensing limited | Content compression in mobile network |
US10129839B2 (en) * | 2014-12-05 | 2018-11-13 | Qualcomm Incorporated | Techniques for synchronizing timing of wireless streaming transmissions to multiple sink devices |
KR102349450B1 (en) * | 2014-12-08 | 2022-01-10 | 삼성전자주식회사 | Method and Apparatus For Providing Integrity Authentication Data |
US9692709B2 (en) | 2015-06-04 | 2017-06-27 | Oracle International Corporation | Playout buffering of encapsulated media |
KR102402881B1 (en) | 2015-06-05 | 2022-05-27 | 한화테크윈 주식회사 | Surveillance system |
US9929879B2 (en) | 2015-06-09 | 2018-03-27 | Oracle International Corporation | Multipath support of real-time communications |
CN104980955A (en) * | 2015-06-19 | 2015-10-14 | 重庆市音乐一号科技有限公司 | Method for improving transfer rate of Wi-Fi Display |
WO2017008263A1 (en) * | 2015-07-15 | 2017-01-19 | Mediatek Singapore Pte. Ltd. | Conditional binary tree block partitioning structure |
CN105245273B (en) * | 2015-08-27 | 2017-12-12 | 桂林理工大学 | A kind of balanced RS232 of illumination and VLC communication protocol conversion methods |
EP3369212B1 (en) * | 2015-10-26 | 2020-12-09 | Telefonaktiebolaget LM Ericsson (PUBL) | Length control for packet header sampling |
GB201519090D0 (en) | 2015-10-28 | 2015-12-09 | Microsoft Technology Licensing Llc | Multiplexing data |
WO2017074811A1 (en) * | 2015-10-28 | 2017-05-04 | Microsoft Technology Licensing, Llc | Multiplexing data |
CN106817350A (en) * | 2015-11-30 | 2017-06-09 | 中兴通讯股份有限公司 | Message processing method and device |
US11924826B2 (en) | 2015-12-10 | 2024-03-05 | Qualcomm Incorporated | Flexible transmission unit and acknowledgment feedback timeline for efficient low latency communication |
US10332534B2 (en) * | 2016-01-07 | 2019-06-25 | Microsoft Technology Licensing, Llc | Encoding an audio stream |
KR101700370B1 (en) * | 2016-06-08 | 2017-01-26 | 삼성전자주식회사 | Method and apparatus for correcting interarrival jitter |
KR102497216B1 (en) * | 2017-05-10 | 2023-02-07 | 삼성전자 주식회사 | Image Processing Device and Image Processing Method Performing Slice-based Compression |
US10367750B2 (en) * | 2017-06-15 | 2019-07-30 | Mellanox Technologies, Ltd. | Transmission and reception of raw video using scalable frame rate |
GB2564644B (en) * | 2017-07-12 | 2020-12-16 | Canon Kk | Method and system of encoding a data stream according to a variable bitrate mode |
EP3643074A4 (en) * | 2017-08-25 | 2020-04-29 | SZ DJI Technology Co., Ltd. | Systems and methods for synchronizing frame timing between physical layer frame and video frame |
EP3493535B1 (en) * | 2017-11-29 | 2020-09-09 | Mitsubishi Electric R & D Centre Europe B.V. | Method for controlling a video encoder of a video camera installed on a moving conveyance |
EP3902294A4 (en) | 2017-12-13 | 2022-09-14 | Fiorentino, Ramon | Interconnected system for high-quality wireless transmission of audio and video between electronic consumer devices |
US10437745B2 (en) * | 2018-01-05 | 2019-10-08 | Denso International America, Inc. | Mobile de-whitening |
US10608947B2 (en) * | 2018-02-26 | 2020-03-31 | Qualcomm Incorporated | Per-flow jumbo MTU in NR systems |
KR102011806B1 (en) * | 2018-04-12 | 2019-08-19 | 주식회사 넷커스터마이즈 | traffic accelerating motheds based UDP based Data Transfer protocol |
DE102018212655A1 (en) * | 2018-07-30 | 2020-01-30 | Conti Temic Microelectronic Gmbh | Detection of the intention to move a pedestrian from camera images |
US10834296B2 (en) * | 2018-09-12 | 2020-11-10 | Roku, Inc. | Dynamically adjusting video to improve synchronization with audio |
CN109618240A (en) * | 2018-10-26 | 2019-04-12 | 安徽清新互联信息科技有限公司 | Wireless Multi-Channel adaptive equilibrium method for real-time audio and video transmission |
AU2020344540A1 (en) * | 2019-09-10 | 2022-04-28 | Sonos, Inc. | Synchronizing playback of audio information received from other networks |
CN111064541B (en) * | 2019-12-18 | 2021-05-11 | 中国南方电网有限责任公司超高压输电公司 | Method for multiplexing high-low speed data transmission channel |
CN111131917B (en) * | 2019-12-26 | 2021-12-28 | 国微集团(深圳)有限公司 | Real-time audio frequency spectrum synchronization method and playing device |
CN111866753B (en) * | 2020-06-02 | 2021-06-29 | 中山大学 | Digital transmission broadcast communication method and system |
WO2021252548A1 (en) * | 2020-06-08 | 2021-12-16 | Sky Peak Technologies, Inc. | Content shaping and routing in a network |
KR102408433B1 (en) * | 2021-07-27 | 2022-06-10 | 한국항공우주연구원 | Method and system for transmitting multiple data |
CN115484239B (en) * | 2022-09-15 | 2023-10-27 | 北京百度网讯科技有限公司 | Method and device for processing multimedia data stream, electronic equipment and storage medium |
Family Cites Families (129)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4948019A (en) | 1989-03-31 | 1990-08-14 | Rodum Roland K | Collapsible clothes hanger |
JP2712656B2 (en) | 1989-10-25 | 1998-02-16 | 日本電気ホームエレクトロニクス株式会社 | CD-ROM recording method |
AU2908492A (en) | 1991-10-22 | 1993-05-21 | Cae, Inc. | Synchronous parallel electronic timing generator |
AU5632394A (en) | 1993-03-05 | 1994-09-08 | Sony Corporation | Apparatus and method for reproducing a prediction-encoded video signal |
JP3364281B2 (en) * | 1993-07-16 | 2003-01-08 | パイオニア株式会社 | Time-division video and audio signal synchronization |
JP3003839B2 (en) * | 1993-11-08 | 2000-01-31 | エヌ・ティ・ティ移動通信網株式会社 | CDMA communication method and apparatus |
US5541852A (en) * | 1994-04-14 | 1996-07-30 | Motorola, Inc. | Device, method and system for variable bit-rate packet video communications |
US5583652A (en) * | 1994-04-28 | 1996-12-10 | International Business Machines Corporation | Synchronized, variable-speed playback of digitally recorded audio and video |
US5510842A (en) | 1994-05-04 | 1996-04-23 | Matsushita Electric Corporation Of America | Parallel architecture for a high definition television video decoder having multiple independent frame memories |
US5646693A (en) | 1994-11-04 | 1997-07-08 | Cismas; Sorin | Memory utilization for video decoding and display with 3:2 pull-down |
KR0137701B1 (en) * | 1994-12-13 | 1998-05-15 | 양승택 | Pes packetizing apparatus of mpeg-2 system |
FI114178B (en) | 1995-01-09 | 2004-08-31 | Nokia Corp | Dynamic allocation of radio capacity in a TDMA system |
US5898695A (en) * | 1995-03-29 | 1999-04-27 | Hitachi, Ltd. | Decoder for compressed and multiplexed video and audio data |
US5914717A (en) | 1995-07-21 | 1999-06-22 | Microsoft | Methods and system for providing fly out menus |
KR0164184B1 (en) | 1995-08-31 | 1999-01-15 | 배순훈 | Encoding controlling apparatus of a mpeg compression disc |
US5844600A (en) * | 1995-09-15 | 1998-12-01 | General Datacomm, Inc. | Methods, apparatus, and systems for transporting multimedia conference data streams through a transport network |
KR970012585U (en) | 1995-09-21 | 1997-04-25 | Car sun visor | |
US6058141A (en) * | 1995-09-28 | 2000-05-02 | Digital Bitcasting Corporation | Varied frame rate video |
IT1281001B1 (en) | 1995-10-27 | 1998-02-11 | Cselt Centro Studi Lab Telecom | PROCEDURE AND EQUIPMENT FOR CODING, HANDLING AND DECODING AUDIO SIGNALS. |
US5570372A (en) * | 1995-11-08 | 1996-10-29 | Siemens Rolm Communications Inc. | Multimedia communications with system-dependent adaptive delays |
US5717464A (en) | 1995-12-18 | 1998-02-10 | Divicom, Inc. | Rate control for a video encoder |
IL117133A (en) * | 1996-02-14 | 1999-07-14 | Olivr Corp Ltd | Method and system for providing on-line virtual reality movies |
JPH09312656A (en) * | 1996-03-21 | 1997-12-02 | Sony Corp | Transmitter and method therefor |
US5867230A (en) * | 1996-09-06 | 1999-02-02 | Motorola Inc. | System, device, and method for streaming a multimedia file encoded at a variable bitrate |
US6041067A (en) * | 1996-10-04 | 2000-03-21 | Matsushita Electric Industrial Co., Ltd. | Device for synchronizing data processing |
US6473404B1 (en) * | 1998-11-24 | 2002-10-29 | Connect One, Inc. | Multi-protocol telecommunications routing optimization |
KR100204043B1 (en) * | 1996-11-28 | 1999-06-15 | 정선종 | Method for making stream channelfor audio/video data in distributed processing environment |
US6154780A (en) * | 1996-12-18 | 2000-11-28 | Intel Corporation | Method and apparatus for transmission of a flexible and error resilient video bitstream |
DE19652708C2 (en) * | 1996-12-18 | 1999-08-12 | Schott Glas | Process for producing a filled plastic syringe body for medical purposes |
EP0861001B1 (en) | 1997-02-07 | 2012-05-23 | Texas Instruments Incorporated | Error resilient video encoding |
KR100223298B1 (en) * | 1997-02-12 | 1999-10-15 | 서평원 | Terminal interfacing apparatus of b-isdn |
US6542481B2 (en) * | 1998-06-01 | 2003-04-01 | Tantivy Communications, Inc. | Dynamic bandwidth allocation for multiple access communication using session queues |
US6181711B1 (en) * | 1997-06-26 | 2001-01-30 | Cisco Systems, Inc. | System and method for transporting a compressed video and data bit stream over a communication channel |
US6577610B1 (en) | 1997-06-30 | 2003-06-10 | Spacenet, Inc. | Flex slotted Aloha transmission system and method |
US6124895A (en) | 1997-10-17 | 2000-09-26 | Dolby Laboratories Licensing Corporation | Frame-based audio coding with video/audio data synchronization by dynamic audio frame alignment |
US5913190A (en) | 1997-10-17 | 1999-06-15 | Dolby Laboratories Licensing Corporation | Frame-based audio coding with video/audio data synchronization by audio sample rate conversion |
JP3407287B2 (en) * | 1997-12-22 | 2003-05-19 | 日本電気株式会社 | Encoding / decoding system |
WO1999044363A1 (en) * | 1998-02-27 | 1999-09-02 | Ridgeway Systems And Software Ltd. | Audio-video packet synchronisation at network gateway |
US6192257B1 (en) | 1998-03-31 | 2001-02-20 | Lucent Technologies Inc. | Wireless communication terminal having video image capability |
JPH11298878A (en) | 1998-04-08 | 1999-10-29 | Nec Corp | Image scrambling method and device therefor |
FI106832B (en) * | 1998-06-10 | 2001-04-12 | Nokia Networks Oy | High-speed data transmission in a mobile communication system |
US6539011B1 (en) | 1998-06-10 | 2003-03-25 | Merlot Communications, Inc. | Method for initializing and allocating bandwidth in a permanent virtual connection for the transmission and control of audio, video, and computer data over a single network fabric |
US6085270A (en) | 1998-06-17 | 2000-07-04 | Advanced Micro Devices, Inc. | Multi-channel, multi-rate isochronous data bus |
US6496504B1 (en) * | 1998-08-06 | 2002-12-17 | Ricoh Company, Ltd. | Smart allocation of bandwidth for multiple independent calls on a digital network |
US6728263B2 (en) * | 1998-08-18 | 2004-04-27 | Microsoft Corporation | Dynamic sizing of data packets |
US6295453B1 (en) | 1998-10-07 | 2001-09-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Multi-full rate channel assignment for a cellular telephone system |
JP2000175189A (en) | 1998-12-07 | 2000-06-23 | Univ Tokyo | Moving picture encoding method and moving picture encoding device used for the same |
JP3454175B2 (en) | 1998-12-24 | 2003-10-06 | 日本ビクター株式会社 | Image information transmission device |
FI106998B (en) * | 1999-01-15 | 2001-05-15 | Nokia Mobile Phones Ltd | Bit rate control on a multimedia device |
US7016337B1 (en) | 1999-03-02 | 2006-03-21 | Cisco Technology, Inc. | System and method for multiple channel statistical re-multiplexing |
US6473442B1 (en) | 1999-04-12 | 2002-10-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Communications system and method for matching and balancing the bit rates of transport channels to the bit rate of a physical channel |
KR100335441B1 (en) | 1999-05-01 | 2002-05-04 | 윤종용 | Multiplexing video decoding apparatus and method |
KR100352981B1 (en) | 1999-05-21 | 2002-09-18 | 유혁 | Apparatus and Method for streaming of MPEG-1 data |
KR100608042B1 (en) * | 1999-06-12 | 2006-08-02 | 삼성전자주식회사 | Encoding method for radio transceiving of multimedia data and device thereof |
US6262829B1 (en) | 1999-07-29 | 2001-07-17 | Hewlett-Packard Co. | Method of digital grayscale control using modulation of a slow-acting light source |
US6680955B1 (en) * | 1999-08-20 | 2004-01-20 | Nokia Networks Oy | Technique for compressing a header field in a data packet |
FI107680B (en) | 1999-12-22 | 2001-09-14 | Nokia Oyj | Procedure for transmitting video images, data transmission systems, transmitting video terminal and receiving video terminal |
TW512639B (en) | 2000-01-14 | 2002-12-01 | Interdigital Tech Corp | Wireless communication system with selectively sized data transport blocks |
GB0000873D0 (en) | 2000-01-14 | 2000-03-08 | Koninkl Philips Electronics Nv | Interconnection of audio/video devices |
US6996069B2 (en) | 2000-02-22 | 2006-02-07 | Qualcomm, Incorporated | Method and apparatus for controlling transmit power of multiple channels in a CDMA communication system |
JP2001245268A (en) | 2000-02-29 | 2001-09-07 | Toshiba Corp | Contents transmitting system and content processor |
DE60110303T2 (en) * | 2000-03-03 | 2006-03-09 | Ntt Docomo, Inc. | Method and apparatus for packet transmission with packet header compression |
US6993009B2 (en) * | 2000-03-10 | 2006-01-31 | Hughes Electronics Corporation | Method and apparatus for deriving uplink timing from asynchronous traffic across multiple transport streams |
US20020114388A1 (en) | 2000-04-14 | 2002-08-22 | Mamoru Ueda | Decoder and decoding method, recorded medium, and program |
US7680912B1 (en) | 2000-05-18 | 2010-03-16 | thePlatform, Inc. | System and method for managing and provisioning streamed data |
US6535043B2 (en) | 2000-05-26 | 2003-03-18 | Lattice Semiconductor Corp | Clock signal selection system, method of generating a clock signal and programmable clock manager including same |
US7292772B2 (en) | 2000-05-29 | 2007-11-06 | Sony Corporation | Method and apparatus for decoding and recording medium for a coded video stream |
US7274679B2 (en) | 2000-06-22 | 2007-09-25 | Mati Amit | Scalable virtual channel |
US7149549B1 (en) | 2000-10-26 | 2006-12-12 | Ortiz Luis M | Providing multiple perspectives for a venue activity through an electronic hand held device |
US6529527B1 (en) | 2000-07-07 | 2003-03-04 | Qualcomm, Inc. | Method and apparatus for carrying packetized voice and data in wireless communication networks |
JP4337244B2 (en) | 2000-07-25 | 2009-09-30 | ソニー株式会社 | MPEG image stream decoding apparatus and decoding method |
WO2002015564A1 (en) | 2000-08-16 | 2002-02-21 | Koninklijke Philips Electronics N.V. | Method of playing multimedia applications |
WO2002015591A1 (en) * | 2000-08-16 | 2002-02-21 | Koninklijke Philips Electronics N.V. | Method of playing multimedia data |
JP4731096B2 (en) | 2000-08-23 | 2011-07-20 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Communication system and device |
SE517245C2 (en) * | 2000-09-14 | 2002-05-14 | Ericsson Telefon Ab L M | Synchronization of audio and video signals |
US6747964B1 (en) | 2000-09-15 | 2004-06-08 | Qualcomm Incorporated | Method and apparatus for high data rate transmission in a wireless communication system |
KR20020043139A (en) | 2000-12-01 | 2002-06-08 | 윤종용 | Scheduling Method for high data rate service in Wireless communication System |
US6920118B2 (en) * | 2000-12-20 | 2005-07-19 | Lucent Technologies Inc. | Method and apparatus for communicating heterogeneous data traffic |
US6904059B1 (en) | 2001-03-06 | 2005-06-07 | Microsoft Corporation | Adaptive queuing |
US6859500B2 (en) * | 2001-03-20 | 2005-02-22 | Telefonaktiebolaget Lm Ericsson | Run-length coding of non-coded macroblocks |
US20030016702A1 (en) | 2001-03-30 | 2003-01-23 | Bender Paul E. | Method and system for maximizing standby time in monitoring a control channel |
WO2002085030A1 (en) * | 2001-04-11 | 2002-10-24 | Cyber Operations, Llc | System and method for preconditioning analog video signals |
EP1380159A4 (en) * | 2001-04-20 | 2008-01-09 | France Telecom Res And Dev L L | Systems for selectively associating cues with stored video frames and methods of operating the same |
US7230941B2 (en) * | 2001-04-26 | 2007-06-12 | Qualcomm Incorporated | Preamble channel decoding |
US20020194606A1 (en) * | 2001-06-14 | 2002-12-19 | Michael Tucker | System and method of communication between videoconferencing systems and computer systems |
JP2003046949A (en) * | 2001-07-30 | 2003-02-14 | Hitachi Ltd | Data multiplexing method, data recording medium, data recording apparatus, and data recording program |
US7327789B2 (en) | 2001-08-06 | 2008-02-05 | Matsushita Electric Industrial Co., Ltd. | Decoding apparatus, decoding method, decoding program, and decoding program storage medium |
JP4647149B2 (en) * | 2001-08-06 | 2011-03-09 | 独立行政法人情報通信研究機構 | Transport stream transmitter and receiver |
US6847006B2 (en) * | 2001-08-10 | 2005-01-25 | Semiconductor Energy Laboratory Co., Ltd. | Laser annealing apparatus and semiconductor device manufacturing method |
US20080002669A1 (en) * | 2001-09-14 | 2008-01-03 | O'brien Ray | Packet voice gateway |
US7336680B2 (en) | 2001-09-18 | 2008-02-26 | Scientific-Atlanta, Inc. | Multi-carrier frequency-division multiplexing (FDM) architecture for high speed digital service |
US6968091B2 (en) * | 2001-09-18 | 2005-11-22 | Emc Corporation | Insertion of noise for reduction in the number of bits for variable-length coding of (run, level) pairs |
US7075946B2 (en) | 2001-10-02 | 2006-07-11 | Xm Satellite Radio, Inc. | Method and apparatus for audio output combining |
AU2002343220A1 (en) | 2001-11-09 | 2003-05-19 | Matsushita Electric Industrial Co., Ltd. | Moving picture coding method and apparatus |
US7453843B2 (en) | 2001-12-11 | 2008-11-18 | Texas Instruments Incorporated | Wireless bandwidth aggregator |
US7292690B2 (en) | 2002-01-02 | 2007-11-06 | Sony Corporation | Video scene change detection |
DE10300048B4 (en) | 2002-01-05 | 2005-05-12 | Samsung Electronics Co., Ltd., Suwon | Image coding method for motion picture expert groups, involves image quantizing data in accordance with quantization parameter, and coding entropy of quantized image data using entropy coding unit |
US7130313B2 (en) | 2002-02-14 | 2006-10-31 | Nokia Corporation | Time-slice signaling for broadband digital broadcasting |
US7596179B2 (en) | 2002-02-27 | 2009-09-29 | Hewlett-Packard Development Company, L.P. | Reducing the resolution of media data |
FI114679B (en) | 2002-04-29 | 2004-11-30 | Nokia Corp | Random start points in video encoding |
FR2839407B1 (en) * | 2002-05-02 | 2004-12-17 | Canon Kk | METHOD AND DEVICE FOR ADJUSTING THE MAXIMUM SIZE OF INFORMATION SEQUENCES TRANSMITTED IN A TELECOMMUNICATIONS NETWORK |
US8699505B2 (en) * | 2002-05-31 | 2014-04-15 | Qualcomm Incorporated | Dynamic channelization code allocation |
US20030224806A1 (en) | 2002-06-03 | 2003-12-04 | Igal Hebron | System and method for network data quality measurement |
US6956875B2 (en) | 2002-06-19 | 2005-10-18 | Atlinks Usa, Inc. | Technique for communicating variable bit rate data over a constant bit rate link |
US7486678B1 (en) | 2002-07-03 | 2009-02-03 | Greenfield Networks | Multi-slice network processor |
WO2004008673A2 (en) * | 2002-07-16 | 2004-01-22 | Nokia Corporation | Method for enabling packet transfer delay compensation in multimedia streaming |
CN1221132C (en) * | 2002-07-30 | 2005-09-28 | 华为技术有限公司 | Device and method for realizing conversion between various VF flow formats |
US7567509B2 (en) * | 2002-09-13 | 2009-07-28 | Dialogic Corporation | Methods and systems for jitter minimization in streaming media |
TW569556B (en) | 2002-10-04 | 2004-01-01 | Avid Electronics Corp | Adaptive differential pulse-code modulation compression encoding/decoding method capable of fast recovery and apparatus thereof |
US7191384B2 (en) * | 2002-10-17 | 2007-03-13 | Qualcomm Incorporated | Method and apparatus for transmitting and receiving a block of data in a communication system |
US7068708B2 (en) * | 2002-12-13 | 2006-06-27 | Motorola, Inc. | Method and receiving unit for demodulating a multi-path signal |
JP2004226272A (en) | 2003-01-23 | 2004-08-12 | Seiko Epson Corp | Method and apparatus for detecting stain defect |
EP2254299B1 (en) | 2003-03-10 | 2020-04-29 | Panasonic Intellectual Property Management Co., Ltd. | OFDM reception device |
US7535876B2 (en) | 2003-04-01 | 2009-05-19 | Alcatel-Lucent Usa Inc. | Method of flow control for HSDPA and HSUPA |
US7400889B2 (en) | 2003-04-01 | 2008-07-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Scalable quality broadcast service in a mobile wireless communication network |
EP1616272A1 (en) * | 2003-04-14 | 2006-01-18 | Koninklijke Philips Electronics N.V. | System and method for performing automatic dubbing on an audio-visual stream |
US7391717B2 (en) | 2003-06-30 | 2008-06-24 | Microsoft Corporation | Streaming of variable bit rate multimedia content |
KR100651566B1 (en) * | 2003-08-26 | 2006-11-28 | 삼성전자주식회사 | Multimedia Player Using Output Buffering in Mobile Terminal and Its Control Method |
KR20060134911A (en) * | 2003-09-02 | 2006-12-28 | 소니 가부시끼 가이샤 | Content reception device, video/audio output timing control method, and content providing system |
US9351013B2 (en) * | 2003-11-13 | 2016-05-24 | Qualcomm Incorporated | Selective and/or scalable complexity control for video codecs |
US20050138251A1 (en) | 2003-12-18 | 2005-06-23 | Fanning Blaise B. | Arbitration of asynchronous and isochronous requests |
US20050172154A1 (en) | 2004-01-29 | 2005-08-04 | Chaoticom, Inc. | Systems and methods for providing digital content and caller alerts to wireless network-enabled devices |
US7599435B2 (en) | 2004-01-30 | 2009-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Video frame encoding and decoding |
US7558221B2 (en) * | 2004-02-13 | 2009-07-07 | Seiko Epson Corporation | Method and system for recording videoconference data |
US7586882B2 (en) * | 2004-03-19 | 2009-09-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Higher layer packet framing using RLP |
US7530089B1 (en) | 2004-03-29 | 2009-05-05 | Nortel Networks Limited | System and method for improving video quality using a constant bit rate data stream |
US7865255B2 (en) * | 2004-03-31 | 2011-01-04 | Mstar Semiconductor, Inc. | Audio buffering system and method of buffering audio in a multimedia receiver |
CN100576820C (en) * | 2004-05-07 | 2009-12-30 | 艾格瑞系统有限公司 | The mac header that uses with the frame set compresses |
EP1751955B1 (en) * | 2004-05-13 | 2009-03-25 | Qualcomm, Incorporated | Header compression of multimedia data transmitted over a wireless communication system |
-
2005
- 2005-05-13 EP EP05748216A patent/EP1751955B1/en not_active Not-in-force
- 2005-05-13 CN CN2005800208935A patent/CN1973515B/en not_active Expired - Fee Related
- 2005-05-13 JP JP2007513422A patent/JP2007537684A/en not_active Withdrawn
- 2005-05-13 US US11/129,635 patent/US9717018B2/en not_active Expired - Fee Related
- 2005-05-13 US US11/129,687 patent/US8855059B2/en not_active Expired - Fee Related
- 2005-05-13 BR BRPI0510962-0A patent/BRPI0510962A/en active Search and Examination
- 2005-05-13 JP JP2007513418A patent/JP4361585B2/en not_active Expired - Fee Related
- 2005-05-13 EP EP05749640A patent/EP1751956B1/en not_active Not-in-force
- 2005-05-13 US US11/129,735 patent/US8089948B2/en not_active Expired - Fee Related
- 2005-05-13 DE DE602005011611T patent/DE602005011611D1/en active Active
- 2005-05-13 EP EP05748133A patent/EP1751987B1/en not_active Not-in-force
- 2005-05-13 MY MYPI20052170A patent/MY139431A/en unknown
- 2005-05-13 KR KR1020067026266A patent/KR101049701B1/en active IP Right Grant
- 2005-05-13 CA CA2565977A patent/CA2565977C/en not_active Expired - Fee Related
- 2005-05-13 TW TW094115632A patent/TWI381681B/en not_active IP Right Cessation
- 2005-05-13 AT AT05749459T patent/ATE417436T1/en not_active IP Right Cessation
- 2005-05-13 TW TW094115718A patent/TWI353759B/en not_active IP Right Cessation
- 2005-05-13 TW TW094115717A patent/TWI394407B/en not_active IP Right Cessation
- 2005-05-13 CA CA2566125A patent/CA2566125C/en not_active Expired - Fee Related
- 2005-05-13 CN CN201210450979.3A patent/CN102984133B/en not_active Expired - Fee Related
- 2005-05-13 EP EP12195665.0A patent/EP2592836A1/en not_active Withdrawn
- 2005-05-13 EP EP05749459A patent/EP1757027B1/en not_active Not-in-force
- 2005-05-13 MY MYPI20052165A patent/MY142161A/en unknown
- 2005-05-13 US US11/129,625 patent/US20050259623A1/en not_active Abandoned
- 2005-05-13 CN CN2005800220439A patent/CN1977516B/en not_active Expired - Fee Related
- 2005-05-13 WO PCT/US2005/016837 patent/WO2005114943A2/en active Application Filing
- 2005-05-13 DE DE602005027837T patent/DE602005027837D1/en active Active
- 2005-05-13 CN CN200580020252XA patent/CN1969562B/en not_active Expired - Fee Related
- 2005-05-13 TW TW100115872A patent/TW201145943A/en unknown
- 2005-05-13 ES ES05748216T patent/ES2323011T3/en active Active
- 2005-05-13 CA CA002566126A patent/CA2566126A1/en not_active Abandoned
- 2005-05-13 BR BRPI0510952A patent/BRPI0510952B1/en not_active IP Right Cessation
- 2005-05-13 DE DE602005013517T patent/DE602005013517D1/en active Active
- 2005-05-13 EP EP10182418A patent/EP2262304B1/en not_active Not-in-force
- 2005-05-13 EP EP10152927A patent/EP2214412A3/en not_active Withdrawn
- 2005-05-13 ES ES05749640T patent/ES2366192T3/en active Active
- 2005-05-13 CN CN2005800232934A patent/CN1985477B/en not_active Expired - Fee Related
- 2005-05-13 CA CA2566124A patent/CA2566124C/en not_active Expired - Fee Related
- 2005-05-13 AT AT05748216T patent/ATE426988T1/en not_active IP Right Cessation
- 2005-05-13 KR KR1020097004108A patent/KR101068055B1/en active IP Right Grant
- 2005-05-13 JP JP2007513421A patent/JP4448171B2/en not_active Expired - Fee Related
- 2005-05-13 WO PCT/US2005/016838 patent/WO2005114919A1/en active Application Filing
- 2005-05-13 KR KR1020067026267A patent/KR100871305B1/en not_active IP Right Cessation
- 2005-05-13 DE DE602005023983T patent/DE602005023983D1/en active Active
- 2005-05-13 BR BRPI0510953-1A patent/BRPI0510953A/en not_active IP Right Cessation
- 2005-05-13 MX MXPA06013193A patent/MXPA06013193A/en active IP Right Grant
- 2005-05-13 WO PCT/US2005/016839 patent/WO2005115009A1/en active Application Filing
- 2005-05-13 CA CA2811040A patent/CA2811040A1/en not_active Abandoned
- 2005-05-13 MX MXPA06013211A patent/MXPA06013211A/en active IP Right Grant
- 2005-05-13 CA CA2771943A patent/CA2771943C/en not_active Expired - Fee Related
- 2005-05-13 KR KR1020087021553A patent/KR100918596B1/en not_active IP Right Cessation
- 2005-05-13 ES ES05748133T patent/ES2354079T3/en active Active
- 2005-05-13 MX MXPA06013186A patent/MXPA06013186A/en active IP Right Grant
- 2005-05-13 KR KR1020067026252A patent/KR100870215B1/en active IP Right Grant
- 2005-05-13 BR BRPI0510961-2A patent/BRPI0510961A/en not_active Application Discontinuation
- 2005-05-13 AT AT05749640T patent/ATE508567T1/en not_active IP Right Cessation
- 2005-05-13 AT AT05748133T patent/ATE484157T1/en not_active IP Right Cessation
- 2005-05-13 ES ES05749459T patent/ES2318495T3/en active Active
- 2005-05-13 MX MXPA06013210A patent/MXPA06013210A/en active IP Right Grant
- 2005-05-13 EP EP17209499.7A patent/EP3331246A1/en not_active Withdrawn
- 2005-05-13 WO PCT/US2005/016831 patent/WO2005114950A1/en active Application Filing
- 2005-05-13 EP EP10152796.8A patent/EP2182734B1/en not_active Not-in-force
- 2005-05-13 MY MYPI20052171A patent/MY141497A/en unknown
- 2005-05-13 KR KR1020067026204A patent/KR100906586B1/en not_active IP Right Cessation
- 2005-05-13 JP JP2007513420A patent/JP4554680B2/en not_active Expired - Fee Related
-
2010
- 2010-11-29 JP JP2010265208A patent/JP5356360B2/en not_active Expired - Fee Related
-
2014
- 2014-08-22 US US14/466,702 patent/US9674732B2/en active Active
- 2014-09-29 US US14/499,954 patent/US10034198B2/en not_active Expired - Fee Related
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2566125C (en) | Header compression of multimedia data transmitted over a wireless communication system | |
US8284683B2 (en) | Selecting an operational mode of a codec | |
Garudadri et al. | Video transport over wireless networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |
Effective date: 20200831 |