CN101330608A - 位率控制方法及装置 - Google Patents
位率控制方法及装置 Download PDFInfo
- Publication number
- CN101330608A CN101330608A CN200710112067.4A CN200710112067A CN101330608A CN 101330608 A CN101330608 A CN 101330608A CN 200710112067 A CN200710112067 A CN 200710112067A CN 101330608 A CN101330608 A CN 101330608A
- Authority
- CN
- China
- Prior art keywords
- picture
- execution thread
- bit rate
- rate control
- pictures
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000013139 quantization Methods 0.000 claims description 15
- 230000011218 segmentation Effects 0.000 claims 4
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 11
- 108091026890 Coding region Proteins 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/436—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种位率控制方法及装置,适用于支持至少一核心的一视频编码装置。该位率控制方法包括如下步骤:首先,接收一序列的画面;依据视频编码装置的核心数目,建立多个执行线程;利用执行线程同时对于画面中的至少一画面进行编码,且依据相应该至少一画面的编码结果对于该序列中的所述画面进行编码。通过本发明,具有在维持特定品质的前提下,尽量降低其所占的尺寸,便于传输及用于各种样式的应用的优点。
Description
技术领域
本发明有关于一种位率控制,且特别有关于一种可以同时解码至少一视频画面(Video Frame)的位率控制方法及装置。
背景技术
随着计算机、网络以及消费性产品的普及,数字化内容已经逐渐成为人们生活中重要的一部分。针对数据量与品质需求,数字视频必须借助于数字压缩技术,从而在维持特定品质的前提下,尽量降低其所占的尺寸,以便于传输及用于各式样的应用。
MPEG(Moving Picture Experts Group,MPEG)为一种目前最普遍使用的算法之一。MPEG算法定义压缩(编码)比特流的语法及解码的方法。视频编码器可以决定何种画面编码型态,以及画面间的最佳预测模式。视频编码器中很重要的一点是位率控制。通过编码时优良的位率控制,可以尽可能地提高解码后视频的品质,且维持输出位率在允许的范围之内。注意的是,位率控制的相关背景与介绍为本领域具有通常知识的技术人员所熟知,在此省略。
一般来说,一张MPEG的画面由宏区块(Macro Block,MB)所构成。在现有位率控制中,视频编码器依序对于画面进行编码。位率控制基于宏区块的层次(Level)来进行,且由一画面中的从上到下,从左至右的宏区块进行。举例来说,图1A与图1B分别显示两接续的画面F1与F2,其分别具有编号1~16与17~32的宏区块。公知地,画面中宏区块的编码顺序为由F1的1至16,再到F2的17至32,如图2所示。
近年来,已有许多进阶的处理装置,如可以支持超执行线程(Hyper-Threading)技术、多核心(Multi-Core)技术和/或多任务(Multi-Tasking)操作程序的装置相继提出,其可以同时执行多个工作。对于这些装置而言,依序编码画面的现有位率控制无法充分使用系统的计算能力。
发明内容
有鉴于此,本发明提供位率控制方法及装置。
本发明实施例的一种位率控制方法,适用于支持至少一核心的一视频编码装置。首先,接收一序列的多个画面。依据视频编码装置的核心数目,建立多个执行线程。利用执行线程同时对于画面中的至少一画面进行编码,且依据相应至少一画面的编码结果对于序列中的画面进行编码。
上述的位率控制方法,其中优选地,还包括下列步骤:判断所述画面中的一第一画面的画面类型;若该第一画面为一B画面时,由所述画面中取得一第二画面,其中该第二画面为一B画面;以及同时通过所述执行线程中的一第一执行线程与一第二执行线程分别对于该第一画面与该第二画面进行编码。
上述的位率控制方法,其中优选地,还包括下列步骤:判断所述画面中的一第一画面的画面类型;若该第一画面为一I画面或P画面时,将该第一画面分割为一上部画面与一底部画面;以及同时通过所述执行线程中的一第一执行线程与一第二执行线程分别对于该第一画面的该上部画面与该底部画面进行编码。
上述的位率控制方法,其中优选地,还包括下列步骤:判断所述画面中的一第一画面的画面类型;若该第一画面为一B画面时,由所述画面中取得一第二画面,其中该第二画面为一B画面;判断所述画面中的一第三画面的画面类型;以及若该第三画面为一I画面或P画面时,同时通过所述执行线程中的一第一执行线程、一第二执行线程、与一第三执行线程分别对于该第一画面、该第二画面、与该第三画面进行编码。
上述的位率控制方法,其中优选地,还包括下列步骤:判断所述画面中的一第一画面的画面类型;若该第一画面为一B画面时,由所述画面中取得一第二画面,其中该第二画面为一B画面;分别将该第一画面与该第二画面分割为一上部画面与一底部画面;判断所述画面中的一第三画面的画面类型;以及若该第三画面为一I画面或P画面时,同时通过所述执行线程中的一第一执行线程、一第二执行线程、一第三执行线程、一第四执行线程、与一第五执行线程分别对于该第一画面的上部画面、该第一画面的底部画面、该第二画面的上部画面、该第二画面的底部画面、与该第三画面进行编码。
上述的位率控制方法,其中优选地,还包括下列步骤:依据相应所述至少一画面中一第一画面的一第一宏区块的编码结果与相应所述至少一画面中一第二画面的一第二宏区块的编码结果,决定一编码程序中的一量化值;以及依据该量化值分别对于该第一画面的一第三宏区块与该第二画面的一第四宏区块进行一量化操作。
本发明实施例还提供了一种位率控制装置。位率控制装置支持至少一核心,且包括一接收单元与一处理单元。接收单元接收一序列的画面。处理单元依据核心数目建立多个执行线程。处理单元利用执行线程同时对于画面中的至少一画面进行编码,且依据相应至少一画面的编码结果对于序列中的画面进行编码。
上述的位率控制装置,其中优选地,该处理单元还判断所述画面中的一第一画面的画面类型,若该第一画面为一B画面时,由所述画面中取得一第二画面,其中该第二画面为一B画面,且同时通过所述执行线程中的一第一执行线程与一第二执行线程分别对于该第一画面与该第二画面进行编码。
上述的位率控制装置,其中优选地,该处理单元还判断所述画面中的一第一画面的画面类型,若该第一画面为一I画面或P画面时,将该第一画面分割为一上部画面与一底部画面,且同时通过所述执行线程中的一第一执行线程与一第二执行线程分别对于该第一画面的该上部画面与该底部画面进行编码。
上述的位率控制装置,其中优选地,该处理单元还判断所述画面中的一第一画面的画面类型,若该第一画面为一B画面时,由所述画面中取得一第二画面,其中该第二画面为一B画面,判断所述画面中的一第三画面的画面类型,若该第三画面为一I画面或P画面时,同时通过所述执行线程中的一第一执行线程、一第二执行线程、与一第三执行线程分别对于该第一画面、该第二画面、与该第三画面进行编码。
上述的位率控制装置,其中优选地,该处理单元还判断所述画面中的一第一画面的画面类型,若该第一画面为一B画面时,由所述画面中取得一第二画面,其中该第二画面为一B画面,分别将该第一画面与该第二画面分割为一上部画面与一底部画面,判断所述画面中的一第三画面的画面类型,若该第三画面为一I画面或P画面时,同时通过所述执行线程中的一第一执行线程、一第二执行线程、一第三执行线程、一第四执行线程、与一第五执行线程分别对于该第一画面的该上部画面、该第一画面的该底部画面、该第二画面的该上部画面、该第二画面的该底部画面、与该第三画面进行编码。
上述的位率控制装置,其中优选地,该处理单元还依据相应所述至少一画面中一第一画面的一第一宏区块的编码结果与相应所述至少一画面中一第二画面的一第二宏区块的编码结果,决定一编码程序中的一量化值,且依据该量化值分别对于该第一画面的一第三宏区块与该第二画面的一第四宏区块进行一量化操作。
本发明上述方法可以通过程序代码方式收录于物理介质中。当程序代码被机器加载且执行时,机器变成用以执行本发明的装置。
通过本发明,具有在维持特定品质的前提下,尽量降低其所占的尺寸,便于传输及用于各种式样的应用的优点。
附图说明
图1A与图1B分别显示两接续的画面;
图2为一显示现有位率控制中宏区块的编码顺序的示意图;
图3为一显示依据本发明实施例的位率控制装置的示意图;
图4为一显示依据本发明实施例的储存单元的示意图;
图5为一显示一MPEG的影像画面排序结构的示意图;
图6为一显示依据本发明实施例的位率控制方法的流程图;
图7显示依据本发明实施例的位率控制法的编码示意图;
图8为一显示依据本发明实施例的位率控制例子的流程图;
图9为一显示依据本发明实施例的位率控制中宏区块的编码顺序的示意图;
图10为一显示依据本发明实施例的一画面的一上部画面与一底部画面的示意图;
图11为一显示依据本发明实施例的位率控制中相应图10画面的宏区块的编码顺序的示意图;
图12为一显示依据本发明实施例的位率控制例子的流程图;
图13为一显示依据本发明实施例的位率控制例子的流程图;
图14为一显示一MPEG的影像画面例子的示意图;
图15A至图15G为显示图14中影像画面的编码过程的示意图。
其中,附图标记说明如下:
F1、F2~画面;
300~位率控制装置;
310~接收单元;
320~处理单元;
330~储存单元;
331~第一队列;
332~第二队列;
I~I画面;
B~B画面;
P~P画面;
S610、S620、S630~步骤;
701、702、MB~宏区块;
711、712、ME~移动估算;
721、722、DCT~离散余弦变换;
731、732、Q~量化;
741、742、IQ~反量化;
751、752、IDCT~反离散余弦变换;
761、762、VLC~可变长度编码;
771、772~编码后宏区块;
781、782~存储器;
790~位率控制;
S810、S820、...、S880~步骤;
TF~上部画面;
BF~底部画面;
S1210、S1220、...、S1290~步骤;
S1310、S1320、...、S1390~步骤。
具体实施方式
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合附图,详细说明如下。
图3显示依据本发明实施例的位率控制装置。
依据本发明实施例的位率控制装置300至少包括一接收单元310、一处理单元320与一储存单元330。值得注意的是,位率控制装置300于支持至少一核心的一视频编码装置(未显示)中。接收单元310用以接收一序列的画面。处理单元320可以决定画面的编码型态,换句话说,决定画面为何种类型的画面,并进行相应的编码程序。储存单元330可以暂存接收单元310所接收的画面。值得注意的是,在一些实施例中,储存单元330可以包括一第一队列331与一第二队列332,如图4所示。第一队列331与第二队列332的使用将于后说明。
在此实施例中,处理单元320可以依据MPEG算法对于画面进行编码。MPEG定义三种型态的画面,即I画面、P画面及B画面。I画面的编码为内部编码,也就是I画面中没有任何的宏区块是参照另一个画面,其编码数据独立产生而与其它画面不相关,且在解码时不需要其它画面的数据便可进行解码。在P画面中则具有参照I画面或前一个P画面的宏区块。若P画面中的某个宏区块无法参照先前的I画面或P画面时,则宏区块即被进行内部编码。在B画面中,所有的宏区块可能是前向参照、后向参照、双向参照或是内部编码的宏区块。因此,I画面为仅具有独立内部编码的宏区块,P画面具有前向参照或是独立内部编码的宏区块,而B画面则没有受限,可能有前向参照、后向参照、双向参照或是内部编码的宏区块。在MPEG中,一连串的视频画面组成一序列的画面群组(Group Of Picture,GOP),其中每组GOP以I画面开始,后面跟着P与B画面的安排。在一个MPEG影片中,处理单元320可以事先决定I画面、P画面及B画面的数目及顺序。一般来说,在两个P画面之间会插入数个B画面,且这些P画面及B画面又均是位于两个I画面、或一个I画面与一个P画面之间。图5显示一MPEG的影像画面排序结构。其中,一个I画面后面连接有两个P画面及六个两两插入I画面及P画面之间的B画面。值得注意的是,本实施例以MPEG为例,然而任何编码形式均可应用于本发明中,例如MPEG4、H263及H264等。
图6显示依据本发明实施例的位率控制方法。
如步骤S610,接收一序列的画面。如步骤S620,检测一视频编码装置所支持的核心数目,并依据核心数目建立多个执行线程。如步骤S630,利用这些执行线程同时对于接收画面中的至少一画面进行编码。必须说明的是,对于画面进行编码可以依据不同编码算法,如MPEG算法进行,其细节在此省略。
值得注意的是,在本案中当利用多个执行线程同时对于画面进行编码时,可以同时依据其相应的可变长度编码(Variable Length Coding,VLC)后的结果进行回馈,从而进行后续的位率控制。
图7显示依据本发明实施例的位率控制方法的编码示意图。在此实施例中,假设两个执行线程可以用来同时分别对于不同画面中的宏区块(MB)进行编码。其中,编码程序由ME(Motion Estimation,移动估算)(见711与712)、DCT(Discrete Cosine Transform,离散余弦变换)(见721与722)、Q(Quantization,量化)(见731与732)、IQ(Inverse Quantization,反量化)(见741与742)、IDCT(Inverse Discrete Cosine Transform,反离散余弦变换)(见751与752)以及VLC(Variable Length Coding,可变长度编码)(见761与762)所组成。在编码过程中,相应两个画面的MB(见701与702)将会分别输入给ME(见711与712)以进行移动估算并计算其与画面存储器(见781与782)中参考MB的预测差(Prediction Error)。相应两MB的预测差将会输入至DCT(见721与722)以进行反离散余弦变换操作,并分别将结果输出至Q(见731与732)。本案的位率控制790将会决定一个合适的Q值,并输出给Q(见731与732)以对于由DCT(见721与722)接收相应两个画面的MB(见701与702)的结果(DCT系数)分别进行量化。其中,量化操作中的Q值可以得到较佳影像信号噪声比。接着,量化后的系数分别经过IQ(见741与742)与IDCT(见751与752),从而恢复存储器中的参考MB。最后,相应两个画面的MB(见701与702)的量化后的系数分别通过VLC(见761与762)进行编码,从而分别得到编码后的MB(见771与772)。值得注意的是,相应两个画面的MB(见701与702)通过VLC(见761与762)处理后的结果会共同回馈至位率控制790,以决定前述的Q值。在一些实施例中,通过同时考量相应两MB的编码情形来进行位率控制,将会使得编码位的使用更具效率与弹性。举例来说,当一画面中MB使用到较少的编码位时,剩余的编码位可以提供给另一画面中的MB来使用。本发明还可应用于同时考量相应两个以上的MB作编码,在此并不限制其范围。
必须提醒的是,执行线程的数目与每一执行线程所进行解码的画面可以依据需求进行任意组合。接下来举多个例子进行说明。
图8显示依据本发明实施例的位率控制例子。在此例中,假设核心的数目为2且建立的执行线程的数目为2。
如步骤S810,由接收画面中取得一画面。如步骤S820,判断此画面的画面类型。若此画面为一B画面时(步骤S830的是),如步骤S840,判断是否已经取得两个B画面。若否(步骤S840的否),流程回到步骤S810,再取得另一画面。若已经有两个B画面(步骤S840的是),如步骤S850,同时通过执行线程中的一第一执行线程与一第二执行线程分别对于此两个画面进行编码。如前所述,当两个执行线程同时分别对于不同画面中的MB进行编码时,相应两个画面的MB通过VLC处理后的结果会共同回馈至位率控制,以决定相应后续MB编码的Q值。相较于图2中现有对于图1A与图1B的画面的编码顺序,本实施例的位率控制方法的编码顺序相互对于画面F1与画面F2进行编码,其中,宏区块的编码顺序为由F1的1、F2的17、F1的2、F2的18、...、F1的15、F2的31、F1的16、与F2的32,如图9所示。之后,流程回到步骤S810,继续取得其它的画面,必进行后续编码程序。若此画面并非是一B画面时(步骤S830的否),而是一I或P画面时(步骤S860的是),如步骤S870,将此画面分割为一上部画面与一底部画面,且如步骤S880,同时通过执行线程中的第一执行线程与第二执行线程分别对于此画面的上部画面与底部画面进行编码。必须提醒的是,将画面分割的前提是上部画面与底部画面间是相互独立且没有参照关系的。在一些实施例中,画面可以依据片段(Slice)为单位来进行切割。图10显示依据本发明实施例的一画面的一上部画面与一底部画面。如图所示,画面F1被分割为上部画面TF与底部画面BF,其中,上部画面TF与底部画面BF是相互独立的。当同时通过两个执行线程分别对于上部画面TF与底部画面BF进行编码时,其宏区块的编码顺序为TF的1、BF的9、TF的2、BF的10、...、TF的7、BF的15、TF的8、与BF的16,如图11所示。类似地,当两个执行线程同时分别对于上部画面与底部画面中的MB进行编码时,相应上部画面与底部画面的MB通过VLC处理后的结果会共同回馈至位率控制,以决定相应后续MB编码的Q值。之后,流程回到步骤S810,继续取得其它的画面,并进行后续编码程序。注意的是,当画面并非是B画面、I画面或P画面时,表示编码程序发生错误,结束流程。
图12显示依据本发明实施例的位率控制例子。在此例中,假设核心的数目为4且建立的执行线程的数目为3。
如步骤S1210,由接收画面中取得一画面。如步骤S1220,判断此画面的画面类型。若此画面为一B画面时(步骤S1230的是),如步骤S1240,判断是否已经取得两个B画面。若否(步骤S1240的否),流程回到步骤S1210,再取得另一画面。若已经有两个B画面(步骤S1240的是),如步骤S1250,将两个B画面储存至储存单元330中的第一队列331中。之后,流程回到步骤S1210。若此画面并非是一B画面时(步骤S1230的否),而是一I或P画面时(步骤S1260的是),如步骤S1270,将储存单元330中的第一队列331与第二队列332切换。注意的是,接收画面中的至少一后续画面将会储存于第二队列332并进行后续编码程序。必须提醒的是,在本实施例中通过两个队列交互储存要进行编码的画面单元。然而,在一些实施例中,多个队列还可以使用来储存画面单元,或是不需使用队列来储存画面单元,而将画面单元单纯储存至储存单元中即可。之后,如步骤S1280,将I画面或P画面储存至第一队列331中,并如步骤S1290,同时通过执行线程中的第一执行线程、第二执行线程与一第三执行线程分别对于第一队列331中的两个B画面与一个I画面或P画面进行编码。类似地,当三个执行线程同时分别对于两个B画面与一个I画面或P画面中的MB进行编码时,相应两个B画面与一个I画面或P画面的MB通过VLC处理后的结果会共同回馈至位率控制,以决定相应后续MB编码的Q值。之后,流程回到步骤S1210,继续取得其它的画面,必进行后续编码程序。注意的是,当画面并非是B画面、I画面或P画面时,表示编码程序发生错误,结束流程。
图13显示依据本发明实施例的位率控制例子。在此例中,假设核心的数目为4且建立的执行线程的数目为5。
如步骤S1310,由接收画面中取得一画面。如步骤S1320,判断此画面的画面类型。若此画面为一B画面时(步骤S1330的是),如步骤S1340,判断是否已经取得两个B画面。若否(步骤S1340的否),流程回到步骤S1310,再取得另一画面。若已经有两个B画面(步骤S1340的是),如步骤S1350,分别将两个B画面切割为一上部画面与一底部画面,且如步骤S1355,将分别相应两个B画面的上部画面与底部画面储存至储存单元330中的第一队列331中。之后,流程回到步骤S1310。若此画面并非是一B画面时(步骤S1330的否),而是一I或P画面时(步骤S1360的是),如步骤S1370,将储存单元330中的第一队列331与第二队列332切换。类似地,接收画面中的至少一后续画面将会储存于第二队列332并进行后续编码程序。之后,如步骤S1380,将I画面或P画面储存至第一队列331中,并如步骤S1390,同时通过执行线程中的一第一执行线程、一第二执行线程、一第三执行线程、一第四执行线程、与一第五执行线程分别对于第一队列331中的分别相应两个B画面的上部画面与底部画面与一个I画面或P画面进行编码。类似地,当五个执行线程同时分别对于两个B画面的上部画面与底部画面与一个I画面或P画面中的MB进行编码时,相应两个B画面的上部画面与底部画面与一个I画面或P画面的MB通过VLC处理后的结果会共同回馈至位率控制,以决定相应后续MB编码的Q值。之后,流程回到步骤S1310,继续取得其它的画面,必进行后续编码程序。注意的是,当画面并非是B画面、I画面或P画面时,表示编码程序发生错误,结束流程。
图14显示一MPEG的影像画面例子。I、B与P分别表示I画面、B画面与P画面。首先,读取I1画面,并将I1画面编码,则剩余的画面为图15A所示。读取P4画面,并将P4画面编码,则剩余的画面为图15B所示。之后,读取B2、B3、与P7画面,并同时将B2、B3、与P7画面编码,则剩余的画面为图15C所示。读取B5、B6、与P10画面,并同时将B5、B6、与P10画面编码,则剩余的画面为图15D所示。读取B8、B9、与P13画面,并同时将B8、B9、与P13画面编码,则剩余的画面为图15E所示。读取B11、B12、与I3画面,并同时将B11、B12、与I3画面编码,则剩余的画面为图15F所示。读取B1、B2、与P6画面,并同时将B1、B2、与P6画面编码,则剩余的画面为图15G所示。最后,读取B4与B5画面,并同时将B4与B5画面编码,从而完成整个编码操作。
必须再次提醒的是,由于不同编码算法可以具有不同的画面定义及其相应的编码顺序,因此,支持多核心的视频编码装置所要建立的执行线程的数目,及其处理一序列中的画面的顺序均可依据不同编码算法与需求进行任意调整,并不限定于上述实施例中的例子。
本发明的方法,或特定型态或其部分,可以以程序代码的型态包含于物理介质,如软盘、光盘片、硬盘、或是任何其它机器可读取(如计算机可读取)储存介质,其中,当程序代码被机器,如计算机加载且执行时,此机器变成用以参与本发明的装置。本发明的方法与装置也可以以程序代码型态通过一些传送介质,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序代码被机器,如计算机接收、加载且执行时,此机器变成用以参与本发明的装置。当在一般用途处理器实作时,程序代码结合处理器提供一操作类似于应用特定逻辑电路的独特装置。
虽然本发明已以较佳实施例揭示如上,然而其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视权利要求所界定的范围为准。
Claims (12)
1.一种位率控制方法,适用于支持至少一核心的一视频编码装置,包括下列步骤:
接收一序列的多个画面;
依据该视频编码装置的该核心的数目,建立多个执行线程;
利用所述执行线程同时对于所述画面中的至少一画面进行编码;以及
依据相应所述至少一画面的编码结果对于该序列中的所述画面进行编码。
2.如权利要求1所述的位率控制方法,其特征在于,还包括下列步骤:
判断所述画面中的一第一画面的画面类型;
若该第一画面为一B画面时,由所述画面中取得一第二画面,其中该第二画面为一B画面;以及
同时通过所述执行线程中的一第一执行线程与一第二执行线程分别对于该第一画面与该第二画面进行编码。
3.如权利要求1所述的位率控制方法,其特征在于,还包括下列步骤:
判断所述画面中的一第一画面的画面类型;
若该第一画面为一I画面或P画面时,将该第一画面分割为一上部画面与一底部画面;以及
同时通过所述执行线程中的一第一执行线程与一第二执行线程分别对于该第一画面的该上部画面与该底部画面进行编码。
4.如权利要求1所述的位率控制方法,其特征在于,还包括下列步骤:
判断所述画面中的一第一画面的画面类型;
若该第一画面为一B画面时,由所述画面中取得一第二画面,其中该第二画面为一B画面;
判断所述画面中的一第三画面的画面类型;以及
若该第三画面为一I画面或P画面时,同时通过所述执行线程中的一第一执行线程、一第二执行线程、与一第三执行线程分别对于该第一画面、该第二画面、与该第三画面进行编码。
5.如权利要求1所述的位率控制方法,其特征在于,还包括下列步骤:
判断所述画面中的一第一画面的画面类型;
若该第一画面为一B画面时,由所述画面中取得一第二画面,其中该第二画面为一B画面;
分别将该第一画面与该第二画面分割为一上部画面与一底部画面;
判断所述画面中的一第三画面的画面类型;以及
若该第三画面为一I画面或P画面时,同时通过所述执行线程中的一第一执行线程、一第二执行线程、一第三执行线程、一第四执行线程、与一第五执行线程分别对于该第一画面的上部画面、该第一画面的底部画面、该第二画面的上部画面、该第二画面的底部画面、与该第三画面进行编码。
6.如权利要求1所述的位率控制方法,其特征在于,还包括下列步骤:
依据相应所述至少一画面中一第一画面的一第一宏区块的编码结果与相应所述至少一画面中一第二画面的一第二宏区块的编码结果,决定一编码程序中的一量化值;以及
依据该量化值分别对于该第一画面的一第三宏区块与该第二画面的一第四宏区块进行一量化操作。
7.一种位率控制装置,支持至少一核心,包括:
一接收单元,用以接收一序列的多个画面;以及
一处理单元,依据该核心的数目,建立多个执行线程,利用所述执行线程同时对于所述画面中的至少一画面进行编码,且依据相应所述至少一画面的编码结果对于该序列中的所述画面进行编码。
8.如权利要求7所述的位率控制装置,其特征在于,该处理单元还判断所述画面中的一第一画面的画面类型,若该第一画面为一B画面时,由所述画面中取得一第二画面,其中该第二画面为一B画面,且同时通过所述执行线程中的一第一执行线程与一第二执行线程分别对于该第一画面与该第二画面进行编码。
9.如权利要求7所述的位率控制装置,其特征在于,该处理单元还判断所述画面中的一第一画面的画面类型,若该第一画面为一I画面或P画面时,将该第一画面分割为一上部画面与一底部画面,且同时通过所述执行线程中的一第一执行线程与一第二执行线程分别对于该第一画面的该上部画面与该底部画面进行编码。
10.如权利要求7所述的位率控制装置,其特征在于,该处理单元还判断所述画面中的一第一画面的画面类型,若该第一画面为一B画面时,由所述画面中取得一第二画面,其中该第二画面为一B画面,判断所述画面中的一第三画面的画面类型,若该第三画面为一I画面或P画面时,同时通过所述执行线程中的一第一执行线程、一第二执行线程、与一第三执行线程分别对于该第一画面、该第二画面、与该第三画面进行编码。
11.如权利要求7所述的位率控制装置,其特征在于,该处理单元还判断所述画面中的一第一画面的画面类型,若该第一画面为一B画面时,由所述画面中取得一第二画面,其中该第二画面为一B画面,分别将该第一画面与该第二画面分割为一上部画面与一底部画面,判断所述画面中的一第三画面的画面类型,若该第三画面为一I画面或P画面时,同时通过所述执行线程中的一第一执行线程、一第二执行线程、一第三执行线程、一第四执行线程、与一第五执行线程分别对于该第一画面的该上部画面、该第一画面的该底部画面、该第二画面的该上部画面、该第二画面的该底部画面、与该第三画面进行编码。
12.如权利要求7所述的位率控制装置,其特征在于,该处理单元还依据相应所述至少一画面中一第一画面的一第一宏区块的编码结果与相应所述至少一画面中一第二画面的一第二宏区块的编码结果,决定一编码程序中的一量化值,且依据该量化值分别对于该第一画面的一第三宏区块与该第二画面的一第四宏区块进行一量化操作。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710112067.4A CN101330608A (zh) | 2007-06-22 | 2007-06-22 | 位率控制方法及装置 |
US12/007,839 US20080317121A1 (en) | 2007-06-22 | 2008-01-16 | Rate control methods and devices |
DE102008014640A DE102008014640A1 (de) | 2007-06-22 | 2008-03-17 | Verfahren und Vorrichtung zur Ratensteuerung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710112067.4A CN101330608A (zh) | 2007-06-22 | 2007-06-22 | 位率控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101330608A true CN101330608A (zh) | 2008-12-24 |
Family
ID=40030940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710112067.4A Pending CN101330608A (zh) | 2007-06-22 | 2007-06-22 | 位率控制方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20080317121A1 (zh) |
CN (1) | CN101330608A (zh) |
DE (1) | DE102008014640A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102280170B1 (ko) * | 2013-10-04 | 2021-07-21 | 삼성전자주식회사 | 프레임의 특성에 따라 부하를 분배하는 방법 및 장치 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6307886B1 (en) * | 1998-01-20 | 2001-10-23 | International Business Machines Corp. | Dynamically determining group of picture size during encoding of video sequence |
US6963608B1 (en) * | 1998-10-02 | 2005-11-08 | General Instrument Corporation | Method and apparatus for providing rate control in a video encoder |
US7158571B2 (en) * | 2000-12-11 | 2007-01-02 | Sony Corporation | System and method for balancing video encoding tasks between multiple processors |
BRPI0606627A2 (pt) * | 2005-01-19 | 2009-07-07 | Thomson Licensing | método e aparelho para codificação paralela em tempo real |
US8223845B1 (en) * | 2005-03-16 | 2012-07-17 | Apple Inc. | Multithread processing of video frames |
US8000388B2 (en) * | 2006-07-17 | 2011-08-16 | Sony Corporation | Parallel processing apparatus for video compression |
CN101584216A (zh) * | 2006-12-27 | 2009-11-18 | 英特尔公司 | 解码和编码视频信息的方法和装置 |
-
2007
- 2007-06-22 CN CN200710112067.4A patent/CN101330608A/zh active Pending
-
2008
- 2008-01-16 US US12/007,839 patent/US20080317121A1/en not_active Abandoned
- 2008-03-17 DE DE102008014640A patent/DE102008014640A1/de not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
US20080317121A1 (en) | 2008-12-25 |
DE102008014640A1 (de) | 2008-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10104401B2 (en) | Efficient software for transcoding to HEVC on multi-core processors | |
US8345750B2 (en) | Scene change detection | |
EP2839647B1 (en) | Constraints and unit types to simplify video random access | |
CN1253014C (zh) | 图像编码方法及设备和图像解码方法及设备 | |
JP2022133427A (ja) | マルチラインフレーム内予測のための方法、装置、及びコンピュータプログラム | |
US8804825B2 (en) | Bi-pred mode decision in GOP architecture | |
KR101759461B1 (ko) | 부호화 장치, 복호화 장치, 부호화 방법, 복호화 방법, 및 컴퓨터 판독가능 기억 매체 | |
EP0920214B1 (en) | Apparatus and method of coding/decoding moving picture | |
KR20110086843A (ko) | Gpu 가속을 갖는 소프트웨어 비디오 트랜스코더 | |
US20100153687A1 (en) | Streaming processor, operation method of streaming processor and processor system | |
CN118118690A (zh) | 视频解码方法、装置、计算机设备及存储介质、方法 | |
US20110216827A1 (en) | Method and apparatus for efficient encoding of multi-view coded video data | |
KR20050079418A (ko) | 에러의 전파를 방지하고 병렬 처리가 가능한 디코딩 방법및 그 디코딩 장치 | |
US8634467B2 (en) | Flexible Wyner-Ziv video frame coding | |
CN101330608A (zh) | 位率控制方法及装置 | |
CN115552898A (zh) | 视频编码中并行处理的改进 | |
KR100345450B1 (ko) | 인트라 블록 예측 부호화 및 복호화 장치 및 그 방법 | |
JP2008141407A (ja) | 符号化方式変換装置及び符号化方式変換方法 | |
CN102204253B (zh) | 基于运动估计的视频编码/解码装置和方法 | |
JP3905938B2 (ja) | 画像符号化装置および画像復号化装置 | |
JP3948442B2 (ja) | 動き補償復号化装置 | |
JP2004007778A (ja) | 動き補償復号化方法 | |
CN114845113A (zh) | 视频压缩方法、装置及计算机可读存储介质 | |
JP2022522842A (ja) | ビデオコーディングのための方法、装置及びプログラム | |
Miura et al. | A simple compression method using movion vector of video encoder in the destributed system |
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 |
Open date: 20081224 |