카테고리 없음

PID 맵핑에 의한 매크로-블록 기반 컨텐츠 교체(MACRO-BLOCK BASED CONTENT REPLACEMENT BY PID MAPPING)

좌절하지말자 2018. 3. 2. 11:23

(19) 대한민국특허청(KR)
(12) 등록특허공보(B1)
(45) 공고일자 2011년11월29일
(11) 등록번호 10-1087273
(24) 등록일자 2011년11월21일
(51) Int. Cl.

H04N 7/24 (2011.01)
(21) 출원번호 10-2006-7009008
(22) 출원일자(국제출원일자) 2004년09월30일
심사청구일자 2009년09월29일
(85) 번역문제출일자 2006년05월09일
(65) 공개번호 10-2006-0123137
(43) 공개일자 2006년12월01일
(86) 국제출원번호 PCT/US2004/032252
(87) 국제공개번호 WO 2005/053301
국제공개일자 2005년06월09일
(30) 우선권주장
10/822,891 2004년04월13일 미국(US)
60/519,472 2003년11월12일 미국(US)
(56) 선행기술조사문헌
WO2003090401 A1
(73) 특허권자
소니 일렉트로닉스 인코포레이티드
미국, 뉴저지 07656, 파크 리지, 원 소니 드라이

(72) 발명자
캔델로어, 브랜트, 엘.
미국 캘리포니아 92029-6502, 에스콘디도, 퀘일
글렌 웨이, 10124
페들로우, 레오, 엠., 2세
미국 캘리포니아 92065, 라모나, 가잔 레인,
17193
가렛, 존
미국 캘리포니아 92078, 샌 마르코스, 윈드미어
드라이브 1612
(74) 대리인
문경진
전체 청구항 수 : 총 27 항 심사관 : 남옥우
(54) PID 맵핑에 의한 매크로-블록 기반 컨텐츠 교체
(57) 요 약
본 발명의 특정 실시예에 따른, 컨텐츠 대체에 대한 방법 및 장치는 하나 이상의 컨텐츠의 매크로블록을 나타내
는 데이터를 수신하는 단계를 포함하며, 상기 데이터는 제 1 및 제 2 컨텐츠 부분과 연관된 적어도 제 1 및 제 2
패킷 식별자(PID)를 가진다. 제 1 PID를 가지는 컨텐츠는 데이터 스트림에 배치된다. PID 맵핑 작동의 시작을 가
리키는 시작 플래그가 수신된다. 제 2 PID를 가지는 컨텐츠의 대체 매크로블록은 이후 제 1 PID로 맵핑되고 맵핑
된 컨텐츠는 데이터 스트림으로 배치된다. PID 맵핑 작동의 종료를 가리키는 종료 플래그가 수신되는데, 이 시점
에서, 프로세스는 제 1 PID를 가지는 컨텐츠를 데이터 스트림에 배치하는 단계로 되돌아 간다. 컨텐츠 대체 프로
세스는 광고를 교체하고, 복수의 플롯, 복수의 엔딩, 복수의 장면뿐만 아니라 다른 애플리케이션을 제공하는데
사용될 수 있다. 본 요약서는 제한하는 것으로 고려되어서는 안되는데, 그 이유는 다른 실시예가 본 요약서에 설
명된 것보다 많거나 적거나 다른 요소와 결합될 수 있기 때문이다.
대 표 도 - 도1
등록특허 10-1087273
- 1 -
특허청구의 범위
청구항 1
컨텐츠 대체의 방법으로서,
비디오 컨텐츠를 나타내는 데이터를 수신하는 단계로서, 상기 데이터는 복수의 패킷 식별자(PID)를 갖고, 제 1
PID는 원래의 컨텐츠의 스트림과 연관되고, 상기 원래의 컨텐츠는 컨텐츠의 프레임으로 이루어지고, 각 프레임
은 복수의 원래의 매크로블록으로 이루어지고, 제 2 PID는 대체 컨텐츠와 연관되고, 상기 대체 컨텐츠는 컨텐츠
의 하나 이상의 대체 매크로블록을 포함하지만, 매크로블록의 전체 프레임보다 적은 프레임을 구성하는, 데이터
를 수신하는 단계;
제 1 PID를 가지는 원래의 컨텐츠의 처리를 시작하는 단계;
원래 컨텐츠의 하나 이상의 프레임 내의 하나 이상의 매크로블록을 대체 컨텐츠의 하나 이상의 매크로블록으로
대체하기 위한 대체 표준이 충족된 것을 결정하는 단계로서, 상기 대체는 원래의 컨텐츠의 완전한 프레임 내의
모든 원래의 매크로블록보다 적은 매크로블록의 대체를 통해, 원래의 컨텐츠의 하나 이상의 프레임을 변경하는,
대체 표준이 충족된 것을 결정하는 단계;
변경된 컨텐츠를 생성하기 위하여, 제 1 PID를 가지는 원래의 컨텐츠의 하나 이상의 매크로블록을 제 2 PID를
가지는 대체 컨텐츠의 하나 이상의 매크로블록으로 대체하는 단계로서, 제어기를 우회 모드로부터 원래의 매크
로블록에 대해 대체 매크로블록의 대체를 행하는 모드로 선택적으로 전환함으로써 상기 대체가 이루어지는, 대
체 단계; 및
변경된 컨텐츠를 처리하는 단계
를 포함하는, 컨텐츠 대체의 방법.
청구항 2
제 1항에 있어서, 상기 제어기는 텔레비전 셋톱 박스의 일부를 형성하는, 컨텐츠 대체의 방법.
청구항 3
제 1항에 있어서, 하드웨어 상태 기계에서 수행되는, 컨텐츠 대체의 방법.
청구항 4
제 1항에 있어서, 프로그래밍된 프로세서에서 수행되는, 컨텐츠 대체의 방법.
청구항 5
제 1항에 있어서, 상기 대체 표준은 플래그의 수신의 결과로서 충족되는, 컨텐츠 대체의 방법.
청구항 6
제 1항에 있어서, 상기 대체 표준은 운영자 입력의 결과로서 충족되는, 컨텐츠 대체의 방법.
청구항 7
제 1항에 있어서, 상기 처리하는 단계는 변경된 컨텐츠를 재생하는 단계를 포함하는, 컨텐츠 대체의 방법.
청구항 8
제 1항에 있어서, 상기 대체하는 단계는 제 2 PID를 가지는 대체 컨텐츠의 하나 이상의 매크로블록을 선택하기
위해 개인 시그널링을 사용하는 단계 및 제 1 PID를 가지는 원래 컨텐츠의 하나 이상의 매크로블록을 버리는 단
계를 포함하는, 컨텐츠 대체의 방법.
청구항 9
제 1항에 있어서, 상기 대체 단계는 제 2 PID 상의 대체 컨텐츠의 하나 이상의 매크로블록을 선택하면서 제 1
PID를 가진 원래 컨텐츠의 하나 이상의 매크로블록을 수신하기 위해 개인 시그널링을 사용하는 단계를
등록특허 10-1087273
- 2 -
포함하는, 컨텐츠 대체의 방법.
청구항 10
제 1항에 있어서, 상기 대체 단계는 데이터 스트림에서 패킷의 적응층의 일부를 형성하는 개인 시그널링에 의해
개시되고 종료되는, 컨텐츠 대체의 방법.
청구항 11
제 10항에 있어서, 상기 적응층은 제 2 PID를 가진 패킷에 있는, 컨텐츠 대체의 방법.
청구항 12
제 10항에 있어서, 상기 적응층은 제 1 PID를 가진 패킷에 있는, 컨텐츠 대체의 방법.
청구항 13
제 10항에 있어서, 상기 적응층은 제 2 PID도 제 1 PID도 아닌 패킷에 있는, 컨텐츠 대체의 방법.
청구항 14
프로그래밍된 프로세서 상에서 실행될 때, 청구항 제 1항에 따른 컨텐츠 대체 방법을 수행하는 명령어를 저장하
는 컴퓨터 판독가능한 영구(non-transitory) 저장 매체.
청구항 15
컨텐츠 대체의 방법으로서,
컨텐츠를 나타내는 데이터를 수신하는 단계로서, 상기 데이터는 복수의 패킷 식별자(PID)를 갖고, 제 1 PID는
원래의 컨텐츠의 스트림과 연관되고, 상기 원래의 컨텐츠는 컨텐츠의 프레임으로 이루어지고, 각 프레임은 복수
의 원래의 매크로블록으로 이루어지고, 제 2 PID는 대체 컨텐츠와 연관되고, 상기 대체 컨텐츠는 컨텐츠의 하나
이상의 대체 매크로블록을 포함하지만, 매크로블록의 전체 프레임보다 적은 프레임을 구성하는, 데이터를 수신
하는 단계;
제 1 PID를 가지는 원래의 컨텐츠를 데이터 스트림에 배치하는 단계;
PID 맵핑 작동의 개시를 가리키는 개시 플래그를 수신하는 단계;
원래의 컨텐츠의 완전한 프레임 내의 모든 원래의 매크로블록보다 적은 매크로블록의 대체를 통해, 원래의 컨텐
츠의 하나 이상의 프레임을 변경하도록, PID 맵퍼에서, 제 2 PID를 가지는 컨텐츠를 제 1 PID로 맵핑하고 상기
맵핑된 컨텐츠를 데이터 스트림에 배치하는, 맵핑 및 배치 단계;
상기 개시 플래그에 응답하여, 제어기를 우회 모드로부터 원래의 매크로블록에 대해 대체 매크로블록의 대체를
행하는 모드로 선택적으로 전환하는 단계;
상기 PID 맵핑 작동의 종료를 가리키는 종료 플래그를 수신하는 단계;
상기 종료 플래그에 응답하여, 제어기를 다시 우회 모드로 선택적으로 전환하는 단계; 및
제 1 PID를 가지는 컨텐츠를 데이터 스트림에 계속해서 배치하는 단계
를 포함하는, 컨텐츠 대체의 방법.
청구항 16
제 15항에 있어서, 상기 제어기는 텔레비전 셋톱 박스의 일부를 형성하는, 컨텐츠 대체의 방법.
청구항 17
제 15항에 있어서, 하드웨어 상태 기기에서 수행되는, 컨텐츠 대체의 방법.
청구항 18
제 15항에 있어서, 프로그래밍된 프로세서에서 수행되는, 컨텐츠 대체의 방법.
등록특허 10-1087273
- 3 -
청구항 19
제 15항에 있어서, 상기 개시 플래그는 대체 기준이 충족되는 것을 나타내는, 컨텐츠 대체의 방법.
청구항 20
제 19항에 있어서, 상기 대체 기준은 운영자 입력의 결과로서 충족되는, 컨텐츠 대체의 방법.
청구항 21
제 15항에 있어서, 제 2 PID를 가진 컨텐츠의 매크로블록을 선택하고, 제 1 PID를 가진 컨텐츠의 매크로블록을
버리기 위해, 개인 시그널링이 사용되는, 컨텐츠 대체의 방법.
청구항 22
제 15항에 있어서, 대체는 데이터 스트림 내의 패킷의 적응층의 일부를 형성하는 개인 시그널링에 의해 개시되
고 종료되는, 컨텐츠 대체의 방법.
청구항 23
제 22항에 있어서, 상기 적응층은 제 1 PID와 제 2 PID 중 하나를 가진 패킷에 있는, 컨텐츠 대체의 방법.
청구항 24
제 22항에 있어서, 상기 적응층은 제 2 PID도 제 1 PID도 구비하지 않는 패킷에 있는, 컨텐츠 대체의 방법.
청구항 25
프로그래밍된 프로세서 상에서 실행될 때, 청구항 제 15항에 따른 컨텐츠 대체 방법을 수행하는 명령어를 저장
하는, 컴퓨터 판독가능한 영구 저장 매체.
청구항 26
삭제
청구항 27
삭제
청구항 28
디코더로서,
컨텐츠를 나타내는 데이터를 수신하는 수신기로서, 상기 데이터는 복수의 패킷 식별자(PID)를 갖고, 제 1 PID는
원래의 컨텐츠의 스트림과 연관되고, 상기 원래의 컨텐츠는 컨텐츠의 프레임으로 이루어지고, 각 프레임은 복수
의 원래의 매크로블록으로 이루어지고, 제 2 PID는 대체 컨텐츠와 연관되고, 상기 대체 컨텐츠는 컨텐츠의 하나
이상의 대체 매크로블록을 포함하지만, 매크로블록의 전체 프레임보다 적은 프레임을 구성하는, 데이터를 수신
하는 수신기;
제 1 PID를 가지는 컨텐츠를 재생하기 위해 구성된 컨텐츠 디코더;
원래 컨텐츠의 하나 이상의 매크로블록을 대체 컨텐츠의 하나 이상의 매크로블록으로 대체하기 위한 대체 표준
이 충족되었음을 결정하고, 상기 디코더를 우회 모드로부터 대체 매크로블록의 원래의 매크로블록으로의 대체를
행하는 모드로 전환하는 제어기로서, 상기 대체 매크로블록의 원래 매크로블록으로의 대체는 원래의 컨텐츠의
완전한 프레임 내의 모든 원래의 매크로블록보다 적은 매크로블록의 대체를 통해, 원래의 컨텐츠의 하나 이상의
프레임을 변경하는, 제어기; 및
원래 제 2 PID를 가지는 컨텐츠가 재생되도록 제 2 PID를 가지는 컨텐츠를 제 1 PID로 맵핑하는 PID 맵퍼
를 포함하는, 디코더.
청구항 29
등록특허 10-1087273
- 4 -
제 28항에 있어서, 상기 디코더는 텔레비전 셋톱 박스 내에 있는, 디코더.
명 세 서
기 술 분 야
본 출원은 2003년 11월 12일 출원된, 미국 특허 가출원 번호 제 60/519,472의 우선권 이익을 주장하며, 2002년[0001]
12월 13일 출원된, 출원 번호 제 10/319,066의 부분 계속 출원(continuation-in-part)이며, 이것은 미국 특허
가출원 번호 제 60/409,675의 우선권 이익과 2002년 4월 16일 출원된, 미국 특허 가출원 번호 제 60/372,870의
우선권 이익을 주장하며; 이것은 특허 출원: 출원 번호 제 10/038,217, 출원 번호 제 10/038,032, 출원 번호 제
10/037,914, 출원 번호 제 10/037,499, 출원 번호 제 10/037,498의 부분 계속 출원이며, 이들은 모두 2002년 1
월 2일에 출원되었다. 상기 출원 각각은 본 명세서에 참조로 병합된다.
배 경 기 술
본 출원은 또한 2003년 9월 22일 출원된 미국 특허 출원 번호 제 10/667,614; 2002년 10월 18일 출원된 출원 번[0002]
호 제 10/273,905; 2002년 10월 18일 출원된 출원 번호 제 10/273,093; 2002년 10월 18일 출원된, 출원 번호
제 10/274,084; 2002년 10월 18일 출원된, 출원 번호 제 10/274,019와 관련되며, 이들 각각은 본 명세서에 참
조로 병합된다.
본 특허 문서의 개시의 일부는 저작권 보호에 관한 내용을 포함한다. 저작권자는 특허 상표 청의 특허 파일 또[0003]
는 기록에 나타나는 대로의, 특허 문서 또는 특허 개시의 팩스 사본에 대해서는 이의를 가지지 않지만, 그 밖의
경우에는 모든 저작권을 보유한다.
발명의 상세한 설명
MPEG 비디오와 같은, 종래의 디지털 비디오 컨텐츠는 서비스 제공자 또는 사용자가 대안적인 컨텐츠를 선택함으[0004]
로써 시청 경험을 변화시킬 수 있는 기회가 없이 단일 프로그램, 영화 또는 다른 컨텐츠의 형태를 취할 수
있다. 대화형(interactive) 컨텐츠를 제공하기 위한 다양한 메커니즘이 제안되었지만, 대개 이러한 제안은 구현
에 많은 비용이 들고, 많은 양의 대역폭을 차지할 수 있으며, 서버 및/또는 다른 지원 장비를 포함해 고가의 특
화된 장비를 필요로 할 수 있다. 그러므로, 비디오 컨텐츠의 최종 시청자가 시청하는 것에 맞추어 컨텐츠의 조
작을 허용하는 "대화형" 애플리케이션에 대한 요구가 존재하나, 어떠한 상업적으로 가능한 시스템도 시장에 아
직 출현하지 않았다.
새로운 것으로 여겨지는 본 발명의 특성은 첨부된 청구항에 상세히 규정되었다. 본 발명 자체는 그러나, 그 목[0005]
적 및 이점과 함께 구성 및 작동 방법 모두에 관하여, 첨부된 도면을 참조로 하여, 본 발명의 특정 예시적인 실
시예를 설명하는, 본 발명의 다음의 상세한 설명을 참조로 가장 잘 이해될 수 있다.
실 시 예
본 발명이 많은 다른 형태의 실시예가 가능하나, 본 출원의 개시가 본 발명의 원리의 일례로서 간주되어야[0020]
하며, 도시되고 설명된 특정 실시예에 본 발명을 제한하는 것으로 의도되어서는 안 된다는 것에 대한 이해를 바
탕으로, 특정 실시예들이 도면에 도시되고 상세하게 설명될 것이다. 이하 설명에서, 유사 참조 번호는 몇 개의
도면에서 동일, 유사하거나 대응하는 부분을 설명하는데 사용된다.
"스크램블" 및 "암호화"라는 용어 및 그 변형어는 본 명세서에서 동의어로 사용된다. "비디오"라는 용어는 본[0021]
명세서에서 실제의 시각적 정보 뿐만 아니라, 비디오 신호와 관련 오디오 및 데이터를 포함하기 위한 대화상 의
미(예, "비디오 테이프 레코더")도 포함하여 쓰일 수 있다. 본 문서는 일반적으로 "이중 선택적 암호화" 실시예
의 예를 사용하지만, 당업자는 본 발명이 본 발명에서 벗어나지 않고 다수 부분적 암호화를 실현하는데 사용될
수 있다는 것을 인식할 것이다. "부분적 암호화"와 "선택적 암호화"라는 용어는 본 명세서에서 동의어로 사용된
다. 또한, "프로그램"과 "텔레비전 프로그램"이라는 용어 및 유사한 용어는 이 용어가 텔레비전 세트 또는 유사
한 모니터 디바이스 상에 디스플레이될 수 있는 A/V 컨텐츠의 임의의 세그먼트를 의미하는 의미뿐만 아니라, 일
반적인 대화상의 의미로 해석될 수 있다. 본 명세서에서 사용된 "레거시"라는 용어는 기존 케이블 및 위성 시스
템에 사용된 기존 기술을 말한다. 본 명세서에 개시된 예시적인 실시예들은 텔레비전 셋톱 박스(STB)에 의해 디
코딩되지만, 이러한 기술은 분리된 엔클로저(enclosure) 자체에 장착되었는지 또는 기록 및/또는 재생 장치 또
는 조건부 액세스(CA) 암호 해독 모듈과 연관하여 장착되었는지를 막론한 모든 유형의 텔레비전 수신기 내에 또
등록특허 10-1087273
- 5 -
는 텔레비전 세트 자체 내에 결합될 것이라는 것이 추측된다. 본 명세서는 일반적으로 "이중 부분적 암호화"의
예를 이용하지만, 당업자는 본 발명을 이탈하지 않고 다수 부분적 암호화를 본 발명이 실현하는데 이용될 수 있
다는 것을 인식할 것이다. 본 명세서에서 사용된 "패키지 매체"라는 용어 및 이와 유사한 용어는, 디지털 비디
오 디스크(DVD), 컴팩트 디스크(CD) 또는 다른 자기, 광학 또는 전자 기억장치 매체를 포함하는 패키지로서 일
반적으로 상품화되고 전자적으로 다운로딩가능한 데이터 스트림과 대조적으로, 소매 상품으로 판매된 다른 기
록된 매체와 같은, 기록 매체를 포함하는 것으로 의도된다. "매크로블록"이라는 용어는 비디오 화상을 만들기
위해 사용된 하나 이상의 블록의 집합으로 형성된 객체를 의미하는 것으로 쓰인다. 이 용어는 AVC(Advanced
Video Coding)뿐만 아니라 다양한 MPEG(Moving Pictures Expert Group) 비디오 표준에서 용어의 사용에 따르지
만, 이에 제한되지 않는다.
앞서 참조된 공동으로 소유된 특허 출원은 부분적 암호화 또는 선택적 암호화로 본 명세서에서 일반적으로 언[0022]
급된 방법의 다양한 양상과 관련된 발명을 설명한다. 더 구체적으로, 특정 디지털 컨텐츠 물의 선택된 부분이 2
가지(또는 그 이상의) 암호화 기술을 사용하여 암호화되는 반면 컨텐츠의 다른 부분은 암호화되지 않는 시스템
에 설명된다. 암호화된 부분은 복수의 패킷 식별자를 사용하여 서로서로 식별되고 구별된다. 암호화될 부분을
적절히 선택함으로써, 컨텐츠는 전체 컨텐츠 물의 암호화에 대한 필요성이 없이 복수의 암호 해독 시스템 하에
서 사용을 위해 효과적으로 암호화될 수 있다. 일부 실시예에서, 데이터 오버헤드의 적은 비율만이 복수의 암호
화 시스템을 사용하여 컨텐츠를 효과적으로 암호화하는데 필요하다. 이로 인해 케이블 또는 위성 시스템은 단일
시스템 내의 복수의 제조사로부터의 셋톱 박스 또는 조건부 액세스(CA) 수신기의 다른 구현예를 이용할 수 있게
하며 따라서 케이블 또는 위성 회사가 경쟁력 있는 셋톱 박스의 공급업자를 자유롭게 선택할 수 있게 한다.
상기 특허 출원에서 설명된 부분적 암호화 프로세스는 임의의 적절한 암호화 방법을 이용한다. 그러나, 이들 암[0023]
호화 기술은 앞서 참조된 특허 출원에서 설명된 기술을 사용하여, 전체 데이터 스트림을 암호화하기 보다는, 데
이터 스트림에 선택적으로 응용된다. 일반적으로, 그러나 제한하는 것으로 의도됨 없이, 선택적 암호화 프로세
스는 전체 프로그램이 이중 암호화를 수행할 필요가 없도록 암호화할 정보의 지능적인 선택을 이용한다. 암호화
를 위한 데이터의 적절한 선택을 통해, 프로그램 내용은 효과적으로 스크램블링되고 시스템을 해킹하여 비용을
지불하지 않고 불법적으로 상업적 컨텐츠를 복구시키려는 사람들로부터 숨겨질 수 있다. 오디오 및 비디오 데이
터를 나타내는데 사용된 MPEG(또는 유사한 포맷) 데이터도 역시 프레임 단위로 정보의 리던던시에 대한 높은 의
존성을 이용하여 이를 행할 수 있다. 특정 데이터는 크로미넌스와 루미넌스 데이터를 나타내는 "앵커" 데이터로
서 전송될 수 있다. 이 데이터는 이후 종종 블록의 움직임을 설명하는 움직임 벡터를 전송함으로써 후속 프레임
을 생성하기 위해 단순히 스크린에서 이동된다. 크로미넌스와 루미넌스 데이터 상의 변경은 또한 절대 앵커 데
이터의 재코딩보다는 변경으로 인코딩된다. 따라서, 예컨대, 이 앵커 데이터 또는 다른 키 데이터의 암호화는
비디오를 효과적으로 시청 불가능하게 할 수 있다.
상기 발명에 따른 특정 실시예에 따라, 암호화될 선택된 비디오 데이터는 임의의 개별적인 것이거나 다음의 결[0024]
합물일 수 있다(상기 출원에서 더욱 자세히 설명됨): 비디오 프레임의 활성 영역 내에 나타난 비디오 슬라이스
헤더, 비디오 프레임의 활성 영역을 나타내는 데이터, 비디오 프레임 내의 별 모양의 데이터, 장면 변화를 나타
내는 데이터, I 프레임 패킷, I 프레임을 후속하는 제 1 P 프레임 내의 움직임 벡터를 포함하는 패킷,
intra_slice_flag 지시기 세트를 가지는 패킷, intra_slice 지시기 세트를 가지는 패킷, intra_coded 매크로블
록을 포함하는 슬라이스를 위한 데이터, 비디오 슬라이스 헤더에 후속하는 제 1 매크로블록으로부터의 데이터,
비디오 슬라이스 헤더, 앵커 데이터, 및 순차적으로 리프레시된 비디오 데이터를 위한 P 프레임 데이터를 포함
하는 패킷, 비디오 프레임 상의 수직 및/또는 수평 해자(moat) 패턴으로 배열된 데이터, 및 비디오 및/또는 오
디오를 이용하기 어렵게 하는 임의의 다른 선택된 데이터. 이러한 기술뿐만 아니라 여러 다른 기술들이 앞서 참
조된 특허 출원에서 개시되며, 이들 중 임의의 것(또는 다른 기술)은 오직 컨텐츠의 일부만을 암호화하기 위해
본 발명과 함께 이용될 수 있다.
상기 발명에 따라 복수의 암호화 알고리즘을 사용하여 암호화된 두 가지 이상의 디지털 텔레비전 신호 간의 구[0025]
별을 위해, 복수의 패킷 식별자(PID)가 이용된다. 일반적으로 패킷 식별자의 단일 세트는 특정 텔레비전 프로그
램을 식별하기 위해 이용된다. 텔레비전 신호가 앞서 참조된 출원에서 설명된 복수의 선택적 암호화 배열 하에
암호화될 때, 명료한 컨텐츠는 제 1 세트의 PID에 배정되며, 각 세트의 암호화된 컨텐츠는 다른 세트의 PID에
배정된다(암호화된 컨텐츠 중 한 세트는 특정 실시예에서 비암호화된 컨텐츠와 동일한 PID를 공유할 수 있다).
수신하는 STB는 이후 모든 적절한 컨텐츠를 재생을 위해 단일 PID로 재맵핑한다. 이 프로세스는 상기 특허 출원
에 자세히 설명되어 있다.
본 발명에 따른 특정 실시예는 컨텐츠 대체를 제공하기 위한 메커니즘으로서 컨텐츠의 대체가능한 매크로블록과[0026]
등록특허 10-1087273
- 6 -
연관된 복수의 PID를 이용한다. 컨텐츠 대체는 임의의 수의 방법으로 향상된 수준의 맞춤형 텔레비전 프로그램
을 제공한다. 예컨대, 컨텐츠 대체는 한 광고를 다른 것으로 대체함으로써 시청자에게 대상이 된 광고를 제공하
는데 사용될 수 있다. 컨텐츠 대체는 또한 프로그램을 위한 다수 엔딩, 플롯 또는 다른 세그먼트를 제공하거나
스포츠 프로그램 또는 다른 프로그램에서 여러 장면을 제공하는데 사용될 수 있다. 본 발명의 컨텐츠 대체의 다
른 응용은 본 논의의 과정 중에 논의될 것이다. 이들 응용 뿐만 아니라, 다른 응용 각각은 대역 폭의 극적인 증
가에 대한 필요성이 없이 하드웨어에 대한 합리적인 비용으로 본 발명을 사용하여 촉진될 수 있다.
이제 도 1을 참조하면, 본 발명의 특정 실시예에 따른 전체 컨텐츠 대체 프로세스(100)는 104에서 시작하는 것[0027]
으로 도시된다. 이 컨텐츠는 복수의 PID(예, PID A 및 PID B)에 의해 식별된 부분을 가지며 108에서
수신되는데, 이 PID는 컨텐츠에 대한 복수의 가능성(예, 복수의 광고, 로고, 플롯, 엔딩, 문자 등)을 나타낸다.
이 컨텐츠는(케이블 또는 위성 텔레비전 전송에서처럼) 컨텐츠의 스트림으로 수신될 수 있거나 패키지화된 매체
또는 다운로드된 파일에 나타날 수 있다. 어떤 경우에도, 112에서 처리 동작(컨텐츠의 재생 또는 전송과 같음)
은 일반적으로 특정 패킷 식별자(예, PID A)로 지정된 컨텐츠의 주요 부분을 사용하여, 개시된다. 116에서, 컨
텐츠는 규정된 대체 기준이 충족되었는지를 결정하기 위해 검사된다. 이러한 기준은, 예컨대, 지역 컨텐츠 배포
자가 지역 또는 지방 광고, 워터마크 또는 로고로 교체하고자 하는 전국 광고, 컨텐츠 등급, 워터마크 또는 로
고의 제시가 될 수 있으며; 또는 이러한 기준은 특정 플롯, 캐릭터 또는 엔딩의 최종 사용자에 의한 선택을 포
함할 수 있다.
표준이 116에서 충족되지 않은 경우, 주요 컨텐츠(PID A)의 처리는 120에서 계속된다. 표준이 116에서 충족되지[0028]
않은 경우, 컨텐츠 대체는 124에서 (예, PID A를 가진 컨텐츠를 PID B를 가진 컨텐츠로 대체함으로써, 또는 일
대일 대체, 일대일 삽입 또는 다대일 삽입/삭제를 포함하지만, 이에 한정되지 않게, 본 명세서에서 설명된 임의
의 다른 컨텐츠 대체 작동을 수행함으로써) 수행된다. 이러한 대체는 디코더 또는 다른 프로세서가 단지 동일한
PID를 가진 컨텐츠를 계속해서 처리하도록 PID 값의 재맵핑을 포함할 수 있다. 대안적으로, 디코더는 메인 컨텐
츠에 우선하여, 만약 존재하는 경우, 대체된 컨텐츠를 선택하기 위해 프로그래밍될 수 있다. 120 또는 124에서,
제어부는 128로 이동하여, 컨텐츠는 종료에 도달되었는지 결정하기 위해 검사된다. 종료에 도달되지 않은 경우,
제어부는 116의 컨텐츠 처리로 되돌아 온다. 종료에 도달되면, 프로세스는 132에서 중단한다. 바람직한 실시예
에서, 컨텐츠 교체는 비디오 매크로블록의 교체를 통해 이루어진다.
따라서, 특정 실시예에 따른 컨텐츠 대체 방법은 컨텐츠를 나타내는 데이터를 수신하는 단계로서, 상기 데이터[0029]
는 컨텐츠의 제 1 및 제 2 매크로블록과 연관된 적어도 제 1 및 제 2 패킷 식별자(PID)를 구비하는, 데이터 수
신 단계; 제 1 PID를 가지는 컨텐츠를 재생하는 단계; 대체 표준이 충족되는지를 결정하는 단계; 및 제 1 PID를
가지는 컨텐츠를 제 2 PID를 가지는 컨텐츠로 대체하는 단계를 포함한다.
이 프로세스에 따라, 예컨대, 지역 케이블 운영자는 복수의 광고(상업 광고) 세트를 포함하는 프로그램을 수신[0030]
할 수 있다. 지역 운영자의 지리적 위치에 따라, 주요 컨텐츠는 지역 케이블 운영자의 지리적 위치나 시장에 더
적합한 여러 지역적 광고 중 적합한 하나와 함께 재전송될 수 있다. 다른 예에서, 복수의 선택가능한 엔딩을 가
진 영화는 케이블 운영자로부터 그 가입자에게로 방송될 수 있다. 가입자는 이후 영화의 시청 전 또는 시청 중
에, 어떤 엔딩을 선호하는지를 결정하고 선택한다. 가입자는 특정 PID와 연관된 엔딩을 선택하고 이 PID를 주요
프로그램의 PID로 재맵핑함으로써 가입자가 원하는 대안적인 엔딩을 선택하는 STB로 명령을 전송한다. 당업자는
본 교시를 고려하면 많은 다른 예를 생각해 낼 것이다.
이제 도 2를 참조하면, 예시적인 케이블 시스템은 200으로 표시된다. 이 시스템에서, 위성 안테나(204)는[0031]
HITS
TM
(Headend In The Sky) 피드와 같은 위성 전송으로부터 컨텐츠의 멀티플렉싱된 스트림을 수신한다. 컨텐츠
의 수신된 스트림이 위성 수신기(208)에서 수신되고, 복조되고 암호 해독되며, 대체가능한 정보를 가지는 컨텐
츠는 PID 맵퍼와 플래그 삽입기(212)로 함께 전달되며, 이들의 기능은 이후 설명의 관점에서 명확해 질 것이다.
추가적 컨텐츠는 지역 컨텐츠 데이터베이스(216) 또는 다른 컨텐츠 소스로부터 검색될 수 있다. 대안적으로, 복
수의 PID 인코딩된 대체가능한 부분을 가진 컨텐츠는 위성 시스템으로부터 직접 수신될 수 있다. PID 맵퍼와 플
래그 삽입기는 임의의 소스로부터의 인입 컨텐츠를 주요 컨텐츠에 대한 주요 PID 세트 및 일 실시예에서 212의
대체가능한 컨텐츠에 대한 2차 또는 섀도우 PID의 세트로 맵핑한다. 인입 데이터가 이미 복수의 PID 인코딩된
컨텐츠를 가진 다른 실시예에서, PID 맵퍼는 오직 원하는 컨텐츠만을 선택하기 위해 PID를 재맵핑하도록 지시될
수 있다. 플래그는 컨텐츠의 대체가 시작되고 종료될 위치를 확인하기 위해 212에서 컨텐츠에 삽입될 수 있다.
컨텐츠는 이후 프로그램 특정 정보(PSI)와 프로그램 맵 테이블(PMT)을 프로그래밍을 디코딩 시에 디코딩 측에[0032]
의한 사용을 위해 컨텐츠의 스트림으로 삽입하는 PSI/PMT 삽입기(220)로 전달된다. 컨텐츠가 암호화되는 경우,
등록특허 10-1087273
- 7 -
변조기(예, QAM 변조기)(230)에서 변조하기 전에 암호화기(224)를 통해 전달될 수 있다. 컨텐츠의 변조된 스트
림은 이후 케이블 플랜트(236)를 통해 셋톱 박스(240 및 244)와 같은 디코더 박스를 가진 최종 사용자에게 전송
된다. 컨텐츠 대체를 위한 PID 맵핑을 포함하지만, 이에 국한되지 않는, 케이블 헤드엔드의 작동은, 제어 컴퓨
터(300)의 제어 하에 수행된다.
이러한 시스템은 입력 데이터가 수신되어 주요 컨텐츠를 나타내며 대체 컨텐츠를 나타내는 본 발명의 특정 실시[0033]
예에 따른 컨텐츠 대체 인코더를 형성하는데 사용될 수 있다. 패킷 식별자(PID) 맵퍼는 1차 PID를 주요 컨텐츠
에 배정하고 2차 PID를 대체 컨텐츠에 배정한다. 개인(private) 데이터 생성기는 1차 PID에 의해 주요 컨텐츠를
그리고 2차 PID에 의해 대체 컨텐츠를 식별하는 사용자 개인 데이터를 생성한다. 개인 데이터, 1차 PID에 맵핑
된 주요 컨텐츠 및 2차 PID에 맵핑된 대체 컨텐츠는 이후 데이터 스트림으로 어셈블링된다.
도 1의 프로세스(100)는 도 2 내지 도 3의 제어 컴퓨터(300)로 작동하는 임의의 적당한 프로그래밍된 범용 컴퓨[0034]
터 상에서 수행될 수 있다. 컴퓨터(300)는 공지의 방식으로 CPU(310)를 RAM(318) 및 비휘발성 메모리(322)에 연
결하는데 사용된 하나 이상의 연관 버스(314)를 가진 하나 이상의 CPU(310)를 구비한다. 디스플레이와 프린터와
같은, 출력 디바이스(326)는 MSO(multiple service operator)의 사용을 위한 출력을 디스플레이하고/하거나 인
쇄하기 위해서 뿐만 아니라 GUI와 같은 사용자 인터페이스를 제공하기 위해 제공된다. 유사하게, 키보드, 마우
스 및 제거가능한 매체 판독기(330)와 같은, 입력 디바이스는, 운영자가 정보의 입력을 위해 제공될 수 있다.
컴퓨터(300)는 또한 운영 체제, 및 컨텐츠(대개, 로컬 컨텐츠 데이터베이스(216)와 같은 대용량의 부속 기억장
치 상에 저장됨) 뿐만 아니라 컨텐츠 대체 프로세스 프로그램을 포함하지만, 이에 국한되지 않는, 대량의 정보
를 저장하기 위한 내장형 및/또는 외장형 디스크 또는 다른 대용량 기억장치(334)(예, 디스크 및/또는 광학 기
억장치)를 결합한다. 컴퓨터 시스템(300)은 또한 케이블 시스템 헤드엔드 내의 제어된 디바이스와의 연결을 위
해 인터페이스(338)를 가진다. 단일 컴퓨터로 도시되었으나, 디지털 컨텐츠 제공자는 본 명세서에서 설명된 기
능을 수행하기 위해 복수의 연결된 컴퓨터를 이용할 수 있다.
전술한 설명은 대부분, 대체가능한 컨텐츠가 케이블 헤드엔드에서 삽입될 것이라고 가정하지만 당업자는 본 컨[0035]
텐츠 대체 개념은 여러 목적을 달성하기 위해 복수의 레벨에서 컨텐츠 대체를 허용하는 많은 방법으로 구현될
수 있다는 것을 이해할 것이다. 예컨대, 케이블 고객이 대화형 텔레비전 쇼를 시청하는 경우, 고객의 선택(예,
원격 제어기으로)은 특정 대체물(예, 엔딩 선택)의 선택을 위한 표준을 설정하기 위해 이용될 수 있다. 그러나,
케이블 헤드엔드는 또한 예컨대, 전국 광고의 지역 광고로의 대체 또는 전국 로고의 지역 채널 로고로의 대체
(또는 추가)에 의해, 본 발명에 따른 특정 실시예에 따라서 컨텐츠 대체를 실행할 수 있다.
이러한 대체는 대체 비디오 데이터를 포함하는 매크로블록을 가진 원본 컨텐츠 내에 있는 비디오의 매크로블록[0036]
의 교체에 의해 달성될 수 있다. 일부 또는 모든 대체 비디오 데이터는 원본 데이터와 동일할 수 있는데, 그 이
유는 매크로블록이 교체될 비디오 화상의 원하는 영역과 상당 부분 중복될 수 있기 때문이다.
이제 컨텐츠 제공자가 예컨대 케이블 텔레비전 시스템에서, 대안 광고를 여러 그룹의 고객에게 제공하고자 하는[0037]
본 발명에 따른 예시적인 실시예를 고려한다. 이 예에서, 케이블 텔레비전 고객들은 예컨대, 케이블 시스템의
헤드엔드에 저장된 고객 프로필에 기초한 세 가지 카테고리로 분할될 수 있다고 가정한다. 이제, 도4를 참조하
면, 연관된 세 가지 별도의 광고(354,356 및 358)를 가진 예시적인 텔레비전 프로그램(350)이 도시된다. 이 세
가지 광고를 분리하기 위해, 세 가지 별도의 PID 세트가 이용된다(간략함을 위해, 광고마다 하나의 PID가 있다
고 가정). 한 시청자를 위한 주요 광고(354)의 경우, 광고(354)는 프로그램 컨텐츠와 동일한 PID(예, 100)를 공
유할 수 있다.
제 1 대안적 광고(356)는 대안적 PID(예, PID 101)로 식별되고, 제 2 대안적 광고는 다른 대안적 PID(예, PID[0038]
102)로 식별된다. 따라서, 주 광고를 제공하기 위해, 어떠한 특별한 명령어도 디코더(예, 텔레비전 STB)에 전달
될 필요가 없는데, 그 이유는 이것이 프로그램 컨텐츠와 공유되고 디폴트(default)로 나타날 것이기 때문이다.
대안적 광고(356)를 디코딩할 디코더의 경우, 명령어는 케이블 시스템 헤드엔드에서 디코더로 전송되어 이들에
게 PID(101)가 마주칠 때마다 PID(100)대신 이 PID(101)를 가진 컨텐츠로 대체할 것을 지시한다. 유사하게, 대
안적 광고(358)를 디코딩할 디코더의 경우, 명령어는 케이블 시스템 헤드엔드에서 디코더로 전송되어 이들에게
PID(102)가 마주칠 때마다 PID(100) 대신에 이 PID(102)를 가진 컨텐츠로 대체할 것을 지시한다. 일
실시예에서, PID(100)를 가진 각 패킹된 비디오 데이터는 PID(101)와 PID(102)를 가진 대응 패킷을 가진다. 다
른 실시예에서, 일대일 상관은 필요치 않다. 어떠한 경우라도, 패킷 카운트는 디코더에서 패킷의 적절한 순서의
처리를 허용하는 방법으로 관리되어야 한다.
이 예에서, 컨텐츠는 프로세스의 본질인 직접 대체를 설명하기 위해 나란히 디스플레이된다. 그러나, 도 4에 도[0039]
등록특허 10-1087273
- 8 -
시된 것처럼, 컨텐츠는 제 1 대안 컨텐츠와 그 다음에 제 2 대안 컨텐츠가 후속되는 주 컨텐츠를 체계적으로 제
공하는 패킷의 시퀀스로서 배열될 수 있으며, 이후 시퀀스는 반복한다. 다양한 실시예에서, 1차 및 2차 PID를
가진 대응 패킷은 2차가 후속되는 1차 또는 1차가 후속되는 2차의 순서로 나타날 수 있다. 패킷의 변경은 패킷
을 수신할 때의 불필요한 지연을 피하고 패킷의 순서를 보존하는 것을 돕는다. 1차 및 2차 패킷 사이의 일대일
상관이 존재하는 경우, 각 1차 및 2차 패킷은 제공의 순서를 확립하는데 사용된 패킷 번호를 보유할 수 있다.
이러한 순번은 수신된 컨텐츠에서의 순서를 보유하기 위해 디코딩 프로세스에 의해 변경될 수 있다. 다른 실시
예들이 또한 본 발명에서 벗어나지 않고 가능하다.
케이블 시스템 MSO에 의해 고객의 세트에 대상이 된 광고를 제공할 뿐만 아니라, 유사한 기술은, 예컨대, 복수[0040]
의 지역 광고를 단일 데이터 스트림에 포함시키고, 주어진 지역에 대한 적절한 광고를 선택하기 위해 지역 네트
워크 또는 케이블 운영자의 PID의 재맵핑을 사용함으로써, 지역 광고를 제공하는 능력을 네트워크에 제공하기
위해 구현될 수 있다. 따라서, 도 4에 도시된 세 가지 광고는 미국의 동부 지역의 하나, 미국의 중부 지역의 하
나, 및 미국의 서부 지역의 하나와 같이 세 개 지역 광고, 또는 다소의 대안적인 광고를 가진 임의의 다른 적합
한 지역 분할을 동일하게 잘 나타낼 수 있다.
도 5는 패키지 매체 컨텐츠(예, DVD)로 저장되거나 케이블 텔레비전 MSO와 같은 컨텐츠 제공자로부터 스트리밍[0041]
된 영화에서 대안적인 플롯과 엔딩을 제공하는데 사용될 수 있다. 이 실시예에서, 주요 영화(360)는 예컨대, 주
PID(110)를 사용하여 전송되거나 저장된다. 이 영화는 예컨대, 영화의 재생 중에 또는 영화의 재생 중에 이루어
진 주기적 결정 시에 이루어진 선택을 사용해서 시청자에 의해 선택될 수 있는 세가지 플롯과 세 가지 엔딩으로
재생될 수 있다. 제 1 플롯(362)은 주 엔딩 A(364)이 그런 것처럼 영화의 주요 부분과 같은 PID(110)를 사용한
다. 고객이 플롯(A)과 엔딩(A)을(개별적으로 또는 집합적으로) 선택하면 텔레비전 STB에 있는 디코더는 전체 영
화에 대한 PID(110)를 선택한다. 플롯(B)(368)은 유사한 방법으로 엔딩(B)(372)과 같이, PID(111)과 연관된다.
플롯(C)(376)은 유사하게 엔딩(C)(380)과 같이, PID(112)와 연관된다. 시청자가 플롯(B), 및/또는 엔딩(B)을 선
택하면, STB 디코더는 대안적 플롯(B) 및/또는 엔딩(B)이 선택되도록 PID(100)를 PID(111)로 대체할 것을 지시
받는다. 유사하게, 시청자가 플롯(C) 및/또는 엔딩(C)을 선택하면, STB 디코더는 대안적 플롯(C) 및/또는 엔딩
(C)이 선택되도록 PID(100)를 PID(112)로 대체할 것을 지시받는다.
도 6을 참조하면, PID(120)과 같이, 특정 PID를 사용하는 프로그램(384)은 마커 PID(392)의 역할을 하는 정보의[0042]
대안적인 부분을 가진 PID(120)를 구비하는 블랭크 섹션(388)을 포함한다.
전술한 것처럼 대안적인 PID를 사용하는 컨텐츠 대체는 임의의 수의 목적을 위해 사용될 수 있다. 도 7은 본 발[0043]
명의 컨텐츠 대체 기술을 사용하여 로고 또는 워터마크의 보충 및 광고 배너의 교체를 도시한다. 이
실시예에서, 주요 컨텐츠의 세그먼트는 이러한 정보가 MPEG 디지털 코딩을 사용하여 인코딩되도록 수평 슬라이
스로 분할된 텔레비전 스크린(400)으로서 도시된다. 전국 광고와 같은, 제 1 광고(404)는 스크린의 위의 왼쪽
근처의 이미지의 여러 순차적 슬라이스에 나타나는 것처럼 도시된다. 로고 또는 워터마크(408)는 이미지(400)의
오른쪽 아래 근처의 한 슬라이스에서 나타난다. 컨텐츠 대체를 사용하여, 새로운 스크린이 생성될 수 있다. 광
고(404)를 포함하는 패킷은 지역적 또는 다른 대안적인 광고 배너(412)를 포함하는 패킷에 의해 교체될 수
있다. 유사하게, 워터마크(408)는 비디오 이미지의 슬라이스 내의 특정 패킷에 대한 컨텐츠 교체를 사용함으로
써 교체되거나 보충될 수 있다. 이 예에서, 네트워크 로고(408)는 보충 로고를 지니는 패킷을 대체함으로써 다
른 로고(예, 지역 채널 또는 다른 로고)(416)에 의해 보충될 수 있다.
도 8은 비디오 프레임(420)을 구성하는 매크로블록의 배열을 도시한다. 특정 표준 해상도 MPEG에 따르는 비디오[0044]
구조에서, 프레임은 30개의 비디오 슬라이스로 이루어지며, 각각은 슬라이스 헤더(422)(이 도면에서 SH1 내지
SH30)와 연관된다. 각 슬라이스는 33개의 매크로블록(424)(이 도면에서 MB1 내지 MB33)으로 분할된다. MPEG 또
는 다른 비디오 포맷을 사용한 다른 실시예(예, 고화질)에서, 슬라이스 당 더 많거나 더 적은 슬라이스 및/또는
매크로블록이 사용될 수 있다. 임의의 경우, 이미지는 매크로블록의 집합으로 구성되며, 이 경우 프레임 당 990
개의 매크로블록으로 구성된다. 이에 따른 특정 실시예에 따라, 하나 이상의 매크로블록은 매크로블록 단위로
새로운 이미지를 생성하기 위해 원본 이미지에서 대체될 수 있다.
예컨대, 도 9의 단순화된 도면을 고려해보자. 이 도면에서, 이미지의 일부는 6개의 연속된 매크로블록으로 구성[0045]
된다. 수직 라인(432)과 수평 라인(434)은 매크로블록의 경계를 한정하며, 매크로블록은 간략함을 위해 도면에
서 직선으로 도시된다. 가장 왼쪽의 이미지에서, 별모양은 6개의 매크로블록(435,436,437,438,439 및 440)으로
구성된 것으로 도시된다. 특정 실시예에 따른 방법에서, 이들 매크로블록을 구성하는 비디오 데이터는 제 1
PID(예, PID A)와 연관될 수 있다. 대체 컨텐츠는 6개의 대체 매크로블록(442,443,444,445,446 및 447)의 형태
등록특허 10-1087273
- 9 -
로 제공될 수 있다. 이들 대체 매크로블록을 한정하는 비디오 데이터는 제 2(또는 교체) PID(예, PID B)를 사용
하여 확인될 수 있다. 이후, 컨텐츠 대체 작업을 수행하기 위해, 원하는 위치에 나타나는, PID A를 가지는 연관
된 매크로블록은, PID B를 가지는 매크로블록으로 교체된다.
이들은 본 발명의 PID 맵핑 기술을 사용하여 촉진될 수 있는 컨텐츠 조작의 유형의 몇 가지 예일 뿐이다. 여러[0046]
다른 예들이 아래의 표에 나열되지만, 당업자는 이 논의를 고려시에 더 많은 예들을 생각해 낼 것이다.
응용[0047] 1차 PID 대체 컨텐츠 교체(R), 삽
입(I) 또는
로컬(L)
비고
2차 PID 로컬
일반
프로그래밍
일반
프로그래밍
1차 PID에서
전송된 주 컨
텐츠
광고 전국 광고 지역 광고 R
배너
광고
전국 라벨 지역 라벨 R 하키장 주변
의 예시적인
배너
등급의 변경 제 1 등급(
예, R)
제 2 등급(
예, PG-13)
R 사용자는 비
디오 컨텐츠
의 등급을 조
정할 수 있음
로고 메인 로고 지방 가맹업

R 또는 I 예, PBS 및
KPBS
객체 코딩 예, 영화의
캐릭터
예, 영화의
대체 캐릭터
R 및 I MPEG 4 코딩
실시간 표시 마커 패킷 서비스 ID 유
닛 어드레스
L과 R 유닛 어드레
스 정보는 컨
텐츠 디코더
에서 유래.
복수의 플롯
및/또는 엔딩
을 가진 영화
변하지 않는
영화의 부분
다른 버전 R과 I 영화는 다른
서브플롯과
엔딩을 가질
수 있음
다른 장면을
가진 스포츠
방송
변하지 않는
스포츠캐스
트의 부분
다른 동작의
장면
R과 I 예, 야구 경
기는 복수의
동작의 장면
이 제공되지
않을 수
있음.
새 압축 업그
레이드
더 오래된 압
축 구성요소
새 압축 구성
요소
R과 I 예, MPEG 2
스트림으로
전송된 MPEG
4
이제 도 10을 참조하면, 본 발명의 특정 실시예에 따른 복수의 PID로 전송 스트림을 디코딩하는 디코더를 구현[0048]
하기 위한 메커니즘을 도시하는 상태도가 도시된다. 상태도의 번호가 매겨진 경로는 아래의 표에서 설명된다:
경로 번호[0049] 상태
450 초기화 상태로부터의 전환
452 PID=A : 큐 패킷
454 (PID=B, 모드=2) : PID=A : 큐 패킷
456 (PID=B, 모드=1) : PID=A : 큐 패킷
458 PID=A : PID=NULL
460 (PID=B, Queue_on_Error) : Error_IRQn
462 (PID=B, Queue_on_Error) : PID=A:큐 패킷 :Error_IRQn
464 Decode_RSTn MPEG 전송 오류
466 PID=B : PID=A : 큐 패킷
468 (PID=B,모드=4):PID=A:큐 패킷
470 Decode_RSTn MPEG 전송 오류
472 PID=A:PID=NULL
474 PID=B : PID=A: 큐 패킷
등록특허 10-1087273
- 10 -
476 PID=A : PID=NULL
478 Decode_RSTn MPEG 전송 오류
상태표[0050]
1차 PID 패킷의 2차 PID 패킷으로의 교체는 "대체 모드"라는 것이다. 제 2 PID 패킷은 1차 PID 패킷을 교체하지[0051]
않고 스트림에 삽입될 수 있다. 이 모드는 "삽입 모드"라고 한다. 사실상, 디코더는 모든 작동이 동시에 활성인
모드에서 사용될 수 있다. 이것은 "삽입 및 삭제 모드"라고 한다. 세 가지 분리 디코더 모드는 모두 상호 배타
적이고 각 모드에 대해 특정된 일련의 상태 전환에 후속한다. 활성 모드는 디코더 특정 가변 모드를 통해 시그
널링된다. 모드의 값이 0으로 설정되는 경우, 디코딩은 인에이블되지 않고 전송 디코더 상태 기계는 우회된다.
모드의 값이 유효하지 않으면(구체적으로 한정된 상태가 아니면), 모드가 0으로 설정된 것처럼, 즉 전송 디코더
상태 기계가 우회된 것과 동일한 조치가 취해진다. 각 모드에 대한 상태 전환의 한정은 다음과 같이 상술된다.
인코딩된 전송 스트림을 디코딩하기 위한 알고리즘은 도 10의 상태 기계에 구현된다. 상태와 상태 방정식/조치[0052]
를 도시하는 페트리 네트(Petri net)는 상기 상태표와 결합하여 도 10에서 유도될 수 있다. 알고리즘은 4개의
작동 상태를 가지며, 시스템은 현저하게 상태 1로 남아 있다. 섀도우 PID(주요 PID 아님)를 포함하는 패킷이 마
주쳤을 때만 상태 2가 된다. 시스템 모드에 따라, 헤드엔드로부터의 PSI 내의 메시징을 통해 확립된 것처럼, 2
개의 완전히 다른 제 2 상태로의 다른 경로가 취해질 수 있다.
상태 기계는 IC 제조자의 디바이스 아키텍처에 따라, 하드웨어 또는 소프트웨어로 구현될 수 있다. 프로그래밍[0053]
된 프로세서 상의 소프트웨어 구현은 일반적으로 설계상 더 많은 융통성을 제공할 것으로 예상될 수 있다.
한 가지 오류 사례가 확인된다(불법적 상태 전환). 이 오류는 연속성 카운트, 전송 오류 등과 같이 MPEG 전송층[0054]
오류에 추가된 고유한 오류이다. Error_IRQn은 중재 레거시 패킷없이 2개의 인접한 섀도우 패킷을 검출하며, n
은 특정 디코더의 수를 나타낸다. 디코더 특정 가변 queue_on_error의 설정에 따라, 2개의 다른 동작이 발생할
수 있다. 변수가 참(true)으로 설정되면, 디코더는 비-오류의 경우에서처럼 제 2 섀도우 패킷(PID=B)을 처리할
것이다. 변수가 거짓(false)로 설정되면, 제 2 섀도우 패킷은 버려진다.
패킷이 삽입되거나 삭제될 때마다, 1차 스트림(PID=A)의 연속성 카운트(CC)는 적절하게 CC를 조정함으로써 보존[0055]
될 것이다. decode_RSTn 변수는 구성 레지스터를 통해 설정되거나 디코더 상태 기계(n)를 알려진 상태로 만들기
위해 다른 기능에 의해 액세스될 수 있는 비-래칭 비트이다.
디코더 전송 처리 알고리즘의 작동의 한 모드는 대체 모드라고 한다. 이 모드는 도 11에 도시되며, 502,504 및[0056]
506과 같이 PID B를 가진 패킷은 PID 필드 매칭(A)을 포함하는 원하는 컨텐츠 패킷을 가지는 MPEG 일치 전송 스
트림에 대한 패킷(512,514, 및 516)을 만들기 위해 PID B를 PID A로 교체함으로써 전송 스트림에 삽입되며, 이
때 A는 디코더의 구성 레지스트에 이전에 한정된 13 비트 값이다. "비 작동(no operation)"은 PID A 패킷에 대
해 수행된다. "홈(home)" 상태인, 상태 1에서, 508과 같은 A 패킷은 A/V 압축 해제 및 디스플레이와 같은, 추가
적인 처리를 위해 전송 필터 출력 큐로 전송된다. 모드 1에서, 디코더 상태 기계는 대체 플래그(520)의 수신
후, PID 필드 매칭(B)을 가진 MPEG 패킷을 수신과 동시에 상태 1에서 상태 2A로 전환한다. B는 디코더의 구성
레지스터 내에 이전에 한정된 13 비트 값이다. B는 PID 매칭(A)을 가진 다음에 발생하는 레거시 패킷에 대해 대
체될 2차 또는 "섀도우" 패킷을 나타낸다. B 패킷의 PID 값은 스트림에 삽입하기 전에 A로 변경된다. 대체는 상
태 2A로의 전환과 동시에, B 패킷 컨텐츠가 전송 필터 출력 큐로 전송되기 때문에 발생한다.
상태 1로의 복귀는 다음 A PID가 수신될 때 발생한다. 이 경우, 이것은 큐잉되지 않고 NULL(0x1fff) PID 값으로[0057]
변환되며, 물리적으로 제거되었을 때 그런 것처럼 전체 스트림 타이밍을 변경시키지 않고 스트림에서 이를 효과
적으로 삭제한다. 상태 1로의 복귀는 대체 모드의 종료를 나타내는 다른 대체 플래그(524)의 수령에 의해 시그
널링될 수 있다.
디코더 전송 처리 알고리즘의 작동의 다른 모드는 삽입 모드(Insertion Mode)라고 하며, 이는 도 12에 도시되어[0058]
있으며, PID 필드 매칭(A)을 포함하는 원하는 컨텐츠 패킷을 가진 MPEG 일치 전송 스트림을 위한 것이며, 이 때
A는 디코더의 구성 레지스터에서 이전에 한정된 13 비트 값이다. "홈" 상태인, 상태 1에서, A 패킷은 A/V 압축
해제 및 디스플레이와 같이, 추가적인 처리를 위한 전송 필터 출력 큐로 전송된다. 모드 2에서, 디코더 상태 기
계는 상태 1로부터 결코 전환시키지 않는다. PID 필드 매칭(B)을 가진 MPEG 패킷의 수신과 동시에, B는 A로 변
경된 PID 값을 가진 스트림에 삽입될 2차 또는 "섀도우" 패킷을 나타낸다. 이 모드에서, 상태 1에서 상태 2B로
의 전환은 삽입 플래그(530)의 수신으로 인해 발생할 수 있다. 534와 536과 같은 PID B 패킷은 538과 540과 같
등록특허 10-1087273
- 11 -
은 PID A 패킷으로서 전송 스트림에 삽입된다. 삽입 모드는 다음 삽입 플래그(544)의 수신에 의해 종료될 수 있
다.
PID 필드 매칭(A)을 포함하는 원하는 컨텐츠 패킷을 가진 MPEG 일치 전송 스트림에 대한 삽입/삭제 모드를 위한[0059]
디코더 전송 처리 알고리즘이 도 13에 도시되며, 이 때 A는 디코더의 구성 레지스터로 이전에 한정된 13 비트
값이다. "홈" 상태인, 상태 1에서, 508과 같은 A 패킷은 A/V 압축 해제 및 디스플레이와 같은, 추가 처리를 위
해 전송 필터 출력 큐로 전송되며, 패킷(510)이 된다. 모드 4에서, 디코더 상태 기계는 PID 필드 매칭(B)을 가
진 MPEG 패킷의 수신과 동시에 상태 1에서 상태 2B로 전환하며, 이때 B는 디코더의 구성 레지스터에 이전에 한
정된 13 비트 값이며, B는 A에 매칭하도록 변경된 PID와 함께 삽입될 2차 또는 "섀도우" 패킷을 나타낸다. PID
값 매칭(A)과 함께 상태 2B에 있는 동안 수신된 임의의 패킷은 상태 3으로의 전환을 초래할 것이며 패킷 PID는
NULL로 변경되며, 효과적으로 이를 전송 스트림에서 삭제한다. 상태 3에 있는 동안 PID 매칭(A)과 함께 수신된
모든 후속 패킷은 그들의 PID 값이 또한 패킷(550, 552,554 및 556)과 같이, NULL로 변경되며, 이들 패킷은
560, 562, 564 및 566과 같이 NULL이 된다. 상태 1로 전환 및 상태 1로부터의 전환은 삽입/삭제 플래그(570 및
574) 각각에 의해 개시되고 종료될 수 있다. 상태 3에 있는 동안, PID B를 가진 580 및 582와 같은 패킷은 586
과 588과 같은 PID를 가진 패킷으로 변환된다.
상태 2B로의 복귀는 B PID 값을 가진 다음 패킷이 수신될 때 발생하며, 이것은 큐잉되고 A PID 값으로[0060]
변환된다. 마찬가지로, 상태 2B에서 상태 1로의 복귀는 B PID 값을 가진 다음 패킷이 이에 따라 수신될 때 발생
하며, 이것은 또한 큐잉되며 A PID 값으로 변환된다. 청구항 제 1항에 따른 방법에서, 대체 단계는 제 2 PID를
가진 컨텐츠의 유닛을 선택하기 위해 개인 시그널링을 사용하는 단계 및 제 1 PID를 가진 컨텐츠의 유닛을 버리
는 단계를 포함한다.
본 발명에 따른 방법에서, 개인 시그널링은 2차 PID 상의 컨텐츠의 유닛을 선택하는 동안 1차 PID를 가진 컨텐[0061]
츠를 수신하기 위해 사용될 수 있다. 대안적으로, 개인 시그널링은 제 2 PID를 가진 컨텐츠의 복수의 유닛을 선
택하는 동안 1차 PID를 가진 컨텐츠의 유닛을 버리기 위해 사용될 수 있다. 유사하게, 개인 시그널링은 2차 PID
를 가진 컨텐츠의 복수의 유닛을 선택하는 동안 1차 PID를 가진 컨텐츠의 유닛을 수신하기 위해 사용될 수
있다. 또한, 개인 시그널링은, 1차 PID를 가진 컨텐츠의 유닛을 버리는 동안 2차 PID를 가진 컨텐츠의 복수 유
닛을 선택하는 모드로부터, 1차 PID를 가진 컨텐츠를 수신하는 동안 2차 PID를 가진 컨텐츠의 복수 유닛을 선
택하는 모드로 스위칭하는데 사용될 수 있다. 개인 시그널링은 또한 2차 PID를 가진 컨텐츠의 복수의 유닛을 선
택하고 1차 PID를 가진 컨텐츠의 복수의 유닛을 수신하는 모드로부터, 1차 PID를 가진 컨텐츠의 유닛을 버리는
동안 2차 PID를 가진 컨텐츠의 복수 유닛을 선택하는 모드로 스위칭하는데 사용될 수 있다.
2차 PID를 가진 컨텐츠의 유닛은 1차 PID를 가진 컨텐츠의 대응 유닛 이전에 또는 이후에 전송된다. 대체 작동[0062]
은 데이터 스트림에서 패킷의 적응층의 일부를 형성하는 개인 시그널링에 의해 개시되고 종료될 수 있다. 적응
층은 2차 PID, 1차 PID 또는 다른 PID를 가진 패킷 내에 있을 수 있다.
참조를 위해, 다음 2개의 표가 제공되며, 이들은 MPEG 전송 패킷과 MPEG 전송 스트림 적응 필드 각각에 사용될[0063]
구문(syntax)을 호출한다:
[0064]
등록특허 10-1087273
- 12 -
[0065]
디코더 모듈을 구성하고 제어하는데 사용된 많은 정보는 전송 스트림에 포함되고 STB 미들웨어(middleware)에[0066]
의해 디코딩된 MPEG PSI 데이터에서 유래된다. 구성과 제어는 필요할 때 현재 디코더에 특정된 MPEG PSI 규격으
로의 확장자(extension)를 사용하여 달성될 수 있다. 본 발명에 따른 특정 실시예에서, 다음 표는 사용된 확장
자와 개인 데이터 구문을 정의한다.
등록특허 10-1087273
- 13 -
[0067]
상태 간의 신호 전환을 위한 "페이로드를 가진 적응" 뿐만 아니라 "페이로드가 없는 적응"의 사용이 가능할 수[0068]
있다. 적응 필드는 A,B 또는 C가 NOP와 같은, "널"이 될 수 있는지 또는 스트림 내에 남겨질 수 있는지와 무관
한 패킷일 뿐이다.
이 문서에서, 하드웨어 구현을 의미할 수 있는, "레지스터"에 대한 참조는 소프트웨어 또는 마이크로코딩된 구[0069]
현에서 "변수"와 자유롭게 교환될 수 있다. 어떠한 경우에도, 공통 디코더 모듈 명령/제어 구조와 인터페이스는
다양한 아키텍처와 기능의 STB 플랫폼 전체에서의 미들웨어의 호환성을 달성하는 것이 바람직하다.
특정 바람직한 실시예에서, 각 디코더 모듈은 19개의 레지스터(또는 변수)를 포함한다. 다르게 규정된 경우를[0070]
제외하고, 모든 레지스터는 판독/기록(read/write)이며, 이것은 현재 값이 기록을 위해 사용된 동일한 인터페이
스를 통해 다시 판독될 수 있다는 것을 의미한다. 모든 레지스터는 공통 기본 값(원래 값)에서 순차적으로 오프
셋될 것이다. 이 명세서 내의 어드레스는 기본(오프셋 값)과 모두 관련된다. 레지스터는 다음의 표에 나타난 것
처럼 맵핑될 수 있다.
주소[0071] 이름 자원
0x00 차단 레지스터 판독/기록
0x01 1차 PID 레지스터, 디코더 1 판독/기록
0x02 2차 PID 레지스터, 디코더 1 판독/기록
0x03 1차 PID 레지스터, 디코더 2 판독/기록
0x04 2차 PID 레지스터, 디코더 2 판독/기록
0x05 1차 PID 레지스터, 디코더 3 판독/기록
0x06 2차 PID 레지스터, 디코더 3 판독/기록
0x07 1차 PID 레지스터, 디코더 4 판독/기록
0x08 2차 PID 레지스터, 디코더 4 판독/기록
0x09 1차 PID 레지스터, 디코더 5 판독/기록
0x0A 2차 PID 레지스터, 디코더 5 판독/기록
0x0B 1차 PID 레지스터, 디코더 6 판독/기록
0x0C 2차 PID 레지스터, 디코더 6 판독/기록
0x0D 디코더 1 모드 레지스터 판독/기록
등록특허 10-1087273
- 14 -
0x0E 디코더 2 모드 레지스터 판독/기록
0x0F 디코더 3 모드 레지스터 판독/기록
0x10 디코더 4 모드 레지스터 판독/기록
0x11 디코더 5 모드 레지스터 판독/기록
0x12 디코더 6 모드 레지스터 판독/기록
0x13 디코더 리셋 레지스터 작성
레지스터 맵[0072]
상태 레지스터는 다음 표(차단 소스 레지스터(판독 전용)-- 어드레스: 0x00)에 따라 제공된다.[0073]
비트[0074] 이름 의미
15 Decode_1_ERROR 디코더 1 연속 섀도우 패킷
14 Decode_2_ERROR 디코더 2 연속 섀도우 패킷
13 Decode_3_ERROR 디코더 3 연속 섀도우 패킷
12 Decode_4_ERROR 디코더 4 연속 섀도우 패킷
11 Decode_5_ERROR 디코더 5 연속 섀도우 패킷
10 Decode_6_ERROR 디코더 6 연속 섀도우 패킷
9-0 없음 미지정
상태 레지스터[0075]
차단이 유발되면, 관련 비트는 "1"로 설정될 것이다. 1 비트 이상이 동시에 주장될 수 있다. 임의의 비트가 설[0076]
정되면, 디코더는 매스크 레지스터의 값에 기초한 호스트 제어기를 차단한다. 소스 레지스터의 컨텐츠는 매스크
레지스터와 함께 비트 방식으로(bitwise) AND 함수로 처리되고, 결과는 단일 IRQ 출력을 형성하기 위해 논리 OR
함수로 처리된다. 차단 상태는 다음과 같이 요약된다.
Decode_n_ERROR[0077]
세트 온: 중재 레거시 패킷이 없이 2개의 인접한 섀도우 패킷 검출[0078]
리셋 온: 차단 상태 레지스터의 판독.[0079]
판독 전용 차단 매스크 레지스터는 어드레스:0x00에 있다. 차단 매스크 레지스터 비트가 "1"일 때, 관련 차단은[0080]
매스크되지 않고 "0"일 때, 매스크된다. 매스크된 차단은 호스트 프로세서에 방해 출력을 생성하지 않을
것이다. 매스크된 차단의 차단 플래그 비트(들)는 차단 레지스터 내에서 여전히 유효할 것이다. 기본 전력-증가
상태는 매스크될 모든 차단(모두 "0")에 대한 것이다.
비트[0081] 이름 의미
15 Decode_1_ERROR 디코더 1 연속 섀도우 패킷
14 Decode_2_ERROR 디코더 2 연속 섀도우 패킷
13 Decode_3_ERROR 디코더 3 연속 섀도우 패킷
12 Decode_4_ERROR 디코더 4 연속 섀도우 패킷
11 Decode_5_ERROR 디코더 5 연속 섀도우 패킷
10 Decode_6_ERROR 디코더 6 연속 섀도우 패킷
9-0 없음 미지정
구성 레지스터는 위와 같다.[0082]
디코더 1(판독/기록)에 대한 1차 PID 레지스터는 어드레스:0x01에서 나타나며 다음과 같이 구성된다.[0083]
비트[0084] 이름 의미
15-13 없음 미지정
12-0 Primary_PID_1 디코더 1의 1차 PID에 대한 패킷 ID 값
1차 PID는 빅-엔디언(big-endian)(비트 12의 MSB) 값으로 바르게 자리 맞춤되어 저장된 13 비트 값이다.[0085]
등록특허 10-1087273
- 15 -
디코더 1(판독/기록)에 대한 2차 PID 레지스터는 어드레스:0x02에 나타나며 다음과 같이 구성된다:[0086]
비트[0087] 이름 의미
15-13 없음 미지정
12-0 Secondary_PID_1 디코더 1의 2차("섀도우") PID에 대한 패킷 ID 값
2차 PID는 위와 같이 빅-엔디언(비트 12의 MSB) 값으로 바르게 자리 맞춤되어 저장된 13 비트 값이다.[0088]
디코더 2(판독/기록)에 대한, 1차 PID 레지스터는 어드레스:0x03에서 나타나며 다음과 같이 구성된다:[0089]
비트[0090] 이름 의미
15-13 없음 미지정
12-0 Primary_PID_2 디코더 2의 1차 PID에 대한 패킷 ID 값
1차 PID는 빅-엔디언(비트 12의 MSB) 값으로 바르게 자리 맞춤되어 저장된 13 비트 값이다.[0091]
디코더 2(판독/기록)에 대한 2차 PID 레지스터는 어드레스:0x04에 나타나며 다음과 같이 구성된다:[0092]
비트[0093] 이름 의미
15-13 없음 미지정
12-0 Secondary_PID_2 디코더 2의 2차("섀도우") PID에 대한 패킷 ID 값
2차 PID는 빅-엔디언(비트 12의 MSB) 값으로 바르게 자리 맞춤되어 저장된 13 비트 값이다.[0094]
디코더 3(판독/기록)에 대한, 1차 PID 레지스터는 어드레스:0x05에 나타나며 다음과 같이 구성된다:[0095]
비트[0096] 이름 의미
15-13 없음 미지정
12-0 Primary_PID_3 디코더 3의 1차 PID에 대한 패킷 ID 값
1차 PID는 빅-엔디언(비트 12의 MSB) 값으로 바르게 자리 맞춤되어 저장된 13 비트 값이다.[0097]
디코더 3(판독/기록)에 대한 2차 PID 레지스터는 어드레스:0x06에서 나타나며 다음과 같이 구성된다:[0098]
비트[0099] 이름 의미
15-13 없음 미지정
12-0 Secondary_PID_3 디코더 3의 2차("섀도우") PID에 대한 패킷 ID 값
2차 PID는 빅-엔디언(비트 12의 MSB) 값으로 바르게 자리 맞춤되어 저장된 13 비트 값이다.[0100]
디코더 4(판독/기록)에 대한 1차 PID 레지스터는 어드레스:0x07에서 나타나며 다음과 같이 구성된다:[0101]
비트[0102] 이름 의미
15-13 없음 미지정
12-0 Primary_PID_4 디코더 4의 1차 PID에 대한 패킷 ID 값
1차 PID는 빅-엔디언(비트 12의 MSB) 값으로 바르게 자리 맞춤되어 저장된 13 비트 값이다.[0103]
디코더 4(판독/기록)에 대한 2차 PID 레지스터는 어드레스:0x08에서 나타나며 다음과 같이 구성된다:[0104]
비트[0105] 이름 의미
15-13 없음 미지정
12-0 Secondary_PID_4 디코더 4의 2차("섀도우") PID에 대한 패킷 ID 값
2차 PID는 빅-엔디언(비트 12의 MSB) 값으로 바르게 자리 맞춤되어 저장된 13 비트 값이다.[0106]
등록특허 10-1087273
- 16 -
디코더 5(판독/기록)에 대한 1차 PID 레지스터는 어드레스:0x09에서 나타나며 다음과 같이 구성된다:[0107]
비트[0108] 이름 의미
15-13 없음 미지정
12-0 Primary_PID_5 디코더 5의 1차 PID에 대한 패킷 ID 값
1차 PID는 빅-엔디언(비트 12의 MSB) 값으로 바르게 자리 맞춤되어 저장된 13 비트 값이다.[0109]
디코더 5(판독/기록)에 대한 2차 PID 레지스터는 어드레스:0x0A에서 나타나며 다음과 같이 구성된다:[0110]
비트[0111] 이름 의미
15-13 없음 미지정
12-0 Secondary_PID_5 디코더 5의 2차("섀도우") PID에 대한 패킷 ID 값
2차 PID는 빅-엔디언(비트 12의 MSB) 값으로 바르게 자리 맞춤되어 저장된 13 비트 값이다.[0112]
디코더 6(판독/기록)에 대한 1차 PID 레지스터는 어드레스:0x0B에서 나타나며 다음과 같이 구성된다:[0113]
비트[0114] 이름 의미
15-13 없음 미지정
12-0 Primary_PID_6 디코더 6의 1차 PID에 대한 패킷 ID 값
1차 PID는 빅-엔디언(비트 12의 MSB) 값으로 바르게 자리 맞춤되어 저장된 13 비트 값이다.[0115]
디코더 6(판독/기록)에 대한 2차 PID 레지스터는 어드레스:0x0C에서 나타나며 다음과 같이 구성된다:[0116]
비트[0117] 이름 의미
15-13 없음 미지정
12-0 Secondary_PID_6 디코더 6의 2차("섀도우") PID에 대한 패킷 ID 값
2차 PID는 빅-엔디언(비트 12의 MSB) 값으로 바르게 자리맞춤되어 저장된 13 비트 값이다.[0118]
디코더 1 모드 레지스터(판독/기록)는 어드레스:0x0D로 나타나며 다음과 같이 구성된다:[0119]
비트[0120] 이름 기본 값 의미
15-13 Decoder_1_Mode 오프(0) 디코더 1 작동 모드 결정
12 Queue_on_Error1 드롭(0) 디코더 1에 대해 모드 1(1=큐)에서 연속 섀도우 패킷
을 큐잉할지 또는 드롭할지 결정
11-0 미지정 없음 미지정
모드 정의는 다음과 같다:[0121]
0: 모든 디코딩 처리를 우회하고, 상태 기계를 디스에이블함[0122]
1: 대체 모드[0123]
2: 삽입 모드[0124]
4: 삽입 및 삭제 모드[0125]
모든 다른 값: 모든 디코딩 처리를 우회하고, 상태 기계를 디스에이블함[0126]
디코더 2 모드 레지스터(판독/기록)는 어드레스:0x0E에서 나타나며 다음과 같이 구성된다:[0127]
비트[0128] 이름 기본 값 의미
15-13 Decoder_2_Mode 오프(0) 디코더 2 작동 모드 결정
12 Queue_on_Error2 드롭(0) 디코더 2에 대해 모드 1(1=큐)에서 연속 섀도우 패킷
을 큐잉할지 또는 드롭할지 결정
11-0 미지정 없음 미지정
등록특허 10-1087273
- 17 -
모드 정의는 다음과 같다:[0129]
0: 모든 디코딩 처리를 우회하고, 상태 기계를 디스에이블함[0130]
1: 대체 모드[0131]
2: 삽입 모드[0132]
4: 삽입 및 삭제 모드[0133]
모든 다른 값: 모든 디코딩 처리를 우회하고, 상태 기계를 디스에이블함[0134]
디코더 3 모드 레지스터(판독/기록)는 어드레스:0x0F에서 나타나며 다음과 같이 구성된다:[0135]
비트[0136] 이름 기본 값 의미
15-13 Decoder_3_Mode 오프(0) 디코더 3 작동 모드 결정
12 Queue_on_Error3 드롭(0) 디코더 3에 대해 모드 1(1=큐)에서 연속 섀도우 패킷
을 큐잉할지 또는 드롭할지 결정
11-0 미지정 없음 미지정
모드 정의는 다음과 같다:[0137]
0: 모든 디코딩 처리를 우회하고, 상태 기계를 디스에이블함[0138]
1: 대체 모드[0139]
2: 삽입 모드[0140]
4: 삽입 및 삭제 모드[0141]
모든 다른 값: 모든 디코딩 처리를 우회하고, 상태 기계를 디스에이블함[0142]
디코더 4 모드 레지스터(판독/기록)는 어드레스:0x10에서 나타나며 다음과 같이 구성된다:[0143]
비트[0144] 이름 기본 값 의미
15-13 Decoder_4_Mode 오프(0) 디코더 4 작동 모드 결정
12 Queue_on_Error4 드롭(0) 디코더 4에 대해 모드 1(1=큐)에서 연속 섀도우 패킷
을 큐잉할지 또는 드롭할지 결정
11-0 미지정 없음 미지정
모드 정의는 다음과 같다:[0145]
0: 모든 디코딩 처리를 우회하고, 상태 기계를 디스에이블함[0146]
1: 대체 모드[0147]
2: 삽입 모드[0148]
4: 삽입 및 삭제 모드[0149]
모든 다른 값: 모든 디코딩 처리를 우회하고, 상태 기계를 디스에이블함[0150]
디코더 5 모드 레지스터(판독/기록)는 어드레스:0x11에서 나타나며 다음과 같이 구성된다:[0151]
비트[0152] 이름 기본 값 의미
15-13 Decoder_5_Mode 오프(0) 디코더 5 작동 모드 결정
12 Queue_on_Error5 드롭(0) 디코더 5에 대해 모드 1(1=큐)에서 연속 섀도우 패킷
을 큐잉할지 또는 드롭할지 결정
11-0 미지정 없음 미지정
모드 정의는 다음과 같다:[0153]
0: 모든 디코딩 처리를 우회하고, 상태 기계를 디스에이블함[0154]
등록특허 10-1087273
- 18 -
1: 대체 모드[0155]
2: 삽입 모드[0156]
4: 삽입 및 삭제 모드[0157]
모든 다른 값: 모든 디코딩 처리를 우회하고, 상태 기계를 디스에이블함[0158]
디코더 6 모드 레지스터(판독/기록)는 어드레스:0x12에서 나타나며 다음과 같이 구성된다:[0159]
비트[0160] 이름 기본 값 의미
15-13 Decoder_6_Mode 오프(0) 디코더 6 작동 모드 결정
12 Queue_on_Error6 드롭(0) 디코더 6에 대해 모드 1(1=큐)에서 연속 섀도우 패킷
을 큐잉할지 또는 드롭할지 결정
11-0 미지정 없음 미지정
모드 정의는 다음과 같다:[0161]
0: 모든 디코딩 처리를 우회하고, 상태 기계를 디스에이블함[0162]
1: 대체 모드[0163]
2: 삽입 모드[0164]
4: 삽입 및 삭제 모드[0165]
모든 다른 값: 모든 디코딩 처리를 우회하고, 상태 기계를 디스에이블함[0166]
디코더 리셋 레지스터(기록)는 어드레스:0x13에서 나타나며 다음과 같이 구성된다:[0167]
비트[0168] 이름 기본 값 의미
15 Decoder_RST1 오프(0) 상태 1로 디코더 1 비-래칭 리셋
14 Decoder_RST2 오프(0) 상태 1로 디코더 2 비-래칭 리셋
13 Decoder_RST3 오프(0) 상태 1로 디코더 3 비-래칭 리셋
12 Decoder_RST4 오프(0) 상태 1로 디코더 4 비-래칭 리셋
11 Decoder_RST5 오프(0) 상태 1로 디코더 5 비-래칭 리셋
10 Decoder_RST6 오프(0) 상태 1로 디코더 6 비-래칭 리셋
9-0 미지정 없음 없음
하나의 오류 사례(불법 상태 전환)가 확인되었다. 이 오류는 독특한 오류이며 연속성 카운트, 전송 에러 등과[0169]
같은 MPEG 전송 층 에러에 추가된다. Error_IRQn은 중재 레거시 패킷이 없는 2개의 인접한 섀도우 패킷의 검출
이며, n은 특정 디코더의 수를 나타낸다. 디코더 특정 변수(queue_on_error)의 설정에 따라, 2개의 다른 작동이
발생할 수 있다. 변수가 참(true)으로 설정되면, 디코더는 비-오류 사례에서와 같이 제 2 섀도우 패킷(PID=B)을
처리할 것이다. 변수가 거짓(false)로 설정되면, 제 2 섀도우 패킷은 버려진다.
일부 예에서, 교체될 컨텐츠는 패킷 경계에 배치된다. 일부 정보는 패킷의 경계 안에 적절히 맞추어지지 않을[0170]
수 있으므로, 특별히 관심있는 컨텐츠가 아닌, 일부 추가적인 컨텐츠가 패킷을 채우기 위해 복제되어야 할 수
있다. 다른 경우, 패킷은 단순히 널 바이트(예, 모두 0)로 채워질 수 있다. 일반적인 비디오 슬라이스는 얼마나
많은 인트라-코딩된 데이터가 존재하는가에 따라서 대략 3개 내지 8개의 패킷을 포함한다. 일부 디코더는 MPEG2
규격이 이를 허용한다고 해도 단일 비디오 라인 상에 다수의 슬라이스에 대해 어려움이 있을 수 있다는 것이 주
목된다.
대체된 컨텐츠가 미래의 프레임에서 참조된 경우 엔딩 문제에 직면할 수 있다는 것이 또한 주의된다. 그러나,[0171]
이 문제는 대체된 컨텐츠가 과거의 프레임으로 참조될 수 없다는 규칙을 만들어서 해결될 수 있다. 이것은 컨텐
츠가 고객 또는 셋톱 박스에 의해 이루어진 선택에 따라 다를 수 있다는 가능성으로 인한 것이다. 미래 프레임
에 대한 참조가 대체 컨텐츠 내에 모두 포함된 경우 이 참조는 허용될 수 있다. 또한, 인코더가 지정된 세트의
양자화 표를 사용하므로, 대체 컨텐츠는 올바른 디코딩이 이루어질 수 있도록 동일한 양자화 표를 사용하여 처
리되어야 한다.
등록특허 10-1087273
- 19 -
본 컨텐츠 대체는 제한 없이, 응용에 따라서 온라인 또는 오프 라인으로 수행될 수 있다.[0172]
위와 같은 디코더는 텔레비전 STB 또는 다른 텔레비전 수신기 내에 결합될 수 있거나 사용자에 의해 또는 MSO에[0173]
의해 제어된 컨텐츠 대체 기능을 최종 사용자에게 제공하는데 사용될 수 있다. 이제 도 14를 참조하여, 디지털
텔레비전 셋톱 박스(600)에 대한 예시적인 시스템 구성이 도시된다. 이러한 STB에 대한 많은 구성이 가능하며
도시된 STB는 이러한 STB 구성의 예시로서 간주되어야만 한다. 이 예시적인 셋톱 박스에서, 동축 케이블과
같은, 전송 매체(604)는 튜너(608)로의 적당한 인터페이스에 의해 연결된다. 튜너(608)는, 예컨대, 비디오 컨텐
츠를 수신하기 위해 방송 대역내 튜너를 포함할 수 있다. 분리된 튜너(미도시)는 종래의 RF 방송 텔레비전 채널
을 수신하기 위해 제공될 수 있다. 예컨대 MPEG-2 정보로 포맷된 정보는 이후 디멀티플렉서(610)에서 복조된다.
디멀티플렉서(610)의 출력에서 복조된 정보는 정보가 프로그래밍의 분리된 채널로 분리되는 PID 디코더/디멀티
플렉서/디스크램블러 회로(614)에 제공된다. 프로그래밍은 패킷으로 분할되며, 각 패킷은 특정 프로그램과 관련
된 특정 유형의 데이터(예, 오디오, 비디오 데이터)를 포함하는 것으로 패킷을 식별하는 PID를 구비한다. PID
디코더/디멀티플렉서/디스크램블러 회로(614)는 또한 예를 들어 프로그래밍 컨텐츠로의 권한없는 액세스를 방지
하기 위해 암호 해독 알고리즘에 따른 암호화된 정보를 암호 해독한다. 614의 PID 디코더 부분은 이후 설명되는
것처럼 특정 PID를 구비하는 컨텐츠를 선택하기 위한 프로그램 제어 하에서 도 10의 상태도에 의해 설명된 디코
더의 것과 유사한 방법으로 작동할 수 있다.
디멀티플렉서(614)로부터의 오디오 패킷(오디오 PID로 식별된 것)은 암호 해독되고 오디오 디코더(618)로 전송[0174]
되는데, 이 오디오 디코더에서 이들은 스피커 시스템(예, 스테레오 또는 홈 시어터 다수 채널 오디오 시스템)
또는 다른 오디오 시스템(622)(예, 스테레오 또는 홈 시어터 다수 채널 증폭기 및 스피커 시스템)을 구동하기
위해 아날로그 오디오로 변환되거나, 간단히 626에서 디코딩된 오디오 출력을 제공할 수 있다. 디멀티플렉서
(614)로부터의 비디오 패킷(비디오 PID로 식별될 것)은 암호 해독되고 비디오 디코더(630)로 전송된다. 유사한
방법으로, 디멀티플렉서(614)로부터의 데이터 패킷(데이터 PID로 식별된 것)은 암호 해독되고 데이터 디코더
(634)로 전송된다.
데이터 디코더(634)로부터 디코딩된 데이터 패킷은 시스템 버스(634)를 통해 셋톱 박스의 컴퓨터 시스템으로 전[0175]
송된다. 제어 컴퓨터(644)는 따라서 메모리(646) 내의 프로그램 및 데이터뿐만 아니라 시스템 버스(638)를 통해
데이터 디코더(634)로부터의 디코딩된 데이터로 액세스할 수 있다. 비디오 디코더(630)에 의해 디코딩된 비디오
데이터는 그래픽 프로세서(648)로 전달되는데, 프로세서는 그래픽 정보를 신속히 처리하기 위해 최적화된 컴퓨
터이다. 그래픽 프로세서(648)는 MHEG(Multimedia and Hypermedia information coding Experts Group) 셋톱 박
스 애플리케이션과 연관된 것과 같은 인터넷 브라우징, 게임 및 멀티미디어 애플리케이션과 연관된 그래픽 중심
의 데이터를 처리하는데 특히 유용하다. 그러나, 그래픽 프로세서(648)의 기능이 더 낮은 성능을 가진 일부 셋
톱 박스에서 불필요할 수 있으며, 그래픽 프로세서(648)의 기능은 디코딩된 비디오가 디멀티플렉서(614)에서 비
디오 인코더로 직접 전송되는 일부 애플리케이션에서 제어 컴퓨터(644)에 의해 처리될 수 있는 것이 주의되어야
한다. 그래픽 프로세서(648)는 또한 시스템 버스(638)에 연결되며 제어 컴퓨터(644)의 제어 하에 작동한다.
STB(600)과 같은 많은 셋톱 박스는 소위 "스마트 카드"와의 통신을 위해 스마트 카드 판독기(140)와 결합될 수[0176]
있으며, 이것은 종종 조건부 액세스 모듈(CAM; Conditional Access Module)의 역할을 한다. CAM은 일반적으로
연관된 RAM 및 ROM 메모리와 함께 자체 CPU를 포함한다. 이러한 스마트 카드 기반 CAM은 사용자의 인증 및 인가
된 암호 키의 서비스 및 저장의 인가뿐만 아니라 사용자가 수행한 거래의 인증을 위해 종래 기술에서 이용되었
다. 예컨대, CAM은 인입 암호화 데이터를 디코딩하기 위한 키를 컨텐츠에 제공하는데 사용될 수 있는데, CAM은
사용자가 이 컨텐츠를 수신하도록 인가되었는지를 결정한다.
STB(600)은 데이터 및 다른 정보가 시스템의 헤드엔드로부터 최종 사용자에게, 또는 서비스 제공자로부터[0177]
STB(600)의 최종 사용자에게 뿐만 아니라, 대역 외 채널을 사용하여 최종 사용자로부터 상방으로 전송될 수 있
도록, 양방향 통신 모드로 작동할 수 있다. 일 실시예에서, 이러한 데이터는 시스템 버스(638)를 통해 변조기
(652)로 튜너(608)의 일부를 형성하는 디플렉서를 통해 그리고 전송 매체(604)를 통해 전송된다. 이 기능은, 정
보를 헤드 엔드(예, 서비스 요청 또는 변경, 등록 정보 등)로 전송할 뿐만 아니라 인터넷과의 신속한 아웃바운
드(outbound) 통신 또는 헤드 엔드에서 최종 사용자에게 제공된 다른 서비스를 제공하기 위한 메커니즘을
STB(600) 및/또는 그 사용자에게 제공하는데 사용된다.
셋톱 박스(600)는 셋톱 박스(600)와 I/O(Input/Output) 디바이스의 상호 연결을 허용하는 I/O 인터페이스(65[0178]
6)로 표현되는 임의의 복수의 I/O 인터페이스를 포함할 수 있다. 제한이 아닌, 예로써, 직렬 RS-232 포트는
STB(600)의 내장 소프트웨어에 의해 지원된 임의의 적당한 직렬 디바이스로의 상호 연결을 인에이블하기 위해
등록특허 10-1087273
- 20 -
제공될 수 있다. 유사하게, 적절하게 호환가능한 디바이스와의 통신은 이더넷 포트, USB(Universal Serial Bus)
포트, IEEE 1394(소위 firewire
TM
또는 i-link
TM
) 또는 IEEE 1394 와이드 포트 또는 S-비디오 포트를 통해 제공
될 수 있다. 적외선 인터페이스(660)는 원격 제어기(666)와의 통신을 제공한다. 이러한 인터페이스는 기억 장치
디바이스, 오디오/비디오 디바이스, 게임 디바이스(미도시), 인터넷 어플라이언스(28) 등과 같은 임의의 다양한
액세서리 디바이스와 STB(600)을 상호 연결하는데 이용될 수 있다.
I/O 인터페이스(656)는 또한 인터넷 또는 다른 데이터 통신 기능과의 고속 또는 대안적인 액세스를 촉진하기 위[0179]
해 모뎀 포트를 구비하는 모뎀(다이얼-업, 케이블, DSL 또는 다른 기술의 모뎀)을 포함할 수 있다. 바람직한 일
실시예에서, 모뎀 포트(162)는 케이블 시스템에 대한 고속 네트워크 액세스를 촉진하기 위한 DOCSIS(Data Over
Cable System Interface Specification) 케이블 모뎀의 포트이며, 포트는 동축 케이블로 구현된 전송 매체
(604)에 적절히 연결된다. 따라서, STB(600)은 DOCSIS 케이블 모뎀을 통해 양방향 통신을 수행할 수 있으며
STB(600)은 고유한 IP 어드레스에 의해 식별된다. DOCSIS 규격은 공개적으로 이용가능하다.
PS/2 또는 다른 키보드/마우스/조이스틱 인터페이스는 STB(600)으로의 데이터 진입을 용이하게 하기 위해 제공[0180]
될 수 있다. 이러한 입력은 사용자에게 쉽게 데이터를 입력하고/하거나 포인팅 디바이스를 사용해 탐색할 수 있
는 능력을 제공한다. 마우스 또는 조이스틱과 같은 포인팅 디바이스는 게임 애플리케이션에 사용될 수 있다.
물론, STB(600)은 또한 IEEE 1394 연결 대신(또는 이에 추가하여) 텔레비전 세트와의 직접 연결을 위해 사용될[0181]
수 있는 기본 비디오 출력과 결합될 수 있다. 일 실시예에서, 비디오 출력은 NTSC(National Television System
Committee) 비디오로 포맷된 복합 비디오를 제공할 수 있다. 일부 실시예에서, 비디오 출력은 예시적인 블록도
에서 도시된 것처럼 시스템 버스(638)를 통과하기 보다는 그래픽 프로세서(648) 또는 디멀티플렉서/디스크램블
러(614)에 직접 연결함으로써 제공될 수 있다. S-비디오 신호는 다른 실시예에서 요구되는 경우 시스템 버스
(638)를 통과하지 않고 유사하게 제공될 수 있다.
적외선 인터페이스(660)는 적외선 원격 제어기(666), 적외선 키보드 또는 다른 적외선 제어 디바이스로부터 명[0182]
령을 수신한다. 명시적으로 도시되지 않았다고 해도, 전면 패널 제어부는 제공된 인터페이스들 중 하나로서 전
면 패널 제어부 인터페이스를 통해 STB(600)의 작동을 직접 제어하기 위해 일부 실시예에서 사용될 수 있다. 위
에 설명된 것 등과 같은 선택된 인터페이스는 요구되거나 원하는 바와 같이 다양한 조합으로 STB(600)에 제공될
수 있다.
본 발명에 따른 하나의 예시적인 실시예에서, STB(600)은 복수의 엔딩에서 선택된 것과 같은, 복수의 컨텐츠를[0183]
제어하는데 이용될 수 있다. 이러한 한 시나리오에서, 지정된 세트의 PID를 가진 주 프로그램 컨텐츠는 프로그
램의 종료 부근까지 일반적인 방법으로 재생된다. 이 시점에서, 시청자에게 스크린 상의 메뉴 선택이 제공되며
이로부터 복수의 엔딩 중 하나가 제공된다. 간단한 일례로서, 다음과 같은 3가지 세트의 PID와 연관된 3가지 가
능한 엔딩이 있을 수 있다: 1) PID A- 소년이 소녀를 얻고, 착한 사람이 이긴다, 2) PID B- 소녀는 죽고, 착한
사람이 이긴다, 3) PID C- 소녀는 죽고, 나쁜 사람이 이긴다.
원격 제어기(666) 또는 임의의 다른 적절한 입력 메커니즘을 사용하여, 시청자는 가능한 엔딩 중에서 선택한다.[0184]
제한된 시간이 기본 설정 엔딩이 보여지기 전에(엔딩의 선택을 할 수 있도록 컨텐츠에서 2분간 정지) 이러한 선
택을 하기 위해 제공될 수 있다. 사용자 선택에 대한 응답으로, 제어 컴퓨터(644)는 사용자가 선택한 엔딩을 선
택하기 위해 PID 디코더(614)를 프로그래밍한다. 이 정지가 완료된 이후에, 프로그래밍은 PID 디코더로 선택된
엔딩을 위한 오디오 및 비디오 데이터가 재생되도록 하기 위해 재맵핑하는 적절한 PID를 계속해서 만든다. 따라
서, 프로그램이 PID A와 일반적으로 관련되고 사용자가 3번째 엔딩을 선택하는 경우, PID C를 지니는 패킷은 재
생을 위해 PID A로 재맵핑될 것이다. 따라서, 이 실시예에서, 사용자는 정상 컨텐츠를 위해 대체된 컨텐츠의 특
정 세그먼트의 재생을 위한 선택을 할 수 있다.
따라서, 본 발명의 특정 실시예에 따른 디코더는 컨텐츠를 나타내는 데이터를 수신하는 수신기를 구비하며, 데[0185]
이터는 제 1 및 제 2 컨텐츠 부분과 연관된 적어도 제 1 및 제 2 패킷 식별자(PID)를 가진다. 컨텐츠 디코더는
제 1 PID를 가지는 컨텐츠를 재생하기 위해 구성된다. 제어기는 대체 기준이 충족되었는지를 결정하고, PID 맵
퍼는 원래 제 2 PID를 가지는 컨텐츠가 재생되도록 제 2 PID를 가지는 컨텐츠를 제 1 PID로 맵핑한다.
따라서, 특정 실시예에 따른, 컨텐츠 대체를 위한 방법 및 장치는, 컨텐츠를 나타내는 데이터를 수신하는 단계[0186]
를 포함하며, 이 데이터는 컨텐츠의 제 1 및 제 2 매크로블록과 연관된 적어도 제 1 및 제 2 패킷 식별자(PID)
를 가진다. 제 1 PID를 가지는 컨텐츠는 데이터 스트림에 배치된다. PID 맵핑 작동의 시작을 가리키는 시작 플
래그가 수신된다. 제 2 PID를 가지는 컨텐츠가 이후 제 1 PID로 맵핑되며 맵핑된 컨텐츠는 데이터 스트림에 배
등록특허 10-1087273
- 21 -
치된다. PID 맵핑 작동의 종료를 가리키는 종료 플래그가 수신되는데, 이 시점에서 프로세스는 제 1 PID를 가지
는 컨텐츠를 데이터 스트림에 배치하는 단계로 되돌아온다. 컨텐츠 대체 프로세스는 광고를 교체하고, 컨텐츠를
감시하고, 복수의 플롯, 복수의 엔딩, 복수의 장면뿐만 아니라 다른 애플리케이션을 제공하는데 사용될 수
있다.
당업자는 본 발명이 프로그래밍된 프로세서(예, 컴퓨터 300)의 사용에 기초하여 예시적인 실시예의 관점에서 설[0187]
명되었다는 것을 인지할 것이다. 그러나, 본 발명은 이에 제한되어서는 안되는데, 그 이유는 본 발명은 설명되
고 청구된 것대로 본 발명에 대한 등가물인 특수 목적 하드웨어 및/또는 전용 프로세서와 같은 하드웨어 구성요
소 등가물을 사용하여 구현될 수 있다. 유사하게, 범용 컴퓨터, 마이크로프로세서 기반 컴퓨터, 마이크로-제어
기, 광학 컴퓨터, 아날로그 컴퓨터, 전용 프로세서 및/또는 전용 유선 로직은 본 발명의 대안적인 동등한 실시
예를 구성하는데 사용될 수 있다. 게다가, 본 발명은 재생 메커니즘을 제공하는 범용 PC의 관점에서 설명되었으
나, 재생은 본 발명을 이탈하지 않고 전용 기기 상에서 수행될 수 있다. 역으로, 본 디코더는 상태 기기의 관점
에서 설명되었고 이러한 상태 기기는 하드웨어 또는 소프트웨어 기반 상태 기기로서 구현될 수 있다. 게다가,
당업자는 상기 예시적인 실시예와 연관하여 설명된 정확한 레지스터 구성, PID 프로토콜 및 다른 세부 사항은
제한하는 것으로 생각되어서는 안되며, 설명의 방법으로 제시된 것이다.
당업자는 전술한 실시예를 구현하는데 사용된 프로그램 단계 및 관련 데이터는 또한 본 발명의 범위를 이탈하지[0188]
않는 ROM 디바이스, RAM 디바이스; 광학 기억장치 요소, 자기 기억장치 요소, 자기-광학 기억장치 요소, 플래시
메모리, 코어 메모리 및/또는 다른 동등한 기억장치 기술과 같은 다른 형태의 기억장치뿐만 아니라 디스크 기억
장치를 사용하여 구현될 수 있다. 이러한 대안적인 기억장치 디바이스는 등가물로 간주되어야 한다.
본 명세서의 실시예에서 설명된 것처럼, 본 발명은 임의의 적합한 전자 기억장치 매체 상에서 저장되거나 임의[0189]
의 적합한 전자 통신 매체를 통해 전송될 수 있거나 그렇지 않으면 임의의 컴퓨터 판독가능한 또는 전달 매체에
제시될 수 있는 앞서 널리 설명된 형태의 프로그래밍 명령어를 실행하는 프로그래밍된 프로세서를 사용하여 구
현된다. 그러나, 당업자는 전술한 프로세스가 본 발명을 이탈하지 않고 임의의 수의 변형예와 많은 적당한 프로
그래밍 언어로 구현될 수 있다는 것을 이해할 것이다. 예컨대, 수행된 특정 작동의 순서는 종종 변경될 수
있고, 추가적 작동이 추가될 수 있거나 작동은 본 발명을 이탈하지 않고 삭제될 수 있다. 오류 트래핑(error
trapping)은 추가되고/되거나 강화될 수 있으며 변형은 본 발명을 이탈하지 않고 사용자 인터페이스 및 정보 제
시에서 이루어질 수 있다. 이러한 변형은 등가물로 고려되고 간주된다.
본 발명의 특정 양상을 구현하는 소프트웨어 코드 및/또는 데이터는, 반송파, 전자 신호, 데이터 구조(예,[0190]
트리, 링크된 목록, 테이블, 패킷, 프레임 등), 광학 신호, 전달된 신호, 방송 신호, 전송 매체(예, 회로 연결,
케이블, 트위스티드 쌍, 광섬유 케이블, 웨이브 가이드(waveguide), 안테나 등) 및 코드 및/또는 데이터를 저장
하고, 전송하거나 전달하는 다른 매체뿐만 아니라, 전술한 것과 같은 전자 기억장치 디바이스를 포함하지만, 이
에 국한되지 않는, 임의의 컴퓨터 판독가능 매체, 전송 매체, 저장 매체 또는 전달 매체에 제시될 수 있다. 이
러한 매체는 소프트웨어 코드 및/또는 데이터를 저장하거나 한 위치에서 다른 위치로 코드 및/또는 데이터를 전
송하는 역할을 할 수 있다. 본 예시적인 실시예에서, MPEG를 따르는 패킷, 슬라이스, 테이블 및 다른 데이터 구
조가 사용되지만, 이것은 제한하는 것으로 간주되어서는 안되는데, 그 이유는 다른 데이터 구조가 본 발명을 이
탈하지 않고 유사하게 사용될 수 있기 때문이다.
본 발명이 특정 실시예와 연관하여 설명되는 동안, 많은 대안, 변형, 교체 및 변경이 전술한 설명의 견지에서[0191]
당업자에게 명백해질 것이 분명하다. 따라서, 본 발명은, 첨부된 청구항의 범위에 해당되는 것과 같은 모든 이
러한 대안, 변형 및 변경을 포함하는 것으로 의도된다.
산업상 이용 가능성
본 발명은 PID 맵핑에 의한 매크로-블록 기반 컨텐츠 교체에 관한 것으로, 컨텐츠 대체의 방법 및 이 방법을 수[0192]
행하는 명령어를 저장하는 컴퓨터 판독가능한 매체 등에 이용가능하다.
도면의 간단한 설명
도 1은 본 발명의 특정 실시예에 따른 컨텐츠 대체를 위한 프로세스를 도시하는 흐름도.[0006]
도 2는 본 발명의 특정 실시예에 따른 케이블 시스템의 블록도.[0007]
도 3은 본 발명의 특정 실시예에 따른 제어 컴퓨터의 블록도.[0008]
등록특허 10-1087273
- 22 -
도 4는 본 발명의 특정 실시예에 따른 대체 광고를 도시한 도면. [0009]
도 5는 본 발명의 특정 실시예에 따른 다수 플롯, 다수 엔딩 영화를 도시한 도면.[0010]
도 6은 본 발명의 특정 실시예에 따른 마커를 도시한 도면.[0011]
도 7은 본 발명의 특정 실시예에 따른 로컬 배너 광고의 대체 및 로고의 추가를 도시한 도면.[0012]
도 8은 비디오 프레임을 구성하는 매크로블록의 배열을 도시한 도면.[0013]
도 9는 매크로블록 레벨에서 컨텐츠 대체를 도시한 도면.[0014]
도 10은 본 발명의 특정 실시예에 따른 디코더 상태 기계의 상태도.[0015]
도 11은 본 발명의 특정 실시예에 따른 대체 모드를 도시한 도면.[0016]
도 12는 본 발명의 특정 실시예에 따른 삽입 모드를 도시한 도면.[0017]
도 13은 본 발명의 특정 실시예에 따른 삽입/삭제 모드를 도시한 도면.[0018]
도 14는 본 발명의 특정 실시예에 따른 디지털 텔레비전 셋톱 박스를 위한 예시적인 시스템 구성을 도시한[0019]
도면.
도면
도면1
등록특허 10-1087273
- 23 -
도면2
등록특허 10-1087273
- 24 -
도면3
등록특허 10-1087273
- 25 -
도면4
등록특허 10-1087273
- 26 -
도면5
등록특허 10-1087273
- 27 -
도면6
등록특허 10-1087273
- 28 -
도면7
등록특허 10-1087273
- 29 -
도면8
등록특허 10-1087273
- 30 -
도면9
등록특허 10-1087273
- 31 -
도면10
등록특허 10-1087273
- 32 -
도면11
등록특허 10-1087273
- 33 -
도면12
등록특허 10-1087273
- 34 -
도면13
등록특허 10-1087273
- 35 -
도면14
등록특허 10-1087273
- 36 -