Cisco Thor Features in the AV1 Video Codec
When the Alliance for Open Media (AOMedia) developed the AV1 video standard, it synthesized core technologies from three major predecessor codecs: Google’s VP9/VP10, Mozilla/Xiph’s Daala, and Cisco’s Thor. Cisco designed Thor specifically for royalty-free, real-time video conferencing, contributing several vital tools to the unified standard. This article examines the specific features and concepts from Cisco's Thor that directly shaped the AV1 specification, most notably the Constrained Directional Enhancement Filter (CDEF), motion vector prediction enhancements, and low-latency architectural optimizations.
Constrained Directional Enhancement Filter (CDEF)
The most prominent and direct contribution from Thor to AV1 is the Constrained Directional Enhancement Filter (CDEF). During the AV1 standardization process, engineers merged Cisco’s Constrained Low-Pass Filter (CLPF) from Thor with Daala's directional deringing filter.
Thor's CLPF was originally designed to remove ringing artifacts around sharp edges without blurring image details. It achieved this by applying a non-linear low-pass filter whose threshold restricted pixel adjustments to small values, ensuring that true edges were preserved. In AV1, Daala's technique first identifies the direction of primary edges within an 8x8 block, and Thor's constrained filtering approach is then applied along that detected direction. CDEF operates as an in-loop filter immediately after inverse transformation and deblocking, significantly improving subjective visual quality and coding efficiency.
Motion Vector Prediction Improvements
Thor introduced sophisticated spatial and temporal motion vector derivation techniques tailored for high-motion and conversational video. AOMedia incorporated several of Thor’s motion vector prediction ideas into AV1's advanced motion compensation pipeline, including:
- Temporal Motion Vector Candidates: Thor contributed refined methods for scanning co-located reference blocks across previous frames to build reliable candidate lists for temporal motion prediction.
- Spatial Neighbor Sampling: Thor’s strategies for deriving motion vectors from surrounding blocks helped expand AV1’s spatial motion vector candidate list, allowing the codec to represent complex motion fields with minimal signaling overhead.
Transform and Partitioning Flexibility
While AV1's core partitioning framework was primarily derived from VP9’s quadtree structure, Thor’s experimentation with multi-level recursive partitioning influenced AV1’s support for more varied block sizes. Thor demonstrated the utility of dynamic transform selection—applying variations of the Discrete Cosine Transform (DCT) and Discrete Sine Transform (DST) depending on the directional properties of the residual data—which directly supported AV1's hybrid transform engine.
Real-Time Communications and Error Resilience
Because Cisco developed Thor primarily for Webex and video conferencing, the codec included mechanisms to handle packet loss, jitter, and low-latency encoding constraints. Several operational concepts from Thor influenced AV1's real-time profiles:
- Frame-Level Scalability: Thor implemented straightforward reference frame management optimized for temporal scalability (hierarchical P-frames), facilitating dynamic bit-rate adaptation in live streaming.
- Low-Complexity Modes: Algorithmic shortcuts developed for Thor to reduce encoder complexity on consumer hardware helped inform the faster encoding presets and low-latency operational modes standardized in AV1.