2005년 11월 29일
TV와 브라우저...
요새 한참 이슈가 되는 디지털 TV는 Mpeg2를 사용한다. 이 Mpeg 2는 동영상이나 음성 뿐만 아니라 임의의 파일을 포함할 수 있는데 여기에 BIFS, 자바, HTML 같은 프로그램을 포함시켜 인터렉티브한 방송을 하는 것을 데이터방송이라고 한다. 데이터 방송 하면 항상 드는 예가 TV를 보다가 배우가 입고 있는 옷이나 엑세서리를 그 자리에서 바로 산다는 T-Commerce이다. 물론 이외에도 뉴스 등에서 바로 설문조사를 하는 T-Poll, Quiz 프로그램에서 참여형으로 사용하는 등 이의 활용 범위는 매우 넓다.
이 기술이 개발된 것은 벌써 몇년 전이다. 우리나라만 해도 이미 2002년 월드컵때 화면에 나온 선수의 정보를 바로 얻을 수 있는 데이터 방송을 한 적이 있다. 또한 현재 Skylife에서만 해도 피자 배달 등을 바로 할 수 있도록 하고 있다. 외국의 경우에는 피자 배달의 10% 가까이가 TV를 통해 이루어진다고 하고, 영국 같은 경우에는 경마 마권을 바로 살 수 있도록 해서 막대한 돈을 벌고 있기도 하다. 하지만 아직은 일부 국가나 일부 어플리케이션의 얘기일 뿐 널리 쓰이고 있지는 못하다. 전에 내가 이것을 친구들한테 말한적이 있는데, 아직도 몇년후에나 이루어질 미래기술 아니냐는 질문을 받았다.
어쨌든 오늘 말하고 싶은 것은 여기서 브라우저의 역할이다. 현재 데이터 방송은 대부분 자바 또는 BIFS를 이용해서 구현되고 있다. BIFS는 Mpeg 2에 정의된 언어로 SMIL과 비슷한 언어이다. SMIL 보다 표현력은 떨어지지만 Binary 기반이라는 장점이 있어서 대역폭에 제한이 많은 데이터 방송으로서는 상당히 유용하다. 자바는 물론 모두 아는 언어이며 여기에 ACAP, OCAP, MHP 같은 미들웨어에서 제공하는 방송용 라이브러리를 이용해서 데이터 방송을 구현한다. 처음에는 이들 미들웨어들이 각자의 API Set를 개발해서 이를 기반으로 한 콘텐트가 상호호환이 되지 않다가 점점 이의 문제를 깨닫고 GEM이라는 모든 미들웨어에서 동작할 수 있는 규격을 만들어가고 있다. 그럼과 동시에 XHTML을 기반으로 한 브라우저 규격 역시 채택해 나가고 있다. MHP에서 DVB-HTML이라는 규격을 만들었으며 이를 OCAP, ACAP 등에서 채택했다. 브라우저를 채택하는 이유는 매우 여러가지이다.
방금 말했던 호환성 문제의 경우 브라우저는 자바 기반 언어에 비해 탁월할 수 밖에 없다. 전에 말했듯이 브라우저는 선언형 언어를 기반으로 하고 있다. 전에 들었던 <b>두꺼운 글자</b>라는 예를 다시 보면 자바를 이용해서 구현하기 위해서는 자기가 돌고 있는 미들웨어가 두꺼운 폰트를 지원하는지 그렇다면 이를 로드해서 두껍게 그려주는 루틴을 만들어야 할 것이다. 물론 폰트의 상황은 셋톱박스 별로 천차만별이기 때문에 하나의 셋톱박스에서 두꺼운 글자가 나오는 프로그램을 만들었다고 해서 이것이 다른 셋톱박스에서도 정확히 보일 것인지는 보장이 힘들다. 반면 브라우저의 경우 셋톱박스에서 지원하는 폰트가 어떤 것인지 이것이 두꺼운 폰트를 지원하는지 등은 콘텐트 개발자가 신경쓸 필요 없이 브라우저에서 알아서 하므로 해당 셋톱박스에서 할 수 있는 최선을 할 것이라고 가정할 수 있다. 폰트는 잘 표준화된 API들이 있으므로 문제가 덜하겠지만, 방송 프로토콜에 관련된 내용이라던지, 방송에서의 이벤트(방송의 진행에 따라 프로그램이 어떤 동작을 하는 것)과 같이 어느 정도 기반 미들웨어의 영향을 받을 수 밖에 없는 것은 문제가 더 심할 것이다.
다른 이유는 콘텐트 제작 비용이 저렴하는 것이다. 기본적으로 자바로 프로그램을 짜는 것 보다는 XHTML을 이용한 콘텐트 개발 비용이 훨씬 저렴하며 기존 웹 콘텐트를 재활용할 수 있는 가능성도 높고 그렇지 않더라도 T-Commerce 같은 경우에는 기존에 서버 쪽에 구현된 로직을 재활용 할 수도 있다. 그렇다고 표현력이 떨어지는 것도 아니다. SVG나 플래시 같은 포맷을 이용할 수도 있고 SMIL을 이용해서 방송과 동기를 맞출 수도 있다. (물론 현재 SVG나 SMIL은 DVB-HTML 규격에 포함되어 있지 않다. 하지만 최근의 브라우저가 이들을 지원하는 추세이므로 결국 사용되지 않을까?) 게다가 DVB-HTML이라는 규격에서는 방송화면과의 연동이라던지 방송 이벤트를 지원할 수 있게 해준다. 최악의 경우 ECMAScript-JAVA Binding을 이용해 자바 응용프로그램이 쓰는 API를 모두 호출할 수 있게 해주지만 이는 결국 브라우저 콘텐트의 장점을 갉아 먹을 것이므로 최악의 경우에만 사용해야 한다.
http://www.atsc.org/standards.html
http://www.mhp.org/
http://www.opencable.com/
이 기술이 개발된 것은 벌써 몇년 전이다. 우리나라만 해도 이미 2002년 월드컵때 화면에 나온 선수의 정보를 바로 얻을 수 있는 데이터 방송을 한 적이 있다. 또한 현재 Skylife에서만 해도 피자 배달 등을 바로 할 수 있도록 하고 있다. 외국의 경우에는 피자 배달의 10% 가까이가 TV를 통해 이루어진다고 하고, 영국 같은 경우에는 경마 마권을 바로 살 수 있도록 해서 막대한 돈을 벌고 있기도 하다. 하지만 아직은 일부 국가나 일부 어플리케이션의 얘기일 뿐 널리 쓰이고 있지는 못하다. 전에 내가 이것을 친구들한테 말한적이 있는데, 아직도 몇년후에나 이루어질 미래기술 아니냐는 질문을 받았다.
어쨌든 오늘 말하고 싶은 것은 여기서 브라우저의 역할이다. 현재 데이터 방송은 대부분 자바 또는 BIFS를 이용해서 구현되고 있다. BIFS는 Mpeg 2에 정의된 언어로 SMIL과 비슷한 언어이다. SMIL 보다 표현력은 떨어지지만 Binary 기반이라는 장점이 있어서 대역폭에 제한이 많은 데이터 방송으로서는 상당히 유용하다. 자바는 물론 모두 아는 언어이며 여기에 ACAP, OCAP, MHP 같은 미들웨어에서 제공하는 방송용 라이브러리를 이용해서 데이터 방송을 구현한다. 처음에는 이들 미들웨어들이 각자의 API Set를 개발해서 이를 기반으로 한 콘텐트가 상호호환이 되지 않다가 점점 이의 문제를 깨닫고 GEM이라는 모든 미들웨어에서 동작할 수 있는 규격을 만들어가고 있다. 그럼과 동시에 XHTML을 기반으로 한 브라우저 규격 역시 채택해 나가고 있다. MHP에서 DVB-HTML이라는 규격을 만들었으며 이를 OCAP, ACAP 등에서 채택했다. 브라우저를 채택하는 이유는 매우 여러가지이다.
방금 말했던 호환성 문제의 경우 브라우저는 자바 기반 언어에 비해 탁월할 수 밖에 없다. 전에 말했듯이 브라우저는 선언형 언어를 기반으로 하고 있다. 전에 들었던 <b>두꺼운 글자</b>라는 예를 다시 보면 자바를 이용해서 구현하기 위해서는 자기가 돌고 있는 미들웨어가 두꺼운 폰트를 지원하는지 그렇다면 이를 로드해서 두껍게 그려주는 루틴을 만들어야 할 것이다. 물론 폰트의 상황은 셋톱박스 별로 천차만별이기 때문에 하나의 셋톱박스에서 두꺼운 글자가 나오는 프로그램을 만들었다고 해서 이것이 다른 셋톱박스에서도 정확히 보일 것인지는 보장이 힘들다. 반면 브라우저의 경우 셋톱박스에서 지원하는 폰트가 어떤 것인지 이것이 두꺼운 폰트를 지원하는지 등은 콘텐트 개발자가 신경쓸 필요 없이 브라우저에서 알아서 하므로 해당 셋톱박스에서 할 수 있는 최선을 할 것이라고 가정할 수 있다. 폰트는 잘 표준화된 API들이 있으므로 문제가 덜하겠지만, 방송 프로토콜에 관련된 내용이라던지, 방송에서의 이벤트(방송의 진행에 따라 프로그램이 어떤 동작을 하는 것)과 같이 어느 정도 기반 미들웨어의 영향을 받을 수 밖에 없는 것은 문제가 더 심할 것이다.
다른 이유는 콘텐트 제작 비용이 저렴하는 것이다. 기본적으로 자바로 프로그램을 짜는 것 보다는 XHTML을 이용한 콘텐트 개발 비용이 훨씬 저렴하며 기존 웹 콘텐트를 재활용할 수 있는 가능성도 높고 그렇지 않더라도 T-Commerce 같은 경우에는 기존에 서버 쪽에 구현된 로직을 재활용 할 수도 있다. 그렇다고 표현력이 떨어지는 것도 아니다. SVG나 플래시 같은 포맷을 이용할 수도 있고 SMIL을 이용해서 방송과 동기를 맞출 수도 있다. (물론 현재 SVG나 SMIL은 DVB-HTML 규격에 포함되어 있지 않다. 하지만 최근의 브라우저가 이들을 지원하는 추세이므로 결국 사용되지 않을까?) 게다가 DVB-HTML이라는 규격에서는 방송화면과의 연동이라던지 방송 이벤트를 지원할 수 있게 해준다. 최악의 경우 ECMAScript-JAVA Binding을 이용해 자바 응용프로그램이 쓰는 API를 모두 호출할 수 있게 해주지만 이는 결국 브라우저 콘텐트의 장점을 갉아 먹을 것이므로 최악의 경우에만 사용해야 한다.
http://www.atsc.org/standards.html
http://www.mhp.org/
http://www.opencable.com/
# by | 2005/11/29 11:17 | 트랙백 | 덧글(12)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
외국과는 다른 svg를 이용한 재미난 어플이 나와야 하는데... 어려움이 많은 국내환경에서는...
reallee@samsung.com