Secure decoder and secure decoding methods
A module having access to a secure memory and an unsecure memory, the module configured to: read, from the secure memory via a secure channel, a decrypted decoded rendition of a base layer of a video signal, wherein the decrypted decoded rendition of the base layer has a first resolution; read, from the unsecure memory, a decoded rendition of an enhancement layer of the video signal, wherein decoded rendition of the enhancement layer has a second resolution, wherein the second resolution is higher than the first resolution; generate an upsampled decrypted decoded rendition of the base layer of the video signal by upsampling the decrypted decoded rendition of the base layer such that the upsampled decrypted decoded rendition of the base layer has the second resolution; apply the decoded rendition of the enhancement layer to the upsampled decrypted decoded rendition of the base layer to generate an output plane; output the output plane, via the secured channel, to the secure memory for storage in the secure memory, wherein the output plane is for use in outputting by an output module to a display.
1 . A module having access to a secure memory and an unsecure memory, the module configured to:
read, from the secure memory via a secure channel, a decrypted decoded rendition of a base layer of a video signal, wherein the decrypted decoded rendition of the base layer has a first resolution;
read, from the unsecure memory, a decoded rendition of an enhancement layer of the video signal, wherein the decoded rendition of the enhancement layer has a second resolution, wherein the second resolution is higher than the first resolution, and wherein the enhancement layer comprises a residual map obtained from a difference between an original rendition of the video signal and a reconstituted rendition generated by upsampling the base layer;
generate an upsampled decrypted decoded rendition of the base layer of the video signal by upsampling the decrypted decoded rendition of the base layer such that the upsampled decrypted decoded rendition of the base layer has the second resolution;
apply the decoded rendition of the enhancement layer to the upsampled decrypted decoded rendition of the base layer to generate an output plane; and
output the output plane, via the secured channel, to the secure memory for storage in the secure memory, wherein the output plane is for use in outputting by an output module to a display.
2 . The module of claim 1 wherein the module is further configured to:
generate predicted residuals by processing the upsampled decrypted decoded rendition of the base layer and the decrypted decoded rendition of the base layer; and
apply the predicted residuals to the upsampled decrypted decoded rendition of the base layer to generate the output plane.
3 . A computing system comprising the module of claim 1 .
4 . The computing system of claim 3 , wherein the computing system further comprises the secure memory, wherein the secured memory is configured to:
store the decrypted decoded rendition of the base layer of video signal;
output via the secure channel, to the module, the decrypted decoded rendition of the base layer of the video signal;
receive, from the module via the secure channel, the output plane generated by the module; and
store the output plane.
5 . The computing system of claim 3 , wherein the computing system further comprises the secure memory, wherein the secured memory is configured to:
receive, from a receiving module, and store a decrypted encoded rendition of the base layer of the video signal;
output the decrypted encoded rendition of the base layer to a base decoding module;
receive, from the base decoding module, the decrypted decoded rendition of the base layer of the video signal generated by the base decoding module; and
store the decrypted decoded rendition of the base layer.
6 . The computer system of claim 3 , the computing system further comprising the secure channel between the secure memory and the module.
7 . The computing system of claim 3 , the computing system further comprising the secure memory, wherein the secure memory is configured to: output the output plane to the output module.
8 . The computing system of claim 3 , the computing system further comprising the unsecure memory, wherein the unsecure memory is configured to:
receive, from a receiving module via an unsecured channel, and store an encoded rendition of the enhancement layer of the video signal;
output the encoded rendition of the enhancement layer to an enhancement decoding module configured to generate the decoded rendition of the enhancement layer by decoding the encoded rendition of the enhancement layer; and
receive, from the unsecure decoding module via the unsecured channel, and store the decoded rendition of the enhancement layer.
9 . The computing system of claim 3 , the computing system further comprising the output module, the output module configured to:
receive, from the secure memory, the output plane; and
output the output plane to a protected display.
10 . The computing system of claim 3 , wherein the output module is a module of a video shifter.
11 . The computing system of claim 10 , wherein the video shifter is further configured to perform one or more of:
resizing the output plane;
overlaying subtitles onto the output plane;
overlaying graphics onto the output plane;
sharpening the output plane;
performing a filter functions on the output plane.
12 . The computing system of claim 3 , wherein the module is a module of hardware block.
13 . The computing system of claim 3 , wherein the module is a processing unit operating in a trusted execution zone.
14 . The computing system of claim 3 , wherein the module is a module in a graphics processing unit (GPU).
15 . The computing system of claim 3 , wherein the module is a hardware upscaler operating in secure memory.
16 . The computing system of claim 3 , wherein the enhancement layer is compliant with the LCEVC standard.
17 . A mobile phone or TV set top box comprising the computing system of claim 3 .
18 . A method comprising reading, from a secure memory via a secure channel, a decrypted decoded rendition of a base layer of a video signal, wherein the decrypted decoded rendition of the base layer has a first resolution;
reading, from an unsecure memory, a decoded rendition of an enhancement layer of the video signal, wherein the decoded rendition of the enhancement layer has a second resolution, wherein the second resolution is higher than the first resolution, and wherein the enhancement layer comprises a residual map obtained from a difference between an original rendition of the video signal and a reconstituted rendition generated by upsampling the base layer;
generating an upsampled decrypted decoded rendition of the base layer of the video signal by upsampling the decrypted decoded rendition of the base layer such that the upsampled decrypted decoded rendition of the base layer has the second resolution;
applying the decoded rendition of the enhancement layer to the upsampled decrypted decoded rendition of the base layer to generate an output plane; and
outputting the output plane, via the secured channel, to the secure memory for storage in the secure memory, wherein the output plane is for use in outputting by an output module to a display.
19 . A non-transitory computer readable medium comprising computer program code configured to cause a processor to perform the following:
read, from a secure memory via a secure channel, a decrypted decoded rendition of a base layer of a video signal, wherein the decrypted decoded rendition of the base layer has a first resolution;
read, from an unsecure memory, a decoded rendition of an enhancement layer of the video signal, wherein the decoded rendition of the enhancement layer has a second resolution, wherein the second resolution is higher than the first resolution, and wherein the enhancement layer comprises a residual map obtained from a difference between an original rendition of the video signal and a reconstituted rendition generated by upsampling the base layer;
generate an upsampled decrypted decoded rendition of the base layer of the video signal by upsampling the decrypted decoded rendition of the base layer such that the upsampled decrypted decoded rendition of the base layer has the second resolution;
apply the decoded rendition of the enhancement layer to the upsampled decrypted decoded rendition of the base layer to generate an output plane; and
output the output plane, via the secured channel, to the secure memory for storage in the secure memory, wherein the output plane is for use in outputting by an output module to a display.