机顶盒mp3流媒体混音的方法

文档序号:6736832阅读:402来源:国知局
专利名称:机顶盒mp3流媒体混音的方法
技术领域
本发明涉及机顶盒领域,尤其涉及一种机顶盒mp3流媒体混音的方法。
技术背景
IPTV即交互式网络电视,是一种利用宽带有线电视网,集互联网、多媒体、通讯等多种技术于一体;向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术。用户在家中可以有两种方式享受IPTV服务(1)计算机,(2)网络机顶盒+普通电视机。它能够很好地适应当今网络飞速发展的趋势,充分有效地利用网络资源。随着IPTV产业的壮大, 用户对IPTV网络机顶盒的应用要求也越来越高,mp3播放、游戏等成为必需的功能,混音是网页浏览、游戏等功能实现中不可或缺的部分。混音使用的背景音乐文件较大,不能全部下载到机顶盒中解码。从网络下载数据比播放本地文件环境更复杂,既要保证播放流畅又要受机顶盒资源的限制,同时要兼容一般的mp3音乐播放,原来的机顶盒MP3播放方式显然不能满足要求。发明内容
本发明的目的是针对上述现有技术中的机顶盒mp3播放方法存在混音难的技术问题,提供一种机顶盒mp3流媒体混音的方法。
本发明的目的通过下述技术方案来实现一种机顶盒mp3流媒体混音的方法,其包括以下步骤步骤1数据下载进程建立网络连接,发送http请求并解析http服务器返回的响应, 获取可使用的mp3数据缓冲区,mp3数据缓冲区接收数据并进行填充,mp3数据缓冲区填充满后,将mp3数据缓冲区的使用权指派给数据解码进程,并申请下一个可使用的mp3数据缓冲区;步骤2数据解码进程获取可解码的mp3数据缓冲区,并获取可使用的pcm数据缓冲区,将mp3数据解码到pcm数据缓冲区中;将解码后的mp3数据缓冲区指派给数据下载进程,将pcm数据缓冲区指派给pcm注入进程,并申请下一个可解码的mp3数据缓冲区;步骤3 pcm注入进程获取可使用的pcm数据缓冲区,将pcm数据送到音频播放设备, 将Pcm数据缓冲区指派给解码进程,并申请下一个可使用的pcm数据缓冲区。
优选地,在pcm注入进程中,将所有有使用权的数据缓冲区连成一块。
优选地,当最后一个数据缓冲区遗留有不到一帧数据时,将这部分数据拷贝到第一个数据缓冲区中,与后续有使用权的数据缓冲区连成一块。
优选地,所述步骤2数据解码进程中,对mp3数据进行解码基于Iibmad库。
本发明的有益效果本发明通过网络传输把mp3数据以数据流的形式接收到机顶盒解码端,解码mp3数据流,得到pcm音频数据,多路pcm同时写入音频设备,播放音乐, 实现混音。混音的各路mp3播放采用相同方式,相互独立的进程,实现多路mp3同时播放并提供单路mp3播放控制功能。本发明的方法通过多进程共享内存实现数据缓存,同时分段下载mp3数据,减少内存的占用,对共享内存的访问和保护采用指派方式,减少数据拷贝,提高效率。


图1为mp3流媒体混音的过程。
图2为本发明的mp3流媒体混音的方法。
具体实施方式
下面结合具体实施例和附图对本发明作进一步的说明。
图1为mp3流媒体混音的过程。如图1所示,将两路以上pcm流由一路pcm输出, pcm的来源为http服务器提供的mp3流解码出的数据。
图2为本发明的机顶盒mp3流媒体混音的方法,其包括以下步骤步骤1数据下载进程建立网络连接,发送http请求并解析http服务器返回的响应, 获取可使用的mp3数据缓冲区,mp3数据缓冲区接收数据并进行填充,mp3数据缓冲区填充满后,将mp3数据缓冲区的使用权指派给数据解码进程,并申请下一个可使用的mp3数据缓冲区;步骤2数据解码进程获取可解码的mp3数据缓冲区,并获取可使用的pcm数据缓冲区,将mp3数据解码到pcm数据缓冲区中;将解码后的mp3数据缓冲区指派给数据下载进程,将pcm数据缓冲区指派给pcm注入进程,并申请下一个可解码的mp3数据缓冲区;步骤3 pcm注入进程获取可使用的pcm数据缓冲区,将pcm数据送到音频播放设备, 将Pcm数据缓冲区指派给解码进程,并申请下一个可使用的pcm数据缓冲区。
本发明通过网络传输把mp3数据以数据流的形式接收到机顶盒解码端,解码 mp3数据流,得到pcm音频数据,多路pcm同时写入音频设备,播放音乐,实现混音。混音的各路mp3播放采用相同方式,相互独立的进程,实现多路mp3同时播放并提供单路mp3播放控制功能。本发明的方法通过多进程共享内存实现数据缓存,同时分段下载mp3数据,减少内存的占用,对共享内存的访问和保护采用指派方式,减少数据拷贝,提高效率。
优选地,在pcm注入进程中,将所有有使用权的数据缓冲区连成一块。所有缓冲区可看做分割的小块,也可看做是整块。生产者按分割的小块生产,而消费者则将可使用的小块连接成一片使用。在pcm数据注入时,底层数据的注入只关注起始地址,作为整块注入时效率明显提高,这种方式更显现出其优势。
优选地,当最后一个数据缓冲区遗留有不到一帧数据时,将这部分数据拷贝到第一个数据缓冲区中,与后续有使用权的数据缓冲区连成一块。
优选地,上述步骤2数据解码进程中,对mp3数据进行解码基于Iibmad库。Iibmad 是一个开源的高精度MPEG音频解码库,支持MPEG-I (Layer I,Layer II和LayerIII (也就是mp3)。Iibmad提供Μ-bit的pcm输出,完全是定点计算,非常适合没有浮点支持的平台上使用。使用Iibmad提供的一系列API,就可以非常简单地实现mp3数据解码工作。
以上上述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种机顶盒mp3流媒体混音的方法,其包括以下步骤步骤1数据下载进程建立网络连接,发送http请求并解析http服务器返回的响应, 获取可使用的mp3数据缓冲区,mp3数据缓冲区接收数据并进行填充,mp3数据缓冲区填充满后,将mp3数据缓冲区的使用权指派给数据解码进程,并申请下一个可使用的mp3数据缓冲区;步骤2数据解码进程获取可解码的mp3数据缓冲区,并获取可使用的pcm数据缓冲区,将mp3数据解码到pcm数据缓冲区中;将解码后的mp3数据缓冲区指派给数据下载进程,将pcm数据缓冲区指派给pcm注入进程,并申请下一个可解码的mp3数据缓冲区;步骤3 pcm注入进程获取可使用的pcm数据缓冲区,将pcm数据送到音频播放设备, 将pcm数据缓冲区指派给解码进程,并申请下一个可使用的pcm数据缓冲区。
2.如权利要求1所述的机顶盒mp3流媒体混音的方法,其特征在于在pcm注入进程中, 将所有有使用权的数据缓冲区连成一块。
3.如权利要求2所述的机顶盒mp3流媒体混音的方法,其特征在于当最后一个数据缓冲区遗留有不到一帧数据时,将这部分数据拷贝到第一个数据缓冲区中,与后续有使用权的数据缓冲区连成一块。
4.如权利要求1至3其中之一所述的机顶盒mp3流媒体混音的方法,其特征在于所述步骤2数据解码进程中,对mp3数据进行解码基于Iibmad库。
全文摘要
本发明涉及机顶盒领域,本发明公开了一种机顶盒mp3流媒体混音的方法,其包括以下步骤步骤1数据下载进程;步骤2数据解码进程获取可解码的mp3数据缓冲区,并获取可使用的pcm数据缓冲区,将mp3数据解码到pcm数据缓冲区中;将解码后的mp3数据缓冲区指派给数据下载进程,将pcm数据缓冲区指派给pcm注入进程,并申请下一个可解码的mp3数据缓冲区;步骤3pcm注入进程。本发明的方法通过多进程共享内存实现数据缓存,同时分段下载mp3数据,减少内存的占用,对共享内存的访问和保护采用指派方式,减少数据拷贝,提高效率。
文档编号G11B20/10GK102522103SQ201110361300
公开日2012年6月27日 申请日期2011年11月15日 优先权日2011年11月15日
发明者唐勇, 申及, 袁娟 申请人:四川九洲电器集团有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1