1. A system for providing a low-latency transfer protocol, the system comprising:
a server in communication with one or more clients over a digital computer network;
and
an application program instantiated on the server, the application program providing a computer-generated output;
wherein the server is configured to implement the low-latency transfer protocol including being configured to:
intercept the computer-generated output from the application program;
identify a plurality of regions within the computer-generated output from the application program;
for each specific region of the plurality of regions, determine and select a specific format for data conversion, wherein each of the plurality of regions has at least a characteristic affecting quality retention of the data conversion;
for each specific region, convert the corresponding computer-generated output from the application program into the corresponding specific format, thereby generating a converted output with the plurality of regions having one or more different formats; and
transmit the converted output over the digital computer network to the one or more clients.
2. The system of claim 1, wherein the server is further configured to smooth border areas between the regions of the converted output.
3. The system of claim 1, wherein the specific format is determined and selected according to operating systems or other commands used to render a graphical output of the specific region, or graphical commands represented by a universal intermediary graphical command language.
4. The system of claim 3, wherein the server is further configured to convert the graphical output into video codec data utilizing at least one of a localized motion detection routine and a motion estimation routine, wherein each of the plurality of regions shares similar motion characteristics.
5. The system of claim 4, wherein the server is further configured to compute a motion score for each specific region, wherein the motion scores represent motion characteristics.
6. The system of claim 3, wherein the server is further configured to transmit the converted output to the one or more clients through one or more types of channels.
7. The system of claim 6, wherein the one or more types of channels includes guaranteed delivery, non-guaranteed delivery, and non-guaranteed delivery with forward error correction.
8. The system of claim 7, wherein a specific region of the plurality of regions is transmitted at a specific rate to the one or more clients for improved user experience.
9. The systems of claim 1, wherein the server is further configured to pre-process the computer-generated output before converting by selecting regions with graphical activity for processing.
10. The system of claim 9, wherein the pre-processing further includes overlaying a mask on the graphical output to obscure static regions.
11. The system of claim 10, wherein some of the plurality of regions are cached and not required for transmitting.
12. The system of claim 1, wherein the one or more clients is or are configured to
execute, decode, and render graphics and video;
render the graphical output in response to receiving transmitted converted output from the server;
intercept user inputs, and
transmit the intercepted user inputs to the server over the digital computer network.
13. The system of claim 12, wherein the server is further configured to receive the intercepted user inputs from the one or more clients, and provide the intercepted user inputs to the application program for processing.
14. A computer-implemented method for providing a low-latency transfer protocol, the method comprising:
intercepting a computer-generated output from an executing application program;
dividing the computer-generated output into a plurality of regions;
for each specific region of the plurality of regions, selecting a specific format;
for each specific region, converting the corresponding computer-generated output from the application program into the corresponding specific format, wherein the plurality of regions of the converted computer-generated output has one or more different formats;
smoothing border areas among at least some of the plurality of regions;
and
transmitting the converted computer-generated output over the digital computer network to one or more clients.
15. The computer-implemented method of claim 14, further comprising:
receiving user inputs from the one or more clients; and
providing the users inputs to the application program for processing.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A content processing apparatus using a recording medium, comprising:
a read unit to read out, from the recording medium recording at least one encrypted content and first encrypted key information formed by encrypting first key information containing content keys corresponding to the encrypted contents, the first encrypted key information;
a storage unit to store dynamic information;
a decryption unit to decrypt the first encrypted key information by using the dynamic information to obtain decrypted first key information;
an update unit to update the dynamic information stored in the storage unit to obtain updated dynamic information;
a key information processing unit to extract a target content key serving as a content key corresponding to a move target encrypted content from the decrypted first key information, and generate second key information by removing the target content key from the decrypted first key information;
a first encryption unit to encrypt the second key information by using the updated dynamic information to obtain second encrypted key information;
a shared key generation unit to generate a shared key;
a second encryption unit to encrypt the target content key by using the shared key to obtain an encrypted content key; and
a write unit to write the second encrypted key information in the recording medium by overwriting the second encrypted key information on the first encrypted key information and write the encrypted content key in the recording medium.
2. The apparatus according to claim 1, wherein the shared key is shared between the content processing apparatus and a receiving apparatus serving as a transmission destination of the encrypted content key, and the shared key generation unit generates the shared key by executing authenticationkey exchange processing in cooperation with a shared key generation unit provided in the receiving apparatus.
3. The apparatus according to claim 2, wherein the receiving apparatus stores the generated shared key in a nonvolatile memory.
4. The apparatus according to claim 2, further comprising a transmitting unit configured to transmit the encrypted content key to the receiving apparatus.
5. The apparatus according to claim 4, wherein the read unit reads out the encrypted content key from the recording medium, and the transmitting unit transmits the readout encrypted content key to the receiving apparatus.
6. The apparatus according to claim 4, wherein the transmitting unit transfers the encrypted content key from the second encryption unit to the receiving apparatus.
7. The apparatus according to claim 4, wherein the receiving apparatus decrypts the encrypted content key received from the content processing apparatus by using the shared key to obtain the target content key.
8. The apparatus according to claim 7, wherein the receiving apparatus writes the target content key in a recording medium different from the recording medium in an encrypted state.
9. The apparatus according to claim 4, which further comprises a receiving unit configured to receive one of a first message representing a failure and a second message representing a success from the receiving apparatus, and in which when the receiving unit receives the first message, the read unit reads out the encrypted content key from the recording medium, and the transmitting unit transmits the readout encrypted content key to the receiving apparatus, and when the receiving unit receives the second message, the write unit deletes the encrypted content key from the recording medium.
10. The apparatus according to claim 2, wherein the receiving apparatus reads out the encrypted content key from the recording medium without intervening from the content processing apparatus.
11. The apparatus according to claim 10, wherein the receiving apparatus decrypts the encrypted content key by using the shared key to obtain the target content key.
12. The apparatus according to claim 10, wherein the receiving apparatus writes the target content key in a recording medium different from the recording medium in an encrypted state.
13. The apparatus according to claim 2, wherein the read unit reads out the encrypted content from the recording medium, and the transmitting unit transmits the readout encrypted content to the receiving apparatus.
14. The apparatus according to claim 13, wherein the transmitting unit transmits the encrypted content to the receiving apparatus and then transmits the encrypted content key to the receiving apparatus.
15. The apparatus according to claim 14, wherein the transmitting unit transmits the encrypted content to the receiving apparatus after the shared key generation unit generates the shared key.
16. The apparatus according to claim 13, wherein the receiving apparatus writes the encrypted content received from the content processing apparatus in a recording medium different from the recording medium.
17. A non-transitory computer readable storage medium storing instructions of a computer program which when executed by a computer results in performance of steps comprising:
reading out, from a recording medium which records at least one encrypted content and first encrypted key information formed by encrypting first key information containing content keys corresponding to the encrypted contents, the first encrypted key information;
decrypting the first encrypted key information by using dynamic information to obtain decrypted first key information;
updating the dynamic information;
extracting a target content key serving as a content key corresponding to a move target encrypted content from the decrypted first key information;
generating second key information by removing the target content key from the decrypted first key information;
encrypting the second key information by using the updated dynamic information to obtain second encrypted key information;
generating a shared key:
encrypting the target content key by using the shared key to obtain an encrypted content key; and
writing the second encrypted key information in the recording medium by overwriting the second encrypted key information on the first encrypted key information and writing the encrypted content key in the recording medium.
18. A content processing apparatus using a recording medium, comprising:
a read unit to read out, from the recording medium recording at least one encrypted content and first encrypted key information formed by encrypting first key information containing content keys corresponding to the encrypted contents, the first encrypted key information;
a storage unit to store a unique device key;
a decryption unit to decrypt the first encrypted key information by using the device key to obtain decrypted first key information;
a key information processing unit to extract a target content key serving as a content key corresponding to a move target encrypted content from the decrypted first key information, and generate second key information by removing the target content key from the decrypted first key information;
a first encryption unit to encrypt the second key information by using the device key to obtain second encrypted key information;
a shared key generation unit to generate a shared key;
a second encryption unit to encrypt the target content key by using the shared key to obtain an encrypted content key; and
a write unit to write the second encrypted key information in the recording medium by overwriting the second encrypted key information on the first encrypted key information and write the encrypted content key in the recording medium.