行政院國家科學委員會專題研究計畫 成果報告
子計畫二:視訊傳輸的互動迴授型式及錯誤防止(3/3)
計畫類別: 整合型計畫 計畫編號: NSC91-2219-E-009-044-執行期間: 91 年 08 月 01 日至 92 年 07 月 31 日 執行單位: 國立交通大學電信工程學系 計畫主持人: 張文鐘 報告類型: 完整報告 處理方式: 本計畫可公開查詢中
華
民
國 92 年 9 月 8 日
Interactive feedback message and Er ror resilience in Video Transmission 視訊傳輸的互動迴授型式及錯誤防止 計畫編號:NSC 91-2219-E-009-044 執行期限:91 年 08 月 01 日至 92 年 07 月 31 日 主持人:張文鐘 交通大學電信系 E-mail:[email protected] 一,中文摘要 關鍵字:(壓縮率控制,失真模型,位元 分配) 即時視訊壓縮的首要問題在於 位元分配,其次在於消化被分配的位 元。位元分配牽涉到通道預測及傳輸 速率。而消化被分配的位元則需要精 確的失真模型。由於訊號的不穩定 性,失真模型的參數一定要隨著訊號 而改變,才能針對分配的位元算出最 適當的量化參數。本研究探討此一問 題並提出一些解決即時視訊壓縮及失 真模型的問題。
ABSTRACT (keywords: compression
rate control, distortion model, bit allocation): The primary problem in wireless real time video coding is bit allocation. Secondly is the consumption of the allocated bits. The issue of bit allocation is concerned with the channel estimation, prediction and transmission capacity. The issue of bit consumption is based on an accurate rate-distortion model to derive the quantizer from the allocated bit count. The model parameters have to be adaptive according to the property of the non-stationary signal such that the use of the derived quantizer will result in the same amount of bits as that allocated. This research investigates such a problem and proposes methods to update the model parameter. .
二,緣由與目的
Feedback channel with ARQ protocol is commonly used to ensure correct transmission. However this kind of error concealment will increase
the transmission burden. The direct consequence is that the effective buffer output rate will decrease due to the retransmission and cause buffer fullness. This requires the source coding rate to be adapted to the buffer condition. With TMN8 rate control, the control mechanism is divided into two levels. The first level is the frame rate control and the second level is the Macro-block rate control. In the frame rate control, the amount of bits to be allocated for a frame is determined based on the buffer condition. To prevent frame skip, the buffer fullness has to be kept under a certain threshold. After the frame rate has been determined, macro-block bit allocation begins. The macro-block bit allocation is proportional to the variance of the motion compensated macro-block. After the bit allocation, rate-distortion model relating the quantization parameter and the bit rate is used to derive the quantization step size from a given bit rate. In TMN8, the parameters relating to the rate-distortion model are not well estimated such that the deviation
between the allocated bit and the resultant coded bit rate very large. In this paper, we discuss some
alternative methods for the
estimation of these parameters.
三、研究方法及成果
In TMN8, before starting to encode a frame, the current number of bits in the encoder buffer (W) would be updated and check to see if the next frame needs to be skipped. The buffer update rule is as follows: ) 0 , / max(W B R F W= prev+ prev−
if W is larger than the threshold, the next frame would be skipped. Otherwise, the frame target for the next encoding frame is / , . / , . , j W F W Z M B R F where W Z M otherwise > = − ∆ ∆ = −
by default, M=R/F, Z=0.1,∆ is used for frame rate control. The bit allocated by TMN8 to each macroblock is proportional to the product of the standard deviation σ and the distortion i weighting α . Then from the i rate-distortion model, 2 2 i i i B A K C Q σ = +
,
thequantization value Q can be derived. As shown in Fig.1, the actual coded bits are very different from the predicted bits. Let’s define ∆ =i
(
Bi'−Bi)
2, the averagedifference 1 N i i N = ∆ ∆ =
∑
is about 26.37dB for 99 macroblock. The validity of Q is a function of K and C. The choice of K and C is highly dependent on the property of the macro-block under consideration. In TMN8, after encoding,the K is modified as
(
)
2 , 2 2 2 ˆ 16 Lc i i B QP K σ ′ = .Then the average of K from the neighboring blocks is used for encoding the next block.
The parameters K and C represent the property of the block that is to be coded. They are a complex function of the image pixel distribution. Since what is concerned is the coding rate, in this paper, a compensation update method is used to derive K and C. When the coded bits and the allocated bits are different, this difference is used to update K and C and try to minimize the difference between bit counts in the next encoding. The parameter C is the overhead rate. In H.263 syntax, some header fields are known before one starts to encode a block. From the header information, the C is modified sequentially block by block.
The estimated K before encoding and updated after encoding based on the
actual coded bits,
(
)
2 , 2 2 2 ˆ 16 Lc i i B QP K σ ′ = , are
shown in Figure2. Similarly shown is the estimated C and the updated ˆC ,
where ˆ 2 ,
16 i LC i
B B
C= ′− ′ is the actual header bit count. These blocks corresponding to ˆK =0 are skipped
blocks. As can be seen, the deviation is quite large. Next we discuss the new update method.
Let us consider the first two macro blocks. From TMN8 we know that
1 1 1 1 1 ˆ N k k k AK Q B σ σ α α = =
∑
1 2 2 1 2 ˆ N k k k AK Q B σ σ α α = =∑
where K is 1the initial value. Denote the actual coded bits of the first macroblock with Q is 1
_1
real
B′ , and the bit allocated is
2 1 1 1 1 1 2 1 1 ˆ N k k k B AK B Q σ σ α σ α = ′ = =
∑
. Define thedifference value∆ =B1′ Breal′ _1−B1′. Let us
distribute the difference to the rest of the blocks. For the second macroblock, the allocated bit becomes:
2 2 2 2 2 1 2 1 2 2 N k k k B AK B Q σ σ α σ α = ′ = − ∆ ′
∑
2 2 2 2 1 1 2 ˆ N N k k k k k k B σ α B σ α σ α σ α = = ′ = − ∆
∑
∑
(
)
2 2 1 2 2 AK Q Q σ = + ∆ 2 2 1 2 2 AK Q σ =′ where Q2′ is the updated
quantization parameter. From the above equation we can find that:
2 1 2 2 2 1 1 2 2 2 1 ˆ N k k k N N k k k k k k B B AK Q σ α σ α σ σ α σ α = = = − ∆ ′ = ′
∑
∑
∑
1 1 1 2 2 2 1 2 1 ˆ ˆ N k k k N k k N k k k k B AK B Q B σ α σ α σ σ α α = = = ∆ ′ + ′ =∑
∑
∑
from this we can see the update rule for
K is 1 1 2 1 2 1 ˆ N k k k N k k k B K K B σ α σ α = = ∆ ′ = +
∑
∑
Ingeneral, we can define
_ _ ˆ i real i i i i real i N k k k i B B B B B σ α σ α = ′ ′ ′ ∆ = − ′ = −
∑
and 1 i i k k B B = ′∆ =
∑
∆is
the sum of thetotal difference from the first macroblock to the ith macroblock. Based on the above derivation, we obtain the general update rule.
1 1 1 1 ˆ N k k i k i N k k k i B K K B σ α σ α − = = ∆ = +
∑
∑
.
We callthis method 1. A slight modification of the distribution of the difference bit result in the second method. Define
_ i real i i B′ B ′ B′ ∆ = − and 1 1 2 2 1 3 ˆ i i i i i N N k k k k k k i i i i i N N k k k k k k i B B B B B σ α σ α σ α σ α σ α σ α σ α σ α = = − = = ′ = − ∆ ′ − ′ ′ ∆ − − ∆
∑
∑
∑
L∑
From the above we can find that:
1 1 1 1 1 1 ˆ N k k i k i i N i k k k i B K K K K B σ α σ α − = − − = ∆ ′ = +
∑
∑
四、結論let us now compare the performance of the proposed two methods with the TMN8. The skip frame, skip block and the PSNR are shown in Table 1, 2 and 3. Figure 3 shows the difference between the allocated bit and the actual coded bits. Figure 4 and 5 show the PSNR for each coded frame. From these results we can see that proper estimation of the parameters of the rate distortion model is important in deriving better quantizer step size.
Reference:
[1] Jordi Ribas-Corbera and Shawmin Lei, “Rate
Control in DCT Video Coding for
Low-Delay Communications”, IEEE Trans. Video Tech., Vol.9, NO.1, February 1999. [2] Jordi Ribas-Corbera and Shaw-Min Lei, “A
Frame-Layer Bit Allocation for H.263+”, IEEE Trans. Video Tech., Vol.10, NO.7, October 2000.
H.263: Video Coding for Low Bit Rate Communication”, ITU-T, January 27, 1998
[4]Cabrera J. Ortega A. Ronda J.I., “Stochastic rate-control of video
coders for wireless channels”, IEEE Trans. Vol.12, pp.496-510, Jun. 2002
Figure 1 The actual bit rate and the predict bit rate of the 2nd P frame of foreman_qcif.yuv
Figure 2 K and C before and after encoding
Silent90 Container 90 News60 Salesman60
F (fr ame r ate) 30 30 30 30 Skip fr ame in TMN8 0 6 1 8 Skip fr ame in method 1 0 6 0 5 Skip fr ame in method 2 0 6 0 5
Table 1 skip frame rate
Silent90 Container 90 News60 Salesman60
F (fr ame r ate) 30 30 30 30 PSNR for TMN8 34.23 35.32 32.70 33.71 ˆ . . . . K K − − − − − − − −ˆ . . . . C C − − − − − − − −
TMN8 PSNR for method 1 34.83 35.84 32.96 34.53 PSNR for method 2 34.90 35.77 32.99 34.57
Table 2 average PSNR comparison
Foreman100 fr ame no.6 TMN8 Method 1
∆ 29.82 12.13
Skipped blocks 37 27
PSNR 31.14 31.16
Table 3 skip block and PSNR
TMN8 Method 2
Figure 3 bit allocation comparison
Compared with TMN8 and method 1 in News60
Compared with TMN8 and method 2 in News60
Compared with TMN8 and method 1 in Salesman60
Compared with TMN8 and method 2 in Salesman60