CN113055691A - 视频解码器及其制造方法,数据处理电路、系统和方法 - Google Patents

视频解码器及其制造方法,数据处理电路、系统和方法 Download PDF

Info

Publication number
CN113055691A
CN113055691A CN202110405296.5A CN202110405296A CN113055691A CN 113055691 A CN113055691 A CN 113055691A CN 202110405296 A CN202110405296 A CN 202110405296A CN 113055691 A CN113055691 A CN 113055691A
Authority
CN
China
Prior art keywords
circuit
data
data processing
processing circuit
processing
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.)
Withdrawn
Application number
CN202110405296.5A
Other languages
English (en)
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.)
SZ DJI Technology Co Ltd
Original Assignee
SZ DJI 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 SZ DJI Technology Co Ltd filed Critical SZ DJI Technology Co Ltd
Priority to CN202110405296.5A priority Critical patent/CN113055691A/zh
Publication of CN113055691A publication Critical patent/CN113055691A/zh
Withdrawn legal-status Critical Current

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/436Methods 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 using parallelised computational 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/124Quantisation
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

提供一种数据处理电路、数据处理系统和数据处理电路的数据处理方法。所述数据处理电路包括:第一接口电路,用于与所述数据处理电路的后级电路相连;处理电路,用于检测所述后级电路发送的就绪信号,当检测到所述就绪信号有效时,开始对目标数据进行处理,并将处理后的数据发送至所述后级电路。本申请实施例中,在接收到后级电路发送的就绪信号之后,数据处理电路作为前级电路,开始对数据进行处理。换句话说,前级电路的数据处理过程的启动可以由后级电路发送的就绪信号控制。这种数据处理和交互方式可以保证数据的正确传输,避免在视频解码器中引入复杂的控制逻辑或引入过多的存储资源。

Description

视频解码器及其制造方法,数据处理电路、系统和方法
本申请是申请日为2017年12月29日、中国申请号为201780022445.1、发明名称为“视频解码器及其制造方法,数据处理电路、系统和方法”的发明申请的分案申请。
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本申请涉及视频编解码领域,并且更为具体地,涉及一种视频解码器及其制造方法,数据处理方法、电路及系统。
背景技术
视频编解码技术可以对视频数据进行压缩,从而方便视频数据的存储和传输。目前,视频编解码技术广泛应用于各个领域,如移动终端领域,无人机图传领域等。
视频解码过程可以理解为视频编码过程的逆过程,通常包括码流分割、熵解码、逆量化、逆变换等操作。
视频解码效率是视频解码器的重要衡量标准,如何提高视频解码效率一直是业界的研究热点。
发明内容
本申请提供一种视频解码器及其制造方法,数据处理电路、系统和方法,以提高视频解码效率。
第一方面,提供一种视频解码器,包括:码流分割电路,用于对接收到的码流进行分割,得到多个子码流;处理电路,包含多个处理单元,多个所述处理单元用于对多个所述子码流进行并行的熵解码和逆量化,得到逆量化数据;逆变换电路,用于对所述逆量化数据进行逆变化,得到逆变换数据;输出电路,用于根据所述逆变换数据,输出解码后的视频信息。
第二方面,提供一种制造视频解码器的方法,包括:提供用于对接收到的码流进行分割的码流分割电路,以得到多个子码流;在所述码流分割电路的输出端设置处理电路,所述处理电路包含多个处理单元,多个所述处理单元并行地对多个所述子码流进行熵解码和逆量化,得到逆量化数据;在所述处理电路的输出端设置逆变换电路,以对所述逆量化数据进行逆变化,得到逆变换数据;在所述逆变换电路的输出端设置输出电路,以根据所述逆变换数据,输出解码后的视频信息。
第三方面,提供一种数据处理电路,包括:第一接口电路,用于与所述数据处理电路的后级电路相连;处理电路,用于检测所述后级电路发送的就绪信号,当检测到所述就绪信号有效时,开始对目标数据进行处理,并将处理后的数据发送至所述后级电路。
第四方面,提供一种数据处理系统,包括依次连接的多个处理电路,且至少部分所述处理电路为如第三方面所述的数据处理电路。
第五方面,提供一种数据处理电路的数据处理方法,所述数据处理电路包括第一接口电路和处理电路,所述第一接口电路用于与后级电路相连;所述数据处理方法包括:所述处理电路检测所述后级电路发送的就绪信号;当检测到所述就绪信号有效时,所述处理电路开始对目标数据进行处理,并将处理后的数据发送至所述后级电路。
本申请引入并行的多个处理单元,能够对子码流进行并行处理,从而能够提高视频解码效率。
附图说明
图1是本申请一个实施例提供的视频解码器的示意性结构图。
图2为视频中的图像帧、条带、码流、子码流的关系示例图。
图3是图1中的处理单元的示意性结构图。
图4是图3中的VLD电路的示意性结构图。
图5是图3中的逆量化电路的示意性结构图。
图6是本申请另一实施例提供的视频解码器的示意性结构图。
图7是图1中的输出电路的示意性结构图。
图8是本申请一个实施例提供的处理电路和逆变换电路的连接方式示例图。
图9是本申请另一实施例提供的处理电路和逆变换电路的连接方式示例图。
图10是数据处理系统中的前级电路和后级电路的交互方式的示意图。
图11是本申请实施例提供的前级电路的逻辑时序的示意图。
图12是本申请实施例提供的前级电路的逻辑时序图。
图13是本申请实施例提供的制造视频解码器的方法的示意性流程图。
图14是本申请实施例提供的数据处理电路的示意性结构图。
图15是本申请实施例提供的数据处理系统的示意性结构图。
图16是本申请实施例提供的数据处理方法的示意性流程图。
具体实施方式
为了便于理解,先对视频编解码的过程进行介绍。
视频编码器通常可以包括分割电路、变换域编码电路、量化电路、编码电路、码流输出电路等。可选地,视频编码器还可以包括滤波电路、码率控制电路等。
分割电路可以将待编码的图像帧分割为一个或多个可独立编解码的数据单元,并以该数据单元为单位进行独立的编码处理。分割电路分割出的数据单元可以是图像帧中的一块图像。该一块图像例如可以称为条带(slice)。后文主要以条带为例进行说明。
变换域编码电路可以将待编码的数据转换至频域,从频域的角度减小图像数据的相关性(如空间相关性),以降低码率。变换域编码对应的变换方式可以有多种,如傅里叶变换或离散余弦变换(discrete cosine transform,DCT)变换等。
量化电路主要利用人眼对高频信号敏感度较低的特性,将图像数据中的部分高频信息舍弃,从而将变换编码后的数值限定在一定范围内,以进一步降低码率。
编码电路可以采用行程编码、熵编码等编码方式对图像数据进行编码。行程编码和熵编码均属于无损编码。行程编码可以充分利用相邻图像块的特性,将图像块以run-level两个因子表示,从而进一步简化数据。熵编码例如可以是霍夫曼(Huffman)编码,也可以是算术编码等。熵编码可以将高频数据以更少的码流表示,以实现高频数据的无损压缩。
码率控制电路通常采用预测等方式计算待编码的条带所采用的量化值。码率控制电路可以在码流头部添加头部信息,从而将码流打包输出。
上文列举的视频编码器的电路是从功能上划分的功能电路,实际上,不同功能电路可以由同一或不同硬件电路实现,本申请实施例对此并不限定。
视频解码过程为视频编码过程的逆过程,通常包含码流分割、熵解码、逆量化、逆变换等操作。为了提高视频解码效率,下面结合图1,详细描述本申请实施例提供的视频解码器10。
如图1所示,视频解码器10通常可以包括码流分割电路12、处理电路14、逆变换电路16以及输出电路18。
码流分割电路12有时也可称为流随机存取存储器控制(stream random accessmemory control,stream RAM control)电路。码流分割电路12可用于对接收到的码流进行分割,得到多个子码流(或称码流块)。子码流可以独立解码。子码流例如可以是条带数据被编码后得到的码流。相应地,该子码流也可称为编码后的条带流(slice coded stream)。
图像帧、条带、码流、子码流的关系与图像帧的尺寸、视频采用的编解码协议等因素有关,本申请实施例对此并不限定。下面结合图2,以4K 444规格的视频为例进行举例说明。如图2中的(a)所示,4K 444规格的视频中的图像帧的尺寸为4096×2160。如图2中的(b)所示,针对该图像帧,可以以128×16为单位进行划分,共得到4320个条带,其中每个条带可以独立编解码。图像中的像素通常包含多个分量(component),如RGB分量,或YUV分量,如图2的(c)所示。对图2的(a)中的图像帧编码后,可以得到具有如图2中的(d)所示的封装格式的码流。该码流包含图像帧的帧头(frame header),该帧头对应的帧数据可以包含4320个子码流形成的码流信息。图2中的(d)示出了子码流的一种封装格式,从图2中的(d)可以看出,子码流可以包含条带头(slice header)以及Y、U、V分量对应的码流信息。
处理电路14有时也可称为码流解码电路(或称PE unit,其中PE为processelement的缩写)。处理电路14可以包含多个处理单元142。多个处理单元142可用于对多个子码流进行熵解码和逆量化,得到逆量化数据。多个处理单元142对多个子码流的熵解码过程可以并行进行;和/或多个处理单元142对多个子码流的逆量化过程可以并行进行。
以编码端采用行程编码的方式进行熵编码为例,如图3所示,在处理电路142中,可以先利用可变长度解码器(variable length decoder,VLD)电路144将不等长的子码流解码成等长的字符(例如可以根据字典等信息进行解码)。然后,可以利用逆量化电路146将VLD电路144解码得到的字符(例如可以包含直流分量(direct component,DC)系数和/或形成编码得到的LEVEL信息)乘以量化因子,得到逆量化数据。接着,可以基于Run信息,在地址控制器的控制下将逆量化数据写入到RAM的对应地址中,以还原变换后、量化前的条带数据。
进一步地,在一些实施例中,处理单元142可用于对相应的子码流(即该处理单元142所处理的子码流)中的数据沿各个颜色分量进行并行的熵解码和/或并行的逆量化。
不同图像域的颜色分量不同,本申请实施例对颜色分量的形式并不限定。例如可以包含亮度分量和/或色度分量。作为一个示例,图像数据为RGB颜色空间的图像数据,图像数据的颜色分量为R分量、G分量、B分量。作为另一个示例,图像数据为YUV颜色空间的图像数据,图像数据的颜色分量为Y分量、U分量、V分量。
以YUV颜色空间为例,如图4所示,VLD电路144可以进一步划分为VLD单元144a,VLD单元144b,VLD单元144c。VLD单元144a,VLD单元144b,VLD单元144c可分别用于对图像数据的Y分量、U分量和V分量进行独立的可变长度解码。
逆变换电路16(可以包括一个或多个逆变换器)可用于对处理电路14输出的逆量数据进行逆变换(inverse transform)。逆变换方式可以有多种,如逆离散余弦变换(inverse discrete cosine transformation,IDCT)或逆傅里叶变换等。
仍以YUV颜色空间为例,如图5所示,逆量化电路146可以进一步划分为逆量化单元146a,逆量化单元146b,逆量化单元146c。逆量化单元146a,逆量化单元146b,逆量化单元146c可分别用于对数据的Y分量(包括Y分量对应的DC系数和/或LEVEL信息)、U分量(包括U分量对应的DC系数和/或LEVEL信息)和V分量(包括V分量对应的DC系数和/或LEVEL信息)进行独立的逆量化。应理解,图5是以逆量化电路146包含三个逆量化单元,且三个逆量化单元分别用于处理不同颜色分量对应的逆量化数据为例进行说明的,但本申请实施例对逆量化电路146中包含的逆量化单元的数量,以及每个逆量化单元处理的颜色分量的数量不做具体限定。例如,逆量化电路146可以包含一个逆量化单元,该逆量化单元可以处理三个颜色分量对应的逆量化数据。又如,逆量化电路146可以包含两个逆量化单元,其中一个逆量化单元可以处理两个颜色分量对应的逆量化数据,另一个逆量化单元可以处理剩余的一个颜色分量对应的逆量化数据。
输出电路18有时也可称为写存储器存取单元(write memory access unit,WRMAU)。输出电路18可用于输出解码后的视频信息。例如,输出电路18可以通过外部传输线路(如高级可扩展接口(advanced eXtensible interface,AXI)总线)将解码后的视频信息输出(比如将解码后的视频信息写出至内存或视频的回放模块中)。
本申请实施例引入并行的多个处理单元,能够对子码流进行并行处理,从而能够提高视频解码效率。
可选地,在一些实施例中,在逆变化电路16对数据进行处理之后,输出电路18输出解码后的视频信息之前,还可以对逆变换之后的图像数据进行图像域变换,以在不同图像域对图像数据进行处理。例如,可以将图像数据从YUV域变换为RGB域进行处理,反之亦可。
可选地,如图6所示,视频解码器10还可以包括对外的软件配置接口17,如高级外围总线(advanced peripheral bus,APB)接口或AXI-Lite接口。通过该软件配置接口17,可以对视频解码器10的配置寄存器(configuration register,CFG REG,图中未示出)进行配置,从而可以调整或控制视频解码器10的解码方式。
可选地,如图6所示,视频解码器10还可以包括码流读取电路11。码流读取电路11有时也可称为流存储器存取单元(stream memory access unit,stream MAU)。码流读取电路11可以使用如AXI总线或其他类型的数据传输线路,将码流读入到视频解码器10中,并解析码流中的头信息(header信息)。
输出电路18可以包括一个输出接口(或一组输出接口),也可以包括多个输出接口(或多组输出接口)。以视频解码器10通过总线(如AXI总线)与系统中的其他部件相连为例,该输出接口也可称为写总线接口或写接口。当输出电路18包括多个输出接口(或多组输出接口)时,视频解码器10还可包括:开关电路(图中未示出)。该开关电路可用于控制至少一个输出接口(或至少一组输出接口)的导通与关断的。开关电路的控制方式可以有多种,例如,可以人工控制,也可以基于检测电路对视频解码器10或视频解码器10所处的系统的环境信息进行检测,并根据检测到的环境信息自动地对输出接口进行通断控制。该环境信息例如可以包括以下信息:与总线相连的输出接口的吞吐率,视频解码器所处的系统的工作频率,视频解码器的工作频率以及码流中的图像数据的格式。
如图7所示,可以为输出电路18预先设置2个输出接口,即图7中的写总线接口1和写总线接口2。视频解码器10可以根据实际需要选择1个输出接口或2个输出接口工作。当2个输出接口同时工作时,视频解码器10可以通过该2个输出接口将解码后的视频信息并行输出,以提高输出视频信息的效率。
本申请实施例可以根据实际情况配置视频解码器的输出接口的数量,使得解码后的视频信息的输出方式更加灵活。
逆变化电路16可以实现并行的多点逆变换,逆变换的点数与逆变换电路16的规格或部署方式有关,本申请实施例对此并不限定。以需要实现8×8的逆变换为例,作为一个示例,可以通过部署两个规格为一维(1D)逆变换器分别做行列变换实现8点每周期(或8point/cycle)的并行逆变换;作为另一个示例,可以通过部署一个一维逆变换器实现4点每周期(或4point/cycle)的并行逆变换,待逆变换的数据可以分时复用该一维逆变换器;作为另一个示例,可以通过部署一个更快的你变换器或者多个较慢的逆变换器来实现16点每周期的并行逆变换。由于逆变换器能够对数据进行多点并行处理,因此,通常而言,比一个逆变换器对逆变换数据的处理要快于处理电路14中的一个处理单元142对子码流的处理速度。如果不对二者的处理速度进行匹配,则可能会浪费逆变换电路16的处理资源。下面结合具体的实施例,详细描述本申请实施例提供的处理电路14和逆变换电路16之间的速率匹配方案。
可选地,逆变换电路16可以包括多个逆变换器,其中不同逆变换器用于处理子码流的不同颜色分量。
例如,作为一种实现方式,该逆变换器连接的处理单元的数量X可以等于M1与N1相除的结果向上取整。M1可以表示处理单元完成一个子码流的一个颜色分量的处理所需的时间(或所需的最长时间),N1可以表示逆变换器完成一个子码流的一个颜色分量的处理所需的时间。
应理解,X、M1、N1的具体取值可以与子码流中的条带的尺寸以及逆变换器的规格有关,本申请对此并不限定。以子码流中的条带的尺寸为128x16,逆变换器为4点每周期的IDCT为例进行举例说明。由于IDCT的规格是4点每周期,则IDCT完成一个条带数据的一个颜色分量的逆变换通常需要512个周期。处理单元142完成一个条带数据的解码最多需要4096个周期。由于4096/512的结果等于8,因此,如图9所示,可以将8个处理单元142(即图9中的处理单元142a至处理单元142h)与3个IDCT相连,使得该8个处理单元142与3个4点每周期的IDCT的速率相匹配。利用图9所示的速率匹配结果,有助于实现8K 444@30fps规格视频实时解码。
可选地,逆变换电路16可以包括一个逆变换器。该逆变换器可用于对一个子码流的三个颜色分量进行处理。
作为一种实现方式,该逆变换器连接的处理单元的数量Y可以等于M2与N2相除的结果向上取整。其中M2可以表示处理单元完成一个子码流的一个颜色分量的处理所需的时间(或所需的最长时间),N2可以表示逆变换器完成一个子码流的三个颜色分量的处理所需的时间。
应理解,Y、M2、N2的具体取值与子码流中的条带的尺寸以及逆变换器的规格有关,本申请对此并不限定。以子码流中的条带的尺寸为128x16,逆变换器为IDCT为例进行举例说明。由于IDCT的规格是8点每周期,则IDCT完成一个条带数据(包括Y、U、V三个分量的数据)的逆变换通常需要768个周期(256×3=768个周期)。处理单元142完成一个条带的解码最多需要4096个周期。由于4096/768的结果向上取整等于6,因此,如图8所示,可以将6个处理单元142(即图8中的处理单元142a至处理单元142f)与一个8点每周期的IDCT相连,使得该6个处理单元142与该一个IDCT的速率相匹配。利用图8所示的速率匹配结构,有助于实现4K 444@60fps或6K444@30fps规格视频实时解码。
参见图1,视频解码器10中,通常会设置依次连接的多个数据处理电路(或称多个模块),如码流分割电路12、处理电路14,逆变换电路16等。视频解码器10中,相邻的两个数据处理电路互为前后级电路。以数据处理电路为图1中的逆变换电路16为例,则逆变换电路16的前级电路为处理电路14;相应地,处理电路14的后级电路为逆变换电路16。
如图10所示,前级电路和后级电路可以通过接口相连。以后级电路视角来看,通用的接口信号一般包括数据信号(也可称为input data),数据有效信号(也可称为inputdata valid)以及就绪信号(output ready)。前级电路可以将处理完的数据传递至后级电路,供后级电路继续处理。后级电路可以通过就绪信号向前级电路反馈状态,以指示该后级电路是否准备好接收前级电路传递的数据信号。例如,当后级电路的就绪信号有效时,可以从前级电路接收数据信号和数据有效信号,否则后级电路不接收前级电路发送的数据信号和数据有效信号。
由于就绪信号与数据有效信号对应,当就绪信号无效时,需要及时控制前级电路暂缓处理(stall住),或者可以在前级电路额外引入额外的存储资源(如RAM),以缓存部分输出结果。前一种做法需要在前级电路引入更多的控制或处理逻辑,如果前级电路内部的流水级较多,这种做法会导致前级电路的控制复杂,从而导致前级电路的移植性、扩展性差。后一种做法会增加视频解码器的存储资源的消耗。
为了解决上述问题,本申请实施例提供的视频解码器10中的数据处理电路可以被配置为执行以下操作:检测数据处理电路的后级电路发送的就绪信号;当检测到就绪信号有效时,开始对目标数据进行处理,并将处理后的数据发送至后级电路。可选地,数据处理电路还可被配置为:数据处理电路对目标数据的处理时间与处理后的数据的发送时间部分重叠。二者之间的重叠时间可以由数据处理电路内部的流水级决定,本申请实施例对此并不限定。
本申请实施例中,在接收到后级电路发送的就绪信号之后,前级电路开始对数据进行处理。换句话说,前级电路的数据处理过程的启动可以由后级电路发送的就绪信号控制。这种数据处理和交互方式可以保证数据的正确传输,避免在视频解码器中引入复杂的控制逻辑或引入过多的存储资源。
图11和图12示出了本申请实施例提供的数据处理电路内部流水线的逻辑时序。如图11和图12所示,数据处理电路首先检查后级电路的就绪信号的状态;当就绪信号有效时(图11中的就绪表示就绪信号有效),数据处理电路开始处理数据包,并在经过一定延迟(该延迟的时间取决于数据处理电路内部的流水级的结构,因此,该延迟也可称为流水延迟(pipeline delay),本申请实施例对此并不限定)之后,输出处理后的数据包给后级电路。数据处理电路重复上述过程,直到处理完所有的数据。
本申请实施例相当于引入了一种以数据包为单位的整体握手和数据交互方式。数据包可以理解为相同类型的一组数据。以数据处理电路为如图1所示的码流分割电路12为例,数据包可以是待分割的码流数据。以数据处理电路为如图1所示的逆变换电路16为例,数据包可以是处理电路14输出的逆量化数据。
上文结合图1至图12,详细描述了本申请实施例提供的视频解码器,下面结合图13,详细描述本申请实施例提供的制造视频解码器的方法。应理解,方法实施例与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面装置实施例。
图13是本申请实施例提供的制造视频解码器的方法的示意性流程图。图13的方法可以包括步骤1310-1340,下面对这些步骤进行详细描述。
在步骤1310中,提供用于对接收到的码流进行分割的码流分割电路,以得到多个子码流。
在步骤1320中,在码流分割电路的输出端设置处理电路。
该处理电路可以包含多个处理单元。多个处理单元可并行地对多个子码流进行熵解码和逆量化,得到逆量化数据。
在步骤1330中,在处理电路的输出端设置逆变换电路,以对逆量化数据进行逆变化,得到逆变换数据。
在步骤1340中,在逆变换电路的输出端设置输出电路,以根据逆变换数据,输出解码后的视频信息。
可选地,至少一个处理单元可用于对相应的子码流中的数据沿各个颜色分量进行并行的熵解码和逆量化。
可选地,颜色分量可以包括RGB颜色空间的颜色分量,或YUV颜色空间的颜色分量。
可选地,逆变换电路被可配置为:逆变换电路对逆量化数据的处理速度与处理电路对多个子码流的处理速度相匹配。
可选地,逆变换电路包括至少一个逆变换器,在处理电路的输出端设置逆变换电路。图13的方法还可包括:将逆变换器与多个处理单元相连。
可选地,逆变换器对应的处理单元的数量可以是基于以下因素中的至少一个确定的:逆变换器的变换速率,处理电路的数据处理速率,子码流的数据量,子码流的编码复杂度。
可选地,逆变换电路可以包括一个逆变换器。上述将逆变换器与多个处理单元相连可以包括:将逆变换器与6个处理单元相连。该逆变换器可用于从6个处理单元接收各个颜色分量对应的逆量化数据,并对各个颜色分量对应的逆量化数据执行8点每周期的一维逆变换。
可选地,逆变换电路可以包括并行的3个逆变换器。上述将逆变换器与多个处理单元相连可以包括:将逆变换器与8个处理单元相连。逆变换器可用于从8个处理单元接收一个颜色分量对应的逆量化数据,并对一个颜色分量对应的逆量化数据执行4点每周期的一维逆变换。
可选地,输出电路可以包括多个输出接口。图13的方法还可包括:提供开关电路,以控制至少一个输出接口的导通与关断。
可选地,图13的方法还可包括:提供检测电路,以检测以下信息中的至少一种:与总线相连的输出接口的吞吐率,视频解码器所处的系统的工作频率,视频解码器的工作频率以及码流中的图像数据的格式。开关电路可用于根据检测电路检测到的信息,控制至少一个输出接口的导通与关断。
可选地,视频解码器中的数据处理电路可被配置为执行以下操作:检测数据处理电路的后级电路发送的就绪信号;当检测到就绪信号有效时,开始对目标数据进行处理,并将处理后的数据发送至后级电路。
可选地,数据处理电路可被配置为:数据处理电路对目标数据的处理时间与处理后的数据的发送时间部分重叠。
可选地,数据处理电路和后级电路可以通过数据线和数据有效线相连,上述将处理后的数据发送至后级电路可以包括:当数据有效线上的信号有效时,通过数据线向后级电路发送处理后的数据。
在数据处理系统中(如图1所示的视频解码器10即为一种典型的数据处理系统),通常会设置多个数据处理电路(或称多个模块)形成数据流的流水线,如图1所示的码流分割电路12、处理电路14,逆变换电路16等。视频解码器10中,相邻的两个数据处理电路互为前后级电路。以数据处理系统为图1所示的视频解码器10,数据处理电路为图1中的逆变换电路16为例,则逆变换电路16的前级电路为处理电路14;相应地,处理电路14的后级电路为逆变换电路16。
前级电路和后级电路可以通过接口相连。以后级电路视角来看,通用的接口信号一般包括数据信号(也可称为input data),数据有效信号(也可称为input data valid)以及就绪信号(output ready)。前级电路可以将处理完的数据传递至后级电路,供后级电路继续处理。后级电路可以通过就绪信号向前级电路反馈状态,以指示该后级电路是否准备好接收前级电路传递的数据信号。例如,当后级电路的就绪信号有效时,可以从前级电路接收数据信号和数据有效信号,否则后级电路不接收前级电路发送的数据信号和数据有效信号。
由于就绪信号与数据有效信号对应,当就绪信号无效时,需要及时控制前级电路暂缓处理(stall住),或者可以在前级电路额外引入额外的存储资源(如RAM),以缓存部分输出结果。前一种做法需要在前级电路引入更多的控制或处理逻辑,如果前级电路内部的流水级较多,这种做法会导致前级电路的控制复杂,从而导致前级电路的移植性、扩展性差。后一种做法会增加数据处理系统的存储资源的消耗。
本申请实施例提供一种数据处理电路,以解决上述问题。应理解,该数据处理电路可应用于如上文描述的视频解码器10中,也可应用于其他任意类型的数据处理系统中,本申请实施例对此并不限定。
如图14所示,本申请实施例提供的数据处理电路1400可以包括第一接口电路1410和处理电路1420。第一接口电路1410可用于与数据处理电路1400的后级电路相连。处理电路1420可用于检测后级电路发送的就绪信号,当检测到就绪信号有效时,开始对目标数据进行处理,并将处理后的数据发送至后级电路。本申请实施例对处理电路1420将处理后的数据发送至后级电路的方式并不限定。例如,第一接口电路1410可以包括数据线和数据有效线,处理电路1420可用于当数据有效线上的信号有效时,通过数据线向后级电路发送处理后的数据。
本申请实施例中,在接收到后级电路发送的就绪信号之后,数据处理电路1400作为前级电路,开始对数据进行处理。换句话说,前级电路的数据处理过程的启动可以由后级电路发送的就绪信号控制。这种数据处理和交互方式可以保证数据的正确传输,避免在视频解码器中引入复杂的控制逻辑或引入过多的存储资源。
图11和图12示出了本申请实施例提供的数据处理电路内部流水线的逻辑时序。如图11和图12所示,数据处理电路首先检查后级电路的就绪信号的状态;当就绪信号有效时(图11中的就绪表示就绪信号有效),数据处理电路开始处理数据包,并在经过一定延迟(该延迟的时间取决于数据处理电路内部的流水级的结构,因此,该延迟也可称为流水延迟(pipeline delay),本申请实施例对此并不限定)之后,输出处理后的数据包给后级电路。数据处理电路重复上述过程,直到处理完所有的数据。
本申请实施例相当于引入了一种以数据包为单位的整体握手和数据交互方式。数据包可以理解为相同类型的一组数据。以数据处理电路为如图1所示的码流分割电路12为例,数据包可以是待分割的码流数据。
可选地,处理电路1420可以被配置为目标数据的处理时间与处理后的数据的发送时间部分重叠。二者之间的重叠时间可以由数据处理电路内部的流水级决定,本申请实施例对此并不限定。
可选地,数据处理电路1400还可包括第二接口电路。数据处理电路1400可以通过该第二接口电路与数据处理电路1400的前级电路相连。处理电路1420还可用于当接收到前级电路的数据时,将前级电路与数据处理电路的就绪信号设置为无效信号。本申请实施例中,数据处理电路1400作为后级电路,当收到其前级电路发送的数据包时,将该数据处理电路1400与该数据处理电路1400的前级电路之间的就绪信号无效掉,从而避免前级电路因控制流水的延迟导致就绪信号的状态的错误判断。
本申请实施例还提供一种数据处理系统。该数据处理系统可以是如上文描述的视频解码器10,也可以是其他类型的数据处理系统,本申请实施例对此并不限定。如图15所示,所述数据处理系统1500可以包括依次连接的多个数据处理电路1510,该多个处理电路1510中的至少部分处理电路为如图14所示的数据处理电路1400。
可选地,数据处理系统1500还可包括:多个输出接口;开关电路,用于控制至少一个输出接口的导通与关断。
可选地,数据处理系统1500还可包括:检测电路,用于检测以下信息中的至少一种:与总线相连的输出接口的吞吐率,数据处理系统所处的计算机系统的主工作频率,数据处理系统的工作频率以及数据处理系统所处理的数据的类型;开关电路用于根据检测电路检测到的信息,控制至少一个输出接口的导通与关断。
上文结合图14至图15,详细描述了本申请实施例提供的数据处理电路,下面结合图16,详细描述本申请实施例提供的数据处理电路的数据处理方法。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面装置实施例。
该数据处理电路可以包括第一接口电路和处理电路。第一接口电路可用于与后级电路相连。如图16所示,本申请实施例提供的数据处理电路的数据处理方法可以包括步骤1610-1620。
在步骤1610中,处理电路检测后级电路发送的就绪信号。
在步骤1620中,当检测到就绪信号有效时,处理电路开始对目标数据进行处理,并将处理后的数据发送至后级电路。
可选地,处理电路被配置为:对目标数据的处理时间与处理后的数据的发送时间部分重叠。
可选地,第一接口电路包括数据线和数据有效线。步骤1620可进一步包括:当数据有效线的信号为有效时,通过数据线向后级电路发送处理后的数据。
可选地,数据处理电路还可包括第二接口电路,第二接口电路用于与数据处理电路的前级电路相连。图16的方法还可包括:当接收到前级电路的数据时,处理电路将前级电路与数据处理电路的就绪信号设置为无效信号。
需要说明的是,在不冲突的前提下,本申请描述的各个实施例和/或各个实施例中的技术特征可以任意的相互组合,组合之后得到的技术方案也应落入本申请的保护范围。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (11)

1.一种数据处理电路,其特征在于,包括:
第一接口电路,用于与所述数据处理电路的后级电路相连;
处理电路,用于检测所述后级电路发送的就绪信号,当检测到所述就绪信号有效时,开始对目标数据进行处理,并将处理后的数据发送至所述后级电路。
2.如权利要求1所述的数据处理电路,其特征在于,所述处理电路被配置为所述目标数据的处理时间与所述处理后的数据的发送时间部分重叠。
3.如权利要求1或2所述的数据处理电路,其特征在于,所述第一接口电路包括数据线和数据有效线,所述处理电路用于当所述数据有效线上的信号有效时,通过所述数据线向所述后级电路发送所述处理后的数据。
4.如权利要求1-3中任一项所述的数据处理电路,其特征在于,所述数据处理电路还包括:
第二接口电路,用于与所述数据处理电路的前级电路相连;
所述处理电路还用于当接收到所述前级电路的数据时,将所述前级电路与所述数据处理电路的就绪信号设置为无效信号。
5.一种数据处理系统,其特征在于,包括依次连接的多个处理电路,且至少部分所述处理电路为如权利要求1-4中任一项所述的数据处理电路。
6.如权利要求5所述的数据处理系统,其特征在于,所述数据处理系统还包括:
多个输出接口;
开关电路,用于控制至少一个所述输出接口的导通与关断。
7.如权利要求6所述的数据处理系统,其特征在于,所述数据处理系统还包括:
检测电路,用于检测以下信息中的至少一种:与总线相连的输出接口的吞吐率,所述数据处理系统所处的计算机系统的主工作频率,所述数据处理系统的工作频率以及所述数据处理系统所处理的数据的类型;
所述开关电路用于根据所述检测电路检测到的信息,控制至少一个所述输出接口的导通与关断。
8.一种数据处理电路的数据处理方法,其特征在于,所述数据处理电路包括第一接口电路和处理电路,所述第一接口电路用于与后级电路相连;
所述数据处理方法包括:
所述处理电路检测所述后级电路发送的就绪信号;
当检测到所述就绪信号有效时,所述处理电路开始对目标数据进行处理,并将处理后的数据发送至所述后级电路。
9.如权利要求8所述的数据处理方法,其特征在于,所述处理电路被配置为:对所述目标数据的处理时间与所述处理后的数据的发送时间部分重叠。
10.如权利要求8或9所述的数据处理方法,其特征在于,所述第一接口电路包括数据线和数据有效线,
所述将处理后的数据发送至所述后级电路,包括:
当所述数据有效线的信号为有效时,通过所述数据线向所述后级电路发送所述处理后的数据。
11.如权利要求8-10中任一项所述的数据处理方法,其特征在于,所述数据处理电路还包括第二接口电路,所述第二接口电路用于与所述数据处理电路的前级电路相连,
所述数据处理方法还包括:
当接收到所述前级电路的数据时,所述处理电路将所述前级电路与所述数据处理电路的就绪信号设置为无效信号。
CN202110405296.5A 2017-12-29 2017-12-29 视频解码器及其制造方法,数据处理电路、系统和方法 Withdrawn CN113055691A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110405296.5A CN113055691A (zh) 2017-12-29 2017-12-29 视频解码器及其制造方法,数据处理电路、系统和方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/CN2017/120016 WO2019127432A1 (zh) 2017-12-29 2017-12-29 视频解码器及其制造方法,数据处理电路、系统和方法
CN201780022445.1A CN109076224B (zh) 2017-12-29 2017-12-29 视频解码器及其制造方法,数据处理电路、系统和方法
CN202110405296.5A CN113055691A (zh) 2017-12-29 2017-12-29 视频解码器及其制造方法,数据处理电路、系统和方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201780022445.1A Division CN109076224B (zh) 2017-12-29 2017-12-29 视频解码器及其制造方法,数据处理电路、系统和方法

Publications (1)

Publication Number Publication Date
CN113055691A true CN113055691A (zh) 2021-06-29

Family

ID=64812392

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110405296.5A Withdrawn CN113055691A (zh) 2017-12-29 2017-12-29 视频解码器及其制造方法,数据处理电路、系统和方法
CN201780022445.1A Active CN109076224B (zh) 2017-12-29 2017-12-29 视频解码器及其制造方法,数据处理电路、系统和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201780022445.1A Active CN109076224B (zh) 2017-12-29 2017-12-29 视频解码器及其制造方法,数据处理电路、系统和方法

Country Status (3)

Country Link
US (1) US20200322621A1 (zh)
CN (2) CN113055691A (zh)
WO (1) WO2019127432A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422986B (zh) * 2020-10-26 2023-12-22 眸芯科技(上海)有限公司 硬件解码器流水线优化方法及应用

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100562116B1 (ko) * 1997-11-28 2006-05-25 마츠시타 덴끼 산교 가부시키가이샤 처리 효율을 높인 영상음성 처리장치
US8422803B2 (en) * 2007-06-28 2013-04-16 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
KR102145782B1 (ko) * 2011-10-31 2020-08-19 미쓰비시덴키 가부시키가이샤 동화상 부호화 장치, 동화상 부호화 방법 및 컴퓨터 독취 가능한 기억 매체
WO2013128526A1 (ja) * 2012-02-28 2013-09-06 パナソニック株式会社 画像処理装置、及び、画像処理方法
JP6177148B2 (ja) * 2014-01-22 2017-08-09 Kddi株式会社 動画像復号装置、動画像復号方法、およびプログラム
CA2939434C (en) * 2014-03-04 2021-02-16 Microsoft Techology Licensing, Llc Adaptive switching of color spaces, color sampling rates and/or bit depths
GB2542511B (en) * 2014-09-19 2018-09-12 Imagination Tech Ltd Data compression
CN106210728B (zh) * 2015-04-10 2019-08-30 上海澜至半导体有限公司 用于视频解码的电路、方法和视频解码器

Also Published As

Publication number Publication date
US20200322621A1 (en) 2020-10-08
CN109076224B (zh) 2021-05-07
WO2019127432A1 (zh) 2019-07-04
CN109076224A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
TW583883B (en) System and method for multiple channel video transcoding
US5829007A (en) Technique for implementing a swing buffer in a memory array
US10958923B2 (en) Parallel video encoding
JP2019515561A5 (zh)
US8582646B2 (en) Methods for delta-QP signaling for decoder parallelization in HEVC
US20210006807A1 (en) Encoding apparatuses and systems
CN109076224B (zh) 视频解码器及其制造方法,数据处理电路、系统和方法
US8443413B2 (en) Low-latency multichannel video port aggregator
AU2019201683A1 (en) Techniques for high efficiency entropy coding of video data
KR101065546B1 (ko) 하드웨어 다중 표준 비디오 디코더 장치
US6928115B2 (en) Compression-encoded data decoding apparatus cross-reference to related applications
US20140044194A1 (en) Entropy coding techniques and protocol to support parallel processing with low latency
WO2014051745A1 (en) Entropy coding techniques and protocol to support parallel processing with low latency
WO2002087248A2 (en) Apparatus and method for processing video data
CN111862885B (zh) 一种内封ic的双向数据传输led控制方法、系统及存储介质
CN101835006A (zh) 一种数字电视接收设备及其视频数据解码方法
US8068681B2 (en) Method and system for pipelined processing in an integrated embedded image and video accelerator
WO2023231710A1 (zh) 一种图片的处理方法及相关设备
US8285774B2 (en) Operation method and apparatus for performing overlap filter and core transform
US20070192393A1 (en) Method and system for hardware and software shareable DCT/IDCT control interface
US11107252B2 (en) Image decoding device for expanding a partial image from an entire image
CN117354531A (zh) 一种视频数据的压缩方法、装置、终端设备和存储介质
CN114339226A (zh) 一种提高画面的流畅度的方法、装置及介质
JP2006041659A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20210629

WW01 Invention patent application withdrawn after publication