1. Field
The present invention relates generally to security of content in computer and consumer electronics systems and, more specifically, to providing mechanisms to enhance the user experience when rendering content, without compromising security.
2. Description
Playback devices for rendering digital content frequently offer means for providing an enhanced end-user experience. For example, when a playback device is an audio player application (such as the well known WinAmp audio player commercially available from NullSoft Corp.), the player may include one or more other software modules called “plug-ins” to provide extra value to the user. In one scenario, the plug-in is an audio visualization module that presents a stylized view of a graphic equalizer showing the audio spectrum of the content during rendering. In another example, the plug-in shows a dynamically generated artistic graphical representation of the audio as it is being rendered. In both cases, the enhancement provided to the user uses the actual audio data being rendered as input data to the enhancement feature. Other enhancement features using the content (both audio and video) are known.
In many playback devices and applications, the device or application developer adopts an open software architecture that allows the use of plug-ins. In fact, the device or application developer may even actively promote the development of various plug-ins by independent entities (e.g., students, music enthusiasts, programmers, etc.), each plug-in enhancing the overall user experience, thereby encouraging further deployment of the application developer's player.
During rendering of the content by the player, a compressed or uncompressed content stream is typically forwarded to the enhancement module (e.g., plug-in) concurrently with the content being forwarded to the output devices of the system (such as the audio subsystem, graphics subsystem, audio loudspeakers and/or display). The enhancement module then uses the content stream as input data to produce the desired enhancement (such as extra display information for a graphic equalizer or an artistic representation, for example). Even if the content is distributed to the player application in an encrypted manner, the content is typically decrypted prior to or during rendering and forwarding to the enhancement module. One problem is that the enhancement modules are typically easily replaceable by the user, and could therefore be used as a conduit for misappropriation of the content. A hacker or other unauthorized user could design an enhancement module (plug-in) to save the content during content stream processing, thereby pirating the content. One solution to this problem is to disable the ability of the player application to interact with the enhancement module. However, this is unpopular with the player application developer as well as with the developers of the enhancement modules and users. Similarly, bringing the enhancement module within the content protection perimeter of the player application becomes problematic because the enhancement modules are typically independently designed and distributed by individuals in a “grass roots” manner. Organizing these individuals to support a security scheme to protect the content within the player would be very difficult.