本發(fā)明涉及顯示技術領域,特別涉及一種在播放外部視頻的終端中確定OSD菜單區(qū)域的方法及裝置。
背景技術:
隨著顯示技術的快速發(fā)展,終端具有越來越多的顯示功能,比如人們可以將電視與電腦或機頂盒相連接,并通過電視觀看電腦中的視頻或者觀看機頂盒傳送的視頻。在觀看視頻的過程中,人們還可以通過電腦或機頂盒的OSD(On Screen Display,屏幕顯示)菜單設置亮度或?qū)Ρ榷鹊蕊@示屬性,以及更換頻道等等,此時電視上可以同時顯示視頻和OSD菜單。
為了便于描述,將電腦或機頂盒等傳送視頻的終端稱為第一終端,將電視等用于播放視頻的終端稱為第二終端。當?shù)诙K端需要在顯示視頻的同時顯示OSD菜單時,第一終端可以將OSD菜單和視頻幀圖像進行疊加,合成為一張圖像,一般情況下OSD菜單位于該圖像的正中間區(qū)域,其他區(qū)域是視頻幀圖像,然后第一終端將合成的圖像發(fā)送給第二終端,第二終端接收并顯示合成的圖像。
然而,由于第二終端顯示的圖像為OSD菜單和視頻幀圖像合成之后的圖像,所以當?shù)诙K端對合成的圖像進行畫質(zhì)處理時,可能會對OSD菜單的部分也一并進行處理,從而造成OSD菜單失真,無法正常顯示,因此,亟需一種可以確定OSD菜單區(qū)域的方法,以在畫質(zhì)處理時可以避開OSD菜單的顯示區(qū)域,進而避免OSD菜單的失真。
技術實現(xiàn)要素:
為了解決現(xiàn)有技術的問題,本發(fā)明實施例提供了一種在播放外部視頻的終端中確定OSD菜單區(qū)域的方法及裝置。所述技術方案如下:
一方面,提供了一種在播放外部視頻的終端中確定OSD菜單區(qū)域的方法,所述方法包括:
從當前幀圖像中,確定第一像素點集合,所述第一像素點集合中包括滿足預設條件的像素點;
其中,所述預設條件包括:像素點的邊緣大小大于等于第一預設大小,以及像素點的亮度與上一幀圖像中同一位置像素點的亮度之間的差值小于預設亮度,所述邊緣大小為像素點沿邊緣方向上的亮度梯度;
從所述第一像素點集合中,選擇與OSD像素點位于同一位置的像素點,得到第二像素點集合,所述OSD像素點為所述當前幀圖像之前的連續(xù)多張圖像中OSD菜單區(qū)域所在的像素點;
基于所述第二像素點集合中的像素點確定所述當前幀圖像中的OSD菜單區(qū)域。
可選地,所述從所述第一像素點集合中,選擇與OSD像素點位于同一位置的像素點,得到第二像素點集合,包括:
確定所述第一像素點集合中每個像素點的鄰域像素點個數(shù),所述鄰域像素點個數(shù)為所述第一像素點集合中處于像素點的鄰域內(nèi)的像素點個數(shù),所述鄰域的大小為第二預設大?。?/p>
從所述第一像素點集合中,選擇鄰域像素點個數(shù)大于或等于預設個數(shù)的像素點,得到第三像素點集合;
從所述第三像素點集合中,選擇與OSD像素點位于同一位置的像素點,得到第二像素點集合。
可選地,所述預設條件還包括如下條件中的至少一個:
當前幀圖像中像素點的邊緣方向與所述當前幀圖像相鄰的上一幀圖像中同一位置的像素點的邊緣方向之間的夾角小于預設夾角;
當前幀圖像中像素點的亮度方差大于或等于第一預設方差;
當前幀圖像中像素點的亮度方差與所述上一幀圖像中同一位置的像素點的亮度方差之間的差值小于第二預設方差。
可選地,所述基于所述第二像素點集合中的像素點確定所述當前幀圖像中的OSD菜單區(qū)域,包括:
將所述第二像素點集合中的像素點所包圍的區(qū)域確定為所述當前幀圖像中的OSD菜單區(qū)域。
可選地,所述基于所述第二像素點集合中的像素點確定所述當前幀圖像中的OSD菜單區(qū)域,包括:
從所述第二像素點集合中,確定多個邊界像素點,所述多個邊界像素點分別為橫坐標最小或最大且縱坐標最小或最大的像素點;
將所述多個邊界像素點所圍成的矩形區(qū)域確定為所述當前幀圖像中的OSD菜單區(qū)域。
可選地,所述基于所述第二像素點集合中的像素點確定所述當前幀圖像中的OSD菜單區(qū)域,包括:
從所述第二像素點集合中,選擇多個像素點,所述多個像素點中每個像素點的相鄰像素點均屬于所述第二像素點集合;
將所述多個像素點所包圍的區(qū)域確定為所述當前幀圖像中的OSD菜單區(qū)域。
可選地,所述基于所述第二像素點集合中的像素點確定所述當前幀圖像中的OSD菜單區(qū)域之后,還包括:
當接收到針對所述當前幀圖像的圖像處理指令時,對所述當前幀圖像中除所述OSD菜單區(qū)域之外的區(qū)域進行圖像處理。
另一方面,提供了一種在播放外部視頻的終端中確定OSD菜單區(qū)域的裝置,所述裝置包括:
第一確定模塊,用于從當前幀圖像中,確定第一像素點集合,所述第一像素點集合中包括滿足預設條件的像素點;
其中,所述預設條件包括:像素點的邊緣大小大于等于第一預設大小,以及像素點的亮度與上一幀圖像中同一位置像素點的亮度之間的差值小于預設亮度,所述邊邊緣大小為像素點沿邊緣方向上的亮度梯度;
選擇模塊,用于從所述第一像素點集合中,選擇與OSD像素點位于同一位置的像素點,得到第二像素點集合,所述OSD像素點為所述當前幀圖像之前的連續(xù)多張圖像中OSD菜單區(qū)域所在的像素點;
第二確定模塊,用于基于所述第二像素點集合中的像素點確定所述當前幀圖像中的OSD菜單區(qū)域。
可選地,所述選擇模塊包括:
第一確定單元,用于確定所述第一像素點集合中每個像素點的鄰域像素點個數(shù),所述鄰域像素點個數(shù)為所述第一像素點集合中處于像素點的鄰域內(nèi)的像素點個數(shù),所述鄰域的大小為第二預設大小;
第一選擇單元,用于從所述第一像素點集合中,選擇鄰域像素點個數(shù)大于或等于預設個數(shù)的像素點,得到第三像素點集合;
第二選擇單元,用于從所述第三像素點集合中,選擇與OSD像素點位于同一位置的像素點,得到第二像素點集合。
可選地,所述預設條件還包括如下條件中的至少一個:
當前幀圖像中像素點的邊緣方向與所述當前幀圖像相鄰的上一幀圖像中同一位置的像素點的邊緣方向之間的夾角小于預設夾角;
當前幀圖像中像素點的亮度方差大于或等于第一預設方差;
當前幀圖像中像素點的亮度方差與所述上一幀圖像中同一位置的像素點的亮度方差之間的差值小于第二預設方差。
可選地,所述第二確定模塊包括:
第二確定單元,用于將所述第二像素點集合中的像素點所包圍的區(qū)域確定為所述當前幀圖像中的OSD菜單區(qū)域。
可選地,所述第二確定模塊包括:
第三確定單元,用于從所述第二像素點集合中,確定多個邊界像素點,所述多個邊界像素點分別為橫坐標最小或最大且縱坐標最小或最大的像素點;
第四確定單元,用于將所述多個邊界像素點所圍成的矩形區(qū)域確定為所述當前幀圖像中的OSD菜單區(qū)域。
可選地,所述第二確定模塊包括:
第三選擇單元,用于從所述第二像素點集合中,選擇多個像素點,所述多個像素點中每個像素點的相鄰像素點均屬于所述第二像素點集合;
第五確定單元,用于將所述多個像素點所包圍的區(qū)域確定為所述當前幀圖像中的OSD菜單區(qū)域。
可選地,所述裝置還包括:
處理模塊,用于當接收到針對所述當前幀圖像的圖像處理指令時,對所述當前幀圖像中除所述OSD菜單區(qū)域之外的區(qū)域進行圖像處理。
本發(fā)明實施例提供的技術方案帶來的有益效果是:在本發(fā)明實施例中,首先根據(jù)當前幀圖像中滿足預設條件的像素點確定第一像素點集合,從而選擇出處于OSD邊緣的可能性較大的像素點,然后從第一像素點集合中,選擇與OSD像素點位于同一位置的像素點,得到第二像素點集合,從而進一步對第一像素點集合中的像素點進行篩選,進而提高了確定當前幀圖像中的OSD菜單區(qū)域的準確度,當需要對當前幀圖像進行圖像處理時,可以只針對除OSD菜單區(qū)域之外的區(qū)域進行圖像處理,而不對OSD菜單區(qū)域進行處理,從而避免OSD菜單的失真,使得對當前幀圖像進行畫質(zhì)處理之后,OSD菜單仍可以正常顯示。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1A是本發(fā)明實施例提供的一種在播放外部視頻的終端中確定OSD菜單區(qū)域方法的流程圖;
圖1B是本發(fā)明實施例提供的像素點鄰域的示意圖;
圖1C(a)是本發(fā)明實施例提供的第一像素點集合中的各個像素點的示意圖;
圖1C(b)是本發(fā)明實施例提供的終端對第一像素點集合中的各個像素點進行腐蝕運算后得到的像素點的示意圖;
圖1D(a)是本發(fā)明實施例提供的終端對第一像素點集合中的各個像素點進行腐蝕運算后得到的像素點的示意圖;
圖1D(b)是本發(fā)明實施例提供的終端對經(jīng)過腐蝕運算的當前幀圖像中的各個像素點進行膨脹運算后得到的像素點的示意圖;
圖2A是本發(fā)明實施例提供的一種在播放外部視頻的終端中確定OSD菜單區(qū)域裝置的框圖;
圖2B是本發(fā)明實施例提供的一種選擇模塊的框圖;
圖2C是本發(fā)明實施例提供的一種第二確定模塊的框圖;
圖2D是本發(fā)明實施例提供的另一種第二確定模塊的框圖;
圖2E是本發(fā)明實施例提供的第三種第二確定模塊的框圖;
圖2F是本發(fā)明實施例提供的另一種在播放外部視頻的終端中確定OSD菜單區(qū)域裝置的框圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。
本發(fā)明實施例提供了一種在播放外部視頻的終端中確定OSD菜單區(qū)域的方法,其中,播放外部視頻的終端可以為智能電視或計算機等終端,參見圖1A,該方法包括:
步驟101:從當前幀圖像中,確定第一像素點集合,該第一像素點集合中包括滿足預設條件的像素點。
其中,對于當前幀圖像中的各個像素點,終端首先判斷該像素點是否滿足預設條件,然后從當前幀圖像中,選擇滿足預設條件的像素點,并將選擇的像素點所組成的像素點集合確定為第一像素點集合。其中,該預設條件包括但不限于如下的條件:
(1)當前幀圖像中像素點的邊緣大小大于等于第一預設大小,該邊緣大小為像素點沿邊緣方向上的亮度梯度;
(2)當前幀圖像中像素點的亮度與上一幀圖像中同一位置像素點的亮度之間的差值小于預設亮度。
其中,當該預設條件中包括上述條件(1)和(2)時,終端可以通過下述步驟(1)和步驟(2)確定當前幀圖像中的各個像素點是否滿足預設條件:
步驟(1):對于當前幀圖像中的每個像素點,終端可以確定當前幀圖像中該像素點的邊緣方向上的邊緣大小,然后終端將當前幀圖像中像素點的邊緣方向上的邊緣大小與第一預設大小進行比較,如果該邊緣大小大于或等于第一預設大小,則確定當前幀圖像中的該像素點滿足條件(1),如果該邊緣大小小于第一預設大小,則確定當前幀圖像中的該像素點不滿足條件(1)。
需要說明的是,該邊緣方向可以為多個預設方向中邊緣大小最大的預設方向,也即是對于多個預設方向中的每個預設方向,當某個像素點沿該預設方向上的亮度梯度最大時,將該預設方向確定為該像素點的邊緣方向,并將沿該預設方向上的邊緣大小確定為該像素點的邊緣方向上的邊緣大小。當然,實際應用中,當該多個預設方向包括水平方向和垂直方向時,像素點的邊緣方向還可以為垂直方向上邊緣大小與水平方向上邊緣大小的比值的反正切值所指示的方向,也即是該邊緣方向與水平方向之間的夾角為該反正切值,該像素點的邊緣大小可以為垂直方向上邊緣大小和水平方向上邊緣大小的平方和的算術平方根,或者可以為垂直方向上邊緣大小的絕對值與水平方向上邊緣大小的絕對值的和。其中邊緣大小用于表示該像素點沿該預設方向上的亮度梯度,且邊緣大小越大,表示該像素點沿邊緣方向上的亮度梯度越大,邊緣大小越小,表示該像素點沿邊緣方向上的亮度梯度越小。
比如,該多個預設方向可以為水平方向x、垂直方向y、與水平方向x呈45度的方向xy以及與水平方向x呈135度的方向yx,且對于當前幀圖像中的任一像素點,該像素點在x方向上的邊緣大小可以為Ex,在y方向上的邊緣大小可以為Ey,在xy方向上的邊緣大小可以為Exy,在yx方向上的邊緣大小可以為Eyx,當Ex、Ey、Exy和Eyx中Ex的值最大時,終端可以將水平方向x確定為該像素點的邊緣方向,并將在水平方向x上的邊緣大小Ex確定為該像素點的邊緣大小。
再比如,該多個預設方向可以為水平方向x以及垂直方向y,且對于當前幀圖像中的任一像素點,該像素點在x方向上的邊緣大小可以為Ex,在y方向上的邊緣大小可以為Ey,該像素點的邊緣方向可以為該像素點的邊緣大小可以為或者|Ex|+|Ey|。
步驟(2):對于滿足上述條件(1)的各個像素點,終端可以確定該像素點的亮度,也即是確定該像素點的像素值,然后從存儲的與當前幀圖像相鄰的上一幀圖像中各個像素點的亮度中,可以確定與當前幀圖像中該像素點位于同一位置的像素點的亮度,終端可以確定該像素點的亮度和與當前幀圖像相鄰的上一幀圖像中同一位置的像素點的亮度之間的差值,并將該差值與預設亮度進行比較,如果該差值小于預設亮度,則確定該像素點滿足條件(2),如果該差值大于或等于預設亮度,則確定該像素點不滿足條件(2)。
由于邊緣像素點與非邊緣像素點之間的亮度梯度會比較大,而非邊緣像素點與非邊緣像素點之間的亮度梯度會比較小,因此,當該預設條件包括上述條件(1)時,終端可以從當前幀圖像中,選擇邊緣方向上的邊緣大小大于或等于第一預設大小的像素點,也即是選擇出處于當前幀圖像中任一圖形邊緣的像素點,而對于選擇出的像素點,該像素點既可能處于當前幀圖像中OSD的邊緣,也可能處于當前幀圖像中除OSD之外的圖形的邊緣。
進一步地,由于當前幀圖像相對于與當前幀圖像相鄰的上一幀圖像,視頻圖像的部分可能會發(fā)生變化,而OSD的部分則不會發(fā)生變化,也即是對于前后兩幀圖像來說,OSD部分的亮度不會發(fā)生變化,因此,當該預設條件在包括上述條件(1)的基礎上還包括上述條件(2)時,終端可以從當前幀圖像中滿足條件(1)的各個像素點中,選擇亮度與當前幀圖像相鄰的上一幀圖像中同一位置的像素點的亮度之間的差值小于預設亮度的像素點,也即是選擇前后兩幀圖像中亮度不發(fā)生變化或者亮度變化極小的像素點,從而從多個圖形邊緣的像素點中,選擇出處于OSD邊緣的像素點。
需要說明的是,該預設條件不僅可以包括上述兩個條件,實際應用中,為了提高確定OSD菜單區(qū)域的準確度,該預設條件還可以包括如下條件(3)、(4)、(5)中的至少一個:
(3)當前幀圖像中像素點的邊緣方向與當前幀圖像相鄰的上一幀圖像中同一位置的像素點的邊緣方向之間的夾角小于預設夾角。
(4)當前幀圖像中像素點的亮度方差大于或等于第一預設方差。
(5)當前幀圖像中像素點的亮度方差與上一幀圖像中同一位置的像素點的亮度方差之間的差值小于第二預設方差。
由于當預設條件不同時,終端判斷當前幀圖像中的各個像素點是否滿足預設條件的方法也不同,因此,終端判斷當前幀圖像中的各個像素點是否滿足預設條件的方式在包括上述判斷當前幀圖像中的各個像素點是否滿足條件(1)和(2)的方式的基礎上,還可以包括下述三種方式中的至少一者:
第一種方式:當該預設條件還包括上述條件(3)時,對于當前幀圖像中滿足上述條件(1)和(2)的每個像素點,終端可以確定當前幀圖像中該像素點的邊緣方向,然后從存儲的與當前幀圖像相鄰的上一幀圖像中各個像素點的邊緣方向中,可以確定與當前幀圖像中該像素點位于同一位置的像素點的邊緣方向,終端可以確定當前幀圖像中像素點的邊緣方向和與當前幀圖像相鄰的上一幀圖像中同一位置的像素點的邊緣方向之間的夾角,并將確定的夾角與預設夾角進行比較,如果該夾角小于預設夾角,則確定當前幀圖像中的該像素點滿足條件(3),如果該夾角大于或等于預設夾角,則確定當前幀圖像中的該像素點不滿足條件(3)。
對于前后兩幀圖像中同一位置的像素點,如果該像素點在前后兩幀圖像中均被確定為處于OSD邊緣的像素點,則該像素點在前后兩幀圖像中的邊緣方向應該相同或者相差很小,因此,終端可以進一步從當前幀圖像中選擇滿足上述條件(3)的像素點,從而提高確定OSD邊緣像素點的準確度。
第二種方式:當該預設條件還包括上述條件(4)時,對于當前幀圖像中滿足上述條件(1)和(2)的每個像素點,終端可以確定當前幀圖像中該像素點的亮度,以及處于該像素點的鄰域內(nèi)的像素點的亮度,并根據(jù)該像素點的亮度以及處于該像素點的鄰域內(nèi)的像素點的亮度,確定該鄰域內(nèi)像素點亮度的平均值,然后根據(jù)確定的亮度平均值,確定該鄰域內(nèi)像素點的亮度方差,并將確定的亮度方差確定為當前幀圖像中該像素點的亮度方差,終端將當前幀圖像中該像素點的亮度方差與第一預設方差進行比較,如果該亮度方差大于或等于第一預設方差,則確定當前幀圖像中的該像素點滿足條件(4),如果該亮度方差小于第一預設方差,則確定當前幀圖像中的該像素點不滿足條件(4)。
由于邊緣像素點與非邊緣像素點之間的亮度方差會比較大,也即是邊緣像素點與非邊緣像素點之間的亮度差會比較大,因此對于當前幀圖像中的各個像素點,當該像素點的亮度方差大于或等于第一預設方差時,可以確定該像素點為邊緣像素點的可能性較大,因此,終端可以進一步從當前幀圖像中選擇滿足上述條件(4)的像素點,從而提高確定OSD邊緣像素點的準確度。
需要說明的是,終端根據(jù)確定的亮度平均值,確定該鄰域內(nèi)像素點的亮度方差的方法可以參考相關技術,本發(fā)明實施例對此不做詳細闡述。
第三種方式:當該預設條件還包括上述條件(5)時,對于當前幀圖像中滿足上述條件(1)和(2)的每個像素點,終端可以確定當前幀圖像中該像素點的亮度方差,然后從存儲的與當前幀圖像相鄰的上一幀圖像中各個像素點的亮度方差中,可以確定與當前幀圖像中該像素點位于同一位置的像素點的亮度方差,終端可以確定當前幀圖像中像素點的亮度方差和與當前幀圖像相鄰的上一幀圖像中同一位置的像素點的亮度方差之間的差值,并將該差值與第二預設方差進行比較,如果該差值小于第二預設方差,則確定當前幀圖像中的該像素點滿足條件(5),如果該差值大于或等于第二預設方差,則確定當前幀圖像中的該像素點不滿足條件(5)。
對于前后兩幀圖像中同一位置的像素點,如果該像素點在前后兩幀圖像中均被確定為處于OSD邊緣的像素點,則該像素點在前后兩幀圖像中的亮度方差應該相同或者相差很小,因此,終端可以進一步從當前幀圖像中選擇滿足上述條件(5)的像素點,從而提高確定OSD邊緣像素點的準確度。
需要說明的是,當該預設條件包括多個不同的條件時,終端可以從當前幀圖像中,選擇同時滿足該多個條件的像素點,從而可以提高確定OSD邊緣像素點的準確度。
另外,終端在確定第一像素點集合之后,還可以為當前幀圖像中屬于第一像素點集合的像素點添加第一標識,以及為當前幀圖像中不屬于第一像素點集合的像素點添加第二標識,且第一標識與第二標識不相同,比如第一標識可以為1,第二標識可以為0。
步驟102:確定第一像素點集合中每個像素點的鄰域像素點個數(shù),該鄰域像素點個數(shù)為第一像素點集合中處于每個像素點的鄰域內(nèi)的像素點的個數(shù),該鄰域的大小為第二預設大小。
對于第一像素點集合中的每個像素點,該像素點可能為真實處于OSD邊緣的像素點,同時也可能為不處于OSD邊緣但卻滿足預設條件的像素點。對于第一種像素點,由于該像素點真實處于OSD邊緣,因此與其相鄰的像素點也滿足預設條件的可能性較大,也即是處于該像素點鄰域內(nèi)的像素點也處于OSD邊緣的可能性較大,所以在該像素點的鄰域內(nèi),屬于第一像素點集合的像素點可能較多。而對于第二種像素點,該像素點可能只是偶然的滿足預設條件,因此該像素點很可能為孤立存在的點,也即是該像素點滿足預設條件,但是處于該像素點鄰域內(nèi)的像素點可能均不滿足預設條件或者只有極少數(shù)像素點滿足預設條件,此時可以認為該像素點處于OSD邊緣的可能性較小。因此,終端可以確定第一像素點集合中每個像素點的鄰域像素點個數(shù),也即是確定第一像素點集合中每個像素點的鄰域內(nèi)滿足預設條件的像素點個數(shù),以從第一像素點集合中,選擇出鄰域像素點個數(shù)較多的像素點,也即是選擇出處于OSD邊緣可能性較大的像素點。
需要說明的是,對于第一像素點集合中每個像素點,該第二預設大小可以為以該像素點為中心,且與該像素點相鄰的M×M個像素點所占區(qū)域的大小,其中M為大于2的正奇數(shù)。但是為了節(jié)約終端的系統(tǒng)資源,M不宜設置的過大,比如將M設置為3或5較為適宜。例如參見圖1B,當M為3時,像素點A的鄰域大小可以為以像素點A為中心,且與像素點A相鄰的3×3個像素點所占的陰影區(qū)域的大小。
步驟103:從第一像素點集合中,選擇鄰域像素點個數(shù)大于或等于預設個數(shù)的像素點,得到第三像素點集合。
對于第一像素點集合中每個像素點,當該像素點的鄰域像素點個數(shù)大于或等于預設個數(shù)時,可以認為處于該像素點鄰域內(nèi)滿足預設條件的像素點比較多,也即是可以認為該像素點為OSD邊緣的像素點的可能性較大,因此終端可以從第一像素點集合中,選擇鄰域像素點個數(shù)大于或等于預設個數(shù)的像素點,并將選擇的像素點所組成的像素點集合確定為第三像素點集合。
需要說明的是,實際應用中,終端可以通過對第一像素點集合中的各個像素點進行開運算,即先進行腐蝕運算,再進行膨脹運算,實現(xiàn)上述步驟102至步驟103,以得到第三像素點集合,該實現(xiàn)方式包括下述步驟(1)、步驟(2)和步驟(3):
(1)腐蝕運算:從第一像素點集合中的各個像素點,選擇鄰域內(nèi)的像素點全部屬于第一像素點集合的像素點。
例如,第一像素點集合中的各個像素點可以為如圖1C(a)所示的像素點,對第一像素點集合中的各個像素點進行腐蝕運算,選擇出的像素點可以為如圖1C(b)所示的像素點。
(2)膨脹運算:從當前幀圖像的各個像素點中,選擇鄰域內(nèi)存在至少一個屬于第一像素點集合的像素點。
為了避免在確定OSD邊緣像素點時誤將處于OSD邊角的像素點去除,預設個數(shù)通??梢栽O置為1,也即是,當從當前幀圖像的各個像素點中,選擇鄰域內(nèi)存在至少一個屬于第一像素點集合的像素點時,可以認為是選擇像素點個數(shù)大于或等于預設個數(shù)的像素點。
當然,實際應用中,預設個數(shù)也可以大于1,本發(fā)明實施例對此不作具體限定。
例如,進行腐蝕運算選擇出的像素點可以為如圖1D(a)所示的像素點,進行膨脹運算選擇出的像素點可以為如圖1D(b)所示的像素點。
(3)將經(jīng)過膨脹運算選擇的像素點所組成的像素點集合確定為第三像素點集合。
對于當前幀圖像中的各個像素點,該像素點可能為下述三類像素點:鄰域內(nèi)的像素點均屬于第一像素點集合的像素點,鄰域內(nèi)的像素點有一部分屬于第一像素點集合的像素點,以及鄰域內(nèi)的像素點均不屬于第一像素點集合的像素點。當終端進行腐蝕運算時,選擇出的像素點為第一類像素點,當終端進行膨脹運算時,選擇出的像素點為第二類像素點,第一類像素點和第二類像素點取交集的像素點即為像素點個數(shù)大于或等于預設個數(shù)1的像素點,從而終端可以將包括第一類像素點和第二類像素點的集合確定為第三像素點集合。
例如,終端可以對經(jīng)過腐蝕運算的當前幀圖像中的各個像素點進行膨脹運算,選擇出的像素點如圖1D(b)所示,并將圖1D(b)所示的經(jīng)過膨脹運算選擇的像素點所組成的像素點集合確定為第三像素點集合。
需要說明的是,終端在確定第三像素點集合之后,還可以為當前幀圖像中屬于第三像素點集合的像素點添加第一標識,以及為當前幀圖像中不屬于第三像素點集合的像素點添加第二標識。
步驟104:從第三像素點集合中,選擇與OSD像素點位于同一位置的像素點,得到第二像素點集合,該OSD像素點為當前幀圖像之前的連續(xù)多張圖像中OSD菜單區(qū)域所在的像素點。
對于當前幀圖像中處于OSD邊緣的像素點,在當前幀圖像之前的連續(xù)多張圖像中,與該像素點位于同一位置的像素點均應處于各自對應圖像的OSD邊緣,因此,終端可以從第三像素點集合中,選擇與OSD像素點位于同一位置的像素點,并將選擇的像素點所組成的像素點集合確定為第二像素點集合。
需要說明的是,當前幀圖像之前的連續(xù)多張圖像的數(shù)量可以為終端事先預設的數(shù)值,比如該數(shù)量可以為10、15、20等等。另外,由于終端需要盡快確定出當前幀圖像中的OSD菜單區(qū)域,因此,該數(shù)量不宜設置的過大,以免延長確定當前幀圖像中的OSD菜單區(qū)域的時間,同時也避免終端系統(tǒng)資源的浪費,但該數(shù)量也不宜過小,如果該數(shù)量過小則會降低確定當前幀圖像中的OSD菜單區(qū)域的準確度。
另外,終端在確定第二像素點集合之后,還可以為當前幀圖像中屬于第二像素點集合的像素點添加第一標識,以及為當前幀圖像中不屬于第二像素點集合的像素點添加第二標識。
步驟105:基于第二像素點集合中的像素點確定當前幀圖像中的OSD菜單區(qū)域。
在本發(fā)明實施例中,可以基于第二像素點集合中的像素點,通過如下三種可能的實現(xiàn)方式確定當前幀圖像中的OSD菜單區(qū)域,包括:
第一種可能的實現(xiàn)方式,終端從第二像素點集合中,確定多個邊緣像素點,多個邊緣像素點分別為橫坐標最小或最大且縱坐標最小或最大的像素點。
由于大部分的OSD菜單區(qū)域為規(guī)則的矩形區(qū)域,因此,終端可以從第二像素點集合中,確定多個邊緣像素點,多個邊緣像素點分別為橫坐標最小或最大且縱坐標最小或最大的像素點,即橫坐標最小且縱坐標最小的像素點、橫坐標最小且縱坐標最大的像素點、橫坐標最大且縱坐標最小的像素點以及橫坐標最大且縱坐標最大的像素點,也即是從第二像素點集合中,確定OSD左下角的像素點、左上角的像素點、右下角的像素點以及右上角的像素點,然后終端可以將該多個邊緣像素點所圍成的矩形區(qū)域確定為當前幀圖像中的OSD菜單區(qū)域。由于終端只需根據(jù)該多個邊緣像素點確定當前幀圖像中的OSD菜單區(qū)域,而無需根據(jù)第二像素點集合中的所有的像素點確定當前幀圖像中的OSD菜單區(qū)域,從而節(jié)約了終端的系統(tǒng)資源。
第二種可能的實現(xiàn)方式,終端將第二像素點集合中的像素點所包圍的區(qū)域確定為當前幀圖像中的OSD菜單區(qū)域。
對于顯示區(qū)域不規(guī)則的OSD,當終端通過上述第一種可能的實現(xiàn)方式確定當前幀圖像中的OSD菜單區(qū)域時,可能會將OSD不規(guī)則的邊角區(qū)域確定為除OSD菜單區(qū)域之外的其他區(qū)域,而這些不規(guī)則的邊角區(qū)域中也可能存在OSD的重要信息,因此,為了避免將可能包括OSD重要信息的邊角區(qū)域排除在OSD菜單區(qū)域之外,終端可以將第二像素點集合中的所有像素點所包圍的區(qū)域確定為當前幀圖像中的OSD菜單區(qū)域。
第三種可能的實現(xiàn)方式,終端從第二像素點集合中,選擇多個像素點,多個像素點中每個像素點的相鄰像素點均屬于第二像素點集合;將多個像素點所包圍的區(qū)域確定為當前幀圖像中的OSD菜單區(qū)域。
由于終端在執(zhí)行上述步驟101至步驟104時,可能會因個別數(shù)據(jù)錯亂而導致第二像素點集合中依舊存在極少數(shù)孤立像素點或者不滿足預設條件的像素點,所以,當終端通過上述第一種以及第二種可能的實現(xiàn)方式確定當前幀圖像中的OSD菜單區(qū)域時,可能會使確定的OSD菜單區(qū)域中仍然包含極少數(shù)孤立像素點或者不滿足預設條件的像素點,因此,為了進一步提高確定OSD菜單區(qū)域的準確度,終端可以從第二像素點集合中,選擇多個像素點,并將多個像素點所包圍的區(qū)域確定為當前幀圖像中的OSD菜單區(qū)域。
需要說明的是,實際應用中,終端可以通過二次掃描法或者種子填充法實現(xiàn)上述第三種可能的實現(xiàn)方式,以確定當前幀圖像中的OSD菜單區(qū)域。
另外,由于終端可以為屬于第一像素點集合、第二像素點集合、第三像素點集合的像素點添加第一標識,因此終端還可以從當前幀圖像中,選擇三次標記時均標有第一標識的像素點,并將選擇的像素點所包圍的區(qū)域確定為當前幀圖像中的OSD菜單區(qū)域。
步驟106:當接收到針對當前幀圖像的圖像處理指令時,對當前幀圖像中除OSD菜單區(qū)域之外的區(qū)域進行圖像處理。
其中,當接收到針對當前幀圖像的圖像處理指令時,終端可以根據(jù)該圖像處理指令對應的圖像處理操作,對當前幀圖像中除OSD菜單區(qū)域之外的區(qū)域進行圖像處理。
需要說明的是,針對當前幀圖像的圖像處理指令可以由當前持有該終端的用戶通過指定操作觸發(fā),該指定操作可以為對圖像處理操作選項的點擊操作、預設軌跡的滑動操作、語音操作等等。
在本發(fā)明實施例中,首先根據(jù)當前幀圖像中滿足預設條件的像素點確定第一像素點集合,從而選擇出處于OSD邊緣的可能性較大的像素點,然后根據(jù)第一像素點集合中每個像素點的像素點個數(shù),從第一像素點集合中,選擇像素點個數(shù)大于或等于預設個數(shù)的像素點,得到第三像素點集合,從而可以從第一像素點集合中,去除滿足預設條件且孤立存在的像素點,然后從第三像素點集合中,選擇與OSD像素點位于同一位置的像素點,得到第二像素點集合,從而進一步對第三像素點集合中的像素點進行篩選,進而提高了確定當前幀圖像中的OSD菜單區(qū)域的準確度,當接收到針對當前幀圖像的圖像處理指令時,可以只對當前幀圖像中除OSD菜單區(qū)域之外的區(qū)域進行圖像處理,而不對OSD菜單區(qū)域進行處理,從而避免OSD菜單的失真,使得對當前幀圖像進行畫質(zhì)處理之后,OSD菜單仍可以正常顯示。
參見圖2A,本發(fā)明實施例提供了一種在播放外部視頻的終端中確定OSD菜單區(qū)域裝置200,該裝置包括:第一確定模塊201、選擇模塊202、第二確定模塊203。
第一確定模塊201,用于從當前幀圖像中,確定第一像素點集合,第一像素點集合中包括滿足預設條件的像素點;
其中,預設條件包括:像素點的邊緣大小大于等于第一預設大小,以及像素點的亮度與上一幀圖像中同一位置像素點的亮度之間的差值小于預設亮度,邊緣大小為像素點沿邊緣方向上的亮度梯度;
選擇模塊202,用于從第一像素點集合中,選擇與OSD像素點位于同一位置的像素點,得到第二像素點集合,OSD像素點為當前幀圖像之前的連續(xù)多張圖像中OSD菜單區(qū)域所在的像素點;
第二確定模塊203,用于基于第二像素點集合中的像素點確定當前幀圖像中的OSD菜單區(qū)域。
可選地,參見圖2B,選擇模塊202包括:
第一確定單元2021,用于確定第一像素點集合中每個像素點的鄰域像素點個數(shù),鄰域像素點個數(shù)為第一像素點集合中處于像素點的鄰域內(nèi)的像素點個數(shù),鄰域的大小為第二預設大?。?/p>
第一選擇單元2022,用于從第一像素點集合中,選擇鄰域像素點個數(shù)大于或等于預設個數(shù)的像素點,得到第三像素點集合;
第二選擇單元2023,用于從第三像素點集合中,選擇與OSD像素點位于同一位置的像素點,得到第二像素點集合。
可選地,預設條件還包括如下條件中的至少一個:
當前幀圖像中像素點的邊緣方向與當前幀圖像相鄰的上一幀圖像中同一位置的像素點的邊緣方向之間的夾角小于預設夾角;
當前幀圖像中像素點的亮度方差大于或等于第一預設方差;
當前幀圖像中像素點的亮度方差與上一幀圖像中同一位置的像素點的亮度方差之間的差值小于第二預設方差。
可選地,參見圖2C,第二確定模塊203包括:
第二確定單元2031,用于將第二像素點集合中的像素點所包圍的區(qū)域確定為當前幀圖像中的OSD菜單區(qū)域。
可選地,參見圖2D,第二確定模塊203包括:
第三確定單元2032,用于從第二像素點集合中,確定多個邊界像素點,多個邊界像素點分別為橫坐標最小或最大且縱坐標最小或最大的像素點;
第四確定單元2033,用于將多個邊界像素點所圍成的矩形區(qū)域確定為當前幀圖像中的OSD菜單區(qū)域。
可選地,參見圖2E,第二確定模塊203包括:
第三選擇單元2034,用于從第二像素點集合中,選擇多個像素點,多個像素點中每個像素點的相鄰像素點均屬于第二像素點集合;
第五確定單元2035,用于將多個像素點所包圍的區(qū)域確定為當前幀圖像中的OSD菜單區(qū)域。
可選地,參見圖2F,該裝置還包括:
處理模塊204,用于當接收到針對當前幀圖像的圖像處理指令時,對當前幀圖像中除OSD菜單區(qū)域之外的區(qū)域進行圖像處理。
綜上所述,在本發(fā)明實施例中,首先根據(jù)當前幀圖像中滿足預設條件的像素點確定第一像素點集合,從而選擇出處于OSD邊緣的可能性較大的像素點,然后從第一像素點集合中,選擇與OSD像素點位于同一位置的像素點,得到第二像素點集合,從而進一步對第一像素點集合中的像素點進行篩選,進而提高了確定當前幀圖像中的OSD菜單區(qū)域的準確度,當需要對當前幀圖像進行圖像處理時,可以只針對除OSD菜單區(qū)域之外的區(qū)域進行圖像處理,而不對OSD菜單區(qū)域進行處理,從而避免OSD菜單的失真,使得對當前幀圖像進行畫質(zhì)處理之后,OSD菜單仍可以正常顯示。
需要說明的是:上述實施例提供的在播放外部視頻的終端中確定OSD菜單區(qū)域的裝置在確定OSD的顯示區(qū)域時,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設備的內(nèi)部結(jié)構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的在播放外部視頻的終端中確定OSD菜單區(qū)域的裝置與在播放外部視頻的終端中確定OSD菜單區(qū)域的方法實施例屬于同一構思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。
本領域普通技術人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。