A. 개발 동기 및 필요성
- 최근 이슈가 되고 있는 개인 무선 방송은 예전 같은 큰 규모의 방송기기나 많은 인원수가 아닌 개인이 다양한 행사 현장을 방문하여
노트북 과 캠을 이용하여 행사 현장의 모습을 촬영 하여 서버로 전송 하여 방송을 시청하기 원하는 유저들이 그 서버로 접속하여 시청하는 것이다.
이 구조에서 방송을 촬영 하여 서버로 전송하는 유저는 서버로 전송 하기 위하여 핸드폰 즉 현재 구축된 3G 셀루라망의 서비스를 받을 수 있는
어댑터로 3G 망으로 촬영된 정보를 송신 한다. 3G의 대역폭은 최대 2Mbps로서 전송 하고자 하는 촬영된 영상 데이터의 퀄러티가 낮을 수밖에 없다.
최근 휴대폰이나 PDA와 같은 컴퓨터 하드웨어와 블루투스와 같은 무선 네트워크 기술의 급격한 발달은 모바일 컴퓨팅을 점차 가능케 하고 있다.
그러나 현존하는 기술들은 물리적 제약 조건으로 인해 좁은 통신 대역폭, 잦은 접속 단절, 배터리 부족 등의 문제를 가진다. 이러한 문제들 중 좁은
통신 대역폭을 해결하기 위해 무선 인터넷 환경에서 멀티 주파수 채널 사용에 대한 많은 연구가 있었다. 이러한 기법은 단일 네트워크 인터페이스가
아닌 2개 이상의 네트워크 인터페이스 가지고 있다 가정하고, 하나의 인터페이스에는 데이터 수신을 위한 수신용 채널을 다른 인터페이스에는 데이터
전송하기 위한 송신용 채널을 할당하여 데이터 패킷의 송신과 수신을 동시에 가능하게 하여 전체 네트워크 처리량을 향상시키는 장점이 있다.
이러한 장점을 개인 무선 방송에 접목한 기술에 대해 기술한다.
B. 솔루션 - 다중 인터페이스 전송 전략
- 행사 현장을 개인 유저가 방송을 진행 시 대부분 노트북과 이에 포함된 무선인터넷(3G 셀루라망) 으로 현장의 모습을 CAM으로 촬영하여 전송한다.
정해진 일정한 대역폭(3G) 만으로는 향상된 퀄러티의 영상을 전송하기에는 대역폭이 너무 제한적이다. 이에 위에 설명 하였던 멀티 주파수 채널
사용방법에 착안하여 사용가능한 모든 대역폭을 사용하고 클라이언트가 증가시 클라이언트 수 만큼 대역폭을 균등하게 나누어 사용하는 기존의
유선 네트워크(LAN), 무선 네트워크(WLAN) 과 달리 일정한 대역폭을 클라이언트에 할당하는 3G 셀루망에서 다수의 3G 단말기를 사용하여 3G 단말기의 2Mbps
의 대역폭을 3G 단말기 수 만큼 할당 받아 고 퀄러티의 방송 영상을 실시간 전송 가능 하게 하는 방식을 제안 한다.
C. 구현
- 2개 이상의 3G 어댑터 전송을 위한 소켓 생성
- 수신측은 소켓 수만큼의 UDPCLIENT 생성 각 UDPCLIENT 마다 쓰레드를 생성 하여 데이타 수신 대기
- 다중 소켓중 일부는 신뢰서비스인 TCP로 연결을 하고 나머지는 UDP로 소케 생성
- 하나의 TCP 소켓은 작지만 중요한 콘트롤 메시지 전송(버퍼링 순서에 관한 데이터를 주고 받으며 TCP 로 보낸 I프레임이 패킷 Loss시 버퍼링 순서와 플레이 타이밍을 계산하여 재전송 받을 시간안에 플레이되지 않다고 판단되면 재전송을 자동으로(TCP) 받으나 재생시간 전에 도착 내지 지나간 프레임이면 이 컨트롤 TCP소켓으로 그 I프레임 재전송을 하지 못하게 컨트롤 메시지를 전송한다)
- Mpeg2 기반으로 I, B, P 프레임을 추출하여 중요 데이터인 I프레임은 다른 TCP 소켓으로 전송
- 나머지 B, P 프레임은 UDP 소켓으로 전송한다.
D. 구현후(시뮬레이션) 결론
3G 셀루라망에서 다중 인터페이스 사용시 대역폭 상승으로 고해상도, 높은 프레임 전송이 가능하였다.
- 한 프레임 생성시 데이터 양 16384 byte
- 동영상으로 재생을 위한 30프레임 데이터양 16384 * 30 = 491520 = 약 500kb
- 초당 약 500kb 데이터 전송이 가능해야 30프레임 으로 실시간 영상 전송 가능
- 3G 단말기 대역폭 약 2Mbps = 약 초당 250kb 전송 가능
- 3G 단말기 5개 연결시 2Mbps * 5 = 10Mbps = 초당 1.25Mb 전송 가능 (이론상, 실제 하나의 소켓은 콘트롤 메세지를 위해 돌며 Tcp와 Udp 전송량은 틀리며 여러 소켓으로 인해 수신된 데이타를 오더링시의 시스템 로드 한계로 인해 소켓 갯수 제한됨)
- 위 데이터는 하나의 단말로는 처리 불가능 하나 5개의 단말로는 더 고화질 데이터 전송이 가능하다