(19) 대한민국특허청(KR)
(12) 등록특허공보(B1)
(45) 공고일자 2009년10월19일
(11) 등록번호 10-0922391
(24) 등록일자 2009년10월12일
(51) Int. Cl.
H04N 7/64 (2006.01)
(21) 출원번호 10-2004-7001716
(22) 출원일자 2002년07월29일
심사청구일자 2007년07월25일
(85) 번역문제출일자 2004년02월03일
(65) 공개번호 10-2004-0022230
(43) 공개일자 2004년03월11일
(86) 국제출원번호 PCT/IB2002/003204
(87) 국제공개번호 WO 2003/015419
국제공개일자 2003년02월20일
(30) 우선권주장
01202956.7 2001년08월03일
유럽특허청(EPO)(EP)
(56) 선행기술조사문헌
EP1137005 A
SIGNAL PROCESSING. IMAGE COMMUNICATION,
ELSEVIER SCIENCE PUBLISHERS, AMSTERDAM, NL,
vil. 14, no. 6-8, May 1999, Pages 599-606
(73) 특허권자
코닌클리케 필립스 일렉트로닉스 엔.브이.
네델란드왕국, 아인드호펜, 그로네보드스베그 1
(72) 발명자
클라인미드디링크마크더블류티
네덜란드아인트호벤아아엔엘-5656홀스트란6
펀켄랄프에프엠
네덜란드아인트호벤아아엔엘-5656홀스트란6
(뒷면에 계속)
(74) 대리인
장훈
전체 청구항 수 : 총 11 항 심사관 : 김대일
(54) A/V 데이터의 스트리밍 보호
(57) 요 약
A/V 데이터 스트리밍에 있어서, 에러들을 보호하는 개선 및 은폐하는 기회들을 제공하는 프레임 구조가
정의된다. 상기 프레임은 헤더 블록(10) 및 복수의 서브-블록들(22, 24, 26, 28)을 포함한다. 서브-블록들 각각
은 A/V 신호의 미리 결정된 연속적인 기간들에 대응하는 디지털 방식으로 인코딩된 오디오/비디오 데이터를 포함
한다. 상기 서브-블록들은 일반적으로 가변 길이이다. 헤더 블록 및 각각의 서브-블록들에 있어서, 프레임에는
송신 동안 연관된 블록을 보호하는 각 연관된 에러 보호 코드(31, 32, 34, 36, 38)가 존재한다. 또한, 헤더 블록
(10)은 프레임내의 서브-블록들 중 적어도 하나의 위치에 관한 정보를 제공하는 위치 정보를 포함한다.
대 표 도
- 1 -
등록특허 10-0922391
(72) 발명자
오오멘아르놀두스더블류제이
네덜란드아인트호벤아아엔엘-5656홀스트란6
반디케르크호프레옹엠
네덜란드아인트호벤아아엔엘-5656홀스트란6
- 2 -
등록특허 10-0922391
특허청구의 범위
청구항 1
오디오/비디오 신호를 프레임들의 스트림 형태로 송신하기 위한 송신기 및 수신기를 포함하는 시스템으로서, 각
프레임은 헤더 블록 및 복수의 서브-블록들을 포함하고; 상기 서브-블록들 각각은 상기 오디오/비디오 신호의
미리 결정된 연속적인 기간들에 대응하는 디지털 방식으로 인코딩된 오디오/비디오 데이터를 포함하고; 상기 서
브-블록들이 가변 길이를 가질 수 있는, 상기 시스템에 있어서,
상기 프레임은, 상기 헤더 블록 및 상기 서브-블록들 각각에 대하여, 송신 동안 연관된 블록을 보호하기 위한
각 연관된 에러 보호 코드를 포함하고; 상기 헤더 블록은 상기 프레임내의 상기 서브-블록들 중 적어도 하나의
위치에 관한 정보를 제공하는 위치 정보 필드를 포함하는, 시스템.
청구항 2
제1항에 있어서, 상기 에러 보호 코드들 각각은 상기 코드에 의해 보호되는 상기 연관된 블록에 바로 인접하여
위치되는, 시스템.
청구항 3
제1항에 있어서, 상기 위치 정보 필드는 상기 서브-블록들의 제 1 서브-블록들을 제외한 모든 위치에 관한 정보
를 제공하고; 상기 제 1 서브-블록들의 위치는 상기 서브-블록들에 선행하는 상기 프레임내의 모든 다른 요소들
의 총 길이로부터 유도될 수 있는, 시스템.
청구항 4
제3항에 있어서, 상기 서브-블록들에 선행하는 상기 프레임내의 모든 요소들의 총 길이는 미리 정해지는, 시스
템.
청구항 5
오디오/비디오 신호를 프레임들의 스트림 형태로 인코딩하는 방법에 있어서:
상기 오디오/비디오 신호의 미리 결정된 연속적인 기간들에 각각 대응하는 복수의 디지털 방식으로 인코딩된 오
디오/비디오 데이터 서브-블록들을 수신하는 단계로서, 상기 서브-블록들은 가변 길이를 가질 수 있는, 상기 수
신하는 단계와;
하나의 프레임에서 인코딩될 상기 오디오/비디오 데이터 서브-블록들에 관한 정보를 포함하는 헤더 블록을 생성
하는 단계로서, 상기 정보는 상기 프레임에 포함될 상기 서브-블록들 중 적어도 하나의 위치에 관한 위치 정보
를 포함하는, 상기 생성하는 단계와;
상기 헤더 블록에 대하여, 송신 또는 저장 동안 상기 헤더 블록을 보호하기 위한 연관된 헤더 에러 보호 코드를
계산하는 단계와;
상기 각 오디오/비디오 데이터 서브-블록들 각각에 대하여, 송신 또는 저장 동안 상기 연관된 서브-블록을 보호
하기 위한 각 연관된 서브-블록 에러 보호 코드를 계산하는 단계와;
상기 헤더 블록, 상기 연관된 헤더 에러 보호 코드 및 각각의 상기 데이터 서브-블록들 및 각 연관된 서브-블록
에러 보호 코드들을 포함하는 프레임들을 형성하고 송신 또는 저장하는 단계를 포함하는, 인코딩 방법.
청구항 6
인코딩 장치에 있어서:
오디오/비디오 신호의 미리 결정된 연속적인 기간들에 각각 대응하는 복수의 디지털 방식으로 인코딩된 오디오/
비디오 데이터 서브-블록들을 수신하는 입력으로서, 상기 서브-블록들은 가변 길이를 가질 수 있는, 상기 입력
과;
인코딩될 상기 오디오/비디오 데이터 서브-블록들에 관한 정보를 포함하는 헤더 블록을 생성하는 수단으로서,
- 3 -
등록특허 10-0922391
상기 정보는 프레임에 포함될 상기 서브-블록들 중 적어도 하나의 위치에 관한 위치 정보를 포함하는, 상기 생
성 수단과;
상기 헤더 블록에 대하여, 송신 또는 저장 동안 상기 헤더 블록을 보호하기 위한 연관된 헤더 에러 보호 코드를
계산하는 수단과;
상기 각 오디오/비디오 데이터 서브-블록들 각각에 대하여, 송신 또는 저장 동안 상기 연관된 서브-블록을 보호
하기 위한 각 연관된 서브-블록 에러 보호 코드를 계산하는 수단과;
상기 헤더 블록, 상기 연관된 헤더 에러 보호 코드, 각각의 상기 데이터 서브-블록들 및 각 연관된 서브-블록
에러 보호 코드들을 포함하는 프레임을 형성하고 송신 또는 저장하는 수단을 포함하는, 인코딩 장치.
청구항 7
오디오/비디오 신호를 프레임들의 스트림 형태로 디코딩하는 방법에 있어서:
헤더 블록, 연관된 헤더 에러 보호 코드, 및 복수의 데이터 서브-블록들 및 각 연관된 서브-블록 에러 보호 코
드들을 포함하는 통신 프레임을 수신하는 단계로서, 상기 헤더 블록은 상기 프레임내의 상기 데이터 서브-블록
들에 관한 정보를 포함하고; 상기 정보는 상기 프레임내의 상기 데이터 서브-블록들 중 적어도 하나의 위치에
관한 위치 정보를 포함하고; 상기 데이터 서브-블록들 각각은 상기 오디오/비디오 신호의 미리 결정된 연속적인
기간들에 대응하고, 상기 서브-블록들은 가변 길이를 가질 수 있는, 상기 수신하는 단계와;
상기 헤더 에러 보호 코드가 상기 헤더 블록에 대응하는지의 여부를 검증하고, 어떠한 대응도 발견되지 않았다
면 상기 프레임의 처리를 종료하는 단계와;
적어도 부분적으로 상기 헤더 블록내의 상기 위치 정보의 제어 하에 상기 데이터 서브-블록들의 위치를 검색하
는 단계와;
상기 각 데이터 서브-블록들 각각에 대하여, 상기 각 연관된 서브-블록 에러 보호 코드가 상기 데이터 서브-블
록에 대응하는지의 여부를 검증하는 단계와;
어떠한 에러도 검출되지 않은 각 서브-블록으로부터 인코딩된 오디오/비디오 신호를 추출하는 단계를 포함하는,
디코딩 방법.
청구항 8
제7항에 있어서, 에러들이 없는 적어도 하나의 이웃하는 서브-블록으로부터 추정된 서브-블록을 생성함으로써
상기 스트림의 데이터 서브-블록내의 에러를 은폐(conceal)하는 단계를 포함하는, 디코딩 방법.
청구항 9
디코딩 장치에 있어서:
헤더 블록, 연관된 헤더 에러 보호 코드, 및 복수의 데이터 서브-블록들 및 각 연관된 서브-블록 에러 보호 코
드들을 포함하는 프레임을 수신하는 입력으로서, 상기 헤더 블록은 상기 프레임내의 상기 데이터 서브-블록들에
관한 정보를 포함하고; 상기 정보는 상기 프레임내의 데이터 서브-블록들 중 적어도 하나의 위치에 관한 위치
정보를 포함하고; 상기 데이터 서브-블록들 각각은 오디오/비디오 신호의 미리 결정된 연속적인 기간들에 대응
하고, 상기 서브-블록들은 가변 길이를 가질 수 있는, 상기 입력과;
디코더를 포함하고, 상기 디코더는,
상기 헤더 에러 보호 코드가 상기 헤더 블록에 대응하는지의 여부를 검증하고, 어떠한 대응도 발견되지 않았다
면 상기 프레임의 처리를 종료하는 수단과;
적어도 부분적으로 상기 헤더 블록내의 상기 위치 정보의 제어 하에 상기 데이터 서브-블록들의 위치를 검색하
는 수단과;
상기 각 데이터 서브-블록들 각각에 대하여, 상기 각 연관된 서브-블록 에러 보호 코드가 상기 데이터 서브-블
록에 대응하는지의 여부를 검증하는 수단과;
어떠한 에러도 검출되지 않은 각 서브-블록으로부터 인코딩된 오디오/비디오 신호를 추출하는 수단을 포함하는,
- 4 -
등록특허 10-0922391
디코딩 장치.
청구항 10
제9항에 있어서, 저장 매체로부터 프레임들을 판독하고, 상기 디코더에 상기 판독된 프레임들을 공급하기 위한
판독기를 포함하는, 디코딩 장치.
청구항 11
제10항에 있어서, 제거가능한 저장 매체를 수용하는 수단을 포함하고, 상기 판독기는 상기 제거가능한 저장 매
체로부터 프레임들을 판독하도록 동작하는, 디코딩 장치.
청구항 12
삭제
명 세 서
기 술 분 야
본 발명은 전송/저장 에러들에 대한 A/V 데이터의 보호, 특히 A/V 데이터의 스트리밍(streaming)에 대한 보호에<1>
관한 것이다.
배 경 기 술
저장 또는 송신 매체를 통한 A/V(오디오 및/또는 비디오)의 분배는 매우 중요해지고 있다. 예를 들어, 인터넷의<2>
성공은 거대한 수의 MP3 인코딩된 오디오 타이틀들의 송신을 야기하였다. 파일을 다운로드하는 대신, 기록된 데
이터를 실시간으로 소비하는 스트리밍은 특히 무선 송신과 결합하여 증가할 것으로 예상된다. 송신에 수반되는
오버헤드를 제어하는데 중요한, 비교적 고 품질의 인코딩된 오디오 또는 비디오 신호들의 스트리밍을 위한 대역
폭 요건들은 중요하다. 송신 매체의, 특히 무선 매체의 신뢰성이 비교적 낮을 수 있기 때문에, 송신 에러들을
검출하고 검출된 에러들에 따라 실행할 때 주의해야 할 필요가 있다. 이를테면, 송신된 A/V 신호의 단기간에 발
생하는 에러는 2개의 이웃하는 신호 기간들 사이에 보간(interpolation)에 의해 또는 그밖의 적당한 조치들을
이용하여 은폐(conceal)될 수 있다.
ISO/IEC 차세대 오디오 코딩(AAC; Advanced Audio Coding) 표준 13818-7(MPEG2-AAC)의 6.2 및 8.1 절 및<3>
ISO/IEC 표준 14496-3(MPEG4-오디오)의 1부의 A 2.2 절에는 소위 오디오 데이터 트랜스포트 스트림(ADTS) 프레
임이라 칭하는 코딩된 오디오 스트림의 송신에 대한 포맷이 기재되어 있다. 오디오 스트림은 상기 경우에 ADTS
프레임들의 시퀀스로 구성된다. 도 1에 도시된 바와 같이, ADTS 프레임은 헤더 블록(10) 및 페이로드 필드(20)
를 포함한다. 헤더 블록(10)은 고정 헤더(12) 및 가변 헤더(14)를 포함한다. 고정 헤더(12)는 오디오의 샘플링
주파수와 같은 시퀀스내의 모든 프레임들에 대해 동일한 정보를 포함한다. 상기 정보는 프레임마다 비트-스트림
으로의 램덤 액세스를 가능하게 하기 위해 송신된다. 또한, 고정 헤더는 동기화 워드(synchronization word)를
포함한다. 가변 헤더는 프레임마다 변할 수 있는 헤더 정보를 포함한다. 가변 헤더의 요소들 중 하나는 프레임
의 길이(L)를 포함하는 프레임 길이이다. 페이로드 필드(20)는 원 오디오 데이터의 4개의 서브-블록들(22, 24,
26, 28)까지 포함할 수 있으며, 각 서브-블록은 채널마다 고정된 수의 오디오 샘플들(MPEG-AAC의 1024)을 나타
낸다.
인코딩된 비트-스트림의 송신 동안, 바람직하지 못한 송신 상태들로 인해 비트-에러들이 발생할 수 있다. 그러<4>
한 에러들은 비트-스트림을 무효하게 하여 매우 왜곡된 디코더의 출력을 발생한다. 이러한 문제들을 극복하기
위하여, 프레임에도 삽입될 수 있는 에러 보호 코드(30)를 이용하여 서브-블록내의 헤더 블록 및 실제 인코딩된
오디오가 선택적으로 보호되는 표준들을 규정하였다. 순환 중복 검사(CRC; Cyclic Redundancy Check)는 에러 보
호 코드로서 이용된다. CRC는 송신 에러들을 교정하는데 이용될 수 있다. 매우 왜곡된 송신 채널들에 있어서,
CRC는 에러들을 교정하는데 충분치 않지만, 데이터의 무효한 세그먼트를 플래그(flag)하는데 여전히 이용된다.
그러한 경우에, 디코더는 상기 특정한 데이터 세그먼트에 대해 적당한 에러 은폐 조치를 취할 수 있다. 정상적
으로 수신된 데이터가 '실시간'으로 랜더링되는 A/V 스트리밍에 있어서, 일반적으로 에러가 검출되었을 때 데이
터의 재송신을 수행할 어떤 시간도 없다는 것을 이해할 수 있을 것이다.
- 5 -
등록특허 10-0922391
발명의 상세한 설명
현재, 프레임마다 하나의 서브-블록만을 이용하여 인코딩된 오디오를 송신하는데 MPEG AAC-ADTS 프레임 포맷이<5>
이용된다. 통상, CRC를 이용하는 임의의 에러 보호가 적용된다. 도 1a에 도시된 바와 같이, 프레임마다 하나의
서브-블록이 있는 경우에, CRC 코드(30)는 고정 헤더(12), 가변 헤더(14) 및 서브-블록(22)에 대해 계산된다.
프레임의 (고정 및 가변 헤더로 구성되는)헤더는 고정 길이를 가져서 디코딩을 단순화시킨다. 송신 오버헤드를
감소시키기 위하여, 표준들에 의해 제공되는 옵션을 이용하여 ADTS 프레임에 하나 이상의 서브-블록을 포함하는
것이 바람직하다. 그러나, 상기 표준들은 ADTS 프레임에서 다수의 서브-블록이 있는 경우에 데이터의 보호에 관
한 명백한 설명을 제공하지 않는다. 하나의 규정된 CRC의 보호 범위는 도 1b에 도시된 바와 같이 프레임의 모든
서브-블록들에 대해 확장될 수 있다. 그렇게 하는 것은 헤더 또는 서브-블록들 중 임의의 장소에 있는 단일 비
트 에러가 모든 서브-블록들을 이용할 수 없게 한다는 것을 암시할 것이다. 이는 불가능하지 않은 경우 에러들
의 은폐를 어렵게 한다.
본 발명의 목적은 인코딩된 A/V 데이터의 스트리밍에 적합한 프레임 포맷을 제공하는 것으로서, 상기 프레임은<6>
송신 에러들의 영향을 제한하면서 복수의 데이터 서브-블록들을 포함한다.
본 발명의 목적은 각 프레임이 헤더 블록 및 복수의 서브-블록들을 포함하는 프레임 구조를 이용하여 달성되며;<7>
상기 서브-블록들 각각은 A/V 신호의 미리 결정된 연속적인 시간 인터벌들(time intervals)에 대응하는 디지털
방식으로 인코딩된 오디오/비디오 데이터를 포함하고; 상기 서브-블록들은 가변 길이를 가질 수 있으며; 상기
프레임은 헤더 블록 및 각각의 서브-블록들에 대하여 송신 동안 연관된 블록을 보호하는 각각의 연관된 에러 보
호 코드를 포함하고; 상기 헤더 블록은 프레임에서 서브-블록들 중 적어도 하나의 위치에 관한 정보를 제공하는
위치 정보 필드를 포함한다. 서브-블록들 각각을 개별적으로 보호함으로써, 각 서브-블록에 대하여 개별적으로
교정 조치들이 취해질 수 있다. 또한, 통상 서브-블록에 비교하여 비교적 짧은 헤더의 개별적인 보호를 이용함
으로써, 헤더내의 에러들은 개별적으로 검출될 수 있다. 제 1 서브-블록내의 에러는 헤더 블록을 쓸모없게 할
수 없을 것이고, 그러한 헤더 정보는 다른 서브-블록들을 처리하는데 여전히 이용될 수 있다. 에러 보호 코드들
은 바람직하게 여러 비트 에러들의 검출을 신뢰할 수 있게 한다. 바람직하게, 보다 강한 채널 코드를 헤더들에
적용하여 헤더들에 양호한 보호가 제공된다. 본 발명에 따르면, 프레임은 가변 크기의 서브-블록들의 전달을 지
원한다. 잘못된 서브-블록들만을 스킵할 수 있게 하기 위하여, 정확한 서브-블록들의 위치의 발견을 가능하게
하기 위해 위치 정보가 존재한다. 위치 정보는 헤더 블록에 삽입되고 헤더 에러 보호 코드에 의해 보호된다. 위
치 정보는 프레임의 선두로부터의 오프셋과 같은 임의의 적당한 형태를 띨 수 있다. 또한, 서브-블록들의 길이
가 규정될 수 있으며, 서브-블록의 시작 위치는 이전의 서브-블록의 시작 위치와 상기 서브-블록의 길이에서 유
도된다.
종속 청구항 2의 양상에 따르면, 에러 보호 코드들은 상기 코드들이 보호하는 블록에 바로 인접하여 배치되고,<8>
바람직하게는 바로 뒤에 온다. 이것은 지연 없이 처리를 단순하게 한다.
종속 청구항 3의 양상에 따르면, 헤더 블록의 길이는 수신기에 공지된다(또는 보다 일반적으로: 서브-블록들에<9>
선행하는 모든 프레임들 요소들의 총 길이가 공지된다). 이러한 정보로부터 이득을 얻기 위하여, 위치 정보는
헤더 다음에 오는 제 1 서브-블록의 위치를 포함할 필요가 없다. 또한, 다음 프레임의 위치를 정하는 것을 가능
하게 하도록, 프레임에 대한 프레임의 총 길이가 공지된다.
종속 청구항 4의 양상에 따르면, 헤더 블록은 크기가 고정되어 있다. 따라서, 제 1 블록의 위치는 은연중에 공<10>
지되어 있으며, 어떠한 가외 정보도 요구되지 않는다. 헤더 블록이 크기가 고정되어 있지 않은 경우, 바람직하
게 헤더의 길이에 관한 정보는 헤더 정보 자체(바람직하게 미리 결정된 위치에)에 삽입된다.
프레임은 바람직하게 무선 송/수신 및 인코딩된 A/V 신호들의 스트리밍(송신 및 수신)에 이용된다. 구체적으로,<11>
프레임은 방송 오디오 및 TV 뿐만 아니라 인터넷 라디오에 매우 유용하다. 프레임은 또한, 특히 프레임에 대한
램덤 액세스가 요구될 때, 인코딩된 A/V 신호들의 저장을 위해 이용될 수 있다.
상기 및 다른 양상들이 도면을 참조로 상세하게 기재된다.<12>
실 시 예
도 1a는 하나의 서브-블록(22)을 갖는 프레임에 대한 종래의 프레임 구조를 도시한다. 도 1b는 상기 프레임의<16>
- 6 -
등록특허 10-0922391
페이로드 필드(20)내에 있는 예시적인 4개의 서브-블록들(22, 24, 26, 28)에 대한 MPEG AAC 표준의 신택스
(syntax)를 따르는 프레임 구조를 도시한다. 이런 경우에, 프레임의 필드(30)의 CRC는 프레임내의 헤더 블록
(10)(고정 헤더(12) 및 가변 헤더(14)를 가짐) 및 모든 서브-블록들을 커버한다. 서브-블록들이 보통 더 길고,
통상 헤더보다 실질적으로 더 길기 때문에, 서브-블록들 중 하나에서 에러 검출이 발생할 가능성이 높다. 그러
나, 에러가 어디에 위치되는지 알 수 없기 때문에, 전체 프레임의 처리를 불가능하게 하는 헤더는 신뢰할 수 없
다.
도 2는 본 발명에 따른 프레임 구조를 도시한다. 도 2-Ⅰ는 하나의 서브-블록에 대한 종래 기술 상황을 예시한<17>
다. 기존 구현들과의 호환성의 이유 때문에, 이 프레임 구조가 하나의 서브-블록을 갖는 프레임으로 유지되는
것이 바람직하다. 도 2-Ⅱ 내지 Ⅳ 각각은 2, 3 및 4개의 서브-블록들(일반적으로: N개의 서브-블록들, 여기서
N>1)을 갖는 프레임들에 대한 프레임 구조를 예시한다. 도 2-Ⅳ에서 프레임의 페이로드 필드(20)는 4개의 서브-
블록들(22, 24, 26, 28)을 포함한다. 본 발명에 따르면, 헤더 블록(10)은 도 1의 종래의 CRC(30) 대신에 프레임
에 포함되는 별도의 에러 보호 코드(31)에 의해 보호된다. 호환성과 단순성의 이유 때문에, MPEG AAC 표준에서
규정된 것과 동일한 CRC가 이용될 수 있다. 헤더 블록내의 복구 불가능한 에러는 전체 프레임의 처리를 불가능
하게 하기 때문에, 더 강한 채널 코드가 이용되는 것이 바람직하다. 또한 예시된 바와 같이, 각 서브-블록은 상
기 서브-블록을 커버하는 연관된 에러 보호 코드를 수반한다. 또한 이들 코드들은 프레임에 포함된다. 도 2-Ⅳ
의 예에서, 서브-블록(22)은 코드(32)에 보호되고, 블록(24)은 코드(34)에 의해, 블록(26)은 코드(36)에 의해,
블록(28)은 코드(38)에 의해 보호된다. 바람직하게 MPEG AAC 표준에 의해 규정된 CRC는 서브-블록들에 대해 에
러 보호 코드로서 이용된다. 다른 코드들이 또한 이용될 수 있다.
바람직한 실시예에서, 에러 보호 코드들은 코드에 의해 보호되는 블록에 인접하며, 바람직하게는 바로 뒤에 온<18>
다. 이는 불필요한 지연 없이 코드를 검사하는 것이 가능하다.
본 발명에 따르면, 서브-블록들은 가변 길이일 수 있다. 특정 응용에 대해 고정 길이 서브-블록들이 송신될 수<19>
있는 반면에, 다른 응용을 위한 다른 순간에 다른 크기의 서브-블록들이 송신된다는 것을 이해할 수 있다. 또한
하나의 응용내에서 서브-블록들의 길이는 적절히 고유하게 변할 수 있다. 이러한 길이의 변화는 압축 레벨에 따
를 수 있다. MPEG AAC를 위한 프레임의 바람직한 사용에 있어서, 서브-블록은 예컨대, 1024 오디오 샘플들을 나
타낸다. 고 비트 레이트 코딩을 위해(높은 대역폭 채널들 상의 스트리밍을 위해), 비트 레이트는 48000Hz의 샘
플링 주파수에서 예컨대, 128000 비트/초일 수 있다. 그러면, 서브-블록의 평균 길이는 1024*128000/48000 =
2730.666 비트, 또는 (대략)342 바이트이지만, 서브-블록마다 다르다. 저 비트 레이트 코딩을 위해(낮은 대역폭
채널들 상의 스트리밍을 위해), 비트 레이트는 예컨대, 32000Hz의 샘플링 주파수에서 32000 비트/초일 수 있다.
그 다음, 서브-블록의 평균 길이는 1024*32000/32000 = 1024 비트, 또는 128 바이트이지만, 또 서브-블록마다
다르다. MPEG AAC에 있어서, (고정 및 가변 헤더를 포함하는)헤더 블록의 길이는 항상 7 바이트이다. 저 비트
레이트 경우에서 조차, 헤더는 바람직하게 서브-블록보다 (헤더 블록에 의해 야기되는 오버헤드를 감소시키기
위해) 실질적으로 더 작다. 바람직하게, 헤더 블록의 길이는 평균 서브-블록의 길이보다 적어도 10배 더 작다.
헤더에 비해 상대적으로 큰 서브-블록들을 이용함으로써, 프레임내의 에러는 아마도 서브-블록들 중 하나에 있
을 것이다. 헤더 블록을 개별적으로 보호함으로써, 에러들이 프레임에서 검출된다고 하여도 헤더 블록은 여전히
이용될 수 있을 가능성이 높다. 서브-블록 에러 보호 코드들과 위치 정보 덕택에, 유효한 서브-블록들의 위치가
검색되고 또한 처리될 수 있고, 무효한 서브-블록(들)은 버려진다.
본 발명에 따르면, 프레임은 가변 크기의 서브-블록들의 위치를 검색하는 것을 가능하게 하는 위치 정보(40)를<20>
포함한다. 서브-블록들에 선행하는 모든 요소들의 길이가 공지되는(MPEG-AAC의 경우에, 길이는 미리 결정되고;
대안으로서 길이 정보는 또한 프레임에 삽입되거나 프레임으로 전송될 수 있음) MPEG AAC와 같은 프레임들에서,
제 1 서브-블록(22)의 위치를 규정할 필요는 없다. 그러한 경우에, 프레임 내의 서브-블록들Ⅱ 내지 N의 위치에
대한 정보가 바람직하게 서브-블록Ⅰ의 시작에 대하여 바이트 면에서 오프셋 형태로 부가된다. 서브-블록Ⅰ의
위치는 암시적이다(헤더들 바로 다음). 위치 정보는 이전의 서브-블록들이 무효하다고 밝혀진 경우에 서브-블록
들의 디코딩을 허용한다.
바람직한 실시예에서, 위치 정보는 헤더 블록에 삽입되고 헤더 에러 보호 코드에 의해 보호된다. 하나의 서브-<21>
블록을 갖는 MPEG AAC 프레임 포맷의 기존의 구현들에 최적으로 맞추기 위하여, 위치 정보는 가변 헤더의 마지
막 위치에 포함된다. 기존의 CRC(30)는 같은 위치에서 유지되지만, 이제 더 이상 제 1 서브-블록이 아닌 고정
헤더, 가변 헤더 및 위치 정보만을 보호한다.
- 7 -
등록특허 10-0922391
바람직한 프레임 구조의 신택스 기술은 다음과 같다(MPEG AAC의 신택스 표기법을 이용).<22>
<23>
정의:<24>
·raw_data_block_position(i): raw_data_block(0)의 시작 위치로부터 바이트에서 오프셋으로서 측정되는<25>
raw_data_block(i)의 시작 위치.
·adts_error_check(): ISO/IEC 13818-7에서의 정의와 같음.<26>
·adts_header_error_check(): ISO/IEC 11172-3, 2.4.3.1 절(표 6.7)에 기재된 바와 같이 생성된 CRC 에러 검<27>
출 데이터. 이하의 비트들은 보호되고 그들의 출현 순서로 CRC 알고리즘으로 공급된다.
·adts_fixed_header()의 모든 비트들<28>
·adts_variable_header()의 모든 비트들<29>
·모든 raw_data_block_position 필드들의 모든 비트들.<30>
·adts_raw_data_block_error_check(i): ISO/IEC 11172-3, 2.4.3.1 절(표 6.7)에 기재된 바와 같이 생성된 CRC<31>
에러 검출 데이터. raw_data_block(i)의 이하의 비트들은 보호되고 그들의 출현 순서로 CRC 알고리즘에 공급된
다.
·임의의 single_channel_element(SCE), channel_pair_element(CPE), coupling_channel_element(CCE), 저 주<32>
파수 향상 채널(LFE)의 처음 192 비트
·channel_pair_element에서 제 2 individual_channel_stream(ICS)의 처음 128 비트는 보호되어야 한다. <33>
·임의의 program_configuration_element(PCE) 또는 data_stream_element(DSE)의 모든 정보는 보호되어야<34>
한다.
128 또는 192 비트의 규정 길이가 그 실제 길이를 초과하는 임의의 요소에 있어서, 이 요소는 CRC 계산을 위해<35>
규정 길이에 0 패딩된다. id_syn_ele 비트들은 CRC 보호로부터 배제될 것이다. CPE의 길이가 192 비트보다 더
- 8 -
등록특허 10-0922391
작은 경우 192비트의 길이를 이루도록 0 데이터가 부가된다. 또한, CPE의 제 1 ICS가 N번째 비트에서 끝나는 경
우(N<192), 제 2 ICS의 처음(192-N) 비트들은 두 번 보호된다. 예를 들어, 제 2 ICS가 CPE의 190번째 비트에서
시작하는 경우, 제 2 ICS의 처음 3 비트들은 두 번 보호된다. 마지막으로, 제 2 ICS의 길이가 128비트보다 더
작은 경우, 128비트의 길이를 이루도록 0 데이터가 부가된다.
도 3은 본 발명에 따른 송신 시스템(300)을 도시한다. A/V 신호는 인코더(330)에 공급된다. 인코더(330)는 복수<36>
의 디지털 방식으로 인코딩된 오디오/비디오 데이터 서브-블록들을 수신하는 입력을 포함하며, 각 서브-블록은
A/V 신호의 미리 결정된 연속적인 기간들에 대응한다. 상술한 바와 같이, 서브-블록들은 일반적으로 가변 길이
를 가진다. 서브-블록들은 통상 실질적으로 연속하는 블록들의 연속 스트림으로 수신된다. 인코더(330)는 헤더
블록을 생성하도록 동작한다. 헤더 블록은 인코딩될 A/V 데이터 블록들에 관한 정보(예컨대, 샘플링 레이트)를
포함한다. 이러한 정보의 일부는 인코더에 별도로 공급될 수 있다. 정보는 프레임에 포함될 서브-블록들의 위치
에 관한 위치 정보를 포함한다. 인코더는 바람직하게 입력에 공급될 개개의 서브-블록의 길이 정보로부터 이러
한 정보를 결정한다. 그러한 길이 정보는 별도로 공급되거나 다른 정보에 내재될 수 있다. 인코더(330)는 헤더
블록에 대하여, 송신 및/또는 저장 동안 헤더 블록을 보호하는 연관된 헤더 에러 보호 코드를 계산한다. 또한,
인코더(330)는 각각의 A/V 데이터 서브-블록들 각각에 대하여, 송신 및/또는 저장 동안 헤더 블록을 보호하는
각각의 연관된 서브-블록 에러 보호 코드를 계산한다. 종래의 소프트웨어 루틴 또는 하드웨어 회로가 에러 보호
코드를 계산하는데 이용될 수 있다. 인코더는 본 발명에 따른 전체 프레임 구조를 메모리에 구축하고 이것을 송
신기(310)에 넘겨준다. 일반적으로, 하나의 집적된 인코더는 서브-블록들을 생성하고 헤더들 및 에러 보호 코드
들을 부가하는데 이용된다. 통상, 인코더는 DSP 또는 유사 형태의 마이크로프로세서를 이용하여 소프트웨어로
구현된다. 소프트웨어는 인코더에 임베딩될 수 있다. 당업자는 또한 인코더의 적당한 하드웨어 구현을 구축할
수 있을 것이다. 송신기는 통신 매체(350)를 통하여(예컨대, 인터넷을 통하여) 프레임을 말단 수신기(320)에 송
신하도록 임의의 소망하는 통신 프로토콜을 구현할 수 있다. 수신기(320)는 수신된 정보를 디코더(340)에 공급
한다.
디코더(340)는 헤더 블록, 연관된 헤더 에러 보호 코드 및 복수의 데이터 서브-블록들 및 각각의 연관된 서브-<37>
블록 에러 보호 코드들을 포함하는 프레임을 수신하기 위한 입력을 포함한다. 헤더 블록은 프레임에서 데이터
서브-블록들에 관한 정보, 특히 프레임에서 데이터 서브-블록들 중 적어도 하나의 위치에 관한 위치 정보를 포
함한다. 디코더(340)는 헤더 에러 보호 코드가 헤더 블록에 대응하는지의 여부를 검증한다. 이는 수신된 헤더
블록에 대해 에러 보호 코드를 계산하고, 이것을 수신된 헤더 에러 보호 코드와 비교함으로써 행하여질 수
있다. 에러가 검출되는 경우, 디코더(340)는 프레임의 처리를 종료한다. 디코더(340)는 상술한 바와 같이 헤더
블록내의 위치 정보의 제어 하에 적어도 부분적으로 데이터 서브-블록들의 위치를 검색한다. 디코더는 각 데이
터 서브-블록들의 각각에 대하여, 각각의 연관된 서브-블록 에러 보호 코드가 데이터 서브-블록에 대응하는지의
여부를 검증한다(예컨대, 코드를 계산하고 이것을 수신된 코드와 비교함으로써). 잘못된 서브-블록들은 버려지
고, 정확한 서브-블록들은 어떤 에러도 검출되지 않은 각 서브-블록으로부터 인코딩된 A/V 신호를 추출함으로써
유지된다. 인코딩된 A/V 신호는 특정 형태의 인코딩(예컨대, MPEG 2 인코딩)에 적합한 방식으로 더 디코딩된다.
이러한 또다른 디코딩이 디코더(340)에 의해 또는 외부 디코더에 의해 행해질 수 있다. 통상, 디코더는 또한 적
절한 처리 플랫폼의 소프트웨어로 구현된다.
바람직하게, 잘못된 프레임들 또는 서브-블록들은 단순히 버려지는 것이 아니라 잘못된 프레임 또는 서브-블록<38>
을 추정된 프레임 또는 서브-블록으로 바꿈으로써 그러한 에러들을 은폐하기 위한 조치가 취해진다. 소정의 공
지된 은폐 방법(예컨대, 보간)이 이용될 수 있다.
도 4는 프레임 구조가 기록된 저장 매체(410)를 갖는 디코더 장치(400)를 도시한다. 예컨대, 광학, 자기, 자석/<39>
광학, 고체 소자 등인 소정의 저장 매체(기록 캐리어들을 포함)가 이용될 수 있다. 판독기(420)는 저장장치
(410)로부터 하나 이상의 프레임들을 판독하고, 이것을 디코더(430)에 공급한다. 디코더(430)는 도 3의 디코더
(340)에 기재된 것과 같은 것일 수 있다. 판독기(420)는 저장 매체에 부합한다. 저장 매체(410)는 디코더 장치
(400)에서 고정되어 위치될 수 있다. 또한, 본 발명에 따라 프레임들을 캐리하는 제거가능한 저장 매체(예컨대.
광 디스크, 플래시메모리 카드)가 이용될 수 있다
도면의 간단한 설명
도 1은 종래의 프레임 구조를 도시하는 도면.<13>
도 2는 본 발명에 따른 프레임 구조를 도시하는 도면.<14>
- 9 -
등록특허 10-0922391
도 3은 볼 발명에 따은 송신 시스템을 도시하는 도면.
도 4은 프레임 구조가 기록된 기록 캐리어를 갖는 디코더 장치를 도시하는 도면.<15>
도면
도면1a
도면1b
도면2
- 10 -
등록특허 10-0922391
도면3
도면4
- 11 -
등록특허 10-0922391
A/V 데이터의 스트리밍 보호(Protection of streaming A/V data)
2018. 3. 20. 20:55