2005年03月22日

最近发现这个网站服务器老有问题

所以用了新的BLOG,请访问我的新BLOG哦

2005年03月13日

 感谢魏老师给我机会让我重新选择

也感谢老李老师和孙老师对我的支持

我之前没有特别想过如何去实现自己的兴趣,

因为一直以来我都是那种把不兴趣的东西也努力做好的没个性的人。

//

我选择了无线多媒体中的QoS研究这个方向

选择了孙老师

现在起所作的事情已和从前不同

new starting

把握这样的机会,不要像以前那样彷徨和被动

//

这两天按照孙老师交代的,

1:熟悉OFDM系统

2:看无线多媒体中QoS的研究问题;

QoS研究的范围也很广,必须找到一块可发展的方面,而且尽可能地与将来的毕业论文做得课题相符合

2005年03月04日

本周的任务主要是用VC++读取BMP格式的图片,并且显示。

要实现这个并不难。1:搭起界面框架,2:书写打开一个文件的消息映射函数,3:读取文件中的BMP图片的信息把内存中的图像数据显示在屏幕上。

今天周四。到今天为止,代码部分都完成了。compile,build,excute都不成问题。

但问题在于,在显示的时候,图片变成灰度图像,并且在页面上没有完整显示图片的全部信息。

也就是说问题出在OnDraw函数上。

if(!IsFirstDraw)
 {
  int i,j;
  CDC *dc;
  dc = GetDC();
  for(i=0;i<m_orgHeight;i++)
   for(j=0;j<m_orgWidth;j++)
   {
    dc->SetPixel(j,i,RGB(
     m_pImageData[m_orgWidth* (m_orgHeight-i)+j],
     m_pImageData[m_orgWidth* (m_orgHeight-i)+j],
     m_pImageData[m_orgWidth* (m_orgHeight-i)+j]));
   }
 }

我强烈怀疑SetPixel函数中的RGB参数的获得。

查MSDN中关于SetPixel的描述,发现有下列的说法:

Depending on the format of the bitmap, GetPixel might not return the same value as was set by SetPixel. For example, if you call SetPixel on a Bitmap object whose pixel format is 32bppPARGB, the RGB components are premultiplied. A subsequent call to GetPixel might return a different value because of rounding. Also, if you call SetPixel on a Bitmap whose color depth is 16 bits per pixel, information could be lost in the conversion from 32 to 16 bits, and a subsequent call to GetPixel might return a different value

意思就是说:在位图上设置象素无法返回同一象素值。因为取整所以会返回一个不同的数值。并且如果对16位的图像设置象素就会产生信息丢失,从32位变为16位。

我这样的理解对么,请魏老师看到后指教:)l

还有,如果不能用获得象素的方法,那应该怎样获得图像数据信息呢?

2005年02月26日

开学的第一个周末。渐渐熟悉北京环境以及北邮生活步调的我,决心在这个学期把强身健体提上议事日程。】

报了健美操的班,早上和同寝室的黄璐、万里晴去上课,没想到老师除了教健美操外还教瑜伽。

感受了一下瑜伽,过后真觉得很不一样。

有种悟禅的感觉。我想,身心的荡涤也就在其中吧。^_^

下午和实验室的一个同学说好了一起骑车绕三环。不过我畏惧旅途艰险,就建议第一次先绕二环,下次再绕三环。

2点钟从学校出发,先走一点新街口,到了三环线上,再往德胜门方向前进。渐渐往东,感觉到西面不一样的城市风景。北京的整个城市规划很清晰。西面是高教区,东面是商贸区。南面建设相对弱些,还是一些老居住,北面就开始是郊区了。

东二环的地方有很多很帅的建筑,也集中了很多很帅的政府机关,比如外交部比如文化部比如中国海关,还有一些大型国企和大公司,比如中国石油,还有norkia之类。

一路骑车还是很有收获的,至少更全面地感受到北京——这个曾是我奋斗目标的城市。

我更明白了要在北京生活,渺小的我需要怎样的更大强度的努力。

2005年02月24日

中午,与黄璐进行局域网内两台主机间通信的测试。

Results:local host向remote host发送请求成功;

               remote host收到该发送请求,接受该请求后无法显示远端图像;

Problems:(发现了几处很strange的地方)

               1.我的VC++是创天中文版的,而黄璐的是英文版的,同样的源代码由于编译环境不同,产生的exe文件中,我的呈现汉化的情况,而黄璐仍为英文。

                2:在我的编译环境下,得到的exe程序。用该程序进行同台主机通信,出现死机,且发送文本失败。而黄璐的则不会。

PS:

               测试时采用的capture device是真实摄像头,而不是Softcam。

              如果用softcam出现问题:程序运行后显示,无法打开设备。也就是说softcam程序识别不到。在qq视频的时候softcam可以很好的使用,这说明不是softcam本身的问题,而是程序的问题。

2005年02月23日

1.装上摄像头运行了一下VideoNet

2.Results:发送对话请求成功;

                     接受对话请求成功;

                    获得由摄像头capture到的本地图像;

                   接收端显示本地图像(能够正确显示,但是图像质量没达到最佳,延时不明显)

3.Problems:运行后,机器速度变得非常慢,甚至出现死机

2004年12月27日
H.263数字视频压缩
一、视频压缩编码的基本概念

视频压缩的目标是在尽可能保证视觉效果的前提下减少视频数据率。视频压缩比一般指压缩后的数据量与压缩前的数据量之比。

在视频压缩中常需用到以下的一些基本概念:

1 有损和无损压缩:在视频压缩中有损(Lossy )和无损(Lossless)的概念与静态图像中基本类似。无损压缩也即压缩前和解压缩后的数据完全一致。有损压缩意味着解压缩后的数据与压缩前的数据不一致。在压缩的过程中要丢失一些人眼和人耳所不敏感的图像或音频信息,而且丢失的信息不可恢复。丢失的数据率与压缩比有关,压缩比越小,丢失的数据越多,解压缩后的效果一般越差。此外,某些有损压缩算法采用多次重复压缩的方式,这样还会引起额外的数据丢失。

2 帧内和帧间压缩:帧内(Intraframe)压缩也称为空间压缩(Spatial compression)。当压缩一帧图像时,仅考虑本帧的数据而不考虑相邻帧之间的冗余信息,这实际上与静态图像压缩类似。帧内压缩一般达不到很高的压缩。

    采用帧间(Interframe)压缩是基于许多视频或动画的连续前后两帧具有很大的相关性,或者说前后两帧信息变化很小的特点。也即连续的视频其相邻帧之间具有冗余信息,根据这一特性,压缩相邻帧之间的冗余量就可以进一步提高压缩量,减小压缩比。帧间压缩也称为时间压缩(Temporal compression),它通过比较时间轴上不同帧之间的数据进行压缩。帧间压缩一般是无损的。

    3 对称和不对称编码:对称性(symmetric)是压缩编码的一个关键特征。对称意味着压缩和解压缩占用相同的计算处理能力和时间,对称算法适合于实时压缩和传送视频,如视频会议应用就以采用对称的压缩编码算法为好。不对称或非对称意味着压缩时需要花费大量的处理能力和时间,而解压缩时则能较好地实时回放,也即以不同的速度进行压缩和解压缩。一般地说,压缩一段视频的时间比回放(解压缩)该视频的时间要多得多。

二、H.263压缩编码格式

1 H.263压缩编码格式

        H.263 视频编码标准是专为中高质量运动图像压缩所设计的低码率图像压缩标准。H.263 采用运动视频编码中常见的编码方法,将编码过程分为帧内编码和帧间编码两个部分。I帧内用改进的DCT 变换并量化,在帧间采用1/2 象素运动矢量预测补偿技术,使运动补偿更加精确,量化后适用改进的变长编码表(VLC)地量化数据进行熵编码,得到最终的编码系数。

 

2 H.263 帧类型

A 内码帧(I帧)不能由任何其它帧构造出来,包含所有可显示它的信息。

 

I帧编码过程:

l         每个光亮度和色差平面被分成8*8的块

l         各块使用DCT转换成频率域

l         利用量化表进行量化。

l         对各块中最重要系数序列(DC系数)用DPCM技术进行编码,且仅编码两个相邻DC值的差

l         各块中的系数是按锯齿形次序进行行程编码

l         最后进行类哈夫曼编码

预测帧(P帧):由前面的帧构造所得。

P帧编码:

P帧编码过程:

l         在基准帧中对每个宏块均查找其最佳匹配宏块

l         计算实际宏块和最佳匹配宏块的差,作为运动向量

l         误差项用DCT进行转换

l         接着进行量化步,形成“锯齿形次序”行程编码,最后进行类哈夫曼平均信息量编码。注意量化表与I帧所用的不同,DC系数的编码与其他系数的编码方式相同

3 h.263特点

H.261 的p×64K 的传输码率相比,H.263的码率更低,单位码率可以小于 64K,且支持的原始图像格式更多,包括了在视频和电视信号中常见的QCIF,CIF,EDTV,ITU-R 601,ITU-R 709 等等。

H.263的编码速度快,其设计编码延时不超过150ms;码率低,在512 K 乃至 384K 带宽下仍可得到相当满意的图像效果,十分适用于需要双向编解码并传输的场合(如:可视电话)和网络条件不是很好的场合(如:远程监控)。

H.263图象被编码为一个亮度信号和两个色差成分(Y,CB和CR)。

4 H.263的数据结构

H.263采用句法和语义学的方法对多路视频来管理的。

句法被划分为四层,四个层分别是图象、块组、宏块、块。图象层每帧图象的数据包含一个图象头,并紧跟着块组数据,最后是一个end-of-sequence码和填塞位。其中包括有图象开始码(PSC) (22 bits)、时域参照(TR)(8 bits)、类型信息 (PTYPE) (13 bits) 和量化器信息 (PQUANT) (5 bits)等十三个选项。

每个块组层(GOB)包含了一个块组层头,紧跟着宏块数据。每个GOB包含了一行或多行宏块。对于每帧图象的第一个GOB(0号),不需要传送GOB头。而对于其它的GOB,GOB头可以为空,这决定于编码策略。译码器可以通过外部手段发送信号给远程变码器要求只传送非空GOB头,例如建议H.245。

每个宏块中包含了一个宏块头和后续的块数据。COD只出现在用PTYPE指定为”INTER”的图象帧中,对于这些图象中的宏块,当COD指定或PTYPE指示为”INTRA”时会出现宏块类型 & 色度的编码块样式(MCPBC)。如果PTYPE指示了”PB帧”,对于B块的宏块 (MODB)会出现。只有在MODB中指定时才会出现CBPB(指示将传送宏块的B系数)和B宏块的运动矢量数据 (MVDB) (变长)。当MCPBC和CBPY中指定时会出现”块数据”。

    块层如果不在PB帧模式,一个宏块包含四个亮度块和两个色差块。在PB帧模式下,一个宏块包含12个块。在缺省H.263模式下,首先传送6P块数据,然后是6B块数据。

2004年12月21日

今天中午上qq

魏老师给了我下学期的任务:基于H.263和wav的点对点会话系统。还让我以这个题目带两个本科生的毕业设计。

关于这个题目有以下注意点:

1:已经有源代码,但是源代码写得不大好,需要我在这个基础上进行改进;

2:先看这个东西是怎么用的,首先看外围界面的编程,其次看编解码器的编程

3:下个学期开学的第一天就本科生就开始做毕业设计了

关于这个题目,我目前我有以下想法:

1:寒假的时候就着手做,我想要是可以就把源代码打印出来看看;

2:是学习的过程,学习的比重大于创造;

3:多请教别人,但也要独立思考。

2004年12月18日

今天早上上完c++,

下午就开始没课;

因为上次李老师显示.wav波形的Project,还有一个要求是显示文件的信息。

也就是读.wav文件的一些诸如,格式,采样率以及通道数的信息等。

上次在实现时忘记了这个要求,现在要添加。

本来心情很不错,开始动手做。

把已经放在一边的做好的程序拿起来再找思路;

觉得有点不能集中注意力,不大愿意看。

实验室的那帮家伙下午上的是英语课

集体攻击我这个不用上英语课的人,强迫我在他们回来之前把这个程序写出来。

我欲哭无泪……

不晓得为什么,自从他们说我一定要做出来后

厌学情绪开始滋长。

不想学就开始改本科生的作业;

改后,已经是晚上了。

吃过饭,还是不愿意看;

呵呵,实验室的江总真是个好人呀

开始出那些古怪的趣味题让我猜,

猜了一段时间,我说我要开始写程序了;

从8点开始写,那个时候实验室已经没有什么人了,

周围很安静,自己的思路很清晰。

总算把原来觉得似乎比较烦的东西搞出来了

也遇到了一些困难,但那个时候心情一点都不急躁,而且很有耐心地找原因。

最后还是做出来了~:)

ps:好久没有讲到程序了,最近写得不多。快期末了,考完试再好好看吧。

今天的事情给我的启示就是,要劳逸结合,玩过之后就要高效地学习。

2004年12月10日

移动多媒体


摘要:


目前,全世界范围内都在进行新一代无线宽带多媒体通信系统的研发。本文首先对移动多媒体进行概述性的介绍;其次介绍移动多媒体业务;再次,介绍在信源编码方面的若干个标准以及实时比特速率平滑这一新技术,最后给出笔者在考虑移动多媒体系统设计时的一些看法。


关键词:


   移动多媒体 视频流 实时比特速率平滑 编码标准


 


 


1. 多媒体通信


在电信领域中,电报机和电话机均属于传递单一媒体信息的用户终端设备。电报以“点、划”电信号为媒体;电话以模拟的语音信号为媒体。起初这种单媒体终端设备基本上能满足人们传递和交换信息的需要。但随着社会的发展,人们对电信提出了简单、完善、快捷和多样化的新要求。于是多媒体通信应运而生。【1


通常所说的多媒体,实际上指一个能处理与提供声音、图象、文字等多种信息形式的计算机系统,它由下列各项媒体组合而成:


²        音频  包括具备电话技术的语音和高质量的音响等


²        视频  包括压缩图象、高清晰度电视等


²        数据  包括文本、静止图象、计算机共享等


多媒体通信是近几年迅速发展起来的一种通信方式,它把计算机的交互性、通信的分布性和电视的真实性融为一体。与传统的通信手段相比,它具有以下几个特征:集成性、交互性、同步性、实时性。


 


2 移动多媒体


近些年来,Internet上视频、音频和数据通信的迅速增长,以及移动通信的迅猛发展,都强烈要求移动多媒体的出现。移动多媒体是多媒体和移动通信这两个领域技术相互交叉的产物,它一方面向人们提供了移动多媒体服务,另一方面也展现了一个广阔的技术领域,成为通信界乃至信息产业的一个热点。


目前在国内3G的到来已成为必然。和记黄埔今年11月底的股票已经涨至70.50港元,为20025月以来的最高水平。标明和记黄埔的3G业务已经上轨。另外,NTTDoCoMo总裁最近表示,尽管公司目前仍有占绝大多数的2G用户,但公司预计在2012年前停止提供2G服务,全面开展3G业务。【23G系统在技术上已经相当成熟,在这一平台上提供多媒体业务也到了水到渠成的时候了。


3G移动多媒体业务有【5】:


²        交互式业务——包括电话、移动银行、可视电话和可视会议等;


²        点对点业务——包括短信、电子邮件、语音邮件、Web、视频邮件、远程医院等;


²        单向信息业务——包括数字报纸/出版、远程教育/视频购物、移动音频播放器、移动视频播放器、视频点播和卡拉OK等;


²        多点广播业务——包括文本数字信息传递、语音信息递送、先进汽车导航、视频信息递送、移动收音机和移动电视等;


 


3.移动多媒体信源压缩编码标准及实时比特速率平滑技术


为了在同样的网络条件下传输更好质量的视音频内容,在信源端需要进行有效的编码处理。


话音编码方面有G系列(G.711G723G728G729);音频编码方面有MPEG系列(MPEG1MPEG2MPEG4)和DOLBY实验室推出的AC系列(AC-1,AC-2,AC-3)【6 在视频标准方面,国际上有两大组织——ITU-TISO/IEC分别参与了制定活动。前者制定的标准包括H.261H.263H.264主要应用于实时视频通信领域,后者制定了MPEG系列标准,主要用于视频存储(DVD)、广播电视、因特网或无线网上的流媒体等。H.262标准等同于MPEG2的视频编码标准,后来H.264标准被纳入了MPEG-4的第十部分。


在移动网络上以包交换的形式传送媒体数据流。目前比较流行的是H.263编码标准。关于H.263的标准参看ITU-T发布的标准文档。


H.263是一个低比特速率的视频编码标准,它的目的在于为互联网和移动网络提供交互视频。通过H.263以及类似的编解码器取得的压缩视频比特流所具有的一些特性对于有效地设计无线移动视频系统相当重要。这些特性包括了:比特流速率的可变性;码流的不同部分其衰落(差错和损耗)的不均匀效应;对延时的敏感性。H.263视频的可变比特速率(VBR)这一本质是由从一个视频帧到另一个视频帧时图象内容和编码方式的变化引起的。那些运动更剧烈的帧则需要更多的比特。相对于帧间编码(或者预测帧,PPB)的帧,帧内编码的帧也需要更多的比特来编码。【3


现在以IS-95BCDMA2000为例,讲述一下视频流速率的实时平滑技术。在CDMA移动网络中,压缩视频的可变比特速率的性质对于实时视频的传输仍然是一个不小的挑战。事实上,H.263MPEG-4视频的比特流在高峰时速率较大,而且频率比会有变化。在2.5G3G移动网络中难以对其这样的特性进行支持。于是考虑了将高峰时的速率和变化以及传输信号的平均带宽都减到最小这样的平滑方案。这样是为了能够取得较小的误比特率。也是为了比没有那些没有被平滑即用于传输的视频有更高的接收视频质量。通过在解码过程中引入一个时延,视频输出流在解码端得以缓冲。缓冲的目的是为了实现视频流的实时平滑。缓存器可以用来平滑视频编解码输出比特率的变化【3】。在移动环境下,发送端在由诸如IS-95Bcdma2000标准提供的一组速率中选择一个速率用于发送,支持速率变化。结果显示:通过视频流平滑能明显提高视频质量。视频比特流的变化可以让无线资源的利用更有效。而那些多余的容量可以用在不需要保证QoS的服务上。


 


4.关于在考虑移动多媒体系统思路的一些看法


    移动多媒体网络属于计算机通信网络范畴。整个系统涉及到编码、传输、同步、解码等基本技术。在进行与移动多媒体有关的设计的时候,笔者认为,明确数据流所要经过的网络特性是什么,这一点是首要的。移动通信网络为多媒体信号的传输提供了一个平台,在进行多媒体信号处理与传输的时候是依托于这个平台的,而不是另外构建一个多媒体网络。因此我们的工作重点在多媒体信号本身而不是网络。在明确了网络特性后,第二步便是明确为了更好地匹配这个网络对数据流应该做哪些处理。现在的信号处理理论已经发展得比较成熟了,国际上的标准化组织在编码方面提出了若干个可用于不同场合的标准。这些标准框定了我们的设计工作,从某种角度上看,我们的设计是必须要围绕这些标准的。


 


 


5.参考文献


1】冯景峰 《无线宽带多媒体传输相关技术的研究》 北京邮电大学博士生论文  万方数据库2003.2


【2】通信世界杂志  2004-12-6 总第182


3Cyril-Daniel Iskander, Member, IEEE, and P. Takis Mathiopoulos, Senior Member, IEEE


Online Smoothing of VBR H.263 Video for the CDMA2000 and IS-95B Uplinks


IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 6, NO. 4, AUGUST 2004


4】彭勇 《无线视频通信系统的实现及码率优化》 浙江大学硕士生论文 万方数据库2004.2


5http://comm.ccidnet.com/pub/article/c1572_a105329_p1.html


6Lixueming Multimedia Informaition processing and transmitting


7Xiaolin Wu, Senior Member, IEEE, Samuel Cheng, and Zixiang Xiong, Member, IEEE On packetization of embedded multimedia bitstreams


IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 3, NO. 1, MARCH 2001