Abstract
In a video streaming system, the server sends requested videos to end users by unicasting, broadcasting, chaining, or other streaming techniques. Intuitively, the goal of the server is reduction of server load and bandwidth requirements to serve more users. For client sides, a smooth quality, low delay time, and full VCR functionality might be the most important requirements. However, it is trade-off to fulfill both the user requirements and the server goal because these user requirements usually cause serious server and network load. For example, the server has to send a stream with triple transmission rate than usual when a fast scan operation at speed factor three is requested. According to our simulation, the transmission rate is normally proportional to the requested speed factor. When the network load becomes heavy, there will be more serious packet loss, leading to delay or unstable quality. In the thesis, several novel video coding structures are proposed to support VCR functionalities and error resilience with little loss of coding efficiency. Based on the temporal dependency between frames in a GOP, we reconstruct the coding dependency in the GOP to support effective access of frames and stop error propagation. With one of the proposed structures, the server does not have to speed up the transmission rate of frames to fulfill the requested playback rate. The number of frames to be transmitted is also significantly reduced, and thus the network load can be decreased. With the other proposed structure, error propagation can be significantly reduce, and errors in one frame will not propagate to neighboring frames, such that the damaged frame can be recovered from its neighbors.