WO2024002264A1 - Dispositif de traitement vidéo, procédé de mise à jour d'instant de barre de progression, appareil, et dispositif électronique - Google Patents

Dispositif de traitement vidéo, procédé de mise à jour d'instant de barre de progression, appareil, et dispositif électronique Download PDF

Info

Publication number
WO2024002264A1
WO2024002264A1 PCT/CN2023/104007 CN2023104007W WO2024002264A1 WO 2024002264 A1 WO2024002264 A1 WO 2024002264A1 CN 2023104007 W CN2023104007 W CN 2023104007W WO 2024002264 A1 WO2024002264 A1 WO 2024002264A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
time
video
target
key frame
Prior art date
Application number
PCT/CN2023/104007
Other languages
English (en)
Chinese (zh)
Inventor
张俊杰
张镇
Original Assignee
杭州海康威视数字技术股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 杭州海康威视数字技术股份有限公司 filed Critical 杭州海康威视数字技术股份有限公司
Publication of WO2024002264A1 publication Critical patent/WO2024002264A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/915Television signal processing therefor for field- or frame-skip recording or reproducing

Definitions

  • the present application relates to the field of video surveillance technology, and in particular to a video processing device, a progress bar time update method and device, electronic equipment and a storage medium.
  • the video playback interface includes a progress bar, which is used to display the length information of the video file played back and the time information of the current video frame displayed on the playback interface during the playback process.
  • Video files are generally in PS encapsulation format.
  • PS encapsulation format only I frames can parse out the absolute time, that is, the actual recording time.
  • the actual recording time of the I frame is usually used to update the time on the progress bar.
  • the default frame rate is 25 frames per second, and in the video stream In the data, there are 50 P frames between every two I frames. That is to say, when the video processing device plays back the video stream data, an I frame will appear every 2 seconds, so the time on the progress bar will appear every 2 seconds. It only updates once every 2 seconds, and the update frequency is slow, causing the currently played back video frame to not correspond to the time on the progress bar.
  • This application provides a video processing device, a progress bar time update method, a device and a storage medium, which can increase the time update frequency on the progress bar.
  • the application provides a video processing device.
  • the video processing device is configured to, in response to receiving a playback instruction, obtain a program flow specified by the playback instruction, wherein the program flow is obtained by processing the original shot.
  • the encoded video stream of the video data is obtained by encapsulating the program stream; the program stream is decoded to obtain a decoded video stream, wherein the decoded video stream includes one or more video sequences, each video sequence includes a key frame and At least one target frame associated with the key frame; for any target video sequence of the one or more video sequences, based on the absolute time of the key frame and the time between the key frame and the target frame interval to determine the absolute time of the target frame, where the absolute time is the actual recording time of the video frame corresponding to the video frame; using the absolute time of the key frame and the target frame The absolute time is used to determine the current playback time displayed on the playback progress bar when the decoded video stream is played back.
  • the video processing device is specifically configured to: obtain the timestamp of the key frame and the timestamp of the target frame, where the timestamp is used to represent the relative time of the video frame to the reference time. time offset; determine the time interval between the key frame and the target frame according to the time stamp of the key frame and the time stamp of the target frame.
  • the video processing device is specifically configured to: when the timestamp of the target frame is greater than the timestamp of the key frame, subtract the timestamp of the target frame from the The difference in timestamps of key frames is obtained to determine the time interval.
  • the video processing device is specifically configured to: obtain the frame number of the key frame, the frame number of the target frame, and the frame interval of the target video sequence, wherein the frame interval Used to represent the time interval between two adjacent video frames in the target video sequence; calculate the frame number difference obtained by subtracting the frame number of the key frame from the frame number of the target frame; according to the frame number difference The product with the frame interval of the target video sequence determines the time interval between the key frame and the target frame.
  • the key frame is an I frame; and/or the target frame is an auxiliary frame.
  • the video processing device is specifically configured to determine the current playback time displayed on the playback progress bar based on the minimum time unit of the playback progress bar.
  • the playback instruction comes from a user terminal that can communicate with the video processing device; the video processing device is further configured to: send the decoded video stream to the sending user terminal to The decoded video stream is played back on the display interface of the user terminal; wherein the current playback time displayed on the playback progress bar on the display interface corresponds to the video frame currently being played back.
  • the functions of the video processing device and the functions of the user terminal are integrated into a single device.
  • the application provides a progress bar time update method, including: obtaining a target video sequence, wherein the target video sequence includes a key frame and at least one target frame associated with the key frame; an absolute value based on the key frame time and the time interval between the key frame and the target frame to determine the absolute time of the target frame, where the absolute time is the actual recording time of the video picture corresponding to the video frame; using the The absolute time of the key frame and the absolute time of the target frame are used to determine the current playback time displayed on the playback progress bar when the target video sequence is played back.
  • the method further includes: obtaining the timestamp of the key frame and the timestamp of the target frame, where the timestamp is used to represent the time offset of the video frame relative to the reference time. Shift; determine the time interval between the key frame and the target frame according to the timestamp of the key frame and the timestamp of the target frame.
  • determining the time interval between the key frame and the target frame includes: when the timestamp of the target frame is greater than the timestamp of the key frame, based on The time interval is determined by subtracting the time stamp of the key frame from the time stamp of the target frame.
  • the method further includes: obtaining the frame number of the key frame, the frame number of the target frame, and the frame interval of the target video sequence, where the frame interval is used to represent The time interval between two adjacent video frames in the target video sequence; the frame number difference is obtained by subtracting the frame number of the key frame from the frame number of the target frame; according to the frame number difference and the The product of the frame intervals of the target video sequence determines the time interval between the key frame and the target frame.
  • the key frame is an I frame; and/or the target frame is an auxiliary frame.
  • determining the current playback time displayed on the playback progress bar includes: determining the current playback time displayed on the playback progress bar based on the minimum time unit of the playback progress bar.
  • the application provides a progress bar time updating device, including: an acquisition module, configured to acquire a target video sequence, wherein the target video sequence includes a key frame and at least one target frame associated with the key frame; first Determining module, configured to determine the absolute time of the target frame based on the absolute time of the key frame and the time interval between the key frame and the target frame, wherein the absolute time is a video frame the actual recording time of the corresponding video picture; a second determination module, configured to use the absolute time of the key frame and the absolute time of the target frame to determine the playback progress bar when the target video sequence is played back The current playback time displayed on.
  • an acquisition module configured to acquire a target video sequence, wherein the target video sequence includes a key frame and at least one target frame associated with the key frame
  • first Determining module configured to determine the absolute time of the target frame based on the absolute time of the key frame and the time interval between the key frame and the target frame, wherein the absolute time is a video frame the actual recording time of the corresponding video picture
  • the acquisition module is also used to acquire the timestamp of the key frame and the timestamp of the target frame, where the timestamp is used to represent the time stamp of the video frame relative to the reference time.
  • Time offset the first determination module is further configured to determine the time interval between the key frame and the target frame based on the timestamp of the key frame and the timestamp of the target frame.
  • the first determination module is specifically configured to subtract the timestamp of the target frame based on the timestamp of the key frame when the timestamp of the target frame is greater than the timestamp of the key frame. The timestamp of the above key frame is obtained The difference is obtained to determine the time interval.
  • the acquisition module is also used to acquire the frame number of the key frame, the frame number of the target frame, and the frame interval of the target video sequence, where the frame interval is represents the time interval between two adjacent video frames in the target video sequence;
  • the first determination module is specifically used to obtain a frame number by subtracting the frame number of the key frame from the frame number of the target frame The time interval between the key frame and the target frame is determined based on the product of the frame number difference and the frame interval of the target video sequence.
  • the key frame is an I frame; and/or the target frame is an auxiliary frame.
  • the second determination module is specifically configured to determine the current playback time displayed on the playback progress bar according to the minimum time unit of the playback progress bar.
  • the present application provides an electronic device, including: at least one processor; at least one memory storing machine-executable instructions; when the at least one processor executes the machine-executable instructions, the second aspect is implemented Any progress bar time update method provided by the aspect.
  • this application provides a computer-readable storage medium.
  • the computer-readable storage medium stores computer execution instructions. When the computer execution instructions are run on a computer, the computer is caused to execute any of the progress provided in the second aspect. Article time update method.
  • Figure 1 is a schematic diagram of the implementation environment involved in a progress bar time update method provided by an embodiment of the present application
  • Figure 2 is a schematic diagram of the implementation environment involved in a progress bar time update method provided by an embodiment of the present application
  • Figure 3 is a schematic diagram of a video sequence provided by an embodiment of the present application.
  • Figure 4 is a schematic diagram of a PS package provided by an embodiment of the present application.
  • Figure 5 is a schematic diagram of a playback interface provided by an embodiment of the present application.
  • Figure 6 is a schematic diagram of the implementation environment involved in a progress bar time update method provided by an embodiment of the present application.
  • Figure 7 is a flow chart of a progress bar time update method provided by an embodiment of the present application.
  • Figure 8 is a flow chart of a progress bar time update method provided by an embodiment of the present application.
  • Figure 9 is a schematic diagram of a video sequence provided by an embodiment of the present application.
  • Figure 10 is a schematic diagram of a video sequence provided by an embodiment of the present application.
  • Figure 11 is a schematic diagram of a video sequence provided by an embodiment of the present application.
  • Figure 12 is a schematic diagram of a playback progress bar provided by an embodiment of the present application.
  • Figure 13 is a schematic structural diagram of a progress bar time updating device provided by an embodiment of the present application.
  • Figure 14 is a schematic structural diagram of a progress bar time updating device provided by an embodiment of the present application.
  • a and/or B can mean: A exists alone, A and B exist simultaneously, and they exist alone. B these three situations.
  • first and second in the description of this application and the drawings are used to distinguish different objects, or to distinguish different processes on the same object, rather than to describe a specific order of objects.
  • references to the terms “including” and “having” and any variations thereof in the description of this application are intended to cover non-exclusive inclusion.
  • a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes other unlisted steps or units, or optionally also includes Includes other steps or units that are inherent to such processes, methods, products, or devices.
  • DVR Digital video recorder
  • DVR is a type of video processing equipment used in conjunction with analog cameras.
  • the main working mode of DVR is to access analog video and audio signals and record video and audio through the hard disk.
  • the core of DVR lies in hard disk recording, so DVR is also called hard disk video recorder.
  • DVR can integrate cameras, mice, remote controls, remote terminal equipment, etc. to form a complete monitoring system, realizing the functions of long-term recording, remote monitoring, remote control, playback, and backup of audio and video signal data.
  • NVR Network video recorder
  • NVR Network Video
  • Network camera IP CAMERA, IPC.
  • Network camera is a new generation of camera that combines traditional cameras and network technology. It can transmit video images to the other side of the earth through the network, and the remote viewer does not need to Its video images can be monitored using any professional software, as long as a standard web browser (such as Microsoft IE or Netscape).
  • IPC generally consists of lens, image sensor, sound sensor, signal processor, A/D converter, encoding chip, main control chip, network and control interface, etc.
  • MPEG2-PS is an encapsulation container for multiplexing digital audio, video, etc.
  • the PS stream is obtained by PS encapsulating the basic code stream output from the encoder; the PS stream is composed of PS packets.
  • PES Packetized elementary stream
  • the basic code stream ES is divided into data packets of different lengths as needed, and each data packet is added with a header to form a grouped basic code stream. These data packets are called PES packets, which are a data structure used to transmit basic code streams.
  • PSM Program stream map
  • GOP Group of pictures
  • a GOP consists of a key frame and several target frames.
  • the target frame needs to rely on the information of the key frame to be predicted.
  • the type of the target frame is not limited and can be B frame, P frame, etc.
  • the key frame may be an I frame (i.e., intra-coded frame) and the target frame may be a P frame (i.e., forward predicted frame).
  • I frame i.e., intra-coded frame
  • P frame i.e., forward predicted frame
  • I frames and P frames are used to represent transmitted video images.
  • the encoder encodes multiple images and generates corresponding code stream data.
  • the code stream data can be divided into GOPs based on key frames (I frames). For example, an I frame and P frames between the I frame and the next I frame are regarded as one GOP.
  • the size of the GOP can be set according to the keyframe interval, where when the keyframe interval is set to be shorter, the size of the GOP is smaller, and when the keyframe interval is set to be longer, the size of the GOP is bigger. For example, if the key frame is an I frame and the interval between key frames is 50 frames, then a GOP includes 1 I frame and 50 P frames. When another I frame is inserted into the GOP, the new GOP generated may include one I frame and 30 P frames.
  • Video frame A video consists of more than one independent picture and presents a continuous dynamic visual effect. Each picture can also be called a "video frame". In order to ensure continuity and smoothness, the number of frames per second of the video is fixed, called the frame rate, for example, 25 frames/s, 30 frames/s, 50 frames/s, etc.
  • Timestamp is a time value corresponding to each video frame in the code stream encapsulation.
  • the time value can be represented by a relative value or other methods.
  • a relative time value may represent a time offset relative to a base time (eg, a power-on time point (starting from 0)).
  • the main purpose of using timestamps is to determine the time change between video frames (that is, the frame interval). Therefore, the representation method of the timestamp and the reference time of the timestamp are not limited in this disclosure. Under normal circumstances, the changing trend of timestamps is uniformly increasing.
  • the difference between the timestamps of two adjacent video frames can represent the playback duration of the previous video frame.
  • the timestamp has a maximum value, and when the timestamp reaches the maximum value, it will be accumulated evenly starting from the base time (e.g., 0) again.
  • Absolute time that is, system time, for example, X year X month X day X hour X minute X second, is used to represent the time when each video frame in the video is generated.
  • the absolute time of a video frame is used to represent the actual recording time of the video picture corresponding to the video frame.
  • the video data is usually encoded at the sending end of the video (for example, camera equipment), and the encoded video data is sent to the receiving end of the video (for example, video processing equipment). equipment).
  • the video receiving end After receiving the encoded video data, the video receiving end performs PS encapsulation on the encoded video stream to obtain the PS stream, and stores the PS stream in the hard disk.
  • the time information of I frames and P frames will also be encapsulated in the corresponding PS packets.
  • the time information of the I frame includes the absolute time of the I frame and the timestamp of the I frame; the time information of the P frame includes the timestamp of the P frame.
  • the absolute time corresponding to the currently played back video frame is usually used to update the current playback time on the playback progress bar.
  • the I frame is usually used. The absolute time to update the time on the playback progress bar.
  • an I frame will only appear every fixed time (for example, 2 seconds), and the time on the playback progress bar will only be updated every corresponding fixed time (for example, 2 seconds), and the update frequency is slow. , causing the currently played back video frame to not correspond to the time on the progress bar.
  • this application provides a progress bar time update method.
  • the idea is: during the playback process, first, determine the absolute time of the key frame in the target video sequence, and the time interval between the key frame and the target frame, Furthermore, the absolute time of the target frame is determined based on the absolute time of the key frame and the time interval between the key frame and the target frame; finally, the current playback time of the playback progress bar is updated based on the absolute time of the key frame and the absolute time of the target frame. .
  • the embodiment of the present application simultaneously updates the playback progress bar based on the absolute time of the key frame and the absolute time of the target frame.
  • the current playback time effectively increases the update frequency of the playback progress bar, so that the currently played back video frame corresponds to the current playback time on the progress bar.
  • FIG. 1 shows a schematic diagram of the implementation environment involved in a progress bar time update method provided by an embodiment of the present application.
  • the implementation environment may include: a camera device 10 , a video processing device 20 and a terminal device 30 .
  • the camera device 10 is used to capture video.
  • the camera device 10 may be an analog camera or an IPC.
  • the camera device 10 includes a video encoder 11 for receiving the original video data captured by the camera device 10 and using a specific compression standard (for example, H.264 compression standard) to encode the original video data. Encode the video data to obtain the encoded video stream.
  • a specific compression standard for example, H.264 compression standard
  • the encoded video stream may include one or more video sequences (ie, GOP).
  • Each video sequence includes a key frame and at least one target frame.
  • the I frame is the first video frame of the video sequence, including the complete video picture, and can be encoded independently; at least one target frame is located after the key frame, which is a forward prediction encoding frame, and the target frame only includes Relative to changes in the previous video frame (ie, the previous key frame or target frame closest to the target frame), encoding needs to be completed relying on the previous video frame.
  • the camera device 10 is also used to send the encoded video stream to the video processing device 20 .
  • the video processing device 20 is configured to receive and store the encoded video stream. In some embodiments, the video processing device 20 is also used to decode the encoded video stream to obtain one or more video sequences and play them back.
  • the video processing device 20 may be a digital video recorder (DVR) device or a network hard disk recorder (NVR) device.
  • DVR digital video recorder
  • NVR network hard disk recorder
  • the video processing device 20 after receiving the encoded video stream, performs PS encapsulation on the encoded video stream to obtain the PS stream, and stores the PS stream in a storage area (for example, a local hard disk or a other devices with which video processing device 20 can communicate).
  • a storage area for example, a local hard disk or a other devices with which video processing device 20 can communicate.
  • the video processing device 20 determines the time information corresponding to each video frame (including key frames and target frames) in the encoded video stream, and encapsulates the time information corresponding to each video frame in the corresponding PS. in the bag.
  • the time information corresponding to the I frame includes the absolute time of the I frame and the timestamp of the I frame
  • the time information corresponding to the P frame includes the timestamp of the P frame.
  • the PS stream consists of multiple PS GOPs; a PS GOP consists of one or more PS packets, and each PS packet corresponds to the information of one or more video frames in the corresponding GOP.
  • a PS GOP consists of one or more PS packets
  • each PS packet corresponds to the information of one or more video frames in the corresponding GOP.
  • the structure of the PS packet is shown in Figure 4, where the structure of the first PS packet in the PS GOP (that is, the PS packet corresponding to the I frame) can be as shown in (a) of Figure 4, The structure of other PS packets in the PS GOP (that is, the PS packet corresponding to the P frame) can be shown in (b) of Figure 4.
  • PSH is the header of the PS packet, which mainly includes the timestamp of the video frame corresponding to the PS packet.
  • PES is the basic stream of the encoded video stream, that is, the encoded video stream is grouped to obtain one or more PES.
  • the video processing device 20 after receiving the playback instruction, is also configured to obtain the PS stream corresponding to the playback instruction from the storage area, and decode the PS stream to obtain a decoded video stream.
  • the above playback instruction may be issued by the terminal device 30 .
  • the video processing device 20 includes a video decoder 21 for decoding the PS stream using a specific compression standard (for example, H.264 compression standard) to obtain a decoded video stream.
  • a specific compression standard for example, H.264 compression standard
  • the decoded video stream includes one or more video sequences, each video sequence consisting of a key frame and at least one target frame.
  • the time information of the key frame and the time information of the target frame in the video sequence can be parsed, as well as the frame number of the key frame and the frame number of the target frame.
  • the frame number refers to the sequence number of each video frame.
  • the frame number of the key frame refers to the sequence number of the key frame, for example, F0 or 1
  • the frame number of the target frame refers to the sequence number of the target frame, for example, F1 or 2.
  • the video processing device 20 is also used to send the decoded video stream to the terminal device 30 .
  • the terminal device 30 is used to play the decoded video stream.
  • the terminal device 30 includes a display screen, the playback interface of the display screen includes a first area and a second area, and the first area is smaller than the second area; wherein, the first area is used for The video pictures (video frames) of the decoded video stream are displayed, and the second area includes a playback progress bar.
  • the playback progress bar is used to reflect the time information corresponding to the video pictures (video frames) displayed in the first area.
  • the terminal device 30 is also configured to obtain the time information of each video frame in the video sequence, and update the current playback time of the playback progress bar according to the time information of each video frame.
  • the terminal device 30 may be an electronic device with a playback function, such as a mobile phone, a tablet computer, a desktop, a laptop, a handheld computer, a notebook computer, or an ultra-mobile personal computer (UMPC). , netbooks, as well as cellular phones, personal digital assistants (PDAs), augmented reality (AR)/virtual reality (VR) devices, etc.
  • PDAs personal digital assistants
  • AR augmented reality
  • VR virtual reality
  • the video processing device 20 and the terminal device 30 in FIG. 1 may be two separate devices, or the video processing device 20 and the terminal device 30 may be the same device, that is, the video processing device 20 or the corresponding function and the terminal. Device 30 or corresponding functions can be integrated on the same device.
  • the camera device 10 and the video processing device 20 can communicate, and the video processing device 20 and the terminal device 30 can communicate.
  • the video processing device 20 can receive an encoded video stream from the camera device 10, and the terminal device 30 can The decoded video stream is received from video processing device 20.
  • one or more communication media may be included between the camera device 10 and the video processing device 20 and between the video processing device 20 and the terminal device 30 , and the one or more communication media may include a router, a switch or a base station. and other equipment.
  • the video processing device 20 receives the encoded video stream sent by the camera device 10 , performs PS encapsulation on the encoded video stream to obtain the PS stream, and stores the PS stream in the storage area.
  • the user can send a playback instruction to the video processing device 20 through the terminal device 30; when the video processing device 20 receives the playback instruction, the PS corresponding to the video recording to be played back is obtained from the storage area.
  • the video processing device 20 sends the decoded video stream to the terminal device 30; the terminal device 30 displays the decoded video stream, and based on the decoded video
  • the time corresponding to the stream updates the current playback time on the playback progress bar.
  • the progress bar time updating method provided by the embodiment of the present application can be executed by the video processing device shown in Figure 1. As shown in Figure 7, the method includes the following steps:
  • the target video sequence includes key frames and at least one target frame associated with the key frames.
  • a keyframe is the first frame in the target video sequence, and at least one target frame follows the keyframe. Both key frames and target frames are used to represent video frames.
  • the target video sequence is any video sequence in the recorded videos to be played back.
  • the recorded video to be played back includes three video sequences, namely video sequence A, video sequence B, and video sequence C
  • the video processing device obtains video sequence A, video sequence A, and video sequence C by decoding the PS stream corresponding to the recorded video. Sequence B and video sequence C.
  • the video processing device performs PS encapsulation on the encoded video stream to generate a PS stream and store it in the storage area. Furthermore, during the playback process, it is necessary to obtain the PS stream of the recorded video to be played back from the hard disk, and decode the PS stream into the form of one or more video sequences.
  • the absolute time of the target frame is the actual shooting time of the video picture corresponding to the target frame.
  • the absolute time of the target frame is determined based on the sum of the absolute time of the key frame and the time interval between the key frame and the target frame. For example, if the absolute time of the key frame is G0 and the time interval between the key frame and the target frame is T1-T0, then the absolute time of the target frame satisfies: G0+(T1-T0). As another example, if the absolute time of the key frame is G0 and the time interval between the key frame and the target frame is (F1-F0)*D, then the absolute time of the target frame satisfies: G0+(F1-F0)*D .
  • the key frame may be an I frame; and/or the target frame may be an auxiliary frame.
  • the playback progress bar is used to display the length information of the video recording file where the target video sequence is located, and the time information corresponding to the currently played back video frame.
  • the video processing device sends the video image corresponding to the key frame to the terminal device, so that the video image corresponding to the key frame is played on the display screen of the terminal device.
  • the video processing device uses the absolute time of the key frame to update the playback progress.
  • the current playback time of the bar The video processing device sends the video image corresponding to the target frame to the terminal device, so that the video image corresponding to the target frame is played on the display screen of the terminal device.
  • the video processing device uses the absolute time of the target frame to update the current playback time of the playback progress bar.
  • determining the current playback time displayed on the playback progress bar includes: determining the current playback time displayed on the playback progress bar based on the minimum time unit of the playback progress bar.
  • the current playback time of the playback progress bar is updated to seconds based on the absolute time of the key frame and the absolute time of the target frame. For example, if the absolute time of the target frame is 12:01 minutes and 200 milliseconds, the current playback time of the updated playback progress bar is 12:01 minutes.
  • the current playback time of the playback progress bar is updated to milliseconds based on the absolute time of the key frame and the absolute time of the target frame. In this way, the frequency of time update of the progress bar can be increased and the time on the progress bar can be made more accurate. For example, if the absolute time of the target frame is 12:01 minutes and 200 milliseconds, the current playback time of the updated playback progress bar is 12:01 minutes and 200 milliseconds.
  • the technical solution provided by the embodiment of the present application first determines the absolute time of the key frame in the target video sequence and the time interval between the key frame and the target frame, and then, based on the absolute time of the key frame and the key frame The time interval between the key frame and the target frame determines the absolute time of the target frame; finally, the current playback time of the playback progress bar is updated based on the absolute time of the key frame and the absolute time of the target frame.
  • the embodiment of the present application simultaneously updates the playback progress bar based on the absolute time of the key frame and the absolute time of the target frame.
  • the current playback time effectively increases the update frequency of the playback progress bar, so that the currently played back video frame corresponds to the current playback time on the progress bar.
  • the progress bar time updating method provided by the embodiment of the present application can be executed by the video processing device shown in Figure 1. As shown in Figure 8, the method includes the following steps:
  • the target video sequence includes key frames and at least one target frame associated with the key frames.
  • a keyframe is the first frame in the target video sequence, and at least one target frame follows the keyframe. Both key frames and target frames are used to represent video frames.
  • the target video sequence is any video sequence in the recorded videos to be played back.
  • the recorded video to be played back includes three video sequences, namely video sequence A, video sequence B, and video sequence C
  • the video processing device obtains video sequence A, video sequence A, and video sequence C by decoding the PS stream corresponding to the recorded video. Sequence B and video sequence C.
  • the video processing device performs PS encapsulation on the encoded video stream to generate a PS stream and store it in the storage area. Furthermore, during the playback process, it is necessary to obtain the PS stream of the recorded video to be played back from the hard disk, and decode the PS stream into the form of one or more video sequences.
  • S202 Determine the absolute time of the key frame and the time interval between the key frame and the target frame.
  • the absolute time of the key frame is the actual recording time of the video picture corresponding to the key frame. For example, if the video picture corresponding to the key frame was shot at 12:00:0 on May 17, 2022, then the absolute time of the key frame is 12:0:0 on May 17, 2022.
  • the target frame is any one of the at least one target frame.
  • the time interval between the key frame and the target frame refers to the time difference between the key frame and the target frame.
  • the embodiment of the present application provides the following two methods for determining the time interval between the key frame and the target frame.
  • Method 1 Determine the time interval between the key frame and the target frame based on the timestamp
  • Step 1 Get the timestamp of the key frame and the timestamp of the target frame.
  • the timestamp of the key frame is used to represent the time offset of the key frame compared to the base time; the timestamp of the target frame is used to represent the time offset of the target frame compared to the base time.
  • the reference time is fixed (the reference time can be the power-on time point (for example, 0), or it can be an arbitrarily set time point (for example, 5ms, 10ms, 20ms, etc.).
  • the embodiment of the present application does not change the reference time.
  • the value of time is not specifically limited), therefore, the time offset relative to the reference time can uniquely characterize the actual recording time of the video frame, that is, the timestamp of each video frame can uniquely characterize the actual recording time of the video frame. Recording time.
  • the timestamp of the key frame is 40ms
  • the first The timestamp of the target frame is 80ms
  • the timestamp of the second target frame is 120ms, which are accumulated evenly until the timestamp reaches the maximum value.
  • the video processing device obtains the timestamp of the key frame by parsing the PS packet corresponding to the key frame; the video processing device obtains the timestamp of the target frame by parsing the PS packet corresponding to the target frame.
  • Step 2 Determine the time interval between the key frame and the target frame based on the timestamp of the key frame and the timestamp of the target frame.
  • the time interval between the key frame and the target frame is determined based on the difference between the timestamp of the target frame and the timestamp of the key frame. For example, if the timestamp of the target frame is T1 and the timestamp of the key frame is T0, then the time interval between the key frame and the target frame satisfies: T1-T0.
  • the timestamp of the key frame is 40ms
  • the timestamp of the target frame is 120ms.
  • the above step 2 can be implemented as: when the timestamp of the target frame is greater than the timestamp of the key frame, determine the distance between the key frame and the target frame based on the timestamp of the key frame and the timestamp of the target frame. time interval.
  • the timestamp of the target frame should be greater than the timestamp of the key frame.
  • the timestamp has a maximum value. When the timestamp reaches the maximum value, it will continue to accumulate from 0. At this time, there may be a situation where the timestamp of the target frame is smaller than the timestamp of the key frame (that is, when the time stamp occurs Stamp overflow), in which case errors may occur when determining the time interval between the keyframe and the target frame based on the timestamp of the keyframe and the timestamp of the target frame.
  • the timestamp of the key frame is 160ms
  • the timestamp of the target frame is 40ms
  • the timestamp of the target frame is smaller than the timestamp of the key frame
  • the method provided in the first mode is preferably applicable to the situation where the timestamp of the target frame is greater than the timestamp of the key frame.
  • Method 2 Determine the time interval between the key frame and the target frame based on the frame number
  • Step 1 Obtain the frame number of the key frame, the frame number of the target frame and the frame interval of the target video sequence.
  • the frame interval of the target video sequence is used to represent the time interval between two adjacent video frames in the target video sequence.
  • the video processing device obtains the frame number of the key frame by parsing the PS packet corresponding to the key frame; the video processing device obtains the frame number of the target frame by parsing the PS packet corresponding to the target frame.
  • Step 2 Determine the time interval between the key frame and the target frame based on the frame number of the key frame, the frame number of the target frame, and the frame interval of the target video sequence.
  • the time interval between the key frame and the target frame is determined based on the product of the frame number difference between the frame number of the target frame and the frame number of the key frame and the frame interval of the target video sequence. For example, if the frame number of the target frame is F1, the frame number of the key frame is F0, and the frame interval of the target video sequence is D, then the time interval between the key frame and the target frame satisfies: (F1-F0)*D .
  • the frame time interval of the column is used to determine the time interval between the key frame and the target frame. Timestamp overflow will not occur and the time interval between the key frame and the target frame can be accurately determined.
  • the absolute time of the target frame is the actual shooting time of the video picture corresponding to the target frame.
  • the absolute time of the target frame is determined based on the sum of the absolute time of the key frame and the time interval between the key frame and the target frame. For example, if the absolute time of the key frame is G0 and the time interval between the key frame and the target frame is T1-T0, then the absolute time of the target frame satisfies: G0+(T1-T0). As another example, if the absolute time of the key frame is G0 and the time interval between the key frame and the target frame is (F1-F0)*D, then the absolute time of the target frame satisfies: G0+(F1-F0)*D .
  • the playback progress bar is used to display the length information of the video recording file where the target video sequence is located, and the time information corresponding to the currently played back video frame.
  • the video processing device sends the video image corresponding to the key frame to the terminal device, so that the video image corresponding to the key frame is played on the display screen of the terminal device.
  • the video processing device uses the absolute time of the key frame to update the playback progress.
  • the current playback time of the bar The video processing device sends the video image corresponding to the target frame to the terminal device, so that the video image corresponding to the target frame is played on the display screen of the terminal device.
  • the video processing device uses the absolute time of the target frame to update the current playback time of the playback progress bar.
  • the current playback time of the playback progress bar is updated to seconds based on the absolute time of the key frame and the absolute time of the target frame. For example, if the absolute time of the target frame is 12:01 minutes and 200 milliseconds, the current playback time of the updated playback progress bar is 12:01 minutes.
  • the current playback time of the playback progress bar is updated to milliseconds based on the absolute time of the key frame and the absolute time of the target frame. In this way, the frequency of time update of the progress bar can be increased and the time on the progress bar can be made more accurate. For example, if the absolute time of the target frame is 12:01 minutes and 200 milliseconds, the current playback time of the updated playback progress bar is 12:01 minutes and 200 milliseconds.
  • the technical solution provided by the embodiment of the present application first determines the absolute time of the key frame in the target video sequence and the time interval between the key frame and the target frame, and then, based on the absolute time of the key frame and the key frame The time interval between the key frame and the target frame determines the absolute time of the target frame; finally, the current playback time of the playback progress bar is updated based on the absolute time of the key frame and the absolute time of the target frame.
  • the embodiment of the present application simultaneously updates the playback progress bar based on the absolute time of the key frame and the absolute time of the target frame.
  • the current playback time effectively increases the update frequency of the playback progress bar, so that the currently played back video frame corresponds to the current playback time on the progress bar.
  • an embodiment of the present application provides a progress bar time updating device for executing the progress bar time updating method shown in Figure 7.
  • the progress bar time updating device 300 includes: an acquisition module 301, a first determination module 302 and a second determination module 303.
  • the acquisition module 301 is used to acquire a target video sequence, where the target video sequence includes a key frame and at least one target frame associated with the key frame, and the time information corresponding to the key frame includes the absolute time of the key frame and the timing of the key frame. Timestamp, the time information corresponding to the target frame includes the timestamp of the target frame.
  • the first determination module 302 is configured to determine the absolute time of the target frame based on the absolute time of the key frame and the time interval between the key frame and the target frame, where the absolute time is the actual recording time of the video picture corresponding to the video frame.
  • the second determination module 303 is configured to use the absolute time of the key frame and the absolute time of the target frame to determine the current playback time displayed on the playback progress bar when the target video sequence is played back.
  • the acquisition module 301 is also used to obtain the timestamp of the key frame and the timestamp of the target frame, where the timestamp is used to represent the time of the video frame relative to the reference time. Offset; the first determination module 302 is further configured to determine the time interval between the key frame and the target frame based on the timestamp of the key frame and the timestamp of the target frame.
  • the first determination module 302 is specifically configured to subtract the time stamp based on the target frame when the timestamp of the target frame is greater than the timestamp of the key frame.
  • the time interval is determined by obtaining the difference between the timestamps of the key frames.
  • the obtaining module 301 is also used to obtain the frame number of the key frame, the frame number of the target frame and the frame interval of the target video sequence, wherein the frame interval Used to represent the time interval between two adjacent video frames in the target video sequence; the first determination module 302 is specifically used to obtain the result by subtracting the frame number of the key frame from the frame number of the target frame.
  • the frame number difference is determined based on the product of the frame number difference and the frame interval of the target video sequence to determine the time interval between the key frame and the target frame.
  • the key frame is an I frame; and/or the target frame is an auxiliary frame.
  • the second determination module 303 is specifically configured to determine the current playback time displayed on the playback progress bar according to the minimum time unit of the playback progress bar.
  • Embodiments of the present application also provide a video processing device, which is configured to obtain a program flow specified by the playback instruction in response to receiving a playback instruction, wherein the program flow is obtained by processing the original video captured.
  • the encoded video stream of the data is obtained by encapsulating the program stream; the program stream is decoded to obtain a decoded video stream, wherein the decoded video stream includes one or more video sequences, and each video sequence includes a key frame and the At least one target frame associated with the key frame; for any target video sequence of the one or more video sequences, based on the absolute time of the key frame and the time interval between the key frame and the target frame , to determine the absolute time of the target frame, where the absolute time is the actual recording time of the video picture corresponding to the video frame; using the absolute time of the key frame and the absolute time of the target frame time to determine the current playback time displayed on the playback progress bar when the decoded video stream is played back.
  • the video processing device is specifically configured to: obtain the timestamp of the key frame and the timestamp of the target frame, where the timestamp is used to represent the relative time of the video frame to the reference time. time offset; determine the time interval between the key frame and the target frame according to the time stamp of the key frame and the time stamp of the target frame.
  • the video processing device is specifically configured to: when the timestamp of the target frame is greater than the timestamp of the key frame, subtract the timestamp of the target frame from the The difference in timestamps of key frames is obtained to determine the time interval.
  • the video processing device is specifically configured to: obtain the frame number of the key frame, the frame number of the target frame, and the frame interval of the target video sequence, wherein the frame interval Used to represent the time interval between two adjacent video frames in the target video sequence; calculate the frame number difference obtained by subtracting the frame number of the key frame from the frame number of the target frame; according to the frame number difference The product of the frame interval of the target video sequence determines the time interval between the key frame and the target frame.
  • the key frame is an I frame; and/or the target frame is an auxiliary frame.
  • the video processing device is specifically configured to determine the current playback time displayed on the playback progress bar according to the minimum time unit of the playback progress bar.
  • the playback instruction comes from a user terminal that can communicate with the video processing device; the video processing device is also configured to: send the decoded video stream to the sending user terminal to The decoded video stream is played back on the display interface of the user terminal; wherein the current playback time displayed on the playback progress bar on the display interface corresponds to the video frame currently being played back.
  • the functions of the video processing device and the functions of the user terminal are integrated into a single device.
  • the embodiment of the present application provides another possible structural schematic diagram of the progress bar time updating device involved in the above-mentioned embodiment.
  • the progress bar time updating device 400 includes: a processor 402, a communication interface 403, and a bus 404.
  • the progress bar time updating device may also include a memory 401.
  • Processor 402 may implement or execute various exemplary logical blocks, modules and circuits described in connection with the disclosure of this application.
  • the processor 402 may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute the various illustrative logical blocks, modules, and circuits described in connection with this disclosure.
  • the processor 402 may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
  • Communication interface 403 is used to connect with other devices through a communication network.
  • the communication network can be Ethernet, wireless access network, wireless local area networks (WLAN), etc.
  • Memory 401 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (random access memory, RAM) or other types that can store information and instructions.
  • ROM read-only memory
  • RAM random access memory
  • a type of dynamic storage device which can also be an electrically erasable programmable read-only memory (EEPROM), a disk storage medium or other magnetic storage device, or can be used to carry or store instructions or data structures Without limitation, any other medium in the form of the desired program code and capable of being accessed by a computer.
  • EEPROM electrically erasable programmable read-only memory
  • the memory 401 may exist independently of the processor 402.
  • the memory 401 may be connected to the processor 402 through the bus 404 for storing instructions or program codes.
  • the processor 402 calls and executes the instructions or program codes stored in the memory 401, it can implement the progress bar time updating method provided by the embodiment of the present application.
  • the memory 401 can also be integrated with the processor 402 .
  • Bus 404 may be an extended industry standard architecture (EISA) bus, etc.
  • the bus 404 can be divided into an address bus, a data bus, a control bus, etc. For ease of presentation, only one thick line is used in Figure 14, but it does not mean that there is only one bus or one type of bus.
  • An embodiment of the present application also provides a computer-readable storage medium. All or part of the processes in the above method embodiments can be completed by computer instructions to instruct relevant hardware.
  • the program can be stored in the above computer-readable storage medium. When executed, the program can include the processes of the above method embodiments. .
  • Computer-readable storage media may So the memory of any of the aforementioned embodiments.
  • the computer-readable storage medium may also be an external storage device of the progress bar time update device, such as a plug-in hard disk, a smart media card (SMC), or a secure digital device equipped on the progress bar time update device. digital, SD) card, flash card, etc.
  • the computer-readable storage medium may also include both an internal storage unit and an external storage device of the progress bar time updating device.
  • the computer-readable storage medium is used to store the computer program and other programs and data required by the progress bar time updating device.
  • the above-mentioned computer-readable storage media can also be used to temporarily store data that has been output or is to be output.
  • An embodiment of the present application also provides a computer program product.
  • the computer product includes a computer program.
  • the computer program product When the computer program product is run on a computer, it causes the computer to execute any of the progress bar time updating methods provided in the above embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Television Signal Processing For Recording (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

Sont divulgués dans la présente demande un dispositif de traitement vidéo, un procédé de mise à jour d'instant de barre de progression, un appareil, et un support de stockage. Le dispositif de traitement vidéo est utilisé pour : en réponse à la réception d'une instruction de lecture, acquérir un flux de programme assigné par l'instruction de lecture, le flux de programme étant obtenu par réalisation d'un conditionnement en flux de programme sur un flux vidéo codé de données vidéo d'origine d'une prise de vue ; décoder le flux de programme pour obtenir un flux vidéo décodé, le flux vidéo décodé comprenant une ou plusieurs séquences vidéo, et chaque séquence vidéo comprenant une image clé et au moins une image cible associée à l'image clé ; pour toute séquence vidéo cible parmi la ou les séquences vidéo, déterminer l'instant absolu de l'image cible sur la base de l'instant absolu de l'image clé et de l'intervalle de temps entre l'image clé et l'image cible, l'instant absolu étant l'instant d'enregistrement réel de l'image vidéo correspondant à l'image de la vidéo ; et au moyen de l'instant absolu de l'image clé et de l'instant absolu de l'image cible, déterminer l'instant de lecture actuel affiché sur la barre de progression de lecture lorsque le flux vidéo décodé est lu.
PCT/CN2023/104007 2022-06-29 2023-06-29 Dispositif de traitement vidéo, procédé de mise à jour d'instant de barre de progression, appareil, et dispositif électronique WO2024002264A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210753726.7 2022-06-29
CN202210753726.7A CN117376648A (zh) 2022-06-29 2022-06-29 一种进度条时间更新方法、装置及存储介质

Publications (1)

Publication Number Publication Date
WO2024002264A1 true WO2024002264A1 (fr) 2024-01-04

Family

ID=89383315

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/104007 WO2024002264A1 (fr) 2022-06-29 2023-06-29 Dispositif de traitement vidéo, procédé de mise à jour d'instant de barre de progression, appareil, et dispositif électronique

Country Status (2)

Country Link
CN (1) CN117376648A (fr)
WO (1) WO2024002264A1 (fr)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150179224A1 (en) * 2013-12-24 2015-06-25 JBF Interlude 2009 LTD - ISRAEL Methods and systems for seeking to non-key frames
CN104994340A (zh) * 2015-06-25 2015-10-21 广东工业大学 一种音视频存储方式的精确定位回放方法
CN108737908A (zh) * 2018-05-21 2018-11-02 腾讯科技(深圳)有限公司 一种媒体播放方法、装置及存储介质
US20190272088A1 (en) * 2018-03-05 2019-09-05 Qingdao Hisense Media Network Technology Co., Ltd. Playing media
CN110809179A (zh) * 2019-10-30 2020-02-18 烽火通信科技股份有限公司 Hls协议下切换直播时移时间轴的方法及系统
CN112788366A (zh) * 2020-12-28 2021-05-11 杭州海康威视系统技术有限公司 视频处理的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150179224A1 (en) * 2013-12-24 2015-06-25 JBF Interlude 2009 LTD - ISRAEL Methods and systems for seeking to non-key frames
CN104994340A (zh) * 2015-06-25 2015-10-21 广东工业大学 一种音视频存储方式的精确定位回放方法
US20190272088A1 (en) * 2018-03-05 2019-09-05 Qingdao Hisense Media Network Technology Co., Ltd. Playing media
CN108737908A (zh) * 2018-05-21 2018-11-02 腾讯科技(深圳)有限公司 一种媒体播放方法、装置及存储介质
CN110809179A (zh) * 2019-10-30 2020-02-18 烽火通信科技股份有限公司 Hls协议下切换直播时移时间轴的方法及系统
CN112788366A (zh) * 2020-12-28 2021-05-11 杭州海康威视系统技术有限公司 视频处理的方法和装置

Also Published As

Publication number Publication date
CN117376648A (zh) 2024-01-09

Similar Documents

Publication Publication Date Title
CN110784718B (zh) 视频数据编码方法、装置、设备和存储介质
KR101533174B1 (ko) 코딩된 비디오 프레임들의 시퀀스를 처리하는 방법
JP6737922B2 (ja) 送信方法、受信方法、送信装置および受信装置
CN110430445B (zh) 一种视频同步播放方法、装置、设备及介质
WO2019170073A1 (fr) Lecture de contenu multimédia
CN101867796A (zh) 一种视频监控的方法和设备
WO2020207403A1 (fr) Procédé et dispositif d'acquisition d'image
CN109905749B (zh) 视频播放方法和装置、存储介质及电子装置
US6948185B1 (en) Process and device for synchronizing an MPEG decoder
KR20070096920A (ko) 비디오 프레임의 렌더링 지속시간 결정 장치 및 방법
JP2018182677A (ja) 情報処理装置、情報処理方法、プログラム、および記録媒体製造方法
JP3558983B2 (ja) デジタル放送の記録再生装置
WO2024002264A1 (fr) Dispositif de traitement vidéo, procédé de mise à jour d'instant de barre de progression, appareil, et dispositif électronique
EP1473935A1 (fr) Appareil de traitement d'informations et procede associe
CN108810575B (zh) 一种发送目标视频的方法和装置
JP2018182617A (ja) 情報処理装置、情報処理方法、プログラム、および記録媒体製造方法
JP2004537214A (ja) 放送システム、放送装置、同期情報差替装置、同期情報差替方法、プログラム及びそのプログラムを記録した記録媒体
JP7275212B2 (ja) 送信方法、受信方法、送信装置および受信装置
WO2003096691A1 (fr) Dispositif et procede de traitement des signaux, programme et support d'enregistrement
US10306298B2 (en) Image processing apparatus and control method thereof
CN114979736B (zh) 显示设备和音画同步方法
JP3773892B2 (ja) デジタル記録再生装置
JP2001078195A (ja) システムエンコード装置
JP4373379B2 (ja) データ圧縮装置
JPH10276408A (ja) ビデオ情報提供制御方法およびシステム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23830429

Country of ref document: EP

Kind code of ref document: A1