디지털 방송에서 애플리케이션은 셋톱박스(TV 수신기)에서 수행되는 응용프로그램을 말하며, 연동형 애플리케이션은 비디오내의 특정 시각에 정해진 일을 수행하는 애플리케이션이다. 본 논문에서는 연동형 애플리케이션을 구현하는데 필요한 개념, 표준 및 기술을 분석하고, 이들을 통합하여 연동형 애플리케이션을 구현하는 방법을 제안한다. 본 논문은 특히 유럽식 데이터 방송 표준인 DVB-MHP를 염두에 두고 기술한다. DVB-MHP 규약에서는 비디오와 애플리케이션을 동기화 시키는 방법으로 스케줄드 스트림 이벤트 방법을 권장하고 있다. 이 방법은 방송중간에 스케줄드 스트림 이벤트를 전송하고 애플리케이션이 스트림 이벤트를 수신, 스트림 이벤트에 명시된 시각에 스트림 이벤트를 처리하는 방법이다. 현재 상용으로 사용되고 있는 전송 스트림 생성기, 즉, 다중화기는 스트림 이벤트를 사용할 수 있도록 전송 스트림을 생성해 주지 않기 때문에 본 논문에서는 본 연구팀이 개발한 실험실용 스트림 생성기를 이용하여 필요한 전송 스트림을 생성하였다. 그리고 실제로 하나의 연동형 애플리케이션을 구현하여 테스트했다. 그 결과 연동형 애플리케이션이 스트림 이벤트를 성공적으로 처리함을 확인하였다. 구현된 애플리케이션에서 스트림 이벤트들은 의도한 시점으로부터 240ms 이내에서 비디오와 동기화 되었는데, 이 시간은 비디오와 그래픽 이미지간의 동기화 오차에 대한 허용치이다.
디지털 방송에서 애플리케이션은 셋톱박스(TV 수신기)에서 수행되는 응용프로그램을 말하며, 연동형 애플리케이션은 비디오내의 특정 시각에 정해진 일을 수행하는 애플리케이션이다. 본 논문에서는 연동형 애플리케이션을 구현하는데 필요한 개념, 표준 및 기술을 분석하고, 이들을 통합하여 연동형 애플리케이션을 구현하는 방법을 제안한다. 본 논문은 특히 유럽식 데이터 방송 표준인 DVB-MHP를 염두에 두고 기술한다. DVB-MHP 규약에서는 비디오와 애플리케이션을 동기화 시키는 방법으로 스케줄드 스트림 이벤트 방법을 권장하고 있다. 이 방법은 방송중간에 스케줄드 스트림 이벤트를 전송하고 애플리케이션이 스트림 이벤트를 수신, 스트림 이벤트에 명시된 시각에 스트림 이벤트를 처리하는 방법이다. 현재 상용으로 사용되고 있는 전송 스트림 생성기, 즉, 다중화기는 스트림 이벤트를 사용할 수 있도록 전송 스트림을 생성해 주지 않기 때문에 본 논문에서는 본 연구팀이 개발한 실험실용 스트림 생성기를 이용하여 필요한 전송 스트림을 생성하였다. 그리고 실제로 하나의 연동형 애플리케이션을 구현하여 테스트했다. 그 결과 연동형 애플리케이션이 스트림 이벤트를 성공적으로 처리함을 확인하였다. 구현된 애플리케이션에서 스트림 이벤트들은 의도한 시점으로부터 240ms 이내에서 비디오와 동기화 되었는데, 이 시간은 비디오와 그래픽 이미지간의 동기화 오차에 대한 허용치이다.
In digital broadcasting, applications are computer programs executed by the set-top box(TV receiver) , and synchronized applications are those that perform tasks at the specified moments in the underlying video. This paper describes important concepts, standards, and skills needed to implement synch...
In digital broadcasting, applications are computer programs executed by the set-top box(TV receiver) , and synchronized applications are those that perform tasks at the specified moments in the underlying video. This paper describes important concepts, standards, and skills needed to implement synchronized applications and explains how to integrate them to implement these applications. This Paper assumes the European data broadcasting standard, DVB-MHP. In DVB-MHP, scheduled stream events are recommended as a means of synchronizing applications with video streams. In this method, the application receives each stream event, and executes the action associated with the stream event at the time specified in the stream event. Commercially available stream generators, i.e., multiplexers, do not generate transport streams that support scheduled stream events. So we used a stream generator implemented in our lab. We implemented a synchronized application where the actions triggered by stream events are to display graphic images. We found that our synchronized application processes scheduled stream events successfully. In our experimentation, the stream events were synchronized with the video and the deviation from the intended time was within 240 ㎳, which is a tolerance for synchronization skew between graphic images and video.
In digital broadcasting, applications are computer programs executed by the set-top box(TV receiver) , and synchronized applications are those that perform tasks at the specified moments in the underlying video. This paper describes important concepts, standards, and skills needed to implement synchronized applications and explains how to integrate them to implement these applications. This Paper assumes the European data broadcasting standard, DVB-MHP. In DVB-MHP, scheduled stream events are recommended as a means of synchronizing applications with video streams. In this method, the application receives each stream event, and executes the action associated with the stream event at the time specified in the stream event. Commercially available stream generators, i.e., multiplexers, do not generate transport streams that support scheduled stream events. So we used a stream generator implemented in our lab. We implemented a synchronized application where the actions triggered by stream events are to display graphic images. We found that our synchronized application processes scheduled stream events successfully. In our experimentation, the stream events were synchronized with the video and the deviation from the intended time was within 240 ㎳, which is a tolerance for synchronization skew between graphic images and video.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문은 디지털 방송의 새로운 기능인 연동형 애플리케이션을 DB-MHP 환경에서 구현하는 방법을 기술하고, 실제로 구현하여 실험을 했다. 특히 스케줄드 스트림 이벤트를 이용하여 연동형 애플리케이션을 구현했다.
본 논문은 연동형 애플리케이션을 구현하는 데 필요한 개념, 표준 및 기술을 분석하고, 이들을 통합하여 연동형 애플리케이션을 구현하는 방법을 제안한다. 그리고 실제적으로 구현한 연동형 애플리케이션의 실험 결과를 제시한다.
TV에서 수행되는 애플리케이션은 많은 사람에게 낯설지만, 특히 비디오와 동기화된 연동형 애플리케이션의 경우는 더욱 그러하다. 연동형 애플리케이션의 구현은 방송규약뿐 아니라, Java의 이벤트 처리 모델, 그리고 애플리케이션에 대한 이해가 필요하므로 본 논문은 이들을 연결하여 연동형 애플리케이션의 전체적인 구조를 파악하는 데 중점을 두고자 한다. 이것은 TV를 위한 애플리케이션 프로그래머들이 그들이 하는 일을 정확하게 이해하면서 일을 하도록 도움을 줄 것이다.
제안 방법
Xlete 스트림 이벤트를 처리하기 위한 사전 단계로서 스트림 이벤트 이름(eventName). ID (eventID), 스트림이 벤트 서술자 스트림의 ID 등을 포함하는 스트림 이벤트 메시지를 객체 카루 셀로부터 획득하고. 획득한 모든 스트림 이벤트 이름들을 특정 소스 객체를 이용하여 등록한다.
본 논문은 연동형 애플리케이션을 구현하는 데 필요한 개념, 표준 및 기술을 분석하고, 이들을 통합하여 연동형 애플리케이션을 구현하는 방법을 제안한다. 그리고 실제적으로 구현한 연동형 애플리케이션의 실험 결과를 제시한다. TV에서 수행되는 애플리케이션은 많은 사람에게 낯설지만, 특히 비디오와 동기화된 연동형 애플리케이션의 경우는 더욱 그러하다.
동기화가 성공적으로 되는지를 검증하기 위해, 셋톱박스로 전송되어 플레이되는 방송의 화면을 캡쳐하였다. 그리고 캡쳐된 동영상을 초당 25프레임 단위로 나누어 프레임별로 점검하면서 그래픽이미지가 실제로 디스플레이 되는 시점이 스트림 이벤트를 전송 스트림에 삽입할 때 제작자가 명시한 시점과 일치하는지를 확인했다. 실험 결과 명시된 모든 지점에서 240ms 이내에서 비디오와 그래픽이미지가 동기화됨을 확인하였다.
스트림 이벤트가 포함된 TS는 본 연구팀에서 개발한 스트림 생성기를 사용하였다. 동기화가 성공적으로 되는지를 검증하기 위해, 셋톱박스로 전송되어 플레이되는 방송의 화면을 캡쳐하였다. 그리고 캡쳐된 동영상을 초당 25프레임 단위로 나누어 프레임별로 점검하면서 그래픽이미지가 실제로 디스플레이 되는 시점이 스트림 이벤트를 전송 스트림에 삽입할 때 제작자가 명시한 시점과 일치하는지를 확인했다.
라인9에서 currentNPT를 DSMCCStream 객체의 메소드인 getNPTO 사용해서 구한 것으로 기술을 했다. 그러나 실제 구현에서는 이메소드를 사용하지 않았다.
본 Xlet 애플리케이션은 스트림 이벤트 서술자의 구조로 MPEG-2 TS에 포함되어 전송되는 스트림 이벤트를 받아서 이를 스트림 이벤트 서술자 내에 명시된 시각(eventNPT)에 처리하는 일을 수행한다. 그림 3의 약식 코드에서 보듯이, Xlet 애플리케이션은 먼저 스트림 이벤트 메시지의 경로명 “StreamEvents”을 이용하여 DSMCCObject 클래스의 객체 dsmobj를 생성한다 (라인 1).
본 논문에서 본 논문에서 기술한 방법을 따라 실제로 연동형 애플리케이션을 구현하여 실험하였다. 구현된 연동형 애플리케이션을 검증하기 위해 스트림 이벤트가 포함된 전송스트림을 생성한 후 이를 셋톱박스에 전송하여 정해진 시각에 스트림 이벤트가 처리됨을 확인하였다.
구현한 연동형 애플리케이션에서 스트림 이벤트의 eventData는 이미지 파일 이름으로서 실제로 스트림 이벤트를 처리할 때는 그 이름을 가진 이미지 파일을 객체 카루 셀로부터 읽어 해당 이미지를 디스플레이하 도록 되어 있다. 스트림 이벤트가 포함된 TS는 본 연구팀에서 개발한 스트림 생성기를 사용하였다. 동기화가 성공적으로 되는지를 검증하기 위해, 셋톱박스로 전송되어 플레이되는 방송의 화면을 캡쳐하였다.
그리고 그 시점의 프레임 번호를 획득한다. 스트림 이벤트를 부여하고 싶은 비디오 내의 특정 시점으로 이동하여 그 시점의 프레임 번호를 획득한 후, 그 프레임 번호에 해당하는 NPT를 계산한다.
그리고 이를 입력인자로 하여 이벤트 핸들러 인 receiveStreamEvent0 메소드를 호출한다. 이 이벤트 핸들러는 StreamEvent 클래스의 객체의 메소드인 getEventNPTO 를 이용하여 eventNPT를 구하며 getEventDataO를 이용하여 eventData를 얻는다(라인8의 메소드 내부 참조). 그리고 스트림 이벤트가 “do it now" 스트림 이벤트인지 (getEventNPTO가 null 인 경우) 스케줄드 스트림 이벤트인지를 구분한 후, 전자이면 바로 eventData를 이용하여 처리하고 후자이면 그 정보를 저장만 한다 (라인 8의 메소드 내부 참조).
본 논문은 디지털 방송의 새로운 기능인 연동형 애플리케이션을 DB-MHP 환경에서 구현하는 방법을 기술하고, 실제로 구현하여 실험을 했다. 특히 스케줄드 스트림 이벤트를 이용하여 연동형 애플리케이션을 구현했다. 현재 상용 전송 스트림 생성기에서는 스케줄드 스트림 이벤트를 지원하는 전송 스트림을 생성해주는 기능이 없다.
비디오와 동기화된 애플리케이션을 실험하기 위해서는 애플리케이션 자체의 구현뿐만 아니라, 이 애플리케이션이 사용하는 여러 가지 스트림을 생성하여 전송 스트림(TS)에 삽입하는 일이 필요하다. 현재 상용으로 나와 있는 TS 다중화기는 연동형 애플리케이션에 필요한 스트림 이벤트 서술자와 NPT참조서술자를 삽입하는 기능이 완비되어 있지 않으므로, 연동형 애플리케이션 실험을 위해 본 논문에서는 본 연구팀이 실험실에서 제작한 연동형 애플리케이션을 위한 스트림 생성기(1)을 사용하였다.
대상 데이터
여기서 데이터라 함은 실행 가능한(executable) 애플리케이션 프로그램과 애플리케이션이 사용하는 텍스트나 이미지 파일과 같은데이터를 총칭한다. 데이터 방송 표준으로는 북미의 ATSC-DASE(1)와 OCAP(2), 유럽의 DVB-MHP(3) 등이 있는데, 본 논문은 우리나라 위성방송이 채택한 DVB-MHP를 다룬다. 애플리케이션은 Xlet 이라고도 불리는 MHP-J 와 MHP-HTML이 있는데, 본 논문에서는 전자만을 고려한다.
이론/모형
아직 NPT 참조 서술자 스트림을 생성하는 상용 도구 등의 미비로 이메소드가 충분히 테스트되어 있지 않다. 따라서 본 논문에서는 본 연구팀이 구현한 근사적인 NPT 재구성 방법[12]을 사용하였다.
성능/효과
본 논문에서 본 논문에서 기술한 방법을 따라 실제로 연동형 애플리케이션을 구현하여 실험하였다. 구현된 연동형 애플리케이션을 검증하기 위해 스트림 이벤트가 포함된 전송스트림을 생성한 후 이를 셋톱박스에 전송하여 정해진 시각에 스트림 이벤트가 처리됨을 확인하였다. 실험의 구체적인 방법은 다음과 같다.
그리고 캡쳐된 동영상을 초당 25프레임 단위로 나누어 프레임별로 점검하면서 그래픽이미지가 실제로 디스플레이 되는 시점이 스트림 이벤트를 전송 스트림에 삽입할 때 제작자가 명시한 시점과 일치하는지를 확인했다. 실험 결과 명시된 모든 지점에서 240ms 이내에서 비디오와 그래픽이미지가 동기화됨을 확인하였다. 동기화 오차 범위 240ms는 실험적인 결과로서 그래픽 이미지와 비디오와 동기화에서 그래픽이미지가 원래의도된 시점과 240ms 어긋나는 시점에 디스플레이 되어도 사람이 그 차이를 인식하지 못한다는 것이다.
참고문헌 (14)
ATSC. http://www.atsc.org ,2003
OCAP. http://www.opencable.com ,2003
ETSI TS 101 802 : Digital Video Broadcasting-Multimedia Home Platform 1.0.1, 2001
Richard Chernock. 'Data Broadcasting', McGraw-Hill, 2001
ISO/IEC 13818-1 Generic Coding of Moving Picture and Associated Audio : Systems
ISO/IEC 13818-6 Generic Coding of Moving Picture and Associated Audio: Digital Storage Media Command and Control
TR 101 202 DVB; Implementation guidelines for Data Broadcasting, 1999
Sun Microsystems. Java AWT: Delegation Event Model. http://java.sun.com/j2se/1.3/docs/guide/awt/designspec/events.html , 2002
Y.D. Liang, 'Introduction to Java Programming', Que E&T 1999
Steven Morris. The Interactive TV Web. http://www.mhpinteractive. org/tutorial 2002
김세훈, 정문열. 연동형 데이터 방송 애플리케이션을 위한 스트림 생성기 개발. 2003 년 한국방송공학회 학술대회, pp.267-270. 2003
정문열, 김용한, 백두원. 동기화된 데이터방송을 위한 근사적인 NPT 재구성 기법. Technical Report, 서강대학교 영상대학원 미디어 공학과, 2003. (방송공학회 논문지 제출)
정문열, 김세훈, 백두원. 연동형 데이터 방송 애플리케이션을 위한 스트림 생성기. Technical Report. 서강대학교 영상대학원 미디어공학과, 2003. (방송공학회 논문지 제출)
Ralf Steinmetz. 'Human Perception of Jitter and Media Synchronization'. IEEE Journal on Selected Areas in Communications, vol. 14, no. 1, Jan. 1996, pp. 61-72
※ AI-Helper는 부적절한 답변을 할 수 있습니다.