KR100796885B1 - 신호 프로세서 - Google Patents

신호 프로세서 Download PDF

Info

Publication number
KR100796885B1
KR100796885B1 KR20010085943A KR20010085943A KR100796885B1 KR 100796885 B1 KR100796885 B1 KR 100796885B1 KR 20010085943 A KR20010085943 A KR 20010085943A KR 20010085943 A KR20010085943 A KR 20010085943A KR 100796885 B1 KR100796885 B1 KR 100796885B1
Authority
KR
South Korea
Prior art keywords
data
block
macroblock
address
blocks
Prior art date
Application number
KR20010085943A
Other languages
English (en)
Other versions
KR20020055420A (ko
Inventor
스기야마아끼라
도가시하루오
도도신
마쯔모또히데유끼
Original Assignee
소니 가부시끼 가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR20020055420A publication Critical patent/KR20020055420A/ko
Application granted granted Critical
Publication of KR100796885B1 publication Critical patent/KR100796885B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/713Spread spectrum techniques using frequency hopping
    • H04B1/715Interference-related aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/713Spread spectrum techniques using frequency hopping
    • H04B1/715Interference-related aspects
    • H04B2001/7154Interference-related aspects with means for preventing interference

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

검출 회로는 입력 스트림으로부터 슬라이스 시작 코드를 검출한다. 검출 결과와 프레임 펄스에 기초하여, 타이밍 발생기에 의해 발생된 기준 MB(macroblock: 매크로블럭) 어드레스가 어드레스 비교기에 전달된다. 지연 회로에 의해 위상 조정된 입력 스트림은 MB 어드레스를 검출하도록 가변 길이 코드를 복호화하는 VLD(variable length decoder: 가변 길이 디코더)에 공급된다. 어드레스 비교기는 MB 어드레스의 연속성을 검사하도록 기준 MB 어드레스를 MB 어드레스와 비교한다. 불연속인 경우, VLD로부터 출력된 스트림은 일시적으로 중지되고, 선택기는 어드레스 비교기로부터 출력된 제어 신호에 응답하여 치환 데이터 발생 회로를 선택한다. 입력 스트림은, 불연속적인 매크로블럭 위치에서, 정확한 매크로블럭 어드레스를 갖고 치환 데이터 발생 회로에 의해 미리 준비된 매크로블럭 데이터로 치환된다. 이는 MPEG 스트림 중 I-픽처가 입력될 때 매크로블럭 불연속성의 안정된 처리를 제공한다.
MPEG 스트림, 매크로블럭, 어드레스 비교기, 가변 길이 부호화 데이터 스트림, 블럭 불연속성, 치환 데이터 발생 회로

Description

신호 프로세서{SIGNAL PROCESSOR}
도 1은 MPEG-2 데이터의 계층 구조의 개략도.
도 2는 MPEG-2 스트림에 포함된 데이터의 내용 및 비트 할당을 도시하는 간략화된 테이블도.
도 3은 MPEG-2 스트림에 포함된 데이터의 내용 및 비트 할당을 도시하는 간략화된 테이블도.
도 4는 MPEG-2 스트림에 포함된 데이터의 내용 및 비트 할당을 도시하는 간략화된 테이블도.
도 5는 MPEG-2 스트림에 포함된 데이터의 내용 및 비트 할당을 도시하는 간략화된 테이블도.
도 6은 MPEG-2 스트림에 포함된 데이터의 내용 및 비트 할당을 도시하는 간략화된 테이블도.
도 7은 MPEG-2 스트림에 포함된 데이터의 내용 및 비트 할당을 도시하는 간략화된 테이블도.
도 8은 MPEG-2 스트림에 포함된 데이터의 내용 및 비트 할당을 도시하는 간략화된 테이블도.
도 9는 MPEG-2 스트림에 포함된 데이터의 내용 및 비트 할당을 도시하는 간 략화된 테이블도.
도 10은 MPEG-2 스트림에 포함된 데이터의 내용 및 비트 할당을 도시하는 간략화된 테이블도.
도 11은 MPEG-2 스트림에 포함된 데이터의 내용 및 비트 할당을 도시하는 간략화된 테이블도.
도 12는 MPEG-2 스트림에 포함된 데이터의 내용 및 비트 할당을 도시하는 간략화된 테이블도.
도 13a 및 도 13b는 바이트 단위의 데이터 어레이를 도시하는 도면.
도 14는 본 발명의 일 실시예에 따른 MPEG 스트림의 헤더의 개략도.
도 15는 본 발명의 일 실시예에 따른 레코더/플레이어의 구조예를 도시하는 블럭도.
도 16은 자기 테이프에 형성된 트랙 포맷의 개략도.
도 17a 및 도 17b는 크로마 포맷의 개략도 .
도 18a 및 도 18b는 다른 크로마 포맷의 개략도.
도 19a 및 도 19b는 또 다른 크로마 포맷의 개략도.
도 20a 및 도 20b는 비디오 인코더의 출력 방식과 가변 길이 부호화를 설명하는 개략도.
도 21a 및 도 21b는 비디오 인코더로부터 출력 데이터의 재조직을 설명하는 개략도.
도 22a 및 도 22b는 재조직된 데이터를 싱크 블럭으로 패킹하는 처리를 설명 하는 개략도.
도 23a 및 도 23b는 계수의 재조직 및 패킹 처리의 이점을 설명하는 개략도.
도 24a 및 도 24b는 계수의 재조직 및 패킹 처리의 이점을 설명하는 개략도.
도 25는 ECC 인코더의 구체적인 구조를 도시하는 블럭도.
도 26은 메인 메모리 내의 어드레스 구성예를 도시하는 개략도.
도 27a 내지 도 27d는 매크로블럭 어드레스가 불연속인 예를 설명하는 개략도.
도 28은 회색을 디스플레이하는 매크로블럭의 예를 도시하는 테이블도.
도 29a 내지 도 29d는 매크로블럭 어드레스가 불연속인 예를 설명하는 개략도.
도 30은 본 발명의 일 실시예에 따른 기록 MFC의 일례를 도시하는 블럭도.
도 31은 기록 MFC에서 손실 매크로블럭을 보수(補修)하는 처리의 흐름도.
도 32a 내지 도 32c는 PAL 방식에 따른 매크로블럭 어드레스의 일례를 설명하는 개략도.
<도면의 주요 부분에 대한 부호의 설명>
1 : 시퀀스 헤더 코드
9 : 픽처 헤더
13 : 슬라이스 헤더
14 : 매크로블럭 헤더
101 : SDI 수신기
102 : MPEG 인코더
103 : 지연 유닛
106 : 기록 MFC
109 : ECC 인코더
본 발명은 각 매크로블럭(macroblock)에 대해 가변 길이 부호화로 압축된 비디오 데이터의 안정된 처리를 제공할 수 있는 신호 프로세서에 관한 것이다.
최근에는 MPEG(Moving Picture Experts Group) 부호화가 디지털 비디오 신호에 대한 압축 알고리즘으로 널리 사용되고 있다. MPEG-2는 DCT(Discrete Cosine Transform) 및 예측 부호화를 사용하는 동화상 압축 표준이다. MPEG-2 부호화는: 한 프레임(frame)의 픽처(picture) 데이터를 소정의 크기를 갖는 매크로블럭으로 나누고, 각 매크로블럭이 움직임 벡터를 사용하여 예측 부호화되는 단계; 및 각 매크로블럭을 DCT 블럭으로 더 나누고, 각 DCT 블럭에 가변 길이 부호화를 위한 DCT가 행해지는 단계를 포함한다. 현 상태에서는, 더 높은 확장성 및 더 높은 화질을 제공하도록 발전된 MPEG-2가 지배적인 표준이다.
일반적으로, MPEG-2 데이터는 계층 구조를 갖는 데이터 스트림으로 형성된다. 계층 구조는 상위로부터 시퀀스층, GOP(Group of Pictures)층, 픽처층, 슬라이스(slice)층, 및 매크로블럭층으로 순서대로 구성되고, 각 층은 하나 이상의 서 브층을 포함한다. 각 층은 헤더부를 포함한다. 매크로블럭층을 제외한 층들은 헤더부 앞에 배치된 시작 코드를 갖는다.
매크로블럭은 16 ×16 픽셀을 갖는 블럭이고, 하나 이상의 매크로블럭은 한 슬라이스를 형성한다. 한 픽처는 한 화면에 대응하고, 슬라이스는 픽처에 걸쳐 확장되는 것이 허용되지 않는다. 슬라이스 헤더는 항상 화면의 좌측 끝부분에 위치하도록 요구된다. 슬라이스 시작 코드는 해당 슬라이스의 수직 위치 정보를 포함하고, 슬라이스 헤더는 확장된 슬라이스 수직 위치 정보 또는 양자화 스케일 정보와 같은 정보를 저장한다.
MPEG-2에서는 3가지의 픽처 종류가 정의된다. B(bi-directionally) 픽처 및 P(predictive) 픽처는 시계열 방식으로 예측-부호화되고, I(intra) 픽처는 한 화면 (한 프레임) 내에서 완결된다. P-픽처는 시간적으로 앞선 픽처를 요구하고, B-픽처는 시간적으로 전후의 픽처를 요구한다. 프레임 단위로 편집하기 위해서는 I-픽처만을 사용하는 것이 바람직하다.
도 32a 내지 도 32c는 625/50 표준에 따른 매크로블럭 어드레스의 일례를 도시한다. 도 32a는 화면 상의 매크로블럭의 배열의 일례를 도시한다. 한 화면은 38행 ×45열의 매크로블럭으로 나뉜다. 도 32a에 도시된 블럭의 좌표 (yy,xx)는 매크로블럭의 어드레스를 나타내고, 화면에서 블럭의 위치는 좌표 (수직 위치, 수평 위치)로 정의된다. I-픽처로 형성되는 상술된 MPEG 스트림에서, 매크로블럭은 순서대로 전부 전송되어야 한다.
보다 구체적으로는, 매크로블럭이 도 32a에 도시된 방식으로 한 화면 상에 배열되면, I-픽처가 전송되는 데이터 스트림에서, 예컨대 도 32a에서 빗금으로 도시된 매크로블럭은, 예컨대 도 32b에 도시된 바와 같이 (2,41), (2,42), (2,43), (2,44), (3,0), (3,1), (3,2), 및 (3,3)의 순서로 전송된다.
매크로블럭의 일부, 예를 들어 (2,43)이 어떠한 이유로 전송 동안 등에서 손실되면, 도 32c에 도시된 바와 같이 매크로블럭 (2,42)이 매크로블럭 (2,44)로 이어지는 데이터 스트림은 매크로블럭 어드레스가 불연속적인 불규칙 스트림이다. 이러한 불규칙 스트림은 MPEG 표준에 맞지 않는 MPEG 구문 에러(syntax error)를 일으킨다.
전송 경로에서 장애가 발생하는 것으로 인해 즉, 비트 반전이 일어나거나 데이터 스트림이 전송 경로 등에서 중지되는 것으로 인해 매크로블럭의 일부가 손실될 수 있다. 불연속 매크로블럭 어드레스를 원래 포함하는 불규칙 데이터 스트림도 또한 매크로블럭을 손실하게 된다.
일단 이러한 불규칙 데이터 스트림이 MPEG 디코더에 입력되면, MPEG 디코더는 예측할 수 없는 매크로블럭 어드레스가 입력되기 때문에 중단(hang-up) 위험을 수반할 수 있다. 그래서, 종래에는 안정된 시스템을 이루기가 어렵다.
따라서, 본 발명의 목적은 MPEG 스트림의 I-픽처 등이 입력될 때 불연속적인 매크로블럭을 안정되게 처리할 수 있는 데이터 프로세서를 제공하는 것이다.
이를 위해, 본 발명의 한 특성으로, 하나의 화면이 복수 개로 분할된 블럭들이 소정의 순서로 배열된 데이터 스트림을 처리하는 데이터 프로세서는: 화면 상의 블럭의 위치 정보 - 이 위치 정보는 데이터 스트림에 배열된 각 블럭에 저장되어 있음 - 에 기초하여 블럭 불연속성을 검출하는 검출 수단; 및 검출 수단에 의한 검출의 결과에 기초하여 블럭 불연속성을 보정하는 보정 수단을 포함한다.
데이터 스트림은 가변 길이 부호화된 데이터 스트림인 것이 바람직하고, 블럭 불연속성은 가변 길이 부호화된 데이터 스트림이 복호화될 때 검출 수단에 의해 검출된다.
보정 수단은 연속적인 순서를 만족시키는 위치 정보를 갖는 블럭을 사용하여 블럭 불연속성을 보정할 수 있다.
검출 수단에 의한 검출 결과로부터, 블럭들 중의 일부가 손실된 것으로 판정되면, 보정 수단은 손실된 블럭 부분의 주기 동안 데이터 스트림을 일시적으로 중지함으로써 블럭 불연속성을 보정할 수 있다.
검출 수단에 의한 검출 결과로부터 블럭들 중 한 블럭과 또 다른 블럭이 교환된 것으로 판정되면, 보정 수단은 교환된 블럭에 이어지는 블럭의 위치 정보를 찾고, 그 위치 정보에 기초하여, 정확한 위치 정보를 갖는 블럭이 찾아질 때까지 블럭 불연속성을 반복적으로 보정할 수 있다.
데이터 프로세서는 적어도 한 프레임의 데이터를 저장할 수 있는 프레임 메모리를 더 포함할 수 있다. 데이터 스트림 중 적어도 한 프레임 데이터가 프레임 메모리에 저장되는 것이 바람직하다. 검출 수단에 의한 검출 결과로부터, 블럭의 위치 정보가 불연속적인 것으로 판정되면, 보정 수단은 프레임 메모리에 저장된 데이터를 사용하여 블럭의 위치 정보 불연속성을 보정할 수 있다.
검출 수단에 의한 검출 결과로부터, 블럭들 중의 일부가 손실된 것으로 판정되면, 보정 수단은 손실된 블럭 부분에 대응하는 블럭의 한 프레임 이전의 블럭의 데이터를 사용하여 블럭 불연속성을 보정할 수 있다 - 상기 데이터는 프레임 메모리에 저장할 수 있음 -.
검출 수단에 의한 검출 결과로부터, 블럭들 중 한 블럭과 또 다른 블럭이 교환된 것으로 판정되면, 보정 수단은 프레임 메모리의 어드레스를 제어함으로써 블럭을 정확하게 재정렬할 수 있다.
본 발명의 또 다른 특성으로, 하나의 화면이 복수 개로 분할된 블럭들이 소정의 순서로 배열된 데이터 스트림을 처리하는 데이터 처리 방법은: 화면 상의 블럭의 위치 정보 - 이 위치 정보는 데이터 스트림에 배열된 각 블럭에 저장되어 있음 - 에 기초하여 블럭 불연속성을 검출하는 단계; 및 검출 단계의 결과에 기초하여 블럭 불연속성을 보정하는 단계를 포함한다.
본 발명의 다른 목적, 특성, 및 이점들은 첨부된 도면을 참조하여 후술되는 본 발명의 상세한 설명으로부터 명확해진다.
이하의 설명에서는 본 발명의 일 실시예로서 디지털 VTR이 구현된다. 디지털 VTR은 방송 환경에서 사용되기에 적절하다. 그러나, 본 발명이 이에 한정되는 것은 아니다.
본 실시예는 일례로 MPEG-2를 압축 알고리즘으로 사용한다. MPEG-2는 움직임-보상 예측 부호화 및 DCT 기반의 압축을 조합한 것이다. MPEG-2 데이터 구조는 계층 구조이다. 도 1은 전형적인 MPEG-2 데이터 스트림의 계층 구조를 도시한다. 데이터 구조는 하위층으로부터 매크로블럭층, 슬라이스층, 픽처층, GOP층, 및 시퀀스층으로 순서대로 구성된다.
도 1에 도시된 바와 같이, 매크로블럭층은 DCT 단위인 DCT 블럭을 포함한다. 매크로블럭층은 매크로블럭 헤더(header) 및 다수의 DCT 블럭으로 구성된다. 슬라이스층은 슬라이스 헤더부 및 하나 이상의 매크로블럭으로 형성된다. 픽처층은 픽처 헤더부 및 하나 이상의 슬라이스로 형성된다. 픽처는 한 화면에 대응한다. GOP층은 GOP 헤더부, 인트라-프레임(intra-frame) 부호화 픽처인 I-픽처, 및 예측-부호화 픽처인 P- 및 B-픽처로 형성된다.
I-픽처(인트라-부호화 픽처)는 현 픽처 내에서만 정보를 사용하여 부호화된다. 그래서, I-픽처는 자체 정보만을 사용하여 복호화될 수 있다.
P-픽처(예측-부호화 픽처)은 복호화된 시간상으로 앞선 I- 또는 P-픽처를 예측 픽처 또는 차분 기준 픽처로 사용한다. P-픽처 내의 각 매크로블럭에 대해, 움직임 보상 이후의 예측 픽처와 그 P-픽처 사이의 차이가 복호화되거나, 그 P-픽처 자체가 복호화될 수 있다. 보다 효과적인 접근법이 선택된다.
B-픽처(양방향 예측-부호화 픽처)는 복호화된 시간상으로 앞선 I- 또는 P-픽처, 복호화된 시간상으로 나중의 I- 또는 P-픽처, 또한 둘 모두로부터 생성된 보간 픽처로 구성된 차분 기준 픽처인 3가지 예측 픽처를 사용한다. B-픽처의 각 매크로블럭에 대해, 그 B-픽처와 움직임 보상 이후의 3가지 종류의 예측 부호화 중 임의의 것 사이의 차이가 부호화되거나, B-픽처 내의 각 매크로블럭이 인트라-부호화 될 수 있다. 가장 효과적인 접근법이 선택된다.
따라서, 매크로블럭 종류는 인트라-프레임 부호화 매크로블럭, 미래의 프레임이 이전 프레임으로부터 예측되는 정방향 인터-프레임(inter-frame) 예측 매크로블럭, 이전 프레임이 미래의 프레임으로부터 예측되는 역방향 인터-프레임 예측 매크로블럭, 및 프레임이 정방향 및 역방향 예측되는 양방향 매크로블럭을 포함한다. I-픽처에 포함된 모든 매크로블럭은 인트라-프레임 부호화 매크로블럭이다. P-픽처는 인트라-프레임 부호화 매크로블럭 및 정방향 인터-프레임 예측 매크로블럭을 포함한다. B-픽처는 상술된 4가지 종류의 매크로블럭을 포함한다.
GOP층은 적어도 하나의 I-픽처를 포함하며, P- 또는 B-픽처를 포함하지 않을 수 있다. 최상단 시퀀스층은 도 1에 도시된 바와 같이, 시퀀스 헤더부 및 다수의 GOP를 포함한다.
MPEG 포맷에서, 슬라이스는 하나의 가변 길이 코드 시퀀스이다. "가변 길이 코드 시퀀스"란, 가변 길이 코드가 정확하게 복호화될 때까지 데이터 경계가 검출될 수 없는 시퀀스이다.
바이트 단위로 조직된 소정의 비트 패턴을 갖는 시작 코드는 시퀀스층, GOP층, 픽처층, 및 슬라이스층 각각의 시작부에 위치한다. 시퀀스층의 시작부에 있는 시작 코드는 시퀀스 헤더 코드라 칭하여지고, 다른 층들의 시작부에 있는 시작 코드는 각각 GOP 시작 코드, 픽처 시작 코드, 및 슬라이스 시작 코드라 칭하여진다. 소정의 비트 패턴은 [00 00 01 xx]로 나타내질 수 있고 (이하, 괄호 표시 [ ]는 16진수 형태이다), 여기서는 2개의 디지트가 그룹화되고 [xx]는 그 층에 의존하는 가 변 값을 나타낸다.
시작 코드 및 시퀀스 헤더 코드는 각각 4 바이트 (= 32 비트) 데이터를 갖고, 여기서 4 바이트번째의 값은 그에 이어지는 정보의 종류를 식별하는 데 도움이 된다. 시작 코드 및 시퀀스 헤더 코드가 바이트 단위로 조직되므로, 포착을 위해서는 4 바이트 데이터에 대한 패턴 정합(matching)만이 요구된다.
시작 코드에 이어지는 데이터 중 1 바이트의 데이터의 상위 4 비트는 후술되는 바와 같이 확장 데이터 영역의 내용에 대한 식별자에 대응한다. 식별자의 값은 확장 데이터의 내용을 식별하는 데 도움이 된다.
매크로블럭층 및 매크로블럭 내의 DCT 블럭은 바이트 단위로 조직된 비트 패턴을 갖는 이러한 식별 코드를 포함하지 않음을 주목한다.
각 층의 헤더부를 보다 상세히 설명한다.
시퀀스층은 먼저 시퀀스 헤더(2)를 포함하고, 시퀀스 확장(3)과 확장 및 사용자 데이터(4)로 이어진다. 시퀀스 헤더 코드(1)는 시퀀스 헤더(2) 앞에 위치한다. 도 1에는 도시되지 않았지만, 시퀀스 확장(3)과 확장 및 사용자 데이터(4) 각각은 또한 시작부에 시작 코드를 포함한다. 시퀀스층의 헤더부는 시퀀스 헤더(2), 시퀀스 확장(3), 또한 확장 및 사용자 데이터(4)로 구성된다.
설명 및 할당 비트를 도시하는 도 2에 도시된 바와 같이, 시퀀스 헤더(2)는 단위 시퀀스에 대해 설정된 데이터를 포함하고, 이들 각각에는 소정의 수의 비트가 할당된다. 저장된 정보는 시퀀스 헤더 코드(1), 수평 픽셀의 수와 수직 라인의 수로 구성된 부호화 픽처 크기, 종횡비, 프레임 레이트, 비트 레이트, VBV(Video Buffering Verifier) 버퍼 크기, 및 양자화 매트릭스를 포함한다.
도 3에 도시된 바와 같이, 시퀀스 헤더(2)에 이어지는 확장 시작 코드에 이어지는 시퀀스 확장(3)에서, 프로파일, 레벨, 크로마(chroma) (색차(chrominance)) 포맷, 및 진행 시퀀스를 포함하는 MPEG-2에서 사용되는 추가 데이터가 설정된다.
도 4에 도시된 바와 같이, 확장 및 사용자 데이터(4)는 sequence display ( )로 표현되어 원래 신호의 RGB 변환 특성 및 디스플레이된 픽처의 크기와 같은 정보를 포함할 수 있고, sequence scalable extension ( )으로 표현되어 측정성 모드 및 측정가능한 층의 설정을 포함할 수 있다.
시퀀스층의 헤더부는 GOP로 이어진다. 도 1에 도시된 바와 같이, GOP 헤더(6) 및 사용자 데이터(7)는 GOP의 선두에 있다. GOP 헤더(6) 및 사용자 데이터(7)는 GOP의 헤더부를 구성한다. 도 5에 도시된 바와 같이, GOP 헤더(6)는 GOP 시작 코드(5), 시간 코드, 및 그 GOP의 독립성 및 타당성을 나타내는 플래그를 포함하고, 그에는 각각 소정의 비트가 할당된다. 도 6에 도시된 바와 같이, 사용자 데이터(7)는 확장 데이터 및 사용자 데이터를 포함한다. 여기서 도시되지 않았지만, 확장 데이터 및 사용자 데이터는 각각 그 시작부에서 시작 코드를 포함한다.
GOP층의 헤더부는 픽처로 이어진다. 도 1에 도시된 바와 같이, 픽처 헤더(9), 픽처 부호화 확장(10), 또한 확장 및 사용자 데이터(11)가 픽처의 시작부에 조직된다. 픽처 시작 코드(8)는 픽처 헤더(9)의 시작부에 위치한다. 픽처 부호화 확장(10)과 확장 및 사용자 데이터(11)는 각각 그 시작부에 시작 코드를 포함한다. 픽처 헤더(9), 픽처 부호화 확장(10), 또한 픽처 및 사용자 데이터(11)는 픽처층의 헤더부를 구성한다.
도 7에 도시된 바와 같이, 픽처 헤더(9)는 픽처 코드(8)를 포함하고, 거기서는 화면에 대한 부호화 조건이 설정된다. 픽처 부호화 확장(10)에서는 도 8에 도시된 바와 같이, 정방향/역방향 및 수평/수직 방향에서 움직임 벡터의 범위가 지정되거나, 픽처 구조가 설정된다. 더욱이, 픽처 부호화 확장(10)에서는 인트라 매크로블럭의 DC 계수 정확도가 설정되고, VLC형이 선택되고, 선형 또는 비선형 양자화 스케일이 선택되고, DCT에서의 주사 방법 등이 선택된다.
확장 및 사용자 데이터(11)에서는 도 9에 도시된 바와 같이, 양자화 매트릭스가 설정되고, 공간 측정가능한 파라미터 등이 설정된다. 이들은 각 픽처마다 설정되어, 각 화면의 특성에 따라 부호화를 제공하게 된다. 확장 및 사용자 데이터(11)에서는 저작권 정보도 또한 설정될 수 있다.
픽처층의 헤더부는 슬라이스로 이어진다. 도 1에 도시된 바와 같이, 슬라이스의 시작부에 있는 슬라이스 헤더(13) 및 슬라이스 시작 코드(12)는 슬라이스 헤더(13)의 시작부에 위치한다. 도 10에 도시된 바와 같이, 슬라이스 시작 코드(12)는 그 슬라이스의 수직 위치 정보를 포함한다. 슬라이스 헤더(13)는 그 슬라이스의 확장된 수직 위치 정보 및 양자화 스케일 정보를 포함한다.
슬라이스층의 헤더부는 매크로블럭으로 이어진다. 매크로블럭은 매크로블럭 헤더(14)를 포함하고, 이는 다수의 DCT 블럭으로 이어진다. 상술된 바와 같이, 매크로블럭 헤더(14)는 시작 코드를 포함하지 않는다. 도 11에 도시된 바와 같이, 매크로블럭 헤더(14)는 그 매크로블럭의 상대 위치 정보 및 움직임 보상 모드 설정 을 포함하고, DCT 부호화의 다양한 설정은 여기서 지시된다.
매크로블럭 헤더(14)는 DCT 블럭으로 이어진다. 도 12에 도시된 바와 같이, DCT 블럭은 가변 길이 부호화 DCT 계수 및 그 DCT 계수에 대한 데이터를 포함한다.
도 1에 도시된 층에서, 실선으로 분할된 데이터는 이들이 바이트 단위로 조직됨을 나타내고, 점선으로 분할된 데이터는 이들이 바이트 단위로 조직되지 않음을 나타낸다. 즉, 시퀀스층, GOP층, 및 픽처층 각각에서는 코드가 도 13a에 도시된 예에서와 같이 바이트 단위로 분할된다. 슬라이스층에서는 슬라이스 시작 코드(12)만이 바이트 단위로 분할되고, 매크로블럭은 도 13b에 도시된 예에서와 같이 비트 단위로 분할될 수 있다. 매크로블럭층에서, DCT 블럭은 비트 단위로 분할될 수 있다.
복호화 또는 부호화로 인한 신호의 열화를 방지하기 위해, 부호화 데이터는 수정없이 편집되는 것이 바람직하다. P- 및 B-픽처는 각각 시간상으로 앞선 픽처와 시간상으로 전후의 픽처들을 사용하여 복호화되어야 하므로, 프레임 단위로 편집될 수는 없다. 이점에서, 본 실시예는 한 GOP가 단일 I-픽처로 구성된다.
MPEG-2는 가변 길이 부호화를 사용하므로, 한 프레임에서 발생된 데이터의 양은 한 프레임에서 발생된 데이터가 소정의 크기를 갖는 기록 영역에 기록될 수 있도록 제어된다. 더욱이, 본 실시예에서는 자기 테이프 상의 기록에 적응되도록, 한 슬라이스가 단일 매크로블럭으로 구성되고, 단일 매크로블럭이 고정된 길이를 갖는 고정 프레임에 놓인다.
도 14는 본 실시예에 따른 MPEG 스트림의 헤더를 구체적으로 도시한다. 도 1로부터 명백한 바와 같이, 시퀀스층, GOP층, 픽처층, 슬라이스층, 및 매크로블럭층의 헤더부는 시퀀스층의 시작부로부터 연속하여 나타난다.
12 바이트의 길이를 갖는 시퀀스 헤더(2)는 스트림의 시작부에 위치하고, 10 바이트의 길이를 갖는 시퀀스 확장(3)으로 이어진다. 시퀀스 확장(3)은 확장 및 사용자 데이터(4)로 이어진다. 4 바이트의 사용자 데이터 시작 코드는 확장 및 사용자 데이터(4)의 시작부에 위치하고, 그에 이어지는 사용자 데이터는 SMPTE(Society of Motion Picture and Television Engineers) 표준에 따른 정보를 포함한다.
시퀀스층의 헤더부는 GOP층의 헤더부로 이어지고, 8 바이트의 길이를 갖는 GOP 헤더(6)가 확장 및 사용자 데이터(7)로 이어진다. 4 바이트의 사용자 데이터 시작 코드는 확장 및 사용자 데이터(7)의 시작부에 위치하고, 그에 이어지는 사용자 데이터는 다른 기존 비디오 포맷과 호환성을 제공하기 위한 정보를 포함한다.
GOP층의 헤더부는 픽처층의 헤더부로 이어지고, 9 바이트의 길이를 갖는 픽처 헤더(9)는 9 바이트의 길이를 갖는 픽처 부호화 확장(10)으로 이어진다. 확장 및 사용자 데이터(11)는 픽처 부호화 확장(10) 이후에 위치한다. 확장 및 사용자 데이터는 확장 및 사용자 데이터(11)의 시작부로부터 133 바이트에 걸쳐 확장되도록 저장되고, 4 바이트의 길이를 갖는 사용자 데이터 시작 코드(15)로 이어진다. 사용자 데이터 시작 코드(15)에 이어서, 다른 기존 비디오 포맷과 호환 가능성을 제공하기 위한 정보가 저장된다. 사용자 데이터 시작 코드(16)는 그 이후에 위치하고, SMPTE 표준에 따른 데이터는 사용자 데이터 시작 코드(16) 이후에 저장된다. 픽처층의 헤더부는 슬라이스로 이어진다.
매크로블럭에 대한 또 다른 설명이 주어진다. 슬라이스층에 포함된 매크로블럭은 DCT 블럭의 세트이고, DCT 블럭의 부호화는 0이 아닌 시퀀스 (레벨)로 이어지는 0 계수들의 시리즈 (런(run))를 한 유닛으로 사용하여 양자화된 DCT 계수 시퀀스의 가변 길이 부호화를 포함한다. 바이트 단위로 조직된 식별 코드는 매크로블럭 및 매크로블럭의 DCT 블럭에 부가되지 않는다.
매크로블럭은 16 픽셀 ×16 라인의 매트릭스로 화면 (픽처)에서 분리된 조각에 대응한다. 예를 들면, 한 슬라이스는 매크로블럭의 수평 시퀀스가 될 수 있다. 슬라이스의 시리즈에서, 한 슬라이스의 최종 매크로블럭은 다음 슬라이스의 제1 매크로블럭으로 이어지고, 매크로블럭은 슬라이스 사이에서 오버랩되는 것이 허용되지 않는다. 일단 화면 크기가 정의되면, 화면 당 매크로블럭의 수는 유일하게 결정된다.
화면에서 수직 방향의 매크로블럭 수와 수평 방향의 매크로블럭 수는 각각 mb_height 및 mb_width라 칭하여진다. 정의된 바와 같이, 화면에서 매크로블럭의 좌표는 매크로블럭 수직 위치 번호가 상단 끝부분으로부터 0으로 시작되는 mb_row 및 매크로블럭 수평 위치 번호가 좌측 끝부분으로부터 0으로 시작되는 mb_column으로 표현된다. 단일 변수를 사용하여 화면 상의 매크로블럭 위치를 표현하기 위해, macroblock_address는 다음의 방식으로 정의된다:
macroblock_address = mb_row ×mb_width + mb_column
슬라이스 및 매크로블럭은 각각 macroblock_address의 오름 차순에 따라 스 트림에서 순서가 정해지는 것으로 정의된다. 즉, 스트림은 화면의 상단에서 하단으로 또한 좌측에서 우측으로 전송된다.
MPEG에서는 전형적으로 한 슬라이스가 한 스트라이프(stripe) (16 라인)로 형성되고, 가변 길이 부호화는 화면의 좌측에서 시작되어 우측에서 끝난다. 그러므로, 수정하지 않고 MPEG 기본 스트림을 저장하는 데 VTR이 사용되면, 고속 재생될 때 재생될 수 있는 부분은 화면의 좌측에 집중되어 균일한 리프레싱(refreshing)을 방해한다. 더욱이, 테이프 상에서 데이터의 위치가 예측될 수 없으므로, 테이프 패턴이 일정 속도로 트레이스(trace)되는 경우, 화면이 균일하게 리프레싱될 수 없다. 또한, 한 위치에서 발생된 에러가 화면의 우측까지 영향을 주어, 다음 슬라이스 헤더가 검출될 때까지 복귀되지 못한다. 이와 같은 불편함을 방지하기 위해, 한 슬라이스는 한 블럭으로 구성된다.
도 15는 본 실시예에 따른 레코더/플레이어(recorder/player)의 구조예를 도시한다. 기록 시, 단자(100)로부터 입력된 디지털 신호는 SDI(Serial Data Interface) 수신기(101)에 공급된다. SDI는 (4:2:2) 구성 성분 비디오 신호, 디지털 오디오 신호, 및 추가 데이터를 전송하도록 SMPTE에 의해 조절되는 인터페이스이다. SDI 수신기(101)는 입력 디지털 신호로부터 디지털 비디오 신호 및 디지털 오디오 신호를 추출한다. 디지털 비디오 신호는 MPEG 인코더(102)에 전달되고, 디지털 오디오 신호는 지연 유닛(103)을 통해 ECC 인코더(109)에 전달된다. 지연 유닛(103)은 디지털 오디오 신호와 디지털 비디오 신호 사이의 시간차를 제거하도록 동작한다.
SDI 수신기(101)는 또한 입력 디지털 신호로부터 동기화 신호를 추출하고, 추출된 동기화 신호를 타이밍 발생기(104)에 공급한다. 외부 동기화 신호도 또한 단자(105)로부터 타이밍 발생기(104)에 입력될 수 있다. 타이밍 발생기(104)는 후술되는 바와 같이 SDTI 수신기(108)로부터 공급된 동기화 신호 및 입력된 동기화 신호 중에서 지정된 신호에 따라 타이밍 펄스를 발생한다. 발생된 타이밍 펄스는 레코더/플레이어의 구성 성분에 공급된다.
입력 비디오 신호에는 계수 데이터로의 변환을 위해 MPEG 인코더(102)에서 DCT 처리가 행해지므로, 계수 데이터가 가변 길이 부호화된다. MPEG 인코더(102)로부터의 가변 길이 부호화(variable-length coded: VLC) 데이터는 MPEG-2에 따른 기본 스트림(elementary stream: ES)이다. 결과의 출력은 기록 다중-포맷 변환기 (이하, "MFC(multi-format converter)"라 칭함)의 제1 입력 단자에 전해진다.
한편, SDTI-포맷 데이터는 입력 단자(107)를 통해 입력된다. 이 신호는 SDTI 수신기(108)에 의해 동기화되어 검출된다. 결과의 신호는 프레임 메모리(170)에서 버퍼 처리되고, 이어서 기본 스트림이 추출된다. 판독 타이밍이 기록 MFC(106)로부터 전달된 "준비(ready)" 신호에 의해 제어되는 추출된 기본 스트림은 프레임 메모리(170)로부터 판독되어, 기록 MFC(106)의 제2 입력 단자에 공급된다. SDTI 수신기(108)에 의해 동기화되어 검출된 결과적인 동기화 신호는 타이밍 발생기(104)에 전달된다.
일 실시예에서는 예를 들어, SDTI-CP(Serial Data Transport Interface-Content Package)가 MPEG ES(MPEG 기본 스트림)를 전송하는 데 사용된다. 이 ES는 4:2:2 구성 성분이고, 1 GOP = 1 픽처의 관계를 갖는 I-픽처로 구성된 스트림이다. SDTI-CP 포맷에서, MPEG ES는 억세스 유닛으로 분리되고, 각 프레임에 대해 패킷(packet)으로 모아진다. SDTI-CP는 충분한 전송 대역폭을 사용하여 (클럭 레이트로 27 ㎒ 또는 36 ㎒, 또한 스트림 비트 레이트로 270 Mbps 또는 360 Mbps), ES가 한 프레임에서 버스트 모드(burst mode)로 전송되게 허용한다.
구체적으로는, 시스템 데이터, 비디오 스트림, 오디오 스트림, 및 AUX 데이터는 한 프레임에서 SAV(Start of Active Video)로부터 EAV(End of Active Video)로 배열된다. 데이터는 한 프레임에 걸쳐 전체적으로 분포되지 않고, 버스트 모드에서 그 프레임의 시작부로부터 소정의 주기에 분포된다. SDTI-CP 스트림 (비디오 및 오디오)은 프레임 경계에서 한 스트림으로 스위칭될 수 있다. SDTI-CP는 SMPTE 시간 코드를 클럭 기준으로 사용하여 내용에 대한 오디오-비디오 동기화를 이루는 메커니즘을 갖는다. 포맷은 SDTI-CP 및 SDI가 함께 존재할 수 있도록 정의된다.
SDTI-CP를 사용하는 상술된 인터페이스는 TS(Transport stream)가 전달되는 경우에서와 같이, 인코더 및 디코더가 VBV(Video Buffer Verifier) 버퍼 및 TB(Transport Buffer)를 통과하도록 요구하지 않으므로, 그에 의해 지연을 줄인다. SDTI-CP 자체가 매우 높은 전송 속도를 제공하므로, 지연은 더 감소될 수 있다. 그러므로, 전체적인 방송국이 관리될 수 있는 동기화가 이루어진 환경에서는 SDTI-CP를 사용하는 것이 효과적이다.
SDTI 수신기(108)는 입력된 SDTI-CP 스트림으로부터 디지털 오디오 신호를 더 추출한다. 추출된 디지털 오디오 신호는 ECC 인코더(109)에 공급된다.
기록 MFC(106)는 선택기와 스트림 변환기를 포함한다. 기록 MFC(106) 및 후술될 재생 MFC(114)는 예를 들어, 모드를 스위칭함으로써 공통적으로 사용된다. 기록 MFC(106)에서의 처리를 설명한다. 선택기는 MPEG 인코더(102) 또는 SDTI 수신기(108)로부터 공급된 MPEG ES를 선택하는 데 사용되고, 이는 이어서 스트림 변환기에 공급된다.
스트림 변환기는 한 매크로블럭을 구성하는 다수의 DCT 블럭에 대한 주파수 구성 성분을 기초로 MPEG-2 표준에 따라 각 DCT 블럭에 대해 조직된 DCT 계수들을 그룹화하고, 주파수 구성 성분의 그룹들은 더 재조직된다. 한 슬라이스가 한 스트라이프로 형성될 때, 스트림 변환기는 한 슬라이스가 하나의 매크로블럭으로 형성되게 만든다. 스트림 변환기는 또한 한 매크로블럭에서 발생된 가변 길이 데이터의 최대 길이를 고정된 길이로 제한한다. 이는 고차 DCT 계수들을 0으로 설정함으로써 이루어질 수 있다.
후술되는 바와 같이, 스트림 변환기는 시퀀스 확장(3)으로부터 크로마 포맷을 나타내는 정보 chroma_format을 추출하도록 공급된 MPEG ES의 시퀀스 헤더(2)에 이어지는 시퀀스 확장(3)을 검출한다. 추출된 크로마 포맷 정보에 기초하여, 스트림 변환기는 크로마 포맷 4:2:2 및 4:2:0이 공통적으로 처리될 수 있도록 입력된 MPEG ES의 처리 타이밍을 제어한다.
기록 MFC(106)에 의해 재조직되는 변환 기본 스트림은 ECC 인코더(109)에 공급된다. ECC 인코더(109)는 큰 용량을 갖는 메인 메모리(도시되지 않음)에 연결되고, 패킹 및 셔플링 유닛(packing and shuffling unit), 오디오 외부 인코더, 비디 오 외부 인코더, 내부 인코더, 오디오 셔플링 유닛, 및 비디오 셔플링 유닛을 포함한다. ECC 인코더(109)는 각 싱크 블럭(sync block)에 ID를 부가하는 회로, 및 동기화 신호를 부가하는 회로를 더 포함한다. 예를 들어, ECC 인코더(109)는 단일 집적 회로를 구비할 수 있다.
일 실시예에서, 곱셈 코드(product code)는 비디오 데이터 및 오디오 데이터에 대해 에러 정정 코드로 사용된다. 곱셈 코드는 데이터 심볼이 이중으로 부호화될 수 있도록 외부 코드 및 내부 코드로 각각 수직 및 수평 방향에서의 비디오 데이터 또는 오디오 데이터의 2-차원 어레이를 부호화하는 데 사용된다. 리드-솔로몬 코드(Reed-Solomon code)는 외부 코드 및 내부 코드로 사용될 수 있다.
ECC 인코더(109)에 의해 실행되는 처리를 설명한다. 변환된 기본 스트림의 비디오 데이터는 가변 길이 부호화되었으므로, 그 길이는 매크로블럭에 따라 균일하지 않다. 패킹 및 셔플링 유닛에서, 매크로블럭은 고정된 프레임에 놓인다. 고정된 프레임의 범위를 넘어 확장된 오버플로우 부분은 고정 프레임 중 빈 영역에 순차적으로 놓인다.
픽처 포맷 및 셔플링 패턴의 버전과 같은 정보를 갖는 시스템 데이터는 후술되는 바와 같이 시스템 제어기(121)로부터 공급되고, 입력 단자(도시되지 않음)로부터 입력된다. 시스템 데이터는 패킹 및 셔플링 유닛에 공급되고, 픽처 데이터와 똑같은 방식으로 기록된다. 시스템 데이터는 비디오 AUX로 기록된다. 이어서, 주사 순서로 발생된 한 프레임의 매크로블럭이 재조직되어 테이프 상의 매크로블럭의 기록 위치가 확산되는 셔플링이 실행된다. 셔플링은 데이터가 가변 레이트로 재생 될 때 단편적으로 재생되더라도 픽처에 대해 개선된 리프레싱 레이트를 제공한다.
패킹 및 셔플링 유닛으로부터의 비디오 데이터 및 시스템 데이터 (필요하지 않은 경우, 시스템 데이터를 포함하더라도, 이하, 간단히 "비디오 데이터"라 칭함)는 비디오 데이터를 외부 코드로 부호화하도록 비디오 외부 인코더에 공급되어, 그에 외부 패리티(parity)가 부가된다. 외부 인코더의 출력은 비디오 셔플링 유닛에 의해 섞여서 각 싱크 블럭에 대해 다수의 ECC 블럭을 재정렬한다. 각 싱크 블럭에 대한 셔플링은 특정한 ECC 블럭에서 에러의 집중을 방지한다. 셔플링 유닛에 의해 실행되는 셔플링은 때로 "인터리브(interleave)"라 칭하여진다. 비디오 셔플링 유닛의 출력은 메인 메모리에 기록된다.
상술된 바와 같이, 한편, SDTI 수신기(108) 또는 지연 유닛(103)으로부터 출력된 디지털 오디오 신호는 ECC 인코더(109)로 공급된다. 본 실시예는 비압축 디지털 오디오 신호를 처리한다. 디지털 오디오 신호는 그에 제한되지 않고, 오디오 인터페이스를 통해 입력될 수 있다. 오디오 AUX가 입력 단자(도시되지 않음)로부터 더 공급될 수 있다. 오디오 AUX는 오디오 데이터의 샘플링 주파수와 같은 오디오 데이터에 관련된 정보를 갖는 보조 데이터를 나타낸다. 오디오 AUX는 오디오 데이터에 부가되고, 오디오 데이터와 동일해질 수 있다.
오디오 AUX가 부가된 오디오 데이터 (필요하지 않은 경우, 오디오 AUX를 포함하더라도 간단히 "오디오 데이터"라 칭함)는 오디오 데이터를 외부 코드로 부호화하기 위해 오디오 외부 인코더에 공급된다. 오디오 외부 인코더의 출력은 셔플링을 위한 오디오 셔플링 유닛에 공급된다. 오디오 셔플링은 각 싱크 블럭에 대한 셔플링 및 각 채널에 대한 셔플링을 포함한다.
오디오 셔플링 유닛의 출력은 메인 메모리에 기록된다. 상술된 바와 같이, 메인 메모리는 그에 기록된 비디오 셔플링 유닛의 출력을 갖고, 오디오 데이터 및 비디오 데이터는 한 채널 데이터를 형성하도록 메인 메모리 내에서 조합된다.
데이터는 메인 메모리로부터 판독되고, 그에 싱크 블럭 번호를 나타내는 정보를 갖는 ID가 부가되어 내부 인코더로 공급된다. 내부 인코더는 공급된 데이터를 내부 코드로 부호화한다. 내부 인코더의 출력에 응답하여, 각 싱크 블럭에 대한 동기화 신호는 싱크 블럭의 시리즈를 갖는 기록 데이터를 형성하도록 부가된다.
ECC 인코더(109)로부터 출력된 기록 데이터는 기록 RF 신호로의 변환을 위해 기록 증폭기를 포함하는 등화기(110)에 공급된다. 기록 RF 신호는 회전 헤드가 설치된 회전 드럼(111)에 전해져 자기 테이프(112) 상에 기록되고, 회전 드럼(111)에는 인접한 트랙을 형성하고 다른 헤드 방위각을 갖는 다수의 자기 헤드가 설치된다.
기록 데이터는 필요한 경우, 스크램블(scramble) 처리된다. 이는 또한 기록될 때 디지털적으로 변조되거나 부분 응답 클래스(Partial Response Class 4) 및 비터비(Viterbi) 부호화될 수 있다. 등화기(110)는 기록 메카니즘과 재생 메카니즘을 모두 포함한다.
도 16은 상술된 회전 헤드에 의해 자기 테이프에 형성된 트랙 포맷의 일례를 도시한다. 본 예에서는 한 프레임의 비디오 및 오디오 데이터가 4개의 트랙에 기록된다. 다른 방위각을 갖는 인접한 2개의 트랙은 한 세그먼트(segment)를 구성한 다. 즉, 4개의 트랙이 2개의 세그먼트를 구성한다. 한 세그먼트를 구성하는 한 세트의 트랙은 방위각에 대응하도록 트랙 번호 [0] 및 트랙 번호 [1]로 칭하여진다. 각 트랙은 비디오 데이터를 기록하도록 양 끝부분에 비디오 섹터를 포함하고, 오디오 데이터를 기록하도록 비디오 섹터 사이에 오디오 섹터를 포함한다. 도 16은 테이프 상에서 섹터들의 위치를 도시한다.
본 예에서는 4-채널 오디오 데이터가 사용될 수 있다. 오디오 데이터의 제1 내지 제4 채널은 각각 심볼 A1 내지 A4로 나타내진다. 오디오 데이터는 기록되기 이전에 각 세그먼트에 대해 재정렬된다. 본 예에서, 한 트랙에 대해 4개의 에러 정정 블럭에 대응하는 데이터는 인터리브 처리되고, 기록되기 이전에 상단측 섹터 및 하단측 섹터로 분할된다.
하단측의 비디오 섹터는 시스템 영역(system area: SYS)을 포함한다. 시스템 영역은 모든 트랙에 대해 하단측에서 비디오 섹터의 선두 끝부분 부근과 마지막 끝부분 부근에 번갈아 위치할 수 있다.
도 16에서, SAT는 서보 로크(servo lock) 신호가 기록되는 영역을 나타낸다. 기록 영역 사이에는 갭이 있다.
도 16은 프레임 당 데이터가 4개 트랙에 기록되는 예를 도시하지만, 프레임 당 데이터는 기록 및 재생되는 데이터의 포맷에 의존하여 8개 트랙, 6개 트랙 등에 기록될 수 있다.
계속하여 도 16을 참고로, 테이프에 기록된 각 데이터는 동일한 간격으로 분할되고 싱크 블럭이라 칭하여지는 다수의 블럭으로 구성된다. 각 싱크 블럭은 동 기화 검출을 위한 SYNC 패턴, 싱크 블럭을 식별하기 위한 ID, 그에 이어지는 데이터의 내용을 나타내는 DID, 데이터 패킷, 및 에러 정정을 위한 내부 패리티를 포함한다. 데이터는 각 싱크 블럭에 대한 패킷으로 처리된다. 간략하게, 기록 또는 재생되는 최소 데이터 유닛은 한 싱크 블럭에 대응한다. 예를 들어, 다수의 싱크 블럭의 어레이는 비디오 섹터를 형성할 수 있다.
다시 도 15를 참고로, 자기 테이프(112)로부터 회전 드럼(111)에 의해 재생된 재생 신호는 재생을 위해 재생 증폭기를 포함한 등화기(110)의 재생 시스템에 공급된다. 재생 신호는 이어서 등화기(110)에서 등화 또는 파형-정형화된다. 재생 신호는 필요한 경우, 또한 디지털적으로 복호화되거나 비터비 복호화된다. 등화기(110)의 출력은 ECC 디코더(113)에 전달된다.
ECC 디코더(113)는 ECC 인코더(109)에 대해 상술된 처리에 반대되는 처리를 실행하고, 대용량을 갖는 메인 메모리, 내부 디코더, 오디오 디셔플링(deshuffling) 유닛, 비디오 디셔플링 유닛, 및 외부 디코더를 포함한다. ECC 디코더(113)는 또한 디셔플링 및 디패킹(depacking) 유닛과 비디오 복호화를 위한 데이터 보간 유닛, 또한 오디오 복호화를 위한 오디오 AUX 분리 유닛과 데이터 보간 유닛을 포함한다. 예를 들어, ECC 디코더(113)는 단일 집적 회로를 구비할 수 있다.
ECC 디코더(113)에 의해 실행되는 처리를 설명한다. ECC 디코더(113)는 먼저 싱크 블럭을 해체하도록 싱크 블럭의 시작부에 공급된 동기화 신호를 검출하는 동기화 검출을 실행한다. 재생 데이터는 내부 코드로 에러 정정이 실행되는 각 싱 크 블럭에 대한 내부 디코더에 공급된다. 내부 디코더의 출력에는 내부 코드로 에러가 검출되는 싱크 블럭에서 싱크 블럭 번호와 같은 ID를 보간하도록 ID 보간이 행해진다. ID가 보간된 재생 데이터는 비디오 데이터 및 오디오 데이터로 분리된다.
상술된 바와 같이, 비디오 데이터는 DCT 계수 데이터 및 MPEG에서 인트라-부호화(intra-coding)에 의해 발생된 시스템 데이터를 의미하고, 오디오 데이터는 PCM(pulse code modulation) 데이터 및 오디오 AUX를 의미한다.
분리된 오디오 데이터는 기록 셔플링 유닛에서 실행된 셔플링과 반대되는 처리를 위해 오디오 디셔플링 유닛에 전해진다. 디셔플링 유닛의 출력은 외부 코드와의 에러 정정을 위해 오디오 외부 디코더에 공급된다. 에러 정정이 행해지는 오디오 데이터는 오디오 외부 디코더로부터 출력된다. 에러 플래그는 정정될 수 없는 에러를 포함하는 데이터에 대해 설정된다.
오디오 AUX는 오디오 AUX 분리 유닛에 의해 오디오 외부 디코더의 출력으로부터 분리되고, 분리된 오디오 AUX는 ECC 디코더(113)로부터 출력된다 (라우팅(routing)은 생략됨). 오디오 AUX는 예를 들어, 후술될 시스템 제어기(121)에 공급된다. 오디오 데이터는 데이터 보간 유닛에 공급된다. 데이터 보간 유닛은 에러를 포함하는 샘플을 보간 처리한다. 보간 방법으로는 시간상으로 전후의 정확한 데이터의 평균이 보간을 위해 사용되는 평균 보간, 및 이전의 정확한 샘플값이 유지되는 0차 프리홀드(0th-order pre-hold)가 포함된다.
데이터 보간 유닛의 출력은 ECC 디코더(113)로부터의 오디오 데이터 출력에 대응하고, ECC 디코더(113)로부터 출력된 오디오 데이터는 지연 유닛(117) 및 SDIT 출력 유닛(115)에 전해진다. 지연 유닛(117)은 후술되는 바와 같이, MPEG 디코더(116)에서 처리되는 비디오 데이터로 인하여 지연을 흡수하도록 동작한다. 지연 유닛(117)으로 전해진 오디오 데이터는 지연을 포함하여 SDI 출력 유닛(118)에 공급된다.
분리된 비디오 데이터는 기록 셔플링 유닛에서 실행된 셔플링과 반대되는 처리를 위해 디셔플링 유닛에 전달된다. 디셔플링 유닛은 기록 셔플링 유닛에 의해 셔플링 처리된 각 싱크 블럭을 역셔플링 처리한다. 디셔플링 유닛의 출력은 외부 코드로의 에러 정정을 위해 외부 디코더로 공급된다. 정정될 수 없는 에러가 발생되면, 에러의 존재 여부를 나타내는 에러 플래그가 에러의 존재를 나타낸다.
외부 디코더의 출력은 디셔플링 및 디패킹 유닛에 공급된다. 디셔플링 및 디패킹 유닛은 기록 패킹 및 셔플링 유닛에 의해 셔플링 처리된 각 매크로블럭을 역셔플링 처리한다. 역셔플링 및 디패킹 유닛은 또한 기록될 때 묶여졌던 각 매크로블럭을 해체한다. 보다 구체적으로, 데이터의 길이는 각 매크로블럭이 원래 가변 길이 코드를 재저장하도록 회복된다. 디셔플링 및 디패킹 유닛은 또한 시스템 데이터를 분리하고, 이는 ECC 디코더(113)로부터 출력되어 후술될 시스템 제어기(121)에 전달된다.
디셔플링 및 디패킹 유닛의 출력은 데이터 보간 유닛에 전달되고, 여기서는 에러 플래그가 on 상태인 데이터 즉, 에러를 갖는 데이터가 정정된다. 매크로블럭 데이터의 중간 부근에 발생된 에러가 변환 이전에 검출되면, 에러 위치 이후의 주 파수 구성 성분의 DCT 계수는 회복될 수 없다. 그래서, 예컨대 에러 위치 이후의 주파수 구성 성분의 DCT 계수는 0으로 설정된다. 유사하게, 고속 재생하는 동안에는 싱크 블럭 길이에 대응하는 길이까지의 DCT 계수만이 복원되고, 이후에는 계수가 0 데이터로 치환된다. 또한, 비디오 데이터의 시작부에 있는 헤더가 에러를 포함하면, 데이터 보간 유닛은 헤더를 회복하도록 동작한다 (순차 헤더, GOP 헤더, 픽처 헤더, 또는 사용자 데이터).
데이터 보간 유닛으로부터 출력된 비디오 데이터 및 에러 플래그는 ECC 인코더(113)의 출력에 대응하고, ECC 디코더(113)의 출력은 재생 다중-포맷 변환기 (이하, "재생 MFC"라 칭함)에 공급된다. 재생 MFC(114)는 기록 MFC(106)에 의해 실행된 처리의 반대되는 처리를 실행하고, 스트림 변환기를 포함한다. 예를 들어, 재생 MFC(114)는 단일 집적 회로를 구비할 수 있다.
스트림 변환기는 데이터 보간 유닛으로부터의 에러 플래그를 사용하여, 데이터를 절단하기 위해 에러를 포함하는 비디오 데이터에 그 위치에서 EOB(End Of Block) 신호를 부가한다. DCT 계수가 DC 구성 성분 및 저주파수 구성 성분으로부터 고주파수 구성 성분으로 DCT 블럭에 걸쳐 조직되므로, 특정한 위치 이후의 DCT 계수가 무시되면, DCT 계수는 DC 구성 성분 및 저주파수 구성 성분으로부터 매크로블럭을 구성하는 DCT 블럭에 걸쳐 전체적으로 분포될 수 있다.
스트림 변환기는 또한 기록 스트림 변환기에 의해 실행된 처리에 반대되는 처리를 실행한다. 보다 구체적으로, DCT 블럭에 대해 주파수 구성 성분을 기초로 조직된 DCT 계수는 DCT 블럭의 유닛에 대해 재조직된다. 재생 MFC(114)는 공급된 스트림으로부터 시퀀스 확장(3)을 검출하여 크로마 포맷 정보를 추출한다. 상술된 DCT 계수의 재조직이 스트림 변환기에 의해 실행될 때, 타이밍 제어는 추출된 크로마 포맷 정보를 기초로 하여 실행된다. 그러므로, 재생 신호는 MPEG-2에 따른 기본 스트림으로 변환된다.
스트림 변환기의 입력/출력은 기록 스트림 변환기에서와 같이 매크로블럭의 최대 길이에 따라 충분한 전송 속도 (대역폭)를 유지한다. 매크로블럭 (슬라이스)의 길이가 제한되지 않으면, 픽셀 레이트의 3배인 대역폭이 바람직하게 유지된다.
스트림 변환기의 출력은 재생 MFC(114)의 출력에 대응하고, 재생 MFC(114)의 출력은 SDTI 출력 유닛(115) 및 MPEG 디코더(116)로 공급된다.
MPEG 디코더(116)는 비디오 데이터를 출력하도록 기본 스트림을 복호화한다. 즉, MPEG 디코더(116)에서는 역양자화 및 역 DCT 처리가 실행된다. 복호화된 비디오 데이터는 SDI 출력 유닛(118)에 공급된다. 상술된 바와 같이, ECC 디코더(113)에 의해 비디오 데이터로부터 분리된 오디오 데이터는 지연 유닛(117)을 통해 SDI 출력 유닛(118)에 공급된다. SDI 출력 유닛(118)에서, 공급된 비디오 데이터 및 오디오 데이터는 SDI 포맷으로 맵핑(mapping)되고, SDI 포맷의 데이터 구조를 갖는 스트림으로 변환된다. SDI 출력 유닛(118)으로부터의 스트림은 출력 단자(120)를 통해 외부로 출력된다.
한편, 상술된 바와 같이, ECC 인코더(113)에 의해 비디오 데이터로부터 분리된 오디오 데이터는 SDTI 출력 유닛(115)에 공급된다. SDTI 출력 유닛(115)에서는 기본 스트림으로 공급된 비디오 데이터 및 오디오 데이터가 SDTI 포맷으로 맵핑되 고, SDTI 포맷의 데이터 구조를 갖는 스트림으로 변환된다. 변환된 스트림은 출력 단자(119)를 통해 외부로 출력된다.
도 15에서, 예를 들어, 시스템 제어기(121)는 레코더/플레이어의 전체적인 동작을 제어하기 위한 마이크로컴퓨터를 구비할 수 있다. 서보(122)는 자기 테이프(112)의 이동이나 회전 드럼(111)의 구동을 제어하도록 시스템 제어기(121)와 통신한다.
도 17a 및 도 17b와 도 18a 및 도 18b를 참조하여 크로마 포맷을 설명하고, 도 18a 및 도 18b는 크로마 포맷 4:4:4, 4:2:2, 및 4:2:0을 각각 설명한다. 도 17a, 도 18a, 및 도 19a는 휘도(luminance) 신호 (Y)와 색차(chrominance) 신호 (Cb, Cr)의 크기와 샘플링 위상을 도시한다. 도면에서, 심볼 "x"는 휘도 신호 (Y)의 위상을 나타내고, 2개의 오버랩되는 원들은 색차 신호 (Cb, Cr)의 위상을 나타낸다.
도 17a는 크로마 포맷 4:4:4를 도시하고, 여기서는 색차 신호 (Cb, Cr)와 휘도 신호 (Y) 사이의 크기 및 샘플링 위상에서 정합이 발견된다. 도 17b에 도시된 바와 같이, 각각 8 ×8 픽셀을 포함하는 4개의 DCT 블럭이 한 매크로블럭을 형성하면, 색차 신호 (Cb, Cr)의 매트릭스는 수평 및 수직 차원에서 휘도 신호 (Y)의 매트릭스와 똑같은 크기를 갖는 4개의 블럭으로 생성된다.
도 18a는 크로마 포맷 4:2:2를 도시하고, 여기서는 색차 신호 (Cb, Cr)의 크기가 수평 방향에서 휘도 신호 (Y)의 절반 만큼 감소된다. 그러므로, 한 매크로블럭에서, 색차 신호 (Cb, Cr)의 매트릭스는 수평 방향에서 휘도 신호 (Y)의 매트릭 스의 절반 만큼 감소된다.
도 19a는 크로마 포맷 4:2:0을 도시하고, 여기서는 색차 신호 (Cb, Cr)의 크기가 수평 및 수직 차원 모두에서 휘도 신호 (Y)의 크기의 절반만큼 감소된다. 그러므로, 한 매크로블럭에서, 색차 신호 (Cb, Cr)의 매트릭스는 수평 및 수직 방향에서 모두 휘도 신호 (Y)의 매트릭스의 절반만큼 감소된다.
도 17b, 도 18b, 및 도 19b에 도시된 바와 같이, 한 매크로블럭을 형성하는 DCT 블럭은 상단 좌측 모서리로부터 번호가 정해진다. 크로마 포맷 4:4:4에서는 도 17b에 도시된 바와 같이, 각 매크로블럭의 블럭이 Y1, Y2, Y3, Y4 , Cb1, Cr1, Cb2, Cr2, Cb3, Cr3, Cb4, Cr4의 순서로 부호화된다. 크로마 포맷 4:2:2에서는 도 18b에 도시된 바와 같이, 각 매크로블럭의 블럭이 Y1, Y2, Y3, Y4, Cb1, Cr1, Cb2, Cr2의 순서로 부호화된다. 크로마 포맷 4:2:0에서는 도 19b에 도시된 바와 같이, 각 매크로블럭의 블럭이 Y1, Y2, Y3, Y4, Cb1, Cr1 의 순서로 부호화된다.
도 20a는 MPEF 인코더(102)에서 DCT 회로로부터 출력된 비디오 데이터의 DCT 계수에 대한 주사 순서를 도시한다. 이후의 설명에서는 MPEG 인코더(102)의 출력을 예를 들어 설명한다. DCT 계수는 DCT 블럭의 상단 좌측 DC 구성 성분으로부터 더 높은 수평 및 수직 공간 주파수를 갖는 구성 성분 쪽으로 지그재그 주사 패턴을 사용하여 출력된다. 그 결과로, 도 20b에 도시된 예에서와 같이, 총 64개 (8 픽셀 ×8 라인)의 DCT 계수가 주파수 구성 성분의 순서로 조직된다.
그 결과로 얻는 DCT 계수는 MPEG 인코더(102)에서 VLC 유닛에 의해 가변 길 이 부호화된다. 제1 계수는 DC 구성 성분으로 고정되고, 코드는 레벨로 이어지는 0들의 런(run)에 대응하도록 나머지 구성 성분 (AC 구성 성분)에 할당된다. 그러므로, AC 구성 성분의 계수 데이터의 가변 길이 부호화 출력은 AC1, AC2, AC3 등과 같이 저주파수 (저차수) 구성 성분으로부터 고주파수 (고차수) 구성 성분으로 조직된다. 가변 길이 부호화된 DCT 계수는 기본 스트림에 포함된다.
기록 MFC(106)에 포함되는 기록 스트림 변환기에서, 공급 신호의 DCT 계수는 재조직된다. 구체적으로, 지그재그 주사에 의해 각 DCT 블럭에 대해 주파수 구성 성분의 순서로 조직된 DCT 계수는 매크로블럭을 구성하는 DCT 블럭에 걸쳐 주파수 구성 성분의 순서로 재조직된다.
도 21a 및 도 21b는 기록 스트림 변환기에서 DCT 계수의 재조직을 도시한다. (4:2:2) 구성 성분 신호에서, 한 매크로블럭은 휘도 신호(Y)의 4개 DCT 블럭 (Y1, Y2, Y3, Y4) 및 색차 신호 (Cb, Cr) 각각의 2개 DCT 블럭 (Cb1, Cb2, Cr1, Cr2)으로 형성된다.
상술된 바와 같이, MPEG 인코더(102)에서는 MPEG-2 알고리즘에 따른 지그재그 주사를 통해, DCT 계수가 도 21a에 도시된 바와 같이, 각 DCT 블럭의 DC 구성 성분 및 저주파수 구성 성분으로부터 고주파수 구성 성분으로의 주파구 구성 성분 순서로 조직된다. 한 DCT 블럭의 주사가 완료될 때, 다음 DCT 블럭의 또 다른 주사는 똑같은 방법으로 DCT 계수를 조직하도록 초기화된다.
그러므로, DCT 계수는 매크로블럭의 DCT 블럭 (Y1, Y2, Y3, Y4) 및 DCT 블럭 (Cb1, Cr1, Cb2, Cr2)에서 DC 구성 성분 및 저주파수 구성 성분으로부터 고주파수 구성 성분으로의 주파수 구성 성분 순서로 조직된다. 이어서, DCT 계수는 [DC, AC1, AC2, AC3 등]의 코드가 레벨로 이어지는 런 세트에 대응하게 DCT 계수에 할당되도록 가변 길이 부호화된다.
기록 스트림 변환기는 DCT 계수의 세그먼트를 검출하도록 가변 길이 부호화되어 조직된 DCT 계수의 가변 길이 코드를 복호화하고, 매크로블럭을 구성하는 DCT 블럭에 대해 주파수 구성 성분을 기초로 하여 DCT 계수를 그룹화한다. 이 처리는 도 21b에 도시된다. 먼저, 매크로블럭에서 8개의 DCT 블럭의 DC 구성 성분이 그룹화되고, 8개 DCT 블럭의 최저 주파수 AC 구성 성분이 그룹화되고, 또한 나머지 계수에서 똑같은 차수의 AC 구성 성분이 차례대로 그룹화되어, 계수 데이터가 8개 DCT 블럭에 걸쳐 재조직된다.
재조직된 계수 데이터는 DC(Y1), DC(Y2), DC(Y3), DC(Y4), DC(Cb 1), DC(Cr1), DC(Cb2), DC(Cr2), AC1(Y1), AC1(Y2), AC1(Y3), AC1(Y4), AC1(Cb1), AC1 (Cr1), AC1(Cb2), AC1(Cr2) 등의 순서이다. 여기서 사용되는 바와 같이, DC, AC1, AC2 등은 도 20b를 참고로 상술된 바와 같이, 레벨로 이어지는 런 세트에 할당된 가변 길이 코드이다.
기록 스트림 변환기에서 재정렬된 계수 데이터를 갖는 변환된 기본 스트림은 ECC 인코더(109)에 포함된 패킹 및 셔플링 유닛에 공급된다. 변환된 기본 스트림에서 매크로블럭의 데이터 길이는 변환되지 않은 기본 스트림과 똑같다. MPEG 인 코더(102)에서, 그 길이가 비트 레이트 제어로 인하여 GOP의 단위 (한 프레임)로 고정되면, 길이는 매크로블럭의 단위로 변한다. 패킹 및 셔플링 유닛에서, 매크로블럭 데이터는 고정된 프레임에 놓인다.
도 22a 및 도 22b는 패킹 및 셔플링 유닛에서 매크로블럭의 패킹 처리를 도시한다. 매크로블럭은 고정된 데이터 길이를 갖는 고정 프레임에 놓이고 이어서 묶여진다. 이 고정 프레임의 데이터 길이는 기록 및 재생을 위한 최소 데이터 유닛인 싱크 블럭에 데이터 저장 영역을 제공하는 데이터 영역(페이로드: payload)의 데이터 길이와 정합된다. 이는 셔플링 및 에러 정정 부호화가 간략화되기 때문이다. 간략하게, 도 22a 및 도 22b에서는 한 프레임이 8개의 매크로블럭을 포함한다.
도 22a에 도시된 예와 같이, 8개의 매크로블럭의 길이는 가변 길이 부호화 이후에 달라진다. 본 예에서는 매크로블럭 1, 매크로블럭 3, 및 매크로블럭 6의 데이터 길이가 한 싱크 블럭 또는 고정된 프레임의 데이터 영역(payload)의 길이보다 더 길어지고, 매크로블럭 2, 매크로블럭 5, 매크로블럭 7, 및 매크로블럭 8의 데이터 길이가 더 짧아진다. 매크로블럭 4의 데이터 길이는 페이로드의 길이와 똑같다.
패킹 처리로, 매크로블럭은 페이로드 길이의 고정 길이 프레임으로 묶여진다. 한 프레임에서 발생되는 데이터의 양이 고정되게 제어되므로, 데이터는 언더플로우 또는 오버플로우없이 고정된 프레임으로 묶여질 수 있다. 도 22b에 도시된 예로, 페이로드보다 더 긴 길이를 갖는 매크로블럭은 페이로드 길이에 대응하는 위 치에서 분할된다. 페이로드 길이를 넘는 분할된 매크로블럭의 일부 (오버플로우 부분)는 상단으로부터 빈 영역으로 묶여진다. 즉, 페이로드 길이보다 더 짧은 길이를 갖는 매크로블럭 이후에 묶여진다.
도 22b의 예에서, 페이로드 길이를 넘는 매크로블럭 1의 일부는 먼저 매크로블럭 2 이후에 묶여지고, 이어서 페이로드 길이에 이르면 매크로블럭 5 이후에 묶여진다. 페이로드 길이를 넘는 매크로블럭 3의 일부는 매크로블럭 7 이후에 묶여진다. 페이로드 길이를 넘는 매크로블럭 6의 일부는 매크로블럭 7 이후에 묶이고, 아직까지 오버플로우되는 부분은 매크로블럭 8 이후에 묶인다. 따라서, 매크로블럭은 페이로드 길이의 고정 프레임으로 묶여진다.
각 매크로블럭에 대한 가변 길이 부호화 데이터의 길이는 기록 스트림 변환기에서 미리 알 수 있다. 이는 패킹 유닛 내용을 점검하기 위해 VLC 데이터를 복호화하지 않고 매크로블럭의 데이터 끝부분을 알 수 있게 한다.
상술된 바와 같이, 본 실시예에서는 DCT 계수가 매크로블럭으로 재조직되고, 매크로블럭 데이터가 한 픽처의 단위로 페이로드에 묶여진다. 이는 테이프의 드롭아웃(dropout) 등으로 에러 정정 코드의 에러 정정 기능의 범위른 넘는 에러가 발생되더라도 화질의 변형을 감소시킨다.
도 23a, 도 23b, 도 24a, 및 도 24b를 참조하여 계수의 재조직 및 패킹 처리의 이점을 설명한다. 이하의 설명에서는 크로마 포맷 4:2:2를 일례로서 설명한다. 도 23a 및 도 23b는 DCT 블럭 및 DCT 계수가 MPEG ES와 유사한 방식으로 공급됨을 나타낸다. 이 경우에는 도 23a에 도시된 바와 같이, 슬라이스 헤더 또는 매크로블 럭 (MB) 헤더 이후에, DCT 블럭이 휘도 신호 (Y1 내지 Y4) 및 색차 신호 (Cb1 , Cr1, Cb2, Cr2)의 차수로 조직된다. 각 블럭에서, DCT 계수는 DC 구성 성분 및 저차수 AC 구성 성분으로부터 고차수 AC 구성 성분으로 조직된다.
일례로, 에러 정정 코드의 에러 정정 기능의 범위를 넘어서 즉, 블럭 Cb1의 고차수 계수에서 도 23a의 위치 A 시점에 에러가 발생된다고 가정한다. 상술된 바와 같이, 슬라이스는 MPEG 알고리즘에서 단일 가변 길이 코드 시퀀스를 형성한다. 그러므로, 일단 에러가 발생되면, 데이터는 다음 슬라이스 헤더가 검출될 때까지 에러 위치로부터 불확실할 수 있다. 그러므로, 이 매트로블럭의 위치 A 이후의 데이터는 한 매크로블럭과 같은 한 슬라이스로 형성된 스트림에서 복호화될 수 없다.
그 결과로, 도 23b에 도시된 예와 같이, 색차 신호 블럭 (Cr1, Cb2, Cb2)의 DC 구성 성분도 회복될 수 없다. 블럭 Cb1 및 다른 색차 신호 블럭의 고차수 구성 성분은 회복될 수 없으므로, 블럭 Cb1의 저차수 계수로 만들어지는 부정확한 칼라를 갖는 픽처가 블럭 (Y1, Y2)에 대응하는 섹션 (B)에서 생성된다. 블럭 (Y3, Y4)에 대응하는 섹션 (C)에서는 휘도 신호만이 회복되므로 흑백 픽처가 생성된다.
도 24a 및 도 24b는 본 실시예에 따라 DCT 계수가 재조직된 변환 스트림을 도시한다. 도 23a 및 도 23b에서와 같이, 에러가 위치 A에서 일어난다고 가정한다. 도 24a에 도시된 예와 같이, 슬라이스 헤더 또는 매크로블럭 헤더 이후에, 각각이 DCT 블럭에 대해 주파수 구성 성분을 기초로 하여 그룹화된 DCT 계수를 갖는 블럭은 DC 구성 성분 및 저차수 AC 구성 성분으로부터 고차수 AC 구성 성분으로 조직된다.
에러 위치 A 이후의 데이터는 다음 슬라이스 헤더가 검출될 때까지 불활실하므로, 이 매크로블럭에서 에러 위치 A 이후의 데이터는 회복되지 않는다. 그러나, 이 변환 스트림에서, 에러로 인해 복호화될 수 없는 데이터는 각 DCT 블럭에서 DCT 계수의 고차수 AC 구성 성분에 대응하고, 각 DCT 블럭에서 DCT 계수의 DC 구성 성분 및 저차수 AC 구성 성분은 균일하게 제공된다. 도 24b에 도시된 바와 같이, 비록 고차수 AC 구성 성분이 회복될 수 없기 때문에 픽처의 상세한 내용이 드롭되었지만, 흑백 픽처가 생성되거나 두 색차 구성 성분 중 어느 하나가 잘못된 부정확한 칼라를 갖는 픽처가 생성되는 MPEG ES에서의 상술된 불편함이 실질적으로 제거될 수 있다.
그러므로, 상술된 패킹 처리에 의해 다른 고정 프레임에 저장된 데이터가 회복되지 않더라도, 화질은 어느 정도 유지될 수 있다. 이는 고속으로 재생되는 화질에서 변형을 감소시킨다.
VLC 데이터에서 에러가 발생되면, 데이터는 다음 헤더 (시작 코드)가 검출될 때까지 불확실하다. VLC 데이터에서, 데이터 스트링은 얼마나 자주 데이터가 나타나는가에 의존하여 다른 코드 길이가 할당된 도표를 사용하여 변환된다. 단 하나의 비트만이 비트 변환된 가변 길이 부호화 데이터 스트링은 다른 의미를 갖는 VLC 데이터로 복호화될 수 있다. 그러므로, 에러 이후의 VLC 데이터는 복호화될 수 있더라도 불확실할 수 있다. 상술된 바와 같이, 매크로블럭층을 제외한 층들의 시작 코드는 바이트 단위로 분할된 유일한 코드이다. 그러므로, 일단 시작 코드가 검출되면, 에러로부터의 회복이 이루어질 수 있다.
도 25는 ECC 인코더(109)의 보다 상세한 구조를 도시한다. 도 25에서, 인터페이스(164)는 IC에 외부적으로 부착된 메인 메모리(160)와 인터페이스 연결된다. 메인 메모리(160)는 SDRAM을 구비할 수 있다. 인터페이스(164)는 내부 구성 성분으로부터 메인 메모리(160)로의 요구를 중계하고, 데이터가 메인 메모리(160)에서 기록/판독되도록 허용한다. 패킹 및 셔플링 유닛(137)은 패킹 유닛(137a), 비디오 셔플링 유닛(137b), 및 패킹 유닛(137c)을 포함한다.
도 26은 메인 메모리(160)의 모범적인 어드레스 구성을 도시한다. 메인 메모리(160)는 64-Mbit SDRAM을 구비할 수 있다. 메인 메모리(160)는 비디오 영역(250), 비디오 오버플로우 영역(251), 및 오디오 영역(252)을 갖는다. 비디오 영역(250)은 4개의 뱅크(vbank 0, vbank 1, vbank 2, 및 vbank 3)로 형성된다. 4개의 뱅크는 각각 1-길이 코드의 디지털 비디오 신호를 저장할 수 있다. 1-길이 코드는 실질적인 타켓 값으로 발생 데이터의 양을 제어하기 위한 유닛이고, 비디오 신호 중 한 픽처 (I-픽처)가 될 수 있다. 도 26에서, 섹션 (A)는 비디오 신호 중 한 싱크 블럭의 데이터 섹션을 나타낸다. 다른 수의 바이트의 데이터는 포맷에 따라 한 싱크 블럭에 삽입된다. 다수의 포맷을 지지하기 위해, 한 싱크 블럭의 데이터 크기는 최대 바이트보다 크고, 256 바이트와 같이 처리에 적절한 바이트가 된다.
비디오 영역(250)의 뱅크 vbank 0 내지 vbank 4는 각각 패킹 영역(250A) 및 내부 인코더로의 출력 영역(250B)으로 서브분할된다. 비디오 오버플로우 영역(251)은 비디오 영역(250)에 대응하도록 4개의 뱅크로 구성된다. 메인 메모리(160)의 오디오 영역(252)은 오디오 데이터를 처리하도록 제공된다.
본 실시예에서, 패킹 유닛(137a)은 각 매크로블럭에서 데이터 길이 플래그를 참고로 하여 메인 메모리(160)의 다른 영역에서 고정 프레임을 넘는 오버플로우 데이터 및 고정 프레임 길이 데이터를 분리하여 저장한다. 고정 길이 데이터는 싱크 블럭의 데이터 영역 (페이로드)의 길이보다 더 작은 길이를 갖는 데이터이고, 이후에 "블럭 길이 데이터"를 참고한다. 블럭 길이보다 더 짧은 데이터 길이는 메인 메모리(160)의 대응하는 영역에서 빈 영역을 제공한다. 비디오 셔플링 유닛(137b)은 셔플링을 위한 기록 어드레스를 제어한다. 비디오 셔플링 유닛(137b)은 블럭 길이 데이터만을 셔플링 처리하고, 오버플로우 데이터는 셔플링 처리되지 않고 오버플로우 데이터에 할당된 영역에 기록된다.
이어서, 패킹 유닛(137c)은 외부 인코더(139)의 메모리에서 오버플로우 데이터를 묶어 그에 기록한다. 블럭 길이 데이터는 메인 메모리(160)로부터 외부 인코더(139)에 준비된 한 ECC 블럭의 메모리에 기록되고, 오버플로우 데이터는 블럭이 데이터로 채워질 수 있도록 블럭의 빈 영역에 기록된다. 일단 한 ECC 블럭의 데이터가 완전히 기록되면, 기록 처리는 일시적으로 인터럽트되고, 외부 인코더(139)는 외부 패리티를 발생한다. 외부 패리티는 외부 인코더(139)의 메모리에 저장된다. 한 ECC 블럭이 외부 인코더(139)에서 완전히 처리될 때, 외부 인코더(139)로부터의 데이터 및 외부 패리티는 내부 부호화를 위해 재정렬되어 메인 메모리(160)의 패킹 영역(250A)으로부터 분리된 출력 영역(250B)에 재기록된다. 비디오 셔플링 유닛(140)은 외부-부호화 데이터가 각 싱크 블럭의 셔플링을 위해 메인 메모리(160)에 재기록될 때 어드레스를 제어한다.
블럭 길이 데이터 및 오버플로우 데이터를 메인 메모리(160)의 제1 영역(250A)에 분리하여 기록하는 제1 패킹 처리, 오버플로우 데이터를 외부 인코더(139)의 메모리에 패킹 및 기록하는 제2 패킹 처리, 외부 패리티를 발생하는 처리, 및 데이터와 외부 패리티를 메인 메모리(160)의 제2 영역(250B)에 재기록하는 처리를 포함하는 처리들은 ECC 블럭의 유닛에 대해 실행된다. 외부 인코더(139)가 ECC 블럭 크기를 갖는 메모리를 포함하므로, 메인 메모리(160)는 덜 억세스될 수 있다.
한 픽처에 포함된 소정의 수의 ECC 블럭 (예를 들면, 32개 ECC 블럭)이 완전치 처리되었을 때, 그 픽처에 대한 패킹 처리 및 외부 부호화가 완료된다. 이어서, 인터페이스(164)를 통해 메인 메모리(160)의 영역(250B)에서 판독된 데이터는 ID 가산기(148), 내부 인코더(149), 및 동기화 가산기(150)에 의해 처리되고, 결과의 데이터는 병렬-직렬 변환기(124)에 의해 비트 직렬 데이터로 변환된다. 출력 직렬 데이터는 이어서 부분 응답 클래스 4 프리코더(Partial Response Class 4 precoder)(125)에 의해 처리된다. 프리코더(125)로부터의 출력은 필요한 경우 디지털적으로 변조되고, 이어서 회전 드럼(111) 상의 회전 헤드에 전달된다.
유효한 데이터를 포함하지 않고 널 싱크(null sync)라 칭하여지는 싱크 블럭은 ECC 블럭이 기록 비디오 신호의 다른 포맷에 관계없이 탄력적으로 구성될 수 있 도록 ECC 블럭에 도입된다. 널 싱크는 패킹 및 셔플링 유닛(137)에서 패킹 유닛(137a)에 의해 발생되어 메인 메모리(160)에 기록된다. 널 싱크가 데이터 기록 영역을 포함하므로, 이는 오버플로우 데이터에 대한 기록 싱크로 사용될 수 있다.
오디오 데이터에서는 한 필드의 오디오 데이터 중 짝수 샘플 및 홀수 샘플이 분리하여 다른 ECC 블럭을 구성한다. ECC 블럭의 외부 코드 시퀀스가 엔트리(entry)-시퀀스 오디오 샘플로 구성되므로, 외부 인코더(136)는 외부 코드 시퀀스의 오디오 샘플이 입력될 때마다 외부 패리티를 발생한다. 셔플링 유닛(137)은 외부 인코더(136)의 출력이 채널 유닛 및 싱크 블럭의 유닛에 대한 셔플링을 위해 메인 메모리(160)의 영역(252)에 기록될 때 어드레스를 제어한다.
CPU 인터페이스(126)는 또한 파라미터가 내부 블럭에 대해 설정될 수 있도록 시스템 제어기로 동작하는 외부 CPU(127)로부터 데이터를 수신하도록 제공된다. 다수의 포맷을 지지하기 위해, 싱크 블럭 길이 및 패리티 길이를 포함하는 많은 수의 파라미터가 설정될 수 있다.
한 파라미터는 패킹 유닛(137a, 137c)에 전송되는 "패킹 길이 데이터(packing length)"이다. 패킹 유닛(137a, 137c)은 이 파라미터를 기초로 하여 결정되는 고정된 프레임 (도 22a에 도시된 "페이로드 길이"라 칭하여지는 길이)으로 VLC 데이터를 묶는다.
또 다른 파라미터는 패킹 유닛(137c)에 전송되는 "패킷 데이터의 수(number-of-pack data)"이다. 패킷 유닛(137c)은 싱크 블럭 당 패킹 수를 결정하고, 결정 된 패킹 수에 대응하는 데이터를 외부 인코더(139)에 전달한다.
또 다른 파라미터는 외부 인코더(139)로 전송되는 "비디오 외부 패리티 데이터의 수(number-of-video-outer-parity data)"이다. 외부 인코더(139)는 외부 코드를 사용하여 이 파라미터를 기초로 하는 패리티의 수를 발생하는 비디오 데이터를 부호화한다.
파라미터는 ID 가산기(148)에 전송되는 "ID 정보" 및 "DID 정보"를 포함한다. ID 가산기(148)는 메인 메모리(160)로부터 판독된 유닛 길이를 갖는 데이터 스트림에 ID 정보 및 DID 정보를 가산한다.
파라미터는 내부 인코더(149)에 전송되는 "비디오 내부 패리티 데이터의 수(number-of-video-inner-parity data)" 및 "오디오 내부 패리티 데이터의 수(number-of-audio-inner-parity data)"를 포함한다. 내부 인코더(149)는 내부 코드를 사용하여, 이들 파라미터를 기초로 하는 패래티의 수가 발생되는 비디오 데이터 및 오디오 데이터를 부호화한다. 또 다른 파라미터 즉, "싱크 길이 데이터(sync length data)"도 또한 내부 인코더(149)에 전송되고, 내부 부호화 데이터의 단위 길이 (싱크 길이)는 이 파라미터를 기초로 하여 정의된다.
또 다른 파라미터는 비디오 셔플링 테이블(RAM)(128v) 및 오디오 셔플링 테이블(RAM)(128a)에 저장된 "셔플링 테이블 데이터(shuffling table data)"이다. 비디오 셔플링 테이블(128v)은 비디오 셔플링 유닛(137b, 140)의 셔플링 처리를 돕도록 어드레스 변환을 실행한다. 오디오 셔플링 테이블(128a)은 오디오 셔플링 유닛(137)의 셔프링 처리를 돕도록 어드레스 변환을 실행한다.
본 실시예에서는 MPEG 스트림의 VLC 데이터가 복호화될 때 매크로블럭 어드레스의 연속성이 점검된다. 그 결과로, 불연속적인 매크로블럭 어드레스가 주어지면, 불연속 부분은 매크로블럭 어드레스가 연속되도록 정정된다. 이제는 도 27a 내지 도 27d, 도 28, 및 도 29a 내지 도 29d를 참조하여 매크로블럭의 불연속 부분에 대한 보정 방법을 설명한다.
도 27a 내지 도 27d는 MPEG 스트림이 일부 원인으로 갑자기 중지되어 데이터를 손실하는 예를 도시하는데, 이 경우에 매크로블럭이 손실된다. 도 27a 내지 도 27d에 도시된 매크로블럭 어드레스는 625/50 표준에 따른다. 도 27a에 도시된 바와 같이, 한 화면은 38개 행 ×45개 열을 갖는 매크로블럭으로 나뉘고, 각 매크로블럭은 16 픽셀 ×16 라인을 갖는다. 도 27a에 도시된 블럭에서의 좌표 (yy,xx)는 화면 상의 매크로블럭 위치를 참고로 상술된 바와 같이 (mb_row, mb_column)으로 표현된다.
I-픽처로 형성된 MPEG 스트림에서, 매크로블럭은 상술된 바와 같이 순서대로 완전히 전송되어야 한다. 매크로블럭이 도 27a에 도시된 방식으로 한 화면 상에 배열되면, I-픽처가 전송되는 데이터 스트림에서는 예컨대 도 27a에 빗금으로 도시된 매크로블럭이 도 27b에 도시된 바와 같이 (2,41), (2,42), (2,43), (2,44), (3,0), (3,1), (3,2), 및 (3,3)의 순서로 전송된다.
MPEG 스트림에서의 데이터가 손실되면, 예컨대 매크로블럭 (2,43)이 손실되면, 이전 매크로블럭 (2,42)은 도 27c에 도시된 바와 같이 MPEG 스트림에서 다음 매크로블럭 (2,44) 이전에 전송된다.
본 실시예에서는 도 27d에 일례로 도시된 바와 같이, MPEG 스트림은 데이터가 손실되는 즉, 매크로블럭이 손실되는 지점에서 일시적으로 중지되고, 손실 부분은 매크로블럭 어드레스가 연속될 수 있도록 본래 매크로블럭 어드레스를 갖는 매크로블럭으로 보수된다. 예를 들어, 소정의 시간 동안, 손실 매크로블럭의 주기에 대응하는 "대기(wait)" 신호가 발생된다. "대기" 신호에 응답하여, 매크로블럭의 처리는 그 주기 동안 보수 매크로블럭을 출력하도록 중단된다.
보수 매크로블럭은 예를 들어, 회색을 디스플레이하는 MPEG 스트림으로 실시될 수 있다. 도 28은 회색을 디스플레이하는 보수 매크로블럭의 일례를 도시한다. 보수 매크로블럭은 회색을 디스플레이하는 매크로블럭에 제한되지 않고, 흑색 등을 디스플레이하는 매크로블럭이 될 수 있다. 도 28에 도시된 값은 단지 설명을 위한 것이므로, 제한되는 것으로 의도되지 않는다.
도 29a 내지 도 29d는 매크로블럭 어드레스가 불연속적인 또 다른 예를 도시한다. 도 27a에서와 같이, 도 29a에 도시된 매크로블럭은 또한 625/50 표준에 따른다. 도 29c에서 한 예로 도시된 바와 같이, 일부 매크로블럭 (본 예에서는 매크로블럭 (2,39) 및 (2,43))은 도 29a에 도시된 화면에 대응하는 MEPG 스트림 (도 29b를 참조)에서 교환된다.
이 경우, 도 29d에 도시된 바와 같이, 입력 MPEG 스트림은 slice_start_code가 정확한 매크로블럭 어드레스를 갖는 매크로블럭을 검출하도록 감지될 때까지 최고 속도로 빠져 나간다. MPEG 스트림이 빠져 나간 즉, 손실된 출력 MPEG 스트림 부분은 예를 들어, 회색을 디스플레이하는 도 28에 도시된 매크로블럭으로 보수된 다. 예를 들어, 그 위치가 교환되는 매크로블럭 어드레스를 갖는 매크로블럭 주기에 대응하는 "next_macroblock_address" 신호가 발생된다. "next_macroblock_address" 신호 주기 동안, 입력 스트림은 최고 속도로 빠져 나가고, 보수 매크로블럭이 출력된다.
보수 매크로블럭은 회색을 디스플레이하는 매크로블럭으로 제한되지 않고, 흑색 등을 디스플레이하는 매크로블럭이 될 수 있다. MPEG 스트림을 풀아웃(pull out) 시키고 이를 매크로블럭으로 보수하는 처리는 입력 MPEG 스트림의 매크로블럭 어드레스가 정확한 값으로 복귀될 때까지 반복된다.
그러므로, 매크로블럭이 손실되거나 교환되기 때문에 입력 MPEG 스트림에서 불연속적인 매크로블럭 어드레스가 주어지면, 본 실시예에 따른 처리는 매크로블럭 어드레스가 연속적인 출력 MPEG 스트림을 이룰 뿐만 아니라 구문 에러를 방지하기 위해 적용될 수 있다. 그러므로, 본 실시예에 따라, 안정된 시스템을 제공하는 것이 가능하다.
매크로블럭 불연속성을 보정하는 상술된 처리는 기록하는 동안 기록 MFC(106)에서 실행된다. 도 30은 한 예로 본 실시예에 따른 기록 MFC의 구조를 도시한다. 기록하는 동안, SDTI 수신기(108) 또는 MPEG 인코더(102)로부터 출력된 MPEG ES는 기록 MFC(106)에 입력되고, 이어서 MPEG ES는 지연 회로(300) 및 검출 회로(301)에 공급된다.
매크로블럭에 대한 보정 처리는 또한 재생하는 동안 실시될 수 있다. 재생하는 동안, 이 처리는 기록 MFC(106)와 똑같은 구성을 갖는 재생 MFC(114)에서 실 행된다. 보다 구체적으로는, 재생하는 동안, ECC 디코더(113)로부터 출력된 변환 ES는 재생 MFC(114)에 공급되고, 이어서 ES는 지연 회로(300) 및 검출 회로(301)에 공급된다. 기록 MFC(106) 및 재생 MFC(114)에서 실행되는 처리가 실질적으로 똑같으므로, 여기서는 기록 MFC(106)에서 실행되는 처리를 원리적으로 설명한다.
도 30에서, CPU_IF(310)는 기록 MFC(106)와 시스템 제어기(121) 사이의 통신을 제어하기 위한 인터페이스이다. 시스템 제어기(121)로부터 출력되는 다양한 지시 및 데이터는 CPU_IF(310)를 통해 기록 MFC(106)의 구성 성분에 전해진다.
검출 회로(301)는 공급된 MPEG ES에서 슬라이스 시작 코드(12)를 검출한다. 슬라이스 시작 코드(12)는 바이트 단위로 분할된 4 바이트 (32 비트) 코드이다. 마지막 1 바이트는 [00 00 01 01] 내지 [00 00 01 AF]의 범위에서 그 슬라이스의 수직 위치 정보를 나타낸다. 그러므로, 검출 회로(301)는 예를 들어, 각 바이트에서 정합하는 패턴을 사용하여 슬라이스 시작 코드(12)를 검출한다. 상술된 바와 같이, 본 실시예에서는 한 슬라이스가 1개 매크로블럭에 대응하므로, 매크로블럭의 시작은 슬라이스 시작 코드(12)를 찾아서 검출될 수 있다.
검출 회로(301)에 의한 검출 결과는 "slice_start_code_det" 신호로 출력되고, 이어서 타이밍 발생기(302)에 공급된다. 프레임과 동기화되는 프레임 펄스도 또한 타이밍 발생기(302)에 공급된다. 프레임 펄스는 단자(105)로부터 공급된 기준 신호를 기초로 타이밍 발생기(104) (도 15를 참조)에 의해 발생될 수 있다.
타이밍 발생기(302)는 "slice_start_code_det" 신호에 응답하여 재설정되는 "vld_timings" 및 "vlc_timings" 신호를 출력하고, 이는 모든 매크로블럭 마다 반 복된다. "vld_timings" 및 "vlc_timings" 신호는 매크로블럭을 구성하는 휘도 신호 (Y1, Y2, Y3, Y4)와 색차 신호 (Cb1, Cr1 , Cb2, Cr2), 각 블럭에 포함된 DCT 계수의 DC 구성 성분과 AC 구성 성분, 및 헤더 종류에 의존하는 블럭 종류를 정의하는 제어 신호이다. "vld_timings" 및 "vlc_timings" 신호는 후술되는 바와 같이 가변 길이 디코더(303) 및 가변 길이 코더(308)에 각각 공급된다.
타이밍 발생기(302)는 또한 프레임 펄스에 응답하여 재설정되는 기준 매크로블럭 어드레스 "ref_address" (이하, 기준 MB 어드레스 "ref_address"라 칭함)를 발생하고, 이는 모든 매크로블럭마다 증가된다.
상술된 바와 같이, 일단 화면 크기가 정의되면, 화면 당 매크로블럭의 수는 유일하게 결정된다. 매크로블럭은 이어서 화면에 걸쳐 좌측에서 우측으로, 또한 상단에서 하단으로 전송된다. 그래서, 기준 MB 어드레스 "ref_address"는 예를 들어 프레임 펄스를 원점으로 사용하여 정의될 수 있다. 기준 MB 어드레스 "ref_address"는 0으로 번호가 정해진 화면의 상단 좌측 모서리 부분에 있는 매크로블럭을 사용하는 연속값이고, 화면 상에 좌측으로부터 우측으로 쉬프트될 때 1 씩 증가되고 화면 상에 상단으로부터 하단으로 쉬프트될 때 증가된다. 발생된 기준 MB 어드레스 "ref_address"는 어드레스 비교기(304)의 제1 입력 단자에 공급된다.
기준 MB 어드레스 "ref_address"는 또한 후술되는 바와 같이 치환 데이터 발생 회로(305)에도 공급된다.
지연 회로(300)에 공급된 MPEG ES는 후술될 검출 회로(301) 등에 의해 검출된 지연을 흡수하기 위해 지연되고, 이어서 위상 조정되어 출력된다. 지연 회로(300)로부터 출력된 MPEG ES는 가변 길이 코드를 복호화하기 위해 가변 길이 디코더(VLD)(303)에 공급된다.
가변 길이 코드의 복호화 모드를 나타내는 "vld_settings" 신호는 시스템 제어기(121)로부터 기록 MFC(106)에 전달된다. "vld_settings" 신호는 CPU_IF(310)를 통해 VLD(303)에 전달된다. VLD(303)는 "vld_settings" 신호를 기초로 하여 입력된 MPEG ES를 해석한다. 이어서, VLD(303)는 타이밍 발생기(302)로부터 공급된 "vld_timings" 신호에 의해 나타내지는 시간 슬롯을 기초로 하여 MPEG ES의 가변 길이 코드를 복호화한다.
재생 MFC(114)에서, 변환 스트림의 데이터 조직에 대응하는 시간 슬롯을 나타내는 "vld_settings" 신호는 타이밍 발생기(302)로부터 VLD(303)로 공급됨을 주목한다.
MPEG ES의 가변 길이 코드가 복호화된 스트림은 선택기(306)의 제1 입력 단자에 입력된다. 치환 데이터 발생 회로(305) (후술될 것임)로부터 출력된 치환 데이터는 선택기(306)의 제2 입력 단자에 공급된다. 선택기(306)는 어드레스 비교기(304) (후술될 것임)로부터 출력된 타이밍 신호인 "replace_timings" 신호에 기초하여 제1 또는 제2 입력 단자를 선택하고, 그에 따라 입력 신호가 교환된다.
VLD(303)는 후술되는 바와 같이, MPEG ES의 가변 길이 코드를 복호화하여, 각 매크로블럭에 매크로블럭 어드레스 (이하, "MB 어드레스"라 칭함) "macroblock_address"를 제공한다. MB 어드레스 "macroblock_address"는 어드레스 비교기(304)의 제2 입력 단자에 전달된다.
어드레스 비교기(304)는 타이밍 발생기(302)에 의해 공급된 기준 MB 어드레스 "ref_address"를 VLD(303)에 의해 공급된 MB 어드레스 "macroblock_address"와 비교한다. 비교 결과에 기초하여, 상술된 "대기" 신호 또는 "next_macroblock_address" 신호가 출력되고, "replace_timings" 신호가 또한 출력된다.
어드레스 비교기(304)의 동작을 보다 상세히 설명한다.
기준 MB 어드레스 "ref_address"와 MB 어드레스 "macroblock_addree" 사이의 비교 결과에 따라, (기준 MB 어드레스 "ref_address" < MB 어드레스 "macroblock_address")이면, 대응하는 매크로블럭은 손실되고 대응하는 어드레스가 스킵되는 것으로 결정된다. 이 때, 어드레스 비교기(304)는 대응하는 매크로블럭의 주기를 나타내는 "wait" 신호를 출력하고, "macroblock_address" 신호가 정확할 때까지 입력 스트림을 풀아웃하는 것을 중단하도록 VLD(303)에 지시한다.
부가하여, 어드레스 비교기(304)는 또한 스트림이 보수되는 타이밍을 나타내는 보수 타이밍 신호 "replace_timings"를 출력한다. 보수 타이밍 신호 "replace_timings"는 선택 제어 신호로 선택기(306)에 공급된다.
VLD(303)의 동작은 "wait" 신호에 응답하여 즉, "wait" 신호를 출력하고 타이밍 발생기(302)로부터 출력된 "vld_timings" 신호를 중단함으로써 일시 중단된다. "vld_timings" 신호가 VLD(303)에 공급되지 않으면, VLD(303)의 동작은 중단 된다. "wait" 신호는 또한 VLD(303)에서 "vld_timings" 신호를 중단하는 데 사용될 수 있다.
기준 MB 어드레스 "ref_address"와 MB 어드레스 "macroblock_address" 사이의 비교 결과에 따라, (기준 MB 어드레스 "ref_address" > MB 어드레스 "macroblock_address")이면, 대응하는 매크로블럭은 위치가 교환된 어드레스를 갖는 것으로 결정된다. 이 때, 어드레스 비교기(304)는 대응하는 매크로블럭의 주기를 나타내는 "next_macroblock_address" 신호를 출력하고, 다음 슬라이스가 발견될 때까지 최고 속도로 입력 스트림을 풀아웃 시키도록 VLD(303)에 지시한다.
부가하여, 어드레스 비교기(304)는 또한 스트림이 보수되는 타이밍을 나타내는 보수 타이밍 신호 "replace_timings"을 출력한다. 보수 타이밍 신호 "replace_timings"은 선택 제어 신호로 선택기(306)에 공급된다.
상기의 설명에서, 입력 스트림은 다음 슬라이스까지 최고 속도로 풀아웃된다. 보다 구체적으로는, MB 어드레스의 위치가 교환되는 문제점을 극복하기 위해, 도 29a 내지 도 29d에 도시된 예에서는 매크로블럭 (2,43)에 대응하는 MB 어드레스를 갖고 회색을 디스플레이하는 보수 매크로블럭이 교환된 매크로블럭 (2,39) 대신에 출력되고, 매크로블럭 (2,43)에 이어지는 매크로블럭 (2,44)에 대응하는 어드레스를 갖는 매크로블럭이 탐색되도록 요구된다.
그러므로, 예를 들어, 매크로블럭(2,43)이 위치를 교환한 어드레스를 갖는 매크로블럭인 것으로 "next_macroblock_address" 신호가 나타낼 때, 지연 회로(300)에 축적된 스트림은 미리 인출되어 VLD(303)로 회복된다. 회복 스트림의 VLC 데이터는 매크로블럭 (2,44)에 대응하는 MB 어드레스를 갖는 매크로블럭이 있는가 여부를 결정하도록 VLD(303)에 의해 복호화된다.
치환 데이터 발생 회로(305)는 시스템 제어기(121)의 제어 하에서 CPU_IF(310)를 통해 공급된 "macorblock_replace" 신호에 기초하여 손실 매크로블럭과 치환될 데이터를 미리 발생하여 준비한다. 치환 데이터 발생 회로(305)에 의해 준비된 데이터는 도 28에 도시된 데이터가 될 수 있고, 각 데이터는 매크로블럭 어드레스, 매크로블럭에서 휘도 및 색차 각각에 대한 DC 구성 성분, 또한 DCT 블럭의 종료를 나타내는 EOB(End Of Block) 데이터를 포함하는 슬라이스 및 매크로블럭 헤더 정보를 포함한다.
이들 데이터에서, 매크로블럭의 수직 어드레스를 나타내는 슬라이스 시작 코드(12) 중 마지막 1 바이트, 및 수평 어드레스를 나타내는 macroblock_escape 및 macroblock_address_increment는 화면 상에서 매크로블럭의 위치 즉, 기준 MB 어드레스 "ref_address"에 기초하여 생성된다.
상술된 바와 같이, 선택기(306)의 제1 및 제2 입력 단자는 어드레스 비교기(304)로부터 공급된 타이밍 신호인 "replace_timings" 신호에 기초하여 스위칭된다. 그래서, VLD(303)에 의해 공급된 스트림에서 손실된 매크로블럭 데이터는 치환 데이터 발생 회로(305)에 의해 공급된 보수 매크로블럭 데이터로 치환되므로, 스트림이 보수된다.
선택기(306)로부터 출력된 스트림은 메모리(307)에 기록된다. 어드레스가 가변 길이 코더(VLC)(308)에 의해 제어되는 메모리(307)에 기록된 스트림이 판독된 다. 메모리(307)로부터 판독된 어드레스는 CPU_IF(310)를 통해 시스템 제어기(121)로부터 VLD(308)에 공급되는 "vlc_settings" 신호 및 타이밍 발생기(302)로부터 공급된 "vlc_timings" 신호에 따라 VLD(308)에 의해 제어되고, 그에 의해 데이터가 재조직되어 출력되도록 허용한다.
정렬이 변환되고 메모리(307)로부터 판독된 데이터는 VLC(308)에 의해 가변 길이 부호화되고, 또한 8 또는 16 비트 정렬되어 변환 ES로 출력된다.
재생 MFC(114)에서는 MPEG ES의 데이터 조직의 시간 슬롯을 나타내는 "vlc_timings" 신호가 VLC(308)에 공급됨을 주목한다. "vlc_timings" 신호에 따라 데이터가 재정렬되는 VLC(308)에 공급된 스트림은 MPEG ES로 출력된다.
도 31은 기록 MFC(106)에서 손실 매크로블럭을 보수하는 처리의 흐름도이다. 먼저, 프레임 펄스에 응답하여, 프레임의 시작부는 타이밍 발생기(302)에 의해 검출된다. 프레임이 시작될 때, 단계 S10에서, 기준 MB 어드레스 "ref_address"(도 31에 "ref_adr"로 표시됨)는 타이밍 발생기(302)에 의해 0으로 설정되고, 기준 MB 어드레스 "ref_address"는 초기화된다. 단계 S11에서, MB 어드레스 "macroblock_address"(도 31에 "mb_adr"로 표시됨)는 VLD(303)에 의해 입력 MPEG 스트림으로부터 검출된다. 검출된 MB 어드레스 "macroblock_address"는 어드레스 비교기(304)에 공급된다.
단계 S11에서 MB 어드레스 "macroblock_address"가 검출되어 어드레스 비교기(304)에 공급될 때, 처리는 단계 S12로 진행되어, 매크로블럭 처리가 시작된다. 먼저, 단계 S13에서는 기준 MB 어드레스 "ref_address"에 1을 부가하여 계산된 새 로운 기준 MB 어드레스 "ref_address"가 설정된다.
단계 S14에서는 단계 S11에서 검출된 MB 어드레스 "macroblock_address"가 어드레스 비교기(304)에 의해 단계 S13에서 계산된 기준 MB 어드레스 "ref_address"와 비교된다. 비교 결과에 따라, MB 어드레스 "macroblock_address"가 기준 MB 어드레스 "ref_address"보다 더 크면, MB 어드레스 "macroblock_address"가 단계 S11에서 검출되었던 매크로블럭 이전의 매크로블럭이 손실된 것으로 결정된다. 이어서, 처리는 단계 S15로 진행된다.
단계 S15에서는 매크로블럭 처리가 일시적으로 중단되고, 손실 매크로블럭은 회색을 디스플레이하는 정확한 MB 어드레스 "macroblock_address"를 갖는 매크로블럭으로 보수된다. 다시 말하면, 어드레스 비교기(304)로부터 VLD(303)에 공급되는 "wait" 신호가 한 매크로블럭의 주기 동안 고레벨로 되고, 그에 의해 VLD(303)에서 처리를 일시적으로 중단한다. 부가하여, 어드레스 비교기(304)로부터 출력된 타이밍 신호 "replace_timings"은 선택기(306)가 제2 입력 단자로 스위칭되도록 허용하고, 여기서 VLD(303)의 출력은 치환 데이터 발생 회로(305)로부터 출력된 보수 매크로블럭 데이터로 치환된다.
선택기(306)로부터 출력된 스트림은 메모리(307)에 기록되고, 판독 어드레스가 VLD(308)에 의해 제어되므로, 데이터는 재정렬되어 변환 스트림을 제공하게 된다 (단계 S16). 단계 S17에서는 단계 S12에서 시작된 처리가 한 프레임의 마지막 매크로블럭에 이르렀는가 여부를 결정한다. 마지막 매크로블럭이 처리된 것으로 결정되면, 도 31에 도시된 흐름도에서의 처리 시리즈는 종료된다.
한편, 단계 S17에서 한 프레임의 마지막 프레임이 처리되지 않은 것으로 결정되면, 처리는 단계 S12로 복귀된다. 이어서, 단계 S13에서 구해진 새로운 기준 MB 어드레스 "ref_address"는 다시 1만큼 증가되고, 결과 값은 단계 S14에서 비교에 사용되는 또 다른 새로운 기준 MB 어드레스 "ref_address"로 사용된다. 즉, 단계 S14에서 MB 어드레스와 비교할 때, 단계 S12, 단계 S13, 및 단계 S14 내지 단계 S17의 처리 시리즈는 단계 S11에서 검출된 MB 어드레스 "macroblock_address"와 단계 S13에서 구해진 새로운 기준 MB 어드레스 "ref_address" 사이에 정합이 발견될 때까지 반복된다.
단계 S14에서 어드레스 비교기(304)에 의한 MB 어드레스의 비교 결과에 따라, MB 어드레스 "macroblock_address"가 기준 MB 어드레스 "ref_address"보다 크면, 처리는 단계 S18로 진행된다. 단계 S18에서, MB 어드레스 "macroblock_address"는 어드레스 비교기(104)에 의해 단계 S13에서 구해진 새로운 기준 MB 어드레스 "ref_address"와 더 비교된다. 비교 결과에 따라, MB 어드레스 "macroblock_address"가 기준 MB 어드레스 "ref_address"보다 작으면, 입력 스트림에서 그 매크로블럭 내의 MB 어드레스 "macorblock_address"는 교환된 것으로 결정된다. 이어서, 처리는 단계 S19로 진행된다.
단계 S19에서, 입력 스트림은 다음 슬라이스가 발견될 때까지 최고 속도로 VLD(303)에 의해 풀아웃되고, 손실 매크로블럭은 정확한 MB 어드레스 "macroblock_address"를 갖고 회색을 디스플레이하는 매크로블럭으로 보수된다. 즉, 상술된 바와 같이, 어드레스 비교기(304)로부터 VLD(303)에 공급된 "next_macroblock_address"에 따라, 매크로블럭은 다음 슬라이스가 발견될 때까지 입력 스트림으로부터 최고 속도로 VLD(303)에 의해 풀아웃된다. 부가하여, 선택기(306)는 어드레스 비교기(304)로부터 출력된 타이밍 신호 "replace_timings"에 따라 제2 입력 단자로 스위치되고, 여기서 VLD(303)의 출력은 치환 데이터 발생 회로(305)로부터 출력되는 보수 매크로블럭 데이터로 치환된다.
선택기(306)로부터 출력된 스트림은 메모리(307)에 기록되고, 판독 어드레스는 VLD(308)에 의해 제어되므로, 데이터는 재정렬되어 변환 스트림을 제공하게 된다 (단계 S20). 단계 S21에서는 단계 S12에서 시작된 처리가 한 프레임의 마지막 매크로블럭에 이르렀는가 여부를 결정한다. 마지막 매크로블럭이 처리된 것으로 결정되면, 도 31에 도시된 흐름도에서의 처리 시리즈는 종료된다.
한편, 단계 S21에서 한 프레임의 마지막 프레임이 처리되지 않은 것으로 결정되면, 처리는 단계 S11로 복귀된다. 단계 S11에서는 입력 스트림의 가변 길이 코드가 복호화되고, MB 어드레스 "macroblock_address"가 검출된다. 이어서, 단계 S12에서 시작되는 처리는 MB 어드레스 "macroblock_address"가 검출된 매크로블럭에 실행된다.
단계 S18에서 MB 어드레스 "macroblock_address"가 기준 MB 어드레스 "ref_address"보다 작지 않은 것으로 결정되면, 단계 S14에서 결정 결과와 연관되어 기준 MB 어드레스 "ref_address"와 입력 스트림의 MB 어드레스 "macroblock_address" 사이에 정합이 발견되는 것으로 결정된다. 이 경우에는 손실되거나 교환된 매크로블럭이 없는 것으로 결정되고, 처리 단계는 단계 S20으로 진행된다.
이제는 본 실시예에 따른 변형예를 설명한다. 본 변형예에서, 메모리(307)는 프레임 메모리이고, "vlc_timings" 신호는 한 프레임 지연을 갖고 VLC(308)의 처리를 유도하는 신호이다. 선택기(306)로부터 출력된 한 프레임의 매크로블럭은 메모리(307)에 축적된다. 이는 매크로블럭이 프레임 메모리에 재정렬되고 각 프레임에 대한 처리 지연이 허용되는 한 정확한 순서로 연속하여 판독되도록 허용한다.
본 변형예에 따르면, 손실 매크로블럭은 한 프레임 이전에 똑같은 MB 어드레스를 갖는 매크로블럭으로 보수될 수 있다. 예를 들면, 데이터가 메모리(307)로 기록될 때, 손실 매크로블럭에 대응하는 어드레스는 데이터에 오버라이트(overwrite)되지 않고 버려진다. 매크로블럭은 상술된 실시예에서와 같이 회색을 디스플레이하는 매크로블럭 데이터가 사용될 때보다 더 자연스럽게 보수될 수 있다.
더욱이, MB 어드레스의 위치가 입력 스트림에서 교환되어, MB 어드레스가 정확한 순서로 정렬되는 것을 방해하면, 메모리(307)에 기록된 어드레스 또는 그로부터 판독된 어드레스가 제어되어, MB 어드레스가 정확한 순서로 재정렬되어 출력되는 것이 허용한다.
따라서, 본 발명에 따르면, MPEG 스트림의 I-픽처 등이 입력될 때 불연속적인 매크로블럭을 안정되게 처리할 수 있는 데이터 프로세서를 제공하게 된다.

Claims (16)

  1. 화면이 복수개로 분할된 블럭들이 소정의 순서로 배열된 데이터 스트림을 처리하는 데이터 프로세서로서,
    상기 화면 상의 상기 블럭들의 위치 정보 - 상기 위치 정보는 상기 데이터 스트림에 배열된 상기 블럭들 각각에 저장되어 있음 - 에 기초하여 블럭 불연속성들을 검출하는 검출 수단; 및
    상기 검출 수단에 의한 검출 결과에 기초하여 블럭 불연속성들을 보정하는 보정 수단
    을 포함하는 데이터 프로세서.
  2. 제1항에 있어서,
    상기 데이터 스트림은 가변 길이 부호화 데이터 스트림이고, 블럭 불연속성들은 상기 가변 길이 부호화 데이터 스트림이 복호화될 때 상기 검출 수단에 의해 검출되는 데이터 프로세서.
  3. 제1항에 있어서,
    상기 보정 수단은 연속적인 순서를 만족시키는 상기 위치 정보를 갖는 블럭을 사용하여 블럭 불연속성들을 보정하는 데이터 프로세서.
  4. 제1항에 있어서,
    상기 검출 수단에 의한 검출 결과로부터, 상기 블럭들 중 일부가 손실된 것으로 판정되면, 상기 보정 수단은 상기 손실된 블럭 부분의 주기 동안 상기 데이터 스트림을 일시적으로 정지시킴으로써 블럭 불연속성들을 보정하는 데이터 프로세서.
  5. 제1항에 있어서,
    상기 검출 수단에 의한 검출 결과로부터, 상기 블럭들 중 한 블럭과 또 다른 블럭이 교환된 것으로 판정되면, 상기 보정 수단은 교환된 블럭에 이어지는 블럭의 위치 정보를 찾고, 상기 위치 정보에 기초하여, 정확한 위치 정보를 갖는 블럭이 발견될 때까지 블럭 불연속성들을 반복하여 보정하는 데이터 프로세서.
  6. 제1항에 있어서,
    적어도 한 프레임의 데이터를 저장할 수 있는 프레임 메모리
    를 더 포함하고,
    상기 데이터 스트림 중 적어도 한 프레임의 데이터가 상기 프레임 메모리에 저장되고, 상기 검출 수단에 의한 검출 결과로부터, 상기 블럭들의 위치 정보가 불연속적인 것으로 판정되면, 상기 보정 수단은 상기 프레임 메모리에 저장된 데이터를 사용하여 상기 블럭들의 위치 정보 불연속성들을 보정하는 데이터 프로세서.
  7. 제6항에 있어서,
    상기 검출 수단에 의한 검출 결과로부터, 상기 블럭들 중 일부가 손실된 것으로 판정되면, 상기 보정 수단은 상기 손실된 블럭 부분에 대응하는 블럭의 한 프레임 이전 블럭의 데이터 - 상기 데이터는 상기 프레임 메모리에 저장되어 있음 - 를 사용하여 블럭 불연속성들을 보정하는 데이터 프로세서.
  8. 제6항에 있어서,
    상기 검출 수단에 의한 검출 결과로부터, 상기 블럭들 중 한 블럭과 또 다른 블럭이 교환된 것으로 판정되면, 상기 보정 수단은 상기 프레임 메모리의 어드레스들을 제어함으로써 상기 블럭들을 정확하게 재정렬하는 데이터 프로세서.
  9. 화면이 복수개로 분할된 블럭들이 소정의 순서로 배열된 데이터 스트림을 처리하는 데이터 처리 방법으로서,
    상기 화면 상의 상기 블럭들의 위치 정보 - 상기 위치 정보는 상기 데이터 스트림에 배열된 상기 블럭들 각각에 저장되어 있음 - 에 기초하여 블럭 불연속성들을 검출하는 단계; 및
    상기 검출 단계의 결과에 기초하여 블럭 불연속성들을 보정하는 단계
    를 포함하는 데이터 처리 방법.
  10. 제9항에 있어서,
    상기 데이터 스트림은 가변 길이 부호화 데이터 스트림이고,
    상기 검출 단계는,
    상기 가변 길이 부호화 데이터 스트림이 복호화될 때 블럭 불연속성들을 검출하는 단계
    를 포함하는 데이터 처리 방법.
  11. 제9항에 있어서,
    연속적인 순서를 만족시키는 상기 위치 정보를 갖는 블럭을 사용하여 블럭 불연속성들을 보정하는 단계
    를 더 포함하는 데이터 처리 방법.
  12. 제9항에 있어서,
    상기 검출 단계의 결과로부터, 상기 블럭들 중 일부가 손실된 것으로 판정되면, 상기 손실된 블럭 부분의 주기 동안 상기 데이터 스트림을 일시적으로 정지시킴으로써 블럭 불연속성들을 보정하는 단계
    를 더 포함하는 데이터 처리 방법.
  13. 제9항에 있어서,
    상기 검출 단계의 결과로부터, 상기 블럭들 중 한 블럭과 또 다른 블럭이 교환된 것으로 판정되면, 교환된 블럭에 이어지는 블럭의 위치 정보를 찾고, 상기 위치 정보에 기초하여, 정확한 위치 정보를 갖는 블럭이 발견될 때까지 블럭 불연속성들을 반복하여 보정하는 단계
    를 더 포함하는 데이터 처리 방법.
  14. 제9항에 있어서,
    상기 데이터 스트림 중 적어도 한 프레임의 데이터를 저장하는 단계
    를 더 포함하고,
    상기 검출 단계의 결과로부터, 상기 블럭들의 위치 정보가 불연속적인 것으로 판정되면, 상기 저장된 데이터를 사용하여 상기 블럭들의 위치 정보의 불연속성들이 보정되는 데이터 처리 방법.
  15. 제14항에 있어서,
    상기 검출 단계의 결과로부터, 상기 블럭들 중 일부가 손실된 것으로 판정되면, 상기 손실된 블럭 부분에 대응하는 블럭의 한 프레임 이전 블럭의 상기 저장 데이터를 사용하여 블럭 불연속성들을 보정하는 단계
    를 더 포함하는 데이터 처리 방법.
  16. 제14항에 있어서,
    상기 검출 단계의 결과로부터, 상기 블럭들 중 한 블럭과 또 다른 블럭이 교환된 것으로 판정되면, 상기 저장된 데이터의 어드레스들을 제어함으로써 상기 블럭들을 정확하게 재정렬하는 단계
    를 더 포함하는 데이터 처리 방법.
KR20010085943A 2000-12-28 2001-12-27 신호 프로세서 KR100796885B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2000-00401710 2000-12-28
JP2000401710A JP2002204450A (ja) 2000-12-28 2000-12-28 データ処理装置および方法

Publications (2)

Publication Number Publication Date
KR20020055420A KR20020055420A (ko) 2002-07-08
KR100796885B1 true KR100796885B1 (ko) 2008-01-22

Family

ID=18866102

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20010085943A KR100796885B1 (ko) 2000-12-28 2001-12-27 신호 프로세서

Country Status (3)

Country Link
US (1) US6970938B2 (ko)
JP (1) JP2002204450A (ko)
KR (1) KR100796885B1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100429020B1 (ko) * 2002-02-05 2004-04-29 (주)씨앤에스 테크놀로지 Mpeg-4 영상의 복호 방법
KR20050086760A (ko) * 2002-11-25 2005-08-30 톰슨 라이센싱 소시에떼 아노님 하이브리드 고해상도 dvd를 위한 2-층 디코딩 기술
KR100548383B1 (ko) * 2003-07-18 2006-02-02 엘지전자 주식회사 이동통신 시스템의 디지털 비디오 신호처리 장치 및 방법
US7613615B1 (en) * 2004-06-17 2009-11-03 Magnum Semiconductor, Inc. Circuits, systems, and methods for real-time de-shuffling of shuffled audio data
US20060045190A1 (en) * 2004-09-02 2006-03-02 Sharp Laboratories Of America, Inc. Low-complexity error concealment for real-time video decoder
JP4261508B2 (ja) * 2005-04-11 2009-04-30 株式会社東芝 動画像復号装置
KR100782815B1 (ko) * 2005-08-09 2007-12-06 삼성전자주식회사 인텐서티 보상을 위한 영상 디코딩 방법 및 장치
EP1848220A3 (en) * 2006-04-18 2011-09-28 Pioneer Corporation Block noise removal device
US8451897B2 (en) * 2006-12-04 2013-05-28 Atmel Corporation Highly parallel pipelined hardware architecture for integer and sub-pixel motion estimation
WO2008082762A1 (en) * 2006-12-29 2008-07-10 Motorola, Inc. Method and system for processing encoded video data
JP4957960B2 (ja) * 2007-01-29 2012-06-20 ソニー株式会社 画像処理装置、画像処理方法、及びプログラム
KR101086434B1 (ko) * 2007-03-28 2011-11-25 삼성전자주식회사 비디오 데이터 디스플레이 방법 및 장치
NO328295B1 (no) * 2007-12-20 2010-01-25 Tandberg Telecom As VLC-fremgangsmate og -innretning

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06232822A (ja) * 1992-07-14 1994-08-19 General Instr Corp デジタル通信装置のための送信エラー回復方法と装置
KR960030711A (ko) * 1995-01-20 1996-08-17 김광호 블럭화현상 제거를 위한 후처리장치 및 그 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664028A (en) * 1990-04-19 1997-09-02 Ricoh Corporation Apparatus and method for compressing still images
US5774593A (en) * 1995-07-24 1998-06-30 University Of Washington Automatic scene decomposition and optimization of MPEG compressed video
JP2000032393A (ja) 1998-07-09 2000-01-28 Sony Corp 画像情報処理装置および方法、並びに提供媒体
JP3185877B2 (ja) * 1998-09-21 2001-07-11 日本電気株式会社 テープ再生装置および方法
US6282322B1 (en) * 1998-12-03 2001-08-28 Philips Electronics North America Corp. System and method for compressing and decompressing images

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06232822A (ja) * 1992-07-14 1994-08-19 General Instr Corp デジタル通信装置のための送信エラー回復方法と装置
KR960030711A (ko) * 1995-01-20 1996-08-17 김광호 블럭화현상 제거를 위한 후처리장치 및 그 방법

Also Published As

Publication number Publication date
JP2002204450A (ja) 2002-07-19
US6970938B2 (en) 2005-11-29
US20020093595A1 (en) 2002-07-18
KR20020055420A (ko) 2002-07-08

Similar Documents

Publication Publication Date Title
KR100654072B1 (ko) 데이터 기록 장치, 데이터 기록 방법, 데이터 기록 및재생 장치, 데이터 기록 및 재생 방법, 데이터 재생 장치,데이터 재생 방법, 데이터 기록 매체, 디지털 데이터 재생장치, 디지털 데이터 재생 방법, 동기 검출 장치, 및 동기검출 방법
KR100838902B1 (ko) 스트림 처리 장치
KR100676093B1 (ko) 비디오 데이터 기록 장치, 비디오 데이터 기록 방법,비디오 데이터 재생 장치, 비디오 데이터 재생 방법,비디오 데이터 기록 및 재생 장치, 및 비디오 데이터 기록및 재생 방법
US7536080B2 (en) Signal processing apparatus
US20060239636A1 (en) Recording apparatus, recording method, reproducing apparatus, and reproducing method
KR100668993B1 (ko) 신호 처리 장치와 방법, 기록 장치, 재생 장치, 기록 및 재생 장치, 및 스트림 처리 장치와 방법
KR100796885B1 (ko) 신호 프로세서
US6643729B2 (en) Data processing apparatus and data recording apparatus
KR100739262B1 (ko) 기록 장치 및 기록 방법과, 재생 장치 및 재생 방법
US20020071491A1 (en) Signal processor
JP2000324448A (ja) データ記録装置、データ記録再生装置、データ記録方法およびデータ記録再生方法
KR100681992B1 (ko) 기록 장치 및 방법
JP3978903B2 (ja) データ記録装置、データ記録方法、データ処理装置、およびデータ処理方法
JP2000149455A (ja) データ記録装置および記録方法、データ記録再生装置および記録再生方法、並びにデータ記録媒体
JP2000152174A (ja) 画像データ処理装置および方法、並びに画像データ記録装置
JP2001346163A (ja) 記録装置および方法、再生装置および方法、ならびに、記録再生装置および方法
JP2000312341A (ja) データ伝送装置および方法、記録装置、ならびに、記録再生装置
JP2003006984A (ja) 信号処理装置および方法
JP2000149441A (ja) データ処理装置、データ処理方法およびデータ再生装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee