Providing low and high quality streams
10856029 ยท 2020-12-01
Assignee
Inventors
- Philip SHAW (YORK, GB)
- Peter HEILAND (Dover, MA, US)
- Mark CHRISTIE (LONDON, GB)
- Ralf Tilmann (Mannheim, DE)
- Kristan BULLET (York, GB)
- Hans-Jurgen MAAS (MAINZ, DE)
Cpc classification
H04N21/242
ELECTRICITY
H04N21/21805
ELECTRICITY
H04N21/41407
ELECTRICITY
H04N21/84
ELECTRICITY
H04N21/4307
ELECTRICITY
H04N21/26208
ELECTRICITY
H04N21/2665
ELECTRICITY
H04N21/433
ELECTRICITY
H04N21/440236
ELECTRICITY
H04N21/440263
ELECTRICITY
H04N21/26233
ELECTRICITY
H04N21/232
ELECTRICITY
H04N21/8186
ELECTRICITY
H04N21/4331
ELECTRICITY
H04N21/44204
ELECTRICITY
H04N21/2358
ELECTRICITY
H04N21/2343
ELECTRICITY
H04N21/2668
ELECTRICITY
H04N21/2353
ELECTRICITY
H04N21/2402
ELECTRICITY
H04N21/633
ELECTRICITY
H04N21/23418
ELECTRICITY
H04N21/234336
ELECTRICITY
H04N21/4305
ELECTRICITY
H04N21/235
ELECTRICITY
H04N21/4431
ELECTRICITY
H04N21/414
ELECTRICITY
International classification
H04N21/262
ELECTRICITY
H04N21/218
ELECTRICITY
H04N21/633
ELECTRICITY
H04N21/234
ELECTRICITY
H04N21/254
ELECTRICITY
H04N21/266
ELECTRICITY
H04N21/258
ELECTRICITY
H04N21/84
ELECTRICITY
H04N21/442
ELECTRICITY
H04N21/4402
ELECTRICITY
H04N21/43
ELECTRICITY
H04N21/2668
ELECTRICITY
H04N21/2665
ELECTRICITY
H04N21/242
ELECTRICITY
H04N21/24
ELECTRICITY
H04N21/235
ELECTRICITY
H04N21/232
ELECTRICITY
H04N21/231
ELECTRICITY
H04N21/433
ELECTRICITY
H04N21/443
ELECTRICITY
H04N21/2343
ELECTRICITY
Abstract
There is provided a technique in which a device for capturing an event, and for generating a first stream and a second stream representing the event, one of the first and second streams being a lower quality version of the other, and the streams being generated simultaneously.
Claims
1. A system comprising: a plurality of capture devices each for capturing an event, each capture device configured to generate a first stream representing the captured event in a first synchronization domain and to generate a second stream being a lower quality version of the first stream and representing the captured event in a second synchronization domain separate from the first synchronization domain; a server comprising: an input interface for receiving the first stream from the capture device as-live and for receiving the second stream from the capture device, wherein the first stream is intended for a recipient device and the second stream is for editing the first stream; a buffer for receiving the first stream from the interface; and a processing control module stored in memory and configured to: receive the second stream from the interface, process the second stream in advance of receipt of the first stream by the buffer by determining an edit based on the second stream, transpose the edit, and apply the transposed edit to the first stream in the buffer such that an edit at a time instant of the second stream is applied to the first stream at a corresponding time instant of the first stream, and an output interface for streaming the first stream as-live from the buffer; and at least one recipient device for receiving the streamed first stream with the transposed edit, wherein the second stream is not delivered to any recipient device.
2. The processing device of claim 1 wherein a control signal indicates a destination of the first stream.
3. The system of claim 1 further comprising: an editing device for editing the streams, the editing device being connected to the processing control module.
4. The system of claim 1 wherein the plurality of capture devices are further configured to apply first and second timing marks to each of the first and the second streams corresponding to the first and second synchronization domains, respectively, wherein the first and the second timing marks allow the processing control module to transpose the determined edit at a timing instant of each of the first and second streams which correspond.
5. The system of claim 1 wherein the first stream and the second stream are generated by each of the plurality of capture devices in dependence on bandwidth available on at least one connection from each capture device.
6. The system of claim 5 wherein the first stream is sent to a first recipient device, the bandwidth available being bandwidth on a connection from the at least one capture device to the first recipient device.
7. The system of claim 1 wherein the first and the second streams are generated in dependence on bandwidth available between the at least one capture device and at least one intended recipient device.
8. The system of claim 7 wherein quality of one or both of the first and the second streams is adjusted so as not to exceed total bandwidth available on a connection between the at least one capture device and the at least one intended recipient device.
9. A method for capturing an event, comprising: capturing, at each of a plurality of capture devices, an event; generating, at each of the plurality of capture devices, an as-live first stream representing the captured event in a first synchronization domain; generating, at each of the plurality of capture devices, a second stream being a lower quality version of the first stream, representing the captured event in a second synchronization domain separate from the first synchronization domain, wherein the first stream is for a recipient device and the second stream is for use in editing the first stream; receiving, at a server, the as-live first stream; receiving, at a server, the second stream; processing the second stream in advance of receipt of the first stream by determining an edit based on the second stream; transposing the determined edit to the first stream in the buffer such that an edit at a time instant of the second stream is applied to the first stream at a corresponding time instant of the first stream; and streaming the as-live first stream from the buffer to the recipient device with the transposed edit applied, wherein the second stream is not delivered to any recipient device.
10. The method of claim 9 further comprising: delivering the first and the second streams in dependence on a bandwidth available on at least one connection from a capture device.
11. The method of claim 9 further comprising: delivering the first and the second streams in dependence on a bandwidth available between a capture device and at least one intended recipient device, wherein quality of one of the first stream and the second stream is adjusted so as not to exceed total bandwidth available on a connection between the capture device and the at least one intended recipient device.
12. The method of claim 9 further comprising: sending the first stream to a first recipient device, in dependence on a bandwidth available, the bandwidth available being a bandwidth on a connection from a capture device to the first recipient device.
13. The method of claim 9 each of the plurality of capture devices receives a common timing mark.
14. The method of claim 9, further comprising: transmitting control signals indicating whether to generate one of a single stream, and the first and second streams in parallel at a capture device.
15. The method of claim 9 further comprising: transmitting a control signal, wherein the control signal indicates a destination of the first stream.
Description
BRIEF DESCRIPTION OF THE FIGURES
(1) The invention is now described by way of reference to the following figures, in which:
(2)
(3)
(4)
(5)
(6)
DESCRIPTION OF PREFERRED EMBODIMENTS
(7) With reference to
(8) With reference to
(9) Each of the devices 12a, 12b, 12c is referred to as a capture device as in the described embodiments of the invention the devices capture content. However the devices are not limited to capturing content, and may have other functionality and purposes. In examples each capture device 12a, 12b 12c may be a mobile device such as a mobile phone.
(10) Each of the capture devices 12a, 12b, 12c may capture an image utilising a preferably integrated image capture device (such as a video camera), and may thus generate a video stream on a respective communication line 14a, 14b, 14c. The respective communication lines 14a, 14b, 14c provide inputs to the network 4, which is preferably a public network such as the Internet. The communication lines 14a, 14b, 14c are illustrated as bi-directional, to show that the capture devices 12a, 12b, 12c may receive signals as well as generate signals.
(11) The server 2 is configured to receive inputs from the capture devices 12a, 12b, 12c as denoted by the bi-directional communication lines 6, connected between the server 2 and the network 4. In embodiments, the server 2 receives a plurality of video streams from the capture devices, as the signals on lines 14a, 14b, 14c are video streams.
(12) The server 2 may process the video streams received from the capture devices as will be discussed further hereinbelow.
(13) The server 2 may generate further video streams on bi-directional communication line 6 to the network 4, to the bi-directional communication lines 18a, 18b, associated with the devices 16a, 16b respectively.
(14) Each of the devices 16a, 16b is referred to as a viewing device as in the described embodiments of the invention the devices allow content to be viewed. However the devices are not limited to providing viewing of content, and may have other functionality and purposes. In examples each viewing device 16a, 16b may be a mobile device such as a mobile phone.
(15) The viewing devices 16a and 16b may be associated with a display (preferably an integrated display) for viewing the video streams provided on the respective communication lines 18a, 18b.
(16) A single device may be both a capture device and a viewing device. Thus, for example, a mobile phone device may be enabled in order to operate as both a capture device and a viewing device.
(17) A device operating as a capture device may generate multiple video streams, such that a capture device such as capture device 12a may be connected to the network 4 via multiple video streams, with multiple video streams being provided on communication line 14a.
(18) A viewing device may be arranged in order to receive multiple video streams. Thus a viewing device such as viewing device 16a may be arranged to receive multiple video streams on communication line 18a.
(19) A single device may be a capture device providing multiple video streams and may be a viewing device receiving multiple video streams.
(20) Each capture device and viewing device is connected to the network 4 with a bi-directional communication link, and thus one or all of the viewing devices 16A, 16B may provide a signal to the network 6 in order to provide a feedback or control signal to the server 2. The server 2 may provide control signals to the network 4 in order to provide control signals to one or more of the capture devices 12a, 12b, 12c.
(21) The capture devices 12a, 12b, 12c are preferably independent of each other, and are independent of the server 2. Similarly the viewing devices 16a, 16b are preferably independent of each other, and are independent of the server 2.
(22) The capture devices 12a, 12b, 12b are shown in
(23) The system architecture of
(24) Where bandwidth permits, a particular device may be capable of broadcasting a very high quality stream. However, this may mean that viewers with a low quality connection are unable to watch. In such situations, having a capture device that uses its ready access to bandwidth to provide both a low and a high quality version of the content will allow more people to watch without needing any expensive server-side on-the-fly transcoding which, given the quantities of live streams possible, would be difficult to scale.
(25) Further, where bandwidth permits and the where the content can be provided by the capture device to the server using a non-segmented streaming technology, a low quality stream may be provided alongside the high quality version such that the low quality version is available to moderators, directors, etc. earlier than the high quality one. This gives moderators/etc. more time in which to check, manipulate, edit content before it is made available to viewers.
(26) Technical complications arising from this include the need to maintain separate synchronisation domainsone for low quality stream and another for the high quality streamand the ability to map editorial decisions from one to the other. A moderator or director having made a decision based on their view of the low quality stream will expect that action to be transposed, at the right moment, to the high quality stream.
(27) As illustrated in
(28) As illustrated in
(29) The server 312 may receive the high-quality and low-quality streams 308,310 associated with the single capture device at the interface 314, and the processing control module 318 may process the stream in dependence on the low-quality stream information only, received on line 310. The high-quality stream information on line 308 is delivered to a buffer 316. In dependence on the processing control module 318, the buffer 316 delivers the high-quality stream to the interface 320 for further streaming to a viewing device.
(30) This takes advantage of the fact that the low-quality stream may be available to the processing control module 318 quicker, so that processing can take place in advance of the high-quality stream being received by the buffer 316.
(31)
(32)
(33)
(34) For the provision of low and high quality streams for a viewer, for contributor end users a wider audience can thus be reached without needing to do anything. High quality video can be provided to those able to receive it, but others may not be able to receiver it (for example they may only be on a cellular link which does not provide for high quality streams). This technique prevents members of an audience becoming frustrated at the inability to access content wherever and whenever. For viewer end users, fewer buffering headaches are encountered.
(35) For the provision of low and high quality streams at a central server, for customers greater editorial control may be provided given the greater amount of time in which to make decisions. For viewers, a better experience is provided since content is more carefully edited and produced.
(36) All the examples and embodiments described herein may be implemented as processed in software. When implemented as processes in software, the processes (or methods) may be provided as executable code which, when run on a device having computer capability, implements a process or method as described. The execute code may be stored on a computer device, or may be stored on a memory and may be connected to or downloaded to a computer device.
(37) Examples and embodiments are described herein, and any part of any example or embodiment may be combined with any part of any other example or embodiment. Parts of example are embodiments are not limited to being implemented in combination with a part of any other example or embodiment described. Features described are not limited to being only in the combination as presented.