KR101576983B1 - 동영상 인코딩 및 디코딩 방법과 이를 구현하는 장치 - Google Patents

동영상 인코딩 및 디코딩 방법과 이를 구현하는 장치 Download PDF

Info

Publication number
KR101576983B1
KR101576983B1 KR1020080135879A KR20080135879A KR101576983B1 KR 101576983 B1 KR101576983 B1 KR 101576983B1 KR 1020080135879 A KR1020080135879 A KR 1020080135879A KR 20080135879 A KR20080135879 A KR 20080135879A KR 101576983 B1 KR101576983 B1 KR 101576983B1
Authority
KR
South Korea
Prior art keywords
scan mode
block
frequency
image block
residual image
Prior art date
Application number
KR1020080135879A
Other languages
English (en)
Other versions
KR20100077825A (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 KR1020080135879A priority Critical patent/KR101576983B1/ko
Publication of KR20100077825A publication Critical patent/KR20100077825A/ko
Application granted granted Critical
Publication of KR101576983B1 publication Critical patent/KR101576983B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 동영상 인코딩 및 디코딩 방법과 이를 구현하는 장치에 관한 것이다. 본 발명의 동영상 인코딩 방법은, 원래 영상으로부터 양자화된 주파수 잔여영상 블록을 생성하는 단계와, 이미 인코딩되고 디코딩된 이웃 블록의 정보를 기반으로 상기 양자화된 주파수 잔여영상 블록의 스캔모드를 결정하는 단계와, 상기 결정된 스캔모드로 상기 양자화된 주파수 잔여영상 블록을 스캔하여 엔트로피 인코딩하는 단계를 포함한다. 본 발명에 따르면, 인터 예측 인코딩에 있어 스캔모드 정보를 비트스트림에 포함하지 않고, 이미 인코딩되고 디코딩된 이웃 영상 블록의 정보를 사용하여 스캔모드를 결정하여 인코딩하고 디코딩함으로써 동영상 인코딩의 압축률을 향상시킬 수 있다.
동영상, 스캔모드, 엔트로피, 인코딩, 디코딩, 잔여영상, 움직임 예측, 보상

Description

동영상 인코딩 및 디코딩 방법과 이를 구현하는 장치{VIDEO ENCODING AND DECODING METHOD, AND DEVICE IMPLEMENTING THIS METHOD}
본 발명은 동영상 인코딩 및 디코딩 방법과 이를 구현하는 장치에 관한 것으로, 보다 상세하게는 움직임 벡터에 의한 잔여영상 블록 인코딩에 있어서 스캔모드를 이미 인코딩된 이웃 블록의 정보를 사용하여 결정하는 동영상 인코딩 및 디코딩 방법과 이를 구현하는 장치에 관한 것이다.
동영상을 구성하는 데이터는 음성이나 정지영상 데이터 등에 비하여 데이터량이 매우 많기 때문에, 아무런 처리없이 그 자체를 저장하거나 전송하기 위해서는 메모리를 포함하여 많은 하드웨어 자원을 필요로 한다. 따라서, 이를 방지하기 위해 인코딩 장치를 사용하여 동영상 데이터를 압축하여 저장하거나 전송하며, 디코딩 장치에서는 이를 수신하여 재생한다. 종래의 MPEG-2, MPEG-4에서는 스캔모드 결정방법으로서 수평, 수직, 지그재그 등의 여러 스캔모드를 사용하여 잔여영상 블록을 인코딩를 실시하고 이 중 가장 압축 성능이 좋은 스캔모드를 선택하여 이 스캔 모드 정보를 인코딩된 영상 정보와 함께 비트스트림에 포함시키는 방법을 제공한다. 하지만 이 방법은 스캔모드 정보를 비트스트림에 포함함으로써, 특히 영상 정보의 인코딩된 비트양이 적을 때 오히려 압축 효율을 저하시킬 수 있다.
따라서, 본 발명은 스캔모드를 비트스트림에 포함하지 않고, 이미 인코딩되고 디코딩된 이웃 영상 블록의 정보를 사용하여 스캔모드를 결정하여 인코딩하고 디코딩함으로써 압축 성능을 향상시키는 동영상 인코딩 및 디코딩을 제공하는 것을 목적으로 한다.
본 발명의 목적들은 앞에서 언급한 목적으로 제한되지 않는다. 본 발명의 다른 목적 및 장점들은 아래 설명에 의해 더욱 분명하게 이해될 것이다.
이러한 목적을 달성하기 위한 본 발명은 동영상 인코딩 방법으로서, 원래 영상으로부터 양자화된 주파수 잔여영상 블록을 생성하는 단계와, 이미 인코딩되고 디코딩된 이웃 블록의 정보를 기반으로 상기 양자화된 주파수 잔여영상 블록의 스캔모드를 결정하는 단계와, 상기 결정된 스캔모드로 상기 양자화된 주파수 잔여영상 블록을 스캔하여 엔트로피 인코딩하는 단계를 포함하는 것을 일 특징으로 한다.
또한, 본 발명은 동영상 인코딩 장치로서, 원래 영상으로부터 양자화된 주파수 잔여영상 블록을 생성하는 수단과, 이미 인코딩되고 디코딩된 이웃 블록의 정보를 기반으로 상기 양자화된 주파수 잔여영상 블록의 스캔모드를 결정하는 스캔모드 결정부와, 상기 결정된 스캔모드로 상기 양자화된 주파수 잔여영상 블록을 스캔하여 엔트로피 인코딩하는 엔트로피 코딩부를 포함하는 것을 다른 특징으로 한다.
또한, 본 발명은 동영상 디코딩 방법으로서, 비트스트림을 입력받아 움직임 벡터와 양자화된 주파수 계수 열을 생성하는 단계와, 이미 인코딩되고 디코딩된 이웃 블록의 정보를 기반으로 상기 양자화된 주파수 계수 열의 스캔모드를 결정하는 단계와, 상기 양자화된 주파수 계수 열에 상기 결정된 스캔모드를 적용하여 주파수 잔여영상 블록을 생성하는 단계와, 상기 주파수 잔여영상 블록을 역주파수변환하여 잔여영상 블록을 생성하는 단계와, 상기 잔여영상 블록을 움직임 보상하여 복호영상 블록을 생성하는 단계를 포함하는 것을 또 다른 특징으로 한다.
또한, 본 발명은 동영상 디코딩 장치로서, 비트스트림을 입력받아 움직임 벡터와 양자화된 주파수 계수 열을 생성하는 수단과, 이미 인코딩되고 디코딩된 이웃 블록의 정보를 기반으로 상기 양자화된 주파수 계수 열의 스캔모드를 결정하는 수단과, 상기 양자화된 주파수 계수 열에 상기 결정된 스캔모드를 적용하여 주파수 잔여영상 블록을 생성하는 수단과, 상기 주파수 잔여영상 블록을 역주파수변환하여 잔여영상 블록을 생성하는 수단과, 상기 잔여영상 블록을 움직임 보상하여 복호영상 블록을 생성하는 수단을 포함하는 것을 또 다른 특징으로 한다.
또한, 본 발명은 동영상 인코딩 방법으로서, 원래 영상을 복수의 영상 블록으로 분할하는 단계와, 이미 인코딩되고 디코딩된 이웃 영상 블록의 스캔모드를 사용하여 현재 영상 블록의 스캔모드를 결정하는 단계와, 상기 결정된 스캔모드를 이용하여 상기 현재 영상 블록을 인코딩하는 단계를 포함하는 것을 또 다른 특징으로 한다.
또한, 본 발명은 동영상 디코딩 방법으로서, 동영상 비트스트림을 수신하는 단계와, 이미 디코딩된 이웃 영상 블록의 스캔모드를 사용하여 현재 영상 블록의 스캔모드를 결정하는 단계와, 상기 결정된 스캔모드를 사용하여 상기 현재 영상 블록을 디코딩하는 단계를 포함하는 것을 또 다른 특징으로 한다.
전술한 바와 같은 본 발명에 따르면, 인터 예측 인코딩에 있어 스캔모드 정보를 비트스트림에 포함하지 않고, 이미 인코딩되고 디코딩된 이웃 영상 블록의 정보를 사용하여 스캔모드를 결정하여 인코딩하고 디코딩함으로써 동영상 인코딩의 압축률을 향상시킬 수 있다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.
도 1은 동영상을 구성하는 동영상 프레임을 도시한 도면이다.
동영상 데이터의 인코딩 및 디코딩은 움직임 예측(motion prediction) 기술 을 기반으로 이루어진다. 예측은 시간 축을 기준으로 과거 프레임을 참조하거나 과거 프레임과 미래 프레임을 모두 참조하는 방식으로 수행된다. 현재 프레임을 인코딩하거나 디코딩하는데 참조되는 프레임을 참조 프레임이라고 한다. 그리고, 블록 기반 동영상 인코딩에서 동영상을 구성하는 하나의 정지영상(프레임)은 매크로블록과 매크로블록을 구성하는 서브블록으로 나누어져, 블록 단위로 움직임이 예측되고 인코딩이 수행된다.
도 1을 참조하면, 동영상 데이터는 일련의 정지영상으로 구성되어 있으며, 정지영상들은 GOP(Group of Picture) 단위로 구분되어 있다. 정지영상 하나하나를 프레임이라 한다. 하나의 GOP에는 I 프레임(110), P 프레임(120), B(130) 프레임이 포함되어 있다. I 프레임(110)은 참조영상을 사용하지 않고 자체적으로 인코딩되는 프레임이며, P 프레임(120)과 B 프레임(130)은 참조영상을 사용하여 움직임 추정 및 보상을 수행하여 인코딩되는 프레임이다.
도 2는 본 발명의 일 실시예에 의한 동영상 인코딩 장치(200)의 블록도이다. 도시된 바와 같이, 동영상 인코딩 장치(200)는 원래 영상으로부터 양자화된 주파수 잔여영상 블록을 생성하는 수단(202)과, 이미 인코딩되고 디코딩된 이웃 블록의 정보를 기반으로 상기 양자화된 주파수 잔여영상 블록의 스캔모드를 결정하는 스캔모드 결정부(204)와, 상기 결정된 스캔모드로 상기 양자화된 주파수 잔여영상 블록을 스캔하여 엔트로피 인코딩하는 엔트로피 코딩부(250)와, 움직임 추정부(210)으로부터 제공된 움직임 벡터와 양자화부(240)로부터 제공된 텍스쳐 정보로부터 인코딩된 비트스트림을 생성하는 복합기(290)를 구비하고 있다.
양자화된 주파수 잔여영상 블록을 생성하는 수단(202)은 움직임 추정부(Motion Estimator: 210), 움직임 보상부(Motion Compensator: 220), 이산 여현 변환(Discrete Cosine Transform: DCT) 수행부(230), 양자화부(Quantizer: 240), 역양자화부(260), IDCT(Inverse DCT) 수행부(270), 참조영상 저장부(280)를 구비한다.
움직임 추정부(210)는 현재 프레임의 매크로블록의 움직임 예측치를 참조 프레임에서 찾아 움직임 벡터로서 출력한다. 즉, 찾고자 하는 매크로블록을 참조 프레임의 소정의 탐색영역 내에서 탐색하여, 가장 유사한 매크로블록을 찾아 그 이동 정도를 움직임 벡터로서 출력한다. 움직임 보상부(220)는 구해진 움직임 벡터에 해당하는 예측 매크로블록을 참조 프레임으로부터 얻는다.
원래 영상 프레임의 매크로블록에서 움직임 보상이 수행된 참조영상 프레임의 예측 매크로블록을 빼서 그 차이를 DCT 수행부(230)에서 DCT 하고, 그 DCT 계수가 양자화부(240)에 의해서 양자화되어 엔트로피 코딩부(250)를 거치며, 이 텍스쳐 정보는 복합기(290)에서 움직임 벡터와 복합되어 인코딩된 비트스트림을 구성한다. I 프레임의 경우, 움직임 예측 및 움직임 보상없이 원래 영상 프레임이 매크로블록을 DCT 수행부(230)에서 DCT 하고, 그 DCT 계수가 양자화부(240)에 의해서 양자화되어 엔트로피 코딩부(250)를 거친 텍스쳐 정보로 인코딩된 비트스트림을 구성한다.
원래 영상 프레임의 매크로블록에서 움직임 보상된 참조영상 프레임의 매크로블록을 뺀 것을 잔여(residual)영상이라고 하는데, 인코딩시의 데이터량을 줄이 기 위해서 이 잔여영상을 인코딩한다. 양자화 과정에서 에러가 발생하므로, 비트스트림으로 만들어지는 동영상 데이터에는 DCT 및 양자화 과정에서 발생한 에러가 포함되어 있다.
그리고 참조영상을 얻기 위해, 양자화된 잔여영상은 역양자화부(260)와 IDCT 수행부(270)를 거쳐 움직임 예측 및 보상이 수행된 영상과 합쳐져 참조영상 저장부(280)에 저장된다. I 프레임의 경우, 움직임 보상없이 역양자화부(260)와 IDCT 수행부(270)를 거쳐 참조영상 저장부(280)에 저장된다. 그러면, 참조영상 저장부(280)에 저장된 참조영상은 원래 영상에서 DCT 및 양자화 과정에서 발생한 인코딩 에러를 포함한 영상이 된다.
즉, 원래 영상을 A 라고 하고, 움직임 추정과 보상이 수행되어 예측된 영상을 B 라고 하면 DCT 수행부(230)는 원래 영상과 예측된 영상과의 차이인 (A-B)를 입력받아 DCT를 수행한다. 그리고 양자화 과정에서 에러성분(E)이 발생하여 엔트로피 코딩부(250)를 거쳐 출력되는 비트스트림은 ((A-B)+E)가 된다. 그리고 참조영상 저장부(280)는 ((A-B)+E)와 예측된 영상 B를 더하여 저장하므로 원래 영상에서 에러가 포함된 영상인 (A+E)를 참조영상으로 저장한다.
도 3은 본 발명의 일 실시예에 의한 동영상 디코딩 장치의 블록도이다. 도시된 바와 같이, 동영상 디코딩 장치(300)는 움직임 보상부(310), IDCT 수행부(320), 역양자화부(330), 엔트로피 디코딩부(340), 참조영상 저장부(350), 스캔모드 결정부(355), 분배기(360)를 구비한다.
인코딩된 동영상 비트스트림은 분배기(360)에서 움직임 벡터와 텍스쳐 정보 로 분리되며, 움직임 벡터는 움직임 보상부(310)로 입력된다. 이와 함께 텍스쳐 정보는 엔트로피 디코딩부(340)와 역양자화부(330) 및 IDCT 수행부(320)를 거쳐 디코딩된다. 움직임 보상부(310)는 참조영상 저장부(350)로부터 참조영상 정보와 분배기(360)로부터 움직임 벡터 정보를 수신하여 예측 영상을 만들어 출력하면, 이 영상과 디코딩된 영상이 합쳐져서 디스플레이 된다.
스캔모드 결정부(355)는 이미 인코딩되고 디코딩된 이웃 블록의 스캔모드를 기반으로 텍스쳐 정보로서 엔트로피 디코딩부(340)로 입력되는 양자화된 주파수 계수 열의 스캔모드를 결정한다.
도 4는 본 발명의 일 실시예에 의한 동영상 인코딩 방법의 흐름도이다.
먼저, 원래 영상으로부터 양자화된 주파수 잔여영상 블록을 생성한다(S402). 도 5는 양자화된 주파수 잔여영상 블록을 생성하는 방법은 상세 흐름도이다. 원래 영상은 매크로블록으로 분할하고, 분할된 매크로블록의 각각에 대해 인터 예측하여 잔여영상 매크로블록을 생성한다(S502). 잔여영상 매크로블록은 주파수변환 단위의 잔여영상 블록으로 분할하고, 잔여영상 블록은 주파수변환 하여 주파수 잔여영상 블록을 생성한다(S504). 주파수 잔여영상 블록은 양자화하여 양자화된 주파수 잔여영상 블록을 생성한다(S506).
다음에는 이미 인코딩되고 디코딩된 이웃 블록의 정보를 기반으로 양자화된 주파수 잔여영상 블록의 스캔모드를 결정한다(S404). 이웃 블록의 정보는 이웃 블록의 스캔모드에 관한 정보이다. 양자화된 주파수 잔여영상 블록의 스캔모드는 이웃 블록의 스캔모드 중에서 가장 빈도수가 높은 스캔모드로 결정한다.
다음에는 결정된 스캔모드로 양자화된 주파수 잔여영상 블록을 스캔하여 엔트로피 인코딩를 수행한다(S406).
이하에서는 도 6 내지 도 9를 참조하여 현재 블록의 스캔모드를 결정하는 방법을 상세하게 설명한다. 스캔모드의 결정은 이웃 블록의 스캔모드를 사용하여 현재 블록을 인코딩 또는 디코딩할 때 사용되는 스캔모드를 결정하는 제1 단계와, 다음 블록들을 인코딩 또는 디코딩할 때 사용할 현재 블록 C의 스캔모드를 결정하는 제2 단계로 이루어진다.
도 6a 내지 도 6c는 일반적인 동영상 인코딩에서의 주파수 영상 블록의 스캔 모드를 설명하는 도면으로서, 4x4 크기의 영상 블록의 수평, 수직, 지그재그(ZigZag) 스캔모드를 보여준다. 셀 안의 숫자는 스캔의 순서를 나타낸다.
도 7은 현재 영상 블록과 이웃 영상 블록을 설명하는 도면이다. 인코딩 시에 현재 블록 C가 인코딩되는 시점에서 이웃한 블록 A와 블록 B는 이미 인코딩되고 디코딩되어 있다. 디코딩 시에는 현재 블록 C가 디코딩하는 시점에서 이웃한 블록 A와 블록 B는 이미 디코딩되어 있다.
[제1 단계]
현재 블록 C를 인코딩할 때 현재 블록 C의 스캔모드는 이웃한 3개의 블록 A, B, D 중 두 블록 이상의 스캔모드가 같으면 이 스캔모드를 현재 블록 C의 스캔모드로 결정하고, A, B, D의 스캔모드가 모두 틀리면 디폴트로 지그재그 스캔모드로 결정한다.
이를 위해 인코딩할 양자화된 주파수 계수 블록 C, 블록 A의 최적 스캔모 드(ModeA), 블록 B의 최적 스캔모드(ModeB), 블록 D의 최적 스캔모드(ModeD)를 입력 받고, 표 1에 설명되어 있는 것과 같이 현재 블록 C의 스캔모드를 결정한다.
If (ModeA == ModeB)
then 현재 블록 C의 스캔모드 ModeC = ModeA
ElseIf (ModeA == ModeD)
then 현재 블록 C의 스캔모드 ModeC = ModeA
ElseIf (ModeB == ModeD)
then 현재 블록 C의 스캔모드 ModeC = ModeB
ElseIf // 모든 모드가 다 틀리면
then 현재 블록 C의 스캔모드 ModeC = 지그재그 스캔
EndIf
[제2 단계]
도 8은 이웃 블록의 스캔모드를 결정하는 방법의 흐름도이다. 다음에 인코딩되는 블록들에 대해 현재 블록 C는 이웃 블록이 되므로 다음 블록들에서 사용할 현재 블록 C의 최적 스캔모드는 도 8에 도시된 방법을 통해 결정된다.
먼저, 이웃 블록의 복호영상 블록을 생성한(S802) 후에, 복호영상 블록을 주파수변환하고 양자화하여 양자화된 주파수 블록을 생성한다(S804). 다음에는 양자화된 주파수 블록에 2 이상의 스캔모드를 적용하여 양자화된 주파수 계수 열들을 생성하고(S806), 양자화된 주파수 계수 열들에서 0이 아닌 주파수의 위치가 가장 빠른 스캔모드를 이웃 블록의 스캔모드로 선정한다(S808).
도 7을 참조하여 설명하면, 블록 C를 디코딩한 후, 다시 주파수변환, 양자화 단계를 거친 양자화된 주파수 블록에 지그재그 스캔, 수평스캔, 수직스캔을 적용하여 마지막 0이 아닌 주파수 계수의 위치가 가장 빠른 스캔모드를, 다음 블록들을 인코딩할 때 사용될 블록 C의 최적 스캔모드로서 결정한다. 현재 블록 C의 스캔모드를 결정하기 위하여 사용된 블록 A, 블록 B, 블록 D의 최적 스캔모드(ModeA, ModeB, ModeC)는 이와 같은 방법으로 결정된 것이다.
다음 블록들에서 사용할 현재 블록 C의 최적 스캔모드를 결정하는 방법을 이하에서 예를 들어 설명한다.
먼저, 현재 블록 C를 결정된 현재 블록 스캔모드(ModeC)로 스캔하여 엔트로피 인코딩하여 비트스트림으로 출력하고, 역양자화, 역주파수변환의 단계를 거쳐, 복호영상 블록 C’를 생성한다. 다음에는 복호영상 블록 C’을 주파수변환하고, 양자화하여 양자화된 주파수 블록 C”을 생성한다. 다음에는 양자화된 주파수 블록 C”에 지그재그 스캔모드, 수평 스캔모드, 수직 스캔모드를 적용하여 C”(지그재그), C”(수평), C”(수직) 주파수 계수 열을 생성한다. 도 9에 예시된 양자화된 주파수 영상 블록을 스캔하면 표 2와 같다.
지그재그 스캔 7 3 -2 0 0 1 4 0 0 0 0 0 0 0 0 0
수평 스캔 7 3 1 4 -2 0 0 0 0 0 0 0 0 0 0 0
수직 스캔 7 -2 0 0 3 0 0 0 1 0 0 0 4 0 0 0
다음에는 주파수 계수 열 C”(지그재그), C”(수평), C”(수직)에서 각각 마지막 0이 아닌 주파수 계수의 위치 NZ(지그재그), NZ (수평), NZ (수직)를 각각 구한다. 도 9의 예에서 NZ(지그재그)는 주파수 계수 4의 위치로서 6이다. NZ (수평)은 4이다. NZ (수직)은 12이다. DC 계수의 위치를 0으로 한다. 다음에는 NZ(지그재그), NZ (수평), NZ (수직) 중 가장 작은 값의 스캔모드를 다음 블록 인코딩시 사용할 현재 블록의 최적 스캔모드로 결정한다.
도 10은 본 발명의 일 실시예에 의한 동영상 디코딩 방법의 흐름도이다.
먼저, 비트스트림을 입력받아 움직임 벡터와 양자화된 주파수 계수 열(SC)을 생성하고(S1002), 이미 인코딩되고 디코딩된 이웃 블록의 정보를 기반으로 양자화된 주파수 계수 열의 스캔모드를 결정한다(S1004). 이웃 블록의 정보는 상기 이웃 블록의 스캔모드에 관한 정보이다. 양자화된 주파수 계수 열의 스캔모드는 이웃 블록의 스캔모드 중에서 가장 빈도수가 높은 스캔모드로 결정될 수 있다. 다음에는 양자화된 주파수 계수 열에 단계(S1004)에서 결정된 스캔모드를 적용하여 주파수 잔여영상 블록을 생성한다(S1006). 다음에는 주파수 잔여영상 블록을 역주파수변환 하여 잔여영상 블록을 생성하고(S1008), 잔여영상 블록을 움직임 보상하여 복호영상 블록을 생성한다(S1010).
이하에서 디코딩할 때 현재 블록 C의 스캔모드를 결정하는 방법을 설명한다. 먼저, 인코딩된 비트스트림이 입력되는 분배기(360)로부터 양자화된 주파수 계수 열(SC)과, 블록 A의 최적 스캔모드(ModeA), 블록 B의 최적 스캔모드(ModeB), 블록 D의 최적 스캔모드(ModeD)를 입력받는다. 이웃한 3개의 블록 A, B, D 중 두 블록 이상의 스캔모드가 같으면 이 스캔모드를 현재 블록 C의 스캔모드로 결정하고, A, B, D의 스캔모드가 모두 틀리면 디폴트로 지그재그 스캔모드로 결정한다. 이러한 결정 방법은 표 3과 표시된다.
If (ModeA == ModeB)
then 현재 블록 C의 스캔모드 ModeC = ModeA
ElseIf (ModeA == ModeD)
then 현재 블록 C의 스캔모드 ModeC = ModeA
ElseIf (ModeB == ModeD)
then 현재 블록 C의 스캔모드 ModeC = ModeB
ElseIf // 모든 모드가 다 틀리면
then 현재 블록 C의 스캔모드 ModeC = 지그재그 스캔
EndIf
다음 블록들에서 사용할 현재 블록 C의 최적 스캔모드는 블록 C를 디코딩한후, 다시 주파수변환, 양자화 단계를 거친 양자화된 주파수 블록을 지그재그 스캔, 수평스캔, 수직스캔을 적용하여 마지막 0이 아닌 주파수 계수의 위치가 가장 빠른 스캔모드를 최적 스캔모드로서 결정한다. 현재 블록 C를 디코딩할 때 사용되는 블록 A, 블록 B, 블록 D의 최적 스캔모드는 이와 같은 방법으로 결정된 것이다.
먼저, 현재 양자화된 주파수 계수 열(SC)를 결정된 스캔모드(ModeC)를 사용하여 양자화된 주파수 블록을 생성하고, 역주파수변환의 단계를 거쳐, 복호영상 블록 C’를 생성한다. 다음에는 복호영상 블록 C’을 주파수변환하고, 양자화하여 양자화된 주파수 블록 C”을 생성한다. 다음에는 양자화된 주파수 블록 C”에 지그재그 스캔모드, 수평 스캔모드, 수직 스캔모드를 적용하여 C”(지그재그), C”(수평), C”(수직) 주파수 계수 열을 생성한다. 다음에는 주파수 계수 열 C”(지그재그), C”(수평), C”(수직)에서 각각 마지막 0이 아닌 주파수 계수의 위치 NZ(지그재그), NZ (수평), NZ (수직)를 각각 구한다. 다음에는 NZ(지그재그), NZ (수평), NZ (수직) 중 가장 작은 값의 스캔모드를 다음 블록 인코딩시 사용할 현재 블록의 최적 스캔모드로 결정한다.
한편, 전술한 동영상 인코딩 방법 및 디코딩 방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 동영상 인코딩 방법 및 디코딩 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 동영상을 구성하는 동영상 프레임을 도시한 도면이고,
도 2는 본 발명의 일 실시예에 의한 동영상 인코딩 장치의 블록도이며,
도 3은 본 발명의 일 실시예에 의한 동영상 디코딩 장치의 블록도이고,
도 4는 본 발명의 일 실시예에 의한 동영상 인코딩 방법의 흐름도이며,
도 5는 도 4에서의 양자화된 주파수 잔여영상 블록 생성 단계의 상세 흐름도이고,
도 6a 내지 도 6c는 일반적인 동영상 인코딩에서의 주파수 영상 블록의 스캔 모드를 설명하는 도면이며,
도 7은 현재 영상 블록과 이웃 영상 블록을 설명하는 도면이고,
도 8은 이웃 블록의 스캔 모드를 결정하는 방법의 흐름도이며,
도 9는 양자화된 주파수 영상 블록의 스캔을 예시하는 도면이고,
도 10은 본 발명의 일 실시예에 의한 동영상 디코딩 방법의 흐름도이다.

Claims (13)

  1. 원래 영상으로부터 양자화된 주파수 잔여영상 블록을 생성하는 단계와,
    이미 인코딩되고 디코딩된 이웃 블록의 정보를 기반으로 상기 양자화된 주파수 잔여영상 블록의 스캔모드를 결정하는 단계와,
    상기 결정된 스캔모드로 상기 양자화된 주파수 잔여영상 블록을 스캔하여 엔트로피 인코딩하는 단계를 포함하며, 상기 이웃 블록의 정보를 기반으로 결정된 스캔모드는 상기 이웃 블록의 스캔모드 중에서 가장 빈도수가 높은 스캔모드인 것을 특징으로 하는 동영상 인코딩 방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 양자화된 주파수 잔여영상 블록을 생성하는 단계는
    상기 원래 영상을 매크로블록으로 분할하고, 상기 분할된 매크로블록의 각각을 인터 예측하여 잔여영상 매크로블록을 생성하는 단계와,
    상기 잔여영상 매크로블록을 주파수변환 단위의 잔여영상 블록으로 분할하고, 상기 잔여영상 블록을 주파수변환하여 주파수 잔여영상 블록을 생성하는 단계와,
    상기 주파수 잔여영상 블록을 양자화하여 양자화된 주파수 잔여영상 블록을 생성하는 단계를
    포함하는 것을 특징으로 하는 동영상 인코딩 방법.
  5. 제 1 항에 있어서,
    상기 이웃 블록의 스캔모드는
    상기 이웃 블록의 복호영상 블록을 생성하는 단계와,
    상기 복호영상 블록을 주파수변환하고 양자화하여 양자화된 주파수 블록을 생성하는 단계와,
    상기 양자화된 주파수 블록에 2 이상의 스캔모드를 적용하여 양자화된 주파수 계수 열들을 생성하는 단계와,
    상기 양자화된 주파수 계수 열들에서 0이 아닌 주파수의 위치가 가장 빠른 스캔모드를 상기 이웃 블록의 스캔모드로 선정하는 단계를
    통해 결정되는 것을 특징으로 하는 동영상 인코딩 방법.
  6. 원래 영상으로부터 양자화된 주파수 잔여영상 블록을 생성하는 수단과,
    이미 인코딩되고 디코딩된 이웃 블록의 정보를 기반으로 상기 양자화된 주파수 잔여영상 블록의 스캔모드를 결정하는 스캔모드 결정부와,
    상기 결정된 스캔모드로 상기 양자화된 주파수 잔여영상 블록을 스캔하여 엔트로피 인코딩하는 엔트로피 코딩부를 포함하며, 상기 이웃 블록의 정보를 기반으로 결정된 스캔모드는 상기 이웃 블록의 스캔모드 중에서 가장 빈도수가 높은 스캔모드인 것을 특징으로 하는 동영상 인코딩 장치.
  7. 비트스트림을 입력받아 움직임 벡터와 양자화된 주파수 계수 열을 생성하는 단계와,
    이미 인코딩되고 디코딩된 이웃 블록의 정보를 기반으로 상기 양자화된 주파수 계수 열의 스캔모드를 결정하는 단계와,
    상기 양자화된 주파수 계수 열에 상기 결정된 스캔모드를 적용하여 주파수 잔여영상 블록을 생성하는 단계와,
    상기 주파수 잔여영상 블록을 역주파수변환하여 잔여영상 블록을 생성하는 단계와,
    상기 잔여영상 블록을 움직임 보상하여 복호영상 블록을 생성하는 단계를 포함하며, 상기 이웃 블록의 정보를 기반으로 결정된 스캔모드는 상기 이웃 블록의 스캔모드 중에서 가장 빈도수가 높은 스캔모드인 것을 특징으로 하는 동영상 디코딩 방법.
  8. 삭제
  9. 삭제
  10. 제 7 항에 있어서,
    상기 이웃 블록의 스캔모드는
    상기 이웃 블록의 복호영상 블록을 생성하고, 상기 복호영상 블록을 주파수변환하고 양자화하여 양자화된 주파수 블록을 생성하는 단계와,
    상기 양자화된 주파수 블록에 2 이상의 스캔모드를 적용하여 양자화된 주파수 계수 열들을 생성하는 단계와,
    상기 양자화된 주파수 계수 열들에서 0이 아닌 주파수의 위치가 가장 빠른 스캔모드를 상기 이웃 블록의 스캔모드로 선정하는 단계를
    통해 결정되는 것을 특징으로 하는 동영상 디코딩 방법.
  11. 비트스트림을 입력받아 움직임 벡터와 양자화된 주파수 계수 열을 생성하는 수단과,
    이미 인코딩되고 디코딩된 이웃 블록의 정보를 기반으로 상기 양자화된 주파수 계수 열의 스캔모드를 결정하는 수단과,
    상기 양자화된 주파수 계수 열에 상기 결정된 스캔모드를 적용하여 주파수 잔여영상 블록을 생성하는 수단과,
    상기 주파수 잔여영상 블록을 역주파수변환하여 잔여영상 블록을 생성하는 수단과,
    상기 잔여영상 블록을 움직임 보상하여 복호영상 블록을 생성하는 수단을 포함하며, 상기 이웃 블록의 정보를 기반으로 결정된 스캔모드는 상기 이웃 블록의 스캔모드 중에서 가장 빈도수가 높은 스캔모드인 것을 특징으로 하는 동영상 디코딩 장치.
  12. 삭제
  13. 삭제
KR1020080135879A 2008-12-29 2008-12-29 동영상 인코딩 및 디코딩 방법과 이를 구현하는 장치 KR101576983B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080135879A KR101576983B1 (ko) 2008-12-29 2008-12-29 동영상 인코딩 및 디코딩 방법과 이를 구현하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080135879A KR101576983B1 (ko) 2008-12-29 2008-12-29 동영상 인코딩 및 디코딩 방법과 이를 구현하는 장치

Publications (2)

Publication Number Publication Date
KR20100077825A KR20100077825A (ko) 2010-07-08
KR101576983B1 true KR101576983B1 (ko) 2015-12-11

Family

ID=42639127

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080135879A KR101576983B1 (ko) 2008-12-29 2008-12-29 동영상 인코딩 및 디코딩 방법과 이를 구현하는 장치

Country Status (1)

Country Link
KR (1) KR101576983B1 (ko)

Also Published As

Publication number Publication date
KR20100077825A (ko) 2010-07-08

Similar Documents

Publication Publication Date Title
US9973756B2 (en) Video encoder and video encoding method
KR102184063B1 (ko) 비디오 코딩을 위한 적응 모션 벡터 해상도 시그널링
US9374577B2 (en) Method and apparatus for selecting a coding mode
EP1672926B1 (en) Bi-directional predicting method for video coding/decoding
US20090074073A1 (en) Coding of motion vector information
WO2011125211A1 (ja) 画像符号化方法及び画像復号化方法
US7961788B2 (en) Method and apparatus for video encoding and decoding, and recording medium having recorded thereon a program for implementing the method
WO2012120661A1 (ja) 動画像符号化方法及び動画像復号化方法
US20140105295A1 (en) Moving image encoding method and apparatus, and moving image decoding method and apparatus
KR20200023500A (ko) 화상 처리 장치 및 방법
TWI776071B (zh) 用以編碼及解碼視訊取樣之轉換區塊的方法、設備和系統
WO2011064673A1 (en) Method of and apparatus for encoding video frames, method of and apparatus for decoding video frames
CN113727108B (zh) 视频解码方法、视频编码方法及相关设备
US8462851B2 (en) Video encoding method and apparatus and video decoding method and apparatus
US20070133689A1 (en) Low-cost motion estimation apparatus and method thereof
JP4360093B2 (ja) 画像処理装置および符号化装置とそれらの方法
CN112740663B (zh) 图像预测方法、装置以及相应的编码器和解码器
Chiu et al. Self-derivation of motion estimation techniques to improve video coding efficiency
JP4349109B2 (ja) 画像データ処理装置、その方法、および、符号化装置
KR101576983B1 (ko) 동영상 인코딩 및 디코딩 방법과 이를 구현하는 장치
WO2011122659A1 (ja) 符号化装置および復号装置
JP6980889B2 (ja) 画像符号化方法及び画像復号化方法
JP6961781B2 (ja) 画像符号化方法及び画像復号化方法
JP6795666B2 (ja) 画像符号化方法及び画像復号化方法
JP5136511B2 (ja) 復号装置および方法、記録媒体、並びにプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191014

Year of fee payment: 5