WO2016016688A1 - Method and apparatus for surfing an ordered lineup of tv channels - Google Patents

Method and apparatus for surfing an ordered lineup of tv channels Download PDF

Info

Publication number
WO2016016688A1
WO2016016688A1 PCT/IB2014/063567 IB2014063567W WO2016016688A1 WO 2016016688 A1 WO2016016688 A1 WO 2016016688A1 IB 2014063567 W IB2014063567 W IB 2014063567W WO 2016016688 A1 WO2016016688 A1 WO 2016016688A1
Authority
WO
WIPO (PCT)
Prior art keywords
channels
channel
display
video streams
designated
Prior art date
Application number
PCT/IB2014/063567
Other languages
French (fr)
Inventor
Donald Joong
Alberto MIRARCHI
Adela Carmen LEBIDOFF
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to PCT/IB2014/063567 priority Critical patent/WO2016016688A1/en
Publication of WO2016016688A1 publication Critical patent/WO2016016688A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/26Arrangements for switching distribution systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programs or purchase activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/38Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space
    • H04H60/41Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space for identifying broadcast space, i.e. broadcast channels, broadcast stations or broadcast areas
    • H04H60/43Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space for identifying broadcast space, i.e. broadcast channels, broadcast stations or broadcast areas for identifying broadcast channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/46Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for recognising users' preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/61Arrangements for services using the result of monitoring, identification or recognition covered by groups H04H60/29-H04H60/54
    • H04H60/65Arrangements for services using the result of monitoring, identification or recognition covered by groups H04H60/29-H04H60/54 for using the result on users' side
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4122Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection

Definitions

  • the present application generally relates to surfing an ordered lineup of TV channels associated with a linear TV service.
  • linear TV services still remain the predominant form of TV services that users consume. Unlike on-demand TV services, linear TV services restrict the times that users can view certain TV content. Linear TV services do so by unilaterally controlling what and when different TV content is sent to users' client devices over different physical, logical, or other higher-layer TV channels.
  • a provider of linear TV services assigns numbers or other sortable identifiers to these TV channels, so as to establish at least a default positional ordering of the channels.
  • Some client devices allow a user to effectively customize the provider's default channel ordering (at least from the user's perspective), such as by mapping the provider's ordering to a "virtual" ordering maintained locally at the user's client device. In any event, the provider's or a user's positional ordering of the TV channels is referred to herein as the ordered lineup of TV channels (or simply "channel lineup").
  • One or more embodiments herein advantageously improve the efficiency of TV channel surfing. Rather than limiting a user to surfing TV channels one by one, as in conventional approaches, one or more embodiments herein enable a user to effectively surf an ordered lineup of TV channels in groups of multiple TV channels.
  • one or more embodiments herein include a method for surfing an ordered lineup of TV channels associated with a linear TV service.
  • the method is implemented by a client device, such as a set-top-box.
  • the method includes rendering for simultaneous display in three or more display areas video streams from a first group of TV channels.
  • This first group includes a first TV channel whose video stream is rendered for display in a designated one of the display areas.
  • the first group additionally includes one or more TV channels that immediately precede, and one or more TV channels that immediately succeed, the first TV channel in the ordered lineup.
  • the method further includes receiving control signaling to change the TV channel whose video stream is displayed in the designated display area from the first channel to a second channel.
  • the method also includes responsive, to the control signaling, switching to rendering for simultaneous display in the display areas video streams from a second group of TV channels.
  • This second group includes the second channel.
  • the second group also includes one or more TV channels that immediately precede, and one or more TV channels that immediately succeed, the second TV channel in the ordered lineup.
  • Each of the first and second groups includes at least one TV channel that is not included in the other of the groups.
  • the video stream displayed in the designated display area at any given time is the video stream that a user at least tentatively selects for exclusive viewing pending completion of said surfing.
  • the first and second groups are mutually exclusive of one another, but are immediately adjacent to one another in the ordered lineup.
  • the display areas other than the designated display area comprise picture-in-picture (PiP) areas inset into the designated area.
  • the control signaling indicates that a viewer has, upon toggling a selection tool across the PiP areas to a particular PiP area displaying a desired video stream, activated the selection tool on that PiP area.
  • the above-described switching comprises switching from rendering the desired video stream for display in the particular PiP area to rendering the desired video stream for display in the designated display area.
  • the video streams from the immediately preceding channels are rendered for display proximal to a top edge of the designated display area.
  • the video streams from the immediately succeeding channels are rendered for display proximal to a bottom edge of the designated display area.
  • the method further includes, responsive to the elapse of a defined amount of time since the video stream displayed in the designated display area has changed, switching to rendering for exclusive display the video stream currently displayed in the designated display area.
  • one or more of the display areas are smaller in size than one or more others of the display areas.
  • the method according to one or more embodiments further includes rendering the one or more video streams displayed in those one or more smaller sized display areas at a lower bit rate than the one or more video streams displayed in the others of the display areas.
  • the number of display areas equals the number of TV channels in each of the first and second groups.
  • the method according to one or more embodiments further includes rendering for simultaneous display video streams from all TV channels in the first group, and rendering for simultaneous display video streams from all TV channels in the second group.
  • the number of display areas is at least three but is less than the number of TV channels in each of the first and second groups.
  • the method according to one or more embodiments includes rendering for simultaneous display at different times, video streams from different subgroups of TV channels in the first group, and rendering for simultaneous display at different times video streams from different subgroups of TV channels in the second group.
  • the first and second groups respectively include two or more TV channels that immediately precede, and two or more TV channels that immediately succeed the first and second channels.
  • the method includes forming the different subgroups of TV channels in the first group, with each subgroup including the first channel, at least one channel that precedes the first channel, and at least one channel that succeeds the first channel.
  • the method includes cycling through these different subgroups to render for simultaneous display at different times the video streams from the TV channels in the different subgroups.
  • the method also includes forming the different subgroups of TV channels in the second group, with each subgroup including the second channel, at least one channel that precedes the second channel, and at least one channel that succeeds the second channel.
  • the method includes cycling through these different subgroups to render for simultaneous display at different times the video streams from the TV channels in the different subgroups.
  • the method further includes switching from an individual-based surfing mode for surfing the lineup in individual TV channels to a group- based surfing mode for surfing the lineup in groups of TV channels, responsive to receiving a defined number of channel up or channel down commands within a defined period of time.
  • One or more embodiments herein also include a different method for surfing an ordered lineup of TV channels associated with a linear TV service.
  • This different method is also implemented by a client device, such as a set-top-box.
  • the method includes tracking which one or more of the TV channels are most frequently selected for viewing the video streams thereof.
  • the method further includes tracking which one or more of the TV channels have most recently been selected in the past for viewing the video streams thereof.
  • the method finally includes rendering for simultaneous display in three or more display areas video streams from the tracked TV channels as well as a TV channel whose video stream is currently selected for viewing.
  • the rendering comprises rendering the video stream currently selected for viewing in a designated one of the display areas, and rendering video streams from the tracked TV channels in display areas that comprise PiP areas inset into the designated display area.
  • Embodiments herein further include a client device comprising a processor and a memory.
  • This memory contains instructions executable by the processor, whereby the client device is configured to perform the respective processing described above, including any variations or modifications thereof.
  • embodiments herein include a computer program comprising instructions, which when executed on at least one processor of a client device, cause the client device to carry out any of the methods above.
  • a carrier containing such a computer program in some embodiments may be one of an electrical signal, an optical signal, a radio signal, or a computer readable storage medium.
  • Figure 1 is a block diagram of a linear TV system according to one or more
  • Figure 2 is a logic flow diagram of a method for surfing an ordered lineup of TV channels associated with a linear TV service, according to one or more embodiments.
  • Figures 3a-3e are block diagrams illustrating one or more embodiments in which some display areas herein are picture-in-picture (PiP) areas.
  • PiP picture-in-picture
  • Figures 4a-4e are block diagrams illustrating one or more embodiments in which some display areas herein are arranged proximal to the top of a designated display area, while other display areas herein are arranged proximal to the bottom of the designated display area.
  • Figures 5a-5e are block diagrams illustrating one or more embodiment in which display areas herein are arranged as a mosaic of equally sized areas.
  • Figures 6a-6d are block diagrams illustrating one or more embodiments in which some display areas herein are stacked, partially overlapping areas arranged on either side of a designated display area.
  • Figures 7a-7c are block diagrams illustrating one or more embodiments in which the display areas are not all rendered for display on the same device.
  • Figures 8a-8c are block diagrams illustrating one or more embodiments in which video streams from different subgroups of TV channels are rendered for simultaneous display.
  • Figure 9 is a logic flow diagram of a method for surfing an ordered lineup of TV channels associated with a linear TV service, according to one or more other embodiments.
  • Figure 10 is a block diagram of a client device according to one or more embodiments.
  • Figure 1 1 is a block diagram of the functional units of a client device according to one or more embodiments.
  • Figure 12 is a block diagram of the functional units of a client device according to one or more other embodiments
  • Figure 13 is a block diagram of the code modules in memory accessible to a client device implementing the method of Figure 2 according to one or more embodiments.
  • Figure 14 is a block diagram of the code modules in memory accessible to a client device implementing the method of Figure 9 according to one or more embodiments.
  • FIG. 1 illustrates a linear television (TV) system 100 according to one or more embodiments.
  • a linear TV service provider's headend 105 receives different TV content (e.g., national and/or local TV programs, advertisements, etc.) from one or more content providers (not shown).
  • the headend 105 aggregates and organizes the different TV content into different video streams 1 10 (with accompanying audio streams, if applicable).
  • the headend 105 then sends these video streams 1 10 to client devices 1 15 via a content delivery network (CDN) 120 and an access network 125.
  • CDN content delivery network
  • the headend 105 unilaterally controls (i.e., schedules) what and when different TV content is sent on the different video streams 1 10, so as to restrict the times that users of the client devices 1 15 can view certain TV content.
  • client devices 1 15 Upon reception, render the video streams 1 10 for display.
  • the headend 105 more specifically sends the video streams 1 10 to the client devices 1 15 by sending the streams 1 10 over different physical, logical, or other higher-layer TV channels 130.
  • the headend 104 assigns numbers or other sortable identifiers to these TV channels 130 (e.g., as CH1 , CH2, CH3). By way of these identifiers, the headend's mapping of which video streams 1 10 are sent over which TV channels 130 establishes at least a default positional ordering of the channels 130.
  • a user employs his or her client device 1 15 to customize the provider's default channel ordering (at least from the user's perspective).
  • the user's client device 1 15 maps the provider's default ordering to a "virtual" ordering specified by the user and maintained locally at (i.e., internally to) the device 1 15.
  • the device 1 15 in this regard presents the virtual ordering to the user, but interacts with the headend 104 using the provider's default ordering by performing translations between those orderings as needed (e.g., by mapping the provider's channel identifiers to virtual channel identifiers as shown in Figure 1).
  • that ordering is referred to herein as an ordered lineup 135 of TV channels 130 (or simply "channel lineup").
  • One or more embodiments herein advantageously improve the efficiency of channel surfing. Rather than limiting a user to surfing channels one by one, as in conventional approaches, one or more embodiments herein enable a user to effectively surf the ordered lineup 135 in groups of multiple channels.
  • one or more embodiments herein include a method implemented by a client device 1 15 for surfing an ordered lineup 135 of TV channels 130 associated with a linear TV service.
  • the method 200 includes rendering for simultaneous display in three or more display areas video streams from a first group of TV channels (Block 205).
  • This first group includes a first TV channel (e.g., CH10) whose video stream is rendered for display in a designated one of the display areas (e.g., a main display area).
  • the first group also includes one or more TV channels that immediately precede the first channel in the ordered lineup 135 (e.g., CH8 and CH9).
  • the first group further includes one or more TV channels that immediately succeed the first channel in the ordered lineup 135 (e.g., CH1 1 and CH12).
  • the method 200 further includes receiving control signaling to change the TV channel whose video stream is displayed in the designated display area from the first channel (e.g., CH10) to a second channel (e.g., CH17) (Block 210). Responsive to this control signaling, the method 200 finally entails switching to rendering for simultaneous display in the display areas video streams from a second group of TV channels (Block 215).
  • This second group includes the second channel, as well as one or more TV channels that immediately precede the second channel in the ordered lineup 135 (e.g., CH15 and CH16). And the second group also includes one or more TV channels that immediately succeed the second channel in the ordered lineup 135 (e.g., CH18 and CH19). Note that, since the first and second channels are different, each of the first and second groups includes at least one TV channel that is not included in the other of the groups.
  • the video stream displayed in the designated display area at any given time is the video stream that a user at least tentatively selects for exclusive viewing (pending completion of channel surfing).
  • any audio stream that accompanies that video stream is the audio stream that is played.
  • group formation is centered and otherwise revolves around the channel whose video stream the user tentatively selects for exclusive viewing.
  • Figures 3a-3e illustrate one example of this embodiment in a context where display areas other than the designated display area are picture-in-picture (PiP) areas inset into (i.e., overlaid on) the designated display area.
  • a user currently selects to exclusively view the video stream of the TV channel identified by number 10 (or, simply, "Channel 10").
  • the user's client device 1 15 renders this video stream for display in the designated display area 300. Thereafter, the user controls the client device 1 15 to enter a group-based surfing mode for surfing the ordered lineup 135 in groups of channels (as opposed to a conventional, individual- based surfing mode for surfing the ordered lineup 135 in individual channels one by one).
  • Figures 3b-3c illustrate the surfing mode according to this example.
  • the client device 1 15 upon entering the group-based surfing mode (e.g., responsive to the user pushing a dedicated button on his or her remote control), the client device 1 15 renders the same video stream for display in the designated display area 300; that is, the video stream of Channel 10.
  • the client device 1 15 also renders the video streams of six other channels that surround and are centered around Channel 10 in the lineup 135, for simultaneous display in PiP areas 305 inset into the designated display area 300.
  • These six other channels include three channels that immediately precede Channel 10 in the lineup 135 (i.e., Channels 7, 8, and 9), and three channels that immediately succeed Channel 10 in the lineup 135 (i.e., Channels 1 1 , 12, and 13).
  • the client device 1 15 After rendering this first group of seven consecutively ordered channels for simultaneous display, the client device 1 15 receives control signaling to change the TV channel whose stream is displayed in the designated display area 300 from Channel 10 to Channel 17.
  • This control signaling in some embodiments explicitly identifies Channel 17 as the channel to be displayed in the designated area 300.
  • the control signaling in this case may for instance be received responsive to the user successively pressing the numbers "1 " and "7" on his or her remote control. In other embodiments, though, the control signaling only implicitly indicates that Channel 17 is to be displayed in the designated area 300.
  • control signaling explicitly directs the device 1 15 to render for simultaneous display in the display areas 300, 305 a second group of seven consecutively ordered channels that is mutually exclusive of the first group, but that immediately succeeds the first group in the ordered lineup 135.
  • the control signaling may be received for instance responsive to the user pressing a "group up" button on his or her remote control.
  • This second group of seven consecutively ordered channels includes Channels 14-20. Since the second group is centered around Channel 17, with three channels preceding and three channels succeeding it, that channel is the one that is rendered for display in the designated display area 300.
  • the device 1 15 responds to that signaling by switching to rendering for simultaneous display in the display areas 300, 305 video streams from the second group (including Channels 14-20), as shown in Figure 3c. Accordingly, as the video stream rendered for display on the designated area 300 changes, so too will all of the PiP areas 305 for the preceding and subsequent channels.
  • the control signaling may in other examples explicitly direct the device 1 15 to render a second group of channels that is mutually exclusive of the first group, but that immediately precedes the first group in the lineup 135. In general, therefore, the first and second groups in such embodiments are mutually exclusive of one another, but are immediately adjacent to one another in the ordered lineup 135).
  • the client device 1 15 exits the group-based surfing mode responsive to the elapse of a defined amount of time since the video stream displayed in the designated display area 300 has changed. Responsive to such a timeout, the device 1 15 switches to rendering for exclusive display the video stream currently displayed in the designated display area. As shown in Figure 3d, for example, the device 1 15 renders Channel 17's video stream for exclusive display in the designated display area 300, since in this example the user did not continue to surf the lineup 135 for a defined amount of time.
  • the client device 1 15 exits the group-based surfing mode responsive to the control signaling indicating that a user has, upon toggling a selection tool 310 across the PiP areas 305 to a particular PiP area displaying a desired video stream, activated that selection tool 310 on that PiP area.
  • the device 1 15 switches from rendering the desired video stream in the particular PiP area to rendering that desired video stream for exclusive display in the designated display area 300.
  • the device 1 15 renders Channel 20's video stream for exclusive display in the designated area 300 responsive to the user activating the selection tool 310 on the PiP area displaying Channel 20's video stream.
  • Figure 3e shows the device 1 15 existing group-based surfing mode responsive to user activation of the selection tool 310
  • the device 1 15 in still other embodiments treats that activation as just another command to surf the lineup 135 in groups, not a command to exist surfing mode.
  • the device 1 15 switches from rendering the desired video stream for display in the particular PiP area to rendering the desired video stream for display in the designated display area 300.
  • the device 1 15 renders for simultaneous display in the PiP areas 305 the other channels in a third group that is centered around Channel 20. That is, the device 1 15 renders Channels 17-19 and 21 -23 for simultaneous display in the PiP areas 305.
  • Figure 3 described an example in which a client device 1 15 enters a group-based surfing mode responsive to the user pushing a dedicated button on his or her remote control
  • embodiments herein are not so limited.
  • the device 1 15 enters the group-based surfing mode responsive to receiving a defined number (e.g., three) of channel up or channel down commands within a defined period of time.
  • a channel up or channel down command in this regard refers to a command to surf the ordered lineup 135 on an individual channel basis; that is, to change the channel whose video stream is rendered for display in the designated display area 300 from the current channel to the channel that is immediately above or below the current channel in the lineup 135.
  • the device 1 15 when the device 1 15 receives a succession of such commands within a certain amount of time or at a certain rate, the device 1 15 surfs the lineup 135 on a group-basis rather than an individual- basis, based on the assumption that the user desires to traverse the lineup 135 more quickly and efficiently.
  • Client devices 1 15 that provide both individual-based and group-based surfing modes as alternatives may enter the group-based surfing mode when this condition is met and enter the individual-based surfing mode when the channel up or channel down commands are received more slowly.
  • Figure 3 described some embodiments in a context where display areas other than the designated display area are PiP areas
  • the display areas herein generally include any area in which a video stream is displayed, no matter the size, positioning, or arrangement.
  • Figures 4a-4e illustrate one or more other embodiments with different types of display areas; namely, picture-by-picture display areas rather than PiP areas.
  • Figures 4a-4e correspond to Figures 3a-3e except for the size, positioning, and arrangement of the display areas.
  • display areas 405 other than the designated display area 400 are arranged adjacent to, rather than inset into or overlaid onto, the designated display area 400.
  • the designated display area 400 in some embodiments is scaled, moved, or otherwise reconfigured upon entering and existing the group-based surfing mode.
  • the designated area 400 may for instance be scaled in the vertical dimension so as to be made smaller when entering the surfing mode but made larger when existing the surfing mode.
  • the client device 1 15 in one or more embodiments herein renders the video streams from the immediately preceding channels (e.g., Channels 7-9) for display proximal to a top edge of the designated display area 300, 400, irrespective of whether the other display areas 305, 405 are inset into or adjacent to that designated area.
  • the client device 1 15 renders the video streams from the immediately succeeding channels (e.g., Channels 1 1 -13) for display proximal to a bottom edge of the designated display area 300, 400.
  • Figures 5a-5e illustrate embodiments where all of the display areas are equally sized in surfing mode. More specifically, the figures illustrate the display areas arranged as a mosaic of equally sized areas.
  • the designated display area 500 is scaled upon entering the surfing mode and is arranged in the center of the mosaic.
  • the other display areas 505 surround the designated area 500 and display the immediately adjacent channels' video streams.
  • non-designated display areas in surfing mode comprise stacked, partially overlapping areas arranged on either side of the designated display area.
  • Figures 6a-6d illustrate one example of this. Indeed, as shown the non-designated display areas 605 are arranged in two different stacks, one for displaying the video streams of immediately preceding channels (e.g., Channels 8-9) and one for displaying the video streams of immediately succeeding channels (e.g., Channels 1 1 -12).
  • the designated display area is arranged in the center, so as to be prominent and unobstructed.
  • the video stream displayed in this designated area 600 is the video stream tentatively selected for exclusive viewing, as described previously.
  • the stack for preceding channels is arranged to the left of the designated display area 600, while the stack for subsequent channels is arranged to the right of that designated area 600.
  • FIG. 6a-6d prove particularly conducive to client devices 1 15 controlled by a touch-based user interface (e.g., a touchscreen).
  • a touch-based user interface e.g., a touchscreen
  • the user for instance swipes the touch interface left or right in order to traverse the lineup 135 towards preceding or subsequent channels.
  • this touch control traverses the lineup 135 one channel at a time, meaning that two different groups consecutively formed during group-based surfing each include one TV channel that is not included in the other of the groups, but otherwise share common channels.
  • the device 1 15 surfs from rendering a first group of Channels 8-12 to rendering a second group of Channels 9- 13 responsive to a user's touch swipe to the left.
  • the first group of Channels 8-12 shown in Figure 6b includes one channel (namely, Channel 8) that is not included in the second group of Channels 9-13 shown in Figure 6c.
  • the second group of Channels 9-13 includes one channel (namely, Channel 13) that is not included in the first group of Channels 8-12. But, otherwise, the groups share common Channels 9-12.
  • a client device 1 15 herein may be configured to render the streams for display on one and the same physical display, or for display on multiple different physical displays.
  • Figures 7a- 7c illustrate a few examples in this regard. As shown, the client device 1 15 renders the video stream for display in the designated area 700 on a main one 710 of multiple different physical displays. And the client device 1 15 renders the video streams for display in the other areas 705 on one or more other so-called companion displays 715, such as a tablet or mobile terminal.
  • the other areas 705 may be rendered for display all on the same companion display 715 (as shown in Figure 7b), or be rendered for display on multiple different, separate companion displays 715 (as shown in Figure 7c). Particularly in this latter case, the companion displays 715 may be arranged adjacent to the main display 710.
  • the number of display areas equals the number of TV channels in each of the first and second groups.
  • the client device 1 15 in implementing the method of Figure 2 renders for simultaneous display video streams from all channels in the first group, and renders for simultaneous display video streams from all channels in the second group.
  • the number of display areas is at least three but is less than the number of TV channels in each of the first and second groups. That is, there are more TV channels to display the video stream thereof than there are display areas to display those streams in.
  • the client device 1 15 in one or more
  • embodiments is configured to render for simultaneous display at different times video streams from different subgroups of TV channels in the first group.
  • the client device 1 15 renders for simultaneous display only one portion of the channels in the first group at one time, renders for simultaneous display only another portion of the channels in the first group at another time, and so on.
  • the client device 1 15 is configured (e.g., upon channel surfing) to render for simultaneous display at different times video streams from different subgroups of TV channels in the second group.
  • Each subgroup includes at least three channels since there are at least three display areas.
  • the first and second groups respectively include two or more TV channels that immediately precede, and two or more TV channels that immediately succeed, the first and second channels in the lineup 135.
  • the device 1 15 forms the different subgroups of TV channels in the first group. Each subgroup includes the first channel, at least one channel that precedes the first channel, and at least one channel that succeeds the first channel. The device 1 15 then cycles through those different subgroups to render for simultaneous display at different times the video streams from the TV channels in the different subgroups.
  • the device 1 15 forms the different subgroups of TV channels in the second group (upon channel surfing to that second group). Each subgroup includes the second channel, at least one channel that precedes the second channel, and at least one channel that succeeds the second channel. The device 1 15 then cycles through those different subgroups to render for simultaneous display at different times the video streams from the TV channels in the different subgroups.
  • Figures 8a-8c illustrate one example of this embodiment for a group of Channels 7-13, which could be either the first group or the second group.
  • the device 1 15 forms three different subgroups of channels, with each subgroup including Channel 10 since that is the channel whose video stream is displayed in the designated area 800.
  • Figure 8a shows a first subgroup that includes Channel 10 as well as the two channels that immediately surround it in the lineup 135; namely, Channels 9 and 1 1 .
  • Figure 8b shows a second subgroup that includes Channel 10 as well as the two channels that are once-removed from it in the lineup 135; namely, Channels 8 and 12.
  • Figure 8c shows a third subgroup that includes Channel 10 as well as the two channels that are twice-removed from it in the lineup 135; namely Channels 7 and 13.
  • the device 1 15 cycles through the subgroups to simultaneously render the video streams of those different subgroups at different times. That is, at each different time a different subgroup of TV channels from the group is displayed.
  • the device 1 15 first simultaneously displays the first subgroup's video streams, e.g., responsive to the user pressing a dedicated button on his or her remote control.
  • the device 1 15 then waits a defined period of time. After this set delay, and autonomously without regard to any further user input, the device 1 15 switches to simultaneously displaying the second subgroup's video streams.
  • the device 1 15 does so by replacing which video streams are rendered in the static PiP areas 805a and 805b. Then, again after a defined period of time, and autonomously without regard to any further user input, the device 1 15 switches to simultaneously displaying the third subgroup's video streams in those same PiP areas 805a and 805b. This cycling continues on in one or more embodiments until further user input is received or until a maximum cycling timeout occurs. Effectively, then, the device 1 15 renders video streams from the preceding Channels 7-9 for successive display in PiP area 805a, and renders video streams from the succeeding Channels 1 1 -13 for successive display in PiP areas 805b. In at least some embodiments, the device 1 15 does so responsive to a single channel surfing command, rather than one surfing command for each change in the video stream displayed.
  • one or more of the display areas may be smaller in size than one or more others of the display areas.
  • the client device 1 15 renders the one or more video streams displayed in those one or more smaller sized display areas at a lower bit rate than the one or more video streams displayed in the others of the display areas. For instance, the device 1 15 renders the video stream displayed in the designated display area at a defined "normal" bit rate, but renders the video streams displayed in PiP areas at a lower bit rate. In this way, the device 1 15 advantageously exploits the smaller sized areas as a way to reduce demands on its processing resources, with little to no degradation to the quality of the video streams displayed in those smaller areas.
  • the device 1 15 conditions the above use of a lower bit rate on the video streams being in a certain format.
  • the device 1 15 only uses a lower bit rate if the video streams are in the form of HTTP Live Streaming (HLS) Adaptive Bit Rate (ABR).
  • HLS HTTP Live Streaming
  • ABR Adaptive Bit Rate
  • the device 1 15 only uses a lower bit rate if the video streams are in the form of the Internet Group Management Protocol (IGMP).
  • IGMP Internet Group Management Protocol
  • IGMP Internet Group Management Protocol
  • IGMP Internet Group Management Protocol
  • IGMP Internet Group Management Protocol
  • IGMP Internet Group Management Protocol
  • IGMP Internet Group Management Protocol
  • IGMP Internet Group Management Protocol
  • FIG. 9 shows this variation as a different sort of method implemented by a client device 1 15 for surfing the ordered lineup 135.
  • the method 900 includes tracking which one or more of the TV channels 130 are most frequently selected for viewing the video streams 1 10 thereof (Block 905).
  • the method 900 also includes tracking which one or more of the TV channels 130 have most recently been selected in the past for viewing the video streams 1 10 thereof (Block 910).
  • Such tracking may entail for instance maintaining in the client device's memory a history of a user's viewing habits and a history of the user's past channel changes.
  • the method 900 further involves rendering for simultaneous display in three or more display areas video streams 1 10 from the tracked TV channels (i.e., the most frequently viewed channels and the most recently selected channels) as well as a TV channel whose video stream is currently selected for viewing (Block 915).
  • the device 1 15 As the device 1 15 surfs the lineup 135, the device 1 15 continues to perform the above- described tracking and dynamically updates the video streams in the display areas accordingly. If a user's channel change causes the changed-to channel to become one of the most frequently selected channels, for instance, the device 1 15 replaces one of the previously displayed channels with that changed-to channel.
  • the device 1 15 renders the video stream currently selected for viewing in a designated one of the display areas, and renders video streams from the tracked TV channels in display areas that comprise PiP areas inset into the designated area.
  • the access network 125 may for instance be an IP-based network, a cable network (CATV), a fiber network, a satellite network, a wireless communication network, or any combination thereof, as just a few examples.
  • the access network 125 in this regard may be a home local area network (LAN) or a personal area network (PAN).
  • the access network 125 may be a wireless communication network provided by a telecommunication provider so as to realize mobile TV.
  • the access network 125 in other instances may be wired or wireless.
  • the device 1 15 for instance may be a set-top-box (STB) that renders video streams for display on an external TV set.
  • STB set-top-box
  • the device 1 15 may be a "smart" TV set that performs rendering itself, rather than relying on a STB.
  • the device 1 15 may be a desktop or laptop computer, especially for receiving IPTV.
  • the device 1 15 may be any sort of mobile terminal or user equipment, such as a cellular phone, PDA, or tablet.
  • UHD includes 4K UHD (2160p) and 8K UHD (4320p), which are two digital video formats proposed by NHK Science & Technology Research
  • Ultra High-Definition or “Ultra HD” would be used for displays that have an aspect ratio of at least 16:9 and at least one digital input capable of carrying and presenting native video at a minimum resolution of 3840x2160 pixels.
  • UHD television becoming more popular, it is expected that larger screens will also become more readily available. In the near future, it would not be uncommon to see 100+ inches screens in households.
  • embodiments herein exploit these features to display multiple PiP panels overlaid on to an oversized screen.
  • the embodiments herein employ any sort of CDN 120, any sort of access network, and any sort of client device 1 15 that is capable of facilitating linear TV services (as distinguished from on-demand TV services).
  • embodiments herein also include apparatus configured to perform the processing described herein.
  • embodiments herein also include a client device 1 15.
  • the client device 1 15 is configured to perform the processing shown in Figures 2 and/or 9, including any modifications and variations described herein.
  • Figure 10 generally illustrates one example of such a client device 1000 according to one or more embodiments.
  • the client device 1000 includes one or more processing circuits 1010 and one or more communications interfaces 1005.
  • the one or more communication interfaces 1005 include various components (not shown) for sending and receiving data and control signals. Data in this regard may include the received video streams, and control signals may include signals to control channel surfing. More particularly, the interface(s) 1005 include a transmitter that is configured to use known signal processing techniques, typically according to one or more standards, and is configured to condition a signal for transmission (e.g., over the air via one or more antennas). Similarly, the interface(s) 1005 include a receiver that is configured to convert signals received (e.g., via the antenna(s)) into digital samples for processing by the one or more processing circuits 1010. The one or more processing circuits 1010 extract data from signals received via the receiver and generate information for transmission via the transmitter.
  • the one or more processing circuits 1010 may comprise circuits dedicated to performing the processing herein and/or one or several microprocessors in conjunction with memory 1015.
  • memory 1015 which may comprise one or several types of memory such as read-only memory (ROM), random-access memory, cache memory, flash memory devices, optical storage devices, etc., the memory stores program code for carrying out one or more of the techniques described herein.
  • a more generalized control circuit configured to carry out the operations described above may have a physical configuration corresponding directly to the processing circuit(s) 1010 or may be embodied in two or more modules or units.
  • Figure 1 1 illustrates the functional units of the client device 1000 where it is configured to perform the processing in Figure 2 according to one or more embodiments.
  • the functional units include a rendering unit 1 105 for rendering for simultaneous display in three or more display areas video streams from a first group of TV channels, including a first TV channel whose video stream is rendered for display in a designated one of the display areas and also including one or more TV channels that immediately precede, and one or more TV channels that immediately succeed, the first TV channel in the ordered lineup.
  • the functional units further include a receiving unit 1 1 10 for receiving control signaling to change to change the TV channel whose video stream is displayed in the designated display area from the first channel to a second channel.
  • the functional units finally include a switching unit 1 1 15 for switching, responsive to the control signaling, to rendering for simultaneous display in the display areas video streams from a second group of TV channels, including the second channel and also including one or more TV channels that immediately precede, and one or more TV channels that immediately succeed, the second TV channel in the ordered lineup.
  • each of the first and second groups includes at least one TV channel that is not included in the other of the groups.
  • the client device 1000 in Figure 10 is further configured (not shown) to perform the processes of any of the above embodiments.
  • Figure 12 illustrates the functional units of the client device 1000 where it is configured to perform the processing in Figure 9 according to one or more embodiments.
  • the functional units include a first tracking unit 1205 for tracking which one or more of the TV channels are most frequently selected for viewing the video streams thereof.
  • the functional units further include a second tracking unit 1210 for tracking which one or more of the TV channels have most recently been selected in the past for viewing the video streams thereof.
  • the functional units finally include a rendering unit 1215 for rendering for simultaneous display in three or more display areas video streams from the tracked TV channels as well as a TV channel whose video stream is currently selected for viewing.
  • the client device 1000 illustrated in Figure 12 is further configured (not shown) to render the video stream currently selected for viewing in a designated one of the display areas, and render video streams from the tracked TV channels in display areas that comprise PiP areas inset into the designated display area.
  • embodiments herein further include a corresponding computer program.
  • the computer program comprises instructions which, when executed on at least one processor of a client device 1 15, cause the client device 1 15 to carry out any of the processing described above.
  • Embodiments further include a carrier containing such a computer program. This carrier may comprise one of an electronic signal, optical signal, radio signal, or computer readable storage medium.
  • Figures 13 and 14 for example illustrate a computer program comprising one or more code modules contained in memory 1015 of the client device 1000 in Figure 10.
  • Figure 13 illustrates the code modules of the computer program according to one or more embodiments.
  • the code modules include a code module 1305 for rendering for simultaneous display in three or more display areas video streams from a first group of TV channels, as described above.
  • the code modules also include a code module 1310 for receiving control signaling to change the TV channel whose video stream is displayed in the designated area from the first channel to the second channel.
  • the code modules finally include ca ode module 1315 for switching, in response to the control signaling, to rendering for simultaneous display in the display areas video streams from the second group of TV channels.
  • Figure 14 illustrates the code modules of the computer program according to one or more embodiments.
  • the code modules include a code module 1405 for tracking which one or more of the TV channels are most frequently selected for viewing the video streams thereof.
  • the code modules also include a code module 1410 for tracking which one or more of the TV channels have most recently been selected in the past for viewing the video streams thereof.
  • the code module finally includes code module 1415 for rendering for simultaneous display in three or more display areas video streams from the tracked TV channels as well as a TV channel whose video stream is currently selected for viewing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A method for surfing an ordered lineup (135) of TV channels includes rendering for simultaneous display in three or more display areas video streams from a first group of channels. The first group includes a first channel whose stream is rendered for display in a designated one of the areas, and one or more channels that immediately precede, and one or more channels that immediately succeed, the first channel in the lineup (135). The method further includes receiving signaling to change the channel whose stream is displayed in the designated area from the first channel to a second channel. The method also includes, responsive to the signaling, switching to rendering for simultaneous display in the areas streams from a second group of channels. The second group includes the second channel, and one or more channels that immediately precede, and one or more channels that immediately succeed, the second channel in the lineup (135).

Description

METHOD AND APPARATUS FOR SURFING AN ORDERED LINEUP OF TV CHANNELS
TECHNICAL FIELD
The present application generally relates to surfing an ordered lineup of TV channels associated with a linear TV service.
BACKGROUND
Despite the introduction of on-demand Television ("TV") services, linear TV services still remain the predominant form of TV services that users consume. Unlike on-demand TV services, linear TV services restrict the times that users can view certain TV content. Linear TV services do so by unilaterally controlling what and when different TV content is sent to users' client devices over different physical, logical, or other higher-layer TV channels. A provider of linear TV services assigns numbers or other sortable identifiers to these TV channels, so as to establish at least a default positional ordering of the channels. Some client devices allow a user to effectively customize the provider's default channel ordering (at least from the user's perspective), such as by mapping the provider's ordering to a "virtual" ordering maintained locally at the user's client device. In any event, the provider's or a user's positional ordering of the TV channels is referred to herein as the ordered lineup of TV channels (or simply "channel lineup").
Because of the time-restrictive nature of linear TV services, users frequently engage in the practice of "surfing" (a.k.a. zapping, hopping, or traversing) the channel lineup in order to find the TV content that they desire to view. This entails a user controlling his or her set-top-box, computer, or other client device to switch the TV channel whose video stream is rendered and displayed from one channel to another. A user can do so for instance by directing the client device to switch to the TV channel that immediately precedes or immediately succeeds the TV channel that the user is currently viewing, as defined by the channel lineup. Alternatively, a user may direct the client device to switch to some other TV channel that is not immediately adjacent to the channel that the user is currently viewing.
Known approaches to channel surfing prove tedious and inefficient, especially in the face of modern channel lineups that include hundreds or thousands of TV channels.
SUMMARY
One or more embodiments herein advantageously improve the efficiency of TV channel surfing. Rather than limiting a user to surfing TV channels one by one, as in conventional approaches, one or more embodiments herein enable a user to effectively surf an ordered lineup of TV channels in groups of multiple TV channels.
For example, one or more embodiments herein include a method for surfing an ordered lineup of TV channels associated with a linear TV service. The method is implemented by a client device, such as a set-top-box. The method includes rendering for simultaneous display in three or more display areas video streams from a first group of TV channels. This first group includes a first TV channel whose video stream is rendered for display in a designated one of the display areas. The first group additionally includes one or more TV channels that immediately precede, and one or more TV channels that immediately succeed, the first TV channel in the ordered lineup. The method further includes receiving control signaling to change the TV channel whose video stream is displayed in the designated display area from the first channel to a second channel. The method also includes responsive, to the control signaling, switching to rendering for simultaneous display in the display areas video streams from a second group of TV channels. This second group includes the second channel. The second group also includes one or more TV channels that immediately precede, and one or more TV channels that immediately succeed, the second TV channel in the ordered lineup. Each of the first and second groups includes at least one TV channel that is not included in the other of the groups.
In some embodiments, the video stream displayed in the designated display area at any given time is the video stream that a user at least tentatively selects for exclusive viewing pending completion of said surfing.
In one or more embodiments, the first and second groups are mutually exclusive of one another, but are immediately adjacent to one another in the ordered lineup.
In some embodiments, the display areas other than the designated display area comprise picture-in-picture (PiP) areas inset into the designated area. In one or more of these embodiments, for example, the control signaling indicates that a viewer has, upon toggling a selection tool across the PiP areas to a particular PiP area displaying a desired video stream, activated the selection tool on that PiP area. In this case, the above-described switching comprises switching from rendering the desired video stream for display in the particular PiP area to rendering the desired video stream for display in the designated display area.
In at least some of the above-described embodiments, the video streams from the immediately preceding channels are rendered for display proximal to a top edge of the designated display area. And the video streams from the immediately succeeding channels are rendered for display proximal to a bottom edge of the designated display area.
In at least some of the above described embodiments, the method further includes, responsive to the elapse of a defined amount of time since the video stream displayed in the designated display area has changed, switching to rendering for exclusive display the video stream currently displayed in the designated display area.
In at least some of the above described embodiments, one or more of the display areas are smaller in size than one or more others of the display areas. In this case, the method according to one or more embodiments further includes rendering the one or more video streams displayed in those one or more smaller sized display areas at a lower bit rate than the one or more video streams displayed in the others of the display areas.
In at least some of the above described embodiments, the number of display areas equals the number of TV channels in each of the first and second groups. In this case, the method according to one or more embodiments further includes rendering for simultaneous display video streams from all TV channels in the first group, and rendering for simultaneous display video streams from all TV channels in the second group.
In other embodiments, by contrast, the number of display areas is at least three but is less than the number of TV channels in each of the first and second groups. In this case, the method according to one or more embodiments includes rendering for simultaneous display at different times, video streams from different subgroups of TV channels in the first group, and rendering for simultaneous display at different times video streams from different subgroups of TV channels in the second group. For example, in one or more embodiments, the first and second groups respectively include two or more TV channels that immediately precede, and two or more TV channels that immediately succeed the first and second channels. In these embodiments, the method includes forming the different subgroups of TV channels in the first group, with each subgroup including the first channel, at least one channel that precedes the first channel, and at least one channel that succeeds the first channel. The method includes cycling through these different subgroups to render for simultaneous display at different times the video streams from the TV channels in the different subgroups. The method also includes forming the different subgroups of TV channels in the second group, with each subgroup including the second channel, at least one channel that precedes the second channel, and at least one channel that succeeds the second channel. The method includes cycling through these different subgroups to render for simultaneous display at different times the video streams from the TV channels in the different subgroups.
In one or more of the above embodiments, the method further includes switching from an individual-based surfing mode for surfing the lineup in individual TV channels to a group- based surfing mode for surfing the lineup in groups of TV channels, responsive to receiving a defined number of channel up or channel down commands within a defined period of time.
One or more embodiments herein also include a different method for surfing an ordered lineup of TV channels associated with a linear TV service. This different method is also implemented by a client device, such as a set-top-box. The method includes tracking which one or more of the TV channels are most frequently selected for viewing the video streams thereof. The method further includes tracking which one or more of the TV channels have most recently been selected in the past for viewing the video streams thereof. The method finally includes rendering for simultaneous display in three or more display areas video streams from the tracked TV channels as well as a TV channel whose video stream is currently selected for viewing. In some embodiments, the rendering comprises rendering the video stream currently selected for viewing in a designated one of the display areas, and rendering video streams from the tracked TV channels in display areas that comprise PiP areas inset into the designated display area.
Embodiments herein further include a client device comprising a processor and a memory. This memory contains instructions executable by the processor, whereby the client device is configured to perform the respective processing described above, including any variations or modifications thereof.
Finally, embodiments herein include a computer program comprising instructions, which when executed on at least one processor of a client device, cause the client device to carry out any of the methods above. A carrier containing such a computer program in some embodiments may be one of an electrical signal, an optical signal, a radio signal, or a computer readable storage medium. BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a block diagram of a linear TV system according to one or more
embodiments herein.
Figure 2 is a logic flow diagram of a method for surfing an ordered lineup of TV channels associated with a linear TV service, according to one or more embodiments.
Figures 3a-3e are block diagrams illustrating one or more embodiments in which some display areas herein are picture-in-picture (PiP) areas.
Figures 4a-4e are block diagrams illustrating one or more embodiments in which some display areas herein are arranged proximal to the top of a designated display area, while other display areas herein are arranged proximal to the bottom of the designated display area.
Figures 5a-5e are block diagrams illustrating one or more embodiment in which display areas herein are arranged as a mosaic of equally sized areas.
Figures 6a-6d are block diagrams illustrating one or more embodiments in which some display areas herein are stacked, partially overlapping areas arranged on either side of a designated display area.
Figures 7a-7c are block diagrams illustrating one or more embodiments in which the display areas are not all rendered for display on the same device.
Figures 8a-8c are block diagrams illustrating one or more embodiments in which video streams from different subgroups of TV channels are rendered for simultaneous display.
Figure 9 is a logic flow diagram of a method for surfing an ordered lineup of TV channels associated with a linear TV service, according to one or more other embodiments.
Figure 10 is a block diagram of a client device according to one or more embodiments. Figure 1 1 is a block diagram of the functional units of a client device according to one or more embodiments. Figure 12 is a block diagram of the functional units of a client device according to one or more other embodiments
Figure 13 is a block diagram of the code modules in memory accessible to a client device implementing the method of Figure 2 according to one or more embodiments.
Figure 14 is a block diagram of the code modules in memory accessible to a client device implementing the method of Figure 9 according to one or more embodiments.
DETAILED DESCRIPTION
Figure 1 illustrates a linear television (TV) system 100 according to one or more embodiments. As shown, a linear TV service provider's headend 105 receives different TV content (e.g., national and/or local TV programs, advertisements, etc.) from one or more content providers (not shown). The headend 105 aggregates and organizes the different TV content into different video streams 1 10 (with accompanying audio streams, if applicable). The headend 105 then sends these video streams 1 10 to client devices 1 15 via a content delivery network (CDN) 120 and an access network 125. Contrasted with video-on-demand (VoD), the headend 105 unilaterally controls (i.e., schedules) what and when different TV content is sent on the different video streams 1 10, so as to restrict the times that users of the client devices 1 15 can view certain TV content. Upon reception, client devices 1 15 render the video streams 1 10 for display.
The headend 105 more specifically sends the video streams 1 10 to the client devices 1 15 by sending the streams 1 10 over different physical, logical, or other higher-layer TV channels 130. The headend 104 assigns numbers or other sortable identifiers to these TV channels 130 (e.g., as CH1 , CH2, CH3...). By way of these identifiers, the headend's mapping of which video streams 1 10 are sent over which TV channels 130 establishes at least a default positional ordering of the channels 130. In some embodiments, a user employs his or her client device 1 15 to customize the provider's default channel ordering (at least from the user's perspective). In one embodiment, for example, the user's client device 1 15 maps the provider's default ordering to a "virtual" ordering specified by the user and maintained locally at (i.e., internally to) the device 1 15. The device 1 15 in this regard presents the virtual ordering to the user, but interacts with the headend 104 using the provider's default ordering by performing translations between those orderings as needed (e.g., by mapping the provider's channel identifiers to virtual channel identifiers as shown in Figure 1). Whether it is the provider's positional ordering 135a or the user's "custom" positional ordering 135b, that ordering is referred to herein as an ordered lineup 135 of TV channels 130 (or simply "channel lineup").
No matter how the TV channels 130 are positionally ordered, users remain confined to viewing whatever video streams 1 10 the headend 105 schedules on those channels 130 at a particular time. Because of this, users frequently surf the ordered lineup 135 in order to find what they want to view. This conventionally entails a user controlling his or her client device 1 15 to switch the TV channel whose video stream is rendered and displayed from one channel to another.
One or more embodiments herein advantageously improve the efficiency of channel surfing. Rather than limiting a user to surfing channels one by one, as in conventional approaches, one or more embodiments herein enable a user to effectively surf the ordered lineup 135 in groups of multiple channels.
For example, one or more embodiments herein include a method implemented by a client device 1 15 for surfing an ordered lineup 135 of TV channels 130 associated with a linear TV service. As shown in Figure 2, the method 200 includes rendering for simultaneous display in three or more display areas video streams from a first group of TV channels (Block 205). This first group includes a first TV channel (e.g., CH10) whose video stream is rendered for display in a designated one of the display areas (e.g., a main display area). The first group also includes one or more TV channels that immediately precede the first channel in the ordered lineup 135 (e.g., CH8 and CH9). And the first group further includes one or more TV channels that immediately succeed the first channel in the ordered lineup 135 (e.g., CH1 1 and CH12).
The method 200 further includes receiving control signaling to change the TV channel whose video stream is displayed in the designated display area from the first channel (e.g., CH10) to a second channel (e.g., CH17) (Block 210). Responsive to this control signaling, the method 200 finally entails switching to rendering for simultaneous display in the display areas video streams from a second group of TV channels (Block 215). This second group includes the second channel, as well as one or more TV channels that immediately precede the second channel in the ordered lineup 135 (e.g., CH15 and CH16). And the second group also includes one or more TV channels that immediately succeed the second channel in the ordered lineup 135 (e.g., CH18 and CH19). Note that, since the first and second channels are different, each of the first and second groups includes at least one TV channel that is not included in the other of the groups.
By surfing the ordered lineup 135 in groups of channels in this way, a user is able to simultaneously view the video streams of three or more channels at any given time. And the user is able to do this merely by initiating control signaling to change the channel whose video stream is displayed in the designated display area; that is, the user does not manually enter a separate channel change command for each non-designated display area. This significantly increases the efficiency with which the user is able to evaluate which channel to select for exclusive viewing. Moreover, by intelligently forming the groups to each include immediately adjacent channels on both sides of the channel whose video stream is to be displayed in a particular display area, embodiments in at least some instances still maintain some semblance to the channel surfing process that users have grown accustomed to.
In one or more embodiments, for example, the video stream displayed in the designated display area at any given time is the video stream that a user at least tentatively selects for exclusive viewing (pending completion of channel surfing). In one such embodiment, any audio stream that accompanies that video stream is the audio stream that is played. Regardless, this means that group formation is centered and otherwise revolves around the channel whose video stream the user tentatively selects for exclusive viewing. Such proves advantageous because it gives the user a sense of the channels immediately surrounding the one he or she currently selects, rather than confining the user to just that one selected channel. Figures 3a-3e illustrate one example of this embodiment in a context where display areas other than the designated display area are picture-in-picture (PiP) areas inset into (i.e., overlaid on) the designated display area.
As shown in the example of Figure 3a, a user currently selects to exclusively view the video stream of the TV channel identified by number 10 (or, simply, "Channel 10"). The user's client device 1 15 renders this video stream for display in the designated display area 300. Thereafter, the user controls the client device 1 15 to enter a group-based surfing mode for surfing the ordered lineup 135 in groups of channels (as opposed to a conventional, individual- based surfing mode for surfing the ordered lineup 135 in individual channels one by one).
Figures 3b-3c illustrate the surfing mode according to this example. As shown in Figure 3b, upon entering the group-based surfing mode (e.g., responsive to the user pushing a dedicated button on his or her remote control), the client device 1 15 renders the same video stream for display in the designated display area 300; that is, the video stream of Channel 10. Notably, though, the client device 1 15 also renders the video streams of six other channels that surround and are centered around Channel 10 in the lineup 135, for simultaneous display in PiP areas 305 inset into the designated display area 300. These six other channels include three channels that immediately precede Channel 10 in the lineup 135 (i.e., Channels 7, 8, and 9), and three channels that immediately succeed Channel 10 in the lineup 135 (i.e., Channels 1 1 , 12, and 13).
After rendering this first group of seven consecutively ordered channels for simultaneous display, the client device 1 15 receives control signaling to change the TV channel whose stream is displayed in the designated display area 300 from Channel 10 to Channel 17. This control signaling in some embodiments explicitly identifies Channel 17 as the channel to be displayed in the designated area 300. The control signaling in this case may for instance be received responsive to the user successively pressing the numbers "1 " and "7" on his or her remote control. In other embodiments, though, the control signaling only implicitly indicates that Channel 17 is to be displayed in the designated area 300. In one embodiment, for example, the control signaling explicitly directs the device 1 15 to render for simultaneous display in the display areas 300, 305 a second group of seven consecutively ordered channels that is mutually exclusive of the first group, but that immediately succeeds the first group in the ordered lineup 135. The control signaling may be received for instance responsive to the user pressing a "group up" button on his or her remote control. This second group of seven consecutively ordered channels includes Channels 14-20. Since the second group is centered around Channel 17, with three channels preceding and three channels succeeding it, that channel is the one that is rendered for display in the designated display area 300. Regardless of the particular nature of the control signaling, though, the device 1 15 responds to that signaling by switching to rendering for simultaneous display in the display areas 300, 305 video streams from the second group (including Channels 14-20), as shown in Figure 3c. Accordingly, as the video stream rendered for display on the designated area 300 changes, so too will all of the PiP areas 305 for the preceding and subsequent channels. (Of course, although not shown, the control signaling may in other examples explicitly direct the device 1 15 to render a second group of channels that is mutually exclusive of the first group, but that immediately precedes the first group in the lineup 135. In general, therefore, the first and second groups in such embodiments are mutually exclusive of one another, but are immediately adjacent to one another in the ordered lineup 135).
In some embodiment, the client device 1 15 exits the group-based surfing mode responsive to the elapse of a defined amount of time since the video stream displayed in the designated display area 300 has changed. Responsive to such a timeout, the device 1 15 switches to rendering for exclusive display the video stream currently displayed in the designated display area. As shown in Figure 3d, for example, the device 1 15 renders Channel 17's video stream for exclusive display in the designated display area 300, since in this example the user did not continue to surf the lineup 135 for a defined amount of time.
In other embodiments, the client device 1 15 exits the group-based surfing mode responsive to the control signaling indicating that a user has, upon toggling a selection tool 310 across the PiP areas 305 to a particular PiP area displaying a desired video stream, activated that selection tool 310 on that PiP area. In this case, the device 1 15 switches from rendering the desired video stream in the particular PiP area to rendering that desired video stream for exclusive display in the designated display area 300. As shown in Figure 3e, for instance, the device 1 15 renders Channel 20's video stream for exclusive display in the designated area 300 responsive to the user activating the selection tool 310 on the PiP area displaying Channel 20's video stream.
Of course, although Figure 3e shows the device 1 15 existing group-based surfing mode responsive to user activation of the selection tool 310, the device 1 15 in still other embodiments treats that activation as just another command to surf the lineup 135 in groups, not a command to exist surfing mode. In this case, then, the device 1 15 switches from rendering the desired video stream for display in the particular PiP area to rendering the desired video stream for display in the designated display area 300. And the device 1 15 renders for simultaneous display in the PiP areas 305 the other channels in a third group that is centered around Channel 20. That is, the device 1 15 renders Channels 17-19 and 21 -23 for simultaneous display in the PiP areas 305. Moreover, while Figure 3 described an example in which a client device 1 15 enters a group-based surfing mode responsive to the user pushing a dedicated button on his or her remote control, embodiments herein are not so limited. In other embodiments, for instance, the device 1 15 enters the group-based surfing mode responsive to receiving a defined number (e.g., three) of channel up or channel down commands within a defined period of time. A channel up or channel down command in this regard refers to a command to surf the ordered lineup 135 on an individual channel basis; that is, to change the channel whose video stream is rendered for display in the designated display area 300 from the current channel to the channel that is immediately above or below the current channel in the lineup 135. Accordingly, when the device 1 15 receives a succession of such commands within a certain amount of time or at a certain rate, the device 1 15 surfs the lineup 135 on a group-basis rather than an individual- basis, based on the assumption that the user desires to traverse the lineup 135 more quickly and efficiently. Client devices 1 15 that provide both individual-based and group-based surfing modes as alternatives may enter the group-based surfing mode when this condition is met and enter the individual-based surfing mode when the channel up or channel down commands are received more slowly.
Still further, although Figure 3 described some embodiments in a context where display areas other than the designated display area are PiP areas, the display areas herein generally include any area in which a video stream is displayed, no matter the size, positioning, or arrangement. Figures 4a-4e, for example, illustrate one or more other embodiments with different types of display areas; namely, picture-by-picture display areas rather than PiP areas.
Figures 4a-4e correspond to Figures 3a-3e except for the size, positioning, and arrangement of the display areas. As shown in Figures 4b and 4c, display areas 405 other than the designated display area 400 are arranged adjacent to, rather than inset into or overlaid onto, the designated display area 400. In order to arrange the display areas 400, 405 in this way, the designated display area 400 in some embodiments is scaled, moved, or otherwise reconfigured upon entering and existing the group-based surfing mode. The designated area 400 may for instance be scaled in the vertical dimension so as to be made smaller when entering the surfing mode but made larger when existing the surfing mode.
As collectively gathered from Figures 3a-3e and Figures 4a-4e, the client device 1 15 in one or more embodiments herein renders the video streams from the immediately preceding channels (e.g., Channels 7-9) for display proximal to a top edge of the designated display area 300, 400, irrespective of whether the other display areas 305, 405 are inset into or adjacent to that designated area. Alternatively or additionally, the client device 1 15 renders the video streams from the immediately succeeding channels (e.g., Channels 1 1 -13) for display proximal to a bottom edge of the designated display area 300, 400.
Although the embodiments above were described with examples where the designated display area was larger in size than the other display areas in surfing mode, such need not be the case. Figures 5a-5e, for instance, illustrate embodiments where all of the display areas are equally sized in surfing mode. More specifically, the figures illustrate the display areas arranged as a mosaic of equally sized areas. The designated display area 500 is scaled upon entering the surfing mode and is arranged in the center of the mosaic. The other display areas 505 surround the designated area 500 and display the immediately adjacent channels' video streams.
In still one or more other embodiments, non-designated display areas in surfing mode comprise stacked, partially overlapping areas arranged on either side of the designated display area. Figures 6a-6d illustrate one example of this. Indeed, as shown the non-designated display areas 605 are arranged in two different stacks, one for displaying the video streams of immediately preceding channels (e.g., Channels 8-9) and one for displaying the video streams of immediately succeeding channels (e.g., Channels 1 1 -12). The designated display area is arranged in the center, so as to be prominent and unobstructed. The video stream displayed in this designated area 600 is the video stream tentatively selected for exclusive viewing, as described previously. The stack for preceding channels is arranged to the left of the designated display area 600, while the stack for subsequent channels is arranged to the right of that designated area 600.
The embodiments shown in Figures 6a-6d prove particularly conducive to client devices 1 15 controlled by a touch-based user interface (e.g., a touchscreen). The user for instance swipes the touch interface left or right in order to traverse the lineup 135 towards preceding or subsequent channels. In some examples, this touch control traverses the lineup 135 one channel at a time, meaning that two different groups consecutively formed during group-based surfing each include one TV channel that is not included in the other of the groups, but otherwise share common channels. As shown in Figures 6b-6c, for instance, the device 1 15 surfs from rendering a first group of Channels 8-12 to rendering a second group of Channels 9- 13 responsive to a user's touch swipe to the left. The first group of Channels 8-12 shown in Figure 6b includes one channel (namely, Channel 8) that is not included in the second group of Channels 9-13 shown in Figure 6c. And the second group of Channels 9-13 includes one channel (namely, Channel 13) that is not included in the first group of Channels 8-12. But, otherwise, the groups share common Channels 9-12.
Note that embodiments above do not distinguish between which or how many physical displays are used to actually display the video streams and their containing display areas. Indeed, a client device 1 15 herein may be configured to render the streams for display on one and the same physical display, or for display on multiple different physical displays. Figures 7a- 7c illustrate a few examples in this regard. As shown, the client device 1 15 renders the video stream for display in the designated area 700 on a main one 710 of multiple different physical displays. And the client device 1 15 renders the video streams for display in the other areas 705 on one or more other so-called companion displays 715, such as a tablet or mobile terminal. The other areas 705 may be rendered for display all on the same companion display 715 (as shown in Figure 7b), or be rendered for display on multiple different, separate companion displays 715 (as shown in Figure 7c). Particularly in this latter case, the companion displays 715 may be arranged adjacent to the main display 710.
In at least some embodiments, such as those described thus far, the number of display areas equals the number of TV channels in each of the first and second groups. In this case, the client device 1 15 in implementing the method of Figure 2 renders for simultaneous display video streams from all channels in the first group, and renders for simultaneous display video streams from all channels in the second group.
In other embodiments that have not been shown thus far, the number of display areas is at least three but is less than the number of TV channels in each of the first and second groups. That is, there are more TV channels to display the video stream thereof than there are display areas to display those streams in. In this case, the client device 1 15 in one or more
embodiments is configured to render for simultaneous display at different times video streams from different subgroups of TV channels in the first group. In other words, the client device 1 15 renders for simultaneous display only one portion of the channels in the first group at one time, renders for simultaneous display only another portion of the channels in the first group at another time, and so on. Similarly, the client device 1 15 is configured (e.g., upon channel surfing) to render for simultaneous display at different times video streams from different subgroups of TV channels in the second group. Each subgroup includes at least three channels since there are at least three display areas.
In one embodiment, for example, the first and second groups respectively include two or more TV channels that immediately precede, and two or more TV channels that immediately succeed, the first and second channels in the lineup 135. In this case, the device 1 15 forms the different subgroups of TV channels in the first group. Each subgroup includes the first channel, at least one channel that precedes the first channel, and at least one channel that succeeds the first channel. The device 1 15 then cycles through those different subgroups to render for simultaneous display at different times the video streams from the TV channels in the different subgroups. Similarly, the device 1 15 forms the different subgroups of TV channels in the second group (upon channel surfing to that second group). Each subgroup includes the second channel, at least one channel that precedes the second channel, and at least one channel that succeeds the second channel. The device 1 15 then cycles through those different subgroups to render for simultaneous display at different times the video streams from the TV channels in the different subgroups.
Figures 8a-8c illustrate one example of this embodiment for a group of Channels 7-13, which could be either the first group or the second group. The device 1 15 forms three different subgroups of channels, with each subgroup including Channel 10 since that is the channel whose video stream is displayed in the designated area 800. Figure 8a shows a first subgroup that includes Channel 10 as well as the two channels that immediately surround it in the lineup 135; namely, Channels 9 and 1 1 . Figure 8b shows a second subgroup that includes Channel 10 as well as the two channels that are once-removed from it in the lineup 135; namely, Channels 8 and 12. Finally, Figure 8c shows a third subgroup that includes Channel 10 as well as the two channels that are twice-removed from it in the lineup 135; namely Channels 7 and 13. With these subgroups formed, the device 1 15 cycles through the subgroups to simultaneously render the video streams of those different subgroups at different times. That is, at each different time a different subgroup of TV channels from the group is displayed. As shown, for instance, the device 1 15 first simultaneously displays the first subgroup's video streams, e.g., responsive to the user pressing a dedicated button on his or her remote control. The device 1 15 then waits a defined period of time. After this set delay, and autonomously without regard to any further user input, the device 1 15 switches to simultaneously displaying the second subgroup's video streams. Notably, the device 1 15 does so by replacing which video streams are rendered in the static PiP areas 805a and 805b. Then, again after a defined period of time, and autonomously without regard to any further user input, the device 1 15 switches to simultaneously displaying the third subgroup's video streams in those same PiP areas 805a and 805b. This cycling continues on in one or more embodiments until further user input is received or until a maximum cycling timeout occurs. Effectively, then, the device 1 15 renders video streams from the preceding Channels 7-9 for successive display in PiP area 805a, and renders video streams from the succeeding Channels 1 1 -13 for successive display in PiP areas 805b. In at least some embodiments, the device 1 15 does so responsive to a single channel surfing command, rather than one surfing command for each change in the video stream displayed.
As exemplified in a number of embodiments, especially those that utilize PiP areas, one or more of the display areas may be smaller in size than one or more others of the display areas. In some embodiments, the client device 1 15 renders the one or more video streams displayed in those one or more smaller sized display areas at a lower bit rate than the one or more video streams displayed in the others of the display areas. For instance, the device 1 15 renders the video stream displayed in the designated display area at a defined "normal" bit rate, but renders the video streams displayed in PiP areas at a lower bit rate. In this way, the device 1 15 advantageously exploits the smaller sized areas as a way to reduce demands on its processing resources, with little to no degradation to the quality of the video streams displayed in those smaller areas.
In some embodiments, though, the device 1 15 conditions the above use of a lower bit rate on the video streams being in a certain format. In one embodiment, for instance, the device 1 15 only uses a lower bit rate if the video streams are in the form of HTTP Live Streaming (HLS) Adaptive Bit Rate (ABR). In another embodiment, by contrast, the device 1 15 only uses a lower bit rate if the video streams are in the form of the Internet Group Management Protocol (IGMP). In still other embodiments, a combination of ABR and IGMP streams is used to most effectively utilize the available bandwidth of the network. This enables for example an operator to use a combination of unicast (HLS) and multicast (IGMP) technology to deliver the streams to the client device 1 15. Depending on available network capacity and network conditions, it may be advantageous for the client device 1 15 to request/subscribe to either a HLS or an IGMP stream version for an individual channel.
Consider now a variation of the above embodiments that exploit the multiple display areas in a different way. Although the above embodiments describe a first and second group of channels each containing a set of consecutive channels, a variation thereof creates a first and second group of channels based on the most frequently and recently watched channels. Figure 9 shows this variation as a different sort of method implemented by a client device 1 15 for surfing the ordered lineup 135. The method 900 includes tracking which one or more of the TV channels 130 are most frequently selected for viewing the video streams 1 10 thereof (Block 905). The method 900 also includes tracking which one or more of the TV channels 130 have most recently been selected in the past for viewing the video streams 1 10 thereof (Block 910). Such tracking may entail for instance maintaining in the client device's memory a history of a user's viewing habits and a history of the user's past channel changes. Regardless, the method 900 further involves rendering for simultaneous display in three or more display areas video streams 1 10 from the tracked TV channels (i.e., the most frequently viewed channels and the most recently selected channels) as well as a TV channel whose video stream is currently selected for viewing (Block 915).
As the device 1 15 surfs the lineup 135, the device 1 15 continues to perform the above- described tracking and dynamically updates the video streams in the display areas accordingly. If a user's channel change causes the changed-to channel to become one of the most frequently selected channels, for instance, the device 1 15 replaces one of the previously displayed channels with that changed-to channel.
The variations and modifications applicable to Figure 2 embodiments are readily extrapolated to Figure 9 embodiments, at least to the extent that the variations and
modifications do not rely on the particular video streams displayed in the display areas.
According to one variation, for example, the device 1 15 renders the video stream currently selected for viewing in a designated one of the display areas, and renders video streams from the tracked TV channels in display areas that comprise PiP areas inset into the designated area.
Those skilled in the art will appreciate that embodiments herein do not rely on the particular technology or standard employed in the intermediate communication networks between the headend 105 and a client device 1 15. The access network 125 may for instance be an IP-based network, a cable network (CATV), a fiber network, a satellite network, a wireless communication network, or any combination thereof, as just a few examples. The access network 125 in this regard may be a home local area network (LAN) or a personal area network (PAN). Alternatively, the access network 125 may be a wireless communication network provided by a telecommunication provider so as to realize mobile TV. Of course, the access network 125 in other instances may be wired or wireless.
Those skilled in the art will also appreciate that embodiments herein are not limited to any particular type of client device 1 15. The device 1 15 for instance may be a set-top-box (STB) that renders video streams for display on an external TV set. Alternatively, the device 1 15 may be a "smart" TV set that performs rendering itself, rather than relying on a STB. Still further, the device 1 15 may be a desktop or laptop computer, especially for receiving IPTV. And of course the device 1 15 may be any sort of mobile terminal or user equipment, such as a cellular phone, PDA, or tablet.
In any event, one or more embodiments herein prove particularly suited for exploiting ultra-high definition television or UHD. UHD includes 4K UHD (2160p) and 8K UHD (4320p), which are two digital video formats proposed by NHK Science & Technology Research
Laboratories and defined and approved by the International Telecommunication Union (ITU). The Consumer Electronics Association announced that "Ultra High-Definition", or "Ultra HD", would be used for displays that have an aspect ratio of at least 16:9 and at least one digital input capable of carrying and presenting native video at a minimum resolution of 3840x2160 pixels. With UHD television becoming more popular, it is expected that larger screens will also become more readily available. In the near future, it would not be uncommon to see 100+ inches screens in households. With the larger real estate in screen size and greater resolution provided by UHD technology, embodiments herein exploit these features to display multiple PiP panels overlaid on to an oversized screen.
In general, though, the embodiments herein employ any sort of CDN 120, any sort of access network, and any sort of client device 1 15 that is capable of facilitating linear TV services (as distinguished from on-demand TV services).
In view of the above variations and modifications, those skilled in the art will appreciate that embodiments herein also include apparatus configured to perform the processing described herein. In particular, embodiments herein also include a client device 1 15. The client device 1 15 is configured to perform the processing shown in Figures 2 and/or 9, including any modifications and variations described herein.
Figure 10 generally illustrates one example of such a client device 1000 according to one or more embodiments. As shown, the client device 1000 includes one or more processing circuits 1010 and one or more communications interfaces 1005.
The one or more communication interfaces 1005 include various components (not shown) for sending and receiving data and control signals. Data in this regard may include the received video streams, and control signals may include signals to control channel surfing. More particularly, the interface(s) 1005 include a transmitter that is configured to use known signal processing techniques, typically according to one or more standards, and is configured to condition a signal for transmission (e.g., over the air via one or more antennas). Similarly, the interface(s) 1005 include a receiver that is configured to convert signals received (e.g., via the antenna(s)) into digital samples for processing by the one or more processing circuits 1010. The one or more processing circuits 1010 extract data from signals received via the receiver and generate information for transmission via the transmitter.
The one or more processing circuits 1010 may comprise circuits dedicated to performing the processing herein and/or one or several microprocessors in conjunction with memory 1015. In embodiments that employ memory 1015, which may comprise one or several types of memory such as read-only memory (ROM), random-access memory, cache memory, flash memory devices, optical storage devices, etc., the memory stores program code for carrying out one or more of the techniques described herein.
Of course, not all of the steps of the techniques described herein are necessarily performed in a single microprocessor or even in a single module. Thus, a more generalized control circuit configured to carry out the operations described above may have a physical configuration corresponding directly to the processing circuit(s) 1010 or may be embodied in two or more modules or units.
Figure 1 1 illustrates the functional units of the client device 1000 where it is configured to perform the processing in Figure 2 according to one or more embodiments. The functional units include a rendering unit 1 105 for rendering for simultaneous display in three or more display areas video streams from a first group of TV channels, including a first TV channel whose video stream is rendered for display in a designated one of the display areas and also including one or more TV channels that immediately precede, and one or more TV channels that immediately succeed, the first TV channel in the ordered lineup. The functional units further include a receiving unit 1 1 10 for receiving control signaling to change to change the TV channel whose video stream is displayed in the designated display area from the first channel to a second channel. The functional units finally include a switching unit 1 1 15 for switching, responsive to the control signaling, to rendering for simultaneous display in the display areas video streams from a second group of TV channels, including the second channel and also including one or more TV channels that immediately precede, and one or more TV channels that immediately succeed, the second TV channel in the ordered lineup. Again, each of the first and second groups includes at least one TV channel that is not included in the other of the groups. In some embodiments, the client device 1000 in Figure 10 is further configured (not shown) to perform the processes of any of the above embodiments.
Figure 12 illustrates the functional units of the client device 1000 where it is configured to perform the processing in Figure 9 according to one or more embodiments. The functional units include a first tracking unit 1205 for tracking which one or more of the TV channels are most frequently selected for viewing the video streams thereof. The functional units further include a second tracking unit 1210 for tracking which one or more of the TV channels have most recently been selected in the past for viewing the video streams thereof. The functional units finally include a rendering unit 1215 for rendering for simultaneous display in three or more display areas video streams from the tracked TV channels as well as a TV channel whose video stream is currently selected for viewing.
In some embodiments, the client device 1000 illustrated in Figure 12 is further configured (not shown) to render the video stream currently selected for viewing in a designated one of the display areas, and render video streams from the tracked TV channels in display areas that comprise PiP areas inset into the designated display area.
Those skilled in the art will also appreciate that embodiments herein further include a corresponding computer program. The computer program comprises instructions which, when executed on at least one processor of a client device 1 15, cause the client device 1 15 to carry out any of the processing described above. Embodiments further include a carrier containing such a computer program. This carrier may comprise one of an electronic signal, optical signal, radio signal, or computer readable storage medium. Figures 13 and 14 for example illustrate a computer program comprising one or more code modules contained in memory 1015 of the client device 1000 in Figure 10.
Where the client device 1000 is configured to perform the processing in Figure 2, Figure 13 illustrates the code modules of the computer program according to one or more embodiments. The code modules include a code module 1305 for rendering for simultaneous display in three or more display areas video streams from a first group of TV channels, as described above. The code modules also include a code module 1310 for receiving control signaling to change the TV channel whose video stream is displayed in the designated area from the first channel to the second channel. The code modules finally include ca ode module 1315 for switching, in response to the control signaling, to rendering for simultaneous display in the display areas video streams from the second group of TV channels.
Where the video processing apparatus 1000 is configured to perform the processing in Figure 9, Figure 14 illustrates the code modules of the computer program according to one or more embodiments. The code modules include a code module 1405 for tracking which one or more of the TV channels are most frequently selected for viewing the video streams thereof. The code modules also include a code module 1410 for tracking which one or more of the TV channels have most recently been selected in the past for viewing the video streams thereof. The code module finally includes code module 1415 for rendering for simultaneous display in three or more display areas video streams from the tracked TV channels as well as a TV channel whose video stream is currently selected for viewing.
The present invention may, of course, be carried out in other ways than those specifically set forth herein without departing from essential characteristics of the invention. The present embodiments are to be considered in all respects as illustrative and not restrictive, and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.

Claims

CLAIMS What is claimed is:
1 . A method (200) for surfing an ordered lineup (135) of television, TV, channels associated with a linear TV service, the method implemented by a client device (1 15) and characterized by:
rendering (205) for simultaneous display in three or more display areas video streams from a first group of TV channels, including a first TV channel whose video stream is rendered for display in a designated one of the display areas and also including one or more TV channels that immediately precede, and one or more TV channels that immediately succeed, the first TV channel in the ordered lineup
(135);
receiving (210) control signaling to change the TV channel whose video stream is
displayed in the designated display area from the first channel to a second channel; and
responsive to the control signaling, switching (215) to rendering for simultaneous display in the display areas video streams from a second group of TV channels, including the second channel and also including one or more TV channels that immediately precede, and one or more TV channels that immediately succeed, the second TV channel in the ordered lineup (135), wherein each of the first and second groups includes at least one TV channel that is not included in the other of the groups.
2. The method of claim 1 , wherein the video stream displayed in the designated display area at any given time is the video stream that a user at least tentatively selects for exclusive viewing pending completion of said surfing.
3. The method of claim 1 , wherein the first and second groups are mutually exclusive of one another, but are immediately adjacent to one another in the ordered lineup (135).
4. The method of any of claims 1 -3, wherein display areas other than the designated display area comprise picture-in-picture (PiP) areas inset into the designated display area.
5. The method of claim 4, wherein the control signaling indicates that a viewer has, upon toggling a selection tool across the PiP areas to a particular PiP area displaying a desired video stream, activated the selection tool on that PiP area and wherein said switching (215) comprises switching from rendering the desired video stream for display in the particular PiP area to rendering the desired video stream for display in the designated display area.
6. The method of any of claim 1 -5, wherein the video streams from said immediately preceding channels are rendered for display proximal to a top edge of the designated display area, and the video streams from said immediately succeeding channels are rendered for display proximal to a bottom edge of the designated display area
7. The method of any of claims 1 -6, further characterized by, responsive to the elapse of a defined amount of time since the video stream displayed in the designated display area has changed, switching to rendering for exclusive display the video stream currently displayed in the designated display area.
8. The method of any of claims 1 -7, wherein one or more of the display areas are smaller in size than one or more others of the display areas, and characterized by rendering the one or more video streams displayed in those one or more smaller sized display areas at a lower bit rate than the one or more video streams displayed in the others of the display areas.
9. The method of any of claims 1 -8, wherein the number of display areas equals the number of TV channels in each of the first and second groups, and characterized by rendering for simultaneous display video streams from all TV channels in the first group, and rendering for simultaneous display video streams from all TV channels in the second group.
10. The method of any of claims 1 -8, wherein the number of displays areas is at least three but is less than the number of TV channels in each of the first and second groups, and characterized by rendering for simultaneous display at different times video streams from different subgroups of TV channels in the first group, and rendering for simultaneous display at different times video streams from different subgroups of TV channels in the second group.
1 1 . The method of claim 10, wherein the first and second groups respectively include two or more TV channels that immediately precede, and two or more TV channels that immediately succeed, the first and second channels, and wherein the method is characterized by:
forming the different subgroups of TV channels in the first group, with each subgroup including the first channel, at least one channel that precedes the first channel, and at least one channel that succeeds the first channel, and cycling through those different subgroups to render for simultaneous display at different times the video streams from the TV channels in the different subgroups; and forming the different subgroups of TV channels in the second group, with each subgroup including the second channel, at least one channel that precedes the second channel, and at least one channel that succeeds the second channel, and cycling through those different subgroups to render for simultaneous display at different times the video streams from the TV channels in the different subgroups.
12. The method of any of claims 1 -1 1 , further characterized by entering a group-based surfing mode for surfing the lineup in groups of TV channels, responsive to receiving a defined number of channel up or channel down commands within a defined period of time.
13. A method (900) for surfing an ordered lineup of television (TV) channels associated with a linear TV service, the method (900) implemented by a client device (1 15) and characterized by:
tracking (905) which one or more of the TV channels are most frequently selected for viewing the video streams thereof;
tracking (910) which one or more of the TV channels have most recently been selected in the past for viewing the video streams thereof; and
rendering (915) for simultaneous display in three or more display areas video streams from the tracked TV channels as well as a TV channel whose video stream is currently selected for viewing.
14. The method of claim 13, wherein said rendering (915) comprises rendering the video stream currently selected for viewing in a designated one of the display areas, and rendering video streams from the tracked TV channels in display areas that comprise picture-in-picture (PiP) areas inset into the designated display area.
15. A client device (1 15) configured for surfing an ordered lineup (135) of television (TV) channels associated with a linear TV service, the client device (1 15) configured to:
render for simultaneous display in three or more display areas video streams from a first group of TV channels, including a first TV channel whose video stream is rendered for display in a designated one of the display areas and also including one or more TV channels that immediately precede, and one or more TV channels that immediately succeed, the first TV channel in the ordered lineup
(135);
receive control signaling to change the TV channel whose video stream is displayed in the designated display area from the first channel to a second channel; and responsive to the control signaling, switch to rendering for simultaneous display in the display areas video streams from a second group of TV channels, including the second channel and also including one or more TV channels that immediately precede, and one or more TV channels that immediately succeed, the second TV channel in the ordered lineup (135), wherein each of the first and second groups includes at least one TV channel that is not included in the other of the groups.
16. The client device of claim 15, configured to perform the method of any of claims 2-12.
17. A client device (1 15) configured for surfing an ordered lineup (135) of television (TV) channels associated with a linear TV service, the client device (1 15) configured to:
track which one or more of the TV channels are most frequently selected for viewing the video streams thereof;
track which one or more of the TV channels have most recently been selected in the past for viewing the video streams thereof; and
render for simultaneous display in three or more display areas video streams from the tracked TV channels as well as a TV channel whose video stream is currently selected for viewing.
18. The client device of claim 17, configured to render the video stream currently selected for viewing in a designated one of the display areas, and render video streams from the tracked TV channels in display areas that comprise picture-in-picture (PiP) areas inset into the designated display area.
19. A computer program comprising instructions, which when executed on at least one processor of a client device (1 15), cause the client device (1 15) to carry out the method according to any of claims 1 -14.
20. A carrier containing the computer program of claim 19, wherein the carrier is one of an electrical signal, an optical signal, a radio signal, or a computer readable storage medium.
PCT/IB2014/063567 2014-07-30 2014-07-30 Method and apparatus for surfing an ordered lineup of tv channels WO2016016688A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/IB2014/063567 WO2016016688A1 (en) 2014-07-30 2014-07-30 Method and apparatus for surfing an ordered lineup of tv channels

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2014/063567 WO2016016688A1 (en) 2014-07-30 2014-07-30 Method and apparatus for surfing an ordered lineup of tv channels

Publications (1)

Publication Number Publication Date
WO2016016688A1 true WO2016016688A1 (en) 2016-02-04

Family

ID=51582447

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2014/063567 WO2016016688A1 (en) 2014-07-30 2014-07-30 Method and apparatus for surfing an ordered lineup of tv channels

Country Status (1)

Country Link
WO (1) WO2016016688A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106200804A (en) * 2016-07-15 2016-12-07 广州视睿电子科技有限公司 The display packing of intelligent terminal and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018972A1 (en) * 2001-07-17 2003-01-23 Jitesh Arora Method, system and software for display of multiple media channels
US20070195203A1 (en) * 2006-02-21 2007-08-23 Qualcomm Incorporated Multi-program viewing in a wireless apparatus
US20090199241A1 (en) * 2008-02-05 2009-08-06 Robert Allan Unger Near real-time multiple thumbnail guide with single tuner
US20100138864A1 (en) * 2008-12-02 2010-06-03 Nortel Networks Limited Enhanced channel surfing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018972A1 (en) * 2001-07-17 2003-01-23 Jitesh Arora Method, system and software for display of multiple media channels
US20070195203A1 (en) * 2006-02-21 2007-08-23 Qualcomm Incorporated Multi-program viewing in a wireless apparatus
US20090199241A1 (en) * 2008-02-05 2009-08-06 Robert Allan Unger Near real-time multiple thumbnail guide with single tuner
US20100138864A1 (en) * 2008-12-02 2010-06-03 Nortel Networks Limited Enhanced channel surfing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106200804A (en) * 2016-07-15 2016-12-07 广州视睿电子科技有限公司 The display packing of intelligent terminal and system
CN106200804B (en) * 2016-07-15 2019-11-05 广州视睿电子科技有限公司 The display methods and system of intelligent terminal

Similar Documents

Publication Publication Date Title
US8958016B2 (en) System and method for parallel channel scanning
US9015782B2 (en) Signal distribution system with interrupt processing and trick play functionality
US20160360278A1 (en) Method and apparatus for displaying electronic program guide information
US10009656B2 (en) Multi-option sourcing of content
MX2013005671A (en) Systems, methods and devices to reduce change latency in placeshifted media streams using predictive secondary streaming.
US10448085B2 (en) User interface with video frame tiles
US20140223502A1 (en) Method of Operating an IP Client
CN105657501B (en) A kind of digital TV direct system and method
US10779045B2 (en) Multi-option sourcing of content and interactive television
CN104185070A (en) Switching method for different displaying windows of television
KR101419021B1 (en) Request Method For Transmitting Broadcasting Program And Transmission Method Thereof
KR20070099692A (en) Faster tuning using multiple tuners and networked monitors
CN116939304A (en) Method and apparatus for multimedia content distribution
WO2016016688A1 (en) Method and apparatus for surfing an ordered lineup of tv channels
US8112784B1 (en) Device comprising multiple channel selectors
CA2763873C (en) Method for providing multicast services
US10820031B2 (en) Communication apparatus for switching between a low-rate stream and a high-rate stream
KR100910586B1 (en) IPTV channel switching device and method using Scalable Video Coding
CN103916703A (en) Playing switching selection method and system of information from multiple media
WO2014167168A1 (en) Adaptive streaming of media content
CN111277855A (en) Multi-screen simultaneous watching implementation method based on digital broadcast television
KR20120019050A (en) Display apparatus and method changing channel thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14771387

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14771387

Country of ref document: EP

Kind code of ref document: A1