TW202341744A - 用於媒體串流之時間信令傳輸 - Google Patents
用於媒體串流之時間信令傳輸 Download PDFInfo
- Publication number
- TW202341744A TW202341744A TW112121880A TW112121880A TW202341744A TW 202341744 A TW202341744 A TW 202341744A TW 112121880 A TW112121880 A TW 112121880A TW 112121880 A TW112121880 A TW 112121880A TW 202341744 A TW202341744 A TW 202341744A
- Authority
- TW
- Taiwan
- Prior art keywords
- media
- previous
- duration
- sample
- media sample
- Prior art date
Links
- 230000011664 signaling Effects 0.000 title description 13
- 238000000034 method Methods 0.000 claims abstract description 129
- 239000012634 fragment Substances 0.000 claims abstract description 95
- 238000012545 processing Methods 0.000 claims abstract description 61
- 230000002829 reductive effect Effects 0.000 claims abstract description 26
- 238000009877 rendering Methods 0.000 claims description 22
- 230000009467 reduction Effects 0.000 claims description 11
- 239000000523 sample Substances 0.000 description 438
- 230000033001 locomotion Effects 0.000 description 97
- 239000010410 layer Substances 0.000 description 59
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 59
- 239000013598 vector Substances 0.000 description 39
- 238000003860 storage Methods 0.000 description 32
- 238000010586 diagram Methods 0.000 description 31
- 238000013139 quantization Methods 0.000 description 29
- 230000008569 process Effects 0.000 description 22
- 238000000638 solvent extraction Methods 0.000 description 22
- 230000005540 biological transmission Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 20
- 239000000463 material Substances 0.000 description 20
- 230000002123 temporal effect Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 13
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 12
- 241000023320 Luma <angiosperm> Species 0.000 description 12
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 12
- 230000003044 adaptive effect Effects 0.000 description 10
- 238000013500 data storage Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 10
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 230000008602 contraction Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- 230000002457 bidirectional effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 230000001186 cumulative effect Effects 0.000 description 5
- 238000013467 fragmentation Methods 0.000 description 5
- 238000006062 fragmentation reaction Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 239000011449 brick Substances 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- -1 section Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000007727 signaling mechanism Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26258—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
-
- 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
-
- 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Abstract
本發明描述用於處理諸如稀疏媒體內容之樣本的媒體內容的系統及技術,稀疏媒體內容之樣本的樣本持續時間可能在解碼該等樣本時係未知的,該等系統及技術包括在當前時間執行個體處獲得包含至少一當前時間分量之一當前片段。自該當前時間分量,獲得針對至少一個媒體樣本之一經修改持續時間,該經修改持續時間指示一先前片段之一先前媒體樣本的一呈現將相對於該當前時間執行個體擴展或縮減的一持續時間。該至少一個媒體樣本係基於該經修改持續時間在一持續時間內呈現。
Description
本申請案涉及用於媒體串流之系統及方法。舉例而言,本發明之態樣係關於用於媒體串流之時間信令傳輸。
許多器件及系統允許處理並輸出媒體資料以供消耗。媒體資料可包括視訊資料及/或音訊資料。舉例而言,數位視訊資料可包括大量資料以滿足消費者及視訊提供者之需求。舉例而言,視訊資料之消費者需要具有最優品質(具有高保真度、解析度、圖框速率及其類似者)之視訊。結果,滿足此等需求所需之大量視訊資料對處理及儲存視訊資料之通信網路及器件造成負擔。
各種視訊寫碼技術可用於壓縮視訊資料。視訊寫碼係根據一或多個視訊寫碼標準執行。舉例而言,視訊寫碼標準包括ITU-T H.261;ISO/IEC MPEG-1 Visual;ITU-T H.262或ISO/IEC MPEG-2 Visual;ITU-T H.263;ISO/IEC MPEG-4 Visual;ITU-T H.264或ISO/IEC MPEG-4 AVC,包括其可調式視訊寫碼(SVC)及多視圖視訊寫碼(MVC)擴展;及亦稱為ITU-T H.265及ISO/IEC 23008 -2之高效視訊寫碼(HEVC),包括其可調式寫碼擴展(亦即,可調式高效視訊寫碼SHVC)及多視圖擴展(亦即,多視圖高效視訊寫碼MV-HEVC)。視訊寫碼通常使用利用存在於視訊影像或序列中之冗餘的預測方法(例如,框間預測、框內預測或其類似者)。視訊寫碼技術之重要目標為將視訊資料壓縮成使用較低位元速率之形式,同時避免視訊品質之降級或使視訊品質之降級最小化。
在視訊資料已編碼之後,可將視訊資料封包化以用於傳輸或儲存。可將視訊資料組譯成符合多種標準中之任一種的視訊檔案,該等標準諸如為國際標準化組織(ISO)基本媒體檔案格式及其擴展,諸如ITU-T H.264/AVC。此類經封包化視訊資料可以多種方式輸送,諸如使用網路串流經由電腦網路傳輸。
本文中描述用於提供用於媒體串流(諸如低延時媒體串流或其他媒體串流)之時間信令傳輸的技術及系統。舉例而言,技術及系統可呈現其樣本持續時間可能在解碼樣本時係未知的樣本(例如稀疏媒體內容或其他媒體內容之樣本)。根據一些實例,先前樣本之樣本持續時間可基於當前樣本中提供之指示或信令傳輸而擴展或縮減。當前樣本可包括當前正被處理之樣本,且先前樣本可包括在當前樣本之前接收、解碼及/或呈現的樣本。在一些實例中,先前樣本可包括未知持續時間之稀疏內容。舉例而言,先前樣本可為含有具有未知持續時間之副標題或其他稀疏媒體內容的媒體圖框(例如視訊圖框)。包括先前樣本之先前片段可包括先前樣本之樣本持續時間,其中樣本持續時間經設定為合理的估計值。
一旦解碼當前樣本,則可獲得經修改持續時間,當前樣本可包括用於擴展或縮減先前樣本之樣本持續時間的信令傳輸。舉例而言,若在當前時間執行個體處解碼包括當前樣本之當前片段,則可自當前片段獲得經修改持續時間。經修改持續時間可指示先前樣本之呈現將相對於當前時間執行個體擴展或縮減的持續時間。至少一個媒體樣本可基於經修改持續時間在持續時間內藉由播放器器件呈現。舉例而言,呈現至少一個媒體樣本可包括在經擴展持續時間內呈現先前媒體樣本或呈現在當前時間執行個體處開始的新媒體樣本。在一些實例中,呈現至少一個媒體樣本可包括縮減用於呈現先前媒體樣本之樣本持續時間。
根據至少一個實例,提供一種處理媒體內容之方法。該方法可包括在當前時間執行個體處獲得包含至少一當前時間分量之當前片段。該方法可進一步包括自該當前時間分量,判定針對至少一個媒體樣本之一經修改持續時間,該經修改持續時間指示一先前片段之一先前媒體樣本的一呈現將相對於該當前時間執行個體延展或縮減的一持續時間。該方法可進一步包括基於經修改持續時間在持續時間內呈現該至少一個媒體樣本。
在另一實例中,提供一種用於處理媒體內容之裝置。該裝置包括一記憶體及實施於電路中之一處理器。該裝置經組態以且可在當前時間執行個體處獲得包含至少一當前時間分量之當前片段。該裝置進一步經組態以且可自該當前時間分量,判定針對至少一個媒體樣本之一經修改持續時間,該經修改持續時間指示一先前片段之一先前媒體樣本的一呈現將相對於該當前時間執行個體擴展或縮減的一持續時間。該裝置進一步經組態以且可基於經修改持續時間在持續時間內呈現該至少一個媒體樣本。
在另一實例中,提供一種其上儲存有指令的非暫時性電腦可讀媒體,該等指令在由一或多個處理器執行時使得該一或多個處理器執行以下操作:在當前時間執行個體處獲得包含至少一當前時間分量之當前片段;自該當前時間分量,判定針對至少一個媒體樣本之一經修改持續時間,該經修改持續時間指示一先前片段之一先前媒體樣本的一呈現將相對於該當前時間執行個體擴展或縮減的一持續時間;及基於該經修改持續時間在一持續時間內呈現該至少一個媒體樣本。
在另一實例中,提供一種用於處理媒體內容之裝置。該裝置包括:用於在當前時間執行個體處獲得包含至少一當前時間分量之當前片段的構件;用於自該當前時間分量,判定針對至少一個媒體樣本之一經修改持續時間的構件,該經修改持續時間指示一先前片段之一先前媒體樣本的一呈現將相對於該當前時間執行個體擴展或縮減的一持續時間;及用於基於該經修改持續時間在一持續時間內呈現該至少一個媒體樣本的構件。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,經修改持續時間包括一擴展持續時間,該擴展持續時間指示該先前媒體樣本之呈現將相對於當前時間執行個體擴展的一持續時間。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,經修改持續時間包括一縮減持續時間,該縮減持續時間指示該先前媒體樣本之呈現將相對於當前時間執行個體縮減的一持續時間。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,呈現該至少一個媒體樣本包括將先前媒體樣本之呈現的持續時間擴展至少該擴展持續時間。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,呈現該至少一個媒體樣本包括在當前時間執行個體處將一新的媒體樣本至少呈現該擴展持續時間。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,呈現該至少一個媒體樣本包括將先前媒體樣本之呈現的持續時間縮減該縮減持續時間。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,在一先前時間執行個體處獲得先前媒體樣本,該先前時間執行個體在當前時間執行個體之前。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,當前片段為不具有媒體樣本資料之空片段。在一些實例中,當前片段包括一冗餘媒體樣本,其中該冗餘媒體樣本匹配先前媒體樣本。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,當前片段包括一冗餘媒體樣本欄位,該冗餘媒體樣本欄位用於提供該冗餘媒體樣本之一指示。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,呈現該至少一個媒體樣本包括顯示該至少一個媒體樣本之視訊內容。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,呈現該至少一個媒體樣本包括呈現該至少一個媒體樣本之音訊內容。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,獲得該當前片段包括接收及解碼當前片段。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,當前片段包括一播放軌片段解碼時間邏輯框(tfdt)邏輯框,該tfdt邏輯框包括當前時間分量。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,當前時間分量包括baseMediaDecodeTime值。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,先前片段包括用於呈現先前媒體樣本之一樣本持續時間,且該樣本持續時間包括預定合理的持續時間。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,該至少一個媒體樣本包括稀疏內容,其中用於呈現該稀疏內容之一持續時間在先前片段經解碼時之先前時間執行個體處係未知的。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,該裝置包括一解碼器。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,該裝置包括用於呈現媒體內容之一播放器器件。
根據至少一個實例,提供一種提供媒體內容之方法。該方法可包括在一先前時間執行個體處提供包含一先前媒體樣本之一先前片段,其中用於呈現該先前媒體樣本之一時間在該先前時間執行個體處係未知的。該方法可進一步包括在一當前時間執行個體處提供包含至少一當前時間分量之一當前片段,其中該當前時間分量包括針對該先前媒體樣本之一經修改持續時間,該經修改持續時間指示該先前媒體樣本之一呈現將相對於該當前時間執行個體擴展或縮減的一持續時間。
在另一實例中,提供一種用於提供媒體內容之裝置。該裝置包括一記憶體及實施於電路中之一處理器。該處理器經組態以且可在一先前時間執行個體處提供包含一先前媒體樣本之一先前片段,其中用於呈現該先前媒體樣本之一持續時間在該先前時間執行個體處係未知的。該處理器進一步經組態以且可在一當前時間執行個體處提供包含至少一當前時間分量之一當前片段,其中該當前時間分量包括針對該先前媒體樣本之一經修改持續時間,該經修改持續時間指示該先前媒體樣本之一呈現將相對於該當前時間執行個體擴展或縮減的一持續時間。
在另一實例中,提供一種其上儲存有指令之非暫時性電腦可讀媒體,該等指令在由一或多個處理器執行時使得該一或多個處理器執行以下操作:在一先前時間執行個體處提供包含一先前媒體樣本之一先前片段,其中用於呈現該先前媒體樣本之一持續時間在該先前時間執行個體處係未知的;及在一當前時間執行個體處提供包含至少一當前時間分量之一當前片段,其中該當前時間分量包括針對該先前媒體樣本之一經修改持續時間,該經修改持續時間指示該先前媒體樣本之一呈現將相對於該當前時間執行個體擴展或縮減的一持續時間。
在另一實例中,提供一種用於提供媒體內容之裝置。該裝置包括:用於在一先前時間執行個體處提供包含一先前媒體樣本之一先前片段的構件,其中用於呈現該先前媒體樣本之一持續時間在該先前時間執行個體處係未知的;及用於在一當前時間執行個體處提供包含至少一當前時間分量之一當前片段的構件,其中該當前時間分量包括針對該先前媒體樣本之一經修改持續時間,該經修改持續時間指示該先前媒體樣本之一呈現將相對於該當前時間執行個體擴展或縮減的一持續時間。
此發明內容並不意欲識別所主張標的物之關鍵或基本特徵,亦不意欲單獨使用以判定所主張標的物之範疇。應參考此專利之整個說明書之適當部分、任何或所有圖式及每一申請專利範圍來理解標的物。
在參考以下說明書、申請專利範圍及隨附圖式時,前述內容連同其他特徵及實施例將變得更顯而易見。
下文提供本發明之某些態樣及實施例。此等態樣及實施例之一些可獨立地應用並且其中之一些可以將對熟習此項技術者顯而易見之組合來應用。在以下描述中,出於解釋之目的,闡述眾多特定細節以便提供對本發明之實施例之透徹理解。然而,各種實施例可在無此等特定細節之情況下得以實踐將為顯而易見的。圖式及描述不意欲為限定性的。
隨後描述僅提供例示性實施例且並不意欲限制本發明的範疇、可應用性或組態。實際上,例示性實施例之隨後描述將為熟習此項技術者提供能夠實施例示性實施例之描述。應理解,可在不背離如所附申請專利範圍中所闡述之本申請案之精神及範疇的情況下對元件之功能及配置做出各種變化。
視訊寫碼器件實施視訊壓縮技術以高效地編碼及解碼視訊資料。視訊壓縮技術可包括應用不同預測模式(包括空間預測(例如圖框內預測或框內預測)、時間預測(例如圖框間預測或框間預測)、層間預測(橫越視訊資料之不同層)及/或其他預測技術)以縮減或移除為視訊序列所固有的冗餘。視訊編碼器可將原始視訊序列之每一圖像分割成被稱作視訊區塊或寫碼單元(下文更詳細地描述)之矩形區。可使用特定預測模式來編碼此等視訊區塊。
視訊區塊可以一或多種方式分成較小區塊之一或多個群組。區塊可包括寫碼樹型區塊、預測區塊、變換區塊及/或其他合適區塊。除非另外指定,否則通常對「區塊」之參考可指此等視訊區塊(例如,寫碼樹型區塊(CTB)、寫碼區塊、預測區塊、變換區塊或其他合適區塊或子區塊,如將藉由一般熟習此項技術者理解)。另外,此等區塊中之每一者在本文中亦可互換地稱為「單元」(例如寫碼樹型單元(CTU)、寫碼單元、預測單元(PU)、變換單元(TU)或其類似者)。在一些情況下,單元可指示經編碼於位元串流中的寫碼邏輯單元,而區塊可指示一程序目標所指向的視訊圖框緩衝器之一部分。
對於框間預測模式,視訊編碼器可搜尋類似於經編碼於定位於另一時間位置中的圖框(或圖像)(被稱作參考圖框或參考圖像)中之區塊的區塊。視訊編碼器可將搜尋限定於自待編碼之區塊的某一空間移位。可使用包括水平移位分量及垂直移位分量之二維(2D)運動向量來定位最好匹配。對於框內預測模式,視訊編碼器可基於來自同一圖像內之先前經編碼相鄰區塊的資料使用空間預測技術而形成預測區塊。
視訊編碼器可判定預測誤差。舉例而言,預測可經判定為正經編碼區塊與預測區塊之影像樣本或像素值之間的差。預測誤差亦可被稱作殘餘。視訊編碼器亦可將變換應用於預測誤差(例如,離散餘弦變換(DCT)或其他合適之變換)從而產生變換係數。在變換之後,視訊編碼器可量化變換係數。可使用語法元素來表示經量化變換係數及運動向量,且其連同控制資訊一起形成視訊序列之經寫碼表示。在一些情況下,視訊編碼器可熵寫碼語法元素,藉此進一步縮減其表示所需之位元數目。
視訊解碼器可使用上文所論述之語法元素及控制資訊建構用於解碼當前圖框之預測性資料(例如,預測性區塊)。舉例而言,視訊解碼器可將預測區塊與經壓縮預測誤差相加。視訊解碼器可藉由使用經量化係數而加權變換基底函數來判定經壓縮預測誤差。經重建構圖框及原始圖框之間的差被稱作重建構誤差。
本文中所描述的技術可應用於現有視訊編解碼器中之任一者(例如高效視訊寫碼(HEVC)、進階視訊寫碼(AVC)或其他合適現有視訊編解碼器),及/或可為用於正被開發之任何視訊寫碼標準及/或將來視訊寫碼標準(諸如多功能視訊寫碼(VVC)、聯合探索模型(JEM)及/或在開發中或將開發之其他視訊寫碼標準)的高效寫碼工具。雖然本文中出於說明之目的使用視訊寫碼提供實例,但在一些情況下,可使用任何寫碼器件(諸如影像寫碼器(例如JPEG編碼器及/或解碼器或其類似者)、視訊寫碼器(例如視訊編碼器及/或視訊解碼器)或其他合適之寫碼器件)執行本文中所描述的技術。
圖1為說明包括編碼器件104及解碼器件112之系統100之實例的方塊圖。編碼器件104可為源器件之部分,且解碼器件112可為接收器件之部分。源器件及/或接收器件可包括電子器件,諸如行動或靜止電話手機(例如,智慧型電話、蜂巢式電話或其類似者)、桌上型電腦、膝上型或筆記型電腦、平板電腦、機上盒、電視、攝影機、顯示器件、數位媒體播放器、視訊遊戲控制台、視訊串流器件、網際網路協定(IP)攝影機或任何其他合適的電子器件。在一些實例中,源器件及接收器件可包括用於無線通信之一或多個無線收發器。本文中所描述之寫碼技術適用於各種多媒體應用中之視訊寫碼,包括串流視訊傳輸(例如,經由網際網路)、電視廣播或傳輸、編碼數位視訊以供儲存於資料儲存媒體上、解碼儲存於資料儲存媒體上之數位視訊或其他應用。在一些實例中,系統100可支援單向或雙向視訊傳輸以支援諸如視訊會議、視訊串流、視訊播放、視訊廣播、遊戲及/或視訊電話之應用。
編碼器件104 (或編碼器)可用以使用視訊寫碼標準或協定編碼視訊資料以產生經編碼視訊位元串流。視訊寫碼標準的實例包括ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、ITU-T H.264 (亦稱為ISO/IEC MPEG-4 AVC)(包括其可調式視訊寫碼(SVC)及多視圖視訊寫碼(MVC)擴展)及高效視訊寫碼(HEVC)或ITU-T H.265。存在涉及多層視訊寫碼的HEVC之各種擴展,包括範圍及螢幕內容寫碼擴展、3D視訊寫碼(3D-HEVC)及多視圖擴展(MV-HEVC)及可調式擴展(SHVC)。HEVC及其擴展已藉由ITU-T視訊寫碼專家組(VCEG)及ISO/IEC動畫專家組(MPEG)之視訊寫碼聯合協作小組(JCT-VC)以及3D視訊寫碼擴展開發聯合協作小組(JCT-3V)開發。
MPEG及ITU-T VCEG亦已形成聯合探索視訊小組(JVET)以探索及開發用於下一代視訊寫碼標準(稱為多功能視訊寫碼(VVC))之新的視訊寫碼工具。參考軟體稱為VVC測試模型(VTM)。VVC之目標係提供對於現有HEVC標準的壓縮效能之顯著改良,輔助較高品質視訊服務及新興應用(例如360°全向沉浸式多媒體、高動態範圍(HDR)視訊,以及其他)的部署。
本文中所描述之許多實施例提供使用VTM、VVC、HEVC及/或其擴展的實例。然而,本文中所描述的技術及系統亦可適用於其他寫碼標準,諸如AVC、MPEG、JPEG (或用於靜止影像之其他寫碼標準)、其擴展,或已經可用或尚未可用或開發的其他合適寫碼標準。因此,雖然可參考特定視訊寫碼標準描述本文中所描述之技術及系統,但一般熟習此項技術者將瞭解,描述不應解譯為僅適用於彼特定標準。
參看圖1,視訊源102可將視訊資料提供至編碼器件104。視訊源102可為源器件之一部分,或可為除源器件以外的器件之一部分。視訊源102可包括視訊捕捉器件(例如,視訊攝影機、攝影機電話、視訊電話或其類似者)、含有經儲存視訊之視訊存檔、提供視訊資料之視訊伺服器或內容提供者、自視訊伺服器或內容提供者接收視訊之視訊饋入介面、用於產生電腦圖形視訊資料之電腦圖形系統、此等源之組合或任何其他合適的視訊源。
來自視訊源102之視訊資料可包括一或多個輸入圖像。圖像亦可被稱為「圖框」。圖像或圖框為在一些情況下為視訊之部分的靜態影像。在一些實例中,來自視訊源102之資料可為並非為視訊之一部分的靜態影像。在HEVC、VVC及其他視訊寫碼規範中,視訊序列可包括一系列圖像。圖像可包括三個影像樣本陣列,指示為S
L、S
Cb及S
Cr。S
L為明度影像樣本之二維陣列,S
Cb為Cb色度影像樣本之二維陣列且S
Cr為Cr色度影像樣本之二維陣列。色度(Chrominance)影像樣本在本文中亦可被稱作「色度(chroma)」影像樣本。影像樣本可指像素之個別分量(例如明度樣本、色度藍色樣本、色度紅色樣本、藍色樣本、綠色樣本、紅色樣本或其類似者)。像素可指圖像陣列中之給定位置(例如被稱作像素位置)之全部分量(例如包括明度及色度影像樣本)。在其他情況下,圖像可為單色且可僅僅包括一陣列明度影像樣本,在此情況下術語像素及影像樣本可互換地使用。
編碼器件104之編碼器引擎106(或編碼器)編碼視訊資料以產生經編碼視訊位元串流。在一些實例中,經編碼視訊位元串流(或「視訊位元串流」或「位元串流」)為一系列之一或多個經寫碼視訊序列。經寫碼視訊序列(CVS)包括一系列存取單元(AU),其始於在基礎層中具有隨機存取點圖像且具有某些性質之AU,直至且不包括在基礎層中具有隨機存取點圖像且具有某些性質之下一AU。舉例而言,開始CVS的隨機存取點圖像之某些性質可包括等於1之一RASL旗標(例如,NoRaslOutputFlag)。否則,隨機存取點圖像(具有等於0之RASL旗標)不開始CVS。存取單元(AU)包括一或多個經寫碼圖像及對應於共用相同輸出時間之經寫碼圖像的控制資訊。圖像之經寫碼圖塊在位元串流層級囊封至稱為網路抽象層(NAL)單元之資料單元中。舉例而言,HEVC視訊位元串流可包括一或多個CVS,該一或多個CVS包括NAL單元。NAL單元中之每一者具有NAL單元標頭。在一個實例中,標頭對於H.264/AVC (除了多層擴展以外)為一個位元組且對於HEVC為兩個位元組。NAL單元標頭中之語法元素採取經指定位元,且因此對所有種類之系統及輸送層可見,諸如輸送串流、即時輸送(RTP)協定、檔案格式以及其他。
兩種類別之NAL單元存在於HEVC標準中,包括視訊寫碼層(VCL)NAL單元及非VCL NAL單元。VCL NAL單元包括經寫碼圖像資料之一個圖塊或圖塊片段(如下描述),且非VCL NAL單元包括關於一或多個經寫碼圖像之控制資訊。在一些情況下,NAL單元可被稱作封包。HEVC AU包括含有經寫碼圖像資料之VCL NAL單元及對應於經寫碼圖像資料之非VCL NAL單元(若存在)。
NAL單元可含有形成視訊資料之經寫碼表示(諸如,視訊中之圖像的經寫碼表示)的位元序列(例如,經編碼視訊位元串流、位元串流之CVS或其類似者)。編碼器引擎106藉由將每一圖像分割成多個圖塊而產生圖像之經寫碼表示。一圖塊獨立於其他圖塊,以使得在不依賴於來自同一圖像內之其他圖塊之資料的情況下寫碼該圖塊中之資訊。一圖塊包括一或多個圖塊片段,該一或多個圖塊片段包括獨立圖塊片段及(若存在)取決於先前圖塊片段之一或多個相關圖塊片段。
在HEVC中,圖塊接著分割成明度影像樣本及色度影像樣本之寫碼樹型區塊(CTB)。明度影像樣本之CTB及色度影像樣本之一或多個CTB連同影像樣本之語法被稱作寫碼樹型單元(CTU)。CTU亦可被稱作「樹型區塊」或「最大寫碼單元」(LCU)。CTU為用於HEVC編碼之基本處理單元。CTU可經分裂成具有不同大小之多個寫碼單元(CU)。CU含有被稱作寫碼區塊(CB)之明度及色度影像樣本陣列。
明度及色度CB可進一步被分裂成預測區塊(PB)。PB為使用相同運動參數用於框間預測或塊內複製預測(當可用或經啟用以供使用時)的明度分量或色度分量之影像樣本的區塊。明度PB及一或多個色度PB連同相關聯語法形成預測單元(PU)。對於框間預測,一組運動參數(例如,一或多個運動向量、參考索引或其類似者)係在用於每一PU之位元串流中發信且用於明度PB及一或多個色度PB之框間預測。運動參數亦可被稱作運動資訊。CB亦可被分割成一或多個變換區塊(TB)。TB表示相同二維變換應用於其上以用於寫碼預測殘餘信號的色彩分量之影像樣本的正方形區塊。變換單元(TU)表示明度及色度影像樣本之TB及對應語法元素。
CU之大小對應於寫碼模式之大小,且可為正方形形狀。舉例而言,CU之大小可為8×8樣本、16×16樣本、32×32樣本、64×64樣本或達至相應CTU之大小的任何其他適當大小。片語「N×N」本文用以指代就垂直及水平尺寸而言視訊區塊之影像樣本或像素尺寸(例如8像素×8像素或8樣本×8樣本)。可按列及行來配置區塊中之影像樣本或像素。在一些實施例中,區塊在水平方向上可不具有與在垂直方向上相同的數目個像素。與CU相關聯之語法資料可描述例如將CU分割成一或多個PU。分割模式可在CU經框內預測模式編碼抑或經框間預測模式編碼之間有所不同。PU可被分割成非正方形形狀。與CU相關聯之語法資料亦可描述(例如)根據CTU將CU分割成一或多個TU。TU可為正方形或非正方形形狀。
根據HEVC標準,可使用變換單元(TU)來執行變換。TU可針對不同CU而變化。可基於給定CU內之PU的大小而對TU設定大小。TU可與PU大小相同或小於PU。在一些實例中,可使用被稱為殘餘四分樹(RQT)之四分樹結構將對應於CU之殘餘影像樣本再分為較小單元。RQT之葉節點可對應於TU。與TU相關聯的像素差值(或影像樣本差值)可經變換以產生變換係數。變換係數可接著由編碼器引擎106量化。
一旦視訊資料之圖像被分割成CU,編碼器引擎106便使用預測模式來預測每一PU。接著自原始視訊資料減去預測單元或預測區塊以得到殘餘(如下描述)。對於每一CU,可使用語法資料在位元串流內部發信預測模式。預測模式可包括框內預測(或圖像內預測)或框間預測(或圖像間預測)。框內預測使用圖像內之空間相鄰影像樣本之間的相關性。舉例而言,在使用框內預測之情況下,使用(例如)DC預測以發現PU之平均值、使用平面預測以使平面表面擬合於PU、使用方向預測以自相鄰資料外插或使用任何其他合適類型之預測,自同一圖像中之相鄰影像資料預測每一PU。框間預測使用圖像之間的時間相關性以便導出影像樣本之區塊的運動補償預測。舉例而言,在使用框間預測之情況下,使用運動補償預測自一或多個參考圖像(按輸出次序在當前圖像之前或之後)中之影像資料預測每一PU。可(例如)在CU層級決定係使用圖像間預測抑或使用圖像內預測來寫碼圖像區域。
編碼器引擎106及解碼器引擎116 (如下更詳細地描述)可經組態以根據VVC操作。根據VVC,視訊寫碼器(諸如編碼器引擎106及/或解碼器引擎116)將圖像分割成複數個寫碼樹型單元(CTU)。視訊寫碼器可根據樹型結構分割CTU,諸如四分樹二進位樹型(QTBT)結構或多類型樹型(MTT)結構。QTBT結構移除多個分割類型之概念,諸如HEVC之CU、PU及TU之間的間距。QTBT結構包括兩個層級:根據四分樹分割分割的第一層級,及根據二進位樹分割分割的第二層級。QTBT結構之根節點對應於CTU。二進位樹之葉節點對應於寫碼單元(CU)。
在MTT分割結構中,區塊可使用四分樹分割、二進位樹分割及一或多種類型之三重樹分割來分割。三重樹分割為區塊分裂成三個子區塊的分割。在一些實例中,三重樹分割在不經由中心分隔原始區塊情況下將區塊分成三個子區塊。MTT中之分割類型(例如四分樹、二進位樹及三重樹)可為對稱或不對稱的。
在一些實例中,視訊寫碼器可使用單一QTBT或MTT結構以表示明度及色度分量中之每一者,而在其他實例中,視訊寫碼器可使用兩個或大於兩個QTBT或MTT結構,諸如用於明度分量之一個QTBT或MTT結構及用於兩個色度分量之另一QTBT或MTT結構(或用於各別色度分量之兩個QTBT及/或MTT結構)。
在VVC中,圖像可分割成圖塊、圖像塊及塊。一般而言,磚可為圖像中之特定圖像塊內的CTU列之矩形區。圖像塊可為圖像中之特定圖像塊行及特定圖像塊列內的CTU之矩形區。圖像塊行係具有等於圖像之高度的高度及藉由圖像參數集中之語法元素指定的寬度的CTU之矩形區。圖像塊列係具有藉由圖像參數集中之語法元素指定的高度及等於圖像之寬度的寬度的CTU之矩形區。在一些情況下,圖像塊可分割成多個磚,多個磚中之每一者可包括圖像塊內之一或多個CTU列。未分割成多個磚的圖像塊亦稱作磚。然而,為圖像塊之真子集的磚不被稱作圖像塊。圖塊可為獨佔地含於單一NAL單元中的圖像之整數數目個磚。在一些情況下,圖塊可包括數個完整圖像塊或僅包括一個圖像塊之完整磚的連續序列。
視訊寫碼器可經組態以使用根據HEVC之四分樹分割、QTBT分割、MTT分割,或其他分割結構。出於說明之目的,本文中之描述可指QTBT分割。然而,應理解本發明之技術亦可應用於經組態以使用四分樹分割亦或其他類型之分割的視訊寫碼器。
在一些實例中,圖像之一或多個圖塊被指派圖塊類型。圖塊類型包括I圖塊、P圖塊及B圖塊。I圖塊(框內預測圖框,可獨立解碼)為僅藉由框內預測寫碼之圖像的圖塊,且因此可獨立解碼,此係因為I圖塊僅需要圖框內之資料來預測圖塊之任何預測單元或預測區塊。P圖塊(單向預測圖框)為可藉由框內預測及藉由單向框間預測寫碼之圖像的圖塊。藉由框內預測或框間預測寫碼P圖塊內之每一預測單元或預測區塊。當框間預測應用時,預測單元或預測區塊僅藉由一個參考圖像預測,且因此參考影像樣本僅來自一個圖框之一個參考區。B圖塊(雙向預測性圖框)為可藉由框內預測及框間預測(例如,雙向預測或單向預測)寫碼的圖像之圖塊。B圖塊之預測單元或預測區塊可自兩個參考圖像雙向預測,其中每一圖像貢獻一個參考區且兩個參考區之影像樣本集合經加權(例如運用相等權重或運用不同權重)以產生雙向預測區塊之預測信號。如上文所解釋,一個圖像之圖塊被獨立寫碼。在一些情況下,圖像可僅作為一個圖塊而被寫碼。
如上文所提及,圖像內預測使用圖像內之空間相鄰影像樣本之間的相關性。圖像間預測使用圖像之間的時間相關性以便導出影像樣本之區塊的運動補償預測。使用平移運動模型,先前解碼之圖像(參考圖像)中的區塊之位置係藉由運動向量(Δ
x, Δ
y)指示,其中Δ
x指定水平移位且Δ
y指定參考區塊相對於當前區塊之位置的垂直移位。在一些情況下,運動向量(Δ
x, Δ
y)可在整數樣本準確度(亦稱作整數準確度)中,在此情況下運動向量指向參考圖框之整數像素網格(或整數像素取樣網格)。在一些情況下,運動向量(Δ
x, Δ
y)可具有分數樣本準確度(亦被稱作分數像素準確度或非整數準確度)以更準確地捕捉基礎物件之移動而不限於參考圖框之整數像素網格。運動向量之準確度可由運動向量之量化層級表達。舉例而言,量化層級可為整數準確度(例如,1像素)或分數像素準確度(例如,¼像素、½像素或其他子像素值)。當對應運動向量具有分數樣本準確度時,對參考圖像應用內插以導出預測信號。舉例而言,在整數位置處可用的影像樣本可經濾波(例如使用一或多個內插濾波器)以估計在分數位置處之值。先前經解碼參考圖像由參考圖像清單的參考索引(
refIdx)指示。運動向量及參考索引可被稱作運動參數。可執行兩種圖像間預測,包括單向預測及雙向預測。
在框間預測使用雙向預測情況下,兩組運動參數(Δ
x 0,
y 0,
refIdx 0及Δ
x 1,
y 1,
refIdx 1)用於產生兩個經運動補償之預測(自相同參考圖像或可能自不同參考圖像)。舉例而言,藉由雙向預測,每一預測區塊使用兩個運動補償預測信號,且產生B預測單元。接著組合兩個運動補償預測以得到最終運動補償預測。舉例而言,可藉由取平均值來組合兩個運動補償預測。在另一實例中,可使用加權預測,在此情況下,不同權重可應用於每一運動補償預測。可用於雙向預測中之參考圖像儲存於兩個單獨清單(表示為清單0及清單1)中。可使用運動估計程序在編碼器處導出運動參數。
在框間預測使用單向預測情況下,一組運動參數(Δ
x 0,
y 0,
refIdx 0)用以自參考圖像產生經運動補償之預測。舉例而言,藉由單向預測,每一預測區塊使用至多一個運動補償預測信號,且產生P預測單元。
PU可包括與預測程序相關之資料(例如,運動參數或其他合適資料)。舉例而言,當使用框內預測編碼PU時,PU可包括描述用於PU之框內預測模式的資料。作為另一實例,當使用框間預測來編碼PU時,PU可包括定義用於PU之運動向量的資料。定義用於PU之運動向量的資料可描述(例如)運動向量之水平分量(Δ
x)、運動向量之垂直分量(Δ
y)、用於運動向量之解析度(例如,整數精度、四分之一像素精度或八分之一像素精度)、運動向量指向之參考圖像、參考索引、用於運動向量之參考圖像清單(例如,清單0、清單1或清單C),或其任何組合。
編碼器件104接著可執行變換及量化。舉例而言,在預測之後,編碼器引擎106可計算對應於PU之殘餘值。殘餘值可包含正被寫碼的像素(或影像樣本)之當前區塊(PU)與用以預測當前區塊的預測區塊(例如當前區塊之預測版本)之間的像素差值(或影像樣本差值)。舉例而言,在產生預測區塊(例如,使用框間預測或框內預測)之後,編碼器引擎106可藉由自當前區塊減去由預測單元產生之預測區塊來產生殘餘區塊。殘餘區塊包括量化當前區塊之像素值(或影像樣本值)與預測區塊之像素值(或影像樣本值)之間的差的一組像素差值(或影像樣本差值)。在一些實例中,殘餘區塊可以二維區塊格式(例如像素值或樣本值之二維矩陣或陣列)表示。在此等實例中,殘餘區塊為像素值(或影像樣本值)之二維表示。
使用區塊變換來變換可在執行預測之後剩餘的任何殘餘資料,此變換可基於離散餘弦變換、離散正弦變換、整數變換、小波變換、其他合適的變換函數或其任何組合。在一些情況下,一或多個區塊變換(例如,大小32×32、16×16、8×8、4×4或其他合適大小)可應用於每一CU中之殘餘資料。在一些實施例中,TU可用於藉由編碼器引擎106實施的變換及量化程序。給定之具有一或多個PU的CU亦可包括一或多個TU。如下文進一步詳細描述,可使用區塊變換將殘餘值變換成變換係數,且接著可使用TU來量化及掃描殘餘值以產生用於熵寫碼之串列化變換係數。
在一些實施例中,在使用CU之PU進行框內預測性或框間預測性寫碼之後,編碼器引擎106可計算CU之TU的殘餘資料。PU可包含空間域(或像素域)中之像素資料(或影像樣本)。在應用區塊變換之後,TU可包含變換域中之係數。如先前所提及,殘餘資料可對應於未經編碼圖像之像素之間的像素差值(或影像樣本之間的影像樣本差值)及對應於PU之預測值。編碼器引擎106可形成包括CU之殘餘資料的TU,且接著可變換TU以產生CU之變換係數。
編碼器引擎106可執行變換係數之量化。量化藉由量化變換係數以減少用以表示係數之資料的量而提供進一步壓縮。舉例而言,量化可縮減與係數中之一些或所有相關聯的位元深度。在一個實例中,具有n位元值之係數可在量化期間經降值捨位為m位元值,其中n大於m。
在量化被執行後,經寫碼視訊位元串流包括經量化變換係數、預測資訊(例如,預測模式、運動向量、區塊向量或其類似者)、分割資訊及任何其他合適之資料,諸如其他語法資料。接著可藉由編碼器引擎106對經寫碼視訊位元串流之不同元素進行熵編碼。在一些實例中,編碼器引擎106可使用預定義掃描次序掃描經量化變換係數以產生可經熵編碼的串列化向量。在一些實例中,編碼器引擎106可執行自適應掃描。在掃描經量化變換係數以形成一向量(例如一維向量)之後,編碼器引擎106可熵編碼該向量。舉例而言,編碼器引擎106可使用上下文自適應性可變長度寫碼、上下文自適應性二進位算術寫碼、基於語法之上下文自適應性二進位算術寫碼、機率區間分割熵寫碼或另一合適的熵編碼技術。
編碼器件104之輸出端110可經由通信鏈路120將組成經編碼視訊位元串流資料之NAL單元發送至接收器件之解碼器件112。解碼器件112之輸入端114可接收NAL單元。通信鏈路120可包括由無線網路、有線網路或有線網路與無線網路之組合提供的通道。無線網路可包括任何無線介面或無線介面之組合,且可包括任何適合之無線網路(例如,網際網路或其他廣域網路、基於封包之網路、WiFi
TM、射頻(RF)、UWB、WiFi-Direct、蜂巢式、長期演進(LTE)、WiMax
TM或其類似者)。有線網路可包括任何有線介面(例如,光纖、乙太網路、電力線乙太網路、經由同軸電纜之乙太網路、數位信號線(DSL)或其類似者)。可使用各種裝備來實施有線及/或無線網路,該等裝備諸如基地台、路由器、存取點、橋接器、閘道器、交換器或其類似者。可根據通信標準(諸如,無線通信協定)調變經編碼視訊位元串流資料,且將其傳輸至接收器件。
在一些實例中,編碼器件104可將經編碼視訊位元串流資料儲存於儲存器108中。輸出端110可自編碼器引擎106或自儲存器108擷取經編碼視訊位元串流資料。儲存器108可包括多種分散式或本端存取之資料儲存媒體中之任一者。舉例而言,儲存器108可包括硬碟機、儲存光碟、快閃記憶體、揮發性或非揮發性記憶體或用於儲存經編碼視訊資料之任何其他合適的數位儲存媒體。
解碼器件112之輸入端114接收經編碼視訊位元串流資料,且可將視訊位元串流資料提供至解碼器引擎116,或提供至儲存器118以供稍後由解碼器引擎116使用。解碼器引擎116可藉由熵解碼(例如,使用熵解碼器)及提取組成經編碼視訊資料之一或多個經寫碼視訊序列的元素而解碼經編碼視訊位元串流資料。解碼器引擎116可接著重新按比例調整經編碼視訊位元串流資料且對經編碼視訊位元串流資料執行反變換。殘餘資料接著傳遞至解碼器引擎116之預測級。解碼器引擎116接著預測像素或影像樣本之區塊(例如,PU)。在一些實例中,預測被添加至反變換之輸出(殘餘資料)。
解碼器件112可將經解碼視訊輸出至視訊目的地器件122,視訊目的地器件可包括用於將經解碼視訊資料顯示給內容之消費者的顯示器或其他輸出器件。在一些態樣中,視訊目的地器件122可為包括解碼器件112的接收器件之部分。在一些態樣中,視訊目的地器件122可為不同於接收器件的單獨器件之部分。
在一些實施例中,視訊編碼器件104及/或視訊解碼器件112可分別與音訊編碼器件及音訊解碼器件整合。視訊編碼器件104及/或視訊解碼器件112亦可包括實施上文所描述之寫碼技術所必要的其他硬體或軟體,諸如一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任何組合。視訊編碼器件104及視訊解碼器件112可整合為各別器件中之組合式編碼器/解碼器(編解碼器)之部分。下文參看圖13描述編碼器件104之特定細節的實例。下文參看圖14描述解碼器件112之特定細節的實例。
對HEVC標準之擴展包括多視圖視訊寫碼擴展(被稱作MV-HEVC)及可調式視訊寫碼擴展(被稱作SHVC)。MV-HEVC及SHVC擴展共用分層寫碼之概念,其中不同層包括於經編碼視訊位元串流中。經寫碼視訊序列中之每一層係由唯一層識別符(ID)定址。層ID可存在於NAL單元之標頭中以識別NAL單元所相關聯之層。在MV-HEVC中,不同層可表示視訊位元串流中之同一場景的不同視圖。在SHVC中,提供以不同空間解析度(或圖像解析度)或以不同重建構保真度表示視訊位元串流的不同可調式層。可調式層可包括基礎層(其中層ID=0)及一或多個增強層(其中層ID=1, 2, … n)。基礎層可符合HEVC之第一版本的設定檔,且表示位元串流中之最低可用層。與基礎層相比,增強層具有增加之空間解析度、時間解析度或圖框速率及/或重建構保真度(或品質)。增強層經階層式組織,且可(或可不)取決於較低層。在一些實例中,可使用單一標準編解碼器來寫碼不同層(例如,使用HEVC、SHVC或其他寫碼標準編碼所有層)。在一些實例中,可使用多標準編解碼器來寫碼不同層。舉例而言,可使用AVC來寫碼基礎層,而可使用對HEVC標準之SHVC及/或MV-HEVC擴展來寫碼一或多個增強層。
一般而言,層包括一組VCL NAL單元及對應的一組非VCL NAL單元。NAL單元被指派特定層ID值。在層可取決於較低層的意義上,層可為階層式的。層集合指表示於位元串流內之獨立的層之集合,意謂在解碼程序中層集合內之層可取決於層集合中之其他層,但並不取決於任何其他層來進行解碼。因此,層集合中之層可形成可表示視訊內容之獨立位元串流。可藉由子位元串流提取程序之操作自另一位元串流獲得層集合中之層的集合。層集合可對應於待在解碼器希望根據某些參數操作時被解碼之層集合。
如先前所描述,HEVC位元串流包括NAL單元之群組,包括VCL NAL單元及非VCL NAL單元。VCL NAL單元包括形成經寫碼視訊位元串流之經寫碼圖像資料。舉例而言,形成經寫碼視訊位元串流之位元序列存在於VCL NAL單元中。除了其他資訊以外,非VCL NAL單元亦可含有具有與經編碼視訊位元串流相關之高層級資訊的參數集。舉例而言,參數集可包括視訊參數集(VPS)、序列參數集(SPS)及圖像參數集(PPS)。參數集之目標之實例包括位元速率效率、錯誤復原及提供系統層介面。每一圖塊參考單一作用中PPS、SPS及VPS以存取解碼器件112可用於解碼圖塊之資訊。可針對每一參數集寫碼識別符(ID),包括VPS ID、SPS ID及PPS ID。SPS包括SPS ID及VPS ID。PPS包括PPS ID及SPS ID。每一圖塊標頭包括PPS ID。使用ID,可識別針對給定圖塊之作用中參數集。
PPS包括適用於給定圖像中之所有圖塊的資訊。因此,圖像中之所有圖塊參考同一PPS。不同圖像中之圖塊亦可參考同一PPS。SPS包括適用於同一經寫碼視訊序列(CVS)或位元串流中之所有圖像的資訊。如先前所描述,經寫碼視訊序列為一系列存取單元(AU),其始於在基礎層中且具有某些性質(上文所描述)之隨機存取點圖像(例如,瞬時解碼參考(IDR)圖像或斷鏈存取(BLA)圖像,或其他適當的隨機存取點圖像),直至且不包括具有在基礎層中且具有某些性質之隨機存取點圖像的下一AU (或位元串流之末端)。SPS中之資訊可不在經寫碼視訊序列內在圖像間改變。經寫碼視訊序列中之圖像可使用同一SPS。VPS包括適用於經寫碼視訊序列或位元串流內之所有層的資訊。VPS包括具有適用於全部經寫碼視訊序列之語法元素的語法結構。在一些實施例中,可與經編碼位元串流一起頻帶內傳輸VPS、SPS或PPS。在一些實施例中,可在與含有經寫碼視訊資料之NAL單元分開的傳輸中帶外傳輸VPS、SPS或PPS。
視訊位元串流亦可包括補充增強資訊(SEI)訊息。舉例而言,SEI NAL單元可為視訊位元串流之部分。在一些情況下,SEI訊息可含有解碼程序未必需要的資訊。舉例而言,SEI訊息中之資訊對於解碼器解碼位元串流之視訊圖像可能並不重要,但解碼器可使用資訊以改良圖像之顯示或處理(例如,經解碼輸出)。SEI訊息中之資訊可為嵌入型後設資料。在一個說明性實例中,SEI訊息中之資訊可由解碼器側實體使用以改良內容之可見性。在一些情況下,某些應用標準可強制此類SEI訊息在位元串流中之存在以使得符合應用標準之所有器件可達成品質之改良(例如,用於圖框可相容平面立體3DTV視訊格式之圖框封裝SEI訊息的攜載,其中針對視訊之每一圖框攜載SEI訊息;恢復點SEI訊息之處置;拉移式掃描矩形SEI訊息在DVB中之使用;外加許多其他實例)。
如先前所描述,媒體格式可用於囊封經寫碼視訊。媒體格式之一個實例包括ISO基本媒體檔案格式(ISOBMFF,在ISO/IEC 14496-12中指定,ISO/IEC 14496-12特此以全文引用之方式並出於所有目的而併入)。亦存在自ISOBMFF (ISO/IEC 14496-12)導出之其他媒體檔案格式,包括MPEG-4檔案格式(ISO/IEC 14496-14)、3GPP檔案格式(3GPP TS 26.244)及AVC檔案格式(ISO/IEC 14496-15)。舉例而言,如上文所論述經編碼之視訊位元串流可使用ISOBMFF、自ISOBMFF導出之檔案格式、某其他檔案格式及/或包括ISOBMFF之檔案格式的組合來寫入或封裝至一或多個檔案中。ISOBMFF檔案可使用視訊播放器器件播放,可由編碼器件(或檔案產生器件)傳輸且接著由播放器器件顯示,可經存儲,及/或可以任何其他適合之方式使用。
將ISOBMFF用作用於許多編解碼器囊封格式(諸如,AVC檔案格式,外加其他)以及用於許多多媒體容器格式(諸如,MPEG-4檔案格式、3GPP檔案格式(3GPP)、DVB檔案格式,外加其他)之基礎。連續媒體(例如,音訊及視訊)、靜態媒體(例如,影像)以及後設資料可儲存於符合ISOBMFF之檔案中。根據ISOBMFF結構化之檔案可用於許多用途,包括本端媒體檔案播放、遠端檔案之逐漸下載、用於經由HTTP之動態自適應串流(DASH)之片段、用於待串流之內容及該內容之封包化指令之容器、及接收到之即時媒體串流的記錄、以及其他適合之用途。舉例而言,儘管最初針對儲存而設計,但ISOBMFF已證明用於媒體串流(例如,用於逐漸下載或DASH)極有價值。為了串流目的,可使用在ISOBMFF中定義之電影片段。
ISOBMFF經設計而以靈活且可擴展格式含有計時媒體資訊,該計時媒體資訊促進媒體之互換、管理、編輯及呈現。媒體之呈現可在含有該呈現之系統「本端」,或該呈現可經由網絡或其他串流遞送機制(例如DASH或其他適合之串流機制)。如由ISOBMFF規範所定義的「呈現」可包括與一序列圖像相關的媒體檔案,常常藉由已藉由視訊捕捉器件順序捕捉而相關,或出於某一其他原因而相關。在一些實例中,呈現亦可被稱作電影、視訊呈現或再現。在一些實例中,呈現可包括音訊。單一呈現可含於一或多個檔案中,其中一個檔案含有用於整個呈現之後設資料。後設資料包括資訊,諸如時序及成框資料、描述詞、指標、參數,及描述呈現之其他資訊。後設資料自身並不包括視訊及/或音訊資料。除含有後設資料之檔案以外的檔案無需根據ISOBMFF而格式化,且僅僅需要經格式化以使得此等檔案可藉由後設資料參考。
ISO基本媒體檔案之檔案結構為物件定向式結構,且檔案中之個別物件之結構可直接自物件之類型來推斷。ISOBMFF規範將ISO基本媒體檔案中之物件稱作「邏輯框」。ISO基本媒體檔案建構為可含有其他邏輯框之一系列邏輯框。邏輯框為ISOBMFF中之基本語法結構,包括四字元寫碼邏輯框類型、邏輯框之位元組計數及有效負載。邏輯框可包括提供邏輯框之大小及類型的標頭。大小描述邏輯框之整個大小,包括標頭、欄位及含有於邏輯框內之所有邏輯框。未由播放器器件識別之類型的邏輯框通常被忽略並跳過。
ISOBMFF檔案可含有不同種類之邏輯框。舉例而言,電影邏輯框(「moov」)含有檔案中存在之連續媒體串流的後設資料,其中各媒體串流在檔案中表示為播放軌。將用於播放軌之後設資料圍封於播放軌邏輯框(「trak」)中,而將播放軌之媒體內容圍封於媒體資料邏輯框(「mdat」)中或直接圍封於單獨檔案中。可存在不同種類之追蹤器。舉例而言,ISOBMFF指定以下類型之播放軌:媒體播放軌,其含有基本媒體串流;提示播放軌,其包括媒體傳輸指令或表示接收之封包串流;及計時後設資料播放軌,其包含時間同步之後設資料。
用於播放軌之媒體內容包括一序列樣本,諸如音訊或視訊存取單元或圖框,被稱作媒體樣本。此等媒體樣本與上文所描述的影像樣本區分開,其中影像樣本為像素之個別色彩分量。如本文所使用,術語「媒體樣本」指與單一時間(例如單一時間點、時間範圍或其他時間)相關聯的媒體資料(音訊或視訊)。每一播放軌之後設資料包括樣本描述項之清單,每一項提供在播放軌中使用之寫碼或囊封格式及對於處理彼格式需要之初始化資料。各樣本與播放軌之樣本描述項中之一者相關聯。
ISOBMFF使用各種機制來實現樣本特定後設資料之使用。樣本表邏輯框(「stbl」)內之特定邏輯框已經標準化以回應共同需求。舉例而言,同步樣本邏輯框(「stss」)可用以列舉播放軌之隨機存取樣本。樣本分群機制實現根據四字元分群類型將樣本映射成共用指定為檔案中之樣本群組描述項之同一性質的樣本之群組。已在ISOBMFF中指定若干分群類型。
圖2為說明具有遵循ISO基本媒體檔案格式之實例檔案結構的檔案200之實例的圖式。ISO基本媒體檔案200亦可被稱作媒體格式檔案。媒體呈現可(但未必總是)含於一個檔案中,在此情況下媒體呈現自含於檔案中。檔案200包括電影容器202(或「電影邏輯框」)。電影容器202可含有媒體之後設資料,其可包括例如一或多個視訊播放軌及一或多個音訊播放軌。舉例而言,視訊播放軌210可含有關於視訊之各層的資訊,資訊可存儲於一或多個媒體資訊容器214中。舉例而言,媒體資訊容器214可包括樣本表,樣本表提供關於視訊之視訊樣本的資訊。在各種實施中,視訊資料塊222及音訊資料塊224含於媒體資料容器204中。在一些實施中,視訊資料塊222及音訊資料塊224可含於一或多個其他檔案(除檔案200以外)中。
在各種實施中,呈現(例如運動序列)可含於若干檔案中。所有時序及成框(例如位置及大小)資訊可在ISO基本媒體檔案中,且輔助檔案可基本上使用任何格式。
ISO檔案具有邏輯結構、時間結構及實體結構。不同結構不需要被耦接。檔案之邏輯結構具有又含有一組時間平行播放軌(例如視訊播放軌210)之電影。檔案之時間結構係播放軌在時間上含有樣本之序列,且彼等序列由可選編輯清單映射至整體電影之時刻表中。
檔案之實體結構自媒體資料樣本本身分離對於邏輯、時間及結構分解所需之資料。此結構資訊在電影邏輯框(例如電影容器202)中集中,可能在時間上由電影片段邏輯框擴展。電影邏輯框記錄樣本之邏輯及時序關係,且亦含有樣本定位於何處之指標。指標可指向同一檔案或另一檔案中,該檔案可由例如統一資源定位符(URL)等等參考。
各媒體串流含於對於彼媒體類型專用之播放軌中。舉例而言,在圖2中所說明之實例中,電影容器202包括視訊播放軌210及音訊播放軌216。電影容器202亦可包括提示播放軌218,提示播放軌218可包括來自視訊播放軌210及/或音訊播放軌216之傳輸指令,或可表示關於電影容器202或檔案200之其他電影容器(圖中未示)中之其他播放軌的其他資訊。各播放軌可進一步由樣本項參數化。舉例而言,在所說明實例中,視訊播放軌210包括媒體資訊容器214,媒體資訊容器214包括樣本之表(被稱作「樣本表」)。樣本項含有準確媒體類型(例如對串流進行解碼所需之解碼器的類型)及彼所需解碼器之任何參數化的「名稱」。名稱可呈四字元碼(例如moov、trak或其他合適名稱碼)形式。存在用於各種媒體類型之經定義樣本項格式。樣本項可進一步包括對媒體資料容器204中之邏輯框220中之視訊資料塊(例如視訊資料塊222)的指標。邏輯框220包括交錯時間定序視訊樣本(組織成視訊資料塊,諸如視訊資料塊222)、音訊訊框(例如音訊資料塊224中)及提示指令(例如提示指令塊226中)。
對於後設資料之支援可採取不同形式。在一個實例中,計時後設資料可儲存於適當播放軌中,且可按需要與藉由後設資料描述之媒體資料同步。在第二實例中,存在對於附接至電影或個別播放軌之非計時後設資料的一般支援。結構支援係一般的,且如同該媒體資料,允許在檔案中或另一檔案中之其他處儲存後設資料資源。
在一些情況下,視訊檔案中之一個播放軌可含有多層。視訊播放軌亦可包括播放軌標頭(例如播放軌標頭212),其可含有關於視訊播放軌(例如視訊播放軌210)之內容的一些資訊。舉例而言,播放軌標頭可包括播放軌內容資訊(亦被稱作‘tcon’)邏輯框。tcon邏輯框可列出視訊播放軌中之層及子層的全部。視訊檔案亦可包括操作點資訊邏輯框(亦稱作「oinf」邏輯框)。oinf邏輯框記錄關於操作點之資訊,諸如構成操作點之層及子層、操作點之間的相依性(若存在)、設定檔、等級、操作點之層參數、及其他此類操作點相關資訊。在一些情況下,操作點亦可被稱作操作點。
圖3為說明根據ISOBMFF格式化之ISO基本媒體檔案300之另一實例的圖式。ISO基本媒體檔案300亦可被稱作媒體格式檔案。ISO基本媒體檔案300含有視訊呈現之資料及後設資料。在檔案300之頂部層級處,包括有檔案類型邏輯框310、電影邏輯框320及一或多個片段330a、330b、330c至330n。可在此層級處包括但未在此實例中表示的其他邏輯框包括自由空間邏輯框、後設資料邏輯框及媒體資料邏輯框外加其他。
檔案類型邏輯框310係藉由邏輯框類型「ftyp」識別。檔案類型邏輯框310通常儘可能早地置放於ISO基本媒體檔案300中。檔案類型邏輯框310識別最適合於剖析檔案之ISOBMFF規範。「最」在此情況下意謂,ISO基本媒體檔案300可能已根據特定ISOBMFF規範格式化,但很可能與規範之其他反覆相容。此最合適規範被稱作主流品牌。播放器器件可使用主流品牌來判定器件是否能夠解碼並顯示檔案之內容。檔案類型邏輯框310亦可包括版本號,該版本號可用以指示ISOBMFF規範之版本。檔案類型邏輯框310亦可包括相容品牌之清單,該清單包括檔案相容之其他品牌的清單。ISO基本媒體檔案可與大於一個主流品牌相容。
當ISO基本媒體檔案包括檔案類型邏輯框(如ISO基本媒體檔案300)時,僅存在一個檔案類型邏輯框。在一些情況下,ISO基本媒體檔案可省略檔案類型邏輯框以便與其他早期播放器器件相容。當ISO基本媒體檔案不包括檔案類型邏輯框時,播放器器件可假定預設主流品牌(例如mp41)、次要版本(例如,「0」)及相容品牌(例如,mp41、isom、iso2、avc1或其類似者)。
ISO基本媒體檔案300進一步包括電影邏輯框320,電影邏輯框320含有用於呈現之後設資料。電影邏輯框320由邏輯框類型「moov」識別。ISO/IEC 14496-12規定,含於一個檔案或多個檔案中之呈現可包括僅一個電影邏輯框320。電影邏輯框通常靠近ISO基本媒體檔案之開始(例如如由ISO基本媒體檔案300中之電影邏輯框320的置放指示)。電影邏輯框320包括電影標頭邏輯框322,且可包括一或多個播放軌邏輯框324以及其他邏輯框。
藉由邏輯框類型「mvhd」識別之電影標頭邏輯框322可包括與媒體無關且與作為整體之呈現相關的資訊。舉例而言,電影標頭邏輯框322可包括資訊,諸如產生時間、修改時間、時間標度及/或針對呈現之持續時間外加其他。電影標頭邏輯框322亦可包括識別呈現中之下一播放軌的識別符。舉例而言,在所說明實例中,識別符可指向由電影邏輯框320含有之播放軌邏輯框324。
藉由邏輯框類型「trak」識別之播放軌邏輯框324可含有用於呈現之播放軌的資訊。呈現可包括一或多個播放軌,其中每一播放軌獨立於呈現中之其他播放軌。每一播放軌可包括對於播放軌中之內容特定之時間及空間資訊,且每一播放軌可與媒體邏輯框相關聯。播放軌中之資料可為媒體資料,在此情況下,播放軌為媒體播放軌;或資料可為用於串流協定之封包化資訊,在此情況下,播放軌為提示播放軌。舉例而言,媒體資料包括視訊及音訊資料。在圖3中所示之實例中,實例播放軌邏輯框324包括播放軌標頭邏輯框324a及媒體邏輯框324b。播放軌邏輯框可包括其他邏輯框,諸如播放軌參考邏輯框、播放軌群組邏輯框、編輯邏輯框、使用者資料邏輯框、後設邏輯框等等。
由邏輯框類型「tkhd」識別之播放軌標頭邏輯框324a可指定含於播放軌邏輯框324中之播放軌的特性。舉例而言,播放軌標頭邏輯框324a可包括播放軌之產生時間、修改時間、持續時間、播放軌識別符、層識別符、群組識別符、音量、寬度及/或高度,外加其他。對於媒體播放軌,播放軌標頭邏輯框324a可進一步識別播放軌是否經啟用,播放軌是否應作為呈現之部分而播放,播放軌是否可用以預覽呈現,以及播放軌之其他用途。播放軌之呈現通常假定為處於呈現之開始處。播放軌邏輯框324可包括編輯清單邏輯框(圖中未示),編輯清單邏輯框可包括顯式時刻表圖。時刻表圖可指定播放軌之偏移時間外加其他,其中偏移指示播放軌之在呈現開始之後的開始時間。
在所說明之實例中,播放軌邏輯框324亦包括由邏輯框類型「mdia」識別之媒體邏輯框324b。媒體邏輯框324b可含有物件及關於播放軌中之媒體資料之資訊。舉例而言,媒體框324b可含有處理常式參考邏輯框,其可識別播放軌之媒體類型以及藉以呈現播放軌中之媒體之程序。作為另一實例,媒體邏輯框324b可含有媒體資訊邏輯框,其可指定播放軌中媒體的特性。媒體資訊邏輯框可進一步包括如上文關於圖2所描述之樣本之表,其中各樣本描述包括例如樣本之資料之位置的一塊媒體資料(例如視訊或音訊資料)。樣本之資料儲存於下文進一步論述之媒體資料邏輯框中。如同大部分其他邏輯框一般,媒體邏輯框324b亦可包括媒體標頭邏輯框。
在所說明實例中,實例ISO基本媒體檔案300亦包括呈現之多個片段330a、330b、330c至330n。片段亦可被稱作電影片段。片段(例如在一些情況下其可包括共同媒體應用格式(CMAF)塊)可在時間上擴展呈現。在一些實例中,片段可提供可能已包括於電影邏輯框(「moov」)中的資訊。電影片段(或CMAF塊)可包括至少一電影片段邏輯框(藉由邏輯框類型「moof」識別),繼之以媒體資料邏輯框(藉由邏輯框類型「mdat」識別)。舉例而言,片段330a可包括電影片段(moof)邏輯框332及媒體資料(mdat)邏輯框338,且可藉由包括將另外儲存於電影邏輯框320中的額外資訊而擴展呈現。片段330a、330b、330c至330n並非為ISOBMFF邏輯框,但實際上描述一電影片段邏輯框及藉由該電影片段邏輯框參考的媒體資料邏輯框(例如電影片段邏輯框332及藉由電影片段邏輯框332參考的媒體資料邏輯框338)。電影片段邏輯框332及媒體資料邏輯框338為頂部層級邏輯框,但此處經分群以指示電影片段邏輯框332與媒體資料邏輯框338之間的關係。在使用電影片段邏輯框(例如電影片段邏輯框332)情況下,呈現可經逐漸地建構。
在一些實例中,電影片段邏輯框332可包括電影片段標頭邏輯框334及播放軌片段邏輯框336以及此處未說明之其他邏輯框。藉由邏輯框類型「mfhd」識別之電影片段標頭邏輯框334可包括序號。播放器器件可使用序號來驗證片段330a包括資料之下一段以供呈現。在一些情況下,檔案之內容或用於呈現之檔案可無序地被提供至播放器器件。舉例而言,網路封包可以不同於最初傳輸封包之次序的次序頻繁地到達。在此等情況下,序號可輔助播放器器件判定片段之正確次序。
電影片段邏輯框332亦可包括藉由邏輯框類型「traf」識別之一或多個播放軌片段邏輯框336。電影片段邏輯框332可包括一組播放軌片段(每播放軌零或多個)。播放軌片段可含有零或多個播放軌行程,其中之每一者描述播放軌的樣本之連續行程。除添加樣本至播放軌外,播放軌片段可用以將空的時間添加至播放軌。
藉由邏輯框類型「mdat」識別之媒體資料邏輯框338含有媒體資料。在視訊播放軌中,該媒體資料邏輯框338可含有視訊圖框、存取單元、NAL單元、或其他形式之視訊資料。媒體資料邏輯框可替代地或另外地包括音訊資料。呈現可包括含於一或多個個別檔案中之零或大於零的媒體資料邏輯框。媒體資料藉由後設資料描述。在所說明之實例中,媒體資料邏輯框338中之媒體資料可藉由包括於電影片段邏輯框332之播放軌片段邏輯框336中之後設資料來描述。在其他實例中,媒體資料邏輯框中之媒體資料可藉由電影邏輯框320中之後設資料來描述。後設資料可藉由在檔案300內之絕對偏移參考特定媒體資料,以使得媒體資料標頭及/或媒體資料邏輯框338內之自由空間可被跳過。
ISO基本媒體檔案300中之其他片段330b、330c至330n可含有類似於針對第一片段330a所說明之邏輯框的邏輯框,及/或可含有其他邏輯框。
如上文所提及,ISOBMFF包括經由網絡支援串流媒體資料,以及支援對媒體之本端播放。包括一個電影呈現之檔案可包括稱為提示播放軌之額外播放軌,其含有可輔助串流伺服器形成並傳輸檔案作為封包的指令。舉例而言,此等指令可包括用於伺服器以供發送之資料(例如標頭資訊)或對媒體資料之片段的參考。片段可包括ISO基本媒體檔案格式檔案的一部分,包括電影邏輯框以及相關聯之媒體資料及其他邏輯框(若存在)。片段亦可包括ISO基本媒體檔案格式檔案的一部分,包括一或多個電影片段邏輯框以及相關聯之媒體資料及其他邏輯框(若存在)。檔案可包括用於不同串流協定之單獨提示播放軌。提示播放軌亦可在不需要重新格式化檔案之情況下添加至檔案。
用於串流媒體資料之一種方法為經由超文字傳送協定(HTTP)或DASH (定義於ISO/IEC 23009-1:2014)之動態自適應串流。被稱為MPEG-DASH之DASH為啟用媒體內容使用習知HTTP網頁伺服器之高品質串流的自適應位元速率串流技術。DASH藉由將媒體內容打斷成一系列基於HTTP之小檔案區段來操作,其中每一區段含有短時間間隔之內容。使用DASH,伺服器可以不同位元速率提供媒體內容。正播放媒體之用戶端器件可在下載下一區段時自替代性位元速率做出選擇,且因此適應於改變之網路條件。DASH使用網際網路之HTTP網頁伺服器基礎架構來經由全球資訊網遞送內容。DASH獨立於用以編碼並解碼媒體內容之編解碼器,且因此與諸如H.264及HEVC之編解碼器外加其他一起操作。
如上文所提及,ISO/IEC 14496-12 ISO基本媒體檔案格式(ISOBMFF)指定用於媒體之攜載格式,且在並非大多數情況下用於許多串流應用(包括MPEG DASH)。MPEG DASH及共同媒體應用格式(CMAF)之此等應用亦適合用於低延時串流,其具有將檔案格式相關延遲向下縮減至音訊及視訊之典型樣本持續時間的目標(例如相較於傳統串流中之秒數量級,在幾十毫秒範圍內)。
傳統上,對於即時串流應用,「低延時」用以指秒數量級之封裝延遲。以達成此,媒體檔案可經分段成具有大致1至2秒之持續時間的可個別定址區段。每一區段可例如藉由統一資源定位符(URL)定址。
圖4為說明根據ISOBMFF格式化之ISO基本媒體檔案400之另一實例的圖式。ISO基本媒體檔案400可經分段用於即時串流。ISO基本媒體檔案400經展示為含有兩個實例區段402x及402y。區段402x及402y可為經順序串流之區段,其中區段402y緊接著區段402x。在一實例中,區段402x及402y中之每一者含有單一電影片段,分別展示為片段430x及430y。片段430x及430y可包括各別電影片段(moof)邏輯框432x及432y,以及媒體資料(mdat)邏輯框438x及438y。個別mdat邏輯框438x及438y可各自含有多於一個媒體資料樣本,展示為樣本1至樣本M,分別標記為mdat邏輯框438x中之樣本440xa至440xm及mdat邏輯框438y中之樣本440ya至440ym。mdat邏輯框438x至438y中之樣本1至樣本M可為時間定序視訊樣本(例如組織成視訊資料塊)或音訊圖框。
檔案格式相關延時可與ISO基本媒體檔案400之格式相關聯,其中片段430x及430y中之資料可僅在片段430x及430y之各別資料完全經編碼之後藉由解碼器或播放器器件解碼。由於區段402x及402y中之每一者分別含有單一片段430x及430y,因此用於完全編碼片段430x或430y之延時對應於各別區段402x或402y之持續時間。片段430x及430y之各別moof邏輯框432x及432y含有針對各別片段430x及430y中之全部樣本的持續時間、大小等之信令傳輸。因此,在各別moof邏輯框432x及432y可被完全重寫之前,將在編碼器或封裝器處需要來自全部M個樣本(包括各別片段430x及430y中之最後樣本M (440xm及440ym))之資料。將需要moof邏輯框432x及432y用於藉由解碼器或播放器器件處理或解碼各別片段430x及430y。因此,用於編碼區段402x及402y之整個區段資料的時間可包括用於編碼mdat邏輯框438x至438y中之樣本1至樣本M之全部的持續時間。用於編碼樣本1至樣本M之全部之此持續時間可構成顯著延遲或與區段402x至402y中之每一者相關聯的檔案格式相關延時。此類型延遲可存在於用於按需求播放視訊之典型即時串流實例中及/或其他媒體系統中。
圖5為說明根據ISOBMFF格式化之ISO基本媒體檔案500之另一實例的圖式。ISO基本媒體檔案500可包括相對於圖4之ISO基本媒體檔案400的最佳化。舉例而言,同與編碼上文所論述的mdat邏輯框438x至438y中之樣本1至樣本M之全部相關聯的延時相比,ISO基本媒體檔案500之格式可導致較低延時。
如所示,ISO基本媒體檔案500之格式將每一區段劃分成較大數目個片段(亦稱作區段之「片段化」),使得較少數目樣本在區段之每一片段中,而每一區段中之總樣本數目可相同於或類似於ISO基本媒體檔案400之數目。由於ISO基本媒體檔案500之區段中之樣本的數目可保持與ISO基本媒體檔案400中相同,因此ISO基本媒體檔案500中之區段的片段化不會不利地影響樣本之定址方案。在說明之實例中,區段502x及502y經展示於ISO基本媒體檔案500中。在一些實例中,區段502x及502y可經順序地串流,其中區段502y緊接著區段502x。區段502x及502y可各自包括多個片段,諸如包括於區段502x中之片段530xa至530xm及包括於區段502y中之片段530ya至530ym。此等片段中之每一者可包括電影片段(moof)邏輯框及媒體資料(mdat)邏輯框,其中每一mdat邏輯框可含有單一樣本。舉例而言,片段530xa至530xm各自含有各別moof邏輯框532xa至532xm及mdat邏輯框538xa至538xm,其中mdat邏輯框538xa至538xm中之每一者含有各別樣本540xa至540xm。類似地,片段530ya至530ym各自含有各別moof邏輯框532ya至532ym及mdat邏輯框538ya至538ym,其中mdat邏輯框538ya至538ym中之每一者含有各別樣本540ya至540ym。雖然在mdat邏輯框538xa至538xm及538ya至538ym中之每一者中說明單一樣本,但在一些實例中,有可能mdat邏輯框中之每一者中具有較高數目但仍低數目個樣本(例如每mdat邏輯框1至2個樣本)。
在mdat邏輯框538xa至538xm及538ya至538ym中之每一者中含有低數目個樣本的情況下,與圖4之片段430x至430y相比,可以較低延時或較高速度解碼各別片段530xa至530xm及530ya至530ym。因此,可縮減圖4的檔案格式相關之延時,此係因為每一電影片段可藉由用戶端或播放器器件解碼。舉例而言,完整區段之持續時間的檔案格式相關之延遲經縮減至編碼每一片段中之低數目樣本的延遲。舉例而言,在如區段502x中所示之片段530xa中的單一樣本540xa之所說明情況下,相較於多個樣本之集合持續時間,用於解碼片段530xa之延時可基於單一樣本540xa之持續時間。儘管在區段502x至502y中含有較大數目個片段的情況下可存在用於區段502x至502y之延時的較小增加,但此增加可能對於典型高品質媒體位元速率並不重要。
圖6為說明根據ISOBMFF格式化之ISO基本媒體檔案600之另一實例的圖式。ISO基本媒體檔案600可包括圖5之ISO基本媒體檔案500的變化,其中ISO基本媒體檔案600可含有單一區段602,而非展示於圖5之ISO基本媒體檔案500中的多個區段502x至502y。單一區段602可經片段化以包括多個片段630a至630m,其中每一片段具有各別電影片段(moof)邏輯框632至632m及媒體資料(mdat)邏輯框638a至638m。mdat邏輯框638a至638m可各自具有低數目樣本,諸如單一樣本。舉例而言,樣本640a至640m可各自含於如所示之各別mdat邏輯框638a至638m中。類似於參看圖5所論述之最佳化,圖6的ISO基本媒體檔案600中之片段化亦可實現用於解碼每一片段的低延時,此係因為延時係基於單一樣本(或低數目樣本)之樣本持續時間。
雖然ISO基本媒體檔案600可藉由播放器器件使用以用於呈現習知媒體(諸如音訊或視訊),但存在稀疏媒體所涉及的難題。如將在下文進一步論述,稀疏媒體可包括副標題、交互式圖形,或可在多個片段內保持不變的其他可顯示內容。在呈現橫越多個樣本保持恆定的稀疏媒體時,移除樣本且接著可能提供具有相同內容之另一樣本或許有可能,但因為樣本被移除及被再呈現而亦可導致諸如閃爍之非所要特性。對於包括於樣本(諸如樣本640a至640m)中的此稀疏媒體或稀疏播放軌,相關稀疏後設資料(例如moof邏輯框632至632m、mdat邏輯框638a至638m等)可需要經定製以解決此等難題。舉例而言,可能需要在樣本、區段、片段或檔案之開始處(例如在隨機存取點處)具有再現樣本、區段、片段或檔案直至另外指示為止的一指示。舉例而言,指示604a可識別區段602之開始,指示604b可識別mdat邏輯框638a之開始,指示604c、604d及604e可分別識別片段630b、630c及630m之開始。然而,當前不存在用於提供指示(諸如指示604a至604e或其他)以用於根據ISOBMFF格式化之ISO基本媒體檔案的現有機制
如前所提及,媒體資料亦可使用習知HTTP網頁伺服器使用經由超文字傳送協定(HTTP)之動態自適應串流(DASH)來串流及遞送。舉例而言,有可能每一電影片段或多個電影片段之串接待使用HTTP組塊傳送來遞送。HTTP組塊傳送可允許媒體藉由DASH用戶端器件(例如播放器器件)請求。所請求媒體之區段可在區段完全經編碼之前藉由主機或原點伺服器遞送至DASH用戶端。允許此HTTP組塊傳送可縮減傳送媒體資料中所涉及之延時或端對端延遲。
圖7為說明DASH封裝器700之實例的圖式。DASH封裝器700可經組態用於使用HTTP塊傳送諸如視訊及/或音訊之媒體資料。伺服器或主機器件(例如編碼器)可傳送待由DASH封裝器700封裝的媒體資料,其中DASH封裝器可產生HTTP塊以待傳送至用戶端或播放器器件(例如解碼器)。在圖7中展示可藉由DASH封裝器700自編碼器獲得的各種媒體資料塊。該等塊可經提供為共同媒體應用格式(CMAF)塊。此等CMAF塊可包括CMAF標頭(CH) 706、具有隨機存取之一或多個CMAF初始塊(CIC) 704a、704b以及一或多個CMAF非初始塊(CNC)702a、702b、702c及702d。CIC 704a、704b可包括在區段之開始處含有的媒體資料,且可作為HTTP塊遞送至用戶端。CNC 702a至702d可作為同一區段之HTTP塊遞送。
舉例而言,DASH封裝器700可產生DASH區段720a及720b,每一片段含有根據自編碼器接收到之媒體資料產生的HTTP塊。舉例而言,在DASH區段720a中,HTTP塊722a至722c包括對應於自編碼器接收到之CNC 702a至702b及CIC 704a的CNC 712a至712b及CIC 714a。類似地,在DASH區段720b中,HTTP塊722d至722f包括對應於自編碼器接收到之CNC 702c至702d及CIC 704b的CNC 712c至712d及CIC 714b。媒體呈現描述(MPD) 724可包括一資訊清單(例如可延伸標示語言(XML)文件),該資訊清單包括關於媒體區段、其他資訊用戶端器件可用以在媒體區段之間選擇的其關係(例如媒體區段之次序)及可由用戶端器件需要的其他後設資料之資訊。舉例而言,MPD 724可包括每一媒體區段之位址(例如均一資源位置(URL)或其他類型之位址),且亦可提供用於初始化區段(IS) 726之位址。IS 726可包括初始化用戶端器件上之視訊解碼器所需要的資訊。在一些情況下,IS 726可不呈現。
然而,DASH封裝器700之習知實施較不適用於稀疏播放軌之遞送及呈現可涉及的低延時最佳化。舉例而言,所傳送的HTTP塊之播放軌中的每一樣本可具有相關聯解碼時間。ISOBMFF指定解碼時間經編碼為解碼時間增量。舉例而言,樣本之解碼時間增量可包括相對於先前樣本之解碼時間的變化(例如增加)。此等解碼時間增量可包括於與樣本相關的後設資料中。舉例而言,解碼時間增量可包括於含有樣本的片段之解碼時間至樣本(stts)邏輯框中。解碼時間增量在ISOBMFF規範(例如ISO/IEC 14496-12)之子條款8.6.1.2.1中指定為:
DT(n+1) = DT(n) + STTS(n) 等式(1)
其中DT(n)為當前樣本「n」之解碼時間且STTS(n)包括待加入DT(n)以獲得下一樣本「n+1」之解碼時間DT(n+1)的解碼時間增量。
因此,經解碼時間增量可用以傳達當前樣本與下一樣本之間的解碼時間差至播放器器件。然而,能夠編碼當前樣本n中之解碼時間增量STTS(n)要求在編碼當前樣本時知曉後續樣本之解碼時間DT(n+1),以便判定相對於當前樣本之解碼時間DT(n)的解碼時間增量STTS(n)。雖然有可能知曉或判定典型媒體內容之後續樣本之解碼時間,但稀疏媒體播放軌就此而言提出難題。
舉例而言,返回參看圖6,當前樣本可例如為片段630a之樣本640a,其中片段630a可為當前片段。下一樣本可為後續片段630b中之樣本640b。對於典型媒體內容(諸如典型視訊及/或音訊檔案),樣本之持續時間係恆定的及/或已知的及/或可判定的。若樣本640a之持續時間係已知的且片段630a之解碼時間係已知的,則片段630b及其中所含有的樣本640b之解碼時間可經估計或可判定。因此,有可能獲得樣本640a與樣本640b之間的解碼時間增量並編碼樣本640a (或片段630a之後設資料)之解碼時間增量。然而,對於稀疏內容,知曉樣本640a之持續時間及/或解碼時間增量係不可判定的,如下文將參看圖8進一步論述。
圖8為說明媒體呈現800之實例的圖式。媒體呈現800可呈現於播放器器件中,其中自然場景之視訊分量再現於播放器器件上。媒體呈現800亦可包括音訊分量,即使其尚未被說明。媒體呈現800亦可包括稀疏內容,諸如公司標識802及副標題804。其他類型之稀疏內容可包括交互式圖形、音訊內容(諸如在不同持續時間內發聲的報警或警報)外加其他。對媒體呈現800中之典型媒體資料的參考不包括稀疏內容。舉例而言,典型媒體資料可包括與正被呈現之景物相關的視訊及/或音訊,而非公司標識802或副標題804。在一些實例中,稀疏內容可上覆於媒體資料上,但此並不係必要的。
媒體呈現800中之媒體資料及稀疏內容可在一些實例中以ISO基本媒體檔案格式提供至播放器器件。在一些實例中,媒體資料可藉由DASH封裝器封裝並作為HTTP塊遞送至播放器器件。在一些實例中,媒體資料可經編碼在樣本中,諸如在圖4至圖6的ISO基本媒體檔案400、500、600中。舉例而言,媒體資料可經編碼於區段中並經進一步片段化,其中每一片段包括一或多個樣本。對於含有音訊及/或視訊內容之典型媒體資料,如上文所提及,即使每一樣本之內容可改變,每一樣本之持續時間仍可係恆定的。
然而,對於稀疏內容,資料可在不同持續時間內保持相同。舉例而言,在音訊播放軌中可存在靜音之不確定的空隙或週期。在另一實例中,可能不需要更新某一稀疏內容(諸如交互式內容),其中交互式螢幕可在可變時間段內保持靜態。在又一實例中,可能不需要自一個片段至下一片段更新稀疏內容(諸如副標題804)。因此,對於此稀疏內容,在編碼當前片段時知曉隨後片段之第一樣本的解碼時間係一難題。
為解決與遞送稀疏內容之低延時呈現相關聯的問題,可能需要將播放器器件將保持呈現樣本中之稀疏內容直至播放器器件接收到新的樣本為止的一指示提供至播放器器件。然而,當前不存在ISOBMFF標準中之已知機制以將播放器器件將無限期地呈現樣本傳達至播放器器件。在樣本持續時間不包括於樣本之後設資料中的情況下,播放器器件將在解碼樣本時不知曉呈現樣本多久。若在解碼樣本時假定所估計樣本持續時間,則有可能所估計樣本持續時間可在接收到新的樣本之前仍流逝。舉例而言,在呈現副標題804之情況下,若當前樣本及新的樣本包括相同副標題804,則播放器器件可在所估計樣本持續時間流逝時停止呈現副標題804,且接著可在接收到新的樣本時可能恢復呈現相同副標題804。此可導致閃爍及不必要處理負載。另一方面,所估計樣本持續時間亦可太長,使得誤差出現在比所需要時間更長的時間內呈現樣本時。當前亦不存在在樣本已經解碼之後指示播放器器件縮減樣本持續時間的已知機制。
解決此難題之一種方法涉及輪詢機制之使用,其中時間之解析度可根據正被呈現之媒體的類型而定義。舉例而言,時間解析度可對於諸如交互式內容之稀疏內容設定為100毫秒(ms)。當不存在用於待呈現之交互式內容的資料時,空樣本可在靜音週期期間以每100 ms一個樣本的頻率被發送。然而,存在以按此方式編碼的ISO基本媒體格式檔案之檔案格式引發的顯著額外負擔。舉例而言,在大時間段內,編碼沒有資料之樣本及傳輸此等空樣本以用於在播放器器件處呈現可出現相關聯成本。另外,高品質內容可對較高準確度或較高再新(或更新)速率提出要求,此意謂對於諸如副標題之稀疏內容,時間解析度可需要經設定為低得多的值以達成所需使用者體驗。另外,基於較大時間解析度之較低更新速率可導致低準確度呈現,從而引起不良使用者體驗。
另一方法可包括設定下一片段中之時間,該時間可對應於累積解碼時間。此累積解碼時間可設定於下一片段之baseMediaDecodeTime中,其中baseMediaDecodeTime可包括於ISO基本媒體格式檔案之後設資料中。計算當前片段中之樣本的持續時間之總和。若設定在下一片段之baseMediaDecodeTime中的累積解碼時間超過當前片段中之樣本的持續時間之總和,則當前片段之最後樣本的持續時間經擴展。當前片段之最後樣本的持續時間之擴展經設計以使當前片段中之樣本的持續時間之總和等於設定於下一片段之baseMediaDecodeTime中的累積解碼時間。因此,有可能在尚未知曉下一片段之解碼時間時擴展當前片段之時間。
在一些實例中,設定下一片段之baseMediaDecodeTime中的累積解碼時間可包括將下一片段之樣本的持續時間設定為一標稱值(例如包括於樣本中之播放軌的典型樣本持續時間)。舉例而言,對於視訊播放軌,此樣本持續時間可基於視訊播放軌之圖框速率而判定。隨後,當彼樣本之實際樣本持續時間變得已知時(例如當下一樣本到達時),持續時間藉由使用包括於baseMediaDecodeTime邏輯框中之信令傳輸而更新。
然而,根據此方法,可在不知曉下一片段之解碼時間的情況下編碼當前片段。由於播放器器件或解碼器在解碼當前片段中之樣本時不具有關於下一片段之解碼時間的資訊,因此播放器器件可在樣本之持續時間已流逝之後停止呈現當前片段中之樣本。ISOBMFF規範當前不解決此問題。另外,此方法亦可在遭遇用以縮減當前正被呈現的樣本之持續時間的信令傳輸機制缺乏的處境。
本文中描述為上文所描述之問題提供解決方案的系統及方法。舉例而言,先前樣本之樣本持續時間可基於當前樣本中提供之指示或信令傳輸而擴展或縮減。當前樣本可包括當前正被處理之樣本,且先前樣本可包括在當前樣本之前接收、解碼及/或呈現的樣本。先前樣本可包括未知持續時間之稀疏內容。包括先前樣本之先前片段可包括先前樣本之樣本持續時間,其中樣本持續時間經設定為合理的估計值。先前樣本可包括未知持續時間之稀疏播放軌。在一些實例中,合理的估計值可基於稀疏內容之類型而導出。
在一些情況下,合理的估計值可基於關於稀疏內容之類型之持續時間的經驗或統計資訊。在一些實例中,合理的估計值可包括標稱估計值(例如包括於樣本中的播放軌之典型樣本持續時間)。舉例而言,對於視訊播放軌,此樣本持續時間可基於視訊播放軌之圖框速率而判定。隨後,當彼樣本之實際樣本持續時間變得已知時(例如當下一樣本到達時),估計值可藉由使用信令傳輸(諸如包括於baseMediaDecodeTime邏輯框中的信令傳輸)而更新。舉例而言,在封裝樣本之後,當準確樣本持續時間變得已知時(例如當下一樣本到達時),封裝器可包括用以縮減經發信樣本持續時間或擴展經發信樣本持續時間的信令傳輸。
舉例而言,一旦解碼當前樣本,則可獲得經修改持續時間,其可包括用於擴展或縮減先前樣本之樣本持續時間的信令傳輸。舉例而言,若在當前時間執行個體處解碼包括當前樣本之當前片段,則可自當前片段獲得經修改持續時間。經修改持續時間可指示先前樣本之呈現將相對於當前時間執行個體擴展或縮減的持續時間。至少一個媒體樣本可基於經修改持續時間在持續時間內藉由播放器器件呈現。舉例而言,呈現至少一個媒體樣本可包括在經擴展持續時間內呈現先前媒體樣本或呈現在當前時間執行個體處開始的新媒體樣本。在一些實例中,呈現至少一個媒體樣本可包括縮減用於呈現先前媒體樣本之樣本持續時間。
圖9為說明根據ISOBMFF格式化之ISO基本媒體檔案900之實例的圖式。實例ISO基本媒體檔案900可包括諸如片段910a至910d之多個片段。片段910a至910d可藉由主機器件編碼並藉由播放器器件解碼及呈現。在一些實例中,片段910a至910d可不為ISOBMFF邏輯框,但實際上分別描述電影片段(moof)邏輯框902a至902d及藉由moof邏輯框902a至902d參考的媒體資料(mdat)邏輯框906a至906d。
moof邏輯框902a至902d可擴展一呈現,使得該呈現可被逐漸地建構。moof邏輯框902a至902d可各自包括額外欄位,諸如電影片段標頭邏輯框、播放軌片段邏輯框以及此處未說明之其他邏輯框。moof邏輯框902a至902d經展示以包括各別時間邏輯框904a至904d。時間邏輯框904a至904d可各自含有關於絕對時間、相對時間、持續時間等的一或多個時間結構或值。
在一個實例中,時間邏輯框904a至904d中之一或多者可含有一TimeToSampleBox。在一些實例中,TimeToSampleBox可包括樣本持續時間。樣本持續時間為TimeToSampleBox中之持續時間(亦稱作「增量」)。播放軌之樣本持續時間可指播放軌中之樣本之持續時間。播放軌可包括按解碼次序之一序列樣本。每一樣本可具有藉由將先前樣本之持續時間(如藉由電影片段中之TimeToSampleBox或等效欄位中之值給定)加入至先前樣本之解碼時間而計算的解碼時間。播放軌或片段中之第一樣本的解碼時間可定義為在時間零處。此形成播放軌之解碼時刻表。在一些實例中,片段中之樣本的樣本持續時間可基於含於後續片段中之修改資訊而修改。舉例而言,修改資訊可自含於後續片段中之播放軌片段解碼時間(tfdt)獲得。
在一些實例中,時間邏輯框904a至904d中之一或多者亦可含有具有一或多個tfdt值之tfdt邏輯框。可用於信令傳輸修改資訊之實例tfdt值可包括絕對解碼時間或baseMediaDecodeTime。baseMediaDecodeTime為等於媒體中之全部較早樣本的解碼持續時間之總和的整數,以媒體之時間標度表達。在一些實例中,tfdt邏輯框可包括播放軌片段中之按解碼次序的第一樣本之在解碼時刻表上量測的絕對解碼時間。舉例而言,當在檔案中執行隨機存取時,絕對解碼時間可係適用的。舉例而言,在隨機存取之情況下,若已知絕對解碼時間,則對先前片段中之全部先前樣本的樣本持續時間進行求和以找到片段中之第一樣本之解碼時間並不係必需的。在片段含有單一樣本之實例中,baseMediaDecodeTime或藉由tfdt提供的絕對解碼時間可提供樣本之解碼時間。在一些實例中,時間邏輯框904a至904d中之一或多者可包括TrackFragmentBaseMediaDecodeTimeBox,其中tfdt邏輯框可呈現於TrackFragmentBaseMediaDecodeTimeBox之TrackFragmentBox容器內。
mdat邏輯框906a至906d可含有例如包括於各別樣本908a至908d中的媒體資料。在視訊播放軌中,媒體資料可包括視訊圖框、存取單元、NAL單元及/或其他形式之視訊資料。媒體可替代地或另外地包括音訊資料。呈現可包括含於一或多個個別檔案中之零或大於零的媒體資料邏輯框。在一些實例中,樣本908a至908d中之一或多者中的媒體資料可包括稀疏資料,諸如公司標識802、副標題804,及/或任何其他類型之稀疏內容。
儘管未說明,但ISO基本媒體檔案900可包括一或多個區段,每一區段具有一或多個片段。片段中之每一者可包括單一媒體樣本,或在一些情況下,具有已知持續時間之多於一個樣本可在每一片段之前。在所示之實例中,片段910a至910d經說明為每片段具有單一樣本。每一片段具有moof邏輯框902a至902d及mdat邏輯框906a至906d中之一各別者(例如片段910a具有mdat邏輯框906a及moof邏輯框902a,片段910b具有mdat邏輯框906b及moof邏輯框902b,等)。片段910a至910d可分別在時間t1至t4藉由播放器器件解碼(例如片段910a可在時間t1經解碼,片段910b可在時間t2經解碼,等)。
在一實例中,具有樣本908a之在時間t1解碼的片段910a可包括諸如典型媒體資料(與正被呈現之景物相關的視訊及/或音訊)之媒體資料或稀疏資料。在一實例中,樣本908a之樣本持續時間可經修改或可保持未經修改。類似地,在時間t4解碼的具有樣本908d之片段910d可包括諸如典型媒體資料之媒體資料或稀疏資料。在一實例中,樣本1008a之樣本持續時間可經修改或可保持未經修改。樣本908a及908d之呈現可基於樣本持續時間或自各別時間邏輯框904a及908d獲得的其他時間資訊。
在一實例中,在時間t2解碼的樣本908b之持續時間可經修改。出於說明實例態樣起見,片段910b可被稱作先前片段,且其中之樣本908b可被稱作先前樣本。樣本908b可包括稀疏資料,諸如與副標題相關聯的資料、交互式圖形(例如標識)或其他稀疏資料。
根據一實例態樣,片段910b可具有與樣本908b相關聯之樣本持續時間。此樣本持續時間可基於估計值設定為合理的持續時間。合理持續時間之估計值可係基於稀疏資料之類型及/或其他因素。可能需要根據需要修改呈現樣本908b之持續時間。在一個實例中,動態需要可在先前片段(片段910b)之解碼時間t2之後出現以縮減用於內容插入之片段持續時間。舉例而言,需要可在時間t2之後的時間t3處出現以插入第三方內容(例如廣告、產品資訊或其他資料)。若樣本持續時間(設定為合理的持續時間)大於t3-t2 (在此情況下先前樣本之呈現可擴展超過時間t3),則樣本先前樣本之持續時間可縮減。舉例而言,先前樣本之樣本持續時間之縮減可防止先前樣本呈現超過時間t3。
如上文所提及,先前樣本(樣本908b)之樣本持續時間可經修改以縮減樣本持續時間。在一個說明性實例中,為縮減經發信樣本持續時間(例如在先前樣本之時間邏輯框904b中),新的片段可具備修改資訊。舉例而言,新的片段可包括具有t3之解碼時間之片段910c。片段910c被稱作當前片段以說明實例態樣。當前片段(片段910c)可包括時間邏輯框910c中之當前時間分量。
在一個說明性實例中,當前時間分量可為包括藉由baseMediaDecodeTime欄位發信之更新解碼時間或經修改解碼時間的tfdt。在一實例中,用於當前片段(片段910c)之tfdt可經編碼或設定為t3。在一些實例中,片段910c不必包括樣本。mdat邏輯框906c及其中所含有的樣本908c係以虛線邏輯框展示以指示片段910c中之其內含物為可選的。若片段910c不含有任何樣本資料,則片段910c可被稱作空片段。不管樣本資料是否呈現於當前片段(片段910c)中,解碼器或播放器器件可基於tfdt值t3修改先前樣本之樣本持續時間。舉例而言,播放器器件可將先前樣本(樣本910b)之樣本持續時間自合理持續時間(其經設定為時間t2)更新至經修改持續時間。在一些情況下,經修改持續時間可對應於t3-t2。因此,經修改持續時間可自擴展超過t3而縮減先前樣本之樣本持續時間。
在一些實例中,亦可存在擴展先前樣本之樣本持續時間的需要。如將參看圖10進一步解釋,經修改持續時間可在後續片段(或當前片段)中發信以擴展先前樣本之持續時間。在一些實例中,當前片段可包括含於先前樣本中之相同資料以影響擴展。因此,當前片段可包括被稱作攜載與先前樣本相同資料之冗餘樣本的當前樣本。當前片段可包括具有設定為1之sample_has_redundancy的欄位或邏輯框,或可包括指示當前樣本為冗餘樣本的任何其他合適之值或機制。當前片段可在先前樣本將經擴展之時間執行個體處發送。舉例而言,當封裝器(例如DASH封裝器700)需要開始並發送新的片段但不存在待發送之新的樣本時此性質之擴展可係所需的。
圖10為說明根據ISOBMFF格式化之ISO基本媒體檔案1000之實例的圖式。ISO基本媒體檔案1000在一些態樣中類似於圖9之ISO基本媒體檔案900,且因而以下論述將更集中於ISO基本媒體檔案1000與ISO基本媒體檔案900的區別。ISO基本媒體檔案1000亦可包括分別藉由電影片段(moof)邏輯框1002a至1002d及藉由moof邏輯框1002a至1002d參考之媒體資料(mdat)邏輯框1006a至1006d描述的諸如片段1010a至1010d之多個片段。
moof邏輯框1002a至1002d經展示以包括各別時間邏輯框1004a至1004d。時間邏輯框1004a至1004d可各自含有關於絕對時間、相對時間、持續時間等的一或多個時間結構或值。在一些實例中,時間邏輯框1004a至1004d中之一或多者可含有一樣本持續時間。在一些實例中,時間邏輯框1004a至1004d中之一或多者亦可含有具有一或多個tfdt值之tfdt邏輯框。可用於信令傳輸修改資訊之實例tfdt值可包括絕對解碼時間或baseMediaDecodeTime。
mdat邏輯框1006a至1006d可含有例如包括於各別樣本1008a至1008d中的媒體資料。在一些實例中,樣本1008a至1008d中之一或多者中的媒體資料可包括稀疏資料,諸如來自圖8之公司標識802及/或副標題804,及/或任何其他類型之稀疏內容。
儘管未說明,但ISO基本媒體檔案1000可包括一或多個區段,每一區段具有一或多個片段。在所示之實例中,說明片段1010a至1010d,每一片段具有moof邏輯框1002a至1002d及mdat邏輯框1006a至1006d中之一各別者。片段1010a至1010d可分別在時間t1至t4藉由播放器器件解碼。
在一實例中,具有樣本1008a之在時間t1解碼的片段1010a可包括諸如典型媒體資料(與正被呈現之景物相關的視訊及/或音訊)之媒體資料或稀疏資料。在一實例中,樣本1008a之樣本持續時間可經修改或可保持未經修改。樣本1008a之呈現可係基於樣本持續時間或自時間邏輯框1004a獲得之其他時間資訊。
在一實例中,在時間t2解碼的樣本1008b之持續時間可經修改。出於說明實例態樣起見,片段1010b可被稱作先前片段,且其中之樣本1008b可被稱作先前樣本。樣本1008b可包括稀疏資料。
根據一實例態樣,片段1010b可具有與樣本1008b相關聯之樣本持續時間。此樣本持續時間可基於估計值設定為合理的持續時間。合理持續時間之估計值可係基於稀疏資料之類型及/或其他因素。在一實例中,合理估計值可包括自時間t2擴展直至隨後時間t3為止之持續時間。可能需要根據需要修改呈現樣本1008b之持續時間。在一實例中,樣本1008b之樣本持續時間可經修改以自時間t3擴展至在時間t3之後的時間t4。舉例而言,如先前所提及,當待發送之後續新的片段又不具有樣本資料時,封裝器(例如DASH封裝器700)可需要含於先前片段中的先前樣本之持續時間的此擴展。以此方式擴展先前片段之持續時間可允許連續流被維持直至新的區段之資料變得可用為止。在一實例中,先前樣本(樣本1008b)之樣本持續時間可如下文所描述而修改。
在一個說明性實例中,先前樣本(樣本1008b)之樣本持續時間可經修改以增加樣本持續時間。舉例而言,為增加先前樣本之樣本持續時間以擴展經過時間t3,新的片段可具備修改資訊。在一實例中,新的片段可包括具有t3之解碼時間之片段1010c。片段1010c被稱作當前片段以說明其中片段1010c當前正被處理之實例態樣。如先前所提及,當前片段(片段1010c)亦可包括一冗餘樣本,該冗餘樣本之樣本資料匹配或重複先前樣本(樣本1010b)中之資料。當前片段(片段1010c)亦可包括具有設定為1之sample_has_redundancy的欄位或邏輯框(圖中未示),或可包括指示當前樣本為冗餘樣本的任何其他合適之值或機制。
當前片段(片段1010c)亦可包括時間邏輯框1010c中之當前時間分量。在一實例中,當前時間分量可為包括藉由baseMediaDecodeTime欄位發信之更新解碼時間或經修改解碼時間的tfdt。在一實例中,用於當前片段(片段1010c)之tfdt可設定為t4。
在時間t3處,播放器器件或解碼器可出於解碼及呈現之目的基於例如設定為1之sample_has_redundancy欄位而忽略冗餘樣本(樣本1010c)。播放器器件或解碼器亦可將先前樣本之樣本持續時間自初始值或設定為t3-t2之合理估計值擴展至經擴展持續時間。經擴展持續時間可包括自時間t3至時間t4之含於當前片段1010c之tfdt欄位中的持續時間。基於擴展,先前樣本之持續時間因此可經修改至t4-t2。冗餘樣本及出於解碼及呈現之目的而忽略冗餘樣本之播放器器件的使用可允許先前樣本之連續不間斷的呈現。
在一些實例中,另一播放器器件可在時間t2之後的時間t3處開始接收樣本。基於在時間t3處接收的片段1010c,此其他播放器器件亦可自時間t3至時間t4解碼並呈現含於片段1010c中之樣本。舉例而言,此其他播放器器件可忽略設定為1之sample_has_redundancy欄位,此係因為此其他播放器器件在時間t3之前未接收樣本,且因此未接收先前樣本(樣本1008b)。然而,由於樣本1008c中之資料與樣本1008b中之資料相同,因此其他播放器器件可在時間t3解碼樣本1008c,且自t3至t4在擴展持續時間內呈現樣本1008c (與先前樣本相同)。
在一些情況下,例外值可用於稀疏內容之低延時呈現。舉例而言,例外值可經定義用於含有稀疏內容或其樣本持續時間係未知的內容的媒體樣本之樣本持續時間。例外值可包括於包括此等媒體樣本之片段中。一旦此例外值恰好為任一媒體樣本之樣本持續時間,則解碼器或播放器器件可呈現媒體樣本直至下一媒體樣本之呈現時間為止。例外值之一個實例可為0。例外值之另一實例可全部為1。
下一媒體樣本之絕對解碼時間可接著使用媒體解碼時間邏輯框(例如使用tftd邏輯框或使用其baseMediaDecodeTime值)發信。下一媒體樣本之呈現時間可基於組成偏移,其中組成偏移可包括解碼至呈現時間之逐樣本映射。在一些情況下,組成偏移可在組成時間至樣本邏輯框(「ctts」)中提供。
另外,需要提供在檔案或表示之末端發信再現之終止及媒體項(例如電影、節目或其他媒體項)之結束的能力。發信呈現之終止及媒體項之結束可使用又一個例外來實施。此例外可被稱作檔案結束例外。在一個說明性實例中,此例外可藉由發送具有樣本持續時間(例如具有僅僅樣本持續時間)之moof及將樣本持續時間設定為0來實施以便發信此為媒體檔案之結束。舉例而言,檔案結束例外可指示樣本為媒體檔案之結束。
在區段結束處,呈現稀疏內容可能甚至更困難,此係由於需要區段邊界避免引起樣本持續時間結束。另一例外信號可經提供,亦即發信區段之結束,但呈現區段之樣本將僅當呈現之終止被再次取消的指令不立即遵循時才停止。此例外可被稱作區段結束例外。
圖11為說明如本文所描述之處理媒體內容的程序1100之實例的流程圖。在一些實例中,程序1100可在解碼器(例如圖1或圖14之解碼器件112)或播放器器件(例如視訊目的地器件122)處執行。
在1102處,程序1100包括在當前時間執行個體處獲得包含至少一當前時間分量之當前片段。舉例而言,在時間t3處,圖9之片段910c可藉由播放器器件獲得,其中片段910c可包括時間904c。在另一實例中,圖10之片段1010c可藉由播放器器件獲得,其中片段1010c可包括時間1004c。
在1104處,程序1100包括自該當前時間分量,判定針對至少一個媒體樣本之一經修改持續時間,該經修改持續時間指示一先前片段之一先前媒體樣本的一呈現將相對於該當前時間執行個體擴展或縮減的一持續時間。在一些實例中,先前片段可包括用於呈現先前媒體樣本之一樣本持續時間,其中該樣本持續時間可已經設定為預定合理的持續時間。
舉例而言,播放器器件可自baseMediaDecodeTime判定或解碼含於時間904c中之tftd欄位中的時間(時間t3)。時間t3可對應於當前時間執行個體。播放器器件可判定含於先前片段(片段910b)中的先前媒體樣本(樣本908b)之樣本持續時間將相對於當前時間執行個體縮減。舉例而言,如先前片段910b之時間邏輯框904b中的樣本持續時間欄位中所指示,樣本908b之樣本持續時間可擴展經過時間t3。基於含於當前時間分量中的時間t3,播放器器件可判定指示先前樣本之樣本持續時間將縮減持續時間的一經修改持續時間。經修改持續時間可包括自擴展過去時間t3縮減樣本持續時間,以使先前樣本之樣本持續時間為t3-t2。
在一些實例中,當前片段可為不具有媒體樣本資料之空片段。舉例而言,片段910c可不包括圖9中展示為可選欄位的mdat邏輯框906c或樣本908c。
在另一實例中,播放器器件可自baseMediaDecodeTime判定或解碼含於時間1004c中之tftd欄位中的時間(時間t4)。播放器器件可判定含於先前片段(片段1010b)中的先前媒體樣本(樣本1008b)之樣本持續時間將相對於當前時間執行個體t3擴展。舉例而言,如先前片段1010b之時間邏輯框1004b中的樣本持續時間欄位中所指示,樣本1008b之樣本持續時間可擴展經過時間t3至時間t4。基於含於當前時間分量中的時間t4,播放器器件可判定指示先前樣本之樣本持續時間將擴展持續時間的一經修改持續時間。經修改持續時間可包括自時間t3擴展樣本持續時間至時間t4,以使先前樣本之樣本持續時間為t4-t2。
在一些實例中,當前片段可包括一冗餘媒體樣本,其中該冗餘媒體樣本匹配先前媒體樣本。舉例而言,樣本1008c可匹配或含有與圖10中之樣本1008b相同的樣本資料。此外,在一些實例中,當前片段可包括一冗餘媒體樣本欄位,該冗餘媒體樣本欄位用於提供該冗餘媒體樣本之一指示。舉例而言,片段1010c可包括諸如sample_has_redundancy之欄位,sample_has_redundancy之值經設定為1以指示樣本1008c為冗餘樣本。
在1106處,程序1100包括基於該經修改持續時間在一持續時間內呈現該至少一個媒體樣本。舉例而言,播放器器件可在自樣本持續時間縮減一縮減持續時間之一持續時間內呈現樣本908b。舉例而言,播放器器件可在持續時間t3-t2內呈現樣本908b。在另一實例中,播放器器件可在自樣本持續時間擴展一擴展持續時間之持續時間內呈現樣本1008b。舉例而言,播放器器件可在持續時間t4-t2內呈現樣本1008b。在一些實例中,播放器器件可在擴展持續時間t4-t3內呈現在當前時間執行個體t3處開始的新的媒體樣本。
在一些實例中,藉由播放器器件呈現之至少一個媒體樣本可包括稀疏內容,其中用於呈現稀疏內容之持續時間在先前片段經解碼時之先前時間執行個體處係未知的。舉例而言,樣本908b及/或1008b可包括稀疏內容,諸如圖8中展示的公司標識802或副標題804。用於呈現稀疏內容之持續時間可在片段910b或1010b經解碼的先前時間執行個體t2處並不由播放器器件知曉。
圖12為說明如本文所描述的提供媒體內容之程序1200之實例的流程圖。在一些實例中,程序1200可在編碼器(例如圖1或圖13之解碼器件104)處執行。
在1202處,程序1200包括在一先前時間執行個體處提供包含一先前媒體樣本之一先前片段,其中用於呈現該先前媒體樣本之一持續時間在該先前時間執行個體處係未知的。
舉例而言,在圖9中展示的時間執行個體t2處,包括樣本908b之片段910b可經提供至解碼器或播放器器件。在時間執行個體t2處,用於呈現樣本908b之持續時間可係未知的。樣本908b可包括稀疏內容且持續時間可在時間執行個體t2處經設定為用於稀疏內容之合理的持續時間。
類似地,在另一實例中,在圖10中展示之時間執行個體t2處,包括樣本908b之片段1010b可經提供至解碼器或播放器器件。在時間執行個體t2處,用於呈現樣本1008b之持續時間可係未知的。樣本1008b可包括稀疏內容且持續時間可在時間執行個體t2處設定為用於稀疏內容之合理的持續時間。
在1204處,程序1200包括在一當前時間執行個體處提供包含至少一當前時間分量之一當前片段,其中該當前時間分量包括針對該先前媒體樣本之一經修改持續時間,該經修改持續時間指示該先前媒體樣本之一呈現將相對於該當前時間執行個體擴展或縮減的一持續時間。
舉例而言,在圖9中展示的時間執行個體t3處,包括時間邏輯框904c之片段910c可經提供至解碼器或播放器器件。時間邏輯框904c可包括時間t3,時間t3可指示用於呈現樣本908b之時間將縮減至不擴展超過時間執行個體t3之一持續時間。
在另一實例中,在圖10中展示之時間執行個體t3處,包括時間邏輯框1004c之片段1010c可經提供至解碼器或播放器器件。時間邏輯框1004c可包括時間t4,時間t4可指示用於呈現樣本1008b之時間將擴展至擴展超過時間執行個體t3至時間執行個體t4的持續時間。
在一些實施中,本文中所描述的程序(或方法)可藉由計算器件或裝置(諸如圖1中展示之系統100)執行。舉例而言,程序可藉由圖1及圖13中展示之編碼器件104、藉由另一視訊源側器件或視訊傳輸器件、藉由圖1及圖14中展示之解碼器件112及/或藉由另一用戶端側器件(諸如播放器器件、顯示器或任何其他用戶端側器件)執行。在一些情況下,計算器件或裝置可包括處理器、微處理器、微電腦,或經組態以實施本文中所描述的程序之步驟的器件之其他組件。在一些實例中,計算器件或裝置可包括經組態以捕捉包括視訊圖框之視訊資料(例如,視訊序列)的攝影機。在一些實例中,捕捉視訊資料之攝影機或其他捕捉器件與計算器件分離,在此情況下,計算器件接收或獲得所捕捉視訊資料。計算器件可進一步包括經組態以傳達視訊資料之網路介面。網路介面可經組態以傳達基於網際網路協定(IP)之資料或其他類型之資料。在一些實例中,計算器件或裝置可包括用於顯示輸出視訊內容(諸如,視訊位元串流之圖像的樣本)之顯示器。
計算器件之組件(例如一或多個處理器、一或多個微處理器、一或多個微電腦及/或其他組件)可實施於電路中。舉例而言,組件可包括電子電路或其他電子硬體及/或可使用電子電路或其他電子硬體實施(電子電路或其他電子硬體可包括一或多個可程式化電子電路(例如微處理器、圖形處理單元(GPU)、數位信號處理器(DSP)、中央處理單元(CPU)及/或其他合適之電子電路)),及/或可包括電腦軟體、韌體或其任何組合及/或使用電腦軟體、韌體或其任何組合實施,以執行本文中所描述的各種操作。
程序可關於邏輯流程圖描述,其操作表示可在硬體、電腦指令或其組合中實施的操作之序列。在電腦指令之上下文中,操作表示儲存於一或多個電腦可讀儲存媒體上當藉由一或多個處理器執行時執行所敍述之操作的電腦可執行指令。通常,電腦可執行指令包括執行特定功能或實施特定資料類型之常式、程式、物件、組件、資料結構及其類似者。描述操作之次序並不意欲被理解為限制,且任何數目個經描述操作可按任何次序及/或與實施程序並行地組合。
另外,程序可在經組態有可執行指令之一或多個電腦系統之控制下執行,且可被實施為共同在一或多個處理器上實行之程式碼(例如,可執行指令、一或多個電腦程式或一或多個應用程式)、藉由硬體實施或其組合。如上文所提及,程式碼可儲存於電腦可讀或機器可讀儲存媒體上,例如,呈包含可由一或多個處理器執行之複數個指令之電腦程式的形式。電腦可讀或機器可讀儲存媒體可為非暫時性的。
本文所論述之寫碼技術可實施於實例視訊編碼及解碼系統(例如,系統100)中。在一些實例中,系統包括提供稍後由目的地器件解碼之經編碼視訊資料的源器件。詳言之,源器件經由電腦可讀媒體將視訊資料提供至目的地器件。源器件及目的地器件可包含廣泛範圍之器件中的任一者,包括桌上型電腦、筆記型(亦即,膝上型)電腦、平板電腦、機上盒、電話手持機(諸如所謂的「智慧型」電話)、所謂「智慧型」平板電腦、電視機、攝影機、顯示器件、數位媒體播放器、視訊遊戲控制台、視訊串流器件或其類似者。在一些情況下,源器件及目的地器件可經裝備以用於無線通信。
目的地器件可經由電腦可讀媒體接收待解碼之經編碼視訊資料。電腦可讀媒體可包含能夠將經編碼視訊資料自源器件移動至目的地器件的任何類型之媒體或器件。在一個實例中,電腦可讀媒體可包含使得源器件能夠即時地將經編碼視訊資料直接傳輸至目的地器件的通信媒體。可根據通信標準(諸如,無線通信協定)調變經編碼視訊資料,且將經編碼視訊資料傳輸至目的地器件。通信媒體可包含任何無線或有線通信媒體,諸如射頻(RF)頻譜或一或多個實體傳輸線。通信媒體可形成基於封包之網路(諸如,區域網路、廣域網路或諸如網際網路之全域網路)之部分。通信媒體可包括路由器、交換器、基地台或可用於促進自源器件至目的地器件之通信的任何其他裝備。
在一些實例中,經編碼資料可自輸出介面輸出至儲存器件。類似地,可藉由輸入介面自儲存器件存取經編碼資料。儲存器件可包括多種分散式或本端存取之資料儲存媒體中之任一者,諸如,硬碟機、藍光碟片、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體或用於儲存經編碼視訊資料之任何其他合適之數位儲存媒體。在另一實例中,儲存器件可對應於檔案伺服器或可儲存由源器件產生之經編碼視訊的另一中間儲存器件。目的地器件可經由串流或下載自儲存器件存取所儲存之視訊資料。檔案伺服器可為能夠儲存經編碼視訊資料且將彼經編碼視訊資料傳輸至目的地器件的任何類型之伺服器。實例檔案伺服器包括網頁伺服器(例如,用於網站)、FTP伺服器、網路附加儲存(NAS)器件或本端磁碟機。目的地器件可經由任何標準資料連接(包括網際網路連接)來存取經編碼視訊資料。此連接可包括適合於存取儲存於檔案伺服器上之經編碼視訊資料的無線通道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機,等等),或兩者的組合。自儲存器件的經編碼視訊資料之傳輸可為串流傳輸、下載傳輸或其組合。
本發明之技術不必限於無線應用或設定。該等技術可應用於支援多種多媒體應用中之任一者的視訊寫碼,諸如,空中電視廣播、有線電視傳輸、衛星電視傳輸、網際網路串流視訊傳輸(諸如,經由HTTP動態自適應串流(DASH))、經編碼至資料儲存媒體上之數位視訊、儲存於資料儲存媒體上的數位視訊之解碼或其他應用。在一些實例中,系統可經組態以支援單向或雙向視訊傳輸從而支援諸如視訊串流、視訊播放、視訊廣播及/或視訊電話之應用。
在一個實例中,源器件包括視訊源、視訊編碼器及輸出介面。目的地器件可包括輸入介面、視訊解碼器及顯示器件。源器件之視訊編碼器可經組態以應用本文中所揭示之技術。在其他實例中,源器件及目的地器件可包括其他組件或配置。舉例而言,源器件可自外部視訊源(諸如,外部攝影機)接收視訊資料。同樣,目的地器件可與外部顯示器件介接,而非包括整合式顯示器件。
以上實例系統僅為一個實例。用於平行地處理視訊資料之技術可由任何數位視訊編碼及/或解碼器件來執行。儘管本發明之技術一般由視訊編碼器件執行,但該等技術亦可由視訊編碼器/解碼器(通常被稱作「編解碼器」)執行。此外,本發明之技術亦可由視訊預處理器執行。源器件及目的地器件僅為源器件產生經寫碼視訊資料以供傳輸至目的地器件之此類寫碼器件的實例。在一些實例中,源器件及目的地器件可以大體上對稱之方式操作,使得該等器件中之每一者包括視訊編碼及解碼組件。因此,實例系統可支援視訊器件之間的單向或雙向視訊傳輸,例如用於視訊串流、視訊播放、視訊廣播或視訊電話。
視訊源可包括視訊捕捉器件,諸如視訊攝影機、含有先前捕捉之視訊的視訊存檔及/或用以自視訊內容提供者接收視訊之視訊饋入介面。作為另一替代方案,視訊源可產生基於電腦圖形之資料作為源視訊,或即時視訊、存檔視訊及電腦產生之視訊的組合。在一些情況下,若視訊源為視訊攝影機,則源器件及目的地器件可形成所謂攝影機電話或視訊電話。然而,如上文所提及,本發明中所描述之技術一般可適用於視訊寫碼,且可適用於無線及/或有線應用。在每一情況下,可由視訊編碼器編碼所捕捉、經預捕捉或電腦產生之視訊。經編碼視訊資訊接著可由輸出介面輸出至電腦可讀媒體上。
如所提及,電腦可讀媒體可包括暫態媒體,諸如無線廣播或有線網路傳輸;或儲存媒體(亦即,非暫時性儲存媒體),諸如硬碟、隨身碟、緊密光碟、數位視訊光碟、藍光光碟或其他電腦可讀媒體。在一些實例中,網路伺服器(圖中未示)可自源器件接收經編碼視訊資料且例如經由網路傳輸提供經編碼視訊資料至目的地器件。類似地,諸如光碟衝壓設施之媒體生產設施的計算器件可自源器件接收經編碼視訊資料且生產含有經編碼視訊資料之光碟。因此,在各種實例中,可理解電腦可讀媒體包括各種形式之一或多個電腦可讀媒體。
目的地器件之輸入介面自電腦可讀媒體接收資訊。電腦可讀媒體之資訊可包括由視訊編碼器定義之語法資訊,語法資訊亦由視訊解碼器使用,語法資訊包括描述區塊及其他經寫碼單元(例如,圖像群組(GOP))之特性及/或處理的語法元素。顯示器件將經解碼視訊資料顯示給使用者,且可包含多種顯示器件中之任一者,諸如陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示器件。已描述本申請案之各種實施例。
編碼器件104及解碼器件112之特定細節分別展示於圖13及圖14中。圖13為說明可實施本發明中所描述之技術中之一或多者的實例編碼器件104之方塊圖。編碼器件104可(例如)產生本文中所描述之語法結構(例如,VPS、SPS、PPS或其他語法元素之語法結構)。編碼器件104可執行視訊圖塊內之視訊區塊的框內預測及框間預測寫碼。如先前所描述,框內寫碼至少部分地依賴於空間預測以縮減或移除給定視訊圖框或圖像內之空間冗餘。框間寫碼至少部分地依賴於時間預測以縮減或移除視訊序列之鄰近或周圍圖框內的時間冗餘。框內模式(I模式)可指若干基於空間之壓縮模式中的任一者。框間模式(諸如,單向預測(P模式)或雙向預測(B模式))可指若干基於時間之壓縮模式中的任一者。
編碼器件104包括分割單元35、預測處理單元41、濾波器單元63、圖像記憶體64、求和器50、變換處理單元52、量化單元54及熵編碼單元56。預測處理單元41包括運動估計單元42、運動補償單元44及框內預測處理單元46。對於視訊區塊重建構,編碼器件104亦包括反量化單元58、反變換處理單元60及求和器62。濾波器單元63意欲表示一或多個迴路濾波器,諸如解塊濾波器、自適應迴路濾波器(ALF)及樣本自適應偏移(SAO)濾波器。儘管濾波器單元63在圖13中展示為迴路濾波器,但在其他組態中,濾波器單元63可實施為後迴路濾波器。後處理器件57可對由編碼器件104產生之經編碼視訊資料執行額外處理。本發明之技術可在一些情況下由編碼器件104實施。然而,在其他情況下,本發明之技術中之一或多者可由後處理器件57實施。
如圖13中所展示,編碼器件104接收視訊資料,且分割單元35將資料分割成視訊區塊。分割亦可包括(例如)根據LCU及CU之四分樹結構分割成圖塊、圖塊區段、圖像塊或其他較大單元,以及視訊區塊分割。編碼器件104通常說明編碼待編碼之視訊圖塊內的視訊區塊之組件。圖塊可劃分成多個視訊區塊(且可能劃分成被稱作圖像塊之視訊區塊集合)。預測處理單元41可基於誤差結果(例如,寫碼速率及失真等級,或其類似者)選擇複數個可能寫碼模式中之一者(諸如,複數個框內預測寫碼模式中之一者或複數個框間預測寫碼模式中之一者)以用於當前視訊區塊。預測處理單元41可將所得經框內或框間寫碼區塊提供至求和器50以產生殘餘區塊資料且提供至求和器62以重建構經編碼區塊以用作參考圖像。
預測處理單元41內之框內預測處理單元46可執行當前視訊區塊相對於與待寫碼的當前區塊相同之圖框或圖塊中的一或多個相鄰區塊之框內預測寫碼以提供空間壓縮。預測處理單元41內之運動估計單元42及運動補償單元44執行當前視訊區塊相對於一或多個參考圖像中之一或多個預測性區塊之框間預測性寫碼,以提供時間壓縮。
運動估計單元42可經組態以根據視訊序列之預定圖案來判定用於視訊圖塊之框間預測模式。預定圖案可將序列中之視訊圖塊指定為P圖塊、B圖塊或GPB圖塊。運動估計單元42及運動補償單元44可高度整合,但出於概念目的而單獨說明。由運動估計單元42執行之運動估計為產生運動向量之程序,該等運動向量估計視訊區塊之運動。運動向量(例如)可指示當前視訊圖框或圖像內之視訊區塊的預測單元(PU)相對於參考圖像內之預測性區塊的移位。
預測性區塊為就像素差(或影像樣本差)而言被發現緊密地匹配待寫碼的視訊區塊之PU之區塊,該像素差可由絕對差和(SAD)、平方差和(SSD)或其他差度量判定。在一些實例中,編碼器件104可計算儲存於圖像記憶體64中之參考圖像的子整數像素位置的值。舉例而言,編碼器件104可內插參考圖像之四分之一像素位置、八分之一像素位置或其他分數像素位置之值。因此,運動估計單元42可執行關於全像素位置及分數像素位置之運動搜尋且輸出具有分數像素精度之運動向量。
運動估計單元42藉由比較PU之位置與參考圖像之預測性區塊的位置而計算經框間寫碼圖塊中之視訊區塊的PU的運動向量。參考圖像可選自第一參考圖像清單(清單0)或第二參考圖像清單(清單1),該等清單中之每一者識別儲存於圖像記憶體64中之一或多個參考圖像。運動估計單元42將所計算之運動向量發送至熵編碼單元56及運動補償單元44。
由運動補償單元44執行之運動補償可涉及基於由運動估計(可能執行內插至子像素精度)判定之運動向量而提取或產生預測性區塊。在接收到當前視訊區塊之PU的運動向量之後,運動補償單元44可在一參考圖像清單中找到運動向量所指向之預測性區塊的位置。編碼器件104藉由自正被寫碼的當前視訊區塊之像素值減去預測性區塊之像素值(或影像樣本值)(從而形成像素差值(或影像樣本差值))形成殘餘視訊區塊。像素差值(或影像樣本差值)形成區塊之殘餘資料,且可包括明度及色度差分量兩者。求和器50表示執行此減法運算之一或多個組件。運動補償單元44亦可產生與視訊區塊及視訊圖塊相關聯之語法元素,以供解碼器件112用於解碼視訊圖塊之視訊區塊。
如上文所描述,作為藉由運動估計單元42及運動補償單元44執行的框間預測之替代方案,框內預測處理單元46可框內預測當前區塊。特定而言,框內預測處理單元46可判定框內預測模式以用以編碼當前區塊。在一些實例中,框內預測處理單元46可(例如)在單獨編碼遍次期間使用各種框內預測模式來編碼當前區塊,且框內預測處理單元46可自所測試模式中選擇適當框內預測模式來使用。舉例而言,框內預測處理單元46可使用對各種所測試框內預測模式之速率-失真分析來計算速率-失真值,且可在所測試模式間選擇具有最佳速率-失真特性之框內預測模式。速率-失真分析大體上判定經編碼區塊與原始未經編碼區塊(其經編碼以產生經編碼區塊)之間的失真(或誤差)量,以及用以產生經編碼區塊之位元速率(亦即,位元之數目)。框內預測處理單元46可根據各種經編碼區塊之失真及速率計算比率以判定哪一框內預測模式展現該區塊之最佳速率-失真值。
在任何情況下,在選擇用於區塊之框內預測模式後,框內預測處理單元46可將指示用於區塊之所選框內預測模式的資訊提供至熵編碼單元56。熵編碼單元56可編碼指示所選框內預測模式之資訊。編碼器件104可將各種區塊之編碼上下文之定義以及待用於上下文中之每一者的最可能的框內預測模式、框內預測模式索引表及經修改框內預測模式索引表之指示包括於經傳輸位元串流組態資料中。位元串流組態資料可包括複數個框內預測模式索引表及複數個經修改框內預測模式索引表(亦被稱作碼字映射表)。
在預測處理單元41經由框間預測或框內預測產生當前視訊區塊之預測性區塊之後,編碼器件104藉由自當前視訊區塊減去預測性區塊而形成殘餘視訊區塊。殘餘區塊中之殘餘視訊資料可包括於一或多個TU中且被應用於變換處理單元52。變換處理單元52使用諸如離散餘弦變換(DCT)或概念上類似變換之變換將殘餘視訊資料變換成殘餘變換係數。變換處理單元52可將殘餘視訊資料自像素域轉換至變換域(諸如,頻域)。
變換處理單元52可將所得變換係數發送至量化單元54。量化單元54量化變換係數以進一步減少位元速率。量化程序可縮減與係數中之一些或所有相關聯的位元深度。可藉由調整量化參數來修改量化程度。在一些實例中,量化單元54可接著執行對包括經量化變換係數之矩陣的掃描。替代性地,熵編碼單元56可執行掃描。
在量化之後,熵編碼單元56熵編碼經量化變換係數。舉例而言,熵編碼單元56可執行上下文自適應性可變長度寫碼(CAVLC)、上下文自適應性二進位算術寫碼(CABAC)、基於語法之上下文自適應性二進位算術寫碼(SBAC)、機率區間分割熵(PIPE)寫碼或另一熵編碼技術。在由熵編碼單元56進行熵編碼之後,經編碼位元串流可傳輸至解碼器件112,或經存檔以供稍後由解碼器件112傳輸或由解碼器件112擷取。熵編碼單元56亦可熵編碼正經寫碼之當前視訊圖塊的運動向量及其他語法元素。
反量化單元58及反變換處理單元60分別應用反量化及反變換以重建構像素域中之殘餘區塊以供稍後用作參考圖像之參考區塊。運動補償單元44可藉由將殘餘區塊添加至參考圖像清單內之參考圖像中之一者的預測性區塊來計算參考區塊。運動補償單元44亦可將一或多個內插濾波器應用於經重建構殘餘區塊以計算子整數像素值(或影像樣本值)以供用於運動估計。求和器62將經重建構殘餘區塊添加至由運動補償單元44產生之運動補償預測區塊以產生用於儲存於圖像記憶體64中之參考區塊。參考區塊可由運動估計單元42及運動補償單元44用作參考區塊以框間預測後續視訊圖框或圖像中之區塊。
以此方式,圖13之編碼器件104表示經組態以導出LIC參數、適應性地判定模板之大小及/或適應性地選擇權重的視訊編碼器之實例。如上文所描述,編碼器件104可(例如)導出LIC參數、適應性地判定模板之大小,及/或適應性地選擇權重集合。舉例而言,編碼器件104可執行本文中所描述技術中之任一者,包括上文參看圖16、圖17及圖18所描述的程序。在一些情況下,本發明之技術中之一些亦可藉由後處理器件57實施。
圖14為說明實例解碼器件112之方塊圖。解碼器件112包括熵解碼單元80、預測處理單元81、反量化單元86、反變換處理單元88、求和器90、濾波器單元91及圖像記憶體92。預測處理單元81包括運動補償單元82及框內預測處理單元84。在一些實例中,解碼器件112可執行大體上可逆於關於來自圖13之編碼器件104所描述之編碼遍次的解碼遍次。
在解碼程序期間,解碼器件112接收表示由編碼器件104發送之經編碼視訊圖塊之視訊區塊及由編碼器件104發送之相關聯語法元素的經編碼視訊位元串流。在一些實施例中,解碼器件112可自編碼器件104接收經編碼視訊位元串流。在一些實施例中,解碼器件112可自網路實體79 (諸如,伺服器、媒體感知網路元件(MANE)、視訊編輯器/編接器或經組態以實施上文所描述之技術中之一或多者的其他此類器件)接收經編碼視訊位元串流。網路實體79可或可不包括編碼器件104。在網路實體79將經編碼視訊位元串流傳輸至解碼器件112之前,本發明中所描述之技術中的一些可由網路實體79實施。在一些視訊解碼系統中,網路實體79及解碼器件112可為獨立器件之部分,而在其他情況下,關於網路實體79描述之功能性可由包含解碼器件112之同一器件執行。
解碼器件112之熵解碼單元80對位元串流進行熵解碼以產生經量化係數、運動向量及其他語法元素。熵解碼單元80將運動向量及其他語法元素轉遞至預測處理單元81。解碼器件112可接收在視訊圖塊層級及/或視訊區塊層級的語法元素。熵解碼單元80可處理並剖析諸如VPS、SPS及PPS之一或多個參數集中之固定長度語法元素及可變長度語法元素兩者。
當視訊圖塊被寫碼為經框內寫碼(I)圖塊時,預測處理單元81之框內預測處理單元84可基於經發信框內預測模式及來自當前圖框或圖像之先前經解碼區塊的資料而產生當前視訊圖塊之視訊區塊的預測資料。當將視訊圖框寫碼為經框間寫碼(亦即,B、P或GPB)圖塊時,預測處理單元81之運動補償單元82基於運動向量及自熵解碼單元80接收之其他語法元素而產生當前視訊圖塊之視訊區塊的預測性區塊。預測性區塊可自參考圖像清單內之參考圖像中的一者產生。解碼器件112可基於儲存於圖像記憶體92中之參考圖像使用預設建構技術來建構參考圖框清單,清單0及清單1。
運動補償單元82藉由剖析運動向量及其他語法元素來判定用於當前視訊圖塊之視訊區塊的預測資訊,並使用該預測資訊以產生經解碼當前視訊區塊之預測性區塊。舉例而言,運動補償單元82可使用參數集中之一或多個語法元素以判定用以寫碼視訊圖塊之視訊區塊之預測模式(例如,框內預測或框間預測)、框間預測圖塊類型(例如,B圖塊、P圖塊或GPB圖塊)、圖塊之一或多個參考圖像清單之建構資訊、圖塊之每一框間編碼視訊區塊之運動向量、圖塊之每一框間寫碼視訊區塊之框間預測狀態,及用以解碼當前視訊圖塊中之視訊區塊的其他資訊。
運動補償單元82亦可執行基於內插濾波器之內插。運動補償單元82可使用如在編碼視訊區塊期間由編碼器件104使用的內插濾波器來計算參考區塊之子整數像素的內插值。在此情況下,運動補償單元82可自所接收語法元素判定由編碼器件104使用之內插濾波器,且可使用內插濾波器來產生預測性區塊。
反量化單元86反量化或解量化位元串流中所提供且由熵解碼單元80解碼之經量化變換係數。反量化程序可包括使用由編碼器件104針對視訊圖塊中之每一視訊區塊計算的量化參數來判定量化程度及同樣應應用之反量化程度。反變換處理單元88將反變換(例如,反DCT或其他合適之反變換)、反整數變換或概念上類似的反變換程序應用於變換係數以便在像素域中產生殘餘區塊。
在運動補償單元82基於運動向量及其他語法元素而產生當前視訊區塊之預測性區塊之後,解碼器件112藉由將來自反變換處理單元88之殘餘區塊與由運動補償單元82產生之對應預測性區塊求和而形成經解碼視訊區塊。求和器90表示執行此求和運算之一或多個組件。若需要,亦可使用迴路濾波器(在寫碼迴路中或在寫碼迴路後)以使像素轉變平滑,或以其他方式改良視訊品質。濾波器單元91意欲表示一或多個迴路濾波器,諸如,解塊濾波器、自適應迴路濾波器(ALF)及樣本自適應偏移(SAO)濾波器。儘管濾波器單元91在圖14中展示為迴路濾波器,但在其他組態中,濾波器單元91可實施為後迴路濾波器。給定圖框或圖像中之經解碼視訊區塊接著儲存於圖像記憶體92中,圖像記憶體92儲存用於後續運動補償之參考圖像。圖像記憶體92亦儲存經解碼視訊以供稍後呈現於顯示器件(諸如,圖1中所展示之視訊目的地器件122)上。
以此方式,圖14之解碼器件112表示經組態以導出LIC參數、適應性地判定模板之大小及/或適應性地選擇權重的視訊解碼器之實例。如上文所描述,解碼器件112可(例如)導出LIC參數,適應性地判定模板之大小,及/或適應性地選擇權重集合。舉例而言,解碼器件112可執行本文中所描述的技術中之任一者,包括上文參看圖16、圖17及圖18所描述之程序。
如本文所用,術語「電腦可讀媒體」包括(但不限於)攜帶型或非攜帶型儲存器件、光儲存器件及能夠儲存、含有或攜載指令及/或資料的各種其他媒體。電腦可讀媒體可包括非暫時性媒體,其中可儲存資料,並且不包括載波及/或無線地或經由有線連接傳播之暫時電子信號。非暫時性媒體之實例可包括(但不限於)磁碟或磁帶、諸如緊密光碟(CD)或數位化通用光碟(DVD)之光學儲存媒體、快閃記憶體、記憶體或記憶體器件。電腦可讀媒體可具有儲存於其上之程式碼及/或機器可執行指令,該等程式碼及/或機器可執行指令可表示程序、函數、子程式、程式、常式、次常式、模組、軟體套件、類別,或指令、資料結構或程式語句之任何組合。一個碼段可藉由傳遞及/或接收資訊、資料、論證、參數或記憶體內容耦接至另一碼段或硬體電路。資訊、引數、參數、資料等可經由包括記憶體共用、訊息傳遞、符記傳遞、網路傳輸或其類似者之任何合適方式傳遞、轉遞或傳輸。
在一些實施例中,電腦可讀儲存器件、媒體及記憶體可包括含有位元串流及類似者之纜線或無線信號。然而,當提及時,非暫時性電腦可讀儲存媒體明確地排除諸如能量、載波信號、電磁波及信號本身之媒體。
在以上描述中提供特定細節從而提供本文提供之實施例及實例的透徹理解。然而,一般熟習此項技術者應理解,實施例可在無需此等具體細節之情況下實踐。為了解釋清楚起見,在一些情況下,本發明技術可呈現為包括個別功能區塊,其包括包含軟體或硬體及軟體之組合中所體現的器件、器件組件、方法中之步驟或常式的功能區塊。除諸圖中展示及/或本文中所描述的彼等組件以外,可使用額外組件。舉例而言,電路、系統、網路、程序及其他組件可以區塊圖形式展示為組件以便在不必要細節下不與實施例混淆。在其他情況下,可在無不必要細節之情況下展示熟知電路、程序、演算法、結構及技術以便避免混淆實施例。
個別實施例可在上文描述為描繪為流程圖(flowchart, a flow diagram)、資料流程圖、結構圖或方塊圖的程序或方法。儘管流程圖可能將操作描述為順序程序,但許多操作可並行地或同時加以執行。另外,可再配置操作之次序。程序在其操作完成時終止,但可具有不包括於圖中之額外步驟。程序可對應於方法、函數、程序、次常式、子程式等。當程序對應於函數時,其終止可對應於函數傳回至呼叫函數或主函數。
可使用儲存或以其他方式可自電腦可讀媒體獲得的電腦可執行指令實施根據上文所描述之實例的程序及方法。此等指令可包括(例如)導致或以其他方式組態通用電腦、專用電腦或處理器件以執行某一功能或功能群組之指令及資料。可經由網路存取所使用的電腦資源之部分。電腦可執行指令可為(例如)二進位中間格式指令,諸如,組合語言、韌體、原始程式碼等。可用於儲存指令、所使用資訊及/或根據所描述實例之方法期間所產生的資訊之電腦可讀媒體的實例包括磁碟或光碟、快閃記憶體、具備非揮發性記憶體之USB器件、網路連接儲存器件等等。
實施根據此等揭示內容之程序及方法的器件可包括硬體、軟體、韌體、中間軟體、微碼、硬體描述語言或其任何組合,且可採取多種外觀尺寸中之任一者。當以軟體、韌體、中間軟體或微碼實施時,用以執行必要任務之程式碼或碼段(例如,電腦程式產品)可儲存於電腦可讀或機器可讀媒體中。處理器可執行必要任務。外觀尺寸之典型實例包括膝上型電腦、智慧型手機、行動電話、平板電腦器件或其他小外觀尺寸個人電腦、個人數位助理、機架式器件、獨立式器件等。本文中所描述之功能性亦可體現於周邊裝置或附加卡。作為進一步之實例,此功能性亦可實施於不同晶片或執行於單一器件中之不同程序中的電路板上。
該等指令、用於輸送此等指令之媒體、用於實行此等媒體之計算資源,及用於支援此等計算資源之其他結構為用於提供本發明中所描述之功能的實例構件。
在前述描述中,申請案之態樣係參考其特定實施例而描述,但熟習此項技術者將認識到申請案不限於此。因此,雖然本文中已詳細描述申請案之說明性實施例,但應理解,本發明概念可以其他方式不同地體現並使用,且所附申請專利範圍意欲解釋為包括除先前技術所限制外的此等變化。上文所描述之申請案之各種特徵及態樣可個別地或聯合地使用。另外,實施例可用於超出本文所描述之彼等環境及應用之任何數目個環境及應用,而不脫離本說明書之更廣精神及範疇。因此,本說明書及圖式被視為說明性而非限定性。出於說明之目的,以特定次序描述方法。應瞭解,在替代實施例中,可以與所描述之次序不同之次序來執行該等方法。
一般技術者將瞭解,在不脫離本說明書之範疇之情況下,本文中所使用之小於(「<」)及大於(「>」)符號或術語可分別用小於或等於(「≤」)及大於或等於(「≥」)符號替換。
在組件被描述為「經組態以」執行某些操作之情況下,可(例如)藉由設計電子電路或其他硬體以執行操作、藉由程式化可程式化電子電路(例如,微處理器或其他合適之電子電路)以執行操作或其任何組合來實現此組態。
片語「耦接至」指直接地或間接地實體地連接至另一組件之任何組件,及/或直接地或間接地與另一組件(例如經由有線或無線連接及/或其他合適通信介面連接至其他組件)通信的任何組件。
列舉集合「中之至少一者」之技術方案語言或其他語言指示該集合中之一個構件或該集合中之多個構件符合技術方案。舉例而言,列舉「A及B中之至少一者」的技術方案語言意謂A、B或A及B。
結合本文所揭示之實施例而描述之各種說明性邏輯區塊、模組、電路及演算法步驟可被實施為電子硬體、電腦軟體、韌體或其組合。為了清楚地說明硬體與軟體之此可互換性,各種說明性組件、區塊、模組、電路及步驟已在上文大體按其功能性加以了描述。此功能性實施為硬體抑或軟體取決於特定應用及強加於整個系統之設計約束而定。熟習此項技術者可針對每一特定應用而以變化之方式實施所描述之功能性,而但不應將此等實施決策解譯為致使脫離本申請案之範疇。
本文中所描述之技術亦可實施於電子硬體、電腦軟體、韌體或其任何組合中。此等技術可實施於多種器件中之任何者中,諸如,通用電腦、無線通信器件手機或具有多種用途(包括在無線通信器件手機及其他器件中之應用)之積體電路器件。可將描述為模組或組件之任何特徵共同實施於整合式邏輯器件中或分開實施為離散但可互操作之邏輯器件。若以軟體實施,則該等技術可至少部分由包含包括當經執行時執行上文所描述方法中之一或多者之指令之程式碼的電腦可讀資料儲存媒體實現。電腦可讀資料儲存媒體可形成電腦程式產品之部分,電腦程式產品可包括封裝材料。電腦可讀媒體可包含記憶體或資料儲存媒體,諸如,隨機存取記憶體(RAM),諸如,同步動態隨機存取記憶體(SDRAM)、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體、磁性或光學資料儲存媒體及其類似者。另外或替代地,該等技術可至少部分地由電腦可讀通信媒體實現,該電腦可讀通信媒體載送或傳達呈指令或資料結構之形式且可由電腦存取、讀取及/或實行的程式碼,諸如,傳播之信號或波。
程式碼可由可包括一或多個處理器之處理器執行,諸如,一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效積體或離散邏輯電路。此處理器可經組態以執行本發明中所描述之技術中之任一者。通用處理器可為微處理器;但在替代例中,處理器可為任何習知處理器、控制器、微控制器或狀態機。處理器亦可實施為計算器件之組合,例如DSP與微處理器之組合、複數個微處理器、結合DSP核心之一或多個微處理器,或任何其他此類組態。因此,如本文中所使用之術語「處理器」可指前述結構中之任一者、前述結構之任何組合或適合於實施本文中所描述之技術的任何其他結構或裝置。此外,在一些態樣中,本文中描述之功能性可提供於經組態用於編碼及解碼之專用軟體模組或硬體模組,或併入於組合之視訊編碼器-解碼器(編解碼器)中。
35:分割單元
41:預測處理單元
42:運動估計單元
44:運動補償單元
46:框內預測處理單元
50:求和器
52:變換處理單元
54:量化單元
56:熵編碼單元
57:後處理器件
58:反量化單元
60:反變換處理單元
62:求和器
63:濾波器單元
64:圖像記憶體
79:網路實體
80:熵解碼單元
81:預測處理單元
82:運動補償單元
84:框內預測處理單元
86:反量化單元
88:反變換處理單元
90:求和器
91:濾波器單元
92:圖像記憶體
100:系統
102:視訊源
104:編碼器件
106:編碼器引擎
108:儲存器
110:輸出端
112:解碼器件
114:輸入端
116:解碼器引擎
118:儲存器
120:通信鏈路
122:視訊目的地器件
200:ISO基本媒體檔案
202:電影容器
204:媒體資料容器
210:視訊播放軌
212:播放軌標頭
214:媒體資訊容器
216:音訊播放軌
218:提示播放軌
220:邏輯框
222:視訊資料塊
224:音訊資料塊
226:提示指令塊
300:ISO基本媒體檔案
310:檔案類型邏輯框
320:電影邏輯框
322:電影標頭邏輯框
324:播放軌邏輯框
324a:播放軌標頭邏輯框
324b:媒體邏輯框
330a:片段
330b:片段
330c:片段
330n:片段
332:電影片段(moof)邏輯框
334:電影片段標頭邏輯框
336:播放軌片段邏輯框
338:媒體資料(mdat)邏輯框
400:ISO基本媒體檔案
402x:區段
402y:區段
430x:片段
430y:片段
432x:電影片段(moof)邏輯框
432y:電影片段(moof)邏輯框
438x:媒體資料(mdat)邏輯框
438y:媒體資料(mdat)邏輯框
440xa:樣本
440xb:樣本
440xm:樣本
440ya:樣本
440yb:樣本
440ym:樣本
500:ISO基本媒體檔案
502x:區段
502y:區段
530xa:片段
530xm:片段
530ya:片段
530ym:片段
532xa:moof邏輯框
532xm:moof邏輯框
532ya:moof邏輯框
532ym:moof邏輯框
538xa:mdat邏輯框
538xm:mdat邏輯框
538ya:mdat邏輯框
538ym:mdat邏輯框
540xa:樣本
540xm:樣本
540ya:樣本
540ym:樣本
600:ISO基本媒體檔案
602:區段
604a:指示
604b:指示
604c:指示
604d:指示
604e:指示
630a:片段
630b:片段
630c:片段
630m:片段
632a:電影片段(moof)邏輯框
632b:電影片段(moof)邏輯框
632c:電影片段(moof)邏輯框
632m:電影片段(moof)邏輯框
638a:媒體資料(mdat)邏輯框
638b:媒體資料(mdat)邏輯框
638c:媒體資料(mdat)邏輯框
638m:媒體資料(mdat)邏輯框
640a:樣本
640b:樣本
640c:樣本
640m:樣本
700:DASH封裝器
702a:CMAF非初始塊(CNC)
702b:CMAF非初始塊(CNC)
702c:CMAF非初始塊(CNC)
702d:CMAF非初始塊(CNC)
704a:CMAF初始塊(CIC)
704b:CMAF初始塊(CIC)
706:CMAF標頭(CH)
712a:CMAF非初始塊(CNC)
712b:CMAF非初始塊(CNC)
712c:CMAF非初始塊(CNC)
712d:CMAF非初始塊(CNC)
714a:CMAF初始塊(CIC)
714b:CMAF初始塊(CIC)
720a:DASH區段
720b:DASH區段
722a:HTTP塊
722b:HTTP塊
722c:HTTP塊
722d:HTTP塊
722e:HTTP塊
722f:HTTP塊
724:媒體呈現描述(MPD)
726:初始化區段(IS)
800:媒體呈現
802:公司標識
804:副標題
900:ISO基本媒體檔案
902a:電影片段(moof)邏輯框
902b:電影片段(moof)邏輯框
902c:電影片段(moof)邏輯框
902d:電影片段(moof)邏輯框
904a:時間邏輯框
904b:時間邏輯框
904c:時間邏輯框
904d:時間邏輯框
906a:媒體資料(mdat)邏輯框
906b:媒體資料(mdat)邏輯框
906c:媒體資料(mdat)邏輯框
906d:媒體資料(mdat)邏輯框
908a:樣本
908b:樣本
908c:樣本
908d:樣本
910a:片段
910b:片段
910c:片段
910d:片段
1000:ISO基本媒體檔案
1002a:電影片段(moof)邏輯框
1002b:電影片段(moof)邏輯框
1002c:電影片段(moof)邏輯框
1002d:電影片段(moof)邏輯框
1004a:時間邏輯框
1004b:時間邏輯框
1004c:時間邏輯框
1004d:時間邏輯框
1006a:媒體資料(mdat)邏輯框
1006b:媒體資料(mdat)邏輯框
1006c:媒體資料(mdat)邏輯框
1006d:媒體資料(mdat)邏輯框
1008a:樣本
1008b:樣本
1008c:樣本
1008d:樣本
1010a:片段
1010b:片段
1010c:片段
1010d:片段
下文參考以下圖式詳細描述本發明之說明性實施例:
圖1為說明根據一些實例之編碼器件及解碼器件之實例的方塊圖;
圖2為說明根據一些實例之遵循ISO基本媒體檔案格式(ISOBMFF)之實例檔案結構的圖式;
圖3為說明根據一些實例之含有視訊呈現之資料及後設資料的ISO基本媒體檔案(根據ISOBMFF格式化)之實例的圖式;
圖4為說明根據一些實例之用於即時串流媒體之分段的實例之圖式;
圖5為說明根據一些實例之用於低延時即時串流媒體的片段化之實例的圖式;
圖6為說明根據一些實例之用於低延時即時串流媒體之片段化的另一實例之圖式;
圖7為說明根據一些實例之用於音訊及視訊之正常操作的DASH封裝器之實例的圖式;
圖8為說明根據一些實例之包括稀疏內容的媒體呈現之實例的圖式;
圖9為說明根據一些實例之用於縮減稀疏內容之樣本持續時間的處理媒體內容之實例的圖式;
圖10為說明根據一些實例之用於擴展稀疏內容之樣本持續時間的處理媒體內容之實例的圖式;
圖11為說明根據一些實例之處理媒體內容的程序之實例的流程圖;
圖12為說明根據一些實例之提供媒體內容的程序之實例的流程圖;
圖13為說明根據一些實例之實例視訊編碼器件之方塊圖;且
圖14為說明根據一些實例之實例視訊解碼器件之方塊圖。
900:ISO基本媒體檔案
902a:電影片段(moof)邏輯框
902b:電影片段(moof)邏輯框
902c:電影片段(moof)邏輯框
902d:電影片段(moof)邏輯框
904a:時間邏輯框
904b:時間邏輯框
904c:時間邏輯框
904d:時間邏輯框
906a:媒體資料(mdat)邏輯框
906b:媒體資料(mdat)邏輯框
906c:媒體資料(mdat)邏輯框
906d:媒體資料(mdat)邏輯框
908a:樣本
908b:樣本
908c:樣本
908d:樣本
910a:片段
910b:片段
910c:片段
910d:片段
Claims (70)
- 一種處理媒體內容之方法,該方法包含: 在一當前時間執行個體處獲得包含與一或多個先前片段之一或多個先前媒體樣本相關聯的至少一當前時間分量之一當前片段,其中至少一個先前片段為不具有媒體樣本資料之一空片段; 基於該當前時間分量,判定針對形成該一或多個先前媒體樣本之部分的至少一個媒體樣本之一經修改持續時間,該經修改持續時間指示該至少一個媒體樣本將相對於該當前時間執行個體擴展或縮減的一持續時間;及 基於該經修改持續時間呈現該至少一個媒體樣本。
- 如請求項1之方法,其中該經修改持續時間包括一擴展持續時間,該擴展持續時間指示該至少一個媒體樣本將相對於該當前時間執行個體擴展的該持續時間。
- 如請求項1之方法,其中該經修改持續時間包括一縮減持續時間,該縮減持續時間指示該至少一個媒體樣本將相對於該當前時間執行個體縮減的該持續時間。
- 如請求項1之方法,其中呈現該至少一個媒體樣本包含將該一或多個先前媒體樣本之呈現的一持續時間擴展至少一擴展持續時間。
- 如請求項1之方法,其中呈現該至少一個媒體樣本包含在該當前時間執行個體處將一新的媒體樣本至少呈現一擴展持續時間。
- 如請求項1之方法,其中呈現該至少一個媒體樣本包含將該一或多個先前媒體樣本之呈現的一持續時間縮減一縮減持續時間。
- 如請求項1之方法,其中該一或多個先前媒體樣本係在一先前時間執行個體處獲得,該先前時間執行個體在該當前時間執行個體之前。
- 如請求項1之方法,進一步包含: 獲得一額外片段,該額外片段包含與一額外先前片段之一媒體樣本相關聯的至少一額外時間分量,其中該額外片段包含一冗餘媒體樣本,其中該冗餘媒體樣本匹配該額外先前片段之該媒體樣本。
- 如請求項8之方法,其中該額外片段包含一冗餘媒體樣本欄位,該冗餘媒體樣本欄位用於提供該冗餘媒體樣本之一指示。
- 如請求項1之方法,其中呈現該至少一個媒體樣本包含顯示該至少一個媒體樣本之視訊內容。
- 如請求項1之方法,其中呈現該至少一個媒體樣本包含呈現該至少一個媒體樣本之音訊內容。
- 如請求項1之方法,其中獲得該當前片段包含接收及解碼該當前片段。
- 如請求項1之方法,其中該當前片段包含一播放軌片段解碼時間邏輯框(tfdt)邏輯框,該tfdt邏輯框包含該當前時間分量。
- 如請求項1之方法,其中該當前時間分量包含一baseMediaDecodeTime值。
- 如請求項1之方法,其中該一或多個先前片段之一包含用於呈現該先前媒體樣本之一樣本持續時間,且其中該樣本持續時間包含一預定合理的持續時間。
- 如請求項1之方法,其中該至少一個媒體樣本包含稀疏內容,其中用於呈現該稀疏內容之一持續時間在該一或多個先前片段之一經解碼時的一先前時間執行個體處係未知的。
- 一種用於處理媒體內容之裝置,該裝置包含: 一記憶體;及 一處理器,其實施於電路中且經組態以: 在一當前時間執行個體處獲得包含與一或多個先前片段之一或多個先前媒體樣本相關聯的至少一當前時間分量之一當前片段,其中至少一個先前片段為不具有媒體樣本資料之一空片段; 基於該當前時間分量,判定針對形成該一或多個先前媒體樣本之部分的至少一個媒體樣本之一經修改持續時間,該經修改持續時間指示該至少一個媒體樣本將相對於該當前時間執行個體擴展或縮減的一持續時間;及 基於該經修改持續時間呈現該至少一個媒體樣本。
- 如請求項17之裝置,其中該經修改持續時間包括一擴展持續時間,該擴展持續時間指示該至少一個媒體樣本將相對於該當前時間執行個體擴展的該持續時間。
- 如請求項17之裝置,其中該經修改持續時間包括一縮減持續時間,該縮減持續時間指示該至少一個媒體樣本將相對於該當前時間執行個體縮減的該持續時間。
- 如請求項17之裝置,其中該處理器經組態以將該一或多個先前媒體樣本之呈現的一持續時間擴展至少一擴展持續時間來呈現該至少一個媒體樣本。
- 如請求項17之裝置,其中該處理器經組態以在該當前時間執行個體處將一新的媒體樣本至少呈現一擴展持續時間來呈現該至少一個媒體樣本。
- 如請求項17之裝置,其中該處理器經組態以將該一或多個先前媒體樣本之呈現的一持續時間縮減一縮減持續時間來呈現該至少一個媒體樣本。
- 如請求項17之裝置,其中該一或多個先前媒體樣本係在一先前時間執行個體處獲得,該先前時間執行個體在該當前時間執行個體之前。
- 如請求項17之裝置,其中該處理器經組態以: 獲得一額外片段,該額外片段包含與一額外先前片段之一媒體樣本相關聯的至少一額外時間分量,其中該額外片段包含一冗餘媒體樣本,其中該冗餘媒體樣本匹配該額外先前片段之該媒體樣本。
- 如請求項24之裝置,其中該額外片段包含一冗餘媒體樣本欄位,該冗餘媒體樣本欄位用於提供該冗餘媒體樣本之一指示。
- 如請求項17之裝置,其中該處理器經組態以顯示該至少一個媒體樣本之視訊內容來呈現該至少一個媒體樣本。
- 如請求項17之裝置,其中該處理器經組態以呈現該至少一個媒體樣本之音訊內容來呈現該至少一個媒體樣本。
- 如請求項17之裝置,其中該處理器經組態以接收及解碼該當前片段來獲得該當前片段。
- 如請求項17之裝置,其中該當前片段包含一播放軌片段解碼時間邏輯框(tfdt)邏輯框,該tfdt邏輯框包含該當前時間分量。
- 如請求項17之裝置,其中該當前時間分量包含一baseMediaDecodeTime值。
- 如請求項17之裝置,其中該一或多個先前片段之一包含用於呈現該先前媒體樣本之一樣本持續時間,且其中該樣本持續時間包含一預定合理的持續時間。
- 如請求項17之裝置,其中該至少一個媒體樣本包含稀疏內容,其中用於呈現該稀疏內容之一持續時間在該一或多個先前片段之一經解碼時的一先前時間執行個體處係未知的。
- 如請求項17之裝置,其中該裝置包含一解碼器。
- 如請求項17之裝置,其中該裝置包含用於呈現該媒體內容之一播放器器件。
- 一種其上儲存有指令之非暫時性電腦可讀媒體,該等指令在由一或多個處理器執行時使得該一或多個處理器執行以下操作: 在一當前時間執行個體處獲得包含與一或多個先前片段之一或多個先前媒體樣本相關聯的至少一當前時間分量之一當前片段,其中至少一個先前片段為不具有媒體樣本資料之一空片段; 基於該當前時間分量,判定針對形成該一或多個先前媒體樣本之部分的至少一個媒體樣本之一經修改持續時間,該經修改持續時間指示該至少一個媒體樣本將相對於該當前時間執行個體擴展或縮減的一持續時間;及 基於該經修改持續時間呈現該至少一個媒體樣本。
- 如請求項35之非暫時性電腦可讀媒體,其中該經修改持續時間包括一擴展持續時間,該擴展持續時間指示該至少一個媒體樣本將相對於該當前時間執行個體擴展的該持續時間。
- 如請求項35之非暫時性電腦可讀媒體,其中該經修改持續時間包括一縮減持續時間,該縮減持續時間指示該至少一個媒體樣本將相對於該當前時間執行個體縮減的該持續時間。
- 如請求項35之非暫時性電腦可讀媒體,其中呈現該至少一個媒體樣本包含將該一或多個先前媒體樣本之呈現的一持續時間擴展至少一擴展持續時間。
- 如請求項35之非暫時性電腦可讀媒體,其中呈現該至少一個媒體樣本包含在該當前時間執行個體處將一新的媒體樣本至少呈現一擴展持續時間。
- 如請求項35之非暫時性電腦可讀媒體,其中呈現該至少一個媒體樣本包含將該一或多個先前媒體樣本之呈現的一持續時間縮減該縮減持續時間。
- 如請求項35之非暫時性電腦可讀媒體,其中該一或多個先前媒體樣本係在一先前時間執行個體處獲得,該先前時間執行個體在該當前時間執行個體之前。
- 如請求項35之非暫時性電腦可讀媒體,進一步包含在由一或多個處理器執行時使得該一或多個處理器執行以下操作的指令: 獲得一額外片段,該額外片段包含與一額外先前片段之一媒體樣本相關聯的至少一額外時間分量,其中該額外片段包含一冗餘媒體樣本,其中該冗餘媒體樣本匹配該額外先前片段之該媒體樣本。
- 如請求項42之非暫時性電腦可讀媒體,其中該額外片段包含一冗餘媒體樣本欄位,該冗餘媒體樣本欄位用於提供該冗餘媒體樣本之一指示。
- 如請求項35之非暫時性電腦可讀媒體,其中呈現該至少一個媒體樣本包含顯示該至少一個媒體樣本之視訊內容。
- 如請求項35之非暫時性電腦可讀媒體,其中呈現該至少一個媒體樣本包含呈現該至少一個媒體樣本之音訊內容。
- 如請求項35之非暫時性電腦可讀媒體,其中獲得該當前片段包含接收及解碼該當前片段。
- 如請求項35之非暫時性電腦可讀媒體,其中該當前片段包含一播放軌片段解碼時間邏輯框(tfdt)邏輯框,該tfdt邏輯框包含該當前時間分量。
- 如請求項35之非暫時性電腦可讀媒體,其中該當前時間分量包含一baseMediaDecodeTime值。
- 如請求項35之非暫時性電腦可讀媒體,其中該一或多個先前片段之一包含用於呈現該先前媒體樣本之一樣本持續時間,且其中該樣本持續時間包含一預定合理的持續時間。
- 如請求項35之非暫時性電腦可讀媒體,其中該至少一個媒體樣本包含稀疏內容,其中用於呈現該稀疏內容之一持續時間在該一或多個先前片段之一經解碼時的一先前時間執行個體處係未知的。
- 一種用於處理媒體內容之裝置,該裝置包含: 用於在一當前時間執行個體處獲得包含與一或多個先前片段之一或多個先前媒體樣本相關聯的至少一當前時間分量之一當前片段的構件,其中至少一個先前片段為不具有媒體樣本資料之一空片段; 用於基於該當前時間分量,判定針對形成該一或多個先前媒體樣本之部分的至少一個媒體樣本之一經修改持續時間的構件,該經修改持續時間指示該至少一個媒體樣本將相對於該當前時間執行個體擴展或縮減的一持續時間;及 用於基於該經修改持續時間呈現該至少一個媒體樣本的構件。
- 如請求項51之裝置,其中該經修改持續時間包括一擴展持續時間,該擴展持續時間指示該至少一個媒體樣本將相對於該當前時間執行個體擴展的該持續時間。
- 如請求項51之裝置,其中該經修改持續時間包括一縮減持續時間,該縮減持續時間指示該至少一個媒體樣本將相對於該當前時間執行個體縮減的該持續時間。
- 如請求項51之裝置,其中用於呈現該至少一個媒體樣本的該構件包含用於將該一或多個先前媒體樣本之呈現的一持續時間擴展至少一擴展持續時間的構件。
- 如請求項51之裝置,其中用於呈現該至少一個媒體樣本的該構件包含用於在該當前時間執行個體處將一新的媒體樣本至少呈現一擴展持續時間的構件。
- 如請求項51之裝置,其中用於呈現該至少一個媒體樣本的該構件包含用於將該一或多個先前媒體樣本之呈現的一持續時間縮減一縮減持續時間的構件。
- 如請求項51之裝置,其中該一或多個先前媒體樣本係在一先前時間執行個體處獲得,該先前時間執行個體在該當前時間執行個體之前。
- 如請求項51之裝置,進一步包含: 用於獲得一額外片段,該額外片段包含與一額外先前片段之一媒體樣本相關聯的至少一額外時間分量的構件,其中該額外片段包含一冗餘媒體樣本,其中該冗餘媒體樣本匹配該額外先前片段之該媒體樣本。
- 如請求項58之裝置,其中該額外片段包含一冗餘媒體樣本欄位,該冗餘媒體樣本欄位用於提供該冗餘媒體樣本之一指示。
- 如請求項51之裝置,其中用於呈現該至少一個媒體樣本的該構件包含用於顯示該至少一個媒體樣本之視訊內容的構件。
- 如請求項51之裝置,其中用於呈現該至少一個媒體樣本的該構件包含用於呈現該至少一個媒體樣本之音訊內容的構件。
- 如請求項51之裝置,其中用於獲得該當前片段的該構件包含用於接收該當前片段的構件及用於解碼該當前片段的構件。
- 如請求項51之裝置,其中該當前片段包含一播放軌片段解碼時間邏輯框(tfdt)邏輯框,該tfdt邏輯框包含該當前時間分量。
- 如請求項51之裝置,其中該當前時間分量包含一baseMediaDecodeTime值。
- 如請求項51之裝置,其中該一或多個先前片段之一包含用於呈現該先前媒體樣本之一樣本持續時間,且其中該樣本持續時間包含一預定合理的持續時間。
- 如請求項51之裝置,其中該至少一個媒體樣本包含稀疏內容,其中用於呈現該稀疏內容之一持續時間在該一或多個先前片段之一經解碼時的一先前時間執行個體處係未知的。
- 一種提供媒體內容之方法,該方法包含: 在一先前時間執行個體處提供包含一先前媒體樣本之一先前片段,其中用於呈現該先前媒體樣本之一持續時間在該先前時間執行個體處係未知的;及 在一當前時間執行個體處提供包含與一或多個先前片段之一或多個先前媒體樣本相關聯的至少一當前時間分量之一當前片段,其中至少一個先前片段為不具有媒體樣本資料之一空片段,且其中該當前時間分量包括針對該一或多個先前片段之一先前媒體片段之一先前媒體樣本之一經修改持續時間,該經修改持續時間指示該先前媒體樣本之一呈現將相對於該當前時間執行個體擴展或縮減的一持續時間。
- 一種用於提供媒體內容之裝置,該裝置包含: 一記憶體;及 一處理器,其實施於電路中且經組態以: 在一先前時間執行個體處提供包含一先前媒體樣本之一先前片段,其中用於呈現該先前媒體樣本之一持續時間在該先前時間執行個體處係未知的;及 在一當前時間執行個體處提供包含與一或多個先前片段之一或多個先前媒體樣本相關聯的至少一當前時間分量之一當前片段,其中至少一個先前片段為不具有媒體樣本資料之一空片段,且其中該當前時間分量包括針對該一或多個先前片段之一先前媒體片段之一先前媒體樣本之一經修改持續時間,該經修改持續時間指示該先前媒體樣本之一呈現將相對於該當前時間執行個體擴展或縮減的一持續時間。
- 一種其上儲存有指令之非暫時性電腦可讀媒體,該等指令在由一或多個處理器執行時使得該一或多個處理器執行以下操作: 在一先前時間執行個體處提供包含一先前媒體樣本之一先前片段,其中用於呈現該先前媒體樣本之一持續時間在該先前時間執行個體處係未知的;及 在一當前時間執行個體處提供包含與一或多個先前片段之一或多個先前媒體樣本相關聯的至少一當前時間分量之一當前片段,其中至少一個先前片段為不具有媒體樣本資料之一空片段,且其中該當前時間分量包括針對該一或多個先前片段之一先前媒體片段之一先前媒體樣本之一經修改持續時間,該經修改持續時間指示該先前媒體樣本之一呈現將相對於該當前時間執行個體擴展或縮減的一持續時間。
- 一種用於提供媒體內容之裝置,該裝置包含: 用於在一先前時間執行個體處提供包含一先前媒體樣本之一先前片段的構件,其中用於呈現該先前媒體樣本之一持續時間在該先前時間執行個體處係未知的;及 用於在一當前時間執行個體處提供包含與一或多個先前片段之一或多個先前媒體樣本相關聯的至少一當前時間分量之一當前片段的構件,其中至少一個先前片段為不具有媒體樣本資料之一空片段,且其中該當前時間分量包括針對該一或多個先前片段之一先前媒體片段之一先前媒體樣本之一經修改持續時間,該經修改持續時間指示該先前媒體樣本之一呈現將相對於該當前時間執行個體擴展或縮減的一持續時間。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862696547P | 2018-07-11 | 2018-07-11 | |
US62/696,547 | 2018-07-11 | ||
US16/505,598 US10986402B2 (en) | 2018-07-11 | 2019-07-08 | Time signaling for media streaming |
US16/505,598 | 2019-07-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202341744A true TW202341744A (zh) | 2023-10-16 |
Family
ID=69139850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112121880A TW202341744A (zh) | 2018-07-11 | 2019-07-11 | 用於媒體串流之時間信令傳輸 |
Country Status (7)
Country | Link |
---|---|
US (3) | US10986402B2 (zh) |
EP (1) | EP3821613A1 (zh) |
CN (2) | CN112385242B (zh) |
BR (1) | BR112021000131A2 (zh) |
SG (1) | SG11202012684XA (zh) |
TW (1) | TW202341744A (zh) |
WO (1) | WO2020014281A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10986402B2 (en) * | 2018-07-11 | 2021-04-20 | Qualcomm Incorporated | Time signaling for media streaming |
US10833092B2 (en) | 2019-01-23 | 2020-11-10 | Micron Technology, Inc. | Methods of incorporating leaker-devices into capacitor configurations to reduce cell disturb, and capacitor configurations incorporating leaker-devices |
GB2585052B (en) * | 2019-06-26 | 2023-07-26 | Canon Kk | Method and apparatus for encapsulating panorama images in a file |
EP4169261A1 (en) * | 2020-06-18 | 2023-04-26 | Nokia Technologies Oy | Method and apparatus for signaling multiple media data types |
WO2023028965A1 (en) * | 2021-09-02 | 2023-03-09 | Nvidia Corporation | Hardware codec accelerators for high-performance video encoding |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7499631B2 (en) * | 2002-12-20 | 2009-03-03 | Panasonic Corporation | Data stream format conversion method and recording method for the same |
US7134039B2 (en) * | 2004-07-06 | 2006-11-07 | Magnum Semiconductor, Inc. | Recovery of real-time video data after power loss |
US7370144B2 (en) * | 2005-09-20 | 2008-05-06 | Mediatek, Inc. | Method and system for accessing a target sample in a media data stream |
US7861150B2 (en) * | 2006-11-07 | 2010-12-28 | Microsoft Corporation | Timing aspects of media content rendering |
AU2008242129B2 (en) * | 2007-04-24 | 2011-11-17 | Nokia Technologies Oy | Signaling of multiple decoding times in media files |
US8644675B2 (en) | 2008-06-06 | 2014-02-04 | Deluxe Digital Studios, Inc. | Methods and systems for use in providing playback of variable length content in a fixed length framework |
WO2010103593A1 (ja) | 2009-03-13 | 2010-09-16 | シャープ株式会社 | 画像表示方法及び画像表示装置 |
CN104040993A (zh) * | 2012-01-17 | 2014-09-10 | 瑞典爱立信有限公司 | 用于发送相应地接收媒体流的方法 |
CN109618235B (zh) | 2013-01-18 | 2021-03-16 | 佳能株式会社 | 生成设备和方法、处理设备和方法以及存储介质 |
US11310302B2 (en) * | 2014-01-09 | 2022-04-19 | Samsung Electronics Co., Ltd. | Method and apparatus for streaming dash content over broadcast channels |
JP5708866B1 (ja) * | 2014-04-10 | 2015-04-30 | ソニー株式会社 | 送信装置、送信方法、受信装置および受信方法 |
US9786255B2 (en) | 2014-05-30 | 2017-10-10 | Nvidia Corporation | Dynamic frame repetition in a variable refresh rate system |
US10298931B2 (en) * | 2014-09-25 | 2019-05-21 | Microsoft Technology Licensing, Llc | Coupling sample metadata with media samples |
US20160373771A1 (en) | 2015-06-18 | 2016-12-22 | Qualcomm Incorporated | Design of tracks and operation point signaling in layered hevc file format |
US10021438B2 (en) | 2015-12-09 | 2018-07-10 | Comcast Cable Communications, Llc | Synchronizing playback of segmented video content across multiple video playback devices |
US10701415B2 (en) | 2016-05-19 | 2020-06-30 | Arris Enterprises Llc | Method and apparatus for segmenting data |
US20180103271A1 (en) | 2016-10-10 | 2018-04-12 | Qualcomm Incorporated | Systems and methods for signaling missing or corrupted video data |
KR102200317B1 (ko) | 2017-12-08 | 2021-01-08 | 구글 엘엘씨 | 디지털 비디오 컨텐츠 수정 |
US11438647B2 (en) | 2018-05-11 | 2022-09-06 | Qualcomm Incorporated | Signaling missing sections of media data for network streaming in a manifest file |
US10986402B2 (en) * | 2018-07-11 | 2021-04-20 | Qualcomm Incorporated | Time signaling for media streaming |
-
2019
- 2019-07-08 US US16/505,598 patent/US10986402B2/en active Active
- 2019-07-09 WO PCT/US2019/041079 patent/WO2020014281A1/en unknown
- 2019-07-09 CN CN201980046379.0A patent/CN112385242B/zh active Active
- 2019-07-09 CN CN202211005687.9A patent/CN115550745A/zh active Pending
- 2019-07-09 BR BR112021000131-0A patent/BR112021000131A2/pt unknown
- 2019-07-09 SG SG11202012684XA patent/SG11202012684XA/en unknown
- 2019-07-09 EP EP19745896.1A patent/EP3821613A1/en active Pending
- 2019-07-11 TW TW112121880A patent/TW202341744A/zh unknown
-
2021
- 2021-03-24 US US17/211,554 patent/US11638062B2/en active Active
-
2023
- 2023-03-16 US US18/185,174 patent/US20230224535A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20200021883A1 (en) | 2020-01-16 |
EP3821613A1 (en) | 2021-05-19 |
CN115550745A (zh) | 2022-12-30 |
US20210211766A1 (en) | 2021-07-08 |
SG11202012684XA (en) | 2021-01-28 |
US10986402B2 (en) | 2021-04-20 |
US11638062B2 (en) | 2023-04-25 |
CN112385242A (zh) | 2021-02-19 |
BR112021000131A2 (pt) | 2021-04-06 |
CN112385242B (zh) | 2022-09-02 |
TW202007176A (zh) | 2020-02-01 |
WO2020014281A1 (en) | 2020-01-16 |
US20230224535A1 (en) | 2023-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2022228092B2 (en) | Systems and methods for signaling missing or corrupted video data | |
TWI675588B (zh) | 於分層視訊檔案格式中之樣本條目及操作點發訊設計 | |
US20160373771A1 (en) | Design of tracks and operation point signaling in layered hevc file format | |
TWI699115B (zh) | 用於視訊之改良式限制方案設計 | |
CN112385242B (zh) | 一种处理媒体内容的方法、装置及计算机可读存储介质 | |
US10349067B2 (en) | Handling of end of bitstream NAL units in L-HEVC file format and improvements to HEVC and L-HEVC tile tracks | |
TW201524192A (zh) | 多層視訊檔案格式設計 | |
US11418812B2 (en) | Placement of parameter sets and sync samples in video coding | |
KR102603980B1 (ko) | 비디오 인코더, 비디오 디코더, 및 대응하는 방법들 | |
TWI834686B (zh) | 用於媒體串流之時間信令傳輸 | |
CN117157988A (zh) | 最小化直播流中的初始化延迟 |