This application claims priority to United Kingdom Application Number 1108898.6, filed on May 26, 2011, the entirety of which is incorporated herein by reference.
The present invention relates to a method and device for sharing media and in particular a media server.
Media comes in many formats and may be consumed using many different types of devices. The variety of media formats is set to increase as consumers change their viewing habits and ways in which they consume media.
Various techniques and procedures are required in order to convert one media format into another. This requires detailed technical expertise on the part of the consumer and specialist hardware and software that may require careful configuration. All of these additional overheads and difficulties distract from a pleasurable viewing experience. Furthermore, such a specialist system may require continued reconfiguration or updates as different types of media and media formats become available and are requested.
Various software and hardware servers are available to stream media from one device to another. For example, a digital living network alliance (DLNA) server may reside within a home computer system to stream media stored on the computer to a renderer such as a television set, which may contain a DLNA client. However, the streamed media must be in a format suitable for viewing on the television set, which otherwise will not be able to correctly render the media. Additional software or hardware may be present to convert the media from one format to another. This type of conversion is known as transcoding and may take place in real time as media is being streamed from one device to another or may take place as a batch process with the converted media being stored at some location. Even with the ability to transcode files from one format to another, media servers may not be able to provide a rendering device with correctly formatted media or require additional manual steps before the media can be displayed correctly.
Therefore, there is required a media server method that overcomes these problems.
Against this background and in accordance with a first aspect there is provided a media server comprising: a media input configured to receive media; a transcoder for converting media from an initial format to a compatible format; and logic and/or a processor configured to: receive information identifying a rendering device, receive a request for media from the rendering device, determine if the requested media is in a format compatible with the rendering device, and if not in a compatible format then instruct the transcoder to convert the requested media into a compatible format of the rendering device.
According to an illustrative example, there is provided a media server comprising: a media input configured to receive media; a transcoder for converting media from an initial format to a requested format; and a processor arranged to receive information on the requested format from a rendering device, instruct the transcoder to convert the received media from the initial format into the requested format, and transmit the converted media to the rendering device.
Therefore, a rendering device that may be internal or external to the media server such as a requesting device or a renderer may receive media in a format suitable to be played, viewed or rendered. Receipt of a request from the rendering device improves reliability as the media server can ensure that the correct format is served and played back. This also reduces manual set up and configuration especially when new devices utilise the system as they can send or transmit a specific request for media in a playable format and the transcoder can translate or convert the media to the requested format rather than rely on such a format being available. Therefore, plug and play capabilities can be improved for a greater range of devices both on the media supply side and the rendering or viewing side of the system.
Transcoding may also be described as converting one or more aspects of media or content from one form to another. This may involve minor or major changes to resolution, changes to file or package container types, codec changes, changes in audio, video or subtitles (e.g. language changes) or a combination of any or all of these conversions. Transcoding may be carried out on-demand to provide real-time conversion or it may be carried out in advance of consumption with transcoded media stored or buffered for later use.
The media input may receive media from one or more external or internal sources. External sources may be other servers, computers on the same or a different network or live streams of media, for example. Internal sources may include stored media such as files within one or more hard drives or solid state storages, for example.
Optionally, the media server may further comprise data describing compatible formats for a plurality of rendering devices. These data may be a database, file, XML, cache, table, lookup table or other format. An adaptation layer may determine the type of rendering device making the request for media and determine or find any or all compatible formats including container, codec, resolution, etc.
Preferably, the transcoder may be a hardware transcoder. This improves performance and resources and may be supplied by a separate chipset, CPU or GPU.
Optionally, the media server may further comprise a data storage for storing the media in either or both the initial format and/or the requested or converted format. For example, this may be an internal memory drive (e.g. HDD or SSD) within the media server or an external memory drive. Alternatively, the data storage may be accessible over a network such as the Internet to facilitate cloud-based storage.
Optionally, the media input may be configured to receive media from an external network. This network may be a home LAN, an intranet or the Internet for example.
Preferably, the transcoder may be arranged to transcode the media at the same rate that the media is received at the media input or required by the rendering device. Therefore, the rendering or external device may provide the media in real-time or on demand.
Preferably, the media server may further comprise an interface configured to communicate with the rendering device, receive the information on the requested format and/or information identifying the rendering device and the request and/or transmit the converted or requested media. The interface may include suitable electrical connections as well as software or hardware controllers.
Preferably, the interface is configured to use digital living network alliance, DLNA, and/or universal plug and play, UPnP, protocols. Other suitable or similar protocols may be implemented. An example DLNA server that may be used is the TwonkyServer® from PacketVideo Corp.
Preferably, the initial format and the requested or converted format may be any one or more video codecs selected from the group consisting of MPEG-2, MPEG-4, H.264, AVC, WMV, VC1, DivX, XVid, MPEG-1, H.263, Theora, RLE, Real Video and Motion JPEG. Other formats or combinations may be used.
Preferably, the initial format and the requested or converted format may be any one or more video containers selected from the group consisting of AVI, AVC, MKV, MPEG2-TS, MPEG2-PS, MOV, MP4, M2TS, 3GPP, OGM, ASF, FLV, LATM, NSV and RM. Other formats or combinations may be used.
Optionally, the logic or processor may be further arranged to transmit the converted media in a format suitable to be stored for later playback on the rendering device.
Preferably, the media may be any one or more selected from the group consisting of: still image; video; audio; music; text; electronic book; 3D video; digital media; analogue media; live video; live audio; and games. The media may be digital media or digital content in any form. According to a second aspect, there is provided a method of serving media comprising the steps of: receiving information identifying a rendering device; receiving a request for media from the rendering device, determining if the requested media is in a format compatible with the rendering device, and if not in a compatible format then converting the received media from the initial format to the requested format; and sending the requested media to the rendering device in the compatible format
According to an illustrative example, there is provided a method of converting media comprising the steps of: receiving a requested format from a rendering device; receive media in an initial format; instructing a transcoder to convert the received media from the initial format to the requested format; and send the converted media to the rendering device.
Preferably, determining if the requested media is in a format compatible with the rendering device may further comprise the step of consulting data describing compatible formats for a plurality of rendering devices.
The rendering device may include sideloading capabilities. For example, the rendering device may be a portable device such as a mobile telephone or tablet computer, which may receive the converted media and store it for later playback or rendering one or more times. A combination of receiving the converted media in a requested format and persistent storage provides additional benefits such as improved convenience and flexibility. Furthermore, the converted media may be sent or sideloaded over a network (e.g. mobile network, GSM, 3G, 4G, WiFi, etc.) to provide the end user with media in the correct format for their particular rendering device when away from home, whilst reducing configuration and setup complexity.
The media server or method may be implemented as a computer program comprising program instructions that, when executed on a computer cause the computer to perform the method described above. The computer program may be stored on a computer readable medium or transmitted as a signal.
According to a further aspect, a system may include the media server described above, a media source and a rendering device.
It should be noted that any feature described above may be used with any particular aspect or embodiment of the invention.
The present invention may be put into practice in a number of ways and embodiments will now be described by way of example only and with reference to the accompanying drawings, in which:
It should be noted that the figures are illustrated for simplicity and are not necessarily drawn to scale.
The media server has one or more media inputs 15 to receive media from the media sources 30. The media server 10 also contains a transcoder 25 in the form of dedicated software or hardware that can convert media from an initial or original format into a format playable on the rendering devices 20. For example, the transcoder 25 may be an XCode® chip set from the ViXS Systems, Inc. Other transcoders may be used.
The rendering device 20 may request a media item from the media server without specifying a requested format. In order to determine a compatible format, the processor 35 may obtain information identifying the rendering device 20 (e.g. make, model, type, software version, etc.) The media server may then consult, lookup or cross-reference this obtained rendering device 20 identifier with data specifying compatible formats that may be playable or renderable by the rendering device 20. These compatibility data may take the form of a database, file, table, or other convenient form. The data may be stored locally or queried across a network such as the Internet, for example. The compatibility data may be static or dynamic and updateable.
Should it not be possible to find the rendering device 20 in the compatibility data or not find any compatible formats then a default format may be selected. The default format may be a format common to many or all rendering devices and therefore provide the best opportunity or chance of successfully rendering the media on an unknown device. If the existing format of the media is already noted as being compatible with the rendering device 20 then no conversion is required and the media is transmitted in its current or original format.
The compatibility data may be implemented within an adaptation layer in the form of a matrix between known and/or tested rendering devices 20 and each existing media container. Therefore, this adaption layer may define what to transcode and which format to use.
Further technical details of the media server 10 are shown in table 1.
Sideloading includes the ability to provide requested media to a rendering device for playback at a later time. Typically, sideloading occurs on a portable device such as a smart phone so that the media may be rendered in a different location. Data encryption may be used to restrict sideloaded media to one or a limited group of rendering devices and prevent unauthorised distribution.
The converted media may also be stored on the local storage device 40 connected to the media server 10.
The media server 10 may take the form or have the functionality of a network-attached storage (NAS) device.
The aggregated folders 210 may be visible on rendering devices 20 as specific DNLA defined or available data sources.
This is illustrated in further detail in
As will be appreciated by the skilled person, details of the above embodiment may be varied without departing from the scope of the present invention, as defined by the appended claims.
For example, the media server 10 may be combined with one or more media sources. The media server 10 may include other types of data storage or onboard memory. The request from the rendering device may originate in a application or client residing on the rendering device.
Many combinations, modifications, or alterations to the features of the above embodiments will be readily apparent to the skilled person and are intended to form part of the invention. Any of the features described specifically relating to one embodiment or example may be used in any other embodiment by making the appropriate changes.
Number | Date | Country | Kind |
---|---|---|---|
1108898.6 | May 2011 | GB | national |