Detailed Description
For the purposes of making the objects and embodiments of the present application more apparent, an exemplary embodiment of the present application will be described in detail below with reference to the accompanying drawings in which exemplary embodiments of the present application are illustrated, it being apparent that the exemplary embodiments described are only some, but not all, of the embodiments of the present application.
It should be noted that the brief description of the terminology in the present application is for the purpose of facilitating understanding of the embodiments described below only and is not intended to limit the embodiments of the present application. Unless otherwise indicated, these terms should be construed in their ordinary and customary meaning.
The terms first, second, third and the like in the description and in the claims and in the above-described figures are used for distinguishing between similar or similar objects or entities and not necessarily for describing a particular sequential or chronological order, unless otherwise indicated. It is to be understood that the terms so used are interchangeable under appropriate circumstances.
The terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a product or apparatus that comprises a list of elements is not necessarily limited to all elements explicitly listed, but may include other elements not expressly listed or inherent to such product or apparatus.
The term "module" refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware or/and software code that is capable of performing the function associated with that element.
Fig. 1 is a schematic diagram of an operation scenario between a display device and a control apparatus according to an embodiment. As shown in fig. 1, a user may operate the display device 200 through the smart device 300 or the control apparatus 100.
In some embodiments, the control apparatus 100 may be a remote controller, and the communication between the remote controller and the display device includes infrared protocol communication or bluetooth protocol communication, and other short-range communication modes, and the display device 200 is controlled by a wireless or wired mode. The user may control the display device 200 by inputting user instructions through keys on a remote control, voice input, control panel input, etc.
In some embodiments, a smart device 300 (e.g., mobile terminal, tablet, computer, notebook, etc.) may also be used to control the display device 200. For example, the display device 200 is controlled using an application running on a smart device.
In some embodiments, the display device 200 may also perform control in a manner other than the control apparatus 100 and the smart device 300, for example, the voice command control of the user may be directly received through a module configured inside the display device 200 device for acquiring voice commands, or the voice command control of the user may be received through a voice control device configured outside the display device 200 device.
In some embodiments, the display device 200 is also in data communication with a server 400. The display device 200 may be permitted to make communication connections 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 a cluster, or may be multiple clusters, and may include one or more types of servers.
Fig. 2 exemplarily shows a block diagram of a configuration of the control apparatus 100 in accordance with an exemplary embodiment. As shown in fig. 2, 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 apparatus 100 may receive an input operation instruction of a user and convert the operation instruction into an instruction recognizable and responsive to the display device 200, and function as an interaction between the user and the display device 200.
Fig. 3 shows a hardware configuration block diagram of the display device 200 in accordance with an exemplary embodiment.
In some embodiments, display apparatus 200 includes at least one of a modem 210, a communicator 220, a detector 230, an external device interface 240, a controller 250, a display 260, an audio output interface 270, memory, a power supply, a user interface.
In some embodiments the controller includes a processor, a video processor, an audio processor, a graphics processor, RAM, ROM, a first interface for input/output to an nth interface.
In some embodiments, the display 260 includes a display screen component for presenting a picture, and a driving component for driving an image display, for receiving image signals from the controller output, for displaying video content, image content, and a menu manipulation interface, and for manipulating a UI interface by a user.
In some embodiments, the display 260 may be a liquid crystal display, an OLED display, a projection device, and a projection screen.
In some embodiments, communicator 220 is a component for communicating with external devices or servers according to various communication protocol types. For example, the communicator may comprise at least one of a Wifi module, a bluetooth module, a wired ethernet module, or other network communication protocol chip or a near field communication protocol chip, and an infrared receiver. The display device 200 may establish transmission and reception of control signals and data signals with the external control device 100 or the server 400 through the communicator 220.
In some embodiments, the user interface may be configured to receive control signals from the control device 100 (e.g., an infrared remote control, etc.).
In some embodiments, the detector 230 is used to collect signals of the external environment or interaction with the outside. For example, the detector 230 includes a light receiver for collecting a sensor of the intensity of ambient light, or the detector 230 includes an image collector such as a camera that may be used to collect external ambient scenes, user attributes or user interaction gestures, or the detector 230 includes a sound collector such as a microphone or the like for receiving external sounds.
In some embodiments, the external device interface 240 may include, but is not limited to, any one or more of a High Definition Multimedia Interface (HDMI), an analog or data high definition component input interface (component), a composite video input interface (CVBS), a USB input interface (USB), an RGB port, and the like. The input/output interface may be a composite input/output interface formed by a plurality of interfaces.
In some embodiments, the modem 210 receives broadcast television signals via wired or wireless reception and demodulates audio-video signals, such as EPG data signals, from a plurality of wireless or wired broadcast television signals.
In some embodiments, the controller 250 and the modem 210 may be located in separate devices, i.e., the modem 210 may also be located in an external device to the main device in which the controller 250 is located, such as an external set-top box or the like.
In some embodiments, the controller 250 controls the operation of the display device and responds to user operations through various software control programs stored on the memory. The controller 250 controls the overall operation of the display apparatus 200. For example, in response to receiving a user command for selecting a UI object displayed on the display 260, the controller 250 may perform an operation related to the object selected by the user command.
In some embodiments, the object may be any one of selectable objects, such as a hyperlink, an icon, or other operable control. Operations related to the selected object are an operation of displaying a link to a hyperlink page, a document, an image, or the like, or an operation of executing a program corresponding to the icon.
In some embodiments the controller includes at least one of a central processing unit (Central Processing Unit, CPU), a video processor, an audio processor, a graphics processor (Graphics Processing Unit, GPU), RAM Random Access Memory, RAM), ROM (Read-Only Memory, ROM), first to nth interfaces for input/output, a communication Bus (Bus), and the like.
And the CPU processor is used for executing the operating system and application program instructions stored in the memory and executing various application programs, data and contents according to various interaction instructions received from the outside so as to finally display and play various audio and video contents. The CPU processor may include a plurality of processors. Such as one main processor and one or more sub-processors.
In some embodiments, the graphics processor is used to generate various graphical objects, such as icons, operational menus, and user input instruction display graphics. The graphic processor comprises an arithmetic unit for receiving various interactive instructions input by a user to operate and displaying various objects according to display attributes, and a renderer for rendering various objects obtained based on the arithmetic unit, wherein the rendered objects are used for being displayed on a display.
In some embodiments, the video processor is configured to receive an external video signal, perform video processing such as decompression, decoding, scaling, noise reduction, frame rate conversion, resolution conversion, image composition, etc., according to a standard codec protocol of an input signal, and may obtain a signal that is displayed or played on the directly displayable device 200.
In some embodiments, the video processor includes 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 media data stream. And the video decoding module is used for processing the demultiplexed video signal, including decoding, scaling and the like. And an image synthesis module, such as an image synthesizer, for performing superposition mixing processing on the graphic generator and the video image after the scaling processing according to the GUI signal input by the user or generated by the graphic generator, so as to generate an image signal for display. And the frame rate conversion module is used for converting the frame rate of the input video. And the display formatting module is used for converting the received frame rate into a video output signal and changing the video output signal to be in accordance with a display format, such as outputting RGB data signals.
In some embodiments, the audio processor is configured to receive an external audio signal, decompress and decode the audio signal according to a standard codec protocol of an input signal, and perform noise reduction, digital-to-analog conversion, and amplification processing to obtain a sound signal that can be played in a speaker.
In some embodiments, a user may input a user command through a Graphical User Interface (GUI) displayed on the display 260, and the user input interface receives the user input command through the Graphical User Interface (GUI). Or the user may input the user command by inputting a specific sound or gesture, the user input interface recognizes the sound or gesture through the sensor, and receives the user input command.
In some embodiments, a "user interface" is a media interface for interaction and exchange of information between an application or operating system and a user that enables conversion between an internal form of information and a form acceptable to the user. A commonly used presentation form of a user interface is a graphical user interface (Graphic User Interface, GUI), which refers to a graphically displayed user interface that is related to computer operations. It may be an interface element such as an icon, a window, a control, etc. displayed in a display screen of the electronic device, where the control may include a visual interface element such as an icon, a button, a menu, a tab, a text box, a dialog box, a status bar, a navigation bar, a Widget, etc.
In some embodiments, a system of display devices may include a Kernel (Kernel), a command parser (shell), a file system, and an application program. The kernel, shell, and file system together form the basic operating system architecture that allows users to manage files, run programs, and use the system. After power-up, the kernel is started, the kernel space is activated, hardware is abstracted, hardware parameters are initialized, virtual memory, a scheduler, signal and inter-process communication (IPC) are operated and maintained. After the kernel is started, shell and user application programs are loaded again. The application program is compiled into machine code after being started to form a process.
Referring to FIG. 4, in some embodiments, the system is divided into four layers, from top to bottom, an application layer (referred to as an "application layer"), an application framework layer (Application Framework) layer (referred to as a "framework layer"), a An Zhuoyun row layer (Android runtime) and a system library layer (referred to as a "system runtime layer"), and a kernel layer, respectively.
In some embodiments, at least one application program is running in the application program layer, and the application programs may be a Window (Window) program, a system setting program or a clock program of an operating system, or may be an application program developed by a third party developer. In particular implementations, the application packages in the application layer are not limited to the above examples.
The framework layer provides an application programming interface (application programming interface, API) and programming framework for the application. The application framework layer includes a number of predefined functions. The application framework layer corresponds to a processing center that decides to let the applications in the application layer act. Through the API interface, the application program can access the resources in the system and acquire the services of the system in the execution.
As shown in FIG. 4, the application framework layer in an embodiment of the present application includes a Manager (Managers) that includes at least one of an activity Manager (ACTIVITY MANAGER) to interact with all activities running in the system, a Location Manager (Location Manager) to provide system Location service access to system services or applications, a package Manager (PACKAGE MANAGER) to retrieve various information related to application packages currently installed on the device, a notification Manager (Notification Manager) to control the display and removal of notification messages, and a Window Manager (Window Manager) to manage bracketing, windows, toolbars, wallpaper, and desktop components on the user interface.
In some embodiments, the activity manager is used to manage the lifecycle of the individual applications as well as the usual navigation rollback functions, such as controlling the exit, opening, fallback, etc. of the applications. The window manager is used for managing all window programs, such as obtaining the size of the display screen, judging whether a status bar exists or not, locking the screen, intercepting the screen, controlling the change of the display window (for example, reducing the display window to display, dithering display, distorting display, etc.), etc.
In some embodiments, the system runtime layer provides support for the upper layer, the framework layer, and when the framework layer is in use, the android operating system runs the C/C++ libraries contained in the system runtime layer to implement the functions to be implemented by the framework layer.
In some embodiments, the kernel layer is a layer between hardware and software. As shown in fig. 4, the kernel layer at least includes at least one of an audio driver, a display driver, a bluetooth driver, a camera driver, a WIFI driver, a USB driver, an HDMI driver, a sensor driver (such as a fingerprint sensor, a temperature sensor, a pressure sensor, etc.), and a power driver.
The hardware or software architecture in some embodiments may be based on the description in the foregoing embodiments, and in some embodiments may be based on other similar hardware or software architectures, so long as the technical solution of the present application may be implemented.
Based on the above display device 200, a user can browse various media assets through the display device 200, and in the process of viewing the media assets, the user can move the media assets from one time point to another time point for playing by adjusting the playing progress bar, that is, can adjust the playing progress of the media assets for seek preview by fast forward and fast backward (seek). When the seek previews, the display device 200 caches the preview thumbnail of each seek time point in the memory, and when the playing progress bar moves in position, the display device 200 calls the corresponding preview thumbnail to load and display.
Currently, for a set of dramas or a movie, it is generally divided into 4-5 parts, each part corresponding to a preview original, each preview original corresponding to a download address. A display effect schematic of the preview artwork is illustrated in fig. 5, according to some embodiments. As shown in fig. 5, the preview original image refers to a preview image corresponding to a video file, and includes preview thumbnails corresponding to respective seek time points, where one Zhang Yulan thumbnail may be cropped into several (100) preview thumbnail images in the preview original image.
When the user opens the movie for the first time, the display device 200 first obtains a first preview original image according to the first download address, cuts out a plurality of preview small images from the first preview original image, and stores the plurality of preview small images in the picture list and the picture list in the memory. As shown in fig. 5, the process of cutting out 100 preview small pictures from the preview original picture can be to cut out the first picture one by one in the first row, cut out the second row after cutting out the first row, and so on until cutting out 100 pictures. The display device 200 generalizes the cut 100 preview thumbnail into a picture list. If the user quickly adjusts the playing progress, the middle of the movie spans several preview artwork, for example, a 40-minute movie is divided into four parts, the user moves the movie from 1 st minute to 25 minutes, the display device 200 needs to download 3 preview artwork, and cuts out 300 preview artwork, and the 300 preview artwork is summarized into a picture list and cached in the memory. When the display device 200 receives an adjustment instruction for adjusting the playing progress of the user, the corresponding preview thumbnail is called from the picture list according to the playing progress indicated by the adjustment instruction for displaying.
When a user quickly adjusts the playing progress, as the memory allowance of part of the display equipment is small and is influenced by memory limitation and an automatic memory recycling mechanism of the android system, a large number of preview small images can be loaded into the memory, the memory is insufficient, and further, part of cached images are released, so that the situation that the released preview small images cannot be displayed occurs. Meanwhile, as the user quickly adjusts the playing progress, the display device 200 downloads the preview original image and cuts the preview small image for multiple times, so that the CPU is raised, the preview small image is slower to load, and the problem that the preview small image cannot be displayed occurs. In addition, since a large number Of preview small images are loaded into the Memory, the system Memory is occupied in a large amount, which affects the operation smoothness and the normal functions Of the application program, and the application program can be restarted due to ANR (Application Not Responding, application program does not respond) or OOM (Out Of Memory) and other problems. In order to avoid the above problems, some embodiments of the present application provide a display device and a method for implementing media playback progress display.
The following describes a process for implementing media asset playing progress presentation according to some embodiments of the present application with reference to the accompanying drawings.
A flowchart illustrating a method of implementing a media asset playback progress presentation according to some embodiments is shown in fig. 6. The present application provides, in some embodiments, a display device 200 comprising a display 260 and a controller 250, the controller 250 being communicatively coupled to the display 260, the controller being configured to perform the process of implementing the media asset playback progress presentation of fig. 6. Referring to fig. 6, the process of implementing media asset playing progress display is as follows:
And S601, responding to an instruction for selecting the media resource control, and sending a media resource request to a server, wherein the media resource control is used for displaying the multimedia resource.
A display effect schematic of a main page of the display device 200 according to some embodiments is exemplarily shown in fig. 7. As shown in fig. 7, media resource controls are set on the main page of the display device 200 through different recommendation bits in different channels, so as to display corresponding multimedia resources. For example, in a movie channel, the display device 200 displays various movies on the media controls, and the user selects favorite movies for viewing by browsing the movies displayed by each media control. The user may select the media asset control on the recommendation site through the control device 100, and the display apparatus 200 transmits a media asset request including the media asset identifier to the server 400 in response to a selection instruction of the user, so that the server 400 obtains the related media asset information.
In some embodiments, the user may also search for media to watch through the display device 200, for example, the smart tv is installed with various viewing APPs (Application program), and after the user opens the viewing APP, the user searches for a movie of his own clock. When the user selects the media asset to be played by selecting the media asset control, the display apparatus 200 responds to the operation of selecting the media asset by the user and transmits a media asset request to the server 400.
S602, receiving the media data fed back by the server according to the media request, and controlling the display to play the media data on a play page.
In some embodiments, after receiving the media resource request, the server 400 looks up the media resource identifier carried by the media resource request, and searches the media resource pool for corresponding media resource data according to the media resource identifier. After querying the media data, the server 400 issues to the display device 200. The display device 200 receives the media data searched by the server 400 according to the media request, and controls the display to jump from the current page to the playing page to play the media data.
And S603, sending a preview request to the server so that the server feeds back preview data according to the preview request.
In some embodiments, after the display device 200 plays the media asset data, a preview request may continue to be sent to the server, where the preview request carries the same media asset identifier as in the media asset request. After receiving the preview request, the server 400 queries preview data corresponding to the asset according to the asset identifier and feeds the preview data back to the display device 200.
In some embodiments, the preview image data includes a media license plate side corresponding to the preview image, an address list of the preview original image, a number of preview small images that the preview original image can cut, a preview original image pixel width, a preview original image pixel height, a preview small image pixel width, a preview small image pixel height, and a duration corresponding to each preview small image. Here, the address list of the preview original is listed with the download addresses of all the preview original corresponding to the media asset, the number of preview small images that one preview original can cut, that is, the number of preview small images included in the preview original, one preview original pixel width and one preview original pixel height are the pixel sizes of the preview original, and one preview small image pixel width and one preview small image pixel height are the pixel sizes of the preview small images.
The preview data is exemplarily described below by table 1.
Table 1:
In some embodiments, when receiving the selection operation of the media resource control input by the user, the display device 200 may send a media resource request to the server 400 and simultaneously acquire corresponding preview image data. After receiving the request from the display device 200, the server 400 acquires the media asset data and the preview data corresponding to the media asset identifier, and feeds them back to the display device 200 together.
S604, receiving an input adjustment instruction for the playing progress of the media data, and acquiring an index of a preview small image and a downloading address of a preview original image according to the adjustment amount of the playing progress indicated by the adjustment instruction and the preview image data.
A display effect schematic of a display device 200 playing a page according to some embodiments is illustrated in fig. 8. As shown in fig. 8, when a user views the media data through the play page, if the user does not want to fast forward to a place where he wants to see the currently played content or wants to review the played content, the user may send an adjustment instruction to the display device 200 through the left and right direction buttons of the remote controller.
In some embodiments, after the user sends the adjustment instruction, the display device 200 controls the display to show the view list and the playing progress control on the floating layer of the playing page. And displaying the preview small image corresponding to the seek time point in the view list.
In some embodiments, the display device 200 obtains the index of the preview thumbnail and the download address of the preview original according to the adjustment amount of the playing progress and the preview data indicated by the received adjustment instruction. Here, the adjustment amount of the play progress indicated by the adjustment instruction refers to a time length for which the user controls the play progress to fast forward or backward.
The following is the process of obtaining the index of the preview pane.
The index of the preview small image refers to the coordinate value corresponding to the preview small image and/or the marking value representing the respective position, and the marking of the index of the preview small image in the preview original image starts based on 0, for example, in the preview original image containing 100 preview small images, the corresponding index (index) takes a value of [0-99].
In some embodiments, when the display device 200 receives an adjustment instruction sent by a user, the display device 200 obtains a current playing progress of the media asset data, and accumulates an adjustment amount of the playing progress indicated by the adjustment instruction to obtain a playing progress of the media asset data after adjustment. For example, when the current playing progress of the media data is 16 minutes and 20 seconds, the time length of each fast forward and fast backward is 10 seconds, and the user presses a right button (herein referred to as a short press) on the remote controller, the adjustment amount of the playing progress is 10 seconds, and the playing progress after the adjustment of the media data is 16 minutes and 30 seconds.
In some embodiments, the display device 200 may obtain the duration of each preview pane from the preview pane data. For example, the first preview pane may take 1-15 seconds, the second preview pane may take 16-30 seconds, and each preview pane may take 15 seconds.
In some embodiments, the display device 200 obtains the playing duration represented by the adjusted playing progress, and after rounding up the playing duration, obtains the ratio of the playing duration to the duration occupied by each preview thumbnail, and obtains the index of the preview thumbnail corresponding to the adjusted playing progress. And in the example, the play progress after the adjustment of the media data is 16 minutes and 30 seconds, and the time period occupied by each preview small image is 15 seconds, so that the index of the preview small image corresponding to the play progress after the adjustment is 67. For another example, if the play progress of the media data after adjustment is 10 minutes and 25 seconds and the time period occupied by each preview thumbnail is 10 seconds, the index of the preview thumbnail corresponding to the play progress after adjustment is 63.
In some embodiments, after the display device 200 obtains the index of the preview small image, the corresponding duration may be obtained in the preview image data according to the index of the preview small image, and the timestamp corresponding to the preview small image may be obtained according to the duration corresponding to the preview small image.
In some embodiments, the timestamp corresponding to the preview small image is obtained according to the duration corresponding to the preview small image in the preview image data, and if the duration corresponding to the preview small image is 31S-40S, the timestamp corresponding to the preview small image is 00:00:40. And if the duration corresponding to the preview plot is 5 minutes 21 seconds to 5 minutes 30 seconds, the timestamp corresponding to the preview plot is 00:05:30.
In some embodiments, the display device 200, when controlling the presentation of the preview thumbnail, presents a timestamp corresponding to the preview thumbnail above the layer on which the preview thumbnail is presented.
The following is a process of acquiring the download address of the preview original.
In some embodiments, the preview data includes download addresses of a plurality of preview originals corresponding to the film, and the display device 200 needs to obtain the required download addresses from the download addresses and request the corresponding preview originals from the server according to the download addresses.
In some embodiments, when the index of the preview thumbnail characterizes a value smaller than the number of preview thumbnail included in the preview original, a first download address in the address list is selected as a download address of the preview original to be acquired. And when the numerical value represented by the index of the preview small image is larger than or equal to the number of the preview small images contained in the preview original image, rounding upwards to obtain a number, and selecting a download address which is the same as the number in the address list as a download address of the preview original image to be obtained.
In some embodiments, when the number represented by the index of the preview small image is greater than or equal to the number of preview small images contained in the preview original image, and the number represented by the index of the preview small image may be divided by the number of preview small images contained in the preview original image, the download address corresponding to the number of the quotient plus 1 is obtained as the download address of the preview original image to be obtained.
For example, the index corresponding to the preview small image calculated by the above-mentioned process of obtaining the index of the preview small image is 96, each preview original image contains 100 preview small images, 96 is smaller than 100, and if the preview small image belongs to the first preview original image, the preview original image corresponding to the first download address in the download address list is required to obtain the preview small image. For another example, the index corresponding to the calculated preview small image is 230, each preview original image contains 100 preview small images, 230 is greater than 100,230 and 100, the upward rounding calculation is performed, and if the number is 3, the preview small image belongs to a third preview original image, and in order to obtain the preview small image, the preview original image corresponding to a third download address in the download address list is required.
S605, requesting the preview original image from the server according to the download address of the preview original image, and cutting out a preview small image from the received preview original image fed back by the server according to the index of the preview small image, wherein the preview original image is composed of a plurality of preview small images.
In some embodiments, after obtaining the download address of the preview artwork, the display device 200 obtains the corresponding preview artwork according to the download address, and caches the preview artwork in the memory and the local disk, respectively. For example, the current playing progress is adjusted to 10 minutes, and the first preview original image is downloaded at this time and is respectively cached in the memory and the local disk. If the user watches for 15 minutes, based on an android system memory automatic recovery mechanism, the memory releases the first preview large image, and when the first preview original image is still cached in the disk. When the user fast backs to 9 minutes, the display device 200 can directly call the local disk for use without going to the server.
In some embodiments, after downloading the preview artwork, the display device 200 determines the position of the preview artwork in the preview artwork according to the index of the preview artwork, and then cuts out the preview artwork at the position of the preview artwork according to the pixel size of the preview artwork and the pixel size of the preview artwork. That is, the display apparatus 200 performs accurate positioning on the preview original according to the index of the preview small drawing, and then cuts out the preview small drawing indicated by the index of the preview small drawing. If the index corresponding to the calculated preview small image is 101, each preview original image contains 100 preview small images, and then the preview small image is located at the first position of the second preview original image, after the position is determined, the preview small images are cut out from the preview original images by combining the size parameters and utilizing the corresponding cutting algorithm. And caching the cut preview small image into a memory, and waiting for refreshing and loading of the user interface.
And S606, controlling the display to display the cut preview thumbnail on the floating layer of the play page.
In some embodiments, the display device 200 controls the display 260 to show on the floating layer of the play page after the preview thumbnail is cut out. Here, a view list and a play progress control are displayed on a floating layer of the play page, a preview small image is displayed in the view list, and the play progress control is used for indicating the current play progress of the media data.
In some embodiments, the display device 200 may control the number of previews in the view list, as shown in fig. 8, where 5 previews are displayed, that is, each time an adjustment instruction of the user is received, the display device 200 displays 5 previews on the floating layer of the playing interface. Of course, the preview small image corresponding to the playing progress after the adjustment of the adjustment instruction is centrally displayed.
In some embodiments, it is not necessary to cache in memory all preview tiles in the preview artwork in the form of a picture list in the memory of the display device 200, but only the preview tiles shown in the current view list are stored.
In some embodiments, assuming that the number of previews in the display device 200 control the view list is 5, the duration of each preview is 10 seconds, if the user controls the media playback progress to be adjusted from the current playback position 00:11:00 to 00:13:00, since the display device 200 needs to be gradually adjusted from 00:11:00 to 00:13:00 according to a certain step size (10 seconds) when responding to the adjustment command. At this time, firstly, in the first adjustment step, the display device 200 calculates indexes of 5 preview small images according to 00:10:50, 00:11:00, 00:11:10, 00:11:20 and 00:11:30, and performs positioning clipping in the corresponding preview original image according to the calculated indexes of 5 preview small images, and loads the clipped preview small images into the memory to wait for reading. Then, in the second adjustment step, the display device 200 obtains indexes of 5 preview small images according to 00:11:00, 00:11:10, 00:11:20, 00:11:30 and 00:11:40 respectively, obtains preview small images corresponding to the indexes of 5 preview small images respectively, loads the obtained preview small images into the memory, and waits for reading. And so on until a preview pane at 00:13:00 is presented. It should be noted that, since the preview plots corresponding to 00:11:00, 00:11:10, 00:11:20, and 00:11:30 in the two adjustment steps are repeated, the preview plot obtained in the first adjustment step may be reused in the second adjustment step, and only the preview plot corresponding to 00:11:40 may be obtained separately, but the preview plot corresponding to 00:10:50 may be released without being shown in the view list. In the progress adjustment process described above, the display device 200 only needs to buffer 5 preview thumbnail images in the memory.
In some embodiments, when the display device 200 controls the view list to display a plurality of preview thumbnail, after calculating the first index of the preview thumbnail corresponding to the adjusted playing progress, the display device 200 respectively obtains a plurality of second indexes before and after the first index in units of the duration occupied by each preview thumbnail, where the first index refers to the index of the preview thumbnail corresponding to the adjusted playing progress. And respectively cutting out a plurality of preview small images corresponding to the second indexes from the corresponding preview original images, so that the floating layer displays a plurality of preview small images in a view list.
The process of realizing the playing progress display of the media asset is further described below with reference to the accompanying drawings.
An interactive flow diagram of a method of implementing a media asset playback progress presentation according to some embodiments is illustrated in fig. 9. As shown in fig. 9, the software base layer of the display device 200 includes a user interface module (UI module), a Player module (Player module), an operation processing module (Provider module), and a picture tool class module (ImageUtils module). The user interface module is used for responding to user control events (clicking play, fast forward and fast backward response and preview image display refreshing), the player module is used for packaging the player, playing media materials and acquiring preview image data, the operation processing module is used for processing the preview image data, calculating corresponding preview original image index and preview small image index in combination with the fast forward and fast backward progress, and the image tool module is used for loading the preview original image and cutting the preview small image and caching the preview original image index and the preview small image index in the memory. The following describes in detail the process of realizing the media asset playing progress display.
When the user selects the film, a start button in the user interface module is triggered, and then the start button triggers the player module to play the media asset. And the player module acquires preview image data (SeekPreviewInfo) while playing media materials, and transmits the preview image data to the operation processing module. A progress adjustment data processing sub-module (SeekDataProvider) in the operations processing module receives the preview image data and extracts an address list, a preview original image pixel size and a preview small image pixel size. And the operation processing module feeds back the duration corresponding to the preview small image in the preview image data to the user interface module. When the user adjusts the playing progress, the user triggers a Seek button in the user interface module, and the Seek button triggers the player module to adjust the playing progress of the media assets. Specifically, the Seek button obtains the current media playback progress (position) and the adjustment amount (duration) of the playback progress by the user, and sends the adjustment amount (duration) to a playback progress preview sub-module (PLAYERSEEKPREVIEW) in the user interface module. And the playing progress preview sub-module calculates a preview small image index according to the received data. A view list sub-module (RECYCLERVIEW) in the user interface module collects the duration and preview thumbnail index corresponding to the preview thumbnail in preparation for the preview thumbnail shown in the view list. The view list sub-module calculates a preview original image index, namely a downloading address (url) of the preview original image according to the fast forward and fast backward operation triggered by the user and the position of the focus movement. The operation processing module needs to further calculate the coordinates (pos) of the index of the preview small image in the belonging preview original image. And the operation processing module transmits the calculated url and pos to the picture tool class module. And the picture tool type module downloads a corresponding preview original picture according to url, cuts out pictures according to pos, the pixel size of the preview original picture and the pixel size of the preview small picture, and caches the cut preview small picture in a bitmap mode. The cached preview thumbnail is provided for the attempt list sub-module to interface refresh so that the user interface module presents the preview thumbnail in the view list.
According to the method and the device for displaying the media data, corresponding preview artwork is downloaded according to the adjustment instruction of the user on the playing progress of the media data as required, the corresponding small image is cut from the preview artwork according to the adjustment position of the playing progress indicated by the adjustment instruction, the preview small image is loaded and dynamically cut, and the redundant preview small image is not loaded, so that the loading amount of the preview small image is greatly reduced, the memory overhead is greatly reduced, the system load of display equipment is reduced, the smoothness of preview display is improved, and further the user experience is improved.
Based on the same inventive concept as the display device, some embodiments of the present application further provide a method for implementing media asset playing progress display, where the method includes the step that the display device 200 sends a media asset request to the server 400 in response to an instruction for selecting a media asset control, where the media asset control is used for displaying multimedia resources. The display device 200 receives the media data fed back by the server 400 according to the media request, and controls the display 260 to play the media data on the playing page. The display device 200 sends a preview request to the server 400 to cause the server 400 to feed back preview data in accordance with the preview request. The display device 200 receives an input adjustment instruction for the playing progress of the media data, and obtains an index of the preview small image and a download address of the preview original image according to the adjustment amount of the playing progress indicated by the adjustment instruction and the preview image data. The display device 200 requests the preview original image from the server according to the download address of the preview original image, and cuts out a preview small image from the received preview original image fed back by the server according to the index of the preview small image, wherein the preview original image is composed of a plurality of preview small images. The display device 200 controls the display 260 to show the cropped preview thumbnail on the floating layer of the play page.
In some embodiments, the preview data includes a duration corresponding to the preview thumbnail, and the obtaining the index of the preview thumbnail according to the adjustment amount of the playing progress indicated by the adjustment instruction and the preview data includes that the display device 200 obtains the current playing progress of the media asset data, and accumulates the current playing progress with the adjustment amount of the playing progress indicated by the adjustment instruction to obtain the playing progress of the media asset data after adjustment. The display device 200 rounds up the playing time length represented by the adjusted playing progress and compares the rounded up time length with the time length corresponding to the preview small drawing, and the obtained ratio is the index of the preview small drawing corresponding to the adjusted playing progress.
In some embodiments, the preview image data includes the number of preview small images included in the preview original image and an address list, the address list includes at least one download address of the preview original image, and the obtaining the download address of the preview original image according to the adjustment amount of the playing progress indicated by the adjustment instruction and the preview image data includes selecting, by the display device 200, that the first download address in the address list is the download address of the preview original image to be obtained when the number represented by the index of the preview small image is smaller than the number of preview small images included in the preview original image. And when the numerical value represented by the index of the preview small image is larger than or equal to the number of the preview small images contained in the preview original image, rounding upwards to obtain a number, and selecting a download address which is the same as the number in the address list as a download address of the preview original image to be obtained.
In some embodiments, the preview image data includes a pixel size of a preview thumbnail and a pixel size of a preview artwork, the cropping the preview thumbnail from the preview artwork received from the server feedback according to the index of the preview thumbnail includes the display device 200 determining a position of the preview thumbnail in the preview artwork according to the index of the preview thumbnail. The display device 200 cuts out the preview small image at a position of the preview small image in the preview original image according to a pixel size of the preview small image and a pixel size of the preview original image.
Since the foregoing embodiments are all described in other modes by reference to the above, the same parts are provided between different embodiments, and the same and similar parts are provided between the embodiments in the present specification. And will not be described in detail herein.
It should be noted that in this specification, relational terms such as "first" and "second" and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a circuit structure, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such circuit structure, article, or apparatus. Without further limitation, the statement "comprises an" or "comprising" does not exclude that an additional identical element is present in a circuit structure, article or apparatus that comprises the element.
Other embodiments of the application will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure of the application herein. This application is intended to cover any variations, uses, or adaptations of the application following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the application pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the application being indicated by the following claims.
The above embodiments of the present application do not limit the scope of the present application.