Methods, devices, storage media, and electronic equipment for detecting page load time.

By analyzing the gradient features of video frames during the page loading process, the start and end frames of page loading are determined, solving the problem of inaccurate manual detection in existing technologies and achieving more efficient page loading time evaluation.

CN115935098BActive Publication Date: 2025-10-28BEIJING SANKUAI ONLINE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211667244.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-23
Publication Date
2025-10-28
Estimated Expiration
2042-12-23

AI Technical Summary

Technical Problem

In existing technologies, manually detecting page load time is not accurate enough and is inefficient, making it impossible to effectively assess page load time.

Method used

By acquiring recorded video of the page loading process, extracting video frames and performing image processing, determining the gradient features of the video frames, and calculating the change in gradient features between any two adjacent video frames, the starting and ending frames in the page loading process can be determined, and the loading time can then be calculated.

Benefits of technology

It improves the accuracy and efficiency of page load time detection, reduces errors, and provides a more accurate assessment of page load time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115935098B_ABST
    Figure CN115935098B_ABST
Patent Text Reader

Abstract

This specification discloses a method, apparatus, storage medium, and electronic device for detecting page load time. The embodiments of this specification determine the gradient features corresponding to each video frame by determining the number of specified pixels in each processed video frame within a video recording the page loading process, and then determining the gradient feature change between any two adjacent video frames. Based on the gradient feature change between any two adjacent video frames, the start and end frames of the page loading process are determined, thereby determining the time taken for the page loading process. Compared to manually determining page load time, this method significantly reduces the error in detecting page load time, resulting in a more accurate page load time and improving the detection efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of computer technology, and in particular to methods, apparatus, storage media, and electronic devices for detecting page load time. Background Technology

[0002] Today, with the development of internet technology, users expect a better browsing and user experience when browsing various web pages or choosing applications. Page loading time can affect user experience and is also an important indicator for people to evaluate good web pages and applications.

[0003] In existing technologies, the loading time of application pages is generally determined by manual detection. This method is not only inaccurate, but also inefficient. Summary of the Invention

[0004] This specification provides a method, apparatus, storage medium, and electronic device for detecting page load time, in order to partially solve the problems existing in the prior art.

[0005] The embodiments in this specification adopt the following technical solutions:

[0006] This specification provides a method for detecting page load time, the method comprising:

[0007] Get a video recording that shows the page loading process;

[0008] Extract each video frame from the video;

[0009] For each video frame, image processing is performed on the video frame, and the gradient features corresponding to the video frame are determined based on the number of specified pixels contained in the processed video frame.

[0010] Based on the gradient features corresponding to each video frame, determine the amount of gradient feature change between any two adjacent video frames.

[0011] Based on the gradient feature change between any two adjacent video frames, the start frame and end frame of the page loading process are determined from each extracted video frame.

[0012] The time taken for the page loading process is determined based on the start frame and the end frame.

[0013] Optionally, for each video frame, image processing is performed on the video frame, and the gradient features corresponding to the video frame are determined based on the number of specified pixels contained in the processed video frame, specifically including:

[0014] For each video frame, image processing is performed on the video frame, and the row gradient features of the video frame are determined based on the number of specified pixels contained in each row of pixels in the processed video frame, and the column gradient features of the video frame are determined based on the number of specified pixels contained in each column of pixels in the processed video frame.

[0015] The row gradient features and the column gradient features are used as the gradient features corresponding to the video frame.

[0016] Optionally, based on the gradient features corresponding to each video frame, the change in gradient features between any two adjacent video frames is determined, specifically including:

[0017] For any two adjacent video frames, based on the row gradient features of the two adjacent video frames, the change in the number of specified pixels contained in each row of the two adjacent video frames is determined as the row change, and based on the column gradient features of the two adjacent video frames, the change in the number of specified pixels contained in each column of the two adjacent video frames is determined as the column change.

[0018] The gradient feature change between two adjacent video frames is determined based on the row change and the column change.

[0019] Optionally, the starting frame in the page loading process is determined from the extracted video frames based on the gradient feature change between any two adjacent video frames, specifically including:

[0020] For any two adjacent video frames, if it is determined that the gradient feature change between the two adjacent video frames is greater than the first threshold, the first video frame of the two adjacent video frames is taken as the candidate starting frame.

[0021] The next video frame adjacent to the second video frame in the two adjacent video frames is determined as the third video frame;

[0022] If it is determined that the gradient feature change between the second video frame and the third video frame is greater than the first threshold, the candidate starting frame is determined as the starting frame in the page loading process.

[0023] Optionally, the starting frame in the page loading process is determined from the extracted video frames based on the gradient feature change between any two adjacent video frames, specifically including:

[0024] For any two adjacent video frames, based on the gradient feature change between the two adjacent video frames, determine the ratio of the number of rows of pixels where the number of specified pixels changes to the total number of rows, as the row ratio corresponding to the two adjacent video frames; and determine the ratio of the number of columns of pixels where the number of specified pixels changes to the total number of columns, as the column ratio corresponding to the two adjacent video frames.

[0025] If it is determined that the gradient feature change between two adjacent video frames is greater than the first threshold, and the row ratio and / or column ratio of the two adjacent video frames are greater than the second threshold, the first video frame of the two adjacent video frames is taken as the candidate starting frame.

[0026] The next video frame adjacent to the second video frame in the two adjacent video frames is determined as the third video frame;

[0027] If it is determined that the gradient feature change between the second video frame and the third video frame is greater than the first threshold, and the corresponding row ratio between the second video frame and the third video frame and / or the corresponding column ratio between the second video frame and the third video frame is greater than the second threshold, then the candidate starting frame is determined as the starting frame in the page loading process.

[0028] Optionally, the termination frame in the page loading process is determined from the extracted video frames based on the gradient feature change between any two adjacent video frames, specifically including:

[0029] For any two adjacent video frames after the starting frame, if it is determined that the gradient feature change between the two adjacent video frames is greater than the first threshold, the first video frame of the two adjacent video frames is taken as the candidate termination frame.

[0030] The last candidate termination frame identified from the video will be used as the termination frame in the page loading process.

[0031] Optionally, the termination frame in the page loading process is determined from the extracted video frames based on the gradient feature change between any two adjacent video frames, specifically including:

[0032] For any two adjacent video frames after the starting frame, based on the gradient feature change between the two adjacent video frames, the ratio of the number of rows of pixels where the number of specified pixels changes to the total number of rows is determined as the row ratio corresponding to the two adjacent video frames; and the ratio of the number of columns of pixels where the number of specified pixels changes to the total number of columns is determined as the column ratio corresponding to the two adjacent video frames.

[0033] If it is determined that the gradient feature change between two adjacent video frames is greater than the first threshold, and the row ratio and / or column ratio of the two adjacent video frames are greater than the second threshold, the first video frame of the two adjacent video frames is taken as a candidate termination frame.

[0034] The last candidate termination frame identified from the video will be used as the termination frame in the page loading process.

[0035] Optionally, for each video frame, image processing is performed on the video frame, and the gradient features corresponding to the video frame are determined based on the number of specified pixels contained in the processed video frame, specifically including:

[0036] For each video frame after the starting frame, determine whether the processed video frame contains a first area for scrolling and displaying information;

[0037] If so, the gradient feature corresponding to the video frame is determined based on the number of specified pixels in other regions besides the first region in the processed video frame.

[0038] Optionally, for each video frame, image processing is performed on the video frame, and the gradient features corresponding to the video frame are determined based on the number of specified pixels contained in the processed video frame, specifically including:

[0039] For each video frame after the starting frame, a video frame adjacent to that video frame is determined from the video and used as a reference video frame;

[0040] Based on the reference video frame, a region in the processed video frame that has undergone pixel changes compared to the reference video frame is determined as a second region;

[0041] The gradient features corresponding to the video frame are determined based on the number of specified pixels in the second region.

[0042] Optionally, the time taken for the page loading process is determined based on the start frame and the end frame, specifically including:

[0043] The frame number of the starting frame in the video is determined as the starting frame number, and the frame number of the ending frame in the video is determined as the ending frame number;

[0044] Based on the starting frame number, the time corresponding to the starting frame in the video is determined as the starting frame time, and based on the ending frame number, the time corresponding to the ending frame in the video is determined as the ending frame time.

[0045] The time taken for the page loading process is determined based on the start frame time and the end frame time.

[0046] This specification provides a device for page load time measurement, comprising:

[0047] The acquisition module is used to acquire videos that record the page loading process;

[0048] The extraction module is used to extract each video frame from the video;

[0049] The first determining module is used to perform image processing on each video frame and determine the gradient features corresponding to the video frame based on the number of specified pixels contained in the processed video frame.

[0050] The second determining module is used to determine the amount of gradient feature change between any two adjacent video frames based on the gradient features corresponding to each video frame.

[0051] The third determining module is used to determine the start frame and end frame of the page loading process from each extracted video frame based on the gradient feature change between any two adjacent video frames.

[0052] The detection module is used to determine the time taken for the page loading process based on the start frame and the end frame.

[0053] This specification provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the page load time detection method described above.

[0054] This specification provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, it implements the page load time detection method described above.

[0055] The above-described at least one technical solution adopted in the embodiments of this specification can achieve the following beneficial effects:

[0056] This specification's embodiments determine the gradient features corresponding to each video frame by determining the number of specified pixels in each image-processed video frame within the video recording the page loading process, and then determine the gradient feature change between any two adjacent video frames. Based on the gradient feature change between any two adjacent video frames, the start and end frames of the page loading process are determined, thereby determining the time taken for the page loading process.

[0057] As can be seen from the above method, the embodiments of this specification determine the gradient features corresponding to each video frame, obtain the change in gradient features between any two adjacent video frames, and thus determine the start and end frames in the page loading process. Compared with manually determining the page loading time, the error of the page loading time detected by the above method is greatly reduced, the determined page loading time is more accurate, and the detection efficiency of page loading time is also improved. Attached Figure Description

[0058] The accompanying drawings, which are included to provide a further understanding of this specification and form part of this specification, illustrate exemplary embodiments and are used to explain this specification, but do not constitute an undue limitation thereof. In the drawings:

[0059] Figure 1 A flowchart illustrating the page load time detection method provided in the embodiments of this specification;

[0060] Figure 2 A logical diagram illustrating the page load time detection method provided in the embodiments of this specification;

[0061] Figure 3 A schematic diagram of the page load time detection device provided in the embodiments of this specification;

[0062] Figure 4 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this specification. Detailed Implementation

[0063] To make the objectives, technical solutions, and advantages of this specification clearer, the technical solutions of this specification will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this specification, and not all of them. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this specification.

[0064] The technical solutions provided in the various embodiments of this specification are described in detail below with reference to the accompanying drawings.

[0065] Figure 1 A flowchart illustrating a page load time detection method provided in this specification embodiment includes:

[0066] S100: Capture video recordings of the page loading process.

[0067] In practical applications, application page loading time is a key factor affecting user experience and an important indicator for evaluating a good application. To determine page loading time, screen recordings showing the page loading process can be recorded first. By acquiring these recordings, the time required for page loading within the application can be determined. The page loading process refers to the entire process from when an application or a functional module within an application is triggered until the page it needs to load is fully loaded.

[0068] The executing entity of this application can be a server or an electronic device such as a tablet computer, laptop computer, or desktop computer. For ease of explanation, the following description uses a server as the executing entity to illustrate the page load time detection method provided in this application.

[0069] S102: Extract each video frame from the video.

[0070] After acquiring the video recording of the page loading process, the server analyzes the video to extract its individual frames. Specifically, the server can break the video down into individual frames based on its bitrate, thereby extracting the corresponding video segments.

[0071] It should be noted that during the extraction of video frames, some frames may exhibit image jitter. This jitter primarily refers to discrepancies in the display of identical interface elements within certain video frames during page loading. For example, two consecutive video frames may contain the same control. Normally, this control should be positioned identically in both frames. However, in this case, the control's position may differ, which can be considered as image jitter in the two video frames.

[0072] In response to this situation, the server can first perform preprocessing operations on each extracted video frame to eliminate the deviation caused by image jitter in the video frame during the video recording process, thereby ensuring that the page loading time determined by the start frame and the end frame is accurate.

[0073] In this specification, there are many ways to preprocess video frames, such as downsampling and filtering, and the embodiments of this application do not limit this to these methods.

[0074] S104: For each video frame, perform image processing on the video frame, and determine the gradient features corresponding to the video frame based on the number of specified pixels contained in the processed video frame.

[0075] After extracting each video frame from the video recording the page loading process, the server can first perform image processing on each video frame. That is, the server can first binarize the video frames to make all video frames into binary images, and then determine the gradient features corresponding to the video frame based on the number of specified pixels contained in the video frame after image processing.

[0076] This manual describes many ways to perform image processing on all video frames. For example, the server can binarize the video frames using the Sobel operator. This manual does not limit the methods of performing image processing on video frames.

[0077] The specified pixel can be a pixel with a specified value or a pixel within a preset range. This specification does not impose any restrictions on the specified pixel. In this embodiment, after image processing, all video frames contain only two grayscale values: white (255) and black (0). The server can use white pixels as the specified pixel.

[0078] For each processed video frame, the pixel scale is W*H (W represents the number of pixel columns in the video frame, and H represents the number of pixel rows in the video frame). Based on this, the server can determine the number of specified pixels in each row of the processed video frame, which serves as the row gradient feature of the video frame. Similarly, the server can determine the number of specified pixels in each column of the processed video frame, which serves as the column gradient feature of the video frame.

[0079] Specifically, when determining the gradient features of each video frame, the server can count the number of specified pixels in each row of pixels in the processed video frame, sort the number of specified pixels in each row from top to bottom (or from bottom to top), and use the resulting vector as the row gradient feature of the video frame. Similarly, for each column of pixels in the processed video frame, the server can count the number of specified pixels in each column, sort the number of specified pixels in each column from left to right (or from right to left), and use the resulting vector as the column gradient feature of the video frame.

[0080] Furthermore, the server can concatenate and combine the row gradient features and column gradient features of the processed video frame to determine the gradient features corresponding to the video frame.

[0081] S106: Based on the gradient features corresponding to each video frame, determine the amount of gradient feature change between any two adjacent video frames.

[0082] For any two adjacent video frames, based on the row gradient features of those two frames, the server can determine the change in the number of specified pixels in each row of pixels within those two frames. This change in the number of specified pixels in each row of pixels within any two adjacent video frames is then used as the row variation. Specifically, the server first determines the change in the number of specified pixels in each row of pixels within the two adjacent video frames, then determines the average value of this change, and uses this average value as the row variation.

[0083] Similarly, the change in the number of specified pixels in each column of pixels in any two adjacent video frames is taken as the column change. Specifically, the server first determines the change in the number of specified pixels in each column of pixels in the two adjacent video frames, and then determines the average of the changes in the number of specified pixels in each column of pixels as the column change.

[0084] In addition, when determining the row change, the change in the number of specified pixels contained in each row can be added together to obtain the sum of the change in the number of specified pixels contained in each row. The sum of the changes obtained is used as the row change. When determining the column change, the sum of the change in the number of specified pixels contained in each column can also be used as the column change.

[0085] Furthermore, the server can concatenate and combine the row and column changes of the video frame to determine the gradient feature change corresponding to the video frame.

[0086] S108: Based on the gradient feature change between any two adjacent video frames, determine the start frame and end frame of the page loading process from each extracted video frame.

[0087] When determining the starting frame from each video frame, the server can select any two adjacent video frames and, if the change in gradient features between the two adjacent video frames is greater than a preset first threshold, use the first video frame of the two adjacent video frames as the candidate starting frame.

[0088] Furthermore, the server can determine the next video frame adjacent to the second video frame in the two adjacent video frames as the third video frame. If the gradient feature change between the second video frame and the third video frame is also greater than the first threshold, it can be determined that the candidate starting frame is the starting frame in the page loading process.

[0089] In other words, before the start frame is detected, for any two adjacent video frames, if the change in gradient features between the first and second video frames exceeds a pre-set first threshold, it indicates that a significant change has occurred between the first and second video frames. If the change in gradient features between the second and third video frames also exceeds the pre-set first threshold, it indicates that a significant change has also occurred between the second and third video frames. This indicates that the page has started loading, so the video frame change process will continue. At this point, the server can determine the first video frame as the true start frame in the page loading process.

[0090] After detecting the start frame, the server can begin detecting the termination frames contained in the video. Specifically, for each video frame after the start frame, the server determines the gradient features corresponding to that video frame, and then determines the termination frame based on the change in gradient features between any two adjacent video frames after the start frame. If the change in gradient features between two adjacent video frames is greater than a first threshold, the first of those two adjacent video frames is selected as a candidate termination frame.

[0091] In other words, during the detection of termination frames, if the gradient feature change between the first video frame and the second video frame exceeds a pre-set first threshold, that is, if the first video frame and the second video frame have undergone significant changes, the server can then identify the first video frame as a candidate termination frame.

[0092] After identifying candidate termination frames, the server determines whether the gradient feature change between the candidate termination frame and its next video frame exceeds a pre-set first threshold. If so, the next video frame of the candidate termination frame is designated as a new candidate termination frame. In other words, candidate termination frames are continuously updated during termination frame detection. If the gradient feature change between two adjacent frames detected by the server exceeds the pre-set first threshold, the server designates the first of those two adjacent video frames as the candidate termination frame.

[0093] If the gradient feature change between two adjacent frames detected by the server does not exceed a pre-set first threshold, meaning that the second video frame in these two adjacent frames has not changed significantly compared to the first video frame, the server can determine the first video frame in these two adjacent frames as the candidate termination frame for the last update. The server can then use the last candidate termination frame determined from the video as the termination frame in the page loading process.

[0094] It should be noted that sometimes video frames may contain dynamically changing areas such as carousels. To accurately determine the termination frame, the server needs to first identify the dynamically changing area and determine the gradient characteristics of the remaining area in the processed video frame after excluding the dynamically changing area. This gradient characteristic is used as the gradient characteristic of the video frame, ignoring the impact of the dynamically changing area on the video frame. After determining the gradient characteristics of the video frame, the server then determines the change in gradient characteristics between two adjacent video frames. The termination frame in the page loading process can be determined using the same method described above.

[0095] The server can compare adjacent processed video frames. If the server determines that the shape of the changing region in adjacent processed video frames is a specified shape, such as the changing region being rectangular, the size of the changing region meeting preset size conditions, and other regions in these processed video frames not changing significantly, the server can define the changing region as a dynamically changing region.

[0096] Of course, the server can also identify dynamically changing areas contained in the video frame in other ways. For example, the server can input the processed video frame into a preset recognition model so that the recognition model can identify dynamically changing areas such as those used to display carousels from the processed video frame.

[0097] Furthermore, in the process of determining the termination frame, for two adjacent processed video frames, if most of the area of ​​the video frame has not changed, and only a small part of the area has changed, such as an icon displayed in the video frame having a slightly different style, then only the gradient features of the small part of the changed area can be determined as the gradient features of the video frame to improve the efficiency of termination frame detection.

[0098] To more accurately determine the start and end frames, this specification also allows the server to introduce other indicators, combined with the aforementioned gradient feature changes, to identify the start and end frames from the video.

[0099] Specifically, for any two adjacent processed video frames, the server must determine not only the change in gradient features between the two adjacent processed video frames, but also the ratio of the number of rows where the number of specified pixels changes to the total number of rows between the two adjacent processed video frames. This ratio is used as the row proportion for the two adjacent processed video frames. For example, if the number of rows where the number of specified pixels changes in the two adjacent processed video frames is x, and the total number of rows in the video frame is H, then the row proportion is x / H.

[0100] Simultaneously, the server can determine the ratio of the number of pixel columns where the number of specified pixels changes between two adjacent processed video frames to the total number of columns, using this ratio as the column ratio for those two adjacent processed video frames. For example, if the number of pixel columns where the number of specified pixels changes in two adjacent processed video frames is y, and the total number of columns in the video frame is W, then the row ratio is y / W.

[0101] When determining the starting frame, if the gradient feature change between two adjacent processed video frames is greater than the first threshold, and the row ratio and / or column ratio of the two adjacent processed video frames is greater than the second threshold, the server can determine the first video frame of the two adjacent processed video frames as the candidate starting frame.

[0102] Simultaneously, the server determines the next video frame adjacent to the second video frame in the two processed video frames as the third video frame. If the gradient feature change between the second and third video frames is greater than a first threshold, and the corresponding row ratio and / or column ratio between the second and third video frames is greater than a second threshold, then the server can determine the candidate starting frame as the starting frame in the page loading process.

[0103] Furthermore, when determining the termination frame, for any two adjacent processed video frames after the starting frame, if the server determines that the gradient feature change between the two adjacent processed video frames is greater than a first threshold, and the row ratio and / or column ratio of the two adjacent processed video frames is greater than a second threshold, the server can determine the first video frame of the two adjacent processed video frames as a candidate termination frame, and continuously perform termination frame detection two frames at a time until the last candidate termination frame is determined from the video, and finally use the candidate termination frame as the termination frame in the page loading process.

[0104] In this specification, for two adjacent processed video frames, not only is the gradient feature change metric introduced, but also the row ratio and column ratio of the corresponding video frames are introduced. The gradient feature change metric is used to jointly determine the start frame and the end frame, further ensuring the accuracy of the determined start frame and end frame.

[0105] S110: Determine the time taken for the page loading process based on the start frame and the end frame.

[0106] Once the start and end frames are determined, the server can use the time corresponding to the frame number of the start frame in the video as the start frame time, and the time corresponding to the frame number of the end frame in the video as the end frame time. Then, the server can determine the time required for the page to load based on the end frame time and the start frame time.

[0107] As can be seen from the above method, the embodiments of this specification determine the gradient features corresponding to each video frame, obtain the change in gradient features between any two adjacent video frames, and thus determine the start and end frames in the page loading process. Compared with manually determining the page loading time, the error of the page loading time detected by the above method is greatly reduced, the determined page loading time is more accurate, and the detection efficiency of page loading time is also improved.

[0108] For ease of understanding, Figure 2 This is a logical diagram illustrating a method for detecting page load time as described in this specification, specifically including the following:

[0109] The server first acquires a video recording of the page loading process and analyzes it to extract the video frames. During the identification of the starting frame, following the chronological order of the video frames, the server first determines the gradient features and changes in gradient features between the first and second video frames to determine if these two adjacent frames contain the starting frame. If not, the server continues analyzing the gradient features and changes in gradient features of the second and third video frames to determine if they contain the starting frame. This process continues until the starting frame is finally identified.

[0110] After the server determines the starting frame, it can determine the gradient features and gradient feature changes of each adjacent video frame after the starting frame until the final ending frame is determined.

[0111] Finally, the server can accurately determine the time taken for the page loading process based on the determined start and end frames.

[0112] The above are the page load time detection methods provided in the embodiments of this specification. Based on the same idea, this specification also provides corresponding devices, storage media and electronic devices.

[0113] Figure 3 This is a schematic diagram of the structure of the page load time detection device provided in the embodiments of this specification. The device includes:

[0114] Module 301 is used to acquire videos that record the page loading process;

[0115] Extraction module 302 is used to extract each video frame from the video;

[0116] The first determining module 303 is used to perform image processing on each video frame and determine the gradient features corresponding to the video frame based on the number of specified pixels contained in the processed video frame.

[0117] The second determining module 304 is used to determine the amount of gradient feature change between any two adjacent video frames based on the gradient features corresponding to each video frame.

[0118] The third determining module 305 is used to determine the start frame and the end frame in the page loading process from each extracted video frame based on the gradient feature change between any two adjacent video frames.

[0119] The detection module 306 is used to determine the time taken for the page loading process based on the start frame and the end frame.

[0120] Optionally, the first determining module 303 is specifically configured to: perform image processing on each video frame, determine the row gradient feature of the video frame based on the number of specified pixels contained in each row of pixels in the processed video frame, and determine the column gradient feature of the video frame based on the number of specified pixels contained in each column of pixels in the video frame; and use the row gradient feature and the column gradient feature as the gradient feature corresponding to the video frame.

[0121] Optionally, the second determining module 304 is specifically configured to, for any two adjacent video frames, determine, based on the row gradient features of the two adjacent video frames, the change in the number of specified pixels contained in each row of the two adjacent video frames as the row change, and based on the column gradient features of the two adjacent video frames, determine, based on the column gradient features of the two adjacent video frames, the change in the number of specified pixels contained in each column of the two adjacent video frames as the column change; and determine the gradient feature change between the two adjacent video frames based on the row change and the column change.

[0122] Optionally, the third determining module 305 is specifically configured to: for any two adjacent video frames, if it is determined that the gradient feature change between the two adjacent video frames is greater than a first threshold, take the first video frame of the two adjacent video frames as a candidate starting frame; determine the next video frame adjacent to the second video frame of the two adjacent video frames as a third video frame; if it is determined that the gradient feature change between the second video frame and the third video frame is greater than the first threshold, determine the candidate starting frame as the starting frame in the page loading process.

[0123] Optionally, the second determining module 305 is specifically configured to, for any two adjacent video frames, determine, based on the gradient feature change between the two adjacent video frames, the ratio of the number of rows of pixels whose number of specified pixels has changed to the total number of rows, as the row ratio corresponding to the two adjacent video frames; and determine, based on the gradient feature change between the two adjacent video frames, the ratio of the number of columns of pixels whose number of specified pixels has changed to the total number of columns, as the column ratio corresponding to the two adjacent video frames; if it is determined that the gradient feature change between the two adjacent video frames is greater than a first threshold, and the row ratio and / or column ratio corresponding to the two adjacent video frames is greater than a second threshold, then the first video frame in the two adjacent video frames is designated as a candidate starting frame; the next video frame adjacent to the second video frame in the two adjacent video frames is designated as a third video frame; if it is determined that the gradient feature change between the second video frame and the third video frame is greater than the first threshold, and the row ratio and / or column ratio corresponding to the second video frame and the third video frame is greater than the second threshold, then the candidate starting frame is designated as the starting frame in the page loading process.

[0124] Optionally, the second determining module 305 is specifically used to, for any two adjacent video frames after the starting frame, if it is determined that the gradient feature change between the two adjacent video frames is greater than a first threshold, take the first video frame of the two adjacent video frames as a candidate termination frame; and take the last candidate termination frame determined from the video as the termination frame in the page loading process.

[0125] Optionally, the second determining module 305 is specifically configured to, for any two adjacent video frames after the starting frame, determine the ratio of the number of rows of pixels whose number of specified pixels has changed to the total number of rows based on the gradient feature change between the two adjacent video frames, as the row ratio corresponding to the two adjacent video frames; and determine the ratio of the number of columns of pixels whose number of specified pixels has changed to the total number of columns between the two adjacent video frames, as the column ratio corresponding to the two adjacent video frames; if it is determined that the gradient feature change between the two adjacent video frames is greater than a first threshold, and the row ratio and / or the column ratio corresponding to the two adjacent video frames is greater than a second threshold, then the first video frame of the two adjacent video frames is designated as a candidate termination frame; and the last candidate termination frame determined from the video is designated as the termination frame in the page loading process.

[0126] Optionally, the second determining module 303 is specifically used to determine, for each video frame after the starting frame, whether the processed video frame contains a first area for scrolling and displaying information; if so, to determine the gradient feature corresponding to the video frame based on the number of specified pixels in other areas of the processed video frame besides the first area.

[0127] Optionally, the second determining module 303 is specifically configured to: for each video frame after the starting frame, determine a video frame adjacent to the video frame in the video as a reference video frame; determine a region in the processed video frame that has undergone pixel changes compared to the reference video frame as a second region based on the reference video frame; and determine the gradient feature corresponding to the video frame based on the number of specified pixels in the second region.

[0128] Optionally, the second determining module 306 is specifically configured to: determine the frame number of the starting frame in the video as the starting frame number, and determine the frame number of the ending frame in the video as the ending frame number; determine the time corresponding to the starting frame in the video based on the starting frame number as the starting frame time, and determine the time corresponding to the ending frame in the video based on the ending frame number as the ending frame time; and determine the time used for the page loading process based on the starting frame time and the ending frame time.

[0129] This specification also provides a computer-readable storage medium storing a computer program that, when executed by a processor, can be used to perform the above-described actions. Figure 1 The provided method for detecting page load time.

[0130] based on Figure 1 The page load time detection method shown in this specification is further provided in the embodiments. Figure 4 The diagram shows the structure of the unmanned equipment. Figure 4 At the hardware level, the unmanned device includes a processor, internal bus, network interface, memory, and non-volatile storage, and may also include other hardware required for its functions. The processor reads the corresponding computer program from the non-volatile storage into memory and then executes it to achieve the above-mentioned tasks. Figure 1 The method for detecting page load time.

[0131] Of course, in addition to software implementation, this specification does not exclude other implementation methods, such as logic devices or a combination of hardware and software. In other words, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0132] In the 1990s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many methodological improvements today can be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that a methodological improvement cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently, the most commonly used are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should understand that by simply performing some logic programming on the method flow using one of these hardware description languages ​​and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.

[0133] The controller can be implemented in any suitable manner. For example, it can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.

[0134] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.

[0135] For ease of description, the above devices are described in terms of function, divided into various units. Of course, in implementing this specification, the functions of each unit can be implemented in one or more software and / or hardware components.

[0136] Those skilled in the art will understand that embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0137] This specification is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this specification. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create a machine for implementing the flowchart illustrations and / or block diagrams. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0138] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0139] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0140] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0141] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0142] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0143] It should also be noted that 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 limitation, 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.

[0144] Those skilled in the art will understand that the embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0145] This specification can be described in the general context of computer-executable instructions that are executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. This specification can also be practiced in distributed computing environments, where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0146] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. 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 in the method embodiments.

[0147] The above description is merely an embodiment of this specification and is not intended to limit this specification. Various modifications and variations can be made to this specification by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of the claims of this specification.

Claims

1. A method for detecting page load time, characterized in that, The method includes: acquiring a video recording a page loading process; extracting video frames from the video; performing image processing on each video frame and determining the gradient features corresponding to the video frame based on the number of specified pixels contained in the processed video frame; determining the gradient feature change between any two adjacent video frames based on the gradient feature change between any two adjacent video frames; determining the start frame and end frame of the page loading process from the extracted video frames based on the gradient feature change between any two adjacent video frames; and determining the time taken for the page loading process based on the start frame and end frame. The starting frame for the page loading process is determined from the extracted video frames based on the gradient feature change between any two adjacent video frames. Specifically, this includes: for any two adjacent video frames, if the gradient feature change between them is greater than a first threshold, the first video frame is designated as a candidate starting frame; the next video frame adjacent to the second video frame is designated as the third video frame; if the gradient feature change between the second and third video frames is greater than the first threshold, the candidate starting frame is determined as the starting frame for the page loading process. The method for determining the starting frame for the page loading process from the extracted video frames based on the gradient feature change between any two adjacent video frames specifically includes: for any two adjacent video frames, determining the number of specified pixels that have changed between them based on the gradient feature change between them. The ratio of the number of pixel rows to the total number of rows is used as the row ratio for the two adjacent video frames, and the ratio of the number of pixel columns in which the number of specified pixels changes between the two adjacent video frames to the total number of columns is used as the column ratio for the two adjacent video frames. If the gradient feature change between the two adjacent video frames is greater than a first threshold, and the row ratio and / or column ratio between the two adjacent video frames are greater than a second threshold, the first video frame in the two adjacent video frames is used as a candidate starting frame. The next video frame adjacent to the second video frame in the two adjacent video frames is used as the third video frame. If the gradient feature change between the second video frame and the third video frame is greater than the first threshold, and the row ratio between the second video frame and the third video frame is greater than the second threshold, the candidate starting frame is used as the starting frame in the page loading process.

2. The method as described in claim 1, characterized in that, For each video frame, image processing is performed on the video frame, and the gradient features corresponding to the video frame are determined based on the number of specified pixels contained in the processed video frame. Specifically, this includes: for each video frame, image processing is performed on the video frame, and the row gradient features of the video frame are determined based on the number of specified pixels contained in each row of pixels in the processed video frame, and the column gradient features of the video frame are determined based on the number of specified pixels contained in each column of pixels in the processed video frame; the row gradient features and the column gradient features are used as the gradient features corresponding to the video frame.

3. The method as described in claim 2, characterized in that, Based on the gradient features corresponding to each video frame, the gradient feature change between any two adjacent video frames is determined. Specifically, this includes: for any two adjacent video frames, based on the row gradient features of the two adjacent video frames, determining the change in the number of specified pixels contained in each row of the two adjacent video frames as the row change, and based on the column gradient features of the two adjacent video frames, determining the change in the number of specified pixels contained in each column of the two adjacent video frames as the column change; and determining the gradient feature change between the two adjacent video frames based on the row change and the column change.

4. The method as described in claim 3, characterized in that, Based on the gradient feature change between any two adjacent video frames, the termination frame in the page loading process is determined from the extracted video frames. Specifically, this includes: for any two adjacent video frames after the starting frame, if it is determined that the gradient feature change between the two adjacent video frames is greater than a first threshold, the first video frame of the two adjacent video frames is taken as a candidate termination frame; the last candidate termination frame determined from the video is taken as the termination frame in the page loading process.

5. The method as described in claim 4, characterized in that, Based on the gradient feature change between any two adjacent video frames, the termination frame in the page loading process is determined from the extracted video frames. Specifically, this includes: for any two adjacent video frames after the starting frame, determining the ratio of the number of rows where the number of specified pixels changes to the total number of rows, based on the gradient feature change between the two adjacent video frames, as the row ratio for the two adjacent video frames; and determining the ratio of the number of columns where the number of specified pixels changes to the total number of columns, as the column ratio for the two adjacent video frames; if the gradient feature change between the two adjacent video frames is greater than a first threshold, and the row ratio and / or column ratio for the two adjacent video frames are greater than a second threshold, the first video frame in the two adjacent video frames is designated as a candidate termination frame; and the last candidate termination frame determined from the video is designated as the termination frame in the page loading process.

6. A device for measuring page load time, characterized in that, include: The acquisition module is used to acquire videos that record the page loading process; The extraction module is used to extract each video frame from the video; The first determining module is used to perform image processing on each video frame and determine the gradient feature corresponding to the video frame based on the number of specified pixels contained in the processed video frame. The second determining module is used to determine the gradient feature change between any two adjacent video frames based on the gradient feature corresponding to each video frame. The third determining module is used to determine the start frame and end frame of the page loading process from the extracted video frames based on the gradient feature change between any two adjacent video frames. Specifically, determining the start frame of the page loading process from the extracted video frames based on the gradient feature change between any two adjacent video frames includes: for any two adjacent video frames, if the gradient feature change between the two adjacent video frames is greater than a first threshold, taking the first video frame of the two adjacent video frames as a candidate start frame; determining the second video frame of the two adjacent video frames... The next video frame adjacent to the second video frame is designated as the third video frame. If the gradient feature change between the second and third video frames is greater than the first threshold, the candidate starting frame is designated as the starting frame in the page loading process. If the gradient feature change between the two adjacent video frames is greater than the first threshold, and the row ratio and / or column ratio between the two adjacent video frames is greater than the second threshold, the first video frame among the two adjacent video frames is designated as the candidate starting frame. The next video frame adjacent to the second video frame among the two adjacent video frames is designated as the third video frame. If the gradient feature change between the second and third video frames is greater than the first threshold, and the row ratio and / or column ratio between the second and third video frames is greater than the second threshold, the candidate starting frame is designated as the starting frame in the page loading process. The detection module is used to determine the time taken for the page loading process based on the start frame and the end frame.

7. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, implements the method described in any one of claims 1-5.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the method described in any one of claims 1-5.

Citation Information

Patent Citations

  • Method and device for determining page loading duration

    CN110333903A

  • Page loading time detection method and device, electronic equipment and medium

    CN113780163A