A video encoding method, a video encoding device
By evaluating the motion of video data and using a frame skipping mode to encode image frames, the problem of poor image quality after video decoding is solved, achieving higher compression rates and better image quality.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HANGZHOU HIKVISION DIGITAL TECHNOLOGY CO LTD
- Filing Date
- 2025-07-02
- Publication Date
- 2026-07-31
AI Technical Summary
In existing technologies, the quality of the decoded video image is affected by excessive compression during video data transmission, resulting in poor image quality.
By evaluating the motion level of the video data, frame skipping mode is used to encode the image frames that need to be encoded in frame skipping mode. Different number of image frames are set according to the evaluation information for frame skipping mode encoding, thereby reducing the amount of encoded data and improving the compression ratio.
It improves the quality of the image after video decoding and reduces the bitrate of the encoded data, making it easier to transmit and store the video.
Smart Images

Figure CN120583235B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of video coding technology, and in particular to a video coding method and a video coding device. Background Technology
[0002] When video data is transmitted over a network, it needs to be transmitted in the form of encoded video stream data (coded data). For example, the video stream data can contain at least one GOP (Group of Pictures). A group of pictures contains one I-frame and at least one P-frame. The I-frame (Intra-Coded Frame) is usually the first frame in the group of pictures and is also the key frame. It usually has a large amount of data. The P-frame (Predictive Frame) can represent the difference between the previous frame or the I-frame and is not a key frame.
[0003] If the video data is large, related technologies may over-compress it in order to reduce storage space and meet transmission bandwidth requirements, which may affect the quality of the decoded image during subsequent decoding.
[0004] It is evident that, compared to related technologies, improving the quality of the decoded image is an urgent problem to be solved. Summary of the Invention
[0005] The purpose of this application is to provide a video encoding method and a video encoding device to improve the image quality obtained after decoding. The specific technical solution is as follows:
[0006] In a first aspect, this application provides a video coding method, including:
[0007] Acquire target video data;
[0008] The motion level of the target video data is evaluated to obtain target evaluation information;
[0009] Based on the target evaluation information, the specified video data is encoded; wherein, the specified video data is video data that is to be encoded again in response to the completion of the encoding of the target video data to obtain a group of images; the group of images includes multiple encoded image frames;
[0010] The encoding process includes: during the encoding process to obtain the image group, encoding the image frames that are set for the target evaluation information and need to be encoded in a frame skipping mode according to the frame skipping mode;
[0011] Different evaluation information sets the image frames that need to be encoded in frame skipping mode;
[0012] For any two evaluation information, if the number of image frames that need to be encoded in frame skipping mode set by the first evaluation information is greater than the number of image frames that need to be encoded in frame skipping mode set by the second evaluation information, then the degree of motion represented by the first evaluation information is lower than the degree of motion represented by the second evaluation information; the first evaluation information is one of the two evaluation information, and the second evaluation information is the other of the two evaluation information.
[0013] Secondly, this application provides a video encoding device, comprising:
[0014] Memory, used to store computer programs;
[0015] The processor, when executing a program stored in memory, implements the video encoding method described in the first aspect above.
[0016] Thirdly, this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the video encoding method described in the first aspect.
[0017] This application also provides a computer program product containing instructions that, when run on a computer, cause the computer to execute any of the video encoding methods described above.
[0018] Beneficial effects of the embodiments in this application:
[0019] The video encoding method provided in this application can evaluate the motion level of the screen content of target video data to obtain target evaluation information. Furthermore, for specified video data—that is, video data that has been encoded and is awaiting encoding to obtain a group of images—the specified video data can be encoded based on the target evaluation information. Specifically, during the encoding process to obtain the group of images, the image frames that need to be encoded in a frame-skipping mode, as set by the target evaluation information, are encoded according to the frame-skipping mode. Different evaluation information sets different image frames that need to be encoded in a frame-skipping mode. Considering that the motion level of the screen content affects the differences in screen content, for any two sets of evaluation information, if the number of image frames that need to be encoded in a frame-skipping mode set by the first evaluation information is greater than the number of image frames that need to be encoded in a frame-skipping mode set by the second evaluation information, then the motion level represented by the first evaluation information is lower than the motion level represented by the second evaluation information. In other words, the motion level represented by the evaluation information is correlated with the number of image frames that need to be encoded in a frame-skipping mode, and the more image frames that need to be encoded in a frame-skipping mode, the lower the motion level represented by the evaluation information.
[0020] As can be seen, in the process of encoding specified video data, this scheme can encode image frames that need to be encoded in frame skipping mode according to the specified frame skipping mode. Encoding in frame skipping mode can reduce the amount of encoded data and improve the compression ratio. Furthermore, since the content of multiple consecutive frames of the same video scene has continuity, the difference in motion between the content of these frames is relatively small. Therefore, in the encoding process of specified video data, the target evaluation information of the target video data can be used to specifically define the image frames that need to be encoded in frame skipping mode. This achieves the following effect: if the motion of the specified video data is low (i.e., the difference in content is small), more image frames can participate in frame skipping encoding; if the motion of the specified video data is high (i.e., the difference in content is large), fewer image frames can participate in frame skipping encoding, thus reducing the probability of over-compression. Therefore, this scheme can improve the compression ratio of encoded data while also improving the quality of the decoded image.
[0021] In addition, using frame skipping mode to encode image frames can reduce the bit rate of the encoded data, thus facilitating the transmission and storage of video.
[0022] Of course, implementing any product or method of this application does not necessarily require achieving all of the advantages described above at the same time. Attached Figure Description
[0023] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other embodiments can be obtained based on these drawings.
[0024] Figure 1 A flowchart illustrating a video encoding method provided in an embodiment of this application;
[0025] Figure 2 A schematic diagram illustrating the principle of video encoding for related technologies;
[0026] Figure 3(a) is a schematic diagram of the principle of video coding for two target types provided in an embodiment of this application;
[0027] Figure 3(b) is a schematic diagram of the principle of video coding for three target types provided in an embodiment of this application;
[0028] Figure 3(c) is a schematic diagram of another principle of video coding for three target types provided in the embodiments of this application;
[0029] Figure 4 A schematic diagram illustrating the principle of another video encoding method provided in this application embodiment;
[0030] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0031] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art based on this application are within the scope of protection of this application.
[0032] First, a brief introduction to some technical terms used in the embodiments of this application:
[0033] SVC protocol: A video coding standard / protocol jointly developed by the International Telecommunication Union (ITU) and the International Organization for Standardization (ISO). It is an extension of the H.264 / H.265 standard. Based on SVC, it can perform layering in the time dimension (frame rate), thus obtaining SVC-T (Temporal Scalable Video Coding) technology. SVC-T is a video layering coding technology based on the H.264 standard, which can divide frames into multiple categories.
[0034] H.264: A new generation of digital video compression standard jointly proposed by the International Organization for Standardization and the International Telecommunication Union.
[0035] H.265: Also known as high-efficiency video coding, it is a video compression standard proposed after H.264.
[0036] Macroblock: Also known as a block, it is the basic coding unit of video compression standards such as H.264 and H.265. When encoding any image frame, all the coding macroblocks of that image frame are encoded.
[0037] Skip frame: A skip frame is a frame encoded using a skip frame encoding mode (i.e., the encoded data of that image frame). This skip frame encoding mode can also be called Skip mode or Skip encoding mode. When encoding an image frame using skip frame mode, there is no need to directly encode the image content of that image frame. Instead, the index information of the encoded data of the referenced image frame (i.e., the encoded data of the referenced image frame) can be used as the encoded data of that image frame. Therefore, the amount of encoded data is extremely small, which can effectively improve the compression ratio of video encoding. Since the index information of the encoded data of the referenced image frame is used as the encoded data of that image frame, it can be considered or understood that the frame encoded by that image frame is the same as the frame encoded by the referenced image frame. Furthermore, it can be understood that if an image frame is encoded as a skip frame, the decoded image content of that skip frame is the same as the decoded content of the referenced image frame. Furthermore, the basic encoding unit for video coding types such as H.264 and H.265 is a macroblock or unit (hereinafter collectively referred to as a macroblock). In frame skipping mode, for any image frame, the encoded data of any macroblock in that image frame can be: the index information of the encoded data of the corresponding macroblock in the frame that the image frame needs to reference. Finally, the encoded data of the entire image frame is a collection of multiple index information, and the corresponding macroblock is the macroblock that the macroblock needs to reference during encoding. For example, there are image frame 1 and image frame 2 to be encoded. When encoding image frame 2, image frame 1 can be referenced. If image frame 2 needs to be encoded in frame skipping mode: the index information of the encoded data of image frame 2 is used as the encoded data of image frame 2 to obtain the skip frame obtained by encoding image frame 2.
[0038] The following describes a video encoding method provided by an embodiment of this application.
[0039] The video encoding method provided in this application can be applied to electronic devices. The electronic device can be a video encoding device or other devices with video encoding functions, such as a video preview device with video encoding functions. This application does not specifically limit the application in this regard. In specific applications, the video encoding device can be a terminal device or server used for video encoding, etc. This application does not specifically limit the application in this regard.
[0040] Specifically, the entity executing this video encoding method can be a video encoding device. For example, when the video encoding method is applied to a terminal device, the video encoding device can be a client running on the terminal device for video encoding. For example, when the video encoding method is applied to a server, the video encoding device can be a computer program running on the server, which can be used for video encoding.
[0041] The video encoding method provided in this application embodiment may include:
[0042] Acquire target video data;
[0043] The motion level of the target video data is evaluated to obtain target evaluation information;
[0044] Based on the target evaluation information, the specified video data is encoded; wherein, the specified video data is video data that is to be encoded again in response to the completion of the encoding of the target video data to obtain a group of images; the group of images includes multiple encoded image frames;
[0045] The encoding process includes: during the encoding process to obtain the image group, encoding the image frames that are set for the target evaluation information and need to be encoded in a frame skipping mode according to the frame skipping mode;
[0046] Different evaluation information sets the image frames that need to be encoded in frame skipping mode;
[0047] For any two evaluation information, if the number of image frames that need to be encoded in frame skipping mode set by the first evaluation information is greater than the number of image frames that need to be encoded in frame skipping mode set by the second evaluation information, then the degree of motion represented by the first evaluation information is lower than the degree of motion represented by the second evaluation information; the first evaluation information is one of the two evaluation information, and the second evaluation information is the other of the two evaluation information.
[0048] The video encoding method provided in this application can evaluate the motion level of the screen content of target video data to obtain target evaluation information. Furthermore, for specified video data—that is, video data that has been encoded and is awaiting encoding to obtain a group of images—the specified video data can be encoded based on the target evaluation information. Specifically, during the encoding process to obtain the group of images, the image frames that need to be encoded in a frame-skipping mode, as set by the target evaluation information, are encoded according to the frame-skipping mode. Different evaluation information sets different image frames that need to be encoded in a frame-skipping mode. Considering that the motion level of the screen content affects the differences in screen content, for any two sets of evaluation information, if the number of image frames that need to be encoded in a frame-skipping mode set by the first evaluation information is greater than the number of image frames that need to be encoded in a frame-skipping mode set by the second evaluation information, then the motion level represented by the first evaluation information is lower than the motion level represented by the second evaluation information. In other words, the motion level represented by the evaluation information is correlated with the number of image frames that need to be encoded in a frame-skipping mode, and the more image frames that need to be encoded in a frame-skipping mode, the lower the motion level represented by the evaluation information.
[0049] As can be seen, in the process of encoding specified video data, this scheme can encode image frames that need to be encoded in frame skipping mode according to the specified frame skipping mode. Encoding in frame skipping mode can reduce the amount of encoded data and improve the compression ratio. Furthermore, since the content of multiple consecutive frames of the same video scene has continuity, the difference in motion between the content of these frames is relatively small. Therefore, in the encoding process of specified video data, the target evaluation information of the target video data can be used to specifically define the image frames that need to be encoded in frame skipping mode. This achieves the following effect: if the motion of the specified video data is low (i.e., the difference in content is small), more image frames can participate in frame skipping encoding; if the motion of the specified video data is high (i.e., the difference in content is large), fewer image frames can participate in frame skipping encoding, thus reducing the probability of over-compression. Therefore, this scheme can improve the compression ratio of encoded data while also improving the quality of the decoded image. In addition, using frame skipping mode to encode image frames can reduce the bit rate of the encoded data, thus facilitating the transmission and storage of video.
[0050] The following describes a video encoding method provided by an embodiment of this application, with reference to the accompanying drawings.
[0051] like Figure 1 As shown in the embodiments of this application, a video encoding method may include the following steps:
[0052] S101, acquire target video data;
[0053] The target video data can be any video data used to assess the degree of motion. It can be unencoded or encoded video data; this application does not specifically limit this. Furthermore, the target video data can be data locally stored in the electronic device, or data obtained from another device via wired or wireless transmission, etc. This application does not limit the method of obtaining the target video data; any method capable of obtaining the target video data can be applied to this application.
[0054] S102, Evaluate the motion level of the target video data to obtain target evaluation information;
[0055] Understandably, there are multiple ways to assess the motion level of the target video data to obtain target evaluation information. For example, in one implementation, a Motion Detect (MD) module can be used. Specifically, the target video data is input to the MD module, which performs frame selection processing to obtain a target frame set (a set of image frames spaced at predetermined intervals). The module analyzes the reference values corresponding to each pixel position within the target frame set, and then outputs the reference values corresponding to each pixel position within the target frame set. Each reference value represents the degree of motion of the content indicated by that pixel position. Based on the reference values output by the MD module, the degree of motion of the target video data's content can be determined, and target evaluation information can be determined based on this determined degree of motion. The reference value corresponding to any pixel position can be determined based on the pixel difference between image frames in the target frame set at that pixel position. For example, the pixel difference can be used as the reference value, or the pixel difference can be compared with a predetermined threshold. If it is greater than the predetermined threshold, the reference value is set as the pixel difference; if it is not greater than the predetermined threshold, the reference value is set as a second value, such as 0. Furthermore, there are multiple ways to determine the degree of motion of the target video data's scene content based on the reference value output by the MD module. For example, in one implementation, a predetermined fusion analysis can be performed on the reference values corresponding to each pixel position in the target frame set to obtain the reference value corresponding to the target frame set. The reference value corresponding to the target frame set is used to characterize the overall degree of difference between image frames in the target frame set. Based on the reference value corresponding to the target frame set, the degree of motion of the scene content of the target video scene indicated by the target video data is determined.For example, a predetermined fusion analysis is performed on the reference values corresponding to each pixel position in the target frame set to obtain the reference value corresponding to the target frame set. This includes: averaging the reference values corresponding to each pixel position in the target frame set according to the number of each pixel position to obtain the reference value corresponding to the target frame set; or, for each block position in each block position, a reference value corresponding to that block position is determined based on the reference values corresponding to each pixel position at that block position, wherein each block position is: the position of each block obtained after dividing any image frame in the target video data into blocks, and the reference value corresponding to that block position is the degree of image difference between two image frames in the target frame set at that block position; for each block position, a predetermined setting process is performed on that block position, wherein the predetermined setting process includes setting a specified state value for that block position in response to the reference value corresponding to that block position being greater than a target threshold, otherwise not setting a specified state value; calculating the ratio of the number of block positions with specified state values to the total number to obtain the reference value corresponding to the target frame set; wherein the total number is the number of each block position. For example, determining the degree of motion of the scene content in the target video scene indicated by the target video data based on reference values corresponding to the target frame set can include: determining the reference values corresponding to the target frame set based on the mapping relationship between the reference values and the degree values representing the degree of motion, and then determining the degree of motion of the scene content in the target video scene indicated by the target video data. It is understood that there can be one or more target frame sets, and the frames in each target frame set are selected in the same way. Furthermore, when there are multiple target frame sets, when determining the degree of motion of the scene content in the target video scene indicated by the target video data, the reference values corresponding to the multiple target frame sets can be subjected to a predetermined calculation, such as averaging, to obtain a reference value for calculating the degree value, and then this reference value can be used to calculate the degree value.
[0056] Of course, in another implementation, intelligent algorithms can be used to analyze the motion level of the target video data to obtain target evaluation information; any method of evaluating the motion level of the picture content of the target video data in the related technologies is applicable to the embodiments of this application, and the embodiments of this application do not specifically limit it.
[0057] Furthermore, the representation of target assessment information can be in the form of exercise level, numerical range of degree value used to represent the degree of exercise, or degree value itself, etc.; when the representation of target assessment information is exercise level, different assessment information is different exercise level; when the representation of target assessment information is numerical range, different assessment information is different numerical range; and when the representation of target assessment information is degree value itself, different assessment information is different degree value.
[0058] To better understand the process of determining target evaluation information in various representation forms, the following example illustrates how to determine target evaluation information based on the determined degree value of the representation of motion in the target video data.
[0059] For example, determining target assessment information based on the determined degree value may include:
[0060] From each of the first-class numerical ranges, identify the first-class numerical range to which the determined degree value belongs, and determine the movement level corresponding to the identified first-class numerical range as the target evaluation information; wherein, different first-class numerical ranges correspond to different movement levels; each first-class numerical range is a sub-range obtained by dividing the range of degree values used to characterize the degree of movement.
[0061] or,
[0062] From each of the second-category numerical ranges, identify the second-category numerical range to which the determined degree value belongs, and use the identified second-category numerical ranges as target evaluation information; wherein, each of the second-category numerical ranges is a sub-range obtained by dividing the range of degree values used to characterize the degree of movement.
[0063] or,
[0064] The determined degree value is used as the target assessment information.
[0065] It should be noted that any implementation method capable of assessing the motion level of the scene content in the target video data and obtaining target assessment information can be applied to this application, and this application does not limit the specific implementation method. Furthermore, the representation form of the target assessment information is merely an example and should not constitute a limitation on the embodiments of this application.
[0066] S103, based on the target evaluation information, encode the specified video data;
[0067] The specified video data refers to video data that is to be encoded in response to the completion of the encoding of the target video data to obtain a group of images; the group of images includes multiple encoded image frames.
[0068] The encoding process includes: during the encoding process to obtain the image group, the image frames that need to be encoded in the frame skipping mode for the target evaluation information are encoded in the frame skipping mode.
[0069] Different evaluation information sets the image frames that need to be encoded in frame skipping mode;
[0070] For any two evaluation information, if the number of image frames that need to be encoded in frame skipping mode set by the first evaluation information is greater than the number of image frames that need to be encoded in frame skipping mode set by the second evaluation information, then the degree of motion represented by the first evaluation information is lower than the degree of motion represented by the second evaluation information; the first evaluation information is one of the two evaluation information, and the second evaluation information is the other of the two evaluation information.
[0071] In this application, to address the technical problem, the motion level of the video data's image content is applied to the video encoding process. Furthermore, since the image content of multiple consecutive frames captured for a video scene has image continuity, the difference in motion level between these frames is relatively small. Therefore, the target evaluation information of the target video data can be applied to the encoding process of the specified video data. Moreover, because the target evaluation information of the target video data is applied to the encoding process of the specified video data, and the specified video data is video data awaiting encoding after the target video data has been encoded to obtain a group of images, the encoding process has a certain degree of lag compared to the motion level evaluation. Since the target video data can be video data captured or acquired prior to the specified video data, this certain degree of lag ensures that when the encoding process of the specified video data is required, the target evaluation information of the target video data used can already be calculated, thereby guaranteeing the encoding efficiency and timeliness of the specified video data.
[0072] It is understood that the specified video data can be either adjacent to the target video data and the next video data to be encoded, or it can be non-adjacent to the target video data and the next video data to be encoded. This application embodiment does not specifically limit this. For example, if there are video data A, B, and C, each video data can be encoded into an image group. Video data A, B, and C are video data acquired sequentially for a video scene. Video data A and video data C are not adjacent, while video data A and video data B are adjacent. In one implementation, video data A is used as the target video data, and the motion level of the image content of video data A is analyzed to obtain target evaluation information. The specified video data can be video data B. After video data A is encoded, video data B can be encoded based on the target evaluation information. Alternatively, in another implementation, video data A is used as the target video data, and the motion level of the image content of video data A is analyzed to obtain target evaluation information. The specified video data can be video data C. After video data A is encoded, video data C can be encoded based on the target evaluation information.
[0073] Furthermore, the aforementioned image group may include multiple encoded image frames, and the number of image frames included in the image group can be set according to actual needs. In one optional implementation, the image group can be an image group starting with an I-frame (Intra-Coded Frame). For example, this image group includes one I-frame and at least one P-frame (Predictive Frame). The I-frame typically serves as the first frame in the image group and is a keyframe, usually containing a large amount of data, while the P-frame represents the difference between it and the previous frame or I-frame and is a non-keyframe. In another optional implementation, the image group can be an image group starting with a custom frame. Here, a custom frame can be understood as a self-defined image frame that is not a keyframe (e.g., an I-frame). For better understanding, a custom frame is described below as an example:
[0074] Custom frames are obtained by referencing an image frame used to encode the first frame of another image group. This means that when encoding a custom frame, the first frame of another group can be referenced; that is, the custom frame is not a keyframe and can essentially be considered a non-keyframe. For example, a custom frame can be obtained by referencing an image frame used to encode an I-frame in another image group, or it can be obtained by referencing an image frame used to encode a custom frame in another image group. The setting of custom frames can be time-related; for example, during encoding, a custom frame can be set to be encoded every 1 second or every 2 seconds. Furthermore, during encoding, rules can be set: the more intense the movement of the content in the image, the more I-frames are encoded. The closer the time interval between frames and I-frames, the shorter the duration of each GOP (a group of frames containing I-frames, i.e., a group of I-frames and the frames preceding the next I-frame) will be, based on this rule. Furthermore, since the time interval between image frames is usually fixed, more intense motion results in fewer image frames in a GOP. Also, because the duration of each GOP is shorter, the number of custom frames contained within it will also be less. For example, if a custom frame is encoded every 1 second, a GOP that takes 2.5 seconds might contain two custom frames; if a GOP takes 1.5 seconds, it might only contain one custom frame. Figure 4 Specifically, the relationship between custom frames and I-frames is explained: a custom frame 620 is an image frame used to encode an I-frame 610. The encoded image frame, a non-key frame (such as a P-frame), is an image frame encoded by referencing the first frame in its respective image group. Multiple custom frames 620 can exist between I-frames.
[0075] It is important to emphasize that different evaluation information each sets a number of image frames that need to be encoded in frame skipping mode. For any two evaluation information sets, the number of image frames that need to be encoded in frame skipping mode can be the same or different. That is, the number of image frames that need to be encoded in frame skipping mode set by different evaluation information sets can all be different, or some evaluation information sets can have the same number of image frames that need to be encoded in frame skipping mode. This application does not specifically limit this. For example, evaluation information 1 can set 5 image frames to be encoded in frame skipping mode, evaluation information 2 can set 5 image frames to be encoded in frame skipping mode, and evaluation information 3 can set 10 image frames to be encoded in frame skipping mode.
[0076] Furthermore, when different evaluation information each sets the number of image frames that need to be encoded in frame skipping mode, for any two evaluation information (first evaluation information and second evaluation information), if the number of image frames that need to be encoded in frame skipping mode set by the first evaluation information is greater than the number of image frames that need to be encoded in frame skipping mode set by the second evaluation information, then the motion level represented by the first evaluation information is lower than the motion level represented by the second evaluation information. Correspondingly, in one implementation, if the motion level represented by the first evaluation information is lower than the motion level represented by the second evaluation information, then the number of image frames that need to be encoded in frame skipping mode set by the first evaluation information can be greater than the number of image frames that need to be encoded in frame skipping mode set by the second evaluation information, or it can be equal to the number of image frames that need to be encoded in frame skipping mode set by the second evaluation information. This application does not specifically limit this.
[0077] For example, if the degree of motion represented by evaluation information 1 is greater than the degree of motion represented by evaluation information 2, then the number of image frames that need to be encoded in frame skipping mode set by evaluation information 1 can be the same as the number of image frames that need to be encoded in frame skipping mode set by evaluation information 2; of course, the number of image frames that need to be encoded in frame skipping mode set by evaluation information 1 can also be less than the number of image frames that need to be encoded in frame skipping mode set by evaluation information 2.
[0078] To better understand the relationship between different evaluation information and the number of image frames that need to be encoded in frame skipping mode, the following example illustrates the relationship between different evaluation information for different motion levels:
[0079] Suppose there are five exercise levels: exercise level 1, exercise level 2, exercise level 3, exercise level 4 and exercise level 5. The degree of exercise represented by exercise level 1 to exercise level 5 increases in an increasing trend, that is, exercise level 1 represents the lowest degree of exercise and exercise level 5 represents the highest degree of exercise.
[0080] In one implementation, each motion level from motion level 1 to motion level 5 has a set number of image frames that need to be encoded in frame skipping mode: motion level 1 has 5 image frames that need to be encoded in frame skipping mode, motion level 2 has 4 image frames that need to be encoded in frame skipping mode, motion level 3 has 3 image frames that need to be encoded in frame skipping mode, motion level 4 has 2 image frames that need to be encoded in frame skipping mode, and motion level 5 has 1 image frame that needs to be encoded in frame skipping mode. It can be seen that in this implementation, the number of image frames that need to be encoded in frame skipping mode for each motion level is different, and satisfies the following: for any two motion levels (first motion level and second motion level), if the number of image frames that need to be encoded in frame skipping mode for the first motion level is greater than the number of image frames that need to be encoded in frame skipping mode for the second motion level, then the motion level represented by the first motion level is lower than the motion level represented by the second motion level; and the higher the motion level represented by the motion level, the more image frames need to be encoded in frame skipping mode.
[0081] In another implementation, each motion level from motion level 1 to motion level 5 has a set number of image frames that need to be encoded in frame skipping mode: motion level 1 and motion level 2 have a set number of image frames that need to be encoded in frame skipping mode of 5, motion level 3 has a set number of image frames that need to be encoded in frame skipping mode of 4, and motion level 4 and motion level 5 have a set number of image frames that need to be encoded in frame skipping mode of 3. It can be seen that in this implementation, the number of image frames that need to be encoded in frame skipping mode is the same for some motion levels in each motion level, and satisfies the following: for any two motion levels (first motion level and second motion level), if the number of image frames that need to be encoded in frame skipping mode set for the first motion level is greater than the number of image frames that need to be encoded in frame skipping mode set for the second motion level, then the motion level represented by the first motion level is lower than the motion level represented by the second motion level.
[0082] The relationship between evaluation information represented by numerical range or degree values and the number of image frames that need to be encoded in frame skipping mode is similar to the relationship between evaluation information represented by motion level and the number of image frames that need to be encoded in frame skipping mode. The evaluation information represented by numerical range or degree values will not be elaborated here.
[0083] In addition, it should be noted that when different evaluation information sets up image frames that need to be encoded in frame skipping mode and any two evaluation information meet the conditions described above in this application, for a certain evaluation information, there are multiple ways to select the image frames that need to be encoded in frame skipping mode set by the evaluation information; exemplary selection methods will be described below.
[0084] Furthermore, in one optional implementation, before encoding the specified video data based on the target evaluation information, it can be determined whether the motion level represented by the target evaluation information is not higher than a predetermined motion level. If it is not higher, encoding processing of the specified video data based on the target evaluation information is triggered; if it is higher, encoding processing of the specified video data can be performed according to the encoding method of related technologies. For example, it is not necessary to use the motion level represented by the target evaluation information to perform encoding processing of the specified video data that includes frame skipping. With this implementation, for cases with high motion levels, considering the large differences in the content of each frame, it is not necessary to perform encoding processing that includes frame skipping according to the target evaluation information, thereby ensuring the quality of the decoded image.
[0085] As can be seen, in the process of encoding specified video data, this scheme can encode image frames that need to be encoded in frame skipping mode according to the specified frame skipping mode. Encoding in frame skipping mode can reduce the amount of encoded data and improve the compression ratio. Furthermore, since the content of multiple consecutive frames of the same video scene has continuity, the difference in motion between the content of these frames is relatively small. Therefore, in the encoding process of specified video data, the target evaluation information of the target video data can be used to specifically define the image frames that need to be encoded in frame skipping mode. This achieves the following effect: if the motion of the specified video data is low (i.e., the difference in content is small), more image frames can participate in frame skipping encoding; if the motion of the specified video data is high (i.e., the difference in content is large), fewer image frames can participate in frame skipping encoding, thus reducing the probability of over-compression. Therefore, this scheme can improve the compression ratio of encoded data while also improving the quality of the decoded image. In addition, using frame skipping mode to encode image frames can reduce the bit rate of the encoded data, thus facilitating the transmission and storage of video.
[0086] Alternatively, in another embodiment, during the encoding process to obtain the image group, each image frame in the video data used for encoding as a non-keyframe is specified to have its own target type, and the target type of each image frame is one of a predetermined plurality of target types;
[0087] Each target type satisfies one of the first and second relations;
[0088] The target type satisfies the first relationship as follows: the target type is assigned an associated type, and the target type and the associated type assigned to the target type satisfy a reference relationship. The reference relationship is that an image frame of the target type can be referenced by an image frame of the associated type assigned to the target type. Different target types may have the same or different number of associated types assigned to them.
[0089] The target type satisfies the second relation as follows: image frames with the target type cannot be referenced;
[0090] The image frames that need to be encoded in frame skipping mode, as set by the evaluation information, are based on multiple target types.
[0091] It is understandable that, for this image group, the first frame can be an I-frame or a custom frame (which can be considered a non-keyframe). In order to adapt to different situations of the first frame of the image group, the image frames used to encode as non-keyframes can be considered as image frames used to encode as other frames besides the first frame. For example, if the first frame of the image group is an I-frame, the image frames used to encode as non-keyframes can be considered as image frames encoded as P-frames. Correspondingly, the image frames encoded as keyframes can be considered as image frames encoded as I-frames. If the first frame of the image group is a custom frame, then the image frames used to encode as non-keyframes can be image frames used to encode as other frames besides the custom frame.
[0092] It should be noted that the target type of each image frame used for encoding as a non-keyframe can be determined by various video coding protocols / standards. For example, in one implementation, the target type of each image frame used for encoding as a non-keyframe can be determined by SVC-T. Furthermore, the target type of each image frame is one of a predetermined plurality of target types. For clarity, different designations are assigned to different target types below. These designations do not represent the actual names of the different target types, but are merely for distinguishing them. For example, the multiple target types can be designated by different numbers, such as Type 1, Type 2, and Type 3; or they can be designated by different colors, such as Yellow Frame Type, Purple Frame Type, and Blue Frame Type. This application does not specifically limit this. Furthermore, setting a target type for each image frame can also be understood as dividing each image frame into different levels (or layers). Frames at higher levels can only refer to frames at the same or lower levels. That is, the target type that satisfies the second relationship is the highest level, and the image frame that satisfies the target type of the second relationship is the highest level frame. The target type that satisfies the first relationship is other layers outside the highest level, and the image frame that satisfies the target type of the first relationship is the image frame of other layers outside the highest level. The more associated types a target type that satisfies the first relationship has, the lower the level of the target type that satisfies the first relationship.
[0093] It is important to emphasize that if the target type satisfies the first relationship, then the target type is assigned an associated type, and the target type and the associated type assigned to the target type satisfy a reference relationship. That is, image frames of the target type can be referenced by image frames of the associated types assigned to the target type. For example, the encoded data of image frames of the target type can be referenced by image frames of the associated types assigned to the target type. For instance, if the target type includes yellow frame type and purple frame type, the purple frame type satisfies the first relationship, and the associated types assigned to the purple frame type are yellow frame type and purple frame type, then image frames of the purple frame type can be referenced by image frames of the yellow frame type and purple frame type. And, if the target type satisfies the second relationship, then image frames of that target type cannot be referenced. That is, image frames of the target type that satisfy the second relationship can only be encoded by referring to image frames of other target types, and cannot be referenced by other image frames. For instance, if each target type includes yellow frame type and purple frame type, the yellow frame type satisfies the second relationship, that is, image frames of the yellow frame type cannot be referenced.
[0094] When encoding image frames of the associated types set for the target type, the image frames of the target type can be referenced. The number of associated types set for different target types can be the same or different. When the number of associated types set for different target types is the same, the specific associated types set for different target types can also be the same or different. This application does not specifically limit this. For example, if each target type includes yellow frame type, purple frame type and blue frame type, and both purple frame type and blue frame type satisfy the first relationship, the associated types set for purple frame type are yellow frame type and purple frame type. The image frames of purple frame type can be referenced by the image frames of yellow frame type and purple frame type. The associated types set for blue frame type can be the same as purple frame type, or the associated types set for blue frame type can be yellow frame type, purple frame type and blue frame type.
[0095] Furthermore, in one optional implementation, for the target type, the associated type can be one of the multiple target types; in another optional implementation, for the target type, the associated type can be one of the auxiliary types, and each auxiliary type can be a type different from each target type, set for image frames in the specified video data used to be encoded as non-keyframes. That is, each auxiliary type and each target type are types divided by different type division methods, and the auxiliary type can be an associated type of the target type.
[0096] Furthermore, the image frames that need to be encoded in frame skipping mode as defined by the evaluation information are set based on multiple target types. The evaluation information may correspond to at least one target type, and the image frames that need to be encoded in frame skipping mode as defined by the evaluation information are image frames of the target type corresponding to the evaluation information. For example, when satisfying the above-mentioned requirements for the first and second evaluation information in any two evaluation information, in one optional implementation, different evaluation information all correspond to target types that satisfy the second relationship, and each corresponds to a number of image frames of the target type that satisfies the second relationship. That is, the image frames that need to be encoded in frame skipping mode as defined by different evaluation information are all image frames selected from image frames with target types that satisfy the second relationship. In another optional implementation, different evaluation information may also only correspond to their respective target types. For clarity, this will be described in subsequent embodiments and will not be elaborated on here.
[0097] In another optional implementation, when encoding each image group, the target types of the image frames used in each image group may be the same or different. Therefore, the target types of the image frames used in each image group can be set according to the actual situation, providing high flexibility.
[0098] Specifically, when encoding each image group, the target types set for the image frames used in encoding each image group are the same. That is, the target types set for the image frames used to encode a certain image group are the same as the target types set for the image frames used to encode other image groups. For example, each target type includes a first type, a second type, a third type, and a fourth type. Video data A, video data B, and video data C can all be encoded into an image group. In one implementation, the target types set for the image frames in video data A used for encoding as non-keyframes only include the first, second, and third types; the target types set for the image frames in video data B used for encoding as non-keyframes only include the first, second, and third types; and the target types set for the image frames in video data C used for encoding as non-keyframes... The target types set only include three types: Type 1, Type 2, and Type 3. In another implementation, the target types set for each image frame in video data A used for encoding into non-keyframes include Type 1, Type 2, Type 3, and Type 4; the target types set for each image frame in video data B used for encoding into non-keyframes include Type 1, Type 2, Type 3, and Type 4; and the target types set for each image frame in video data C used for encoding into non-keyframes include Type 1, Type 2, Type 3, and Type 4.
[0099] Specifically, when encoding each image group, the target types set for the image frames used in each image group are different. In other words, the target types set for the image frames used in encoding a certain image group may be different from the target types set for the image frames used in encoding other image groups. For example: each target type includes a first type, a second type, a third type, and a fourth type; video data A, video data B, and video data C can all be encoded into an image group. In one implementation, the target types set for each image frame in video data A used for encoding into non-keyframes only include the first, second, and third types; the target types set for each image frame in video data B used for encoding into non-keyframes only include the first and second types; and the target types set for each image frame in video data C used for encoding into non-keyframes only include the second and third types. In another implementation, the target types set for each image frame in video data A used for encoding into non-keyframes include the first, second, third, and fourth types; the target types set for each image frame in video data B used for encoding into non-keyframes only include the first, second, and third types; and the target types set for each image frame in video data C used for encoding into non-keyframes only include the second, third, and fourth types.
[0100] It is evident that the image frames that need to be encoded in frame skipping mode as defined by the evaluation information are set based on multiple target types, thereby providing an implementation basis for the video coding of this application; and, by applying the target type to the setting process of image frames that need to be encoded in frame skipping mode as defined by the evaluation information, the image frames that need to be encoded in frame skipping mode as defined by the evaluation information, depending on the type of the image frame itself, can be more uniform and stable for each image group.
[0101] Alternatively, in another embodiment, different evaluation information each corresponds to at least one target type;
[0102] The image frames that need to be encoded in frame skipping mode as specified in the evaluation information include: image frames of the target type corresponding to the evaluation information;
[0103] For any two sets of evaluation information, if the number of target types corresponding to the first set of evaluation information is greater than the number of target types corresponding to the second set of evaluation information, then the degree of motion represented by the first set of evaluation information is lower than the degree of motion represented by the second set of evaluation information.
[0104] For a given set of evaluation information, if the number of target types corresponding to that evaluation information is one, then that one target type is: the target type that satisfies the second relation; and,
[0105] If the number of target types corresponding to the evaluation information is multiple, the multiple target types include: target types that satisfy the second relationship and at least one target type that satisfies the first relationship.
[0106] It is understood that different evaluation information corresponds to at least one target type. Therefore, the image frame that needs to be encoded in frame skipping mode as set by the evaluation information can be an image frame of the target type corresponding to the evaluation information. For a certain evaluation information, if the number of target types corresponding to the evaluation information is one, then the target type can satisfy the second relation. And, if the number of target types corresponding to the evaluation information is multiple, then the multiple target types include: target types that satisfy the second relation and at least one target type that satisfies the first relation. For example, if there is evaluation information 1 and evaluation information 2, the motion degree represented by evaluation information 1 is higher than the motion degree represented by evaluation information 2. The number of target types corresponding to evaluation information 1 is one, and the corresponding target type is the yellow frame type. The yellow frame type is the target type that satisfies the second relation. Image frames of the yellow frame type can be encoded in frame skipping mode. The number of at least one target type corresponding to evaluation information 2 is two, and the corresponding target types are the yellow frame type and the purple frame type. The purple frame type is the target type that satisfies the first relation, and the yellow frame type is the target type that satisfies the second relation. Image frames of the yellow frame type and the purple frame type can be encoded in frame skipping mode.
[0107] Furthermore, for any two sets of evaluation information (first evaluation information and second evaluation information), if the number of target types corresponding to the first evaluation information is greater than the number of target types corresponding to the second evaluation information, then the degree of motion represented by the first evaluation information is lower than the degree of motion represented by the second evaluation information. Correspondingly, in one implementation, if the degree of motion represented by the first evaluation information is lower than the degree of motion represented by the second evaluation information, then the number of target types corresponding to the first evaluation information can be greater than the number of target types corresponding to the second evaluation information, or it can be equal to the number of target types corresponding to the second evaluation information. This application embodiment does not specifically limit this.
[0108] In one implementation, the encoding process specifically includes: in the process of encoding to obtain the image group, in response to encoding an image frame, if the image frame has a target type corresponding to the target evaluation information, encoding the image frame according to the frame skipping mode.
[0109] It is understandable that when encoding any image frame, if the image frame has a target type corresponding to the target evaluation information, then the image frame is directly encoded according to the frame skipping mode. For example, if the target type corresponding to the target evaluation information is the yellow frame type and the purple frame type, when encoding image frame 1, the target type of image frame 1 is the yellow frame type. At this time, image frame 1 can be encoded according to the frame skipping mode. When encoding image frame 2, the target type of image frame 2 is the blue frame type. At this time, image frame 2 can be encoded according to the non-frame skipping mode. When encoding image frame 3, the target type of image frame 3 is the purple frame type. At this time, image frame 3 can be encoded according to the frame skipping mode.
[0110] Furthermore, in this embodiment, for a certain evaluation information, if the number of target types corresponding to the evaluation information is one, then the one target type is: the target type that satisfies the second relationship; and if the number of target types corresponding to the evaluation information is multiple, the multiple target types include: the target type that satisfies the second relationship and at least one target type that satisfies the first relationship. This implementation prioritizes the target type with the lowest reference capability, i.e., the target type that satisfies the second relationship, as the type that can be used for frame skipping. This ensures that after the image frame of the target type that satisfies the second relationship is encoded according to the frame skipping mode, the image frame of the target type that satisfies the second relationship will not be referenced by other image frames, thereby avoiding the following problem: when other frames are encoded, they reference the image frame of the target type that satisfies the second relationship, but during decoding, the image frame that can be referenced is not equivalent to the image frame of the target type that satisfies the second relationship (the image frame of the target type that satisfies the second relationship is encoded using the frame skipping mode; during decoding, the decoded image is equivalent to the image frame referenced when encoding using the frame skipping mode, which may result in the inability to completely recover the image frame of the target type that satisfies the second relationship). Therefore, the impact of frame skipping on decoding quality can be reduced.
[0111] As can be seen, different evaluation information each corresponds to at least one target type. The image frame that needs to be encoded in frame skipping mode according to the evaluation information is the image frame of the target type corresponding to the evaluation information. For any two evaluation information, if the number of target types corresponding to the first evaluation information is greater than the number of target types corresponding to the second evaluation information, then the motion degree represented by the first evaluation information is lower than the motion degree represented by the second evaluation information. When the number of target types corresponding to the evaluation information is one, the one target type can satisfy the second relationship. When the number of target types corresponding to the evaluation information is multiple, the multiple target types include the target type that satisfies the second relationship and at least one target type that satisfies the first relationship. Subsequently, the image frames of the target types corresponding to the evaluation types can be encoded in frame skipping mode, thereby providing an implementation basis for the video encoding of this application and reducing the impact of frame skipping on the decoding quality.
[0112] Optionally, in another embodiment, if the number of at least one target type satisfying the first relationship is one, then the at least one target type satisfying the first relationship is: the target type with the fewest set association types;
[0113] or,
[0114] If there are multiple target types that satisfy the first relation, then the at least one target type that satisfies the first relation is: at least two target types whose sorting positions are consecutive after the target types that satisfy the first relation are sorted in ascending order of the number of the set association types; wherein, the at least two target types include: the target type with the fewest number of set association types.
[0115] It is understood that this embodiment is for the case where each evaluation information corresponds to multiple target types. If the number of at least one target type that satisfies the first relationship is one, then at least one target type is the target type with the fewest number of set associated types. Therefore, the multiple target types corresponding to the evaluation information include the target type with the fewest number of set associated types and the target type that satisfies the second relationship.
[0116] Furthermore, if there are multiple target types satisfying the first relation, then the at least one target type satisfying the first relation is defined as: at least two consecutive target types whose sorting positions are consecutive after sorting the target types satisfying the first relation according to the number of their set associated types from smallest to largest, and the at least two target types include the target type with the fewest set associated types; then, the multiple target types corresponding to the evaluation information include at least two target types selected from the sorting positions and the target types satisfying the second relation; and, the multiple target types satisfying the first relation can be sorted according to the number of their set associated types. For example, if the multiple target types satisfying the first relation include purple frame type, blue frame type, and green frame type, where the purple frame type has the fewest set associated types, the blue frame type has a medium number of set associated types, and the green frame type has the most set associated types, then the three target types can be sorted, resulting in the sorting order of purple frame type - blue frame type - green frame type. If there are two target types satisfying the first relation, then the purple frame type and the blue frame type can be selected as the at least one target type satisfying the first relation.
[0117] Additionally, it should be noted that, in order to reduce the probability of image distortion in the decoded image, this embodiment considers the first or second relationship satisfied by each target type when setting at least one target type for different evaluation information, as well as the number of associated types involved in satisfying the first relationship. Specifically, target types that satisfy the second relationship are always given priority as target types that can be used for frame skipping compared to other target types that satisfy the first relationship. That is, regardless of the degree of motion represented by an evaluation information, as long as the evaluation information needs to correspond to a target type, the target type that satisfies the second relationship is selected first. Furthermore, target types with a relatively small number of associated types are given priority as target types for frame skipping compared to target types with a large number of associated types. That is, regardless of the degree of motion represented by an evaluation information, as long as the evaluation information needs to correspond to a target type, and the number of target types is at least two, the selection principle for the at least two target types is: target types with a relatively small number of associated types are selected first compared to target types with a large number of associated types. By using the aforementioned evaluation information and the corresponding target type determination principles, it is possible to ensure that if an image frame is encoded in a frame skipping mode, it will not be used as an encoding reference for certain image frames: image frames not encoded in a frame skipping mode; and, it can be used as an encoding reference for certain image frames: image frames encoded in a frame skipping mode.
[0118] To better understand the principle behind image corruption in decoded images, combined with Figure 2 Introduction:
[0119] Figure 2 This is a schematic diagram illustrating the principle of video data encoding methods in related technologies. Figure 2 This can also be considered as the case where image frames are encoded as skip frames (image frames encoded according to a skip frame mode) in the introduction of related technologies. In this case, when the motion level is low—meaning below a predetermined level of motion—the image frame can be encoded as a skip frame. Figure 2 It may include one image frame 210 for encoding as a key frame and multiple image frames for encoding as non-key frames. Image frame 220 and image frame 230 are image frames for encoding as non-key frames. The arrows can represent the reference relationship (i.e. the reference relationship in the encoding process). When each image frame for encoding as a non-key frame is encoded, the frame referenced is the previous image frame.
[0120] If image frame 210 is encoded, image frame 220 can be encoded in a skip frame mode (referencing the frame encoded from image frame 210 during encoding), while image frame 230 is not encoded in a skip frame mode. Assume image frame 220 represents object movement in the video scene; however, this image frame 220 is encoded as a skip frame, and during encoding, it is referenced by image frame 230. This leads to image corruption in the subsequently decoded image data: image frame 230 references image frame 220 during encoding, but during decoding, because the frame encoded from image frame 220 is a skip frame, its decoding result is the same as image frame 210. Therefore, when the encoded data of image frame 230 is decoded, the content of the referenced image frame is inconsistent with the content referenced during encoding. In other words, the cause and conditions leading to image corruption are:
[0121] (1) This image frame represents the movement of an object in the video scene, but is encoded as a skip frame;
[0122] (2) The image frame is used as the reference frame for the next frame, which causes the encoding of the next frame to be abnormal;
[0123] (3) Both conditions (1) and (2) must be met simultaneously, namely: the image frame represents the movement of an object in the video scene (object movement), but is encoded as a skip frame, and at the same time the image frame is used as the reference frame for the next frame, causing the encoding of the next frame to be abnormal.
[0124] Considering that it is impossible to predict whether the image will be moving or static in the future, in order to reduce the probability of image breakage, it can be guaranteed that when an image frame is encoded as a skip frame, it should not be used as a reference frame by other non-skip frames.
[0125] Based on the above description, in this application, when setting at least one target type corresponding to different evaluation information, the first or second relationship satisfied by each target type is taken into account, as well as the number of associated types involved when satisfying the first relationship. This ensures that: if an image frame is encoded according to a frame skipping mode, the image frame will not be used as an encoding reference by some image frames: image frames not encoded according to a frame skipping mode; and the image frame can be used as an encoding reference by some image frames: image frames encoded according to a frame skipping mode. Therefore, the probability of the decoded image data producing broken images is reduced.
[0126] For example, with target types designated as yellow frame type, purple frame type, and blue frame type, the yellow frame type satisfies the second relationship, and the purple frame type and blue frame type satisfy the first relationship. Furthermore, the associated types of the purple frame type are: yellow frame type and purple frame type, and the associated types of the blue frame type are: yellow frame type, purple frame type, and blue frame type. Additionally, there are three motion levels: motion level 1, motion level 2, and motion level 3, representing an increasing degree of motion, with motion level 1 representing the lowest degree of motion and motion level 3 representing the highest degree of motion. Motion level 3 corresponds to the yellow frame type, motion level 2 corresponds to the yellow frame type and purple frame type, and motion level 1 corresponds to the yellow frame type, purple frame type, and blue frame type.
[0127] By using this method of mapping motion levels to target types, when the target evaluation information of the target video data is motion level 1, image frames in the specified video data that have any of the yellow, purple, and blue frame types can be encoded using a skip frame mode. This ensures that when an image frame is encoded as a skip frame, it should not be used as a reference frame by other non-skip frames. For example, when a blue frame type image frame is encoded as a skip frame, image frames that can reference that blue frame type (yellow and purple frame types) also need to be encoded using the skip frame mode. In other words, when a blue frame type image frame is encoded as a skip frame, it is not used as a reference frame by other non-skip frames.
[0128] Similarly, when the target evaluation information of the target video data is motion level 2, image frames in the specified video data that have either yellow or purple frame types can be encoded using a skip frame mode. This ensures that when an image frame is encoded as a skip frame, it should not be used as a reference frame by other non-skip frames. For example, when a purple frame type image frame is encoded as a skip frame, any image frame that can reference that purple frame type (a yellow frame type image frame) also needs to be encoded using the skip frame mode. In other words, when a purple frame type image frame is encoded as a skip frame, it is not used as a reference frame by other non-skip frames.
[0129] It is evident that when there is only one target type satisfying the first relation, the target type with the fewest set associated types can be considered as at least one target type. When there are multiple target types satisfying the first relation, the at least one target type can be at least two consecutive target types after sorting the target types satisfying the first relation according to the number of set associated types from smallest to largest. Moreover, the at least two target types include the target type with the fewest set associated types. This ensures that when the evaluation information corresponds to multiple target types, the target types satisfying the first relation must include the target type with the fewest set associated types. It prevents the situation where image frames of target types with a large number of set associated types are encoded according to the frame skipping mode, while image frames of target types with the fewest set associated types are not encoded according to the frame skipping mode. This ensures the stability of video encoding for the frame skipping mode and reduces the probability of image corruption in the decoded image.
[0130] Alternatively, in another embodiment, the plurality of target types includes a first type and a second type;
[0131] The first type satisfies the second relation, the second type satisfies the first relation, and the association types set by the second type are two types: the first type and the second type;
[0132] When different evaluation information is divided into a first type of evaluation information and a second type of evaluation information, each evaluation information in the first type of evaluation information corresponds to one target type, which is the first type; each evaluation information in the second type of evaluation information corresponds to two target types, which are the first type and the second type; wherein, the degree of motion represented by each evaluation information in the first type of evaluation information is higher than the degree of motion represented by each evaluation information in the second type of evaluation information.
[0133] or,
[0134] Multiple target types include type 1, type 2, and type 3;
[0135] The first type satisfies the second relation, and both the second and third types satisfy the first relation. The second type has two associated types: the first type and the second type; the third type has three associated types: the first type, the second type, and the third type.
[0136] When different evaluation information is divided into three types, each evaluation information in the first type corresponds to one target type, which is the first type; each evaluation information in the second type corresponds to two target types, which are the first type and the second type; each evaluation information in the third type corresponds to three target types, which are the first type, the second type, and the third type; wherein, the degree of motion represented by each evaluation information in the first type is higher than the degree of motion represented by each evaluation information in the second type, and the degree of motion represented by each evaluation information in the second type is higher than the degree of motion represented by each evaluation information in the third type.
[0137] or,
[0138] Multiple target types include type 1, type 2, type 3, and type 4;
[0139] The first type satisfies the second relation, and the second, third, and fourth types all satisfy the first relation; the second type has two associated types: the first type and the second type; the third type has three associated types: the first type, the second type, and the third type; the fourth type has four associated types: the first type, the second type, the third type, and the fourth type.
[0140] When different evaluation information is divided into four types, each evaluation information in the first type corresponds to one target type, which is the first type; each evaluation information in the second type corresponds to two target types, which are the first type and the second type; each evaluation information in the third type corresponds to three target types, which are the first type, the second type, and the third type; and each evaluation information in the fourth type corresponds to four target types, which are the first type, the second type, the third type, and the fourth type. The degree of motion represented by each evaluation information in the first type is higher than that represented by each evaluation information in the second type, the degree of motion represented by each evaluation information in the second type is higher than that represented by each evaluation information in the third type, and the degree of motion represented by each evaluation information in the third type is higher than that represented by each evaluation information in the fourth type.
[0141] or,
[0142] And so on.
[0143] It is understood that the above describes three scenarios: the first is when multiple target types include the first and second types; the second is when multiple target types include the first, second, and third types; and the third is when multiple target types include the first, second, third, and fourth types. Similarly, there could be scenarios with five or six target types, etc., which will not be elaborated upon in this embodiment. In this embodiment, the terms "first type," "second type," "third type," and "fourth type" are used to distinguish different target types and do not have any limiting meaning. In specific applications, the terms for each target type can be set according to the actual encoding protocol, etc., and will not be elaborated upon here.
[0144] Understandably, for the case where the target type includes a first type and a second type, if the first type satisfies the second relationship, then image frames of the first type cannot be referenced. If the second type satisfies the first relationship, and the associated types set for the second type are the first type and the second type, then image frames of the second type can be referenced by image frames of the first type and the second type. For example, if the first type is a yellow frame type and the second type is a purple frame type, the purple frame type satisfies the first relationship, and the associated types set for the purple frame type are the yellow frame type and the purple frame type, then image frames of the purple frame type can be referenced by image frames of the yellow frame type and the purple frame type. The yellow frame type satisfies the second relationship, meaning that image frames of the yellow frame type cannot be referenced. Furthermore, when different evaluation information is divided into a first type of evaluation information and a second type of evaluation information, each evaluation information in the first type of evaluation information corresponds to one target type, which is the first type. The evaluation information in the first type of evaluation information sets the image frames that need to be encoded in frame skipping mode as image frames of the first type. Each evaluation information in the second type of evaluation information corresponds to two target types, which are the first type and the second type. The evaluation information in the second type of evaluation information sets the image frames that need to be encoded in frame skipping mode as image frames of the first type and the second type. The degree of motion represented by each evaluation information in the first type of evaluation information is higher than the degree of motion represented by each evaluation information in the second type of evaluation information. For example, if the first type is the yellow frame type and the second type is the purple frame type, the degree of motion represented by evaluation information 1 is higher than the degree of motion represented by evaluation information 2. The number of target types corresponding to evaluation information 1 is one, and the target type corresponding to evaluation information 1 is the yellow frame type. The number of target types corresponding to evaluation information 2 is two, and the target types corresponding to evaluation information 2 are the yellow frame type and the purple frame type.
[0145] Understandably, for target types including Type 1, Type 2, and Type 3, Type 1 satisfies the second relationship, so image frames of Type 1 cannot be referenced. Type 2 and Type 3 satisfy the first relationship, and the associated types set for Type 2 are Type 1 and Type 2, meaning that image frames of Type 2 can be referenced by image frames of Type 1 and Type 2. Type 3 satisfies the associated types of Type 1, Type 2, and Type 3. For example, if Type 1 is yellow, Type 2 is purple, and Type 3 is blue, Type 1 and Type 2 satisfy the first relationship, and the associated types set for Type 2 are yellow and purple, so image frames of Type 2 can be referenced by image frames of Type 2 and Type 2. Type 3 satisfies the second relationship, meaning that image frames of Type 2 cannot be referenced. Furthermore, when different evaluation information is divided into three types, each evaluation information in the first type corresponds to one target type, which is the first type. The evaluation information in the first type specifies that image frames requiring frame skipping encoding are image frames of the first type. Each evaluation information in the second type corresponds to two target types, which are the first type and the second type. The evaluation information in the second type specifies that image frames requiring frame skipping encoding are image frames of both the first and second types. Each evaluation information in the third type corresponds to three target types, which are the first type, the second type, and the third type. The evaluation information in the third type specifies that image frames requiring frame skipping encoding are image frames of the first, second, and third types. The degree of motion represented by each evaluation information in the first type is higher than that represented by each evaluation information in the second type, and the degree of motion represented by each evaluation information in the second type is higher than that represented by each evaluation information in the third type.For example, if the first type is yellow frame type, the second type is purple frame type, and the third type is blue frame type, the motion level represented by evaluation information 1 is higher than that represented by evaluation information 2, the motion level represented by evaluation information 2 is higher than that represented by evaluation information 3, the number of target types corresponding to evaluation information 1 is one, and the target type corresponding to evaluation information 1 is yellow frame type (i.e., yellow frame type image frames are encoded according to the frame skipping mode), the number of target types corresponding to evaluation information 2 is two, and the target types corresponding to evaluation information 2 are yellow frame type and purple frame type (i.e., yellow frame type and purple frame type image frames are encoded according to the frame skipping mode), the number of target types corresponding to evaluation information 3 is three, and the target types corresponding to evaluation information 3 are yellow frame type, purple frame type and blue frame type (i.e., yellow frame type, purple frame type and blue frame type image frames are encoded according to the frame skipping mode).
[0146] Understandably, for target types including Type 1, Type 2, Type 3, and Type 4, Type 1 satisfies the second relationship, therefore, image frames of Type 1 cannot be referenced. Types 2, 3, and 4 satisfy the first relationship. Type 2 has associated types of both Type 1 and Type 2, meaning that image frames of Type 2 can be referenced by image frames of Type 1 and Type 2. Type 3 has associated types of all three, meaning that image frames of Type 3 can be referenced by image frames of Type 1, Type 2, and Type 3. Type 4 has associated types of all four, meaning that image frames of Type 4 can be referenced by image frames of Type 1, Type 2, Type 3, and Type 4.
[0147] Furthermore, when different evaluation information is divided into first evaluation information, second evaluation information, third evaluation information, and fourth evaluation information, each evaluation information in the first evaluation information corresponds to one target type, which is the first type. The evaluation information in the first evaluation information sets the image frames that need to be encoded in frame skipping mode as image frames of the first type. Each evaluation information in the second evaluation information corresponds to two target types, which are the first type and the second type. The evaluation information in the second evaluation information sets the image frames that need to be encoded in frame skipping mode as image frames of the first type and the second type. Each evaluation information in the third evaluation information corresponds to three target types, which are the first type, the second type, and the third type. The evaluation information in the third evaluation information sets the image frames that need to be encoded in frame skipping mode as image frames of the first type, the second type, and the third type. Each evaluation information in the fourth evaluation information corresponds to four target types, which are the first type, the second type, the third type, and the fourth type. The evaluation information in the fourth evaluation information sets the image frames that need to be encoded in frame skipping mode as image frames of the first type, the second type, the third type, and the fourth type. Among them, the degree of motion represented by each piece of evaluation information in the first type of evaluation information is higher than the degree of motion represented by each piece of evaluation information in the second type of evaluation information, the degree of motion represented by each piece of evaluation information in the second type of evaluation information is higher than the degree of motion represented by each piece of evaluation information in the third type of evaluation information, and the degree of motion represented by each piece of evaluation information in the third type of evaluation information is higher than the degree of motion represented by each piece of evaluation information in the fourth type of evaluation information.
[0148] To better understand the above content regarding multiple target types, the following description is provided in conjunction with the accompanying figures, as shown in Figures 3(a), 3(b), and 3(c):
[0149] Figure 3(a) shows a case where multiple target types include a first type and a second type. Image frames of the first type are all marked with type 1, and image frames of the second type are all marked with type 2. The first type can satisfy the second relationship, and the second type can satisfy the first relationship. During the encoding process, image frame 310, which can be encoded as an I-frame, can be referenced by image frame 320 of the first type, image frame 330 of the second type can reference image frame 310, image frame 340 of the first type can reference image frame 330 of the second type, image frame 350 of the second type can reference image frame 330 of the second type, and image frame 360 of the first type can reference image frame 350 of the second type. The arrows can represent the reference relationship.
[0150] Figure 3(b) shows a case with multiple target types including type 1, type 2 and type 3. The image frames of type 1 are all marked with type 1, the image frames of type 2 are all marked with type 2, and the image frames of type 3 are all marked with type 3. Type 1 can satisfy the second relationship, and type 2 and type 3 can satisfy the first relationship. During the encoding process, image frame 410, which can be encoded as an I-frame, can be referenced by image frame 420 of type 1, image frame 430 of type 2 can be referenced by image frame 410, image frame 440 of type 1 can be referenced by image frame 430 of type 2, image frame 450 of type 3 can be referenced by image frame 410, image frame 460 of type 1 can be referenced by image frame 450 of type 3, image frame 470 of type 2 can be referenced by image frame 450 of type 3, image frame 480 of type 1 can be referenced by image frame 470 of type 2, and image frame 490 of type 3 can be referenced by image frame 450 of type 3.
[0151] Figure 3(c) also shows a case with multiple target types including type 1, type 2 and type 3. Figure 3(c) represents another reference relationship. The image frames of type 1 are all marked with type 1, the image frames of type 2 are all marked with type 2, and the image frames of type 3 are all marked with type 3. Image frame 510, which can be encoded as an I-frame, can be referenced by image frame 520 of type 1, image frame 530 of type 2 and image frame 540 of type 1. Image frame 550 of type 3 can reference image frame 510, and image frame 550 of type 3 can be referenced by image frame 560 of type 1, image frame 570 of type 2 and image frame 580 of type 1.
[0152] As can be seen, the embodiments of this application set up multiple target types, so that for various numbers of target types, the image frames of the target type corresponding to the evaluation information can be encoded according to the frame skipping mode, thereby improving the flexibility of video encoding.
[0153] Optionally, in another embodiment, the evaluation information includes image frames that need to be encoded in a frame skipping mode, including:
[0154] After a first number of specified image frames are pre-encoded, a second number of image frames need to be encoded; wherein, the specified image frames are image frames used to be encoded as non-keyframes, and the pre-encoded encoding is encoding performed according to an encoding mode other than frame skipping mode; different evaluation information has its own first and second numbers.
[0155] Accordingly, the encoding process specifically includes:
[0156] During the encoding process to obtain the image group, after the first frame is encoded, non-key frames are encoded according to a predetermined encoding method. In response to the encoding of the first number of non-key frames set by the target evaluation information in the image group, the second number of image frames set by the target evaluation information are encoded according to the frame skipping mode.
[0157] or,
[0158] The evaluation information specifies image frames that need to be encoded in a frame skipping mode, including:
[0159] A third number of image frames are selected from the specified image frames used in the process of encoding to obtain the image group; wherein different evaluation information is set with its own third number;
[0160] Accordingly, the encoding process specifically includes:
[0161] During the encoding process to obtain the image group, after the first frame is encoded, the third number of image frames in the image frames used to encode the image group, as set by the target evaluation information, are encoded according to the frame skipping mode.
[0162] or,
[0163] The evaluation information specifies image frames that need to be encoded in a frame skipping mode, including:
[0164] Image frames selected from specified image frames used in the process of encoding to obtain the image group, at a predetermined ratio set by the evaluation information; wherein different evaluation information sets their own predetermined ratios.
[0165] Accordingly, the encoding process specifically includes:
[0166] During the encoding process to obtain the image group, after the first frame is encoded, the image frames in the image frames used to encode the image group, according to the frame skipping mode, are encoded according to the predetermined proportion set by the target evaluation information.
[0167] It is understood that after pre-coding a first number of specified image frames, a second number of image frames need to be encoded. When pre-coding is performed on the first number of specified image frames, the second number of image frames need to be encoded. Here, the specified image frames are image frames used for encoding as non-keyframes, for example, they can be image frames encoded as P-frames. The pre-coding is encoding according to an encoding mode other than frame skipping mode, for example, the pre-coding can be encoding according to the encoding mode for P-frames. This application embodiment does not specifically limit this. Furthermore, different evaluation information sets its own first and second quantities. For example, evaluation information 1 represents a greater degree of motion than evaluation information 2. Evaluation information 1 has a first quantity of 10 and a second quantity of 1, while evaluation information 2 has a first quantity of 5 and a second quantity of 5. Accordingly, the encoding process specifically includes the following steps: after determining the first and second quantities, encoding can be performed. The first frame obtained through encoding can be an I-frame. After obtaining the first frame, P-frames can be encoded according to a predetermined encoding method (encoding as P-frames). After continuously encoding the first quantity of P-frames, the second quantity of image frames can be encoded according to a frame skipping mode, thereby achieving the encoding process. For example, if the first quantity is 1 and the second quantity is 10, after obtaining the I-frame, encoding can be performed according to the encoding method for P-frames. After obtaining one P-frame, 10 image frames can be encoded according to a frame skipping mode.
[0168] It is understandable that, for the case of directly selecting a third number of image frames, when encoding a group of images, a third number of image frames can be directly specified from the specified image frames used in the process of encoding the group of images to encode the group of images for encoding in a frame skipping mode. Different evaluation information sets its own third number, which can be consecutive or non-consecutive image frames. This application embodiment does not specifically limit this. For example, if the motion level represented by evaluation information 1 is the maximum, the third number is 1, and one image frame can be selected from the group of images for encoding in a frame skipping mode. If the motion level represented by evaluation information 2 is the minimum, the third number is 10, and 10 image frames can be selected from the group of images for encoding in a frame skipping mode. Accordingly, the encoding process specifically includes, after determining the third number, encoding processing can be performed. After encoding the first frame, the third number of image frames in the group of images are encoded in a frame skipping mode to achieve the encoding processing. For example, if the third number is 1, after encoding the I-frame, one image frame is encoded in a frame skipping mode.
[0169] It is understood that, for the case of selecting image frames according to a predetermined ratio, when encoding a group of images, a predetermined ratio of image frames can be directly selected from the specified image frames used in the process of encoding to obtain the image group for encoding in a frame skipping mode. Different evaluation information sets its own predetermined ratio, which can be 80%, 10%, etc., and this application embodiment does not specifically limit this. For example, if the motion degree represented by evaluation information 1 is the maximum, the predetermined ratio can be 10%, and there are 10 image frames to be encoded in the image group, one image frame can be selected for encoding in a frame skipping mode. If the motion degree represented by evaluation information 2 is the minimum, the predetermined ratio can be 80%, and there are 10 image frames to be encoded in the image group, eight image frames can be selected for encoding in a frame skipping mode. Accordingly, the encoding process specifically includes, after determining the predetermined ratio, encoding processing can be performed; after encoding the first frame, the image frames in the image frame group of the target evaluation information, in the frame skipping mode, are encoded in the predetermined ratio, thereby realizing the encoding processing. For example, the predetermined ratio is 10%. After encoding an I-frame, 10% of the image frames in the image group are encoded in a frame skipping mode.
[0170] As can be seen, the embodiments of this application have multiple determination methods when determining the image frames that need to be encoded in frame skipping mode, which improves the flexibility and diversity of video encoding; and, compared with related technologies, for scenes with low motion, the target evaluation information sets a larger number of image frames that need to be encoded in frame skipping mode, which can effectively improve the compression rate of video encoding.
[0171] In the technical solution of this application, the operations of obtaining, storing, using, processing, transmitting, providing and disclosing user personal information are all carried out with the user's authorization.
[0172] This application also provides a video encoding device, such as... Figure 5 As shown, it includes:
[0173] Memory 501 is used to store computer programs;
[0174] The processor 502 is used to execute the program stored in the memory 501 to implement any of the above video encoding methods.
[0175] Furthermore, the aforementioned video encoding device may also include a communication bus and / or a communication interface, with the processor 502, communication interface, and memory 501 communicating with each other via the communication bus.
[0176] The communication interface is used for communication between the aforementioned video encoding device and other devices.
[0177] In another embodiment provided in this application, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements any of the video encoding methods described above.
[0178] In another embodiment provided in this application, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to perform any of the video encoding methods described above.
[0179] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated.
[0180] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0181] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0182] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application are included within the scope of protection of this application.
Claims
1. A video encoding method, characterized in that, The method includes: Acquire target video data; The motion level of the target video data is evaluated to obtain target evaluation information; Based on the target evaluation information, the specified video data is encoded; wherein, the specified video data is video data that is to be encoded again in response to the completion of the encoding of the target video data to obtain a group of images; the group of images includes multiple encoded image frames; The encoding process includes: during the encoding process to obtain the image group, encoding the image frames that are set for the target evaluation information and need to be encoded in a frame skipping mode according to the frame skipping mode; Different evaluation information sets the image frames that need to be encoded in frame skipping mode; For any two evaluation information, if the number of image frames that need to be encoded in frame skipping mode set by the first evaluation information is greater than the number of image frames that need to be encoded in frame skipping mode set by the second evaluation information, then the degree of motion represented by the first evaluation information is lower than the degree of motion represented by the second evaluation information; the first evaluation information is one of the two evaluation information, and the second evaluation information is the other of the two evaluation information. In the process of encoding to obtain the image group, each image frame in the specified video data used for encoding as a non-keyframe has its own target type, and the target type of each image frame is one of a predetermined plurality of target types; Each target type satisfies one of the first and second relations; The target type satisfies the first relationship as follows: the target type is set with an associated type, and the target type and the associated type set for the target type satisfy a reference relationship, wherein the reference relationship is: the image frame of the target type can be referenced by the image frame of the associated type set for the target type, and different target types have the same or different number of associated types set. The target type satisfies the second relationship as follows: image frames with the target type cannot be referenced; The image frames that need to be encoded in frame skipping mode as set by the evaluation information are set based on the multiple target types.
2. The method according to claim 1, characterized in that, Different assessment information each corresponds to at least one target type; The image frames that need to be encoded in frame skipping mode as set by the evaluation information include: image frames of the target type corresponding to the evaluation information; for any two evaluation information, if the number of target types corresponding to the first evaluation information is greater than the number of target types corresponding to the second evaluation information, then the motion degree represented by the first evaluation information is lower than the motion degree represented by the second evaluation information. For a given set of evaluation information, if the number of target types corresponding to that evaluation information is one, then that one target type is: the target type that satisfies the second relationship; and, If the number of target types corresponding to the evaluation information is multiple, the multiple target types include: target types that satisfy the second relationship and at least one target type that satisfies the first relationship.
3. The method according to claim 2, characterized in that, If the number of at least one target type satisfying the first relationship is one, then the at least one target type satisfying the first relationship is: the target type with the fewest set association types; or, If there are multiple target types that satisfy the first relationship, then the at least one target type that satisfies the first relationship is: at least two target types whose sorting positions are consecutive after the target types that satisfy the first relationship are sorted in ascending order of the number of the set association types; wherein, the at least two target types include: the target type with the fewest number of set association types.
4. The method according to claim 3, characterized in that, The multiple target types include a first type and a second type; The first type satisfies the second relationship, the second type satisfies the first relationship, and the second type has two associated types: the first type and the second type; When the different evaluation information is divided into a first type of evaluation information and a second type of evaluation information, each evaluation information in the first type of evaluation information corresponds to one target type, which is the first type; each evaluation information in the second type of evaluation information corresponds to two target types, which are the first type and the second type; wherein, the degree of motion represented by each evaluation information in the first type of evaluation information is higher than the degree of motion represented by each evaluation information in the second type of evaluation information. or, The multiple target types include a first type, a second type, and a third type; The first type satisfies the second relationship, and both the second and third types satisfy the first relationship. The second type has two associated types: the first type and the second type. The third type has three associated types: the first type, the second type, and the third type. When the different evaluation information is divided into a first type of evaluation information, a second type of evaluation information, and a third type of evaluation information, each evaluation information in the first type of evaluation information corresponds to one target type, which is the first type; each evaluation information in the second type of evaluation information corresponds to two target types, which are the first type and the second type; each evaluation information in the third type of evaluation information corresponds to three target types, which are the first type, the second type, and the third type; wherein, the degree of motion represented by each evaluation information in the first type of evaluation information is higher than the degree of motion represented by each evaluation information in the second type of evaluation information, and the degree of motion represented by each evaluation information in the second type of evaluation information is higher than the degree of motion represented by each evaluation information in the third type of evaluation information; or, The multiple target types include a first type, a second type, a third type, and a fourth type; The first type satisfies the second relationship, and the second, third, and fourth types all satisfy the first relationship; the second type has two associated types: the first type and the second type; the third type has three associated types: the first type, the second type, and the third type; the fourth type has four associated types: the first type, the second type, the third type, and the fourth type. When the different evaluation information is divided into a first type of evaluation information, a second type of evaluation information, a third type of evaluation information, and a fourth type of evaluation information, each evaluation information in the first type of evaluation information corresponds to one target type, which is the first type; each evaluation information in the second type of evaluation information corresponds to two target types, which are the first type and the second type; each evaluation information in the third type of evaluation information corresponds to three target types, which are the first type, the second type, and the third type; each evaluation information in the fourth type of evaluation information corresponds to four target types, which are the first type, the second type, the third type, and the fourth type; wherein, the degree of motion represented by each evaluation information in the first type of evaluation information is higher than the degree of motion represented by each evaluation information in the second type of evaluation information, the degree of motion represented by each evaluation information in the second type of evaluation information is higher than the degree of motion represented by each evaluation information in the third type of evaluation information, and the degree of motion represented by each evaluation information in the third type of evaluation information is higher than the degree of motion represented by each evaluation information in the fourth type of evaluation information. or, And so on.
5. The method according to any one of claims 2-4, characterized in that, When encoding each image group, the target types of the image frames used in each image group are either the same or different.
6. The method according to claim 2, characterized in that, The encoding process specifically includes: in the process of encoding to obtain the image group, in response to encoding an image frame, if the image frame has a target type corresponding to the target evaluation information, encoding the image frame according to the frame skipping mode.
7. The method according to claim 1, characterized in that, The evaluation information specifies image frames that need to be encoded in a frame skipping mode, including: After a first number of specified image frames are pre-encoded, a second number of image frames need to be encoded; wherein, the specified image frames are image frames used to be encoded as non-keyframes, and the pre-encoded encoding is encoding performed according to an encoding mode other than frame skipping mode; different evaluation information has its own first and second numbers. Accordingly, the encoding process specifically includes: During the encoding process to obtain the image group, after the first frame is encoded, non-key frames are encoded according to the predetermined encoding method. In response to the encoding of the first number of non-key frames set by the target evaluation information in the image group, the second number of image frames set by the target evaluation information are encoded according to the frame skipping mode. or, The evaluation information specifies image frames that need to be encoded in a frame skipping mode, including: A third number of image frames are selected from the specified image frames used in the process of encoding to obtain the image group; wherein different evaluation information is set with its own third number; Accordingly, the encoding process specifically includes: During the encoding process to obtain the image group, after the first frame is encoded, the third number of image frames in the image frames used to encode the image group, as set by the target evaluation information, are encoded according to the frame skipping mode. or, The evaluation information specifies image frames that need to be encoded in a frame skipping mode, including: Image frames selected from specified image frames used in the process of encoding to obtain the image group, at a predetermined ratio set by the evaluation information; wherein different evaluation information sets their own predetermined ratios; Accordingly, the encoding process specifically includes: During the encoding process to obtain the image group, after the first frame is encoded, the image frames in the image frames used to encode the image group, according to the frame skipping mode, are encoded according to the predetermined proportion set by the target evaluation information.
8. A video encoding device, characterized in that, include: Memory, used to store computer programs; A processor, when executing a program stored in memory, implements the method described in any one of claims 1-7.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium contains a computer program that, when executed by a processor, implements the method described in any one of claims 1-7.