Data storage device and method
Claim Score by NHIP
Abstract
An entertainment device, comprises a communication arrangement operable to receive audio segment data from an audio segment data source and to receive audio segment selection data from an audio segment selection data source in connection with an interactive audio segment data selection session as between the entertainment device and the audio segment selection data source; an audio segment selector operable to generate audio segment selection data in response to selections made by a user interacting with a user interface of the entertainment device; and a storage arrangement operable to store the received audio segment data; in which: the storage arrangement is operable to limit the duration of storage of audio segment data which was received from the audio segment data source and which was selected according to either the received audio segment selection data or the generated audio segment selection data.

Term
Projected expiry 13 November 2027.
- Priority
- Filed
- Published
- Today
- Projected expiry
26 claims: 6 independent, 20 dependent
- 1An entertainment device, comprising:a communication arrangement operable to receive audio segment data from an audio segment data source and to receive audio segment selection data from an audio segment selection data source in connection with an interactive audio segment data selection session as between the entertainment device and the audio segment selection data source;an audio segment selector operable to generate audio segment selection data in response to selections made by a user interacting with a user interface of the entertainment device;and a storage arrangement operable to store the received audio segment data;in which: the storage arrangement is operable to limit the duration of storage of audio segment data which was received from the audio segment data source and which was selected according to either the received audio segment selection data or the generated audio segment selection data.
- 21Broadest claimClaim Score 79, broad(NHIP)A tangible computer-readable data carrier storing audio segment data and an authorisation limit value indicative of the number of times a reproduction authorisation may be granted by an entertainment device to any second entertainment device with which the entertainment device exchanges audio segment selection data.
- 22A tangible computer-readable data carrier on which computer readable instructions of a computer program are stored, the instruction, when executed by a computer, cause the computer to operate as an entertainment device having:a communication arrangement operable to receive audio segment data from an audio segment data source and to receive audio segment selection data from an audio segment selection data source in connection with an interactive audio segment data selection session as between the entertainment device and the audio segment selection data source;an audio segment selector operable to generate audio segment selection data in response to selections made by a user interacting with a user interface of the entertainment device;and a storage arrangement operable to store the received audio segment data;in which: the storage arrangement is operable to limit the duration of storage of audio segment data which was received from the audio segment data source and which was selected according to either the received audio segment selection data or the generated audio segment selection data.
- 23A method of data storage by an entertainment device, comprising the steps of:i. establishing a communication link with an audio segment data source;ii. receiving audio segment data from said audio segment data source;iii. storing received audio segment data;iv. determining if one or more of the received audio segments are selected via either the entertainment device or the audio segment data source during a collaborative jamming session;and v. limiting the duration of storage of audio segment data which was received from the audio segment data source and which was selected according to either the received audio segment selection data or the generated audio segment selection data.
- 25A tangible computer-readable data carrier on which computer readable instructions of a computer program are stored, the instructions, when executed by a computer, cause the computer to carry out a method of data storage by an entertainment device, the method comprising:i. establishing a communication link with an audio segment data source;ii. receiving audio segment data from said audio segment data source;iii. storing received audio segment data;iv. determining if one or more of the received audio segments are selected via either the entertainment device or the audio segment data source during a collaborative jamming session;and v. limiting the duration of storage of audio segment data which was received from the audio segment data source and which was selected according to either the received audio segment selection data or the generated audio segment selection data.
Independent claims5
225 paragraphs, as filed
0001The present invention relates to a data storage device and a method of data storage. Recently, rhythm action games have become available that enable a user to remix pre-recorded soundtracks supplied with the game. Games such as ‘Frequency’ and ‘Amplitude’ (both developed by Harmonix and published by Sony Computer Entertainment Europe for the PlayStation 2 ® games machine) allow a user to break tracks down and reassemble them as they wish (see http://uk.gamespot.com/ps2/puzzle/frequency/review.html and http ://uk. game spot.com/ps2/puzzle/amplitude/review.html) .
0002‘Frequency’ allows up to four people to collaborate on a remix using a split-screen arrangement and up to four game controllers. ‘Amplitude’ also allows remixes to be posted to an internet forum where they can be downloaded by other users.
0003However, with the advent of more powerful portable computers, such games may now be incorporated within pocket sized entertainment devices, where a split-screen arrangement is not suitable for collaborative remixes. In such circumstances, a collaborative remix or jamming session can be conducted between two entertainment devices communicating with each other.
0004In addition, there is a clear market for supplying additional soundtracks suitable for remixing.
0005As a result, a jamming session may be initiated between entertainment devices that each have different music assets available. This introduces the practical problem of jamming with different music assets, and a potential legal problem of copyright infringement in the resulting collaborative output.
0006The present invention seeks to alleviate or mitigate the above problems.
0007In a first aspect, there is provided an entertainment device, comprising; communication means operable to receive media data from a media data source; storage means operable to store the received media data; and in which: the storage means limits the duration of access to the media data which was received from the media data source.
0008In a second aspect, there is provided a method of data storage by an entertainment device, comprising the steps of: establishing a communication link with a media data source; receiving media data from the media data source; storing received media data; and limiting the duration of access to the media data which was received from the media data source.
0009Advantageously, the above aspects therefore mitigate the issue of copyright infringement by, for example, providing a time-limited duration of access to the media data and thereby preventing the acquisition of a permanent but unauthorised copy of any media data. Furthermore, if, for example, a user has purchased the media data and downloaded it to their entertainment device, the duration of access to that media data could be unlimited as they have legitimately purchased an authorised copy.
0010Further respective aspects and features of the invention are defined in the appended claims, including but not limited to the following.
0011In embodiments of the present invention, the media data comprises audio segment data; the communication means is operable to receive audio segment selection data from an audio segment selection data source; and the entertainment device comprises: audio segment selection means operable to generate audio segment selection data in response to selections made by a user interacting with a user interface of the entertainment device, in which the storage means limits the duration of access to the media data by limiting the duration of storage of audio segment data which was received from the media data source and which was selected according to either the received audio segment selection data or the generated audio segment selection data.
0012In embodiments of the present invention, the media data comprises audio segment data and the method comprises: receiving audio segment data from an audio segment data source; determining if one or more of the received audio segments are selected via either the entertainment device or the media data source during a collaborative jamming session; and limiting the duration of storage of the media data which was received from the media data source and which was selected according to either the received audio segment selection data or the generated audio segment selection data.
0013Advantageously, the above aspects and embodiments therefore mitigate the issue of copyright infringement in a collaborative jamming session by only providing a time-limited storage of shared music assets that contributed to a jamming session. This time limit can only be lifted, or revoked, upon the receipt of copyright authorisation by the first entertainment device, thereby preventing the acquisition of a permanent but unauthorised copy of any music assets.
0014In embodiments of the present invention, the communication means is operable to receive, from a signature data source, signature data that relates to usage rights of the media data; and the storage means is operable to limit the duration of access to the media data in dependence upon the signature data received from the signature data source.
0015In embodiments of the present invention, the method comprises receiving, from a signature data source, signature data that relates to usage rights of the media data; and limiting the duration of access to the media data in dependence upon the signature data received from the signature data source.
0016Advantageously, the above aspects and embodiments of the present invention allow a user to use a copy of game content (such as a song from a karaoke game) on friend's entertainment device for a limited period of time. Additionally, the use of the game content on a different entertainment device can be authorised for the limited period of time by the use of signature data that relates to the usage rights of the game content. Therefore, a user may use purchased game content on their own entertainment device without any restrictions whilst still being able to utilise that game content on another entertainment device for a limited period of time.
0017Embodiments of the present invention will now be described by way of example with reference to the accompanying drawings, in which:
0018<figref idref="DRAWINGS">FIG. 1A</figref> is a schematic diagram of a PS3 ® entertainment device;
0019<figref idref="DRAWINGS">FIG. 1B</figref> is a schematic diagram of a cell processor;
0020<figref idref="DRAWINGS">FIG. 1C</figref> is a schematic diagram of a video graphics processor;
0021<figref idref="DRAWINGS">FIG. 2A</figref> is a front view of a PSP ® entertainment device in accordance with an embodiment of the present invention;
0022<figref idref="DRAWINGS">FIG. 2B</figref> is a schematic view of an entertainment device in accordance with an embodiment of the present invention;
0023<figref idref="DRAWINGS">FIG. 2C</figref> is a schematic view of a functional arrangement of elements of an entertainment device in accordance with an embodiment of the present invention;
0024<figref idref="DRAWINGS">FIG. 3</figref> is a schematic view of an entertainment device in accordance with an embodiment of the present invention;
0025<figref idref="DRAWINGS">FIG. 4</figref> is a schematic view of two entertainment devices being operated in a collaborative mode in accordance with an embodiment of the present invention;
0026<figref idref="DRAWINGS">FIG. 5</figref> is a schematic diagram of a collaborative jamming session in accordance with an embodiment of the present invention;
0027<figref idref="DRAWINGS">FIG. 6</figref> is a flow diagram of a method of data storage in accordance with an embodiment of the present invention;
0028<figref idref="DRAWINGS">FIG. 7</figref> is a schematic diagram of a digital rights management file format in accordance with an embodiment of the present invention;
0029<figref idref="DRAWINGS">FIG. 8</figref> is a flow diagram of a decryption method in accordance with an embodiment of the present invention;
0030<figref idref="DRAWINGS">FIG. 9</figref> is a explanatory schematic diagram of an example usage rights tree structure in accordance with an embodiment of the present invention;
0031<figref idref="DRAWINGS">FIG. 10</figref> is a schematic diagram of an encryption process in accordance with an embodiment of the present invention;
0032<figref idref="DRAWINGS">FIG. 11</figref> is a schematic diagram of a decryption process in accordance with an embodiment of the present invention;
0033<figref idref="DRAWINGS">FIG. 12</figref> is a schematic view of digital asset sharing in accordance with an embodiment of the present invention;
0034<figref idref="DRAWINGS">FIG. 13</figref> is a flow diagram of a media package purchase method in accordance with an embodiment of the present invention; and
0035<figref idref="DRAWINGS">FIG. 14</figref> is a flow diagram of signature data generation in accordance with an embodiment of the present invention.
0036An entertainment device and corresponding method of operation are disclosed. In the following description, a number of specific details are presented in order to provide a thorough understanding of embodiments of the present invention. It will be apparent however to a person skilled in the art that these specific details need not be employed to practise the present invention. Conversely, specific details known to the person skilled in the art are omitted for the purposes of clarity in presenting the embodiments.
0037Embodiments of the present invention allow a user to initiate a jamming session with a second party (a so-called collaborative jamming session) despite the parties not having all their music assets in common. A jamming session is taken to encompass the use of an interactive game which allows the user(s) to select and replay media assets such as audio clips in an order decided by the user, generally in time with the beat of a desired music output. In other words, the user(s) may “build” a piece of quasi-original music by the selection and (generally) repetition of component musical features. In the case of a collaborative jamming session, two or more users may contribute selections to a composite (shared) output work.
0038In addition, embodiments of the present invention restrict the storage of music assets shared for the purposes of a jamming session but not owned by a user, and also provide means to acquire playback rights for these assets if desired.
0039For example, the jamming session could be carried out between two users, each using their own entertainment device. Here, each user could use a Sony® PlayStation Portable® device (PSP) to participate in the jamming session although it will be appreciated that both users could use a Sony® PlayStation 3® entertainment device (PS3) to participate in the jamming session or a first user could use a PSP device and the other user could use a PS3 device to participate in the jamming session. However, a plurality of users could participate in the jamming session each using their own entertainment device, or with some users sharing an entertainment device, where each entertainment device could be either a PSP device, a PS3 device or any other suitable entertainment device.
0040Furthermore, embodiments of the present invention allow a user to use previously purchased game assets on their own entertainment device without restriction, whilst allowing them to visit a friend and temporarily use those game assets on the friend's entertainment device. Here, the owner of the game assets might use the game assets on a PS3 device whilst the friend could also use a PS3 device. However, it will be appreciated that either user could use the game assets on a PSP device or any other suitable entertainment device.
0041To illustrate the overall operation of both the PlayStation 3® entertainment device and the PlayStation Portable® entertainment device, these will each will be described in turn below.
0042<figref idref="DRAWINGS">FIG. 1A</figref> schematically illustrates the overall system architecture of the Sony® PlayStation 3® entertainment device. A system unit <b>10</b> is provided, with various peripheral devices connectable to the system unit.
0043The system unit <b>10</b> comprises: a Cell processor <b>100</b>; a Rambus® dynamic random access memory (XDRAM) unit <b>500</b>; a Reality Synthesiser graphics unit <b>200</b> with a dedicated video random access memory (VRAM) unit <b>250</b>; and an I/O bridge <b>700</b>.
0044The system unit <b>10</b> also comprises a Blu Ray® Disk BD-ROM® optical disk reader <b>430</b> for reading from a disk <b>440</b> and a removable slot-in hard disk drive (HDD) <b>400</b>, accessible through the I/O bridge <b>700</b>. Optionally the system unit also comprises a memory card reader <b>450</b> for reading compact flash memory cards, Memory Stick® memory cards and the like, which is similarly accessible through the I/O bridge <b>700</b>.
0045The I/O bridge <b>700</b> also connects to four Universal Serial Bus (USB) 2.0 ports <b>710</b>; a gigabit Ethernet port <b>720</b>; an IEEE 802.11b/g wireless network (Wi-Fi) port <b>730</b>; and a Bluetooth® wireless link port <b>740</b> capable of supporting of up to seven Bluetooth connections.
0046In operation the I/O bridge <b>700</b> handles all wireless, USB and Ethernet data, including data from one or more game controllers <b>751</b>. For example when a user is playing a game, the I/O bridge <b>700</b> receives data from the game controller <b>751</b> via a Bluetooth link and directs it to the Cell processor <b>100</b>, which updates the current state of the game accordingly.
0047The wireless, USB and Ethernet ports also provide connectivity for other peripheral devices in addition to game controllers <b>751</b>, such as: a remote control <b>752</b>; a keyboard <b>753</b>; a mouse <b>754</b>; a portable entertainment device <b>755</b> such as a Sony PlayStation Portable® entertainment device; a video camera such as an EyeToy® video camera <b>756</b>; and a microphone headset <b>757</b>. Such peripheral devices may therefore in principle be connected to the system unit <b>10</b> wirelessly; for example the portable entertainment device <b>755</b> may communicate via a Wi-Fi ad-hoc connection, whilst the microphone headset <b>757</b> may communicate via a Bluetooth link.
0048The provision of these interfaces means that the PlayStation <b>3</b> device is also potentially compatible with other peripheral devices such as digital video recorders (DVRs), set-top boxes, digital cameras, portable media players, Voice over IP telephones, mobile telephones, printers and scanners.
0049In addition, a legacy memory card reader <b>410</b> may be connected to the system unit via a USB port <b>710</b>, enabling the reading of memory cards <b>420</b> of the kind used by the PlayStation® or PlayStation <b>2</b>® devices.
0050In the present embodiment, the game controller <b>751</b> is operable to communicate wirelessly with the system unit <b>10</b> via the Bluetooth link. However, the game controller <b>751</b> can instead be connected to a USB port, thereby also providing power by which to charge the battery of the game controller <b>751</b>. In addition to one or more analogue joysticks and conventional control buttons, the game controller is sensitive to motion in 6 degrees of freedom, corresponding to translation and rotation in each axis. Consequently gestures and movements by the user of the game controller may be translated as inputs to a game in addition to or instead of conventional button or joystick commands. Optionally, other wireles sly enabled peripheral devices such as the PlayStation Portable device may be used as a controller. In the case of the PlayStation Portable device, additional game or control information (for example, control instructions or number of lives) may be provided on the screen of the device. Other alternative or supplementary control devices may also be used, such as a dance mat (not shown), a light gun (not shown), a steering wheel and pedals (not shown) or bespoke controllers, such as a single or several large buttons for a rapid-response quiz game (also not shown).
0051The remote control <b>752</b> is also operable to communicate wirelessly with the system unit <b>10</b> via a Bluetooth link. The remote control <b>752</b> comprises controls suitable for the operation of the Blu Ray Disk BD-ROM reader <b>430</b> and for the navigation of disk content.
0052The Blu Ray Disk BD-ROM reader <b>430</b> is operable to read CD-ROMs compatible with the PlayStation and PlayStation 2 devices, in addition to conventional pre-recorded and recordable CDs, and so-called Super Audio CDs. The reader <b>430</b> is also operable to read DVD-ROMs compatible with the PlayStation 2 and PlayStation 3 devices, in addition to conventional pre-recorded and recordable DVDs. The reader <b>430</b> is further operable to read BD-ROMs compatible with the PlayStation 3 device, as well as conventional pre-recorded and recordable Blu-Ray Disks.
0053The system unit <b>10</b> is operable to supply audio and video, either generated or decoded by the PlayStation 3 device via the Reality Synthesiser graphics unit <b>200</b>, through audio and video connectors to a display and sound output device <b>300</b> such as a monitor or television set having a display <b>305</b> and one or more loudspeakers <b>310</b>. The audio connectors <b>210</b> may include conventional analogue and digital outputs whilst the video connectors <b>220</b> may variously include component video, S-video, composite video and one or more High Definition Multimedia Interface (HDMI) outputs. Consequently, video output may be in formats such as PAL or NTSC, or in <b>720</b><i>p, </i><b>1080</b><i>i </i>or <b>1080</b><i>p </i>high definition.
0054Audio processing (generation, decoding and so on) is performed by the Cell processor <b>100</b>. The PlayStation 3 device's operating system supports Dolby® 5.1 surround sound, Dolby® Theatre Surround (DTS), and the decoding of 7.1 surround sound from Blu-Ray® disks.
0055In the present embodiment, the video camera <b>756</b> comprises a single charge coupled device (CCD), an LED indicator, and hardware-based real-time data compression and encoding apparatus so that compressed video data may be transmitted in an appropriate format such as an intra-image based MPEG (motion picture expert group) standard for decoding by the system unit <b>10</b>. The camera LED indicator is arranged to illuminate in response to appropriate control data from the system unit <b>10</b>, for example to signify adverse lighting conditions. Embodiments of the video camera <b>756</b> may variously connect to the system unit <b>10</b> via a USB, Bluetooth or Wi-Fi communication port. Embodiments of the video camera may include one or more associated microphones and also be capable of transmitting audio data. In embodiments of the video camera, the CCD may have a resolution suitable for high-definition video capture. In use, images captured by the video camera may for example be incorporated within a game or interpreted as game control inputs.
0056In general, in order for successful data communication to occur with a peripheral device such as a video camera or remote control via one of the communication ports of the system unit <b>10</b>, an appropriate piece of software such as a device driver should be provided. Device driver technology is well-known and will not be described in detail here, except to say that the skilled man will be aware that a device driver or similar software interface may be required in the present embodiment described.
0057Referring now to <figref idref="DRAWINGS">FIG. 1B</figref>, the Cell processor <b>100</b> has an architecture comprising four basic components: external input and output structures comprising a memory controller <b>160</b> and a dual bus interface controller <b>170</b>A,B; a main processor referred to as the Power Processing Element <b>150</b>; eight co-processors referred to as Synergistic Processing Elements (SPEs) <b>110</b>A-H; and a circular data bus connecting the above components referred to as the Element Interconnect Bus <b>180</b>. The total floating point performance of the Cell processor is <b>218</b> GFLOPS, compared with the 6.2 GFLOPs of the PlayStation 2 device's Emotion Engine.
0058The Power Processing Element (PPE) <b>150</b> is based upon a two-way simultaneous multithreading Power <b>970</b> compliant PowerPC core (PPU) <b>155</b> running with an internal clock of 3.2 GHz. It comprises a 512 kB level 2 (L2) cache and a 32 kB level 1 (L1) cache. The PPE <b>150</b> is capable of eight single position operations per clock cycle, translating to 25.6 GFLOPs at 3.2 GHz. The primary role of the PPE <b>150</b> is to act as a controller for the Synergistic Processing Elements <b>110</b>A-H, which handle most of the computational workload. In operation the PPE <b>150</b> maintains a job queue, scheduling jobs for the Synergistic Processing Elements <b>110</b>A-H and monitoring their progress. Consequently each Synergistic Processing Element <b>110</b>A-H runs a kernel whose role is to fetch a job, execute it and synchronise with the PPE <b>150</b>.
0059Each Synergistic Processing Element (SPE) <b>110</b>A-H comprises a respective Synergistic Processing Unit (SPU) <b>120</b>A-H, and a respective Memory Flow Controller (MFC) <b>140</b>A-H comprising in turn a respective Dynamic Memory Access Controller (DMAC) <b>142</b>A-H, a respective Memory Management Unit (MMU) <b>144</b>A-H and a bus interface (not shown). Each SPU <b>120</b>A-H is a RISC processor clocked at 3.2 GHz and comprising 256 kB local RAM <b>130</b>A-H, expandable in principle to 4 GB. Each SPE gives a theoretical 25.6 GFLOPS of single precision performance. An SPU can operate on 4 single precision floating point members, 4 32-bit numbers, 8 16-bit integers, or 16 8-bit integers in a single clock cycle. In the same clock cycle it can also perform a memory operation. The SPU <b>120</b>A-H does not directly access the system memory XDRAM <b>500</b>; the 64-bit addresses formed by the SPU <b>120</b>A-H are passed to the MFC <b>140</b>A-H which instructs its DMA controller <b>142</b>A-H to access memory via the Element Interconnect Bus <b>180</b> and the memory controller <b>160</b>.
0060The Element Interconnect Bus (EIB) <b>180</b> is a logically circular communication bus internal to the Cell processor <b>100</b> which connects the above processor elements, namely the PPE <b>150</b>, the memory controller <b>160</b>, the dual bus interface <b>170</b>A,B and the 8 SPEs <b>110</b>A-H, totalling 12 participants. Participants can simultaneously read and write to the bus at a rate of 8 bytes per clock cycle. As noted previously, each SPE <b>110</b>A-H comprises a DMAC <b>142</b>A-H for scheduling longer read or write sequences. The EIB comprises four channels, two each in clockwise and anti-clockwise directions. Consequently for twelve participants, the longest step-wise data-flow between any two participants is six steps in the appropriate direction. The theoretical peak instantaneous EIB bandwidth for 12 slots is therefore 96B per clock, in the event of full utilisation through arbitration between participants. This equates to a theoretical peak bandwidth of 307.2 GB/s (gigabytes per second) at a clock rate of 3.2 GHz.
0061The memory controller <b>160</b> comprises an XDRAM interface <b>162</b>, developed by Rambus Incorporated. The memory controller interfaces with the Rambus XDRAM <b>500</b> with a theoretical peak bandwidth of 25.6 GB/s.
0062The dual bus interface <b>170</b>A,B comprises a Rambus FlexIO® system interface <b>172</b>A,B. The interface is organised into 12 channels each being 8 bits wide, with five paths being inbound and seven outbound. This provides a theoretical peak bandwidth of 62.4 GB/s (36.4 GB/s outbound, 26 GB/s inbound) between the Cell processor and the I/O Bridge <b>700</b> via controller <b>170</b>A and the Reality Simulator graphics unit <b>200</b> via controller <b>170</b>B.
0063Data sent by the Cell processor <b>100</b> to the Reality Simulator graphics unit <b>200</b> will typically comprise display lists, being a sequence of commands to draw vertices, apply textures to polygons, specify lighting conditions, and so on.
0064Referring now to <figref idref="DRAWINGS">FIG. 1C</figref>, the Reality Simulator graphics (RSX) unit <b>200</b> is a video accelerator based upon the NVidia® G70/71 architecture that processes and renders lists of commands produced by the Cell processor <b>100</b>. The RSX unit <b>200</b> comprises a host interface <b>202</b> operable to communicate with the bus interface controller <b>170</b>B of the Cell processor <b>100</b>; a vertex pipeline <b>204</b> (VP) comprising eight vertex shaders <b>205</b>; a pixel pipeline <b>206</b>
0065(PP) comprising <b>24</b> pixel shaders <b>207</b>; a render pipeline <b>208</b> (RP) comprising eight render output units (ROPs) <b>209</b>; a memory interface <b>210</b>; and a video converter <b>212</b> for generating a video output. The RSX <b>200</b> is complemented by 256 MB double data rate (DDR) video RAM (VRAM) <b>250</b>, clocked at 600 MHz and operable to interface with the RSX <b>200</b> at a theoretical peak bandwidth of 25.6 GB/s. In operation, the VRAM <b>250</b> maintains a frame buffer <b>214</b> and a texture buffer <b>216</b>. The texture buffer <b>216</b> provides textures to the pixel shaders <b>207</b>, whilst the frame buffer <b>214</b> stores results of the processing pipelines. The RSX can also access the main memory <b>500</b> via the EIB <b>180</b>, for example to load textures into the VRAM <b>250</b>.
0066The vertex pipeline <b>204</b> primarily processes deformations and transformations of vertices defining polygons within the image to be rendered.
0067The pixel pipeline <b>206</b> primarily processes the application of colour, textures and lighting to these polygons, including any pixel transparency, generating red, green, blue and alpha (transparency) values for each processed pixel. Texture mapping may simply apply a graphic image to a surface, or may include bump-mapping (in which the notional direction of a surface is perturbed in accordance with texture values to create highlights and shade in the lighting model) or displacement mapping (in which the applied texture additionally perturbs vertex positions to generate a deformed surface consistent with the texture).
0068The render pipeline <b>208</b> performs depth comparisons between pixels to determine which should be rendered in the final image. Optionally, if the intervening pixel process will not affect depth values (for example in the absence of transparency or displacement mapping) then the render pipeline and vertex pipeline <b>204</b> can communicate depth information between them, thereby enabling the removal of occluded elements prior to pixel processing, and so improving overall rendering efficiency. In addition, the render pipeline <b>208</b> also applies subsequent effects such as full-screen anti-aliasing over the resulting image.
0069Both the vertex shaders <b>205</b> and pixel shaders <b>207</b> are based on the shader model 3.0 standard. Up to 136 shader operations can be performed per clock cycle, with the combined pipeline therefore capable of 74.8 billion shader operations per second, outputting up to 840 million vertices and 10 billion pixels per second. The total floating point performance of the RSX <b>200</b> is 1.8 TFLOPS.
0070Typically, the RSX <b>200</b> operates in close collaboration with the Cell processor <b>100</b>; for example, when displaying an explosion, or weather effects such as rain or snow, a large number of particles must be tracked, updated and rendered within the scene. In this case, the PPU <b>155</b> of the Cell processor may schedule one or more SPEs <b>110</b>A-H to compute the trajectories of respective batches of particles. Meanwhile, the RSX <b>200</b> accesses any texture data (e.g. snowflakes) not currently held in the video RAM <b>250</b> from the main system memory <b>500</b> via the element interconnect bus <b>180</b>, the memory controller <b>160</b> and a bus interface controller <b>170</b>B. The or each SPE <b>110</b>A-H outputs its computed particle properties (typically coordinates and normals, indicating position and attitude) directly to the video RAM <b>250</b>; the DMA controller <b>142</b>A-H of the or each SPE <b>110</b>A-H addresses the video RAM <b>250</b> via the bus interface controller <b>170</b>B. Thus in effect the assigned SPEs become part of the video processing pipeline for the duration of the task.
0071In general, the PPU <b>155</b> can assign tasks in this fashion to six of the eight SPEs available; one SPE is reserved for the operating system, whilst one SPE is effectively disabled. The disabling of one SPE provides a greater level of tolerance during fabrication of the Cell processor, as it allows for one SPE to fail the fabrication process. Alternatively if all eight SPEs are functional, then the eighth SPE provides scope for redundancy in the event of subsequent failure by one of the other SPEs during the life of the Cell processor.
0072The PPU <b>155</b> can assign tasks to SPEs in several ways. For example, SPEs may be chained together to handle each step in a complex operation, such as accessing a DVD, video and audio decoding, and error masking, with each step being assigned to a separate SPE. Alternatively or in addition, two or more SPEs may be assigned to operate on input data in parallel, as in the particle animation example above.
0073Software instructions implemented by the Cell processor <b>100</b> and/or the RSX <b>200</b> may be supplied at manufacture and stored on the HDD <b>400</b>, and/or may be supplied on a data carrier or storage medium such as an optical disk or solid state memory, or via a transmission medium such as a wired or wireless network or internet connection, or via combinations of these.
0074The software supplied at manufacture comprises system firmware and the PlayStation 3 device's operating system (OS). In operation, the OS provides a user interface enabling a user to select from a variety of functions, including playing a game, listening to music, viewing photographs, or viewing a video. The interface takes the form of a so-called cross media-bar (XMB), with categories of function arranged horizontally. The user navigates by moving through the functions horizontally using a game controller <b>751</b>, remote control <b>752</b> or other suitable control device so as to highlight the desired function, at which point options pertaining to that function appear as a vertically scrollable list centred on that function, which may be navigated in analogous fashion. However, if a game, audio or movie disk <b>440</b> is inserted into the BD-ROM optical disk reader <b>430</b>, the PlayStation 3 device may select appropriate options automatically (for example, by commencing the game), or may provide relevant options (for example, to select between playing an audio disk or compressing its content to the HDD <b>400</b>).
0075In addition, the OS provides an on-line capability, including a web browser, an interface with an on-line store from which additional game content, demos and other media may be downloaded, and a friends management capability, providing on-line communication with other PlayStation 3 device users nominated by the user of the current device; for example, by text, audio or video depending on the peripheral devices available. The on-line capability also provides for on-line communication, content download and content purchase during play of a suitably configured game, and for updating the firmware and OS of the PlayStation 3 device itself. It will be appreciated that the term “on-line” does not imply the physical presence of wires, as the term can also apply to wireless connections of various types.
0076As mentioned above, embodiments of the present invention may also be implemented using a PlayStation Portable® entertainment device. For example, a collaborative jamming session could take place between a user of a PS3 and a user of a PSP as described above. Additionally, for example, the media data could be played back using the PSP in accordance with the signature data associated with the media data.
0077Referring to <figref idref="DRAWINGS">FIG. 2A</figref>, in an embodiment of the present invention a Sony ® PlayStation Portable ® (PSP) entertainment device acts as an entertainment device <b>2100</b>. The PSP body <b>2104</b> comprises, amongst other things, a left joypad <b>2106</b> and a right joypad <b>2108</b>. These are used to interface with software running on the PSP. In addition, the PSP comprises an integral display <b>2102</b> and a speaker <b>2103</b>.
0078Referring now also to <figref idref="DRAWINGS">FIG. 2B</figref>, a summary schematic diagram of a PSP acting as the entertainment device <b>2100</b> according to an embodiment of the invention is provided. The PSP comprises a central processing unit (CPU) <b>2101</b>, a graphics processing unit (GPU) <b>2110</b> for polygon rendering and the like, a media engine <b>2131</b> and an audio/video processor (AVC) <b>2132</b> for image rendering, video and audio playback and the like, and a direct memory access controller (DMAC) <b>2140</b>, linked by a common bus <b>2160</b>. The DMAC <b>2140</b> also links to an external bus <b>170</b> through which inputs and outputs are communicated, including with a wireless communication means (Tx/Rx) <b>2120</b>, a USB connector <b>2125</b>, a flash memory stick interface <b>2135</b> that can act as a storage means for the device, and to the integral display <b>2102</b>. <figref idref="DRAWINGS">FIG. 2C</figref> shows a schematic view of a subset of these elements, identifying their roles in embodiments of the present invention. All operate under software control, e.g. from disc or network (e.g. wireless Internet connection). Steps carried out under software control cause the game to be played as described below.
0079An entertainment device <b>2100</b>, operating under the instruction of suitable software, is operable to provide a rhythm action game with a collaborative jamming facility.
0080In an embodiment of the present invention, music assets (either provided with the game, bought on additional recorded media, or downloaded from an on-line store), are arranged to allow separate access to some segments of the music, such as a drum beat or a vocal track, or particular sound effects or key musical phrases.
0081Referring now to <figref idref="DRAWINGS">FIG. 3</figref>, a first entertainment device playing the rhythm action game in a solo mode thematically arranges these music segments of the available or selected music assets in groups <b>2116</b>, <b>2118</b>, such as for example drum beats, base lines or vocal tracks. Such a thematic arrangement may be preset or determined by user selection.
0082Typically, two groups of four music segments are presented on-screen at any one time, thereby corresponding with the two groups of four buttons available on the joypads <b>2106</b>, <b>2108</b>, of the entertainment device. However, it will be clear to a person skilled in the art that the arrangement of such groups is flexible, and may depend on the nature of the user interface of the host entertainment device.
0083The groups can be paged through using additional buttons on the entertainment device <b>2126</b>, <b>2128</b> to access all the available or selected groups of music segments.
0084The user can then select to play back one segment from each group, for as many of the groups as they wish. Typically the music segments play back in a continuous loop, allowing the user to build up a complex remix comprising many music segments.
0085Playback of a music segment by the entertainment device begins when the corresponding button on the entertainment device is pressed, allowing for variations in timing, and effects such as syncopation.
0086Alternatively, timing may be quantised such that pressing a button corresponding to a music segment causes that segment to begin playback at the next beat, or the next bar.
0087Optionally, the user may elect to only play a segment once, for example in order to punctuate a rhythm or to create a musical effect. This may be achieved for example by pressing a further control button (not shown) in conjunction with the button corresponding to the desired segment.
0088Likewise, optionally the user may select to queue several selected segments so that they all begin simultaneously, for example at the press of a control button (not shown).
0089In this manner, the user can generate a remix based on music segments taken from one or more music assets available to the game.
0090Whilst in the example of <figref idref="DRAWINGS">FIG. 3</figref> graphical representations of instruments have been displayed, it will be appreciated that alternative representations are possible, such as a central generic icon for each group (drum, voice, etc) each surrounded by graphic representations of the corresponding keys. Alternatively or in addition, descriptive text may be used to identify the segment and/or the music source of the segment.
0091The thematic groups may provide alternative music segments within a common group (such as drum or cymbal as shown in <figref idref="DRAWINGS">FIG. 3</figref>) or more typically, where a plurality of music assets are available, the groups show alternative forms of the same type of segment (such as the guitar baselines from several different songs). In an embodiment of the present invention, only one music segment in a group can be selected at any one time. In an alternative embodiment, optionally any number of music segments can be selected, for example by toggling activation of a segment using the corresponding button.
0092Whatever graphical representation is used, the main feature is that the user(s) can select and order desired sound components so as to build an output piece of music. Referring now to <figref idref="DRAWINGS">FIGS. 4 and 5</figref>, a jamming session is shown in which a first user with a first entertainment device <b>2100</b> and a second user with a second entertainment device <b>2200</b> wish to collaborate. The users select which of the available groups they will respectively control. For example, the first user may elect to control bass and percussion groups whilst the second user elects to control melody and vocal groups.
0093The entertainment devices communicate these selections, and later on selections of audio segments during the jamming session, using an ad-hoc communication protocol between their respective wireless communication means <b>2120</b>.
0094Typically, the wireless communication means <b>2120</b> uses a short-range wireless communication protocol such as wireless Ethernet, Bluetooth (®); or IEEE (Institute of Electrical and Electronic Engineers) 802.11x.
0095In the case where both entertainment devices comprise the same music assets, the jamming session may then proceed with each device using its own copy of the music assets to reproduce the music segments selected by both users. Clearly a routine form of asset identification is needed to allow this to happen—perhaps a unique code associated with each such asset, and an associated time (in the output work) at which that asset should be replayed. Such codes and times can be transmitted by each user to the other user. However, in the case where at least one of the entertainment devices has access to additional music assets over and above those of the other entertainment device, there are two options available:
0096Firstly, the devices can compare music assets (e.g. by using the unique codes mentioned above), and only make available to the jamming session (i.e. for use in the output work) those assets they have in common. However, this is an unsatisfactory solution for the users, as they may find that the sounds they want to use (and which are normally available to them in a non-collaborative environment) are made unavailable.
0097Secondly, therefore, the or each entertainment device can instead transmit to the other device music segment data corresponding to their differing music assets, so that both entertainment devices share the sum of music assets available.
0098For example, if the first entertainment device <b>2100</b> contains a standard set of music assets plus assets from the band ‘Blur’, whilst the second entertainment device <b>2200</b> contains a standard set of music assets plus assets from the band ‘Oasis’, the first entertainment device <b>2100</b> can transmit the ‘Blur’ assets to the second entertainment device <b>2200</b>, whilst the second entertainment device <b>2200</b> can transmit the ‘Oasis’ assets to the first entertainment device <b>2100</b>.
0099This transfer could, for example, occur as a background task whilst the users are apportioning respective music segment groups between themselves as described previously.
0100It will be appreciated that a combination of the above approaches could be used, with some music assets shared and some excluded. Which are shared and which are excluded could be based on user choice, data size, frequency of use, genre, which other assets are shared or excluded, or other factors.
0101Once the music assets have been shared, the jamming session may proceed. Each user makes their music segment selections via the interface of their entertainment device as described above, to create a collaborative remix using some or all of the available music assets. In the example shown in <figref idref="DRAWINGS">FIG. 5</figref>, the user of the first entertainment device <b>2100</b> has used an ‘Oasis’ percussion asset (marked as hatched in the selection sequence of <figref idref="DRAWINGS">FIG. 5</figref>) that was received from the second entertainment device.
0102As described previously, each entertainment device transmits <b>401</b> the music segment selections generated in response to their own user's input to the other entertainment device. Consequently both entertainment devices acquire and store both their own generated music segment selection data and the received music segment selection data, and both can use these to generate an audio output based (using their own music clips and received music clips) on the sequence of selections made by both users. As a result each user can hear the result of their collaborative jamming session being generated by their own respective entertainment device.
0103However as a result, each device now contains a record of the collaborative jamming session that may incorporate music assets stored at a user's device but which the respective user of the devices has not legitimately purchased, such as the Oasis percussion asset stored on the first entertainment device in the example of <figref idref="DRAWINGS">FIG. 5</figref>. Nevertheless, such a user may wish to keep a permanent record of the jamming session.
0104Consequently, whilst immediate deletion of the music assets shared between entertainment devices is a solution, it is unsatisfactory to the user as the jamming session is then no longer reproducible.
0105Referring for the purposes of example to the first of the two entertainment devices, this first entertainment device <b>2100</b> comprises a copyright determining means (implemented by the CPU <b>2101</b> in software, for example) which is associated with the storage means <b>2135</b> and which is operable to determine which if any of the music segments actually selected during the jamming session were received from the second entertainment device <b>2200</b>.
0106Those received music segments not actually selected during the jamming session may be immediately deleted without affecting the ability to play back the recorded jamming session on the first entertainment device.
0107In contrast, those received music segments that were selected during the jamming session are instead stored by the first entertainment device on the storage means <b>2135</b> for a limited period of time.
0108As the music segment selections used to regenerate the jamming session are only of use if the relevant music segments remain available, these music segment selections may also be stored by the entertainment device on the storage means <b>2135</b> for this same limited period of time.
0109In an embodiment of the present invention, the time limit extends until the ad-hoc communication between the entertainment devices is severed (either by software control or by the users parting and exceeding the communication range), thereby allowing the users to revisit, replay and potentially re-edit the jamming session for as long as they are in communication with each other, but then deleting the relevant music assets when the users separate.
0110Optionally, this time limit may last a further short fixed period (in the order of minutes or seconds), to provide tolerance in the event of temporary connection failure.
0111In another embodiment of the present invention, the received music segments and the music segment selections are stored by the first entertainment device for a predetermined period of time. This period of time is of adequate duration for the user to obtain copyright authorisation to keep (e.g. permanently) the received music segments that were used in the jamming session.
0112Note that during this period the first entertainment device cannot share the unauthorised assets with further parties.
0113The copyright determination means of the first entertainment device identifies which of the received music segments the first entertainment device does not currently have the right to keep or to reproduce. Of course, the ones for which it is determined that rights are held may be kept. This may be achieved by reference to a stored look-up table, or by reference to a rights status flag associated with each music segment.
0114In the case of the stored look-up table, this may be held locally on the entertainment device, or on a central server accessed via the internet.
0115At a later time, but within the time limit for storing the music segments, the user may decide to keep the jamming session and so initiate a connection from the first entertainment device to a copyright authorisation server via an internet connection. The copyright determination means then informs the copyright authorisation server as to which music segments require copyright authorisation. The copyright authorisation server then debits a fee from the user and grants copyright authorisation.
0116The fee may be deducted from a prepaid credit attributed to the user. For example, a portion of the purchase price of the game may constitute a prepaid credit made available upon on-line registration of the game. When this credit runs out, the user may be invited to pay a further credit if desired. Alternatively, the fee may be paid, or the credit renewed, by known internet payment methods.
0117Once copyright authorisation has been granted, the time limit for storing the received music segments and the segment selection data is revoked, and the relevant data can be kept indefinitely.
0118Optionally, the copyright authorisation may limit use of the received music segments to reproduction of the particular jamming session. Alternatively, the copyright authorisation may allow the user to add those segments to their own set of music assets, and potentially also share them again with another user in a fashion similar to that described herein, enabling a peer-to-peer distribution of music assets.
0119If copyright authorisation is not obtained before the time limit runs out, then the received music segments (and optionally the user's own and the received selection data) are deleted.
0120Optionally, the first entertainment device may notify the user that the time limit is approaching, for example by including a notice during a session of the rhythm action game when it is played within a threshold period prior to the expiry of the time limit.
0121In another embodiment of the present invention, each entertainment device comprises its own copyright authorisation server. In an example scenario, the first entertainment device has shared music segments with a second entertainment device that, as described above, has determined that it needs to acquire copyright authorisation for the received music segments. If its user initiates a request for copyright authentication, the second entertainment device requests authentication from the first entertainment device.
0122In this embodiment, purchase of a music asset confers within its price a limited number of licences to share segments (e.g. on a segment by segment basis) from the music asset for the purposes of collaborative jamming in the game, this licence data being stored (e.g. on a purchased disk) along with the media data. The user of the first device may therefore choose whether or not to use one of these licences to grant copyright authorisation to the second user.
0123If the first user's licences run out, they may optionally purchase more via a central copyright authorisation server on the internet, using known internet payment schemes.
0124If the user of the second entertainment device does not obtain the copyright authorisation before the time limit expires, or if the user of the first entertainment device declines to use one of their licences, then the received music segments on the second entertainment device are deleted.
0125It will be appreciated that an embodiment of the present invention in which the facility to obtain copyright authorisation from either the originating entertainment device or a central authorisation server will be available to an entertainment device, is also considered to be within the scope of the invention.
0126Alternatively or in addition for any of the above embodiments, music segments may comprise a flag identifying whether they require copyright authorisation or have instead been made available under a ‘free-use’ licence for the jamming game. Such free-use music assets may be stored and used within the jamming game without a time limit.
0127It will be appreciated that the storage of the jamming session may take the form of the required music segments and the music segment selections produced by the two users, the music segment selections providing the identifying and timing information needed to regenerate the audio output resulting from the collaborative jamming session, or alternatively or in addition it may take the form of a digital recording of the audio output as a whole, without storing the accompanying music segment selection data. In this second case, it will be clear that the above time-limit and copyright authorisation methods can also apply to a digital recording that contains music assets received from another entertainment device and for which the host entertainment device does not currently have copyright authorisation. So, the host (recipient) device may be authorised (once the collaborative jamming session is over) to replay the recording of the output work but not to access for use in another output work (or even to store) the individual clips.
0128Likewise, it will be apparent that the jamming session and consequently the sharing of music assets need not be limited to two participants.
0129It will also be appreciated by a person skilled in the art that references within this description to ‘music assets’, ‘music segments’ and ‘music segment selections’ refer more generally to ‘audio assets’, ‘audio segments’ and ‘audio segment selections’. ‘Segments’ may comprise digital samples, MIDI data or other audio storage or compression formats.
0130It will further be appreciated by a person skilled in the art that whilst typically the two or more entertainment devices involved in a collaborative jamming session have substantially identical, this need not be the case. For example, whilst typically the devices may be two Sony ® PlayStation Portable ® entertainment devices, potentially a collaborative jamming session may be held between a Sony ® PlayStation Portable ® entertainment device and a Sony ® PlayStation 2 or 3 ® entertainment device.
0131Similarly, the source of the audio segment data and the audio segment selection data may be accessed via a wireless hot-spot such as a PSP ‘zone’. In this case the collaborator may operate the beats jamming game within the wireless hotspot zone in a manner analogous to that described above treating the wireless hotspot zone as equivalent to the area of wireless communication with another device described previously.
0132It will also be appreciated that storage means <b>2135</b> may be any suitable storage means available to the entertainment device, including on-line storage, internal recordable media or removable recordable media, and may include encryption.
0133Referring now to <figref idref="DRAWINGS">FIG. 6</figref>, a method of data storage for a first entertainment device comprises the steps of:
0134i. Forming a communication link with a second entertainment device (a step S<b>1</b>);
0135ii. Receiving one or more music assets from said second entertainment device (a step S<b>2</b>);
0136iii. Storing the received music assets (a step S<b>3</b>);
0137iv. Determining if one or more of the received music assets are selected by users of either the first or second entertainment device during a collaborative jamming session (a step S<b>4</b>); and
0138v. Limiting the duration of storage of audio segment data which was received from the audio segment data source and which was selected according to either the received audio segment selection data or the generated audio segment selection data (a step S<b>5</b>).
0139It will be appreciated by a person skilled in the art that variations on the above method corresponding to the operations of the variations in apparatus disclosed herein are considered to be within the scope of the present invention, including but not limited to:
0140the first entertainment device transmitting music assets to the second entertainment device;
0141the first entertainment device deleting unused received music assets;
0142the first entertainment device storing received music assets for the duration of the communication link with the second entertainment device;
0143the first entertainment device requesting copyright authorisation from a centralised authorisation server via the internet;
0144the first entertainment device requesting copyright authorisation from the originating entertainment device from which the relevant music asset was received, and;
0145the first entertainment device granting copyright authorisation in response to a request from a second entertainment device to which it previously transmitted a relevant music asset.
0146Copyright authorisation and digital rights management according to embodiments of the present invention will now be described in more detail.
0147<figref idref="DRAWINGS">FIG. 7</figref> shows a schematic representation of a way in which an asset or media package <b>3100</b> is associated with signature data <b>3200</b> that is used to encrypt the package <b>3100</b>. Typically, the signature data comprises data relating to the usage rights of the package together with a symmetric key that is used to encrypt the package <b>3100</b> and can be used to ensure the media package has not been tampered with. However, it will be appreciated that an asymmetric key could be used to encrypt the package <b>3100</b>. The signature data <b>3200</b> may be a stand-alone file or may be appended to the end of the package as shown in <figref idref="DRAWINGS">FIG. 7</figref>. Alternatively, the signature data <b>3200</b> could be appended to the front of the package <b>3100</b>, placed within the package <b>3100</b> or distributed throughout the package <b>3100</b>. Optionally, other signatures (e.g. <b>3210</b>, <b>3220</b>) having different properties and attributes may be associated with the same package <b>3100</b>. The attributes and properties that the signature data may have will be described in more detail later.
0148In an embodiment of the present invention, the usage rights contained within the signature <b>3200</b> lock the use of the package so that the package may only be used/accessed on an entertainment device (PSP, PS3 or any other suitable entertainment device) having a particular unique hardware identification (HWID). In this case, the HWID of the particular entertainment device with which the package <b>3100</b> is associated is stored as a hash value within the signature data <b>3200</b> and the symmetric key used by the entertainment device (of which the cell processor, for example, may act as an encryptor and/or decryptor) to decrypt the package is generated in dependence upon the HWID. For example, the HWID may be stored on the HDD <b>400</b> and used by the copyright authorisation means when decrypting the package <b>3100</b>. This reduces the likelihood that the signature <b>3200</b> of the package <b>3100</b> will be cracked, as the signature data <b>3200</b> does not contain all the information needed to decrypt the package <b>3100</b>. The hashing of the HWID means that the HWID of the device associated with the package is not recoverable from the signature.
0149The processor <b>100</b> is operable to determine whether the package <b>3100</b> is encrypted or is locked to a particular entertainment device. If the package <b>3100</b> is not encrypted or is not hardware locked to an entertainment device, then a user is free to use or access the package <b>3100</b> without restriction. However, if the package <b>3100</b> is encrypted or is hardware locked, the processor <b>100</b> is operable to detect the usage rights of the package <b>3100</b> and decrypt the package <b>3100</b> in accordance with the signature data <b>3200</b> as will be described later below.
0150To reduce the likelihood that the signature data <b>3200</b> can be reverse engineered if the encryption method used is leaked to the public, parts of the signature data <b>3200</b> can be obscured by replacing some parts of the signature data <b>3200</b> (e.g. bits that are used, for example, as padding) with random data.
0151For example, where the first one hundred or so bits of the signature data <b>3200</b> comprise data that relates to the identity of the device with which the package is associated (product code), these bits could be encrypted using a cryptographic hash function such as a secure hashing algorithm (SHA) so as to obscure the product code. Typically, SHA-<b>1</b> (Federal Information Processing Standards Publication 180-2, 1 Aug. 2002 -http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf) is used as the hashing function although it will be appreciated that any suitable hash function may be used. Additionally, where the hash function produces a result that is longer than the space assigned to that data within the signature data <b>3200</b>, a Boolean operation may be performed on sets of bytes of the resultant hash function so as to reduce the number of bytes required to store the obscured data.
0152For example, if the SHA-1 hashing function is used, the output of the hash function comprises 160 bits (20 bytes, where 1 byte=8 bits). Therefore, in the case where the space allocated to the product code within the signature data <b>3200</b> is 16 bytes and the hash function produces twenty bytes, the output of the hash function can be broken down into four sets of five bytes. Then, for each set of five bytes, a Boolean logical operation such as XOR may be performed between the first four bytes and the fifth byte of the group thus reducing the total number of bytes. When concatenated together, the total number of bytes is then sixteen rather than twenty. The resultant reduced size hash data is used in place of the product code within the signature data <b>3200</b>. Of course it will be appreciated that any suitable logical operation may be used to reduce the number of bytes of the resultant product of the hash function.
0153The signature data <b>3200</b> may comprise application data which relates to the content of the package <b>3100</b>. Typically, the application data comprises any type of data that can be used by the application. Advantageously, as the signature data <b>3200</b> comprises the application data, the application data can be accessed without the contents of the package <b>3100</b> being decrypted. Furthermore, where the signature data comprises application data, this may be encrypted using a symmetric key cipher such as Tiny Encryption Algorithm (TEA) (“TEA, a tiny encryption algorithm”. David J. Wheeler and Roger M. Needham. Fast Software Encryption: Second International Workshop ed. Bart Preneel, volume <b>1008</b> of
0154Lecture Notes in Computer Science, pages <b>363</b>-<b>366</b>, Leuven, Belgium, 14-16 Dec. 1994.), Extended Tiny Encryption Algorithm (XTEA) (“Tea extensions.” Roger M. Needham and David J. Wheeler. Technical report, Computer Laboratory, University of Cambridge, October 1997 http://www.cix.co.uk/˜klockstone/xtea.pdf), or the Blowfish encryption algorithm (“Description of a New Variable-Length Key, 64-bit Block Cipher (Blowfish)” Bruce Schneier, Fast Software Encryption 1993: 191-204—http://www.schneier.com/paper-blowfish-fse.html) although it will be appreciated that any suitable symmetric key cipher may be used. Typically, where TEA or XTEA is used, the number of rounds (n) used to encrypt the data is 8<n<255. Optionally, the application data is encrypted using the product code as the symmetric key of the encryption algorithm.
0155As well as or instead of the hardware ID, the signature data may comprise usage rights that relate to any or all of: an account ID that relates to a particular user of the entertainment device; a time reference that is used to determine a time period during which the package <b>3100</b> may be decrypted by the copyright determining means; and an expiry date that is used to represent a date after access to the content of the package <b>3100</b> is denied. Therefore, the signature data <b>3200</b> may comprise any or all of: the hardware ID; the account ID; the time reference; and the expiry date.
0156In this case, the usage rights of the signature data <b>3200</b> are combined to form a Boolean equation that can be evaluated by the copyright determining means to determine whether the usage rights associated with a particular entertainment apparatus of a user fulfil the criteria needed to decrypt the package <b>3100</b>. Typically, this is represented within the signature data <b>3200</b> as a binary tree structure where terminal nodes relate to the usage rights of the package and non-terminal nodes relate to Boolean operations as will be described later. Therefore, in order for the copyright determining means to be able to decrypt the package <b>3100</b>, the Boolean equation must be satisfied.
0157The signature data may be encrypted using an asymmetric cipher such as the Rivest, Shamir, & Adleman (RSA) algorithm although it will be appreciated that any suitable asymmetric or symmetric cipher may be used. By encrypting the signature data, the likelihood that the symmetric key can be deduced from the signature data can be reduced. Typically, the signature data <b>3200</b> is encrypted using a public key and subsequently decrypted by the processor <b>100</b> using a private key associated with the public key. In a preferred embodiment of the invention, the signature data <b>3200</b> is encrypted and decrypted according to the RSA algorithm with a 2048 bit key pair although it will be appreciated that any appropriate key pair length could be used.
0158The decryption of the signature data <b>3200</b> and its associated package <b>3100</b> will now be described with reference to <figref idref="DRAWINGS">FIG. 8</figref>.
0159<figref idref="DRAWINGS">FIG. 8</figref> shows a flow chart of a method of decrypting the signature data <b>3200</b> together with its associated package <b>3100</b> in accordance with an embodiment of the present invention. Here the decryption may be performed by the cell processor <b>100</b> of the entertainment device <b>10</b> or the CPU <b>2101</b> of the entertainment device <b>2100</b> or <b>2200</b>. However, in the following description of <figref idref="DRAWINGS">FIG. 8</figref>, it will be assumed that the cell processor <b>100</b> of the entertainment device <b>10</b> carries out the decryption.
0160At a first step s<b>10</b>, the processor <b>100</b> decrypts the signature data <b>3200</b> using known decryption techniques. For example, where the signature data has been encrypted using a public key according to the RSA algorithm, the processor <b>100</b> is operable to decrypt the signature data <b>3200</b> using the private key associated with the public key.
0161At a step s<b>11</b>, the processor <b>100</b> performs a check to see if the package <b>3100</b> and/or the signature data <b>3200</b> is genuine.
0162In the case of the package <b>3100</b>, the processor <b>100</b> generates a hash value from the encrypted package <b>3100</b>. The processor <b>100</b> then compares this hash value with a package match key that was generated when the package <b>3100</b> was encrypted. The package match key is generated by creating a hash value from the encrypted package when the package <b>3100</b> is first encrypted. The package match key can be stored on the HDD <b>400</b> or stored on a digital rights management server (DRM server) and then downloaded to the entertainment device when access to the package is requested by the entertainment device.
0163A similar method is used to determine whether the signature data <b>3200</b> is genuine and has not been tampered with. Here, in a similar process to that used to generate the package match key, a signature match key is generated when the signature data is first created and the signature match key is stored on the HDD <b>400</b> or on the DRM server. Optionally, the check is performed only on the package <b>3100</b>. Alternatively, the check is only performed on the signature data or the check is performed on both the package <b>3100</b> and the signature data <b>3200</b>.
0164It will be appreciated that the package match key and the signature match key could be generated from the unencrypted package <b>3100</b> and the unencrypted signature data <b>3200</b> respectively. In this case, the processor is operable to decrypt the package and/or the signature before the hash values are generated and the hash value comparison is carried out.
0165If the processor determines that the hash value generated from the package <b>3100</b> does not match the package match key, or that the hash value generated from the signature data <b>3200</b> does not match the signature match key, then at a step s<b>15</b>, access to the package is blocked, as the mismatch between the hash value and the match key indicates that the package <b>3100</b> and/or the signature data <b>3200</b> is likely to have been tampered with.
0166If however, the processor <b>100</b> detects that the hash value matches the match key, then, at a step s<b>12</b>, the processor <b>100</b> evaluates the usage rights contained within the signature data <b>3200</b> using a Boolean equation R to determine whether the package may be used/accessed on that entertainment device <b>10</b>. For example, the Boolean equation R may be defined in terms of the usage rights as defined above such that:
0000<br />R=R<b>1</b> OR R<b>2</b>
0000where
0167R<b>1</b>=(A==a) AND (H==h)
0000and
0000<br />R<b>2</b>=(A==a) AND (H==h) AND (t≧T) AND (t≦T +d)
0000Here, AND and OR are Boolean logical operators well known in the art and == is an operator that returns true if the two operands are equal and false if they are different, and:
0168H is a representation of the hardware ID of the device on which the package <b>3100</b> is intended to be used and may be a hashed value of the hardware ID or some other representation of the hardware ID;
0169h is a representation of the hardware ID of the device evaluating the usage rights and may be a hashed value of the hardware ID of the device evaluating the usage rights or some other representation of that hardware ID;
0170A is a representation of the account ID of a user who owns the package <b>3100</b> and may be a hashed value of the account ID of the user who owns the package or some other representation of the account ID;
0171a is a representation of the account ID of a user who is logged onto the device evaluating the usage rights and may be a hashed value of their account ID or some other representation of their account ID;
0172T is a reference date (relevant to usage allowed over a limited time period—see below);
0173t is the time at which the usage rights are evaluated; and
0174d is a constant indicative of the amount of time (after time t) for which access to the package <b>3100</b> may be granted.
0175In the example given above, the corresponding usage rights of the content could correspond to a situation where a user has purchased a media package for use on their own entertainment device without any time restrictions (as illustrated by R<b>1</b> above) but if the user wants to use that media package on another entertainment device, then the use of that package may be limited to, for example, ten days (as illustrated by R<b>2</b> above with T=the time at which the rights on the other device are to start and d=10 days). However, it will be appreciated that any suitable time period for the expiry of use of the package may be used and that d may take any value suitable to define the allowed time period. Additionally, it will be appreciated that the operands in the Boolean equation could be any or all of: binary values, integers, data strings and the like. Furthermore, it will also be appreciated that the operators in the Boolean equation could be any or all of: AND; OR; NOT; Equal to (==); add; subtract; multiply; divide; less than; more than; less than or equal to; more than or equal to; or any other suitable operator.
0176Within the signature data <b>3200</b>, the Boolean equation may be expressed as a tree structure as shown in <figref idref="DRAWINGS">FIG. 9</figref>. Typically, the tree structure is a binary tree structure, although it will be appreciated that other equations having different respective tree structures could be used and that the binary tree structure shown in <figref idref="DRAWINGS">FIG. 9</figref> is included for explanatory purposes only and is not intended to be limiting. Here, the Boolean operators such as OR (<b>3201</b>), AND (<b>3202</b><i>a, </i><b>3202</b><i>b, </i><b>3204</b><i>a </i>and <b>3204</b><i>b</i>), and ==(<b>3203</b><i>a, </i><b>3203</b><i>b, </i><b>3207</b><i>a </i>and <b>3207</b><i>b</i>) may be expressed as nodes of the tree and the usage rights such as H (<b>3206</b><i>a, </i><b>3210</b><i>a</i>), h (<b>3206</b><i>b, </i><b>3210</b><i>b</i>), A (<b>3205</b><i>a, </i><b>3209</b><i>a</i>), a (<b>3205</b><i>b, </i><b>3209</b><i>b</i>), t≧T (<b>3208</b><i>a</i>) and t≦T+d (<b>3208</b><i>b</i>) are expressed as terminal nodes of the tree structure. As can be seen from <figref idref="DRAWINGS">FIG. 9</figref>, branch R<b>1</b> corresponds to the situation where the user who has purchased the media package <b>3100</b> is free to use that media package <b>3100</b> on their own machine without any restrictions, whilst branch R<b>2</b> represents the situation where the user who owns the media package <b>3100</b> uses that media package <b>3100</b> on another entertainment device and the usage of that package <b>3100</b> is restricted to a time period such as 10 days as described above.
0177Returning now to <figref idref="DRAWINGS">FIG. 8</figref>, at a step s<b>13</b>, the processor <b>100</b> determines whether the Boolean equation is satisfied. If the equation returns 0, then, at the step s<b>15</b>, access to the package <b>3100</b> is blocked by the processor <b>100</b> and the content of the package <b>3100</b> cannot be used. If the equation returns 1, then, at a step s<b>14</b>, the processor is operable to extract the symmetric key associated with the package <b>3100</b>. The processor <b>100</b> is then operable, at a step s<b>16</b>, to decrypt the media package <b>3100</b> using the symmetric key extracted at step s<b>14</b>. The Boolean equation may be evaluated each time access to the media package <b>3100</b> is requested by a user or continuously whilst the package is in use. Optionally, the Boolean equation is evaluated just once when access to the media package <b>3100</b> is first requested by a user. It will be appreciated that different equations and/or result polarities could be used, for example resulting in a “1” (or other value) if the access is to be denied, and vice versa.
0178The encryption and decryption of the media package and signature data will now be described in more detail with reference to <figref idref="DRAWINGS">FIGS. 10 and 11</figref>.
0179<figref idref="DRAWINGS">FIG. 10</figref> schematically illustrates the encryption process of the content of the media package <b>3100</b> together with encryption of the signature data <b>3200</b> according to an embodiment of the invention. First, at a stage <b>4110</b> and a stage <b>4120</b>, respective hash data relating to the hardware ID (H) of an entertainment device on which the media package <b>3100</b> is intended to be used and the account ID (A) of a user associated with that media package <b>3100</b> is generated according to a suitable hash function as described above. The hashed hardware ID (H) together with the hashed account ID (A) and the time reference (T,d) as described above are bundled together to form a usage rights bundle <b>4140</b>.
0180At a stage <b>4130</b>, the hardware ID (H) is used to create a symmetric key that will be used to encrypt the content of the media package <b>3100</b>. As described above, this reduces the likelihood that the symmetric key can be obtained illegally from the signature data as a prior knowledge of the correct hardware ID (H) is needed to extract the symmetric key. Alternatively, the symmetric key may be generated in dependence upon the account ID (A), the time reference (T), the hash values of any of these values or created independently. Together with the usage rights bundle <b>4140</b>, the symmetric key generated at the stage <b>4130</b> is then used to form a signature data block <b>4150</b>.
0181At a stage <b>4100</b>, the symmetric key that was generated at the key generation stage <b>4130</b> is used to symmetrically encrypt the content of the media package <b>3100</b> so as to form encrypted content. Optionally, the package match key may be generated from the encrypted or unencrypted package by generating a hash value of the unencrypted or encrypted package.
0182At a stage <b>4160</b>, the signature data is asymmetrically encrypted using a public key that is uniquely associated with the media package <b>3100</b> so as to form encrypted signature data. The encrypted signature data is therefore associated with the encrypted content of the media package <b>3100</b>. Optionally, before or after the stage <b>4160</b>, the signature match key may be created by generating a hash value from either the signature data block <b>4150</b> or the encrypted signature data.
0183<figref idref="DRAWINGS">FIG. 11</figref> schematically illustrates a decryption process of the encrypted content together with the encrypted signature data encrypted according to the embodiment shown in <figref idref="DRAWINGS">FIG. 10</figref>.
0184At a first stage <b>5110</b>, the package and/or the signature data is checked to determine whether it is genuine as described above. If this checking is performed using the unencrypted package and/or the unencrypted signature data, these are decrypted according to the process described below before the check is carried out. The encrypted signature data is then asymmetrically decrypted using a private key so as to recover the unencrypted signature data block <b>4150</b>. The usage rights bundle <b>4140</b> is then extracted from the signature data block <b>4150</b> and the usage rights contained within the bundle <b>4140</b> are passed to a usage rights determination stage <b>5150</b>. Additionally, the symmetric key that relates to the encrypted content is passed to a decryption determination stage <b>5140</b>.
0185At a stage <b>5160</b> and a stage <b>5170</b>, respective hash values of the hardware ID (h) of the entertainment device on which the usage rights are being evaluated and the account ID (a) of a user logged onto that entertainment device are generated using a suitable hash function as described above. The resultant hash values are passed to the usage rights determination stage <b>5150</b> together with data relating to the current time (t) (i.e. the time at which the usage rights are being evaluated).
0186The usage rights determination stage <b>5150</b> evaluates the Boolean equation as described above to determine whether the encrypted content should be decrypted. If the usage rights determination stage determines that the Boolean equation is satisfied, then it instructs the decryption determination stage <b>5140</b> to pass the symmetric key to the symmetric decryption stage <b>5100</b>. The symmetric decryption stage <b>5100</b> then decrypts the encrypted content so as to produce decrypted content that may be accessed by the entertainment device. If, however, the usage rights determination stage <b>5150</b> determines that the Boolean equation is not satisfied the symmetric key is not passed by the decryption determination stage <b>5140</b> to the symmetric decryption stage <b>5100</b> and the encrypted content cannot be decrypted.
0187An embodiment of the present invention will now be described with reference to <figref idref="DRAWINGS">FIG. 12</figref>, in which digital media assets having associated signature data are shared between entertainment devices.
0188In the example shown in <figref idref="DRAWINGS">FIG. 12</figref>, a user of an entertainment device <b>7100</b> owns a media package <b>3100</b> having associated signature data <b>3200</b>. In this case, the signature data <b>3200</b> comprises usage rights as described above that enable the first user to use that media package on their entertainment device <b>7100</b> without restriction (branch R<b>1</b> above). For example, the media package could be the SingStar® game for the Sony PlayStation 3® entertainment device although it will be appreciated that the media package <b>3100</b> could be any other suitable game software, audio material, video material and the like and that the entertainment device could be a PSP® or any other entertainment device.
0189It will be appreciated however, that the first user may wish to visit a friend and play a game (e.g. SingStar®) on a friend's entertainment device <b>7200</b>. To do so, they could transfer game data wirelessly, or they could load the encrypted media package <b>3100</b> (e.g. SingStar® game) from their entertainment device onto a Memory Stick® <b>7300</b> or other suitable memory card using the memory card reader <b>450</b> and take it with them to their friend's house.
0190The media package can then be loaded onto the friend's entertainment device <b>7200</b> and stored on the HDD <b>400</b>. Therefore, the need to download the media package <b>3100</b> using the WiFi port <b>730</b> or Ethernet port <b>720</b> from, for example, a games server is removed (though that is still possible with the collaboration of the friend's signature data and rights privileges).
0191However, the media package <b>3100</b> is still locked to the hardware ID of the user's entertainment device <b>7100</b> using the signature data <b>3200</b> as described above. Therefore, the user (owner) of the media package <b>3100</b> may log onto a digital rights management server from their friend's entertainment device <b>7200</b> and download new signature data <b>3220</b> that will allow the media package to be decrypted on the friend's entertainment device <b>7200</b>. In this case, the use of the media package <b>3100</b> in the friend's entertainment device <b>7200</b> can be limited to, for example, <b>10</b> days as described above (branch R<b>2</b>).
0192Furthermore, as the signature data <b>3220</b> that relates to the friend's entertainment device <b>7200</b> is different to that which relates to the user's entertainment device <b>7100</b>, the user may return home and continue to play the game on their device. Typically, the media package <b>3100</b> is restricted to use only on two devices although it will be appreciated that this need not be the case; there may be no restriction placed on the number of devices or the maximum number of devices that can be authorised to decrypt the media package <b>3100</b> may be different. Additionally, the friend's entertainment device <b>7200</b> may store at least another media package <b>3500</b> together with associated signature data <b>3510</b> that allows that media package <b>3500</b> to be used on that (friend's) entertainment device <b>7200</b> without restriction.
0193The creation and downloading of signature data according to an embodiment of the invention will now be described in more detail with reference to <figref idref="DRAWINGS">FIGS. 13 and 14</figref>.
0194<figref idref="DRAWINGS">FIG. 13</figref> is a flowchart of a process by which signature data <b>3200</b> is generated for a media package <b>3100</b> when a user purchase that media package <b>3100</b>.
0195At a step s<b>21</b>, the user (purchaser) purchases the media package <b>3100</b> from a media package provider. Here, the media package <b>3100</b> could be purchased on Blu-ray® disc, CD-ROM, Memory Stick® or any other suitable storage medium. Alternatively, the user could download the media package <b>3100</b> over the internet from a media package server or the like.
0196Typically, as well as purchasing the media package <b>3100</b>, the user is purchasing the right to use that package on their entertainment device <b>7100</b>. Therefore, in order for appropriate signature data <b>3200</b> to be generated, the hardware ID of the user's entertainment device <b>7100</b> together with the account ID of the user is sent to a digital rights management server (DRM server) at a step s<b>22</b>.
0197At a step s<b>23</b>, the DRM server verifies that the hardware ID and the account ID match the hardware ID and account ID of the purchaser of the media package <b>3100</b>. If they match then, at a step s<b>24</b>, appropriate signature data <b>3200</b> is generated as described above and the media package <b>3100</b> is encrypted accordingly so that use of the media package <b>3100</b> is restricted to the user's entertainment device (R<b>1</b> above). Typically, the DRM server generates the signature data <b>3200</b> and the signature data <b>3200</b> is downloaded to the user's entertainment device. The processor <b>100</b> of the user's entertainment device <b>7100</b> then encrypts the media package <b>3100</b>. Alternatively, once verified by the DRM server, the processor <b>100</b> of the user's entertainment device <b>7100</b> may generate the signature data <b>3200</b> as well as encrypting the media package <b>3100</b> thus reducing a processing load on the DRM server.
0198<figref idref="DRAWINGS">FIG. 14</figref> is a flowchart of a process used to generate the new signature data <b>3220</b> that allows the media package <b>3100</b> to be used on the friend's entertainment device <b>7200</b>.
0199As described above, at a step s<b>31</b>, the encrypted media package <b>3100</b> is loaded onto the current entertainment device <b>7200</b> from the Memory Stick® or other removable storage medium. Here, the current entertainment device is taken to be an entertainment device other than the entertainment device of the purchaser of the media package <b>3100</b> such as the friend's entertainment device <b>7200</b>.
0200So that new signature data can be generated that will allow the media package <b>3100</b> to be accessed on the friend's entertainment device <b>7200</b>, the hardware ID of the current entertainment device together with the account ID of the original purchaser of the media package <b>3100</b> is sent to the DRM server at a step s<b>32</b>. The account ID can either be sent to the DRM server from the current entertainment device <b>7200</b>, in which case the original owner of the media package <b>3100</b> has to log in to that entertainment device <b>7200</b>, or remotely from the user's (purchaser's) entertainment device <b>7100</b>.
0201At a step s<b>33</b>, the new signature data <b>3220</b> associated with that media package <b>3100</b> is generated from the hardware ID of the current entertainment device and the account ID of the purchaser as described above and comprises the symmetric key necessary to decrypt the media package <b>3100</b>. In this case, the new signature data <b>3220</b> comprises time reference data so as to limit the time period during which the media package <b>3100</b> can be used on the friend's entertainment device <b>7200</b> as described above (R<b>2</b> above). Typically, the DRM server generates the new signature data <b>3220</b>. Alternatively, the current entertainment device <b>7200</b> may generate the new signature data <b>3220</b> if authorised to do so by the DRM server so as to reduce a processing load on the DRM server.
0202Additionally, the DRM server may comprise signature record means operable to store a signature record data that relates to the current number of valid signatures relevant to the package <b>3100</b>. Alternatively, the signature record data comprises data that indicates how many signatures have previously been generated that relate to one particular package owned by a user. Optionally, the DRM server may store the hardware identification data of all the entertainment devices that have been associated with that package so as to determine whether the signature data can be generated. Therefore, once the new signature data <b>3220</b> has been generated, the signature record data is updated so as to determine whether further signatures can be generated.
0203Optionally, before the signature data is generated, a check is made to determine whether the generation of the new signature data <b>3220</b> is allowed in dependence upon the signature record data. If the generation of a new signature is not allowed (e.g. because there are currently several valid signatures relating to that package), then new signature data is not generated and the package <b>3100</b> is not accessible on another entertainment device. This check may be performed either by the DRM server or by the entertainment device in accordance with the signature record data.
0204Typically, the DRM server stores the signature record data (in encrypted or un-encrypted format) although the entertainment device may optionally store the signature record data in an encrypted format to prevent tampering. For example, in the situation where the package is restricted to use only on two different entertainment devices as described above, if the DRM server or the entertainment device detects that two signatures have previously been generated for that package <b>3100</b> and that these two signatures are currently valid (i.e. allow a user access/use of a package), generation of further signatures is blocked until the time period allowed by the new signature data for access/use of the package has expired. Finally, at a step s<b>32</b>, the symmetric key contained within the new signature data <b>3220</b> is used to decrypt the media package <b>3100</b> as described above. However, as the friend's entertainment device <b>7200</b> is not the same as the purchaser's entertainment device <b>7100</b>, the duration of use of the media package <b>3100</b> is limited by the new signature data <b>3220</b> as described above.
0205It will be appreciated that the above described digital rights management scheme need not be limited to the situation where a purchaser wishes to use their purchased media package on another entertainment device. For example, the signature data could be used to allow users to hire a media package e.g. a movie and download it to the HDD <b>400</b> of their entertainment device. Once the time limit for use expires, the package could be automatically deleted from the HDD <b>400</b>. Furthermore, the above described digital rights management scheme can be arranged to allow access to the package for a predetermined total time period. For example, a user could be allowed access to a package for a total of fifteen hours but those fifteen hours need not be used consecutively. In this case, the entertainment device stores time usage data that relates to the total number of hours that the package has been used/accessed and this data is used when evaluating the usage rights as described above.
0206Optionally, the digital rights management scheme described above could be used to limit the duration of access by allowing a user access to a package for a certain number of hours n each month or a predetermined number of hours for a predetermined number of months m (i.e. a time for a final termination of access can be included or not). Additionally, the user may extend the number of hours n of the number of months on payment of a fee to a digital rights management administrator. Alternatively, the number of hours n of months m that a user is allowed to use/access the package depends upon the size of the fee paid to the digital rights administrator. For example, the higher the fee, the greater the number of hours n that a user is allowed to use or access the package. However, it will be appreciated that any suitable fee or billing scheme may be used.
0207In the case described above, a suitable Boolean equation is
0000<br />R=R<b>1</b> OR R<b>3</b>
0000with
0000<br />R<b>3</b>=(<i>A==a</i>) AND (<i>H==h</i>) AND (<i>t≧T</i>) AND (<i>t≦T+d</i>) AND (<i>ut≦UT</i>)
0000and where:
0208R<b>1</b>, A, a, H, h, t, T, d, AND, OR and == are defined as given previously;
0209ut is the total time up to time t for which the package has been used/accessed; and
0210UT is a constant indicative of the total cumulative amount of time for which access to the package <b>3100</b> may be granted.
0211Typically, the value ut is generated by the DRM server in dependence upon a “package in use” data signal that sent to the server by the entertainment device. The package in use data signal indicates when the package is being used or accessed on the entertainment device so that the server can generate the value ut accordingly. When the usage rights are evaluated, the value of ut is sent from the server to the entertainment device so that the usage rights may be evaluated. Alternatively, the processor may generate the value ut and store this value as encrypted content on the HDD <b>400</b> or the Memory Stick® when each period of use of the package is terminated.
0212Where a condition relating to ut is included, it is in principle possible not to apply a condition relating to t, or as an option which avoids changing the equation, T could be set to some date a very long time in the future.
0213It will be appreciated that in embodiments of the present invention, elements of the entertainment method may be implemented in the entertainment device in any suitable manner. In particular, it may consist of an entertainment device <b>2100</b> adapted by software reconfiguration to share music assets, select audio segments in response to user input and received audio segment selection data, and implement copyright determination to determine how such shared and selected music assets should be stored. Additionally, it may consist of an entertainment device <b>100</b> adapted by software to carry out encryption and decryption of media packages in accordance with related signature data. Furthermore, it will be appreciated that where entertainment device is referred to above, this could be a PlayStation 3® entertainment device, a PlayStation® entertainment device or any other suitable entertainment device.
0214Although the signature data has been described with reference to game assets and in particular to decryption using the PS3, it will be appreciated that the signature data could be associated with the music assets used during collaborative jamming and that the encryption and decryption of the signature data together with the music assets could be performed by the PSP. Therefore, the signature data as described above can be used to perform the copyright authorisation of music assets during a collaborative jamming session.
0215Additionally, adapting existing parts of a conventional entertainment device as described above may comprise for example reprogramming of one or more processors therein. As such the required adaptation may be implemented in the form of a computer program product comprising processor-implementable instructions stored on a data carrier such as a floppy disk, optical disk, hard disk, PROM, RAM, flash memory or any combination of these or other storage media, or transmitted via data signals on a network such as an Ethernet, a wireless network, the internet, or any combination of these or other networks.
0216Similarly, media data comprising or accompanied by authorisation limit values readable by a rights authorisation server of the entertainment device may also be stored on such data carriers.
19 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| CN111309963A | Cited by | China | Search report |
| US12039072B2 | Cited by | United States of America | Search report |
| US2013182861A1 | Cited by | United States of America | Pre-grant |
| US2023034530A1 | Cited by | United States of America | Search report |
| US10635662B2 | Cited by | United States of America | Search report |
| US9336092B1 | Cited by | United States of America | Search report |
| US9646587B1 | Cited by | United States of America | Search report |
| US2017329821A1 | Cited by | United States of America | Search report |
| US11836275B2 | Cited by | United States of America | Search report |
| US11126786B2 | Cited by | United States of America | Search report |
| USD981444S | Cited by | United States of America | Search report |
| US8989408B2 | Cited by | United States of America | Search report |
| US11003794B2 | Cited by | United States of America | Search report |
| US2021200903A1 | Cited by | United States of America | Search report |
| US2003185397A1 | Cites | United States of America | Pre-grant |
| US2004024478A1 | Cites | United States of America | Pre-grant |
| US2004176025A1 | Cites | United States of America | Pre-grant |
| US2004186993A1 | Cites | United States of America | Pre-grant |
| US2006270395A1 | Cites | United States of America | Pre-grant |
| US2006288082A1 | Cites | United States of America | Pre-grant |
| US2007283799A1 | Cites | United States of America | Pre-grant |
| US2009282102A1 | Cites | United States of America | Pre-grant |
| US7169996B2 | Cites | United States of America | Pre-grant |
18 members in 7 offices
Priority claims17
| Document | Office | Kind | Date |
|---|---|---|---|
| 0622613 | United Kingdom | A | |
| 0622613 | United Kingdom | A | |
| 06226138 | United Kingdom | – | |
| 0706767 | United Kingdom | A | |
| 0706767 | United Kingdom | A | |
| 07067671 | United Kingdom | – | |
| 2007004332 | United Kingdom | W | |
| 2007004332 | United Kingdom | W | |
| 201113007110 | United States of America | A | |
| 06226138 | – | – | – |
| 07067671 | – | – | – |
| 12446926 | – | – | – |
| GB20060022613 | – | – | – |
| GB20070006767 | – | – | – |
| PCTGB2007004332 | – | – | – |
| US201113007110 | – | – | – |
| WO2007GB04332 | – | – | – |
Members18
| Document | Office | Kind | |
|---|---|---|---|
| GB0622613D0 | United Kingdom | D0 | |
| GB0706767D0 | United Kingdom | D0 | |
| GB2443656A | United Kingdom | A | |
| GB2443708A | United Kingdom | A | |
| WO2008059230A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2008059231A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2008059230A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2008059231A3 | World Intellectual Property Organization (WIPO) | A3 | |
| GB2443708B | United Kingdom | B | |
| EP2082199A2 | European Patent Office (EPO) | A2 | |
| GB2443656B | United Kingdom | B | |
| EP2082199B1 | European Patent Office (EPO) | B1 | |
| ATE460651T1 | Austria | T1 | |
| JP2010509625A | Japan | A | |
| DE602007005274D1 | Germany | D1 | |
| US2010146283A1 | United States of America | A1 | |
| US2011283362A1 | United States of America | A1 | |
| US8782418B2 | United States of America | B2 |
4 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Information on status: application discontinuationABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTIONSTCB | STCB | |
| AssignmentAS | AS |
Numbers
- Publication
- 20110283362
- Publication, DOCDB
- 2011283362
- Publication, EPODOC
- US2011283362
- Application
- 13007110
- Application, DOCDB
- 201113007110
- Application, EPODOC
- US201113007110
Titles
- English
- DATA STORAGE DEVICE AND METHOD
Classification
- CPC, 3
- H04H60/17
- H04H20/38
- H04H20/40
- IPC, 2
- G06F12 14
- H04H40 00
- USPC, 2
- 726026000
- 455003060