TW201528793A - 同步影音碼流的解碼器與解碼方法 - Google Patents
同步影音碼流的解碼器與解碼方法 Download PDFInfo
- Publication number
- TW201528793A TW201528793A TW103100252A TW103100252A TW201528793A TW 201528793 A TW201528793 A TW 201528793A TW 103100252 A TW103100252 A TW 103100252A TW 103100252 A TW103100252 A TW 103100252A TW 201528793 A TW201528793 A TW 201528793A
- Authority
- TW
- Taiwan
- Prior art keywords
- value
- range
- video
- display
- clock
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/04—Synchronising
-
- 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/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
- H04N21/43072—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/87—Regeneration of colour television signals
- H04N9/89—Time-base error compensation
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本發明提供一種同步影音碼流的解碼方法。其中上述的影音碼流包含多個時鐘參考值與多個視訊及音訊的資料封包,每一個資料封包均對應至一顯示值。該解碼方法包含:利用一第一時鐘參考值重建一時鐘值;判斷該時鐘值與該多個顯示值中的一第一顯示值的誤差是否大於一第一範圍;當該時鐘值與該第一顯示值的誤差大於該第一範圍時,更改該時鐘值為該多個顯示值中的一第二顯示值;以及利用該第二顯示值所設定的該時鐘值執行至少一影音同步步驟。
Description
本發明係關於影音播放,特別係關於影音播放的影像與聲音之間的同步。
觀賞影片是現代生活中不可或缺的一部分。無論是工作需要或是娛樂,現代人可以從光碟、網路視訊資料庫、智慧型電子裝置、數位電視頻道上播放影片。現代工業界也制定了許多影音壓縮與播放的標準,例如動畫專家組(MPEG)、高階視訊編碼H.264、數字音視頻編解碼技術標準AVS、視訊編解碼器VC-1等。
在這些工業標準所指涉的影片的壓製與播放當中,都定義了影像與聲音的同步機制(Audio Video Synchronization,AV Sync)。然而,在播放端方面,如果遇到了影像與聲音不同步的影片,依然需要完成播放的任務。由於播放端或解碼端無法保證壓製端或編碼端完全遵照工業標準來壓製影片,因此,播放端實際上需要某一種影音同步的機制,盡可能地矯正影片中影音不同步的情況,以提供更佳的使用者體驗。
在本發明的一實施例中,提供一種同步影音碼流的解碼方
法。其中上述的影音碼流包含多個時鐘參考值與多個視訊及音訊的資料封包,每一個資料封包均對應至一顯示值。該解碼方法包含:利用一第一時鐘參考值重建一時鐘值;判斷該時鐘值與該多個顯示值中的一第一顯示值的誤差是否大於一第一範圍;當該時鐘值與該第一顯示值的誤差大於該第一範圍時,更改該時鐘值為該多個顯示值中的一第二顯示值;以及利用該第二顯示值所設定的該時鐘值執行至少一影音同步步驟。
在本發明的另一實施例中,提供一種同步影音碼流的解碼器,其中上述的影音碼流包含多個時鐘參考值與多個視訊及音訊的資料封包,每一個資料封包均對應至一顯示值,該解碼器包含:一碼流讀取模組,用於根據一第一時鐘參考值重建一時鐘值;一管理模組,用於判斷該時鐘值與該多個顯示值的一第一顯示值中的誤差是否大於一第一範圍,當該時鐘值與該第一顯示值的誤差大於該第一範圍時,更改該時鐘值為該多個顯示值中的一第二顯示值;以及一影音同步模組,用於根據該第二顯示值所設定的該時鐘值執行至少一影音同步步驟。
100‧‧‧狀態機
110‧‧‧正常狀態
112‧‧‧路徑
114‧‧‧路徑
120‧‧‧檢查狀態
122‧‧‧路徑
124‧‧‧路徑
126‧‧‧路徑
130‧‧‧非正常狀態
132‧‧‧路徑
134‧‧‧路徑
200‧‧‧狀態機
230‧‧‧非正常狀態
236‧‧‧路徑
240‧‧‧自由浮動狀態
300‧‧‧流程
310~350‧‧‧步驟
400‧‧‧流程
420‧‧‧步驟
460‧‧‧步驟
470‧‧‧步驟
500‧‧‧影片播放器
510‧‧‧輸入介面
520‧‧‧處理模組
522‧‧‧管理模組
524‧‧‧碼流讀取模組
526‧‧‧影音同步模組
530‧‧‧記憶體模組
532‧‧‧系統時鐘欄位
534‧‧‧視訊資料封包的顯示時間戳欄位
536‧‧‧音訊資料封包的顯示時間戳欄位
540‧‧‧輸出模組
第一圖為根據本發明之一實施例的一播放端之狀態機的一示意圖。
第二圖為根據本發明另一實施例的一播放端之狀態機的一示意圖。
第三圖為根據本發明一實施例的一播放方法的一流程之示意圖。
第四圖為根據本發明另一實施例的一播放方法的一流程之示意圖。
第五圖為根據本發明一實施例的一影片播放器的一方塊示意圖。
本發明將詳細描述一些實施例如下。然而,除了所揭露的實施例外,本發明的範圍並不受該些實施例的限定,乃以其後的申請專利範圍為準。而為了提供更清楚的描述及使該項技藝的普通人員能理解本發明的發明內容,圖示內各部分並沒有依照其相對的尺寸進行繪圖,某些尺寸或其他相關尺度的比例可能被凸顯出來而顯得誇張,且不相關的細節部分並沒有完全繪出,以求圖示的簡潔。
以下的說明將舉動畫專家組(MPEG)作為範例,本領域的普通技術人員可以理解到,除了MPEG之外,尚有其他可適用的工業標準。本發明的範圍並不限定在MPEG當中。接下來將要簡述根據MPEG標準如何壓製影片,特別是關於影音同步的部分。
類比的影音信號經過取樣、量化、及壓縮之後,將會形成基本碼流(ES,elementary stream)。每一個基本碼流包含幾個存取單元(AU,access unit)。存取單元可以包含視訊資料或音訊資料。每一個存取單元包含一個視訊幀(frame)或一個音訊幀的資料。
連續的基本碼流得先分割成段,成為封包化基本碼流(PES,packetized elementary stream)。在形成封包化基本碼流時,可以在其頭端訊息內加入顯示時間戳(PTS,presentation time stamp)與解碼時間戳(DTS,decode time stamp)。上述的顯示時間戳PTS會告知播送端何時要顯示或播放該封包化基本碼流內的第一個存取單元之視訊資料或音訊資料。換言之,視訊資料會對應到一個顯示時間戳PTS,音訊資料也會對應到一個顯示時間戳PTS。上述的解碼時間戳DTS則用於告知播送端何時要進行解碼。
接下來,影片的壓製端再將封包化基本碼流分割成具有固定
長度的傳輸碼流(TS,transport stream)或是可變長度的節目流(PS,program stream)。在傳輸碼流TS的頭端訊息當中,包含節目時鐘參考值(PCR,program clock reference)。
壓製端或編碼端當中需要具備一個系統時鐘(STC,system timing clock),其頻率為27MHz。系統時鐘STC係用來指示上述的顯示時間戳PTS與節目時鐘參考值PCR。編碼端必須在節目時鐘參考值PCR欄位要被編入的最後一刻,才將系統時鐘STC的瞬間取樣值作為節目時鐘參考值PCR,存入該欄位當中。
在解碼端的部分,會利用節目時鐘參考值PCR重建與編碼端同步的系統時鐘STC。每一次接收到新的節目時鐘參考值PCR時,就會重新重建系統時鐘STC。接著在解開封包化基本碼流的頭端訊息時,會解出視訊資料的顯示時間戳PTS以及音訊資料的顯示時間戳PTS,也會解出相關的解碼時間戳DTS。顯示時間戳PTS與解碼時間戳DTS,連同被解開的基本碼流會被送入到記憶體內儲存。
在基本碼流的每個存取單元開始解碼之前,會先比較其對應的解碼時間戳DTS與節目時鐘參考值PCR,當兩者相等時即開始解碼。在每個存取單元的視訊資料或音訊資料開始播放之前,會先比較其對應的顯示時間戳PTS與節目時鐘參考值PCR,當兩者相等時即開始播放該存取單元的視訊資料或音訊資料。
上述所提及的是理想狀態,也就是影片的壓製端或編碼端嚴格按照標準來實作時的情況。要是編碼端不按照這樣的標準進行影片的壓製,節目時鐘參考值PCR往往就會出現誤差。在這種情況之下,解碼端依然
要繼續播放影片。本發明的主要精神之一,在於節目時鐘參考值PCR的誤差值在某個範圍之內,會利用顯示時間戳PTS回頭校正編碼端重建的系統時鐘STC,盡可能使得視訊與音訊資料同步播送。本發明的另一個主要精神,在於當節目時鐘參考值PCR的誤差值在某個範圍之外時,直接放棄視訊與音訊資料同步過程,減少浪費解碼器的計算資源與能源。
請參考第一圖所示,其為根據本發明之一實施例的一播放端之狀態機100的一示意圖。該播放端係用於播放一影音碼流,該影音碼流包含多個視訊與音訊的資料封包,視訊與音訊的資料封包各自包含有一顯示時間戳PTS。該影音碼流還包含多個節目時鐘參考值PCR,當該播放端接收每一個該節目時鐘參考值PCR時,就會重建一系統時鐘STC的值。當系統時鐘STC與顯示時間戳PTS相符時,該播放端即播放該顯示時間戳PTS所屬的視訊或音訊的資料封包之內容。
該狀態機100包含有三個狀態,一正常狀態110、一檢查狀態120、與一非正常狀態130。當上述的系統時鐘STC與顯示時間戳PTS的誤差在一第一範圍內時,也就是節目時鐘參考值PCR合理時,正常狀態110會循著路徑112,維持在正常狀態110。然而,當上述的系統時鐘STC與顯示時間戳PTS的誤差超過該第一範圍時,亦即節目時鐘參考值PCR不合理,則狀態機100將會循著路徑114,從正常狀態110轉變為檢查狀態120。
在某一實施例中,上述的系統時鐘STC與顯示時間戳PTS的誤差的第一範圍,可以是系統時鐘STC領先顯示時間戳PTS未達到一第一下限,或者是顯示時間戳PTS領先系統時鐘STC未達到一第二下限時。在一範例中,該第一下限等於該第二下限。舉例來說,第一下限與第二下限都等
於0.5秒。在另一範例中,該第一下限等於該第二下限。舉例來說,第一下限為1秒,而第二下限為0.7秒。
當處在檢查狀態120時,若上述的節目時鐘參考值PCR/系統時鐘STC與顯示時間戳PTS的誤差又回復到該第一範圍以內時,則狀態機將循著路徑122回到上述的正常狀態110。如果上述的節目時鐘參考值PCR/系統時鐘STC與顯示時間戳PTS的誤差持續超出該第一範圍,但還未超過某一時限(如十秒內),則狀態機100仍循著路徑124,維持在檢查狀態120。不過,當上述的節目時鐘參考值PCR/系統時鐘STC與顯示時間戳PTS的誤差持續超出該第一範圍,而且超過上述時限(如十秒)的時候,則狀態機100會循著路徑126,轉變成非正常狀態130。
在處在非正常狀態130時,播放端會使用音訊資料或視訊資料的顯示時間戳PTS來的值來設定系統時鐘STC的值。在一實施例中,上述用於設定系統時鐘STC的顯示時間戳PTS是對應到音訊資料。因此,音訊資料的顯示時間戳PTS就馬上與系統時鐘STC同步。然而,視訊資料未必與系統時鐘STC同步。所以播放端可能需要看視訊資料的顯示時間戳PTS與系統時鐘STC的關係,進行重複播放某些視訊資料或跳過不播放某些視訊資料的步驟。
在另一實施例中,上述用於設定系統時鐘STC的顯示時間戳PTS是對應到視訊資料。因此,視訊資料的顯示時間戳PTS就馬上與系統時鐘STC同步。然而,音訊資料未必與系統時鐘STC同步。所以播放端可能需要看音訊資料的顯示時間戳PTS與系統時鐘STC的關係,進行重複播放某些音訊資料或跳過不播放某些音訊資料的步驟。
當處在非正常狀態130時,播放端可以忽略節目時鐘參考值PCR。只利用音訊資料或視訊資料的顯示時間戳PTS來設定系統時鐘STC,而不利用新的節目時鐘參考值PCR來重建系統時鐘STC。
若使用音訊資料的顯示時間戳PTS來設定系統時鐘STC,且視訊資料的顯示時間戳PTS與新的節目時鐘參考值PCR的誤差小於第一範圍,則狀態機100會從非正常狀態130循路徑134回到正常狀態110。若視訊資料的顯示時間戳PTS與新的節目時鐘參考值PCR的誤差仍大於第一範圍,則狀態機100會從非正常狀態130循路徑132停留在非正常狀態130。
同樣地,若使用視訊資料的顯示時間戳PTS來設定系統時鐘STC,且音訊資料的顯示時間戳PTS與新的節目時鐘參考值PCR的誤差小於第一範圍,則狀態機100會從非正常狀態130循路徑134回到正常狀態110。若音訊資料的顯示時間戳PTS與新的節目時鐘參考值PCR的誤差仍大於第一範圍,則狀態機100會從非正常狀態130循路徑132停留在非正常狀態130。
請參考第二圖所示,其為根據本發明另一實施例的一播放端之狀態機200的一示意圖。此狀態機200與第一圖所示狀態機100的區別在非正常狀態230與自由浮動狀態240,標號相同的狀態與路徑,均可以參考第一圖的說明,在此不加贅敘。
處於非正常狀態230時,播放端會使用顯示時間戳PTS來的值來設定系統時鐘STC的值。若使用音訊資料的顯示時間戳PTS來設定系統時鐘STC,且視訊資料的顯示時間戳PTS與新的節目時鐘參考值PCR的誤差小於第一範圍,則狀態機100會從非正常狀態230循路徑134回到正常狀態110。若視訊資料的顯示時間戳PTS與新的節目時鐘參考值PCR的誤差仍大
於第一範圍,則狀態機200會從非正常狀態230循路徑132停留在非正常狀態130。但如果視訊資料的顯示時間戳PTS與音訊資料的顯示時間戳PTS的誤差不僅僅大於第一範圍,且大於比第一範圍更大的第二範圍,則狀態機200會從非正常狀態230循路徑236切換到自由浮動狀態240。
同樣地,若使用視訊資料的顯示時間戳PTS來設定系統時鐘STC,且音訊資料的顯示時間戳PTS與新的節目時鐘參考值PCR的誤差小於第一範圍,則狀態機100會從非正常狀態230循路徑134回到正常狀態110。若音訊資料的顯示時間戳PTS與新的節目時鐘參考值PCR的誤差仍大於第一範圍,則狀態機200會從非正常狀態230循路徑132停留在非正常狀態130。但如果音訊資料的顯示時間戳PTS與視訊資料的顯示時間戳PTS的誤差不僅僅大於第一範圍,且大於比第一範圍更大的第二範圍,則狀態機200會從非正常狀態230循路徑236切換到自由浮動狀態240。
和第一範圍相同,第二範圍可以是對稱的,也可以是不對稱的。但在不對稱的情況下,第二範圍的絕對值也要高於第一範圍的絕對值。比方說系統時鐘STC的第一範圍為正負0.5秒,則第二範圍可以為正負0.8秒。在另一範例中,當系統時鐘STC的第一範圍可以是正0.5秒與負0.8秒,則第二範圍可以是正0.7秒與負1秒。其中正值0.7秒的範圍要大於0.5秒,且負值1秒的範圍高於負值0.8秒的範圍。
在自由浮動狀態240當中,由於節目時鐘參考值PCR已經不準確,而且音訊資料與視訊資料的顯示時間戳PTS之間的誤差也高於第二範圍。因此本發明認為在這樣的情況之下,根本不需要浪費資料進行視訊資料與音訊資料的同步,故解碼器就不對這些值進行運算以及影音同步的動
作,讓視訊資料的播放與音訊資料的播放自由浮動。
請參考第三圖所示,其為根據本發明一實施例的一播放方法的一流程300之示意圖。播放方法係用於播放一影音碼流,該影音碼流包含多個視訊與音訊的資料封包,視訊與音訊的資料封包各自包含有一顯示時間戳PTS。該影音碼流還包含多個節目時鐘參考值PCR,當接收每一個該節目時鐘參考值PCR時,就會重建一系統時鐘STC的值。當系統時鐘STC與顯示時間戳PTS相符時,即播放該顯示時間戳PTS所屬的視訊或音訊的資料封包之內容。該流程300包含以下步驟:
步驟310:根據第一節目時鐘參考值重建的系統時鐘STC執行影音同步的播放步驟。
步驟320:判斷系統時鐘STC與第一顯示時間戳PTS的誤差是否超過第一範圍。當未超過第一範圍時,返回步驟310。當已經超過第一範圍時,執行步驟330。
步驟330:利用第二顯示時間戳PTS設定系統時鐘STC,接著執行步驟340。在一實施例中,用於設定系統時鐘STC的顯示時間戳PTS等於步驟320當中的顯示時間戳PTS,亦即第一顯示時間戳PTS等於第二顯示時間戳PTS。在另一實施例中,步驟320與330內所指涉的顯示時間戳PTS並非同一個,亦即第一顯示時間戳PTS不等於第二顯示時間戳PTS。
步驟340:根據顯示時間戳PTS所設定的系統時鐘STC執行影音同步的播放步驟,接著執行步驟350。
步驟350:判斷第二節目時鐘參考值與第三顯示時間戳PTS的誤差是否小於第一範圍。當小於第一範圍時,回復執行步驟310。反之,
當誤差還大於第一範圍時,回復執行步驟340。
在步驟330當中,用於設定系統時鐘STC的第二顯示時間戳PTS可以是相關於視訊資料或音訊資料。當步驟330使用視訊資料的顯示時間戳PTS時,步驟350的第三顯示時間戳PTS即相關於音訊資料。反之,當步驟330使用音訊資料的第二顯示時間戳PTS時,步驟350的第三顯示時間戳PTS即相關於視訊資料。
請參考第四圖所示,其為根據本發明另一實施例的一播放方法的一流程400之示意圖。與第三圖所示的流程300相比,流程400的不同之處在於以下各步驟:
步驟420:判斷系統時鐘STC與顯示時間戳PTS的誤差是否超過第一範圍以及誤差超過第一範圍的時間是否超過一時限。當未超過第一範圍或該時限時,返回步驟310。當已經超過第一範圍以及該時限時,執行步驟330。
步驟460:判斷第三顯示時間戳PTS與第四顯示時間戳PTS的誤差是否大於第二範圍,其中第二範圍大於或等於第一範圍。當小於第二範圍時,回復執行步驟340。反之,當誤差大於第二範圍時,執行步驟470。
步驟470:停止執行影音同步的播放步驟。
請參考第五圖所示,其為根據本發明一實施例的一影片播放器500的一方塊示意圖。該影片播放器500包含影片的一輸入介面510、一處理模組520、一記憶體模組530、與視訊與音訊信號的一輸出模組540。該輸入介面510將影片的內容傳入該處理模組520,經過該處理模組520利用該記憶體模組530實施解碼與暫存後,由該輸出模組540輸出適當的視訊與音訊
信號。
該處理模組520可更包含一管理模組522、一碼流讀取(stream parsing)模組524、與一影音同步模組526。在一實施例中,該處理模組520可以包含至少一個處理器,用於執行適當的程式碼以實現上述三個模組的功能。在另一實施例中,該處理模組520可以包含三個處理器,各自執行適當的程式碼以實現上述三個模組的功能。本領域的普通技術人員可以理解到,這些功能可以由軟體、硬體、或軟硬體混和的方式來實現。本發明並不限定其實做的方法。
上述的碼流讀取模組524用於讀取影片的影音碼流,負責解譯出多個節目時鐘參考值PCR,以及根據節目時鐘參考值PCR重建位於記憶體模組530內的系統時鐘STC欄位532。除此之外,碼流讀取模組524用於讀取影片的多個視訊與音訊的資料封包,並且解譯出各個資料封包的顯示時間戳PTS,存放在記憶體模組530內的視訊資料封包的顯示時間戳欄位534與音訊資料封包的顯示時間戳欄位536。
上述的影音同步模組526係根據記憶體模組內的欄位532、534與536,執行影音同步的播放步驟。上述的管理模組522係用於判斷系統時鐘STC與顯示時間戳PTS的誤差是否超過第一範圍。當超過第一範圍時,令碼流讀取模組524停止利用節目時鐘參考值PCR重建位於記憶體模組530內的系統時鐘STC欄位532,並且利用顯示時間戳PTS欄位534或536設定系統時鐘STC欄位532。
在另一實施例中,除了誤差是否超過第一範圍之外,上述的管理模組522還要判斷誤差超過第一範圍的時間是否超過一時限。當誤差超
過第一範圍的時間超過該時限時,管理模組522才令碼流讀取模組524停止利用節目時鐘參考值PCR重建位於記憶體模組530內的系統時鐘STC欄位532,並且利用顯示時間戳PTS欄位534或536設定系統時鐘STC欄位532。。
接著,影音同步模組526根據顯示時間戳PTS所設定的系統時鐘STC執行影音同步的播放步驟。然後,管理模組522判斷顯示時間戳PTS所設定的系統時鐘STC欄位532與另一顯示時間戳PTS欄位536或534的誤差是否小於第一範圍。當小於第一範圍時,令碼流讀取模組524重新利用節目時鐘參考值PCR重建位於記憶體模組530內的系統時鐘STC欄位532。當誤差還大於第一範圍時,則仍然令影音同步模組526根據顯示時間戳PTS所設定的系統時鐘STC執行影音同步的播放步驟。
在另一實施例中,當誤差還大於第一範圍時,管理模組522將分別屬於音訊資料與視訊資料的一顯示時間戳PTS與另一顯示時間戳PTS的誤差是否大於第二範圍,其中第二範圍大於或等於第一範圍。當小於第二範圍時,仍然令影音同步模組526根據顯示時間戳PTS所設定的系統時鐘STC執行影音同步的播放步驟。當誤差大於第二範圍時,則令影音同步模組526停止執行影音同步的播放步驟。
本領域的普通技術人員可以理解到,本發明的主要精神之一,在於節目時鐘參考值PCR的誤差值在某個範圍之內,會利用顯示時間戳PTS回頭校正編碼端重建的系統時鐘STC,盡可能使得視訊與音訊資料同步播送。本發明的另一個主要精神,在於當音訊資料與視訊資料的顯示時間戳PTS在某個範圍之外時,直接放棄視訊與音訊資料同步過程,減少浪費解碼器的計算資源與能源。
除此之外,本發明並不限定上述的影音碼流為符合動畫專家組MPEG的規格。只需要影音碼流包含多個時鐘參考值與多個視訊及音訊的資料封包,每一個資料封包均對應至一顯示值,且解碼端用於根據該時鐘參考值重建一時鐘值,以及利用該時鐘值與該些顯示值進行影音同步的步驟即可。每一個資料封包所對應的顯示值可以直接包含在影音碼流內,也可以由影音碼流內的其他顯示值所推導出來。在一實施例中,上述的時鐘參考值可以是節目時鐘參考值PCR,顯示值可以是顯示時間戳PTS,而時鐘值可以是系統時鐘STC。上述之視訊與音訊的資料封包分別包含一視訊幀的資料和一音訊幀的資料。且上述之影音同步的步驟包含下列其中之一:令至少一個視訊的資料封包重複播出;令至少一個音訊的資料封包重複播出;令至少一個視訊的資料封包不播出;以及令至少一個音訊的資料封包不播出。
以上所述僅為本發明的較佳實施例而已,並非用以限定本發明的申請專利範圍;凡其他為脫離本發明所揭示的精神下所完成的等效改變或修飾,均應包括在下述的申請專利範圍。
300‧‧‧流程
310~350‧‧‧步驟
Claims (22)
- 一種同步影音碼流的解碼方法,其中上述的影音碼流包含多個時鐘參考值與多個視訊及音訊的資料封包,每一個資料封包均對應至一顯示值,該解碼方法包含:利用一第一時鐘參考值重建一時鐘值;判斷該時鐘值與該多個顯示值中的一第一顯示值的誤差是否大於一第一範圍;當該時鐘值與該第一顯示值的誤差大於該第一範圍時,更改該時鐘值為該多個顯示值中的一第二顯示值;以及利用該第二顯示值所設定的該時鐘值執行至少一影音同步步驟。
- 如申請專利範圍第1項的解碼方法,更包含:在執行該至少一影音同步步驟之後,判斷一第二時鐘參考值與該多個顯示值中的一第三顯示值的誤差是否小於該第一範圍;以及當該第二時鐘參考值與該第三顯示值的誤差小於該第一範圍時,利用該第二時鐘參考值重建該時鐘值,其中在該影音碼流中,該第二時鐘參考值在該第一時鐘參考值之後。
- 如申請專利範圍第2項的解碼方法,其中上述之第二顯示值與該第三顯示值的其中之一對應到一視訊資料封包,另一對應到一音訊資料封包。
- 如申請專利範圍第2項的解碼方法,更包含: 當該第二時鐘參考值與該第三顯示值的誤差大於該第一範圍時,且該第三顯示值與一第四顯示值的誤差大於一第二範圍時,停止再執行該至少一影音同步步驟,其中該第三顯示值與該第四顯示值的其中之一對應到一視訊資料封包,另一對應到一音訊資料封包。
- 如申請專利範圍第4項的解碼方法,更包含:當該第二時鐘參考值與該第三顯示值的誤差大於該第一範圍且該第三顯示值與該第四顯示值的誤差小於該第二範圍時,再執行該至少一影音同步步驟。
- 如申請專利範圍第4項的解碼方法,其中上述之第二範圍大於或等於該第一範圍。
- 如申請專利範圍第4項的解碼方法,其中上述之第一範圍與第二範圍的正負界限不對稱,且該第二範圍的正界限大於該第一範圍的正界限,該第二範圍的負界限小於該第二範圍的負界限。
- 如申請專利範圍第1項的解碼方法,其中當該時鐘值與該第一顯示值的誤差大於該第一範圍時,更包含判斷該時鐘值與該第一顯示值的誤差大於該第一範圍的時間是否超過一時限,當超過該時限時,才更改該時鐘值設為該第二顯示值。
- 如申請專利範圍第1項的解碼方法,其中上述之第二顯示值等於第一顯示值。
- 如申請專利範圍第1項的解碼方法,其中上述之視訊與音訊的資料封包分別包含一視訊幀(frame)的資料和一音訊幀的資料。
- 如申請專利範圍第1項的解碼方法,其中上述之至少一影音同步步驟包含下列其中之一:令至少一個視訊的資料封包重複播出;令至少一個音訊的資料封包重複播出;令至少一個視訊的資料封包不播出;以及令至少一個音訊的資料封包不播出。
- 一種同步影音碼流的解碼器,其中上述的影音碼流包含多個時鐘參考值與多個視訊及音訊的資料封包,每一個資料封包均對應至一顯示值,該解碼器包含:一碼流讀取模組,用於根據一第一時鐘參考值重建一時鐘值;一管理模組,用於判斷該時鐘值與該多個顯示值中的一第一顯示值的誤差是否大於一第一範圍,當該時鐘值與該第一顯示值的誤差大於該第一範圍時,更改該時鐘值為該多個顯示值中的一第二顯示值;以及一影音同步模組,用於根據該第二顯示值所設定的該時鐘值執行至少一影音同步步驟。
- 如申請專利範圍第12項的解碼器,其中上述之管理模組更用於在執行該至少一影音同步步驟之後,判斷一第二時鐘參考值與該多個顯示值中的一第三顯示值的誤差是否小於該第一範圍;以及當該第二時鐘參考值與該第三顯示值的誤差小於該第一範圍時,令該碼流讀取模組利用新的該第二時鐘參考值重建該時鐘值,其中在該影音碼流中,該第二時鐘參考值在該第一時鐘參考值之後。
- 如申請專利範圍第13項的解碼器,其中上述之第二顯示值與該第三顯示值的其中之一對應到視訊資料封包,另一對應到音訊資料封包。
- 如申請專利範圍第13項的解碼器,其中上述之管理模組更用於當該第二時鐘參考值與該第三顯示值的誤差大於該第一範圍時,且該第三顯示值與一第四顯示值的誤差大於一第二範圍時,令該影音同步模組停止再執行該至少一影音同步步驟,其中該第三顯示值與該第四顯示值的其中之一對應到一視訊資料封包,另一對應到一音訊資料封包。
- 如申請專利範圍第15項的解碼器,其中上述之管理模組更用於當該第二時鐘參考值與該第三顯示值的誤差大於該第一範圍且該第三顯示值與該第四顯示值的誤差小於該第二範圍時,令該影音同步模組再執行該至少一影音同步步驟。
- 如申請專利範圍第15項的解碼器,其中上述之第二範圍大於或等於該第一範圍。
- 如申請專利範圍第15項的解碼器,其中上述之第一範圍與第二範圍的正負界限不對稱,且該第二範圍的正界限大於該第一範圍的正界限,該第二範圍的負界限小於該第二範圍的負界限。
- 如申請專利範圍第12項的解碼器,其中上述之管理模組判斷當該時鐘值與該第一顯示值的誤差大於該第一範圍時,更包含判斷該時鐘值與該第一顯示值的誤差大於該第一範圍的時間是否超過一時限,當超過該時限時,才更改該時鐘值為該第二顯示值。
- 如申請專利範圍第12項的解碼器,其中上述之第二顯示值等於第一顯示值。
- 如申請專利範圍第12項的解碼器,其中上述之視訊與音訊的資料封包分別包含一視訊幀(frame)的資料和一音訊幀的資料。
- 如申請專利範圍第12項的解碼器,其中上述之影音同步模組用於進行下列其中之一:令至少一個視訊的資料封包重複播出;令至少一個音訊的資料封包重複播出; 令至少一個視訊的資料封包不播出;以及令至少一個音訊的資料封包不播出。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103100252A TWI561070B (en) | 2014-01-03 | 2014-01-03 | Decoder and decoding method for audio video stream synchronization |
US14/587,544 US9736340B2 (en) | 2014-01-03 | 2014-12-31 | Decoder and decoding method for audio video stream synchronization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103100252A TWI561070B (en) | 2014-01-03 | 2014-01-03 | Decoder and decoding method for audio video stream synchronization |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201528793A true TW201528793A (zh) | 2015-07-16 |
TWI561070B TWI561070B (en) | 2016-12-01 |
Family
ID=53496148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103100252A TWI561070B (en) | 2014-01-03 | 2014-01-03 | Decoder and decoding method for audio video stream synchronization |
Country Status (2)
Country | Link |
---|---|
US (1) | US9736340B2 (zh) |
TW (1) | TWI561070B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI735890B (zh) * | 2019-06-17 | 2021-08-11 | 瑞昱半導體股份有限公司 | 音訊播放系統與方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106658065B (zh) * | 2015-10-30 | 2021-10-22 | 中兴通讯股份有限公司 | 音视频同步方法、装置及*** |
EP3197169A1 (en) | 2016-01-25 | 2017-07-26 | Thomson Licensing | Method for audio detection and corresponding device |
CN109729404B (zh) * | 2019-01-15 | 2021-06-04 | 晶晨半导体(上海)股份有限公司 | 一种基于嵌入式的播放器的同步调制方法 |
CN111629158B (zh) | 2019-02-28 | 2021-08-03 | 华为技术有限公司 | 一种音频流和视频流同步切换方法及装置 |
CN110650353B (zh) * | 2019-09-25 | 2020-12-04 | 广州华多网络科技有限公司 | 多人连麦混画方法及装置、存储介质及电子设备 |
CN111836071B (zh) * | 2020-07-16 | 2021-01-05 | 全时云商务服务股份有限公司 | 一种基于云会议的多媒体处理方法、装置及存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8306170B2 (en) * | 1998-03-31 | 2012-11-06 | International Business Machines Corporation | Digital audio/video clock recovery algorithm |
US6512552B1 (en) * | 1999-03-29 | 2003-01-28 | Sony Corporation | Subpicture stream change control |
US6975363B1 (en) * | 2000-08-31 | 2005-12-13 | Microsoft Corporation | Methods and systems for independently controlling the presentation speed of digital video frames and digital audio samples |
US7130316B2 (en) * | 2001-04-11 | 2006-10-31 | Ati Technologies, Inc. | System for frame based audio synchronization and method thereof |
CN1436001A (zh) * | 2002-01-28 | 2003-08-13 | 北京华诺信息技术有限公司 | 解码***中实现视频与音频同步的方法 |
US9432719B2 (en) * | 2002-10-22 | 2016-08-30 | Broadcom Corporation | A/V System and method supporting a pull data flow scheme |
US8995536B2 (en) * | 2003-07-23 | 2015-03-31 | Broadcom Corporation | System and method for audio/video synchronization |
US7339958B2 (en) * | 2005-01-03 | 2008-03-04 | Mediatek, Inc. | System and method for performing signal synchronization of data streams |
US7643513B2 (en) * | 2005-11-30 | 2010-01-05 | Broadcom Corporation | Method and system for audio and video transport |
US8446963B2 (en) * | 2006-07-12 | 2013-05-21 | Mediatek Inc. | Method and system for synchronizing audio and video data signals |
US7778277B2 (en) * | 2006-11-03 | 2010-08-17 | Mediatek Inc. | Timing recovery method and system thereof |
TWI338508B (en) * | 2006-12-20 | 2011-03-01 | Ind Tech Res Inst | Method and apparatus for audio/video synchronization |
CN102075806B (zh) | 2011-01-26 | 2012-12-05 | 四川长虹电器股份有限公司 | 一种数字电视音视频同步方法 |
CN103621102B (zh) * | 2011-05-12 | 2017-05-03 | 英特尔公司 | 用于音频与视频同步的方法、装置及*** |
-
2014
- 2014-01-03 TW TW103100252A patent/TWI561070B/zh not_active IP Right Cessation
- 2014-12-31 US US14/587,544 patent/US9736340B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI735890B (zh) * | 2019-06-17 | 2021-08-11 | 瑞昱半導體股份有限公司 | 音訊播放系統與方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI561070B (en) | 2016-12-01 |
US20150195427A1 (en) | 2015-07-09 |
US9736340B2 (en) | 2017-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201528793A (zh) | 同步影音碼流的解碼器與解碼方法 | |
TWI571115B (zh) | 用於同步化音訊與視訊之技術 | |
US8111971B2 (en) | Systems and methods of reducing media stream delay through independent decoder clocks | |
US10129587B2 (en) | Fast switching of synchronized media using time-stamp management | |
US8655143B2 (en) | Supplementary buffer construction in real-time applications without increasing channel change delay | |
WO2018120557A1 (zh) | 一种音视频同步处理的方法和装置、存储介质 | |
US20170055045A1 (en) | Recovering from discontinuities in time synchronization in audio/video decoder | |
JP5720051B2 (ja) | デジタル・ストリーム内の遅延変動測定方法及び装置 | |
US20060203853A1 (en) | Apparatus and methods for video synchronization by parsing time stamps from buffered packets | |
CN103581730A (zh) | 在数字机顶盒上实现音视频同步的方法 | |
JP4987034B2 (ja) | 映像表示装置 | |
JP2006190213A (ja) | メディア再生装置 | |
WO2012077855A1 (ko) | 비디오 스트림의 패킷화 방법 및 장치 | |
WO2014115295A1 (ja) | ビデオ表示装置及びビデオ表示方法 | |
CN102655571A (zh) | 基于嵌入式平台的数字电视流媒体中间件多字幕显示组件 | |
CN104811782A (zh) | 同步影音码流的解码器与解码方法 | |
JP5465278B2 (ja) | 映像表示装置 | |
CN109068156A (zh) | 一种节目录制、播放方法及装置 | |
US8213778B2 (en) | Recording device, reproducing device, recording medium, recording method, and LSI | |
US8331459B2 (en) | Method and apparatus for smooth digital media playback | |
JP2007150569A (ja) | 画像復号装置、および画像復号方法 | |
US10306298B2 (en) | Image processing apparatus and control method thereof | |
TWI277346B (en) | Processing device switching time axis in video data stream and method thereof | |
JP2009218934A (ja) | 映像再生装置及び映像再生方法 | |
US20170171598A1 (en) | Broadcast receiving apparatus and controlling method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |