[local /wp-content/uploads/aeaa_oua_sequence-01.avi]?
실시간 스트리밍 서비스가 증가하면서 서비스에 따라 전송의 안정성을 보장해주는 기술의 사용화가 절실해 졌다. 사실 90년대 후반부터 이러한 요구는 계속 있어왔고 연구는 계속해서 진행되어 올해에는 SVC(Scalable Video Codec)라는 네트워크 의존성이 큰 코덱이 표준화가 되기에 이르렀다. QoS(Qulity of Service)를 보장하여 서비스의 성질 또는 대역폭에 따라 영상 재생의 안정성을 극대화할 수 있게 된다. 하지만, 아직까지 SVC 코덱을 이용한 서비스가 인터넷망에서 상용화된 사례가 없다. IPv6 시대로 완전히 접어들어야 상용화가 가능할 것으로 보인다. 결과적으로 본 연구에서는 이와 유사한 메커니즘을 코덱이 아닌 네트워크상의 알고리즘으로 시스템을 구축하였다. 유무선 통합의 환경이 다가오면서 온라인 컨텐츠 산업의 잠재력은 더욱 더 커지고 있다. 또한 컨텐츠 시장의 발전으로 인터넷 방송 서비스나 주문형 비디오 서비스와 같은 다양한 스트리밍 서비스들에 대한 니즈는 기하급수적으로 늘어나고 있다.하지만 아직도 그 서비스는 안정화 되지 못하여 클라이언트 측에서의 연속 미디어의 재생이 중지되는 일이 종종 발생하고 서버에서는 다양한 환경의 클라이언트에 맞추어 서비스하고자 하는 동영상 컨텐츠를 갖추어야 하는 어려움을 가지고 있다.따라서 네트워크 적응적으로 전송하는 동영상 adaption 기법이 반드시 필요하다. 멀티미디어 스트리밍 기술을 이루는 세 축은 압축 기술, 네트워크 기술, QoS 기술이다. 이 중 압축기술과 네트워크 기술은 없어서는 안 될 중요한 요소이다. QoS 기술은 초기 스트리밍에서는 고려되지 않았던 것이지만, 네트워크 환경의 발전이 무선 네트워크에서도 스트리밍 서비스가 가능하게 함으로써 사용자의 서비스의 질적인 향상에 꼭 필요한 기술이 되었다. 원격 교육, 온라인 경매, 음악 방송, TV VOD 서비스 등 여러가지 서비스가 최근에 많이 접하게 되는 것들이다. 이 중에서 최근들어 가장 떠오르고 있는 서비스가 DTV의 TV 방송을 인터넷망에서 스트리밍으로보는 것이다. 네트워크 상태가 아주 좋은 PC 상에서의 서비스는 큰 문제가 없을수 있지만, 최적의 화질은 아니며, PDA, PMP, Mobile과 같이 낮은 네트워크 환경의클라이언트에서는 안정적으로 수용하기가 쉽지 않았다. 본 연구를 통해 기존 서비스보다 한차원 높은 유연성을 가진 서비스 시스템을 갖출 수 있다. 클라이언트환경에 맞추어 영상을 다시 제작하는 시간적, 공간적 낭비를 줄일 수 있게 된 것이다.
???
스트리밍 시스템 동작 원리
스트리밍 서비스는 서버와 클라이언트로 구성된다. 멀티미디어 데이터는 서버에서 클라이언트로 전송되며 클라이언트는 이를 재생하게 된다. 아래 그림에서 보는 바와 같이 스트리밍 서비스는 크게 영상이나 음성을 받아 서비스하는 라이브 방송과 이미 저장된 멀티미디어 데이터를 스트리밍하는 주문형 서비스로 구성될 수 있다.인코딩 서버는 캠코더나 마이크 등의 장비로부터 받아들이는 아날로그 데이터를 압축 기술을 사용하여 디지털 데이터로 바꾸는 기능을 한다. 스트리밍 서버는 미리 저장된 데이터나 인코딩 서버에서 전달된 라이브 데이터를 사용자에게 전송하는 기능을 한다. 웹서버는 사용자에게 어떠한 서비스가 있는지를 알려주는 매개체 역할을 한다. 이렇게 구성된 스트리밍 서비스 시스템에서 사용자는 웹서버에 요청하고, 스트리밍 서버는 사용자가 요청한 사항에 대하여 멀티미디어 데이터를 보낸다.사용자 측에서 받은 데이터는 받는 즉시 실시간으로 재생되고 받은 데이터는 삭제하여 불필요한 저장을 피한다.
스트리밍 관점에서의 인터넷
멀티미디어 스트리밍에서 쓰이는 멀티미디어 데이터는 연속적으로 전달되어야 하는 특징이 있다. 하지만 인터넷은 통신망 구조나 이용되는 프로토콜의 지속적인 연결이 그다지 필요 없는 단속적인 데이터의 전달을 목적으로 개발되어 일정량의 데이터를 연속적으로 전달하기에는 비효율적이다. 또한 기존의 전화망이나 방송망에서는 최단, 최적 경로가 초기 설정시 결정되어 변경되지 않는데 반해 인터넷은 데이터 하나(패킷)가 전송될 때마다 전달 경로를 판단하게 된다. 경로 설정에 대한 시간과 비용은 적게 소모되지만 멀티미디어 데이터를 지속적이고 반복적으로 보내야 하는 스트리밍의 경우에는 그 시간과 비용이 무시할 수 없는 수준에 이르기 때문에 지금의 인터넷은 멀티미디어 스트리밍에는 비효율적이라 하겠다.
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????압축기술 - 스트리밍의 가장 중요한 기술은 멀티미디어 데이터를 압축하고 재생을 위해 해독하는 코덱 기술로, 여기에는 인코드와 디코드가 있다. 이 기술은 네트워크 전송률이 적은 무선 인터넷의 스트리밍이 태동하면서 보다 압축률 높은 멀티미디어 데이터의 전송을 위해 나타났다. 스트리밍으로 전달되는 멀티미디어 데이터는 일반적으로 대용량이라는 속성과 재생 시간 안에 반드시 재생해야 한다는 실시간적인 속성을 갖는다. 하지만 인터넷은 최신 서비스를 지원하고 있어 대용량의 데이터를 스트리밍의 요구 사항에 맞춰 전달하기에는 어려운 구조로 되어 있다. 그렇기 때문에 스트리밍에 사용되는 기술로 대용량 데이터의 부피를 줄이기 위한 멀티미디어 압축 기술이 필수적이다. 멀티미디어 압축 기술에 관한 표준안은ITU(International Telecommunication Union)의 ITU-T(Telecommunication standardization sector), MPEG(Moving Picture Experts Group) 에서 재정하고 있으며, 각각은 성립 목적이 다른 만큼 다음과 같은 차별화된 특성을 갖는다. ITU-T의 H.시리즈는 패킷 망을 대상으로 하는 H.323, H.324등의 프레임워크를 가지고 있으며, 주로 회의 및VolP(Voice over IP)에 사용되고, 압축 표준인 MPEG, 네트워크 전송 표준인 RTP 등과 함께 사용된다. 현재 MPEG-4를 대세로 하는 시류에 따라 H.시리즈에 관한 활동은 소강 상태에 있지만 요즘 무선 인터넷으로의 스트리밍 확장 추세와 H.26L등과 같은 발전된 표준과 맞물려 다시 주목 받고 있다. MPEG의 경우 MPEG-1, MPEG-2에서는 멀티미디어 데이터의 압축에 관한 부분만을 다루고 있었는데, MPEG-4로 넘어오면서 통신에 관한 부분도 다루고 있다. 이것은 MPEG-4 자체가 멀티미디어 통신을 전제로 만들어졌기 때문이다. 현재의 멀티미디어 스트리밍 시장에서의 기술은 마이크로소프트사나 리얼네트웍스사에 의해 양분화 되어 있는 실정이며 이들은 독자적인 프로토콜이나 표준을 바탕으로 국제적 표준안을 따르는 중간 단계의 형식을 취하고 있다. 멀티미디어 영상과 음향을 중심으로 문자, 도형, 음성 등의 정보를 디지털 기술에 의해 압축하여 결합한 것이다. 음성의 경우가 정보를 단순히PCM(Pulse code modulation, 펄스 부호 변조)에 의해 디지털로 표현하면 데이터 양이 방대해 진다. 전화음성은 64kbps(8KHz 표본화 주파수에 표본당 8비트), 스테레오 음악을 담는 CD는 1.5Mbps(44.1MHz 표본화 주파수에 표본당 16비트로 2채널), 고선명HDTV의 경우 스튜디오 규격인 SMPTE 240M에 의하면 휘도 성분은 74.25MHz로 표본화되고, 두색 성분은 그 절반의 주파수로 표본화 되는데 각각 표본당 8비트이므로 발생하는 데이터 양은 총 1.2Gbps에 이른다. 멀티미디어 스트리밍은 앞서 언급한 것과 같은 방대한 양의 각종 데이터를 어떻게 압축할 것인가가 핵심 요소 기술이 된다. 세계적으로 과거부터 현재에 이르기까지 여러 업체들이 이런 막대한 양의 데이터를 갖는 영상, 음성 등의 정보 형태에 따른 효율적인 데이터 압축 방식을 개발하기 위해 치열한 경쟁을 벌이는 한편, 국제 표준 데이터 압축 방식의 제정을 위하여 국제표준화 기구(ISO)나 국제전기통신연합(ITU) 등을 통해 공동의 노력을 기울이고 있다.? 적용된 압축 기술 - 일반적으로 영상을 압축하는 원리는 크게 3가지 정도로 정리할 수 있다. 첫 번째는 “공간적 중복성(Spatial Redundancy)을 제거”하는 방법이 있고, 두번째는 “시간의 중복성(Temporal Redundancy)을 제거”하는 방법이다. 영상에서 인접하는 두 프레임은 거의 유사하다. 이 원리를 이용하여 다음 프레임의 움직임을 예측하고 보상하는 방식으로 시간의 중복성을 제거할 수 있다. 인접한 프레임은 당연히 시간의 차이가 있다. 이전 영상과 다음 영상일 수도 있고, 그 다음 영상일 수도 있기 때문이다. 그렇기 때문에 시간상의 차이를 이용하여 중복되는 데이터는 제거할 수 있고, 중복되지 않은 부분만을 보상하여 이전 프레임의 데이터를 그대로 사용할 수가 있다. 즉, 시간의 중복성을 제거한다는 것은 프레임을 예측(Estimation)하고 보상(Compensation)하는 원리로 가능하게 된다. 이 때 프레임을 다음과 같은 매크로블록(Macroblock)이라는 단위로 처리를 한다.
매크로블럭은 프레임을 잘게 나누었다면, 인접한 프레임(Reference Frame)과 매크로블럭 단위로 비교한다. 비교한 값이 같으면 데이터를 보내지 않고 블록의 위치정보(Vector)만 코딩(부호화)하도록 하는 것이다. 이 때 찾은 블록의 위치정보를 모션벡터(MV)라고 일컫는다. 상식적으로도 데이터를 모두 코딩하는 것과 모션벡터만을 코딩하는 것과는 많은 차이가 발생함을 이해할 수 있다. 모션벡터를 찾는 방법에는 두가지가 있다. 모든 알고리즘은 공통적으로 매크로블럭의 검색범위를 설정해야 한다. 전체 프레임을 대상으로 모션 벡터를 찾으면 성능상의 문제가 발생하므로 현재의 매크로블럭을 중심으로 검색범위를 설정하고, 그 범위 내에서 알고리즘을 수행한다. MPEG과 H.261, H.263 등은 매크로블럭의 크기를 16:16으로 정하고 있으며, 매크로블럭의 검색범위는 매크로블럭의 크기에 (2*p)를 더한 값의 제곱이 된다. p값은 임의로 정할 수 있으며, 일반적으로 6을 사용한다. 다음 그림은 검색범위에서 모션벡터를 찾는 알고리즘을 수행하는 화면이다.
Exhaustive Search?-? 가장 쉽게 생각할 수 있는 방법으로 검색범위내의 매크로블럭을 라인단위로 일일이 비교하며 코딩하는 방법이다. Full Search라고도 한다. 아주 단순한 방법이지만, 오차가 전혀 없이 정확한 모션벡터를 찾을 수 있는 장점을 가지고 있다. 그러나 복잡도(Complexity)가 검색범위에 비례하므로 Big-O의 제곱이 된다.이는 처리성능상의 문제가 될 수?있다.?????????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? Tree-Step Search ?- 3단계로 검색 절차를 나눈다. 다음 그림을 보면 먼저 검색 범위 내에 9개의 에상 모션 벡터를 지정한다. 다음으로 9개의 모션벡터 중에 가장 유력하나 벡터값을 선택한다. 선택한 벡터값을 중심으로 8개의 에상 모션벡터를 지정하는 것이 두번째 단계가 된다. 마찬가지로 8개 중에 가장 유력한 벡터값을 찾고, 그 벡터값을 중심으로 8개의 벡터값 만이 남는 것을 확인 할 수 있다.?8개 중에 가장 유력한 벡터값이 실제로 쓰일 모션 벡터 값이 되는 것이다. 유력한 벡터값을 찾는 방법은 SAS, MAD 등을 참고해야 한다. ?Three-Step 알고리즘은 Complexity가 Big-O의 로그이다. 즉, 고속으로 처리가 가능하다는 것이다. 그러나 역시 단점은 있다. 그림에서 확인했겠지만 정확한 모션벡터 값이 아닐 수도 있다는 것이다.
대역폭에 따른 영상전송 알고리즘 - 영상압축의 기본원리는 중복성을 제거하는 것이다. 위에서도 언급했지만, 시간축상의 중복성이 존재하고 공간축상으로도 중복성이 존재하게 된다. 영상을 코딩할 때 이런 원리를 적용해서 중복되는 데이터는 코딩하지 않도록 하여 압축 효율을 높일 수 있게 되는 것이다. 이것이 곧 MPEG 압축의 핵심원리이다. 영상을 코딩할 때 원본 프레임을 ‘I’라고 하고, 다음 영상과의 중복되는 것을 제거한 위치 벡터의 정보만 담은 프레임을 ‘P’라고 하며, ‘P’프레임을 이용하여 이전 영상 ‘I’영상과의 시간차를 보상한 프레임을 ‘B’라고 한다. 즉,‘I’프레임은 반드시 필요한 이미지일 것이고, ‘P’와 ‘B’는 없어도 상대적으로 전체적인 영상에는 문제가 없을 것이라고 유추해 볼 수 잇다. 이러한 기본적인 원리를 전제로 한 것이 프레임 폐기 알고리즘이다. 아래 그림에서 스트리밍 서버는 클라이언트의 네트워크 대역폭을 감지한다. 감지하는 방법으로는 RTP 프로토콜의 RTCP라는 피드백 프로토콜을 이용하여 가능하게 된다. 이를 간단하게 설명하자면, 클라이언트 측에서 수신된 RTP 패킷의 Timestamp와 Sequence Number를 비교한 값을RTCP를 이용해 스트리밍 서버에 피드백을 주는 방식이다. 이로써 전송상의 지연(Delay) 여부를 판단할 수 있게 되는 것이다. RTP가? UDP 방식으로 영상을 전송한다면 RTCP와 RTSP는 TCP/IP 기반의 컨트롤 프로토콜로써의 역할을 담당한다.
클라이언트의 네트워크 상태를 판단한 서버는 4단계의 프레임 폐기 패턴 중에 적절한 단계를 선택하여 이를 drop_stage라는 변수에 저장하고, 네트워크 적응 관리자 모듈에 전달한다. 4단계의 프레임 폐기 패턴 중 네트워크 대여곡이 좋은 것이 0단계이다. 0단계에서는 ‘I’, ‘P’, ‘B’ 프레임 모두를 전송하며 고해상도의 화질을 보장할 수 있다. 다음 단계에서는 ‘B’를 부분적으로 폐기하고, 마지막 단계의 경우는 ‘B’와 ‘P’를 폐기하고, ‘I’프레임만을 전송하게 된다. 이렇게 간단한 알고리즘만으로도DVD급(MPEG2)의 화질을 실시간으로 재생하는데 1Mbps 이하의 경우로도 충분히 가능하게 된다. 물론 여기에는 트랜스코딩 기법을 통해 최적화된 영상 포맷으로 인코딩하는 과정도 필요하다.
본 연구에서는 MPEG-2 비디오를 인터넷 망에서 네트워크 상황에 따라 적응적으로 전송하는 스트리밍 시스템을 설계하고 구현하였다. 제안된 시스템은 향후 인터넷 망을 이용한 고품질 전송 시스템에 적용 가능할 것으로 기대된다. 프레임 기반 우선순위화 기반의 전송율 적응에서 현재의 네트워크 이용 가능한 대역폭을 예측하는 것은 아주 중요한 요소로 작용한다. 이를 위해 적극적 모니터링과 같은 기법이 적용될 수 있을 것이다. 또한 서버 뿐 아니라 각 클라이언트에도 자체적인 적응 기능을 포함해야 할 것이다.
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 참조 : 2007 미디어 학부 졸업전시회 작품 중 < IP망에서의 방송망 데이터 변환 릴레이 시스템 연구 , 김민 , 변철훈>
?※? IPTV를 공부하고 있는 후배들에게 도움이 될까해서 올려 봅니다.
출처 - http://iptv.commres.org/archives/tag/%EC%8A%A4%ED%8A%B8%EB%A6%AC%EB%B0%8D%EC%84%9C%EB%B9%84%EC%8A%A4