System, device, and method for providing a user interface

KR103019997B1Active Publication Date: 2026-09-15INTERDIGITAL PATENT HOLDINGS INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
KR1020237001547
Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-06-17
Filing Date
2021-06-16
Publication Date
2026-09-15
Estimated Expiration
2041-06-16

Smart Images

  • Figure 112023004897580-PCT00005_ABST
    Figure 112023004897580-PCT00005_ABST
Patent Text Reader

Abstract

Devices, methods, and systems associated with electronic devices may include determining a plurality of available services that provide content—each service having an associated content format—; determining the order of the plurality of available services based on the content format of each service and a sequence for switching the plurality of available services, thereby reducing the transition time when switching from a first service among the plurality of available services to a second service among the plurality of available services that is different from the first service based on the sequence; generating a list of the plurality of available services representing a program guide based on the order—the first and second services are adjacent in the program guide—; and enabling switching from the first service to the second service based on the program guide.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present disclosure includes content delivery systems, devices, and methods. Background Technology

[0002] A system or device for receiving content capable of receiving various linear services, such as television programming, such as a television or a set-top box (STB), typically provides a user interface, such as an electronic program guide (EPG), that enumerates such linear services. Generally, such services are listed by channels, which may be virtual channels, and are presented in numerical order. Remote controls typically provide "CH+" and "CH-" buttons to switch between available services step-by-step in ascending or descending order. "Channel surfing" is the practice of using these buttons to switch between these services sequentially step-by-step and has historically been a popular technique among viewers when searching for something to watch.

[0003] Generally, at least one example of the embodiment described herein may comprise an apparatus, wherein the apparatus comprises one or more processors, and the one or more processors are configured to determine a plurality of available services that provide content—each service having an associated content format—; determine the order of the plurality of available services based on the content format of each service and a sequence for switching the plurality of available services, so as to reduce the transition time when switching from a first service among the plurality of available services to a second service among the plurality of available services that is different from the first service among the plurality of available services based on the sequence; generate a list of a plurality of available services representing a program guide based on the order—the first and second services being adjacent in the program guide—and enable switching from the first service to the second service based on the program guide.

[0004] Generally, at least one example of the embodiment described herein may comprise a method, the method comprising: determining a plurality of available services that provide content—each service having an associated content format—; determining the order of the plurality of available services based on the content format of each service and a sequence for switching the plurality of available services, thereby reducing the transition time when switching from a first service among the plurality of available services to a second service among the plurality of available services that is different from the first service based on the sequence; generating a list of a plurality of available services representing a program guide based on the order—the first and second services are adjacent in the program guide—; and enabling switching from the first service to the second service based on the program guide.

[0005] Generally, at least one example of an embodiment as described herein is provided as a computer program product storing program instructions for performing a method according to one or more aspects and / or examples of the embodiments described herein when executed by one or more processors; and / or a non-transient computer-readable medium storing executable program instructions that cause a computer executing the instructions to perform a method according to any example of an embodiment according to the present disclosure; and / or an electronic device comprising one or more additional features such as a device and a display or an antenna as described herein.

[0006] The foregoing presents a simplified summary of the subject matter of the present invention to provide a basic understanding of some aspects of the present disclosure. This description of the invention is not a comprehensive overview of the subject matter of the present invention. It is not intended to identify key or important elements of the embodiments or to describe the scope of the subject matter. Its sole purpose is to present some concepts of the subject matter in a simplified form as an introduction to the more detailed description provided below. Brief explanation of the drawing

[0007] The present disclosure can be better understood by considering the following detailed description together with the accompanying drawings. FIG. 1 illustrates an example of one embodiment in the form of a block diagram. FIG. 2 illustrates another example of one embodiment in the form of a block diagram. FIG. 3 illustrates an example of a list of content services and content according to at least one example of an embodiment. FIG. 4 illustrates another example of a list of content services and content according to at least one example of an embodiment. FIG. 5 illustrates another example of one embodiment in the form of a flowchart. FIG. 6 illustrates an example of an embodiment of a system according to the present disclosure in the form of a block diagram. It should be understood that the drawings are for the purpose of illustrating examples of various aspects, features, and embodiments according to the present disclosure and are not necessarily the only possible configurations. Throughout the various drawings, similar reference designators refer to the same or similar features. Specific details for implementing the invention

[0008] Channel surfing was particularly popular in the days of analog TV. Switching channels retuned the television RF receiver, and the video of the newly tuned channel was available for a time only slightly longer than a certain frame time, typically within about 1 / 30th of a second, but for most TVs, it was no longer than 1 / 15th of a second.

[0009] With digital TVs and compressed video, channel switching time was subjected to two significant limitations: group of picture (GOP) length and format changes.

[0010] First, when changing channels, the receiver needed to wait for the start of the Group of Frames (GOP), which is the minimum decodingable element. The receiver had to acquire an independent frame ('I-frame'), which would appear in the stream once every 1 or 2 seconds. Once received, the I-frame could be decoded immediately, and it was important for decoding the next few seconds of subsequent frames that referenced the I-frame, which were encoded as sequential or bidirectional frames ('P-frames' or 'B-frames', respectively) and whose encoding was made even more efficient. The set of encoded frames that started with an I-frame and included all subsequent P-frames and / or B-frames that depended on it (until the next I-frame) was called a GOP or "Group of Frames."

[0011] Compared to shorter GOPs, longer GOPs—that is, those having a greater number of frames encoded using the preceding I-frame—use bandwidth more efficiently and allow for better video quality for individual services. However, shorter GOPs provide faster expected switching times: when switching between services, the expected wait before receiving an image is based on the GOP length of the service being switched on, or, if it changes, the average GOP length within the service.

[0012] Second, the expected wait-before-picture due to GOP length is calculated by multiplying the average GOP length of the frames by the frame rate and dividing by 2, plus the average duration for receiving the entire I-frame. The reasons for the expected wait or latency are as follows: When a user switches to a different service, the receiver immediately begins receiving the transmission stream, but reception starts somewhere within the currently transmitted GOP. If it is near the beginning of the current GOPs, the receiver must wait for nearly the entire GOP to pass. In other words, the GOP is essentially useless to the receiver because the receiver does not access the I-frame. Put differently, by simply missing the beginning of the GOP, the receiver essentially misses the entire GOP. The timing of the service may cause the receiver to start receiving the new service near the end of the GOP. The GOP is still useless to the receiver, but a very small portion of the current GOP remains before the next GOP begins. On average, receivers will often start receiving a new service or "drop in" to a new service at the beginning of the GOP as frequently as at the end. For example, receivers will drop in at one-quarter of the path through the GOP as frequently as three-quarters of the path, whether measured in bytes or delivery time. Therefore, the expected value for the drop-in point is midway through the GOP. If frames are 30 per second and the GOP is 60 frames long, the GOP represents 2 seconds of reception, and expecting to wait half of that corresponds to 1 second. However, this is only until the start of the I-frame, and since I-frames are not coded as efficiently as subsequent P-frames or B-frames, the receiver must have the complete I-frame before it can be displayed on the screen.

[0013] For example, dividing an average (or fixed) GOP length of 2 seconds by 2 and adding the average duration required to receive an I-frame—that is, 1 / 15 second—which will become the duration of two video frames once decoded, will result in a total switching time of 1 and 1 / 15 seconds, or 1.067 seconds. In a typical example, such a switching speed represents a channel surfing rate that is about 30 times slower than is possible with analog broadcast.

[0014] A second source of channel switching delay is switching between channels that will not be displayed in the same video format. That is, for example, there is an effective change in the frame rate, colorimetry, transfer function, or resolution associated with the new service that the receiver switches to. In such an environment, for example, a video pipeline including decoding, rendering, and presentation stages will require multiple stages of video frame buffers and image processing blocks, each having specific parameters appropriately set for the format of the video to be processed, for example, the buffer frame buffer size is based on the video resolution, the alternation rate of the double-buffered frame storage is synchronized with the frame rate, and the rendering functions may be based on one or more look-up tables (LUTs) populated according to video parameters such as colorimetry and transfer function.

[0015] Video processing pipelines within devices such as televisions are streamlined and optimized with care for capability and power efficiency, but they are generally not optimized for switching speeds. The effective behavior for changing formats is, in effect, a reboot of the pipeline using the provided video parameters that are available once the stream is being received. The pipeline is typically three-stage deep, but it may be more or fewer. Typically, the stages operate in synchronization with the frame rate. In some cases, the pipeline includes a decoder, for example, if content is received over the air (OTA); in other cases, for example, if handled by a set-top box (STB) receiver, it does not include a decoder, but communication needs to be negotiated regarding the interface between the STB and the display. For LUT-based video processing, one or more LUT(s) need to be populated, and depending on the size of the LUT(s) and the complexity of the transform(s) calculated to generate them, this may take some time. Other variations may exist. Once the pipeline is configured, for the new video format, images enter the pipeline and begin their generally synchronous processing. In parallel, audio processing follows a similar procedure, but it is true that audio buffers are often much deeper, and it may take longer for the audio to be prepared.

[0016] Generally, at least one example of the embodiments described herein involves reducing the expected time to acquire the next I-frame of the next service within the guide. Generally, at least one other example of one embodiment involves reducing the likelihood that the video pipeline needs to be reconfigured for different video formats. Generally, at least one other example of the embodiments described herein provides a method and apparatus for improving the channel surfing experience by ordering services within a user interface that displays a list of available services, such as an electronic program guide (EPG), so that when switching between adjacent channels or services in the list guide channels, the expected transition time is reduced where it would not otherwise be minimized.

[0017] Generally, at least one other example of one embodiment may involve providing an array of features, the array of features comprising: a plurality of stream buffers—each stream buffer is assignable to a specified service—; a program selector that convenes a first list of services—the first list of services is selected from a second list of available services, the first list is selected by the program selector based on at least one program-related preference, the first list of services has a certain sequence, the program selector has a first service of the first list, the first service is currently selected, and each service in the second list has a corresponding video format—; a first stream buffer—the program selector causes a first stream corresponding to the first service to be accumulated in the first buffer—; a second stream buffer—the program selector causes a second stream corresponding to the second service to be accumulated in the second buffer, and the second service is adjacent to the first service in sequence—; an image formatting module—the image formatting module receives a first configuration from the program selector based on a video format corresponding to the first service—; A video decoder—the video decoder is instructed by a program selector to decode first images from a first buffer once the first buffer has accumulated at least one I-frame, and the video decoder provides the first images to an image formatting module, and the image formatting module provides second images for one of subsequent processing and display based on the first configuration—; and a command receiver—the command receiver accepts a first command to proceed to a second stream and provides a first signal representing the first command to the program selector—; and the program selector designates the second service as currently selected;If the video format corresponding to the first service is identical to the video format corresponding to the second service, the second configuration is the first configuration; otherwise, the second configuration is based on the video format corresponding to the second service, and the image formatting module receives the second configuration from the program selector; the video decoder is instructed by the program selector to decode third images from the second buffer once the second buffer has accumulated at least one I-frame; the video decoder provides the third images to the image formatting module; the image formatting module generates fourth images for either subsequent processing or display based on the second configuration; and the sequence is selected to minimize the possibility that the first and second configurations are different.

[0018] For ease of explanation, various examples of suns, embodiments, and features will be described herein based on examples of systems, devices, and services compliant with specific standards, such as ATSC 3.0. However, such description is not limiting. The examples described herein may also be implemented using other signals or standards, or may be applied to systems and devices that process other forms of signals or comply with other standards. Additionally, one or more examples of systems and devices will be referred to herein as receivers, such as digital television (DTV), television, or television receivers. However, a receiver as described herein may be any type of electronic device that receives content or services, including but not limited to a television or television receiver (e.g., DTV), a set-top box, a gateway device, an OTT device (e.g., Apple TV), a computer, a laptop, a mobile device, such as a smartphone or tablet, or a content receiving or processing system that includes one or more virtual components or is entirely based on virtual components (e.g., in the "cloud," such as a DVR feature provided by a head-end service). Additionally, services, content, content signals, or signals providing content as mentioned herein will be described as providing television content, such as television programming, for ease of explanation and merely as an example. However, references to services or content as used herein may refer to television signals or programming, video content or programming, audio content or programming, movies, etc.

[0019] As mentioned above, one example of a broadcast distribution system suitable for use with or for implementing various examples of the aspects, embodiments, and features described herein is ATSC 3.0, wherein the services and programs available herein are known in accordance with the ATSC 3.0 standard A / 332. In compliance with A / 332, the known contents may be configured to describe one or more services that may be made available through a virtual channel and, within each service, a number of currently available and future scheduled programs. Currently, A / 332 describes the contents of such programs, e.g., titles, descriptions, language versions available for the main audio, subtitles, or captions. Such service announcements may indicate content attributes such as "video formats (3D, SD, HD, UD), audio formats (stereo, 5.1, immersive)" [ATSC 3.0 A / 332 §5.1], and "provide receivers with an overview of available services and content" [§5.2.1 of the aforementioned document]. A / 332 provides for "capability representations," which describe "multiple alternative sets of capabilities and capability groups, and support for any one set sufficient to generate a meaningful presentation" [§5.2.2.3.3.1 of the aforementioned document].

[0020] However, A / 332 describes a limited set of codes to represent such capabilities and groups of capabilities. For example, A / 332 claims that it allows users to filter guides based on video formats provided as examples, such as 3D, standard definition (SD), high definition (HD), and ultra-high definition (UD), but the notices regarding services and programs do not indicate the resolution of the content, including environments where a number of different formats can be supplied.

[0021] With current services, such as those based on ATSC 3.0, the receiver typically does not know what the video attributes present on the service will be in any detail until it actually receives the video signal itself. In the case of channel surfing, progressively jumping from one service to the next in numerical order (e.g., using the CH+ button on the remote control) can generate video formats different from those described above. One result may be an essentially random order of formats, which results in a relatively high expected rate of needing to change video formats, thereby causing expected delays, along with additional and distinct delays associated with accumulating the first I-frame of the next GOP for the new channel.

[0022] Generally, at least one example of the embodiment described herein illustrates the seamless random ordering of video and other technical formats by providing a user interface such as an EPG, wherein the presentation of available content and services, e.g., a guide or a list within the EPG, is classified based on video formats, so that similar video formats appear in close proximity within the user interface, e.g., consecutively within a guide, and thus channel surfing encounters changes in video and / or other formats as infrequently as possible, thereby reducing or minimizing the number or frequency of video render pipeline re-initializations to accommodate changes in video formats.

[0023] Generally, at least one example of the embodiment described herein describes I-frame acquisition times for the next channel based on buffering streams for adjacent services in the guide, at least with low fidelity, thereby enabling rapid support for switching to such adjacent services when not immediate. Where additional stream buffers and / or bandwidth are available, one or more additional services adjacent to the currently selected channel or service in the guide may be kept available for relatively rapid switching to one or more of these neighboring channels or services based on refreshing correspondingly allocated stream buffers. In the case of channel surfing, when the selection of the current service is proceeding in a specific order, the services whose streams are being buffered may be biased in the direction of the order of selection.

[0024] Scalable High-Efficiency Video Codec (SHVC) protocols can be used with short GOP, low-fidelity baselayer signals that accumulate in such anticipated stream buffers, where the advantage of short GOP encodings is that fewer frames in the encoded stream still need to be buffered; that is, the number of frames from the most recently fully received I-frame from the forward end does not increase as significantly as occurs with longer GOP encodings. Such short GOP encodings can provide faster switching times because the estimated latency is half the GOP duration plus the time required to accumulate the next I-frame, and this estimated latency is lower for shorter GOPs than for longer GOP encodings. Once a service is selected, playback can proceed as soon as an I-frame becomes available.

[0025] If the SHVC protocol is supported for the selected and presented service, the receiver may immediately or after a slight delay begin acquiring a corresponding enhancement layer capable of generating a higher resolution, higher fidelity image, together with the already presented base layer. The enhancement layer may have its own sequence of I-frames, P-frames, and / or B-frames, which do not need to be aligned with the corresponding frame types in the base layer. Generally, the enhancement layer will use a longer GOP structure to make encoding more efficient. The ability to acquire a displayable image quickly is not as critical for the enhancement layer, as the base layer can already be displayed. Preferably, the contribution of the enhancement layer can be gradually faded in once available, so as not to cause abrupt discontinuities in image quality.

[0026] Now, referring to the drawings, examples of embodiments will first be described in relation to FIGS. 1 through 4. Briefly,

[0027] FIG. 1 illustrates a system block diagram of an example of an embodiment of a device, such as a television receiver, according to the present disclosure.

[0028] FIG. 2 illustrates a system block diagram of another example of a device, such as a set-top box, according to the present disclosure.

[0029] FIG. 3 illustrates an example of a prior service list based on an example of an embodiment as described in the present specification.

[0030] FIG. 4 illustrates an example of a list of services after classification based on an example of an embodiment as described in the present specification, similar to that shown in FIG. 3.

[0031] As mentioned above, the drawings are provided only as examples to aid in understanding the present disclosure and are not necessarily the only possible configurations; therefore, it should be understood that they are not intended to limit, and are not intended to limit, the various aspects, embodiments, and features described herein.

[0032] With respect to FIG. 1, at least one example of the embodiment described in this specification may be considered in the context of a TV (110), together with a receiver (120) capable of obtaining information (100) about the services and programs as well as the programs (102) themselves.

[0033] Notices are transmitted from the receiver (120) to the notice manager (130), and the notice manager stores the notified information regarding current and upcoming programs in the EPG data (140). Certain program-related preferences (132) are used by the notice manager to indicate, for example, which video formats are preferred, which resolutions are preferred, which services are preferred, etc., and such preferences are used by the notice manager (130) in the prioritization of the EPG data.

[0034] Such preferences may be default values ​​and typically start from there. Such preferences may be adjusted by the user of the device using explicit commands received by the command receiver (152) (here, for example, shown as operating through the program selector (150)).

[0035] A command receiver (152) may be configured to receive commands issued from a user interface on the television itself, from a remote control, through a voice command detector, or from a smart home controller (none of these are shown).

[0036] In an alternative example, or additionally, such user preferences may be learned based on the user's actual behaviors regarding the selected programs and their attributes. For example, whenever a specific service is selected via a command receiver (152) accessed by a program selector (150), the likelihood that the current program and the corresponding service are user preferences increases. These considerations must be based additionally on the time at which the program or service is selected, along with other information such as whether the audio is noisy or whether the controls are occasionally adjusted. For example, once a program has been watched for 15 minutes, it may increasingly be considered a preference, but if it has been watched for less than that threshold, it may not be considered to have attracted the user's attention and may not yet be considered a preference. In another exemplary embodiment, the three services that obtain the highest corresponding total viewing time within an interval may be considered as preferences.

[0037] For such selected services and programs, the corresponding parameters of the video formats present in the broadcasts should also increasingly be considered as preferences. For example, if the system detects that the likelihood of high-resolution content being viewed is greater than the proportion of services providing high-resolution content when it is being viewed, high resolution can be considered as an increasing user preference that the program selector (150) can note in the program-related preferences (132).

[0038] Colorimetry (i.e., standard gamut based on ITU-R Recommendation BT.709 versus wide color gamut based on ITU-R Recommendation BT.2020 or BT.2100), dynamic range (i.e., standard dynamic ranges based similarly on BT.709 or BT.2020 versus high dynamic range based on ITU-R Recommendation BT.2100), frame rate (e.g., 24 versus 30, versus 60, versus higher), and other preferences for video formats, including whether they are stereoscopic 3D, represent several exemplary parameter values ​​that contribute to individual video formats.

[0039] The notification information (100) may include information regarding the video format available in each of the available programs (102) because it provides such information in a promising way. Alternatively, such video format information for a service or current program may become available once the program is received. In the latter case, the information may no longer have a predictive value for the current program. However, services are generally positioned to change their video formats infrequently, and thus, the most recently observed video format for a given service significantly predicts the video format to be encountered later for that service, for example, for the next program for that service, or for tomorrow's programs for that service, etc. This is particularly the case for linear services. Accordingly, if the notification information (100) does not contain video format information of the current program, the video decoder (180) or other element (not shown) accessing the video captured in the stream buffer pool (160) can identify the video format and pass it to the program selector (150) as shown by the dashed line, and through this process, the preferences in the program-related preferences (132) can be updated.

[0040] In some cases, the programs listed in the notices (100) may be available in various video formats. In such cases, the user's choice between one available format and another available format is a clearer indication of relative preference and can be considered accordingly.

[0041] The notification manager (130) classifies EPG data (140) related to at least linear services (as opposed to video-on-demand services) to organize their expected video formats into groups having consistent video formats, using program-related preferences (132) which may be just default values. The classified EPG data forms a list of services used by the program selector (150). The list of services (300 / 400) is discussed in more detail with reference to FIGS. 3 and FIGS. 4.

[0042] Referring again to FIG. 1, the program selector (150) starts at a location within the current service list derived by the notification manager (130) from the EPG data (140) and program-related preferences. When a channel selector command is received from the command receiver (152), such as when the user presses the “CH+” key on the remote control (not shown), the program selector proceeds to the next location within the service list and initiates several processes.

[0043] First, if the video format of the previous service is different, the program selector (150) may instruct the image formatting module (182) to prepare a new video format. The purpose of the image formatting module (182) is to receive video from the decoder (180) and convert the format of the video to any video format, for example, a video format used in the next steps of video processing by the graphic overlay module (184) and the display (190). The video format to which the image formatting module (182) is configured may be extracted from the video signaling of the corresponding video stream. Generally, at least one example of one embodiment may involve extracting such information prior to accessing the video stream and, for example, may further involve changing only such settings of the different image formatting module (182). Changing only certain settings or only a subset of settings may be desirable when some settings take more time than others compared to the time taken to change resolutions, for example, when switching input video transfer functions takes longer because it takes a long time to refill lookup tables (LUTs), perhaps because the exemplary implementation always uses the same large video frame buffers for all video frame sizes, and the only thing that changes is metadata about how large the image is. Such information about the execution in response to the change to the image formatting module (182) may be used to notify the classification of the service list (300 / 400).

[0044] Second, the program selector (150) induces the video decoder (180) to take data from the stream buffer (161) in the video stream buffer pool (160), and the stream buffer (161) becomes the primary stream buffer because it corresponds to the service corresponding to the newly selected list position. If the primary stream buffer (161) has already accumulated an I-frame, the video decoder may proceed to start decoding immediately.

[0045] Third, the receiver (120) is instructed by the program selector to begin buffering streams of services adjacent to the currently selected location in the service list, to the extent that the receiver (120) can receive multiple video streams in parallel and the video stream buffer pool (160) has available stream buffers. That is, it buffers streams for services corresponding to locations within the service list adjacent to the currently selected location. Of course, if some of the receiver's (120) ability to receive multiple video streams is allocated, for example, to write a program from a service in the background (not shown), the available extent of the receiver's ability to receive multiple video streams is correspondingly reduced. Likewise, such pre-allocations may reduce the number of video stream buffers available in the pool (160) for use in this manner.

[0046] For example, the stream of the next adjacent service will be buffered in the forward adjacent stream buffer (162), and the stream of the previous adjacent service will be buffered in the backward adjacent stream buffer (163). Note that in this example, which recently received a CH+ command, the backward adjacent stream buffer (163) represents the service that provided the primary stream immediately before. Therefore, this stream buffer (163) must already be filled and, if it is made immediately available to the decoder (180), the user must reverse the direction of "channel surfing" with a CH- command. Each stream buffer other than the primary stream buffer (161), employed in this manner, operates as a circular buffer that must be large enough to accumulate the entire GOP, including at least the entire next I-frame added to the I-frame. In this way, such a stream buffer can be prepared for continuous playback by the video decoder (180), starting with the most recently completed I-frame of the stream buffer. In an alternative example, where such stream buffers are allowed to accumulate more assigned video streams, the video decoder (180) may start with any completed I-frame in the stream buffer from the earliest to the most recent, where different choices provide different capabilities. For example, a stream buffer with a duration of a few minutes may provide bits to skip forward or backward, but while such a stream buffer is assigned too recently to the stream of service, the full range of capabilities may not yet be available.

[0047] This process continues to allocate additional forward buffers (164, 166) to consecutive services ahead of the list and additional backward buffers (165). For any one progression of the current position in the service list, typically, there is only one new service assigned to one forward buffer, e.g., 166. The remaining buffers have already been allocated to services that are already close to or were close to the current service in the list. Because the number of buffers in the buffer pool (160) is typically less than the number of services in the list, the last buffer, that is, the buffer corresponding to the least adjacent service in the list in the direction opposite to the immediate movement, is released. Typically, this is the stream buffer to be newly allocated, that is, the foremost buffer (166), which was recently used as the lastmost buffer (165).

[0048] In this discussion of these stream buffers, designations such as forefront, forward adjacent, backward adjacent, etc., are all logical designations that can be dynamically assigned and do not need to correspond to specific fixed buffers, whether physical or logical. Ideally, the management of buffers in this manner is a very “lightweight” or low-complexity process handled by appropriate I / O control processor(s) (not shown) configured by the receiver (120) under the direction of the program selector (150), and in any process, the video decoder (180) can call buffers to be used from the pool (160) as long as the primary stream buffer (161) can be identified.

[0049] The primary stream buffer (161) is typically, at least logically, a much larger buffer. It may also be circular, but typically, it can provide a much longer capture, for example, one hour or perhaps significantly longer. This allows the currently selected service to accumulate video for use in “trick playback” modes such as ‘pause’, ‘rewind’, ‘fast forward’, and normal ‘playback’, any of which can be called by a remote control (not shown) and detected by a command receiver (152).

[0050] Although illustrated in this specification as a single entity, the primary stream buffer (161) may rely on a layered memory architecture: the substantial portion of the storage for the stream buffer (161) may be implemented as a large-capacity memory such as a hard disk or a flash drive, where only the immediate portion is maintained in RAM memory, and I / O control processors are handled to manage the transfer of data between different layers without the need for the video decoder (180) to worry. Details of such layered storage are well known in conjunction with video stream capture.

[0051] In some exemplary embodiments, when notices (100) as reflected in EPG data (140) indicate that a particular service is available not only live but also outside of live, for example, that the most recent hour from another live program is maintained for access over broadband, the program selector (150) may provide appropriate link information to the receiver (120), and the receiver (120) may proceed to access the corresponding stream from the broadband source for the programs (102). This may allow for faster filling of allocated stream buffers before the corresponding service is selected by the user, and then, it may allow trick playback access to the corresponding program during the time before the user selects the service and even before the service is buffered into the stream buffer pool (160).

[0052] From this, the receiver (120) can access the announcements (100) and programs (120) via OTA, for example, by a television antenna (not shown), or via broadband access, for example, the Internet (not shown), or both. In typical embodiments, the announcements (100) originate from many different sources, generally one source per broadcast facility, where each broadcast facility supports one or more services. In both ATSC 1.0 and ATSC 3.0, each television broadcast signal uses time domain multiplexing to deliver multiple services, and all services available in the signal are represented in announcements on the radio frequency (RF) television channel. Other services delivered on other RF channels are accompanied by announcements on the corresponding channels. In some cases using ATSC 3.0, a link to obtain announcements for a channel over broadband may be transmitted, and such announcements may be more complete and may include more promising announcements.

[0053] When a video decoder receives an appropriate I-frame and decodes it into a primary stream buffer (161), and an image formatting module (182) is configured to interpret the video format of the frame, the generated video, which is formatted appropriately for display (or, depending on the embodiment, into an intermediate format that is subsequently processed into the correct format for display), is transmitted to a graphics overlay module (184) to which any menus from a menu display module (not shown), clock indicators from a clock display module (not shown), EPG-derived graphics from an EPG rendering module (170), etc., are overlaid on the video for transmission to a display (190). The result is that the selected video service is being played on the display, and perhaps, at this time, details regarding the currently selected service, such as information from a program guide showing the name of the current show, such as actors for this service, release year, etc; remaining time; or other details such as the name of the next show (e.g., "coming up:").

[0054] One feature or aspect associated with the buffers in the pool (160) is that when a user moves up and down sequentially through the list of services, the buffers collect streams from several of the most likely services, and thus, since the buffer has already operated through a portion of the GOP without an I-frame and the user only needs to wait for the remaining GOP until an I-frame is acquired, the buffer corresponding to that service is likely to be ready to play the I-frame without delay or, in the worst case, with reduced delay, until the user proceeds to a specific selection on the list.

[0055] Because the user is proceeding in one direction through the service list, the allocations of stream buffers within the pool (160) can be biased in the direction of progress. Thus, in FIG. 1, the forward adjacent stream buffers (162, 164, 166) are three buffers, while the backward adjacent stream buffers (163, 165) are only two. In some embodiments, this difference may be more dramatic. However, if the user suddenly changes direction, for example during channel surfing, something that was just seen catches the user's attention and the direction of progress is suddenly reversed. In this situation, the instruction of the program selector (150) may typically be to increase the number of backward adjacent stream buffers by reallocating the least adjacent forward buffers that were promisingly loaded. This improves the likelihood of encountering an I-frame in the requested video stream buffer while operating with a limited buffer pool (160).

[0056] One feature or aspect of the program selector accessing video format information is that the image formatting module (182) has an initial opportunity to start configuring for an appropriate format, whether from known data (100) or by historically accumulating information for each service by the video decoder (180) (e.g., through dashed lines as described above).

[0057] FIG. 2 illustrates another exemplary embodiment of a set-top box (STB) (210) that operates in a substantially similar manner and includes many elements also found in a television (110). Rather than having its own display (190) as the television (110) did, the STB (210) has a digital interface (290), or possibly another video interface (not shown), either of which is intended to provide a video signal to one or more displays (not shown). Thus, video processing is somewhat different to properly accommodate an external display.

[0058] For example, the digital interface (290) may implement an uncompressed high-speed digital media interface protocol, such as the one standardized by the Consumer Electronics Association of America in their standard series CTA-861 (most recently, CTA-861-G as corrected by CTA-861.4). These standards provide the basic protocols used in popular digital video interfaces, connectors, and cables, such as the High-Definition Multimedia Interface (HDMI), a proprietary specification licensed by the HDMI Licensing Administrator, Inc. of San Jose, California; and also the DisplayPort digital display interface standardized by the Video Electronics Standards Association (VESA) of San Jose, California, either of which provides a non-limiting example of an interface suitable for use in an implementation of the digital interface (290).

[0059] As before, CH+ or CH- commands are received by the command receiver (152) of the STB (210) via user channel surfing, and accordingly, its program selector (150) responds as described above in relation to the television (110). Here, the program selector (150) may configure the image formatting module (282) differently. In the television (110), the characteristics of the display (190) are essentially fixed, and the image formatting module (182) may convert the video format supplied by the video decoder (180) of the television (110) into a video format suitable for the display (190), whereas here, the digital video interface (290) of the STB (210) may negotiate with an attached external display (not shown) and, ideally, agree on the format best suited for the content nearby and the attached external display (not shown).

[0060] Alternatively, in at least one example of one embodiment, the digital interface (290) may negotiate with an external display (not shown) to determine a specific format that may be best, optimal, preferred, or desirable based on available formats or formats, or provide the video to the external display in a specific format, for example, exclusively in a specific format, to the extent possible. Maintaining the format in a specific format may be desirable in that whenever the video format is changed in the digital interface (290), there is a renegotiation with the external display and, as discussed above with the television (110), its video pipeline is restarted, which may cause undesirable disruptions in video presentation and this is a poor user experience. By maintaining the interface (290) in the same or specific video format as much as possible, such restarts of video processing on the external display may be avoided or at least substantially reduced.

[0061] In an exemplary embodiment of the STB (210), the image formatting module (282) provides image processing to convert the input video format of images from the video decoder (180) of the STB (110) into an intermediate format suitable for use by the graphic overlay module (284). In this way, the EPG rendering module (170) and any other graphic rendering components (not shown) within the STB (210) can operate with a common video format having resolution, colorimetric method, transfer function, etc. In one exemplary embodiment, this common video format can be set to any video format that has been negotiated with an external display by the digital interface (290). In an alternative exemplary embodiment, the digital interface (290) can be configured to negotiate with a predetermined video format that is the common video format. In another alternative embodiment, the STB (210) employs a source formatting module (286) to convert any video format from a common video format used in a graphics overlay processor (284) to a video format negotiated by a digital interface (290). In this way, the digital interface (290) can adapt a specific format to a format considered to be the best or optimal format available, for example, to both the STB (210) and an external display (not shown).

[0062] In terms of some digital interface specifications such as those mentioned above, the digital interface (290) is referred to as a “source,” while an external display (not shown) is referred to as a “sink.” If negotiation with the digital interface (290) is successful, other types of devices may be substituted as sinks, allowing the STB (210) to function as a video source while connected to other types of devices, such as AV switching or routing equipment, video recorders, etc.

[0063] FIG. 3 shows a list of services (300) filled with data collected by a notice manager (130) from notices (100) and stored as EPG data (140). Based on certain information in program-related preferences (132), some services for which information is available in the EPG data (140) may be omitted from this list (300).

[0064] In one exemplary embodiment, some services in the EPG data (140) may represent services that require subscription but are not subscribed to by the user. Thus, rather than repeatedly telling the user that subscription is required but does not exist, the corresponding services are omitted from this particular feature of the EPG. Program-related preferences (132) may be updated, and such limited access services may appear, for example, when the user obtains a subscription to such services, or when access becomes available during a limited period, such as during a marketing promotion offering free access for a limited time. Likewise, if the user sets preferences to include such services in the service list (300) even without subscription, for example, if the user is considering subscribing but wants to know what kind of programming is offered and when, the services will reappear on the list (300).

[0065] In other exemplary embodiments, some services in the EPG data (140) may be specifically or implicitly flagged as not appearing. For example, the user may set a parental rating value to exclude services that provide programs of a certain rating. The user may make a choice to skip services that do not consistently provide primary audio tracks in a specific language (e.g., showing only stations where primary or bilingual tracks are available in a specific language). Additionally, the user may individually select certain services not to appear.

[0066] The service list (300) illustrates an example of a list arranged in order of virtual channels, or channel numbers. This is the order in which most EPGs of the prior art would be arranged. Although the channel numbers are not shown in FIG. 3, the service names are included in column (351). For each service, exemplary video parameters for the corresponding services are also shown. For example, the video transfer function appears in column (352), which is represented in this simplified example as either high dynamic range (HDR) or standard dynamic range (SDR). The video resolution for each service appears in the resolution column (353) as high definition (HD) or standard definition (SD).

[0067] For the purposes of this description, the information that may be displayed is simplified in FIG. 3. For example, certain complexities, such as having multiple forms of HDR, are not presented. That is, for the sake of simplification, this example tends to have only one HDR transfer function in use rather than perhaps three. The presented principles remain the same. Likewise, while two resolutions are presented, services that still offer Ultra High Definition (UHD) and higher resolutions are already available, but they were likely not included in this particular user's subscriptions or were outside this user's interest. Various other types of information, parameters, or settings may be included in the information presented to the user, such as in the list shown in FIG. 3. For example, differences in colorimetry (e.g., standard color gamut and wide color gamut) may be in a separate column not shown here. However, again, the principles remain consistent.

[0068] In the actual service list (300), any parameter that does not control the timing for updating the image formatting module (182 or 282) may be omitted. For example, if changes in the colorimeter always correspond to changes in the transfer function as indicated in column (352), there is no need to track the colorimeter separately in its own column (not shown). Likewise, if a parameter does not have a meaningful effect when the image formatting module (182) is configured, the corresponding column in the service list (300) is not required. Such information may be included if it can be used by the EPG rendering module (170) to notify the user about the attributes of the video, but it can also be obtained from EPG data (140) that is not on the service list (300).

[0069] Horizontal lines (302 to 318) indicate where changes in video format occur as services are selected in succession. For example, line (302) indicates that the video format of service (330), which is HD-HDR in the form of "<resolution>-<transfer function>", has been changed to HD-SDR for service (331) in the next line. The transition from service (330) to service (331), or vice versa, will encounter these changes in video format and potentially, depending on the specific implementation of the television (110) or STB (210), will induce a delay. Note that at the end of the list (300), after service (333), there is no line where the callout (319) points. This is because the video format of service (333) at the bottom of the list matches the video format of service (330) at the top of the list, both of which are HD-HDR. Therefore, when wrapping around in either direction, for example, when at the top of the list and pressing CH-, or at the bottom and pressing CH+, no change to the video format is encountered. If these first and last video formats were different, the line in 319 would be appropriate to indicate the transition during the wrap-around.

[0070] Thus, this exemplary service list (300) has 28 services, and scrolling through the entire list in the presented order (or reverse order) will encounter 17 video format changes. In this example, transitions are more likely not to occur when making random incremental steps along the list (300), which may result in a poor channel surfing experience, even if the stream buffers in the pool (160) are properly filled.

[0071] Column (350) indicates the classification of each service for this list. Some items are marked with preferences, such as the first service (330). This will be determined from program-related preferences (132), which may be manually set by the user, or automatically determined by monitoring the user's viewing habits or by other decisions.

[0072] The second item in the service list (331) is a service (331) that presents international news marked as "recommended." In this example, the recommendation is because the user already has another service (332) that presents international news (332).

[0073] Many other services are marked as “not recommended” (e.g., the last service (333)). Such services are not excluded from this list of services (300) by any information in the program-related preference data (132), and thus, they are included, but since they are neither preferences nor recommendations, it may be desirable not to mix such services with preferences and recommendations, thereby potentially improving or better optimizing the user experience. However, such services are kept available in the example, for example, on the grounds that there is no specific reason to exclude them. In an alternative embodiment, these services may be excluded, or a setting may be provided to show a list of more or fewer services.

[0074] In the example of the service list (300), the order in which these stations appear is intended to be their number order or characteristic order, that is, the order in which most current-date guides present services. That is, services are displayed by virtual channel numbers and subchannel numbers, e.g., 2.1, 2.2, 2.3, 4.1, 4.2, 5.1, etc., or in an STB, this is channel assignments made by an accumulator, i.e., a cable or satellite company. In some cases, a cable company may assign all SD services to channel numbers less than 1000 and all HD channels to channel numbers greater than 1000, and thus, there is at least partial ordering of video formats within such a list. Likewise, they may group all or at least many HD news stations; or all or many sports channels together. However, such ordering may not be entirely optimal with respect to one or more of the problems described herein. Additionally, such sequencing is not available to OTA broadcasts because there is no central service generating the guide. That is, each broadcaster provides its own ESG (Electronic Service Guide), and the user's television (110) or STB (210) is responsible for accumulating the entire guide for all available services within the EPG data (140).

[0075] FIG. 4 illustrates a service list (400) representing the same services shown in the service list (300), except that it is classified based on information available in program-related preferences (132) as extracted from the priority column (450), video transfer function column (452), and video resolution column (453). For reference, service names are in column (451), and a comparison proves that other data are the same for the same names in the two lists (300, 400).

[0076] If a particular embodiment of the television (110) does not have substantial latency that would cause perturbations in the video format, for example, if the ability to switch resolutions does not exhibit any substantial latency that would cause perturbations in the video presentation visible to the viewer, that particular embodiment of the video format does not need to be used to group services. This includes sub-ranges of video parameters, for example, if the television treats all resolutions lower than HD in the same way but treats HD differently, and resolutions higher than HD in a single but still different way, the video format parameter of resolution may be expressed in three subdivisions: less than HD, HD, and greater than HD. For example, when switching between two HD formats, such as 1080-line sequential scan video and 1080-line interlaced scan video, there may be a difference in latency even at the same resolution. Such subdivisions in all video format parameters will be specific to the device, e.g., the embodiment of the television (110).

[0077] For different implementations, which video format parameter changes take the longest time must also be considered. These will also be specific to each implementation of the television (110). The classification of groups should attempt to transition the video format parameters that take the longest time to configure as infrequently as possible in the classified list of services. That is, the "longest transition" video format parameters should be in the outermost classification, meaning that parameter changes associated with the largest latency or "penalty" should occur least frequently. The set of related video format parameters represents a composite classification key for the described grouping procedure. Having components corresponding to video format parameters or parameters that have a greater adverse effect on the setup time of the video pipeline is the most important element of the composite classification key when such parameters or parameters are changing, so that the parameters or parameters change less or least frequently.

[0078] Such classification minimizes expected latency caused by video format changes when surfing channels in the classified order, that is, when proceeding by service via the EPG.

[0079] However, this sequencing can sometimes be further optimized by considering which channels are among the tastes. The user's channel surfing experience among the taste services can be highly optimized in this way, as this additionally ensures that non-taste services are not interposed among the tastes, thereby creating a potentially annoying delay when there is little likelihood that such appearance would cause the user to stop watching the program presented in that way.

[0080] The described classification strategy is usefully extended by acknowledging services that are meaningfully similar to tastes. The use of various collaborative filtering, content-based filtering, risk-aware recommendations, and related techniques known to those skilled in the art of content recommendation can identify services or programs that are likely to become tastes, or at least present programs that users are unlikely to dislike or find offensive. For example, if a specific foreign news service is listed as a taste, other foreign news services may be included by category. Alternatively, if a "taste" is designated by a user, other similar services may be excluded based on explicit user preferences (e.g., in user-specific settings) or implied user preferences (e.g., based on the usage history of a specific user). In one exemplary embodiment, such services similar to a user's taste may be collected together in a 'recommended services' group during classification. In this way, their presence does not diminish the concentration of tastes, but places them ahead of a larger number of non-recommended services. In another exemplary embodiment, 'recommendation services' can be inserted among the tastes in a manner that does not cause additional service-switching delays when moving sequentially through a guide.

[0081] In another exemplary embodiment, users may prioritize their tastes into two or more layers, e.g., their best tastes, tastes, and occasional tastes, and classification may be based additionally on the layers.

[0082] When guides are being classified, wrap-around points must be considered. Most commonly, guides are arranged so that moving past the last entry leads to the first entry. In this case, the list is classified so that the entries at the end of the list have video properties similar to those at the beginning, thereby preventing a sudden backward or reverse direction when the user corrects overshoot at the top of the list, which would otherwise cause a long transition during the immediately following wrap-around.

[0083] In the example of a service list (400) classified according to one or more of the examples of the suns, embodiments, or features described in this specification, the list begins with a service (430), that is, one of the user's preferences. It is presented as HD-HDR, which must represent a high-quality presentation format. Another preference service (431) is also in HD-HDR and is therefore placed adjacent to 430. There are no other preference services in HD-HDR, which means that the next preference service will necessarily induce a change in video format. However, there is also a recommendation for a service that is HD-HDR, which is inserted as service (432). Positioning the recommendation as described is valuable because such recommendation can be illustrated without inducing a transition. After service (342), a video format transition is marked by line (402).

[0084] In the service list (400), there are only four transition lines (402 through 405). If the recommendation service (432), which is the only 'recommendation' in HD-HDR, is located somewhere in the lower part of the list, it is possible to induce two transitions, that is, two or more transition lines: one to switch to it and one to switch away from it. An exception would be if it were placed at the end of the list, where, due to the wrap-around, it would be adjacent to the top service (430) of the list that has a video format matching that of 434. However, the end of the list may be an undesirable placement for recommendations unless, by chance, users typically pass through the first position in the list again. It may be true that such recommendations can never be seen.

[0085] Following the recommendation (432) and transition line (402), there are multiple preferences for HD-SDR formats, which are listed. HD-SDR is still a good quality format and, in this exemplary list, is the second preferred format. Once past the remaining preferences, the list (400) is also classified to provide recommendations in HD-SDR format. After these, the video format transitions again as indicated by line (403), starting SD-SDR below it. Even here, the system provides recommendations: Service (433) is selected because it provides programming with a theme similar to the preference service (430). However, as illustrated in FIG. 4, there are many services appearing below 433 that are not recommended or, in an alternative example, have a lower priority recommendation than the ones above. The SD-SDR video format continues to line (404), where the video format of the services begins to improve to HD-SDR. In line (405), the video quality is transitioned back to HD-HDR, so that until it reaches service (434), even though service (434) is not recommended, it has a video format that matches the first service (430). Therefore, when wrap-around occurs, no video format transition occurs.

[0086] The classification order of the service list (400) provides an improved user experience, such as an improved channel selection or channel surfing experience, by minimizing or otherwise reducing the expected number of contacts with video format transitions. Seventeen video transitions (lines (302 to 318)) within the service list (300) are compared with four video transitions (lines (402 to 405)) within the service list (400) classified as described herein. Likewise, a stream buffering strategy directed by the program selector (150) based on the service list as described herein minimizes or eliminates waiting for an I-frame to be acquired. This also operates to improve user experiences, such as channel surfing experiences. Furthermore, interaction of recommended services into the user interface as described further enhances user experiences, such as channel surfing experiences, which may represent an optimization between video transitions and expected user interests. Additionally, user preferences may be used to provide the user with meaningful controls for managing the experience.

[0087] Another example of an embodiment is illustrated in FIG. 5. In FIG. 5, the embodiment (500) comprises, in 510, determining a plurality of available services that provide content, wherein each service has an associated content format. An example of 510 may be determining services available on an electronic device such as a digital television (DTV), wherein such services may be signals received or available on a device such as a digital television and / or programming. The services may originate from one or more of various sources, such as broadcast, streaming, recording, smartphone, laptop, or other computer. The services may include video and audio content such as television programming. Subsequently, the embodiment (500) further comprises, in 520, determining the order of the plurality of available services based on the content format of each service and a sequence for switching the plurality of available services, thereby reducing the transition time when switching from a first service among the plurality of available services to a second service among the plurality of available services that is different from the first service based on the sequence. For example, determining the order of multiple services may involve classifying or considering available services based on services having similar content formats, such as grouping together services that provide high-definition content. Subsequently, if a specific switching sequence is also considered when determining the order, the order can reduce the time or latency required to switch between services.For example, when services having the same format are adjacent and have the same or similar format, a switching sequence such as channel surfing with channel-up and channel-down results in fewer video format changes, thereby reducing the need to reconfigure the video pipeline, reduce latency, and improve system performance when switching between services as described herein. Subsequently, in 530, a list representing a program guide may be generated based on the order. In 540, switching between services is made possible based on the program guide associated with the list. An example of a list associated with an ordered program guide as described is illustrated and described in FIG. 4. In FIG. 4, the program guide based on the ordered list attempts to locate first and second services having the same or similar format at adjacent locations within the list, thereby improving performance (e.g., reducing switching delay) when switching in a manner such as channel surfing through the program guide.

[0088] This document describes various examples of embodiments, features, models, approaches, etc. Many such examples are described with specificity and, at least, are described in a manner that may often appear limiting in order to illustrate individual characteristics. However, this is for the sake of clarity of description and does not limit the application or scope. In practice, the various examples of embodiments, features, etc. described herein may be combined and interchanged in various ways to provide additional examples of embodiments.

[0089] Generally, the examples of embodiments described and considered in this document may be implemented in many different forms. Several examples are illustrated in FIGS. 1 through 5 as described above. Another example is illustrated in FIG. 6, which is described later. Other embodiments are considered, and the examples illustrated in the drawings do not limit the range of embodiments. Various examples of the embodiments described herein may be implemented as a method, device, computer-readable storage medium, or non-transient computer-readable storage medium storing instructions for implementing one or more of the examples of methods described herein.

[0090] The terms HDR and SDR are used in this disclosure. These terms often convey specific values ​​of dynamic range to those skilled in the art. However, additional embodiments are also intended in which reference to HDR is understood to mean "higher dynamic range" and reference to SDR is understood to mean "lower dynamic range." Such additional embodiments are not limited by any specific values ​​of dynamic range that may often be associated with the terms "higher dynamic range" and "standard dynamic range."

[0091] Various methods are described herein, and each method comprises one or more steps or actions for achieving the described method. Unless a specific order of steps or actions is required for proper operation of the method, the order and / or use of specific steps and / or actions may be modified or combined.

[0092] Various embodiments described herein, such as methods and other aspects, may be used to modify a system such as the example illustrated in FIG. 6, which will be described in detail below. For example, one or more of the devices, features, modules, etc. of the example in FIG. 6, and / or the arrangement of the devices, features, modules, etc. of the system (e.g., the architecture of the system) may be modified. Unless otherwise indicated or technically excluded, the aspects and embodiments described herein may be used individually or in combination.

[0093] Various numerical values ​​are used, for example, in this document. Specific values ​​are for illustrative purposes only, and the described suns are not limited to these specific values.

[0094] FIG. 6 illustrates a block diagram of an example of a system in which various embodiments and embodiments may be implemented. The system (1000) may be implemented as a device comprising various components described below and configured to perform one or more of the embodiments described herein. Examples of such devices include, but are not limited to, various electronic devices such as personal computers, laptop computers, smartphones, tablet computers, digital multimedia set-top boxes, digital TV receivers, personal video recording systems, connected home appliances, and servers. The elements of the system (1000) may be implemented, either alone or in combination, as a single integrated circuit, multiple ICs, and / or discrete components. For example, in at least one embodiment, the processing and encoder / decoder elements of the system (1000) are distributed across multiple ICs and / or discrete components. In various embodiments, the system (1000) is communically coupled to other similar systems or other electronic devices, for example, via a communication bus or via dedicated input and / or output ports. In various embodiments, the system (1000) is configured to implement one or more of the embodiments described in this document.

[0095] The system (1000) includes at least one processor (1010) configured to execute instructions loaded therein to implement, for example, the various embodiments described in this document. The processor (1010) may include an embedded memory, an input / output interface, and various other circuit components as known in the art. The system (1000) includes at least one memory (1020) (e.g., a volatile memory device and / or a non-volatile memory device). The system (1000) includes a storage device (1040) that may include non-volatile memory and / or volatile memory, including but not limited to EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic disk drive, and / or optical disk drive. The storage device (1040) may include, as non-limiting examples, an internal storage device, an attached storage device, and / or a network-accessible storage device.

[0096] The system (1000) may include, for example, an encoder / decoder module (1030) configured to process image data to provide encoded video or decoded video, and the encoder / decoder module (1030) may include its own processor and memory. The encoder / decoder module (1030) represents a module(s) that may be included in a device to perform encoding and / or decoding functions. As is known, the device may include one or both of the encoding and decoding modules. Additionally, the encoder / decoder module (1030) may be implemented as a separate element of the system (1000) or may be integrated within the processor (1010) as a combination of hardware and software as known to those skilled in the art.

[0097] Program code to be loaded onto a processor (1010) or an encoder / decoder (1030) to perform the various aspects described in this document may be stored in a storage device (1040) and subsequently loaded onto a memory (1020) for execution by the processor (1010). According to various embodiments, one or more of the processor (1010), memory (1020), storage device (1040), and encoder / decoder module (1030) may store one or more of the various items during the execution of the processes described in this document. These stored items may include, but are not limited to, input video, decoded video or parts of decoded video, bitstreams or signals, matrices, variables, and intermediate or final results from the processing of expressions, formulas, operations, and operation logic.

[0098] In several embodiments, memory within the processor (1010) and / or encoder / decoder module (1030) is used to store instructions and to provide working memory for processing required during operations such as those described herein. However, in other embodiments, memory outside the processing device (e.g., the processing device may be either the processor (1010) or the encoder / decoder module (1030)) is used for one or more of these functions. The external memory may be memory (1020) and / or storage device (1040), e.g., dynamic volatile memory and / or non-volatile flash memory. In several embodiments, external non-volatile flash memory is used to store the operating system of the television. In at least one embodiment, high-speed external dynamic volatile memory, such as RAM, is used as working memory for video coding and decoding operations, e.g., MPEG-2, HEVC, or VVC.

[0099] Inputs to the elements of the system (1000) may be provided through various input devices as shown in block (1130). Such input devices include, but are not limited to, (i) an RF part that receives an RF signal transmitted wirelessly by, for example, a broadcaster, (ii) a composite input terminal, (iii) a USB input terminal, and / or (iv) an HDMI input terminal.

[0100] In various embodiments, the input devices of block (1130) have their respective associated input processing elements as known in the art. For example, the RF portion may be associated with elements for (i) selecting a desired frequency (also referred to as selecting a signal, or band-limiting the signal to a band of frequencies), (ii) downconverting the selected signal, (iii) band-limiting again to a narrower band of frequencies to select a signal frequency band that may be referred to as a channel in some embodiments, (iv) demodulating the downconverted and band-limited signal, (v) performing error correction, and (vi) demultiplexing to select a desired stream of data packets. The RF portion of various embodiments includes one or more elements for performing these functions, such as frequency selectors, signal selectors, band-limiters, channel selectors, filters, downconverters, demodulators, error correctors, and demultiplexers. The RF section may include a tuner that performs these various functions, for example, including down-converting the received signal to a lower frequency (e.g., intermediate frequency or near-field baseband frequency) or to the baseband. In one set-top box embodiment, the RF section and its associated input processing element perform frequency selection by receiving, filtering, down-converting, and filtering the RF signal transmitted through a wired (e.g., cable) medium to a desired frequency band. Various embodiments rearrange the order of the aforementioned (and other) elements, remove some of these elements and / or add other elements that perform similar or different functions. Adding elements may include inserting elements between existing elements, for example, inserting amplifiers and analog-to-digital converters. In various embodiments, the RF section includes an antenna.

[0101] Additionally, USB and / or HDMI terminals may include their own interface processors for connecting the system (1000) to other electronic devices via the USB and / or HDMI connections. It should be understood that various aspects of input processing, such as Reed-Solomon error correction, may be implemented, for example, within a separate input processing IC or within the processor (1010). Similarly, aspects of USB or HDMI interface processing may be implemented within separate interface ICs or within the processor (1010). The demodulated, error-corrected, and demultiplexed stream is provided to various processing elements, such as the processor (1010) and an encoder / decoder (1030) operating in combination with memory and storage elements, to process the data stream for presentation on an output device.

[0102] Various elements of the system (1000) may be provided within an integrated housing. Within the integrated housing, the various elements may be interconnected and transmit data between them using a suitable connection arrangement (1140), including I2C buses, wiring, and printed circuit boards, for example, an internal bus known in the art.

[0103] The system (1000) includes a communication interface (1050) that enables communication with other devices through a communication channel (1060). The communication interface (1050) may include, but is not limited to, a transceiver configured to transmit and receive data through the communication channel (1060). The communication interface (1050) may include, but is not limited to, a modem or a network card, and the communication channel (1060) may be implemented, for example, within a wired and / or wireless medium.

[0104] In various embodiments, data is streamed to the system (1000) using a Wi-Fi network such as IEEE 802.11. The Wi-Fi signals in these embodiments are received through a communication channel (1060) and a communication interface (1050) adapted for Wi-Fi communication. The communication channel (1060) in these embodiments is typically connected to an access point or router that provides access to external networks, including the Internet, to allow streaming applications and other over-the-top communication. Other embodiments provide the streamed data to the system (1000) using a set-top box that transmits data through the HDMI connection of the input block (1130). Still other embodiments provide the streamed data to the system (1000) using the RF connection of the input block (1130).

[0105] The system (1000) may provide output signals to various output devices, including a display (1100), speakers (1110), and other peripheral devices (1120). The other peripheral devices (1120) include, in various examples of the embodiments, one or more of a standalone DVR, a disc player, a stereo system, a lighting system, and other devices that provide functions based on the output of the system (1000). In various embodiments, control signals are communicated between the system (1000) and the display (1100), speakers (1110), or other peripheral devices (1120) using signaling such as AV.Link, CEC, or other communication protocols that enable device-to-device control with or without user intervention. The output devices may be coupled to the system (1000) communically via dedicated connections through their respective interfaces (1070, 1080, 1090). Alternatively, output devices may be connected to the system (1000) using a communication channel (1060) through a communication interface (1050). The display (1100) and speakers (1110) may be integrated into a single unit with other components of the system (1000) in an electronic device, for example, a television. In various embodiments, the display interface (1070) includes a display driver, for example, a timing controller (T Con) chip.

[0106] The display (1100) and speaker (1110) may alternatively be separate from one or more of the other components, for example, if the RF portion of the input (1130) is part of a separate set-top box. In various embodiments where the display (1100) and speakers (1110) are external components, the output signal may be provided through dedicated output connections, for example, including HDMI ports, USB ports, or COMP outputs.

[0107] The embodiments may be performed by a processor (1010), by computer software implemented by hardware, or by a combination of hardware and software. As a non-limiting example, the embodiments may be implemented by one or more integrated circuits. The memory (1020) may be of any type suitable for the technical environment and, as a non-limiting example, may be implemented using any suitable data storage technology such as an optical memory device, a magnetic memory device, a semiconductor-based memory device, a fixed memory, and a removable memory. The processor (1010) may be of any type suitable for the technical environment and, as a non-limiting example, may include one or more of a microprocessor, a general-purpose computer, a special-purpose computer, and a processor based on a multi-core architecture.

[0108] Systems, devices, or methods according to the examples of the embodiments described herein may comprise one or more processors. Such embodiments may include embedded memory, input / output interfaces, and various other circuit components as known in the art. Memory may include volatile memory devices and / or non-volatile memory devices. Storage devices may include non-volatile memory and / or volatile memory, including but not limited to EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic disk drives, and / or optical disk drives. Storage devices may include, as non-limiting examples, internal storage devices, attached storage devices, and / or network-accessible storage devices.

[0109] It must be understood that when a drawing is presented as a flowchart, it also provides a block diagram of the corresponding device. Similarly, it must be understood that when a drawing is presented as a block diagram, it also provides a flowchart of the corresponding method / process.

[0110] The embodiments and aspects described herein may be implemented, for example, as a method or process, a device, a software program, a data stream, or a signal. Even if discussed in the context of a single form of the embodiment (e.g., discussed only as a method), embodiments of the features discussed may be implemented in other forms (e.g., a device or a program). A device may be implemented, for example, in suitable hardware, software, and firmware. Methods may be implemented in, for example, processors, generally referred to as processing devices, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. Processors also include communication devices, such as, for example, computers, mobile phones, portable / personal digital assistants ("PDAs"), and other devices that facilitate the communication of information between end users.

[0111] References to "one embodiment," "one example," "one embodiment," or "one embodiment," as well as other variations thereof, imply that specific features, structures, characteristics, etc. described in relation to the embodiment are included in at least one embodiment. Accordingly, the appearance of phrases such as "in one embodiment," "in one example," "in one embodiment," or "in one embodiment," as well as any other variations, appearing in various places throughout this document, do not necessarily refer to the same embodiment.

[0112] Additionally, this document may refer to "obtaining" various information. Obtaining information may include, for example, determining information, estimating information, calculating information, predicting information, or retrieving information from memory.

[0113] Additionally, this document may refer to "accessing" various information. Accessing information may include, for example, receiving information, retrieving information (for example, from memory), storing information, moving information, copying information, calculating information, determining information, predicting information, or estimating information.

[0114] Additionally, this document may refer to "receiving" various types of information. Receiving is intended to be a broad term, just like "accessing." Receiving information may include, for example, accessing information, or retrieving information (for example, from memory). Furthermore, "receiving" is typically involved in some way during, for example, operations of storing information, processing information, transmitting information, moving information, copying information, erasing information, calculating information, determining information, predicting information, or estimating information.

[0115] For example, it should be understood that in the following cases of "A / B", "A and / or B", "one or more of A or B", and "at least one of A and B", the use of any of " / ", "and / or", "one or more of", and "at least one of" is intended to include the selection of the first enumerated option (A) alone, the selection of the second enumerated option (B) alone, or the selection of both options (A and B). As another example, in the cases of “A, B and / or C”, “one or more of A, B or C”, and “at least one of A, B and C”, these phrases are intended to include the selection of the first listed option (A) alone, or the selection of the second listed option (B) alone, or the selection of the third listed option (C) alone, or the selection of the first and second listed options (A and B) alone, or the selection of the first and third listed options (A and C) alone, or the selection of the second and third listed options (B and C) alone, or the selection of all three options (A, B and C). This may be extended to many items as described in this specification, as will be apparent to those skilled in the art of this specification and the relevant field.

[0116] Additionally, as used herein, the term "signal" refers to indicating something specifically to a corresponding decoder. For example, in certain embodiments, the encoder signals a specific parameter among a plurality of parameters for improvement. In this way, in one embodiment, the same parameter is used on both the encoder side and the decoder side. Thus, for example, the encoder may transmit the specific parameter to the decoder so that the decoder can use the same specific parameter (explicit signaling). Conversely, if the decoder already has the specific parameter as well as others, signaling may be used without transmission (implicit signaling) simply to allow the decoder to know and select the specific parameter. By avoiding the transmission of any actual functions, bit saving is realized in various embodiments. It should be understood that signaling can be achieved in various ways. For example, one or more syntax elements, flags, etc. are used to signal information to the corresponding decoder in various embodiments. Although the aforementioned expression relates to the verb form of the word "signal," the word "signal" may also be used as a noun in this specification.

[0117] As is apparent to those skilled in the art, embodiments may generate various signals formatted to convey information that may be stored or transmitted, for example. For example, the information may include instructions for performing a method, or data generated by one of the described embodiments. For example, the signal may be formatted to convey a bitstream or signal of the described embodiment. Such a signal may be formatted, for example, as an electromagnetic wave (e.g., using the radio frequency portion of the spectrum) or as a baseband signal. Formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream. The information conveyed by the signal may be, for example, analog or digital information. As is known, the signal may be transmitted over various different wired or wireless links. The signal may be stored on a processor-readable medium.

[0118] Various generalized and specialized embodiments are also supported and considered throughout the entire disclosure.

Claims

Claim 1 A device for providing a user interface to present adjacently listed services representing video content, comprising one or more processors, wherein the one or more processors are configured to receive a first list of a plurality of services representing video content—each of the services in the first list having an associated video format and channel number, said video format being a combination of a video transfer function and a video resolution—; to reorganize the order of the first list based on the associated video format of each service to group together services having the same combination of a video transfer function and a video resolution to generate a second list; and to present a user interface using the second list—said that the user interface allows switching from any one service to an adjacent service within the second list. Claim 2 A device according to claim 1, wherein reorganizing the order of the first list includes using a composite classification key, and wherein the video transfer function or the video resolution associated with the largest transition latency is used as the outermost classification key for the composite classification key. Claim 3 A device according to claim 1, wherein reorganizing the order of the first list to generate the second list reduces instances of latency when switching sequentially between adjacent services in the second list compared to switching between adjacent services arranged in numerical order by channel number. Claim 4 A device according to claim 1, wherein the second list reduces instances of latency by reducing the possibility of reconfiguring the video pipeline when switching from processing content provided by the first service to processing content provided by the second service adjacent to the first service. Claim 5 In paragraph 1, the user interface using the second list includes an electronic program guide, and the channel number represents a video content service, the device. Claim 6 A device according to claim 1, wherein the order of the second list reduces the transition time by reducing the expected time to acquire an I-frame of an adjacent service within the second list. Claim 7 A device according to claim 1, wherein the user interface using the second list enables a channel surfing sequence by repeatedly activating one or more of a channel-up command and a channel-down command of a remote control for any of a television, a television signal receiver, a set-top box, a gateway device, a mobile device, a mobile phone, or a tablet computer. Claim 8 In paragraph 1, the device, wherein the second list is additionally based on one or more user preferences. Claim 9 A device according to claim 8, wherein the one or more user preferences correspond to a user selection of program content available in one video format, rather than a user selection of program content available in different video formats. Claim 10 An apparatus according to claim 1, wherein the one or more processors reduce the occurrence of video format parameter changes associated with transitions from one service to an adjacent service that cause maximum latency; or prioritization by a user of any of the content or services into two or more layers of tastes; or reorganize the order of the first list based additionally on any of the arrangements in the second list of wrap-around points that move the sequence of adjacent services to the beginning of the electronic program guide by proceeding through the sequence of adjacent services past the end of the electronic program guide. Claim 11 A method for presenting adjacently listed services representing video content, comprising: receiving a first list of a plurality of services representing video content, wherein each of the services in the first list has an associated video format and channel number, and the video format is a combination of a video transfer function and a video resolution; reorganizing the order of the first list based on the associated video format of each service to group together services having the same combination of video transfer function and video resolution to generate a second list; and presenting a user interface using the second list, wherein the user interface allows switching from any one service to an adjacent service within the second list. Claim 12 A method according to claim 11, wherein reorganizing the order of the first list above involves using a composite classification key, wherein the video transfer function or the video resolution associated with the largest transition latency is used as the outermost classification key for the composite classification key. Claim 13 In claim 11, the step of reorganizing the order of the first list to generate the second list reduces instances of latency when switching sequentially between adjacent services in the second list compared to switching between adjacent services arranged in numerical order by channel number. Claim 14 In claim 11, the above-mentioned second list is a method for reducing instances of latency by reducing the possibility of reconfiguring the video pipeline when switching from processing content provided by the first service to processing content provided by the second service adjacent to the first service. Claim 15 In claim 11, the step of presenting the user interface using the second list includes the step of presenting an electronic program guide using the second list. Claim 16 In paragraph 11, the step of reorganizing the order of the first list to generate the second list is a method based additionally on one or more user preferences. Claim 17 A method according to claim 16, wherein the above one or more user preferences correspond to a user selection of program content available in one video format, rather than a user selection of program content available in different video formats. Claim 18 In claim 11, the step of reorganizing the order of the first list to generate the second list generates the order of the second list which reduces the expected time for acquiring an I-frame of an adjacent service within the second list. Claim 19 In claim 11, the step of presenting the user interface using the second list enables a channel surfing sequence by the user repeatedly activating one or more of the channel-up command and channel-down command of a remote control for any of a television, television signal receiver, set-top box, gateway device, mobile device, mobile phone, or tablet computer. Claim 20 A computer-readable recording medium comprising instructions for performing a method, wherein, when executed by a processor, the method comprises: receiving a first list of a plurality of services representing video content, wherein each of the services in the first list has an associated video format and channel number, and the video format is a combination of a video transfer function and a video resolution; reorganizing the order of the first list based on the associated video format of each service to group together services having the same combination of a video transfer function and a video resolution to generate a second list; and presenting a user interface using the second list, wherein the user interface allows switching from any one service to an adjacent service within the second list. Claim 21 delete Claim 22 delete

Citation Information

Patent Citations

  • Broadcast receiving apparatus and controlling method thereof

    KR1020150120227A

  • Fast channel change from electronic programming guide

    US20140189736A1