上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 23 下一页
摘要: 这是网上的一篇文章, 我重新读了一下, 然后做了一些整理 1.为什么要进行变换 空间图像数据通常是很难压缩的:相邻的采样点具有很强的相关性(相互关联的),而且能量一般平均分布在一幅图像中,从而要想丢掉某些数据和降低数据精度而不明显影响图像质量,就要选择合适的变换,方法,使图像易于被压缩。适合压缩的变换方法要有这样几个性质: (1).可以聚集图像的能量(将能量集中到少数有意义的数值上),如下图: 举个例子说明, 左图是变换前的数据, 右图是变换后的数据: 可以看出,经变换后,数据的能量基本上集中到左上方(低频信号)了,而变换后的数据完全可以通过反变换还原成原来的数据。为了达到压缩文件... 阅读全文
posted @ 2012-07-31 14:27 Mr.Rico 阅读(13531) 评论(2) 推荐(2)
摘要: 2011年4月20日15:16:43 JM8.6中对数据分割的一点解释 分析currslice->partarr[partmap[SE_MVD]] (关于数据分割的实现) Currslice指当前slice Partarr是一个datapartition数组 Partmap :const int* partmap = assignse2partition[input->partition_mode]; Int * assignse2partition[2] ; Static int assignse2partition_nodp[SE_MAX_ELEMENTS] = { 0, 0, 阅读全文
posted @ 2012-07-31 14:16 Mr.Rico 阅读(1018) 评论(0) 推荐(0)
摘要: 2011-9-6 10:16:12find_sad_16x16是一个比较重要的函数, 下面是其被调用过程: 在find_sad_16x16中有一个/4和/2的问题, 这其实就牵扯到hadamard变换的问题.在H.264乐园论坛上给出的解释如下:hadamard 变换本身就有一个 /2 的操作,因此每次变换都要对所有系数进行 /2。而 find_sad_16x16 函数执行了两次 hadamard 变换:首先对 256 个系数进行一次,其次对所有 DC 系数再做一次,因此对DC 系数应该 /4,而对 AC 系数应该 /2。find_sad_16x16 函数中的:M4[ i ][j]=M0[0. 阅读全文
posted @ 2012-07-31 13:33 Mr.Rico 阅读(3308) 评论(1) 推荐(0)
摘要: MPEG系列标准 H.26x系列标准 H.264的技术改进 (1)更加精细的宏块分割模式,运动估计的精度更高(1/4像素的亮度精度和1/8像素的色度精度) (2)整数DCT变换, 变换过程全部采用整数运算, 避免了浮点数运算过程中导致的错误积累, 降低了复杂度,并且正向的操作和逆向操作可以完全吻合. (3)H.264中的环内去块效应滤波器可以很好的改善图像的质量, 使得进行运动估计时的结果更加准确. (4)熵编码中的CAVLC和CABAC比之前的方法效率更高, 特别是CABAC 阅读全文
posted @ 2012-07-31 13:28 Mr.Rico 阅读(3039) 评论(0) 推荐(0)
摘要: H.264编码器框架图 H.264解码器框架图 H264encflow1_v2.jpg:JM6.1 H264encflow2_v2:JM6.1 H264deblock_V2:JM6.1 H.264中运动估计和运动搜索:JM6.1 H.264中的亚像素预测 JM13.2 流程图:编码与解码流程 1/4像素插值:红色的是整像素,蓝色是1/2像素(半像素),黄色是1/4像素 JM中的函数流程 阅读全文
posted @ 2012-07-31 13:06 Mr.Rico 阅读(2878) 评论(0) 推荐(0)
摘要: JM86中多参考帧相关问题关于jm86中MAX_LIST_SIZE值的选取我们知道在参考图像队列中listX[ i ][ j ], 这边的i的取值范围是0~5,而且0~5所代表的含义论坛上已经有人说过。即如下:istXsize[6];奇数为参考帧列表 list0 中参考帧的个数;偶数为参考帧列表 list1 中参考帧的个数。0、1用于帧图像或者场图像,2、3用于MBAFF帧图像中顶宏块,4、5用于MBAFF帧图像中底宏块所有涉及帧间参考的大小为6的数组都可以这样类推。例如listX[6],它的解释就是:奇数为参考帧列表 list0;偶数为参考帧列表 list1。0、1用于帧图像或者场图像,2、 阅读全文
posted @ 2012-07-31 12:39 Mr.Rico 阅读(2601) 评论(1) 推荐(0)
摘要: 2011年9月5日13:47:04帧内预测之Intra16x16中的4种模式选择在JM8.6中对应的函数是Intra16x16_Mode_Decision, 该函数包括3部分: intrapred_luma_16x16:计算4种模式的预测值 find_sad_16x16: 计算SATD值作为代价,从而得到最优的模式 dct_luma_16x16:对于所选出的最优模式进行DCT变换/量化和反DCT变换和量化下面对这三个函数进行详细分析一下:(1)intrapred_luma_16x16 这个函数其实很简单, 都是对应着标准来写的. Intra16x16有vertical,... 阅读全文
posted @ 2012-07-31 11:07 Mr.Rico 阅读(3952) 评论(0) 推荐(1)
摘要: 第12章 差错控制1. 视频传输错误视频传输的信道有可能是不可靠的无线信道Internet传输错误随机的比特错误比特反置、比特插入、比特丢失突发错误(Bursty Error)数据包丢失局域网数据包冲突延迟缓冲区溢出噪声干扰 2. 差错控制的目的目的克服由于信道传输错误及有这些错误产生的影响差错控制技术可以应用在信源编码信道编码解码端3. 差错控制技术数据重传(Retransmission)前向纠错(Forward Error Correction,FEC)差错隐藏(Error Concealment)差错恢复(Error Resilience)信道编码数据重传,FEC信源编码差错隐藏,差错恢 阅读全文
posted @ 2012-07-30 10:03 Mr.Rico 阅读(5671) 评论(0) 推荐(3)
摘要: 第10章 视频处理1.视频处理在视频压缩前后,对视频图像质量增强的操作视频编解码系统输出的图像主观质量不仅与压缩算法的性能有关,还受视频处理的影响压缩之前对视频的处理称作预处理(Pre-processing)压缩之后对视频的处理称作后处理(Post-processing) 2. 预处理预处理的目的为了减少原图像受到的损害,保持原图像的重要特征,使原图像能被高效的压缩噪声污染光照差抖动为了进行视频格式转换去隔行空间缩放帧率转换去噪声处理 去隔行(Deinterlace)隔行扫描的视频图像在逐行扫描播放设备上播放会有隔行效应,降低了主观质量 3. 去隔行的方法在单场内去隔行用奇数(偶数)行插值.. 阅读全文
posted @ 2012-07-30 00:52 Mr.Rico 阅读(8844) 评论(0) 推荐(3)
摘要: 远程桌面连接可以很方便的在远端控制其他地方的机器。在Window下,windows本身带有远程连接的程序。比如在Windows xp下是下面的:在Windows7下是这样的:两者基本一样的。在linux下就不一样的,方式很多。我使用的是Fedora 14,所以主要讨论关于Fedora 14的。下面主要讨论以下几种情况的远程连接:1. Windows连接Windows这个就很简单了,直接输入对方的ip地址就可以的。不过要注意的是,被连接的机器要在“我的电脑->属性”中设置一下:允许远程桌面连接。否则还是无法连接成功的。2. Windows连接Fedora比较简单的一种方法是使用Xrdp软件 阅读全文
posted @ 2012-07-30 00:04 Mr.Rico 阅读(8505) 评论(0) 推荐(0)
摘要: 第6章 变换编码1. 变换编码变换编码的目的去除空间信号的相关性将空间信号的能力集中到频域的一小部分低频系数上能量小的系数可通过量化去除,而不会严重影响重构图像的质量块变换和全局变换块变换:离散余弦变换(Discrete Cosine Transform,DCT),4x4,8x8,16x16全局变换:小波变换(Wavelet)变换的能量集中特性DCT编码 2. 变换类型K-L变换傅里叶变换余弦变换小波变换3. KL变换最优变换基函数根据具体图像而确定没有快速算法实际中很少使用复杂度极高 K-L变换非常复杂度很高,不实用需要计算协方差矩阵U 需要计算特征向量需要发送 到解码器4. ... 阅读全文
posted @ 2012-07-29 20:09 Mr.Rico 阅读(20134) 评论(6) 推荐(1)
摘要: 第四章 视频编码基础 1. 压缩码流语法:码流中各个元素的位置关系01001001…图像编码类型(01),宏块类型(00),编码系数1001等语义:每个语法元素所表达的意义。例如:图像编码类型 2. 编码层次序列(Sequence)图像组(Group of Pictures,GOP)图像(Picture)条带(Slice)宏块(Macroblock,MB)块(Block)3. 码流结构 3. PB帧编码 4. 序列编码对象(1)IBBP序列 序列:一段连续编码的并具有相同参数的视频图像。序列起始码:专有的一段比特串,标识一个序列的压缩数据的开始MPEG-2的序列起始码为十六进制数000001( 阅读全文
posted @ 2012-07-29 09:52 Mr.Rico 阅读(21520) 评论(4) 推荐(6)
摘要: 第1章介绍1. 为什么要进行视频压缩?未经压缩的数字视频的数据量巨大存储困难一张DVD只能存储几秒钟的未压缩数字视频。传输困难1兆的带宽传输一秒的数字电视视频需要大约4分钟。 2. 为什么可以压缩去除冗余信息空间冗余:图像相邻像素之间有较强的相关性时间冗余:视频序列的相邻图像之间内容相似编码冗余:不同像素值出现的概率不同视觉冗余:人的视觉系统对某些细节不敏感知识冗余:规律性的结构可由先验知识和背景知识得到 3. 数据压缩分类无损压缩(Lossless)压缩前解压缩后图像完全一致X=X'压缩比低(2:1~3:1)例如:Winzip,JPEG-LS有损压缩(Lossy)压缩前解压缩后图像不 阅读全文
posted @ 2012-07-28 23:27 Mr.Rico 阅读(73298) 评论(20) 推荐(6)
摘要: Raw Byte Sequence Packet (RBSP)String Of Data Bits (SODB)POC:Picture Order CountSequence parameter set (SPS)Picture parameter set (PPS)DPB 解码图像缓冲区decoder picture bufferIDR图像 立即刷新图像 一个序列的第一个图像,IDR图像都是I帧图像PAFF means "Picture Adaptive Field Frame", MBAFF means "MacroBlock Adaptive Field 阅读全文
posted @ 2012-07-28 14:59 Mr.Rico 阅读(3824) 评论(0) 推荐(0)
摘要: 1. jm8.6中所涉及的几项关于比特分布的地方: 序列参数集SPS: parset.c文件中的GernateSPS... 具体宏块编码中的比特分布: #if TRACE snprintf(currSE->tracestring, TRACESTRING_SIZE, "Intra mode = %3d %d",currSE->value1,currSE->context); #endif 还有很相关的一个是和比特计数相关的: bitCount[BITS_COEFF_Y_MB]+=currSE->len; rate += currSE->l... 阅读全文
posted @ 2012-07-28 14:54 Mr.Rico 阅读(2376) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 23 下一页