
研究生新篇
timebomb
这个作者很懒,什么都没留下…
展开
-
vs2010调试H.264测试模型还要注意的方面
发现按照firsttime的还是有问题,后来发现在选中工程后属性然后在常规里面的*目录也要改为./bin才可以 终于可以用2010来调试我的JM了,好可恶,为什么现在才调通 下一个问题,好好的看代码。而且要好好的学学英文的材料,读起代码来才不至于这么晦涩。原创 2010-11-30 22:01:00 · 1923 阅读 · 6 评论 -
整数的变换和量化(转)
转自:http://www.cublog.cn/u3/114656/showart_2235124.html 变换可以理解了,但是量化还是有点头痛。。。。 帧内预测或者帧间预测完毕后,为了进一步节省图像传输码率,采用变换编码和量化技术,以除去图像信号中的相关性及减小图像编码的动态范围。 H.264中,变换和量化两个过程中的乘法合二为一。 具体流程如下: 其中,如果输入快是色度块或者帧内16*16预测模式的亮度块,则将宏块中各4*4块的整数余弦变换的直流分量组合起来再进行Hadamard变换,进原创 2010-11-10 15:01:00 · 1127 阅读 · 0 评论 -
JM73中encode_one_marcoblock()中关于帧内预测的函数流程===附:帧内预测的算法流程
if (input->rdopt) IntraChromaPrediction8x8() //8*8色度块的帧内预测,挑选最佳模式 Loop over 8*8 chroma intra prediction modes: 垂直、水平、平面预测模式不能进行的条件,跳出循环转载 2011-01-06 18:51:00 · 1595 阅读 · 0 评论 -
PartitionMotionSearch()函数解析
encode_one_macroblock()函数中的运动估计分为两大块,对于宏块级的三种模式,分块后直接对patition依次调用PartitionMotionSearch()函数;而对于亚宏块级的(含8x8, 8x4,4x8,4x4)模式,首先将宏块拆分为4个8×8子宏块,针对每个8×8子宏块调用PartitionMotionSearch()函数。 void PartitionMotionSearch (int blocktype, //块模原创 2011-01-06 20:00:00 · 1501 阅读 · 0 评论 -
DCT的心得(转自firsttime)
DCT的低频系数代表了图像的背景、轮廓,是保证图像传输业务质量(QoS)的重要信息,DCT高频系数是反映图像的边缘、细节的较次要的信息。通过优先级分割可实现不同质量要求的可分级传输(个人感觉这也是分级传输的依据之一) 帧内编码块包含了所有的频率的能量,如果被过粗地量化,容易产生方块效应;而P和B图像帧主要由运动补偿余量误差信号组成,运动补偿余量误差块主要由高频分量组成,根据人眼的视觉特性,可以对这部分信号进行较粗的量化(个人体会:DCT本身基本不损失图像信息,量化部分才使有些较小高频去掉)原创 2010-11-15 21:45:00 · 5564 阅读 · 1 评论 -
H.264的句法和语义
1、句法 编码输出的码流中,数据的基本单位是句法元素。每个句法元素由若干个比特组成来表示某特特定的物理意义,例如:宏块类型、量化参数等。句法表示句法元素的组织结构,语义阐述句法元素的具体含义。 IDR图像(立即刷新图像),IDR图像都是I帧图像。H.264引入IDR图像时为了解码的重同步,当解码器解码到IDR图像时,立即将参考帧队列清空,将已解码的数据全部输出或者抛弃,重新查找参数集,开始一个新的序列。IDR图像之后的图像永远不会引用IDR图像之前的图像的数原创 2010-11-16 21:09:00 · 2309 阅读 · 1 评论 -
H.264中的一些数学函数
1.Abs(x);取x的绝对值 2.Ceil(x);取不小于x的最小整数 3.Floor(x);取不大于x的最大整数 4.Median(x,y,z) = x+y+z-Min(x,Min(y,z))-Max(x,Max(y,z));取中间值 5.Round(x) = Sign(x)*Floor(Abs(x)+0.5);四舍五入取近似值。特别注意负数的四舍五入值 6.Sign(x);取正负号,正为1,负为-1 7.;主要用在什么地方还不是很清楚 8.现在也不清楚具体用法原创 2011-02-26 18:17:00 · 1059 阅读 · 0 评论 -
图像的基本坐标变换
内容自己整理,因为大部分都是公式,word整理的,所以这里以图片形式贴出来,希望用得着。。。原创 2011-04-12 21:28:00 · 2101 阅读 · 0 评论 -
MATLAB中的图像类型
1、索引图像 索引图像包括一个数据矩阵X,一个颜色映像矩阵Map。其中Map是一个包含三列、若干行的数据阵列,其中每个元素的值均为[0, 1]之间的双精度浮点型数据。Map矩阵的每一行分别表示红色、绿色和蓝色的颜色值。在MATLAB中,索引图像是从像素值到颜色映射表值的“直接映射”。像素颜色由数据矩阵X作为索引指向矩阵Map进行索引,例如,值1指向矩阵Map中的第一行,值2指向第二行,以此类推。 颜色映射表通常和索引图像存在一起,当用户在调用函数imread时,MATLAB自动将颜色映射表与图像同时加载原创 2011-01-05 16:10:00 · 9047 阅读 · 1 评论 -
DCT的一点心得
下午听中科院刘玉贵老师的《多媒体计算机技术》时自己的一点感悟,具体在他的第八课里面。 DCT实际就是把信号源的数据内容转换到另一种信号空间,在这种新的信号空间中更加容易理解、编码压缩。并且能够逆变换会原来的数据。 具体原理如图: 其中我们有时候是用0---(N-1)的,但是一般图像都是已8*8为块结构的,图像处理单元是块,所以这里就直接用的0---7.8*8产生64个信源数据,进行DCT变换后产生64个系数F(u,v)---一般资料介绍的64系数一直让我不明白终于知道怎么回事了,公式可以转原创 2010-11-08 21:07:00 · 6005 阅读 · 1 评论 -
测试模型编码部分基本架构
1、读取cfg配置文件,里面几乎含有了所有测试模型中变量的初始赋值,比如要编码几帧,我开始以为是根据所给出的视频数据进行测算的,这里是用:FrameToBeEncoded这个参数来设置的。配置文件的读取时在工程属性里面设置的,测试=》命令参数=》-d encoder.cfg。就选中了encoder.cfg文件作为配置文件 2、io_raw.c中的read(vfile, cur_buf, read_size)函数的意义。可以看msdn的介绍,不过这里要查询到_read()才找到最好的解释 3原创 2010-12-06 12:47:00 · 1238 阅读 · 0 评论 -
傅立叶变换的意义和卷积-----(从别处转来的哈)
(一)傅立叶变换的物理意义 傅立叶变换是数字信号处理领域一种很重要的算法。但是该算法到底有何意义呢? 要知道傅立叶变换算法的意义,首先要了解傅立叶原理的意义。傅立叶原理表明:任何 连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。而根据该原理创立的傅立叶变换算法利用直接测量到的原始信号,以累加方式来计算该信 号中不同正弦波信号的频率、振幅和相位。 和傅立叶变换算法对应的是反傅立叶变换算法。该反变换从本质上说也是一种累加处理,这样就可以将单独改变的正弦波信号转换成一个信号。 因此,可以转载 2010-10-16 16:12:00 · 1722 阅读 · 1 评论 -
DCT变换
DCT变换的基本思路是将图像分解为8×8的子块或16×16的子块,并对每一个子块进行单独的DCT变换,然后对变换结果进行量化、编码。随着子块尺寸的增加,算法的复杂度急剧上升,因此,实用中通常采用8×8的子块进行变换,但采用较大的子块可以明显减少图像分块效应。 在图像压缩中,一般把图像分解为8×8的子块,然后对每一个子块进行DCT变换、量化,并对量化后的数据进行Huffman编码。DCT变换可以消除图像的空间冗余,Huffman编码可以消除图像的信息熵冗余。 DCT 是原创 2010-10-23 13:06:00 · 51397 阅读 · 2 评论 -
Huffman编码简介
在一般的数据结构的书中,树的那章后面,著者一般都会介绍一下哈夫曼(HUFFMAN)树和哈夫曼编码。哈夫曼编码是哈夫曼树的一个应用。哈夫曼编码应用广泛,如JPEG中就应用了哈夫曼编码。 首先介绍什么是哈夫曼树。哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的带权路径长度记为WPL=(W1*L1+W2*L2+W3*L3+...+Wn*Ln),N个权值Wi(i=1,2原创 2010-10-23 13:32:00 · 1497 阅读 · 0 评论 -
MV预测过程详解(firstime老大)
===========第一步:确定相邻块=========== MV 预测以宏块分割(或亚宏块分割,如果宏块存在亚分割)为单位,同一个宏块分割(或亚宏块分割)内所有 4*4 块MV 预测值相同。以每个宏块分割(或亚宏块分割)的左上角像素 pixel1 和右上角像素 pixel2 为参考点来确定相邻块则: pixel1 左侧相邻像素所在 4*4 块为当前宏块分割(或亚宏块分割)的相邻块 A pixel1 上方相邻像素所在 4*4 块为当前宏块分割(或亚宏块分割)的相邻块 B原创 2010-12-22 16:52:00 · 1102 阅读 · 0 评论 -
傅里叶变换(互动百科)
一种积分变换,它来源于函数的傅里叶积分表示。积分 (1) 称为ƒ 的傅里叶积分。周期函数在一定条件下可以展成傅里叶级数,而在(-∞,∞)上定义的非周期函数ƒ,显然不能用三角级数来表示。但是J.-B.-J.傅里叶建议把ƒ表示成所谓傅里叶积分的方法。设ƒ(x)是(-l,l)上定义的可积函数,那么在一定条件下,ƒ(x)可以用如下的傅里叶级数来表示: (x∈(-Л, Л)), (2) 式中 。 (3) 把(3)代入(2),即有 式中un=nπ/l (n=1,2,…);。当l→∞时,上原创 2010-11-02 19:43:00 · 3160 阅读 · 0 评论 -
matlab(im2bw)
Something i lean in matlab. One sentence per day….. IM2BW Convert image to binary image by thresholding. IM2BW produces binary images from indexed, intensity, or RGB images. To do this, it converts the input image to grayscale format (if it原创 2010-11-06 15:09:00 · 8155 阅读 · 0 评论 -
数学那点事……
1、共轭矩阵: 首先解释下共轭的意思。 两头牛背上的架子称为轭,轭使两头牛同步行走。共轭即为按一定的规律相配的一对。 我的理解有点像孪生,如 共轭复数: 两个实部相等,虚部互为相反数的复数互为共轭复数 共轭双曲线 : 以已知双曲线的虚轴为实轴,实轴为虚轴的双曲线叫做原双曲线的共轭双曲线,通常称它们互为共轭双曲线 所以得共轭矩阵又称Hermite阵。Hermite阵中每一个第i 行第j 列的元素都与第j 行第i 列的元素原创 2010-11-08 11:29:00 · 1713 阅读 · 0 评论