Abstract
This paper presents a design and implementation of realtime video player that operates on a tiled-display system consisting of multiple PCs to provide a very large and high resolution display. In the proposed system, the master process transmits a compressed video stream to multiple PCs using UDP multicast. All slaves(PC) receive the same video stream, decompress, clip their designated areas from the decompressed video frame, and display it to their displays while being synchronized with each other. A simple synchronization mechanism based on the H/W clock of each slave is proposed to avoid the skew between the tiles of the display, and a flow-control mechanism based on the bit-rate of the video stream and a pre-buffering scheme are proposed to prevent the jitter The proposed system is implemented with Microsoft DirectX filter technology in order to decouple the video/audio codec from the player.
본 논문에서는 높은 해상도를 제공하기 위하여 여러 대의 PC와 모니터를 연결한 타일드-디스 플레이(Tiled-Display) 시스템 상에서 동작하는 실시간 동영상 상영기를 설계 및 구현하였다. 제안한 동영상 상영기는 하나의 동영상을 기가 비트(Giga bit) 폐쇄 이더넷으로 연결된 여러 PC에 UDP 멀티캐스트를 사용하여 전송하고 각 수신기는 받은 동영상 데이타의 압축을 푼 후 이미지를 자신의 영역에 분할하여 시간적인 동기화를 맞추어서 재생할 수 있도록 설계되었다. 본 시스템은 미디어 데이타의 전송 중 발생하는 패킷 손실 및 지터(jitter) 문제를 동영상의 비트레이트에 따라서 방송량을 결정하는 흐름 제어 방법과 필요한 만큼 미리 받은 뒤 재생을 시작하는 버퍼링 방법을 통하여 해결하였으며, 서로 다른 PC의 상영기간의 동기화를 위하여 별도의 오버헤드 없이 시작 시간만 동기화하고 각 PC의 상영기들의 리퍼런스 클럭의 속도를 동일하도록 하여 안정적인 실시간 스트리밍 및 상영이 가능하도록 하였다. 또한 여러 전송포맷 및 압축 포맷을 지원하기 위하여 Microsoft DirectShow 구조상에서 구현되었다.