Display device and media asset playing method

By recording and using the keyframe time points of media playback in the display device, the problem of media playback progress bar jumping is solved, and the playback is stable from the keyframe, which improves the user experience.

CN119854580APending Publication Date: 2025-04-18JUHAOKAN TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202411980833.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

During media playback, the playback progress recorded by the display device may not be exactly at the I frame, causing the playback progress bar to jump, affecting the user experience.

Method used

When the display device receives the exit playback instruction, it determines whether the current playback frame is a keyframe (I frame). If yes, the time point of the current frame is recorded as the historical playback time; if not, the keyframe in the GOP where the current frame is located or in the next GOP, and the time point is recorded. These historical playback times are used to start playback directly from the keyframe when the start command is received, avoiding searching for keyframes forward or backward.

Benefits of technology

By starting playback directly from the keyframe, the display device can ensure that the first frame of the media outlets is an I-frame, thereby avoiding the jump of the playback progress bar and improving the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119854580A_ABST
    Figure CN119854580A_ABST
Patent Text Reader

Abstract

The invention provides a display device and a media asset playing method, and the method comprises the steps: responding to a received quit instruction for quitting the playing of a target media asset in the playing process of the target media asset, and judging whether a current playing frame is a key frame or not; when the current playing frame is the key frame, recording a time point corresponding to the current playing frame as historical playing time corresponding to the exit instruction; when the current playing frame is not the key frame, the key frame in the GOP where the current playing frame is located or the key frame in the next GOP is searched, the time point corresponding to the searched key frame is recorded as the historical playing time of the corresponding exit instruction, and the historical playing time is used for playing the target media resource when the playing instruction of starting to play the target media resource is received. And playing the target media asset based on the historical playing time. When the user plays the media asset again, the method can enable the display device to directly start playing from the recorded key frame position, and does not need to search the nearest key frame forwards again, so that the jumping problem of the playing progress bar is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of display devices, and in particular to a display device and a method for playing media assets. Background Art

[0002] Display devices can play various media such as audio, video, and images. Taking video as an example, in the process of transmission and playback, in order to adapt to different network conditions and device performance, the video needs to be compressed to optimize transmission efficiency and storage space. After compression, the video can form different types of frames, such as I frames, P frames, and B frames. Among them, I frames, i.e. key frames, are complete pictures that can be decoded independently without relying on other frames; P frames, i.e. forward prediction frames, need to refer to the previous I frames or P frames to decode, and are used to indicate changes since the previous frame; B frames, i.e. bidirectional prediction frames, need to refer to the previous and next frames to decode, that is, they need to refer to the previous and next frames to decode the data normally. By compressing the video into a frame format, the storage space of the video data can be effectively reduced and the efficiency of video data transmission can be improved.

[0003] During the playback of media, when recording the user's viewing position, the display device can record the playback progress of the media at the last moment of playback, that is, record according to the user's actual playback position. For example, when the user exits the viewing of the media, the TV will record the position corresponding to the viewing progress at the time of actual exit, or the user often fast-forwards, rewinds, or directly jumps to a specific time point when watching a video, and the TV will also record the actual position reached. Alternatively, for the media that has been played in the display device, the playback progress of the media at the last moment of playback can be recorded. In response to the replay instruction for the media, the display device can obtain the playback progress and continue to play the media from the playback progress.

[0004] Since the display device records the actual position corresponding to the current playback progress of the media asset, the next time it is played, this position will be used as the actual start position. These actual start positions are often not exactly at the I frame, and video playback needs to start decoding from the most recent I frame (because only the I frame does not rely on other frames), that is, the player needs to search for the most recent I frame from the current position as the real start point, which may cause the playback progress bar to jump, that is, the playback position will jump to the most recent I frame position. Especially when the I frame interval is long, the user will obviously feel the sudden change of the playback position, affecting the user experience. Summary of the invention

[0005] Some embodiments of the present application provide a display device and a media playback method to solve the problem of progress bar jumping during media playback.

[0006] In a first aspect, some embodiments of the present application provide a display device, including:

[0007] a display configured to display a user interface;

[0008] The controller is configured as:

[0009] During the playback of the target media asset, in response to receiving an exit instruction to exit the playback of the target media asset, determining whether the current playback frame is a key frame;

[0010] In the case where the current playing frame is a key frame, recording the time point corresponding to the current playing frame as the historical playing time corresponding to the exit instruction;

[0011] When the currently played frame is not a key frame, search for a key frame in the GOP where the currently played frame is located or a key frame in the next GOP, and record the time point corresponding to the found key frame as the historical play time corresponding to the exit instruction, wherein the historical play time is used to play the target media asset based on the historical play time when a play instruction to start playing the target media asset is received.

[0012] The above technical solution has the following advantages or beneficial effects: the display device can ensure that the first frame of the media asset is an I frame, that is, a key frame, and the start action is performed from the key frame without having to look forward for the previous key frame, or look backward for the next key frame (that is, the key frame in the next GOP). Regardless of whether the display device records the key frame in the GOP where the current playback frame is located, or the key frame in the next GOP, the player plays at the key frame, so the progress bar will not jump, thereby solving the problem of the playback progress bar jumping.

[0013] In some embodiments, the controller determines whether the currently played frame is a key frame, and is specifically configured as follows:

[0014] Obtain the current playing frame;

[0015] Identifying whether the currently played frame includes an identifier for representing a key frame;

[0016] When the currently played frame includes the identifier, determining that the currently played frame is a key frame;

[0017] When the currently played frame does not include the identifier, it is determined that the currently played frame is not a key frame.

[0018] The above technical solution has the following advantages or beneficial effects: by determining whether the currently played frame is a key frame, the display device can distinguish which frames can be used independently (ie, key frames), thereby providing a basis for subsequent recording of key frame positions.

[0019] In some embodiments, after recording the historical playback time, the controller is further configured to:

[0020] Receiving the play instruction for starting to play the target media asset;

[0021] Read the historical playback time, and request the GOP corresponding to the historical playback time;

[0022] Decoding key frames and non-key frames in the GOP corresponding to the historical playback time;

[0023] The player displays the playback time axis according to the historical playback time, and starts playing the target media asset from the key frame corresponding to the historical playback time.

[0024] The above technical solution has the following advantages or beneficial effects: even if the previous non-key frame is lost or damaged, as long as the key frame is intact, the target media asset can still continue to play. More importantly, since the historical playback time corresponds to the key frame, the display device does not need to perform the step of searching for the key frame, which can improve the start speed on the one hand, and avoid the problem of progress bar jumping on the other hand.

[0025] In some embodiments, after receiving the play instruction for starting to play the target media asset, the controller is further configured to:

[0026] Obtaining historical playback information of the target media asset;

[0027] If the target media asset has not been played, playing the target media asset from the beginning of the target media asset;

[0028] If the target media asset has been played, the step of reading the historical play time is performed.

[0029] The above technical solution has the following advantages or beneficial effects: for target media assets that have not been played, the display device can play the target media assets from the beginning for users to watch, ensuring that users can fully experience the video content; for target media assets that have been played, the display device can avoid unnecessary data transmission and decoding processes, which can not only improve the playback efficiency of the target media assets, but also avoid the progress bar jumping.

[0030] In some embodiments, the controller obtains the historical playback information of the target media asset, and is specifically configured as follows:

[0031] Detecting the historical playback records of the target media asset based on the preset database;

[0032] If the database contains a historical playback record of the target media asset, determining that the target media asset has been played in the display device, and executing the step of reading the historical playback information of the target media asset;

[0033] If there is no historical playback record of the target media asset in the database, it is determined that the target media asset has not been played in the display device, and the step of playing the target media asset from the title position of the target media asset is performed.

[0034] The above technical solution has the following advantages or beneficial effects: by recording the playback history of each media asset, the display device can track the user's viewing habits and improve the user experience. Moreover, when a target media asset has been played before, the display device will read the historical playback information of the target media asset, which records the time point corresponding to the key frame. Therefore, when the target media asset is played again, it can be played directly from the key frame to avoid the problem of the progress bar jumping.

[0035] In some embodiments, the controller searches for a key frame in the GOP where the currently played frame is located or a key frame in the next GOP, and is specifically configured as follows:

[0036] Extracting frame information in the GOP where the currently played frame is located, or frame information in the next GOP; the frame information at least includes frame type information and timestamp information corresponding to the frame;

[0037] A key frame in the GOP where the currently played frame is located or a key frame in the next GOP is determined according to the frame type information and the timestamp information.

[0038] The above technical solution has the following advantages or beneficial effects: by determining the key frame in the GOP where the current playback frame is located or the key frame in the next GOP, a data basis can be provided for recording historical playback time and media resource continuation.

[0039] In some embodiments, before the step of recording the time point corresponding to the found key frame as the historical playback time corresponding to the exit instruction, the controller is further configured to:

[0040] When the currently played frame is not the key frame, playing the target media asset to the key frame in the next GOP;

[0041] In response to playing to a key frame in a next GOP, an exit operation is initiated; and a step of recording a time point corresponding to the key frame in the next GOP as a historical playback time corresponding to the exit instruction is performed.

[0042] The above technical solution has the following advantages or beneficial effects: on the one hand, decoding errors or playback interruptions caused by non-key frames can be avoided; on the other hand, recording the corresponding time point at the key frame can provide a positioning basis for the start of continued playback, without the need to execute the key frame search process, thereby preventing the progress bar from jumping.

[0043] In some embodiments, before the step of determining whether the currently played frame is a key frame, the controller is further configured to:

[0044] Set preset time intervals;

[0045] The time points corresponding to the key frames are stored in a preset database according to the preset time interval to generate the historical playback records of the target media assets; the database stores the historical playback records of all the media assets played by the display device.

[0046] The above technical solution has the following advantages or beneficial effects: through the historical playback records of the target media asset, the display device can analyze the playback status of the target media asset and provide a basis for resuming playback.

[0047] In some embodiments, after the step of playing the target media asset based on the historical play time, the controller is further configured to:

[0048] Constructing a playback page corresponding to the target media asset according to the key frame;

[0049] Controlling the display to display the play page;

[0050] Controlling the display to display the progress reminder information of the target media asset on the play page, wherein the progress reminder information is used to remind the user whether to change the play progress of the target media asset;

[0051] In response to a user's confirmation instruction for the progress reminder information, obtaining a target playback time point corresponding to a target playback start position;

[0052] The display is controlled to play the target media asset according to the target play time point.

[0053] The above technical solution has the following advantages or beneficial effects: the user can control the playback progress of the media by interacting with the display device, thereby improving the convenience of the user in viewing the media.

[0054] In a second aspect, some embodiments of the present application provide a method for playing media assets, which can be applied to the display device of the first aspect, the display device including a display and a controller, and the method including:

[0055] During the playback of the target media asset, in response to receiving an exit instruction to exit the playback of the target media asset, determining whether the current playback frame is a key frame;

[0056] In the case where the current playing frame is a key frame, recording the time point corresponding to the current playing frame as the historical playing time corresponding to the exit instruction;

[0057] When the currently played frame is not a key frame, search for a key frame in the GOP where the currently played frame is located or a key frame in the next GOP, and record the time point corresponding to the found key frame as the historical play time corresponding to the exit instruction, wherein the historical play time is used to play the target media asset based on the historical play time when a play instruction to start playing the target media asset is received.

[0058] The above technical solution has the following advantages or beneficial effects: the display device can ensure that the first frame of the media asset is an I frame, that is, a key frame, and the start action is performed from the key frame without having to look forward for the previous key frame, or look backward for the next key frame (that is, the key frame in the next GOP). Regardless of whether the display device records the key frame in the GOP where the current playback frame is located, or the key frame in the next GOP, the player plays at the key frame, so the progress bar will not jump, thereby solving the problem of the playback progress bar jumping.

[0059] As can be seen from the above technical solutions, some embodiments of the present application provide a display device and a media playback method, the method comprising: during the target media playback process, in response to receiving an exit instruction to exit the playback of the target media, the display device 200 determines whether the current playback frame is a key frame; if the current playback frame is a key frame, the time point corresponding to the current playback frame is recorded as the historical playback time corresponding to the exit instruction; if the current playback frame is not a key frame, the key frame in the GOP where the current playback frame is located or the key frame in the next GOP is searched, and the time point corresponding to the key frame found is recorded as the historical playback time corresponding to the exit instruction, wherein the historical playback time is used to play the target media based on the historical playback time when receiving a playback instruction to start the target media. When the user plays the media again, the method can enable the display device to start playing directly from the recorded key frame position without the need to search forward again for the nearest key frame, thereby avoiding the problem of the playback progress bar jumping. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] In order to more clearly illustrate some embodiments of the present application or technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0061] Figure 1 A schematic diagram of an operation scenario between a display device and a control device provided in some embodiments of the present application;

[0062] Figure 2 A schematic diagram of the hardware configuration of a display device provided in some embodiments of the present application;

[0063] Figure 3 A schematic diagram of software configuration of a display device provided in some embodiments of the present application;

[0064] Figure 4 A schematic diagram of a media asset details page provided in some embodiments of the present application;

[0065] Figure 5 A schematic flow chart of a method for playing media assets executed by a display device provided in some embodiments of the present application;

[0066] Figure 6 A schematic diagram of the composition effect of GOP shown in some embodiments of the present application;

[0067] Figure 7 A schematic diagram of a usage scenario of a P frame provided in some embodiments of the present application;

[0068] Figure 8 A schematic diagram of a usage scenario of a B frame provided in some embodiments of the present application;

[0069] Fig. 9 A timing diagram of a method for playing media resources executed by a display device provided in some embodiments of the present application;

[0070] Fig.10 A schematic diagram of a timing sequence for a display device to start playing a target media asset again according to some embodiments of the present application;

[0071] Fig.11 A schematic diagram of a display device presenting historical playback information of a media asset provided by some embodiments of the present application;

[0072] Fig.12 Another schematic diagram of a display device presenting historical playback information of a media asset provided by some embodiments of the present application;

[0073] Fig.13 A schematic diagram of the effect of a display device playing media from a key frame provided in some embodiments of the present application. DETAILED DESCRIPTION

[0074] The following embodiments are described in detail, and examples thereof are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following embodiments do not represent all implementations consistent with the present application. They are only examples of systems and methods consistent with some aspects of the present application as detailed in the claims.

[0075] It should be noted that the brief description of terms in this application is only for the convenience of understanding the embodiments described below, and is not intended to limit the embodiments of this application. Unless otherwise specified, these terms should be understood according to their common and usual meanings.

[0076] The terms "first", "second", "third", etc. in the specification and claims of this application and the above drawings are used to distinguish similar or similar objects or entities, and do not necessarily mean to limit a specific order or sequence, unless otherwise noted. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances.

[0077] The terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover but not exclude inclusion, for example, a product or device comprising a list of components is not necessarily limited to all the components expressly listed but may include other components not expressly listed or inherent to such product or device.

[0078] The term "module" refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and / or software code that is capable of performing the functions associated with that element.

[0079] In the embodiment of the present application, the display device 200 generally refers to a device with image display and data processing capabilities. For example, the display device 200 includes but is not limited to a smart TV, a mobile terminal, a computer, a monitor, an advertising screen, a wearable device, a virtual reality device, an augmented reality device, etc.

[0080] Figure 1 This is a schematic diagram of an operation scenario between a display device and a control device provided in some embodiments of the present application. Figure 1 As shown in FIG. 1 , a user can operate the display device 200 through touch operation, the mobile terminal 300 and the control device 100. The control device 100 is used to receive operation instructions input by the user and convert the operation instructions into control instructions that can be recognized and responded to by the display device 200. For example, the control device 100 can be a remote controller, a stylus pen, a handle, etc.

[0081] The mobile terminal 300 can be used as a control device for performing human-computer interaction between the user and the display device 200. The mobile terminal 300 can also be used as a communication device for establishing a communication connection with the display device 200 and performing data interaction. In some embodiments, the mobile terminal 300 can install software applications with the display device 200, and achieve connection and communication through a network communication protocol to achieve the purpose of one-to-one control operation and data communication. The audio and video content displayed on the mobile terminal 300 can also be transmitted to the display device 200 to achieve a synchronous display function.

[0082] In some embodiments, the mobile terminal 300 or other electronic devices may also simulate the functions of the control device 100 by running an application program for controlling the display device 200 .

[0083] like Figure 1 As also shown in FIG. 4 , the display device 200 also communicates data with the server 400 through various communication methods. The display device 200 may be allowed to communicate and connect through a local area network (LAN), a wireless local area network (WLAN), and other networks.

[0084] The display device 200 may provide a broadcast receiving television function, and may also additionally provide an intelligent network television function with a computer support function, including but not limited to network television, smart television, Internet Protocol television (IPTV), and the like.

[0085] Figure 2 Some embodiments of the present application provide Figure 1 2 is a block diagram of the hardware configuration of the display device 200.

[0086] In some embodiments, the display device 200 may include at least one of a tuner 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, and a user input interface.

[0087] In some embodiments, the detector 230 is used to collect signals of the external environment or external interaction. For example, the detector 230 includes a light receiver, a sensor for collecting the intensity of ambient light; or, the detector 230 includes an image collector, such as a camera, which can be used to collect external environment scenes, user attributes or user interaction gestures; or, the detector 230 includes a sound collector, such as a microphone, etc., for receiving external sounds.

[0088] In some embodiments, the display 260 includes a display function component for presenting a picture, and a driving component for driving an image display. The display 260 is used to receive an image signal output from the controller 250 for display. For example, the display 260 can be used to display video content, image content, and components of a menu control interface and a user control UI interface.

[0089] In some embodiments, the communication device 220 is a component for communicating with an external device or server 400 according to various communication protocol types. The display device 200 may be provided with a plurality of communication devices 220 according to different supported communication modes. For example, when the display device 200 supports wireless network communication, the display device 200 may 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.

[0090] The communication device 220 can enable the display device 200 to communicate with the external device or server 400 by wireless or wired connection. Among them, the wired connection can connect the display device 200 with the external device through components such as data cables and interfaces. The wireless connection can connect the display device 200 with the external device through wireless signals or wireless networks. The display device 200 can establish a connection relationship with the external device directly, or indirectly establish a connection relationship through a gateway, a router, a connection device, etc.

[0091] In some embodiments, the controller 250 may include at least one of a central processing unit, a video processor, an audio processor, a graphics processor, and a power processor, and a first interface to an nth interface for input / output. The controller 250 controls the operation of the display device and responds to the user's operation through various software control programs stored in the memory. The controller 250 controls the overall operation of the display device 200.

[0092] In some embodiments, the controller 250 and the tuner-demodulator 210 may be located in different separate devices, that is, the tuner-demodulator 210 may also be located in an external device of the main device where the controller 250 is located, such as an external set-top box.

[0093] In some embodiments, the user may input a user command through a graphical user interface (GUI) displayed on the display 260 , and the user input interface receives the user input command through the graphical user interface (GUI).

[0094] In some embodiments, the audio output device 270 may be a local speaker of the display device 200, or may be an external audio output device of the display device 200. In particular, for the external audio output device of the display device 200, the display device 200 may also be provided with an external audio output terminal, and the audio output device may be connected to the display device 200 through the external audio output terminal to output the sound of the display device 200.

[0095] In some embodiments, the user input interface 280 may be used to receive instructions from a user.

[0096] In order to perform user interaction, in some embodiments, the display device 200 may 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.

[0097] It should be noted that the operating system may 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.

[0098] The operating system can be divided into different modules or layers according to the functions implemented, for example Figure 3 As shown, in some embodiments, the system is divided into four layers, from top to bottom, namely, the application layer (Applications) layer (referred to as "application layer"), the application framework layer (Application Framework) layer (referred to as "framework layer"), the system library layer and the kernel layer.

[0099] In some embodiments, the application layer is used to provide services and interfaces for applications so that the display device 200 can run applications and interact with users based on the applications. At least one application can be run in the application layer, and these applications can be window programs, system settings programs, clock programs, etc. that come with the operating system; they can also be applications developed by third-party developers. In specific implementations, the application packages in the application layer are not limited to the above examples.

[0100] The framework layer provides application programming interfaces (APIs) and programming frameworks for applications. The application framework layer includes some predefined functions. The application framework layer is equivalent to a processing center that determines the actions that applications in the application layer take. Through the API interface, applications can access system resources and obtain system services during execution.

[0101] like Figure 3 As shown, in the embodiment of the present application, the application framework layer includes a view system, managers, content providers, etc., wherein the view system can design and implement the interface and interaction of the application, and the view system includes lists, grids, text boxes, buttons, etc. The manager includes at least one of the following modules: an activity manager for interacting with all activities running 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 the application package 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.

[0102] In some embodiments, the activity manager is used to manage the life cycle of each application and the usual navigation back function, such as controlling the exit, opening, and back of the application. The window manager is used to manage all window programs, such as obtaining the display screen size, determining whether there is a status bar, locking the screen, capturing the screen, and controlling the display window changes, for example, reducing the display window, shaking the display, distorting the display, etc.

[0103] In some embodiments, the system runtime layer can provide support for the framework layer. When the framework layer is used, the operating system will run the instruction library contained in the system runtime layer, such as the C / C++ instruction library, to implement the functions to be implemented by the framework layer.

[0104] In some embodiments, the kernel layer is a functional layer between the hardware and software of the display device 200. The kernel layer can implement functions such as hardware abstraction, multitasking, and memory management. Figure 3As shown, the kernel layer may be configured with hardware drivers, and the drivers included in the kernel layer may be at least one of the following drivers: 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.

[0105] It should be noted that the above example is only a simple division of the operating system functions and does not constitute a limitation on the specific operating system form of the display device 200 in the embodiment of the present application. Depending on factors such as the function of the display device and the type of operating system, the number of levels and specific level types contained in the operating system may be expressed in other forms.

[0106] The above embodiment shows a hardware / software architecture and functional implementation of a display device 200. Based on the above display device 200, various media assets such as audio, video, and images can be played. In some embodiments, the user can select a certain media asset to watch. When the user selects a certain target media asset, the controller 250 can control the display 260 to display the media asset details page of the target media asset. Figure 4 A schematic diagram of a media asset details page provided in some embodiments of the present application, such as Figure 4 As shown, the media asset details page may include a video preview window for displaying the video screen of the target media asset; a media asset introduction, including the media asset type and cast information, etc.; a playlist, i.e., the selected episode information of the target media asset, for displaying the total number of episodes of the media asset and the currently playing selected episode; and a play control, i.e., Figure 4 The relevant recommendation area is used to display other media assets. The user can touch the play control to control the display 260 to display the target media asset in full screen.

[0107] In the process of transmission and playback, media assets need to be compressed to adapt to different network conditions and device performance to optimize transmission efficiency and storage space. Taking video as an example, video compression can reduce the amount of data, allowing the video to be played smoothly under limited bandwidth while maintaining high image quality.

[0108] In some embodiments, after the video is compressed, it can form different types of frames, for example, I frames, P frames, and B frames. Among them, I frames, i.e. key frames, are complete pictures that can be decoded independently without relying on other frames; P frames, i.e. forward prediction frames, need to refer to the previous I frame or P frame to decode, and are used to indicate changes that have occurred since the previous frame; B frames, i.e. bidirectional prediction frames, need to refer to the previous and next frames to decode, that is, they need to refer to the previous and next frame data to decode the data normally. By compressing the video into a frame format, the storage space of the video data can be effectively reduced and the efficiency of video data transmission can be improved.

[0109] Although the encoding method of I frames, P frames and B frames can improve the compression efficiency of videos, users may encounter poor playback experience during the actual playback of media. For example, during the playback of media, when recording the user's viewing position, the display device can record the playback progress of the media at the last moment of playback, that is, record according to the user's actual playback position (such as recording once every 1 second). For example, when the user exits the viewing of the media, the TV end will record the position corresponding to the viewing progress at the time of actual exit, or the user often fast forwards, rewinds or directly jumps to a specific time point when watching the video, and the TV end will also record the actual arrival position, or, for the media that has been played in the display device, the playback progress of the media at the last moment of playback can be recorded. In response to the resume broadcast instruction for the media, the display device 200 can obtain the playback progress and continue to play the media from the playback progress.

[0110] Since the display device 200 records the actual position corresponding to the current playback progress of the media asset, the position will be used as the actual starting position when playing next time. These actual starting positions are often not exactly located at the I frame, and the video playback needs to be decoded from the latest I frame (because only the I frame does not need to rely on other frames), that is, the player needs to search for the nearest I frame from the current position as the real starting point for playback, which may cause the playback progress bar to jump, that is, the playback position will jump to the nearest I frame position. Especially when the I frame interval is long, the user will obviously feel the sudden change of the playback position, affecting the user experience.

[0111] Based on the above scenario, in order to solve the problem of progress bar jumping during media asset playback, some embodiments of the present application provide a display device 200, wherein the display device 200 includes a display 260 and a controller 250. The display 260 is configured to display a user interface, and the controller 250 enables the display device 200 to execute a media asset playback method by running an application.

[0112] In order to facilitate the understanding of the technical solutions in some embodiments of the present application, each step is described in detail below in conjunction with some specific embodiments and drawings. Figure 5 A flow chart of a method for playing media assets executed by a display device provided in some embodiments of the present application, such as Figure 5 As shown, in some embodiments, when the display device 200 executes the method for playing media assets, the following steps may be included:

[0113] Step S1: during the target media asset playback process, in response to receiving an exit instruction to exit the playback of the target media asset, the display device 200 determines whether the current playback frame is a key frame.

[0114] To facilitate understanding of the media asset playback process, the decoding of the media asset (such as video decoding) and I frames, P frames, and B frames are further described in detail below.

[0115] In some embodiments, the video uses the principle of human visual persistence to give the human eye a sense of motion by playing a series of pictures. Simply transmitting video images requires a very large amount of video, which is unacceptable for existing networks and storage. Since the video contains a large amount of repeated information, in order to facilitate the transmission and storage of the video, the repeated information can be removed at the sending end and restored at the receiving end, which greatly reduces the file size of the video data. The standard for executing this process is the H.264 video compression standard.

[0116] In the H.264 video compression standard, the original image data in the video will be compressed using the H.264 encoding format, and the audio sampling data will be compressed using the AAC encoding format. After the video content is encoded and compressed, it is convenient for storage and transmission. However, when watching and playing, the decoding process is also required accordingly.

[0117] Take video image encoding and decoding as an example. In a video encoding sequence, the encoder encodes multiple images to generate image groups GOP (Group of Pictures) one by one. GOP is a group of continuous pictures, consisting of an I frame and several B / P frames. Therefore, there is only one key frame I frame in a GOP. After the video is encoded, the decoder can read the GOP one by one, decode it, read the picture, and then render and display it. Among them, I frame is an internal coding frame (also called key frame), P frame is a forward prediction frame (forward reference frame), and B frame is a bidirectional interpolation frame (bidirectional reference frame). In other words, I frame is a complete picture, while P frame and B frame record the changes relative to I frame. Without I frame, P frame and B frame cannot be decoded.

[0118] In the H.264 compression standard, I frames, P frames, and B frames are used to represent transmitted video images. Figure 6 This is a schematic diagram of the composition effect of GOP shown in some embodiments of the present application, such as Figure 6 As shown in the figure, GOP consists of an I frame and several B / P frames. GOP refers to the distance between two I frames and is the basic unit for video image encoders and decoders to access. Among them, I frame is an independent frame with all information. It can be decoded independently without referring to other images. It is equivalent to a static picture. The first frame in a video sequence is always an I frame.

[0119] Figure 7 A schematic diagram of a usage scenario of a P frame provided in some embodiments of the present application, such as Figure 7As shown, the P frame needs to refer to the previous I frame to be decoded, which represents the difference of the previous frame (the previous frame may be an I frame or a P frame). When decoding the P frame, the difference defined by the current frame needs to be superimposed with the previously cached picture to generate the final picture. In some embodiments, the I frame is an independent and complete picture, and the P frame is a difference picture. Therefore, the I frame and the P frame can be referenced unidirectionally or bidirectionally, and this application does not limit this.

[0120] Figure 8 A schematic diagram of a usage scenario of a B frame provided in some embodiments of the present application, such as Figure 8 As shown, the B frame records the difference between the current frame and the previous and next frames. That is to say, to decode the B frame, not only the previous cached picture must be obtained, but also the next picture must be decoded, and the final picture is obtained by superimposing the previous and next pictures with the current frame data. Similarly, when referencing each frame, it can be a unidirectional reference or a bidirectional reference, and this application does not make specific restrictions on this.

[0121] It can be seen from this that when playing media resources, the player needs to play from the I frame at the beginning of the film, or search forward from the actual position recorded last time to the nearest I frame as the real starting point for playback, that is, the playback position will jump to the nearest I frame position, which will cause the playback progress bar to jump.

[0122] Based on the above scenario, when the display device 200 provided in the embodiment of the present application receives an exit instruction for exiting the target media asset, it can determine whether the current playback frame is a key frame. When the current key frame is a key frame, a record is made at the position of the key frame, such as recording the time point corresponding to the current playback frame as the historical playback time corresponding to the exit instruction; when the current playback frame is not a key frame, the key frame in the GOP where the current playback frame is located or the key frame in the next GOP is searched, and the time point corresponding to the key frame found is recorded as the historical playback time corresponding to the exit instruction. In this way, it can be ensured that the first frame of the media asset is an I frame, and the start action is performed from the key frame, without the need to look forward for the previous key frame, or look backward for the next key frame (i.e., the key frame in the next GOP). On the one hand, the start speed of the media asset playback can be improved, and on the other hand, it can be ensured that after the user starts playing, the playback progress bar does not change (regardless of whether the key frame in the GOP where the current playback frame is located or the key frame in the next GOP is recorded, since both are played at the key frame, the progress bar will not jump), that is, the problem of the playback progress bar jumping is solved.

[0123] Fig. 9 A timing diagram of a method for playing media assets executed by a display device provided in some embodiments of the present application, such as Fig. 9As shown, in some embodiments, in order to realize the function of media asset playback, a media asset service component, a media asset playback framework, and a user data recording module may be provided in the display device 200. The media asset service component may be used to carry various types of media assets such as movies, children's media, etc., the media asset playback framework is used to play the media assets selected by the user in the media asset service component, and the user data recording module may be used to record the playback progress of the media assets.

[0124] In some embodiments, when playing media assets, users can select the movies they want to watch by clicking on the recommended content on the user interface corresponding to the media assets. After the movie selection is completed, the media asset service component (such as the component used to carry film, television, children, education and other media assets) will trigger the media asset playback framework to start playing the movie. After trying to play the movie, the media asset playback framework will feedback the playback status (such as whether it is successfully loaded, whether it has started playing, etc.) to the media asset service component that called it. After that, the media asset service component will draw the playback page according to the playback status returned by the media asset playback framework and execute the start of the media asset. For example, if the media asset playback framework reports that the playback is successful, the service component will execute the start-up processing flow to ensure that the movie resources are correctly loaded and played.

[0125] In some embodiments, during the playback of the target media asset, in response to receiving an exit instruction to exit the playback of the target media asset, the display device 200 determines whether the currently played frame is a key frame (previously in this application, the actual playback position was recorded in response to the exit instruction, and the actual position was not the key frame position). For example, during the viewing of the media asset, when the user decides to interrupt the currently playing target media asset, such as when an exit instruction is sent through a remote control, a touch screen, or other input device, the display device 200 will capture and respond to the exit instruction. At this time, the display device 200 will not stop playing immediately, but will first perform a judgment process, and can use the built-in video processing module or related algorithms to analyze the encoding characteristics of the currently played frame to determine whether it is a key frame (I frame). By determining whether the current frame is a key frame, the display device 200 can provide a data basis for subsequent rapid resumption of playback or precise positioning.

[0126] In some embodiments, when determining whether the currently played frame is a key frame, the display device 200 can first obtain the currently played frame and identify whether the currently played frame contains an identifier for representing the key frame; when the currently played frame contains the identifier, it is determined that the currently played frame is a key frame; when the currently played frame does not contain the identifier, it is determined that the currently played frame is not a key frame.

[0127] Exemplarily, first, the display device 200 can access the currently played frame in the video stream (containing multiple video frames) being played. The video frame can contain some metadata or specific identifiers to characterize the type of the frame. For example, in some video coding standards (such as H.264), a key frame will contain a specific flag in its header information to indicate its identity. If the currently played frame contains the above identifier, it can be determined that the currently played frame is a key frame. On the contrary, if the currently played frame does not contain the above identifier, it can be determined that the currently played frame is not a key frame. By determining whether the currently played frame is a key frame, the display device 200 can distinguish which frames can be used independently (i.e., key frames), thereby providing a basis for subsequent recording of key frame positions. After step S1 is executed, the following step S2 can be executed.

[0128] Step S2: when the current playing frame is a key frame, the display device 200 records the time point corresponding to the current playing frame as the historical playing time corresponding to the exit instruction.

[0129] Continue to combine Fig. 9 In some embodiments, the media asset service component can determine whether the current playback frame is a key frame, and if the current playback frame is a key frame, the time point corresponding to the current playback frame can be recorded as the historical playback time of the corresponding exit instruction, wherein the historical playback time is used to play the target media asset based on the historical playback time when a playback instruction to start playing the target media asset is received.

[0130] For example, after determining that the current playback frame is a key frame, the display device 200 can record the time point corresponding to this frame, and this time point can be used as a mark of the user's viewing history. By recording the time point corresponding to the current playback frame, when the user requests to play the media asset again, it can directly jump to the key frame corresponding to the historical playback time without re-executing the process of finding the key frame, thereby improving the user's viewing experience. After step S2 is executed, the following step S3 can be executed.

[0131] Step S3: When the current playing frame is not a key frame, the display device 200 searches for a key frame in the GOP where the current playing frame is located or a key frame in the next GOP, and records the time point corresponding to the found key frame as the historical playing time corresponding to the exit instruction.

[0132] In some embodiments, when the current playback frame is not a key frame, the display device 200 will start a search mechanism to search for key frames in the image group GOP where the current playback frame is located or key frames in the next GOP, such as by parsing the GOP structure in the video stream, finding the nearest key frame before or after the current frame, and recording the time point corresponding to the key frame found as the historical playback time of the corresponding exit instruction. In this way, even if the media asset is not on a key frame when it exits, the display device 200 can locate the key frame near the current playback frame, so that when the target media asset is continued to be played, it can be started from the key frame in the GOP where the current playback frame is located or the key frame in the next GOP, without re-executing the process of finding key frames, that is, the time for re-addressing can be reduced, which can not only improve the start speed, but also solve the problem of progress bar jumping during media asset playback.

[0133] In some embodiments, when searching for a key frame within the GOP where the currently played frame is located or a key frame within the next GOP, the display device 200 can first extract the frame information within the GOP where the currently played frame is located or the frame information within the next GOP, wherein the frame information includes at least frame type information and timestamp information corresponding to the frame, and determine the key frame within the GOP where the currently played frame is located or the key frame within the next GOP based on the frame type information and timestamp information.

[0134] Exemplarily, when extracting frame information, the display device 200 can use tools such as FFmpeg and OpenCV, among which FFmpeg can provide command line tools and APIs for extracting video frames and analyzing timestamps, and OpenCV can provide image and video processing libraries for reading and processing frames. Frame types can include I frames, P frames, and B frames, and timestamp information can provide display and decoding time of frames. By analyzing frame type information and timestamp information, the display device 200 can determine the key frame in the GOP where the current playback frame is located or the key frame in the next GOP, which can provide a data basis for recording historical playback time and media asset continuation.

[0135] In some embodiments, the difference between searching for key frames within a GOP and searching for key frames within the next GOP is as follows: searching for key frames within the GOP where the currently playing frame is located, that is, searching for the nearest key frame within the current image group, so that the key frame can be quickly located in a smaller range, which is suitable for the situation where the current frame is not far from the key frame. If there is no closer key frame in the GOP where the currently playing frame is located, or in order to avoid excessive searching in the current GOP, the display device 200 can choose to search for key frames in the next GOP. In this scenario, although the search time may be slightly increased, it can ensure that a key frame can be found to continue playing, which is suitable for the situation where the current frame is far from the key frame or the key frames are scarce in the current GOP. In actual usage scenarios, the method of searching for key frames can be selected according to actual needs, and this application does not make specific limitations on this.

[0136] In some embodiments, when the currently played frame is not a key frame, the display device 200 can play the target media to the key frame in the next GOP, initiate an exit operation in response to playing to the key frame in the next GOP, and execute the step of recording the time point corresponding to the key frame in the next GOP as the historical playback time corresponding to the exit instruction.

[0137] Exemplarily, when the current playing frame is not a key frame, in response to the exit instruction, the display device 200 will not stop playing immediately, but will continue to play the target media asset until the key frame in the next GOP is played. The display device 200 will exit when the key frame is reached, and record the time point corresponding to the key frame. In this way, on the one hand, decoding errors or playback interruptions caused by non-key frames can be avoided. On the other hand, recording the corresponding time point at the key frame can provide a positioning basis for the start of the continued playback, without executing the key frame search process, and preventing the progress bar from jumping.

[0138] It should be noted that the embodiment of the present application can ensure that the first frame of the media asset playback is a key frame (I frame) by searching for the key frame in the GOP where the current playback frame is located or the key frame in the next GOP, and the start action is performed from the key frame without having to look forward for the previous key frame or backward for the next key frame. This can not only improve the start speed of the media asset playback, but also ensure that the playback progress bar does not change after the user starts playback, thereby solving the problem of the playback progress bar jumping.

[0139] In some embodiments, before determining whether the currently played frame is a key frame, the display device 200 can set a preset time interval, and store the time point corresponding to the key frame in a preset database according to the preset time interval to generate a historical playback record of the target media asset, wherein the database stores the historical playback records of all media assets played by the display device 200.

[0140] Exemplarily, a database may be pre-set in the display device 200, and the database is used to store the historical playback records of all media assets played in the display device. In some usage scenarios, when a user uses the display device 200 to watch media assets, if the user no longer controls the display device 200 to play the media asset for some reason, for example, the user controls the display device 200 to switch to play other media assets or implement other functions, or the user directly controls the display device 200 to shut down, etc., the display device 200 may stop playing the media asset, and at the same time obtain the historical playback records of the media asset and store them in the preset database for subsequent use of these data.

[0141] In the process of storing the historical playback records, the display device 200 can set a preset time interval, for example, it can store the time point corresponding to the key frame in the preset database every 10 minutes to generate the historical playback record of the target media being played. In this way, through the historical playback record of the target media, the display device 200 can analyze the playback status of the target media and provide a basis for resuming playback. For example, when an abnormal power outage occurs, when playing the target media again, the display device 200 can search for the key frame corresponding to the exit recorded in the historical playback record, and continue to play the target media according to the time point corresponding to the key frame.

[0142] In some embodiments, after recording the historical playback time, the display device 200 can receive a playback instruction for starting to play the target media asset, read the historical playback time, and request the GOP corresponding to the historical playback time. Thereafter, the key frames and non-key frames in the GOP corresponding to the historical playback time can be decoded, and the player can then display the playback timeline according to the historical playback time, and start playing the target media asset from the key frames corresponding to the historical playback time.

[0143] Exemplarily, after receiving the play instruction to start playing the target media asset, the display device 200 can obtain the historical play time of the target media asset. For example, the historical play time of the target media asset can be read from the database. According to the read historical play time, the display device 200 can request the corresponding GOP, such as requesting the server 400. After receiving the GOP fed back by the server 400, the display device 200 can perform the decoding process. Since the key frame contains complete image information, the display device 200 can decode the key frame first, and since the non-key frame (P frame and B frame) contains the difference information with the previous frame, the display device 200 can decode the non-key frame later. While decoding, the display device 200 can update the play time axis of the player according to the historical play time, so that the user can intuitively see the content that has been watched and the remaining unwatched content. Finally, the display device 200 starts playing the target media asset from the key frame corresponding to the historical play time, that is, plays the target media asset again. In this way, even if the previous non-key frame is lost or damaged, as long as the key frame is intact, the target media asset can still continue to play. More importantly, since the historical playback time corresponds to the key frame, the display device 200 does not need to perform the step of searching for the key frame, which can improve the start speed on the one hand and avoid the problem of progress bar jumping on the other hand.

[0144] Fig.10 A timing diagram of a display device replaying a target media asset provided in some embodiments of the present application, such as Fig.10 As shown, in some embodiments, for the restart scenario, the user can select the target media asset to be continued by clicking the recommended content on the user interface corresponding to the media asset. After the target media asset to be continued is selected, the media asset service component can first check the user data recording module to determine whether the user has watched the target media asset before and whether there is an unfinished playback progress record. If the user has watched the target media asset before, the user data recording module will return the playback progress information of the last viewing to the media asset service component. After the media asset service component obtains the playback progress information of the target media asset, the media asset service component will pass the progress information to the media asset playback framework and request the media asset playback framework to continue playing the target media asset from the time point corresponding to the playback progress information (such as the historical playback time corresponding to the key frame). Afterwards, the media asset playback framework can feedback the playback status of the target media asset (such as whether it is successfully loaded, whether it starts playing, etc.) to the media asset service component, and the media asset service component can draw a playback page and present the playback page to the user.

[0145] In some embodiments, after receiving a playback instruction for starting to play the target media asset, the display device 200 can also obtain the historical playback information of the target media asset. If the target media asset has not been played, the target media asset is played from the beginning position of the target media asset; if the target media asset has been played, the step of reading the historical playback time is executed.

[0146] Exemplarily, after receiving the play instruction of the target media asset, the display device 200 can obtain the historical play information of the target media asset. For example, the historical play information of the target media asset can be detected based on a preset database (the specific process will be described in detail later), that is, whether the historical play information corresponding to the target media asset exists in the database. For target media assets that have not been played, the display device 200 cannot obtain the historical play information of the target media asset, and the target media asset cannot be played at this time. Then, the display device 200 can play the target media asset normally. For example, the playback can be started from the beginning of the target media asset. Based on this, the display device 200 can obtain the media data of the target media asset and decode the media data to obtain video data and audio data, and control the display 260 to display the video data of the target media and control the audio device to play the audio data of the target media, thereby realizing the playback of the target media asset from the beginning for the user to watch, ensuring that the user can fully experience the video content. For the target media asset that has been played, the display device 200 can read the historical playback time corresponding to the exit of the target media asset to determine the historical playback progress of the target media asset played by the display device 200 last time, and continue to play the target media asset from the time point corresponding to the historical playback time. In this way, for the target media asset that has been played, unnecessary data transmission and decoding processes can be avoided by reading the historical playback information and directly jumping to the historical playback time corresponding to the corresponding position, which can not only improve the playback efficiency of the target media asset, but also avoid the progress bar jumping (the historical playback time is the time point corresponding to the key frame).

[0147] In some embodiments, the display device 200 can obtain the historical playback information of the target media asset in the following manner. Specifically, the display device 200 can detect the historical playback record of the target media asset based on a preset database. If the historical playback record of the target media asset exists in the database, it is determined that the target media asset has been played in the display device, and the step of reading the historical playback information of the target media asset is executed; if the historical playback record of the target media asset does not exist in the database, it is determined that the target media asset has not been played in the display device 200, and the step of playing the target media from the header position of the target media asset is executed.

[0148] For example, Fig.11 A schematic diagram of a display device presenting historical playback information of a media asset provided in some embodiments of the present application, such as Fig.11As shown, in some embodiments, after the display device 200 plays a media asset, a media asset image of the media asset can be obtained. For example, the media image can be a poster image corresponding to the media asset. The display device 200 can generate a media asset playback history control based on the media image, and count all or a recent period of media assets played to form a media asset playback history interface. When the user instructs the display device 200 to display the media asset playback history, the display device 200 can control the display 260 to display the media asset playback history. Fig.11 It is understandable that the media asset playback history interface includes playback history controls of media assets played by the display device 200. When a user clicks a control based on the interface, in response to the user's selection instruction, it is considered that the user inputs an instruction to the display device 200 to play a certain media asset.

[0149] In some embodiments, the display device 200 may also count the play progress, selection information (such as the episode number in a TV series), and media images of the target media asset, and generate a play history control corresponding to the target media asset based on this information. Fig.12 Another schematic diagram of a display device presenting historical playback information of a media asset provided by some embodiments of the present application, such as Fig.12 As shown, the media asset playback history control includes the media asset playback progress information, collection information, and media asset image information, etc. Similarly, when the user clicks a control based on the interface, in response to the user's selection instruction, it is considered that the user inputs an instruction to the display device 200 to play a certain media asset.

[0150] That is, in the embodiment of the present application, in order to determine whether the display device 200 has ever played the target media asset, the display device 200 first checks whether there is a historical playback record of the target media asset in the preset database. If there is a historical playback record of the target media asset in the database, the display device 200 will determine that the target media asset has been played. For this scenario, the display device 200 can perform the step of reading the historical playback information of the target media asset so that the user can view or review the previous playback situation. If there is no historical playback record of the target media asset in the database, the display device 200 will determine that the target media asset has not been played. For this scenario, the display device 200 will start playing from the beginning of the target media asset, that is, play the entire media asset from the beginning. In this way, the display device 200 can determine whether the target media asset has been played before by obtaining the historical playback information of the target media asset, and execute different playback processes according to different playback results. For example, if the user has watched a part of the content before, the display device 200 can provide an option to continue playing, instead of forcing the user to watch it again from the beginning. If the user has not watched the media asset before, it can be played from the beginning. The display device 200 can track the user's viewing habits and improve the user experience by recording the playback history of each media asset. Moreover, when a target media asset has been played before, the display device 200 will read the historical playback information of the target media asset. The historical information records the time point corresponding to the key frame. Therefore, when the target media asset is continued to be played, it can be played directly from the key frame to avoid the problem of the progress bar jumping.

[0151] In some embodiments, after the display device 200 plays the target media asset based on the historical playback time, it can also construct a playback page corresponding to the target media asset according to the key frames, and control the display to display the playback page, and can control the display to display the progress reminder information of the target media asset on the playback page. The progress reminder information is used to remind the user whether to change the playback progress of the target media asset, and in response to the user's confirmation instruction of the progress reminder information, obtain the target playback time point corresponding to the target start position, and then control the display to play the target media asset according to the target playback time point.

[0152] Exemplarily, the display device 200 can construct a preview or play page through key frames to present the media asset content to be played to the user. After the play page is constructed, the display device 200 can control the display 260 to display the play page, so that the user can see the preview of the media content to be played or directly watch the media asset content. During the playback process, the display device 200 can display progress reminder information on the display 260, such as a playback progress bar, a remaining time, or a prompt of the current playback position, etc., to help the user understand the playback status of the media asset and decide whether to perform an operation, such as fast forward, fast rewind, or pause. If the user responds to the progress reminder information, for example, the user clicks on a certain position on the progress bar, the display device 200 will detect this action as a determination instruction, and based on the user's determination instruction, the display device 200 calculates the specific position where the user wants to start playing, that is, the target start position. Finally, the display device 200 can adjust the playback progress of the media asset according to the target playback time point corresponding to the target start position, so as to start playing from the position specified by the user. In this way, the user can control the playback progress of the media asset by interacting with the display device 200, thereby improving the convenience of the user in viewing the media asset.

[0153] Fig.13 A schematic diagram of the effect of a display device playing media from a key frame provided in some embodiments of the present application, such as Fig.13 As shown, in some embodiments, when the display device 200 continues to play the target media asset, the time point corresponding to the key frame, that is, the historical playback time, is 20:23:30, that is, the position corresponding to the key frame has been played for 20 minutes, 23 seconds and 30 seconds, and this time point is the time point corresponding to the position where the user stopped watching last time, which is used to ensure that the media asset playback can start from the correct position to avoid the progress bar jumping. During the playback process, the player will control the display mode of the progress bar, and only display the playback in the form of xx minutes and xx seconds (such as 20:23), but not the millisecond level. In this way, on the one hand, the interface can be simplified, the progress bar can be avoided from being too complicated and confusing, and it is convenient for users to watch; on the other hand, because different display devices and players may have different time display standards, the unified use of the playback to xx minutes and xx seconds format can ensure consistency on different devices.

[0154] As can be seen from the above technical solution, the above embodiment provides a display device 200. During the target media asset playback process, in response to receiving an exit instruction to exit the playback of the target media asset, the display device 200 determines whether the current playback frame is a key frame; if the current playback frame is a key frame, the time point corresponding to the current playback frame is recorded as the historical playback time corresponding to the exit instruction; if the current playback frame is not a key frame, the key frame in the GOP where the current playback frame is located or the key frame in the next GOP is searched, and the time point corresponding to the key frame found is recorded as the historical playback time corresponding to the exit instruction, wherein the historical playback time is used to play the target media asset based on the historical playback time when receiving a playback instruction to start the playback of the target media asset. When the user plays the media asset again, the display device 200 can start playing directly from the recorded key frame position without having to search forward again for the nearest I frame, thereby avoiding the problem of the playback progress bar jumping.

[0155] Based on the above display device 200, some embodiments of the present application further provide a method for playing media assets, which can be applied to the display device 200 in the above embodiment. In some embodiments, the method may include the following contents:

[0156] During the playback of the target media asset, in response to receiving an exit instruction to exit the playback of the target media asset, determining whether the current playback frame is a key frame;

[0157] In the case where the current playing frame is a key frame, recording the time point corresponding to the current playing frame as the historical playing time corresponding to the exit instruction;

[0158] When the currently played frame is not a key frame, search for a key frame in the GOP where the currently played frame is located or a key frame in the next GOP, and record the time point corresponding to the found key frame as the historical play time corresponding to the exit instruction, wherein the historical play time is used to play the target media asset based on the historical play time when a play instruction to start playing the target media asset is received.

[0159] It can be seen from the above technical solution that the above embodiment provides a method for playing media resources. When the user plays the media resource again, the method can enable the display device 200 to start playing directly from the recorded key frame position without having to search forward for the nearest key frame, thereby avoiding the problem of the playback progress bar jumping.

[0160] The same and similar parts between the various embodiments in this specification can be referenced to each other and will not be described again here.

[0161] Those skilled in the art can clearly understand that the technology in the embodiments of the present invention can be implemented by means of software plus a necessary general hardware platform. Based on this understanding, the technical solution in the embodiments of the present invention is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which can be stored in a storage medium such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods of various embodiments of the present invention or certain parts of the embodiments.

[0162] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. 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 replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

[0163] For the convenience of explanation, the above description has been made in conjunction with specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or limit the embodiments to the specific forms disclosed above. Based on the above teachings, various modifications and variations can be obtained. The selection and description of the above embodiments are to better explain the principles and practical applications, so that those skilled in the art can better use the embodiments and various different variations of the embodiments suitable for specific use considerations.

Claims

1. A display device, characterized in that: include: a display configured to display a user interface; The controller is configured as: During the playback of the target media asset, in response to receiving an exit instruction to exit the playback of the target media asset, determining whether the current playback frame is a key frame; In the case where the current playing frame is a key frame, recording the time point corresponding to the current playing frame as the historical playing time corresponding to the exit instruction; When the currently played frame is not a key frame, search for a key frame in the GOP where the currently played frame is located or a key frame in the next GOP, and record the time point corresponding to the found key frame as the historical play time corresponding to the exit instruction, wherein the historical play time is used to play the target media asset based on the historical play time when a play instruction to start playing the target media asset is received.

2. The display device according to claim 1, characterized in that The controller determines whether the current playing frame is a key frame, and is specifically configured as follows: Obtain the current playing frame; Identifying whether the currently played frame includes an identifier for representing a key frame; When the currently played frame includes the identifier, determining that the currently played frame is a key frame; When the currently played frame does not include the identifier, it is determined that the currently played frame is not a key frame.

3. The display device according to claim 1, characterized in that After recording the historical playback time, the controller is further configured to: Receiving the play instruction for starting to play the target media asset; Read the historical playback time, and request the GOP corresponding to the historical playback time; Decoding key frames and non-key frames in the GOP corresponding to the historical playback time; The player displays the playback time axis according to the historical playback time, and starts playing the target media asset from the key frame corresponding to the historical playback time.

4. The display device according to claim 3, characterized in that After receiving the playing instruction for starting to play the target media asset, the controller is further configured to: Obtaining historical playback information of the target media asset; If the target media asset has not been played, playing the target media asset from the beginning of the target media asset; If the target media asset has been played, the step of reading the historical play time is performed.

5. The display device according to claim 4, characterized in that The controller obtains the historical playback information of the target media asset, and is specifically configured as follows: Detecting historical playback records of the target media asset based on a preset database; If the database contains a historical playback record of the target media asset, determining that the target media asset has been played in the display device, and executing the step of reading the historical playback information of the target media asset; If there is no historical playback record of the target media asset in the database, it is determined that the target media asset has not been played in the display device, and the step of playing the target media asset from the title position of the target media asset is performed.

6. The display device according to claim 1, characterized in that The controller searches for a key frame in the GOP where the currently played frame is located or a key frame in the next GOP, and is specifically configured as follows: Extracting frame information in the GOP where the currently played frame is located, or frame information in the next GOP; the frame information at least includes frame type information and timestamp information corresponding to the frame; A key frame in the GOP where the currently played frame is located or a key frame in the next GOP is determined according to the frame type information and the timestamp information.

7. The display device according to claim 1, characterized in that Before the step of recording the time point corresponding to the found key frame as the historical playback time corresponding to the exit instruction, the controller is further configured to: When the currently played frame is not the key frame, playing the target media asset to the key frame in the next GOP; In response to playing to a key frame in the next GOP, initiating an exit operation; And execute the step of recording the time point corresponding to the key frame in the next GOP as the historical playback time corresponding to the exit instruction.

8. The display device according to claim 1, characterized in that Before the step of determining whether the currently played frame is a key frame, the controller is further configured to: Set preset time intervals; The time points corresponding to the key frames are stored in a preset database according to the preset time interval to generate the historical playback records of the target media assets; the database stores the historical playback records of all the media assets played by the display device.

9. The display device according to claim 1, characterized in that: After the step of playing the target media asset based on the historical play time, the controller is further configured to: Constructing a playback page corresponding to the target media asset according to the key frame; Controlling the display to display the play page; Controlling the display to display the progress reminder information of the target media asset on the play page, wherein the progress reminder information is used to remind the user whether to change the play progress of the target media asset; In response to a user's confirmation instruction for the progress reminder information, obtaining a target playback time point corresponding to a target playback start position; Control the display to play the target media asset according to the target play time point.

10. A method for playing media resources, characterized in that: The method comprises: During the playback of the target media asset, in response to receiving an exit instruction to exit the playback of the target media asset, determining whether the current playback frame is a key frame; In the case where the current playing frame is a key frame, recording the time point corresponding to the current playing frame as the historical playing time corresponding to the exit instruction; When the currently played frame is not a key frame, search for a key frame in the GOP where the currently played frame is located or a key frame in the next GOP, and record the time point corresponding to the found key frame as the historical play time corresponding to the exit instruction, wherein the historical play time is used to play the target media asset based on the historical play time when a play instruction to start playing the target media asset is received.

Citation Information

Patent Citations

  • Method and system for performing break-point continuous playing of media file through mobile terminal

    CN102104623A

  • Method and device for continuing to play video

    CN105163167A

  • Video definition switching method and device thereof

    CN109168078A

  • Quick broadcast starting method and device

    CN109951717A

  • Display device and media asset playing method

    CN117294898A