KR100209913B1 - 고속 mpeg 복호화장치 및 그의 런길이 에러 처리방법 - Google Patents
고속 mpeg 복호화장치 및 그의 런길이 에러 처리방법 Download PDFInfo
- Publication number
- KR100209913B1 KR100209913B1 KR1019960061608A KR19960061608A KR100209913B1 KR 100209913 B1 KR100209913 B1 KR 100209913B1 KR 1019960061608 A KR1019960061608 A KR 1019960061608A KR 19960061608 A KR19960061608 A KR 19960061608A KR 100209913 B1 KR100209913 B1 KR 100209913B1
- Authority
- KR
- South Korea
- Prior art keywords
- macroblock
- block
- run
- signal
- decoding
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/93—Run-length coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 복수개의 경로로 나누어 복호화할 때 런길이 에러가 발생하면 해당 슬라이스에 대해 적절한 처리를 할 수 있도록 한 고속 MPEG 복호화장치 및 그의 런길이 에러 처리방법에 관한 것이다. 이러한 본 발명은 헤더정보로부터 검출한 슬라이스의 수직위치정보 및 매크로블럭의 순서정보를 그때의 행카운터값 및 매크로블럭 카운터값과 비교하여 스킵된 매크로블럭 플래그 신호를 결정하는 헤더복호화기를 구비한다. 가변길이 복호화장치에서 런길이 에러를 검출하여 관련정보를 보내면, 헤더복호화기는 스킵된 매크로블럭 플래그 신호를 인에이블시키고 블럭패턴신호를 0으로 복호화하여 출력한다. 복수개의 런/레벨 복호화기에서는 블럭패턴 및 블럭판독신호가 0인 동안의 모든 블럭에 대해 64개의 0값을 런/레벨 복호화된 데이타로 출력한다. 따라서, 시스템클럭에 대한 부담을 줄이고 시스템에 치명적인 영향이 미치는 것을 방지할 수 있는 효과가 있다.
Description
본 발명은 고속의 처리속도를 요구하는 MPEG 복호화장치에 관한 것으로, 특히 여러개의 경로(Path)로 나누어 복호화하는 과정에서 런길이(Run-length) 에러가 발생했을 경우 해당 슬라이스(Slice)에 대해 적절한 처리를 할 수 있도록 한 고속 MPEG 복호화장치 및 그의 런길이 에러 처리방법에 관한 것이다.
최근 고선명 텔레비젼(HD-TV), 디지탈 VTR 및 캠코더, 멀티미디어(Multimedia), 영상 전화기등과 같은 시스템에서는 영상과 음성을 디지탈 신호로 부호화한 후 전송하거나 기록매체에 저장하고, 이를 다시 복호화하여 재생하는 방식이 주로 사용되고 있다. 이러한 부호화 및 복호화 시스템에서는 데이타의 전송효율을 극대화시키기 위해 전송데이타량을 보다 더 효과적으로 압축하기 위한 기술이 요구되고 있다. 일반적으로 MPEG(Moving Picture Experts Group) 복호화장치는 압축 부호화되어 전송되는 비트열(Bit stream)을 입력받아 비트열에 부가된 헤더(Header)정보를 해석하고, 입력비트열을 부호화의 역과정을 통해 원래의 신호로 복원시킨다. 이때 헤더정보의 복호화 및 부호화된 계수의 복호화는 단일경로를 통하여 행해진다.
이와 같이 복호화를 수행하는데 있어, 부호화량이 작은 비트열을 처리해야 하는 메인레벨(Main Level; ML)에 속하는 매체에서는 일반적인 시스템클럭을 사용한다. 그러나 고선명 텔레비젼(HD-TV)과 같이 하이레벨(High Level; HL)에 속하는 매체의 경우에는 많은 량의 데이타를 처리해야 하므로 복호화 동작이 고속으로 행해져야 한다. 고속동작을 위해서는 적어도 100MHz이상의 시스템클럭이 필요한데, 이러한 시스템클럭을 사용하여 동작이 가능한 하드웨어는 구현하기가 어렵고, 만일 상기 하드웨어를 구현하더라도 제조원가를 과도하게 상승시키게 되는 문제점이 있었다.
종래에는 이러한 문제점을 해결하기 위하여, 매크로블럭(Macroblock)에서 4개의 휘도신호블럭과 2개의 색차신호블럭과 DC(직류성분)계수를 복수개의 경로를 통해 복호화하는 장치를 개발하였다. 이 복호화장치는 고속의 처리속도를 요구하는 매체에서 시스템클럭의 속도를 증가시키지 않고도 입력비트열을 고속으로 처리할 수 있으므로 시스템클럭에 대한 부담을 줄일 수 있는 장점이 있다. 아울러, 고주파수의 시스템클럭을 발생시키는 하드웨어를 구현할 필요가 없으므로 제조원가를 절감할 수 있는 장점이 있다.
상기와 같이 단일경로로 복호화하는 일반적인 복호화장치는 가변길이 복호화장치(Variable Length Decoder, VLD)에서 런길이 에러가 발생했을 경우 에러가 발생한 슬라이스에 대해 적절한 처리를 하기 위한 회로를 구비하고 있다. 그러나 고속의 처리속도를 고려하여 복수개의 경로로 복호화하는 장치는 가변길이 복호화장치에서 런길이 에러가 발생하더라도 이에 대처할 수 있는 회로가 없으므로 부호화된 데이타를 제대로 복원할 수 없다는 문제점이 있었다.
본 발명의 목적은 고속의 처리속도를 요구하는 매체에서 시스템클럭의 속도를 증가시키지 않고 부호화된 데이타를 복수개의 경로로 복호화함으로써 복수개의 복호화기 및 시스템클럭에 대한 부담을 줄일 수 있도록 한 고속 MPEG 복호화장치 및 그의 런길이 에러 처리방법을 제공하는데 있다.
본 발명의 다른 목적은 복수개의 경로로 복호화하는 과정에서 런길이 에러가 발생하면 전송된 에러관련정보를 검사하여 현재 복호화중인 슬라이스부터 다음 개시부호(Start Code)가 검출될 때까지의 슬라이스에 대해 적절한 처리를 할 수 있도록 한 고속 MPEG 복호화장치 및 그의 런길이 에러 처리방법을 제공하는데 있다.
도 1은 본 발명이 적용되는 고속 MPEG 복호화장치의 개략적인 구성을 나타낸 블럭도.
도 2는 부호화된 입력비트열을 복호화할 때 런길이 에러가 발생한 슬라이스에 대한 처리방법을 설명하기 위한 타이밍 관계도.
* 도면의 주요부분에 대한 부호의 설명
1,7,15 : 역다중화기 2∼4 : FIFO메모리
5,13 : 런/레벨 복호화기 6,14 : 스캔변환부
10,18 : 다중화기 11,19 : 역양자화기
12,20 : 역DCT부 22 : 헤더복호화기
상기와 같은 목적들을 달성하기 위한 본 발명의 고속 MPEG 복호화장치는 입력된 비트열로부터 런길이 에러를 검출하여 가변길이 복호화된 데이타와 상기 에러관련정보를 복수개의 경로로 보내는 가변길이 복호화장치를 구비한다. 복수개의 FIFO메모리는 가변길이 복호화장치를 거쳐 복수개의 경로로 분리된 데이타 및 헤더정보를 저장한다. 하나의 FIFO메모리에 연결된 헤더복호화기는 헤더정보로부터 검출한 슬라이스의 수직위치정보 및 매크로블럭의 순서정보를 그때의 행카운터값 및 매크로블럭 카운터값과 비교하여 스킵된 매크로블럭 플래그 신호를 결정한다. 아울러 이 신호가 인에이블된 상태이면 블럭패턴신호를 0으로 복호화한다. 나머지 FIFO메모리에 각각 연결된 복수개의 런/레벨 복호화기는 블럭패턴신호에 따라 블럭판독신호를 결정하고 이 블럭판독신호에 따라 데이타를 런/레벨 복호화한다. 이때 블럭패턴 및 블럭판독신호가 0인 동안의 모든 블럭에 대해서는 64개의 0값을 런/레벨 복호화된 데이타로 출력하게 된다.
또한 본 발명의 고속 MPEG 복호화장치에서의 런길이 에러 처리방법은 복호화된 헤더정보로부터 슬라이스의 수직위치정보와 매크로블럭의 순서정보를 검출하여 레지스터에 래치하는 제 1과정과, 래치된 슬라이스의 수직위치정보 및 매크로블럭의 순서정보를 그때의 행카운터값 및 매크로블럭 카운터값과 비교하여 스킵된 매크로블럭 플래그 신호를 인에이블 또는 디스에이블시키는 제 2과정과, 스킵된 매크로블럭 플래그 신호에 따라 정상적으로 매크로블럭의 런/레벨 복호화를 수행하거나 일정기간동안 런/레벨 복호화 출력을 0으로 하여 출력하는 제 3과정으로 이루어진다.
이하, 첨부된 도 1 및 도 2를 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같다.
도 1은 본 발명이 적용되는 고속 MPEG 복호화장치의 개략적인 구성을 나타낸 블럭도이다. 본 발명의 장치는 전단의 가변길이 복호화장치(VLD, 도시되지 않음)로부터 가변길이 복호화된 데이타와 런길이 에러가 발생했음을 알려주는 정보를 입력받는다. 부호 1은 제 1역다중화기(Demultiplexer)로, 입력된 비트열을 분할하여 헤더정보와 2개의 경로(A,B)로 나눈 데이타를 각각 해당 경로로 출력한다. 제 1역다중화기(1)의 출력단에는 3개의 FIFO(First In First Out)메모리(2∼4)가 연결된다. 이 FIFO메모리(2∼4)들은 데이타를 입력된 순서대로 저장해 두었다가 출력요구가 있을 때마다 먼저 입력된 데이타부터 출력시킨다.
제 1FIFO메모리(2)는 하나의 매크로블럭에서 상위에 위치하는 2개의 휘도신호블럭(1,3)과 1개의 색차신호블럭(U)에 해당하는 데이타를 저장한다. 이와 마찬가지로, 제 2FIFO메모리(3)는 하나의 매크로블럭에서 하위에 위치하는 2개의 휘도신호블럭(2,4)과 1개의 색차신호블럭(V)에 해당하는 데이타를 저장한다. 제 3FIFO메모리(4)는 제 1역다중화기(1)로부터 헤더정보를 입력받아 일시 저장했다가 순서대로 출력한다. 상기 제 1 및 제 2FIFO메모리(2)(3)의 출력단에는 경로 A와 경로 B에서 동일하게 병렬처리를 할 수 있도록 2개씩의 동일한 장치들이 연결된다.
제 1FIFO메모리(2)의 출력단에 연결된 제 1런/레벨 복호화기(5)는 입력데이타를 런/레벨 부호화의 역과정을 통해 복호화하여 압축된 데이타를 신장시킨다. 제 1런/레벨 복호화기(5)의 출력단에는 2개의 메모리와 역다중화기 및 다중화기(Multiplexer)로 이루어진 제 1스캔변환부(6)가 연결된다. 제 1스캔변환부(6)에서 제 2역다중화기(7)는 제 1런/레벨 복호화기(5)에서 출력된 데이타를 분할하여 제 1메모리(8)와 제 2메모리(9)에 각각 입력시킨다. 제 1다중화기(10)는 상기 두 메모리(8)(9)로부터 저장된 데이타를 읽어들여 제 1스캔변환부(6)로 입력되기 전과는 다른 방식으로 데이타를 다중화한 후 출력한다. 그러면 제 1스캔변환부(6)를 거친 데이타는 부호화장치에서 행한 주사(Scan)의 역과정을 거친 다른 주사방식의 동영상 신호로 바뀌게 된다.
제 1스캔변환부(6)의 출력단에 연결된 제 1역양자화기(11)는 입력된 동영상 데이타에 대해 부호화장치의 양자화에 대응하는 역양자화를 실행한다. 제 1역양자화기(11)의 출력단에는 제 1역DCT(Discrete Cosine Transform)부(12)가 연결되고, 이 제 1역DCT부(12)는 역양자화된 데이타 및 DC계수를 역DCT 변환하여 부호화되기 이전의 동영상 데이타로 복원하게 된다. 한편, 제 2FIFO메모리(3)의 출력단에는 전술된 경로 A에서와 동일한 장치들이 연결되어 경로 B를 형성하게 된다. 즉, 제 2FIFO메모리(3), 제 2런/레벨 복호화기(13), 제 3역다중화기(15)와 제 3 및 제 4메모리(16)(17)와 제 2다중화기(18)로 이루어진 제 2스캔변환부(14), 제 2역양자화기(19), 제 2DCT부(20)가 순서대로 연결되어 경로 A에서와 동일한 동작을 하는 것이다.
상기 제 1 및 제 2FIFO메모리(2)(3)의 출력단에는 DC복호화기(21)도 연결된다. 이 DC복호화기(21)는 두 FIFO메모리(2)(3)로부터 입력된 데이타에서 인트라(Intra) 매크로블럭의 DC계수를 읽어내어 역양자화한다. 여기서 역양자화된 DC계수는 상기 제 1 및 제 2역DCT부(12)(20)로 각각 입력되어진다. 상기 제 3FIFO메모리(4)의 출력단에는 헤더복호화기(22)와 양자화행렬 복호화기(23)가 연결된다. 헤더복호화기(22)는 제 3FIFO메모리(4)로부터 분리된 헤더정보를 입력받아 계수데이타의 복호화에 필요한 각종 파라미터들(Parameters)을 발생시킨다. 또한 양자화행렬 복호화기(23)는 분리된 헤더정보를 입력받아 계수데이타를 역양자화할 때 필요한 양자화행렬(Quantiser Matrix)을 발생시킨다.
상기와 같이 구성된 고속 MPEG 복호화장치의 동작 및 본 발명의 런길이 에러 처리방법을 도 2의 타이밍도를 참조하여 설명한다.
일반적으로 가변길이 부호화란 런(연속되는 0의 갯수)과 레벨(0이 아닌 임의의 값)을 한쌍으로 묶어 하나의 부호로 만드는 것이다. 동영상 데이타를 이 방식으로 부호화하면 정상상태일 때 임의의 블럭에서 런의 합은 64이하가 된다. 본 발명에서 처리하고자 하는 런길이 에러는 어느 하나의 블럭에 해당하는 런의 합이 64이상일 때 발생하는데, 통상 가변길이 복호화장치에서 발견된다. 가변길이 복호화장치는 임의의 한 블럭에 해당하는 런의 합을 계산하여 64이상이면 런길이 에러인 것으로 판단하고 에러에 대한 정보를 제 1역다중화기(1)로 보낸다. 아울러 에러가 발견되는 즉시 다음의 개시부호를 찾게 되고, 개시부호를 찾을 때까지의 모든 데이타는 출력하지 않는다. 여기서, 런의 합을 계산하는 방법은 MPEG자료 ISO/IEC 13818-2 가변길이 복호화에 설명되어 있다.
도 2는 도 1의 장치에서 부호화된 입력비트열을 복호화할 때 런길이 에러가 발생한 슬라이스에 대한 처리방법을 설명하기 위한 타이밍 관계도이다. 도 1에서 제 1역다중화기(1)는 전술된 바와 같이 하나의 매크로블럭에서 1, 3, U블럭에 해당하는 데이타는 경로 A로, 2, 4, V블럭에 해당하는 데이타는 경로 B로 각각 보내준다. 이때 에러에 대한 정보는 발견되는 즉시 경로 A와 경로 B로 동시에 보내주게 된다. 제 1역다중화기(1)에서 보내준 데이타를 저장하는 제 1 내지 제 3FIFO메모리(2∼4)는 에러가 발생한 이후부터 다음 슬라이스의 개시부호를 찾을 때까지의 데이타를 저장하지 않는다.
제 1 및 제 2FIFO메모리(2)(3)에서 판독된 데이타를 런/레벨 복호화할 때 경로 A와 경로 B의 복호화는 블럭단위로 동기화되어 시작되고, 매크로블럭 단위로도 동기화된다(도 2의 c,d파형 참조). 또 제 1역다중화기(1)에서 보내준 헤더정보를 저장하는 제 3FIFO메모리(4)는 도 2의 a와 같은 헤더판독신호가 인가될 때마다 매크로블럭 단위로 헤더정보를 읽어 출력한다(도 2의 b파형 참조). 이때 임의의 매크로블럭의 헤더정보는 그 매크로블럭 데이타의 런/레벨 복호화보다 한개의 매크로블럭만큼 앞서서 제 3FIFO메모리(4)로부터 읽혀진 후 복호화된다. 즉, 제 1 및 제 2런/레벨 복호화기(5)(13)에서 m+1번째 매크로블럭[MB(m+1)]을 복호화할 때(도 2의 c,d파형 참조) 제 3FIFO메모리(4)에서는 다음 슬라이스의 첫번째 매크로블럭의 헤더정보가 출력되는 것이다(도 2의 b파형 참조).
헤더복호화기(22)는 입력된 헤더정보에서 슬라이스의 수직위치정보(slice_vertical _position, 도 2의 e파형 참조)와 매크로블럭의 순서정보(mb_column, 도 2의 g파형 참조)가 검출되면 즉시 이들을 레지스터에 래치(Latch)해 놓는다. 이때 래치된 슬라이스의 수직위치정보(slice _vertical_position)와 매크로블럭의 순서정보(mb_column)는 에러가 하나 또는 몇개의 슬라이스에 걸쳐 발생했더라도 이와 상관없이 에러 발생이 완료된 후의 슬라이스의 값이 된다. 예를 들어, 도 2의 타이밍도에서와 같이 A경로의 m+1번째 매크로블럭[MB(m+1)]에서 에러가 발생했다면, 래치된 슬라이스의 수직위치(slice _vertical_position)는 (n+α)이고 매크로블럭의 순서(mb_column)는 β가 된다. 도 2의 e에 도시된 다음 슬라이스의 수직위치에 대한 정보[slice_vertical_position(n+α)]에서 α는 0 또는 1이상이 될 수 있다. 만약, 하나의 행(Row, 가로줄)이 여러개의 슬라이스로 나뉘어져 있고, 에러가 발생한 슬라이스가 현재 복호화중인 행에 포함되어 있으며, 다음 슬라이스가 마찬가지로 현재 복호화중인 행에 포함되어 있다면 α는 0이 된다. 그러나 다음 슬라이스가 에러난 슬라이스와 다른 행에 위치한다면 α는 1 또는 그 이상의 값이 된다.
한편, 전술된 헤더판독신호(도 2의 a파형 참조)는 제 1 및 제 2런/레벨 복호화기(5)(13)에서 2번째 블럭의 복호화를 시작할 때 인에이블(Enable)되었다가 그 매크로블럭의 마지막 헤더데이타 위치에서 디스에이블(Disable)된다. 이때 스킵된(Skipped) 매크로블럭 플래그(Flag) 신호는 도 2의 i에 도시된 바와 같이 0상태여야 한다. 이와 같이 매크로블럭 단위로 헤더판독신호를 인에이블시킬 수 있게 하는 스킵된 매크로블럭 플래그 신호는 상기에서 래치된 슬라이스의 수직위치정보(slice_vertical_position) 및 매크로블럭의 순서정보(mb_column)를 그때의 행카운터(Row Counter)값 및 매크로블럭 카운터값과 비교하여 인에이블 또는 디스에이블시킨다.
스킵된 매크로블럭 플래그 신호를 인에이블시키는 조건은 슬라이스의 수직위치값(slice_vertical_position)과 행카운터값이 같지 않거나 매크로블럭의 순서값(mb_column)과 매크로블럭 카운터값이 같지 않을 경우이다. 이것은 에러가 발생한 경우로, 도 2에서 래치된 슬라이스의 수직위치값(도 2의 e파형 참조)은 (n+α)이지만 행카운터값(도 2의 f파형 참조)은 n인 경우이다. 또한 래치된 매크로블럭의 순서값(도 2의 g파형 참조)은 β이지만 매크로블럭 카운터값(도 2의 h파형 참조)은 m+2, m+3,…인 경우이다.
스킵된 매크로블럭 플래그 신호가 디스에이블되는 시점은 헤더판독신호를 인에이블시키는 타이밍과 같이 제 1 및 제 2런/레벨 복호화기(5)(13)에서 2번째 블럭의 복호화를 시작할 때이다. 에러가 발생하지 않은 상황에서 매크로블럭 카운터값은 매크로블럭의 순서값(mb_column)과 같거나 1만큼 크다. 따라서, 스킵된 매크로블럭 플래그 신호가 0상태일 때 슬라이스의 수직위치값(slice_vertical_position)과 행카운터값은 똑같이 (n+α)이고, 매크로블럭의 순서값(mb_column)과 매크로블럭 카운터값은 β가 된다.
여기서, β는 다음 슬라이스의 첫번째 매크로블럭으로, β+1번째 매크로블럭[MB(β+1)]의 헤더를 읽기 위한 헤더판독신호가 인에이블되는 시점은 β번째 매크로블럭[MB(β)]의 2번째 블럭을 런/레벨 복호화하기 시작하는 때가 된다. 이렇게 함으로써 에러가 발생하더라도 매크로블럭의 헤더를 읽는 타이밍과 경로 A와 경로 B에서 런/레벨 복호화를 하는 타이밍이 적절하게 조절된다. 전술된 행카운터와 매크로블럭 카운터는 제 1 및 제 2런/레벨 복호화기(5)(13)에서 복호화를 수행할 때 행 및 매크로블럭 단위로 각각 변화하게 된다. 즉, 행카운터는 매크로블럭 카운터가 매크로블럭폭(mb_width, MPEG자료 참조바람)이면서 다음 매크로블럭의 런/레벨 복호화를 시작할 때 변화하고, 매크로블럭 카운터는 매크로블럭 단위로 첫번째 블럭의 복호화를 시작할 때 변화하는 것이다.
헤더복호화기(22)는 헤더판독신호에 따라 제 3FIFO메모리(4)로부터 어떠한 매크로블럭의 헤더를 읽어내게 된다. 이때 헤더판독 완료시점은 도 2에서와 같이 제 1 및 제 2런/레벨 복호화기(5)(13)에서 현재 복호화중인 매크로블럭의 복호화 완료시점이어야 한다. 특히, 헤더복호화기(22)는 매크로블럭의 런/레벨 복호화를 끝내기 전에 스킵된 매크로블럭 플래그의 상태를 조사한다. 스킵된 매크로블럭 플래그 신호가 1이면 무조건 부호화된 블럭패턴신호(coded_block_pattern)를 0으로 복호화하여 제 1 및 제 2런/레벨 복호화기(5)(13)로 보낸다. 제 1 및 제 2런/레벨 복호화기(5)(13)에서는 매 블럭의 복호화를 시작하기 전에 부호화된 블럭패턴신호(coded_block_pattern)를 조사하여 각 블럭의 블럭판독신호(block_read)를 결정한다. 이 블럭판독신호(block_read)는 에러가 발생한 매크로블럭 다음의 매크로블럭부터 다음 슬라이스 이전까지의 모든 매크로블럭에 대해서만 0상태가 된다. 제 1 및 제 2런/레벨 복호화기(5)(13)에서는 블럭판독신호(block_read)가 0인 동안의 모든 블럭에 대해 64개의 0값을 출력한다.
제 1 및 제 2런/레벨 복호화기(5)(13)는 런길이 에러가 발생하면 각각 개별적으로 동작하여 적절한 처리를 하게 된다. 예를 들어, 경로 A의 m+1번째 매크로블럭[MB(m+1)]에서 에러가 발생하였다면(도 2의 타이밍도 참조), 제 1런/레벨 복호화기(5)는 에러정보가 발견된 시점부터 다음 슬라이스의 첫번째 매크로블럭 이전까지의 복호화 출력을 0으로 하여 출력한다. 이와 같이 런길이 에러가 발생하였을 때 스킵된 매크로블럭 플래그를 발생시켜 처리하는 방법은 MPEG에서 정의한 스킵된 매크로블럭을 처리하기 위해 스킵된 매크로블럭 플래그를 발생시키는 방법과 동일하다.
이상에서와 같이 본 발명은 고속의 처리속도를 요구하는 매체에서 시스템클럭의 속도를 증가시키지 않고 부호화된 데이타를 여러개의 경로로 나누어 복호화하므로 복수개의 복호화기 및 시스템클럭에 대한 부담을 줄일 수 있는 효과가 있다. 아울러 런길이 에러가 발생하면 에러가 발견된 시점부터 다음 슬라이스의 첫번째 매크로블럭 이전까지의 복호화 출력을 0으로 대체하므로 시스템에 치명적인 영향이 미치는 것을 방지하고 사용자가 에러가 발생했음을 잘 느끼지 못하도록 하는 효과가 있다.
Claims (11)
- 부호화된 비트열을 복수개의 경로로 나누어 복호화하는 장치에 있어서,입력된 비트열로부터 런길이 에러를 검출하여 가변길이 복호화된 데이타와 상기 에러관련정보를 복수개의 경로로 보내고 에러가 검출된 후부터 다음 슬라이스의 개시부호를 찾을 때까지는 데이타를 출력하지 않는 가변길이 복호화장치와;가변길이 복호화장치를 거쳐 복수개의 경로로 분리된 데이타 및 헤더정보를 저장해 두었다가 출력요구가 있을 때마다 먼저 입력된 데이타부터 출력시키는 복수개의 FIFO메모리와;헤더정보로부터 검출한 슬라이스의 수직위치정보 및 매크로블럭의 순서정보를 그때의 행카운터값 및 매크로블럭 카운터값과 비교하여 스킵된 매크로블럭 플래그 신호를 결정하고 이 신호가 인에이블된 상태이면 블럭패턴신호를 0으로 복호화하는 헤더복호화기와;상기 블럭패턴신호에 따라 각 블럭의 블럭판독신호를 결정하고 이 블럭판독신호에 따라 FIFO메모리에서 판독된 데이타를 런/레벨 복호화하거나 블럭패턴 및 블럭판독신호가 0인 동안의 모든 블럭에 대해 64개의 0값을 런/레벨 복호화된 데이타로 출력하는 복수개의 런/레벨 복호화기를 구비한 것을 특징으로 하는 고속 MPEG 복호화장치.
- 제 1항에 있어서, 상기 가변길이 복호화장치는 입력된 비트열중 임의의 한 블럭에 해당하는 런의 합을 계산하여 64이상이면 런길이 에러가 발생한 것으로 판정하도록 한 것을 특징으로 하는 고속 MPEG 복호화장치.
- 제 1항에 있어서, 상기 FIFO메모리들은 매크로블럭에서 상위 2개의 휘도신호블럭(1,3)과 1개의 색차신호블럭(U) 데이타를 저장하는 제 1FIFO메모리와; 하위 2개의 휘도신호블럭(2,4)과 1개의 색차신호블럭(V) 데이타를 저장하는 제 2FIFO메모리와; 헤더판독신호가 인에이블될 때마다 매크로블럭 단위로 헤더정보를 읽어 출력하는 제 3FIFO메모리로 구성되는 것을 특징으로 하는 고속 MPEG 복호화장치.
- 제 3항에 있어서, 상기 헤더판독신호는 스킵된 매크로블럭 플래그 신호가 디스에이블된 상태일 때 런/레벨 복호화기에서 2번째 블럭의 복호화를 시작하면 인에이블되었다가 그 매크로블럭의 마지막 헤더데이타 위치에서 디스에이블되도록 한 것을 특징으로 하는 고속 MPEG 복호화장치.
- 제 1항에 있어서, 상기 헤더복호화기는 임의의 매크로블럭의 헤더정보를 그 매크로블럭 데이타의 런/레벨 복호화보다 한개의 매크로블럭만큼 앞서서 복호화하도록 한 것을 특징으로 하는 고속 MPEG 복호화장치.
- 부호화된 비트열을 복수개의 경로로 나누어 복호화하는 방법에 있어서,복호화된 헤더정보로부터 슬라이스의 수직위치정보와 매크로블럭의 순서정보를 검출하여 레지스터에 래치하는 제 1과정과;래치된 슬라이스의 수직위치정보 및 매크로블럭의 순서정보를 그때의 행카운터값 및 매크로블럭 카운터값과 비교하여 스킵된 매크로블럭 플래그 신호를 인에이블 또는 디스에이블시키는 제 2과정과;스킵된 매크로블럭 플래그 신호에 따라 정상적으로 매크로블럭의 런/레벨 복호화를 수행하거나 일정기간동안 런/레벨 복호화 출력을 0으로 하여 출력하는 제 3과정으로 이루어짐을 특징으로 하는 고속 MPEG 복호화장치에서의 런길이 에러 처리방법.
- 제 6항에 있어서, 상기 제 1과정에서 래치된 슬라이스의 수직위치정보와 매크로블럭의 순서정보는 에러 발생이 완료된 후의 슬라이스의 값이 되도록 한 것을 특징으로 하는 고속 MPEG 복호화장치에서의 런길이 에러 처리방법.
- 제 6항에 있어서, 상기 제 2과정에서 스킵된 매크로블럭 플래그 신호를 인에이블시키는 조건은 에러가 발생하여 슬라이스의 수직위치값과 행카운터값이 같지 않거나 매크로블럭의 순서값과 매크로블럭 카운터값이 같지 않을 경우인 것을 특징으로 하는 고속 MPEG 복호화장치에서의 런길이 에러 처리방법.
- 제 6항에 있어서, 상기 제 2과정에서 스킵된 매크로블럭 플래그 신호를 디스에이블시키는 조건은 슬라이스의 수직위치값과 행카운터값이 같거나 매크로블럭 카운터값이 매크로블럭의 순서값과 같거나 1만큼 클 경우로, 매크로블럭의 2번째 블럭을 런/레벨 복호화하기 시작할 때 디스에이블되도록 한 것을 특징으로 하는 고속 MPEG 복호화장치에서의 런길이 에러 처리방법.
- 제 6항에 있어서, 상기 제 2과정에서 행카운터값은 매크로블럭 카운터값이 매크로블럭폭이면서 다음 매크로블럭의 런/레벨 복호화를 시작할 때 행단위로 변화하고, 매크로블럭 카운터값은 매크로블럭 단위로 첫번째 블럭의 복호화를 시작할 때 변화하도록 한 것을 특징으로 하는 고속 MPEG 복호화장치에서의 런길이 에러 처리방법.
- 제 6항에 있어서, 상기 제 3과정은 스킵된 매크로블럭 플래그 신호를 조사하여 인에이블된 상태이면 부호화된 블럭패턴신호를 0으로 복호화하는 단계와; 매 블럭의 복호화를 시작하기 전에 블럭패턴신호를 조사하여 0이면 각 블럭의 블럭판독신호를 0으로 결정하는 단계와; 블럭판독신호가 0인 동안의 모든 블럭에 대해 64개의 0값을 런/레벨 복호화된 데이타로 출력하는 단계로 이루어짐을 특징으로 하는 고속 MPEG 복호화장치에서의 런길이 에러 처리방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960061608A KR100209913B1 (ko) | 1996-12-04 | 1996-12-04 | 고속 mpeg 복호화장치 및 그의 런길이 에러 처리방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960061608A KR100209913B1 (ko) | 1996-12-04 | 1996-12-04 | 고속 mpeg 복호화장치 및 그의 런길이 에러 처리방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980043656A KR19980043656A (ko) | 1998-09-05 |
KR100209913B1 true KR100209913B1 (ko) | 1999-07-15 |
Family
ID=19485671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960061608A KR100209913B1 (ko) | 1996-12-04 | 1996-12-04 | 고속 mpeg 복호화장치 및 그의 런길이 에러 처리방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100209913B1 (ko) |
-
1996
- 1996-12-04 KR KR1019960061608A patent/KR100209913B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19980043656A (ko) | 1998-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR960002730B1 (ko) | 고능률 부호화 신호 처리 장치 | |
KR0134299B1 (ko) | 가변장디코딩장치의 동기 복원방법 및 장치 | |
KR100256005B1 (ko) | 영상 신호 압축 장치 | |
KR0166722B1 (ko) | 부호화 및 복호화방법 및 그 장치 | |
JP3343250B2 (ja) | Hdtv圧縮システム | |
EP0482864B1 (en) | An image data processing apparatus | |
KR100253473B1 (ko) | 스크램블장치, 디스크램블장치 및 스크램블전송장치 | |
KR100234839B1 (ko) | 우선순위 비디오 데이타의 재결합 장치 | |
US5442400A (en) | Error concealment apparatus for MPEG-like video data | |
US5781561A (en) | Encoding apparatus for hierarchically encoding image signal and decoding apparatus for decoding the image signal hierarchically encoded by the encoding apparatus | |
US20030039309A1 (en) | Video data compression apparatus and method of same | |
US9288487B2 (en) | Methods and electronic devices for quantization and de-quantization | |
KR100274524B1 (ko) | 디지탈 비디오 처리 시스템의 에러 은닉 장치 | |
US5854799A (en) | Video decoder with functions to detect and process errors in encoded video data | |
JPH04221465A (ja) | 記録装置 | |
KR20000028928A (ko) | 비디오 신호 디코더 및 비디오 신호 디코더에서 메모리액세스를 감소시키는 방법 | |
EP0925555B1 (en) | Dual-speed variable length decoder and decoding architecture for mpeg-2 video data | |
US5532837A (en) | Digital video signal processing apparatus | |
US5995171A (en) | Coding and/or decoding apparatus for decoding variable-length coded image information | |
JP3224060B2 (ja) | 可変長デコーダのための2段バッファを有するデコーダ装置および方法 | |
US6415059B1 (en) | Data compression | |
US7170939B2 (en) | Compression-encoded data decoding apparatus | |
US5973744A (en) | Apparatus for decoding video data | |
KR100209913B1 (ko) | 고속 mpeg 복호화장치 및 그의 런길이 에러 처리방법 | |
KR0171443B1 (ko) | 디지탈 비디오 카세트 레코더의 가변장 복호화 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20080328 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |