Set top box television channel dynamic sorting method and system

By distributing structured config files via the DC protocol and parsing XML protocols, the channel order of the set-top box is dynamically adjusted, solving the problems of poor user experience and low compatibility. This achieves efficient adjustment of channel sequences and consistency of user experience across the entire network, meeting the rapid iteration needs of operators.

CN121711537APending Publication Date: 2026-03-20BEIJING GEHUA CATV NETWORK CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-29
Publication Date
2026-03-20

AI Technical Summary

Technical Problem

The existing set-top box channel sorting method results in poor user experience, low compatibility, and an inability to iterate quickly and adapt flexibly. In particular, the NIT search method is time-consuming and does not cover all network users, while the network API interface method depends on the Internet device.

Method used

The DC protocol is used to distribute structured config files. The set-top box parses the XML protocol, dynamically adjusts the channel order, and provides prompts when the user switches channels. It supports flexible switching between old and new channel numbers and verifies data consistency through the NIT version number to avoid channel order confusion.

Benefits of technology

It enables efficient adjustment of channel sequences without requiring users to re-search for channels, improving user experience, ensuring consistency across all users, reducing learning costs, and supporting rapid iteration and flexible adaptation of channel sorting.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121711537A_ABST
    Figure CN121711537A_ABST
Patent Text Reader

Abstract

The invention relates to a set top box television channel dynamic sorting method and system, and the method comprises the steps: defining a structured config file specification on a rear-end server, and transmitting the structured config file specification through a DC protocol; the set top box receives the issued config file, and then analyzes data related to the service according to an xml protocol; when a signal that the user enters the live broadcast application is received each time, checking whether the config file is updated or not, and if yes, realizing channel sorting updating according to a protocol; and when a channel switching instruction input by the user is received, jumping according to the copied channel number. A user does not need to execute channel search operation again, and efficient adjustment and optimization of the channel sequence can be completed. According to the method, the DC and the NIT are combined, the dependence on two-way services and additional internet surfing equipment is eliminated, the coverage of users in the whole network is realized, the users are supported to switch to the desired channels by using the habitual channel numbers and the adjusted channel numbers, and the learning cost brought to the users by sorting adjustment is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of digital television, specifically relating to a method and system for dynamically sorting TV channels in a set-top box. Background Technology

[0002] Currently, set-top box channel sorting mainly relies on the following two methods:

[0003] (1) Sorting by searching through NIT (Network Information Table): By adding private descriptions to the NIT table in the MPEG protocol, a logical sorting number is set for each channel. This method updates the channel sorting by re-searching, but in reality, the number of channels is not increased or decreased. The search time is long, which brings a bad experience to users. When users are already used to the original sorting, the channels are still sorted according to the preset logic after re-searching, which will result in technical problems such as not being able to find the channels they often watch and not being able to prioritize the display of the channels they prefer.

[0004] (2) Channel sorting via network API (Application Programming Interface): Channel sorting information is returned through the backend interface. This method does not affect the user experience, but it can only cover users who have enabled bidirectional services and support interactive services. It also requires Internet access devices such as CM (Cable Modem), EOC (Ethernet Over Coax), optical modem, etc., which cannot guarantee the consistency of user experience across the entire network.

[0005] The aforementioned existing technologies suffer from poor user experience and low compatibility, failing to meet operators' needs for rapid iteration and flexible adaptation of channel sorting. Summary of the Invention

[0006] To address the shortcomings of existing technologies, such as poor user experience and low compatibility in set-top box channel sorting, the present invention aims to provide a method and system for dynamic sorting of set-top box TV channels. This method and system are applied to the channel management and sorting of DVB (Digital Video Broadcasting) set-top boxes, enabling efficient adjustment and optimization of channel sequences without requiring users to re-search for channels.

[0007] To achieve the above objectives, the technical solution adopted by the present invention is as follows:

[0008] In a first aspect, a method for dynamically sorting TV channels in a set-top box includes the following steps:

[0009] S1. Define a structured config file specification on the backend server and distribute the config file via the DC protocol;

[0010] S2. The set-top box receives the config file sent according to the agreed path address, and then parses out the business-related data according to the XML protocol;

[0011] S3. When the set-top box receives a signal that a user has entered live streaming mode, it checks whether the config file has been updated. If it has been updated, it updates the channel order according to the protocol.

[0012] S4. When the set-top box receives a channel switching command input by the user, it will switch channels according to the copied channel number.

[0013] Further, step S4 includes the set-top box receiving a channel switching command input by the user, copying the channel number input by the user, determining whether the channel number input by the user is an old channel number or a hidden channel number. If it is an old channel number or a hidden channel number, it queries the new channel number corresponding to the copied channel number, jumps to the corresponding new channel, and provides a channel number change prompt; if it is not an old channel number or a hidden channel number, it further determines whether it is a new channel number. If it is a new channel number, it directly jumps to the channel input by the user based on the copied channel number; if it is not a new channel number, it queries the original logical channel number corresponding to the copied channel number and jumps to the channel input by the user; if the original logical channel number corresponding to the copied channel number is not found, it prompts the user that the channel number input is incorrect.

[0014] Furthermore, in step S4, it is determined whether the channel number entered by the user is an old channel number or a hidden channel number by judging whether the channel number entered by the user is in the candidate channel number MultiLogicalNum field. If the channel number entered by the user is in the candidate channel number MultiLogicalNum field, it means that the channel number entered by the user is an old channel number or a hidden channel number. The corresponding new channel number is then queried, that is, the final effective target channel number masterLogicalNum. The user is then redirected to the channel of the original logical channel number NITLogicalNum corresponding to the new channel number for playback, and a prompt of channel number change is given.

[0015] Furthermore, in step S4, if the channel number entered by the user is not in the candidate channel number MultiLogicalNum field, it is determined that the channel number entered by the user is not an old channel number or a hidden channel number. Then, it is further determined whether the channel number entered by the user is in the final effective target channel number masterLogicalNum field to determine whether the channel number entered by the user is a new channel number. If the channel number entered by the user is in the final effective target channel number masterLogicalNum field, it means that the user entered a new channel number, and the system jumps to the channel of the corresponding original logical channel number NITLogicalNum for playback.

[0016] Furthermore, in step S4, if the channel number entered by the number of users is not found in the masterLogicalNum field of the final effective target channel number, then the original logical channel number NITLogicalNum field corresponding to the channel number entered by the number of users is matched in the database and redirected.

[0017] Furthermore, in step S4, if the tsID and serviceID corresponding to the original logical channel number NITLogicalNum described in the config are inconsistent with those in the database, it indicates that the config file was edited incorrectly, and the jump will not be performed.

[0018] Furthermore, the fields defined in step S1 for the structured config file specification include the NIT version number, the channel unique identifier, the adjusted sort number, the sort number in the NIT, and the alternative jump channel number.

[0019] Furthermore, in step S1, the config file adopts the XML format, and the file naming method is a combination of a fixed prefix "config_" and a version number. In step S3, the config file is updated by checking whether the file name has changed.

[0020] Furthermore, the NIT version number is used to verify whether the description in the config file matches the NIT version number in the current network.

[0021] Furthermore, the adjusted sort number reflects the channel's sorting priority in the channel list and the displayed channel number.

[0022] Furthermore, the sort number in NIT is the same as the sort number described in the private descriptor of NIT before adjustment.

[0023] Furthermore, the channel unique identifier is used by the program to check whether the sort number in the NIT described in the config file is consistent with that stored in the database.

[0024] Furthermore, the alternative channel number for redirection supports multiple values, typically set to the original sorting number that the user is already accustomed to.

[0025] Furthermore, the sorting update in step S2 includes sorting adjustment, channel hiding, and channel duplication.

[0026] Furthermore, step S4 includes the set-top box receiving the channel switching command input by the user, copying the channel number input by the user, determining whether the channel number input by the user is an old channel number or a new channel number, and if it is a new channel number, directly jumping to the channel input by the user based on the copied channel number; if it is an old channel number, querying the new channel number corresponding to the copied channel number, jumping to the corresponding new channel, and giving a channel number change prompt.

[0027] In a second aspect, a set-top box television channel dynamic sorting system is provided, wherein the system employs a set-top box television channel dynamic sorting method as described in the first aspect of the present invention and any optional embodiment thereof for channel sorting.

[0028] The beneficial technical effects of this invention are as follows: The set-top box TV channel dynamic sorting method and system disclosed in this invention address the problem that when updating channel sorting through the existing NIT search method, a long search time is still required even without adding or removing channels, resulting in a poor user experience. This invention aims to achieve efficient adjustment and optimization of the channel sequence without requiring users to re-perform the channel search operation, thereby shortening the sorting update time. At the same time, it is compatible with the use of old versions of channel numbers and provides users with prompts for changes in channel numbers, allowing users to keep abreast of sorting changes and improving the user experience.

[0029] Meanwhile, given that the network API interface method can only cover users who have activated bidirectional services and relies on Internet access devices, which makes it impossible to guarantee a consistent user experience across the entire network, we hope to leverage the combined application of DC (Data Carousel) and NIT to break free from the dependence on bidirectional services and additional Internet access devices, achieve coverage of all users across the network, ensure that different types of users can obtain consistent channel sorting services, and improve the compatibility of the technical solution.

[0030] It also allows users to switch to their desired channel using both their familiar channel number and the adjusted channel number, reducing the learning curve for users due to sorting adjustments. It supports simultaneous broadcasting of channels with different resolutions using the same channel number, improving the user experience. It meets the business needs of operators for rapid iteration and flexible adaptation of channel sorting, providing a more efficient and universal technical solution for channel management and sorting in the digital television field. Attached Figure Description

[0031] Figure 1This is a flowchart illustrating a method for dynamically sorting TV channels in a set-top box, as shown in Embodiment 1 of the present invention.

[0032] Figure 2 This is an example diagram of the Config.xml file involved in a set-top box TV channel dynamic sorting method shown in Embodiment 1 of the present invention;

[0033] Figure 3 A schematic diagram showing a helpful prompt when a user switches from old channel 601 to CCTV-1 HD using the set-top box TV channel dynamic sorting method shown in Embodiment 1 of the present invention.

[0034] Figure 4 This is a flowchart of step S4 in a set-top box TV channel dynamic sorting method according to Embodiment 1 of the present invention. Detailed Implementation

[0035] The present invention will now be further described with reference to the accompanying drawings and specific embodiments.

[0036] Example 1

[0037] like Figure 1 As shown in the figure, this embodiment of the invention provides a method for dynamically sorting TV channels in a set-top box, the method comprising the following steps:

[0038] S1. Design a structured config file format, and distribute the config file through the DC (Data Carousel) protocol.

[0039] The config file uses XML format and is named using a fixed prefix "config_" followed by the version number, such as "config_053.xml.". The config file is updated by checking if the file name has changed. The config file definition includes fields such as NIT version number, channel unique identifier, adjusted sort number, sort number in NIT, and alternative channel number for jumping.

[0040] The NIT version number is used to verify whether the description in the config file matches the NIT version number in the current network, avoiding confusion in sorting adjustments due to version inconsistencies; the channel unique identifier is used to confirm the channel that needs to be adjusted; the adjusted sort number is the channel's sorting priority in the channel list and the displayed channel number; the sort number in the NIT is the sort number described in the NIT's private descriptor before the adjustment; the alternative channel number for jumping supports multiple values, usually set to the sort number before the adjustment that the user is already accustomed to. When the user still uses this channel number to switch channels, a prompt can be given, "The current channel program number has been adjusted to XXXX", and the jump can also be achieved.

[0041] By distributing a structured sorting description file config.xml via DC, channel sorting becomes more flexible, eliminating the need for re-searching and relying on network access devices and backend service deployments.

[0042] like Figure 2 As shown, the Config.xml file includes the following content:

[0043] ① Root node <channelmapping>

[0044] The root container for the entire configuration file, containing all sub-configurations related to channel mapping.

[0045] ② <nittable>node

[0046] Version information used to associate with the Network Information Table (NIT).

[0047] Figure 2 The attribute "Version="9" indicates that the currently associated NIT version number is 9, which is used to ensure that the channel information matches the network configuration of the corresponding version.

[0048] ③ <notice>node

[0049] Used to configure the display rules for prompts when switching channels.

[0050] property:

[0051] isShow="true": Enables tooltips display (setting it to false disables tooltips).

[0052] displayDuration="5000": The display duration of the prompt message is 5000 milliseconds (5 seconds).

[0053] like Figure 3 As shown, a helpful reminder is given when a user switches to CCTV-1 HD using the old channel number 601.

[0054] ④ <channeltype>Nodes and child nodes <type>

[0055] <channeltype>The node is used to define the mapping relationship of the "first channel" in each channel category, and is used to quickly locate the initial channel when categorizing navigation.

[0056] child nodes <type>property:

[0057] id / name: Corresponds to the groupId and groupName returned by the OTT channel classification interface, which identify the channel classification (such as "CCTV Channel" and "Beijing Channel").

[0058] firstChannelTsID / firstChannelServiceID: The transport stream ID (TsID) and service ID (ServiceID) of the first channel in this category, used to locate the specific channel.

[0059] Example: The "CCTV Channel" category with id="1" has a default TsID=24 and ServiceID=601 for the first channel.

[0060] ⑤ <channel>node

[0061] Used to define the mapping rules for specific channels, especially the jump logic when the channel number is entered on the remote control.

[0062] Explanation of core fields:

[0063] tsID / serviceID: Unique channel identifiers (transport stream ID and service ID) recorded in NIT, used to locate the original channel and perform parameter checks.

[0064] NITLogicalNum: The original logical channel number for this channel as defined in NIT.

[0065] masterLogicalNum: The final target channel number (main channel number).

[0066] MultiLogicalNum: Allows jumping to multiple alternative channel numbers (separated by commas) to the main channel number.

[0067] Logic: When a user inputs any channel number from MultiLogicalNum via the remote control, the system will automatically switch to the channel corresponding to masterLogicalNum and proceed accordingly. <notice>Configure the display to redirect (e.g., "Channel number adjusted to 26").

[0068] Example 1: Channel sorting adjustment

[0069] The TSID of Gehua Guide Channel is "11" and the ServiceID is "521". Before the adjustment, the channel number described in NIT was 618. Now, the channel number of Gehua Guide Channel needs to be adjusted to 0. After the adjustment, users can enter 0 or the previously used 618 to jump to Gehua Guide Channel. When users enter "618", a prompt will be given that the channel number has changed.

[0070] Simply add the following description to the config file.

[0071] <Channel tsID="11"serviceID="521"NITLogicalNum="618"masterLogicalNum="0"MultiLogicalNum="618" / >

[0072] Example 2: Use a unified channel number for simultaneous broadcast channels to hide low-resolution channels.

[0073] Before the adjustment, the cable TV network simultaneously had Beijing TV standard definition channel number 26, Beijing TV high definition channel number 620, and Beijing TV 4K ultra-high definition channel number 720 (tsID="38"serviceID="720"NITLogicalNum="726"). Previously, users needed to remember three channel numbers and enter the corresponding channel number to watch the same content in the corresponding resolution.

[0074] After the adjustment, users can enter any of these three channel numbers to play the 4K ultra-high-definition Beijing Satellite TV channel. Furthermore, when users enter "720" or "620", a prompt will be given indicating that the channel number has changed.

[0075] Simply add the following description to the config file:

[0076] <Channel tsID="38"serviceID="720"NITLogicalNum="726"masterLogicalNum="26"MultiLogicalNum="720,620" / >

[0077] S2, config file parsing engine

[0078] The config file is distributed via the DC protocol. The set-top box receives the file according to the agreed path address, and then parses out the business-related data according to the XML protocol.

[0079] S3. Implement dynamic loading mechanism

[0080] The set-top box system checks the config file for updates each time a user accesses the application. If an update is found, it adjusts the channel order, hides channels, or copies channels according to the protocol. The set-top box system determines whether the config file has been updated by checking if its name has changed.

[0081] S4. When the user switches channels via remote control or voice dialogue, the set-top box system receives the channel switching command input by the user and jumps to the correct channel number.

[0082] Specifically, such as Figure 4 As shown, after receiving a channel switching command from a user, the set-top box copies the channel number entered by the user and checks if the entered channel number is in the MultiLogicalNum field of the candidate channel numbers. If it is, it means that it is an old channel number or a hidden channel number. The set-top box then queries the corresponding new channel number, i.e., the final effective target channel number masterLogicalNum, and jumps to the channel with the corresponding original logical channel number NITLogicalNum in the database for playback, and provides a channel number change prompt. If it is not in the MultiLogicalNum field of the candidate channel numbers, the set-top box checks if it is in the masterLogicalNum field of the final effective target channel number. If it is, it means that the user is already accustomed to the new channel number and entered the new channel number. The set-top box then jumps to the channel with the corresponding original logical channel number NITLogicalNum for playback, and no change prompt is needed. If the channel number entered by the user is not found in the masterLogicalNum field of the final effective target channel number, it means that the channel number has not been adjusted. The set-top box then matches the original logical channel number NITLogicalNum field in the database for playback. Furthermore, if the tsID and serviceID corresponding to the original logical channel number NITLogicalNum described in the config are inconsistent with those in the set-top box database, it indicates that the config file was edited incorrectly. In this case, the jump will not be executed, and the logic will be processed directly according to the error.

[0083] To make it easier for users to quickly find their frequently watched channels when switching channels again, the config file on the backend server is updated after the user successfully switches channels, so that the target channel is at the top of the channel list.

[0084] Example 2

[0085] This invention provides a set-top box TV channel dynamic sorting system, wherein the system uses a set-top box TV channel dynamic sorting method as described in Embodiment 1 of this invention and any optional embodiment to switch channels.

[0086] As can be seen from the above embodiments, the set-top box TV channel dynamic sorting method and system disclosed in this invention (1) distributes a structured sorting description file config.xml via DC, without relying on a bidirectional network or requiring the user to search again; the channel sorting is more flexible, without the need for re-searching or relying on network access devices and deploying backend services. (2) The config file ensures data consistency by comparing with the NIT version number, supports users to switch channels using the channel number before and after modification, and guides users to use the new channel number through prompts. Users can correctly jump to the program by entering the sorting number before or after the update using the remote control; when users jump using the channel number before the update, the user is informed of the adjusted sorting number through prompts.

[0087] The methods and systems described in this invention are not limited to the embodiments described in the specific implementation. Other implementation methods derived by those skilled in the art based on the technical solutions of this invention also fall within the scope of technical innovation of this invention.< / notice> < / channel> < / type> < / channeltype> < / type> < / channeltype> < / notice> < / nittable> < / channelmapping>

Claims

1. A method for dynamically sorting TV channels on a set-top box, the method comprising the following steps: S1. Define a structured config file specification on the backend server and distribute the config file via the DC protocol; S2. The set-top box receives the config file sent according to the agreed path address, and then parses out the business-related data according to the XML protocol; S3. When the set-top box receives a signal that a user has entered live streaming mode, it checks whether the config file has been updated. If it has been updated, it updates the channel order according to the protocol. S4. When the set-top box receives a channel switching command input by the user, it will switch channels according to the copied channel number.

2. The method for dynamically sorting TV channels in a set-top box as described in claim 1, characterized in that: Step S4 includes the set-top box receiving a channel switching command input by the user, copying the channel number input by the user, determining whether the channel number input by the user is an old channel number or a hidden channel number. If it is an old channel number or a hidden channel number, it queries the new channel number corresponding to the copied channel number, jumps to the corresponding new channel, and provides a channel number change prompt; if it is not an old channel number or a hidden channel number, it further determines whether it is a new channel number. If it is a new channel number, it directly jumps to the channel input by the user based on the copied channel number; if it is not a new channel number, it queries the original logical channel number corresponding to the copied channel number and jumps to the channel input by the user; if the original logical channel number corresponding to the copied channel number is not found, it prompts the user that the channel number input is incorrect.

3. The method for dynamically sorting TV channels in a set-top box as described in claim 2, characterized in that: In step S4, it is determined whether the channel number entered by the user is an old channel number or a hidden channel number by checking whether the channel number entered by the user is in the candidate channel number MultiLogicalNum field. If the channel number entered by the user is in the candidate channel number MultiLogicalNum field, it means that the channel number entered by the user is an old channel number or a hidden channel number. The corresponding new channel number is then queried, which is the final effective target channel number masterLogicalNum. The user is then redirected to the channel of the original logical channel number NITLogicalNum corresponding to the new channel number for playback, and a prompt of channel number change is given.

4. The method for dynamically sorting TV channels in a set-top box as described in claim 3, characterized in that: In step S4, if the channel number entered by the user is not in the candidate channel number MultiLogicalNum field, it is determined that the channel number entered by the user is not an old channel number or a hidden channel number. Then, it is further determined whether the channel number entered by the user is in the final effective target channel number masterLogicalNum field to determine whether the channel number entered by the user is a new channel number. If the channel number entered by the user is in the final effective target channel number masterLogicalNum field, it means that the user entered a new channel number, and the system jumps to the channel of the corresponding original logical channel number NITLogicalNum for playback.

5. The method for dynamically sorting TV channels in a set-top box as described in claim 4, characterized in that: If, in step S4, the channel number entered by the number of users is not found in the masterLogicalNum field of the final effective target channel number, then the original logical channel number NITLogicalNum field corresponding to the channel number entered by the number of users is matched in the database and redirected.

6. The method for dynamically sorting TV channels in a set-top box as described in claim 5, characterized in that: If the tsID and serviceID corresponding to the original logical channel number NITLogicalNum described in the config are inconsistent with those in the database in step S4, it indicates that the config file was edited incorrectly, and the jump will not be performed.

7. The method for dynamically sorting TV channels in a set-top box as described in claim 1, characterized in that: The fields defined in step S1 for the structured config file specification include the NIT version number, channel unique identifier, adjusted sort number, sort number in the NIT, and alternative jump channel number.

8. The method for dynamically sorting TV channels in a set-top box as described in claim 1, characterized in that: In step S1, the config file is in XML format and is named using a fixed prefix "config_" and a version number. In step S3, the config file is updated by checking if the file name has changed.

9. The method for dynamically sorting TV channels in a set-top box as described in claim 7, characterized in that: The alternative channel number for redirection supports multiple values, and is usually set to the original sort number that the user is already accustomed to.

10. A set-top box television channel dynamic sorting system, wherein the system uses the set-top box television channel dynamic sorting method according to any one of claims 1-10 to sort the channels.