WO2015058617A1 - 视频帧存储管理方法、视频服务器及通信系统 - Google Patents

视频帧存储管理方法、视频服务器及通信系统 Download PDF

Info

Publication number
WO2015058617A1
WO2015058617A1 PCT/CN2014/088252 CN2014088252W WO2015058617A1 WO 2015058617 A1 WO2015058617 A1 WO 2015058617A1 CN 2014088252 W CN2014088252 W CN 2014088252W WO 2015058617 A1 WO2015058617 A1 WO 2015058617A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
video frame
frame
record
index
Prior art date
Application number
PCT/CN2014/088252
Other languages
English (en)
French (fr)
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 WO2015058617A1 publication Critical patent/WO2015058617A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures

Definitions

  • the present invention relates to the field of Internet technologies, and in particular, to a video frame storage management method, a video server, and a communication system.
  • the video channel is a storage resource for storing video data in the video server.
  • the video channel can record information such as a timestamp and a user identifier of the user to which the video channel currently belongs.
  • the video server For video data from a video source (such as live video data), the video server usually needs some storage management.
  • the existing video server uses the traversal manner to index the storage address of the video frame, and the storage address index is relatively inefficient, and sometimes it is difficult to meet the high time requirement.
  • Embodiments of the present invention provide a video frame storage management method, a video server, and a communication system to improve the efficiency of storing a storage address of a video frame.
  • An embodiment of the present invention provides a video frame storage management method, which may include:
  • the video server receives the first video data packet, where the first video data packet belongs to the first video frame;
  • the first video data packet is written to the first storage address included in the first index record The first storage space pointed to.
  • a video server which may include:
  • a receiving unit configured to receive a first video data packet, where the first video data packet belongs to a first video frame
  • a searching unit configured to search whether an index record for identifying a mapping relationship between the first video frame and a storage address is stored
  • a writing unit if the first index record for identifying a mapping relationship between the first video frame and the storage address is found, for writing the first video data packet to the first index record The first storage space pointed to by the first storage address.
  • a further aspect of the embodiments of the present invention provides a communication system, which may include:
  • the user terminal is configured to send a first video data packet to the video server, where the first video data packet belongs to a first video frame;
  • the video server receives the first video data packet, and searches whether an index record for identifying a mapping relationship between the first video frame and the storage address is stored; if the first video frame and the storage address are found to be identified a first index record of the mapping relationship, the first video data packet is written to the first storage space pointed by the first storage address included in the first index record.
  • the video server after receiving the first video data packet, the video server searches whether an index record for identifying a mapping relationship between the first video frame and the storage address is stored, where the first video data The packet belongs to the first video frame; if the first index record for identifying the mapping relationship between the first video frame and the storage address is found, the first video data packet is written to the first storage address included in the first index record The first storage space pointed to.
  • an index record for identifying a mapping relationship between a video frame and a storage address is first searched, and then a video data packet is written based on a video frame storage address in the index record, and the index video frame is
  • the technique of storing addresses is advantageous for improving the indexing efficiency of video frame storage addresses. As the index efficiency is improved, the memory utilization and response rate of the stored video frames are improved.
  • FIG. 1 is a schematic flowchart of a video channel management method according to an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of another video channel management method according to an embodiment of the present invention.
  • FIG. 3 is a schematic structural diagram of a video server according to an embodiment of the present disclosure.
  • FIG. 3 is a schematic structural diagram of another video server according to an embodiment of the present disclosure.
  • FIG. 4 is a schematic structural diagram of another video server according to an embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of a communication system according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a user terminal according to an embodiment of the present invention.
  • Embodiments of the present invention provide a video frame storage management method, a server, and a communication system to improve the efficiency of storing a storage address of a video frame.
  • An embodiment of the present invention provides a video frame storage management method.
  • the video frame storage management method may include: a video server receiving a first video data packet; and searching whether a mapping relationship between the first video frame and the storage address is stored.
  • An index record wherein the first video data packet belongs to the first video frame; if the index storage area is found to have a first index record for identifying a mapping relationship between the first video frame and the storage address, the first video data packet is Write to the first storage space pointed to by the first storage address included in the first index record. .
  • FIG. 1 is a schematic flowchart of a video frame storage management method according to an embodiment of the present invention.
  • a video frame storage management method provided by an embodiment of the present invention may include steps 101 to 103.
  • the video server receives the first video data packet, the first video data packet belonging to the first video frame (the first video frame may include a plurality of video data packets).
  • the first user terminal may send a video data packet to the video server (refer to the first for convenience of reference).
  • Video data packet the video server can receive the first video data packet from the first user terminal.
  • the first user terminal that sends the first video data packet belongs to a certain user (which may be referred to as a first user).
  • the user terminal referred to in various embodiments of the present invention may be a personal computer, a mobile phone, a personal digital processing device, or another type of user terminal.
  • the first video data packet may be a live video data packet, and may of course be other types of video data packets.
  • step 102 the video server looks up whether an index record for identifying a mapping relationship between the first video frame and the storage address is stored.
  • the storage area may be divided into two parts, one part is an index storage area, and one part is a video data storage area.
  • an index record for identifying a mapping relationship between a video frame and a storage address may be stored in an index storage area, and a video data packet may be stored in a video storage area.
  • searching for an index record for identifying a mapping relationship between the first video frame and the storage address in the index storage area may include: searching for the storage in the index storage area based on the hash algorithm. There is an index record for identifying the mapping relationship between the first video frame and the storage address.
  • the input of the hash algorithm is the frame number of the first video frame or other digital string converted based on the frame number of the first video frame.
  • index efficiency As the index efficiency is improved, the memory utilization and response rate of the stored video frames are improved.
  • step 103 if the video server finds that the first video frame and the storage location are stored, The first index record of the mapping relationship between the addresses, the first video data packet is written to the first storage space pointed by the first storage address included in the first index record.
  • the storage area may be divided into an index storage area and a video data storage area.
  • the video server may have allocated a storage space in the video data storage area for the first video frame before the first video data is received, or may not allocate storage space for the first video frame (the video server may not be previously The first video frame allocates storage space, or the video server may also allocate the storage space previously allocated to the first video frame to another video frame, or the video server may also allocate the storage space previously allocated to the first video frame. Cleared).
  • the video server does not find the first index record for identifying the mapping relationship between the first video frame and the storage address in the index storage area, it indicates that the video server may not have allocated storage space for the first video frame at present.
  • the second video frame may be allocated a second in the video data storage area. Storing a space, and writing the first video data packet to the second storage space; generating a second index record for identifying a mapping relationship between the first video frame and the second storage address, wherein the second storage address points to the second storage Space; the third storage address may be calculated based on the hash algorithm, and the third storage address is stored to the third storage space of the index storage area.
  • the input of the hash algorithm is a frame sequence number of the first video frame or a digital string converted based on the frame number of the first video frame.
  • the third storage address is calculated based on the hash algorithm, and the index address allocation manner is beneficial to improve the indexing efficiency of the video frame storage address. As the index efficiency is improved, the memory utilization and response rate of the stored video frames are improved.
  • the video server may further generate a first timeout determination record corresponding to the first video frame, and write the first timeout determination record to the timeout management queue (where the timeout management queue may be, for example, a first in first out queue)
  • the first timeout determination record includes a frame number of the first video frame and a first timestamp, wherein the time indicated by the first timestamp is a time when the server receives the first video data packet.
  • the video server may further read the first timeout determination record from the timeout management queue when the first preset condition is satisfied, and determine the first time included in the record based on the first timeout determination record. The interstitial judges whether the first video frame has timed out. If it is determined that the first video frame has timed out, all video data packets of the first video frame are transmitted.
  • the video frame that has timed out may refer to a time lag represented by the timestamp in the timeout determination record corresponding to the video frame, and the current time exceeds the first duration threshold, where the first duration threshold may be, for example, one second. Clock, two seconds, three seconds or other lengths set according to actual needs.
  • the first index record may further include a receiving indication bit, where the receiving indication bit is used to indicate that the video data packet belonging to the first video frame that the server has not received currently is not yet received. number.
  • the video server may further update the foregoing in the first index record.
  • the value of the packet indicator bit if the video server finds that the index storage area stores the first index record for identifying the mapping relationship between the first video frame and the storage address, the video server may further update the foregoing in the first index record. The value of the packet indicator bit.
  • the video server may further determine, according to the value of the receiving indication bit in the first index record, whether all video data packets belonging to the first video frame have been received, when the second preset condition is met. If so, all video frame data packets of the first video frame are transmitted.
  • the video server may further determine, according to the value of the receiving indication bit in the first index record, whether all video data packets belonging to the first video frame have been received, when the second preset condition is satisfied. If yes, the first timeout determination record is read from the timeout management queue, and the first timestamp included in the first timeout determination record is used to determine whether the first video frame has timed out. Then all video data packets of the first video frame are sent.
  • the video server may further update the frame transmission flag bit in the first index record after transmitting all the video data packets of the first video frame.
  • the value of the frame transmission flag in the first index record after updating the value indicates that all video data packets of the first video frame have been transmitted.
  • the video server after receiving the first video data packet, the video server searches whether an index record for identifying a mapping relationship between the first video frame and the storage address is stored, where the first video data is stored.
  • the packet belongs to the first video frame; if the first index record for identifying the mapping relationship between the first video frame and the storage address is found, the first video data packet is written to the first storage address included in the first index record The first storage space pointed to.
  • an index record for identifying a mapping relationship between a video frame and a storage address is first searched, and then the video in the index record is used.
  • the frame storage address is used to write a video data packet, and the technique of storing the address of the index video frame is advantageous for improving the indexing efficiency of the video frame storage address. As the index efficiency is improved, the memory utilization and response rate of the stored video frames are improved.
  • FIG. 2 is a schematic flowchart diagram of another video frame storage management method according to an embodiment of the present invention.
  • a video frame storage management method provided by an embodiment of the present invention may include steps 201 to 211.
  • step 201 the video server receives the first video data packet sent by the first user terminal, and the first data packet belongs to the first video frame.
  • the first user terminal may send a video data packet to the video server (refer to the first for convenience of reference).
  • Video data packet the video server can receive the first video data packet from the first user terminal.
  • the first user terminal that sends the first video data packet belongs to a certain user (which may be referred to as a first user).
  • the user terminal referred to in various embodiments of the present invention may be a personal computer, a mobile phone, a personal digital processing device, or another type of user terminal.
  • the first video data packet may be a live video data packet, and may of course be other types of video data packets.
  • step 202 the video server searches whether an index record for identifying a mapping relationship between the first video frame and the storage address is stored in the index storage area, and the video server stores, in the search index storage area, the first video frame for identifying the first video frame. If the index record of the mapping relationship between the storage address and the storage address is performed, the video server performs step 205 if the index server does not store the index record for identifying the mapping relationship between the first video frame and the storage address.
  • the video server finds that the index storage area does not store the index record for identifying the mapping relationship between the first video frame and the storage address, it indicates that the video server may not allocate storage space for the first video frame. If the video server finds that the index storage area stores the first index record for identifying the mapping relationship between the first video frame and the storage address, it indicates that the video server has previously allocated storage space for the first video frame.
  • whether the index record for identifying the mapping relationship between the first video frame and the storage address is stored in the search index storage area may include: searching the index storage area based on a hash algorithm (or other algorithm) Whether an index record for identifying a mapping relationship between the first video frame and the storage address is stored therein.
  • the input of the hash algorithm is the frame number of the first video frame or other digital string converted based on the frame number of the first video frame.
  • index efficiency As the index efficiency is improved, the memory utilization and response rate of the stored video frames are improved.
  • step 203 the first video data packet is stored to the first storage space pointed by the first storage address included in the first index record, wherein the first storage space belongs to the video data storage area.
  • step 204 the video server updates the value of the packet indication bit in the first index record.
  • the foregoing receiving indication bit is used to indicate the number of video data packets belonging to the first video frame that have not been received yet.
  • the video server allocates a second storage space in the video data storage area for the first video frame to which the first video data packet belongs, and writes the first video data packet into the second storage space; a second index record of a mapping relationship between the video frame and the second storage address, wherein the second storage address points to the second storage space; the third storage address may be calculated based on the hash algorithm, and the third storage address is stored to the index The third storage space of the storage area.
  • the input of the hash algorithm is a frame sequence number of the first video frame or a digital string converted based on the frame number of the first video frame.
  • the third storage address is calculated based on the hash algorithm, and the index address allocation manner is beneficial to improve the indexing efficiency of the video frame storage address. As the index efficiency is improved, the memory utilization and response rate of the stored video frames are improved.
  • the video server In step 206, the video server generates a first timeout determination record corresponding to the first video frame, and writes the first timeout determination record to the end of the timeout management queue (where the timeout management queue is, for example, a first in first out queue),
  • a timeout determination record includes a frame number of the first video frame and a first timestamp, and the time indicated by the first timestamp is a time when the server receives the first video data packet.
  • the time indicated by the timestamp included in the timeout determination record corresponding to a video frame is the time when the video data packet of the video frame is received for the first time.
  • step 207 the video server determines whether all video data packets of the first video frame are received according to the first index record or the second index record. If yes, go to step 208; if no, go to step 210. .
  • step 208 the video server determines whether the first video frame has been sent according to the frame transmission flag included in the first index record or the second index record; if yes, step 210 is performed; if not, step 209 is performed.
  • step 209 the video server sends all the video frame data packets of the first video frame, and updates the value of the frame transmission flag bit in the first index record, and updates the frame transmission flag bit in the first index record after the value is updated. All video frame data packets indicating the first video frame have been sent, and step 210 is performed.
  • step 210 the video server determines whether the video frame corresponding to the timeout determination record of the head of the timeout management queue has timed out; if yes, step 211 is performed; if not, returning to step 201.
  • the video frame that has timed out may refer to a time lag represented by a timestamp in the timeout determination record corresponding to the video frame, and the current time exceeds a first duration threshold, where the first duration threshold may be, for example, one. Second, two seconds, three seconds or other lengths set according to actual needs.
  • step 211 the video server sends all video data packets of the video frame corresponding to the timeout determination record of the head of the timeout management queue, and updates the frame in the index record corresponding to the video frame corresponding to the timeout determination record of the head of the timeout management queue. Sending the value of the flag bit, updating the value of the frame transmission flag bit in the index record indicating that all video frame data packets of the video frame have been sent; deleting the timeout determination record of the head of the timeout management queue, returning to step 210 .
  • the video server after receiving the first video data packet from the first user terminal, the video server searches for whether the first video frame and the storage are stored in the index storage area based on the hash algorithm.
  • the first video data packet is stored to a first storage space pointed to by the first storage address included in the first index record, and the first storage space belongs to the video data storage area.
  • the video server specifically opens up the index storage area to store the record for identifying the mapping relationship between the video frame and the storage address, firstly searching for the video frame and storing in the index storage area based on the hash algorithm.
  • the index record of the mapping relationship between the addresses is stored, and then the video data packet is written based on the video frame storage address in the index record.
  • the technique of storing the address of the index video frame is advantageous for improving the indexing efficiency of the video frame storage address. As the index efficiency is improved, the memory utilization and response rate of the stored video frames are improved.
  • an embodiment of the present invention provides a video server 300, which may include:
  • the receiving unit 310 The receiving unit 310, the query unit 320, and the writing unit 330.
  • the receiving unit 310 is configured to receive a first video data packet, where the first video data packet belongs to the first video frame.
  • the first user terminal may send a video data packet to the video server (refer to the first for convenience of reference).
  • Video data packet the video server can receive the first video data packet from the first user terminal.
  • the first user terminal that sends the first video data packet belongs to a certain user (which may be referred to as a first user).
  • the user terminal referred to in various embodiments of the present invention may be a personal computer, a mobile phone, a personal digital processing device, or another type of user terminal.
  • the first video data packet may be a live video data packet, and may of course be other types of video data packets.
  • the searching unit 320 is configured to search whether an index record for identifying a mapping relationship between the first video frame and the storage address is stored.
  • the writing unit 330 is configured to: when the first index record is used to identify a mapping relationship between the first video frame and the storage address, to write the first video data packet to the first index record The first storage space pointed to by the included first storage address. .
  • the storage area may be divided into two parts, one part is an index storage area, and one part is a video data storage area.
  • an index record for identifying a mapping relationship between a video frame and a storage address may be stored in the The index storage area stores video packets in the video storage area.
  • the searching unit 320 may search, according to the hash algorithm, whether an index record for identifying a mapping relationship between the first video frame and the storage address is stored in the index storage area.
  • an index record identifying a mapping relationship between the first video frame and the storage address, wherein the first video frame is allocated a second storage space in the video data storage area, and the first video data packet is written into the second a storage space; generating a second index record for identifying a mapping relationship between the first video frame and the second storage address, the second storage address is directed to the second storage space; and calculating a third based on a hash algorithm The address is stored, and the third storage address is stored to the third storage space of the index storage area.
  • the video server 300 may further include:
  • the timeout management unit 340 is configured to generate a first timeout determination record corresponding to the first video frame, and write the first timeout determination record into the timeout management queue, where the first timeout determination record includes the first video frame a frame sequence number and a first timestamp, wherein the time indicated by the first timestamp is a time when the server receives the first video data packet.
  • the video server 300 may further include:
  • a first sending unit configured to: when the first preset condition is met, read the first timeout determination record from the timeout management queue, and determine, according to the first timestamp included in the first timeout determination record Whether the first video frame has timed out, and if it is determined that the first video frame has timed out, all video data packets of the first video frame are sent.
  • the first index record further includes a receiving indication bit, where the receiving indication bit is used to indicate that the server currently has not received the video data packet belonging to the first video frame. The number.
  • the video server 300 may further include:
  • a record maintenance unit configured to update the receiving indication in the first index record if it is found that the index storage area stores a first index record for identifying a mapping relationship between the first video frame and the storage address The value of the bit.
  • the video server 300 may further include: a second sending unit, determining, according to the value of the receiving indication bit in the first index record, whether the attribution has been received when the second preset condition is satisfied All video data packets of the first video frame, if so, all video data packets of the first video frame.
  • the video server 300 may further include:
  • the third sending unit determines, according to the value of the receiving indication bit in the first index record, whether all video data packets belonging to the first video frame have been received, if the second preset condition is satisfied, if If yes, the first timeout determination record is read from the timeout management queue, and the first timestamp included in the first timeout determination record is used to determine whether the first video frame has timed out. When the first video frame has timed out, all video data packets of the first video frame are sent.
  • the first index record further includes a frame sending flag bit
  • the record maintenance unit may be further configured to: after transmitting all the video frame data packets of the first video frame, update the value of the frame transmission flag bit in the first index record, where the first index after the value is updated
  • the frame transmission flag bit in the record indicates that all video data packets of the first video frame have been transmitted.
  • the video server 300 after receiving the first video data packet, the video server 300 searches whether an index record for identifying a mapping relationship between the first video frame and the storage address is stored, where the first video The data packet belongs to the first video frame; if the first index record for identifying the mapping relationship between the first video frame and the storage address is found, the first video data packet is written to the first storage included in the first index record The first storage space pointed to by the address.
  • an index record for identifying a mapping relationship between a video frame and a storage address is first searched, and then a video data packet is written based on a video frame storage address in the index record, and the index video frame is
  • the technique of storing addresses is advantageous for improving the indexing efficiency of video frame storage addresses. As the index efficiency is improved, the memory utilization and response rate of the stored video frames are improved.
  • FIG. 4 is a structural block diagram of a video server 400 according to another embodiment of the present invention.
  • the video server 400 may include, for example, at least one processor 401, at least one network interface 404 or other user interface 403, a memory 405, and at least one communication bus 402. Communication bus 402 is used to implement connection communication between these components.
  • the video server 400 optionally includes a user interface 403, including: a display (for example, a touch screen, an LCD, a CRT, a Holographic or a Projector, a click device, such as a mouse, a trackball ( Trackball) touch panel or touch screen, etc., camera and/or sound pickup device, etc.
  • the memory 402 can include a read only memory and a random access memory, and 401 provides instructions and data.
  • a portion of memory 402 may also include non-volatile random access memory (NVRAM).
  • NVRAM non-volatile random access memory
  • the memory 405 stores the following elements, executable modules or data structures, or a subset thereof, or their extension set:
  • An operating system 4051 including various system programs for implementing various basic services and processing hardware-based tasks;
  • the application module 4052 includes various applications for implementing various application services.
  • the application module 4052 includes, but is not limited to, a receiving unit 310, a query unit 320, a writing unit 330, a timeout management unit 340, a recording maintenance unit, a first transmitting unit, a second transmitting unit, and/or a third transmitting unit, and the like.
  • the processor 401 is configured to receive the first video data packet by calling the program or the instruction stored in the memory 405, where the first video data packet belongs to the first video frame, and whether the first video frame is used to identify whether the first video frame is stored. And an index record of a mapping relationship between the storage address; and if the first index record for identifying a mapping relationship between the first video frame and the storage address is found, the first video data packet is written to the first index record The first storage space pointed to by a storage address.
  • the first user terminal may send a video data packet to the video server (refer to the first for convenience of reference).
  • Video data packet the video server can receive the first video data packet from the first user terminal.
  • the first user terminal that sends the first video data packet belongs to a certain user (which may be referred to as a first user).
  • the user terminal referred to in various embodiments of the present invention may be a personal computer, a mobile phone, a personal digital processing device, or another type of user terminal.
  • the first video data packet may be a live video data packet, and may of course be other types of video data packets.
  • the storage area may be divided into two parts, one part is an index storage area, and one part is a video data storage area.
  • an index record for identifying a mapping relationship between a video frame and a storage address may be stored in an index storage area, and a video data packet may be stored in a video storage area.
  • the processor 401 searches for an index record for identifying a mapping relationship between the first video frame and the storage address, and may include: searching based on a hash algorithm.
  • An index record for identifying a mapping relationship between the first video frame and the storage address is stored in the index storage area.
  • the input of the hash algorithm is the frame number of the first video frame or other digital string converted based on the frame number of the first video frame.
  • index efficiency As the index efficiency is improved, the memory utilization and response rate of the stored video frames are improved.
  • the processor 401 may have allocated a storage space for the first video frame before receiving the first video data, or may not allocate a storage space for the first video frame.
  • the storage space is not allocated for the first video frame, or the processor 401 may also reassign the previously allocated video space to the first video frame to other video frames, or the processor 401 may also assign the previous video frame to the first video frame.
  • the storage space has been emptied).
  • the processor 401 does not find the first index record for identifying the mapping relationship between the first video frame and the storage address in the index storage area, it indicates that the processor 401 may not currently allocate storage space for the first video frame. .
  • the second video frame may be allocated a second in the video storage area. a storage space, the first video data packet is written into the second storage space; and a second index record is generated for identifying a mapping relationship between the first video frame and the second storage address, wherein the second storage address points to the second storage space Calculating a third storage address based on the hash algorithm, and storing the third storage address to the third storage space of the index storage area.
  • the input of the hash algorithm is a frame sequence number of the first video frame or a digital string converted based on the frame number of the first video frame.
  • the third storage address is calculated based on the hash algorithm, and the index address allocation manner is beneficial to improve the indexing efficiency of the video frame storage address. As the index efficiency is improved, the memory utilization and response rate of the stored video frames are improved.
  • the processor 401 may further generate a first timeout determination record corresponding to the first video frame, and write the first timeout determination record into the timeout management queue (where the timeout management queue may be, for example, a first in first out queue)
  • the first timeout determination record includes the frame number of the first video frame And a first timestamp, wherein the time indicated by the first timestamp is a time when the server receives the first video data packet.
  • the processor 401 may further read the first timeout determination record from the timeout management queue when the first preset condition is satisfied, and determine, according to the first timestamp included in the first timeout determination record. Whether the first video frame has timed out, and if it is determined that the first video frame has timed out, all video data packets of the first video frame are transmitted.
  • the video frame that has timed out may refer to a time lag represented by a timestamp in the timeout determination record corresponding to the video frame, and the current time exceeds a first duration threshold, where the first duration threshold may be, for example, one. Second, two seconds, three seconds or other lengths set according to actual needs.
  • the first index record may further include a receiving indication bit, where the receiving indication bit is used to indicate that the video data packet belonging to the first video frame that the server has not received currently is not yet received. number.
  • the processor 401 may further update the first index record.
  • the value of the above receiving indication bit if the processor 401 finds that the index storage area stores the first index record for identifying the mapping relationship between the first video frame and the storage address, the processor 401 may further update the first index record. The value of the above receiving indication bit.
  • the processor 401 may further determine, according to the value of the receiving indication bit in the first index record, whether all video data packets belonging to the first video frame have been received, when the second preset condition is satisfied. If yes, all video frame data packets of the first video frame are sent.
  • the processor 401 may further determine, according to the value of the receiving indication bit in the first index record, whether all video data belonging to the first video frame has been received, when the second preset condition is satisfied. a packet, if yes, reading the first timeout determination record from the timeout management queue, determining whether the first video frame has timed out based on the first timestamp included in the first timeout determination record, and determining that the first video frame has timed out , then send all video packets of the first video frame.
  • the processor 401 may further update the frame transmission flag bit in the first index record after transmitting all the video data packets of the first video frame.
  • the value of the frame transmission flag in the first index record after updating the value indicates that all video data packets of the first video frame have been sent.
  • the video server 400 after receiving the first video data packet, the video server 400 searches whether an index record for identifying a mapping relationship between the first video frame and the storage address is stored, where the first video The data packet belongs to the first video frame; if the first index record for identifying the mapping relationship between the first video frame and the storage address is found, the first video data packet is written to the first storage included in the first index record The first storage space pointed to by the address.
  • an index record for identifying a mapping relationship between a video frame and a storage address is first searched, and then a video data packet is written based on a video frame storage address in the index record, and the index video frame is
  • the technique of storing addresses is advantageous for improving the indexing efficiency of video frame storage addresses. As the index efficiency is improved, the memory utilization and response rate of the stored video frames are improved.
  • an embodiment of the present invention further provides a communication system, including:
  • the user terminal 510 is configured to send a first video data packet to the video server 520, where the first data packet belongs to the first video frame.
  • the video server 520 is configured to receive the first video data packet, and search whether an index record for identifying a mapping relationship between the first video frame and the storage address is stored; if the index storage area is found, the first video frame and the storage are stored.
  • the first index record of the mapping relationship between the addresses, the first video data packet is written to the first storage space pointed by the first storage address included in the first index record.
  • the first video data packet may be a live video data packet, and may of course be other types of video data packets.
  • the storage area may be divided into two parts, one part is an index storage area, and one part is a video data storage area.
  • an index record for identifying a mapping relationship between a video frame and a storage address may be stored in an index storage area, and a video data packet may be stored in a video storage area.
  • searching for an index record for identifying a mapping relationship between the first video frame and the storage address in the index storage area may include: searching, based on a hash algorithm, whether the index storage area is stored or not.
  • the input of the hash algorithm is the frame number of the first video frame or other digital string converted based on the frame number of the first video frame.
  • index efficiency As the index efficiency is improved, the memory utilization and response rate of the stored video frames are improved.
  • the video server 520 may have allocated a storage space for the first video frame before receiving the first video data, or may not allocate a storage space for the first video frame (the video server 520 may not be the first video before)
  • the frame allocates storage space, or the video server 520 may also allocate the storage space previously allocated to the first video frame to other video frames, or the video server 520 may also allocate the storage space previously allocated to the first video frame. Empty).
  • the video server 520 does not find the first index record for identifying the mapping relationship between the first video frame and the storage address in the index storage area, it indicates that the video server 520 may not allocate storage space for the first video frame. .
  • the video server 520 may allocate the first video frame in the video data storage area. And storing a first video data packet into the second storage space; generating a second index record for identifying a mapping relationship between the first video frame and the second storage address, wherein the second storage address points to the second
  • the storage space is calculated based on the hash algorithm, and the third storage address is stored in the third storage space of the index storage area.
  • the input of the hash algorithm is a frame sequence number of the first video frame or a digital string converted based on the frame number of the first video frame.
  • the third storage address is calculated based on the hash algorithm, and the index address allocation manner is beneficial to improve the indexing efficiency of the video frame storage address. As the index efficiency is improved, the memory utilization and response rate of the stored video frames are improved.
  • the video server 520 may further generate a first timeout determination record corresponding to the first video frame, and write the first timeout determination record to the timeout management queue (wherein the timeout management queue may be, for example, a first in first out queue)
  • the first timeout determination record includes a frame number of the first video frame and a first timestamp, wherein the time indicated by the first timestamp is a time when the server receives the first video data packet.
  • the video server 520 is further configured to: when the first preset condition is met, The first timeout determination record is read from the timeout management queue, and the first timestamp included in the first timeout determination record is used to determine whether the first video frame has timed out. If it is determined that the first video frame has timed out, the first time is sent. All video packets for a video frame.
  • the video frame that has timed out may refer to a time lag represented by the timestamp in the timeout determination record corresponding to the video frame, and the current time exceeds the first duration threshold, where the first duration threshold may be, for example, one second. Clock, two seconds, three seconds or other lengths set according to actual needs.
  • the first index record further includes a receiving indication bit, where the receiving indication bit is used to indicate the number of video data packets belonging to the first video frame that have not been received yet.
  • the video server 520 may further update the first index record.
  • the value of the above receiving indication bit if the video server 520 finds that the index storage area stores the first index record for identifying the mapping relationship between the first video frame and the storage address, the video server 520 may further update the first index record. The value of the above receiving indication bit.
  • the video server 520 is further configured to determine, according to the value of the receiving indication bit in the first index record, whether all the videos belonging to the first video frame have been received when the second preset condition is satisfied. The data packet, if so, transmits all video frame data packets of the first video frame.
  • the video server 520 is further configured to determine, according to the value of the receiving indication bit in the first index record, whether all the videos belonging to the first video frame have been received when the second preset condition is satisfied.
  • the data packet if yes, reads the first timeout determination record from the timeout management queue, and determines whether the first video frame has timed out based on the first timestamp included in the first timeout determination record, and if it is determined that the first video frame has been When timed out, all video packets of the first video frame are sent.
  • the video server 520 may further update the frame transmission flag bit in the first index record after transmitting all the video data packets of the first video frame.
  • the value of the frame transmission flag in the first index record after updating the value indicates that all video data packets of the first video frame have been sent.
  • the video server 520 after receiving the first video data packet, the video server 520 searches whether an index record for identifying a mapping relationship between the first video frame and the storage address is stored, where the first video The data packet belongs to the first video frame; if the first index record for identifying the mapping relationship between the first video frame and the storage address is found, the first video data packet is written to the first storage included in the first index record The first storage space pointed to by the address.
  • an index record for identifying a mapping relationship between a video frame and a storage address is first searched, and then based on the index record.
  • the video frame stores the address for the writing of the video data packet, and the technique of storing the address of the index video frame is advantageous for improving the indexing efficiency of the video frame storage address. As the index efficiency is improved, the memory utilization and response rate of the stored video frames are improved.
  • the user terminal 510 shown in FIG. 6 may be any terminal device such as a mobile phone, a tablet computer, a personal digital assistant (PDA), a point of sales (POS), a car computer, and the like.
  • PDA personal digital assistant
  • POS point of sales
  • FIG. 6 is a block diagram showing a partial structure of a mobile phone related to a terminal provided by an embodiment of the present invention.
  • the mobile phone includes: a radio frequency (RF) circuit 610, a memory 620, an input unit 630, a wireless fidelity (WiFi) module 670, a display unit 640, a sensor 650, an audio circuit 660, and a processor 680. And power supply 690 and other components.
  • RF radio frequency
  • WiFi wireless fidelity
  • the structure of the mobile phone shown in FIG. 6 does not constitute a limitation to the mobile phone, and may include more or less components than those illustrated, or combine some components, or different component arrangements.
  • the RF circuit 610 can be used for receiving and transmitting signals during the transmission and reception of information or during a call. Specifically, after receiving the downlink information of the base station, the processor 680 processes the data. In addition, the uplink data is designed to be sent to the base station.
  • RF circuits include, but are not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a Low Noise Amplifier (LNA), a duplexer, and the like.
  • LNA Low Noise Amplifier
  • RF circuitry 60 can also communicate with the network and other devices via wireless communication. The above wireless communication may use any communication standard or protocol, including but not limited to Global System of Mobile communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (Code Division). Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), e-mail, Short Messaging Service (SMS), and the like.
  • GSM Global System of Mobile communication
  • GPRS General
  • the memory 620 can be used to store software programs and modules, and the processor 680 runs through the memory.
  • the software programs and modules stored in the memory 620 perform various functional applications and data processing of the mobile phone.
  • the memory 620 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may be stored according to Data created by the use of the mobile phone (such as audio data, phone book, etc.).
  • memory 620 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
  • the input unit 630 can be configured to receive input numeric or character information and to generate key signal inputs related to user settings and function control of the handset 510.
  • the input unit 630 may include a touch panel 631 and other input devices 632.
  • the touch panel 631 also referred to as a touch screen, can collect touch operations on or near the user (such as the user using a finger, a stylus, or the like on the touch panel 631 or near the touch panel 631. Operation), and drive the corresponding connecting device according to a preset program.
  • the touch panel 631 can include two parts: a touch detection device and a touch controller.
  • the touch detection device detects the touch orientation of the user, and detects a signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts the touch information into contact coordinates, and sends the touch information.
  • the processor 680 is provided and can receive commands from the processor 680 and execute them.
  • the touch panel 631 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
  • the input unit 630 may also include other input devices 632.
  • other input devices 632 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, joysticks, and the like.
  • the display unit 640 can be used to display information input by the user or information provided to the user and various menus of the mobile phone.
  • the display unit 640 can include a display panel 641.
  • the display panel 641 can be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
  • the touch panel 631 can cover the display panel 641. When the touch panel 631 detects a touch operation on or near it, the touch panel 631 transmits to the processor 680 to determine the type of the touch event, and then the processor 680 according to the touch event. The type provides a corresponding visual output on display panel 641.
  • the touch panel 631 and the display panel 641 function as two separate components to implement input and input functions of the mobile phone, In some embodiments, the touch panel 631 and the display panel 641 can be integrated to implement input and output functions of the mobile phone.
  • the handset 510 can also include at least one type of sensor 650, such as a light sensor, motion sensor, and other sensors.
  • the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 641 according to the brightness of the ambient light, and the proximity sensor may close the display panel 641 and/or when the mobile phone moves to the ear. Or backlight.
  • the accelerometer sensor can detect the magnitude of acceleration in all directions (usually three axes). When it is stationary, it can detect the magnitude and direction of gravity.
  • the mobile phone can be used to identify the gesture of the mobile phone (such as horizontal and vertical screen switching, related Game, magnetometer attitude calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for the mobile phone can also be configured with gyroscopes, barometers, hygrometers, thermometers, infrared sensors and other sensors, no longer Narration.
  • the gesture of the mobile phone such as horizontal and vertical screen switching, related Game, magnetometer attitude calibration
  • vibration recognition related functions such as pedometer, tapping
  • the mobile phone can also be configured with gyroscopes, barometers, hygrometers, thermometers, infrared sensors and other sensors, no longer Narration.
  • Audio circuit 660, speaker 661, and microphone 662 provide an audio interface between the user and the handset.
  • the audio circuit 660 can transmit the converted electrical data of the received audio data to the speaker 661 for conversion to the sound signal output by the speaker 661; on the other hand, the microphone 662 converts the collected sound signal into an electrical signal by the audio circuit 660. After receiving, it is converted into audio data, and then processed by the audio data output processor 680, sent to the other mobile phone via the RF circuit 610, or outputted to the memory 620 for further processing.
  • WiFi is a short-range wireless transmission technology
  • the mobile phone can help users to send and receive emails, browse web pages, and access streaming media through the WiFi module 670, which provides users with wireless broadband Internet access.
  • FIG. 6 shows the WiFi module 670, it can be understood that it does not belong to the essential configuration of the mobile phone 510, and may be omitted as needed within the scope of not changing the essence of the invention.
  • the processor 680 is the control center of the handset, and connects various portions of the entire handset using various interfaces and lines, by executing or executing software programs and/or modules stored in the memory 620, and invoking data stored in the memory 620, executing The phone's various functions and processing data, so that the overall monitoring of the phone.
  • the processor 680 may include one or more processing units; preferably, the processor 680 may integrate an application processor and a modem processor, where the application processor mainly processes an operating system, a user interface, an application, and the like.
  • the modem processor primarily handles wireless communications. It will be appreciated that the above described modem processor may also not be integrated into the processor 680.
  • the handset 510 also includes a power source 690 (such as a battery) that supplies power to the various components, preferably, a power source. It can be logically connected to the processor 680 through a power management system to manage functions such as charging, discharging, and power management through the power management system.
  • a power source 690 such as a battery
  • the mobile phone 510 may further include a camera, a Bluetooth module, and the like, and details are not described herein.
  • the processor 680 included in the user terminal further has the following function: sending a first video data packet to the video server, where the first video data packet belongs to the first video frame.
  • the embodiment of the present invention further provides a computer storage medium, wherein the computer storage medium can store a program, and the program includes some or all of the steps of the video frame storage management method described in the foregoing method embodiments.
  • the disclosed apparatus may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or may be Integrate into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be electrical or otherwise.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or a software functional unit. Formal realization.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk, and the like. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

一种视频帧存储管理方法、服务器及通信系统。该可包括:视频服务器接收第一视频数据包,其中,所述第一视频数据包归属于第一视频帧;查找是否存储有用于标识所述第一视频帧和存储地址之间映射关系的索引记录;若查找到用于标识所述第一视频帧和存储地址之间映射关系的第一索引记录,将所述第一视频数据包写入到所述第一索引记录包含的第一存储地址所指向的第一存储空间。本发明实施例提供的技术方案有利于提高索引视频帧的存储地址的效率。

Description

视频帧存储管理方法、视频服务器及通信系统
本申请要求于2013年10月23日提交中国专利局、申请号为201310504784.7、发明名称为“视频帧存储管理方法和相关设备及通信系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及互联网技术领域,具体主要涉及一种视频帧存储管理方法、视频服务器及通信系统。
背景技术
视频通道是视频服务器中用于存储视频数据的存储资源,视频通道中可记录时间戳、该视频通道当前所属用户的用户标识等信息。
对于来自视频源的视频数据(如直播视频数据),视频服务器通常需要对其进行一定的存储管理。
现有的视频服务器采用遍历方式索引视频帧的存储地址,存储地址索引效率相对较低,有时难以满足高时效要求。
发明内容
本发明实施例提供视频帧存储管理方法、视频服务器及通信系统,以提高索引视频帧的存储地址的效率。
本发明实施例一方面提供一种视频帧存储管理方法,可包括:
视频服务器接收第一视频数据包,其中,所述第一视频数据包归属于第一视频帧;
查找是否存储有用于标识所述第一视频帧和存储地址之间映射关系的索引记录;
若查找到用于标识所述第一视频帧和存储地址之间映射关系的第一索引记录,将所述第一视频数据包写入到所述第一索引记录包含的第一存储地址所 指向的第一存储空间。
本发明实施例另一方面提供一种视频服务器,可包括:
接收单元,用于接收第一视频数据包,其中,所述第一视频数据包归属于第一视频帧;
查找单元,用于查找是否存储有用于标识所述第一视频帧和存储地址之间映射关系的索引记录;
写入单元,若查找到用于标识所述第一视频帧和存储地址之间映射关系的第一索引记录,用于将所述第一视频数据包写入到所述第一索引记录包含的第一存储地址所指向的第一存储空间。
本发明实施例再一方面提供一种通信系统,可包括:
用户终端和视频服务器;
其中,所述用户终端,用于向所述视频服务器发送第一视频数据包,其中,所述第一视频数据包属于第一视频帧;
所述视频服务器,接收所述第一视频数据包,查找是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录;若查找到用于标识所述第一视频帧和存储地址之间映射关系的第一索引记录,将所述第一视频数据包写入到所述第一索引记录包含的第一存储地址所指向的第一存储空间。
可以看出,在本发明实施方式中,视频服务器在接收到第一视频数据包之后;查找是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,其中,第一视频数据包归属与第一视频帧;若查找到用于标识第一视频帧和存储地址之间映射关系的第一索引记录,将第一视频数据包写入到第一索引记录包含的第一存储地址所指向的第一存储空间。在本发明实施例中,首先查找用于标识视频帧和存储地址之间映射关系的索引记录,而后基于索引记录中的视频帧存储地址来进行视频数据包的写入,这种索引视频帧的存储地址的技术有利于提高视频帧存储地址的索引效率。由于提高了索引效率,进而有利于提高存储视频帧的内存利用率和响应速率。
附图说明
图1是本发明实施例提供的一种视频通道管理方法的流程示意图;
图2是本发明实施例提供的另一种视频通道管理方法的流程示意图;
图3-a是本发明实施例提供的一种视频服务器的结构示意图;
图3-b是本发明实施例提供的另一种视频服务器的结构示意图;
图4是本发明实施例提供的另一种视频服务器的结构示意图;
图5是本发明实施例提供的一种通信系统的结构示意图;以及
图6是本发明实施例提供的一种用户终端的结构示意图。
具体实施方式
本发明实施例提供视频帧存储管理方法、服务器及通信系统,以提高索引视频帧的存储地址的效率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供了一种视频帧存储管理方法,该视频帧存储管理方法可包括:视频服务器接收第一视频数据包;查找是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,其中,第一视频数据包归属于第一视频帧;若查找到索引存储区存储有用于标识第一视频帧和存储地址之间映射关系的第一索引记录,将第一视频数据包写入到第一索引记录包含的第一存储地址所指向的第一存储空间。。
首先请参见图1,图1是本发明的实施例提供的一种视频帧存储管理方法的流程示意图。如图1所示,本发明的一个实施例提供的一种视频帧存储管理方法可以包括步骤101至步骤103。
在步骤101中,视频服务器接收第一视频数据包,第一视频数据包属于第一视频帧(第一视频帧可能包括多个视频数据包)。
举例来说,当用户终端(为便于引述,可称之为第一用户终端)与视频服务器建立连接之后,第一用户终端可向视频服务器发送视频数据包(为便于引述,称之为第一视频数据包),视频服务器可接收来自第一用户终端的第一视频数据包。其中,发送第一视频数据包的第一用户终端归属于某用户(可称之为第一用户)。
在本发明实施例中,本发明各实施例所指的用户终端可为个人电脑、手机、个人数字处理设备或其它类型的用户终端。
在本发明实施例中,第一视频数据包可为直播视频数据包,当然也可为其它类型的视频数据包。
在步骤102中,视频服务器查找是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录。
在本发明实施例中,存储区域可以分为两部分,一部分为索引存储区域,一部分为视频数据存储区域。例如,可将用于标识视频帧和存储地址之间的映射关系的索引记录存储于索引存储区域,将视频数据包存储于视频存储区域。
在本发明实施例中,在索引存储区之中查找是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,可包括:基于哈希算法,查找索引存储区之中是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录。其中,哈希算法的输入为第一视频帧的帧序号或者基于第一视频帧的帧序号转换得到的其它数字串。
可以理解,基于哈希算法查找索引存储区之中是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,这种索引视频帧的存储地址的技术有利于提高视频帧存储地址的索引效率。由于提高了索引效率,进而有利于提高存储视频帧的内存利用率和响应速率。
在步骤103中,视频服务器若查找到存储有用于标识第一视频帧和存储地 址之间映射关系的第一索引记录,将第一视频数据包写入到第一索引记录包含的第一存储地址所指向的第一存储空间。在本发明实施例中,存储区域可分为索引存储区域和视频数据存储区域。其中,视频服务器在接收到第一视频数据之前,可能已经为第一视频帧在视频数据存储区域分配了存储空间,也可能还未为第一视频帧分配存储空间(视频服务器可能之前始终未为第一视频帧分配存储空间,或者视频服务器也可能将之前分配给第一视频帧分配存储空间又重新分配给了其它视频帧,或视频服务器也可能将之前分配给第一视频帧的存储空间进行了清空)。
例如,视频服务器若在索引存储区未查找到用于标识第一视频帧和存储地址之间映射关系的第一索引记录,则表示视频服务器当前可能还未为第一视频帧分配存储空间。
在本发明实施例中,视频服务器若未查找到索引存储区存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,则可为第一视频帧在视频数据存储区域分配第二存储空间,并将第一视频数据包写入第二存储空间;生成用于标识第一视频帧和第二存储地址之间映射关系的第二索引记录,其中,第二存储地址指向第二存储空间;可以基于哈希算法计算得到第三存储地址,并将第三存储地址存储至索引存储区域的第三存储空间。
在本发明实施例中,哈希算法的输入为第一视频帧的帧序号或基于第一视频帧的帧序号转换得到的数字串。
可以理解,基于哈希算法计算得到第三存储地址,这种索引地址分配方式有利于提高视频帧存储地址的索引效率。由于提高了索引效率,进而有利于提高存储视频帧的内存利用率和响应速率。
在本发明一些实施例中,视频服务器还可生成第一视频帧对应的第一超时判定记录,将第一超时判定记录写入超时管理队列(其中,超时管理队列例如可为先入先出队列)之中,其中,第一超时判定记录包含第一视频帧的帧序号和第一时间戳,其中,第一时间戳所指示的时间为服务器接收到第一视频数据包的时间。
在本发明实施例中,视频服务器还可在第一预设条件满足时,从上述超时管理队列中读取出第一超时判定记录,基于第一超时判定记录中包含的第一时 间戳判断第一视频帧是否已经超时,若判定第一视频帧已超时,则发送第一视频帧的所有视频数据包。在本发明实施例中,已超时的视频帧可指该视频帧对应的超时判定记录中的时间戳所表示的时间滞后当前时间超过第一时长阈值,其中,第一时长阈值例如可为一秒钟、两秒钟、三秒钟或根据实际需要设定的其它时长。
在本发明实施例中,第一索引记录中还可以包括收包指示位,其中,上述收包指示位用于指示出服务器当前还未接收到的归属于第一视频帧的视频数据包的个数。
在本发明实施例中,视频服务器若查找到索引存储区存储有用于标识第一视频帧和存储地址之间映射关系的第一索引记录,视频服务器还可进一步更新第一索引记录中的上述收包指示位的取值。
在本发明实施例中,视频服务器可进一步在第二预设条件满足时,基于第一索引记录中的收包指示位取值确定是否已经接收到了归属于第一视频帧的所有视频数据包,若是,则发送第一视频帧的所有视频帧数据包。
在本发明实施例中,视频服务器还可进一步在第二预设条件满足时,基于第一索引记录中的收包指示位取值确定是否已经接收到了归属于第一视频帧的所有视频数据包,若是,则从上述超时管理队列中读取出第一超时判定记录,基于第一超时判定记录中包含的第一时间戳判断第一视频帧是否已经超时,若判定第一视频帧已经超时,则发送第一视频帧的所有视频数据包。
在本发明实施例中,若第一索引记录中还包含帧发送标志位;视频服务器还可进一步在发送第一视频帧的所有视频数据包之后,更新第一索引记录中的帧发送标志位的取值,更新取值后的第一索引记录中的帧发送标志位指示出第一视频帧的所有视频数据包已被发送。
可以看出,在本发明实施例中,视频服务器在接收到第一视频数据包之后,查找是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,其中,第一视频数据包归属与第一视频帧;若查找到用于标识第一视频帧和存储地址之间映射关系的第一索引记录,将第一视频数据包写入到第一索引记录包含的第一存储地址所指向的第一存储空间。在本发明实施例中,首先查找用于标识视频帧和存储地址之间映射关系的索引记录,而后基于索引记录中的视频 帧存储地址来进行视频数据包的写入,这种索引视频帧的存储地址的技术有利于提高视频帧存储地址的索引效率。由于提高了索引效率,进而有利于提高存储视频帧的内存利用率和响应速率。
为便于更好的理解和实施本发明实施例的上述方面,下面通过举例几个应用场景进行进一步介绍。
参见图2,图2是本发明实施例提供的另一种视频帧存储管理方法的流程示意图。如图2所示,本发明实施例提供的一种视频帧存储管理方法可包括步骤201至步骤211。
在步骤201中,视频服务器接收第一用户终端发送的第一视频数据包,第一数据包属于第一视频帧。
举例来说,当用户终端(为便于引述,可称之为第一用户终端)与视频服务器建立连接之后,第一用户终端可向视频服务器发送视频数据包(为便于引述,称之为第一视频数据包),视频服务器可接收来自第一用户终端的第一视频数据包。其中,发送第一视频数据包的第一用户终端归属于某用户(可称之为第一用户)。
本发明实施例中,本发明各实施例所指的用户终端可为个人电脑、手机、个人数字处理设备或其它类型的用户终端。
本发明实施例中,第一视频数据包可为直播视频数据包,当然也可为其它类型的视频数据包。
在步骤202中,视频服务器查找索引存储区之中是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录;视频服务器若查找索引存储区之中存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,则执行步骤203;视频服务器若查找索引存储区之中未存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,则执行步骤205。
其中,视频服务器若查找到索引存储区未存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,则表示视频服务器当前可能还未为第一视频帧分配存储空间。视频服务器若查找到索引存储区存储有用于标识第一视频帧和存储地址之间映射关系的第一索引记录,则表示视频服务器此前已为第一视频帧分配了存储空间。
在本发明实施例中,查找索引存储区之中是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,可包括:基于哈希算法(或其它算法),查找索引存储区之中是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录。其中,哈希算法的输入为第一视频帧的帧序号或者基于第一视频帧的帧序号转换得到的其它数字串。
可以理解,基于哈希算法查找索引存储区之中是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,这种索引视频帧的存储地址的技术有利于提高视频帧存储地址的索引效率。由于提高了索引效率,进而有利于提高存储视频帧的内存利用率和响应速率。
在步骤203中,将第一视频数据包存储至第一索引记录包含的第一存储地址所指向的第一存储空间,其中,第一存储空间归属于视频数据存储区。
在步骤204中,视频服务器更新第一索引记录中的收包指示位的取值。其中,上述收包指示位用于指示出当前还未接收到的归属于第一视频帧的视频数据包的个数。
在步骤205中,视频服务器为第一视频数据包所属的第一视频帧在视频数据存储区分配第二存储空间,并将第一视频数据包写入第二存储空间;生成用于标识第一视频帧和第二存储地址之间映射关系的第二索引记录,其中,第二存储地址指向第二存储空间;可以基于哈希算法计算得到第三存储地址,并将第三存储地址存储至索引存储区域的第三存储空间。
在本发明实施例中,哈希算法的输入为第一视频帧的帧序号或基于第一视频帧的帧序号转换得到的数字串。假设的哈希函数是取模运算,假设视频帧序号257,哈希函数分母是256,那么哈希函数结果是257%256=1,其它以此类推。
可以理解,基于哈希算法计算得到第三存储地址,这种索引地址分配方式有利于提高视频帧存储地址的索引效率。由于提高了索引效率,进而有利于提高存储视频帧的内存利用率和响应速率。
在步骤206中,视频服务器生成第一视频帧对应的第一超时判定记录,将第一超时判定记录写入超时管理队列的队尾(其中,超时管理队列例如可为先入先出队列),第一超时判定记录包含第一视频帧的帧序号和第一时间戳,第一时间戳所指示的时间为服务器接收到第一视频数据包的时间。
其中,某视频帧对应的超时判定记录包含的时间戳所指示的时间为首次接收到视频帧的视频数据包的时间。
在步骤207中,视频服务器根据第一索引记录或第二索引记录中的收包指示位判断第一视频帧的所有视频数据包是否接收完整;若是,执行步骤208;若否,则执行步骤210。
在步骤208中,视频服务器根据第一索引记录或第二索引记录中包含的帧发送标志位判断第一视频帧是否已经发送;若是,执行步骤210;若否,则执行步骤209。
在步骤209中,视频服务器发送第一视频帧的所有视频帧数据包,并更新第一索引记录中的帧发送标志位的取值,更新取值后的第一索引记录中的帧发送标志位指示出第一视频帧的所有视频帧数据包已被发送,执行步骤210。
在步骤210中,视频服务器判断上述超时管理队列中队首的超时判定记录所对应的视频帧是否已经超时;若是,执行步骤211;若否,则返回步骤201。
在本发明一些实施例中,已超时的视频帧可指该视频帧对应的超时判定记录中的时间戳所表示的时间滞后当前时间超过第一时长阈值,其中,第一时长阈值例如可为一秒钟、两秒钟、三秒钟或根据实际需要设定的其它时长。
在步骤211中,视频服务器发送超时管理队列中队首的超时判定记录所对应的视频帧的所有视频数据包,更新超时管理队列中队首的超时判定记录所对应的视频帧对应的索引记录中的帧发送标志位的取值,更新取值后的该索引记录中的帧发送标志位指示出该视频帧的所有视频帧数据包已被发送;删除超时管理队列中队首的超时判定记录,返回步骤210。
可以看出,在本发明实施例中,视频服务器在接收到来自第一用户终端的第一视频数据包之后;基于哈希算法查找索引存储区之中是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,其中,第一视频数据包归属与第一视频帧;若查找到索引存储区存储有用于标识第一视频帧和存储地址之间映射关系的第一索引记录,将第一视频数据包存储至到第一索引记录包含的第一存储地址所指向的第一存储空间,第一存储空间归属于视频数据存储区。由于视频服务器专门开辟了索引存储区来存储用于标识视频帧与存储地址之间的映射关系的记录,先基于哈希算法在索引存储区查找用于标识视频帧和存 储地址之间映射关系的索引记录,而后基于索引记录中的视频帧存储地址来进行视频数据包的写入,这种索引视频帧的存储地址的技术有利于提高视频帧存储地址的索引效率。由于提高了索引效率,进而有利于提高存储视频帧的内存利用率和响应速率。
参见图3-a,本发明实施例提供一种视频服务器300,可包括:
接收单元310、查询单元320和写入单元330。
其中,接收单元310,用于接收第一视频数据包,第一视频数据包属于第一视频帧。
举例来说,当用户终端(为便于引述,可称之为第一用户终端)与视频服务器建立连接之后,第一用户终端可向视频服务器发送视频数据包(为便于引述,称之为第一视频数据包),视频服务器可接收来自第一用户终端的第一视频数据包。其中,发送第一视频数据包的第一用户终端归属于某用户(可称之为第一用户)。
在本发明实施例中,本发明各实施例所指的用户终端可为个人电脑、手机、个人数字处理设备或其它类型的用户终端。
在本发明实施例中,第一视频数据包可为直播视频数据包,当然也可为其它类型的视频数据包。
查找单元320,用于查找是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录。
写入单元330,若查找到所述索用于标识第一视频帧和存储地址之间映射关系的第一索引记录,用于将所述第一视频数据包写入到所述第一索引记录包含的第一存储地址所指向的第一存储空间。。
在本发明实施例中,存储区域可以分为两部分,一部分为索引存储区域,一部分为视频数据存储区域,例如,可将用于标识视频帧和存储地址之间的映射关系的索引记录存储于索引存储区域,将视频数据包存储于视频存储区域。
在本发明实施例中,查找单元320可以基于哈希算法,查找索引存储区之中是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录。
在本发明实施例中,写入单元330若未查找到所述索引存储区存储有用于 标识第一视频帧和存储地址之间映射关系的索引记录,则为第一视频帧在所述视频数据存储区分配第二存储空间,并将所述第一视频数据包写入所述第二存储空间;生成用于标识所述第一视频帧和第二存储地址之间映射关系的第二索引记录,所述第二存储地址指向所述第二存储空间;基于哈希算法计算得到第三存储地址,并将第三存储地址存储至索引存储区域的第三存储空间。
参见图3-b,在本发明实施例中,视频服务器300还可包括:
超时管理单元340,用于生成所述第一视频帧对应的第一超时判定记录,将所述第一超时判定记录写入超时管理队列之中,其中,第一超时判定记录包含第一视频帧的帧序号和第一时间戳,其中,所述第一时间戳所指示的时间为服务器接收到所述第一视频数据包的时间。
在本发明实施例中,视频服务器300还可包括:
第一发送单元,用于在第一预设条件满足时,从所述超时管理队列中读取出所述第一超时判定记录,基于所述第一超时判定记录中包含的第一时间戳判断所述第一视频帧是否已经超时,若判定所述第一视频帧已经超时,则发送第一视频帧的所有视频数据包。
在本发明实施例中,所述第一索引记录中还包括收包指示位,所述收包指示位用于指示出服务器当前还未接收到的归属于所述第一视频帧的视频数据包的个数。
在本发明实施例中,视频服务器300还可包括:
记录维护单元,用于若查找到所述索引存储区存储有用于标识第一视频帧和存储地址之间映射关系的第一索引记录,则更新所述第一索引记录中的所述收包指示位的取值。
在本发明实施例中,视频服务器300还可包括:第二发送单元,在第二预设条件满足时,基于所述第一索引记录中的收包指示位取值确定是否已经接收到了归属于第一视频帧的所有视频数据包,若是,则发送第一视频帧的所有视频数据包。
在本发明一些实施例中,视频服务器300还可包括:
第三发送单元,在第二预设条件满足时,基于所述第一索引记录中的收包指示位取值确定是否已经接收到了归属于第一视频帧的所有视频数据包,若 是,则从所述超时管理队列中读取出所述第一超时判定记录,基于所述第一超时判定记录中包含的第一时间戳判断所述第一视频帧是否已经超时,若判定所述第一视频帧已经超时,则发送第一视频帧的所有视频数据包。
在本发明实施例中,所述第一索引记录中还包含帧发送标志位;
记录维护单元还可用于,在发送第一视频帧的所有视频帧数据包之后,更新所述第一索引记录中的帧发送标志位的取值,其中,更新取值后的所述第一索引记录中的帧发送标志位指示出所述第一视频帧的所有视频数据包已被发送。
可以理解的是,本实施例的视频服务器300的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
可以看出,在本发明实施例中,视频服务器300在接收到第一视频数据包之后,查找是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,其中,第一视频数据包归属与第一视频帧;若查找到用于标识第一视频帧和存储地址之间映射关系的第一索引记录,将第一视频数据包写入到第一索引记录包含的第一存储地址所指向的第一存储空间。在本发明实施例中,首先查找用于标识视频帧和存储地址之间映射关系的索引记录,而后基于索引记录中的视频帧存储地址来进行视频数据包的写入,这种索引视频帧的存储地址的技术有利于提高视频帧存储地址的索引效率。由于提高了索引效率,进而有利于提高存储视频帧的内存利用率和响应速率。
参见图4,图4是本发明另一实施例提供的视频服务器400的结构框图。
其中,视频服务器400例如可以包括:至少一个处理器401,至少一个网络接口404或者其他用户接口403,存储器405,至少一个通信总线402。通信总线402用于实现这些组件之间的连接通信。其中,该视频服务器400可选的包含用户接口403,包括:显示器(例如可能是,触摸屏、LCD、CRT、全息成像(Holographic)或者投影(Projector)等)、点击设备(例如鼠标,轨迹球(trackball)触感板或触摸屏等)、摄像头和/或拾音装置等。
其中,存储器402可以包括只读存储器和随机存取存储器,并向处理器 401提供指令和数据。存储器402中的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器405存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作系统4051,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务;
应用程序模块4052,包含各种应用程序,用于实现各种应用业务。
应用程序模块4052中包括但不限于接收单元310、查询单元320、写入单元330、超时管理单元340、记录维护单元、第一发送单元、第二发送单元或和/或第三发送单元等。
在本发明实施例中,通过调用存储器405存储的程序或指令,处理器401用于接收第一视频数据包,第一视频数据包属于第一视频帧;查找是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录;若查找到用于标识第一视频帧和存储地址之间映射关系的第一索引记录,将第一视频数据包写入到第一索引记录包含的第一存储地址所指向的第一存储空间。
举例来说,当用户终端(为便于引述,可称之为第一用户终端)与视频服务器建立连接之后,第一用户终端可向视频服务器发送视频数据包(为便于引述,称之为第一视频数据包),视频服务器可接收来自第一用户终端的第一视频数据包。其中,发送第一视频数据包的第一用户终端归属于某用户(可称之为第一用户)。
在本发明实施例中,本发明各实施例所指的用户终端可为个人电脑、手机、个人数字处理设备或其它类型的用户终端。
在本发明实施例中,第一视频数据包可为直播视频数据包,当然也可为其它类型的视频数据包。
在本发明实施例中,存储区域可以分为两部分,一部分为索引存储区域,一部分为视频数据存储区域。例如,可将用于标识视频帧和存储地址之间的映射关系的索引记录存储于索引存储区域,将视频数据包存储于视频存储区域。
在本发明实施例中,处理器401查找索引存储区之中是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,可包括:基于哈希算法,查 找索引存储区之中是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录。其中,哈希算法的输入为第一视频帧的帧序号或者基于第一视频帧的帧序号转换得到的其它数字串。
可以理解,基于哈希算法查找索引存储区之中是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,这种索引视频帧的存储地址的技术有利于提高视频帧存储地址的索引效率。由于提高了索引效率,进而有利于提高存储视频帧的内存利用率和响应速率。
在本发明实施例中,处理器401在接收到第一视频数据之前,可能已经为第一视频帧分配了存储空间,也可能还未为第一视频帧分配存储空间(处理器401可能之前始终未为第一视频帧分配存储空间,或者处理器401也可能将之前分配给第一视频帧分配存储空间又重新分配给了其它视频帧,或处理器401也可能将之前分配给第一视频帧的存储空间进行了清空)。
例如,处理器401若在索引存储区未查找到用于标识第一视频帧和存储地址之间映射关系的第一索引记录,则表示处理器401当前可能还未为第一视频帧分配存储空间。
在本发明实施例中,处理器401若未查找到索引存储区存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,则可为第一视频帧在视频存储区域分配第二存储空间,将第一视频数据包写入第二存储空间;生成用于标识第一视频帧和第二存储地址之间映射关系的第二索引记录,其中,第二存储地址指向第二存储空间;基于哈希算法计算得到第三存储地址,并将第三存储地址存储至索引存储区域的第三存储空间。
在本发明实施例中,哈希算法的输入为第一视频帧的帧序号或基于第一视频帧的帧序号转换得到的数字串。
可以理解,基于哈希算法计算得到第三存储地址,这种索引地址分配方式有利于提高视频帧存储地址的索引效率。由于提高了索引效率,进而有利于提高存储视频帧的内存利用率和响应速率。
在本发明一些实施例中,处理器401还可生成第一视频帧对应的第一超时判定记录,将第一超时判定记录写入超时管理队列(其中,超时管理队列例如可为先入先出队列)之中,其中,第一超时判定记录包含第一视频帧的帧序号 和第一时间戳,其中,第一时间戳所指示的时间为服务器接收到第一视频数据包的时间。
在本发明实施例中,处理器401还可在第一预设条件满足时,从上述超时管理队列中读取出第一超时判定记录,基于第一超时判定记录中包含的第一时间戳判断第一视频帧是否已经超时,若判定第一视频帧已超时,则发送第一视频帧的所有视频数据包。在本发明一些实施例中,已超时的视频帧可指该视频帧对应的超时判定记录中的时间戳所表示的时间滞后当前时间超过第一时长阈值,其中,第一时长阈值例如可为一秒钟、两秒钟、三秒钟或根据实际需要设定的其它时长。
在本发明实施例中,第一索引记录中还可以包括收包指示位,其中,上述收包指示位用于指示出服务器当前还未接收到的归属于第一视频帧的视频数据包的个数。
在本发明实施例中,处理器401若查找到索引存储区存储有用于标识第一视频帧和存储地址之间映射关系的第一索引记录,处理器401还可进一步更新第一索引记录中的上述收包指示位的取值。
在本发明实施例中,处理器401可进一步在第二预设条件满足时,基于第一索引记录中的收包指示位取值确定是否已经接收到了归属于第一视频帧的所有视频数据包,若是,则发送第一视频帧的所有视频帧数据包。
在本发明实施例中,处理器401还可进一步在第二预设条件满足时,基于第一索引记录中的收包指示位取值确定是否已经接收到了归属于第一视频帧的所有视频数据包,若是,则从上述超时管理队列中读取出第一超时判定记录,基于第一超时判定记录中包含的第一时间戳判断第一视频帧是否已经超时,若判定第一视频帧已经超时,则发送第一视频帧的所有视频数据包。
在本发明实施例中,若第一索引记录中还包含帧发送标志位;处理器401还可进一步在发送第一视频帧的所有视频数据包之后,更新第一索引记录中的帧发送标志位的取值,更新取值后的第一索引记录中的帧发送标志位指示出第一视频帧的所有视频数据包已被发送。
可以理解的是,本实施例的视频服务器400的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的 相关描述,此处不再赘述。
可以看出,在本发明实施例中,视频服务器400在接收到第一视频数据包之后,查找是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,其中,第一视频数据包归属与第一视频帧;若查找到用于标识第一视频帧和存储地址之间映射关系的第一索引记录,将第一视频数据包写入到第一索引记录包含的第一存储地址所指向的第一存储空间。在本发明实施例中,首先查找用于标识视频帧和存储地址之间映射关系的索引记录,而后基于索引记录中的视频帧存储地址来进行视频数据包的写入,这种索引视频帧的存储地址的技术有利于提高视频帧存储地址的索引效率。由于提高了索引效率,进而有利于提高存储视频帧的内存利用率和响应速率。
参见图5,本发明实施例还提供一种通信系统,包括:
用户终端510和视频服务器520。
其中,用户终端510,用于向视频服务器520发送第一视频数据包,第一数据包属于第一视频帧。
视频服务器520,用于接收第一视频数据包;查找是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录;若查找到索引存储区存储有用于标识第一视频帧和存储地址之间映射关系的第一索引记录,将第一视频数据包写入到第一索引记录包含的第一存储地址所指向的第一存储空间。
在本发明实施例中,第一视频数据包可为直播视频数据包,当然也可为其它类型的视频数据包。
在本发明实施例中,存储区域可以分为两部分,一部分为索引存储区域,一部分为视频数据存储区域。例如,可将用于标识视频帧和存储地址之间的映射关系的索引记录存储于索引存储区域,将视频数据包存储于视频存储区域。
在本发明实施例中,在索引存储区之中查找是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,可包括:基于哈希算法查找索引存储区之中是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录。其中,哈希算法的输入为第一视频帧的帧序号或者基于第一视频帧的帧序号转换得到的其它数字串。
可以理解,基于哈希算法查找索引存储区之中是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,这种索引视频帧的存储地址的技术有利于提高视频帧存储地址的索引效率。由于提高了索引效率,进而有利于提高存储视频帧的内存利用率和响应速率。
其中,视频服务器520在接收到第一视频数据之前,可能已经为第一视频帧分配了存储空间,也可能还未为第一视频帧分配存储空间(视频服务器520可能之前始终未为第一视频帧分配存储空间,或者视频服务器520也可能将之前分配给第一视频帧分配存储空间又重新分配给了其它视频帧,或视频服务器520也可能将之前分配给第一视频帧的存储空间进行了清空)。
其中,视频服务器520若在索引存储区未查找到用于标识第一视频帧和存储地址之间映射关系的第一索引记录,则表示视频服务器520当前可能还未为第一视频帧分配存储空间。
在本发明实施例中,视频服务器520若未查找到索引存储区存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,则可为第一视频帧在视频数据存储区域分配第二存储空间,并将第一视频数据包写入第二存储空间;生成用于标识第一视频帧和第二存储地址之间映射关系的第二索引记录,其中,第二存储地址指向第二存储空间;基于哈希算法计算得到第三存储地址,并将第三存储地址存储至索引存储区域的第三存储空间。
在本发明实施例中,哈希算法的输入为第一视频帧的帧序号或基于第一视频帧的帧序号转换得到的数字串。
可以理解,基于哈希算法计算得到第三存储地址,这种索引地址分配方式有利于提高视频帧存储地址的索引效率。由于提高了索引效率,进而有利于提高存储视频帧的内存利用率和响应速率。
在本发明一些实施例中,视频服务器520还可生成第一视频帧对应的第一超时判定记录,将第一超时判定记录写入超时管理队列(其中,超时管理队列例如可为先入先出队列)之中,其中,第一超时判定记录包含第一视频帧的帧序号和第一时间戳,其中,第一时间戳所指示的时间为服务器接收到第一视频数据包的时间。
在本发明实施例中,视频服务器520还可用于,在第一预设条件满足时, 从上述超时管理队列中读取出第一超时判定记录,基于第一超时判定记录中包含的第一时间戳判断第一视频帧是否已经超时,若判定第一视频帧已超时,则发送第一视频帧的所有视频数据包。在本发明实施例中,已超时的视频帧可指该视频帧对应的超时判定记录中的时间戳所表示的时间滞后当前时间超过第一时长阈值,其中,第一时长阈值例如可为一秒钟、两秒钟、三秒钟或根据实际需要设定的其它时长。
在本发明实施例中,第一索引记录中还包括收包指示位,其中,上述收包指示位用于指示出当前还未接收到的归属于第一视频帧的视频数据包的个数。
在本发明实施例中,视频服务器520若查找到索引存储区存储有用于标识第一视频帧和存储地址之间映射关系的第一索引记录,视频服务器520还可进一步更新第一索引记录中的上述收包指示位的取值。
在本发明实施例中,视频服务器520还可用于,在第二预设条件满足时,基于第一索引记录中的收包指示位取值确定是否已经接收到了归属于第一视频帧的所有视频数据包,若是,则发送第一视频帧的所有视频帧数据包。
在本发明实施例中,视频服务器520还可用于,在第二预设条件满足时,基于第一索引记录中的收包指示位取值确定是否已经接收到了归属于第一视频帧的所有视频数据包,若是,则从上述超时管理队列中读取出第一超时判定记录,基于第一超时判定记录中包含的第一时间戳判断第一视频帧是否已经超时,若判定第一视频帧已经超时,则发送第一视频帧的所有视频数据包。
在本发明实施例中,若第一索引记录中还包含帧发送标志位;视频服务器520还可进一步在发送第一视频帧的所有视频数据包之后,更新第一索引记录中的帧发送标志位的取值,更新取值后的第一索引记录中的帧发送标志位指示出第一视频帧的所有视频数据包已被发送。
可以看出,在本发明实施例中,视频服务器520在接收到第一视频数据包之后,查找是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录,其中,第一视频数据包归属与第一视频帧;若查找到用于标识第一视频帧和存储地址之间映射关系的第一索引记录,将第一视频数据包写入到第一索引记录包含的第一存储地址所指向的第一存储空间。在本发明实施例中,首先查找用于标识视频帧和存储地址之间映射关系的索引记录,而后基于索引记录中 的视频帧存储地址来进行视频数据包的写入,这种索引视频帧的存储地址的技术有利于提高视频帧存储地址的索引效率。由于提高了索引效率,进而有利于提高存储视频帧的内存利用率和响应速率。
如图6所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。图6所示用户终端510可以为手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、销售终端(Point of Sales,POS)、车载电脑等任意终端设备,下面主要以用户终端510为手机为例:
其中,图6示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图6,手机包括:射频(Radio Frequency,RF)电路610、存储器620、输入单元630、无线保真(wireless fidelity,WiFi)模块670、显示单元640、传感器650、音频电路660、处理器680、以及电源690等部件。
其中,本领域技术人员可以理解,图6中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图6对手机的各个构成部件进行具体的介绍:
RF电路610可用于在收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器680处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路60还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
其中,存储器620可用于存储软件程序以及模块,处理器680通过运行存 储在存储器620的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元630可用于接收输入的数字或字符信息,以及产生与手机510的用户设置以及功能控制有关的键信号输入。具体地,输入单元630可包括触控面板631以及其他输入设备632。触控面板631,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板631上或在触控面板631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板631。除了触控面板631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
其中,显示单元640可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元640可包括显示面板641,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板641。进一步的,触控面板631可覆盖显示面板641,当触控面板631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图6中,触控面板631与显示面板641是作为两个独立的部件来实现手机的输入和输入功能,但是在 某些实施例中,可以将触控面板631与显示面板641集成而实现手机的输入和输出功能。
其中,手机510还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可在手机移动到耳边时,关闭显示面板641和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路660、扬声器661,传声器662可提供用户与手机之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610以发送给比如另一手机,或者将音频数据输出至存储器620以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块670可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了WiFi模块670,但是可以理解的是,其并不属于手机510的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器680是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器680可包括一个或多个处理单元;优选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
手机510还包括给各个部件供电的电源690(比如电池),优选的,电源 可以通过电源管理系统与处理器680逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。尽管未示出,手机510还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该用户终端所包括的处理器680还具有以下功能:向视频服务器发送第一视频数据包,第一视频数据包属于第一视频帧。
本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的视频帧存储管理方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的 形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (23)

  1. 一种视频帧存储管理方法,其特征在于,包括:
    视频服务器接收第一视频数据包,其中,所述第一视频数据包归属于第一视频帧;
    查找是否存储有用于标识所述第一视频帧和存储地址之间映射关系的索引记录;
    若查找到用于标识所述第一视频帧和存储地址之间映射关系的第一索引记录,将所述第一视频数据包写入到所述第一索引记录包含的第一存储地址所指向的第一存储空间。。
  2. 根据权利要求1所述的方法,其特征在于,所述查找是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录包括:基于哈希算法查找索引存储区之中是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录。
  3. 根据权利要求2所述的方法,其特征在于,
    所述哈希算法的输入为所述第一视频帧的帧序号或基于所述第一视频帧的帧序号转换得到的数字串。
  4. 根据权利要求1所述的方法,其特征在于,还包括:
    若未查找到用于标识第一视频帧和存储地址之间映射关系的索引记录,则为所述第一视频帧在视频数据存储区中分配第二存储空间,将所述第一视频数据包写入所述第二存储空间;生成用于标识所述第一视频帧和第二存储地址之间映射关系的第二索引记录,其中,所述第二存储地址指向所述第二存储空间;基于哈希算法计算得到第三存储地址,并将所述第三存储地址存储至索引存储区域的第三存储空间。
  5. 根据权利要求1至3中任一项所述的方法,其特征在于,还包括:生成所述第一视频帧对应的第一超时判定记录,将所述第一超时判定记录写入超时管理队列之中,其中,第一超时判定记录包含第一视频帧的帧序号和第一时间 戳,其中,所述第一时间戳所指示的时间为接收到所述第一视频数据包的时间。
  6. 根据权利要求1至3中任一项所述的方法,其特征在于,还包括:在第一预设条件满足时,从所述超时管理队列中读取出所述第一超时判定记录,基于所述第一超时判定记录中包含的第一时间戳判断所述第一视频帧是否已经超时,若判定所述第一视频帧已经超时,则发送所述第一视频帧的所有视频数据包。
  7. 根据权利要求1至3中任一项所述的方法,其特征在于,所述第一索引记录中还包括收包指示位,所述收包指示位用于指示出当前还未接收到的归属于所述第一视频帧的视频数据包的个数。
  8. 根据权利要求7所述的方法,其特征在于,还包括:
    若查找到所述索引存储区存储有用于标识第一视频帧和存储地址之间映射关系的第一索引记录,则更新所述第一索引记录中的所述收包指示位的取值。
  9. 根据权利要求8所述的方法,其特征在于,还包括:在第二预设条件满足时,基于所述第一索引记录中的收包指示位取值确定是否已经接收到了归属于第一视频帧的所有视频数据包,若是,则发送所述第一视频帧的所有视频数据包。
  10. 根据权利要求8所述的方法,其特征在于,还包括:在第二预设条件满足时,基于所述第一索引记录中的收包指示位取值确定是否已经接收到了归属于第一视频帧的所有视频数据包,若是,则从所述超时管理队列中读取出所述第一超时判定记录,基于所述第一超时判定记录中包含的第一时间戳判断所述第一视频帧是否已经超时,若判定所述第一视频帧已经超时,则发送所述第一视频帧的所有视频数据包。
  11. 根据权利要求9或10所述的方法,其特征在于,
    所述第一索引记录中还包含帧发送标志位;
    在发送所述第一视频帧的所有视频数据包之后,所述方法还包括:更新所 述第一索引记录中的帧发送标志位的取值,其中,更新取值后的所述第一索引记录中的帧发送标志位指示出所述第一视频帧的所有视频数据包已被发送。
  12. 一种视频服务器,其特征在于,包括:
    接收单元,用于接收第一视频数据包,其中,所述第一视频数据包归属于第一视频帧;
    查找单元,用于查找是否存储有用于标识所述第一视频帧和存储地址之间映射关系的索引记录;以及
    写入单元,若查找到用于标识所述第一视频帧和存储地址之间映射关系的第一索引记录,用于将所述第一视频数据包写入到所述第一索引记录包含的第一存储地址所指向的第一存储空间。
  13. 根据权利要求12所述的视频服务器,其特征在于,
    所述查找单元基于哈希算法查找索引存储区之中是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录。
  14. 根据权利要求12所述的视频服务器,其特征在于,
    所述写入单元还用于,若未查找到用于标识第一视频帧和存储地址之间映射关系的索引记录,则为所述第一视频帧在视频数据存储区中分配第二存储空间,将所述第一视频数据包写入所述第二存储空间;生成用于标识所述第一视频帧和第二存储地址之间映射关系的第二索引记录,所述第二存储地址指向所述第二存储空间;基于哈希算法计算得到第三存储地址,并将所述第三存储地址存储至索引存储区域的第三存储空间。
  15. 根据权利要求14所述的视频服务器,其特征在于,还包括:超时管理单元,用于生成所述第一视频帧对应的第一超时判定记录,将所述第一超时判定记录写入超时管理队列之中,其中,第一超时判定记录包含第一视频帧的帧序号和第一时间戳,其中,所述第一时间戳所指示的时间为接收到所述第一视频数据包的时间。
  16. 根据权利要求12或13所述的视频服务器,其特征在于,还包括:第一 发送单元,用于在第一预设条件满足时,从所述超时管理队列中读取出所述第一超时判定记录,基于所述第一超时判定记录中包含的第一时间戳判断所述第一视频帧是否已经超时,若判定所述第一视频帧已经超时,则发送所述第一视频帧的所有视频数据包。
  17. 根据权利要求12或13所述的视频服务器,其特征在于,所述第一索引记录中还包括收包指示位,所述收包指示位用于指示出当前还未接收到的归属于所述第一视频帧的视频数据包的个数。
  18. 根据权利要求17所述的视频服务器,其特征在于,还包括:记录维护单元,若查找到所述索引存储区存储有用于标识第一视频帧和存储地址之间映射关系的第一索引记录,用于更新所述第一索引记录中的所述收包指示位的取值。
  19. 根据权利要求18所述的视频服务器,其特征在于,还包括:第二发送单元,在第二预设条件满足时,基于所述第一索引记录中的收包指示位取值确定是否已经接收到了归属于第一视频帧的所有视频数据包,若是,则发送所述第一视频帧的所有视频数据包。
  20. 根据权利要求18所述的视频服务器,其特征在于,还包括:第三发送单元,在第二预设条件满足时,基于所述第一索引记录中的收包指示位取值确定是否已经接收到了归属于第一视频帧的所有视频数据包,若是,则从所述超时管理队列中读取出所述第一超时判定记录,基于所述第一超时判定记录中包含的第一时间戳判断所述第一视频帧是否已经超时,若判定所述第一视频帧已经超时,则发送所述第一视频帧的所有视频数据包。
  21. 根据权利要求19或20所述的视频服务器,其特征在于,
    所述第一索引记录中还包含帧发送标志位;
    所述记录维护单元还用于,在发送所述第一视频帧的所有视频数据包之后,更新所述第一索引记录中的帧发送标志位的取值,其中,更新取值后的所述第一索引记录中的帧发送标志位指示出所述第一视频帧的所有视频数据包 已被发送。
  22. 一种通信系统,其特征在于,包括:
    用户终端和视频服务器;
    其中,所述用户终端,用于向所述视频服务器发送第一视频数据包,其中,所述第一视频数据包属于第一视频帧;
    所述视频服务器,接收所述第一视频数据包,查找是否存储有用于标识第一视频帧和存储地址之间映射关系的索引记录;若查找到用于标识所述第一视频帧和存储地址之间映射关系的第一索引记录,将所述第一视频数据包写入到所述第一索引记录包含的第一存储地址所指向的第一存储空间。
  23. 根据权利要求22所述的通信系统,其特征在于,所述视频服务器还用于,若未查找到用于标识所述第一视频帧和存储地址之间映射关系的索引记录,则为所述第一视频帧分配第二存储空间,将所述第一视频数据包写入所述第二存储空间;生成用于标识所述第一视频帧和第二存储地址之间映射关系的第二索引记录,其中,所述第二存储地址指向所述第二存储空间;基于哈希算法计算得到第三存储地址,并将所述第三存储至第三存储空间。
PCT/CN2014/088252 2013-10-23 2014-10-10 视频帧存储管理方法、视频服务器及通信系统 WO2015058617A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310504784.7A CN103500227B (zh) 2013-10-23 2013-10-23 视频帧存储管理方法和相关装置及通信系统
CN201310504784.7 2013-10-23

Publications (1)

Publication Number Publication Date
WO2015058617A1 true WO2015058617A1 (zh) 2015-04-30

Family

ID=49865438

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/088252 WO2015058617A1 (zh) 2013-10-23 2014-10-10 视频帧存储管理方法、视频服务器及通信系统

Country Status (2)

Country Link
CN (1) CN103500227B (zh)
WO (1) WO2015058617A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112600815A (zh) * 2020-12-08 2021-04-02 努比亚技术有限公司 视频显示方法、终端及计算机可读存储介质
CN113553468A (zh) * 2020-04-24 2021-10-26 杭州海康威视数字技术股份有限公司 录像索引生成方法以及录像回放检索方法
CN114007100A (zh) * 2021-10-28 2022-02-01 深圳市商汤科技有限公司 视频处理方法、装置、计算机设备以及存储介质
CN114245169A (zh) * 2021-12-21 2022-03-25 北京达佳互联信息技术有限公司 视频处理方法、装置、电子设备、介质和程序产品
CN114363304A (zh) * 2021-12-27 2022-04-15 浪潮通信技术有限公司 Rtp视频流存储、播放方法及装置
CN113784197B (zh) * 2021-08-23 2023-10-03 浙江大华技术股份有限公司 一种显示视频的方法、缓存视频帧的方法及装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103500227B (zh) * 2013-10-23 2017-02-22 腾讯科技(深圳)有限公司 视频帧存储管理方法和相关装置及通信系统
CN105451082A (zh) * 2014-08-27 2016-03-30 乐视致新电子科技(天津)有限公司 一种基于外部信号源的智能电视截屏方法及装置
CN104462280A (zh) * 2014-11-27 2015-03-25 国网上海市电力公司 用于嵌入式系统的数据信息存储及快速查询方法
CN105242882B (zh) * 2015-10-13 2018-09-21 东方网力科技股份有限公司 时序数据的帧存储方法及装置、时序数据查询方法及装置
CN106326439B (zh) * 2016-08-26 2019-08-23 东方网力科技股份有限公司 一种实时视频存储、检索方法及装置
CN112925943B (zh) * 2019-12-06 2022-04-08 浙江宇视科技有限公司 数据处理方法、装置、服务器及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779180A (zh) * 2012-06-29 2012-11-14 华为技术有限公司 数据存储系统的操作处理方法,数据存储系统
CN103077200A (zh) * 2012-12-27 2013-05-01 深圳市赛为智能股份有限公司 一种音视频存储索引方法及装置
CN103500227A (zh) * 2013-10-23 2014-01-08 腾讯科技(深圳)有限公司 视频帧存储管理方法和相关装置及通信系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136290A (zh) * 2011-04-21 2011-07-27 北京联合大学 一种嵌入式实时视频文件存储方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779180A (zh) * 2012-06-29 2012-11-14 华为技术有限公司 数据存储系统的操作处理方法,数据存储系统
CN103077200A (zh) * 2012-12-27 2013-05-01 深圳市赛为智能股份有限公司 一种音视频存储索引方法及装置
CN103500227A (zh) * 2013-10-23 2014-01-08 腾讯科技(深圳)有限公司 视频帧存储管理方法和相关装置及通信系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HE, JU ET AL.: "Design of File System for Video Surveillance System Based on Storage Area Network.", TV TECHNOLOGY., vol. 35, no. 13, 15 July 2011 (2011-07-15), pages 98 - 112 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553468A (zh) * 2020-04-24 2021-10-26 杭州海康威视数字技术股份有限公司 录像索引生成方法以及录像回放检索方法
CN112600815A (zh) * 2020-12-08 2021-04-02 努比亚技术有限公司 视频显示方法、终端及计算机可读存储介质
CN112600815B (zh) * 2020-12-08 2023-11-17 努比亚技术有限公司 视频显示方法、终端及计算机可读存储介质
CN113784197B (zh) * 2021-08-23 2023-10-03 浙江大华技术股份有限公司 一种显示视频的方法、缓存视频帧的方法及装置
CN114007100A (zh) * 2021-10-28 2022-02-01 深圳市商汤科技有限公司 视频处理方法、装置、计算机设备以及存储介质
CN114245169A (zh) * 2021-12-21 2022-03-25 北京达佳互联信息技术有限公司 视频处理方法、装置、电子设备、介质和程序产品
CN114245169B (zh) * 2021-12-21 2024-01-23 北京达佳互联信息技术有限公司 视频处理方法、装置、电子设备、介质和程序产品
CN114363304A (zh) * 2021-12-27 2022-04-15 浪潮通信技术有限公司 Rtp视频流存储、播放方法及装置
CN114363304B (zh) * 2021-12-27 2024-04-19 浪潮通信技术有限公司 Rtp视频流存储、播放方法及装置

Also Published As

Publication number Publication date
CN103500227A (zh) 2014-01-08
CN103500227B (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
WO2015058617A1 (zh) 视频帧存储管理方法、视频服务器及通信系统
US10649720B2 (en) Sound effect configuration method and system and related device
US10555053B2 (en) Video processing method and associated devices and communication system
CN107967322B (zh) 文件分类显示方法、移动终端及计算机可读存储介质
WO2016169465A1 (zh) 一种显示弹幕信息的方法、装置和系统
CN108763316B (zh) 一种音频列表管理方法及移动终端
CN108156508B (zh) 弹幕信息处理的方法、装置、移动终端、服务器及系统
CN109471690B (zh) 一种消息显示方法及终端设备
CN108241703B (zh) 网页数据传输方法和装置
CN108984066B (zh) 一种应用程序图标显示方法及移动终端
US10463965B2 (en) Control method of scene sound effect and related products
WO2019041280A1 (zh) 应用资源推荐方法及相关设备
CN109995862B (zh) 一种资源调度方法及终端
WO2018188278A1 (zh) 一种内存资源的分配方法及终端设备
CN109144723B (zh) 一种分配存储空间的方法和终端
US10158896B2 (en) Video channel allocation management method and related device, and communication system
CN106682189B (zh) 文件名显示方法及装置
CN109445945B (zh) 应用程序的内存分配方法、移动终端、服务器及存储介质
WO2019041283A1 (zh) 信息推荐方法及相关设备
CN109889568B (zh) 一种数据导出方法、服务器及系统
WO2013152656A1 (zh) 一种绘制滑动轨迹的方法及移动终端
CN105159655B (zh) 行为事件的播放方法和装置
CN107894958B (zh) 垃圾信息清理方法、终端、服务器及计算机可读存储介质
CN107766544B (zh) 一种信息管理方法及终端、计算机可读存储介质
CN107153688B (zh) 一种数据查询方法、设备及计算机存储介质

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: 14855128

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205N DATED 29/06/2016)

122 Ep: pct application non-entry in european phase

Ref document number: 14855128

Country of ref document: EP

Kind code of ref document: A1