Display device and video loop playing method
By converting and updating the playback progress data of the display device, the problem of player feedback errors during loop playback was solved, and continuous playback and audio-visual synchronization of video and audio were achieved.
Patent Information
- Application Number
- CN202411607469.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-11
- Publication Date
- 2025-11-28
- Estimated Expiration
- 2044-11-11
AI Technical Summary
When a display device is playing a video in a loop, the playback progress exceeds the data range, causing the player to report an error and preventing the video from looping normally.
By performing data transformation on the acquired playback progress data, a second set of data that is unlikely to exceed the maximum value is generated. Modulo operations and updated thresholds are used to ensure the accuracy of the playback progress. The controller generates a third set of data to represent the correct playback progress and controls the display to continue playing media data.
It achieves continuous and accurate feedback and audio-visual synchronization in the player during loop playback, avoiding stuttering and ensuring continuous playback of video and audio data.
Smart Images

Figure CN119364124B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of display devices, and in particular to a display device and a video cyclic playing method. BACKGROUND
[0002] In the process of using the display device, the user can make the display device cyclically play the media asset data by inputting a cyclic playing instruction.
[0003] In the process of cyclic playing, the display device can cyclically read the video and audio data to realize cyclic playing under the condition of no re-starting of playing, so that the total duration of the video source is used to cyclically read the audio and video, and then data is continuously sent to the decoder to send the decoded data to the player. The player can cyclically play the audio and video data.
[0004] However, in the process of cyclic playing of the display device in this way, the player needs to return to the playing progress according to a preset period, so as to update the key information such as the real-time playing progress of the video source and the total playing progress of the video source, and the player will continue playing the audio and video data when receiving the updated real-time playing progress of the video source. However, when the key information such as the real-time playing progress of the video source exceeds the corresponding data range, it will cause the playing progress to be incorrectly fed back to the player, and thus the video cannot be normally cyclically played. SUMMARY
[0005] The present application provides a display device and a video cyclic playing method to solve the problem that the display device cannot normally cyclically play the video.
[0006] In a first aspect, the present application provides a display device, comprising a display and a controller. The controller is configured to:
[0007] In response to the received cyclic playing instruction, control the display to play media asset data; the media asset data comprises first audio data;
[0008] Obtain a first playing progress of the first audio data;
[0009] Perform data conversion on first data used to represent the first playing progress to obtain second data; the second data is used to represent a second playing progress; the data representation range of the first data is greater than the data representation range of the second data; the first data and the second data represent the same playing progress of the first audio data;
[0010] Obtain a total playing progress of the first audio data;
[0011] The third data is generated based on the second data and the total progress data used to characterize the total playback progress; the third data has the same data representation range as the first data; the third data has the same playback progress of the first audio data represented by the first data;
[0012] The display is controlled to continue playing the media data based on the third playback progress.
[0013] In this way, during the process of looping media data playback, the display device converts the first data used to represent the playback progress of the audio data in the media data into the second data, so that the value of the second data is within a smaller range. This alleviates the problem of inaccurate playback progress sent to the player due to the value of the second data exceeding the preset range, which in turn causes the player to stutter.
[0014] In some feasible embodiments, the controller performs data conversion on the first playback progress information to obtain second playback progress information, which is specifically configured as follows:
[0015] The second data is obtained by performing a modulo operation on the first data based on the maximum value corresponding to the second data.
[0016] The playback progress of the first audio data is determined based on the second data.
[0017] In this way, the modulo operation can represent the playback progress of the audio data without superposition. As a result, the second data will not exceed the preset range of audio progress statistics, which can ensure that the player continuously obtains the correct playback progress and aligns the audio and video data, so as to realize the continuous playback of media asset data.
[0018] In some feasible embodiments, the controller performs data conversion on the first playback progress information to obtain second playback progress information, and is further configured to:
[0019] Obtain a first update threshold and a second update threshold; the first update threshold is equal to the reference data; the reference data is used to characterize reference progress information; the reference progress information is used to characterize the playback progress of the previously acquired first audio data;
[0020] If the second data is less than the first update threshold, and the interpolation between the reference data and the second data is greater than the second update threshold, then the total progress data is updated, and the second data is set as the reference data.
[0021] In this way, the playback progress information obtained previously can be compared with the playback progress information obtained currently to determine whether the current playback progress has restarted a loop, and then the total progress data and other key information can be updated.
[0022] In some possible embodiments, the controller performs obtaining a first update threshold and a second update threshold, and is specifically configured to:
[0023] obtain a maximum value corresponding to the second data;
[0024] determine the second update threshold based on one half of the maximum value.
[0025] In this way, by determining the second update threshold, the upper limit value and the lower limit value for judging whether the loop has been restarted can be composed with the first update threshold, which is beneficial to updating the total progress data and other key information in a timely manner.
[0026] In some possible embodiments, the controller performs updating the total progress data, and is specifically configured to:
[0027] obtain a maximum value corresponding to the second data;
[0028] calculate a first sum value of a value corresponding to the total progress data and the maximum value;
[0029] update the total progress data based on the first sum value.
[0030] In this way, by obtaining the second data for representing the current playback progress and the total progress data of the media asset data, the monitoring on the total progress data can be continuously maintained, and then the playback progress is pushed to the player according to the total progress data, so that the player can realize loop playing.
[0031] In some possible embodiments, the controller performs generating third data based on the second data and the total progress data for representing the total playback progress, and is specifically configured to:
[0032] obtain the total progress data and the second data;
[0033] calculate a second sum value of a value corresponding to the total progress data and a value corresponding to the second data;
[0034] generate third data based on the second sum value.
[0035] In this way, by summing the total progress data and the second data, the third data pushed to the player can be determined, so that the player can continue playing the media asset data according to the playback progress represented by the third data.
[0036] In some possible embodiments, the media asset data further includes video data; and the controller controls the display to continue playing the media asset data based on the third playback progress, and is specifically configured to:
[0037] correcting a play progress of the video data based on a third play progress represented by the third data, so as to synchronize the play progress of the first audio data and the video data;
[0038] controlling the display to play the video data after the play progress synchronization, and controlling the speaker to play the first audio data after the play progress synchronization.
[0039] In this way, the video data and the audio data can be synchronized by taking the play progress of the audio data as a reference, so as to ensure that the audio and video are coordinated when the media data is played.
[0040] In some possible embodiments, the controller performing the playing of the media data is further configured to:
[0041] in response to the received fast-forward instruction or the fast-rewind instruction, determining a sudden play progress corresponding to the fast-forward instruction or the fast-rewind instruction;
[0042] continuing to play the media data based on the sudden play progress, and updating the total play progress based on the sudden play progress.
[0043] In this way, when the fast-forward or fast-rewind occurs during the playing of the media data, the total play progress information of the audio data needs to be updated, so that the player can obtain the total play progress in time, and thus the player can maintain the loop playing of the media data.
[0044] In some possible embodiments, the controller performing the playing of the media data is further configured to:
[0045] in response to the received audio track switching instruction, switching the first audio data of the media data to second audio data;
[0046] updating the total play progress based on a total play progress corresponding to the second audio data, and synchronizing the second audio data and video data in the media data.
[0047] In this way, during the audio track switching, the total play progress information of the audio data can be updated, and thus the player can synchronize the audio data and the video data according to the total play progress information of the audio data, so as to ensure that the player can loop play the media data without causing a lag phenomenon.
[0048] In a second aspect, the present application provides a video loop playing method, comprising:
[0049] in response to a received loop playing instruction, playing media data; the media data comprising audio data;
[0050] obtaining a first play progress of the audio data;
[0051] A data transformation is performed on the first data used to represent the first playback progress to obtain the second data; the second data is used to represent the second playback progress; the data representation range of the first data is greater than the data representation range of the second data; the first data and the second data represent the same audio data playback progress;
[0052] Obtain the total playback progress of the audio data;
[0053] The third data is generated based on the second data and the total progress data used to characterize the total playback progress; the third data has the same data representation range as the first data; the third data has the same audio data playback progress characterized by the first data;
[0054] The media asset data will continue to be played based on the third playback progress.
[0055] As described above, this application provides a display device and a method for looping video playback. The display device, upon acquiring first data representing a first playback progress of audio data, performs data conversion on the first data to obtain second data representing a second playback progress of the audio data. The first and second playback progresses are the same, but the data identifier range of the first data is larger than that of the second data. This data conversion process ensures that the second data used to represent the second playback progress is less likely to exceed its maximum value, thereby alleviating the problem of player stuttering caused by the second data representing the second playback progress exceeding its maximum value. Attached Figure Description
[0056] To more clearly illustrate the technical solution of this application, the drawings used in the embodiments will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0057] Figure 1 This is a schematic diagram illustrating the operation scenarios of a display device provided in some embodiments of this application;
[0058] Figure 2 This is a schematic diagram of the hardware configuration of a display device provided in some embodiments of this application;
[0059] Figure 3 This is a schematic diagram of the software configuration of a display device provided in some embodiments of this application;
[0060] Figure 4 A schematic diagram illustrating the module composition of a player provided in some embodiments of this application;
[0061] Figure 5 A flowchart illustrating the looping playback of media data on a display device provided in some embodiments of this application;
[0062] Figure 6 A schematic diagram of data interaction between the hardware abstraction layer and the framework layer for some embodiments of the present application is provided as follows:
[0063] Figure 7 A timing interaction diagram of modules in a looped playing media data process for some embodiments of the present application is provided as follows:
[0064] Figure 8 A flowchart of a process of determining a playing period of first audio data for some embodiments of the present application is provided as follows:
[0065] Figure 9 A timing interaction diagram of resetting total playing progress in a fast forward / fast backward scenario for some embodiments of the present application is provided as follows:
[0066] Figure 10 A timing interaction diagram of resetting total playing progress in a switching audio track scenario for some embodiments of the present application is provided as follows. DETAILED DESCRIPTION
[0067] The embodiments will be described in detail with reference to the drawings, wherein like reference numerals refer to like elements throughout. The following detailed description is not intended to restrict the embodiments to particular embodiments described herein, but rather the description is intended to provide a description of some embodiments falling within the scope of the present application. The following description of some embodiments is merely illustrative in nature and is in no way intended to limit the scope of the application, as described in the claims.
[0068] The embodiments will be described in detail with reference to the drawings, wherein like reference numerals refer to like elements throughout. The following detailed description is not intended to restrict the embodiments to particular embodiments described herein, but rather the description is intended to provide a description of some embodiments falling within the scope of the present application. The following description of some embodiments is merely illustrative in nature and is in no way intended to limit the scope of the application, as described in the claims.
[0069] It should be noted that the brief description of the terms in the present application is only for the convenience of understanding the following described embodiments, and is not intended to limit the embodiments of the present application. Unless otherwise specified, these terms should be understood according to their ordinary and general meanings.
[0070] The terms "first", "second", "third", and the like in the specification and claims of the present application and the above-described drawings are used to distinguish similar or like objects or entities, and do not necessarily mean a specific order or sequence, unless otherwise noted. It should be understood that the terms used in this way can be interchanged under appropriate circumstances.
[0071] The terms "comprises", "comprising", "includes", "including", "has", "having" and their conjugates mean, when used in this document, that the mentioned features are included, but not to the exclusion of other features. In other words, the terms "comprises", "comprising", "includes", "including", "has", "having" and their conjugates mean that the mentioned features are included, but that other features are not excluded.
[0072] The term "module" refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and / or software codes that can perform the function related to the component.
[0073] In the embodiments of the present application, the display device 200 refers to a device with the ability of picture display and data processing. For example, the display device 200 includes, but is not limited to, a smart television, a mobile terminal, a computer, a monitor, an advertising screen, a wearable device, a virtual reality device, an augmented reality device, etc.
[0074] Figure 1 The schematic diagram of the operation scenario between the display device and the control device is provided for some embodiments of the present application. As shown in Figure 1 , the user can operate the display device 200 through a touch operation, a mobile terminal 300 and a control device 100. For example, the control device 100 can be a remote controller, a stylus, a handle, etc.
[0075] The mobile terminal 300 can be used as a kind of control device to perform the human-computer interaction between the user and the display device 200. The mobile terminal 300 can also be used as a kind of communication device to establish a communication connection with the display device 200 and perform data interaction. In some embodiments, the mobile terminal 300 can install a software application with the display device 200, realize the connection communication through a network communication protocol, and achieve the purpose of one-to-one control operation and data communication. The mobile terminal 300 can also display audio and video content on the display device 200 to realize the function of synchronous display.
[0076] As shown in Figure 1 , the display device 200 also communicates data with the server 400 through various communication modes. The display device 200 can be allowed to communicate through a local area network (LAN), a wireless local area network (WLAN) and other networks.
[0077] The display device 200 can provide a broadcast receiving television function, and can additionally provide a smart network television function with computer support function, including but not limited to a network television, a smart television, an Internet protocol television (IPTV), etc.
[0078] Figure 2 The hardware configuration block diagram of the display device 200 is provided in Figure 1 some embodiments of the present application.
[0079] In some embodiments, the display device 200 can include at least one of a tuner and demodulator 210, a communication device 220, a detector 230, a device interface 240, a controller 250, a display 260, an audio output device 270, a memory, a power supply, a user input interface.
[0080] In some embodiments, the detector 230 is configured to collect signals of an external environment or an external interaction. For example, the detector 230 includes a light receiver configured to collect an ambient light intensity, or the detector 230 includes an image collector such as a camera configured to collect an external environment scene, a user attribute, or a user interaction gesture, or the detector 230 includes a sound collector such as a microphone configured to receive an external sound.
[0081] In some embodiments, the display 260 includes a display functional component configured to present a picture, and a driving component configured to drive an image display. The display 260 is configured to receive an image signal output from the controller 250 for display. For example, the display 260 can be configured to display a video content, an image content, a component of a menu control interface, and a user control UI interface.
[0082] In some embodiments, the communication device 220 is a component configured to communicate with an external device or a server 400 according to various communication protocol types. The display device 200 can be provided with multiple communication devices 220 according to different supported communication manners. For example, when the display device 200 supports wireless network communication, the display device 200 can be provided with a communication device 220 including a WiFi function. When the display device 200 supports Bluetooth connection communication, the display device 200 needs to be provided with a communication device 220 including a Bluetooth function.
[0083] The communication device 220 can be configured to connect the display device 200 to the external device or the server 400 in a wireless or wired manner. The wired connection can be achieved by connecting the display device 200 to the external device through a data line, an interface, or the like. The wireless connection can be achieved by connecting the display device 200 to the external device through a wireless signal or a wireless network. The display device 200 can be directly connected to the external device, or can be indirectly connected to the external device through a gateway, a router, a connection device, or the like.
[0084] In some embodiments, the controller 250 can include at least one of a central processor, a video processor, an audio processor, a graphics processor, a power supply processor, a first interface to an n-th interface for input / output, and the controller 250 can control the operation of the display device and respond to the user's operation by controlling various software control programs stored in the memory. The controller 250 controls the overall operation of the display device 200.
[0085] In some embodiments, the controller 250 and the tuner demodulator 210 can be located in different devices, i.e., the tuner demodulator 210 can also be located in an external device of the main device where the controller 250 is located, such as an external set-top box, etc.
[0086] In some embodiments, the user can input user commands through a graphical user interface (GUI) displayed on the display 260, and the user input interface receives the user input commands through the graphical user interface (GUI).
[0087] In some embodiments, the audio output device 270 can be a native speaker of the display device 200, or can be an external audio output device of the display device 200. For the external audio output device of the display device 200, the display device 200 can also be provided with an external audio output terminal, and the audio output device can be connected to the display device 200 through the external audio output terminal to output the sound of the display device 200.
[0088] In some embodiments, the user input interface 280 can be used to receive instructions from user input. The user input interface 280 can include at least one of a microphone, a touchpad, a sensor, a remote control, etc. In turn, the display device 200 can execute interactive functions with the user based on the instructions received by the user input interface 280.
[0089] In order to perform user interaction, in some embodiments, the display device 200 can run an operating system. The operating system is a computer program for managing and controlling hardware resources and software resources in the display device 200. The operating system can control the display device to provide a user interface, for example, the operating system can directly control the display device to provide a user interface, or can provide a user interface by running an application program. The operating system also allows the user to interact with the display device 200.
[0090] It should be noted that the operating system can be a native operating system based on a specific operating platform, or a third-party operating system deeply customized based on a specific operating platform, or an independent operating system specially developed for the display device.
[0091] The operating system can be divided into different modules or levels according to the functions implemented, for example, as shown in FIG. 2, in some embodiments, the system is divided into four layers, from top to bottom, the application layer (referred to as "application layer" for short), the application framework layer (referred to as "framework layer" for short), the system library layer and the kernel layer. Figure 3
[0092] In some embodiments, the application layer provides services and interfaces for applications, enabling the display device 200 to run applications and interact with the user based on the applications. The application layer may contain at least one application, which may be a built-in Windows program, system settings program, or clock program of the operating system; or it may be an application developed by a third-party developer. In specific implementations, the application packages in the application layer are not limited to the examples above.
[0093] The framework layer provides application programming interfaces (APIs) and a programming framework for applications. The application framework layer includes predefined functions. It acts as a central processing unit, determining the actions taken by applications within the application layer. Through the API, applications can access system resources and obtain system services during execution.
[0094] like Figure 3 As shown, the application framework layer in this embodiment includes a view system, managers, and content providers. The view system designs and implements the application's interface and interactions, and includes lists, grids, text boxes, and buttons. The managers include at least one of the following modules: an activity manager for interacting with all running activities in the system; a location manager for providing system services or applications with access to system location services; a package manager for retrieving various information related to application packages currently installed on the device; a notification manager for controlling the display and clearing of notification messages; and a window manager for managing icons, windows, toolbars, wallpapers, and desktop widgets on the user interface.
[0095] In some embodiments, the Activity Manager manages the lifecycle of individual applications and common navigation and back functions, such as controlling application exit, opening, and back actions. The Window Manager manages all window programs, such as obtaining the screen size, determining if a status bar is present, locking the screen, capturing the screen, and controlling changes to the display window, such as shrinking the display window, shaking the display, or distorting the display.
[0096] In some embodiments, the system runtime library layer can provide support for the framework layer. When the framework layer is used, the operating system runs the instruction library contained in the system runtime library layer, such as the C / C++ instruction library, to implement the functions to be performed by the framework layer.
[0097] In some embodiments, the kernel layer is a functional layer situated between the hardware and software of the display device 200. The kernel layer can implement functions such as hardware abstraction, multitasking, and memory management. For example, ... Figure 3 As shown, hardware drivers can be configured in the kernel layer. The drivers included in the kernel layer can be at least one of the following: audio driver, display driver, Bluetooth driver, camera driver, WIFI driver, USB driver, HDMI driver, sensor driver (such as fingerprint sensor, temperature sensor, pressure sensor, etc.), and power driver, etc.
[0098] like Figure 4 As shown, the display device can control the player to play media asset data. The player can include a parsing module, a caching module, a video decoding module, an audio decoding module, an audio-video synchronization module, an audio rendering module, and a video rendering module. In this way, the player can execute corresponding functions through these modules to achieve the playback of media asset data.
[0099] Understandably, media asset data can include both audio and video data. Audio data can correspond to different language types, which may result in different playback progresses in different audio tracks. In contrast, the playback progress of video data is relatively stable. Therefore, the player uses the playback progress of the audio data as a benchmark to synchronize the progress of the audio and video data.
[0100] In some embodiments, a user can input a loop playback command to the display device 200 through the user input interface 280, so that the display device 200 can loop the media asset data. At this time, the display device 200 can obtain the playback progress of the audio data through the audio progress acquisition module (au diotrack), determine the playback progress of the media asset data based on the playback progress of the audio data, and then send it to the player, which will continue playing the media asset data according to the obtained playback progress of the media asset data.
[0101] In some embodiments, in order to enable the display device 200 to loop media data without restarting playback, loop playback of the media data can be achieved by cyclically reading the audio and video data. That is, during the process of cyclically reading the audio and video data, the display device 200 obtains and modifies the timestamp of the audio and video data to represent the playback progress of the audio and video data based on the timestamp, and sends it to the player so that the player can resume playback.
[0102] It can be understood that, in the process of the cycle, the display device 200 judges that the playing progress of the media data reaches the next cycle period, and updates the total progress data of the audio data to record the playing progress of the audio data, and is used to calculate the playing progress issued to the player. However, the data formats used in the audio acquisition module and the player may be different, and under the condition that the data range represented by the data format used in the player is greater than the data range represented by the data format used in the audio acquisition module, this will cause the playing progress data acquired by the audio acquisition module to exceed the data range, and further cause the player to issue incorrect progress data, resulting in phenomena such as freezing and audio-visual asynchronization of the player.
[0103] To solve the above problems, the present application provides a display device 200, which comprises a display 260 and a controller 250, and the display 260 can display media pictures. As shown in the figure, Figure 5 The controller 250 is configured to:
[0104] S100: In response to the received cycle playing instruction, the display plays the media data.
[0105] In some embodiments, the user can input a cycle playing instruction to the display device 200 through the user input interface 280, so that the display device 200 can play the media data specified by the user in a cycle manner according to the cycle playing instruction, or play the already played media data in a cycle manner on the basis of the already played media data.
[0106] It can be understood that the media data comprises audio data and video data, and the audio data can be audio data with different languages, different speeds or other different information corresponding to the video data, which can be placed in different audio tracks.
[0107] S200: Acquire the first playing progress of the first audio data.
[0108] In some embodiments, the controller 250 can periodically acquire the playing progress fed back by the player to judge whether the current playing progress enters the next cycle playing period based on the playing progress, and update the information related to the playing progress and issue it to the player to continue playing the media data.
[0109] As shown in the figure, Figure 6 The player can feed back the playing progress to the audio track located in the framework layer based on the HAL layer (Hardware Abstraction Layer). In this way, the audio track can process the data corresponding to the playing progress, and update the total playing progress, the current playing progress and the reference playing progress of the first audio data.
[0110] It should be noted that the data types adopted by the HAL layer and the framework layer are different, and the data type adopted by the HAL layer corresponds to a data representation range larger than that of the data type adopted by the framework layer. For example, the HAL layer can adopt the data type of int64 to represent data, and the framework layer can adopt the data type of int32 to represent data. This will cause the HAL layer to feed back data to the framework layer for representing the playing progress of the first audio data, and the data fed back exceeds the data representation range of the audio playing control module in the framework layer, and then the audio playing control module directly issues "0" when issuing the playing progress of the first audio data to the player, causing the player to be unable to synchronize the first audio data and the video data, and thus unable to normally play the media asset data.
[0111] S300: performing data conversion on the first data for representing the first playing progress to obtain second data.
[0112] In some embodiments, as shown in FIG. 2, the second data is used to represent the second playing progress, and the first data is used to represent the first playing progress. However, the first data and the second data can both correspond to the timestamp of the first audio data, and the first data and the second data are both used to represent the playing progress of the first audio data. Figure 7
[0113] It can be understood that the first data is the data fed back by the player to the controller 250, and the data format of the first data is int64 before conversion. The second data is the data obtained by the controller 250 after performing data conversion on the first data, and the data format of the second data is int32. In this way, the second data can be located within the preset data range of the audio playing control module through data conversion.
[0114] In some embodiments, when performing data conversion on the first data, the controller 250 is configured to:
[0115] performing a modulo operation on the first data based on the maximum value corresponding to the second data to obtain the second data.
[0116] determining the playing progress of the first audio data based on the second data.
[0117] In some embodiments, the controller 250, when obtaining the first data, also needs to perform a modulo operation on the first data, i.e., performing a modulo operation on the first data based on the maximum value that can be represented by the int32 data format. For example, the second data = the first data % 214783647, so that the second data will not exceed the maximum value range corresponding to the int32 data format, and can still correspond to the actual playback progress of the first audio data, which can ensure that the playback progress issued to the player is continuous with the playback progress uploaded by the player, so that the player can align the first audio data and the video data according to the playback progress issued by the audio playback module, and continue playing the media data.
[0118] It can be understood that the second playback progress information determined by the second data is the same as the first playback progress information determined by the first data, but the data formats corresponding to them are different. In some embodiments of the present application, the conversion of the data format is completed based on the modulo operation, so that the audio playback control module can update each key information about the playback progress of the first audio data according to the first data fed back by the player, and then under the condition that the data formats corresponding to the framework layer and the hardware abstraction layer are different, the player can still be normally fed back the playback progress of the first audio data, so that the player can continue playing the media data without limitation.
[0119] S400: Obtain the total playback progress of the first audio data.
[0120] In some embodiments, the total playback progress of the first audio data is stored in the audio playback control module, and the total playback progress is dynamically updated according to the first data of the first audio data fed back by the player, so that the audio playback control module can continuously provide the first audio data for the player, so that the player can decode these first audio data to complete the continuation of the media data.
[0121] As shown in Figure 7 by dynamically updating the total playback progress, the player can be prepared with data according to the updated total playback progress, so as to ensure that the player will not be interrupted in the process of loop playing, and thus adapt to the requirement of loop playing.
[0122] In some embodiments, the total playback progress corresponds to total progress data, and the controller 250 is configured to update the total progress data, specifically:
[0123] Obtain the maximum value that can be represented by the second data.
[0124] Calculate the first sum value of the total progress data corresponding value and the maximum value.
[0125] Update the total progress data based on the first sum value.
[0126] It can be understood that the data format corresponding to the second data is int32, that is, the maximum value that the second data can represent is 214783647. Each time the total progress data is updated, it is determined that the next cycle of playing has been entered, and therefore the maximum value that the second data can represent is added to the total progress data, so that when the playing progress corresponding to the first audio data is rewound, the continuous growth of the total progress data is maintained to ensure the synchronization of the first audio data and the video data.
[0127] In this way, the controller 250 updates the total progress data by calculating the first sum value of the value corresponding to the total progress data and the maximum value corresponding to the second data, that is, when it is determined that the media asset playing cycle enters the next cycle, the total progress data is updated. Moreover, the continuous growth of the total progress data can also ensure that at least one rewinding cycle of the first audio data is covered, thereby ensuring that the amount of data of the first audio data delivered to the player is sufficient, so that the player can play continuously without interruption.
[0128] S500: generating third data based on the second data and the total progress data used to represent the total playing progress; the third data has the same data representation range as the first data; the third data represents the same playing progress of the first audio data as the first data.
[0129] In some embodiments, the data format of the third data can be int64, and the third data is used to input the playing progress of the first audio data to the player, so that the player can synchronize the first audio data and the video data according to the third data and continue to play.
[0130] It should be noted that the third data and the first data represent the same playing progress of the first audio data, so that continuous first audio data can be delivered to the player to ensure seamless loop playing of the media asset data by the player.
[0131] In some embodiments, the data format used by the HAL layer associated with the player is int64, so that the player can receive third data in the int64 data format and continue to play according to the third data. The controller 250 can generate the third data according to the second data and the total progress data, and the controller 250 is configured to:
[0132] obtain the total progress data and the second data.
[0133] calculate the second sum value of the value corresponding to the total progress data and the value corresponding to the second data.
[0134] generate the third data based on the second sum value.
[0135] In some embodiments, the controller 250 generates the third data by calculating a second sum value of a value corresponding to the total progress data and a maximum value corresponding to the second data, and determines that the media data has entered the next cycle when the third data is generated. The third data is then sent to the player.
[0136] It should be noted that the third data can also be used to represent the total number of the first audio data played from the start of the media data to the current time. By adding the second data to the total progress data, the accurate position of the current first audio data can be determined. Even if the playback progress of the first audio data is rewound, the player can determine the playback progress of the first audio data based on the third data. Therefore, the player can determine the playback progress of the first audio data without being limited by the 32-bit data rewind, which is beneficial for the player to play the media data in a loop without limitation.
[0137] S600: The controller controls the display to continue playing the media data based on the third playback progress.
[0138] As shown in FIG. 6, after the controller 250 generates the third data, the controller 250 aligns the first audio data and the video data based on the third playback progress represented by the third data, and controls the display 260 to play the media data composed of the first audio data and the video data in a loop. Figure 7
[0139] It should be noted that in some embodiments of the present application, the player is used to play the media data in a loop on the display 260. In the above embodiments, the player only obtains the third data representing the playback progress. In the actual playing process, the media data is composed of the audio data and the video data, and the third data is only used to represent the playback progress of the first audio data. Therefore, the controller 250 or the player also needs to process the video data, that is, the controller 250 controls the display to continue playing the media data based on the third playback progress, which is specifically configured as:
[0140] correcting the playback progress of the video data based on the third playback progress represented by the third data, so that the playback progress of the first audio data and the video data is synchronized.
[0141] controlling the display to continue playing the video data after the progress is synchronized, and controlling the speaker to play the first audio data after the progress is synchronized.
[0142] In some embodiments, the player can synchronize the first audio data and the video data according to a third playback progress characterized by the third data. The third playback progress can correspond to a timestamp of the first audio data, so that the player can synchronize the first audio data and the video data through the correspondence between the timestamp in the first audio data and the timestamp in the video data. This can ensure the synchronization of sound and picture in the loop playing process, and can also enable the player to accurately feed back the playback progress of the first audio data in the subsequent feedback of the playback progress, thereby maintaining the loop playing scene.
[0143] It can be understood that after the first audio data and the video data contained in the media asset data are synchronized, the player can play the video data through the display. In addition, the first audio data can be played by the loudspeaker. The loop playing of the media asset data is then realized by the display 260, the player, the loudspeaker, and the controller 250.
[0144] As shown in FIG. 13, when the controller 250 obtains the first data fed back by the player to characterize the playback progress of the first audio data, the controller 250 can determine whether the current playing has entered the next loop playing period according to the first audio data playback progress characterized by the first data, and then update the total playback progress and other key information. Figure 8
[0145] The controller 250 is further configured to:
[0146] If the second data is less than the first update threshold, and the interpolation of the reference data and the second data is greater than the second update threshold, the total progress data is updated, and the second data is set as the reference data.
[0147] In some embodiments, the controller 250 can determine whether the current playback progress of the first audio has entered the next playing period compared with the last playing period by obtaining the first update threshold and the second update threshold. The first update threshold is equal to the reference data, and the reference data is the first data obtained by the controller 250 in the last playing period. By comparing the first data obtained in the current period with the first data obtained in the last playing period, it can be determined whether the current playback progress of the first audio data has entered the next playing period compared with the last playing period.
[0148] For example, if the playback progress represented by the first data received by the controller 250 within the current playback cycle is earlier than the playback progress represented by the reference data, it is highly likely that the current playback cycle is a subsequent playback cycle of the previous playback cycle. Furthermore, the second update threshold can be used to jointly determine whether the current playback cycle is a subsequent playback cycle of the previous playback cycle.
[0149] In some embodiments, the second update threshold is equal to half of the maximum value corresponding to the second data. When the controller retrieves the first and second update thresholds, it is specifically configured as follows:
[0150] Obtain the maximum value corresponding to the second data.
[0151] The second update threshold is determined based on half of the maximum value.
[0152] In this way, by using the second update threshold for auxiliary judgment, the incorrect judgment of the playback cycle period due to audio pauses or slowed audio playback speed can be avoided. Under the setting of the first update threshold and the second update threshold, when the playback progress of the first audio data exceeds half of the 32-bit cycle, and the playback progress of the currently received first audio data is before the playback progress of the first audio data represented by the reference data, the controller 250 determines that the playback of the first audio data has looped back, that is, the playback cycle corresponding to the currently playing first audio data is the subsequent playback cycle of the playback cycle represented by the reference data.
[0153] In this way, when the controller 250 receives the playback progress of the first audio data from the player, it can first determine whether the current playback cycle of the first audio data is the subsequent playback cycle of the previous playback cycle, and then update key information such as the total playback progress of the first audio data to ensure the accuracy of the playback progress sent to the player and maintain the loop playback.
[0154] like Figure 9 As shown, even during loop playback, the user can still send control commands to the display device 200 to cause the display device 200 to perform the function corresponding to the control command. That is, the controller is configured to execute playback media data and is also configured to:
[0155] In response to a received fast-forward or rewind command, determine the sudden change in playback progress corresponding to the fast-forward or rewind command.
[0156] The media asset data is resumed based on the changed playback progress, and the total playback progress is updated based on the changed playback progress.
[0157] In some embodiments, during media data playback, the user sends a fast-forward / rewind command to the display device 200 via the user input interface 280. Upon receiving the fast-forward / rewind command, the display device 200 can, through the controller 250, control the playback progress of the media data, adjusting the playback progress of the first audio and video data according to the playback position indicated by the fast-forward / rewind command. Here, the abrupt playback progress refers to the playback progress of the first audio data after fast-forwarding or rewinding.
[0158] Understandably, when the controller 250 performs fast forward or rewind operations, the overall progress information is updated according to the position reached during fast forward or rewind. This means the overall progress information will include the first audio data skipped during the fast forward or rewind phase, leading to inaccurate statistics on position information. Consequently, the playback progress information sent to the player based on the overall progress information will also be inaccurate, making it difficult for the player to continue playing media data from the correct starting point.
[0159] Therefore, the controller 250 can reset the overall playback progress in scenarios where fast forward or rewind occurs, in order to ensure that the playback progress information sent to the player is the same as the actual playback progress of the first audio data, so as to ensure that the player can play the media data normally in a loop.
[0160] like Figure 10 As shown, during loop playback, the user can also control the display device 200 to switch audio tracks, obtaining different viewing experiences based on the dubbing corresponding to different audio tracks. The controller 250 is also configured to:
[0161] In response to the received audio track switching command, the first audio data of the media asset data is switched to the second audio data.
[0162] The total playback progress is updated based on the total playback progress corresponding to the second audio data, and the video data in the second audio data and the media asset data are synchronized.
[0163] In some embodiments, a user can send an audio track switching command to the display device 200 through the user input interface 280. After receiving the audio track switching command, the display device 200 will switch to the audio track corresponding to the audio track switching command to play the second audio data in conjunction with the video data.
[0164] Understandably, after switching to a new audio track, the overall playback progress will continue to update. However, the overall playback progress is not the same as the overall playback progress corresponding to the new audio track. This results in the inability to accurately monitor the playback progress of the second audio data, and the player is also unable to obtain the playback progress of the second audio data. Therefore, the player cannot properly loop the media asset data.
[0165] Therefore, the controller 250 can reset the total play progress when switching the audio track, so that the total play progress corresponds to the data amount of the second audio data, and then track the play progress of the second audio data according to the reset total play progress, and make the player obtain the play progress of the second audio data. In this way, the player can synchronize the second audio data and the video data according to the obtained play progress of the second audio data, and normally loop play the media data in the scenario of audio track switching.
[0166] Some embodiments of the present application provide a video loop playing method, comprising:
[0167] In response to the received loop playing instruction, playing the media data; the media data comprises audio data.
[0168] Obtaining a first play progress of the audio data.
[0169] Performing data conversion on first data used to represent the first play progress to obtain second data; the second data is used to represent a second play progress; the data representation range of the first data is greater than the data representation range of the second data; the first data and the second data represent the same audio data play progress.
[0170] Obtaining a total play progress of the audio data.
[0171] Generating third data based on the second data and total progress data used to represent the total play progress; the third data has the same data representation range as the first data; the third data represents the same audio data play progress as the first data.
[0172] Continuing playing the media data based on the third play progress.
[0173] From the above technical content, the present application provides a display device and a video loop playing method. The display device performs data conversion on the first integer data used to represent the first play progress of the audio data to obtain the second integer data used to represent the second play progress of the audio data. The first play progress and the second play progress are the same, but the data identification range of the first integer data is greater than the second integer data. In this way, the second integer data used to represent the second play progress is not easy to exceed the maximum value through the data conversion process, thereby alleviating the problem of player lag caused by the second integer data used to represent the second play progress exceeding the maximum value.
[0174] The similar parts among the embodiments provided in the application can be referred to each other, the specific embodiments provided above are only several examples under the general concept of the application, and do not constitute the limitation of the protection scope of the application. Any other embodiments extended according to the application scheme without creative labor for those skilled in the art shall fall within the protection scope of the application.
Claims
1. A display device, characterized in that, include: monitor; The controller is configured as follows: In response to a received loop playback command, the display is controlled to play media data; the media data includes first audio data. Obtain the first playback progress of the first audio data; A data transformation is performed on the first data used to represent the first playback progress to obtain second data; the second data is used to represent the second playback progress; the data representation range of the first data is greater than the data representation range of the second data; the first data and the second data represent the same first audio data playback progress. Obtain the total playback progress of the first audio data; The third data is generated based on the second data and the total progress data used to characterize the total playback progress; the third data has the same data representation range as the first data; the third data has the same playback progress of the first audio data represented by the first data; The display is controlled to continue playing the media asset data based on the playback progress represented by the third data.
2. The display device according to claim 1, characterized in that, The controller performs a data transformation on the first data used to characterize the first playback progress to obtain second data, which is specifically configured as follows: The second data is obtained by performing a modulo operation on the first data based on the maximum value corresponding to the second data. The playback progress of the first audio data is determined based on the second data.
3. The display device according to claim 2, characterized in that, The controller performs a data transformation on the first data used to characterize the first playback progress to obtain second data, and is further configured to: Obtain a first update threshold and a second update threshold; the first update threshold is equal to the reference data; the reference data is used to characterize reference progress information; The reference progress information is used to characterize the playback progress of the previously acquired first audio data. If the second data is less than the first update threshold, and the interpolation between the reference data and the second data is greater than the second update threshold, then the total progress data is updated, and the second data is set as the reference data.
4. The display device according to claim 3, characterized in that, The controller is configured to acquire the first update threshold and the second update threshold as follows: Get the maximum value corresponding to the second data; The second update threshold is determined based on half of the maximum value.
5. The display device according to claim 3, characterized in that, The controller is configured to update the overall progress data as follows: Obtain the maximum value that the second data can represent; Calculate the first sum of the total progress data and the maximum value; The total progress data is updated based on the first sum.
6. The display device according to claim 1, characterized in that, The controller generates third data based on the second data and total progress data characterizing the total playback progress, specifically configured as follows: Obtain the total progress data and the second data; Calculate the second sum of the value corresponding to the total progress data and the value corresponding to the second data; The third data is generated based on the second sum.
7. The display device according to claim 1, characterized in that, The media asset data also includes video data; the controller controls the display to continue playing the media asset data based on the playback progress represented by the third data, and is specifically configured to: The playback progress of the video data is corrected based on the third playback progress represented by the third data, so that the playback progress of the first audio data and the video data are synchronized. The system controls the synchronized video data for the display playback progress and the synchronized first audio data for the speaker playback progress.
8. The display device according to claim 1, characterized in that, The controller executes the playback of media asset data and is also configured to: In response to a received fast-forward or rewind command, determine the sudden change in playback progress corresponding to the fast-forward or rewind command; The media asset data is resumed based on the changed playback progress, and the total playback progress is updated based on the changed playback progress.
9. The display device according to claim 1, characterized in that, The controller executes the playback of media asset data and is also configured to: In response to the received audio track switching command, the first audio data of the media asset data is switched to the second audio data; The total playback progress is updated based on the total playback progress corresponding to the second audio data, and the video data in the second audio data and the media asset data are synchronized.
10. A method for looping video playback, characterized in that, include: In response to a received loop playback command, media asset data is played; the media asset data includes audio data. Obtain the first playback progress of the audio data; A data transformation is performed on the first data used to represent the first playback progress to obtain the second data; the second data is used to represent the second playback progress; the data representation range of the first data is greater than the data representation range of the second data; the first data and the second data represent the same audio data playback progress; Obtain the total playback progress of the audio data; The third data is generated based on the second data and the total progress data used to characterize the total playback progress; the third data has the same data representation range as the first data; the third data has the same audio data playback progress characterized by the first data; The media asset data will continue playing based on the playback progress corresponding to the third data.
Citation Information
Patent Citations
Webpage video playing method and device
CN114051161A
Wireless signal strength indication
CN116437304A