KR100221196B1 - 영상신호의 압축 및 복원을 위한 가변 길이부호화기 - Google Patents

영상신호의 압축 및 복원을 위한 가변 길이부호화기 Download PDF

Info

Publication number
KR100221196B1
KR100221196B1 KR1019970012219A KR19970012219A KR100221196B1 KR 100221196 B1 KR100221196 B1 KR 100221196B1 KR 1019970012219 A KR1019970012219 A KR 1019970012219A KR 19970012219 A KR19970012219 A KR 19970012219A KR 100221196 B1 KR100221196 B1 KR 100221196B1
Authority
KR
South Korea
Prior art keywords
coder
value
block
controller
data
Prior art date
Application number
KR1019970012219A
Other languages
English (en)
Other versions
KR19980075856A (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 이준우
Priority to KR1019970012219A priority Critical patent/KR100221196B1/ko
Publication of KR19980075856A publication Critical patent/KR19980075856A/ko
Application granted granted Critical
Publication of KR100221196B1 publication Critical patent/KR100221196B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

본 발명은 영상신호의 압축 및 복원을 위한 가변 길이 부호화기에 관한 것으로, 콘트롤러로부터 동기신호를 입력받는 헤더 코더에서는 그에 해당하는 하위 프로세서를 선택하여 작동시키고, 상기 콘트롤러로부터 매크로 블록을 전달받는 DC 코더에서는 인트라 매크로 블록일 때 첫 번째 픽셀 값에 대한 코딩을 수행하여 이전 블록의 CD 값과 현재 블록의 CD 값의 차를 발생시키고, 상기 양자화기로부터 선입선출 메모리를 거쳐 입력 데이터를 전달받는 런 코더에서는 가변 길이의 값을 출력하도록 하고, 상기 콘트롤러의 제어를 받는 멀티플렉서에서는 헤더 코더와 DC 코더 및 런 코더로 부터의 입력중 하나를 선택하여 출력하도록 하고, 상기 멀티플렉서로부터 해당 코더에 대한 어드레스와 전송값을 입력받는 VLD 제너레이터 코드에서는 이를 판별하여 EPROM을 어드레싱하여 출력하 데이터를 취하거나 코더에서 전송된 값을 출력하도록 하고, 상기 VLC 제너레이터 코드로부터 압축된 데이터를 전달받는 파커에서는 압축된 데이터를 32 비트 단위로 잘라 출력하도록 함으로써 간단한 구성의 가변 길이 부호화기를 구현하면서 간단한 알고리즘에 의해 동작이 원활히 수행되도록 하여 여러 종류의 동영상신호의 압축 및 복원을 위한 장치에 간단하게 적용할 수 있도록 한 것이다.

Description

영상신호의 압축 및 복원을 위한 가변 길이 부호화기
본 발명은 영상신호의 압축 및 복원을 위한 가변 길이 부호화기에 관한 것으로, 간단한 구성의 가변 길이 부호화기를 구현하면서 간단한 알고리즘에 의해 동작이 원활히 수행되도록 하여 여러 종류의 동영상신호의 압축 및 복원을 위한 장치에 간단하게 적용할 수 있도록 한 영상신호의 압축 및 복원을 위한 가변 길이 부호화기에 관한 것이다.
일반적으로 영상신호의 압축 및 복원을 위한 MPEG의 엔코더와 디코더에 의해 이산 코사인 변환기와 양자화기를 거쳐 나온 데이터를 허프만 코딩(Huffman Coding)을 이용하여 MPEG의 규격에 따라 묶어줌으로서 실시간으로 동영상의 압축이 가능하게 한다는 것은 이미 잘 알려진 사실이다.
그리고 가변 길이 부호화(Variable Length Coding)의 방식을 이용하게 되면 비트 스트림(bit stream)으로 구성되는 수많은 화상 데이터, 음성 데이터, 디지털 데이터 등을 큰 압축 비율로 압축할 수 있게 되므로 더 적은 메모리를 차지하고, 보다 빠른 데이터의 전송이 가능하게 된다.
그리고 종래에는 가변 길이 부호화를 위한 별도의 장치가 없이 소프트웨어에 의한 신호처리로 그 기능을 수행하도록 하였다.
즉, 시퀀스 층(SEQUENCE LAYER)의 선두에 붙는 시퀀스 헤어(Sequence Header)는 화면 포맷 등을 지정하는데, 비트열 도중에서 부터의 재생을 가능케 하기 위해 GOP의 선두에 붙을 수도 있지만 그림중에 붙을 수도 있으며 그러한 시퀀스 헤더는 양자화 매트릭스의 변경만을 허용한다.
여기서 양자화 매트릭스의 변경하지 않는 경우에는 매크로 블록을 규정치(디폴트)로 되돌리는 것을 의미한다.
시퀀스 개시 코드 이후에는 화면의 수평크기(12 비트), 수직크기(12 비트), 화소의 종횡비(4 비트), 픽처율(4 비트), 비트율(18 비트), VBV(Video Buffering Verifier) 버퍼크기(10비트), 제한 파라미터 플래그(1비트), 두 개의 양자화 매트릭스으 로드(load) 플래그(각 1 비트)와 그 내용(각 64 개의 0 이 아닌 8 비트 값으로, 지그재그 순서)등의 내용이 이어진다.
GOP층은 개시 코드 후에 타이모드(Time Codel (25비트), 폐쇄 GOP 플래그(Closed GOPI(1비트), 깨진 링크(Brocken link) 플래그(1비트) 등의 내용이 이어진다.
픽쳐 층은 기능적으로 서로 다른 네 종류의 타입을 가지는 것으로, D픽처는 빨리보내기, 빨리뒤로보내기 등에 쓰이는 DC 성분 만을 갖는 화면이고, 복호기의 필수 요건이지만, 특별한 시퀀스로서 취급되고 통상의 I, P, B 픽처로 구성되는 화면과는 다른 시퀀스이다. 개시 코드 후에, GOP중의 화면순서를 나타내는 시간적 리퍼런스(Temporal Reference)(10비트), 픽처 타입(3비트), 부호기나 복호기의 가상입력 버퍼의 저장량을 90 kHz 클럭의 시간으로 표시하는 VBV 지연(16비트), 움직임 벡터가 정수 단위 인지를 나타내는 플래그, 움직임 백터의 프레임 간격(foode)의 내용이 이어진다. 그 외에 시퀀스 헤더나 같은 확장 비트나 사용자 데이터를 부가할 수 있다.
슬라이스층은 개시 코드를 갖는 일련의 데이터 열중의 최소단위로 임의의 길이의(16화소 폭) 매크로 블록(MB)의 띠이며 여러 픽처에 걸쳐 있을 수는 없다. 최초와 최후의 MB는 스킵할 수 없게 되어 있고 한 개의 MB만으로 구성된 슬라이스 경우 그 MB는 스킵할 수 없다. 그리고 슬라이스 간의 오버랩이나 스킵은 허용되지 않으며 슬라이스의 수직 위치는 슬라이스 개시 코드 자체에 포함되고 슬라이스의 선두 MB의 수평위치는 MB층의 MBA를 써서 나타낸다. 슬라이스의 수직위치를 포함한 개시 코드 다음에는 양자화 스케일 값(5비트)이 오고 부가정보(Extra Information)를 부가할수 있다. 슬라이스 선두에서는 인트라 DC 예측치를 128로 하고 MV(움직임 백터)의 예측지를 0으로 한다.
매크로블록(MB)층은 임의의 개수의 매크로 블록 스터핑(부호 발생량이 적을 때 삽입하는 더미 코드), 매크로 블록 Escape, MBA, MB 타입의 내용이 차례로 이어진다. 또, MB 타입의 값에 의해 양자화 스케일치(5비트), 필요한 수만큼의 움직임 벡터치, 인트라 이외의 MB에서는 CBP 및 CBP에서 지시된 개수의 블록층이 계속된다. 인트라 MB에서는 CBP가 없고 6개의 블록층이 계속된다.
매크로블록 어드레스(MBA)는 H.261과 동일하게, 다음 절의 MB타입에 들어가지 않는 MB(Skipped MB)로서 정보를 아무 것도 보낼 필요가 없는 MB를 스킵하기 위한 가변길이부호화가 준비되어 있다. MBA의 VLC는 H.261과 거의 같고, 매크로 블록 에스케이프(Escape)라는 부호어(33의 MBAI를 의미하고, 이것을 임의의 횟수만큼 되풀이하도록 허용함으로써, 33 이상의 길이의 스킵에 사용하는 것)를 확장하고 있으며, MBA로 스킵되는 MB 타입은 P 픽처에서는 단순 프레임간 예측으로 부호화 불필요(DCT 계수의 코드를 갖지 않는) MB 타입이고, B 픽처에서는 하나 전의 MB와 비교하여 예측 방향(순, 역, 내삽)과 움직임 벡터가 모두 같은 부호화 불필요의 MB이며, I 픽처에는 스킵되는 MB가 없다.
매크로블록타입(MBTYPE)은 MB에 타입을 준비하여 처리방법을 분류한 VLC가 I.P.B 픽처에 따라 나뉘어져 있으며, I 픽처에서는 인트라(화면내 예측 부호화)와 인트라 + Q (Q는 MQUANT가 부가되어 양자화 스텝을 갱신한다는 의미)의 두 종류이다. P 픽처에서는 MC 부호화 필요(MC Coded), 비MC 부호화 필요, MC부호화 불필요, 인트라, MC 부호화필요+Q, 비 MC 부호화필요+Q, 인트라+Q등 일곱 종류이다. 여기서 MC는 모두 순방향 예측이다. B 픽처에서는 두 종류의 인트라와 세종류의 예측방향(순, 역, 내삽)에 각각 부호화 불필요, 부호화 필요+Q가 있기 때문에, 2 + 3 × 3 = 11 종류가 된다. 비 MC 타입은 없고 단순 프레임간 예측에는 움직임 벡터(0,0)를 사용한다. MB 타입의 뒤에 이어지는 신택스는 세가지의 영상 타입에 공통이고, +Q 타입에서는 5 비트의 MQUANT(1,31)가 계속되는데, 순방향 MC 또는 역방향 MC가 있을 때는 후술될 움직임 벡터의 차분 VLC가 두 개 또는 네 개 이어진다. 움직임 벡터는 X 성분의 VLC와 Y 성분의 VLC를 순차적으로 늘어놓는다. 비 MC에서는 움직임 벡터를 생략하고 단순 프레임간 예측을 시행한다. 또 MQUANT는 갱신되지 않는 한, 후속되는 MB에 대해서 슬라이스의 마지막에 이르기까지 같은 값으로 유지된다. 부호화 필요는 DCT계수를 갖지 않음을 의미한다. 부호화 필요에서도 6개의 블록에 모두 DCT 계수가 있는 것은 아니기 때문에 후술될 MB 패턴(CBP; Coded Block Pattern)이 마련되어 있다. 인트라에서는 6개의 블록이 모두 부호화 필요이기 때문에 CBP는 붙지 않는다.
움직임 벡터의 차분부호화는 MC 타입에서 움직임 벡터(MV)의 차분(해당 MB과 하나 전의 MB의 움직임 벡터의 차)을 부호화하고, 슬라이스가 한 행을 넘을 경우에도 화면의 우단에서 한 행 밑의 좌단으로 움직임 벡터의 예측이 이어진다.
B픽처에서는 두 개의 움직임 벡터가 있을 수도 있다.
P픽처에서 예측의 리셋(Reset)은 슬라이스의 선두나 인트라 비 MC에서 이루어지는데, 이때의 MC타입의 움직임 벡터 부호화는 차분을 쓰지 않고 그대로의 값이 이용된다.
B픽처에서 예측의 리셋은 슬라이스의 선두와 인트라일 때문이다. 즉 좌측의 MB에서 같은 방향의 예측이 사용되지 않는 경우에도 움직임 벡터의 예측치는 연속된다.
가령, MB가 순방향 MC, 역방향 MC, 내삽적 MC로 차례로 이어질 때, 두 번째의 MB에서는 순방향의 예측이 사용되지 않았음에도 불구하고 세 번째의 MB에서는 순, 역방향 모두 차분치를 사용한다. 이때 순방향의 움직임 벡터는 첫 번째의 움직임 벡터에 가산해서 재현되는 것이다. 다음은 움직임 벡터 차분치의 부호화 표현인데, VLC 표현치(V)가 0 이외의 값일 때 그 뒤에 나머지 비트(r)를 (f 코드 -1) 비트만큼 붙여 움직임 벡터의 차분 표현 범위를 확대한다. 움직임의 차분의 재현은 다음 식에 부호를 붙인 것이다.
Figure kpo00002
차분의 표현범위와 절대치의 표현범위가 같으므로 차분 가산 후 최대치(16 x 프레임간격 -1)나 최소치(-16 x 프레임 간격)를 넘을 경우 32 x 프레임 간격을 가/감산한다.
부호화 블록 패턴은 인트라 이외의 부호화 타입은 H.261과 같이 6개의 블록중 어느 블록이 DCT 계수를 가지는 지를 테이블에 의한 VLC를 써서 표시하고, CBP 값에 의해 블록층 [DCT계수의 VLC로서 EOB(End of Block)가 나올때까지의 나열]은 1개부터 6개까지 변동한다.
블록층은 필요한 DCT 계수를 포함하고 EOB로 종료되며 계수의 VLC가 64개 있을 때도 EOB를 부가한다.
인트라 DC는 특별취급되어 독자적인 VLC를 사용한다. 그 외의 것은 통상의 이차원 VLC에 의해 표현된다. CBP에 의해 그냥 뛰어넘은 블록은 블록층 자체가 없기 때문에 스킵되지만, 블록층이 존재하는 비인트라 블록의 최초의 계수에서 VLC 표현으로 런 =0, 레벨 =1(DC계수)은 발생 확률이 높기 때문에 EOB와 중복된 부호를 허용한다.
즉, 블록의 최초의 계수에 EOB가 나타나는 일은 없음을 이용하여, 런 =0, 레벨 =1의 DC계수에 짧은 부호를 이용할 수 있어 부호화 효율이 향상된다.
DC(직류) 예측은 인트라의 DC 계수[DCT계수의 (0,0) 성분 (8 x 8화소 블록의 좌상우의 값]은 MB 내의 네 개의 휘도신호 블록에서는 순차적으로 주사하여 차분치를 취하고, 색차신호는 Cb, Cr을 각각 따로 차분치를 취하여 그 "사이즈"를 VLC(휘도와 색차에 대해 각기 다른 VLC을 사용함)로 표시하며, 그 "사이즈"에 표시되는 실제의 값이 바로 이어진다.
인트라 매크로 블록이 연속되는 경우 차분이 연속됨으로써 효율이 향상되는데, 이 방식을 "DC 예측"이라고 한다. Y, Cb, Cr의 세가지의 DC 예측치는 슬라이스 선두나 비인트라 매크로 블록에서는 128로 리셋된다.
이차원 VLC에 의한 DCT계수의 부호화는 DCT 계수의 양자화후 0이 아닌 계수를 효과적으로 부호화하기 위해 좌상으로부터 지그재그로 주사해서 일렬로 배열한다. 인트라에서 첫 번째의 DC 계수는 따로 취급되기 때문에 두 번째 부터 주사하고 비인트라에서는 첫 번째 부터 주사한다. 지그재그 순에 의해 나열된 양자화 후의 DCT 계수는 선행하는 0계수의 개수(Run)와 0아닌 계수의 값(Level)을 조합해서 이차원 가변 길이 부호화하는데, 이것을 (런, 레벨)의 "이차원 VLC"라고 부른다. 즉(런,레벨)의 한 쌍의 데이터에 VLC를 할당하는 것이다. 0아닌 계수의 마지막을 표시하는 부호가 EOB (2비트)인데, 계수가 64개 있을 경우에도 EOB가 붙는다. (런,레벨)의 짝에 대해, 발생빈도가 높은 113개의 VLC가 마련되어 있는데, 마련되어 있지 않은 (런,레벨)의 짝에 대해서는 VLC 테이블 가운데 에스케이프를 먼저 사용하고 이어서(런, 레벨)이 나오는 FLC(Fixed Length Code ; 고정 길이 부호)로 표시한다.
레벨의 절대치가 127까지 20비트의 형식(Escape(6비트) + 런(6비트) + 레벨(8비트)이고, 128에서 255까지는 28비트의 형식(Escape(6) + 런(6) + 레벨(16비트)이다.
레벨은 -255에서 255로 제한되어 있기 때문에, 복호기에 그 발생가능성은 극히 작지만 이 범위를 넘는 레벨값이 필요할때는 MQUANT를 큰 값으로 수정해서 오우버플로우(overflow)를 방지할 필요가 있다.
상기와 같은 종래의 영상신호의 압축 및 복원을 위한 가변 길이 부호화 방법에 의하여서는 가변 길이 부호화를 처리하기 위한 별도의 장치가 구현되어 있지 않으므로 영상신호의 압축 및 복원을 위한 여러 종류의 장치에 적용할 때 마다 새로운 소프트웨어를 구성해야 하는 번거로움이 있음은 물론, 동작의 속도와 처리 능력에 제한이 있게 되는 등의 문제점이 있었다.
이에 따라 본 발명은 간단한 구성의 가변 길이 부호화기를 구현하면서 간단한 알고리즘에 의해 동작이 원활히 수행되도록 하여 여러 종류의 동영상신호의 압축 및 복원을 위한 장치에 간단하게 적용할 수 있도록 한 영상신호의 압축 및 복원을 위한 가변 길이 부호화기를 제공하는 것을 그 목적으로 하는 것으로 본 발명을 첨부 도면에 의하여 상세히 기술하면 다음과 같다.
제1도는 본 발명의 전체적인 구성을 나타낸 블럭도.
제2도는 본 발명의 가변 길이 부호화기의 상세한 구성을 나타낸 블럭도.
제1도는 본발명의 전체적인 구성을 개략적으로 도시한 것으로, 각종 계층들의 동작의 개시를 위한 동기 신호를 발생시키는 콘트롤러(1)와, 도면에 도시않은 이산 코사인 변환기에서 양자화기(2)를 거친 데이터가 지그재그 스캐닝(Zigzag scanning)을 수행하여 9 비트의 사인 비트(sign bit)가 입력될 때 입력 블록이 인트라(Intra) 블록 또는 인터(Inter) 블록인지를 결정하는 신호를 출력하는 인터/인트라 판별부(3)와, 양자화기(2)를 거친 데이터가 지그재그 스캐닝을 수행하여 9 비트의 사인 비트가 입력될 때 움직임 보상의 여부에 따른 신호를 출력하는 움직임 보상부(4)와, 상기 인터/인트라 판별부(3)로 부터 인트라 블록 또는 인터 블록인가에 따른 신호와 상기 움직임 보상부(4)로 부터 움직임 보상의 여부에 따른 신호를 입력받으면 입력된 데이터를 허프만 코딩을 이용하여 압축한 후 VBV(Video Buffering Verifier) 선입선출 메모리(fifo mem ory)(6)로 32 비트의 비트 스트림을 출력하는 가변 길이 부호화기(5)들로 구성한 것이다.
제2도는 상기 가변 길이 부호화기의 상세한 구성을 도시한 것으로, 작동 클럭을 사용하여 각 하위 프로세서들과 신택스(Syntax)들이 적당한 시간에 코딩할수 있는 동기 신호와 멀티 플렉서 선택신호를 생성하는 콘트롤러(1)에서는 양자화기(2)로 부터 지그재그 스캐닝된 이산 코사인 변환기 계수들의 값을 이용하여 매크로 블록에 대한 코드 블록 패턴을 출력하는 동시에 매크로 블록 동기신호를 이용하여 슬라이스 동기신호를 생성하면서 각 계층들의 개시를 위한 동기 신호 등을 출력하도록 하고, 상기 콘트롤러(1)로 부터 SEQ, GOP, Picture, Slice, MB 계층들에 대한 동기신호를 입력받는 헤더 코더(11)에서는 그에 해당하는 하위 프로세서를 선택하여 작동시킨다.
즉, SEQ 계층에서는 총 작동 클록의 77 사이클로 코딩을 한다.
다음은 각 클록에서 코딩하는 각각의 서브 세트를 나타낸 것이다.
Figure kpo00003
SEQ 계층에서는 각각의 서브세트에 관련된 롬 어드레스를 Gen_code로 출력한다.
여기서 R_Wmode 000은 Gen_code에서 롬 값을 읽어 사용하라는 것이다.
GOP 계층에서는 총 작동 클록의 9 사이클로 코딩을 한다.
다음은 각 클록에서 코딩하는 각각의 서브 세트를 나타낸 것이다.
Figure kpo00004
상기의 GOP 계층에서는 각각의 서브 세트에 관련된 롬 어드레스를 Gen_code로 출력한다.
피처 계층에서는 총 작동 사이클의 9 사이클로 코딩을 한다.
다음은 각 클록에서 코딩하는 각각의 서브 세트를 나타낸 것이다.
Figure kpo00005
상기의 피처 계층에서는 각각의 서브 세트에 관련된 롬 어드레스를 Gen_code로 출력한다. R_WMODE가 전송된 데이터를 가지고 Gen_coder에서 이용한다.
슬라이스 계층에서는 총 작동 사이클의 4 사이클로 코딩을 한다.
다음은 각 클록에서 코딩하는 각각의 서브 세트를 나타낸 것이다.
Figure kpo00006
상기의 슬라이스 계층에서는 각각의 서브 세트에 관련된 롬 어드레스를 Gen_coder로 출력한다.
매크로 블록 계층에서는 총 작동 사이클의 7 사이클로 코딩을 한다.
다음은 각 클록에서 코딩하는 각각의 서브 세트를 나타낸 것이다.
Figure kpo00007
상기 매크로 블록 계층에서는 각각의 서브 세트에 관련된 롬 어드레스를 Gen_code로 출력한다. MBA는 움직임 보상이 없는 경우와 계수가 모두 0(code block pattern 값이 0) 또 슬라이스의 첫 번째 매크로 블록이 아니고 슬라이스의 마지막 매크로 블록이 아니면 해당 매크로 블록은 이전 데이터에 비해 전혀 변함이 없는 영상을 의미하므로 이 매크로 블록은 스킵되어 MB 계층 이하의 어떤 값도 코딩하지 않는다.
또한 인트라 프레임인 경우 MBA는 항상 1이다.
MB 타입은 인트라 프레임의 경우 두가지(인트라, 인트라 + 변경 양자화 레벨)이고, 인터 프레임의 경우 총 일곱가지인데 그것을 결정하는 인자는 네가지(움직임 보상 플래그, 인트라/비인트라, 움직임 양자화 레벨, 코드 블록 패턴)이다.
롬에 위의 아홉가지에 VLC 값을 적재하여 네 가지 인수를 디코딩하여 어드레싱하는 방법이다.
변경 양자화 부터 CBP 까지의 코딩 값들을 롬에 적재해 놓고 해당 플래그(움직임 보상 플래그, 인트라/비인트라, 변경 양자화 레벨, 코드 블록 패턴)들이 유효할 때만 코딩하여 어드레스를 발생시키는 것이다.
상기 콘트롤러(1)로 부터 매크로 블록을 전달받는 DC 코더(12)에서는 이 인트라 매크로 블록일 때 블록 계층의 코딩시 첫 번째 픽셀 값에 대한 코딩을 수행하여 이전 블록의 DC 값과 현재 블록의 DC 값의 차를 발생시킨다.
여기서 입력된 DC와 이전 DC와의 차를 구하는데 만약 이전 매크로 블록이 비인트라 매크로 블록이거나 슬라이스 계층 이후의 첫 번째 매크로 블록인 경우 이전 DC 대신에 128을 넣어 차를 구한다.
구한 값은 값을 저장하는 8비트 레지스터와 길이를 저장하는 6비트 레지스터에 보관된다.
코딩 방법은 DC차의 길이를 먼저 하고 DC차의 값을 나중에 하는데 1 클록에 사용하기 위해 길이는 롬에 보관된 코드를 이용하기 위해 어드레스를 출력하고 값은 전송된다.
상기 양자화기(2)로 부터 선입선출 메모리(13)를 거쳐 입력 데이타를 전달받는 런 코더(14)에서는 상기 콘트롤러(1)로 부터 제어신호를 입력받는 가변 길이의 값을 출력하도록 한다.
상기 콘트롤러(1)의 제어를 받는 멀티플렉서(15)에서는 헤더 코더(11)와 DC 코더(12) 및 런 코더(14)로 부터의 입력중 하나를 선택하여 출력한다.
상기 멀티플렉서(15)로 부터 헤더 코더(11)와 DC 코더(12) 및 런 코더(14)로 부터 해당 코더에 대한 어드레스와 전송값을 입력받는 VLC 제너레이터 코드(16)에서는 이를 판별하여 EPROM(17)을 어드레싱하여 출력 데이터를 취하거나 코더에서 전송된 값을 출력한다.
상기 VLC 제너레이터 코드(16)로 부터 허프만 코딩에 의해 압축된 데이터를 전달받는 파커(Packer)(18)에서는 압축된 데이터를 32 비트 단위로 잘라 출력한다.
즉, 두 개의 32 비트 레지스터와 6 비트 카운터, 시프트 레지스터들로 이루어져 데이터가 입력되면 시프트 레지스터를 통해 32 비트 레지스터에 시프트하고 그 길이를 카운트한다. 카운트 값이 32를 넘으면 다른 하나의 32 비트 레지스터에 계속 연결하여 데이터를 입력하고 현재 사용하는 32 비트 레지스터를 출력단에 연결하여 출력하고 연결된 32 비트 레지스터에 입력된 데이터를 첫 번째 레지스터에 시프트하는 과정에 의해 동작한다.
따라서 본 발명의 영상신호의 압축 및 복원을 위한 가변 길이 부호화기에 의하여서는 작동 클럭을 사용하여 동기 신호와 멀티 플렉서 선택신호를 생성하는 콘트롤러에서는 지그재그 스캐닝된 이산 코사인 변환기 계수들의 값을 이용하여 매크로 블록에 대한 코드 블록 패턴을 출력하면서 동기신호를 출력하도록 하고, 상기 콘트롤러로 부터 SEQ, GOP, Picture, Slice, MB 계층들에 대한 동기신호를 입력받는 헤더 코더에서는 그에 해당하는 하위 프로세서를 선택하여 작동시키고, 상기 콘트롤러로 부터 매크로 블록을 전달받는 DC 코더에서는 이 인트라 매크로 블록일 때 블록 계층의 코딩시 첫 번째 픽셀 값에 대한 코딩을 수행하여 이전 블록의 DC 값과 현재 블록의 DC 값의 차를 발생시키고, 상기 양자화기로 부터 선입선출 메모리를 거쳐 입력 데이타를 전달받는 런 코더에서는 상기 콘트롤러로 부터 제어신호를 입력받는 가변 길이의 값을 출력하도록 하고, 상기 콘트롤러의 제어를 받는 멀티플렉서에서는 헤더 코더와 DC 코더 및 런 코더로 부터의 입력중 하나를 선택하여 출력하도록 하고, 상기 멀티플렉서로 부터 헤더 코더와 DC 코더 및 런 코더로 부터 해당 코더에 대한 어드레스와 전송값을 입력받는 VLC 제너레이터 코드에서는 이를 판별하여 EPROM을 어드레싱하여 출력 데이터를 취하거나 코더에서 전송된 값을 출력하도록 하고, 상기 VLC 제너레이터 코드로 부터 허프만 코딩에 의해 압축된 데이터를 전달받는 파커에서는 압축된 데이터를 32 비트 단위로 잘라 출력하도록 함으로써 간단한 구성의 가변 길이 부호화기를 구현하면서 간단한 알고리즘에 의해 동작이 원활히 수행되도록 하여 여러 종류의 동영상신호의 압축 및 복원을 위한 장치에 간단하게 적용할 수 있도록 한 것이다.

Claims (2)

  1. 작동 클럭을 사용하여 동기 신호와 멀티 플렉서 선택신호를 생성하는 콘트롤러(1)에서는 지그재그 스캐닝된 이산 코사인 변환기 계수들의 값을 이용하여 매크로 블록에 대한 코드 블록 패턴을 출력하면서 동기신호를 출력하도록 하고, 상기 콘트롤러(1)로 부터 SEQ, GOP, Picture, Slice, MB 계층들에 대한 동기신호를 입력받는 헤더 코더(11)에서는 그에 해당하는 하위 프로세서를 선택하여 작동시키고, 상기 콘트롤러(1)로 부터 매크로 블록을 전달받는 DC 코더(12)에서는 이 인트라 매크로 블록일 때 블록 계층의 코딩시 첫 번째 픽셀 값에 대한 코딩을 수행하여 이전 블록의 DC 값과 현재 블록의 DC 값의 차를 발생시키고, 상기 양자화기(2)로 부터 선입선출 메모리(13)를 거쳐 입력 데이타를 전달받는 런 코더(14)에서는 상기 콘트롤러(1)로 부터 제어신호를 입력받는 가변 길이의 값을 출력하도록 하고, 상기 콘트롤러(1)의 제어를 받는 멀티플렉서(15)에서는 헤더 코더(11)와 DC 코더(12) 및 런 코더(14)로 부터의 입력중 하나를 선택하여 출력하도록 하고, 상기 멀티플렉서(15)로 부터 헤더 코더(11)와 DC 코더(12) 및 런 코더(14)로 부터 해당 코더에 대한 어드레스와 전송값을 입력받는 VLC 제너레이터 코드(16)에서는 이를 판별하여 EPROM(17)을 어드레싱하여 출력 데이터를 취하거나 코더에서 전송된 값을 출력하도록 하고, 상기 VLC 제너레이터 코드(16)로 부터 허프만 코딩에 의해 압축된 데이터를 전달받는 파커(Packer)(18)에서는 압축된 데이터를 32 비트 단위로 잘라 출력하도록 구성하여서 됨을 특징으로 하는 영상신호의 압축 및 복원을 위한 가변 길이 부호화기.
  2. 제1항에 있어서, DC 코더는 입력된 DC와 이전 DC와의 차를 구하는 중에 이전 매크로 블록이 비인트라 매크로 블록이거나 슬라이스 계층 이후의 첫 번째 매크로 블록인 경우 이전 DC 대신에 128을 넣어 차를 구하는 한편, 구한 값은 값을 저장하는 8비트 레지스터와 길이를 저장하는 6비트 레지스터에 각각 보관하도록 한 영상신호의 압축 및 복원을 위한 가변 길이 부호화기.
KR1019970012219A 1997-04-02 1997-04-02 영상신호의 압축 및 복원을 위한 가변 길이부호화기 KR100221196B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970012219A KR100221196B1 (ko) 1997-04-02 1997-04-02 영상신호의 압축 및 복원을 위한 가변 길이부호화기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970012219A KR100221196B1 (ko) 1997-04-02 1997-04-02 영상신호의 압축 및 복원을 위한 가변 길이부호화기

Publications (2)

Publication Number Publication Date
KR19980075856A KR19980075856A (ko) 1998-11-16
KR100221196B1 true KR100221196B1 (ko) 1999-09-15

Family

ID=19501839

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970012219A KR100221196B1 (ko) 1997-04-02 1997-04-02 영상신호의 압축 및 복원을 위한 가변 길이부호화기

Country Status (1)

Country Link
KR (1) KR100221196B1 (ko)

Also Published As

Publication number Publication date
KR19980075856A (ko) 1998-11-16

Similar Documents

Publication Publication Date Title
JP3888597B2 (ja) 動き補償符号化装置、及び動き補償符号化復号化方法
KR100253931B1 (ko) 디지탈 영상 시퀀스의 디코딩 방법 및 장치
EP0595562B1 (en) Method and apparatus for quantization and inverse-quantization of picture data
JP3992303B2 (ja) 信号圧縮装置と信号伸長装置および信号圧縮方法と信号伸長方法
KR101106086B1 (ko) 부호화 장치 및 부호화 방법
JP4491349B2 (ja) ビデオ・データのイントラ符号化方法及び装置
US20020122491A1 (en) Video decoder architecture and method for using same
Lee et al. A new frame recompression algorithm integrated with H. 264 video compression
JPH0686262A (ja) 画像符号化装置
JPH10243399A (ja) 符号量制御装置及び該符号量制御装置を含む動画像符号化装置
JP4616057B2 (ja) 画像符号化装置及び画像符号化方法
JP3463291B2 (ja) 圧縮ディジタル・ビデオ・シーケンスをデコードし表示する方法および装置
US20060227865A1 (en) Unified architecture for inverse scanning for plurality of scanning scheme
KR100568649B1 (ko) 동화상복호화장치및동화상복호화방법
JP3948266B2 (ja) 動画像符号化装置、符号化方法、復号化装置、復号化方法及び動画像符号列伝送方法
JP2001119703A (ja) 可変長予測符号化によるデジタルビデオイメージの圧縮
KR100221196B1 (ko) 영상신호의 압축 및 복원을 위한 가변 길이부호화기
JPH06276511A (ja) 画像信号符号化方法及び復号化方法
JP3689437B2 (ja) 画像信号の符号化方法及び装置
JPH11136686A (ja) 復号画像変換回路および復号画像変換装置
JPH07107464A (ja) 画像符号化装置および復号化装置
JP3147636B2 (ja) ビデオデータ配列方法並びにその符号化装置及び復号化装置
KR100242832B1 (ko) 양자화 스텝값 발생장치
JP3689626B2 (ja) 画像信号の復号化方法及び装置
JP3948442B2 (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
FPAY Annual fee payment

Payment date: 20070622

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee