[go: up one dir, main page]

TWI419524B - 控制方法以及串流服務系統 - Google Patents

控制方法以及串流服務系統 Download PDF

Info

Publication number
TWI419524B
TWI419524B TW096109730A TW96109730A TWI419524B TW I419524 B TWI419524 B TW I419524B TW 096109730 A TW096109730 A TW 096109730A TW 96109730 A TW96109730 A TW 96109730A TW I419524 B TWI419524 B TW I419524B
Authority
TW
Taiwan
Prior art keywords
work
duration
completed
control method
streaming service
Prior art date
Application number
TW096109730A
Other languages
English (en)
Other versions
TW200737880A (en
Inventor
Kuo Hsien Hung
Yu Hsiang Lin
Original Assignee
Mediatek Inc
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 Mediatek Inc filed Critical Mediatek Inc
Publication of TW200737880A publication Critical patent/TW200737880A/zh
Application granted granted Critical
Publication of TWI419524B publication Critical patent/TWI419524B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

控制方法以及串流服務系統
本發明係有關於一種串流服務的系統與方法,特別是有關於一種多工系統以及調整其服務效能的方法。
隨著科技的進步,行動電話具有越來越多的功能。例如,除了撥電話或接電話之外,行動電話可以做為多媒體播放器、相機、編輯器,甚至可以作為網頁瀏覽器。具有多種應用程式的行動電話通常會利用多工處理核心來處理這些各式各樣的功能。
由於行動電話的系統資源(例如計算空間)通常很有限,因此為了使很多功能可以同時執行,多工處理核心必須對每個工作排定優先權順序。即時性的多媒體串流服務通常比其他工作具有較高的優先權順序。當多工手持裝置(handheld device)傳送多媒體串流至網路時,即時多媒體串流服務會根據網路頻寬來調整傳輸位元速率。例如,當網路頻寬不穩定時,即時多媒體串流服務會藉由降低傳輸位元速率來維持服務品質(quality of service,QoS)。若具有足夠且穩定的網路頻寬,即時多媒體串流服務會增加傳輸位元速率,以提供較好的多媒體服務品質,其代價是會增加此工作的處理時間。因此,可能使較低優先權的工作被延遲過久甚至無法執行。
第1圖顯示一般多工系統的時序圖。假設多工系統 必須執行第一工作以及第二工作,其中第一工作為即時工作且必須在M個時間週期(time period)內完成。第二工作不是即時工作並且具有較長的工作持續時間。一般來說,多工系統係藉由不同的執行緒(thread)來執行第一工作與第二工作,並給予其優先權,使即時性的工作能保證在一定的時間週期內完成。第1圖顯示四個執行緒A、B、C以及D,其優先權順序為A>B>C>D。執行緒A代表每M個時間週期執行一次的中斷服務程序(interrupt service routine,ISR),可用來控制執行緒B與C的工作分配。在此實施例中係將執行緒A、B與C視為第一工作,而將具有最低優先權順序的執行緒D視為第二工作。由於在第一圖中第一工作係使用無限制的資源,因此會影響第二工作的執行。例如,在時間尺標示為2M至3M之間,僅剩下少部分的處理時間來執行第二工作。當第一工作為來源/通道編碼且第二工作為非即時工作(例如檔案傳輸)時,類似的情況會更加的嚴重。
第2圖顯示進行多工之多工串流服務系統的時序圖。圖中的執行緒A、B與C被視為第一工作,且具有較低優先權之執行緒D被視為第二工作。在此實施例中的第一工作為來源/通道編碼處理。必須使用所有的執行緒A、B與C才可在M個時間週期內完成第一工作。在時間尺標示為0至M期間,多工系統係根據多媒體來源內容來分配初始編碼位元速率。由於不同的應用程式具有不同的初始編碼位元速度,因此在此不說明實際之 值。第一工作會在M個時間週期內完成,而剩餘的時間則用來執行執行緒D。第一工作在M個時間週期內完成表示其滿足第一工作的即時限制。因此在時間尺標示為M至2M期間的編碼位元速率會增加,以改善終端用戶的品質。由於第一工作會在時間尺標示為2M時完成,因此在時間尺標示為2M至3M期間的編碼位元速率會更增加。在時間尺標示為3M至4M期間,由於第一工作沒有在前一個M時間週期完成,因此編碼位元速率會大過於即時的需求。因此,在時間尺標示為3M至4M之間的編碼位元速率會降低。若網路品質穩定的話,編碼位元速率會維持在當執行緒A、B與C佔據所有可用的時間,即M個時間週期時的數值。第2圖顯示多工串流服務的處理時間與串流位元速率成正比,執行緒A、B與C會佔用所有的處理時間並且會延遲具有較低優先權之工作,例如在時間尺標示為M之後執行緒D並沒有分配到處理時間。
對具有有限處理器計算能力的多工系統來說(例如手機或PDA),當外部播放裝置透過有線或無線通道(例如藍牙、GPRS、Wi-Fi)來播放多媒體檔案時,降低具有低優先權執行緒的服務品質會延遲人機介面的更新、凍結影像解碼畫框等不具即時性的工作。
有鑑於此,本發明提供一種使具有高優先權順序的工 作撤回處理時間的方法,以維持具有低優先權順序的工作之服務品質。
本發明提供一種串流服務系統,用以在M時間單位內執行第一與第二工作。串流服務系統包括處理器,用來比較第一工作與第二工作的優先權順序,並且執行第一工作,其中第一工作的優先權順序大於第二工作的優先權順序,在第一工作完成之前中止第一工作的執行,並且執行第二工作。
再者,本發明提供一種在M時間單位內執行第一與第二工作的方法。首先,比較第一工作與第二工作的優先權順序。若第一工作的優先權順序大於第二工作的優先權順序,則執行第一工作。在上述第一工作完成之前中止第一工作的執行,並且執行第二工作。在一些實施例中,第一持續時間與第二持續時間之間的比例為常數。在其他實施例中第一持續時間與參數成正比,而第二持續時間為N時間單位。若第一與第二工作可以在M時間單位內完成,則增加參數,其中N小於M,反之則降低參數。
為讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下:
實施例:
第3圖顯示在M時間單位內執行第一與第二工作的串流服務系統。串流服務系統30包括處理器302。處理器302藉由處理第一工作產生第一資料並且以傳輸速率將第一資料傳送至網路304。第一工作的處理時間係正比於參數。當第一工作可以執行時,處理器302會將第一工作暫停N時間單位,此時處理器302可執行第二工作。處理器302會在N時間單位後執行第一工作。處理器302會根據網路頻寬以及第一工作的處理時間來調整參數。在一些實施例中,第一工作為多媒體來源編碼以及通道編碼,且參數為編碼位元速率或是編碼品質。例如,第一工作可以為MPEG編碼、卷積碼編碼(convolutional encoding)或是里德所羅門編碼(Reed-Solomon encoding)處理。MPEG編碼器的編碼品質係正比於反相的壓縮率。通道編碼器的編碼位元速率代表增加至原始資料之冗餘位元的數量。增加越多的冗餘位元對原始資料的防護越精密,如此一來也會增加編碼資料的尺寸。系統30將來源資料編碼並且將編碼資料傳送至網路。增加編碼品質或是通道編碼位元速率將使得編碼資料對通道雜訊有更強固的防護能力,因此接收編碼資料的終端用戶可成功的將編碼資料解碼。具有較大編碼速率的資料尺寸相對的也比較大並且需要更多的處理時間。因此,只要第一工作可以在M時間單位內完成(也就是多媒體可以即時播放),處理器302便可增加參數。否則,處理器302會降低參數。在一些例子中,當網路頻寬小於編碼速率時 會降低參數,如此編碼資料才可以順暢的傳送至網路。在一些實施例中,第二工作可以為人機介面、影像解碼、檔案傳輸或是其他非即時性的工作。在這些實施例的串流服務系統中係維持這些非即時性工作的服務品質。
第4圖顯示根據本發明另一實施例所述之在M時間單位內執行第一與第二工作的方法流程圖40。在步驟S401中係比較第一工作與第二工作的優先權順序。若第一工作的優先權順序大於第二工作的優先權順序,則第一工作在步驟402中執行第一持續時間。第一工作的執行在經過第一持續時間後中止,且第二工作在步驟S403中執行第二持續時間。在一些實施例中,第一持續時間與第二持續時間之間的比例為常數。在其他實施例中,第一持續時間係正比於參數,且第二持續時間為N時間單位。若第一與第二工作可以在M時間單位內完成,則參數會增加,其中N為小於M之數目,反之參數會降低。
第5圖顯示參數、用來說明流程圖40的第一與第二工作以及串流服務裝置30的時序圖。從0至M時間單位係用來初始第一工作的參數。由於第一工作在M時間單位前完成,因此在M至2M時間單位期間第一工作的參數會增加。第一工作的參數可以為編碼位元速率、編碼品質等。增加參數可提升接收端的播放品質。在2M至3M時間單位的持續期間,控制器會搜尋第一工作在前一M時間單位內未完成的封包(代表目前的編碼位元速率太高,且網路頻寬或系統計算能力無法滿足即時需求),因 此會降低編碼位元速率並且將其回復為先前的設定。在時間單位3M至4M期間,控制器尋找在M時間單位內完成的封包(代表可滿足即時效能),因而再次微調編碼位元速率以提升品質。在4M時間單位之後,若網路品質穩定則可以維持參數。
較高的編碼位元速率會導致較好的品質。當網路頻寬或伺服器計算能力無法滿足編碼位元速率的需求,則接收端的使用者無法享受即時多媒體服務。因此通道編碼器通常需要控制器根據網路狀態或系統流量來調整來源編碼之輸出位元速率,使其符合播放品質以及即時限制。當網路品質不好或是伺服器計算能力不足時,降低編碼位元速率可以降低對網路頻寬以及編碼器的處理時間之需求。因此,必須維持播放端的即時限制以達到播放品質。當網路品質穩定且伺服器的計算能力足夠時,在提供較好之播放品質的同時,編碼位元速率會增加以符合即時限制。
本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
30‧‧‧串流服務系統
302‧‧‧處理器
304‧‧‧網路
第1圖顯示傳統多工系統之時序圖。
第2圖顯示傳統具有延緩低優先權工作的多工系統之時序圖。
第3圖顯示用來在M時間單位內執行第一與第二工作之串流服務系統。
第4圖顯示用來在M時間單位內執行第一與第二工作的方法流程圖。
第5圖顯示參數、第一以及第二工作的時序圖。

Claims (14)

  1. 一種控制方法,用來在包括M時間單位的一週期性時段中控制一第一工作與一第二工作在一系統上的執行,包括:比較上述第一工作與第二工作的優先權順序;執行上述第一工作,其中上述第一工作的優先權順序大於上述第二工作的優先權順序;以及在上述第一工作完成之前中止上述第一工作的執行,並且執行上述第二工作,其中在執行上述第二工作之前,上述第一工作執行一第一持續時間,上述第二工作執行一第二持續時間,以及上述第二持續時間與上述週期性時段之間的比例為一常數。
  2. 如申請專利範圍第1項所述之控制方法,其中上述第一持續時間與第二持續時間之間的比例為一常數。
  3. 如申請專利範圍第1項所述之控制方法,其中上述第一持續時間係與一參數成正比,上述方法更包括當上述第一工作在M時間單位內完成時,增加上述參數。
  4. 如申請專利範圍第3項所述之控制方法,更包括當上述第一工作無法在M時間單位內完成時降低上述參數。
  5. 如申請專利範圍第3項所述之控制方法,更包括初始上述參數,使得上述第一與第二工作在M時間單位內完成。
  6. 如申請專利範圍第1項所述之控制方法,其中上述 第一工作係藉由至少兩個執行序而實現,包括一第一與一第二執行序,上述第一執行序係為每M時間單位執行一次之一中斷服務程序,且上述第二執行序係接著於上述第一執行序後執行。
  7. 如申請專利範圍第6項所述之控制方法,其中上述第一工作為一即時工作,且上述第二執行序為來源編碼以及通道編碼。
  8. 如申請專利範圍第7項所述之控制方法,其中上述第二工作為一人機介面、影像解碼或是檔案傳輸。
  9. 一種串流服務系統,用來在包括M時間單位的一週期性時段中執行一第一與一第二工作,包括一處理器,用來比較上述第一工作與第二工作之優先權順序,執行上述第一工作,其中上述第一工作的優先權順序大於上述第二工作的優先權順序,且在上述第一工作完成之前中止上述第一工作的執行並且執行上述第二工作,其中在執行上述第二工作之前,上述第一工作執行一第一持續時間,上述第二工作執行一第二持續時間,以及上述第二持續時間與上述週期性時段之間的比例為一常數。
  10. 如申請專利範圍第9項所述之串流服務系統,其中上述第一持續時間係正比於一參數。
  11. 如申請專利範圍第9項所述之串流服務系統,其中當上述第一工作與第二工作在M時間單位內完成時,上述處理器增加上述參數,並且當上述第一與第二工作無法在M時間單位內完成時,上述處理器降低上述參數。
  12. 如申請專利範圍第11項所述之串流服務系統,其中上述第一工作為一即時工作。
  13. 如申請專利範圍第12項所述之串流服務系統,其中上述參數為一來源編碼速率或是一通道編碼速率。
  14. 如申請專利範圍第9項所述之串流服務系統,其中上述第二工作為人機介面、影像解碼或是檔案傳輸。
TW096109730A 2006-03-22 2007-03-21 控制方法以及串流服務系統 TWI419524B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US78472006P 2006-03-22 2006-03-22
US11/681,819 US8549525B2 (en) 2006-03-22 2007-03-05 Method for tuning service performance of multi-task system and multi-task system thereof

Publications (2)

Publication Number Publication Date
TW200737880A TW200737880A (en) 2007-10-01
TWI419524B true TWI419524B (zh) 2013-12-11

Family

ID=38460429

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096109730A TWI419524B (zh) 2006-03-22 2007-03-21 控制方法以及串流服務系統

Country Status (4)

Country Link
US (1) US8549525B2 (zh)
CN (1) CN101043295B (zh)
DE (2) DE202007019706U1 (zh)
TW (1) TWI419524B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7682782B2 (en) 2004-10-29 2010-03-23 Affymetrix, Inc. System, method, and product for multiple wavelength detection using single source excitation
KR20100094973A (ko) * 2007-09-28 2010-08-27 핀-한 호 중첩 변조를 사용하는 무선 데이터 멀티캐스트용의 강건한 시스템 및 방법
TWI492592B (zh) * 2007-10-24 2015-07-11 社交通訊公司 在共享虛擬區通訊環境中之自動化即時資料串流交換技術
US7844724B2 (en) * 2007-10-24 2010-11-30 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
US8397168B2 (en) 2008-04-05 2013-03-12 Social Communications Company Interfacing with a spatial virtual communication environment
US7769806B2 (en) * 2007-10-24 2010-08-03 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
US8689217B2 (en) * 2008-10-31 2014-04-01 Electronics And Telecommunications Research Institute System and method for thread processing robot software components responsive to periodic, dedicated, and passive modes
US9853922B2 (en) 2012-02-24 2017-12-26 Sococo, Inc. Virtual area communications
US8989792B1 (en) 2010-01-22 2015-03-24 Amazon Technologies, Inc. Using inertial sensors to trigger transmit power management
US8792930B1 (en) 2010-01-22 2014-07-29 Amazon Technologies, Inc. Power management for wireless transmissions
TWI411321B (zh) * 2010-10-18 2013-10-01 Univ Nat Pingtung Sci & Tech 多媒體串流傳輸之排程控制方法
WO2013030860A1 (ja) * 2011-08-26 2013-03-07 株式会社日立製作所 予測型逐次計算装置
GB2522477B (en) * 2014-01-28 2020-06-17 Advanced Risc Mach Ltd Speculative interrupt signalling
US11321263B2 (en) * 2014-12-17 2022-05-03 Intel Corporation High bandwidth core to network-on-chip interface
US10223228B2 (en) 2016-08-12 2019-03-05 International Business Machines Corporation Resolving application multitasking degradation
US10489220B2 (en) * 2017-01-26 2019-11-26 Microsoft Technology Licensing, Llc Priority based scheduling
CN106900041B (zh) * 2017-03-03 2020-08-18 上海笃一物联科技有限公司 一种物联网节点节能方法及其装置
CN110231987A (zh) * 2019-06-21 2019-09-13 深圳市网心科技有限公司 一种数据处理方法及相关装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092095A (en) * 1996-01-08 2000-07-18 Smart Link Ltd. Real-time task manager for a personal computer
TW503663B (en) * 1999-10-06 2002-09-21 Streaming21 Inc Method and apparatus for managing streaming data
TW561374B (en) * 2000-07-26 2003-11-11 Cool Partners Inc Method and apparatus for selecting streaming media in real-time
TW579629B (en) * 2001-03-28 2004-03-11 Qualcomm Inc Method and apparatus for broadcast signaling in a wireless communication system
TWI236822B (en) * 2001-03-28 2005-07-21 Qualcomm Inc Method and apparatus for providing protocol options in a wireless communication system
TWI239741B (en) * 2004-04-27 2005-09-11 Chunghwa Telecom Co Ltd Scheduling method for HSDPA system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528513A (en) * 1993-11-04 1996-06-18 Digital Equipment Corp. Scheduling and admission control policy for a continuous media server
US6604200B2 (en) 1997-04-22 2003-08-05 Intel Corporation System and method for managing processing
US6052580A (en) * 1997-07-31 2000-04-18 Lucent Technologies Inc. Upper medium access control processor architecture
EP1213648A1 (en) 2000-12-05 2002-06-12 Infineon Technologies AG Method for coordinating tasks in a GSM network
KR20030015234A (ko) * 2001-03-05 2003-02-20 코닌클리케 필립스 일렉트로닉스 엔.브이. 차단 태스크로부터 예산을 회수하기 위한 시스템 및 방법
US20040088704A1 (en) * 2002-10-30 2004-05-06 Advanced Simulation Technology, Inc. Method for running real-time tasks alongside a general purpose operating system
CN1773457A (zh) 2004-11-08 2006-05-17 佛山市顺德区顺达电脑厂有限公司 网络程序排程方法
TW201009713A (en) * 2008-08-21 2010-03-01 Ind Tech Res Inst Multitasking processor and task switch method thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092095A (en) * 1996-01-08 2000-07-18 Smart Link Ltd. Real-time task manager for a personal computer
TW503663B (en) * 1999-10-06 2002-09-21 Streaming21 Inc Method and apparatus for managing streaming data
TW561374B (en) * 2000-07-26 2003-11-11 Cool Partners Inc Method and apparatus for selecting streaming media in real-time
TW579629B (en) * 2001-03-28 2004-03-11 Qualcomm Inc Method and apparatus for broadcast signaling in a wireless communication system
TWI236822B (en) * 2001-03-28 2005-07-21 Qualcomm Inc Method and apparatus for providing protocol options in a wireless communication system
TWI239741B (en) * 2004-04-27 2005-09-11 Chunghwa Telecom Co Ltd Scheduling method for HSDPA system

Also Published As

Publication number Publication date
CN101043295A (zh) 2007-09-26
US20070226742A1 (en) 2007-09-27
US8549525B2 (en) 2013-10-01
TW200737880A (en) 2007-10-01
CN101043295B (zh) 2012-08-08
DE102007010127A1 (de) 2007-10-04
DE202007019706U1 (de) 2016-02-22

Similar Documents

Publication Publication Date Title
TWI419524B (zh) 控制方法以及串流服務系統
EP2364551B1 (en) Multiplexed video streaming
RU2008152806A (ru) Адаптация скорости видео к состояниям обратной линии связи
US9313488B2 (en) Hypothetical reference decoder
US20120300854A1 (en) Utilizing multi-dimensional resource allocation metrics for concurrent decoding of time-sensitive and non-time-sensitive content
US20110299588A1 (en) Rate control in video communication via virtual transmission buffer
CA2803449C (en) Adaptive frame rate control for video in a resource limited system
JP2012521268A5 (zh)
JP2004088746A (ja) ストリーミング・メディアの輻輳制御メカニズム
CN104394484A (zh) 一种无线实时流媒体传输方法
JP2012156829A (ja) 符号化装置、符号化方法、および符号化プログラム
CN111886875B (zh) 一种通过网络传送媒体内容的方法及服务器
CN103339934B (zh) 视频编码
US7228535B2 (en) Methods and apparatus for multimedia stream scheduling in resource-constrained environment
US10609111B2 (en) Client-driven, ABR flow rate shaping
CN111225243B (zh) 一种视频块调度方法及系统
CN114793299B (zh) 流媒体传输控制方法、系统、设备与介质
CN100481958C (zh) 用以执行资料流的信号同步的系统与方法
CN102572516B (zh) 一种码流传输控制方法和装置
JP5677018B2 (ja) データ多重化装置、データ多重化方法及びシステム
JP2004289629A (ja) 画像データ送出装置および画像データ送出方法
TWI411307B (zh) Video playback fluency priority link source channel coding system
JP4343913B2 (ja) 画像通信システム,画像配信システム,画像通信方法,画像配信システム制御プログラムおよびそのプログラム記録媒体
GB2572357A (en) Congestion response for timely media delivery
CN100379283C (zh) 动态判定视频数据以对其编码的方法及视频传送装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees