P
US9615087B2ActiveUtilityPatentIndex 79

Method for processing a compressed video stream

Assignee: AMON PETERPriority: Jan 21, 2011Filed: Jan 16, 2012Granted: Apr 4, 2017
Est. expiryJan 21, 2031(~4.6 yrs left)· nominal 20-yr term from priority
Inventors:AMON PETERHUTTER ANDREASKAUP ANDRéLAUMER MARCUS
H04N 19/87H04N 5/147H04N 19/188H04N 19/48H04N 19/172H04N 19/146H04N 19/00563
79
PatentIndex Score
9
Cited by
18
References
22
Claims

Abstract

For a compressed video stream formed of a sequence of compressed data packets, each compressed packet is assigned to a frame by processing the undecoded data packet. A frame includes packets. A first plurality of frames is assigned to a first sliding window and a second plurality of frames is assigned to a second sliding window. The first and second sliding windows have different frames. A first window indicator is calculated by determining a first indicator representing an average number of packets per frame within the first window, and/or a second indicator representing size information of the data within the first window. A second window indicator is calculated by determining a third indicator representing an average number of packets per frame within the second window, and/or a fourth indicator representing size information of the data within the second window. The first and the second window indicators are compared.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A method for processing a compressed video stream formed of a sequence of compressed data packets, the method comprising:
 during a training phase, analyzing a first video stream portion by:
 (a) receiving a series of compressed data packets of the first video stream portion; 
 (b) for each received compressed data packet, assigning the compressed data packet to a frame based on data of the compressed data packet, wherein a frame includes one or more compressed data packets; 
 (c) assigning a first plurality of frames to a first sliding window and a second plurality of frames to a second sliding window, 
 (d) periodically calculating a first window indicator by determining
 a first indicator representing an average number of compressed data packets per frame within the first sliding window, and/or 
 a second indicator representing size information of data within the first sliding window; 
 
 (e) periodically calculating a second window indicator by determining
 a third indicator representing an average number of compressed data packets per frame within the second sliding window, and/or 
 a fourth indicator representing size information of data within the second sliding window; and 
 
 (f) periodically calculating a training phase change factor indicating a variation between the first window indicator and the second window indicator; and 
 (g) automatically determining a change threshold factor based on the periodically calculated training phase change factor; 
 
 during an analysis phase, analyzing a second video stream portion based on the change threshold factor by:
 receiving a series of compressed data packets of the second video stream portion, 
 analyzing the compressed data packets of the second video stream portion according to steps (b) through (f) to periodically calculate an analysis phase change factor for the compressed data packets of the second video stream portion, 
 compare the periodically calculated analysis phase change factor to the change threshold factor; and 
 identifying a video content change in response to the analysis phase change factor exceeding the change threshold factor. 
 
 
     
     
       2. The method according to  claim 1 , comprising undecoding data from each compressed data packet prior to assigning the compressed data packet to a frame, wherein undecoding data from the compressed data packet is performed without an entropy encoding process. 
     
     
       3. The method according to  claim 1 , wherein the first window indicator is calculated by determining the first indicator, and the second window indicator is calculated by determining the third indicator. 
     
     
       4. The method according to  claim 1 , wherein the first window indicator is calculated by determining the second indicator, and the second window indicator is calculated by determining the fourth indicator. 
     
     
       5. The method according to  claim 1 , wherein the size information is an average packet size per frame or an average frame size. 
     
     
       6. The method according to  claim 1 , comprising undecoding data from each compressed data packet prior to assigning the compressed data packet to a frame, wherein undecoding data from the compressed data packet comprises extracting a timestamp from a header of the compressed data packet by a byte-reading operation. 
     
     
       7. The method according to  claim 1 , wherein determining the size information of data comprises determining a size of the compressed data packet by analyzing a transport layer packet in which the compressed data packet is encapsulated. 
     
     
       8. The method according to  claim 1 , wherein the first and second sliding windows have a fixed size, measured in frames. 
     
     
       9. The method according to  claim 1 , wherein the first and second sliding windows relate to a fixed length time interval, and the first and second sliding windows contain the frames received during the respective time interval such that different sliding windows contain a different number of frames. 
     
     
       10. The method according to  claim 1 , wherein the change threshold factor is calculated by
     th   ANORP   =c   th   ANORP   ·PAR   ANORP    
 and/or
     th   ARPS   =c   th   ARPS   ·PAR   ARPS . 
 
 with 
 
       
         
           
             
               
                 PAR 
                 ANORP 
               
               = 
               
                 
                   
                     
                       max 
                       
                         1 
                         ≤ 
                         i 
                         ≤ 
                         n 
                       
                     
                     ⁢ 
                     
                       
                         H 
                         ANORP 
                       
                       ⁡ 
                       
                         ( 
                         i 
                         ) 
                       
                     
                   
                   
                     
                       1 
                       n 
                     
                     ⁢ 
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           1 
                         
                         n 
                       
                       ⁢ 
                       
                         
                           H 
                           ANORP 
                         
                         ⁡ 
                         
                           ( 
                           i 
                           ) 
                         
                       
                     
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 and 
                 ⁢ 
                 
                   / 
                 
                 ⁢ 
                 or 
               
             
           
         
         
           
             
               
                 PAR 
                 ARPS 
               
               = 
               
                 
                   
                     max 
                     
                       1 
                       ≤ 
                       i 
                       ≤ 
                       a 
                     
                   
                   ⁢ 
                   
                     
                       H 
                       ARPS 
                     
                     ⁡ 
                     
                       ( 
                       i 
                       ) 
                     
                   
                 
                 
                   
                     1 
                     n 
                   
                   ⁢ 
                   
                     
                       ∑ 
                       
                         i 
                         = 
                         1 
                       
                       n 
                     
                     ⁢ 
                     
                       
                         H 
                         ARPS 
                       
                       ⁡ 
                       
                         ( 
                         i 
                         ) 
                       
                     
                   
                 
               
             
           
         
         wherein 
         ANORP indicates an average number of data packets per frame, 
         ARSP indicates an average packet size per frame, 
         th ANORP  and th ARPS  indicate the first and second thresholds, respectively, 
         n indicates number of the first/second factors stored in a history H ANORP /H ARPS , and 
         c th   ANORP /c th   ARPS  is a given constant value. 
       
     
     
       11. The method according to  claim 1 , wherein the compressed video stream is transmitted with a Real-time Transport Protocol (RTP). 
     
     
       12. The method according to  claim 1 , wherein the compressed video stream contains video content with sparse motion. 
     
     
       13. The method according to  claim 12 , wherein the compressed video stream is a video surveillance video stream. 
     
     
       14. The method according to  claim 1 , wherein Intra frames are not considered for determining the first and second window indicators. 
     
     
       15. The method according to  claim 14 , wherein Intra frames are predicted or estimated based on knowledge that Intra frame coding uses a fixed distance between two consecutive Intra frames. 
     
     
       16. The method according to  claim 14 , wherein Intra frames are detected in a byte-reading operation of a payload header of the compressed data packets, to decide whether each compressed data packet contains data of an Intra frame or data of an interpredicted frame. 
     
     
       17. The method according to  claim 16 , wherein the bytereading operation reads a first byte of the payload header. 
     
     
       18. The method according to  claim 14 , wherein Intra frames are detected by determining whether at least one of the first factor and/or the second factor exceed a corresponding threshold, and detecting an Intra frame if the corresponding threshold is exceeded due to a single frame. 
     
     
       19. A non-transitory computer readable storage medium storing a program, which when executed by a digital computer, causes the digital computer to perform a method for processing a compressed video stream formed of a sequence of compressed data packets, the method comprising:
 during a training phase, analyzing a first video stream portion by:
 (a) receiving a series of compressed data packets of the first video stream portion; 
 (b) for each received compressed data packet: 
 (b) for each received compressed data packet, assigning the compressed data packet to a frame based on data of the compressed data packet, wherein a frame includes one or more compressed data packets; 
 (c) assigning a first plurality of frames to a first sliding window and a second plurality of frames to a second sliding window, 
 (d) periodically calculating a first window indicator by determining
 a first indicator representing an average number of compressed data packets per frame within the first sliding window, and/or 
 a second indicator representing size information of data within the first sliding window; 
 
 (e) periodically calculating a second window indicator by determining
 a third indicator representing an average number of compressed data packets per frame within the second sliding window, and/or 
 a fourth indicator representing size information of data within the second sliding window; and 
 
 (f) periodically calculating a training phase change factor indicating a variation between the first window indicator and the second window indicator; and 
 (g) automatically determining a change threshold factor based on the periodically calculated training phase change factor; 
 
 during an analysis phase, analyzing a second video stream portion based on the change threshold factor by:
 receiving a series of compressed data packets of the second video stream portion, 
 analyzing the compressed data packets of the second video stream portion according to steps (b) through (f) to periodically calculate an analysis phase change factor for the compressed data packets of the second video stream portion, 
 compare the periodically calculated analysis phase change factor to the change threshold factor; and 
 identifying a video content change in response to the analysis phase change factor exceeding the change threshold factor. 
 
 
     
     
       20. A processing unit to process a compressed video stream formed of a sequence of compressed data packets, comprising:
 a receiver unit to receive compressed data packets; 
 a first assignment unit to assign each compressed data packet to a frame based on data of the compressed data packet, wherein a frame includes one or more compressed data packets; 
 a second assignment unit to assign a first plurality of frames to a first sliding window and a second plurality of frames to a second sliding window wherein the first and second sliding windows are formed from at least partially different frames; 
 a first calculation unit to calculate a first window indicator by determining
 a first indicator representing an average number of compressed data packets per frame within the first sliding window, and/or 
 a second indicator representing size information of data within the first sliding window; 
 
 a second calculation unit to calculate a second window indicator by determining
 a third indicator representing an average number of compressed data packets per frame within the second sliding window, and/or 
 a fourth indicator representing size information of data within the second sliding window; and 
 
 a comparison unit to make comparisons based on the first and second window indicators; 
 wherein the receiver unit, first and second assignment units, first and second calculation units, and comparison unit are configured to cooperate to:
 during a training phase in which compressed data packets of a first video stream portion are received at the receiver unit:
 calculate values of the first and second indicators for respective frames in the first and second sliding windows, based on the received compressed data packets of the first video stream portion, 
 calculate a training phase change factor indicating a variation between the values of the first and second window indicators, and 
 automatically determine a change threshold factor based on the training phase change factor, 
 
 during an analysis phase in which compressed data packets of a second video stream portion are received at the receiver unit:
 calculate values of the first and second indicators for respective frames in the first and second sliding windows, based on the received compressed data packets of the second video stream portion, 
 calculate an analysis phase change factor indicating a variation between the values of the first and second window indicators, 
 compare the analysis phase change factor to the change threshold factor; and 
 identify a video content change in response to the analysis phase change factor exceeding the change threshold factor. 
 
 
 
     
     
       21. A method for processing a compressed video stream formed of a sequence of compressed data packets, the method comprising:
 receiving a series of compressed data packets; 
 for each received compressed data packet, assigning the compressed data packet to a frame based on data of the compressed data packet, wherein a frame includes one or more compressed data packets; 
 assigning a first plurality of frames to a first sliding window and a second plurality of frames to a second sliding window, wherein the first and second sliding windows are at least partially distinct from each other; 
 periodically calculating a first window indicator representing an average number of compressed data packets per frame within the first sliding window; 
 periodically calculating a second window indicator representing an average number of compressed data packets per frame within the second sliding window; 
 periodically calculating a phase change factor indicating a variation between the first window indicator and the second window indicator; 
 comparing the periodically calculated phase change factor to a change threshold factor; and 
 identifying a video content change in response to the phase change factor exceeding the change threshold factor. 
 
     
     
       22. The method according to  claim 21 , wherein the change threshold factor is determined by analyzing a training video stream portion during a training phase performed prior to receiving the series of compressed data packets.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.