Decoding method, device, terminal, storage medium and program product
By acquiring the target frames of the multimedia stream and their relationships, only the necessary frames are decoded, solving the problem of low decoding efficiency in existing systems, achieving a more efficient decoding process, and improving the user experience.
Patent Information
- Application Number
- CN202111405611.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-24
- Publication Date
- 2025-12-16
- Estimated Expiration
- 2041-11-24
AI Technical Summary
Existing decoding methods are inefficient and cannot meet users' needs for quickly viewing decoded multimedia streams.
By obtaining user selection instructions, the target frame and its associated relationships are determined. Only the target frame, associated frames, and secondary associated frames are decoded, avoiding the decoding of frames unrelated to them. Pre-decoding is used to obtain macroblock header information to obtain the associated relationships, and the associated relationships are used for decoding.
It improves decoding efficiency, reduces the number of decoding frames, lowers memory consumption, and enhances the user experience.
Smart Images

Figure CN116170633B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the computer field, and in particular to a decoding method and device, a terminal, a storage medium and a program product. BACKGROUND
[0002] In order to save network bandwidth and data storage costs, a multimedia stream is always compressed and encoded by an encoder before being stored, processed and transmitted, and decoding is a process of restoring the compressed multimedia stream into a multimedia stream close to the original multimedia stream by using a decompression algorithm.
[0003] However, the existing decoding has the problem of low efficiency, and it is difficult to meet the requirement of users to quickly view the decoded multimedia stream. SUMMARY
[0004] The embodiments of the present application provide a decoding method, device, terminal, storage medium and program product, which can improve decoding efficiency.
[0005] The embodiments of the present application provide a decoding method, comprising:
[0006] obtaining a selection instruction of a user on a multimedia stream, the selection instruction carrying information of a target frame, and obtaining an association relationship corresponding to the target frame, the association relationship including a relationship between the frame and other frames in the multimedia stream;
[0007] determining an associated frame according to the association relationship corresponding to the target frame, the associated frame being other frames in the multimedia stream corresponding to the target frame;
[0008] obtaining an association relationship corresponding to the associated frame;
[0009] determining a secondary associated frame according to the association relationship corresponding to the associated frame, the secondary associated frame being other frames in the multimedia stream corresponding to the associated frame;
[0010] decoding the associated frame, the secondary associated frame and the target frame to obtain a set of decoded frames.
[0011] The embodiments of the present application also provide a decoding device, comprising:
[0012] a first obtaining unit configured to obtain a selection instruction of a user on a multimedia stream, the selection instruction carrying information of a target frame, and obtain an association relationship corresponding to the target frame, the association relationship including a relationship between the frame and other frames in the multimedia stream;
[0013] a first determining unit configured to determine an associated frame according to the association relationship corresponding to the target frame, the associated frame being other frames in the multimedia stream corresponding to the target frame;
[0014] a second obtaining unit configured to obtain an association relationship corresponding to the associated frame;
[0015] a second determining unit, configured to determine a secondary associated frame according to an association relationship corresponding to the associated frame, the secondary associated frame being another frame in the multimedia stream corresponding to the associated frame;
[0016] a decoding unit, configured to decode the associated frame, the secondary associated frame, and the target frame to obtain a set of decoded frames.
[0017] In some embodiments, the first obtaining unit is configured to:
[0018] a decoding subunit, configured to pre-decode the target frame to obtain header information of a macroblock in the target frame, the header information of the macroblock including information of another frame in the multimedia stream corresponding to the target frame;
[0019] an obtaining subunit, configured to obtain the association relationship corresponding to the target frame according to the header information of the macroblock.
[0020] In some embodiments, the types of the frames in the multimedia stream include a first type, a second type, and a third type, and the first obtaining unit is configured to:
[0021] obtain the type of the target frame;
[0022] when the type of the target frame is the first type, decode the target frame to obtain a decoded target frame;
[0023] when the type of the target frame is the second type or the third type, obtain the association relationship corresponding to the target frame.
[0024] In some embodiments, before determining the associated frame according to the association relationship corresponding to the target frame, the apparatus is further configured to:
[0025] determine a target first frame close to the target frame in the multimedia stream, the target first frame being a frame in the multimedia stream whose type is the first type;
[0026] determine a frame set including the target frame in the multimedia stream according to the target first frame to obtain the frame set, the frame set being a set of frames that are associated with each other in the multimedia stream, and the frame set facilitating positioning of another frame corresponding to the target frame in the multimedia stream.
[0027] In some embodiments, the first determining unit is configured to:
[0028] determine the other frame corresponding to the target frame from the frame set according to the association relationship corresponding to the target frame to obtain the associated frame.
[0029] In some embodiments, the second determining unit is configured to:
[0030] According to the association relationship corresponding to the association frame, other frames associated with the association frame are determined from the frame set, and a secondary association frame is obtained.
[0031] In some embodiments, the decoding unit is configured to:
[0032] Obtain a decoding order of the association frame, the secondary association frame, and the target frame.
[0033] Decode the association frame, the secondary association frame, and the target frame according to the decoding order, and obtain a decoded frame set.
[0034] In some embodiments, the decoding unit is configured to:
[0035] Determine a union set corresponding to the association frame, the secondary association frame, and the target frame, and obtain a to-be-decoded frame set.
[0036] Decode the to-be-decoded frame set, and obtain a decoded frame set.
[0037] In some embodiments, before obtaining the selection instruction of the user on the multimedia stream, the apparatus is configured to:
[0038] Unpack the encapsulated multimedia stream, and obtain a multimedia stream.
[0039] Load the multimedia stream into a playlist, so as to obtain the selection instruction of the user on the multimedia stream.
[0040] In some embodiments, the decoded frame set includes a target decoded frame corresponding to the target frame, and after the decoded frame set is obtained, the apparatus is configured to:
[0041] Extract the target decoded frame from the decoded frame set according to the target frame.
[0042] Play the target decoded frame.
[0043] Embodiments of the present application also provide a terminal, which includes a memory storing a plurality of instructions; and a processor loading the instructions from the memory to perform steps in any decoding method provided by embodiments of the present application.
[0044] Embodiments of the present application also provide a computer readable storage medium storing a plurality of instructions, which are suitable for being loaded by a processor to perform steps in any decoding method provided by embodiments of the present application.
[0045] Embodiments of the present application also provide a computer program product, which includes computer programs / instructions, and the computer programs / instructions are executed by a processor to implement steps in any decoding method provided by embodiments of the present application.
[0046] The embodiment of the present application can acquire a selection instruction of a user on a multimedia stream, the selection instruction carrying information of a target frame, acquire an association relationship corresponding to the target frame, and the association relationship including a relationship between the target frame and other frames in the multimedia stream; determine an associated frame according to the association relationship corresponding to the target frame, the associated frame being other frames in the multimedia stream corresponding to the target frame; acquire an association relationship corresponding to the associated frame; determine a secondary associated frame according to the association relationship corresponding to the associated frame, the secondary associated frame being other frames in the multimedia stream corresponding to the associated frame; and decode the associated frame, the secondary associated frame, and the target frame to obtain a decoded frame set.
[0047] In the present application, the associated frame corresponding to the target frame and the secondary associated frame corresponding to the associated frame can be decoded, thereby avoiding decoding all frames in front of the target frame in the same group of frames. Thus, the scheme can improve the decoding efficiency when decoding the target frame. BRIEF DESCRIPTION OF DRAWINGS
[0048] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative effort on the basis of these drawings.
[0049] Figure 1a is a scene schematic diagram of the decoding method provided by the embodiment of the present application;
[0050] Figure 1b is a flowchart of the decoding method provided by the embodiment of the present application;
[0051] Figure 2a is a flowchart of the decoding method provided by the embodiment of the present application applied in the decoding scene of a video stream;
[0052] Figure 2b is an association relationship in the decoding method provided by the embodiment of the present application;
[0053] Figure 2c is an association relationship in the decoding method provided by the embodiment of the present application;
[0054] Figure 3 is a structural schematic diagram of the decoding device provided by the embodiment of the present application;
[0055] Figure 4 is a structural schematic diagram of the terminal provided by the embodiment of the present application. DETAILED DESCRIPTION
[0056] With reference to the drawings of the embodiments of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described. Obviously, the described embodiments are only a part of the embodiments of the present application, but not all the embodiments of the present application. Based on the embodiments of the present application, any other embodiments obtained by a person of ordinary skill in the art without creative work fall within the scope of the present application.
[0057] The embodiment of the present application provides a decoding method and device, a terminal, a storage medium and a program product.
[0058] The decoding device can be integrated in an electronic device, which can be a terminal, a server or the like. The terminal can be a mobile phone, a tablet computer, a smart Bluetooth device, a notebook computer or a personal computer (PC) or the like. The server can be a single server or a server cluster composed of multiple servers.
[0059] In some embodiments, the decoding device can also be integrated in multiple electronic devices, for example, the decoding device can be integrated in multiple servers to implement the decoding method of the present application.
[0060] In some embodiments, the server can also be implemented in the form of a terminal.
[0061] Reference Figure 1a The electronic device can obtain a selection instruction of a user on a multimedia stream, the selection instruction carrying information of a target frame, and obtain an association relationship corresponding to the target frame, the association relationship including the relationship between the target frame and other frames in the multimedia stream. Then, according to the association relationship corresponding to the target frame, a related frame is determined, the related frame being other frames in the multimedia stream corresponding to the target frame. Then, an association relationship corresponding to the related frame is obtained. Then, according to the association relationship corresponding to the related frame, a secondary related frame is determined, the secondary related frame being other frames in the multimedia stream corresponding to the related frame. Finally, the related frame, the secondary related frame and the target frame are decoded to obtain a set of decoded frames.
[0062] When decoding the target frame, only the related frame corresponding directly to the target frame and the secondary related frame corresponding indirectly to the target frame need to be decoded, and the frames in the same group of frames that do not have any corresponding relationship with the target frame do not need to be decoded, thereby reducing the number of frames to be decoded, improving the decoding speed of the target frame, and reducing the memory consumption during program running.
[0063] The following will be described in detail. It should be noted that the serial numbers of the following embodiments do not limit the preferred order of the embodiments.
[0064] In this embodiment, a decoding method is provided, which comprises the following steps:Figure 1b The specific flow of the decoding method can be as follows:
[0065] 110, obtaining a selection instruction of a user on a multimedia stream, the selection instruction carrying information of a target frame, and obtaining an association relationship corresponding to the target frame, the association relationship including a relationship between the target frame and other frames in the multimedia stream.
[0066] The multimedia stream refers to media data compressed by a streaming media, such as a video stream, an image stream, an animation stream, etc.
[0067] The multimedia stream can include video data, image data, etc.
[0068] The selection instruction refers to an instruction corresponding to a selection operation of the user on the multimedia stream, such as a touch operation of the user on the multimedia stream, a keyboard and mouse operation of the user on the multimedia stream, a voice operation of the user on the multimedia stream.
[0069] The way of obtaining the selection instruction of the user on the multimedia stream has various forms, such as obtaining a touch operation of the user on the terminal on the multimedia stream, obtaining a keyboard and mouse operation of the user on the terminal on the multimedia stream, or obtaining a voice operation of the user on the terminal on the multimedia stream.
[0070] The target frame refers to a frame corresponding to the selection instruction on the multimedia stream, such as a video frame, an audio frame, an image frame, an animation frame, etc.
[0071] The association relationship corresponding to the target frame refers to a relationship between the target frame and other frames in the multimedia stream when the target frame is decoded.
[0072] For example, in some embodiments, a progress point corresponding to a touch operation of the user on the multimedia stream can be obtained, and the progress point can be processed to obtain an instruction corresponding to the touch operation, wherein the user can perform the touch operation through a touch screen. For example, when the user watches a video, the user drags a progress bar in a play list or moves the progress bar in the play list by a touch operation, and the position of the progress bar corresponds to the selection instruction of the user on the multimedia stream.
[0073] For example, in some embodiments, a progress point corresponding to a keyboard and mouse operation of the user on the multimedia stream can be obtained, and the progress point can be processed to obtain an instruction corresponding to the keyboard and mouse operation, wherein the user can perform the touch operation by using a mouse, a keyboard, a remote controller, etc. For example, when the user watches a video, the user drags a progress bar in a play list content of the video by using a mouse, or directly determines the position of the progress bar in the play list content of the video by using the mouse, or moves the position of the progress bar by using a forward or backward key of a keyboard.
[0074] For example, in some embodiments, user voice can be acquired and speech conversion processing can be performed on the voice to obtain a progress point corresponding to the voice. For example, when a user is watching a video, the user can send voice such as "fast forward", "adjust the play progress to the position corresponding to the third minute of the video stream" and the like to the terminal. When fast forwarding, the user sends "pause fast forward" to the terminal, and the pause position corresponds to the selection instruction of the user on the multimedia stream. When directly adjusting the position of the progress bar in the playlist by voice, the position indicated by the voice corresponds to the selection instruction of the user on the multimedia stream.
[0075] For example, in some embodiments, in order to acquire the association relationship between the target frame and other frames in the multimedia stream without completely decoding the target frame, a first acquisition unit is configured to:
[0076] A decoding subunit is configured to pre-decode the target frame to obtain the header information of the macroblock in the target frame, and the header information of the macroblock includes the information of other frames in the multimedia stream corresponding to the target frame.
[0077] An acquisition subunit is configured to acquire the association relationship corresponding to the target frame according to the header information of the macroblock.
[0078] Pre-decoding refers to preliminary decompression, and the preliminary decompression can acquire the information of other frames in the multimedia stream associated with the target frame, but does not decode the specific pixels corresponding to the target frame.
[0079] For example, if the header information of the macroblock in the target frame is {0, 1, 2}, the target frame needs to refer to the frames corresponding to the numbers 0, 1 and 2 when decoding.
[0080] The macroblock refers to the basic unit of image encoding. For example, an encoded image is usually divided into a plurality of macroblocks, and each macroblock includes the brightness and chrominance information of each pixel. Generally, the brightness block is a 16x16 or 8x8 pixel block.
[0081] For example, for a YUV420 sample image, the chrominance block is an 8x8 pixel block. In each image, a plurality of macroblocks are arranged in the form of a slice, and a video encoding algorithm encodes each macroblock as a unit to organize a continuous video code stream.
[0082] The header information of the macroblock refers to the information in front of the macroblock. For example, an image can be encoded into one or more slices, each slice includes at least one macroblock, and each slice is composed of a slice header and a slice body. The slice header includes the type of the slice, and the slice body is a group of continuous macroblocks, i.e., the header information is in front of all the macroblocks corresponding to the image.
[0083] For example, in some embodiments, in order to consider different decoding processes caused by different types of frames, the types of frames in the multimedia stream include a first type, a second type and a third type, the first obtaining unit is configured to:
[0084] obtain the type of the target frame;
[0085] when the type of the target frame is the first type, decode the target frame to obtain a decoded target frame;
[0086] when the type of the target frame is the second type or the third type, obtain an association relationship corresponding to the target frame.
[0087] The frame corresponding to the first type is a key frame, also called an I frame, and can be decoded independently without referring to the content of other frames by using an intra-frame compression technology.
[0088] The frame corresponding to the second type is a forward reference frame, also called a P frame, and when the P frame is encoded, the previous frame is referred to, so the previous frame also needs to be referred to when the P frame is decoded.
[0089] The frame corresponding to the third type is a bidirectional reference frame, also called a B frame, and when the B frame is encoded, both the previous frame and the subsequent frame are referred to, so both the previous frame and the subsequent frame need to be referred to when the B frame is decoded. This results in a situation that the decoding order and the display order of the video containing the B frame are inconsistent.
[0090] 120. Determine an associated frame according to the association relationship corresponding to the target frame, the associated frame being other frames in the multimedia stream corresponding to the target frame.
[0091] The associated frame refers to a frame directly associated with the target frame, and the directly associated frame refers to a frame that needs to be referred to when the target frame is decoded. For example, it can be known from the association relationship corresponding to the target frame that the frames that need to be referred to when the target frame is decoded are {0, 1, 2}, and the other frames in the multimedia stream corresponding to the target frame are the frames corresponding to the labels 0, 1 and 2.
[0092] For example, in some embodiments, in order to consider the existence of frames with the same label in the multimedia stream, a first type frame closest to the target frame can be determined to determine a frame set in which the target frame is located, so that other frames corresponding to the target frame in the multimedia stream can be determined, and the following step can be included before step 120:
[0093] determine a target first frame close to the target frame in the multimedia stream, the target first frame being a frame whose type is the first type in the multimedia stream;
[0094] According to the target first frame, a frame set including the target frame in the multimedia stream is determined, and the frame set is obtained. The frame set is a set of frames that are mutually associated in the multimedia stream, and the frame set facilitates positioning of other frames corresponding to the target frame in the multimedia stream.
[0095] The target first frame refers to a frame adjacent to the target frame and having a first type.
[0096] For example, the frame corresponding to the first type is a key frame, and there are multiple key frames in the multimedia stream. The frame set is divided according to the key frame in the multimedia stream. The frames in the frame set are marked by a label. In order to reduce the complexity of the label, the same label is usually used to mark the frames in each frame set. In this way, it is difficult to accurately locate other frames in the multimedia stream corresponding to the frame only through the association relationship of each frame. Therefore, the position of other frames in the multimedia stream corresponding to the target frame can be limited according to the frame set.
[0097] For example, the frame set is equivalent to a Group of Picture (GOP) in a video stream, which refers to a picture sequence composed of all frames from a key frame to the next key frame in the video stream. The size of the GOP is usually around 10-30, and there are also cases of larger GOP, such as 250, 300, etc.
[0098] For example, in some embodiments, in order to determine other frames corresponding to the target frame from multiple frames with the same label in the multimedia stream, a set of mutually associated frames can be determined from the multimedia stream, so that other frames corresponding to the target frame can be determined from the frame set, and the positioning of associated frames is realized. Step 120 can include the following steps:
[0099] According to the association relationship corresponding to the target frame, other frames corresponding to the target frame are determined from the frame set, and the associated frames are obtained.
[0100] For example, a frame set of 0-5 frames, the reference relationship in the frame set is: the 0th frame is a key frame, the 1st frame references {0}, the 2nd frame references {0, 1}, the 3rd frame references {0, 1, 2}, the 4th frame references {0, 1, 2}, and the 5th frame references {0, 1, 2}. The target frame is the 5th frame, and the frame set is determined according to the nearest 0th frame before the 5th frame. As known from the above, the associated frames corresponding to the 5th frame are {0, 1, 2}, and according to the position of the target frame, it can be determined that {0, 1, 2} referenced by the 5th frame when decoding is in the frame set. In this way, the 5th frame avoids referencing the frames corresponding to the frame set labels 0, 1, and 2 in the multimedia stream when decoding, and realizes the positioning of other frames corresponding to the target frame in the multimedia stream.
[0101] 130, obtaining an association relationship corresponding to the associated frame.
[0102] The association relationship corresponding to the association frame refers to the relationship between the association frame and other frames in the multimedia stream during decoding.
[0103] For example, in a frame set of 0-5 frames, the target frame is the 5th frame, and the association frame corresponding to the 5th frame is {0, 1, 2}. Among them, the 0th frame does not need to refer to other frames during decoding, the 1st frame needs to refer to the 0th frame during decoding, and the 2nd frame needs to refer to the 0th frame and the 1st frame during decoding. Therefore, the association relationship corresponding to the association frame {0, 1, 2} is {0} and {0, 1}.
[0104] 140. Determine the secondary association frame according to the association relationship corresponding to the association frame. The secondary association frame is other frames in the multimedia stream corresponding to the association frame.
[0105] Among them, the secondary association frame refers to a frame indirectly associated with the target frame, and the indirectly associated frame refers to a frame that needs to be referred to during decoding of the association frame and is indirectly associated with the target frame. For example, from the association relationship corresponding to the association frame, it can be known that the frames that need to be referred to during decoding of the association frame are {0} and {0, 1}, that is, the 0th frame and the 1st frame are the secondary association frame.
[0106] For example, in some embodiments, in order to determine other frames corresponding to the association frame from a plurality of frames with the same label in the multimedia stream, a set of frames associated with each other can be determined from the multimedia stream, so that other frames corresponding to the association frame can be determined from the frame set, thereby realizing the positioning of the secondary association frame. Step 140 can include the following steps:
[0107] According to the association relationship corresponding to the association frame, other frames associated with the association frame are determined from the frame set, and the secondary association frame is obtained.
[0108] For example, a frame set of 0-5 frames, the reference relationship in the frame set is: the 0th frame is a key frame, the 1st frame refers to {0}, the 2nd frame refers to {0, 1}, the 3rd frame refers to {0, 1, 2}, the 4th frame refers to {0, 1, 2}, and the 5th frame refers to {0, 1, 2}. Among them, the target frame is the 5th frame, and the frame set is determined according to the 0th frame closest to the 5th frame. As can be seen from the above, the association frame corresponding to the 5th frame is {0, 1, 2}, and the 0th frame does not need other frames during decoding of the association frame. The frame referred to by the 1st frame is the 0th frame, and the frame referred to by the 2nd frame is the 0th frame and the 1st frame. According to the position of the target frame, it can be determined that the 0th frame, the 1st frame and the 2nd frame referred to by the association frame {0, 1, 2} during decoding are in the frame set. In this way, the association frame {0, 1, 2} avoids referring to the frames corresponding to the frame set labels 0, 1 and 2 in the multimedia stream during decoding, and realizes the positioning of other frames corresponding to the association frame in the multimedia stream.
[0109] 150. Decode the association frame, the secondary association frame, and the target frame to obtain a set of decoded frames.
[0110] Wherein, decoding refers to the process of restoring the received symbols or codes to information, decoding can obtain the pixel array in the macro block of the frame, and decompress the specific pixel in the frame.
[0111] For example, in some embodiments, in order to consider the decoding of the target frame, it is necessary to refer to multiple other frames directly corresponding and indirectly corresponding to the target frame, which involves the order before and after decoding each frame, step 150 can include the following steps:
[0112] Obtain the decoding order of the associated frame, the secondary associated frame, and the target frame;
[0113] Decode the associated frame, the secondary associated frame, and the target frame according to the decoding order to obtain the decoded frame set.
[0114] Wherein, the decoding order is the order of decoding the multimedia stream, for example, when decoding the multimedia stream, in addition to decoding the key frame, when decoding the forward reference frame and the bidirectional reference frame, the reference frame set of the current frame needs to be decoded first, and then the current frame is decoded, therefore, the decoding order is different from the display order of the frame.
[0115] For example, in some embodiments, in order to consider that there may be the same frame between the associated frame and the secondary associated frame, and to avoid repeated decoding of the same frame in the associated frame and the secondary associated frame, step 150 can include the following steps:
[0116] Determine the union set corresponding to the associated frame, the secondary associated frame, and the target frame to obtain the to-be-decoded frame set;
[0117] Decode the to-be-decoded frame set to obtain the decoded frame set.
[0118] Wherein, the to-be-decoded frame set refers to the set composed of frames waiting to be decoded.
[0119] For example, in a frame set of 0-5 frames, the target frame is the 5th frame, the associated frame is {0, 1, 2}, and the secondary associated frame is {0} and {0, 1}, therefore, the union set of the to-be-decoded frame set is {0, 1, 2, 5}.
[0120] Wherein, the decoded frame set refers to the set composed of decoded frames.
[0121] For example, decompressing the to-be-decoded frame set {0, 1, 2, 5} obtains the decoded frame set.
[0122] For example, in some embodiments, in order to obtain the target frame specified by the user, the following steps can be included before step 110:
[0123] Decapsulate the encapsulated multimedia stream to obtain the multimedia stream;
[0124] The multimedia stream is loaded into the playlist to obtain the selection instruction of the user on the multimedia stream.
[0125] The encapsulated multimedia stream is a multimedia stream encapsulated by an encapsulation protocol, such as a video stream encapsulated in mp4, avi, rmbv, or the like.
[0126] The decapsulation refers to a process of disassembling a protocol to obtain information, such as disassembling the mp4 protocol of the encapsulated video stream in mp4 format to obtain the video stream from the encapsulated video stream.
[0127] The playlist refers to a list of playing content, such as loading the video stream into the playlist to play the video stream when the video stream needs to be played.
[0128] For example, the playlist has a video stream to be played, and the playlist has a progress bar, and the user can move the position of the progress bar in the playlist to adjust the playing progress of the video stream in the playlist. Thus, the selection instruction of the user on the multimedia stream can be determined by obtaining the position of the progress bar in the playlist, and the position of the progress bar is used to indicate the time point of the current playing position in the entire video stream playing time period.
[0129] For example, in some embodiments, in order to accurately play the target frame, the decoded frame set contains a target decoded frame corresponding to the target frame, and the step 150 can include the following steps after the step 150:
[0130] The target decoded frame in the decoded frame set is extracted according to the target frame.
[0131] The target decoded frame is played.
[0132] The target decoded frame refers to the decoded target frame.
[0133] For example, the user adjusts the position of the progress bar in the playlist, and the position of the progress bar corresponds to the target frame, that is, the user's intention is to start playing from the position of the target frame, and the target frame needs to be decoded before playing, and the target frame needs to refer to the associated frame and the secondary associated frame during decoding. Therefore, the associated frame, the secondary associated frame, and the target frame need to be decoded, and the playing is only based on the target decoded frame corresponding to the target frame.
[0134] For example, in some embodiments, the selection instruction carries information of a target frame set composed of target frames.
[0135] For example, if a user wants to view the content of the 5th frame and the 6th frame, the target frame set contains {5, 6}, the associated relationship corresponding to the 5th frame and the associated relationship corresponding to the 6th frame are acquired respectively, and the associated frame of the 5th frame and the associated frame of the 6th frame are acquired, then the associated relationship corresponding to the associated frame of the 5th frame is acquired to obtain the secondary associated frame of the 5th frame, the associated relationship corresponding to the associated frame of the 6th frame is acquired to obtain the secondary associated frame of the 6th frame, and the associated frame of the 5th frame, the secondary associated frame of the 5th frame, the associated frame of the 6th frame, the secondary associated frame of the 6th frame, the 5th frame and the 6th frame are decoded in the decoding order to obtain a decoded frame set, and the 5th frame and the 6th frame are extracted from the decoded frame set for playing.
[0136] As can be seen from the above, the embodiment of the application can acquire the selection instruction of a user on a multimedia stream, the selection instruction carries the information of a target frame, and the associated relationship corresponding to the target frame is acquired, the associated relationship contains the relationship between the frame and other frames in the multimedia stream; the associated frame is determined according to the associated relationship corresponding to the target frame, the associated frame is other frames in the multimedia stream corresponding to the target frame; the associated relationship corresponding to the associated frame is acquired; the secondary associated frame is determined according to the associated relationship corresponding to the associated frame, the secondary associated frame is other frames in the multimedia stream corresponding to the associated frame; the associated frame, the secondary associated frame and the target frame are decoded to obtain a decoded frame set.
[0137] In the embodiment of the application, the associated frame can be determined from the associated relationship corresponding to the target frame, the secondary associated frame can be determined from the associated relationship corresponding to the associated frame, and the associated frame, the secondary associated frame and the target frame are decoded, and the frames not corresponding to the target frame before the target frame are discarded, so that the scheme can improve the decoding speed of the target frame, save the memory occupied in the decoding process of the target frame, and improve the user experience.
[0138] The method described in the above embodiment will be further described in detail below.
[0139] In this embodiment, the method of the application will be described in detail by taking the decoding method applied to a video stream as an example.
[0140] As shown in Figure 2a , a decoding method specifically includes the following steps:
[0141] (1) performing an unpacking operation on the packaged multimedia stream to obtain a multimedia stream; and loading the multimedia stream into a play list to acquire a selection instruction of a user on the multimedia stream.
[0142] (2) acquiring the selection instruction of the user on the multimedia stream, the selection instruction carrying the information of a target frame.
[0143] For example, the target frame is the 5th frame in a frame set in the multimedia stream.
[0144] For example, in some embodiments, the selection instruction carries a target frame set, and the target frame set is composed of target frames.
[0145] For example, the target frame set is composed of the 5th frame and the 6th frame in a frame set in the multimedia stream.
[0146] (Three), pre-decoding the target frame to obtain the header information of the macro block in the target frame, the header information of the macro block containing the information of other frames in the multimedia stream corresponding to the target frame; and obtaining the association relationship corresponding to the target frame according to the header information of the macro block.
[0147] In some embodiments, the types of the frames in the multimedia stream include a first type, a second type and a third type, and the step three can include the following steps:
[0148] Obtaining the type of the target frame;
[0149] When the type of the target frame is the first type, decoding the target frame to obtain the decoded target frame;
[0150] When the type of the target frame is the second type or the third type, obtaining the association relationship corresponding to the target frame.
[0151] (Four), obtaining the associated frame according to the association relationship corresponding to the target frame.
[0152] In some embodiments, the step four can include the following steps:
[0153] Determining a target first frame close to the target frame in the multimedia stream, the target first frame being a frame in the multimedia stream whose type is the first type;
[0154] According to the target first frame, determining a frame set in the multimedia stream including the target frame to obtain the frame set, the frame set being a set of frames in the multimedia stream that are associated with each other, and the frame set facilitating positioning of other frames in the multimedia stream corresponding to the target frame.
[0155] In some embodiments, the step four can include the following steps:
[0156] According to the association relationship corresponding to the target frame, determining other frames corresponding to the target frame from the frame set to obtain the associated frame.
[0157] (Five), performing backtracking processing on the associated frame to obtain the association relationship corresponding to the associated frame.
[0158] In some embodiments, the association relationship corresponding to the associated frame starts from a key frame.
[0159] (vi) obtaining the secondary associated frames according to the associated relationship corresponding to the associated frames.
[0160] For example, in some embodiments, step (vi) can include the following steps:
[0161] According to the associated relationship corresponding to the associated frames, other frames associated with the associated frames are determined from the frame set, and the secondary associated frames are obtained.
[0162] (vii) inputting the associated frames, the secondary associated frames, and the target frame into a standard decoder for decoding.
[0163] (viii) obtaining the output result of the encoder to obtain a decoded frame set.
[0164] In some embodiments, the decoded frame set includes a target decoded frame corresponding to the target frame, and after step (vii), the following steps can be included:
[0165] extracting the target decoded frame from the decoded frame set according to the target frame;
[0166] playing the target decoded frame.
[0167] For example, referring to Figure 2b , when decoding a single frame, in a frame set of 0-5 frames, the target frame is the 5th frame in the frame set, where the 0th frame is an I frame, and the associated relationship corresponding to the 5th frame is {0, 1, 2}, the 0th frame has no corresponding relationship, and the associated relationships corresponding to the 1st frame and the 2nd frame are {0} and {0, 1}, respectively. Therefore, the 5th frame needs to refer to {0, 1, 2} when decoding. Using traditional sequential decoding, to obtain the 5th frame, decoding needs to be performed in the order of 0, 1, 2, 3, 4, and 5. According to the scheme proposed in the present application, only decoding needs to be performed in the order of 0, 1, 2, and 5, and 1 / 3 of the frames are skipped, thereby improving decoding efficiency.
[0168] For example, referring to Figure 2c , when decoding multiple frames, in a frame set of 0-5 frames, the target frames are the 5th frame and the 6th frame. The associated relationship corresponding to the 5th frame is {1}, and the associated relationship corresponding to the 1st frame is {0}. Therefore, the 5th frame needs to refer to {0, 1} when decoding. The associated relationship corresponding to the 6th frame is {1, 4}, and the associated relationship corresponding to the 4th frame is {1}. According to the associated relationship of the 1st frame, the 6th frame needs to refer to {0, 1, 4} when decoding. The union of the two complete reference lists is {0, 1, 4}. Therefore, when decoding the 5th frame and the 6th frame, the decoder is input in the order of 0, 1, 4, 5, and 6, and 2 and 3 can be directly skipped in the decoding process.
[0169] In some embodiments, the embodiments of the present application are not only applicable to software codec using CPU, but also applicable to hardware codec using hardware such as GPU, dedicated DSP chip, FPGA, ASIC chip, etc. for coding and decoding. Wherein: CPU: central processing unit; GPU: graphics processing unit; DSP: digital signal processing; FPGA: programmable gate array; ASIC: application specific integrated circuit, etc.
[0170] As can be seen from the above, the embodiments of the present application can support fast decoding in the random jump process when the multimedia stream is playing. Especially in the case of a large frame set in the multimedia stream, the effect of the improvement will be more obvious, mainly reflected in two aspects, one is to save decoding time, and the other is to save memory. Through actual performance test and analysis, the decoding efficiency of the present scheme can be improved by at least 1 times compared with the traditional scheme.
[0171] In order to better implement the above method, the embodiments of the present application also provide a decoding device, which can be integrated in an electronic device. The electronic device can be a terminal, a server, etc. Wherein, the terminal can be a mobile phone, a tablet computer, a smart Bluetooth device, a notebook computer, a personal computer, etc. The server can be a single server, or a server cluster composed of multiple servers.
[0172] For example, in the present embodiment, the decoding device is integrated in a terminal, and the method of the present application is described in detail.
[0173] For example, as shown in the figure, Figure 3 The decoding device can include a first acquisition unit 310, a first determination unit 320, a second acquisition unit 330, a second determination unit 340 and a decoding unit 350, as follows:
[0174] (1) The first acquisition unit 310.
[0175] The first acquisition unit 310 can be used to acquire the selection instruction of the user on the multimedia stream, and the selection instruction carries the information of the target frame, and acquires the association relationship corresponding to the target frame, which contains the relationship between the frame and other frames in the multimedia stream.
[0176] In some embodiments, the first acquisition unit is used to:
[0177] The decoding sub-unit is used to pre-decode the target frame to obtain the header information of the macro block in the target frame, and the header information of the macro block contains the information of other frames in the multimedia stream corresponding to the target frame.
[0178] The acquisition sub-unit is used to acquire the association relationship corresponding to the target frame according to the header information of the macro block.
[0179] In some embodiments, the types of the frames in the multimedia stream include a first type, a second type and a third type, the first obtaining unit is configured to:
[0180] obtain a type of the target frame;
[0181] decode the target frame to obtain a decoded target frame when the type of the target frame is the first type.
[0182] obtain an association relationship corresponding to the target frame when the type of the target frame is the second type or the third type.
[0183] The first determining unit 320.
[0184] The first determining unit 320 can be configured to determine, according to the association relationship corresponding to the target frame, an associated frame, the associated frame being another frame in the multimedia stream corresponding to the target frame.
[0185] In some embodiments, before determining the associated frame according to the association relationship corresponding to the target frame, the apparatus is further configured to:
[0186] determine a target first frame close to the target frame in the multimedia stream, the target first frame being a frame in the multimedia stream whose type is the first type;
[0187] determine, according to the target first frame, a frame set including the target frame in the multimedia stream, to obtain the frame set, the frame set being a set of frames in the multimedia stream that are associated with each other, the frame set facilitating positioning of another frame corresponding to the target frame in the multimedia stream.
[0188] In some embodiments, the first determining unit is configured to:
[0189] determine, according to the association relationship corresponding to the target frame, another frame corresponding to the target frame from the frame set, to obtain the associated frame.
[0190] The second obtaining unit 330.
[0191] The second obtaining unit 330 can be configured to obtain an association relationship corresponding to the associated frame.
[0192] The second determining unit 340.
[0193] The second determining unit 340 can be configured to determine, according to the association relationship corresponding to the associated frame, a secondary associated frame, the secondary associated frame being another frame in the multimedia stream corresponding to the associated frame.
[0194] In some embodiments, the second determining unit is configured to:
[0195] determine, according to the association relationship corresponding to the associated frame, another frame associated with the associated frame from the frame set, to obtain the secondary associated frame.
[0196] (five), the decoding unit 350.
[0197] The decoding unit 350 can be configured to decode the associated frame, the secondary associated frame, and the target frame to obtain a decoded frame set.
[0198] In some embodiments, the decoding unit is configured to:
[0199] obtain a decoding order of the associated frame, the secondary associated frame, and the target frame;
[0200] decode the associated frame, the secondary associated frame, and the target frame according to the decoding order to obtain a decoded frame set.
[0201] In some embodiments, the decoding unit is configured to:
[0202] determine a union set corresponding to the associated frame, the secondary associated frame, and the target frame to obtain a to-be-decoded frame set;
[0203] decode the to-be-decoded frame set to obtain a decoded frame set.
[0204] In some embodiments, before obtaining the selection instruction of the user on the multimedia stream, the apparatus is configured to:
[0205] unpack the encapsulated multimedia stream to obtain a multimedia stream;
[0206] load the multimedia stream into a playlist to obtain the selection instruction of the user on the multimedia stream.
[0207] In some embodiments, the decoded frame set includes a target decoded frame corresponding to the target frame, and after obtaining the decoded frame set, the apparatus is configured to:
[0208] extract the target decoded frame from the decoded frame set according to the target frame;
[0209] play the target decoded frame.
[0210] In implementation, each of the above units can be implemented as an independent entity, or can be combined as the same or several entities, and the specific implementation of each of the above units can refer to the method embodiments above, which will not be repeated here.
[0211] As described above, the decoding device in this embodiment obtains the user's selection instruction on the multimedia stream by the first acquisition unit. The selection instruction carries information about the target frame, and the device also obtains the association relationship corresponding to the target frame. The association relationship includes the relationship between the frame and other frames in the multimedia stream. The first determination unit determines the associated frames based on the association relationship corresponding to the target frame. The associated frames are other frames in the multimedia stream corresponding to the target frame. The second acquisition unit obtains the association relationship corresponding to the associated frames. The second determination unit determines the secondary associated frames based on the association relationship corresponding to the associated frames. The secondary associated frames are other frames in the multimedia stream corresponding to the associated frames. The decoding unit decodes the associated frames, the secondary associated frames, and the target frame to obtain a set of decoded frames. This embodiment can improve the decoding efficiency when decoding the target frame.
[0212] This application also provides an electronic device, which can be a terminal, a server, or other similar device. The terminal can be a mobile phone, tablet computer, smart Bluetooth device, laptop computer, personal computer, etc.; the server can be a single server or a server cluster composed of multiple servers, etc.
[0213] In some embodiments, the decoding device may also be integrated into multiple electronic devices, such as multiple servers, with multiple servers implementing the decoding method of this application.
[0214] In this embodiment, a mobile terminal will be used as an example for detailed description. For example, ... Figure 4 As shown, it illustrates a structural diagram of the mobile terminal involved in an embodiment of this application. Specifically:
[0215] The mobile terminal may include components such as a processor 410 with one or more processing cores, a memory 420 with one or more computer-readable storage media, a power supply 430, an input module 440, and a communication module 450. Those skilled in the art will understand that... Figure 4 The mobile terminal structure shown does not constitute a limitation on the mobile terminal and may include more or fewer components than shown, or combine certain components, or have different component arrangements. Wherein:
[0216] The processor 410 is the control center of the mobile terminal, which connects all the parts of the mobile terminal through various interfaces and lines, and performs various functions and processes data of the mobile terminal by running or executing software programs and / or modules stored in the memory 420 and calling data stored in the memory 420, thereby overall detecting the mobile terminal. In some embodiments, the processor 410 can include one or more processing cores; in some embodiments, the processor 410 can integrate an application processor and a modem processor, wherein the application processor mainly processes operating systems, user interfaces, and application programs, etc., and the modem processor mainly processes wireless communication. It can be understood that the above-mentioned modem processor can also not be integrated into the processor 410.
[0217] The memory 420 can be used to store software programs and modules, and the processor 410 executes various functions and data processing by running the software programs and modules stored in the memory 420. The memory 420 can mainly include a program storage area and a data storage area, wherein the program storage area can store operating systems, application programs required by at least one function (such as sound playing function, image playing function, etc.), etc.; the data storage area can store data created according to the use of the mobile terminal, etc. In addition, the memory 420 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other volatile solid-state memory device. Accordingly, the memory 420 can also include a memory controller to provide the processor 410 with access to the memory 420.
[0218] The mobile terminal also includes a power supply 430 for supplying power to each component, and in some embodiments, the power supply 430 can be logically connected to the processor 410 through a power management system, so as to realize functions such as management of charging, discharging, and power consumption management through the power management system. The power supply 430 can also include one or more direct or alternating current power supplies, recharge systems, power failure detection circuits, power converters or inverters, power state indicators, etc.
[0219] The mobile terminal can also include an input module 440, which can be used to receive input digital or character information, and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control.
[0220] The mobile terminal can also include a communication module 450, which in some embodiments can include a wireless module, through which the mobile terminal can perform short-range wireless transmission, thereby providing the user with wireless broadband Internet access. For example, the communication module 450 can be used to help the user send and receive emails, browse web pages, and access streaming media, etc.
[0221] Although not shown, the mobile terminal can further include a display unit and the like, which will not be described herein. Specifically in the present embodiment, the processor 410 in the mobile terminal will load the executable file corresponding to the process of one or more than one application program into the memory 420 according to the following instructions, and run the application program stored in the memory 420 by the processor 410, thereby realizing various functions, as follows:
[0222] Obtaining a selection instruction of a user on a multimedia stream, the selection instruction carrying information of a target frame, and obtaining an association relationship corresponding to the target frame, the association relationship including a relationship between the target frame and other frames in the multimedia stream;
[0223] Determining an associated frame according to the association relationship corresponding to the target frame, the associated frame being other frames in the multimedia stream corresponding to the target frame;
[0224] Obtaining an association relationship corresponding to the associated frame;
[0225] Determining a secondary associated frame according to the association relationship corresponding to the associated frame, the secondary associated frame being other frames in the multimedia stream corresponding to the associated frame;
[0226] Decoding the associated frame, the secondary associated frame, and the target frame to obtain a set of decoded frames.
[0227] The specific implementation of each operation above can refer to the previous embodiments, which will not be described herein.
[0228] As can be seen from the above, in the embodiment of the present application, the mobile terminal can obtain a selection instruction of a user on a multimedia stream, the selection instruction carrying information of a target frame, and obtain an association relationship corresponding to the target frame, the association relationship including a relationship between the target frame and other frames in the multimedia stream; determine an associated frame according to the association relationship corresponding to the target frame, the associated frame being other frames in the multimedia stream corresponding to the target frame; obtain an association relationship corresponding to the associated frame; determine a secondary associated frame according to the association relationship corresponding to the associated frame, the secondary associated frame being other frames in the multimedia stream corresponding to the associated frame; and decode the associated frame, the secondary associated frame, and the target frame to obtain a set of decoded frames. Thus, the embodiment of the present scheme can improve the decoding efficiency when decoding the target frame.
[0229] Those skilled in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructions, or by related hardware controlled by the instructions, which can be stored in a computer readable storage medium and loaded and executed by a processor.
[0230] To this end, an embodiment of the present application provides a computer readable storage medium, which stores a plurality of instructions. The instructions can be loaded by a processor to perform steps of any of the decoding methods provided by the embodiments of the present application. For example, the instructions can perform the following steps:
[0231] An instruction of selecting a target frame is obtained, and an association corresponding to the target frame is obtained. The association includes a relationship between the target frame and other frames in the multimedia stream.
[0232] According to the association corresponding to the target frame, an associated frame is determined. The associated frame is another frame in the multimedia stream corresponding to the target frame.
[0233] An association corresponding to the associated frame is obtained.
[0234] According to the association corresponding to the associated frame, a secondary associated frame is determined. The secondary associated frame is another frame in the multimedia stream corresponding to the associated frame.
[0235] The associated frame, the secondary associated frame, and the target frame are decoded to obtain a set of decoded frames.
[0236] The storage medium can include a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0237] Since the instructions stored in the storage medium can perform steps of any of the decoding methods provided by the embodiments of the present application, the beneficial effects of any of the decoding methods provided by the embodiments of the present application can be achieved. Details are described in the foregoing embodiments, and will not be described here.
[0238] According to an aspect of the present application, a computer program product or a computer program is provided. The computer program product or the computer program includes computer instructions stored in a computer readable storage medium. A processor of a computer device reads the computer instructions from the computer readable storage medium. The processor executes the computer instructions, so that the computer device performs the method provided in any of the optional implementation manners of the decoding aspect provided in the foregoing embodiments.
[0239] The above describes in detail the decoding method, device, terminal and computer readable storage medium provided by the embodiments of the present application. The principles and implementation manners of the present application are described by applying specific examples. The above description of the embodiments is only used to help understand the method of the present application and its core idea. Meanwhile, for those skilled in the art, according to the idea of the present application, the specific implementation manners and application ranges will be changed. In conclusion, the content of the specification should not be understood as a limitation of the present application.
Claims
1. A decoding method, characterized in that, include: Obtain the user's selection instruction on the multimedia stream, the selection instruction carrying information of the target frame, and obtain the association relationship corresponding to the target frame, the association relationship including the relationship between the frame and other frames in the multimedia stream; Identify keyframes in the multimedia stream that are close to the target frame; Based on the keyframe, a set of frames in the multimedia stream that includes the target frame is determined, resulting in a frame set. The frame set is a collection of interconnected frames in the multimedia stream. The frame set facilitates the location of other frames in the multimedia stream that correspond to the target frame. Frames in the frame set are labeled with numbers. Based on the association relationship corresponding to the target frame, other frames corresponding to the target frame are determined from the frame set to obtain associated frames. The associated frames are other frames in the multimedia stream corresponding to the target frame, and the associated frames are the frames that need to be referenced when decoding the target frame. Obtain the association relationship corresponding to the associated frame; Based on the association relationship corresponding to the associated frame, other frames associated with the associated frame are determined from the frame set to obtain secondary associated frames. The secondary associated frames are other frames in the multimedia stream corresponding to the associated frame. The secondary associated frames are frames that need to be referenced when decoding the associated frame and are indirectly associated with the target frame. Obtain the decoding order of the associated frame, the secondary associated frame, and the target frame, wherein the decoding order includes decoding the secondary associated frame, the associated frame, and the target frame sequentially; Determine the union of the associated frame, the secondary associated frame, and the target frame to obtain the set of frames to be decoded; The set of frames to be decoded is decoded according to the decoding order to obtain a set of decoded frames; The decoded frame set includes the target decoded frame corresponding to the target frame. After obtaining the decoded frame set, the process includes: Extract the target decoded frame from the set of decoded frames based on the target frame; Play the target decoded frame.
2. The decoding method as described in claim 1, characterized in that, The step of obtaining the association relationship associated with the target frame includes: The target frame is pre-decoded to obtain the header information of the macroblock in the target frame. The header information of the macroblock contains information about other frames in the multimedia stream corresponding to the target frame. Based on the header information of the macroblock, obtain the association relationship corresponding to the target frame.
3. The decoding method as described in claim 1, characterized in that, The types of frames in the multimedia stream include a first type, a second type, and a third type. Obtaining the association relationship corresponding to the target frame includes: Obtain the type of the target frame; When the type of the target frame is the first type, the target frame is decoded to obtain a decoded target frame; When the target frame is of the second type or the third type, obtain the association relationship corresponding to the target frame.
4. The decoding method as described in claim 1, characterized in that, Before obtaining the user's selection instruction on the multimedia stream, the process includes: Decapsulate the encapsulated multimedia stream to obtain the multimedia stream; The multimedia stream is loaded into the playlist in order to obtain the user's selection instructions on the multimedia stream.
5. A decoding device, characterized in that, include: The first acquisition unit is used to acquire the user's selection instruction on the multimedia stream, the selection instruction carrying information of the target frame, and to acquire the association relationship corresponding to the target frame, the association relationship including the relationship between the frame and other frames in the multimedia stream; The first determining unit is configured to determine other frames corresponding to the target frame from the frame set according to the association relationship corresponding to the target frame, and obtain associated frames. The associated frames are other frames in the multimedia stream corresponding to the target frame. The associated frames are frames that need to be referenced when decoding the target frame. The frames in the frame set are marked by labels. The second acquisition unit is used to acquire the association relationship corresponding to the associated frame; The second determining unit is used to determine other frames associated with the associated frame from the frame set according to the association relationship corresponding to the associated frame, and obtain secondary associated frames. The secondary associated frames are other frames in the multimedia stream corresponding to the associated frame. The secondary associated frames are frames that need to be referenced when decoding the associated frame and are indirectly associated with the target frame. A decoding unit is configured to obtain the decoding order of the associated frame, the secondary associated frame, and the target frame, wherein the decoding order includes decoding the secondary associated frame, the associated frame, and the target frame sequentially; Determine the union of the associated frame, the secondary associated frame, and the target frame to obtain the set of frames to be decoded; The set of frames to be decoded is decoded according to the decoding order to obtain a set of decoded frames; Before determining the associated frame based on the association relationship corresponding to the target frame, the device is also used to: Identify keyframes in the multimedia stream that are close to the target frame; Based on the keyframe, the set of frames in the multimedia stream that includes the target frame is determined, and the frame set is obtained. The frame set is a set of interrelated frames in the multimedia stream. The frame set facilitates the location of other frames in the multimedia stream that correspond to the target frame. The set of decoded frames contains the target decoded frame corresponding to the target frame. After obtaining the set of decoded frames, the device is used to: Extract the target decoded frame from the set of decoded frames based on the target frame; Play the target decoded frame.
6. The decoding device as described in claim 5, characterized in that, The first acquisition unit is used for: The decoding subunit is used to pre-decode the target frame to obtain the header information of the macroblock in the target frame. The header information of the macroblock contains information about other frames in the multimedia stream corresponding to the target frame. The acquisition subunit is used to acquire the association relationship corresponding to the target frame based on the header information of the macroblock.
7. A terminal, characterized in that, The method includes a processor and a memory, the memory storing multiple instructions; the processor loads instructions from the memory to perform the steps in the decoding method as described in any one of claims 1 to 4.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a plurality of instructions adapted for loading by a processor to perform the steps of the decoding method according to any one of claims 1 to 4.
9. A computer program product, characterized in that, It includes a computer program / instruction that, when executed by a processor, implements the steps of the decoding method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Decoding method and decoding device for video frame
CN104703027A
Method supporting random background frame access in PS flow and streaming media
CN105142036A