US20140040970A1 - Methods using base content and additive content and related client devices and network server devices - Google Patents
Methods using base content and additive content and related client devices and network server devices Download PDFInfo
- Publication number
- US20140040970A1 US20140040970A1 US13/564,980 US201213564980A US2014040970A1 US 20140040970 A1 US20140040970 A1 US 20140040970A1 US 201213564980 A US201213564980 A US 201213564980A US 2014040970 A1 US2014040970 A1 US 2014040970A1
- Authority
- US
- United States
- Prior art keywords
- content
- additive
- segment
- base
- client device
- 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.)
- Granted
Links
- 239000000654 additive Substances 0.000 title claims abstract description 372
- 230000000996 additive effect Effects 0.000 title claims abstract description 372
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000001360 synchronised effect Effects 0.000 claims abstract description 32
- 238000004891 communication Methods 0.000 claims description 21
- 238000009877 rendering Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 238000005304 joining Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
- H04N21/43072—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234327—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/64—Addressing
- H04N21/6405—Multicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/64—Addressing
- H04N21/6408—Unicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Definitions
- the present disclosure is directed to communications and, more particularly, to methods of transmitting/receiving content and related client devices and network server devices.
- Adaptive streaming of video content may include transmitting a unique video stream to each receiving user, and increasing or decreasing the bit rate of the unique video stream based on available bandwidth.
- video content may be compressed as multiple layers that provide different levels of video quality.
- SVC Scalable Video Coding
- SVC provides scalability of a video stream by extraction of portions of an encoded bit stream.
- Scalability of the bit stream may allow the extraction of video sequences with different frame rates from the bit stream. Scalability of the bit stream may also allow the extraction of video sequences with different spatial resolutions. Moreover, scalability of the bit stream may allow coarse-grain quality scalable coding or medium-grain quality scalable coding.
- Current adaptive bit rate streaming solutions transmit larger unique video streams as bandwidth requirements increase, which may be inefficient and burdensome to a network. Thus, there is a need for methods and devices that address this deficiency of current adaptive bit rate streaming solutions.
- Various embodiments of present inventive concepts may provide operations of broadcasting or multicasting base content (e.g., a base layer of video) to a group of receivers in a network and selectively unicasting or multicasting additive content that enhances the base content to a subset of that group.
- the combination of broadcasting/multicasting base content to a relatively large group and unicasting/multicasting additive content to a smaller subset of that group may improve network efficiency (e.g., reduce network bandwidth burdens) because the network may always have enough bandwidth for the base content and because the network may not be required to repeatedly determine whether to transmit the base content.
- the sender e.g., a network server
- some embodiments of the present invention may provide methods of operating a network server device.
- the methods may include establishing a session with a client device, and transmitting a first base segment providing first base content for a first time segment to the client device.
- a second base segment providing second base content for a second time segment may be transmitted to the client device.
- An additive segment including additive content for the second time segment may be transmitted to the client device.
- the additive content may be synchronized with the second base content.
- the first base content may include video content for the first time segment
- the second base content and the additive content may include video content for the second time segment
- the methods may further include detecting a change in an available bandwidth of a communication path between the network server device and the client device. Also, transmitting the additive segment may include transmitting the additive segment responsive to the available bandwidth exceeding a threshold.
- the methods may further include receiving a notification from the client device. Also, transmitting the additive segment may include transmitting the additive segment responsive to the notification from the client device.
- a resolution of a combination of the additive content and the second base content may be greater than a resolution of the first base content.
- the additive content may include first additive content.
- a third base segment providing third base content for a third time segment may be transmitted to the client device.
- a second additive segment including second additive content for the third time segment may be transmitted to the client device.
- the second additive content may be synchronized with the third base content.
- a resolution of a combination of the second additive content and the third base content may be greater than a resolution of a combination of the first additive content and the second base content.
- the additive content may include first additive content.
- the methods may include transmitting a third base segment providing third base content for a third time segment to the client device.
- the methods may also include transmitting a second additive segment including second additive content for the third time segment to the client device.
- the second additive content may be synchronized with the third base content.
- the methods may further include transmitting a third additive segment including third additive content for the third time segment to the client device.
- the third additive content may be synchronized with the third base content and the second additive content.
- a resolution of a combination of the second additive content, the third additive content, and the third base content may be greater than a resolution of a combination of the first additive content and the second base content.
- the first base content and the second base content may define respective first and second consecutive segments of continuous video having equal time duration.
- the methods may further include, after transmitting the second base segment, transmitting a third base segment providing third base content for a third time segment to the client device.
- transmitting the additive segment may include transmitting the additive segment after transmitting the third base segment.
- the client device may include a first client device.
- Methods of operating a client device may include establishing a session with a network server device.
- the methods may also include receiving a first base segment providing first base content for a first time segment.
- the methods may additionally include receiving a second base segment providing second base content for a second time segment.
- the methods may further include receiving an additive segment including additive content for the second time segment. Also, the additive content may be synchronized with the second base content.
- the first base content may include video content for the first time segment
- the second base content and the additive content may include video content for the second time segment
- the methods may further include, before receiving the additive segment, transmitting a notification to the network server device responsive to detecting a change in available bandwidth.
- transmitting the notification may include transmitting the notification responsive to the available bandwidth exceeding a threshold.
- a resolution of a combination of the additive content and the second base content may be greater than a resolution of the first base content.
- the additive content may include first additive content.
- the methods may further include receiving a third base segment providing third base content for a third time segment from the network server device.
- the methods may also include receiving a second additive segment including second additive content for the third time segment from the network server device.
- the second additive content may be synchronized with the third base content.
- a resolution of a combination of the second additive content and the third base content may be greater than a resolution of a combination of the first additive content and the second base content.
- the additive content may include first additive content.
- the methods may include receiving a third base segment providing third base content for a third time segment from the network server device.
- the methods may also include receiving a second additive segment including second additive content for the third time segment from the network server device.
- the second additive content may be synchronized with the third base content.
- the methods may further include receiving a third additive segment including third additive content for the third time segment from the network server device.
- the third additive content may be synchronized with the third base content and the second additive content.
- a resolution of a combination of the second additive content, the third additive content, and the third base content may be greater than a resolution of a combination of the first additive content and the second base content.
- the first base content and the second base content may define respective first and second consecutive segments of continuous video having equal time duration.
- the methods may further include, after receiving the second base segment, receiving a third base segment providing third base content for a third time segment from the network server device. Also, receiving the additive segment may include receiving the additive segment after receiving the third base segment.
- the methods may further include rendering video on a display of the client device.
- rendering may include rendering first resolution video output over the first time segment responsive to the first base content and rendering second resolution video output over the second time segment responsive to the second base content and the additive content, where the first resolution is less than the second resolution.
- Network server devices may include a network interface configured to provide a communication interface with a network.
- the network server devices may also include a processor coupled to the network interface, the processor being configured to establish a session with a client device, transmit a first base segment providing first base content for a first time segment to the client device, transmit a second base segment providing second base content for a second time segment to the client device, and transmit an additive segment including additive content for the second time segment to the client device.
- the additive content may be synchronized with the second base content.
- the first base content may include video content for the first time segment.
- the second base content and the additive content may include video content for the second time segment.
- the processor may be configured to detect a change in an available bandwidth of a communication path between a network server device and the client device. Also, transmitting the additive segment may include transmitting the additive segment responsive to the available bandwidth exceeding a threshold.
- the processor may be configured to receive a notification from the client device. Also, transmitting the additive segment may include transmitting the additive segment responsive to the notification from the client device.
- Client devices may include a network interface configured to provide a communication interface with a network.
- the client devices may also include a processor coupled to the network interface, the processor being configured to establish a session with a network server device, receive a first base segment providing first base content for a first time segment, receive a second base segment providing second base content for a second time segment, and receive an additive segment including additive content for the second time segment.
- the additive content may be synchronized with the second base content.
- the first base content may include video content for the first time segment
- the second base content and the additive content may include video content for the second time segment
- the processor may be configured to, before receiving the additive segment, transmit a notification to the network server device responsive to detecting a change in available bandwidth.
- transmitting the notification may include transmitting the notification responsive to the available bandwidth exceeding a threshold.
- FIG. 1A is a schematic illustration of a network that provides communications between a network server device and client devices, according to various embodiments
- FIG. 1B is a block diagram of the network server device of FIG. 1A , according to various embodiments;
- FIG. 1C is a block diagram of one of the client devices of FIG. 1A , according to various embodiments;
- FIGS. 2A-2D are schematic illustrations of transmissions of base segments and additive segments from the network server device of FIG. 1A to one or more of the client devices of FIG. 1A , according to various embodiments;
- FIGS. 3A-3C are flowcharts illustrating operations of the network server device of FIG. 1A , according to various embodiments.
- FIGS. 4A and 4B are flowcharts illustrating operations of one of the client devices of FIG. 1A , according to various embodiments.
- the terms “comprise,” “comprising,” “comprises,” “include,” “including,” “includes,” “have,” “has,” “having,” or variants thereof are open-ended, and include one or more stated features, elements, steps, components or functions but do not preclude the presence or addition of one or more other features, elements, steps, components, functions or groups thereof.
- the common abbreviation “e.g.” which derives from the Latin phrase “exempli gratia,” may be used to introduce or specify a general example or examples of a previously mentioned item, and is not intended to be limiting of such item.
- the common abbreviation “i.e.” which derives from the Latin phrase “id est,” may be used to specify a particular item from a more general recitation.
- Example embodiments are described herein with reference to block diagrams and/or flowchart illustrations of computer-implemented methods, apparatus (systems and/or devices) and/or computer program products. It is understood that a block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by computer program instructions that are performed by one or more computer circuits.
- These computer program instructions may be provided to a processor circuit of a general purpose computer circuit, special purpose computer circuit, and/or other programmable data processing circuit to produce a machine, such that the instructions, which execute via the processor of the computer and/or other programmable data processing apparatus, transform and control transistors, values stored in memory locations, and other hardware components within such circuitry to implement the functions/acts specified in the block diagrams and/or flowchart block or blocks, and thereby create means (functionality) and/or structure for implementing the functions/acts specified in the block diagrams and/or flowchart block(s).
- These computer program instructions may also be stored in a tangible computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the functions/acts specified in the block diagrams and/or flowchart block or blocks.
- a tangible, non-transitory computer-readable medium may include an electronic, magnetic, optical, electromagnetic, or semiconductor data storage system, apparatus, or device. More specific examples of the computer-readable medium would include the following: a portable computer diskette, a random access memory (RAM) circuit, a read-only memory (ROM) circuit, an erasable programmable read-only memory (EPROM or Flash memory) circuit, a portable compact disc read-only memory (CD-ROM), and a portable digital video disc read-only memory (DVD/Blu-ray).
- RAM random access memory
- ROM read-only memory
- EPROM or Flash memory erasable programmable read-only memory
- CD-ROM compact disc read-only memory
- DVD/Blu-ray portable digital video disc read-only memory
- the computer program instructions may also be loaded onto a computer and/or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer and/or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks.
- embodiments of the disclosure may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.) that runs on a processor such as a digital signal processor, which may collectively be referred to as “circuitry,” “a module,” or variants thereof.
- client devices may include wireless communication terminals (e.g., portable electronic devices/wireless terminals/mobile terminals/terminals) that are configured to carry out cellular and/or Wireless Local Area Network (WLAN)(e.g., 802.11) communications.
- WLAN Wireless Local Area Network
- present inventive concepts are not limited to such embodiments and may be embodied generally in any device and/or system that is configured to receive/render video content.
- the client devices may also include televisions (and/or receivers/boxes/media players connected thereto), desktop computers, and portable computers.
- Adaptive streaming technologies may use a unicast model in which a unique video stream is transmitted to each receiving user.
- the unicast model involves a one-to-one relationship between a sender and a receiver for all transmissions.
- a broadcast model includes transmitting data to a relatively large reception group (e.g., an entire network)
- a multicast model includes transmitting data to a certain physical/logical/virtual region (e.g., a group of receivers or a node; i.e., a subset of the relatively large reception group) within the network but not to the entire network.
- Unicast models thus may use network resources (e.g., bandwidth/capacity) inefficiently.
- Various embodiments of present inventive concepts may provide operations of broadcasting or multicasting base content (e.g., a base layer of video) to a group of receivers in a network and selectively unicasting or multicasting additive content that enhances the base content to a subset of that group.
- base content e.g., a base layer of video
- the combination of broadcasting/multicasting base content to a relatively large group and unicasting/multicasting additive content to a smaller subset of that group may improve network efficiency (e.g., reduce network bandwidth burdens) because the network may always have enough bandwidth for the base content and because the network may not be required to repeatedly determine whether to transmit the base content.
- the sender e.g., a network server
- the base content may represent a lowest bit rate possible and may be delivered at all times (e.g., for all time segments), whereas the additive content may only be delivered when sufficient bandwidth/capacity is available on a receiver-by-receiver basis.
- a schematic illustration is provided of a network 110 that provides communications between a network server device 100 and client devices 120 , 121 , . . . 12 n, according to various embodiments.
- the network server device 100 may transmit content (e.g., video content) over the network 110 to the client devices 120 , 121 , . . . 12 n .
- the client devices 120 , 121 , . . . 12 n may transmit requests for content and feedback regarding received content over the network 110 to the network server device 100 .
- the network 110 may be wireless (e.g., cellular or WLAN) and/or wired (e.g., cable or fiber optic).
- the client devices 120 , 121 , . . . 12 n may, for example, be wireless terminals communicating with the network server device 100 over wireless and wired network elements.
- FIG. 1B a block diagram is provided of the network server device 100 of FIG. 1A , according to various embodiments.
- the network server device 100 may include a network interface 102 that is configured to provide a communication interface with the network 110 .
- the network server device 100 may further include a processor 101 that is coupled to the network interface 102 .
- the processor 101 may be configured to establish a session with a client device 120 through the network interface 102 and the network 110 and to transmit (e.g., control transmission of) base segments including base content and additive segments including additive content to the client device 120 through the network interface 102 and the network 110 .
- the network server device 100 may also include a memory 103 that is coupled to the processor 101 .
- the memory 103 may store the base content, the additive content, and/or instructions/algorithms used to transmit the base content and/or the additive content to the client devices 120 , 121 , . . . 12 n.
- the network server device 100 may include a single server or a combination of servers that transmit content to the client devices 120 , 121 , . . . 12 n.
- the base content and/or the additive content may be distributed/stored among different servers.
- FIG. 1C a block diagram is provided for one of the client devices 120 , 121 , . . . 12 n of FIG. 1A , according to various embodiments.
- the client device 120 may include a network interface 132 that is configured to provide a communication interface with the network 110 .
- the network interface 132 may include one or more antennas for wireless communications and/or may include ports (e.g., cable, fiber optic ports) for wired communications.
- the client device 120 may further include a processor 131 that is coupled to the network interface 132 .
- the processor 131 may be configured to establish a session with the network server device 100 (through the network interface 132 and the network 110 ) and to receive base segments including base content and additive segments including additive content from the network server device 100 (through the network interface 132 and the network 110 ).
- the client device 120 may also include a display 136 , keypad 137 , speaker 138 , memory 133 , microphone 134 , and/or camera 135 . It will be understood, however, that some embodiments (e.g., television embodiments) of the client device 120 may omit components such as the keypad 137 , microphone 134 , and/or camera 135 .
- the memory 133 can store computer program instructions that, when executed by the processor 131 , carry out the operations (e.g., rendering video content, transmitting feedback to the network server device 100 ) described herein and shown in the figures.
- the memory 133 can be non-volatile memory, such as a flash memory, that retains the stored data while power is removed from the memory 133 .
- FIGS. 2A-2D schematic illustrations are provided of transmissions of base segments and additive segments from the network server device 100 of FIG. 1A to one or more of the client devices 120 , 121 , . . . 12 n of FIG. 1A , according to various embodiments.
- FIGS. 2A and 2B illustrate that the network server device 100 may store base segments including base content and additive segments including additive content.
- FIG. 2B illustrates individual ones of the base segments and additive segments that are illustrated in FIG. 2A .
- the base segments and additive segments stored in the network server device 100 may include segments of a digital file (e.g., a multimedia file including video content) that correspond to specific time segments/periods. Each of the file segments may be an independent file.
- a digital file e.g., a multimedia file including video content
- a base segment and an additive segment may be stored in the network server device 100 .
- the base segment corresponding to the first time segment TS1 provides base content that can be rendered/played by the client device 120
- the additive segment (or plurality of additive segments) corresponding to first time segment TS1 provides additive content that enhances that base content (e.g., that provides increased frame rate and/or resolution).
- the time segments TS1-TS5 may be consecutive time segments. Also, each of the time segments TS1-TS5 may have equal time duration (e.g., one (1) second or ten (10) seconds). Accordingly, the first time segment TS1 may correspond to the first ten (10) seconds of a video clip, the second time segment may correspond to the next ten (10) seconds of the video clip, and so on.
- the first through fifth base segments illustrated in FIG. 2A thus indicate consecutive segments of continuous video content. Additionally, it will be understood that the five (5) time segments TS1-TS5 are described herein to provide an example of time segments and corresponding base segments and additive segments. In other words, a movie, television show, or other video content transmitted by the network server device 100 may include hundreds or thousands (or more) of time segments.
- the additive segments illustrated in the network server device 100 of FIGS. 2A and 2B may include additive segments and additive content corresponding to each of the time segments TS1-TS5.
- the network server device 100 may store additive segments for each of the time segments TS1-TS5, a particular client device (e.g., the client device 120 ), however, may only receive additive segments from the network server device 100 during some of the time segments TS1-TS5.
- the network server device 100 may store various versions (e.g., sizes/quality levels) of additive content corresponding to the first time segment TS1 and the fourth time segment TS4 illustrated in FIG.
- FIG. 2A illustrates that the network server device 100 transmits additive segments including additive content that enhances the base content corresponding to the second time segment TS2, the third time segment TS3, and the fifth time segment TS5.
- FIG. 2B illustrates that the network server device 100 stores a base segment and a plurality of additive segments (e.g., low, medium, and large/high enhancement additive segments) for each of the time segments TS1-TS5.
- the base segments are sufficient for the client device 120 to render/play video content
- the client device 120 may receive one of the additive segments (e.g., one of the low, medium, or large/high enhancement additive segments), in addition to a base segment, to provide enhanced video content for a particular time segment.
- the first additive segment transmitted in FIG. 2A may be the low additive segment for the second time segment TS2 illustrated in FIG. 2B .
- the client device 120 may combine the first, second, and third additive segments illustrated in FIG. 2A with the second, third, and fifth base segments, respectively, to render/play video content for the second, third, and fifth time segments TS2, TS3, and TS5, respectively.
- the client device 120 may render/play video content for the first and fourth time segments TS1 and TS4 using only the base segment for the first time segment TS1 and the base segment for the fourth time segment TS4, respectively.
- the client device 120 may be able to receive at least one additive segment for every time segment (e.g., for each of the time segments TS1-TS5, or an entire television show or movie), and may thus be able to render/play enhanced video content for all time segments (e.g., for each of the time segments TS1-TS5, or an entire television show or movie).
- the additive segments may vary in data size/quality.
- the additive segment corresponding to the fifth time segment TS5 in FIG. 2A e.g., the large additive segment for the fifth time segment TS5 in FIG. 2B
- the additive segments may have equal sizes and/or may be layered with each other to provide different levels of content enhancement.
- the base segments may be transmitted from the network server device 100 to the client device 120 in a base segment stream 210 , which may be encoded at a minimum/lowest bit rate.
- the base segment stream 210 may be broadcast/multicast to all of the client devices 120 , 121 , . . . 12 n of the reception group at all times (e.g., for all time segments), and thus shared by all of the client devices 120 , 121 , . . . 12 n of the reception group, thereby reducing bandwidth burdens of the network 110 and/or the network server device 100 .
- the additive segments may be selectively transmitted from the network server device 100 to the client device 120 in an additive segment stream 220 , which may be encoded at a bit rate higher than the minimum/lowest bit rate (e.g., to provide an increased resolution, frame rate, etc.). Accordingly, the additive segment stream 220 may include additive segments of varying size/quality. Moreover, in contrast with the base segment stream 210 , the additive segment stream 220 may be selectively multicast or unicast to the client device 120 only when the bandwidth for doing so is available.
- the network server device 100 may transmit the additive segments to the client device 120 via a plurality of additive segment streams (e.g., a low size/quality additive segment stream, a medium size/quality additive segment stream, and a high size/quality additive segment stream).
- the plurality of additive segment streams may be different versions of a digital file encoded at different bit rates.
- the client device 120 may be configured to combine the base segment stream 210 and the additive segment stream 220 (or a plurality of additive segment streams) and to render continuous video using the combined streams.
- the network server device 100 may deliver the base segment stream 210 and the additive segment stream 220 to the client device 120 (e.g., a wireless terminal) simultaneously or nearly simultaneously (e.g., with a delay of no more than a few seconds).
- the client device 120 may begin receiving base segments and/or additive segments for a movie, and may begin rendering video upon receipt of a first base segment (or first group of base segments).
- the client device 120 may combine the additive segment stream 220 with the base segment stream 210 to provide enhanced (e.g., low, medium, or large/high enhancement) quality video content.
- enhanced e.g., low, medium, or large/high enhancement
- the network server device 100 may deliver the base segment stream 210 to a Digital Video Recorder (DVR).
- DVR Digital Video Recorder
- the DVR (which may be coupled to a television to provide the client device 120 ) may download base segments for an entire movie (or portion of a movie), and then may receive the additive segment stream 220 in real time (e.g., while playing back the base segment stream 210 ), and may combine the base segment stream 210 and the additive segment stream 220 to provide enhanced (e.g., low, medium, or large/high enhancement) quality video content.
- enhanced e.g., low, medium, or large/high enhancement
- the client device 120 may be configured to receive multiple encoded streams and to reassemble the encoded streams.
- the base segment stream 210 and the additive segment stream 220 may include segments of multimedia content (e.g., a movie) that has been recorded in its entirety, the base segment stream 210 and/or the additive segment stream 220 may also include segments of multimedia content for live/ongoing events such as sporting events or musical concerts.
- FIG. 2C illustrates that the base segment corresponding to the second time segment TS2 (e.g., FIG. 2 A's second base segment, which is the base segment for the time segment TS2 illustrated in FIG. 2B ) is broadcast/multicast from the network server device 100 to all of the client devices 120 , 121 , . . . 12 n of the reception group via the base segment stream 210 .
- the additive segment corresponding to the second time segment TS2 e.g., FIG. 2 A's first additive segment, which is the low additive segment for time segment TS2 illustrated in FIG. 2B
- the client devices 120 and 121 e.g., a subset of the reception group
- unicast to the client device 120 via the additive segment stream 220 .
- FIG. 2C also illustrates that the content of the base segment and the content of the additive segment corresponding to the second time segment TS2 are synchronized with respect to (e.g., each segment corresponds to the same portions of) the second time segment TS2.
- the additive content included in the additive segment corresponding to the second time segment TS2 is synchronized with the base content included in the base segment corresponding to the second time segment TS2 so that the corresponding base and additive segments can be combined to render the respective segment of the content being transmitted.
- playback (i.e., rendering) of a combination of the additive content and the base content corresponding to the second time segment TS2 may be seamless (i.e., without delay with respect to playback of the additive content and playback of the base content) and smooth.
- the additive content synchronized with base content for the second time segment TS2 includes additive content for seconds eleven (11) through twenty (20) of the video
- the base content for the second time segment TS2 includes base content for seconds eleven (11) through twenty (20) of the video.
- Synchronized content does not require synchronization of transmissions of base and additive segments including synchronized content.
- the client device 120 may match/combine the received base content and additive content that are synchronized with respect to the second time segment TS2.
- transmission of the additive segment stream 220 may be either delayed (e.g., before or after) or simultaneous with respect to transmission of the base segment stream 210 , irrespective of the synchronization and matching/combination of the base content and the additive content.
- the additive segment stream 220 and the base segment stream 210 may be transmitted via different paths of a network or even using different networks.
- the base segment stream 210 may be transmitted to the client device 120 via a cellular (e.g., Long Term Evolution (LTE)) network
- LTE Long Term Evolution
- cable/satellite/fiber optic networks may be used to transmit one or more of the additive segment stream 220 and the base segment stream 210 to the client device 120 .
- the quality level (e.g., resolution, frame rate, etc.) of a combination of the additive content corresponding to the second time segment TS2 and the base content corresponding to the second time segment TS2 is greater than the quality level of the base content corresponding to the first time segment TS1 illustrated in FIG. 2A .
- FIG. 2A illustrates that the additive segment corresponding to the third time segment TS3 (e.g., the medium additive segment for the third time segment TS3 illustrated in FIG. 2B ) is larger than the additive segment corresponding to the second time segment TS2 (e.g., the low additive segment for the second time segment TS2 illustrated in FIG. 2B ).
- the quality level (e.g., medium enhancement) of a combination of the additive content corresponding to the third time segment TS3 and the base content corresponding to the third time segment TS3 is greater than the quality level (e.g., low enhancement) of a combination of the additive content corresponding to the second time segment TS2 and the base content corresponding to the second time segment TS2
- the network server device 100 may store different sizes/quality levels of additive content for the same time segment.
- FIGS. 2A and 2B illustrate that for each of the time segments TS1-TS5, the network server device 100 may store low, medium, and large/high additive segments including additive content having low, medium, and large/high sizes/quality levels, respectively.
- FIG. 2A illustrates the single additive segment stream 220 including additive content of different sizes/quality levels
- FIG. 2D illustrates a plurality of additive segment streams 221 - 223 .
- FIG. 2D illustrates a low additive segment stream 221 including low additive segments having low additive content, a medium additive segment stream 222 including medium additive segments having medium additive content, and a large/high additive segment stream 223 including large/high additive segments having large/high additive content.
- FIG. 2B illustrates individual ones of the base segments and additive segments that are illustrated in FIG. 2D .
- the additive segment streams 221 - 223 may be transmitted individually from the network server device 100 to the client device 120 .
- the additive content of the additive segment streams 221 - 223 may then be matched/combined/layered at the client device 120 to enhance the base content from the base segment stream 210 .
- the base stream 210 and/or one or more of the additive streams 220 , 221 , 222 , 223 may be H.264/SVC bit streams.
- additive segments of the additive segment streams 221 - 223 may be either selectively/adaptively multicast or unicast to the client device 120 by the network server device 100 . Accordingly, it may be that none of the additive segments corresponding to the first time segment TS1 is transmitted to the client device 120 . Moreover, it may be that the low additive segment (but not the medium or large/high segments) corresponding to the third time segment TS3 is transmitted to the client device 120 , and that the low and medium additive segments (but not the large/high additive segment) corresponding to the fifth time segment TS5 are transmitted to the client device 120 .
- the large/high additive content does not necessarily have a larger data size than the low additive content. Rather, the large/high additive content may have the same data size, or even a smaller data size than the low additive content corresponding to a given time segment.
- the combination of the large/high additive content with the medium and low additive content and base content has a larger data size (and a higher quality) than the combination of either the low additive content or the medium additive content and base content.
- operations of the network server device 100 may include the processor 101 establishing (Block 301 ) a session with the client device 120 through the network interface 102 .
- the processor 101 may transmit (Block 302 ) a base segment (e.g., a first base segment) providing base content (e.g., first base content) for (e.g., corresponding to) a first time segment TS1 through the network interface 102 to the client device 120 .
- base segments described herein may be transmitted to a larger reception group of the client devices 120 , 121 , .
- transmitting (Block 302 ) the base segment may include broadcasting the base segment from the network server device 100 to each of the client devices 120 , 121 , . . . 12 n. Additionally, the base segment (and possibly subsequent base segments) may be simultaneously transmitted to each of the client devices 120 , 121 , . . . 12 n . Alternatively, the transmission of the base segment to the client device 121 may be delayed (e.g., by five (5) seconds or one (1) minute) with respect to the transmission of the base segment to the client device 120 .
- operations of the network server device 100 may include transmitting (Block 303 ) one or more authorized additive segments to one or more of the client devices 120 , 121 , . . . 12 n.
- transmitting (Block 303 ) the additive segment(s) may include transmitting the additive segment(s) to the client device 120 without transmitting the additive segment(s) to the client device 121 .
- the client device 120 may have authorized (e.g., via a user selection or an automated decision based on network conditions or device capabilities) one or more additive segments.
- a user of the client device 120 may have requested receipt of a movie at a large/high quality level (e.g., high definition (HD)), and transmitting the movie to the client device 120 at the large/high quality level may include transmitting multiple layers of additive segments corresponding to a given time segment (e.g., the first time segment TS1). Accordingly, the movie may begin with the base content enhanced by the additive content.
- Blocks 302 and 303 may be combined into one block, or the order/flow of Blocks 302 and 303 may be reversed.
- the processor 101 may determine (Block 304 ) whether a notification (e.g., a notification to maintain, increase, or decrease the quality/bandwidth of a stream/content) has been received from one or more of the client devices 120 , 121 , . . . 12 n. If a notification has not been received, then the network server device 100 may maintain (Block 305 ) the quality level of content transmitted to one or more of the client devices 120 , 121 , . . . 12 n.
- a notification e.g., a notification to maintain, increase, or decrease the quality/bandwidth of a stream/content
- the network server device 100 may transmit (Block 302 ) another base segment (e.g., a second base segment) providing addition base content (e.g., a second base content) for a second time segment TS2 to the client devices 120 , 121 , . . . 12 n . Additionally, if previously authorized, the network server device 100 may continue transmitting (Block 303 ) one or more additive segments to one or more of the client devices 120 , 121 ,. . . 12 n . For example, the network server device 100 may transmit (Block 303 ) another additive segment (e.g., a second additive segment) or other additive segments (e.g., second layers of additive segments) to the client device 120 .
- another additive segment e.g., a second additive segment
- other additive segments e.g., second layers of additive segments
- the network server device 100 may determine (Block 306 ) whether to increase or decrease the quality level of content transmitted to one or more of the client devices 120 , 121 , . . . 12 n. For example, the network server device 100 may make the determination (Block 306 ) using the notification (e.g., an express indication to increase or decrease quality, or an indication of network conditions such as available bandwidth). If the network server device 100 decides (Block 306 ) to decrease the quality level, then the network server device 100 will decrease (Block 307 ) the quality level by removing an additive segment (if an additive segment was previously authorized).
- the notification e.g., an express indication to increase or decrease quality, or an indication of network conditions such as available bandwidth
- the low quality additive segment will be removed from the second time segment TS2.
- no additive segment will be removed from the second time segment TS2 because no additive segment can be removed.
- the network server device 100 decides (Block 306 ) to increase the quality level, then the network server device 100 will increase (Block 308 ) the quality level by adding an additive segment (if an additional additive segment is available). For example, if a low quality additive segment was authorized for the first time segment TS1, then a medium quality additive segment (and possibly a large/high quality additive segment) will be added for the second time segment TS2. Alternatively, if a largest/highest additive segment was authorized for the first time segment TS1, then no larger/higher additive segment will be added for the second time segment TS2 because the largest/highest additive segment is already present.
- an additive segment if an additional additive segment is available. For example, if a low quality additive segment was authorized for the first time segment TS1, then a medium quality additive segment (and possibly a large/high quality additive segment) will be added for the second time segment TS2. Alternatively, if a largest/highest additive segment was authorized for the first time segment TS1, then no larger/higher additive segment will
- the network server device 100 will transmit (Blocks 302 , 303 ) a base segment and additive segment(s) (if available). For example, the network server device 100 may transmit (Block 302 ) a base segment for the second time segment TS2 and may transmit (Block 303 ) an additive segment (if available) for the second time segment TS2 responsive to the notification from the client device 120 . Additionally, the additive content for the second time segment TS2 is synchronized with the base content (e.g., second base content) for the second time segment TS2.
- the base content e.g., second base content
- the additive content for the second time segment TS2 and the base content for the second time segment TS2 are for the same time segment (i.e., the second time segment TS2) of video content.
- the additive content for the second time segment TS2 and the base content for the second time segment TS2 may be for the same scene or segment of a scene (e.g., group of frames) of a movie. Accordingly, the additive content for the second time segment TS2 enhances the quality of the base content for the second time segment TS2.
- FIG. 3B includes Blocks 301 , 302 , 303 , 305 , 306 , 307 , and 308 of FIG. 3A .
- FIG. 3B includes Block 304 ′, which is a modification of Block 304 of FIG. 3A .
- FIG. 3B illustrates monitoring an available bandwidth by detecting (Block 304 ′) a change (e.g., an increase or a decrease) in an available bandwidth of a communication path between the network server device 100 and the client device 120 .
- a change e.g., an increase or a decrease
- the available bandwidth may be defined as the capability of the client device 120 to receive (and/or of the network server device 100 to transmit) a higher quality stream, or the capability to continue receiving/transmitting an enhanced quality stream.
- the network server device 100 may detect (Block 304 ′) the change in the available bandwidth, and may decrease (Block 307 ) or increase (Block 308 ) content quality responsive to the detected change.
- the network server device 100 may determine that certain areas of the network 110 (e.g., areas including the client devices 120 , 121 ) are not receiving additive segments, and may therefore decide to discontinue transmissions of additive segments to those areas of the network 110 .
- the client device 120 or other devices may additionally or alternatively detect (Block 304 ′) the change.
- transmitting (Block 303 ) authorized additive segment(s) in FIG. 3B may be responsive to the available bandwidth (or a change thereof) exceeding a threshold.
- FIG. 3C includes Blocks 301 and 302 of FIG. 3A .
- FIG. 3C includes Block 302 *, Block 304 ′′, which is a modification of Block 304 of FIG. 3A
- Block 303 ′′ which is a modification of Block 303 of FIG. 3A
- FIG. 3C illustrates completing base segment transmission (Block 302 *) before transmitting (Block 303 ′′) one or more additive segments from the network server device 100 .
- completing base segment transmission may include completing base segment transmission for an entire video (e.g., an entire movie, television show, or other video clip) or for a scene or other subset of the video.
- FIG. 3C illustrates transmitting (Block 303 ′′) one or more additive segments responsive to a request (e.g., from the client device 120 ) for one or more additive segments (Block 304 ′′).
- the network server device 100 may transmit first, second, and third base segments to the client devices 120 , 120 , . . . 12 n in Block 302 of FIG. 3C .
- transmitting ( 303 ′′) the additive segment(s) in FIG. 3C may include transmitting ( 303 ′′) the additive segment(s) after transmitting (Block 302 ) the third base segment.
- FIGS. 4A and 4B flowcharts are provided illustrating operations of one of the client devices 120 , 121 , . . . 12 n of FIG. 1A , according to various embodiments.
- FIG. 4A illustrates operations of the client device 120 , which may include the processor 131 establishing (Block 401 ) a session with the network server device 100 .
- the processor 131 may receive (Block 402 ) a base segment providing base content for a first time segment TS1.
- the processor 131 may receive (Block 402 ) another base segment providing base content for a second time segment TS2.
- the processor 131 may receive (Block 402 ) an additive segment including additive content for the first time segment TS1 and/or an additive segment including additive content for the second time segment TS2.
- the additive content for a particular time segment is synchronized with the base content for that time segment.
- the client device 120 may match/combine additive content for the second time segment TS2 that is synchronized with base content for the second time segment TS2 to provide seamless and smooth playback of a combination of the additive content and the base content.
- the base content and additive content may include video content.
- the client device 120 may render (Block 417 ) video on a display (e.g., the display 136 illustrated in FIG. 1C ) of the client device 120 .
- Rendering (Block 417 ) video may include rendering the base/lowest quality (e.g., resolution, frame rate) video output over a given time period (e.g., the first time segment TS1) if only base content is received at the client device 120 for that time segment.
- rendering (Block 417 ) video may further include rendering higher (e.g., enhanced) quality video output over another time period (e.g., the second time segment TS2) responsive to receiving a combination of base content and additive content.
- operations of the client device 120 may further include the processor 131 detecting (Block 403 ) a change in available bandwidth for a communication path between the client device 120 and the network server device 100 .
- the client device 120 e.g., using the processor 131
- the notification may generally indicate that a change has been detected, or the notification may more specifically indicate a level of available bandwidth or may more specifically indicate an increase or decrease (e.g., an increase or decrease in available bandwidth, or a request to increase or decrease the resolution or data rate of content). Moreover, the notification may indicate that the client device 120 has requested a unicast transmission or has joined a multicast group. After transmitting (Block 404 ) the notification to the network server device 100 , the client device 120 may receive (Block 402 ) video segments including either increased or decreased quality video content.
- no additive segments are received by the client device 120 before transmitting (Block 404 ) the notification to the network server device 100 .
- the client device 120 may first transmit (Block 404 ) the notification to the network server device 100 responsive to detecting a change in available bandwidth.
- transmitting (Block 404 ) the notification may include transmitting the notification responsive to the available bandwidth (or a change thereof) exceeding a threshold.
- at least one additive segment may be received by the client device 120 before transmitting (Block 404 ) the notification to the network server device 100 .
- the client device 120 may have previously authorized (e.g., via a user selection or an automated decision based on network conditions or device capabilities) one or more additive segments before receiving any base or additive segments in Block 402 .
- An example of differences in device capabilities is that it may be inefficient/wasteful for a small-screen device (e.g., a portable electronic device with a small display screen) to receive high resolution video that it cannot fully display, whereas a big-screen HD television may be capable of more fully displaying the high resolution video.
- a small-screen device e.g., a portable electronic device with a small display screen
- a big-screen HD television may be capable of more fully displaying the high resolution video.
- the portable electronic device and the HD television may be owned by the same user and may even be located in the same room of a building, it may be more efficient for these devices with different capabilities to receive different levels of content enhancement. Accordingly, network efficiency may be increased if the client device 120 indicates its device capabilities to the network server device 100 , either before or after receiving a first additive segment.
- the client device 120 may request additive segments by transmitting (Block 404 ) the notification to the network server device 100 , it may be that the client device 120 never requests base segments. In other words, the client device 120 may receive (Block 402 ) at least one base segment responsive to the client device 120 joining a broadcast or a multicast. As the client device 120 may only request additive segments (and not request base segments, aside from joining a broadcast or multicast), network resources (e.g., bandwidth) may be preserved, thus increasing network efficiency.
- network resources e.g., bandwidth
- the client device 120 renders (Block 417 ′) video before receiving (Block 402 ′′) any additive segments from the network server device 100 .
- the client device 120 renders (Block 417 ′) video for a first time period (e.g., the first time segment TS1 and/or the second time segment TS2) using only a base segment (or base segments).
- FIG. 4B illustrates operations of the client device 120 that include establishing (Block 401 ) a session with the network server device 100 and receiving (Block 402 ′) a base segment providing base content.
- the operations of the client device 120 may further include determining (Block 411 ) whether base segment transmission is complete. If base segment transmission is not complete, then the client device 120 continues to receive base segments from the network server device 100 . If base segment transmission is complete, however, then the client device 120 renders (Block 417 ′) video using the received base segment(s).
- the client device 120 determines (Block 415 ) whether to request one or more additive segments. For example, the client device 120 may make the determination (Block 415 ) based on network conditions (e.g., available bandwidth) or device capabilities (e.g., resolution capabilities of the display 136 ). If no additive segments are to be requested, then the client device continues to receive (Block 402 ′) base segments from the network server device 100 and to render (Block 417 ′) video using the received base segments.
- network conditions e.g., available bandwidth
- device capabilities e.g., resolution capabilities of the display 136
- the client device 120 requests and receives (Block 402 ′′) the additive segment(s) from the network server device 100 , and then renders (Block 417 ′) video using a combination of one or more received base segments and one or more received additive segments.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- The present disclosure is directed to communications and, more particularly, to methods of transmitting/receiving content and related client devices and network server devices.
- Adaptive streaming of video content may include transmitting a unique video stream to each receiving user, and increasing or decreasing the bit rate of the unique video stream based on available bandwidth. Additionally, video content may be compressed as multiple layers that provide different levels of video quality. For example, the H.264/Scalable Video Coding (SVC) standard provides scalability of a video stream by extraction of portions of an encoded bit stream. As an example, An Evaluation of TCP-based Rate-Control Algorithms for Adaptive Internet Streaming of H.264/SVC by Robert Kuschnig et al. (Proceedings Of The First Annual ACM SIGMM Conference On Multimedia Systems, Pages 157-168, 2010) describes that video at a server is stored as a scalable H.264/SVC bit stream. Scalability of the bit stream may allow the extraction of video sequences with different frame rates from the bit stream. Scalability of the bit stream may also allow the extraction of video sequences with different spatial resolutions. Moreover, scalability of the bit stream may allow coarse-grain quality scalable coding or medium-grain quality scalable coding. Current adaptive bit rate streaming solutions, however, transmit larger unique video streams as bandwidth requirements increase, which may be inefficient and burdensome to a network. Thus, there is a need for methods and devices that address this deficiency of current adaptive bit rate streaming solutions.
- Various embodiments of present inventive concepts may provide operations of broadcasting or multicasting base content (e.g., a base layer of video) to a group of receivers in a network and selectively unicasting or multicasting additive content that enhances the base content to a subset of that group. The combination of broadcasting/multicasting base content to a relatively large group and unicasting/multicasting additive content to a smaller subset of that group may improve network efficiency (e.g., reduce network bandwidth burdens) because the network may always have enough bandwidth for the base content and because the network may not be required to repeatedly determine whether to transmit the base content. Moreover, the sender (e.g., a network server) may selectively/adaptively send additive video content to specific receivers when the network has sufficient bandwidth to support the additive video content.
- For example, some embodiments of the present invention may provide methods of operating a network server device. The methods may include establishing a session with a client device, and transmitting a first base segment providing first base content for a first time segment to the client device. A second base segment providing second base content for a second time segment may be transmitted to the client device. An additive segment including additive content for the second time segment may be transmitted to the client device. The additive content may be synchronized with the second base content.
- In various embodiments, the first base content may include video content for the first time segment, and the second base content and the additive content may include video content for the second time segment.
- According to various embodiments, the methods may further include detecting a change in an available bandwidth of a communication path between the network server device and the client device. Also, transmitting the additive segment may include transmitting the additive segment responsive to the available bandwidth exceeding a threshold.
- In various embodiments, the methods may further include receiving a notification from the client device. Also, transmitting the additive segment may include transmitting the additive segment responsive to the notification from the client device.
- According to various embodiments, a resolution of a combination of the additive content and the second base content may be greater than a resolution of the first base content.
- In various embodiments, the additive content may include first additive content. Also, a third base segment providing third base content for a third time segment may be transmitted to the client device. A second additive segment including second additive content for the third time segment may be transmitted to the client device. Additionally, the second additive content may be synchronized with the third base content. Moreover, a resolution of a combination of the second additive content and the third base content may be greater than a resolution of a combination of the first additive content and the second base content.
- According to various embodiments, the additive content may include first additive content. Also, the methods may include transmitting a third base segment providing third base content for a third time segment to the client device. The methods may also include transmitting a second additive segment including second additive content for the third time segment to the client device. Additionally, the second additive content may be synchronized with the third base content. Moreover, the methods may further include transmitting a third additive segment including third additive content for the third time segment to the client device. Furthermore, the third additive content may be synchronized with the third base content and the second additive content. Also, a resolution of a combination of the second additive content, the third additive content, and the third base content may be greater than a resolution of a combination of the first additive content and the second base content.
- In various embodiments, the first base content and the second base content may define respective first and second consecutive segments of continuous video having equal time duration.
- According to various embodiments, the methods may further include, after transmitting the second base segment, transmitting a third base segment providing third base content for a third time segment to the client device. Also, transmitting the additive segment may include transmitting the additive segment after transmitting the third base segment.
- In various embodiments, the client device may include a first client device. Also, the methods may include establishing a session with a second client device. Transmitting the first base segment may include transmitting the first base segment providing the first base content for the first time segment to the first and second client devices. Transmitting the second base segment may include transmitting the second base segment providing the second base content for the second time segment to the first and second client devices. Additionally, transmitting the additive segment may include transmitting the additive segment to the first client device without transmitting the additive segment to the second client device.
- Methods of operating a client device according to various embodiments may include establishing a session with a network server device. The methods may also include receiving a first base segment providing first base content for a first time segment. The methods may additionally include receiving a second base segment providing second base content for a second time segment. The methods may further include receiving an additive segment including additive content for the second time segment. Also, the additive content may be synchronized with the second base content.
- In various embodiments, the first base content may include video content for the first time segment, and the second base content and the additive content may include video content for the second time segment.
- According to various embodiments, the methods may further include, before receiving the additive segment, transmitting a notification to the network server device responsive to detecting a change in available bandwidth.
- In various embodiments, transmitting the notification may include transmitting the notification responsive to the available bandwidth exceeding a threshold.
- According to various embodiments, a resolution of a combination of the additive content and the second base content may be greater than a resolution of the first base content.
- In various embodiments, the additive content may include first additive content. Also, the methods may further include receiving a third base segment providing third base content for a third time segment from the network server device. The methods may also include receiving a second additive segment including second additive content for the third time segment from the network server device. Additionally, the second additive content may be synchronized with the third base content. Moreover, a resolution of a combination of the second additive content and the third base content may be greater than a resolution of a combination of the first additive content and the second base content.
- According to various embodiments, the additive content may include first additive content. Also, the methods may include receiving a third base segment providing third base content for a third time segment from the network server device. The methods may also include receiving a second additive segment including second additive content for the third time segment from the network server device. The second additive content may be synchronized with the third base content. Moreover, the methods may further include receiving a third additive segment including third additive content for the third time segment from the network server device. The third additive content may be synchronized with the third base content and the second additive content. Also, a resolution of a combination of the second additive content, the third additive content, and the third base content may be greater than a resolution of a combination of the first additive content and the second base content.
- In various embodiments, the first base content and the second base content may define respective first and second consecutive segments of continuous video having equal time duration.
- According to various embodiments, the methods may further include, after receiving the second base segment, receiving a third base segment providing third base content for a third time segment from the network server device. Also, receiving the additive segment may include receiving the additive segment after receiving the third base segment.
- In various embodiments, the methods may further include rendering video on a display of the client device. Also, rendering may include rendering first resolution video output over the first time segment responsive to the first base content and rendering second resolution video output over the second time segment responsive to the second base content and the additive content, where the first resolution is less than the second resolution.
- Network server devices according to various embodiments may include a network interface configured to provide a communication interface with a network. The network server devices may also include a processor coupled to the network interface, the processor being configured to establish a session with a client device, transmit a first base segment providing first base content for a first time segment to the client device, transmit a second base segment providing second base content for a second time segment to the client device, and transmit an additive segment including additive content for the second time segment to the client device. Also, the additive content may be synchronized with the second base content.
- In various embodiments of network server devices, the first base content may include video content for the first time segment. Also, the second base content and the additive content may include video content for the second time segment.
- According to various embodiments of network server devices, the processor may be configured to detect a change in an available bandwidth of a communication path between a network server device and the client device. Also, transmitting the additive segment may include transmitting the additive segment responsive to the available bandwidth exceeding a threshold.
- In various embodiments of network server devices, the processor may be configured to receive a notification from the client device. Also, transmitting the additive segment may include transmitting the additive segment responsive to the notification from the client device.
- Client devices according to various embodiments may include a network interface configured to provide a communication interface with a network. The client devices may also include a processor coupled to the network interface, the processor being configured to establish a session with a network server device, receive a first base segment providing first base content for a first time segment, receive a second base segment providing second base content for a second time segment, and receive an additive segment including additive content for the second time segment. Also, the additive content may be synchronized with the second base content.
- In various embodiments of client devices, the first base content may include video content for the first time segment, and the second base content and the additive content may include video content for the second time segment.
- According to various embodiments of client devices, the processor may be configured to, before receiving the additive segment, transmit a notification to the network server device responsive to detecting a change in available bandwidth.
- In various embodiments of client devices, transmitting the notification may include transmitting the notification responsive to the available bandwidth exceeding a threshold.
- The accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this application, illustrate certain non-limiting embodiment(s) of the disclosure. In the drawings:
-
FIG. 1A is a schematic illustration of a network that provides communications between a network server device and client devices, according to various embodiments; -
FIG. 1B is a block diagram of the network server device ofFIG. 1A , according to various embodiments; -
FIG. 1C is a block diagram of one of the client devices ofFIG. 1A , according to various embodiments; -
FIGS. 2A-2D are schematic illustrations of transmissions of base segments and additive segments from the network server device ofFIG. 1A to one or more of the client devices ofFIG. 1A , according to various embodiments; -
FIGS. 3A-3C are flowcharts illustrating operations of the network server device ofFIG. 1A , according to various embodiments; and -
FIGS. 4A and 4B are flowcharts illustrating operations of one of the client devices ofFIG. 1A , according to various embodiments. - The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which examples of embodiments of the invention are shown. The invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present invention to those skilled in the art. It should also be noted that these embodiments are not mutually exclusive. Components from one embodiment may be tacitly assumed to be present/used in another embodiment.
- In the description of various embodiments, it is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the inventive concepts. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which these inventive concepts belong. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
- It will be understood that, although the terms “first,” “second,” etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. Thus, a “first” element could be termed a “second” element without departing from the teachings of the present embodiments.
- When an element is referred to as being “connected,” “coupled,” “responsive,” or variants thereof to another element, it can be directly connected, coupled, or responsive to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected,” “directly coupled,” “directly responsive,” or variants thereof to another element, there are no intervening elements present. Like numbers refer to like elements throughout. Furthermore, “coupled,” “connected,” “responsive,” or variants thereof as used herein may include wirelessly coupled, connected, or responsive. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Well-known functions or constructions may not be described in detail for brevity and/or clarity. The term “and/or” includes any and all combinations of one or more of the associated listed items.
- As used herein, the terms “comprise,” “comprising,” “comprises,” “include,” “including,” “includes,” “have,” “has,” “having,” or variants thereof are open-ended, and include one or more stated features, elements, steps, components or functions but do not preclude the presence or addition of one or more other features, elements, steps, components, functions or groups thereof. Furthermore, as used herein, the common abbreviation “e.g.,” which derives from the Latin phrase “exempli gratia,” may be used to introduce or specify a general example or examples of a previously mentioned item, and is not intended to be limiting of such item. The common abbreviation “i.e.,” which derives from the Latin phrase “id est,” may be used to specify a particular item from a more general recitation.
- Example embodiments are described herein with reference to block diagrams and/or flowchart illustrations of computer-implemented methods, apparatus (systems and/or devices) and/or computer program products. It is understood that a block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by computer program instructions that are performed by one or more computer circuits. These computer program instructions may be provided to a processor circuit of a general purpose computer circuit, special purpose computer circuit, and/or other programmable data processing circuit to produce a machine, such that the instructions, which execute via the processor of the computer and/or other programmable data processing apparatus, transform and control transistors, values stored in memory locations, and other hardware components within such circuitry to implement the functions/acts specified in the block diagrams and/or flowchart block or blocks, and thereby create means (functionality) and/or structure for implementing the functions/acts specified in the block diagrams and/or flowchart block(s).
- These computer program instructions may also be stored in a tangible computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions which implement the functions/acts specified in the block diagrams and/or flowchart block or blocks.
- A tangible, non-transitory computer-readable medium may include an electronic, magnetic, optical, electromagnetic, or semiconductor data storage system, apparatus, or device. More specific examples of the computer-readable medium would include the following: a portable computer diskette, a random access memory (RAM) circuit, a read-only memory (ROM) circuit, an erasable programmable read-only memory (EPROM or Flash memory) circuit, a portable compact disc read-only memory (CD-ROM), and a portable digital video disc read-only memory (DVD/Blu-ray).
- The computer program instructions may also be loaded onto a computer and/or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer and/or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks. Accordingly, embodiments of the disclosure may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.) that runs on a processor such as a digital signal processor, which may collectively be referred to as “circuitry,” “a module,” or variants thereof.
- It should also be noted that in some alternate implementations, the functions/acts noted in the blocks may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Moreover, the functionality of a given block of the flowcharts and/or block diagrams may be separated into multiple blocks and/or the functionality of two or more blocks of the flowcharts and/or block diagrams may be at least partially integrated. Finally, other blocks may be added/inserted between the blocks that are illustrated, and/or blocks/operations may be omitted without departing from the scope of the inventive concepts. Moreover, although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.
- For purposes of illustration and explanation only, various embodiments are described herein in the context of “client devices.” Among other devices/systems, client devices may include wireless communication terminals (e.g., portable electronic devices/wireless terminals/mobile terminals/terminals) that are configured to carry out cellular and/or Wireless Local Area Network (WLAN)(e.g., 802.11) communications. It will be understood, however, that present inventive concepts are not limited to such embodiments and may be embodied generally in any device and/or system that is configured to receive/render video content. For example, the client devices may also include televisions (and/or receivers/boxes/media players connected thereto), desktop computers, and portable computers.
- Adaptive streaming technologies may use a unicast model in which a unique video stream is transmitted to each receiving user. In other words, the unicast model involves a one-to-one relationship between a sender and a receiver for all transmissions. In contrast, a broadcast model includes transmitting data to a relatively large reception group (e.g., an entire network), and a multicast model includes transmitting data to a certain physical/logical/virtual region (e.g., a group of receivers or a node; i.e., a subset of the relatively large reception group) within the network but not to the entire network. Unicast models thus may use network resources (e.g., bandwidth/capacity) inefficiently. Various embodiments of present inventive concepts, however, may provide operations of broadcasting or multicasting base content (e.g., a base layer of video) to a group of receivers in a network and selectively unicasting or multicasting additive content that enhances the base content to a subset of that group.
- The combination of broadcasting/multicasting base content to a relatively large group and unicasting/multicasting additive content to a smaller subset of that group may improve network efficiency (e.g., reduce network bandwidth burdens) because the network may always have enough bandwidth for the base content and because the network may not be required to repeatedly determine whether to transmit the base content. Moreover, the sender (e.g., a network server) may selectively/adaptively send additive video content to specific receivers when the network has sufficient bandwidth to support the additive video content. Accordingly, the base content may represent a lowest bit rate possible and may be delivered at all times (e.g., for all time segments), whereas the additive content may only be delivered when sufficient bandwidth/capacity is available on a receiver-by-receiver basis.
- Referring now to
FIG. 1A , a schematic illustration is provided of anetwork 110 that provides communications between anetwork server device 100 andclient devices network server device 100 may transmit content (e.g., video content) over thenetwork 110 to theclient devices client devices network 110 to thenetwork server device 100. Moreover, thenetwork 110 may be wireless (e.g., cellular or WLAN) and/or wired (e.g., cable or fiber optic). Theclient devices network server device 100 over wireless and wired network elements. - Referring now to
FIG. 1B , a block diagram is provided of thenetwork server device 100 ofFIG. 1A , according to various embodiments. In particular,FIG. 1B illustrates that thenetwork server device 100 may include anetwork interface 102 that is configured to provide a communication interface with thenetwork 110. Thenetwork server device 100 may further include aprocessor 101 that is coupled to thenetwork interface 102. Theprocessor 101 may be configured to establish a session with aclient device 120 through thenetwork interface 102 and thenetwork 110 and to transmit (e.g., control transmission of) base segments including base content and additive segments including additive content to theclient device 120 through thenetwork interface 102 and thenetwork 110. Thenetwork server device 100 may also include amemory 103 that is coupled to theprocessor 101. Thememory 103 may store the base content, the additive content, and/or instructions/algorithms used to transmit the base content and/or the additive content to theclient devices network server device 100 may include a single server or a combination of servers that transmit content to theclient devices - Referring now to
FIG. 1C , a block diagram is provided for one of theclient devices FIG. 1A , according to various embodiments. In particular,FIG. 1C illustrates that theclient device 120 may include anetwork interface 132 that is configured to provide a communication interface with thenetwork 110. Thenetwork interface 132 may include one or more antennas for wireless communications and/or may include ports (e.g., cable, fiber optic ports) for wired communications. Theclient device 120 may further include aprocessor 131 that is coupled to thenetwork interface 132. Theprocessor 131 may be configured to establish a session with the network server device 100 (through thenetwork interface 132 and the network 110) and to receive base segments including base content and additive segments including additive content from the network server device 100 (through thenetwork interface 132 and the network 110). - As is further illustrated in
FIG. 1C , theclient device 120 may also include adisplay 136,keypad 137,speaker 138,memory 133,microphone 134, and/orcamera 135. It will be understood, however, that some embodiments (e.g., television embodiments) of theclient device 120 may omit components such as thekeypad 137,microphone 134, and/orcamera 135. Thememory 133 can store computer program instructions that, when executed by theprocessor 131, carry out the operations (e.g., rendering video content, transmitting feedback to the network server device 100) described herein and shown in the figures. As an example, thememory 133 can be non-volatile memory, such as a flash memory, that retains the stored data while power is removed from thememory 133. - Referring now to
FIGS. 2A-2D , schematic illustrations are provided of transmissions of base segments and additive segments from thenetwork server device 100 ofFIG. 1A to one or more of theclient devices FIG. 1A , according to various embodiments.FIGS. 2A and 2B illustrate that thenetwork server device 100 may store base segments including base content and additive segments including additive content. In particular,FIG. 2B illustrates individual ones of the base segments and additive segments that are illustrated inFIG. 2A . The base segments and additive segments stored in thenetwork server device 100 may include segments of a digital file (e.g., a multimedia file including video content) that correspond to specific time segments/periods. Each of the file segments may be an independent file. For example, for the first time segment TS1 (e.g., the first ten (10) seconds of a video clip of a movie or television show), a base segment and an additive segment (or a plurality of additive segments, as illustrated inFIG. 2B ) may be stored in thenetwork server device 100. In other words, the base segment corresponding to the first time segment TS1 provides base content that can be rendered/played by theclient device 120, and the additive segment (or plurality of additive segments) corresponding to first time segment TS1 provides additive content that enhances that base content (e.g., that provides increased frame rate and/or resolution). - The time segments TS1-TS5 may be consecutive time segments. Also, each of the time segments TS1-TS5 may have equal time duration (e.g., one (1) second or ten (10) seconds). Accordingly, the first time segment TS1 may correspond to the first ten (10) seconds of a video clip, the second time segment may correspond to the next ten (10) seconds of the video clip, and so on. The first through fifth base segments illustrated in
FIG. 2A thus indicate consecutive segments of continuous video content. Additionally, it will be understood that the five (5) time segments TS1-TS5 are described herein to provide an example of time segments and corresponding base segments and additive segments. In other words, a movie, television show, or other video content transmitted by thenetwork server device 100 may include hundreds or thousands (or more) of time segments. - The additive segments illustrated in the
network server device 100 ofFIGS. 2A and 2B may include additive segments and additive content corresponding to each of the time segments TS1-TS5. Although thenetwork server device 100 may store additive segments for each of the time segments TS1-TS5, a particular client device (e.g., the client device 120), however, may only receive additive segments from thenetwork server device 100 during some of the time segments TS1-TS5. In particular, thenetwork server device 100 may store various versions (e.g., sizes/quality levels) of additive content corresponding to the first time segment TS1 and the fourth time segment TS4 illustrated inFIG. 2A , and yet thenetwork server device 100 may withhold (i.e., not transmit) additive segments to theclient device 120 during the first time segment TS1 and the fourth time segment TS4. In contrast,FIG. 2A illustrates that thenetwork server device 100 transmits additive segments including additive content that enhances the base content corresponding to the second time segment TS2, the third time segment TS3, and the fifth time segment TS5. - Specifically,
FIG. 2B illustrates that thenetwork server device 100 stores a base segment and a plurality of additive segments (e.g., low, medium, and large/high enhancement additive segments) for each of the time segments TS1-TS5. Although the base segments are sufficient for theclient device 120 to render/play video content, theclient device 120 may receive one of the additive segments (e.g., one of the low, medium, or large/high enhancement additive segments), in addition to a base segment, to provide enhanced video content for a particular time segment. For example, the first additive segment transmitted inFIG. 2A may be the low additive segment for the second time segment TS2 illustrated inFIG. 2B . Also, the second additive segment transmitted inFIG. 2A may be the medium additive segment for the third time segment TS3 illustrated inFIG. 2B . Furthermore, the third additive segment transmitted inFIG. 2A may be the large/high additive segment for the fifth time segment TS5 illustrated inFIG. 2B . Accordingly, theclient device 120 may combine the first, second, and third additive segments illustrated inFIG. 2A with the second, third, and fifth base segments, respectively, to render/play video content for the second, third, and fifth time segments TS2, TS3, and TS5, respectively. In contrast, theclient device 120 may render/play video content for the first and fourth time segments TS1 and TS4 using only the base segment for the first time segment TS1 and the base segment for the fourth time segment TS4, respectively. It will be understood, however, that, in some embodiments, theclient device 120 may be able to receive at least one additive segment for every time segment (e.g., for each of the time segments TS1-TS5, or an entire television show or movie), and may thus be able to render/play enhanced video content for all time segments (e.g., for each of the time segments TS1-TS5, or an entire television show or movie). - The additive segments may vary in data size/quality. For example, the additive segment corresponding to the fifth time segment TS5 in
FIG. 2A (e.g., the large additive segment for the fifth time segment TS5 inFIG. 2B ) may include large/high quality additive content in comparison with the additive segment corresponding to the third time segment TS3 (e.g., FIG. 2B's medium size/quality additive content for the third time segment TS3) or the additive segment corresponding to the second time segment TS2 (e.g., FIG. 2B's low size/quality additive content for the time segment TS2). In other words, the additive content of the additive segment corresponding to the fifth time segment TS5 inFIG. 2A (e.g., the large additive segment for the fifth time segment TS5 inFIG. 2B ) may provide the greatest level of enhancement to the base content. In some embodiments, the additive segments may have equal sizes and/or may be layered with each other to provide different levels of content enhancement. - Referring still to
FIG. 2A , the base segments may be transmitted from thenetwork server device 100 to theclient device 120 in abase segment stream 210, which may be encoded at a minimum/lowest bit rate. Thebase segment stream 210 may be broadcast/multicast to all of theclient devices client devices network 110 and/or thenetwork server device 100. The additive segments may be selectively transmitted from thenetwork server device 100 to theclient device 120 in anadditive segment stream 220, which may be encoded at a bit rate higher than the minimum/lowest bit rate (e.g., to provide an increased resolution, frame rate, etc.). Accordingly, theadditive segment stream 220 may include additive segments of varying size/quality. Moreover, in contrast with thebase segment stream 210, theadditive segment stream 220 may be selectively multicast or unicast to theclient device 120 only when the bandwidth for doing so is available. - As an alternative to the single
additive segment stream 220, thenetwork server device 100 may transmit the additive segments to theclient device 120 via a plurality of additive segment streams (e.g., a low size/quality additive segment stream, a medium size/quality additive segment stream, and a high size/quality additive segment stream). The plurality of additive segment streams may be different versions of a digital file encoded at different bit rates. - The
client device 120 may be configured to combine thebase segment stream 210 and the additive segment stream 220 (or a plurality of additive segment streams) and to render continuous video using the combined streams. As an example, thenetwork server device 100 may deliver thebase segment stream 210 and theadditive segment stream 220 to the client device 120 (e.g., a wireless terminal) simultaneously or nearly simultaneously (e.g., with a delay of no more than a few seconds). In particular, theclient device 120 may begin receiving base segments and/or additive segments for a movie, and may begin rendering video upon receipt of a first base segment (or first group of base segments). Upon receipt of a first additive segment (or first group of additive segments), which may be simultaneous or nearly simultaneous with receipt of the first base segment (or first group of base segments), theclient device 120 may combine theadditive segment stream 220 with thebase segment stream 210 to provide enhanced (e.g., low, medium, or large/high enhancement) quality video content. - As another example, the
network server device 100 may deliver thebase segment stream 210 to a Digital Video Recorder (DVR). In particular the DVR (which may be coupled to a television to provide the client device 120) may download base segments for an entire movie (or portion of a movie), and then may receive theadditive segment stream 220 in real time (e.g., while playing back the base segment stream 210), and may combine thebase segment stream 210 and theadditive segment stream 220 to provide enhanced (e.g., low, medium, or large/high enhancement) quality video content. - Accordingly, the
client device 120 may be configured to receive multiple encoded streams and to reassemble the encoded streams. Moreover, although thebase segment stream 210 and theadditive segment stream 220 may include segments of multimedia content (e.g., a movie) that has been recorded in its entirety, thebase segment stream 210 and/or theadditive segment stream 220 may also include segments of multimedia content for live/ongoing events such as sporting events or musical concerts. - Referring now to
FIG. 2C , the second time segment TS2 ofFIG. 2A is illustrated. In particular,FIG. 2C illustrates that the base segment corresponding to the second time segment TS2 (e.g., FIG. 2A's second base segment, which is the base segment for the time segment TS2 illustrated inFIG. 2B ) is broadcast/multicast from thenetwork server device 100 to all of theclient devices base segment stream 210. In contrast, the additive segment corresponding to the second time segment TS2 (e.g., FIG. 2A's first additive segment, which is the low additive segment for time segment TS2 illustrated inFIG. 2B ) is either multicast to theclient devices 120 and 121 (e.g., a subset of the reception group) or unicast to theclient device 120 via theadditive segment stream 220. -
FIG. 2C also illustrates that the content of the base segment and the content of the additive segment corresponding to the second time segment TS2 are synchronized with respect to (e.g., each segment corresponds to the same portions of) the second time segment TS2. In particular, the additive content included in the additive segment corresponding to the second time segment TS2 is synchronized with the base content included in the base segment corresponding to the second time segment TS2 so that the corresponding base and additive segments can be combined to render the respective segment of the content being transmitted. As such, playback (i.e., rendering) of a combination of the additive content and the base content corresponding to the second time segment TS2 may be seamless (i.e., without delay with respect to playback of the additive content and playback of the base content) and smooth. For example, if the second time segment TS2 is defined by seconds eleven (11) through twenty (20) of a video, then the additive content synchronized with base content for the second time segment TS2 includes additive content for seconds eleven (11) through twenty (20) of the video, and the base content for the second time segment TS2 includes base content for seconds eleven (11) through twenty (20) of the video. Synchronized content, however, does not require synchronization of transmissions of base and additive segments including synchronized content. - Moreover, the
client device 120 may match/combine the received base content and additive content that are synchronized with respect to the second time segment TS2. - Accordingly, transmission of the
additive segment stream 220 may be either delayed (e.g., before or after) or simultaneous with respect to transmission of thebase segment stream 210, irrespective of the synchronization and matching/combination of the base content and the additive content. Additionally or alternatively to delaying transmission of theadditive segment stream 220 with respect to transmission of thebase segment stream 210, theadditive segment stream 220 and thebase segment stream 210 may be transmitted via different paths of a network or even using different networks. For example, thebase segment stream 210 may be transmitted to theclient device 120 via a cellular (e.g., Long Term Evolution (LTE)) network, whereas theadditive segment stream 220 may be transmitted to theclient device 120 via the Internet/WLAN. Additionally, cable/satellite/fiber optic networks may be used to transmit one or more of theadditive segment stream 220 and thebase segment stream 210 to theclient device 120. - Also, the quality level (e.g., resolution, frame rate, etc.) of a combination of the additive content corresponding to the second time segment TS2 and the base content corresponding to the second time segment TS2 is greater than the quality level of the base content corresponding to the first time segment TS1 illustrated in
FIG. 2A . Additionally,FIG. 2A illustrates that the additive segment corresponding to the third time segment TS3 (e.g., the medium additive segment for the third time segment TS3 illustrated inFIG. 2B ) is larger than the additive segment corresponding to the second time segment TS2 (e.g., the low additive segment for the second time segment TS2 illustrated inFIG. 2B ). Accordingly, the quality level (e.g., medium enhancement) of a combination of the additive content corresponding to the third time segment TS3 and the base content corresponding to the third time segment TS3 is greater than the quality level (e.g., low enhancement) of a combination of the additive content corresponding to the second time segment TS2 and the base content corresponding to the second time segment TS2 - Referring now to
FIG. 2D , thenetwork server device 100 may store different sizes/quality levels of additive content for the same time segment. For example,FIGS. 2A and 2B illustrate that for each of the time segments TS1-TS5, thenetwork server device 100 may store low, medium, and large/high additive segments including additive content having low, medium, and large/high sizes/quality levels, respectively. Moreover, althoughFIG. 2A illustrates the singleadditive segment stream 220 including additive content of different sizes/quality levels,FIG. 2D illustrates a plurality of additive segment streams 221-223. In particular,FIG. 2D illustrates a lowadditive segment stream 221 including low additive segments having low additive content, a mediumadditive segment stream 222 including medium additive segments having medium additive content, and a large/highadditive segment stream 223 including large/high additive segments having large/high additive content. Specifically,FIG. 2B illustrates individual ones of the base segments and additive segments that are illustrated inFIG. 2D . The additive segment streams 221-223 may be transmitted individually from thenetwork server device 100 to theclient device 120. The additive content of the additive segment streams 221-223 may then be matched/combined/layered at theclient device 120 to enhance the base content from thebase segment stream 210. In various embodiments, thebase stream 210 and/or one or more of theadditive streams - Referring still to
FIG. 2D , additive segments of the additive segment streams 221-223 may be either selectively/adaptively multicast or unicast to theclient device 120 by thenetwork server device 100. Accordingly, it may be that none of the additive segments corresponding to the first time segment TS1 is transmitted to theclient device 120. Moreover, it may be that the low additive segment (but not the medium or large/high segments) corresponding to the third time segment TS3 is transmitted to theclient device 120, and that the low and medium additive segments (but not the large/high additive segment) corresponding to the fifth time segment TS5 are transmitted to theclient device 120. Also, it will be understood that as the low, medium, and large/high additive content may be layered on each other, the large/high additive content does not necessarily have a larger data size than the low additive content. Rather, the large/high additive content may have the same data size, or even a smaller data size than the low additive content corresponding to a given time segment. The combination of the large/high additive content with the medium and low additive content and base content, however, has a larger data size (and a higher quality) than the combination of either the low additive content or the medium additive content and base content. - Referring now to
FIGS. 3A-3C , flowcharts are provided illustrating operations of thenetwork server device 100 ofFIG. 1A , according to various embodiments. Referring toFIG. 3A , operations of thenetwork server device 100 may include theprocessor 101 establishing (Block 301) a session with theclient device 120 through thenetwork interface 102. Theprocessor 101 may transmit (Block 302) a base segment (e.g., a first base segment) providing base content (e.g., first base content) for (e.g., corresponding to) a first time segment TS1 through thenetwork interface 102 to theclient device 120. Moreover, as the base segments described herein may be transmitted to a larger reception group of theclient devices network server device 100 to each of theclient devices client devices client device 121 may be delayed (e.g., by five (5) seconds or one (1) minute) with respect to the transmission of the base segment to theclient device 120. - Referring still to
FIG. 3A , operations of thenetwork server device 100 may include transmitting (Block 303) one or more authorized additive segments to one or more of theclient devices client device 120, transmitting (Block 303) the additive segment(s) may include transmitting the additive segment(s) to theclient device 120 without transmitting the additive segment(s) to theclient device 121. For example, theclient device 120 may have authorized (e.g., via a user selection or an automated decision based on network conditions or device capabilities) one or more additive segments. As an example, a user of theclient device 120 may have requested receipt of a movie at a large/high quality level (e.g., high definition (HD)), and transmitting the movie to theclient device 120 at the large/high quality level may include transmitting multiple layers of additive segments corresponding to a given time segment (e.g., the first time segment TS1). Accordingly, the movie may begin with the base content enhanced by the additive content. Moreover,Blocks Blocks - After transmitting (
Blocks 302, 303) the base segment and the additive segment(s) (if authorized) to one or more of theclient devices processor 101 may determine (Block 304) whether a notification (e.g., a notification to maintain, increase, or decrease the quality/bandwidth of a stream/content) has been received from one or more of theclient devices network server device 100 may maintain (Block 305) the quality level of content transmitted to one or more of theclient devices network server device 100 may transmit (Block 302) another base segment (e.g., a second base segment) providing addition base content (e.g., a second base content) for a second time segment TS2 to theclient devices network server device 100 may continue transmitting (Block 303) one or more additive segments to one or more of theclient devices network server device 100 may transmit (Block 303) another additive segment (e.g., a second additive segment) or other additive segments (e.g., second layers of additive segments) to theclient device 120. - Alternatively, if a notification has been received from one or more of the
client devices network server device 100 may determine (Block 306) whether to increase or decrease the quality level of content transmitted to one or more of theclient devices network server device 100 may make the determination (Block 306) using the notification (e.g., an express indication to increase or decrease quality, or an indication of network conditions such as available bandwidth). If thenetwork server device 100 decides (Block 306) to decrease the quality level, then thenetwork server device 100 will decrease (Block 307) the quality level by removing an additive segment (if an additive segment was previously authorized). For example, if a low quality additive segment was authorized for the first time segment TS1, then the low quality additive segment will be removed from the second time segment TS2. Alternatively, if no additive segment was authorized for the first time segment TS1, then no additive segment will be removed from the second time segment TS2 because no additive segment can be removed. - On the other hand, if the
network server device 100 decides (Block 306) to increase the quality level, then thenetwork server device 100 will increase (Block 308) the quality level by adding an additive segment (if an additional additive segment is available). For example, if a low quality additive segment was authorized for the first time segment TS1, then a medium quality additive segment (and possibly a large/high quality additive segment) will be added for the second time segment TS2. Alternatively, if a largest/highest additive segment was authorized for the first time segment TS1, then no larger/higher additive segment will be added for the second time segment TS2 because the largest/highest additive segment is already present. - Referring still to
FIG. 3A , after either decreasing (Block 307) or increasing (Block 308) quality, thenetwork server device 100 will transmit (Blocks 302, 303) a base segment and additive segment(s) (if available). For example, thenetwork server device 100 may transmit (Block 302) a base segment for the second time segment TS2 and may transmit (Block 303) an additive segment (if available) for the second time segment TS2 responsive to the notification from theclient device 120. Additionally, the additive content for the second time segment TS2 is synchronized with the base content (e.g., second base content) for the second time segment TS2. In particular, the additive content for the second time segment TS2 and the base content for the second time segment TS2 are for the same time segment (i.e., the second time segment TS2) of video content. As an example, the additive content for the second time segment TS2 and the base content for the second time segment TS2 may be for the same scene or segment of a scene (e.g., group of frames) of a movie. Accordingly, the additive content for the second time segment TS2 enhances the quality of the base content for the second time segment TS2. - Referring now to
FIG. 3B ,FIG. 3B includesBlocks FIG. 3A . Moreover,FIG. 3B includesBlock 304′, which is a modification ofBlock 304 ofFIG. 3A . In particular,FIG. 3B illustrates monitoring an available bandwidth by detecting (Block 304′) a change (e.g., an increase or a decrease) in an available bandwidth of a communication path between thenetwork server device 100 and theclient device 120. The available bandwidth may be defined as the capability of theclient device 120 to receive (and/or of thenetwork server device 100 to transmit) a higher quality stream, or the capability to continue receiving/transmitting an enhanced quality stream. In one example, thenetwork server device 100, rather than theclient device 120, may detect (Block 304′) the change in the available bandwidth, and may decrease (Block 307) or increase (Block 308) content quality responsive to the detected change. As an example, thenetwork server device 100 may determine that certain areas of the network 110 (e.g., areas including theclient devices 120, 121) are not receiving additive segments, and may therefore decide to discontinue transmissions of additive segments to those areas of thenetwork 110. It will be understood, however, that theclient device 120 or other devices (e.g., other devices coupled to thenetwork 110 and/or the network server device 100) may additionally or alternatively detect (Block 304′) the change. Moreover, transmitting (Block 303) authorized additive segment(s) inFIG. 3B may be responsive to the available bandwidth (or a change thereof) exceeding a threshold. - Referring now to
FIG. 3C ,FIG. 3C includesBlocks FIG. 3A . Moreover,FIG. 3C includesBlock 302*,Block 304″, which is a modification ofBlock 304 ofFIG. 3A , andBlock 303″, which is a modification ofBlock 303 ofFIG. 3A . In particular,FIG. 3C illustrates completing base segment transmission (Block 302*) before transmitting (Block 303″) one or more additive segments from thenetwork server device 100. It will be understood that completing base segment transmission (Block 302*) may include completing base segment transmission for an entire video (e.g., an entire movie, television show, or other video clip) or for a scene or other subset of the video. Additionally,FIG. 3C illustrates transmitting (Block 303″) one or more additive segments responsive to a request (e.g., from the client device 120) for one or more additive segments (Block 304″). - For example, the
network server device 100 may transmit first, second, and third base segments to theclient devices Block 302 ofFIG. 3C . Accordingly, transmitting (303″) the additive segment(s) inFIG. 3C may include transmitting (303″) the additive segment(s) after transmitting (Block 302) the third base segment. - Referring now to
FIGS. 4A and 4B , flowcharts are provided illustrating operations of one of theclient devices FIG. 1A , according to various embodiments. For example,FIG. 4A illustrates operations of theclient device 120, which may include theprocessor 131 establishing (Block 401) a session with thenetwork server device 100. Theprocessor 131 may receive (Block 402) a base segment providing base content for a first time segment TS1. Theprocessor 131 may receive (Block 402) another base segment providing base content for a second time segment TS2. Additionally, theprocessor 131 may receive (Block 402) an additive segment including additive content for the first time segment TS1 and/or an additive segment including additive content for the second time segment TS2. Moreover, as described herein, the additive content for a particular time segment is synchronized with the base content for that time segment. For example, theclient device 120 may match/combine additive content for the second time segment TS2 that is synchronized with base content for the second time segment TS2 to provide seamless and smooth playback of a combination of the additive content and the base content. - As described herein, the base content and additive content may include video content. Accordingly, after the
processor 131 receives (Block 402) at least one base/additive segment from thenetwork server device 100, the client device 120 (e.g., using the processor 131) may render (Block 417) video on a display (e.g., thedisplay 136 illustrated inFIG. 1C ) of theclient device 120. Rendering (Block 417) video may include rendering the base/lowest quality (e.g., resolution, frame rate) video output over a given time period (e.g., the first time segment TS1) if only base content is received at theclient device 120 for that time segment. Moreover, rendering (Block 417) video may further include rendering higher (e.g., enhanced) quality video output over another time period (e.g., the second time segment TS2) responsive to receiving a combination of base content and additive content. - Referring still to
FIG. 4A , operations of theclient device 120 may further include theprocessor 131 detecting (Block 403) a change in available bandwidth for a communication path between theclient device 120 and thenetwork server device 100. For example, the client device 120 (e.g., using the processor 131) may determine whether it can use a faster bit rate, or whether it should receive a lower bit rate. If no change is detected, then theclient device 120 may continue receiving (Block 402) base/additive segments from thenetwork server device 100 at a previously-determined quality level. If a change is detected, however, then the client device 120 (e.g., using the processor 131) may transmit (Block 404) a notification to thenetwork server device 100. The notification may generally indicate that a change has been detected, or the notification may more specifically indicate a level of available bandwidth or may more specifically indicate an increase or decrease (e.g., an increase or decrease in available bandwidth, or a request to increase or decrease the resolution or data rate of content). Moreover, the notification may indicate that theclient device 120 has requested a unicast transmission or has joined a multicast group. After transmitting (Block 404) the notification to thenetwork server device 100, theclient device 120 may receive (Block 402) video segments including either increased or decreased quality video content. - According to some embodiments, no additive segments are received by the
client device 120 before transmitting (Block 404) the notification to thenetwork server device 100. In other words, before receiving any additive segment, theclient device 120 may first transmit (Block 404) the notification to thenetwork server device 100 responsive to detecting a change in available bandwidth. Moreover, it will be understood that transmitting (Block 404) the notification may include transmitting the notification responsive to the available bandwidth (or a change thereof) exceeding a threshold. Alternatively, at least one additive segment may be received by theclient device 120 before transmitting (Block 404) the notification to thenetwork server device 100. For example, theclient device 120 may have previously authorized (e.g., via a user selection or an automated decision based on network conditions or device capabilities) one or more additive segments before receiving any base or additive segments inBlock 402. - An example of differences in device capabilities is that it may be inefficient/wasteful for a small-screen device (e.g., a portable electronic device with a small display screen) to receive high resolution video that it cannot fully display, whereas a big-screen HD television may be capable of more fully displaying the high resolution video. Also, even though the portable electronic device and the HD television may be owned by the same user and may even be located in the same room of a building, it may be more efficient for these devices with different capabilities to receive different levels of content enhancement. Accordingly, network efficiency may be increased if the
client device 120 indicates its device capabilities to thenetwork server device 100, either before or after receiving a first additive segment. - Additionally, although the
client device 120 may request additive segments by transmitting (Block 404) the notification to thenetwork server device 100, it may be that theclient device 120 never requests base segments. In other words, theclient device 120 may receive (Block 402) at least one base segment responsive to theclient device 120 joining a broadcast or a multicast. As theclient device 120 may only request additive segments (and not request base segments, aside from joining a broadcast or multicast), network resources (e.g., bandwidth) may be preserved, thus increasing network efficiency. - Referring now to
FIG. 4B , operations of theclient device 120 are illustrated in which theclient device 120 renders (Block 417′) video before receiving (Block 402″) any additive segments from thenetwork server device 100. In other words, theclient device 120 renders (Block 417′) video for a first time period (e.g., the first time segment TS1 and/or the second time segment TS2) using only a base segment (or base segments). - In particular,
FIG. 4B illustrates operations of theclient device 120 that include establishing (Block 401) a session with thenetwork server device 100 and receiving (Block 402′) a base segment providing base content. The operations of theclient device 120 may further include determining (Block 411) whether base segment transmission is complete. If base segment transmission is not complete, then theclient device 120 continues to receive base segments from thenetwork server device 100. If base segment transmission is complete, however, then theclient device 120 renders (Block 417′) video using the received base segment(s). - After (or during) rendering (
Block 417′) video using the received base segment(s), theclient device 120 determines (Block 415) whether to request one or more additive segments. For example, theclient device 120 may make the determination (Block 415) based on network conditions (e.g., available bandwidth) or device capabilities (e.g., resolution capabilities of the display 136). If no additive segments are to be requested, then the client device continues to receive (Block 402′) base segments from thenetwork server device 100 and to render (Block 417′) video using the received base segments. On the other hand, if one or more additive segments are to be requested, then theclient device 120 requests and receives (Block 402″) the additive segment(s) from thenetwork server device 100, and then renders (Block 417′) video using a combination of one or more received base segments and one or more received additive segments. - Many different embodiments have been disclosed herein, in connection with the above description and the drawings. It will be understood that it would be unduly repetitious and obfuscating to literally describe and illustrate every combination and subcombination of these embodiments. Accordingly, the present specification, including the drawings, shall be construed to constitute a complete written description of various example combinations and subcombinations of embodiments and of the manner and process of making and using them, and shall support claims to any such combination or subcombination.
- Many variations and modifications can be made to the embodiments without substantially departing from the principles of the present disclosure. All such variations and modifications are intended to be included herein within the scope of the present disclosure. Accordingly, the above disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments, which fall within the spirit and scope of the present disclosure.
Claims (22)
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/564,980 US8661491B1 (en) | 2012-08-02 | 2012-08-02 | Methods using base content and additive content and related client devices and network server devices |
KR1020157004974A KR102106298B1 (en) | 2012-08-02 | 2013-07-24 | Additive content and related client devices |
EP13825331.5A EP2880547A4 (en) | 2012-08-02 | 2013-07-24 | Additive content and related client devices |
PCT/IB2013/056065 WO2014020496A2 (en) | 2012-08-02 | 2013-07-24 | Methods using base content and additive content and related client devices and network server devices |
CN201380051936.0A CN104756099B (en) | 2012-08-02 | 2013-07-24 | Add content and associated client device |
JP2015524880A JP6470175B2 (en) | 2012-08-02 | 2013-07-24 | Method of using base content and additional content, and associated client and network server devices |
US14/178,548 US9584602B2 (en) | 2012-08-02 | 2014-02-12 | Methods using base content and additive content and related client devices and network server devices |
IL236953A IL236953A (en) | 2012-08-02 | 2015-01-28 | Methods using base content and additive content and related client devices and network server devices |
ZA2015/00777A ZA201500777B (en) | 2012-08-02 | 2015-02-03 | Additive content and related client devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/564,980 US8661491B1 (en) | 2012-08-02 | 2012-08-02 | Methods using base content and additive content and related client devices and network server devices |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/178,548 Continuation US9584602B2 (en) | 2012-08-02 | 2014-02-12 | Methods using base content and additive content and related client devices and network server devices |
Publications (2)
Publication Number | Publication Date |
---|---|
US20140040970A1 true US20140040970A1 (en) | 2014-02-06 |
US8661491B1 US8661491B1 (en) | 2014-02-25 |
Family
ID=50026881
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/564,980 Active US8661491B1 (en) | 2012-08-02 | 2012-08-02 | Methods using base content and additive content and related client devices and network server devices |
US14/178,548 Active US9584602B2 (en) | 2012-08-02 | 2014-02-12 | Methods using base content and additive content and related client devices and network server devices |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/178,548 Active US9584602B2 (en) | 2012-08-02 | 2014-02-12 | Methods using base content and additive content and related client devices and network server devices |
Country Status (8)
Country | Link |
---|---|
US (2) | US8661491B1 (en) |
EP (1) | EP2880547A4 (en) |
JP (1) | JP6470175B2 (en) |
KR (1) | KR102106298B1 (en) |
CN (1) | CN104756099B (en) |
IL (1) | IL236953A (en) |
WO (1) | WO2014020496A2 (en) |
ZA (1) | ZA201500777B (en) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140057722A1 (en) * | 2012-08-24 | 2014-02-27 | Microsoft Corporation | Game migration |
US20140189141A1 (en) * | 2012-12-28 | 2014-07-03 | Humax Co., Ltd. | Real-time content transcoding method, apparatus and system, and real-time content receiving method and apparatus |
US20160308928A1 (en) * | 2015-04-20 | 2016-10-20 | Qualcomm Incorporated | Further Device Timing Adjustments and Methods for Supporting DASH Over Broadcast |
US20160359944A1 (en) * | 2015-06-04 | 2016-12-08 | Samsung Electronics Co., Ltd. | Method for providing multimedia service and electronic device therefor |
US9526980B2 (en) | 2012-12-21 | 2016-12-27 | Microsoft Technology Licensing, Llc | Client side processing of game controller input |
US9545574B2 (en) | 2012-07-20 | 2017-01-17 | Microsoft Technology Licensing, Llc | Game browsing |
US9564102B2 (en) | 2013-03-14 | 2017-02-07 | Microsoft Technology Licensing, Llc | Client side processing of player movement in a remote gaming environment |
US20170041670A1 (en) * | 2015-08-03 | 2017-02-09 | At&T Intellectual Property I, L.P. | Cross-platform analysis |
US9694277B2 (en) | 2013-03-14 | 2017-07-04 | Microsoft Technology Licensing, Llc | Client side processing of character interactions in a remote gaming environment |
US9717982B2 (en) | 2012-12-21 | 2017-08-01 | Microsoft Technology Licensing, Llc | Client rendering of latency sensitive game features |
US20180062910A1 (en) * | 2013-02-14 | 2018-03-01 | Comcast Cable Communications, Llc | Fragmenting Media Content |
US10250657B2 (en) * | 2013-04-29 | 2019-04-02 | Amazon Technologies, Inc. | Streaming media optimization |
US10491964B2 (en) * | 2017-01-23 | 2019-11-26 | Cisco Technology, Inc. | Assisted acceleration for video streaming clients |
US20220303152A1 (en) * | 2021-03-18 | 2022-09-22 | Lenovo (Singapore) Pte. Ltd. | Recordation of video conference based on bandwidth issue(s) |
US11588876B2 (en) * | 2020-06-16 | 2023-02-21 | T-Mobile Usa, Inc. | Device-side playback restrictions on high throughput networks |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180146019A1 (en) * | 2016-11-21 | 2018-05-24 | International Business Machines Corporation | Light-weight resolution switching for online video streaming |
KR102581186B1 (en) * | 2018-10-12 | 2023-09-21 | 삼성전자주식회사 | Electronic device and controlling method of electronic device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080068446A1 (en) * | 2006-08-29 | 2008-03-20 | Microsoft Corporation | Techniques for managing visual compositions for a multimedia conference call |
US20100263012A1 (en) * | 2006-10-25 | 2010-10-14 | Nokia Corporation | Layered Coded Streaming Control For Unicast/MBMS Interaction |
US20120076204A1 (en) * | 2010-09-23 | 2012-03-29 | Qualcomm Incorporated | Method and apparatus for scalable multimedia broadcast using a multi-carrier communication system |
US20120275468A1 (en) * | 2007-08-09 | 2012-11-01 | Yann Leprovost | Method for transmission of layered multimedia contents to heterogeneous terminals via a tdm/tdma multiplexing infrastructure, and associated processing device and decoder |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4150951B2 (en) * | 2002-02-19 | 2008-09-17 | ソニー株式会社 | Video distribution system, video distribution apparatus and method, and program |
US7383345B2 (en) * | 2002-09-04 | 2008-06-03 | Darby & Mohaine L.L.C. | Client-server emulation supporting multicast transmissions of media objects |
KR20050084284A (en) * | 2002-12-13 | 2005-08-26 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | Switching method for mdc/scalable coding |
US20050135478A1 (en) * | 2003-12-18 | 2005-06-23 | Van Der Schaar Mihaela | Reduction of layer-decoding complexity by reordering the transmission of enhancement layer frames |
JP4433287B2 (en) * | 2004-03-25 | 2010-03-17 | ソニー株式会社 | Receiving apparatus and method, and program |
RU2370909C2 (en) * | 2004-07-01 | 2009-10-20 | Квэлкомм Инкорпорейтед | Method and device for use of frame conversion methods with increase of frame frequency in coding of scalable video |
JP2008259001A (en) * | 2007-04-06 | 2008-10-23 | Japan Radio Co Ltd | Digital content distribution system |
US20100161716A1 (en) * | 2008-12-22 | 2010-06-24 | General Instrument Corporation | Method and apparatus for streaming multiple scalable coded video content to client devices at different encoding rates |
JP5338394B2 (en) * | 2009-03-10 | 2013-11-13 | 日本電気株式会社 | VIDEO DISTRIBUTION SYSTEM, VIDEO DISTRIBUTION METHOD, VIDEO DISTRIBUTION DEVICE, AND VIDEO DISTRIBUTION PROGRAM |
US20110069772A1 (en) * | 2009-09-02 | 2011-03-24 | Sophie Vrzic | Transmission of multicast broadcast service (mbs) traffic in a wireless environment |
EP2360923A1 (en) * | 2010-02-24 | 2011-08-24 | Thomson Licensing | Method for selectively requesting adaptive streaming content and a device implementing the method |
US8190677B2 (en) * | 2010-07-23 | 2012-05-29 | Seawell Networks Inc. | Methods and systems for scalable video delivery |
JP2012095053A (en) * | 2010-10-26 | 2012-05-17 | Toshiba Corp | Stream transmission system, transmitter, receiver, stream transmission method, and program |
-
2012
- 2012-08-02 US US13/564,980 patent/US8661491B1/en active Active
-
2013
- 2013-07-24 WO PCT/IB2013/056065 patent/WO2014020496A2/en active Application Filing
- 2013-07-24 JP JP2015524880A patent/JP6470175B2/en active Active
- 2013-07-24 KR KR1020157004974A patent/KR102106298B1/en active IP Right Grant
- 2013-07-24 EP EP13825331.5A patent/EP2880547A4/en not_active Ceased
- 2013-07-24 CN CN201380051936.0A patent/CN104756099B/en active Active
-
2014
- 2014-02-12 US US14/178,548 patent/US9584602B2/en active Active
-
2015
- 2015-01-28 IL IL236953A patent/IL236953A/en active IP Right Grant
- 2015-02-03 ZA ZA2015/00777A patent/ZA201500777B/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080068446A1 (en) * | 2006-08-29 | 2008-03-20 | Microsoft Corporation | Techniques for managing visual compositions for a multimedia conference call |
US20100263012A1 (en) * | 2006-10-25 | 2010-10-14 | Nokia Corporation | Layered Coded Streaming Control For Unicast/MBMS Interaction |
US20120275468A1 (en) * | 2007-08-09 | 2012-11-01 | Yann Leprovost | Method for transmission of layered multimedia contents to heterogeneous terminals via a tdm/tdma multiplexing infrastructure, and associated processing device and decoder |
US20120076204A1 (en) * | 2010-09-23 | 2012-03-29 | Qualcomm Incorporated | Method and apparatus for scalable multimedia broadcast using a multi-carrier communication system |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10029181B2 (en) | 2012-07-20 | 2018-07-24 | Microsoft Technology Licensing, Llc | Game browsing |
US9545574B2 (en) | 2012-07-20 | 2017-01-17 | Microsoft Technology Licensing, Llc | Game browsing |
US9381432B2 (en) * | 2012-08-24 | 2016-07-05 | Microsoft Technology Licensing, Llc | Game migration |
US20140057722A1 (en) * | 2012-08-24 | 2014-02-27 | Microsoft Corporation | Game migration |
US10369462B2 (en) | 2012-12-21 | 2019-08-06 | Microsoft Technology Licensing, Llc | Client side processing of game controller input |
US9526980B2 (en) | 2012-12-21 | 2016-12-27 | Microsoft Technology Licensing, Llc | Client side processing of game controller input |
US9717982B2 (en) | 2012-12-21 | 2017-08-01 | Microsoft Technology Licensing, Llc | Client rendering of latency sensitive game features |
US20140189141A1 (en) * | 2012-12-28 | 2014-07-03 | Humax Co., Ltd. | Real-time content transcoding method, apparatus and system, and real-time content receiving method and apparatus |
US11616855B2 (en) | 2013-02-14 | 2023-03-28 | Comcast Cable Communications, Llc | Fragmenting media content |
US11133975B2 (en) * | 2013-02-14 | 2021-09-28 | Comcast Cable Communications, Llc | Fragmenting media content |
US20180062910A1 (en) * | 2013-02-14 | 2018-03-01 | Comcast Cable Communications, Llc | Fragmenting Media Content |
US9694277B2 (en) | 2013-03-14 | 2017-07-04 | Microsoft Technology Licensing, Llc | Client side processing of character interactions in a remote gaming environment |
US9564102B2 (en) | 2013-03-14 | 2017-02-07 | Microsoft Technology Licensing, Llc | Client side processing of player movement in a remote gaming environment |
US10159901B2 (en) | 2013-03-14 | 2018-12-25 | Microsoft Technology Licensing, Llc | Client side processing of character interactions in a remote gaming environment |
US10250657B2 (en) * | 2013-04-29 | 2019-04-02 | Amazon Technologies, Inc. | Streaming media optimization |
US10051031B2 (en) * | 2015-04-20 | 2018-08-14 | Qualcomm Incorporated | Further device timing adjustments and methods for supporting DASH over broadcast |
CN107534680A (en) * | 2015-04-20 | 2018-01-02 | 高通股份有限公司 | For supporting DASH further equipment timing adjustment and method by broadcasting |
US20160308928A1 (en) * | 2015-04-20 | 2016-10-20 | Qualcomm Incorporated | Further Device Timing Adjustments and Methods for Supporting DASH Over Broadcast |
EP3304860A4 (en) * | 2015-06-04 | 2018-05-23 | Samsung Electronics Co., Ltd. | Method for providing multimedia service and electronic device therefor |
US20160359944A1 (en) * | 2015-06-04 | 2016-12-08 | Samsung Electronics Co., Ltd. | Method for providing multimedia service and electronic device therefor |
US9843837B2 (en) * | 2015-08-03 | 2017-12-12 | At&T Intellectual Property I, L.P. | Cross-platform analysis |
US20170041670A1 (en) * | 2015-08-03 | 2017-02-09 | At&T Intellectual Property I, L.P. | Cross-platform analysis |
US10491964B2 (en) * | 2017-01-23 | 2019-11-26 | Cisco Technology, Inc. | Assisted acceleration for video streaming clients |
US11588876B2 (en) * | 2020-06-16 | 2023-02-21 | T-Mobile Usa, Inc. | Device-side playback restrictions on high throughput networks |
US12021913B2 (en) | 2020-06-16 | 2024-06-25 | T-Mobile Usa, Inc. | Device-side playback restrictions on high throughput networks |
US20220303152A1 (en) * | 2021-03-18 | 2022-09-22 | Lenovo (Singapore) Pte. Ltd. | Recordation of video conference based on bandwidth issue(s) |
Also Published As
Publication number | Publication date |
---|---|
KR102106298B1 (en) | 2020-05-04 |
EP2880547A2 (en) | 2015-06-10 |
JP2015529057A (en) | 2015-10-01 |
US20140164577A1 (en) | 2014-06-12 |
EP2880547A4 (en) | 2016-07-13 |
CN104756099A (en) | 2015-07-01 |
JP6470175B2 (en) | 2019-02-13 |
US9584602B2 (en) | 2017-02-28 |
IL236953A (en) | 2017-08-31 |
WO2014020496A2 (en) | 2014-02-06 |
KR20150091297A (en) | 2015-08-10 |
US8661491B1 (en) | 2014-02-25 |
ZA201500777B (en) | 2016-10-26 |
CN104756099B (en) | 2018-09-21 |
WO2014020496A3 (en) | 2014-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9584602B2 (en) | Methods using base content and additive content and related client devices and network server devices | |
CN112369038B (en) | Method for distributing media in a real-time uplink streaming service | |
CN101917389B (en) | Network television direct broadcasting system | |
US11303682B2 (en) | Adaptive bit rates in multicast communications | |
KR102266325B1 (en) | Video quality enhancement | |
US8854418B2 (en) | Integrated media gateway processing and control to reduce latency for 2-way video conference applications | |
US9667364B2 (en) | Broadcast seeding for peer-to-peer networks | |
US9241197B2 (en) | System and method for video delivery over heterogeneous networks with scalable video coding for multiple subscriber tiers | |
US8407361B2 (en) | Media player with integrated parallel source download technology | |
WO2014124058A1 (en) | Method of operating an ip client | |
US9781487B2 (en) | Streaming multicast content to a television via a mobile device | |
Abdullah et al. | Survey of transportation of adaptive multimedia streaming service in internet | |
US10015219B2 (en) | Multicasting adaptive bitrate streams | |
KR102349451B1 (en) | The method for transmitting or receiving multimedia and apparatus thereof | |
JP2010130692A (en) | Method and apparatus for receiving content | |
KR102044001B1 (en) | multicast and unicast mixed streaming apparatus and method for mobile IPTV service | |
KR101259748B1 (en) | Method for providing mobile iptv service and system for the same | |
CN112585979A (en) | Method and system for network controlled media upload of stored content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ERICSSON TELEVISION INC., GEORGIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ADAMS, MICHAEL;ALEXANDER, JAMES;SIGNING DATES FROM 20120730 TO 20120801;REEL/FRAME:030884/0505 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |