일반적으로, 디지털 방송시스템은 하나 이상의 위성, 케이블 전송선, 지상 무선전송국 또는 그 임의의 조합을 사용하는지 여부에 무관하게, 이러한 시스템은 사용자가 고충실도의 비디오 및/또는 오디오 프로그램 뿐만 아니라 사용자가 프로그램 소비활동을 계획하고 실행할 수 있는, 예를 들어, 그림문자 프로그램 가이드(pictographic program guides), 격자기반 가이드(grid-based guide) 등과 같은 사용자-상호작용 특성 또는 도구를 수신할 수 있게 한다. 디지털 방송시스템은 일반적으로 하나 이상의 고대역폭 신호를 전송하며, 상기 각각의 신호는 일반적으로 복수의 비디오, 오디오 및/또는 다른 디지털 프로그램 또는 그 내에 다중화 컨텐츠를 갖는 데이터스트림 또는 데이터 패킷 스트림으로 구성된다. 잘 알려진 많은 데이터 압축기술(예를 들어, 오디오/비디오 컨텐츠 압축기술), 전송 프로토콜 등은 일반적으로, 대개 전송 스트림(transport stream)이라고 하는, 멀티프로그램 데이터 스트림 또는 비트스트림을 생성하고 전송하는데 사용된다. 특히, 디지털 텔레비젼 프로그래밍은 일반적으로 고도화 텔레비젼 표준 위원회(Advance Television Standard Committee, ATSC)에 의해 공표된 표준에 따라 전송된다. ATSC 표준은 디지털 텔레비젼 신호의 전송에 관한 포괄적인 표준이다. ATSC 표준하에서, 프로그램과 관련된 비디오 정보는 잘 알려진 MPEG-2(Moving Picture Expert Group-2)표준에 따라 부호화되고 압축되고, 프로그램과 관련된 오디오 정보는 잘 알려진 AC-3표준에 따라 부호화되고 압축된다. 그 결과, ATSC 데이터스트림 또는 비트스트림은 MPEG-2 패킷 형태의 비디오 정보와 AC-3 패킷 형태의 오디오 정보를 포함한다. 그러나, 다른 디지털 전송 프로토콜, 데이터 압축방식 등도 대신 사용될 수 있다.
자유로이 이용할 수 있는 디지털 오디오/비디오 컨텐츠 또는 프로그래밍의 경우, 사용자는 디지털 텔레비젼 신호를 수신하고 처리하는데 적합한 텔레비젼(예를 들어, 고해상도 텔레비젼)을 가져야만 한다. 구매한 디지털 오디오/비디오 컨텐츠 또는 프로그래밍의 경우, 가입자는 일반적으로, 디지털 비디오 또는 텔레비젼 시스템인 경우에, 멀티프로그램 데이터 스트림을 수신하고 처리하거나 스트림을 전송하고 비디오 및 오디오 신호를 텔레비젼, 비디오 모니터, 스피커 등에 출력하는 주로 "셋톱박스(set-top box)"라고 하는 디지털 복호기 유닛을 갖는다. 특히, 셋톱박스는, 가입자 명령을 기초로, 오디오/비디오 컨텐츠의 특정한 프로그램 또는 일부분과 관련된 데이터 패킷을 특정한 데이터 스트림이나 전송 스트림으로부터 추출하고, 이들 추출된 데이터 패킷을 복호화하며, 사용자 소비용도로 비디오 및/또는 오디오 신호를 텔레비젼, 비디오 모니터, 디지털 라디오 등에 전송할 수 있다.
아날로그 컨텐츠 사업자 및 방송국의 경우에서와 같이, 디지털 컨텐츠 사업자 및 방송국(예를 들어, 디지털 텔레비젼 방송국, 디지털 오디오 방송국 등)은 종종 전송을 검증하고/하거나 가입자에게 제공되는 오디오/비디오 컨텐츠나 프로그램 및/또는 다른 서비스의 소비를 계량(즉, 감시)하는 것이 요구된다. 이런 식으로, 방송국은 방송검증정보 및/또는 시청자 프로그램 소비행위 또는 패턴을 생성할 수 있다. 시청자 소비행위 및 패턴은 인구통계 정보와 결부하여 레이팅 정보(rating information)를 개발하고, 타겟 마케팅 또는 광고 캠패인을 개선하며, 프로그램 또는 오디오/비디오 컨텐츠 및/또는 서비스의 타입과 이들 프로그램 및/또는 서비스가 소비자에게 전달되는 시간을 향상시키고, 광고자가 시간슬롯(time slot) 등의 사용을 위해 얼마나 지불해야 하는지를 결정하기 위한 특정한 시간슬롯과 프로그램의 값을 평가하기 위해 사용될 수 있다.
공지된 텔레비젼 감시 시스템(television metering system)을 사용하여, 통계적으로 선택된 세대 그룹으로부터 시청 레코드가나 다른 시청정보가 일반적으로 수집된다. 디지털 방송시스템에 대해, 통계적으로 선택된 각각의 세대는 데이터 로깅(data logging) 및 처리장치(즉, "홈유닛(home unit)", "사이트유닛(site unit)")를 갖는다. 사이트유닛은 주로 상기 사이트유닛에 입력을 제공하고 상기 사이트유닛으로부터 출력을 수신하는 다양한 부속품에 결합된다. 예를 들어, 아날로그 시스템은 텔레비젼이 현재 동조되고 있는 채널을 식별하기 위해 텔레비젼의 국부발진기 주파수를 검출하기 위한 주파수 검출기를 포함할 수 있다. 또한, 예를 들어, 피플미터(people meter)가 텔레비젼 시청공간에 위치될 수 있고 사이트유닛과 소통될 수 있어, 상기 사이트유닛이 능동동적으로 또는 수동적으로 텔레비젼에 나타난 프로그램을 현재 시청하는 사람의 신원을 검출할 수 있게 한다.
사이트유닛은 주로 시청 레코드(viewing record)를 산출하기 위해, 부속품으로부터의 입력을 포함한, 입력을 처리한다. 시청 레코드는 일반적으로 오디오/비디오 컨텐츠 또는 프로그램 식별정보(즉, 주파수 검출기로부터 얻은 채널정보와 같이 오디오/비디오 컨텐츠의 특정한 프로그램이나 부분을 식별하는데 사용될 수 있는 정보)와 시청자 정보를 포함한다. 시청자 정보는 특정 프로그램을 시청하는 사람의 수 및/또는 신원, 인구통계 정보 등을 포함할 수 있다. 시청 레코드는 주기적 기반(즉, 고정된 시간간격)으로 생성될 수 있거나, 예를 들어, 텔레비젼을 시청하는 사람들의 신원 또는 수의 변화, 채널동조정보에서의 변화(즉, 채널변경) 등과 같은 입력에서의 변화에 응답하여 생성될 수 있다. 공지된 아날로그 시스템을 사용하면, 각각의 시청 레코드는 일반적으로 방송국 또는 채널번호 및 채널이 시청된 시간(예를 들어, 그날의 날짜 및 시각)과 같은 채널정보를 포함한다. 물론 시청률은 시청시간때 시청자의 신원과 같은 다른 정보도 포함할 수 있다.
사이트유닛은 시청 레코드의 양을 수집하고, 또 다른 처리 또는 분석을 위해 상기 수집된 시청 레코드를 중앙사무실 또는 데이터 처리시설과 같은 수집사이트로, 대개 매일, 전송한다. 데이터 처리시설은 통계적으로 선택된 세대 중 일부 또는 모두에 위치한 사이트유닛으로부터 시청 레코드를 수신하고, 참가한 모든 세대 중에서 선택된 특정한 세대 또는 특정한 세대그룹의 시청행위를 확인하기 위해 상기 시청행위를 분석한다. 또한, 중앙데이터 처리시설은 참가한 모든 세대와 관련된 시청행위를 나타내는 시청행위통계 및 다른 파라미터를 생성한다.
시청 레코드로부터 시청행위정보를 생성하기 위해, 중앙사무실 또는 데이터 처리시설은 프로그램의 리스트(즉, 텔레비젼 프로그래밍 또는 프로그램 라인업(program lineup)의 스케쥴)와 같은 기준데이터를 상기 시청 레코드와 비교한다. 이런 식으로, 데이터 처리시설은 상기 프로그램 스케쥴 또는 라인업에서 동일한 시간 및 채널과 관련된 프로그램에 대한 시청 레코드에서의 시간과 채널정보를 매칭(matching)시킴으로써 어떤 프로그램이 시청되었는지를 결정할 수 있다. 이러한 매칭처리는 데이터 처리시설에 의해 수신된 각각의 시청 레코드에 대해 수행될 수 있으며, 그럼으로써 데이터 처리시설은 참가한 모든 세대에 의해 어떤 프로그램이 시청되었는지 그리고 상기 프로그램이 시청된 시간을 재구성하게 할 수 있다.
그러나, 공지된 아날로그 프로그램 감시 시스템(상술한 텔레비젼 프로그램 검증 및 감시 시스템)은 디지털 방송 시스템과 함께 사용하기에 부적합하다. 예를 들어, 디지털 텔레비젼 시스템은 특정 프로그램과 관련된 오디오/비디오 데이터를 검색하기 위해 셋톱 박스내의 데이터 패킷 추출처리를 사용하는 반면에, 텔레비젼 동조기(tuner)는 일반적으로 하나의 채널(예를 들어, 채널 2 또는 3)상에 유지되도록 하기 때문에, 상술한 주파수 검출기 부속품은 디지털 비디오 채널정보를 검출하는데 부적합하다. 그 결과, 텔레비젼 동조기의 국부발진기 주파수는 현재 소비되는 디지털 텔레비젼 채널을 나타내지 못한다(즉, 물론 일치하지 않는다). 따라서, 공지된 아날로그 프로그램 감시 시스템은 디지털 방송 시스템과 함께 사용하는데 부적합하다. 더 구체적으로, 공지된 아날로그 프로그램 감시 시스템은 디지털 프로그램 방송의 식별을 검출할 수 없으므로, 아날로그 감시 시스템이 디지털 프로그램 소비행위를 측정하기 위해 처리될 수 있는 검증정보 및/또는 시청 레코드를 생성하는데 사용되지 못하게 한다.
시청 레코드의 추적을 가능하게 하기 위해, 일부 디지털 방송국은 비디오 및/또는 오디오 비트스트림(들)에 디지털 방송 식별정보 및/또는 다른 데이터를 삽입함으로써 홈사이트 및 하나 이상의 기준사이트에 디지털 방송 프로그램의 식별을 가능하게 한다. 삽입된 디지털 데이터는 통상적으로 시청자 측정 데이터라고 하며, 상기 시청자 측정 데이터는 신호식별코드(즉, 고유하게 각각의 오디오/비디오 컨텐츠 부분 또는 프로그램과 관련된 디지털 코드), 데이터 정보, 시간정보, 소비자 식별정보 등을 포함할 수 있다. 분배 시스템 헤드엔드(headend) 또는 방송국은 전송된 비트스트림 또는 전송 스트림을 능동적으로 변경시키기 때문에(데이터를 삽입하기 때문에), 상기 분배 시스템 헤드엔드 또는 방송국에서의 시청자 측정 데이터의 삽입을 주로 능동적인 오디오/비디오 컨텐츠 식별처리라고 한다.
이런 식으로 능동적으로 데이터를 오디오/비디오 비트스트림에 삽입함으로써, 디지털 방송국은 디지털 오디오/비디오 컨텐츠 및 디지털 방송을 시청하는 사람들의 시청행위의 식별이 용이하게 결정되게 한다. 특히, 각각의 홈사이트와 관련된 사이트유닛은 삽입된 오디오/비디오 컨텐츠 식별코드를 수신된 비트스트림내의 알려진 부분 또는 위치로부터 추출하고, 상기 추출된 정보를 사용하여, 예를 들어, 시청 레코드를 형성하도록 구성될 수 있다. 차례로, 시청 레코드는 시청행위정보, 레이팅 데이터 등을 생성하기 위해 각각의 홈사이트 및/또는 하나 이상의 수집사이트 또는 중앙처리사이트에서 한층 더 분석될 수 있다.
일반적으로, 공지된 능동적 데이터 삽입기술은 방송국에 의해 전송되는 하나 이상의 프로그램(즉, 비디오/오디오 프로그램)을 구성하는 각각의 비디오 및/또는 오디오 신호내에 디지털 데이터를 삽입한 후에, 상기 각각의 비디오 및/또는 오디오 신호는 하나의 멀티프로그램 비트스트림 또는 전송 스트림을 형성하기 위해 압축되고 다중화된다. 그러나, 디지털 데이터는 압축되지 않은 도메인(즉, 각각의 압축되지 않은 오디오/비디오 신호)에 삽입되기 때문에, 다중 디지털 데이터 삽입장치(예를 들어, 각각의 압축되지 않은 프로그램 비트스트림의 삽입장치)가 일반적으로 필요하다. 다중 디지털정보 삽입장치에 대한 이러한 필수품은 바람직하지 못한데, 왜냐하면 헤드엔드 또는 방송국과 관련된 복잡도와 동작비용을 증가시키기 때문이다.
디지털 데이터를 각각의 압축되지 않은 프로그램 신호에 삽입함으로써 발생하는 또 다른 어려움은 연이은 압축동작(예를 들어, 압축 부호화)으로 삽입된 데이터의 일부 또는 모두가 손상 및/또는 제거될 수 있다는 것이다. 알려진 바와 같이, 신호압축기술은 주로 비디오 이미지 및/또는 오디오 신호를 재생하는데 필요한 데이터의 양에 있어 상당한 감소를 제공하지만, 적어도 일부 데이터 또는 정보의 희생(즉, 손실)이 따른다. 따라서, 압축동작이 삽입된 디지털 데이터를 손상시키는 경우, 홈사이트 및/또는 중앙데이터 처리시설 또는 수집시설은 오디오/비디오 컨텐츠를 정확하게 식별할 수 없다.
디지털 부호 또는 시청자 측정 데이터를 각각의 압축되지 않은 프로그램 신호에 삽입함으로써 발생하는 또 다른 어려움은 삽입된 데이터 또는 정보 및 상기 데이터가 삽입되는 프로그램 사이의 관계가 제한된다는 것이다. 특히, 삽입된 데이터는 비디오 및 오디오 부분 모두에서가 아니라, 프로그램의 비디오 부분에만 또는 상기 동일한 프로그램의 오디오 부분에만 관련될 수 있다. 이러한 관련성의 결핍은 디지털 방송국이 압축된 도메인내에 압축되지 않은 비디오 및/또는 오디오 프로그램의 위치(예를 들어, 부채널(sub-channel) 또는 마이너채널(minor channel) 번호)를 재정의할 수 있거나, 프로그램 라인업으로 인해 하나 이상의 비디오 및/또는 오디오 프로그램을 제거할 수 있다는 사실로 인해 더 복잡해진다.
도 1은 하기에 더 상세하게 설명된 데이터 삽입장치 및 방법으로 방송 디지털 오디오/비디오 컨텐츠 또는 프로그램을 식별하고 상기 식별된 오디오/비디오 컨텐츠를 기초로 시청행위정보 및 레이팅 정보를 생성하는데 사용될 수 있는 예시적인 시스템(100)의 블록도이다. 시스템(100)은 디지털 비디오 및/또는 오디오 컨텐츠를 복수의 디지털 컨텐츠 사업자(104 및 106)로부터 수신하는 디지털 방송국(102)을 포함한다. 디지털 컨텐츠 사업자(104 및 106)는, 예를 들어, 텔레비젼 프로그램, 광고, 오디오(예를 들어, 라디오) 프로그램, 스틸 이미지(still image) 정보(예를 들어, 웹페이지) 등과 같은 다양한 오디오/비디오 컨텐츠를 공지된 방식으로 디지털 방속국(102)에 제공할 수 있다. 디지털 방송국(102)은 통신경로 또는 링크(112 및 114)를 통해 디지털 오디오/비디오 컨텐츠를 포함하는 하나 이상의 신호 를 기준사이트(reference site)(108) 및 적어도 하나의 소비사이트(consumption site)(110)에 전송한다. 통신경로 또는 링크(112 및 114)는, 예를 들어, 위성링크, 무선 지상링크, 케이블 링크 등과 같은 배선링크(hardwired link)나 무선링크의 임의의 조합을 포함할 수 있다. 링크(112 및 114)를 통해 전송된 신호는 종종 전송 스트림이라고 하며 주로 기존의 디지털 텔레비젼 전송시스템과 함께 사용되는 멀티프로그램 데이터스트림 또는 비트스트림을 포함할 수 있다. 기준사이트(108) 및 소비사이트(110)는 본 명세서에 설명된 오디오/비디오 컨텐츠 식별장치 및 방법을 사용하여 디지털 방송국(102)에 의해 제공되는 디지털 신호 또는 디지털 오디오/비디오 컨텐츠를 수신하고 처리한다. 더 구체적으로, 기준사이트(108)는 디지털 방송국(102)으로부터 수신된 오디오, 비디오 및/또는 다른 데이터 패킷을 복조하고, 역다중화하며 복호화하는 복수의 복호기(예를 들어, 셋톱박스 등)(116,118 및 120)를 포함한다. 일실시예에서, 각각의 복호기(116,118 및 120)는 현재 방송되고 있는 다른 프로그램과 관련된 오디오 및/또는 비디오 데이터 패킷을 기준사이트 프로세서(122)에 제공한다. 다르게 말하면, 복호기(116)는 제 1 프로그램과 관련된 데이터 패킷을 제공할 수 있는 반면에, 복호기(118 및 120)는 각각 제 2 및 제 3 프로그램과 관련된 데이터 패킷을 제공한다. 기준사이트 프로세서(122)는 각각의 복호기(116,118 및 120)가 현재 어떤 채널, 서브채널 등에 동조되고 있는 지를 나타내는 정보를 제어 및/또는 포함하도록 구성된다.
기준사이트 프로세서(122)는 디지털 방송국(102)에 의해 방송 오디오/비디오 컨텐츠(예를 들어, 하나 이상의 전송 스트림)에 삽입된 데이터를 추출하기 위한 장 치 및 방법을 포함할 수 있다. 특히, 기준사이트 프로세서(122)는 본 명세서에 개시된 상기 데이터 삽입장치 및 방법을 사용하여 데이터 패킷 및/또는 데이터 프레임내의 알려진 위치로부터 디지털 방송국(102)에 의해 삽입된 디지털 부호 및/또는 다른 데이터 또는 정보를 추출하도록 구성될 수 있다. 기준사이트 프로세서(122)는 추출된 코드 및/또는 다른 디지털 정보를 중앙처리장치(124)로 전송할 수 있으며, 상기 중앙처리장치는 상기 추출된 부호 및/또는 다른 디지털 정보를 처리하여, 예를 들어, 방송국(102)에 의해 오디오/비디오 컨텐츠 방송에 관한 방송검증정보, 프로그램 라인업 정보, 또는 임의의 다른 소정의 정보를 생성할 수 있다.
소비사이트(110)는, 예를 들어, 통계적으로 선택된 가정 또는 거주지, 사업장 소재지, 휴대장치(예를 들어, 휴대용 컴퓨터, 휴대폰 또는 개인 휴대정보 단말기 등) 또는 오디오/비디오 컨텐츠 또는 프로그램을 소비할 수 있는 임의의 다른 사이트 또는 장치일 수 있다. 논의를 간략히하기 위해, 도 1은 하나의 시스템 또는 소비사이트(110)를 나타내고 있다. 그러나, 복수의 소비사이트가 예시적인 소비사이트(110)의 방식과 유사하거나 동일한 방식으로 구성될 수 있다.
소비사이트(110)은, 예를 들어, 비디오 디스플레이, 텔레비젼, 스피커 등과 같은 출력장치(128)을 포함한다. 소비사이트(110)는 또한 복호기(116-120)와 유사하거나 동일할 수 있는 복호기(130)(예를 들어, 셋톱박스)를 포함한다. 도 1에 도시된 바와 같이, 복호기(130)는 방송신호(114)와 출력장치(128) 사이에 직렬로 개입될 수 있고, 상기 복호기는 현재 소비를 위해 선택된 프로그램을 나타내도록 사용되는 오디오 및/또는 비디오 신호(134)를 출력장치(128)에 제공한다. 예를 들어, 방송신호(114)가 디지털 위성전송 또는 케이블 텔레비젼 전송인 경우에, 복호기(130)는 소정의 채널 및/또는 프로그램과 관련된 비디오 및/또는 오디오 데이터 패킷을 추출한다. 추출된 데이터 패킷은 출력장치(128)에 의해 나타내질 수 있는(예를 들어, 디스플레이될 수 있는) 신호(134)를 형성하기 위해 처리된다. 예를 들어, 출력장치(128)가 텔레비젼인 경우, 신호(134)는 복합 비디오신호(composite video signal), 슈퍼비디오 신호, 적녹청(RGB)신호 또는 출력장치(128)의 적당한 입력연결부에 제공되는 임의의 다른 비디오 신호일 수 있다.
그 외에도, 복호기(130)는 또한 디지털 오디오/비디오 컨텐츠 데이터를 포함하는 신호(136)를 사이트유닛(132)에 제공한다. 오디오/비디오 컨텐츠 데이터는, 예를 들어, 잘 알려진 소니사(Sony Corportaion) 및 필립스사의 디지털 인터페이스 포맷(Philips Corporation Digital Interface Format, S/PDIF)이거나, 디지털 방송과 관련된 데이터 패킷을 제공하는 임의의 다른 소정의 포맷를 사용하여 제공된 디지털 오디오 신호일 수 있다. 이 경우, 오디오/비디오 컨텐츠 데이터는 복호기가 현재 동조되고 출력장치(128)를 통해 소비되고 있는 오디오/비디오 컨텐츠와 관련된 압축된 디지털 오디오 데이터이다.
신호처리기능 뿐만 아니라, 복호기(130)는 또한, 예를 들어, 시스템(100)과 관련된 가입상태 또는 가입정보를 기초로 어떤 프로그램이 시스템(100)의 사용자에 의해 소비될 수 있는 지를 결정하고, 디스플레이가능한 프로그램 가이드 정보 등을 생성하는 접속제어기능을 수행할 수 있다.
사이트유닛(132)은 복호기(130)로부터 수신된 신호(136)을 처리하여 이로부 터 삽입된 데이터(예를 들어, 시청자 측정 데이터)를 추출한다. 그런 후, 사이트유닛(132)은 추출된 디지털 데이터(예를 들어, 시청자 측정 데이터)를 중앙처리장치(124)로 전송할 수 있다. 중앙처리장치(124)는 추출된 디지털 데이터를 처리하여 어떤 오디오/비디오 컨텐츠(예를 들어, 채널 및/또는 프로그램)가 소비되었는지, 오디오/비디오 컨텐츠가 소비된 시간 및/또는 오디오/비디오 컨텐츠를 소비한 사람의 신원을 결정한다. 이런 식으로, 중앙처리장치(124)는 소비사이트(110)에서 또는 하나 이상의 다른 소비사이트(도시되지 않음)에서 시청행위정보 또는 통계, 레이팅 정보 또는 오디오/비디오 컨텐츠의 소비에 관한 임의의 다른 소정의 정보를 생성할 수 있다.
출력장치(128), 복호기(130) 및 사이트유닛(132)가 각각의 블록으로 도 1에 나타나 있지만, 이들 블록에 의해 수행된 기능은 임의의 소정의 방식으로 조합되거나 통합될 수 있다. 예를 들어, 소비사이트(110)가 휴대장치(예를 들어, 무선통신 인터페이스를 갖는 개인휴대정보 단말기)인 경우에, 블록(128, 130 및 132)에 의해 수행된 기능이 상기 휴대장치내에 통합될 수 있다. 대안으로, 출력장치(128) 및 복호기(130)에 의해 수행된 기능이 상기 휴대장치내에 통합될 수 있고, 그런 후 상기 휴대장치는 사이트(132)에 주기적으로 또는 연속적으로 통신 연결되어 상기 사이트유닛(132)에 추출된 데이터를 다운로드한다. 이 경우, 사이트유닛(132)는 상기 휴대장치가 주기적으로 다운로드 동작을 수행하도록 처리되는 기본장치로서 실행될 수 있다.
도 2는 하나 이상의 압축되지 않은 오디오/비디오 컨텐츠 또는 프로그램 비 트스트림에 시청자 측정 데이터를 삽입하기 위한 도 1의 디지털 방송국(102)에 의해 사용될 수 있는 예시적인 공지 시스템(200)의 블록도이다. 시스템은 복수의 데이터 삽입기(202, 204 및 206)를 포함하고, 상기 각각의 삽입기는 각각의 압축되지 않은 오디오/비디오 컨텐츠 데이터스트림(208, 210 및 212)에 데이터를 삽입하도록 구성된다. 각각의 스트림(208, 210 및 212)은 하나의 오디오/비디오 프로그램을 포함하고, 상기 오디오/비디오 프로그램은 도 1에 도시된 디지털 컨텐츠 사업자(104 및 106)와 유사하거나 동일한 디지털 컨텐츠 사업자에 의해 제공될 수 있거나/있고, 예를 들어, 디지털 비디오 리코더, 비디오 카세트 리코더, 또는 임의의 다른 적절한 디지털 미디어 전달장치와 같은 로컬소스(local source)에 의해 제공될 수 있다.
데이터 삽입기(202, 204 및 206)는 수직 귀선소거 삽입기(vertical blanking inserters), 워터마킹 부호기(watermaking encoder) 및 폐쇄캡션 부호기(closed caption encoder)와 같은 공지의 데이터 삽입장치를 사용하여 실행될 수 있다. 데이터 삽입기(202, 204 및 206)의 출력은 각각의 부호기(214, 216 및 218)에 연결된다. 상기 부호기(214, 216 및 218)는, 예를 들어, AC-3 및/또는 MPEG 표준에 따른 압축방식과 같은 공지의 오디오/비디오 압축방식을 사용하여 (데이터가 삽입된) 각각의 오디오/비디오 컨텐츠 비트스트림을 압축하는 압축 부호기가다.
상기 부호기(214, 216 및 218)에 의해 출력된 상기 압축된 각각의 오디오/비디오 컨텐츠 비트스트림은 다중화기(multiplexer)(220)에 의해 하나의 비트스트림 또는 전송 스트림을 형성하도록 다중화된다. 다중화기(220)는, 예를 들어, ATSC 및 /또는 디지털 비디오 방송(Digital Video Broadcast, DVB) 표준에 따른 다중화 방식을 사용하여 상기 부호기(214, 216 및 218)로부터 수신된 압축된 비트스트림을 다중화시킬 수 있다. 다중화기(220)는, 예를 들어, 도 1에 도시된 통신링크(112 및 114)를 통해 공지 기술을 사용하여 상기 전송 스트림을 변조시키는 변조기(222)와, 공지 기술을 사용하여 상기 전송 스트림을 전송하거나 방송하는 송신기(224)에 멀티프로그램 비트스트림 또는 전송 스트림을 제공한다.
시스템(200)은 또한 프로그램 및 시스템 정보 프로토콜(Program and System Information Protocol, PSIP) 발생기(226)를 포함할 수 있으며, 상기 PSIP는 공지기술을 사용하여 채널 및 프로그램의 위치, 프로그램 스케쥴링(예를 들어, 프로그램 라인업 정보), 프로그램 가이드의 구성을 용이하게 하는 정보, 뿐만 아니라 각각이 고유하게 방송사에 해당하는 전송 스트림 식별자(transport stream identifier, TSID)에 관한 정보를 포함하는 계층적으로 상호연결된 표의 모음을 생성한다.
또한, 시스템(200)은 양방향 프로그램 정보를 다중화기(220)에 제공할 수 있는 데이터 발생기(228)를 포함할 수 있고, 상기 다중화기는 전송 스트림에 상기 양방향 프로그램 정보를 다중화시킨다. 예를 들어, 데이터 발생기(228)는 소비사이트(예를 들어, 도 1에 도시된 소비사이트(110))에 사용되어 프로그램 격자가이드(program grid-guide)를 생성하거나/하고 상기 소비사이트에 다른 사용자 인터페이스 기능을 제공할 수 있는 프로그램 정보를 생성할 수 있다.
도 1의 공지된 시스템(200)은 시청자 측정 데이터가 각각의 오디오/비디오 프로그램 비트스트림에 삽입될 수 있게 하는 반면에, 상기 삽입된 데이터는 각각의 부호기(214, 216, 및 218)에 의해 수행된 부호처리 또는 압축처리동안 손상되거나 손실될 수 있다. 또한, 데이터 삽입기(202, 204, 및 206)는 PSIP 발생기(226)에 의해 생성되는 정보에 관계없이 시청자 측정 데이터를 삽입하기 때문에, 프로그램 라인업에서의 변경(예를 들어, 방송국에 의해 다른 부채널로의 프로그램의 재배치, 프로그램의 삭제 등)이 데이터 삽입처리동안 고려되지 않는다. 그 결과, 소비사이트에서 추출되어진 삽입된 시청자 측정 데이터는 실제로 소비된 프로그램 또는 오디오/비디오 컨텐츠를 반영시킬 수 없다. 이 문제에 착수하기 위해, 2세트의 메타데이터(metadata)가 레이팅 정보를 생성하는데 유지되어야만 할 것이다. 특히, 한 세트의 메타데이터는 삽입된 데이터와 관련되고 또 다른 메타데이터 세트(예를 들어, 프로그램 식별을 위해 사용되는 방송국 메타데이터)는 PSIP 장치에 의해 발생된다. 또한, 레이팅 정보가 PSIP 장치에 의해 발생된 메타데이터에 대해 궁극적으로 제공될 수 있도록 2세트의 메타데이터 사이의 맵핑이 필요할 수 있다. 또한, 시스템(200)은 각 프로그램 비트스트림에 대한 각각의 데이터 삽입기를 필요로 하며, 따라서, 상기 시스템은 방송국(예를 들어, 도 1의 방송국(102))이 전송 스트림을 형성하기 위해 아주 많은 프로그램을 다중화시키는 경우이거나 신규한 채널이 전송을 위해 도입되는 경우에는 전반적으로 복잡해질 수 있다.
도 3은 압축된 오디오/비디오 컨텐츠 또는 프로그램 비트스트림에 시청자 측정 데이터를 삽입하기 위한 도 1의 디지털 방송국(102)내에 사용될 수 있는 예시적인 시스템(300)의 블록도이다. 도 3의 시스템(300)에 도시된 많은 기능블록들은 도 2와 연계하여 도시되고 설명된 블록들과 동일하거나 유사하다. 그러나, 시스템(300)은 다중화기(220)와 변조기(222) 사이에 데이터 삽입기(302)를 개입시킴으로써, 복수의 데이터 삽입기(202, 204 및 206)(도 2)에 대한 필요성을 제거한다. 상기 데이터 삽입기(202, 204 및 206)와는 대조적으로, 데이터 삽입기(302)는 압축된 도메인(domain)에서 동작한다. 특히, 데이터 삽입기(302)는 압축된 오디오/비디오 데이터, PSIP 발생기(226)에 의해 생성된 PSIP 정보 및/또는 상기 데이터 발생기(226)에 의해 발생된 다른 데이터를 포함하는 멀티프로그램 비스트스트림 또는 전송 스트림에 데이터(예를 들어, 시청자 측정 데이터 및/또는 다른 데이터)를 삽입시킨다.
하기에 더 상세히 설명되는 바와 같이, 데이터 삽입기(302)는 소정의 압축 및 전송 프로토콜을 사용하여 포맷된 데이터 패킷의 프레임을 포함하는 비트스트림상에서 동작한다. 데이터 삽입기(302)는 하나 이상의 데이터 프레임내의 소정의 데이터 영역 또는 위치를 확장시키기 위해(즉, 크기를 증가시키기 위해) 데이터 프레임내에 데이터를 일시적으로 묶거나 시간이동시키고, 상기 하나 이상의 확장된 소정의 데이터 영역 또는 위치내에 시청자 측정 데이터를 삽입시킨다. 그런 후, 삽입된 시청자 측정 데이터는 하나 이상의 소비사이트와 기준사이트에서 하나 이상의 복호기에 의해 추출될 수 있고, 소비기록, 검증정보, 프로그램 라인업 정보, 시청행위정보등을 생성하기 위해 사용될 수 있다.
데이터 삽입기(302)는 압축된 도메인에서 동작하기 때문에(즉, 압축된 데이터를 포함하는 비트스트림상에 동작하기 때문에), 삽입되는 시청자 측정 데이터는 공지의 시스템을 사용한 경우에서 처럼 (예를 들어, 도 2와 연계하여 도시되고 설명된 공지의 시스템(200)) 압축동작의 결과로 손상되거나 손실될 수 없다. 또한, 데이터 삽입기(302)는 PSIP 발생기(226)에 의해 생성된 정보에 접속하기 때문에, 상기 데이터 삽입기(302)는 항상 상기 PSIP 발생기(226)에 의해 제공된 PSIP 표가 포함된 프로그램 라인업 정보와 일치하는 시청자 측정 데이터를 삽입한다. 이런 식으로, 시스템(300)은 동일한 정보를 포함하는 2개의 메타데이터 (즉, 상기 PSIP 장치에 의해 생성된 메타데이터와 데이터 삽입처리의 결과로서 생성된 메타데이터)시스템을 유지한다. 그 결과, 시스템(300)은, 특히 방송국(102)(도 1)이 프로그램 라인업에 대해 자주 변경되는 경우에, 도 2의 공지된 시스템(200)에 의해 제공된 시청자 측정 데이터보다 더 신뢰할 수 있는 시청자 측정 데이터를 제공한다.
시스템(300)은, 예를 들어, 양방향 데이터(예를 들어, URLs(uniform resource locatos), 인터넷 프로토콜(internet protocol, IP) 데이터 등), 개인데이터 또는 사유데이터, 또는 임의의 다른 비시청자 측정 데이터와 같은 비시청자 측정 데이터를 생성하는 데이터 발생기(304)를 포함할 수 있다. 일실시예에서, 데이터 발생기(304)는 아래에 도시된 포맷을 사용하여 데이터를 생성할 수 있다:
시간 코드: XX
마이너채널(Minor Channel)/메이저채널(Major Channel): XX/YY
데이터: http://xx.xx.xxx
데이터 발생기(304)는 도 3에 도시된 데이터 삽입기(302)와는 이격될 수 있으며, 이 경우, 데이터 발생기(304)는, 예를 들어, 직렬 인터페이스, 이더넷호환가 능한 링크(Ethernet compatible link), 또는 임의의 다른 적절한 통신링크와 같은 통신링크(306)를 통해 데이터 삽입기(302)에 통신 연결될 수 있다. 대안으로, 데이터 발생기(304)는 데이터 삽입기(302)와 일체로 형성될 수 있다. 데이터 발생기(304)는 또한 조작자가 데이터 발생기(304) 및 데이터 삽입기(302)를 통해 데이터를 입력하여 삽입될 수 있게 하는 키보드, 모니터, 마우스 등을 포함할 수 있는 사용자 인터페이스(306)에 연결될 수 있다.
도 4를 참조하면, 상세 블록도는 도 3에 도시된 데이터 삽입기(302)가 실행될 수 있는 예시적인 방식을 나타내고 있다. 예시적인 데이터 삽입기(302)는 다중화기(220)(도 3)로부터 멀티프로그램 비트스트림(예를 들어, ATSC에 따른 데이터 스트림)을 수신하는 역다중화기(demultiplexer)(400)를 포함한다. 상기 역다중화기(400)는 상기 멀티프로그램 비트스트림을, 각각의 오디오/비디오 프로그램과 관련된 압축된 데이터가 들어있는 비트스트림, PSIP 정보가 들어있는 비트스트림, 상기 데이터 발생기(228)에 의해 생성된 데이터가 들어있는 비트스트림을 포함하는, 복수의 비트스트림으로 분리시킨다.
프로그램 정보 추출기(402)는 역다중화기(400)에 의해 출력된 각각의 비트스트림을 수신하고 이로부터 프로그램 정보를 추출한다. 특히, 프로그램 정보 추출기(402)는 멀티프로그램 비트스트림이 전송되었던 방송원(brodcast source)에 고유하게 해당하는(예를 들어, 도 1의 방송국(102)) 전송 스트림 식별자, 오디오/비디오 프로그램에 해당하는 각 비트스트림에 대한 메이저채널 및 마어너채널 정보, 상기 각각의 오디오/비디오 프로그램 비트스트림에 대한 데이터와 시간값, 뿐만 아니라 임의의 다른 소정의 프로그램 정보를 추출할 수 있다.
시청자 측정 데이터 발생기(404)는 프로그램 정보 추출기(402)에 의해 제공된 추출된 프로그램 정보를 사용하여 역다중화기(4000)에 의해 수신된 멀티프로그램 비트스트림내에 포함된 각각의 오디오/비디오 프로그램 비트스트림에 대한 시청자 측정 데이터를 생성한다. 시청자 측정 데이터 발생기(404)는 아래의 표 1에 나타낸 예시적인 구문(syntax)을 사용하여 시청자 측정 데이터를 생성할 수 있다.
데이터 필드 |
비트 길이 |
시청자 측정 데이터 ID |
8 |
페이로드시작색인(PayloadStartIndex) |
4 |
가입자선 회선망색인(LenIndex) |
4 |
페이로드 |
가변 |
데이터 필드의 시청자 측정 데이터 ID는 복호기에 의해 데이터를 삽입한 시청자 측정 데이터 및/또는 시청자 측정 실체(audience mesurement entity)(예를 들어, 회사)를 식별하도록 사용될 수 있는 고유 식별자를 포함한다. 이러한 고유 식별자는 식별과정을 용이하게 하도록 미리 알 수 있다. 데이터 필드의 페이로드시작색인(PayloadStartIndex)은 시청자 측정 정보가 페이로드에 저장되는 순서를 나타내는 값을 보유한다. PayloadStartIndex 값이 페이로드 데이터 구조에 해당되는 일실시예가 아래의 표 2에 나타나 있다.
페이로드시작색인(PayloadStartIndex) |
페이로드데이터시작(PayloadDataStarts With) |
0 |
전송ID [비트 15-0] |
1 |
메이저채널 [비트 15-0] |
2 |
마이너채널 [비트 15-0] |
3 |
시간 [비트 31-16] |
4 |
시간 [비트 15-0] |
데이터 필드의 가입자선 회선망색인(LenIndex)은 데이터필드의 페이로드의 길이를 나타내는 값을 보유한다. 데이터 필드의 LenIndex가 데이터 필드의 페이로드의 길이를 정의하는 일실시예가 아래의 표 3에 나타나 있다.
가입자선 회선망색인(LenIndex) |
페이로드 길이 (바이트) |
0 |
2 |
1 |
4 |
2 |
6 |
3 |
8 |
4 |
10 |
표 1 내지 표 3을 통해 나타난 위의 예시적인 데이터 필드 구문을 사용하여, PayloadStartIndex=3이고, LenIndex=3이면, 페이로드는 차례대로 아래의 표 4에 나타낸 8바이트(bytes)를 포함한다. 따라서, LenIndex 데이터 필드는 삽입된 데이터 위치 또는 위치보유자(Placeholder)에 이용될 수 있는 바이트 수의 함수로서 삽입된 시청자 측정 데이터의 길이의 변조를 가능하게 한다.
페이로드데이터 |
바이트 수 |
시간 [비트 31-16] |
2 |
시간 [비트 15-0] |
2 |
전송ID [비트 15-0] |
2 |
메이저채널 [비트 15-0] |
2 |
물론, 상기 표 1 내지 표 4는 단지 시청자 측정 데이터 발생기(404)가 시청자 측정 데이터를 생성하는 일실시예이다. 다른 데이터 타입 및 포맷도 임의의 소정의 애플리케이션용으로 시청자 측정 데이터를 형성하는데 사용될 수 있다. 예를 들어, 전송 ID는, 예를 들어, 시청자 측정 실체(예를 들어, 회사)에 의해 채널을 식별하도록 사용되는 사유 식별자(proprietary identifier)에 의해 특정한 메이저/마이너 채널번호로 대체될 수 있다. 대안으로, 전송ID는, 예를 들어, 잘 알려진 컨텐츠 식별방식인 AD-ID 또는 V-ISAN과 같은 공중 컨텐츠 식별자(public contents identifier)로 대체될 수 있다.
데이터 삽입장치(406)는 각각의 비트스트림에 시청자 측정 데이터 발생기(404)에 의해 제공된 시청자 측정 데이터를 삽입하며, 상기 비트스트림은 역다중화기(400)에 의해 제공된 각각의 오디오/비디오 프로그램에 해당한다. 더 구체적으로, 데이터 삽입장치(406)는 압축된 데이터 비트스트림내에 있는 하나 이상의 데이터 프레임의 소정 부분 또는 데이터 영역을 확장시키기 위해 상기 각각의 오디오/비디오 프로그램 비트스트림내의 압축된 데이터 패킷을 묶거나 시간이동시킨다. 이들 각각의 오디오/비디오 비트스트림과 관련한 시청자 측정 데이터가 하나 이상의 확장된 소정 부분 또는 데이터 영역에 삽입된다.
삽입하기 위한 시청자 측정 데이터를 수신하는 것 이외에도, 데이터 삽입장치(406)는 또한, 예를 들어, 데이터 발생기(304)(도 3)로부터의 삽입을 위해 비시청자 측정 데이터와 같은 다른 데이터를 수신할 수 있다. 상술한 바와 같이, 이러한 비시청자 측정 데이터는 예를 들어 URL, 애플릿(applet), 스크립트(script) 등과 같은 양방향 데이터를 포함할 수 있다. 이러한 비시청자 측정 데이터에 대한 예시적인 구문이 아래의 표 5 및 표 6에 나타나 있다.
데이터 필드 |
값/길이 |
양방향 데이터 식별자 |
0xBB H |
데이터 길이 |
XX 바이트 |
데이터 타입 |
YY |
데이터 |
ZZ |
데이터 타입 값 |
데이터 타입 설명 |
0 |
URL |
1 |
스크립트 |
2 |
애플릿 |
데이터 삽입장치(406)에 의해 삽입된 데이터를 갖는 오디오/비디오 비트스트림이, 필요하다면, 하나 이상의 이들 비트스트림과 관련된 프로그램 정보를 변경할 수 있는 프로그램 정보 변경기(modifier)(408)에 제공된다. 몇몇 경우에, 데이터 삽입장치(406)가 시청자 측정 데이터 또는 다른 데이터를 비트스트림내의 어느 곳에 삽입하는 가에 따라, 데이터가 삽입된 비트스트림과 관련된 프로그램 정보가 업데이트되어야 할 것이다. 예를 들어, 프로그램 정보가 PSIP 및/또는 PSI 표정보를 포함하는 경우에, 개인 데이터가 비트스트림에 삽입된 것을 반영하기 위해 상기 PSIP 및/또는 PSI 표정보를 변경시키는 것이 필요할 수 있다.
프로그램 정보 변경기(408)에 의해 처리된 후에, 다중화기(410)는 시청자 측정 데이터 및/또는 다른 데이터가 데이터 삽입장치(406)에 의해 삽입된 오디오/비디오 비트스트림을 포함하여 각각의 비트스트림을 수신한다. 다중화기(410)는 또한 프로그램 정보를 수신하며, 상기 프로그램 정보는 프로그램 정보 변경기(408)를 통해 변경될 수 있다. 예를 들어, 다중화기(410)는 변경된 PSIP 정보를 포함하는 비트스트림을 수신할 수 있다. 다른 비트스트림들도, 예를 들어, 다른 프로그램 또는 데이터를 포함하는 비트스트림과 같은 다중화기(410)에 의해 수신될 수 있다. 이떤 경우, 다중화기(410)는 역다중화기(400)에 의해 수신된 전송 스트림과 실질적으로 (예를 들어, 동일한 프로토콜을 따르는) 동일한 포맷을 가질 수 있는 하나의 멀티프로그램 비트스트림 또는 전송 스트림에 수신되는 복수의 비트스트림을 다중화시킨다. 그러나, 다중화기(410)에 의해 출력된 멀티프로그램 비트스트림 또는 전송 스트림은 데이터 삽입장치(406)에 의해 삽입된 데이터를 포함하고 프로그램 정보 변경기(408)에 의해 변경된 프로그램 정보를 포함할 수 있다.
도 5는 데이터 삽입장치(406)가 실행될 수 있는 예시적인 방식을 도시한 상세 블록도이다. 데이터 삽입장치(406)는 시간 이동기(time shifter)(502)로 전해지는 데이터 패킷의 특별한 타입 또는 타입들을 구문분석하거나 추출하는 구문분석기(parser)(500)를 포함할 수 있다. 일실시예에서, 데이터 삽입장치(406)가 도 1의 디지털 방송국(102)내에 실행되고, 상기 디지털 방송국(102)이 ATSC에 따른 디지털 텔레비젼 신호를 전송하도록 구성되는 경우, 구문분석기(500)는 AC-3 표준에 따른 압축된 오디오 데이터 패킷을 추출하도록 구성된다. 상기 예에서, 시간 이동기(502)는 상기 AC-3 데이터 프레임내에 스킵 바이트(skip byte)를 제거하거나 감소시키기 위해 AC-3 데이터 프레임내에 압축된 오디오 데이터 패킷을 시간이동시키도록 구성된다.
공지된 바와 같이, AC-3 표준에 따른 압축된 오디오 비트스트림은 일반적으로 하나 이상의 스킵 바이트를 갖는 프레임을 포함하고, 상기 스킵 바이트는 각각의 AC-3 프레임에 대한 고정된 프레임 크기를 유지하기 위해 부호화 공정동안 형성되며 일반적으로는 어떠한 유용한 정보도 포함하지 않는다. 또한, AC-3 데이터 프레임은 보조 데이터 필드를 포함하며, 상기 보조 데이터 필드는 압축된 오디오 데이터와는 다른 정보를 전송하고/하거나 프레임에 포함된 비트 수를 미세 동조하도록 사용될 수 있다. 그러나, 실제로, AC-3 프레임내의 보조 데이터 필드는 일반적으로, 필요하다면, 소수의 바이트를 포함한다.
전술한 바와 같이, 시간 이동기(502)는 AC-3 프레임내의 스킵 바이트의 수를 감소시키거나 제거하고, AC-3 프레임내의 오디오 데이터를 이동시켜 제거된 스킵 바이트를 차지하게 한다. 이동의 결과는 스킵 바이트에 의해 이전에 차지된 프레임 부분을 차지하도록 프레임의 일단 부근에서의 압축된 오디오 데이터의 패킹(packing)이며, 이는 효과적으로 오디오 데이터를 일시적으로 이동시킨다. 이러한 이동의 또 다른 결과는 보조 데이터 필드에 이용될 수 있는 비트 수의 증가이다.
보조 데이터 필드 삽입기(504)는 시청자 측정 데이터 발생기(404)에 의해 생성된 시청자 측정 데이터를 AC-3 프레임의 새로이 확장된 보조 데이터 필드에 삽입시킨다. 삽입된 시청자 측정 데이터는 상기 표 1 내지 표 4와 연계하여 상술한 바와 같이, 또는 임의의 다른 소정의 방식으로 포맷될 수 있다. 대안으로 또는 부가적으로, 데이터 발생기(304)(도 3)에 의해 제공된 비시청자 측정 데이터는 보조 데이터 필드 삽입기(504)에 의해 AC-3 프레임의 보조 데이터 필드 삽입될 수 있다.
시청자 측정 데이터 및/또는 다른 데이터가 AC-3 프레임의 새로이 확장된 보조 데이터 필드에 삽입된 후에, 오류검사값 발생기(506)가 각각의 AC-3 프레임에 대한 새로운 오류검사값을 생성한다. 이 예에서, 오류검사값 발생기(506)는 각 AC-3 프레임내에 나타나는 순환잉여검사(cyclic redundancy check, CRC) 값을 재계산하도록 구성된다. AC-3 프레임 보조데이터 필드에서 스킵 바이트의 제거, 압축된 오디오 데이터의 이동 및 데이터 삽입은 원래의 CRC 값을 의미없게 하기 때문에(즉, 원래의 CRC가 프레임에 포함된 데이터를 더 이상 나타내지 않기 때문에), AC-3 프레임에 대한 CRC 값의 재계산이 필요하다.
일반적으로, 실시예의 데이터 삽입기(302)(도 3)와 데이터 발생기(304)(도 3)는 본래의 하드웨어, 본래의 소프트웨어 또는 하드웨어와 소프트웨어의 임의의 소정의 조합을 사용하여 실행될 수 있다. 본래의 소프트웨어 기반의 실행인 경우, 기계판독 명령어(machine readable instructions) 또는 프로그램을 실행하는 컴퓨터 시스템 또는 다른 프로세서 시스템이 본 명세서에 설명된 장치 및 방법을 실행하는데 사용될 수 있다. 기계판독 명령어 또는 프로그램은 CD-ROM, 플로피 디스크, 하드 드라이버, 디지털 비디오 디스크(DVD), 또는 메모리와 같은 접촉식 매체(tangible medium)상에 저장된 소프트웨어로 구현될 수 있다.
도 6은 예시적인 데이터 삽입기(302)(도 3) 및/또는 예시적인 데이터 발생기(304)(도 3)를 수행하기 위해 기계판독매체상에 저장된 소프트웨어 또는 명령어를 실행하는 예시적인 프로세서 기반의 시스템(600)에 대한 블록도이다. 예시적인 프로세서 기반의 시스템(600)은, 예를 들어, 마이크로프로세서 계열의 인텔 펜티엄(Intel Pentium)® 프로세서와 같은 임의의 적절한 마이크로프로세서일 수 있는 프로세서(602)를 포함한다. 프로세서(602)는 비휘발성 메모리(604)와 휘발성 메모리(606)에 통신 연결된다. 비휘발성 메모리(604)는, 예를 들어, 이이피롬(electrically erasable and programmable read only memory, EEPROM), 롬(read only memory, ROM) 등을 사용하여 실행될 수 있다. 휘발성 메모리(606)는, 예를 들어, 정적기억장치(static random access memory, SRAM), 동적기억장치(dynamic random access memory, DRAM) 등을 사용하여 실행될 수 있다. 프로세서(602)는 또한 대기억장치(mass strorage device)(608)에 연결되며, 상기 대기억장치는, 예를 들어, 자기매체 또는 광매체를 사용하여 디지털 정보를 저장하는 디스크 드라이버를 사용하여 실행된다.
프로세서(602)는 도 3에 도시된 데이터 삽입기(302) 및/또는 데이터 발생기(304)의 기능을 수행하기 위해 메모리(604 및 606) 및/또는 대기억장치(608) 중 어느 하나에 저장된 기계판독명령어 또는 소프트웨어 프로그램을 검색하고 실행한다.
프로세서(602)는 또한 입출력(I/O) 장치(610)와 소통하고, 상기 입출력(I/O) 장치는 시스템(600)이, 예를 들어, 사용자 인터페이스(308)(도 3)와 소통할 수 있게 한다. I/O장치(610)는 네트워크 통신기능(예를 들어, 이더넷 통신기능), 전화선 통신기능(예를 들어, 모뎀기능), 주변장치 통신기능(예를 들어, 범용직렬버스통신, 병렬포트통신 등)을 수행하기 위한 회로를 포함할 수 있어, 상기 시스템(600)이, 예를 들어, 마우스, 키보드 등과 같은 하나 이상의 입력장치 및/또는, 예를 들어, 비디오 디스플레이, 프린터 등과 같은 하나 이상의 출력장치와 통신할 수 있게 한다.
도 7은 도 6에 도시된 프로세서 시스템(600)이 도 3에 도시된 데이터 삽입기(302)의 기능을 실행하도록 구성될 수 있는 예시적인 방식의 흐름도이다. 초기에, 다중화기(220)(도 3)로부터 수신된 멀티프로그램 비트스트림 또는 전송 스트림이 구성 비트스트림(constituent bitsream)에 역다중화된다(블록 700). 특히, 전송 스트림은 복수의 오디오/비디오 프로그램 비트스트림, PSIP 정보를 포함하는 비트스트림, 뿐만 아니라 다른 데이터 및/또는 프로그램 정보를 포함하는 다른 비트스트림으로 분리될 수 있다. 그런 후, 예를 들어, 전송 스트림 식별자, 메이저채널번호 및 마이너채널번호, 데이터 및 시간 값 등과 같은 프로그램 정보가 상기 구성 비트스트림으로부터 추출된다(블록 702). 그리고 나서, 상기 추출된 프로그램 정보는 시청자 측정 데이터를 생성하는데 사용되고(블록 704), 상기 시청자 측정 데이터는 상기 오디오/비디오 비트스트림내의 소정 부분 또는 데이터 필드에 순차적으로 삽입된다(블록 706). 그런 후, 프로그램 정보는, 필요하다면, 변경될 수 있으며(블록 708), 일부가 시청자 측정 데이터의 삽입 및/또는 프로그램 정보의 변형을 통해 변경된 상기 구성 비트스트림이 하나의 전송 스트림을 형성하기 위해 다중화된다(블록 710).
도 8은 도 7의 데이터 삽입블록(706)이 실행될 수 있는 예시적인 방식의 상세 흐름도이다. 특히, 오디오/비디오 비트스트림은 데이터가 삽입되어지는 소정의 데이터 패킷을 추출하기 위해 구문분석된다. 일실시예에서, 상술한 바와 같이, AC-3 표준에 따른 오디오 데이터 패킷이 추출된다. AC-3 데이터 프레임내의 오디오 데이터는 프레임내의 스킵 바이트를 제거하기 위해 시간이동되며(블록 802), 이에 의해 하나 이상의 데이터 프레임내의 보조 데이터 필드에 이용가능한 비트 수를 증가시킨다. 그런 후, 시청자 측정 데이터 뿐만 아니라 다른 데이터도 새로이 확장된 보조 데이터 필드에 삽입될 수 있다(블록 804). 그리고 나서, 각각의 AC-3 프레임에 대한 CRC가 재계산된다(블록 806).
도 9는 도 1에 도시된 시스템(100)이 도 3의 데이터 삽입기(302)에 의해 삽입된 데이터를 사용하여 시청행위정보 및 레이팅 정보를 생성할 수 있는 예시적인 방법의 흐름도이다. 초기에, 디지털 방송국(102)(도 1)은, 예를 들어, 본 명세서에 설명된 데이터 삽입장치 및 방법을 사용하여 방송 전송 스트림에 시청자 측정 데이터를 삽입시킨다(블록 900). 기준사이트 프로세서(122)와 함께(도 1) 하나 이상의 복호기(116, 118 및 120)(도 1)가 전송된 비트스트림내의 알려진 위치로부터 시청자 측정 데이터를 추출한다(블록 902). 예를 들어, 데이터가 AC-3에 따른 압축된 오디오 비트스트림내에 삽입되는 경우, 상기 알려진 위치는 상술한 바와 같은 AC-3 프레임의 보조데이터 필드일 수 있다. 기준사이트 프로세서(122)(도 1)는 상기 추출된 시청자 측정 데이터를 사용하여 프로그램 라인업을 생성한다(블록 904). 특히, 기준사이트(108)(도 1)는 다수의 복호기(116, 118 및 120)를 사용하여 다수의 오디오/비디오 비트스트림을 동시에 수신하고 처리하기 때문에, 상기 기준사이트 프로세서(122)(도 1)도, 상기 삽입된 시청자 측정 데이터를 사용하여, 소비용도로 이용될 수 있는 복수의 방송프로그램을 동시에 검출하고 식별할 수 있다. 그런 후, 상기 기준사이트 프로세서(122)(도 1)는 상기 생성된 프로그램 라인업정보를 수집사이트(블록 906)로 전송시킬 수 있으며, 상기 수집사이트는 이 경우 중앙처리시설(124)이다(도 1).
소비사이트(110)(도 1)에서, 사이트유닛(132)은 상기 삽입된 시청자 측정 데이터를 신호(136)로부터 추출하도록 구성되고(블록 908), 상기 신호(136)는 일실시예에서 AC-3 표준에 따른 압축된 오디오 데이터를 포함하는 S/PDIF 신호이다. 이 경우, 상기 삽입된 시청자 측정 데이터는 AC-3 데이터 프레임의 보조 데이터 필드에 위치되며, 사이트유닛(132)(도 1)은 보조 데이터 필드를 식별하고 이로부터 정보를 추출하도록 구성된다. 사이트유닛(132)(도 1)은 또한 상기 사이트유닛(132)(도 1)이 인구통계정보를 생성할 수 있게 하는 피플미터(people meter) 및/또는 다른 장치에 연결된다(블록 910). 예를 들어, 사이트유닛(132)(도 1)은 출력장치(128)를 통해 오디오/비디오 프로그램을 현재 소비하고 있는 사람 또는 사람들의 신원을 검출하도록 구성될 수 있다. 어떤 경우, 사이트유닛(132)(도 1)은 시청행위정보(예를 들어, 시청자 측정 데이터, 인구통계정보 등)를 수집사이트(즉, 중앙처리시설(124)(도 1))로 전송한다(블록 912).
그런 후, 수집사이트 또는 중앙처리시설(124)(도 1)은 소비사이트(110)(도 1)로부터 수신된 시청행위정보와 기준사이트(108)(도 1)로부터 수신된 프로그램 라인업 정보를 비교한다(블록 914). 시청행위정보를 프로그램 라인업 정보 부분에 매칭시킴으로써, 수집사이트 또는 중앙처리시설(124)(도 1)은 오디오/비디오 프로그램이 소비사이트(110)(도 1) 및/또는 다른 소비사이트(미도시)에서 소비된 시간과 방식, 및 누가 이들 오디오/비디오 프로그램을 소비했는지를 측정할 수 있다. 그런 후, 블록(914)에서 생성된 매칭 정보는 중앙처리시설(124)(도 1)에 의해 레이팅 정보를 생성하도록 사용될 수 있다(블록 916).
데이터 발생기(304)(도 3)가 비시청자 측정 데이터(예를 들어, 양방향 데이터)를 데이터 삽입기(302)(도 3)에 제공한 경우에, 복호기(130)(도 3) 및/또는 사이트유닛(132)(도 3)이 상기 비시청자 측정 데이터를 AC-3 프레임의 보조 데이터 필드로부터 추출하고 처리할 수 있다. 예를 들어, 사이트유닛(132)(도 1)은 URL 및/또는 다른 양방향 데이터의 활성화를 가능하게 하는 웹서버(미도시)를 포함하거나 연결될 수 있다. 몇몇 경우에, 하나 이상의 무선통신링크를 통해 비시청자 측정 데이터가, 예를 들어, 휴대전화, 개인휴대정보 단말기 및/또는 컴퓨터와 같은 휴대장치에 적절하게 트랜스코딩(transcoding)되거나 전송될 수 있다.
다중화기(220) 및 변조기(222) 사이에 직렬로 개입된 예시적인 데이터 삽입기(302)(도 3)가 도 3에 나타나있으나, 다른 구성도 상술한 구성과 동일하거나 유사한 결과를 달성하기 위해 대신 사용될 수 있다. 도 10은 데이터 삽입기(1000)가 압축된 오디오/비디오 컨텐츠 또는 프로그램 비트스트림에 시청자 측정 데이터를 삽입하도록 구성될 수 있는 또 다른 방식의 블록도이다. 도 10에 나타난 바와 같이, 데이터 삽입기(1000)는 PSIP 발생기(226), 하나 이상의 부호기(208, 210 및 212), 및 다중화기(220)에 통신 연결된다. 이 구성에서, 데이터 삽입기(1000)는 역다중화기(예를 들어, 도 4의 역다중화기(400)) 또는 역다중화기(예를 들어, 도 4의 다중화기(410))를 필요로 하지 않는다. 또 다른 구성도 가능하다. 예를 들어, 데이터 삽입기(1000)가 PSIP 발생기(226) 및/또는 하나 이상의 부호기(208-212)와 일체로 형성될 수 있다.
본 명세서에 설명된 데이터 삽입장치 및 방법이 특정 실시예를 참조로 설명되었으나, 상기 장치 및 방법은 동일하거나 유사한 결과를 달성하기 위해 여러방식으로 실행될 수 있다. 더 구체적으로, 예시적인 방법 및 장치는 데이터가 삽입될 수 있는 AC-3 프레임 보조 데이터 필드용으로 이용될 수 있는 비트 수를 확장시키기 위해 AC-C에 따른 데이터 프레임내에 압축된 오디오 데이터를 시간이동시킬 수 있으나, 다른 삽입기술도 대신 사용될 수 있다. 예를 들어, 시청자 측정 데이터 및/또는 다른 데이터도, 예를 들어, ATSC 개인 설명어(private descriptor), PSI표에서 MPEG-2 메타데이터 설명어 및/또는 MPEG-2 개인 설명어(예를 들어, 프로그램 맵 표(program map talbe, PMT) 부분에 있는 프로그램 루프)와 같은 개인 설명어에 삽입될 수 있다. 대안으로 또는 부가적으로, 시청자 측정 데이터 및/또는 다른 데이터는 동일하거나 유사한 결과를 달성하기 위해 EIT(Event Information Table), A-90 데이터 패킷 및/또는 널(null) 또는 패딩 패킷(paddding packets)에 삽입될 수 있다.
소정의 방법, 장치 및 제조물품이 본 명세서에서 설명되었으나, 본 발명의 보호범위는 이에 국한되지 않는다. 이와는 반대로, 본 발명은 문헌적으로나 균등물의 견해내의 특허청구범위내에 있는 장치, 방법 및 제조물품을 포함하는 모든 실시예를 포함한다.