《基于单芯片的多通道视频编解码数据传输方法及装置.pdf》由会员分享,可在线阅读,更多相关《基于单芯片的多通道视频编解码数据传输方法及装置.pdf(11页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102625105 A (43)申请公布日 2012.08.01 C N 1 0 2 6 2 5 1 0 5 A *CN102625105A* (21)申请号 201210085657.3 (22)申请日 2012.03.27 H04N 7/26(2006.01) (71)申请人广东威创视讯科技股份有限公司 地址 510663 广东省广州市广州高新技术产 业开发区彩频路6号 (72)发明人郭洪猛 (74)专利代理机构广州华进联合专利商标代理 有限公司 44224 代理人王茹 曾旻辉 (54) 发明名称 基于单芯片的多通道视频编解码数据传输方 法及装置 (57) 摘要 。
2、本发明提供一种基于单芯片的多通道视频编 解码数据传输方法及装置,该方法包括以下步骤: 接收多通道传输过来的原始视频数据/码流数 据;根据通道的个数创建对应数目的编解码缓冲 器,并定义该缓冲器的数据结构,所述定义的数据 结构中包括编解码缓冲器的有效标志;配置通道 地址,根据实时检测得到的各编解码缓冲器的有 效标志来对各编解码缓冲器中的数据进行多通道 读取;对读取的数据进行编码/解码处理,然后将 编码/解码后的数据写入对应地址的编解码缓冲 器中,并传输给PC。本发明的方法及装置缩小了 编解码的时延,提高了多通道视频编解码数据传 输过程中的实时性,而且实现简单。 (51)Int.Cl. 权利要求书2。
3、页 说明书4页 附图4页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 4 页 附图 4 页 1/2页 2 1.一种基于单芯片的多通道视频编解码数据传输方法,其特征在于,包括以下步骤: 接收多通道传输过来的原始视频数据/码流数据; 根据通道的个数创建对应数目的编解码缓冲器,并定义该缓冲器的数据结构,所述定 义的数据结构中包括编解码缓冲器的有效标志; 配置通道地址,根据实时检测得到的各编解码缓冲器的有效标志来对各编解码缓冲器 中的数据进行多通道读取; 对读取的数据进行编码/解码处理,然后将编码/解码后的数据写入对应地址的编解 码缓冲器中,并传输给PC。 。
4、2.根据权利要求1所述的基于单芯片的多通道视频编解码数据传输方法,其特征在 于,所述根据实时检测得到的各编解码缓冲器的有效标志来对各编解码缓冲器中的数据进 行多通道读取的过程具体为:采用FPGA的并行工作特性,实时检测各编解码缓冲器的有效 标志,判断是否有编解码缓冲器中的数据需要读取/写入;若是,则对该编解码缓冲器中的 数据进行读取/写入。 3.根据权利要求2所述的基于单芯片的多通道视频编解码数据传输方法,其特征在 于,所述对读取的数据进行编码处理的过程具体为:采用H.264标准来对读取的数据进行 编码处理。 4.根据权利要求2所述的基于单芯片的多通道视频编解码数据传输方法,其特征在 于,所述。
5、编解码缓冲器中定义的数据结构还包括:缓冲器地址、缓冲器大小、下个缓冲器的 数据结构地址、缓冲器剩余字节数、网络包类型。 5.根据权利要求1-4任意一项所述的基于单芯片的多通道视频编解码数据传输方法, 其特征在于,采用PCIE接口来传输所述编解码缓冲器与PC之间的数据。 6.根据权利要求5所述的基于单芯片的多通道视频编解码数据传输方法,其特征在 于,在采用PCIE接口传输数据时,创建一个PCIE接口缓冲器,定义该PCIE接口缓冲器的地 址位分为两部分:一部分表示通道号,另一部分表示当前通道的数据地址。 7.一种基于单芯片的多通道视频编解码数据传输装置,其特征在于,包括: 控制模块,用于接收多通道。
6、传输过来的原始视频数据/码流数据,根据通道的个数创 建对应数目的编解码缓冲器,并定义该缓冲器的数据结构,所述定义的数据结构中包括编 解码缓冲器的有效标志,然后配置通道地址,根据实时检测得到的各编解码缓冲器的有效 标志来对各编解码缓冲器中的数据进行多通道读取;以及将所述编解码缓冲器中接收的编 码/解码后的数据传输给PC; 编解码模块,用于对读取的数据进行编码/解码处理,并将编码/解码后的数据写入对 应地址的编解码缓冲器中。 8.根据权利要求7所述的基于单芯片的多通道视频编解码数据传输装置,其特征在 于,所述控制模块中包括检测模块,用于采用FPGA的并行工作特性,实时检测各编解码缓 冲器的有效标志。
7、,判断是否有编解码缓冲器中的数据需要读取/写入;若是,则对该编解码 缓冲器中的数据进行读取/写入。 9.根据权利要求8所述的基于单芯片的多通道视频编解码数据传输装置,其特征在 于,所述控制模块采用FPGA芯片; 和/或 权 利 要 求 书CN 102625105 A 2/2页 3 所述编解码模块采用CNW3108专用编解码芯片。 10.根据权利要求7-9任意一项所述的基于单芯片的多通道视频编解码数据传输装 置,其特征在于,所述控制模块、编解码模块之间采用PCI接口来传输码流数据; 和/或 所述控制模块、PC之间采用PCIE接口来传输数据。 权 利 要 求 书CN 102625105 A 1/4。
8、页 4 基于单芯片的多通道视频编解码数据传输方法及装置 技术领域 0001 本发明涉及视频编解码技术,特别是涉及一种基于单芯片的多通道视频编解码数 据传输方法以及一种基于单芯片的多通道视频编解码数据传输装置。 背景技术 0002 众所周知,原始图像的视频数据需要占用的带宽是非常巨大的,利用目前的互联 网带宽进行实时传输基本上是很困难的,所以视频的编解码具有重要的应用前途。 0003 在视频的编解码过程中,当只有一路视频进行编码或解码时,传输的数据量还是 比较小的,此时不用考虑编解码的实时性问题;但是在实际的应用场景视频会议中,一般都 是十几路视频同时解码,同时还有若干路视频在编码,在这种多通道。
9、视频编解码过程中,数 据传输存在实时性比较差的问题,即编解码会有一定的时延,从而给用户带来了不好的体 验。 发明内容 0004 基于此,本发明提供一种基于单芯片的多通道视频编解码数据传输方法及装置, 能够提高多通道视频编解码数据传输过程中的实时性。 0005 一种基于单芯片的多通道视频编解码数据传输方法,包括以下步骤: 0006 接收多通道传输过来的原始视频数据/码流数据; 0007 根据通道的个数创建对应数目的编解码缓冲器,并定义该缓冲器的数据结构,所 述定义的数据结构中包括编解码缓冲器的有效标志; 0008 配置通道地址,根据实时检测得到的各编解码缓冲器的有效标志来对各编解码缓 冲器中的数。
10、据进行多通道读取; 0009 对读取的数据进行编码/解码处理,然后将编码/解码后的数据写入对应地址的 编解码缓冲器中,并传输给PC。 0010 一种基于单芯片的多通道视频编解码数据传输装置,包括: 0011 控制模块,用于接收多通道传输过来的原始视频数据/码流数据,根据通道的个 数创建对应数目的编解码缓冲器,并定义该缓冲器的数据结构,所述定义的数据结构中包 括编解码缓冲器的有效标志,然后配置通道地址,根据实时检测得到的各编解码缓冲器的 有效标志来对各编解码缓冲器中的数据进行多通道读取;以及将所述编解码缓冲器中接收 的编码/解码后的数据传输给PC; 0012 编解码模块,用于对读取的数据进行编码。
11、/解码处理,并将编码/解码后的数据写 入对应地址的编解码缓冲器中。 0013 由以上方案可以看出,本发明的基于单芯片的多通道视频编解码数据传输方法及 装置,定义了编解码缓冲器的数据结构中包括一个有效标志,然后通过多通道同时并行查 询编解码缓冲器数据结构中的有效标志来判断出是哪个通道需要数据,从而可以实现数据 的快速存储或读取,解决了现有技术中MCU系统采用中断的方法、通过查询寄存器判断是 说 明 书CN 102625105 A 2/4页 5 哪一路的编码或解码需要数据然后再去存储或读取数据所带来的实时性比较差的问题。本 发明的方法及装置缩小了编解码的时延,提高了多通道视频编解码数据传输过程中的。
12、实时 性,而且实现简单。 附图说明 0014 图1为本发明基于单芯片的多通道视频编解码数据传输方法的流程示意图; 0015 图2为单通道的编解码数据传输模型示意图; 0016 图3为缓冲器的数据结构示意图; 0017 图4为单通道的单个缓冲器的整体结构示意图; 0018 图5为多通道编解码数据传输模型示意图; 0019 图6为简化的多通道编解码数据传输模型示意图; 0020 图7为本发明基于单芯片的多通道视频编解码数据传输装置的结构示意图; 0021 图8为本发明一个具体实施例中的基于单芯片的多通道视频编解码数据传输装 置的原理框图。 具体实施方式 0022 图像的编/解码系统有两种基本的实现。
13、方法,一种是基于PC(Personal Computer,个人计算机)实现,图像处理系统通过PCI(Peripheral Component Interconnection,周边元件扩展接口)总线以插卡形式集成在微机系统中,数据通过PCI 总线或卡上所带的接口进行交换和传输;另一种脱离了PC机而独立运行,利用专用芯片对 图像进行编/解码处理来实现。两种方法相比较,后面这种脱机的图像处理系统由于体积 小和灵活简便而受到广泛关注,本发明即采用了这种方法来实现图像的编解码处理。 0023 当多通道编解码时,一般的MCU(Micro Control Unit,单片机)系统采用中断的方 法,通过查询寄存。
14、器的方法判断是哪一路的编码或解码需要数据,然后再去存储或读取数 据,这样做会带来实时性比较差的问题。为解决该实时性差的问题,本发明提供一种基于单 芯片的多通道视频编解码数据传输方法,如图1所示,包括以下步骤: 0024 步骤S101,接收多通道传输过来的原始视频数据(即需要进行编码操作时的数 据)或者是码流数据(即需要进行解码操作时的数据)。 0025 步骤S102,根据通道的个数创建对应数目的编解码缓冲器,用来缓存上一步骤中 接收的原始视频数据/码流数据,并定义该缓冲器的数据结构,所述定义的数据结构中包 括编解码缓冲器的有效标志。 0026 作为一个较好的实施例,所述编解码缓冲器中定义的数据。
15、结构除了包括编解码缓 冲器的有效标志之外,如图2所示,还包括:缓冲器地址、缓冲器大小、下个缓冲器的数据结 构地址、缓冲器剩余字节数、网络包类型等,并预先设定好各自的大小。 0027 单通道的编解码缓冲器可以根据应用划分为几个部分:第1部分存放缓冲器的数 据结构,其余部分以环行形式存放缓冲器块,其整体结构如图3所示。 0028 步骤S103,由于本发明是对多通道数据进行处理,因此需要对多个通道进行区分, 可以在进行数据传输时首先配置通道地址,然后再根据实时检测得到的各编解码缓冲器的 有效标志来对各编解码缓冲器中的数据进行多通道读取。 说 明 书CN 102625105 A 3/4页 6 0029。
16、 上述根据实时检测得到的各编解码缓冲器的有效标志来对数据进行多通道读取 的过程具体可以为:采用FPGA(Field-Programmable Gate Array,现场可编程门阵列)的 并行工作特性,实时检测各编解码缓冲器的有效标志(这个有效标志通常情况为读/写标 志),判断是否有编解码缓冲器中的数据需要读取/写入;若是,则对这个编解码缓冲器中 的数据进行读取/写入;若否则说明暂时不需要对这个编解码缓冲器中的数据进行读取/ 写入。通过多通道同时并行查询缓冲器数据结构中的有效标志来判断出哪一个通道需要数 据,这样可以快速的存储或读取数据,缩小了编解码的时延,提高了实时性。 0030 步骤S 10。
17、4,对读取的数据进行编码/解码处理,然后将编码/解码后的数据写入 对应地址的编解码缓冲器中,最后传输给PC,完成传输处理。 0031 优选的,所述对读取的数据进行编码处理的过程具体可以为:采用当前通用的编 解码标准:H.264标准来对读取的数据进行编码处理。 0032 无论单通道的编码/解码,都需要在启动编解码时创建一个缓冲器用来读取/ 存储编解码需要的数据。在其中一个实施例中,可以采用PCIE(Peripheral Component Interconnection Express,周边元件扩展高速接口)来传输所述编解码缓冲器与PC之间 的数据,而在采用PCIE接口传输数据时,首先需要创建一。
18、个PCIE接口缓冲器。如图4的单 通道的数据模型示意图所示,专用编解码芯片编码/解码后的数据通过编解码缓冲器传输 给创建的PCIE接口缓冲器,再通过PCIE传输出去。然后当多通道的编码/解码时,由于 需要保证数据的正确性以及设计的简单性,每个通道都需要配置缓冲器(包括编解码缓冲 器、PCIE接口缓冲器),因此多个通道的传输模型一般都采用如图5所示的结构。 0033 在采用单芯片来进行多通道编解码的时候,只要PCIE接口带宽大于专用芯片的 最大输出带宽和最大输入带宽之和就能满足编解码数据传输的正确性。而采用上述图5所 示的方法是非常浪费缓冲器资源的,于是在其中一个实施例中,我们可以将上面的多通道。
19、 编解码数据模型简化为如图6所示的结构,即将把右边的多通道编解码缓冲器的输出整合 到一个较小的PCIE缓冲器中以进一步节约资源。具体整合的方法如下:把PCIE接口缓冲 器的地址位分为两部分:一部分表示通道号,一部分表示当前通道的数据地址。加了通道号 来进行区分,这样就可以把PCIE接口缓冲器的个数减少,通过图6可以看出,采用本实施例 中的方法可以节约n-1(n为通道个数)个网络传输缓冲器资源。 0034 需要说明的是,通过PCIE总线传输编码/解码的数据时,不能直接采用上面缓冲 器中的数据,需要通过打包/拆包提取需要的数据。 0035 与上述一种基于单芯片的多通道视频编解码数据传输方法相对应的。
20、,本发明还提 供一种基于单芯片的多通道视频编解码数据传输装置,如图7所示,该装置包括: 0036 控制模块(101),用于接收多通道传输过来的原始视频数据/码流数据,根据通道 的个数创建对应数目的编解码缓冲器,并定义该缓冲器的数据结构,所述定义的数据结构 中包括编解码缓冲器的有效标志,然后配置通道地址,根据实时检测得到的各编解码缓冲 器的有效标志来对各编解码缓冲器中的数据进行多通道读取;以及将所述编解码缓冲器中 接收的编码/解码后的数据传输给PC; 0037 编解码模块(102),用于对读取的数据进行编码/解码处理,并将编码/解码后的 数据写入对应地址的编解码缓冲器中。 0038 优选的,所述。
21、控制模块可以包括检测模块,用于采用FPGA的并行工作特性,实时 说 明 书CN 102625105 A 4/4页 7 检测各编解码缓冲器的有效标志,判断是否有编解码缓冲器中的数据需要读取/写入;若 是,则对该编解码缓冲器中的数据进行读取/写入。 0039 优选的,所述控制模块可以采用FPGA芯片;所述编解码模块可以采用CNW3108专 用编解码芯片,如图8所示。 0040 优选的,所述控制模块、编解码模块之间可以采用PCI接口来传输码流数据; 0041 和/或 0042 所述控制模块、PC之间可以采用PCIE接口来传输数据。 0043 下面结合图8,对本发明一个优选实施例中基于单芯片的多通道视。
22、频编解码数据 传输装置的具体工作过程作进一步的描述: 0044 编码时:原始视频数据经PCIE总线从PC机传输到FPGA芯片,然后存储到外部内 存上,此时创建与通道个数对应的编解码缓冲器用来缓存外部内存上的数据,FPGA读取外 部内存上的原始视频数据通过端口1、端口2端口n(端口的个数依具体应用而定) 传输到专用编解码芯片CNW3108。专用编解码芯片CNW3108把原始视频数据编码成H.264 的码流数据后经PCI总线传输到FPGA内部的编解码缓冲器中,再通过FPGA内部逻辑把码 流数据经PCIE总线传输到PC机上; 0045 解码时:PC上的H.264的码流数据经PCIE总线传输到FPGA。
23、的内部缓冲器中,经 过内部逻辑把数据通过PCI总线传输到专用编解码芯片CNW3108,CNW3108经过解码后通过 端口1、端口2端口n把视频的原始数据传输到FPGA内部缓冲器并存储到外部内存 上,然后通过FPGA内部逻辑再把内存上原始视频数据通过PCIE总线传输到PC机上。 0046 本发明的一种基于单芯片的多通道视频编解码数据传输装置中的其它技术特征 与上述一种基于单芯片的多通道视频编解码数据传输方法相同,此处不予赘述。 0047 通过以上方案可以看出,本发明的基于单芯片的多通道视频编解码数据传输方法 及装置,通过定义编解码缓冲器的数据结构中包括一个有效标志,然后通过多通道同时并 行查询编。
24、解码缓冲器数据结构中的有效标志来判断出是哪个通道需要数据,从而实现数据 的快速存储或读取,解决了现有技术中MCU系统采用中断的方法、通过查询寄存器判断是 哪一路的编码或解码需要数据然后再去存储或读取数据所带来的实时性比较差的问题。本 发明的方法及装置缩小了编解码的时延,提高了多通道视频编解码数据传输过程中的实时 性,而且实现简单,具有较好的应用前景。 0048 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并 不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员 来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保 护范围。因此,本发明专利的保护范围应以所附权利要求为准。 说 明 书CN 102625105 A 1/4页 8 图1 图2 说 明 书 附 图CN 102625105 A 2/4页 9 图3 图4 图5 说 明 书 附 图CN 102625105 A 3/4页 10 图6 图7 说 明 书 附 图CN 102625105 A 10 4/4页 11 图8 说 明 书 附 图CN 102625105 A 11 。