TWI519967B - 雲端運算資源動態分配系統及其方法 - Google Patents

雲端運算資源動態分配系統及其方法 Download PDF

Info

Publication number
TWI519967B
TWI519967B TW104109625A TW104109625A TWI519967B TW I519967 B TWI519967 B TW I519967B TW 104109625 A TW104109625 A TW 104109625A TW 104109625 A TW104109625 A TW 104109625A TW I519967 B TWI519967 B TW I519967B
Authority
TW
Taiwan
Prior art keywords
transcoding
transcoder
stream data
proxy server
state
Prior art date
Application number
TW104109625A
Other languages
English (en)
Other versions
TW201635163A (zh
Inventor
蘇暉凱
李昌明
楊明達
吳承崧
Original Assignee
財團法人工業技術研究院
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 財團法人工業技術研究院 filed Critical 財團法人工業技術研究院
Priority to TW104109625A priority Critical patent/TWI519967B/zh
Priority to US14/826,761 priority patent/US20160285943A1/en
Application granted granted Critical
Publication of TWI519967B publication Critical patent/TWI519967B/zh
Publication of TW201635163A publication Critical patent/TW201635163A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

雲端運算資源動態分配系統及其方法
本揭露有關於一種雲端運算資源動態分配系統及其方法。
近年來隨著網際網路、雲端運算技術以及智慧型多媒體播放平台的發展,消費者可以在隨時隨地在各種設備上觀看娛樂影音內容,因此多媒體服務提供業者將面臨到如何同時滿足各種異質播放平台之串流播放需求的問題。
為了提供適合於異質播放平台上的多媒體串流服務,須透過即時性的影像串流轉碼之服務,以將影像轉碼壓縮成適合的編碼格式,而即時性的轉碼需要很大的運算能力,不易在終端的設備(例如智慧型手機或平板電腦)上實現,因此可以透過雲端運算的技術,將轉碼的處理動作移轉至雲端伺服器。
由於多媒體串流即時轉碼需要臨時性大量運算資源,目前業界大部分是採用多工平行處理或硬體轉碼,以加快轉碼速度。然而,不論是多工平行處理或硬體轉碼皆會使得轉碼資源較無法動態調整,而使得轉碼資源較無彈性,並且會使得轉碼資源的建置成本較高。
根據本揭露一實施例中的一種雲端運算資源動態分配系統,此雲端運算資源動態分配系統適用於將一串流資料由第一編碼位元率轉碼為第二編碼位元率。此雲端運算資源動態分配系統包括複數個轉碼器以及轉碼代理伺服器。每一個轉碼器可選擇性地處於開啟狀態或關閉狀態。轉碼代理伺服器耦接處於開啟狀態的至少一個轉碼器。此轉碼代理伺服器用以接收上述的串流資料,並根據此串流資料的至少一多媒體特徵判斷處於開啟狀態的至少一轉碼器對此串流資料進行轉碼時所需花費的至少一個預計轉碼時間,並根據上述至少一個預計轉碼時間判斷出最早完成此串流資料轉碼的一目標轉碼器,以指派此目標轉碼器對此串流資料進行轉碼。
根據本揭露一實施例中的一種雲端運算資源動態分配方法,此雲端運算資源動態分配方法適用於一雲端運算資源動態分配系統,此雲端運算資源動態分配系統包括複數個轉碼器以及轉碼代理伺服器,其中每一個轉碼器可選擇性地處於開啟狀態或關閉狀態,而轉碼代理伺服器耦接處於該開啟狀態的至少一個轉碼器。此雲端運算資源動態分配系統用以將一串流資料由第一編碼位元率轉碼為第二編碼位元率。所述的雲端運算資源動態分配方法的步驟流程如下所述。透過轉碼代理伺服器接收串流資料。轉碼代理伺服器根據串流資料的至少一多媒體特徵判斷處於開啟狀態的至少一個轉碼器對串流資料進行轉碼時所需花費的 至少一個預計轉碼時間。轉碼代理伺服器根據上述至少一個預計轉碼時間判斷出最早完成串流資料轉碼的一目標轉碼器。轉碼代理伺服器指派目標轉碼器對此串流資料進行轉碼。
以上之關於本揭露內容之說明及以下之實施方式之說明係用以示範與解釋本揭露之精神與原理,並且提供本揭露之專利申請範圍更進一步之解釋。
1、1’‧‧‧雲端運算資源動態分配系統
10a~10d‧‧‧轉碼器
12‧‧‧轉碼代理伺服器
14‧‧‧雲端控制器
S200~S206、S300~S302、S400~S412、S600~S602‧‧‧步驟流程
第1A圖係為根據本揭露一實施例之雲端運算資源動態分配系統的功能方塊圖。
第1B圖係為根據本揭露另一實施例之雲端運算資源動態分配系統的功能方塊圖。
第2圖係為根據本揭露第一實施例之雲端運算資源動態分配方法的步驟流程圖。
第3圖係為根據第2圖之步驟S202的細部步驟流程圖。
第4圖係為根據本揭露第二實施例之雲端運算資源動態分配方法的步驟流程圖。
第5圖係為根據本揭露一實施例之雲端運算資源動態分配系統於增加雲端轉碼資源時的示意圖。
第6圖係為根據本揭露第三實施例之雲端運算資源動態分配方法的步驟流程圖。
第7圖係為根據本揭露一實施例之雲端運算資源動態分 配系統於釋放雲端轉碼資源時的示意圖。
以下在實施方式中詳細敘述本揭露之詳細特徵以及優點,其內容足以使任何熟習相關技藝者了解本揭露之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本揭露相關之目的及優點。以下之實施例係進一步詳細說明本揭露之觀點,但非以任何觀點限制本揭露之範疇。
本揭露的示範性實施例可包括本文中所描述(包括具體實施方式中所描述)和/或圖式中所展示的新穎特徵中的任何一個或一個以上。如本文中所使用,“至少一個”、“一個或一個以上”和“和/或”為在操作中既連接又分離的開端表達。舉例來說,表達“A、B和C中的至少一個”、“A、B或C中的至少一個”、“A、B和C中的一個或一個以上”、“A、B或C中的一個或一個以上”和“A、B和/或C”中的每一個意味單獨A、單獨B、單獨C、A和B一起、A和C一起、B和C一起或A、B和C一起。
應注意,術語“一”實體指一個或一個以上所述實體。因此,術語“一”、“一個或一個以上”和“至少一個”可在本文中互換使用。
請參照第1A圖,第1A圖係為根據本揭露一實施例之雲端運算資源動態分配系統的功能方塊圖。如第1A圖所示, 雲端運算資源動態分配系統1適用於將某一串流資料由第一編碼位元率(coding bit rate)轉碼為第二編碼位元率,此雲端運算資源動態分配系統1包括複數個轉碼器(transcoder,亦稱轉換編碼器)10a~10d、轉碼代理伺服器(transcoding proxy)12。須先一提的是,所述多個轉碼器10a~10d可選擇性地處於開啟狀態或關閉狀態,而於第1A圖所示之實施例中,轉碼器10a~10c係處於開啟狀態,而轉碼器10d係處於關閉狀態。其中,轉碼代理伺服器12耦接處於開啟狀態的所述多個轉碼器10a~10c。
值得注意的是,本揭露所述之耦接可以是以實體線路連接而實現,或是以無線通訊連接而實現,本揭露在此不加以限制。此外,雖然第1A圖之雲端運算資源動態分配系統1具有固定數量之轉碼器10a~10d,但本揭露在此不加以限制轉碼器之數量。於實務上,串流資料為一種多媒體片段(multimedia fragment),亦即串流資料係由至少一影像群組(group of picture,GOP)所組成,例如,H.264、H.264/SVC、H.264/AVC、MPEG4、Flash、QuickTime、Windows Media以及RealVideo®等串流資料,但本揭露在此不加以限制串流資料所採用的標準。此外,本揭露實施例之雲端運算資源動態分配系統1可視為一種伺服器系統,此伺服器系統可配置有多個節點(node),而所述多個轉碼器10a~10d與轉碼代理伺服器12則分別位於這些節點,這些節點可分別由實體機器(physical machine,PM)或虛擬機器(virtual machine,VM)來實現,本揭露在此不加以限制。以下將分別就雲 端運算資源動態分配系統1中的各功能方塊作詳細的說明。
所述多個轉碼器10a~10d可選擇性地處於開啟狀態或關閉狀態。處於開啟狀態的所述多個轉碼器10a~10c可對串流資料進行轉碼,以使串流資料由第一編碼位元率轉碼為第二編碼位元率,例如將串流資料由13Mbps轉碼為3Mbps或由13Mbps轉碼為1Mbps。本揭露在此不加以限制處於開啟狀態的轉碼器個數,換句話說,處於開啟狀態的轉碼器即使只有一個亦能適用於本揭露所述的雲端運算資源動態分配系統1中。另一方面,處於關閉狀態的轉碼器10d則無法對串流資料進行轉碼。本揭露在此不加以限制第一編碼位元率與第二編碼位元率的實際數值。此外,本揭露所述之關閉狀態係為睡眠狀態、休眠狀態或關機狀態,本揭露在此不加以限制。
轉碼代理伺服器12用以接收串流資料,並根據串流資料的至少一多媒體特徵判斷處於開啟狀態的所述多個轉碼器10a~10c分別對此串流資料進行轉碼時所需花費的複數個預計轉碼時間,亦即轉碼代理伺服器12會根據串流資料的所述至少一多媒體特徵而分別判斷轉碼器10a對此串流資料進行轉碼時所需花費的第一預計轉碼時間、轉碼器10b對此串流資料進行轉碼時所需花費的第二預計轉碼時間以及轉碼器10c對此串流資料進行轉碼時所需花費的第三預計轉碼時間。藉此,轉碼代理伺服器12可以根據上述三個預計轉碼時間以及轉碼器10a~10c當下的工作狀況而判斷出可以最早完成此串流資料轉碼的目標轉碼器,以指 派目標轉碼器對此串流資料進行轉碼。
於實務上,所述至少一多媒體特徵係為串流資料的量化參數(quantization parameter,QP)、串流資料的圖像(frame,亦稱畫格)張數、串流資料的影片類型與串流資料的解析度(resolution)至少其中之一。其中,上述的影片類型例如可以為戲劇類、運動類、新聞類或綜藝類,但不以此限制。一般來說,串流資料的量化參數越高代表此串流資料進行轉碼時所需花費的預計轉碼時間會較長,串流資料的圖像張數越多張代表此串流資料進行轉碼時所需花費的預計轉碼時間會較長,串流資料的影片類型的單位時間的影像變化越大代表此串流資料進行轉碼時所需花費的預計轉碼時間會較長,串流資料的解析度越高代表此串流資料進行轉碼時所需花費的預計轉碼時間會較長。
在實際的操作中,轉碼代理伺服器12亦可接收由複數個串流資料所組成的多媒體影像,且轉碼代理伺服器12在接收到上述的多媒體影像時,轉碼代理伺服器12會先對此多媒體影像進行切割,以產生複數個串流資料(亦即複數個多媒體片段),以進行後續的處理程序。此外,在實際的操作中,轉碼代理伺服器12更可以先根據串流資料的所述至少一多媒體特徵判斷出一等級參數,在根據此等級參數判斷處於開啟狀態的這些轉碼器10a~10c分別對此串流資料進行轉碼時所需花費的多個預計轉碼時間,其中上述的等級參數相關於串流資料由第一編碼位元率轉碼為第二編碼位元率時的運算複雜度(computational complexity)。
舉例來說,若欲將第i個串流資料由T Mbps(即第一編碼位元率)轉碼為F Mbps(即第二編碼位元率)時,且轉碼代理伺服器12已判斷出此串流資料的等級參數為類別k以及第j個轉碼器對第i個串流資料進行轉碼時所需花費的預計轉碼時間為。若第j個轉碼器在t i 時沒有工作負載(workload)時,則轉碼代理伺服器12會預估出第j個轉碼器對第i個串流資料進行轉碼時的預計完成時間為。另一方面,若第j個轉碼器預估在f j 時才能完成目前工作時,則轉碼代理伺服器12會預估出第j個轉碼器對第i個串流資料進行轉碼時的預計完成時間為。藉此,轉碼代理伺服器12會根據第j個轉碼器當下的工作狀況以及第j個轉碼器對第i個串流資料進行轉碼時所需花費的預計轉碼時間而預估出第j個轉碼器對第i個串流資料進行轉碼時的預計完成時間,據以判斷出可最早完成第i個串流資料轉碼的目標轉碼器,其數學表示式如下所示: 其中,係為所述多個轉碼器中能最早完成第i個串流資料轉碼的目標轉碼器。
此外,本揭露所述的雲端運算資源動態分配系統1更可以透過雲端控制器來控制所述多個轉碼器10a~10d分別係處 於開啟狀態或關閉狀態。請參照第1B圖,第1B圖係為根據本揭露另一實施例之雲端運算資源動態分配系統的功能方塊圖。如第1B圖所示,雲端運算資源動態分配系統1’包括複數個轉碼器10a~10d、轉碼代理伺服器12以及雲端控制器14。由於本實施例之雲端運算資源動態分配系統1’之大部份的功能模組與前一實施例之雲端運算資源動態分配系統1相同,故本實施例在此不再加以贅述其相同的功能模組的連接關係與作動方式。
與前一實施例之雲端運算資源動態分配系統1不同的是,本實施例之雲端運算資源動態分配系統1’更具有雲端控制器14,此雲端控制器14耦接於所述多個轉碼器10a~10d與轉碼代理伺服器12,且此雲端控制器14用以根據轉碼代理伺服器12的指示而控制所述多個轉碼器10a~10d分別係處於開啟狀態或關閉狀態。換句話說,所述多個轉碼器10a~10d受控於雲端控制器14,而可選擇性地處於開啟狀態或關閉狀態。
為了更清楚說明雲端運算資源動態分配系統1或1’的實際運作方式,請參照第2圖,第2圖係為根據本揭露第一實施例之雲端運算資源動態分配方法的步驟流程圖。如第2圖所示,此雲端運算資源動態分配方法適用於第1A圖之雲端運算資源動態分配系統1以及第1B圖之雲端運算資源動態分配系統1’。以下將以第1B圖之雲端運算資源動態分配系統1’執行本揭露所述的雲端運算資源動態分配方法進行說明。此雲端運算資源動態分配方法的步驟流程如下所述。
在步驟S200中,會透過轉碼代理伺服器12來接收串流資料。在步驟S202中,轉碼代理伺服器12會根據所接收的串流資料的至少一多媒體特徵,來判斷處於開啟狀態的至少一轉碼器對此串流資料進行轉碼時所需花費的至少一預計轉碼時間。在步驟S204中,轉碼代理伺服器12會根據至少一預計轉碼時間判斷出最早完成串流資料轉碼的目標轉碼器。最後,在步驟S206中,轉碼代理伺服器12會根據步驟S204的判斷結果,而指派目標轉碼器對此串流資料進行轉碼。
請一併參照第1B圖、第2圖與第3圖,第3圖係為根據第2圖之步驟S202的細部步驟流程圖。如第3圖所示,於轉碼代理伺服器12根據串流資料的至少一多媒體特徵判斷處於開啟狀態的至少一個轉碼器對此串流資料進行轉碼時所需花費的至少一預計轉碼時間的步驟(即步驟S202)中,更可以包括有以下所述之詳細步驟流程。在步驟S300中,轉碼代理伺服器12會根據此串流資料的所述至少一多媒體特徵而判斷出此串流資料的等級參數。其中,上述的等級參數相關於串流資料由第一編碼位元率轉碼為第二編碼位元率時的運算複雜度。接著,在步驟S302中,轉碼代理伺服器12會根據上述的等級參數而判斷處於開啟狀態的至少一轉碼器(例如,轉碼器10a~10c)對串流資料進行轉碼時所需花費的至少一預計轉碼時間。
請一併參照第1B圖與第4圖,第4圖係為根據本揭露第二實施例之雲端運算資源動態分配方法的步驟流程圖。須先 一提的是,由於第2圖所示的步驟S200~步驟S204分別相同於第4圖所示的步驟S400~步驟S404,故不再贅述。此外,第4圖之實施例須要有至少一個轉碼器係處於關閉狀態,方能據以執行。如第4圖所示,在步驟S406中,轉碼代理伺服器12會判斷處於開啟狀態的至少一個轉碼器對此串流資料進行轉碼時的預計完成時間是否超過預設的容許延遲時間(allowable delay time),以選擇性地使處於關閉狀態的至少一轉碼器切換為處於開啟狀態。其中,步驟S406的數學表示式可以如下所示: 其中,D max係為雲端運算資源動態分配系統1’的最大容許延遲時間,係為第j個轉碼器對第i個串流資料進行轉碼時的預計完成時間。
若轉碼代理伺服器12判斷處於開啟狀態的至少一個轉碼器對此串流資料進行轉碼時的預計完成時間超過上述的容許延遲時間時,則執行步驟S408;若轉碼代理伺服器12判斷處於開啟狀態的至少一個轉碼器對此串流資料進行轉碼時的預計完成時間並未超過上述的容許延遲時間時,則執行步驟S410。本實施例在此不加以限制容許延遲時間的實際時間,於所屬技術領域具有通常知識者可以依據實際使用需求,而逕行設計出合理之數值。其中,步驟S406中,轉碼代理伺服器12是判斷所有處於開啟狀態的轉碼器(包含目標轉碼器),對串流資料進行轉碼時的預計完成時間是否超過上述的容許延遲時間。
在步驟S408中,轉碼代理伺服器12會指示雲端控制器14,使處於關閉狀態的所述至少一轉碼器切換為處於開啟狀態,並重新執行轉碼代理伺服器12根據串流資料的至少一多媒體特徵判斷處於開啟狀態的至少一個轉碼器對串流資料進行轉碼時所需花費的至少一預計轉碼時間的之後步驟(即重新執行步驟S402之後的步驟)。
為了更清楚說明步驟S408的實際作動,請一併參照第1B圖與第5圖,第5圖係為根據本揭露一實施例之雲端運算資源動態分配系統於增加雲端轉碼資源時的示意圖。於第1B圖之實施例中,由於轉碼器10d係處於關閉狀態而被閒置於雲端運算資源動態分配系統1’中,因此,當轉碼代理伺服器12斷出處於開啟狀態的所述多個轉碼器10a~10c分別對此串流資料進行轉碼時的預計完成時間皆超過上述的容許延遲時間時,則處於關閉狀態的轉碼器10d會切換為處於開啟狀態。藉此,轉碼代理伺服器12會耦接處於開啟狀態的所述多個轉碼器10a~10d(如第5圖所示),並重新執行步驟S402。
請繼續參照第4圖,在步驟S410中,轉碼代理伺服器12會指派目標轉碼器對此串流資料進行轉碼。最後,在步驟S412中,於目標轉碼器將串流資料轉碼完成後,轉碼代理伺服器12會接收到由目標轉碼器所回傳的實際轉碼時間,以更新處於開啟狀態的至少一個轉碼器對下一個串流資料(即第i+1個串流資料)進行轉碼時所需花費的至少一預計轉碼時間的預估值。於實務 上,轉碼代理伺服器12係以指數平滑法(exponential smoothing method,亦稱指數平均法)來更新處於開啟狀態的所述多個轉碼器分別對下一個串流資料進行轉碼時所需花費的多個預計轉碼時間的預估值。因此,步驟S412的數學表示式可以如下所示: 其中,α係為介於0.7~0.9之間的定值。
請一併參照第1B圖、第4圖與第6圖,第6圖係為根據本揭露第三實施例之雲端運算資源動態分配方法的步驟流程圖。須先一提的是,由於第6圖所示的步驟S400~步驟S412分別相同於第4圖所示的步驟S400~步驟S412,故不再贅述。如第6圖所示,在步驟S600中,轉碼代理伺服器12判斷處於開啟狀態的至少一個轉碼器的使用率是否低於某一預設閥值,以選擇性地將使用率低於此預設閥值的轉碼器切換為處於關閉狀態。一般來說,轉碼器的使用率係為此轉碼器的工作時間除以此轉碼器的總開啟時間。本實施例在此不加以限制預設閥值的實際大小,於所屬技術領域具有通常知識者可以依據實際使用需求,而逕行設計出合理之數值。
若轉碼代理伺服器12判斷出處於開啟狀態的至少一個轉碼器的使用率低於上述的預設閥值時,則執行步驟S602;轉碼代理伺服器12判斷出處於開啟狀態的所有轉碼器的使用率皆高於上述的預設閥值時,則跳過步驟S602而直接結束本揭露之雲端運算資源動態分配方法。在步驟S602中,會將使用率低 於上述預設閥值的轉碼器切換為處於關閉狀態,即釋放(release)使用率低於上述預設閥值的轉碼器。
為了更清楚說明步驟S602的實際作動,請一併參照第1B圖與第7圖,第7圖係為根據本揭露一實施例之雲端運算資源動態分配系統於釋放雲端轉碼資源時的示意圖。於第1B圖之實施例中,當轉碼代理伺服器12判斷出處於開啟狀態的轉碼器10c的使用率低於上述的預設閥值時,則處於開啟狀態的轉碼器10c會切換為處於關閉狀態(如第7圖所示)。
在實際的操作中,被目標轉碼器轉碼完成的具有第二編碼位元率的串流資料可被集中到雲端運算資源動態分配系統1’中的儲存設備中,此儲存設備例如可以為MPEG-Dash Formatting元件,但不以此為限。藉此,終端的使用者可透過通訊連接此儲存設備來讀取並觀看具有第二編碼位元率的串流資料。
綜合以上所述,本揭露實施例提供一種雲端運算資源動態分配系統及其方法,此雲端運算資源動態分配系統及其方法可根據欲進行轉碼的串流資料的至少一多媒體特徵以及各雲端轉碼器的工作狀態以及轉碼速度,並透過執行最早完成時間優先(earliest finishing time first)演算法,來預測出可最早完成此串流資料之轉碼的目標轉碼器,以達到雲端轉碼器資源的較佳分配。此外,本揭露實施例之雲端運算資源動態分配系統及其方法更可以在無法滿足即時串流的最大容許延遲時間之限制時,增加 雲端的轉碼資源,亦即使原先處於關閉狀態的轉碼器切換為開啟狀態。
另外,本揭露實施例之雲端運算資源動態分配系統及其方法更可以在判斷出處於開啟狀態的某一個轉碼器的使用率降低時,進行雲端轉碼資源的釋放,亦即使原先處於開啟狀態且使用率低於預設閥值的轉碼器切換為關閉狀態。藉此,本揭露實施例之雲端運算資源動態分配系統及其方法僅須使用極少的雲端轉碼資源即可達到即時串流轉碼的目標。
此外,上述實施例中之轉碼代理伺服器、轉碼器以及雲端控制器,可實施在積體電路(integrated circuit,IC)、存取終端、存取點;或由積體電路、存取終端、存取點執行。積體電路可由一般用途處理器、數位信號處理器(digital signal processor,DSP)、特定應用積體電路(application specific integrated circuit,ASIC)、現場可編程閘列(field programmable gate array,FPGA)或其他可編程邏輯裝置、離散閘(discrete gate)或電晶體邏輯(transistor logic)、離散硬體元件、電子元件、光學元件、機械元件、或任何以上之組合之設計以完成在此文內描述之功能;並可能執行存在於積體電路內、積體電路外、或兩者皆有之執行碼或指令。一般用途處理器可能是微處理器,但也可能是任何常規處理器、控制器、微控制器、或狀態機。處理器可由電腦設備之組合所構成,例如:數位訊號處理器(DSP)及一微電腦之組合、多組微電腦、一組至多組微電腦以及一數位訊號處理器核心、或任 何其他類似之配置。
在此所揭露程序之任何具體順序或分層之步驟純為一舉例之方式。基於設計上之偏好,必須了解到程序上之任何具體順序或分層之步驟可在此文件所揭露的範圍內被重新安排。伴隨之方法權利要求以一示例順序呈現出各種步驟之元件,也因此不應被此所展示之特定順序或階層所限制。
雖然本揭露以上述之實施例揭露如上,然其並非用以限定本揭露。在不脫離本揭露之精神和範圍內,所為之更動與潤飾,均屬本揭露之專利保護範圍。關於本揭露所界定之保護範圍請參考所附之申請專利範圍。

Claims (20)

  1. 一種雲端運算資源動態分配系統,適用於將一串流資料由一第一編碼位元率轉碼為一第二編碼位元率,該雲端運算資源動態分配系統包括:複數個轉碼器,每一該轉碼器可選擇性地處於一開啟狀態或一關閉狀態;以及一轉碼代理伺服器,耦接處於該開啟狀態的至少一轉碼器,用以接收該串流資料,並根據該串流資料的至少一多媒體特徵判斷處於該開啟狀態的該至少一轉碼器對該串流資料進行轉碼時所需花費的至少一預計轉碼時間,並根據該至少一預計轉碼時間判斷出最早完成該串流資料轉碼的一目標轉碼器,以指派該目標轉碼器對該串流資料進行轉碼。
  2. 如請求項1所述之雲端運算資源動態分配系統,其中於該轉碼代理伺服器根據該串流資料的所述至少一多媒體特徵判斷處於該開啟狀態的該至少一轉碼器對該串流資料進行轉碼時所需花費的該至少一預計轉碼時間的過程中,該轉碼代理伺服器更包括根據該串流資料的所述至少一多媒體特徵判斷出一等級參數,以根據該等級參數判斷處於該開啟狀態的該至少一轉碼器對該串流資料進行轉碼時所需花費的該至少一預計轉碼時間,其中該等級參數相關於該串流資料由該第一編碼位元率轉碼為該第二編碼位元率時的運算複雜度。
  3. 如請求項1所述之雲端運算資源動態分配系統,其中當該些轉碼器至少其中之一處於該關閉狀態時,且於該轉碼代理伺服器根據該串流資料的所述至少一多媒體特徵判斷處於該開啟狀態的該至少一轉碼器對該串流資料進行轉碼時所需花費的該至少一預計轉碼時間後,該轉碼代理伺服器更判斷處於該開啟狀態的該至少一轉碼器分別對該串流資料進行轉碼時的一預計完成時間是否超過一容許延遲時間,以選擇性地使處於該關閉狀態的該至少一轉碼器切換為處於該開啟狀態。
  4. 如請求項3所述之雲端運算資源動態分配系統,其中於該轉碼代理伺服器判斷處於該開啟狀態的該至少一轉碼器對該串流資料進行轉碼時的該預計完成時間超過該容許延遲時間時,使處於該關閉狀態的所述至少一轉碼器切換為處於該開啟狀態,並且該轉碼代理伺服器重新執行根據該串流資料的所述至少一多媒體特徵判斷處於該開啟狀態的該至少一轉碼器對該串流資料進行轉碼時所需花費的該至少一預計轉碼時間之後的處理程序。
  5. 如請求項3所述之雲端運算資源動態分配系統,其中於該轉碼代理伺服器判斷出處於該開啟狀態的該至少一轉碼器對該串流資料進行轉碼時的該預計完成時間未超過該容許延遲時間時,該轉碼代理伺服器執行指派該目標轉碼器對該串流資料進行轉碼的處理程序,並於該串流資料轉碼完成後接收由該目標轉碼器所回傳的一實際轉碼時間,以更新處於該開啟狀態的該 至少一轉碼器對下一該串流資料進行轉碼時所需花費的該至少一預計轉碼時間的預估值。
  6. 如請求項5所述之雲端運算資源動態分配系統,其中該轉碼代理伺服器係以指數平滑法來更新處於該開啟狀態的該至少一轉碼器對下一該串流資料進行轉碼時所需花費的該至少一預計轉碼時間的預估值。
  7. 如請求項5所述之雲端運算資源動態分配系統,其中於該轉碼代理伺服器更新完處於該開啟狀態的該至少一轉碼器對下一該串流資料進行轉碼時所需花費的該至少一預計轉碼時間的預估值之後,該轉碼代理伺服器更判斷處於該開啟狀態的該至少一轉碼器的使用率是否低於一預設閥值,以選擇性地將使用率低於該預設閥值的該轉碼器切換為處於該關閉狀態。
  8. 如請求項1所述之雲端運算資源動態分配系統,其中所述至少一多媒體特徵係為該串流資料的量化參數、該串流資料的圖像張數與該串流資料的影片類型至少其中之一。
  9. 如請求項1所述之雲端運算資源動態分配系統,其中該串流資料係由至少一影像群組所組成。
  10. 如請求項1所述之雲端運算資源動態分配系統,其中該雲端運算資源動態分配系統更包括一雲端控制器,該雲端控制器耦接該些轉碼器與該轉碼代理伺服器,該雲端控制器用以根據該轉碼代理伺服器的指示控制該些轉碼器分別係處於該開啟狀態或該關閉狀態。
  11. 一種雲端運算資源動態分配方法,適用於一雲端運算資源動態分配系統,該雲端運算資源動態分配系統包括複數個轉碼器與一轉碼代理伺服器,其中每一該轉碼器可選擇性地處於一開啟狀態或一關閉狀態,該轉碼代理伺服器耦接處於該開啟狀態的至少一轉碼器,該雲端運算資源動態分配系統用以將一串流資料由一第一編碼位元率轉碼為一第二編碼位元率,該雲端運算資源動態分配方法包括:透過該轉碼代理伺服器接收該串流資料;該轉碼代理伺服器根據該串流資料的至少一多媒體特徵判斷處於該開啟狀態的該至少一轉碼器對該串流資料進行轉碼時所需花費的至少一預計轉碼時間;該轉碼代理伺服器根據該至少一預計轉碼時間判斷出最早完成該串流資料轉碼的一目標轉碼器;以及該轉碼代理伺服器指派該目標轉碼器對該串流資料進行轉碼。
  12. 如請求項11所述之雲端運算資源動態分配方法,其中於該轉碼代理伺服器根據該串流資料的所述至少一多媒體特徵判斷處於該開啟狀態的該至少一轉碼器對該串流資料進行轉碼時所需花費的該至少一預計轉碼時間的步驟中,更包括:該轉碼代理伺服器根據該串流資料的所述至少一多媒體特徵判斷出一等級參數;以及 該轉碼代理伺服器根據該等級參數判斷處於該開啟狀態的該至少一轉碼器對該串流資料進行轉碼時所需花費的該至少一預計轉碼時間;其中,該等級參數相關於該串流資料由該第一編碼位元率轉碼為該第二編碼位元率時的運算複雜度。
  13. 如請求項11所述之雲端運算資源動態分配方法,其中當該些轉碼器至少其中之一處於該關閉狀態時,且於該轉碼代理伺服器根據該串流資料的所述至少一多媒體特徵判斷處於該開啟狀態的該至少一轉碼器對該串流資料進行轉碼時所需花費的該至少一預計轉碼時間的步驟之後,更包括該轉碼代理伺服器判斷處於該開啟狀態的該至少一轉碼器對該串流資料進行轉碼時的一預計完成時間是否超過一容許延遲時間,以選擇性地使處於該關閉狀態的至少一轉碼器切換為處於該開啟狀態。
  14. 如請求項13所述之雲端運算資源動態分配方法,其中於該轉碼代理伺服器判斷出處於該開啟狀態的該至少一轉碼器對該串流資料進行轉碼時的該預計完成時間超過該容許延遲時間時,使處於該關閉狀態的該至少一轉碼器切換為處於該開啟狀態,並且該轉碼代理伺服器重新執行根據該串流資料的所述至少一多媒體特徵判斷處於該開啟狀態的該至少一轉碼器對該串流資料進行轉碼時所需花費的該至少一預計轉碼時間之後的步驟。
  15. 如請求項13所述之雲端運算資源動態分配方法,其中於該轉碼代理伺服器判斷出處於該開啟狀態的該至少一轉碼器對該串流資料進行轉碼時的該預計完成時間未超過該容許延遲時間時,執行該轉碼代理伺服器指派該目標轉碼器對該串流資料進行轉碼的步驟,並於該串流資料轉碼完成後接收由該目標轉碼器所回傳的一實際轉碼時間,以更新處於該開啟狀態的該至少一轉碼器對下一該串流資料進行轉碼時所需花費的該至少一預計轉碼時間的預估值。
  16. 如請求項15所述之雲端運算資源動態分配方法,其中該轉碼代理伺服器係以指數平滑法來更新處於該開啟狀態的該至少一轉碼器對下一該串流資料進行轉碼時所需花費的該至少一預計轉碼時間的預估值。
  17. 如請求項15所述之雲端運算資源動態分配方法,其中於該轉碼代理伺服器更新完處於該開啟狀態的該至少一轉碼器對下一該串流資料進行轉碼時所需花費的該至少一預計轉碼時間的預估值的步驟之後,該轉碼代理伺服器更判斷處於該開啟狀態的該至少一轉碼器的使用率是否低於一預設閥值,以選擇性地將使用率低於該預設閥值的轉碼器切換為處於該關閉狀態。
  18. 如請求項11所述之雲端運算資源動態分配方法,其中所述至少一多媒體特徵係為該串流資料的量化參數、該串流資料的圖像張數與該串流資料的影片類型至少其中之一。
  19. 如請求項11所述之雲端運算資源動態分配方法,其中該串流資料係由至少一影像群組所組成。
  20. 如請求項11所述之雲端運算資源動態分配方法,其中該雲端運算資源動態分配系統更包括一雲端控制器,該雲端控制器耦接該些轉碼器與該轉碼代理伺服器,該雲端控制器用以根據該轉碼代理伺服器的指示控制該些轉碼器分別係處於該開啟狀態或該關閉狀態。
TW104109625A 2015-03-25 2015-03-25 雲端運算資源動態分配系統及其方法 TWI519967B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW104109625A TWI519967B (zh) 2015-03-25 2015-03-25 雲端運算資源動態分配系統及其方法
US14/826,761 US20160285943A1 (en) 2015-03-25 2015-08-14 Cloud operation resource dynamic allocation system and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104109625A TWI519967B (zh) 2015-03-25 2015-03-25 雲端運算資源動態分配系統及其方法

Publications (2)

Publication Number Publication Date
TWI519967B true TWI519967B (zh) 2016-02-01
TW201635163A TW201635163A (zh) 2016-10-01

Family

ID=55810274

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104109625A TWI519967B (zh) 2015-03-25 2015-03-25 雲端運算資源動態分配系統及其方法

Country Status (2)

Country Link
US (1) US20160285943A1 (zh)
TW (1) TWI519967B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111629233A (zh) * 2020-05-29 2020-09-04 北京华夏电通科技有限公司 音视频转码方法及装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11082455B2 (en) * 2017-05-03 2021-08-03 T-Mobile Usa, Inc. Network gateway transcoder-utilization-aware session control
US10652296B2 (en) * 2017-10-06 2020-05-12 Arris Enterprises Llc Method and apparatus to efficiently smooth adaptive content playback in HTTP live streaming
CN108900865B (zh) * 2018-06-11 2021-06-15 网宿科技股份有限公司 服务器、转码任务的调度方法及执行方法
CN108965884B (zh) * 2018-07-13 2020-12-25 网宿科技股份有限公司 一种转码任务的分配方法及调度设备、转码设备
CN112911322B (zh) * 2021-01-26 2022-09-16 北京锐马视讯科技有限公司 直播云转码弹性伸缩方法和装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970602B1 (en) * 1998-10-06 2005-11-29 International Business Machines Corporation Method and apparatus for transcoding multimedia using content analysis
US6615212B1 (en) * 1999-08-19 2003-09-02 International Business Machines Corporation Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process
US7480416B2 (en) * 2003-05-09 2009-01-20 Telecommunications Research Laboratories Implementation of discrete wavelet transform using lifting steps
US8161475B2 (en) * 2006-09-29 2012-04-17 Microsoft Corporation Automatic load and balancing for virtual machines to meet resource requirements
JP5076083B2 (ja) * 2008-02-25 2012-11-21 株式会社メガチップス トランスコーダ
US8127043B2 (en) * 2008-11-17 2012-02-28 John Vecchio Network transcoding system
US7957304B2 (en) * 2009-06-19 2011-06-07 Verizon Patent And Licensing Inc. System for and method of using a loopback mechanism to perform network testing
JP5667210B2 (ja) * 2009-12-22 2015-02-12 ジーブイビービー ホールディングス エス.エイ.アール.エル. 適応型ファイル処理を有する分散されたビデオトランスコードシステム
US8744249B2 (en) * 2011-06-17 2014-06-03 Apple Inc. Picture selection for video skimming
US9667981B2 (en) * 2012-04-11 2017-05-30 City University Of Hong Kong Rate control for content transcoding
US20130326499A1 (en) * 2012-05-31 2013-12-05 Microsoft Corporation Automatically installing and removing recommended applications
US20150189018A1 (en) * 2013-12-31 2015-07-02 Limelight Networks, Inc. Extremely low delay video transcoding
US8775648B1 (en) * 2013-12-30 2014-07-08 Limelight Networks, Inc. Control systems and methods for cloud resource management
EP2938638B8 (en) * 2012-12-28 2018-12-26 DuPont Nutrition Biosciences ApS Depolymerisation of alginic acid
US9661106B2 (en) * 2013-12-04 2017-05-23 Facebook, Inc. Uploading and transcoding media files
US9560393B2 (en) * 2015-02-20 2017-01-31 Disney Enterprises, Inc. Media processing node

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111629233A (zh) * 2020-05-29 2020-09-04 北京华夏电通科技有限公司 音视频转码方法及装置
CN111629233B (zh) * 2020-05-29 2022-03-25 北京华夏电通科技股份有限公司 音视频转码方法及装置

Also Published As

Publication number Publication date
US20160285943A1 (en) 2016-09-29
TW201635163A (zh) 2016-10-01

Similar Documents

Publication Publication Date Title
TWI519967B (zh) 雲端運算資源動態分配系統及其方法
KR102039778B1 (ko) 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치
KR101644208B1 (ko) 이전에 계산된 모션 정보를 이용하는 비디오 인코딩
US9612965B2 (en) Method and system for servicing streaming media
ITTO20090486A1 (it) Controllore dinamico della velocita' di trasmissione indipendente dal gruppo di immagini
US20090274212A1 (en) Semiconductor Device Having Moving Image Transcoder and Transcoding Method Therefor
CN110248210B (zh) 视频传输优化方法
KR101569510B1 (ko) 적응적 실시간 트랜스코딩 방법 및 이를 위한 스트리밍 서버
Jokhio et al. A computation and storage trade-off strategy for cost-efficient video transcoding in the cloud
JP2011050117A (ja) トリックモードおよび速度移行
CN112073737A (zh) 在直播视频流应用中重新编码预测的图像帧
US20140226711A1 (en) System and method for self-adaptive streaming of multimedia content
US10284850B2 (en) Method and system to control bit rate in video encoding
JP2009504036A (ja) ビデオチャネルを通して多数のビデオストリームを送信する方法及び装置
US20240040127A1 (en) Video encoding method and apparatus and electronic device
US20150163486A1 (en) Variable bitrate encoding
Chang et al. Dynamic adjustable multimedia streaming service architecture over cloud computing
KR20140124415A (ko) 다층 레이트 제어 기법
US20150163484A1 (en) Variable bitrate encoding for multiple video streams
KR101640452B1 (ko) 스트리밍 미디어 서비스 장치 및 방법
US20140099039A1 (en) Image processing device, image processing method, and image processing system
CN112492350A (zh) 一种视频转码方法、装置、设备和介质
US11470139B2 (en) Video encoding for low-concurrency linear channels
Kobayashi et al. A Low-Latency 4K HEVC Multi-Channel Encoding System with Content-Aware Bitrate Control for Live Streaming
Huang et al. Architecture for video streaming application on heterogeneous platform