US2011280306A1PendingUtilityA1

Real-time video coding/decoding

Assignee: ZHELUDKOV ALEXANDERPriority: Sep 7, 2007Filed: Jul 28, 2011Published: Nov 17, 2011
Est. expirySep 7, 2027(~1.1 yrs left)· nominal 20-yr term from priority
H04N 19/56H04N 19/42H04N 19/85H04N 19/523
51
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A video codec having a modular structure for encoding/decoding a digitized sequence of video frames in a multi-core system is described. The video codec comprises a memory unit; a multithreading engine. and a plurality of control and task modules organized in a tree structure, each module corresponding to a coding operation. The modules communicate with each other by control messages and shared memory. The control modules control all coding logic and workflow, and lower level task modules perform tasks and provide calculations upon receiving messages from the control task modules. The multithreading engine maintains context of each task and assigns at least one core to each task for execution. The method of coding/decoding comprises an error resilient algorithm.

Claims

exact text as granted — not AI-modified
1 . A video codec having a modular structure for encoding/decoding a digitized sequence of video frames in a multi-core system, the video codec comprising:
 a memory unit;   a multithreading engine;   a plurality of control modules configured to control all coding logic and workflow; and   a plurality of task modules configured to execute tasks assigned by the multithreading engine;   
       wherein the modules are organized in a tree structure, each module corresponding to a coding operation, the modules are configured to share the memory and communicate with each other by control messages, and the multithreading engine is configured to initialize tasks, to maintain context of each task and to assign at least one of the plurality of task modules to each task for execution, to send and handle messages, and to provide synchronization and communication. 
     
     
         2 . The video codec of  claim 1 , wherein the tree structure is flexible and changeable depending on a number of available modules and tasks. 
     
     
         3 . The video codec of  claim 1 , wherein the control modules are configured to control all coding logic and workflow, and performance of the task modules. 
     
     
         4 . The video codec of  claim 3 , wherein the task modules include separate modules for long lasting calculations. 
     
     
         5 . The video codec having a modular structure according to  claim 1 , wherein the plurality of task modules comprises:
 at least one module configured to provide pre-processing temporal denoising;   at least one module configured to perform core motion estimation;   at least one module configured to perform distributed motion estimation;   at least one module configured to perform weighted prediction; and   at least one module configured to perform an error resilience algorithm.   
     
     
         6 . A method of encoding/decoding a digitized sequence of video frames in a multi-core system, the method comprising:
 encoding the sequence of video frames by performing core motion estimation and weighted texture prediction; and   decoding encoded sequence of video frames using high motion update and low motion update for error resilience;   
       wherein the error resilience comprises:
 defining each macroblock as a high motion macroblock or a low motion macroblock; 
 defining for each macroblock of a current frame a set of macroblocks including the macroblock of the current frame and at least one macroblock located at the same position in previous frames; and 
 making a choice between INTRA and INTER coding mode for each macroblock of high motion update frame and each macroblock of low motion update frame. 
 
     
     
         7 . The method of encoding/decoding of  claim 6 , wherein the choice between INTRA and INTER coding mode for the error resilience is based on the following:
 the INTRA coding mode is used for high motion update frames, when
   cost_intra· K   H <cost_inter, and
 
   set C(D) contains at least one high motion macroblock; and   
       the INTRA coding mode is used for low motion update frames, when
   cost_intra· K   L <cost_inter, and
 
 set C(T L ) contains at least one high or low motion macroblock; where 
 K H —INTRA cost scaling factor for high motion frames; 
 K L —INTRA cost scaling factor for low motion frames; 
 T H —high motion INTRA update period; 
 T L —low motion INTRA update period; and 
 D—high motion INTRA update depth. 
 
     
     
         8 . The method of encoding/decoding of  claim 7 , wherein a macroblock is defined as a high motion macroblock, when
   S>=MVT H , and     SD>=MVTD H ; and   
       a macroblock is defined as a low motion macroblock, when
   MVT L <=S<MVT H , and 
   MVTD L <=SD<MVTD H , 
 
       where
 S is a sum of absolute values of motion vector components of the macroblock; 
 SD is a sum of absolute values of motion vector prediction difference components of the macroblock; 
 MVT H  is a high motion threshold for the sum of absolute values of the motion vector components; 
 MVTD H  is a high motion threshold for the sum of absolute values of the motion vector prediction difference components; 
 MVT L  is a low motion threshold for the sum of absolute values of the motion vector components; and 
 MVTD L  is a low motion threshold for the sum of absolute values of the motion vector prediction difference components.

Join the waitlist — get patent alerts

Track US2011280306A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.