CN102625105A - 基于单芯片的多通道视频编解码数据传输方法及装置 - Google Patents

基于单芯片的多通道视频编解码数据传输方法及装置 Download PDF

Info

Publication number
CN102625105A
CN102625105A CN2012100856573A CN201210085657A CN102625105A CN 102625105 A CN102625105 A CN 102625105A CN 2012100856573 A CN2012100856573 A CN 2012100856573A CN 201210085657 A CN201210085657 A CN 201210085657A CN 102625105 A CN102625105 A CN 102625105A
Authority
CN
China
Prior art keywords
data
encoding
decoding
buffer
decoding buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2012100856573A
Other languages
English (en)
Inventor
郭洪猛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vtron Technologies Ltd
Original Assignee
Vtron Technologies Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vtron Technologies Ltd filed Critical Vtron Technologies Ltd
Priority to CN2012100856573A priority Critical patent/CN102625105A/zh
Publication of CN102625105A publication Critical patent/CN102625105A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明提供一种基于单芯片的多通道视频编解码数据传输方法及装置,该方法包括以下步骤:接收多通道传输过来的原始视频数据/码流数据;根据通道的个数创建对应数目的编解码缓冲器,并定义该缓冲器的数据结构,所述定义的数据结构中包括编解码缓冲器的有效标志;配置通道地址,根据实时检测得到的各编解码缓冲器的有效标志来对各编解码缓冲器中的数据进行多通道读取;对读取的数据进行编码/解码处理,然后将编码/解码后的数据写入对应地址的编解码缓冲器中,并传输给PC。本发明的方法及装置缩小了编解码的时延,提高了多通道视频编解码数据传输过程中的实时性,而且实现简单。

Description

基于单芯片的多通道视频编解码数据传输方法及装置
技术领域
本发明涉及视频编解码技术,特别是涉及一种基于单芯片的多通道视频编解码数据传输方法以及一种基于单芯片的多通道视频编解码数据传输装置。
背景技术
众所周知,原始图像的视频数据需要占用的带宽是非常巨大的,利用目前的互联网带宽进行实时传输基本上是很困难的,所以视频的编解码具有重要的应用前途。
在视频的编解码过程中,当只有一路视频进行编码或解码时,传输的数据量还是比较小的,此时不用考虑编解码的实时性问题;但是在实际的应用场景视频会议中,一般都是十几路视频同时解码,同时还有若干路视频在编码,在这种多通道视频编解码过程中,数据传输存在实时性比较差的问题,即编解码会有一定的时延,从而给用户带来了不好的体验。
发明内容
基于此,本发明提供一种基于单芯片的多通道视频编解码数据传输方法及装置,能够提高多通道视频编解码数据传输过程中的实时性。
一种基于单芯片的多通道视频编解码数据传输方法,包括以下步骤:
接收多通道传输过来的原始视频数据/码流数据;
根据通道的个数创建对应数目的编解码缓冲器,并定义该缓冲器的数据结构,所述定义的数据结构中包括编解码缓冲器的有效标志;
配置通道地址,根据实时检测得到的各编解码缓冲器的有效标志来对各编解码缓冲器中的数据进行多通道读取;
对读取的数据进行编码/解码处理,然后将编码/解码后的数据写入对应地址的编解码缓冲器中,并传输给PC。
一种基于单芯片的多通道视频编解码数据传输装置,包括:
控制模块,用于接收多通道传输过来的原始视频数据/码流数据,根据通道的个数创建对应数目的编解码缓冲器,并定义该缓冲器的数据结构,所述定义的数据结构中包括编解码缓冲器的有效标志,然后配置通道地址,根据实时检测得到的各编解码缓冲器的有效标志来对各编解码缓冲器中的数据进行多通道读取;以及将所述编解码缓冲器中接收的编码/解码后的数据传输给PC;
编解码模块,用于对读取的数据进行编码/解码处理,并将编码/解码后的数据写入对应地址的编解码缓冲器中。
由以上方案可以看出,本发明的基于单芯片的多通道视频编解码数据传输方法及装置,定义了编解码缓冲器的数据结构中包括一个有效标志,然后通过多通道同时并行查询编解码缓冲器数据结构中的有效标志来判断出是哪个通道需要数据,从而可以实现数据的快速存储或读取,解决了现有技术中MCU系统采用中断的方法、通过查询寄存器判断是哪一路的编码或解码需要数据然后再去存储或读取数据所带来的实时性比较差的问题。本发明的方法及装置缩小了编解码的时延,提高了多通道视频编解码数据传输过程中的实时性,而且实现简单。
附图说明
图1为本发明基于单芯片的多通道视频编解码数据传输方法的流程示意图;
图2为单通道的编解码数据传输模型示意图;
图3为缓冲器的数据结构示意图;
图4为单通道的单个缓冲器的整体结构示意图;
图5为多通道编解码数据传输模型示意图;
图6为简化的多通道编解码数据传输模型示意图;
图7为本发明基于单芯片的多通道视频编解码数据传输装置的结构示意图;
图8为本发明一个具体实施例中的基于单芯片的多通道视频编解码数据传输装置的原理框图。
具体实施方式
图像的编/解码系统有两种基本的实现方法,一种是基于PC(PersonalComputer,个人计算机)实现,图像处理系统通过PCI(Peripheral ComponentInterconnection,周边元件扩展接口)总线以插卡形式集成在微机系统中,数据通过PCI总线或卡上所带的接口进行交换和传输;另一种脱离了PC机而独立运行,利用专用芯片对图像进行编/解码处理来实现。两种方法相比较,后面这种脱机的图像处理系统由于体积小和灵活简便而受到广泛关注,本发明即采用了这种方法来实现图像的编解码处理。
当多通道编解码时,一般的MCU(Micro Control Unit,单片机)系统采用中断的方法,通过查询寄存器的方法判断是哪一路的编码或解码需要数据,然后再去存储或读取数据,这样做会带来实时性比较差的问题。为解决该实时性差的问题,本发明提供一种基于单芯片的多通道视频编解码数据传输方法,如图1所示,包括以下步骤:
步骤S101,接收多通道传输过来的原始视频数据(即需要进行编码操作时的数据)或者是码流数据(即需要进行解码操作时的数据)。
步骤S102,根据通道的个数创建对应数目的编解码缓冲器,用来缓存上一步骤中接收的原始视频数据/码流数据,并定义该缓冲器的数据结构,所述定义的数据结构中包括编解码缓冲器的有效标志。
作为一个较好的实施例,所述编解码缓冲器中定义的数据结构除了包括编解码缓冲器的有效标志之外,如图2所示,还包括:缓冲器地址、缓冲器大小、下个缓冲器的数据结构地址、缓冲器剩余字节数、网络包类型等,并预先设定好各自的大小。
单通道的编解码缓冲器可以根据应用划分为几个部分:第1部分存放缓冲器的数据结构,其余部分以环行形式存放缓冲器块,其整体结构如图3所示。
步骤S103,由于本发明是对多通道数据进行处理,因此需要对多个通道进行区分,可以在进行数据传输时首先配置通道地址,然后再根据实时检测得到的各编解码缓冲器的有效标志来对各编解码缓冲器中的数据进行多通道读取。
上述根据实时检测得到的各编解码缓冲器的有效标志来对数据进行多通道读取的过程具体可以为:采用FPGA(Field-Programmable Gate Array,现场可编程门阵列)的并行工作特性,实时检测各编解码缓冲器的有效标志(这个有效标志通常情况为读/写标志),判断是否有编解码缓冲器中的数据需要读取/写入;若是,则对这个编解码缓冲器中的数据进行读取/写入;若否则说明暂时不需要对这个编解码缓冲器中的数据进行读取/写入。通过多通道同时并行查询缓冲器数据结构中的有效标志来判断出哪一个通道需要数据,这样可以快速的存储或读取数据,缩小了编解码的时延,提高了实时性。
步骤S 104,对读取的数据进行编码/解码处理,然后将编码/解码后的数据写入对应地址的编解码缓冲器中,最后传输给PC,完成传输处理。
优选的,所述对读取的数据进行编码处理的过程具体可以为:采用当前通用的编解码标准:H.264标准来对读取的数据进行编码处理。
无论单通道的编码/解码,都需要在启动编解码时创建一个缓冲器用来读取/存储编解码需要的数据。在其中一个实施例中,可以采用PCIE(PeripheralComponent Interconnection Express,周边元件扩展高速接口)来传输所述编解码缓冲器与PC之间的数据,而在采用PCIE接口传输数据时,首先需要创建一个PCIE接口缓冲器。如图4的单通道的数据模型示意图所示,专用编解码芯片编码/解码后的数据通过编解码缓冲器传输给创建的PCIE接口缓冲器,再通过PCIE传输出去。然后当多通道的编码/解码时,由于需要保证数据的正确性以及设计的简单性,每个通道都需要配置缓冲器(包括编解码缓冲器、PCIE接口缓冲器),因此多个通道的传输模型一般都采用如图5所示的结构。
在采用单芯片来进行多通道编解码的时候,只要PCIE接口带宽大于专用芯片的最大输出带宽和最大输入带宽之和就能满足编解码数据传输的正确性。而采用上述图5所示的方法是非常浪费缓冲器资源的,于是在其中一个实施例中,我们可以将上面的多通道编解码数据模型简化为如图6所示的结构,即将把右边的多通道编解码缓冲器的输出整合到一个较小的PCIE缓冲器中以进一步节约资源。具体整合的方法如下:把PCIE接口缓冲器的地址位分为两部分:一部分表示通道号,一部分表示当前通道的数据地址。加了通道号来进行区分,这样就可以把PCIE接口缓冲器的个数减少,通过图6可以看出,采用本实施例中的方法可以节约n-1(n为通道个数)个网络传输缓冲器资源。
需要说明的是,通过PCIE总线传输编码/解码的数据时,不能直接采用上面缓冲器中的数据,需要通过打包/拆包提取需要的数据。
与上述一种基于单芯片的多通道视频编解码数据传输方法相对应的,本发明还提供一种基于单芯片的多通道视频编解码数据传输装置,如图7所示,该装置包括:
控制模块(101),用于接收多通道传输过来的原始视频数据/码流数据,根据通道的个数创建对应数目的编解码缓冲器,并定义该缓冲器的数据结构,所述定义的数据结构中包括编解码缓冲器的有效标志,然后配置通道地址,根据实时检测得到的各编解码缓冲器的有效标志来对各编解码缓冲器中的数据进行多通道读取;以及将所述编解码缓冲器中接收的编码/解码后的数据传输给PC;
编解码模块(102),用于对读取的数据进行编码/解码处理,并将编码/解码后的数据写入对应地址的编解码缓冲器中。
优选的,所述控制模块可以包括检测模块,用于采用FPGA的并行工作特性,实时检测各编解码缓冲器的有效标志,判断是否有编解码缓冲器中的数据需要读取/写入;若是,则对该编解码缓冲器中的数据进行读取/写入。
优选的,所述控制模块可以采用FPGA芯片;所述编解码模块可以采用CNW3108专用编解码芯片,如图8所示。
优选的,所述控制模块、编解码模块之间可以采用PCI接口来传输码流数据;
和/或
所述控制模块、PC之间可以采用PCIE接口来传输数据。
下面结合图8,对本发明一个优选实施例中基于单芯片的多通道视频编解码数据传输装置的具体工作过程作进一步的描述:
编码时:原始视频数据经PCIE总线从PC机传输到FPGA芯片,然后存储到外部内存上,此时创建与通道个数对应的编解码缓冲器用来缓存外部内存上的数据,FPGA读取外部内存上的原始视频数据通过端口1、端口2......端口n(端口的个数依具体应用而定)传输到专用编解码芯片CNW3108。专用编解码芯片CNW3108把原始视频数据编码成H.264的码流数据后经PCI总线传输到FPGA内部的编解码缓冲器中,再通过FPGA内部逻辑把码流数据经PCIE总线传输到PC机上;
解码时:PC上的H.264的码流数据经PCIE总线传输到FPGA的内部缓冲器中,经过内部逻辑把数据通过PCI总线传输到专用编解码芯片CNW3108,CNW3108经过解码后通过端口1、端口2......端口n把视频的原始数据传输到FPGA内部缓冲器并存储到外部内存上,然后通过FPGA内部逻辑再把内存上原始视频数据通过PCIE总线传输到PC机上。
本发明的一种基于单芯片的多通道视频编解码数据传输装置中的其它技术特征与上述一种基于单芯片的多通道视频编解码数据传输方法相同,此处不予赘述。
通过以上方案可以看出,本发明的基于单芯片的多通道视频编解码数据传输方法及装置,通过定义编解码缓冲器的数据结构中包括一个有效标志,然后通过多通道同时并行查询编解码缓冲器数据结构中的有效标志来判断出是哪个通道需要数据,从而实现数据的快速存储或读取,解决了现有技术中MCU系统采用中断的方法、通过查询寄存器判断是哪一路的编码或解码需要数据然后再去存储或读取数据所带来的实时性比较差的问题。本发明的方法及装置缩小了编解码的时延,提高了多通道视频编解码数据传输过程中的实时性,而且实现简单,具有较好的应用前景。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于单芯片的多通道视频编解码数据传输方法,其特征在于,包括以下步骤:
接收多通道传输过来的原始视频数据/码流数据;
根据通道的个数创建对应数目的编解码缓冲器,并定义该缓冲器的数据结构,所述定义的数据结构中包括编解码缓冲器的有效标志;
配置通道地址,根据实时检测得到的各编解码缓冲器的有效标志来对各编解码缓冲器中的数据进行多通道读取;
对读取的数据进行编码/解码处理,然后将编码/解码后的数据写入对应地址的编解码缓冲器中,并传输给PC。
2.根据权利要求1所述的基于单芯片的多通道视频编解码数据传输方法,其特征在于,所述根据实时检测得到的各编解码缓冲器的有效标志来对各编解码缓冲器中的数据进行多通道读取的过程具体为:采用FPGA的并行工作特性,实时检测各编解码缓冲器的有效标志,判断是否有编解码缓冲器中的数据需要读取/写入;若是,则对该编解码缓冲器中的数据进行读取/写入。
3.根据权利要求2所述的基于单芯片的多通道视频编解码数据传输方法,其特征在于,所述对读取的数据进行编码处理的过程具体为:采用H.264标准来对读取的数据进行编码处理。
4.根据权利要求2所述的基于单芯片的多通道视频编解码数据传输方法,其特征在于,所述编解码缓冲器中定义的数据结构还包括:缓冲器地址、缓冲器大小、下个缓冲器的数据结构地址、缓冲器剩余字节数、网络包类型。
5.根据权利要求1-4任意一项所述的基于单芯片的多通道视频编解码数据传输方法,其特征在于,采用PCIE接口来传输所述编解码缓冲器与PC之间的数据。
6.根据权利要求5所述的基于单芯片的多通道视频编解码数据传输方法,其特征在于,在采用PCIE接口传输数据时,创建一个PCIE接口缓冲器,定义该PCIE接口缓冲器的地址位分为两部分:一部分表示通道号,另一部分表示当前通道的数据地址。
7.一种基于单芯片的多通道视频编解码数据传输装置,其特征在于,包括:
控制模块,用于接收多通道传输过来的原始视频数据/码流数据,根据通道的个数创建对应数目的编解码缓冲器,并定义该缓冲器的数据结构,所述定义的数据结构中包括编解码缓冲器的有效标志,然后配置通道地址,根据实时检测得到的各编解码缓冲器的有效标志来对各编解码缓冲器中的数据进行多通道读取;以及将所述编解码缓冲器中接收的编码/解码后的数据传输给PC;
编解码模块,用于对读取的数据进行编码/解码处理,并将编码/解码后的数据写入对应地址的编解码缓冲器中。
8.根据权利要求7所述的基于单芯片的多通道视频编解码数据传输装置,其特征在于,所述控制模块中包括检测模块,用于采用FPGA的并行工作特性,实时检测各编解码缓冲器的有效标志,判断是否有编解码缓冲器中的数据需要读取/写入;若是,则对该编解码缓冲器中的数据进行读取/写入。
9.根据权利要求8所述的基于单芯片的多通道视频编解码数据传输装置,其特征在于,所述控制模块采用FPGA芯片;
和/或
所述编解码模块采用CNW3108专用编解码芯片。
10.根据权利要求7-9任意一项所述的基于单芯片的多通道视频编解码数据传输装置,其特征在于,所述控制模块、编解码模块之间采用PCI接口来传输码流数据;
和/或
所述控制模块、PC之间采用PCIE接口来传输数据。
CN2012100856573A 2012-03-27 2012-03-27 基于单芯片的多通道视频编解码数据传输方法及装置 Pending CN102625105A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012100856573A CN102625105A (zh) 2012-03-27 2012-03-27 基于单芯片的多通道视频编解码数据传输方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012100856573A CN102625105A (zh) 2012-03-27 2012-03-27 基于单芯片的多通道视频编解码数据传输方法及装置

Publications (1)

Publication Number Publication Date
CN102625105A true CN102625105A (zh) 2012-08-01

Family

ID=46564766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012100856573A Pending CN102625105A (zh) 2012-03-27 2012-03-27 基于单芯片的多通道视频编解码数据传输方法及装置

Country Status (1)

Country Link
CN (1) CN102625105A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103780905A (zh) * 2012-10-18 2014-05-07 深圳市朗驰欣创科技有限公司 一种高速视频编码装置
CN105578116A (zh) * 2015-12-30 2016-05-11 邦彦技术股份有限公司 一种基于dsp的多通道视频流控制系统和方法
CN113535629A (zh) * 2020-04-15 2021-10-22 瑞昱半导体股份有限公司 数据传输系统、电路与方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2416692Y (zh) * 1999-11-01 2001-01-24 杨光进 可同时显示四路输入信号的可视电话
CN101056316A (zh) * 2007-06-22 2007-10-17 中兴通讯股份有限公司 一种pci以太网媒体访问控制器传输数据的方法
CN101446890A (zh) * 2007-11-29 2009-06-03 株式会社瑞萨科技 流处理装置、流处理方法和数据处理系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2416692Y (zh) * 1999-11-01 2001-01-24 杨光进 可同时显示四路输入信号的可视电话
CN101056316A (zh) * 2007-06-22 2007-10-17 中兴通讯股份有限公司 一种pci以太网媒体访问控制器传输数据的方法
CN101446890A (zh) * 2007-11-29 2009-06-03 株式会社瑞萨科技 流处理装置、流处理方法和数据处理系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103780905A (zh) * 2012-10-18 2014-05-07 深圳市朗驰欣创科技有限公司 一种高速视频编码装置
CN105578116A (zh) * 2015-12-30 2016-05-11 邦彦技术股份有限公司 一种基于dsp的多通道视频流控制系统和方法
CN113535629A (zh) * 2020-04-15 2021-10-22 瑞昱半导体股份有限公司 数据传输系统、电路与方法
CN113535629B (zh) * 2020-04-15 2024-03-15 瑞昱半导体股份有限公司 数据传输系统、电路与方法

Similar Documents

Publication Publication Date Title
EP2791810B1 (en) System and method of sending data via a plurality of data lines on a bus
CN101236601B (zh) 图像识别加速装置及具有图像识别加速装置的微处理器芯片
CN103605625B (zh) 基于AXI总线的Nor Flash芯片的控制方法
CN101169771B (zh) 一种axi内部总线的外部接口装置及其数据传输方法
CN202931289U (zh) 一种硬件lz77压缩实现系统
CN101819560A (zh) 一种spi接口存储器执行程序方法和装置
CN103023509A (zh) 一种硬件lz77压缩实现系统及其实现方法
CN105208034A (zh) 一种spi总线与can总线协议转换电路及方法
CN102298508B (zh) 基于流的固态硬盘预读取的方法及装置
CN103095305A (zh) 一种硬件lz77的压缩实现系统及方法
CN102122256A (zh) 一种用于进程间通信的管道式通信方法及系统
CN101140543B (zh) 支持flash页操作与流水线纠错码的数据交换装置与方法
CN102724122A (zh) 基于硬件系统的串口可靠传输方法及装置
CN103077149A (zh) 一种数据传输方法和系统
CN102625105A (zh) 基于单芯片的多通道视频编解码数据传输方法及装置
CN104021097A (zh) 数据传输方法、装置及直接存储器存取
KR20170133236A (ko) PCIe 장치들에서의 고속 입출력을 위한 스토리지 시스템, 방법 및 장치
CN101004674A (zh) 处理器体系结构
CN101674161A (zh) 解速率匹配方法及装置
CN105279123A (zh) 双冗余1553b总线的串口转换结构及转换方法
CN104598354B (zh) 基于软硬架构的高端容错计算机fpga专用调试方法及其装置
CN102135946A (zh) 一种数据处理方法和装置
CN103279442A (zh) 一种高速互联总线的报文过滤系统及方法
WO2013094010A1 (ja) データ転送装置、データ転送方法およびチップ間通信システム
CN105117353A (zh) 带有通用数据交互模块的fpga及采用该fpga的信息处理系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120801