이하, 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
도 1은 본 발명의 실시 예에 따른 디지털방송수신기에서의 방송안내데이터 디코딩 장치의 구성을 나타내는 구성도이다.
도 1에 도시된 바와 같이, 디지털방송수신기에서의 방송안내데이터 디코딩 장치(100)는, 지정된 서비스 채널의 방송신호를 수신하여 복조하는 방송수신부(110)와; 방송 안내 데이터의 디코딩을 위한 템플릿들을 저장하는 저장부(120)와; 상기 복조되는 방송신호로부터 방송 안내 데이터를 추출하여 상기 저장부(120)에 저장하며, 디코딩 시 특정 템플릿을 이용하여 상기 방송 안내 데이터를 디코딩하는 제어부(130)를 포함하여 구성될 수 있다.
또한 상기 디지털방송수신기에서의 방송안내데이터 디코딩 장치(100)는, 상기 방송신호에서 분리되는 영상신호의 표시를 위한 표시부(140)와; 상기 방송신호에서 분리되는 음성신호의 출력을 위한 스피커(150)와; 사용자로부터의 입력을 위한 입력부(160)를 포함하여 구성될 수 있다.
상기 방송수신부(110)는 상기 제어부(130)의 제어에 의해 지정된 서비스 채널에 주파수를 맞추어 해당 주파수를 통해 변조된 방송신호를 수신하고 복조한다.
이를 위해 상기 방송수신부(110)는 지정된 주파수에 동조하여 해당 주파수의 신호를 수신하는 튜너(112)와; 상기 튜너(112)에 수신되는 변조된 방송신호의 복조를 위한 복조기(114)를 포함하여 구성될 수 있다.
상기 방송수신부(110), 즉, 상기 튜너(112) 및 복조기(114)는 상기 제어부(130)에 의해 일정 시간 간격으로 온/오프 제어될 수 있는데, 이를 통해 일정 시간 간격으로 서비스되는 특정 방송 신호를 수신하여 복조할 수 있다.
상기 저장부(120)는 방송수신 및 재생을 포함하는 기기 운영과 관련된 프로그램 데이터 및 사용자 데이터를 저장하며, 본 발명의 실시 예에 따라 방송 안내 데이터의 디코딩을 위한 다수의 템플릿들을 저장한다.
상기 제어부(130)는 상기 방송수신부(110)에 수신되는 방송신호의 프로토콜을 처리하여 해당 방송신호를 비디오 신호, 오디오 신호, 데이터 신호로 구분한다. 또한 상기 제어부(130)는 상기 비디오 신호와 오디오 신호를 각각 디코딩하고 상기 표시부(140)와 스피커(150)로 출력하여 방송을 재생한다.
이를 위해 상기 제어부(130)는 상기 방송신호의 프로토콜을 처리하여 해당 방송신호를 비디오 신호, 오디오 신호, 데이터 신호로 구분하기 위한 프로토콜 처리부(132)와; 상기 비디오 신호와 오디오 신호의 디코딩을 위한 적어도 하나의 소스 디코더(134)를 포함하여 구성될 수 있다.
상기 입력부(160)는 키패드와 터치패널 중 적어도 하나로 구성될 수 있으며, 상기 표시부(140)와 하나의 터치패널(터치스크린) 형태로 구성되어 입력기능과 표시기능을 함께 수행할 수 있다.
상기 제어부(130)는 상기 데이터 신호를 상기 저장부(120)에 저장하고, 디코딩 시, 상기 저장부(120)에 저장된 템플릿을 참조하여 디코딩를 수행할 수 있다. 상기 데이터 신호는 ESG(Electronic Service Guide)와 같은 방송 안내 데이터일 수 있다. 상기 데이터 신호는 BiM(Binary format for Multimedia description streams) 프래그먼트(fragment)들로 구성되는 다수의 ESG 컨테이너(container)일 수 있다. 상기 BiM 프래그먼트들은 큐집(qzip)과 같은 특정 압축 방식에 의해 ESG 컨테이너로 압축될 수 있는데, 상기 BiM 프래그먼트의 데이터를 읽기 위해 상기 제어부(130)는 먼저 ESG 컨테이너의 압축 해제를 수행할 수 있다.
상기 제어부(130)는 방송 안내 데이터로의 접근이 이루어지는 경우, 예컨대, 사용자가 메뉴 설정 등을 통해 방송 안내 데이터로 접근하는 경우, 해당 부분의 ESG 데이터(ESG 컨테이너)에 포함된 BiM 프래그먼트 각각에 대해 디코딩를 수행한다. 이때 상기 제어부(130)는 상기 저장부(120)에 저장된 템플릿(template)들 중에서 상기 디코딩할 BiM 프래그먼트와 일치하는 구조체를 갖는 템플릿이 존재하는지를 판단한다.
예컨대, 도 2에 도시된 바와 같이, 디코딩할 BiM 프래그먼트(210)의 비트들이 기저장된 템플릿 중 하나(220)와 완전히 매칭되면 해당 템플릿(220)을 이용하여 디코딩을 수행한다. 여기서 '템플릿'은 BiM 프래그먼트의 XML 데이터, 즉 비트들을 구조를 나타내는 비트와 값을 나타내는 비트로 구분하여 구조를 나타내는 비트들, 즉, 구조체들만으로 구성한 것을 말한다. 도 2는 본 발명의 실시 예에 따른 템플릿 매칭의 일예를 나타내는 도면이다.
상기와 같은 템플릿을 이용한 디코딩은 XML 데이터의 특성 상 구조가 일치하는 데이터가 많기 때문에 가능한데, 자주 쓰이는 데이터 형태의 템플릿들을 상기 저장부(120)에 미리 저장시켜 놓음으로써 구조가 일치하는 템플릿을 이용하여 더 빠른 디코딩을 수행할 수 있다. 템플릿에 의해 구조체 부분이 모두 알려지고 값을 나타내는 비트들만 디코딩를 수행하면 되기 때문에 빠른 디코딩을 수행할 수 있다.
한편, 상기 저장부(120)에 저장된 템플릿들 중에서 상기 디코딩할 BiM 프래 그먼트와 일치하는 구조체를 갖는 템플릿이 존재하지 않는 경우, 상기 제어부(130)는 BiM 프래그먼트의 각각의 비트들에 대해 디코딩을 수행하며 새로운 템플릿을 만들 수 있는데, 먼저 BiM 프래그먼트의 각 비트가 구조를 나타내는 것인지 값을 나타내는 것인지를 판단한다. 이때, BiM 프래그먼트를 구성하는 각각의 비트에 대해 해당 디코딩 스키마에 따라 심플 타입으로 처리되는 부분은 값을 나타내는 비트로 처리하고 나머지는 구조를 나타내는 비트로 처리한다. 이는 도 3a 및 3b를 예를 들어 설명하기로 한다.
도 3a 및 3b는 본 발명의 실시 예에 따른 BiM 프래그먼트의 데이터 구조를 나타낸 도면이다.
도 3a를 참조하면, 사각형 테두리 안의 비트는 값을 나타내는 비트이며, 나머지는 구조를 나타내는 비트이다. 구조를 나타내는 비트는 ISO/IEC의 표준명세서(ISO/IEC FDIS 15938 1:2001(E))에 의해 지정된 디코딩 프로세스에 기술되어 있으며, 이하 [표 1]을 참고하여 예를 들어 설명하기로 한다. 하기의 [표 1]은 도 3a에 도시된 BiM 프래그먼트 데이터에 존재하는 템플릿 아이템들을 순서대로 나타낸 도표이다.
템플릿 아이템 |
설명 |
결과 |
00010000 |
Decoding Modes |
00010000 |
110 |
SchemaModeUpdate |
110 |
1 |
clearToAir있음 |
1 |
1 |
{clearToAir, boolean, 1} |
V |
1 |
freeToAir있음 |
1 |
0 |
{freeToAir, boolean, 1} |
V |
|
{serviceID, dvdString, 0} |
V |
00000 |
ServiceName 개수 |
00000 |
0 |
length없음 |
0 |
1 |
phoneticAlphabet 있음 |
1 |
11 |
{phoneticAlphabet, enumeration, 2} |
V |
0 |
phoneticTranscription 없음 |
0 |
0 |
xml:lang 없음 |
0 |
|
{content, dvdString, 0} |
V |
1 |
ServiceNumber 있음 |
1 |
0 0000 0000 0000 0101 |
{ServiceNumber, unsignedInt, 17} |
V |
... |
... |
... |
예컨대, 처음 '00010000'의 템플릿 아이템은 단순한 '0' 또는 '1'의 비트값이 아니라 디코딩 모드(Decoding Mdoes)를 나타내는 구조체이고, 다음 '110'은 스키마모드 업데이트(SchemaModeUpdate)를 나타내는 구조체이며, 다음'1'은 클리어투에어(clearToAir), 즉, 값(value)을 나타내는 비트가 이후에 있음을 알리는 구조체이다. 상기 값을 나타내는 비트가 이후에 있음을 알리는 구조체에 의해 그 이후의 '1'이 값을 나타내는 비트로 판별될 수 있다.
상기 템플릿 아이템들은 하기의 [표 2]와 같은 형식으로 정의될 수 있다.
템플릿 아이템 설명 |
Type |
STRUCT(구조체) 또는 VALUE(값) |
STRUCT인 경우 사용 |
bit |
한 bit를 나타냄, 0 또는 1 |
VALUE인 경우 사용 |
name |
Element나 Attribute의 name |
data_type |
Element나 Attribute의 type 또는 base type |
length |
몇 bit를 차지하는지 나타냄, 가변 bit인 경우 -1 |
즉, 상기 [표 1] 및 [표 2]와 같은 형태의 정보가 상기 저장부(120)에 저장될 수 있으며, 이에 따라 상기 제어부가 BiM 프래그먼트 데이터를 템플릿 형태로 만들 수 있다.
이와 같은 방식에 따라 상기 제어부(130)는 도 3a와 같은 BiM 프래그먼트 데이터에 대해 디코딩을 함과 동시에, 구조를 나타내는 비트와 값을 나타내는 비트를 구분하여 구조를 나타내는 비트들만으로 도 3b와 같은 형태의 템플릿을 만들 수 있다.
상기 제어부(130)는 상기와 같이 만들어진 템플릿을 저장부(120)에 저장하여 이후 같은 구조를 같는 BiM 프래그먼트의 디코딩 시에 이용할 수 있도록 한다.
상기 본 발명에 따른 디지털방송수신기에서의 방송안내데이터 디코딩 장치(100)는 DVB-H 단말기와 같은 방송수신 및 재생이 가용한 이동통신단말기일 수 있다. 이에 따라, 도시되진 않았으나, 상기 디지털방송수신기에서의 방송안내데이터 디코딩 장치는, 근거리무선통신 모듈을 포함하는 무선통신부, 메모리 카드와 같은 외부저장매체를 삽입하여 데이터 저장을 가능토록 하는 저장매체 삽입부, 카메라 모듈, 마이크로폰과 같은 음성 신호 입력장치, 외부 디지털 기기와의 데이터 교환을 위한 연결단자, 충전용 단자, MP3 모듈과 같은 디지털 음원 재생 모듈 등의 부가 기능을 갖는 유닛들을 선택적으로 더 포함하여 구성될 수 있다.
디지털 기기의 컨버전스(convergence) 추세에 따라 그 변형이 매우 다양하여 모두 열거할 수는 없으나, 상기 언급된 유닛들과 동등한 수준의 유닛이 본 발명에 따른 디지털방송수신기에서의 방송안내데이터 디코딩 장치(100)에 추가로 더 포함되어 구성될 수 있다는 것은 본 기술 분야의 통상의 지식을 가진 자라면 쉽게 이해할 수 있을 것이다.
도 4는 본 발명의 실시 예에 따른 디지털방송수신기에서의 방송안내데이터 디코딩 방법의 절차를 나타내는 흐름도이다.
도 4에 도시된 바와 같이, S410 단계에서 방송 안내 데이터, 즉, ESG 데이터의 로딩(loading)(혹은 디코딩)이 요구되면, S420 단계에서 상기 제어부(130)는 해당 부분의 ESG 데이터의 BiM 프래그먼트의 데이터를 가져와 기저장된 템플릿들 중 구조체가 매칭되는 템플릿이 있는지를 판단한다.
상기 판단 결과, 매칭되는 템플릿이 있으면, S430 단계에서 상기 제어부(130)는 해당 템플릿을 이용하여 상기 BiM 프래그먼트의 디코딩을 수행한다. 즉, 해당 템플릿의 구조체를 그대로 이용하고 값에 해당하는 비트들만 디코딩을 수행하여 데이터를 읽는다.
한편 상기 판단 결과, 매칭되는 템플릿이 없으면, S440 단계에서 상기 제어부(130)는 BiM 프래그먼트의 각각의 비트들에 대해 디코딩을 수행하며 새로운 템플릿을 만들어 저장한다. 전술한 바와 같이, 상기 제어부(130)는 먼저 BiM 프래그먼트의 각 비트가 구조를 나타내는 것인지 값을 나타내는 것인지를 구분하고, 구조를 나타내는 비트들만으로 템플릿을 만들 수 있다.
이어서 S450 단계에서 상기 제어부(130)는 디코딩할 BiM 프래그먼트가 더 있는지를 판단한다. 판단 결과 디코딩할 BiM 프래그먼트가 더 있는 경우 상기 제어부(130)는 상기 S420 단계로 돌아가 다음 BiM 프래그먼트와 매칭되는 템플릿이 존재하는지를 판단하고, 판단 결과에 따라 이후의 과정들을 선택적으로 수행할 수 있다.
한편 각 BiM 프래그먼트의 구조체 타입을 미리 지정하고, 각 BiM 프래그먼트나 해당 ESG 컨테이너 등에 각 BiM 프래그먼트의 구조체 타입을 표시하여 보다 빠른 디코딩을 수행할 수도 있는데, 이는 도 5를 참조하여 설명하기로 한다.
도 5는 본 발명의 다른 실시 예에 따른 디지털방송수신기에서의 방송안내데이터 디코딩 방법의 절차를 나타내는 흐름도이다.
도 5에 도시된 바와 같이, S510 단계에서 ESG 데이터의 로딩이 요구되면, S520 단계에서 상기 제어부(130)는 해당 부분의 ESG 데이터의 BiM 프래그먼트의 구조체 타입을 인식한다. 이어서 S530 단계에서 상기 제어부(130)는 인식된 구조체 타입의 템플릿이 저장되어 있는지를 판단한다.
상기 판단 결과 인식된 구조체 타입의 템플릿이 저장되어 있는 경우, S540 단계에서 상기 제어부(130)는 해당 템플릿을 이용하여 상기 BiM 프래그먼트를 디코딩한다.
한편 상기 판단 결과 인식된 구조체 타입의 템플릿이 저장되어 있지 않은 경우, S550 단계에서 상기 제어부(130)는 BiM 프래그먼트의 각각의 비트들에 대해 디코딩을 수행하며 새로운 템플릿을 만들어 저장한다.
예컨대, 상기 제어부(130)는 도 7의 프레그먼트(710)와 매칭되는 템플릿이 없는 경우, 프레그먼트(710)의 구조체들로 템플릿(720)을 만들 수 있다. 도 7은 본 발명에 따른 방송 안내 데이터의 디코딩 과정의 일예를 나타낸 예시도이다.
이어서 S560 단계에서 상기 제어부(130)는 디코딩할 BiM 프래그먼트가 더 있는지를 판단한다. 판단 결과 디코딩할 BiM 프래그먼트가 더 있는 경우 상기 제어부(130)는 상기 S520 단계로 돌아가 이후의 과정들을 선택적으로 수행할 수 있다.
예컨대, 상기 제어부(130)는 도 7의 프레그먼트(730)를 디코딩하는 경우, 해당 부분의 ESG 데이터의 BiM 프래그먼트의 구조체 타입(740)을 인식하고, 이 구조체와 일치하는 템플릿(720)을 이용하여 상기 프레그먼트(730)을 디코딩할 수 있다.
위와 같은 구조체 타입에 따른 템플릿 이용을 위해 미리 지정된 구조체 타입에 따라 다수의 템플릿들을 미리 저장부(120)에 저장시켜 놓거나, 혹은 ESG 데이터의 전송 시 해당 ESG 데이터의 BiM 프래그먼트들의 구조체 타입에 해당하는 템플릿들을 함께 제공하여 저장부(120)에 저장하도록 할 수 있다.
도 6은 본 발명의 또 다른 실시 예에 따른 디지털방송수신기에서의 방송안내데이터 디코딩 방법의 절차를 나타내는 흐름도이다.
도 6에 도시된 바와 같이, S610 단계에서 ESG 데이터의 로딩이 요구되면, S620 단계에서 상기 제어부(130)는 해당 부분의 ESG 데이터의 BiM 프래그먼트의 구조체 타입을 인식한다. 이어서 S630 단계에서 상기 제어부(130)는 인식된 구조체 타입의 템플릿이 저장되어 있는지를 판단한다.
상기 판단 결과 인식된 구조체 타입의 템플릿이 저장되어 있는 경우, S650 단계에서 상기 제어부(130)는 해당 템플릿을 이용하여 상기 BiM 프래그먼트를 디코딩한다.
한편 상기 판단 결과 인식된 구조체 타입의 템플릿이 저장되어 있지 않은 경우, S640 단계에서 상기 제어부(130)는 해당 부분의 ESG 데이터의 BiM 프래그먼트의 데이터를 가져와 기저장된 템플릿들 중 구조체가 매칭되는 템플릿이 있는지를 판단한다.
상기 판단 결과, 매칭되는 템플릿이 있으면, S650 단계에서 상기 제어부(130)는 해당 템플릿을 이용하여 상기 BiM 프래그먼트의 디코딩을 수행한다.
한편 상기 판단 결과, 매칭되는 템플릿이 없으면, S660 단계에서 상기 제어부(130)는 BiM 프래그먼트의 각각의 비트들에 대해 디코딩을 수행하며 새로운 템플릿을 만들어 저장한다.
이어서 S670 단계에서 상기 제어부(130)는 디코딩할 BiM 프래그먼트가 더 있는지를 판단한다. 판단 결과 디코딩할 BiM 프래그먼트가 더 있는 경우 상기 제어부(130)는 상기 S620 단계로 돌아가 이후의 과정들을 선택적으로 수행할 수 있다.
이상에서는 본 발명에서 특정의 바람직한 실시 예에 대하여 도시하고 또한 설명하였다. 그러나, 본 발명은 상술한 실시 예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다. 즉, ESG 데이터의 BiM 프래그먼트가 아니더라도 본원 발명의 템플릿과 같은 구조체 형식을 이용하여 구조체 데이터를 디코딩하는 기술에 본원발명이 적용될 수 있을 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.