DEVICE, METHOD AND SYSTEM FOR PROVIDING A MENU WITH MULTIPLE INSTANTIATIONS FOR A MULTI-STREAM DISPLAY
20180063476 ยท 2018-03-01
Inventors
Cpc classification
H04N21/431
ELECTRICITY
H04N21/42204
ELECTRICITY
H04N5/72
ELECTRICITY
International classification
H04N7/08
ELECTRICITY
H04N5/72
ELECTRICITY
Abstract
A device for providing a menu with multiple instantiations for a multi-stream display, the device (220) comprising: a data receiving block (620) for receiving a plurality of audio/video streams; an audio/video block (670) for decoding the plurality of the received audio/video streams and sending the decoded frames of the video streams to a display device, wherein the frames of the video streams are time-interleaved for sequential display of frames of consecutive video streams; and a controller (610) comprising shutter glasses control unit (613) for communicating with shutter glasses (411-414) of watchers (311-314) to transmit information comprising timing of frames of a particular video stream associated with that shutter glasses (411-414). The controller (610) further comprises: a multi-user GUI instantiation manager (611) configured to operate a plurality of instantiations of a GUI, wherein each GUI corresponds to a particular set of watcher devices (321-324), each set comprising the shutter glasses (411-414).
Claims
1. A device for providing a menu with multiple instantiations for a multi-stream display, the device (220) comprising: a data receiving block (620) for receiving a plurality of audio/video streams; an audio/video block (670) for decoding the plurality of the received audio/video streams and sending the decoded frames of the video streams to a display device, wherein the frames of the video streams are time-interleaved for sequential display of frames of consecutive video streams; and a controller (610) comprising shutter glasses control unit (613) for communicating with shutter glasses (411-414) of watchers (311-314) to transmit information comprising timing of frames of a particular video stream associated with that shutter glasses (411-414); characterized in that the controller (610) further comprises: a multi-user Graphical User Interface (GUI) instantiation manager (611) configured to operate a plurality of instantiations of a GUI, wherein each GUI corresponds to a particular set of watcher devices (321-324), each set comprising the shutter glasses (411-414).
2. The device according to claim 1, wherein the controller (610) further comprises an image frame generator (614) for generating image frames corresponding to the particular instantiation of the multi-user GUI in a frame sequence for the video corresponding to that instantiation.
3. The device according to claim 1, wherein the controller (610) further comprises an audio track control unit (615) for isolating audio tracks, from the received audio/video stream, appropriate for a particular instantiation of the multi-user GUI and sending them to the headphones (441-444) of the set of watcher devices (321-324) corresponding to the particular instantiation of the multi-user GUI.
4. The device according to claim 1, wherein the controller (610) further comprises a virtual Remote Control Unit (RCU) control unit (616) responsible for communicating with a virtual RCU (272-274) of the set of watcher devices (321-324) corresponding to the particular instantiation of the multi-user GUI.
5. The device according to claim 1, wherein the controller (610) further comprises a conflict manager (619) configured to resolve conflicts between access of watcher devices (321-324) depending on priority set for individual RCUs (460, 272-274).
6. A system comprising: a multi-stream display device (230); a plurality of sets of watcher devices (321-324); and a device (220) according to claim 1.
7. The system according to claim 6, wherein at least one set of watcher devices (321-324) comprises shutter glasses (411-414), a remote control unit (460, 272-274) and headphones (441-444).
8. A method for providing a menu with multiple instantiations for a multi-stream display, the method comprising the steps of: detecting (801, 802) a plurality of sets of watcher devices (321-324); executing an individual instantiation of a Graphical User Interface (GUI) for each of the plurality of sets of watcher devices (321-324); and receiving and decoding a plurality of audio/video streams and sending the decoded frames of the video streams to a display device, wherein the frames of the video streams are time-interleaved for sequential display of frames of consecutive video streams.
9. A non-transitory computer readable storage medium comprising instructions that, when executed by a computer, enable method for providing a menu with multiple instantiations in accordance with the method according to claim 8.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0018] Further details and features of the present invention, its nature and various advantages will become more apparent from the following detailed description of the preferred embodiments shown in drawings, in which:
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
NOTATION AND NOMENCLATURE
[0035] Some portions of the detailed description which follows are presented in terms of data processing procedures, steps or other symbolic representations of operations on data bits that can be performed on computer memory. Therefore, a computer executes such logical steps thus requiring physical manipulations of physical quantities.
[0036] Usually these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. For reasons of common usage, these signals are referred to as bits, packets, messages, values, elements, symbols, characters, terms, numbers, or the like.
[0037] Additionally, all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Terms such as processing or creating or transferring or executing or determining or detecting or obtaining or selecting or calculating or generating or the like, refer to the action and processes of a computer system that manipulates and transforms data represented as physical (electronic) quantities within the computer's registers and memories into other data similarly represented as physical quantities within the memories or registers or other such information storage.
[0038] A computer-readable (storage) medium, such as referred to herein, typically may be non-transitory and/or comprise a non-transitory device. In this context, a non-transitory storage medium may include a device that may be tangible, meaning that the device has a concrete physical form, although the device may change its physical state. Thus, for example, non-transitory refers to a device remaining tangible despite a change in state.
[0039] As utilized herein, the term example means serving as a non-limiting example, instance, or illustration. As utilized herein, the terms for example and e.g. introduce a list of one or more non-limiting examples, instances, or illustrations.
DETAILED DESCRIPTION
[0040]
[0041] A catch-up service 140 is configured to provide, via a transmission channel 154, retransmission the content that has been already broadcast as linear TV, in order to allow the users to watch it a few hours or even days later.
[0042] An Electronic Program Guide (EPG) data provider 130 is configured to provide, via a transmission channel 153, additional data about content available from various sources, including the content available from the content delivery network 100 and the other content providers 140, 160.
[0043] Electronic Program Guide (EPG) data provider 130 is configured to provide, via a transmission channel 153, additional data about content available from various sources, including the content available from the content delivery network 100 and the other content providers 140.
[0044] The content items for which the program guide is displayed may include live broadcast events and/or other content items, such as catch-up content, video-on-demand content, etc.
[0045] The transmission channels 151-154 may be of any known type, such as wired or wireless, using transmission technologies suitable to carry data of a particular service.
[0046] An application server 160 is configured to provide, via a transmission channel 155, applications of virtual RCU for mobile devices allowing them to emulate a regular RCU unit.
[0047]
[0048]
[0049]
[0050]
[0051]
[0052] Other, typical, but optional modules of the mobile device are a display module 550 configured to display the GUI to a user, a keyboard 506 operating as an input interface for the mobile device, an audio module 540 configured to generate audible signals and/or an external memory slot such as an SD card slot 505 configured to receive and operate an external memory unit.
[0053] A bidirectional data bus 501 may be employed to enable communication between the modules and the processor 510.
[0054] The mobile device may also comprise a power management module 520 cooperating with a battery 502.
[0055]
[0056]
[0057]
[0058] A data receiving/transmitting block 620 is configured to communicate, via at least one transmission channel 602, with the Ethernet (IP) network 210 or the wireless network, in order to receive content, applications and/or content data. The decoder may further comprise external interfaces 630 (Ethernet, Bluetooth, Zigbee RF4CE, Wi-Fi, InfraRed) to communicate, via at least one communication channel 603, with other devices or accessories.
[0059] A clock module 660 is configured to provide timing data necessary e.g. to synchronize the modules in the decoder.
[0060] A master RCU controller 650 is used for communicating 605 with user's remote control units (a standard RCU or the RCU emulated on the mobile device).\
[0061] An audio/video block 670 is used for decoding the video streams and sending the decoded frames of the multiple video streams to the display device for displaying the streams to the watcher, wherein the frames of the video streams are time-interleaved for sequential display of frames of consecutive streams.
[0062] A controller 610 comprises a plurality of units configured to provide the functionality of the system as described herein, including at least one of: [0063] a multi-user GUI instantiation manager 611 responsible for operating the plurality of instantiations of the aforementioned multi-user GUI for each watcher device and for controlling the remaining processes (612-619) according to a method shown in
[0072] It is possible that the maximum amount of possible instantiations of the multi-user GUI (being in fact the maximum amount of possible watchers) is smaller than the amount of activated, actually detected by the decoder, glasses. In such situation the conflict manager 619, according to the priorities set for individual RCUs with respect to their activation order, may offer to the watcher using the glasses whose number exceed the number of maximum possible instantiations to watch the contents chosen by the other watcher utilizing glasses with higher priority rank.
[0073] The controller 610 operates utilizing memory blocks 640, including RAM 640A and Flash 640B blocks, and optionally a HDD 640C.
[0074] The modules of the decoder 220 communicate with each other over a bidirectional data bus 601.
[0075]
[0076]
[0077] A multi-user GUI configuration 641 data set comprises information concerning available interfaces 641A, accessible protocols 641B, ID of Master RCU 641C, a number of possible watchers 641D and other GUI parameters 641E (such as user-specific colour schemes (or GUI skins), selected EPG type, power saving modes, parental rating etc.). A watchers' devices configurations 642 data set comprises information concerning configuration of the first watcher's devices 642A, such as shutter glasses, headphones and RCU type (virtual or regular), as well as configuration of the second and consecutive watcher's devices 642B, 642C.
[0078] A recordings 644 data set comprises information on recordings stored in the mass storage, such as the HDD.
[0079] The remaining memory space 643 can be used for storing other data, depending on system needs.
[0080]
[0081]
[0086] Therefore each instantiation 701-704 may be related to the different content dedicated for each watcher 311-314.
[0087]
[0088]
[0089]
[0090] In step 922, the shutter glasses that are paired with the master RCU are determined and a high priority is set up for this RCU. Next, in step 923, on the basis of the shutter glasses activation times, the priorities for the remaining (regular or virtual) RCUs are defined. In step 924, the respective multi-user GUI instantiations are executed for each defined watcher with the same last selected GUI module and video stream of the last watched channel. In step 925, the audio/video stream of the last watched channel is received from the broadcasting distribution interface 250. In step 926 there are generated the same image frames for all watchers as well as synchronization signals to synchronize video stream views with all shutter glasses and the audio track with all headphones. In step 927, the synchronization signals to all shutter glasses and headphones are sent. Next in step 928, the generated image frames are displayed on the display device and an audio track is sent to all headphones. In step 929 the system checks if there are any watcher commands. If there are no commands, then the procedure returns to step 925. If there are any commands, the procedure continues to step 930, wherein on the basis of watchers inputs (requested by the watchers), the GUI modules, the video streams and corresponding audio tracks are determined. In step 931, the requested GUI modules, the video streams and audio tracks are analysed in order to find possible conflicts as well as minimize necessary image frames and audio tracks. In step 932, the system checks if there are any possible conflicts. If there are any conflicts, the system (on the basis of priorities of the RCUs) resolves the conflicts in step 933 and next moves to step 934. In step 934, multiple audio/video streams are received. Next, in step 935, the image frames for determined video streams are generated and the respective audio tracks are selected. In step 936 there are generated synchronization signals to synchronize video stream views with all shutter glasses and audio tracks with all headphones. In step 937 the synchronization signals to the watchers' shutter glasses and headphones are sent. In step 938 the sequence of the prepared image frames is displayed on the display device and corresponding audio tracks are sent to corresponding watchers' headphones. In step 939 the system checks if there are any watchers' commands and if not, the procedure loops back to step 934. Otherwise, in step 940 the system checks if the watcher's command was to turn off the decoder. If there was no command for turning of the decoder, the procedure returns to step 930. If the watcher sent a command to turn off the decoder, then in step 941 the decoder is turned off.
[0091] It can be easily recognized, by one skilled in the art, that the aforementioned method for providing a menu with multiple instantiations for a multi-stream display may be performed and/or controlled by one or more computer programs. Such computer programs are typically executed by utilizing the computing resources in a computing device. Applications are stored on a non-transitory medium. An example of a non-transitory medium is a non-volatile memory, for example a flash memory while an example of a volatile memory is RAM. The computer instructions are executed by a processor. These memories are exemplary recording media for storing computer programs comprising computer-executable instructions performing all the steps of the computer-implemented method according the technical concept presented herein.
[0092] While the invention presented herein has been depicted, described, and has been defined with reference to particular preferred embodiments, such references and examples of implementation in the foregoing specification do not imply any limitation on the invention. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader scope of the technical concept. The presented preferred embodiments are exemplary only, and are not exhaustive of the scope of the technical concept presented herein.
[0093] Accordingly, the scope of protection is not limited to the preferred embodiments described in the specification, but is only limited by the claims that follow.