TW514832B - Multiprocessor object control - Google Patents

Multiprocessor object control Download PDF

Info

Publication number
TW514832B
TW514832B TW090110000A TW90110000A TW514832B TW 514832 B TW514832 B TW 514832B TW 090110000 A TW090110000 A TW 090110000A TW 90110000 A TW90110000 A TW 90110000A TW 514832 B TW514832 B TW 514832B
Authority
TW
Taiwan
Prior art keywords
server
data
dsporb
dsp
client
Prior art date
Application number
TW090110000A
Other languages
Chinese (zh)
Inventor
Robert T Killian
Ajai Narayan
Rajko Milovanovic
James M Overturf
Schuyler T Patton
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Application granted granted Critical
Publication of TW514832B publication Critical patent/TW514832B/en

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Multi Processors (AREA)

Abstract

A client-server system having server task scheduling in two phases with client deadlines phase information used in a second phase subtask server scheduling. Also, an object broker for the system with collapsing of client request calls and returns to maintain data in coprocessors, and server memory management for multitasking and data flow through a shared memory for multiple coprocessors to avoid primary processor bus congestion.

Description

514832 A7 B7 五、發明説明(1 ) , 相關申請 本專利申請優先於2000年4月26日申請之臨時申請 案號 60/199,753 ; 60/199,755 ; 60/199,917 ;以及 60/199,754。 發明背景 發明範_ 本發明與電子裝置有關,尤其,本發明與多重處理器及 數位信號處理器分散式物件及方法有關。 發明背景 結合高速網路接取之網際網路的成長已促使分散式電腦 系統成爲主流。共同物件申請仲介架構(common object request broker architecture ; CORBA)及分散式組件物件 模型(distributed component object model ; DCOM)標準 已趨向簡化物件導向式網路程式設計及組件軟體方法。因 此,用户端應用程式可呼叫遠端伺服器物件,以提供資料 或功能,並且藉此簡化應用程式設計;圖24顯示一般遠端 程式呼叫架構。事實上,物件導向式程式設計加封詳細資 料,並且藉此只呈現用以查詢或與其他物件互動的物件介 面,以允許此類的分散式電腦系統。 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) CORB A的核心是用來爲本機及遠端物件之間互動提供 ’’匯流排π的物件申請仲介(object request broker ; ORB)。CORBA物件是一組方法加介面。CORBA物件的 用户端使用物件的參考作爲一種方法呼叫的代碼 (handle),就如同物件係位於用户端的位址空間中一樣。 -4- 本紙浪尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 514832 經濟部中央標準局員工消費合作社印製 A7 B7 五、發明説明(2 ) ORB負責(在可能的遠端伺服器上)找到物件的實作、準備 物件以從用户端應用程式接收呼叫請求、將請求(例如,參 數)從用户端傳輸到物件,以及,將任何回覆從物件傳回到 用户端。物件實作與ORB間的互動係藉由ORB介面或物件 介面或物件調節程式(object adapter ; 0A)進行。圖25顯 示整體CORBA架構。 一種介面定義語言(interface definition language ; IDL)定義物件介面,其包括在隱藏詳細資料(資料,實作) 的情況下用户端所要調用的方法,就如同物件導向式程式 設計的慣例一樣。IDL通常提供資料加封、多型 (polymorphism)及繼承(inheritance)。如圖24所示,用户 端調用物件函式的方式爲··先呼叫用户端stub(代理 (proxy)) ; stub將呼叫參數封送至(marshal)訊息;有線通 訊協定將訊息傳送到伺服器stub(基本架構(skeleton));伺 月良器stub從訊息解封送(unmarshal)呼叫參數,並且呼叫物 件的函式。圖25的最上層是基本程式設計架構,中間層是 遠端架構,以及最下層的有線通訊協定架構。用户端程式 及伺服器物件程式開發師運用基本程式設計架構及遠端架 構來製作用户端與伺服器處理之間的介面指標(pointer)、 物件參考及代理(handle)意義。有線通訊協定將遠端架構 有效擴大至各種硬體裝置之間。 如 Cheung 等人所著作的"DCOM and CORBA Side by Side,Step by Step,and Layer by Layer” 中所述,可運 用下列五種檔案來建立一種簡易型應用程式,以使用含有 -5- 本纸張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂 •辦 514832 A7 ___B7 五、發明説明(3 ) 具備CORBA功能之用户端及伺服器處理器的遠端物件: (l)IDL檔案,用以定義物件的介面。IDL編譯程式,係用 來產生用户端stub以及加上介面標題檔案的物件基本架構 程式碼,以供用户端及伺服器使用。(2)實作標題檔案,係 用來從介面衍生出物件的伺服器實作類別。實質上,實作 類別(依繼承(inheritance))與IDL編譯程式所建立的介面類 別關聯。(3) —種伺服斋類別方法的實作。(4)伺服器的主程 式;此程式將伺服器類別的執行個體(instance)(物件)個體 化。以及,(5)用户端應用程式,其藉由呼叫將物件方法調 用至用户端stub。 經濟部中央標準局員工消費合作社印裝 就靜態物件引動過程而言’在編輯之後與執行之前, CORBA會暫存可在實作儲存機制(rep〇sit〇ry)中執行之飼 ,器之介面名稱與路徑名稱間的關聯(請參閲圖25)。就動 態物件?丨動過程而言,IDL編譯程式也會產生介面中每個方 式的型別資訊’並且會將型別資訊儲存至介面儲存機制 (rep〇S1t〇ry)中。用户端可查詢介面儲存機制㈣心㈣, 以取得關於特定介面的執行時期(Runtime)資訊,錢使用 該執行時期資訊以透過動態?丨動過程介㈣财立及調用 物件万法。同樣地,在伺服器端,動態基本架構介面讓用 户端能夠調用物件作業,在實作此賴件時沒有該物件型 別的编譯時期知識。 圖26a顯不物件用户端請求及其方法引動過程的 最上層(基本程式設計架構)作業狀況,以及物件執行個體 (mstance)的伺服器建立和對用户端的可用性。具體而言, 本紙張尺度H用中國國家標隼(CNS ) Α4規格(210X297公釐) 514832 經濟部中央標準局員工消費合作社印製 A7 B7 五、發明説明(4 ) 物件啓動過程(Activation)如下:(1)用户端呼叫適用於物 件介面的用户端stub靜態函式。(2)〇rb啓動含用支援該物 件介面之物件的伺服器。(3)伺服器程式個體化物件並暫存 物件參考。(4)0RB將物件參考傳回到用户端應用程式。然 後,針對物件方法引動過程[UJ2],用户端呼叫最終會調 用伺服器中方法的物件介面方法。如果方法有傳回値,則 伺服器會將這些値傳回到用户端。 圖26b顯示含有物件啓動過程(Activation)的c ORB A中 間層(遠端架構):(1) 一接收到呼叫後,用户端以汕隨即將 工作委託(Delegate)給ORB。(2)〇RB諮詢實作儲存機制 (repository),以將呼叫映射到其伺服器路徑名稱,並啓動 词服器程式。(3 )词服器個體化物件,並且還建立專屬表考 ID以獲得物件參考。其暫存物件參考與orb。伺服器類 的建構函式(Constructor)還建立基本架構類別的執行個體 (instance)。(5)0RB將物件參考傳回到用户端,而且還建 立用户端stub類別的執行個體(instance),並在具有對應物 件參考的用户端stub物件表格中暫存該執行個體 (instance)。(6)用户端stub將物件參考傳回到用户端。然 後按照下列方式進行物件方法的用户端引動過程:[1 ] 一接 收到用户端呼叫後,用户端stub隨即建立請求虛擬物件、 將呼叫參數封送至虛擬物件、呼叫以將該虛擬物件置入要 傳至伺服器之通道中的訊息中,以及,等待回覆。[2]當訊 息抵達伺服器時,ORB負責尋找目標基本架構、重建請求 虛擬物件並將請求虛擬物件轉遞至基本架構。[3]基本架構 本紙張尺度適用中國國家榡準(CNS ) A4規格(210X297公釐) (請先閱讀背面之注意事項再填寫本頁) 衣 訂 經濟部中央標準局員工消費合作社印製 514832 A7 B7 五、發明説明(5 ) 解封送來自於請求虛擬物件的參數、調用伺服器物件方 法、封送傳回値(若有傳回値),並且從基本架構方法返回。 ORB建置(Build)回覆訊息並將之置於傳輸緩衝器。[4]當 回覆抵達用户端方時,ORB呼叫在從接收緩衝器讀取回覆 訊息後返回。然後,用户端stub解封送傳回値並將之傳回 到用户端,以完成呼叫。 如圖26c所示,物件啓動過程的最下層(有線通訊協定架 構)包括:(1) 一接收到請求後,用户端方ORB隨即選用支 援該物件的機器,並經由TCP/IP將請求傳送至伺服器方 ORB。(2)當伺服器方ORB啓動伺服器時,伺服器會個體化 物件、呼叫ORB建構函式(Constructor)以及調用建立 (create)函式。在建立(create)函式内建立通訊端(Socket) 結束點(endpoint)、爲物件指派物件識別(Identity)、建立 物件參考,該物件參考含有介面及實作名稱、參考識別 (Identity)及結束點(endpoint)位址。暫存物件參考與 ORB。(3)當將物件參考傳回到用户端方時,用户端stub擷 取結束點(endpoint)位址並建立連至伺服器的通訊端 (Socket)連線。然後,按照下列程序進行方法引動過程: 一接收到呼叫後,用户端stub以通用資料表示(common data representation ; CDR)格式封送參數。[2]透過已建 立的通訊端(Socket)連線將請求傳送至目標伺服器。[3]藉 由參考識別(Identity)或介面執行個體識別項(interface instance identifier)來識別目標基本架構。以及[4]在調用 伺服器物件的實際方法後,基本架構以CDR格式封送傳回 -8- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁) 訂 融- 經濟部中央標隼局員工消費合作社印裝 514832 A7 B7 五、發明説明(6) 値。 CORBA的即時擴充功能通常提供如可預測效能、保全 作業(secure operation)及資源配置之類的服務品質(QoS) 外觀(Aspect)。例如,Gill等人著作的”Applying Adaptive Middleware to Manage End-te^End QoS for Next· generation Distributed Applications” 0 已採用作爲中繼型的CORBA組件,並且可利用關聯的組 件實作定義語言(component implementation definition language ; CIDL)來描述實作。圖27説明程式設計步驟。 DCOM同樣具有三層,並且其架構有點類似於 CORBA 〇514832 A7 B7 V. Description of the Invention (1), Related Applications This patent application has priority over provisional applications filed on April 26, 2000. Case numbers 60 / 199,753; 60 / 199,755; 60 / 199,917; and 60 / 199,754. BACKGROUND OF THE INVENTION The present invention relates to electronic devices. In particular, the present invention relates to multiple processors and digital signal processor distributed objects and methods. BACKGROUND OF THE INVENTION The growth of the Internet combined with high-speed Internet access has led to the decentralized computer system becoming mainstream. Common object request broker architecture (CORBA) and distributed component object model (DCOM) standards have tended to simplify object-oriented network programming and component software methods. Therefore, the client application can call the remote server object to provide data or functions and simplify the application design; Figure 24 shows the general remote program call architecture. In fact, object-oriented programming encapsulates detailed information and thereby presents only the object interface for querying or interacting with other objects, allowing such decentralized computer systems. Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs (please read the notes on the back before filling this page) The core of CORB A is to apply for the intermediary of objects that provide `` busbar π '' for interaction between this machine and remote objects (Object request broker; ORB). CORBA objects are a set of methods and interfaces. The client of a CORBA object uses the object's reference as a method to call the handle as if the object were in the client's address space. -4- This paper scale is applicable to the Chinese National Standard (CNS) A4 specification (210X 297 mm) 514832 Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs A7 B7 V. Description of the invention (2) ORB is responsible (in the possible remote servo On the server) to find the implementation of the object, prepare the object to receive the call request from the client application, transfer the request (eg, parameters) from the client to the object, and pass any reply from the object back to the client. The interaction between the object implementation and the ORB is carried out through an ORB interface or an object interface or an object adapter (0A). Figure 25 shows the overall CORBA architecture. An interface definition language (IDL) defines an object interface, which includes methods to be invoked by the client while hiding detailed information (data, implementation), just like the conventions of object-oriented programming. IDL usually provides data encapsulation, polymorphism, and inheritance. As shown in Figure 24, the way in which the client invokes the object function is to call the client stub (proxy) first; the stub marshals the call parameters to a (marshal) message; the wired communication protocol sends the message to the server stub (skeleton); unmarshal unmarshal call parameters from the message, and call the function of the object. The top layer of Figure 25 is the basic programming architecture, the middle layer is the remote architecture, and the bottom layer is the wired protocol architecture. Client program and server object program developers use the basic programming framework and remote architecture to create interface pointers, object references, and handle meaning between the client and the server. Wired protocols effectively extend the remote architecture between various hardware devices. As described in "DCOM and CORBA Side by Side, Step by Step, and Layer by Layer" by Cheung et al., The following five files can be used to create a simple application to use Paper size applies Chinese National Standard (CNS) A4 specification (210X 297 mm) (Please read the precautions on the back before filling this page) Order 514832 A7 ___B7 5. Description of the invention (3) Client with CORBA function And remote objects of the server processor: (l) IDL file, which is used to define the interface of the object. The IDL compiler is used to generate the client's stub and the object's basic structure code with the interface header file for users. And server use. (2) The implementation title file is a server implementation class used to derive objects from the interface. In essence, the implementation class (inheritance) and the interface created by the IDL compiler Class associations. (3) — implementation of a servo class method. (4) the main program of the server; this program individualizes instances (objects) of the server class. And, (5) Client application, which calls the object method to the client stub by calling. Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs. As far as the static object activation process is concerned, after editing and before execution, CORBA will temporarily store the actual For the implementation of the storage mechanism (rep0sit〇ry), the association between the interface name and the path name (see Figure 25). As far as dynamic objects are concerned, the IDL compiler also generates interfaces. Type information in each of the methods' and store the type information in the interface storage mechanism (rep0S1t〇ry). The client can query the interface storage mechanism ㈣ heart to obtain the runtime of the specific interface (Runtime ) Information, money uses the execution period information to dynamically establish financial and call object methods through the dynamic process. Similarly, on the server side, the dynamic basic architecture interface allows the client to call object operations, and implement this There is no compile-time knowledge of the object type at the time of the request. Figure 26a shows the top-level (basic programming framework) operation of the object client request and its method activation process. Status, and server establishment of the object instance (mstance) and availability to the client. Specifically, this paper size H uses the Chinese National Standard (CNS) Α4 specification (210X297 mm) 514832 Employees of the Central Standards Bureau of the Ministry of Economic Affairs Cooperative printed A7 B7 V. Description of the invention (4) The activation process of the object (Activation) is as follows: (1) The client calls the client stub static function applicable to the object interface. (2) 〇rb startup includes the interface that supports the object Server of the object. (3) The server program personalizes the object and temporarily stores the object reference. (4) 0RB sends the object reference back to the client application. Then, for the object method initiation process [UJ2], the client call will eventually invoke the object interface method of the method in the server. If the method returns packets, the server passes those packets back to the client. Figure 26b shows the c ORB A middle layer (remote architecture) that contains the activation process of the object: (1) After receiving the call, the user terminal delegates work to the ORB. (2) 〇RB consults and implements a repository to map the call to its server path name, and starts the servlet program. (3) The server uses individual objects, and also establishes a unique test ID to obtain object references. Its temporary object reference and orb. The constructor of the server class also creates instances of the basic architecture class. (5) The 0RB transmits the object reference back to the client, and also establishes an instance of the client stub type, and temporarily stores the instance in the client stub object table with the corresponding object reference. (6) The client stub sends the object reference back to the client. Then, the client-side activation process of the object method is performed as follows: [1] Upon receiving the client-side call, the client-side stub creates a request for a virtual object, marshals the call parameters to the virtual object, and calls to place the virtual object in In a message to the server ’s channel, and waiting for a reply. [2] When the message arrives at the server, the ORB is responsible for finding the target basic architecture, rebuilding the request virtual object, and forwarding the request virtual object to the basic architecture. [3] Basic structure This paper size applies to China National Standards (CNS) A4 (210X297 mm) (Please read the notes on the back before filling out this page) Printed by the Staff Consumer Cooperative of the Central Standards Bureau of the Ministry of Clothing and Commerce 514832 A7 B7 V. Description of the invention (5) Unmarshalling parameters from requesting virtual objects, calling server object methods, marshaling and returning 若 (if any), and returning from the basic framework method. The ORB builds a reply message and places it in the transmission buffer. [4] When the reply arrives at the client side, the ORB call returns after reading the reply message from the receive buffer. Then, the client stub is unblocked and sent back to the client and it is sent back to the client to complete the call. As shown in Figure 26c, the lowest layer of the object startup process (wired protocol architecture) includes: (1) After receiving the request, the client ORB then chooses a machine that supports the object, and sends the request to the server via TCP / IP. Server side ORB. (2) When the server-side ORB starts the server, the server will personalize the object, call the ORB Constructor, and call the create function. In the create function, create a Socket end point, assign an object identity to the object, and create an object reference. The object reference contains the interface and implementation name, reference identity, and end. Point (endpoint) address. Temporary Object Reference and ORB. (3) When the object reference is returned to the client, the client stub retrieves the endpoint address and establishes a socket connection to the server. Then, the method is initiated according to the following procedure: Once a call is received, the client stub marshals the parameters in a common data representation (CDR) format. [2] Send the request to the target server through the established socket connection. [3] The target basic architecture is identified by reference identification (identity) or interface instance identifier (interface instance identifier). And [4] After calling the actual method of the server object, the basic structure is marshaled back in CDR format. -8- This paper size applies to China National Standard (CNS) A4 specification (210X297 mm) (Please read the note on the back first) (Please fill in this page for matters)) Rongrong-Printed by the Consumers' Cooperative of the Central Bureau of Standards of the Ministry of Economic Affairs 514832 A7 B7 V. Description of Invention (6) 値. CORBA's real-time extensions typically provide quality of service (QoS) aspects such as predictable performance, secure operations, and resource allocation. For example, "Applying Adaptive Middleware to Manage End-te ^ End QoS for Next · Generation Distributed Applications" by Gill et al. 0 has adopted a CORBA component as a relay type, and can use the associated component to implement a component implementation language (component implementation definition language; CIDL). Figure 27 illustrates the programming steps. DCOM also has three layers, and its architecture is somewhat similar to CORBA.

Notenboom USP 5,748,468 及 Equator Technologies PCT已發行的申請wo 99/12097均説明用以將處理器資源 配置給多重工作的方法。Notenboom根據優先序系統來考 慮外加輔助處理器的主機處理器與配置輔助處理器的工 作。Equator Technologies根據工作耗時量與以所支援之 至少木一服務等級(處理為資源消耗率)呈現之每件工作來排 程處理器資源,·並且如果有足夠的資源可提供給所支援的 服務等級,則資源管理員會准許加入工作。 具有兩個或兩個以上處理器(每個處埋器都具有自己的作 業系統或BIOS)的系統包括具有經由網際網路連接之廣闊分 離之處理器的系統,並且還包括在相同諸如外加一個或一 個以上DSP型RISC CPU之類的同一半導體晶圓上集成兩個 或兩個以上處理器的系統。 -9- '^紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) --— (請先閲讀背面之注意事項再填寫本頁) 衣 訂 經濟部中央標準局員工消費合作社印製 514832 A7 B7 五、發明説明(7 ) XDAIS標準規定在DSP上執行之演算法的介面;這提供 可多次使用的物件。XDAIS要求演算法實作外加擴充功能 的標準介面IALG,以適合執行該演算法。XDAIS還要求符 合諸如可重新配置程式碼及命名慣例之類特定彈性規則。 用户端應用程式可藉由呼叫函式指標表格來管理演算法的 執行個體(instance)。配合XDAIS標準/準則,演算法開發 者能夠發展或轉換演算法,以至於很容易插入諸如iDSP媒 體平台 DSP架構(iDSP Media Platform DSP Framework) 之類的DSP應用程式架構。 由於所有即收即播媒體(streaming-media)型應用程式的 即時服務需求,造成在網路節點(用.户端/伺服器)内需要服 務品質(QoS)管理員。即收即播媒體型應用程式必須處理 具有唯一轉譯最後期限的異質性編碼解碼器(編碼器/解碼器) 及篩選常式(Filter)。這些應用程式還應能夠利用及解譯人 類感知特定以非失誤性降低服務品質。在這些應用程式的 處理及轉譯週期期間應能夠處理合理的不穩定訊號(jitter) 量。例如,在視訊應用程式中,轉譯的訊框速率必須維持 在30訊框/秒(fps),用以解譯成33毫秒(ms)的訊框週期。 但是,當應用程式與伺服器進行協商時,應能夠承受有限 的瞬間變化。再者,以3 0 fp s,人類視覺感知可承受大約6 訊框/秒的訊框落差。此外,用户端應用程式應能夠支援非 失誤性效能降級(瞬間訊框下降),並且能夠在與伺服器協商 的特定容限内維持不變的轉譯。QoS管理員是提供必要函 式及功能的機制,以實現此類的即時系統。 -10- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁)Notenboom USP 5,748,468 and Equator Technologies PCT published applications wo 99/12097 both describe methods for allocating processor resources to multiple jobs. Notenboom considers the work of the host processor plus the auxiliary processor plus the auxiliary processor based on a prioritized system. Equator Technologies schedules processor resources based on the amount of time spent on the job and each job presented at a supported service level (processed as a resource consumption rate), and if there are sufficient resources available to support the service Level, the resource manager will grant permission to join the job. A system with two or more processors (each with its own operating system or BIOS) includes a system with a widely separated processor connected via the Internet, and also includes A system in which two or more processors are integrated on the same semiconductor wafer such as one or more DSP-type RISC CPUs. -9- '^ Paper size applies to Chinese National Standard (CNS) A4 specification (210X297 mm) --- (Please read the notes on the back before filling out this page) Printed by the Staff Standards Bureau of the Central Standards Bureau of the Ministry of Clothing and Economy A7 B7 V. Description of Invention (7) The XDAIS standard specifies the interface of the algorithm executed on the DSP; this provides objects that can be used multiple times. XDAIS requires the algorithm to implement a standard interface IALG with extended functions to be suitable for implementing the algorithm. XDAIS also requires compliance with specific flexible rules such as reconfigurable code and naming conventions. The client application can manage the instance of the algorithm by calling a function indicator table. In line with the XDAIS standard / criteria, algorithm developers can develop or transform algorithms so that it is easy to insert DSP application program architectures such as the iDSP Media Platform DSP Framework. Due to the real-time service requirements of all streaming-media applications, a quality of service (QoS) manager is required in the network nodes (clients / servers). Pay-as-you-go media applications must handle heterogeneous codecs (encoders / decoders) and filters with unique rendering deadlines. These applications should also be able to leverage and interpret human perception to reduce service quality non-missively. These applications should be able to handle a reasonable amount of jitter during the processing and rendering cycles. For example, in a video application, the frame rate of the rendering must be maintained at 30 frames per second (fps) to interpret a frame period of 33 milliseconds (ms). However, when the application negotiates with the server, it should be able to withstand limited transient changes. Furthermore, with 30 fp s, human visual perception can withstand a frame drop of about 6 frames / second. In addition, client applications should be able to support non- erroneous performance degradation (instantaneous frame degradation) and be able to maintain constant rendering within specific tolerances negotiated with the server. The QoS manager is a mechanism that provides the necessary functions and functions to implement such real-time systems. -10- This paper size applies to Chinese National Standard (CNS) A4 (210X297 mm) (Please read the precautions on the back before filling this page)

訂 經濟部中央標準局員工消費合作社印製 514832 A7 B7 五、發明説明(8 ) 隨著諸如數據用户線(DSL)及有線數據機之類的寬頻通訊 激增而形成新市場,並且爲消費者裝置實現供處理及消耗 的空前資料量,促使更有效率的資料處理、路徑選擇及處 理技術必須隨之成長。 圖20顯示資料流程如何通過現行異質系統處理元件的圖 式。每筆資料交易都會經過編碼,以呈現時間定序。每筆 資料交易皆必須在中央控制處理器(Central Control Processor ; CCP)的控制下通過系統匯流排。CCP藉由經 由控制路徑將訊息或觸發(Trigger)傳送到系統中的各種處 理元件以初始化交易。 圖20中將處理元件顯示成能夠執行一組已定義之工作的 分開處理器(例如,DSP、ASIC、GPP等等)。這就是爲什 麼所顯示的每個處理器都具有自己的記憶體。處理元件也 可能是在同一處理器上執行的個別工作。 在某些情況下,同一資料必須通過系統匯流排多次(例 如,交易1和2、3和4以及5和6)。在此類系统中,資料必須 通過系統匯流排總共2 + (2 X η)次,在此情況下爲6次。每 次通過系統匯流排及CCP介入都會引入資料流程内部操作 時間(overhead),並且會降低整個系統總處理能力。 資料流程内部操作時間(overhead)會對在給定時間範圍 内通過系統移動的資料數量造成負面影響,進而限制系統 能夠處理的資料量。此類系統所執行的有用工作很可能少 於以其他方式指示其元件的功能總和。 發明概述 -11 - 本紙張尺度適用中國國家標準(CNS ) A4g ( 210X297公釐) (請先閱讀背面之注意事項再填寫本頁) 訂 線 經濟部中央標準局員工消費合作杜印裝 A7 ~ --—------B7 _ 五、發明説明(9 ) " — -- 本發明揭示mm以上功能的主從式 、erver)系統,其包括一伺服器工作的二階段排程; 叫牛㈢长仲7丨(obJect request broker),其適用於在伺服 器DSP上具有工作鏈結的主從式系統,用以每次將内部記 隐二割成外加屬於單一執行工作的工作區(w〇…pace)之 處理备内郅操作時間(overhead)以進行多工作業處理器内 彳Z It & ’在異質系統中的資料流程,該異質系統包 括中央k制處理器及外加用以處理元件之共用記憶體的匯 心排連接式處理元件,以避免巾央控制處理器匯流排。 圖式簡單描述 、· 所提供的圖式是爲了更容易明白本發明。 圖1顯不較佳具體實施例DSPORB架構。 圖2説明IDL編譯。 圖3到13顯示服務品質(QoS)的時序圖。 圖14到19顯示較佳具體實施例記憶體分析& 圖20顯示已知的異質系統資料流程。 圖21到23顯示較佳具體實施例資料流程。 圖24到27解説CORBA。 較佳具體實施例詳細説明 1.概覽 較佳具體實施例系統通常具有執行用户端應用程式的主 處理器加上執行伺服器演算法的一個或一個以上伺服器處 理斋’並且包括演算法物件的物件請求仲介、物件請求仲 介的服務品質控制、演算法物件的記憶體分頁以及演算法 -12- 本紙張尺度適用中國國家標準(CNS ) A4規格( 210X297公釐) ' --- (請先閲讀背面之注意事項再填寫本頁) 訂 經濟部中央標準局員工消費合作社印製 514832 A7 B7 五、發明説明(1〇) 物件的資料流程。稱爲iDSPOrb的較佳具體實施例應用於 具有一個主處理器及一個或一個以上DSP處理器的系統。Order printed by the Consumer Cooperative of the Central Standards Bureau of the Ministry of Economic Affairs 514832 A7 B7 V. Description of the invention (8) With the proliferation of broadband communications such as data subscriber lines (DSL) and cable modems, new markets have been formed, and consumer devices Achieving an unprecedented amount of data for processing and consumption has prompted more efficient data processing, path selection and processing technology to grow with it. Figure 20 shows a diagram of how the data flow is processed through the current heterogeneous system. Each data transaction is coded to present the time sequence. Each data transaction must pass through the system bus under the control of the Central Control Processor (CCP). CCP initiates transactions by sending messages or triggers to various processing elements in the system via the control path. Figure 20 shows the processing elements as separate processors (e.g., DSP, ASIC, GPP, etc.) capable of performing a defined set of tasks. This is why each processor shown has its own memory. The processing elements may also be individual tasks performed on the same processor. In some cases, the same data must pass through the system bus multiple times (for example, transactions 1 and 2, 3 and 4 and 5 and 6). In such systems, the data must pass through the system bus a total of 2 + (2 X η) times, in this case 6 times. Every time through the system bus and CCP intervention, the internal operation time (overhead) of the data flow will be introduced, and the overall system processing capacity will be reduced. The internal operation time of the data flow (overhead) will have a negative impact on the amount of data moved through the system within a given time range, thereby limiting the amount of data that the system can process. Such systems are likely to perform less useful work than otherwise indicate the sum of the functions of their elements. Summary of Invention -11-This paper size is applicable to Chinese National Standard (CNS) A4g (210X297 mm) (Please read the precautions on the back before filling out this page) Threading Department of the Ministry of Economic Affairs Central Standards Bureau Consumption Cooperation Du printed A7 ~- --------- B7 _ V. Description of the invention (9) " --- The present invention discloses a master-slave, erver) system with functions above mm, which includes a two-stage scheduling of a server operation; called牛 ect 长 仲 7 丨 (obJect request broker), which is applicable to a master-slave system with a working link on the server DSP, which is used to divide the internal memory into two working areas that belong to a single execution task ( w〇 ... pace) to handle the internal operating time (overhead) for multi-tasking processors. Z It & 'Data flow in a heterogeneous system, which includes a central k-processor and additional The bus core of the processing element's shared memory is connected to the processing element to avoid the central control processor bus. Brief description of the drawings, The drawings are provided to make the invention easier to understand. Figure 1 shows the DSPORB architecture of the preferred embodiment. Figure 2 illustrates IDL compilation. Figures 3 to 13 show timing diagrams for Quality of Service (QoS). Figures 14 to 19 show the preferred embodiment memory analysis & Figure 20 shows the known heterogeneous system data flow. 21 to 23 show the data flow of the preferred embodiment. Figures 24 to 27 illustrate CORBA. Detailed description of the preferred embodiment 1. Overview The preferred embodiment system typically has a main processor executing a client application plus one or more servers processing server algorithms, and includes algorithm objects. Object request intermediary, object request intermediary service quality control, algorithm object memory paging and algorithm-12- This paper size applies to China National Standard (CNS) A4 specification (210X297 mm) '--- (Please read first Note on the back, please fill out this page again.) Order printed by the Consumers Cooperative of the Central Standards Bureau of the Ministry of Economic Affairs 514832 A7 B7 V. Description of the invention (1) Information process of the articles. The preferred embodiment, called iDSPOrb, is applied to a system with a main processor and one or more DSP processors.

iDSPOrb是一種支援建立DSP物件及從一般用途處理器 (General Purpose Processor ; GPP)或多重處理器環境中 另一個DSP存取DSP物件的高效能DSP物件請求仲介(DSPiDSPOrb is a high-performance DSP object request broker (DSP) that supports the creation of DSP objects and access to DSP objects from another DSP in a general purpose processor (GPP) or multiprocessor environment.

Object Request Broker ; DSPORB)。iDSPOrb 具有一般 架構,並且運作類似於CORB A。iDSPOrb具有下列的 DSPORB 功能: (1) iDSPOrb支援橫跨處理器界限的物件繫結(〇bject binding)及引動過程(DSP物件程序呼叫)。 (2) iDSP0rb提供由编譯時期標題及靜態引動過程stub的 組成的GPP方代理介面,以及執行時期(Run-Time)動態引 動過程介面。 (3) iDSP0rb提供DSP方演算法介面(stub及標題),以建 置iDSP伺服器。 (4) iDSPOrb提供同步及非同步引動過程。 (5) iDSP0rb提供保證型即時服務品質(QoS)。 (6) iDSP0rb提供訊框型及資料流型處理。 (7) iDSP0rb提供物件鏈結資料流程(留在DSP記憶體中的 中間結果)。 (8) iDSP0rb是在高頻寬多通道GPP/DSP I/O介面上實 作。 圖1顯示GPP/DSP雙處理器組態配置的iDSPOrb架構, 其中GPP係作爲”用户端,,,而DSP則是作爲”伺服器”。 -13- 本纸張尺度適用中國國家樣準(CNS ) A4規格(210X297公羡) (請先閱讀背面之注意事項再填寫本頁)Object Request Broker; DSPORB). iDSPOrb has a general architecture and operates similar to CORB A. iDSPOrb has the following DSPORB functions: (1) iDSPOrb supports object binding (Object binding) and activation process (DSP object program call) across processor boundaries. (2) iDSP0rb provides a GPP party agent interface composed of a compilation period header and a static boot process stub, and a run-time dynamic boot process interface. (3) iDSP0rb provides a DSP algorithm interface (stub and title) to build an iDSP server. (4) iDSPOrb provides synchronous and asynchronous triggering process. (5) iDSP0rb provides guaranteed immediate quality of service (QoS). (6) iDSP0rb provides frame type and data stream type processing. (7) iDSP0rb provides object link data flow (intermediate results left in DSP memory). (8) iDSP0rb is implemented on a high-bandwidth multi-channel GPP / DSP I / O interface. Figure 1 shows the iDSPOrb architecture of the GPP / DSP dual-processor configuration configuration, where the GPP is used as the "user end" and the DSP is used as the "server". -13- This paper standard applies to China National Standard ) A4 specification (210X297 public envy) (Please read the precautions on the back before filling this page)

514832 A7 B7 五、發明説明(11 ) iDSP系統中的服務品質(Quality of Service ; QoS)管理 員(此處稱之爲iDSP-QoSM)是一種(在伺服器内)爲用户端 應用程式提供協商式服務等級的機制,其提供具有傳達至 用户端之預先決定降級原則的保證式服務品質。iDSP-QoSM具有下列的特性:(l)iDSP-QoSM係在駐存在網路 (節點内部)上之節點有限内容内定義。其假定有適當的QoS 管理員負責控制節點内部(網路)通訊。(2)所定義的iDSP-QoSM適用於具有負載分擔功能的多重處理器環境。 較佳具體實施例iDSP-QoSM執行下列的函式:(1)監視 系統中伺服器上不變的處理負載。(2)將負載從過載伺服器 散發至其對等伺服器。(3)與用户端應用程式協商服務需 求,以利於在伺服器上暫存任何額外的負載。(4)根據伺服 器所服務之個別物件的特有特定,以預測伺服器上的未來 負載。(5)演算法執行時期預測係以處理器時間週期爲基 礎,而不是以處理時間爲基礎:.以此方式,演算法執行時 期預測不會受到處理器操作頻率的約束。 經濟部中央標準局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁)514832 A7 B7 V. Description of the Invention (11) The Quality of Service (QoS) administrator in the iDSP system (herein referred to as iDSP-QoSM) is a way (in the server) to provide negotiation for client applications Mechanism of service level, which provides guaranteed service quality with pre-determined downgrade principles communicated to the client. iDSP-QoSM has the following characteristics: (l) iDSP-QoSM is defined within the limited content of nodes residing on the network (inside the nodes). It assumes that an appropriate QoS administrator is responsible for controlling the node's internal (network) communication. (2) The defined iDSP-QoSM is suitable for a multi-processor environment with a load sharing function. The preferred embodiment iDSP-QoSM executes the following functions: (1) Monitoring the constant processing load on the server in the system. (2) Distribute the load from the overload server to its peer server. (3) Negotiate service requirements with client applications to facilitate temporary storage of any additional load on the server. (4) To predict the future load on the server based on the specific characteristics of the individual objects served by the server. (5) The algorithm execution period prediction is based on the processor time period, not based on the processing time: In this way, the algorithm execution time prediction is not constrained by the processor's operating frequency. Printed by the Consumers' Cooperative of the Central Standards Bureau of the Ministry of Economic Affairs (Please read the precautions on the back before filling this page)

Texas Instruments TMS320C62XX DSPs 中具有有 P艮的 内部(晶片上)資料記憶體量。除TMS320C6211(及其衍生 性商品)外,TMS320C62XX DSP不具有用以實現外部記 憶體(晶片夕卜)存取效率的資料快取區(Data Cache)。内部 記憶體係在TMS3 20C62XX DSP資料記憶體階層架構中的 最高層。因此,在TMS320C62XX DSP上執行的所有演算 法均想要使用内部記憶體作爲其資料工作區,因爲内部記 憶體是存取資料記憶體的最高效率等級。 -14- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 514832 A7 B7 五、發明説明(12) 一般而言,所發展的DSP演算法係假設其擁有整個DSP處 理器,因此擁有DSP的所有内部記憶體。這使得整合數種 不同的演算法而成爲相同(同質)或不同(異質)極端困難。演 算法開發師需要關於共同存取方法及使用諸如内部記憶體 之類系統資源的一組規則。 較佳具體實施例提供一種方法,用以當藉由使用DSP内 部記憶體的資料分頁架構(Data Paging Architecture)在無 資料快取區的DSP上執行多重演算法時增加處理器使用 率。運用Texas Instruments XDAIS標早即可實現發展或 轉換符合資料分頁架構的DSP演算法。此項標準要求演算 法開發師定義用來支援演算法的所有資料記憶體的一項或 一項以上記憶體區。在這些使用者定義的記憶體區之中, 演算法開發師會選用其中一個或全部在TMS320C62X DSP 内部記憶體中執行。在應用程式的DSP系統軟體部份範圍 内,會將内部記憶體分割成系統支援及資料工作區(分頁)。 D S P應用程式内的所有演算法均共用該工作區,並且在執 行時期擁有整個該工作區。根據兩個演算法間的内容切 換,DSP系統軟體將分別處理該工作區與每個演算法之外 部陰影記憶體間的轉輸。較佳具體實施例提供: 經濟部中央標率局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) (1) 在兩個或兩個以上DSP演算法間的無資料快取區DSP 中共用内部資料記憶體,以增加處理器使用率。 (2) 當存取資料記憶體時,從同一共用的内部記憶體執行 多重演算法,讓每個演算法都能夠享有TMS320C62X DSP環境中的最大效率。 -15- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 514832 A7 B7 五、發明説明(13 經濟部中央標準局員工消費合作社印製 ⑺此㈣可在具有内部記憶體及具有處理器内部 存取權之DMA公用程式的任何單—處理器上運作。心83· ⑷只在資料輸人減㈣上執㈣容 效率資料分頁架構。 ㉒叫供取佳 支援唯讀型演算法資料的非對稱式分頁轉輸。 應用程式中的資料流程可能會因演算法而異,並且較佳 具體實施例提供在一個或一個以上DSp中保存資料,而、 ,會爲每個演算法執行透過匯流排運送至/自GPp。 不 2·雙處理器組態配置中的DSP ORB 圖1顯示包括一般用途處理器(GPP)及數位信號處理器 (DSP)之雙處理器組態配置的較佳具體實施例 (’’iDSPOrb”)架構,其中GPP係作爲,,用户端,,,而Dsp則是 作爲”伺服器"。請注意,iDSPOrb包括服務品質(Q〇s)管理 員。圖1顯示調用兩個D S P演算法物件’’ a "及,,B,’的用户端 應用程式。首先,iDSPOrb在GPP上提供代理(用户端stub) 物件”a”及” b”的物件繫結(object binding)。例如,” a,,及 "B”可能是解碼器(DEC)的DSPIDL介面擴充功能,如下所 示: module DEC { interface IDecoder { int process([ in] BUFFER input, [out] BUFFER output); -16 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨〇X297公釐) (請先閲讀背面之注意事項再填寫本頁) 訂 514832 A7 B7 五、發明説明(14 ) interface A : IDecoder { } interface B : IDecoder { } } 會使用DSPIDL編譯程式所提供的演算法介面來建置DSP 方應用程式(稱爲iDSP伺服器): DEC一A—Handle DEC一A create(IALG_Params* p); int DEC一A一decode(BUF_Handle in, BUF—Handle out); 還會使用DSPIDL編譯程式所提供的代理介面來建置GPP方 應用程式: 經濟部中央標準局員工消費合作社印製 DEC—A* DEC—A一create(DSPORB一Params* p); int DEC—A—decode(DSPORB—Buffer* in,DSPORB—Buffer* out); 或使用iDSP Orb動態引動過程介面。於執行時期,可從 GPP方用户端應用程式呼叫”a”,以處理緩衝器。然後,將 此資料傳送到DSP方上的實際物件” A,,。使用物件鏈結資料 流程’可將”A”的輸出連接到”B”的輸入,所以不會將中間 資料緩衝器轉回到GPP。,,b”調用,,B”而導致將資料傳回到 GPP的另一項處理步驟。iDSPOrb的動態引動過程介面支 援同步及非同步引動過程。 不需要在GPP與單一 DSP之間分割iDSPOrb,也可在具 有多重DSP的組態配置中執行iDSPOrb。在此情況下, QoS管理員(伺服器方)會在可用的DSP之間執行DSP演算法 負載平衡。其他的組態配置可由ASIC(作爲固定功能的 -17- 本纸張尺度適财( CNS) A4^ (2iGx297^jy 514832 五、發明説明(15 ) 經濟部中央標準局員工消費合作社印製 A7 B7 DSP)或ASIC加RISC所組成,其中會將演算法介面提供給 用户端應用程式。 2a. DSPIDL編譯程式 iDSPOrb 支援DSPIDL( — 種 IDL (Interface Definition Language ;介面定義語言),其具有下列關鍵字: module: interface規格集合。 例如,H263 module可含有Decoder及Encoder interface 〇 interface : interface(介面)規格。 in :表示輸入引數 out :表示輸出引數 BUFFER :表示緩衝器型另丨J STREAM :表示資料流型另丨J RESULT ··表示函式傳回型另d 其他項係針對記憶體利用率,即時 DSPIDL檔案的一般形式在於 module modulename { interface algorithm-1 [: alg 1,alg2,…]{ algorithm-1 (PARAMS)// constructor method method_ 1 method_2 method 3 -18- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X29?公釐) (請先閱讀背面之注意事項再填寫本頁)Texas Instruments TMS320C62XX DSPs have a built-in (on-chip) data memory. With the exception of TMS320C6211 (and its derivatives), the TMS320C62XX DSP does not have a data cache (Data Cache) for external memory (chip) access efficiency. The internal memory system is the highest level in the TMS3 20C62XX DSP data memory hierarchy. Therefore, all algorithms performed on the TMS320C62XX DSP want to use internal memory as its data workspace, because internal memory is the highest level of efficiency for accessing data memory. -14- This paper size applies to the Chinese National Standard (CNS) A4 specification (210X 297 mm) 514832 A7 B7 V. Description of the invention (12) Generally speaking, the developed DSP algorithm assumes that it has the entire DSP processor. So it has all the internal memory of the DSP. This makes it extremely difficult to integrate several different algorithms to be the same (homogeneous) or different (heterogeneous). Algorithm developers need a set of rules for common access methods and the use of system resources such as internal memory. The preferred embodiment provides a method for increasing processor utilization when executing multiple algorithms on a DSP without a data cache by using the data paging architecture of the DSP's internal memory. Using Texas Instruments XDAIS standard can realize the development or conversion of DSP algorithms in accordance with the data paging architecture. This standard requires algorithm developers to define one or more memory areas of all data memory used to support the algorithm. Among these user-defined memory areas, the algorithm developer will choose one or all of them to execute in the internal memory of TMS320C62X DSP. Within the scope of the application's DSP system software, the internal memory is divided into system support and data workspaces (paging). All algorithms in the DSP application share this workspace and own the entire workspace during execution. According to the content switching between the two algorithms, the DSP system software will separately process the transfer between the work area and the external shadow memory of each algorithm. The preferred embodiment provides: Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs (please read the notes on the back before filling this page) (1) No data cache between two or more DSP algorithms The internal data memory is shared in the local DSP to increase processor utilization. (2) When accessing data memory, multiple algorithms are executed from the same shared internal memory so that each algorithm can enjoy the maximum efficiency in the TMS320C62X DSP environment. -15- This paper size applies to Chinese National Standard (CNS) A4 (210X297 mm) 514832 A7 B7 V. Invention Description (13 Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs. Any unit of the DMA utility that has internal access to the processor operates on the processor. Mind 83. ⑷ Only implement data efficiency paging architecture on data input reduction. How to provide support for read-only algorithms Asymmetric pagination of data. The data flow in the application may vary from algorithm to algorithm, and the preferred embodiment provides that the data is stored in one or more DSp, and, is executed for each algorithm. Shipped to / from GPp via bus No. 2. DSP ORB in dual processor configuration configuration Figure 1 shows the comparison of dual processor configuration configuration including general purpose processor (GPP) and digital signal processor (DSP). The best embodiment ("iDSPOrb") architecture, where the GPP is used as the client, and Dsp is used as the "server". Please note that iDSPOrb includes Quality of Service (QoS) administrators. 1 shows a client application that calls two DSP algorithm objects' 'a " and ,, B,'. First, iDSPOrb provides proxy (user stub) objects "a" and "b" on GPP. Object binding. For example, "a, and " B" may be the DSPIDL interface extension of the decoder (DEC), as follows: module DEC {interface IDecoder {int process ([in] BUFFER input, [ out] BUFFER output); -16 This paper size is applicable to Chinese National Standard (CNS) A4 specification (2 丨 〇297mm) (Please read the precautions on the back before filling this page) Order 514832 A7 B7 V. Description of the invention ( 14) interface A: IDecoder {} interface B: IDecoder {}} will use the algorithm interface provided by the DSPIDL compiler to build a DSP application (called an iDSP server): DEC-A—Handle DEC-A create (IALG_Params * p); int DEC_A_decode (BUF_Handle in, BUF_Handle out); It will also use the agent interface provided by the DSPIDL compiler to build GPP application programs: DEC A * DEC-A a create (DSPORB a Params * p); int DEC-A-decode (DSPORB-Buffer * in, DSPORB-Buffer * out); iDSP Orb or dynamic invocation interface process. At runtime, "a" can be called from the GPP client application to process the buffer. Then, send this data to the actual object "A" on the DSP side. Use the object link data flow to 'connect the output of' A 'to the input of' B ', so the intermediate data buffer will not be transferred back To GPP., B "Call, B" causes another process step to transfer the data back to GPP. IDSPOrb's dynamic activation process interface supports synchronous and asynchronous activation processes. No need between GPP and a single DSP Split iDSPOrb, iDSPOrb can also be executed in a configuration with multiple DSPs. In this case, the QoS manager (server side) will perform DSP algorithm load balancing among the available DSPs. Other configuration configurations ASIC (-17- this paper is a fixed function (CNS) A4 ^ (2iGx297 ^ jy 514832) 5. Description of the invention (15) A7 B7 DSP printed by the Consumer Cooperative of the Central Standards Bureau of the Ministry of Economic Affairs) or ASIC plus RISC It consists of the algorithm interface provided to the client application program. 2a. DSPIDL compiler iDSPOrb supports DSPIDL (— an IDL (Interface Definition Language) interface definition language, which has the following key Word: module: interface specification set. For example, H263 module can contain Decoder and Encoder interface 〇 interface: interface (interface) specifications. In: indicates input parameters out: indicates output parameters BUFFER: indicates buffer type and J STREAM: Representation of data stream type 丨 J RESULT ·· Representation of function return type and other items are for memory utilization. The general form of real-time DSPIDL file is module modulename {interface algorithm-1 [: alg 1, alg2, ...] {algorithm-1 (PARAMS) // constructor method method_ 1 method_2 method 3 -18- This paper size applies to Chinese National Standard (CNS) A4 specification (210X29? mm) (Please read the precautions on the back before filling this page)

514832 A7 B7 經濟部中央標準局員工消費合作社印裝 五、發明説明(16 其中method是 RESULT function([ direction] TYPE,·.·) direction 是 in、out 或[in,out],以及 TYPE 是 BUFFER 或STREAM。例如,H263 IDL可產生如圖2所示的演算法 及代理介面。 2b.訊框及資料流處理 訊框與資料流處理間具有下列差異。 關键字: BUFFER :具有作爲以逐一訊框爲基礎之引數型另,J處理序 之BUFFER的函式。 STREAM :具有作爲訊框資料流之引數型別處理序之 STREAM的函式,通常係藉由繁衍(Spawn)工作。 函式呼叫 DSPORB—Buffer c〇nnect(DSPORB一Buffer* out, DSPORB—Buffer* in)以及 DSPORB—Stream—connect(DSPORB_Stream* out, D S P 0 RB__S tre am * in) 以提供將物件輸出連接到輸入(分別是訊框或資料流)。就缓 衝器而言,連接運算子將引發DSPORB在DSP上建立記憶 體緩衝器’其中會儲存某一方法引動過程的輸出,以供另 一方法引動過程的輸入使用(物件鏈結)。例如: DSPORB Buffer—connect(yuvframe out,yuvframe一in); -19- 本紙張尺度適财晒家標準Τ^ΰ^ΰΐ〇Χ297石 (請先閲讀背面之注意事項再填寫本頁)514832 A7 B7 Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs V. Invention Description (16 where method is a RESULT function ([direction] TYPE, ···)) direction is in, out or [in, out], and TYPE is BUFFER Or STREAM. For example, H263 IDL can generate the algorithm and proxy interface as shown in Figure 2. 2b. Frame and data stream processing The frame and data stream processing have the following differences. Keyword: BUFFER: has one by one Frame-based argument type. In addition, the BUFFER function of the J process order. STREAM: A function that has STREAM as the argument type process order of the frame data stream, usually by Spawn work. The function calls DSPORB_Buffer c〇nnect (DSPORB_Buffer * out, DSPORB_Buffer * in) and DSPORB_Stream_connect (DSPORB_Stream * out, DSP 0 RB__Stre am * in) to provide the connection of the object output to the input ( (Frames or data streams, respectively.) As far as buffers are concerned, the connection operator will cause DSPORB to create a memory buffer on the DSP ', which will store the output of one method's initiation process for another method The input of the dynamic process is used (object link). For example: DSPORB Buffer-connect (yuvframe out, yuvframe one in); -19- This paper size is suitable for financial standards Τ ^ ΰ ^ ΰΐ〇Χ297 石 (Please read the back first (Notes for filling in this page)

經濟部中央標準局員工消費合作社印製 514832 A7 ______B7 _ 五、發明説明(17) H263—TIDEC—decode(h263frame_in,yuvframe一out); YUV_TI_toRGB(yuvframe in, rgbframe out); 就資料流處理而言,諸如 H2 6 3 一TI DEC 一dec ode Stream( in一 stream,out—stream); 之類的代理引動過程通常會導致在DSP方上建立工作,以 處理兩個資料流SIO資料流(H263_TIDEC_decodeStream 的實作將繁衍(spawn)執行此項工作的工作)。不是作爲連 接的資料流提供用户端代理與伺服器間的I/O。 2c.即時QoS管理員 iDSPOrb可提供硬即時Q〇s,其方式是透過DSPORB_ System 一 setTimeConstraint〇 及 DSPORB_ System— setPriority()介面,在一組時間條件約束範圍内配置要執行 給定作業所需的資源。GPP/DSP通道I/O驅動程式允許以 平行方式運作多重線程。QoS管理員屬於DSP上iDSPOrb 的一部份,其負責(1)按照用户端的需求來個體化演算法, (2)從用户端應用程式更新條件約束,並管理資源以符合條 件約束(或是回報無法符合條件約束),以及(3)更多功能。 2d. iDSPORB註册服務 iDSPOrb提供類別註册服務,所以伺服器物件可註册其 月艮務。例如,可使用iDSPOrb註册解碼MP3音訊的伺服器 物件。用户端物件藉由供應所要求之服務的名稱來個體化 伺服器物件。藉由提供適用於音訊及視訊服務的一組標準 Moniker,屬於媒體領域相容的任何DSP物件服務種類均可 使用iDSPOrb註册服務: -20- 本紙張尺度適用中國國家標準(CNS ) Μ規格(210X297公釐) (請先閱讀背面之注意事項再填寫本頁)Printed by the Consumer Cooperative of the Central Standards Bureau of the Ministry of Economic Affairs 514832 A7 ______B7 _ V. Description of the invention (17) H263—TIDEC—decode (h263frame_in, yuvframe_out); YUV_TI_toRGB (yuvframe in, rgbframe out); In terms of data stream processing, A proxy initiation process such as H2 6 3-TI DEC-dec ode Stream (in-stream, out-stream); usually results in the establishment of work on the DSP side to process the two data streams SIO data stream (the implementation of H263_TIDEC_decodeStream (Work that will spawn this job). It does not provide I / O between the client agent and the server as a connected data stream. 2c. The real-time QoS manager iDSPOrb can provide hard real-time Q〇s, which is through the DSPORB_ System_setTimeConstraint〇 and DSPORB_ System_ setPriority () interface, to configure the set of time constraints required to perform a given job Resources. The GPP / DSP channel I / O driver allows multiple threads to operate in parallel. The QoS manager is part of the iDSPOrb on the DSP. It is responsible for (1) individualizing algorithms according to user needs, (2) updating condition constraints from client applications, and managing resources to meet condition constraints (or return Unable to meet condition constraints), and (3) more features. 2d. IDSPORB registration service iDSPOrb provides a category registration service, so server objects can register their services. For example, you can use iDSPOrb to register server objects that decode MP3 audio. Client objects personalize server objects by providing the name of the requested service. By providing a set of standard Moniker for audio and video services, iDSPOrb registration services can be used for any DSP object service category that is compatible in the media field: -20- This paper size applies to the Chinese National Standard (CNS) M specifications (210X297 Mm) (Please read the notes on the back before filling out this page)

514832 A7 B7 五、發明説明(18) 音訊服務 視訊服務 MP3 Audio Decode(MP3 音訊解碼)MPEG1 Video Decode(MPEGl視訊解碼) MP3 Audio Encode(MP3 音訊編碼)MPEG1 Video Encode(MPEGl 視訊 編碼) MPEG1 L2 Audio Decode(MPEGl L2 MPEG2 Video Decode(MPEG2 視訊 會解碼) 解碼) MPEG1 L2 Audio Encode(MPEGl L2 MPEG2 Video Encode(MPEG2 視訊 音訊編碼) G. 723 Decode(G· 723 解碼) G. 723 Encode(G. 723 編碼) G. 729 Decode(G. 729 解碼) G. 729 Encode(G. 729 編碼) 編碼) MPEG4 Video Decode(MPEG4 視訊 解碼) MPEG4 Video Encode(MPEG4 視訊 編碼) Η. 263 Decode(H· 263 解碼) Η. 263 Encode(H· 263 編碼) (請先閱讀背面之注意事項再填寫本頁) 訂 經濟部中央標率局員工消費合作社印裝 iDSPOrb註册服務允許iDSPOrb於執行時期以動態方式 個體化伺服器物件。當個體化伺服器物件時,iDSPOrb在 微處理器與DSP間動態指派低階I/O通道。用户端物件可經 由iDSPOrb即收即播介面存取這些低階通道(請參閲 DSPORB-Stream介面)。iDSPOrb註册服務還能夠資訊, 讓iDSPOrb能夠找到提供特定服務的DSP,並且讓Q〇S管 理員能夠進行負載平衡及排程規劃(請參閲即時QoS管理 員)。例如,使用動態引動過程模型,呼叫DSPORB — ALG_create (”MP3 Audio Decode",NULL)將個體化 MP3音訊解碼器的執行個體(instance)。iDSPOrb負載平衡 系統,並且用户端會受到實際執行解碼器之DSP詳細資料 21 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X29*7公釐) 514832 A7 B7 五、發明説明(19) 保護,以及會配置什麼低階資料流配置來傳送資料。用户 端還可藉由查詢iDSPOrb以列舉目前註册之伺服X器類別的 清單。可使用 DSPORB—Alg* DSPORB—System_ getServices()函式來取得目前柱册之服務的列舉項 (enumerator)。然後,可呼叫 char *DSPORB_System一 next(DSPORB-Alg *enum)來取得每項已註册之服務的名 稱。藉由呼叫DSPORB— System—reset(DSPORB—Handle *ennm),可將列舉重設爲起點。 2e.媒體架構支援。 iDSPOrb可用來支援媒體處理加速,其方式是提供特定 媒體架構的組件,諸如514832 A7 B7 V. Description of the Invention (18) Audio Service Video Service MP3 Audio Decode (MP3 Audio Decode) MPEG1 Video Decode (MPEGl Video Decoding) MP3 Audio Encode (MPl Audio Encoding) MPEG1 Video Encode (MPEGl Video Encoding) MPEG1 L2 Audio Decode (MPEGl L2 MPEG2 Video Decode) Decoding) MPEG1 L2 Audio Encode (MPEGl L2 MPEG2 Video Encode) G. 723 Decode (G. 723 Decoding) G. 723 Encode (G. 723 Encoding) G. 729 Decode (G. 729 decoding) G. 729 Encode (G. 729 encoding) MPEG4 Video Decode (MPEG4 video decoding) MPEG4 Video Encode (MPEG4 video encoding) Η. 263 Decode (H · 263 decoding) Η. 263 Encode (H. 263) (Please read the precautions on the back before filling out this page.) Order the iDSPOrb registration service for employees' cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs to allow iDSPOrb to dynamically individualize server objects during the execution period. When individualizing server objects, iDSPOrb dynamically assigns low-order I / O channels between the microprocessor and the DSP. Client objects can access these low-level channels via the iDSPOrb plug-and-play interface (see DSPORB-Stream interface). The iDSPOrb registration service also provides information, allowing iDSPOrb to find DSPs that provide specific services, and allows QOS administrators to perform load balancing and scheduling (see Instant QoS Manager). For example, using a dynamic triggering process model, calling DSPORB — ALG_create (“MP3 Audio Decode ", NULL) will personalize an instance of the MP3 audio decoder. The iDSPOrb load balancing system, and the user end will be subject to the actual implementation of the decoder. DSP Details 21-This paper size applies Chinese National Standard (CNS) A4 specification (210X29 * 7mm) 514832 A7 B7 V. Description of the invention (19) Protection and what low-level data stream configuration will be configured to transmit data. Users The client can also query the iDSPOrb to enumerate the list of currently registered server X types. You can use the DSPORB—Alg * DSPORB—System_ getServices () function to get the enumerator of the services of the current column. Then, you can Call char * DSPORB_System_next (DSPORB-Alg * enum) to get the name of each registered service. By calling DSPORB_System_reset (DSPORB_Handle * ennm), you can reset the enumeration to the starting point. 2e. Media Architecture Support. IDSPOrb can be used to support media processing acceleration by providing components of a specific media architecture, such as

DirectShow (Windows Media):可實作的篩選物件,以 包裝(wrap) iDSPOrb編碼解碼器用户端物件,並插入 DirectShow 架構。DirectShow (Windows Media): A filter object that can be implemented to wrap the iDSPOrb codec client object and insert it into the DirectShow framework.

RealMedia Architecture (RealSystem G2):可實作的 轉譯外掛程式,以包裝(wrap) iDSPOrb編碼解碼器用户端 物件,並插入RealSystem G2架構。 經濟部中央標準局員工消費合作社印裝 還可使用相同方法,將DSPOrb插入至JMF及 QuickTime 〇 在DSPORB模組中加封iDSPOrb的API。下文中將説明 用户端(GPP)方DSPORB的資料型別及函式。 2f.資料型別: DSPORB Alg : DSP演算法物件的用户端代理。 DSPORB—Fxn :要配合動態引動過程使用的函式物件。 -22- 本纸張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 經濟部中央標準局員工消費合作社印製 514832 A7 B7 五、發明説明(2〇 ) DSPORB_Arg :要配合動態引動過程使用的函式引數。 DSPORB—Buffer 及 DSPORB 一 Stream 是 DSPORB—Arg 的 ’子類別 ’(Subclass)。 DSPORB_Params :提供符合DSP方之IALG一Params演算 法參數結構之演算法的參數。 DSPORB_Buffer :緩衝器物件。 DSPORB_Stream :資料流物件。 2g. DSPORB Buffer介面 -DSPORB—Buffer* DSPORB_Buffer_ci;eate(int size, int direction); 建立可引用size資料長度的缓衝器物件。direction是 DSPBUFFER INPUT 或 DSPBUFFER—OUTPUT 的其中一 個。緩衝器方向必須符合函式引動過程簽名碼 (Signature),否則會發生iDSPOrb執行時期錯誤。 或者,DSPORB—Buffei:* DSPORBJBuffer—create (DSP ORBAlg*,int,int);物件所利用的緩衝器。 -unsigned char* DSPORB—Buffer—getData(); 取得緩衝器物件所參考的資料。如果緩衝器係連接到另一 個緩衝器,則會傳回NULL(空値)。 -void DSPORB—Buffer一setData(unsigned char* data) 設定緩衝器資料指標。如果缓衝器係連接到另一個緩衝 器,則此操作錯誤,這是因爲供此緩衝器資料使用的記憶 體空間係在DSP記憶體空間中。 -void DSPORB_Buffer_setSize(int) -23- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁) 訂 514832 A7 B7 五、發明説明(21 ) 設定實際資料大小。 -int DSPORB_Buffer_getSize() 取得實際資料大小。 -void DSPORB_Buffer_delete(DSPORB_Buffer* buffer) -int DSPORB_Buffer_connect(DSPORB_Buffer* output, DSPORB_Buffer* input) 將輸入緩衝器連接到DSP上的輸出緩衝器。當連接到這 些緩衝器物件時,資料會保存在DSP上並且不會傳回 GPP( —種由位於DSP上的iDSPOrb所建立的緩衝器,以保 存中間結果)。 2h. DSPORB_Stream 介面 此資料流介面具有下列方法。 -DSPORB_Stream* DSPORB_Stream_create(int n, int direction);建立一個可保存n個缓衝器的資料流。 direction 是DSPSTREAM—INPUT 或 DSPSTREAM_OUTPUT 的其中一個。 經濟部中央標準局員工消費合作社印繁 (請先閱讀背面之注意事項再填寫本頁) -int DSPORB_Stream_issue(DSPORB_Buffer* buf); 具有在輸入資料流上傳送的輸入緩衝器buf,或是放置在要 填滿輸出資料流之佇列上的空缓衝器。就所連接的資料流 而言,此作業毫無作用,這是因爲會在演算法間直接連接 資料流。 -DSPORB_Buffer* DSPORB_Stream_reclaim();從輸 出資料流取得輸出緩衝器;或可在輸入資料流上重新傳送 -24- 本纸張尺度適用中國國家標準(CNS〉A4規格(210X297公釐) 經濟部中央標隼局員工消費合作社印製 514832 A7 B7 五、發明説明(22) 的輸入緩衝器。就所連接的資料流而言,此作業毫無作 用0 -DSPORB—Stream—select(DSPORB一Stream arrayd,int n_streams,int* mask,long millis);封鎖,直接準備好 要I/O的資料流。 -DSPORB一Stream」dle(DSPORB_Stream* str);閒置(Idle) 資料流。 -DSPORB_Stream_close(DSPORB_Stream* str) ; closes a stream ° -DSPORB_Stream_connect(DSPORB_Streain* out, DSPORB Stream* in);將輸出資料流連接到輸入資料流。現在,會在DSP處理 器空間的一半運作這兩個資料流,並且GPP無法存取這兩 個資料流。 2i· DSPORB動態引動過程介面 動態引動過程介面具有下列方法。 -int DSPORB_System_init();必須先呼叫此方法以個體 化 DSPOrb 〇 -DSPORB—Alg* DSPORB_Alg一create(const char* name,DSPORB一Params* params);建立符號 ’name’ 所 參考的演算法執行個體(instance)。 -void DSPORB—Alg—delete(DSPORB_Handle alg);刪 除演算法執行個體(instance)。 -DSPORB—Fxn* DSPORB_Alg_getFxn(DSPORB—Alg* alg,const char* fxn—name);傳回與符號 ’fxn—name’ 關 -25- 本纸張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) (請先閲讀背面之注意事項再填寫本頁) 4.RealMedia Architecture (RealSystem G2): A translatable plug-in that can be implemented to wrap (iDSPOrb) codec client objects and plug into RealSystem G2 architecture. Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs. You can also use the same method to insert DSPOrb into JMF and QuickTime 〇 Seal the iDSPOrb API in the DSPORB module. The data types and functions of the DSPORB on the client (GPP) side will be described below. 2f. Data Type: DSPORB Alg: Client Agent for DSP Algorithm Objects. DSPORB—Fxn: Function objects to be used in conjunction with the dynamic invocation process. -22- This paper size applies to China National Standard (CNS) A4 (210X 297 mm) Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs 514832 A7 B7 V. Description of the invention (20) DSPORB_Arg: It must be compatible with the dynamic activation process Function argument used. DSPORB-Buffer and DSPORB-Stream are DSPSubB-Arg's 'Subclass'. DSPORB_Params: Provides parameters of the algorithm that conforms to the parameter structure of the DSP's IALG-Params algorithm. DSPORB_Buffer: buffer object. DSPORB_Stream: Data stream object. 2g. DSPORB Buffer Interface -DSPORB—Buffer * DSPORB_Buffer_ci; eate (int size, int direction); Create a buffer object that can reference the size data size. direction is one of DSPBUFFER INPUT or DSPBUFFER_OUTPUT. The direction of the buffer must conform to the signature of the function initiation process (Signature), otherwise the iDSPOrb runtime error will occur. Or, DSPORB_Buffei: * DSPORBJBuffer_create (DSP ORBAlg *, int, int); the buffer used by the object. -unsigned char * DSPORB—Buffer—getData (); Get the data referenced by the buffer object. If the buffer is connected to another buffer, NULL is returned. -void DSPORB—Buffer_setData (unsigned char * data) Set the buffer data index. If the buffer is connected to another buffer, this operation is incorrect because the memory space used for the data in this buffer is in the DSP memory space. -void DSPORB_Buffer_setSize (int) -23- This paper size applies to Chinese National Standard (CNS) A4 (210X297 mm) (Please read the precautions on the back before filling this page) Order 514832 A7 B7 V. Description of the invention (21) Set the actual data size. -int DSPORB_Buffer_getSize () Get the actual data size. -void DSPORB_Buffer_delete (DSPORB_Buffer * buffer) -int DSPORB_Buffer_connect (DSPORB_Buffer * output, DSPORB_Buffer * input) Connect the input buffer to the output buffer on the DSP. When connected to these buffer objects, the data is saved on the DSP and is not passed back to GPP (a buffer created by iDSPOrb on the DSP to save intermediate results). 2h. DSPORB_Stream interface This stream interface has the following methods. -DSPORB_Stream * DSPORB_Stream_create (int n, int direction); Create a data stream that can hold n buffers. direction is one of DSPSTREAM_INPUT or DSPSTREAM_OUTPUT. Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs (please read the precautions on the back before filling out this page) -int DSPORB_Stream_issue (DSPORB_Buffer * buf); has an input buffer buf transmitted on the input data stream, or placed in the Fill an empty buffer on the queue of the output data stream. As far as the connected data streams are concerned, this operation is useless because the data streams are directly connected between algorithms. -DSPORB_Buffer * DSPORB_Stream_reclaim (); Obtain the output buffer from the output data stream; or retransmit it on the input data stream-24 Printed by the Consumer Cooperative of the Municipal Bureau 514832 A7 B7 V. Input buffer of invention description (22). As far as the connected data stream, this operation has no effect. 0 -DSPORB_Stream_select (DSPORB_Stream arrayd, int n_streams, int * mask, long millis); block, directly prepare the data stream for I / O. -DSPORB_Stream "dle (DSPORB_Stream * str); idle (Idle) data stream. -DSPORB_Stream_close (DSPORB_Stream * str); closes a stream ° -DSPORB_Stream_connect (DSPORB_Streain * out, DSPORB Stream * in); connect the output data stream to the input data stream. Now, these two data streams will operate in half of the DSP processor space, and GPP cannot access this Two data streams. 2i · DSPORB dynamic triggering process interface The dynamic triggering process interface has the following methods. -Int DSPORB_System_init (); This method must be called first Individual DSPOrb 〇-DSPORB_Alg * DSPORB_Alg_create (const char * name, DSPORB_Params * params); the algorithm instance (reference) to which the symbol 'name' is created. -Void DSPORB_Alg_delete (DSPORB_Handle alg); delete the instance of the algorithm. -DSPORB—Fxn * DSPORB_Alg_getFxn (DSPORB—Alg * alg, const char * fxn—name); returns with the symbol 'fxn—name' Off 25- This paper size Applicable to China National Standard (CNS) Α4 specification (210 × 297 mm) (Please read the precautions on the back before filling this page) 4.

、1T 經濟部中央標準局員工消費合作社印製 514832 A7 B7 五、發明説明(23) 聯的函式物件。 -int DSPORB一Fxn—setTimeConstraint(DSPORB-Fxn* fxn);設定fxn執行的時間界限。DSPOrb將配置足夠資源 以符合此項條件約束,或傳回0。 -int DSPORB一Fxn一setPriority(DSPORB一Fxn* fxn); 設定從1到15的優先序等級。 -int DSPORB—Fxn 一 invoke(DSPORB_Fxn* fxn5 DSPORB—Arg* argsO);在輸入及輸出上調用函式。此引 動過程封鎖,直到無連接的輸出上可取得所有的資料。就 連接fDSPORB_Buffer_connect’的輸入及輸出而言,可傳 送,NULL’。 -int DSPORB—Fxn invokeAsync(DSPORB一Fxn*fxn, DSPORB Arg* argsD); 在輸入及輸出上調用函式。此引動過程立即返回;應用程 式使用’DSPORB_getData’從輸出引數物件擷取資料。 -unsigned char* DSPORB_Arg_getData(DSPORB_ Arg* output,long timeout);從輸出引數物件擷取資料。 封鎖,直到已發生以毫微秒(nanosecond)爲單位的 弋imeout’(等待時間截止);或者,如果’timeout = -1*,則 會無限期封鎖。 -void DSPORB_Arg_setCallback(DSPORB_Arg* output, unsigned char*(*getData)(DSPORB—Arg*));在輸出引數 上設定回呼函式;當可取得資料時呼叫getData。 -void DSPORB —System—close();關閉 DSPOrb。 -26- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁) 訂 514832 A7 B7 五、發明説明(24) 2j. iDSPOrb實例 第一項實例呈現如何使用iDSPOrb來連接至ΤΙ Η.263解 碼器,其使用動態引動過程介面。第二項實例呈現運用代 理stubs所撰寫的相同程式。 /* * testH263-dii.cpp 程式以測試 DSPOrb 氺 *使用DSPOrb讀取純H.263檔案、剖析、解碼訊框,以及 *寫出YUV檔案。 氺 * 使用方式:testH263 out_file */ #include #include #include "dsporb. h” #include ffh263. hff const int MEMSIZE = 4* 176* 144* 3; /* enough for CIF */ static DSPORB_Alg* h263decoder; 經濟部中央標準局員工消費合作社印裂 (請先閱讀背面之注意事項再填寫本頁) static DSPORB_Fxn* h263decoderFxn; static DSPORB一Buffer* h263inputArg; static DSPORB_Buffer* h263outputArg; static DSPORB_Arg h263decoderFxnArgs[ 2]; int main(int argc, char** argv){ /* frame是已編碼的H.263; buffer是YUV資料*/ -27- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 經濟部中央標準局員工消費合作社印裝 514832 A7 B7 五、發明説明(25) unsigned char* frame =(imsigned char*)malloc(MEMSIZE); unsigned char* buffer =(unsigned char*)malloc(MEMSIZE); DSPORB 一System一init〇; h263decoder = DSPORB__Alg create(MH263D_TIDECff, NULL); h263decoderFxn = DSPORB_Fxn_getFxn(h263decoder, Mdecodeff); h263inputArg = DSPORB 一Buffer—create(); h263outputArg = DSPORB_Buffer_create〇; h263decoderFxnArgs[ 0] =(DSPORB_arg*)h263inputArg; h263decoderFxnArgs[ 1] =(DSPORB_arg*)h263outputArg; /* in是H. 263檔案;out是YUV檔案*/ FILE* in = fopen(argv[l],,,rb,,); FILE* out = fopen(argv[2],”wb’’); int n_bytes_in_£rame; H263-initReader(in); while((n_bytes_in_frame= H263_readFrame(frame, MEMSIZE))> 0){ DSPORB—Buffer一setSize(h263inputArg,n-bytes in_frame); DSPORB-Buffer一setData(h263inputArg,frame); DSPORBJBuffer—setSize(h263outputArg, MEMSIZE); DSPORB一Buffer一setData(h263outputArg,buffer); DSPORB_Fxn_invoke(h263decoderFxn, h263decoderFxnArgs); int s = DSPORB_Buffer_getsize(h263outputArg)); printf(”% d -> %d\ n”,n一bytes一in—frame,s); if(s>0) fwrite((constvoid*)buffer,1,s,out); -28- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) (請先閲讀背面之注意事項再填寫本頁)Printed by the Consumer Cooperative of the Central Standards Bureau of the Ministry of Economic Affairs of the 1T. 514832 A7 B7 V. Description of the invention (23) Linked function objects. -int DSPORB_Fxn_setTimeConstraint (DSPORB-Fxn * fxn); Set the time limit for fxn execution. DSPOrb will allocate enough resources to meet this condition constraint, or return 0. -int DSPORB_Fxn_setPriority (DSPORB_Fxn * fxn); Set priority level from 1 to 15. -int DSPORB—Fxn an invoke (DSPORB_Fxn * fxn5 DSPORB—Arg * argsO); call the function on the input and output. This boot process is blocked until all data is available on the unconnected output. For connecting fDSPORB_Buffer_connect 'input and output, it can be transmitted, NULL'. -int DSPORB—Fxn invokeAsync (DSPORB_Fxn * fxn, DSPORB Arg * argsD); Call functions on input and output. This triggering process returns immediately; the application uses 'DSPORB_getData' to retrieve data from the output argument object. -unsigned char * DSPORB_Arg_getData (DSPORB_Arg * output, long timeout); Retrieves data from the output argument object. Block until 弋 imeout ’(nanosecond expiration) in nanoseconds has occurred; or if‘ timeout = -1 *, block indefinitely. -void DSPORB_Arg_setCallback (DSPORB_Arg * output, unsigned char * (* getData) (DSPORB—Arg *)); set a callback function on the output argument; call getData when data is available. -void DSPORB —System—close (); Close DSPOrb. -26- This paper size applies Chinese National Standard (CNS) A4 specification (210X297mm) (Please read the precautions on the back before filling this page) Order 514832 A7 B7 V. Description of the invention (24) 2j. IDSPOrb example first The project example shows how to use iDSPOrb to connect to a TI 263.263 decoder, which uses a dynamic invocation process interface. The second example shows the same program written using agent stubs. / * * testH263-dii.cpp program to test DSPOrb 氺 * Use DSPOrb to read pure H.263 files, parse, decode frames, and * write YUV files.氺 * Usage: testH263 out_file * / #include #include #include " dsporb. H ”#include ffh263. Hff const int MEMSIZE = 4 * 176 * 144 * 3; / * enough for CIF * / static DSPORB_Alg * h263decoder; Printed by the Consumer Cooperative of the Central Standards Bureau of the Ministry of Economic Affairs (please read the precautions on the back before filling this page) static DSPORB_Fxn * h263decoderFxn; static DSPORB_Buffer * h263inputArg; static DSPORB_Buffer * h263outputArg; static DSPORB_Arg h263decoderFxnArgs [2]; int main ( int argc, char ** argv) {/ * frame is encoded H.263; buffer is YUV data * / -27- This paper size applies Chinese National Standard (CNS) A4 (210X297 mm) Central Standard of the Ministry of Economic Affairs Printed by the Bureau's Consumer Cooperative 514832 A7 B7 V. Description of the invention (25) unsigned char * frame = (imsigned char *) malloc (MEMSIZE); unsigned char * buffer = (unsigned char *) malloc (MEMSIZE); DSPORB-System one init〇; h263decoder = DSPORB__Alg create (MH263D_TIDECff, NULL); h263decoderFxn = DSPORB_Fxn_getFxn (h263decoder, Mdecodeff); h263inputArg = DSPORB a Buffer-cre ate (); h263outputArg = DSPORB_Buffer_create〇; h263decoderFxnArgs [0] = (DSPORB_arg *) h263inputArg; h263decoderFxnArgs [1] = (DSPORB_arg *) h263outputArg; / * in is H. 263 file; out is YUV file * / FILE * in = fopen (argv [l] ,,, rb ,,); FILE * out = fopen (argv [2], “wb ''); int n_bytes_in_ £ rame; H263-initReader (in); while ((n_bytes_in_frame = H263_readFrame ( frame, MEMSIZE)) > 0) {DSPORB_Buffer_setSize (h263inputArg, n-bytes in_frame); DSPORB-Buffer_setData (h263inputArg, frame); DSPORBJBuffer_setSize (h263outputArg, MEMSIZE); DSPORB_Buffer_setData ( h263outputArg, buffer); DSPORB_Fxn_invoke (h263decoderFxn, h263decoderFxnArgs); int s = DSPORB_Buffer_getsize (h263outputArg)); printf ("% d->% d \ n", n one bytes one in-frame, s); if (s > 0) fwrite ((constvoid *) buffer, 1, s, out); -28- This paper size applies to China National Standard (CNS) A4 specification (210X 297 mm) (Please read the precautions on the back before filling this page )

五、發明説明(26) 經濟部中央標準局員工消費合作社印裝 514832 A7 B7 fclose(in); fclose(out); DSPORB_System_close(); } 接著是stubs版本: /* * testH263-stubs.cpp 程式以測試 DSPOrb 氺 *使用DSPOrb讀取純H.263檔案、剖析、解碼訊框,以及 *寫出YUV檔案。 氺 * 使用方式:testH263 injile out_file */ #include ^include #include f,dsporb. hff #include”h263.h” elude "H263—TIDEC· h” const int MEMSIZE = 4* 176* 144* 3; /* 對 CIF 而言已足夠 */ static H263_TIDEC* h263decoder; static DSPORB_Buffer* h263inputArg; static DSPORB_Buffer* h263outputArg; int main(int arge, char** argv){ -29- 本紙張尺度適用中國國家標準(CNS ) A4規格(2l〇X29*7公釐) (請先閲讀背面之注意事項再填寫本頁)V. Description of the invention (26) Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs 514832 A7 B7 fclose (in); fclose (out); DSPORB_System_close ();} Then the stubs version: / * * testH263-stubs.cpp Test DSPOrb 氺 * Use DSPOrb to read pure H.263 files, parse, decode frames, and * write YUV files.氺 * Usage: testH263 injile out_file * / #include ^ include #include f, dsporb. Hff #include ”h263.h” elude " H263—TIDEC · h ”const int MEMSIZE = 4 * 176 * 144 * 3; / * Enough for CIF * / static H263_TIDEC * h263decoder; static DSPORB_Buffer * h263inputArg; static DSPORB_Buffer * h263outputArg; int main (int arge, char ** argv) {-29- Chinese paper standard (CNS) A4 Specifications (2l0X29 * 7mm) (Please read the precautions on the back before filling in this page)

經濟部中央標準局員工消費合作社印裝 514832 A7 B7 五、發明説明(27 ) /* frame是已編碼的H.263; buffer是YUV資料 unsigned char* frame = (unsigned char*)malloc(MEMSIZE); 皿signed char* buffer = (unsigned char*)malloc(MEMSIZE); DSPORB—init〇; h263decoder = H263_TIDEC_create(NULL); /* in是H. 263檔案;out是YUV檔案*/ FILE* in = fopen(argv[l],”rb’’); FILE* out = fopen(argv[2],”wb,,); int nbytes 一in—frame; H263_mitReader(in); while((n—bytes一in一frame: H263一readFrame(frame,MEMSIZE))〉0){ DSPORB—Buffer-SetSize(h263inputArg,n—bytes—in—frame); DSPORB—Buffer—setData(h263inputArg,frame); DSPORB—Buffer—setSize(h263outputArg,MEMSIZE); DSPORB一Buffer一setData(h263outputArg,buffer); H263_TIDEC_decode(h263inputArg, h263outputArg); int s = DSPORB_Buffer_getSize(h263outputArg)); printf(”% d -> %d\ n’’,n一bytes一in—frame,s); if(s > 0) fwrite((const void*)buffer, 1, s, out); } fclose(in); fclose(out); DSPORB_close(); -30- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公楚1 (請先閲讀背面之注意事項再填寫本頁)Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs 514832 A7 B7 V. Description of the invention (27) / * frame is encoded H.263; buffer is YUV data unsigned char * frame = (unsigned char *) malloc (MEMSIZE); Signed char * buffer = (unsigned char *) malloc (MEMSIZE); DSPORB-init〇; h263decoder = H263_TIDEC_create (NULL); / * in is H. 263 file; out is YUV file * / FILE * in = fopen (argv [l], "rb"); FILE * out = fopen (argv [2], "wb ,,); int nbytes-in-frame; H263_mitReader (in); while ((n-bytes-in-frame: H263_readFrame (frame, MEMSIZE))> 0) {DSPORB_Buffer-SetSize (h263inputArg, n_bytes_in_frame); DSPORB_Buffer_setData (h263inputArg, frame); DSPORB_Buffer_setSize (h263outputArg, MEMSIZE ); DSPORB_Buffer_setData (h263outputArg, buffer); H263_TIDEC_decode (h263inputArg, h263outputArg); int s = DSPORB_Buffer_getSize (h263outputArg)); printf (”% d->% d \ n '', n one byte one in— frame, s); if (s > 0) fwrite ((const void *) buffer, 1, s, out);} fclose (in); fclose (out); DSPORB_close (); -30- This paper size applies to China National Standard (CNS) A4 specifications (210X297 Gongchu 1 (Please read the precautions on the back before filling this page)

514832 A7 B7 經濟部中央標隼局員工消費合作社印製 五、發明説明(28 ) 3.服務 口口貝(Quality 〇f Service ; QoS)管理員 一種已定義iDSPOrb服務品質管理員(iDSPOrb Quality of Service Manager ; iDsP-Q〇SM)的較佳具體實施例係 由主處理器與作爲對等伺服器的數位信號處理器(DSP)集區 所組成。用以執行要維持特定服務品質所需之所有函式的 傘形結構QoS管理員負責管理此dsp伺服器集區。主處理器 經常是一般用途處理器(Gpp),其透過諸如共用記憶體或匯 流排型介面之類的硬體連接到DSp。QoS管理員可能是 iDSPOrb的一部份,或者是DSP上分開的管理員更爲普 遇。可藉由硬體及軟體中斷來驅動系統。較佳實作是以負 擔分享的方式在GPP上執行主使用者(用户端)應用程式,並 在DSP上執行特定服務。在所有處理器上與q〇s管理員同時 執行的應用可能是諸如iDsp Media Framework(iDSP媒體 架構)之類的架構。iDsp_Q〇s管理員執行三項主函式:(1) 物件分類;(2)物件排程;以及(3)物件執行時間預測。 下文中將就在GPP/多重DSP環境使用媒體特有實例而論 來説明這些函式。 3a.物件分類 在GPP/多重DSP環境中,物件轉移至媒體編碼解碼器/篩 選常式(Filter)(演算法)。可根據媒體物件的資料流蜇別、 應用程式型別或演算法型別將之分類。QoS管理員根據演 算法型別來定義已知之編碼解碼器週期(c〇dec_cycle)、篩 選週期(Fiher-Cycle)等等的度量資訊(Metric)。 -31 - 尽紙浪尺反制’國家標準(CNS〉Α4· ( 2ΐ()χ 297公楚 (請先閲讀背面之注意事項再填寫本頁)514832 A7 B7 Printed by the Consumer Cooperatives of the Central Bureau of Standards of the Ministry of Economic Affairs. 5. Description of the invention (28) 3. Service 口 口 (Quality 〇f Service; QoS) administrator A defined iDSPOrb quality of service manager (iDSPOrb Quality of Service) Manager; iDsP-QSM) is composed of a main processor and a digital signal processor (DSP) pool as a peer server. The umbrella QoS manager that executes all functions needed to maintain a particular quality of service is responsible for managing this dsp server pool. The main processor is often a general purpose processor (Gpp), which is connected to the DSp through hardware such as shared memory or a bus-type interface. The QoS administrator may be part of iDSPOrb, or a separate administrator on the DSP is more common. The system can be driven by hardware and software interrupts. A better implementation is to execute the main user (client) application on the GPP in a share-sharing manner, and to perform specific services on the DSP. Applications that are executed concurrently with the QOS administrator on all processors may be architectures such as the iDsp Media Framework (iDSP media architecture). The iDsp_Q〇s administrator executes three main functions: (1) object classification; (2) object scheduling; and (3) object execution time prediction. These functions are explained below in terms of media-specific examples of use in a GPP / multiple DSP environment. 3a. Object classification In the GPP / multiple DSP environment, objects are transferred to media codecs / filters (algorithms). You can classify media objects based on their data stream type, application type, or algorithm type. The QoS manager defines the known metric information (codec_cycle), filtering cycle (Fiher-Cycle), etc. according to the type of algorithm. -31-National standard against paper rulers (CNS> Α4 · (2ΐ () χ 297 公 楚 (Please read the precautions on the back before filling in this page)

514832 A7 B7 經濟部中央標準局員工消費合作社印裝 五、發明説明(29 ) 3b.物件排程(硬最後期限) iDSP-Q〇SM以兩階段排程程式爲基礎來排程讀算法物 件。第一階段是高階排程程式,其決定是否可在DSp上排 程新媒體資科流,並設定編碼解碼器週期(Codec t N ^ cycle)的 硬即時最後期限。第二階段排程個別的媒體訊抱 如 q 利用 第一階段的硬即時最後期限。第一階段係在物件换調時間 期間執行,並且通常是在主機(GPP)上。第二階段係在 DSP(伺服器)上執行,並以每訊框爲基礎執行。 第一階段排程是QoS管理員何時平均上涞定已同時執行的 物件是否可支援物件。還需要考慮是否有足夠的記憶㈣可 支援物件,以作爲第一階段排程的一部份。在個髀^把 時,供内部使用的物件記憶體緩衝器、輸入暨輪^必項靜 態固定’以排除動態配置記憶體的不確定性514832 A7 B7 Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs V. Invention Description (29) 3b. Object Scheduling (Hard Deadline) iDSP-Q〇SM is based on a two-stage scheduling program to read algorithmic objects. The first stage is a high-level scheduling program that determines whether new media asset streams can be scheduled on DSp and sets a hard real-time deadline for the Codec t N ^ cycle. The second phase schedules individual media messages such as q using the hard real-time deadline of the first phase. The first phase is performed during the object transposition time and is usually on the host (GPP). The second stage is performed on a DSP (server) and is performed on a per-frame basis. The first stage of scheduling is when the QoS manager determines on average whether the objects that are already running can support the objects. It is also necessary to consider whether there is sufficient memory to support the object as part of the first stage scheduling. At this time, the object memory buffer, input and wheel for internal use must be statically fixed ’to eliminate the uncertainty of dynamic memory allocation.

Media 平台只執行符合XDAIS的演算法。開發師必須針重、—、、 定義在不同狀況下的處理時間。在初始化時會決二决算法 器間來回傳輸資料所需的大概時間,當設定每個== 後期限時,Q〇s管理員會將此時間列入重要因素。件勺取 會要求每個DSP物件將下列資訊供應给Q〇s管^ · η編碼解碼器週期(Codec<ycle)及訊框數量^umber of Frame)(預設:訊框數/秒)。 里(um ei: T…以目㈣服H(DSP)週期數量爲單 碼器週期(CGdee-eyele)的平均時間。 K异編碼解The Media platform only executes algorithms that conform to XDAIS. The developer must define the processing time under different conditions. At the time of initialization, the approximate time required to transfer data back and forth between the algorithms will be determined. When setting each == deadline, the QOS administrator will include this time as an important factor. File picking will require each DSP object to supply the following information to the Q ^ s ^ codec cycle (Codec < ycle) and the number of frames ^ umber of Frame (default: number of frames / second). (Um ei: T ... take the number of H (DSP) cycles as the average time of a single encoder cycle (CGdee-eyele). K-different coding solution

Tad以目標伺服器(DSP)週期數量爲單 a 早彳乂來顯示編碼解 碼斋週期(Codec-cycle)的時間。 (請先閱讀背面之注意事項再填寫本頁) 衣 訂 -32- 經濟部中央標準局員工消費合作社印製 514832 A7 B7 五、發明説明(30) 就視訊編碼解碼器而言,n通常是連續的訊框 數里(例如,15個訊框)。並且,Tace通常是所需的 最大時間總數加上p與B訊框所需的平均時間的總和。q〇s 管理員持績追縱所有媒體物件的Tccd。此時間(就DSp週期 而論)係以目前的訊框速度爲基礎。例如,就3〇 fps視訊資 料流及η = 15而言,假設Tecd=125 Mcycles。Tad uses the number of target server (DSP) cycles as a single early to display the codec-cycle time. (Please read the precautions on the back before filling in this page) E-booking-32- Printed by the Employees' Cooperative of the Central Standards Bureau of the Ministry of Economic Affairs 514832 A7 B7 V. Description of the invention (30) For video codecs, n is usually continuous Within the number of frames (for example, 15 frames). Also, Tace is usually the sum of the maximum total time required plus the average time required for p and B frames. q〇s The administrator keeps track of the Tccd of all media objects. This time (in terms of the DSp period) is based on the current frame speed. For example, for a 30 fps video stream and η = 15, assume Tecd = 125 Mcycles.

現在,QoS管理員可決定是否可排程新資料流,其方式如 下。假设S是目前所排程之所有DAF之編碼解碼器週期 (Codec-cycle)(Ta。。)的總和。就新資料馮而言,如果新資 料流的(S + Taec)小於Tced,則可排程資料流,否則不可排 程資料流。例如,假設有一個0 b j e c t - A具有η = 15、T =39·5 Mcycles (158 ms)及 Tccd = 125 Mcycles (500 ms),並且DSP上未排程任何工作(所以S = 〇)。則會通知 QoS管理員爲要求〇bject-A的新資料流排程資源。因爲s + 39.5 = 39.5 Mcycles < 125 Mcycles (500 ms),所以可 排程資料流。當出現要求Object-A的第二資料流時,因爲 S + 39.5 = 79 Mcycles (316 ms) < 125 Mcycles (500 ms),所以也會排程第二資料流。還可排程第三資料流。但 是,因爲第四資料流要求158 Mcycles (632 ms),所以不 符合500 ms硬最後期限而無法排程第四資料流。此時, QoS管理員進行協商以降低資料流的訊框速率,如果失 敗,則會全然拒絕資料流。 一種修改方案允許排程程式處理具有不同編碼解碼器週 期(Codec-cycle)時間的異質媒體物件。具有較長Tccd的物 -33- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐] ' ' - (請先閱讀背面之注意事項再填寫本頁) ·>裝. 訂 514832 A7 B7 五、發明説明(31 ) 件會依比例分配給最小Teed。例如,假設有一個〇bject-B 具有 η = 30、Taxc= 40 Mcycles (160 ms)及 Tccd = 169 Mcycles (675 ms),並且DSP上有排程兩個Object-A物件 (如前面所定義)(所以S = 79 Mcycles /316 ms)。因為S + 40*(125/158)= 1 10.45 Mcycles (S + 160* 500/675 = 435 ms),所以可排程新〇bject-B資料流。由於(79 + 40 < 125) Mcycles/(316 + 160 < 500)ms 而可證明正確性,所 以我但可實際保證所有的資料流均在最短500 ms編碼解 碼器週期(Codec-cycle)硬最後期限範圍内。當需要排程 要求Object-B的第二資料流時會發生什麼情況? 11〇45 + 40*125/158 = 139 > 125 M cycles/435 + 160* (500/675)= 554 ms〉500 ms。因此,程排程式拒絕此資 料流並開始協商,如上文所述。 iDSP-QoSM將與應用程式或其代理進行協商,為以編碼 解碼器週期(Codec-cycle)為基礎的媒體物件保留足夠的處 理頻寬。此項協商將考慮到物件的必要記憶體、請求的 QoS等級以及具有其他同時執行之Dsp應用程式之Dsp的 MIPS(每秒百萬指令)。當物件選擇項目變更時,Q〇s管理 員將執行DSP處理ϋ頻寬協商。Q()Sf理員協商處理序的輸 入參數要求應用程式為物件定義下列項目: (l)DSP記憶體需求(輸入/輸出緩衝器的數量及大小) ⑺所期錢QGS等級(通常係以每秒訊框數來表示) (3)啟動物件的最壞情況執行時期。 ⑷具有媒體訊框序列的硬即時最後期限,稱為編妈解碼 -34-Now, the QoS manager can decide whether or not to schedule a new data stream, as follows. Suppose S is the sum of the codec-cycles (Ta ...) of all DAFs currently scheduled. As far as new data Feng is concerned, if (S + Taec) of the new data stream is less than Tced, the data stream can be scheduled, otherwise the data stream cannot be scheduled. For example, suppose there is a 0 b j e c t-A with η = 15, T = 39.5 Mcycles (158 ms), and Tccd = 125 Mcycles (500 ms), and no work is scheduled on the DSP (so S = 〇). The QoS manager is notified to schedule resources for the new data stream requesting Object-A. Because s + 39.5 = 39.5 Mcycles < 125 Mcycles (500 ms), the data flow can be scheduled. When a second data stream requiring Object-A appears, the second data stream is also scheduled because S + 39.5 = 79 Mcycles (316 ms) < 125 Mcycles (500 ms). A third data stream can also be scheduled. However, because the fourth stream requires 158 Mcycles (632 ms), it does not meet the 500 ms hard deadline to schedule the fourth stream. At this point, the QoS administrator negotiates to reduce the frame rate of the data stream. If it fails, it will completely reject the data stream. A modification allows the scheduler to process heterogeneous media objects with different codec-cycle times. Long Tccd-33- This paper size is applicable to Chinese National Standard (CNS) A4 (210X297mm) ''-(Please read the precautions on the back before filling this page) · > Packing. Order 514832 A7 B7 5. The invention description (31) will be allocated to the smallest Teed in proportion. For example, suppose there is an OBject-B with η = 30, Taxc = 40 Mcycles (160 ms), and Tccd = 169 Mcycles (675 ms), and There are two Object-A objects scheduled on the DSP (as defined above) (so S = 79 Mcycles / 316 ms). Because S + 40 * (125/158) = 1 10.45 Mcycles (S + 160 * 500/675 = 435 ms), so you can schedule a new OBject-B data stream. Since (79 + 40 < 125) Mcycles / (316 + 160 < 500) ms can prove correctness, I can actually guarantee all The data streams are all within the minimum 500 ms codec-cycle hard deadline. What happens when a second data stream requiring Object-B is scheduled? 11〇45 + 40 * 125 / 158 = 139 > 125 M cycles / 435 + 160 * (500/675) = 554 ms> 500 ms. Therefore, the scheduler rejected this stream and started negotiation, As mentioned above, iDSP-QoSM will negotiate with the application or its agent to reserve sufficient processing bandwidth for media objects based on codec-cycle. This negotiation will take into account the need of the object Memory, requested QoS level, and MIPS (million instructions per second) of Dsp with other concurrently running Dsp applications. When object selection items change, QOS administrators will perform DSP processing and bandwidth negotiation. Q () The input parameters of the Sf manager negotiation process require the application to define the following items for the object: (l) DSP memory requirements (the number and size of input / output buffers) ⑺ The expected QGS level (usually based on per second) (3) The worst-case execution period of the startup object. ⑷ A hard real-time deadline with a sequence of media frames, called the codec-34-

514832 A7 B7 32 五、發明説明( 器週期(Codec·cycle)(訊框數量及平均執行時間)。 請 先 閱 讀 背 ιέ 之 注 意 事 項 填氣 本衣 頁 訂 在iDSP-QoS管理員中,第二階段排程係以兩項觀點爲基 礎,誰的最後期限先到期,以及誰具有較高的優先序。請 考慮下列的實例,如果Object-Α具有10ms最後期限及 Object-D具有3ms最後期限,則即使Object-A具有較高優 先序,iDSP-QoS管理員還是會排定先執行Object-D。由 於知道物件的大約執行時期,所以當必須啓動物件時可決 定”無延遲"(No Late〇,所以仍然符合其最後期限。於圖3 中,預測會在Object-A的”無延遲"(No Later)起點之前先 完成Object-D。在此情況下,較高優先序Object_A與 Object-D間沒有最後期限衝突。因此,會在較低優先序 Object-D之後執行Object-A。 經濟部中央標準局員工消費合作社印製 在另一項排程實例(其中會在第一最後期限上加入優先序) 是假設預測會在較高優先序Object-A的”無延遲"(No Later) 係在所預期之Object-D完成時間之前。在此情況下,由於 Object-A具有較高優先序,所以會先執行Object-A,並 且,只要Object-D符合於物件個體化時間所指定的訊框置 放參數,就可在Object-A之後執行Object-D ;請參閱圖 4 〇 就用來管理最後期限以達到最佳可能效率的iDSP QoS而 言,只要能夠允許物件抵達時間與最後期限之間的最大時 間,GPP就必須立即允許資料輸入訊框至DSP子系統。資 料訊框抵達時間與最後期限間的時間愈長,貝1jiDSP-QoSM 在分別排程物件與其他同時發生之物件的過程中也會隨之 -35 本纸張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) 經濟部中央標準局員工消費合作社印製 514832 A7 ___B7 五、發明説明(33) 提高效率。 3c.物件執行時期預測(軟最後期限) iDSP-Q〇SM的核心函式是預測所有已排程物件之下一輸 入訊框所需的處理時間。這項預測非常重要並且是物件所 特有的。QoS管理員使用先前執行時期統計資料來計算所 預測的下一輸入訊框執行時期,以此方式來預測物件的執 行時期。所預期的物件執行時期是先前執行時期與最大可 能實際變更(專爲每個物件進行決定)的函式(物件特有的函 式)。例如,就視訊物件而言,!、p及B訴框週期性屬於決 定論。因此’可根據現行訊框類型及其在視訊訊框週期性 内的位置來預測未來的處理時間。在所有同時執行之演算 法上執行的此類預測直接有助於根據所預測的處理時間及 即將到達的硬最後期限來動態重新配置優先序。 這些預測是管理軟最後期限及處理時間不穩定性的關鍵 推動功能。iDSP-Q〇SM根據預測以即刻重新排程所要處 理的物件。即刻重新排程會在個別物件的编碼解碼器週期 (Codec-cycle)最後期限時間(根據平均値定義的硬最後期 限)内發生。由於會根據硬最後期限及軟最後期限來加權個 別訊框,所以這些一項專屬方法。在上面的實例中,假設 當計算與Object-A部份重疊之500ms工作負載的平均値 時,Object-Β中的所有訊框均要求相同的總時數。然而, 由於於實際重疊期間Object-B的訊框可能需要更多時間, 或是Object-Β可能未提供平均總時數,所以事實並非如 此。因此,最接近其编碼解碼器週期(Codec-cycle)最後期 -36- 本紙張尺度適用中國國家榡準(CNS ) A4規格(210 X 297公釐) (請先閲讀背面之注意事項再填寫本頁)514832 A7 B7 32 V. Description of the invention (Codec · cycle) (Number of frames and average execution time). Please read the precautions before filling in this book. This page is set in the iDSP-QoS administrator, the second Phase scheduling is based on two perspectives, whose deadline expires first, and who has higher priority. Consider the following example, if Object-Α has a 10ms deadline and Object-D has a 3ms deadline , Even if Object-A has a higher priority, the iDSP-QoS administrator will still schedule to execute Object-D first. Since the approximate execution time of the object is known, when the object must be started, it can be decided "No delay" (No Late〇, so it still meets its deadline. In Figure 3, it is predicted that Object-A will be completed before Object-A's "No Later" starting point. In this case, the higher priority Object_A and There is no deadline conflict between Object-D. Therefore, Object-A will be executed after the lower-priority Object-D. The Employee Consumer Cooperative of the Central Bureau of Standards of the Ministry of Economics will print another scheduled instance (which will (A priority is added to a deadline) It is assumed that the "No Late" prediction of Object-A at a higher priority is before the expected completion time of Object-D. In this case, since Object-A A has higher priority, so Object-A will be executed first, and Object-D can be executed after Object-A as long as Object-D matches the frame placement parameters specified by the object's individualization time; Figure 4 In terms of iDSP QoS used to manage deadlines to achieve the best possible efficiency, as long as the maximum time between the arrival time of the object and the deadline is allowed, the GPP must immediately allow data to be entered into the DSP subsystem. The longer the time between the arrival and the deadline of the data frame, the 1jiDSP-QoSM will also follow in the process of separately scheduling objects and other simultaneous objects -35 This paper size applies Chinese National Standard (CNS) Α4 Specifications (210 × 297 mm) Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs 514832 A7 ___B7 V. Description of the invention (33) Improve efficiency. 3c. Prediction of the execution period of objects (soft deadline) iDS The core function of PQ〇SM is to predict the processing time required for the next input frame under all scheduled objects. This prediction is very important and specific to the object. The QoS manager uses the statistics of the previous execution period to calculate all Predict the execution time of the next input frame in this way to predict the execution time of the object. The expected execution time of an object is a function (object-specific function) of the previous execution time and the maximum possible actual change (determined for each object). In the case of video objects, for example! The periodicity of p, p, and B v. Boxes are deterministic. So ‘can predict future processing time based on the current frame type and its position within the periodicity of the video frame. Such predictions performed on all concurrently executed algorithms directly contribute to the dynamic reconfiguration of priorities based on the predicted processing time and the upcoming hard deadline. These forecasts are key enablers for managing soft deadlines and processing time instability. iDSP-QOMSM reschedules the objects to be processed immediately based on predictions. Immediate rescheduling occurs within the codec-cycle deadline time (a hard deadline defined by the mean) of an individual object. These individual methods are weighted because the individual frames are weighted based on hard and soft deadlines. In the above example, suppose that when calculating the average 値 of a 500ms workload that partially overlaps with Object-A, all frames in Object-B require the same total hours. However, since the frame of Object-B may take more time during the actual overlap period, or Object-B may not provide the average total hours, this is not the case. Therefore, it is closest to the last issue of its Codec-cycle -36- This paper size is applicable to China National Standard (CNS) A4 (210 X 297 mm) (Please read the precautions on the back before filling (This page)

訂 514832 A7 B7 經濟部中央標準局員工消費合作社印製 五、發明説明(34 ) 限的訊框具有較高的優先序。 如果所預測的執行時期達反使用I定義的時間需求,則 QoS管理會採取數個可能的動作之一。 在單一DSP組態配置中: (第1層)簡單的二進位截止:這會導敦自動丟棄訊框。考 慮中的物件應能夠指示丟棄訊框是否導致嚴重後果。 (第2層)在配置時間結束時先行清峻物件,一般性縮短較 低優先序物件的分配時間。這可能會或不會導致丟棄訊 框。 (第3層)要求物件必須能夠接收諸如調回輸出資料品質之 類的Q 〇 S指令。 在多重DSP組態配置中: (1) 在每個QoS時間限制結束時,會具有負載資料的訊息 從每個DSP傳送至GPP。 (2) 只有缺少所評估的最後期限的情況下,Gpp才會求助 於重新分配物件。在〇?1)(〇113層)從伺服Dsp接收到,,負載 貝料後即負載執行里新配置工作。然而,爲了縮短工作 切換時間,因而非常希望從外部記憶體空間的共同群集來 操作所有的DSP。 必須在執行時間決定在iDSP系統中執行的所有物件。可 將DgP物件分成三種類型:壓縮的資料(編碼)、解壓縮的資 料(解碼)及資料轉換(預先或後置處理物件資料)。物件係以 要處理的區塊的形式呈現;這些區塊被稱爲輸入資料訊 框。物件處理輸入資料訊框並產生輸出資料訊框。去配人 -37- 本紙張尺度適用中國國家標準(CNS ) a4規格(210X 297公釐) (請先閎讀背面之注意事項再填寫本頁) -訂 經濟部中央標準局員工消費合作社印製 514832 A7 B7 五、發明説明(35 ) 任何計算資料時,會就大小及處理數量方面來界定輸入資 料訊框及輸出資料訊框的界限。根據任何給定輸入訊框的 大小,可精確決定DSP(或就此而言的任何其他電腦)必須對 該輸入訊框執行的最大處理量。 在將物件整合到iDSP系統中之前,會要求每個物件宣告 單一訊框物件的最壞情況執行時期。最壞情況執行時期係 用來計算第一輸入資料訊框的執行時期,以能夠啓動物 件。在執行物件之前,QoS無法描述輸入資料訊框的特 徵。由於編碼器及解碼器物件幾乎不會毒最壞情況下執 行,所以第一輸入資料訊框非常寶貴(這是因爲其必須預測 最壞情況)。最壞情沉排程很可能會導致大於第一訊框的實 際執行時期。唯一的問題在於實際執行時期是否大於最壞 情況排程。 如上文所述,演算法物件的處理時間會因輸入訊框而 異。開始,iDSP-QoSM會從第一資料輸入訊框的最壞情 況値開始。在第一訊框之後,QoS管理員根據演算法特性 及所測量的第一訊框處理時,以預測的下一輸入訊框的處 理時間。針對每個後續訊框,QoS管理員根據語義學及演 算法物件歷史記錄來預測大約的處理時間。例如,編碼器 物件使用物件語義學(例如,I、P及B訊框類型)與前一類似 輸入訊框的平均编碼時間來預測未來的編碼時間需求。每 當排程編碼器物件的執行時間時,排程編碼器物件處理相 同大小的輸入訊框。處理時間變化是因如訊框活動層級、 訊框間移動度等等因素所致。但是,會界定這些變化的界 -38- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) (請先閱讀背面之注意事項再填寫本頁)Order 514832 A7 B7 Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs 5. The frame of the invention description (34) has a higher priority. If the predicted execution period meets the time requirements defined using I, then QoS management will take one of several possible actions. In a single DSP configuration: (Layer 1) Simple Binary Cutoff: This will automatically discard the frame. The item under consideration should be able to indicate whether discarding the frame has serious consequences. (Layer 2) At the end of the allocation time, clear the objects first, and generally shorten the allocation time of lower priority objects. This may or may not cause the frame to be dropped. (Layer 3) Requires the object to be able to receive QOS commands such as recalling the quality of the output data. In the multiple DSP configuration configuration: (1) At the end of each QoS time limit, a message with load data is transmitted from each DSP to the GPP. (2) Gpp will turn to reassignment only in the absence of the assessed deadlines. Received from the servo Dsp at 〇1) (〇113 layer). After the load is loaded, the new configuration work is performed in the load. However, in order to shorten the work switching time, it is highly desirable to operate all DSPs from a common cluster of external memory space. Everything that executes in the iDSP system must be determined at execution time. DgP objects can be divided into three types: compressed data (encoding), decompressed data (decoding), and data conversion (pre- or post-processing of object data). Objects are presented in the form of blocks to be processed; these blocks are called input data frames. The object processes the input data frame and generates an output data frame. Dispatch -37- This paper size is applicable to Chinese National Standard (CNS) a4 size (210X 297mm) (Please read the notes on the back before filling this page)-Order printed by the Central Consumers Bureau of the Ministry of Economic Affairs 514832 A7 B7 V. Description of the invention (35) When calculating data, the boundaries of the input data frame and the output data frame will be defined in terms of size and amount of processing. Depending on the size of any given input frame, the maximum amount of processing that the DSP (or any other computer in this regard) must perform on that input frame is precisely determined. Before integrating objects into an iDSP system, each object is required to declare the worst-case execution time of a single frame object. The worst-case execution time is used to calculate the execution time of the first input data frame to enable the object to start. Before executing the object, QoS cannot describe the characteristics of the input data frame. Since the encoder and decoder objects are hardly poisoned to perform in the worst case, the first input data frame is very valuable (because they have to predict the worst case). Worst case scheduling is likely to result in a larger actual execution period than the first frame. The only question is whether the actual execution period is greater than the worst case schedule. As mentioned above, the processing time for algorithmic objects will vary depending on the input frame. Initially, iDSP-QoSM will start from the worst case of the first data input frame. After the first frame, the QoS manager uses the predicted characteristics of the algorithm and the measured processing time of the first frame to predict the processing time of the next input frame. For each subsequent frame, the QoS administrator predicts the approximate processing time based on the semantics and the history of the algorithmic objects. For example, the encoder object uses object semantics (for example, I, P, and B frame types) to average the encoding time of input frames similar to the previous one to predict future encoding time requirements. Whenever the execution time of an encoder object is scheduled, the schedule encoder object processes input frames of the same size. Processing time changes are caused by factors such as frame activity levels, frame-to-frame movement, and so on. However, the boundaries of these changes will be defined -38- This paper size applies the Chinese National Standard (CNS) A4 specification (210X 297mm) (Please read the precautions on the back before filling this page)

經濟部中央標準局員工消費合作社印裝 514832 A7 B7 五、發明説明(36 ) 限。因此,訊框間的處理時間將具有有限的最大差値,並 且可將之加入至預測處理時間,以決定下一訊框的最壞情 況處理時間。請參閲圖5至6。 解碼中的物件通常是以可變大小的輸入訊框呈現。輸入 資料訊框的處理時間直接與其大小成正比。爲了決定下一 訊框處理時間是否會增加,QoS管理員將檢查目前及下一 資料輸入訊框大小的差値幅度。當配合編碼器時,還會保 存解碼器的類似引數,亦即,界定兩個語義類似之訊框間 處理差値的界限。解碼器的最大或最壞情況處理時間是爲 物件所定義的最大可能緩衝莽。請參閲圖7。 因爲轉換物件及編碼器物件一定處理相同大小的輸入訊 框,所以轉換物件執行類似於編碼器物件。每個訊框一定 需要相同的總處理時間量,並且一定是單一通過輸入訊 框。因此,每輸入訊框處理時間一定是維持固定。 每個物件都會從使用者應用程式接收相對時間,這是物 件必須完成傳送訊框的時間。實例是指定必須在下一7mS 處理此訊框的應用程式。由於GPP與DSP之間沒有共同軟 體時序,所以只能在相對的期限中指定最後期限。假設 GPP與DSP之間的資料訊框傳輸時間屬於決定論。iDSP系 統維持内部時序,讓資料訊框配合該内部時序來接收抵達 時戳,然後計算預測處理時間。計算預測處理時間之後, 現在QoS管理員排程資料訊框執行。 在可排程物件之前,QoS管理員比對其他同時執行的物 件,以決定執行物件的適當順序。如果沒有其他的物件處 -39- 本紙張尺度適用中國國家標準(CNS〉A4規格(210X297公釐) (請先閲讀背面之注意事項再填寫本頁) 衣· A7 B7 經濟部中央標準局員工消费合作社印製 五、發明説明(37 ) 理輸入訊框’則會立即排定執行物件訊框。如果有其他的 料正在執行中,則QgS管理員負責決定執行順序,其考 =素每個要求物件的優先序、預期的最後期限及硬 或軟即時時間需求。請參閲圖8。 當將具有不同執行時期優先序的多重物件組合到同一 時,Q〇S管理員會根據物件特有的執行時期計算來計算 每個物件的執行時期預測。然後根據排程中的物件來排程 不同工作(TBD)。可能會發生下列三轉程狀況: ⑴執行所有的物件以完成給定的輸人料訊框,並且在 應用程式2定的最後期限内完成4如圖9所示的假設狀沉 中,…王思,® +的所有物件都是在每個物件纽期限之 前完成。如果在物件各自的最後期限之前完成所有物件, 則QoS管理員的工作需求最低。 (2)—個或一個以上物件(例如,〇bject-B)的處理負載增 加,但疋未造成錯失下一物件的預測最後期限。可增加如 Object-B之類一個或一個以上物件的負載。視物件而定, 如果在物件的最後期限限制内處理同一物件的後續資料訊 框,則可能可接受錯失最後期限。例如,H263編碼器中的 ”1"訊框可能需要最長的計算時間。接在"Γ訊框之後的訊框 一定是"P”訊框,並且通常具有非常小的處理需求。因此, 允許”1”訊框佔用其後之” P”訊框的處理週期。因此,如果 有足夠的處理空間可處理下一訊框,則錯失某一訊框的訊 /框並不會造成嚴重後果。 由於Object-Β的最後期限已逾期,所以必須決定整體系 -40- 本紙張尺度適用中國國家榡準(CNS ) Μ規格(210><297公釐) (請先閱讀背面之注意事項再填寫本頁)Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs 514832 A7 B7 V. Description of Invention (36) Limit. Therefore, the processing time between frames will have a limited maximum rate, and it can be added to the predicted processing time to determine the worst case processing time for the next frame. See Figures 5 to 6. Decoded objects are usually presented as variable-size input frames. The processing time of the input data frame is directly proportional to its size. In order to determine whether the processing time of the next frame will increase, the QoS manager will check the difference in the current and next data input frame sizes. When cooperating with the encoder, similar parameters of the decoder are also saved, that is, the boundaries for processing the difference between two semantically similar frames are defined. The maximum or worst case processing time of the decoder is the maximum possible buffering defined for the object. See Figure 7. Because the transform object and the encoder object must handle input frames of the same size, the transform object performs similarly to the encoder object. Each frame must require the same amount of total processing time, and must be a single pass input frame. Therefore, the processing time of each input frame must be kept constant. Each object receives a relative time from the user application, which is when the object must finish sending frames. An example is an application that specifies that this frame must be processed in the next 7mS. Since there is no common software timing between the GPP and the DSP, the deadlines can only be specified in relative deadlines. It is assumed that the data frame transmission time between GPP and DSP is deterministic. The iDSP system maintains the internal timing, and the data frame cooperates with the internal timing to receive the arrival time stamp, and then calculates the predicted processing time. After calculating the predicted processing time, the QoS Manager schedule data frame is now executed. Before scheduling the objects, the QoS manager compares other objects to be executed at the same time to determine the proper order of execution objects. If there is no other place-39- This paper size applies to Chinese National Standards (CNS> A4 size (210X297 mm) (Please read the precautions on the back before filling this page). Clothing · A7 B7 Staff of the Central Bureau of Standards, Ministry of Economic Affairs Cooperative prints 5. Description of invention (37) The processing input frame will immediately schedule the execution object frame. If there are other materials being executed, the QgS administrator is responsible for determining the execution order. Object priorities, expected deadlines, and hard or soft real-time requirements. See Figure 8. When multiple objects with different execution time priorities are combined into the same, QOS administrators will perform according to the object-specific execution Period calculation to calculate the execution period prediction for each object. Then different tasks (TBD) are scheduled according to the objects in the schedule. The following three transfer conditions may occur: ⑴ Execute all objects to complete a given input Message box, and completed within the deadline set by the application 2 4 Assumptions like the one shown in Figure 9, ... Wang Si, all objects of the + + are before the deadline of each object Completed. If all objects are completed before their respective deadlines, the work requirements of the QoS manager are minimal. (2) The processing load of one or more objects (for example, OBject-B) increases, but no errors are caused Predicted deadline for the next object. May increase the load on one or more objects such as Object-B. Depending on the object, it may be acceptable if subsequent data frames for the same object are processed within the object's deadline limit Missing deadline. For example, the "1" frame in an H263 encoder may require the longest calculation time. The frame that follows the "Γ" frame must be the "P" frame and usually has very small processing Requirements. Therefore, the "1" frame is allowed to occupy the processing period of the subsequent "P" frame. Therefore, if there is enough processing space to process the next frame, the frame / frame that misses a frame is not There will be serious consequences. Because the deadline of Object-B has expired, it must be decided that the overall system is -40- This paper size applies to China National Standards (CNS) M specifications (210 > < 297) ) (Please read the back of the precautions to fill out this page)

、1T 514832 A7 B7 經濟部中央標準局員工消費合作社印製 五、發明说明(38 ) 統效應。如果〇bject_B錯失最後期限不會造成錯失下一物 件的預測最後期限’則對整個系統的危害影‘低。請參 閱圖10至11。 (3) 一^或—個以上物件(例如,。bje叫)的處理負載增 加,但疋造成錯失下—物件的預測最後期限。參閲圖12。 在此情況下,Objeet.B錯失最後期限會造成錯失下一物 件的預測最,期限^甚至於在此料下,心個系統的危 害影響可旎疋或不是最低,每個同時執行的物件都可能會 佔用後續訊框的週期,因此避免錯失最後期限㈣牌^ 應。 iDSP-Q〇SM建議軟最後期限管理的一組規則。此組規則 係用來限制因單一關鍵錯失最後期限所導致的錯失最後期 限雪球效應。(1)所有的演算法物件都提供允許的每秒最大 訊框丟棄數量給QoS管理員。(2)每個物件都會更新”錯失最 後期限”數量執行計數,作爲每個.處理調期之後的移動平均 値。(3 )¼物件超過錯失最後期限限制時,則會將物件的優 先序變更成最咼値。一旦數量下降至限制以外,則會恢復 原先的優先序。(4)限制之後錯誤最後期限的所有後續訊框 都會被丟棄。這會導致將Q〇S暫時降低至下一中間等級。 然後’向用户端報告QoS瞬間降級(應極少發生)。(5)只有 甚至於物件經過其最後期限後DSP還沒有啓動物件的情況 下,才會按照規則來丟棄訊框。 3d.週期性媒體轉譯的節流控制 就給定的演算法物件而言,iDSP-QoSM[假設在任何時刻 -41 - ( CNS ) 210X297 公 (請先閲讀背面之注意事項再填寫本頁)1T 514832 A7 B7 Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs 5. Description of invention (38) Systematic effect. If OBject_B misses the deadline and does not cause the predicted deadline of the next item to be missed, then the harm to the entire system is low. See Figures 10 to 11. (3) The processing load of one or more objects (for example, bje calls) increases, but the result is missed—the predicted deadline of the objects. See Figure 12. In this case, the missed deadline of Objeet.B will cause the most missed prediction of the next object. The deadline ^ even under this material, the harmful effects of the system can be ridiculous or not the lowest. It may take up cycles of subsequent frames, so avoid missing deadlines. iDSP-QSM proposes a set of rules for soft deadline management. This set of rules is used to limit the missed deadline snowball effect caused by a single critical missed deadline. (1) All algorithm objects provide the maximum number of frame drops per second to the QoS manager. (2) Each object will update the number of "missing deadline" execution counts as the moving average after each processing period. (3) When the object exceeds the miss deadline limit, the priority of the object will be changed to the highest priority. Once the number falls outside the limit, the original priority is restored. (4) All subsequent frames with incorrect deadlines after the restriction will be discarded. This will temporarily reduce QOS to the next intermediate level. Then 'report to the client a momentary degradation in QoS (should happen rarely). (5) Frames are discarded in accordance with rules only if the DSP has not activated the object even after the object has passed its deadline. 3d. Throttling control of periodic media translation For a given algorithmic object, iDSP-QoSM [Assuming at any time -41-(CNS) 210X297 public (please read the precautions on the back before filling this page)

、1T 514832 A7 B7 五、發明説明(39 ) 備妥仵列中只有一個請求。一般而言,媒體資料流具有作 爲QoS管理員服務品質條件約束所指定的週期性最後期限 (例如,適用於視訊資料流的3 0訊框/秒)。媒體系統中的音 訊暨視訊轉譯組件可緩衝訊框,以處理抵達時間變化,允 許稍微提前抵達。但是這些緩衝器有效,所以媒體系統的 上游組件必須謹愼調整處理訊框的相對速度。 DSP-QoSM提供兩種機制,用以節調演算法物件的處理 速度。 (1) DSP演算法物件的用户端控制其調用演算法物件處理 函式(伺服器)的速度。如果在必須完作的時間期間内提出請 求,則這會導致QoS管理員排程演算法的次佳行爲。例 如,請考慮前面的演算法物件A,其中必須在時間週期T1 内處理缓衝器A1,並在時間週期T2内處理緩衝器A2。圖中 顯示T1及T2是兩個連續的週期,[X]指示抵達的緩衝器X, {x}指示處理完成的缓衝器X。請參閲圖13a。 經濟部中央標準局員工消费合作社印製 (請先閱讀背面之注意事項再填寫本頁) (2) Q〇S管理員控制媒體資料流調節。此項機制允許用户 端配合輸入緩衝器儘快調用演算法物件的處理函式。然 後,QoS管理員將”啓動最後期限”附加至輸入緩衝器。直 到”啓動最後期限”之後爲止,排程程式都不會排程此緩衝 器。用户端封鎖,直到目前缓衝器處理完成。請參閱圖 13b。 因此,在這兩種情況下,在任何時刻,在QoS管理員備妥 佇列中,最多只有每個演算法物件的一個請求。 4.記憶體分頁 -42- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 514832 A7 B7 五、發明説明(40) 爲了在DSP(或就此而言的任何其他電腦)上最有效執行多 重演算法,必須建立一組規則,以在演算法之間公平共用 系統資源。這些規則指定存取諸如DMA、内部記憶體之類 的處理器周邊裝置,以及演算法的排程方法。一旦接收一 組規則,就可開發演算法所適用的系統介面,使演算法能 夠存取系統資源。共同系統介面爲演算法開發師提供明確 定義的界限,因爲演算法開發師可完全集中在演算法開發 且沒有系統支援開題,所以能夠很快發展演算法。Texas Instruments iDSP Media Platform DSP 架構是此類介面 的實例。演算法與TMS320C62XX DSP間的所有存取都是 透過此架構發生。 經濟部中央標準局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁)1T 514832 A7 B7 V. Description of Invention (39) There is only one request in the prepared queue. In general, media streams have periodic deadlines (for example, 30 frames / second for video streams) that are specified as QoS manager quality of service constraints. The audio and video translation components in the media system can buffer frames to handle changes in arrival times, allowing for slightly earlier arrivals. But these buffers are valid, so the upstream components of the media system must carefully adjust the relative speed of processing frames. DSP-QoSM provides two mechanisms to adjust the processing speed of algorithm objects. (1) The client of the DSP algorithm object controls the speed at which it calls the algorithm object processing function (server). If the request is made within the time period that must be completed, this will cause the QoS administrator to schedule the sub-optimal behavior of the algorithm. For example, consider the previous algorithmic object A, where buffer A1 must be processed during time period T1, and buffer A2 must be processed during time period T2. The figure shows that T1 and T2 are two consecutive cycles, [X] indicates the buffer X that has arrived, and {x} indicates the buffer X that has been processed. See Figure 13a. Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs (Please read the notes on the back before filling this page) (2) The QOS administrator controls the media data flow adjustment. This mechanism allows the client to cooperate with the input buffer to call the processing function of the algorithm object as soon as possible. The QoS administrator then appends a "startup deadline" to the input buffer. The scheduler will not schedule this buffer until after the “Startup Deadline”. The client blocks until the buffer processing is complete. See Figure 13b. Therefore, in both cases, there is at most one request for each algorithm object in the queue prepared by the QoS manager at any time. 4. Memory Page-42- This paper size is applicable to Chinese National Standard (CNS) A4 specification (210X297 mm) 514832 A7 B7 V. Description of invention (40) In order to be the best on DSP (or any other computer in this regard) To effectively perform multiple algorithms, a set of rules must be established to share system resources fairly between algorithms. These rules specify access to processor peripherals such as DMA, internal memory, and scheduling methods for algorithms. Once a set of rules is received, the system interface applicable to the algorithm can be developed to enable the algorithm to access system resources. The common system interface provides well-defined boundaries for algorithm developers, because algorithm developers can concentrate entirely on algorithm development and have no system support for opening questions, so they can develop algorithms quickly. The Texas Instruments iDSP Media Platform DSP architecture is an example of such an interface. All accesses between the algorithm and the TMS320C62XX DSP occur through this architecture. Printed by the Consumers' Cooperative of the Central Standards Bureau of the Ministry of Economic Affairs (Please read the precautions on the back before filling this page)

Texas Instruments XDAIS標準需求建立允許將一個以 上演算法外掛至iDSP媒體平台中的規則,讓系統整合師能 夠從一個或一個以上演算法來迅速組合產量品質系統。 XDAIS標準要求演算法符合稱之爲Alg介面的共同介面需 求。XDAIS標準提出數項規則,最重要的是演算法無法直 接定義記憶體或直接存取硬體周邊裝置。系統服務都是透 過單一共同介面提供給所有的演算法。因此,系統整合師 只將支援Alg介面的DSP架構提供給所有的演算法。Alg介 面還爲演算法開發師提供一種存取系統服務及演算法引動 過程的裝置。 演算法必須精確定義其内部記憶體需求。這是分頁架構 的必要措施,以支援多演算法存取内部記憶體的相同空 間。需要符合XDAIS的演算法來指定其内部及外部記憶體 -43- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 514832 A7 B7 五、發明説明(41 ) 需求。 必須將内部(晶片上)記憶體分割成兩段區域。第一段區域 是系統内部操作(overhead)區域,這是用來支援特殊DSP 系統組態配置的0S(作業系統)資料結構。第二段區域是供 演算法使用,但是只有已排程執行演算法時才能使用此段 區域。這兩段記憶體區域的大小必須固定。這兩段記憶體 區域稱爲演算法晶片上工作區;在其他術語中,也會將此 工作區稱爲資料重疊或資料記憶體分頁區。請參閲圖14。 若要決定供演算法晶片上工作區使用的_記憶體大小,系 統開發師採用可用的總内部資料記憶體空間量,並減去支 援諸如分頁架構0S支援及資料支援之類系統軟體所需的 記憶體量。系統DSP設計師應設定諸如工作、信號 (semaphores)等等之類的0S組態配置,以將支援設計師要 同時執行之總演算法數量提高至最高限度。這使得0S支援 内部操作時間降至最低限度,並增加演算法工作區。 針對在此環境中執行的演算法而言,其内部記憶體需求 必須小於工作區大小。否則系統整合師無法整合演算法; 限制在於每演算法只有一個頁面。此架構不支援演算法多 重分頁。 經濟部中央標準局員工消費合作社印裝 (請先閲讀背面之注意事項再填寫本頁) 演算法工作區被分割成三個組件:堆疊(強制)、持久性記 憶體及非持久性記憶體。有時候會使第四個組件來處理持 久性記憶體的唯讀部份,下文中將會説明。請參閲圖15。 當演算法處於執行中狀態時,其只會使用晶片上工作 區。當排程執行演算法時,DSP系統軟體會將演算法的工 -44- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 514832 A7 B7 五、發明説明(42) 作區從其内部儲存位置(陰影儲存區)轉移至内部晶片上工作 區。當演算法讓出控制權時,DSP系統軟體將決定所要執 行的下一個演算法,如果是同一演算法,則不需要轉移工 作區。如果下一個演算法是不同的演算法,則會將現行工 作區儲存至外部記憶體的陰影儲存位置,並且轉移下一個 演算法的工作區。請參閱圖16。 在内容交換時間不會轉移演算法的整個工作區。只會轉 移堆疊的使用部份及持久性資料記憶體。當演算法位於其 呼叫堆疊的最高層時,演算法的堆疊會位於其最高層(最後 使用)。換言之,演算法位於其進入點。 當演算法的堆疊位於其最高層時會發生最理想的演算法 内容交換,因爲這表示有很少的資料要從晶片外轉移至陰 影儲存區。請參閱圖17。 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 較佳具體實施例資料分頁架構要求内容交換達成最高效 率。内容交換處理内部操作時間會花費DSP可執行演算法 的時間。由於當演算法位於其呼叫界限時是内容交換的最 佳時間,所以應可使演算法預先清空完全降至最低限度。 當演算法堆疊大於最低限度時,則會使整個系統降級。這 應是需求,但是基於非常有限的情況下,可接受預先清 空。參閱圖18至19。 演算法工作區的特殊情況是,如果演算法需求唯讀持久 性記憶體。此類型的記憶體係供演算法所使用的查詢表使 用。由於決不會修改此記憶體,所以其屬於唯讀記憶體, 而不需要寫入功能。此項非對稱式分頁轉移會縮短演算法 -45- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 514832 A7 B7 五、發明説明(43) 内容交換的内部操作時間。 運用此項資料分頁架構,可個體化單一演算法多次。由 於演算法已定義其對内部記憶體的需求,所以DSP系統整 合師可多次個體化同一演算法。DSP系統軟體持續追蹤多 重執行個體(instance),以及何時排程演算法的每個執行個 體。執行個體數量限制在於DSP系統有多少外部記憶體, 用以維持演算法執行個體的陰影版本。 DSP系統軟體必須管理每個執行個體,以在排程演算法 之後隨即正確對應至演算法資料。由於會將大部份的DSP 演算法個體作爲工作,所以DSP系統軟體可使用工作環境 指標作爲管理演算法執行個體的裝置。 5.具有鏈結的資料流程 資料流程較佳具體實施例依靠整個處理元件,以提供共 用記憶體空間,並且在處理元件間直接投送資料,而不需 要GPP介入。圖21顯示此類系統.。 經濟部中央標隼局員工消費合作社印裝 (請先閲讀背面之注意事項再填寫本頁) 當處理元件卩£&完成處理資料塊(chunk)時,會將產生的 資料寫入至共用記憶體中的預先定義輸出緩衝器中。然後 PEa經由適當的控制路徑來通知下一處理元件,以告知PEb 位於鏈結中。通知指示應使用哪一個共用記憶體緩衝器PEb 作爲輸入。然後,PEb從輸入緩衝器讀取資料以供進一步處 理。在此方法中,會在所有必要的處理元件間傳送資料, 直到已消耗所有的資料。 如上文所述,會使用一組緩衝器以在處理元件之間傳達 資料,並且在這些處理元件之間包括I/O通道。任何處理元 -46- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 514832 A7 B7 五、發明説明(44) 件之間都可有多重I/O通道,讓系統能夠同時(亦即,平行) 處理多重資料流。圖22多重資料流-si及s2 -的平行處理 實例。 藉由I/O通道所連接的一連_處理元件建構通道鏈。特殊 系統内可定義數個通道鏈。就中鏈處理元件而言,每個輸 入通道都具有關聯的輸出通道。終端處理元件只有輸入通 道或輸出通道。 處理元件的輸入通道定義要從哪一些緩衝器讀取資料。 處理元件的輸出通道定義要將資料寫入至哪一些緩衝器, 以及之後要通知哪一個處理元件。下面列資料處理元件與 中央控制處理器(CCP)之間的控制訊息類型。 (1) 狀態訊息:資料流處理啓動、停止、中止、暫停、繼 續等等。 (2) 服務品質訊息:時戳、系統負載、資源可用/使用中等 等。 (3) 資料流控制訊息:啓動、停止、暫停、繼續、轉回等 (4) 系統負載訊息:執行中工作數量、啓用中通道數量、 每處理元件通道數量等等。 經濟部中央標準局員工消費合作社印製 (請先閱讀背面之注意事項再填寫本頁) 在一項較佳具體實施例中,會經由可於系統初始化時間 讀取的組態配置檔案,以靜態方式定義I/O通道並將之與處 理元件關聯。針對所要處理的每種位元流類型,組態配置 檔案定義連接至適當處理元件的通道鏈(亦即,資料路徑)。 在通道鏈中匯集處理所有處理元件會導致完全消耗資料。 -47· 本纸張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 514832 A7 B7 五、發明説明(45 ) 在有多重資料路徑可供給定位元流使用的情況下,可定 義替代或備份通道鏈。如果主通道鏈的任何處理元件無法 使用時,則可將位元流投送至這些替代或備份通道鏈。於 執行時期決定的位元類型及動態QoS分析選擇要透過哪一 個通道鏈來投送資料。於執行時期,會固定系統所有的法 定的通道鏈,並且無法修改。 在另一項較佳具體實施例中,當新位元流抵達通訊處理 器時,可動態建構不同位元流的通道鏈。於執行時期時取 得的位元流資訊會經由控制訊息傳送至CCP,由CCP決定 所需的處理元件,在處理元件之間動態配置I/O通道。此項 做法將允許在故障時取得資源,將於執行時期進入上線狀 態,讓系統能夠自動調節。 在共用記憶體異質系統中,處理元件之間的資料流程會 經過外部共用記憶體,而不需要CCP介入。匯流排上決不 會出現資料,所以資料異動速度.係由共用記憶體存取時間 所決定,而不是由匯流排傳輸時間所決定。由於也會使 CCP介入降至最低限度,所以整個資料流程時間可排除 CCP響應及處理延遲。由於使處理元件間的資料轉移時間 降至最低限度,所以可增強系統總處理能力。 經濟部中央標準局員工消費合作社印製 (請先閲讀背面之注意事項再填寫本頁) 5a.實例 此處所討論的資料流程技術典型應用適用於媒體處理系 統。此類的系統將初始化及控制寬頻資料流,以利於進行 諸如解碼、編碼、轉譯、轉換、比例換算等等之類的處 理。其能夠處理源自於本機磁碟的媒體資料流,或是經由 -48- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 514832 A7 ' B7 五、發明説明(46 ) 諸如有線數據機、DSL或無線系統之類的通訊媒介之來自 於遠端機器/伺服器的媒體資料流。圖23顯示此類系統的實 例。 圖23的媒體處理系統包含五個處理元件:The Texas Instruments XDAIS standard requires the establishment of rules that allow one of the rendering algorithms to be plugged into the iDSP media platform, allowing system integrators to quickly combine production quality systems from one or more algorithms. The XDAIS standard requires algorithms to meet a common interface requirement called the Alg interface. The XDAIS standard proposes several rules. The most important is that algorithms cannot directly define memory or directly access hardware peripherals. System services are provided to all algorithms through a single common interface. Therefore, the system integrator only provides the DSP architecture supporting the Alg interface to all algorithms. The Alg interface also provides a means for the algorithm developer to access the system services and the algorithm activation process. Algorithms must precisely define their internal memory requirements. This is a necessary measure of the paging architecture to support multiple algorithms to access the same space in internal memory. An algorithm that complies with XDAIS is required to specify its internal and external memory. -43- This paper size applies to the Chinese National Standard (CNS) A4 specification (210X297 mm) 514832 A7 B7 V. Description of the invention (41) requirements. The internal (on-chip) memory must be divided into two regions. The first section is the system's internal operation (overhead) area. This is the 0S (operating system) data structure used to support the special DSP system configuration. The second area is for the algorithm, but it can only be used when the algorithm is scheduled to be executed. The size of these two memory areas must be fixed. These two memory regions are called the on-chip work area; in other terms, this work area is also called the data overlap or data memory paging area. See Figure 14. To determine the _memory size used by the workspace on the algorithm chip, the system developer takes the total amount of internal data memory space available and subtracts the software needed to support system software such as paging architecture OS support and data support The amount of memory. The system DSP designer should set the 0S configuration configuration such as work, semaphores, etc., to maximize the number of total algorithms that the supporting designer needs to execute simultaneously. This minimizes internal operating time for OS support and increases the algorithm work area. For algorithms executed in this environment, their internal memory requirements must be less than the size of the work area. Otherwise, the system integrator cannot integrate algorithms; the limitation is that each algorithm has only one page. This architecture does not support algorithmic multiple paging. Printed by the Consumer Standards Cooperative of the Central Standards Bureau of the Ministry of Economic Affairs (please read the notes on the back before filling this page) The algorithm workspace is divided into three components: stacked (mandatory), persistent memory, and non-persistent memory. A fourth component is sometimes made to handle the read-only portion of persistent memory, as explained below. See Figure 15. When the algorithm is running, it will only use the on-chip workspace. When the algorithm is scheduled to be executed, the DSP system software will calculate the algorithm's work-44- This paper size applies to the Chinese National Standard (CNS) A4 specification (210X297 mm) 514832 A7 B7 V. Description of the invention (42) Its internal storage location (shadow storage area) is transferred to the work area on the internal wafer. When the algorithm gives up control, the DSP system software will determine the next algorithm to be executed. If it is the same algorithm, it is not necessary to shift the work area. If the next algorithm is a different algorithm, the current workspace will be stored in the shadow storage location of external memory, and the workspace of the next algorithm will be transferred. See Figure 16. The entire workspace of the algorithm is not transferred during content exchange time. Only the used portion of the stack and persistent data memory are migrated. When the algorithm is at the highest level of its call stack, the algorithm's stack is at its highest level (last used). In other words, the algorithm is at its entry point. The optimal algorithmic content exchange occurs when the algorithmic stack is at its highest level, as this means that very little data is transferred from off-chip to the shadow storage area. See Figure 17. Printed by the Consumer Cooperatives of the Central Bureau of Standards of the Ministry of Economic Affairs (please read the notes on the back before filling out this page). The preferred embodiment of the data paging structure requires content exchange to achieve the highest efficiency. The internal operation time of the content exchange process will take the time that the DSP can execute the algorithm. Since it is the best time to exchange content when the algorithm is at its call boundary, the algorithm should be completely emptied beforehand to a minimum. When the algorithm stack is larger than the minimum, it will degrade the entire system. This should be a requirement, but based on very limited circumstances, preemption is acceptable. See FIGS. 18 to 19. A special case of the algorithm workspace is if the algorithm requires read-only persistent memory. This type of memory system is used by lookup tables used by algorithms. Since this memory is never modified, it is read-only memory and does not require a write function. This asymmetric pagination transfer will shorten the algorithm -45- This paper size applies to the Chinese National Standard (CNS) A4 specification (210X 297 mm) 514832 A7 B7 V. Description of the invention (43) Internal operation time of content exchange. Using this data paging structure, a single algorithm can be individualized multiple times. Since the algorithm has defined its internal memory requirements, the DSP system integrator can personalize the same algorithm multiple times. The DSP system software continuously tracks multiple instances and when each instance of the algorithm is scheduled. The number of instances is limited by how much external memory the DSP system has to maintain a shadowed version of the algorithm's instances. The DSP system software must manage each instance in order to correctly map to the algorithm data immediately after scheduling the algorithm. Since most of the DSP algorithm individuals will work, the DSP system software can use the working environment indicators as a means of managing the algorithm execution instances. 5. Data Flow with Links The preferred embodiment of the data flow relies on the entire processing element to provide shared memory space, and directly transfer data between processing elements without the need for GPP intervention. Figure 21 shows such a system. Printed by the Consumer Cooperatives of the Central Bureau of Standards of the Ministry of Economic Affairs (please read the precautions on the back before filling this page). When the processing element 卩 £ & finishes processing the chunk, the generated data will be written to the shared memory In a predefined output buffer in the volume. PEa then informs the next processing element via the appropriate control path to inform PEb that it is in the chain. The notification indicates which shared memory buffer PEb should be used as input. PEb then reads the data from the input buffer for further processing. In this method, data is transferred between all necessary processing elements until all data has been consumed. As mentioned above, a set of buffers are used to communicate data between processing elements and include I / O channels between these processing elements. Any processing element -46- This paper size is applicable to Chinese National Standard (CNS) A4 specification (210X 297 mm) 514832 A7 B7 V. Description of the invention (44) Multiple I / O channels are available between the pieces, so that the system can simultaneously (I.e., parallel) Processing multiple data streams. Fig. 22 An example of parallel processing of multiple data streams -si and s2-. The channel chain is constructed by a series of processing elements connected to the I / O channels. Several channel chains can be defined in special systems. For medium-chain processing elements, each input channel has an associated output channel. The terminal processing element has only input channels or output channels. The input channel of the processing element defines from which buffers data is to be read. The output channel of the processing element defines which buffers the data is to be written to and which processing element is to be notified afterwards. The following lists the types of control messages between the data processing element and the central control processor (CCP). (1) Status messages: data stream processing start, stop, abort, pause, resume, etc. (2) Service quality information: time stamp, system load, resource availability / use, etc. (3) Data flow control messages: start, stop, pause, resume, switch back, etc. (4) System load messages: number of work in progress, number of channels in use, number of channels per processing element, etc. Printed by the Consumer Cooperative of the Central Standards Bureau of the Ministry of Economic Affairs (please read the notes on the back before filling this page). In a preferred embodiment, the configuration file can be read statically through the configuration file that can be read at the system initialization time. Methods define I / O channels and associate them with processing elements. For each type of bit stream to be processed, the configuration profile defines the channel chain (that is, the data path) connected to the appropriate processing element. Aggregating and processing all processing elements in a channel chain results in complete data consumption. -47 · This paper size applies the Chinese National Standard (CNS) A4 specification (210X 297 mm) 514832 A7 B7 V. Description of the invention (45) In the case where there are multiple data paths that can be used for positioning element streams, alternatives can be defined Or backup channel chain. If any of the processing elements of the main channel chain are unavailable, bit streams can be delivered to these alternative or backup channel chains. The bit type and dynamic QoS analysis determined during the execution period choose which channel chain to use to deliver data. During the execution period, all legal channel chains of the system are fixed and cannot be modified. In another preferred embodiment, when a new bit stream arrives at the communication processor, channel chains of different bit streams can be dynamically constructed. The bit stream information obtained during the execution period is transmitted to the CCP via a control message. The CCP determines the required processing elements, and dynamically allocates I / O channels between the processing elements. This approach will allow resources to be obtained in the event of a failure, and will go online during execution, allowing the system to adjust automatically. In a shared memory heterogeneous system, the data flow between processing elements will pass through the external shared memory without the need for CCP intervention. No data will ever appear on the bus, so the speed of data changes is determined by the shared memory access time, not the bus transmission time. Because CCP intervention is also minimized, the entire data flow time eliminates CCP response and processing delays. By minimizing the data transfer time between processing elements, the overall system processing capacity can be enhanced. Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs (please read the notes on the back before filling out this page) 5a. Examples The typical applications of the data flow techniques discussed here are applicable to media processing systems. Such a system will initialize and control the broadband data stream to facilitate processing such as decoding, encoding, translation, conversion, scaling, and so on. It can handle the media data stream originating from the local disk, or pass -48- This paper size applies the Chinese National Standard (CNS) A4 specification (210X 297 mm) 514832 A7 'B7 V. Description of the invention (46) Communication media such as cable modems, DSL or wireless systems are media data streams from remote machines / servers. Figure 23 shows an example of such a system. The media processing system of FIG. 23 includes five processing elements:

(1) DSL或有線數據機I/O前端DSP(1) DSL or cable modem I / O front-end DSP

(2) 媒體處理DSP (3) 視訊/圖形重疊處理器 (4) Η·263解碼器工作 (5) 色彩空間轉換器工作 Η.263資料流沿著編號弧線1到3的通道鏈行進,進入前端 I/O DSP。每個通道連接兩個處理元件,並且係由用來在元 件間傳送資料的一組I/O缓衝器所组成。圖中所示的控制流 程係通過虛線。 全域性共用記憶體中定義從I/O前端DSP流動至通道1 I/O 緩衝器的Η.263資料流。I/O前端DSP通知與通道1關聯的目 的地處理元件,亦即,在媒體處理DSP上的Η.263解碼器工 作,告知輸入缓衝器已滿,並且已準備好供讀取。Η. 263 解碼器工作讀取通道1 I/O緩衝器、解碼資料並將產生的 YUV資料寫入至本機共用記憶體中的通道2 I/O缓衝器。 請注意,通道可能是處理器間或處理器内的通道。處理 器間可經由全域性共用記憶體(處理器間)或經由給定處理器 的’’區域性”共用記憶體(處理器内)來傳送資料。於圖4中, 通道1及3都是處理器間通道,通道2是處理器内通道。 6.修改 -49 - 本紙張尺度適用中國國家標準(CNS) Α4規格(210X 297公釐) 514832 A7 B7 五、發明説明(47 ) 可用各種方法來修改較佳具體實施例,而保留申請專利 範圍的功能。 經濟部中央標準局員工消費合作社印製 -50 (請先閱讀背面之注意事項再填寫本頁)(2) Media processing DSP (3) Video / graphic overlay processor (4) Η · 263 decoder works (5) Color space converter works Η.263 data stream travels along the channel chain of numbered arcs 1 to 3, enter Front-end I / O DSP. Each channel connects two processing elements and consists of a set of I / O buffers used to transfer data between the elements. The control flow shown in the figure is through dotted lines. The global shared memory defines the 定义 .263 data stream that flows from the I / O front-end DSP to the channel 1 I / O buffer. The I / O front-end DSP notifies the destination processing element associated with channel 1, that is, the Η.263 decoder on the media processing DSP operates, notifying that the input buffer is full and ready for reading. Η. The 263 decoder works to read the channel 1 I / O buffer, decodes the data, and writes the generated YUV data to the channel 2 I / O buffer in the local shared memory. Note that channels may be channels between processors or within processors. Data can be transferred between processors via a global shared memory (inter-processor) or a "regional" shared memory (in-processor) for a given processor. In Figure 4, channels 1 and 3 are both Channel between processors, channel 2 is the channel inside the processor. 6. Modification -49-This paper size applies to China National Standard (CNS) A4 specification (210X 297 mm) 514832 A7 B7 V. Description of invention (47) Various methods are available To modify the preferred embodiment, and retain the functions of the patent application. Printed by the Consumer Cooperatives of the Central Standards Bureau of the Ministry of Economic Affairs -50 (Please read the notes on the back before filling this page)

本纸張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐)This paper size applies to China National Standard (CNS) A4 (210X 297 mm)

Claims (1)

A B c DA B c D 514832 第090110000號專利申請案 中文申請專利範圍修正本(91年9月) 六、申請專利範圍 1. 一種主從式(client-server)排程方法,該方法包括下列 步驟: (a) —用戶端上的一第一階段排程,用以設定一耦合至 該用戶端之伺服器之工作的即時最後期限;以及 (b) 在該伺服器上之該等工作之子工作的一第二階段排 程,該第二階段排程使用步驟(a)的即時最後期限。 2. 如申請專利範圍第1項之排程方法,其中: (a) 該等工作包括一媒體資料流解碼;以及 (b) 該等子工作包括一針對該媒體資料流的訊框解碼。 3. —種適用於主從式系統的物件請求仲介(object request broker)方法,該方法包括下列步驟: (a) 隱藏一第一用戶端請傳回及一第二用戶端請求呼 叫;以及 (b) 將一第一伺服器物件的輸出鏈結至一第二伺服器物 件的輸入,其中該第一伺服器物件及該第二伺服器物件 分別對應於該第一及第二用戶端請求。 4. 如申請專利範圍第3項之方法,其中: (a)該鏈結係藉由建立一緩衝器,以供該伺服器中的中 間結果(該第一伺服器物件的輸出及該第二伺服器物件的 輸入)使用。 5. —種主從式系統中的伺服器處理器記憶體管理方法,該 方法包括下列步驟: (a)將一處理器記憶體的一第一部份配置給處理器内部 操作時間(overhead);以及 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 514832514832 Patent Application No. 090110000 Chinese Patent Application Amendment (September 91) VI. Patent Application Scope 1. A client-server scheduling method, which includes the following steps: (a)-user A first-stage schedule on the server to set an immediate deadline for a task that is coupled to the server of the client; and (b) a second-stage schedule of the child tasks of those tasks on the server This second stage schedule uses the immediate deadline of step (a). 2. The scheduling method of item 1 of the scope of patent application, wherein: (a) the jobs include decoding of a media stream; and (b) the sub-jobs include frame decoding for the media stream. 3. An object request broker method suitable for a master-slave system, the method includes the following steps: (a) hide a first client request back and a second client request call; and ( b) Linking the output of a first server object to the input of a second server object, wherein the first server object and the second server object correspond to the first and second client requests, respectively. 4. The method according to item 3 of the patent application scope, wherein: (a) the link is established by creating a buffer for the intermediate results in the server (the output of the first server object and the second Server objects). 5. —A method for managing server processor memory in a master-slave system, the method includes the following steps: (a) Allocating a first portion of a processor memory to the processor's internal operating time (overhead) ; And this paper size applies Chinese National Standard (CNS) A4 specification (210 X 297 mm) 514832 ^、申請專利祀圍 (b)將該處理器記憶體的一第二部份配置給工作區,其 中每次只有一單一工作可佔用該第二部份。 6. 如申請專利範圍第5項之方法,其中: (a)該處理器記憶體的第二部份包括堆疊組件、一持久 性記憶體組件及一非持久性記憶體組件。 7. 一種異質系統(heterogeneous system)中的資料流程方 法,該異質系統具有連接至一控制處理器的匯流排及連 接至複數個處理元件之每一個的匯流排,該方法包括下 列步驟: (a)藉由使用一與該匯流排分隔的共同記憶體,在該等 處理元件之間轉移資料。 -2- 本纸張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)^ Application for patent enclosing (b) Allocating a second part of the processor memory to the work area, where only a single job can occupy the second part at a time. 6. The method of claim 5 in the scope of patent application, wherein: (a) the second part of the processor memory includes a stack component, a persistent memory component, and a non-persistent memory component. 7. A data flow method in a heterogeneous system, the heterogeneous system having a bus connected to a control processor and a bus connected to each of a plurality of processing elements, the method comprising the following steps: (a ) Transfer data between the processing elements by using a common memory separate from the bus. -2- This paper size applies to China National Standard (CNS) A4 (210 X 297 mm)
TW090110000A 2000-04-26 2001-04-26 Multiprocessor object control TW514832B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US19975400P 2000-04-26 2000-04-26

Publications (1)

Publication Number Publication Date
TW514832B true TW514832B (en) 2002-12-21

Family

ID=22738883

Family Applications (1)

Application Number Title Priority Date Filing Date
TW090110000A TW514832B (en) 2000-04-26 2001-04-26 Multiprocessor object control

Country Status (3)

Country Link
JP (1) JP2002041308A (en)
KR (1) KR20010098904A (en)
TW (1) TW514832B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8050198B2 (en) 1999-05-24 2011-11-01 Qualcomm Incorporated Method and system for scheduling data transmission in communication systems
TWI650636B (en) * 2017-11-23 2019-02-11 財團法人資訊工業策進會 Detection system and detection method
TWI740276B (en) * 2019-11-19 2021-09-21 英業達股份有限公司 Server with master-slave architecture and method of information reading and writing thereof

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100440577B1 (en) * 2001-12-28 2004-07-21 한국전자통신연구원 A Priority based Method Invocation and Execution using Pre-defined Priority on MSMP System
KR100450844B1 (en) * 2002-02-21 2004-10-01 (주)씨앤에스 테크놀로지 Video CODEC processor architecture
KR100450843B1 (en) * 2002-02-21 2004-10-01 (주)씨앤에스 테크놀로지 Interfacing archtecture of video CODEC processor between protocol processor
GB2410344B (en) 2004-01-26 2006-03-15 Toshiba Res Europ Ltd Dynamic voltage controller
JP4862026B2 (en) * 2008-09-05 2012-01-25 キヤノン株式会社 Image forming apparatus, image forming apparatus control method, and control program
JP4669581B2 (en) * 2008-11-05 2011-04-13 パナソニック株式会社 Object position estimation system, object position estimation apparatus, object position estimation method, and object position estimation program
CN109814996B (en) * 2019-01-04 2024-03-22 平安科技(深圳)有限公司 Streaming media transmission control method and device, storage medium and computer equipment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8050198B2 (en) 1999-05-24 2011-11-01 Qualcomm Incorporated Method and system for scheduling data transmission in communication systems
TWI650636B (en) * 2017-11-23 2019-02-11 財團法人資訊工業策進會 Detection system and detection method
TWI740276B (en) * 2019-11-19 2021-09-21 英業達股份有限公司 Server with master-slave architecture and method of information reading and writing thereof

Also Published As

Publication number Publication date
KR20010098904A (en) 2001-11-08
JP2002041308A (en) 2002-02-08

Similar Documents

Publication Publication Date Title
US20020019843A1 (en) Multiprocessor object control
US7140016B2 (en) Media accelerator quality of service
Schmidt et al. A high-performance end system architecture for real-time CORBA
Schmidt et al. An overview of the real-time CORBA specification
Mungee et al. The design and performance of a CORBA audio/video streaming service
Schmidt et al. Software architectures for reducing priority inversion and non-determinism in real-time object request brokers
Schmidt et al. C++ Network Programming, Volume 2: Systematic Reuse with ACE and Frameworks
US7080386B2 (en) Architecture with digital signal processor plug-ins for general purpose processor media frameworks
EP1438678B1 (en) System for application server messaging with multiple dispatch pools
Pyarali et al. Evaluating and optimizing thread pool strategies for real-time CORBA
US7424549B2 (en) System, method, and article of manufacture for using a replaceable component to select a replaceable quality of service capable network communication channel component
TW514832B (en) Multiprocessor object control
US20140068165A1 (en) Splitting a real-time thread between the user and kernel space
Schmidt et al. Architectures and patterns for developing high-performance, real-time ORB endsystems
Schmidt et al. Developing next-generation distributed applications with QoS enabled DPE middleware
Koster et al. Thread transparency in information flow middleware
Waddington et al. A distributed multimedia component architecture
Northcutt et al. System support for time-critical applications
Blair et al. A programming model and system infrastructure for real-time synchronization in distributed multimedia systems
Duran-Limon et al. Reconfiguration of resources in middleware
Calvo et al. Supporting a reconfigurable real-time service-oriented middleware with FTT-CORBA
Schmidt et al. Applying patterns to develop a pluggable protocols framework for orb middleware
Coulson et al. A Retrospective on the Design of the GOPI Middleware Platform
Koster et al. Thread transparency in information flow middleware
Northcutt et al. System support for time-critical applications

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees