KR101359496B1 - 부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화장치 - Google Patents

부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화장치 Download PDF

Info

Publication number
KR101359496B1
KR101359496B1 KR1020080076856A KR20080076856A KR101359496B1 KR 101359496 B1 KR101359496 B1 KR 101359496B1 KR 1020080076856 A KR1020080076856 A KR 1020080076856A KR 20080076856 A KR20080076856 A KR 20080076856A KR 101359496 B1 KR101359496 B1 KR 101359496B1
Authority
KR
South Korea
Prior art keywords
mode
encoding
rate
distortion cost
modes
Prior art date
Application number
KR1020080076856A
Other languages
English (en)
Other versions
KR20100018191A (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 KR1020080076856A priority Critical patent/KR101359496B1/ko
Publication of KR20100018191A publication Critical patent/KR20100018191A/ko
Application granted granted Critical
Publication of KR101359496B1 publication Critical patent/KR101359496B1/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/103Selection of coding mode or of prediction mode
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/124Quantisation
    • 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/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria

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

본 발명은 부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화 장치에 관한 것이다.
본 발명은 영상의 부호화 모드를 결정하는 장치에 있어서, 복수 개의 부호화 모드의 율-왜곡 비용을 차례로 계산하여 율-왜곡 비용이 최소인 부호화 모드를 최종 부호화 모드로서 결정하되, 이전에 결정된 최소의 율-왜곡 비용이 각 부호화 모드에서 블록을 부호화하는 데에 따른 최소 비트량을 고려한 율-왜곡 비용인 임계값보다 큰 경우에만 각 부호화 모드의 율-왜곡 비용을 계산하는 것을 특징으로 하는 부호화 모드 결정장치를 제공한다.
본 발명에 의하면, 영상을 부호화하고 복호화하는 데 있어서, 압축률을 저하하지 않으면서, 영상의 부호화 모드를 신속하게 결정하여 부호화 효율을 향상시킬 수 있다.
영상, 부호화, 모드, 율, 왜곡, 최적, 최소, 비트

Description

부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화 장치{Encoding Mode Determination Method and Apparatus and Video Encoding Apparatus Using Same}
본 발명은 부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화 장치에 관한 것이다. 더욱 상세하게는, 영상을 부호화하고 복호화하는 데 있어서, 영상의 부호화 모드를 신속하게 결정하여 부호화 효율을 향상하기 위한 방법 및 장치에 관한 것이다.
MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)은 기존의 MPEG-4 Part 2와 H.263 표준안보다 우수하고 뛰어난 비디오 압축 기술을 개발하였다. 이 새로운 표준안은 H.264/AVC(Advanced Video Coding)이라 하며, MPEG-4 Part 10 AVC와 ITU-T Recommendation H.264로 공동으로 발표되었다.
이러한 H.264/AVC에서는 MPEG-1, MPEG-2, MPEG-4 Part2 Visual 등 종래의 동영상 부호화와 관련된 국제 표준과 비교할 때, 다양한 부호화 모드(Encoding Mode, 또는 매크로블록 모드(Macroblock Mode))를 제공한다. 부호화 모드로는 SKIP, 인터 16x16(Inter 16x16), 인터 16x8(Inter 16x8), 인터 8x16(Inter 8x16), P8x8, 인트 라 16x16(Intra 16x16), 인트라 4x4(Intra 4x4) 등이 있다. 부호화 모드가 P8x8로 결정되는 경우, 매크로블록 내의 4 개의 8x8 블록이 각각 독립적으로 인터 8x8(Inter 8x8), 인터 8x4(Inter 8x4), 인터 4x8(Inter 4x8) 및 인터 4x4(Inter 4x4) 중 하나의 부호화 모드로 부호화될 수 있다. 이러한 다양한 부호화 모드는 H.264의 압축 성능을 크게 개선한다.
H.264/AVC에서는 다양한 부호화 모드 중에 하나를 최적의 부호화 모드로서 선택하여 영상을 블록 단위로 부호화한다. 각 부호화 모드별로 부호화 효율을 측정하여 부호화 효율이 가장 좋은 부호화 모드를 최적의 부호화 모드로 결정한다. 참조 모델(Reference Model)인 H.264 JM(Joint Model)은 율-왜곡 최적화(RDO: Rate Distortion Optimization)를 이용하여 각 부호화 모드의 부호화 효율을 측정하고 최적의 부호화 모드를 결정한다.
한편, 통상적으로 율-왜곡 최적화 과정에서는 움직임 추정(Motion Estimation), 이산 코사인 변환(DCT: Discrete Cosine Transform, 이하 'DCT'라 칭함) 변환, 양자화(Quantization), 엔트로피 코딩(Entropy Coding), 역 DCT 변환, 역 양자화 등의 과정을 여러 번 수행하기 때문에, 최적의 부호화 모드를 결정하는 데에 많은 계산이 수행되어야 하고 그에 따라 부호화 속도가 저하되는 문제가 있다. 이러한 계산 복잡도는 실시간 부호화를 위한 시스템을 구현하기 어렵게 만들 뿐만 아니라 구현된 시스템을 동작시키는 데 많은 전력 소모를 유발한다. 따라서, 최적의 부호화 모드를 결정하는 데에 따른 계산 복잡도를 줄여주어 궁극적으로는 부호화 모드를 신속하게 결정할 수 있도록 하고, 그에 따라 부호화 속도를 향상시 키기 위한 기술이 요구되는 실정이다.
전술한 문제점을 해결하고 기술 개발의 요구에 부응하기 위해 본 발명은, 영상을 부호화하고 복호화하는 데 있어서, 압축률을 저하하지 않으면서, 영상의 부호화 모드를 신속하게 결정하여 부호화 효율을 향상하는 데 주된 목적이 있다.
전술한 목적을 달성하기 위해 본 발명은, 영상의 부호화 모드를 결정하는 장치에 있어서, 복수 개의 부호화 모드 중 특정 부호화 모드에 대한 율-왜곡 비용을 계산하고, 기준 율-왜곡 비용과 복수 개의 부호화 모드 중 나머지 부호화 모드의 임계값을 차례로 비교하여 기준 율-왜곡 비용이 나머지 부호화 모드의 임계값보다 큰 경우에만 나머지 부호화 모드에 대한 율-왜곡 비용을 계산하는 비용 계산부; 특정 부호화 모드에 대한 율-왜곡 비용을 기준 율-왜곡 비용으로 설정하고, 계산된 나머지 부호화 모드에 대한 율-왜곡 비용이 기준 율-왜곡 비용보다 작은 경우에만 계산된 나머지 부호화 모드에 대한 율-왜곡 비용을 기준 율-왜곡 비용으로 재설정하는 기준 율-왜곡 비용 설정부; 나머지 부호화 모드의 임계값을 설정하는 임계값 설정부; 및 최종으로 기준 율-왜곡 비용으로 설정된 부호화 모드를 최종 부호화 모드로서 결정하는 모드 결정부를 포함하는 것을 특징으로 하는 부호화 모드 결정 장치를 제공한다.
또한, 본 발명의 다른 목적에 의하면, 영상의 부호화 모드를 결정하는 방법에 있어서, 복수 개의 부호화 모드 중 특정 부호화 모드에 대한 율-왜곡 비용을 계산하여 기준 율-왜곡 비용으로 설정하는 설정 단계; 기준 율-왜곡 비용과 복수 개의 부호화 모드 중 나머지 부호화 모드의 임계값을 차례로 비교하여 기준 율-왜곡 비용이 나머지 부호화 모드의 임계값보다 큰 경우에만 나머지 부호화 모드에 대한 율-왜곡 비용을 계산하는 비용 계산 단계; 계산된 나머지 부호화 모드에 대한 율-왜곡 비용이 기준 율-왜곡 비용보다 작은 경우에만 계산된 나머지 부호화 모드에 대한 율-왜곡 비용을 기준 율-왜곡 비용으로 재설정하는 재설정 단계; 및 최종적으로 기준 율-왜곡 비용으로 설정된 부호화 모드를 최종 부호화 모드로서 결정하는 모드 결정 단계를 포함하는 것을 특징으로 하는 부호화 모드 결정 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 장치에 있어서, 영상의 현재 블록을 예측하여 예측 블록을 생성하는 예측부; 현재 블록에서 예측 블록을 감산하여 잔차 블록을 생성하는 감산부; 잔차 블록을 주파수 영역으로 변환하고 양자화하는 변환/양자화부; 변환되고 양자화된 잔차 블록을 부호화하는 부호화부; 변환되고 양자화된 잔차 블록을 역 변환하고 역 양자화하는 역 변환/역 양자화부; 및 부호화부로부터 율을 전달받고 역 변환/역 양자화부로부터 왜곡을 전달받아 복수 개의 부호화 모드의 율-왜곡 비용을 차례로 계산하여 율-왜곡 비용이 최소인 부호화 모드를 최종 부호화 모드로서 결정하되, 이전에 결정된 최소의 율-왜곡 비용이 각 부호화 모드에서 블록을 부호화하는 데에 따른 최소 비트량을 고려한 율-왜곡 비용인 임계값보다 큰 경우에만 각 부호화 모드의 율-왜곡 비용을 계산하는 부호화 모드 결정부를 포함하는 것을 특징으로 하는 부호화 모드 결정장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상의 부호화 모드를 결정하는 장치에 있어서, 복수 개의 부호화 모드 중 특정 부호화 모드에 대한 율-왜곡 비용을 계산하여 기준 율-왜곡 비용으로 설정하고, 기준 율-왜곡 비용과 복수 개의 부호화 모드 중 나머지 부호화 모드의 임계값을 차례로 비교하여 기준 율-왜곡 비용이 나머지 부호화 모드의 임계값보다 큰 경우에만 나머지 부호화 모드에 대한 율-왜곡 비용을 계산하며, 계산된 나머지 부호화 모드에 대한 율-왜곡 비용이 기준 율-왜곡 비용보다 작으면 계산된 나머지 부호화 모드에 대한 율-왜곡 비용을 기준 율-왜곡 비용으로 재설정하되, 최종으로 기준 율-왜곡 비용으로 설정된 부호화 모드를 최종 부호화 모드로서 결정하는 것을 특징으로 하는 부호화 모드 결정장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상의 부호화 모드를 결정하는 장치에 있어서, 복수 개의 부호화 모드의 율-왜곡 비용을 차례로 계산하여 율-왜곡 비용이 최소인 부호화 모드를 최종 부호화 모드로서 결정하되, 이전에 결정된 최소의 율-왜곡 비용이 각 부호화 모드에서 블록을 부호화하는 데에 따른 최소 비트량을 고려한 율-왜곡 비용인 임계값보다 큰 경우에만 각 부호화 모드의 율-왜곡 비용을 계산하는 것을 특징으로 하는 부호화 모드 결정장치를 제공한다.
이상에서 설명한 바와 같이 본 발명에 의하면, 영상을 부호화하고 복호화하는 데 있어서, 압축률을 저하하지 않으면서, 영상의 부호화 모드를 신속하게 결정 하여 부호화 효율을 향상시킬 수 있다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
영상을 부호화할 때에는 하나의 픽처(Picture)를 복수 개의 매크로블록(Macroblock) 또는 서브블록(Subblock)으로 나누고 블록 단위로 부호화하는데, 인터 예측(Inter Prediction) 또는 인트라 예측(Intra Pediction)을 이용하여 각 블록을 예측하고 원래의 블록과 예측된 블록의 차이를 부호화한다.
블록을 예측하기 위해서는 인터 예측을 수행할지 또는 인트라 예측을 수행할지 여부를 결정해야 하는데, 이와 같이 결정된 모드를 부호화 모드(또는 블록 모드)라 한다. 부호화 모드에는 SKIP, 인터 16x16, 인터 16x8, 인터 8x16, P8x8, 인트라 4x4, 인트라 16x16 등 7개가 있다. 여기서, SKIP, 인터 16x16, 인터 16x8, 인터 8x16, P8x8은 인터 예측을 위한 부호화 모드이고, 인트라 4x4, 인트라 16x16은 인트라 예측을 위한 부호화 모드인데, 예측을 위한 블록의 크기에 따라 분류된 것이다. 단, 7개의 부호화 모드는 H.264 베이스라인 프로파일(H.264 Baseline Profile)에 따라 분류된 것일 뿐 다양한 부호화 모드가 있을 수 있다.
도 1은 인터 예측에서 사용되는 블록의 형태를 나타낸 예시도이다.
인터 예측을 수행할 때에는 도 1에 도시한 바와 같이, 크게 4 개의 블록 즉, 16x16 블록, 16x8 블록, 8x16 블록, P8x8 블록으로 나누어지고, P8x8은 다시 8x4 블록, 4x8 블록, 4x4 블록으로 나누어져 영상에 따라 이와 같이 나누어진 블록을 선택하여 움직임 추정 및 움직임 보상이 수행되어 움직임 벡터가 정해진다.
도 2는 인트라 예측에서의 예측 모드를 나타낸 예시도이다.
인트라 예측에서는 예측하고자 하는 블록에 따라 휘도(Luma: Luminance) 예측에 있어서는 4x4 예측과 16x16 예측이 있으며, 색도(Chroma: Chrominance) 예측에서는 8x8 예측이 있다.
도시한 바와 같이, 인트라 4x4 예측에서는 수직(Vertical) 모드, 수평(horizontal) 모드, DC 모드, 대각선 왼쪽(diagonal downleft) 모드, 대각선 오른쪽(diagonal down-right) 모드, 수직 오른쪽(vertical-right) 모드, 수평 아래쪽(horizontal-down) 모드, 수평 왼쪽(verticalleft) 모드 및 수평 위쪽(horizontal-up) 모드 등 0 ~ 8까지의 모드 번호를 갖는 9개의 예측 모드가 있다. 또한, 도시하지는 않았지만, 인트라 16x16 예측에서는 수직(vertical) 모드, 수평(horizontal) 모드, DC 모드 및 플레인(plane) 모드 등 0 ~ 3까지의 모드 번호를 갖는 4개의 예측 모드가 있으며, 인트라 8×8 예측에서는 DC 모드, 수평(horizontal) 모드, 수직(vertical) 모드 및 플레인(plane) 모드 등 0 ~ 3까지의 모드 번호를 갖는 4개의 예측 모드가 있다.
부호화 모드를 결정하기 위해서는 7개의 부호화 모드에 대해서 율-왜곡 최적 화(RDO: Rate-Distortion Optimization)를 수행하여 각 부호화 모드의 부호화 효율을 측정하고 최적의 부호화 모드를 결정해야 하는데, 도 1 및 도 2를 통해 전술한 모든 모드에 대해서 율-왜곡 비용을 계산하고 비교해야 하므로 요구되는 계산량이 매우 많다.
도 3은 본 발명의 일 실시예에 따른 영상 부호화 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 부호화 장치(300)는 영상을 부호화하는 장치로서, 예측부(310), 감산부(320), 변환/양자화부(330), 부호화부(340), 역 양자화/역 변환부(350) 및 부호화 모드 결정부(360)를 포함하여 구성될 수 있다.
이러한 영상 부호화 장치(300)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
예측부(310)는 영상의 현재 블록(Current Block)을 예측하여 예측 블록(Predicted Block)을 생성한다. 즉, 예측부(210)는 복수 개의 부호화 모드에 따라서 영상에서 부호화하고자 하는 현재 블록의 각 화소의 화소값(Pixel Value)을 예측함으로써 예측 화소값(Predicted Pixel Value)을 각 화소의 화소값으로 갖는 예측 블록을 생성한다.
감산부(320)는 현재 블록에서 예측 블록을 감산하여 잔차 블록(Residual Block)을 생성한다. 즉, 감산부(320)는 현재 블록의 각 화소의 원 화소값(Original Pixel Value)과 예측 블록의 각 화소의 예측 화소값의 차이값을 계산하여 잔차 신호(Residual Signal)를 갖는 잔차 블록을 생성한다.
변환/양자화부(330)는 잔차 블록을 주파수 영역(Frequency Domain)으로 변환(Transform)하고 양자화(Quantization)한다. 즉, 변환부/양자화(330)는 감산부(320)에 의해 생성된 잔차 블록을 주파수 영역으로 변환하여 주파수 계수(Frequency Coefficient)를 갖는 잔차 블록을 생성하고 양자화한다. 여기서, 변환/양자화부(330)는 하다마드 변환(Hadamard Transform), 이산 코사인 변환 기반 변환(Discrete Cosine Transform Based Transform) 등과 같은 시간축의 화상 신호를 주파수축으로 변환하는 다양한 변환 기법을 이용하여 잔차 신호를 주파수 영역으로 변환할 수 있는데, 주파수 영역으로 변환된 잔차 신호가 주파수 계수가 된다. 또한, 변환/양자화부(330)는 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization, 이하 'DZUTQ'라 칭함) 등을 이용하여 양자화할 수 있다.
부호화부(340)는 변환/양자화부(330)에 의해 변환되고 양자화된 잔차 블록을 부호화하여 비트스트림을 생성한다. 이러한 부호화 기술로서는 엔트로피 부호화(Entropy Encoding) 기술이 사용될 수 있으나, 반드시 이에 한정하지 않고 다른 다양한 부호화 기술이 사용될 수도 있을 것이다. 또한, 부호화부(340)는 비트스트 림의 비트수를 기초로한 비트율(Bit Rate) 즉, 율(Rate)을 계산하여 부호화 모드 결정부(360)로 전달한다.
역 양자화/역 변환부(350)는 변환/양자화부(330)에 의해 변환되고 양자화된 잔차 블록을 역 양자하고 역 변환한다. 역 양자화고 역 변환된 잔차 블록을 예측부(310)에서 예측한 예측 블록과 합하면 원래의 현재 블록을 복원한 복원 블록을 생성할 수 있는데, 역 양자화/역 변환부(350)는 원래의 현재 블록과 복원된 복원 블록의 차이를 이용하여 왜곡(Distortion)을 계산할 수 있고 계산된 왜곡을 부호화 모드 결정부(360)로 전달한다.
부호화 모드 결정부(360)는 부호화부(340)로부터 율을 전달받고 역 변환/역 양자화부(350)로부터 왜곡을 전달받아 복수 개의 부호화 모드의 율-왜곡 비용을 차례로 계산하여 율-왜곡 비용이 최소인 부호화 모드를 최종 부호화 모드로서 결정한다. 여기서, 부호화 모드 결정부(360)는 이전에 결정된 최소의 율-왜곡 비용이 각 부호화 모드에서 블록을 부호화하는 데에 따른 최소 비트량을 고려한 율-왜곡 비용인 임계값보다 큰 경우에만 각 부호화 모드의 율-왜곡 비용을 계산한다.
도 4는 본 발명의 일 실시예에 따른 부호화 모드 결정 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 부호화 모드 결정 장치는 도 3에서는 부호화 모드 결정부(360)로 구현될 수 있으므로, 이하에서는 설명의 편의를 위해 부호화 모드 결정부(360)라 칭한다.
본 발명의 일 실시예에 따른 부호화 모드 결정부(360)는 부호화 모드를 결정하는 장치로서, 복수 개의 부호화 모드의 율-왜곡 비용을 차례로 계산하여 율-왜곡 비용이 최소인 부호화 모드를 최종 부호화 모드로서 결정하되, 이전에 결정된 최소의 율-왜곡 비용이 각 부호화 모드에서 블록을 부호화하는 데에 따른 최소 비트량을 고려한 율-왜곡 비용인 임계값보다 큰 경우에만 각 부호화 모드의 율-왜곡 비용을 계산한다. 이를 위해, 본 발명의 일 실시예에 따른 부호화 모드 결정부(360)는 비용 계산부(410), 기준 율-왜곡 비용 설정부(420), 임계값 설정부(430) 및 모드 결정부(440)를 포함하여 구성될 수 있다.
비용 계산부(410)는 복수 개의 부호화 모드 중 특정 부호화 모드에 대한 율-왜곡 비용을 계산하고, 기준 율-왜곡 비용과 복수 개의 부호화 모드 중 나머지 부호화 모드의 임계값을 차례로 비교하여 기준 율-왜곡 비용이 나머지 부호화 모드의 임계값보다 큰 경우에만 나머지 부호화 모드에 대한 율-왜곡 비용을 계산한다.
기준 율-왜곡 비용 설정부(420)는 특정 부호화 모드에 대한 율-왜곡 비용을 기준 율-왜곡 비용으로 설정하고, 비용 계산부(410)에 의해 계산된 나머지 부호화 모드에 대한 율-왜곡 비용이 기준 율-왜곡 비용보다 작은 경우에만 나머지 부호화 모드에 대한 율-왜곡 비용을 기준 율-왜곡 비용으로 재설정한다.
임계값 설정부(430)는 나머지 부호화 모드의 임계값을 설정한다.
모드 결정부(440)는 최종으로 기준 율-왜곡 비용으로 설정된 부호화 모드를 최종 부호화 모드로서 결정한다.
도 5는 H.264 참조 소프트웨어에 따른 율-왜곡 최적화를 위한 순서도이다.
전술한 바와 같이, H.264 베이스라인 프로파일에 따르면 7개의 부호화 모드 즉, 스킵(SKIP), 인터 16x16, 인터 16x8, 인터 8x16, P8x8, 인트라 16x16, 인트라 4x4 등이 활용될 수 있다. H.264 참조 소프트웨어에서는 H.264 베이스라인 프로파일에 따른 7개의 부호화 모드 중에 하나의 부호화 모드를 최적의 부호화 모드로서 결정한다. 이때, 율-왜곡 최적화를 이용한다. 즉, 스킵 모드에 대한 율-왜곡 비용을 계산하고(S510), 다음으로 인터 16x16, 인터 16x8, 인터 8x16, P8x8, 인트라 16x16, 인트라 4x4의 순서대로 각 부호화 모드에 대한 율-왜곡 비용을 계산하여(S520 내지 S570), 최소의 율-왜곡 비용을 갖는 부호화 모드를 최적의 부호화 모드로서 결정한다.
도 6 내지 도 8은 본 발명의 일 실시예에 따른 부호화 모드 결정 방법을 설명하기 위한 순서도이다.
도 5를 통해 전술한 H.264 참조 소프트웨어와는 달리, 본 발명에서는 모든 부호화 모드에 대해서 율-왜곡 비용을 계산하지 않고 특정한 조건이 만족되는 부호화 모드에 대해서는 율-왜곡 비용의 계산을 생략하고 나머지 부호화 모드에 대해서만 율-왜곡 비용을 계산하여 압축 효율을 향상시킨다.
도 6을 참조하면, 영상의 부호화 모드를 결정하기 위해, 부호화 모드 결정부(360)는 복수 개의 부호화 모드 중에서 특정 부호화 모드에 대한 율-왜곡 비용을 계산하고, 계산된 율-왜곡 비용을 기준 율-왜곡 비용으로 설정한다. 즉, 예를 들어 특정 부호화 모드로서 스킵 모드(SKIP Mode)를 선택한 경우, 스킵 모드에 대한 율-왜곡 비용을 계산하고(S602), 계산된 율-왜곡 비용을 기준 율-왜곡 비용으로 설정 한다(S604).
부호화 모드 결정부(360)가 선택한 스킵 모드에 대해 율-왜곡 비용 계산을 수행하기 위해서는 예측부(310)가 스킵 모드를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고, 감산부(320)가 현재 블록에서 예측 블록을 감산하여 잔차 블록을 생성하며, 변환/양자화부(330)가 잔차 블록을 변환 및 양자화하고, 부호화부(340)가 변환 및 양자화된 잔차 블록을 부호화하여 비트스트림으로 생성한다. 또한, 역 양자화/역 변환부(350)는 변환 및 양자화된 잔차 블록을 역 양자화 및 역 변환하여 원래의 현재 블록을 복원한다. 이때, 부호화부(340)는 율을 계산하여 부호화 모드 결정부(360)로 전달하고, 역 양자화/역 변환부(350)는 왜곡을 계산하여 부호화 모드 결정부(360)로 전달하며, 부호화 모드 결정부(360)는 전달되는 율과 왜곡을 이용하여 율-왜곡 비용을 계산한다.
여기서, 율-왜곡 비용은 각 부호화 모드별로 원 영상과 복원 영상의 화질의 열화 즉, 왜곡(Distortion)과 부호화 정보를 압축하는 데 필요한 비트량 즉, 비트율(Rate)을 고려하여 계산된다. 왜곡을 측정하는 방법으로서는 절대값 차이 합(SAD: Sum of Absolute Difference), 평균 제곱 오차(MSE: Mean Square Error), 제곱 오차 합(SSE: Sum of Squared Errors) 등이 활용될 수 있는데, 이하에서는 제곱 오차 합을 이용하여 왜곡을 계산하는 것으로 설명하지만, 반드시 이에 한정되는 것은 아니다.
제곱 오차 합을 이용하면 왜곡 Distortion은 수학식 1과 같이 계산된다.
Figure 112008056428018-pat00001
여기서, Original(x,y)와 Recon(x,y)는 각각 원래의 현재 블록과 복원된 현재 블록을 의미한다. x, y는 각각 현재 블록 내의 가로축, 세로축 좌표를 의미한다.
부호화 모드 결정부(360)의 비용 계산부(410)는 역 양자화/역 변환부(350)로부터 수신한 왜곡과 부호화부(340)로부터 수신한 율을 이용하여 율-왜곡 비용을 계산하는데, 율-왜곡 비용 RDCost는 수학식 2와 같이 계산된다.
Figure 112008056428018-pat00002
여기서, λ mode 는 라그란지(Lagrangian) 상수로서, 수학식 3과 같이 계산될 수 있다. 다만, 수학식 3은 예시적인 것으로서 수학식 3을 변형하거나 개선한 다양한 식이 사용될 수도 있다. 또한, Rates는 부호화부(340)로부터 전달되는 비트율 즉, 율이다.
Figure 112008056428018-pat00003
여기서, QP는 0에서 51까지의 정수인 양자화 계수(Quantization Parameter)로서, 율 Rate의 차원을 율-왜곡 비용의 차원과 일치시키기 위한 상수이다.
비용 계산부(410)가 수학식 2를 이용하여 율-왜곡 비용을 계산하면 그 율-왜곡 비용은 SKIP 모드에 대한 율-왜곡 비용이 된다. 이와 같이 계산된 SKIP 모드에 대한 율-왜곡 비용이 나머지 부호화 모드의 임계값과 비교하기 위한 기준 율-왜곡 비용으로 설정된다.
특정 부호화 모드에 대한 율-왜곡 비용을 계산하고 기준 율-왜곡 비용으로 설정한 비용 계산부(410)는 기준 율-왜곡 비용과 나머지 부호화 모드의 임계값을 차례로 비교하여 기준 율-왜곡 비용이 나머지 부호화 모드의 임계값보다 큰 경우에만 나머지 부호화 모드에 대한 율-왜곡 비용을 계산한다.
여기서, 나머지 부호화 모드의 임계값이란 복수 개의 부호화 모드에서 최초로 율-왜곡 비용을 계산한 부호화 모드(도 6에서는 스킵 모드)를 제외한 나머지 부호화 모드(도 6에서는 인터 16x16 모드, 인터 16x8 모드, 인터 8x16 모드, P8x8 모드, 인트라 16x16 모드, 인트라 4x4 모드)에 대한 율-왜곡 비용의 임계값을 말한다. 나머지 부호화 모드의 임계값은 각 부호화 모드에서 블록을 부호화하는 데에 따른 최소 비트량을 고려한 율-왜곡 비용일 수 있는데, 이러한 율-왜곡 비용은 각 부호화 모드의 최소 율-왜곡 비용이 될 수 있다.
즉, 만약 인터 예측 또는 인트라 예측이 매우 정확하여 화질의 열화가 전혀 없다고 가정하면, 율-왜곡 비용은 각 부호화 모드를 나타내는데 필요한 최소 비트량에 의해 결정될 수 있다. 따라서, 각 부호화 모드에서 블록을 부호화하는 데에 따른 최소 비트량을 고려한 율-왜곡 비용으로서 각 부호화 모드의 임계값을 설정하면, 설정된 임계값은 각 부호화 모드의 최소 율-왜곡 비용일 될 수 있다. 실제로 영상을 부호화할 때의 율-왜곡 비용은 화질의 열화와 비트량을 고려하여 결정되므로 본 발명에서 설정하는 임계값보다 항상 크거나 같은 값을 가진다.
H.264 베이스라인 프로파일에서는 각 부호화 모드에 대한 정보를 표 1에 나타낸 바와 같은 지수 골룸 코드(EGC: Exp-Golomb Code)를 이용하여 엔트로피 부호화를 한다.
Figure 112008056428018-pat00004
표 1을 통해 각 부호화 모드에 대한 정보를 나타내는 데 최소 1비트(Range of codeNum =0)가 필요하다는 것을 알 수 있다. 지수 콜룸 코드와 H.264 베이스라인 프로파일에서 정의하는 매크로블록 단위의 부호화에 대한 정보를 고려하여, 각 부호화 모드에서 블록을 부호화하는 데에 따른 최소 비트량을 정리하면 표 2와 같이 나타낼 수 있다.
Figure 112008056428018-pat00005
표 2에서, 'Ref index'는 참조 프레임 인덱스(Reference Frame Index)를 의미하고, 'MV'는 움직임 벡터(Motion Vector)를 의미하며, 'CBP&Coeff.'는 블록 코딩 패턴(Coded Block Pattern)과 잔차 신호의 유효 계수를 의미하며, 'D.QP'는 양자화 계수의 차분값(Delta Quantization Parameter)를 의미하며, 'Chroma 인트라 모드'는 현재 블록이 인트라 16x16 모드 또는 인트라 4x4 모드로 부호화될 때의 색도 성분의 인트라 예측 방향을 의미하며, '4x4 예측 모드'는 현재 블록이 인트라 4x4 모드로 부호화될 때의 현재 블록 내의 16개의 4x4 블록의 인트라 예측 방향을 의미한다.
표 2를 통해, 나머지 부호화 모드에서 블록을 부호화하는 데에 따른 최소 비트량을 살펴보면, 인터 16x16은 6비트, 인터 16x8 모드, 인터 8x16 모드는 11비트, P8x8 모드는 16비트, 인트라 16x16 모드는 13비트, 인트라 4x4 모드는 29비트가 필요함을 알 수 있다. 표 2에 나타낸 최소 비트량을 수학식 2와 수학식 3에 대입하여 각 부호화 모드에 대한 율-왜곡 비용의 최소값인 각 부호화 모드의 임계값을 계산할 수 있다. 여기서, 최소 비트량은 표 2를 통해 알 수 있듯이, 부호화 모드에 대한 정보, 참조 프레임 인덱스에 대한 정보, 움직임 벡터에 대한 정보, 블록 코딩 패턴과 잔차 신호의 유효 계수에 대한 정보, 델타 양자화 계수에 대한 정보, 색상 인트라 모드에 대한 정보 및 4x4 예측 모드에 대한 정보 중 하나 이상을 부호화하는 데에 따른 비트량의 합일 수 있다.
한편, 여기서는 H.264 베이스라인 프로파일에 따라 지수 골룸 코드를 이용하여 부호화할 때의 최소 비트량에 대해서 설명했지만, 본 발명에서 사용되는 최소 비트량은 반드시 지수 골룸 코드를 이용하여 부호화하는 경우의 최소 비트량에 한정되지 않고 문맥 기반 적응적 가변 길이 부호화(CAVLC: Context-Adaptive Variable Length Coding) 또는 문맥 기반 적응적 이진 산술 부호화(CABAC: Context-Adaptive Binary Arithmetic Coding) 등을 이용하여 부호화하는 경우의 최소 비트량일 수 있다.
이와 같이 계산되는 각 부호화 모드의 임계값은 임계값 설정부(430)가 입력받거나 표 2에 나타낸 바와 같은 나머지 부호화 모드에서 블록을 부호화하는 데에 따른 최소 비트량과 수학식 2와 수학식 3을 통해 계산하여 비용 계산부(410)에 설정한다.
다시 도 6을 참조하면, 비용 계산부(410)는 단계 S604에서 설정된 기준 율-왜곡 비용을 7개의 부호화 모드 중 SKIP 모드를 제외한 나머지 부호화 모드의 임계값과 차례로 비교하여 나머지 부호화 모드에 대한 율-왜곡 비용을 계산할지 또는 비용 계산을 생략할지 여부를 결정하는데, 이를 위해 비용 계산부(410)는 우선 기준 율-왜곡 비용을 인터 16x16 모드의 임계값과 비교한다(S606). 단계 S606의 비교 결과, 기준 율-왜곡 비용이 인터 16x16 모드의 임계값보다 크면 인터 16x16 모드에 대한 율-왜곡 비용을 계산한다(S608).
따라서, 이 경우 스킵 모드에 대한 율-왜곡 비용을 계산할 때와 마찬가지로, 예측부(310), 감산부(320), 변환/양자화부(330), 부호화부(340), 역 양자화/역 변환부(350)가 인터 16x16 모드에 대해 예측, 변환, 양자화, 부호화, 역 양자화, 역 변환 등을 수행하고, 비용 계산부(410)는 부호화부(340)와 역 양자화/역 변화부(350)로부터 각각 율과 왜곡을 수신하고 수학식 1 내지 수학식 3을 이용하여 인터 16x16 모드에 대한 율-왜곡 비용을 계산한다.
인터 16x16 모드에 대한 율-왜곡 비용이 계산되면 비용 계산부(410)는 인터 16x16 모드에 대한 율-왜곡 비용을 기준 율-왜곡 비용 설정부(420)로 전달하고, 기준 율-왜곡 비용 설정부(420)는 단계 S604에서 설정된 기준 율-왜곡 비용과 계산된 인터 16x16 모드에 대한 율-왜곡 비용 중 작은 율-왜곡 비용을 기준 율-왜곡 비용으로 재설정한다(S610). 즉, 기준 율-왜곡 비용 설정부(420)는 기준 율-왜곡 비용과 계산된 인터 16x16 모드에 대한 율-왜곡 비용을 비교하여, 인터 16x16 모드에 대한 율-왜곡 비용이 기준 율-왜곡 비용보다 작은 경우에는 인터 16x16 모드에 대한 율-왜곡 비용을 기준 율-왜곡 비용으로 재설정하고, 인터 16x16 모드에 대한 율-왜곡 비용이 기준 율-왜곡 비용보다 크거나 같은 경우에는 단계 S604에서 설정된 SKIP 모드에 대한 율-왜곡 비용을 기준 율-왜곡 비용으로 그대로 둔다. 이후 기준 율-왜곡 비용 설정부(420)는 재설정되거나 변경되지 않은 기준 율-왜곡 비용을 비용 계산부(410)로 전달한다.
단계 S606의 비교 결과, 기준 율-왜곡 비용이 인터 16x16 모드의 임계값보다 작거나 같으면 인터 16x16 모드에 대한 율-왜곡 비용의 계산을 생략하고 단계 S612로 진행한다.
한편, 단계 S606의 비교 결과에 따라, 인터 16x16 모드에 대한 율-왜곡 비용을 계산하고 기준 율-왜곡 비용과 비교하여 작은 율-왜곡 비용을 기준 율-왜곡 비용으로 재설정하거나 인터 16x16 모드에 대한 율-왜곡 비용의 계산을 생략한 후, 비용 계산부(410)는 기준 율-왜곡 비용과 나머지 부호화 모드 중 다음 부호화 모드인 인터 16x8 모드의 임계값을 비교한다(S612).
단계 S612의 비교 결과, 기준 율-왜곡 비용이 인터 16x8 모드의 임계값보다 크면, 인터 16x8 모드에 대한 율-왜곡 비용을 계산한다(S614). 여기서, 인터 16x8 모드에 대한 율-왜곡 비용은 단계 S608에서 전술한 바와 유사하게 계산된다. 다만, 호화 모드가 인터 16x8 모드인 것만 상이하다. 인터 16x8 모드에 대한 율-왜곡 비용이 계산되면, 기준 율-왜곡 비용과 인터 16x8 모드에 대한 율-왜곡 비용 중 작은 율-왜곡 비용을 기준 율-왜곡 비용으로 재설정한다(S616). 즉, 기준 율-왜곡 비용과 인터 16x8 모드에 대한 율-왜곡 비용을 비교하여, 인터 16x8 모드에 대한 율-왜곡 비용이 기준 율-왜곡 비용보다 작으면 기준 율-왜곡 비용을 인터 16x8 모드에 대한 율-왜곡 비용으로 재설정하고 인터 16x8 모드에 대한 율-왜곡 비용이 기준 율-왜곡 비용보다 크면 기준 율-왜곡 비용이 변경되지 않는다. 따라서, 이 경우 단계 S610에서 설정된 기준 율-왜곡 비용이 계속 유지된다.
또한, 단계 S612의 비교 결과, 기준 율-왜곡 비용이 인터 16x8 모드의 임계값보다 작거나 같으면, 인터 16x8 모드에 대한 율-왜곡 비용의 계산을 생략하고, 단계 S618로 진행한다.
이상과 같이 도 6을 통해 전술한 단계 S606 내지 단계 S616의 과정 즉, 기준 율-왜곡 비용과 각 부호화 모드의 임계값과 비교하여 해당 부호화 모드에 대한 율-왜곡 비용을 생략할지 여부를 결정하고 율-왜곡 비용을 계산하는 경우 최소의 율-왜곡 비용을 기준 율-왜곡 비용으로 재설정하는 과정을 도 7 및 도 9에 도시한 단계 S618 내지 단계 S640에서도 유사하게 수행한다. 다만, 기준 율-왜곡 비용과 비교하는 각 부호화 모드의 임계값이 달라지고 그에 따라 율-왜곡 비용을 계산하거나 생략하는 부호화 모드가 달라질 뿐이다. 즉, 단계 S618에서는 기준 율-왜곡 비용과 인터 8x16 모드 임계값을 비교하고, 단계 S624에서는 기준 율-왜곡 비용과 P8x8 모드 임계값을 비교하며, 단계 S630에서는 기준 율-왜곡 비용과 인트라 16x16 모드의 임계값과 비교하며, 단계 S636에서는 기준 율-왜곡 비용과 인트라 4x4 모드의 임계값과 비교하여, 해당 부호화 모드에 대한 율-왜곡 비용의 계산을 생략하거나 때에 따라 율-왜곡 비용을 계산하고 기준 율-왜곡 비용과 비교하여 작은 값을 기준 율-왜곡 비용으로 설정하는 과정을 반복한다.
이와 같은 과정을 거친 단계 S640 이후, 비용 계산부(410)는 그 단계에서 기준 율-왜곡 비용으로 설정되어 있는 부호화 모드를 최종 부호화 모드로서 결정한다(S642).
즉, 단계 S602 내지 단계 S640의 과정에서, 기준 율-왜곡 비용이 각 부호화 모드의 임계값보다 작은 경우에만 율-왜곡 비용의 계산을 생략하였는데, 만약 해당 부호화 모드에 대한 율-왜곡 비용을 계산했다고 하더라도 부호화 모드의 임계값보다 항상 크거나 같으므로, 계산된 해당 부호화 모드에 대한 율-왜곡 비용이 기준 율-왜곡 비용보다 작을 수는 없다. 따라서, 해당 부호화 모드에 대한 율-왜곡 비용을 계산하지 않아도 기준 율-왜곡 비용보다 작지 않다는 것을 알 수 있으므로, 기준 율-왜곡 비용으로 설정된 부호화 모드가 최소값의 율-왜곡 비용을 가지는 부호화 모드가 된다.
또한, 단계 S602 내지 단계 S640의 과정에서, 기준 율-왜곡 비용이 각 부호화 모드의 임계값 큰 경우에는 율-왜곡 비용을 계산하는데, 이 경우 매번 계산된 율-왜곡 비용과 기준 율-왜곡 비용을 비교하여 작은 것을 기준 율-왜곡 비용으로 재설정하거나 그대로 유지하는 과정을 거쳤으므로, 기준 율-왜곡 비용으로 설정된 부호화 모드가 최소값의 율-왜곡 비용을 가지는 부호화 모드가 된다. 따라서, 최종적으로 기준 율-왜곡 비용으로 설정된 부호화 모드가 가장 작은 값의 율-왜곡 비용을 가지는 부호화 모드가 된다.
도 6 내지 도 8을 통해서는 복수 개의 부호화 모드가 특정 부호화 모드로서 스킵 모드를 포함하고, 나머지 부호화 모드로서 인터 16x16 모드, 인터 16x8 모드, 인터 8x16 모드, P8x8 모드, 인트라 16x16 모드 및 인트라 4x4 모드 중 어느 하나를 포함하는 것으로 예를 들어 설명했다. 또한, 기준 율-왜곡 비용을 나머지 부호화 모드의 임계값과 차례로 비교할 때, 인터 16x16 모드의 임계값, 인터 16x8 모드의 임계값, 인터 8x16 모드의 임계값, P8x8 모드의 임계값, 인트라 16x16 모드의 임계값 및 인트라 4x4 모드의 임계값의 순서로 비교하는 것으로 예를 들어 설명했다.
하지만, 본 발명에서 복수 개의 부호화 모드의 종류는 이러한 예에 한정되지 않고 다양한 부호화 모드를 포함할 수 있으며, 특정 부호화 모드와 나머지 부호화 모드의 종류 및 그 비교 순서도 이러한 예에 한정되지 않고 특정되거나 비교 순서가 정해질 수 있다. 그 예로서, 복수 개의 부호화 모드는 H.264/AVC와 같은 영상 처리 기술 표준이나 베이스라인 프로파일과 같은 영상 처리 기술 표준의 프로파일 등에 따라 결정될 수 있으며, 복수 개의 부호화 모드 중 특정 부호화 모드 및 나머지 부호화 모드와 나머지 부호화 모드의 순서는 영상의 종류에 따라 결정될 수 있다.
여기서, 영상의 종류는 휘도 및 색도의 변화가 큰 영상과 휘도 및 상기 색도의 변화가 작은 영상을 포함할 수 있다. 즉, 휘도 및 색도의 변화가 큰 영상의 경우에는 영상의 변화가 크고 영상에서 여백이 차지하는 비율이 적을 확률이 높으므로 특정 부호화 모드를 인트라 부호화 모드 중 하나로 설정하고, 나머지 부호화 모드를 나머지 인트라 모드, 인터 모드, 스킵 모드 순으로 설정하는 것이 효율적일 수 있으며, 휘도 및 색도의 변화가 작은 영상의 경우에는 영상의 변화가 작고 영상에서 여백이 차지하는 비율이 클 확률이 높으므로, 도 6 내지 도 8에 도시한 바와 같이, 특정 부호화 모드를 스킵 모드로 설정하고, 나머지 부호화 모드를 인터 모드, 인트라 모드 순으로 설정하는 것이 효율적일 수 있다.
이를 위해, 부호화 모드 결정부(360)의 비용 계산부(410)는 영상의 종류를 사용자 또는 다른 프로그램이나 다른 장치로부터 입력받거나 입력된 영상의 종류를 저장할 수 있다.
이상에서 설명한 바와 같이, 각 부호화 모드에서 블록을 부호화하는 데에 다른 최소 비트량을 고려하여 각 부호화 모드에 대한 율-왜곡 비용의 임계값 즉, 각 부호화 모드의 임계값을 미리 계산하여 설정해 두면, 부호화 모드를 결정하는 과정에서 기준 율-왜곡 비용을 각 부호화 모드의 임계값과 차례로 비교하여 큰 경우에만 해당 부호화 모드에 대한 율-왜곡 비용을 계산하고, 작은 경우에는 해당 부호화 모드에 대한 율-왜곡 비용의 계산을 생략할 수 있다. 따라서, 모든 부호화 모드에 대한 율-왜곡 비용을 계산하지 않고도 최소의 율-왜곡 비용을 가지는 부호화 모드를 결정할 수 있으며, 경우에 따라서는 단 한 번만 율-왜곡 비용을 계산하여 부호화 모드를 결정할 수 있다.
각 부호화 모드에 대한 율-왜곡 비용을 계산하기 위해서는 많은 계산량이 필요하기 때문에, 부호화 모드를 결정하기 위해서 모든 부호화 모드에 대한 율-왜곡 비용을 계산하려면 더욱 많은 계산량이 필요하다. 하지만, 본 발명에 따르면, 압축 효율을 떨어뜨리지 않으면서도 불필요한 계산을 생략할 수 있어서 부호화 속도와 부호화를 위한 시스템 구현 비용을 절감할 수 있다.
이상과 같은 본 발명에 따른 부호화 모드 결정 장치와 부호화 모드 결정 방법을 이용하여 부호화할 때의 효과는 후술하는 실험을 통해 더욱 명확하게 드러난다.
본 발명에 따라 부호화를 수행하여 부호화 속도가 얼마나 향상되는지를 살펴보았는데, H.264 베이스라인 프로파일에 따른 조건에서 부호화를 수행하였으며, H.264 참조 소프트웨어인 JM96을 이용하여 부호화를 수행하였다. 실험에 사용된 영상(Sequence)은 'News'와 'Foreman'을 사용하였고, 해상도(Resolution)는 QCIF(Quarter Common Input Format) 176x144 크기로 사용되었으며, H.264 베이스라인 프로파일에 따라 IPPP 픽처 그룹(GOP: Group of Picture) 구조를 이용하여 10장씩의 프레임을 부호화하였다. 자세한 실험 조건은 표 3에 나타내었다.
Figure 112008056428018-pat00006
표 3과 같은 실험 조건에 따라 실험한 결과는 표 4에 나타내었다.
Figure 112008056428018-pat00007
표 4에서 각 양자화 계수(QP)에 따른 부호화 모드에 대한 율-왜곡 비용의 계산을 생략하는 비율을 확인할 수 있다. 표 4를 통해 알 수 있듯이, 본 발명에 따르면 부호화 효율 즉, 압축률을 떨어뜨리지 않으면서도 불필요한 부호화 모드의 율-왜곡 비용 계산을 생략할 수 있어 부호화 속도를 향상할 수 있다.
한편, 전술한 본 발명의 일 실시예에 따른 부호화 모드 결정 방법은 컴퓨터 프로그램으로 작성 가능하다. 이러한 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 이러한 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 본 발명의 일 실시예에 따른 부호화 모드 결정 방법을 구현한다. 이러한 저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함할 수 있다.
이상에서는 본 발명을 구성하는 기술적 요소들이 모두 결합하여 동작하는 것으로 설명함으로써 본 발명의 최적의 모드에 대해 설명했지만, 본 발명은 이러한 최적의 모드에 한정되는 것이 아니다. 즉, 본 발명의 기술적 요소들은 본 발명의 목적 범위 안에서 모두가 결합하는 형태뿐만 아니라 하나 이상이 선택적으로 결합하여 구성될 수도 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명은 부호화 모드를 결정하는 방법 및 장치와 그를 이용하여 영상을 부호화하는 장치 분야에 적용되어, 압축률을 저하하지 않으면서 영상의 부호화 모드를 신속하게 결정하여 부호화 효율을 향상시킬 수 있는 효과를 발생하는 매우 유용한 발명이다.
도 1은 인터 예측에서 사용되는 블록의 형태를 나타낸 예시도,
도 2는 인트라 예측에서의 다양한 예측 모드를 나타낸 예시도,
도 3은 본 발명의 일 실시예에 따른 영상 부호화 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도,
도 4는 본 발명의 일 실시예에 따른 부호화 모드 결정 장치의 전자적인 구성을 간략하게 나타낸 블록 구성도,
도 5는 H.264 참조 소프트웨어에 따른 율-왜곡 최적화를 위한 순서도,
도 6 내지 도 8은 본 발명의 일 실시예에 따른 부호화 모드 결정 방법을 설명하기 위한 순서도이다.
< 도면의 주요 부분에 대한 부호의 설명 >
410: 비용 계산부 420: 기준 율-왜곡 비용 설정부
430: 임계값 설정부 440: 모드 결정부

Claims (19)

  1. 영상의 부호화 모드를 결정하는 장치에 있어서,
    복수 개의 부호화 모드 중 특정 부호화 모드에 대한 율-왜곡 비용을 계산하고, 기준 율-왜곡 비용과 상기 복수 개의 부호화 모드 중 나머지 부호화 모드의 임계값을 차례로 비교하여 임계값이 상기 기준 율-왜곡 비용보다 작은 나머지 부호화 모드에 대해서만 율-왜곡 비용을 계산하는 비용 계산부;
    상기 특정 부호화 모드에 대한 율-왜곡 비용을 상기 기준 율-왜곡 비용으로 설정하고, 상기 계산된 나머지 부호화 모드에 대한 율-왜곡 비용이 상기 기준 율-왜곡 비용보다 작은 경우에만 상기 계산된 나머지 부호화 모드에 대한 율-왜곡 비용을 상기 기준 율-왜곡 비용으로 재설정하는 기준 율-왜곡 비용 설정부;
    상기 나머지 부호화 모드의 임계값을 설정하는 임계값 설정부; 및
    최종으로 기준 율-왜곡 비용으로 설정된 부호화 모드를 최종 부호화 모드로서 결정하는 모드 결정부
    를 포함하는 것을 특징으로 하는 부호화 모드 결정 장치.
  2. 제 1 항에 있어서, 상기 복수 개의 부호화 모드는,
    상기 특정 부호화 모드로서 스킵 모드를 포함하고, 상기 나머지 부호화 모드로서 인터 16x16 모드, 인터 16x8 모드, 인터 8x16 모드, P8x8 모드, 인트라 16x16 모드 및 인트라 4x4 모드 중 어느 하나를 포함하는 것을 특징으로 하는 부호화 모드 결정 장치.
  3. 제 2 항에 있어서, 상기 비용 계산부는,
    상기 기준 율-왜곡 비용을 상기 나머지 부호화 모드의 임계값과 차례로 비교할 때, 상기 인터 16x16 모드의 임계값, 상기 인터 16x8 모드의 임계값, 상기 인터 8x16 모드의 임계값, 상기 P8x8 모드의 임계값, 상기 인트라 16x16 모드의 임계값 및 상기 인트라 4x4 모드의 임계값의 순서로 비교하는 것을 특징으로 하는 부호화 모드 결정 장치.
  4. 제 1 항에 있어서, 상기 비용 계산부는,
    상기 영상의 종류에 따라 상기 특정 부호화 모드 및 상기 나머지 부호화 모드를 결정하고 상기 나머지 부호화 모드의 순서를 결정하는 것을 특징으로 하는 부호화 모드 결정 장치.
  5. 제 4 항에 있어서, 상기 영상의 종류는,
    휘도 및 색도의 변화가 큰 영상 및 상기 휘도 및 색도의 변화가 작은 영상을 포함하는 것을 특징으로 하는 부호화 모드 결정 장치.
  6. 제 1 항에 있어서, 상기 나머지 부호화 모드의 임계값은,
    각 부호화 모드에서 블록을 부호화하는 데에 따른 최소 비트량을 고려한 율-왜곡 비용인 것을 특징으로 하는 부호화 모드 결정 장치.
  7. 제 6 항에 있어서, 상기 최소 비트량은,
    부호화 모드에 대한 정보, 참조 프레임 인덱스에 대한 정보, 움직임 벡터에 대한 정보, 블록 코딩 패턴과 잔차 신호의 유효 계수에 대한 정보, 델타 양자화 계수에 대한 정보, 색상 인트라 모드에 대한 정보 및 4x4 예측 모드에 대한 정보 중 하나 이상을 부호화하는 데에 따른 비트량의 합인 것을 특징으로 하는 부호화 모드 결정 장치.
  8. 제 1 항에 있어서, 상기 나머지 부호화 모드의 임계값은,
    각 부호화 모드의 최소 율-왜곡 비용인 것을 특징으로 하는 부호화 모드 결정 장치.
  9. 영상의 부호화 모드를 결정하는 방법에 있어서,
    복수 개의 부호화 모드 중 특정 부호화 모드에 대한 율-왜곡 비용을 계산하여 기준 율-왜곡 비용으로 설정하는 설정 단계;
    상기 기준 율-왜곡 비용과 상기 복수 개의 부호화 모드 중 나머지 부호화 모드의 임계값을 차례로 비교하여 임계값이 상기 기준 율-왜곡 비용보다 작은 나머지 부호화 모드에 대해서만 율-왜곡 비용을 계산하는 비용 계산 단계;
    상기 계산된 나머지 부호화 모드에 대한 율-왜곡 비용이 상기 기준 율-왜곡 비용보다 작은 경우에만 상기 계산된 나머지 부호화 모드에 대한 율-왜곡 비용을 상기 기준 율-왜곡 비용으로 재설정하는 재설정 단계; 및
    최종적으로 기준 율-왜곡 비용으로 설정된 부호화 모드를 최종 부호화 모드로서 결정하는 모드 결정 단계
    를 포함하는 것을 특징으로 하는 부호화 모드 결정 방법.
  10. 제 9 항에 있어서, 상기 복수 개의 부호화 모드는,
    상기 특정 부호화 모드로서 스킵 모드를 포함하고, 상기 나머지 부호화 모드로서 인터 16x16 모드, 인터 16x8 모드, 인터 8x16 모드, P8x8 모드, 인트라 16x16 모드 및 인트라 4x4 모드 중 어느 하나를 포함하는 것을 특징으로 하는 부호화 모드 결정 방법.
  11. 제 10 항에 있어서, 상기 비용 계산 단계는,
    상기 기준 율-왜곡 비용을 상기 나머지 부호화 모드의 임계값과 차례로 비교할 때, 상기 인터 16x16 모드의 임계값, 상기 인터 16x8 모드의 임계값, 상기 인터 8x16 모드의 임계값, 상기 P8x8 모드의 임계값, 상기 인트라 16x16 모드의 임계값 및 상기 인트라 4x4 모드의 임계값의 순서로 비교하는 것을 특징으로 하는 부호화 모드 결정 방법.
  12. 제 9 항에 있어서, 상기 비용 계산 단계는,
    상기 영상의 종류에 따라 상기 특정 부호화 모드 및 상기 나머지 부호화 모드를 결정하고 상기 나머지 부호화 모드의 순서를 결정하는 것을 특징으로 하는 부호화 모드 결정 방법.
  13. 제 12 항에 있어서, 상기 영상의 종류는,
    휘도 및 색도의 변화가 큰 영상 및 상기 휘도 및 색도의 변화가 작은 영상을 포함하는 것을 특징으로 하는 부호화 모드 결정 방법.
  14. 제 9 항에 있어서, 상기 부호화 모드 결정 방법은,
    각 부호화 모드에서 블록을 부호화하는 데에 따른 최소 비트량을 고려한 율-왜곡 비용을 상기 나머지 부호화 모드의 임계값으로 설정하는 임계값 설정 단계를 추가로 포함하는 것을 특징으로 하는 부호화 모드 결정 방법.
  15. 제 14 항에 있어서, 상기 최소 비트량은,
    부호화 모드에 대한 정보, 참조 프레임 인덱스에 대한 정보, 움직임 벡터에 대한 정보, 블록 코딩 패턴과 잔차 신호의 유효 계수에 대한 정보, 델타 양자화 계수에 대한 정보, 색상 인트라 모드에 대한 정보 및 4x4 예측 모드에 대한 정보 중 하나 이상을 부호화하는 데에 따른 비트량의 합인 것을 특징으로 하는 부호화 모드 결정 방법.
  16. 제 9 항에 있어서, 상기 부호화 모드 결정 방법은,
    각 부호화 모드의 최소 율-왜곡 비용을 상기 나머지 부호화 모드의 임계값으로 설정하는 임계값 설정 단계를 추가로 포함하는 것을 특징으로 하는 부호화 모드 결정 방법.
  17. 영상을 부호화하는 장치에 있어서,
    상기 영상의 현재 블록을 예측하여 예측 블록을 생성하는 예측부;
    상기 현재 블록에서 상기 예측 블록을 감산하여 잔차 블록을 생성하는 감산부;
    상기 잔차 블록을 주파수 영역으로 변환하고 양자화하는 변환/양자화부;
    상기 변환되고 양자화된 잔차 블록을 부호화하는 부호화부;
    상기 변환되고 양자화된 잔차 블록을 역 변환하고 역 양자화하는 역 변환/역 양자화부; 및
    상기 부호화부로부터 율을 전달받고 상기 역 변환/역 양자화부로부터 왜곡을 전달받아 복수 개의 부호화 모드의 율-왜곡 비용을 차례로 계산하여 상기 율-왜곡 비용이 최소인 부호화 모드를 최종 부호화 모드로서 결정하되, 이전에 결정된 최소의 율-왜곡 비용이 각 부호화 모드에서 블록을 부호화하는 데에 따른 최소 비트량을 고려한 율-왜곡 비용인 임계값보다 큰 경우에만 상기 각 부호화 모드의 율-왜곡 비용을 계산하는 부호화 모드 결정부
    를 포함하는 것을 특징으로 하는 부호화 모드 결정장치.
  18. 영상의 부호화 모드를 결정하는 장치에 있어서,
    복수 개의 부호화 모드 중 특정 부호화 모드에 대한 율-왜곡 비용을 계산하여 기준 율-왜곡 비용으로 설정하고, 상기 기준 율-왜곡 비용과 상기 복수 개의 부호화 모드 중 나머지 부호화 모드의 임계값을 차례로 비교하여 상기 기준 율-왜곡 비용이 상기 나머지 부호화 모드의 임계값보다 큰 경우에만 상기 나머지 부호화 모드에 대한 율-왜곡 비용을 계산하며, 상기 계산된 나머지 부호화 모드에 대한 율-왜곡 비용이 상기 기준 율-왜곡 비용보다 작으면 상기 계산된 나머지 부호화 모드에 대한 율-왜곡 비용을 상기 기준 율-왜곡 비용으로 재설정하되, 최종으로 기준 율-왜곡 비용으로 설정된 부호화 모드를 최종 부호화 모드로서 결정하는 것을 특징으로 하는 부호화 모드 결정장치.
  19. 영상의 부호화 모드를 결정하는 장치에 있어서,
    복수 개의 부호화 모드의 율-왜곡 비용을 차례로 계산하여 상기 율-왜곡 비용이 최소인 부호화 모드를 최종 부호화 모드로서 결정하되, 이전에 결정된 최소의 율-왜곡 비용이 각 부호화 모드에서 블록을 부호화하는 데에 따른 최소 비트량을 고려한 율-왜곡 비용인 임계값보다 큰 경우에만 상기 각 부호화 모드의 율-왜곡 비용을 계산하는 것을 특징으로 하는 부호화 모드 결정장치.
KR1020080076856A 2008-08-06 2008-08-06 부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화장치 KR101359496B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080076856A KR101359496B1 (ko) 2008-08-06 2008-08-06 부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080076856A KR101359496B1 (ko) 2008-08-06 2008-08-06 부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화장치

Publications (2)

Publication Number Publication Date
KR20100018191A KR20100018191A (ko) 2010-02-17
KR101359496B1 true KR101359496B1 (ko) 2014-02-11

Family

ID=42088974

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080076856A KR101359496B1 (ko) 2008-08-06 2008-08-06 부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화장치

Country Status (1)

Country Link
KR (1) KR101359496B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101791078B1 (ko) 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
KR101791242B1 (ko) * 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
WO2011129671A2 (ko) * 2010-04-16 2011-10-20 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
WO2011129673A2 (ko) * 2010-04-16 2011-10-20 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
KR101813189B1 (ko) 2010-04-16 2018-01-31 에스케이 텔레콤주식회사 영상 부호화/복호화 장치 및 방법
WO2011129672A2 (ko) * 2010-04-16 2011-10-20 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
CN108174212B (zh) 2011-10-17 2021-11-02 株式会社Kt 用解码装置对待解码的具有当前块的视频信号解码的方法
KR101330218B1 (ko) * 2012-01-04 2013-11-18 경상대학교산학협력단 동영상 부호화기, 동영상 부호화 방법 및 복호화 방법
KR102126855B1 (ko) * 2013-02-15 2020-06-26 한국전자통신연구원 부호화 모드 결정 방법 및 장치
EP3334163A4 (en) * 2015-08-06 2019-04-17 LG Electronics Inc. DEVICE AND METHOD FOR PERFORMING TRANSFORMATION USING SINGLETON COEFFICIENT UPDATE
US20190364298A1 (en) * 2016-11-22 2019-11-28 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium having bitstream stored thereon
KR101967028B1 (ko) * 2016-12-21 2019-04-09 전자부품연구원 고효율 비디오 부호화 모드 결정방법 및 결정장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050061762A (ko) * 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치
KR100773761B1 (ko) 2006-09-14 2007-11-09 한국전자통신연구원 동영상 부호화 장치 및 방법
KR20080052255A (ko) * 2006-12-06 2008-06-11 한국전자통신연구원 실시간 비디오 신호 압축을 위한 인트라 모드 예측 검색방법 및 장치
KR20080064008A (ko) * 2007-01-03 2008-07-08 삼성전자주식회사 잔차 블록의 계수들에 대한 부호화 결정 방법, 장치,인코더 및 디코더

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050061762A (ko) * 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치
KR100773761B1 (ko) 2006-09-14 2007-11-09 한국전자통신연구원 동영상 부호화 장치 및 방법
KR20080052255A (ko) * 2006-12-06 2008-06-11 한국전자통신연구원 실시간 비디오 신호 압축을 위한 인트라 모드 예측 검색방법 및 장치
KR20080064008A (ko) * 2007-01-03 2008-07-08 삼성전자주식회사 잔차 블록의 계수들에 대한 부호화 결정 방법, 장치,인코더 및 디코더

Also Published As

Publication number Publication date
KR20100018191A (ko) 2010-02-17

Similar Documents

Publication Publication Date Title
KR101359496B1 (ko) 부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화장치
KR101971909B1 (ko) 이산 여현 변환/이산 정현 변환을 선택적으로 이용하는 부호화/복호화 장치 및 방법
JP6672226B2 (ja) 大型マクロ・ブロックを用いたビデオ・コーディング
KR101997604B1 (ko) 영상 부호화/복호화 방법 및 장치
KR101211665B1 (ko) 영상의 인트라 예측 부호화, 복호화 방법 및 장치
KR101431545B1 (ko) 영상의 부호화, 복호화 방법 및 장치
KR100739714B1 (ko) 인트라 예측 모드 결정 방법 및 장치
KR101232420B1 (ko) 컨텍스트-적응형 가변 길이 코딩 (cavlc) 을 위한 레이트-왜곡 양자화
KR101939699B1 (ko) 영상 부호화/복호화 장치 및 방법
KR101196429B1 (ko) 동영상 트랜스코딩 방법 및 그 장치, 이에 사용되는움직임 벡터 보간방법
KR101432775B1 (ko) 서브블록 내 임의 화소를 이용한 영상 부호화/복호화 방법 및 장치
US9503725B2 (en) Method and apparatus for encoding/decoding image for performing intraprediction using pixel value filtered according to prediction mode
KR100727990B1 (ko) 영상의 인트라 예측 부호화 방법 및 그 방법을 사용하는부호화 장치
KR101648065B1 (ko) 고정밀 필터를 이용한 영상 부호화/복호화 방법 및 장치
KR20110073263A (ko) 인트라 예측 부호화 방법 및 부호화 방법, 그리고 상기 방법을 수행하는 인트라 예측 부호화 장치 및 인트라 예측 복호화 장치
KR20070077609A (ko) 인트라 예측 모드 결정 방법 및 장치
KR101781300B1 (ko) 시간 상관도에 기반한 고속 영상 부호화 방법
KR101943058B1 (ko) 영상 부호화/복호화 방법 및 장치
KR20070077955A (ko) 인트라 예측 모드 결정 방법 및 장치
KR101630871B1 (ko) 인트라 예측 모드 결정 방법 및 장치
KR101997599B1 (ko) 비균등 양자화를 이용한 효과적인 부호화/복호화 방법 및 장치
KR101943425B1 (ko) 비균등 양자화를 이용한 효과적인 부호화/복호화 방법 및 장치
KR101796876B1 (ko) 움직임 추정을 이용한 영상 부호화 방법 및 장치
KR101893946B1 (ko) 트랜스코딩 방법 및 장치
Miao et al. Efficient mode selection with extreme value detection based pre-processing algorithm for H. 264/AVC fast intra mode decision

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: 20170103

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180104

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191216

Year of fee payment: 7