KR20060016947A - Mpeg 비디오 부호화 시스템 및 부호화 방법 - Google Patents
Mpeg 비디오 부호화 시스템 및 부호화 방법 Download PDFInfo
- Publication number
- KR20060016947A KR20060016947A KR1020040065423A KR20040065423A KR20060016947A KR 20060016947 A KR20060016947 A KR 20060016947A KR 1020040065423 A KR1020040065423 A KR 1020040065423A KR 20040065423 A KR20040065423 A KR 20040065423A KR 20060016947 A KR20060016947 A KR 20060016947A
- Authority
- KR
- South Korea
- Prior art keywords
- block
- zero
- data
- unit
- dct
- Prior art date
Links
Images
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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 MPEG 비디오 부호화 시스템 및 부호화 방법에 관한 것이다. 특히 본 발명은 입력되는 블록 데이터와 양자화 파라미터를 이용하여 상기 블록이 All-zero 블록인지를 판별하고, All-zero 블록으로 판별된 블록에 대해서는 DCT와 양자화 과정 그리고, 역양자화 및 IDCT 과정을 생략하여 부호화함으로써, MPEG 비디오 부호화기 전체의 계산 복잡도를 낮추는 효과가 있다.
MPEG 부호화, All-zero 블록, DCT, 양자화
Description
도 1은 일반적인 MPEG 부호기의 구성 블록도
도 2는 본 발명에 따른 MPEG 부호기의 구성 블록도
도 3은 본 발명에 따른 MPEG 부호화 방법의 일 실시예를 보인 동작 흐름도
도면의 주요부분에 대한 부호의 설명
101 : 감산기 102,113,202,204 : 스위칭부
103 : DCT부 104 : 양자화부
105 : 버퍼 106 : 비트율 제어부
107 : 역양자화부 108 : IDCT부
109 : 가산기 110 : 프레임 메모리
111 : 움직임 추정부 112 : 움직임 보상부
201 : All-zero 블록 판단부 203 : All-zero 블록 생성부
본 발명은 MPEG 비디오 시스템에 관한 것으로서, 특히 이산 코사인 변환 (Discrete Cosine Transform ; DCT)과 양자화(Quantization) 과정을 생략한 MPEG 비디오 부호화 시스템 및 부호화 방법에 관한 것이다.
MPEG(Moving Picture Experts Group)이란 본래 멀티미디어 부호화(encode)를 실시하고 있는 조직의 약칭이었지만, 최근에는 이 조직이 작성한 표준 규격의 통칭으로서도 사용되고 있다.
즉 비디오 및 오디오 신호의 압축 기술에 대한 중요성이 급증하고 있으며, 이를 위해 MPEG을 중심으로 A/V(Audio/Video) 압축 표준에 대한 기술 개발이 계속적으로 이루어지고 있다. 이러한 MPEG 표준은 1992년에 나온 MPEG-1, 1994년에 발표된 MPEG-2, 1993년에 검토가 시작된 MPEG-4 및 2001년에 나온 MPEG-7의 4가지 종류로 정의되어 있으며, 이들은 각각 탄생 배경 및 추구하는 목적을 달리하고 있다.
상기 MPEG-1 부호화 방식의 목적은 1시간 분량의 동영상 데이터를 VHS 품질로 CD-ROM에 압축하여 저장 및 재생하기 위한 것이며, 전송 속도는 1.5Mbps이다. 이 부호화 방식은 CD-ROM과 같은 저장 미디어(digital storage media)를 대상으로 하기 때문에 비디오의 임의의 위치부터 재생할 수 있는 랜덤 액세스 기능을 가능하게 하였고, 화면 포맷은 SIF(source input format)를 따른다. 또한 352×240 화소의 화면 크기에 초당 30 프레임이 재생된다. 따라서 MPEG-1은 비디오-CD, 가정용 게임기, 가라오케 및 네트워크를 통한 동영상 통신용 등에 응용되었다.
상기 MPEG-1의 성공적 체험을 기반으로 보다 고화질을 실현하고 방송분야에서의 응용을 지향하기 위한 표준에 대한 요구가 발생하였고, 이에 등장한 것이 MPEG-2이다. 상기 MPEG-2는 5~10Mbps 정도에서 현행 TV 품질을 실현하는 것이었는 데, 작업이 진행되면서 4Mbps 정도의 기존 TV 화질 정도에서 30Mbps 부근의 HDTV 방송 품질 정도까지 포괄하게 되었다. 상기 MPEG-2는 디지털 TV의 지상파 방송, 위성 방송, 케이블 TV 방송에 응용되고 있으며, 방송 미디어뿐만 아니라 컴퓨터 통신 및 저장 미디어(예, VOD, DVD)까지 포괄적으로 수용하게 되었다.
그러나 상기 MPEG-2는 주로 방송용에 적합한 고화질 부호화가 목표였기 때문에 보다 고압축률의 부호화 방식에는 대응하지 못했다. 특히 휴대 단말기의 보급은 휴대용 TV 전화의 가능성을 시사하고, 이러한 목적의 부호화 방식의 표준화로서 MPEG-4가 검토되기 시작하였다. 그 후 MPEG-4는 단지 초저비트율의 기능뿐만 아니라, 인터넷과 컴퓨터 상에서의 멀티미디어 데이터를 자유자재로 취급하기 위한 범용 부호화 표준으로서의 성격을 가지게 되었다. 이를 위해 MPEG-4는 전송 오류에 강하고, 자연 영상 및 오디오뿐만 아니라 합성 영상 및 오디오를 부호화 대상으로 취급하게 되었다. 이로 인해 가상 현실의 개념이 도입되었다. 상기 MPEG-4는 TV 전화, 이동 통신, 인터넷/인트라넷, 원격교육시스템, 멀티미디어 게임 등에 응용된다.
상기 MPEG-7의 경우 이전의 MPEG 표준들과는 달리, 멀티미디어 데이터의 내용기반 검색을 위한 표현 방식을 정의하는 것을 목표로 하고 있다. 상기 MPEG-7은 전자 프로그램 안내(EPG) 정보, 홈 서버 등에 응용된다.
이러한 MPEG 방식에서 동영상의 압축을 위한 기본적인 원리는 동영상에 존재하는 공간적인 중복성(Spatial Redundancy)과 시간적인 중복성(Temporal Redundancy)을 제거하는 것이다.
이때 이산 코사인 변환(Discrete Cosine Transform ; DCT)과 양자화(Quantization)과정은 공간적인 중복성을 제거하기 위해 이용하며, 움직임 보상(motion compensation ; MC)은 시간적인 중복성을 제거하기 위해 이용한다. 상기 MPEG-1/2에서는 각 프레임을 16x16 크기의 매크로 블록(MB)으로 분할한 후 각 매크로 블록에 대하여 움직임 벡터를 추정하여 움직임 보상을 수행한다. MPEG-4에서는 8x8 크기의 서브 블록 단위의 움직임 보상도 가능하다. 즉 하나의 매크로 블록(MB)은 8x8 크기의 6개의 서브 블록으로 구성되는데, 이 중 4개가 휘도 블록(Y)이고, 2개가 색차 블록(Cb,Cr)이다.
그리고 상기 MPEG-4에서는 자연 영상을 비디오 객체(Video Object ; VO)라고 부르고 있다. 비디오 객체는 특정의 시간에서 촬영한 복수의 비디오 객체 평면(Video Object Plane ; VOP)으로 구성된다. 즉 VOP는 MPEG-4에서 취급하는 영상 데이터의 기본 단위이며, MPEG-1/2의 픽쳐에 해당한다. VOP에는 예측 부호화의 차이에 의해 I-VOP(프레임 내부호화 VOP), P-VOP(프레임간 순서 방향 예측 encode VOP), B-VOP(프레임간 쌍방향 예측 encode VOP), S-VOP(스프라이트 VOP)의 4종류가 있다.
이때 MPEG-4 부호화의 기본 알고리즘은 MPEG-1/-2와 마찬가지로 DCT 변환과 움직임 보상 및 추정을 조합한 방식을 채택하고 있기 때문에 설명의 편의를 위해 이후부터 MPEG-1/2/4에 관계없이 영상 데이터의 기본 단위는 픽처로 통일한다. 즉 MPEG-4의 I-VOP, P-VOP, B-VOP를 각각 I 픽쳐, P 픽쳐, B 픽쳐라 칭한다.
도 1은 일반적인 MPEG 부호화기의 구성 블록도이다. MPEG-1/-2/-4의 비디오 부호화의 기본 알고리즘은 DCT 변환과 움직임 보상 및 추정을 조합한 방식을 채택하고 있다.
즉 매크로 블록 단위로 입력되는 영상이 인트라(intra) 타입 즉, I 픽쳐이면 감산기(101)를 거치지 않고 그대로 스위칭부(102)를 통해 DCT(103)로 출력된다. 반대로 입력 영상이 인터(inter) 타입 즉, P나 B 픽쳐이면 감산기(101)에서 구해진 입력 영상과 움직임 보상(motion compensation ; MC)부(112)에서 움직임 보상된 데이터와의 차분 데이터가 스위칭부(102)를 통해 DCT(103)로 출력한다. 상기 스위칭부(102)는 입력 영상의 타입이 인트라인지, 인터인지에 따라 입력 영상 단자로 절환되거나 감산기(101)로 절환된다.
상기 DCT부(103)는 입력되는 데이터를 블록 단위로 DCT한 후 양자화부(104)로 출력하고, 양자화부(104)는 DCT 계수를 양자화 스텝 사이즈에 따라 양자화한다.
즉 상기 DCT부(103)는 2차원 축변환을 통해서 데이터의 상관성을 제거하는데, 이를 위해 픽쳐를 매크로 블록 단위로 분할하고, 각 매크로 블록을 다시 서브 블록 단위로 나눈 후 나누어진 각각의 서브 블록을 DCT식에 따라 축변환시킨다. 이렇게 축변환된 데이터들은 한쪽 방향(저역 쪽)으로 몰리는 경향이 있는데 이렇게 몰려진 데이터들만을 양자화부(104)에서 양자화한 후 버퍼(105)로 출력한다.
상기 버퍼(105)는 양자화된 데이터를 일시적으로 저장한 후 전송 또는 저장을 위해 출력함과 동시에, 버퍼의 충만도(buffer fullness)를 계산하여 비트율 제어부(106)로 출력한다.
상기 비트율 제어부(106)는 버퍼(105)의 충만도에 따라 양자화 파라미터(Qp) 를 계산하여 양자화부(104)로 출력한다. 이때 현재 부호화할 매크로 블록에 대한 양자화 파라미터는 이전 매크로 블록까지의 발생 비트에 의한 버퍼 충만도에 의해 결정된다.
상기 양자화부(104)는 입력되는 양자화 파라미터(Qp)로부터 양자화 스텝 크기를 구하여 DCT 계수를 양자화한다. 즉 버퍼의 충만도에 따라 양자화부(104)의 스텝 크기를 가변시켜 데이터의 발생량을 조절하게 된다.
한편 상기 양자화부(104)에서 양자화된 DCT 계수는 다시 역양자화(IQ)부(107)로 입력되어 역양자화된 후 IDCT부(108)로 출력된다. 상기 IDCT부(108)는 역 양자화된 DCT 계수를 IDCT하여 가산기(109)로 출력한다. 상기 가산기(109)는 IDCT된 데이터가 인트라 타입이면 그대로, 인터 타입이면 움직임 보상부(112)에서 움직임 보상된 값을 더하여 최종 픽셀값인 완전한 영상으로 복원한 후 움직임 보상을 위해 프레임 메모리(110)에 저장한다.
상기 움직임 보상부(112)는 움직임 추정(Motion Estimation ; ME)부(111)의 추정 결과에 따라 프레임 메모리(110)로부터 읽어온 이전 프레임을 을 이용하여 움직임 보상을 수행한 후 감산기(101)와 스위칭부(113)로 출력한다. 상기 스위칭부(113)는 IDCT된 데이터가 인트라 타입이면 오프되고, 움직임 보상부(112)에서 움직임 보상된 데이터는 가산기(109)로 출력되지 않는다. 만일 IDCT된 데이터가 인터 타입이면 상기 스위칭부(113)는 온되고, 움직임 보상부(112)에서 움직임 보상된 데이터는 스위칭부(113)를 통해 가산기(109)로 출력된다.
상기 움직임 추정부(111)는 입력 영상과 프레임 메모리(110)에 저장된 참조 영상을 이용하여 움직임 벡터를 추정한 후 움직임 보상부(112)로 출력한다.
이와 같이 일반적인 MPEG 비디오 부호화기는 도 1과 같이 DCT부(103), 양자화부(104)가 포함된 구조이다. 그리고 스위칭부(102)를 통해 입력되는 영상의 특성에 관계없이 입력 영상은 무조건 DCT부(103)에서 DCT되고, 양자화부(104)에서 양자화된다.
그런데 DCT부(103)가 MPEG 비디오 부호화기에서 차지하는 계산 복잡도는 전체 MPEG 비디오 부호화기 복잡도의 약 15~20%를 차지할 정도로 크다. 이는 움직임 추정 다음으로 많은 수치이다. 그리고 DCT가 수행된 후 이루어지는 양자화 과정에 의한 계산 복잡도는 DCT에 비해 그리 크지 않으나 이 또한 MPEG 비디오 부호화기의 계산 복잡도 증가에 영향을 준다.
이와 같이 종래의 MPEG 비디오 부호화기는 모든 입력 영상에 대해 무조건 DCT와 양자화 과정을 수행하므로, 불필요한 계산 복잡도 증가의 원인이 되는 단점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 특정 조건을 만족하는 블록에 대해서는 DCT와 양자화 과정을 생략하도록 함으로써, MPEG 비디오 부호화기 전체의 계산 복잡도를 낮추는 MPEG 비디오 부호화 시스템 및 부호화 방법을 제공함에 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 MPEG 비디오 부호화 시스 템은, 입력되는 블록 데이터와 양자화 파라미터를 이용하여 상기 블록이 All-zero 블록인지를 판별하는 All-zero 블록 판별부; 입력되는 블록 데이터에 대해 DCT 변환하고, 양자화 파라미터를 이용하여 상기 DCT 계수를 양자화하는 DCT 및 양자화부; 상기 양자화된 데이터에 대해 다시 역양자화 및 역 DCT를 순차적으로 수행하는 역양자화 및 IDCT부; 상기 DCT 및 양자화된 데이터를 일시 저장하는 버퍼; 상기 버퍼의 충만도에 따라 양자화 파라미터를 계산하여 상기 All-zero 블록 판별부와 양자화부로 출력하는 비트율 제어부; 블록 내 모든 픽셀 데이터가 0인 All-zero 블록 데이터를 생성하는 All-zero 블록 생성부; 상기 All-zero 블록 판별부에서 All-zero 블록으로 판별되면 All-zero 블록 생성부에서 생성된 All-zero 블록 데이터를 움직임 보상을 위해 프레임 메모리에 저장하고, All-zero 블록이 아니라고 판별되면 IDCT된 데이터를 움직임 보상을 위해 프레임 메모리에 저장하는 가산기; 그리고 상기 프레임 메모리에 저장된 데이터에 대해 움직임 보상을 수행하는 움직임 보상부를 포함하여 구성되는 것을 특징으로 한다.
상기 All-zero 블록 판별부에서 All-zero 블록이 아니라고 판별되면 DCT부로 스위칭되어 입력되는 블록 데이터를 DCT부로 출력하고, All-zero 블록이라고 판별되면 All-zero 블록 생성부로 스위칭되어 입력되는 블록 데이터를 All-zero 블록 생성부로 출력하는 스위칭부를 더 포함하는 것을 특징으로 한다.
상기 All-zero 블록 판별부는 입력되는 8x8 블록 데이터의 절대값의 총합이 4보다 작을 경우 이 블록을 All-zero 블록이라고 판별하는 것을 특징으로 한다.
상기 가산기는 입력되는 블록 데이터 타입이 인트라가 아니고, 상기 All- zero 블록 판별부에서 All-zero 블록으로 판별되면 상기 All-zero 블록 생성부에서 생성된 All-zero 블록 데이터에 움직임 보상부에서 움직임 보상된 블록 데이터를 더하여 프레임 메모리에 저장하는 것을 특징으로 한다.
상기 가산기는 입력되는 블록 데이터 타입이 인트라가 아니고, 상기 All-zero 블록 판별부에서 All-zero 블록이 아니라고 판별되면 상기 IDCT부에서 IDCT된 블록 데이터에 움직임 보상부에서 움직임 보상된 블록 데이터를 더하여 프레임 메모리에 저장하는 것을 특징으로 한다.
본 발명에 따른 MPEG 비디오 부호화 방법은,
(a) 입력되는 블록 데이터와 양자화 파라미터를 이용하여 상기 블록이 All-zero 블록인지를 판별하는 단계;
(b) 상기 (a) 단계에서 All-zero 블록이 아니라고 판별되면 DCT 및 양자화 과정을 순차적으로 수행하여 상기 버퍼에 일시 저장하고, 동시에 상기 양자화된 데이터에 대해 역양자화 및 역 DCT를 순차적으로 수행하는 단계;
(c) 상기 (a) 단계에서 All-zero 블록으로 판별되면 블록 내 모든 픽셀 데이터가 0인 All-zero 블록 데이터를 프레임 메모리에 저장하는 단계;
(d) 상기 (a) 단계에서 All-zero 블록이 아니라고 판별되면 상기 (b) 단계에서 IDCT된 블록 데이터를 프레임 메모리에 저장하는 단계; 그리고
(e) 상기 프레임 메모리에 저장된 데이터에 대해 움직임 보상을 수행하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 상기한 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
본 발명은 특정한 조건을 만족하는 블록에 대해서는 DCT와 양자화 과정을 생략하도록 함으로써, MPEG 비디오 부호화기 전체의 계산 복잡도를 낮추는데 그 특징이 있다.
다음은 DCT와 양자화 과정을 생략할 수 있는 특정 조건을 유도하는 과정을 설명한다.
즉 MPEG 부호화 과정에서는, 먼저 입력되는 픽쳐를 매크로 블록 단위로 분할하고, 각 매크로 블록을 다시 서브 블록 단위로 나눈 후 각각의 서브 블록을 DCT 알고리즘에 따라 축변환시킨다. 여기서 하나의 매크로 블록(MB)은 8x8 크기의 6개의 서브 블록으로 구성되는데, 이 중 4개가 휘도 블록(Y)이고, 2개가 색차 블록(Cb,Cr)이며, 각 블록에 대하여 DCT 변환을 실시한다.
본 발명에서는 MPEG-4 부호화 과정을 일 실시예로 설명한다.
이때 DCT를 수행할 블록의 (m,n)에 위치한 픽셀값을 x(m,n)라고 한다면, x(m,n)에 대한 DCT 변환 결과인 X(k,l)는 다음의 수학식 1과 같다.
상기 수학식 1에서 k,l=0,1,...,N-1이다.
또한, MPEG-4의 경우 N=8이므로, 상기 수학식 1은 하기의 수학식 2와 같이 표현된다.
그리고 MPEG-4의 경우 양자화 스텝 크기 △는 양자화 파라미터(Qp)로부터 다음의 수학식 3과 같이 얻어진다.
따라서 DCT 계수인 X(k,l)은 △에 의한 양자화 과정을 통해 다음의 수학식 4와 같이 양자화된다.
상기 수학식 5에 의해 추론할 수 있는 결론은 다음과 같다.
즉 DCT부로 입력되는 8x8 블록 신호의 절대값의 총합이 4보다 작을 경우 이 블록의 DCT 변환 값은 모든 성분이 0인 8x8 블록이 된다. 이러한 All-zero 블록은 양자화 후에도 모든 성분이 0인 블록이 되므로 DCT 및 양자화 과정이 필요 없게 된다.
따라서, 본 발명에서는 양자화 스텝 크기 △값을 알고 있는 경우 상기 수학 식 5를 적용하여 DCT 과정과 양자화 과정을 적용하기 이전에 모든 성분이 0이 되는 All-zero 블록을 찾을 수 있다. 즉 양자화 스텝 크기 △ 값을 알면 DCT 과정과 양자화 과정을 생략할 수 있는 모든 성분이 0인 All-zero 블록을 자동적으로 찾을 수 있다.
도 2는 이를 적용한 본 발명의 MPEG 비디오 부호화 장치의 구성 블록도를 보인 것으로서, All-zero 판단부(201), 제3,제4 스위칭부(202,204), 및 All-zero 블록 생성부(203)가 종래의 MPEG 비디오 부호화 장치에 더 추가된다.
즉 All-zero 판단부(201)는 제1 스위칭부(102)에서 출력되는 블록 데이터와 비트율 제어부(106)에서 출력되는 양자화 파라미터(Qp)를 상기 수학식 5에 적용하여 현재 입력된 블록이 DCT 및 양자화 과정을 생략할 수 있는 All-zero 블록인지를 판단한다. 그리고 판단 결과에 따라 제3,제4 스위칭부(202,204)의 스위칭을 제어한다.
상기 제3 스위칭부(202)의 입력단자는 제1 스위칭부(102)의 출력 단자에, 제 1 출력단자(c)는 DCT부(103)에, 제2 출력단자(d)는 All-zero 블록 생성부(203)에 연결되어 있다. 상기 All-zero 블록 판단부(201)는 All-zero 블록이 아니라고 판단되면 스위칭부(202)의 입력 단자를 제1 출력 단자(c)로 스위칭시키고, 제1스위칭부(102)의 출력은 제1 출력단자(c)를 통해 DCT부(103)로 출력된다. 한편 상기 All-zero 블록 판단부(201)는 All-zero 블록이라고 판단되면 제 2 출력단자(d)로 스위칭시키고, 제1 스위칭부(102)의 출력은 제2 출력단자(d)를 통해 All-zero 블록 생성부(203)로 출력된다.
따라서 상기 All-zero 블록 판단부(201)에서 All-zero 블록이 아니라고 판단되면 입력 영상은 제1 스위칭부(102)와 제3 스위칭부(202)를 통해 DCT부(103)로 입력되어 DCT된 후 양자화부(104)로 출력된다. 상기 양자화부(104)는 DCT 계수를 양자화 스텝 크기에 따라 양자화한 후 버퍼(105)와 역양자화부(107)로 출력한다. 상기 양자화 스텝 크기는 상기된 수학식 3과 같이 비트율 제어부(106)에서 출력되는 양자화 파라미터(Qp)에 2를 곱하여 얻을 수 있다. 이후의 동작은 상기된 도1과 같으므로 상세 설명을 생략한다.
한편 상기 All-zero 블록 판단부(201)에서 All-zero 블록이라고 판단되면 입력 영상은 제1 스위칭부(102)와 제3 스위칭부(202)를 통해 All-zero 블록 생성부(203)로 출력된다. 상기 All-zero 블록 생성부(203)는 블록 내 모든 픽셀 값을 '0'으로 하여 제4 스위칭부(204)로 출력한다.
상기 제4 스위칭부(204)도 All-zero 블록 판단부(201)의 판단 결과에 의해 스위칭이 제어된다. 이때 상기 제4 스위칭부(204)의 제1 입력단자(a)는 All-zero 블록 생성부(203)에 연결되고, 제2 입력단자(b)는 IDCT부(108)에 연결되며, 출력 단자는 가산기(109)에 연결되어 있다.
상기 All-zero 블록 판단부(201)는 입력 영상이 All-zero 블록이라고 판단되면 제4 스위칭부(204)의 출력 단자를 제1 입력 단자(a)로 스위칭시키고, All-zero 블록 생성부(203)의 출력이 제4 스위칭부(204)를 통해 가산기(109)로 출력된다. 또한 상기 All-zero 블록 판단부(201)는 All-zero 블록이 아니라고 판단되면 출력단자를 제2 입력단자(b)로 스위칭시키고, IDCT부(108)의 출력이 제4 스위칭부(204)를 통해 가산기(109)로 출력된다.
상기 가산기(109)는 입력 영상이 인트라 타입이면 제4 스위칭부(204)의 출력 데이터를 프레임 메모리(110)에 저장하고, 인터 타입이면 제4 스위칭부(204)의 출력 데이터에 움직임 보상부(112)에서 움직임 보상된 값을 더하여 최종 픽셀값인 완전한 영상으로 복원한 후 프레임 메모리(110)에 저장한다.
이와 같이 All-zero 블록 판단부(201)는 제1 스위칭부(102)를 통해 출력되는 블록 데이터와 비트율 제어부(106)에서 출력되는 양자화 파라미터(Qp)가 수학식 5의 조건을 만족하면 입력 영상을 All-zero 블록이라고 판단한다. 그리고 All-zero 블록이라고 판단되면 DCT, 양자화, 역양자화 및 IDCT 과정을 생략함으로서, 전체 MPEG 부호화기의 계산 복잡도를 상당량을 줄일 수 있다. 한편 상기된 수학식 5를 만족하지 않으면 입력 영상은 All-zero 블록이 아니라고 판단하고, 이때는 입력 영상에 대해 DCT, 양자화, 역양자화 및 IDCT 과정을 순차적으로 수행한다.
도 3은 이러한 본 발명의 MPEG 비디오 부호화 방법의 동작 순서를 나타내는 흐름도이다.
즉, 블록 단위로 영상이 입력되면(단계 301), 양자화 파라미터(Qp)로부터 구한 양자화 스텝 크기 △와 블록 데이터가 상기된 수학식 5의 조건을 만족하면 입력 영상이 All-zero 블록이라고 판단한다(단계 302).
상기 단계 302에서 입력 영상이 All-zero 블록이라고 판단되고 인트라 타입이면 All-zero 블록 데이터에 움직임 보상된 데이터를 더한 후(단계 306), 프레임 메모리에 저장한다(단계 307). 만일 인터 타입이면 All-zero 블록 데이터가 그대로 프레임 메모리(110)에 저장된다.
상기 단계 302에서 입력 영상이 All-zero 블록이 아니라고 판단되고 입력 영상에 대해 블록 단위로 DCT 및 양자화를 수행한 후 버퍼(105)와 역양자화부(107)로 출력한다(단계 303). 따라서 양자화된 데이터는 다시 역양자화 및 IDCT가 수행된 후(단계 304), 가산기(109)로 출력된다. 상기 가산기(109)는 입력 영상이 인트라 타입이면 IDCT된 데이터를 그대로 프레임 메모리(110)에 저장하고, 인터 타입이면 IDCT된 데이터에 움직임 보상된 데이터를 더하여 프레임 메모리(110)에 저장한다(단계 308). 상기 프레임 메모리(110)에 저장된 데이터는 움직임 보상을 위해 움직임 추정부(111)와 움직임 보상부(112)로 출력된다(단계 308).
지금까지 본 발명은 일 실시예로서, MPEG-4에 대해 설명했지만 MPEG-1/-2에 모두 적용할 수 있다. 왜냐하면 MPEG-4 부호화의 기본 알고리즘은 MPEG-1/-2와 마찬가지로 DCT 변환과 움직임 보상 및 추정을 조합한 방식을 채택하고 있기 때문이다.
한편, 본 발명에서 사용되는 용어(terminology)들은 본 발명에서의 기능을 고려하여 정의 내려진 용어들로써 이는 당분야에 종사하는 기술자의 의도 또는 관례 등에 따라 달라질 수 있으므로 그 정의는 본 발명의 전반에 걸친 내용을 토대로 내려져야 할 것이다.
또한, 본 발명에서는 본 발명의 바람직한 실시예를 통해 본 발명을 설명했으므로 본 발명의 기술적인 난이도 측면을 고려할 때, 당분야에 통상적인 기술을 가진 사람이면 용이하게 본 발명에 대한 또 다른 실시예와 다른 변형을 가할 수 있 다. 따라서 상술한 설명에서 사상을 인용한 실시예와 변형은 모두 본 발명의 청구 범위에 모두 귀속됨은 명백하다.
이상에서와 같이 본 발명에 따른 MPEG 비디오 부호화 시스템 및 부호화 방법에 의하면, All-zero 블록으로 판별된 블록에 대해서는 DCT와 양자화 과정 그리고, 역양자화 및 IDCT 과정을 생략하여 부호화함으로써, MPEG 비디오 부호화기 전체의 계산 복잡도를 낮추는 효과가 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.
Claims (12)
- 프레임 메모리를 구비하며, 영상 데이터의 기본 단위를 복수개의 블록으로 분해하여 부호화하는 MPEG 비디오 부호화 시스템에 있어서,입력되는 블록 데이터와 양자화 파라미터를 이용하여 상기 블록이 All-zero 블록인지를 판별하는 All-zero 블록 판별부;입력되는 블록 데이터에 대해 DCT 변환하고, 양자화 파라미터를 이용하여 상기 DCT 계수를 양자화하는 DCT 및 양자화부;상기 양자화된 데이터에 대해 다시 역양자화 및 역 DCT를 순차적으로 수행하는 역양자화 및 IDCT부;상기 DCT 및 양자화된 데이터를 일시 저장하는 버퍼;상기 버퍼의 충만도에 따라 양자화 파라미터를 계산하여 상기 All-zero 블록 판별부와 양자화부로 출력하는 비트율 제어부;블록 내 모든 픽셀 데이터가 0인 All-zero 블록 데이터를 생성하는 All-zero 블록 생성부;상기 All-zero 블록 판별부에서 All-zero 블록으로 판별되면 All-zero 블록 생성부에서 생성된 All-zero 블록 데이터를 움직임 보상을 위해 프레임 메모리에 저장하고, All-zero 블록이 아니라고 판별되면 IDCT된 데이터를 움직임 보상을 위해 프레임 메모리에 저장하는 가산기; 그리고상기 프레임 메모리에 저장된 데이터에 대해 움직임 보상을 수행하는 움직임 보상부를 포함하여 구성되는 것을 특징으로 하는 MPEG 비디오 부호화 시스템.
- 제 1 항에 있어서,상기 All-zero 블록 판별부에서 All-zero 블록이 아니라고 판별되면 DCT부로 스위칭되어 입력되는 블록 데이터를 DCT부로 출력하고, All-zero 블록이라고 판별되면 All-zero 블록 생성부로 스위칭되어 입력되는 블록 데이터를 All-zero 블록 생성부로 출력하는 스위칭부를 더 포함하는 것을 특징으로 하는 MPEG 비디오 부호화 시스템.
- 제 1 항에 있어서, 상기 All-zero 블록 판별부는입력되는 8x8 블록 데이터의 절대값의 총합이 4보다 작을 경우 이 블록을 All-zero 블록이라고 판별하는 것을 특징으로 하는 MPEG 비디오 부호화 시스템.
- 제 4 항에 있어서,상기 All-zero 블록 판별부는 양자화 파라미터에 상수 2를 곱하여 양자화 스텝 크기를 계산하는 것을 특징으로 하는 MPEG 비디오 부호화 시스템.
- 제 1 항에 있어서, 상기 가산기는입력되는 블록 데이터 타입이 인트라가 아니고, 상기 All-zero 블록 판별부에서 All-zero 블록으로 판별되면 상기 All-zero 블록 생성부에서 생성된 All-zero 블록 데이터에 움직임 보상부에서 움직임 보상된 블록 데이터를 더하여 프레임 메모리에 저장하는 것을 특징으로 하는 MPEG 비디오 부호화 시스템.
- 제 1 항에 있어서, 상기 가산기는입력되는 블록 데이터 타입이 인트라가 아니고, 상기 All-zero 블록 판별부에서 All-zero 블록이 아니라고 판별되면 상기 IDCT부에서 IDCT된 블록 데이터에 움직임 보상부에서 움직임 보상된 블록 데이터를 더하여 프레임 메모리에 저장하는 것을 특징으로 하는 MPEG 비디오 부호화 시스템.
- 프레임 메모리를 구비하며, 영상 데이터의 기본 단위를 복수개의 블록으로 분해하여 부호화한 후 버퍼에 일시 저장하고 상기 버퍼의 충만도에 따라 양자화 파라미터를 계산하는 MPEG 비디오 부호화 시스템의 부호화 방법에 있어서,(a) 입력되는 블록 데이터와 양자화 파라미터를 이용하여 상기 블록이 All-zero 블록인지를 판별하는 단계;(b) 상기 (a) 단계에서 All-zero 블록이 아니라고 판별되면 DCT 및 양자화 과정을 순차적으로 수행하여 상기 버퍼에 일시 저장하고, 동시에 상기 양자화된 데이터에 대해 역양자화 및 역 DCT를 순차적으로 수행하는 단계;(c) 상기 (a) 단계에서 All-zero 블록으로 판별되면 블록 내 모든 픽셀 데이터가 0인 All-zero 블록 데이터를 프레임 메모리에 저장하는 단계;(d) 상기 (a) 단계에서 All-zero 블록이 아니라고 판별되면 상기 (b) 단계에서 IDCT된 블록 데이터를 프레임 메모리에 저장하는 단계; 그리고(e) 상기 프레임 메모리에 저장된 데이터에 대해 움직임 보상을 수행하는 단계를 포함하여 이루어지는 것을 특징으로 하는 MPEG 비디오 부호화 방법.
- 제 8 항에 있어서, 상기 (a) 단계는입력되는 8x8 블록 데이터의 절대값의 총합이 4보다 작을 경우 이 블록을 All-zero 블록이라고 판별하는 것을 특징으로 하는 MPEG 비디오 부호화 방법.
- 제 10 항에 있어서, 상기 (c) 단계는입력되는 블록 데이터 타입이 인트라가 아니면 상기 All-zero 블록 데이터에 움직임 보상된 블록 데이터를 더하여 프레임 메모리에 저장하는 것을 특징으로 하는 MPEG 비디오 부호화 방법.
- 제 10 항에 있어서, 상기 (c) 단계는입력되는 블록 데이터 타입이 인트라가 아니면 상기 IDCT된 블록 데이터에 움직임 보상된 블록 데이터를 더하여 프레임 메모리에 저장하는 것을 특징으로 하는 MPEG 비디오 부호화 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040065423A KR20060016947A (ko) | 2004-08-19 | 2004-08-19 | Mpeg 비디오 부호화 시스템 및 부호화 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040065423A KR20060016947A (ko) | 2004-08-19 | 2004-08-19 | Mpeg 비디오 부호화 시스템 및 부호화 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20060016947A true KR20060016947A (ko) | 2006-02-23 |
Family
ID=37125092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040065423A KR20060016947A (ko) | 2004-08-19 | 2004-08-19 | Mpeg 비디오 부호화 시스템 및 부호화 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20060016947A (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100814731B1 (ko) * | 2006-08-21 | 2008-03-19 | 연세대학교 산학협력단 | H.264 부호화를 위한 고속 모드 결정 방법 |
KR100926207B1 (ko) * | 2006-08-25 | 2009-11-09 | 엔비디아 코포레이션 | 전력 소비를 감소시키면서 데이터 값 배열에 대해 2-차원변환을 수행하기 위한 방법 및 시스템 |
KR100978391B1 (ko) * | 2009-01-14 | 2010-08-26 | 한양대학교 산학협력단 | 이산여현변환/역이산여현변환 방법 및 장치 |
WO2011145819A3 (ko) * | 2010-05-19 | 2012-03-01 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 장치 및 방법 |
US11977928B2 (en) | 2018-12-12 | 2024-05-07 | Samsung Electronics Co., Ltd. | Apparatus and method for performing a recognition operation in a neural network |
-
2004
- 2004-08-19 KR KR1020040065423A patent/KR20060016947A/ko not_active Application Discontinuation
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100814731B1 (ko) * | 2006-08-21 | 2008-03-19 | 연세대학교 산학협력단 | H.264 부호화를 위한 고속 모드 결정 방법 |
KR100926207B1 (ko) * | 2006-08-25 | 2009-11-09 | 엔비디아 코포레이션 | 전력 소비를 감소시키면서 데이터 값 배열에 대해 2-차원변환을 수행하기 위한 방법 및 시스템 |
KR100978391B1 (ko) * | 2009-01-14 | 2010-08-26 | 한양대학교 산학협력단 | 이산여현변환/역이산여현변환 방법 및 장치 |
WO2011145819A3 (ko) * | 2010-05-19 | 2012-03-01 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 장치 및 방법 |
CN103004194A (zh) * | 2010-05-19 | 2013-03-27 | Sk电信有限公司 | 图像编码/解码设备和方法 |
US9445101B2 (en) | 2010-05-19 | 2016-09-13 | Sk Telecom Co., Ltd. | Video decoding method using skip information |
US9706204B2 (en) | 2010-05-19 | 2017-07-11 | Sk Telecom Co., Ltd. | Image encoding/decoding device and method |
US9729881B2 (en) | 2010-05-19 | 2017-08-08 | Sk Telecom Co., Ltd. | Video encoding/decoding apparatus and method |
US11977928B2 (en) | 2018-12-12 | 2024-05-07 | Samsung Electronics Co., Ltd. | Apparatus and method for performing a recognition operation in a neural network |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xin et al. | Digital video transcoding | |
EP0690392B1 (en) | Method and device for transcoding a sequence of coded digital signals | |
KR100323489B1 (ko) | 비디오데이타를가지는비트스트림의트랜스코딩방법및장치 | |
EP0945023B1 (en) | Video coding | |
KR100763179B1 (ko) | 비동기 픽쳐의 모션 벡터를 압축/복원하는 방법 및 그방법을 이용한 장치 | |
US20030095603A1 (en) | Reduced-complexity video decoding using larger pixel-grid motion compensation | |
US20150312575A1 (en) | Advanced video coding method, system, apparatus, and storage medium | |
KR100694137B1 (ko) | 동영상 부호화 장치, 동영상 복호화 장치, 및 그 방법과,이를 구현하기 위한 프로그램이 기록된 기록 매체 | |
KR20050010814A (ko) | 압축된 비디오 비트스트림들을 트랜스코딩하는 방법 및 장치 | |
US6961377B2 (en) | Transcoder system for compressed digital video bitstreams | |
KR100364748B1 (ko) | 영상 변환 부호화 장치 | |
EP3278558B1 (en) | Motion vector selection and prediction in video coding systems and methods | |
KR20060016947A (ko) | Mpeg 비디오 부호화 시스템 및 부호화 방법 | |
US8326060B2 (en) | Video decoding method and video decoder based on motion-vector data and transform coefficients data | |
US7386050B2 (en) | Fast half-pel searching method on the basis of SAD values according to integer-pel search and random variable corresponding to each macro block | |
KR20030000310A (ko) | 영상 변환 부호화 장치 | |
WO2016193949A1 (en) | Advanced video coding method, system, apparatus and storage medium | |
KR20050050673A (ko) | 비디오 인코딩 방법 | |
JP2003244694A (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
KR20160053848A (ko) | 영상의 인트라 예측 부호화/복호화 방법 및 그 장치 | |
Fung et al. | On re-composition of motion compensated macroblocks for DCT-based video transcoding | |
KR20030006641A (ko) | 트랜스코더 및 그의 트랜스 코딩 방법 | |
JP2000013791A (ja) | 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、並びに提供媒体 | |
KR20100010605A (ko) | 부호화된 아날로그 영상신호 데이터의 네트워크 전송 장치및 이 장치를 위한 영상 구성 방법 | |
JP2001061145A (ja) | 画像符号化装置および画像符号化方法、並びに画像復号装置および画像復号方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |