TWI513285B - 影像倒播方法及電腦可讀取媒體 - Google Patents
影像倒播方法及電腦可讀取媒體 Download PDFInfo
- Publication number
- TWI513285B TWI513285B TW103111329A TW103111329A TWI513285B TW I513285 B TWI513285 B TW I513285B TW 103111329 A TW103111329 A TW 103111329A TW 103111329 A TW103111329 A TW 103111329A TW I513285 B TWI513285 B TW I513285B
- Authority
- TW
- Taiwan
- Prior art keywords
- frame
- decoded
- frames
- image
- stored
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 76
- 238000004590 computer program Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/78—Television signal recording using magnetic recording
- H04N5/782—Television signal recording using magnetic recording on tape
- H04N5/783—Adaptations for reproducing at a rate different from the recording rate
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/005—Reproducing at a different information rate from the information rate of recording
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Signal Processing For Recording (AREA)
Description
本發明係關於一種影像倒播方法及電腦可讀取媒體,特別是一種可降低並平均影像延遲時間的影像倒播方法及電腦可讀取媒體。
到目前為止,當監視人員因發生重大事件例如搶劫、車禍、失竊等等狀況時,常需調閱相關監視器畫面以瞭解事件狀況如何發生。而對於理解事件發生的脈絡常需要重複查看事發時間的監視器畫面。此重複查看之動作需透過倒播影像的方式將影像於事發時間之終端往回播放至起始端以便可重新查看。
然而,於倒播影像上尚具有許多問題。舉例來說,於傳統影像倒播時,當欲輸出視訊串流中倒數第三個訊框,需先從節點訊框開始解碼至此視訊串流中倒數第三個訊框,而後再輸出解碼後之視訊串流中倒數第三個訊框。於欲輸出視訊串流中倒數第四個訊框時,則又需從視訊串流中之節點訊框開始依時間順序解碼至倒數第四個訊框。若是視訊串流中之訊框數量超過一定數量時,上述的做法執行上會耗費許多時間,並造成使用者觀看每一倒播影像時均需等待一段時間。
另外,於上述例子中,若是將從節點訊框解碼至此視訊串流中
倒數第三個訊框中所有解碼之訊框,均先儲存至一快取區塊中,雖可於欲輸出倒數視訊串流中第四個訊框時,直接從快取區塊輸出,以節省前述方法所需從視訊串流中之節點訊框開始依時間順序再解碼至倒數第四個訊框的時間,但需要使用大量快取區塊的容量。若是視訊串流中之訊框數量超過一定數量時,執行此方法所需使用的快取區塊的容量以及相對快取區塊的容量所需的成本將會相當可觀。
有鑑於以上的問題,本發明提出一種影像倒播方法及電腦可讀取媒體,藉由預先儲存已解碼之訊框至儲存模組以及於載入下一個訊框時預先解碼部分訊框,以減少並平均影像倒播的延遲時間。
依據本發明所揭露的影像倒播方法,用以倒播視訊串流,視訊串流包含群組圖像,群組圖像具有複數個訊框,複數個訊框包含一個節點訊框及至少一個非節點訊框,複數個訊框具有時間順序,所述影像倒播方法具有下列步驟,首先從節點訊框開始依時間順序解碼至群組圖像之最後一個訊框。接著輸出最後一個解碼後之訊框。接著儲存群組圖像中尚未被輸出之最後至少一個解碼後之訊框至儲存模組中。接著預先解碼群組圖像中尚未被輸出及尚未被儲存的訊框。接著輸出儲存模組中之解碼後之訊框。以及若儲存模組中已無解碼後之訊框時則輸出預先解碼後之群組圖像中尚未被輸出及尚未被儲存的訊框中之最後一個解碼後之訊框並儲存剩餘之訊框中最後至少一個解碼後之訊框至儲存模組中。
依據本發明所揭露的電腦可讀取媒體,用以使處理模組執行多個指令的電腦程式碼,此些指令包含本發明所揭露的影像倒播方法。
綜上所述,本發明透過將視訊串流中解碼後之訊框儲存至儲存模組以及於每次輸入一訊框時即預先解碼部分訊框以減少並平均影像倒播時輸出訊框的延遲時間。
以上之關於本發明內容之說明及以下之實施方式之說明係用以示範與解釋本發明之精神與原理,並且提供本發明之專利申請範圍更進一步之解釋。
1‧‧‧執行影像倒播方法之裝置
10‧‧‧處理模組
12‧‧‧儲存模組
121‧‧‧第一快取區塊
123‧‧‧第二快取區塊
2‧‧‧視訊串流
20‧‧‧群組圖像
I200、P201、P202、P20j‧‧‧訊框
21‧‧‧群組圖像
I210、P211、P212、P21i‧‧‧訊框
第1圖係依據本發明一實施例之執行影像倒播方法之裝置的功能方塊圖。
第2圖係依據本發明一實施例之視訊串流的示意圖。
第3A圖係依據本發明一實施例之影像倒播方法的流程圖。
第3B圖係依據本發明一實施例之影像倒播方法的部分流程圖。
第3C圖係依據本發明一實施例之影像倒播方法的部分流程圖。
第3D圖係依據本發明另一實施例之影像倒播方法的部分流程圖。
第3E圖係依據本發明另一實施例之影像倒播方法的部分流程圖。
第3F圖係依據本發明另一實施例之影像倒播方法的部分流程圖。
以下在實施方式中詳細敘述本發明之詳細特徵以及優點,其內容足以使任何熟習相關技藝者了解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之目的及優點。以下之實施例係進一步詳細說明本發明之觀點,但非以任何觀點限制本發明之範疇。
請參閱第1圖,第1圖係依據本發明一實施例之執行影像倒播方法之裝置的功能方塊圖。如第1圖所示,執行影像倒播方法之裝置1包含處理模組10及儲存模組12,處理模組10耦接儲存模組12。
請一併參閱第1圖及第2圖,第2圖係依據本發明一實施例之視訊串流的示意圖。如圖中所示,處理模組10用以執行本發明之影像倒播方法以倒播視訊串流2,其影像倒播方法的詳細內容請容後詳述。
前述影像視訊串流2包含至少一個以上的群組圖像20、21,而群組圖像20、21分別具有多個訊框(frame)。群組圖像20的多個訊框包含一個節點訊框(訊框I200)(I-frame)以及多個非節點訊框(例如訊框P201、P202...P20j)。群組圖像21的多個訊框則包含一個節點訊框(訊框I210)以及多個非節點訊框(例如訊框P211、P212...P21i)。前述多個訊框間均具有一時間順序,例如訊框I200的時間順序早於訊框P201,訊框P201之時間順序早於訊框P202,其餘訊框之時間順序依此類推。不僅如此,群組圖像20、21之間亦具有時間順序,即群組圖像20之時間順序早於群組圖像21。
儲存模組12用以將視訊串流2中,已被處理模組10解碼但尚未輸出的訊框暫存起來,以利下次解碼時可以直接由儲存模組12輸出。舉例來說,於輸出訊框P212時,因影像解碼需由節點訊框(訊框I210)開始依時間順序解碼訊框I210、訊框P211以及訊框P212後,才能輸出訊框P212。此時若是於解碼過程中先將訊框P211解碼後儲存至儲存模組12時,於下個解碼過程欲輸出訊框P211,處理模組10即可直接從儲存模組12取得解碼後之訊框P211,並將之輸出,以減少解碼訊框所造成的影像的延遲。不僅如此,本發明之儲存模組12並不限定設置於處理模組10之外,儲存模組12亦可以嵌入於處理模組
12內,端看裝置的硬體架構設計或是使用者需要,本發明於此不加以限制。
除此之外,於一實施例中,儲存模組12更包含第一快取區塊121以及第二快取區塊123,前述暫存處理模組10所解碼但尚未輸出之訊框係儲存至第一快取區塊121或第二快取區塊123中,且第一快取區塊121及第二快取區塊123所能儲存解碼但尚未輸出之訊框的數量之總和為N(例如但不以此為限:2張解碼後之訊框),也就是說若第一快取區塊121已存了N張解碼但尚未輸出之訊框時,則第二快取區塊123就不能再存進任何訊框,第一快取區塊121及第二快取區塊123之詳細運作模式,請容後詳述。
請一併參考第1圖、第2圖以及第3A圖,第3A圖係依據本發明一實施例之影像倒播方法的流程圖。如圖中所示,於步驟S300中,以反向的時間順序載入視訊串流2中群組圖像21的一個訊框至處理模組10。於步驟S302中,處理模組10判斷所接收的訊框是否為節點訊框。於步驟S304中,將所載入的訊框儲存至一儲存單元之一緩衝區塊(Queue)中(未繪示於圖式),本發明之儲存單元可以是前述之儲存模組之一部分,也可以是一獨立的儲存單元。舉例來說,當使用者欲倒播視訊串流2時,即開始從群組圖像21的訊框P21i開始以反向的時間順序(即訊框P21i...訊框P212、訊框P211以及訊框I210之順序)以一次一個訊框的方式載入至處理模組10中。當載入訊框P21i至處理模組10時,處理模組10則判斷所載入的訊框P21i是否為節點訊框,並判斷訊框P21i不是節點訊框後,即將訊框P21i儲存至緩衝區塊中,並徑行接收下一個訊框。當載入訊框P211至處理模組10時,處理模組10因判斷訊框P211不是節點訊框,將訊框P211儲存至緩衝區塊中,當載入訊框I210至處理模組10時,處理模組10因判斷訊框I210是節點訊框,此時處理模組將開始解碼(步驟S306)。
於步驟S306中,處理模組10開始解碼訊框。即當處理模組10判斷載入的訊框(訊框I210)為節點訊框後,即開始解碼包含此節點訊框的群組圖像21中的訊框I210、P211、P212...P21i。此時處理模組10會將先前屬於群組圖像21並儲存於緩衝區塊中的訊框以時間順序重新排列,並從該節點訊框(訊框I210)開始依時間順序解碼至群組圖像21之最後一個訊框(訊框P21i)。於步驟S308中,輸出最後一個解碼後之訊框(訊框P21i)。於步驟S310中,儲存群組圖像21中尚未被輸出之最後至少一個解碼後之訊框至儲存模組12,舉例來說,當儲存模組12可儲存之訊框數量為2時,則會將群組圖像21中除了已輸出的訊框P21i以外的其他訊框的最後第一個訊框以及最後第二個訊框儲存至儲存模組12。於步驟S312中,預先解碼群組圖像21中尚未被輸出及尚未被儲存的訊框,即於前述例子中,重新從群組圖像21的節點訊框(訊框I210)開始解碼至指定的訊框,當解碼至指定的訊框後,即執行步驟S314。於步驟S314中,輸出儲存模組12中解碼後之訊框。
值得注意的是,執行完步驟S314後,即再行執行步驟S312,於前述例子中,當預先解碼至指定的訊框後(步驟S312),即輸出儲存模組12中解碼後之訊框(步驟S314)。並從前述指定的訊框開始執行預先解碼之動作至下一指定的訊框(步驟S312),於解碼至下一指定的訊框後,即再行輸出儲存模組12中解碼後之訊框(步驟S314),直至群組圖像21中的訊框均解碼完畢,或是儲存模組12中沒有解碼後之訊框。
為了使所屬技術領域具有通常知識者能更了解本發明所述之影像倒播方法,以下搭配一實施例之表1做進一步的說明,請一併參照第3A圖。於表1中可知,群組圖像21中具有15個訊框,包括1個節點訊框(訊框I210)
以及14個非節點訊框(訊框P211、P212、P213...P2114)。因訊框P2114之時間順序較訊框I210、P211、P212、P213...P2113為後,故從訊框P2114開始以反向時間順序載入處理模組10(即訊框P2114...訊框P212、訊框P211以及訊框I210之順序)。
而在載入訊框P2114...P213、P212、訊框P211時,因前述此些訊框P2114...P213、P212、訊框P211均非節點訊框,處理模組10會把此些輸入的訊框P2114...P213、P212、訊框P211儲存至緩衝區塊中。直到載入訊框I210時,因訊框I210為節點訊框,此時處理模組10開始從訊框I210開始依時間順序解碼群組圖像21的訊框。輸出群組圖像21中的最後一個解碼後之訊框(訊框P2114),並因於本實施例中儲存模組12可儲存的解碼後之訊框為2個解碼後之訊框,處理模組10則將群組圖像21中尚未被輸出之最後至少一個解碼後之訊框(訊框P2112、P2113)儲存至儲存模組12。於載入訊框I200之後的影像倒播方法流程,因與前述載入訊框I210時相同,於此不再加以贅述。
接著,請一併參考第1圖、第3A圖以及第3B圖,第3B圖係依據本發明之一實施例之影像倒播方法的部分流程圖,其係為第3A圖步驟S312之一實施例之部分實施例。於步驟S400中,依反向時間順序載入一個訊框(由於前一個依反向時間順序所載入之訊框為I210(步驟S300),所以依反向時間順序於步驟S400中所載入的訊框為群組圖像20的訊框P20j)。於步驟S402中,處理模組10判斷群組圖像21中的訊框是否全部被輸出完畢,若判斷群組圖像21中的訊框完全被輸出完畢,則處理模組10回到步驟S302判斷載入的訊框(群組圖像20中的訊框)是否為節點訊框。於步驟S404中,若處理模組10判斷群組圖像21中的訊框尚未全部被輸出時,將所載入的訊框(如群組圖像20的訊框P20j)
儲存至緩衝區塊中。值得注意的是,於步驟S400中,每當依反向時間順序載入一個訊框時,即執行一次本發明之一實施例影像倒播方法,例如於載入訊框P202,即執行一次本發明之影像倒播方法,而於載入訊框P201時,即再執行另一次本發明之影像倒播方法,載入其他訊框之情形以此類推。
於步驟S406中,處理模組10判斷群組圖像21之訊框I210、P211、P212...P21i是否皆已被輸出或被儲存至儲存模組12。於步驟S408中,當處理模組10判斷判斷群組圖像21之訊框I210、P211、P212...P21i尚有訊框尚未被輸出或是被儲存至儲存模組12時,則開始計算群組圖像21中,尚未被輸出及尚未被儲存的訊框中,需預先解碼訊框的數量,其中需預先解碼之訊框數量i係依據一關係式計算得出,該關係式為:
其中,A為計數群組圖像21中尚未被輸出、尚未被儲存及尚未被預先解碼的訊框的數量,B為儲存模組12內所儲存的解碼後之訊框的數量,A及B為自然數,此處定義自然數包括"0"。
接著請一併參考第1圖、第3A圖、第3B圖以及第3C圖,第3C圖係依據本發明一實施例之影像倒播方法的部分流程圖,其係為第3A圖步驟S312之一實施例之部分實施例。於步驟S410中,處理模組10判斷需預先解碼的訊框中,是否包含群組圖像21的尚未被輸出及尚未被儲存之解碼之訊框中,倒數第二個訊框至倒數第N+1個訊框其中至少一個訊框。換句話說,此步驟S410係判斷需預先解碼的訊框中是否有訊框於解碼後需儲存於儲存模組12中。於步驟S412中,若處理模組10判斷要被預先解碼的訊框中,並未包含群
組圖像21的尚未被輸出及尚未被儲存之解碼之訊框中,倒數第二個訊框至倒數第N+1個訊框其中至少一個訊框時,則解碼需預先解碼之訊框。於步驟S413中,當處理模組10解碼需預先解碼之訊框後,處理模組10即判斷儲存模組12內解碼後之訊框內的數量是否為零。當處理模組10判斷儲存模組12內解碼後之訊框的數量不為零時,輸出儲存模組12中時間順序最晚的解碼後之訊框(步驟S314)。於步驟S422中,當處理模組10判斷判斷儲存模組10內解碼後之訊框的數量不為零後,即輸出解碼後之訊框,並重新執行步驟S400。
於此以表1揭露之內容對上述步驟做進一步之說明,請一併參考第1圖、第3A圖、第3B圖以及第3C圖。於表1中可得知,群組圖像20係具有15個訊框,包含1個節點訊框(訊框I200)以及14個非節點訊框(訊框P201、訊框P202...訊框P2014),當輸入訊框P2014至處理模組10時(步驟S400),處理模組10判斷群組圖像21中的訊框I210、P211、P212...P2114是否完全輸出完畢(步驟S402),並因為群組圖像21中的訊框尚未完全輸出完畢,處理模組10將訊框P2014儲存至緩衝區塊中(步驟S404)。接著,處理模組10判斷群組圖像21的訊框I210、P211、P212...P2114是否皆已被輸出或被儲存至儲存模組12(步驟S406)。因前述實施例中僅輸出訊框P2114以及將訊框P2112、P2113儲存至儲存模組12中,故處理模組10開始計算群組圖像21中尚未被輸出及尚未被儲存的訊框I210、P211、P212...P2111中,需預先解碼訊框之數量i(步驟S408),經由前述關係式計算得出為4(A=12、B=2;故A/(B+1)=4)。
處理模組10於計算得出需預先解碼之訊框後,即再行判斷需預先解碼的訊框(即訊框I210至訊框P213)中,是否包含需儲存至儲存模組12中的訊框(步驟S410)。而訊框I210至訊框P213於此並未需先暫存至儲存模組12中,
且儲存模組12內的解碼後之訊框的數量不為零,此時處理模組10則逕行解碼訊框I210至訊框P213後輸出儲存模組中時間順序最晚的解碼後之訊框(即訊框P2113)(步驟S412、S413、S314)。於載入訊框P2013、P2011、P2010、P208之後的影像倒播方法流程,因與前述載入訊框P2014時相同,於此不再加以贅述。
於步驟S414中,處理模組10判斷需預先解碼的訊框中是否包含群組圖像21的尚未被輸出及尚未被儲存之訊框中的最後一個訊框。更進一步的說,處理模組10即再行判斷需預先解碼的訊框中是否有需要解碼後即逕行輸出的訊框。於步驟S415中,若處理模組10判斷需預先解碼的訊框中沒有需要解碼後即逕行輸出的訊框時,解碼需預先解碼之訊框。並於預先解碼完後,執行步驟S314,即輸出儲存模組12中的解碼後之訊框。
於步驟S416中,處理模組10判斷儲存模組12內解碼後之訊框的數量是否為零,若處理模組10判斷儲存模組12內解碼後之訊框的數量不為零時,則輸出儲存模組12中的解碼後之訊框(執行步驟S314)。於步驟S418中,若處理模組10判斷儲存模組12內沒有解碼後之訊框時,處理模組10則逕行解碼需預先解碼之訊框並儲存群組圖像21的尚未被輸出及尚未被儲存之訊框中倒數第二個訊框至倒數第N+1個訊框其中之至少一個解碼後之訊框至儲存模組12。於步驟S420中,處理模組10輸出尚未被輸出及尚未被儲存之訊框中最後一個解碼後之訊框。
於此搭配表1所揭露之內容以更加說明上述步驟,當載入訊框P2012時,因群組圖像21中之訊框I210、P211...P217皆已被預先解碼,剩餘之訊框P218、P219、P2110、P2111,經由公式得知此時需預先解碼之訊框剛好為
這4張,且此時需預先解碼之訊框中有群組圖像21的尚未被輸出及尚未被儲存的訊框中,需儲存至儲存模組12之訊框(訊框P219、P2110)(步驟S410)以及最後一個訊框(訊框P2011)(步驟S414),且於此時儲存模組12內並無任何解碼後之訊框(步驟S416),故處理模組10即逕行解碼需預先解碼之訊框(P218、P219、P2110、P2111),並將需儲存至儲存模組12之訊框(訊框P219、P2110)儲存至儲存模組12中(步驟S418),並輸出解碼後之最後一個訊框(訊框P2111)(步驟S420),於此之後即重新執行步驟S400。於載入訊框P209、P206、P204之後的影像倒播方法流程,因與前述載入訊框P2012時相同,故於此不再加以贅述。
當載入訊框P207時,因群組圖像21中之訊框I210、P211已被預先解碼,剩餘之訊框為訊框P212、P213、P214、P215,經由公式得知此時需預先解碼之訊框為2(A=4、B=1;故A/(B+1)=2)張(訊框P212、P213)。此時判斷需預先解碼之訊框中,具有需儲存至儲存模組12之訊框(訊框P213)(步驟S410),但沒有尚未被輸出及尚未被儲存之訊框中的最後一個訊框(訊框P215)(步驟S414),故處理模組10則逕行解碼需預先解碼之訊框(步驟S415)並輸出儲存模組12中的解碼後之訊框P216(步驟S314)。於載入訊框P205、P203之後的影像倒播方法流程,因與前述載入訊框P207時相同,故於此不再加以贅述。
當載入訊框P202時,因群組圖像21中之訊框I210已被預先解碼,剩餘之訊框為訊框P211,經由公式得知此時需預先解碼之訊框數量剛好為這1張(A=1、B=0;故A/(B+1)=1)。此時處理模組10判斷需預先解碼之訊框中,並沒有包含尚未被輸出及尚未被儲存之訊框中的倒數第二個訊框至倒數第N+1個訊框其中之至少一個訊框,故解碼需預先解碼之訊框,即解碼訊框P211(步驟S412)。於解碼完訊框P211後,處理模組10判斷儲存模組12內解碼後之訊
框的數量為零(步驟S413),即徑行輸出解碼後之訊框(訊框P211)。於載入訊框P201之後的影像倒播方法流程,因與前述載入訊框P202時相同,故於此不再加以贅述。
接著,請一併參考參考第1圖、第3A圖以及第3D圖,第3D圖係依據本發明另一實施例之影像倒播方法的部分流程圖,其係為第3A圖步驟S312之另一實施例之部分實施例,並搭配本發明另一實施例之表2做進一步的說明,其中,表2中群組圖像21以及群組圖像20具有的訊框種類以及數量與表1中群組圖像21以及群組圖像20所具有的訊框種類以及數量相同,於此不再加以贅述。除此之外,載入訊框P2114...P213、P212、訊框P211時的影像倒播方法均與前述搭配表1所揭露之一實施例之影像倒播方法相同,在此不再贅述。本實施例與前述實施例不同之處在於本實施例為儲存模組12包含第一快取區塊121以及第二快取區塊123,且處理模組10所解碼但尚未輸出之訊框係儲存至第一快取區塊121或第二快取區塊123中之實施方式。
當載入訊框I210時,因訊框I210為節點訊框,此時處理模組10開始從訊框I210開始依時間順序解碼群組圖像21的訊框。輸出群組圖像21中的最後一個解碼後之訊框(訊框P2114),並因於本實施例中儲存模組12可儲存的解碼後之訊框為2個解碼後之訊框,處理模組10則將群組圖像21中尚未被輸出之最後至少一個解碼後之訊框(訊框P2112、P2113)儲存至儲存模組12之第一快取區塊121中。於載入訊框I200之後的影像倒播方法流程,因與前述載入訊框I210時相同,於此不再加以贅述。
接著,請一併參考第1圖、第3A圖、第3D圖以及第3E圖,第3E圖係依據本發明另一實施例之影像倒播方法的部分流程圖,其係為第3A
圖步驟S312之另一實施例之部分實施例。於步驟S500中,依反向時間順序載入一個訊框。於步驟S502中,處理模組10判斷群組圖像21中的訊框是否全部被輸出完畢,若判斷群組圖像21中的訊框完全被輸出完畢,則處理模組10回到步驟S302判斷載入的訊框是否為節點訊框。於步驟S504中,若處理模組10判斷群組圖像21中的訊框尚未全部被輸出時,將所載入的訊框(如群組圖像20的訊框P20j)儲存至緩衝區塊中。值得注意的是,於步驟S500中,每當依反向時間順序載入一個訊框時,即執行一次本發明另一實施例之影像倒播方法,例如於載入訊框P202,即執行一次本發明另一實施例之影像倒播方法,而於載入訊框P201時,即再執行另一次本發明另一實施例之影像倒播方法,載入其他訊框之情形以此類推。
於步驟S506中,處理模組10判斷群組圖像21之訊框I210、P211、P212...P21i是否皆已被輸出或被儲存至儲存模組12。於步驟S508中,當處理模組10判斷判斷群組圖像21之訊框I210、P211、P212...P21i尚有訊框尚未被輸出或是被儲存至儲存模組12時,則開始計算群組圖像21中,尚未被輸出及尚未被儲存的訊框中,需預先解碼訊框的數量,其中需預先解碼的訊框數量i係依據一關係式計算得出,該關係式為:
其中,A為計數群組圖像21中尚未被輸出、尚未被儲存及尚未被預先解碼的訊框的數量,B為第一快取區塊121內所儲存的解碼後之訊框的數量,A及B為自然數,此處定義自然數包括"0"。
於步驟S510中,處理模組10判斷需預先解碼的訊框中,是否
包含群組圖像21的尚未被輸出及尚未被儲存之解碼之訊框中,倒數第二個訊框至倒數第N+1個訊框其中至少一個訊框。換句話說,此步驟S510係判斷需預先解碼的訊框中是否有訊框於解碼後需儲存於儲存模組12中。於步驟S512中,若處理模組10判斷要被預先解碼的訊框中,並未包含群組圖像21的尚未被輸出及尚未被儲存之解碼之訊框中,倒數第二個訊框至倒數第N+1個訊框其中至少一個訊框時,則解碼需預先解碼之訊框,並於解碼完畢後輸出儲存模組12中時間順序最晚的解碼後之訊框(步驟S314)。
於此以表2揭露之內容對上述步驟做進一步之說明,當輸入訊框P2014至處理模組10時(步驟S500),處理模組10判斷群組圖像21中的訊框I210、P211、P212...P2114是否完全輸出完畢(步驟S502),並因為群組圖像21中的訊框尚未完全輸出完畢,處理模組10將訊框P2014儲存至緩衝區塊中(步驟S504)。接著,處理模組10判斷群組圖像21的訊框I210、P211、P212...P2114是否皆已被輸出或被儲存至儲存模組12(步驟S506)。因前述實施例中僅輸出訊框P2114以及將訊框P2112、P2113儲存至儲存模組12之第一快取區塊121中,故處理模組10開始計算群組圖像21中尚未被輸出及尚未被儲存的訊框I210、P211、P212...P2111中,需預先解碼訊框之數量i(步驟S508),經由前述關係式計算得出為4(A=12、B=2;故i=A/(B+1)=4)。
處理模組10於計算得出需預先解碼之訊框後,即再行判斷需預先解碼的訊框(即訊框I210至訊框P213)中,是否包含需儲存至儲存模組12中的訊框(步驟S510)。而訊框I210至訊框P213於此並未需先暫存至儲存模組12中,此時處理模組10則逕行解碼訊框I210至訊框P213後輸出儲存模組中時間順序最晚的解碼後之訊框(即訊框P2113)(步驟S512、S314)。於載入訊框P2013、
P2011、P2010、P208之後的影像倒播方法流程,因與前述載入訊框P2014時相同,於此不再加以贅述。
於步驟S514中,處理模組10判斷需預先解碼的訊框中是否包含群組圖像21的尚未被輸出及尚未被儲存之訊框中的最後一個訊框。於步驟S515中,處理模組10判斷儲存模組12的第一快取區塊121內解碼後之訊框的數量是否為零,若處理模組10判斷第一塊取區塊121內尚有解碼後之訊框,則進入步驟S522,步驟S522及後續步驟之詳細運作模式,請容後詳述。更進一步的說,若有需要儲存至儲存模組12之訊框時,處理模組10會優先將須儲存之訊框儲存至第一快取區塊121中,故於此步驟中,處理模組10優先判斷第一快取區塊121中是否尚有解碼後之訊框,若有,則進入步驟S522。於步驟S516中,當處理模組10判斷第一區塊121內解碼後之訊框的數量為零,處理模組10接著判斷第二快取區塊123中是否存有解碼後之訊框。於步驟S517中,若處理模組判斷第二快取區塊123中存有解碼後之訊框,則把第二塊取區塊123中之解碼後之訊框移至第一快取區塊121中。於步驟S518中,若處理模組10判斷儲存模組12的第一快取區塊121內沒有解碼後之訊框,且第二快取區塊123內沒有解碼後之訊框時,或者處理模組10把第二快取區塊123中之解碼後之訊框移至第一快取區塊121後,處理模組10則逕行解碼需預先解碼之訊框並儲存群組圖像21的尚未被輸出及尚未被儲存之訊框中倒數第二個訊框至倒數第N+1個訊框其中之至少一個解碼後之訊框至第一快取區塊121。於步驟S520中,處理模組10輸出尚未被輸出及尚未被儲存之訊框中最後一個解碼後之訊框,並重新執行步驟S500。
於此搭配表2所揭露之內容以更加說明上述步驟,當載入訊框
P2012時,因群組圖像21中之圖框I210、P211...P217皆已被預先解碼,剩餘之訊框P218、P219、P2110、P2111,經由公式得知此時需預先解碼之訊框剛好為這四張,且此時需預先解碼之訊框中有群組圖像21的尚未被輸出及尚未被儲存的訊框中,需儲存至儲存模組12之訊框(訊框P219、P2110)(步驟S510)以及此最後一個訊框(訊框P2111)(步驟S514),此時若是儲存模組12之第一快取區塊121內並無任何解碼後之訊框(步驟S515),且第二快取區塊123內亦並無解碼後之訊框(步驟S516),處理模組10即逕行解碼需預先解碼之訊框(P218、P219、P2110、P2111),並將需儲存至儲存模組12之訊框(訊框P219、P2110)儲存至第一快取區塊121中(步驟S518),並輸出解碼後之最後一個訊框(訊框P2011)(步驟S520)。於載入訊框P209之後的影像倒播方法流程,因與前述載入訊框P2012時相同,故於此不再加以贅述。
同樣搭配表2所揭露之內容以更加說明上述步驟,當載入訊框P206時,由前述關係式可得需預先解碼訊框之數量i為2,且群組圖像21的訊框I210、P211、P212、P213已於前次預先解碼完成,故此次需預先解碼之訊框為群組圖像21中尚未被輸出及尚未被儲存之訊框P214、P215。因訊框P214為須儲存至儲存模組之訊框(步驟S510),而訊框P215為尚未被輸出及尚未被儲存之訊框中的最後一個訊框(步驟S514),當處理模組10判斷第一快取區塊121內解碼後之訊框數量為零(步驟S515),並於判斷第一快取區塊121內解碼後之訊框數量為零後,即接著判斷第二快取區塊123中是否存有解碼後之訊框。因第二快取區塊123內具有訊框P213,故處理模組10把第二快取區塊123中之訊框P213移至第一快取區塊121中(步驟S517)。之後處理模組10即依據前述條件逕行解碼需預先解碼之訊框後儲存需儲存至儲存模組12之訊框(訊框P214)於
第一快取區塊121,處理模組10並輸出尚未被輸出及尚未被儲存之訊框中最後一個訊框(訊框P215)(步驟S520)。因載入訊框P203後之影像倒播方法與前述載入訊框P206後之影像倒播方法相同,於此不再加以贅述。
請一併參閱第1圖、第3A圖、第3D圖、第3E圖以及第3F圖,第3F圖係係依據本發明另一實施例之影像倒播方法的部分流程圖,其係為第3A圖步驟S312之另一實施例之部分實施例。於步驟S522中,當處理模組10判斷需預先解碼的訊框中並沒有包含群組圖像21的尚未被輸出及尚未被儲存之訊框中的最後一個訊框時,或者當處理模組10判斷需預先解碼的訊框中包含群組圖像21的尚未被輸出及尚未被儲存之訊框中的最後一個訊框,且第一快取區塊123內仍有解碼後之訊框時,處理模組10即再行判斷第一快取區塊121內是否存滿解碼後之訊框。於步驟S524中,當處理模組10判斷第一快取區塊121內尚有空位時,處理模組10即逕行解碼需預先解碼之訊框後儲存預先解碼後之尚未被輸出及尚未被儲存之訊框中倒數第二個訊框至倒數第N+1個訊框其中至少一個訊框至第二快取區塊123中,並於將解碼後之訊框儲存至第二快取區塊123後,即輸出儲存模組12的第一快取區塊121中時間順序最晚的解碼後之訊框(步驟S314)。於步驟S534中,當處理模組10判斷第一快取區塊121存滿訊框後,即略過預先解碼群組圖像21的尚未被輸出及尚未被儲存之訊框的步驟,並逕行輸出儲存模組12中的解碼後之訊框(步驟S314)。
搭配表2所揭露之內容以更加說明上述步驟。當載入訊框P207後,由前述關係式可得需預先解碼訊框之數量i為2,且群組圖像21的訊框I210及P211已於前次預先解碼完成,故此次需預先解碼之訊框為群組圖像21中尚未被輸出及尚未被儲存之訊框P212、P213。因訊框P213為須儲存至儲存模組
之訊框(步驟S510),但此需預先解碼之訊框中並未有尚未被輸出及尚未被儲存之訊框中的最後一個訊框(步驟S514),且此時第一快取區塊121尚有1個解碼後之訊框(訊框P216)(步驟S522)。處理模組10則依據前述條件逕行解碼需預先解碼之訊框後儲存需儲存至儲存模組12之訊框(訊框P213)於第二快取區塊123,處理模組10並輸出儲存模組12中時間順序最晚的解碼之訊框(訊框P216),因載入訊框P204後之影像倒播方法與前述載入訊框P207後之影像倒播方法相同,於此不再加以贅述。
同樣搭配表2所揭露之內容以更加說明上述步驟。當載入訊框P205後,其預先解碼訊框數量依關係式計算得出為1,故原先需預先解碼的訊框為I210。但處理模組判斷訊框I210為需儲存至儲存模組12之訊框,而儲存模組12的第一快取區塊121於此時已經存滿訊框(訊框P213、P214),故處理模組10於此略過預先解碼訊框I210之動作,而輸出第一快取區塊121內的訊框P214。
於步驟S506中,當處理模組10判斷群組圖像21之訊框I210、P211、P212...P21i皆已被輸出或是被儲存至儲存模組12後,即輸出儲存模組12中時間順序最晚的解碼後之訊框。於表2中可以觀察,於載入訊框P202及訊框P201之影像倒播方法中,因群組圖像21的訊框I210、P211已儲存至儲存模組12中,而群組圖像21之其餘訊框均已被輸出,故處理模組10即依次將儲存模組12內的訊框I210、P211輸出(即於載入訊框P202時輸出訊框P211,載入訊框P201時輸出訊框I210)。
值得注意的是,群組圖像20與群組圖像21之訊框數量並不需相同,因處理模組10會根據步驟S402判斷群組圖像21中的訊框是否完全輸出
完畢。當群組圖像21中的訊框並未完全輸出完畢時,即便將群組圖像20之所有訊框I200、P201、P202...P20j均已載入並儲存至緩衝區塊中,處理模組依然會根據前述影像倒播方法步驟將群組圖像21中的訊框I210、P211、P212...P21i全數輸出後,再逕行解碼群組圖像20之訊框。
同樣值得注意的是,上述計算需預先解碼的訊框數量i中,當計算得出的訊框數量i不為整數時,即i=A/(B+1)之關係式(於前述搭配表一之一實施例中,A為計數群組圖像21中尚未被輸出、尚未被儲存及尚未被預先解碼的訊框的數量,B為儲存模組12內所儲存的解碼後之訊框的數量。而於前述搭配表二之另一實施例中,A為計數群組圖像21中尚未被輸出、尚未被儲存及尚未被預先解碼的訊框的數量,B為第一快取區塊121內所儲存的解碼後之訊框的數量)中A/(B+1)無法整除時,可以選用四捨五入的方式將餘數近位或捨去來計算該次需預先解碼的訊框數量i,也可以是利用無條件進位法或是無條件捨去法來計算該次需預先解碼的訊框數量i。本發明於上述之實施例中所使用的是無條件捨去法(載入訊框P204時),此處所選用之方法只是一種實施例,並非以此限制本發明。
除以上所述之外,本發明更包含電腦可讀取媒體,電腦可讀取媒體用以使處理模組10執行多個指令的電腦程式碼,此些指令已於之前所述之影像倒播方法的各個實施例中詳細描述,故在此不再贅述。
綜上所述,本發明透過預先將部分視訊串流中解碼後之訊框儲存至儲存模組以及於每次輸入一個訊框時即預先解碼部分訊框以減少並平均影像倒播時輸出訊框的延遲時間。不僅如此,本發明更可以透過處理模組判斷正在執行解碼之群組圖像的訊框是否完全輸出完畢以處理同一視訊串流中不同群
組圖像分別具有不同訊框數量問題。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明。在不脫離本發明之精神和範圍內,所為之更動與潤飾,均屬本發明之專利保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。
Claims (11)
- 一種影像倒播方法,用以倒播一視訊串流,該視訊串流包含一群組圖像,該群組圖像具有複數個訊框,該複數個訊框包含一節點訊框及至少一非節點訊框,該些訊框具有一時間順序,所述影像倒播方法包含:a. 從該節點訊框開始依該時間順序解碼至該群組圖像之最後一個訊框;b. 輸出該最後一個解碼後之訊框;c. 儲存該群組圖像中尚未被輸出之最後至少一個解碼後之訊框至一儲存模組中;d. 預先解碼該群組圖像中尚未被輸出及尚未被儲存的訊框;e.輸出該儲存模組中之解碼後之訊框;以及f. 若該儲存模組中已無解碼後之訊框時則輸出預先解碼後之該群組圖像中尚未被輸出及尚未被儲存的訊框中之最後一個解碼後之訊框並儲存剩餘之訊框中最後至少一個解碼後之訊框至該儲存模組中。
- 如請求項1所述之影像倒播方法,其中,步驟d更包含:計算需預先解碼之訊框數i,其中i的數值係依據一關係式計算得出,該關係式為:
其中,A為計數該群組圖像中尚未被輸出、尚未被儲存及尚未被預先解碼的訊框的數量,B為該儲存模組內所儲存的解碼後之訊框的數量,A及B 為自然數。 - 如請求項2所述之影像倒播方法,其中該儲存模組包含一第一快取區塊以及一第二快取區塊,用以儲存解碼後之訊框,其中該第一快取區塊以及該第二快取區塊所能儲存的解碼後之訊框的數量之總和為N,且步驟c.所儲存至一儲存模組中的解碼後之訊框係儲存至該第一快取區塊中,並且B為該第一快取區塊內所儲存的解碼後之訊框的數量,其中N為正整數且N小於該複數個訊框的數量,且B小於或等於N。
- 如請求項3所述影像倒播方法,其中,當該需預先解碼之i個訊框中包含該群組圖像中尚未被輸出及尚未被儲存之訊框中的最後一個訊框時,進行預先解碼並輸出預先解碼後之該群組圖像中尚未被輸出及尚未被儲存之訊框中的最後一個解碼後之訊框,當該需預先解碼之i個訊框中不包含該群組圖像中尚未被輸出及尚未被儲存之訊框中的最後一個訊框時,進行預先解碼並輸出該儲存模組中的解碼後之訊框。
- 如請求項3所述影像倒播方法,其中,當該需預先解碼之i個訊框中包含該群組圖像中尚未被輸出及尚未被儲存之訊框中的倒數第二個訊框至倒數第N+1個訊框其中之至少一個訊框,並且不包含該群組圖像中尚未被輸出及尚未被儲存之訊框中的最後一個訊框時,且當該第一快取區塊內的解碼後之訊框的數量小於N時,進行預先解碼並儲存預先解碼後之該尚未被輸出及尚未被儲存之訊框中的倒數第二個訊框至倒數第N+1個訊框其中之至少一個解碼後之訊框至該第二快取區塊。
- 如請求項3所述影像倒播方法,其中,當該需預先解碼之i個訊框中包含該群組圖像中尚未被輸出及尚未被儲存之訊框中的倒數第二個訊框至倒數第 N+1個訊框其中之至少一個訊框,並且包含該群組圖像中尚未被輸出及尚未被儲存之訊框中的最後一個訊框時,且當該第一快取區塊內的解碼後之訊框的數量等於零時,進行預先解碼並儲存預先解碼後之尚未被輸出及尚未被儲存之訊框中的倒數第二個訊框至倒數第N+1個訊框其中之至少一個解碼後之訊框至該第一快取區塊。
- 如請求項6所述之影像倒播方法,於儲存預先解碼後之尚未被輸出及尚未被儲存之訊框中的倒數第二個訊框至倒數第N+1個訊框其中之至少一個解碼後之訊框至該第一快取區塊前,更包含,將暫存於該第二快取區塊中的解碼後之訊框移至該第一快取區塊。
- 如請求項3所述影像倒播方法,其中,當該需預先解碼之i個訊框中包含該群組圖像中尚未被輸出及尚未被儲存之訊框中的最後一個訊框至倒數第N個訊框之其中之一個訊框時,且該儲存模組已經存滿解碼後之訊框時,跳過該預先解碼i個訊框之步驟且直接輸出該儲存模組中的解碼後之訊框。
- 如請求項1所述影像倒播方法,更包含:g. 重複步驟d到f直至該群組圖像之該些複數個訊框皆已被輸出或被儲存至該儲存模組。
- 如請求項9所述影像倒播方法,於執行步驟d前更包含:若該群組圖像之該些複數個訊框皆已被輸出或被儲存至該儲存模組時,輸出該儲存模組中的解碼後之訊框。
- 一種電腦可讀取媒體,具有用以使一處理模組執行多個指令的電腦程式碼,該些指令包含一如請求項1至10所述之影像倒播方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW103111329A TWI513285B (zh) | 2014-03-26 | 2014-03-26 | 影像倒播方法及電腦可讀取媒體 |
| US14/620,545 US9462219B2 (en) | 2014-03-26 | 2015-02-12 | Method for reverse video playback and computer-readable medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW103111329A TWI513285B (zh) | 2014-03-26 | 2014-03-26 | 影像倒播方法及電腦可讀取媒體 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201537968A TW201537968A (zh) | 2015-10-01 |
| TWI513285B true TWI513285B (zh) | 2015-12-11 |
Family
ID=54192208
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW103111329A TWI513285B (zh) | 2014-03-26 | 2014-03-26 | 影像倒播方法及電腦可讀取媒體 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US9462219B2 (zh) |
| TW (1) | TWI513285B (zh) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI665663B (zh) * | 2018-08-22 | 2019-07-11 | 張維中 | 影音倒轉播放裝置與系統及其方法 |
| CN110366033B (zh) * | 2019-07-17 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 一种视频播放方法、装置、设备及存储介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090016692A1 (en) * | 2007-07-13 | 2009-01-15 | Optoma Corporation | Playback control methods and systems |
| TWI353788B (en) * | 2007-10-29 | 2011-12-01 | Acer Inc | System and method for converting digital image sig |
| TWI362650B (en) * | 2006-02-28 | 2012-04-21 | Realtek Semiconductor Corp | Method and device for displaying the content of a region of interest within a video image |
| TWI382748B (zh) * | 2008-03-12 | 2013-01-11 | Mediatek Inc | 多媒體訊號處理裝置 |
| TWI396449B (zh) * | 2009-11-24 | 2013-05-11 | Aten Int Co Ltd | 用以記錄與播放視訊影像資料的方法及裝置 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20020081661A (ko) * | 2001-04-19 | 2002-10-30 | 주식회사 오픈비주얼 | 네트워크 환경에서 3차원 물체의 시각화와 조작을 위한방법 및 장치 |
| JP4375305B2 (ja) * | 2004-10-26 | 2009-12-02 | ソニー株式会社 | 情報処理装置および情報処理方法、記録媒体、並びに、プログラム |
-
2014
- 2014-03-26 TW TW103111329A patent/TWI513285B/zh active
-
2015
- 2015-02-12 US US14/620,545 patent/US9462219B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI362650B (en) * | 2006-02-28 | 2012-04-21 | Realtek Semiconductor Corp | Method and device for displaying the content of a region of interest within a video image |
| US20090016692A1 (en) * | 2007-07-13 | 2009-01-15 | Optoma Corporation | Playback control methods and systems |
| TWI353788B (en) * | 2007-10-29 | 2011-12-01 | Acer Inc | System and method for converting digital image sig |
| TWI382748B (zh) * | 2008-03-12 | 2013-01-11 | Mediatek Inc | 多媒體訊號處理裝置 |
| TWI396449B (zh) * | 2009-11-24 | 2013-05-11 | Aten Int Co Ltd | 用以記錄與播放視訊影像資料的方法及裝置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20150281633A1 (en) | 2015-10-01 |
| TW201537968A (zh) | 2015-10-01 |
| US9462219B2 (en) | 2016-10-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2009153175A5 (zh) | ||
| JP2014014142A5 (zh) | ||
| JP2016537932A5 (zh) | ||
| JP2017085617A5 (zh) | ||
| JP2016054538A5 (zh) | ||
| JP2016508011A5 (zh) | ||
| US8660191B2 (en) | Software video decoder display buffer underflow prediction and recovery | |
| JP2011199396A5 (zh) | ||
| US10298931B2 (en) | Coupling sample metadata with media samples | |
| JP2014014143A5 (zh) | ||
| JP2016527785A5 (zh) | ||
| JP2017523684A5 (zh) | ||
| JP2016518764A5 (zh) | ||
| JP2016518052A5 (zh) | ||
| JP2014174834A (ja) | 情報処理装置、クラウドプラットフォーム、情報処理方法およびそのプログラム | |
| RU2012144029A (ru) | Устройство кодирования движущегося изображения с предсказанием, способ кодирования движущегося изображения с предсказанием, программа кодирования движущегося изображения с предсказанием, устройство декодирования движущегося изображения с предсказанием, способ декодирования движущегося изображения с предсказанием и программа декодирования движущегося изображения с предсказанием | |
| US9509940B2 (en) | Image output device, image output method, and recording medium | |
| TWI513285B (zh) | 影像倒播方法及電腦可讀取媒體 | |
| JP2017028658A5 (zh) | ||
| JP2019134263A5 (zh) | ||
| JP5539276B2 (ja) | ファイル位置高速検索方法 | |
| JP2015525980A5 (zh) | ||
| JP5212110B2 (ja) | ズーム機能付き動画像撮影装置、画像処理及び表示方法とプログラム | |
| US20110069761A1 (en) | Parallel encoding device, recording medium, and imaging data encoding method | |
| JP2014011572A5 (ja) | 動画像予測復号装置、方法及びプログラム |