TWI523511B - Variable bit rate video panning method - Google Patents
Variable bit rate video panning method Download PDFInfo
- Publication number
- TWI523511B TWI523511B TW102124650A TW102124650A TWI523511B TW I523511 B TWI523511 B TW I523511B TW 102124650 A TW102124650 A TW 102124650A TW 102124650 A TW102124650 A TW 102124650A TW I523511 B TWI523511 B TW I523511B
- Authority
- TW
- Taiwan
- Prior art keywords
- video
- transmission
- variable bit
- bit rate
- frame
- Prior art date
Links
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
本發明係一種視訊推播方法,尤指一種串流伺服器經由網際網路傳輸可變位元率視訊至用戶端之可變位元率視訊推播方法。 The invention relates to a video broadcast method, in particular to a variable bit rate video broadcast method for transmitting a variable bit rate video to a user terminal via a network.
1998/05/11台灣專利申請第086109409號”在固定位元比通道上傳輸可變位元比資料之方法”係以間歇性傳輸方式,透過積極程序(傳輸時間)與消極程序(休息時間)交錯的配置來符合可變位元率資料的傳輸需求,此法於消極程序期間內未傳輸資料,因此用戶端必須具備足夠記憶體空間儲存此區間播放的資料內容。 1998/05/11 Taiwan Patent Application No. 086109409 "Method for transmitting variable bit ratio data on a fixed bit ratio channel" is an intermittent transmission method through an active program (transmission time) and a negative program (rest time) The interleaved configuration meets the transmission requirements of the variable bit rate data. This method does not transmit data during the negative program period, so the client must have enough memory space to store the data content played in this interval.
2007/11/26 US20080137658專利”SYSTEM,SERVER,AND METHOD FOR VARIABLE BIT RATE MULTIMEDIA STREAMING”提出在伺服器端以封包產生器(packet producer)將欲傳輸資料預先分割成自定義的小封包集合,在每個小封包上加入一段時間戳(time stamp)表頭代表此封包最晚需傳輸給用戶端的時間,當伺服器端開始傳輸資料給用戶端時,輔助傳輸模組(feeder module)會檢查每個小封包的時間戳,若需立即傳送,則去除時間戳表頭將資料還原,透過網路傳輸給用戶端,以此法控制傳輸速率,然而,此專利在伺服器端需要在傳輸的同時,必須讀取每個小封包的表頭並比較其時間戳是否逾時,最後切除時間戳表頭將封包還原,故會增加伺服器運算的負擔。 2007/11/26 US20080137658 "SYSTEM, SERVER, AND METHOD FOR VARIABLE BIT RATE MULTIMEDIA STREAMING" proposes to pre-segment the data to be transmitted into a custom small packet set on the server side with a packet producer (packet producer). A time stamp is added to the small packet to represent the time at which the packet needs to be transmitted to the client at the latest. When the server starts transmitting data to the client, the feeder module checks each. The timestamp of the small packet, if it needs to be transmitted immediately, removes the timestamp header and restores the data, and transmits the data to the client through the network, thereby controlling the transmission rate. However, this patent needs to be transmitted at the server end. The header of each small packet must be read and compared with whether the timestamp is overdue. Finally, the timestamp header is removed to restore the packet, which increases the burden of the server operation.
本發明之主要目的在於提供一種伺服器端使用變動式傳輸速率,令傳輸速率隨著位元率變化,而使資料傳輸與消耗的速率接近的可變位元率視訊推播方法。 The main object of the present invention is to provide a variable bit rate video broadcast method in which the server end uses a variable transmission rate to make the transmission rate change with the bit rate, and the data transmission and consumption rate are close.
本發明之次要目的在於提供一種可減少用戶端用於預留資料的緩衝儲存空間與開始播放前緩衝資料造成延遲的可變位元率視訊推播方法。 A secondary object of the present invention is to provide a variable bit rate video broadcast method capable of reducing a buffer storage space used by a client for reserving data and delaying buffer data before starting playback.
本發明之又一目的在於提供一種影片於傳輸前即分析完畢,不會增加伺服器傳輸時負擔的。 Another object of the present invention is to provide a movie that is analyzed before transmission and does not increase the burden on the server.
為達上述目的,本發明提供一種可變位元率視訊推播方法,其主要包括一預處理階段及一傳輸階段,該預處理階段係由影片分析模組擷取出每個訊框區塊(frame block)大小、總訊框數、每秒顯示訊框數量(frame per second)交由傳輸速率計算模組計算出傳輸速率表,而該傳輸階段係將用戶端要求的影片以封包(packet)為單位放入影片封包佇列中等待傳輸,由傳輸模組將封包傳送至用戶端,再由流量控制模組在每單位時間開始時從傳輸速率表取得傳輸量,並觸發傳輸模組開始傳輸,傳輸模組每單次傳輸完成後回傳已傳送資料量大小,流量控制模組於累計傳送資料量超過速率表記錄值後,暫停傳輸模組直到下一個單位時間,每單位時間循環此流程至視訊資料尾端。 To achieve the above objective, the present invention provides a variable bit rate video playback method, which mainly includes a preprocessing stage and a transmission stage, wherein the preprocessing stage extracts each frame block by the video analysis module ( The frame block size, the total number of frames, and the number of frames per second (frame per second) are calculated by the transmission rate calculation module to calculate the transmission rate table, and the transmission phase is to package the video requested by the client. The unit is placed in the video package queue for transmission, and the transmission module transmits the packet to the user end, and then the flow control module obtains the transmission amount from the transmission rate table at the beginning of each unit time, and triggers the transmission module to start transmission. After the transmission module completes the transmission, the transmission module returns the amount of data transferred. After the accumulated data volume exceeds the value recorded in the rate table, the flow control module pauses the transmission module until the next unit time, and the flow is cycled per unit time. To the end of the video material.
1‧‧‧影片分析模組 1‧‧‧Video Analysis Module
2‧‧‧傳輸速率計算模組 2‧‧‧Transmission rate calculation module
3‧‧‧傳輸速率表 3‧‧‧Transmission rate table
4‧‧‧影片封包佇列 4‧‧‧Video package queue
5‧‧‧流量控制模組 5‧‧‧Flow Control Module
6‧‧‧傳輸模組 6‧‧‧Transmission module
101‧‧‧步驟一 101‧‧‧Step one
102‧‧‧步驟二 102‧‧‧Step 2
103‧‧‧步驟三 103‧‧‧Step three
104‧‧‧步驟四 104‧‧‧Step four
105‧‧‧步驟五 105‧‧‧Step five
第1圖 為本發明可變位元率視訊推播方法之系統架構圖; 第2圖 為本發明可變位元率視訊推播方法流程圖;以及第3圖 為本發明可變位元率視訊推播方法之傳輸速率計算方法流程圖。 1 is a system architecture diagram of a variable bit rate video broadcast method according to the present invention; 2 is a flow chart of a variable bit rate video broadcast method according to the present invention; and FIG. 3 is a flow chart of a method for calculating a transmission rate of the variable bit rate video push method according to the present invention.
請參閱第1~3圖,本發明係一種可變位元率視訊推播方法,其主要包括一預處理階段及一傳輸階段,其中該預處理階段為影片檔被導入串流伺服器後至傳輸開始前之流程,而該傳輸階段為用戶端提出播放影片要求後至伺服器傳輸串流至用戶端完畢之流程,其主要流程步驟為:步驟一、由影片分析模組1擷取出每個訊框區塊(frame block)大小、總訊框數及每秒顯示訊框數量(frame per second)(101)。 Referring to FIG. 1 to FIG. 3, the present invention is a variable bit rate video broadcast method, which mainly includes a preprocessing stage and a transmission stage, wherein the preprocessing stage is after the video file is imported into the streaming server. The process before the transmission starts, and the transmission phase is a process in which the user requests the video to be transmitted to the server after the video is requested to be played. The main process steps are as follows: Step 1: The video analysis module 1 extracts each The size of the frame block, the total number of frames, and the number of frames per second (frame per second) (101).
步驟二、將影片分析模組1擷取之資料交由傳輸速率計算模組2,計算出傳輸速率表3(102)。 Step 2: The data captured by the film analysis module 1 is transferred to the transmission rate calculation module 2, and the transmission rate table 3 (102) is calculated.
步驟三、當用戶端傳送播放影片要求,被要求的影片以封包(packet)為單位放入影片封包佇列4中,等待傳輸模組6將影片封包傳送至用戶端(103)。 Step 3: When the client transmits the play video request, the requested movie is placed in the video package queue 4 in units of packets, and the transmission module 6 is sent to the user terminal (103).
步驟四、流量控制模組5在每單位時間開始時,從傳輸速率表3取得傳輸量,並觸發傳輸模組6開始傳輸,傳輸模組6每單次傳輸完成後回傳已傳送資料量大小(104)。 Step 4: The flow control module 5 obtains the transmission amount from the transmission rate table 3 at the beginning of each unit time, and triggers the transmission module 6 to start transmission, and the transmission module 6 returns the transmitted data amount after each single transmission is completed. (104).
步驟五、流量控制模組5累計傳送資料量之累計值超過傳輸速率表3記錄值後,暫停傳輸模組6直到下一個單位時間,每單位時間循環此流程至視訊資料尾端則結束傳輸階段(105)。 Step 5: After the accumulated value of the accumulated data volume of the flow control module 5 exceeds the record value of the transmission rate table 3, the transmission module 6 is suspended until the next unit time, and the process is cycled to the end of the video data every unit time to end the transmission phase. (105).
其中,該影片分析模組1係先找出影片檔案裡所有視訊訊框 (video frame)的開頭位置,例如:H.264中可由0x000001關鍵字找出開頭位置;將相鄰兩開頭位置間的所有資料定義為一個訊框區塊,裡面包含表頭資訊、視訊訊框與音訊訊框,並於定義出訊框區塊後,記錄每個訊框區塊大小,並累計出總訊框數;每秒訊框數量可從影片檔表頭取得,例如:H.264可由SPS(Sequence Parameter Set)中取得此資訊;最後將這些資訊傳入傳輸速率計算模組2。 Among them, the video analysis module 1 first finds all the video frames in the video file. The beginning position of (video frame), for example, H.264 can be used to find the beginning position by the 0x000001 keyword; all the data between the adjacent two beginning positions is defined as a frame block, which contains the header information and the video frame. After the audio frame, and after defining the frame of the output frame, record the size of each frame block and accumulate the total number of frames; the number of frames per second can be obtained from the video file header, for example: H.264 This information can be obtained from the SPS (Sequence Parameter Set); finally, the information is transmitted to the transmission rate calculation module 2.
再者,該傳輸速率表3記錄每單位時間應設置的傳輸速率,例如:單位時間設為1秒,第1個單位時間16832(bytes/s)、第2個單位時間9346(bytes/s),此單位時間由使用者自訂,代表伺服器間隔多長時間改變一次傳輸速率。 Furthermore, the transmission rate table 3 records the transmission rate that should be set per unit time, for example, the unit time is set to 1 second, the first unit time is 16832 (bytes/s), and the second unit time is 9346 (bytes/s). This unit time is customized by the user, which indicates how long the server will change the transmission rate.
另外,如第3圖所示,圖中之累計值包括累計傳輸資料量與累計消耗資料量,時間單位為自定義參數,代表伺服器間隔多長時間改變一次傳輸速率,每個時間單位內以每秒訊框數(fps)再細分出時間格,使每個時間格洽有一個訊框,例如:時間單位為1秒,每秒訊框數為25,則每個時間格為1/25秒;對每個時間單位找出傳輸速率滿足:在每個時間格中,累計傳輸資料量大於累計訊框資料量。 In addition, as shown in Fig. 3, the accumulated value in the figure includes the accumulated transmission data amount and the accumulated consumption data amount, and the time unit is a custom parameter, which represents how long the server interval changes the transmission rate, and each time unit is The number of frames per second (fps) is subdivided into time frames, so that each time frame has a frame, for example, the time unit is 1 second, the number of frames per second is 25, and the time frame is 1/25. Seconds; find the transmission rate satisfaction for each time unit: In each time grid, the cumulative transmission data amount is greater than the cumulative frame data amount.
如上表所示,單位時間為1秒,每秒訊框數為6,每時間格為 1/6秒,由第3圖流程找出此時間單位之傳輸速率為2262(bytes/s),然後重覆此流程至視訊資料尾端結束,產生傳輸速率表3。 As shown in the above table, the unit time is 1 second, and the number of frames per second is 6, each time grid is In 1/6 seconds, the process of Figure 3 finds that the transmission rate of this time unit is 2262 (bytes/s), and then repeats this process until the end of the video data ends, resulting in a transmission rate table 3.
由上所述,本發明所提供的可變位元率視訊推播方法,因使用變動式傳輸速率,傳輸速率隨著位元率變化,資料傳輸與消耗的速率接近,可減少用戶端用於預留資料的緩衝儲存空間與開始播放前緩衝資料造成的延遲,且在網路非擁塞的情況下,播放過程中伺服器傳至用戶端所累積的資料量保持高於播放所需,相較於定速傳輸,不需在播放到位元率峰值的區間時,暫停播放去等待收到足夠資料,另外,伺服器同時服務不同位元率之視訊推播要求時,在有限頻寬下,可合理分配傳輸速率在每條用戶端連線,且影片於傳輸前即分析完畢,不會增加伺服器傳輸時的負擔。 As described above, the variable bit rate video broadcast method provided by the present invention uses a variable transmission rate, and the transmission rate varies with the bit rate, and the data transmission and consumption rate are close to each other, and the user terminal can be reduced for use. The buffer storage space of reserved data and the delay caused by buffering data before starting playback, and in the case of non-congested network, the amount of data accumulated by the server to the user during playback remains higher than that required for playback. For fixed-speed transmission, it is not necessary to pause the playback to wait for sufficient data when playing to the peak of the bit rate. In addition, when the server simultaneously serves the video broadcast request of different bit rates, the finite bandwidth can be used. The reasonable allocation transmission rate is connected at each user end, and the video is analyzed before transmission, which does not increase the burden on the server transmission.
再者,本發明所提供的可變位元率視訊推播方法與1998/05/11台灣專利申請第086109409號”在固定位元比通道上傳輸可變位元比資料之方法”相比較,本發明係使用變動式的傳輸率於影片播放期間持續傳輸,用戶端接收新資料同時消耗已接收並解碼完成的舊資料,接收與消耗的速率接近,使資料有效利用,較前案減少用戶端所需負擔的額外儲存空間;而本發明所提供的可變位元率視訊推播方法與2007/11/26 US20080137658專利”SYSTEM,SERVER,AND METHOD FOR VARIABLE BIT RATE MULTIMEDIA STREAMING”相比較時,本發明在伺服器端傳輸資料給用戶端的過程中,只需透過查表的方式即可從預先計算出的速率表,決定當前單位時間的傳輸速率,不需再分析資料內容,不但可減少伺服器運算負擔,同時可服務大量用戶端的需求。 Furthermore, the variable bit rate video broadcast method provided by the present invention is compared with the method of transmitting variable bit ratio data on a fixed bit ratio channel according to the 1998/05/11 Taiwan Patent Application No. 086109409. The invention uses the variable transmission rate to continuously transmit during the playing of the movie, and the user receives the new data while consuming the old data that has been received and decoded, and the receiving and the consumption rate are close, so that the data is effectively utilized, and the user is reduced compared with the previous case. Additional storage space required for the burden; and the variable bit rate video delivery method provided by the present invention is compared with the 2007/11/26 US20080137658 patent "SYSTEM, SERVER, AND METHOD FOR VARIABLE BIT RATE MULTIMEDIA STREAMING" In the process of transmitting data to the client end on the server side, the rate table can be determined from the pre-calculated rate table by means of table lookup, and the current transmission rate per unit time is determined, and the data content is not analyzed, and the server can be reduced. The computing burden can also serve the needs of a large number of clients.
上列詳細說明係針對本發明之一可行實施例之具體說明,惟 該實施例並非用以限制本發明之專利範圍,凡未脫離本創作技藝精神所為之等效實施或變更,均應包含於本案之專利範圍中。 The above detailed description is specific to one of the possible embodiments of the present invention, The embodiments are not intended to limit the scope of the invention, and equivalents or modifications of the invention are intended to be included in the scope of the invention.
101‧‧‧步驟一 101‧‧‧Step one
102‧‧‧步驟二 102‧‧‧Step 2
103‧‧‧步驟三 103‧‧‧Step three
104‧‧‧步驟四 104‧‧‧Step four
105‧‧‧步驟五 105‧‧‧Step five
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102124650A TWI523511B (en) | 2013-07-10 | 2013-07-10 | Variable bit rate video panning method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102124650A TWI523511B (en) | 2013-07-10 | 2013-07-10 | Variable bit rate video panning method |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201503672A TW201503672A (en) | 2015-01-16 |
TWI523511B true TWI523511B (en) | 2016-02-21 |
Family
ID=52718576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102124650A TWI523511B (en) | 2013-07-10 | 2013-07-10 | Variable bit rate video panning method |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI523511B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105898403A (en) * | 2015-11-16 | 2016-08-24 | 乐视云计算有限公司 | Online media service code stream self-adaptive method and system |
TWI636689B (en) | 2016-11-25 | 2018-09-21 | 財團法人工業技術研究院 | Transmission rate determination method for straming meida and server |
-
2013
- 2013-07-10 TW TW102124650A patent/TWI523511B/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TW201503672A (en) | 2015-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106792073B (en) | Method, playback equipment and the system that the audio, video data of striding equipment is played simultaneously | |
EP2649792B1 (en) | Pre-buffering audio/video stream pairs | |
US7490342B2 (en) | Content provisioning system and method | |
CN113225598B (en) | Method, device and equipment for synchronizing audio and video of mobile terminal and storage medium | |
WO2017045528A1 (en) | Method, device and system for multicast transmission | |
US8355450B1 (en) | Buffer delay reduction | |
WO2009143748A1 (en) | Data transmission method, system, and device | |
JP7496022B2 (en) | Client, server, receiving method and transmitting method | |
US20120297430A1 (en) | Central controller to manage network resources across a group of playback devices to control streaming video quality across the group of playback devices | |
CN105208440B (en) | A kind of method and system that MP4 format video plays online | |
CN109819312B (en) | Player system based on dynamic buffer area and control method thereof | |
CN105611395B (en) | A kind of method and system that MP4 format video plays online | |
JP6516767B2 (en) | MMTP decapsulation buffer signaling and operation | |
TW201424346A (en) | Buffer output method for multimedia stream and multimedia stream buffer module | |
CN114501052B (en) | Live broadcast data processing method, cloud platform, computer equipment and storage medium | |
TWI723394B (en) | Method for shaping video streams, set-up box and storage medium | |
JP2013214800A (en) | Streaming media reproduction device, streaming media reproduction method, and program | |
WO2016112641A1 (en) | Client, streaming media data receiving method and streaming media data transmission system | |
WO2011143916A1 (en) | Media adaptation method and apparatus | |
CN108259998A (en) | Player and control method for playing back, device, electronic equipment and play system | |
TWI523511B (en) | Variable bit rate video panning method | |
WO2014124555A1 (en) | Method and device for regulating streaming media data transmission | |
CN105338376A (en) | Streaming media code rate control method, streaming media code rate control system and streaming media server | |
JP2011061533A (en) | Content distribution system, sensory quality estimating apparatus, method, and program | |
WO2015018119A1 (en) | Multimedia file generation method and multimedia device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |