Video playing method and related equipment

By receiving and completing FMP4 data in the ATSC3.0 system, analyzing and discarding invalid audio-visual frames, and processing bad blocks of video frames, the weak signal problem of the ATSC3.0 terrestrial broadcast system in complex signal environment is solved, and video is realized Play smoothness and user experience improvement.

CN119094837APending Publication Date: 2024-12-06SHENZHEN TCL DIGITAL TECH CO LTD
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202411319639.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-20
Publication Date
2024-12-06

AI Technical Summary

Technical Problem

The ATSC3.0 terrestrial broadcast system is prone to weak signals in complex signal environments, resulting in problems such as playback screens, out of synchronization of audio and video, and screens, affecting the user experience.

Method used

By receiving FMP4 data, judge and complete the missing data. If the missing data is in the MDAT atom, directly fill in the invalid data to maintain the integrity of the FMP4 file; parse the received FMP4 data, discard the invalid audio-visual frames, and judge the video frames of the video frames. Bad blocks and decide whether to discard or replay based on the threshold.

Benefits of technology

It effectively avoids playback chaos caused by data loss, maintains the smoothness of video playback, and ensures stable playback of ATSC3.0 broadcast programs under weak signals.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119094837A_ABST
    Figure CN119094837A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a video playing method and related equipment, which are applied to the ATSC standard and are used for improving the transmission efficiency of terminal data. The method provided by the embodiment of the invention comprises the following steps: receiving FMP4 data, wherein the FMP4 data comprises MDAT atoms; judging whether missing data exists in the FMP4 data or not; if yes, whether the missing data is located in the MDAT atom or not is judged; if yes, complementing the missing data through invalid data; and analyzing and playing the FMP4 data after completion of the FMP4 data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of audio and video, and in particular to a video playback method and related equipment. Background Art

[0002] ATSC3.0 is a new digital terrestrial broadcasting system designed to provide higher quality video, audio and data transmission, and provide users with a higher quality TV viewing experience. Compared with the previous generation ATSC 1.0, it has higher audio and video quality, higher compression efficiency, and can be used for robust transmission of fixed and mobile devices, as well as more accessibility, personalization and interactivity. At the TV receiving end, if you want to receive and watch ATSC 3.0 broadcast programs, the TV is required to have a tuner chip that can receive and tune the ATSC 3.0 standard signal, as well as a demodulator chip that can demodulate ATSC 3.0. The demodulated bit stream signal is given to the TV main chip for decoding, and the composite synchronous video broadcast signal (Composite Video Broadcast Signal, CVBS) or high-definition multimedia interface (High Definition Multimedia Interface, HDMI) signal is output, so that the audio and video of the ATSC 3.0 broadcast program can finally be presented to the audience.

[0003] Since ATSC3.0 is a terrestrial broadcasting system, the signal environment in actual scenarios is extremely complex, such as densely packed buildings, rolling mountainous areas, and abnormal thunderstorms, which will increase the complexity of the broadcast signal environment at the user's home. When watching programs, users are also prone to weak signals that cause the audio and video data received by the receiver to be missing or abnormal. If some effective measures are not taken, it is easy to encounter problems such as stuck playback screen, audio and video out of sync, screen distortion, and playback freezes, which seriously affect the user's viewing experience.

[0004] Therefore, how to effectively improve the uneven broadcasting of broadcast programs under weak ATSC3.0 signals has obviously become a very necessary topic. Summary of the invention

[0005] The embodiments of the present application provide a video playback method and related devices for improving the smoothness of video playback under ATSC3.0 weak signal conditions.

[0006] A first aspect of an embodiment of the present application provides a video playback method for the ATSC standard, comprising: receiving FMP4 data, the FMP4 data comprising an MDAT atom; determining whether there is missing data in the FMP4 data; if so, determining whether the missing data is located within the MDAT atom; if so, completing the missing data with invalid data; and parsing and playing the completed FMP4 data.

[0007] In one possible design, the method further includes: if the missing data is not within the MDAT atom, parsing the FMP4 data.

[0008] In one possible design, the parsing of the FMP4 data includes: parsing audio and video frames and the PTS corresponding to each audio and video frame from the FMP4 data; judging whether each audio and video frame is a valid audio and video frame according to the PTS corresponding to each audio and video frame; if the first audio and video frame is not a valid audio and video frame, discarding the first audio and video frame, the first audio and video frame being any frame among the audio and video frames; if the first audio and video frame is a valid audio and video frame, continuing to decode the first audio and video frame.

[0009] In one possible design, after continuing to decode the first audio-visual frame, the method also includes: when the first audio-visual frame is a video frame, performing bad block judgment on target data in the video frame, the target data including color encoding method YUV data or RGB data; when the bad block ratio exceeds a first threshold, discarding the video frame.

[0010] In one possible design, the bad block judgment of the target data in the video frame includes: judging whether the deviation between the timestamp corresponding to the target data and the audio timestamp Audio PTS being played is less than a preset normal threshold; if greater, determining that the target data is a bad block.

[0011] In one possible design, the method further includes: when there is continuous video frame data that is discarded or supplemented by the invalid data, and the continuous number exceeds a second threshold, replaying the video.

[0012] In one possible design, the method further includes: when there is continuous video frame data that is discarded or supplemented by the invalid data, and the continuous number exceeds a second threshold, pausing the playback of the video until the deviation between the timestamp of the video frame and the Audio PTS being played is less than the preset normal threshold.

[0013] A second aspect of the embodiments of the present application provides a computer-readable storage medium, including instructions, which, when executed on a computer, enable the computer to execute the methods described in the above aspects.

[0014] A third aspect of the embodiments of the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the methods described in the above aspects.

[0015] It can be seen from the above technical solution that the embodiment of the present application has the following advantages: when the receiving end receives FMP4 data, if there is missing data and it is non-critical data (such as part of the mdat atom content), invalid data (such as 0) is directly filled in to avoid confusion of the entire FMP4 box data due to the missing of a piece of data, so that the FMP4 Box maintains integrity and can maintain smooth playback. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 A flowchart of a possible video playback method provided in an embodiment of the present application;

[0017] Figure 2 A possible dual-connection user plane architecture topology diagram provided in an embodiment of the present application;

[0018] Figure 3 A flowchart of another possible video playback method provided in an embodiment of the present application;

[0019] Figure 4 A flowchart of another possible video playback method provided in an embodiment of the present application;

[0020] Figure 5 A schematic diagram of a possible video playback device provided in an embodiment of the present application;

[0021] Figure 6 A schematic block diagram of a video playback device provided in an embodiment of the present application;

[0022] Figure 7 A schematic diagram of the structure of a video playback device provided in an embodiment of the present application;

[0023] Figure 8 A schematic diagram of the structure of a system provided in an embodiment of the present application. DETAILED DESCRIPTION

[0024] For ease of understanding, the relevant technologies involved in the embodiments of the present application are first described below.

[0025] The following will describe the technical solutions in the embodiments of the present application in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0026] It should be understood that the term "and / or" in this article is only a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the previous and next associated objects are in an "or" relationship. It should be noted that the naming of the parameters in this article is for the convenience of description. Other names can be used in practice, and this application does not limit it.

[0027] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0028] The "plurality" appearing in the embodiments of the present application refers to two or more than two.

[0029] The ATSC3.0 media container format uses the fragmented MP4 (FMP4) file format. FMP4 is a variant of the MP4 file format. The ATSC3.0 front end cuts the real-time audio and video data into audio and video framements, which can be understood as an FMP4 file. The duration is generally in seconds, such as 2 seconds. Then it is transmitted based on the ALP / Router, ALP / MMTP transmission protocol; after the TV terminal receives the video fragment, it first demultiplexes it, extracts the codec data and the compressed audio and video frame data, and then pushes the compressed audio and video frame data to the decoder for decoding and presenting it to the user. A complete FMP4 file has the following important atoms (boxes), including: MOOV atoms and MOOF atoms that load metadata, and MDAT atoms that load audio and video data. They are a complete GOP. The loss of key data (including IDR frames in MOOV, MOOF or MDAT data) will cause the data of the entire GOP to be unable to be decoded and rendered normally.

[0030] Since ATSC3.0 is a terrestrial broadcast system, the signal environment is extremely complex. When watching a program, users may easily encounter weak signals that cause the audio and video FMP4 data received by the receiving end to be missing or abnormal, resulting in playback screen freezes, audio and video asynchronization, screen distortion, playback freezes, and other problems that seriously affect the user's viewing experience. In view of this, the present application embodiment provides a video playback method, which is specifically referred to as Figure 1 , is a flow chart of a possible video playback method provided in an embodiment of the present application, specifically including:

[0031] 101. Receive FMP4 data;

[0032] 102. Determine whether there is missing data in the FMP4 data;

[0033] It should be understood that ATSC3.0 transmits audio and video FMP4 files based on ALP / Router or ALP / MMTP transmission protocols. An FMP4 file is a complete GOP. The main atoms (boxes) that make up the FMP4 file include the following: FTYP atom, MOOV atom, MOOF atom and MDAT atom. Among them, MOOV atom and MOOF atom belong to the metadata box in the FMP4 file. The MOOV atom contains the information of the entire video file, such as video track, audio track, codec data and other important information, which determines whether the audio and video can be correctly parsed. The MOOF atom describes the storage location of the audio and video frame, the timestamp (PTS) and other important information, which determines whether the audio and video frame data can be correctly read or used. The MDAT atom is used to store video, audio and other media data, such as H265 encoded video frames, AAC encoded audio frames, TTML format subtitles, etc. The MDAT atom is the largest atom in the FMP4 file, and its volume accounts for a much larger proportion than the MOOV atom and the MOOF atom. Therefore, it is understandable that when processing FMP4 files, if there is no abnormality in the MOOV atom and the MOOF atom, and some MDAT data is abnormal, the FMP4 file parsing can still be executed normally and will not completely affect the use of the entire FMP4 audio and video data.

[0034] When encountering a weak ATSC3.0 broadcast signal, during the playback process, the broadcast receiving end (TV) receives FMP4 data based on a transmission protocol such as ALP / Router or ALP / MMTP, and the FMP4 data may suffer from data loss. According to the proportion of MDAT atoms in FMP4, it is likely that the MDAT atom constitutes part of the data. Therefore, after receiving the FMP4 data, determine whether there is missing data in the FMP4 data.

[0035] 103. If so, determine whether the missing data is located in the MDAT atom;

[0036] 104. If yes, fill in the missing data with invalid data;

[0037] If it is determined that there is missing data in the FMP4 data, determine whether the missing data is located in the MDAT atom. If the missing data is part of the MDAT, it can be directly filled with invalid data, for example, the invalid data can be 0, so as to ensure the integrity of the FMP4 file and avoid the subsequent FMP4 parsing being unable to process subsequent data due to the missing of a small piece of data, thereby avoiding the loss of large pieces of data. Figure 2As shown, a possible invalid data filling diagram provided in an embodiment of the present application is provided. In the MDAT atom, invalid data is filled into the missing data to ensure the integrity of the FMP4 file.

[0038] In addition, if there is no missing data in the FMP4 data, that is, the FMP4 data is continuous, the FMP4 data will be parsed in the next step.

[0039] 105. Parse and play the completed FMP4 data.

[0040] After completing the FMP4 data, the FMP4 data is parsed and played in the next step. Specifically, the FMP4 data is input into the parsing module. After the parsing module parses the audio and video frames, a validity check is performed on each audio and video frame to determine whether the audio and video frame data is abnormal. If abnormal, the audio and video frame data is discarded without decoding and presentation. For example, the H265-encoded video frame is composed of a NAL unit, and the first 4 bytes are the size of the NAL. By reading these 4 bytes, it is possible to determine whether the video frame is valid, or is filled with invalid data, or is erroneous frame data.

[0041] Specifically, see Figure 3 , which is a possible video playback flowchart provided in an embodiment of the present application, includes the following steps:

[0042] 301. Receive FMP4 data;

[0043] 302. Determine whether there is missing data in the FMP4 data;

[0044] 303. If so, determine whether the missing data is located in the MDAT atom;

[0045] 304. If yes, the missing data is completed by using invalid data;

[0046] 305. Parse the FMP4 data;

[0047] It should be noted that steps 301 to 305 are Figure 1 Steps 101 to 105 are similar and will not be described in detail here.

[0048] 306. Check the validity of the video and audio frame to determine whether it is a valid video and audio frame;

[0049] 307. If it is not a valid video or audio frame, discard the video or audio frame;

[0050] 308. If it is a valid video / audio frame, decode and play the video / audio frame.

[0051] The FMP4 data is input into the parsing module, and after the audio and video frames are obtained, each audio and video frame is checked for validity to determine whether it is a valid audio and video frame. Taking the audio and video frame as a video frame as an example, specifically, the number of video frames and the corresponding timestamp are extracted from the FMP4 container package, and then the validity check of the video frame is performed, including but not limited to checking according to the size or frame type of the video frame. For example, if the size of the video frame is less than a preset value, the frame may be invalid data, or the frame type of the video frame does not match, then the video frame is considered to be an abnormal frame, and therefore it is determined that it is not a valid video frame. If it is not a valid video frame, the video frame can be discarded.

[0052] In addition, if it is determined that the video frame is a valid video frame, the video frame is decoded and played. Specifically, after the video frame is sent to the decoder for decoding, the decoded video frame is input into the Render processing module. In the embodiment of the present application, the decoded video frame is judged as a bad block before being input into the Render processing module. For details, please refer to Figure 4 , a video playback method provided in an embodiment of the present application, comprising the following steps:

[0053] 401. Receive FMP4 data;

[0054] 402. Determine whether there is missing data in the FMP4 data;

[0055] 403. If so, determine whether the missing data is located in the MDAT atom;

[0056] 404. If yes, complete the missing data with invalid data;

[0057] 405. Parse the completed FMP4 data;

[0058] 406. Check the validity of the video and audio frame to determine whether it is a valid video and audio frame;

[0059] 407. If it is not a valid video or audio frame, discard the video or audio frame;

[0060] 408. If it is a valid video / audio frame, decode the video / audio frame;

[0061] It should be noted that steps 401 to 408 are Figure 3 Steps 301 to 308 are similar and will not be described in detail here.

[0062] 409. Perform bad block determination on target data in the video and audio frame;

[0063] 410. When the bad block ratio exceeds a first threshold, the audio or video frame is discarded;

[0064] 411. Determine whether the number of continuously discarded audio and video frames reaches a second threshold;

[0065] 412. If the second threshold is reached, replay the video;

[0066] 413. If the second threshold is not reached, continue playing the video.

[0067] When the video frame is sent to the decoder for decoding, the target data in the decoded audio and video frame is judged as bad blocks, where the target data can be YUV or RGB data. If the proportion of bad blocks exceeds the set first threshold, in actual application, the first threshold can be set to 60%, then this video frame will not be provided for display Render and will be directly discarded. Since the effective frame rate of ATSC3.0 video content is relatively high, such as 30fps, 60fps, a small number of frames are discarded, which will not affect the user's normal viewing experience.

[0068] Optionally, in actual applications, when important metadata (such as MOOF atoms and MOOV atoms) or a large amount of MDAT data in the FMP4 file is lost, continuous video frames will be discarded, which will gradually consume the video frame data buffered at the start of playback. Then, when normal video frames are received later, it is very likely that the transmission and decoding time is longer than the audio, resulting in the Video data not catching up with the Audio data, and thus the video and audio synchronization cannot be restored. Therefore, a second threshold can be set. For example, when 100 consecutive video frame data cannot catch up with the Audio, the restart of playback is triggered to resume normal playback. That is, when continuous video frame data is discarded or supplemented with invalid data, and the continuous number exceeds the second threshold, the video is replayed; or the video is paused until the deviation between the timestamp of the video frame and the Audio PTS being played is less than the preset normal threshold, which is not limited here. It should be noted that if continuous video frame data is discarded but does not reach the second threshold, the video continues to be played.

[0069] In summary, when the receiving end receives FMP4 data, if there is missing data and it is non-critical data (such as part of the mdat atomic content), invalid data (such as 0) is directly filled to avoid confusion of the entire FMP4box data due to the missing of a piece of data, so that the FMP4 Box maintains integrity; after FMP4 parses and extracts the audio and video frame data, the validity of the frame data is checked. If it is abnormal, it is directly discarded and not sent to the decoder for subsequent decoding and presentation; the tolerance threshold of the content screen distortion after frame decoding is set, and when the frame screen distortion ratio exceeds the set threshold, no rendering is performed; the threshold for continuous video frame drop is set. When the Video data and Audio data are not synchronized, when the number of continuous dropped frames discarded by the Video data reaches the set threshold, the playback is resumed or the playback is paused until synchronization is achieved, so that the audio and video data FMP4 received in the case of ATSC3.0 weak signal can maintain smooth playback.

[0070] In the embodiments of the present application, a method for video playback in an ATSC3.0 scenario is described, and the implementable methods and application scenarios of the embodiments of the present application are increased, making the steps of the embodiments of the present application more complete.

[0071] The above describes the video playback method in the embodiment of the present application. The following describes the video playback device in the embodiment of the present application. Figure 5 , an embodiment of a video playback device in the embodiments of the present application, the video playback device comprises:

[0072] The transceiver unit 501 is used to receive FMP4 data, where the FMP4 data includes MDAT atoms;

[0073] A determination unit 502 is used to determine whether there is missing data in the FMP4 data;

[0074] If so, the determination unit 502 is further configured to determine whether the missing data is located within the MDAT atom;

[0075] If the determination unit 502 determines that the missing data is located in the MDAT atom, the completion unit 503 is used to complete the missing data with invalid data;

[0076] The playing unit 504 is used to parse and play the completed FMP4 data.

[0077] Optionally, the video playback device may further include:

[0078] The parsing unit 505 parses the FMP4 data if the missing data is not in the MDAT atom.

[0079] Optionally, the parsing unit 505 is specifically used for:

[0080] Parse the audio and video frames and the PTS corresponding to each of the audio and video frames from the FMP4 data; determine whether each of the audio and video frames is a valid audio and video frame based on the PTS corresponding to each of the audio and video frames; if the first audio and video frame is not a valid audio and video frame, discard the first audio and video frame, and the first audio and video frame is any frame in the audio and video frames; if the first audio and video frame is a valid audio and video frame, continue to decode the first audio and video frame.

[0081] Optionally, the determining unit 502 is further configured to:

[0082] When the first audio-visual frame is a video frame, bad block judgment is performed on target data in the video frame, and the target data includes color encoding method YUV data or RGB data; when the bad block ratio exceeds a first threshold, the video frame is discarded.

[0083] Optionally, the judging unit 502 is specifically used to: judge whether the deviation between the timestamp corresponding to the target data and the timestamp Audio PTS of the audio being played is less than a preset normal threshold; if greater, determine that the target data is a bad block.

[0084] Optionally, the playback unit 504 is further configured to replay the video when there is continuous video frame data that is discarded or supplemented with the invalid data, and the continuous number exceeds a second threshold.

[0085] Optionally, the playback unit 504 is also used to pause the playback of the video until the deviation between the timestamp of the video frame and the Audio PTS being played is less than the preset normal threshold when there is continuous video frame data being discarded or supplemented by the invalid data and the continuous number exceeds a second threshold.

[0086] above Figure 5 The video playback device in the embodiment of the present application is described in detail from the perspective of modular functional entities, and the video playback device in the embodiment of the present application is described in detail from the perspective of hardware processing.

[0087] Figure 6 is a schematic diagram of a structure of a video playback device provided in an embodiment of the present application, with reference to Figure 6 In the case of an integrated unit, Figure 6 A possible structural diagram of the video playback device involved in the above embodiment is shown. The video playback device 600 includes: a processing unit 602 and a communication unit 603. The processing unit 602 is used to control and manage the actions of the video playback device. For example, the processing unit 602 is used to support the video playback device to execute Figure 1 Steps 102 to 105 in Figure 3 Steps 302 to 308 in Figure 4 The communication unit 603 is used to support the communication between the video playback device and other devices. For example, the communication unit 603 is used to support the video playback device to perform Figure 1 Step 101 in Figure 3 Step 301 in Figure 4 The video playback device may further include a storage unit 601 for storing program codes and data of the base station.

[0088] Among them, the processing unit 602 can be a processor or a controller, for example, it can be a central processing unit (CPU), a general processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It can implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application. The processor can also be a combination that implements a computing function, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like. The communication unit 603 can be a communication interface, a transceiver, a transceiver circuit, etc., wherein the communication interface is a general term and can include one or more interfaces, such as a transceiver interface. The storage unit 601 can be a memory.

[0089] See also Figure 7 As shown, the video playback device 710 includes: a processor 712, a communication interface 713, and a memory 711. Optionally, the video playback device 710 may also include a bus 714. The communication interface 713, the processor 712, and the memory 711 may be interconnected via the bus 714; the bus 714 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus 714 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 7 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0090] The embodiment of the present application also provides a device, which may be a chip, and includes a processor and a memory, wherein the memory is used to store instructions, and the processor is used to execute the instructions stored in the memory, so that the device executes the video playback device in Figures 1 to 4 Some or all of the steps in the video playback method in the embodiment, such as Figure 1 Steps 102 to 105 in Figure 3 Steps 302 to 308 in Figure 4 Steps 402 to 413 in and / or other processes for the technology described in this application.

[0091] The embodiment of the present application also provides a system, which may include one or more central processors 822 and memory 832, one or more storage media 830 (e.g., one or more mass storage devices) storing application programs 842 or data 844. Among them, the memory 832 and the storage medium 830 may be short-term storage or permanent storage. The program stored in the storage medium 830 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations in the system. Further, the central processor 822 may be configured to communicate with the storage medium 830 and execute a series of instruction operations in the storage medium 830 on the system 800. The system 800 may also include one or more power supplies 826, one or more wired or wireless network interfaces 850, one or more input and output interfaces 858, and / or, one or more operating systems 841, such as Windows Server, Mac OS X, Unix, Linux, FreeBSD, etc.

[0092] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.

[0093] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, a computer, a server, or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server, or data center. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a server or a data center that includes one or more available media integrated. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.

[0094] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0095] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0096] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0097] In addition, each functional unit in the embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0098] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.

[0099] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A video playback method, applied to the ATSC standard, characterized in that: include: Receiving FMP4 data, the FMP4 data including an MDAT atom; Determine whether there is missing data in the FMP4 data; If so, determining whether the missing data is located within the MDAT atom; If so, the missing data is completed by invalid data; The completed FMP4 data is parsed and played.

2. The method according to claim 1, characterized in that The method further comprises: If the missing data is not within the MDAT atom, the FMP4 data is parsed.

3. The method according to claim 2, characterized in that The parsing of the FMP4 data comprises: Parse the video and audio frames and the timestamp PTS corresponding to each of the video and audio frames from the FMP4 data; Determine whether each video and audio frame is a valid video and audio frame according to the PTS corresponding to each video and audio frame; If the first video / audio frame is not a valid video / audio frame, discarding the first video / audio frame, wherein the first video / audio frame is any frame among the video / audio frames; If the first video / audio frame is a valid video / audio frame, the first video / audio frame continues to be decoded.

4. The method according to claim 3, characterized in that After continuing to decode the first video and audio frame, the method further includes: When the first video / audio frame is a video frame, performing bad block judgment on target data in the video frame, the target data including color coding method YUV data or RGB data; When the bad block ratio exceeds a first threshold, the video frame is discarded.

5. The method according to claim 4, characterized in that The performing bad block determination on the target data in the video frame comprises: Determine whether the deviation between the timestamp corresponding to the target data and the timestamp Audio PTS of the audio being played is less than a preset normal threshold; If it is greater, the target data is determined to be a bad block.

6. The method according to claim 4, characterized in that The method further comprises: When there is continuous video frame data that is discarded or supplemented by the invalid data, and the continuous number exceeds a second threshold, the video is replayed.

7. The method according to claim 4, characterized in that The method further comprises: When there is continuous video frame data that is discarded or supplemented by the invalid data, and the continuous number exceeds the second threshold, the video is paused until the deviation between the timestamp of the video frame and the Audio PTS being played is less than the preset normal threshold.

8. A video playback device, applied to the ATSC standard, characterized in that: include: A transceiver unit, configured to receive FMP4 data, wherein the FMP4 data includes an MDAT atom; A judging unit, used for judging whether there is missing data in the FMP4 data; If so, the determination unit is further configured to determine whether the missing data is located within the MDAT atom; If the determination unit determines that the missing data is located in the MDAT atom, a completion unit is used to complete the missing data with invalid data; The playback unit is used to parse and play the completed FMP4 data.

9. A computer-readable storage medium comprising instructions, which, when executed on a computer, enables the computer to execute the method according to any one of claims 1 to 7.

10. A computer program product comprising instructions, which, when executed on a computer, causes the computer to execute the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • MP4 video source transmission method and apparatus

    CN105451073A

  • Method and device for processing play abnormality of audio stream, computer device and computer readable storage medium

    CN107566890A

  • Systems and methods for signaling missing or corrupted video data

    CN109792567A

  • Audio and video synchronization method in MP4 restoration, terminal equipment and storage medium

    CN111063376A

  • Method for repairing mdat box data error in MP4 video file

    CN114007112A