US20160316009A1 - Device and method for receiving scalable content from multiple sources having different content quality - Google Patents

Device and method for receiving scalable content from multiple sources having different content quality Download PDF

Info

Publication number
US20160316009A1
US20160316009A1 US15/198,759 US201615198759A US2016316009A1 US 20160316009 A1 US20160316009 A1 US 20160316009A1 US 201615198759 A US201615198759 A US 201615198759A US 2016316009 A1 US2016316009 A1 US 2016316009A1
Authority
US
United States
Prior art keywords
content
version
quality
electronic device
received
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.)
Abandoned
Application number
US15/198,759
Inventor
Christophe Pavot
Francois-Xavier Ehrhart
Thomas Papin
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.)
Google Technology Holdings LLC
Original Assignee
Google Technology Holdings LLC
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 Google Technology Holdings LLC filed Critical Google Technology Holdings LLC
Priority to US15/198,759 priority Critical patent/US20160316009A1/en
Publication of US20160316009A1 publication Critical patent/US20160316009A1/en
Assigned to MOTOROLA MOBILITY, INC. reassignment MOTOROLA MOBILITY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MOTOROLA, INC.
Assigned to Google Technology Holdings LLC reassignment Google Technology Holdings LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MOTOROLA MOBILITY, LLC
Assigned to MOTOROLA MOBILITY, LLC reassignment MOTOROLA MOBILITY, LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: MOTOROLA MOBILITY, INC.
Assigned to MOTOROLA, INC. reassignment MOTOROLA, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PAVOT, CHRISTOPHE, PAPIN, THOMAS, EHRHART, FRANCOIS-XAVIER
Abandoned legal-status Critical Current

Links

Images

Classifications

    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • 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/756Media network packet handling adapting media to device capabilities
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/44029Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Definitions

  • File sharing refers to the provision for sharing (receiving or distributing) digital files and/or content via a network.
  • the file sharing involves a peer to peer connection, where content is at least partially received from one or more other end users of the content, which already possess a copy of the desired content.
  • Such a distribution model differs from other instances in which a central server maintains and distributes the content.
  • the peer to peer model benefits from the advantages of a more distributed distribution approach, where a larger number of sources of the content, each having an independent ability to source the content including processing power and distribution band width, are used to supply one or more portions of the content.
  • a particular content recipient can receive different portions of the content from separate sources, which helps to minimize and/or spread the load or impact on any particular source of the content.
  • the presence of multiple sources serves to provide a degree of redundancy, which can be used to accommodate the dynamic nature of networks, such as the Internet, where any particular source's presence on the network may be temporary and/or transient. If a particular source ceases to be available during the download of content, another suitable source is identified and accessed to supply the remaining portions of the content that has yet to be received.
  • Such a distribution model for content has become very popular for use on personal computers. As such, much of the available content via this distribution model is formatted for use in that environment. Increasingly, users are wanting to access the same or similar content using more portable devices, such as personal digital assistants or cellular telephones. However, much of the available content is formatted for being viewed on the relatively higher fidelity interfaces more commonly associated with personal computers. Additionally, the more limited storage associated with the more mobile devices has diminished the availability of content formatted at a quality level that is suitable for rendering by the more mobile devices.
  • scalable codecs for audio, image or video files, which can sometimes be more readily used to change the quality of the file by adapting the dimensions, the frame rate, and/or other quality factors of the content, without first needing to decompress the information, and subsequently recompress the information after the appropriate quality conversion.
  • scalable techniques include bitplane coding and enhancement layer encoding, which assists in making available a desired portion associated with a particular quality level.
  • bitplane coding In bitplane coding, scalable coding of the media blocks is generally achieved by coding a block of audio/video transform coefficients bitplane by bitplane, from the most significant bitplane to the least significant bitplane.
  • the media content is compressed into a base layer and one or more enhancement layers, each of which typically occupies a separate channel.
  • a minimum quality media stream is coded in the base layer.
  • the present inventors have recognized that it would be beneficial if the content that is readily available in differing quality levels from multiple peer sources might be identified and adapted to be received and combined at a suitable quality level for use on a more mobile device having greater limitations on data throughput as well as the reproducible quality levels for content that is intended to be rendered by the device.
  • the present invention provides a method in a device for receiving scalable content.
  • the method includes receiving a first portion of content to be received with a desired content quality from a first source having a first version of the receivable content.
  • a second portion of content to be received with a desired content quality is received from a second source having a second version of the receivable content, where a value for at least one quality factor of the second version of the receivable content is different than a value for the corresponding quality factor of the first version of the receivable content.
  • At least the first portion of content to be received and the second portion of content to be received is then combined, wherein at least one of the first version and the second version includes non-duplicative data.
  • At least one of the first version of the receivable content and the second version of the receivable content has a value for at least one quality factor, which is different from the desired value of the corresponding quality factor of the content to be received with the desired content quality.
  • the method further includes receiving by the device for receiving scalable content a list of the usable portions of at least one of the first version of the receivable content and the second version of the receivable content in forming the content to be received with the desired content quality.
  • the method further includes receiving by the device for receiving scalable content a list of error checking values for each of one or more different portions of the content to be received with the desired content quality for validating the integrity of the received content after combining.
  • the present invention further provides a device for receiving scalable content in a system including at least a first source having a first version of the receivable content and a second source having a second version of the receivable content, where a value for at least one quality factor of the second version of the receivable content is different than a value for the corresponding quality factor of the first version of the receivable content.
  • the device includes a receiver for receiving a first portion of content to be received with a desired content quality from the first source, and a second portion of content to be received with a desired content quality from the second source.
  • the device further includes a controller for combining at least the first portion of content to be received and the second portion of content to be received, wherein at least one of the first version and the second version includes non-duplicative data.
  • FIG. 1 is a block diagram of at least a portion of an exemplary network environment in which the distribution of content from multiple sources can occur;
  • FIG. 2 is a block diagram of a requestor device and multiple peer devices each having different versions of the same content
  • FIG. 3 is a block diagram of a mapping of usable blocks of different versions of the same content, including a version having a higher quality and a version having a lower quality;
  • FIG. 4 is an exemplary command structure for requesting one or more blocks of data from a source of receivable content as part of a single request;
  • FIG. 5 is a flow diagram of a method in a device for receiving scalable content, in accordance with at least one embodiment of the present invention.
  • FIG. 6 is a block diagram of a device for receiving scalable content, in accordance with at least a further embodiment of the present invention.
  • FIG. 1 illustrates a block diagram 100 of at least a portion of an exemplary network environment in which the distribution of content from multiple sources can occur.
  • network 102 represents connectivity that can be present between entities such as servers 104 , peer devices 106 and access points 108 , which can be used to interface with other devices either directly or indirectly connected to the network 102 .
  • entities such as servers 104 , peer devices 106 and access points 108 , which can be used to interface with other devices either directly or indirectly connected to the network 102 .
  • a device 110 that is requesting content can communicate with other entities communicatively connected to the network 102 . It is further possible that the device 110 that is requesting content can communicate directly with other peer devices 112 independent of the network 102 .
  • the network 102 can include elements associated with one or more types of networks, some of which are intended to interact with the device that is requesting the content or the one or more entities from which the content is sought.
  • the network 102 may include elements commonly associated with a packet data network, such as the Internet.
  • the network 102 may include elements commonly associated with a wireless communication system, such as a wireless LAN or a wireless cellular telephone system.
  • the access point 108 might be a wireless router, or a cellular base station, through which other elements coupled to the network can be accessed, including content providers such as servers 104 or peer devices 106 .
  • the network 102 could represent and/or include still further forms of network elements, such as a wireline circuit switched telephone system, and/or other types of networks, without departing from the teachings of the present invention.
  • FIG. 2 illustrates a block diagram 200 of a requestor device 110 and multiple peer devices each having different versions of the same content.
  • the requestor device 110 is able to access either directly or indirectly one or more peer devices 202 , 204 and 206 , each including one or more different versions of the desired content 212 , 214 and 216 .
  • a first peer device 202 includes a copy of a first version 212 of requested content.
  • a second peer device 204 includes a copy of both the first version 212 and a second version 214 of the requested content.
  • a third peer device 206 includes a copy of a third version 216 of the requested content.
  • each different version differs from the other versions in at least one quality factor, where examples of quality factors can include resolution, color density, frame rate and sampling rate.
  • quality factors can include resolution, color density, frame rate and sampling rate.
  • the particular quality factors associated with a particular file in at least some instances may be dependent upon the type of media file. For example, sampling rate is often associated with an audio file, while frame rate is often associated with a motion picture video file.
  • a particular version of the content might have a higher value for one of the quality factors, but might have a lower value for another one of the quality factors.
  • a particular version of motion picture video content relative to another version of the same content might have a higher picture resolution, but a lower frame rate.
  • it is possible for some sources to have more than one version of the content where for example, in the illustrated embodiment, the second peer device 204 has both a copy of the first version 212 , and a copy of the second version 214 .
  • a higher fidelity version of the content can be accessed from the same or a different source to supplement the data which is available in the lower fidelity version of the content.
  • the version details associated with the version of the content being requested a portion or a subset of the data might be used.
  • the second version of the content is being requested.
  • FIG. 3 illustrates a block diagram 300 of a mapping of usable blocks of different versions of the same content, including a version having a higher quality value and a version having a lower quality value for at least one of the quality factors, such as resolution.
  • each version of the same content is identified through a searchable identifier contained in the file, such as the header of the file.
  • Each version of the content might additionally include in the file, values for each of quality factors associated with the particular version of the content.
  • such information might similarly be part of a file header, which can be queried by a potential requestor of the content, in order that the requestor can plan the download requests for piecing together a version of the content, which has the desired quality level from the one or more versions having different values for one or more of the quality factors.
  • the first version of the content is associated with a version having a picture resolution of 640 ⁇ 480, where the data unique to this version, relative to the two other versions, is shown with a cross hatching.
  • the amount of additional data is represented as two blocks in addition to the two blocks associated with the other two versions.
  • a resolution of 640 ⁇ 480 can represent up to 4 ⁇ the data relative to the second version of the content, which is identified as having a picture resolution of 320 ⁇ 240, dependent upon the amount of compression.
  • the coded blocks are intended to identify the presence of additional data, relative to the higher resolution version, which is not present in the lower resolution version.
  • a version of the content corresponding to the second version has been requested.
  • the second version of the content present at one of the peers can generally be used without modification.
  • the download can be supplemented with data from each of the lower and higher resolution versions of the content.
  • most of the data associated with a lower resolution third version of the content can be used, but it needs to by supplemented with additional data from one of the higher resolution versions of the content.
  • a subset of the data can generally be used to produce the desired lower resolution version.
  • a peer containing a higher resolution version might locally create the lower resolution version in support of a particular download.
  • An example of an exemplary request structure is illustrated in FIG. 4 , which highlights a command structure consistent with the present invention, that enables multiple blocks of data to be identified in a single request, which strings together the descriptors for the multiple blocks in a single command.
  • Each set of four parameters is generally associated with individual request, which is strung together to form a particular command.
  • the illustrated example shows N such sets of parameters, each of which identifies the desired data associated with a particular block.
  • the exemplary command structure 400 includes parameters identifying the address of the start of the block, labeled first 402 , and the address of the end of the block, labeled last 404 , as well as the amount of data to grab, labeled size 406 , including how often within the defined block to grab the data, labeled step 408 , such that a subset of periodically occurring groupings of data can be grabbed from any particular defined data block.
  • FIG. 5 illustrates a flow diagram of a method 500 in a device for receiving scalable content, in accordance with at least one embodiment of the present invention.
  • the method 500 includes receiving 502 a first portion of content to be received with a desired content quality from a first source having a first version of the receivable content.
  • a second portion of content to be received with a desired content quality is then received 504 from a second source having a second version of the receivable content, where a value for at least one quality factor of the second version of the receivable content is different than a value for the corresponding quality factor of the first version of the receivable content.
  • At least the first portion of content to be received and the second portion of content to be received is then combined 506 , wherein at least one of the first version and the second version includes non-duplicative data.
  • the method might optionally further include receiving 508 by the device for receiving scalable content a list of the usable portions of at least one of the first version of the receivable content and the second version of the receivable content in forming the content to be received with the desired content quality.
  • a request is sent 510 to the respective source identifying the portions of the particular version stored at the source, that is being requested.
  • the method might further optionally includes receiving 512 by the device for receiving scalable content a list of error checking values for each of one or more different portions of the content to be received with the desired content quality for validating the integrity of the received content after combining. These error checking values could then be used to compare 514 against the locally generated values from the respective portions of the content received. If a mismatch has occurred, the device for receiving scalable content might request that the original source resend the data, or might seek an alternative source for the same section of data. In some instances, the mismatch may be the result of a transmission error. In other instances, the mismatch may be the result of malicious behavior, which has intentionally provided a source of erroneous data.
  • the error checking values are cryptographic hash values, where a cryptographic hash value is derived from taking a predetermined block of data and applying a function that generally returns a fixed size bit string having a determined value.
  • the function is of a nature such that if there was an accidental or intentional change in the values of any of the data forming the data block from which the cryptographic hash value was determined, a different hash value will be produced.
  • the hash value determined for the received data for the predetermined block of data can be compared against the values determined for the known good copy of the same block of data to help insure that the integrity of the particular block of data has been preserved.
  • a source file having the same quality level needs to supply the values or the values may be derived from a higher quality file, where the data is arranged so as to segregate the data associated with the requested quality level, so that hash values can be determined from the segregated portions. In such an instance it may be beneficial to reorder the data so as to group the data based upon different levels of quality.
  • FIG. 6 illustrates a block diagram of a device 600 for receiving scalable content, in accordance with at least one embodiment of the present invention.
  • the device 600 includes a controller 602 , and a transceiver 604 coupled to the controller 602 .
  • the transceiver 604 facilitates one or more communication connections with the network 102 and/or one or more peer devices 106 and 112 , which allows for the receipt and/or transmission of information between the device 600 and the other peer devices of the network 106 and 112 .
  • the connection is managed through a wireless communication connection, however in some instances, the connection can be managed through a wired connection.
  • the transceiver 604 generally radiates and receives electromagnetic energy via an antenna 606 , which is coupled to the transceiver 604 .
  • the transceiver 206 generally incorporates both a transmitter 608 and a receiver 610 for supporting transmit and receive functions, thereby enabling bi-directional communication.
  • the device includes a storage element 612 , which can be used to store the received scalable content 614 .
  • the controller includes a combine module 616 , which is adapted to combine the various portions of the received scalable content 614 .
  • the controller will further include an error checking module 618 .
  • the communication controller 602 can be implemented at least in part using a microprocessor, which might operate to perform some of the functionality associated with one or more of the associated modules in conjunction with the one or more sets of prestored instructions 620 contained in the storage element 612 .
  • the storage element 612 can include one or more forms of volatile and/or non-volatile memory including conventional ROM, EPROM, RAM, or EEPROM, as well as other forms of storage including fixed or removable discs.
  • modules can include additional and/or alternative forms, such as sequential state machines and operational logic circuitry, which could be implemented in hardware, software and/or both.
  • any portion of the functionality is implemented using hardware elements, the same could be constructed using discrete logic elements, gate array or programmable logic array type structures, and/or could be implemented in a VLSI type structure, without departing from the teachings of the present invention.
  • the device 600 further includes a user interface 622 , which can include one or more elements for interacting with the user including one or more of a display 624 , a keypad 626 and/or a speaker 628 .
  • the user interface elements 622 can be used to render the received content.
  • the content might be rendered to the user as part of the receipt of the content. In such instances, the content is said to be streamed to the user. In other instances, the content might be stored for playback by the user at a time in the future to be selected by the user. Under such circumstances, the content is said to be downloaded.
  • the device will be a cellular radio telephone.
  • the device can alternatively take the form of other types of devices without departing from the teachings of the present invention.
  • Further examples in addition to cellular and/or radio telephones without intending to be an exhaustive list include cordless telephones, paging devices, personal digital assistants, portable computers, pen-based or keyboard-based handheld devices, remote control units, audio players (such as an MP3 player), and video game players, which might similarly received scalable content for use by the user.

Abstract

A device and a method in a device for receiving scalable content. The method includes receiving a first portion of content to be received with a desired content quality from a first source having a first version of the receivable content. A second portion of content to be received with a desired content quality is received from a second source having a second version of the receivable content, where a value for at least one quality factor of the second version of the receivable content is different than a value for the corresponding quality factor of the first version of the receivable content. At least the first portion of content to be received and the second portion of content to be received is then combined, wherein at least one of the first version and the second version includes non-duplicative data.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of U.S. patent application Ser. No. 12/646,299 filed Dec. 23, 2009, now U.S. Pat. No. 9,386,090, entitled “Device and Method for Receiving Scalable Content from Multiple Sources Having Different Content Quality”, of which is incorporated herein by reference in its entirety and for all purposes.
  • BACKGROUND
  • File sharing refers to the provision for sharing (receiving or distributing) digital files and/or content via a network. In many cases the file sharing involves a peer to peer connection, where content is at least partially received from one or more other end users of the content, which already possess a copy of the desired content. Such a distribution model differs from other instances in which a central server maintains and distributes the content. The peer to peer model benefits from the advantages of a more distributed distribution approach, where a larger number of sources of the content, each having an independent ability to source the content including processing power and distribution band width, are used to supply one or more portions of the content. A particular content recipient can receive different portions of the content from separate sources, which helps to minimize and/or spread the load or impact on any particular source of the content.
  • Furthermore the presence of multiple sources serves to provide a degree of redundancy, which can be used to accommodate the dynamic nature of networks, such as the Internet, where any particular source's presence on the network may be temporary and/or transient. If a particular source ceases to be available during the download of content, another suitable source is identified and accessed to supply the remaining portions of the content that has yet to be received.
  • Such a distribution model for content has become very popular for use on personal computers. As such, much of the available content via this distribution model is formatted for use in that environment. Increasingly, users are wanting to access the same or similar content using more portable devices, such as personal digital assistants or cellular telephones. However, much of the available content is formatted for being viewed on the relatively higher fidelity interfaces more commonly associated with personal computers. Additionally, the more limited storage associated with the more mobile devices has diminished the availability of content formatted at a quality level that is suitable for rendering by the more mobile devices.
  • In some instances the ability to more readily scale content has benefited from the increasing availability of scalable codecs for audio, image or video files, which can sometimes be more readily used to change the quality of the file by adapting the dimensions, the frame rate, and/or other quality factors of the content, without first needing to decompress the information, and subsequently recompress the information after the appropriate quality conversion. At least a couple of scalable techniques include bitplane coding and enhancement layer encoding, which assists in making available a desired portion associated with a particular quality level.
  • In bitplane coding, scalable coding of the media blocks is generally achieved by coding a block of audio/video transform coefficients bitplane by bitplane, from the most significant bitplane to the least significant bitplane.
  • In enhancement layer encoding, the media content is compressed into a base layer and one or more enhancement layers, each of which typically occupies a separate channel. A minimum quality media stream is coded in the base layer. With the addition of each successive enhancement layer in addition to the base layer, the quality of the decoded media improves.
  • However even with the availability of scalable codecs, many peer to peer applications have difficulty managing multiple source files of the same content having differing versions of quality, as the more traditional peer to peer models, are unable to establish a useable relationship between the different versions of the same content. In absence of being able to recognize a useable relationship between the different versions, the different versions are treated by many peer to peer distribution systems as being separate independent and distinct forms of content.
  • Consequently, the present inventors have recognized that it would be beneficial if the content that is readily available in differing quality levels from multiple peer sources might be identified and adapted to be received and combined at a suitable quality level for use on a more mobile device having greater limitations on data throughput as well as the reproducible quality levels for content that is intended to be rendered by the device.
  • SUMMARY OF THE INVENTION
  • The present invention provides a method in a device for receiving scalable content. The method includes receiving a first portion of content to be received with a desired content quality from a first source having a first version of the receivable content. A second portion of content to be received with a desired content quality is received from a second source having a second version of the receivable content, where a value for at least one quality factor of the second version of the receivable content is different than a value for the corresponding quality factor of the first version of the receivable content. At least the first portion of content to be received and the second portion of content to be received is then combined, wherein at least one of the first version and the second version includes non-duplicative data.
  • In at least one embodiment, at least one of the first version of the receivable content and the second version of the receivable content has a value for at least one quality factor, which is different from the desired value of the corresponding quality factor of the content to be received with the desired content quality.
  • In at least a further embodiment, the method further includes receiving by the device for receiving scalable content a list of the usable portions of at least one of the first version of the receivable content and the second version of the receivable content in forming the content to be received with the desired content quality.
  • In at least a still further embodiment, the method further includes receiving by the device for receiving scalable content a list of error checking values for each of one or more different portions of the content to be received with the desired content quality for validating the integrity of the received content after combining.
  • The present invention further provides a device for receiving scalable content in a system including at least a first source having a first version of the receivable content and a second source having a second version of the receivable content, where a value for at least one quality factor of the second version of the receivable content is different than a value for the corresponding quality factor of the first version of the receivable content. The device includes a receiver for receiving a first portion of content to be received with a desired content quality from the first source, and a second portion of content to be received with a desired content quality from the second source. The device further includes a controller for combining at least the first portion of content to be received and the second portion of content to be received, wherein at least one of the first version and the second version includes non-duplicative data.
  • These and other features, and advantages of this invention are evident from the following description of one or more preferred embodiments of this invention, with reference to the accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of at least a portion of an exemplary network environment in which the distribution of content from multiple sources can occur;
  • FIG. 2 is a block diagram of a requestor device and multiple peer devices each having different versions of the same content;
  • FIG. 3 is a block diagram of a mapping of usable blocks of different versions of the same content, including a version having a higher quality and a version having a lower quality;
  • FIG. 4 is an exemplary command structure for requesting one or more blocks of data from a source of receivable content as part of a single request;
  • FIG. 5 is a flow diagram of a method in a device for receiving scalable content, in accordance with at least one embodiment of the present invention; and
  • FIG. 6 is a block diagram of a device for receiving scalable content, in accordance with at least a further embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • While the present invention is susceptible of embodiment in various forms, there is shown in the drawings and will hereinafter be described presently preferred embodiments with the understanding that the present disclosure is to be considered an exemplification of the invention and is not intended to limit the invention to the specific embodiments illustrated.
  • FIG. 1 illustrates a block diagram 100 of at least a portion of an exemplary network environment in which the distribution of content from multiple sources can occur. In the illustrated embodiment, network 102 represents connectivity that can be present between entities such as servers 104, peer devices 106 and access points 108, which can be used to interface with other devices either directly or indirectly connected to the network 102. Through the access point 108, a device 110 that is requesting content can communicate with other entities communicatively connected to the network 102. It is further possible that the device 110 that is requesting content can communicate directly with other peer devices 112 independent of the network 102.
  • In at least some instances, the network 102 can include elements associated with one or more types of networks, some of which are intended to interact with the device that is requesting the content or the one or more entities from which the content is sought. In at least some instances, the network 102 may include elements commonly associated with a packet data network, such as the Internet. In the same or other instances, the network 102 may include elements commonly associated with a wireless communication system, such as a wireless LAN or a wireless cellular telephone system. Correspondingly, in at least some instances, the access point 108 might be a wireless router, or a cellular base station, through which other elements coupled to the network can be accessed, including content providers such as servers 104 or peer devices 106. One skilled in the art will readily appreciate, that the network 102 could represent and/or include still further forms of network elements, such as a wireline circuit switched telephone system, and/or other types of networks, without departing from the teachings of the present invention.
  • FIG. 2 illustrates a block diagram 200 of a requestor device 110 and multiple peer devices each having different versions of the same content. The requestor device 110 is able to access either directly or indirectly one or more peer devices 202, 204 and 206, each including one or more different versions of the desired content 212, 214 and 216. In the illustrated embodiment, a first peer device 202 includes a copy of a first version 212 of requested content. Further, a second peer device 204 includes a copy of both the first version 212 and a second version 214 of the requested content. Lastly, a third peer device 206 includes a copy of a third version 216 of the requested content. Generally each different version differs from the other versions in at least one quality factor, where examples of quality factors can include resolution, color density, frame rate and sampling rate. The particular quality factors associated with a particular file in at least some instances may be dependent upon the type of media file. For example, sampling rate is often associated with an audio file, while frame rate is often associated with a motion picture video file.
  • In some instances, a particular version of the content might have a higher value for one of the quality factors, but might have a lower value for another one of the quality factors. For example, a particular version of motion picture video content, relative to another version of the same content might have a higher picture resolution, but a lower frame rate. Furthermore, it is possible for some sources to have more than one version of the content, where for example, in the illustrated embodiment, the second peer device 204 has both a copy of the first version 212, and a copy of the second version 214.
  • Where a particular version has a lower fidelity than the version details associated with the version of the file being requested, a higher fidelity version of the content can be accessed from the same or a different source to supplement the data which is available in the lower fidelity version of the content. Where a particular version has a higher fidelity, then the version details associated with the version of the content being requested, a portion or a subset of the data might be used. In the illustrated embodiment, the second version of the content is being requested.
  • FIG. 3 illustrates a block diagram 300 of a mapping of usable blocks of different versions of the same content, including a version having a higher quality value and a version having a lower quality value for at least one of the quality factors, such as resolution. Generally, each version of the same content is identified through a searchable identifier contained in the file, such as the header of the file. Each version of the content might additionally include in the file, values for each of quality factors associated with the particular version of the content. For example, such information might similarly be part of a file header, which can be queried by a potential requestor of the content, in order that the requestor can plan the download requests for piecing together a version of the content, which has the desired quality level from the one or more versions having different values for one or more of the quality factors.
  • While a distribution of blocks are shown relative to each version, the actual distribution for any particular quality level is not necessarily proportional to the amounts illustrated nor is the information associated with each of the different levels of quality necessarily distributed in the file as illustrated. For example, the first version of the content is associated with a version having a picture resolution of 640×480, where the data unique to this version, relative to the two other versions, is shown with a cross hatching. In the particular embodiment illustrated, the amount of additional data is represented as two blocks in addition to the two blocks associated with the other two versions. However, a resolution of 640×480 can represent up to 4× the data relative to the second version of the content, which is identified as having a picture resolution of 320×240, dependent upon the amount of compression. In other words, the coded blocks are intended to identify the presence of additional data, relative to the higher resolution version, which is not present in the lower resolution version.
  • As shown in FIG. 3, a version of the content corresponding to the second version has been requested. As such, the second version of the content present at one of the peers can generally be used without modification. However, the download can be supplemented with data from each of the lower and higher resolution versions of the content. Generally, most of the data associated with a lower resolution third version of the content can be used, but it needs to by supplemented with additional data from one of the higher resolution versions of the content. Relative to the higher resolution version, a subset of the data can generally be used to produce the desired lower resolution version.
  • In some instances, a peer containing a higher resolution version might locally create the lower resolution version in support of a particular download. In other instances, it may be possible to receive a mapping of the appropriate data, which would be useful in locally producing the lower resolution version in the target requesting device, and a specific request can then be made to the peer having the higher resolution version, which identifies the specific portions of the higher resolution version, which are desired. An example of an exemplary request structure is illustrated in FIG. 4, which highlights a command structure consistent with the present invention, that enables multiple blocks of data to be identified in a single request, which strings together the descriptors for the multiple blocks in a single command. Each set of four parameters, is generally associated with individual request, which is strung together to form a particular command. The illustrated example, shows N such sets of parameters, each of which identifies the desired data associated with a particular block.
  • Generally, the exemplary command structure 400 includes parameters identifying the address of the start of the block, labeled first 402, and the address of the end of the block, labeled last 404, as well as the amount of data to grab, labeled size 406, including how often within the defined block to grab the data, labeled step 408, such that a subset of periodically occurring groupings of data can be grabbed from any particular defined data block.
  • FIG. 5 illustrates a flow diagram of a method 500 in a device for receiving scalable content, in accordance with at least one embodiment of the present invention. The method 500 includes receiving 502 a first portion of content to be received with a desired content quality from a first source having a first version of the receivable content. A second portion of content to be received with a desired content quality is then received 504 from a second source having a second version of the receivable content, where a value for at least one quality factor of the second version of the receivable content is different than a value for the corresponding quality factor of the first version of the receivable content. At least the first portion of content to be received and the second portion of content to be received is then combined 506, wherein at least one of the first version and the second version includes non-duplicative data.
  • In at least some instances, the method might optionally further include receiving 508 by the device for receiving scalable content a list of the usable portions of at least one of the first version of the receivable content and the second version of the receivable content in forming the content to be received with the desired content quality. Where upon receiving the list of usable portions, a request is sent 510 to the respective source identifying the portions of the particular version stored at the source, that is being requested.
  • In at least still further instances, the method might further optionally includes receiving 512 by the device for receiving scalable content a list of error checking values for each of one or more different portions of the content to be received with the desired content quality for validating the integrity of the received content after combining. These error checking values could then be used to compare 514 against the locally generated values from the respective portions of the content received. If a mismatch has occurred, the device for receiving scalable content might request that the original source resend the data, or might seek an alternative source for the same section of data. In some instances, the mismatch may be the result of a transmission error. In other instances, the mismatch may be the result of malicious behavior, which has intentionally provided a source of erroneous data.
  • In at least some embodiments the error checking values are cryptographic hash values, where a cryptographic hash value is derived from taking a predetermined block of data and applying a function that generally returns a fixed size bit string having a determined value. Generally, the function is of a nature such that if there was an accidental or intentional change in the values of any of the data forming the data block from which the cryptographic hash value was determined, a different hash value will be produced. As such, the hash value determined for the received data for the predetermined block of data can be compared against the values determined for the known good copy of the same block of data to help insure that the integrity of the particular block of data has been preserved.
  • Generally, in order to create the hash values for a file having the desired quality level. A source file having the same quality level needs to supply the values or the values may be derived from a higher quality file, where the data is arranged so as to segregate the data associated with the requested quality level, so that hash values can be determined from the segregated portions. In such an instance it may be beneficial to reorder the data so as to group the data based upon different levels of quality.
  • FIG. 6 illustrates a block diagram of a device 600 for receiving scalable content, in accordance with at least one embodiment of the present invention. The device 600 includes a controller 602, and a transceiver 604 coupled to the controller 602. The transceiver 604 facilitates one or more communication connections with the network 102 and/or one or more peer devices 106 and 112, which allows for the receipt and/or transmission of information between the device 600 and the other peer devices of the network 106 and 112. In the illustrated embodiment the connection is managed through a wireless communication connection, however in some instances, the connection can be managed through a wired connection.
  • The transceiver 604 generally radiates and receives electromagnetic energy via an antenna 606, which is coupled to the transceiver 604. The transceiver 206 generally incorporates both a transmitter 608 and a receiver 610 for supporting transmit and receive functions, thereby enabling bi-directional communication.
  • In at least some embodiments, the device includes a storage element 612, which can be used to store the received scalable content 614. The controller includes a combine module 616, which is adapted to combine the various portions of the received scalable content 614. In some instances, the controller will further include an error checking module 618.
  • In at least some embodiments, the communication controller 602 can be implemented at least in part using a microprocessor, which might operate to perform some of the functionality associated with one or more of the associated modules in conjunction with the one or more sets of prestored instructions 620 contained in the storage element 612. The storage element 612 can include one or more forms of volatile and/or non-volatile memory including conventional ROM, EPROM, RAM, or EEPROM, as well as other forms of storage including fixed or removable discs.
  • While at least some of the functionality associated with one or more of the associated modules can be managed under the direction of one or more sets of prestored instructions, one skilled in the art will readily recognize that the modules can include additional and/or alternative forms, such as sequential state machines and operational logic circuitry, which could be implemented in hardware, software and/or both. To the extent that any portion of the functionality is implemented using hardware elements, the same could be constructed using discrete logic elements, gate array or programmable logic array type structures, and/or could be implemented in a VLSI type structure, without departing from the teachings of the present invention.
  • In at least some instances, the device 600 further includes a user interface 622, which can include one or more elements for interacting with the user including one or more of a display 624, a keypad 626 and/or a speaker 628. Where present, the user interface elements 622 can be used to render the received content.
  • In some instances, the content might be rendered to the user as part of the receipt of the content. In such instances, the content is said to be streamed to the user. In other instances, the content might be stored for playback by the user at a time in the future to be selected by the user. Under such circumstances, the content is said to be downloaded.
  • In at least some instances, the device will be a cellular radio telephone. However one skilled in the art will recognize that the device can alternatively take the form of other types of devices without departing from the teachings of the present invention. Further examples in addition to cellular and/or radio telephones without intending to be an exhaustive list include cordless telephones, paging devices, personal digital assistants, portable computers, pen-based or keyboard-based handheld devices, remote control units, audio players (such as an MP3 player), and video game players, which might similarly received scalable content for use by the user.
  • Furthermore, because many devices for which scaling of the content is desired may have memory constraints, it may be beneficial to receive and process portions of the file at different times, in order to conserve space within the available memory and/or to avoid overflowing the available memory.
  • While the preferred embodiments of the invention have been illustrated and described, it is to be understood that the invention is not so limited. Numerous modifications, changes, variations, substitutions and equivalents will occur to those skilled in the art without departing from the spirit and scope of the present invention as defined by the appended claims.

Claims (20)

What is claimed is:
1. A method, comprising:
receiving, at an electronic device, a first portion of content to be received with a desired content quality from a first electronic source having a first version of the receivable content;
receiving, at the electronic device, a second portion of content to be received with the desired content quality from a second electronic source having a second version of the receivable content, wherein the first version of the receivable content comprises a lower fidelity than a version of the content capable of being used on the electronic device, and wherein the second version of the receivable content comprises a higher fidelity than the version of the content capable of being used on the electronic device; and
combining, at the electronic device, the first portion of content and the second portion of content, wherein one of the first version and the second version comprises non-duplicative data, wherein when one of the first portion of the content and the second portion of the content comprises a lower fidelity than the desired content quality, the higher fidelity version of the content is accessed to supplement the content available in the lower fidelity version, and when one of the first portion of the content and the second portion of the content comprises a higher fidelity than the desired content quality, a subset of the content is utilized.
2. The method of claim 1, wherein the non-duplicative data comprises one of the first version and the second version including data that is not available from the other one of the first version and the second version.
3. The method of claim 1, comprising receiving a list of error checking values for each of a plurality of different portions of the content to be received with the desired content quality.
4. The method of claim 3, wherein receiving the list of error checking values comprises validating an integrity of the received content.
5. The method of claim 1, comprising receiving the content to be received with the desired content quality as part of a download to the electronic device.
6. The method of claim 1, comprising receiving the content to be received with the desired content quality as part of a streaming to electronic device.
7. The method of claim 6, wherein the streaming comprises rendering the content via a user interface of the electronic device proximate to a time of receipt of the content to be received.
8. The method of claim 1, wherein a value of a quality factor of one of the first version and the second version is different from a desired value of a corresponding quality factor of the content to be received with the desired content quality.
9. The method of claim 8, wherein one of the first version and the second version comprises a value of a quality factor higher than the desired value of the corresponding quality factor of the content to be received with the desired content quality.
10. The method of claim 8, wherein one of the first version and the second version comprises a value of a quality factor lower than the desired value of the corresponding quality factor of the content to be received with the desired content quality.
11. The method of claim 8, wherein the quality factor comprises a sampling rate, a frame rate, a resolution, a color depth, or a combination thereof.
12. A non-transitory computer-readable medium having computer executable code stored thereon, the code comprising instructions to:
cause an electronic device to receive a first portion of content to be received with a desired content quality from a first electronic source having a first version of the receivable content;
cause the electronic device to receive a second portion of content to be received with the desired content quality from a second electronic source having a second version of the receivable content, wherein the first version of the receivable content comprises a lower fidelity than a version of the content capable of being used on the electronic device, and wherein the second version of the receivable content comprises a higher fidelity than the version of the content capable of being used on the electronic device; and
cause the electronic device to combine the first portion of content and the second portion of content, wherein one of the first version and the second version comprises non-duplicative data, wherein when one of the first portion of the content and the second portion of the content comprises a lower fidelity than the desired content quality, the higher fidelity version of the content is accessed to supplement the content available in the lower fidelity version, and when one of the first portion of the content and the second portion of the content comprises a higher fidelity than the desired content quality, a subset of the content is utilized.
13. The non-transitory computer-readable medium of claim 12, wherein the code comprises instructions to cause the electronic device to send a request to the first electronic source or the second electronic source to identify the usable portions requested of the first version and the second version.
14. The non-transitory computer-readable medium of claim 13, wherein the request comprises a list of a plurality of different sections of usable portions of the first version and the second version.
15. The non-transitory computer-readable medium of claim 12, wherein the code comprises instructions to cause the electronic device to combine the first portion and the second portion by receiving a list of usable portions of one of the first version and the second version.
16. The non-transitory computer-readable medium of claim 12, wherein the code comprises instructions to cause the electronic device to receive a first video content as the first portion of content and to receive a second video content as the second portion of content.
17. An electronic device, comprising:
at least one processor configured to:
receive a first portion of content to be received with a desired content quality from a first electronic source having a first version of the receivable content;
receive a second portion of content to be received with the desired content quality from a second electronic source having a second version of the receivable content, wherein the first version of the receivable content comprises a lower fidelity than a version of the content capable of being used on the electronic device, and wherein the second version of the receivable content comprises a higher fidelity than the version of the content capable of being used on the electronic device; and
combine the first portion of content and the second portion of content, wherein one of the first version and the second version comprises non-duplicative data, wherein when one of the first portion of the content and the second portion of the content comprises a lower fidelity than the desired content quality, the higher fidelity version of the content is accessed to supplement the content available in the lower fidelity version, and when one of the first portion of the content and the second portion of the content comprises a higher fidelity than the desired content quality, a subset of the content is utilized.
18. The electronic device of claim 17, wherein the processor comprises a scalable codec.
19. The electronic device of claim 17, wherein the first version and the second version each comprises a value of a quality factor, and wherein the quality factor comprises a sampling rate, a frame rate, a resolution, a color depth, or a combination thereof.
20. The electronic device of claim 17, wherein the first version of the receivable content comprises a resolution of approximately 640×480, and wherein the second version of the receivable content comprises a resolution of approximately 320×240.
US15/198,759 2008-12-31 2016-06-30 Device and method for receiving scalable content from multiple sources having different content quality Abandoned US20160316009A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/198,759 US20160316009A1 (en) 2008-12-31 2016-06-30 Device and method for receiving scalable content from multiple sources having different content quality

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP08306030.1A EP2204965B1 (en) 2008-12-31 2008-12-31 Device and method for receiving scalable content from multiple sources having different content quality
US12/646,299 US9386090B2 (en) 2008-12-31 2009-12-23 Device and method for receiving scalable content from multiple sources having different content quality
US15/198,759 US20160316009A1 (en) 2008-12-31 2016-06-30 Device and method for receiving scalable content from multiple sources having different content quality

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/646,299 Continuation US9386090B2 (en) 2008-12-31 2009-12-23 Device and method for receiving scalable content from multiple sources having different content quality

Publications (1)

Publication Number Publication Date
US20160316009A1 true US20160316009A1 (en) 2016-10-27

Family

ID=40800443

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/646,299 Active 2034-05-10 US9386090B2 (en) 2008-12-31 2009-12-23 Device and method for receiving scalable content from multiple sources having different content quality
US15/198,759 Abandoned US20160316009A1 (en) 2008-12-31 2016-06-30 Device and method for receiving scalable content from multiple sources having different content quality

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/646,299 Active 2034-05-10 US9386090B2 (en) 2008-12-31 2009-12-23 Device and method for receiving scalable content from multiple sources having different content quality

Country Status (2)

Country Link
US (2) US9386090B2 (en)
EP (1) EP2204965B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180080682A (en) * 2017-01-04 2018-07-12 삼성전자주식회사 Electronic device and method for sharing application in electronic device

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201042973A (en) * 2008-11-28 2010-12-01 Ibm Token-based client to server authentication of a secondary communication channel by way of primary authenticated communication channels
US8539039B2 (en) * 2010-06-22 2013-09-17 Splashtop Inc. Remote server environment
US8843984B2 (en) 2010-10-12 2014-09-23 At&T Intellectual Property I, L.P. Method and system for preselecting multimedia content
US8943215B2 (en) * 2010-12-21 2015-01-27 Microsoft Corporation Distributed smooth streaming utilizing dynamic manifests
US8918544B2 (en) 2011-03-31 2014-12-23 Logitech Europe S.A. Apparatus and method for configuration and operation of a remote-control system
US9239837B2 (en) 2011-04-29 2016-01-19 Logitech Europe S.A. Remote control system for connected devices
US20140164225A1 (en) * 2012-12-06 2014-06-12 Javier Cardona Method and apparatus for content distribution and deferred payment over a wireless network
EP3346672B1 (en) * 2017-01-04 2019-08-21 Samsung Electronics Co., Ltd. Electronic device and application sharing method thereof
US11317127B2 (en) 2017-08-17 2022-04-26 Roku, Inc. Intelligent download of content
US10873778B2 (en) * 2018-03-08 2020-12-22 Dish Network L.L.C. Reducing digital video recorder storage through reduced encoding of certain program portions
US11463763B2 (en) 2018-03-08 2022-10-04 Dish Network L.L.C. Reducing digital video recorder storage through reduced encoding of certain program portions

Citations (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953506A (en) * 1996-12-17 1999-09-14 Adaptive Media Technologies Method and apparatus that provides a scalable media delivery system
US20020038374A1 (en) * 1998-09-15 2002-03-28 Anoop Gupta Multimedia timeline modification in networked client/server systems
US6411302B1 (en) * 1999-01-06 2002-06-25 Concise Multimedia And Communications Inc. Method and apparatus for addressing multiple frame buffers
US20020161911A1 (en) * 2001-04-19 2002-10-31 Thomas Pinckney Systems and methods for efficient memory allocation for streaming of multimedia files
US20030023982A1 (en) * 2001-05-18 2003-01-30 Tsu-Chang Lee Scalable video encoding/storage/distribution/decoding for symmetrical multiple video processors
US20030185301A1 (en) * 2002-04-02 2003-10-02 Abrams Thomas Algie Video appliance
US6674796B1 (en) * 2000-02-14 2004-01-06 Harmonic, Inc. Statistical multiplexed video encoding for diverse video formats
US20040196972A1 (en) * 2003-04-01 2004-10-07 Bin Zhu Scalable, error resilient DRM for scalable media
US6810324B1 (en) * 2002-06-06 2004-10-26 Trimble Navigation, Ltd. Substitution of high quality position measurements with upgraded low quality position measurements
US20040236863A1 (en) * 2003-05-23 2004-11-25 Microsoft Corporation Systems and methods for peer-to-peer collaboration to enhance multimedia streaming
US20050036699A1 (en) * 2003-07-18 2005-02-17 Microsoft Corporation Adaptive multiple quantization
US20050120038A1 (en) * 2002-03-27 2005-06-02 Jebb Timothy R. Data structure for data streaming system
US20060095944A1 (en) * 2004-10-30 2006-05-04 Demircin Mehmet U Sender-side bandwidth estimation for video transmission with receiver packet buffer
US20060239345A1 (en) * 2002-09-20 2006-10-26 David Taubman Method of signalling motion information for efficient scalable video compression
US20070091997A1 (en) * 2003-05-28 2007-04-26 Chad Fogg Method And Apparatus For Scalable Video Decoder Using An Enhancement Stream
US7272658B1 (en) * 2003-02-13 2007-09-18 Adobe Systems Incorporated Real-time priority-based media communication
US20070266412A1 (en) * 2006-05-10 2007-11-15 Trowbridge Scott R Time-sliced multiplexed image display
US20080133767A1 (en) * 2006-11-22 2008-06-05 Metis Enterprise Technologies Llc Real-time multicast peer-to-peer video streaming platform
US20080281913A1 (en) * 2005-03-09 2008-11-13 Vudu, Inc. Live video broadcasting on distributed networks
US20080291827A1 (en) * 2007-05-22 2008-11-27 Bo Xiong Systems and methods for dynamic quality of service
US20090003097A1 (en) * 2005-09-20 2009-01-01 Elpida Memory, Inc. Output control signal generating circuit
US20090041021A1 (en) * 2007-08-09 2009-02-12 The Boeing Company Method And Computer Program Product For Compressing Time-Multiplexed Data And For Estimating A Frame Structure Of Time-Multiplexed Data
US20090313662A1 (en) * 2008-06-17 2009-12-17 Cisco Technology Inc. Methods and systems for processing multi-latticed video streams
US7672235B1 (en) * 2006-06-14 2010-03-02 Roxbeam Media Network Corporation System and method for buffering real-time streaming content in a peer-to-peer overlay network
US20100106797A1 (en) * 2008-10-23 2010-04-29 Qualcomm Incorporated Methods and apparatus for hybrid broadcast and peer-to-peer network using cooperative mimo
US20100150252A1 (en) * 2008-12-15 2010-06-17 Sony Ericsson Mobile Communications Ab Multimedia Stream Combining
US20100159965A1 (en) * 2008-12-23 2010-06-24 At&T Mobility Ii Llc Scalable message fidelity
US20100208790A1 (en) * 2009-02-13 2010-08-19 Jung-Chang Kuo Method and System for Reducing the Bit Stream and Electronic Device Thereof
US20100217887A1 (en) * 2008-10-30 2010-08-26 Nokia Corporation Method and apparatus for interleaving a data block
US20100260260A1 (en) * 2007-06-29 2010-10-14 Fraungofer-Gesellschaft zur Forderung der angewandten Forschung e.V. Scalable video coding supporting pixel value refinement scalability
US20100260192A1 (en) * 2009-04-14 2010-10-14 Skype Limited Optimising communications
US20100329126A1 (en) * 2009-06-24 2010-12-30 Nokia Corporation Method and apparatus for handling broken path in peer-to-peer network
US20100332671A1 (en) * 2009-06-25 2010-12-30 Stmicroelectronics S.R.L. Method and system for distribution of information contents and corresponding computer program product
US20110029684A1 (en) * 2008-04-11 2011-02-03 David Anthony Campana Staggercasting with temporal scalability
US20110113099A1 (en) * 2009-11-09 2011-05-12 Industrial Technology Research Institute Method for transmitting buffer map and network thereof
US20110110436A1 (en) * 2008-04-25 2011-05-12 Thomas Schierl Flexible Sub-Stream Referencing Within a Transport Data Stream
US7986637B2 (en) * 2005-01-21 2011-07-26 Polytechnic University On demand peer-to-peer video streaming with multiple description coding
US20110209185A1 (en) * 2006-08-01 2011-08-25 Microsoft Corporation Media content catalog service
US20110255535A1 (en) * 2006-09-14 2011-10-20 Opentv, Inc. Method and systems for data transmission
US20110274155A1 (en) * 2010-05-07 2011-11-10 The Board Of Trustees Of The Leland Stanford Junior University Apparatus, system, and method for distributed video transcoding
US20110289218A1 (en) * 2009-05-27 2011-11-24 Ray-V Technologies, Ltd. Method for actively sharing available bandwidth to consumer nodes in a peer-to-peer network for delivery of video streams
US20120054361A1 (en) * 2010-08-30 2012-03-01 Ray-V Technologies, Ltd. System and method for real-time transfer of video content to a distribution node of a p2p network over an internet protocol network
US20120054818A1 (en) * 2010-08-30 2012-03-01 Stanford University Enhanced video streaming to mobile clients
US20120060196A1 (en) * 2010-09-02 2012-03-08 Ching-Lung Chang Machanism of interleaving video frame storage for p2p-based vod streaming system
US20120222075A1 (en) * 2009-11-09 2012-08-30 Huawei Technologies Co., Ltd. Method, terminal, and server for implementing fast playout
US8386630B1 (en) * 2007-09-09 2013-02-26 Arris Solutions, Inc. Video-aware P2P streaming and download with support for real-time content alteration
US20130058480A1 (en) * 2011-09-01 2013-03-07 Rovi Corp. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US20130114594A1 (en) * 2005-01-26 2013-05-09 Blitz Stream Video, Llc Layered Multicast and Fair Bandwidth Allocation and Packet Prioritization
US8571027B2 (en) * 2007-04-18 2013-10-29 At&T Intellectual Property I, L.P. System and method for multi-rate video delivery using multicast stream
US8631148B2 (en) * 2008-12-05 2014-01-14 Lemi Technology, Llc Method of providing proximity-based quality for multimedia content
US8812718B2 (en) * 2007-08-15 2014-08-19 International Business Machines Corporation System and method of streaming data over a distributed infrastructure

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973475B2 (en) * 1999-09-18 2005-12-06 Wildtangent Dynamic scalable multi-media content streaming
US20030233464A1 (en) * 2002-06-10 2003-12-18 Jonathan Walpole Priority progress streaming for quality-adaptive transmission of data
FR2855702A1 (en) * 2003-05-30 2004-12-03 France Telecom METHOD FOR PROCESSING MULTIMEDIA CONTENT DESCRIPTION DATA SETS, USING THE SAME, AND CORRESPONDING DEVICE
US7958252B2 (en) 2004-05-04 2011-06-07 Qualcomm Incorporated System for scalable transmission of content in a data network
US20060023748A1 (en) 2004-07-09 2006-02-02 Chandhok Ravinder P System for layering content for scheduled delivery in a data network
US20060047779A1 (en) * 2004-07-12 2006-03-02 Sharp Laboratories Of America, Inc. HTTP agent-driven content negotiation for scalable video coding
US7174385B2 (en) * 2004-09-03 2007-02-06 Microsoft Corporation System and method for receiver-driven streaming in a peer-to-peer network
US7664109B2 (en) * 2004-09-03 2010-02-16 Microsoft Corporation System and method for distributed streaming of scalable media
WO2006064454A1 (en) * 2004-12-15 2006-06-22 Koninklijke Philips Electronics N.V. Method and system for the transmission of digital video over a wireless network
US20060184688A1 (en) * 2005-02-17 2006-08-17 Nec Laboratories America, Inc. System and Method for Parallel Indirect Streaming of Stored Media from Multiple Sources
US8773494B2 (en) * 2006-08-29 2014-07-08 Microsoft Corporation Techniques for managing visual compositions for a multimedia conference call
US8290037B2 (en) * 2007-06-28 2012-10-16 Polytechnic Institute Of New York University Feedback assisted transmission of multiple description, forward error correction coded, streams in a peer-to-peer video system
US8230100B2 (en) * 2007-07-26 2012-07-24 Realnetworks, Inc. Variable fidelity media provision system and method
JP5339697B2 (en) * 2007-08-14 2013-11-13 キヤノン株式会社 Transmission device, transmission method, and computer program
WO2009036461A2 (en) * 2007-09-13 2009-03-19 Lightspeed Audio Labs, Inc. System and method for streamed-media distribution using a multicast, peer-to-peer network

Patent Citations (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953506A (en) * 1996-12-17 1999-09-14 Adaptive Media Technologies Method and apparatus that provides a scalable media delivery system
US20020038374A1 (en) * 1998-09-15 2002-03-28 Anoop Gupta Multimedia timeline modification in networked client/server systems
US6411302B1 (en) * 1999-01-06 2002-06-25 Concise Multimedia And Communications Inc. Method and apparatus for addressing multiple frame buffers
US6674796B1 (en) * 2000-02-14 2004-01-06 Harmonic, Inc. Statistical multiplexed video encoding for diverse video formats
US20020161911A1 (en) * 2001-04-19 2002-10-31 Thomas Pinckney Systems and methods for efficient memory allocation for streaming of multimedia files
US20030023982A1 (en) * 2001-05-18 2003-01-30 Tsu-Chang Lee Scalable video encoding/storage/distribution/decoding for symmetrical multiple video processors
US20050120038A1 (en) * 2002-03-27 2005-06-02 Jebb Timothy R. Data structure for data streaming system
US20030185301A1 (en) * 2002-04-02 2003-10-02 Abrams Thomas Algie Video appliance
US6810324B1 (en) * 2002-06-06 2004-10-26 Trimble Navigation, Ltd. Substitution of high quality position measurements with upgraded low quality position measurements
US20060239345A1 (en) * 2002-09-20 2006-10-26 David Taubman Method of signalling motion information for efficient scalable video compression
US7272658B1 (en) * 2003-02-13 2007-09-18 Adobe Systems Incorporated Real-time priority-based media communication
US20040196972A1 (en) * 2003-04-01 2004-10-07 Bin Zhu Scalable, error resilient DRM for scalable media
US20040236863A1 (en) * 2003-05-23 2004-11-25 Microsoft Corporation Systems and methods for peer-to-peer collaboration to enhance multimedia streaming
US20070091997A1 (en) * 2003-05-28 2007-04-26 Chad Fogg Method And Apparatus For Scalable Video Decoder Using An Enhancement Stream
US20050036699A1 (en) * 2003-07-18 2005-02-17 Microsoft Corporation Adaptive multiple quantization
US20060095944A1 (en) * 2004-10-30 2006-05-04 Demircin Mehmet U Sender-side bandwidth estimation for video transmission with receiver packet buffer
US7986637B2 (en) * 2005-01-21 2011-07-26 Polytechnic University On demand peer-to-peer video streaming with multiple description coding
US20130114594A1 (en) * 2005-01-26 2013-05-09 Blitz Stream Video, Llc Layered Multicast and Fair Bandwidth Allocation and Packet Prioritization
US20080281913A1 (en) * 2005-03-09 2008-11-13 Vudu, Inc. Live video broadcasting on distributed networks
US20090003097A1 (en) * 2005-09-20 2009-01-01 Elpida Memory, Inc. Output control signal generating circuit
US20070266412A1 (en) * 2006-05-10 2007-11-15 Trowbridge Scott R Time-sliced multiplexed image display
US7672235B1 (en) * 2006-06-14 2010-03-02 Roxbeam Media Network Corporation System and method for buffering real-time streaming content in a peer-to-peer overlay network
US20110209185A1 (en) * 2006-08-01 2011-08-25 Microsoft Corporation Media content catalog service
US20110255535A1 (en) * 2006-09-14 2011-10-20 Opentv, Inc. Method and systems for data transmission
US20080133767A1 (en) * 2006-11-22 2008-06-05 Metis Enterprise Technologies Llc Real-time multicast peer-to-peer video streaming platform
US8571027B2 (en) * 2007-04-18 2013-10-29 At&T Intellectual Property I, L.P. System and method for multi-rate video delivery using multicast stream
US20080291827A1 (en) * 2007-05-22 2008-11-27 Bo Xiong Systems and methods for dynamic quality of service
US20100260260A1 (en) * 2007-06-29 2010-10-14 Fraungofer-Gesellschaft zur Forderung der angewandten Forschung e.V. Scalable video coding supporting pixel value refinement scalability
US20090041021A1 (en) * 2007-08-09 2009-02-12 The Boeing Company Method And Computer Program Product For Compressing Time-Multiplexed Data And For Estimating A Frame Structure Of Time-Multiplexed Data
US8812718B2 (en) * 2007-08-15 2014-08-19 International Business Machines Corporation System and method of streaming data over a distributed infrastructure
US8386630B1 (en) * 2007-09-09 2013-02-26 Arris Solutions, Inc. Video-aware P2P streaming and download with support for real-time content alteration
US20110029684A1 (en) * 2008-04-11 2011-02-03 David Anthony Campana Staggercasting with temporal scalability
US20110110436A1 (en) * 2008-04-25 2011-05-12 Thomas Schierl Flexible Sub-Stream Referencing Within a Transport Data Stream
US20090313662A1 (en) * 2008-06-17 2009-12-17 Cisco Technology Inc. Methods and systems for processing multi-latticed video streams
US20100106797A1 (en) * 2008-10-23 2010-04-29 Qualcomm Incorporated Methods and apparatus for hybrid broadcast and peer-to-peer network using cooperative mimo
US20100217887A1 (en) * 2008-10-30 2010-08-26 Nokia Corporation Method and apparatus for interleaving a data block
US8631148B2 (en) * 2008-12-05 2014-01-14 Lemi Technology, Llc Method of providing proximity-based quality for multimedia content
US20100150252A1 (en) * 2008-12-15 2010-06-17 Sony Ericsson Mobile Communications Ab Multimedia Stream Combining
US20100159965A1 (en) * 2008-12-23 2010-06-24 At&T Mobility Ii Llc Scalable message fidelity
US20100208790A1 (en) * 2009-02-13 2010-08-19 Jung-Chang Kuo Method and System for Reducing the Bit Stream and Electronic Device Thereof
US20100260192A1 (en) * 2009-04-14 2010-10-14 Skype Limited Optimising communications
US20110289218A1 (en) * 2009-05-27 2011-11-24 Ray-V Technologies, Ltd. Method for actively sharing available bandwidth to consumer nodes in a peer-to-peer network for delivery of video streams
US20100329126A1 (en) * 2009-06-24 2010-12-30 Nokia Corporation Method and apparatus for handling broken path in peer-to-peer network
US20100332671A1 (en) * 2009-06-25 2010-12-30 Stmicroelectronics S.R.L. Method and system for distribution of information contents and corresponding computer program product
US20120222075A1 (en) * 2009-11-09 2012-08-30 Huawei Technologies Co., Ltd. Method, terminal, and server for implementing fast playout
US20110113099A1 (en) * 2009-11-09 2011-05-12 Industrial Technology Research Institute Method for transmitting buffer map and network thereof
US20110274155A1 (en) * 2010-05-07 2011-11-10 The Board Of Trustees Of The Leland Stanford Junior University Apparatus, system, and method for distributed video transcoding
US20120054361A1 (en) * 2010-08-30 2012-03-01 Ray-V Technologies, Ltd. System and method for real-time transfer of video content to a distribution node of a p2p network over an internet protocol network
US20120054818A1 (en) * 2010-08-30 2012-03-01 Stanford University Enhanced video streaming to mobile clients
US20120060196A1 (en) * 2010-09-02 2012-03-08 Ching-Lung Chang Machanism of interleaving video frame storage for p2p-based vod streaming system
US20130058480A1 (en) * 2011-09-01 2013-03-07 Rovi Corp. Systems and methods for saving encoded media streamed using adaptive bitrate streaming

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180080682A (en) * 2017-01-04 2018-07-12 삼성전자주식회사 Electronic device and method for sharing application in electronic device
KR102353305B1 (en) 2017-01-04 2022-01-20 삼성전자주식회사 Electronic device and method for sharing application in electronic device

Also Published As

Publication number Publication date
US20100169414A1 (en) 2010-07-01
US9386090B2 (en) 2016-07-05
EP2204965A1 (en) 2010-07-07
EP2204965B1 (en) 2016-07-27

Similar Documents

Publication Publication Date Title
US20160316009A1 (en) Device and method for receiving scalable content from multiple sources having different content quality
US11356539B2 (en) Dynamic utilization of condensing metadata
US9979771B2 (en) Adaptive variable fidelity media distribution system and method
KR101120796B1 (en) Session description message extensions
US8165343B1 (en) Forensic watermarking
US20200285615A1 (en) Auxiliary manifest file to provide timed metadata
US9136958B2 (en) Methods and apparatus for providing hybrid unicast broadcast services
CN104737518B (en) The system and method for indicating and transmitting for data
CN102694831B (en) Mobile terminal streaming compensation data method and system, content distributing network
US9727384B2 (en) Method and system for cloud computing services for use with client devices having memory cards
TW201006192A (en) Multimedia streaming transmission system and method thereof
CN1656789A (en) System for adaptation of sip messages based on recipient's terminal capabilities and preferences
CN103905516B (en) The method and respective server and terminal of sharing data
CN103281294A (en) Data sharing method and electronic equipment
CN105992044A (en) Method and system of transcoding HLS to RTMP live streaming
JP2018514967A (en) Display for partial segments
JP6619017B2 (en) Display for partial segments
US20110302269A1 (en) Flexible data structures and protocols
TW200533090A (en) System and method for compressing data
KR102373195B1 (en) Receiving device, transmission device, data communication method, and data processing method
CN103561282A (en) Streaming media file data transmission method and device
KR20130037315A (en) Device and method for providing video file
CN101465861B (en) System, method and computer programming product for transmitting and/or receiving medium current
KR101072475B1 (en) Method for streaming contents of external contents server and apparatus thereof
Li Three-dimensional progressive mesh compression and streaming

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: MOTOROLA, INC., ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PAVOT, CHRISTOPHE;PAPIN, THOMAS;EHRHART, FRANCOIS-XAVIER;SIGNING DATES FROM 20100110 TO 20100121;REEL/FRAME:055166/0138

Owner name: MOTOROLA MOBILITY, LLC, ILLINOIS

Free format text: CHANGE OF NAME;ASSIGNOR:MOTOROLA MOBILITY, INC.;REEL/FRAME:055166/0482

Effective date: 20120622

Owner name: GOOGLE TECHNOLOGY HOLDINGS LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA MOBILITY, LLC;REEL/FRAME:055230/0001

Effective date: 20141028

Owner name: MOTOROLA MOBILITY, INC., ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA, INC.;REEL/FRAME:056873/0208

Effective date: 20100731