Trong đó các hàm thích ứng adapt() để tìm các tốc độ bit thích ứng cho từng phân đoạn và mức chất lượng QP được thực hiện theo cơng thức 2.1 và 2.4. Hàm tính độ trễ d0 được thực hiện theo thuật tốn tìm tiếp tuyến đường bao chi tiết thể hiện ở Thuật toán 1. Ban đầu, là dữ liệu đường bao được tính bằng cách lựa chọn ra lượng dữ liệu lớn nhất có thể đến máy khách tại thời điểm t (dịng 17 - Thuật tốn 1).
Thuật tốn 1: Tìm độ trễ d0 theo mơ hình tiếp tuyến đường bao dữ liệu
Input: adapt [ ],S ,T s ,R ;
/ adapt [ ] dữ liệu sau khi thích ứng thay thế phân đoạn.
/ S Số phân đoạn của video.
/ T s độ dài thời gian của mỗi phân đoạn.
Output: d0 // Độ trễ ban đầu ứng với video có mức chất lượng thích ứng
1 // Tính dữ liệu đường bao
2 index=S +1; 3 for 1 ≤ i≤ index do
4 data [i]=0 ;
5 end for 6 for 1 ≤i ≤ Sdo
7 k =0 ;
8 while 1 ≤index∧k ≤ index do
9 data [k ]=data [k ]+adapt [i+k ]× T s ;
10 k =k +1 ;
11 end while
12 // chọn ra dữ liệu lớn nhất có thể tới tại phân đoạn j
13 for 1 ≤ j≤ index do
14 maxS=(maxS>data[ j])? maxS : data [ j ];
15 end for 16 index=index−1 ; 17 envelop [i]=maxS ; 18 maxS=0 ; 19 end for env [ ]
20 // Tính độ trễ d0
21 for 1 ≤i ≤ S do
22 delta [i]=env [i]−R ×T s ×i ;
23 end for
max ( delta [ i ] )
24
d0 = R ;
25
Sau khi có dữ liệu đường bao mơ hình tính độ trễ ban đầu d0 tại Hình 2.5 được áp dụng để tính d0. Chi tiết như sau: kẻ đường thẳng có hệ số góc là R đi qua điểm A(0
,t0 ). Tại mỗi mốc thời gian ti tìm độ lệch delta [i ] là độ lệnh giữa dữ liệu đường bao và dữ liệu tương ứng với tốc độ R tại phân đoạn thứ i và chọn ra delta lớn nhất.