WO2023077991A1 - 显示设备及其显示方法 - Google Patents
显示设备及其显示方法 Download PDFInfo
- Publication number
- WO2023077991A1 WO2023077991A1 PCT/CN2022/120860 CN2022120860W WO2023077991A1 WO 2023077991 A1 WO2023077991 A1 WO 2023077991A1 CN 2022120860 W CN2022120860 W CN 2022120860W WO 2023077991 A1 WO2023077991 A1 WO 2023077991A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- instant messaging
- message
- display
- display device
- messages
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000004044 response Effects 0.000 claims abstract description 6
- 230000003111 delayed effect Effects 0.000 claims description 32
- 238000004891 communication Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 230000003993 interaction Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 5
- 239000000872 buffer Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 208000003028 Stuttering Diseases 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
- H04N21/4825—End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
Definitions
- the present application relates to the technical field of intelligent display devices, in particular to a display device and a method for displaying highly concurrent messages.
- a display device refers to a terminal device capable of outputting specific display images, which may be terminal devices such as smart TVs, communication terminals, smart advertising screens, and projectors.
- terminal devices such as smart TVs, communication terminals, smart advertising screens, and projectors.
- smart TV is based on Internet application technology, has an open operating system and chip, has an open application platform, can realize two-way human-computer interaction, and integrates multiple functions such as audio-visual, entertainment, and data. Products are used to meet the diverse and individual needs of users.
- the display device can be connected to the live broadcast platform through the live broadcast application, and present live broadcast images for users in real time.
- the "Live classroom" application can be installed in the display device, and the display device can access a specific live room by running the live class application, so as to receive and display the live course picture corresponding to the live room in real time.
- some live broadcast applications support the instant messaging function, that is, for multiple users in the same live broadcast room, they can communicate by sending instant messaging messages. Therefore, the display device can also display the instant messaging messages synchronously during the process of playing the live video.
- the display device will receive a large number of instant messaging messages in a short period of time.
- the display device needs to constantly refresh the UI interface, so It will block the main thread task and cause the interface to freeze.
- An embodiment of the present application provides a display device, including: a display configured to display an image and a user interface acquired through a network and/or a broadcast system; a communicator configured to establish a communication connection with a server; a controller configured to To: receive the control instruction input by the user for entering the live broadcast room; respond to the control instruction, obtain the current number of users and instant messaging messages in the live broadcast room; create a message cache list, and the message cache list is used to store the For instant messaging messages, the upper limit of the number of buffers in the message cache list and/or the refresh delay time are set according to the current number of users; and the parameters in the message cache list are displayed according to the parameters of the instant messaging messages in the message cache list instant messaging messages.
- the embodiment of the present application also provides a display method, which is applied to a display device, and the display device includes a display, a communicator, and a controller.
- the method includes: receiving a control instruction input by a user for entering a live broadcast room; responding to The control instruction obtains the current number of users and instant messaging messages in the live broadcast room; creates a message cache list, and the message cache list is used to store the instant messaging messages; the upper limit of the cache number of the message cache list and/or refresh The delay time is set according to the current number of users; and the instant messaging messages in the message cache list are displayed according to the parameters of the instant messaging messages in the message cache list.
- FIG. 1 is a usage scenario of a display device in an embodiment of the present application
- Fig. 2 is a block diagram of the hardware configuration of the control device in the embodiment of the present application.
- FIG. 3 is a hardware configuration diagram of a display device in an embodiment of the present application.
- FIG. 4 is a software configuration diagram of a display device in an embodiment of the present application.
- FIG. 5 is a schematic diagram of a live application interface in an embodiment of the present application.
- Fig. 6 is a live picture display effect diagram in the embodiment of the present application.
- FIG. 7 is a schematic diagram of the display effect of real-time communication messages in the embodiment of the present application.
- Fig. 8 is a diagram showing the situation and information flow of high concurrent messages in the embodiment of the present application.
- FIG. 9 is a schematic flow chart of comparing the number of users in the embodiment of the present application.
- FIG. 10 is a diagram showing the context and information flow of historical messages in the embodiment of the present application.
- FIG. 11 is a schematic flow diagram of modifying message cache list parameters in an embodiment of the present application.
- FIG. 12 is a flowchart of a method for displaying high-concurrency messages in an embodiment of the present application.
- Fig. 1 is a schematic diagram of a usage scenario of a display device according to an embodiment.
- the display device 200 also performs data communication with the server 400 , and the user can operate the display device 200 through the smart device 300 or the control device 100 .
- control device 100 may be a remote controller, and the communication between the remote controller and the display device includes at least one of infrared protocol communication, Bluetooth protocol communication, and other short-distance communication methods, and the display device is controlled wirelessly or wiredly.
- Device 200 The user can control the display device 200 by inputting user instructions through at least one of buttons on the remote control, voice input, and control panel input.
- the smart device 300 may include any one of a mobile terminal, a tablet computer, a computer, a notebook computer, an AR/VR device, and the like.
- the smart device 300 can also be used to control the display device 200 .
- the display device 200 is controlled using an application program running on the smart device.
- the smart device 300 and the display device may also be used for data communication.
- the display device 200 can also be controlled in a manner other than the control device 100 and the smart device 300.
- the module for obtaining voice commands configured inside the display device 200 can directly receive the user's voice command control
- the user's voice command control can also be received through the voice control device provided outside the display device 200 .
- the display device 200 also performs data communication with the server 400 .
- the display device 200 may be allowed to communicate via a local area network (LAN), a wireless local area network (WLAN), and other networks.
- the server 400 may provide various contents and interactions to the display device 200 .
- the server 400 may be one cluster, or multiple clusters, and may include one or more types of servers.
- FIG. 2 is a block diagram of a configuration of the control device 100 according to the exemplary embodiment.
- 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 the user's input operation instruction, and convert the operation instruction into an instruction that the display device 200 can recognize and respond to, and play an intermediary role between the user and the display device 200 .
- the communication interface 130 is used for communicating with the outside, and includes at least one of a WIFI chip, a Bluetooth module, NFC or an alternative module.
- the user input/output interface 140 includes at least one of a microphone, a touch pad, a sensor, a button or an alternative module.
- FIG. 3 is a block diagram showing a hardware configuration of a display device 200 according to an exemplary embodiment.
- the display device 200 includes a tuner and demodulator 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. at least one.
- the controller includes a CPU, a video processor, an audio processor, a graphics processor, a RAM, a ROM, a first interface to an nth interface for input/output.
- the display 260 includes a display screen component for presenting images, and a drive component for driving image display, for receiving image signals output from the controller, and displaying video content, image content, and menu manipulation interface. Components and user manipulation of the UI interface, etc.
- the display 260 may be at least one of a liquid crystal display, an OLED display, and a projection display, and may also be a projection device and a projection screen.
- the tuner-demodulator 210 receives broadcast TV signals through wired or wireless reception, and demodulates audio and video signals, such as EPG data signals, from multiple wireless or cable broadcast TV signals.
- the communicator 220 is a component for communicating with external devices or servers according to various communication protocol types.
- the communicator may include at least one of a Wifi module, a Bluetooth module, a wired Ethernet module and other network communication protocol chips or near field communication protocol chips, and an infrared receiver.
- the display device 200 can establish transmission and reception of control signals and data signals with the control device 100 or the server 400 through the communicator 220 .
- the detector 230 is used to collect signals of the external environment or interaction with the outside.
- the detector 230 includes a light receiver, which is a sensor for collecting ambient light intensity; or, the detector 230 includes an image collector, such as a camera, which can be used to collect external environmental scenes, user attributes or user interaction gestures, or , the detector 230 includes a sound collector, such as a microphone, for receiving external sound.
- the external device interface 240 may include, but is not limited to, the following: High Definition Multimedia Interface Interface (HDMI), Analog or Data High Definition Component Input Interface (Component), Composite Video Input Interface (CVBS), USB Input Interface (USB) , RGB port, etc. any one or more interfaces. It may also be a composite input/output interface formed by the above-mentioned multiple interfaces.
- HDMI High Definition Multimedia Interface Interface
- Component Composite Video Input Interface
- CVBS Composite Video Input Interface
- USB USB Input Interface
- RGB port etc. any one or more interfaces. It may also be a composite input/output interface formed by the above-mentioned multiple interfaces.
- the controller 250 and the tuner-demodulator 210 may be located in different split 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 wait.
- 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 operations of the display device 200 . For example, in response to receiving a user command for selecting a UI object to be displayed on the display 260, the controller 250 may perform an operation related to the object selected by the user command.
- the object may be any one of selectable objects, such as hyperlinks, icons, or other operable controls. Operations related to the selected object include: displaying hyperlink pages, documents, images, etc., or executing the program corresponding to the icon.
- the controller includes a central processing unit (Central Processing Unit, CPU), a video processor, an audio processor, a graphics processing unit (Graphics Processing Unit, GPU), RAM Random Access Memory, RAM), ROM (Read- Only Memory, ROM), at least one of the first interface to the nth interface for input/output, a communication bus (Bus), and the like.
- CPU Central Processing Unit
- video processor video processor
- audio processor audio processor
- graphics processing unit Graphics Processing Unit, GPU
- RAM Random Access Memory
- ROM Read- Only Memory
- CPU processor It is used to execute the operating system and application program instructions stored in the memory, and to execute various application programs, data and content according to various interactive instructions received from the outside, so as to finally display and play various audio and video content.
- a CPU processor may include multiple processors. For example, including a main processor and one or more sub-processors.
- the graphics processor is configured to generate various graphic objects, such as at least one of icons, operation menus, and user input instruction display graphics.
- the graphics processor includes an arithmetic unit, which performs calculations by receiving various interactive instructions input by users, and displays various objects according to display attributes; it also includes a renderer, which renders various objects obtained based on the arithmetic unit, and the above-mentioned rendered objects are used to be displayed on the display.
- the video processor is used to receive an external video signal and perform video decompression, decoding, scaling, noise reduction, frame rate conversion, resolution conversion, image synthesis, etc. according to the standard codec protocol of the input signal. At least one of the processing can obtain a signal that can be directly displayed or played on the display device 200 .
- the video processor includes at least one of a demultiplexing module, a video decoding module, an image synthesis module, a frame rate conversion module, a display formatting module, and the like.
- the demultiplexing module is used for demultiplexing the input audio and video data streams.
- the video decoding module is used to process the demultiplexed video signal, including decoding and scaling.
- An image compositing module such as an image compositor, is used to superimpose and mix the graphic generator with the zoomed video image according to the GUI signal input by the user or generated by itself, so as to generate an image signal available for display.
- the frame rate conversion module is used for converting the input video frame rate.
- the display formatting module is used to convert the received frame rate to the video output signal, and change the signal to conform to the display format signal, such as outputting RGB data signal.
- the audio processor is used to receive an external audio signal, perform decompression and decoding according to the standard codec protocol of the input signal, and perform at least one of processing such as noise reduction, digital-to-analog conversion, and amplification processing , to obtain a sound signal that can be played on a loudspeaker.
- the user can input user commands through a graphical user interface (GUI) displayed on the display 260, and the user input interface receives user input commands through the graphical user interface (GUI).
- GUI graphical user interface
- the user may input a user command by inputting a specific sound or gesture, and the user input interface recognizes the sound or gesture through a sensor to receive the user input command.
- "user interface” is a medium interface for interaction and information exchange between an application program or an operating system and a user, and it realizes the conversion between the internal form of information and the form acceptable to the user.
- the commonly used form of user interface is the graphical user interface (Graphic User Interface, GUI), which refers to the user interface related to computer operation displayed in a graphical way. It can be an icon, window, control and other interface elements displayed on the display screen of the electronic device, where the control can include icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, widgets, etc. At least one of the view's interface elements.
- GUI graphical User Interface
- the user interface 280 is an interface that can be used to receive control input (such as: physical buttons on the display device body, or others).
- the system of the display device may include a kernel (Kernel), a command parser (shell), a file system and application programs.
- kernel Kernel
- shell command parser
- file system and application programs.
- the kernel, shell, and file system make up the basic operating system structure, and they allow users to manage files, run programs, and use the system.
- the kernel starts, activates the kernel space, abstracts hardware, initializes hardware parameters, etc., runs and maintains virtual memory, scheduler, signal and inter-process communication (IPC).
- IPC inter-process communication
- the Shell and user applications are loaded.
- the application is started, it is compiled into machine code to form a process.
- the system is divided into four layers, from top to bottom are respectively the application (Applications) layer (abbreviated as “application layer”), application framework (Application Framework) layer (abbreviated as “framework layer”) "), Android runtime (Android runtime) and system library layer (referred to as “system runtime layer”), and the kernel layer.
- application layer application layer
- application framework Application Framework
- Android runtime Android runtime
- system library layer system library layer
- there is at least one application program running in the application program layer and these application programs can be window (Window) program, system setting program or clock program etc. that come with the operating system; they can also be developed by third-party developers. s application.
- the application program packages in the application program layer are not limited to the above examples.
- the framework layer provides an application programming interface (application programming interface, API) and a programming framework for applications in the application layer.
- the application framework layer includes some predefined functions.
- the application framework layer is equivalent to a processing center, which decides to make the applications in the application layer take actions.
- the API interface Through the API interface, the application program can access the resources in the system and obtain the services of the system during execution.
- the application framework layer includes managers (Managers), content providers (Content Provider) etc.
- the manager includes at least one of the following modules: activity manager (Activity Manager) Interact with all activities running in the system; the Location Manager is used to provide system services or applications with access to the system location service; the Package Manager is used to retrieve the information currently installed on the device Various information related to the application package; Notification Manager (Notification Manager) is used to control the display and clearing of notification messages; Window Manager (Window Manager) is used to manage icons, windows, toolbars, wallpapers on the user interface and desktop widgets.
- Activity Manager Activity Manager
- the Location Manager is used to provide system services or applications with access to the system location service
- the Package Manager is used to retrieve the information currently installed on the device Various information related to the application package
- Notification Manager Notification Manager
- Window Manager Window Manager
- the activity manager is used to manage the life cycle of each application program and the general navigation back function, such as controlling the exit, opening, back, etc. of the application program.
- the window manager is used to manage all window programs, such as obtaining the size of the display screen, judging whether there is a status bar, locking the screen, capturing the screen, controlling the change of the display window (such as reducing the display window, shaking the display, distorting the display, etc.), etc.
- the system runtime layer provides support for the upper layer, that is, the framework layer.
- the Android operating system will run the C/C++ library contained in the system runtime layer to realize the functions to be realized by the framework layer.
- the kernel layer is a layer between hardware and software. As shown in Figure 4, the kernel layer at least 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 sensors, etc.), and power drives, etc.
- the kernel layer at least 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 sensors, etc.), and power drives, etc.
- the user can control the display device 200 to present different user interfaces through specific interactive actions.
- some application interfaces can be used to present live images.
- a live application program such as "XX classroom” may be installed on the display device 200 to present live images of online courses.
- the display device 200 can jump to the live interface such as the application interface corresponding to the XX classroom through the current user interface, such as the application program list interface.
- the display device 200 may also select a live room (or channel) through a specific interface.
- the " ⁇ Classroom” application may first provide a course selection interface. As shown in Figure 5, in the course selection interface, there may be live link options of different possible contents such as "public literature class, long river of history", and each live link option may be associated with one or more live rooms.
- the user selects any live link option, the user can control the display device 200 to access the live broadcast room, and obtain the live broadcast picture corresponding to the live broadcast room, and display it on the display 260 in real time.
- the live images corresponding to the same live broadcast room can be acquired by multiple display devices 200, and the multiple display devices 200 entering the same live broadcast room can communicate with each other and send instant messaging messages. Therefore, while the display device 200 displays the live broadcast image through the display 260 , it can also display the instant messaging message in the live broadcast interface.
- the users entering the live broadcast room corresponding to the same course may include teacher, student 1, student 2, student 3, student 4, student 5 and so on. These users can input instant messaging messages through their own display devices 200 . As shown in FIG. 7 , these instant messaging messages can also be displayed on the upper layer of the live broadcast screen, and scroll and present as messages are continuously input.
- the display device 200 may refresh the live broadcast interface according to the received instant messaging messages while displaying the live broadcast screen, and display the instant messaging messages on the screen above the live broadcast screen.
- the local message list is in the corresponding layer. For example, after student 5 sends out an instant messaging message "Teacher, I don't know how to do it", all display devices 200 that access the current live room need to update the local message list according to the instant messaging message sent by student 5, so that the "teacher" sent by student 5 I won't” is displayed at the bottom of the message list.
- the display device 200 can use the above refresh method to display in real time.
- the display device 200 needs to continuously render according to the sending situation of the instant messaging message, And it will be refreshed and displayed in the live broadcast interface. Therefore, when the live broadcast room accessed by the display device 200 has a large number of people and speaks frequently, the display device 200 will receive instant messaging messages sent by multiple users in a short period of time. In order to display the received messages, The display device 200 needs to frequently refresh, render and display the local message list.
- the screen refresh rate of a display device 200 such as a smart terminal is usually 60FPS, that is, refreshes 60 times per second.
- the display device 200 may block the main thread, resulting in The interface freezes.
- a display method is provided in some embodiments of the present application, and the method can be applied to the display device 200 .
- the display device 200 should at least include a display 260, a communicator 220 and a controller 250.
- the display 260 is configured to display a user interface, including a live broadcast interface.
- the communicator 220 is configured to establish a communication connection with the server 400 so as to obtain live images and instant messaging messages from the server 400 .
- the controller 250 is configured to execute the above display method, so as to control the display process of live images and instant messaging messages.
- the system includes a server 400 , a control device 100 and a display device 200 .
- the display device 200 may be a display device as shown in FIG. 3 .
- the display device interacts with the server 400 through the communicator 220, and the controller 250 receives an input control instruction for entering the live broadcast room.
- various control commands can be input through the control device 100 according to the user interaction strategy defined by the operating system of the display device 200 .
- part of the control instructions are used to control the display device 200 to enter the live broadcast room and present the live broadcast images. Therefore, when the display device 200 detects the input control command, it can start to display the live broadcast interface, and apply the display method in the embodiment of the present application to display the live broadcast picture and the instant messaging message.
- the control instruction for entering the live broadcast room can be input in various ways.
- the focus cursor in the interface of the display device 200 can be controlled to move through the control device 100 matched with the display device 200, such as a remote control or a smart terminal, and specific options can be selected sequentially based on different user interfaces to control
- the display device 200 enters the live broadcast room.
- the focus cursor can be controlled to select "My"-"Application"-"XX classroom” in turn, and the display device 200 can be controlled to start the live broadcast application. Then select any live link option from the presented application interface to control access to the live room.
- the interactive operation can also be performed through touch.
- the live broadcast application is started by sequentially selecting "My"-"Application"-"XX classroom", and then through touch interaction operation, select any live link option, so that the control enters the live broadcast room.
- a control instruction for entering the live broadcast room may also be input based on the intelligent voice system.
- voice content such as "I want to watch the live broadcast of the course” and "Open ⁇ classroom” can be input through the far-field microphone of the display device 200 or the built-in microphone of the control device 100 .
- the intelligent voice system converts the voice into text, and then extracts the semantics through the natural language processing model, thereby generating control instructions according to the semantics, controlling the display device 200 to open the live broadcast application, and enter the live broadcast room.
- control instruction is only an example of a specific input manner, and the input process of the control instruction is not limited thereto.
- other input methods that those skilled in the art can think of, as well as other input methods adopted to adapt to different interaction strategies of the display device 200, all belong to the protection scope of the present application.
- the display device 200 may receive a live broadcast image in response to the control instruction. Live images are usually generated by recording specific images in real time. After the display device 200 that opens the live broadcast room generates the live broadcast picture, it can transmit the live broadcast picture to the server 400 in real time, and the server 400 can distribute the live broadcast picture to the display devices 200 corresponding to different live room access users, so that the display device 200 Can receive live video. After receiving the live broadcast picture, the display device 200 may render the live broadcast picture, generate a live broadcast interface, and display it through the display 260 .
- the display device 200 can also receive instant messaging messages in real time.
- the instant messaging message can be sent by any user who visits the current live broadcast room.
- the instant messaging message sent will be sent to the server 400 first, and the server 400 will push the instant messaging message to each user in the current live broadcast room, including the user who initiated the live broadcast room. users and users who visit the live broadcast room.
- the instant messaging message can be displayed according to real-time display or cache delay.
- the display device 200 may acquire the current number of users in the live broadcast room in real time while acquiring the live broadcast images and instant messaging messages, so as to determine whether to adjust the display mode of instant messaging messages according to the current number of users.
- the display device 200 acquires the current number of users in the live broadcast room.
- the current number of users may be compared with a threshold value of the number of users.
- the display 260 is directly controlled to display the instant messaging message in real time.
- the display of instant messaging messages can be Adjust the method to reduce the impact of the instant messaging message refresh process on the main thread by delaying the display of instant messaging messages, and improve the stuttering phenomenon.
- the current number of users can also be used to control the delayed display process.
- the display device 200 uses the delayed display method to display instant messaging messages, in step S914, the display device 200 can create a message cache list , the message cache list is used to store instant messaging messages, that is, the instant messaging messages received from the server 400 may not be displayed in real time, but temporarily stored in the message cache list first.
- the interface is refreshed to display the stored instant messaging messages.
- the upper limit of the number of caches and the refresh delay time of the message cache list can be adjusted according to the current user. Quantity setting.
- the display device 200 may acquire the refresh rate of the display 260 after acquiring the current number of users.
- screen refresh rates of displays 260 of different display devices 200 are different.
- the refresh rate of the common monitor 260 is 60 Hz
- the refresh rate of the professional monitor 260 is 120 Hz.
- different refresh rates can be used in different display modes.
- the screen refresh rate of a smart TV is 60 Hz when displaying a media asset screen
- the screen refresh rate of a smart TV is 60 Hz when it is connected to a game device to display a game screen.
- the screen refresh rate is 120Hz. Therefore, when the display device 200 obtains the refresh rate of the display 260 , it can determine the refresh rate based on the type and operation mode of the display device 200 .
- the display device 200 may calculate the ratio of the current number of users to the refresh rate of the display 260 .
- maxChacheCount represents the upper limit of the number of caches
- ceil(9) represents the calculation function that returns the smallest integer greater than or equal to the specified expression
- memberCount represents the current number of users
- fps represents the refresh rate of the display 260.
- the display device 200 may calculate the refresh delay time according to the upper limit of the cache number and the minimum refresh interval, that is, calculate the product of the upper limit of the cache number and the minimum refresh interval as the refresh delay time delayTime. For example, after calculating and obtaining the upper limit maxChacheCount of the number of caches and the minimum refresh interval of 0.016s, the display device 200 may calculate maxChacheCount ⁇ 0.016 as the refresh delay time delayTime.
- the display device 200 can store the obtained instant messaging messages in the message cache list, and based on the created message cache list IM messages are displayed with a delay. In the process of implementing delayed display, the display device 200 can detect the instant messaging messages stored in the message cache list, and in steps S915 and S918, determine the parameters of the instant messaging messages in the message cache list, such as cache quantity and/or storage time .
- the instant messaging messages in the message cache list may be displayed according to the parameters of the instant messaging messages in the message cache list.
- steps S916 and S919 by comparing the buffer quantity with the upper limit of the cache quantity, as well as the storage time and refresh delay time, it is determined whether the display condition of the instant messaging message is satisfied.
- this condition i.e. "Yes" branch
- the display condition of the instant messaging message is met, so in step S917, the display 260 may be controlled to display the instant messaging message in the message cache list.
- the high-concurrency message display method provided by the above embodiments can enable the message delay display function by creating a message cache list when there are a large number of users in the live broadcast room, so as to reduce the number of refreshes during the instant messaging message display process and improve the interface Caton problem.
- the upper limit of the number of caches and the refresh delay time in the message cache list can be set according to the current number of users, different judgment conditions can be adopted for different numbers of users, so it can take into account the display timeliness and interface fluency of instant communication messages, Improve user experience.
- the display device 200 may create a local message list after entering the live broadcast room, wherein the local message list is used to display instant messaging messages in real time.
- the instant messaging messages can be arranged in the same order in the local message list as the message columns in the live broadcast interface, for example, new messages are placed below old messages. Therefore, when displaying instant messaging messages, the display screen can be rendered directly according to the local message list.
- the display device 200 can extract the receiving time of the control command, that is, after the display device 200 receives the control command input by the user, it can record the input time of the control command as the receiving time. Then request historical information from the server 400 according to the receiving time, that is, after extracting the receiving time, the display device 200 may generate a request instruction, and the request instruction may include the receiving time. Then, the generated request instruction is sent to the server 400, so that the server 400 can feed back historical information for the request instruction.
- the historical message is an instant messaging message within a preset synchronization period before the receiving time.
- the history message fed back by the server 400 should not be too much, so as to reduce the synchronization time; and the history message fed back by the server 400 should not be too small, so that the user can understand the communication status in the live broadcast room and meet the user's needs. Therefore, the preset synchronization period can be comprehensively determined according to factors such as the storage capacity of the server 400 and the communication frequency of users in the current live broadcast room.
- the preset synchronization period may be an integer multiple of the refresh delay time.
- the display device 200 After acquiring the historical messages, the display device 200 adds the historical messages to the local message list, so as to display them together with the live broadcast images to form a live broadcast interface. For example, when user 1 enters any live room of the live classroom through the display device 200, the display device 200 can send an HTTP request to the instant messaging module of the server 400 to obtain historical messages (historyMessages) of the live room, and then add the historyMessages to the local message list (msgList), and then load and display the messages in msgList through the UI refresh method.
- the display device 200 can send an HTTP request to the instant messaging module of the server 400 to obtain historical messages (historyMessages) of the live room, and then add the historyMessages to the local message list (msgList), and then load and display the messages in msgList through the UI refresh method.
- the display device 200 when the display device 200 builds the local message list, it can also refresh the user interface based on the local message list by adding the instant messaging messages in the message cache list to the local message list, so as to realize instant messaging in the cache list. Communication messages are displayed.
- the display device 200 can display historical messages and instant messaging messages in real time based on the local message list, since the display device 200 can add messages to the local message list according to time order, so in the live interface The displayed messages can still maintain the original speaking order of the instant messages, so as to alleviate the problem of display errors.
- the messages that are displayed due to delay may be temporarily stored in the message cache list, and displayed when the stored number is greater than the upper limit of the cached number or the stored time reaches the refresh delay time.
- the upper limit of the number of caches and the refresh delay time are set according to the number of users in the current live broadcast room, but the number of users in the live broadcast room is constantly changing with the live broadcast, that is, during the live broadcast, users will enter or exit from time to time Live room, therefore, as shown in Figure 11, in some embodiments, the display device 200 can modify the upper limit of the number of caches and the refresh delay time according to the change in the number of users in the live room, so that the display process of the live screen takes into account fluency and timeliness sex.
- the display device 200 can obtain user update information in the live broadcast room, which can include user names entering or exiting the live broadcast room, time of entry or exit, etc., used to indicate joining or exiting the current live broadcast between user information.
- user update information can also be obtained through the server 400, that is, when any user enters or leaves the live broadcast room, the server 400 can be triggered to generate user update information, and the generated update information can also be pushed through data , sent to all users in the live room.
- the display device 200 can modify the current number of users according to the number update information, and set the upper limit of the cache number and refresh delay time according to the modified current number of users.
- the server 400 can push user update information to other display devices 200 in the live broadcast room except for user 1's display device 200, and these display devices 200 can update the information according to the number of users previously received and the user update information.
- the display device 200 recalculates the upper limit of the number of caches and the refresh delay time according to the method provided in the above-mentioned embodiment, namely:
- maxChacheCount indicates the upper limit of the number of caches
- ceil(9) indicates the return of the minimum integer calculation function greater than or equal to the specified expression
- (memberCount+1) indicates the current number of users
- fps indicates the refresh rate of the monitor 260
- delayTime indicates the refresh delay time .
- the display device 200 can reset the upper limit of the number of caches and the refresh delay time according to the modified current number of users, so that the delayed display process of the display device 200 can automatically adapt to the number of users in the live broadcast room, taking into account the smoothness of the display sex and timeliness.
- step S1103 when the display device 200 sets the upper limit of the number of caches and the refresh delay time according to the modified current number of users, in step S1103, traverse the user To update the number of user changes in the information, compare the number of user changes obtained through traversal with a preset update threshold to determine whether the number of user changes is greater than or equal to the update threshold (step S1104).
- step S1105 If the number of user changes is greater than or equal to the update threshold (that is, "yes” branch), then in step S1105, set the upper limit of the number of caches and the refresh delay time according to the modified current number of users, so as to set the upper limit of the number of caches and the refresh delay according to the reset Time, implement the delay display function to take into account fluency and timeliness. And if the number of user changes is less than the update threshold ("No" branch), then in step S1107, the upper limit of the cache number and the refresh delay time are maintained, that is, the message cache list is not modified, so as to avoid frequent calculations and excessive consumption of the processing power of the display device 200 .
- the display device 200 can also display the user's entry or exit status of the live broadcast room while displaying the live broadcast picture and instant messaging messages.
- the live broadcast interface may display prompt text such as "user 1 has entered the live broadcast room". These prompts are generally displayed in real time as the user enters or exits the live broadcast room operation, and when there are many people in the live broadcast room, the display device 200 also needs to frequently refresh the UI interface, which may cause a stuck problem.
- the display device 200 may also enable the delayed display function when displaying the prompt information, that is, add the user information added to the current live broadcast room in the user update information to the message cache list (step S1106 ).
- the message display method provided in the above embodiment can delay the display of instant messaging messages when there are a large number of users in the live broadcast room, the impact of the high concurrent message refresh process on the main thread can be reduced, wherein the delayed display process can be carried out through two conditions Trigger, and different trigger conditions, different display control methods can be used in the display process. That is, in some embodiments, when the number of instant messaging messages in the message cache list is greater than or equal to the upper limit of the cache number, the display device 200 can detect the enabled state of the local delayed refresh task, wherein the local delayed refresh task is a control delay The displayed task, after the task is started, can be displayed according to the set delay time. For example, when a delay of 1s is set to display messages, the display device 200 may display the content in the message cache list every 1s.
- the display device 200 when judging that the number of instant messaging messages in the message cache list is greater than or equal to the upper limit of the number of buffers, the display device 200 will no longer be controlled by the local delayed refresh task to complete the delayed display, that is, if the opening state of the local delayed refresh task is enabled , then the delayed timing of the local delayed refresh task can be stopped to display the instant messaging messages in the message cache list in real time, and after the instant messaging messages in the message cache list are displayed, the delayed timing of the local delayed refresh task can be started.
- the message of msgCacheList is added to the local message list msgList.
- the local delayed refresh task is enabled, the task is canceled and the live interface is refreshed. Display all messages in msgCacheList at this time.
- the display device 200 may also detect the enabled status of the local delayed refresh task, if the enabled status of the local delayed refresh task is If not enabled, enable the local delayed refresh task to control the delayed display process according to the local delayed refresh task.
- the local delayed refresh task when judging the number of users in the message cache list msgCacheList.count ⁇ maxChacheCount, if the local delayed refresh task is not enabled, then enable the delayed refresh task and set the delay time to delayTime, so that the live broadcast interface will be refreshed after the delay time is reached Action to display all messages.
- the high-concurrency message display method provided in the above embodiments can reduce the frequency of message refresh by delaying the refreshing of the live interface, so that the display device 200 can cache the messages received first, and delay them after a certain period of time. Refresh the message interface again to improve the fluency of the display process. At the same time, in order to avoid untimely display caused by too many messages in the delay time, the message interface is refreshed in time to display all messages by limiting the cache to a certain amount.
- the display device 200 can also dynamically adjust the delayed refresh time and maximum cache limit according to the number of users in the live broadcast room, and can flexibly adjust the refresh frequency to alleviate the problem of interface refresh lag caused by concurrent messages while maximizing the timeliness of message display .
- a display device 200 is also provided, and the display device 200 includes: a display 260 , a communicator 220 and a controller 250 .
- the display 260 is used for displaying a user interface;
- the communicator 220 is used for establishing a communication connection between the display device 200 and the server 400 .
- the controller 250 is configured to perform the following steps:
- step S1201 receiving and inputting a control instruction for entering the live broadcast room
- step S1202 in response to the control instruction, request the server to obtain the current number of users and/or instant messaging messages in the live broadcast room;
- step S1203 obtain the current number of users from the server
- step S1204 a message cache list is created, and the message cache list is used to store the instant messaging messages; the upper limit of the cache number and refresh delay time of the message cache list are set according to the current number of users;
- step S1205 it is judged whether the number of instant messaging messages in the message cache list is greater than or equal to the upper limit of the number of caches, or whether the storage time of instant messaging messages in the message cache list is greater than or equal to When equal to the refresh delay time.
- step S1206 the instant messaging messages in the message cache list are displayed.
- the display device 200 provided in the above embodiments can obtain the current number of users in the live broadcast room after the user controls the display device 200 to enter the live broadcast room, and then create a message for temporarily buffering instant messaging messages according to the current number of users
- the cache list so that when the status of the messages in the message cache list meets a specific condition, the instant messaging messages in the message cache list are displayed.
- the specific condition includes that the number of instant messaging messages in the message cache list is greater than or equal to the upper limit of the cache number, or the storage time of instant messaging messages in the message cache list is greater than or equal to the refresh delay time.
- the display device 200 can temporarily store instant messaging messages in the message cache list, and when high concurrent instant messaging messages are sent, it can reduce the number of screen refreshes in the live broadcast room, thereby alleviating the problem of interface freeze.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及显示设备以及显示方法。显示设备包括:显示器,被配置为显示通过网络和/或广播***获取的图像和用户界面;通信器,被配置为与服务器建立通信连接;控制器,被配置为:接收用户输入的用于进入直播间的控制指令;响应于所述控制指令,获取直播间内的当前用户数量和即时通信消息;创建消息缓存列表,所述消息缓存列表用于存储所述即时通信消息,所述消息缓存列表的缓存数量上限和/或刷新延迟时间根据所述当前用户数量设定;以及根据所述消息缓存列表内的即时通信消息的参数来显示所述消息缓存列表内的即时通信消息。
Description
相关申请的交叉引用
本申请要求于2021年11月8日提交的申请号为202111312731.6的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及智能显示设备技术领域,尤其涉及一种显示设备及高并发消息显示方法。
显示设备是指能够输出具体显示画面的终端设备,可以是智能电视、通信终端、智能广告屏、投影仪等终端设备。以智能电视为例,智能电视是基于Internet应用技术,具备开放式操作***与芯片,拥有开放式应用平台,可实现双向人机交互功能,集影音、娱乐、数据等多种功能于一体的电视产品,用于满足用户多样化和个性化需求。
显示设备可以通过直播应用接入直播平台,为用户实时呈现直播画面。例如,显示设备中可以安装“直播课堂”应用,显示设备通过运行直播课堂应用访问特定直播间,以实时接收该直播间对应的直播课程画面,并进行显示。为了增加直播的互动性,部分直播应用支持即时通信消息功能,即对于同一直播间内的多个用户,可以通过发送即时通信消息进行交流。因此,显示设备在播放直播画面的过程中,也可以对即时通信消息进行同步展示。
但是,当同一个直播间内的用户数量较多时,显示设备会在短时间内接收到较多数量的即时通信消息,则为了将这些即时通信消息进行显示,显示设备需要不断刷新UI界面,因此会阻塞主线程任务,造成界面卡顿。
发明内容
本申请实施例提供了一种显示设备,包括:显示器,被配置为显示通过网络和/或广播***获取的图像和用户界面;通信器,被配置为与服务器建立通信连接;控制器,被配置为:接收用户输入的用于进入直播间的控制指令;响应于所述控制指令,获取直播间内的当前用户数量和即时通信消息;创建消息缓存列表,所述消息缓存列表用于存储所述即时通信消息,所述消息缓存列表的缓存数量上限和/或刷新延迟时间根据所述当前用户数量设定;以及根据所述消息缓存列表内的即时通信消息的参数来显示所述消息缓存列表内的即时通信消息。
本申请实施例还提供了一种显示方法,应用于显示设备,所述显示设备包括显示器、通信器以及控制器,所述方法包括:接收用户输入的用于进入直播间的控制指令;响应于所述控制指令,获取直播间内的当前用户数量和即时通信消息;创建消息缓存列表,所述消息缓存列表用于存储所述即时通信消息;所述消息缓存列表的缓存数量上限和/或刷新延迟时间根据所述当前用户数量设定;根据所述消息缓存列表内的即时通信消息的参数来显示所述消息缓存列表内的即时通信消息。
图1为本申请实施例中显示设备的使用场景;
图2为本申请实施例中控制装置的硬件配置框图;
图3为本申请实施例中显示设备的硬件配置图;
图4为本申请实施例中显示设备的软件配置图;
图5为本申请实施例中直播应用界面示意图;
图6为本申请实施例中直播画面显示效果图;
图7为本申请实施例中实时通信消息显示效果示意图;
图8为本申请实施例中显示高并发消息的情境和信息流的图;
图9为本申请实施例中对比用户数量的流程示意图;
图10为本申请实施例中显示历史消息的情境和信息流的图;
图11为本申请实施例中修改消息缓存列表参数的流程示意图;以及
图12为本申请实施例中高并发消息显示方法的流程图。
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申 请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的***和方法的示例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
图1为根据实施例中显示设备的使用场景的示意图。如图1所示,显示设备200还与服务器400进行数据通信,用户可通过智能设备300或控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式中的至少一种,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等至少一种输入用户指令,来控制显示设备200。
在一些实施例中,智能设备300可以包括移动终端、平板电脑、计算机、笔记本电脑,AR/VR设备等中的任意一种。
在一些实施例中,也可以使用智能设备300以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。
在一些实施例中,也可以使用智能设备300和显示设备进行数据的通信。
在一些实施例中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制装置来接收用户的语音指令控制。
在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
图2为根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。
在一些实施例中,通信接口130用于和外部通信,包含WIFI芯片,蓝牙模块,NFC或可替代模块中的至少一种。
在一些实施例中,用户输入/输出接口140包含麦克风,触摸板,传感器,按键或可替代模块中的至少一种。
图3为根据示例性实施例中显示设备200的硬件配置框图。
在一些实施例中,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
在一些实施例中控制器包括中央处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。
在一些实施例中,显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面等。
在一些实施例中,显示器260可为液晶显示器、OLED显示器、以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。
在一些实施例中,调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及EPG数据信号。
在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与控制装置100或服务器400建立控制信号和数据信号的发送和接收。
在一些实施例中,检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
在一些实施例中,外部装置接口240可以包括但不限于如下:高清多媒体接口接口(HDMI)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(CVBS)、USB输入接口(USB)、RGB端 口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。
在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器260上显示UI对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接、图标或其他可操作的控件。与所选择的对象有关操作有:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。
在一些实施例中控制器包括中央处理器(Central Processing Unit,CPU),视频处理器,音频处理器,图形处理器(Graphics Processing Unit,GPU),RAM Random Access Memory,RAM),ROM(Read-Only Memory,ROM),用于输入/输出的第一接口至第n接口,通信总线(Bus)等中的至少一种。
CPU处理器。用于执行存储在存储器中操作***和应用程序指令,以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。CPU处理器,可以包括多个处理器。如,包括一个主处理器以及一个或多个子处理器。
在一些实施例中,图形处理器,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等中的至少一种。图形处理器包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象;还包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。
在一些实施例中,视频处理器,用于将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频处理中的至少一种,可得到直接可显示设备200上显示或播放的信号。
在一些实施例中,视频处理器,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等中的至少一种。其中,解复用模块,用于对输入音视频数据流进行解复用处理。视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。帧率转换模块,用于对转换输入视频帧率。显示格式化模块,用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出RGB数据信号。
在一些实施例中,音频处理器,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理中的至少一种,得到可以在扬声器中播放的声音信号。
在一些实施例中,用户可在显示器260上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
在一些实施例中,“用户界面”,是应用程序或操作***与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素中的至少一种。
在一些实施例中,用户接口280,为可用于接收控制输入的接口(如:显示设备本体上的实体按键,或其他等)。
在一些实施例中,显示设备的***可以包括内核(Kernel)、命令解析器(shell)、文件***和应用程序。内核、shell和文件***一起组成了基本的操作***结构,它们让用户可以管理文件、运行程序并使用***。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(IPC)。内核启动后,再加载Shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
参见图4,在一些实施例中,将***分为四层,从上至下分别为应用程序(Applications)层(简称“应用层”),应用程序框架(Application Framework)层(简称“框架层”),安卓运行时(Android runtime)和***库层(简称“***运行库层”),以及内核层。
在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作***自带的窗口(Window)程序、***设置程序或时钟程序等;也可以是第三方开发者所开发的应用程序。在 具体实施时,应用程序层中的应用程序包不限于以上举例。
框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过API接口,可在执行中访问***中的资源和取得***的服务。
如图4所示,本申请实施例中应用程序框架层包括管理器(Managers),内容提供者(Content Provider)等,其中管理器包括以下模块中的至少一个:活动管理器(Activity Manager)用与和***中正在运行的所有活动进行交互;位置管理器(Location Manager)用于给***服务或应用提供了***位置服务的访问;文件包管理器(Package Manager)用于检索当前安装在设备上的应用程序包相关的各种信息;通知管理器(Notification Manager)用于控制通知消息的显示和清除;窗口管理器(Window Manager)用于管理用户界面上的括图标、窗口、工具栏、壁纸和桌面部件。
在一些实施例中,活动管理器用于管理各个应用程序的生命周期以及通常的导航回退功能,比如控制应用程序的退出、打开、后退等。窗口管理器用于管理所有的窗口程序,比如获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕,控制显示窗口变化(例如将显示窗口缩小显示、抖动显示、扭曲变形显示等)等。
在一些实施例中,***运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作***会运行***运行库层中包含的C/C++库以实现框架层要实现的功能。
在一些实施例中,内核层是硬件和软件之间的层。如图4所示,内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
基于上述显示设备200,用户可以通过特定的交互动作控制显示设备200呈现不同的用户界面。其中,部分应用界面可用于呈现直播画面。例如,在显示设备200中可以安装诸如“××课堂”的直播应用程序,用于呈现在线课程直播画面。当用户控制显示设备200启动“××课堂”应用后,显示设备200可以通过当前用户界面,如应用程序列表界面,跳转至诸如××课堂对应的应用界面的直播界面。
在一些实施例中,显示设备200呈现直播界面前,还可以通过特定的界面进行直播间(或频道)选择。例如,在启动“××课堂”应用后,“××课堂”应用可以先提供课程选择界面。如图5所示,在课程选择界面中,可以包括“文学公开课、历史的长河……”等不同的可能内容的直播链接选项,每个直播链接选项可以关联一个或多个直播间。当用户选中任一直播链接选项后,即可控制显示设备200访问该直播间,并获得该直播间对应的直播画面,并实时通过显示器260进行显示。
由于同一个直播间对应的直播画面可以被多个显示设备200获取,并且进入同一个直播间的多个显示设备200之间还可以相互交流,发送即时通信消息。因此,显示设备200在通过显示器260显示直播画面的同时,还可以在直播界面中显示即时通信消息。例如,如图6所示,进入同一个课程对应直播间的用户可以包括老师、学生1、学生2、学生3、学生4、学生5等。这些用户均可以通过自己的显示设备200输入即时通信消息。如图7所示,这些即时通信消息还可以基于直播画面的上层显示,并随着消息的不断输入,进行滚动呈现。
为了在直播界面中显示即时通信消息,在一些实施例中,显示设备200在显示直播画面的同时,可以根据接收到的即时通信消息对直播界面进行刷新,将即时通信消息显示在直播画面以上的本地消息列表对应图层中。例如,当学生5发出即时通信消息“老师我不会啊”后,访问当前直播间的所有显示设备200均需要根据学生5发出的即时通信消息更新本地消息列表,从而将学生5发出的“老师我不会啊”显示在消息列表的底部位置。同理,对于不同用户在不同时间先后发出的即时通信消息,显示设备200均可以采用上述刷新方法进行实时显示。
由于在呈现即时通信消息的过程中,本地消息列表对应的画面通常为显示在直播画面上一图层中的实时渲染画面,因此,显示设备200需要根据即时通信消息的发出情况,不断进行渲染,并刷新显示在直播界面中。因此,当显示设备200访问的直播间中人数较多,且发言较频繁时,显示设备200会在短时间内接收到多个用户发出的即时通信消息,则为了将接收到的消息进行显示,显示设备200需要频繁刷新、渲染本地消息列表并进行显示。
基于此,当显示设备200在单位时间内接收到的即时通信消息数量过多时,将会阻塞主线程,造成界面卡顿的问题。例如,智能终端等显示设备200的屏幕刷帧频率通常为60FPS,即每秒刷新60次,则当显示设备200每秒接收到即时通信消息数量超过60个时,即有可能阻塞主线程,造成界面卡顿。
为了改善在高并发消息情况下界面卡顿的问题,在本申请的部分实施例中提供一种显示方法,所述方法可以应用于显示设备200。并且,为了满足所述方法的实施,显示设备200应至少包括显示 器260、通信器220以及控制器250。其中,显示器260被配置为显示用户界面,包括直播界面。通信器220被配置为与服务器400建立通信连接,以便从服务器400获取直播画面和即时通信消息。控制器250则被配置为执行上述显示方法,以控制直播画面和即时通信消息的显示过程。图8为本申请的实施例的显示方法适用的情境和信息流的图。如图8所示,该***包括服务器400、控制装置100和显示设备200。显示设备200可以为如图3所示的显示设备。显示设备通过通信器220与服务器400交互,控制器250接收输入的用于进入直播间的控制指令。在使用显示设备200时,可以根据显示设备200操作***定义的用户交互策略,通过控制装置100输入各种控制指令。其中,部分控制指令用于控制显示设备200进入直播间,并呈现直播画面。因此,显示设备200在检测到输入的控制指令时,可以启动显示直播界面,并应用本申请实施例中的显示方法对直播画面和即时通信消息进行显示。
根据显示设备200的操作***中定义的交互策略,可以通过多种方式输入用于进入直播间的控制指令。在一些实施例中,可以通过与显示设备200配套的控制装置100,如遥控器或智能终端,来控制显示设备200界面中的焦点光标进行移动,并基于不同的用户界面依次选中特定选项,控制显示设备200进入直播间。例如,可以控制焦点光标依次选中“我的”-“应用”-“××课堂”,控制显示设备200启动直播类应用。再从呈现的应用界面中选中任一直播链接选项,以控制进入直播间。
在一些实施例中,对于支持触控交互操作的显示设备200,还可以通过触控进行交互操作。例如,在实施例中,通过依次选中“我的”-“应用”-“××课堂”来启动直播应用,再通过触控交互操作,选中任一直播链接选项,使得控制进入直播间。
在一些实施例中,对于支持智能语音交互的显示设备200,还可以基于智能语音***输入用于进入直播间的控制指令。例如,可以通过显示设备200的远场麦克风或控制装置100内置的麦克风输入“我要看课程直播”、“打开××课堂”等语音内容。智能语音***则在接收到语音内容后,将语音转化为文字,再通过自然语言处理模型提取语义,从而根据语义生成控制指令,控制显示设备200打开直播应用,并进入直播间。
需要说明的是,上述控制指令的方式仅仅作为具体输入方式的示例,控制指令的输入过程不限于此。本领域技术人员在上述输入方式的基础上,所能够联想到的其他输入方式,以及为适应不同显示设备200交互策略而采用的其他输入方式,都属于本申请的保护范围。
在输入用于进入直播间的控制指令后,显示设备200可以响应于所述控制指令,接收直播画面。直播画面通常通过实时录制特定画面来生成。开启直播间的显示设备200在生成直播画面后,可以将直播画面实时传送给服务器400,服务器400则可以将直播画面向不同的直播间访问用户对应的显示设备200进行分发,以使显示设备200可以接收到直播画面。显示设备200在接收到直播画面后,可以对直播画面进行渲染,生成直播界面,并通过显示器260进行显示。
在接收直播画面的同时,显示设备200还可以实时接收即时通信消息。即时通信消息可以由访问当前直播间的任一用户发出,发出的即时通信消息会先发送给服务器400,服务器400再将即时通信消息推送给当前直播间内的每个用户,包括发起直播间的用户和访问直播间的用户。每个用户在接收到即时通信消息后,可以根据实时显示或缓存延迟显示即时通信消息。
当直播间内的用户数量较多时,发出即时通信消息的数量也较多,因此容易因高并发消息阻塞主线程而导致界面卡顿。因此,在本申请实施例中,显示设备200可以在获取直播画面和即时通信消息的同时,实时获取直播间的当前用户数量,以根据当前用户数量确定是否需要调整即时通信消息的显示方式。
如图9所示,在一些实施例中,在步骤S910,显示设备200,获取直播间内的当前用户数量。在S911,可以对比当前用户数量与用户数量阈值。在S912,判定当前用户数量是否大于用户数量阈值。如果当前用户数量小于或等于用户数量阈值(即“否”分支),则当前直播间内的用户数量较少,不容易出现高并发消息的问题,因此显示设备200无需对即时通信消息的显示方式进行调整。在步骤S913,直接控制显示器260实时显示即时通信消息。而根据对比结果,如果当前用户数量大于用户数量阈值(即“是”分支),则当前直播间内的用户数量较多,容易出现高并发即时通信消息的问题,因此可以对即时通信消息的显示方式进行调整,以通过延迟显示即时通信消息的方式,减少即时通信消息刷新过程对主线程的影响,改善卡顿现象。
在本申请的实施例中,当前用户数量还可以用于控制延迟显示过程,当显示设备200采用延迟显示的方式进行即时通信消息的显示时,在步骤S914,显示设备200可以,创建消息缓存列表,所述消息缓存列表用于存储即时通信消息,即从服务器400接收到的即时通信消息可以不实时进行显示,而是先暂存在消息缓存列表中。当消息缓存列表中存储的即时通信消息达到预设的显示条件时,再进行界面刷新,以显示存储的即时通信消息。
由于直播间中的用户数量通常与即时通信消息的并发数量具有正相关的关系。即用户数量越多, 即时通信消息也越多。而不同的消息并发数量,将直接影响即时通信消息对主线程的阻塞程度以及显示时效性,因此为了兼顾流畅性和显示时效,所述消息缓存列表的缓存数量上限和刷新延迟时间可以根据当前用户数量设定。
为了设定消息缓存列表的缓存数量上限和刷新延迟时间,在一些实施例中,显示设备200可以在获取当前用户数量后,获取显示器260的刷新频率。显然,不同显示设备200的显示器260屏幕刷新频率是不同的。例如,普通显示器260的刷新频率为60Hz,专业显示器260的刷新频率为120Hz等。并且,对于同一个显示设备200,可以在不同显示模式下采用不同的刷新频率,如智能电视在显示媒资画面是的屏幕刷新频率为60Hz,而在接入游戏设备进行游戏画面显示的过程中,屏幕刷新频率为120Hz。因此,显示设备200可以在获取显示器260的刷新频率时,综合显示设备200的类型以及运行模式,确定刷新频率。
在获取显示器260的刷新频率后,显示设备200可以计算当前用户数量与显示器260刷新频率的比值。再根据当前用户数量与显示器260刷新频率的比值计算缓存数量上限,其中,缓存数量上限为大于或等于当前用户数量与显示器260刷新频率的比值的最小整数,即:
maxChacheCount=ceil(memberCount/fps);
其中,maxChacheCount表示缓存数量上限;ceil(……)表示返回大于或者等于指定表达式的最小整数计算函数;memberCount表示当前用户数量;fps表示显示器260的刷新频率。
通过上述公式计算获得缓存数量上限后,显示设备200再根据刷新频率计算最小刷新间隔,其中,最小刷新间隔为相邻帧显示画面之间的时间间隔,可以通过刷新频率的倒数计算获得。例如,当显示器260的刷新频率为60Hz时,最小刷新间隔为1/60=0.016s。
最后,显示设备200可以根据缓存数量上限与最小刷新间隔计算刷新延迟时间,即通过计算缓存数量上限与最小刷新间隔的乘积,作为刷新延迟时间delayTime。例如,在计算获得缓存数量上限maxChacheCount以及最小刷新间隔0.016s后,显示设备200可以计算maxChacheCount×0.016作为刷新延迟时间delayTime。
在创建消息缓存列表并根据当前用户数量设定消息缓存列表的缓存数量上限和刷新延迟时间后,显示设备200可以将获取的即时通信消息存储在消息缓存列表中,并基于创建的消息缓存列表对即时通信消息进行延迟显示。在实施延迟显示过程中,显示设备200可以对消息缓存列表中存储的即时通信消息进行检测,在步骤S915和S918,确定即时通信消息在消息缓存列表中的诸如缓存数量和/或存储时间的参数。
在本申请的实施例中,可以根据所述消息缓存列表内的即时通信消息的参数来显示所述消息缓存列表内的即时通信消息。
例如,在步骤S916和S919,通过对比缓存数量与缓存数量上限,以及存储时间与刷新延迟时间,确定是否满足即时通信消息的显示条件。当满足该条件(即“是”分支)时,即在消息缓存列表内的即时通信消息数量大于或等于缓存数量上限,或者,消息缓存列表内的即时通信消息存储时间大于或等于刷新延迟时间时,确定满足即时通信消息的显示条件,因此在步骤S917,可以控制显示器260显示消息缓存列表内的即时通信消息。
由以上实施例可知,上述实施例提供的高并发消息显示方法可以在直播间内用户数量较多时,通过创建消息缓存列表启用消息延迟显示功能,以减少即时通信消息显示过程的刷新次数,改善界面卡顿问题。并且,由于消息缓存列表中的缓存数量上限和刷新延迟时间可以根据当前用户数量设定,实现在不同用户数量时采用不同的判断条件,因此可以兼顾即使通信消息的显示时效性和界面流畅度,提高用户体验。
由于直播间对应的直播画面可以同时推送给不同用户的显示设备200,而不同显示设备200可以在不同的时间进入直播间,因此,为了及时获知直播间内的聊天状态,如图10所示,在一些实施例中,对于后进入直播间的显示设备200,还可以在进入直播间时获得历史消息。对此,显示设备200可以在进入直播间后,创建本地消息列表,其中,所述本地消息列表用于实时显示即时通信消息。为了便于显示,即时通信消息在本地消息列表中排列顺序可以与直播界面中的消息栏顺序相同,例如均为新消息位于旧消息的下方。从而在显示即时通信消息时,可以直接按照本地消息列表渲染显示画面。
在创建本地消息列表后,显示设备200可以提取控制指令的接收时间,即在显示设备200接收到用户输入的控制指令后,可以对控制指令的输入时间进行记录,作为接收时间。再根据接收时间向服务器400请求历史消息,即在提取接收时间后,显示设备200可以生成请求指令,请求指令中可以包括接收时间。再将生成的请求指令发送给服务器400,使服务器400可以针对请求指令反馈历史消息。
其中,所述历史消息为在接收时间前预设同步周期内的即时通信消息。服务器400反馈的历史 消息不宜过多,以减少同步时间;且服务器400反馈的历史消息也不宜过少,以使用户能够了解直播间内的沟通状况,满足用户需求。因此,预设同步周期可以根据服务器400的存储能力、当前直播间内的用户交流频率等因素综合确定。例如,预设同步周期可以是所述刷新延迟时间的整数倍。
显示设备200则在获取历史消息后,将历史消息添加至本地消息列表,以实现同直播画面一同进行显示,形成直播界面。例如,用户1通过显示设备200进入直播课堂的任一直播间时,显示设备200可以向服务器400的即时通信模块发送HTTP请求,获取直播间历史消息(historyMessages),再将historyMessages添加到本地消息列表(msgList)中,之后通过UI刷新方法加载并显示msgList中的消息。
在一些实施例中,当显示设备200建立本地消息列表时,还可以通过将消息缓存列表内的即时通信消息添加至本地消息列表,以基于本地消息列表刷新用户界面,实现对缓存列表内的即时通信消息进行显示。
由以上实施例可知,在上述实施例中,显示设备200可以基于本地消息列表实时显示历史消息和即时通信消息,由于显示设备200可以根据时间顺序将消息添加至本地消息列表,因此在直播界面中显示的消息仍然能够保持即时消息原有的发言顺序,缓解显示错误的问题。
在上述实施例中,由于被延迟显示的消息可以通过消息缓存列表暂存,并在存储数量大于缓存数量上限或存储时间达到刷新延迟时间时,进行显示。其中缓存数量上限和刷新延迟时间是根据当前直播间内的用户数量设定,但直播间内的用户数量是随着直播进行不断变化的,即在直播过程中,会不定时有用户进入或退出直播间,因此,如图11所示,在一些实施例中,显示设备200可以根据直播间中用户数量变化,修改缓存数量上限和刷新延迟时间,以使直播画面的显示过程兼顾流畅性和时效性。
在步骤S1101,显示设备200可以获取直播间用户更新信息,所述用户更新信息用户更新信息可以包括进入或退出直播间的用户名称、进入或退出时间等信息内容,用于表示加入或退出当前直播间的用户信息。与即时通信消息和直播画面相同,用户更新信息也可以通过服务器400获得,即在任一用户进入或离开直播间时,可以触发服务器400生成用户更新信息,生成的更新信息也可以通过数据推送的方式,发送给直播间内的所有用户。
从服务器400获取到用户更新信息后,在步骤S1102,显示设备200可以根据数量更新信息修改当前用户数量,并按照修改后的当前用户数量设置缓存数量上限和刷新延迟时间。例如,当用户1进入直播间时,服务器400可以向直播间内除用户1的显示设备200外的其他显示设备200推送用户更新信息,这些显示设备200则可以根据先前接收的用户数量和用户更新信息重新确定当前用户数量,即当前用户数量=原用户数量+1。修改当前用户数量后,显示设备200再根据上述实施例中提供的方式,重新计算缓存数量上限和刷新延迟时间,即:
maxChacheCount=ceil((memberCount+1)/fps);
delayTime=maxChacheCount×0.016;
其中,maxChacheCount表示缓存数量上限;ceil(……)表示返回大于或者等于指定表达式的最小整数计算函数;(memberCount+1)表示当前用户数量;fps表示显示器260的刷新频率;delayTime表示刷新延迟时间。
可见,通过上述计算方式,显示设备200可以按照修改后的当前用户数量重新设置缓存数量上限和刷新延迟时间,使显示设备200的延迟显示过程能够自动适应直播间内的用户数量,兼顾显示的流畅性和时效性。
由于用户进入或退出直播的行为一般为用户的个人行为,因此在直播间内的用户数量通常是缓慢变化的,而当用户数量变化较小时,并不会对显示的流畅性或时效性造成明显的影响,因此,为了减少频繁更新消息缓存列表的参数,在一些实施例中,显示设备200还可以在按照修改后的当前用户数量设置缓存数量上限和刷新延迟时间时,在步骤S1103,遍历用户更新信息中的用户变动数量,在将遍历获得的用户变动数量与预设的更新阈值进行比较以判定用户变动数量是否大于或等于更新阈值(步骤S1104)。
如果用户变动数量大于或等于更新阈值(即,“是”分支),则在步骤S1105,按照修改后的当前用户数量设置缓存数量上限和刷新延迟时间,从而按照重新设置的缓存数量上限和刷新延迟时间,执行延迟显示功能,以兼顾流畅性和时效性。而如果用户变动数量小于更新阈值(“否”分支),则在步骤S1107,维持缓存数量上限和刷新延迟时间,即不对消息缓存列表进行修改,以避免频繁运算,过度消耗显示设备200的处理能力。
对于直播界面,显示设备200在显示直播画面和即时通信消息的同时,还可以对直播间的用户进入或退出状态进行显示。例如,在用户1进入直播间时,直播界面可以显示“用户1已进入直播间”等提示文字。这些提示信息一般随着用户的进入或退出直播间操作实时进行显示,而当直播间 中的人数较多时,显示设备200也需要频繁刷新UI界面,可能造成卡顿的问题。为此,在一些实施例中,显示设备200可以在显示提示信息时,也启用延迟显示功能,即将用户更新信息中加入当前直播间的用户信息添加至消息缓存列表(步骤S1106)。
由于上述实施例中提供的消息显示方法能够在直播间内用户数量较多时,通过延迟显示即时通信消息,减少高并发消息刷新过程对主线程的影响,其中,延迟显示过程可以通过两个条件进行触发,而不同的触发条件,在显示过程中可以采用不同的显示控制方法。即在一些实施例中,当在消息缓存列表内的即时通信消息数量大于或等于缓存数量上限时,显示设备200可以检测本地延迟刷新任务的开启状态,其中,本地延迟刷新任务是一种控制延迟显示的任务,该任务在启动后,可以按照设定的延迟时间进行显示。例如,当设置延迟1s显示消息时,显示设备200可以每隔1s将消息缓存列表中的内容进行显示。
而当判断消息缓存列表内的即时通信消息数量大于或等于缓存数量上限时,此时将不再通过本地延迟刷新任务控制显示设备200完成延迟显示,即如果本地延迟刷新任务的开启状态为已开启,则可以停止本地延迟刷新任务的延迟计时,以实时显示消息缓存列表内的即时通信消息,并且在显示消息缓存列表内的即时通信消息后,启动本地延迟刷新任务的延迟计时。
例如,在判断消息缓存列表中的用户数量msgCacheList.count≥maxChacheCount时,将msgCacheList的消息添加到本地消息列表msgList中,此时,如果本地延迟刷新任务已开启,则取消该任务并刷新直播界面,显示此时msgCacheList中的全部消息。
同理,在一些实施例中,在判断到消息缓存列表内的即时通信消息数量小于缓存数量上限时,显示设备200也可以检测本地延迟刷新任务的开启状态,如果本地延迟刷新任务的开启状态为未开启,开启本地延迟刷新任务,以按照本地延迟刷新任务控制延迟显示过程。
例如,在判断消息缓存列表中的用户数量msgCacheList.count<maxChacheCount时,如果本地延迟刷新任务未开启,则开启延迟刷新任务,并设置延迟时间为delayTime,从而在到达延迟时间后,执行直播界面刷新操作,显示全部消息。
由以上实施例可知,上述实施例中提供的高并发消息显示方法,可以通过延迟刷新直播界面的方式,降低消息刷新频率,使显示设备200接收到的消息后先进行缓存,并延迟一定时间后再刷新消息界面,提高显示过程的流畅度。同时,为避免延迟时间内消息较多而导致显示不及时,还通过限制缓存达到一定数量后,及时刷新消息界面,以显示全部消息。此外,显示设备200还可以根据直播间内用户数量动态调整延迟刷新时间以及最大缓存限制,可以灵活调整刷新频率,缓解消息并发导致的界面刷新卡顿问题的同时,最大程度提高消息显示的及时性。
基于上述实施例提供的高并发消息显示方法,在本申请的部分实施例中,还提供一种显示设备200,所述显示设备200包括:显示器260、通信器220和控制器250。其中,所述显示器260用于显示用户界面;所述通信器220用于使显示设备200与服务器400建立通信连接。如图12所示,所述控制器250被配置为执行以下步骤:
在步骤S1201,接收,输入的用于进入直播间的控制指令;
在步骤S1202,响应于所述控制指令,向服务器请求以获取直播间内的当前用户数量和/或即时通信消息;
在步骤S1203,从服务器获取当前用户数量;
在步骤S1204,创建消息缓存列表,所述消息缓存列表用于存储所述即时通信消息;所述消息缓存列表的缓存数量上限和刷新延迟时间根据所述当前用户数量设定;
在步骤S1205(包括S1205A和S1205B),判断在所述消息缓存列表内的即时通信消息数量是否大于或等于所述缓存数量上限,或者,所述消息缓存列表内的即时通信消息存储时间是否大于或等于刷新延迟时间时。当满足条件时(即,基于该即时通信消息的参数),在步骤S1206(包括S1206A和S1206B)显示所述消息缓存列表内的即时通信消息。
由以上实施例可知,上述实施例提供的显示设备200可以在用户控制显示设备200进入直播间后,获取直播间内的当前用户数量,再根据当前用户数量创建用于临时缓存即时通信消息的消息缓存列表,从而在消息缓存列表中的消息状态满足特定条件时,显示消息缓存列表内的即时通信消息。其中,特定条件包括消息缓存列表内的即时通信消息数量大于或等于所述缓存数量上限,或者,消息缓存列表内的即时通信消息存储时间大于或等于刷新延迟时间。所述显示设备200可以通过消息缓存列表暂存即时通信消息的方式,在高并发即时通消息时,能够减少直播间画面的刷新次数,从而缓解界面卡顿的问题。
以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请实施例所扩展出的任何其他实施方式都属于本申请的保护范围。
Claims (12)
- 一种显示设备,包括:显示器,被配置为显示通过网络和/或广播***获取的图像和用户界面;通信器,被配置为与服务器建立通信连接;控制器,被配置为:接收用户输入的用于进入直播间的控制指令;响应于所述控制指令,获取直播间内的当前用户数量和即时通信消息;创建消息缓存列表,所述消息缓存列表用于存储所述即时通信消息,所述消息缓存列表的缓存数量上限和/或刷新延迟时间根据所述当前用户数量设定;以及根据所述消息缓存列表内的即时通信消息的参数来显示所述消息缓存列表内的即时通信消息。
- 根据权利要求1所述的显示设备,其中,所述即时通信消息的参数包括所述即时通信消息数量和/或所述即时通信消息的存储时间,所述控制器被进一步配置为:在所述消息缓存列表内的即时通信消息数量大于或等于所述缓存数量上限,和/或所述消息缓存列表内的即时通信消息存储时间大于或等于刷新延迟时间时,显示所述消息缓存列表内的即时通信消息。
- 根据权利要求1所述的显示设备,其中,所述控制器被进一步配置为:创建本地消息列表,所述本地消息列表用于实时显示即时通信消息;提取所述控制指令的接收时间;根据所述接收时间向所述服务器请求历史消息,所述历史消息为在所述接收时间前预设同步周期内的即时通信消息;将所述历史消息添加至所述本地消息列表。
- 根据权利要求2所述的显示设备,其中,所述控制器被进一步配置为:在显示所述消息缓存列表内的即时通信消息的步骤中,将所述消息缓存列表内的即时通信消息添加至所述本地消息列表;基于所述本地消息列表刷新所述用户界面。
- 根据权利要求1所述的显示设备,其中,所述控制器被进一步配置为:获取直播间用户更新信息,所述用户更新信息用于表示加入或退出当前直播间的用户信息;根据所述数量更新信息修改当前用户数量;按照修改后的当前用户数量设置所述缓存数量上限和/或所述刷新延迟时间。
- 根据权利要求5所述的显示设备,其中,所述控制器被进一步配置为:在按照修改后的当前用户数量设置所述缓存数量上限和/或所述刷新延迟时间的步骤中,遍历所述用户更新信息中的用户变动数量;如果所述用户变动数量大于或等于更新阈值,按照修改后的当前用户数量设置所述缓存数量上限和所述刷新延迟时间;将所述用户更新信息中加入当前直播间的用户信息添加至所述消息缓存列表;如果所述用户变动数量小于所述更新阈值,维持所述缓存数量上限和所述刷新延迟时间。
- 根据权利要求1所述的显示设备,其中,在所述消息缓存列表内的即时通信消息数量大于或等于所述缓存数量上限时,所述控制器被进一步配置为:检测本地延迟刷新任务的开启状态;如果所述本地延迟刷新任务的开启状态为已开启,停止所述本地延迟刷新任务的延迟计时,以实时显示所述消息缓存列表内的即时通信消息;在显示所述消息缓存列表内的即时通信消息后,启动所述本地延迟刷新任务的延迟计时。
- 根据权利要求1所述的显示设备,其中,在所述消息缓存列表内的即时通信消息数量小于所述缓存数量上限时,所述控制器被进一步配置为:检测本地延迟刷新任务的开启状态;如果所述本地延迟刷新任务的开启状态为未开启,开启所述本地延迟刷新任务。
- 根据权利要求1所述的显示设备,其中,所述控制器被进一步配置为:在创建消息缓存列表的步骤前,对比当前用户数量与用户数量阈值;如果所述当前用户数量小于或等于所述用户数量阈值,实时显示所述即时通信消息;如果所述当前用户数量大于所述用户数量阈值,创建消息缓存列表。
- 根据权利要求1所述的显示设备,其中,所述控制器被进一步配置为:在创建消息缓存列表的步骤中,获取所述显示器的刷新频率;计算当前用户数量与显示器刷新频率的比值;根据所述比值计算所述缓存数量上限,所述缓存数量上限为大于或等于所述比值的最小整数;根据所述刷新频率计算最小刷新间隔;计算所述缓存数量上限与所述最小刷新间隔的乘积,作为所述刷新延迟时间。
- 一种显示方法,应用于显示设备,所述显示设备包括显示器、通信器以及控制器,所述方法包括:接收用户输入的用于进入直播间的控制指令;响应于所述控制指令,获取直播间内的当前用户数量和即时通信消息;创建消息缓存列表,所述消息缓存列表用于存储所述即时通信消息;所述消息缓存列表的缓存数量上限和/或刷新延迟时间根据所述当前用户数量设定;根据所述消息缓存列表内的即时通信消息的参数来显示所述消息缓存列表内的即时通信消息。
- 根据权利要求11所述的方法,其中,所述即时通信消息的参数包括所述即时通信消息数量和/或所述即时通信消息的存储时间,显示所述消息缓存列内的即时通信消息包括:在所述消息缓存列表内的即时通信消息数量大于或等于所述缓存数量上限,和/或所述消息缓存列表内的即时通信消息存储时间大于或等于刷新延迟时间时,显示所述消息缓存列表内的即时通信消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202280063188.7A CN117981331A (zh) | 2021-11-08 | 2022-09-23 | 显示设备及其显示方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111312731.6 | 2021-11-08 | ||
CN202111312731.6A CN114040254B (zh) | 2021-11-08 | 2021-11-08 | 一种显示设备及高并发消息显示方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023077991A1 true WO2023077991A1 (zh) | 2023-05-11 |
Family
ID=80143210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/120860 WO2023077991A1 (zh) | 2021-11-08 | 2022-09-23 | 显示设备及其显示方法 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN114040254B (zh) |
WO (1) | WO2023077991A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114040254B (zh) * | 2021-11-08 | 2023-07-18 | 聚好看科技股份有限公司 | 一种显示设备及高并发消息显示方法 |
CN114885203A (zh) * | 2022-07-05 | 2022-08-09 | 杭州星犀科技有限公司 | 弹幕反向抓取方法及装置、存储介质和终端 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106454484A (zh) * | 2016-10-26 | 2017-02-22 | 福建中金在线信息科技有限公司 | 一种直播室消息的显示方法及装置 |
CN107087236A (zh) * | 2017-03-22 | 2017-08-22 | 北京潘达互娱科技有限公司 | 一种直播信息展示方法及装置 |
CN109547563A (zh) * | 2018-12-14 | 2019-03-29 | 中国平安人寿保险股份有限公司 | 消息推送处理方法、装置、存储介质及服务器 |
CN111083514A (zh) * | 2019-12-26 | 2020-04-28 | 北京达佳互联信息技术有限公司 | 一种直播方法、装置、电子设备和存储介质 |
CN111586437A (zh) * | 2020-04-08 | 2020-08-25 | 天津车之家数据信息技术有限公司 | 一种弹幕消息处理方法、***、计算设备及存储介质 |
WO2021073248A1 (zh) * | 2019-10-16 | 2021-04-22 | 北京字节跳动网络技术有限公司 | 消息发送方法、装置、可读介质及电子设备 |
CN114040254A (zh) * | 2021-11-08 | 2022-02-11 | 聚好看科技股份有限公司 | 一种显示设备及高并发消息显示方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408159A (zh) * | 2017-08-14 | 2019-03-01 | 阿里巴巴集团控股有限公司 | 界面消息显示及处理方法、装置及电子设备 |
-
2021
- 2021-11-08 CN CN202111312731.6A patent/CN114040254B/zh active Active
-
2022
- 2022-09-23 WO PCT/CN2022/120860 patent/WO2023077991A1/zh active Application Filing
- 2022-09-23 CN CN202280063188.7A patent/CN117981331A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106454484A (zh) * | 2016-10-26 | 2017-02-22 | 福建中金在线信息科技有限公司 | 一种直播室消息的显示方法及装置 |
CN107087236A (zh) * | 2017-03-22 | 2017-08-22 | 北京潘达互娱科技有限公司 | 一种直播信息展示方法及装置 |
CN109547563A (zh) * | 2018-12-14 | 2019-03-29 | 中国平安人寿保险股份有限公司 | 消息推送处理方法、装置、存储介质及服务器 |
WO2021073248A1 (zh) * | 2019-10-16 | 2021-04-22 | 北京字节跳动网络技术有限公司 | 消息发送方法、装置、可读介质及电子设备 |
CN111083514A (zh) * | 2019-12-26 | 2020-04-28 | 北京达佳互联信息技术有限公司 | 一种直播方法、装置、电子设备和存储介质 |
CN111586437A (zh) * | 2020-04-08 | 2020-08-25 | 天津车之家数据信息技术有限公司 | 一种弹幕消息处理方法、***、计算设备及存储介质 |
CN114040254A (zh) * | 2021-11-08 | 2022-02-11 | 聚好看科技股份有限公司 | 一种显示设备及高并发消息显示方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117981331A (zh) | 2024-05-03 |
CN114040254B (zh) | 2023-07-18 |
CN114040254A (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114302219B (zh) | 一种显示设备及可变帧率显示方法 | |
WO2023077991A1 (zh) | 显示设备及其显示方法 | |
CN113507638B (zh) | 显示设备及投屏方法 | |
CN112995551A (zh) | 一种声音控制方法及显示设备 | |
CN114302238B (zh) | 一种音箱模式下提示信息的展示方法及显示设备 | |
CN113781957B (zh) | 防止显示设备烧屏的方法及显示设备 | |
CN112667184A (zh) | 一种显示设备 | |
CN114302201B (zh) | 一种音箱模式下自动开关屏的方法及智能终端、显示设备 | |
CN112486921B (zh) | 一种文件同步方法、显示设备及移动终端 | |
CN112601117B (zh) | 显示设备和内容展示方法 | |
CN113055728A (zh) | 一种多设备同步播放方法及显示设备 | |
CN112954376A (zh) | 一种视频播放方法及显示设备 | |
CN112752156A (zh) | 字幕调整方法及显示设备 | |
CN114302204A (zh) | 一种分屏播放方法及显示设备 | |
CN114302021A (zh) | 显示设备和音画同步方法 | |
CN114095769B (zh) | 一种应用级播放器的直播低延迟处理方法及显示设备 | |
CN112601109A (zh) | 音频播放方法及显示设备 | |
CN115103144A (zh) | 显示设备及音量条显示方法 | |
CN114007119A (zh) | 视频播放方法及显示设备 | |
CN113596559A (zh) | 一种信息栏显示信息的方法及显示设备 | |
CN114302070A (zh) | 显示设备和音频输出方法 | |
CN112911371A (zh) | 双路视频资源播放方法及显示设备 | |
CN112631796A (zh) | 一种显示设备及文件拷贝进度的展示方法 | |
CN113038221B (zh) | 一种双路视频播放方法及显示设备 | |
CN113709557B (zh) | 一种音频输出的控制方法及显示设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22889018 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202280063188.7 Country of ref document: CN |