Display device and video switching method

CN118828080BActive Publication Date: 2026-08-21JUHAOKAN TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311661358.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-06
Publication Date
2026-08-21
Estimated Expiration
2043-12-06

AI Technical Summary

Technical Problem

即使增加额外的时序控制,也无法完全保证信号源和普通视频播放的互斥

Benefits of technology

[0035] Some embodiments of this application provide a display device and a video switching method. When playing a first video, a user-input command to play a second video is received, and the first player stops playing the first video, thereby releasing decoder resources. The first video is a video obtained from a URL or stored locally, and the second video is a video obtained through a signal source. After the first player releases decoder resources, a second player corresponding to the second video is created, and the second player plays the second video. The second player is a signal source player. This application embodiment encapsulates the functionality of the signal source within the signal source player. The signal source player and a regular player are mutually exclusive, ensuring that network video and signal source video playback are mutually exclusive, thus avoiding problems such as black screens caused by simultaneous operation of the signal source and decoder.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118828080B_ABST
    Figure CN118828080B_ABST
Patent Text Reader

Abstract

Some embodiments of the present application show a display device and a video switching method, the method comprising: when playing a first video, in response to a user input playing a second video instruction, stopping the first player from playing the first video, so that the first player releases decoder resources, the first video being a video obtained based on a website or locally stored, and the second video being a video obtained through a signal source; creating a second player corresponding to the second video, so that the second player plays the second video, the second player being a signal source player. The embodiments of the present application encapsulate the function of the signal source into the signal source player, and the signal source player and the ordinary player itself have mutual exclusion relationship, which ensures that the network video and the signal source video are played in mutual exclusion, thereby avoiding the problem of black screen caused by the simultaneous work of the signal source and the decoder.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of display device technology, and in particular to a display device and a video switching method. Background Technology

[0002] Television refers to a device that uses electronic technology to transmit moving images and audio signals, based on the persistence of vision and visual psychology. It is an important tool for broadcasting and video communication. With the development of television-related technologies, television can provide broadcast programs (video signal source) as well as online video playback.

[0003] Switching between source video and online video requires additional complex application management processes to ensure mutual exclusion between source playback and online video playback. However, since the switching of the video application, the source service, and the player all operate asynchronously, and the source video is controlled at the application layer while the online video player is controlled at the multimedia framework layer—they are not at the same level—even with additional timing controls, complete mutual exclusion between source and regular video playback cannot be guaranteed. If the source service and decoder are working simultaneously, the TV has a high probability of experiencing black or blue screen issues, sometimes requiring a power outage and restart to recover. Summary of the Invention

[0004] Some embodiments of this application provide a display device and a video switching method. By encapsulating the function of the signal source inside the signal source player, the signal source player and the ordinary player are mutually exclusive, ensuring that the playback of network video and signal source video is mutually exclusive, thereby avoiding problems such as black screen caused by the simultaneous operation of the signal source and decoder.

[0005] In a first aspect, some embodiments of this application provide a display device, including:

[0006] monitor;

[0007] The controller is configured as follows:

[0008] When playing the first video, in response to the user's input command to play the second video, the first player stops playing the first video so that the first player releases decoder resources. The first video is a video obtained based on a URL or stored locally, and the second video is a video obtained through a signal source.

[0009] Create a second player corresponding to the second video, so that the second player can play the second video; the second player is a signal source player.

[0010] In some embodiments, the controller includes an application layer and a multimedia framework, and the controller is further configured to perform playback of the first video.

[0011] The application layer is controlled to respond to a user-input command to play a first video and send the command to the multimedia framework.

[0012] After determining that the video address in the first video playback instruction is in a first format, the control multimedia framework creates a first player so that the first player plays the first video based on the video address, and the video address being in the first format indicates that the first player is enabled to play the video.

[0013] In some embodiments, the controller's action to stop the first player from playing the first video is further configured to:

[0014] After determining that the decoder resources of the first player have not been released, the control multimedia framework calls the release interface of the first player.

[0015] In some embodiments, the controller is further configured to create a second player corresponding to the second video.

[0016] After determining that the video address in the second video playback instruction is in the second format, the control multimedia framework creates a second player and records the target signal source. The second format video address indicates that the second player is enabled to play the video. The target signal source is obtained by parsing the second video playback instruction.

[0017] After receiving the start-up instruction sent by the application layer, the control multimedia framework calls the start-up interface of the second player to make the second player send a switch target signal source instruction to the signal source service. The switch target signal source instruction is used to instruct the signal source service to occupy signal source resources and switch to the target signal source.

[0018] In some embodiments, the controller is configured to:

[0019] The control layer responds to the user's input command to stop playing the second video and sends the command to stop playing the second video to the multimedia framework;

[0020] After receiving the instruction to stop playing the second video, the control multimedia framework calls the stop playback interface of the second player, so that the second player sends a switch empty signal source instruction to the signal source service. The switch empty signal source instruction is used to instruct the signal source service to release signal source resources.

[0021] In some embodiments, when playing the second video, the controller is configured to:

[0022] In response to a user-input command to play a third video, the second player stops playing the second video, thereby releasing the signal source resources of the second player. The third video is a video obtained based on a URL.

[0023] Create a first player corresponding to the third video, so that the first player plays the third video.

[0024] In some embodiments, the controller includes an application layer and a multimedia framework, and the controller is further configured to stop the second player.

[0025] After determining that the signal source resources of the second player have not been released, the control multimedia framework calls the release interface of the second player to make the second player send a switch to an empty signal source instruction to the signal source service. The switch to an empty signal source instruction is used to instruct the signal source service to release the signal source resources.

[0026] In some embodiments, the controller performing the creation of a first player corresponding to the third video is further configured to:

[0027] After determining that the video address in the third video playback instruction is in the first format, the control multimedia framework creates a first player, wherein the video address being in the first format indicates that the first player is enabled to play the video.

[0028] After receiving the start-up command sent by the application layer, the multimedia framework calls the start-up interface of the first player.

[0029] In some embodiments, the controller is configured to:

[0030] The control layer responds to the user's input command to stop playing the third video and sends the command to stop playing the third video to the multimedia framework;

[0031] After receiving the instruction to stop playing the third video, the control multimedia framework calls the stop playback interface of the first player to release the decoder resources of the first player.

[0032] Secondly, some embodiments of this application provide a video switching method, including:

[0033] When playing the first video, in response to the user's input command to play the second video, the first player stops playing the first video so that the first player releases decoder resources. The first video is a video obtained based on a URL or stored locally, and the second video is a video obtained through a signal source.

[0034] Create a second player corresponding to the second video, so that the second player can play the second video; the second player is a signal source player.

[0035] Some embodiments of this application provide a display device and a video switching method. When playing a first video, a user-input command to play a second video is received, and the first player stops playing the first video, thereby releasing decoder resources. The first video is a video obtained from a URL or stored locally, and the second video is a video obtained through a signal source. After the first player releases decoder resources, a second player corresponding to the second video is created, and the second player plays the second video. The second player is a signal source player. This application embodiment encapsulates the functionality of the signal source within the signal source player. The signal source player and a regular player are mutually exclusive, ensuring that network video and signal source video playback are mutually exclusive, thus avoiding problems such as black screens caused by simultaneous operation of the signal source and decoder. Attached Figure Description

[0036] Figure 1 An operational scenario between a display device and a control device according to some embodiments is illustrated;

[0037] Figure 2 A hardware configuration block diagram of a control device according to some embodiments is shown;

[0038] Figure 3 A hardware configuration block diagram of a display device according to some embodiments is shown;

[0039] Figure 4 A software configuration diagram in a display device according to some embodiments is shown;

[0040] Figure 5 A software architecture diagram is shown according to some embodiments;

[0041] Figure 6 A flowchart of a video switching method provided according to some embodiments is shown;

[0042] Figure 7 Another software architecture diagram is shown according to some embodiments;

[0043] Figure 8 A timing diagram of a video switching method provided according to some embodiments is shown;

[0044] Figure 9 A flowchart of another video switching method provided according to some embodiments is shown;

[0045] Figure 10A timing diagram of another video switching method provided according to some embodiments is shown. Detailed Implementation

[0046] To make the objectives and implementation methods of this application clearer, the exemplary implementation methods of this application will be clearly and completely described below with reference to the accompanying drawings of the exemplary embodiments of this application. Obviously, the exemplary embodiments described are only some embodiments of this application, and not all embodiments.

[0047] It should be noted that the brief descriptions of terms in this application are only for the convenience of understanding the embodiments described below, and are not intended to limit the embodiments of this application. Unless otherwise stated, these terms should be understood in their ordinary and common meaning.

[0048] The terms "first" and "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar or related objects or entities, and do not necessarily imply a specific order or sequence, unless otherwise specified. It should be understood that such terms are interchangeable where appropriate.

[0049] The term “comprising” and any variations thereof are intended to cover but not exclude inclusion, for example, a product or device that includes a range of components is not necessarily limited to all of the components that are clearly listed, but may include other components that are not clearly listed or that are inherent to such product or device.

[0050] The display device provided in this application can have various implementation forms, such as a television, a smart television, a laser projection device, a monitor, an electronic bulletin board, an electronic table, etc. Figure 1 and Figure 2 This is one specific embodiment of the display device of this application.

[0051] Figure 1 This is a schematic diagram illustrating the operational scenario between the display device and the control unit according to the embodiment. Figure 1 As shown, the user can operate the display device 200 through the smart device 300 or the control device 100.

[0052] In some embodiments, the control device 100 may be a remote control. Communication between the remote control and the display device includes infrared protocol communication, Bluetooth protocol communication, and other short-range communication methods, controlling the display device 200 wirelessly or via wired means. Users can control the display device 200 by inputting user commands through buttons on the remote control, voice input, control panel input, etc.

[0053] In some embodiments, a smart device 300 (such as a mobile terminal, tablet computer, computer, laptop computer, etc.) may also be used to control the display device 200. For example, an application running on the smart device may be used to control the display device 200.

[0054] In some embodiments, the display device may receive instructions not through the aforementioned smart devices or control devices, but through touch or gestures.

[0055] In some embodiments, the display device 200 can also be controlled in ways other than the control device 100 and the smart device 300. For example, it can be controlled by directly receiving the user's voice commands through a module configured inside the display device 200 for acquiring voice commands, or it can be controlled by receiving the user's voice commands through a voice control device set outside the display device 200.

[0056] In some embodiments, the display device 200 also communicates with the server 400. The display device 200 may communicate via a local area network (LAN), wireless local area network (WLAN), and other networks. The server 400 may provide various content and interactive features to the display device 200. The server 400 may be a cluster or multiple clusters, and may include one or more types of servers.

[0057] Figure 2 An exemplary block diagram of the configuration of the control device 100 according to an exemplary embodiment is shown. Figure 2 As shown, the control device 100 includes a controller 110, a communication interface 130, a user input / output interface 140, a memory, and a power supply. The control device 100 can receive user input operation commands and convert the operation commands into commands that the display device 200 can recognize and respond to, thus acting as an intermediary for interaction between the user and the display device 200.

[0058] like Figure 3 The display device 200 includes at least one of the following: a tuner 210, a communicator 220, a detector 230, an external device interface 240, a controller 250, a display 260, an audio output interface 270, a memory, a power supply, and a user interface.

[0059] In some embodiments, the controller includes a processor, a video processor, an audio processor, a graphics processor, RAM, ROM, and a first interface to an nth interface for input / output.

[0060] The display 260 includes a display screen assembly for presenting images, a driving assembly for driving image display, a component for receiving image signals from the controller output, and a user control UI interface for displaying video content, image content, menu control interface, and user control UI interface.

[0061] The display 260 can be an LCD display, an OLED display, or a projection display, and can also be a projection device and a projection screen.

[0062] The display 260 also includes a touch screen, which is used to receive input control commands from the user's fingers by sliding or clicking on the touch screen.

[0063] The communicator 220 is a component used to communicate with external devices or servers according to various communication protocol types. For example, the communicator may include at least one of the following: a Wi-Fi module, a Bluetooth module, a wired Ethernet module, other network communication protocol chips or near-field communication protocol chips, and an infrared receiver. The display device 200 can establish the transmission and reception of control signals and data signals with the external control device 100 or the server 400 through the communicator 220.

[0064] The user interface can be used to receive control signals from the control device 100 (such as an infrared remote control).

[0065] Detector 230 is used to collect signals from the external environment or to interact with the external environment. For example, detector 230 includes a light receiver, a sensor for collecting ambient light intensity; or, detector 230 includes an image acquisition device, such as a camera, which can be used to collect external environmental scenes, user attributes, or user interaction gestures; or, detector 230 includes a sound acquisition device, such as a microphone, for receiving external sounds.

[0066] The external device interface 240 may include, but is not limited to, one or more of the following: High Definition Multimedia Interface (HDMI), analog or high-definition component input interface (component), composite video input interface (CVBS), USB input interface (USB), RGB port, etc. It may also be a composite input / output interface formed by multiple interfaces mentioned above.

[0067] The tuner / demodulator 210 receives broadcast television signals via wired or wireless means, and demodulates audio and video signals, such as EPG data signals, from multiple wireless or wired broadcast television signals.

[0068] In some embodiments, the controller 250 and the tuner 210 may be located in different separate devices, that is, the tuner 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.

[0069] The controller 250 controls the operation of the display device and responds to user operations through various software control programs stored in the memory. The controller 250 controls the overall operation of the display device 200. For example, in response to receiving a user command to select a UI object to display on the monitor 260, the controller 250 can execute operations related to the object selected by the user command.

[0070] In some embodiments, the controller includes at least one of a central processing unit (CPU), a video processor, an audio processor, a graphics processing unit (GPU), a RAM (Random Access Memory), a ROM (Read-Only Memory), a first to an nth interface for input / output, a communication bus, etc.

[0071] Users can input commands through a graphical user interface (GUI) displayed on the monitor 260, and the user input interface receives the user input commands through the GUI. Alternatively, users can input commands by entering specific sounds or gestures, and the user input interface receives the user input commands by recognizing the sounds or gestures through sensors.

[0072] A "user interface" is the medium through which an application or operating system interacts and exchanges information with the user. It converts information from its internal form to a form that the user can accept. A common form of user interface is the graphical user interface (GUI), which refers to a user interface related to computer operation displayed graphically. It can be an icon, window, control, or other interface element displayed on the screen of an electronic device. Controls can include visual interface elements such as icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, and widgets.

[0073] See Figure 4 In some embodiments, the system is divided into four layers, from top to bottom: the Applications layer (referred to as the "Application Layer"), the Application Framework layer (referred to as the "Framework Layer"), the Android runtime and system library layer (referred to as the "System Runtime Layer"), and the kernel layer.

[0074] In some embodiments, at least one application runs in the application layer. These applications may be Windows programs, system settings programs, or clock programs that come with the operating system; they may also be applications developed by third-party developers. In specific implementations, the application packages in the application layer are not limited to the examples above.

[0075] 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.

[0076] like Figure 4 As shown, the application framework layer in this embodiment includes managers, content providers, etc., wherein the managers include at least one of the following modules: ActivityManager, which interacts with all activities running in the system; LocationManager, which provides access to system location services for system services or applications; PackageManager, which retrieves various information related to application packages currently installed on the device; NotificationManager, which controls the display and clearing of notification messages; and WindowManager, which manages icons, windows, toolbars, wallpapers, and desktop widgets on the user interface.

[0077] 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 display window changes (e.g., shrinking the display window, shaking the display, distorting the display, etc.).

[0078] In some embodiments, the system runtime library layer provides support for the upper layer, namely the framework layer. When the framework layer is used, the Android operating system runs the C / C++ libraries contained in the system runtime library layer to implement the functions that the framework layer needs to perform.

[0079] In some embodiments, the kernel layer is a layer between hardware and software. For example... Figure 4As shown, the kernel layer includes 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.

[0080] Switching between source video and online video requires additional complex application management processes to ensure mutual exclusion between source playback and online video playback. However, since the switching of the video application, the source service, and the player all operate asynchronously, and the source video is controlled at the application layer while the online video player is controlled at the multimedia framework layer—they are not at the same level—even with additional timing controls, complete mutual exclusion between source and regular video playback cannot be guaranteed. If the source service and decoder are working simultaneously, the TV has a high probability of experiencing black or blue screen issues, sometimes requiring a power outage and restart to recover.

[0081] In some embodiments, such as Figure 5 As shown, the software architecture includes an application layer, a framework layer, and a hardware layer. The application layer includes multiple applications, such as Application A, Application B, and Application C. Applications A and B are signal source applications, each with a signal source SDK (Software Development Kit) and interface with the signal source service through a dedicated API (Application Programming Interface). Application C is a network video application. The framework layer includes an application scenario management service and a multimedia framework. The application scenario management service is located above the multimedia framework, meaning it's closer to the application layer. It monitors application switching and executes corresponding operations. The multimedia framework includes a player interface and a player. The player interface includes create, setDataSource, start, stop, and release interfaces, allowing the multimedia framework to control the player. The hardware layer includes a signal source service and a decoder. The signal source service interfaces with the signal source application and the application scenario management service. The decoder interfaces with the player.

[0082] In some embodiments, after application C is opened, the application layer receives a user input command to play video M1 in application C, and sends the playback command to the multimedia framework. The multimedia framework calls the player creation and data source setting interface based on the playback command to create a player. The player sends a creation success message to the application layer, and the application layer sends a playback start message to the multimedia framework. The multimedia framework calls the playback start interface, and the player can obtain the URL (Uniform Resource Locator) of video M1 from the data source, obtain the streaming media data corresponding to video M1 from the URL, parse the audio and video streams corresponding to video M1 to obtain the encoding information of the audio and video streams, and create a decoder based on the encoding information, i.e., occupy decoder resources, and decode the audio and video stream data through the decoder to start playing video M1.

[0083] In some embodiments, when playing video M1, the application layer receives a user input instruction to stop playing video M1, sends the stop instruction to the multimedia framework, and the multimedia framework calls the player's stop interface to make the player release decoder resources.

[0084] In some embodiments, when playing video M1, after receiving a user's instruction to play video M2 in application C, the playback instruction is sent to the multimedia framework. If the multimedia framework determines that the decoder resources of the previous player have not been released, it calls the release interface of the previous player to release the decoder resources. After the decoder resources are released, the multimedia framework calls the player's create and set data source interface based on the playback instruction to recreate the player. The player sends a creation success message to the application layer, and the application layer issues a start playback instruction to the multimedia framework. The multimedia framework calls the start playback interface, and the player can obtain the URL of video M2 from the data source, retrieve the corresponding streaming media data from the URL, parse the audio and video streams corresponding to video M2, obtain the encoding information of the audio and video streams, and create a decoder based on the encoding information, i.e., occupying decoder resources. The player then decodes the audio and video stream data through the decoder to begin playing video M2.

[0085] In some embodiments, when playing video M1, after receiving a user input to exit application C, the application layer sends a stop playback instruction to the multimedia framework. The multimedia framework then calls the player's stop playback interface to release the decoder resources. After receiving a user input to play video M3 in application A, the application layer sends a playback instruction to the signal source service, causing the signal source service to occupy signal source resources.

[0086] In some embodiments, there may be situations where two applications can be switched directly, meaning that the user does not need to input instructions to exit the previous application and open the next application. When the application scenario management service detects a switch between different applications, it determines whether the video playback types of the applications before and after the switch are the same. If the video playback types of the applications before and after the switch are different, it sends an instruction to release hardware resources; if the video playback types of the applications before and after the switch are the same, it does not execute the step of sending the instruction to release hardware resources.

[0087] When a video application is installed, its video playback type is stored in a preset location for viewing and comparison by the application scenario management service. The video playback types are source video and network video (regular video). Network video is video obtained based on a URL, while source video is video obtained through a source.

[0088] Since this embodiment of the application switches the application C that plays network video to the application A that plays signal source video, the application scenario management service sends a hardware resource release instruction to the player after detecting the application switch, so that the player releases the decoder resources.

[0089] However, during the application or video switching process described above, if the interval between the user's command to exit application C and play the video in application A is very short, the player may not have completed releasing the decoder resources, and the signal source service may already be occupying them. Alternatively, a program crash may occur during the release of decoder resources, preventing timely release and allowing the signal source service to continue consuming them. Both scenarios result in the signal source service and decoder operating simultaneously. If the display device does not support simultaneous operation of both hardware components, a black screen or blue screen issue is highly probable, and a power cycle may be necessary to recover.

[0090] In some embodiments, after application A is opened, the application layer receives a user's instruction to play video M3 in application A, and sends the playback instruction to the signal source service, the playback instruction including the target signal source. After receiving the playback instruction, the signal source service occupies signal source resources and switches to the target signal source to play video M3.

[0091] In some embodiments, when playing video M3, the application layer receives a user input instruction to stop playing video M3, and sends the stop playback instruction to the signal source service. After receiving the stop playback instruction, the signal source service switches to an empty signal source to release signal source resources.

[0092] In some embodiments, when playing video M3, the application layer receives a user input instruction to play video M4 in application A, and sends the playback instruction to the signal source service. The playback instruction includes the switched signal source. After receiving the playback instruction, the signal source service switches to the switched signal source to play video M4.

[0093] In some embodiments, when playing video M3, after the application layer receives a user input to exit application A, it sends a stop playback command to the signal source service. Upon receiving the stop playback command, the signal source service switches to an empty signal source to release signal source resources. After receiving a user input to play video M1 in application C, the application layer sends a playback command to the multimedia framework. The multimedia framework calls the player creation and data source setting interface based on the playback command to create a player. The player sends a creation success message to the application layer, and the application layer issues a start playback command to the multimedia framework. The multimedia framework calls the start playback interface, and the player can obtain the URL of video M1 from the data source, obtain the corresponding streaming media data of video M1 from the URL, parse the audio and video streams corresponding to video M1, obtain the encoding information of the audio and video streams, and create a decoder based on the encoding information, i.e., occupy decoder resources, and decode the audio and video stream data through the decoder to start playing video M1.

[0094] In some embodiments, when the application scenario management service detects a switch between different applications, it determines whether the video playback types of the applications before and after the switch are the same. Since this embodiment of the application switches application A, which plays signal source video, to application C, which plays network video, the application scenario management service sends a hardware resource release instruction to the signal source service after detecting the application switch, so as to switch to an empty signal source and release the signal source resources.

[0095] However, during the application or video switching process described above, if the interval between the user's command to exit application A and play the video in application C is very short, the signal source service may not have completed releasing the signal source resources, at which point the player may already be using the decoder resources. Alternatively, if a program crashes during the signal source service's release of signal source resources, preventing timely release, the player may already be using the decoder resources. Both scenarios will result in the signal source service and decoder operating simultaneously. If the display device does not support simultaneous operation of both hardware components, there is a high probability of black screen or blue screen issues, sometimes requiring a power cycle to recover.

[0096] In some embodiments, the display device is configured with applications that implement different functions. Some applications may implement a single function, while others may provide multiple services, each implementing a different function; that is, such applications can perform multiple functions. For example, the display device may have a desktop application that provides multiple service modules to implement different functions. The desktop application can provide signal source entry points and entry points (icons) for installed third-party applications, allowing direct playback of network videos or calling installed third-party applications to play videos. Third-party applications include live TV applications. Live TV applications are applications used to play cable broadcast programs. The application layer includes desktop applications and live TV applications.

[0097] When playing online video through the desktop application, if the user inputs a command to play a cable broadcast program, the desktop application sends a stop playback command to the multimedia framework. The multimedia framework then calls the player's stop playback interface to release decoder resources. Simultaneously, the desktop application enables the live streaming application, i.e., launches the live streaming application's user interface.

[0098] After the live streaming application is enabled, it sends a playback command to the tuner. The tuner receives the broadcast signal, also known as the bitstream, and tunes it. The demodulator demodulates the tuned bitstream. The demultiplexing module separates the audio data, video data, and data that are different from the audio / video data contained in the demodulated bitstream. The decoder decodes the audio and video data for the display device to play.

[0099] Similarly, when playing cable radio programs through a live streaming application, upon receiving a user's instruction to play a network video from the desktop application, the live streaming application sends a stop playback instruction to the tuner, causing the tuner to stop receiving the broadcast signal. Simultaneously, the desktop application sends a play instruction to the multimedia framework's player, causing the player to utilize decoder resources and play the network video.

[0100] In some embodiments, if the desktop application and the live streaming application switch directly, the user does not need to input commands to exit the desktop application and open the live streaming application. After exiting the desktop application / live streaming application, a transition application is invoked to display preset screens for a preset duration. After exiting the transition application, the playback screen of the live streaming application / desktop application can be displayed directly.

[0101] Because live streaming applications play broadcast programs directly between the application layer and the hardware layer, while desktop applications play video through a multimedia framework, the two processes are asynchronous. This can lead to situations where the hardware for broadcast program playback and the hardware for network video playback are working simultaneously, which can result in a high probability of black screen or blue screen issues, and may even require a power cycle to recover.

[0102] To address the above technical problems, this application provides a display device 200. The structure and functions of each part of the display device 200 can be found in the above embodiments. Furthermore, based on the display device 200 shown in the above embodiments, this embodiment further improves some functions of the display device 200. For example… Figure 6 As shown, controller 250 performs the following steps:

[0103] Step S601: Play the first video;

[0104] The first video is either obtained from a URL or stored locally, and it is a video in a first application, including online video applications and desktop applications.

[0105] In some embodiments, such as Figure 7 As shown, the software architecture includes an application layer, a framework layer, and a hardware layer. The application layer includes multiple applications. Among them, signal source applications such as Application A and Application B do not require a signal source SDK, nor do they need to interface with the signal source service through a dedicated API. Application C is a network video application. The framework layer includes a multimedia framework. The multimedia framework includes a player interface, a first player, and a second player. The second player is the signal source player, which refers to a player that internally encapsulates signal source functions and related technical details. The application layer interface is uniformly the player interface, i.e., a shared player interface for both the first and second players. The player interface includes a creation interface, a data source setting interface, a start playback interface, a stop playback interface, and a release interface. The multimedia framework can call the player interface to control the first and second players. The first and second players are mutually exclusive. The hardware layer includes a signal source service and a decoder. The signal source service interfaces with the second player. The decoder interfaces with the first player.

[0106] The steps to play the first video include:

[0107] Receive user input command to play the first video;

[0108] In some embodiments, the step of receiving a user input instruction to play a first video includes:

[0109] Responding to user input to open a web video application;

[0110] The network video application is launched, and the display 260 is controlled to display the application homepage, which includes at least one video control.

[0111] Receive user input indicating that the user has selected the first video control, which is an instruction to play the first video.

[0112] In some embodiments, the step of receiving a user input instruction to play a first video includes:

[0113] The system receives voice commands collected after the user presses the voice key on the control device 100, or voice commands collected after waking up the voice assistant via a far-field wake-up word. The voice command is a voice command to play the first video.

[0114] In response to the user's command to play the first video, play the first video.

[0115] The controller includes the application layer and multimedia framework. The steps for playing the first video include:

[0116] The application layer is controlled to respond to a user-input command to play a first video and send the command to the multimedia framework.

[0117] After determining that the video address in the first video playback instruction is of a first format, the multimedia framework creates a first player to play the first video based on the video address. The first format indicates that the first player is enabled to play the video. The first format includes a URL or a local storage path.

[0118] To clarify the process of playing the first video in this application, an embodiment is disclosed below:

[0119] The application layer receives the user's instruction to play the first video and sends the instruction to play the first video to the multimedia framework.

[0120] After determining that the hardware resources of the previous player have been released and that the video address in the first video playback instruction is in the first format, the multimedia framework calls the player creation and data source setting interface to create the first player, i.e., the first player initialization.

[0121] The first player will send a success message to the application layer, and the application layer will then issue a start-up command to the multimedia framework.

[0122] The multimedia framework calls the start-up interface. The first player obtains the address (URL) of the first video from the data source, retrieves the streaming media data of the first video from the address, parses the audio and video streams of the first video to obtain the encoding information of the audio and video streams, and creates a decoder based on the encoding information, i.e., occupies decoder resources. The first player decodes the audio and video stream data through the decoder to start playing the first video.

[0123] Step S602: Receive the user's input command to play the second video;

[0124] The second video is a video acquired through a signal source, and the second video is a video under a second application, including signal source applications and live streaming applications, etc.

[0125] In some embodiments, the step of receiving a user input instruction to play a second video includes:

[0126] In response to a user's instruction to exit the online video application, the online video application is closed.

[0127] Receive user input to open the signal source application or play the second video in the signal source application, i.e., play the second video.

[0128] In some embodiments, the step of receiving a user input instruction to play a second video includes:

[0129] While the first video is playing, the system receives a voice command collected after the user presses the voice button on the control device 100, or a voice command collected after waking up the voice assistant via a far-field wake-up word. This voice command is the voice command for playing the second video.

[0130] Step S603: In response to the user's input command to play the second video, stop the first player from playing the first video so that the first player can release decoder resources;

[0131] The steps to stop the first player from playing the first video include:

[0132] After determining that the decoder resources of the first player have not been released, the control multimedia framework calls the release interface of the first player.

[0133] To clarify the process by which this application stops the first player from playing the first video, an embodiment is disclosed below:

[0134] In response to the user's input command to play the second video, the application layer sends the command to play the second video to the multimedia framework.

[0135] The multimedia framework determines whether the hardware resources of the previous player have been released.

[0136] If the previous player's hardware resources have not been released, the previous player's release interface is called to make the previous player release its hardware resources.

[0137] If the hardware resources of the previous player have been released, a new player can be created directly.

[0138] If the previous player is in the process of releasing hardware resources, it can wait for a preset time before continuing to determine whether the previous player's hardware resources have been released.

[0139] In this embodiment of the application, if the decoder resources of the first player are not released, the release interface of the first player is called to enable the first player to release the decoder resources.

[0140] Step S604: Create a second player corresponding to the second video, so that the second player can play the second video; wherein, the second player is a signal source player.

[0141] The steps for creating a second player corresponding to the second video include:

[0142] After determining that the video address in the second video playback instruction is in the second format, the control multimedia framework creates a second player and records the target signal source. The video address being in the second format indicates that the second player is enabled to play the video. The target signal source is obtained by parsing the second video playback instruction. The second format includes the signal source address.

[0143] After receiving the start-up instruction sent by the application layer, the control multimedia framework calls the start-up interface of the second player to make the second player send a switch target signal source instruction to the signal source service. The switch target signal source instruction is used to instruct the signal source service to occupy signal source resources and switch to the target signal source.

[0144] To clarify the process of creating a second player in this application, an embodiment is disclosed below:

[0145] After determining that the decoder resources of the first player have been released, the multimedia framework parses the second video playback command to obtain the video address and the target signal source. Upon confirming that the video address is in the second format, it calls the player creation and data source setting interface to create the second player, i.e., the second player is initialized, and the target signal source is recorded in the data source.

[0146] The second player sends a success message to the application layer. The application layer then sends a start-up command to the multimedia framework.

[0147] The multimedia framework calls the second player's start-up interface. The second player obtains the target signal source from the data source and sends a command to switch to the target signal source to the signal source service. Upon receiving the command to switch to the target signal source, the signal source service occupies signal source resources and switches to the target signal source. It then plays the second video transmitted from the target signal source.

[0148] In some embodiments, while playing the second video, the second player stops playing the second video in response to a user-input command to stop playing the second video.

[0149] The steps to stop the second player from playing the second video include:

[0150] The control layer responds to the user's input command to stop playing the second video and sends the command to stop playing the second video to the multimedia framework;

[0151] After receiving the instruction to stop playing the second video, the control multimedia framework calls the stop playback interface of the second player, so that the second player sends a switch empty signal source instruction to the signal source service. The switch empty signal source instruction is used to instruct the signal source service to release signal source resources.

[0152] To clarify the process by which this application stops the second player from playing the second video, an embodiment is disclosed below:

[0153] When the application layer receives a user's command to stop playing the second video, it sends the command to the multimedia framework to stop playing the second video.

[0154] The multimedia framework calls the pause interface of the second player, and the second player sends a switch to an empty signal source command to the signal source service. The signal source service switches to an empty signal source to release signal source resources.

[0155] In some embodiments, such as Figure 8 As shown, when playing the first video through the first player, after receiving the user's input to play the second video, the playback command is sent to the multimedia framework. When the multimedia framework determines that the first player has not released its decoder resources, it calls the first player's release interface, and the first player releases the decoder resources. After confirming that the decoder resources are released, the multimedia framework calls the create and set data source interface, and the second player initializes and records the target signal source. After confirming that the second player has been successfully created, the application layer sends a start-up command to the multimedia framework. The multimedia framework calls the start-up interface, and the second player sends a command to switch to the target signal source to the signal source service. The signal source service occupies the signal source resources. The application layer receives the user's input to stop playing the second video and sends the stop-play command to the multimedia framework. The multimedia framework calls the stop-play interface, and the second player sends a command to switch to an empty signal source to the signal source service. The signal source service releases the signal source resources.

[0156] In some embodiments, after the desktop application starts, it receives a user input command to play a network video, and plays the network video of the desktop application through a first player. It also receives a user input command to play a cable radio program. The live streaming application sends this command to the multimedia framework. When the multimedia framework determines that the first player has not released its decoder resources, it calls the first player's release interface, and the first player releases the decoder resources. After determining that the decoder resources are released, the multimedia framework calls the create and set data source interface. The second player initializes and records the frequency of the channel to which the cable radio program belongs. After the application layer determines that the second player has been successfully created, it sends a start command to the multimedia framework. The multimedia framework calls the start interface, and the second player sends the frequency of the channel to which the cable radio program belongs to the tuner. The tuner locks the frequency of the channel to which the program belongs. Then, the demodulator demodulates the bitstream to the current frequency. The demultiplexing module filters out the audio and video data of the program from the bitstream of the current frequency and then decodes it further through the decoder. The decoded video data is displayed on the monitor, and the decoded audio data is played through the audio output interface.

[0157] This application provides a display device 200. The structure and functions of each part of the display device 200 can be found in the above embodiments. Furthermore, based on the display device 200 shown in the above embodiments, this embodiment further improves some functions of the display device 200. For example… Figure 9 As shown, controller 250 performs the following steps:

[0158] Step S901: Play the second video;

[0159] Signal generators are complex functions with extensive hardware interactions, requiring relevant technical backgrounds for application-level development, thus presenting a high technical barrier. Signal generator applications are typically custom-designed by OEMs, interfacing with their proprietary APIs, resulting in very poor portability. When partners want to integrate signal generator functionality, they usually need to integrate the OEM's signal generator SDK, performing custom development, which is extremely costly.

[0160] To solve the above technical problems, the steps for playing the second video include:

[0161] Receive user input command to play the second video;

[0162] In some embodiments, the step of receiving a user input instruction to play a second video includes:

[0163] The system receives user input to open the signal source application, and the second video is the broadcast program of the default channel after the signal source application is launched.

[0164] In some embodiments, the step of receiving a user input instruction to play a second video includes:

[0165] The system receives voice commands collected after the user presses the voice key on the control device 100, or voice commands collected after waking up the voice assistant via a far-field wake-up word. These voice commands are for playing a second video.

[0166] In response to the user's input command to play the second video, play the second video.

[0167] The controller includes the application layer and multimedia framework. The steps for playing the second video include:

[0168] The application layer is controlled to respond to the user's input instruction to play the second video and send the instruction to play the second video to the multimedia framework;

[0169] After determining that the video address in the second video instruction is in the second format, the control multimedia framework creates a second player so that the second player can play the second video.

[0170] To clarify the process of playing the second video in this application, an embodiment is disclosed below:

[0171] After receiving the user's instruction to play the second video, the application layer sends the instruction to play the second video to the multimedia framework.

[0172] After determining that the hardware resources of the previous player have been released and that the video address in the second video playback instruction is in the second format, the multimedia framework calls the player creation and data source setting interface to create a second player and records the target signal source to the data source.

[0173] The second player will send a success message to the application layer, and the application layer will then issue a start-up command to the multimedia framework.

[0174] The multimedia framework calls the start-up interface. The second player obtains the target signal source from the data source and sends a command to switch to the target signal source service. Upon receiving the command, the signal source service occupies signal source resources and switches to the target signal source. It then plays the second video transmitted from the target signal source.

[0175] This application encapsulates the signal source as a player and uses the player interface publicly available in the Android system to manage the signal source functionality. Developing a signal source application is similar to developing a regular video playback application; it does not rely on dedicated APIs for signal source functionality, resulting in excellent application portability.

[0176] Step S902: Receive the user's input command to play the third video;

[0177] The third video is either obtained from a URL or stored locally, and the third video is a video from the first application.

[0178] In some embodiments, the step of receiving a user input instruction to play a third video includes:

[0179] In response to a user's command to exit the signal source application, the signal source application is closed;

[0180] The system receives a user input command to open a network video application, launches the network video application, and controls the display 260 to display the application homepage, which includes at least one video control.

[0181] Receive user input to select a third video control, i.e., to play the third video.

[0182] In some embodiments, the step of receiving a user input instruction to play a third video includes:

[0183] While playing the second video, the system receives voice commands collected after the user presses the voice button on the control device 100, or voice commands collected after waking up the voice assistant via a far-field wake-up word. These voice commands are the voice commands for playing the third video.

[0184] Step S903: In response to the user's input command to play the third video, stop the second player from playing the second video so that the second player releases the signal source resources;

[0185] The steps to stop the second player from playing the second video include:

[0186] After determining that the signal source resources of the second player have not been released, the control multimedia framework calls the release interface of the second player to make the second player send a switch to an empty signal source instruction to the signal source service. The switch to an empty signal source instruction is used to instruct the signal source service to release the signal source resources.

[0187] To clarify the process by which this application stops the second player from playing the second video, an embodiment is disclosed below:

[0188] The application layer receives the user's instruction to play the third video and sends the instruction to the multimedia framework.

[0189] The multimedia framework determines whether the signal source resources of the second player have been released. If the signal source resources of the second player have not been released, it calls the release interface of the second player, and the second player sends a switch to an empty signal source command to the signal source service. The signal source service switches to an empty signal source to release the signal source resources. If the signal source resources of the second player have been released, the first player can be created directly.

[0190] Step S904: Create a first player corresponding to the third video so that the first player can play the third video.

[0191] The steps for creating a first player corresponding to the third video include:

[0192] After determining that the video address in the third video playback instruction is in the first format, the multimedia framework creates a first player.

[0193] After receiving the start-up command sent by the application layer, the multimedia framework calls the start-up interface of the first player.

[0194] To clarify the process of creating the first player in this application, an embodiment is disclosed below:

[0195] After determining that the decoder resources of the second player have been released, the multimedia framework obtains the video address from the third video playback instruction, and after determining that the video address is in the first format, calls the player creation and data source setting interface to create the first player.

[0196] The first player sends a success message to the application layer. The application layer then sends a start-up command to the multimedia framework.

[0197] The multimedia framework will call the start-up interface of the first player. The first player obtains the address of the third video, i.e., the URL, from the data source, and obtains the streaming media data of the third video from the address. It then parses the audio and video streams of the third video to obtain the encoding information of the audio and video streams. The third player creates a decoder based on the encoding information, i.e. occupies decoder resources, and decodes the audio and video stream data through the decoder to start playing the third video.

[0198] In some embodiments, when playing a third video, the first player stops playing the third video in response to a user-input command to stop playing the third video.

[0199] The steps to stop the first player from playing the third video include:

[0200] The control layer responds to the user's input command to stop playing the third video and sends the command to stop playing the third video to the multimedia framework;

[0201] After receiving a command to stop playing a third video, the multimedia framework calls the stop playback interface of the first player to release the decoder resources of the first player.

[0202] To clarify the process by which this application stops the first player from playing the third video, an embodiment is disclosed below:

[0203] When the application layer receives a user's command to stop playing the third video, it sends the command to the multimedia framework.

[0204] After receiving the instruction to stop playing the third video, the multimedia framework calls the stop playback interface of the first player, and the first player releases the decoder resources.

[0205] In some embodiments, such as Figure 10 As shown, when playing the second video through the second player, after receiving the user's input to play the third video, the playback command is sent to the multimedia framework. When the multimedia framework determines that the second player has not released signal source resources, it calls the second player's release interface, and the second player sends a switch to an empty signal source command to the signal source service. The signal source service releases the signal source resources. After determining that the signal source resources are released, the multimedia framework calls the create and set data source interface to create the first player, i.e., the first player is initialized. After confirming that the first player has been successfully created, the application layer sends a start-up command to the multimedia framework. The multimedia framework calls the start-up interface, and the first player occupies decoder resources. The application layer receives the user's input to stop playing the third video and sends the stop-play command to the multimedia framework. The multimedia framework calls the stop-play interface, and the first player releases its decoder resources.

[0206] In some embodiments, a user input command to play a cable radio program is received, and the cable radio program is played through a second player. A user input command to play a network video from a desktop application is received. The desktop application sends the network video playback command to the multimedia framework. When the multimedia framework determines that the second player has not released hardware resources, it calls the second player's release interface. The second player then sends a stop playback command to the tuner, causing the tuner to stop receiving broadcast signals. After determining that the hardware resources have been released, the multimedia framework calls the create and set data source interface to create a first player. After the application layer determines that the first player has been successfully created, it sends a start playback command to the multimedia framework. The multimedia framework calls the start playback interface, and the first player uses decoder resources to play the network video.

[0207] This application encapsulates the signal source function into a signal source player, implementing a mutual exclusion relationship between signal source playback and network video playback within the multimedia framework. This means that during video switching, a new player can only be created after the hardware resources of the previous player have been released, preventing the signal source service and decoder from working simultaneously and thus avoiding black screen and blue screen issues caused by video switching. Furthermore, by encapsulating the signal source function into a signal source player, application layer development does not require understanding the complex signal source function and system interactions, similar to developing a regular video playback application, reducing development difficulty and improving efficiency. The application layer interface is the unified Android system player interface, not dependent on the dedicated API of the signal source function, resulting in good application portability. The mutual exclusion relationship between the signal source and the network video player is managed at the multimedia framework layer, and is unknown to the application layer. Due to the mutual exclusion relationship between the signal source and the network video player, when switching videos, only one video playback command needs to be issued by the application after the switch to complete the video switching; no command to release hardware resources is required from the application or application scenario management service before the switch.

[0208] Some embodiments of this application provide a video switching method applicable to a display device, which includes a display and a controller. The controller is configured to: when playing a first video, in response to a user-inputted command to play a second video, stop a first player from playing the first video, thereby releasing decoder resources for the first player. The first video is a video obtained based on a URL, and the second video is a video obtained through a signal source. A second player corresponding to the second video is created to play the second video. The second player is a signal source player. This application embodiment encapsulates the functionality of the signal source within the signal source player. The signal source player and a regular player are mutually exclusive, ensuring that network video and signal source video playback are mutually exclusive, thus avoiding problems such as black screens caused by simultaneous operation of the signal source and decoder.

[0209] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

[0210] For ease of explanation, the above description has been provided in conjunction with specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or to limit the embodiments to the specific forms disclosed above. Various modifications and variations can be obtained based on the above teachings. The selection and description of the above embodiments are for the purpose of better explaining the principles and practical applications, thereby enabling those skilled in the art to better utilize the described embodiments and various different variations of embodiments suitable for specific use considerations.

Claims

1. A display device, characterized in that, include: monitor; The controller, comprising an application layer and a multimedia framework, is configured to: When playing the first video, in response to the user's input command to play the second video, the first player stops playing the first video, and the multimedia framework of the controller determines whether the decoder resources of the first player have been released; If not released, the release interface of the first player is called to make the first player release the decoder resources. The first video is a video obtained based on a URL or stored locally, and the second video is a video obtained through a signal source. After the multimedia framework determines that the first player has released the decoder resources and that the video address in the second video playback instruction is in the second format, it creates a second player corresponding to the second video and records the target signal source. The video address being in the second format indicates that the second player is enabled to play the video. The target signal source is obtained by parsing the second video playback instruction. The second player is a signal source player, which is a player with signal source functionality encapsulated internally. After receiving the start-up command sent by the application layer, the control multimedia framework calls the start-up interface of the second player, so that the second player sends a switch target signal source command to the signal source service. The switch target signal source command is used to instruct the signal source service to occupy the signal source resources and switch to the target signal source, so that the second player can play the second video. Both the first player and the second player are controlled by the multimedia framework, and the multimedia framework is configured to have a mutual exclusion relationship between the first player and the second player, so as to prevent the signal source service and the decoder from working simultaneously.

2. The display device according to claim 1, characterized in that, The controller, which executes the playback of the first video, is further configured to: The application layer is controlled to respond to a user-input command to play a first video and send the command to the multimedia framework. After determining that the video address in the first video playback instruction is in a first format, the control multimedia framework creates a first player so that the first player plays the first video based on the video address, and the video address being in the first format indicates that the first player is enabled to play the video.

3. The display device according to claim 2, characterized in that, The controller is configured as follows: The control layer responds to the user's input command to stop playing the second video and sends the command to stop playing the second video to the multimedia framework; After receiving the instruction to stop playing the second video, the control multimedia framework calls the stop playback interface of the second player, so that the second player sends a switch empty signal source instruction to the signal source service. The switch empty signal source instruction is used to instruct the signal source service to release signal source resources.

4. The display device according to claim 1, characterized in that, When playing the second video, the controller is configured to: In response to a user-input command to play a third video, the second player stops playing the second video, thereby releasing the signal source resources of the second player. The third video is a video obtained based on a URL. Create a first player corresponding to the third video, so that the first player plays the third video.

5. The display device according to claim 4, characterized in that, The controller is further configured to stop the second player. After determining that the signal source resources of the second player have not been released, the control multimedia framework calls the release interface of the second player to make the second player send a switch empty signal source instruction to the signal source service. The switch empty signal source instruction is used to instruct the signal source service to release the signal source resources.

6. The display device according to claim 5, characterized in that, The controller executes the creation of a first player corresponding to the third video, and is further configured to: After determining that the video address in the third video playback instruction is in the first format, the control multimedia framework creates a first player, wherein the video address being in the first format indicates that the first player is enabled to play the video. After receiving the start-up command sent by the application layer, the multimedia framework calls the start-up interface of the first player.

7. The display device according to claim 5, characterized in that, The controller is configured as follows: The control layer responds to the user's input command to stop playing the third video and sends the command to stop playing the third video to the multimedia framework; After receiving the instruction to stop playing the third video, the control multimedia framework calls the stop playback interface of the first player to release the decoder resources of the first player.

8. A video switching method, characterized in that, include: When playing the first video, in response to the user's input command to play the second video, the first player stops playing the first video, and the multimedia framework determines whether the decoder resources of the first player have been released; If not released, the release interface of the first player is called to make the first player release the decoder resources. The first video is a video obtained based on a URL or stored locally, and the second video is a video obtained through a signal source. After the multimedia framework determines that the first player has released the decoder resources and that the video address in the second video playback instruction is in the second format, it creates a second player corresponding to the second video and records the target signal source. The video address being in the second format indicates that the second player is enabled to play the video. The target signal source is obtained by parsing the second video playback instruction. The second player is a signal source player, which is a player with signal source functionality encapsulated internally. After receiving a start-up command from the application layer, the control multimedia framework calls the start-up interface of the second player to cause the second player to send a switch target signal source command to the signal source service. The switch target signal source command is used to instruct the signal source service to occupy signal source resources and switch to the target signal source so that the second player can play the second video. Both the first player and the second player are controlled by the multimedia framework, and the multimedia framework is configured to have a mutual exclusion relationship between the first player and the second player to prevent the signal source service and the decoder from working simultaneously.

Citation Information

Patent Citations

  • Display terminal information source switching method and device

    CN105872768A

  • Video playing switching method and device, terminal equipment and switching system

    CN114866707A