GB2517771A - Method, apparatus and computer program product for accessing multimedia content - Google Patents

Method, apparatus and computer program product for accessing multimedia content Download PDF

Info

Publication number
GB2517771A
GB2517771A GB1315555.1A GB201315555A GB2517771A GB 2517771 A GB2517771 A GB 2517771A GB 201315555 A GB201315555 A GB 201315555A GB 2517771 A GB2517771 A GB 2517771A
Authority
GB
United Kingdom
Prior art keywords
multimedia content
access
playback
performance metadata
streaming
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB1315555.1A
Other versions
GB201315555D0 (en
Inventor
Janne Kyllonen
Mika Orajarvi
Kimmo Tuppela
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Original Assignee
Nokia Oyj
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Oyj filed Critical Nokia Oyj
Priority to GB1315555.1A priority Critical patent/GB2517771A/en
Publication of GB201315555D0 publication Critical patent/GB201315555D0/en
Publication of GB2517771A publication Critical patent/GB2517771A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles

Abstract

Performing a first access (i.e. streaming or playback) of a multimedia content at an apparatus; determining an access (or streaming or playback) performance metadata for the multimedia content based on the first access of the multimedia content at the apparatus; determining one or more actions based on the access performance metadata for performing a second access of the multimedia content at the apparatus, where the second access is subsequent to the first access; performing the second access of the multimedia content by performing the one or more actions at the apparatus. Access performance metadata may comprise: data bandwidth requirement at the apparatus; information of at least one data connection parameter; information of a buffer size requirement; information of a processing load of the apparatus associated with the first playback; information of a decoding rate; information of memory consumption etc. Actions may comprise facilitating: a threshold data bandwidth or threshold buffer size for streaming the content; a default network; skipping streaming of one of more frames of the content; disabling one or more applications being performed in the apparatus; skipping decoding of at least one frame of the content; skipping rendering of at least one frame; skipping one or more post processing steps.

Description

METHOD, APPARATUS AND COMPUTER PROGRAM PRODUCT FOR ACCESSING
MULTIMEDIA CONTENT
TECHNICAL FIELD
10001] Various implementations relate generally to method, apparatus, and computer program product for accessing multimedia content.
BACKGROUND
10002] Various electronic devices, including mobile phones are widely used for accessing multimedia content. Examples of accessing the multimedia content include accessing (for example, streaming, downloading, etc.) the multimedia content from external sources, or performing playback of the multimedia content on the devices. A multimedia content may be accessed at different electronic devices with different user experiences, as the processing capabilities of the devices may be different. For example, a device may be capable of processing a multimedia content at 720p (720 horizontal scan lines) at 30 frames per second, whereas another device may be capable of processing a multimedia content at lO8Op (1080 horizontal scan lines) at 60 frames per second. For instance, playback of the multimedia content may be possible in one device; but not in another device, if there is mismatch between the resource requirements for the processing of the multimedia content and the available resources at the device. In examples of streaming multimedia content on the devices, available data bandwidth and resources available at the devices may affect the streaming experience. Accordingly, accessing (streaming and/or playback) the multimedia content may be a challenge in the devices with limited performance capabilities (for example, low-end smartphones).
SUMMARY OF SOME EMBODIMENTS
10003] Various aspects of example embodiments are set out in the claims.
10004] In a first aspect, there is provided a method comprising: performing a first access of a multimedia content at an apparatus; determining an access performance metadata for the multimedia content based on the first access of the multimedia content at the apparatus; determining one or more actions based on the access performance metadata for performing a second access of the multimedia content at the apparatus, the second access being subsequent to the first access; and performing the second access of the multimedia content by performing the one or more actions at the apparatus.
100051 In a second aspect, there is provided an apparatus comprising at least one processor; and at least one memory comprising computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least: perform a first access of a multimedia content at the apparatus; determine an access performance metadata for the multimedia content based on the first access of the multimedia content at the apparatus; and determine one or more actions based on the access performance metadata for performing a second access of the multimedia content at the apparatus, the second access being subsequent to the first access; and perform the second access of the multimedia content by performing the one or more actions at the apparatus.
100061 In a third aspect, there is provided a computer program product comprising at least one computer-readable storage medium, the computer-readable storage medium comprising a set of instructions, which, when executed by one or more processors, cause an apparatus to perform at least: perform a first access of a multimedia content at the apparatus; determine an access performance metadata for the multimedia content based on the first access of the multimedia content at the apparatus; and determine one or more actions based on the access performance metadata for performing a second access of the multimedia content at the apparatus, the second access being subsequent to the first access; and perform the second access of the multimedia content by performing the one or more actions at the apparatus.
100071 In a fourth aspect, there is provided an apparatus comprising: means for performing a first access of a multimedia content at an apparatus; means for determining an access performance metadata for the multimedia content based on the first access of the multimedia content at an apparatus; means for determining one or more actions based on the access performance metadata for performing a second access of the multimedia content at the apparatus, the second access being subsequent to the first access; and means for performing the second access of the multimedia content by performing the one or more actions at the apparatus.
100081 In a fifth aspect, there is provided a computer program comprising program instructions which when executed by an apparatus, cause the apparatus to: perform a first access of a multimedia content at an apparatus; determine an access performance metadata for the multimedia content based on the first access of the multimedia content at the apparatus; and determine one or more actions based on the access performance metadata for performing a second access of the multimedia content at the apparatus, the second access being subsequent to the first access; and perform the second access of the multimedia content by performing the one or more actions at the apparatus.
BRIEF DESCRIPTION OF THE FIGURES
10009] Various embodiments are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which: 10010] FIGURE 1 illustrates a device, in accordance with an example embodiment; 10011] FIGURE 2 illustrates an apparatus for accessing multimedia content, in accordance with an example embodiment; 10012] FIGURE 3 illustrates an example representation of determining access performance metadata for multimedia content, in accordance with an example embodiment; 10013] FIGURE 4 illustrates an example representation of access of the multimedia content based on the access performance metadata, in accordance with an
example embodiment;
100141 FIGURE 5 illustrates an example representation of determining access performance metadata for multimedia content, in accordance with another example embodiment; 10015] FIGURE 6 illustrates an example representation of access of the multimedia content based on the access performance metadata, in accordance with another example embodiment; 10016] FIGURE 7 illustrates an example method to perform accessing of a multimedia content, in accordance with an example embodiment; 10017] FIGURE 8 illustrates an example method to perform accessing of the multimedia content, in accordance with another example embodiment; 100181 FIGURE 9 illustrates an example method to perform accessing (streaming) of the multimedia content, in accordance with another example embodiment; and 100191 FIGURE 10 illustrates an example method to perform accessing (playback) of the multimedia content, in accordance with another example embodiment;
DETAILED DESCRIPTION
100201 Example embodiments and their potential effects are understood by referring to FIGURES 1 through 10 of the drawings.
100211 FIGURE 1 illustrates a device 100 in accordance with an example embodiment. It should be understood, however, that the device 100 as illustrated and hereinafter described is merely illustrative of one type of device that may benefit from various embodiments, therefore, should not be taken to limit the scope of the embodiments. As such, it should be appreciated that at least some of the components described below in connection with the device 100 may be optional and thus in an example embodiment may include more, less or different components than those described in connection with the example embodiment of FIGURE 1. The device 100 could be any of a number of types of mobile electronic devices, for example, portable digital assistants (PDA5), pagers, mobile televisions, gaming devices, cellular phones, all types of computers (for example, laptops, mobile computers or desktops), cameras, audio/video players, radios, global positioning system (GPS) devices, media players, mobile digital assistants, or any combination of the aforementioned, and other types of communications devices.
100221 The device 100 may include an antenna 102 (or multiple antennas) in operable communication with a transmitter 104 and a receiver 106. The device 100 may further include an apparatus, such as a controller 108 or other processing device that provides signals to and receives signals from the transmitter 104 and the receiver 106, respectively. The signals may include signaling information in accordance with the air interface standard of the applicable cellular system, and/or may also include data corresponding to user speech, received data and/or user generated data. In this regard, the device 100 may be capable of operating with one or more air interface standards, communication protocols, modulation types, and access types. By way of illustration, the device 100 may be capable of operating in accordance with any of a number of first, second, third and/or fourth-generation communication protocols or the like. For example, the device 100 may be capable of operating in accordance with second-generation (2G) wireless communication protocols 15-136 (time division multiple access (TDMA)), GSM (global system for mobile communication), and IS-95 (code division multiple access (CDMA)), or with third-generation (30) wireless communication protocols, such as Universal Mobile Telecommunications System (UMTS), CDMA1000, wideband CDMA (WCDMA) and time division-synchronous COMA (TD-SCDMA), with 3.90 wireless communication protocol such as evolved-universal terrestrial radio access network (E-UTRAN), with fourth-generation (40) wireless communication protocols, or the like. As an alternative (or additionally), the device 100 may be capable of operating in accordance with non-cellular communication mechanisms. For example, computer networks such as the Internet, local area network, wide area networks, and the like; short range wireless communication networks such as include Bluetooth® networks, Zigbee® networks, Institute of Electric and Electronic Engineers (IEEE) 802.llx networks, and the like; wireline telecommunication networks such as public switched telephone network (PSTN).
100231 The controller 108 may include circuitry implementing, among others, audio and logic functions of the device 100. For example, the controller 108 may include, but are not limited to, one or more digital signal processor devices, one or more microprocessor devices, one or more processor(s) with accompanying digital signal processor(s), one or more processor(s) without accompanying digital signal processor(s), one or more special-purpose computer chips, one or more field-programmable gate arrays (FPGAs), one or more controllers, one or more application-specific integrated circuits (ASICs), one or more computer(s), various analog to digital converters, digital to analog converters, and/or other support circuits. Control and signal processing functions of the device 100 are allocated between these devices according to their respective capabilities.
The controller 108 thus may also include the functionality to convolutionally encode and interleave message and data prior to modulation and transmission. The controller 108 may additionally include an internal voice coder, and may include an internal data modem.
Further, the controller 108 may include functionality to operate one or more software programs, which may be stored in a memory. For example, the controller 108 may be capable of operating a connectivity program, such as a conventional Web browser. The connectivity program may then allow the device 100 to transmit and receive Web content, such as location-based content and/or other web page content, according to a Wireless Application Protocol (WAP), Hypertext Transfer Protocol (HTTP) andlor the like. In an example embodiment, the controller 108 may be embodied as a multi-core processor such as a dual or quad core processor. However, any number of processors may be included in the controller 108.
100241 The device 100 may also comprise a user interface including an output device such as a ringer 110, an earphone or speaker 112, a microphone 114, a display 116, and a user input interface, which may be coupled to the controller 108. The user input interface, which allows the device 100 to receive data, may include any of a number of devices allowing the device 100 to receive data, such as a keypad 118, a touch display, a microphone 114 or other input device. In embodiments including the keypad 118, the keypad 118 may include numeric (0-9) and related keys (#, *), and other hard and soft keys used for operating the device 100. Alternatively or additionally, the keypad 118 may include a conventional QWERTY keypad arrangement. The keypad 118 may also include various soft keys with associated functions. In addition, or alternatively, the device 100 may include an interface device such as a joystick or other user input interface. The device 100 further includes a battery 120, such as a vibrating battery pack, for powering various circuits that are used to operate the device 100, as well as optionally providing mechanical vibration as a detectable output.
100251 In an example embodiment, the device 100 includes a media capturing element, such as a camera, video and/or audio module, in communication with the controller 108. The media capturing element may be any means for capturing an image, video and/or audio for storage, display or transmission. In an example embodiment in which the media capturing element is a camera module 122, the camera module 122 may include a digital camera capable of forming a digital image file from a captured image. As such, the camera module 122 includes all hardware, such as a lens or other optical component(s), and software for creating a digital image file from a captured image.
Alternatively, the camera module 122 may include the hardware needed to view an image, while a memory device of the device 100 stores instructions for execution by the controller 108 in the form of software to create a digital image file from a captured image. In an example embodiment, the camera module 122 may further include a processing element such as a co-processor, which assists the controller 108 in processing image data and an encoder and/or decoder for compressing and/or decompressing image data. The encoder and/or decoder may encode and/or decode according to a JPEG standard format or another like format. For video, the encoder and/or decoder may employ any of a plurality of standard formats such as, for example, standards associated with H.261, H.262/ MPEG-2, H.263, H.264, H.264/MPEG-4, MPEG-4, and the like. In some cases, the camera module 122 may provide live image data to the display 116. Moreover, in an example embodiment, the display 116 may be located on one side of the device 100 and the camera module 122 may include a lens positioned on the opposite side of the device with respect to the display 116 to enable the camera module 122 to capture images on one side of the device 100 and present a view of such images to the user positioned on the other side of the device 100.
100261 The device 100 may further include a user identity module (UIM) 124.
The UIM 124 may be a memory device having a processor built in. The UIM 124 may include, for example, a subscriber identity module (SIM), a universal integrated circuit card (UICC), a universal subscriber identity module (USIM), a removable user identity module (R-UIM), or any other smart card. The UIM 124 typically stores information elements related to a mobile subscriber. In addition to the UIM 124, the device 100 may be equipped with memory. For example, the device 100 may include volatile memory 126, such as volatile random access memory (RAM) including a cache area for the temporary storage of data. The device 100 may also include other non-volatile memory 128, which may be embedded and/or may be removable. The non-volatile memory 128 may additionally or alternatively comprise an electrically erasable programmable read only memory (EEPROM), flash memory, hard drive, or the like. The memories may store any number of pieces of information, and data, used by the device 100 to implement the functions of the device 100.
100271 FIGURE 2 illustrates an apparatus 200 for accessing multimedia content, in accordance with an example embodiment. The apparatus 200 may be employed, for example, in the device 100 of FIGURE 1. However, it should be noted that the apparatus 200, may also be employed on a variety of other devices both mobile and fixed, and therefore, embodiments should not be limited to application on devices such as the device of FIGURE 1. Alternatively, embodiments may be employed on a combination of devices including, for example, those listed above. Accordingly, various embodiments may be embodied wholly at a single device (for example, the device 100) or in a combination of devices. Furthermore, it should be noted that the devices or elements described below may not be mandatory and thus some may be omitted in certain embodiments.
100281 The apparatus 200 includes or otherwise is in communication with at least one processor 202 and at least one memory 204. Examples of the at least one memory 204 include, but are not limited to, volatile and/or non-volatile memories. Some examples of the volatile memory include, but are not limited to, random access memory, dynamic random access memory, static random access memory, and the like. Some examples of the non-volatile memory include, but are not limited to, hard disks, magnetic tapes, optical disks, programmable read only memory, erasable programmable read only memory, electrically erasable programmable read only memory, flash memory, and the like. The memory 204 may be configured to store information, data, applications, instructions or the like for enabling the apparatus 200 to carry out various functions in accordance with various example embodiments. For example, the memory 204 may be configured to buffer input data comprising media content for processing by the processor 202. Additionally or alternatively, the memory 204 may be configured to store instructions for execution by the processor 202.
100291 An example of the processor 202 may include the controller 108. The processor 202 may be embodied in a number of different ways. The processor 202 may be embodied as a multi-core processor, a single core processor; or combination of multi-core processors and single core processors. For example, the processor 202 may be embodied as one or more of various processing means such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), processing circuitry with or without an accompanying DSP, or various other processing devices including integrated circuits such as, for example, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. In an example embodiment, the multi-core processor may be configured to execute instructions stored in the memory 204 or otherwise accessible to the processor 202. Alternatively or additionally, the processor 202 may be configured to execute hard coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processor 202 may represent an entity, for example, physically embodied in circuitry, capable of performing operations according to various embodiments while configured accordingly. For example.
if the processor 202 is embodied as two or more of an ASIC, FPGA or the like, the processor 202 may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, if the processor 202 is embodied as an executor of software instructions, the instructions may specifically configure the processor 202 to perform the algorithms and/or operations described herein when the instructions are executed. However, in some cases, the processor 202 may be a processor of a specific device, for example, a mobile terminal or network device adapted for employing embodiments by further configuration of the processor 202 by instructions for performing the algorithms and/or operations described herein. The processor 202 may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor 202.
100301 A user interface 206 may be in communication with the processor 202.
Examples of the user interface 206 include, but are not limited to, input interface and/or output user interface. The input interface is configured to receive an indication of a user input. The output user interface provides an audible, visual, mechanical or other output and/or feedback to the user. Examples of the input interface may include, but are not limited to, a keyboard, a mouse, a joystick, a keypad, a touch screen, soft keys, and the like. Examples of the output interface may include, but are not limited to, a display such as light emitting diode display, thin-film transistor (TFT) display, liquid crystal displays, active-matrix organic light-emitting diode (AMOLED) display, a microphone, a speaker, ringers, vibrators, and the like. In an example embodiment, the user interface 206 may include, among other devices or elements, any or all of a speaker, a microphone, a display, and a keyboard, touch screen, or the like. In this regard, for example, the processor 202 may comprise user interface circuitry configured to control at least some functions of one or more elements of the user interface 206, such as, for example, a speaker, ringer, microphone, display, and/or the like. The processor 202 and/or user interface circuitry comprising the processor 202 may be configured to control one or more functions of one or more elements of the user interface 206 through computer program instructions, for example, software and/or firmware, stored on a memory, for example, the at least one memory 204, and/or the like, accessible to the processor 202.
10031] In an example embodiment, the apparatus 200 may include an electronic device. Some examples of the electronic device include communication device, media capturing device with communication capabilities, computing devices, and the like. Some examples of the electronic device may include a mobile phone, a personal digital assistant (PDA). and the like. Some examples of computing device may include a laptop! a personal computer, and the like. In an example embodiment, the electronic device may include a user interface, for example, the user interface 206, having user interface circuitry and user interface software configured to facilitate a user to control at least one function of the electronic device through use of a display and further configured to respond to user inputs. In an example embodiment, the electronic device may include a display circuitry configured to display at least a portion of the user interface of the electronic device. The display and display circuitry may be configured to facilitate the user to control at least one function of the electronic device.
10032] In an example embodiment, the electronic device may be embodied as to include a transceiver. The transceiver may be any device operating or circuitry operating in accordance with software or otherwise embodied in hardware or a combination of hardware and software. For example, the processor 202 operating under software control, or the processor 202 embodied as an ASIC or FPGA specifically configured to perform the opeiations described herein, oi a combination thereof, thereby configures the apparatus or circuitry to perform the functions of the transceiver. The transceiver may be configured to receive media content. Examples of media content may include audio content, video content, data, and a combination thereof.
10033] In an example embodiment, the electronic may be embodied as to include an image sensor, such as an image sensor. The image sensor may be in communication with the processor 202 and/or other components of the apparatus 200.
The image sensor may be in communication with other imaging circuitries and/or softwaie, and is configuied to captuie digital images or to make a video ci othei giaphic media files. The image sensor and other circuitries, in combination, may be an example of the camera module 122 of the device 100.
10034] These components (202-206) may communicate to each other via a centralized circuit system 208 foi accessing multimedia content. The centralized ciicuit system 208 may be various devices configuied to, among other things, provide oi enable communication between the components (202-206) of the apparatus 200. In certain embodiments, the centralized circuit system 208 may be a central printed circuit board (PCB) such as a motherboard, main board, system board, or logic board. The centralized circuit system 208 may also, or alternatively, include other printed circuit assemblies (PCAs) or communication channel media.
100351 In various example embodiments, the multimedia content may comprise, but are not limited to, video, audio, animation, collection of still images, and/or combinations of these. For instance, the multimedia content may include any content that can be captured by media capturing devices, for example, a camera, camcorders and the like, or that can be stored on multimedia stoiage devices, for example, haid disks, flash drives, RAM, ROM, disks and any computer-readable media, and that is capable of being played on multimedia systems and/or is capable of being displayed on the user interface 206 (foi example, the display 116).
10036] In various example embodiments, accessing the multimedia content comprises accessing the multimedia content from sources external to the apparatus 200, and/or performing playback of the multimedia content stoied or otherwise accessible to the apparatus 200. Accessing the multimedia content from external sources comprises streaming the multimedia content from web server, local servers, and any other location from where the multimedia content may be downloaded, streamed through wired or wireless connections. Performing playback of the multimedia content comprises playing back the multimedia content at the apparatus 200, for example, displaying the video associated with the multimedia content on the user interface 206 (for example, the display 116) and/or playing audio associated with the multimedia content through the user interface 206 (for example, the speaker 112).
10037] In various example embodiments, an access performance metadata is determined at an access of a multimedia content at the apparatus 200, and the access performance metadata is utilized for subsequent accesses of the multimedia content at the apparatus 200. In an example embodiment, the access of the multimedia content includes streaming the multimedia content from the sources external to the apparatus 200. Additionally or alternatively, the access of the multimedia content includes a playback of the stored or streamed multimedia content at the apparatus 200. Accordingly, the access performance metadata may also be termed as a streaming performance metadata and/or a playback performance metadata. In various example embodiments, the access performance metadata may be determined during (or after) a first access of the multimedia content at the apparatus 200, and the determined access performance metadata may be utilized for improving quality of subsequent (second, third, etc.) accesses of the multimedia content at the apparatus 200. In some example embodiments, the access performance metadata may be determined at each access of the multimedia content at the apparatus 200. For example, a playback performance metadata determined at a preceding playback may be updated at a current playback, and the updated playback performance metadata may be utilized for performing a subsequent playback (of the current playback) of the multimedia content. In another example, a streaming performance metadata determined at a preceding streaming may be updated at a current streaming, and the updated streaming performance metadata may be utilized in performing a subsequent streaming (of the current streaming) of the multimedia content.
10038] In an example embodiment, the processor 202 is configured to, with the content of the memory 204. and optionally with other components described herein, to cause the apparatus 200 to perform a first access of a multimedia content at the apparatus 200. For example, the apparatus 200 may be caused to perform a first streaming of the multimedia content from external sources such as a web server. In another example, the apparatus 200 may be caused to perform a first playback of the multimedia content that is streamed from the external source or is already stored on the apparatus 200. In an example embodiment, the apparatus 200 is operable to perform streaming or playback of the multimedia content based on receiving a streaming instruction and a playback instruction, respectively. In an example embodiment, a processing means may be configured to apparatus 200 to perform a first access of a multimedia content at the apparatus 200 that is operable to access the multimedia content. An example of the processing means may include the processor 202, which may be an example of the controller 108.
10039] In an example embodiment, the processor 202 is configured to, with the content of the memory 204, and optionally with other components described herein, to cause the apparatus 200 to determine an access performance metadata for the multimedia content at the first access of the multimedia content on the apparatus 200.
Herein, the first access does not necessarily refer to a first instance of access (streaming or playback) when the multimedia content is presented for the streaming or the playback.
In fact, the first access may represent any instance of playback or streaming of the multimedia content such that the access performance metadata determined at the first access is used for performing the subsequent accesses. Examples of the access performance metadata may include any information of any parameter that affects performance of accessing the multimedia content on the apparatus 200.
10040] In the example embodiments where the example of the first access is the first streaming, the access performance metadata may include information related to one or more parameters that affect the performance of streaming of the multimedia content at the apparatus 200. For instance, an example of access performance metadata is a bandwidth requirement for a streaming of the multimedia content within a predetermine duration. In an example embodiment, the apparatus 200 may be caused to determine the bandwidth requirement while performing the first streaming of the multimedia content. In another additional example, the access performance metadata includes an information of at least one data connection parameter. For instance, information of the connection parameters for streaming the multimedia content, for example, a type of connection i-Fi or cellular, etc.), strength of the connection, etc., may be a part of the access performance metadata. In another additional example, the access performance metadata includes information of a buffer size for streaming the multimedia content from the external source (for example, a web server). In another additional example, the access performance metadata includes information of a processing load experienced by the apparatus 200 for streaming the multimedia content.
10041] In the example embodiments, where the example of the first access is first playback, the access performance metadata may include information related to one or more parameters that affect the performance of the playback of the multimedia content at the apparatus 200. For instance, an example of the access performance metadata may include information of a processing load of the apparatus 200 associated with the first access (for example, the first playback) of the multimedia content. For example, the processing load may be an average processing load experienced by the processor 202 of the apparatus 200 while performing the first access. Another example of the access performance metadata includes information of a decoding rate of one or more frames of the multimedia content. For instance, the access performance metadata may include information of a time taken in decoding frames of the multimedia content (for example, video content). Another example of the access performance metadata may include an information of memory consumption associated with the first access of the multimedia content. For example, the access performance metadata may include the information of memory requirement for a smooth access (playback) of the multimedia content. Another example of the access performance metadata may include an information of post processing status of the multimedia content associated with the first access. For instance, depending upon the first access of the multimedia content and processing capability of the apparatus, the access performance metadata may include information that whether one or more post-processing steps should be performed for the subsequent access of the multimedia content or not. Some other non-exhaustive examples of the access performance metadata also includes an access capability (playback capability) of the apparatus 200, available resources in the apparatus 200, screen update rate associated with the multimedia content, size and playback length of the multimedia content.
Examples of the access performance metadata are further described in reference to FIGURE 3.
100421 Without loss of generality, in an example, if the multimedia content is presented for the first time to the apparatus 200 for the access, for example, the playback, the apparatus 200 may determine how fast various frames of the multimedia content are decoded in the apparatus 200. In an example, the decoding time of frames of the multimedia content may be stored as the access performance metadata. Similarly, other parameters that affect the access of the multimedia content are stored as part of the access performance metadata. For instance, the access performance metadata may contain information of a number of frames that may be played back per second at the apparatus 200. For example, if it is determined during the first playback that a multimedia content of 120 frames per second (fps) cannot be played back at the apparatus 200 owing to the limitation of the playback capability of the apparatus 200, a lower frame rate may be determined at which the multimedia content can be played back at the apparatus 200. In an example embodiment, the determined frame rate, for example 60 fps, at which the multimedia content can be played back on the apparatus 200 is stored as part of the access performance metadata. Similarly, information corresponding to other parameters may be stored as part of the access performance metadata. In an example embodiment, a processing means may be configured to determine the access performance metadata for the multimedia content associated with the first access of the multimedia content at the apparatus 200. An example of the processing means may include the processor 202, which may be an example of the controller 108.
100431 In an example embodiment, the processor 202 is configured to, with the content of the memory 204, and optionally with other components described herein, to cause the apparatus 200 to determine one or more actions based on the access performance metadata for performing a second access of the multimedia content at the apparatus. In an example embodiment, the second access is an access occurring subsequent to the first access.
100441 The apparatus 200 is caused to determine the one or more actions (for example, reducing processing load on the apparatus 200) based on the access performance metadata such that the performance of the second access performed at the apparatus 200 can be improved. For example, in some cases, if the apparatus 200 is not capable of accessing the multimedia content at the first access, the one or more actions may be determined such that the apparatus 200 may be able to access the multimedia content in the second access by performing the one of more actions. For example, if the playback performance metadata comprises information that the multimedia content should be played at 60 frame per seconds (fps) instead of 120 fps (even if the 120 fps is specified in the multimedia content), a corresponding action may be determined that defines a playback to be performed at the specified 60 fps so that the multimedia content can be effectively played back at the apparatus 200. In this example, the apparatus 200 is caused to skip processing of some frames of the multimedia content so as to match the frame rate as equal to 60 fps, and the multimedia content is displayed on the display of the apparatus with substantially good quality. For instance, the processor 202 may skip processing alternate frames or frames in a particular pattern in order to meet the specified frame rate (60 fps) for the playback of the multimedia content, so that the multimedia content can be played back at the apparatus 200.
100451 In the example embodiments, where the example of the first access is first streaming, the one or more actions may be determined that can enhance the performance of the second streaming (for example, any subsequent streaming) of the multimedia content at the apparatus. Various examples of the one or more actions in the embodiments (where the example of the first access is the first streaming) are described in FIGURE 6. For instance, one or more actions may non-exhaustively include facilitating at least a threshold data bandwidth for streaming the multimedia content based on the information of the data bandwidth requirement present in the access performance metadata, facilitate at least a threshold buffer size for the streaming the multimedia content based on the information of the buffer size present in the access performance metadata, skip streaming of one or more frames of the multimedia content, and stop one or more of the applications running in the apparatus 200 to free up the requisite resources for streaming the multimedia content.
100461 In the example embodiments where the example of the first access is first playback, the one or more actions may be determined that can enhance the performance of the second playback (for example, any subsequent playback) of the multimedia content at the apparatus 200. Various examples of the one or more actions in the embodiments (where the example of the first access is the first streaming) are described in FIGURE 4.
For example, an action may be determined that includes reducing a processing load of the apparatus 200 based on information in the playback performance metadata. For instance, one or more applications (other than the playback of the multimedia) that are being performed in the apparatus 200 may be disabled. Examples of the one or more applications may be background applications running on the apparatus 200 or even foreground applications being executed on the apparatus 200. For instance, background applications such as email synchronization, memory harvesting applications, and/or Bluetooth transfer applications may be disabled to free up the resources (for example, to reduce the processing load) for the second playback. In another example, an action may be determined to skip decoding of at least one frame of the multimedia content based on the information in the access performance metadata. Another additional example of action includes skipping rendering of some frames of the multimedia content to reduce the processing load on the apparatus 200. Another additional example of the action includes skipping one or more post processing of at least one frame of the multimedia content.
Another additional example of the action includes facilitating at least a threshold percentage of resources for the playback of the multimedia content, based on the information present in the playback performance metadata. Without loss of generality, examples of the resources many include the processor 202, physical memory such as the RAM, number of applications active at a time, graphic processor, etc. Various examples of the one or more actions that may be performed for the second playback are further described in reference to FIGURE 4.
100471 In an example embodiment, the processor 202 is configured to, with the content of the memory 204, and optionally with other components described herein, to cause the apparatus 200 to perform the second access of the multimedia content at the apparatus 200 by performing the one of more actions. Herein, the second access may refer to any current access at which the playback performance metadata and one or more actions that are to be performed (during the current access), are already determined during a preceding access of the current access. In the embodiments where the first access and the second access is first streaming and second streaming, respectively, the one or more actions (determined at the apparatus 200) may be performed such that the performance of the second streaming is enhanced. In the embodiments where the first access and the second access are first playback and second playback, respectively, the one or more actions (determined at the apparatus 200) may be performed such that the performance of the second playback is enhanced. For example, if an action is determined based on the playback performance metadata to reduce a processing load of the apparatus 200, the apparatus 200 is caused to reduce the processing load of the apparatus 200 for a smooth second playback. For instance, one or more of the applications (other than the playback of the multimedia) that are being executed in the apparatus 200 may be disabled. Examples of the one or more applications may be background applications running on the apparatus 200 or even foreground applications being executed on the apparatus 200. For instance, background applications such as email synchronization, other memory harvesting applications, and/or Bluetooth transfer applications may be disabled to free up the resources (and for reducing the processing load) for the second playback. In another example, a determined action, for example, decoding of at least one frame of the multimedia content may be skipped during the second playback. In another example, at least one frame of the multimedia content may not be rendered to reduce the processing load on the apparatus 200 during the second playback. In another example, one or more post processing steps of at least one frame of the multimedia content may be skipped during the second playback. In an example, if an actions is determined that at least a threshold percentage of resources (for example, 50 percent) should be facilitated for the playback of the multimedia content, the apparatus is caused to facilitate the threshold percentage of resources available for the playback of the multimedia content at the second playback. Without loss of generality, examples of the resources many include the processor 202, physical memory such as the RAM, number of applications active at a time, graphic processor, etc. Some other examples of the actions performed for the second playback are further described in reference to FIGURE 4.
100481 Some example embodiments of performing accesses of multimedia content are further described with reference to FIGURES 3 to 6, and these FIGURES 3 to 6 represent one or more example embodiments only, and should not be considered limiting to the scope of the various example embodiments.
100491 FIGURE 3 illustrates an example representation (see, 300) of determining access performance metadata for a multimedia content, in accordance with an example embodiment. Herein, the access performance metadata is determined at a first access of the multimedia content at the apparatus 200. In this example embodiment, the first access refers to the first playback of the multimedia content where the multimedia content is available at the apparatus 200, and for the purposes of description of this embodiment, the access performance metadata is also interchangeably referred to as a playback performance metadata'. In this example representation, an apparatus such as the apparatus 200 may perform a playback of a multimedia content (for example, a digital file representing a movie) comprising a video content 302 and an audio content 304. In an example embodiment, during the first playback of the multimedia content, the multimedia content (the video content 302 and the audio content 304) may be accessed by a multimedia playback processor 306. An example of the multimedia playback processor 306 is the processor 202, or the multimedia playback processor 306 may be embodied in the processor 202. In another example embodiment, the multimedia playback processor 306 may be a separate processor that is communicably coupled to, or otherwise accessible to the processor 202. The multimedia playback processor 306 is operable to determine a playback performance metadata 308 at the first playback of the multimedia content. Herein, the term first playback may refer to a first instance when the multimedia content is accessed by the apparatus 200 for performing a playback. However, the term first playback' may also refer to a playback (for example, nth playback) during which the playback performance metadata 308 is determined, and it should be noted that the playback performance metadata (determined at the n°' playback) is utilized for performing a subsequent playback such as (n+1f playback of the multimedia content. In an example embodiment, the playback performance metadata 308 may only be determined during the first playback of the multimedia content and subsequent playbacks of the multimedia content may be performed based on the playback performance metadata 308 determined at the first playback. In another example embodiment, the multimedia playback processor 306 may be operable to determine the playback performance metadata 308 during each playback of the multimedia content. For instance, at a current playback, the multimedia playback processor 306 is operable to update the playback performance metadata 308 determined at a preceding playback (of the current playback). For example, the playback performance metadata 308 may be determined at a fourth playback by updating the playback performance metadata 308 determined at the third playback.
100501 In an example embodiment, the playback performance metadata 308 may include one or more group metadata, and may optionally include a frame specific metadata corresponding to each frame. In an example embodiment, a group metadata of the playback performance metadata 308 may be associated with a certain number of frames of the multimedia content in a sequence (for example associated with a certain playback duration of the multimedia content). For example, one group metadata of the playback performance metadata 308 may be associated with certain duration of frames (for example, frames occurring in one minute of playback duration) of the multimedia content. In this implementation, the group metadata of the playback performance metadata 308 may be stored with a start frame number of the multimedia content (where the sequence of frames starts) and an end frame number (where the sequence ends). In an example, the group metadata of the playback performance metadata 308 may include information of the processing load (for example, central processing unit (CPU) load) experienced while performing playback of frames (lying between the start and end frame numbers associated with the group metadata). In an example embodiment, the CPU load may be an average load experienced by the processor 202 (or the multimedia playback processor 306) while performing playback of the frames. The playback performance metadata 308 may also include information of status of the one or more applications running on the apparatus 200, where the information of status suggests whether these applications should be disabled (or not) so that a subsequent playback of the multimedia content may be performed in the effective manner. The information of the status may also include a number of background applications and/or foreground applications that may be active while playback of the frames without affecting the playback performance.
100511 In another example, the playback performance metadata 308 may also include information of level of audio processing that can be performed for the effective playback of the multimedia content in subsequent playbacks. Without loss of generality, the level of the audio processing may a full level audio, a light level audio, or a disabled audio. For instance, in full level, all audio frames may be decoded in the subsequent playback; in light level, decoding of some audio frames may be skipped, for example, alternate audio frames may be skipped from the decoding; and in disabled audio level, all audio frames may be skipped from decoding and the audio content 304 may not be played in the subsequent playback.
100521 In another example, the playback performance metadata 308 also includes information of a slideshow mode for the video content 302 of the multimedia content. In an example, the slideshow mode may provide information on how many frames of the multimedia content should be processed for display in the subsequent playback. For example, based on the slideshow mode, certain frames such as alternate frames of the multimedia content may not be rendered on the display so as to effectively perform the subsequent playbacks of the multimedia content. In another example, the playback performance metadata 308 may include a video post processing mode. The video post processing mode may be frame specific information or may be a part of the one or more group metadata. In an example embodiment, post processing modes may suggest whether a particular post processing step should be performed on the multimedia content on not in the subsequent playbacks. Examples of the post processing actions may include, but are not limited to, image scaling, multivariate interpolation, statistical post processing, blurring, denoising, requantization, deblocking, luminance alterations, deinterlacing, softening, deringing and deflicking techniques, that may be used to post process the video content 302, and post processing techniques such as equalization, audio level compression, limiting, stereo enhancement, blind bandwidth extension and noise removal techniques that may be used to post process the audio content 304. It should be noted that based on the post processing mode included in the playback performance metadata 308, one or more post processing steps may be performed or skipped in the subsequent playbacks.
100531 In some example embodiments, the playback performance metadata 308 may also include frame specific metadata apart from the frames group metadata. For instance, for each frame, an information whether to skip or process the frame, may be included in the playback performance metadata 308, and this information is used in the subsequent playbacks (to make a decision on the frame basis of the multimedia content) for effective/smooth playbacks of the multimedia content. In an example embodiment, the playback performance metadata 308 is stored (shown by 314) in the apparatus 200. For example, the playback performance metadata 308 may be stored in a memory, for example, the memory 204 alongwith the multimedia content. The playback performance metadata 308 is utilized for the subsequent playbacks and some examples of the subsequent playbacks using the playback performance metadata 308 are described with reference to FIGURE 4. It should be noted that the processor 202 determines the playback performance metadata during or after performing playback of the multimedia content 308, for example, providing the video content 302 to the display 116 (shown by 310), and providing the audio content 304 to the speaker 112 (shown by 312).
100541 FIGURE 4 illustrates an example representation (see, 400) of access (for example, playback) of the multimedia content based on the access performance metadata (for example, the playback performance metadata 308), in accordance with an example embodiment. In this example embodiment, particularly, the second playback of the multimedia content based on the playback performance metadata 308 (determined at the first playback as described with reference to FIGURE 3) is described. In an example embodiment, a user may request playback of the multimedia content through the user interface 206 of the apparatus 200. In an example, the multimedia content (the video content 302 and the audio content 304) and the playback performance metadata 308 obtained from a previous playback of the multimedia content are provided to the multimedia playback processor 306. In the example representation of FIGURE 4, the multimedia playback processor 306 includes, among other things, components, for example, a video player 410, an audio player 420 and a load manager 430. It should be noted that the video player 410 and the audio player 420 are shown as separate entities for the representation purposes only, and these two components may be embodied as a single component. In an example embodiment, the video content 302 is provided to the video player 410 and the audio content 304 is provided to the audio player 420, for their respective processing. For instance, the video player 410 and the audio player 420 may be capable of processing the video content 302 and the audio content 304, respectively and provide rendering of the multimedia content on the user interface 206 (for example, the display 116 and the speaker 112).
100551 In an example embodiment, the video player 410 comprises a video decoder 412, a video post processor 414 and a video renderer 416. In an example, the video decoder 412 receives the video content 302 and decodes frames of the video content 302. For instance, the video content 302 may be in compressed form and the compressed video content 302 is decoded using suitable techniques, such as, for example, using hardware and!or software decoding to decode the video content 302.
Further, the video post processor 414 performs a post processing of the decoded video content 302, for example including, but not limited to, sharpening, smoothing and denoising to improve the video quality provided to the display 116. Furthermore, the video renderer 416 is coupled to the video post processor 414 to receive the post processed video content, and is configured to provide frames associated with the post processed video content 302 to the display 116.
100561 In an example embodiment, the audio player 420 comprises an audio decoder 422, an audio post processor 424 and an audio renderer 426. The audio decoder 422 receives the audio content 304 from a memory, for example the memory 204 and decodes the audio content 304 to perform playback of the multimedia content on the apparatus 200. As shown in FIGURE 4, the audio post processor 424 is coupled to the audio decoder 422 to receive the decoded audio content 304. The audio post processor 424 embodying software and/or hardware is operable to perform steps including, but not limited to, noise removal, limiting, equalizing on the decoded audio content. Further, the audio renderer 426 manages speed of playback of the audio content 304 corresponding to the playback of the video content 302 and provides inputs to a speaker such as the speaker 112 for the audio playback.
10057] In an example embodiment, the load manager 430 is configured to access the playback performance metadata 308 (determined in a previous playback). The load manager 430 is configured to control the operation of the video player 410 and the audio player 420, so as to effectively perform playback of the multimedia content. For instance, the load manager 430 receives the playback performance metadata 308 associated with playback performance of the apparatus 200, for example, parameters such as CPU load, decoding rate, memory consumption, etc., while performing the first playback (or preceding playback) of the multimedia content.
100581 In an example embodiment, during nih playback, the load manager 430 is configured to utilize the playback performance metadata 308 (determined at n-lw playback) to effectively perform playback of the multimedia content or improving the quality of playback of the multimedia content. In various example embodiments, the apparatus 200 may be caused to perform the n11' playback based on the playback performance metadata 308, by performing various actions as discussed in the following description such that the apparatus 200 is precluded from becoming unresponsive (for example, jammed or hanged or becomes slow) due to high processing load.
10059] Some non-exhaustive examples of various actions (on the video content 302 of the multimedia content) that may be performed for the subsequent playback of the multimedia content based on the playback performance metadata 308 are as follows: 1. The apparatus 200 is caused to skip decoding of the video frames of the video content 302 based on the information in the playback performance metadata 308. For example, if the information in the playback performance metadata 308 is such that M number of video frames should be decoded per second for a smooth playback of the multimedia content, the apparatus 200 is caused to decode only M number of video frames per second. In an example, the multimedia content may be originally encoded with l2Ofps, however, based on the information in the playback performance metadata 308, the multimedia content may be played back at 60 fps for a smooth playback.
2. The apparatus 200 is caused to skip decoding of some P-frames (predicted picture) of the video content 302 and directly decoding the next I-frame (intra-coded picture) depending on a video track characteristic, for example, ratio of the I and P frames.
3. The apparatus 200 is caused to skip decoding of some P-frames for some duration and show only I-frame depending on a video track characteristic, for example, ratio of the I and F frames.
4. The apparatus 200 is caused to decode the frames of the video content 302, but to skip the rendering (for example, showing onto the display 116) altogether.
5.The apparatus 200 is caused to decode and show frames on the display 116, but skip some post-processing of video frames. For example, one or more of the video filters (de-blocking filter, color balancing filter, contrast enhancement filter, frame interpolation, pixel interpolation) that are typically applied on the video frames may be skipped.
6. In scenarios where overlay (for example, control buttons on top of video display window) is active, the apparatus 200 is caused to disable skipping more frames or pause the playback until overlay is disabled.
100601 Some non-exhaustive examples of various actions (on the audio content 304 of the multimedia content) that may be performed for the subsequent playback of the multimedia content based on the playback performance metadata 308 are as follows: 1. The apparatus 200 may be caused to skip post processing of the audio content 304. Some non-exhaustive examples of the post processing may include equalization, audio level compression including multiband dynamic range compression (DRC), audio limiting, stereo enhancement, blind bandwidth extension and noise removal techniques.
2. The apparatus 200 may be caused to skip decoding of entire or some of the audio frames of the audio content 304.
3. The apparatus 200 may be caused to drop one of the channels in processing and decoding with stereo audio content of the audio content 304 to reduce the processing load of the apparatus 200.
100611 Some non-exhaustive examples of various actions (associated with system control on the apparatus 200) that may be performed to reduce the load on the apparatus 200 during the subsequent playback of the multimedia content based on the playback performance metadata 308 are as follows: 1. The apparatus 200 may be caused to stop one or more of the applications such as background applications to free up the resources for the smooth playback of the multimedia content.
2. The apparatus 200 may be caused to prevent any notification such as pop-up windows and audio notifications during playback of the multimedia content.
3. The apparatus 200 may be caused to prevent/pause any Bluetooth data transfer, other memory harvesting applications and/or HTTP downloads ongoing at the based on the information in the playback performance metadata 308.
4. The apparatus 200 may be caused to prevent accessory connection/initialization handling during the playback of the multimedia content based on the information in the playback performance metadata 308.
5. The apparatus 200 may be caused to not allow stereo advanced audio distribution profile (A2DP) Bluetooth headset based on the information in the playback performance metadata 308. For instance, if the playback performance metadata 308 provides information that the multimedia content is too heavy for a playback, the apparatus 200 may not allow activating any A2DP Bluetooth headset. In some cases, wired headset may be activated (for example, audio routed to headset).
6. The apparatus 200 may be caused to free up resources in order to match the requirement of resources based on the information in the playback performance metadata 308 for an effective playback of the multimedia content. For example, if a particular amount of memory, for example, RAM, is required for the playback for the particular multimedia content and the playback performance metadata 308 includes an information associated with the require memory for a smooth playback of the multimedia content, the apparatus 200 may be caused to reserve/allocate the requisite memory for the playback of the multimedia content based on the information in the playback performance metadata 308.
100621 As shown in the FIGURE 4, the load manager 430 provides appropriate signals to the video player 410 and the audio player 420 for the smooth playback of the video content 302 and the audio content 304, based on the playback performance metadata 308 (determined at a previous playback). The video player 410 and the audio player 420 are operable to perform actions including, but not limited to, as described above for the playback of the multimedia content (the video content 302 and the audio content 304). In an example representation shown in FIGURE 4, the load manager 430 communicates to an application framework 432 that supports applications such as 434, 436 and 438 on the apparatus 200. Examples of applications 434, 436 and 438 may include any background or foreground applications running on the apparatus 200, for example, email synchronization application, social networking application, weather forecasting application, time managing application, news update application, sports update application, games application and the like. In an example embodiment, the load manager 430 is operable to stop processing one or more of the applications 434, 436 and 438 based on the information provided in the playback performance metadata 308.
Accordingly, the load manager 430 causes the video player 410 and the audio player 420 to perform the smooth playback of the multimedia content utilizing the one or actions determined based on the playback performance metadata 308.
100631 FIGURE 5 illustrates an example representation (see, 500) of determining access performance metadata for a multimedia content, in accordance with an example embodiment. Herein, the access performance metadata is determined at a first access of the multimedia content. In this example embodiment, the first access refers to the first streaming of the multimedia content when the multimedia content is streamed from the external source at the apparatus 200, and hence in this example embodiment, the access performance metadata is also interchangeably referred to as a streaming performance metadata'. Additionally, the first access also refers to the first playback of the streamed multimedia content at the apparatus 200, and hence the access performance metadata is also referred to as a playback performance metadata. Various example embodiments of the determining the playback performance metadata (for example, the playback performance metadata 308) is already explained with reference to FIGURE 3, and hence the same is not described again for the sake of brevity.
100641 In this example representation, an apparatus such as the apparatus 200 may comprise a multimedia streaming processor 502 for streaming multimedia content from a server 504. In this example representation, the multimedia content is shown as a multimedia content 506 comprising a video content (for example, the video content 302) and an audio content (for example, the audio content 304). In an example embodiment, the multimedia streaming processor 502 is an example of the processor 202, and may be embodied in the processor 202. The multimedia streaming processor 502 is operable to determine an access performance metadata at the first access of the multimedia content 506 from the server 504. As Herein, the first access refers to the first streaming of the multimedia content 506, and the access performance metadata is also interchangeably referred to the streaming performance metadata'. As shown in FIGURE 5, the streaming performance metadata 508 is determined by the multimedia streaming processor 502 at the first access (streaming) of the multimedia content 506. Herein, the term first streaming may refer to a first instance when the multimedia content 506 is streamed at the apparatus 200 for storing or a playback of the multimedia content 506. However, the term first streaming may also refer to a streaming (for example, nih streaming) during which the streaming performance metadata 508 is determined, and it should be noted that the streaming performance metadata (determined at the n streaming) is utilized for performing a subsequent streaming such as (n+lf streaming of the multimedia content 506. In an example embodiment, the streaming performance metadata 508 may only be determined during the first streaming of the multimedia content and subsequent streaming of the multimedia content 506 may be performed based on the streaming performance metadata 508 determined at the first streaming. In another example embodiment, the multimedia streaming processor 502 (example of the processor 202) may be operable to determine the streaming performance metadata 508 during each streaming of the multimedia content 506. For instance, at a current streaming, the multimedia streaming processor 502 is operable to update the streaming performance metadata 508 determined at a preceding streaming (of the current streaming). For example, the streaming performance metadata 508 may be determined at a fourth streaming by updating the streaming performance metadata 508 determined at the third streaming.
100651 In an example embodiment, the streaming performance metadata 508 may be same for the entire multimedia content 506. In another example embodiment, the streaming performance metadata 508 may include metadata associated with different parts of the multimedia content 506. For example, the streaming performance metadata 508 may include multiple parts of metadata, where each part of the metadata is associated with certain duration of the multimedia content 506 (for example, frames occurring in one minute of duration of the multimedia content 506) of the multimedia content 506. Additionally, in an example embodiment, the streaming performance metadata 508 may also be determined specific to name, type and location of the servei 504 from where the multimedia content 506 is streamed.
10066] In an example, the stieaming performance metadata 508 includes information of a data bandwidth iequirement at the apparatus 200 foi streaming the multimedia content from an external source. For instance, while performing the first streaming of the multimedia content 506, the apparatus 200 may be caused to determine the bandwidth requiiement for a streaming of the multimedia content 506 without any lag in a predetermine duration. In another additional example! the streaming performance metadata 508 includes an information of at least one data connection parameter. For instance, information of the connection parameters for streaming the multimedia content 506, foi example, a type of connection (Wi-Fi 01 cellulai, etc.), strength of the connection, etc., may be a pad of the streaming performance metadata 508. In another additional example, the streaming performance metadata 508 includes information of a buffer size foi streaming the multimedia content from the server 504. In another additional example, the stieaming performance metadata 508 includes information of a processing load on the apparatus 200 for streaming the multimedia content 506. In various example embodiments, the streaming performance metadata 508 is utilized for the subsequent streaming and some examples of the subsequent streaming using the streaming perfoimance metadata 508 aie fuithei desciibed in ieference to FIGURE 6.
100671 FIGURE 6 illustrates an example representation (see, 600) of access of the multimedia content based on the access perfoimance metadata (for example, the playback performance metadata 308 and/or the streaming performance metadata 508), in accordance with an example embodiment. The playback of the multimedia content based on the playback perfoimance metadata 308 is already described with iefeience to FIGURE 4, hence it is not described again for the sake of brevity.
100681 As shown in FIGURE 6, the load manager 430 accesses the playback perfoimance metadata 308 and/or the streaming performance metadata 508, and uses these metadata for the subsequent accesses (streaming and playback, respectively) of the multimedia content so that the access performance can be improved. In an example embodiment, the load manager 430 is configured to access the streaming perfoimance metadata 508 (determined in a previous stieaming) and is configured to control the operation of the multimedia streaming processor 502 so as to effectively perform streaming of the multimedia content 506 or any other multimedia content from the server 504. For instance, the load manager 430 receives the streaming performance metadata 508 associated with parameters that affect the streaming performance of the apparatus 200, for example, connection type, buffer size required for streaming, data bandwidth requirements etc., while performing the first streaming of the multimedia content 506.
10069] In an example embodiment, during nth streaming, the load manager 430 is configured to utilize the streaming performance metadata 508 (determined at nlth playback) to effectively perform streaming of the multimedia content or improving the quality of streaming of the multimedia content. In various example embodiments, the apparatus 200 may be caused to perform the n11' streaming based on the streaming performance metadata 508, by performing various actions as discussed in the following description such that the apparatus 200 is precluded from becoming unresponsive (for example, jammed or hanged or becomes slow) due to high processing load.
100701 Some non-exhaustive examples of various actions that may be determined (to be performed for the subsequent streaming of the multimedia content) based on the streaming performance metadata 508 are as follows: 1. The apparatus 200 is caused to facilitate at least a threshold data bandwidth for streaming the multimedia content 506 based on the information of the data bandwidth requirement present in the streaming performance metadata 508. For example, if the information in the streaming performance metadata 508 is such that a minimum of X megabits per second (mbps) is required for streaming the multimedia content 506 so that the multimedia content 506 may be played back without any delay, the apparatus 200 is caused to allocate a data bandwidth at least equal to X mbps.
2. The apparatus 200 is caused to facilitate a default network from one or more networks for the streaming the multimedia content from an external source such as the server 504. For example, the apparatus 200 is caused to select Wi-Fi network in place of cellular network.
3. The apparatus 200 is caused to facilitate at least a threshold buffer size for the streaming the multimedia content based on the information of the buffer size. For example, the apparatus 200 is caused to allocate a required amount of memory, for example, the RAM in the apparatus 200 for streaming the multimedia content 506.
4. The apparatus 200 is caused to skip streaming of one or more frames of the multimedia content 506.
5. The apparatus 200 is caused to stop one or more active applications at the apparatus 200, for example, background activities to free up the resources (for example, to provide more CPU time and share to the streaming application) for the smooth streaming of the multimedia content 506.
100711 FIGURE? is a flowchart depicting example method 700 for performing an access of multimedia content, in accordance with an example embodiment. In an example embodiment, the method 700 includes performing an access of the multimedia content at an apparatus and determining access performance metadata for improving performance of subsequent access of the multimedia content at the apparatus. The method 700 depicted in the flow chart may be executed by, for example, the apparatus 200 of FIGURE 2.
10072] At block 705, the method 700 includes performing a first access of a multimedia content at the apparatus 200. Examples of the multimedia content may comprise, but are not limited to, audio, video, animation, text, images and other digital media and combination thereof. As explained with reference to FIGURE 2, the first access refers to a first streaming of the multimedia content and/or a first playback of the multimedia content. In an example embodiment, the multimedia content may be streamed from external sources such as a web server, and the first playback of the multimedia content may be performed where the multimedia content may be streamed from the external source or may already be stored on the apparatus 200. In an example embodiment, the apparatus 200 is operable to perform streaming and/or playback of the multimedia content based on receiving a streaming instruction and a playback instruction, respectively.
10073] At block 710, the method 700 includes determining an access performance metadata for the multimedia content based on the first access of the multimedia content at the apparatus 200. In an example embodiment, while performing the first access (for example, the first streaming or the first playback), various parameters that affect the access performance (for example, the streaming performance) of the multimedia content are determined and stored as the access performance metadata. In an example embodiment, the access performance metadata may be the streaming performance metadata. In another example embodiment, the access performance metadata may be the playback performance metadata. In another example embodiment, the access performance metadata may be both the streaming performance metadata and the playback performance metadata, where the multimedia content is streamed and played back at the apparatus 200. Various examples of determination of the streaming performance metadata and the playback performance metadata are already explained with reference to FIGURES 2-6.
10074] At block 715, the method 700 includes determining one or more actions based on the access performance metadata for performing a second access of the multimedia content at the apparatus, where the second access is an access that is subsequent to the first access. In an example embodiment, the one or more actions are determined based on the access performance metadata. Various examples of the one of more actions are provided with reference with FIGURES 2-6.
10075] At block 720, the method 700 includes performing the second access of the multimedia content by performing the one or more actions at the apparatus 200. For instance, for performing the second access (for example, second playback) in a smooth manner, an action may be determined to skip decoding of at least one frame of the multimedia content based on the information in the playback performance metadata.
Further, an action may be determined to not render some frames of the multimedia content to reduce the processing load on the apparatus 200. In another example, an action may be determined to skip one or more post processing steps of at least one frame of the multimedia content for the second playback. In another example, the one or more applications (other than the playback of the multimedia) that are being performed in the apparatus 200 may be disabled while performing the second playback. Examples of the one or more applications may be background applications running on the apparatus 200 or even foreground applications running on the apparatus 200. For instance, background applications such as email-synchronization and other memory harvesting applications, Bluetooth transfer applications may be disabled.
10076] Herein, in an example embodiment, the first access (for example, the first streaming and/or the first playback) and the second access (for example, the second streaming and/or the second playback) represent any two accesses where the second access occurs subsequent to the first access, and such that the access performance metadata determined at the first access provide input for performing the second access.
In such example embodiments, the determination of the access performance metadata may be iterative! for example, the access performance metadata is determined for every access of the multimedia content. In an example, for every current access, an access performance metadata determined in a preceding access (of the current access) may be updated to determine the access performance metadata at the current access.
Accordingly, the access performance metadata is updated multiple times based on processing conditions at a current access, and precludes any inaccurate/false determination of the access performance metadata that may otherwise occur due to some system activity (such as email synchronization) or changes in the processing conditions or resources in the apparatus 200; and the inaccurate determination of the access performance metadata is corrected in the next access.
100771 FIGURE 8 is a flowchart depicting an example method 800, in accordance with another example embodiment. The method 800 depicted in the flow chart may be executed by, for example, the apparatus 200 of FIGURE 2.
100781 At block 805, the method 800 includes receiving an access instruction for accessing a multimedia content at the apparatus 200. For example, a user may request streaming of the multimedia content and/or playback of the multimedia content via a user input interface, for example, the keypad 118, a touch display, the microphone 114 or other input device.
100791 At block 810, it is checked if there is an access performance metadata associated with the multimedia content present at the apparatus 200. In a scenario, if the access instruction is a first access instruction (for example, if the multimedia content has been requested for a first playback on the apparatus 200), the access performance metadata associated with the multimedia content may not be present at the apparatus 200. In some other scenarios, for example, if the memory storing the access performance metadata in the apparatus 200 is formatted or a reset action is performed on the memory or the access performance metadata file is corrupt or inaccessible, the access performance metadata may not be available.
100801 If it is determined that the access performance metadata is not available at the apparatus 200, at block 815, the method 800 includes determining the access performance metadata while performing the access of the multimedia content. Examples of the access performance metadata are described in reference with FIGURES 2 to 6. For instance, some examples include an information of a processing load experienced by the processor 202 associated with the playback of the multimedia content, a decoding rate of one or more frames of the multimedia content, an information of memory consumption associated with the playback of the multimedia content, an information of post processing status of the multimedia content associated with the first playback, a playback capability of the apparatus 200, available resources in the apparatus 200, screen update rate associated with the multimedia content, size and playback length of the multimedia content. In an example embodiment, the access performance metadata may be generated during or after the access of the multimedia content. In an example embodiment, the access performance metadata, for example, the playback performance metadata may be determined after a playback of each sequence of frames (where each sequence comprises multiple frames) of the multimedia content, and the playback performance metadata may comprise multiple group metadata of the sequences of frames of the multimedia content. In an example embodiment, the playback performance metadata may include metadata individually for the video content and the audio content of the multimedia content.
100811 If it is determined that the access performance metadata is available for the multimedia content at the apparatus 200, at block 820, the method 800 includes performing the access based on the access performance metadata. In an example embodiment, for performing the access of the multimedia content, the method 800 may include performing one or more actions based on the access performance metadata. In the example embodiments where the access is the streaming of the multimedia content from the external source, the one or more actions are performed such that the performance of the resources used for streaming the multimedia content (for example, the communication interface such as the modem and the buffer memory) is enhanced and/or the processing load of the apparatus 200 is reduced. In the example embodiments where the access is the playback of the multimedia content stored on the apparatus 200 or streamed at the apparatus 200. the one or more actions are performed such that the performance of the resources used for the playback of the multimedia content (for example, the CPU share, memory and other resources required in the decoding and post-processing the multimedia content) is enhanced and/or the processing load of the apparatus 200 is reduced. Some more examples of the one or more actions determined for reducing the processing load/smooth playback of the multimedia content are described in reference to FIGURE 4.
100821 At block 825, the method 800 includes updating the access performance metadata based on current access of the metadata. As such, there may be changes in the accessing parameters associated with the multimedia content in the current access (as compared to a preceding access of the multimedia content at the apparatus 200), or there may be changes in the processing capabilities and resources (for example, the modem, the CPU, memory, and the like) in the apparatus 200, and accordingly, the access performance metadata may be updated at every access.
100831 FIGURE 9 is a flowchart depicting an example method 900, in accordance with another example embodiment. The method 900 depicted in the flow chart may be executed by, for example, the apparatus 200 of FIGURE 2. In this example embodiment, the streaming example of accessing the multimedia content is explained, and it should not be considered limiting to scope of various example embodiments. It should be noted that the operations explained in the method 900 may be performed alongwith other operations explained in the present description (for example, operations performed for the playback of the multimedia content).
100841 At block 905, the method 900 includes receiving a streaming instruction for downloading/buffering/streaming the multimedia content at the apparatus 200. At block 910, the method 900 includes determining if the current streaming is a first streaming (a first instance of streaming) of the multimedia content on the apparatus 200. It should be noted that as the multimedia content is streamed at the apparatus 200 for the first time, there would not be any streaming performance metadata associated with the multimedia content present at the apparatus 200.
100851 If it is determined that the current streaming is the first streaming, at block 915, the method 900 includes generating a streaming performance metadata based on the current streaming of the multimedia content. For instance, the streaming performance metadata is generated based on the performance of the current streaming event of the multimedia content. Some non-exhaustive example steps of determining the streaming performance metadata are shown in FIGURE 9. For instance, the method 900 includes determining an information ot a processing load experienced by the processor 202 associated with the first streaming of the multimedia content (see, block 920), determining an information of buffer size requirement for the streaming of the multimedia content (see, block 925) and determining information of a data bandwidth requirement for streaming of the multimedia content (see, block 930).
100861 In an example embodiment if the current streaming is not the first streaming (determined at block 910), there would be a streaming performance metadata available at the apparatus 200. At block 935, the method 900 includes performing the streaming based on the streaming performance metadata. In an example embodiment, at block 935, the method 900 includes performing one of more actions for performing the streaming of the multimedia content based on the information of the streaming performance metadata. Some non-exhaustive examples of the one or more actions that are determined based on the streaming performance metadata are shown in blocks 940- 955. For instance, the method 900 includes disabling one or more applications (other than the streaming of the multimedia content) that aie executed in the apparatus 200 (block 940), skipping streaming of at least one frame of the multimedia content based on the information in the streaming performance metadata (block 945), facilitating at least a threshold data bandwidth for streaming the multimedia content based on the information of the data bandwidth requirement (block 950), and facilitating at least a threshold buffer size for the streaming the multimedia content based on the information of the buffer size (block 955).
100871 At block 960, the method 900 includes updating the streaming perfoimance metadata based on streaming peifoimed at block 935 to genelate a new streaming performance metadata that is utilized for the subsequent streaming upon receiving subsequent streaming instruction at the block 905.
10088] FIGURE 10 is a flowchart depicting an example method 1000, in accordance with another example embodiment. The method 1000 depicted in the flow chart may be executed by, for example, the appalatus 200 of FIGURE 2. In this example embodiment, the playback example of accessing the multimedia content is explained, and it should not be considered limiting to scope of various example embodiments. It should be noted that the operations explained in the method 1000 may be performed alongwith other operations explained in the present description (for example, operations performed foi the streaming of the multimedia content).
100891 At block 1005, the method 1000 includes receiving a playback instruction for a playback of the multimedia content at the apparatus 200. In an example embodiment, the multimedia content may be received from a memory, for example, the memory 200 present in the apparatus 200, or may be streamed from the external server, foi example, the seiver 504. In an example embodiment, the playback instruction may also be received for the multimedia content that is streamed from the server 504 at the apparatus 200. At block 1010, the method 1000 includes determining if a current playback is a first playback (a first instance of playback) of the multimedia content at the appalatus 200. It should be noted that as the multimedia content is accessed by the apparatus 200 foi the first time, there will not be any playback performance metadata associated with the multimedia content available at the apparatus 200 10090] If it is determined that the cuirent playback is the first playback, at block 1015, the method 1000 includes generating a playback performance metadata based on the current playback of the multimedia content. For instance, the playback performance metadata is generated based on the performance of the current playback event of the multimedia content. Some non-exhaustive example steps of determining the playback performance metadata are shown in FIGURE 10. For instance, the method 1000 includes determining an information of a processing load experienced by the processor 202 associated with the first playback of the multimedia content (see, block 1020), determining information of a decoding rate of one or more frames of the multimedia content (see, block 1025), determining an information of post processing status of the multimedia content associated with the first playback (see, block 1030) and determining an information of memory consumption associated with the playback of the multimedia content (see, block 1035).
10091] In an example embodiment if the current playback is not the first playback (determined at block 1010), there would be playback performance metadata available at the apparatus 200. In an example embodiment, at block 1040, the method 1000 includes performing the playback based on the playback performance metadata. In an example embodiment, at block 1040, the method 1000 includes performing one of more actions for performing the playback of the multimedia content, where the one or more actions are determined based on the information of the playback performance metadata. Some non-exhaustive examples of the one or more actions that are determined based on the playback performance metadata are shown in blocks 1045-1060. For instance, the method 1000 includes disabling one or more applications (other than the playback of the multimedia) that are executed in the apparatus 200 (block 1045), skipping decoding of at least one frame of the multimedia content based on the information in the playback performance metadata (block 1050), skipping rendering of at least one frame of the multimedia content onto the display 116 based on the information in the playback performance metadata (block 1055), and skipping one or more post processing steps of at least one frame of the multimedia content (block 1060).
10092] At block 1065, the method 1000 includes updating the playback performance metadata based on playback performed at block 1040 to generate a new playback performance metadata that is utilized for the subsequent playback upon receiving subsequent playback instruction at the block 1005.
10093] It should be noted that to facilitate discussions of the flowcharts of FIGURES 7 to 10, certain operations are described herein as constituting distinct steps performed in a certain order. Such implementations are examples only and non-limiting in scope. Certain operation may be grouped together and performed in a single operation, and certain operations can be performed in an order that differs from the order employed in the examples set forth herein. Moreover, certain operations of the methods 700 to 1000 are performed in an automated fashion. These operations involve substantially no interaction with the user. Other operations of the methods 700 to 1000 may be performed by in a manual fashion or semi-automatic fashion. These operations involve interaction with the user via one or more user interface presentations.
10094] The methods depicted in these flow charts may be executed by, for example, the apparatus 200 of FIGURE 2. Operations of the flowchart, and combinations of operation in the flowcharts, may be implemented by various means, such as hardware, firmware, processor, circuitry and/or other device associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described in various embodiments may be embodied by computer program instructions. In an example embodiment, the computer program instructions, which embody the procedures, described in various embodiments may be stored by at least one memory device of an apparatus and executed by at least one processor in the apparatus.
Any such computer program instructions may be loaded onto a computer or other programmable apparatus (for example, hardware) to produce a machine, such that the resulting computer or other programmable apparatus embody means for implementing the operations specified in the flowchart. These computer program instructions may also be stored in a computer-readable storage memory (as opposed to a transmission medium such as a carrier wave or electromagnetic signal) that may direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture the execution of which implements the operations specified in the flowchart. The computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions, which execute on the computer or other programmable apparatus provide operations for implementing the operations in the flowchart. The operations of the methods are described with help of apparatus 200. However, the operations of the methods can be described and/or practiced by using any other apparatus.
10095] Without in any way limiting the scope, interpretation, or application of the claims appearing below, a technical effect of one or more of the example embodiments disclosed herein is to access the multimedia content at an apparatus, for example, the apparatus 200. Various embodiments provide methods for determining access performance metadata during an access of the multimedia content at the apparatus, where the access performance metadata is used to perform subsequent access of the multimedia content with better access performance. For example, access performance metadata (for example, a streaming performance metadata) may be used to adjust streaming adaptively to effectively stream the multimedia content at the apparatus. In another example, if a multimedia content is not playable at the apparatus at a playback, an access performance metadata (for example, a playback performance metadata) may be determined such that one or more actions may be taken to overcome performance problems (for example, to avoid jamming the apparatus totally, or making it totally unresponsive due to very high CPU load) in the subsequent playbacks of the multimedia content. Accordingly, various example embodiments provide increased tolerance for accessing the multimedia content at the apparatus. Moreover, the access performance metadata is apparatus specific, as the access performance metadata is determined for the specific apparatus (at which the multimedia content is accessed), so the multimedia content is determined for various apparatuses depending upon their respective processing capabilities. In various embodiments, the access performance metadata is updated iteratively on various accesses so any inaccurate/false determination of the access performance metadata (that may otherwise occur due to some system activity, for example, as email synchronization, memory harvesting, or changes in the processing conditions or resources in the apparatus) are avoided.
10096] Various embodiments described above may be implemented in software, hardware, application logic or a combination of software, hardware and application logic.
The software, application logic and/or hardware may reside on at least one memory, at least one processor, an apparatus or. a computer program product. In an example embodiment, the application logic, software or an instruction set is maintained on any one of various conventional computer-readable media. In the context of this document, a "computer-readable medium" may be any media or means that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer, with one example of an apparatus described and depicted in FIGURES 1 and/or 2. A computer-readable medium may comprise a computer-readable storage medium that may be any media or means that can contain or store the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer.
10097] If desired, the different functions discussed herein may be performed in a different order and/or concurrently with each other. Furthermore, if desired, one or more of the above-described functions may be optional or may be combined.
100981 Although various aspects of the embodiments are set out in the independent claims, other aspects comprise other combinations of features from the described embodiments and/or the dependent claims with the features of the independent claims, and not solely the combinations explicitly set out in the claims.
100991 It is also noted herein that while the above describes example embodiments of the invention, these descriptions should not be viewed in a limiting sense.
Rather, there are several variations and modifications which may be made without departing from the scope of the present disclosure as defined in the appended claims.

Claims (97)

  1. CLAIMSWe Claim: 1. A method comprising: performing a first access of a multimedia content at an apparatus; determining an access performance metadata for the multimedia content based on the first access of the multimedia content at the apparatus; determining one or more actions based on the access performance metadata for performing a second access of the multimedia content at the apparatus, the second access being subsequent to the first access; and performing the second access of the multimedia content by performing the one or more actions at the apparatus.
  2. 2. The method as claimed in claim 1, wherein the first access is at least one of a first streaming and a first playback of the multimedia content and the second access is at least one of a second streaming and a second playback of the multimedia content at the apparatus.
  3. 3. The method as claimed in claims 1 or 2, wherein the access performance metadata comprises an information of a data bandwidth requirement at the apparatus for streaming the multimedia content from an external source.
  4. 4. The method as claimed in claim 3, wherein the one or more actions comprise facilitating at least a threshold data bandwidth for streaming the multimedia content based on the information of the data bandwidth requirement.
  5. 5. The method as claimed in claims 1 or 2, wherein the access performance metadata comprises an information of at least one data connection parameter.
  6. 6. The method as claimed in claim 4, wherein the one or more actions comprise facilitating a default network selected from one or more networks for streaming the multimedia content from the external source.
  7. 7. The method as claimed in claims 1 or 2, wherein the access performance metadata comprises information of a buffer size requirement for streaming the multimedia content from an external source.
  8. 8. The method as claimed in claim 7, wherein the one or more actions comprise facilitating at least a threshold buffer size for streaming the multimedia content based on the information of the buffer size.
  9. 9. The method as claimed in any of the claims 1 to 8, wherein the one or more actions comprise skipping streaming of one or more frames of the multimedia content.
  10. 10. The method as claimed in claims 1 or 2, wherein the access performance metadata comprises one or more group metadata, each group metadata associated with a group of frames of the multimedia content.
  11. 11. The method as claimed in claims 1 or 2, wherein the access performance metadata include metadata associated with each frame of the multimedia content.
  12. 12. The method as claimed in any of the claims 10 or 11, wherein the access performance metadata comprises information of a processing load of the apparatus associated with the first playback of the multimedia content.
  13. 13. The method as claimed in any of the claims 10 or 11, wherein the access performance metadata comprises information of a decoding rate of one or more frames of the multimedia content at the first playback.
  14. 14. The method as claimed in claims 10 or 11, wherein the playback performance metadata comprises an information of memory consumption in the apparatus associated with the first playback.
  15. 15. The method as claimed in any of the claims 10 or 11, wherein the playback performance metadata includes an information of post processing status of one or more frames of the multimedia content associated with the first playback.
  16. 16. The method as claimed in any of the claims 12 to 15, wherein the one or more actions comprise disabling one or more applications being performed in the apparatus, the one or more applications being applications other than the second access of the multimedia content at the apparatus.
  17. 17. The method as claimed in claim 16, wherein the one or more applications are background applications performed in the apparatus.
  18. 18. The method as claimed in any of the claims 12 to 15, wherein the one or more actions comprise skipping decoding of at least one frame of the multimedia content.
  19. 19. The method as claimed in any of the claims 12 to 15, wherein the one or more actions comprise skipping rendering of at least one frame of the multimedia content.
  20. 20. The method as claimed in any of the claims 12 to 15, wherein the one or more actions comprise skipping one or more post processing steps associated with at least one frame of the multimedia content.
  21. 21. The method as claimed in any of the claims 12 to 15, determining the access performance metadata at the first access comprises updating an access performance metadata determined at a preceding access of the first access.
  22. 22. The method as claimed in claims 1 or 2, further comprising storing the access performance metadata at the apparatus.
  23. 23. The method as claimed in any of the claims ito 22, wherein the multimedia content is at least one of a video content and an audio content.
  24. 24. An apparatus comprising: at least one processor; and at least one memory comprising computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to at least perform: perform a first access of a multimedia content at the apparatus; determine an access performance metadata for the multimedia content based on the first access of the multimedia content at the apparatus; and determine one or more actions based on the access performance metadata for performing a second access of the multimedia content at the apparatus, the second access being subsequent to the first access; and perform the second access of the multimedia content by performing the one or more actions at the apparatus.
  25. 25. The apparatus as claimed in claim 24, wherein the first access is at least one of a first streaming and a first playback of the multimedia content and the second access is at least one of a second streaming and a second playback of the multimedia content at the apparatus.
  26. 26. The apparatus as claimed in claims 24 or 25, wherein the access performance metadata comprises an information of a data bandwidth requirement at the apparatus for streaming the multimedia content from an external source.
  27. 27. The apparatus as claimed in claim 26, wherein the one or more actions comprise facilitating at least a threshold data bandwidth for streaming the multimedia content based on the information of the data bandwidth requirement.
  28. 28. The apparatus as claimed in claims 24 or 25, wherein the access performance metadata comprises an information of at least one data connection parameter.
  29. 29. The apparatus as claimed in claim 27, wherein the one or more actions comprise facilitating a default network selected from one or more networks for streaming the multimedia content from the external source.
  30. 30. The apparatus as claimed in claims 24 or 25, wherein the access performance metadata comprises information of a buffer size requirement for streaming the multimedia content from an external source.
  31. 31. The apparatus as claimed in claim 30, wherein the one or more actions comprise facilitating at least a threshold buffer size for streaming the multimedia content based on the information of the buffer size.
  32. 32. The apparatus as claimed in any of the claims 24 to 31, wherein the one or more actions comprise skipping streaming of one or more frames of the multimedia content.
  33. 33. The apparatus as claimed in claims 24 or 25, wherein the access performance metadata comprises one or more group metadata, each group metadata associated with a group of frames of the multimedia content.
  34. 34. The apparatus as claimed in claims 24 or 25, wherein the access performance metadata include metadata associated with each frame of the multimedia content.
  35. 35. The apparatus as claimed in claims 33 or 34, wherein the access performance metadata comprises information of a processing load of the apparatus associated with the first playback of the multimedia content.
  36. 36. The apparatus as claimed in claims 33 or 34, wherein the access performance metadata comprises information of a decoding rate of one or more frames of the multimedia content at the first playback.
  37. 37. The apparatus as claimed in claims 33 or 34, wherein the playback performance metadata comprises an information of memory consumption in the apparatus associated with the first playback.
  38. 38. The apparatus as claimed in claims 33 or 34, wherein the playback performance metadata includes an information of post processing status of one or more frames of the multimedia content associated with the first playback.
  39. 39. The apparatus as claimed in any of the claims 35 to 38, wherein the one or more actions comprise disabling one or more applications being performed in the apparatus, the one or more applications being applications other than the second access of the multimedia content at the apparatus.
  40. 40. The apparatus as claimed in claim 39, wherein the one or more applications are background applications performed in the apparatus.
  41. 41. The apparatus as claimed in any of the claims 35 to 38, wherein the one or more actions comprise skipping decoding of at least one frame of the multimedia content.
  42. 42. The apparatus as claimed in any of the claims 35 to 38, wherein the one or more actions comprise skipping rendering of at least one frame of the multimedia content.
  43. 43. The apparatus as claimed in any of the claims 35 to 38, wherein the one or more actions comprise skipping one or more post processing steps associated with at least one frame of the multimedia content.
  44. 44. The apparatus as claimed in any of the claims 35 to 38, wherein for determining the access performance metadata at the first access comprises, the apparatus is further caused, at least in part to update an access performance metadata determined at a preceding access of the first access.
  45. 45. The apparatus as claimed in claims 24 or 25, wherein the apparatus is further caused, at least in part to store the access performance metadata at the apparatus.
  46. 46. The apparatus as claimed in any of the claims 24 to 45, wherein the multimedia content is at least one of a video content and an audio content.
  47. 47. The apparatus as claimed in claim 24, wherein the apparatus comprises an electronic device comprising: a user interface circuitry and user interface software configured to facilitate a user to control at least one function of the electronic device through use of a display and further configured to respond to user inputs; and a display circuitry configured to display at least a portion of a user interface of the electronic device, the display and display circuitry configured to facilitate the user to control at least one function of the electronic device.
  48. 48. The apparatus as claimed in claim 47, wherein the electronic device comprises a mobile phone.
  49. 49. A computer program product comprising at least one computer-readable storage medium, the computer-readable storage medium comprising a set of instructions, which, when executed by one or more processors, cause an apparatus to at least perform: perform a first access of a multimedia content at the apparatus; determine an access performance metadata for the multimedia content based on the first access of the multimedia content at the apparatus; and determine one or more actions based on the access performance metadata for performing a second access of the multimedia content at the apparatus, the second access being subsequent to the first access; and perform the second access of the multimedia content by performing the one or more actions at the apparatus.
  50. 50. The computer program product as claimed in claim 49, wherein the first access is at least one of a first streaming and a first playback of the multimedia content and the second access is at least one of a second streaming and a second playback of the multimedia content at the apparatus.
  51. 51. The computer program product as claimed in claims 49 or 50, wherein the access performance metadata comprises an information of a data bandwidth requirement at the apparatus for streaming the multimedia content from an external source.
  52. 52. The computer program product as claimed in claim 51, wherein the one or more actions comprise facilitating at least a threshold data bandwidth for streaming the multimedia content based on the information of the data bandwidth requirement.
  53. 53. The computer program product as claimed in claims 49 or 50, wherein the access performance metadata comprises an information of at least one data connection parameter.
  54. 54. The computer program product as claimed in claim 52, wherein the one or more actions comprise facilitating a default network selected from one or more networks for streaming the multimedia content from the external source.
  55. 55. The computer program product as claimed in claims 49 or 50, wherein the access performance metadata comprises information of a buffer size requirement for streaming the multimedia content from an external source.
  56. 56. The computer program product as claimed in claim 55, wherein the one or more actions comprise facilitating at least a threshold buffer size for streaming the multimedia content based on the information of the buffer size.
  57. 57. The computer program product as claimed in any of the claims 49 to 56, wherein the one or more actions comprise skipping streaming of one or more frames of the multimedia content.
  58. 58. The computer program product as claimed in claims 49 or 50, wherein the access performance metadata comprises one or more group metadata, each group metadata associated with a group of frames of the multimedia content.
  59. 59. The computer program product as claimed in claims 49 or 50, wherein the access performance metadata include metadata associated with each frame of the multimedia content.
  60. 60. The computer program product as claimed in claims 58 or 59, wherein the access performance metadata comprises information of a processing load of the apparatus associated with the first playback of the multimedia content.
  61. 61. The computer program product as claimed in any of the claims 58 or 59, wherein the access performance metadata comprises information of a decoding rate of one or more frames of the multimedia content at the first playback.
  62. 62. The computer program product as claimed in claims 58 or 59, wherein the playback performance metadata comprises an information of memory consumption in the apparatus associated with the first playback.
  63. 63. The computer program product as claimed in claims 58 or 59, wherein the playback performance metadata includes an information of post processing status of one or more frames of the multimedia content associated with the first playback.
  64. 64. The computer program product as claimed in any of the claims 60 to 63, wherein the one or more actions comprise disabling one or more applications being performed in the apparatus, the one or more applications being applications other than the second access of the multimedia content at the apparatus.
  65. 65. The computer program product as claimed in claim 64, wherein the one or more applications are background applications performed in the apparatus.
  66. 66. The computer program product as claimed in any of the claims 60 to 63, wherein the one or more actions comprise skipping decoding of at least one frame of the multimedia content.
  67. 67. The computer program product as claimed in any of the claims 60 to 63, wherein the one or more actions comprise skipping rendering of at least one frame of the multimedia content.
  68. 68. The computer program product as claimed in any of the claims 60 to 63, wherein the one or more actions comprise skipping one or more post processing steps associated with at least one frame of the multimedia content.
  69. 69. The computer program product as claimed in any of the claims 60 to 63, wherein for determining the access performance metadata at the first access comprises, the apparatus is further caused, at least in part to update an access performance metadata determined at a preceding access of the first access.
  70. 70. The computer program product as claimed in claims 49 or 50, wherein the apparatus is further caused, at least in part to store the access performance metadata at the apparatus.
  71. 71. The computer program product as claimed in any of the claims 49 to 70, wherein the multimedia content is at least one of a video content and an audio content.
  72. 72. An apparatus comprising: means for performing a first access of a multimedia content at the apparatus; means for determining an access performance metadata for the multimedia content based on the first access of the multimedia content at the apparatus; means for determining one or more actions based on the access performance metadata for performing a second access of the multimedia content at the apparatus, the second access being subsequent to the first access; and means for performing the second access of the multimedia content by performing the one or more actions at the apparatus.
  73. 73. The apparatus as claimed in claim 72, wherein the first access is at least one of a first streaming and a first playback of the multimedia content and the second access is at least one of a second streaming and a second playback of the multimedia content at the apparatus.
  74. 74. The apparatus as claimed in claims 72 or 73, wherein the access performance metadata comprises an information of a data bandwidth requirement at the apparatus for streaming the multimedia content from an external source.
  75. 75. The apparatus as claimed in claim 74, wherein the one or more actions comprise facilitating at least a threshold data bandwidth for streaming the multimedia content based on the information of the data bandwidth requirement.
  76. 76. The apparatus as claimed in claims 72 or 73, wherein the access performance metadata comprises an information of at least one data connection parameter.
  77. 77. The apparatus as claimed in claim 76, wherein the one or more actions comprise facilitating a default network selected from one or more networks for streaming the multimedia content from the external source.
  78. 78. The apparatus as claimed in claims 72 or 73, wherein the access performance metadata comprises information of a buffer size requirement for streaming the multimedia content from an external source.
  79. 79. The apparatus as claimed in claim 78, wherein the one or more actions comprise facilitating at least a threshold buffer size for streaming the multimedia content based on the information of the buffer size.
  80. 80. The apparatus as claimed in any of the claims 72 to 79, wherein the one or more actions comprise skipping streaming of one or more frames of the multimedia content.
  81. 81. The apparatus as claimed in claims 72 or 73, wherein the access performance metadata comprises one or more group metadata, each group metadata associated with a group of frames of the multimedia content.
  82. 82. The apparatus as claimed in claims 72 or 73, wherein the access performance metadata include metadata associated with each frame of the multimedia content.
  83. 83. The apparatus as claimed in claims 81 or 82, wherein the access performance metadata comprises information of a processing load of the apparatus associated with the first playback of the multimedia content.
  84. 84. The apparatus as claimed in claims 81 or 82, wherein the access performance metadata comprises information of a decoding rate of one or more frames of the multimedia content at the first playback.
  85. 85. The apparatus as claimed in claims 81 or 82, wherein the playback performance metadata comprises an information of memory consumption in the apparatus associated with the first playback.
  86. 86. The apparatus as claimed in claims 81 or 82, wherein the playback performance metadata includes an information of post processing status of one or more frames of the multimedia content associated with the first playback.
  87. 87. The apparatus as claimed in any of the claims 83 to 86, wherein the one or more actions comprise disabling one or more applications being performed in the apparatus, the one or more applications being applications other than the second access of the multimedia content at the apparatus.
  88. 88. The apparatus as claimed in claim 87, wherein the one or more applications are background applications performed in the apparatus.
  89. 89. The apparatus as claimed in any of the claims 83 to 86, wherein the one or more actions comprise skipping decoding of at least one frame of the multimedia content.
  90. 90. The apparatus as claimed in any of the claims 83 to 86, wherein the one or more actions comprise skipping rendering of at least one frame of the multimedia content.
  91. 91. The apparatus as claimed in any of the claims 83 to 86, wherein the one or more actions comprise skipping one or more post processing steps associated with at least one frame of the multimedia content.
  92. 92. The apparatus as claimed in any of the claims 83 to 86, wherein means for determining the access performance metadata at the first access comprises means for updating an access performance metadata determined at a preceding access of the first access.
  93. 93. The apparatus as claimed in claims 72 or 73, further comprising means for storing the access performance metadata at the apparatus.
  94. 94. The apparatus as claimed in any of the claims 72 to 93, wherein the multimedia content is at least one of a video content and an audio content.
  95. 95. A computer program comprising program instructions which when executed by an apparatus, cause the apparatus to: perform a first access of a multimedia content at the apparatus; determine an access performance metadata for the multimedia content based on the first access of the multimedia content at the apparatus; and determine one or more actions based on the access performance metadata for performing a second access of the multimedia content at the apparatus, the second access being subsequent to the first access; and perform the second access of the multimedia content by performing the one or more actions at the apparatus.
  96. 96. An apparatus substantially as hereinbefore described with reference to accompanying drawings.
  97. 97. A method substantially as hereinbefore described with reference to accompanying drawings.
GB1315555.1A 2013-09-02 2013-09-02 Method, apparatus and computer program product for accessing multimedia content Withdrawn GB2517771A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB1315555.1A GB2517771A (en) 2013-09-02 2013-09-02 Method, apparatus and computer program product for accessing multimedia content

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1315555.1A GB2517771A (en) 2013-09-02 2013-09-02 Method, apparatus and computer program product for accessing multimedia content

Publications (2)

Publication Number Publication Date
GB201315555D0 GB201315555D0 (en) 2013-10-16
GB2517771A true GB2517771A (en) 2015-03-04

Family

ID=49397135

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1315555.1A Withdrawn GB2517771A (en) 2013-09-02 2013-09-02 Method, apparatus and computer program product for accessing multimedia content

Country Status (1)

Country Link
GB (1) GB2517771A (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020007418A1 (en) * 2000-07-13 2002-01-17 Vendaria, Inc. Method and system for delivering and monitoring an on-demand playlist over a network
US20020097842A1 (en) * 2001-01-22 2002-07-25 David Guedalia Method and system for enhanced user experience of audio
US20040057420A1 (en) * 2002-09-23 2004-03-25 Nokia Corporation Bandwidth adaptation
US6848004B1 (en) * 1999-11-23 2005-01-25 International Business Machines Corporation System and method for adaptive delivery of rich media content to a user in a network based on real time bandwidth measurement & prediction according to available user bandwidth
GB2415335A (en) * 2004-06-15 2005-12-21 Toshiba Res Europ Ltd A proxy device for changing the data format and/or transmission parameters of communications between mobile end user terminals
US20090089445A1 (en) * 2007-09-28 2009-04-02 Deshpande Sachin G Client-Controlled Adaptive Streaming
CN101511010A (en) * 2009-03-27 2009-08-19 北京中星微电子有限公司 Method and device for sending medium stream
US20090216897A1 (en) * 2007-04-13 2009-08-27 Huawei Technologies Co., Ltd. Method and system for controlling streaming rates
GB2480424A (en) * 2010-04-10 2011-11-23 Rok Invest Group Ltd A system varies the bit rate of a media stream to a device in dependence upon the type of device and connection.
CN102307124A (en) * 2011-09-08 2012-01-04 深圳市融创天下科技股份有限公司 Streaming media adaptation performance assessment method, system thereof and mobile terminal thereof
WO2013071517A1 (en) * 2011-11-18 2013-05-23 华为技术有限公司 Media stream sending method and server
WO2013188150A1 (en) * 2012-06-11 2013-12-19 Qualcomm Incorporated Technique for adapting device tasks based on the available device resources

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6848004B1 (en) * 1999-11-23 2005-01-25 International Business Machines Corporation System and method for adaptive delivery of rich media content to a user in a network based on real time bandwidth measurement & prediction according to available user bandwidth
US20020007418A1 (en) * 2000-07-13 2002-01-17 Vendaria, Inc. Method and system for delivering and monitoring an on-demand playlist over a network
US20020097842A1 (en) * 2001-01-22 2002-07-25 David Guedalia Method and system for enhanced user experience of audio
US20040057420A1 (en) * 2002-09-23 2004-03-25 Nokia Corporation Bandwidth adaptation
GB2415335A (en) * 2004-06-15 2005-12-21 Toshiba Res Europ Ltd A proxy device for changing the data format and/or transmission parameters of communications between mobile end user terminals
US20090216897A1 (en) * 2007-04-13 2009-08-27 Huawei Technologies Co., Ltd. Method and system for controlling streaming rates
US20090089445A1 (en) * 2007-09-28 2009-04-02 Deshpande Sachin G Client-Controlled Adaptive Streaming
CN101511010A (en) * 2009-03-27 2009-08-19 北京中星微电子有限公司 Method and device for sending medium stream
GB2480424A (en) * 2010-04-10 2011-11-23 Rok Invest Group Ltd A system varies the bit rate of a media stream to a device in dependence upon the type of device and connection.
CN102307124A (en) * 2011-09-08 2012-01-04 深圳市融创天下科技股份有限公司 Streaming media adaptation performance assessment method, system thereof and mobile terminal thereof
WO2013071517A1 (en) * 2011-11-18 2013-05-23 华为技术有限公司 Media stream sending method and server
WO2013188150A1 (en) * 2012-06-11 2013-12-19 Qualcomm Incorporated Technique for adapting device tasks based on the available device resources

Also Published As

Publication number Publication date
GB201315555D0 (en) 2013-10-16

Similar Documents

Publication Publication Date Title
US9706010B2 (en) Systems and methods for triggering user notifications of media content items
US9386319B2 (en) Post-process filter for decompressed screen content
US10250811B2 (en) Method, apparatus and computer program product for capturing images
WO2020062924A1 (en) Video enhancement control method and device, electronic apparatus, and storage medium
CN109729405B (en) Video processing method and device, electronic equipment and storage medium
US9349166B2 (en) Method, apparatus and computer program product for generating images of scenes having high dynamic range
US20160014418A1 (en) Adaptive bitrate streaming for wireless video
KR102558385B1 (en) Video augmentation control method, device, electronic device and storage medium
US11627369B2 (en) Video enhancement control method, device, electronic device, and storage medium
US20120082431A1 (en) Method, apparatus and computer program product for summarizing multimedia content
US11456013B2 (en) Video decoding control method, electronic device, and storage medium
JP6621827B2 (en) Replay of old packets for video decoding latency adjustment based on radio link conditions and concealment of video decoding errors
US11153525B2 (en) Method and device for video enhancement, and electronic device using the same
CN105323527A (en) Systems and methods for exposure metering for timelapse video
US11412311B2 (en) Methods and systems for saving data while streaming video
CN111343503B (en) Video transcoding method and device, electronic equipment and storage medium
US20150189339A1 (en) Display of abbreviated video content
US20150070462A1 (en) Method, Apparatus and Computer Program Product for Generating Panorama Images
CN109120979B (en) Video enhancement control method and device and electronic equipment
WO2020107970A1 (en) Video decoding method and apparatus, electronic device, and storage medium
GB2517771A (en) Method, apparatus and computer program product for accessing multimedia content
CN107004018B (en) Data processing method and device
CN109218803B (en) Video enhancement control method and device and electronic equipment
CN115776590A (en) Dynamic image quality video playing method and device, electronic equipment and storage medium
CN113596583A (en) Video stream bullet time data processing method and device

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)