1260885 九、發明說明: 【發明所屬之技術領域】 本發明是有關於一種數位視訊廣播(dvb)方法,且特別 是有關於一種數位視訊廣播中,服務資訊(SI)的擷取與使用 方法。 【先前技術】 由於訊號處理技術的進步’數位視訊廣播(digital video broadcasting,DVB)已經逐漸取代傳統的類比電視廣播技 術。在數位視訊廣播中,同一個物理頻道可以傳送多個電 視節目。換句話說,多個節目的資訊可以經由編碼編入同 一個串流(transport stream,TS)中。 第1圖繪示過去利用軟體對串流之解碼的示意圖。第2 圖繪示一串流(transport stream)編碼的示意圖。請同時參照 第1圖以及第2圖,一個串流200可以傳送多個節目的資 訊(包括聲音資料208、視訊資料204以及節目資料)。為了 分辨這些節目資訊,在串流200中必須穿插服務資訊 (service information,SI)(202、206 或 210),使得將來的解 碼器可以順利分辨不同節目的資訊。 以微軟提出的 BDA (Broadcasting Driver Architecture) 為例,一個串流經由天線101接收,再經由網路提供者 (network provider)102傳送給一解多工器104。解多工器104 可以將串流2〇〇中的視訊資料2〇4、聲音資料208以及服務 資訊(SI) (202、206或210)分離。視訊資料204由視訊解碼 器106解碼;聲音資料208由聲音解碼器108解碼; 5 1260885 資訊(SI) (202、206或210)則由傳輸資訊濾、波器(Transport Information Filter,TIF)110 以及區段和表(Sections & Tables)112接收以及過濾。 在微軟的例子中,當使用者切換節目時,應用程式會 通知傳輸資訊渡波器(Transport Information Filter,TIF)110 以及區段和表(Sections & Tables)l 12並提出對表(table)的 需求,例如需要一個 NIT 表(network information table)。傳 輸資訊濾波器(TIF)l 10 以及區段和表(Sections & Tables)112會等待串流200不斷地通過,直到在一段服務資 訊(SI)中取得一個NIT表。 一個表(例如NIT表)可能要經過數秒才會經由串流中 的一段服務資訊(SI)帶進來,此時轉換節目的動作才會完 成。這樣的間隔對於使用者來說太長。因此,過去這種利 用傳輸資訊濾波器(TIF)l 10以及區段和表(Sections & Tables)112的方式對於服務資訊(SI)的使用效率比較差。 因此非常需要一種新的處理服務資訊(SI)的方法,使得 使用者能夠快速、有效率地取得服務資訊(SI)中的内容。 【發明内容】 因此本發明的目的就是在提供一種服務資訊(SI)的擷 取與使用方法,可以讓使用者迅速轉換節目。 本發明的另一目的是在提供一種服務資訊(SI)的擷取 與使用方法’可以有效率地儲存服務資訊(SI)。 本發明的又一目的是在提供一種服務資訊(SI)的擷取 與使用方法’可以讓應用程式迅速取得需要的服務資訊。 1260885 根據本發明之上述目的,提出一種服務資訊(service information,SI)的擷取與使用方法,用於一數位視訊廣播 (digital video broadcasting)系統。依照本發明一較佳實施 例,本發法包括下列步驟。碟認一串流(transport stream)中 的一段服務資訊(SI)中的内容是否為一應用程式 (application)所需要。當此段服務資訊中之一部分内容為應 用程式所需要時,儲存此段服務資訊之此部分内容於一記 憶體。當應用程式要求取得(request)此段服務資訊之此部分 内容時,將此部分内容一次以一個區段(section)為單位,提 供給應用程式進行剖析(parsing)。 根據本發明之目的,提出一種服務資訊(SI)的擷取與使 用方法,用於一數位視訊廣播系統。依照本發明一較佳實 施例,此方法包括下列步驟。依據時間順序擷取一串流 (transport stream)中的複數段服務資訊之部分内容並儲存 至一記憶體。當一應用程式需要這些服務資訊之部分内容 時,利用一區段緩衝區(section buffer)儲存由記憶體複製 (clone)出來的單一區段(single section),其中此單一區段係 選自這些服務資訊之部分内容。使應用程式自區段緩衝區 取用(access)此單一區段以近行剖析(parsing)。重複進行下 一個單一區段(single section)的複製與剖析。 本發明至少具有下列優點,其中每一實施例可以具有 一個或多個優點。本發明的服務資訊(SI)的擷取與使用方法 可以讓使用者迅速轉換節目。本發明的服務資訊(SI)的擷取 與使用方法可以有效率地儲存服務資訊(SI)。本發明的服務 資訊(SI)的擷取與使用方法可以讓應用程式迅速取得需要 7 1260885 的服務資訊,。 【實施方式】 第3圖繪示本發明之一實施例之示意圖。相較於第1 圖,第3圖之架構增加了一個服務資訊儲存濾波器(service information store filter,SISF)302。服務資訊儲存渡波器 • (SISF)302直接由解多工器1〇4接收一個串流之服務資訊 (SI)。 請參照第2圖,服務資訊(SI)(2〇2、206、210)係穿插 於串流200内,服務資訊(SI)規定不同節目和節目中的不同 内容如何編成一個統一的串流。串流200也包含了各節目 的聲音資料208以及視訊資料204 °服務資訊儲存濾波器 (SISF)302對於每一個收進來的服務資訊(SI)都加以過濾, 過濾之後的服務資訊(SI)儲存於一記憶體中。 • 在開發應用程式的過程中’可能不需要全部的服務資 訊(SI),因此應用程式可以只選擇部分的服務資訊(SI)。當 服務資訊儲存濾波器(SISF)302接收到不需要的服務資訊 時(SI),便不儲存在記憶體中。當然’若應用程式需要所有 的服務資訊(SI),則只要接收到尚未儲存於記憶體的服務資 訊(SI),都儲存在記憶體中。 在一實施例中’可以利用一儲存管理器(store manager) 來過濾以及管理儲存於記憶體中的資料。第4圖繪示本發 明之一實施例之示意圖。在服務資訊儲存濾波器(SISF)302 1260885 中(繪^示於第3圖),接收器404接收串流402,確認串流402 中的服務資訊(SI)中的内容是否為應用程式412所需要。當 服務資訊中之一部分内容為該用程式412所需要時,將這 些有用的資料傳送至儲存管理器410。儲存管理器410可以 控制這些有用的資料存進記憶體408的方式,也可以控制 這些有用的資料由應用程式412讀取的方式。 接收器404接收服務資訊(SI)之後會確認該串流 (transport stream)中的服務資訊(SI)是否符合應用程式412 的需求。這些確認的步驟例如··確認一段服務資訊(SI)的語 法(syntax)是否正確,當此段服務資訊(SI)的語法(syntax)不 正確時,不儲存此段服務資訊(SI)。檢查記憶體中是否已經 存在相同的服務資訊(SI),若已經存在,則不需要再儲存相 同的服務資訊(SI)。若收到的服務資訊(SI)是更新(updated) 的服務資訊(SI),則將此更新的服務資訊(SI)存入記憶體 408。由於服務資訊(SI)的傳送相當頻繁,因此服務資訊(SI) 存入記憶體的動作也相當頻繁。 藉上述的方法,同一個串流402内已經出現過的服務 資訊(SI)都會被儲存在記憶體414中,因此當使用者需要這 些服務資訊(SI)時,可以即時經由應用程式412向記憶體 408取得,不需要再等待串流402帶來新的服務資訊(SI)。 所以這種方法可以縮短使用者切換節目的反應時間。同樣 的,如果播放節目時需要顯示一些資訊,也可以經由健存 管理器410向記憶體408要求,再經由特性顯示(Properties displaying)模組 414 播放。 因為串流402會隨著時間不斷提供服務資訊(SI),儲存 9 1260885 管理器410也會持續將通過接收器404檢查的服務資訊存 入記憶體408,所以存入記憶體408的動作會很頻繁。當應 用程式412向儲存管理器410要求讀出某一服務資訊的資 料時,可能會有時間延遲的現象。 所以在一實施例中,當應用程式412要求取得(request) 某一段服務資訊之部分内容時,儲存管理器410可以將部 分内容一次以一個區段(section)為單位,提供給應用程式 412進行剖析(parsing)。當儲存管理器410讀出一個區段 (section)的服務資訊(SI)後,可以繼續進行儲存新的服務資 訊的動作。因為一個區段(section)的單位很小,不會佔據太 多時間,因此儲存管理器410可以很快回頭繼續儲存新的 服務資訊(SI)。如此一來,不但可以即時回應應用程式的要 求,也可以持續寫入新的服務資訊(SI),不至於漏掉任何新 的服務資訊(SI)。 在一實施例中,可以利用一空的區段緩衝區(section buffer)以儲存由記憶體408複製(clone)出來的單一區段 (single section)。應用程式412可以利用此區段緩衝區取用 (access)此單一區段以近行剖析(parsing)。此時因為應用程 式412不直接從記憶體408讀取此單一區段的資料,因此 不會佔用記憶體408的存取時間。在實作上,可以建立一 臨界區段(critical section)使得對記憶體408寫入與讀取服 務資訊(SI)的内容之步驟不互相衝突。 程式開發者可以在應用程式(application)中建立一取 用組件(accessing component)。此取用組件只在複製單一區 段(section)的步驟中使用臨界區段(critical section),以降低 1260885 執行臨界區段所佔用的期間(critical section period)。 第5圖繪示服務資訊(SI)之儲存結構(storing structure) 之一範例。儲存管理器410可以將取得的服務資訊利用第5 圖所示之儲存結構進行儲存。在一實施例中,應用程式412 只需要 PAT(program association table)、PMT(program map table)、NIT(network information table)、SDT(service description table)、EIT(event information table)、TDT(time and data table) 、 BAT(bouquet association table)、 RST(running status table)、TOT(time offset table)這幾個表 (tables)以及其内含的區段(sections)。有些服務資訊(SI)的 表應用程式並不需要,這些不需要的表就可以不列入此儲 存結構。 在一實施例中,儲存結構可以動態配置(dynamically allocates)適合一特定服務資訊表(SI table)的記憶體大小 (size)以降低記憶體之佔用率。當然,為了能夠辨識出上述 記憶結構的所有表(tables),接收器404或儲存管理器410 可以事先對PAT、PMT以及NIT進行剖析(parsing)。 本發明至少具有下列優點,其中每一實施例可以具有 一個或多個優點。本發明的服務資訊(SI)的擷取與使用方法 可以讓使用者迅速轉換節目。本發明的服務資訊(SI)的擷取 與使用方法可以有效率地儲存服務資訊(SI)。本發明的服務 資訊(SI)的擷取與使用方法可以讓應用程式迅速取得需要 的服務資訊。 雖然本發明已以一較佳實施例揭露如上,然其並非用 以限定本發明,任何熟習此技藝者,在不脫離本發明之精 11 l26〇885 ^和軌圍θ,當可作各種之更動與潤_,因此本發明之保 δ 蔓範圍當視後附之申請專利範圍所界定者為準。 【圖式簡單說明】 〜為讓本發明之上述和丨他目㈣、特徵、優,點與實施例 能更明顯易懂,所附圖式之詳細說明如下: 第1圖繪示過去利用軟體對串流之解碼的示意圖; 第2圖緣示一串/爪(transport stream)編碼的示意圖; 第3圖繪示本發明之一實施例之示意圖; 第4圖繪示本發明之一實施例之示意圖;以及 第5圖繪示服務資訊(SI)之儲存結構(st〇ring咖叫加代) 之一範例。BACKGROUND OF THE INVENTION 1. Field of the Invention This invention relates to a digital video broadcasting (dvb) method, and more particularly to a method of capturing and using service information (SI) in a digital video broadcasting. [Prior Art] Due to advances in signal processing technology, digital video broadcasting (DVB) has gradually replaced traditional analog television broadcasting technology. In digital video broadcasting, multiple television programs can be transmitted on the same physical channel. In other words, information for multiple programs can be encoded into the same transport stream (TS) via encoding. FIG. 1 is a schematic diagram showing the decoding of a stream by software in the past. Figure 2 shows a schematic diagram of a transport stream encoding. Referring to FIG. 1 and FIG. 2 simultaneously, a stream 200 can transmit information of a plurality of programs (including sound data 208, video data 204, and program material). In order to distinguish these program information, service information (SI) (202, 206 or 210) must be interspersed in the stream 200 so that future decoders can smoothly distinguish information of different programs. Taking BDA (Broadcasting Driver Architecture) proposed by Microsoft as an example, a stream is received via antenna 101 and transmitted to a demultiplexer 104 via a network provider 102. The demultiplexer 104 can separate the video material 2〇4, the sound material 208, and the service information (SI) (202, 206 or 210) in the stream 2〇〇. The video material 204 is decoded by the video decoder 106; the sound data 208 is decoded by the sound decoder 108; 5 1260885 information (SI) (202, 206 or 210) is transmitted by the information filter (Transport Information Filter (TIF) 110 and Sections & Tables 112 receive and filter. In the Microsoft example, when the user switches programs, the application notifies the Transport Information Filter (TIF) 110 and the Sections & Tables 12 and proposes a table. Requirements, for example, require a network information table. The Transmission Information Filter (TIF) 10 and the Sections & Tables 112 wait for the stream 200 to continually pass until an NIT table is obtained in a piece of service information (SI). A table (such as a NIT table) may take a few seconds to be brought in via a piece of service information (SI) in the stream, at which point the conversion of the program will be completed. Such an interval is too long for the user. Therefore, in the past, such a method of using a transmission information filter (TIF) 10 and a section and a table (Sections & Tables) 112 is inefficient in use of service information (SI). Therefore, there is a great need for a new method of processing service information (SI) that enables users to quickly and efficiently obtain content in service information (SI). SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide a method of capturing and using service information (SI) that allows a user to quickly switch programs. Another object of the present invention is to efficiently store service information (SI) while providing a method of capturing and using service information (SI). It is still another object of the present invention to provide a service information (SI) capture and use method that allows an application to quickly obtain the required service information. 1260885 According to the above object of the present invention, a method for capturing and using service information (SI) is proposed for a digital video broadcasting system. In accordance with a preferred embodiment of the present invention, the method includes the following steps. The disc recognizes whether the content in a piece of service information (SI) in a transport stream is required by an application. When part of the service information is needed by the application, this part of the service information is stored in a memory. When the application requests to request this part of the service information, this part of the content is provided to the application for parsing in a section. In accordance with the purpose of the present invention, a method of capturing and using service information (SI) is proposed for use in a digital video broadcasting system. According to a preferred embodiment of the invention, the method comprises the following steps. A portion of the plurality of service information in a transport stream is retrieved in time series and stored in a memory. When an application needs part of the service information, a section buffer is used to store a single section that is cloned by the memory, wherein the single section is selected from these Part of the service information. Enables the application to access this single section from the section buffer for parsing. Repeat the copying and profiling of the next single section. The present invention has at least the following advantages, each of which may have one or more advantages. The method of accessing and using the service information (SI) of the present invention allows the user to quickly switch programs. The service information (SI) capture and use method of the present invention can efficiently store service information (SI). The method of accessing and using the service information (SI) of the present invention allows the application to quickly obtain service information requiring 7 1260885. Embodiment 3 FIG. 3 is a schematic view showing an embodiment of the present invention. Compared to Figure 1, the architecture of Figure 3 adds a service information store filter (SISF) 302. Service Information Storage Waver • (SISF) 302 receives a stream of service information (SI) directly from the demultiplexer 1〇4. Referring to Fig. 2, service information (SI) (2, 2, 206, 210) is interspersed in stream 200, and service information (SI) specifies how different contents of different programs and programs are organized into a unified stream. The stream 200 also includes the sound data 208 of each program and the video data 204. The service information storage filter (SISF) 302 filters each incoming service information (SI), and the filtered service information (SI) is stored. In a memory. • During the development of the application, the full service information (SI) may not be required, so the application can select only part of the service information (SI). When the Service Information Storage Filter (SISF) 302 receives the unwanted service information (SI), it is not stored in the memory. Of course, if the application requires all service information (SI), it will be stored in the memory as long as it receives the service information (SI) that has not been stored in the memory. In one embodiment, a store manager can be utilized to filter and manage the data stored in the memory. Figure 4 is a schematic illustration of one embodiment of the invention. In service information storage filter (SISF) 302 1260885 (shown in FIG. 3), receiver 404 receives stream 402 and confirms whether the content in service information (SI) in stream 402 is application 412. need. These useful data are transferred to the storage manager 410 when a portion of the service information is needed by the application 412. The storage manager 410 can control the manner in which such useful data is stored in the memory 408, as well as the manner in which the useful data is read by the application 412. After receiving the service information (SI), the receiver 404 confirms whether the service information (SI) in the transport stream meets the requirements of the application 412. These confirmation steps, for example, confirm whether the syntax of a service information (SI) is correct. When the syntax of the service information (SI) is incorrect, the service information (SI) is not stored. Check that the same service information (SI) already exists in the memory. If it already exists, you do not need to store the same service information (SI). If the received service information (SI) is updated service information (SI), the updated service information (SI) is stored in the memory 408. Since service information (SI) is transmitted quite frequently, the service information (SI) is stored in memory quite frequently. By the above method, the service information (SI) that has appeared in the same stream 402 is stored in the memory 414. Therefore, when the user needs the service information (SI), the user can immediately access the memory via the application 412. The volume 408 is obtained, and there is no need to wait for the stream 402 to bring in new service information (SI). Therefore, this method can shorten the response time of the user to switch programs. Similarly, if some information needs to be displayed when playing a program, it can also be requested by the memory manager 410 to the memory 408 and then played through the Properties displaying module 414. Since the stream 402 will continue to provide service information (SI) over time, the storage 9 1260885 manager 410 will continue to store the service information checked by the receiver 404 in the memory 408, so the action stored in the memory 408 will be very frequently. When the application 412 requests the storage manager 410 to read information about a certain service information, there may be a time delay. Therefore, in an embodiment, when the application 412 requests to request a portion of the content of a certain piece of service information, the storage manager 410 may provide the content to the application 412 in units of a section at a time. Parsing. After the storage manager 410 reads out the service information (SI) of a section, the action of storing the new service information can be continued. Since the unit of a section is small and does not occupy too much time, the storage manager 410 can quickly go back and continue to store new service information (SI). In this way, not only can you respond to the application's requirements in real time, but you can also continue to write new service information (SI) without missing any new service information (SI). In one embodiment, an empty section buffer may be utilized to store a single section that is cloned by memory 408. Application 412 can utilize this section buffer to access this single section for near-parsing. At this time, since the application 412 does not directly read the data of the single segment from the memory 408, the access time of the memory 408 is not occupied. In practice, a critical section can be created such that the steps of writing to memory 408 and reading the contents of the service information (SI) do not conflict. The program developer can create an accessing component in the application. This fetch component uses a critical section only in the step of copying a single section to reduce the critical section period during which the 1260885 performs the critical section. Figure 5 illustrates an example of a storage structure (SI) storage structure. The storage manager 410 can store the obtained service information using the storage structure shown in FIG. In an embodiment, the application program 412 only needs PAT (program association table), PMT (program map table), NIT (network information table), SDT (service description table), EIT (event information table), TDT (time and Data table), BAT (bouquet association table), RST (running status table), TOT (time offset table) tables and their included sections. Some Service Information (SI) table applications are not required, and these unneeded tables can be excluded from this storage structure. In one embodiment, the storage structure can dynamically allocate memory sizes suitable for a particular service information table (SI table) to reduce memory usage. Of course, in order to be able to recognize all the tables of the above memory structure, the receiver 404 or the storage manager 410 can parse the PAT, PMT, and NIT in advance. The present invention has at least the following advantages, each of which may have one or more advantages. The method of accessing and using the service information (SI) of the present invention allows the user to quickly switch programs. The service information (SI) capture and use method of the present invention can efficiently store service information (SI). The method of accessing and using the service information (SI) of the present invention allows the application to quickly obtain the required service information. Although the present invention has been disclosed in a preferred embodiment as above, it is not intended to limit the present invention, and any person skilled in the art can make various kinds without departing from the essence of the present invention. It is intended that the scope of the invention is defined by the scope of the patent application. BRIEF DESCRIPTION OF THE DRAWINGS In order to make the above-mentioned and other aspects (four), features, advantages, and embodiments of the present invention more obvious and easy to understand, the detailed description of the drawings is as follows: Figure 1 shows the past use of software Schematic diagram of the decoding of the stream; FIG. 2 is a schematic diagram of a series of transport stream coding; FIG. 3 is a schematic diagram of an embodiment of the invention; FIG. 4 is a diagram showing an embodiment of the invention A schematic diagram of FIG. 5 and an example of a storage structure of service information (SI) (st〇ring).
【主要元件符號說明】 102 :網路提供者 106 :視訊解碼器 110 :傳輸資訊濾波器 200 ·串流 204 :視訊資料 302 :服務資訊儲存濾波器 402 ··串流 408 :記憶體 104 :解多工器 108 :聲音解碼器 112 :區段和表 202、206、210 :服務資訊 208 ··聲音資料 4〇4 :接收器 414 :特性顯示模組[Description of Main Component Symbols] 102: Network Provider 106: Video Decoder 110: Transmission Information Filter 200 • Stream 204: Video Data 302: Service Information Storage Filter 402 • Stream 408: Memory 104: Solution Multiplexer 108: Sound Decoder 112: Sections and Tables 202, 206, 210: Service Information 208 · Sound Data 4〇4: Receiver 414: Feature Display Module