CN101584216A - 解码和编码视频信息的方法和装置 - Google Patents

解码和编码视频信息的方法和装置 Download PDF

Info

Publication number
CN101584216A
CN101584216A CNA2006800568390A CN200680056839A CN101584216A CN 101584216 A CN101584216 A CN 101584216A CN A2006800568390 A CNA2006800568390 A CN A2006800568390A CN 200680056839 A CN200680056839 A CN 200680056839A CN 101584216 A CN101584216 A CN 101584216A
Authority
CN
China
Prior art keywords
macro block
frame
thread
video
information
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.)
Pending
Application number
CNA2006800568390A
Other languages
English (en)
Inventor
N·N·德塔亚雷科
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN101584216A publication Critical patent/CN101584216A/zh
Pending 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/172Methods 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 picture, frame or field
    • 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/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/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

Abstract

公开了用以解码和/或解码视频信息的方法、装置和制品。所公开的示例方法涉及选择视频帧和该视频帧中要处理的宏块。该示例方法还涉及发起第一线程对所选宏块的处理操作,其中该处理操作涉及解码宏块或编码宏块之一。并且,当需要来自正由第二线程解码或编码的第二帧的预测信息时,停止第一线程对所选宏块的处理操作直至预测信息可用。

Description

解码和编码视频信息的方法和装置
公开领域
本公开一般涉及媒体解码器,尤其涉及用以解码和/或编码视频信息的方法、装置及制品。
背景
一般而言,视频或视频节目是使用按时间进行组织的多幅顺序静止画面帧而形成的,从而在以特定速度顺序呈现时构成运动画面。视频制作、视频递送、以及视频呈现通常涉及对包括静止画面帧(即,视频帧)在内的视频信息进行编码和/或解码。例如,可将视频信息编码以增强视频呈现的视觉质量、插入额外信息(例如,文本、描述信息、隐藏字幕、音轨、覆盖视频、覆盖画面等)和/或压缩视频信息以使用更少的存储空间和/或减少到达观众的递送时间。示例视频编码标准包括例如H.263、运动图像专家组(“MPEG”)标准、H.264、VC-1等。
视频可使用不同的帧速率(例如,7帧/秒、15帧/秒、30帧/秒等)和不同的像素分辨率来生成。在任意情形下,处理(例如,编码或解码)视频通常要求处理相对较大的数据量。例如,解码30帧/秒的视频要求为每秒呈现的视频解码30幅静止画面帧。如果每幅静止画面帧是标准清晰度分辨率帧(例如,720×480像素),则对于每秒视频处理和呈现约一千万像素。以及时方式处理这样大的信息量要求相当可观量的处理能力。在一些情形下,使用专用视频系统来编码和/或解码视频信息。在其他情形下,使用具有通用处理器和/或增强型视频处理能力(例如,视频处理器)的通用或多用途计算机来编码和/或解码视频信息。
附图简述
图1描绘使用多个线程来处理(例如,解码或编码)的多幅视频帧的示例表示。
图2是配置成使用多个线程来解码和/或编码视频信息的示例处理器。
图3是具有被配置成使用多个线程协调操作以解码和/或编码视频信息的多个处理器的示例多处理器系统。
图4是配置成使用多个线程来解码和/或编码视频信息的示例装置。
图5A和5B描绘了可被用来实现图4中用以解码和/或编码视频信息的示例装置的示例方法的流程图表示。
图6是可执行图5A和5B中所表示的用以实现图4的装置的方法的示例处理器系统的框图。
详细描述
本文所述的示例方法和装置可被用来使用两条或更多条线程解码和/或编码视频信息。特别地,示例方法和装置被配置成使用多条线程中的每一条来并行地处理(例如,解码或编码)视频节目的相应各帧。以此方式,相对于已知方法和装置,本文所述的示例方法和装置可被用来更快和更具效率地解码和/或编码视频数据或信息(例如,经压缩的视频数据或信息)。在一些示例实现中,单个处理器执行这多条线程。在其他示例实现中,多个处理器被通信地耦合在一起且每个处理器执行这多条线程中的一条或多条。在示例实现中,本文所述的示例方法和装置可使用OpenMP应用程序接口(API)结合MPEG-4解码器来实现。或者,示例方法和装置可结合例如包括H.263、运动图像专家组(“MPEG”)标准、H.264、VC-1等在内的其他视频解码和/或编码标准(例如,视频压缩标准)来实现。示例方法和装置可使用单个处理器(例如,图3的处理器202)或多处理器系统(例如,图3的多处理器系统300)来实现。
视频标准包括用以解码和/或编码视频的各种方式。一些视频标准(例如,运动JPEG(MJPEG)或MJPEG2K)规定彼此之间独立解码和/或编码的帧(即,内帧(I帧))。一些用以解码和/或编码仅使用I帧的视频信息的技术涉及通过独立于其他帧地解码每一帧来解码或编码多个帧。其他视频标准规定使用内帧(I帧)和预测帧(P帧或B帧)并规定视频帧是否应被切片。如下文更加具体地讨论的,预测帧通常具有对来自其他帧的信息(例如,预测信息)的依存性。
经切片的视频帧被划分成多个片(例如,视频帧的诸部分),其中每一切片可独立于该视频帧中的其他切片被解码或编码。然而,非切片视频帧不被划分成切片。对于具有经切片的视频帧的视频信息,可通过向视频帧的每一切片指派单独的处理线程来解码或编码该帧。对于具有非切片视频帧的视频信息,已知视频解码或编码技术常常使用单条处理线程来解码或编码一个非切片视频帧。尽管本文所述的示例方法和装置可以结合与以上所述类型的视频标准中的任意标准相关联的视频解码器和/或编码器来实现,这些示例方法和装置由其有利于解码和/或编码具有非切片视频帧的视频信息。
一些视频编码或视频压缩标准规定将视频帧解析成多个宏块,后者将视频帧划分成具有数行和数列宏块的类似栅格的模式。视频帧中的宏块在每一行中从左往右顺序处理(例如,解码或编码),且各行以从上往下的方式顺序处理。另外,一些视频编码或视频压缩标准规定了不同的视频帧类型和不同的宏块类型。示例视频帧类型包括内帧(intraframe)和间帧(interframe),以及示例宏块类型包括内宏块(intramacroblock)和间宏块(intermacroblock)。
内帧类型的视频帧可独立于其他帧被处理(例如,解码或编码)。即,内帧包括解码或编码该帧所需的所有信息。内宏块不需要来自其他帧的信息,并且可使用包含该内宏块的当前帧中的信息进行处理。例如,内宏块可使用该内宏块中的信息或同一帧内的相邻宏块中的信息进行处理。
相反,间帧类型的视频帧使用该视频帧中的信息和其他视频帧(例如,参考视频帧)中的信息进行处理。一示例间帧类型是预测帧(常被称为P帧)。解码或编码预测帧需要从一个或多个参考帧(例如,内帧或另一间帧)获得预测信息并将预测信息结合该预测帧中的信息一起使用来处理该预测帧。间帧包括间宏块(例如,预测宏块)和常常的内宏块。解码预测宏块要求从参考帧中的一个或多个参考宏块获得预测信息。预测帧和预测宏块可包括单向预测宏块和/或双向预测宏块。单向预测宏块使用在先帧中的参考宏块的预测信息。双向宏块可能使用在先帧或将来帧中的参考宏块的预测信息。本文所述的示例方法和装置可结合上述不同视频帧类型和宏块类型中的任意一种或多种来使用。
不同于以串行方式处理(例如,解码或编码)视频帧的一些已知系统,本文所述的示例方法和装置能被用来使用多条线程并行地解码或编码视频帧。例如,当非切片视频帧不能够通过多条线程来处理时(不同于可通过由并行工作的多条线程处理帧的相应各切片来处理的经切片视频帧),本文所述的示例方法和装置可被用来通过向每一非切片视频帧指派单独的处理线程并基本并行地处理每一非切片视频帧来处理多个非切片视频帧。因此,通过使用本文所述的示例方法和装置可将并行处理有利地用于处理非切片视频帧。在示例视频解码实现中,第一线程被用来解码视频的第一帧,以及第二线程被用来解码视频的第二帧。在该示例实现中,第一和第二线程并行地解码第一和第二帧。如下讨论的,每条线程可访问与另一线程相关联的进度或状态信息。例如,第二线程可访问与第一线程相关联的状态信息以确定第一线程已经解码第一帧的多少或已经处理第一帧的哪些部分。以此方式,当解码一个帧的部分依赖于从另一帧(例如,参考帧)的已解码部分获得信息(例如,预测信息)时,第一和第二线程可使用进度或状态信息来控制解码操作。
在另一示例视频解码实现中,本文所述的示例方法和装置可被用来实现混合解码过程(或混合编码过程),其中一个或多个线程以串行方式解码第一多个帧,而一个或多个其他线程以并行方式解码第二多个帧。例如,混合解码过程可被划分成串行解码子过程和并行解码子过程。串行解码子过程是使用由串行地解码帧(例如,解码一帧之后再解码后续帧)的一条或多条线程执行的操作来实现的。并行解码子过程是使用由并行地解码帧(例如,并行地解码两个或更多帧)的一条或多条线程执行的操作来实现的。串行解码子过程可被配置成使用单条线程(或多条线程)以串行方式解码一个或多个帧。例如,第一线程可解码第一帧,并且在第一线程结束解码第一帧之后,第二线程可解码第二帧。并行解码子过程可被配置成通过使用多条线程中的每一条解码相应一帧来使用这多条线程并行地解码两个或更多帧。每条线程可访问与其他线程的处理状态相关联的进度或状态信息。可实现示例视频编码过程从而以类似方式编码视频。
示例方法涉及选择视频帧和该视频帧中要处理的宏块。示例方法还涉及发起第一线程对所选宏块的处理操作(例如,解码操作或编码操作)。并且,当需要来自正由第二线程解码或编码的第二帧(例如,参考帧)的预测信息时,停止第一线程对所选宏块的处理操作直至预测信息可用。例如,可以停止处理操作直至第二线程已经处理了包括预测信息的至少一部分的至少一个参考宏块。在示例实现中,第一线程是由第一处理器执行的,而第二线程是由第二处理器执行的。
在示例方法的示例实现中,如果宏块类型不是内宏块则需要预测信息。所选宏块的宏块类型可基于所选宏块中的信息来确定。并且,可基于所选宏块中的信息(例如,运动向量)来确定参考帧中具有预测信息的至少一部分的区域的坐标。
在示例方法的示例实现中,对应于所选宏块的宏块索引值(例如,坐标值)可被设置成指示所选宏块在所选视频帧内的坐标位置的列号和行号。另外,在发起处理操作之前,所选视频帧中的多个宏块(例如,所选视频帧的所有宏块)可被标记为或指派为未处理以指示这多个宏块还未准备好向解码或编码第三视频帧的第三线程提供预测信息。在处理所选宏块之后,所选宏块可被标记为或指派为已处理。
一种示例装置包括视频信息处理单元,其被配置成使用第一线程对第一宏块执行处理操作(例如,解码操作或编码操作)。该示例装置还包括操作控制器,其被配置成当需要来自正由第二线程解码或编码的第二帧(例如,参考帧)的预测信息且该预测信息还未可用时停止第一线程对第一宏块的处理操作。例如,该示例装置还可包括预测信息可用性检测器,其被配置成通过确定第二线程何时已经处理了包括预测信息的至少一个参考宏块来确定何时预测信息可用。在示例实现中,预测信息可用性检测器被配置成基于与第二帧相关联的指示正由第二线程解码或编码的参考宏块的宏块索引值来确定何时预测信息可用。
在一些示例实现中,示例装置设有配置成确定第一宏块的宏块类型的宏块类型检测器。操作控制器可被配置成当宏块类型检测器确定第一宏块的宏块类型不是内宏块类型,从而例如指示处理第一宏块需要预测信息时,停止第一线程对第一宏块的处理操作。
在示例实现中,示例装置设有配置成设置对应于第一宏块的宏块索引值的宏块选择器。宏块索引值可以被第二线程所访问。为了在对第一宏块执行处理操作之前将第一宏块指派或标记为未处理,该示例装置可以设有宏块状态指派器。将第一宏块指派为未处理指示第一宏块中的预测信息对于解码或编码第三宏块的第三线程不可用。在视频信息处理单元处理第一宏块之后,宏块状态指派器将第一宏块指派或标记为已处理。
该示例装置可以使用执行第一和第二线程的单个处理器来实现。另外或替换地,该示例装置可使用具有多个处理器的多处理器系统来实现。以此方式,第一处理器可执行第一线程,而第二处理器可执行第二线程。在示例实现中,该示例装置设有配置成使得能够在第一处理器与第二处理器之间通信的处理器间通信接口。
如本领域的普通技术人员所显而易见的,本文所述的示例方法和装置可使用存储在与一个或多个处理器或网络系统设备相关联的一个或多个机器可访问介质(例如,CD-ROM、磁存储设备、光存储设备、固态存储设备等)上的指令来实现。以此方式,机器可访问介质可被用来使得处理器或网络系统设备能够检索并执行这些指令以实现本文所述的示例方法和装置。
现在转到图1,示例视频处理操作100(例如,解码操作或编码操作)的表示被描绘为使用多条线程104处理多个视频帧102。在所示示例中,第一帧102a(帧N)是内帧,第二帧102b(帧N+1)和第三帧102c(帧N+2)是预测帧(即,间帧),以及第四帧102c(帧N+3)是内帧。然而,在其他示例实现中,第一和第四帧102a和102d可以是间帧(例如,预测帧)。
在视频解码实现中,第一线程104a被发起以执行对第一帧102a的视频解码操作,第二线程104b被发起以执行对第二线程102b的视频解码操作,第三线程104c被发起以执行对第三帧102c的视频解码操作,以及第四线程104d被发起以执行对第四帧102d的视频解码操作。在视频编码实现中,线程104a-d被发起以执行对帧102a-d当中相应各帧的编码操作。
帧102a-d中的每一帧包括多个宏块,其中包括未处理宏块106,已处理宏块108、当前内宏块110、以及当前预测宏块112和114。未处理宏块106是在解码实现中还未被解码或者在编码实现中还未被编码的宏块。已处理宏块108是已经被解码(或编码)的宏块。当前内宏块110是处于解码(或编码)过程当中且不要求预测信息的宏块。当前预测宏块112是处于解码过程当中且需要来自参考帧的预测信息以进行解码(或编码)的宏块。
线程104a-d中的每一线程被配置成访问与其他线程104a-d相关联的信息,以便例如确定与线程104a-d相关联的解码或编码状态。为了指示线程104a-d的解码和/或编码状态,帧102a-d中的每一帧与相应的宏块索引值116a-d相关联。在所示示例中,宏块索引值116a-d被示为指示处于解码(或编码)过程当中的当前宏块的位置的宏块坐标(Pf r,Pf c)。在宏块坐标(Pf r,Pf c)当中,帧值(f)指示帧编号(例如,帧N、帧N+1等),行值(r)指示帧内的行编号,以及列数值(c)指示帧内的列编号。在所示示例中,线程104a-d中的每一线程可访问并更新其自身的宏块索引值(例如,宏块索引值116a-d之一)。另外,线程104a-d中的每一线程至少具有对宏块索引值116a-d中其他值的读取访问权限。
为了指示那些宏块未被处理(例如,未处理宏块106)或已被处理(例如,已处理宏块108),线程104a-d可用指示已处理/未处理状态的值或信息(例如,已处理状态标志符)来标记未处理宏块。在一些示例实现中,为了标记未处理和已处理宏块,线程104a-d中的每一线程可用未处理和已处理状态信息来填充一个或多个示例数据结构(例如,查找表)(未示出)。线程104a-d中的每一线程可填充与帧102a-b当中该线程的相应那一帧相对应的自身数据结构。在这种情形下,数据结构包括多个条目,其中每个条目对应于帧102a-d中相应一帧的宏块中的一个。或者,所有线程可填充与所有帧102a-b相对应的公共数据结构。在任意情形下,所有线程104a-d可访问所有帧102a-d的宏块状态信息。
在示例实现中,线程104a-d可使用宏块索引值116a-d和宏块状态信息来确定预测信息何时可供用于解码(或编码)当前预测宏块112和114之一。例如,在示例解码实现中,第二帧102b的当前预测宏块112需要包含在第一帧102a(例如,参考帧)的一个或多个宏块中的预测信息。第二线程104b可确定第一帧102a内具有运动向量信息(例如,在帧与帧之间移动位置的对象的运动向量)的位置(例如,宏块)并检索与第一帧102a相关联的宏块索引值116a和/或宏块状态信息以确定预测信息在第一帧102a中是否/何时可用。以此方式,如果第二线程104b在第一帧102a已经解码第一帧102a中具有所需预测信息的宏块之前开始处理当前预测宏块112,则第二线程104b可停止对当前预测宏块112的解码操作并且一直等待直至第一线程104a处理第一帧102a中具有所需预测信息的宏块。当第二线程104b确定可从第一帧102得到预测信息时,第二线程104b可继续对当前预测宏块112的解码操作以检索并使用来自第一帧102a的预测信息。
在同一示例解码实现中,第三帧102c包括需要来自第二帧102b(例如,参考帧)的预测信息的当前预测宏块114。如所示示例中所示出的,当第三线程104c开始对当前预测宏块114的解码操作时,第二线程104b已经处理了第二帧102c当中包含用以解码当前预测宏块114所需的预测信息的宏块。当第三线程104c检索与第二线程102b相关联的宏块索引值116b和/或宏块状态信息并确定预测信息已经可用时,第三线程104c无需停止解码操作,而是可立即从第二帧102b检索预测信息以解码当前预测宏块114。
在示例编码实现中,线程104a-d中的每一线程可确定哪些宏块需要预测信息并将这些帧标记为预测宏块(例如,当前预测宏块112和114)。当第二线程104b开始处理当前预测宏块112时,第二线程104b可确定第一帧102a内具有预测信息的位置(例如,宏块)并检索宏块索引值116a和/或与第一帧102a中的该位置相关联的宏块状态信息以确定该预测信息在第一帧102a中何时可用。以此方式,如果第二线程104b在第一帧104a已经编码第一帧102a中具有所需预测信息的宏块之前开始处理当前预测宏块112,则第二线程104b可停止对当前预测宏块112的编码操作并且一直等待直至第一线程104a编码第一帧102a中具有所需预测信息的宏块。当第二线程104b确定可从第一帧102a得到预测信息时,第二线程104b可使用来自第一帧102a的预测信息继续对当前预测宏块112的编码操作。
线程104a-d可使用单个处理器或多个相互通信地耦合的处理器来执行。在使用两个处理器的示例实现中,第一处理器可执行第一和第二线程104a-b,以及第二处理器可执行第三和第四线程104c-d。尽管在所示示例中示出了四条线程(线程104a-d),其他示例实现可被配置成使用更少或更多的线程。因此,尽管示出了四个帧(帧102a-d),但可并行地处理(例如,解码或编码)更少或更多的帧。
图2是配置成使用图1的多个线程104a-d来解码和/或编码视频信息的示例处理器202。如图所示,示例处理器202接收已编码视频信息206(例如,压缩视频)和/或未编码(原始)视频信息208,如上所述地使用线程104a-d并行地处理图1的帧102a-d,并在解码过程期间输出已解码视频212或在编码过程期间输出已编码视频214。为了存储以上结合图1所述的宏块索引值116a-d(图1)和/或宏块状态信息,示例处理器202通信地耦合至存储器216。存储器216还可用于在处理帧102a-d时存储宏块和帧数据。
图3是具有被配置成使用图1的多个线程104a-d协调操作以解码和/或编码视频信息的多个处理器302a-d的示例多处理器系统300。在所示示例中,处理器302a-d彼此通信地相耦合。为了存储以上结合图1所述的宏块索引值116a-d(图1)和/或宏块状态信息,示例处理器302a-d通信地耦合至共享存储器306。在所示示例中,处理器302a-d中的每一个执行多条线程104a-d中的相应一条以如上所述地处理(例如,编码或解码)图1的多个帧102a-d中的相应一帧。如图所示,示例处理器302a-d接收已编码视频206(例如,压缩视频)和/或未编码(原始)视频208并执行线程104a-d以并行处理帧102a-d。在所示示例中,处理器302d被配置成输出已解码视频314和/或已编码视频316。例如,在示例解码实现中,处理器302d组织由处理器302a-d解码的帧并输出已解码视频314。在示例编码实现中,处理器302d组织由处理器302a-d例如根据视频压缩标准产生的已编码帧并生成已编码视频316。
尽管处理器302a-d中的每一个被示为执行一条线程,但在其他示例实现中,处理器302a-d中的每一个可执行多条线程。另外,在其他示例实现中,示例多处理器系统300可使用更少或更多的处理器来实现。
图4是配置成使用多条线程(例如,图1-3的多条线程104a-d)来解码和/或编码视频信息的示例装置400。示例装置400可以使用硬件、固件和/或软件的任意合需组合来实现。例如,可使用一个或多个集成电路、分离半导体组件或无源电子组件。另外或者替换地,示例装置400的一些或所有块,或其一部分可使用存储在机器可访问介质上的在由例如处理器系统(例如,图6的示例处理器系统610)执行时实施表示在图5A和5B的流程图中的操作的指令、代码和/或其他软件和/或固件等来实现。尽管该示例装置400被描述为具有下述每个块中的一个,然而示例装置400可设有两个或更多个的下述任意块。例如,示例装置400可设有两个或更多个特定块,其中每一个被配置成由多条线程(例如,图1的线程104a-d)中的相应一条来执行。
为了选择要解码(或编码)的视频帧,示例装置400设有帧选择器402。在所示示例中,帧选择器402被配置成为线程104a-d(图1-3)中的每一线程选择视频帧102a-d(图1-3)中的一个。例如,当线程104a-d中的一条线程结束解码(或编码)帧102a-d中的一帧时,帧选择器402可为线程104a-d中的这一线程选择要解码(或编码)的下一视频帧(例如,已经被线程104a-d解码的帧102a-d以外的帧)。在示例实现中,帧选择器402存储正被线程104a-d解码的帧的帧索引值。以此方式,当线程104a-d中的一条结束视频帧的处理时,帧选择器402可以顺序地(例如,以年月日次序)选择视频节目中的下一未经处理或可用帧。在替换示例实现中,示例装置可设有多个(例如,四个)与帧选择器402基本相似或相同的帧选择器。在替换示例实现中,帧选择器中的每一个被配置成为线程104a-d中的相应一个选择视频帧。
为了选择要解码(或编码)的宏块,示例装置400设有宏块选择器404。在所示示例中,宏块选择器404被配置成为线程104a-d选择宏块106、108、110、112和114(图1)中的一个进行处理(例如,解码或编码)。例如,为了确定为线程104a选择哪一宏块,宏块选择器404可以递增由线程104a先前处理的宏块的宏块索引值116a(例如,图1的宏块坐标(Pf r,Pf c)),从而例如顺序地确定接下来选择哪一宏块(例如,首先从帧的左上角选择宏块并依次向帧的右下角继续)。在一些示例实现中,宏块选择器404可被配置成为所有线程104a-d选择宏块。在其他示例实现中,示例装置400可设有多个与宏块选择器404基本类似或相同的宏块选择器,其中每个宏块选择器可被配置成为线程104a-d中的相应一个选择宏块。
为了检测宏块类型,示例装置400设有宏块类型检测器406。在所示示例中,宏块类型检测器406被配置成检测宏块是内宏块(例如,图1的内宏块110)还是间宏块(例如,图1的预测宏块112和114)。在其他实现中,宏块类型检测器406可被配置成检测其他宏块类型。在所示示例中,宏块类型检测器406使用宏块头部信息来确定宏块类型。宏块头部信息包含关于宏块的描述性信息,其指示了宏块类型和其他宏块属性。
为了解码和/或编码视频信息(例如,图1的视频帧102a-d),示例装置设有视频信息处理单元408。在所示示例中,视频信息处理单元408包括用以解码视频信息的视频解码器410和用以编码视频信息的视频编码器412。在所示示例中,视频解码器410和视频编码器412可被配置成使用包括例如H.263、运动图像专家组(“MPEG”)标准、H.264、VC-1等在内的任意类型的视频编码标准(例如,视频压缩标准)来处理视频信息。在一些示例实现中,视频信息处理单元408可被配置成包括视频解码器410或视频编码器412中的仅一个。
在示例视频解码实现中,当视频信息处理单元408接收到已编码视频(例如,图2和3的已编码视频信息206)时,视频信息处理单元408选择或启用视频解码器410并将已编码视频信息206传达给视频解码器410。在示例视频编码实现中,当视频信息处理单元408接收到未编码视频(例如,图2和3的未编码视频信息208)时,视频信息处理单元408选择或启用视频编码器412并将未编码视频信息208传达给视频编码器412。
在一些示例实现中,帧选择器402选择将由图1的线程102a-d中的每一条解码(或编码)的视频帧,并将所选的视频帧传达给信息处理单元408。在其他示例实现中,视频信息处理单元408接收到已编码或未编码视频信息,且视频信息处理单元408使用帧选择器402来为线程102a-d中的每一条选择视频帧。
为了控制视频信息处理单元408的视频处理操作,示例装置400设有操作控制器414。在所示示例中,操作控制器414被配置成开始和停止由视频信息处理单元408执行的视频解码或编码操作。操作控制器414还可被配置成控制视频信息处理单元408的其他操作(例如,选择视频解码器410或视频编码器412中的一个)。
示例装置400设有被配置成指示宏块(例如,图1的宏块106、108、110、112和114)是已处理(例如,已解码或已编码)还是未处理(例如,在解码过程中还未解码或在编码过程中还未编码)的宏块状态指派器416。在所示示例中,宏块状态指派器416被配置成存储与帧(例如,图1的视频帧102a-d)的每个宏块相关联的指示宏块是已处理还是未处理的宏块状态标志符(例如,已处理/未处理标签信息)。例如,宏块状态指派器416可将宏块状态标志符与标识视频帧中的宏块的宏块索引值(例如,图1的宏块索引值116a-d)相关联地存储在数据结构中。该数据结构可被存储在共享存储器(例如,图2的存储器216或图3的存储器306)中。
示例装置400设有预测信息定位器418,其被配置成确定参考帧(例如,图1的帧102a和102b)内包含解码预测宏块(例如,图1的当前预测宏块112和114)所需的预测信息的宏块的位置(例如,一个或多个宏块索引或坐标值)。在所示示例中,预测信息定位器418被配置成使用预测宏块中的信息(例如,宏块头部信息)来确定包含预测信息的宏块的宏块坐标(Pf r,Pf c)。
示例装置400设有配置成确定参考帧中的预测信息是否可用的预测信息可用性检测器420。例如,预测信息可用性检测器420可检查参考帧中宏块的宏块状态标志符以确定预测信息定位器418所标识的包含预测信息的宏块是否已经被处理。
为了使处理器(例如,图3的处理器302a-d)能够在多处理器系统(例如,图3的多处理器系统300)中彼此通信,示例装置400设有处理器间通信接口422。处理器间通信接口422可使用任何合适的通信接口和通信协议来配置。
图5A和5B描绘了表示可被用来实现图4中用以解码和/或编码视频信息的示例装置400的示例方法的流程图。在一些示例实现中,图5A和5B的示例方法可使用组成供处理器(例如,图6的示例处理器系统610中所示的处理器612)执行的程序的机器可读指令来实现。该程序可以通过公知的方式以存储在诸如CD-ROM、软盘、硬驱动器、数字通用盘(DVD)、或与处理器612相关联的存储器等有形介质上的软件来体现和/或以固件和/或专用硬件来体现。此外,尽管示例程序是参照图5A和5B中示出的流程图来描述的,但本领域的普通技术人员将容易认识到也可替换地使用实现示例装置400的许多其他方法。例如,各个框的执行次序可以改变,和/或所描述的一些框可以被改变、移除或组合。
图5A和5B的示例方法被描述为实现与图1-3的线程104a-b之一相关联的操作。然而,该示例方法的多个实例可以并行地执行以使用线程104a-b中的两条或更多条线程来实现与解码或编码视频信息相关联的操作。并且,尽管图5A和5B的示例方法的操作被描述为串行执行,但是也可并行地执行两个或多个操作。
首先,示例装置400确定其是否应解码视频信息(框502)。例如,当示例装置400接收到已编码视频信息(例如,图2和3的已编码视频信息206)时,示例装置400确定其应该解码视频信息。或者,当示例装置400被提供未编码视频信息(图2和3的未编码视频信息208)时,示例装置400确定其应该编码视频信息,并由此不应解码视频信息。
如果示例装置400确定其应解码视频信息(框502),则帧选择器402(图4)选择要解码的帧(例如,图1-3的视频帧102a-d中的一帧)(框504)。宏块状态指派器416(图4)随后将所选帧中的所有宏块指派为未处理(框506)。宏块选择器404随后选择要解码的宏块(框508)并设置宏块索引值(框510)(例如,图1的宏块索引值116a-d之一)以指示所选宏块。例如,在图1的所示示例中,如果帧选择器402在框504选择第一帧102a,则宏块选择器404在框508选择当前内宏块110以供第一线程104a解码。为了确定选择哪一宏块,宏块选择器404可递增先前处理的宏块的宏块索引值以确定接下来选择哪一宏块。
视频解码410(图4)随后解码所选宏块的宏块头部信息(例如,宏块描述性信息)(框512)。宏块头部信息包含关于宏块的描述性信息,其指示了宏块类型和其他宏块属性。宏块类型检测器406(图4)随后基于例如在框512解码出的头部信息确定所选宏块是否为内宏块(框514)。
如果宏块类型检测器406确定所选宏块不是内宏块(框514)(例如,所选宏块是需要预测信息的预测宏块),则预测信息定位器418例如基于在框512解码出的头部信息确定一个或多个参考帧内包含解码所选帧所需的预测信息的宏块的位置(例如,宏块坐标(Pf r,Pf c))(框516)。
操作控制器414(图4)随后停止视频解码器410对所选宏块执行的解码操作(例如,处理操作)并且等待直至预测信息可用性检测器420确定包含预测信息的宏块被处理(框518)。在图1所示的实例中,第二线程104b的视频解码操作需要被停止,直至第一线程104a的解码操作将包含第二线程104b用以解码当前预测宏块112所需的预测信息的宏块解码。在所示示例中,预测信息可用性检测器420可访问共享存储器(例如,图2的存储器216或图3的存储器306)以检索与对应于包含预测信息的宏块的第一帧104a(图1)相关联的宏块状态标志符。如果预测信息可用性检测器420确定检索到的宏块状态标志符指示宏块是已处理的,则操作控制器414重新启动、启用、或以其他方式使视频解码器410通过从第一帧102a(例如,参考帧)检索预测信息并使用预测信息解码所选宏块来继续经由第二线程104b对所选宏块的解码操作。
在一些示例实现中,操作控制器414无需停止以及等待预测信息。在图1的所示示例中,第三线程104c的视频解码操作无需被停止,因为第二帧102b(例如,参考帧)当中具有第三线程104c用以解码当前预测宏块114所需的预测信息的宏块已经被第二线程104b解码。因此,在第三帧102c的所示示例中,操作控制器414无需为了等待预测信息而停止第三线程104c的解码操作。
当预测信息可用性检测器420确定预测信息可用时或者如果宏块类型检测器406确定所选宏块是内宏块(框514),则操作控制器414重新启动或启用由视频解码器410对所选宏块执行的解码操作(框520)。在所选宏块被解码后,宏块状态指派器416(图4)例如通过更新共享存储器(例如,图2的存储器216或图3的存储器306)中与所选宏块相关联的状态标志符来将所选宏块指派为已处理(框522)。示例装置400随后确定是否当前帧中有另一宏块需要解码(框524)。如果另一宏块需要解码(框524),则将控制传递回框508并且选择该宏块。否则,结束该过程和/或控制返回到调用过程或函数。
在示例视频编码实现中,如果示例装置400接收到未编码视频信息(例如,图2和3的未编码视频信息208),则在框502,示例装置400确定其不应解码视频且控制被传递至图5B的框532。帧选择器402(图4)选择要编码的帧(例如,图1的视频帧102a-d之一)(框532)。宏块状态指派器416(图4)随后将所选帧中的所有宏块指派为未处理(框534)。
视频编码器412随后使用运动估计过程为所选帧生成运动向量(框536)以标识参考帧中的预测信息,并确定所选帧的哪些宏块为预测宏块(框540)。宏块选择器404(图4)随后选择要编码的宏块(框542)并设置宏块索引值(框544)(例如,图1的宏块索引值116a-d之一)以指示所选宏块。宏块类型检测器406(图4)随后基于例如在框540执行的运动向量分析来确定所选宏块是否为内宏块(框546)。
如果宏块类型检测器406确定所选宏块不是内宏块(框546),则预测信息定位器418(图4)确定一个或多个参考帧内包含预测信息的宏块的位置(例如,宏块坐标(Pf r,Pf c))(框548)。视频编码器412随后编码宏块类型和预测信息位置(框550)。
操作控制器414随后停止由视频编码器412对所选宏块执行的编码操作(例如,处理操作)并且等待直至预测信息可用性检测器420确定包含预测信息的宏块被处理(框552)。以此方式,视频编码器412可使用预测信息来编码所选宏块。
在预测信息可用性检测器420确定包含预测信息的宏块是已处理的或者如果宏块类型检测器406确定所选宏块是内宏块(框546),则操作控制器414使视频编码器412编码(例如,压缩)所选宏块(框554)。在所选宏块被编码后,宏块状态指派器416将该所选宏块指派为已处理(框556)。示例装置400随后确定是否当前帧中有另一宏块需要编码(框558)。如果另一宏块需要编码(框558),则将控制传递回框542并且选择该宏块。否则,结束该过程和/或控制返回到调用过程或函数。
在示例实现中,图5A和5B的示例过程可被用来实现示例混合视频解码过程和/或混合视频编码过程,其中一个或多个线程以串行方式处理第一多个帧,而一个或多个其他线程以并行方式解码第二多个帧。例如,混合解码过程可被划分成串行解码子过程和并行解码子过程。串行解码子过程是使用被用来串行地解码帧(例如,解码一帧之后再解码后续帧)的操作来实现的。并行解码子过程是使用被用来并行地解码帧(例如,并行地解码两个或更多帧)的操作来实现的。串行解码子过程可被配置成使用单条线程(或多条线程)以串行方式解码一个或多个帧,而并行解码子过程可被配置成通过使用多条线程中的每一条解码相应一帧来使用这多条线程并行地解码两个或更多帧。
图6是可被用来实现本文所述装置和方法的示例处理器系统610的框图。如图6中所示,处理器系统610包括耦合至互连总线614的处理器612。处理器612包括寄存器集或寄存器空间616,后者在图6中被描绘为完全在片上,但是也可替换地完全或部分地位于片外并且经由专用电连接和/或经由互连总线614直接耦合至处理器612。处理器612可以是任何合适的处理器、处理单元或微处理器。尽管未在图6中示出,但系统610可以是多处理器系统,因此可包括与处理器612相同或相近似且可通信地耦合至互连总线614的一个或多个附加处理器。
图6的处理器612被耦合至包括存储器控制器620和输入/输出(I/O)控制器622的芯片组618。众所周知的,芯片组通常提供I/O和存储器管理功能以及可由耦合至芯片组618的一个或多个处理器访问或使用的多个通用和/或专用寄存器、定时器等。存储器控制器620执行使得处理器612(或者在有多个处理器的情况下使得诸处理器)能够访问系统存储器624和海量存储器625的功能。
系统存储器624可包括诸如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、闪存、只读存储器(ROM)等任意合需类型的易失性和/或非易失性存储器。海量存储器625可包括任意合需类型的海量存储设备,包括硬盘驱动器、光驱动器、带存储设备等。
I/O控制器622执行使得处理器612能够经由I/O总线632与外围输入/输出(I/O)设备626和628以及网络接口630通信的功能。I/O设备626和628可以是诸如键盘、视频显示器或监视器、鼠标等任意合需类型的I/O设备。网络接口630可以是使得处理器系统610能够与另一处理器系统通信的例如以太网设备、异步传输模式(ATM)设备、802.11设备、DSL调制解调器、有线调制解调器、蜂窝调制解调器等。
尽管存储器控制器620和I/O控制器622在图6中被描绘为芯片组618内分开的功能块,但这些块执行的功能可被集成在单块半导体电路内或者可以使用两个或更多个分开的集成电路来实现。
尽管本文已描述了某些方法、装置、和制品,但本专利覆盖的范围并不限于此。相反地,本专利涵盖或者在字面上或者根据等价原则落在所附权利要求范围内的所有方法、装置、和制品。

Claims (30)

1.一种方法,包括:
选择视频帧;
选择所述视频帧中要处理的宏块;
发起第一线程对所选宏块的处理操作,其中所述处理操作涉及解码所述宏块或编码所述宏块之一;以及
当需要来自正由第二线程解码或编码的第二帧的预测信息时,停止所述第一线程对所选宏块的所述处理操作直至所述预测信息可用。
2.如权利要求0所述的方法,其特征在于,还包括将所述视频帧中的多个宏块标记为未处理。
3.如权利要求0所述的方法,其特征在于,所述视频帧中的所述多个宏块包括所述视频帧中的所有宏块。
4.如权利要求0所述的方法,其特征在于,将所述视频帧中的所述多个宏块标记为未处理指示所述多个宏块还未准备好向解码或编码第三视频帧的第三线程提供预测信息。
5.如权利要求0所述的方法,其特征在于,还包括当所述第一线程结束处理所选宏块时,将所选宏块标记为已处理。
6.如权利要求0所述的方法,其特征在于,还包括设置与所选宏块相对应的宏块索引值。
7.如权利要求0所述的方法,其特征在于,设置所述宏块索引值包括设置指示所选宏块在所述视频帧内的坐标位置的列号和行号。
8.如权利要求0所述的方法,其特征在于,所述处理操作与运动图像专家组算法相关联。
9.如权利要求0所述的方法,其特征在于,还包括检测所选宏块的宏块类型。
10.如权利要求0所述的方法,其特征在于,还包括当所述宏块类型不是内宏块类型时确定需要所述预测信息。
11.如权利要求0所述的方法,其特征在于,还包括确定所述第二帧中具有所述预测信息的至少一部分的区域的坐标。
12.如权利要求0所述的方法,其特征在于,停止对所选宏块的所述处理操作直至所述预测信息可用包括停止对所选宏块的所述处理操作直至所述第二线程已经处理了包括所述预测信息的至少一部分的至少一个参考宏块。
13.如权利要求0所述的方法,其特征在于,所述第一线程由第一处理器执行,而所述第二线程由第二处理器执行。
14.一种装置,包括
视频信息处理单元,配置成使用第一线程执行对第一宏块的处理操作,其中所述处理操作包括解码操作或编码操作之一;以及
操作控制器,配置成当需要来自正由第二线程解码或编码的第二帧的预测信息且所述预测信息还未可用时停止所述第一线程对所述第一宏块的所述处理操作。
15.如权利要求0所述的装置,其特征在于,还包括宏块状态指派器,其被配置成在对所述第一宏块执行所述处理操作之前将所述第一宏块指派为未处理。
16.如权利要求0所述的装置,其特征在于,所述宏块状态指派器被配置成在对所述第一宏块执行所述处理操作之后将所述第一宏块指派为已处理。
17.如权利要求0所述的装置,其特征在于,还包括宏块类型检测器,其被配置成确定所述第一宏块的宏块类型。
18.如权利要求0所述的装置,其特征在于,所述操作控制器被配置成当所述宏块类型检测器确定所述第一宏块的宏块类型不是内宏块类型时停止所述第一线程对所述第一宏块的所述处理操作。
19.如权利要求0所述的装置,其特征在于,还包括预测信息可用性检测器,其被配置成通过确定所述第二线程何时已经处理了包括所述预测信息的至少一个参考宏块来确定所述预测信息何时可用。
20.如权利要求0所述的装置,其特征在于,所述预测信息可用性检测器被配置成基于与所述第二帧相关联的指示正由所述第二线程解码或编码的参考宏块的宏块索引值来确定所述预测信息何时可用。
21.如权利要求0所述的装置,其特征在于,还包括宏块选择器,其被配置成设置与所述第一宏块相对应的宏块索引值,其中所述宏块索引值可被所述第二线程所访问。
22.如权利要求0所述的装置,其特征在于,还包括处理器间通信接口,其被配置成实现在第一处理器和第二处理器之间的通信,其中所述第一处理器执行所述第一线程,而所述第二处理器执行所述第二线程。
23.一种其上存储有指令的机器可访问介质,所述指令在被执行时致使机器:
选择视频帧;
选择所述视频帧中要处理的宏块;
发起第一线程对所选宏块的处理操作,其中所述处理操作涉及解码所述宏块或编码所述宏块之一;以及
当需要来自正由第二线程解码或编码的第二帧的预测信息时,停止所述第一线程对所选宏块的所述处理操作直至所述预测信息可用。
24.如权利要求0所述的机器可访问介质,其特征在于,其上存储有在被执行时使所述机器执行以下动作的指令:将所述视频帧中的多个宏块标记为未处理,以指示所述多个宏块还未准备好向解码或编码第三视频帧的第三线程提供预测信息。
25.如权利要求0所述的机器可访问介质,其特征在于,其上存储有在被执行时使所述机器执行以下动作的指令:设置与所选宏块相对应的宏块索引值。
26.如权利要求0所述的机器可访问介质,其特征在于,其上存储有在被执行时使所述机器执行以下动作的指令:通过设置指示所选宏块在所述视频帧内的坐标位置的列号和行号来设置所述宏块索引值。
27.如权利要求0所述的机器可访问介质,其特征在于,其上存储有在被执行时使所述机器执行以下动作的指令:基于所选宏块的宏块类型确定需要所述预测信息。
28.如权利要求0所述的机器可访问介质,其特征在于,当所述宏块类型是间宏块时需要所述预测信息。
29.如权利要求0所述的机器可访问介质,其特征在于,其上存储有在被执行时使所述机器执行以下动作的指令:通过停止对所选宏块的所述处理操作直至所述第二线程已经处理了包括所述预测信息的至少一个参考宏块来停止对所选宏块的所述处理操作直至所述预测信息可用。
30.如权利要求0所述的机器可访问介质,其特征在于,其上存储有在被执行时使所述机器执行以下动作的指令:实现在执行所述第一线程的第一处理器与执行所述第二线程的第二处理器之间的通信。
CNA2006800568390A 2006-12-27 2006-12-27 解码和编码视频信息的方法和装置 Pending CN101584216A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2006/000709 WO2008079041A1 (en) 2006-12-27 2006-12-27 Methods and apparatus to decode and encode video information

Publications (1)

Publication Number Publication Date
CN101584216A true CN101584216A (zh) 2009-11-18

Family

ID=38983782

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800568390A Pending CN101584216A (zh) 2006-12-27 2006-12-27 解码和编码视频信息的方法和装置

Country Status (5)

Country Link
US (1) US20080159408A1 (zh)
EP (1) EP2127394A1 (zh)
JP (1) JP2010515336A (zh)
CN (1) CN101584216A (zh)
WO (1) WO2008079041A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102763136A (zh) * 2010-02-11 2012-10-31 诺基亚公司 用于提供多线程视频解码的方法和设备
CN104795072A (zh) * 2015-03-25 2015-07-22 无锡天脉聚源传媒科技有限公司 一种音频数据的编码方法及装置
CN104795073A (zh) * 2015-03-26 2015-07-22 无锡天脉聚源传媒科技有限公司 一种音频数据的处理方法及装置
CN105744279A (zh) * 2014-12-10 2016-07-06 北京君正集成电路股份有限公司 一种视频编解码中实现帧间同步的方法及装置
CN106953717A (zh) * 2017-04-27 2017-07-14 上海海事大学 一种船舶ais数据大批量高效解码方法及系统
CN107079159A (zh) * 2014-10-17 2017-08-18 三星电子株式会社 基于多核系统的并行视频解码的方法和设备
CN111093078A (zh) * 2018-10-23 2020-05-01 展讯通信(天津)有限公司 视频解码方法及装置、存储介质、终端

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8296662B2 (en) * 2007-02-05 2012-10-23 Brother Kogyo Kabushiki Kaisha Image display device
US8411734B2 (en) 2007-02-06 2013-04-02 Microsoft Corporation Scalable multi-thread video decoding
WO2008137432A2 (en) * 2007-05-01 2008-11-13 Dyyno Sharing of information and formatting information for transmission over a communication network
CN101330608A (zh) * 2007-06-22 2008-12-24 科立尔数位科技股份有限公司 位率控制方法及装置
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US20090010326A1 (en) * 2007-07-05 2009-01-08 Andreas Rossholm Method and apparatus for parallel video decoding
WO2009142021A1 (ja) * 2008-05-23 2009-11-26 パナソニック株式会社 画像復号化装置、画像復号化方法、画像符号化装置、及び画像符号化方法
JP5120324B2 (ja) * 2009-04-16 2013-01-16 パナソニック株式会社 画像復号装置及び画像復号方法
US8325796B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
CN102461173B (zh) * 2009-06-09 2015-09-09 汤姆森特许公司 解码装置、解码方法以及编辑装置
US9020043B2 (en) 2010-05-10 2015-04-28 Google Inc. Pathway indexing in flexible partitioning
DE102010030973B4 (de) * 2010-07-06 2012-02-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Videocodierer und Verfahren zum Decodieren einer Sequenz von Bildern
GB2482731B (en) * 2010-08-13 2016-12-21 Advanced Risc Mach Ltd A video decoding apparatus and method
US8885729B2 (en) 2010-12-13 2014-11-11 Microsoft Corporation Low-latency video decoding
US9706214B2 (en) 2010-12-24 2017-07-11 Microsoft Technology Licensing, Llc Image and video decoding implementations
US8891627B1 (en) 2011-04-18 2014-11-18 Google Inc. System and method for coding video using color segmentation
RU2587467C2 (ru) 2011-06-30 2016-06-20 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Сокращение задержки при кодировании и декодировании видео
US8731067B2 (en) 2011-08-31 2014-05-20 Microsoft Corporation Memory management for video decoding
US9819949B2 (en) 2011-12-16 2017-11-14 Microsoft Technology Licensing, Llc Hardware-accelerated decoding of scalable video bitstreams
GB2498595B (en) 2012-02-16 2015-03-04 Imagination Tech Ltd Methods and apparatus for decoding video images
JP5995583B2 (ja) 2012-07-26 2016-09-21 キヤノン株式会社 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、及びプログラム
US9392272B1 (en) 2014-06-02 2016-07-12 Google Inc. Video coding using adaptive source variance based partitioning
US9578324B1 (en) 2014-06-27 2017-02-21 Google Inc. Video coding using statistical-based spatially differentiated partitioning
US10547838B2 (en) 2014-09-30 2020-01-28 Telefonaktiebolaget Lm Ericsson (Publ) Encoding and decoding a video frame in separate processing units
US10097828B2 (en) * 2014-12-11 2018-10-09 Intel Corporation Rate control for parallel video encoding
WO2016209132A1 (en) * 2015-06-25 2016-12-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for encoding an input video stream into a compressed output video stream with parallel encoding
WO2017130035A1 (en) * 2016-01-27 2017-08-03 Aniview Ltd. A system and methods thereof for auto-playing video content on mobile devices
CN110933220A (zh) * 2018-09-20 2020-03-27 中兴通讯股份有限公司 音效处理方法、系统、终端及计算机可读存储介质
CN116366864B (zh) * 2023-03-23 2024-04-12 格兰菲智能科技有限公司 并行编解码方法、装置、计算机设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006014113A (ja) * 2004-06-29 2006-01-12 Fujitsu Ltd 画像復号装置及び画像符号化装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2231460B (en) * 1989-05-04 1993-06-30 Sony Corp Spatial interpolation of digital video signals
US5519842A (en) * 1993-02-26 1996-05-21 Intel Corporation Method and apparatus for performing unaligned little endian and big endian data accesses in a processing system
US6405233B1 (en) * 1999-06-30 2002-06-11 Intel Corporation Unaligned semaphore adder
US6449706B1 (en) * 1999-12-22 2002-09-10 Intel Corporation Method and apparatus for accessing unaligned data
JP3611507B2 (ja) * 2000-05-30 2005-01-19 松下電器産業株式会社 動きベクトル検出装置
US7272622B2 (en) * 2001-10-29 2007-09-18 Intel Corporation Method and apparatus for parallel shift right merge of data
US7685212B2 (en) * 2001-10-29 2010-03-23 Intel Corporation Fast full search motion estimation with SIMD merge instruction
US6721866B2 (en) * 2001-12-21 2004-04-13 Intel Corporation Unaligned memory operands
US6963613B2 (en) * 2002-04-01 2005-11-08 Broadcom Corporation Method of communicating between modules in a decoding system
US7366819B2 (en) * 2004-02-11 2008-04-29 Infineon Technologies Ag Fast unaligned cache access system and method
US7630585B2 (en) * 2004-06-25 2009-12-08 Intel Corporation Image processing using unaligned memory load instructions
US7881546B2 (en) * 2004-09-08 2011-02-01 Inlet Technologies, Inc. Slab-based processing engine for motion video
JP4495580B2 (ja) * 2004-12-13 2010-07-07 パナソニック株式会社 面内予測装置および面内予測方法
JP4680608B2 (ja) * 2005-01-17 2011-05-11 パナソニック株式会社 画像復号装置及び方法
US20060256854A1 (en) * 2005-05-16 2006-11-16 Hong Jiang Parallel execution of media encoding using multi-threaded single instruction multiple data processing
US8019002B2 (en) * 2006-06-08 2011-09-13 Qualcomm Incorporated Parallel batch decoding of video blocks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006014113A (ja) * 2004-06-29 2006-01-12 Fujitsu Ltd 画像復号装置及び画像符号化装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102763136A (zh) * 2010-02-11 2012-10-31 诺基亚公司 用于提供多线程视频解码的方法和设备
CN102763136B (zh) * 2010-02-11 2015-04-01 诺基亚公司 用于提供多线程视频解码的方法和设备
CN107079159A (zh) * 2014-10-17 2017-08-18 三星电子株式会社 基于多核系统的并行视频解码的方法和设备
CN107079159B (zh) * 2014-10-17 2020-05-12 三星电子株式会社 基于多核系统的并行视频解码的方法和设备
CN105744279A (zh) * 2014-12-10 2016-07-06 北京君正集成电路股份有限公司 一种视频编解码中实现帧间同步的方法及装置
CN104795072A (zh) * 2015-03-25 2015-07-22 无锡天脉聚源传媒科技有限公司 一种音频数据的编码方法及装置
CN104795073A (zh) * 2015-03-26 2015-07-22 无锡天脉聚源传媒科技有限公司 一种音频数据的处理方法及装置
CN106953717A (zh) * 2017-04-27 2017-07-14 上海海事大学 一种船舶ais数据大批量高效解码方法及系统
CN106953717B (zh) * 2017-04-27 2020-01-07 上海海事大学 一种船舶ais数据大批量高效解码方法及系统
CN111093078A (zh) * 2018-10-23 2020-05-01 展讯通信(天津)有限公司 视频解码方法及装置、存储介质、终端
CN111093078B (zh) * 2018-10-23 2022-08-19 展讯通信(天津)有限公司 视频解码方法及装置、存储介质、终端

Also Published As

Publication number Publication date
WO2008079041A1 (en) 2008-07-03
EP2127394A1 (en) 2009-12-02
JP2010515336A (ja) 2010-05-06
US20080159408A1 (en) 2008-07-03

Similar Documents

Publication Publication Date Title
CN101584216A (zh) 解码和编码视频信息的方法和装置
CN101087422B (zh) 用于估计象素预测模式的设备
CN104735454B (zh) 通过使用大变换单元对图像进行编码和解码的方法和设备
CN104869398B (zh) 一种基于cpu+gpu异构平台实现hevc中的cabac的并行方法
CN102388616B (zh) 图像信息解码设备和方法、图像信号编码设备和方法
CN1717055B (zh) 使用子宏块移位寄存器阵列的解块滤波装置和方法
CN107071414A (zh) 视频编码和解码
CN103997650B (zh) 一种视频解码的方法和视频解码器
CN106921863A (zh) 使用多个解码器核心解码视频比特流的方法、装置以及处理器
AU2004217197A1 (en) Method of selecting a reference picture
CN105791864A (zh) 解码多视图视频编码信息中使用码片组的方法和装置
CN101472181A (zh) 用于视频编码的可配置性能运动估计
CN110049328A (zh) 图像编码设备和方法、图像解码设备和方法及存储介质
CN101755462A (zh) 图像编码装置以及图像编码方法
CN100555322C (zh) 用于视频处理的分级处理器架构
US20110216827A1 (en) Method and apparatus for efficient encoding of multi-view coded video data
CN105659600A (zh) 用于解码表示图像序列的可伸缩流的方法和设备及相应编码方法和设备
Zhang et al. Implementation and improvement of wavefront parallel processing for HEVC encoding on many-core platform
CN104396246B (zh) 视频压缩编码方法及编码器
US6615335B1 (en) Compressed storage of information
CN1119815A (zh) 用于预测运动的设备
CN101568035B (zh) 图像内预测模式估计、通信和组织的方法和系统
EP1351516A2 (en) Memory system for video decoding system
US20240137502A1 (en) Systems and methods for encoding and decoding video with memory-efficient prediction mode selection
CN102868889A (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20091118