CN111741302B - 数据处理方法、装置、计算机可读介质及电子设备 - Google Patents
数据处理方法、装置、计算机可读介质及电子设备 Download PDFInfo
- Publication number
- CN111741302B CN111741302B CN202010790930.7A CN202010790930A CN111741302B CN 111741302 B CN111741302 B CN 111741302B CN 202010790930 A CN202010790930 A CN 202010790930A CN 111741302 B CN111741302 B CN 111741302B
- Authority
- CN
- China
- Prior art keywords
- data
- zero
- matrix
- inverse
- transform
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Abstract
本申请属于视频编解码技术领域,具体涉及一种数据处理方法、数据处理装置、计算机可读介质以及电子设备。该数据处理方法包括:获取对视频图像进行编码处理得到的量化数据,所述量化数据为包括零值和非零值的数值矩阵;获取所述非零值在所述量化数据中的非零值位置信息,并根据所述非零值位置信息确定所述量化数据中的非零区域,所述非零区域为所述数值矩阵中的矩阵行或矩阵列;对所述量化数据进行反量化解码,得到反量化数据;根据所述非零区域对所述反量化数据进行反变换解码,得到所述视频图像的重构数据。该方法可以根据量化数据中非零区域的分布情况动态地降低反变换编码的计算时长和算力需求,从而可以提高计算速度、节约计算资源。
Description
技术领域
本申请属于视频编解码技术领域,具体涉及一种数据处理方法、数据处理装置、计算机可读介质以及电子设备。
背景技术
对图像信息进行采集后可以生成原始视频数据,而原始视频数据的数据量一般是非常庞大的。为了便于对视频数据进行传输与存储,通常会利用视频编解码技术对视频数据进行压缩编码得到编码数据,以编码数据的形式进行传输和存储,可以降低视频数据在网络传输中的网络带宽压力,同时可以压缩视频数据的存储空间,降低数据存储成本。当需要播放或展示视频数据时,可以再对编码数据进行解码还原,以对视频图像进行重构,最终得到原始视频数据。
随着计算机和网络技术的发展,对于视频数据进行快速且频繁的编解码处理已经成为支持视频播放、网络直播等各种视频服务业务的必不可少的关键环节。而视频服务业务的实现也对视频编解码设备的计算资源和计算速度都提出了极高的要求。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请的目的在于提供一种数据处理方法、数据处理装置、计算机可读介质以及电子设备,至少在一定程度上克服视频编解码技术中存在的计算资源消耗大、计算速度慢、计算成本高等技术问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种数据处理方法,该方法包括:
获取对视频图像进行编码处理得到的量化数据,所述量化数据为包括零值和非零值的数值矩阵;
获取所述非零值在所述量化数据中的非零值位置信息,并根据所述非零值位置信息确定所述量化数据中的非零区域,所述非零区域为所述数值矩阵中的矩阵行或矩阵列;
对所述量化数据进行反量化解码,得到反量化数据;
根据所述非零区域对所述反量化数据进行反变换解码,得到所述视频图像的重构数据。
根据本申请实施例的一个方面,提供一种数据处理装置,该装置包括:
量化数据获取模块,被配置为获取对视频图像进行编码处理得到的量化数据,所述量化数据为包括零值和非零值的数值矩阵;
非零区域确定模块,被配置为获取所述非零值在所述量化数据中的非零值位置信息,并根据所述非零值位置信息确定所述量化数据中的非零区域,所述非零区域为所述数值矩阵中的矩阵行或矩阵列;
反量化解码模块,被配置为对所述量化数据进行反量化解码,得到反量化数据;
反变换解码模块,被配置为根据所述非零区域对所述反量化数据进行反变换解码,得到所述视频图像的重构数据。
在本申请的一些实施例中,基于以上技术方案,所述反变换解码模块包括:
数据提取单元,被配置为根据所述非零区域对所述反量化数据进行数据提取,得到所述反量化数据中的变换域非零数据;
第一解码单元,被配置为对所述变换域非零数据进行反变换解码,得到源域非零数据;
零值组合单元,被配置为将所述源域非零数据与零值组合得到源域反变换数据;
第二解码单元,被配置为对所述源域反变换数据进行反变换解码,得到所述视频图像的重构数据。
在本申请的一些实施例中,基于以上技术方案,所述数据提取单元包括:
位置获取子单元,被配置为分别获取每个所述非零区域在所述量化数据中的区域位置信息;
数据提取子单元,被配置为根据所述区域位置信息对所述反量化数据进行数据提取,得到所述反量化数据中的变换域非零数据。
在本申请的一些实施例中,基于以上技术方案,所述数据提取子单元包括:
标识添加子单元,被配置为为所述量化数据中最后一处非零区域的区域位置信息添加区域终止标识;
提取终止子单元,被配置为依次根据各个所述区域位置信息对所述反量化数据进行数据提取,得到所述反量化数据中的变换域非零数据,直至检测到所述区域终止标识。
在本申请的一些实施例中,基于以上技术方案,所述非零区域为所述数值矩阵中的矩阵列;所述第一解码单元包括:
矩阵获取子单元,被配置为获取用于对所述反量化数据进行反变换解码的反变换矩阵;
第一矩阵运算子单元,被配置为将所述反变换矩阵与所述变换域非零数据进行矩阵乘运算,得到源域非零数据。
在本申请的一些实施例中,基于以上技术方案,所述零值组合单元包括:
空白矩阵建立子单元,被配置为建立与所述反量化数据相对应的空白矩阵;
非零数据填充子单元,被配置为根据所述非零区域在所述量化数据中的区域位置信息,将所述源域非零数据填充至所述空白矩阵的矩阵列中;
零值填充子单元,被配置为将所述空白矩阵中除所述源域非零数据之外的其他矩阵列填充为零值,并将填充数值后的所述空白矩阵确定为源域反变换数据。
在本申请的一些实施例中,基于以上技术方案,所述第二解码单元包括:
第二矩阵运算子单元,被配置为将所述源域反变换数据与所述反变换矩阵的转置矩阵进行矩阵乘运算,得到所述视频图像的重构数据。
在本申请的一些实施例中,基于以上技术方案,所述第二解码单元包括:
数据转置子单元,被配置为对所述源域反变换数据进行转置处理,得到源域反变换转置数据;
第三矩阵运算子单元,被配置为将所述反变换矩阵与所述源域反变换转置数据进行矩阵乘运算,得到二次反变换数据;
对所述二次反变换数据进行转置处理,得到所述视频图像的重构数据。
在本申请的一些实施例中,基于以上技术方案,所述量化数据获取模块包括:
图像获取单元,被配置为获取待编码的视频图像;
预测编码单元,被配置为对所述视频图像进行预测编码,得到所述视频图像的残差数据;
变换编码单元,被配置为对所述残差数据进行变换编码,得到所述视频图像的变换域数据;
量化编码单元,被配置为对所述变换域数据进行量化编码,得到所述视频图像的量化数据。
在本申请的一些实施例中,基于以上技术方案,所述量化数据获取模块包括:
原始数据获取单元,被配置为获取对视频图像进行编码处理得到的原始编码数据;
熵解码单元,被配置为对所述原始编码数据进行熵解码,得到所述视频图像的量化数据。
在本申请的一些实施例中,基于以上技术方案,所述非零区域确定模块包括:
非零行列确定单元,被配置为根据所述非零值位置信息,将所述量化数据中包括非零值的矩阵行确定为非零行,并将所述量化数据中包括非零值的矩阵列确定为非零列;
非零区域确定单元,被配置为根据所述非零行以及所述非零列的数量关系,将所述非零行或者所述非零列确定为所述量化数据中的非零区域。
在本申请的一些实施例中,基于以上技术方案,所述非零区域确定单元包括:
第一区域确定子单元,被配置为若所述非零行的数量大于或等于所述非零列的数量,则将所述非零列确定为所述量化数据的非零区域;
第二区域确定子单元,被配置为若所述非零行的数量小于所述非零列的数量,则将所述非零行确定为所述量化数据的非零区域。
根据本申请实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的数据处理方法。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行如以上技术方案中的数据处理方法。
根据本申请实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的数据处理方法。
在本申请实施例提供的技术方案中,通过对量化数据的非零区域进行检测,可以仅对非零区域对应的反量化数据进行反变换编码,从而简化反变换编码的计算过程,根据量化数据中非零区域的分布情况动态地降低反变换编码的计算时长和算力需求,从而可以提高计算速度、节约计算资源。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性地示出了应用本申请技术方案的示例性系统架构框图。
图2示意性地示出了本申请实施例在一应用场景中使用的视频编解码系统的架构框图。
图3示意性地示出了本申请一些实施例中编码器的组成结构框图。
图4示意性地示出了一个矩阵乘运算的完整运算过程原理图。
图5示意性地示出了基于并行流水计算的矩阵乘运算过程原理图。
图6示意性地示出了基于零值检测简化的矩阵乘运算过程原理图。
图7示意性地示出了本申请一些实施例中的数据处理方法的步骤流程图。
图8示意性地示出了本申请实施例提供的数据处理装置的结构框图。
图9示意性示出了适于用来实现本申请实施例的电子设备的计算机系统结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示意性地示出了应用本申请技术方案的示例性系统架构框图。
如图1所示,系统架构100可以包括终端设备110、网络120和服务器130。终端设备110可以包括智能手机、平板电脑、笔记本电脑、台式电脑等各种电子设备。服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。网络120可以是能够在终端设备110和服务器130之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路或者无线通信链路。
根据实现需要,本申请实施例中的系统架构可以具有任意数目的终端设备、网络和服务器。例如,服务器130可以是由多个服务器设备组成的服务器群组。另外,本申请实施例提供的技术方案可以应用于终端设备110,也可以应用于服务器130,或者可以由终端设备110和服务器130共同实施,本申请对此不做特殊限定。
举例而言,在一网络视频播放的应用场景中,当用户利用终端设备110浏览视频播放网站或者视频播放APP时,可以通过点击播放某一视频向服务器130发送一获取相应网络视频的视频获取请求。服务器130响应于该视频获取请求,可以通过网络120向终端设备110传输经过编码压缩后的视频编码数据,然后由终端设备110对视频编码数据进行解码还原后,可以向用户呈现重构得到的视频画面。
又例如,在一网络直播的应用场景中,网络主播可以利用终端设备110实时地进行图像采集以形成直播视频,并对采集到的直播视频图像进行编码处理后得到视频编码数据,该视频编码数据将通过网络120上传至服务器130。服务器130可以继续通过网络120将接收到的视频编码数据分发至正在观看本次网络直播的各个直播观众的终端设备110处,然后再由相应的终端设备110对视频编码数据进行解码还原后,向直播观众呈现重构得到直播画面。
图2示意性地示出了本申请实施例在一应用场景中使用的视频编解码系统的架构框图。如图2所示,视频编解码系统200可以包括编码端210和解码端220,编码端210产生经编码后的视频编码数据,解码端220可对由编码端210所产生的经编码后的视频编码数据进行解码。编码端210、解码端220或两个的各种实施方案可包含一或多个处理器以及耦合到所述一或多个处理器的存储器。所述存储器可包含但不限于只读存储器(read-onlymemory,ROM)、随机存取存储器(random accessmemory,RAM)、可擦写可编程只读存储器(erasable programmable read-only memory,EPROM)、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体。编码端210和解码端220可以分别包括如图1所示的终端设备110。
虽然图2将编码端210和解码端220绘示为单独的设备,但设备实施例也可以同时包括编码端210和解码端220。在此类实施例中,可以使用相同的硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施编码端210或其对应的功能以及解码端220或其对应的功能。
编码端210和解码端220之间可通过链路230进行通信连接,解码端220可经由链路230从编码端210接收视频编码数据。链路230可包括能够将视频编码数据从编码端210移动到解码端220的一或多个媒体或装置。在一个实施例中,链路230可包括使得编码端210能够实时将经视频编码后的数据直接发射到解码端220的一个或多个通信媒体。在该实施例中,编码端210可根据通信标准(例如无线通信协议)来调制视频编码数据,且可将经调制的视频编码数据发射到解码端220。所述一个或多个通信媒体可包含无线和/或有线通信媒体,例如射频(RF)频谱或一个或多个物理传输线。所述一个或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一个或多个通信媒体可包含路由器、交换器、基站或促进从编码端210到解码端220的通信的其它设备。
编码端210包括编码器211,另外可选地,编码端210还可以包括图像源212、图像预处理器213、以及编码端通信接口214。在具体实现形态中,所述编码器211、图像源212、图像预处理器213、以及编码端通信接口214可能是编码端210中的硬件部件,也可能是编码端210中的软件程序。下面分别对编码端210的各个组成部分做简要说明。
图像源212,可以包括或可以为任何类别的图像捕获设备,用于例如捕获现实世界图像,和/或任何类别的图像或评论生成设备(对于屏幕内容编码,屏幕上的一些文字也认为是待编码的图像或图像的一部分)。图像源212可以为用于捕获图像的相机或者用于存储图像的存储器,图像源212还可以包括存储先前捕获或产生的图像和/或获取或接收图像的任何类别的接口。当所述图像源212包括接口时,该接口例如可以是从外部视频源接收图像的外部接口,外部视频源例如为外部图像捕获设备,比如相机、外部存储器或外部图像生成设备,外部图像生成设备例如为外部计算机图形处理器、计算机或服务器。该接口可以是根据任何专有或标准化接口协议的任何类别的接口,例如有线或无线接口、光接口等等。
其中,图像可以视为像素点的二维阵列或矩阵。阵列中的像素点也可以称为采样点(sample)。阵列或图像在水平和垂直方向上的采样点数目定义了图像的尺寸和/或分辨率。为了表示颜色,通常采用三个颜色分量,即图像可以表示为或包含三个采样阵列。例如在RBG颜色空间中,图像包括对应的红色、绿色及蓝色采样阵列。但是,在视频编码中,每个像素通常以亮度/色度格式或颜色空间表示,例如对于YUV格式的图像,包括Y指示的亮度分量以及U和V指示的两个色度分量。亮度(luma)分量Y表示亮度或灰度水平强度(例如,在灰度等级图像中两者相同),而两个色度(chroma)分量U和V表示色度或颜色信息分量。相应地,YUV格式的图像包括亮度采样值(Y)的亮度采样阵列,和色度值(U和V)的两个色度采样阵列。RGB格式的图像可以转换或变换为YUV格式,反之亦然,该过程也称为色彩变换或转换。如果图像是黑白的,该图像可以只包括亮度采样阵列。
图像预处理器213,用于接收图像源212传送的原始图像数据,并对原始图像数据执行预处理。例如,图像预处理器213执行的预处理可以包括整修、色彩格式转换(例如,从RGB格式转换为YUV格式)、调色或去噪等等。
编码器211,用于接收预处理后的图像数据,并对其进行编码处理后得到相应的编码数据。
编码端通信接口214,可用于接收编码数据,并可通过链路230将编码数据传输至解码端220或任何其它设备(如存储器或其他解码设备),以用于存储或直接重构。编码端通信接口214可以将编码数据封装成合适的格式,例如数据包,以在链路230上进行传输。
解码端220包括解码器221,另外可选地,解码端220还可以包括解码端通信接口222、图像后处理器223和显示设备224。下面分别对解码端220的各个组成部分做简要说明。
解码端通信接口222,可用于从编码端210或任何其它数据源(如存储设备)接收编码数据。解码端通信接口222可以用于藉由编码端210和解码端220之间的链路230或藉由任何类别的网络接收编码数据,链路230例如为有线连接或无线连接,网络例如为有线或无线网络或其任何组合,或任何类别的私网、公网或其任何组合。解码端通信接口222可以例如用于解封装编码端通信接口214所传输的数据包以获取其中封装的编码数据。
解码端通信接口222和编码端通信接口214都可以配置为单向通信接口或者双向通信接口。
解码器221,用于接收由解码端通信接口222传送的编码数据并对其进行解码处理,得到重构图像数据。
图像后处理器223,用于对重构图像数据执行后处理。图像后处理器223执行的后处理例如可以包括:色彩格式转换(例如,从YUV格式转换为RGB格式)、调色、整修或重采样,或任何其它处理,还可用于将经过后处理的重构图像数据传输至显示设备224。
显示设备224,用于接收经过后处理的重构图像数据以向用户或观看者显示图像。显示设备224例如可以包括液晶显示器(liquid crystal display,LCD)、有机发光二极管(organic light emitting diode,OLED)显示器、等离子显示器、投影仪、微LED显示器、硅基液晶(liquid crystal on silicon,LCoS)、数字光处理器(digital light processor,DLP)或任何类别的其它显示器。
编码器211和解码器221均可以实施为各种合适电路中的任一个,例如,一个或多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件实施所述技术,则设备可将软件的指令存储于合适的非暂时性计算机可读存储介质中,且可使用一个或多个处理器以硬件执行指令从而执行本申请的技术。
图3示意性地示出了本申请一些实施例中编码器的组成结构框图。如图3所示,编码器主要可以包括预测单元310、变换量化单元320、反变换反量化单元330、率失真优化单元340、环路滤波单元350和熵编码单元360。其中,预测单元310、变换量化单元320和熵编码单元360组成编码器的前向信号路径,反变换反量化单元330、率失真优化单元340和环路滤波单元350组成编码器的后向信号路径。后向信号路径与解码器的结构相对应,用于实现对视频图像的重构。
预测单元310用于对输入的视频图像进行预测编码,预测编码的方式例如可以包括帧内编码(Intra Coding)和帧间编码(Inter Coding)。帧内编码是利用视频图像在空间域上的相关性,对视频图像内相邻像素点的像素差值进行预测编码以去除视频图像的空间冗余。帧间编码是利用视频图像在时间域上的相关性,对同一像素点在相邻视频图像之间的像素差值进行预测编码以去除视频图像的时间冗余。
变换量化单元320用于对经过预测编码的视频图像进行变换编码和量化编码。其中,变换编码例如可以采用离散余弦变换(Discrete Cosine Transform,DCT)或者离散正弦变换(Discrete Sine Transform,DST)以在变换域中获取变换系数。变换量化单元320可以用于应用DCT/DST的整数近似值,例如为HEVC/H.265指定的变换。与正交DCT变换相比,这种整数近似值通常由某一因子按比例缩放。为了维持经正变换和反变换处理的图像的范数,应用额外比例缩放因子作为变换过程的一部分。比例缩放因子通常是基于某些约束条件选择的,例如,比例缩放因子是用于移位运算的2的幂、变换系数的位深度、准确性和实施成本之间的权衡等等。
量化编码例如可以通过应用标量量化或向量量化来量化变换系数,以获取量化变换系数Coeff。量化编码可以减少与部分或全部变换系数有关的位深度。例如,可在量化编码期间将n位变换系数向下舍入到m位变换系数,其中n大于m。可通过调整量化参数(quantization parameter,QP)修改量化程度。例如,对于标量量化,可以应用不同的标度来实现较细或较粗的量化。较小量化步长对应较细量化,而较大量化步长对应较粗量化。可以通过量化参数(quantizationparameter,QP)指示合适的量化步长。例如,量化参数可以为合适的量化步长的预定义集合的索引。例如,较小的量化参数可以对应精细量化(较小量化步长),较大量化参数可以对应粗糙量化(较大量化步长),反之亦然。根据例如HEVC的一些标准的实施例可以使用量化参数来确定量化步长。一般而言,可以基于量化参数使用包含除法的等式的定点近似来计算量化步长。可以引入额外比例缩放因子来进行量化和反量化,以恢复可能由于在用于量化步长和量化参数的等式的定点近似中使用的标度而修改的视频图像的范数。在一些可选的实施方式中,可以合并反变换和反量化的标度。或者,可以使用自定义量化表并在例如比特流中将其从编码器通过信号发送到解码器。量化是有损操作,其中量化步长越大,损耗越大。
反变换反量化单元330用于执行与变换量化单元320相对应的逆过程,实现对量化变换系数Coeff的反量化解码和反变换解码。反量化解码的过程例如可以使用与变换量化单元320相同的量化步长,应用与变换量化单元320的量化方案相对应的逆量化方案对量化变换系数Coeff进行反量化编码。反变换解码的过程可以使用与变换量化单元320相对应的逆变换方案对经过反量化编码后的量化变换系数Coeff进行反变换编码,例如可以使用反离散余弦变换(discrete cosine transform,DCT)或反离散正弦变换(discretesinetransform,DST),以将量化变换系数Coeff由变换域还原至源域,重构视频图像。
率失真优化单元340用于针对视频编码所需的编码码率优化图像失真度。其中的图像失真度例如可以采用原始图像与重构图像之间的峰值性噪比(Peak signal-to-noiseRatio,PSNR)来衡量,峰值性噪比PSNR可以是亮度PSNR,也可以是亮度与色度PSNR的线性组合。一般最简单的情况下,采用亮度的PSNR(Y-PSNR)来作为主要衡量依据。其中峰值信号是图像中像素的最大值(例如像素亮度的最大值);噪声信号指的是原始图像与重构图像中各像素值的均方差。取峰值信号与噪声信号的比值,再转换成分贝形式即可得到峰值性噪比PSNR。其中的编码码率,指的是选取不同编码参数、量化参数、预测模式时最终所需传输的运动矢量、参考帧编号、预测残差值等总体编码数据的多少。率失真优化单元340的目标在于,在以尽可能小的编码码率下获取尽可能少的图像失真度。
环路滤波单元350用于对源域的重构图像进行滤波处理,从而顺利进行像素转变或提高视频质量。环路滤波单元350旨在表示一个或多个环路滤波器,例如去块滤波器DBLK、样本自适应偏移(sample-adaptive offset,SAO)滤波器。另外也可以包括其它滤波器,例如双边滤波器、自适应环路滤波器(adaptive loop filter,ALF)、锐化或平滑滤波器、协同滤波器等等。
熵编码单元360用于实现熵编码算法或方案以去除视频图像的编码冗余。例如,可以采用可变长度编码(variable lengthcoding,VLC)方案、上下文自适应VLC(contextadaptive VLC,CAVLC)方案、算术编码方案、上下文自适应二进制算术编码(contextadaptive binary arithmetic coding,CABAC)、基于语法的上下文自适应二进制算术编码(syntax-based context-adaptivebinary arithmetic coding,SBAC)、概率区间分割熵(probability intervalpartitioning entropy,PIPE)编码或其它熵编码方法或技术。经过熵编码单元360可以通过输出编码比特流的形式输出视频编码数据。
本申请实施例提供的技术方案主要可以应用于编码器211中的反变换反量化单元330,实现对反变换编码过程进行计算优化。另外,也可以应用于解码器的类似结构单元中。
下面结合图4~图6,以一个4*4的矩阵乘运算作为示例来说明本申请技术方案实现计算优化的方案原理。其中,图4示意性地示出了一个矩阵乘运算的完整运算过程原理图。如图4所示,矩阵H与矩阵X进行矩阵乘运算后得到矩阵R。矩阵H的每个矩阵行分别与矩阵X的每个矩阵列进行乘法运算后得到矩阵R的组成元素。
图5示意性地示出了基于并行流水计算的矩阵乘运算过程原理图。如图5所示,提取组成矩阵X的4个矩阵列,将矩阵H并行地与矩阵X的各个矩阵列进行矩阵乘运算可,得到相应的矩阵R的矩阵列。
图6示意性地示出了基于零值检测简化的矩阵乘运算过程原理图。如图6所示,如果矩阵X中某一列或几列为全0值时,则矩阵R中相应的矩阵列也为全0值。假设图中矩阵X的2/3/4列已知为0值,则矩阵R在矩阵X的第一列完成运算后就已经确定了,即原来计算需要4拍X输入现在只需要1拍就可,得到矩阵R,这样计算周期就由原来的4拍缩减为1拍。
在高效率视频编码算法HEVC(High Efficiency Video Coding,即H.265视频编码标准)中采用的是二维反变换,反变换公式可以表示为矩阵运算:R=H*X*HT,其中H为用于进行反变换解码的反变换矩阵,T表示矩阵转置,X为Coeff输入矩阵。从公式中可以看到X经过两级矩阵乘计算来实现反变换。而通过大量实验和观察,量化后的Coeff数据会有大概率的0值出现,且规律符合图6所示的计算加速流程,即X中某一列或几列为全0值的情况,因此将本申请技术方案在反变换编码过程中使用,可以大幅提高计算速度,节约计算资源。
下面结合具体实施方式对本申请提供的数据处理方法、数据处理装置、计算机可读介质以及电子设备等技术方案做出详细说明。
图7示意性地示出了本申请一些实施例中的数据处理方法的步骤流程图。该数据处理方法可以应用于终端设备,例如由图2所示的编码端或者解码端执行。如图7所示,该数据处理方法包括如下的步骤S710~步骤S740。
步骤S710:获取对视频图像进行编码处理得到的量化数据,量化数据为包括零值和非零值的数值矩阵。
步骤S720:获取非零值在量化数据中的非零值位置信息,并根据非零值位置信息确定量化数据中的非零区域,非零区域为数值矩阵中的矩阵行或矩阵列。
步骤S730:对量化数据进行反量化解码,得到反量化数据。
步骤S740:根据非零区域对反量化数据进行反变换解码,得到视频图像的重构数据。
在本申请实施例提供的数据处理方法中,通过对量化数据的非零区域进行检测,可以仅对非零区域对应的反量化数据进行反变换编码,从而简化反变换编码的计算过程,根据量化数据中非零区域的分布情况动态地降低反变换编码的计算时长和算力需求,从而可以提高计算速度、节约计算资源。
下面分别对以上实施例中数据处理方法的部分步骤做详细说明。
在步骤S710中,获取对视频图像进行编码处理得到的量化数据,量化数据为包括零值和非零值的数值矩阵。
当本申请实施例应用于编码端时,量化数据可以是对原始视频图像进行预测编码、变换编码以及量化编码后得到的数据。在一些可选的实施方式中,可以先获取待编码的视频图像,然后通过图3所示的预测单元310对视频图像进行预测编码,得到视频图像的残差数据。再通过变换量化单元320可以对残差数据进行变换编码,得到视频图像的变换域数据,对变换域数据进行量化编码,得到视频图像的量化数据。其中,变换编码是将以空间域中像素形式描述的图像转换至变换域,以变换系数的形式表示变换域数据的编码方法,例如可以采用离散余弦变换DCT或者离散正弦变换DST对空间域的视频图像转换至变换域得到相应的变换域数据。
当本申请实施例应用于解码端时,量化数据可以是对编码端传送而来的编码数据进行熵解码后得到的数据。在一些可选的实施方式中,可以先获取对视频图像进行编码处理得到的原始编码数据,然后对原始编码数据进行熵解码,得到视频图像的量化数据。
在步骤S720中,获取非零值在量化数据中的非零值位置信息,并根据非零值位置信息确定量化数据中的非零区域,非零区域为数值矩阵中的矩阵行或矩阵列。
在一些可选的实施方式中,可以直接将量化数据中非零值所在的矩阵行或者矩阵列确定为非零区域。具体选择矩阵行还是矩阵列可以根据实际计算需求来确定。例如,本申请实施例可以根据非零值位置信息,将量化数据中包括非零值的矩阵行确定为非零行,并将量化数据中包括非零值的矩阵列确定为非零列;然后根据非零行以及非零列的数量关系,将非零行或者非零列确定为量化数据中的非零区域。
举例而言,若非零行的数量大于或等于非零列的数量,则将非零列确定为量化数据的非零区域;若非零行的数量小于非零列的数量,则将非零行确定为量化数据的非零区域。
在本申请实施例中,通过比较非零行和非零列的数量,可以选取二者之中数量较少的一种作为量化数据的非零区域,从而灵活地进行计算优化,提高优化效果。
在步骤S740中,根据非零区域对反量化数据进行反变换解码,得到视频图像的重构数据。
在一些可选的实施方式中,根据非零区域进行反变换解码实现图像重构的方法可以包括如下的步骤S741~步骤S744。
步骤S741:根据非零区域对反量化数据进行数据提取,得到反量化数据中的变换域非零数据。
本步骤可以分别获取每个非零区域在量化数据中的区域位置信息,然后根据区域位置信息对反量化数据进行数据提取,得到反量化数据中的变换域非零数据。
以非零区域为量化数据中的非零列为例,在量化数据中,可以分别获取每个非零列的列标识col_num作为区域位置信息。基于区域位置信息可以在反量化数据中进行数据提取得到相应的变换域非零数据。举例而言,量化数据为一4*4矩阵,其中第1列为非零列,而其他矩阵列的元素全为0值。那么可以根据列标识1从反量化数据中提取第一列数据作为变换域非零数据。
在一些可选的实施方式中,还可以为量化数据中最后一处非零区域的区域位置信息添加区域终止标识。如此一来,在对反量化数据进行数据提取时,可以依次根据各个区域位置信息对反量化数据进行数据提取,得到反量化数据中的变换域非零数据,直至检测到区域终止标识。
步骤S742:对变换域非零数据进行反变换解码,得到源域非零数据。
以非零区域为数值矩阵中的矩阵列为例,本步骤可以先获取用于对反量化数据进行反变换解码的反变换矩阵,然后将反变换矩阵与变换域非零数据进行矩阵乘运算,得到源域非零数据,即使用反变换矩阵左乘变换域非零数据得到源域非零数据。在其他一些实施方式中,若非零区域为数值矩阵中的矩阵行,则可以交换反变换矩阵与变换域非零数据在矩阵乘运算中的位置,即使用变换域非零数据左乘反变换矩阵,以满足矩阵运算规则。
步骤S743:将源域非零数据与零值组合得到源域反变换数据。
针对非零区域进行反变换解码得到的源域非零数据为解码结果的部分数据。若非零区域为矩阵行,则得到的源域非零数据为相应的矩阵行。若非零区域为矩阵列,则得到的源域非零数据为相应的矩阵列。在得到源域非零数据后,还需要进行零值填充,才可,得到完整的源域反变换数据。
在一些可选的实施方式中,本步骤可以建立与反量化数据相对应的空白矩阵,根据非零区域在量化数据中的区域位置信息,将源域非零数据填充至空白矩阵的矩阵列中,然后将空白矩阵中除源域非零数据之外的其他矩阵列填充为零值。将填充数值后的空白矩阵确定为源域反变换数据。
步骤S744:对源域反变换数据进行反变换解码,得到视频图像的重构数据。
本步骤用于对源域反变换数据再次进行反变换解码以实现二维反变换。基于上文所述的HEVC编码算法中的二维反变换可以表示为基于矩阵乘运算的过程:R=H*X*HT。由以上步骤可以经过一次反变换解码得到源域反变换数据H*X,本步骤将源域反变换数据H*X与反变换矩阵的转置矩阵HT进行矩阵乘运算,得到视频图像的重构数据。
在另一些可选的实施方式中,本步骤可以先对源域反变换数据H*X进行转置处理,得到源域反变换转置数据,即(H*X)T。然后再将反变换矩阵H与源域反变换转置数据(H*X)T进行矩阵乘运算,得到二次反变换数据H*(H*X)T。最后再对二次反变换数据H*(H*X)T进行转置处理,得到视频图像的重构数据。基于该实施方式可以实现单指令流多数据流(SingleInstruction Multiple Data,SIMD),从而实现数据级并行(Data Level Parallel,DLP)计算。基于SIMD技术可以实现采用一个控制器来控制多个处理器,同时对一组数据(又称“数据矢量”)中的每一个分别执行相同的操作,从而实现空间上的并行性。
当维度为N的Coeff矩阵在n列上有数据时,未使用简化方式实现的计算方法需要2N个计算周期(二维反变换);而根据本申请的实现方法,只需要“n+N”个计算周期,其中第一维的反变换编码计算只需要n个周期,第二维的反变换编码计算需要N个周期,节省周期数为“2N-(n+N)=N-n”。在一些简单场景的高QP图像编码中,通常Coeff矩阵中只有1~2个非零Coeff值,该反变换实现方式的优化作用更加明显。
由于反变换计算单元速度加快,本申请可以在更短的时间得到重构像素,加速了编码计算过程;而且同样数量的反变换计算单元可以为更多预测单元提供算力,从而实现资源的共享,减少物理计算资源的消耗。
为验证本申请技术方案的计算优化效果,下面选取分辨率为1920*1088的一帧视频图像作为示例,对大小为16*16的变换单元(Transform Unit,TU)进行反变换编码计算。该帧视频图像共有510个最大编码单元(Largest Coding Unit,LCU),81600个变换单元TU。其中,非全0 Coeff系数的矩阵为33486个,非全0 Coeff系数的矩阵列数为64651个。
按照16 pixel并行输入反变换计算单元,在使用传统的反变换编码算法进行处理时,二维反变换编码的计算周期需要33486*16*2=1071552。使用本申请提供的数据处理方法进行二维反变换编码计算时,计算周期需要64651+33486*16=600427(第一维度矩阵乘的非全0 coeff列数个周期+第二维度矩阵乘周期)。由此可见,本申请技术方案相比于传统的反变换编码方法可以节省计算周期471125个,处理效率提高了44%。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的数据处理方法。图8示意性地示出了本申请实施例提供的数据处理装置的结构框图。如图8所示,数据处理装置800主要可以包括:
量化数据获取模块810,被配置为获取对视频图像进行编码处理得到的量化数据,量化数据为包括零值和非零值的数值矩阵;
非零区域确定模块820,被配置为获取非零值在量化数据中的非零值位置信息,并根据非零值位置信息确定量化数据中的非零区域,非零区域为数值矩阵中的矩阵行或矩阵列;
反量化解码模块830,被配置为对量化数据进行反量化解码,得到反量化数据;
反变换解码模块840,被配置为根据非零区域对反量化数据进行反变换解码,得到视频图像的重构数据。
在本申请的一些实施例中,基于以上各实施例,反变换解码模块包括:
数据提取单元,被配置为根据非零区域对反量化数据进行数据提取,得到反量化数据中的变换域非零数据;
第一解码单元,被配置为对变换域非零数据进行反变换解码,得到源域非零数据;
零值组合单元,被配置为将源域非零数据与零值组合得到源域反变换数据;
第二解码单元,被配置为对源域反变换数据进行反变换解码,得到视频图像的重构数据。
在本申请的一些实施例中,基于以上各实施例,数据提取单元包括:
位置获取子单元,被配置为分别获取每个非零区域在量化数据中的区域位置信息;
数据提取子单元,被配置为根据区域位置信息对反量化数据进行数据提取,得到反量化数据中的变换域非零数据。
在本申请的一些实施例中,基于以上各实施例,数据提取子单元包括:
标识添加子单元,被配置为为量化数据中最后一处非零区域的区域位置信息添加区域终止标识;
提取终止子单元,被配置为依次根据各个区域位置信息对反量化数据进行数据提取,得到反量化数据中的变换域非零数据,直至检测到区域终止标识。
在本申请的一些实施例中,基于以上各实施例,非零区域为数值矩阵中的矩阵列;第一解码单元包括:
矩阵获取子单元,被配置为获取用于对反量化数据进行反变换解码的反变换矩阵;
第一矩阵运算子单元,被配置为将反变换矩阵与变换域非零数据进行矩阵乘运算,得到源域非零数据。
在本申请的一些实施例中,基于以上各实施例,零值组合单元包括:
空白矩阵建立子单元,被配置为建立与反量化数据相对应的空白矩阵;
非零数据填充子单元,被配置为根据非零区域在量化数据中的区域位置信息,将源域非零数据填充至空白矩阵的矩阵列中;
零值填充子单元,被配置为将空白矩阵中除源域非零数据之外的其他矩阵列填充为零值,并将填充数值后的空白矩阵确定为源域反变换数据。
在本申请的一些实施例中,基于以上各实施例,第二解码单元包括:
第二矩阵运算子单元,被配置为将源域反变换数据与反变换矩阵的转置矩阵进行矩阵乘运算,得到视频图像的重构数据。
在本申请的一些实施例中,基于以上各实施例,第二解码单元包括:
数据转置子单元,被配置为对源域反变换数据进行转置处理,得到源域反变换转置数据;
第三矩阵运算子单元,被配置为将反变换矩阵与源域反变换转置数据进行矩阵乘运算,得到二次反变换数据;
对二次反变换数据进行转置处理,得到视频图像的重构数据。
在本申请的一些实施例中,基于以上各实施例,量化数据获取模块包括:
图像获取单元,被配置为获取待编码的视频图像;
预测编码单元,被配置为对视频图像进行预测编码,得到视频图像的残差数据;
变换编码单元,被配置为对残差数据进行变换编码,得到视频图像的变换域数据;
量化编码单元,被配置为对变换域数据进行量化编码,得到视频图像的量化数据。
在本申请的一些实施例中,基于以上各实施例,量化数据获取模块包括:
原始数据获取单元,被配置为获取对视频图像进行编码处理得到的原始编码数据;
熵解码单元,被配置为对原始编码数据进行熵解码,得到视频图像的量化数据。
在本申请的一些实施例中,基于以上各实施例,非零区域确定模块包括:
非零行列确定单元,被配置为根据非零值位置信息,将量化数据中包括非零值的矩阵行确定为非零行,并将量化数据中包括非零值的矩阵列确定为非零列;
非零区域确定单元,被配置为根据非零行以及非零列的数量关系,将非零行或者非零列确定为量化数据中的非零区域。
在本申请的一些实施例中,基于以上各实施例,非零区域确定单元包括:
第一区域确定子单元,被配置为若非零行的数量大于或等于非零列的数量,则将非零列确定为量化数据的非零区域;
第二区域确定子单元,被配置为若非零行的数量小于非零列的数量,则将非零行确定为量化数据的非零区域。
本申请各实施例中提供的数据处理装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
图9示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。
需要说明的是,图9示出的电子设备的计算机系统900仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理器901(Central Processing Unit,CPU),其可以根据存储在只读存储器902(Read-Only Memory,ROM)中的程序或者从存储部分908加载到随机访问存储器903(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器903中,还存储有系统操作所需的各种程序和数据。中央处理器901、在只读存储器902以及随机访问存储器903通过总线904彼此相连。输入/输出接口905(Input /Output接口,即I/O接口)也连接至总线904。
以下部件连接至输入/输出接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至输入/输出接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理器901执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (24)
1.一种数据处理方法,其特征在于,包括:
获取对视频图像进行编码处理得到的量化数据,所述量化数据为包括零值和非零值的数值矩阵;
获取所述非零值在所述量化数据中的非零值位置信息,根据所述非零值位置信息,将所述量化数据中包括非零值的矩阵行确定为非零行,并将所述量化数据中包括非零值的矩阵列确定为非零列;根据所述非零行以及所述非零列的数量关系,将所述非零行或者所述非零列确定为所述量化数据中的非零区域;
对所述量化数据进行反量化解码,得到反量化数据;
根据所述非零区域的区域位置信息对所述反量化数据进行反变换解码,得到所述视频图像的重构数据;所述区域位置信息为所述非零列的列标识或者所述非零行的行标识。
2.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述非零区域对所述反量化数据进行反变换解码,得到所述视频图像的重构数据,包括:
根据所述非零区域对所述反量化数据进行数据提取,得到所述反量化数据中的变换域非零数据;
对所述变换域非零数据进行反变换解码,得到源域非零数据;
将所述源域非零数据与零值组合得到源域反变换数据;
对所述源域反变换数据进行反变换解码,得到所述视频图像的重构数据。
3.根据权利要求2所述的数据处理方法,其特征在于,所述根据所述非零区域对所述反量化数据进行数据提取,得到所述反量化数据中的变换域非零数据,包括:
分别获取每个所述非零区域在所述量化数据中的区域位置信息;
根据所述区域位置信息对所述反量化数据进行数据提取,得到所述反量化数据中的变换域非零数据。
4.根据权利要求3所述的数据处理方法,其特征在于,所述根据所述区域位置信息对所述反量化数据进行数据提取,得到所述反量化数据中的变换域非零数据,包括:
为所述量化数据中最后一处非零区域的区域位置信息添加区域终止标识;
依次根据各个所述区域位置信息对所述反量化数据进行数据提取,得到所述反量化数据中的变换域非零数据,直至检测到所述区域终止标识。
5.根据权利要求2所述的数据处理方法,其特征在于,所述非零区域为所述数值矩阵中的矩阵列;所述对所述变换域非零数据进行反变换解码,得到源域非零数据,包括:
获取用于对所述反量化数据进行反变换解码的反变换矩阵;
将所述反变换矩阵与所述变换域非零数据进行矩阵乘运算,得到源域非零数据。
6.根据权利要求5所述的数据处理方法,其特征在于,所述将所述源域非零数据与零值组合得到源域反变换数据,包括:
建立与所述反量化数据相对应的空白矩阵;
根据所述非零区域在所述量化数据中的区域位置信息,将所述源域非零数据填充至所述空白矩阵的矩阵列中;
将所述空白矩阵中除所述源域非零数据之外的其他矩阵列填充为零值,并将填充数值后的所述空白矩阵确定为源域反变换数据。
7.根据权利要求5所述的数据处理方法,其特征在于,所述对所述源域反变换数据进行反变换解码,得到所述视频图像的重构数据,包括:
将所述源域反变换数据与所述反变换矩阵的转置矩阵进行矩阵乘运算,得到所述视频图像的重构数据。
8.根据权利要求5所述的数据处理方法,其特征在于,所述对所述源域反变换数据进行反变换解码,得到所述视频图像的重构数据,包括:
对所述源域反变换数据进行转置处理,得到源域反变换转置数据;
将所述反变换矩阵与所述源域反变换转置数据进行矩阵乘运算,得到二次反变换数据;
对所述二次反变换数据进行转置处理,得到所述视频图像的重构数据。
9.根据权利要求1所述的数据处理方法,其特征在于,所述获取对视频图像进行编码处理得到的量化数据,包括:
获取待编码的视频图像;
对所述视频图像进行预测编码,得到所述视频图像的残差数据;
对所述残差数据进行变换编码,得到所述视频图像的变换域数据;
对所述变换域数据进行量化编码,得到所述视频图像的量化数据。
10.根据权利要求1所述的数据处理方法,其特征在于,所述获取对视频图像进行编码处理得到的量化数据,包括:
获取对视频图像进行编码处理得到的原始编码数据;
对所述原始编码数据进行熵解码,得到所述视频图像的量化数据。
11.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述非零行以及所述非零列的数量关系,将所述非零行或者所述非零列确定为所述量化数据中的非零区域,包括:
若所述非零行的数量大于或等于所述非零列的数量,则将所述非零列确定为所述量化数据的非零区域;
若所述非零行的数量小于所述非零列的数量,则将所述非零行确定为所述量化数据的非零区域。
12.一种数据处理装置,其特征在于,包括:
量化数据获取模块,被配置为获取对视频图像进行编码处理得到的量化数据,所述量化数据为包括零值和非零值的数值矩阵;
非零区域确定模块,被配置为获取所述非零值在所述量化数据中的非零值位置信息,根据所述非零值位置信息,将所述量化数据中包括非零值的矩阵行确定为非零行,并将所述量化数据中包括非零值的矩阵列确定为非零列;根据所述非零行以及所述非零列的数量关系,将所述非零行或者所述非零列确定为所述量化数据中的非零区域;
反量化解码模块,被配置为对所述量化数据进行反量化解码,得到反量化数据;
反变换解码模块,被配置为根据所述非零区域的区域位置信息对所述反量化数据进行反变换解码,得到所述视频图像的重构数据;所述区域位置信息为所述非零列的列标识或者所述非零行的行标识。
13.根据权利要求12所述的数据处理装置,其特征在于,所述反变换解码模块包括:
数据提取单元,被配置为根据所述非零区域对所述反量化数据进行数据提取,得到所述反量化数据中的变换域非零数据;
第一解码单元,被配置为对所述变换域非零数据进行反变换解码,得到源域非零数据;
零值组合单元,被配置为将所述源域非零数据与零值组合得到源域反变换数据;
第二解码单元,被配置为对所述源域反变换数据进行反变换解码,得到所述视频图像的重构数据。
14.根据权利要求13所述的数据处理装置,其特征在于,所述数据提取单元包括:
位置获取子单元,被配置为分别获取每个所述非零区域在所述量化数据中的区域位置信息;
数据提取子单元,被配置为根据所述区域位置信息对所述反量化数据进行数据提取,得到所述反量化数据中的变换域非零数据。
15.根据权利要求14所述的数据处理装置,其特征在于,所述数据提取子单元包括:
标识添加子单元,被配置为为所述量化数据中最后一处非零区域的区域位置信息添加区域终止标识;
提取终止子单元,被配置为依次根据各个所述区域位置信息对所述反量化数据进行数据提取,得到所述反量化数据中的变换域非零数据,直至检测到所述区域终止标识。
16.根据权利要求13所述的数据处理装置,其特征在于,所述非零区域为所述数值矩阵中的矩阵列;所述第一解码单元包括:
矩阵获取子单元,被配置为获取用于对所述反量化数据进行反变换解码的反变换矩阵;
第一矩阵运算子单元,被配置为将所述反变换矩阵与所述变换域非零数据进行矩阵乘运算,得到源域非零数据。
17.根据权利要求16所述的数据处理装置,其特征在于,所述零值组合单元包括:
空白矩阵建立子单元,被配置为建立与所述反量化数据相对应的空白矩阵;
非零数据填充子单元,被配置为根据所述非零区域在所述量化数据中的区域位置信息,将所述源域非零数据填充至所述空白矩阵的矩阵列中;
零值填充子单元,被配置为将所述空白矩阵中除所述源域非零数据之外的其他矩阵列填充为零值,并将填充数值后的所述空白矩阵确定为源域反变换数据。
18.根据权利要求16所述的数据处理装置,其特征在于,所述第二解码单元包括:
第二矩阵运算子单元,被配置为将所述源域反变换数据与所述反变换矩阵的转置矩阵进行矩阵乘运算,得到所述视频图像的重构数据。
19.根据权利要求16所述的数据处理装置,其特征在于,所述第二解码单元包括:
数据转置子单元,被配置为对所述源域反变换数据进行转置处理,得到源域反变换转置数据;
第三矩阵运算子单元,被配置为将所述反变换矩阵与所述源域反变换转置数据进行矩阵乘运算,得到二次反变换数据;
对所述二次反变换数据进行转置处理,得到所述视频图像的重构数据。
20.根据权利要求12所述的数据处理装置,其特征在于,所述量化数据获取模块包括:
图像获取单元,被配置为获取待编码的视频图像;
预测编码单元,被配置为对所述视频图像进行预测编码,得到所述视频图像的残差数据;
变换编码单元,被配置为对所述残差数据进行变换编码,得到所述视频图像的变换域数据;
量化编码单元,被配置为对所述变换域数据进行量化编码,得到所述视频图像的量化数据。
21.根据权利要求12所述的数据处理装置,其特征在于,所述量化数据获取模块包括:
原始数据获取单元,被配置为获取对视频图像进行编码处理得到的原始编码数据;
熵解码单元,被配置为对所述原始编码数据进行熵解码,得到所述视频图像的量化数据。
22.根据权利要求21所述的数据处理装置,其特征在于,所述非零区域确定单元包括:
第一区域确定子单元,被配置为若所述非零行的数量大于或等于所述非零列的数量,则将所述非零列确定为所述量化数据的非零区域;
第二区域确定子单元,被配置为若所述非零行的数量小于所述非零列的数量,则将所述非零行确定为所述量化数据的非零区域。
23.一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至11中任意一项所述的数据处理方法。
24.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至11中任意一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010790930.7A CN111741302B (zh) | 2020-08-07 | 2020-08-07 | 数据处理方法、装置、计算机可读介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010790930.7A CN111741302B (zh) | 2020-08-07 | 2020-08-07 | 数据处理方法、装置、计算机可读介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111741302A CN111741302A (zh) | 2020-10-02 |
CN111741302B true CN111741302B (zh) | 2021-05-14 |
Family
ID=72658249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010790930.7A Active CN111741302B (zh) | 2020-08-07 | 2020-08-07 | 数据处理方法、装置、计算机可读介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111741302B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112731301B (zh) * | 2020-12-29 | 2023-06-09 | 北京环境特性研究所 | 一种圆盘形杂波模拟测量的干扰抑制方法及装置 |
CN113079377B (zh) * | 2021-04-01 | 2022-09-30 | 中国科学技术大学 | 一种深度图像/视频压缩网络的训练方法 |
WO2023011005A1 (zh) * | 2021-08-04 | 2023-02-09 | 上海哔哩哔哩科技有限公司 | 图像处理方法及装置、电子设备和存储介质 |
CN115982398B (zh) * | 2023-03-13 | 2023-05-16 | 苏州浪潮智能科技有限公司 | 图结构数据处理方法、系统、计算机设备和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938654B (zh) * | 2010-08-17 | 2013-04-10 | 浙江大学 | 一种变换系数的优化量化方法及装置 |
WO2012051033A1 (en) * | 2010-10-14 | 2012-04-19 | Thomson Licensing | Method and apparatus for improved entropy encoding and decoding |
US9747255B2 (en) * | 2011-05-13 | 2017-08-29 | Texas Instruments Incorporated | Inverse transformation using pruning for video coding |
KR101955374B1 (ko) * | 2011-06-30 | 2019-05-31 | 에스케이 텔레콤주식회사 | 고속 코딩 단위(Coding Unit) 모드 결정을 통한 부호화/복호화 방법 및 장치 |
US10390046B2 (en) * | 2011-11-07 | 2019-08-20 | Qualcomm Incorporated | Coding significant coefficient information in transform skip mode |
US20190356915A1 (en) * | 2017-01-03 | 2019-11-21 | Lg Electronics Inc. | Method and apparatus for encoding/decoding video signal using secondary transform |
CN108574849B (zh) * | 2017-11-21 | 2020-11-20 | 北京金山云网络技术有限公司 | Dct逆变换方法、逆变换装置、电子设备及存储介质 |
-
2020
- 2020-08-07 CN CN202010790930.7A patent/CN111741302B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111741302A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111741302B (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
JP6749922B2 (ja) | 高効率ビデオ符号化(hevc)画面コンテンツ符号化(scc)における改善されたパレットモード | |
KR20220116339A (ko) | 루마 및 크로마 성분에 대한 ibc 전용 버퍼 및 디폴트 값 리프레싱을 사용하는 인코더, 디코더 및 대응하는 방법들 | |
CN112235577B (zh) | 色度块的预测方法和装置 | |
CN103782598A (zh) | 用于无损编码的快速编码方法 | |
CN111405287B (zh) | 色度块的预测方法和装置 | |
CN104041035A (zh) | 用于复合视频的无损编码及相关信号表示方法 | |
WO2020103800A1 (zh) | 视频解码方法和视频解码器 | |
US20140119456A1 (en) | Encoding video into lower resolution streams | |
US10277905B2 (en) | Transform selection for non-baseband signal coding | |
CN113170202B (zh) | 用于构建应用多假设预测的块的mpm列表的编码器、解码器及相应方法 | |
US10812832B2 (en) | Efficient still image coding with video compression techniques | |
WO2023040600A1 (zh) | 图像编码方法、图像解码方法、装置、电子设备及介质 | |
EP3571841A1 (en) | Dc coefficient sign coding scheme | |
CN113660489B (zh) | 用于帧内子划分的解码方法、装置、解码器和存储介质 | |
US10382767B2 (en) | Video coding using frame rotation | |
Žádník et al. | Image and video coding techniques for ultra-low latency | |
JP2023085337A (ja) | イントラ予測のためのクロスコンポーネント線形モデリングの方法、装置、デコーダ、エンコーダおよびプログラム | |
WO2024078066A1 (zh) | 视频解码方法、视频编码方法、装置、存储介质及设备 | |
CN111246208B (zh) | 视频处理方法、装置及电子设备 | |
CN110868590B (zh) | 图像划分方法及装置 | |
CN111182310A (zh) | 视频处理方法、装置、计算机可读介质及电子设备 | |
KR102657540B1 (ko) | 변환 프로세스를 위해 사용되는 인코더, 디코더 및 대응하는 방법 | |
RU2801326C2 (ru) | Кодер, декодер и соответствующие способы, использующие выделенный буфер ibc, и значение по умолчанию, обновляющее компонент яркости и цветности | |
CN110944180B (zh) | 色度块预测方法及装置 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40030103 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |