圖像處理設(shè)備和圖像處理設(shè)備的控制方法
【專利摘要】本發(fā)明提供一種圖像處理設(shè)備和圖像處理設(shè)備的控制方法。如果第一幀的圖片標識符和第二幀的圖片標識符一致,則重寫單元重寫第一幀的圖片標識符和片類型。
【專利說明】圖像處理設(shè)備和圖像處理設(shè)備的控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種圖像處理設(shè)備和圖像處理設(shè)備的控制方法。
【背景技術(shù)】
[0002]近年來,可以使用用于在拍攝后容易地進行編輯的幀內(nèi)編碼來拍攝運動圖像的裝置的數(shù)量增多。不同于幀間編碼的情況,幀內(nèi)編碼圖像不需要所謂的參考圖像。因此,進行解碼僅需要一個編碼圖像的數(shù)據(jù),并且易于進行諸如從運動圖像剪裁靜止圖像等的編輯任務(wù)。
[0003]盡管這樣很方便,但是與使用幀間編碼的情況相比,還存在編碼效率差這一缺點。與使用幀間編碼來對運動圖像進行編碼的MPEG的情況下相比,在僅使用幀內(nèi)編碼的MotionJPEG的情況下,編碼率通常更高。因此,盡管編碼任務(wù)更費事,但是對于運動圖像編碼通常使用MPEG。
[0004]另外,由于流行比JPEG和MPEG能夠進行更有效的圖像編碼的H.264系統(tǒng),因而再次關(guān)注運動圖像的幀內(nèi)編碼。H.264采用許多用于甚至僅對于幀內(nèi)編碼來提高效率的工具,諸如幀內(nèi)預(yù)測和自適應(yīng)改變預(yù)測塊大小的能力等。
[0005]H.264使用被稱為IDR(即時解碼刷新)圖片(以下稱為IDR圖片)的特殊幀內(nèi)編碼圖片。當插入IDR圖片時,復(fù)位流解碼所需的所有狀態(tài)(H.264流的頭始終必須是IDR圖片)。另一方面,對于IDR圖片沒有任何其他限制,并且可以在頭之后的任何時刻插入IDR圖片。換句話說,所有幀都可以是IDR圖片,并且頭幀之后的幀可以都不是IDR圖片。
[0006]除IDR圖片以外,還有正常I圖片類型的幀內(nèi)編碼幀。該I圖片與MPEG所采用的I圖片相同,并且可以理解為是所謂的GOP的頭。在流的圖像數(shù)據(jù)部分,IDR圖片和I圖片在編碼效率等方面沒有任何差別。
[0007]因此,當使用僅采用幀內(nèi)編碼的圖像編碼系統(tǒng)(以下稱為全I圖片系統(tǒng))創(chuàng)建運動圖像時,可以使用兩種方法,即,使用全IDR圖片,或者還包括I圖片(例如,或者除頭以外使用全I圖片)。然而,例如,在下面的情況下出現(xiàn)不同問題:刪除包括IDR圖片的運動圖像內(nèi)的流,并且接合被刪除流之前和之后的流。
[0008]每一 IDR圖片都具有被稱為圖片標識符(idr_pic_id)的參數(shù),并且需要將其寫在頭中。在H.264中,使用被稱為Golomb編碼的可變長度編碼系統(tǒng),與IDR圖片中的圖片圖像一起對圖片標識符進行編碼。
[0009]作為用于圖片標識符的可變長度編碼的技術(shù)的一個例子,下面參考圖8的表說明Golomb編碼。圖8的表中左側(cè)的列示出Golomb碼(二進制數(shù)),并且右側(cè)的列示出可以表示的數(shù)據(jù)值(十進制數(shù))的范圍。圖8的表中的Golomb碼中的“I”部分被稱為分隔符,中心的分隔符左側(cè)的“O”部分被稱為前綴,并且分隔符右側(cè)的部分被稱為后綴。在圖8的表中,使用“X”表示后綴,并且“X”可以取值O或I。由后綴的位長表示前綴中O的數(shù)量,并且位長在中心的分隔符左側(cè)和右側(cè)是相同的。
[0010]例如,如果前綴由兩個O組成,則后綴同樣具有位長2。[0011]在圖8的表中,在從上面開始的第三行中,可以表示四個值3?6。具體示出如下。
[0012]Golomb 碼:00100 =數(shù)據(jù)值:3
[0013]Golomb 碼:00101 =數(shù)據(jù)值:4
[0014]Golomb 碼:00110 =數(shù)據(jù)值:5
[0015]Golomb 碼:00111 =數(shù)據(jù)值:6
[0016]作為一個例外,僅當數(shù)據(jù)值是O時,沒有前綴或后綴。這樣進行數(shù)值變量的轉(zhuǎn)換,提高了編碼效率。
[0017]根據(jù)H.264建議,圖片標識符可以具有O?65535的任何值,但是存在下面的規(guī)定:在IDR圖片相互鄰接的情況下,不能連續(xù)使用相同的圖片標識符。只要相同的圖片標識符未被連續(xù)分配給鄰接的IDR圖片,在運動圖像中,就可以多次使用相同的圖片標識符。
[0018]然而,在進行編輯任務(wù)時,存在在編輯后連續(xù)使用相同的圖片標識符的可能性。如果在編輯后連續(xù)使用相同的圖片標識符,則改變圖片標識符中的任一個就足夠了,但是由于如上所述,以可變長度方式(Golomb編碼)對圖片標識符進行編碼,因而存在恰好對于該值無法進行編輯的情況。
[0019]例如,如果兩個連續(xù)IDR圖片的圖片標識符都具有值0,則通過一位值I表示Golomb碼。根據(jù)不能連續(xù)使用相同的圖片標識符這一規(guī)定,需要改變圖片標識符中的任一個,但是Golomb編碼位不能具有除I以外的任何值。
[0020]在兩個連續(xù)IDR圖片的圖片標識符是I的情況下,同樣出現(xiàn)問題,此外,前一圖片標識符和后一圖片標識符是2。根據(jù)圖8的表,在圖片標識符是I時,Golomb碼是“010”。除I以外,利用該位長可以表示的另一個值是值2,并且由Golomb碼“011”來表示。當連續(xù)的IDR圖片具有相同圖片標識符時,需要利用除I以外的數(shù)字來替換圖片標識符中的任一個,但是在這種情況下,可以選擇的另一個值只有2。然而,如果將圖片標識符中的一個改變成2,則將會與另一鄰接的IDR圖片的圖片標識符相同,因而還需其它修改。
[0021]這樣,變得需要搜索和修改大量IDR圖片的圖片標識符。根據(jù)該情況,可能發(fā)生不可能避免重復(fù)值的情況。在這種情況下,必須進行重新編碼、或者將編輯位置改變成除希望的位置以外的位置。
[0022]作為用于解決上述問題的技術(shù),有這樣一種方法,在該方法中,如果恰好對于圖片標識符無法進行編輯,則刪除填充位等,并且增加分配給圖片標識符的位長(日本專利4757840)。
[0023]下面參考圖9說明日本專利4757840提出的實施例。在編輯圖片標識符之前,IDR圖片包括如下。
[0024]頭中的圖片標識符901 (idr_pic_id)
[0025]為了調(diào)整流數(shù)據(jù)的位長所插入的填充位902 (cabac_alignment_one_bit)
[0026]在數(shù)據(jù)末尾插入的填充位905 (trailing_zero_8bits)
[0027]在編輯圖片標識符之后,IDR圖片包括以下。
[0028]為了使圖片標識符901可改變而擴展N位的圖片標識符903
[0029]比填充位9O2 短 N 位的填充位 904 (cabac_alignment_one_bit)
[0030]為了調(diào)整位長而在數(shù)據(jù)末尾所插入的填充位906 (trailing_zero_8bits)
[0031]這里,如果恰好對于圖片標識符無法進行編輯,則將圖片標識符901的位長增加N位來獲得擴展N位的圖片標識符903,以使得可以改變Golomb碼。然而,在不進行任何處理的情況下,圖片的整體位長將會增加N位,并且流可能不再是適當?shù)腍.264流。鑒于此,為了調(diào)整位數(shù),將cabac_alignment_one_bit902減少作為增加量的N位,從而獲得填充位904,并且避免整體位數(shù)的增加。然而,cabac_alignment_one_bit902是依賴圖像的數(shù)據(jù),并且可能沒有足夠的余地將其減少N位。在這種情況下,將添加至流數(shù)據(jù)末尾的trai I ing_zero_8bits905減少增加量,從而獲得填充位906。由于trailing_zero_8bits也是依賴圖像的,因而存在該數(shù)據(jù)不存在的情況。在這種情況下,使用下一片數(shù)據(jù)來實現(xiàn)平衡。在這類方法中,在存在使得能夠調(diào)整位長以編輯數(shù)據(jù)的頭處的圖片標識符的參數(shù)的情況下,進行編輯相對容易,但是,如果不存在這類參數(shù),則存在由于需要分析流并調(diào)整填充位因而處理變得復(fù)雜的風(fēng)險。
【發(fā)明內(nèi)容】
[0032]鑒于此,在編輯運動圖像的情況下,本發(fā)明使得更容易地改變圖片標識符以避免在編輯后的運動圖像中存在連續(xù)的相同圖片標識符,并且能夠減輕進行編輯處理時的負荷。
[0033]本發(fā)明實施例的一個方面,涉及一種圖像處理設(shè)備,包括:編輯單元,用于對運動圖像進行編輯;分析單元,用于分析所述運動圖像中所包括的預(yù)定幀的頭,并且獲取片類型和圖片標識符;以及重寫單元,用于重寫所述運動圖像中所包括的幀的頭,其中,所述分析單元分析第一幀的頭和第二幀的頭,并且獲取所述第一幀的片類型和圖片標識符以及所述第二幀的片類型和圖片標識符,其中,所述第一幀和所述第二幀是在所述編輯單元進行編輯之前不鄰接、而在所述編輯之后相互鄰接的幀,以及在所述第一幀的圖片標識符和所述第二幀的圖片標識符一致的情況下,所述重寫單元重寫所述第一幀的圖片標識符和片類型。
[0034]本發(fā)明實施例的另一個方面,涉及一種圖像處理設(shè)備的控制方法,所述圖像處理設(shè)備包括:編輯單元,用于對運動圖像進行編輯;分析單元,用于分析所述運動圖像中所包括的預(yù)定幀的頭,并且獲取片類型和圖片標識符;以及重寫單元,用于重寫所述運動圖像中所包括的幀的頭,以及所述控制方法包括以下步驟:控制所述分析單元,以分析第一幀的頭和第二幀的頭、并且獲取所述第一幀的片類型和圖片標識符以及所述第二幀的片類型和圖片標識符,其中,所述第一幀和所述第二幀是在所述編輯單元進行編輯之前不鄰接、而在所述編輯之后相互鄰接的幀,以及在所述第一幀的圖片標識符和所述第二幀的圖片標識符一致的情況下,控制所述重寫單元以重寫所述第一幀的圖片標識符和片類型。
[0035]通過以下參考附圖對典型實施例的說明,本發(fā)明的其他特征將顯而易見。
【專利附圖】
【附圖說明】
[0036]圖1是示出根據(jù)本發(fā)明的實施例1的運動圖像編輯設(shè)備101的概略結(jié)構(gòu)的框圖。
[0037]圖2是用于說明根據(jù)本發(fā)明的實施例1的削減后的編碼圖像的圖。
[0038]圖3是示出根據(jù)本發(fā)明的實施例1的處理的例子的流程圖。
[0039]圖4是用于說明根據(jù)本發(fā)明的實施例1的頭分析處理和頭重寫處理的圖。
[0040]圖5是示出根據(jù)本發(fā)明的實施例2的運動圖像編輯設(shè)備501的概略結(jié)構(gòu)的框圖。[0041]圖6是用于說明本發(fā)明的實施例2的接合后的編碼圖像的圖。
[0042]圖7是示出根據(jù)本發(fā)明的實施例2的處理的例子的流程圖。
[0043]圖8是示出Golomb碼和數(shù)據(jù)值范圍的圖。
[0044]圖9是用于說明傳統(tǒng)設(shè)備的流編輯的圖。
[0045]圖10是用于說明根據(jù)本發(fā)明的實施例的圖片標識符的位長的擴展的圖。
[0046]圖11是用于說明根據(jù)本發(fā)明的實施例的縮短圖片標識符的位長的圖。
[0047]圖12是示出根據(jù)本發(fā)明的實施例3的處理的例子的流程圖。
[0048]圖13是用于說明根據(jù)本發(fā)明的實施例3的頭分析處理和頭重新處理的圖。
【具體實施方式】
[0049]下面參考附圖詳細說明本發(fā)明的實施例。
[0050]實施例1
[0051]下面參考圖1說明作為根據(jù)本發(fā)明實施例1的圖像處理設(shè)備的運動圖像編輯設(shè)備。將幀全是IDR圖片類型的運動圖像輸入至運動圖像編輯設(shè)備101。在該說明書中,以下將該運動圖像稱為“編碼圖像”。將編碼圖像102輸入至運動圖像編輯設(shè)備101,并且輸出編輯后的編碼圖像110。運動圖像編輯設(shè)備101具有編碼圖像分析單元103、用于從外部接收設(shè)置的輸入的外部設(shè)置輸入104、刪除范圍設(shè)置單元105、用于根據(jù)編碼圖像102生成削減后的編碼圖像107的編碼圖像刪除單元106、頭分析單元108和頭重寫單元109。編碼圖像分析單元103、刪除范圍設(shè)置單元105和編碼圖像刪除單元106用作運動圖像編輯單元。
[0052]注意,在使用專用邏輯電路和存儲器的情況下,可以通過硬件構(gòu)成圖1的運動圖像編輯設(shè)備101的塊。可選地,通過包括用于執(zhí)行存儲在存儲器中的處理程序的CPU等的計算機,可以通過軟件構(gòu)成這些塊。
[0053]接著說明圖1所示塊的操作。本實施例的運動圖像編輯設(shè)備101可以對以“ITU-TRec.H.264 | IS0/IEC14496-10Advanced Video Coding”(以下稱為“H.264”)所編輯的運動圖像進行編輯。編碼圖像分析單元103將流中的圖片的位置信息作為輸入編碼圖像102的結(jié)構(gòu)信息輸出給刪除范圍設(shè)置單元105?;趤碜跃幋a圖像102的結(jié)構(gòu)信息,刪除范圍設(shè)置單元105根據(jù)作為用戶指定等的外部設(shè)置輸入104,將與要從編碼圖像102刪除的圖片的范圍有關(guān)的位置信息輸出給編碼圖像刪除單元106。
[0054]編碼圖像刪除單元106從編碼圖像102刪除通過刪除范圍設(shè)置單元105所指示的、從刪除起點到刪除終點的幀的刪除范圍,并且將作為結(jié)果的削減后的編碼圖像107輸出給頭分析單元108和頭重新單元109。
[0055]頭分析單元108分析緊挨在削減后的編碼圖像107的刪除起點之前的幀的頭和緊接著刪除終點之后的幀的頭,即,由于刪除而變成第一次鄰接(連續(xù))的幀的頭。注意,在該分析中,可以從刪除范圍設(shè)置單元105獲取上述刪除范圍圖片位置信息。頭分析單元108從這些幀的頭提取作為圖片標識符的idr_pic_id和作為片類型的sliCe_type,并且將其輸出給頭重寫單元109。
[0056]頭重寫單元109檢查所獲取的slice_type和idr_pic_id(圖片標識符)。如果緊挨在刪除起點之前的幀(第一幀)的idr_pic_id和緊接著刪除終點之后的幀(第二幀)的idr_pic_id相互一致,則頭重寫單元109將idr_pic_id和slice_type重寫入削減后的編碼圖像107的頭中,并且輸出作為結(jié)果的編輯后的編碼圖像110。注意,稍后說明頭重寫單元109所進行的具體頭重寫方法。
[0057]下面參考圖2說明實施例1的削減后的編碼圖像107。圖1中的編碼圖像刪除單元106通過刪除由刪除范圍設(shè)置單元105所指示的刪除范圍(例如,從刪除起點201到刪除終點202的范圍)內(nèi)的編碼圖像部分,生成削減后的編碼圖像107。
[0058]為了使得能夠?qū)dr_pic_id改變成非重復(fù)值,idr_pic_id的值必須至少在5位以上。然而,不能保證idr_pic_id總是在5位以上。鑒于此,在本實施例中,為了防止idr_pic_id未能具有5位以上的值,通過改變Golomb編碼的slice_type來設(shè)置多余位,并且將多余位分配給idr_pic_id。
[0059]根據(jù)H.264標準,在所有幀都是IDR圖片類型的情況下,slicejype可以取值2或
7。這里,“2”意味“片頭設(shè)置僅對于該片是有效的”。另一方面,“7”意味“片頭設(shè)置對于幀中的片是有效的”。在幀中僅存在一個片的情況下,值“7”就足夠了,并且在即使存在多個片的情況下,在圖片內(nèi)也不改變設(shè)置(即,對于多個片,設(shè)置是相同的)。鑒于此,在本發(fā)明中,在進行流生成時,設(shè)置slice_type=7 (第一片類型),并且在進行編輯時,通過將該設(shè)置改變成slice_type=2(第二片類型)來創(chuàng)建多余位。
[0060]如圖8所示,在Golomb編碼下,通過7位表示數(shù)據(jù)值“7”。數(shù)據(jù)值“2”在Golomb編碼時通過3位來表示。鑒于此,在要重寫頭的情況下,將Slicejype從“7”改變成“2”以將其減少4位,并且可以將這4位分配給idr_pic_id。
[0061]接著參考圖3和4,詳細說明圖1中的頭分析單元108所進行的頭分析處理和頭重寫單元109所進行的頭重寫處理中的操作。圖3是示出通過頭分析單元108和頭重寫單元109所進行的控制操作的流程的流程圖。可以通過例如用作頭分析單元108和頭重寫單元109的處理器執(zhí)行相應(yīng)程序(被存儲在設(shè)備中的ROM等中),實現(xiàn)與這些流程圖相對應(yīng)的處理。圖4以巾貞為單位,不出圖2所不的編碼圖像102、削減后的編碼圖像107和編輯后的編碼圖像110的流內(nèi)容的結(jié)構(gòu)的例子。其中,對于編碼圖像102,所有幀的slice_type=7 ;對于削減后的編碼圖像107,所有幀的slice_type=7 ;對于編輯后的編碼圖像110,幀404的slice_type=2,除巾貞 404 以外的巾貞的 slice_type=7。
[0062]在圖3的步驟S301,頭重寫單元109從頭分析單元108獲取緊挨在片刪除起點之前的幀的idr_pic_id。這里,假定“η”是所獲取的idr_pic_id的值。假定將編碼圖像102配置成如圖4所示,圖4中緊挨在編碼圖像102的刪除起點201之前的幀401的idr_pic_id具有值“2”,也就是說,n=2。
[0063]在圖3的步驟S302,頭重寫單元109從頭分析單元108獲取緊接著刪除終點之后的中貞的slice_type。這里,假定“a”是所獲取的slice_type的值。例如,圖4中緊接著刪除終點202之后的幀402的slice_type具有值“7”,也就是說,a=7。
[0064]在步驟S303,頭重寫單元109判斷在步驟S302所獲取的、緊接著刪除終點之后的中貞的slice_type的值a是否是“7”。如果緊接著刪除終點之后的巾貞的slice_type的值a是“7”(步驟S303為“是”),則過程進入步驟S304。另一方面,如果緊接著刪除終點之后的幀的slice_type的值a不是“7” (步驟S303為“否”),則過程進入步驟S310。例如,由于圖4中緊接著刪除終點202之后的幀402的slice_type為“7”,因而過程進入步驟S304。
[0065]在步驟S304,頭重寫單元109從頭分析單元108獲取緊接著刪除終點之后的幀的idr_pic_id。假定“m”是所獲取的idr_pic_id的值。例如,獲取圖4中緊接著刪除終點202之后的巾貞402的idr_pic_id。這里,所獲取的idr_pic_id是“2”,也就是說,m=2。
[0066]在步驟S305,頭重寫單元109將在步驟S301所獲取的、緊挨在刪除起點之前的幀的idr_pic_id的值η與在步驟S304所獲取的、緊接著刪除終點之后的巾貞的idr_pic_id的值m進行比較。如果η和m不一致(步驟S305為“否”),則由于無需改變idr_pic_id,因而結(jié)束該處理。另一方面,如果η和m —致(步驟S305為“是”),則過程進入步驟S306。例如,圖4中緊挨在削減后的編碼圖像107的刪除起點201之前的幀401的idr_pic_id和緊接著刪除終點202之后的幀402的idr_pic_id都是“2”、并且相互一致,因此過程進入步驟 S306。
[0067]在步驟S306,頭重寫單元109從頭分析單元108獲取緊接著刪除終點之后的幀的idr_pic_id的位長。假定“b”是所獲取的idr_pic_id的位長。例如,獲取圖4中緊接著刪除終點202之后的幀402的idr_pic_id的位長。根據(jù)圖8中的Golomb碼和數(shù)據(jù)值范圍之間的關(guān)系,獲知所獲取的idr_pic_id的位長是3位。
[0068]在步驟S307,頭重寫單元109判斷在步驟S306所獲取的、緊接著刪除終點之后的中貞的idr_pic_id的位長b是否小于或等于作為第一位長的29位。根據(jù)H.264標準,idr_pic_id的最大位長為33位,并且如果在30位以上,則現(xiàn)有idr_pic_id不能被擴展4位。換句話說,第一位長是基于這兩個片類型的位長之間的差和idr_pic_id的最大位長所確定的值。在步驟S307,判斷該情況是否適用于作為處理對象的編碼圖像102。如果緊接著刪除終點之后的幀的idr_pic_id的位長b小于或等于第一位長(步驟S307為“是”),則過程進入步驟S308。在步驟S307,如果緊接著刪除終點之后的幀的idr_pic_id的位長b大于29位(步驟S307為“否”),則頭重寫單元109進入步驟S318。例如,圖4中緊接著刪除終點202之后的幀402的idr_pic_id的位長是3位,即,29位以下,因此過程進入步驟S308。
[0069]在步驟S308,頭重寫單元109將緊接著刪除終點之后的幀的sliCe_type從“7”改變成“2”。進行該處理使得能夠獲得4個多余位。例如,僅將圖4中緊接著刪除終點202之后的幀402的slice_type從“7”改變成“2”。在隨后的步驟S309,頭重寫單元109將緊接著刪除終點之后的幀的idr_pic_id的位長擴展4位。例如,將圖4中緊接著刪除終點202之后的幀402的idr_pic_id的位長擴展4位,因而將其從3位改變成7位。過程然后進入步驟S318。
[0070]在步驟S303做出否定判斷之后,在步驟S310,頭重寫單元109判斷在步驟S302所獲取的、緊接著刪除終點之后的幀的Slicejype的值a是否是“2”。這里需要考慮的情況是:在創(chuàng)建編碼圖像102時,將slice_type設(shè)置成“7”。換句話說,如果slice_type是“2”,則可以認為先前編輯了該幀。換句話說,可以認為已將idr_pic_id擴展了 4位。鑒于此,如果緊接著刪除終點之后的幀的sliCe_type的值a是“2” (步驟S310為“是”),則過程進入步驟S311。另一方面,如果緊接著刪除終點之后的幀的Slicejype的值a不是“2” (步驟S310為“否”),則編碼圖像102不適用于本發(fā)明,并且結(jié)束該處理。
[0071]在隨后的步驟S311,頭重寫單元109從頭分析單元108獲取緊接著刪除終點之后的中貞的idr_pic_id。假定“m”是所獲取的idr_pic_id的值。在步驟S312,頭重寫單元109將在步驟S301所獲取的、緊挨在刪除起點之前的幀的idr_pic_id的η與在步驟S311所獲取的、緊接著刪除終點之后的幀的idr_pic_id的m進行比較。如果這兩者不一致(步驟S312為“否”),則無需改變idr_pic_id,因此結(jié)束該處理。另一方面,如果這兩者一致(步驟S312為“是”),則過程進入步驟S313。
[0072]在步驟S313,頭重寫單元109從頭分析單元108獲取緊接著刪除終點之后的幀的idr_pic_id的位長。假定“b”是所獲取的idr_pic_id的位長。在隨后的步驟S314,頭重寫單元109判斷在步驟S313所獲取的、緊接著刪除終點之后的幀的i dr_p i c_i d的位長b是否大于或等于作為第二位長的5位。這是因為idr_pic_id可具有的最低位長是I位。換句話說,第二位長是基于兩個片類型的位長之間的差和idr_pic_id的最小位長所確定的值。
[0073]如果緊接著刪除終點之后的幀的idr_pic_id的位長b大于或等于第二位長(步驟S314為“是”),則過程進入步驟S315。另一方面,如果緊接著刪除終點之后的幀的idr_pic_id的位長b小于5 (步驟S314為“否”),則過程進入步驟S317。
[0074]在步驟S315,頭重寫單元109將緊接著刪除終點之后的幀的slicejype從“2”改變成“7”。在隨后的步驟S316,頭重寫單元109將緊接著刪除終點之后的幀的idr_pic_id的位長縮短4位。在步驟S317,頭重寫單元109判斷在步驟S313所獲取的、緊接著刪除終點之后的幀的idr_pic_id的位長b是否小于或等于3位。如果緊接著刪除終點之后的幀的idr_pic_id的位長b小于或等于3位(步驟S317為“是”),則編碼圖像102不適用于本發(fā)明,并且結(jié)束該處理。另一方面,如果緊接著刪除終點之后的幀的idr_pic_id的位長b大于3位(步驟S317為“否”),則過程進入步驟S318。在這種情況下,位長b是4位(第三位長)。
[0075]在步驟S318,頭重寫單元109改變緊接著刪除終點之后的幀的idr_pic_id。注意,將緊接著刪除終點之后的幀的idr_pic_id的值改變成不同于緊挨在刪除起點之前的幀的idr_pic_id的值η的值。
[0076]例如,在改變圖4中緊挨在刪除終點202之后的幀402的idr_pic_id的情況下,該值被改變成不同于緊接著刪除起點之前的幀的idr_pic_id的值“2”的“7”。盡管在本實施例中,將idr_pic_id從“2”改變成“7”,但是改變后的值僅需要是除“2”以外的值即可。由于將idr_pic_id擴展4位,因而圖8所示的數(shù)據(jù)值范圍從2個類型“ 1-2”增加成8個類型“7-14”。因此,根據(jù)本實施例,可以從這8個類型“7-14”中來選擇idr_pic_id的值。結(jié)果,在所生成的編輯后的編碼圖像110中,將idr_pic_id為“2”和slice_type為“7”的幀402改變成了 idr_pic_id為“7”和slice_type為“2”的幀404。注意,圖10示出位擴展之前和之后的idr_pic_id的Golomb碼和數(shù)據(jù)值的例子。在圖10中,由于被擴展了 4位,因而數(shù)據(jù)值被從“2”改變成“II”。另外,圖11示出位縮短之前和之后的idr_pic_id的Golomb碼和數(shù)據(jù)值的例子。在圖11中,由于被縮短4位,因而數(shù)據(jù)值被從“12”改變成了“2”。
[0077]盡管在上述說明中,在步驟S305和S312比較idr_pic_id值,但是還存在不進行比較本身的方法。換句話說,即使idr_pic_id值不一致,過程也可以接著進入步驟S306的處理或步驟S313的處理。盡管在這樣進行操作時總是改變slice_type,但是存在的優(yōu)點是通過減少進行例外判斷處理的次數(shù)而降低了處理步驟的數(shù)量。
[0078]注意,盡管在上述說明中,說明了由作為全IDR(全IDR圖片)的幀構(gòu)成編碼圖像的情況,但是本發(fā)明的實施例不局限于這一結(jié)構(gòu)。本發(fā)明可應(yīng)用于在編輯之后可能具有鄰接的IDR圖片的任何削減后的編碼圖像107。換句話說,本發(fā)明同樣可應(yīng)用于包括IDR圖片的任何運動圖像,并且本發(fā)明不局限于僅可應(yīng)用于由作為全IDR圖片的幀所構(gòu)成的運動圖像。
[0079]根據(jù)上述本實施例,即使具有相同圖片標識符的IDR圖片在編輯編碼圖像之后是連續(xù)的,也可以通過改變一個幀的頭中的數(shù)據(jù)來有效進行圖片標識符改變。
[0080]實施例2
[0081]實施例1說明了通過刪除所輸入的運動圖像的序列中的一部分來進行編輯的情況。相反,實施例2說明進行用于通過結(jié)合兩個運動圖像來生成新的運動圖像的編輯的情況。
[0082]圖5示出作為根據(jù)本發(fā)明實施例2的圖像處理設(shè)備的運動圖像編輯設(shè)備的結(jié)構(gòu)。將幀均是IDR圖片類型的編碼圖像502和503輸入給運動圖像編輯設(shè)備501,并且輸出編輯后的編碼圖像506。運動圖像編輯設(shè)備501具有用于根據(jù)編碼圖像502和503生成接合編碼圖像505的編碼圖像接合單元504、頭分析單元108和頭重寫單元109。在本實施例中,編碼圖像接合單元504用作運動圖像編輯單元。注意,在使用專用邏輯電路和存儲器的情況下,可以通過硬件構(gòu)成圖5的運動圖像編輯設(shè)備501的塊??蛇x地,通過包括用于執(zhí)行存儲在存儲器中的處理程序的CPU等的計算機,可以通過軟件構(gòu)成這些塊。
[0083]接著說明圖5所示的塊的操作。編碼圖像接合單元504接合輸入的編碼圖像502和503,并且輸出作為結(jié)果的接合編碼圖像505。頭分析單元108分析緊挨在接合編碼圖像505的接合點之前的幀的頭和緊接著接合點之后的幀的頭,也就是說,分析由于接合而變得第一次鄰接(連續(xù))的幀的頭。頭分析單元108從接合點之前和之后的IDR圖片的頭提取作為圖片標識符的idr_pic_id,從接合點之前和之后的幀的頭提取作為片類型的slice_type,并且將其輸出給頭重寫單元109。
[0084]頭重寫單元109檢查所獲取的idr_pic_id和slice_type。如果緊挨在接合點之前的巾貞(第一巾貞)的idr_pic_id和緊接著接合點之后的巾貞(第二巾貞)的idr_pic_id相互一致,則頭重寫單元109將idr_pic_id和slice_type重寫入接合編碼圖像505的頭中,并且輸出作為結(jié)果的編輯后的編碼圖像506。注意,稍后說明頭重寫單元109所進行的具體頭
重寫方法。
[0085]下面參考圖6說明實施例2的接合編碼圖像505。首先,由流A601構(gòu)成編碼圖像502,并且由流B602構(gòu)成編碼圖像503。本實施例說明編碼圖像接合單元504通過將流B602接合至流A601的末尾來生成接合編碼圖像505的情況。注意,接合點603是接合編碼圖像505中流A601和流B602之間的邊界。
[0086]接著參考圖7詳細說明圖5中的頭分析單元108所進行的頭分析處理和頭重寫單元109所進行的頭重寫處理的操作。圖7是示出通過頭分析單元108和頭重寫單元109所進行的控制操作的流程的流程圖。通過例如用作頭分析單元108和頭重寫單元109的處理器執(zhí)行相應(yīng)程序(被存儲在設(shè)備中的ROM等中)來實現(xiàn)與這些流程圖相對應(yīng)的處理。注意,在圖7所示的步驟中,以與圖3中的相同附圖標記所表示的步驟是用于執(zhí)行與圖3所示的相同處理的步驟。
[0087]在圖7的步驟S701,頭重寫單元109從頭分析單元108獲取緊挨著接合點之前的中貞的idr_pic_id。這里,假定“η”是所獲取的idr_pic_id的值。在隨后的步驟S702,頭重寫單元109獲取緊接著接合點之后的巾貞的slice_type。假定“a”是所獲取的slice_type的值。
[0088]在步驟S303,頭重寫單元109判斷在步驟S702所獲取的、緊接著接合點之后的幀的slice_type的值a是否是“7”。如果緊接著接合點之后的巾貞的slice_type的值a是“7”(步驟S303為“是”),則過程進入步驟S704。另一方面,如果緊接著接合點之后的幀的slice_type的值a不是“7”(步驟S303為“否”),則過程進入步驟S310。
[0089]在步驟S704,頭重寫單元109從頭分析單元108獲取緊接著接合點之后的幀的idr_pic_id。這里,假定“m”是所獲取的idr_pic_id的值。在隨后的步驟S305,頭重寫單元109將在步驟S701所獲取的、緊挨在接合點之前的幀的idr_pic_id的值η與在步驟S704所獲取的、緊接著接合點之后的巾貞的idr_pic_id的值m進行比較。如果η和m不一致(步驟S305為“否”),則由于無需改變idr_pic_id,因而結(jié)束該處理。另一方面,如果η和m —致(步驟S305為“是”),則過程進入步驟S706。
[0090]在步驟S706,頭重寫單元109從頭分析單元108獲取緊接著接合點之后的幀的idr_pic_id的位長。假定“b”是所獲取的idr_pic_id的位長。在隨后的步驟S307,頭重寫單元109判斷在步驟S706所獲取的、緊接著接合點之后的幀的idr_pic_id的位長b是否小于或等于29位。如果緊接著接合點之后的巾貞的idr_pic_id的位長b小于或等于29位(步驟S307為“是”),則過程進入步驟S708。另一方面,如果緊接著接合點之后的幀的idr_pic_id的位長b大于29位(步驟S307為“否”),則過程進入步驟S718。
[0091]在步驟S708,頭重寫單元109將緊接著接合點之后的幀的sliCe_type從“7”改變成“2”。進行該處理,使得能夠獲得4個多余位。在隨后的步驟S709,頭重寫單元109將緊接著接合點之后的幀的idr_pic_id的位長擴展4位。過程然后進入步驟S718。
[0092]在步驟S303做出否定判斷之后,在步驟S310,頭重寫單元109判斷在步驟S702所獲取的、緊接著接合點之后的幀的Slicejype的值a是否是“2”。這里應(yīng)該考慮的情況是:在創(chuàng)建編碼圖像502和503時,將slice_type設(shè)置成“7”。換句話說,如果slice_type是“2”,則可以認為先前編輯了該幀。換句話說,可以認為已將idr_pic_id擴展了 4位。鑒于此,如果緊接著接合點之后的幀的sliCe_type的值a是“2” (步驟S310為“是”),則過程進入步驟S711。另一方面,如果緊接著接合點之后的幀的Slicejype的值a不是“2”(步驟S310為“否”),則編碼圖像502和503不適用于本發(fā)明,并且結(jié)束該處理。
[0093]在隨后的步驟S711,頭重寫單元109從頭分析單元108獲取緊接著接合點之后的幀的idr_pic_id。假定“m”是所獲取的idr_pic_id的值。在步驟S312,頭重寫單元109將在步驟S701所獲取的、緊挨在接合點之前的幀的idr_pic_id的值η與在步驟S711所獲取的、緊接著接合點之后的幀的idr_pic_id的值m進行比較。如果這兩者不一致(步驟S312為“否”),則由于無需改變idr_pic_id,因而結(jié)束該處理。另一方面,如果這兩者一致(步驟S312為“是”),則過程進入步驟S713。
[0094]在步驟S713,頭重寫單元109從頭分析單元108獲取緊接著接合點之后的幀的idr_pic_id的位長。假定“b”是所獲取的idr_pic_id的位長。在隨后的步驟S314,頭重寫單元109判斷在步驟S713所獲取的、緊接著接合點之后的幀的idr_pic_id的位長b是否大于或等于5位。如果緊接著接合點之后的巾貞的idr_pic_id的位長b大于或等于5位(步驟S314為“是”),則過程進入步驟S715。另一方面,如果緊接著接合點之后的幀的idr_pic_id的位長b小于5位(步驟S314為“否”),則過程進入步驟S317。[0095]在步驟S715,頭重寫單元109將緊接著接合點之后的幀的sliCe_type從“2”改變成“7”。在隨后的步驟S716,頭重寫單元109將緊接著接合點之后的幀的idr_pic_id的位長縮短4位。另一方面,在步驟S317,頭重寫單元109判斷在步驟S713所獲取的、緊接著接合點之后的幀的idr_pic_id的位長b是否小于或等于3位。如果緊接著接合點之后的幀的idr_pic_id的位長b小于或等于3位(步驟S317為“是”),則編碼圖像502和503不適用于本發(fā)明,并且結(jié)束該處理。另一方面,如果緊接著接合點之后的幀的idr_pic_id的位長b大于3位(步驟S317為“否”),則過程進入步驟S718。注意,在這種情況下,位長b是4位。在步驟S718,改變緊接著接合點之后的幀的idr_pic_id。
[0096]注意,盡管在上述說明中,在步驟S305和S312比較idr_pic_id值,但是還存在不進行比較本身的方法。換句話說,即使idr_pic_id值不一致,過程也可以接著進入步驟S706的處理或者步驟S713的處理。盡管在這樣進行操作時總是改變slice_type,但是存在的優(yōu)點是通過減少進行例外判斷處理的次數(shù)而降低了處理步驟的數(shù)量。
[0097]注意,盡管在上述說明中說明了通過作為全IDR(全IDR圖片)的幀構(gòu)成編碼圖像的情況,但是本發(fā)明的實施例不局限于這一結(jié)構(gòu)。本發(fā)明可應(yīng)用于在編輯之后可能具有鄰接的IDR圖片的任何接合編碼圖像505。換句話說,本發(fā)明同樣可應(yīng)用于包括IDR圖片的任何運動圖像,并且本發(fā)明不局限于僅可應(yīng)用于通過作為全IDR圖片的幀所構(gòu)成的運動圖像。
[0098]根據(jù)上述本實施例,即使具有相同圖片標識符的IDR圖片在接合編碼圖像之后是連續(xù)的,也可以通過改變一個幀的頭中的數(shù)據(jù)來有效進行圖片標識符改變。
[0099]實施例3
[0100]接著參考圖12和13說明作為實施例1的變形例的實施例3。圖12是示出通過頭分析單元108和頭重寫單元109所進行的控制操作的流程的流程圖。在這些附圖中,以與圖3中的相同附圖標記所表示的步驟是用于執(zhí)行與圖3所示的相同處理的步驟。圖12的處理的不同在于代替圖3的步驟S318,設(shè)置了步驟S1201和S1202。
[0101]圖13以幀為單位示出對經(jīng)過了實施例1的處理的編輯后的編碼圖像110進行再次編輯的情況下的削減后的編碼圖像1305和再編輯后的編碼圖像1306的流內(nèi)容。其中,對于編輯后的編碼圖像110,巾貞404的slice_type=2,除巾貞404以外的巾貞的slice_type=7 ;對于削減后的編碼圖像1305,巾貞404的slice_type=2,除巾貞404以外的巾貞的slice_type=7 ;對于再編輯后的編碼圖像1306,幀404、1302的slice_type=2,除幀404、1302以外的幀的slice_type=70在該附圖中,以相同附圖標記表示與圖4所示的要素相對應(yīng)的要素,并且以相同方式應(yīng)用以上給出的說明。圖13中的編輯后的編碼圖像110是已經(jīng)過了實施例1的處理的編輯后的編碼圖像。圖13中的編碼圖像的刪除范圍是從刪除起點1303到刪除終點1304。圖13中緊挨在刪除起點1303之前的幀1301 (第一幀)的idr_pic_id為“2”,并且緊接著刪除終點之后的幀401 (第二幀)的idr_pic_id也是“2”。下面僅說明與實施例1的不同。
[0102]在圖12的步驟S1201,頭重寫單元109從頭分析單元108獲取刪除終點之后的第二個巾貞(第三巾貞)的idr_pic_id。假定“p”是所獲取的idr_pic_id的值。例如,頭重寫單元109獲取圖13中刪除終點1304之后的第二個幀404的idr_pic_id。所獲取的idr_pic_id的值是“7”。在隨后的步驟S1202,頭重寫單元109改變緊接著刪除終點之后的幀的idr_pic_id。注意,將緊接著刪除終點之后的巾貞的idr_pic_id的值改變成不同于緊挨在刪除起點之前的巾貞的idr_pic_id的值η和刪除終點之后的第二個巾貞的idr_pic_id的值p的值。
[0103]例如,考慮改變圖13中緊接著刪除終點1304之后的幀401的idr_pic_id的例子。在這種情況下,改變后的值需要不同于緊挨在刪除起點之前的幀1301的idr_pic_id的值“2”和刪除終點之后的第二個幀404的idr_pic_id的值“7”,并且圖13示出將該值改變成“8”的情況。結(jié)果,在所生成的再編輯后的編碼圖像1306中,將idr_pic_id為“2”、并且 slice_type 為 “7” 的幀 401 改變成了 idr_pic_id 為 “8”、并且 slice_type 為 “2” 的幀1302。
[0104]注意,同樣,在實施例2中,代替步驟S718執(zhí)行步驟S1201和S1202,使得能夠避免緊接著接合點之后的巾貞的idr_pic_id和隨后的巾貞的idr_pic_id相同這一,清況。
[0105]根據(jù)上述本實施例,還可以防止在編輯后的編碼圖像中要重寫頭的幀的圖片標識符和隨后的幀的圖片標識符相同。
[0106]盡管以上說明了本發(fā)明的實施例,但是本發(fā)明不局限于這些實施例,并且在本發(fā)明的精神范圍內(nèi)可以進行各種改變和修改。注意,實施例1?3所述的運動圖像編輯設(shè)備例如可以是諸如照相機、移動電話或個人計算機等的可以處理運動圖像的任何設(shè)備。
[0107]其他實施例
[0108]可以通過讀出并執(zhí)行記錄在存儲介質(zhì)(例如,非瞬態(tài)計算機可讀存儲介質(zhì))上的計算機可執(zhí)行指令以進行上述本發(fā)明的一個或多個實施例的功能的系統(tǒng)或設(shè)備的計算機、以及通過下面的方法來實現(xiàn)本發(fā)明的實施例,其中,通過系統(tǒng)或設(shè)備的計算機例如從該存儲介質(zhì)讀出并執(zhí)行該計算機可執(zhí)行指令以進行上述一個或多個實施例的功能來進行該方法。計算機可以包含中央處理單元(CPU)、微處理單元(MPU)或者其他電路中的一個或多個,并且可以包括分開的計算機或者分開的計算機處理器的網(wǎng)絡(luò)??梢酝ㄟ^例如網(wǎng)絡(luò)或者存儲介質(zhì)將該計算機可執(zhí)行指令提供給計算機。存儲介質(zhì)可以包括例如硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、分布式計算系統(tǒng)的存儲器、光盤(諸如緊湊型光盤(CD)、數(shù)字多功能光盤(DVD)或藍光光盤(BD)?等)、閃存裝置和存儲卡等中的一個或多個。
[0109]盡管參考典型實施例說明了本發(fā)明,但是應(yīng)該理解,本發(fā)明不局限于所公開的典型實施例。所附權(quán)利要求書的范圍符合最寬的解釋,以包含所有這類修改、等同結(jié)構(gòu)和功倉泛。
【權(quán)利要求】
1.一種圖像處理設(shè)備,包括: 編輯單元,用于對運動圖像進行編輯; 分析單元,用于分析所述運動圖像中所包括的預(yù)定幀的頭,并且獲取片類型和圖片標識符;以及 重寫單元,用于重寫所述運動圖像中所包括的幀的頭, 其中,所述分析單元分析第一幀的頭和第二幀的頭,并且獲取所述第一幀的片類型和圖片標識符以及所述第二幀的片類型和圖片標識符,其中,所述第一幀和所述第二幀是在所述編輯單元進行編輯之前不鄰接、而在所述編輯之后相互鄰接的幀,以及 在所述第一幀的圖片標識符和所述第二幀的圖片標識符一致的情況下,所述重寫單元重寫所述第一幀的圖片標識符和片類型。
2.根據(jù)權(quán)利要求1所述的圖像處理設(shè)備,其中,在對通過所述編輯而生成的運動圖像進行再現(xiàn)的情況下,在所述第二幀之前顯示所述第一幀。
3.根據(jù)權(quán)利要求1所述的圖像處理設(shè)備,其中,在對通過所述編輯而生成的運動圖像進行再現(xiàn)的情況下,在所述第一幀之前顯示所述第二幀。
4.根據(jù)權(quán)利要求1~3中任一項所述的圖像處理設(shè)備,其中,在所述第一幀的片類型是第一片類型的情況下,所述重寫單元將所述第一幀的片類型重寫成位長短于所述第一片類型的位長的第二片類型。
5.根據(jù)權(quán)利要求4所述的圖像處理設(shè)備,其中,在所述第一幀的片類型是所述第二片類型的情況下,所述重寫單元將所述第一幀的片類型重寫成所述第一片類型。
6.根據(jù)權(quán)利要求3所述的圖 像處理設(shè)備,其中,所述重寫單元將所述第一幀的圖片標識符重寫成與所述第一幀之后所顯示的第三幀的圖片標識符不同的圖片標識符。
7.根據(jù)權(quán)利要求2所述的圖像處理設(shè)備,其中,所述重寫單元將所述第一幀的圖片標識符重寫成與所述第一幀之前所顯示的第三幀的圖片標識符不同的圖片標識符。
8.根據(jù)權(quán)利要求1所述的圖像處理設(shè)備,其中, 所述重寫單元將所述第一幀的片類型重寫成第一片類型和第二片類型中的一個,以及 所述第一片類型表示與所述頭相對應(yīng)的片圖片類型,并且所述第二片類型表示與所述頭相對應(yīng)的幀圖片類型。
9.根據(jù)權(quán)利要求8所述的圖像處理設(shè)備,其中, 所述第一幀是由一個片所構(gòu)成的幀,以及 所述第二幀是由一個片所構(gòu)成的幀。
10.根據(jù)權(quán)利要求9所述的圖像處理設(shè)備,其中, 所述第一幀是通過幀內(nèi)預(yù)測編碼所獲得的圖片,以及 所述第二幀是通過幀內(nèi)預(yù)測編碼所獲得的圖片。
11.根據(jù)權(quán)利要求1~3中任一項所述的圖像處理設(shè)備,其中,所述編輯單元進行用于刪除運動圖像的幀的處理和用于接合多個運動圖像的處理中的一個。
12.根據(jù)權(quán)利要求1~3中任一項所述的圖像處理設(shè)備,其中, 所述第一幀是作為H.264標準所規(guī)定的IDR圖片的幀, 所述第二幀是作為H.264標準所規(guī)定的IDR圖片的幀,以及 所述圖片標識符是IDR圖片的片頭的idr_pic_id,其中IDR圖片是即時解碼刷新圖片。
13.一種圖像處理設(shè)備的控制方法, 所述圖像處理設(shè)備包括: 編輯單元,用于對運動圖像進行編輯; 分析單元,用于分析所述運動圖像中所包括的預(yù)定幀的頭,并且獲取片類型和圖片標識符;以及 重寫單元,用于重寫所述運動圖像中所包括的幀的頭,以及 所述控制方法包括以下步驟: 控制所述分析單元,以分析第一幀的頭和第二幀的頭、并且獲取所述第一幀的片類型和圖片標識符以及所述第二幀的片類型和圖片標識符,其中,所述第一幀和所述第二幀是在所述編輯單元進行編輯之前不鄰接、而在所述編輯之后相互鄰接的幀,以及 在所述第一幀的圖片標識符和所述第二幀的圖片標識符一致的情況下,控制所述重寫單元以重寫所述第一幀的`圖片標識符和片類型。
【文檔編號】G06T7/20GK103686189SQ201310392196
【公開日】2014年3月26日 申請日期:2013年9月2日 優(yōu)先權(quán)日:2012年8月31日
【發(fā)明者】田中英一, 林良典, 大川浩司 申請人:佳能株式會社