CN116233453B - 一种视频编码方法及装置 - Google Patents

一种视频编码方法及装置 Download PDF

Info

Publication number
CN116233453B
CN116233453B CN202310498132.0A CN202310498132A CN116233453B CN 116233453 B CN116233453 B CN 116233453B CN 202310498132 A CN202310498132 A CN 202310498132A CN 116233453 B CN116233453 B CN 116233453B
Authority
CN
China
Prior art keywords
slices
slice
buffer
video
target
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.)
Active
Application number
CN202310498132.0A
Other languages
English (en)
Other versions
CN116233453A (zh
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.)
Hangzhou Aixin Yuanzhi Technology Co ltd
Beijing Aixin Technology Co ltd
Original Assignee
Hangzhou Aixin Yuanzhi Technology Co ltd
Beijing Aixin Technology Co 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 Hangzhou Aixin Yuanzhi Technology Co ltd, Beijing Aixin Technology Co ltd filed Critical Hangzhou Aixin Yuanzhi Technology Co ltd
Priority to CN202310498132.0A priority Critical patent/CN116233453B/zh
Publication of CN116233453A publication Critical patent/CN116233453A/zh
Application granted granted Critical
Publication of CN116233453B publication Critical patent/CN116233453B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例示出一种视频编码方法及装置,涉及图像处理技术领域,所述方法包括:获取存储器中存储的待编码视频中的视频帧对应的原始切片,一个视频帧包括至少一个所述原始切片;在获取到至少一个原始切片后,获取原始切片对应的N个降采样切片,并将N个降采样切片分别存储至对应的第一缓存;读取第一缓存中的降采样切片,并基于各目标码流对应的编码参数对降采样切片进行编码,获取各目标码流对应的编码切片;将编码切片写入存储器中。本申请在对源视频进行多路的视频输出编码时,只需要从存储器中读取一次原始视频帧并将该原始视频帧转换为多份降采样处理后的视频帧,以完成多路的视频编码,减少内存带宽消耗,提升存储器的内存访问效率。

Description

一种视频编码方法及装置
技术领域
本申请涉及图像处理技术领域,尤其涉及一种视频编码方法及装置。
背景技术
视频编码是一种通过压缩技术,将原始视频格式的文件转换成另一种视频格式文件的技术,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。例如,对于视频网站的同一个源视频,需要针对该源视频编码出多个不同分辨率的视频,因此需要通过视频编码对该源视频进行多路的视频编码,得到多种分辨率的视频,以供用户根据自己的宽带和需求来选择合适分辨率的视频。
例如,在某些监控场景下,用于监控的摄像头可拍摄监控视频,而管理人员和一线员工均可观看该监控视频。但是,管理人员的终端设备只能播放分辨率较低的监控视频,而一线员工的终端设备可播放高分辨率的监控视频,即不同人员的终端设备对监控视频的分辨率的需求不同。因此,为了适用于不同员工的终端设备,摄像头拍摄的监控视频需要进行多路的视频编码,以便输出不同分辨率的视频。
但是在对源视频进行多路的视频编码时,由于每路视频编码都需要从存储有原始的源视频的存储器中读取源视频,因此需要多次从存储器中读取相同的源视频帧,导致该存储器的内存带宽消耗增加,降低存储器的内存访问效率。
发明内容
本申请一些实施例提供了一种视频编码方法及装置,可以在对源视频进行多路的视频输出编码时,只需要从存储器中读取一次原始视频帧即可完成多路的视频编码,减少内存带宽消耗,提升存储器的内存访问效率。
第一方面,本申请一些实施例中提供一种视频编码方法,包括:
获取存储器中存储的待编码视频中的视频帧对应的原始切片,一个所述视频帧包括至少一个所述原始切片;
在获取到至少一个所述原始切片后,获取所述原始切片对应的N个降采样切片,并将所述N个降采样切片分别存储至对应的第一缓存,N为大于1的正整数;
读取所述第一缓存中的所述降采样切片,并基于各目标码流对应的编码参数对所述降采样切片进行编码,获取各所述目标码流分别对应的编码切片,所述目标码流为编码后的视频对应的码流;
将所述编码切片写入所述存储器中。
在一些实施例中,所述获取所述原始切片对应的N个降采样切片,包括:
将所述原始切片同步发送至N个降采样器,以使所述N个降采样器对所述原始切片进行降采样处理,获取N个降采样切片。
在一些实施例中,所述读取所述第一缓存中的降采样切片,并基于各目标码流对应的编码参数对降采样切片进行编码,包括:
基于各所述降采样切片的分辨率,确定与所述各目标码流相对应的目标降采样切片;
从所述第一缓存中读取所述目标降采样切片;
基于各所述目标码流分别对应的编码参数,对读取的所述目标降采样切片进行编码。
在一些实施例中,若不同的目标码流对编码后的视频的分辨率需求相同,所述从所述第一缓存中读取所述目标降采样切片,包括:
通过分时复用方式,从所述第一缓存中读取同一个降采样切片,以针对同一个降采样切片完成不同目标码流的编码。
在一些实施例中,所述获取存储器中存储的待编码视频中的视频帧对应的原始切片,包括:
从所述存储器中读取所述视频帧中的像素数据;
当读取所述像素数据的像素数量达到预设阈值时,确定达到预设阈值时已读取的像素数据为所述原始切片,所述视频帧中的像素总数为所述预设阈值的整数倍。
在一些实施例中,在所述获取存储器中存储的待编码视频中的视频帧对应的原始切片之前,还包括:
确定各所述目标码流对应的分辨率与所述原始切片的分辨率的转换系数;
根据所述转换系数和所述第一缓存的可用容量,计算极限阈值,所述极限阈值为所述第一缓存支持缓存所述原始切片的最大像素数量;
根据所述极限阈值和所述视频帧中的像素总数确定所述预设阈值。
在一些实施例中,所述将所述编码切片写入所述存储器中,包括:
将每次获取的所述编码切片存储至对应的第二缓存;
针对其中至少一个所述原始切片,在通过各所述目标码流对应的编码参数进行的编码均完成之后,从所述第二缓存中读取各所述目标码流分别对应的所述编码切片;
将所述各所述目标码流分别对应的所述编码切片写入所述存储器中。
在一些实施例中,如果所述第一缓存位于目标缓存器,所述N个降采样切片的像素总数量不大于所述目标缓存器所能容纳的像素数量;
如果所述第一缓存位于所述目标缓存器的第一逻辑分区,所述N个降采样切片的像素总数量不大于所述第一逻辑分区所能容纳的像素数量。
第二方面,本申请一些实施例中提供一种视频编码装置,包括:
获取模块,用于获取存储器中存储的待编码视频中的视频帧对应的原始切片,一个所述视频帧包括至少一个所述原始切片;
存储模块,用于在获取到至少一个所述原始切片后,获取所述原始切片对应的N个降采样切片,并将所述N个降采样切片分别存储至对应的第一缓存,N为大于1的正整数;
编码模块,用于读取所述第一缓存中的所述降采样切片,并基于各目标码流对应的编码参数对所述降采样切片进行编码,获取各所述目标码流分别对应的编码切片,所述目标码流为编码后的视频对应的码流;
写入模块,用于将所述编码切片写入所述存储器中。
第三方面,本申请一些实施例中提供一种电子设备,包括:处理器、存储器、传输器、降采样器、目标缓存器和编码器;
所述处理器,用于处理人机交互以获取目标码流,以及配置所述目标码流对应的编码参数;
所述存储器,用于存储待编码视频和编码切片;
所述传输器,用于获取所述存储器中存储的所述待编码视频中的视频帧对应的原始切片,将所述原始切片传输至所述降采样器,一个所述视频帧包括至少一个所述原始切片;
所述降采样器,用于在获取到至少一个所述原始切片后,获取所述原始切片对应的N个降采样切片,并将所述N个降采样切片分别存储至所述目标缓存器,N为大于1的正整数;
所述目标缓存器,用于缓存所述降采样切片;
所述编码器,用于读取所述目标缓存器中的降采样切片,并基于各目标码流对应的编码参数对所述目标缓存器中的所述降采样切片进行编码,获取各目标码流分别对应的编码切片,所述目标码流为编码后的视频对应的码流;
所述目标缓存器,还用于缓存所述编码切片;
所述传输器,还用于将所述目标缓存器内的所述编码切片写入所述存储器中。
在一些实施例中,在通过同一个所述目标缓存器缓存所述降采样切片和所述编码切片时,所述目标缓存器包括第一逻辑分区和第二逻辑分区,所述第一逻辑分区用于缓存所述降采样切片,所述第二逻辑分区用于缓存所述编码切片;
在目标缓存器的数量包括至少两个,并且通过不同的所述目标缓存器缓存所述降采样切片和所述编码切片时,所述目标缓存器包括第一物理缓存器和第二物理缓存器,所述第一物理缓存器用于缓存所述降采样切片,所述第二物理缓存器用于缓存所述编码切片。
第四方面,本申请一些实施例中提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现所述的视频编码方法。
第五方面,本申请一些实施例中提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现所述的视频编码方法。
本申请的一些实施例提供一种视频编码方法及装置,所述方法包括:获取存储器中存储的待编码视频中的视频帧对应的原始切片,一个所述视频帧包括至少一个所述原始切片;在获取到至少一个所述原始切片后,获取所述原始切片对应的N个降采样切片,并将所述N个降采样切片分别存储至对应的第一缓存,N为大于1的正整数;读取所述第一缓存中的所述降采样切片,并基于各目标码流对应的编码参数对所述降采样切片进行编码,获取各所述目标码流分别对应的编码切片,所述目标码流为编码后的视频对应的码流;将所述编码切片写入所述存储器中。
本申请实施例在对源视频进行多路视频输出编码时,从存储器中读取原始视频帧对应的原始切片之后,将该原始切片转换为多个降采样切片并缓存,在后续的多路视频编码过程中,只需要从缓存中读取降采样切片,并对降采样切片进行编码即可,因此只需要从存储器中读取一次原始视频帧即可完成多路的视频编码,从而能够减少访问存储器的次数,减少带宽消耗,提升存储器的内存访问效率。
进一步的,现有技术在对某一视频帧进行编码时,往往需要从存储器中读取到整个视频帧之后才开始进行编码。而本申请实施例在获取到至少一个原始切片后,即可开始将该原始切片复制为多份降采样切片,以完成多路的视频编码,从而能够减少读取整个视频帧的等待时间,从而减少编码延迟时间,提高编码效率。
附图说明
图1示出了一种视频编码方法的流程图;
图2示出了一种H.265/HEVC算法的编码过程示意图;
图3示出了一种视频编码装置的示意图;
图4示出了一种电子设备的示意图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
如图1所示,本申请实施例提供一种视频编码方法,包括:
步骤S101:获取存储器中存储的待编码视频中的视频帧对应的原始切片;
其中,一个所述视频帧包括至少一个所述原始切片;
待编码视频可以是从磁盘文件加载到计算机的存储器的高分辨率视频数据,也可以是通过MIPI(Mobile Industry Processor Interface,移动产业处理器接口)、PCIe(Peripheral Component Interconnect express,高速串行计算机扩展总线标准)、网络、USB(Universal Serial Bus,通用串行总线)等高速接口输入到计算机存储器的高分辨率视频数据。例如:待编码视频是一组4K分辨率的YUV(一种颜色编码方法)格式的视频数据。该视频数据是包括亮度和色度两种属性的数据。
存储器包括计算机的主存储器,主存储器为DDR SDRAM(Double Data RateSynchronous Dynamic Random Access Memory,双倍数据率同步动态随机存储器)。DDRSDRAM为具有双倍数据传输率的同步动态随机存储器,其数据传输速度为***时钟频率的两倍。在一种可行的设计中,存储有待编码视频的存储器可为该主存储器。
当然,该存储器也可为其他形式的存储器,本申请对此不作限定。
步骤S102:在获取到至少一个所述原始切片后,获取所述原始切片对应的N个降采样切片,并将所述N个降采样切片分别存储至对应的第一缓存,N为大于1的正整数;
其中,降采样切片可以是与原始切片分辨率相同的切片,或者是与目标码流分辨率相同的切片。
在一些实施例中,所述获取所述原始切片对应的N个降采样切片,包括:
将所述原始切片同步发送至N个降采样器,以使所述N个降采样器对所述原始切片进行降采样处理,获取N个降采样切片。
在进行多路的视频编码时,需要得到多个目标码流对应的编码数据。一个目标码流只与一个图像分辨率对应,而一个图像分辨率可以与多个目标码流对应,也就是说,不同的目标码流所对应的图像分辨率可以相同。一种示例中,码率为2Mbps的目标码流对应的图像分辨率为1920×1080,码率为0.5Mbps的目标码流对应的图像分辨率也为1920×1080,这种情况在实际应用场景中是允许存在的。
容易理解,降采样切片的数量与目标码流存在对应关系,通常情况下,降采样切片的数量不多于目标码流的数量。在一种可行的设计中,降采样切片的数量可与目标码流的数量相同,或者,如果目标码流的图像分辨率存在重合,则降采样切片的数量也可以少于目标码流的数量。
在一种可行的设计中,降采样切片的分辨率一一对应到目标码流的图像分辨率。一种示例中,目标码流的数量为4个,降采样切片的数量也是4个,所述4个目标码流的分辨率和码率分别为1920×1080@2Mbps、1280×720@1Mbps、704×[email protected]和352×[email protected],对应地,所述4个降采样切片的分辨率分别为1920×1080、1280×720、704×576和352×288。
在另一种可行的设计中,降采样切片的分辨率一对多地对应到目标码流的图像分辨率。一种示例中,目标码流的数量为4个,降采样切片的数量是2个,所述4个目标码流的分辨率/码率分别为1920×1080@2Mbps、1920×1080@1Mbps、704×[email protected]和704×[email protected],所述2个降采样切片的分辨率分别为1920×1080和704×576。
在一些实施例中,通过对原始切片进行降采样处理,可得到一组分辨率不同的降采样切片,以便使各个降采样切片的分辨率与目标码流相对应。容易理解,经过降采样处理得到的降采样切片的分辨率小于原始切片,所以降采样后数据量降低,相比原始切片而言,不仅减少了必须占用的缓存空间,在后续视频编码处理过程中,还减少了编码器需要读取和处理的数据量,因此可以提高视频编码的效率。
在一种可行的设计中,在对原始切片进行降采样处理时,如果存在至少一个目标码流的图像分辨率与原始切片的分辨率相同,则可以通过直接拷贝原始切片的方式获得对应的降采样切片,不需要执行任何数学运算,从而进一步提高获取降采样切片的效率,收到降低功耗、减少编码延迟的有益效果。
在进行降采样处理的过程中,可首先获取原始分辨率集合,所述原始分辨率集合包括各目标码流对应的图像分辨率;然后,将所述原始分辨率集合去重,获取去重分辨率集合;再确定降采样切片的数量为所述去重分辨率集合中分辨率的数量,降采样切片的分辨率分别为所述去重分辨率集合中分辨率。
其中,所述将所述原始分辨率集合去重的步骤,包括:
判断所述原始分辨率集合中是否包括至少两个相同的第一分辨率;
如果所述分辨率集合中包括至少两个相同的第一分辨率,则只保留一个第一分辨率,以使所述去重分辨率集合中每个分辨率的出现的次数为1。
一种示例中,目标码流的数量为4个,所述4个目标码流的分辨率和码率分别为1920×1080@2Mbps、1920×1080@1Mbps、704×[email protected]和704×[email protected],则去重分辨率集合为{1920×1080,704×576},则降采样切片的数量为2个,分辨率分别为1920×1080和704×576。
在本申请中,将经过降采样处理后获得的所述N个降采样切片分别存储至所述第一缓存。所述第一缓存的特征是,提供一个写口和一个读口,所述写口与外部连接时可以从外部获取数据,所述读口与外部连接时可以向外部输出数据。其中,如果所述第一缓存位于目标缓存器,经过降采样处理后获得的所述N个降采样切片的像素总数量不大于目标缓存器所能容纳的像素数量;
如果所述第一缓存位于目标缓存器的第一逻辑分区,经过降采样处理后获得的所述N个降采样切片的像素总数量不大于第一逻辑分区所能容纳的像素数量。
在一种可行的设计中,目标缓存器包括高速缓冲存储器。所述高速缓冲存储器是指存在于计算机主存储器与编码器之间的一级存储器,其特征是,由静态存储元件组成,数据容量比较小,数据读写具有固定的节拍,且数据读写速度比主存储器和编码器高得多,这些特征中的一部分特征有助于减少编码器等待数据导致的延迟,从而提高视频编码的效率。
步骤S103:读取所述第一缓存中的降采样切片,并基于各目标码流对应的编码参数对降采样切片进行编码,获取各目标码流分别对应的编码切片;
其中,所述目标码流为编码后的视频对应的码流。
通过该步骤进行编码时,由于是从第一缓存中读取用于编码的降采样切片,因此只需访问第一缓存,无需再访问存储器。
步骤S104:将所述编码切片写入所述存储器中。
通过本申请实施例提供的方案进行多路的视频输出编码时,从存储器中读取原始视频帧对应的原始切片之后,将该原始切片进行不同降采样处理,得到多个降采样切片并缓存,在后续的多路视频编码过程中,从缓存中读取降采样切片,并对降采样切片进行编码即可,因此只需要从存储器中读取一次原始视频帧即可完成多路视频编码,从而能够减少访问存储器的次数,减少内存带宽消耗,提升存储器的访问效率,减少由于编码器等待数据导致的编码延迟。
进一步的,现有技术在对某一视频帧进行编码时,往往需要从存储器中读取到整个视频帧之后才开始进行编码,而本申请实施例在获取到至少一个原始切片后,即可开始将该原始切片分流为多份降采样切片,以开始进行多路视频编码,从而能够避免从存储器读取整个视频帧所需要的等待时间,从而获得减少编码延迟、提高编码效率的有益效果。
在一些实施例中,所述读取所述第一缓存中的降采样切片,并基于各目标码流对应的编码参数对降采样切片进行编码,包括:
基于各所述降采样切片的分辨率,确定与所述各目标码流相对应的目标降采样切片;
从所述第一缓存中读取所述目标降采样切片;
基于各目标码流对应的编码参数,对读取的所述目标降采样切片进行编码。
通过上述步骤,可从第一缓存中读取与目标码流相对应的目标降采样切片,对该目标降采样切片进行编码。其中,如果第一缓存中的降采样切片的分辨率分别与目标码流的图像分辨率相同,则目标降采样切片的分辨率与目标码流相对应。
由于目标降采样切片的分辨率与目标码流相对应,因此,在对目标降采样切片进行编码时,有助于提高编码的效率。
其中,如果不同的目标码流对编码后的视频的分辨率需求相同,所述从所述第一缓存中读取所述目标降采样切片,包括:
通过分时复用方式,从所述第一缓存中读取同一个降采样切片,以针对同一个降采样切片完成不同目标码流的编码。
如果不同的目标码流对编码后的视频的分辨率需求相同,则该不同的目标码流所对应的目标降采样切片为同一降采样切片,这种情况下,通过分时复用方式从所述第一缓存中读取所述目标降采样切片,以保障针对每一目标码流都能实现视频编码。
需要说明的是,每次分时处理只涉及多个目标码流中的一个码流而非全部码流、只涉及一个待编码视频帧的部分内容而非全部内容。
另外,为了明确本申请对目标降采样切片进行编码的过程,以下公开一个实施例:
在选定一个目标码流后,确定所述目标码流对应的第一缓存的地址和编码参数集的地址,所述第一缓存的地址为目标降采样切片的缓存地址,所述编码参数集的地址存储所述目标码流对应的编码参数集。所述编码参数集包括但不限于所述视频帧的GOP(Groupof Pictures,图像组)结构参数、目标码率、量化参数、帧内预测模式选项、帧间预测模式选项、运动估计模式选项、等等。
使编码器内核加载编码参数集地址中存储的编码参数集,使编码器内核启动,对第一缓存的地址中的目标降采样切片进行编码,获取所述目标码流的编码切片。
视频编码算法逻辑复杂,需要消耗很多计算资源。为了提升视频编码的质量(分辨率、清晰度、实时性等),目前视频编码的具体实现主要依赖高性能CPU(CentralProcessing Unit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)、DSP(Digital Signal Process,数字信号处理器)和ASIC(Application Specific IntegratedCircuit,专用集成电路)等计算平台提供所需的计算能力。
如图2所示,以H.265/HEVC(High Efficiency Video Coding,高频视频编码)算法的编码过程为例。H.265/HEVC算法的编码器主要包括变换、量化、熵编码、帧内预测、帧间预测以及环路滤波(去方块滤波)等模块。其中,帧间预测是提高视频编码压缩比的关键技术,其基本原理是从某个历史帧中到与当前像素块最匹配的历史像素块,这个技术称为运动估计算法,需要读取和比较大量的数据,计算复杂度很高。
帧内编码步骤如下:1)图像首先被分割为块状区域;2)数据进行帧内估计,进行帧内编码;3)帧内预测(反编码);4)原图像帧减去帧内预测结果,得到帧内残差数据(残差信号);5)残差信号经过线性变换,变换后的系数再经过缩放、量化;6)将处理后的残差信号系数经过反处理,得到残差重建数据;7)将残差重建数据加上帧内预测信号,可得到分块预测图像帧(重建数据);8)最终通过环路滤波和自适应补偿,去除“分块效应”,得到未经分块的图像帧(参考帧);9)帧内编码信号和残差信号系数一起进行熵编码后输出。
帧间编码步骤如下:1)分块图像帧数据输入运动估算模块,再结合上一步帧内预测获得的上/下一幅图像帧数据,进行帧间编码;2)对帧间编码数据进行运动补偿;3)分块原图像帧减去帧间预测结果,得到帧内残差信号;4)残差信号经过线性变换,变换后的系数再经过缩放、量化;5)将处理后的残差信号系数经过反处理,得到残差信号;6)将残差信号加上帧间预测信号,可得到分块预测图像帧;7)最终通过环路滤波和自适应补偿,去除“分块效应”,得到未经分块的图像帧;8)帧间编码信号和残差信号系数一起进行熵编码后输出。
图2的实施例介绍了H.265/HEVC算法的编码过程为例,在实际的编码过程中,还可采用其他的视频编码方法,本申请对此不作限定。
在一些实施例中,所述获取存储器中存储的待编码视频中的视频帧对应的原始切片,包括:
从所述存储器中读取所述视频帧中的像素数据;
当读取所述像素数据的像素数量达到预设阈值时,确定达到预设阈值时已读取的像素数据为所述原始切片,所述视频帧中的像素总数为所述预设阈值的整数倍。上述实施例提供的方法在获取原始切片时,实时从存储器中读取视频帧中的像素数据,并在读取到的像素数量达到预设阈值时,确定达到预设阈值时已读取的像素数据为所述原始切片,并在确定这一原始切片之后,还可继续从存储器读取其他像素数据,以便继续获取下一原始切片。其中,在确定一个原始切片后,像素数量清零,重新读取像素数据的像素数量。
通过这一实施例提供的方法,无需等待存储器中积累了整个视频帧的全部数据即可获取原始切片,因此,能够提高获取原始切片的效率,进一步提高视频编码的效率。
并且,通过上述实施例提供的方法获取原始切片,由于视频帧中的像素总数为预设阈值的整数倍,因此每个原始切片的像素数量相同,以及视频帧中的任一像素出现且仅出现在一个原始切片中,从而能够避免在对视频编码的过程中,遗漏视频中的像素或者对相同像素进行重复编码。
在一些实施例中,预设阈值可根据目标码流及第一缓存的可用容量进行计算。这种情况下,确定预设阈值的步骤,包括:
首先,确定各目标码流对应的分辨率与原始切片的分辨率的转换系数。
该转换系数为可用于计算各降采样切片的像素数量。在一种可行的设计中,该转换系数为各目标码流对应的分辨率与原始切片分辨率的比值,一种示例中,原始切片分辨率为1920×1080,目标码流对应的分辨率为1280×720,转换系数为(1280×720)/(1920×1080)=0.44。
或者,在另一种可行的设计中,转换系数也可以为同一视频帧中各目标码流对应的像素总数与原始切片像素总数的比值。
然后,根据各目标码流对应的分辨率与原始切片分辨率的转换系数,以及第一缓存的可用容量,计算极限阈值,所述极限阈值为所述第一缓存支持缓存原始切片的最大像素数量。
PPI =S/(a1+ a2+……+ an);
其中,PPI为极限阈值,S为第一缓存所在位置所能容纳最多的像素数量,a1、a2和an分别为各目标码流对应的分辨率与原始切片分辨率的转换系数,n为目标码流的总数量,a1为第一路目标码流对应的分辨率与原始切片分辨率的转换系数,a2为第二路目标码流对应的分辨率与原始切片分辨率的转换系数,an为第n路目标码流对应的分辨率与原始切片分辨率的转换系数。
最后,根据极限阈值和视频帧中的像素总数确定预设阈值,其中,所述预设阈值小于或等于所述极限阈值,且所述视频帧中的像素总数为所述预设阈值的整数倍。
在一种可行的设计中,预设阈值可以取满足上述条件的最大值,以减少原始切片的数量,从而减少编码次数,提高编码效率。
需要说明的是,以上方案可适用于每个降采样切片的分辨率均不同的情况。
根据预设阈值可将视频帧划分为多个原始切片,为了区分各个原始切片,这些原始切片以编号命名。可根据视频帧数据的描述头确定视频帧中原始切片的数量X,则原始切片的编号分别为1~X。按照编号顺序可依次执行针对原始切片进行相关操作。当获取到编号为X的原始切片后,可继续获取存储器中存储的待编码视频中的下一视频帧对应的原始切片。将原始切片编号有利于追踪编码进度。
在一些实施例中,所述将所述编码切片写入所述存储器中,包括:
将每次获取的所述编码切片存储至对应的第二缓存;
其中,所述第二缓存的特征是,提供一个写口和一个读口,所述写口与外部连接时可以从外部获取数据,所述读口与外部连接时可以向外部输出数据;
针对其中至少一个所述原始切片,在通过各所述目标码流对应的编码参数进行的编码均完成之后,从所述第二缓存中读取各所述目标码流对应的所述编码切片;
将所述各所述目标码流对应的所述编码切片写入所述存储器中。
在选定一个目标码流后,还要确定所述目标码流对应的第二缓存的地址和存储器的地址。第二缓存的地址用于存储目标码流对应的编码切片,所述存储器的地址用于存储第二缓存的地址中保存的编码切片。
通过上述步骤,在至少一个原始切片的各目标码流对应的编码切片都存储至第二缓存后,将第二缓存中的数据,即至少一个原始切片对应的编码切片写入存储器。也就是说,针对至少一个原始切片的各路目标码流的编码完成之后,才将该至少一个原始切片的各路目标码流对应的编码切片写入存储器,从而减少向存储器写入数据的次数,进一步提高存储器的访问效率。
在一种可行的设计中,还可获取需要编码的目标码流数量,目标码流以编号命名。例如:目标码流的数量为M,目标码流的编号分别为1~M。按照编号顺序可依次执行基于不同编号目标码流对目标降采样切片进行编码的操作。当执行到编号为M的目标码流后,将第二缓存中保存的M个或M的整数倍个编码切片写入存储器,同时,还可对下一个原始切片执行基于编号为1的目标码流的编码操作。将目标码流编号有利于追踪编码进度。
在一些实施例中,所述将所述编码切片写入所述存储器中,包括:
将每次获取的所述编码切片存储至对应的第二缓存;
在存储至少一个目标码流对应的所述编码切片后,从所述第二缓存中读取所述目标码流对应的所述编码切片,并将所述目标码流对应的所述编码切片写入所述存储器中。
在视频帧对应的原始切片均编码完成后,执行获取待编码视频中的下一个视频帧对应的原始切片的步骤。
需要补充的是,一个待编码的视频帧可以产生一个或多个编码输出帧,所述输出帧的具体数量可以由用户配置。当一个待编码的视频帧产生至少两个编码输出帧时,所述至少两个编码输出帧的编码参数可以完全相同或者不完全相同。
如图3所示,本申请实施例提供一种视频编码装置,包括:
获取模块301,用于获取存储器中存储的待编码视频中的视频帧对应的原始切片,一个所述视频帧包括至少一个所述原始切片;
存储模块302,用于在获取到至少一个所述原始切片后,获取所述原始切片对应的N个降采样切片,并将所述N个降采样切片分别存储至对应的第一缓存,N为大于1的正整数;
编码模块303,用于读取所述第一缓存中的所述降采样切片,并基于各目标码流对应的编码参数对所述降采样切片进行编码,获取各所述目标码流分别对应的编码切片,所述目标码流为编码后的视频对应的码流;
写入模块304,用于将所述编码切片写入所述存储器中。
如图4所示,本申请实施例提供一种电子设备,包括:处理器401、存储器402、传输器403、降采样器404、目标缓存器405和编码器406;
所述处理器401,用于处理人机交互以获取目标码流,以及配置所述目标码流对应的编码参数;
所述存储器402,用于存储待编码视频和编码切片;
所述传输器403,用于获取所述存储器402中存储的所述待编码视频中的视频帧对应的原始切片,将所述原始切片传输至所述降采样器404,一个所述视频帧包括至少一个所述原始切片;
所述降采样器404,用于在获取到至少一个所述原始切片后,获取所述原始切片对应的N个降采样切片,并将所述N个降采样切片分别存储至所述目标缓存器405,N为大于1的正整数;
在一种可行的设计中,所述电子设备还包括分流器407,所述传输器403将所述原始切片传输至分流器407,分流器407用于将所述原始切片同步发送至N个降采样器,以使所述N个降采样器对所述原始切片进行降采样处理。
所述目标缓存器405,用于缓存所述降采样切片;
所述编码器406,用于读取所述目标缓存器405中的降采样切片,并基于各目标码流对应的编码参数对所述目标缓存器405中的所述降采样切片进行编码,获取各目标码流分别对应的编码切片,所述目标码流为编码后的视频对应的码流;
所述目标缓存器405,还用于缓存所述编码切片;
所述传输器403,还用于将所述目标缓存器405内的所述编码切片写入所述存储器402中。
在通过同一个所述目标缓存器405缓存所述降采样切片和所述编码切片时,所述目标缓存器405包括第一逻辑分区和第二逻辑分区,所述第一逻辑分区用于缓存所述降采样切片,所述第二逻辑分区用于缓存所述编码切片;
在目标缓存器405的数量包括至少两个,并且通过不同的所述目标缓存器405缓存所述降采样切片和所述编码切片时,所述目标缓存器405包括第一物理缓存器和第二物理缓存器,所述第一物理缓存器用于缓存所述降采样切片,所述第二物理缓存器用于缓存所述编码切片。
本申请实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现本申请实施例提供的视频编码方法。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现本申请实施例提供的视频编码方法。
本申请的一些实施例提供一种视频编码方法及装置,所述方法包括:获取存储器中存储的待编码视频中的视频帧对应的原始切片,一个所述视频帧包括至少一个所述原始切片;在获取到至少一个所述原始切片后,通过分流和降采样,获取所述原始切片对应的N个降采样切片,并将所述N个降采样切片分别存储至对应的第一缓存,N为大于1的正整数;读取所述第一缓存中的降采样切片,并基于各目标码流对应的编码参数对降采样切片进行编码,获取各目标码流分别对应的编码切片,所述目标码流为编码后的视频对应的码流;将所述编码切片写入所述存储器中。本申请实施例在对源视频进行多路的视频输出编码时,只需要从存储器中读取一次原始视频帧并将该原始视频帧转换为多份经过降采样后的数据,以完成多路的视频编码,减少内存带宽消耗,提升存储器的内存访问效率。进一步地,本申请实施例在获取到至少一个原始切片后就可以开始执行分流为多份降采样切片以开始启动多路的视频编码,避免了读取整个视频帧所需的等待时间,从而减少编码延迟时间。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。

Claims (13)

1.一种视频编码方法,其特征在于,包括:
从存储器中读取待编码视频中视频帧的像素数据,以得到原始切片;其中,所述像素数据的像素数量达到预设阈值时,已读取的像素数据为原始切片;一个视频帧包括至少一个原始切片;所述预设阈值由极限阈值和视频帧的像素总数确定,所述极限阈值由目标码流对应的分辨率与原始切片的分辨率的转换系数以及第一缓存的可用容量得到;所述极限阈值为所述第一缓存支持缓存原始切片的最大像素数量;所述目标码流为编码后的视频对应的码流;
在获取到至少一个所述原始切片后,获取所述原始切片对应的N个降采样切片,并将所述N个降采样切片分别存储至对应的第一缓存,N为大于1的正整数;
读取所述第一缓存中的所述降采样切片,并基于各目标码流对应的编码参数对所述降采样切片进行编码,获取各所述目标码流分别对应的编码切片;
将所述编码切片写入所述存储器中。
2.根据权利要求1所述的方法,其特征在于,所述获取所述原始切片对应的N个降采样切片,包括:
将所述原始切片同步发送至N个降采样器,以使所述N个降采样器对所述原始切片进行降采样处理,获取N个降采样切片。
3.根据权利要求2所述的方法,其特征在于,所述读取所述第一缓存中的降采样切片,并基于各目标码流对应的编码参数对降采样切片进行编码,包括:
基于各所述降采样切片的分辨率,确定与所述各目标码流相对应的目标降采样切片;
从所述第一缓存中读取所述目标降采样切片;
基于各所述目标码流分别对应的编码参数,对读取的所述目标降采样切片进行编码。
4.根据权利要求3所述的方法,其特征在于,若不同的目标码流对编码后的视频的分辨率需求相同,所述从所述第一缓存中读取所述目标降采样切片,包括:
通过分时复用方式,从所述第一缓存中读取同一个降采样切片,以针对同一个降采样切片完成不同目标码流的编码。
5.根据权利要求1所述的方法,其特征在于,从存储器中读取待编码视频中视频帧的像素数据,以得到原始切片,包括:
从所述存储器中读取所述视频帧中的像素数据;
当读取所述像素数据的像素数量达到预设阈值时,确定达到预设阈值时已读取的像素数据为所述原始切片,所述视频帧中的像素总数为所述预设阈值的整数倍。
6.根据权利要求5所述的方法,其特征在于,从存储器中读取待编码视频中视频帧的像素数据,以得到原始切片之前,还包括:
确定各所述目标码流对应的分辨率与所述原始切片的分辨率的转换系数;
根据所述转换系数和所述第一缓存的可用容量,计算极限阈值,所述极限阈值为所述第一缓存支持缓存所述原始切片的最大像素数量;
根据所述极限阈值和所述视频帧中的像素总数确定所述预设阈值。
7.根据权利要求1所述的方法,其特征在于,所述将所述编码切片写入所述存储器中,包括:
将每次获取的所述编码切片存储至对应的第二缓存;
针对其中至少一个所述原始切片,在通过各所述目标码流对应的编码参数进行的编码均完成之后,从所述第二缓存中读取各所述目标码流分别对应的所述编码切片;
将所述各所述目标码流分别对应的所述编码切片写入所述存储器中。
8.根据权利要求2所述的方法,其特征在于,
如果所述第一缓存位于目标缓存器,所述N个降采样切片的像素总数量不大于所述目标缓存器所能容纳的像素数量;
如果所述第一缓存位于所述目标缓存器的第一逻辑分区,所述N个降采样切片的像素总数量不大于所述第一逻辑分区所能容纳的像素数量。
9.一种视频编码装置,其特征在于,包括:
获取模块,从存储器中读取待编码视频中视频帧的像素数据,以得到原始切片;其中,所述像素数据的像素数量达到预设阈值时,已读取的像素数据为原始切片;一个视频帧包括至少一个原始切片;所述预设阈值由极限阈值和视频帧的像素总数确定,所述极限阈值由目标码流对应的分辨率与原始切片的分辨率的转换系数以及第一缓存的可用容量得到;所述极限阈值为所述第一缓存支持缓存原始切片的最大像素数量;所述目标码流为编码后的视频对应的码流;
存储模块,用于在获取到至少一个所述原始切片后,获取所述原始切片对应的N个降采样切片,并将所述N个降采样切片分别存储至对应的第一缓存,N为大于1的正整数;
编码模块,用于读取所述第一缓存中的所述降采样切片,并基于各目标码流对应的编码参数对所述降采样切片进行编码,获取各所述目标码流分别对应的编码切片,所述目标码流为编码后的视频对应的码流;
写入模块,用于将所述编码切片写入所述存储器中。
10.一种电子设备,其特征在于,包括:处理器、存储器、传输器、降采样器、目标缓存器和编码器;
所述处理器,用于处理人机交互以获取目标码流,以及配置所述目标码流对应的编码参数;
所述存储器,用于存储待编码视频和编码切片;
所述传输器,用于从存储器中读取待编码视频中视频帧的像素数据,以得到原始切片;其中,所述像素数据的像素数量达到预设阈值时,已读取的像素数据为原始切片;一个视频帧包括至少一个原始切片;所述预设阈值由极限阈值和视频帧的像素总数确定,所述极限阈值由目标码流对应的分辨率与原始切片的分辨率的转换系数以及第一缓存的可用容量得到;所述极限阈值为所述第一缓存支持缓存原始切片的最大像素数量;所述目标码流为编码后的视频对应的码流;
所述降采样器,用于在获取到至少一个所述原始切片后,获取所述原始切片对应的N个降采样切片,并将所述N个降采样切片分别存储至所述目标缓存器,N为大于1的正整数;
所述目标缓存器,用于缓存所述降采样切片;
所述编码器,用于读取所述目标缓存器中的降采样切片,并基于各目标码流对应的编码参数对所述目标缓存器中的所述降采样切片进行编码,获取各目标码流分别对应的编码切片,所述目标码流为编码后的视频对应的码流;
所述目标缓存器,还用于缓存所述编码切片;
所述传输器,还用于将所述目标缓存器内的所述编码切片写入所述存储器中。
11.根据权利要求10所述的电子设备,其特征在于,在通过同一个所述目标缓存器缓存所述降采样切片和所述编码切片时,所述目标缓存器包括第一逻辑分区和第二逻辑分区,所述第一逻辑分区用于缓存所述降采样切片,所述第二逻辑分区用于缓存所述编码切片;
在目标缓存器的数量包括至少两个,并且通过不同的所述目标缓存器缓存所述降采样切片和所述编码切片时,所述目标缓存器包括第一物理缓存器和第二物理缓存器,所述第一物理缓存器用于缓存所述降采样切片,所述第二物理缓存器用于缓存所述编码切片。
12.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-8中任一项所述的视频编码方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现如权利要求1-8中任一项所述的视频编码方法。
CN202310498132.0A 2023-05-06 2023-05-06 一种视频编码方法及装置 Active CN116233453B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310498132.0A CN116233453B (zh) 2023-05-06 2023-05-06 一种视频编码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310498132.0A CN116233453B (zh) 2023-05-06 2023-05-06 一种视频编码方法及装置

Publications (2)

Publication Number Publication Date
CN116233453A CN116233453A (zh) 2023-06-06
CN116233453B true CN116233453B (zh) 2023-07-14

Family

ID=86585861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310498132.0A Active CN116233453B (zh) 2023-05-06 2023-05-06 一种视频编码方法及装置

Country Status (1)

Country Link
CN (1) CN116233453B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116886932B (zh) * 2023-09-07 2023-12-26 中移(杭州)信息技术有限公司 视频流传输方法、装置、终端设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506870A (zh) * 2014-11-28 2015-04-08 北京奇艺世纪科技有限公司 一种适用于多码流的视频编码处理方法和装置
CN105657426A (zh) * 2016-01-08 2016-06-08 全时云商务服务股份有限公司 一种视频编码***和方法
CN115734004A (zh) * 2021-08-27 2023-03-03 西安诺瓦星云科技股份有限公司 视频处理方法、装置、***和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPS271002A0 (en) * 2002-05-31 2002-06-20 Canon Kabushiki Kaisha Embedding a multiresolution compressed thumbnail image in a compressed image file
US20140169467A1 (en) * 2012-12-14 2014-06-19 Ce Wang Video coding including shared motion estimation between multple independent coding streams

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506870A (zh) * 2014-11-28 2015-04-08 北京奇艺世纪科技有限公司 一种适用于多码流的视频编码处理方法和装置
CN105657426A (zh) * 2016-01-08 2016-06-08 全时云商务服务股份有限公司 一种视频编码***和方法
CN115734004A (zh) * 2021-08-27 2023-03-03 西安诺瓦星云科技股份有限公司 视频处理方法、装置、***和设备

Also Published As

Publication number Publication date
CN116233453A (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
US8395634B2 (en) Method and apparatus for processing information
KR100772379B1 (ko) 외부 메모리 장치, 그 영상 데이터 저장 방법, 이를 이용한영상 처리 장치
US9509992B2 (en) Video image compression/decompression device
WO2017133315A1 (zh) 应用于视频硬解码的无损压缩方法及***
US8577165B2 (en) Method and apparatus for bandwidth-reduced image encoding and decoding
JPWO2006013690A1 (ja) 画像復号装置
WO2009142003A1 (ja) 画像符号化装置及び画像符号化方法
WO2017087052A1 (en) Method and system of reference frame caching for video coding
CN116233453B (zh) 一种视频编码方法及装置
JP5496047B2 (ja) 画像再生方法、画像再生装置、画像再生プログラム、撮像システム、および再生システム
JP2012085001A5 (zh)
KR101611408B1 (ko) 점유 대역폭의 감소를 위한 영상 부호화 방법 및 장치, 그리고 영상 복호화 방법 및 장치
WO2023193701A1 (zh) 图像编码方法及装置
WO2024078066A1 (zh) 视频解码方法、视频编码方法、装置、存储介质及设备
JP2002112268A (ja) 圧縮画像データ復号装置
WO2022206217A1 (zh) 在视频编码装置中进行图像处理的方法、装置、介质及***
JP2950367B2 (ja) 逆離散余弦変換器におけるデータ出力順序変換方法及び回路
KR100891116B1 (ko) 대역폭 인식 움직임 보상 장치 및 그 방법
KR102267215B1 (ko) 잔차 레벨 데이터의 위치 의존적 엔트로피 코딩을 위한 임베디드 코덱(ebc) 회로
CN106686380B (zh) 采用基于多块的流水线的增强型数据处理设备及操作方法
CN107241601B (zh) 图像数据传输方法、装置及终端
CN100576917C (zh) 逆扫描频率系数的方法和***
WO2022206166A1 (zh) 在视频编码装置中进行图像处理的方法、装置及***
JP4214554B2 (ja) 動画像復号化装置
JP2009272948A (ja) 動画像復号化装置及び動画像復号化方法

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