vp8 tree coding
来源:互联网 发布:java tomcat 部署 编辑:程序博客网 时间:2024/06/11 08:06
VP8 tree coding is similar to Huffman coding algorithm which use pre-defined coding tree to decode (encode) syntax element value from (into) binary bit strings.
“A tree representing an encoding of an alphabet of n possible values always contains n-1 non-leaf nodes". In VP8, these coding trees are 2-forks trees stored in sequential arrays with positive items represent non-leaf nodes (sub-trees) while the non-positive items represent the leaf nodes.
Take ymode as example:
typedef enum{ DC_PRED, V_PRED, H_PRED, TM_PRED, B_PRED, num_ymodes}intra_mbmode;
const tree_index ymode_tree [2 * (num_ymodes - 1)] ={ -DC_PRED, 2, /* root: DC_PRED = "0", "1" subtree */ 4, 6, /* "1" subtree has 2 descendant subtrees */ -V_PRED, -H_PRED, /* "10" subtree: V_PRED = "100", H_PRED = "101" */ -TM_PRED, -B_PRED /* "11" subtree: TM_PRED = "110", B_PRED = "111" */};
The ymode_tree can be represented as follow:
The tree decoding process is like this:
idx = 0;while(){ idx += read_one_bit(); item = coding_tree[ idx ]; if( item > 0 ) { idx = item; // jump to subtree }else{ return (-item); // got a leaf }}
- vp8 tree coding
- VP8
- coding tree unit解析
- [Random Coding] Tree Iterator
- C++ Binary Tree coding exercise
- 升级vp8
- VP8简介
- VP8简介
- Huffman coding tree(最小堆实现)
- [Random Coding] De/Serialization Binary Tree
- Larger Coding Tree Block & Larger Transform Unit
- VP8视频格式初探
- vs2010编译vp8
- ios:编译vp8 libvpx
- 深入了解 VP8
- build vp8 on android
- freeswitch 编码VP8
- build vp8 on android
- C++ Primer学习笔记(二):第3、4、5、6章
- 在OS X Lion 10.8.4 x86_64平台搭建C++11开发环境
- Annotation 入门实例
- 1087 Super Jumping! Jumping! Jumping!
- [Shader 着色器]学习shader之前必须知道的东西之计算机图形学(一)渲染管线
- vp8 tree coding
- JVM 基础知识
- JDK1.5的新特性--Lock
- C++ Primer学习笔记(三):第7章
- 【当你学不进去的时候】普瑞马法则
- wtl在vs2008的安装
- HDU 1872 稳定排序
- POJ 1521 && HDOJ 1053
- HDU 1392 Surround the Trees(求凸包周长)