A data transmission method and system for a set-top box

By performing data transmission requests and decoding speed prediction on the set-top box, the decoding capability of the set-top box is dynamically supplemented, and the problem of insufficient computing power in high-quality videos is solved, and video fluency and user experience are improved.

CN119364116BActive Publication Date: 2025-06-13SHENZHEN JUNUO ELECTRON CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411447137.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-16
Publication Date
2025-06-13
Estimated Expiration
2044-10-16

AI Technical Summary

Technical Problem

When the video quality is high, some set-top boxes or mobile devices may lack computing power, affecting the viewing experience.

Method used

By obtaining the video data to be transmitted, a data transmission request is sent to the set-top box, and a decoding speed prediction function is generated based on the test feedback information of the computer top box. Then, based on the prediction function, the unplayed inter-frame compression group is pre-decoded, and the pre-decoded result is sent to the set-top box.

Benefits of technology

This method dynamically complements the set-top box decoding capabilities, ensures video fluency, reduces the computing power demand for mobile devices, and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119364116B_ABST
    Figure CN119364116B_ABST
Patent Text Reader

Abstract

The present invention is applicable to the technical field of image data transmission, and particularly relates to a data transmission method and system for a set-top box. The method includes: acquiring video data to be transmitted; sending a data transmission request to the set-top box, and after receiving a feedback signal from the set-top box, sending an inter-frame compression group to the set-top box and receiving test feedback information; calculating the decoding time interval of the set-top box based on the test feedback information, and generating a decoding speed prediction function based on the time interval; predicting the number of decoded picture frames based on the decoding speed prediction function, pre-decoding the unplayed inter-frame compression groups based on the playing parameters of the video, and sending the pre-decoding results to the set-top box. The present invention performs decoding assistance on the set-top box based on its decoding ability, dynamically compensates for the deficiency of the set-top box's decoding ability, not only ensures the smoothness of the set-top box's video decoding, but also maximally reduces the computing power requirement of the decoding for the mobile device, and improves the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of image data transmission, and particularly relates to a data transmission method and system for a set-top box. Background Art

[0002] A set-top box is an electronic device used to receive and decode video and audio signals from satellites, cable TV, terrestrial broadcasts, or the Internet, and convert them into a format that can be displayed and played on a TV. It usually has multiple functions, such as supporting high-definition and ultra-high-definition video decoding, providing multimedia playback, accessing Internet services, and supporting smart applications and interactive functions, thereby enhancing the user's viewing experience.

[0003] As a connection carrier for video playback devices, when mirroring a screen through a mobile device, it needs to be processed by the set-top box to control the display device to display the corresponding picture. However, with the improvement of video technology, the video compression algorithm has gradually evolved. With the increase of the video compression ratio, the computing power required to decode the video is also gradually increasing. Especially for high-quality videos, their frame rate and resolution are at a relatively high level. Decoding of video data mainly occurs on the mirroring device or the set-top box. When the video quality is high, some set-top boxes or mobile devices will experience insufficient computing power, affecting the viewing experience. Summary of the Invention

[0004] The purpose of the present invention is to provide a data transmission method for a set-top box, aiming to solve the problem that when the video quality is high, some set-top boxes or mobile devices will experience insufficient computing power, affecting the viewing experience.

[0005] The present invention is implemented as follows. A data transmission method for a set-top box, the method includes:

[0006] Obtain the video data to be transmitted, the video data to be transmitted consists of multiple inter-frame compression groups, and all the picture frames in the video data to be transmitted have consecutive numbers;

[0007] Send a data transmission request to the set-top box. After receiving the feedback signal from the set-top box, send the inter-frame compression group to the set-top box and receive the test feedback information;

[0008] Calculate the decoding time interval of the set-top box based on the test feedback information, and generate a decoding speed prediction function based on the time interval;

[0009] Predict the number of picture frames to be decoded based on the decoding speed prediction function, pre-decode the unplayed inter-frame compression groups based on the playback parameters of the video, and send the pre-decoding results to the set-top box.

[0010] Preferably, the steps of sending a data transmission request to the set-top box, sending an inter-frame compression group to the set-top box after receiving the feedback signal of the set-top box, and receiving test feedback information include:

[0011] Send a data transmission request to the set-top box. After the set-top box receives the data transmission request, if data transmission is allowed, receive the feedback signal sent from the set-top box;

[0012] Split the video data to be transmitted into multiple inter-frame compression groups with consecutive numbers;

[0013] Retrieve the inter-frame compression groups in the order of the numbers, send the consecutive inter-frame compression groups to the set-top box, and receive the test feedback information sent from the set-top box. After receiving the inter-frame compression groups, the set-top box performs frame-by-frame decoding and records the decoding success time of each frame in the test feedback information.

[0014] Preferably, the steps of calculating the decoding time interval of the set-top box based on the test feedback information and generating a decoding speed prediction function based on the time interval specifically include:

[0015] Retrieve the test feedback information, read the decoding success time records from it, and consecutively number the time records;

[0016] Calculate the decoding time of each frame, and construct a decoding time coordinate based on the generation order of the decoding times. The abscissa of the decoding time coordinate is the number of the time record, and the ordinate of the decoding time coordinate is the decoding time;

[0017] Perform fitting processing on the decoding time coordinate according to a preset function type, and select the fitting function with the highest fitting accuracy as the decoding speed prediction function.

[0018] Preferably, the steps of predicting the number of decoded picture frames based on the decoding speed prediction function, pre-decoding the unplayed inter-frame compression groups based on the playing parameters of the video, and sending the pre-decoding results to the set-top box specifically include:

[0019] Import the numbers of the picture frames to be decoded into the decoding speed prediction function to generate the predicted decoding times of a preset number of picture frames, and calculate the decoding speed of the set-top box;

[0020] Detect the playing parameters of the video, determine the minimum decoding speed based on the video playing parameters, and calculate the decoding difference speed according to the minimum decoding speed and the decoding speed of the set-top box;

[0021] Pre-decode the unplayed inter-frame compression groups based on the decoding difference speed, and send the pre-decoding results to the set-top box. The set-top box incorporates the pre-decoding results into its own decoding results to generate a video stream.

[0022] Preferably, when the video is in a paused state, pre-decoding is performed through the set-top box, and the decoded video is temporarily stored in the set-top box. When the remaining space in the storage is lower than a preset value, the decoded video is cleared in reverse order.

[0023] Another object of the present invention is to provide a data transmission system for a set-top box, the system comprising:

[0024] A data acquisition module for acquiring video data to be transmitted, the video data to be transmitted consisting of a plurality of inter-frame compression groups, and all the picture frames in the video data to be transmitted having consecutive numbers;

[0025] A decoding test module for sending a data transmission request to the set-top box, and after receiving the feedback signal from the set-top box, sending an inter-frame compression group to the set-top box and receiving test feedback information;

[0026] A prediction function generation module for calculating the decoding time interval of the set-top box based on the test feedback information and generating a decoding speed prediction function based on the time interval;

[0027] A data transmission module for predicting the number of picture frames decoded based on the decoding speed prediction function, pre-decoding the unplayed inter-frame compression groups based on the playback parameters of the video, and sending the pre-decoding result to the set-top box.

[0028] Preferably, the decoding test module comprises:

[0029] A transmission permission unit for sending a data transmission request to the set-top box. After the set-top box receives the data transmission request, if it allows data transmission, it receives the feedback signal sent from the set-top box;

[0030] A data disassembling unit for disassembling the video data to be transmitted and splitting it into a plurality of inter-frame compression groups with consecutive numbers;

[0031] A test feedback unit for retrieving the inter-frame compression groups in the order of numbers, sending the consecutive inter-frame compression groups to the set-top box, and receiving the test feedback information sent from the set-top box. After receiving the inter-frame compression group, the set-top box performs frame-by-frame decoding and records the time when each picture frame is decoded successfully in the test feedback information.

[0032] Preferably, the prediction function generation module comprises:

[0033] An information extraction unit for retrieving the test feedback information, reading the recorded decoding success times therefrom, and consecutively numbering the time records;

[0034] A time coordinate generation unit for calculating the decoding time of each frame of the picture, constructing a decoding time coordinate based on the generation order of the decoding time, where the abscissa of the decoding time coordinate is the number of time records and the ordinate of the decoding time coordinate is the decoding time;

[0035] A function fitting unit for fitting the decoding time coordinate according to a preset function type and selecting the fitting function with the highest fitting accuracy as the decoding speed prediction function.

[0036] Preferably, the data transmission module includes:

[0037] A decoding speed calculation unit for importing the number of the picture frame to be decoded into the decoding speed prediction function to generate the predicted decoding time of a preset number of picture frames and calculating the decoding speed of the set-top box;

[0038] A differential speed calculation unit for detecting the playback parameters of the video, determining the minimum decoding speed based on the video playback parameters, and calculating the decoding differential speed according to the minimum decoding speed and the decoding speed of the set-top box;

[0039] A decoding transmission unit for pre-decoding the inter-frame compression group that has not been played based on the decoding differential speed, sending the pre-decoding result to the set-top box, and the set-top box integrating the pre-decoding result into its own decoding result to generate a video stream.

[0040] Preferably, when the video is in a paused state, pre-decoding is performed through the set-top box, and the decoded video is temporarily stored in the set-top box. When the remaining amount of the storage space is lower than a preset value, the already decoded video is cleared in reverse order.

[0041] A data transmission method for a set-top box provided by the present invention, when performing data transmission, first transmits part of the data to measure the decoding ability of the set-top box, performs decoding assistance based on the decoding ability of the set-top box, and dynamically makes up for the deficiency of the decoding ability of the set-top box, which not only ensures the smoothness of the set-top box decoding the video, but also maximally reduces the computing power requirement of the decoding for the mobile device and improves the user experience. Description of the Drawings

[0042] Figure 1 It is a flowchart of a data transmission method for a set-top box provided by an embodiment of the present invention;

[0043] Figure 2 It is a flowchart of the steps of sending a data transmission request to the set-top box, sending an inter-frame compression group to the set-top box after receiving the feedback signal of the set-top box, and receiving the test feedback information provided by an embodiment of the present invention;

[0044] Figure 3Flowchart of the step of generating a decoding speed prediction function based on the decoding time interval of a set-top box provided by an embodiment of the present invention;

[0045] Figure 4 Flowchart of the step of predicting the number of decoded picture frames based on the decoding speed prediction function, pre-decoding the unplayed inter-frame compression groups based on the playback parameters of the video, and sending the pre-decoding result to the set-top box provided by an embodiment of the present invention;

[0046] Figure 5 Architecture diagram of a data transmission system for a set-top box provided by an embodiment of the present invention;

[0047] Figure 6 Architecture diagram of a decoding test module provided by an embodiment of the present invention;

[0048] Figure 7 Architecture diagram of a prediction function generation module provided by an embodiment of the present invention;

[0049] Figure 8 Architecture diagram of a data transmission module provided by an embodiment of the present invention. Detailed implementation manners

[0050] In order to make the objectives, technical solutions and advantages of the present invention clearer and more understandable, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0051] As Figure 1 shown, it is a flowchart of a data transmission method for a set-top box provided by an embodiment of the present invention, and the method includes:

[0052] S100, obtaining the video data to be transmitted, where the video data to be transmitted is composed of multiple inter-frame compression groups, and all the picture frames in the video data to be transmitted have consecutive numbers.

[0053] In this step, the video data to be transmitted is obtained. When casting the screen through a mobile device, the mobile device can be a mobile phone or a tablet computer, etc. In the embodiments of the present invention, a mobile phone is taken as an example. When casting the screen, the data needs to be transmitted to the set-top box, and the set-top box decodes the video data and then conveys it to the corresponding display device for display. The video data to be transmitted is encoded and compressed data, and the encoding method used can be H.264 / AVC, H.265 / HEVC, MPEG-4, or AV1, etc. When playing, decoding is required. The traditional decoding method uses a single device for decoding, such as decoding through the set-top box or through the mobile device. However, the decoding ability of the set-top box is relatively weak, and for high-quality videos, smooth decoding cannot be performed. To solve this problem, a method of using the mobile device to assist in decoding is adopted to improve the smoothness of video playback. The video data to be transmitted consists of multiple inter-frame compression groups. The inter-frame compression group actually contains a sequence of picture frames, which is caused by using the inter-frame compression method during encoding. The inter-frame compression group contains I frames, P frames, and B frames, where the number of P frames and B frames can be multiple. When decoding, it is necessary to decode frame by frame. All the picture frames in the video data to be transmitted have consecutive numbers, and n is the number of the picture frame, such as 1, 2, 3... etc.

[0054] S200. Send a data transmission request to the set-top box. After receiving the feedback signal from the set-top box, send the inter-frame compression group to the set-top box and receive the test feedback information.

[0055] In this step, a data transmission request is sent to the set-top box. When screen mirroring is required, the mobile device sends a data transmission request to the set-top box. The set-top box receives the data transmission request and, after obtaining user authorization, allows the mobile device to perform data transmission, that is, the set-top box records in the feedback signal that data transmission is permitted. Then the mobile device retrieves the corresponding inter-frame compression group from the video data to be transmitted in the playback order and uses the inter-frame compression group as the minimum unit of data transmission for transmission, thereby sending it to the set-top box. When the set-top box receives the above inter-frame compression group, it identifies the encoding type of the video and starts frame-by-frame decoding processing. Since the computing power of the set-top box is limited, during decoding, its decoding speed may be lower than the video playback bit rate, resulting in stuttering. Then, when the set-top box decodes, it sends a test feedback information to the mobile device for each successfully decoded picture frame, and records the decoding success time in the test feedback information. The test feedback information is continuously sent to the mobile device, and the mobile device can infer the decoding speed of the set-top box for the video based on the time information recorded in the test feedback information.

[0056] S300. Calculate the decoding time interval of the set-top box based on the test feedback information, and generate a decoding speed prediction function based on the time interval.

[0057] In this step, the decoding time interval of the set-top box is calculated based on the test feedback information. As the test feedback information is continuously received, the difference between the time values recorded in two adjacent sets of test feedback information is the decoding time of a single-frame picture. For example, the decoding time of the first-frame picture is T1, thus constructing a decoding time coordinate. The abscissa of the decoding time coordinate is the number of time records (which is also the number of picture frames), and the ordinate of the decoding time coordinate is the decoding time. Through the method of function fitting, the decoding time of each frame of the photo can be obtained, which is the decoding speed prediction function. Based on the decoding speed prediction function, the decoding time of each frame of the picture can be predicted within a short period of time.

[0058] S400, predict the number of picture frames decoded based on the decoding speed prediction function, pre-decode the unplayed inter-frame compression group based on the video playback parameters, and send the pre-decoding result to the set-top box.

[0059] In this step, predict the number of picture frames decoded based on the decoding speed prediction function. The decoding speed prediction function can be used to predict the decoding time of picture frames within a short period of time. Then, the decoding speed in the future can be calculated. For example, within the next 3 seconds, 150 picture frames can be decoded, while the current video playback frame rate is 60 frames. This indicates that within three seconds, at least 180 picture frames need to be decoded. Without auxiliary means, picture jitter will occur. At this time, based on the predicted decoding speed above, the mobile device decodes the subsequent undecoded picture frames and directly sends them to the set-top box, that is, the mobile device decodes 30 picture frames. These 30 picture frames are decoded within three seconds, so the impact on the mobile device is relatively small. However, due to the participation of the mobile device, it will ensure that the pictures sent by the set-top box to the video playback device are stable, guaranteeing the user's viewing experience and minimizing the impact on the mobile device.

[0060] As Figure 2 shown, as a preferred embodiment of the present invention, the steps of sending a data transmission request to the set-top box, sending an inter-frame compression group to the set-top box after receiving the feedback signal from the set-top box, and receiving the test feedback information include:

[0061] S201, send a data transmission request to the set-top box. After the set-top box receives the data transmission request, if data transmission is allowed, receive the feedback signal sent by the set-top box.

[0062] In this step, send a data transmission request to the set-top box. When screen mirroring is required, select the corresponding data interaction device (set-top box) through the mobile device and initiate a data transmission request to it. At this time, the user authorizes the above data transmission request received through the set-top box and can then start screen mirroring.

[0063] S202. Split the video data to be transmitted into multiple inter-frame compression groups with consecutive numbers.

[0064] In this step, to split the video data to be transmitted, generally, video compression encoding is used to compress the volume of the video. During subsequent playback, decoding is required. The higher the compression rate of the encoding method, the greater the computing power required for decoding. Therefore, for videos with high image quality, high frame rate, and high compression rate, a large amount of computing power is needed. During compression, generally, inter-frame compression is used, which can significantly improve the compression rate. A group of picture frames is grouped together as an inter-frame compression group GOP (Group of Pictures). Since the picture frames within the inter-frame compression group are related and the decoding has a sequential order, the inter-frame compression group is used as the smallest decoding unit, and the inter-frame compression groups are consecutively numbered according to the playback order. For example, the number of the Nth inter-frame compression group is N.

[0065] S203. Retrieve the inter-frame compression groups in the order of their numbers, send consecutive inter-frame compression groups to the set-top box, and receive the test feedback information sent from the set-top box. After receiving the inter-frame compression group, the set-top box performs frame-by-frame decoding and records the time when each picture frame is successfully decoded in the test feedback information.

[0066] In this step, retrieve the inter-frame compression groups in the order of their numbers, send the inter-frame compression groups to the set-top box in the order of the numbers of the inter-frame compression groups, receive them through the set-top box, and start the decoding process. Since the computing power limit of the set-top box is relatively low, there may be a situation of insufficient computing power. In order to be able to grasp the decoding speed of the set-top box, the set-top box sends a set of test feedback information to the mobile device every time the decoding is completed. The test feedback information records the time value when the picture frame is decoded.

[0067] As Figure 3 shown, as a preferred embodiment of the present invention, the step of calculating the decoding time interval of the set-top box based on the test feedback information and generating a decoding speed prediction function based on the time interval specifically includes:

[0068] S301. Retrieve the test feedback information, read the time records of successful decoding from it, and consecutively number the time records.

[0069] In this step, retrieve the test feedback information. Each test feedback information stores a time record of successful decoding. For example, when the decoding time value of the Nth picture frame is 19 seconds and 15 milliseconds at 8:52, number each time record. The number of the time record is the same as the number of the picture frame.

[0070] S302. Calculate the decoding time of each frame of the video, and construct a decoding time coordinate based on the generation order of the decoding times. The abscissa of the decoding time coordinate is the number of the time record, and the ordinate of the decoding time coordinate is the decoding time.

[0071] In this step, calculate the decoding time of each frame of the video, calculate the difference between the decoding time values of two adjacent frames of the video, that is, obtain the decoding time of the latter frame of the video. In order to predict the decoding time of the frame of the video, construct a decoding time coordinate. This is because when the set-top box performs decoding, its operating state and computing power both affect the decoding efficiency, and the decoding speed is the specific manifestation of the above influence on the set-top box.

[0072] S303. Perform a fitting process on the decoding time coordinate according to a preset function type, and select the fitting function with the highest fitting accuracy as the decoding speed prediction function.

[0073] In this step, perform a fitting process on the decoding time coordinate according to a preset function type, and use a preset fitting tool to fit the above decoding time coordinate. By performing the fitting, a set of fitting functions will be obtained, such as f(x)= -90 + 232.233x - 175.5x 2 + 60.2x 3 - 9.5x 4 + 0.5583x 5 , and by performing the fitting, the decoding speed prediction function can be obtained. The decoding speed prediction function is used to estimate the decoding time of a single frame of the video.

[0074] As Figure 4 shown, as a preferred embodiment of the present invention, the step of predicting the number of decoded frames of the video based on the decoding speed prediction function, pre-decoding the unplayed intra-frame compression group according to the playing parameters of the video, and sending the pre-decoding result to the set-top box specifically includes:

[0075] S401. Import the number of the frame of the video to be decoded into the decoding speed prediction function to generate the predicted decoding times of a preset number of frames of the video, and calculate the decoding speed of the set-top box.

[0076] In this step, import the number of the frame of the video to be decoded into the decoding speed prediction function. For example, if it is necessary to predict the decoding times of 60 frames of the video, input the numbers of the corresponding frames of the video into the decoding speed prediction function frame by frame to generate the corresponding decoding times. During this process, continuously update the decoding speed prediction function according to the actual decoding times, that is, re-fit to obtain the decoding speed prediction function, so as to predict the decoding speed of the set-top box within a short period of time. For example, if 60 frames of the video need to be decoded in 1.2 seconds, then the decoding speed of the set-top box is 50 frames per second.

[0077] S402. Detect the playback parameters of the video, determine the minimum decoding speed based on the video playback parameters, and calculate the decoding difference speed according to the minimum decoding speed and the set-top box decoding speed.

[0078] In this step, detect the playback parameters of the video. Different videos have different frame rates, and this is also restricted by the video playback device. Specifically, the minimum playback frame rate of the video is not higher than the upper limit of the refresh rate of the video playback device. For example, if the frame rate of the video is 120 frames per second, but the refresh rate of the video playback device is 60 frames per second, then the minimum decoding speed is 60 frames per second. If it is lower than this value, stuttering will occur. Then the decoding difference speed is the minimum decoding speed minus the set-top box decoding speed. For example, if the set-top box decoding speed is 50 frames / second and the minimum decoding speed is 60 frames per second, then the decoding difference speed is 10 frames per second.

[0079] S403. Pre-decode the intra-frame compression group that has not been played based on the decoding difference speed, and send the pre-decoding result to the set-top box. The set-top box integrates the pre-decoding result into its own decoding result to generate a video stream.

[0080] In this step, pre-decode the intra-frame compression group that has not been played based on the decoding difference speed. In order to make up for the decoding difference speed, pre-decode through the mobile device, pre-decode the intra-frame compression group that has not been sent to the set-top box in advance, and directly transmit the decoded video data to the set-top box. The set-top box can directly control the video playback device to play according to the above data. Since the amount of data decoded by the mobile device is small and the main decoding task runs on the set-top box, it will not occupy too much computing power of the mobile device, greatly reducing the impact of decoding on the mobile device. When the video is in a paused state, pre-decode through the set-top box, and the decoded video is temporarily stored in the set-top box. When the remaining space in the storage is lower than the preset value, the already decoded video is cleared in reverse order.

[0081] As Figure 5 shown, a data transmission system for a set-top box provided by an embodiment of the present invention includes:

[0082] A data acquisition module 100, configured to acquire video data to be transmitted. The video data to be transmitted is composed of multiple intra-frame compression groups, and all picture frames in the video data to be transmitted have consecutive numbers.

[0083] In this system, the data acquisition module 100 acquires the video data to be transmitted. When mirroring the screen through a mobile device, the mobile device can be a mobile phone or a tablet computer, etc. In this embodiment of the present invention, taking a mobile phone as an example, when mirroring the screen, it is necessary to transmit the data to the set-top box, decode the video data through the set-top box, and then send it to the corresponding display device for display. The video data to be transmitted is data that has been encoded and compressed. The encoding method used can be H.264 / AVC, H.265 / HEVC, MPEG-4, or AV1, etc. When playing, decoding is required. The traditional decoding method uses a single device for decoding, such as decoding through the set-top box or through the mobile device. However, the decoding ability of the set-top box is relatively weak, and for high-quality videos, smooth decoding cannot be performed. To solve this problem, a method of using the mobile device to assist in decoding is adopted to improve the smoothness of video playback. The video data to be transmitted consists of multiple inter-frame compression groups. The inter-frame compression group actually contains a sequence of picture frames, which is caused by using the inter-frame compression method during encoding. The inter-frame compression group contains I frames, P frames, and B frames, where the number of P frames and B frames can be multiple. When decoding, it is necessary to decode frame by frame. All the picture frames in the video data to be transmitted have consecutive numbers, and n is the number of the picture frame, such as 1, 2, 3... etc.

[0084] The decoding test module 200 is used to send a data transmission request to the set-top box, and after receiving the feedback signal from the set-top box, send an inter-frame compression group to the set-top box and receive the test feedback information.

[0085] In this system, the decoding test module 200 sends a data transmission request to the set-top box. When mirroring the screen is required, a data transmission request is sent to the set-top box through the mobile device. The set-top box receives the data transmission request and, after obtaining user authorization, allows the mobile device to perform data transmission, that is, the set-top box records in the feedback signal that data transmission is permitted. Then the mobile device retrieves the corresponding inter-frame compression group from the video data to be transmitted according to the playback order and transmits it to the set-top box with the inter-frame compression group as the minimum unit of data transmission. When the set-top box receives the above inter-frame compression group, it identifies the encoding type of the video and starts frame-by-frame decoding processing. Due to the limited computing power of the set-top box, when decoding, its decoding speed may be lower than the video playback bit rate, resulting in stuttering. Then, when the set-top box decodes, it sends a test feedback information to the mobile device for each successfully decoded picture frame, and records the decoding success time in the test feedback information. The test feedback information is continuously sent to the mobile device, and the mobile device can infer the decoding speed of the set-top box for the video based on the time information recorded in the test feedback information.

[0086] The prediction function generation module 300 is configured to calculate the decoding time interval of the set-top box based on the test feedback information, and generate a decoding speed prediction function based on the time interval.

[0087] In this system, the prediction function generation module 300 calculates the decoding time interval of the set-top box based on the test feedback information. As the test feedback information is continuously received, the difference between the time values recorded in two adjacent sets of test feedback information is the decoding time of a single-frame picture. For example, the decoding time of the first-frame picture is T1, thereby constructing a decoding time coordinate. The abscissa of the decoding time coordinate is the number of time records (which is also the number of picture frames), and the ordinate of the decoding time coordinate is the decoding time. Through function fitting, the decoding time of each frame of photo can be obtained, which is the decoding speed prediction function. Based on the decoding speed prediction function, the decoding time of each frame of picture can be predicted within a short period.

[0088] The data transmission module 400 is configured to predict the number of decoded picture frames based on the decoding speed prediction function, pre-decode the unplayed inter-frame compression groups based on the playing parameters of the video, and send the pre-decoding result to the set-top box.

[0089] In this system, the data transmission module 400 predicts the number of decoded picture frames based on the decoding speed prediction function. The decoding speed prediction function can be used to predict the decoding time of picture frames within a short period. Then, the decoding speed in the future can be calculated. For example, within the next 3 seconds, 150 picture frames can be decoded, while the playing frame rate of the current video is 60 frames. This indicates that within three seconds, at least 180 picture frames need to be decoded. Without auxiliary means, picture jamming will occur. At this time, based on the predicted decoding speed above, the subsequent undecoded picture frames are decoded by the mobile device and directly sent to the set-top box, that is, 30 picture frames are decoded by the mobile device. The above 30 picture frames are decoded within three seconds, so the impact on the mobile device is relatively small. However, due to the participation of the mobile device, it will ensure that the pictures sent from the set-top box to the video playing device are stable, guaranteeing the user's viewing experience and minimizing the impact on the mobile device.

[0090] As Figure 6 shown, as a preferred embodiment of the present invention, the decoding test module 200 includes:

[0091] The transmission permission unit 201 is configured to send a data transmission request to the set-top box. After the set-top box receives the data transmission request, if it allows data transmission, it receives the feedback signal sent from the set-top box.

[0092] In this module, the transmission permission unit 201 sends a data transmission request to the set-top box. When screen mirroring is required, the corresponding data interaction device (set-top box) is selected through the mobile device, and a data transmission request is initiated to it. At this time, the user receives the above data transmission request through the set-top box, and after authorization, the screen mirroring can start.

[0093] The data disassembling unit 202 is used to disassemble the video data to be transmitted, and disassemble it into multiple intra-frame compression groups with consecutive numbers.

[0094] In this module, the data disassembling unit 202 disassembles the video data to be transmitted. In order to compress the volume of the video, video compression coding is generally used. During subsequent playback, decoding is required. The higher the compression ratio of the coding method, the greater the computing power required for decoding. Therefore, for videos with high picture quality, high frame rate, and high compression ratio, a large amount of computing power is required. During compression, intra-frame compression is generally used, which can significantly improve the compression ratio. A group of picture frames is grouped into one group, which is an intra-frame compression group GOP (Group of Pictures). Since the picture frames within the intra-frame compression group are related and the decoding has a sequential order, the intra-frame compression group is used as the smallest decoding unit, and the intra-frame compression groups are continuously numbered according to the playback order. For example, the number of the Nth intra-frame compression group is N.

[0095] The test feedback unit 203 is used to retrieve the intra-frame compression groups in the order of numbers, send the consecutive intra-frame compression groups to the set-top box, and receive the test feedback information sent from the set-top box.

[0096] In this module, the test feedback unit 203 retrieves the intra-frame compression groups in the order of numbers, sends the intra-frame compression groups to the set-top box in the order of the numbers of the intra-frame compression groups, receives them through the set-top box, and starts decoding processing. Since the computing power limit of the set-top box is relatively low, there may be a situation of insufficient computing power. In order to be able to master the decoding speed of the set-top box, the set-top box sends a group of test feedback information to the mobile device every time the decoding is completed. The test feedback information records the time value when the picture frame decoding is completed.

[0097] As Figure 7 shown, as a preferred embodiment of the present invention, the prediction function generation module 300 includes:

[0098] The information extraction unit 301 is used to retrieve the test feedback information, read the time records of successful decoding from it, and continuously number the time records.

[0099] In this module, the information extraction unit 301 retrieves the test feedback information. Each piece of test feedback information stores a time record of successful decoding. For example, when the decoding time value of the Nth frame is 8:52:19.015 seconds, each time record is numbered, and the number of the time record is the same as the number of the frame.

[0100] The time coordinate generation unit 302 is configured to calculate the decoding time of each frame of the video frames, and construct a decoding time coordinate based on the generation order of the decoding times. The abscissa of the decoding time coordinate is the number of the time record, and the ordinate of the decoding time coordinate is the decoding time.

[0101] In this module, the time coordinate generation unit 302 calculates the decoding time of each frame of the video frames, calculates the difference between the decoding time values of two adjacent frames of the video frames, that is, obtains the decoding time of the next frame of the video frames. In order to predict the decoding time of the video frames, a decoding time coordinate is constructed. This is because when the set-top box performs decoding, its operating state and computing power both affect the decoding efficiency, and the decoding speed is the specific manifestation of the above influence on the set-top box.

[0102] The function fitting unit 303 is configured to perform fitting processing on the decoding time coordinate according to a preset function type, and select the fitting function with the highest fitting accuracy as the decoding speed prediction function.

[0103] In this module, the function fitting unit 303 performs fitting processing on the decoding time coordinate according to a preset function type, and uses a preset fitting tool to fit the above decoding time coordinate. Through fitting, a set of fitting functions will be obtained, such as f(x)= -90 + 232.233x - 175.5x 2 + 60.2x 3 - 9.5x 4 + 0.5583x 5 , through fitting, the decoding speed prediction function can be obtained. The decoding speed prediction function is used to estimate the decoding time of a single frame of the video frames.

[0104] As Figure 8 shown, as a preferred embodiment of the present invention, the data transmission module 400 includes:

[0105] The decoding speed calculation unit 401 is configured to import the number of the frame to be decoded into the decoding speed prediction function, generate the predicted decoding times of a preset number of frames, and calculate the decoding speed of the set-top box.

[0106] In this module, the decoding speed calculation unit 401 imports the numbers of the picture frames to be decoded into the decoding speed prediction function. For example, if it is necessary to predict the decoding time of 60 picture frames, the numbers of the corresponding picture frames are input into the decoding speed prediction function frame by frame to generate the corresponding decoding time. During this process, the decoding speed prediction function is continuously updated according to the actual decoding time, that is, the decoding speed prediction function is re-fitted, so as to predict the decoding speed of the set-top box in a short time. For example, if 60 picture frames need to be decoded in 1.2 seconds, the decoding speed of the set-top box is 50 frames per second.

[0107] The differential speed calculation unit 402 is configured to detect the playing parameters of the video, determine the minimum decoding speed based on the video playing parameters, and calculate the decoding differential speed according to the minimum decoding speed and the decoding speed of the set-top box.

[0108] In this module, the differential speed calculation unit 402 detects the playing parameters of the video. Different videos have different frame rates, and at the same time, this is also restricted by the video playing device. Specifically, the minimum playing frame rate of the video is not higher than the upper limit of the refresh rate of the video playing device. For example, if the frame rate of the video is 120 frames per second, but the refresh rate of the video playing device is 60 frames per second, then the minimum decoding speed is 60 frames per second. If it is lower than this value, stuttering will occur. Then the decoding differential speed is the minimum decoding speed minus the decoding speed of the set-top box. For example, if the decoding speed of the set-top box is 50 frames per second and the minimum decoding speed is 60 frames per second, then the decoding differential speed is 10 frames per second.

[0109] The decoding transmission unit 403 is configured to perform pre-decoding on the inter-frame compression groups that have not been played based on the decoding differential speed, and send the pre-decoding result to the set-top box. The set-top box incorporates the pre-decoding result into its own decoding result to generate a video stream.

[0110] In this module, the decoding transmission unit 403 performs pre-decoding on the inter-frame compression groups that have not been played based on the decoding differential speed. In order to make up for the decoding differential speed, pre-decoding is performed through a mobile device. The inter-frame compression groups that have not been sent to the set-top box are pre-decoded in advance, and the decoded video data is directly transmitted to the set-top box. The set-top box can directly control the video playing device to play according to the above data. Since the amount of data decoded by the mobile device is small and the main decoding task runs on the set-top box, therefore, it will not occupy too much computing power of the mobile device, greatly reducing the impact of decoding on the mobile device. When the video is in a paused state, pre-decoding is performed through the set-top box, and the decoded video is temporarily stored in the set-top box. When the remaining amount of the storage space is lower than a preset value, the already decoded video is cleared in reverse order.

[0111] The above are only the preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent replacements, and improvements made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A data transmission method for a set-top box, characterized in that: The method comprises: Acquire video data to be transmitted, wherein the video data to be transmitted is composed of a plurality of inter-frame compression groups, and all picture frames in the video data to be transmitted have consecutive numbers; Sending a data transmission request to the set-top box, and after receiving a feedback signal from the set-top box, sending an inter-frame compression group to the set-top box, and receiving test feedback information; The decoding time interval of the top box is calculated based on the test feedback information, and a decoding speed prediction function is generated based on the time interval; Predicting the number of picture frame decodes based on a decoding speed prediction function, pre-decoding an unplayed inter-frame compression group based on a video playback parameter, and sending the pre-decoding result to a set-top box; The step of predicting the number of picture frame decodes based on the decoding speed prediction function, pre-decoding the unplayed inter-frame compression group based on the video playback parameters, and sending the pre-decoding result to the set-top box specifically includes: Importing the serial number of the picture frame to be decoded into the decoding speed prediction function, generating the predicted decoding time of a preset number of picture frames, and calculating the decoding speed of the top box; Detecting video playback parameters, determining a minimum decoding speed based on the video playback parameters, and calculating a decoding difference speed based on the minimum decoding speed and a set-top box decoding speed; The inter-frame compression group that has not been played is pre-decoded based on the decoding difference speed, and the pre-decoding result is sent to the set-top box, and the set-top box integrates the pre-decoding result into its own decoding result to generate a video stream.

2. The data transmission method for a set-top box according to claim 1, characterized in that: The step of sending a data transmission request to a set-top box, sending an inter-frame compression group to the set-top box after receiving a feedback signal from the set-top box, and receiving test feedback information comprises: Sending a data transmission request to the set-top box, after the set-top box receives the data transmission request, if the data transmission is allowed, receiving a feedback signal sent by the set-top box; Splitting the video data to be transmitted into a plurality of inter-frame compression groups with consecutive numbers; The inter-frame compression groups are retrieved in the order of numbers, continuous inter-frame compression groups are sent to the set-top box, and test feedback information from the set-top box is received. After receiving the inter-frame compression groups, the set-top box decodes frame by frame and records the time of successful decoding of each frame in the test feedback information.

3. The data transmission method for a set-top box according to claim 1, characterized in that: The steps of calculating the decoding time interval of the top box based on the test feedback information and generating a decoding speed prediction function based on the time interval specifically include: Retrieve the test feedback information, read the time record of successful decoding from it, and number the time record consecutively; Calculate the decoding time of each picture frame, and construct a decoding time coordinate based on the generation order of the decoding time, wherein the abscissa of the decoding time coordinate is the number of the time record, and the ordinate of the decoding time coordinate is the decoding time; The decoding time coordinates are fitted according to a preset function type, and a fitting function with the highest fitting accuracy is selected as a decoding speed prediction function.

4. The data transmission method for a set-top box according to claim 1, characterized in that: When the video is in a paused state, it is pre-decoded by the set-top box, and the decoded video is temporarily stored in the set-top box. When the remaining storage space is lower than a preset value, the decoded video is cleared in reverse order.

5. A data transmission system for a set-top box, characterized in that: The system comprises: A data acquisition module, used for acquiring video data to be transmitted, wherein the video data to be transmitted is composed of a plurality of inter-frame compression groups, and all picture frames in the video data to be transmitted have consecutive numbers; A decoding test module is used to send a data transmission request to a set-top box, send an inter-frame compression group to the set-top box after receiving a feedback signal from the set-top box, and receive test feedback information; A prediction function generating module, used for calculating the decoding time interval of the top box based on the test feedback information, and generating a decoding speed prediction function based on the time interval; A data transmission module, used for predicting the number of picture frame decoding based on a decoding speed prediction function, pre-decoding the unplayed inter-frame compression group based on the video playback parameters, and sending the pre-decoding result to the set-top box; The data transmission module comprises: A decoding speed calculation unit, used for importing the serial number of the picture frame to be decoded into the decoding speed prediction function, generating a predicted decoding time of a preset number of picture frames, and calculating the decoding speed of the top box; A differential speed calculation unit, used for detecting video playback parameters, determining a minimum decoding speed based on the video playback parameters, and calculating a decoding differential speed based on the minimum decoding speed and a set-top box decoding speed; The decoding transmission unit is used to pre-decode the inter-frame compression group that has not been played based on the decoding difference speed, and send the pre-decoding result to the set-top box, and the set-top box integrates the pre-decoding result into its own decoding result to generate a video stream.

6. The data transmission system for a set-top box according to claim 5, characterized in that: The decoding test module comprises: The transmission permission unit is used to send a data transmission request to the set-top box. After the set-top box receives the data transmission request, if the data transmission is allowed, it receives a feedback signal sent from the set-top box; A data disassembling unit, used for splitting the video data to be transmitted into a plurality of inter-frame compression groups with consecutive numbers; The test feedback unit is used to retrieve the inter-frame compression group in the order of numbers, send the continuous inter-frame compression group to the set-top box, and receive the test feedback information sent by the set-top box. After receiving the inter-frame compression group, the set-top box decodes frame by frame and records the time of successful decoding of each frame in the test feedback information.

7. The data transmission system for a set-top box according to claim 5, characterized in that: The prediction function generation module comprises: An information extraction unit is used to retrieve the test feedback information, read the time record of successful decoding therefrom, and number the time record consecutively; A time coordinate generating unit, used for calculating the decoding time of each picture frame, and constructing a decoding time coordinate based on the generation order of the decoding time, wherein the abscissa of the decoding time coordinate is the number of the time record, and the ordinate of the decoding time coordinate is the decoding time; The function fitting unit is used to perform fitting processing on the decoding time coordinate according to a preset function type, and select a fitting function with the highest fitting accuracy as a decoding speed prediction function.

8. The data transmission system for a set-top box according to claim 5, characterized in that: When the video is in a paused state, it is pre-decoded by the set-top box, and the decoded video is temporarily stored in the set-top box. When the remaining storage space is lower than a preset value, the decoded video is cleared in reverse order.

Citation Information

Patent Citations

  • Pre-decoding high definition player and playing method

    CN101710992A

  • Video stream decoding method and equipment

    CN108063973A