CN103686190A - 立体视频的编码方法与编码装置 - Google Patents
立体视频的编码方法与编码装置 Download PDFInfo
- Publication number
- CN103686190A CN103686190A CN201210329862.XA CN201210329862A CN103686190A CN 103686190 A CN103686190 A CN 103686190A CN 201210329862 A CN201210329862 A CN 201210329862A CN 103686190 A CN103686190 A CN 103686190A
- Authority
- CN
- China
- Prior art keywords
- pixel data
- search window
- picture
- visual angle
- huge square
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种立体视频的编码方法与编码装置。此方法包括:载入第一欲编码画面的第一巨方的像素数据,其中第一欲编码画面属于第一视角;载入一个参考画面的一个搜寻视窗的像素数据;根据此搜寻视窗的像素数据以及第一巨方块的像素数据执行第一动作估测;载入第二欲编码画面的第二巨方块的像素数据,其中第二欲编码画面属于第二视角,并且第二视角不同于第一视角;以及根据搜寻视窗的像素数据与第二巨方块的像素数据执行第二动作估测,通过与第一动作估测共享所载入的搜寻视窗的像素数据。藉此,可以减少储存器的带宽需求。
Description
技术领域
本发明是有关于一种用于立体视频的编码方法与编码装置。
背景技术
一般来说,要编码或压缩一段立体视频时,会用一个参考画面来预测一张目前的画面,用以找到时间的冗余(temporal redundancy)。此预测可以通过执行动作估测(motion estimation)来达成,其是要在参考画面的搜寻视窗(search window)中找到与目前的巨方块最接近的一个参考巨方块。通常,参考画面是储存在一个储存器中,当需要执行动作估测时,会从此储存器读取对应的搜寻视窗的像素数据。然而,立体视频中的一个画面会属于多个视角的其中之一,因此参考画面与目前画面可能属于同一个视角,也可能属于不同的视角。或者,要编码一张目前画面会需要两张参考画面,其中一个与目前画面属于同一个视角,另一个则否。也就是说,在编码立体视频时会从储存器中读取属于不同视角的参考画面内的像素数据,此会增加储存器的带宽需求。因此,如何减少此储存器的带宽需求,为此领域研究人员所关心的议题。
发明内容
本发明的实施例提出一种立体视频的编码方法与编码装置可以减少储存器的带宽需求。
本发明一实施例提出一种立体视频的编码方法,用于一个编码装置。此方法包括:载入第一欲编码画面的第一巨方块的像素数据,其中第一欲编码画面属于第一视角;载入第一参考画面的第一搜寻视窗的像素数据;根据第一搜寻视窗的像素数据以及第一巨方块的像素数据执行第一动作估测;载入第二欲编码画面的第二巨方块的像素数据,其中第二欲编码画面属于第二视角,并且第二视角不同于第一视角;以及根据第一搜寻视窗的像素数据与第二巨方块的像素数据执行第二动作估测,通过与第一动作估测共享所载入的第一搜寻视窗之像素数据。
在一实施例中,上述的第一巨方块在第一欲编码画面的位置与第二巨方块在第二欲编码画面的位置相一致。
在一实施例中,上述的第一参考画面属于第一视角与第二视角当中的一者。
在一实施例中,上述的第一参考画面,以及第一欲编码画面与第二欲编码画面当中的与第一参考画面属同一视角的画面相邻。
在一实施例中,上述的第一参考画面,以及第一欲编码画面与第二欲编码画面当中的与第一参考画面属同一视角的画面,相隔至少一画面。
在一实施例中,上述的第一巨方块与第二巨方块当中一者被载入后,第一巨方块与第二巨方块当中另一者接续被载入。
在一实施例中,当第一动作估测与第二动作估测当中一者执行完毕后,再接续执行第一动作估测与第二动作估测当中另一者。
在一实施例中,上述的第一动作估测与第二动作估测同时执行。
在一实施例中,上述的编码方法还包括:载入第二参考画面的第二搜寻视窗的像素数据,其中第一动作估测与第二动作估测当中的一者还依据第二搜寻视窗的像素数据来进行;载入第三欲编码画面的第三巨方块,其中第二欲编码画面属于第三视角,并且第三视角不同于第一视角与第二视角;以及根据第二搜寻视窗的像素数据与第三巨方块的像素数据执行第三动作估测,通过与第一动作估测与第二动作估测当中的一者共享所载入的第二搜寻视窗的像素数据。
在一实施例中,上述的第一巨方块在第一欲编码画面的位置、第二巨方块在第二欲编码画面的位置,以及第三巨方块在第三欲编码画面的位置是相一致。
在一实施例中,上述的第一参考画面属于第一至第三视角当中的一者,以及第二参考画面属于第一至第三视角当中的另一者。
在一实施例中,上述的第一至第三巨方块当中一者被载入后,第一至第三巨方块当中另一者接续被载入。第一至第三巨方块当中另一者后被载入后,第一至第三巨方块当中还另一者接续被载入。
在一实施例中,上述的编码方法还包括:载入第二参考画面的第二搜寻视窗的像素数据,其中第一动作估测与第二动作估测当中的一者还依据第二搜寻视窗的像素数据来进行;载入第三欲编码画面的第三巨方块,其中第三欲编码画面属于第一视角与第二视角当中至一者;以及根据第一搜寻视窗的像素数据、第二搜寻视窗的像素数据与第三巨方块的像素数据执行第三动作估测,通过与第一动作估测或第二动作估测共享所载入的第一搜寻视窗的像素数据与第二搜寻视窗的像素数据。
在一实施例中,上述的第一巨方块在第一欲编码画面的位置、第二巨方块在第二欲编码画面的位置,以及第三巨方块在第三欲编码画面的位置相一致。
在一实施例中,上述的第一参考画面与第二参考画面属于第一至第二视角当中的同一者。
在一实施例中,上述的编码方法还包括:载入第三参考画面的第三搜寻视窗的像素数据,其中第一动作估测与第二动作估测当中的另一者还依据第三搜寻视窗的像素数据来进行。
在一实施例中,上述的第一参考画面与第二参考画面属于第一至第二视角当中的同一者,并且第三参考画面是属于第一至第二视角当中的另一者。
以另外一个角度来说,本发明一实施例提出一种编码装置,包括储存器与编码器。编码器是耦接至储存器,用以从储存器中载入第一欲编码画面的第一巨方块的像素数据,其中第一欲编码画面属于第一视角。编码器也用以从储存器中载入第一参考画面的第一搜寻视窗的像素数据,根据第一搜寻视窗的像素数据以及第一巨方块的像素数据执行第一动作估测,并且载入第二欲编码画面的第二巨方块的像素数据。其中,第二欲编码画面属于第二视角,并且第二视角不同于第一视角。编码器也用以根据第一搜寻视窗的像素数据与第二巨方块的像素数据执行第二动作估测,通过与第一动作估测共享所载入的第一搜寻视窗的像素数据。
在一实施例中,上述的第一巨方块在第一欲编码画面的位置与第二巨方块在第二欲编码画面的位置相一致。
在一实施例中,上述的第一参考画面属于第一视角与第二视角当中的一者。
在一实施例中,上述的编码器还用以从储存器中载入第二参考画面的第二搜寻视窗的像素数据,其中第一动作估测与第二动作估测当中的一者还依据第二搜寻视窗的像素数据来进行。编码器还用以从储存器中载入第三欲编码画面的第三巨方块,其中第二欲编码画面属于第三视角,并且第三视角不同于第一视角与第二视角。编码器还用以根据第二搜寻视窗的像素数据与第三巨方块的像素数据执行第三动作估测,通过与第一动作估测与第二动作估测当中的一者共享所载入的第二搜寻视窗的像素数据。
在一实施例中,上述的编码器还用以从储存器中载入第二参考画面的第二搜寻视窗的像素数据,其中第一动作估测与第二动作估测当中的一者还依据第二搜寻视窗的像素数据来进行。编码器还用以从储存器中载入第三欲编码画面的第三巨方块,其中第三欲编码画面属于第一视角与第二视角当中的一者。编码器还用以根据第一搜寻视窗的像素数据、第二搜寻视窗的像素数据与第三巨方块的像素数据执行第三动作估测,通过与第一动作估测或第二动作估测共享所载入的第一搜寻视窗的像素数据与第二搜寻视窗的像素数据。
本发明一实施例提出一种立体视频的编码方法,用于一个编码装置。此方法包括:载入一第一欲编码画面的一第一巨方块的像素数据,该第一欲编码画面属于一第一视角;载入一第一参考画面中的一第一搜寻视窗的像素数据;根据该第一搜寻视窗的该像素数据以及该第一巨方块的该像素数据执行一第一动作估测;载入一第二欲编码画面的一第二巨方块的像素数据,该第二欲编码画面属于该第二视角,该第二视角不同于该第一视角;载入该第一参考画面的一第二搜寻视窗中与该第一搜寻视窗的一不相重叠区域的像素数据,其中该第二搜寻视窗系包括与该第一搜寻视窗的该不相重叠区域与一相重叠区域,以及根据该第二搜寻视窗的该像素数据与该第二巨方块的像素数据执行一第二动作估测,通过与该第一动作估测共享该第一搜寻视窗与该第二搜寻视窗的该相重叠的区域的该像素数据。
基于上述,本发明实施例提出的视频编码方法与编码装置,让两个以上的动作估测可以共享同一搜寻视窗或不同搜寻视窗相重叠区域的像素数据,藉此减少储存器的带宽需求。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图说明作详细说明如下。
附图说明
图1是根据一实施例说明编码装置的方块图;
图2A与图2B是根据一实施例说明立体视频的范例示意图;
图3是根据一实施例说明不同视角的两个画面依附同一个参考画面时执行动作估测的范例示意图;
图4是根据一实施例说明编码有三个视角的立体视频的范例示意图;
图5至图7是根据第二实施例说明编码立体视频的范例示意图;
图8是根据一实施例说明立体视频的编码方法的流程图;
图9是根据一实施例说明立体视频的编码方法的流程图。
附图标记说明
100:编码装置;
110:编码器;
111:暂存储存器;
112~115:编码模块;
116:储存器接口;
120:储存器;
210、220、410、510、520、530:视角;
211~214、221~224、411~414、511~514、521~524、531~534:画面;
230、231、250、251、420、541、542、611~613、701~703:巨方块;
240、260、261、430、550、621、622、711~713:搜寻视窗;
270:不相重叠区域;
271:相重叠区域;
301~304、401~403、601~603、721~723:时间点;
S802、S804、S806、S808、S810:视频编码方法的步骤。
具体实施方式
第一实施例
图1是根据一实施例说明编码装置的方块图。
请参照图1,编码装置100是用以编码或压缩一段立体视频。编码装置100包括编码器110与储存器120。
储存器120储存了欲编码画面以及参考画面的像素数据。
编码器110包括暂存储存器111、编码模块112~115以及储存器接口116。储存器接口116会从储存器120读取欲编码画面与参考画面中的像素数据并储存在暂存储存器111中。编码模块112~115会以管线(pipeline)的形式来处理欲编码画面。例如,编码模块112是用以执行动作估测,编码模块113是用以执行帧内预测(intra prediction),编码模块114是用以执行转换运算(例如,离散余弦转换(discrete cosine transform,简称:DCT))与量化运算,并且编码模块115是用以执行熵值编码。
在其他实施例中,编码器110也可以被实作为更多或更少阶段的管线。例如,转换运算与量化运算可被分为两个阶段,或者熵值编码可分为二进位化运算与算术编码。本发明并不限制编码器110中管线的阶段的个数(或称管线的深度)。
图2A与图2B是根据一实施例说明立体视频的范例示意图。
请参照图2A,一段立体视频会包括画面211~214与画面221~224。画面211~214是属于视角210,画面221~224是属于视角220,并且视角210不同于视角220。举例来说,画面211~214是由一个摄影机所撷取,而画面221~224是由另一个摄影机所撷取,这两个摄影机是拍摄同一个景象但彼此之间会有一间距。一个立体视频播放器可以让使用者的左眼或右眼看到画面211~214,让使用者的另一眼看到画面221~224,使得使用者会觉得自己看到一个立体视频。因此,画面211~214的内容会类似于与画面221~224的内容,使得可以通过动作估测来找到视角之间的冗余。在此,图2中的箭头指的是依附的关系。具体来说,画面221为I(intra)画面,其是用本身的像素数据来压缩。画面222依附于画面221,也就是说,画面221中的像素数据是用以预测画面222的像素数据。在此,画面222亦被称为一个P(prediction)画面,即当画面222为欲编码画面且要执行动作估测时,画面221为参考画面。类似地,画面211也会依附于画面221。换句话说,虽然画面211与画面222属于不同的视角,但都依附于画面221。
在此假设画面223与画面212为欲编码画面,并且画面222为对应的参考画面。画面223中的巨方块230是对应到搜寻视窗240,并且画面212中的巨方块231也是对应到搜寻视窗240。当要编码巨方块230与巨方块231时,编码器110会载入巨方块230与巨方块231的像素数据,并且会载入搜寻视窗240的像素数据。编码器110会根据巨方块230的像素数据与搜寻视窗240的像素数据执行一个动作估测。关于动作估测,有种种不同的方法均可采用。举例而言,编码器110可从搜寻视窗240中找到与巨方块230相似的参考区块(reference block)。此参考区块是用以预测巨方块230,因此编码器110只需要编码参考方块与巨方块之间的差值(residual)。编码器110可采用任何的动作估测演算法(例如,钻石演算法或是六角形搜寻法),本发明并不在此限。而参考方块与巨方块之间的差值可以是绝对误差和(sum of absolutedifference,简称:SAD)或绝对转换误差和(sum of absolute transformeddifferences,简称:SATD),本发明不在此限。执行完动作估测以后,编码器110会取得参考区块与巨方块230之间的一位移值作为一个移动向量(motionvector)。另外,该参考区块与巨方块230的差值可安排为最小。值得注意的是,在此所指的差值最小是指根据一个动作估测演算法所找到的最小差值。然而,所找到的参考区块并不一定是在搜寻视窗内所有的参考区块中与巨方块的差值最小的一个。在一实施例中,若要确保所找到的参考区块所对应的差值最小,可以采用全搜寻(full search)演算法,本发明并不在此限。
类似地,编码器110还会根据巨方块231的像素数据与搜寻视窗240的像素数据执行另一个动作估测。与前述针对巨方块230的动作估测类似,针对巨方块231有种种不同动作估测的方法可以采用,譬如但不限于是在搜寻视窗240寻找一参考区块,继而可计算为参考区块与巨方块231的一位移值作为一移动向量,然本发明并不在此限。
特别的是,这两个动作估测会分享搜寻视窗240的像素数据。换句话说,当搜寻视窗240的像素数据从储存器120被载入至编码器110以后,在这些像素数据储存在编码器110中的期间,编码模块112会根据这些像素数据执行两个以上的动作估测,藉此减少储存器120的带宽需求。
在此,“像素数据”可以包括画面中像素的亮度(luminance)值或是彩度(chroma)值。例如,亮度值是YCbCr色域中的Y值,而彩度值可以是Cb值或是Cr值。然而,亮度值以及彩度值也可以是在Lab色域或是其他色域,本发明并不在此限。
在一实施例中,巨方块230在欲编码画面223中的位置与巨方块231在欲编码画面212中的位置相同。因此,巨方块230对应在参考画面222上的搜寻视窗与巨方块231对应在参考画面222上的搜寻视窗会完全重叠(即,搜寻视窗240)。然而,在另一实施例中,巨方块230与巨方块231的位置可以不相同,其对应在参考画面222上的两个搜寻视窗会部分的重叠。
请参照图2B,在图2B所示的实施例中,巨方块250是对应至搜寻视窗260,并且巨方块251是对应至搜寻视窗261。其中,搜寻视窗260与搜寻视窗261会部份的重叠。换言之,搜寻视窗260包括了不相重叠区域270与相重叠区域271,而相重叠区域271是与搜寻视窗261重叠的部份。因此,对应巨方块250的动作估测与对应巨方块251的动作估测可以分享相重叠区域271的像素数据。具体来说,编码器110会载入巨方块251的像素数据,载入搜寻视窗261的像素数据,并且根据搜寻视窗261的像素数据与巨方块251的像素数据执行一个动作估测。另一方面,编码器110也会载入巨方块250的像素数据,载入不相重叠区域270的像素数据,并且根据搜寻视窗260的像素数据与巨方块250的像素数据执行另一个动作估测。如此一来,相重叠区域271内的像素数据只需要被载入一次,而上述两个动作估测可以分享相重叠区域271的像素数据,藉此,可以减少储存器120的带宽需求。
图3是根据一实施例说明不同视角的两个画面依附同一个参考画面时执行动作估测的范例示意图。
请参照图3,假设此时要编码欲编码画面223与画面212。当巨方块230与巨方块231其中一者被载入至编码器110以后,巨方块230与巨方块231当中另一者是接续被载入。并且,对应巨方块230的动作估测与对应巨方块231的动作估测的其中一者被执行完毕以后,另一个动作估测是接续的被执行。换句话说,编码器110是不同时地对欲编码画面223中的一个巨方块与欲编码画面212中的一个巨方块执行动作估测。
具体来说,以下用一个向量(视角编号,画面编号,巨方块编号)来说明一个巨方块的位置。在此假设视角210的视角编号为“1”,视角220的视角编号为“0”。此外,画面211与画面221的画面编号为“0”,画面212与画面222的画面编号为“1”,画面213与画面223的画面编号为“2”,画面214与画面224的画面编号为“3”。巨方块编号则表示一个巨方块在画面中的位置。在时间点301,编码模块112会对位于(0,2,0)的巨方块执行动作估测。在时间点302,编码模块112会对位于(1,1,0)的巨方块执行动作估测。在时间点303,编码模块112会对位于(0,2,1)的巨方块执行动作估测。在时间点304,编码模块112会对位于(1,1,1)的巨方块执行动作估测。因此,对位于(0,2,0)的巨方块所执行的动作估测与对位于(1,1,0)所执行的动作估测可以分享同一个搜寻视窗的像素数据。另一方面,对位于(0,2,1)的巨方块所执行的动作估测与对位于(1,1,1)所执行的动作估测可以分享同一个搜寻视窗的像素数据。
在图3所示的实施例中,画面211~214与画面221~224是以循序画面为例说明,对于其他实施例中可为其他类型的画面,譬如交错画面,以下将于图5至图7的实施例进行说明。此外,在图3所示的实施例中,于进行编码立体视频时,两个欲编码画面会属于不同的两个视角(亦即视角210与视角220),并且一个参考画面是以这两个视角的其中的一者,对于其他实施例,参考画面的视角不限于视角210与视角220的其中之一。此外,这两个欲编码画面中与参考画面中属于同一个视角的画面与参考画面是相邻。例如,欲编码画面223与参考画面222是相邻。对于其他实施例中不限于此,譬如两个欲编码画面可相隔一至多个画面,以下亦于图5至图7的实施例进行说明。
除了交错(亦即循序或不同时)的执行动作估测以外,编码装置100也可以用平行的方式同时执行两个以上的动作估测。具体来说,在另一实施例中,编码装置100还包括多个编码模块(也称第二编码模块)。这些第二编码模块的个数与功能都和编码模块112~115相同。当编码模块112执行对应巨方块230的动作估测时,第二编码模块的其中之一同时执行对应于巨方块231的动作估测。并且,第二编码模块所执行的动作估测与编码模块112所执行的动作估测会分享所载入的像素数据。这些第二编码模块可以被配置在编码器110之内或之外,本发明并不在此限。
图4是根据一实施例说明编码有三个视角的立体视频的范例示意图。
请参照图4,画面411~414属于视角410,并且视角410不同于视角210与视角220。画面411与画面212都依附于画面211。在此,画面223、画面212与画面411为欲编码画面,而画面222与画面211为参考画面。巨方块231与巨方块420是对应至参考画面211上的搜寻视窗430。值得注意的是,为了简洁起见,图4并没有示出所有的依附关系。
编码器110除了载入巨方块230、巨方块231与搜寻视窗240的像素数据以外,还会载入搜寻视窗430的像素数据。对应巨方块231的动作估测也会根据搜寻视窗430来执行。也就是说,在执行对应于巨方块231的动作估测时,编码模块112会从搜寻视窗240与搜寻视窗430以找到与巨方块231最相似的像素数据。此外,编码器110还会载入巨方块420的像素数据,并且根据巨方块420与搜寻视窗430的像素数据执行动作估测。值得注意的是,对应巨方块420的动作估测与对应巨方块231的动作估测会分享搜寻视窗430内的像素数据。也就是说,搜寻视窗430内的像素数据被载入至编码器110以后,在这些像素数据储存在编码器110的期间,编码模块112会执行对应巨方块420的动作估测与对应巨方块231的动作估测。因此,参考画面222与参考画面211中的像素数据都会被分享,并且参考画面222与参考画面211是属于不同的视角。
在图4所示的实施例中,巨方块230在欲编码画面223的位置、巨方块231在欲编码画面212中的位置、以及巨方块420在欲编码画面411中的位置是互相一致。然而,在另一实施例中,巨方块230与巨方块231的位置可以不相同,其对应在参考画面222上的两个搜寻视窗可部分的重叠,或/及巨方块420与巨方块231的位置可以不相同,其对应在参考画面211上的两个搜寻视窗可部分的重叠。如此一来,这些动作估测仍可分享搜寻视窗中重叠的像素数据,从而减少储存器120的带宽需求。
另外,巨方块230、巨方块231与巨方块420可被循序地载入至编码器110。换言之,当巨方块230、巨方块231与巨方块420当中一者被载入至编码器110后,当中另一个是接续的被载入。并且在上述另一者被载入以后,巨方块230、巨方块231与巨方块420当中还另一者是接续被载入。
具体来说,以下用向量(视角编号,画面编号,巨方块编号)来表示一个巨方块的位置。在此假设视角410的视角编号为“2”、画面411的画面编号为“0”,画面412的画面编号为“1”,画面413的画面编号为“2”,画面414的画面编号为“3”。在时间点401,编码模块112会对位于(0,2,0)的巨方块执行动作估测。在时间点402,编码模块112会对位于(1,1,0)的巨方块执行动作估测。在时间点403,编码模块112会对位于(2,0,0)的巨方块执行动作估测。如此一来,位于(0,2,0)的巨方块所对应的动作估测与位于(1,1,0)的巨方块所对应的动作估测可以分享相同的搜寻视窗内的像素数据。另外,位于(1,1,0)的巨方块所对应的动作估测与位于(2,0,0)的巨方块所对应的动作估测可以分享相同的搜寻视窗内的像素数据。
在图4所示的实施例中,画面211~214、画面221~224与画面411~414是以循序画面为例说明,对于其他实施例中可为其他类型的画面,譬如交错画面(亦被称为图场(field))。此外,在编码立体视频时,两个欲编码画面会属于不同的两个视角(亦即视角210与视角220,或是视角410与视角210),并且一个参考画面是以这两个视角的其中之一者为例说明,对于其他实施例,参考画面的视角不限于视角210与视角220(或视角410与视角210)的其中之一。此外,这两个欲编码画面中与参考画面中属于同一个视角的画面与参考画面是相邻。例如,欲编码画面223与参考画面222是相邻,以及欲编码画面212与参考画面211是相邻。对于其他实施例中不限于此,譬如两个欲编码画面可相隔一至多个画面。
另外,与图3的实施例类似,图4的实施例除了交错的执行动作估测以外,编码装置100也可以用平行的方式同时执行两个以上的动作估测。具体来说,在另一实施例中,编码装置100还包括多个编码模块(也称第二编码模块)。这些第二编码模块的个数与功能都和编码模块112~115相同。当编码模块112执行对应巨方块230的动作估测时,第二编码模块的其中之一同时执行对应于巨方块231的动作估测。并且,第二编码模块所执行的动作估测与编码模块112所执行的动作估测会分享所载入的像素数据。类似地,当编码模块112执行对应巨方块231的动作估测时,第二编码模块的其中之一同时执行对应于巨方块420的动作估测。并且,第二编码模块所执行的动作估测与编码模块112所执行的动作估测会分享所载入的像素数据。这些第二编码模块可以被配置在编码器110之内或之外,本发明并不在此限。
第二实施例
第二实施例与第一实施例类似,在此仅描述不同之处。图5至图7是根据第二实施例说明编码立体视频的范例示意图。
请参照图5,画面511~514是属于视角510,画面521~524是属于视角520,并且画面531~534是属于视角530。其中,与图2至图4的其中一点差异是,当两个欲编码画面依附至同一个参考画面时,这两个欲编码画面中与参考画面属于同一个视角的画面会与参考画面之间相隔至少一画面。举例来说,画面534与画面521是依附于画面531,因此画面534与画面521为欲编码画面而画面531为对应的参考画面。欲编码画面534与参考画面531属于同一个视角,且这两者之间是相隔至少一个画面。编码模块112会根据搜寻视窗550与巨方块541执行一个动作估测,并且会根据搜寻视窗550与巨方块542执行另一个动作估测。这两个动作估测会分享搜寻视窗550内的像素数据。然而,详细的分享步骤与第一实施例类似,在此并不再赘述。
请参照图6,在编码完画面534与画面521以后(譬如依据图5所示的实施例),画面532、画面533与画面524为欲编码画面,并且画面521、画面531与画面534为参考画面。其中,欲编码画面532与画面533都依附至参考画面531与画面534,并且欲编码画面524是依附至参考画面521与画面534。由于欲编码画面532与画面533是依附至同一个视角的两个参考画面,欲编码画面532与画面533亦被称为B(bi-directional)画面。
编码器110会载入巨方块611~613、搜寻视窗550、搜寻视窗621以及搜寻视窗622的像素数据。编码模块112会根据巨方块613、搜寻视窗621以及搜寻视窗622的像素数据执行动作估测。编码模块112也会根据巨方块612、搜寻视窗621以及搜寻视窗550的像素数据执行动作估测。编码模块112还会根据巨方块611、搜寻视窗621、以及搜寻视窗550的像素数据执行动作估测。关于对巨方块611与巨方块612作动作估测的方法,有种种不同的方式均可以采用。举例而言,针对巨方块611的动作估测,可分别在搜寻视窗621、搜索窗口550中分别找到参考区块(其中一个参考区块在搜寻视窗621,另一个参考区块则在搜寻视窗550上),继而可计算两个参考区块分别与巨方块611的位移量来得到二个移动向量。同理可类推巨方块612的动作估测方式。
在此,巨方块613在欲编码画面524中的位置、巨方块612在欲编码画面533中的位置以及巨方块611在欲编码画面532中的位置是相一致。因此,对应巨方块611的动作估测与对应巨方块612的动作估测会共享搜寻视窗621的像素数据与搜寻视窗550的像素数据。此外,对应巨方块612的动作估测与对应巨方块613的动作估测会共享搜寻视窗621的像素数据。也就是说,被共享的参考画面534与参考画面531可属于同一个视角530。
具体来说,以下用向量(视角编号,画面编号,巨方块编号)来表示一个巨方块的位置。在此假设视角510的视角编号为“2”,视角520的视角编号为“1”,并且视角530的视角编号为“0”。画面511、画面521与画面531的画面编号为“0”。画面512、画面522与画面532的画面编号为“1”。画面513、画面523与画面533的画面编号为“2”。画面514、画面524与画面534的画面编号为“3”。在时间点601,编码模块112会对位于(0,1,0)的巨方块执行动作估测。在时间点602,编码模块112会对位于(0,2,0)的巨方块执行动作估测。在时间点603,编码模块112会对位于(1,3,0)的巨方块执行动作估测。因此,位于(0,1,0)的巨方块所对应的动作估测与位于(0,2,0)的巨方块所对应的动作估测会分享两个搜寻视窗内的像素数据。此外,位于(0,2,0)的巨方块所对应的动作估测与位于(1,3,0)的巨方块所对应的动作估测会分享同一个搜寻视窗的像素数据。并且,位于(0,1,0)的巨方块所对应的动作估测与位于(1,3,0)的巨方块所对应的动作估测也会分享同一个搜寻视窗的像素数据。
请参照图7,在编码完画面524、画面532与画面533以后(譬如依据图6所示的实施例),画面524、画面532与画面533便可以当作参考画面。在此,画面511、画面522与画面523为欲编码画面。编码器110会载入巨方块701~703、搜寻视窗711~713与搜寻视窗622的像素数据。编码模块112可根据巨方块701、搜寻视窗711、搜寻视窗713以及搜寻视窗622的像素数据执行动作估测。编码模块112也会可根据巨方块702、搜寻视窗711、搜寻视窗712以及搜寻视窗622的像素数据来执行动作估测。关于对巨方块701做动作估测的方法,举例而言,可分别在搜寻视窗622、搜寻窗口711、搜寻窗口713中分别找到参考区块(其中一个参考区块在搜寻视窗622、搜寻视窗711与搜寻窗口713其中一者上,另一个参考区块则在搜寻视窗622、搜寻窗口711与搜寻窗口713其中另一者上),继而可计算两个参考区块分别与巨方块701的位移量来得到二个移动向量。另外,编码模块112还可根据巨方块703以及搜寻视窗622的像素数据执行动作估测。同样地,动作估测的方式譬如但不限于是在搜寻视窗622寻找一参考区块,继而可计算为参考区块与巨方块703的一位移值作为一移动向量。如此一来,对应巨方块701的动作估测与对应巨方块702的动作估测可以分享搜寻视窗711与搜寻视窗622的像素数据。此外,对应巨方块701的动作估测与对应巨方块703的动作估测可以分享搜寻视窗622的像素数据。
具体来说,在时间点721,编码模块112会对位于(1,1,0)的巨方块执行动作估测。在时间点722,编码模块112会对位于(1,2,0)的巨方块执行动作估测。在时间点723,编码模块112会对位于(2,0,0)的巨方块执行动作估测。如此一来,位于(1,1,0)的巨方块所对应的动作估测与位于(1,2,0)的巨方块所对应的动作估测会分享两个搜寻视窗内的像素数据。此外,位于(1,2,0)的巨方块所对应的动作估测与位于(2,0,0)的巨方块所对应的动作估测会分享同一个搜寻视窗的像素数据。并且,于(1,1,0)的巨方块所对应的动作估测与位于(2,0,0)的巨方块所对应的动作估测也会分享同一个搜寻视窗的像素数据。
值得注意的是,虽然本实施例中,巨方块701的动作估测与巨方块702的动作估测,分别使用到三个搜寻视窗,然本发明并不以此为限。于其他实施例中,可以使用较少或较多数目的搜寻视窗。举例而言,巨方块701的动作估测与巨方块702的动作估测分别可以使用到两个搜寻视窗622与搜寻视窗211而已。
另外,也须注意,图5至图7与图3及图4所示的实施例类似,同样可类推至两个巨方块的位置不相同但对应同一参考画面上的不同搜寻视窗部分重叠的情况。针对这些巨方块的动作估测,仍分享搜寻视窗中重叠的像素数据。此外,类似地,图5至图7的实施例,除了交错的执行动作估测以外,编码装置100也可以用平行的方式同时执行两个以上的动作估测。
图8是根据一实施例说明立体视频的编码方法的流程图,其譬如可(但不限于)应用于图1所示的编码装置100。
请参照图8,在步骤S802中,编码器110会载入第一欲编码画面的第一巨方块的像素数据,其中第一欲编码画面属于第一视角。在步骤S804中,编码器110会从储存器120中载入第一参考画面的第一搜寻视窗的像素数据。在步骤S806中,编码器110会根据第一搜寻视窗的像素数据以及第一巨方块的像素数据执行第一动作估测。在步骤S808中,编码器110会从储存器120载入第二欲编码画面的第二巨方块的像素数据,其中第二欲编码画面属于第二视角,第二视角不同于第一视角。在步骤S810中,编码器110会根据第一搜寻视窗的像素数据与第二巨方块的像素数据执行第二动作估测,通过与第一动作估测共享所载入的第一搜寻视窗的像素数据。由于图8中各步骤已详细说明如上述其他各实施例中,在此为简明起见便不再赘述。
图9是根据一实施例说明立体视频的编码方法的流程图,其譬如可(但不限于)应用于图1所示的编码装置100。图9实施例与图8实施例的差异主要在于不是分享同一个搜寻视窗的像素数据,而是分享不同搜寻视窗中重叠区域的像素数据。
请参照图9,步骤S902中,载入第一欲编码画面的第一巨方块的像素数据,此第一欲编码画面属于一个第一视角。步骤S904中,载入第一参考画面中的第一搜寻视窗的像素数据。步骤S906中,根据该第一搜寻视窗的像素数据以及第一巨方块的像素数据执行一个第一动作估测。在步骤S908中,载入第二欲编码画面的第二巨方块的像素数据,其中此第二欲编码画面属于一个第二视角,并且第二视角不同于第一视角。在步骤S910中,载入第一参考画面的第二搜寻视窗中与第一搜寻视窗的一个不相重叠区域的像素数据,其中第二搜寻视窗是包括与第一搜寻视窗的不相重叠区域与一个相重叠区域。在步骤912中,根据第二搜寻视窗的像素数据与第二巨方块的像素数据执行一个第二动作估测,通过与第一动作估测共享第一搜寻视窗与第二搜寻视窗的相重叠区域的像素数据。由于图9中各步骤已详细说明如上述其他各实施例中,在此为简明起见便不再赘述。
综上所述,本发明的实施例提出一种视频编码方法与编码装置,通过适当地安排不同欲编码画面中各巨方块(由视角编号,画面编号,巨方块编号定义)的编码或载入顺序,可以让两个以上的动作估测共享同一搜寻视窗或不同搜寻视窗相重叠区域的像素数据,进而可以减少储存器的带宽需求。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (23)
1.一种立体视频的编码方法,用于一编码装置,其特征在于,包括:
载入一第一欲编码画面的一第一巨方块的像素数据,该第一欲编码画面属于一第一视角;
载入一第一参考画面的一第一搜寻视窗的像素数据;
根据该第一搜寻视窗的该像素数据以及该第一巨方块的该像素数据执行一第一动作估测;
载入一第二欲编码画面的一第二巨方块的像素数据,该第二欲编码画面属于该第二视角,该第二视角不同于该第一视角;以及
根据该第一搜寻视窗的该像素数据与该第二巨方块的像素数据执行一第二动作估测,通过与该第一动作估测共享所载入的该第一搜寻视窗的该像素数据。
2.根据权利要求1所述的立体视频的编码方法,其特征在于,该第一巨方块在该第一欲编码画面的位置与该第二巨方块在该第二欲编码画面的位置系相一致。
3.根据权利要求1所述的立体视频的编码方法,其特征在于,该第一参考画面属于该第一视角与该第二视角当中的一者。
4.根据权利要求1所述的立体视频的编码方法,其特征在于,该第一参考画面,以及该第一欲编码画面与该第二欲编码画面当中的与该第一参考画面属同一视角的该画面相邻。
5.根据权利要求1所述的立体视频的编码方法,其特征在于,该第一参考画面,以及该第一欲编码画面与该第二欲编码画面当中的与该第一参考画面属同一视角的该画面,相隔至少一画面。
6.根据权利要求1所述的立体视频的编码方法,其特征在于,该第一巨方块与该第二巨方块当中一者被载入后,该第一巨方块与该第二巨方块当中另一者接续被载入。
7.根据权利要求1所述的立体视频的编码方法,其特征在于,当该第一动作估测与该第二动作估测当中一者执行完毕后,再接续执行该第一动作估测与该第二动作估测当中另一者。
8.根据权利要求1所述的立体视频的编码方法,其特征在于,该第一动作估测与该第二动作估测同时执行。
9.根据权利要求1所述的立体视频的编码方法,其特征在于,还包括:
载入一第二参考画面的一第二搜寻视窗的像素数据,其中该第一动作估测与该第二动作估测当中的一者还依据该第二搜寻视窗的像素数据来进行;
载入一第三欲编码画面的一第三巨方块,该第三欲编码画面属于一第三视角,该第三视角不同于该第一视角与该第二视角;以及
根据该第二搜寻视窗的该像素数据与该第三巨方块的像素数据执行一第三动作估测,通过与该第一动作估测与该第二动作估测当中的一者共享所载入的该第二搜寻视窗的该像素数据。
10.根据权利要求9所述的立体视频的编码方法,其特征在于,该第一巨方块在该第一欲编码画面的位置、该第二巨方块在该第二欲编码画面的位置,以及该第三巨方块在该第三欲编码画面的位置相一致。
11.根据权利要求9所述的立体视频的编码方法,其特征在于,该第一参考画面属于该第一至第三视角当中的一者,以及该第二参考画面属于该第一至第三视角当中的另一者。
12.根据权利要求9所述的立体视频的编码方法,其特征在于,该第一至第三巨方块当中一者被载入后,该第一至第三巨方块当中另一者接续被载入,以及该第一至第三巨方块当中另一者后被载入后,该第一至第三巨方块当中还另一者接续被载入。
13.根据权利要求1所述的立体视频的编码方法,其特征在于,还包括:
载入一第二参考画面的一第二搜寻视窗的像素数据,其中该第一动作估测与该第二动作估测当中的一者还依据该第二搜寻视窗的像素数据来进行;
载入一第三欲编码画面的一第三巨方块,该第三欲编码画面属于该第一视角与该第二视角当中至一者;以及
根据该第一搜寻视窗的该像素数据、该第二搜寻视窗的该像素数据与该第三巨方块的像素数据执行一第三动作估测,通过与该第一动作估测与该第二动作估测当中的该者共享所载入的该第一搜寻视窗的该像素数据与该第二搜寻视窗的该像素数据。
14.根据权利要求13所述的立体视频的编码方法,其特征在于,该第一巨方块在该第一欲编码画面的位置、该第二巨方块在该第二欲编码画面的位置,以及该第三巨方块在该第三欲编码画面的位置相一致。
15.根据权利要求13所述的立体视频的编码方法,其特征在于,该第一参考画面与该第二参考画面属于该第一至第二视角当中的同一者。
16.根据权利要求13所述的立体视频的编码方法,其特征在于,还包括载入一第三参考画面的一第三搜寻视窗的像素数据,其中该第一动作估测与该第二动作估测当中的另一者还依据该第三搜寻视窗的像素数据来进行。
17.根据权利要求16所述的立体视频的编码方法,其特征在于,该第一参考画面与该第二参考画面属于该第一至第二视角当中的同一者,该第三参考画面是属于该第一至第二视角当中的另一者。
18.一种编码装置,其特征在于,包括:
一储存器;以及
一编码器,耦接至该储存器,用以从该储存器中载入一第一欲编码画面的一第一巨方块的像素数据,其中该第一欲编码画面属于一第一视角,
其中,该编码器用以从该储存器中载入一第一参考画面的一第一搜寻视窗的像素数据,根据该第一搜寻视窗的该像素数据以及该第一巨方块的该像素数据执行一第一动作估测,并且载入一第二欲编码画面的一第二巨方块的像素数据,其中该第二欲编码画面属于该第二视角,该第二视角不同于该第一视角,
其中,该编码器用以根据该第一搜寻视窗的该像素数据与该第二巨方块的像素数据执行一第二动作估测,通过与该第一动作估测共享所载入的该第一搜寻视窗的该像素数据。
19.根据权利要求18所述的编码装置,其特征在于,该第一巨方块在该第一欲编码画面的位置与该第二巨方块在该第二欲编码画面的位置相一致。
20.根据权利要求18所述的编码装置,其特征在于,该第一参考画面属于该第一视角与该第二视角当中的一者。
21.根据权利要求18所述的编码装置,其特征在于,该编码器还用以从该储存器中载入一第二参考画面的一第二搜寻视窗的像素数据,其中该第一动作估测与该第二动作估测当中的一者还依据该第二搜寻视窗的像素数据来进行,
其中,该编码器还用以从该储存器中载入一第三欲编码画面的一第三巨方块,其中该第三欲编码画面属于一第三视角,并且该第三视角不同于该第一视角与该第二视角,
其中,该编码器还用以根据该第二搜寻视窗的该像素数据与该第三巨方块的像素数据执行一第三动作估测,通过与该第一动作估测与该第二动作估测当中的一者共享所载入的该第二搜寻视窗的该像素数据。
22.根据权利要求18所述的编码装置,其特征在于,该编码器还用以从该储存器中载入一第二参考画面的一第二搜寻视窗的像素数据,其中该第一动作估测与该第二动作估测当中的一者还依据该第二搜寻视窗的像素数据来进行,
其中,该编码器还用以从该储存器中载入一第三欲编码画面的一第三巨方块,其中该第三欲编码画面属于该第一视角与该第二视角当中至一者,
其中,该编码器还用以根据该第一搜寻视窗的该像素数据、该第二搜寻视窗的该像素数据与该第三巨方块的像素数据执行一第三动作估测,通过与该第一动作估测与该第二动作估测当中的该者共享所载入的该第一搜寻视窗的该像素数据与该第二搜寻视窗的该像素数据。
23.一种立体视频的编码方法,用于一编码装置,其特征在于,包括:
载入一第一欲编码画面的一第一巨方块的像素数据,该第一欲编码画面属于一第一视角;
载入一第一参考画面中的一第一搜寻视窗的像素数据;
根据该第一搜寻视窗的该像素数据以及该第一巨方块的该像素数据执行一第一动作估测;
载入一第二欲编码画面的一第二巨方块的像素数据,该第二欲编码画面属于该第二视角,该第二视角不同于该第一视角;
载入该第一参考画面的一第二搜寻视窗中与该第一搜寻视窗的一不相重叠区域的像素数据,其中该第二搜寻视窗是包括与该第一搜寻视窗的该不相重叠区域与一相重叠区域;以及
根据该第二搜寻视窗的该像素数据与该第二巨方块的像素数据执行一第二动作估测,通过与该第一动作估测共享该第一搜寻视窗与该第二搜寻视窗的该相重叠的区域的该像素数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210329862.XA CN103686190A (zh) | 2012-09-07 | 2012-09-07 | 立体视频的编码方法与编码装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210329862.XA CN103686190A (zh) | 2012-09-07 | 2012-09-07 | 立体视频的编码方法与编码装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103686190A true CN103686190A (zh) | 2014-03-26 |
Family
ID=50322276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210329862.XA Pending CN103686190A (zh) | 2012-09-07 | 2012-09-07 | 立体视频的编码方法与编码装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103686190A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1316856A (zh) * | 2000-01-27 | 2001-10-10 | 三星电子株式会社 | 运动估计器 |
KR20020023224A (ko) * | 2000-03-31 | 2002-03-28 | 요트.게.아. 롤페즈 | 2개의 상관된 데이터 열들의 엔코딩 |
CN1615027A (zh) * | 2004-11-30 | 2005-05-11 | 北京中星微电子有限公司 | 一种视频编解码过程中进行运动估计搜索计算的方法 |
CN101156450A (zh) * | 2005-04-12 | 2008-04-02 | 皇家飞利浦电子股份有限公司 | 利用区域的动态高宽比的基于区域的3drs运动估计 |
CN101330614A (zh) * | 2007-06-21 | 2008-12-24 | 中兴通讯股份有限公司 | 使用数字信号处理器进行分数像素精度运动估计的方法 |
CN101557519A (zh) * | 2009-05-20 | 2009-10-14 | 北京航空航天大学 | 一种多视点视频编码方法 |
CN101803361A (zh) * | 2007-09-10 | 2010-08-11 | Nxp股份有限公司 | 用于基于行的垂直运动估计和补偿的方法和装置 |
US20110044550A1 (en) * | 2008-04-25 | 2011-02-24 | Doug Tian | Inter-view strip modes with depth |
CN102088610A (zh) * | 2011-03-08 | 2011-06-08 | 美商威睿电通公司 | 视频编解码器及运动估计方法 |
CN102340662A (zh) * | 2010-07-22 | 2012-02-01 | 炬才微电子(深圳)有限公司 | 一种视频处理设备和方法 |
-
2012
- 2012-09-07 CN CN201210329862.XA patent/CN103686190A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1316856A (zh) * | 2000-01-27 | 2001-10-10 | 三星电子株式会社 | 运动估计器 |
KR20020023224A (ko) * | 2000-03-31 | 2002-03-28 | 요트.게.아. 롤페즈 | 2개의 상관된 데이터 열들의 엔코딩 |
CN1615027A (zh) * | 2004-11-30 | 2005-05-11 | 北京中星微电子有限公司 | 一种视频编解码过程中进行运动估计搜索计算的方法 |
CN101156450A (zh) * | 2005-04-12 | 2008-04-02 | 皇家飞利浦电子股份有限公司 | 利用区域的动态高宽比的基于区域的3drs运动估计 |
CN101330614A (zh) * | 2007-06-21 | 2008-12-24 | 中兴通讯股份有限公司 | 使用数字信号处理器进行分数像素精度运动估计的方法 |
CN101803361A (zh) * | 2007-09-10 | 2010-08-11 | Nxp股份有限公司 | 用于基于行的垂直运动估计和补偿的方法和装置 |
US20110044550A1 (en) * | 2008-04-25 | 2011-02-24 | Doug Tian | Inter-view strip modes with depth |
CN101557519A (zh) * | 2009-05-20 | 2009-10-14 | 北京航空航天大学 | 一种多视点视频编码方法 |
CN102340662A (zh) * | 2010-07-22 | 2012-02-01 | 炬才微电子(深圳)有限公司 | 一种视频处理设备和方法 |
CN102088610A (zh) * | 2011-03-08 | 2011-06-08 | 美商威睿电通公司 | 视频编解码器及运动估计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8665960B2 (en) | Real-time video coding/decoding | |
US9628825B2 (en) | Video decoder, video encoder, video decoding method, and video encoding method | |
CN102685532B (zh) | 自由视点四维空间视频编码系统的编码方法 | |
US20070199011A1 (en) | System and method for high quality AVC encoding | |
TW202021354A (zh) | 運動向量預測器清單產生 | |
KR20090113281A (ko) | 비디오 신호 처리 방법 및 장치 | |
CN112789851B (zh) | 视频解码方法、装置、电子设备及可读存储介质 | |
CN105103556A (zh) | 用于亮度补偿的双向预测的方法和装置 | |
CN110519591B (zh) | 一种基于多用途编码中帧内编码的预测模式快速选择方法 | |
US20120014442A1 (en) | Image processing device and image processing method | |
CA3137462A1 (en) | Gradient-based prediction refinement for video coding | |
WO2019172800A1 (en) | Loop filter apparatus and method for video coding | |
CN101895749B (zh) | 一种快速视差估计和运动估计方法 | |
CN111010578A (zh) | 一种帧内帧间联合预测的方法、装置以及存储介质 | |
US20110002555A1 (en) | Dominant gradient method for finding focused objects | |
US20170070555A1 (en) | Video data flow compression method | |
EP2515539A1 (en) | Method for coding the occlusion images of a 3d video signal | |
CN104519363A (zh) | 视频编/解码方法、对应计算机程序及视频编/解码设备 | |
Wang et al. | Fast depth video compression for mobile RGB-D sensors | |
CN103220532A (zh) | 立体视频的联合预测编码方法及系统 | |
TW201409994A (zh) | 立體視訊的編碼方法與編碼裝置 | |
CN103686190A (zh) | 立体视频的编码方法与编码装置 | |
KR20140051789A (ko) | 3차원 비디오에서의 뷰간 움직임 예측 방법 및 뷰간 병합 후보 결정 방법 | |
WO2017107072A1 (en) | Motion vector selection and prediction in video coding systems and methods | |
KR20170116879A (ko) | 패턴 정합 기반 움직임 벡터 생성 기법을 이용한 동영상 부호화 및 복호화 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140326 |