vic and NAÏVE K. Mayer-Patel CS294-9 :: Fall 2003 vic: Overview/Motivation • • • • Apply ALF principles to video conferencing Framework for composing applications Extensible UI Compression scheme CS294-9 :: Fall 2003 Tools vs. Toolkits • Composable tools better than API-based toolkits. – Small, highly optimized functional units. – Glued together with scripting. • Application logic. – Video conferencing • vic - video tool • vat - audio tool • conference bus - coordination and control CS294-9 :: Fall 2003 Software Architecture • C++ classes that passed where possible ADU’s • Tcl used as scripting language to glue them together in various ways. • See figure in paper. CS294-9 :: Fall 2003 Conference Bus • Key for scripting application semantics that cut across media types. – Synchronization – Floor control • Typed messages broadcast onto communication channel – Used local loopback multicast – Tools responded to messages in well known and possibly configurable ways. – Application logic implemented as just another participant in this conversation. CS294-9 :: Fall 2003 Are they right? • Discussion question: – Do composable tools embody ALF principles better than toolkits? CS294-9 :: Fall 2003 Conditional Replenishment • Key to the compression scheme. • Compare blocks to last time block was sent. – Uses subset of pixels for comparison. Why? • Send only on “signficant” change. – Need a threshold for significant. • Send some blocks if they get old enough regardless if there was change or not. CS294-9 :: Fall 2003 CR Features • • • • Robustness to loss Localizes error Avoids persistent error Balances compression with CPU load – CR done in pixel domain before transform coding. – Doesn’t require decode operation on sender-side. – Are these design decisions still relevant? CS294-9 :: Fall 2003 Intra-H.261 • Adapted existing H.261 standard – – – – All blocks intra coded CR implemented via skipped blocks RTP packetization standard already defined. Intra-H.261 was technically still valid syntactically as a subset of H.261 CS294-9 :: Fall 2003 Intra-H.261 as ALF • Decoder state checkpointed in RTP payload header. – Not mentioned in paper, but important to creating TDU independence • Dependency chains limited to missing block updates. – Localizes error. • CR timeout algorithm ensured eventual consistency. • Although compression weakens, performance under loss improves. CS294-9 :: Fall 2003 Weaknesses • What are the papers main weaknesses? CS294-9 :: Fall 2003 NAÏVE: Overview/Motivation • Design new video codec with loss in mind. – – – – – Broadcast Any subset of packets should work. Support instantaneous changes in send rate. Graceful degradation of quality given loss. Rapid joins. CS294-9 :: Fall 2003 Design Principles • Globalness – Every packet reconstructs entire frame. – Every packet adds value to any previous packets from same frame. • Independence – No packet depends on any other. • Precludes inter-frame coding altogether. CS294-9 :: Fall 2003 Algorithm • Consider each image to be a multi-res pyramid. • Each pixel at each resolution level given a confidence weight. • Start with some set of samples at highest resolution. • Push to create approximations of lower resolution levels. • Pull to reconstruct representation of higher resolution levels. CS294-9 :: Fall 2003 Sampling • Break image into blocks. • Each packet contains at least one sample from every block. • Cn contain more samples from some blocks. • Sample can come from levels 0, 1, or 2. • Sampling pattern generated randomly. – Source has to communicate random number seed to dest in some manner. What are our choices? CS294-9 :: Fall 2003 Temporal Locality • Samples from past frames reused in reconstruction of subsequent frames. • Special code word to avoid this (i.e., flush old samples). • What does this imply about source content? In other words, what are they assuming? CS294-9 :: Fall 2003 Performance • Reconstruction results are impressive. • Compression suffers – Nothing for free. • SNR maintained well under loss. CS294-9 :: Fall 2003 Weaknesses • What are the main weaknesses of the paper? CS294-9 :: Fall 2003