KR100195727B1 - Mpeg 복호기에서 양자화기 스케일 코드의 최적 타이밍 장치 - Google Patents
Mpeg 복호기에서 양자화기 스케일 코드의 최적 타이밍 장치Info
- Publication number
- KR100195727B1 KR100195727B1 KR1019950069161A KR19950069161A KR100195727B1 KR 100195727 B1 KR100195727 B1 KR 100195727B1 KR 1019950069161 A KR1019950069161 A KR 1019950069161A KR 19950069161 A KR19950069161 A KR 19950069161A KR 100195727 B1 KR100195727 B1 KR 100195727B1
- Authority
- KR
- South Korea
- Prior art keywords
- quantizer
- scale code
- latch
- length decoder
- quantizer scale
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 MPEG 복호기에서 가변장 복호기(501)로부터 양자화기 스케일 코드를 입력받아 런-길이 복호기(503)의 독출요구에 따라 래치1(507)에 입력하는 선이선출식 버퍼 FIFO2(506); 런-길이 복호기의 독출요구 신호와 동일신호인 로드1 신호에 의해 상기 FIFO2에서 영향받은 양자화기 스케일 코드를 래치2(508)에 출력하는 래치1(507); 역양자화기(505)의 양자화기 스케일 코드의 업그레이드 요구인 로드2 신호를 받아 상기 래치1에서 입력받은 양자화기 스케일 코드를 역양자화기에 입력하는 래치2(508)로 구성되어, 매크로블록이 바꿀 때 역양자화기의 양자화기 스케일 코드 업데이트 요구를 시간지연과 데이터 손실없이 대응 시킬 수 있으며, 매크로블록이 스킵될 때 적합치 않은 데이터가 역양자화기에 입력되지 않도록 할 수 있는 잇점이 있다.
Description
제1도는 MPEG 복호기의 복호과정을 도시한 블록도.
제2도는 제1도에서 가변장복호기에서 역양자화기까지의 상세 블록도.
제3도는 MPEG 신택스 상의 양자화 스케일 표.
제4도는 기존의 역양자화기와 양자화기 스케일 코드의 타이밍 장치를 도시한 블록도.
제5도는 본 발명에 따른 역양자화기 스케일 코드의 타이밍 장치를 도시한 블록도.
제6도는 양자화기 스케일 코드의 타이밍 관계를 도시한 타이밍도이다.
* 도면의 주요부분에 대한 부호의 설명
501 : 가변장복호기 503 : 런-길이 복호기
505 : 역양자화기 506 : FIFO2
507 : 래치1 508 : 래치2
본 발명은 MPEG의 복호기에 관한 것으로서, 특히 복호기의 역양자화기와 양자화기 스케일 코드의 최적 타이밍 장치에 관한 것이다.
일반적으로, MPEG은 최근에 있어서 동화상의 디지털화에 크게 각광을 받기 시작한 프로토콜로서 동화상의 디지털 저장, 공중망 통신을 이용한 동화상의 디지털 전송 및 HDTV와 같은 차세대 TV의 공중파 방송 혹은 위성방송을 위한 동화상의 디지털화에 많이 사용되리라 예상된다. 한 화면을 표시하기 위해서는 수 메가비트의 정보량을 요구하고 이를 다시 시간적으로 초당 수십개씩 처리해야 하는 동화상을 디지털화 하기 위해서는 이를 효과적으로 압축하여 저장하고 전송하여 이를 신장하여 검색하고 수신할 수 있어야 한다. 이를 위해서는 첫째, 저장이나 전송에 적합한 정보량으로 압축할 수 있어야 하고 둘째, 그 과정이 실제 도화상을 표현할 만큼 빨라야 하고 시간지연이 적어야 하며 셋째, 회복된 원래의 화상에 큰 왜곡이나 화질의 저하가 없어야 한다. 이를 위한 방법이 동화상의 시간적 경과 과정에서 나타나는 잉여분을 제거하기 위해 화면간 운동을 예측하고 보상하는 예측부호화, 한 화면 내의 화상의 공간적 잉여분을 제거하기 위해 화면의 시간적 분포를 공간주파수 분포로 변환해주는 변환부호화, 그리고 통계적 과정에서 나타나는 잉여분을 제거하기 위해 발생확률에 따라 정보량을 달리하는 엔트로피 부호화 방법이 그 저장이나 전송 전에 부호화 과정에 사용된다.
한편, 이렇게 부호화된 화상 데이터를 검색단이나 수신단에서 원래의 화상으로 복구하기 위해서는 복호화라는 과정이 필수적이다. 그 과정은 제1도에 도시된 바와 같이, 발생확률에 따라 그 길이가 다르게 부호화된 데이터를 원래의 고정길이 데이터로 복원하는 가변장 복호화(Variable Length Decoder, VLD)과정(501); 부호화 과정에서 8×8 행렬로 구성된 한 블록의 데이터를 지그재그로 주사하여 선형으로 바꾼 것을 다시 역주사하여 8×8 행렬로 복원해내는 역주사(Inverse Scan, IS)과정(504); 부호화 과정에서 데이터와 일정한 오차 범위 내에서 고정된 길이를 넘지 않도록 양자화된 데이터를 원래의 값으로 복구해내는 역양자화기(Inverse Quantizer, IQ)과정(505); 부호화 과정에서 8×8 행렬로 이루어진 한 블록 내의 시간적 화상 분포를 공간주파수 성분으로 변환하여 행렬의 선두요소에만 데이터가 집중하게 하여 데이터가 압축되어 있는 것을 역변환하여 원래의 시간적 분포로 재구성하는 역이산코사인변환(Inverse Discrete Cosine Transform, IDCT)과정(101); 부호화 과정에서는 많은 화면이 있는 그대로 전송되지 않고 그 움직임만 보상된 데이터로 압축되어 전송되는데, 복호화 과정에서는 이전 화면을 참조하여 원래의 화면으로 복구해주는 운동보상 과정(102)으로 구성되어 있다.
그런데, 제1도에서 가변장 복호기와 역양자화기 사이는 실제로는 더 자세히 살펴보면 제2도와 같은 몇가지 과정을 더 거쳐야 한다. 즉 가변장복호기(101)에서 나온 데이터는 FIFO버퍼(201)에 저장되었다가, 런-길이 복호화(Run-Length Decoder, RLD)과정(503)을 거쳐 역주사(504) 및 역양자화기(505)에 입력된다. 런-길이 복호기가 필요한 이유는, 부호화 과정에서 이산 코사인 변환되고 양자화된 데이터는 행렬의 선두요소에만 데이터가 몰려있고 행렬의 뒤에는 0값이 많고 후단에는 거의 대부분 0가 되는 성질을 이용하여 부호를 (0의 수, 0아닌 수의 값)형태로 부호화하여 0이 많이 나오는 영역의 데이터를 축약하고 후에 모두 0만 나오면 EOB(End of Block)메시지로 축약하는 런-길이 복호화 과정을 거치는데, 복호화 과정에서는 이를 원래의 데이터로 복원하는 것이 필요하기 때문이다. 가변장복호기와 런-길이 복호기 사이에 FIFO 버퍼가 필요한 이유는 가변장복호기의 출력과 런-길이 복호기의 출력이 일대일 대응하지도 않고 처리 시간도 0의 길이에 따라 일정치 않기 때문에 시간적으로 연속적으로 출력하는 가변장복호기의 출력을 잠시 저장했다가 런-길이 복호기가 처리 준비가 되면 출력하기 위해서이다.
그런데 런-길이 부호화를 거치는 부호 중에 화소 데이터(pel data)가 아닌 MPEG의 각종 신택스부호의 경우에 동일한 버퍼를 거치면 처리대기 시간에 따른 시간적 연속성이 깨질 우려가 있다. 특히 역양자화기에서 사용되는 양자화기 스케일 코드(quantizer-scale-code)의 경우가 그러하다. 양자화 스케일이란 양자화 과정에서 데이터의 크기에 관계없이 일정한 비트수를 유지하기 위한 스텝으로서, 제3도의 표에서 보이는 바와 같이 신택스 상의 양자화기 스케일 코드와 q 스케일 타입(q-scale-type)에 의해 결정되는 값이다. 이 양자화기 스케일 코드는 슬라이스(Slice)나 매크로블록(Macroblock) 신택스 상에 존재한다. 복호기가 제2도와 같이 구성되어 있다면, 역양자화기가 다음 매크로블록을 시작하게 될때 업데이트된 양자화기 스케일 코드를 받으려면 이전의 모든 데이터가 FIFO(201)와 런-길이 복호기(503)를 모두 거쳐 나올 때까지 기다려야 하기 때문에 양자화기 스케일 코드의 업데이트 요구에 대응하기가 어려워진다.
상기 문제를 해결하기 위해 기존에 제안된 방법이 제3도에서 도시하는 바와 같이 양자화기 스케일 코드를 저장하는 FIFO2(506)를 두는 방법이다. 런-길이 복호기가 화소 데이터를 읽어 나가듯이 역양자화기도 매크로블록 단위로 양자화기 스케일 코드를 읽어나가게 된다. 가변장복호기를 거친 양자화기 스케일 코드는 처리과정이 긴 FIFO1(502)를 거치지 않고 이와 독립적인 FIFO2(506)에 저장되었다가 역양자화기가 양자화기 스케일 코드의 업데이트 시키기를 원할 때 역양자화기가 독출신호를 내놓으면 FIFO2(506)에 있는 값이 역양자화기에 입력된다.
상기와 같은 구조도 한가지 문제점을 안고 있다. 만약 매크로 블록이 스킵될 때는 양자화기 스케일 코드는 불필요하기 때문에 가변장복호기로부터 FIFO2(506)에 어떠한 값도 입력되지 않는 반면, 역양자화기 입장에서는 현재 입력되는 화소데이터가 스킵되어야 할 데이터인지 알 수 없기 때문에 새로운 매크로블록이 시작되면 아무것도 저장되어 있지 않은 FIFO2의 데이터를 역양자화기에 입력하여 오류가 발생하게 된다.
이에 본 발명은 상기와 같은 종래의 문제점을 해소하기 위하여 안출된 것으로, MPEG 복호기의 역양자화기에 있어서 매크로블록이 바뀔 때 양자화기 스케일 코드의 정확한 타이밍이 가능하고 매크로블록이 스킵될때도 오류가 발생하지 않는 양자화스케일 코드의 최적 타이밍 장치를 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 장치는, 가변장 복호기로부터 양자화기 스케일 코드를 입력받아 잠시 저장하는 선입선출식 버퍼 메모리와, 상기 런-길이 복호기로부터의 독출요구 신호에 의해 버퍼 메모리의 양자화기 스케일 코드를 입력받고 이미 저장되어 있던 값은 다음 단의 래치에 출력하는 제1단래치 및 상기 제1단 래치로부터 입력받은 양자화 스케일 코드를 역양자화기의 업데이트 요구에 의해 역양자화기로 출력하는 제2단 래치로 구성되는 것을 특징으로 한다.
이하 첨부된 도면을 참조로 하여 본 발명을 상세하게 설명해 보기로 한다.
본 발명에 따른 MPEG 복호기의 양자화기 스케일 코드의 최적 타이밍 장치는 제5도에 도시하는 바와 같이, 가변장 복호기(501)에서 출력되는 양자화기 스케일 코드는 선입선출식으로 FIFO2(506)에 잠시 저장되어 있다가, 매크로블록의 스킵여부에 대한 정보를 갖고 있는 런-길이 복호기(503)에서 만약, 이 때의 매크로블록이 스킵되는 것이라면 독출요구=로드1 신호를 내보내지 않아 양자화 스케일 코드가 스킵되고, 스킵되는 것이 아니라면 독출신호=로드 1 신호를 내보내 양자화 스케일 코드가 래치1(507)에 입력되고 래치 1에 입력되어 있는 이전의 양자화기 스케일 코드는 래치2(508)로 출력하며, 상기 래치2(508)에 입력된 양자화기 스케일 코드는 역양자화기(505)의 업데이트 요구인 로드2 입력에 따라 양자화 스케일 코드가 역양자화기에 입력되는 것으로 구성되어 있다.
본 발명의 장치의 타이밍 관계를 제6도를 보면서 살펴보기로 한다.
가변장 복호기(501)로부터 출력되는 양자화기 스케일 코드는 일단 FIFO2(506)에 입력된다. 한편 런-길이 복호기(503)는 매크로블록이 스킵되는 것이 아니라면 FIFO2(506)와 래치1 (507)에 독출요구를 내놓게 된다. 독출요구 신호는 제5도(a)와 같이 매크로블록의 요구에 따라 펄스 신호를 내놓는다. 독출요구를 받은 FIFO2는 저장되어 있는 양자화기 스케일 코드를 래치1에 출력한다(b).이후 FIFO2는 비어 있다가 가변장 복호기로부터 새로운 양자화기 스케일 코드를 입력받는다. 만약 매크로 블록이 스킵되는 것이라면 런-길이 복호기에서 독출신호를 내놓지 않기 때문에 아무것도 저장되어 있지 않은 FIFO2의 값이 그 다음 단으로 출력할 염려가 없어진다. 그리고, 래치1은 런-길이 복호기의 독출신호와 동일한 로드 1 신호를 받아 FIFO2에서 입력받은 양자화기 스케일 코드를 래치2(508)로 출력한다. 따라서 래치1 출력은 FIFO2의 출력보다 한 펄스만큼 늦어진다(c).
한편, 역양자화기(505)가 양자화기 스케일 코드를 업그레이드해야 할 때 래치2(508)는 즉시 저장되어 있는 역양자화기 스케일 코드를 역양자화기에 보내게 된다. 로드2의 펄스는 해당 래치 2 입력값이 래치2에 머물고 있을 때 나와야 한다(c). 그러면 역양자화기 스케일 코드도 해당 매크로블록에 해당하는 값이 역양자화기에 입력되게 된다(d). 여기에서 런-길이 복호기의 독출요구로부터 역양자화기 스케일 코드가 역양자화기에 입력되는 사이에 약간의 시간지연이 발생할 수 있는데, 이는 화소 데이터가 런-길이 복호기(503)과 역주사(504) 및 역양자화기(505) 과정을 거치면서 상기의 시간지연보다 더 큰 지연이 발생하기 때문에 큰 문제가 발생하지 않는다.
이상에서 살펴 본 바와 같이 본 발명에 따라 MPEG의 복호기에 있어서, 역양자화기에 역양자화기 스케일 코드의 업그레이드가 요구될 때 즉시 대응할 수 있고 해당 매크로 블록이 스킵될 때는 적합치 않은 데이터가 입력되지 않는 효과가 있다.
Claims (1)
- MPEG 복호기의 역양자화기와 양자화기 스케일 코드의 타이밍 장치에 있어서, 가변장복호기(501)에서 출력하는 양자화기 스케일 코드를 잠시 저장하였다가 런-길이 복호기(503)의 독출요구에 의해 래치1(507)에 출력하는 선입선출식 버퍼 FIFO2(506); 상기 런-길이 복호기의 독출요구 신호와 동일신호인 로드1 신호를 받아 상기 FIFO2로부터 입력받은 양자화기 스케일 코드를 래치2(508)에 출력하는 래치1(507); 역양자화기(505)의 로드2 신호에 따라 상기 래치1으로부터 입력받은 양자화기 스케일 코드를 역양자화기에 출력하는 래치2(508)로 구성되어 것을 특징으로 하는 역양자화기 스케일 코드의 타이밍 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950069161A KR100195727B1 (ko) | 1995-12-30 | 1995-12-30 | Mpeg 복호기에서 양자화기 스케일 코드의 최적 타이밍 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950069161A KR100195727B1 (ko) | 1995-12-30 | 1995-12-30 | Mpeg 복호기에서 양자화기 스케일 코드의 최적 타이밍 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970057996A KR970057996A (ko) | 1997-07-31 |
KR100195727B1 true KR100195727B1 (ko) | 1999-06-15 |
Family
ID=19448321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950069161A KR100195727B1 (ko) | 1995-12-30 | 1995-12-30 | Mpeg 복호기에서 양자화기 스케일 코드의 최적 타이밍 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100195727B1 (ko) |
-
1995
- 1995-12-30 KR KR1019950069161A patent/KR100195727B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR970057996A (ko) | 1997-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10666948B2 (en) | Method, apparatus and system for encoding and decoding video data | |
KR100566826B1 (ko) | 압축된 영상 표시 픽셀 데이터 블록의 데이터 스트림을 처리하기 위한 시스템 | |
KR100253931B1 (ko) | 디지탈 영상 시퀀스의 디코딩 방법 및 장치 | |
KR0129558B1 (ko) | 적응적 가변길이 부호화 방법 및 장치 | |
US7796690B2 (en) | Video-information encoding method and video-information decoding method | |
EP0519962B1 (en) | Digital image coding using a random scanning of image frames | |
US6222886B1 (en) | Compression based reduced memory video decoder | |
WO1998027734A1 (en) | Efficient fixed-length block compression and decompression | |
US6668015B1 (en) | Efficient fixed-length block compression and decompression | |
US6011498A (en) | Dual-speed variable length decoding architecture for MPEG-2 video data | |
JP3153404B2 (ja) | ディジタルビデオ・ビットストリームコーダ | |
EP0597439B1 (en) | Variable-length data alignment apparatus for digital video data | |
EP1083752A1 (en) | Video decoder with reduced memory | |
KR100249235B1 (ko) | 에이치디티브이 비디오 디코더 | |
KR100195727B1 (ko) | Mpeg 복호기에서 양자화기 스케일 코드의 최적 타이밍 장치 | |
EP0967798A2 (en) | Video reproducing apparatus and reproducing method | |
KR100221310B1 (ko) | 줄길이 부호기의 전송신호 생성장치 | |
KR0162202B1 (ko) | 가변길이복호화방법 및 그 장치 | |
KR100243008B1 (ko) | 엠펙(mpeg) 인코더 및 디코더 | |
KR0162200B1 (ko) | 오버헤드데이타삽입기능을 구비한 영상데이타압축장치 | |
KR100251310B1 (ko) | 줄길이 부호기의 전송신호 발생장치 | |
KR19990061570A (ko) | 정지 영상 압축 장치 및 그 방법 | |
KR980013419A (ko) | 영상 처리 시스템의 엔코더 및 디코더 | |
JPH08205143A (ja) | 並列復号化装置 | |
MXPA99005603A (es) | Compresion y descompresion eficiente de bloques de longitud fija |
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: 20110201 Year of fee payment: 13 |
|
LAPS | Lapse due to unpaid annual fee |