技术领域
示例实施例总体涉及视频处理,更具体地讲,涉及对视频数据进行编码的方法、执行所述方法的视频编码器以及包括所述视频编码器的电子系统。
背景技术:
根据对于高分辨率和高质量视频(诸如,高清(HD)视频、超高清(UHD)视频等)的日益增长的需求,研究已集中在用于获得提高的压缩性能的视频数据压缩。
最近,移动装置或便携式装置已演变为包括诸如多媒体、图形、接口、安全等各种功能的复杂系统。由于不同的性能和功能集中在电池供电的移动装置中,因此正在进行关于对移动装置中的视频数据进行编码同时提高压缩效率的技术的各种研究项目的研究。
技术实现要素:
一个或多个实施例提供一种能够基于感兴趣区域(ROI)信息有效压缩高质量视频数据的对视频数据进行编码的方法。
进一步地,一个或多个示例实施例提供一种能够基于ROI信息有效压缩高质量视频数据的视频编码器。
进一步地,一个或多个示例实施例提供一种包括所述视频编码器的电子系统。
根据示例实施例的一方面,在一种对视频数据进行编码的方法中,输入图片被划分成与感兴趣区域(ROI)对应的第一图片和与非感兴趣区域(非ROI)对应的第二图片。通过缩小第二图片来生成第三图片。基于第一图片,确定ROI的量化参数。基于第三图片,确定非ROI的量化参数。通过基于ROI的量化参数和非ROI的量化参数对输入图片进行编码来生成压缩的图片。
根据示例实施例的一方面,在一种对视频数据进行编码的方法中,输入图片被划分成与感兴趣区域(ROI)对应的第一图片和与非感兴趣区域(非ROI)对应的第二图片。通过缩小第二图片,来生成第三图片。通过基于第一图片执行预测来生成第一参考图片。通过基于第三图片执行预测来生成第二参考图片。通过基于第一参考图片和第二参考图片对输入图片进行编码来生成压缩的图片。
根据示例实施例的一方面,一种视频编码器包括图片分析模块、比率控制模块和压缩模块。图片分析模块将输入图片划分为与感兴趣区域(ROI)对应的第一图片和与非感兴趣区域(非ROI)对应的第二图片,并通过缩小第二图片生成第三图片。比率控制模块基于第一图片确定ROI的量化参数,并基于第三图片确定非ROI的量化参数。压缩模块通过基于ROI的量化参数和非ROI的量化参数对输入图片进行编码来生成压缩的图片。
根据示例实施例的一方面,一种电子系统包括视频源和视频编码器。视频源提供输入图片。视频编码器通过对输入图片进行编码来生成压缩的图片。视频编码器包括图片分析模块、比率控制模块和压缩模块。图片分析模块将输入图片划分为与感兴趣区域(ROI)对应的第一图片和与非感兴趣区域(非ROI)对应的第二图片,并通过缩小第二图片生成第三图片。比率控制模块基于第一图片确定ROI的量化参数,并基于第三图片确定非ROI的量化参数。压缩模块通过基于ROI的量化参数和非ROI的量化参数对输入图片进行编码来生成压缩的图片。
根据示例实施例的一方面,提供一种对视频数据进行编码的方法,所述方法包括:将输入图片划分成包括与ROI对应的第一图片和与非ROI对应的第二图片的多个图片;基于第二图片生成第三图片,其中,第三图片具有比第二图片的位深度小的位深度;以及基于第一图片和第三图片,对输入图片进行编码。
附图说明
从下面的结合附图的具体实施方式,将更加清楚地理解说明性的非限制的示例实施例的以上和其他方面,其中:
图1是示出根据示例实施例的对视频数据进行编码的方法的流程图;
图2是用于描述根据示例实施例的对视频数据进行编码的方法的示图;
图3是示出根据示例实施例的视频编码器的框图;
图4是示出图1中的将输入图片划分为第一图片和第二图片的示例的流程图;
图5是用于描述图4的操作的示图;
图6是示出图1中的确定ROI的量化参数的示例的流程图;
图7是示出图1中的确定非ROI的量化参数的示例的流程图;
图8是示出图1中的生成压缩的图片的示例的流程图;
图9是示出图1中的确定ROI的量化参数的另一个示例的流程图;
图10是用于描述图9的操作的示图;
图11是示出图1中的确定ROI的量化参数的其他示例的流程图;
图12是用于描述图11的操作的示图;
图13是示出图1中的确定非ROI的量化参数的另一个示例的流程图;
图14是用于描述图13的操作的示图;
图15是示出图1中的确定非ROI的量化参数的其他示例的流程图;
图16是用于描述图15的操作的示图;
图17和图18是示出图1中的生成第三图片的示例的流程图;
图19是示出根据示例实施例的对视频数据进行编码的方法的流程图;
图20是示出图19中的生成压缩的图片的示例的流程图;
图21是示出根据示例实施例的视频编码器的框图;
图22是示出根据示例实施例的视频解码器的框图;
图23是示出根据示例实施例的电子系统的框图;
图24是示出根据示例实施例的在电子系统中可采用的接口的框图;
图25是示出根据示例实施例的包括电子系统的通信系统的框图;
图26是示出根据示例实施例的计算机可读介质的示图;
图27是示出根据示例实施例的内容供应系统的示图;
图28是示出根据示例实施例的云计算系统的示图。
具体实施方式
参照附图,将更加充分地描述各种示例实施例。贯穿本申请,相同的参考标号表示相同的元件。
如在本发明构思的领域内传统的,根据功能块、单元和/或模块,描述并在附图中示出实施例。本领域的技术人员将理解,这些块、单元和/或模块通过电子(或光学)电路(诸如,逻辑电路、分立组件、微处理器、硬连线电路、存储器元件、线路连接等)被物理实现,所述电子(或光学)电路可使用基于半导体的制造技术或其他制造技术来形成。在块、单元和/或模块是通过微处理器或类似器件实现的情况下,可使用软件(例如,微码)对它们进行编程来执行在此讨论的各种功能并可通过固件和/或软件选择性地驱动它们。可选地,每个块、单元和/或模块可通过专用硬件来实现或被实现为用于执行一些功能的专用硬件和用于执行其他功能的处理器(例如,一个或多个编程的微处理器和相关联的电路)的组合。另外,在不脱离本发明构思的范围的情况下,实施例的每个块、单元和/或模块可被物理分成两个或更多个相互作用的且分立的块、单元和/或模块。此外,在不脱离本发明构思的范围的情况下,实施例的块、单元和/或模块可被物理组合成更复杂的块、单元和/或模块。
图1是示出根据示例实施例的对视频数据进行编码的方法的流程图。图2是用于描述根据示例实施例的对视频数据进行编码的方法的示图。
在该示例实施例中,以图片为单元对视频数据进行编码。例如,可根据诸如MPEG(运动图像专家组)、H.261、H.262、H.263、H.264、HEVC(高效视频编码)等的标准以图片为单元对视频数据进行编码。图片可对应于逐行扫描方案中的帧或隔行扫描方案中的场。编码的图片可稍后被解码器恢复,且恢复的图片可被存储在缓冲器(诸如,解码图片缓冲器(DPB))中。存储的图片可被用作解码下一个图片(或随后的图片)时的运动估计的参考图片。
参照图1和图2,在根据示例实施例的对视频数据进行编码的方法中,输入图片被划分成第一图片和第二图片(S100)。第一图片对应于感兴趣区域(ROI),第二图片对应于非感兴趣区域(非ROI)。例如,如图2所示,输入图片IPC可以是单个帧,并且可包括对象(例如,男人,人或人物)和背景(例如,太阳、山、树等)。ROI R1可对应于人脸的区域,非ROI R2可对应于输入图片IPC中除了ROI R1以外的区域。
众所周知,对于用户,图片中的特定的空间和时间的区域或对象比其他区域更感兴趣/重要。例如,在视频会议应用中,相比于其他区域,观看者可能更多地关注脸部区域。在安全应用中,潜在活动的区域(例如,门、窗户等)可能更重要。这些更重要的区域或观看者更多关注的区域可被称为ROI。
通过缩小第二图片来生成第三图片(S200)。例如,从输入图片IPC分离的第一图片和第二图片可具有相同的位深度,且第三图片的位深度可比第一图片的位深度和第二图片的位深度中的每一个都低。换句话讲,第一图片可以是针对ROI R1的相对高质量的图片,第二图片可以是针对非ROI R2的相对高质量的图片,第三图片可以是针对非ROI R2的相对低质量的图片。
位深度(也被称为颜色深度)是用于表示在位图图像或视频帧缓冲器中的单个像素的颜色的位的数量,或用于单个像素的每一个颜色分量的位的数量。针对消费者视频标准(诸如,HEVC(或H.265)),位深度指定用于每一个颜色分量的位的数量。当表示像素时,概念可被定义为指定使用的位的数量的每像素位数(bpp)。当表示颜色分量时,概念可被定义为每分量位数、每通道位数、每颜色位数(所有三个被缩写为bpc),以及每像素分量位数、每颜色通道位数或每样本位数(bps)。颜色深度是颜色表示的一方面,表达能够表现多精细的颜色程度(例如,颜色精度);另一个方面是能够表现多宽的颜色范围(例如,色域)。颜色精度和色域二者的定义是使用向颜色空间中的位置分配数字代码值的颜色编码规范来完成。
ROI R1的量化参数是基于第一图片而确定(S300),非ROI R2的量化参数是基于第三图片而确定(S400)。例如,ROI R1的量化参数可小于非ROI R2的量化参数。
压缩的图片是通过基于ROI R1的量化参数和非ROI R2的量化参数对输入图片IPC进行编码(例如,通过对第一图片和第二图片进行编码)而生成(S500)。基于相对小的量化参数,可以以相对小的损失对输入图片IPC中的ROI R1进行编码。基于相对大的量化参数,可以以相对大的损失对输入图片IPC中的非ROI R2进行编码。
在根据示例实施例的对视频数据进行编码的方法中,可基于具有原始的位深度的部分图片来确定ROI R1的量化参数,可基于具有减少的位深度的其他部分图片来确定非ROI R2的量化参数,然后可基于不同地确定的量化参数对原始的输入图片IPC进行编码。换句话讲,可针对输入图片IPC执行自适应部分编码。因此,可以以相对低的功耗对具有相对高的质量的视频数据进行有效编码。
图3是示出根据示例实施例的视频编码器的框图。
在该示例实施例中,视频编码器被构造为以图片为单元对视频数据进行编码。图3的视频编码器10可执行图1的对视频数据进行编码的方法和图19的对视频数据进行编码的方法中的至少一个。
参照图2和图3,视频编码器10包括图片分析模块(PAM)110、比率控制模块(RCM)120和压缩模块150。视频编码器10还可包括预测模块(PM)130、减法器140、熵编码器(EC)160、加法器170和存储器(STG)180。
图片分析模块110基于ROI信息INF将输入图片数据PDAT划分成第一图片数据PD1和第二图片数据PD2,并通过缩小第二图片数据PD2来生成第三图片数据DPD2。输入图片数据PDAT可以是输入图片IPC的数据。第一图片数据PD1可以是对应于ROI R1的第一图片的数据。第二图片数据PD2可以是第二图片的数据,第三图片数据DPD2可以是第三图片的数据。第二图片和第三图片中的每一个可对应于非ROI R2。
在根据示例实施例的视频编码器10中,第一图片的位深度和第二图片的位深度中的每一个可高于第三图片的位深度。例如,第一图片的位深度和第二图片的位深度中的每一个可为M,其中,M是自然数,第三图片的位深度可以是N,其中,N是小于M的自然数。换句话讲,第一图片数据PD1和第二图片数据PD2中的每一个可以是M位颜色数据(例如,10位颜色数据),而第三图片数据DPD2可以是N位颜色数据(例如,9位颜色数据或8位颜色数据)。再例如,第二图片数据PD2中的位的数量可以大于第三图片数据DPD2中的位的数量。
ROI信息INF可以是表示输入图片IPC中的ROI R1和非ROI R2的位置的信息。在一些示例实施例中,ROI信息INF可从用户提供,可通过检测输入图片IPC中的特定区域(例如,脸部区域)来获得,或可基于输入图片IPC的统计或统计信息(例如,方差)来获得。如参照图21将描述的,视频编码器10还可包括生成ROI信息INF的ROI检测模块。
在一些示例实施例中,图片分析模块110可基于各种算法(诸如,最邻近插值、双线性插值、双三次插值、边缘方向插值等)中的至少一个算法来执行缩小。
比率控制模块120基于第一图片数据PD1来确定ROI R1的量化参数QP1,并且基于第三图片数据DPD2来确定非ROI R2的量化参数QP2。
在根据示例实施例的视频编码器10中,ROI R1的量化参数QP1可小于非ROI R2的量化参数QP2。非ROI R2的量化参数QP2可基于具有相对低的位深度的第三图片而被有效地设置。
通常,用于有效地管理视频编码器中的流大小的方案可被称为比率控制(RC)。比率控制的预算可被分配给每一个图片或每一组图片,目标位数量可在分配的预算内被分配给每一个图片和/或每一组图片。目标位数量可由量化参数表示,且编码的数据的位数量可随着量化参数的增大而减小。换句话讲,编码的图片的图像质量可随着量化参数的增大而降低,而不随着量化参数的减小而降低。
预测模块130可通过基于第一图片数据PD1执行预测来生成第一参考数据REFD1,并且可通过基于第三图片数据DPD2执行预测来生成第二参考数据REFD2。第一参考数据REFD1可以是与第一图片相关联的第一参考图片的数据,第二参考数据REFD2可以是与第二图片和第三图片相关联的第二参考图片的数据。
在根据示例实施例的视频编码器10中,对于非ROI R2的预测可基于具有相对低的位深度的第三图片而被有效地执行。
例如,预测模块130可针对第一图片和第三图片执行帧内预测(或帧内图片预测)和帧间预测(或帧间图片预测)中的至少一个。帧内预测可表示在不参照其他图片的情况下的预测(例如,独立于其他图片地预测),帧间预测可表示参照其他图片的预测(例如,依赖于其他图片地预测)。当当前编码的图片(例如,输入图片IPC)被确定为帧内图片(例如,帧内帧(intra-frame)、帧内场(intra-field)等)时,可针对当前编码的图片仅执行帧内预测。当当前编码的图片被确定为帧间图片(例如,帧间帧(inter-frame)、帧间场(inter-field)等),可针对当前编码的图片执行帧内预测和帧间预测二者。在此,帧内图片可被称为I图片,帧间图片可被称为P图片(预测图片)和/或B图片(双向预测图片)。
可针对每一个图片确定图片类型,并可根据指示I图片、P图片或B图片的图片类型,针对顺序输入到视频编码器10的每一个图片执行帧内预测和/或帧间预测。例如,预测模块130可包括执行帧内预测的帧内预测单元(或帧内图片预测单元)和执行帧间预测的帧间预测单元(或帧间图片预测单元)。当输入图片IPC是I图片时,帧间预测单元可被禁用,且仅帧内预测单元可被启用以执行帧内预测。当输入图片IPC是P图片或B图片时,帧内预测单元和帧间预测单元二者可被启用以分别执行帧内预测和帧间预测。帧内预测单元可在不参照其他图片的情况下,执行帧内预测来确定当前图片的编码模式。帧间预测单元可在P图片的情况下通过参照之前图片以及在B图片情况下通过参照之前图片和随后图片执行帧间预测,来确定当前图片的编码模式。
预测模块130可生成与第一图片的帧内预测和帧间预测中的至少一个的结果对应的第一参考图片,以及与第三图片的帧内预测和帧间预测中的至少一个的结果对应的第二参考图片。例如,预测模块130可包括基于帧内预测和帧间预测中的至少一个的结果来确定编码模式的模式决定单元。模式决定单元可提供包括预测的结果、运动矢量、确定的编码模式等的信息CI以及与确定的编码模式对应的第一参考图片和第二参考图片。
减法器140可通过从第一图片数据PD1减去第一参考数据REFD1来生成第一残余数据RD1,并可通过从第二图片数据PD2减去第二参考数据REFD2来生成第二残余数据RD2。第一残余数据RD1可以是通过从第一图片减去第一参考图片获得的第一残余图片的数据,第二残余数据RD2可以是通过从第二图片减去第二参考图片获得的第二残余图片的数据。
压缩模块150通过基于ROI R1的量化参数QP1和非ROI R2的量化参数QP2对输入图片IPC进行编码来生成压缩的图片。由于压缩的图片是进一步基于根据第一参考数据REFD1和第二参考数据REFD2获得的第一残余数据RD1和第二残余数据RD2而生成,因此可以说,可基于第一参考数据REFD1和第二参考数据REFD2(例如,基于第一参考图片和第二参考图片)生成压缩的图片。
压缩模块150可包括变换单元(T)152和量化单元(Q)154。压缩模块150还可包括逆量化单元(Q-1)156和逆变换单元(T-1)158。
变换单元152可通过基于第一图片数据PD1执行变换来生成第一变换数据TD1,并且可通过基于第二图片数据PD2执行变换来生成第二变换数据TD2。例如,变换单元152可将基于第一图片数据PD1获得的第一残余数据RD1变换成第一变换数据TD1。变换单元152可将基于第二图片数据PD2获得的第二残余数据RD2变换成第二变换数据TD2。第一变换数据TD1可以是与第一图片或第一残余图片对应的第一变换图片的数据,第二变换数据TD2可以是与第二图片或第二残余图片对应的第二变换图片的数据。
在一些示例实施例中,变换单元152可针对第一残余图片和第二残余图片执行空间变换。空间变换可以是离散余弦变换(DCT)、小波变换等之一。变换系数(诸如,DCT系数、小波系数等)可作为空间变换的结果而被获得。
量化单元154可通过基于ROI R1的量化参数QP1对第一变换数据TD1进行量化来生成第一量化数据QD1,并且可通过基于非ROI R2的量化参数QP2对第二变换数据TD2进行量化来生成第二量化数据QD2。第一量化数据QD1可以是与第一图片或第一变换图片对应的第一量化图片的数据,第二量化数据QD2可以是与第二图片或第二变换图片对应的第二量化图片的数据。
通过量化(诸如,标量量化、矢量量化等),变换系数可被分组成离散值。例如,基于标量量化,每一个变换系数可被量化表中的对应的值除,并且可将商四舍五入到整数。
在采用小波变换的情况下,可使用嵌入式量化,诸如,嵌入式零树小波算法(EZW)、多级树集合分割(SPIHT)、嵌入式零块编码(EZBC)等。这种在熵编码之前的编码处理可被称为有损编码处理。
熵编码器160可针对量化数据QD1和QD2以及包括预测的结果、参考图片标识符、运动矢量等的信息CI执行无损编码来生成与压缩的图片对应的压缩数据CDAT。无损编码可以是诸如上下文自适应二进制编码(CABAC)的算术编码、诸如上下文自适应可变长度编码(CAVLC)的可变长度编码等。
视频编码器10还可包括连接到熵编码器160的输出的缓冲器(例如,编码图片缓冲器(EPB))。在这种情况下,压缩数据CDAT可被缓冲在缓冲器中,然后可作为比特流输出到外部装置。
逆量化单元156和逆变换单元158可用于通过对有损编码的数据进行反向解码来生成重构图片。量化数据QD1和QD2可通过逆量化单元156而被逆量化。逆量化的数据TD1’和TD2’可通过逆变换单元158而被逆变换。
加法器170可通过对逆变换数据RD1’和RD2’与参考数据REFD1和REFD2进行求和来恢复输入图片。恢复的图片数据PD1’和PD2’可被存储在存储器180中,并可被用作对其他图片进行编码的参考图片。
视频编码器10还可包括连接在加法器170与存储器180之间的去块滤波器。去块滤波器可针对图片的边界或每一个图片中的图片块执行去块滤波。
在根据示例实施例的视频编码器10中,比率控制模块120和预测模块130中的至少一个可使用第三图片数据DPD2来处理非ROI R2,视频编码器10中的其他元件可使用第二图片数据PD2来处理非ROI R2。换句话讲,可基于具有原始位深度的部分图片确定ROI R1的量化参数QP1,并基于具有原始位深度的部分图片执行ROI R1的预测。可基于具有减少的位深度的其他部分图片确定非ROI R2的量化参数QP2,并可基于具有减少的位深度的其他部分图片执行非ROI R2的预测。因此,可以以相对低的功耗对具有相对高的质量的视频数据进行有效编码。
图4是示出图1中的将输入图片划分为第一图片和第二图片的示例的流程图。图5是用于描述图4的操作的示图。
参照图1、图2、图4和图5,在操作S100中,输入图片IPC可被划分成多个图片块PB(S110)。例如,多个图片块PB可具有相同的大小,并且可不互相重叠。在图5的示例中,输入图片IPC可被划分成二十四个图片块PB。
在一些示例实施例中,在H.264标准下,每一个图片块可被称为宏块。每一个宏块可包括约16×16个像素。可选地,在HEVC标准下,每一个图片块可被称为编码树单元(CTU)。每一个CTU的大小可以是可变的。例如,每一个CTU可包括约8×8个像素、16×16个像素、32×32个像素、64×64个像素等。
多个图片块PB可被归类为第一图片块RB或第二图片块NRB(S120)。第一图片块RB可对应于ROI R1,第二图片块NRB可对应于非ROI R2。例如,与ROI R1重叠的图片块可被归类为第一图片块RB,与ROI R1不重叠的图片块可被归类为第二图片块NRB。
第一图片块RB可被设置为第一图片(S130),第二图片块NRB可被设置为第二图片(S140)。在图5的示例中,第一图片可包括四个图片块RB,第二图片可包括二十个图片块NRB。
在一些示例实施例中,当输入图片IPC被划分成多个图片块PB时,可以以图片块为单元对输入图片IPC进行编码。换句话讲,可以以图片块为单元执行上面参照图1、图2和图3进行描述的缩小、确定量化参数、预测、变换、量化等。
输入图片IPC可在没有将输入图片IPC划分成多个图片块PB的情况下被划分成第一图片和第二图片。例如,输入图片IPC可以以像素为单元被划分成第一图片和第二图片。
图6是示出图1中的确定ROI的量化参数的示例的流程图。图7是示出图1中的确定非ROI的量化参数的示例的流程图。
参照图1、图2和图6,在操作S300中,可通过从参考参数REFP减去偏移参数OFSP设置ROI R1的量化参数QP1(S310)。换句话讲,ROI R1的量化参数QP1可小于参考参数REFP。
参考图1、图2和图7,在操作S400中,可通过将偏移参数OFSP加到参考参数REFP设置非ROI R2的量化参数QP2(S410)。换句话讲,非ROI R2的量化参数QP2可大于参考参数REFP。因此,当基于不同的量化参数QP1和QP2对输入图片IPC进行编码时,相比于在编码图片中的非ROI R2的图像质量,在编码图片中的ROI R1可具有提高的图像质量。
在一些示例实施例中,偏移参数OFSP可根据输入图片IPC而变化。
根据示例实施例,用于确定ROI R1的量化参数QP1的图6中的偏移参数OFSP可以与用于确定非ROI R2的量化参数QP2的图7中的参数OFSP实质相同或不同。
图8是示出图1中的生成压缩的图片的示例的流程图。
参照图1、图2和图8,在操作S500中,可通过基于第一图片执行变换来生成第一变换图片(S510),并且可通过基于第二图片执行变换来生成第二变换图片(S520)。例如,基于第一图片获得的第一残余图片可被变换成第一变换图片,基于第二图片获得的第二残余图片可被变换成第二变换图片。
可基于ROI R1的量化参数QP1对第一变换图片进行量化(S530),并且可基于非ROI R2的量化参数QP2对第二变换图片进行量化(S540)。例如,可通过基于相对小的量化参数QP1对第一变换图片进行量化来生成第一量化图片,并且可通过基于相对大的量化参数QP2对第二变换图片进行量化来生成第二量化图片。
在一些示例实施例中,可通过图3中的图片分析模块110来执行图1中的操作S100和操作S200以及图4中的操作S110、操作S120、操作S130和操作S140。可通过图3中的比率控制模块120来执行图1中的操作S300和操作S400、图6中的操作S310以及图7中的操作S410。可通过图3中的压缩模块150来执行图1中的操作S500以及图8中的操作S510、操作S520、操作S530和操作S540。
虽然基于输入图片IPC包括单个ROI和单个非ROI的示例描述了示例实施例,但是输入图片IPC可包括具有不同兴趣度的多个(例如,至少两个)ROI和多个非ROI。以下,将基于输入图片IPC包括多个ROI和多个非ROI的示例来描述示例实施例。
图9是示出图1中的确定ROI的量化参数的另一个示例的流程图。图10是用于描述图9的操作的示图。
参照图1、图9和图10,在操作S300中,ROI可包括第一ROI R11和具有比第一ROI R11的兴趣度高的兴趣度的第二ROI R12。例如,在图10的输入图片IPC中,第一ROI R11可对应于人的上身的区域,第二ROI R12可对应于人的脸部的区域。非ROI R2’可对应于图10的输入图片IPC中的除了ROI R11和ROI R12之外的区域。
可通过从参考参数REFP减去第一偏移参数OFSP1来设置第一ROI R11的量化参数QP11(S311),并且可通过从参考参数REFP减去第二偏移参数OFSP2来设置第二ROI R12的量化参数QP12(S320)。第二偏移参数OFSP2可大于第一偏移参数OFSP1。换句话讲,第二ROI R12的量化参数QP12可小于第一ROI R11的量化参数QP11。
图11是示出图1中的确定ROI的量化参数的其他示例的流程图。图12是用于描述图11的操作的示图。
参照图1、图11和图12,在操作S300中,ROI可包括第一ROI R11’、具有比第一ROI R11’的兴趣度高的兴趣度的第二ROI R12’以及具有比第二ROI R12’的兴趣度高的兴趣度的第三ROI R13。例如,在图12的输入图片IPC中,第一ROI R11’可对应于树的区域,第二ROI R12’可对应于人的上身的区域,第三ROI R13可对应于人的脸部的区域。非ROI R2”可对应于图12的输入图片IPC中的除了ROI R11’、ROI R12’和ROI R13之外的区域。
可通过从参考参数REFP减去第一偏移参数OFSP1来设置第一ROI R11’的量化参数QP11(S311),可通过从参考参数REFP减去第二偏移参数OFSP2来设置第二ROI R12’的量化参数QP12(S320),并且可通过从参考参数REFP减去第三偏移参数OFSP3来设置第三ROI R13的量化参数QP13(S330)。第二偏移参数OFSP2可大于第一偏移参数OFSP1,并且可小于第三偏移参数OFSP3。换句话讲,第二ROI R12’的量化参数QP12可小于第一ROI R11’的量化参数QP11,并且可大于第三ROI R13的量化参数QP13。
图13是示出图1中的确定非ROI的量化参数的另一个示例的流程图。图14是用于描述图13的操作的示图。
参照图1、图13和图14,在操作S400中,非ROI可包括第一非ROI R21和具有比第一非ROI R21的兴趣度低的兴趣度的第二非ROI R22。例如,在图14的输入图片IPC中,ROI R1可对应于人的脸部区域。第一非ROI R21可对应于树的区域,第二非ROI R22可对应于图4的输入图片IPC中的除了ROI R1和第一非ROI R21之外的区域。
可通过将第一偏移参数OFSP1加到参考参数REFP来设置第一非ROI R21的量化参数QP21(S411),并且可通过将第二偏移参数OFSP2加到参考参数REFP来设置第二非ROI R22的量化参数QP22(S420)。
图15是示出图1中的确定非ROI的量化参数的其他示例的流程图。图16是用于描述图15的操作的示图。
参照图1、图15和图16,在操作S400中,非ROI可包括第一非ROI R21、具有比第一非ROI R21的兴趣度低的兴趣度的第二非ROI R22’以及具有比第二非ROI R22’的兴趣度低的兴趣度的第三非ROI R23。例如,在图16的输入图片IPC中,ROI R1可对应于人的脸部的区域。第一非ROI R21可对应于树的区域,第二非ROI R22’可对应于太阳的区域,第三非ROI R23可对应于图16的输入图片IPC中的除了ROI R1、第一非ROI R21和第二非ROI R22’之外的区域。
可通过将第一偏移参数OFSP1加到参考参数REFP来设置第一非ROI R21的量化参数QP21(S411),可通过将第二偏移参数OFSP2加到参考参数REFP来设置第二非ROI R22’的量化参数QP22(S420),并且可通过将第三偏移参数OFSP3加到参考参数REFP来设置第三非ROI R23的量化参数QP23(S420)。
图17和图18是示出图1中的生成第三图片的示例的流程图。
参照图1、图14和图17,在操作S200中,非ROI可包括第一非ROI R21和第二非ROI R22。可通过缩小第二图片的与第一非ROI R 21对应的第一部分来生成第三图片的第一部分(S210),并且可通过缩小第二图片的与第二非ROI R22对应的第二部分来生成第三图片的第二部分(S220)。第三图片的第二部分的位深度可小于第三图片的第一部分的位深度。
在一些示例实施例中,如上面参照图13描述的,第二图片的第一部分的量化参数可与第二图片的第二部分的量化参数不同。可选地,第二图片的第一部分的量化参数可与第二图片的第二部分的量化参数实质相同。
参照图1、图16和图18,在操作S200中,非ROI可包括第一非ROI R21、第二非ROI R22’和第三非ROI R23。可通过缩小第二图片的对应于第一非ROI R21的第一部分来生成第三图片的第一部分(S210),可通过缩小第二图片的对应于第二非ROI R22’的第二部分来生成第三图片的第二部分(S220),并且可通过缩小第二图片的对应于第三非ROI R23的第三部分来生成第三图片的第三部分(S230)。第三图片的第二部分的位深度可低于第三图片的第一部分的位深度,并可高于第三图片的第三部分的位深度。
根据示例实施例,第二图片的第一部分的量化参数、第二图片的第二部分的量化参数和第二图片的第三部分的量化参数可彼此不同或实质相同。
在根据示例实施例的对视频数据进行编码的方法中,可针对具有不同的兴趣度的ROI和/或非ROI来确定不同的量化参数。此外,与具有不同的兴趣度的非ROI对应的部分图片可被缩小以具有不同的位深度。因此,视频数据可被更有效地编码。
示例实施例将被应用到输入图片IPC包括任意数量的ROI和/或任意数量的非ROI的示例中。
图19是示出根据示例实施例的对视频数据进行编码的方法的流程图。在这个示例实施例中,以图片为单元对视频数据进行编码。
参照图2和图19,在根据示例实施例的对视频数据进行编码的方法中,输入图片IPC被划分为第一图片和第二图片(S1100),并通过缩小第二图片生成第三图片(S1200)。操作S 1100和操作S1200可分别与图1中的操作S100和操作S200实质上相同。
通过基于第一图片执行预测生成第一参考图片(S 1300)。例如,可针对第一图片执行帧内预测和帧间预测中的至少一个,然后可生成与针对第一图片的帧内预测和帧间预测中的至少一个的结果对应的第一参考图片。通过基于第三图片执行预测生成第二参考图片(S1400)。例如,可针对第三图片执行帧内预测和帧间预测中的至少一个,然后可生成与针对第三图片的帧内预测和帧间预测中的至少一个的结果对应的第二参考图片。在操作S1300和S1400中,预测(例如,帧内预测和帧间预测)可与参照图3描述的预测实质上相同。
通过基于第一参考图片和第二参考图片对输入图片IPC进行编码(例如,通过对第一图片和第二图片进行编码)来生成压缩的图片(S1500)。
在根据示例实施例的对视频数据进行编码的方法中,可基于具有原始的位深度的部分图片针对ROI R1执行预测,可基于具有减少的位深度的其他部分图片针对非ROI R2执行预测,然后可基于预测的结果对原始的输入图片IPC进行编码。换句话说,可对输入图片IPC执行自适应部分编码。因此,可以以相对低的功耗对具有相对高的质量的视频数据进行有效地编码。
图20是示出图19中的生成压缩的图片的示例的流程图。
参照图2、图19和图20,在操作S1500中,可通过从第一图片减去第一参考图片生成第一残余图片(S1510),可通过从第二图片减去第二参考图片生成第二残余图片(S1520)。第一残余图片和第二残余图片可被分别变换成第一变换图片和第二变换图片(S1530)。通过对第一变换图片和第二变换图片进行量化,可生成第一量化图片和第二量化图片(S1540)。
在一些示例实施例中,第一变换图片(例如,ROI R1)的量化参数可小于第二变换图片(例如,非ROI R2)的量化参数。可选地,第一变换图片的量化参数可与第二变换图片的量化参数实质上相同。
在一些示例实施例中,图19中的操作S1100和S1200可通过图3中的图片分析模块110执行。图19中的操作S 1300和S1400可通过图3中的预测模块130执行。图19中的操作S1500和图20中的操作S1510、S1520、S1530、和S1540可通过图3中的压缩模块150执行。
与参照图9至图18所述的示例类似,可针对具有不同兴趣度的ROI和/或非ROI执行不同的预测。另外,与具有不同兴趣度的非ROI对应的部分图片可被缩小以具有不同的位深度。因此,可对视频数据进行更有效地编码。
图21是示出根据示例实施例的视频编码器的框图。在这个示例实施例中,视频编码器被构造为以图片为单元对视频数据进行编码。
参考图2和图21,视频编码器10a包括图片分析模块110、比率控制模块120和压缩模块150。视频编码器10a还可包括预测模块130、减法器140、熵编码器160、加法器170、存储器180以及ROI检测模块(RDM)190。
除了视频编码器10a还包括ROI检测模块190之外,视频编码器10a可与图3的视频编码器10实质相同。
ROI检测模块190可针对输入图片IPC中的ROI R1和非ROI R2生成ROI信息INF。在一些实例实施例中,可基于从用户提供的用户设置信号USS来生成ROI信息INF。可选地,可基于输入图片IPC的输入图片数据PDAT生成ROI信息INF。例如,ROI检测模块190可包括脸部检测单元,并且可通过检测输入图片IPC中的脸部区域来获得ROI信息INF。
图22是示出根据示例实施例的视频解码器的框图。
参照图3和图22,视频解码器20可包括熵解码器(ED)210、预测模块220、重构模块230、加法器240以及存储器250。
视频解码器20可通过对由视频编码器10生成的编码数据进行反向地解码来生成重构图片。
熵解码器210可针对压缩数据CDAT执行解码来生成量化数据QD’和包括预测的结果、参考图片标识符、运动矢量等的信息CI’。预测模块220可基于信息CI’恢复参考数据REFD’。重构模块230可包括逆量化单元232和逆变换单元234。可通过逆量化单元232对量化数据QD’进行逆量化。可通过逆变换单元234对逆量化数据TD’进行逆变换。加法器240可通过对逆变换数据RD’与参考数据REFD’求和来恢复输入图片。恢复的图片数据PD’可被存储在存储器250中,并可被用作参考图片来对其他图片进行编码。与输入图片数据PDAT对应的输出图片数据PDAT’可被提供给用于显示视频或图像的显示装置。
在一些实例实施例中,视频编码器10和视频解码器20可被合并在同一集成电路和/或相应的软件中,然后,合并后的装置可被称为视频编码器/解码器(编解码器)。例如,在视频编解码器中,熵编码器160和熵解码器210可被合并,预测模块130和预测模块220可被合并。另外,逆量化单元156和逆量化单元232、逆变换单元158和逆变换单元234、加法器170和加法器240以及存储器180和存储器250中的每一对也可分别被合并。
图23是示出根据示例实施例的电子系统的框图。
参照图2和图23,电子系统1000包括视频源1010和视频编解码器1020。电子系统1000还可包括处理器1030、连接1040、存储装置1050、输入/输出(I/O)装置1060以及电源1070。
视频源1010提供与输入图片IPC对应的输入图片数据PDAT。在一些实例实施例中,视频源1010可包括通过获得对象OBJ的图像信息生成输入图片IPC的视频拾取装置。可选地,视频源1010可包括存储输入图片数据PDAT的存储器。
根据示例实施例,视频编解码器1020可包括视频编码器和视频解码器。视频编解码器1020中的视频编码器和视频解码器可被合并在同一集成电路和/或相应的软件中。视频编码器可以是图3的视频编码器10和图21的视频编码器10a中的一个,并可根据参照图1至图21描述的示例进行操作。例如,视频编码器可基于具有原始的位深度的部分图片来确定ROI R1的量化参数和/或执行ROI R1的预测。视频编码器可基于具有减少的位深度的其他部分图片来确定非ROI R2的量化参数和/或执行非ROI R2的预测。视频编码器可基于不同地确定的量化参数和/或预测的结果来对原始的输入图片IPC进行编码。因此,视频编码器可以以相对低的功耗对具有相对高的质量的视频数据进行有效地编码。
在一些示例实施例中,可通过由视频编解码器1020和/或处理器1030执行的并被存储在存储装置1050中的指令(例如,软件程序),来执行用于对输入图片IPC进行编码的操作中的至少一部分。可选地,可通过在视频编解码器1020和/或处理器1030中实现的硬件来执行用于对输入图片IPC进行编码的操作中的至少一部分。
处理器1030可执行诸如特定的计算和任务的各种计算功能。例如,处理器1030可以是中央处理单元(CPU)、微处理器、应用处理器(AP)等。处理器1030可执行操作系统(OS)来驱动电子系统1000,并可执行用于提供网络浏览器、游戏、视频、相机等的各种应用。
在一些示例实施例中,处理器1030可包括单个处理器核或多个处理器核。在一些示例实施例中,处理器1030还可包括位于处理器1030的内部或外部的高速缓存存储器。
连接1040可与外部装置进行通信。例如,连接1040可根据各种类型的协议(诸如,通用串行总线(USB)、以太网、近场通信(NFC)、射频识别(RFID)、像3代(3G)、4代(4G)、长期演进(LTE)和先进LTE(LTE-A)的移动通信、存储卡接口)中的一个进行通信。例如,连接1040可包括基带芯片组,并可支持诸如GSM、GPRS、WCDMA或HSxPA等的通信。例如,连接1040可包括发送器1042和接收器1044。
存储装置1050可作为由视频编解码器1020或处理器1030处理的数据的数据存储器或作为工作存储器进行操作。例如,存储装置1050可存储用于启动电子系统1000的启动图像、用于驱动电子系统1000的操作系统的文件系统、连接到电子系统1000的外部装置的装置驱动器和/或在电子系统1000上执行的应用。例如,存储装置1050可包括易失性存储器(诸如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、移动DRAM、双倍数据速率(DDR)同步DRAM(SDRAM)、低功率DDR(LPDDR)SDRAM、图形DDR(GDDR)SDRAM或Rambus DRAM(RDRAM)等)以及非易失性存储器(诸如,电可擦除可编程只读存储器(EEPROM)、闪存、相变随机存取存储器(PRAM)、电阻式随机存取存储器(RRAM)、磁性随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、纳米浮栅存储器(NFGM)或聚合物随机存取存储器(PoRAM)等)。
I/O装置1060可包括至少一个输入装置(诸如,键盘、按钮、麦克风、触摸屏等)和/或至少一个输出装置(诸如,扬声器、显示装置等)。例如,I/O装置1060可包括显示装置1062。电源1070可向电子系统1000提供电力。
在一些示例实施例中,电子系统1000可以是任意移动系统,诸如,移动电话、智能电话、平板计算机、膝上型计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数码相机、便携式游戏机、音乐播放器、摄像机、视频播放器、导航系统等。移动系统还可包括可穿戴装置、物联网(IoT)装置、万联网(IoE)装置、电子书、虚拟现实(VR)装置、机器人装置等。
在一些示例实施例中,电子设备1000可以是任意计算系统,诸如,个人计算机(PC)、服务器计算机、工作站、平板计算机、膝上型计算机、移动电话、智能电话、PDA、PMP、数码相机、数字电视、机顶盒、音乐播放器、便携式游戏机、导航系统等。
根据示例实施例,电子系统1000和/或电子系统1000的组件可以以各种形式被封装,诸如,堆叠装配(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、带引线的塑料芯片载体(PLCC)、塑料双列直插式封装(PDIP)、华夫裸片封装、晶片形式的裸片、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制四方扁平封装(MQFP)、薄四方扁平封装(TQFP)、小外型集成电路(SOIC)、收缩型小外型封装(SSOP)、薄型小外形封装(TSOP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)或晶片级处理堆叠封装(WSP)。
图24是示出根据示例实施例的在电子系统中可采用的接口的框图。
参照图24,电子系统1100可通过使用或支持移动行业处理器接口接口的数据处理装置来实现。电子系统1100可包括应用处理器1110、图像传感器1140、显示装置1150等。应用处理器1110的CSI主机1112可通过相机串行接口(CSI)执行与图像传感器1140的CSI装置1141的串行通信。在一些示例实施例中,CSI主机1112可包括串并行转换器(DES),CSI装置1141可包括并串行转换器(SER)。应用处理器1110的DSI主机1111可通过显示器串行接口(DSI)执行与显示装置1150的DSI装置1151的串行通信。
在一些示例实施例中,DSI主机1111可包括并串行转换器(SER),DSI装置1151可包括串并行转换器(DES)。电子系统1100还可包括执行与应用处理器1110的通信的射频(RF)芯片1160。应用处理器1110的物理层(PHY)1113和RF芯片1160的物理层(PHY)1161可执行基于 DigRFSM的数据通信。应用处理器1110还可包括控制PHY 1161的数据通信的主DigRFSM 1114。
电子系统1100还可包括全球定位系统(GPS)1120、存储器1170、MIC1180、DRAM装置1185和扬声器1190。另外,电子系统1100可使用超宽带(UWB)1210、无线局域网(WLAN)1220、全球微波互联接入(WIMAX)1230等执行通信。然而,电子系统1100的结构和接口不局限于此。
图25是示出根据示例实施例的包括电子系统的通信系统的框图。
参照图25,通信系统1300可包括第一电子系统1310和第二电子系统1320。第一电子系统1310可通过通道1330与第二电子系统1320进行通信。例如,通信系统1300可以是视频通话系统、视频电话系统等。
第一电子系统1310和第二电子系统1320中的每一个可以是图23的电子系统1000。为了说明的方便,在图25中省略与通信系统1300的操作无关的第一电子系统1310和第二电子系统1320中的一些元件。
第一电子系统1310可包括视频源1312、视频编解码器1314和发送器1316。视频源1312可提供视频数据。视频编解码器1314可对视频数据进行编码。发送器1316可通过通道1330将编码的视频数据发送到第二电子系统1320。
第二电子系统1320可包括显示装置1322、视频编解码器1324和接收器1326。接收器1326可接收从第一电子系统1310发送的编码的视频数据。视频编解码器1324可对编码的视频数据进行解码。显示装置1322可基于解码的视频数据显示视频或图像。
视频编解码器1314和视频编解码器1324中的每一个可包括根据示例实施例的视频编码器和视频解码器,并可根据参照图1至图21所述的示例进行操作。
第一电子系统1310和第二电子系统1320可通过通道1330执行双向通信。例如,通道1330可以是各种类型的通信通道(诸如,Wi-Fi、WIBRO、像3G、4G、LTE和LTE-A的移动通信等)中的一个。
图26是示出根据示例实施例的计算机可读介质的示图。
参照图26,根据示例实施例的对视频数据进行编码的视频编码器和方法可被实施为系统、方法、计算机程序产品和/或实施在其上实施有计算机可读程序代码的一个或多个计算机可读介质1500中的计算机程序产品。计算机可读程序代码可被提供给通用计算机、专用计算机或基于阅读器1520的其他可编程数据处理设备1500的处理器。计算机可读介质1500可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质1500可以是能够包含或存储被指令执行系统、设备或装置使用的程序或能够包含或存储与指令执行系统、设备或装置有关的程序的任意有形介质。例如,计算机可读介质1500可以是非暂时性计算机可读介质。
虽然图26示出计算机可读介质1500是磁盘并且阅读器1520是磁盘驱动器的示例,但是计算机可读介质1500可以是各种类型的介质(诸如,磁带、CD-ROM、DVD、蓝光、存储卡、固态驱动器(SSD)等)中的一个。
图27是示出根据示例实施例的内容供应系统的示图。
参照图27,内容供应系统2000可包括服务提供器2100、流服务器2200、网络2300、多个基站2410、2420、2430和2440以及多个用户装置2510、2520、2530和2540。
在内容供应系统2000中,用于提供内容分布服务的服务区可被分成多个单元,每一个单元具有预定的大小。基站2410至2440中的每一个可被布置在每一个单元中。
多个用户装置2510至2540可包括膝上型计算机、PDA、视频相机、蜂窝电话等。多个用户装置2510至2540可通过多个基站2410至2440和网络2300连接到服务提供器2100和流服务器2200。多个用户装置2510至2540可在没有基站2410至2440的情况下直接连接到网络2300。
服务提供器2100和/或流服务器2200可向多个用户装置2510至2540提供视频内容,和/或可从多个用户装置2510至2540接收视频内容。服务提供器2100、流服务器2200和/或多个用户装置2510至2540可提供编码的视频内容,因此服务提供器2100、流服务器2200和/或多个用户装置2510至2540中的每一个可包括根据示例实施例的视频编码器,和/或可执行根据示例实施例的对视频数据进行编码的方法。
图28是示出根据示例实施例的云计算系统的示图。
参照图28,云计算系统3000可包括云计算服务器3100、用户数据库3200、计算资源3300和多个用户装置3400、3500、3600、3700、3800和3900。
在云计算系统3000中,按需外包服务(on-demand outsourcing service)可通过诸如互联网的网络被提供给多个用户装置3400至3900。计算资源3300可以是物理分开的,然而,在云计算系统3000中的服务提供者可通过基于虚拟化合并计算资源3300来提供这样的服务。服务用户可不将这样的服务安装在多个用户装置3400至3900中,而可在虚拟空间访问这样的服务。
多个用户装置3400至3900可包括PC、智能TV、智能电话、膝上型计算机、平板计算机、PMP等。多个用户装置3400至3900可通过网络连接到云计算服务器3100。用于访问云计算服务的用户信息可被存储在用户数据库3200中。例如,用户信息可包括登录信息和诸如姓名、地址、信用卡号等的私人信息。
多个用户装置3400~3900可被提供来自云计算服务器3100的云计算服务(例如,视频服务)。云计算服务器3100可合并分布式计算资源3300以向多个用户装置3400~3900提供合并的计算资源3300。云计算服务器3100和/或多个用户装置3400~3900可提供编码的视频服务,因此云计算服务器3100和多个用户装置3400~3900中的每一个可包括根据示例实施例的视频编码器,和/或可执行根据示例实施例的对视频数据进行编码的方法。
本公开可被应用到基于GOP对视频数据进行编码的各种装置和/或系统。具体地说,本发明构思的一些示例实施例可被应用到与诸如MPEG、H.261、H.262、H.263和H.264的标准兼容的视频编码器。本发明构思的一些示例实施例可被应用在诸如以下项的技术领域中:CATV(光网络、铜上的有线TV等)、DBS(直接广播卫星视频服务)、DSL(数字用户线路视频服务)、DTTB(数字地面电视广播)、ISM(交互式存储介质(光盘等))、MMM(多媒体邮件)、MSPN(分组网络上的多媒体服务)、RTC(实时会话服务(视频会议、视频电话等))、RVS(远程视频监控)、SSM(串行存储介质(数字VTR等))。
虽然已经描述了若干示例实施例,但是本领域的技术人员将容易地理解,在没有实质地脱离本公开的新颖性的教导和优势的情况下,可能在示例实施例中进行很多改变。将理解,上述是各种示例实施例的说明且将不被解释为受限于公开的特定的示例实施例,并且对于公开的示例实施例以及其他示例实施例的修改意在被包括在如在权利要求中定义的本发明构思的范围之内。