![]() Method to optimize media playback quality and computer system to manage one or more memory resources
专利摘要:
SYSTEM AND METHOD FOR OPTIMIZING MEDIA PLAYBACK QUALITY FOR A WIRELESS HAND-HELD COMPUTING DEVICE. A method for optimizing media playback quality for a wireless handheld computing device is described. The system includes a client request manager that can be responsible for controlling or instructing a web browser as to which file segments should be downloaded next to the wireless handheld mobile computing device to ensure quality optimal video playback for the computing device. The request manager can be dynamic in that it can continuously monitor the elements of an application subsystem just like the modem subsystem. The request manager can select one or more file segments to download which optimizes media playback on the wireless handheld computing device based on the data received from at least one of the application subsystem and application subsystem. modem. 公开号:BR112013008024B1 申请号:R112013008024-8 申请日:2011-08-31 公开日:2021-08-31 发明作者:Sayeed Z. Choudhury;Rajiv K. Vijayakumar;Idris Mir 申请人:Qualcomm Incorporated; IPC主号:
专利说明:
Cross Reference and Priority Claim to Related Order [001] This patent application claims priority pursuant to 35 USC §119(e) to United States Provisional Patent Application Serial No. 61/252,621, filed October 16, 2009, entitled “Mobile System Aware HTTP Stream Manager”, the entire contents of which are incorporated herein by reference. Description of Prior Art [002] Today's computing environment is becoming increasingly portable. People often surf the internet with their wireless handheld computing devices with such ease, similar to using mobile phones to make regular phone calls. Typical conventional wireless handheld computing devices include, but are not limited to, devices such as mobile phones, personal digital assistants ("PDAs"), "Smart" phones, pagers, navigation devices such as handheld GPS units, and a portable computer with a wireless connection or link. These wireless handheld computing devices typically fit in a person's hand or can be carried in one hand by a person. [003] While these wireless handheld computing devices have made the computing environment more accessible while people are on the move, wireless handheld computing devices have created some unique issues regarding the performance of these devices within wireless networks . Some performance-related issues include low data transfer rate when wireless network bandwidth is low, and slow communications due to reception errors. This performance is often a function of the hardware and software that can be contained within the airtight electronic packaging of these small size units. The performance of these small-sized units can also be a function of the wireless network in which the wireless handheld computing device establishes a communication link. [004] Communication links that provide videos are desired by many users of wireless handheld computing devices. Typically, videos may take some time to download to the wireless handheld computing device due to the size of their files. Sometimes videos may be interrupted during playback due to factors that are related to the wireless network. One factor that can negatively affect the performance of a wireless handheld computing device is when the handheld computing device establishes a communication link to a wireless communication network that may be experiencing lower bandwidth. [005] Another factor related to the degraded performance of portable computing devices in wireless communication networks is latency. Latency in packet switching networks is measured either in one direction (the time from the source sending a packet to the destination receiving it), or round-trip (the one-way latency from the source to the destination, plus the one-way latency from the destination back to the source). Higher latency in wireless communication networks often makes videos to the wireless handheld computing device take longer to load compared to those networks with low and minimal latency. Generally, most wireless handheld computing devices do not compensate for factors that negatively affect the performance of a wireless communication network. [006] What is needed is a system and method that can neutralize or compensate for factors that negatively affect the performance of wireless handheld computing devices, such as during video playback when the devices are coupled to a communication network wireless. Invention Summary [007] According to a first exemplary aspect, a method for optimizing media playback quality for a wireless handheld computing device is described. The method includes receiving a meta-object describing one or more media file segments and analyzing options for the one or more file segments described in the meta-object. The method further includes evaluating data from an application subsystem and data from a modem subsystem. The method also includes selecting a file segment to transfer that optimizes media playback on the wireless handheld computing device based on data received from at least one of the application subsystem and modem subsystem. [008] A computer system for optimizing media playback for a wireless handheld computing device is described. The system includes a processor operable to receive a meta-object describing one or more of the media file segments and parse options for the one or more file segments described in the meta-object. The processor is operable to evaluate data from an application subsystem and data from a modem subsystem. The processor selects a file segment for transfer that optimizes media playback on the wireless handheld computing device based on data received from at least one of the application subsystem and modem subsystem. [009] A computer system for managing one or more resources of a wireless handheld computing device includes means for receiving a meta-object describing one or more media file segments and means for analyzing options for the one or more media segments. file described in the meta-object. The system also has means for evaluating data from an application subsystem and means for evaluating data from a modem subsystem. The system also includes means for selecting a file segment to download which optimizes media playback on the wireless handheld computing device based on data received from at least one of the application subsystem and modem subsystem. [0010] A computer program product comprising a computer-usable medium having a computer-readable program code incorporated therein is described. The computer-readable program code is adapted to execute and implement a method for optimizing media playback for a wireless handheld computing device, where the executed method includes receiving a meta-object describing one or more media file segments and analyze options for the one or more file segments described in the meta-object. The computer-readable program code is further adapted to perform steps to evaluate data from an application subsystem and evaluate data from an application subsystem and evaluate data from a modem subsystem. The computer-readable program code additionally performs a step to select a file segment for transfer that optimizes media playback on the wireless handheld computing device based on data received from at least one of the application subsystem and computer subsystem. modem. Brief Description of Drawings [0011] In the Figures, like reference numerals refer to like parts throughout the various views unless otherwise indicated. For reference numerals with letter character designations such as "102A" or "102B", the letter character designations may differentiate two parts or similar elements present in the same figure. Letter character designations for reference numerals may be omitted when a reference numeral is intended to cover all parts having the same reference numeral in all figures. [0012] Figure 1A is a diagram of a handheld wireless computing device coupled to a wireless communication network; [0013] Figure 1B is a diagram of an aspect of a software architecture for a system that optimizes video playback on the wireless handheld computing device of Figure 2; [0014] Figure 2 is a diagram of an exemplary wireless handheld computing device comprising a mobile phone; [0015] Figure 3 is a diagram of a touch screen for a wireless handheld computing device; [0016] Figure 4 is a diagram of a screen showing the content of a video downloaded by a wireless handheld computing device; [0017] Figure 5A is a flowchart illustrating a method for optimizing video playback for a wireless handheld computing device; [0018] Figure 5B is a flowchart continuation of the flowchart of Figure 5A illustrating the method for optimizing video playback for the wireless handheld computing device; [0019] Figure 6 is a flowchart illustrating a sub-method or routine of Figure 5A for evaluating data from sensors and a wireless handheld computing device; [0020] Figure 7 is a flowchart illustrating a sub-method or routine of Figure 5A for evaluating data from a modem subsystem in a wireless handheld computing device; and [0021] Figure 8 is a state diagram illustrating communications between the flow manager of a wireless handheld computing device and a server which has several video files to be downloaded by the wireless handheld computing device. Detailed Description of the Invention [0022] The term "exemplary" is used herein to mean "following as an example, instance or illustration". Any aspect described herein as "exemplary" is not necessarily to be regarded as preferred or advantageous over the other aspects. [0023] In this description, the term "application" may also include files having executable content, such as: object code, scripts, byte code, markup language files, and patches. In addition, an “application” referred to here may also include files that are not executable in nature, such as documents that may need to be opened or other data files that need to be accessed. [0024] In this description, the terms: "communication device", "wireless device", "cordless telephone", "wireless communication device" and "wireless telephone apparatus" are used interchangeably. With the advent of third-generation wireless technology (“3G”) greater bandwidth availability has enabled more electronic devices with a greater range of wireless capabilities. Therefore, a wireless device could be a cell phone, a pager, a PDA, a smartphone, a navigation device, or a portable computer with a wireless connection or link. [0025] Figure 1A is a diagram of a wireless handheld computing device 200 coupled to a wireless communication network 206. Many of the system elements illustrated in Figure 1A are coupled via communication links 103A-B to the network. of communication links 206. The links 103 illustrated in Figure 1 may comprise wireless links. Wireless links include, but are not limited to radio frequency (“RF”) links, infrared links, acoustic links, and other wireless media. [0026] The communications network 206 may comprise a remote area network ("WAN"), a local area network ("LAN"), wireless LANs ("wLANs"), the internet, a Public Switched Telephone Network (“PSTN”), a radio calling network or a combination thereof. The communications network 206 may be established via broadcast RF transceiver towers 208. However, those of ordinary skill in the art recognize that other types of communication devices in addition to broadcast RF transceiver towers 208 are included in the scope of the invention to establish the communications network 206. The server 210 may have meta-objects 402 and video file segments 212 that can be downloaded and stored in memory by the wireless handheld computing device 200. The handheld computing device 200 is shown as having an antenna 372 of so that a respective portable device 200 can establish wireless communication links 103 with the communication network 206. [0028] The server 210 can communicate with the wireless handheld computing device 200 through the communications network 206 to share its meta-objects 402 and file segments 212 with the handheld computing device 200. The meta-objects and segments files 212 are processed and managed by application subsystem 102 and modem subsystem 133 of handheld computing device 200. [0029] Each meta-object 402 may comprise a file, such as the file having an extensible markup language (XML) format, which has detailed file information 206 about the video files 212 that can be downloaded by the device. wireless handheld computing 200. Although only the video file segments 212 have been illustrated, those of common knowledge in the art recognize that any type of media file is within the scope of the invention. That is, a media file can include, but is not limited to, video files, audio files, large image files, and any combination thereof. [0030] Detailed file information 206 of meta-object 402 can describe various properties of video file segments 212A-D that can be downloaded by wireless handheld computing device 200. Exemplary properties include, but are not limited to length total of a video comprising a plurality of file segments 212, the discrete length of each file segment 212, different bit rates for similar segments 212, and different video resolutions for similar segments 212. Other properties for video not mentioned here and describing various aspects/features of the video are included within the scope of the invention as understood by those of common knowledge in the art. Additionally, the invention is not limited to video files and may be appropriate for other file types such as image files, voice files, text files, and any other file type comprising data which has a size that generally requires a file to be split into different segments. [0031] Although only four file segments 212A-D are illustrated, a greater number or a smaller number of file segments 212 is within the scope of the invention as understood by those of ordinary skill in the art. Additionally, a smaller or greater number of duplicate file segments 212 having different bitrates but with similar resolutions, as well as a smaller or greater number of duplicate file segments 212 having similar bitrates with similar resolutions, and a smaller number or greater of duplicate file segments 212 having different bit rates and different resolutions are within the scope of the invention as understood by those of ordinary skill in the art. [0032] The first file segment for 212A has a first bit rate at a first video resolution and is provided with a first universal resource locator ("URL") that can be selected by wireless handheld computing device 200. The second file segment 212B has a first bit rate, similar to the first file segment 212A, but has a second video resolution that is different from the first resolution of the first file segment 212A. The second file segment for 212B has a second URL that is different from the first URL of the first file segment 212A. [0033] The third file segment 212C has a second bit rate that is different from the first bit rate of the first and second file segment 212A-212B. The third file segment for 212C has a first video resolution that is identical to the video resolution of the first and second file segments 212A-212B. The third file segment 212C has a third URL that is different from the first URL of the first file segment 212A and a second URL of the second file segment 212B. The fourth file segment 212D has a second bit rate equal to the second bit rate of the third file segment 212C, but has a second video resolution that is identical to the second video resolution of the second file segment 212B. The fourth file segment 212C has a fourth URL that is different from the first URL of the first file segment 212A, the second URL of the second file segment 212B, and the third URL of the third file segment 212C. Those of ordinary skill in the art recognize that a smaller number or a larger number of file segments 212 can be provided without departing from the scope of the invention. Additional details about meta-object 402 and file segments 212 will be described below in connection with Figures 5A-5B and Figure 8. [0035] Figure 1B is a diagram of a first aspect of a software architecture for a system 102 that optimizes video playback for a wireless handheld computing device 200. Application subsystem 102 may comprise a web browser application. mobile network 105 which is run by a central processing unit 324 (see Figure 2) and which can run video supported by the hypertext transfer protocol (“HTTP”) stream request manager 109. [0036] The mobile web browser application or module 105 may communicate with transfer communication protocol ("TCP") modules 127 that reside over an internet protocol layer ("IP") 129 as understood by those of common knowledge in the art and described below. [0037] The IP layer 129 communicates with a network storage layer 131 as understood by those of ordinary skill in the art. The IP layer 129 communicates with the modem subsystem 133, which is executed by a second central processing unit 326 (see Figure 2). [0038] The mobile web browser module 105 includes a hypertext transfer protocol (“HTTP”) stream request manager 109, an HTTP stack 111, and a domain name server module 113. Although illustrated as including in web browser module 105, in a further alternative exemplary embodiment (not shown), HTTP stream request manager 109 may reside as a separate module with respect to web browser 105. [0039] The HTTP stream protocol is a mechanism for sending data from a server 210 to a web browser on a handheld computing device 200 in response to an event. The HTTP streaming protocol can be achieved through several common mechanisms. In such a mechanism, the server 210 does not terminate the response to the computing device 200, also referred to as the client, after the data has been served. This differs from the typical HTTP loop in which the response is closed immediately after data transmission. Server 210 leaves the response open such that if an event is received, it can be immediately sent to the client. Otherwise the data would have to be queued until the client's next request to the server 210 is made. Typical uses for HTTP streaming protocol include, but are not limited to video playback, market data distribution (recorder of quotes), messaging/live chat systems, online betting and gaming, sports scores, monitoring consoles and sensor network monitoring. The HTTP streaming protocol typically uses port 80 or port 8080. [0040] The mobile web browser module 105 may be coupled to a memory resource 119. The memory resource 119 may include, but is not limited to, cache, random access memory ("RAM"), flash memory, a Secure Digital (“SD”) memory card, and any combination thereof. [0041] The request manager 109 may be responsible for controlling or instructing the web browser 105 regarding which file segments 212 are to be downloaded next to the portable mobile computing device 200 to ensure optimal video playback quality for the computing device 200. The request manager 109 can be dynamic in that it can continuously monitor the elements of the application subsystem 102 as well as the modem subsystem 133. Additionally, the request manager 109 can also receive messages from the elements. within application subsystem 102 and modem subsystem 133. [0042] The DNS module 113 of the web browser 105 may be responsible for converting text-based domain names into Internet Protocol (IP) numeric addresses as understood by those skilled in the art. DNS module 113 can communicate the IP address back to HTTP stack 111 which in turn relays it to TCP connection module 127. [0043] When the HTTP stack 111 returns a meta-object 402 from the TCP connection module 127, the stack module HTTP 111 relays that meta-object 402 to the stream client request manager 109. The stack module HTTP 111 can also provide the client request manager 109 with certain status information. Status information may include, but is not limited to: valid high-speed programming control channel status (“HS-SCCH”); high speed transport block size (“HS-TBS”); one-layer block error rates (“L1 BLER”); radio link control packet data unit size (“RLC PDU”); received byte (“Rx”) of radio link control downlink service data unit (“RLC DL SDU”); User Equipment (“HTTP”) category of High Speed Downlink Packet Access (“HSDPA”); media access control uplink store status report (“MAC UL BSR”); improved uplink transmission time interval (“EUL TTI”); Enhanced Transport Format Combination Index Table Index (“ETFCI”); ETCFI; the number of new transmissions (“Tx”); transmitting bytes (“Tx”) of radio link control uplink service data unit (“RLC UL SDU”); diversity transmit/diversity receive (“DTX/DRX”); Enhanced Uplink User Equipment Category (“EUL UE”); media access control transmission layer transport block size (“MAC TL TBS”); receiving packet data convergence protocol downlink service data unit bytes (“Rx”) (“PDCP DL SDU”); media access control uplink transport block size (“MAC UL TBS”); packet data convergence protocol uplink service data unit transmission (“Tx”) bytes (“PDCP UL SDU”); and user equipment category (“HTTP Category”). [0044] Request manager 109 is responsible for analyzing and/or reviewing meta-object 402 and deciding which video segments 212 are appropriate for the next transfer after evaluating the current wireless network conditions and operating environment of the device of portable computing 200. [0045] The Transport Control Protocol (“TCP”) connection module 127 operates in the Open Systems Interconnection (“OSI”) Transport Layer model of general networking as understood by those of ordinary skill in the art . The TCP connection module 127 is responsible for encapsulating the application data blocks into data units (datagrams, segments) suitable for transfer to the network infrastructure for transmission to the destination host, or for managing the reverse transaction through abstraction of network datagrams and delivery of their payload to the mobile web browser 105. [0046] TCP connection modules 127 may provide information that includes, but is not limited to, the retransmission interval (“RTO”); advertised receiver window (“Rx Window”); transmission-to-receiver baud rate (“Tx/Rx baud rate”); packet statistics; a total number of TCP connections; estimated round-trip time (“RTT”); number of bytes received; the number of packets in sequence; and the TCP transmission window size. [0047] The Internet Protocol (“IP”) module 129 communicates with the TCP connection module 127 and the network storage layer 131. The IP module 129 has the task of providing protocol datagrams (packets), distinguished by from the mobile web browser to the server 210 based on their addresses. The IP module 129 defines the addressing methods and structures for datagram encapsulation. The IP 129 module can use Internet Protocol Version 4 (“Ipv4”) as well as Internet Protocol Version 6 (“Ipv6”), which are being actively employed as of this writing. However, other versions of the Internet Protocol, including future versions not yet developed, are included within the scope of the invention. [0048] Network storage layer 131 communicates with IP module 129 and modem subsystem 133. Network storage layer 131 can contain all hardware-specific interface methods, such as Ethernet and other encapsulation schemes IEEE 802. The network storage layer 131 can probe the topology of a local network, such as the communications network 206. It can discover neighboring routers and hosts and can be responsible for discovering other nodes on the link. The network storage layer 131 can determine the data link layer addresses of other nodes, find available routers, and maintain reachability information about paths to other active neighboring nodes. [0049] The flow client request manager 109 can communicate with the HTTP stack 111 as well as the TCP modules 127. The flow request manager 109 can also communicate with one or more sensors 125. The sensors 125 can include but are not limited to the 125A Pedometer, 125B Accelerometer, 125C Proximity Sensor, a 125D Compass, and 125E Ambient Light Sensor. The 125A pedometer can provide signals that indicate the handheld computing device 200 is being used by a person who is walking. [0050] The accelerometer 125B can provide signals indicating that the portable computing device 200 is located in a motor vehicle, such as an automobile. Proximity sensor 125C can indicate whether handheld computing device 200 is positioned close to a person's face to conduct a telephone call. The compass 125 can provide signals that indicate a specific direction in which the handheld computing device 200 is traveling. The ambient light sensor 125E can provide signals to indicate whether the handheld computing device 200 is being used in a light or dark environment, which affects how videos may need to be displayed on the computing device 200. [0051] The modem subsystem 133 may comprise a radio link control layer ("RLC"), a media access control layer ("MAC") 139, a physical layer ("PHY") 141, a radio relay control module (“RRC”) 137, and a global positioning system (“GPS”) 143. These elements of modem subsystem 133 may be responsible for communicating with communication hardware such as the RF transceiver 368 as shown in Figure 2. [0052] Each of the elements of the modem subsystem 133 can send messages or receive queries from the HTTP stream client request manager 109. For example, the RRC module 137 can communicate information such as, but not limited to, information high-speed downlink packet access category ("HSDPA"), enhanced uplink layer category information ("EUL"), and discontinuous receive/transmit ("DRX/") configuration information ("Config") DTX”). [0053] The RLC module 135 can communicate the transmission capacity as well as the data unit size of the radio link control (“RLC”) control protocol (“PDU”). The MAC layer 139 may communicate uplink ("UL") information, such as, but not limited to, buffer status report ("BSR") information and channel transport format ("PF") information enhanced dedicated (“EDCH”). Physical layer 141 can communicate downlink ("DL") information, such as, but not limited to, high-speed transport block size ("HS-TBS"), modulation, channel quality indication ("CQI") ”), block error rate measurement (“BLER”), multiple inputs/multiple outputs (“MIMO”), receiver automatic gain (“AGC”) control (“Rx”) as well as diversity (“D ”) of integrated circuit equalizer (“EQ/IC”) receiver (“Rx”). Physical layer 141 may also communicate uplink (“UL”) information, such as, but not limited to, BLER, modulation, and transmitter (“Tx”) automatic gain control (“AGC”). [0054] The RRC module 137, the RLC module 135, the MAC module 139, and the PHY module 141 can form an evolved high-speed packet access system ("HSPA") as understood by those of ordinary skill in the art . However, the GPS module 143 may provide information, such as, but not limited to, the location, gait or speed of the portable mobile computing device 200 to the flow request manager 109. [0055] By monitoring the elements of application subsystem 102 and modem subsystem 133, flow client request manager 109 can allow wireless handheld computing device 200 to intelligently vary a video quality being displayed on the device 200 by monitoring the wireless network conditions as well as the conditions of the handheld computing device 200 itself. The video quality can be varied by the streaming client request manager 109 by using the monitored conditions to determine what the rate is. appropriate bits for a video segment file 212 to be transferred from server 210. [0056] Some of the conditions monitored based on the data provided by application subsystem 102 and modem subsystem 133 include, but are not limited to: media playback device buffer conditions, including the current buffer size and the rate at which temporary storage growth is being consumed by computing device 200; WWAN bandwidth, current and historical; current and historical WWAN signal strength; the number of available IP socket data connections; estimating a global video clip length and then estimating each uniform resource locator (“URL”) transfer time for each file segment 212 based on the signal-to-noise ratio history/histogram and location-based service (“ LBS"); portable computing device 200 speed rate that is calculated either by triangulation of cell tower identification or exact latitude/longitude through the use of location-based technologies such as GPS module 143; and the direction of travel of the portable computing device 200 using an accelerometer and/or the LBS. [0057] The client request manager of stream 109 can calculate a predetermined period of time in which the client request manager 109 must maintain or use a lower bit rate until the signal-to-noise ratio remains high and/or the BLER remains low continuously. The flow client request manager 109 can also "turn on" or "turn off" any type of receive diversity function(s) in the modem subsystem 133 to minimize power during ideal network situations, such as when the portable computing 200 is stationary, or when portable computing device 200 is operating under low relative speed conditions, such as when a user is walking with computing device 200. [0058] Referring to Figure 2, that figure is a diagram of an exemplary, non-limiting aspect of a handheld wireless computing device 200 comprising a cordless telephone that corresponds with the handheld wireless computing device of Figure 1 As shown, handheld wireless computing device 102 includes an on-chip system 322 that includes a digital signal processor and/or a first central processing unit 324 and an analog signal processor and/or second processing unit. central 326 that are coupled together. Additionally, the first processor 324 and memory resources 119 may serve as a means to perform one or more of the method steps described in that description in connection with Figures 5-8. However, second digital signal processor/central processing unit 326 may also execute one or more instructions related to modem subsystem 133, which are also described in connection with Figures 5-8. [0059] Although a handheld wireless computing device 200 is illustrated, those skilled in the art recognize that the invention can be practiced with any type of wireless computing device regardless of the size of the computing device. That is, wireless computing devices other than portable units, such as notebook computers, laptop computers and desktop computers, are included within the scope of the invention. [0060] As illustrated in Figure 2, a display controller 328 and a touchscreen controller 330 are coupled to the digital signal processor 324. A touchscreen display 332 external to the on-chip system 322 is coupled to the display controller 328 and touch screen controller330. [0061] Figure 2 further indicates that a 334 video encoder, for example, a phase alternating line coder ("PAL"), a memory sequential color coder ("SECAM"), a national committee coder of television ("NTSC") system(s), or any other video encoder, is coupled to digital signal processor 324. As noted above, first digital signal processor 324 and/or second digital signal processor 326 may be replaced by a Central Processing Unit (“CPU”) as understood by those of ordinary skill in the art. Any hardware unit can execute the software elements/instructions subsystem of Figures 5A-8. [0062] A video amplifier 336 is coupled to video encoder 334 and touch screen 332. A video port 338 is coupled to video amplifier 336. As illustrated in Figure 2, a universal serial bus controller (" USB”) 340 is coupled to digital signal processor 324. In addition, a USB port 342 is coupled to USB controller 340. Memory resources 119 and a subscriber identity module (“SIM”) card 346 can also be coupled to digital signal processor 324. Additionally, as shown in Figure 2, a digital camera 348 may be coupled to digital signal processor 324. In an exemplary aspect, digital camera 342 is a charge-coupled device ("CCD") camera ”) or a complementary metal-oxide semiconductor (“CMOS”) camera. [0063] As further illustrated in Figure 2, a stereo audio CODEC 350 can be coupled to the analog signal processor 326. In addition, an audio amplifier 352 can be coupled to the stereo audio CODEC 350. In an exemplary aspect, an a first stereo speaker 354 and a second stereo speaker 356 are coupled to the audio amplifier 352. Figure 2 shows that a microphone amplifier 358 can also be coupled to the stereo audio CODEC 350. Additionally, a microphone 360 can be coupled to the audio amplifier. microphone 358. In a specific aspect, a frequency modulated (“FM”) radio tuner 362 can be coupled to the stereo audio CODEC 350. In addition, an FM antenna 364 is coupled to the FM radio tuner 362. Additionally, headphones 366 stereo headphones can be coupled to the 350 stereo audio CODEC. [0064] Figure 2 further indicates that a radio frequency ("RF") transceiver 368 may be coupled to the analog signal processor 326. An RF switch 370 may be coupled to the RF transceiver 368 and an RF antenna 372 The 368 RF transceiver can communicate with conventional communications networks as well as global positioning system (“GPS”) satellites to obtain GPS signals for geographic coordinates. The RF transceiver can be controlled and monitored by the GPS module 143 of Figure 1B. [0065] As shown in Figure 2, a keyboard 374 can be coupled to the analog signal processor 326. In addition, a mono headset with a microphone 376 can be coupled to the analog signal processor 326. Additionally, a vibrator device 378 can be coupled to the analog signal processor 326. Figure 2 also shows that a power supply 380 can be coupled to the on-chip system 322. In a specific aspect, the power supply 380 is a direct current power supply (" CC") that provides power to the various components of the wireless handheld computing device 102 that require power. Additionally, in a specific aspect, the power supply is a rechargeable DC battery or a DC power supply that is derived from an alternating current (“AC”) to the DC transformer that is connected to an AC power source. [0066] As illustrated in Figure 2, the touch screen 332, the video port 338, the USB port 342, the camera 348, the first stereo speaker 354, the second stereo speaker 356, the microphone 360, the antenna FM 364, stereo headphones 366, RF switch 370, RF antenna 372, keyboard 374, mono headphone 376, vibrator 378, and power supply 380 are external to the 322 on-chip system . [0067] Figure 3 is a diagram of a touch sensitive display screen 332 for a wireless handheld computing device 200. As shown, the wireless handheld computing device 200 may include a menu or listing 510 of program icons 505, represented as square boxes in this exemplary modality. Wireless handheld computing device 200 also includes a headset or speaker 376 that can be positioned close to the user's ear to listen to a mobile phone conversation. [0068] Figure 4 is a diagram of a screen 372 showing video content 400 transferred by a wireless handheld computing device 200. Video 400 can comprise moving images. In the embodiment illustrated in Figure 4, two automobiles are illustrated as moving towards each other in the directions corresponding to the two arrows. Those of common knowledge in the art recognize that the invention is not limited to the exemplary images of automobiles, illustrated in Figure 4, and that other types of moving images for different videos are within the scope of the invention. [0069] Referring to Figure 5A, this figure is a flowchart illustrating a 500A method for optimizing video playback for a wireless handheld computing device 200. Block 505 is the first step in process 500 in which the meta-object 402 describing the available video file segments 202 on server 210 is received by wireless handheld computing device 200. As noted earlier, meta-object 402 may comprise a file, such as the file having an extensible markup language format. (XML), which has detailed file information 206 about the video files 212 that can be downloaded by the wireless handheld computing device 200. [0070] This detailed file information 206 in meta-object 402 can describe various properties of 212A-D video file segments that can be downloaded by wireless handheld computing device 200. Exemplary properties include, but are not limited to length total of a video comprising a plurality of file segments 212, the discrete length of each file segment 212, different bit rates for similar segments 212, and different video resolutions for similar segments 212. Other properties for video not mentioned here and describing various aspects, video features are included within the scope of the invention as understood by those of ordinary skill in the art. Additionally, the invention is not limited to video files and may be appropriate for other file types such as image files, voice files, text files and any other file type comprising data having a size that generally requires a file to be split into different segments. [0071] In the exemplary embodiment illustrated in Figure 1A, the meta-object 402 describes a video having a length of X minutes that is fractionated into file segments 212 having a length of Y seconds. Meta-object 402 describes that three bitrates have been provided for each file segment 312. Meta-object 402 also describes that two resolutions are available for each file segment 212. One resolution is denoted as being of “High” resolution while the other segment of file 212 is denoted as being “Low” resolution. [0072] Next, at block 510, HTTP stream client request manager 109 can parse the options of file segments 212 that are listed in meta-object 402. Client request manager 109 can store these options in one or more memory resources 119. In routine block 515, client request manager 109 can evaluate the data it receives from sensors 125 as illustrated in Figure 1B. As noted earlier, client request manager 109 can actively request or "poll" sensors 125 for data, or sensors 125 can provide status updates to client request manager 109 when conditions change. Additional details of routine block 515 will be described in connection with Figure 6 described in further detail below. [0073] Next, in block 520, the client request manager 109 can store the data from the sensors 125 in one or more memory resources 119. In block 525, the client request manager 109 can evaluate the data from application subsystem 102. [0074] Specifically, in block 525, the client request manager 109 can evaluate the data provided by the TCP connection modules 127 and by the HTTP stack 111. As noted earlier, the TCP connection modules 127 can provide information that includes, but is not limited to the retransmission interval (“RTO”); advertised receiver window (“Rx Window”) that allows the client request manager 109 to estimate the maximum throughput that can be achieved as understood by those skilled in the art; transmit-receiver throughput (“Tx/Rx throughput”); package statistics; a total number of TCP connections; estimated round-trip time ("RTT") so that the RTT for different host names can be estimated as understood by those of ordinary skill in the art; number of bytes received so that the client request manager 109 can compute the average throughput as understood by those of ordinary skill in the art; the number of packets in sequence so that the client request manager 109 can estimate the TCP transmission window size as understood by those of ordinary skill in the art; and the TCP transmission window size such that the client request manager 109 estimates the maximum transfer rate that can be achieved as understood by those of ordinary skill in the art. [0075] The HTTP stack module 11 can provide the client request manager 109 with status information which may include, but is not limited to: High Speed Schedule Control Channel (“HS-SCCH”) Valid status which allows client request manager 109 to estimate the frequency at which portable computing device 200 is scheduled by the network for transmission and whether it is a value that allows client request manager 109 to estimate the maximum transmission rate that can be obtained as understood by those of ordinary skill in the art; layer one block error rates (“L1 BLER”) and high speed transport block size (“HS-TBS”) that allow the client request manager 109 to estimate the average and maximum transfer rate it can be obtained as understood by those of ordinary skill in the art; radio link control protocol ("RLC PDU") data unit size that allows client request management 109 to estimate the maximum throughput that can be achieved as understood by those of ordinary skill in the art; bytes received (“Rx”) from radio link control downlink service data unit (“RLC DL SDU”) that allows client request manager 109 to compute the average throughput for the protocol layer Internet (IP) as understood by those skilled in the art. [0076] The HTTP stack module 111 may further provide the client request manager 109 with other status information, such as, but not limited to: Downlink Packet Access User Equipment ("HTTP") category of high speed (“HSDPA”) which allows the client request manager 109 to calculate the theoretical maximum downlink throughput as understood by those of ordinary skill in the art; media access control uplink storage status report ("MAC UL BSR") that indicates the amount of data that is temporarily stored for the protocol stack waiting for uplink transmission scheduling as understood by those in the know common in technique; improved uplink transmission time interval (“EUL TTI”); Improved transport format combination index table index (“ETFCI”); ETCFI; the number of new transmissions (“Tx”) transmission bytes (“Tx”) of radio link control uplink service data unit (“RLC UL SDU”) that allows the client request manager 109 compute the average throughput seen by the IP layer as understood by those of ordinary skill in the art; diversity transmit/diversity receive (“DTX/DRX”) mode that allows the client request manager 106 to configure this mode so that HTTP requests can be pooled which can lower latency as understood by those in the common knowledge in technique; category of enhanced uplink user equipment (“EUL HTTP”) that allows the client request manager 109 to calculate a theoretical maximum uplink throughput as understood by those of ordinary skill in the art; media access control transmission layer ("MAC TL TBS") transport block size that allows the client request manager 109 to calculate the average throughput as understood by those of ordinary skill in the art; packet data convergence protocol (PDCP DL SDU) downlink service (PDCP DL SDU) bytes ("Rx") that allows the client request manager 109 to compute the average throughput for the IP layer as understood by those of ordinary skill in the art; media access control uplink ("MAC UL TBS") transport block size that allows the client request manager 109 to compute the average throughput as understood by those of ordinary skill in the art; packet data convergence protocol (“PDCP UL SDU”) uplink service data unit transmission (“Tx”) that allows client request manager 109 to compute the average throughput as view by the IP layer as understood by those of ordinary skill in the art; and user equipment ("UE Category") that allows the client request manager 109 to compute theoretical maximum baud rate as understood by those of ordinary skill in the art. [0077] With the EUL TTI, table index ETFCI, ETCFI, and the number of new Tx parameters provided by the HTTP stack 111, the client request manager 109 can estimate the average and maximum throughput that can be achieved as understood by those of common knowledge in the art. At block 530, client request manager 109 may store data from application subsystem 102 in one or more of memory resources 119. At routine block 535, client request manager 109 may evaluate the data to from modem subsystem 133. Details of routine block 535 will be described in further detail below in connection with Figure 7. [0078] In routine block 545, the HTTP stream client request manager 109 can estimate the future conditions of the wireless network 206 based on a comparison of the historical data with the new data that was retrieved from the application subsystem 102 and modem subsystem 133. For example, based on the data that the client request manager 109 receives from sensors 125, the client request manager 109 can determine whether the handheld computing device 200 is moving and in what speed it might be moving. This allows the stream client request manager 109 to estimate what kind of radio conditions can be expected in the near future for the handheld computing device 200. [0079] The customer request manager 109 may make certain adjustments in the operation of the portable computing device 200 when it has determined that the portable computing device 200 is in a motor vehicle, such as an automobile, which it is likely to pass through. from many different wireless networks 206 while on the move. This may allow the client request manager 109 to determine how long the portable computing device 200 can be within the reception range of a specific wireless network 206 and specifically a cell base station transceiver tower 208. [0080] As another example, at block 545, the HTTP stream client request manager 109 can determine that the handheld computing device 200 is being carried by a person who is walking. If this condition is detected, then client request manager 109 will determine that portable computing device 200 will be within a specific wireless network 206, and specifically within range of a cellular base station transceiver tower 208, for a given period of time which is typically greater than the period of time compared to when the portable computing device 200 would be if the portable computing device 200 were in a motor vehicle, such as an automobile. [0081] The calculation of time by the client request manager 109 in block 545 of how long the handheld computing device 200 will be within range of a specific wireless network 206 allows the client manager 109 to anticipate when it is likely to occur a handover from one cell base station transceiver tower 208 to another transceiver tower 208. Alternatively, or in addition to this timing calculation, the flow client request manager 109 may query the hardware or software elements within of the network subsystem 133 that can monitor the data indicating when a cell site transfer is about to occur. [0082] It is not crucial for the client request manager 109 to calculate exactly when a transfer is about to occur, but rather it is useful for the client request manager 109 to determine when the portable computing device 109 will be experiencing rapid changes regarding to wireless networks 206 in which the portable computing device 200 is capable of establishing communications. [0083] Next, in routine block 550, client request manager 109 may select a file segment type to download from server 210 based on the current network conditions and network conditions of the handheld computing device 109 and/or based on the estimate of the network conditions calculated in routine block 545. In this routine block 550, client request manager 109 can specify which file segment 212 it intends to download from server 210 to optimize the playback of the video 400 being displayed on the portable computing device 200. The stream client request manager 109 in some situations may constantly request a low quality video stream signal, such as the fourth file segment for 212D , which has a lower bit rate and lower resolution compared to the third file segment 212C. [0084] Stream client request manager 109 may typically request poor quality video stream signals if manager 109 has determined that it is likely that handheld device 109 will experience rapid changes with respect to wireless networks 206 and possibly lose communicating with wireless networks 206. If client request manager 209 determines that handheld computing device 200 is likely to be stationary, then client request manager 109 may request high quality signals or a combination of low quality and high quality depending on conditions detected by client request manager 109. For example, if client request manager 109 detects that handheld computing device 200 is stationary, then client request manager 109 may request a high quality signal comprising the first file segment 212A of Figure 1A t being the highest first bit rate and highest bit resolution. The client request manager 109 can build a temporary data store, such as for streaming video, so that the handheld computing device 200 can keep advanced segments 212 of a video stream that is not being seen by a user in the resources. of memory 119. [0085] As another example of the steps that can be performed by the client request manager 109 in routine block 550, the client request manager 109 can turn off the display screen 332 when the proximity sensor 125C determines that the portable computing 200 is being positioned close to a user's ear so that a phone conversation can be established. In such a scenario, the display screen 232 of the portable computing device can be turned on or off as it is unlikely that a user will be using the video aspects of the portable computing device 200 when the portable computing device 200 is positioned adjacent to the user's ear. Alternatively, the client request manager 109 may also request poor quality video in such a scenario as it is unlikely that the video is being closely monitored or watched by the user. [0086] A further example of the steps that can be performed by the client request manager 109 in routine block 550 includes the client request manager 109 selecting a file segment 212 based on the data it received from the sensor. 125E ambient light. If the 125E ambient light sensor indicates that the handheld computing device 200 is being exposed to a significant amount of light that can deteriorate the ability to view video, then the client request manager 109 may request poor quality video in this scenario. . If the ambient light sensor 125E indicates that the handheld computing device 200 is being exposed to an environment in which light is not present, then the client request manager 109 may request higher quality video in this scenario since the quality of video will be easily noticed by a user. [0087] Next, in optional block 555 which has been illustrated with broken lines, the client request manager 109 can establish a predetermined period of time and/or a condition to prevent a change to a different level of video quality. In optional block 555, client request manager 109 calculates a period of time in which it believes current network conditions will remain the same, typically in situations where network conditions are insufficient to establish communications between the computing device. portable 200 and a broadcast transceiver tower 208. This time calculation is based on the estimate of network conditions that the client request manager 109 calculated in block 545. [0088] Optional block 555 is normally practiced or executed by the client request manager of flow 109 after the client request manager 109 has determined in block 545 that the signal-to-noise ratio ("SNR") is monitored by the layer module PHY 141 has reached a predetermined level. In optional block 555, the stream client request manager 109 can prevent a change to a higher video quality segment 212 unless the SNR remains at a predetermined level for a predetermined period of time while the block error rate (“BLER”) remains at a predetermined level continuously for a predetermined period of time. [0089] In option block 560, client request manager 109 may store the predetermined period of time calculated in option block 555 and/or the condition calculated in option block 555 in one or more memory resources 119 that are associated with the current conditions for historical tracking purposes. Next, at option block 565, client request manager 109 can determine whether enhanced features of modem subsystem 133 should be disabled or enabled. [0090] In this option block 565, the customer request manager 109 can determine whether advanced receiver functions such as the receiver diversity function ("RxDiv") based on the GPS data from the GPS module 143 and power level conditions monitored by client request manager 109. If client request manager 109 determines that handheld computing device 200 is experiencing a low power condition and is rapidly moving between 206 based wireless networks in the GPS data, then the client request manager 109 may decide to disable one or more advanced receiver functions to conserve power and to maintain communications with the wireless network 206. If the client request manager 109 determines that the device is Portable Computing Device 200 is experiencing a normal power condition meaning Portable Computing Device 200 is fully charged. and if the portable computing device 200 is stationary, then the client request manager 109 may decide to enable or enable one or more of the advanced receiver functions from its disabled state. [0091] In option block 570, client request manager 109 enables or disables advanced receiver functions based on its decisions determined in option block 565. Other advanced receiver functions that can be disabled or enabled by the request manager client include, but are not limited to: enabling equalizer (“Enable EQ”); and enable interference cancellation (“Enable IC”). The process then continues to decision block 575 of Figure 5B. [0092] Figure 5B is a continuation flowchart of the flowchart of Figure 5A illustrating method 500 for optimizing video playback for a wireless handheld computing device 200. Decision block 575 is the first block of this flowchart in which the manager In this decision block 575, client request manager 109 can determine whether one or more applications have taken over primary use and/or control of handheld computing device 200. In that decision block 575, client request manager 109 can determine whether another application, such as a call. phone, was supported or executed by another application program module on the handheld computing device 200. Alternatively, the client request manager 109 may detect another application program module that has dominant use or utilizes a large section of the display screen 332 for a section that supports the 400 video being displayed. [0093] If the client request manager 109 detects that an application has taken primary use and/or control of the handheld computing device 200 at decision block 575, such as in a situation of a telephone call being received by the computing device handheld 200, then the process proceeds to decision block 580. If client request manager 109 does not detect any application taking primary use and/or control of handheld computing device 200 and decision block 575, then the process returns to block 515 of Figure 5A. [0094] In decision block 580, the client request manager 109 determines whether the requested file segments 212 are of lower quality. If the client request manager 109 determines that the current file segments 212 in memory resources 119 are of high quality compared to what was described in meta-object 402, then the process proceeds to block 585 at which the client request manager client request determines if lower quality file segments 212 are available and if they are available, client request manager 109 selects lower quality file segments 212 while the other application module is mastering usage and/or control of portable computing device 200. [0095] When the other application module has given up dominating the use and/or control of the mobile computing device 200, then the client request manager 109 can allow the request for higher quality video file segments 212 depending on the network conditions and conditions of the wireless handheld computing device 200. If at decision block 508 the client request manager 109 determines that the current video file segments 212 are already at a lower quality, then the process proceeds from back to block 515 of Figure 5A. [0096] Figure 6 is a flowchart illustrating a secondary method or routine 515 of Figure 5A for evaluating data from sensors 125 in a wireless handheld computing device 200. Block 605 is the first block of routine 515 in which client request manager 109 evaluates data from the 125A pedometer sensor. As discussed earlier, data from the pedometer sensor 125 may indicate that the handheld computing device 200 is being carried by a person who is walking so that the customer request manager 109 can calculate an estimate of the time when the portable computing device 200 may be present within certain wireless network 206. [0097] Next, in block 610, the client request manager 109 can evaluate the data it receives from the accelerometer 125B. Data from accelerometer 125B can indicate to customer request manager 109 whether or not handheld computing device 200 is inside a mobile vehicle. At block 620, client request manager 109 can evaluate data from proximity sensor 125C. Data from proximity sensor 125 can indicate to customer request manager 109 that handheld computing device 200 is being positioned close to a user's face to conduct a telephone call (typically). [0098] Next, in block 625, the client request manager 109 can evaluate the data it receives from the compass 125D. Data from compass 125D can indicate whether or not handheld computing device 200 is located inside a motor vehicle. [0099] In block 630, the client request manager 109 can evaluate data from an ambient light sensor 125E. The data from the 125E ambient light sensor can indicate to the customer request manager 109 the lighting conditions for the handheld computing device 200. The 125E ambient light sensor can detect the low-level and high-level lighting conditions level such as direct sunlight and operation of the portable computing device 200 at night in the absence of sunlight. After block 630, the process returns to block 520 of Figure 5A. [00100] Figure 7 is a flowchart illustrating a secondary method or routine 535 of Figure 5A for evaluating data from a modem subsystem 133 in a wireless handheld computing device 200. Block 705 is the first block of routine 535 in which the client request manager 109 can evaluate the data received from the GPS module 143. The GPS module 143 can provide information, such as, but not limited to, the location, and gait or speed of the portable mobile computing device 200 to the flow request manager 109. Specifically, the GPS module 143 can provide latitude, longitude, altitude with respect to the ellipsoid, altitude with respect to mean sea level, horizontal speed, vertical speed, and route information. [00101] In block 710, the client request manager 109 can evaluate data from the radio relay control module ("RRC") 137. The RRC module 137 can communicate information such as, but not limited to, high-speed downlink packet access category ("HSDPA") information, enhanced uplink layer ("EUL") category information, and discontinuous receive/transmit configuration ("Config") information (" DRX/DTX”). [00102] In block 720, client request manager 109 can evaluate data from radio link control module (“RLC”) 135. RLC module 135 can communicate throughput as well as unit size of radio link control (“RLC”) protocol data (“PDU”). [00103] In block 720, the client request manager can evaluate the data from the media access control module ("MAC") 139. The MAC layer module 139 can communicate uplink ("UL" information ), such as, but not limited to, store status report information (“BSR”) and enhanced dedicated channel transport format (“TF”) information (“EDCH”). [00104] In block 730, the client request manager 109 can evaluate the data from the physical layer module ("PHY") 147. The physical layer 141 can communicate the downlink ("DL") information, such as such as, but not limited to, high-speed transport block size ("HS-TBS"), modulation, channel quality indication ("CQI"), block error rate measurement ("BLER"), multiple inputs / multiple outputs ("MIMO"), automatic gain control ("AGC") of receiver ("Rx"), as well as diversity ("D") of receiver ("Rx") of integrated circuit equalizer ("EQ/") IC”). Physical layer 141 may also communicate uplink (“UL”) information, such as, but not limited to, transmitter (“Tx”) BLER, modulation, and automatic gain control (“AGC”). [00105] Other parameters monitored by the PHY module 141 include, but are not limited to the following: the number of RAKE finger strokes that can allow the client request manager 109 to estimate the wireless channel profile, single path profile, or multipath as understood by those of ordinary skill in the art; the common pilot channel ("CPICH") signal-to-noise ratio ("SNR") so that the client request manager 109 can predict fading channel conditions as understood by those skilled in the art; the channel quality indicator ("CQI") so that the client request manager 109 can predict channel fading conditions as understood by those of ordinary skill in the art; the received quality of reference signal ("RSRQ") can antenna 372 so that the client request manager 109 can calculate the signal quality over the measurement bandwidth as well as predict the fading channel conditions as understood by those of common knowledge in the art; and the category indicator ("RI") so that the client request manager 109 can calculate the number of transmission layers under multiple input/multiple output spatial multiplexing ("SU-MIMO") conditions as understood by those common knowledge in the art. [00106] Next, at block 735, data from the modem subsystem elements may be stored by the client request manager 109 in one or more of the memory resources 119. The process then returns to routine block 540 of the Figure 5A. [00107] Figure 8 is a state diagram illustrating the communications between the flow manager 109 of a wireless handheld computing device 200 and a server 210 which has several video files 212 for downloading via the handheld computing device wireless 200. The first communication 133A of the state diagram is sent from the modem subsystem 133 to the client flow manager 109. The first communication 133A may comprise a status for the transmission protocol ("TP") . The current TP status may indicate a rate of 1.8 megabits per second (“Mbps”) that can be supported by the portable computing device 109. The 133A first communication may also provide a status for block error rate (“BLER”) . The BLER for that 133A communication can comprise a magnitude of two percent. [00108] The first communication 133A may also provide a status for the round-trip time ("RTT") between the handheld computing device 200 and the server 210. The RTT may comprise a magnitude of 100 milliseconds (ms). The first communication 133A can also provide status from the GPS module 143. The status from the GPS module 143 can indicate that the handheld computing device 109 is moving at a speed of approximately one mile per hour. [00109] The second communication 111A can be sent from the HTTP client 111 to request the meta-object 402 from the stream server 210. The third communication 133B can indicate that the speed for the transmission protocol has decreased to 1.5 Mbps in with respect to the first communication 133A. The third communication 133B may also indicate that the BLER has increased to three percent, while the RTT remains the same at 100 ms. The GPS module 143 can indicate that the speed of the handheld computing device 109 has increased to two mph from the first communication 133A. [00110] The fourth communication to 210A is sent from the server 210 to the HTTP client 111 of the handheld computing device 109. The fourth communication 210A may comprise the meta-object file 402. The meta-object file 402 may indicate that the 212 file segments comprise lengths of approximately 5 seconds, while the options for bitrates for each of the segments include those at 1.5 Mbps, 1 Mbps, 768 Mbps, 384 Mbps, and 64 kbps. The 402 meta-object file may also indicate that the 212 file segments can have two different video resolutions: one at 800x400 and one at 400x200. [00111] At the fifth communication 111B, the meta-object file 402 is passed to the client request manager 109 for review. In the sixth communication 109A, the client request manager 109 has already determined a speed for the first file segment 212 and its resolution: 1 Mbps and a resolution of 800x400. Before the sixth communication 109A and after the fifth communication 111B comprising the meta-object file 402, the client request manager 109 may have executed blocks 510-550 of Figure 5A. [00112] In the seventh communication 111B, the HTTP client 111 issues a request to the server 210 for the file segment 212 having a bit rate of 1 Mbps and a video resolution of 800x400. On the eighth communication 133C, modem subsystem 133 indicates that the average transmission protocol speed has dropped to 500 kbps while the BLER has increased to 10%. However, the RTT remains the same at 100 ms while the GPS module 143 indicates that the handheld computing device 109 has increased to a speed of 10 mph over the third communication 133B. [00113] Based on the conditions provided in the eighth communication 133C, the client request manager 109 determines just before the ninth communication 109B that the next file segment 212 that is to be downloaded must have a bit rate of 1 Mbps and a resolution 400x200 less video compared to the sixth communication 109A that was previously dispatched by the client request manager 109. The client request manager 109 transmits this ninth communication to the HTTP client 111. [00114] However, as the stream server 210 did not respond to the last HTTP client request, the HTTP client 111 is unable to transmit the content of the ninth communication 109B through the stream server 210. Only after the HTTP client 111 receives the next Communication from the streaming server to 10 is that the HTTP client 111 transmits its next request to the streaming server 210. This is the nature of the HTTP streaming protocol as understood by those of ordinary skill in the art. [00115] In the tenth communication 210B, the stream server 210 provides its response to the last request from the HTTP client 111 which was the seventh communication 111B. The tenth communication 210B may comprise the content of the last request 111B which was a file segment having a bit rate of 1 Mbps and a video resolution of 800x400. [00116] Next, in the eleventh communication 133D from modem subsystem 133 to client request manager 109, conditions may indicate that the transmission protocol average remained the same at a bit rate of 500 Kbps while BLER also remained the same at ten percent. The eleventh communication 133D may indicate that the RTT increased from 100 ms to 120 ms and the speed of the client computing device 109 remained the same at 10 MPH. [00117] In the twelfth communication 109C the client request manager 109 may have determined that the bit rate and video resolution can remain the same with respect to the last communication from the client request manager 109B that provided a bit rate 384 Kbps and a video resolution of 400x200. This twelfth communication 109C is transmitted from the client request manager 109 to the HTTP client 111. [00118] In the thirteenth communication 111C, the HTTP client 111 can communicate with the stream server 210 with a request for the next file segment 212 to have a bit rate of 384 Kbps and a video resolution of 400x200. In the fourteenth communication 210C, the stream server 210 can provide the requested file segment 212 having the bit rate of 384 Kbps and a video resolution of 400x200. [00119] Next, in the fifteenth communication 133E, the modem subsystem 133 may indicate that the average TP speed and the BLER remained the same at 500 Kbps and ten percent, respectively. Modem subsystem 133 may also indicate that the RTT increased from 120 ms to 150 ms and the speed remained the same at 10 MPH. [00120] Based on these conditions provided by the modem subsystem 133 in the fifteenth communication 133D, the client request manager 109 may decide to request segments 212 with bit rates and video resolutions equal to the last, twelfth request 109C in which the requested bit rate is 384 kbps and a video resolution of 400x200. The client request manager 109 transmits this data on the sixteenth communication 109D. [00121] In the seventeenth communication 133F, the modem subsystem 133 may indicate that the bit rate for the transmission protocol increased from 500 kbps to 3 Mbps and that the BLER decreased from ten percent to 0.5 percent. The seventeenth communication 133F may also indicate that the RTT decreased from 150 ms to 100 ms and that the speed of portable computing device 109 decreased from 10 MPH to 1 MPH. [00122] In view of the conditions provided in the seventeenth communication 133F and after the client request manager has executed at least blocks 510-550 of Figure 5A, the client request manager 109 can request file segments 212 having a rate 1.5 Mbps bit rate and a relatively high resolution of 800x400. Subsequently, the HTTP client 111 transmits the request for file segments 212 having a bit rate of 1.5 Mbps and a high resolution of 800x400 to the stream server 210 in the nineteenth communication 111D. [00123] Although specific values have been discussed with reference to the state diagram in Figure 8, those of common knowledge in the art recognize that other magnitudes for TP, BLER, RTT and GPS are possible and are within the scope of the invention. Additionally, those of common knowledge in the art recognize that other factors monitored by modem subsystem 133 and application subsystem 102 are within the scope of the invention. [00124] Those of ordinary skill in the art recognize that the home personal computer utilizing the client request manager 109 to access content over the Internet is within the scope of the invention. The client request manager 109 would be implemented and run on an operating system (“OS”), such as Windows™, and would typically monitor the bandwidth (bit rate of the chosen stream video) and multimedia store status. (bit rate of the video stream) and makes decisions about which content is higher or lower resolution than that in the next file segment 212. [00125] A mobile phone using the client request manager 109 can be deployed either on an OS comprising Windows™ and connected to WWAN (such as Gobi), or the client request manager 109 can be provided within the mobile phone in an OS such as ANDROID™, SYMBIAN™ or WINDOWS™ branded mobile operating systems. Client Request Manager 109 can also monitor bandwidth and media store status similar to what was discussed above. However, in this mobile phone environment, the client request manager 109 can also consider via the GPS module 143 and the accelerometer 125B that a user is moving and accelerating. Client Request Manager 109 may notice that statistically when the user has similarly accelerated in the past, the bandwidth has decreased. Therefore, if the client request manager 109 considers that the bandwidth might still decrease in the future, then the request manager 109 can make an intelligent decision to request a lower video resolution than what can be supported under conditions of network detected, current. [00126] Those of ordinary skill in the art recognize that an advanced client request manager 109 may consider the signal-to-noise ratio (“SNR”). For example, if handheld computing device 109 has stopped moving and a higher bit rate may be available despite client request manager 109, but typically requests a higher bit rate, client request manager 109 may realize that the SNR is low and thus do not request a higher bit rate stream for the next set of file segments 212. Certain types in the processes, or process streams, described in this specification naturally precede others for the invention to function as described . However, the invention is not limited to the order of steps described if such order or sequence does not alter the functionality of the invention. That is, it is recognized that some steps can be performed before, after, or in parallel (substantially simultaneously with) other steps without departing from the scope and essence of the invention. In some cases, certain steps may be omitted or not performed without departing from the invention. Additionally, words such as “next”, “then”, “next”, etc. they are not intended to limit the order of steps. These words are used simply to guide the reader through the description of the exemplary method. [00127] Additionally, those of common knowledge in programming are able to write computer code or identify appropriate hardware and/or circuits to implement the described invention without difficulty based on the flowcharts and the associated description in that descriptive report, for example. [00128] Therefore, the description of a specific set of detailed program code instructions or hardware devices is not considered necessary for a proper understanding of how to make and use the invention. The inventive functionality of the claimed computer-implemented processes is explained in more detail in the above description and in conjunction with figures which can illustrate various process flows. [00129] In one or more exemplary aspects, the functions described may be implemented in hardware, software, firmware or any combination thereof. If implemented in software, functions can be stored or transmitted as one or more instructions or code in a computer-readable medium. Computer-readable media includes computer storage media and communication media including any medium that facilitates the transfer of a computer program from one location to another. A storage media can be any available media that can be accessed by a computer. By way of example and not limitation, such computer readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage medium, magnetic disk storage medium or other magnetic storage devices, or any other medium which can be used to load or store desired program code in the form of instructions or data structures and that can be accessed by a computer. [00130] In addition, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a network site, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line ("DSL"), or such wireless technologies with infrared, radio, microwave, then coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. [00131] Disc (disk) and disc (disc), as used herein, include compact disc (“CD”), laser disc, optical disc, digital versatile disc (“DVD”), floppy disk and blu-ray disc where discs (disk) normally reproduce data magnetically, while discs (disc) reproduce data optically with lasers. Combinations of those mentioned above should also be included in the scope of computer readable media. [00132] Although selected aspects have been illustrated and described in detail, it will be understood that various substitutions and changes can be made without departing from the concept and scope of the present invention, as defined by the following claims.
权利要求:
Claims (15) [0001] 1. Method for optimizing media playback quality for a wireless handheld computing device (200), the method characterized by the fact that it comprises: receiving (505) a meta-object (402) describing the media to be downloaded to the handheld wireless computing device over a communication network (206), the media comprising a plurality of time segments (212) with each time segment having a plurality of file segments available at different bit rates and resolution combinations , wherein the plurality of available file segments includes a plurality of file segments at different bitrates for a given resolution and a plurality of file segments at different resolutions for a given bitrate; review (510) options for different bitrates and resolution combinations described in the meta-object; evaluating (525) data from an application subsystem (102); evaluating (535) data from a modem subsystem; and selecting (550) any file segment to download that optimizes media playback on the wireless handheld computing device based on different bit rates and resolution combinations and the data received from at least one between the application subsystem and the modem subsystem. [0002] 2. Method according to claim 1, characterized in that it further comprises: evaluating (515) data from one or more sensors. [0003] 3. Method according to claim 2, characterized in that it further comprises: estimating (545) future conditions of a wireless network based on data from at least one of sensors, application subsystem and modem subsystem . [0004] 4. Method according to claim 1, characterized in that it further comprises: estimating (545) future conditions of a wireless network based on data from at least one between the application subsystem and the modem subsystem . [0005] 5. The method of claim 1, further comprising: determining (575) whether an application program module has assumed primary control over the wireless handheld computing device. [0006] 6. The method of claim 5, further comprising: if an application program module has assumed primary control over the wireless handheld computing device, then determining (580) whether the file segment selected is of lower quality. [0007] 7. The method of claim 1, further comprising: determining (575) whether the wireless handheld computing device has received a telephone call. [0008] 8. Method according to claim 7, characterized in that it further comprises: if a telephone call has been received by the wireless handheld computing device, then determining (580) whether the selected file segment is of higher quality low. [0009] 9. Method according to claim 1, characterized in that the wireless handheld computing device comprises at least one of a mobile phone, a personal digital assistant, a pager, a smart phone, a navigation device, and a portable computer with a wireless connection or link. [0010] 10. Method according to claim 1, characterized in that the media comprises at least one of video, audio, images and a combination thereof. [0011] 11. Computer system for managing one or more memory resources of a portable wireless computing device (200), the system characterized in that it comprises: means for receiving a meta-object (402) describing the media to be downloaded to the wireless handheld computing device over a communication network (206), the media comprising a plurality of time segments (212) with each time segment having a plurality of file segments available in different bit rates and combinations. resolution, wherein the plurality of available file segments includes a plurality of file segments at different bit rates for a given resolution and a plurality of file segments at different resolutions for a given bit rate; means for reviewing options for different bitrates and resolution combinations described in the meta-object; means for evaluating data from an application subsystem (102); means for evaluating data from a modem subsystem (133); and means for selecting a file segment to download that optimizes media playback on the wireless handheld computing device based on different bit rates and resolution combinations and the data received from at least one between the application subsystem and the modem subsystem. [0012] 12. System according to claim 11, characterized in that it further comprises: means for evaluating data from one or more sensors. [0013] 13. System according to claim 11, characterized in that it further comprises: means for estimating future conditions of a wireless network based on data from at least one among sensors, application subsystem and modem subsystem. [0014] 14. System according to claim 11, characterized in that it further comprises: means for estimating future conditions of a wireless network based on data from at least one between the application subsystem and the modem subsystem. [0015] 15. Computer-readable memory, characterized in that it contains recorded thereon the method as defined in any one of claims 1 to 10.
类似技术:
公开号 | 公开日 | 专利标题 BR112013008024B1|2021-08-31|Method to optimize media playback quality and computer system to manage one or more memory resources of a wireless handheld computing device and computer readable memory US9465777B2|2016-10-11|System and method of performing domain name server pre-fetching US6801777B2|2004-10-05|Device and method for intelligent wireless communication selection US20200154313A1|2020-05-14|Information processing apparatus, communication system, and information processing method JP4697525B2|2011-06-08|Transmission / reception system, transmission apparatus and transmission method, reception apparatus and reception method, and program KR101436956B1|2014-09-02|System and method of establishing transmission control protocol connections WO2014014588A1|2014-01-23|Calendar-aware devices US8463278B2|2013-06-11|Communication apparatus and communication method WO2015074537A1|2015-05-28|Method and apparatus for controlling communication protocol in smart tv device WO2013036453A1|2013-03-14|Methods, system and apparatus for packet routing using a hop-by-hop protocol in multi-homed environments TWI503037B|2015-10-01|Mobile communication devices and data transmission methods US20060034316A1|2006-02-16|Energy based information transfer methodology US11159978B2|2021-10-26|Adaptive multi-link control TW201332388A|2013-08-01|Mobile communication devices and data transmission methods
同族专利:
公开号 | 公开日 JP2015062319A|2015-04-02| JP5705991B2|2015-04-22| ES2526570T3|2015-01-13| BR112013008024A2|2016-06-14| EP2625837A1|2013-08-14| US20110106969A1|2011-05-05| EP2625837B1|2014-09-17| KR101448976B1|2014-10-13| JP5878614B2|2016-03-08| WO2012047418A1|2012-04-12| US8601153B2|2013-12-03| CN103155517A|2013-06-12| KR20130064130A|2013-06-17| JP2013543323A|2013-11-28| CN103155517B|2016-04-27|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US7006881B1|1991-12-23|2006-02-28|Steven Hoffberg|Media recording device with remote graphic user interface| US6959288B1|1998-08-13|2005-10-25|International Business Machines Corporation|Digital content preparation system| US6400996B1|1999-02-01|2002-06-04|Steven M. Hoffberg|Adaptive pattern recognition based control system and method| KR100387965B1|2000-05-27|2003-06-18|엘지전자 주식회사|User adaptive multimedia service system| EP1164550B1|2000-06-16|2008-12-03|Ntn Corporation|Machine component monitoring, diagnosing and selling system| US20020073238A1|2000-11-28|2002-06-13|Eli Doron|System and method for media stream adaptation| JP2003030085A|2001-07-10|2003-01-31|Ntt Docomo Inc|Content distribution system, content distribution controller, content distribution method and mobile terminal device| KR20020057837A|2002-03-29|2002-07-12|문의선|Streaming service method and system| US20030233464A1|2002-06-10|2003-12-18|Jonathan Walpole|Priority progress streaming for quality-adaptive transmission of data| JP2004032204A|2002-06-24|2004-01-29|Matsushita Electric Ind Co Ltd|Image distribution system and radio mobile terminal| US7844992B2|2003-09-10|2010-11-30|Thomson Licensing|Video on demand server system and method| FI116498B|2002-09-23|2005-11-30|Nokia Corp|Bandwidth adjustment| JP4268496B2|2002-10-15|2009-05-27|パナソニック株式会社|BROADCAST RECORDING SYSTEM, RECORDING DEVICE, BROADCAST DEVICE, AND RECORDING PROGRAM FOR CONSERVING RECORDING MEDIA RECORDING VOLUME REQUIRED FOR RECORDING CONTENT| JP2004193995A|2002-12-11|2004-07-08|Seiko Epson Corp|Information distribution system and information distribution method| KR101063044B1|2003-06-25|2011-09-07|엔엑스피 비 브이|Storage device for storing different data formats| WO2005006199A1|2003-07-14|2005-01-20|Matsushita Electric Industrial Co., Ltd.|Content delivery apparatus and content reproduction apparatus| JP2005151352A|2003-11-18|2005-06-09|Matsushita Electric Ind Co Ltd|On-vehicle device, distribution station, and streaming distribution system| GB0400658D0|2004-01-13|2004-02-11|Koninkl Philips Electronics Nv|Portable device for receiving media content| JP4408383B2|2004-03-18|2010-02-03|国立大学法人奈良先端科学技術大学院大学|Information distribution apparatus, information distribution system, and information distribution method| WO2008024723A2|2006-08-21|2008-02-28|Sling Media, Inc.|Capturing and sharing media content and management of shared media content| JP2006041770A|2004-07-26|2006-02-09|Mitsubishi Heavy Ind Ltd|Image distribution method, image display method, wide area supervisory method employing them, image distribution apparatus and image display apparatus, and wide area supervisory system employing them| WO2006012911A1|2004-08-03|2006-02-09|Fg Microtec Gmbh|Dynamic optimization of wireless real-time video data flow| JP4641791B2|2004-12-15|2011-03-02|パイオニア株式会社|Remote playback system, remote playback method, and computer program| US7983341B2|2005-02-24|2011-07-19|Ericsson Television Inc.|Statistical content block matching scheme for pre-processing in encoding and transcoding| US7333279B2|2005-03-22|2008-02-19|Seagate Technology Llc|System and method for drive-side guarantee of quality of service and for extending the lifetime of storage devices| US9209934B2|2006-06-09|2015-12-08|Qualcomm Incorporated|Enhanced block-request streaming using cooperative parallel HTTP and forward error correction| US20070022215A1|2005-07-19|2007-01-25|Singer David W|Method and apparatus for media data transmission| US20070091920A1|2005-10-20|2007-04-26|Harris John M|System and method for improving the capacity of a network| US8842555B2|2005-10-21|2014-09-23|Qualcomm Incorporated|Methods and systems for adaptive encoding of real-time information in packet-switched wireless communication systems| JP2007158685A|2005-12-05|2007-06-21|Saver Corp|Moving video distribution system| US20070299936A1|2006-06-27|2007-12-27|Borgendale Kenneth W|Interactively streaming data from a database in a high speed, low latency data communications environment| US8995815B2|2006-12-13|2015-03-31|Quickplay Media Inc.|Mobile media pause and resume| EP1936879B1|2006-12-18|2009-03-04|Research In Motion Limited|System and method for adjusting characteristics of a video data transmission to a mobile device in a UMTS communications network| GB2451415B|2007-02-13|2011-08-17|Vodafone Plc|Content reproduction in telecommunications systems| WO2008113948A1|2007-02-26|2008-09-25|France Telecom|Method for the distributed recording of a multimedia flow, and corresponding device and computer software product| US20080270532A1|2007-03-22|2008-10-30|Melodeo Inc.|Techniques for generating and applying playlists| WO2008120332A1|2007-03-28|2008-10-09|Pioneer Corporation|Content distribution system and its control method| CN101068236B|2007-04-13|2011-10-26|华为技术有限公司|Streaming media bit rate control method, system and equipment| US20080310446A1|2007-06-12|2008-12-18|Bellwood Thomas A|Provisioning Bandwidth For A Digital Media Stream| FR2917554B1|2007-06-14|2010-01-01|Alcatel Lucent|DEVICE FOR MANAGING RECEPTION BY TERMINALS OF MULTIMEDIA CONTENTS TRANSMITTED BY INFRASTRUCTURES USING DIFFERENT TRANSMISSION TECHNIQUES| US20090017860A1|2007-07-09|2009-01-15|Sony Ericsson Mobile Communications Ab|Intelligent Power-Aware Downloading for Mobile Communication Devices| US7802286B2|2007-07-24|2010-09-21|Time Warner Cable Inc.|Methods and apparatus for format selection for network optimization| JP2009037320A|2007-07-31|2009-02-19|Toshiba Corp|Information processor and control method for information processor| WO2009030643A2|2007-09-06|2009-03-12|Edgeware Ab|An apparatus and a method for data streaming applications| US7937400B2|2007-10-07|2011-05-03|International Business Machines Corporation|Dynamic distribution of content| KR100891263B1|2007-11-15|2009-03-30|에스케이 텔레콤주식회사|Method, system and server playing media using user equipment with motion sensor| US7920478B2|2008-05-08|2011-04-05|Nortel Networks Limited|Network-aware adapter for applications| EP2150059A1|2008-07-31|2010-02-03|Vodtec BVBA|A method and associated device for generating video| WO2010048036A2|2008-10-22|2010-04-29|Terratrim, Inc.|Systems and methods for managing utility consumption| US20100115472A1|2008-10-30|2010-05-06|Lee Kun-Bin|Method of Facilitating Browsing and Management of Multimedia Files with Data Structure thereof| US20100121709A1|2008-11-10|2010-05-13|Nokia Corporation|Invitation-based viral advertising| US20110119587A1|2008-12-31|2011-05-19|Microsoft Corporation|Data model and player platform for rich interactive narratives| US20110088076A1|2009-10-08|2011-04-14|Futurewei Technologies, Inc.|System and Method for Media Adaptation| US9124642B2|2009-10-16|2015-09-01|Qualcomm Incorporated|Adaptively streaming multimedia| EP2410759B1|2010-07-21|2018-09-05|Nagravision S.A.|A method and apparatus for delivering watermarked digital media content to a user upon request|US9124642B2|2009-10-16|2015-09-01|Qualcomm Incorporated|Adaptively streaming multimedia| US9210527B2|2010-07-13|2015-12-08|Qualcomm Incorporated|Method and apparatus for providing uniform machine-to-machine addressing| US20130051258A1|2011-02-18|2013-02-28|Chien-Jen Huang|Method of Controlling Receive Diversity for Battery Lifetime Improvement and Related Communication Device| US9319453B2|2011-07-15|2016-04-19|Shmuel Ur|User-controlled download duration time| TWI503037B|2011-11-07|2015-10-01|Acer Inc|Mobile communication devices and data transmission methods| TW201309053A|2011-08-03|2013-02-16|Acer Inc|Method for increasing data throughput of a wireless network system by dynamically adjusting window size of communication protocol| US9088965B2|2011-08-03|2015-07-21|Acer Incorporated|Data transmission methods and apparatuses using the same| US9112906B2|2011-11-07|2015-08-18|Acer Incorporated|Data transmission methods and appratuses using the same| TWI511588B|2011-11-07|2015-12-01|Acer Inc|Method of data transmission in a wireless network system by optimazing window size scaling of communication protocol| CN103124275B|2011-11-18|2016-01-20|腾讯科技(深圳)有限公司|A kind of method and apparatus obtaining file| CN102523026B|2011-12-20|2014-04-02|展讯通信(上海)有限公司|Communication terminal, detection method for rank indication parameters of communication terminal and detection device for rank indication parameters of communication terminal| US9774894B2|2012-03-13|2017-09-26|Cisco Technology, Inc.|Coordinating video delivery with radio frequency conditions| US9276989B2|2012-03-30|2016-03-01|Adobe Systems Incorporated|Buffering in HTTP streaming client| WO2013170896A1|2012-05-16|2013-11-21|Sony Mobile Communications Ab|Discontinuous traffic in a telecommunication network using terminal suggested drx/dtx pattern| US8824680B2|2012-08-08|2014-09-02|Verizon Patent And Licensing Inc.|Centralized key generation| US10136443B2|2012-09-07|2018-11-20|Nokia Solutions And Networks Oy|Mechanism and apparatus to perform cooperative resource management in wireless networks| US8949206B2|2012-10-04|2015-02-03|Ericsson Television Inc.|System and method for creating multiple versions of a descriptor file| CN103024440B|2013-01-11|2014-12-31|德科仕通信有限公司|Video quality evaluation and fault diagnosis method aiming at HAS | US9332087B2|2013-02-06|2016-05-03|Microsoft Technology Licensing, Llc|Dynamic buffer| WO2014187491A1|2013-05-23|2014-11-27|Nokia Solutions And Networks Oy|Methods and apparatus for adapting a data rate| US9948690B2|2013-08-15|2018-04-17|Comcast Cable Communications, Llc|Caching media in a media fling system| US9530451B2|2013-11-27|2016-12-27|Adobe Systems Incorporated|Reducing network bandwidth usage in a distributed video editing system| US9253231B2|2013-12-19|2016-02-02|Verizon Patent And Licensing Inc.|Retrieving and caching adaptive bitrate stream segments based on network congestion| EP2897337B1|2014-01-21|2022-01-05|Alcatel Lucent|Improved playback control device and method for streaming media content| EP3120520A1|2014-03-17|2017-01-25|Bitmovin GmbH|Media streaming| US9712584B2|2014-06-02|2017-07-18|Sony Corporation|Context-based adaptive streaming algorithm for a user device| US10091624B2|2014-12-08|2018-10-02|Mitsubishi Electric Corporation|Data providing system| US20160191594A1|2014-12-24|2016-06-30|Intel Corporation|Context aware streaming media technologies, devices, systems, and methods utilizing the same| US10567069B2|2016-04-28|2020-02-18|Netgear, Inc.|Repeater bandwidth, radio configuration, and ADC clock speed adjustment| US10998002B2|2017-05-31|2021-05-04|Nxp B.V.|Audio time stretching| US20200105090A1|2018-10-02|2020-04-02|Igt|Gaming system and method for determining awards based on moving wild reels with modifiers| WO2020150871A1|2019-01-21|2020-07-30|Nokia Shanghai Bell Co., Ltd.|Discontinuous reception configuration of terminal device| US11115457B2|2019-05-31|2021-09-07|Apple Inc.|HTTP transaction retries| US11140060B2|2019-11-12|2021-10-05|Hulu, LLC|Dynamic variation of media segment durations for optimization of network round trip times|
法律状态:
2018-12-26| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]| 2020-05-12| B15K| Others concerning applications: alteration of classification|Free format text: A CLASSIFICACAO ANTERIOR ERA: H04L 29/06 Ipc: H04L 29/06 (2006.01), H04N 21/414 (2011.01), H04N | 2020-05-12| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]| 2021-06-15| B09A| Decision: intention to grant [chapter 9.1 patent gazette]| 2021-08-31| B16A| Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 31/08/2011, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO. |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US12/897,511|2010-10-04| US12/897,511|US8601153B2|2009-10-16|2010-10-04|System and method for optimizing media playback quality for a wireless handheld computing device| PCT/US2011/049834|WO2012047418A1|2010-10-04|2011-08-31|System and method for optimizing media playback quality for a wireless handheld computing device| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|