TWI592925B - 音訊串流之處理方法及設備 - Google Patents
音訊串流之處理方法及設備 Download PDFInfo
- Publication number
- TWI592925B TWI592925B TW100145054A TW100145054A TWI592925B TW I592925 B TWI592925 B TW I592925B TW 100145054 A TW100145054 A TW 100145054A TW 100145054 A TW100145054 A TW 100145054A TW I592925 B TWI592925 B TW I592925B
- Authority
- TW
- Taiwan
- Prior art keywords
- audio
- stream
- encoded
- decoded
- audio stream
- Prior art date
Links
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/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4143—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- 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/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42607—Internal components of the client ; Characteristics thereof for processing the incoming bitstream
-
- 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/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42653—Internal components of the client ; Characteristics thereof for processing graphics
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- General Engineering & Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
本發明係有關共享之視訊-音訊管線領域。
許多計算平台包括主機中央處理單元(CPU)(在此也稱為主機),以實施與使用者應用程式相關聯的處理操作。此類應用程式會有關媒體(諸如,視訊及/或音訊串流)的解碼及輸出(顯現)。
關於視訊,主機典型上依賴繪圖引擎,以實施有關視訊的解碼及顯現之操作。然而,對於音訊而言,此主機典型上實施有關其解碼及顯現的操作。雖然可使用專用的硬體音訊編解碼器(編碼器/解碼器),但是其增加相當大的費用。
不幸的是,藉由此主機之音訊串流的處理並不是非常高效率的。例如,在典型的客戶端平台中,典型上不能以超過2或4個線程(thread)來完成音訊處理。
實施例提供有關音訊串流的處理之技術。例如,主機處理平台可接收包括經編碼的音訊串流之內容串流。最終,繪圖引擎自此經編碼的音訊串流中產生經解碼的音訊串流。此項產生可涉及繪圖引擎實施各種運算,諸如熵解碼運算、反量化運算、及反離散餘弦轉換運算。在實施例中
,此內容串流可另包括經編碼的視訊串流。因此,此繪圖引擎可自此經編碼的視訊串流中產生經解碼的視訊串流。此音訊及視訊解碼可被並行地實施。
針對與視訊編解碼器相關聯之操作的性能,繪圖引擎提供硬體加速。例如,繪圖處理單元(GPU)提供可被使用來實施多種型式的視訊編解碼器之硬體加速。此類編解碼器的範例包括(但不受限於)h.264、mpeg2、vc-1等等。然而,視訊編解碼器目前不處理音訊串流。反而,如上所述,音訊串流的處理典型上藉由主機來予以處理。不幸的是,此方法會耗費過量的功率。
然而,在實施例中,繪圖引擎可被使用來處理音訊串流。因此,完整的媒體(視訊及音訊)處理平台可被提供至獨立軟體銷售商(ISV)。
再者,處理音訊串流的繪圖引擎之使用可有助益地降低媒體播放方案中的主機CPU功耗。例如,無失真(lossless)高清晰(HD)音訊串流具有高位元率(平均在3-6Mbps的範圍內,但是其可達到15-20Mbps的峰值速率)。處理此類音訊串流需要相當大量的CPU週期及功耗。更特別而言,實驗室(lab)量測已顯示在藍光碟片顯現的期間,約0.5瓦的CPU功率可被歸因於音訊處理。
雖然音訊串流的特性與視訊串流的特性基本上相當不同,但是它們有實施例利用的一些相似點。例如,視訊與
音訊串流皆時常經由可變長度解碼(VLD)架構(諸如,霍夫曼(Huffman)壓縮)來予以壓縮。再者,視訊與音訊串流皆時常被量化於編碼器處,且被反量化於解碼器處。此外,視訊與音訊串流皆時常使用在編碼器處的離散餘弦轉換(DCT)來予以轉換,然後經由在解碼器處的反DCT(iDCT)來予以反轉換。
實施例可利用這些相似點來提供皆可處理視訊與音訊串流之統一的視訊/音訊處理環境。此外,音訊編碼器/解碼器(編解碼器)時常會是相當可線程的(雖然一個音訊編解碼器之線程能力的程度會與另一個音訊編解碼器之線程能力的程度不同)。這樣可有助益地促使處理音訊連同視訊的繪圖引擎作為一致的視訊/音訊平行執行引擎。繪圖引擎上的音訊處理之性能可有助益地更快且更節電。
圖1為範例的操作環境100(其可使用在此所述的技術)之圖形。環境100可包括各種元件。例如,圖1顯示包括主機處理平台102、繪圖引擎104、內容源106、音訊輸出裝置107、顯示裝置108、及介面109的環境100。這些元件可以硬體及/或軟體的任何組合來予以實施。
主機處理平台102可以諸如中央處理單元(CPU)的一個或多個處理器(例如,微處理器)來予以實施。主機處理平台102可執行各種程序及應用程式。如圖1中所顯示,主機處理平台102執行作業系統(OS)110。經由此作業系統,可執行各種應用程式及程序。例如,圖1顯示主機處理平台102執行媒體應用程式112,及一個或多個
繪圖引擎驅動程式111。
應用程式112可實施有關音訊及/或視訊(或繪圖)的操作。例如,應用程式112可為接收經編碼的內容(例如,經編碼的音訊及/或視訊內容)之媒體應用程式。此內容可自內容源106中予以接收。
在實施例中,繪圖引擎驅動程式111包括由主機處理平台102所執行的軟體。驅動程式111可使程序(諸如,應用程式112)能夠與繪圖引擎104互動。這會涉及應用程式112喚起由驅動程式111所提供的呼叫或常式。如同在此所述者,此類常式會涉及音訊串流,以及視訊串流的解碼。依序而言,驅動程式111可將命令發送至繪圖引擎104。回應時,繪圖引擎104可將產生的資料提供至應用程式112(例如,經由驅動程式111)。
在實施例中,內容源106可包括光學儲存媒體(諸如,數位影音碟片(DVD)、藍光碟片、及/或光碟(CD)讀取器),其自一個或多個載入的碟片中提供經編碼的音訊及/或視訊資料。此外或另一種是,內容源106可包括儲存經編碼的內容之磁性或電子儲存媒體(諸如,磁碟機或固態硬碟)。然而,實施例不受限於這些儲存媒體的範例。
另外,內容源106可包括用以自有線或無線通訊媒體中接收經編碼的內容之通訊介面。通訊媒體的範例包括(但不受限於)局部區域網路(LAN)、無線LAN(WLAN)、個人區域網路(PAN)、無線都會區域網路(WMAN
)、行動電話網路、有線廣播系統、地面或衛星視訊廣播網路(例如,DVB網路)等等。在此種內容的接收之後,應用程式112立即操作,以將此種內容解碼,使得其可藉由一個或多個裝置來予以輸出。
在實施例中,繪圖引擎104係藉由繪圖處理單元(GPU)來予以提供。更特別而言,對於視訊及音訊處理(霍夫曼解碼、iDCT等)中時常需要的一些功能,繪圖引擎104提供加速。此GPU可包括將自主機處理平台102中取得的視訊及繪圖卸載及加速的一個或多個專用微處理器。再者,繪圖引擎104可包括可支援多線程及平行處理的多個平行執行單元(EU)。繪圖引擎104可包括由加州之聖克拉拉(Santa Clara)的英特爾公司所製造之商業上可用的繪圖引擎。然而,實施例不受限於此範例。
在一般操作中,對於應用程式112而言,繪圖引擎104可提供與視訊解碼相關聯的操作。此類操作可包括(但不受限於)可變長度解碼(VLD)、反量化、及反離散餘弦轉換(DCT)操作。繪圖引擎104可提供專用的硬體及/或記憶體,以快速且有效率地實施此類操作。
對於音訊處理,此類操作也是一般常見的。因此,除了實施視訊解碼操作之外,對於應用程式112而言,繪圖引擎104可實施音訊解碼操作。此種音訊解碼可依據各種編解碼器。範例的編解碼器包括(但不受限於)DTS-HD主動式音訊(Master Audio)、Dolby(杜比)TrueHD、MP3、AAC等。然而,可使用任何音訊編解碼器。在實施
例中,此種音訊及視訊解碼操作的實施可經由繪圖引擎驅動程式111,藉由應用程式112來予以啟動。
音訊輸出裝置107可包括用以自主機處理平台102及/或繪圖引擎104所接收到的音訊串流中產生聲音訊號之一個或多個揚聲器。在實施例中,此類音訊串流可為數位脈衝編碼調變(PCM)訊號。因此,音訊輸出裝置可另包括組件,諸如,用以將這些數位訊號轉換成供揚聲器之用的類比訊號之類比至數位轉換器(ADC)及濾波器。另外的組件可包括放大器,使用者控制(例如,音量、音調、等化、平衡等等)。音訊輸出裝置107的此類組件可以硬體及/或軟體的任何組合來予以實施。
顯示裝置108包括將可視覺輸出提供至使用者的實體顯示器。此輸出可以循序影像(或訊框)的形式。範例的實體顯示器包括發光二極體(LED)顯示器、液晶顯示器(LCD)、電漿顯示器、及陰極射線管(CRT)。然而,實施例不受限於這些範例。由顯示裝置108所輸出之訊框的各者可包括多個像素。表示這些像素(例如,色彩及/或加強值)的資料可被儲存在顯示裝置108內的一個或多個訊框緩衝區中。此資料可被稱為「訊框資料」。此種訊框緩衝區可藉由諸如揮發性隨機存取記憶體(RAM)(例如,動態RAM)的儲存裝置來予以提供。然而,可使用其它型式的儲存媒體(諸如,非揮發性記憶體)。
介面109提供圖1的元件之間的耦接。例如,介面109可包括各種成對的元件之間的一個或多個點對點連接
(例如,並列式介面、串列式介面、專用訊號線等)。
另一種或此外,介面109可包括提供處理單元的實體連接之多分支(multi-drop)或匯流排介面。範例的匯流排介面包括通用串列匯流排(USB)介面,以及各種電腦系統匯流排介面。
另外,介面109可包括提供軟體程序之間之資料的交換之一個或多個軟體介面(例如,應用程式介面、遠端程序呼叫、共享記憶體等)。
在實施例中,圖1的元件可被實施於電腦系統之內。此種電腦系統可為個人電腦(例如,桌上型、膝上型、筆記型、或平板電腦)。另一種是,此種電腦系統可為手持式裝置(諸如,行動電話、個人數位助理器(PDA)、行動電話智慧型電話、或可攜式媒體播放器。然而,實施例不受限於這些範例。
如以上所述,圖1的元件可包括一個或多個處理器(例如,微處理器)。例如,處理平台102及繪圖引擎104可以一個或多個處理器來予以實施。如範例,主機處理平台102可以一個或多個CPU來予以實施,及/或繪圖引擎104可以一個或多個GPU來予以實施。這些CPU及/或GPU可依據一個或多個儲存媒體中所儲存的指令(例如,軟體)而操作。此種儲存媒體的部分或全部可被包括在處理平台102及/或繪圖引擎104中。此外或另一種是,此種儲存媒體的部分或全部可在處理平台102及繪圖引擎104的外部。此種儲存媒體可包括記憶體(揮發性或非揮
發性)、碟片儲存裝置、光學儲存裝置等。
主機處理平台102及繪圖引擎104可以多核心處理器中之各自的核心來予以實施。因此,這些元件可一起位於積體電路之內。
操作的範例順序現在予以說明。如圖1中所顯示,主機處理平台102可接收來自內容源106的內容串流119。在實施例中,內容串流119包括經編碼的音訊串流。此外,內容串流119包括經編碼的視訊串流。
應用程式112(其正執行於主機處理平台102上)可接收內容串流119。此接收可為直接地,或經由一個或多個中間處理元件。此類處理元件可包括(但不受限於)OS 110、繪圖引擎驅動程式111、應用程式介面(API)等等的任何組合。
自內容串流119中,應用程式112取得經編碼的音訊串流120及經編碼的視訊串流124,且將經編碼的音訊串流120及經編碼的視訊串流124提供至繪圖引擎104。依序而言,繪圖引擎104對這些串流實施各種操作。因此,繪圖引擎104產生經解碼的音訊串流122及經解碼的視訊串流126。在實施例中,繪圖引擎104可平行處理這些音訊及視訊串流。
由繪圖引擎104所實施的操作可藉由主機處理平台102來予以啟動。例如,應用程式112可致使指令被傳送至繪圖引擎104。此類指令可經由驅動程式111來予以傳送。
圖1顯示經解碼的音訊串流122及經解碼的視訊串流126被提供至主機處理平台102。在接收到之後,可立即實施另外的操作(諸如,音訊/視訊同步,及用以輸出由OS 110所保持的堆疊之緩衝)。緊接著,此類操作(對應之經解碼的音訊串流128及對應之經解碼的視訊串流130)分別被提供至音訊輸出裝置107及顯示裝置108。
如在此所述,音訊串流處理與視訊串流處理有類似的特徵。與音訊串流的處理有關之細節現在予以提供。音訊樣本典型上被轉換(失真地(lossily))成一些頻率次頻帶係數(例如,32個或64個係數)。對於一些音訊樣本而言,這些次頻帶係數(以漸增的時間順序)被包裹在一起,以構成音訊訊框。
圖2為範例的音訊訊框200之圖形。此圖以依據時間的水平行,及依據次頻帶的垂直列來予以配置。因此,此圖提供二維矩陣的值。這些值的各者為音訊樣本的次頻帶係數。
更特別而言,特定行中的次頻帶係數屬於相同的音訊樣本,其被分解成N個次頻帶(典型上,N=32或64)。此音訊訊框中的後續行(亦即,右邊的行)表示後續時間片刻中所編碼的音訊樣本。因此,行#1中的音訊樣本首先被編碼,接著是行#2中的下個音訊樣本,接著是行#3中的下個音訊樣本,以此類推。因此,圖2顯示M個音訊樣本的次頻帶係數被包裹在一起,以構成單一音訊訊框。
無失真音訊串流時常包括失真(lossy)核心,其係由
諸如圖2中所顯示的訊框之訊框所構成。另外,無失真音訊串流可包括額外的殘餘串流。此殘餘串流使解碼器能夠達成原始音訊串流的位元精確重置。
自圖2中顯然可知的是,除了音訊訊框中的各個樣本之水平及垂直(x,y)座標不代表像素的空間座標之外,此音訊訊框類似視訊訊框。更確切而言,這些座標代表音訊樣本的頻率(次頻帶)及時間座標。
圖3為範例的失真音訊串流解碼管線300之圖形。如圖3中所顯示,此管線包括可變長度解碼(VLD)模組302、反量化(反Q)模組304、額外的音訊處理模組306、反DCT(iDCT)模組308、正交鏡像濾波器(QMF)模組310、及音訊後處理模組312。這些模組可以硬體及/或軟體的任何組合來予以實施。此外,圖3的模組被呈現作為範例,而非作為限制。因此,依據特定的編解碼器特徵,此音訊管線可包括額外或較少的模組。
在一般操作中,管線300接收經編碼的(經壓縮的)音訊串流320,且產生對應之經解碼的音訊串流322。更特別而言,圖3顯示VLD模組302接收經壓縮的音訊串流320。依序而言,VLD模組302對此串流實施熵解碼。此解碼可為霍夫曼解碼。然而,實施例不受限於此範例。此解碼的結果係藉由反Q模組304來予以反量化。
模組306可對模組304的反量化結果實施額外的音訊處理。做為一例,模組306可對這些結果實施反適應性差分脈衝編碼調變(ADPCM)。然而,可實施額外及/或替
換的操作。在實施例中,遍及多個次頻帶及/或音訊樣本(例如,遍及圖2中所顯示的訊框之列及/或行),此音訊處理可(依據特定音訊編解碼器的詳細說明書)為可線程的。
對於實施DCT轉換的音訊編解碼器而言,反DCT模組308對模組306的輸出實施反DCT。緊接此後的是,QMF模組310將由模組308所提供的頻域係數轉換成時域中的脈衝編碼調變(PCM)音訊樣本。在實施例中,QMF模組310實施遍及次頻帶(例如,圖2中的列),但不必然遍及音訊樣本(例如,圖2中的行)典型上為可線程的操作。
通常,在此音訊管線中,由模組308及310所實施的反DCT及QMF操作為計算上最密集的操作。例如,當被結合時,這些操作可表示所耗費的總每秒百萬個指令(MIPS)之30-50%。
如圖3中所顯示者,音訊後處理模組312可對由QMF模組310所提供的PCM樣本實施操作。如範例的操作包括下行混合(降低此音訊串流中的數量或音訊通道)。然而,可實施替換及/或額外的操作。這產生經解碼的音訊串流322,其可被傳送至輸出裝置,諸如放大器及/或揚聲器。
圖3的管線可被個別地應用於多個音訊通道(例如,兩個、五個或更多個音訊通道)的各者。因此,各個通道可獨立地予以處理。然而,實施例不受限於此種獨立處
理。
圖3的某些模組對於視訊管線也是共同的。例如,在視訊管線中,可使用VLD模組302、反Q模組304、及反DCT模組308。因此,在圖中3,這些模組以灰色畫成陰影。由於此類共同性,所以實施例可將音訊訊框遞送至視訊管線,以便對其實施指示的操作(VLD、Inverse Q、iDCT等)。
此外,在許多情況中,繪圖引擎(例如,繪圖引擎104)不直接支援的音訊處理操作為非常可線程的。因此,此類操作可藉由此繪圖引擎的多個執行單元來予以執行。另外,在可獨立地處理音訊通道之情況中,線程能力的程度增加。此種線程能力可藉由此繪圖引擎的多個執行單元來予以支援。
為了處理音訊訊框,使用由繪圖引擎所提供的視訊管線,媒體應用程式可對繪圖驅動程式(例如,圖1的繪圖引擎驅動程式111)實施一些呼叫。不同的驅動程式呼叫之確切的數量及特性可為特定的實施。例如,此類驅動程式呼叫可依據所使用的特定音訊編解碼器(例如,DTS-HD主動式音訊、DolbyTrueHD等)。圖4提供此類驅動程式呼叫的範例。
特別而言,圖4為顯示與圖3之音訊管線模組相對應的繪圖驅動程式呼叫之圖形。這些驅動程式呼叫係為了例示而非限制的目的而予以提供。因此,可使用較少或更多的呼叫之組合。
圖4顯示喚起模組302及304的操作之第一驅動程式呼叫402,以及喚起模組306的操作之第二驅動程式呼叫404。再者,第三驅動程式呼叫406喚起模組308的操作。此外,第四驅動程式呼叫408喚起模組310及312的操作。這些驅動程式呼叫係為了例示,而非限制的目的而予以提供。因此,可使用較少或更多的驅動程式呼叫之其他配置。例如,實施例可使用合併許多驅動程式呼叫的最佳化實施,以便降低處理各個音訊訊框所需之應用程式/驅動程式互動的數量。
圖5繪示範例的邏輯流程500,其可表示由在此所述的一個或多個實施例所執行之操作。雖然圖5顯示特定的順序,但是可使用其他的順序。此外,所繪示的操作可以各種平行及/或循序的組合來予以實施。
在方塊502,應用程式將一個或多個音訊訊框重新格式化,使得其格式與視訊訊框的格式相容。在實施例中,這可包含將多個音訊訊框結合成單一較大的訊框。另一種或此外,這可包含改變以時間及/或頻率計的音訊訊框之維度大小。例如,額外的次頻帶及/或時間樣本可「補零(zero padding)」至此音訊訊框上,以使其成為視訊相容的大小。
在方塊504,實施第一繪圖驅動程式呼叫。此呼叫將此音訊訊框遞送至此繪圖引擎(例如,繪圖引擎104),以供熵解碼及反量化(例如,如藉由模組302及304來予以實施)之用。在實施例中,此繪圖引擎具有可實施這些
操作的固定功能及/或可程式化VLD引擎。
在方塊506,實施第二繪圖驅動程式呼叫。此呼叫啟動,以實施其他特定音訊的處理(例如,模組306的處理)。如以上所述,遍及次頻帶、音訊樣本及音訊通道,此種處理可為非常可線程的。因此,可達成高程度的線程能力。這允許用於藉由此繪圖引擎的執行單元之快速的有效率執行。
在方塊508,實施第三驅動程式呼叫。在此驅動程式呼叫中,此應用程式可將此音訊訊框遞送至此繪圖引擎,使得可對其實施反DCT。如同在此所述者,此繪圖引擎具有固定及/或可程式化的功能,以提供此操作的加速。
在方塊510,實施第四驅動程式呼叫。此呼叫啟動QMF操作及任何其他的音訊後處理(例如,模組310及312的操作)之執行。如上所述,這些操作可為非常可線程的(一個音訊編解碼器之線程能力的程度會與另一個音訊編解碼器之線程能力的程度不同)。因此,這些操作可為用於此繪圖引擎執行單元上的多線程執行之良好候選者。
方塊510的實施產生經解碼的音訊。因此,若此音訊伴隨視訊串流,則在方塊512,此視訊串流與音訊串流可予以同步(例如,時間上對齊)。在實施例中,此種同步可藉由此應用程式來予以實施。
在方塊514,此應用程式可將此經解碼的音訊串流傳遞至輸出音訊堆疊。此堆疊可提供輸出緩衝能力。依序而
言,在方塊516,此音訊經由一個或多個裝置而被輸出。此類裝置可包括PCM解碼器、濾波器、放大器、及/或揚聲器的任何組合。
各個音訊訊框典型上表示固定量的時間(例如,5或10毫秒,視此音訊訊框的大小而定)。因此,此應用程式可以對應的固定速率而將音訊訊框遞送至此繪圖管線。因此,可重複地實施方塊502-516的任何組合。
再者,在實施例中,此應用程式可將在此所述的這些音訊處理繪圖驅動程式呼叫與正常的繪圖驅動程式呼叫混合/重疊。因此,音訊訊框及視訊訊框可藉由此繪圖引擎平行地予以解碼及後處理。
如在此所述,各種實施例可使用硬體元件、軟體元件、或其任何組合來予以實施。硬體元件的範例可包括處理器、微處理器、電路、電路元件(例如,電晶體、電阻器、電容器、電感器等等)、積體電路、特定應用積體電路(ASIC)、可程式邏輯裝置(PLD)、數位訊號處理器(DSP)、場域可程式化閘陣列(FPGA)、邏輯閘、暫存器、半導體裝置、晶片、微晶片、晶片組等等。
軟體的範例可包括軟體組件、程式、應用、電腦程式、應用程式、系統程式、機器程式、作業系統軟體、中介軟體、韌體、軟體模組、常式、子常式、功能、方法、程序、軟體介面、應用程式介面(API)、指令集、計算碼、電腦碼、碼區段、電腦碼區段、字組、值、符號、或其任何組合。
某些實施例可例如使用為機器可讀取儲存媒體或物件來予以實施。此儲存媒體可儲存指令或指令集,若其被機器執行,則其可致使此機器依據這些實施例而實施方法及/或操作。此種機器可例如包括任何適當的處理平台、計算平台、計算裝置、處理裝置、計算系統、處理系統、電腦、處理器等等,且可使用硬體及/或軟體之任何適當的組合來予以實施。
如同在此所述者,實施例可包括儲存媒體或機器可讀取物件。這些可例如包括任何適當型式的記憶單元、記憶裝置、記憶物件、記憶媒體、儲存裝置、儲存物件、儲存媒體、及/或儲存單元(例如,記憶體、可移除或不可移除媒體、可抹除或不可抹除媒體、可寫入或可覆寫式媒體、數位或類比媒體、硬碟、軟碟、光碟唯讀記憶體(CD-ROM)、可錄式光碟(CD-R)、可覆寫式光碟(CD-RW)、光碟、磁性媒體、磁性光學媒體、可移除記憶卡或碟片、各種型式的數位多功能碟片(DVD)、磁帶、卡匣等等。這些指令可包括使用任何適當的高階、低階、物件導向、虛擬、編譯及/或解譯的程式語言所實施之任何適當型式的碼(諸如,來源碼、編譯碼、解譯碼、可執行碼、靜態碼、動態碼、加密碼等等)。
雖然本發明的各種實施例已被說明如上,但是應該要了解的是,其已被呈現僅作為範例,而非限制。例如,在此所述的技術不受限於使用二進位數字。因此,這些技術可使用任何基底的數字。
因此,熟習此相關技術者將顯然可知的是,在不脫離此發明的精神及範圍之下,可做成形式及細節上的各種改變於其中。因此,本發明的廣度及範圍不應該被上述範例實施例的任一者所限制,而應該僅依據下面的申請專利範圍及其等效者來予以界定。
100‧‧‧操作環境
102‧‧‧主機處理平台
104‧‧‧繪圖引擎
106‧‧‧內容源
107‧‧‧音訊輸出裝置
108‧‧‧顯示裝置
109‧‧‧介面
110‧‧‧作業系統(OS)
111‧‧‧繪圖引擎驅動程式
112‧‧‧媒體應用程式
119‧‧‧內容串流
120‧‧‧經編碼的音訊串流
122‧‧‧經解碼的音訊串流
124‧‧‧經編碼的視訊串流
126‧‧‧經解碼的視訊串流
128‧‧‧對應之經解碼的音訊串流
130‧‧‧對應之經解碼的視訊串流
200‧‧‧音訊訊框
300‧‧‧失真音訊串流解碼管線
302‧‧‧可變長度解碼(VLD)模組
304‧‧‧反量化(反Q)模組
306‧‧‧額外的音訊處理模組
308‧‧‧反離散餘弦轉換(iDCT)模組
310‧‧‧正交鏡像濾波器(QMF)模組
312‧‧‧音訊後處理模組
320‧‧‧經編碼的(經壓縮的)音訊串流
322‧‧‧經解碼的音訊串流
402‧‧‧第一驅動程式呼叫
404‧‧‧第二驅動程式呼叫
406‧‧‧第三驅動程式呼叫
408‧‧‧第四驅動程式呼叫
在圖式中,相似的參考標號一般表示相同、功能類似、及/或結構類似的元件。元件最先出現的圖式係藉由參考標號中的最左側數字來予以表示。本發明將參考附圖來予以說明,其中:圖1係範例的設備之圖形;圖2係範例的音訊訊框之圖形;圖3係範例的音訊串流解碼管線之圖形;圖4係顯示與音訊管線相對應的繪圖驅動程式呼叫之圖形;以及圖5係邏輯流程圖。
100‧‧‧操作環境
102‧‧‧主機處理平台
104‧‧‧繪圖引擎
106‧‧‧內容源
107‧‧‧音訊輸出裝置
108‧‧‧顯示裝置
109‧‧‧介面
110‧‧‧作業系統(OS)
111‧‧‧繪圖引擎驅動程式
112‧‧‧媒體應用程式
119‧‧‧內容串流
120‧‧‧經編碼的音訊串流
122‧‧‧經解碼的音訊串流
124‧‧‧經編碼的視訊串流
126‧‧‧經解碼的視訊串流
128‧‧‧對應之經解碼的音訊串流
130‧‧‧對應之經解碼的視訊串流
Claims (17)
- 一種音訊串流之處理方法,包含:接收內容串流於主機處理平台處,該內容串流包括包含音訊訊框之經編碼的音訊串流;將該經編碼的音訊串流中之一個以上經編碼的音訊訊框組合成單一個較大之經編碼的音訊訊框,以形成經修改之經編碼的音訊串流;以及在繪圖引擎處,自該經修改之經編碼的音訊串流中產生經解碼的音訊串流。
- 如申請專利範圍第1項之方法,其中,該產生包含:實施熵解碼運算;實施反量化運算;以及實施反離散餘弦轉換運算。
- 如申請專利範圍第2項之方法,其中,該熵解碼運算為霍夫曼解碼運算。
- 如申請專利範圍第1項之方法,其中,該經修改之經編碼的音訊串流包括一個或多個音訊訊框,對於複數個時間樣本的各者而言,各個音訊訊框包括多個次頻帶係數,該方法另包含:將該等音訊訊框的其中一個或多個格式化,以顯現為經編碼的影像訊框。
- 如申請專利範圍第1項之方法,其中,該產生包含該主機處理平台對該繪圖引擎發出一個或多個驅動程式呼 叫。
- 如申請專利範圍第1項之方法,其中,該內容串流另包括經編碼的視訊串流,該方法另包含:在該繪圖引擎處,自該經編碼的視訊串流中產生經解碼的視訊串流。
- 如申請專利範圍第6項之方法,另包含:使該經解碼的視訊串流與該經解碼的音訊串流同步。
- 如申請專利範圍第6項之方法,其中,該產生該經解碼的音訊串流及該產生該經解碼的視訊串流被平行地實施。
- 如申請專利範圍第1項之方法,另包含將該經解碼的音訊串流傳送至音訊輸出裝置。
- 如申請專利範圍第1項之方法,其中,該經解碼的音訊串流包括數位脈衝編碼調變(PCM)訊號。
- 一種音訊串流之處理設備,包含:主機處理平台,用以接收內容串流於該主機處理平台處,該內容串流包括包含音訊訊框之經編碼的音訊串流;將一個以上經編碼的音訊訊框組合成單一個較大之經編碼的音訊訊框,以形成經修改之經編碼的音訊串流;以及繪圖引擎,用以自該經修改之經編碼的音訊串流中產生經解碼的音訊串流。
- 如申請專利範圍第11項之設備,其中,該經編碼的音訊串流包括一個或多個音訊訊框,對於複數個時間樣 本的各者而言,各個音訊訊框包括多個次頻帶係數;並且其中,該主機處理平台係要將該等音訊訊框的其中一個或多個格式化,以顯現為經編碼的影像訊框。
- 如申請專利範圍第11項之設備,該繪圖引擎係要對該經編碼的音訊串流實施複數個運算,該複數個運算包括熵解碼運算、反量化運算、及反離散餘弦轉換運算。
- 如申請專利範圍第11項之設備,另包含音訊輸出裝置,且其中,該主機處理平台係要將該經解碼的音訊串流傳送至該音訊輸出裝置。
- 如申請專利範圍第11項之設備,其中,該主機處理平台被包括於多核心處理器的第一處理器中,而該繪圖引擎被包括於該多核心處理器的第二處理器中。
- 如申請專利範圍第11項之設備,另包含儲存媒體,用以儲存該內容串流。
- 如申請專利範圍第11項之設備,其中,該內容串流另包括經編碼的視訊串流,且其中,該繪圖引擎係要自該經編碼的視訊串流中產生經解碼的視訊串流,該經解碼的視訊串流之產生與該經解碼的音訊串流之產生係平行的。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/024,536 US9942593B2 (en) | 2011-02-10 | 2011-02-10 | Producing decoded audio at graphics engine of host processing platform |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201248614A TW201248614A (en) | 2012-12-01 |
TWI592925B true TWI592925B (zh) | 2017-07-21 |
Family
ID=46637584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100145054A TWI592925B (zh) | 2011-02-10 | 2011-12-07 | 音訊串流之處理方法及設備 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9942593B2 (zh) |
EP (1) | EP2673770B1 (zh) |
JP (1) | JP2014507897A (zh) |
KR (1) | KR20130116921A (zh) |
CN (1) | CN103348676B (zh) |
TW (1) | TWI592925B (zh) |
WO (1) | WO2012108934A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120216048A1 (en) * | 2011-02-17 | 2012-08-23 | Nikos Kaburlasos | System, method and computer program product for application-agnostic audio acceleration |
CN104106080B (zh) | 2011-12-27 | 2017-10-03 | 英特尔公司 | 基于图灵测试的用户认证和用户在场验证系统、设备和方法 |
US9134878B2 (en) * | 2012-09-28 | 2015-09-15 | Intel Corporation | Device and method for secure user interface gesture processing using processor graphics |
CN104143334B (zh) * | 2013-05-10 | 2017-06-16 | 中国电信股份有限公司 | 可编程图形处理器及其对多路音频进行混音的方法 |
JP6921602B2 (ja) | 2017-04-21 | 2021-08-18 | キヤノン株式会社 | 連続体ロボットの制御システム及びその制御方法、並びに、プログラム |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6331856B1 (en) | 1995-11-22 | 2001-12-18 | Nintendo Co., Ltd. | Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing |
JP3816572B2 (ja) * | 1996-03-15 | 2006-08-30 | パイオニア株式会社 | 情報記録装置及び情報記録方法並びに情報再生装置及び情報再生方法 |
US5630005A (en) * | 1996-03-22 | 1997-05-13 | Cirrus Logic, Inc | Method for seeking to a requested location within variable data rate recorded information |
US6124895A (en) * | 1997-10-17 | 2000-09-26 | Dolby Laboratories Licensing Corporation | Frame-based audio coding with video/audio data synchronization by dynamic audio frame alignment |
US6275239B1 (en) | 1998-08-20 | 2001-08-14 | Silicon Graphics, Inc. | Media coprocessor with graphics video and audio tasks partitioned by time division multiplexing |
US6208276B1 (en) * | 1998-12-30 | 2001-03-27 | At&T Corporation | Method and apparatus for sample rate pre- and post-processing to achieve maximal coding gain for transform-based audio encoding and decoding |
EP1215663A1 (en) * | 2000-12-15 | 2002-06-19 | BRITISH TELECOMMUNICATIONS public limited company | Encoding audio signals |
KR100450939B1 (ko) | 2001-10-23 | 2004-10-02 | 삼성전자주식회사 | 이미지 축소를 위한 스케일-다운 기능을 가지는 압축비디오 복호화기 및 방법 |
US7158141B2 (en) | 2002-01-17 | 2007-01-02 | University Of Washington | Programmable 3D graphics pipeline for multimedia applications |
US7130528B2 (en) * | 2002-03-01 | 2006-10-31 | Thomson Licensing | Audio data deletion and silencing during trick mode replay |
JP4542308B2 (ja) * | 2002-12-16 | 2010-09-15 | 株式会社ソニー・コンピュータエンタテインメント | 信号処理用デバイス及び情報処理機器 |
US7464028B2 (en) * | 2004-03-18 | 2008-12-09 | Broadcom Corporation | System and method for frequency domain audio speed up or slow down, while maintaining pitch |
US8099407B2 (en) * | 2004-03-31 | 2012-01-17 | Google Inc. | Methods and systems for processing media files |
JP2006166154A (ja) * | 2004-12-09 | 2006-06-22 | Matsushita Electric Ind Co Ltd | 動画像再生システム |
US20060198528A1 (en) * | 2005-03-03 | 2006-09-07 | Thx, Ltd. | Interactive content sound system |
US7750956B2 (en) * | 2005-11-09 | 2010-07-06 | Nvidia Corporation | Using a graphics processing unit to correct video and audio data |
KR100878816B1 (ko) * | 2006-02-07 | 2009-01-14 | 엘지전자 주식회사 | 부호화/복호화 장치 및 방법 |
JP2007219577A (ja) * | 2006-02-14 | 2007-08-30 | Sony Corp | データ処理装置、データ処理方法、データ処理方法のプログラム及びデータ処理方法のプログラムを記録した記録媒体 |
US7987089B2 (en) * | 2006-07-31 | 2011-07-26 | Qualcomm Incorporated | Systems and methods for modifying a zero pad region of a windowed frame of an audio signal |
US20080056373A1 (en) | 2006-08-29 | 2008-03-06 | Newlin John B | Method and system for dynamic frequency adjustment during video decoding |
JP4973492B2 (ja) * | 2007-01-30 | 2012-07-11 | 株式会社Jvcケンウッド | 再生装置、再生方法及び再生プログラム |
CN101106714A (zh) | 2007-07-29 | 2008-01-16 | 浙江大学 | 应用于视频和图像处理的变换方法 |
CN101677246B (zh) * | 2008-09-19 | 2011-08-10 | 扬智科技股份有限公司 | 具有取样频率转换的数模转换系统及其取样频率转换方法 |
KR20100124909A (ko) * | 2009-05-20 | 2010-11-30 | 삼성전자주식회사 | 이동통신 단말기에서 영상과 음성의 동기화를 위한 장치 및 방법 |
US8423355B2 (en) * | 2010-03-05 | 2013-04-16 | Motorola Mobility Llc | Encoder for audio signal including generic audio and speech frames |
US8613038B2 (en) * | 2010-10-22 | 2013-12-17 | Stmicroelectronics International N.V. | Methods and apparatus for decoding multiple independent audio streams using a single audio decoder |
-
2011
- 2011-02-10 US US13/024,536 patent/US9942593B2/en active Active
- 2011-12-07 TW TW100145054A patent/TWI592925B/zh active
- 2011-12-21 WO PCT/US2011/066340 patent/WO2012108934A1/en active Application Filing
- 2011-12-21 JP JP2013552523A patent/JP2014507897A/ja active Pending
- 2011-12-21 CN CN201180067236.1A patent/CN103348676B/zh active Active
- 2011-12-21 EP EP11858139.6A patent/EP2673770B1/en active Active
- 2011-12-21 KR KR1020137021002A patent/KR20130116921A/ko active Search and Examination
Also Published As
Publication number | Publication date |
---|---|
EP2673770A1 (en) | 2013-12-18 |
EP2673770A4 (en) | 2014-12-17 |
WO2012108934A1 (en) | 2012-08-16 |
CN103348676B (zh) | 2017-04-12 |
CN103348676A (zh) | 2013-10-09 |
JP2014507897A (ja) | 2014-03-27 |
US9942593B2 (en) | 2018-04-10 |
US20120209614A1 (en) | 2012-08-16 |
EP2673770B1 (en) | 2017-10-18 |
TW201248614A (en) | 2012-12-01 |
KR20130116921A (ko) | 2013-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI592925B (zh) | 音訊串流之處理方法及設備 | |
TWI699111B (zh) | 用於顯示串流壓縮之中點預測誤差擴散 | |
US8212828B2 (en) | Hybrid multiple bit-depth video processing architecture | |
JP2016226001A (ja) | デコーダおよび復号方法 | |
TWI556190B (zh) | 使用像素區位元値的圖形資料之壓縮及解壓縮技術 | |
US20160119624A1 (en) | Dynamic on screen display using a compressed video stream | |
JP7123910B2 (ja) | インデックスコーディング及びビットスケジューリングを備えた量子化器 | |
WO2017050116A1 (zh) | 一种基于gpu的完全硬件转码的方法和系统 | |
US10897635B2 (en) | Memory compression systems and methods | |
EP2843954B1 (en) | Lossy color compression using adaptive quantization | |
KR20100111660A (ko) | 개선된 영상 압축을 위한 바이트 표현 | |
US20140301641A1 (en) | Tile-Based Compression and Decompression for Graphic Applications | |
TWI517088B (zh) | 支援繪圖處理單元上gpu音訊輸出之方法與系統 | |
KR20240096800A (ko) | 렌더링 파이프라인들의 크로미넌스 최적화들 | |
KR20090033720A (ko) | 메모리 관리 방법, 및 멀티 채널 데이터의 복호화 방법 및장치 | |
TW200421203A (en) | Run length encoded digital image | |
KR101484101B1 (ko) | 동영상 변환 장치 | |
US10448037B2 (en) | Decoding apparatus and method for discrete wavelet transform with buffer management | |
US12033361B2 (en) | Methods and apparatus for lossless compression of GPU data | |
US20240015329A1 (en) | Method and apparatus for compression and decompression of video data without intraframe prediction | |
US20240078628A1 (en) | High-performance and low-latency implementation of a wavelet-based image compression scheme | |
WO2024049632A2 (en) | High-performance and low-latency implementation of a wavelet-based image compression scheme | |
KR20240110564A (ko) | 컬러 공간 변환을 위한 비선형 필터링 | |
WO2024129374A2 (en) | Truncation error signaling and adaptive dither for lossy bandwidth compression | |
US20140300628A1 (en) | Tile-based compression and decompression for graphic applications |