Continuous Playback Position Determination Method, Continuous Playback System

By receiving the renewal request and combining user identification information, downtime and logical information, the media application's renewal position is determined so that the problem of inflexible determination of the renewal position in the prior art is solved before the suspension position, and the user experience is improved.

CN113868445BActive Publication Date: 2025-06-24HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010617722.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-06-30
Publication Date
2025-06-24
Estimated Expiration
2040-06-30

AI Technical Summary

Technical Problem

The continued broadcast location of existing media applications is not flexible and cannot cope with diverse playback needs.

Method used

By receiving the renewal request, the last stop time and stop position of the historical playback object are determined based on the user's identification information, the stop time is calculated, and the resume position is determined based on the logical information, so that the resume position is before the stop position.

Benefits of technology

It realizes flexible determination of the resumable position, which can better respond to diverse playback needs and improve user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113868445B_ABST
    Figure CN113868445B_ABST
Patent Text Reader

Abstract

The present application provides a method for determining a resume playback position, including: receiving a resume playback request, where the resume playback request carries the identification information of the user and the initiation time of the resume playback request; determining the most recent pause time and pause position of at least a part of the user's historical playback objects according to the identification information of the user; determining the pause duration of at least a part of the historical playback objects according to the most recent pause time of at least a part of the historical playback objects and the initiation time; determining the resume playback position of at least a part of the historical playback objects according to the pause duration of at least a part of the historical playback objects and the most recent pause position of at least a part of the historical playback objects, and the resume playback position of each historical playback object is before its most recent pause position. The present application improves the flexibility of determining the resume playback position to meet diverse playback requirements.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technologies, and in particular, to a method for determining a resume play position and a resume play system. Background Art

[0002] With the continuous popularization and development of user terminals, users are becoming increasingly dependent on user terminals. Users can install various media applications on user terminals to perform media entertainment on user terminals, such as listening to audiobooks, watching movies, reading novels, etc.

[0003] To improve the user experience, existing media applications all have a resume play function. Currently, the resume play principle of media applications is: using the position where the last pause occurred as the starting point for the current resume play. Obviously, the resume play position is the position where the last pause occurred, and the determination of the resume play position is not flexible and cannot meet diverse play requirements. Summary of the Invention

[0004] This application provides a method for determining a resume play position and a resume play system, which are used to solve the problem that the determination of the resume play position is not flexible and cannot meet diverse play requirements.

[0005] In a first aspect, this application provides a method for determining a resume play position, including: receiving a resume play request, where the resume play request carries the identification information of the user and the initiation time of the resume play request; determining, according to the identification information of the user, the last pause time and pause position of at least a part of the user's historical play objects; determining, according to the last pause time of at least a part of the historical play objects and the initiation time, the pause duration of at least a part of the historical play objects; determining, according to the pause duration of at least a part of the historical play objects and the last pause position of at least a part of the historical play objects, the resume play position of at least a part of the historical play objects, where: the resume play position of each historical play object in at least a part of the historical play objects is before its last pause position.

[0006] Determining the pause duration of a historical play object according to the initiation time of the resume play request and the last pause time of the historical play object, and determining the resume play position of the historical play object according to the pause duration of the historical play object and the last pause position of the historical play object makes the determination of the resume play position of the historical play object more flexible, so as to better meet diverse play requirements. In addition, since the resume play position of the historical play object is before its pause position, when playing the historical play object for the user according to the resume play position of the historical play object, the user can review the previous content, improving the user experience.

[0007] In a possible implementation, the method further includes: obtaining logical information of at least a part of the historical playback objects, where the logical information of each of the at least a part of the historical playback objects is used to indicate the logical relationship between multiple logical points of the historical playback object and the position of each logical point; the determining the resume position of the at least a part of the historical playback objects includes: determining the resume position of the at least a part of the historical playback objects according to the pause duration of the at least a part of the historical playback objects and the most recent pause position of the at least a part of the historical playback objects, and in combination with the logical information of the at least a part of the historical playback objects; where the resume position of each of the at least a part of the historical playback objects is the position of a logical point in its logical information.

[0008] According to the pause duration of the historical playback object and the most recent pause position of the historical playback object, determine the position of a logical point in the logical information of the historical playback object as the resume position of the audiobook H, that is, the determination of the resume position is related to the logical information, pause duration and most recent pause position of the historical playback object, making the determination of the resume position more flexible, and thus being able to better meet diverse playback requirements. In addition, since the resume position of the historical playback object is before its most recent pause position, when playing the historical playback object for the user according to the resume position, the user can review the previous content, improving the user experience. Furthermore, since the resume position of the historical playback object is the position of a logical point of the historical playback object, when playing the historical playback object according to the resume position, the user can better review the previous content, further improving the user experience.

[0009] In a possible implementation, the determining the resume position of the at least a part of the historical playback objects includes: determining the memory rate of the user for the at least a part of the historical playback objects according to the pause duration of the at least a part of the historical playback objects; determining the resume position of the at least a part of the historical playback objects according to the memory rate of the user for the at least a part of the historical playback objects and the most recent pause position of the at least a part of the historical playback objects.

[0010] In a possible implementation, the method further includes: obtaining logical information of at least a part of the historical playback objects, where the logical information of each of the at least a part of the historical playback objects is used to indicate the logical relationship between multiple logical points of the historical playback object and the position of each logical point; the determining the resume playback position of the at least a part of the historical playback objects includes: determining the memory rate of the user for the at least a part of the historical playback objects according to the pause duration of the at least a part of the historical playback objects; determining the resume playback position of the at least a part of the historical playback objects according to the memory rate of the user for the at least a part of the historical playback objects, the most recent pause position of the at least a part of the historical playback objects, and in combination with the logical information of the at least a part of the historical playback objects; where the resume playback position of each of the at least a part of the historical playback objects is the position of a logical point in its logical information.

[0011] Determining the memory rate of the user for the historical playback object according to the pause duration of the historical playback object, and determining the position of a logical point in the logical information of the historical playback object as the resume playback position of the historical playback object according to the memory rate of the user for the historical playback object and the most recent pause position of the historical playback object, that is, the determination of the resume playback position is related to the logical information of the historical playback object, the most recent pause position, and the memory rate of the user for the historical playback object, making the determination of the resume playback position more flexible, and thus better meeting diverse playback requirements. In addition, since the resume playback position of the historical playback object is before its most recent pause position, when playing the historical playback object for the user according to the resume playback position, the user can review the previous content, improving the user experience. Moreover, since the resume playback position of the historical playback object is the position of a logical point of the historical playback object, when playing the historical playback object according to the resume playback position, the user can better review the previous content, further improving the user experience. Additionally, since the position of a logical point among multiple logical points in the historical playback object is determined as the resume playback position according to the memory rate of the user for the historical playback object and the most recent pause position of the historical playback object, that is, the determination of the resume playback position is related to the memory rate of the user for the historical playback object, the resume playback position can be determined based on the memory rates of different users, further improving the accuracy of determining the resume playback position.

[0012] In a possible implementation, the determining the memory rate of the user for the at least a part of the historical playback objects includes: determining the memory rate of the user for the at least a part of the historical playback objects according to the pause duration of the at least a part of the historical playback objects and in combination with a memory rate curve.

[0013] In a possible implementation, the type of the historical playback object is audio; for each of the historical playback objects, obtaining the logical information of the historical playback object includes: obtaining voice information from the audio data of the historical playback object; based on the recognition of the voice information, determining the position of each logical point among the multiple logical points of the historical playback object and the logical relationship between the multiple logical points.

[0014] In a possible implementation, the historical playback object is an audiobook; the multiple logical points of the historical playback object include the chapter start point, paragraph start point, and sentence start point of the audiobook.

[0015] In a possible implementation, the type of the historical playback object is video; for each of the historical playback objects, obtaining the logical information of the historical playback object includes: obtaining audio data from the video data of the historical playback object; obtaining voice information from the audio data; based on the recognition of the voice information, determining the position of each logical point among the multiple logical points of the historical playback object and the logical relationship between the multiple logical points.

[0016] In a possible implementation, the type of the historical playback object is video; for each of the historical playback objects, obtaining the logical information of the historical playback object includes: obtaining subtitle data from the video data of the historical playback object; based on the recognition of the subtitle data, determining the position of each logical point among the multiple logical points of the historical playback object and the logical relationship between the multiple logical points.

[0017] In a possible implementation, the type of the historical playback object is text; for each of the historical playback objects, obtaining the logical information of the historical playback object includes: identifying keywords in the text data of the historical playback object; based on the analysis of the keywords, determining the position of each logical point among the multiple logical points of the historical playback object and the logical relationship between the multiple logical points.

[0018] In a possible implementation, at least a part of the historical playback objects are the playback objects played to the user most recently.

[0019] In a possible implementation, the method further includes: sending the resume play position of at least a part of the historical playback objects and the playback data corresponding to the resume play position of at least a part of the historical playback objects for caching by the user terminal to the user terminal.

[0020] Second aspect, a method for determining a resume play position is provided, including: receiving a resume play request, where the resume play request carries identification information of a user, identification information of an object to be played, and the initiation time of the resume play request; determining the most recent pause time and pause position of the object to be played according to the identification information of the object to be played and the identification information of the user; determining the pause duration of the object to be played according to the pause time and the initiation time; determining the resume play position of the object to be played according to the pause duration and the pause position, where the resume play position of the object to be played is before the pause position.

[0021] Determining the pause duration of the object to be played according to the initiation time of the resume play request and the most recent pause time of the object to be played, and determining the resume play position of the object to be played according to the pause duration of the object to be played and the most recent pause position of the object to be played, makes the determination of the resume play position of the novel to be played more flexible, thus better meeting diverse play requirements. In addition, since the resume play position is before the pause position, when playing the novel to be played for the user according to the resume play position, the user can review the previous content, enhancing the user experience. Moreover, since only the resume play position of the object to be played is determined, the computational amount is reduced and the computational efficiency is improved.

[0022] In a possible implementation manner, the method further includes: obtaining logical information of the object to be played, where the logical information of the object to be played is used to indicate the logical relationship between multiple logical points of the object to be played and the position of each logical point; the determining the resume play position of the object to be played includes: determining the resume play position of the object to be played according to the pause duration and the pause position, in combination with the logical information of the object to be played; where the resume play position of the object to be played is the position of a logical point in the logical information of the object to be played.

[0023] In a possible implementation manner, the determining the resume play position of the object to be played includes: determining the memory rate of the user for the object to be played according to the pause duration of the object to be played; determining the resume play position of the object to be played according to the memory rate of the user for the object to be played and the most recent pause position of the object to be played.

[0024] In a possible implementation, the method further includes: obtaining the logical information of the object to be played, where the logical information of the object to be played is used to indicate the logical relationship between multiple logical points of the object to be played and the position of each logical point; the determining the resume position of the object to be played includes: determining the memory rate of the user for the object to be played according to the pause duration; determining the resume position of the object to be played according to the memory rate and the pause position, and in combination with the logical information of the object to be played; where the resume position of the object to be played is the position of a logical point in the logical information of the object to be played.

[0025] In a possible implementation, the determining the memory rate of the user for the object to be played according to the pause duration includes: determining the memory rate of the user for the object to be played according to the pause duration and in combination with a memory rate curve.

[0026] In a possible implementation, the type of the object to be played is audio; the obtaining the logical information of the object to be played includes: obtaining voice information from the audio data of the object to be played; based on the recognition of the voice information, determining the position of each logical point among the multiple logical points of the object to be played and the logical relationship between the multiple logical points.

[0027] In a possible implementation, the object to be played is an audiobook; the multiple logical points of the object to be played include the chapter start point, paragraph start point, and sentence start point of the audiobook.

[0028] In a possible implementation, the type of the object to be played is video; the obtaining the logical information of the object to be played includes: obtaining audio data from the video data of the object to be played; obtaining voice information from the audio data; based on the recognition of the voice information, determining the position of each logical point among the multiple logical points of the object to be played and the logical relationship between the multiple logical points.

[0029] In a possible implementation, the type of the object to be played is video; the obtaining the logical information of the object to be played includes: obtaining subtitle data from the video data of the object to be played; based on the recognition of the subtitle data, determining the position of each logical point among the multiple logical points of the object to be played and the logical relationship between the multiple logical points.

[0030] In a possible implementation, the type of the object to be played is text; the obtaining the logical information of the object to be played includes: identifying keywords in the text data of the object to be played; based on the analysis of the keywords, determining the position of each logical point among the multiple logical points of the object to be played and the logical relationship between the multiple logical points.

[0031] In one possible implementation, the method further includes: sending the resume playback position and the playback data corresponding to the resume playback position for caching by the user terminal to the user terminal.

[0032] In a third aspect, a resume playback system is provided, including: a user terminal and the server according to any one of the first aspect or the second aspect; wherein, the user terminal is configured to send a resume playback request to the server.

[0033] In a fourth aspect, an electronic device is provided, including: a communication module configured to communicate with other devices; one or more storage memories configured to store one or more computer programs; one or more processors configured to execute the one or more computer programs, so that the electronic device executes the method according to any one of the first aspect or the second aspect.

[0034] In a fifth aspect, a computer-readable storage medium is provided, including a computer program, which when executed on a computer, causes the computer to execute the method according to any one of the first aspect or the second aspect.

[0035] In a sixth aspect, a computer program is provided, which when executed by a computer, is configured to execute the method according to any one of the first aspect or the second aspect.

[0036] In a seventh aspect, a chip is provided, including a processor and a memory, the memory is configured to store a computer program, and the processor is configured to call and run the computer program stored in the memory to execute the method according to any one of the first aspect or the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] Figure 1 A schematic diagram of an application scenario of the resume playback position determination method provided by an embodiment of the present application;

[0038] Figure 2 A flowchart of the resume playback position determination method provided by an embodiment of the present application Figure 1 ;

[0039] Figure 3 A schematic diagram of an interaction interface of an audiobook playback application provided by an embodiment of the present application;

[0040] Figure 4 A schematic diagram of the logical directory of audiobook H provided by an embodiment of the present application;

[0041] Figure 5 A schematic diagram of the memory rate curve provided by an embodiment of the present application;

[0042] Figure 6Schematic diagram of the inquiry dialog box provided by the embodiment of the present application;

[0043] Figure 7 Schematic diagram of the logic tree of TV drama B provided by the embodiment of the present application;

[0044] Figure 8 Flow chart of the method for determining the resume play position provided by the embodiment of the present application Figure 2 ;

[0045] Figure 9 Flow chart of the method for determining the resume play position provided by the embodiment of the present application Figure 3 ;

[0046] Figure 10 Flow chart of the method for determining the resume play position provided by the embodiment of the present application Figure 4 ;

[0047] Figure 11 Flow chart of the method for determining the resume play position provided by the embodiment of the present application Figure 5 ;

[0048] Figure 12 Schematic diagram of the structure of an electronic device provided by the embodiment of the present application. Detailed implementation manners

[0049] To make the objectives, technical solutions and advantages of the present application clearer, the technical solutions in the present application will be clearly and completely described below with reference to the accompanying drawings in the present application. Apparently, the described embodiments are some but not all of the embodiments of the present application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present application without creative efforts shall fall within the protection scope of the present application.

[0050] The terms "first", "second", etc. in the description, claims and drawings of the present application are only used for the purpose of distinguishing descriptions, and cannot be understood as indicating or implying relative importance, nor can they be understood as indicating or implying an order. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, product or device that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0051] It should be understood that in this application, "at least one (item)" means one or more, and "a plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that there can be three relationships. For example, "A and / or B" can represent: only A exists, only B exists, and both A and B exist at the same time. Among them, A and B can be singular or plural. The character " / " generally represents an "or" relationship between the associated objects before and after. "At least one (piece) of the following" or its similar expression refers to any combination of these items, including any combination of single items (pieces) or plural items (pieces). For example, at least one (piece) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a, b, and c", where a, b, and c can be single or multiple.

[0052] Figure 1 FIG. is a schematic diagram of an application scenario of the method for determining the continuous playback position provided by the embodiment of the present application. This application scenario includes a server 101 and a user terminal 102, where:

[0053] The server 101 can be, for example, a physical server or a cloud server, etc. The physical server can be, for example, an independent physical server or a server cluster composed of multiple physical servers, etc. The embodiments of the present application do not make special limitations on this.

[0054] The user terminal 102 can be, for example, devices such as mobile phones, tablets, laptops, e-readers, etc. The user can install various media applications in the user terminal 102 to use various services provided in the media applications through the media applications.

[0055] The media application can be, for example, a video playback application, a text display application (such as an e-reading application), an audio playback application (such as an audiobook playback application), etc. The embodiments of the present application do not make special limitations on this.

[0056] The media application can display multiple playback objects to the user. If the media application is a video playback application, the type of the playback object can be, for example, video objects such as TV dramas and variety shows. If the type of the media application is an audio playback application, the playback object can be, for example, audio objects such as audiobooks and radio programs. If the media application is a text display application, the playback object can be, for example, text objects such as novels, news, and papers. The embodiments of the present application do not make special limitations on this.

[0057] Various interactions occur between server 101 and user terminal 102 to provide services for users. For example, a user can initiate a play request to server 101 through user terminal 102 installed with a media application. Server 101 receives and responds to the play request, and sends play data to user terminal 102 to enable user terminal 102 to play.

[0058] For another example, a user can also send a resume play request to server 101 through user terminal 102 installed with a media application. Server 101 receives and responds to the resume play request, determines the resume play position, and sends the resume play position to user terminal 102, and at the same time sends the play data to user terminal 102, so that user terminal 102 plays the play data from the resume play position.

[0059] Next, based on the above application scenario, a method for determining the resume play position will be described.

[0060] Figure 2 Flow schematic of the method for determining the resume play position provided in the embodiments of this application Figure 1 。In Figure 2 taking the user terminal as a mobile phone, the media application as an audiobook play application, and the play object as an audiobook as an example to describe the method for determining the resume play position. It should be noted that in Figure 2 the method for determining the resume play position shown, after the user opens the audiobook play application, the mobile phone sends a resume play request to the server, and the server receives and responds to the resume play request to only determine the resume play position of the audiobook that the user played most recently.

[0061] As Figure 2 shown, the specific process of determining the resume play position includes the following steps:

[0062] Step 201: The user clicks the icon of the audiobook play application on the mobile phone interface to open the audiobook play application;

[0063] Step 202: The mobile phone displays the interaction interface of the audiobook play application. As Figure 3 shown, the resume play control 301 of audiobook H (not shown in the figure) is displayed in the interaction interface of the audiobook play application. Audiobook H is the audiobook that the user played most recently, and the audiobook that the user played most recently is the audiobook that the user played last when exiting the audiobook play application last time. It should be noted that the interaction interface of the audiobook play application may also include operation controls 302 of other audiobooks, etc., and this application does not make special limitations on this.

[0064] Step 203: After the user clicks the icon of the audiobook play application on the mobile phone interface, the mobile phone sends a resume play request to the server, and the resume play request carries the identification information of the user and the initiation time of the resume play request.

[0065] In an embodiment of the present application, the user clicks on the icon of the audio book playing application to open the audio book playing application in the mobile phone. The mobile phone obtains the user's identification information and the current time, and determines the current time as the initiation time of the resume request. Then, the mobile phone generates a resume request based on the user's identification information and the initiation time of the resume request. Finally, the mobile phone sends the resume request to the server.

[0066] For users who have registered the audio book playing application, the user's identification information may be, for example, the account number (eg, mobile phone number, ID card number) used by the user to register the audio book playing application, etc. This embodiment of the present application does not specifically limit this.

[0067] For users who have not registered the audio book playing application, the user's identification information may be, for example, an identification code of a mobile phone, etc., and this embodiment of the present application does not specifically limit this.

[0068] Step 204: The server receives the resume request and determines the most recent stop time and stop position of the audio book H according to the user identification information carried in the resume request, that is, determines the stop position and stop time of the audio book last played when the user last exited the audio book playing application.

[0069] It should be noted that if the user uses an audio book playing application, the audio book playing application will upload to the server the stop time and stop position of each audio book played by the user in the audio book playing application.

[0070] Based on this, the most recent stop time and stop position of all audio books previously played by the user can be obtained according to the user's identification information, and the most recent stop time and stop position of the audio book most recently played to the user can be determined according to the most recent stop time of each audio book, that is, the audio book whose most recent stop time is closest to the current time is determined as the audio book most recently played to the user (i.e., audio book H).

[0071] It should be noted that the last stop time of the audio book is the time when the user stopped playing the audio book for the last time, and the last stop position of the audio book is the playing progress of the audio book when the user stopped playing the audio book for the last time.

[0072] For audio playback objects, the playback progress of the audio playback objects is generally indicated by at least one of the time progress, the identifier of the audio playback file, etc. Therefore, the stop position of the audio playback object can be indicated by at least one of the time progress, the identifier of the audio playback file, etc. For example, the stop position of the playback object can be indicated by the identifier of the audio playback file to which the stop position of the playback object belongs and the time progress of the pause position in the audio playback file to which it belongs.

[0073] Since in this embodiment, the playback object is an audiobook, that is, the playback object is an audio type playback object, therefore, the pause position of the audiobook can also be represented by at least one of the time progress, the identifier of the audio playback file, etc. For example, the pause position of the audiobook can be represented as [06, 00.20.00], where 06 represents the identifier of the audio playback file to which the pause position of the audiobook belongs, and 00.20.00 represents that the pause position of the audiobook is at the 20th minute in the audio playback file to which it belongs. It should be noted that for the representation of the subsequent time progress, the unit of the first two digits is hours, the unit of the middle two digits is minutes, and the unit of the last two digits is seconds. On this basis, if 06 is the identifier of the audio playback file corresponding to the sixth chapter of the audiobook, then the pause position of the audiobook is at the 20th minute in the sixth chapter of the audiobook.

[0074] It should be noted that the above representation methods of the audio type playback object and the pause position of the audiobook are only exemplary and are not used to limit this application. For example, the representation methods of the audio type playback object and the pause position of the audiobook can also be other desired representation methods.

[0075] Step 205, the server determines the pause duration of the audiobook H according to the initiation time of the resume playback request and the most recent pause time of the audiobook H. Specifically, the difference between the initiation time of the resume playback request and the most recent pause time of the audiobook H is determined as the pause duration of the audiobook H.

[0076] Step 206, the server determines the resume position of the audiobook H according to the pause duration of the audiobook H and the most recent pause position of the audiobook H, where the resume position of the audiobook H is before its most recent pause position.

[0077] Next, the process of determining the resume position of the audiobook H will be described in the following four ways.

[0078] First, according to the pause duration of the audiobook H and the most recent pause position of the audiobook H, and in combination with the logical information of the audiobook H, the resume position of the audiobook H is determined, where the logical information of the audiobook is used to indicate the logical relationship between multiple logical points of the audiobook and the position of each logical point. The resume position of the audiobook H is the position of a logical point in its logical information.

[0079] Before determining the resume position of the audiobook H, the logical information of each audiobook in the audiobook playback application can be obtained in advance. The logical information of each audiobook is used to indicate the logical relationship between multiple logical points of the audiobook and the position of each logical point. Save the logical information of each audiobook. In this way, when determining the resume position of the audiobook H, the logical information of the audiobook H can be obtained from the previously stored information according to the identifier information of the audiobook H.

[0080] Next, the principle of obtaining the logical information of an audiobook will be described.

[0081] First, obtain the voice information from the audio data of the audiobook. The audio data of the audiobook includes all the audio playback files of the audiobook. For example, if the audiobook includes ten chapters and each chapter corresponds to an audio playback file, then the audio data of the audiobook includes ten audio playback files corresponding to the ten chapters. Specifically, the audio data of the audiobook is transformed from the time domain to the frequency domain through Fourier transform to obtain the audio data of the audiobook based on the frequency domain. The audio data of the audiobook based on the frequency domain is input into an algorithm model capable of filtering out background sounds, so that the algorithm model outputs the voice information based on the frequency domain, and the voice information based on the frequency domain is transformed into the voice information based on the time domain through inverse Fourier transform.

[0082] The process of obtaining the algorithm model capable of filtering out background sounds includes: obtaining a large amount of three types of audio data. The first type is the audio data only with voice information, the second type is the audio data only with background sounds, and the third type is the audio data after mixing the first type of audio data and the second type of audio data (that is, the audio data with voice information and background sounds); using the first type of audio data and the second type of audio data as training data, or using the first type of audio data, the second type of audio data, and the third type of audio data as training data. The training data is transformed from the time domain to the frequency domain through Fourier transform to obtain the training data based on the frequency domain, and the algorithm model is trained with the training data based on the frequency domain, so that the algorithm model learns the mapping relationship from the three types of audio data to the first type of audio data to obtain the algorithm model capable of filtering out background sounds. Among them, the algorithm model can be, for example, a Conditional Generative Adversarial Network (Conditional GAN), etc., and this application does not make special limitations on this.

[0083] Then, based on the recognition of the voice information, determine the position of each logical point among the multiple logical points of the audiobook and the logical relationship between the multiple logical points. Among them, the multiple logical points of the audiobook include the chapter start point, paragraph start point, and sentence start point of the audiobook, etc. The logical relationship between the multiple logical points of the audiobook is the sequence order between each chapter start point, which chapter start point the paragraph start point belongs to, the sequence order between multiple paragraph start points belonging to one chapter start point, which paragraph start point the sentence start point belongs to, and the sequence order between multiple sentence start points belonging to one paragraph start point.

[0084] Based on the recognition of human voice information, the specific process of determining the position of each of the multiple logical points of the audio book and the logical relationship between the multiple logical points includes: converting the human voice information of the audio book into text through speech-to-text technology, and then identifying the chapter relationship of the audio book in the text with the help of keywords such as chapter language and chapter; since the pause time between paragraphs and sentences in the human voice information is different, the pause between paragraphs will be significantly longer than the pause between sentences, so a classifier model can be used to classify the pause time, and the classifier model can use SVM (support vector machine) or CNN (convolutional neural network) for example, so as to identify the pause between paragraphs and pause between sentences. Finally, the position of the chapter starting point, the position of the paragraph starting point, the position of the sentence starting point of the audio book, and the relationship between the chapter starting point, the paragraph starting point, and the sentence starting point are obtained, and then the logical relationship of multiple logical points in the logical information of the audio book and the position of each logical point are obtained.

[0085] The position of the logical point of the audio book can be represented by the identifier of the audio playback file to which the logical point of the audio book belongs and the time progress of the logical point in the audio playback file to which it belongs. For example, if the logical point is the starting point of the third paragraph of the first chapter of the audio book, the position of the logical point can be represented as [01, 00.40.00], where 01 represents the identifier of the audio playback file to which the starting point of the third paragraph of the first chapter of the audio book belongs, and 00.40.00 represents the 40th minute of the starting point of the third paragraph of the first chapter of the audio book in the audio playback file to which it belongs.

[0086] It should be noted that the principle of obtaining the logical information of other audio books is the same as that described above, so it will not be repeated here.

[0087] It should be noted that for other audio playback objects, such as radio programs, the principle of obtaining the logical information of the playback object is the same as above, so it will not be repeated here. The determination of multiple logical points in the logical information of the playback object and the logical relationship between the multiple logical points is related to the specific content of the playback object. The multiple logical points of the playback object can be divided into multiple levels, each level includes at least one logical point, and the low-level logical points belong to the corresponding high-level logical points. For example, if the playback object is an audio book, the multiple logical points can be divided into three levels, the first level is the chapter starting point, the second level is the paragraph starting point, and the third level is the sentence starting point, and each paragraph starting point has its own chapter starting point, and each sentence starting point has its own paragraph starting point.

[0088] The presentation form of the logical information of the audio book may be, for example, a logical directory or a logical tree, etc., which is not particularly limited in this application.

[0089] Next, taking the display form of the logical information of the audiobook as the logical table of contents as an example, the logical information of the audiobook will be described.

[0090] If the audio data of the audiobook includes multiple audio playback files, and the number of audio playback files is the same as the number of chapters of the audiobook, that is, one audio playback file corresponds to one chapter of the audiobook. The logical points of the audiobook include chapter start points, paragraph start points, and sentence start points. The logical relationships between the logical points refer to: the sequence order between chapter start points, which chapter start point a paragraph start point belongs to, the sequence order between multiple paragraph start points belonging to the same chapter start point, which paragraph start point a sentence start point belongs to, and the sequence order between multiple sentence start points belonging to the same paragraph start point.

[0091] Based on this, multiple logical points of the audiobook can be divided into different levels, and then, according to the level of the logical point, its corresponding table of contents level is determined. Specifically, the higher the level of the logical point, the higher the corresponding table of contents level. Finally, the logical table of contents of the audiobook is set according to the table of contents level corresponding to the logical point and the logical relationships between the logical points.

[0092] Specifically, taking the name of the audiobook as the first-level table of contents, and taking each chapter start point of the audiobook as the second-level table of contents. Among them, in the second-level table of contents, each chapter start point is arranged in the sequence order between chapter start points. Taking each paragraph start point of the audiobook as the third-level table of contents, and the third-level table of contents is set under each second-level table of contents. Among them, the paragraph start point corresponding to the third-level table of contents under the second-level table of contents belongs to the chapter start point corresponding to this second-level table of contents. In the third-level table of contents under each second-level table of contents, each paragraph start point is set in the sequence order between paragraph start points. Similarly, taking each sentence start point of the audiobook as the fourth-level table of contents, and in the fourth-level table of contents under each third-level table of contents, each sentence start point is set in the sequence order between sentence start points.

[0093] Figure 4 FIG. is a schematic diagram of the logical table of contents of the audiobook H provided by the embodiment of the present application. The logical points of the audiobook H include chapter start points, paragraph start points, and sentence start points. From Figure 4It can be known that the logical directory of the audiobook H includes a first-level directory, a second-level directory, a third-level directory, and a fourth-level directory. Among them, the first-level directory represents the name of the audiobook H. The number of second-level directories is two, namely the starting point of the first chapter [01,00.00.00] and the starting point of the second chapter [02,00.00.00]. For the starting point of the first chapter [01,00.00.00], 01 represents the identifier of the audio playback file to which the starting point of the first chapter belongs, and 00.00.00 represents the 0th minute of the starting point of the first chapter in the audio playback file to which it belongs. For the starting point of the second chapter [02,00.00.00], 02 represents the identifier of the audio playback file to which the starting point of the second chapter belongs, and 00.00.00 represents the 0th minute of the starting point of the second chapter in the audio playback file to which it belongs. Under the starting point of the first chapter [01,00.00.00], there are two third-level directories, namely the starting point of the first paragraph [01,00.01.00] and the starting point of the second paragraph [01,00.30.00]. Among them, for the starting point of the first paragraph [01,00.01.00], 01 represents the identifier of the audio playback file to which the starting point of the first paragraph belongs, and 00.01.00 represents the 1st minute of the starting point of the first paragraph in the audio playback file to which it belongs. For the starting point of the second paragraph [01,00.30.00], 01 represents the identifier of the audio playback file to which the starting point of the second paragraph belongs, and 00.30.00 represents the 30th minute of the starting point of the second paragraph in the audio playback file to which it belongs. The starting point of the second chapter [02,00.00.00] includes two third-level directories, namely the starting point of the first paragraph [02,00.01.00] and the starting point of the second paragraph [02,00.30.00]. Among them, for the starting point of the first paragraph [02,00.01.00], 02 represents the identifier of the audio playback file to which the starting point of the first paragraph belongs, and 00.01.00 represents the 1st minute of the starting point of the first paragraph in the audio playback file to which it belongs. For the starting point of the second paragraph [02,00.30.00], 02 represents the identifier of the audio playback file to which the starting point of the second paragraph belongs, and 00.30.00 represents the 30th minute of the starting point of the second paragraph in the audio playback file to which it belongs.

[0094] Each third-level directory also includes a number of fourth-level directories. The fourth-level directory is the starting point of a statement. The first number in the parentheses after each statement starting point represents the identifier of the audio playback file to which the statement starting point belongs, and the second number represents the time progress of the statement starting point in the audio playback file to which it belongs. As can be seen from the above, the higher the level of the directory, the higher the level of the logical point it represents.

[0095] It should be noted that if the presentation form of the logical information of the audiobook is a logical tree, the logical tree can be set according to the levels of the logical points in the audiobook. Specifically, the higher the level of the logical point, the closer it is to the root node of the logical tree, and the lower the level of the logical point, the farther it is from the root node of the logical tree.

[0096] It should be noted that for other audio playback objects, such as radio programs, etc., the presentation form of the logical information of the playback object can be, for example, a logical tree or a logical directory, etc. This application does not make special limitations on this. Since the construction principles of the logical tree and the logical directory have been described above, they will not be elaborated here.

[0097] Next, the principle of determining the resume playback position of the audiobook H will be described.

[0098] First, compare the most recent pause position of the audiobook H with the positions of each logical point of the audiobook H to determine the logical point corresponding to the most recent pause position of the audiobook H. Among them, the logical point corresponding to the most recent pause position of the audiobook H is the logical point with the same position as the most recent pause position of the audiobook H, or the logical point corresponding to the most recent pause position of the audiobook H is the logical point with the position closest to the most recent pause position of the audiobook H and before the most recent pause position of the audiobook H.

[0099] Then, determine the resume playback position of the audiobook H according to the pause duration of the audiobook H and the logical point corresponding to the most recent pause position of the audiobook H.

[0100] Specifically, jump strategies based on different duration intervals can be preset. The jump strategy can refer to, for example, the jump step length corresponding to the duration interval. The jump step length is used to indicate the number of logical points to jump forward or the number of levels to jump to the upper-level logical point. This application does not make special limitations on this. Based on this, determine the duration interval corresponding to the pause duration of the audiobook H according to the pause duration of the audiobook H, determine the corresponding jump strategy according to the corresponding duration interval, and determine the resume playback position of the audiobook H according to the logical point corresponding to the most recent pause position of the audiobook H and in combination with the corresponding jump strategy, that is, the target logical point can be determined according to the corresponding jump strategy and the logical point corresponding to the most recent pause position of the audiobook H, and the position of the target logical point is determined as the resume playback position of the audiobook H. Among them, the resume playback position of the audiobook H is before its most recent pause position.

[0101] The jump strategy can be obtained by means of statistical analysis of big data or can be implemented through machine learning algorithms. This application does not make special limitations on this. It should be noted that the above jump strategy is only exemplary and does not limit this application.

[0102] Next, takeFigure 4 Taking the logical directory of the audiobook H in [the above] as an example, the process of determining the resume play position of the audiobook H will be described.

[0103] If the pause duration of the audiobook H is one month and the most recent pause position of the audiobook H is [01,00.05.00], then compare the most recent pause position [01,00.05.00] of the audiobook H with Figure 4 the positions of each logical point in [the above], and determine the logical point corresponding to the most recent pause position [01,00.05.00] of the audiobook H. From Figure 4 it can be seen that the logical point corresponding to the most recent pause position [01,00.05.00] of the audiobook H is the starting point [01,00.01.02] of the first statement. The pause duration of the audiobook H is one month. According to this one-month pause duration, determine the corresponding jump strategy. The jump step size indicated by the corresponding jump strategy is to jump two levels. Based on the logical point [01,00.01.02] corresponding to the most recent pause position [01,00.05.00] of the audiobook H, jump forward two levels, and the position of the target logical point obtained is the resume play position of the audiobook H. From Figure 4 it can be seen that the resume play position of the audiobook H is the position [01,00.00.00] of the starting point of the first chapter.

[0104] In the above method one, according to the pause duration of the audiobook H and the most recent pause position of the audiobook H, determine the position of a logical point in the logical information of the audiobook H as the resume play position of the audiobook H, that is, the determination of the resume play position is related to the logical information, pause duration and most recent pause position of the audiobook H, making the determination of the resume play position more flexible, and thus being able to better meet diverse playback requirements. In addition, since the resume play position of the audiobook H is before its most recent pause position, therefore, when playing the audiobook H for the user according to the resume play position, the user can review the previous content, enhancing the user experience. Furthermore, since the resume play position of the audiobook H is the position of a logical point of the audiobook H, therefore, when playing the audiobook H according to the resume play position, the user can better review the previous content, further enhancing the user experience.

[0105] Second, according to the pause duration of the audiobook H, determine the memory rate of the user for the audiobook H. According to the memory rate of the user for the audiobook H and the most recent pause position of the audiobook H, and in combination with the logical information of the audiobook H, determine the resume play position of the audiobook H, where the logical information of the audiobook is used to indicate the logical relationship between multiple logical points of the audiobook and the position of each logical point. The resume play position of the audiobook H is the position of a logical point in its logical information.

[0106] The process of determining the memory rate of the user for the audiobook H includes: based on the pause duration of the audiobook H and in combination with a memory rate curve, determining the memory rate of the user for the audiobook H. Among them, the memory rate curve can be, for example, as Figure 5 shown. The horizontal axis of this memory rate curve is the duration, and the vertical axis is the memory rate. In this way, when the pause duration of the audiobook H is known, according to this memory rate curve, the memory rate of the user for the audiobook H can be determined.

[0107] It should be noted that a memory rate calculation model can also be provided, and this memory rate calculation model is obtained by training a neural network model. By inputting the pause duration of the audiobook H into the memory rate calculation model, the memory rate calculation model can output the memory rate of the user for the audiobook H.

[0108] Since the logical information about the audiobook, its acquisition principle, and the display method have been described above, they will not be elaborated here.

[0109] Next, the principle of determining the resume position of the audiobook H will be described.

[0110] First, compare the most recent pause position of the audiobook H with the positions of each logical point of the audiobook H to determine the logical point corresponding to the most recent pause position of the audiobook H. Since the principle of this process has been described above, it will not be elaborated here.

[0111] Then, based on the memory rate of the user for the audiobook H and the logical point corresponding to the most recent pause position of the audiobook H, determine the resume position of the audiobook H.

[0112] Specifically, jump strategies based on different memory rate intervals can be preset. The jump strategy can refer to, for example, the jump step length corresponding to the memory rate interval. The jump step length is used to indicate the number of logical points to jump forward or the level number of jumping to the upper-level logical point, etc. The embodiments of this application do not make special limitations on this.

[0113] Based on this, determine the memory rate interval corresponding to the memory rate of the user for the audiobook H according to the memory rate of the user for the audiobook H, determine the corresponding jump strategy according to the corresponding memory rate interval, and determine the resume position of the audiobook H according to the logical point corresponding to the most recent pause position of the audiobook H and in combination with the corresponding jump strategy, that is, the target logical point can be determined according to the corresponding jump strategy and the logical point corresponding to the most recent pause position of the audiobook H, and the position of the target logical point is determined as the resume position of the audiobook H. Among them, the resume position of the audiobook H is before its most recent pause position.

[0114] The jump strategy can be obtained by statistically analyzing big data or implemented through machine learning algorithms. This application does not make special limitations on this. It should be noted that the above jump strategy is only exemplary and does not limit this application.

[0115] In the above second method, the memory rate of the user for the audiobook H is determined according to the pause duration of the audiobook H. According to the memory rate of the user for the audiobook H and the most recent pause position of the audiobook H, the position of a logical point in the logical information of the audiobook H is determined as the resume position of the audiobook H. That is, the determination of the resume position is related to the logical information of the audiobook H, the most recent pause position, and the memory rate of the user for the audiobook H, making the determination of the resume position more flexible, and thus better coping with diverse playback requirements. In addition, since the resume position of the audiobook H is before its most recent pause position, when playing the audiobook H for the user according to the resume position, the user can review the previous content, enhancing the user experience. Furthermore, since the resume position of the audiobook H is the position of a logical point of the audiobook H, when playing the audiobook H according to the resume position, the user can better review the previous content, further enhancing the user experience. Additionally, since the position of a logical point among multiple logical points in the audiobook H is determined as the resume position according to the memory rate of the user for the audiobook H and the most recent pause position of the audiobook H, that is, the determination of the resume position is related to the memory rate of the user for the audiobook H, the resume position can be determined based on the memory rates of different users, further improving the accuracy of determining the resume position.

[0116] Thirdly, each audiobook is analyzed in advance to obtain the position of the start point of each sentence in each audiobook and the sequence order between the start points of the sentences. The representation method of the position of the start point of the sentence has been described above, so it will not be elaborated here.

[0117] Obtain the position of the start point of each sentence in the audiobook H according to the identification information of the audiobook H.

[0118] Determine the corresponding jump strategy according to the pause duration of the audiobook H. The jump strategy is pre-set. The jump strategy can, for example, refer to the jump step corresponding to the duration interval, and the jump step is used to indicate the number of sentences to jump forward. Specifically, the longer the duration corresponding to the duration interval, the more sentences to jump forward. In this way, the jump strategy corresponding to the duration interval to which the pause duration belongs can be determined as the corresponding jump strategy.

[0119] Based on the most recent pause position of audiobook H and in combination with the starting point positions of each statement in audiobook H, determine the starting point of the statement corresponding to the most recent pause position of audiobook H. The starting point of the statement corresponding to the most recent pause position of audiobook H is the starting point of the statement whose position is the same as the most recent pause position of audiobook H, or the starting point of the statement corresponding to the most recent pause position of audiobook H is the starting point of the statement whose position is before the most recent pause position of audiobook H and is the closest.

[0120] Based on the starting point of the statement corresponding to the most recent pause position of audiobook H and in combination with the corresponding jump strategy, determine the resume position of audiobook H, that is, the starting point of the target statement can be determined according to the corresponding jump strategy and the starting point of the statement corresponding to the most recent pause position of audiobook H, and the position of the starting point of the target statement is determined as the resume position of audiobook H. Among them, the resume position of audiobook H is before its most recent pause position.

[0121] It should be noted that the above description of the jump strategy is only exemplary and is not used to limit this application.

[0122] In the above method three, based on the pause duration of audiobook H and the most recent pause position of audiobook H, the position of the starting point of a statement in audiobook H is determined as the resume position of audiobook H, that is, the determination of the resume position is related to the starting point of the statement of audiobook H, the pause duration, and the most recent pause position, making the determination of the resume position of audiobook H more flexible, and thus better meeting diverse playback requirements. In addition, since the resume position of audiobook H is before its most recent pause position, when playing audiobook H for the user according to the resume position, the user can review the previous content, improving the user experience.

[0123] Fourth, analyze each audiobook in advance to obtain the starting point positions of each statement in each audiobook and the order of precedence between the starting points of the statements. The representation method of the starting point positions of the statements has been described above, so it will not be elaborated here.

[0124] Obtain the starting point positions of each statement in audiobook H according to the identification information of audiobook H.

[0125] Determine the memory rate of the user for audiobook H according to the pause duration of audiobook H. Since the principle of this step has been described above, it will not be elaborated here.

[0126] Determine the corresponding jump strategy according to the user's memory rate of the audiobook H. The jump strategy is pre-set. For example, the jump strategy can refer to the jump step length corresponding to the memory rate interval, and the jump step length is used to indicate the number of statements to jump forward. Specifically, the lower the memory rate corresponding to the memory rate interval, the more statements to jump forward. In this way, the jump strategy corresponding to the memory rate interval to which the user's memory rate of the audiobook H belongs can be determined as the corresponding jump strategy.

[0127] According to the most recent pause position of the audiobook H and in combination with the starting point positions of each statement of the audiobook H, determine the starting point of the statement corresponding to the most recent pause position of the audiobook H. Since this step has been described above, it will not be elaborated here.

[0128] According to the starting point of the statement corresponding to the most recent pause position of the audiobook H and in combination with the corresponding jump strategy, determine the resume position of the audiobook H. Since the principle of this step has been described above, it will not be elaborated here.

[0129] In the above Method 4, determine the user's memory rate of the audiobook H according to the pause duration of the audiobook H. According to the user's memory rate of the audiobook H and the most recent pause position of the audiobook H, determine the starting point position of a statement of the audiobook H as the resume position of the audiobook H, that is, the determination of the resume position is related to the starting point of the statement of the audiobook H, the most recent pause position, and the user's memory rate of the audiobook H, making the determination of the resume position more flexible, so as to better meet diverse playback requirements. In addition, since the resume position of the audiobook H is before its most recent pause position, when playing the audiobook H for the user according to the resume position, the user can review the previous content, improving the user experience. Moreover, since the starting point position of a statement in the audiobook H is determined as the resume position according to the user's memory rate of the audiobook H and the pause position of the audiobook H, that is, the determination of the resume position is related to the user's memory rate of the audiobook H, the resume position can be determined based on the memory rates of different users, improving the accuracy of determining the resume position.

[0130] It should be noted that the above four methods are only exemplary and are not used to limit this application.

[0131] Step 207, the server sends the resume position of the audiobook H and the playback data corresponding to the resume position of the audiobook H to the mobile phone. It should be noted that the playback data can be, for example, the audio playback file to which the resume position of the audiobook H belongs.

[0132] To better serve the user, when executing step 207, the server can also send the most recent pause position of the audiobook H and the audio playback file to which the most recent pause position of the audiobook H belongs to the mobile phone.

[0133] Step 208: The mobile phone receives the resume play position of audiobook H and the play data corresponding to the resume play position of audiobook H. In addition, the mobile phone can also receive the most recent pause play position of audiobook H and the audio play file to which the most recent pause play position of audiobook H belongs, and cache the received data.

[0134] Step 209: The user clicks the resume play control 301 of audiobook H.

[0135] Step 210: In response to this click operation, the mobile phone starts playing the corresponding play data according to the resume play position of audiobook H, or if it has received the most recent pause play position of audiobook H and the audio play file to which the most recent pause play position of audiobook H belongs, and in order to provide a better resume play experience for the user, it can be as Figure 6 shown, display a query dialog box in the interaction interface. This query dialog box is used to query whether the user resumes play according to the resume play position or the pause play position. Among them, the query statement in the query dialog box can be set by itself. For example, display "It has been a long time since the above play. Do you want to resume play according to the new position?" in the query dialog box, that is, query whether the user resumes play according to the resume play position. If the user clicks the affirmative control, resume play according to the resume play position. If the user clicks the negative control, resume play according to the pause play position. If the user does not click the affirmative control and the negative control within the preset time, after the preset time has passed, resume play according to the resume play position.

[0136] As can be seen from the above, since after opening the audiobook play application, a resume play request is sent to the server, the server responds to the resume play request to determine the resume play position of audiobook H, and sends the resume play position of audiobook H to the mobile phone. In this way, after the user clicks the resume play control, it can quickly play according to the resume play position, with a fast response speed, no need to wait, and the user experience is improved.

[0137] It should be noted that for other audio play objects (such as radio programs, etc.), the principles of determining their resume play positions, determining the logical information of the play objects, determining the memory rate of the user for the play objects, etc. are the same as those of the corresponding parts of the audiobook described above, so they will not be elaborated here.

[0138] In other embodiments of the present application, the media application can also be a video play application, that is, the type of the play object is video. For example, the play object can be a TV drama, variety show, etc. For video play objects, the principle of determining the resume play position of the play object is generally the same as that of determining the resume play position of an audiobook, and the difference lies in the acquisition method of the logical information of the play object, the position of the logical point, and the representation of the pause play position of the play object.

[0139] Next, the representation method of the stop position of the video type playback object will be described.

[0140] For video type playback objects, the playback progress of the playback object is generally represented by at least one of the time progress, the identifier of the video playback file, etc. Therefore, the stop position of the video type playback object can be represented by at least one of the time progress, the identifier of the video playback file, etc. For example, the stop position of the playback object can be represented by the identifier of the video playback file to which the stop position of the playback object belongs and the time progress of the stop position of the playback object in the video playback file to which it belongs. For example, if the playback object is a TV drama, the stop position of the playback object can be represented as [03, 00.10.00], where 03 represents the identifier of the video playback file to which the stop position of the playback object belongs, and 00.10.00 represents the 10th minute of the stop position of the playback object in the video playback file to which it belongs. It should be noted that for the representation of the subsequent time progress, the unit of the first two digits is hours, the unit of the middle two digits is minutes, and the unit of the last two digits is seconds. On this basis, if 03 represents the identifier of the third episode of the TV drama, the stop position of the playback object is the 10th minute in the third episode.

[0141] Next, the logical information of the video type playback object will be described.

[0142] The logical information of a video playback object includes the logical relationships among multiple logical points of the playback object and the positions of each logical point. Since the video data of a playback object includes at least one video playback file, and different video playback files express different themes, and the theme expressed by a video playback file can also be divided into multiple sub-themes, each video playback file of the playback object can be divided into multiple video segments, with one video segment corresponding to one sub-theme. In this way, the logical points of the playback object include the starting points of each video playback file and the starting points of each video segment. The logical relationships among the logical points of the playback object are the sequence order among the starting points of multiple video playback files of the playback object, which video playback file's starting point the starting point of a video segment belongs to, and the sequence order among the starting points of video segments that belong to the starting point of the same video playback file. For example, if the playback object is a TV drama, since a TV drama includes multiple episodes, one episode corresponds to one video playback file, one episode can express one theme, and the theme expressed by one episode can also be divided into multiple sub-themes, each video playback file of one episode can be divided into multiple video segments, with one video segment corresponding to one sub-theme. In this way, the multiple logical points of this TV drama include the starting points of each episode and the starting points of each video segment. The logical relationships among the multiple logical points refer to the sequence order among the starting points of each episode, which episode's starting point the starting point of a video segment belongs to, and the sequence order among the starting points of different video segments of one episode.

[0143] It should be noted that the multiple logical points of a playback object can be divided into multiple levels, each level includes at least one logical point, and the logical points with a lower level belong to the corresponding logical points with a higher level. For example, if the playback object is a TV drama, the multiple logical points of the TV drama can be divided into two levels. The first level is the starting point of each episode of the TV drama, and the second level is the starting point of the video segment, and the starting point of each video segment belongs to the starting point of the corresponding episode of the TV drama.

[0144] Next, the acquisition principle of the logical information of the video playback object will be described. The acquisition methods include the following two.

[0145] First, in the case where the video data of the playback object does not include subtitle data:

[0146] First, obtain the audio data from the video data of the playback object.

[0147] Then, obtain the human voice information from the audio data. Since this step has been described above, it will not be elaborated here.

[0148] Finally, based on the recognition of human voice information, the position of each logical point in the multiple logical points of the playback object and the logical relationship between the multiple logical points are determined. Specifically, the human voice information can be converted into text through speech-to-text technology, and the text is semantically analyzed, and the root semantic analysis results are obtained to obtain multiple semantic segments of the text, each semantic segment corresponding to a sub-topic. According to each semantic segment and in combination with the video playback file, multiple video segments of the video playback file are obtained, thereby obtaining the position of the starting point of each video segment in the multiple video segments and the sequence between the starting points of the video segments. According to the video playback file and its sequence, the position of the starting point of each video playback file and the sequence between the starting points of each video playback file are determined, and finally the logical relationship between the multiple logical points in the logical information of the playback object and the position of each logical point are obtained.

[0149] The second type is when the video data of the playback object includes subtitle data:

[0150] The subtitle data is obtained from the video data of the playback object, the subtitle data is identified, and the position of each of the multiple logical points of the historical playback object and the logical relationship between the multiple logical points are determined. The principle of identifying the subtitle data is the same as the principle of semantic analysis of the text above, so it will not be repeated here.

[0151] The position of the logical point of a video playback object is the same as the representation principle of the stop position of a video playback object, so it will not be repeated here. For example, if the playback object is a TV series, and the logical point is the starting point of the second video clip of the fifth episode of the TV series, then the position of the logical point can be represented as [05, 00.20.00], where 05 represents the identifier of the video playback file to which the starting point of the second video clip of the fifth episode of the TV series belongs, and 00.20.00 represents the starting point of the second video clip of the fifth episode of the TV series at the 20th minute in the video playback file to which it belongs.

[0152] It should be noted that the representation of the position of the logic point is only exemplary and is not intended to limit the present application.

[0153] The presentation form of the logical information of the video playback object can be a logical tree or a logical directory, etc., which is not particularly limited in the embodiments of the present application.

[0154] Below, the logical information of a TV series is described by taking a video playback object as a TV series and the display form of the logical information of the TV series as a logical tree as an example.

[0155] If the video data of the TV series includes multiple video playback files, the number of video playback files is the same as the number of episodes of the TV series, that is, one video playback file corresponds to one episode of the TV series. The logical points of the TV series include the starting point of each episode of the TV series and the starting point of each video clip. The logical relationship between the logical points refers to: the sequence between the starting points of each episode of the TV series, the starting point of which episode the video clip belongs to, and the sequence between the starting points of the video clips that belong to the starting point of the same episode of the TV series.

[0156] Based on this, a root node is set, which represents the name of the TV series; child nodes of the root node (i.e., first-level child nodes) are set, wherein the number of first-level child nodes is the same as the number of episodes of the TV series, and one first-level child node represents the starting point of one episode of the TV series, and the order of the first-level child nodes from left to right or from right to left indicates the sequence between the starting points of one episode of the TV series represented by the first-level child nodes; second-level child nodes are set under each first-level child node, wherein one second-level child node corresponds to the starting point of a video clip, and the starting point of the video clip corresponding to one second-level child node belongs to the starting point of one episode of the TV series corresponding to the first-level child node to which it belongs, and the order of the second-level child nodes under one first-level child node from left to right or from right to left indicates the sequence between the starting points of the video clips it represents.

[0157] Figure 7 This is a schematic diagram of the logic tree of the TV series B provided in the embodiment of the present application. The logic points of the TV series B include the starting point of each TV series episode and the starting point of the video clip. Figure 7 It can be seen that the TV series B includes a root node, a first-level child node, and a second-level child node. Among them, the root node indicates the name of the TV series B. There are three first-level child nodes, namely the starting point of the first episode of the TV series [01, 00.00.00], the starting point of the second episode of the TV series [02, 00.00.00], and the starting point of the third episode of the TV series [03, 00.00.00]. Among them, for the starting point of the first episode of the TV series [01, 00.00.00], 01 represents the identifier of the video playback file to which the starting point of the first episode of the TV series belongs, and 00.00.00 represents that the starting point of the first episode of the TV series is at the 0th minute of the video playback file to which it belongs. For the starting point of the second episode of the TV series [02, 00.00.00], 02 represents the identifier of the video playback file to which the starting point of the second episode of the TV series belongs, and 00.00.00 represents that the starting point of the second episode of the TV series is at the 0th minute of the video playback file to which it belongs. For the starting point of the third episode of the TV series [03, 00.00.00], 03 represents the identifier of the video playback file to which the starting point of the third episode of the TV series belongs, and 00.00.00 represents the 0th minute of the starting point of the third episode of the TV series in the video playback file to which it belongs.

[0158] Each first-level subnode includes a number of second-level subnodes, where the second-level subnode is the starting point of the video clip. The first number in the brackets after each second-level subnode indicates the identifier of the video playback file to which the starting point of the video clip belongs, and the second number indicates the time progress of the video clip in the video playback file to which it belongs.

[0159] In other embodiments of the present application, the media application may also be a text application, that is, the type of the playback object is text, for example, the playback object is a novel, an essay, etc. For a text playback object, the principle of determining the playback resume position of the playback object is substantially the same as the principle of determining the playback resume position of an audio book, the difference being the logical information of the playback object and the method of obtaining it, as well as the position of the logical point and the representation of the stop position of the playback object.

[0160] Next, the method of indicating the stop position of a text playback object is described.

[0161] For text playback objects, the playback progress of the playback object is usually indicated by page numbers, paragraph numbers in page numbers, sentence numbers in paragraphs, etc. Therefore, the stop position of the playback object can be indicated by at least one of the page number, paragraph number in page number, sentence number in paragraph, etc. For example, the stop position of the playback object can be indicated by the page number to which the stop position of the playback object belongs, the paragraph number in the page to which the stop position of the playback object belongs, and the sentence number in the corresponding paragraph to which the stop position of the playback object belongs. For example, if the playback object is a novel, the stop position of the novel can be indicated as [62, 03, 02], where 62 indicates that the page number to which the stop position of the novel belongs is 62, 03 indicates that the stop position of the novel is in the third paragraph of the page to which it belongs, and 02 indicates that the stop position of the novel is in the second sentence in the third paragraph of the page to which it belongs. As can be seen from the above, the stop position of the novel is the second sentence in the third paragraph of the 62nd paragraph of the novel.

[0162] It should be noted that when the user is reading a text file, the device can directly obtain the page number of the current page the user is reading, but the paragraph number and sentence number cannot be directly obtained. Therefore, the total number of words the user has read in the current page can be determined based on the time the user stays on the current page and the reading speed, and then the paragraph and sentence number of the current page that the user has read can be determined based on the total number of words.

[0163] Next, the logical information of the text playback object is explained.

[0164] The logical information of a playback object of the text type includes the logical relationships between multiple logical points of the playback object and the positions of each logical point. Since a text file of a playback object includes multiple elements such as chapters, paragraphs, and sentences, the logical points of the playback object of the text type include multiple elements such as chapter start points, paragraph start points, and sentence start points. If the logical points of the playback object of the text type include chapter start points, paragraph start points, and sentence start points, the logical relationships between the logical points of the playback object of the text type are as follows: the sequence of chapter start points, which chapter start point a paragraph start point belongs to, the sequence of paragraph start points belonging to the same chapter start point, which paragraph start point a sentence start point belongs to, and the sequence of sentence start points belonging to the same paragraph start point.

[0165] It should be noted that multiple logical points of a playback object can be divided into multiple levels, each level includes at least one logical point, and a logical point with a lower level belongs to its corresponding logical point with a higher level. For example, if the playback object is a novel, the multiple logical points of this novel can be divided into three levels. The first level is each chapter start point, the second level is each paragraph start point, and each paragraph start point has the start point of the chapter to which it belongs. The third level is each sentence start point, and each sentence start point has the paragraph start point to which it belongs.

[0166] Next, the acquisition principle of the logical information of the playback object of the text type will be described.

[0167] Identify the keywords in the text data (i.e., the text file) of the playback object. The keywords can include, for example, but are not limited to, table of contents, paragraph identifiers, line breaks, full stops, page numbers, etc. Based on the analysis of the keywords, determine the position of each logical point among the multiple logical points of the playback object and the logical relationships between the multiple logical points, that is, determine the positions and sequence (i.e., logical relationships) of the chapter start points, paragraph start points, and sentence start points of the playback object according to the keywords: table of contents, paragraph identifiers, line breaks, full stops, page numbers, etc.

[0168] The principle of representing the position of the logical point of the playback object of the text type is the same as that of the pause position of the playback object of the text type, so it will not be elaborated here.

[0169] Figure 8 This is a flowchart showing the method for determining the resume position provided by the embodiments of the present application Figure 2 , in Figure 8 Taking the user terminal as a tablet computer, the media application as a video playback application, and the playback object as a TV drama as an example, the method for determining the resume position will be described. It should be noted that in Figure 8In the method for determining the resume position shown, after the user opens the video playback application, the tablet computer sends a resume request to the server, and the server receives the resume request and determines the resume position of each of the user's at least one previously played TV drama in response to the resume request.

[0170] As Figure 8 shown, the method for determining the resume position includes the following steps:

[0171] Step 801: The user clicks on the icon of the video playback application on the tablet computer interface to open the video playback application;

[0172] Step 802: The tablet computer displays the interactive interface of the video playback application.

[0173] After the user clicks on the icon of the video playback application on the tablet computer interface, the tablet computer sends a resume request to the server. The resume request carries the user's identification information and the initiation time of the resume request. Since the principle of this step has been described above, it will not be elaborated here.

[0174] Step 804: The server receives the resume request and determines the most recent pause time and pause position of at least one of the user's previously played TV dramas based on the user's identification information carried in the resume request, that is, determines the most recent pause time and pause position of each of the user's at least one previously played TV dramas.

[0175] In the embodiments of the present application, the user's previously played TV dramas refer to the TV dramas that the user has played in the video playback application. The specific number of at least one previously played TV drama can be set according to design requirements. For example, at least one previously played TV drama can be all the TV dramas that have been played to the user in the video playback application. For another example, since over time, the number of TV dramas played by the user in the video playback application may increase, but the ones that can be selected by the user for resuming may be at least one TV drama played recently. Therefore, in order to ensure the user's resume experience and reduce the computational workload, at least one previously played TV drama can also be the TV dramas recently played to the user in the video playback application.

[0176] If the user uses the video playback application, the video playback application will upload the pause time and pause position of each TV drama played by the user in the video playback application to the server.

[0177] Based on this, the most recent suspension time and suspension position of all the TV dramas that have been played for the user can be obtained according to the user's identification information. Then, at least one historical played TV drama of the user is determined from all the TV dramas that have been played for the user, so as to obtain the most recent suspension time and suspension position of each historical played TV drama in the at least one historical played TV drama.

[0178] It should be noted that the concepts of the most recent suspension time and suspension position of the historical played TV drama are the same as those of the most recent suspension time and suspension position of the audiobook in the above text, so they will not be elaborated here. The representation method of the most recent suspension position of the historical played TV drama has been explained in the above text, so it will not be elaborated here.

[0179] Step 805: The server determines the suspension duration of at least one historical played TV drama according to the most recent suspension time of at least one historical played TV drama and the initiation time of the resume request. That is, according to the most recent suspension duration of each historical played TV drama and the initiation time of the resume request, the suspension duration of each historical played TV drama is determined respectively. Since the principle of this step has been described in the above text, it will not be elaborated here.

[0180] Step 806: The server determines the resume position of at least one historical played TV drama according to the suspension duration of at least one historical played TV drama and the most recent suspension position of at least one historical played TV drama, wherein the resume position of each historical played TV drama is before its most recent suspension position.

[0181] In the embodiment of the present application, the above four methods for determining the resume position of the audiobook can be used to determine the resume position of each historical played TV drama in at least one historical played TV drama.

[0182] For each historical played TV drama, there are the following four methods for determining the resume position of the historical played TV drama.

[0183] First, according to the suspension duration of the historical played TV drama, the most recent suspension position of the historical played TV drama, and in combination with the logical information of the historical played TV drama, the resume position of the historical played TV drama is determined, wherein the resume position of the historical played TV drama is the position of a logical point in its logical information.

[0184] It should be noted that since the logical information of the historical played TV drama, its acquisition method, and the specific execution principle of the first method have been described in the above text, they will not be elaborated here.

[0185] Second, determine the memory rate of the user for the previously played TV drama based on the suspension duration of the previously played TV drama. Based on the memory rate of the user for the previously played TV drama, the most recent suspension position of the previously played TV drama, and combined with the logical information of the previously played TV drama, determine the resumption position of the previously played TV drama. Among them, the resumption position of the previously played TV drama is the position of a logical point in its logical information.

[0186] It should be noted that since the logical information of the previously played TV drama and its acquisition method, the determination method of the memory rate of the user for the previously played TV drama, and the specific implementation principle of the second method have been described above, they will not be elaborated here.

[0187] Third, analyze the previously played TV drama in advance to obtain the starting point of each statement in the previously played TV drama and the sequence order between the starting points of the statements. Determine the corresponding jump strategy according to the suspension duration of the previously played TV drama, that is, determine the jump step length, and this jump step length is used to indicate the number of statements to jump forward. Based on the most recent suspension position of the previously played TV drama and combined with the position of the starting point of each statement, determine the starting point of the statement corresponding to the most recent suspension position of the previously played TV drama. Determine the resumption position of the previously played TV drama based on the starting point of the statement corresponding to the most recent suspension position of the previously played TV drama and combined with the corresponding jump strategy. Since the principle of the above process has been described above, it will not be elaborated here.

[0188] Fourth, analyze the previously played TV drama in advance to obtain the starting point of each statement in the previously played TV drama and the sequence order between the starting points of the statements. Determine the memory rate of the user for the previously played TV drama according to the suspension duration of the previously played TV drama, and determine the corresponding jump strategy according to the memory rate of the user for the previously played TV drama. Based on the most recent suspension position of the previously played TV drama and combined with the position of the starting point of each statement, determine the starting point of the statement corresponding to the most recent suspension position of the previously played TV drama. Determine the resumption position of the previously played TV drama based on the starting point of the statement corresponding to the most recent suspension position of the previously played TV drama and combined with the corresponding jump strategy. Since the principle of the above process has been described above, it will not be elaborated here.

[0189] It should be noted that the effects achieved by each of the above methods are the same as those of the audiobook part in the above text, so they will not be elaborated here.

[0190] Step 807: The server sends the resume play position of each historical played TV drama among at least one historical played TV drama and the play data corresponding to the resume play position of each historical played TV drama among at least one historical played TV drama to the tablet computer. It should be noted that the play data corresponding to the resume play position of a historical played TV drama can be, for example, the video play file to which the resume play position of the historical played TV drama belongs.

[0191] Step 808: The tablet computer receives the resume play position of each historical played TV drama among at least one historical played TV drama and the play data corresponding to the resume play position of each historical played TV drama among at least one historical played TV drama. In addition, the tablet computer can also receive the most recent pause play position of each historical played TV drama among at least one historical played TV drama and the play data corresponding to the most recent pause play position of each historical played TV drama among at least one historical played TV drama, and cache the received data.

[0192] Step 809: The user selects one historical played TV drama from among at least one historical played TV drama as the target TV drama and clicks the resume play control of the target TV drama.

[0193] Step 810: In response to the operation of clicking the target TV drama, the tablet computer starts playing the corresponding play data according to the resume play position of the target TV drama. Or if it has received the most recent pause play position of each historical played TV drama among at least one historical played TV drama and the play data corresponding to the most recent pause play position of each historical played TV drama among at least one historical played TV drama, and in order to provide a better resume play experience for the user, a query dialog box can be displayed in the interaction interface. This query dialog box is used to ask the user whether to resume play according to the resume play position or the pause play position. If the user clicks the affirmative control, resume play according to the resume play position. If the user clicks the negative control, resume play according to the pause play position. If the user does not click the affirmative control and the negative control within the preset time, after the preset time has passed, resume play according to the resume play position. It should be noted that the query dialog box has been described above, so it will not be elaborated here.

[0194] As described above, the suspension duration of each previously played TV drama is determined based on the initiation time of the resume request and the most recent suspension time of each previously played TV drama. The resume position of each previously played TV drama is determined based on the suspension duration of each previously played TV drama and the most recent suspension position of each previously played TV drama, making the determination of the resume position of the previously played TV drama more flexible, so as to better meet diverse playback requirements. In addition, since the resume position of each previously played TV drama can be before its suspension position, when playing the corresponding previously played TV drama for the user according to the resume position of each previously played TV drama, the user can review the previous content, enhancing the user experience. Furthermore, since a resume request can be sent to the server after the video playback application is opened, the server determines the resume position of each previously played TV drama in response to the resume request and sends the resume position of each previously played TV drama to the tablet computer. In this way, when the user determines the target TV drama, the playback can be quickly performed according to the resume position of the target TV drama without the user having to wait, with a fast response speed and an enhanced user experience.

[0195] It should be noted that for other historical playback objects of video types (such as variety shows), the principle of determining their resume positions is as described above, so it will not be elaborated here.

[0196] In other embodiments of the present application, the historical playback object can also be an audio or text historical playback object. Since the principle of determining such historical playback objects is as shown above, it will not be elaborated here.

[0197] In summary, the present application provides a method for determining a resume position, which is applied to a server. As Figure 9 shown, the method includes the following steps:

[0198] Step 901: Receive a resume request, where the resume request carries the identification information of the user and the initiation time of the resume request.

[0199] Step 902: Determine the most recent suspension time and suspension position of at least a part of the historical playback objects of the user according to the identification information of the user. It should be noted that at least a part of the historical playback objects here can be, for example, the playback object most recently played for the user, or all the playback objects that have been played for the user, or a part of all the playback objects that have been played for the user. The embodiments of the present application do not make special limitations on this.

[0200] Step 903: Determine the suspension duration of at least a part of the historical playback objects according to the most recent suspension time of at least a part of the historical playback objects and the initiation time of the resume request.

[0201] Step 904: Determine the resume positions of at least some historical playback objects based on the pause durations of at least some historical playback objects and the most recent pause positions of at least some historical playback objects, where: the resume position of each historical playback object among at least some historical playback objects is before its most recent pause position.

[0202] Specifically, the following two methods are adopted, where:

[0203] First, obtain the logical information of at least some historical playback objects in advance, where the logical information of each historical playback object among at least some historical playback objects is used to indicate the logical relationship between multiple logical points of the historical playback object and the position of each logical point; then, based on the pause durations of at least some historical playback objects and the most recent pause positions of at least some historical playback objects, and in combination with the logical information of at least some historical playback objects, determine the resume positions of at least some historical playback objects; where the resume position of each historical playback object among at least some historical playback objects is the position of a logical point in its logical information.

[0204] Second, obtain the logical information of at least some historical playback objects in advance, where the logical information of each historical playback object among at least some historical playback objects is used to indicate the logical relationship between multiple logical points of the historical playback object and the position of each logical point; determine the memory rate of the user for at least some historical playback objects according to the pause durations of at least some historical playback objects. Specifically, determine the memory rate of the user for at least some historical playback objects according to the pause durations of at least some historical playback objects and in combination with a memory rate curve; based on the memory rate of the user for at least some historical playback objects, the most recent pause position of at least some historical playback objects, and in combination with the logical information of at least some historical playback objects, determine the resume positions of at least some historical playback objects; where the resume position of each historical playback object among at least some historical playback objects is the position of a logical point in its logical information.

[0205] It should be noted that the above two methods are only exemplary and are not used to limit the present application. For example, the resume position can also be determined by the other two methods shown above.

[0206] Next, for each historical playback object, the principle of obtaining the logical information of the historical playback object will be described.

[0207] If the type of the historical playback object is audio, obtain the voice information from the audio data of the historical playback object; based on the recognition of the voice information, determine the position of each logical point among the multiple logical points of the historical playback object and the logical relationship between the multiple logical points. If the historical playback object is an audiobook, the multiple logical points of the historical playback object include the chapter start point, paragraph start point, and sentence start point of the audiobook.

[0208] If the type of the historical playback object is video and the video data of the historical playback object does not include subtitle data, obtain the audio data from the video data of the historical playback object; obtain the voice information from the audio data; based on the recognition of the voice information, determine the position of each logical point among the multiple logical points of the historical playback object and the logical relationship between the multiple logical points.

[0209] If the type of the historical playback object is video and the video data of the historical playback object includes subtitle data, obtain the subtitle data from the video data of the historical playback object; based on the recognition of the subtitle data, determine the position of each logical point among the multiple logical points of the historical playback object and the logical relationship between the multiple logical points.

[0210] If the type of the historical playback object is text, identify the keywords in the text data of the historical playback object; based on the analysis of the keywords, determine the position of each logical point among the multiple logical points of the historical playback object and the logical relationship between the multiple logical points.

[0211] It should be noted that the execution principle and details of the above process have been described above, so they will not be elaborated here.

[0212] Step 905: Send the resume position of at least a part of the historical playback object and the playback data corresponding to the resume position of at least a part of the historical playback object for caching by the user terminal to the user terminal. Since the principle of this step has been described above, it will not be elaborated here.

[0213] In summary, determine the pause duration of the historical playback object according to the initiation time of the resume request and the most recent pause time of the historical playback object, and determine the resume position of the historical playback object according to the pause duration of the historical playback object and the most recent pause position of the historical playback object, making the determination of the resume position of the historical playback object more flexible, so as to better meet diverse playback requirements. In addition, since the resume position of the historical playback object is before its pause position, when playing the historical playback object for the user according to the resume position of the historical playback object, the user can review the previous content, improving the user experience.

[0214] Figure 10 Schematic flow of the resume position determination method provided by the embodiment of the present applicationFigure 4 , in Figure 10 , taking the user terminal as a mobile phone, the media application as a text reading application, and the playback object as a novel as an example to illustrate the method for determining the resume playback position. It should be noted that in Figure 10 , in the method for determining the resume playback position shown, after the user opens the text reading application and determines the novel to be played in the text reading application, the mobile phone sends a resume playback request to the server, and the server receives and responds to the resume playback request to determine the resume playback position of the novel to be played.

[0215] As Figure 10 shown, the process of determining the resume playback position includes the following steps:

[0216] Step 1001: The user clicks the icon of the text reading application on the mobile phone interface to open the text reading application;

[0217] Step 1002: The mobile phone displays the interactive interface of the text reading application.

[0218] Step 1003: The user selects a novel as the novel to be played in the interactive interface of the text reading application and clicks the resume playback control of the novel to be played. The novel to be played is one of the novels that the user has read in the text reading application. It should be noted that since the type of the playback object here is text, the playback here can be understood as display.

[0219] Step 1004: The mobile phone generates a resume playback request in response to the operation of clicking the resume playback control of the novel to be played. Among them, the resume playback request carries the identification information of the user, the identification information of the novel to be played, and the initiation time of the resume playback request.

[0220] In the embodiment of the present application, after the user clicks the resume playback control of the novel to be played, the mobile phone obtains the identification information of the user, the identification information of the novel to be played, and determines the current time as the initiation time of the resume playback request. Then, a resume playback request is generated according to the identification information of the user, the identification information of the novel to be played, and the initiation time of the resume playback request.

[0221] Step 1005: The mobile phone sends the resume playback request to the server.

[0222] Step 1006: The server receives the resume playback request and determines the most recent stop time and stop position of the novel to be played according to the identification information of the user and the identification information of the novel to be played carried in the resume playback request.

[0223] In the embodiment of the present application, if the user uses the text reading application, the text reading application will upload the stop time and stop position of each novel read by the user in the text reading application to the server.

[0224] Based on this, the last pause time and pause position of the novel to be played can be obtained according to the identification information of the user and the identification information of the novel to be played. Among them, the last pause time of the novel to be played is the time when the user last stopped playing the novel to be played, and the last pause position of the novel to be played is the playback progress of the novel to be played when the user last stopped playing the novel to be played.

[0225] Since the representation method of the pause position of the text-based playback object has been described above, it will not be elaborated here.

[0226] Step 1007: The server calculates the pause duration of the novel to be played according to the last pause time of the novel to be played and the initiation time of the resume playback request. Since the principle of this step has been described above, it will not be elaborated here.

[0227] Step 1008: The server determines the resume playback position of the novel to be played according to the pause duration of the novel to be played and the last pause position of the novel to be played, where the resume playback position of the novel to be played is before its last pause position.

[0228] In the embodiments of the present application, the four methods described in step 206 can be used to determine the resume playback position of the novel to be played. The specific methods are as follows:

[0229] First, according to the pause duration of the novel to be played and the last pause position of the novel to be played, and in combination with the logical information of the novel to be played, determine the resume playback position of the novel to be played, where the logical information of the novel to be played is used to indicate the logical relationship between multiple logical points of the novel to be played and the position of each logical point. The resume playback position of the novel to be played is the position of a logical point in its logical information.

[0230] It should be noted that since the logical information of the novel to be played and its acquisition method, as well as the specific execution process of the first method have been described above, it will not be elaborated here.

[0231] Second, according to the pause duration of the novel to be played, determine the memory rate of the user for the novel to be played, and according to the memory rate of the user for the novel to be played and the last pause position of the novel to be played, and in combination with the logical information of the novel to be played, determine the resume playback position of the novel to be played, where the resume playback position of the novel to be played is the position of a logical point in its logical information.

[0232] It should be noted that since the logical information of the novel to be played and its acquisition method, the determination method of the memory rate of the user for the novel to be played, and the specific execution principle of the second method have been described above, it will not be elaborated here.

[0233] Thirdly, analyze the novel to be played in advance to obtain the starting point of each sentence in the novel to be played and the sequence order between the starting points of the sentences. Determine the corresponding jump strategy according to the pause duration of the novel to be played, that is, determine the jump step size, which is used to indicate the number of sentences to jump forward. Determine the starting point of the sentence corresponding to the most recent pause position of the novel to be played according to the most recent pause position of the novel to be played and in combination with the position of the starting point of each sentence. Determine the resume position of the novel to be played according to the starting point of the sentence corresponding to the most recent pause position of the novel to be played and in combination with the corresponding jump strategy. Since the principle of the above process has been described in the previous text, it will not be elaborated here.

[0234] Fourthly, analyze the novel to be played in advance to obtain the starting point of each sentence in the novel to be played and the sequence order between the starting points of the sentences. Determine the memory rate of the user for the novel to be played according to the pause duration of the novel to be played, and determine the corresponding jump strategy according to the memory rate of the user for the novel to be played. Determine the starting point of the sentence corresponding to the most recent pause position of the novel to be played according to the most recent pause position of the novel to be played and in combination with the position of the starting point of each sentence. Determine the resume position of the novel to be played according to the starting point of the sentence corresponding to the most recent pause position of the novel to be played and in combination with the corresponding jump strategy. Since the principle of the above process has been described in the previous text, it will not be elaborated here.

[0235] It should be noted that the effects achieved by each of the above methods are the same as those of the audiobook part in the previous text, so it will not be elaborated here.

[0236] Step 1009: The server sends the resume position of the novel to be played and the play data corresponding to the resume position of the novel to be played to the mobile phone. In addition, the server can also send the most recent pause position of the novel to be played and the play data corresponding to the most recent pause position of the novel to be played to the mobile phone.

[0237] Step 1010: The mobile phone receives the resume position of the novel to be played and the play data corresponding to the resume position of the novel to be played. In addition, the mobile phone can also receive the most recent pause position of the novel to be played and the play data corresponding to the most recent pause position of the novel to be played, and cache the received data.

[0238] Step 1011: The mobile phone starts playing the corresponding playback data according to the resume position of the novel to be played. Or, if it has received the last pause position of the novel to be played and the playback data corresponding to the last pause position of the novel to be played, and in order to provide a better resume playback experience for the user, an inquiry dialog box can be displayed in the interaction interface. This inquiry dialog box is used to ask the user whether to resume playback according to the resume position or the pause position. If the user clicks the affirmative control, resume playback according to the resume position. If the user clicks the negative control, resume playback according to the pause position. If the user does not click the affirmative control and the negative control within the preset time, after the preset time has passed, resume playback according to the resume position. It should be noted that the inquiry dialog box has been described above, so it will not be elaborated here.

[0239] As can be seen from the above, determine the pause duration of the novel to be played according to the initiation time of the resume request and the last pause time of the novel to be played, and determine the resume position of the novel to be played according to the pause duration of the novel to be played and the last pause position of the novel to be played, making the determination of the resume position of the novel to be played more flexible, thus better meeting diverse playback requirements. In addition, since the resume position is before the pause position, when playing the novel to be played for the user according to the resume position, the user can review the previous content, enhancing the user experience. Moreover, since only the resume position of the novel to be played is determined, the calculation amount is reduced and the calculation efficiency is improved.

[0240] It should be noted that for other text-based playback objects to be played (such as papers, etc.), the principle of determining their resume positions is as described above, so it will not be elaborated here.

[0241] In other embodiments of the present application, the playback object can also be an audio or video playback object. The principle of determining the resume position of such playback objects is the same as that of the text-based playback objects described above, so it will not be elaborated here.

[0242] In summary, the present application provides a method for determining a resume position. This method is applied to a server, as Figure 11 shown. This method includes the following steps:

[0243] Step 1101: Receive a resume request, where the resume request carries the identification information of the user, the identification information of the playback object to be played, and the initiation time of the resume request. The playback object to be played is a played playback object selected by the user.

[0244] Step 1102: Determine the last pause time and pause position of the playback object to be played according to the identification information of the playback object to be played and the identification information of the user.

[0245] Step 1103: Determine the pause duration of the object to be played based on the most recent pause time of the object to be played and the initiation time of the resume request.

[0246] Step 1104: Determine the resume position of the object to be played based on the pause duration of the object to be played and the most recent pause position of the object to be played, where the resume position of the object to be played is before its most recent pause position.

[0247] Specifically, the following two methods are adopted, where:

[0248] First, obtain the logical information of the object to be played in advance, where the logical information of the object to be played is used to indicate the logical relationship between multiple logical points of the object to be played and the position of each logical point. Then, based on the pause duration of the object to be played and the most recent pause position of the object to be played, and in combination with the logical information of the object to be played, determine the resume position of the object to be played, where the resume position of the object to be played is the position of a logical point in the logical information of the object to be played.

[0249] Second, obtain the logical information of the object to be played in advance, where the logical information of the object to be played is used to indicate the logical relationship between multiple logical points of the object to be played and the position of each logical point. Then, determine the memory rate of the user for the object to be played according to the pause duration of the object to be played by the user. Specifically, according to the pause duration of the object to be played by the user, and in combination with a memory rate curve, determine the memory rate of the user for the object to be played; based on the memory rate of the user for the object to be played and the most recent pause position of the object to be played, and in combination with the logical information of the object to be played, determine the resume position of the object to be played; where the resume position of the object to be played is the position of a logical point in the logical information of the object to be played.

[0250] It should be noted that the above two methods are only exemplary and are not used to limit the present application. For example, the resume position can also be determined by the other two methods shown above.

[0251] Next, the principle of obtaining the logical information of the object to be played will be described.

[0252] If the type of the object to be played is audio, obtain the voice information from the audio data of the object to be played; based on the recognition of the voice information, determine the position of each logical point among the multiple logical points of the object to be played and the logical relationship between the multiple logical points. If the object to be played is an audiobook, the multiple logical points of the object to be played include the chapter start point, paragraph start point, and sentence start point of the audiobook.

[0253] If the type of the object to be played is a video and the video data of the object to be played does not include subtitle data, obtain audio data from the video data of the object to be played; obtain voice information from the audio data; based on the recognition of the voice information, determine the position of each logical point among the multiple logical points of the object to be played and the logical relationship between the multiple logical points.

[0254] If the type of the object to be played is a video and the video data of the object to be played includes subtitle data, obtain subtitle data from the video data of the object to be played; based on the recognition of the subtitle data, determine the position of each logical point among the multiple logical points of the object to be played and the logical relationship between the multiple logical points.

[0255] If the type of the object to be played is text, identify the keywords in the text data of the object to be played; based on the analysis of the keywords, determine the position of each logical point among the multiple logical points of the object to be played and the logical relationship between the multiple logical points.

[0256] It should be noted that the execution principle and details of the above process have been described above, so they will not be elaborated here.

[0257] Step 1105: Send the resume position of the object to be played and the play data corresponding to the resume position of the object to be played for caching by the user terminal to the user terminal.

[0258] In summary, determine the pause duration of the object to be played according to the initiation time of the resume request and the most recent pause time of the object to be played, and determine the resume position of the object to be played according to the pause duration of the object to be played and the most recent pause position of the object to be played, making the determination of the resume position of the novel to be played more flexible, so as to better meet diverse playback requirements. In addition, since the resume position is before the pause position, when playing the novel to be played for the user according to the resume position, the user can review the previous content, improving the user experience. Moreover, since only the resume position of the object to be played is determined, the calculation amount is reduced and the calculation efficiency is improved.

[0259] Figure 12 This is a schematic structural diagram of an electronic device provided by an embodiment of the present application. As Figure 12 shown, the components of the electronic device 1200 may include but are not limited to: the above at least one processor 1210, at least one memory 1220, at least one data memory 1270, and a bus 1230 connecting different system components (including the memory 1220 and the processor 1210, the data memory 1270).

[0260] Among them, the memory 1220 stores a computer program, which can be executed by the processor 1210, so that the processor 1210 executes the steps performed by the server in this specification.

[0261] The memory 1220 may include volatile storage units, such as a random access memory (RAM) 12201 and / or a cache storage unit 12202, and may further include a read-only memory (ROM) 12203.

[0262] The memory 1220 may further include a program / utilities 12204 having a set (at least one) of program modules 12205. Such program modules 12205 include, but are not limited to: an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include the implementation of a network environment.

[0263] The data memory 1270 is used to store the data required and generated during the execution of the above services, such as logical information, stop broadcast position, stop broadcast time, stop broadcast duration, resume broadcast position, etc.

[0264] The bus 1230 may include a data bus, an address bus, and a control bus.

[0265] The electronic device 1200 may also communicate with one or more external devices 1260 (such as a keyboard, a pointing device, a Bluetooth device, etc.), and such communication may be performed through an input / output (I / O) interface 1240. The electronic device 1200 may also communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through a network adapter 1250. As shown in the figure, the network adapter 1250 communicates with other modules of the electronic device 1200 through the bus 1230. It should be understood that although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 1200, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.

[0266] The present application also provides a computer-readable storage medium, including a computer program, which when executed on a computer, causes the computer to execute any one of the methods described in the above method embodiments.

[0267] The present application also provides a computer program, which when executed by a computer, is used to execute any one of the methods described in the above method embodiments.

[0268] The present application further provides a chip, which includes a processor and a memory. The memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory to execute any one of the methods described in the above method embodiments.

[0269] Further, the chip may further include a memory and a communication interface. The communication interface may be an input / output interface, a pin, an input / output circuit, or the like.

[0270] In the implementation process, the steps of the above method embodiments can be completed by the integrated logic circuit in hardware in the processor or instructions in software form. The processor may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application can be directly embodied as being executed and completed by the hardware-encoded processor, or executed and completed by a combination of the hardware and software modules in the encoded processor. The software module may be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. This storage medium is located in the memory, and the processor reads the information in the memory and combines its hardware to complete the steps of the above method.

[0271] The memories mentioned in the above embodiments may be volatile memories or non-volatile memories, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchlink dynamic random access memory (SLDRAM), and direct rambus random access memory (DR RAM). It should be noted that the memories of the systems and methods described herein are intended to include but not be limited to these and any other suitable types of memories.

[0272] Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. A professional technician can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.

[0273] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.

[0274] In several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of the devices or units can be in electrical, mechanical, or other forms.

[0275] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0276] In addition, in each embodiment of the present application, the functional units can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit.

[0277] If the functions are implemented in the form of software function units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs that can store program codes.

[0278] As described above, the above is only the specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed in the present application can easily think of changes or substitutions, which should all be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A method for determining a resume position, characterized in that, Including: Receiving a resume play request, where the resume play request carries the identification information of the user and the initiation time of the resume play request; Determining the most recent pause time and pause position of at least a part of the historical play objects of the user according to the identification information of the user; Determining the pause duration of at least a part of the historical play objects according to the most recent pause time of at least a part of the historical play objects and the initiation time; Determining the resume position of at least a part of the historical play objects according to the pause duration of at least a part of the historical play objects and the most recent pause position of at least a part of the historical play objects, where: The resume position of each historical play object in at least a part of the historical play objects is before its most recent pause position; The method further includes: Obtaining the logical information of at least a part of the historical play objects, where the logical information of each historical play object in at least a part of the historical play objects is used to indicate the logical relationship between multiple logical points of the historical play object and the position of each logical point; The determining the resume position of at least a part of the historical play objects includes: Determining the resume position of at least a part of the historical play objects according to the pause duration of at least a part of the historical play objects, the most recent pause position of at least a part of the historical play objects, and in combination with the logical information of at least a part of the historical play objects; Wherein, the resume position of each historical play object in at least a part of the historical play objects is the position of a logical point in its logical information.

2. The method according to claim 1, wherein The determining the resume position of at least a part of the historical play objects further includes: Determining the memory rate of the user for at least a part of the historical play objects according to the pause duration of at least a part of the historical play objects; Determining the resume position of at least a part of the historical play objects according to the memory rate of the user for at least a part of the historical play objects, the most recent pause position of at least a part of the historical play objects, and in combination with the logical information of at least a part of the historical play objects.

3. The method according to claim 2, characterized in that, The determining the memory rate of the user for at least a part of the historical play objects includes: Determining the memory rate of the user for at least a part of the historical play objects according to the pause duration of at least a part of the historical play objects and in combination with a memory rate curve.

4. The method according to any one of claims 1 to 3, characterized in that, The type of the historical play object is audio; For each of the historical play objects, obtaining the logical information of the historical play object includes: Obtaining voice information from the audio data of the historical play object; Based on the recognition of the voice information, determining the position of each logical point among multiple logical points of the historical play object and the logical relationship between the multiple logical points.

5. The method according to any one of claims 1 to 3, characterized in that The historical play object is an audiobook; the multiple logical points of the historical play object include the chapter start point, paragraph start point, and sentence start point of the audiobook.

6. The method according to any one of claims 1 to 3, characterized in that The type of the historical play object is video; For each of the historical play objects, obtaining the logical information of the historical play object includes: Obtaining audio data from the video data of the historical play object; Obtain voice information from the audio data; Based on the recognition of the voice information, determine the position of each logical point among multiple logical points of the historical playback object and the logical relationship between the multiple logical points.

7. The method according to any one of claims 1 to 3, characterized in that, The type of the historical playback object is video; For each of the historical playback objects, obtaining the logical information of the historical playback object includes: Obtain subtitle data from the video data of the historical playback object; Based on the recognition of the subtitle data, determine the position of each logical point among multiple logical points of the historical playback object and the logical relationship between the multiple logical points.

8. The method according to any one of claims 1 to 3, characterized in that, The type of the historical playback object is text; For each of the historical playback objects, obtaining the logical information of the historical playback object includes: Identify keywords in the text data of the historical playback object; Based on the analysis of the keywords, determine the position of each logical point among multiple logical points of the historical playback object and the logical relationship between the multiple logical points.

9. The method according to any one of claims 1 to 3, characterized in that At least a part of the historical playback objects are the playback objects played to the user most recently.

10. The method according to any one of claims 1 to 3, characterized in that, The method further includes: Send the resume playback position of at least a part of the historical playback objects and the playback data corresponding to the resume playback position of at least a part of the historical playback objects for caching by the user terminal to the user terminal.

11. A method for determining the continuous playback position, characterized in that Includes: Receive a resume playback request, where the resume playback request carries the identification information of the user, the identification information of the object to be played, and the initiation time of the resume playback request; Determine the most recent stop playback time and stop playback position of the object to be played according to the identification information of the object to be played and the identification information of the user; Determine the stop playback duration of the object to be played according to the stop playback time and the initiation time; Determine the resume playback position of the object to be played according to the stop playback duration and the stop playback position, where the resume playback position of the object to be played is before the stop playback position; The method further includes: Obtain the logical information of the object to be played, where the logical information of the object to be played is used to indicate the logical relationship between multiple logical points of the object to be played and the position of each logical point; The determining the resume playback position of the object to be played includes: Determine the resume playback position of the object to be played according to the stop playback duration and the stop playback position, and in combination with the logical information of the object to be played; Wherein, the resume playback position of the object to be played is the position of a logical point in the logical information of the object to be played.

12. The method according to claim 11, wherein The determining the resume playback position of the object to be played further includes: Determine the memory rate of the user for the object to be played according to the stop playback duration; Determine the resume playback position of the object to be played according to the memory rate and the stop playback position, and in combination with the logical information of the object to be played.

13. The method according to claim 12, wherein The determining the memory rate of the user for the object to be played according to the stop playback duration includes: Determine the memory rate of the user for the object to be played according to the stop playback duration and in combination with a memory rate curve.

14. The method according to claim 11 or 12, characterized in that, The type of the object to be played is audio; The obtaining the logical information of the object to be played includes: Obtain voice information from the audio data of the object to be played; Based on the recognition of the vocal information, determine the position of each logical point among the multiple logical points of the object to be played and the logical relationships between the multiple logical points.

15. The method according to claim 11 or 12, characterized in that, The object to be played is an audiobook; the multiple logical points of the object to be played include the chapter start point, paragraph start point, and sentence start point of the audiobook.

16. The method according to claim 11 or 12, characterized in that, The type of the object to be played is a video; The obtaining of the logical information of the object to be played includes: Obtain audio data from the video data of the object to be played; Obtain vocal information from the audio data; Based on the recognition of the vocal information, determine the position of each logical point among the multiple logical points of the object to be played and the logical relationships between the multiple logical points.

17. The method according to claim 11 or 12, characterized in that, The type of the object to be played is a video; The obtaining of the logical information of the object to be played includes: Obtain subtitle data from the video data of the object to be played; Based on the recognition of the subtitle data, determine the position of each logical point among the multiple logical points of the object to be played and the logical relationships between the multiple logical points.

18. The method according to claim 11 or 12, characterized in that, The type of the object to be played is text; The obtaining of the logical information of the object to be played includes: Identify keywords in the text data of the object to be played; Based on the analysis of the keywords, determine the position of each logical point among the multiple logical points of the object to be played and the logical relationships between the multiple logical points.

19. The method according to claim 11 or 12, characterized in that, The method further includes: Send the resume play position and the play data corresponding to the resume play position for caching by the user terminal to the user terminal.

20. An electronic device, characterized in that, Include: A communication module, configured to communicate with other devices; One or more storage memories, configured to store one or more computer programs; One or more processors, configured to execute the one or more computer programs, so that the electronic device executes the method according to any one of claims 1 to 10 or 11 to 19.

21. A continuous broadcast system, characterized in that, Include: A user terminal and an electronic device according to claim 20; Wherein, the user terminal is configured to send a resume play request to the electronic device.

22. A computer-readable storage medium, including a computer program, which when executed on a computer, causes the computer to execute the method according to any one of claims 1 to 10 or 11 to 19.

23. A computer program product, which when executed by a computer, is used to execute the method according to any one of claims 1 to 10 or 11 to 19.

24. A chip, including a processor and a memory, the memory is configured to store a computer program, and the processor is configured to call and run the computer program stored in the memory to execute the method according to any one of claims 1 to 10 or 11 to 19.

Citation Information

Patent Citations

  • Method and device for playing video

    CN106792173A

  • Video playing methods, system and devices and computer readable memory medium

    CN109640126A