发明内容
本发明的目的在于提供一种基于相关度比较确定视频编解码优先顺序的方法及装置,用于解决编码顺序及其编码后数据的传输顺序无法根据视频分析的需要将重要数据优先处理的上述技术问题。
一种基于相关度比较确定视频编码优先顺序的方法,包括以下步骤:
确定各编码块与各视频分析任务对应的相关度;
基于所述相关度确定优先编码的编码块;
将所述编码块进行编码和/或传输。
上述的基于相关度比较确定视频编码优先顺序的方法,所述确定优先编码的编码块包括:
预设一参考阈值,比较编码块与各视频分析任务对应的相关度是否超过所述参考阈值;
选择所述相关度超过所述参考阈值的编码块优先进行编码。
上述的基于相关度比较确定视频编码优先顺序的方法,所述确定优先编码的编码块还包括在横向扫描、垂直扫描和对角扫描形成的编码顺序。
上述的基于相关度比较确定视频编码优先顺序的方法,所述编码块代表实施帧内预测编码的视频数据块。
上述的基于相关度比较确定视频编码优先顺序的方法,在所述视频分析任务为多个时,所述编码块针对每个视频分析任务各有一个对应的相关度。
上述的基于相关度比较确定视频编码优先顺序的方法,所述确定各编码块对应的相关度包括:对所述各编码块进行数值修改确定各编码块与视频分析任务相关度。
一种基于相关度比较确定视频解码优先顺序的方法,包括以下步骤:
将编码顺序指示信息和视频数据转换成视频码流;
对所述视频码流解码供解码器进行解码,得到相应的图像帧。
一种基于相关度比较确定视频编码优先顺序的装置,包括:
确定模块,用于对各编码块进行数值修改确定各编码块与视频分析任务相关度;
比较模块,用于预设一参考阈值,将各编码块对应的相关度与该阈值比较;
编码模块,用于选择相关度超过所述参考阈值的编码块优先编码。
上述的基于相关度比较确定视频编码优先顺序的装置,还包括分块模块,用于将整幅图像帧划分为一个或多个编码块,每个编码块是一个矩形区域包含整数个CTU。
一种基于相关度比较确定视频解码优先顺序的装置,包括:
转换模块,用于将编码顺序指示信息和视频数据转换成视频码流;
解码模块,用于根据视频码流解码供解码器进行解码,得到相应的图像帧。
一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行以实现以上任一项所述的基于相关度比较确定视频编码优先顺序的方法。
一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现以上任一项所述的基于相关度比较确定视频编码优先顺序的方法。
上述技术方案具有如下优点或有益效果:
本发明中这种基于相关度比较确定视频编解码优先顺序的方法及装置根据视频分析任务需要确定个子块与视频分析任务的相关度,基于相关度确定编码顺序,编码顺序及其编码后数据的传输顺序根据视频分析的需要将重要数据优先处理,进行视频编码,将编码后的数据转换成视频码流,能够保证视频分析结果的准确度在可以接受的范围内,同时保证数据压缩率最佳。
具体实施方式
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
在本发明的描述中,需要理解的是,术语“上”、“下”、“前”“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
结合图1、图2所示,一种基于相关度比较确定视频编码优先顺序的方法,包括以下步骤:
对整幅图像帧进行分块,分成相同形状的若干编码块;
确定各编码块与各视频分析任务对应的相关度;
基于所述相关度确定优先编码的编码块;
将所述编码块进行编码和/或传输。
所述确定优先编码的编码块包括:
预设一参考阈值,比较编码块与各视频分析任务对应的相关度是否超过所述参考阈值;
选择所述相关度超过所述参考阈值的编码块优先进行编码。
所述确定优先编码的编码块还包括在横向扫描、垂直扫描和对角扫描形成的编码顺序。
预设一参考阈值,比较编码块对应的相关度是否超过所述参考阈值,预设一个阈值,将各编码块相关度与该阈值比较,高于该阈值的被认为是与特定视频分析任务紧密相关,具有最高的编码优先级;
在编码顺序中,选择所述相关度超过所述参考阈值的编码块优先编码,在横向扫描、垂直扫描、对角扫描形成的编码顺序中,选择若干相关度超过一定阈值的编码块优先编码。
例如,H.266/VVC的块扫描顺序包括对角扫描、水平扫描和垂直扫描顺序。
作为示例,假设各编码块相关度如下:
表1
设定相关度阈值为0.6,则优先编码的编码块为2、7、8。在优先编码块和其它编码块中仍维持水平扫描编码顺序,完整的编码顺序为:2,7,8,1,3,4,5,6,9,10,11,12,1,14,15,16。
本实施例中,视频分析任务包括图像分类、目标检测和姿态估计等。对于一幅原始图像Pic0,经过编码压缩后会产生不同质量的失真图像Pic1,Pic2,Pic3,...,Picn,其中分别对应一组编码参数P1,P2,P3,...,Pn。失真程度的增大会使得视觉分析结果准确度降低。其中,对失真度影响较大的编码参数包括量化参数(QP)、目标码率等。当失真程度增大到某个阈值后,视觉分析模型对该图像的预测将完全失效。因此,在Pic1,Pic2,Pic3,...,Picn中,可能只有其中部分图像可用,即保证视觉分析结果准确度在可以接受的范围内。因此,通过尝试不同的编码参数集合,然后用特定的视觉分析过程对相应的失真图像进行分析,判断是否得到准确的结果。理论上讲,可以得到一组最佳参数组合,刚好能够保证视频分析结果的准确度在可以接受的范围内,同时保证数据压缩率最佳等其它有益效果。
根据视频分析任务需要确定个子块与视频分析任务的相关度,至少部分基于相关确定编码顺序,进行视频编码,将编码后的数据转换成视频码流。
进一步地,本发明一种基于相关度比较确定视频编码优先顺序的方法的较佳的实施例中,所述编码块代表实施帧内预测编码的视频数据块。
其中,在一种实施例中,沿用VVC和HEVC的分块方法。一帧图像被划分为一个或多个编码块行和编码块列,每个编码块是一个矩形区域包含整数个CTU。按照HEVC标准,CTU会按四叉树划分方式被划分为CU,每个CU又可以划分为PU和TU。在VVC中将不再区分CU、PU和TU的概念。无论哪种方式,在本发明中,用编码块或子块或分块代表实施帧内预测编码的视频数据块。
进一步地,本发明一种基于相关度比较确定视频编码优先顺序的方法的较佳的实施例中,在所述视频分析任务为多个时,所述编码块针对每个视频分析任务各有一个对应的相关度。
进一步地,本发明一种基于相关度比较确定视频编码优先顺序的方法的较佳的实施例中,所述确定各编码块对应的相关度包括:对所述各编码块进行数值修改确定各编码块与视频分析任务相关度。
在一种实施例中,依次选择一个编码块或多个相邻编码块组合(例如2,4,8个),对其像素值(亮度和/或色度值)进行数值反转(二进制表示中0变成1,1变成0),而其它编码块数值保持不变。然后基于修改后的图像帧开展视频分析,观察分析准确率的变化(0-100%),计算相关度=(1-分析准确率)。这样可以确定每个编码块或每个相邻编码块组合针对特定视频分析任务的相关度。显然,相关度高的重要程度高。如果同时存在多个视频分析任务,则一个编码块针对每个视频分析任务有一个对应的相关度。
一种基于相关度比较确定视频解码优先顺序的方法,包括以下步骤:
将编码顺序指示信息和视频数据转换成视频码流;
对所述视频码流解码供解码器进行解码,得到相应的图像帧。
按上述顺序对所有编码进行压缩编码,可以利用现有及未来所有可能视频压缩技术。在一种实施例中,对所成帧数据采用帧内编码技术进行压缩,即至少包括帧内预测、DCT变换、量化、熵编码过程。
一种基于相关度比较确定视频编码优先顺序的装置,包括:
分块模块,用于将整幅图像帧被划分为一个或多个编码块,每个编码块是一个矩形区域包含整数个CTU;
确定模块,用于对所述各编码块进行数值修改确定各编码块与视频分析任务相关度;
比较模块,用于预设一参考阈值,将各编码块对应的相关度与该阈值比较;
编码模块,用于选择相关度超过所述参考阈值的编码块优先编码。
一种基于相关度比较确定视频解码优先顺序的装置,包括:
转换模块,用于将编码顺序指示信息和视频数据转换成视频码流;
解码模块,用于根据视频码流解码供解码器进行解码,得到相应的图像帧。
一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行以实现以上任一项所述的基于相关度比较确定视频编码优先顺序的方法。
其中,所述存储器与所述一个或多个处理器通信连接,所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器执行本申请前述实施例中的方法。
具体地,处理器和存储器可以通过总线或者其他方式连接,以通过总线连接为例。处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的级联渐进网络等。处理器通过运行存储在存储器中的非暂态软件程序/指令以及功能模块,从而执行处理器的各种功能应用以及数据处理。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络(比如通过通信接口)连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请的一个实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被执行后执行本申请前述实施例中的方法。
前述的计算机可读取存储介质包括以存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方式或技术来实现的物理易失性和非易失性、可移动和不可移动介质。计算机可读取存储介质具体包括,但不限于,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、可擦除可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(DVD)、HD-DVD、蓝光(Blue-Ray)或其他光存储设备、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机访问的任何其他介质。
尽管此处所述的主题是在结合操作系统和应用程序在计算机系统上的执行而执行的一般上下文中提供的,但本领域技术人员可以认识到,还可结合其他类型的程序模块来执行其他实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。本领域技术人员可以理解,此处所述的本主题可以使用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等,也可使用在其中任务由通过通信网络连接的远程处理设备执行的分布式计算环境中。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备的两者中。
本领域普通技术人员可以意识到,结合本文中所本申请的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对原有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
本发明中这种基于相关度比较确定视频编解码优先顺序的方法及装置根据视频分析任务需要确定个子块与视频分析任务的相关度,基于相关度确定编码顺序,编码顺序及其编码后数据的传输顺序根据视频分析的需要将重要数据优先处理,进行视频编码,将编码后的数据转换成视频码流,能够保证视频分析结果的准确度在可以接受的范围内,同时保证数据压缩率最佳。
以上仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。