This invention relates to a method of transferring content between storage devices and to control apparatus and software for performing the method.
There is considerable consumer interest in portable devices which can store and play media content such as audio tracks and video files. These devices allow the user to enjoy their favorite media content while they are away from their home or place of work. Portable devices include a rewriteable storage medium such as a solid state memory or hard drive such that a user can directly store media content of their choice on the device and change the content at a later date. More efficient media coding schemes and the decreasing cost of high capacity storage media have allowed portable devices of this kind to store a useful quantity of content.
It is desirable to connect a portable device to other storage devices in a home network so that a user can, for example, transfer audio or video files to the portable device before leaving the home network. The home network can comprise a single storage device, such as a personal computer, or a number of different devices. The connection between the portable device and home network can be a wired connection or, more typically, a wireless connection. It is desirable that the process of transferring content to/from the portable device is performed transparently to the user of the portable device. However, operating in this manner means transfer of content between the storage devices can be interrupted when a user decides to leave the home network.
The present invention seeks to provide an improved way of transferring content between storage devices.
Accordingly, a first aspect of the present invention provides a method of transferring content between a first storage device and a second storage device, the first storage being selectively connectable to the second storage device, the method comprising:
determining an order of priority for the content which requires transfer; and,
transferring the content according to the determined order of priority.
By determining an order of priority for the content, content is transferred in an order which should ensure that the second storage device stores as much useful data as possible after interruption of the transfer. Any content which is not transferred, due to interruption of the connection between the storage devices, can be transferred when the storage devices are reconnected. This allows the transfer of content between the storage devices to occur as a background process. The connection between the storage devices can be a wired connection, such as a cable, or a wireless connection which operates according to a wireless local area network standard or a personal area network standard.
The order of priority can be decided in a number of ways. The order of priority can be based on importance of the content files, or on size of the files. Importance can be based on historical usage information of one of the devices or the context in which the storage devices are being used, or about to be used. The order can also be based on the preferences of a user of one of the devices, which are either explicitly defined by the user or learned by a controller which implements the method. These can be user-specified indications of what the user considers to be most important to them, such as audio (in preference to video).
The method can be applied to a collection of content or to an individual item of content, where it is possible to sub-divide the item into multiple parts. Examples of this kind of content are: video, audio or images which comprise multiple layers of data representing layers of detail; video content with basic and predicted data; content with multiple audio or video formats; content which represents a folder of sub-items, such as the contents of a DVD. The content can be transferred in a way which will provide a minimum level of quality for the full duration of the content in the event that transfer is interrupted, by arranging that the entire base layer data (basic data or primary content) is transferred before any of the additional layer data (predicted data or supplementary content).
The storage devices can either be dedicated storage devices with or without the capability of rendering the stored content into a form for presentation to a user, such as an MP3 player or similar device, or they can be multi-functional devices with content storage and rendering capabilities, such as a personal computer, a personal digital assistant (PDA), mobile multimedia player or mobile telephone. Although the invention is particularly advantageous where one of the storage devices is a portable device, it can also be applied to a pair of fixed storage devices which are selectively connectable to one another, such as where one of the devices has been off-line for a period of time and there is a need to transfer content to or from the device which has been off-line.
The method can be used as part of a bidirectional transfer between the first and second storage devices. In an example situation where the first device is stationary and the second storage device is portable, it can be desirable to make a backup of the contents of the stationary device before downloading new content from the stationary device. The direction of transfer can be used as a factor in assigning an order of priority to content. As an example, a user (or the controller which implements the method) may decide that transfer from the portable device to the stationary device for the purposes of backup is assigned a higher order of priority than transfer of new material to the portable device.
In a networked situation where a third (or further plurality) of storage devices are involved in the transfer, the order of priority can either be established by coordination between the storage devices involved at the sending end of the transfer, or each of the storage devices can arrange a connection with the destination storage device and assign their own order of priority, with the transfer of content occurring in parallel across the connections.
The functionality described here can be implemented in software, hardware or a combination of these. The invention can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. Accordingly, another aspect of the invention provides software for performing the method. It will be appreciated that software may be installed on the storage device at any point during the life of the equipment. The software may be stored on an electronic memory device, hard disk, optical disk or other machine-readable storage medium. The software may be delivered as a computer program product on a machine-readable carrier or it may be downloaded directly to the storage device via a network connection.
A further aspect of the invention provides a control apparatus for a first storage device having a storage medium for storing media content and an interface for selectively communicating with a second storage device to transfer content between the devices, the control apparatus being operable to:
determine an order of priority for content which requires transfer; and,
transfer the content according to the determined order of priority. The control apparatus can also perform any combination of the steps of the method. A still further aspect of the invention comprises a storage device which incorporates the control apparatus.
Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which:
Storage device 50 also comprises apparatus 76 for rendering selected items of content for presentation to a user. This includes appropriate decoders for decoding the media content (such as an MP3 audio decoder and MPEG2 video decoder) and a digital to analogue converter. An audio output is amplified and fed to speaker 78 while a video output is fed to a display 77. It will be appreciated that the rendering unit 76 and/or the speaker 78 and display 77 can either be integrated with the storage device 50 (as shown) or separate from it. A user interface 75 allows a user to make selections and displays the current operating conditions and selections to the user. The user interface 75 can be a simple keypad or it can be a more complex device such as a touch-sensitive screen which may be combined with the display 77.
A wireless network interface 70, which includes an antenna 71, supports a communication link 12 between the storage device 50 and other devices 150, 250 in the home network 100. Network interface 70 also supports a communication link 10 with portable device 20. Although the connection between devices is shown as a wireless connection, it can alternatively be a wired connection. In the case of a wireless connection, network interface 70 supports a connection according to one of the IEEE 802.11 local area network (LAN) standards or a personal area network (PAN) standard such as Bluetooth™. A gateway 105 connects to an external network 110, such as the Internet, in which servers 115 provide content that may be transferred to the devices 50, 150, 250 or information which helps the device 50 in establishing an order of priority for transferring content.
Portable storage device 20 represents a device which can be freely moved into and out of the environment of the home network 100. It can be a small, hand-held, device or something larger. The portable device 20 comprises a controller 30 for controlling operation of the device in accordance with control software stored on a non-volatile memory 31. A store 35, such a solid-state memory, optical drive or hard disk drive, stores content. In this embodiment the portable device 20 also includes rendering capabilities which are similar to those of the storage device 50, such as audio and video decoders 46. User outputs include one or more audio speakers 48, a display 47 and line outputs (not shown) for connection to external equipment. A user interface 45 allows a user to interact with the device 20. Additionally, the portable device 20 can include an interface 33 for transferring data to/from other devices, such as a universal serial bus (USB) port. A communications interface 40 allows the portable device 20 to support a wireless communication link with network 100 when portable device 20 is within range of the network 100. Interface 40 comprises a transmitter/receiver 40 and antenna 41. If the portable device 20 requires a wired connection to other devices for the transfer of content, then the USB (or IEEE 1394 or similar) interface 33 may provide the main connection for the transfer of content.
As described above, portable device 20 and storage device 50 each include a communications interface 40, 70 which can support a communications link 10 between the devices when they are within range of one another. Standard protocols can be used to detect when devices 20, 50 are within range of one another. As an example, Universal Plug and Play (UPnP) includes a discovery process in which server devices automatically discover new devices by advertising their presence, obtaining an IP address and conveying their capabilities as well as learning about the presence and capabilities of other devices.
Once a communication link 10 has been established between portable device 20 and storage device 50 a content transfer process can begin.
Unit 85 organises a set of data that is to be transferred in such a way as to optimise the data transport with respect to perceived quality (e.g. sending important data first) and robustness. This includes the processing of the actual data when necessary. Transfer of the organised data set is managed by connectivity unit 80, and during the transfer data 83 is delivered from store 65. If transfer is interrupted, transfer can be continued from the point at which it was interrupted, with the transfer management system storing details of the current status of the transfer.
Transfer management unit 85 can operate in one or more of the following ways:
Order According to Size
Order files according to their size, with small files having the highest priority (i.e. to be transferred first). This allows the greatest number of files to be transferred as possible in a given period of time, should transfer be interrupted.
Order According to Importance
Order files according to their importance, with most important files having the highest priority (i.e. to be transmitted first). This will ensure that the most important files will be transferred if transfer is interrupted. The importance of a file can be determined in a number of ways, such as by:
As described above, some types of content can be sub-divided into multiple parts and it is possible to reorder the parts of the item of content in a manner which will transfer a most useful part of the content first. As shown in
While some content formats have explicit layers, in other formats the layering is more implicit. As an example, a multi-channel audio track (e.g. for a movie) comprises audio data for the left and right speaker signals as well as audio data for surround channels, such as the rear channels and low frequency channel. Data for one or more of the individual audio tracks can be transferred, in their entirety, before transferring data for the other channels.
A further technique can be applied in combination with the above, or instead of it. Certain types of video coding, e.g. MPEG-2 and MPEG-4, define different types of frames. As shown in
Conventionally, data for an item of video content would be transferred in the sequence shown as 302. However, unit 85 modifies the normal sequence in which frames would be transferred into the sequence of steps shown as 310-340. This allows a temporal scalability/layering. It is assumed that the video clip 300 to be transferred comprises both images 302 and audio 301. Firstly, at step 310, only the I-frames are transferred. Audio may be transferred at the same time as the I frames, or as a subsequent step 320. If only this information is transferred to storage device 20 it will be possible to view the entire video clip at a very low refresh rate (typically 2 Hz), including audio. Next, the P frames are transferred at step 330. With the I-frames, audio and P-pictures the whole video can be viewed at a medium refresh rate (typically around 12 Hz). Finally, the B-frames are transferred at step 340 and the portable device now has the full video data. With all of the content transferred, the entire movie can be experienced at its original quality.
Some types of content, such as DVDs, comprise a collection of different parts. As an example, a DVD usually comprises video data for the main feature (film), video for special features and audio tracks in multiple languages and/or audio formats. Unit 85 can specify a particular order in which this type of content is transferred, such as: basic (stereo) audio and (base layer) video first, enhancement layer video, multi channel audio, special features (trailers, commentary, etc), subtitles, additional languages etc. These principles of reordering content can be applied to individual files within a set of data files which have already been prioritised for transfer (e.g. according to size or importance), or to content which has not been prioritised in any other way.
The categories above are not mutually exclusive. Unit 85 can use combinations of these to improve the quality (usefulness) of the information that is transferred between devices during a limited transfer period. As an example, it can be particularly beneficial to combine the techniques or ordering according to size and importance. Each file is assigned a weight which reflects a combination of the file's size and importance. Unit 85 can then order files according to the assigned weights.
One of the consequences of reordering the set of data (at stages 82, 85
Subsequently, remaining segments 402 are transferred as a group 425, at step 420, to the second storage device. Each of the segments 402 is written to one of the gaps 411 which had been left at the storage medium of the second storage device. Thus, the two sets of transferred data 401, 402 are interleaved into a single file which can be replayed in a linear manner. This has as an advantage that the necessary storage capacity is claimed at the time of writing the first set of data (step 410) and seeking during playback is minimised because playback will now be linear. The reduction in seeking also helps to reduce power consumption during playback.
It is preferred that the gaps 411 that are left during the first write operation should be filled with stuffing information (e.g. NULL-packets for MPEG transport streams). However, to allow the second storage device to make best use of the limited write time during transfer, it is preferable to write the stuffing information (null-packets and empty pictures) into the gaps at a later stage, just after transfer has been interrupted. While only two transfer steps 410, 420 are shown, it will be appreciated that the technique can be applied to a larger number of transfer steps, with sufficient space 411 being reserved during the write stage of the first transfer step to accommodate all of the data which may be transferred in subsequent transfer steps.
It has been described how a control entity (units 82, 85) on storage device 50 can determine an order of priority for transfer of content to portable device 20. The technique is equally applicable to transfer of content in the reverse direction, i.e. from portable storage device 20 to storage device 50. This situation can arise when the portable device 20 contains content which is not locally stored in network 100. In the case of transfer from portable device 20 to storage device 50, the decision of an order of priority can be made by the control entity in device 50, by a control entity in device 20 (which operates in the same manner as the control entity in device 50 previously described) or by negotiation between a control entity in device 20 and a control entity in device 50.
The main embodiments described above show transfer of data between a portable device and a fixed device. It will be appreciated that the invention can also be applied to two stationary devices which are not continuously connected together, such as a device which is off-line for a period of time or devices which do not normally form part of a network and which are occasionally connected together to transfer content between them.
In the networked situation shown in
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The words “comprising” and “including” do not exclude the presence of other elements or steps than those listed in the claim.
In the description above, and with reference to the Figures, there is described a method of transferring content between a first storage device (50) and a second storage device (20) when the devices are selectively connected. An order of priority is determined for content which requires transfer. The content is then transferred according to the determined order of priority. This allows content to be transferred in an order which should ensure that the second storage device stores as much useful data as possible after interruption of the transfer. The order of priority can be based on importance of the content files (e.g. user-defined importance settings, historical usage information, context information) or on size of the files. The order can also be based on the preferences of a user of one of the devices, which are either explicitly defined by the user or learned by the device. Individual items of content can be sub-divided and transferred in a different order, e.g. multi-layered audio or video.
Number | Date | Country | Kind |
---|---|---|---|
0412338.6 | Jun 2004 | GB | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB05/51794 | 6/2/2005 | WO | 12/4/2006 |