CN117560501A - 一种多标准视频解码器架构 - Google Patents
一种多标准视频解码器架构 Download PDFInfo
- Publication number
- CN117560501A CN117560501A CN202410040590.4A CN202410040590A CN117560501A CN 117560501 A CN117560501 A CN 117560501A CN 202410040590 A CN202410040590 A CN 202410040590A CN 117560501 A CN117560501 A CN 117560501A
- Authority
- CN
- China
- Prior art keywords
- module
- decoding
- instruction
- code stream
- video
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims abstract description 9
- 238000004458 analytical method Methods 0.000 claims description 40
- 238000004364 calculation method Methods 0.000 claims description 25
- 238000001914 filtration Methods 0.000 claims description 22
- 230000006835 compression Effects 0.000 claims description 15
- 238000007906 compression Methods 0.000 claims description 15
- 238000013139 quantization Methods 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 13
- 238000007405 data analysis Methods 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 10
- 239000013598 vector Substances 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 9
- 238000011161 development Methods 0.000 abstract description 2
- 238000013461 design Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种多标准视频解码器架构。本发明包括主处理器、视频协处理器、多标准视频解码核。主处理器配置视频协处理器,包括配置视频协处理器工作的内存环境、内存区域、工作模式、处理当前解码结果。视频协处理器得到主处理器的配置后,执行解码指令,并上报当前指令的解码结果。多标准视频解码核按照主处理器配置的解码标准进行视频解码,包括码流的载入和解析、宏块解码、上报解码完成,在解码发生错误后随时终止当前解码指令。本发明使用可编程代码进行串联启动,既不损失视频硬件解码的性能,又能让软件层实时监控解码器的状态。本发明中各解码细节模块的启动和结束受控于软件,后期芯片开发易于进行标准扩展。
Description
技术领域
本发明属于数字视频技术领域,涉及一种多标准视频解码器架构。
背景技术
在DVB(Digital Video Broadcasting)系统下,视频编码应用一种或多种标准,例如MPEG2,H264,H265,AVS等。这些标准都是将视频数据以宏块为单位进行帧压缩,多标准视频解码器(以下简称解码器)的作用是将传输中的数字视频实时地按帧解码成数字帧存数据。这些常规的多标准解码器的设计多以16x16/32x32/64x64等块大小为单位进行硬件流水设计,视频标准解码大多需要经过码流解析,反量化反变换,帧内预测,帧间预测,像素重建,像素滤波,最后恢复解码结果。
在DVB(Digital Video Broadcasting)系统下,视频播放的实时性和稳定性是其重要的性能指标。而DVB系统中,数字视频的信号来源存在多样性。特别是无线的开放性信号(例如卫星信号,无线发射基站等)存在不稳定的情况,会导致数字视频的信号存在偶发性的大量错误。而这些包含偶发性大量错误的信号直接通过解调和解复用系统分离出来的数字视频数据,不可避免的依然会存在大量的错误。这就要求后级的多标准视频解码器有能力处理这些错误情况。
目前业内解码器普遍的处理方案使用一个多标准大型解码核来实现视频的实时解码。相比与软件解码而言,具有解码速度快,解码成本低的优点。但是由于解码器本身是一个芯片大核,很难做到对解码器内部的功能控制,对处理视频解码得到的错误帧,采用的策略一般是丢弃或者保留。当存在有大量错误码流输入的情况下,很难保证解码器本身工作的稳定性,这些错误甚至可能会造成对整个系统的不可逆破坏。一旦发生这种情况,产品端往往已经束手无策了。
发明内容
本发明的目的在于提供一种多标准视频解码器架构。
本发明包括主处理器CPU、视频协处理器VPU、多标准视频解码核。
主处理器CPU通过APB总线配置视频协处理器VPU,相互传递信息,配置内容包括:
(A)配置视频协处理器VPU工作的内存环境,包括内存大小端特性、内存为虚拟内存或真实内存;
(B)配置视频协处理器VPU工作的内存区域,包括解码代码位置、码流位置、帧存位置、用户信息位置;
(C)配置视频协处理器VPU工作的模式,包括解码标准、解码指令;
(D)接收到视频协处理器VPU的中断信号后,处理当前解码指令的解码结果。
视频协处理器VPU得到主处理器CPU的配置后,执行解码指令,并上报当前指令的解码结果,工作流程如下:
(1)视频协处理器VPU通过软件配置加载指定标准的解码代码内容。系统启动后,内存中预先加载好所有标准的解码代码,每种标准的解码代码有固定地址和固定大小;主处理器CPU配置指定解码标准后,视频协处理器VPU通过固定地址一次性加载指定标准的解码代码;
(2)视频协处理器VPU执行解码代码:
①视频协处理器VPU启动加载码流;主处理器CPU更新码流写指针WPTR,视频协处理器VPU读取码流后,更新读指针RPTR,如果WPTR和RPTR相等,则上报空中断,等待主处理器CPU更新下一个写指针WPTR;视频协处理器VPU通知码流解析模块发起数据读取,并更新读指针RPTR;
②视频协处理器VPU执行当前码流指定标准的解码头信息,包括序列层数据解析,图像层数据解析,条带层数据解析和用户层数据的解析;
③视频协处理器VPU执行当前图像的宏块层解码;从码流解析模块获得宏块信息,组织成模块管理器规定的配置指令,组织各子模块的工作流程;
④视频协处理器VPU执行当前图像解码结果的上报;当前图像解码完成,或者当前图像解码错误,由码流解析模块和模块管理器上报状态,视频协处理器VPU执行解码状态的处理,并产生中断上报给主处理器CPU。
多标准视频解码核按照主处理器CPU配置的解码标准进行视频解码,包括码流的载入和解析、宏块解码、上报解码完成,在解码发生错误后随时终止当前解码指令。多标准视频解码核包括码流解析模块、模块管理器、帧间参考数据读取模块、反量化反变换模块、帧内预测模块、帧间预测模块、像素重建模块、像素滤波模块、像素压缩模块、像素回写模块、内存防火墙。
(a)码流解析模块的主体功能是码流的加载和解析;
码流的加载是指每次码流固定发出256字节的读取,并存放在码流解析模块内部进行解析,解析的过程不断的更新字节位置BPTR。当前是第一申请时,从视频协处理器VPU获得RPTR,将RPTR的高24位用于256字节的读取,并将RPTR的低8位用于初始化BPTR,以此指定第一个有效数据位置。当前是最后一次申请时(此时RPTR和WPTR的高24位相同),码流有效的最后位置是256-WPTR的低8位。
码流的解析包含码流的固定比特取值、变长码解码和CABAC解码;码流的解析出现错误时,将宏块的码流信息错误情况上报给视频协处理器VPU。
码流解析到一个最小单元小块的信息即上报该单元小块的信息给模块管理器,最多缓存的信息数据的数量为64个块单元信息,每个块单元信息包括块单元的坐标、形状和大小、帧内预测模式、帧间预测模式、帧间预测的运动矢量和滤波强度;码流解析模块上报单元信息的同时保持自身的工作。
(b)模块管理器从内部的块信息缓存区获得当前块信息,将当前块信息分配给相应的模块,并产生配置指令,包括帧间参考数据读取模块、反量化反变换模块、帧内预测模块、帧间预测模块、像素重建模块、像素滤波模块、像素压缩模块和像素回写模块的配置指令。
模块管理器内部有最多可以存放64个块信息的缓存。由于码流解析过程中块信息的残差数据差异非常大,块信息缓存足够大,才能抹平解析各个块之间的时间差异,为块信息的后级模块提供稳定的数据流。模块管理器内部包含第一级配置到第N级配置,各配置信息由各驱动对象的需求自由组织。第一级配置对应一个配置指令缓存,第二级配置对应两个配置指令缓存...第N级配置对应N个配置指令缓存。
(c)帧间参考数据读取模块,由模块管理器第一级配置指令启动,根据指令中的运动矢量信息和配置信息,读取参考数据。读取完毕后,上报模块管理器当前指令结束,等待下一指令执行。
(d)反量化反变换模块,由模块管理器第一级配置指令启动,根据指令中的宏块类型信息和配置信息,对码流解析的残差系数进行反量化反变换,得到宏块的残差值。计算完毕后,上报模块管理器当前指令结束,等待下一指令执行。
(e)帧内预测模块,由模块管理器第二级配置指令启动,根据指令中的宏块类型、帧内预测类型信息和配置信息,进行宏块的帧内预测。计算完毕后,上报模块管理器当前指令结束,等待下一指令执行。
(f)帧间预测模块,由模块管理器第二级配置指令启动,根据指令中的宏块类型、帧间预测类型信息和配置信息,进行宏块的帧间预测。计算完毕后,上报模块管理器当前指令结束,等待下一指令执行。
(g)像素重建模块,由模块管理器第三级配置指令启动,根据指令中的宏块类型读取预测数据和残差数据进行叠加计算,恢复当前宏块的重建像素。重建像素额外保存当前右边像素和底部像素,给后续宏块的帧内预测和像素滤波使用。计算完毕后,上报模块管理器当前指令结束,等待下一指令执行。
(h)像素滤波模块,由模块管理器第四级配置指令启动,根据指令中的宏块类型和滤波参数配置,对当前宏块的像素内容进行滤波。计算完毕后,上报模块管理器当前指令结束,等待下一指令执行。
(i)像素压缩模块,由模块管理器第五级配置指令启动,根据指令中的宏块大小信息,对当前宏块的滤波后数据进行帧压缩。计算完毕后,上报模块管理器当前指令结束,等待下一指令执行。该功能可由用户自行配置。
(j)像素回写模块,由模块管理器第六级配置指令启动,根据指令中的宏块大小信息和帧压缩模式,将当前的宏块解码结果通过AXI指令写入指定的内存空间。计算完毕后,上报模块管理器当前指令结束,等待下一指令执行。
(k)内存防火墙,将多标准视频解码器的所有AXI读写申请限制在允许的范围内,保存当前视频解码帧时允许访问的写内存区域,当AXI写申请超过允许访问的区域时,上报写错误,对外不发出写申请。
本发明的一种多标准视频解码器的架构将多标准大型解码内各功能模块使用可编程代码进行串联启动,既不损失视频硬件解码的性能,又能让软件层实时监控解码器的状态,掌握解码器的内部出错细节,不断的修复解码器状态,产品端也有条件不断的升级软件代码来提升应用本核心产品的稳定性。本发明另一优点在于各解码细节模块的启动和结束受控于软件,块解码能够利用所有硬件资源,各硬件模块其实只是各标准数据计算的加速,后期芯片开发易于进行标准扩展。
附图说明
图1为本发明的架构示意图;
图2为本发明中模块管理器的结构示意图。
具体实施方式
一种多标准视频解码器架构,如图1所示:
本发明包括主处理器CPU、视频协处理器VPU、多标准视频解码核。
主处理器CPU通过APB总线配置视频协处理器VPU,相互传递信息,配置内容包括:
(A)配置视频协处理器VPU工作的内存环境,包括内存大小端特性、内存为虚拟内存或真实内存;
(B)配置视频协处理器VPU工作的内存区域,包括解码代码位置、码流位置、帧存位置、用户信息位置;
(C)配置视频协处理器VPU工作的模式,包括解码标准、解码指令;
(D)接收到视频协处理器VPU的中断信号后,处理当前解码指令的解码结果。
视频协处理器VPU得到主处理器CPU的配置后,执行解码指令,并上报当前指令的解码结果,工作流程如下:
(1)视频协处理器VPU通过软件配置加载指定标准的解码代码内容。系统启动后,内存中预先加载好所有标准的解码代码,每种标准的解码代码有固定地址和固定大小;主处理器CPU配置指定解码标准后,视频协处理器VPU通过固定地址一次性加载指定标准的解码代码;
(2)视频协处理器VPU执行解码代码:
①视频协处理器VPU启动加载码流;主处理器CPU更新码流写指针WPTR,视频协处理器VPU读取码流后,更新读指针RPTR,如果WPTR和RPTR相等,则上报空中断,等待主处理器CPU更新下一个写指针WPTR;视频协处理器VPU通知码流解析模块发起数据读取,并更新读指针RPTR;
②视频协处理器VPU执行当前码流指定标准的解码头信息,包括序列层数据解析,图像层数据解析,条带层数据解析和用户层数据的解析;
③视频协处理器VPU执行当前图像的宏块层解码;从码流解析模块获得宏块信息,组织成模块管理器规定的配置指令,组织各子模块的工作流程;
④视频协处理器VPU执行当前图像解码结果的上报;当前图像解码完成,或者当前图像解码错误,由码流解析模块和模块管理器上报状态,视频协处理器VPU执行解码状态的处理,并产生中断上报给主处理器CPU。
多标准视频解码核按照主处理器CPU配置的解码标准进行视频解码,包括码流的载入和解析、宏块解码、上报解码完成,在解码发生错误后随时终止当前解码指令。多标准视频解码核包括码流解析模块、模块管理器、帧间参考数据读取模块、反量化反变换模块、帧内预测模块、帧间预测模块、像素重建模块、像素滤波模块、像素压缩模块、像素回写模块、内存防火墙。
(a)码流解析模块的主体功能是码流的加载和解析;
码流的加载是指每次码流固定发出256字节的读取,并存放在码流解析模块内部进行解析,解析的过程不断的更新字节位置BPTR。当前是第一申请时,从视频协处理器VPU获得RPTR,将RPTR的高24位用于256字节的读取,并将RPTR的低8位用于初始化BPTR,以此指定第一个有效数据位置。当前是最后一次申请时(此时RPTR和WPTR的高24位相同),码流有效的最后位置是256-WPTR的低8位。
码流的解析包含码流的固定比特取值、变长码解码和CABAC解码;码流的解析出现错误时,将宏块的码流信息错误情况上报给视频协处理器VPU。
码流解析到一个最小单元小块的信息即上报该单元小块的信息给模块管理器,最多缓存的信息数据的数量为64个块单元信息,每个块单元信息包括块单元的坐标、形状和大小、帧内预测模式、帧间预测模式、帧间预测的运动矢量和滤波强度;码流解析模块上报单元信息的同时保持自身的工作。为了块信息表达的完整性和精简性,下表列举了整个块信息上报的配置格式,这些块信息包含了所有的解析结果,并且是独立寄存器,直接一拍就传递给了模块管理器。
Bits | Name | Info |
Reserved | 块信息独立寄存器设计,可按照标准需要自由扩展 | |
5:0 | RefIdxL1 | 帧间:后向参考图帧号;-1表示无效 |
15:0 | MVYL1 | 帧间:后向垂直运动矢量; |
15:0 | MVXL1 | 帧间:后向水平运动矢量; |
5:0 | RefIdxL0 | 帧间:前向参考图帧号;-1表示无效 |
15:0 | MVYL0/ChromaPredMode | 帧间:前向垂直运动矢量;帧内:色度预测模式 |
15:0 | MVXL0/LumaChromaMode | 帧间:前向水平运动矢量;帧内:亮度预测模式 |
4:0 | MB_Height | 块高度:4对齐,取值范围是[4,64] |
4:0 | MB_Width | 块宽度:4对齐,取值范围是[4,64] |
1 | MBAFF | 宏块的mbaff标记 |
1 | MBfield | 宏块帧场标记 |
1 | Intra | 帧内标记 |
12:0 | MBY | 块垂直坐标(以像素为单位) |
12:0 | MBX | 块水平坐标(以像素为单位) |
(b)模块管理器从内部的块信息缓存区获得当前块信息,将当前块信息分配给相应的模块,并产生配置指令,包括帧间参考数据读取模块、反量化反变换模块、帧内预测模块、帧间预测模块、像素重建模块、像素滤波模块、像素压缩模块和像素回写模块的配置指令。
如图2所示,模块管理器内部有最多可以存放64个块信息的缓存。由于码流解析过程中块信息的残差数据差异非常大,块信息缓存足够大,才能抹平解析各个块之间的时间差异,为块信息的后级模块提供稳定的数据流。模块管理器内部包含第一级配置到第N级配置,各配置信息由各驱动对象的需求自由组织。第一级配置对应一个配置指令缓存,第二级配置对应两个配置指令缓存,...第N级配置对应N个配置指令缓存。
下面举例说明多级配置之间的设计意图。首先,模块处理器从块信息缓存中得到当前块信息,并转化为第一级配置0,第二级配置0,第三级配置0,第四级配置0,第五级配置0,第六级配置0。第一级配置0驱动的模块可以直接启动,但是后级配置模块必须等待第一级配置0的工作完成后才能真正工作。为了不打断第一级配置0驱动的模块工作,模块处理器接收到第一级配置0驱动的模块工作完成后,直接取下一块信息转化为第一级配置1,第二级配置1,第三级配置1,第四级配置1,第五级配置1,第六级配置1。其中,第一级配置1可以直接驱动第一级模块进行工作,第二级配置0也可以启动工作,后续依赖第二级模块完成结果的模块则无法启动。此种方法,模块管理器可以迅速而又简单的消耗块信息缓存,也不会丢失后级模块的启动依赖的信息,底层模块也不用关心和前后级的联系。此种方法,对后续视频解码标准设计上的扩展也很友好,可以根据算法模块的位置很方便的新增一个算法模块的驱动。例如,AVS2标准的滤波有两级运算,可以在像素滤波模块后增加像素滤波模块2,就可以在原有架构的基础上开发新增avs2标准的解码器。
模块管理器还有一个重要功能是实时监控和各驱动模块的错误情况,当任一模块上报错误后,模块管理器评估错误信息,进行错误处理,并上报多标准视频协处理器VPU,并执行VPU预先设置的错误处理。
(c)帧间参考数据读取模块,由模块管理器第一级配置指令启动,根据指令中的运动矢量信息和配置信息,读取参考数据。读取完毕后,上报模块管理器当前指令结束,等待下一指令执行。
(d)反量化反变换模块,由模块管理器第一级配置指令启动,根据指令中的宏块类型信息和配置信息,对码流解析的残差系数进行反量化反变换,得到宏块的残差值。计算完毕后,上报模块管理器当前指令结束,等待下一指令执行。
(e)帧内预测模块,由模块管理器第二级配置指令启动,根据指令中的宏块类型、帧内预测类型信息和配置信息,进行宏块的帧内预测。计算完毕后,上报模块管理器当前指令结束,等待下一指令执行。
(f)帧间预测模块,由模块管理器第二级配置指令启动,根据指令中的宏块类型、帧间预测类型信息和配置信息,进行宏块的帧间预测。计算完毕后,上报模块管理器当前指令结束,等待下一指令执行。
(g)像素重建模块,由模块管理器第三级配置指令启动,根据指令中的宏块类型读取预测数据和残差数据进行叠加计算,恢复当前宏块的重建像素。重建像素额外保存当前右边像素和底部像素,给后续宏块的帧内预测和像素滤波使用。计算完毕后,上报模块管理器当前指令结束,等待下一指令执行。
(h)像素滤波模块,由模块管理器第四级配置指令启动,根据指令中的宏块类型和滤波参数配置,对当前宏块的像素内容进行滤波。计算完毕后,上报模块管理器当前指令结束,等待下一指令执行。
(i)像素压缩模块,由模块管理器第五级配置指令启动,根据指令中的宏块大小信息,对当前宏块的滤波后数据进行帧压缩。计算完毕后,上报模块管理器当前指令结束,等待下一指令执行。该功能可由用户自行配置。
(j)像素回写模块,由模块管理器第六级配置指令启动,根据指令中的宏块大小信息和帧压缩模式,将当前的宏块解码结果通过AXI指令写入指定的内存空间。计算完毕后,上报模块管理器当前指令结束,等待下一指令执行。
(k)内存防火墙,将多标准视频解码器的所有AXI读写申请限制在允许的范围内,保存当前视频解码帧时允许访问的写内存区域,当AXI写申请超过允许访问的区域时,上报写错误,对外不发出写申请。
一般多核解码器的解码工作能保证正确码流的解码正确性,但是当前码流有错误时,解码器工作过程中将可能出现以下多种错误:
解码错误一:解码帧出现可以识别的错误;
解码错误二:解码帧没有结果,解码器卡死在未知的某个环节;
解码错误三:解码过程中,读写了不允许使用的内存空间导致系统崩塌。
下面具体描述针对各解码错误的处理情况,详细介绍如何发挥本抗误码架构的功能。
当前协处理器在解码过程中发现帧头信息错误,则丢弃,并主动找下一个帧头;
当前协处理器发现多标准视频解码器在解码过程中上报宏块错误,则丢弃当前帧;
当前协处理器一帧解码上报超时中断,则主处理器CPU应当判断解码器工作异常,应当重启解码器工作。此出错检测针对解码错误二。
当前解码器如果发出了超出预先配置的内存范围读写申请,经过内存防火墙,可以防止多标准视频解码器的AXI接口读写超过系统允许的范围。此时内存防火墙会上报AXI读写内容溢出的中断,则主处理器CPU应当判断解码器工作异常,应当重启解码器工作。此错误检测针对解码错误三。
Claims (6)
1.一种多标准视频解码器架构,其特征在于:包括主处理器CPU、视频协处理器VPU、多标准视频解码核;
所述的主处理器CPU通过APB总线配置视频协处理器VPU,相互传递信息;
所述的视频协处理器VPU得到主处理器CPU的配置后,执行解码指令,并上报当前指令的解码结果;
所述的多标准视频解码核按照主处理器CPU配置的解码标准进行视频解码,包括码流的载入和解析、宏块解码、上报解码完成,在解码发生错误后随时终止当前解码指令;多标准视频解码核包括码流解析模块、模块管理器、帧间参考数据读取模块、反量化反变换模块、帧内预测模块、帧间预测模块、像素重建模块、像素滤波模块、像素压缩模块、像素回写模块、内存防火墙。
2.如权利要求1所述的一种多标准视频解码器架构,其特征在于,主处理器CPU配置视频协处理器VPU的配置内容包括:
(A)配置视频协处理器VPU工作的内存环境,包括内存大小端特性、内存为虚拟内存或真实内存;
(B)配置视频协处理器VPU工作的内存区域,包括解码代码位置、码流位置、帧存位置、用户信息位置;
(C)配置视频协处理器VPU工作的模式,包括解码标准、解码指令;
(D)接收到视频协处理器VPU的中断信号后,处理当前解码指令的解码结果。
3.如权利要求1所述的一种多标准视频解码器架构,其特征在于,视频协处理器VPU工作流程如下:
(1)视频协处理器VPU通过软件配置加载指定标准的解码代码内容;系统启动后,内存中预先加载好所有标准的解码代码,每种标准的解码代码有固定地址和固定大小;主处理器CPU配置指定解码标准后,视频协处理器VPU通过固定地址一次性加载指定标准的解码代码;
(2)视频协处理器VPU执行解码代码:
①视频协处理器VPU启动加载码流;主处理器CPU更新码流写指针WPTR,视频协处理器VPU读取码流后,更新读指针RPTR,如果WPTR和RPTR相等,则上报空中断,等待主处理器CPU更新下一个写指针WPTR;视频协处理器VPU通知码流解析模块发起数据读取,并更新读指针RPTR;
②视频协处理器VPU执行当前码流指定标准的解码头信息,包括序列层数据解析,图像层数据解析,条带层数据解析和用户层数据的解析;
③视频协处理器VPU执行当前图像的宏块层解码;从码流解析模块获得宏块信息,组织成模块管理器规定的配置指令,组织各子模块的工作流程;
④视频协处理器VPU执行当前图像解码结果的上报;当前图像解码完成,或者当前图像解码错误,由码流解析模块和模块管理器上报状态,视频协处理器VPU执行解码状态的处理,并产生中断上报给主处理器CPU。
4.如权利要求1所述的一种多标准视频解码器架构,其特征在于,所述的多标准视频解码核中各模块具体如下:
(a)码流解析模块的主体功能是码流的加载和解析;
(b)模块管理器从内部的块信息缓存区获得当前块信息,将当前块信息分配给相应的模块,并产生配置指令,包括帧间参考数据读取模块、反量化反变换模块、帧内预测模块、帧间预测模块、像素重建模块、像素滤波模块、像素压缩模块和像素回写模块的配置指令;
(c)帧间参考数据读取模块,由模块管理器第一级配置指令启动,根据指令中的运动矢量信息和配置信息,读取参考数据;读取完毕后,上报模块管理器当前指令结束,等待下一指令执行;
(d)反量化反变换模块,由模块管理器第一级配置指令启动,根据指令中的宏块类型信息和配置信息,对码流解析的残差系数进行反量化反变换,得到宏块的残差值;计算完毕后,上报模块管理器当前指令结束,等待下一指令执行;
(e)帧内预测模块,由模块管理器第二级配置指令启动,根据指令中的宏块类型、帧内预测类型信息和配置信息,进行宏块的帧内预测;计算完毕后,上报模块管理器当前指令结束,等待下一指令执行;
(f)帧间预测模块,由模块管理器第二级配置指令启动,根据指令中的宏块类型、帧间预测类型信息和配置信息,进行宏块的帧间预测;计算完毕后,上报模块管理器当前指令结束,等待下一指令执行;
(g)像素重建模块,由模块管理器第三级配置指令启动,根据指令中的宏块类型读取预测数据和残差数据进行叠加计算,恢复当前宏块的重建像素;重建像素额外保存当前右边像素和底部像素,给后续宏块的帧内预测和像素滤波使用;计算完毕后,上报模块管理器当前指令结束,等待下一指令执行;
(h)像素滤波模块,由模块管理器第四级配置指令启动,根据指令中的宏块类型和滤波参数配置,对当前宏块的像素内容进行滤波;计算完毕后,上报模块管理器当前指令结束,等待下一指令执行;
(i)像素压缩模块,由模块管理器第五级配置指令启动,根据指令中的宏块大小信息,对当前宏块的滤波后数据进行帧压缩;计算完毕后,上报模块管理器当前指令结束,等待下一指令执行;该功能可由用户自行配置;
(j)像素回写模块,由模块管理器第六级配置指令启动,根据指令中的宏块大小信息和帧压缩模式,将当前的宏块解码结果通过AXI指令写入指定的内存空间;计算完毕后,上报模块管理器当前指令结束,等待下一指令执行;
(k)内存防火墙,将多标准视频解码器的所有AXI读写申请限制在允许的范围内,保存当前视频解码帧时允许访问的写内存区域,当AXI写申请超过允许访问的区域时,上报写错误,对外不发出写申请。
5.如权利要求1所述的一种多标准视频解码器架构,其特征在于:所述的码流解析模块中,码流的加载是指每次码流固定发出256字节的读取,并存放在码流解析模块内部进行解析,解析的过程不断的更新字节位置BPTR;当前是第一申请时,从视频协处理器VPU获得RPTR,将RPTR的高24位用于256字节的读取,并将RPTR的低8位用于初始化BPTR,以此指定第一个有效数据位置;当前是最后一次申请时(此时RPTR和WPTR的高24位相同),码流有效的最后位置是256-WPTR的低8位;
码流的解析包含码流的固定比特取值、变长码解码和CABAC解码;码流的解析出现错误时,将宏块的码流信息错误情况上报给视频协处理器VPU;
码流解析到一个最小单元小块的信息即上报该单元小块的信息给模块管理器,最多缓存的信息数据的数量为64个块单元信息,每个块单元信息包括块单元的坐标、形状和大小、帧内预测模式、帧间预测模式、帧间预测的运动矢量和滤波强度;码流解析模块上报单元信息的同时保持自身的工作。
6.如权利要求1所述的一种多标准视频解码器架构,其特征在于:所述模块管理器内部有最多可以存放64个块信息的缓存,模块管理器内部包含第一级配置到第N级配置,各配置信息由各驱动对象的需求自由组织;第一级配置对应一个配置指令缓存,第二级配置对应两个配置指令缓存,...第N级配置对应N个配置指令缓存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410040590.4A CN117560501B (zh) | 2024-01-11 | 2024-01-11 | 一种多标准视频解码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410040590.4A CN117560501B (zh) | 2024-01-11 | 2024-01-11 | 一种多标准视频解码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117560501A true CN117560501A (zh) | 2024-02-13 |
CN117560501B CN117560501B (zh) | 2024-04-12 |
Family
ID=89823651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410040590.4A Active CN117560501B (zh) | 2024-01-11 | 2024-01-11 | 一种多标准视频解码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117560501B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996036178A1 (en) * | 1995-05-10 | 1996-11-14 | Cagent Technologies, Inc. | Multiple sequence mpeg decoder and process for controlling same |
US5815206A (en) * | 1996-05-03 | 1998-09-29 | Lsi Logic Corporation | Method for partitioning hardware and firmware tasks in digital audio/video decoding |
KR20030030403A (ko) * | 2001-10-11 | 2003-04-18 | (주)씨앤에스 테크놀로지 | 영상복호기의 매크로블럭 레벨 제어회로 |
US20030185306A1 (en) * | 2002-04-01 | 2003-10-02 | Macinnis Alexander G. | Video decoding system supporting multiple standards |
EP1351511A2 (en) * | 2002-04-01 | 2003-10-08 | Broadcom Corporation | Method of communicating between modules in a video decoding system |
CN1589025A (zh) * | 2004-07-30 | 2005-03-02 | 联合信源数字音视频技术(北京)有限公司 | 一种基于软硬件协同控制的视频解码器 |
US20060045190A1 (en) * | 2004-09-02 | 2006-03-02 | Sharp Laboratories Of America, Inc. | Low-complexity error concealment for real-time video decoder |
CN101002466A (zh) * | 2004-06-11 | 2007-07-18 | 索尼株式会社 | 数据处理设备、数据处理方法、程序、程序记录介质、数据记录介质和数据结构 |
US20080049844A1 (en) * | 2006-08-25 | 2008-02-28 | Sony Computer Entertainment Inc. | System and methods for detecting and handling errors in a multi-threaded video data decoder |
US20090067504A1 (en) * | 2007-09-07 | 2009-03-12 | Alexander Zheludkov | Real-time video coding/decoding |
US20090080520A1 (en) * | 2007-09-25 | 2009-03-26 | Kabushiki Kaisha Toshiba | Video decoding apparatus and video decoding method |
CN101453640A (zh) * | 2007-11-28 | 2009-06-10 | 中国科学院微电子研究所 | 一种软硬件联合解码的avs视频解码器 |
CN101883276A (zh) * | 2009-05-06 | 2010-11-10 | 中国科学院微电子研究所 | 软硬件联合解码的多格式高清视频解码器结构 |
US20140146895A1 (en) * | 2012-11-28 | 2014-05-29 | Cisco Technology, Inc. | Fast Switching Hybrid Video Decoder |
WO2020248954A1 (en) * | 2019-06-09 | 2020-12-17 | Beijing Bytedance Network Technology Co., Ltd. | Significant coefficient signaling in video coding |
CN113645490A (zh) * | 2021-06-23 | 2021-11-12 | 天津津航计算技术研究所 | 一种软硬结合的多通道视频同步解码方法 |
CN114915842A (zh) * | 2021-02-08 | 2022-08-16 | 晶晨半导体(上海)股份有限公司 | 视频数据处理方法、模块、芯片及存储介质 |
CN116156195A (zh) * | 2023-02-03 | 2023-05-23 | 杭州国芯科技股份有限公司 | 一种支持多标准解码的数据存储方法 |
-
2024
- 2024-01-11 CN CN202410040590.4A patent/CN117560501B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996036178A1 (en) * | 1995-05-10 | 1996-11-14 | Cagent Technologies, Inc. | Multiple sequence mpeg decoder and process for controlling same |
US5815206A (en) * | 1996-05-03 | 1998-09-29 | Lsi Logic Corporation | Method for partitioning hardware and firmware tasks in digital audio/video decoding |
KR20030030403A (ko) * | 2001-10-11 | 2003-04-18 | (주)씨앤에스 테크놀로지 | 영상복호기의 매크로블럭 레벨 제어회로 |
US20030185306A1 (en) * | 2002-04-01 | 2003-10-02 | Macinnis Alexander G. | Video decoding system supporting multiple standards |
EP1351511A2 (en) * | 2002-04-01 | 2003-10-08 | Broadcom Corporation | Method of communicating between modules in a video decoding system |
CN101002466A (zh) * | 2004-06-11 | 2007-07-18 | 索尼株式会社 | 数据处理设备、数据处理方法、程序、程序记录介质、数据记录介质和数据结构 |
CN1589025A (zh) * | 2004-07-30 | 2005-03-02 | 联合信源数字音视频技术(北京)有限公司 | 一种基于软硬件协同控制的视频解码器 |
US20060045190A1 (en) * | 2004-09-02 | 2006-03-02 | Sharp Laboratories Of America, Inc. | Low-complexity error concealment for real-time video decoder |
US20080049844A1 (en) * | 2006-08-25 | 2008-02-28 | Sony Computer Entertainment Inc. | System and methods for detecting and handling errors in a multi-threaded video data decoder |
US20090067504A1 (en) * | 2007-09-07 | 2009-03-12 | Alexander Zheludkov | Real-time video coding/decoding |
US20090080520A1 (en) * | 2007-09-25 | 2009-03-26 | Kabushiki Kaisha Toshiba | Video decoding apparatus and video decoding method |
CN101453640A (zh) * | 2007-11-28 | 2009-06-10 | 中国科学院微电子研究所 | 一种软硬件联合解码的avs视频解码器 |
CN101883276A (zh) * | 2009-05-06 | 2010-11-10 | 中国科学院微电子研究所 | 软硬件联合解码的多格式高清视频解码器结构 |
US20140146895A1 (en) * | 2012-11-28 | 2014-05-29 | Cisco Technology, Inc. | Fast Switching Hybrid Video Decoder |
WO2020248954A1 (en) * | 2019-06-09 | 2020-12-17 | Beijing Bytedance Network Technology Co., Ltd. | Significant coefficient signaling in video coding |
CN114915842A (zh) * | 2021-02-08 | 2022-08-16 | 晶晨半导体(上海)股份有限公司 | 视频数据处理方法、模块、芯片及存储介质 |
CN113645490A (zh) * | 2021-06-23 | 2021-11-12 | 天津津航计算技术研究所 | 一种软硬结合的多通道视频同步解码方法 |
CN116156195A (zh) * | 2023-02-03 | 2023-05-23 | 杭州国芯科技股份有限公司 | 一种支持多标准解码的数据存储方法 |
Non-Patent Citations (3)
Title |
---|
王玮;: "基于SoC的MPEG-2解码纠错功能实现", 大众科技, no. 12, 20 December 2012 (2012-12-20) * |
贾惠柱;解晓东;高文;: "基于软硬件分区的AVS高清视频解码器结构", 计算机研究与发展, no. 03, 15 March 2008 (2008-03-15) * |
陈瑞阳;林涛;王淑慧;: "H.264解码纠错在软硬件协同系统中的实现", 有线电视技术, no. 02, 20 February 2011 (2011-02-20) * |
Also Published As
Publication number | Publication date |
---|---|
CN117560501B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11770556B2 (en) | Method and apparatus for processing intra prediction mode | |
KR100562116B1 (ko) | 처리 효율을 높인 영상음성 처리장치 | |
KR101158345B1 (ko) | 디블록킹 필터링을 수행하는 방법 및 시스템 | |
US20180084269A1 (en) | Data caching method and apparatus for video decoder | |
US8902994B1 (en) | Deblocking filtering | |
CN1794814A (zh) | 流水线化解块滤波器 | |
WO2010080644A2 (en) | Parallel, pipelined, integrated-circuit implementation of a computational engine | |
CN103188495A (zh) | 译码视频数据的方法 | |
KR100236528B1 (ko) | 신호처리시스템내의비트스트림신호형식검출장치및방법 | |
CN109672893A (zh) | 一种视频解码方法、装置、设备和存储介质 | |
KR101292668B1 (ko) | 멀티프로세서기반의 영상 복호화 장치 및 방법 | |
CN117560501B (zh) | 一种多标准视频解码器 | |
JP5346584B2 (ja) | 復号装置、復号方法、復号プログラム及び集積回路 | |
CN1964495A (zh) | 对实时数码视频影流进行缓存控制的方法和装置 | |
US11323746B2 (en) | Context modeling method and apparatus of split flag | |
WO2024098821A1 (zh) | Av1的滤波方法及装置 | |
US20110099340A1 (en) | Memory access control device and method thereof | |
US20110096082A1 (en) | Memory access control device and method thereof | |
WO2022227082A1 (zh) | 块划分方法、编码器、解码器以及计算机存储介质 | |
JP2003153283A (ja) | ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置 | |
US8311091B1 (en) | Cache optimization for video codecs and video filters or color converters | |
CN100444615C (zh) | 一种摄像头和数据处理装置 | |
CN112422983A (zh) | 通用多核并行解码器系统及其应用 | |
CN110392259A (zh) | 影像压缩系统及利用影像压缩系统以压缩影像画面的方法 | |
CN115278264B (zh) | 一种图像放大和osd叠加编码方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310012 5-6 / F, block a, East Software Park Innovation Building, 90 Wensan Road, Hangzhou City, Zhejiang Province Patentee after: Hangzhou Guoxin Microelectronics Co.,Ltd. Country or region after: China Address before: 310012 5-6 / F, block a, East Software Park Innovation Building, 90 Wensan Road, Hangzhou City, Zhejiang Province Patentee before: HANGZHOU NATIONALCHIP SCIENCE & TECHNOLOGY Co.,Ltd. Country or region before: China |