Patent ID: 7676591

Claim:
A method for transferring multiple data channels, the method comprising the following computer-implemented steps: establishing a streaming session between a server and a terminal over a communication network that has an available bandwidth wherein the server stores first data encoded at a first bitrate and second data encoded at a second bitrate and further, wherein the first data represents different media content than the second data, wherein the server communicates the first data and the second data to the terminal via the streaming session, and wherein the terminal has a buffer; transmitting the first data from the server to the terminal in the streaming session, wherein the terminal displays the first data; requesting the second data from the server in response to user input using the terminal during the streaming session, wherein the user input requests a switch from the first data to the second data, and wherein the terminal requests the second data in response to the user input; subsampling the second data after the terminal requests the second data, wherein the server subsamples a first portion of the second data that was encoded at the second bitrate to generate a subsampled first portion of the second data that represents an encoding of the first portion of the second data at a third bitrate that is less than the second bitrate; transmitting the subsampled first portion of the second data from the server to the terminal without terminating the streaming session between the server and the terminal, wherein the subsampled first portion of the second data is transmitted to the terminal at a fourth bitrate which is greater than the third bitrate, wherein the buffer of the terminal receives the subsampled first portion of the second data from the server, wherein the first portion of the second data is a size that is based on a size of the buffer of the terminal, and further wherein the server terminates transmission of the first data and initiates transmission of the subsampled first portion of the second data substantially simultaneously in response to the terminal requesting the second data; displaying the subsampled first portion of the second data on the terminal wherein the terminal displays the subsampled first portion of the second data using the buffer; and displaying a second portion of the second data on the terminal wherein the terminal obtains the second portion of the second data at the second bitrate from the server after the terminal receives the subsampled first portion of the second data.