CN101490968A - 用于视频压缩的并行处理装置 - Google Patents

用于视频压缩的并行处理装置 Download PDF

Info

Publication number
CN101490968A
CN101490968A CNA200780027016XA CN200780027016A CN101490968A CN 101490968 A CN101490968 A CN 101490968A CN A200780027016X A CNA200780027016X A CN A200780027016XA CN 200780027016 A CN200780027016 A CN 200780027016A CN 101490968 A CN101490968 A CN 101490968A
Authority
CN
China
Prior art keywords
coding
carried out
macro block
macro
cataloged procedure
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.)
Granted
Application number
CNA200780027016XA
Other languages
English (en)
Other versions
CN101490968B (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.)
Sony Corp
Sony Electronics Inc
Original Assignee
Sony Corp
Sony Electronics Inc
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 Sony Corp, Sony Electronics Inc filed Critical Sony Corp
Publication of CN101490968A publication Critical patent/CN101490968A/zh
Application granted granted Critical
Publication of CN101490968B publication Critical patent/CN101490968B/zh
Expired - Fee Related 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/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/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/17Methods 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 an image region, e.g. an object
    • H04N19/176Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Abstract

在此描述了一种用于并行处理视频压缩的方法和装置。图像被垂直地划分为N个区,并且垂直分割并行(VSP)调配N+1个过程:用于N个区中的一般宏块编码的N个M编码过程和用于熵编码的一个E编码过程。通过将宏块编码过程划分为M编码过程和E编码过程,多个M编码线程和一个E编码线程能够通过线程之间适当同步而同时进行处理。因为每个宏块编码过程的M编码过程的工作负荷大于E编码的,所以能够将两个内核指定给两个M编码过程。因为E编码的工作负荷较轻,所以能够将所述内核的任一个指定给E编码过程。因此,VSP高效地利用了并行处理计算能力。

Description

用于视频压缩的并行处理装置
本专利申请要求2006年7月17日递交的序列号为60/831,614并且题为“Parallel Processing Apparatus of Video Compression”的未决美国临时专利申请的根据35U.S.C.§119(e)的优先权。2006年7月17日递交的序列号为60/831,614并且题为“Parallel Processing Apparatus of VideoCompression”的临时专利申请的全部内容也通过引用被结合于此。
技术领域
本发明涉及视频压缩领域。更具体地,本发明涉及利用并行处理器的视频压缩。
背景技术
视频序列包括多个图像,这些图像通常称作帧。连续的帧十分类似,因此从一帧到下一帧包含大量冗余信息。在经由信道被有效传输或者被存储在存储器中之前,视频数据被压缩以节约带宽和存储器二者。目的在于去除冗余信息以得到更好的压缩比。第一种视频压缩方法是从给定帧中减去基准帧以生成相对差。压缩后的帧包含比基准帧更少的信息。可以以更低的比特率来编码相对差而质量不变。解码器通过将相对差与基准帧相加来重构原始帧。
一种更复杂的方法是逼近视频序列的整个场景(scene)和对象的运动。通过以比特流的方式进行编码的参数来描述运动。通过经适当变换的基准帧像素来逼近所预测帧的像素。该方法提供了一种与简单减法相比有所改进的预测能力。然而,由运动模型参数所占用的比特率不能过大。
通常,根据许多标准来执行视频压缩,包括诸如MPEG-1、MPEG-2和MPEG-4之类的运动图像专家组(MPEG)中的用于音频和视频压缩的一个或多个标准。作为MPEG-4的第10部分标准(也称作H.264或者AVC(高级视频编码))的一部分,已经作出了附加的增强。根据MPEG标准,首先对视频数据进行编码(例如,进行压缩),然后将其存储在视频系统的编码器一侧上的编码缓冲器中。随后,将经编码的数据传输到视频系统的解码器一侧,在此,在对其进行解码以使得相应图像可以被查看之前将其存储在解码缓冲器中。
H.264/AVC项目致力于开发这样一种标准,该标准能够以比先前标准(例如,MPEG-2、H.263或者MPEG-4的第2部分)所需的比特率低得多的比特率来提供良好的视频质量。此外,希望作出这些改进而不会因复杂度的大幅增加致使设计不能实际地实现。一个附加目的是以灵活的方式来作出这些改变,该灵活的方式将使得标准能够广泛应用于各种应用,从而使得标准能够既用于低比特率又用于高比特率,并且能够既用于低分辨率视频又用于高分辨率视频。另一目的是它能够良好地工作于各种网络和系统上。
H.264/AVC/MPEG-4的第10部分包含许多新特征,这些新特征使其能够比旧标准更高效地对视频进行压缩,并且能够为各种网络环境提供更高的应用灵活性。一些关键特征包括:将先前已编码的图像用作基准的多图像运动补偿,具有大到16×16的像素块以及小到4×4的像素块的可变分块运动补偿(VBSMC),用于导出半像素亮度样本预测的六角(six-tap)滤波,宏块对结构,用于运动补偿的四分之一像素精度,加权预测,环路去块滤波器,精确匹配整数4×4像素空间块变换,对主要空间变换的“DC”系数执行的二次Hadamard变换(其中Hadamard变换类似于快速傅立叶变换),根据用于“帧内”编码的相邻块边缘的空间预测,基于上下文的自适应二进制算术编码(CABAC),基于上下文的自适应可变长编码(CAVLC),被称作指数哥伦布编码的、用于多个未经CABAC或CAVLC编码的语法元素(syntax element)的简单且高度结构化的可变长编码(VLC),网络抽象层(NAL)定义,切换条带(switching slice),灵活的宏块排序,冗余条带(RS),附加增强信息(SEI)和视频可用信息(VUI),辅助图像,帧编号和图像顺序计数。这些技术以及一些其他技术使得H.264能够在更多情况下并且在更多环境中明显优于现有标准地完成任务。通过以一半的比特率或者甚至更少的比特率获得相同的质量,H.264通常比MPEG-2视频更好地完成任务。
MPEG用于对运动图像和相关联的音频进行一般编码,并且产生由一系列三种类型的编码数据帧构成的经压缩视频比特流。这三种类型的数据帧是帧内编码帧(称作I帧或I图像),双向预测帧(称作B帧或B图像),和前向预测帧(称作P帧或P图像)。这三种类型的帧可以按指定顺序(称作GOP(图像组)结构)排列。I帧包含需要用于重构图像的所有信息。将I帧作为正常图像来编码而不需要运动补偿。另一方面,P帧使用在前帧的信息来重构图像,并且B帧使用在前帧、后续帧或二者的信息来重构图像。具体地,从前一个I帧或者紧接着的前一个P帧来预测P帧。
也可以从紧接着的后续帧来预测帧。为了以这种方式来利用后续帧,后续帧必须在所预测的帧之前被编码。因此,编码顺序不一定与实际的帧顺序相匹配。通常从两个方向来预测这样的帧,例如从紧接在所预测帧之前的I帧或P帧,或者紧接在所预测帧之后的P帧来预测。这些双向预测帧称作B帧。
存在多种可能的GOP结构。常见的GOP结构为15帧长,并且具有序列I_BB_P_BB_P_BB_P_BB_P_BB_。类似的12帧序列也很常见。I帧针对空间冗余进行编码,P帧和B帧针对时间冗余和空间冗余二者进行编码。因为视频流中的相邻帧通常良好相关,所以P帧和B帧仅是I帧大小的很小的百分比。然而,在一帧所能压缩到的大小与编码这样的压缩帧所需的处理时间和资源之间存在折衷。虽然GOP结构中的I帧、P帧和B帧的比是由视频流的性质和输出流的带宽约束所决定的,但是编码时间也可能是个问题。因为与仅是I帧的文件相比,包含多个B帧的流可能花费更长的时间用于编码,所以在实时传输时以及在具有有限计算资源的实时环境中,这一点尤其突出。
B帧和P帧需要较少的比特用于存储图像数据,所述比特一般包含针对当前帧与前一帧、后一帧或二者之间的差的差比特。B帧和P帧因此用于减少帧之间所包含的冗余信息。操作中,解码器接收经编码的B帧或经编码的P帧,并且使用前一帧或后一帧来重构原始帧。当连续帧基本类似时,因为帧中的差很小,所以该过程更容易并且产生更平滑的场景过渡。
每个视频图像被分离到一个亮度(Y)信道和两个色度信道中(也称作色差信号Cb和Cr)。亮度和色度阵列的块被组织到“宏块”中,宏块是在帧内进行编码的基本单元。
在I帧的情况下,实际图像数据被通过编码过程传递。然而,P帧和B帧首先经过“运动补偿”过程。运动补偿是一种根据前一帧的每个宏块移动到了何处来描述连续帧之间的差的方法。这种技术通常用于减少用于视频压缩的视频序列的时间冗余。如编码器使用“运动向量”所选择的,P帧或B帧中的每个宏块与良好相关的前一图像或下一图像中的区域相关联。将宏块映射到其相关区域的运动向量被编码,然后两个区域之间的差通过编码过程被传递。
传统视频编解码器将经运动补偿的预测用于对原始输入视频流进行高效编码。从先前帧中已移位的宏块来预测当前帧中的宏块。原始宏块及其预测之间的差被压缩并且与移位(运动)向量一起被发送。该技术称作帧间编码,是在MPEG标准中使用的方法。
编码过程中最耗时的成分之一是运动估计。运动估计用于通过与预测误差的变换编码相结合地实现运动补偿预测,来减小视频信号的比特率。与运动补偿有关的混叠(aliasing)不能够通过使用帧间像素运动补偿来避免,并且混叠使预测效率恶化。为了解决恶化的问题,半像素内插和四分之一像素内插被用于降低混叠的影响。为了以四分之一像素精度来估计运动向量,通常使用三个步骤的搜索。在第一个步骤中,在指定搜索范围内将运动估计应用于每个整数像素来找到最佳匹配。然后,在第二个步骤中,检查在所选出的整数像素运动向量周围的八个半像素点来找到最佳的半像素匹配点。最后,在第三个步骤中,检查在所选出的半像素运动向量周围的八个四分之一像素点,然后将最佳匹配点选作最终的运动向量。考虑到运动估计的复杂度,如果将完全搜索(full-search)用于整数像素运动估计,那么整数像素运动估计将占运动估计的主要部分。然而,如果利用快速整数运动估计算法,那么整数像素运动向量能够通过检查少于十个的搜索点而被找到。因此,搜索半像素运动向量和四分之一像素运动向量的计算复杂度变为主要部分。
由于不断减小晶体管尺寸以使得增大用于实现更多功能的硅空间的半导体技术的进步,以及致使严重的热耗散的物理限制,处理器制造商开始引入多核或多处理器系统。视频压缩处理需要处理器功率并且尝试利用并存处理器所能提供的计算能力。然而,许多视频压缩方法或者是按顺序定义的或者是相邻视频对象之间存在相关性(dependence),因此很难在同时并行的计算系统上开发用于视频压缩过程的线程级并行(thread levelparallelism)。用于在视频压缩应用中开发并行处理能力的方法之一是将视频序列中的图像水平地分割为多个部分,称作条带。因为在多条带的条带之间不存在语义相关性,所以这适用于多处理系统中的视频压缩。
然而,某些视频压缩应用要求单条带方法(每个图像一个条带)。就单条带方法而言,在块边界周围的单个条带语法和语义中存在许多相关性问题,尤其是在高级视频编码(AVC)规范的情况下。
一种通过单条带方法在多处理系统上并行处理视频压缩的方法是,将图像水平地划分为顶部一半和底部一半。一个线程处理图像的顶部一半并且另一线程处理底部一半。两个线程处理同一图像。底部线程忽略边界周围的相关性,并且还处理边界周围的语法一致性。当底部线程处理第一宏块(MB)行时,它选择独立于其上部MB的MB模式。然而,与标准单条带光栅扫描方法相比,这种一般的方法使得压缩效率更低。
另一种视频压缩的并行处理方法是将图像水平地分割为多个部分。这些经水平分离的部分称作条带。视频压缩系统然后以并行处理的方式对这些条带进行编码。该方法产生多个条带结果。
然而,多条带方法存在许多问题。多个条带的经编码结果与单条带不同,因为多个条带的经编码结果在语意上彼此独立。因此,多个条带很难或者不可能确认多条带的并行处理方法的正确性。视频质量在条带边界处降低。使用水平多条带编码的视频压缩在视频内容的复杂度随条带的不同而不同的情况下,存在工作负荷失衡的问题。水平多条带编码的各条带的结果需要被连接起来以形成单个结果。这是在单条带编码中不存在的额外工作。
发明内容
在此描述了一种用于并行处理视频压缩的方法和装置。图像被垂直地划分为N个区(zone),并且垂直分割并行(Vertical Split Parallelism,VSP)调配N+1个过程:用于N个区中的一般宏块编码的N个M编码过程和用于熵编码的一个E编码过程。通过将宏块编码过程划分为M编码过程和E编码过程,多个M编码线程和一个E编码线程能够通过线程之间适当同步而同时进行处理。因为每个宏块编码过程的M编码过程的工作负荷大于E编码的,所以能够将两个内核指定给两个M编码过程。因为E编码的工作负荷较轻,所以能够将所述内核的任一个指定给E编码过程。因此,VSP有效地利用了并行处理计算能力。
在一个方面中,一种用于对视频进行压缩的装置包括多个处理内核和用于使多个处理内核处理N个M编码过程和一个E编码过程的程序。N等于多个处理内核中的处理内核的个数。E编码过程由从多个处理内核中选出的可用处理内核来处理。可用处理内核是自动选出的。N个M编码过程包括模式判决、变换和均衡,并且E编码过程包括熵编码。N个M编码过程是并行处理的。N个M编码过程是同时处理的。N个M编码过程的每个都与垂直区相对应。N个M编码过程的每个都与经分割平移的(split-shifted)垂直区相对应。N个M编码过程的每个都与对角区(diagonalzone)相对应。多个处理内核用于:在对前一宏块进行的M编码完成之后,对当前宏块进行M编码;在对当前宏块进行的M编码完成之后,对当前宏块进行E编码;以及在对前一宏块进行的E编码完成之后,对当前宏块进行E编码。多个处理内核用于在宏块不处于第一宏块行中的情况下,在对右上方宏块进行的E编码完成之后,对该宏块进行M编码。多个处理内核用于在宏块是宏块行中的最后一个宏块的情况下,在对上方宏块进行的E编码完成之后,对该宏块进行M编码。
在另一方面中,一种用于对视频进行压缩的装置包括第一处理内核,其用于处理第一M编码线程;以及第二处理内核,其耦合到第一处理内核,用于处理第二M编码线程;其中,E编码线程由从第一处理内核和第二处理内核中选出的可用处理内核来处理。第一M编码线程和第二M编码线程包括模式判决、变换和均衡,并且E编码线程包括熵编码。可用处理内核是自动选出的。第一M编码线程和第二M编码线程是并行处理的。第一M编码线程和第二M编码线程是同时处理的。第一M编码线程与第一垂直区相对应,并且第二M编码线程与第二垂直区相对应。第一M编码线程与第一经分割平移的垂直区相对应,并且第二M编码线程与第二经分割平移的垂直区相对应。第一M编码线程与第一对角区相对应,并且第二M编码线程与第二对角区相对应。
在另一方面中,一种用于对视频进行压缩的方法包括以下步骤:将图像垂直地划分为N个区;调配N+1个过程,其中,N个过程是M编码并且一个过程是E编码;利用多个处理内核来并行地处理N个M编码过程;利用多个处理内核的可用处理内核来处理E编码过程;并且使这N+1个过程同步。N个M编码过程包括在对前一宏块进行的M编码完成之后,对当前宏块进行M编码。E编码过程包括在对当前宏块进行的M编码完成之后,对该当前宏块进行E编码。处理E编码过程的步骤包括在对前一宏块进行的E编码完成之后,对当前宏块进行E编码。该方法还包括:在对前一宏块进行的M编码完成之后,对当前宏块进行M编码;在对当前宏块进行的M编码完成之后,对当前宏块进行E编码;以及在对前一宏块进行的E编码完成之后,对当前宏块进行E编码。该方法还包括在宏块不处于第一宏块行中的情况下,在对右上方宏块进行的E编码完成之后,对该宏块进行M编码。该方法还包括在宏块是宏块行中的最后一个宏块的情况下,在对上方宏块进行的E编码完成之后,对该宏块进行M编码。
附图说明
图1A到图1C示出用于视频压缩的并行处理装置的实施例的框图。
图2示出垂直分割并行的过程的流程图。
图3示出对图像的示例性垂直分割。
图4A示出平移分割的图形表示。
图4B示出待压缩的图像。
图5示出具有两种类型边界的线程的图形表示。
具体实施方式
视频序列包括图像的序列。每个图像还被划分为多个宏块。传统的编码过程按光栅扫描顺序逐个地对宏块进行编码。通常,每个宏块的编码过程包括宏块类型选择,运动估计和补偿的前期阶段,变换和均衡的中期阶段和熵编码的后期阶段。
垂直分割并行(VSP)将传统的视频压缩过程分为两部分:M编码和E编码。M编码代表没有熵编码过程的一般宏块编码过程。E编码代表熵编码过程。图像被垂直地划分,其中每个垂直划分出的部分图像表示一个区。因此,图像包括多个区。每个区首先经过M编码处理。宏块单元中每个区的M编码的输出进一步经过E编码处理。VSP的特征在于对每个宏块的M编码和E编码的相关性进行解耦,因此并不是紧接在宏块的M编码之后处理其自身的E编码。此外,每个宏块并不依赖于对光栅扫描顺序中在它之前的宏块进行的E编码的完成。
一般地,如果图像被垂直地划分为N个区,那么VSP调配N+1个过程:针对N个区的N个M编码过程和用于熵编码的一个E编码过程。例如,如果图像被垂直地划分为两个区,那么VSP调配三个过程:针对两个区的两个M编码过程和用于熵编码的一个E编码过程。
通过将宏块编码过程划分为M编码过程和E编码过程,多个M编码线程和一个E编码线程能够通过线程之间的适当同步而同时进行。M编码包括模式判决、变换和均衡。与E编码的熵编码任务相比,这些M编码阶段是较重工作负荷的任务。因为每个宏块编码过程的M编码过程的工作负荷大于E编码的,所以能够将内核指定给每个M编码过程。例如,如果设备或系统中有两个内核,那么将使用两个M编码过程,其中向每个内核发送一个过程。即使两个M编码过程能够并行运行,某些AVC语法相关性问题也仍存在,例如Δ-QP和宏块(MB)跳跃运行。通过引入独立的E线程能够解决这些问题。由于E编码的工作负荷较轻,所以两个内核的任一个能够处理E编码过程。因此,VSP有效地利用了并行处理计算能力。
VSP克服了当以并行处理方式对多个条带进行编码时所遇到的问题。视频压缩的VSP并行处理产生了对单条带进行顺序处理的相同结果。因此,通过比较VSP并行处理结果和单条带的顺序处理结果的等价性,很容易确定VSP并行处理的正确性。因为VSP并行处理结果和单条带的顺序处理结果相同,所以确保了视频质量相同。通过垂直地划分图像,VSP的每个区一般具有相等的视频内容复杂度。因此,每个内核的预定义个体工作负荷差不多相等。此外,如果存在工作负荷失衡,那么通过VSP的熵编码过程来消除该失衡。因此,VSP并行处理的工作负荷被自动地平衡。VSP的熵编码过程产生与单个条带编码相同的单个结果。因此,不存在对多条带并行处理的部分结果进行的、额外阶段的连接工作。
优选地,在作为多处理器计算机架构的对称多处理(SMP)机器上运行实现了VSP的视频压缩软件,在该多处理器计算机架构中,由于通过对共享存储器进行读取和写入来实现多过程(线程)的同步,所以两个或多个相同的处理器或内核耦合到单个的共享主存储器。
可以经由软件、硬件或软件和硬件的组合来实现VSP。分割图像的优选方法是垂直地分割;然而,在替代实施例中,可以对角地分割图像。
通过增大并行地处理的视频压缩量并且使顺序处理最小化,视频压缩性能得到改善。
VSP支持图像速率控制,宏块量子化加权宏块速率控制(MQWMBRC),图像再编码,MB再编码,CAVLC和CABAC熵编码,帧和场输入格式和去块开启/关闭。
VSP解决了许多问题。解决了SYNC的边界限制。通过在实际的MB编码之前预先算出所有的量化参数(QP)或者通过改变去除最左侧MB与最右侧MB的相关性的算法,解决了QP的边界限制。通过两个阶段的算法解决了QP变化量(delta)相关性问题。由于存在与光栅扫描顺序中的前一QP的相关性以及与光栅扫描顺序中的前一SKIP MB的相关性,所以存在QP变化量相关性问题。通过VSP,编码被分离为两个阶段,其中M编码并行地运行并且E编码按光栅扫描的顺序顺序地运行。因此,在双核系统中存在显著的加速。
并行方法能够通过任务或数据分解(decompose)被分类。在任务分解中,在功能层面上,JvtEncoder(Jvt编码器)能够被分解为流水线方式的多个过程。每个过程被作为独立的功能执行并且输出能够是下一过程的输入。如果在每个过程中解决了负荷平衡和数据相关性,那么能够实现并行。目前每个过程的编码计算负荷失衡。JvtCodingProcess(Jvt编码过程)与其他过程相比,是负荷最重的功能。
在数据分解中,在帧层面上,每个图像能够被分解为两个半个的图像,用于在不同的时间帧中同时进行编码。PaleMoonA算法实现了该方法。在条带层面上,每个图像被编码为多个不同的条带以实现并行。在一个图像内进行处理的情况下,在时域中不会出现基准帧。在MB层面上,每个MB是并行的处理单元。由于数据与相邻MB的相关性在AVC编码器中是普遍的,所以数据同步是要处理的关键问题。VSP采用该方法。在块层面上,并行能够在MB内完成。避免在MB层面中发生的数据同步问题是个十分低级的算法。在混合分解中,包括任务和数据分解二者。
图1A到图1C示出用于视频压缩的并行处理装置的实施例的框图。在图1A到图1C的每个中,计算设备包含具有一个或多个内核的一个或多个处理器。处理器和内核的任何组合都是可以的,只要总共存在至少两个内核即可。
图1A示出具有两个处理器(第一处理器2和第二处理器4)的计算设备1,每个处理器分别具有一个内核3,5。图1B示出具有一个包含双核3’的处理器2’的计算设备1’。图1C示出具有两个处理器(第一处理器2’和第二处理器4’)的计算设备1”,每个处理器分别包含双核3’,5’。每个计算设备具有至少两个内核,这些内核或者在同一处理器中或者在多个处理器中。此外,如图1C所示,多于两个的内核能够使用。能够使用任何数目的处理器和内核,只要内核的总数多于两个即可。计算设备是任何的数字设备,包括但并不局限于:可携式摄像机、数字相机、手机、个人数字助理(PDA)或计算机。
通过使用多个内核,用于视频压缩的并行处理装置能够通过利用并行处理来加快视频压缩过程。如在此所描述的,在图像被垂直地划分为N个区之后,N+1个过程被调配:N个M编码过程和一个用于熵编码的E编码过程。因为M编码过程的工作负荷比E编码过程的更重,所以能够针对每个M编码过程来指定内核。例如,现参考图1A,第一M编码过程被发送到第一处理器2中的内核3,并且第二M编码过程被发送到第二处理器4内的内核5,因此每个M编码过程被分开处理。然后,内核3或5的任一个能够用于E编码过程,因为针对该过程的处理负荷相对较轻。因此,用于视频压缩的并行处理装置高效地利用了并行处理计算能力。
图2示出垂直分割并行(VSP)的一个实施例的流程图。在步骤200,将图像划分为N个区,其中N大于或等于2。一般地,对图像进行划分以使得区个数等于可用于处理的内核个数。在步骤202,调配N+1个过程。存在N个M编码过程和一个E编码过程。在步骤204,并行地处理N个M编码过程。然后在步骤206,利用任一个可用内核来处理E编码过程。然后,在步骤208,对这些过程进行同步。
图3示出将具有128×96个像素(8×6个MB)的图像垂直分割为两个区:区_a(左侧部分)和区_b(右侧部分)。每个垂直区,在此即区_a和区_b,作为独立的线程由独立的内核来处理。对于MB级的编码,仅垂直区之间的区边界需要主同步(major synchronization)。另一独立线程用于熵编码。每个MB通过“M编码”即宏块层编码和“E编码”即熵编码而被编码。对于M编码,每个区由一个线程来处理。例如,由一个线程来对区_a进行M编码,并且由另一线程来对区_b进行M编码。一个独立的线程执行“E编码”。因此,如果图像被分割为两个垂直区,那么总共存在三个运行的线程。
为了确保有效地执行编码,存在多个同步规则或要求。当完成了对前一宏块进行的M编码时,对当前宏块进行的M编码开始。例如,现参考图3,仅当完成了MB 0a时,MB 1a才能够开始。然后,仅当完成了MB1b时,MB 2b才能够开始,并且MB 1b在其能够开始之前必须等待直到MB 0a完成为止。仅当完成了对其自身MB的M编码时,对MB的E编码才能够开始。此外,仅当完成了对其前一个MB的E编码时,对该MB的E编码才能够开始。
除了上述一般的同步外,还存在取决于所使用的数据结构的设计的规则,这是因为对重复的数据结构的设计与同步算法之间关系紧密。以下描述取决于对重复的数据结构的设计的同步算法的实现方式。对于每一列宏块,存在两组数据。例如,对于8×6像素块的MB图像,存在8×2组数据:16组相邻宏块信息(AdjacentMbInfo),用于算术编码的先前CABAC信息(PrevCabacInfoSet),宏块编码(MbCoding),宏块编码,制作(authoring)编码模式(MbCodingAE)和宏块编码模式判决(ModeDecision)。对于每一列宏块,存在两组熵函数调用记录缓冲器。每个MB缓冲器能够记录至多32个函数调用。例如,对于8×6像素块的MB图像,VspSims[8×2][32]是熵函数调用记录缓冲器。对于不在第一MB行中的MB,仅当完成了对其右上方MB进行的E编码时,M编码才能够开始。如果MB是MB行中最后一个MB,那么仅当完成了对其上方MB进行的E编码时,M编码才能够开始。例如,现参考图3,仅当完成了对MB e03进行的E编码时,对MB e10进行的M编码才能够开始。然后,MB e10再使用与MB e02相同的一组数据,因为MB e10和MB e02在相同的MB列中。
用于视频压缩的并行处理装置的另一改进涉及使用垂直区而非水平区。除上述的那些优点之外,垂直区具有优于水平区的其他优点。一般地,垂直方向上的像素比水平方向上的更少,因此如果列数或行数不是偶数,那么垂直方向上的不一致性比水平方向上的更小。因此,一个处理器的工作负荷不会明显地大于其他的。垂直分区的另一优点是,当列数是如图4A所示的奇数时,能够垂直地进行平移分割(shift-splitting)。平移分割是这样的,其中在图像中的一点处修改垂直分割以使得区的大小相等。现参考图4A,例如,当生成两个区(第一区400和第二区402)时,在存在奇数个列的情况下,分割404在图像的中央点406处平移了一列,这使得两个区大小相等。垂直分区的另一个优点是对于许多图像而言,在图像中存在静态成分,例如图像顶部处的蓝天或图像底部处的水。例如,与图4B所示的图像相类似的,一幅图像包含在图像顶部处的蓝天和在图像的较低部分处的房屋、树和人。如果该图像被水平地分割,那么对蓝天进行的处理需要较少的处理功率用于压缩,因为它是相对静态的,而具有房屋、树和人的部分则需要很多的处理,因此会不平衡。然而,如果图像被垂直地分割,那么两侧都将具有一半的天空和一半的房屋、树和人,从而提供更好的平衡的处理方案。
使用VSP提供了优于其他压缩实现方式的多个优点。关于负荷平衡,对于每个较重工作负荷的线程,存在几乎相等个数的MB。所有的MB在同一帧内得到处理。垂直地进行划分实现了平衡的负荷。就可扩展性而言,很容易调节线程个数。关于同步,需要同步的项数被最小化。仅与区边界相邻的、区中的第一列MB需要主同步。数据相关性映射能够用于同步。同步的“OkToGo(可以继续)”结果的概率是很高的,而“NotOkToGo(不可继续)”到“OkToGo”的等待时间是短暂的。大部分基准MB存在于同一本地高速缓存中。x86双核处理器具有两个L2高速缓存。CELL具有用于每个SPE的本地存储器。跨越边界的Ref MB不需要被传送。x86使用预取(pre-fetch)技术来传送Ref MB。CELL使用DMA来进行传送。每个较重工作负荷的线程仅处理帧的一部分。由每个较重工作负荷的线程来完成每个垂直区域。
如果在多内核机器上的多个较重工作负荷线程(M编码)之间存在任何工作负荷失衡,那么独立的较轻工作负荷线程(E编码)能够填充间隙。因此,多内核的工作负荷被自动地平衡。通过在此描述的实现方式,双核机器上的处理器利用率在大部分时间内高于90%。VSP使存储器利用率略微地增大了约2.3%。
速率控制算法能够解决MQW MBRC算法以外的一般速率控制算法的QP相关性问题。第一线程500和第二线程502在图5中被示出为具有两种类型的边界。SYNC边界504由帧内预测需求决定。MB[1]与MB[H]相关(例如,直到完成了MB[H],MB[1]才能够开始)。MB[P]与MB[1]相关(例如,直到完成了MB[1],MB[P]才能够开始)。QP边界506由速率控制算法决定。MB[I]与MB[8]相关(例如,在决定了MB[8]的QP之后决定MB[I]的QP)。MB[Q]与MB[16]相关(例如,在决定了MB[16]的QP之后决定MB[Q]的QP)。
消除了QP边界问题的算法改变独立于最右侧MB来决定最左侧MB的QP,并且MB之间的其余的QP相关性(例如,除最左侧MB与最右侧MB的相关性之外的、MB对光栅扫描顺序中的前一MB的所有其他相关性)不受影响(例如,在MB编码期间针对每个MB来改变QP)。因此,VSP能够克服MB之间相关性的弱点。MB[9]的QP能够或者与MB[8]的QP相关或者与MB[P]的QP相关。新的速率控制算法将经分割的图像视为两个图像(针对按两个光栅扫描顺序的QP相关性的左侧一半图像和右侧一半图像)。最左侧MB和最右侧MB之间没有关联,并且QP边界相关性能够被去除。
在操作中,用于视频压缩的并行处理装置使用多个内核的并行处理能力以加快视频压缩。因为许多设备和系统包括多个内核(或者在一个处理器中或者在多个处理器中),所以出于效率的目的,视频压缩使用多个内核是必要的。虽然在利用多个内核方面作出了其他尝试,但是它们具有使其效率降低的固有缺点。VSP将每个图像分离为N个垂直区,其中这些区的大小通常相同。除一个E编码过程之外,针对每个区生成M编码过程。因为每个M编码过程具有近似的复杂度,所以每个内核将花费近似相同的时间量来处理它们。此外,E编码过程具有很小的工作负荷,因此它能够由任一个可用内核来处理。然后,这些过程被同步。
如所描述的,设备通过将图像分离为垂直区并且然后将每个相应过程发送到独立内核以进行处理,来使用垂直分割并行。此外,熵编码过程被发送到可用内核。此后,使这些过程同步,然后获得经快速压缩的视频。能够以硬件、软件或二者的组合来实现垂直分割并行。
垂直分割并行能够用于多种应用中,包括但并不局限于视频编辑、存储、广播和通信。
已经根据具体实施例描述了本发明,这些具体实施例包括用于帮助理解本发明的构造和操作原理的许多细节。在此提到的具体实施例及其细节并非意欲将本发明的范围局限于此。本领域中的技术人员应容易理解,可以在被选出用于进行说明的实施例中做出其他各种修改而不会脱离如权利要求书所定义的本发明的精神和范围。

Claims (28)

1.一种用于对视频进行压缩的装置,包括:
a.多个处理内核;以及
b.用于使所述多个处理内核处理N个M编码过程和一个E编码过程的程序。
2.如权利要求1所述的装置,其中,N等于所述多个处理内核中的处理内核的个数。
3.如权利要求1所述的装置,其中,所述E编码过程由从所述多个处理内核中选出的可用处理内核来处理。
4.如权利要求3所述的装置,其中,所述可用处理内核是自动选出的。
5.如权利要求1所述的装置,其中,所述N个M编码过程包括模式判决、变换和均衡,并且所述E编码过程包括熵编码。
6.如权利要求1所述的装置,其中,所述N个M编码过程是并行处理的。
7.如权利要求6所述的装置,其中,所述N个M编码过程是同时处理的。
8.如权利要求1所述的装置,其中,所述N个M编码过程各自对应于一垂直区。
9.如权利要求1所述的装置,其中,所述N个M编码过程各自对应于一经分割平移的垂直区。
10.如权利要求1所述的装置,其中,所述N个M编码过程各自对应于一对角区。
11.如权利要求1所述的装置,其中,所述多个处理内核用于:
a.在对前一宏块进行的M编码完成之后,对当前宏块进行M编码;
b.在对所述当前宏块进行的M编码完成之后,对所述当前宏块进行E编码;以及
c.在对所述前一宏块进行的E编码完成之后,对所述当前宏块进行E编码。
12.如权利要求1所述的装置,其中,所述多个处理内核用于在宏块不处于第一宏块行中的情况下,在对右上方宏块进行的E编码完成之后,对所述宏块进行M编码。
13.如权利要求1所述的装置,其中,所述多个处理内核用于在宏块是宏块行中的最后一个宏块的情况下,在对上方宏块进行的E编码完成之后,对所述宏块进行M编码。
14.一种用于对视频进行压缩的装置,包括:
a.第一处理内核,其用于处理第一M编码线程;以及
b.第二处理内核,其耦合到所述第一处理内核,用于处理第二M编码线程;
其中,E编码线程由从所述第一处理内核和所述第二处理内核中选出的可用处理内核来处理。
15.如权利要求14所述的装置,其中,所述第一M编码线程和所述第二M编码线程包括模式判决、变换和均衡,并且所述E编码线程包括熵编码。
16.如权利要求14所述的装置,其中,所述可用处理内核是自动选出的。
17.如权利要求14所述的装置,其中,所述第一M编码线程和所述第二M编码线程是并行处理的。
18.如权利要求17所述的装置,其中,所述第一M编码线程和所述第二M编码线程是同时处理的。
19.如权利要求14所述的装置,其中,所述第一M编码线程与第一垂直区相对应,并且所述第二M编码线程与第二垂直区相对应。
20.如权利要求14所述的装置,其中,所述第一M编码线程与第一经分割平移的垂直区相对应,并且所述第二M编码线程与第二经分割平移的垂直区相对应。
21.如权利要求14所述的装置,其中,所述第一M编码线程与第一对角区相对应,并且所述第二M编码线程与第二对角区相对应。
22.一种用于对视频进行压缩的方法,包括以下步骤:
a.将图像垂直地划分为N个区;
b.调配N+1个过程,其中,N个过程是M编码并且一个过程是E编码;
c.利用多个处理内核来并行地处理所述N个M编码过程;
d.利用所述多个处理内核中的可用处理内核来处理所述E编码过程;并且
e.使所述N+1个过程同步。
23.如权利要求22所述的方法,其中,处理所述N个M编码过程的步骤包括在对前一宏块进行的M编码完成之后,对当前宏块进行M编码。
24.如权利要求22所述的方法,其中,处理所述E编码过程的步骤包括在对当前宏块进行的M编码完成之后,对所述当前宏块进行E编码。
25.如权利要求22所述的方法,其中,处理所述E编码过程的步骤包括在对前一宏块进行的E编码完成之后,对当前宏块进行E编码。
26.如权利要求22所述的方法,还包括:
a.在对前一宏块进行的M编码完成之后,对当前宏块进行M编码;
b.在对所述当前宏块进行的M编码完成之后,对所述当前宏块进行E编码;以及
c.在对所述前一宏块进行的E编码完成之后,对所述当前宏块进行E编码。
27.如权利要求22所述的方法,还包括在宏块不处于第一宏块行中的情况下,在对右上方宏块进行的E编码完成之后,对所述宏块进行M编码。
28.如权利要求22所述的方法,还包括在宏块是宏块行中的最后一个宏块的情况下,在对上方宏块进行的E编码完成之后,对所述宏块进行M编码。
CN200780027016XA 2006-07-17 2007-07-12 用于视频压缩的并行处理装置 Expired - Fee Related CN101490968B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US83161406P 2006-07-17 2006-07-17
US60/831,614 2006-07-17
US11/716,197 US8000388B2 (en) 2006-07-17 2007-03-08 Parallel processing apparatus for video compression
US11/716,197 2007-03-08
PCT/US2007/016112 WO2008010979A2 (en) 2006-07-17 2007-07-12 Parallel processing apparatus for video compression

Publications (2)

Publication Number Publication Date
CN101490968A true CN101490968A (zh) 2009-07-22
CN101490968B CN101490968B (zh) 2013-12-18

Family

ID=38957300

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780027016XA Expired - Fee Related CN101490968B (zh) 2006-07-17 2007-07-12 用于视频压缩的并行处理装置

Country Status (6)

Country Link
US (1) US8000388B2 (zh)
EP (1) EP2041882A4 (zh)
JP (1) JP2009544225A (zh)
CN (1) CN101490968B (zh)
TW (1) TWI415446B (zh)
WO (1) WO2008010979A2 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102648583A (zh) * 2009-10-05 2012-08-22 法国电信 用于编码和解码图像的方法、对应的编码和解码装置及计算机程序
CN102740075A (zh) * 2012-06-05 2012-10-17 沙基昌 一种视频数据的压缩/解压缩方法及系统
CN103314581A (zh) * 2010-12-28 2013-09-18 艾布斯克影视公司 使用列的图像分割方法和系统
CN103535032A (zh) * 2011-03-07 2014-01-22 奥林奇公司 编码和解码图像的方法、编码和解码设备、计算机程序
CN104956677A (zh) * 2013-02-21 2015-09-30 意法爱立信有限公司 组合的并行流水线视频编码器
CN104980764A (zh) * 2014-04-14 2015-10-14 深圳中兴力维技术有限公司 基于复杂度均衡的并行编解码方法、装置及系统
CN105007486A (zh) * 2011-03-07 2015-10-28 杜比国际公司 编码和解码图像的方法、编码和解码设备、计算机程序
US9654783B2 (en) 2011-06-24 2017-05-16 Dolby International Ab Method for encoding and decoding images, encoding and decoding device, and corresponding computer programs
CN109584137A (zh) * 2018-10-24 2019-04-05 北京大学 一种脉冲序列格式转换方法及系统
CN111105766A (zh) * 2019-12-04 2020-05-05 昆山龙腾光电股份有限公司 频率转换方法、组件、时序处理装置及可读存储介质

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8189683B2 (en) * 2006-11-28 2012-05-29 General Instrument Corporation Method and system for providing single cycle context weight update leveraging context address look ahead
US20080247459A1 (en) * 2007-04-04 2008-10-09 General Instrument Corporation Method and System for Providing Content Adaptive Binary Arithmetic Coder Output Bit Counting
US8213499B2 (en) * 2007-04-04 2012-07-03 General Instrument Corporation Method and apparatus for context address generation for motion vectors and coefficients
CN101330608A (zh) * 2007-06-22 2008-12-24 科立尔数位科技股份有限公司 位率控制方法及装置
US8634470B2 (en) * 2007-07-24 2014-01-21 Samsung Electronics Co., Ltd. Multimedia decoding method and multimedia decoding apparatus based on multi-core processor
TW200943175A (en) * 2008-01-17 2009-10-16 Nec Corp Synchronization control method and information processing device
US8542730B2 (en) * 2008-02-22 2013-09-24 Qualcomm, Incorporated Fast macroblock delta QP decision
US8542748B2 (en) * 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
JP5088215B2 (ja) * 2008-04-11 2012-12-05 ソニー株式会社 情報処理システム及び情報処理方法、並びにプログラム
FR2931280B1 (fr) * 2008-05-19 2011-01-07 Envivio France Procede et dispositif de codage ou decodage d'image avec parallelisatioon du traitement sur plusieurs processeurs et coprocesseurs, programme d'ordinateur et moyen de stockage correspondants.
CN101686388B (zh) * 2008-09-24 2013-06-05 国际商业机器公司 视频流编码装置及其方法
US9762973B2 (en) * 2008-11-04 2017-09-12 The Directv Group, Inc. Method and system for operating a receiving circuit module to encode a channel signal into multiple encoding formats
US8335256B2 (en) * 2008-11-14 2012-12-18 General Instrument Corporation Motion compensation in video coding
US8705879B2 (en) * 2009-04-01 2014-04-22 Microsoft Corporation Image compression acceleration using multiple processors
US8069446B2 (en) * 2009-04-03 2011-11-29 Microsoft Corporation Parallel programming and execution systems and techniques
TWI455587B (zh) * 2009-04-10 2014-10-01 Asustek Comp Inc 具有多格式影像編解碼功能的資料處理電路及處理方法
JP5343703B2 (ja) * 2009-05-22 2013-11-13 ソニー株式会社 復号処理装置、復号処理方法、およびプログラム
US20120082240A1 (en) * 2009-06-09 2012-04-05 Thomson Licensing Decoding apparatus, decoding method, and editing apparatus
US8379718B2 (en) 2009-09-02 2013-02-19 Sony Computer Entertainment Inc. Parallel digital picture encoding
US8660177B2 (en) * 2010-03-24 2014-02-25 Sony Computer Entertainment Inc. Parallel entropy coding
US8344917B2 (en) 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
US9313514B2 (en) 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
US20120236940A1 (en) * 2011-03-16 2012-09-20 Texas Instruments Incorporated Method for Efficient Parallel Processing for Real-Time Video Coding
US10728575B2 (en) * 2011-06-07 2020-07-28 Interdigital Vc Holdings, Inc. Method for encoding and/or decoding images on macroblock level using intra-prediction
US8767824B2 (en) 2011-07-11 2014-07-01 Sharp Kabushiki Kaisha Video decoder parallelization for tiles
CN107995491B (zh) * 2011-07-15 2021-12-28 Ge视频压缩有限责任公司 解码器、解码方法以及编码方法
JP6080375B2 (ja) 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9332259B2 (en) * 2012-01-18 2016-05-03 Qualcomm Incorporated Indication of use of wavefront parallel processing in video coding
TW201414311A (zh) 2012-09-18 2014-04-01 Novatek Microelectronics Corp 視訊編碼方法與視訊編碼裝置
CN104904202A (zh) * 2012-09-28 2015-09-09 三星电子株式会社 用于使用参考画面信息进行并行视频编码的方法和设备以及用于使用参考画面信息进行并行视频解码的方法和设备
US9319576B2 (en) * 2014-01-29 2016-04-19 Google Technology Holdings LLC Multi-processor support for array imagers
CN107005694B (zh) * 2014-09-30 2020-05-19 瑞典爱立信有限公司 在独立处理单元中编码和解码视频帧的方法、装置和计算机可读介质
US9836248B2 (en) * 2014-10-30 2017-12-05 ScaleFlux In-memory data compression complementary to host data compression
US10602157B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Variable bitrate control for distributed video encoding
US10602153B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Ultra-high video compression
US10499070B2 (en) 2015-09-11 2019-12-03 Facebook, Inc. Key frame placement for distributed video encoding
US10341561B2 (en) 2015-09-11 2019-07-02 Facebook, Inc. Distributed image stabilization
US10506235B2 (en) 2015-09-11 2019-12-10 Facebook, Inc. Distributed control of video encoding speeds
US10063872B2 (en) * 2015-09-11 2018-08-28 Facebook, Inc. Segment based encoding of video
US10375156B2 (en) 2015-09-11 2019-08-06 Facebook, Inc. Using worker nodes in a distributed video encoding system
KR101925681B1 (ko) * 2016-09-28 2018-12-05 가천대학교 산학협력단 멀티코어 시스템을 이용한 병렬 비디오 처리
US11194634B2 (en) 2018-12-14 2021-12-07 Advanced Micro Devices, Inc. Apparatus and method for providing workload distribution of threads among multiple compute units

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5138447A (en) * 1991-02-11 1992-08-11 General Instrument Corporation Method and apparatus for communicating compressed digital video signals using multiple processors
US20040258162A1 (en) * 2003-06-20 2004-12-23 Stephen Gordon Systems and methods for encoding and decoding video data in parallel

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04139986A (ja) * 1990-09-29 1992-05-13 Victor Co Of Japan Ltd 画像信号の動き補償予測符号化/復号化装置
US5379070A (en) * 1992-10-02 1995-01-03 Zoran Corporation Parallel encoding/decoding of DCT compression/decompression algorithms
US5768537A (en) * 1996-02-22 1998-06-16 International Business Machines Corporation Scalable MPEG2 compliant video encoder
US6775417B2 (en) * 1997-10-02 2004-08-10 S3 Graphics Co., Ltd. Fixed-rate block-based image compression with inferred pixel values
US6330370B2 (en) * 1998-02-25 2001-12-11 Lucent Technologies Inc. Multiple description transform coding of images using optimal transforms of arbitrary dimension
US6148111A (en) * 1998-04-27 2000-11-14 The United States Of America As Represented By The Secretary Of The Navy Parallel digital image compression system for exploiting zerotree redundancies in wavelet coefficients
US7190840B2 (en) * 2002-01-07 2007-03-13 Hewlett-Packard Development Company, L.P. Transform coefficient compression using multiple scans
US6888891B2 (en) * 2002-01-09 2005-05-03 Octa Technology, Inc. Wavelet domain half-pixel motion compensation
US6931061B2 (en) 2002-11-13 2005-08-16 Sony Corporation Method of real time MPEG-4 texture decoding for a multiprocessor environment
FR2854754B1 (fr) 2003-05-06 2005-12-16 Procede et dispositif de codage ou decodage d'image avec parallelisation du traitement sur une pluralite de processeurs, programme d'ordinateur et signal de synchronisation correspondants
JP4453518B2 (ja) * 2004-10-29 2010-04-21 ソニー株式会社 符号化及び復号装置並びに符号化及び復号方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5138447A (en) * 1991-02-11 1992-08-11 General Instrument Corporation Method and apparatus for communicating compressed digital video signals using multiple processors
US20040258162A1 (en) * 2003-06-20 2004-12-23 Stephen Gordon Systems and methods for encoding and decoding video data in parallel

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102648583B (zh) * 2009-10-05 2015-05-20 法国电信 用于编码和解码图像的方法、对应的编码和解码装置
CN102648583A (zh) * 2009-10-05 2012-08-22 法国电信 用于编码和解码图像的方法、对应的编码和解码装置及计算机程序
CN107071408B (zh) * 2010-12-28 2020-02-14 杜比国际公司 使用列的图像分割方法和系统
US11949878B2 (en) 2010-12-28 2024-04-02 Dolby Laboratories Licensing Corporation Method and system for picture segmentation using columns
US11582459B2 (en) 2010-12-28 2023-02-14 Dolby Laboratories Licensing Corporation Method and system for picture segmentation using columns
CN103314581A (zh) * 2010-12-28 2013-09-18 艾布斯克影视公司 使用列的图像分割方法和系统
US11356670B2 (en) 2010-12-28 2022-06-07 Dolby Laboratories Licensing Corporation Method and system for picture segmentation using columns
US11178400B2 (en) 2010-12-28 2021-11-16 Dolby Laboratories Licensing Corporation Method and system for selectively breaking prediction in video coding
US10986344B2 (en) 2010-12-28 2021-04-20 Dolby Laboratories Licensing Corporation Method and system for picture segmentation using columns
CN103314581B (zh) * 2010-12-28 2016-12-21 杜比国际公司 使用列的图像分割方法和系统
US10104377B2 (en) 2010-12-28 2018-10-16 Dolby Laboratories Licensing Corporation Method and system for selectively breaking prediction in video coding
US11871000B2 (en) 2010-12-28 2024-01-09 Dolby Laboratories Licensing Corporation Method and system for selectively breaking prediction in video coding
CN106412577A (zh) * 2010-12-28 2017-02-15 杜比国际公司 使用列的图像分割方法和系统
CN106454339A (zh) * 2010-12-28 2017-02-22 杜比国际公司 使用列的图像分割方法和系统
CN106851268B (zh) * 2010-12-28 2019-12-17 杜比国际公司 一种使用列的图像编码方法和设备、解码方法和设备、以及计算机可读存储介质
CN106454339B (zh) * 2010-12-28 2019-07-12 杜比国际公司 使用列的图像分割方法和系统
CN106412577B (zh) * 2010-12-28 2019-04-12 杜比国际公司 使用列的图像分割方法和系统
CN106851268A (zh) * 2010-12-28 2017-06-13 杜比国际公司 使用列的图像分割方法和系统
CN107071408A (zh) * 2010-12-28 2017-08-18 杜比国际公司 使用列的图像分割方法和系统
US10244239B2 (en) 2010-12-28 2019-03-26 Dolby Laboratories Licensing Corporation Parameter set for picture segmentation
US10225558B2 (en) 2010-12-28 2019-03-05 Dolby Laboratories Licensing Corporation Column widths for picture segmentation
US9560380B2 (en) 2011-03-07 2017-01-31 Dolby International Ab Coding and decoding images using probability data
US10681376B2 (en) 2011-03-07 2020-06-09 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
CN105007486B (zh) * 2011-03-07 2018-06-05 杜比国际公司 编码和解码图像的方法、编码和解码设备
US11343535B2 (en) 2011-03-07 2022-05-24 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US11736723B2 (en) 2011-03-07 2023-08-22 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
CN105007486A (zh) * 2011-03-07 2015-10-28 杜比国际公司 编码和解码图像的方法、编码和解码设备、计算机程序
CN103535032A (zh) * 2011-03-07 2014-01-22 奥林奇公司 编码和解码图像的方法、编码和解码设备、计算机程序
CN103535032B (zh) * 2011-03-07 2016-12-28 杜比国际公司 编码和解码图像的方法、编码和解码设备
US9628818B2 (en) 2011-03-07 2017-04-18 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US10382784B2 (en) 2011-03-07 2019-08-13 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US10362311B2 (en) 2011-06-24 2019-07-23 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US9654783B2 (en) 2011-06-24 2017-05-16 Dolby International Ab Method for encoding and decoding images, encoding and decoding device, and corresponding computer programs
US10033999B2 (en) 2011-06-24 2018-07-24 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US10694186B2 (en) 2011-06-24 2020-06-23 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US9661335B2 (en) 2011-06-24 2017-05-23 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US9848196B2 (en) 2011-06-24 2017-12-19 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
CN102740075B (zh) * 2012-06-05 2015-02-11 沙基昌 一种视频数据的压缩/解压缩方法及系统
CN102740075A (zh) * 2012-06-05 2012-10-17 沙基昌 一种视频数据的压缩/解压缩方法及系统
CN104956677A (zh) * 2013-02-21 2015-09-30 意法爱立信有限公司 组合的并行流水线视频编码器
CN104980764B (zh) * 2014-04-14 2019-06-21 深圳力维智联技术有限公司 基于复杂度均衡的并行编解码方法、装置及系统
CN104980764A (zh) * 2014-04-14 2015-10-14 深圳中兴力维技术有限公司 基于复杂度均衡的并行编解码方法、装置及系统
CN109584137A (zh) * 2018-10-24 2019-04-05 北京大学 一种脉冲序列格式转换方法及系统
CN111105766A (zh) * 2019-12-04 2020-05-05 昆山龙腾光电股份有限公司 频率转换方法、组件、时序处理装置及可读存储介质

Also Published As

Publication number Publication date
WO2008010979A2 (en) 2008-01-24
US8000388B2 (en) 2011-08-16
WO2008010979A3 (en) 2008-10-16
TWI415446B (zh) 2013-11-11
CN101490968B (zh) 2013-12-18
EP2041882A2 (en) 2009-04-01
EP2041882A4 (en) 2011-08-31
US20080219349A1 (en) 2008-09-11
JP2009544225A (ja) 2009-12-10
TW200818864A (en) 2008-04-16

Similar Documents

Publication Publication Date Title
CN101490968B (zh) 用于视频压缩的并行处理装置
US10230986B2 (en) System and method for decoding using parallel processing
CN101150719B (zh) 并行视频编码的方法及装置
CN101267562B (zh) 具有编码和解码模式的视频处理系统和装置及其方法
CN101406056B (zh) 减少数字视频编码器中的内预测和模式判决处理中的计算的方法
US7643559B2 (en) Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program
CN1934866B (zh) 视频解码设备
US8218641B2 (en) Picture encoding using same-picture reference for pixel reconstruction
KR20150056811A (ko) 차세대 비디오를 위한 콘텐츠 적응적 변환 코딩
Akiyama et al. MPEG2 video codec using image compression DSP
CN104284197A (zh) 视频编码器及其操作方法
CN102077598A (zh) 用于视频编码器中的计算有效的帧内模式预测的设备和方法
CN1615025A (zh) 可执行区块比对移动补偿与全域移动补偿的装置与方法
CN107231557B (zh) 用于在视频编码中的高级帧内预测的递归块分区中的智能重排的编、解码方法及装置
CN104519367B (zh) 视频解码处理装置及其操作方法
CN102088603A (zh) 用于视频编码器的熵编码器及其实现方法
CN105981383A (zh) 视频处理方法及装置
CN102187668A (zh) 消除一个或多个预定预测器的编码和解码
CN105245896A (zh) Hevc并行运动补偿方法及装置
JP2008271127A (ja) 符号化装置
CN101977317B (zh) 帧内预测方法及装置
CN110495175A (zh) 用于对用于并行处理的运动信息进行处理的图像处理方法、用于使用该图像处理方法进行解码和编码的方法、以及用于该方法的设备
CN104956677A (zh) 组合的并行流水线视频编码器
CN102625109A (zh) 一种基于多核处理器实现的mpeg-2至h.264的转码方法
CN102238385A (zh) 编码器和/或解码器中垂直和/或水平高速缓存设备和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131218

Termination date: 20150712

EXPY Termination of patent right or utility model