KR101379186B1 - 인트라 예측 부호화/복호화 방법 및 장치 - Google Patents

인트라 예측 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR101379186B1
KR101379186B1 KR1020090077449A KR20090077449A KR101379186B1 KR 101379186 B1 KR101379186 B1 KR 101379186B1 KR 1020090077449 A KR1020090077449 A KR 1020090077449A KR 20090077449 A KR20090077449 A KR 20090077449A KR 101379186 B1 KR101379186 B1 KR 101379186B1
Authority
KR
South Korea
Prior art keywords
mode
block
intra prediction
bit field
prediction mode
Prior art date
Application number
KR1020090077449A
Other languages
English (en)
Other versions
KR20110019856A (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 KR1020090077449A priority Critical patent/KR101379186B1/ko
Priority to US13/391,583 priority patent/US9451262B2/en
Priority to PCT/KR2010/005567 priority patent/WO2011021910A2/ko
Publication of KR20110019856A publication Critical patent/KR20110019856A/ko
Application granted granted Critical
Publication of KR101379186B1 publication Critical patent/KR101379186B1/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
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

본 발명은 인트라 예측 부호화/복호화 방법 및 장치에 관한 것이다.
본 발명은 입력 영상에서 부호화하고자 하는 각 블록의 인트라 예측 모드를 기 설정된 인트라 예측 모드 또는 소정의 모드 결정 방법에 따른 인트라 예측 모드로 선택하고, 선택된 인트라 예측 모드에 따라 각 블록을 인트라 예측하여 생성한 잔차 블록을 부호화하여 계수 비트를 생성하며, 소정의 모드 결정 방법에 따른 인트라 예측 모드를 나타내는 모드 식별자를 부호화하여 모드 비트를 생성하며, 하나 이상의 블록에 대한 모드 비트를 포함하는 모드 비트 필드와 각 블록에 대한 계수 비트를 포함하는 계수 비트 필드를 포함하는 비트스트림을 생성하며, 모드 비트 필드를 식별하기 위한 모드 비트 필드 지시자를 비트스트림에 포함시키는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
본 발명에 의하면, 영상의 압축을 위한 예측 모드의 선택 과정을 간소화하여 압축 속도를 향상시키고 압축된 데이터의 크기를 줄여 압축 효율을 향상시킬 수 있다.
부호화, 복호화, 예측 모드, 매크로블록, 서브블록, 모드 식별자

Description

인트라 예측 부호화/복호화 방법 및 장치{Inrtra Prediction Enoding/Decoding Method and Apparatus}
본 발명은 인트라 예측 부호화/복호화 방법 및 장치에 관한 것이다. 더욱 상세하게는, 영상을 압축하기 위한 예측 모드의 선택 과정을 간소화하여 압축 속도를 향상시키고 압축된 데이터의 크기를 줄여 압축 효율을 향상시키는 방법 및 장치에 관한 것이다.
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와 같은 영상 압축 기술에서는 효율적인 영상 압축을 위해, 인터 예측, 인트라 예측 등 다양한 예측 기술을 이용한다. 여기서, 인트라 예측에는 인트라 4×4 예측, 인트라 16×16 예측 및 인트라 8×8 예측 등의 다양한 예측 방식이 있는데, 각 인트라 예측에는 복수 개의 예측 모드를 포함한다.
H.264/AVC와 같은 영상 압축 기술에서는 복수 개의 예측 모드 중에서 각 블 록을 압축하는 데 가장 성능이 좋은 최적의 예측 모드를 선택하여 예측을 수행한다. 따라서, 어떤 예측 모드를 최적의 예측 모드로 선택하여 예측을 수행하는가에 따라서 압축 효율이 달라지는데, 최적의 예측 모드를 선택하기 위해서는 모든 예측 모드에 따라 블록의 예측을 수행한 이후 소정의 비용 함수를 사용하여 부호화 비용을 계산한 후 부호화 비용이 가장 작은 예측 모드를 선택한다.
따라서, 인트라 4×4 예측이든 인트라 16×16 예측이든지 간에, 최적의 예측 모드를 결정하기 위해서는 복수 개의 예측 모드를 모두 적용하여 예측을 수행하고 부호화 비용을 계산해야만 한다. 이는 부호화 과정이 복잡하게 되어 부호화 효율 또는 압축 효율을 떨어뜨리는 문제점을 발생시킨다.
또한, 영상을 올바르게 복호화하기 위해서는 선택된 최적의 예측 모드에 대한 정보도 함께 부호화해야 한다. 최근에는 고해상도의 영상에 대한 요구 사항이 점차 커짐에 따라, 부호화할 블록의 수가 증가하게 되어 각 블록별로 최적의 예측 모드에 대한 정보를 부호화하는데 필요한 비트의 양이 더욱 증가하고 있으며, 이로 인해 압축 효율이 저하되는 문제점이 있다.
전술한 문제점을 해결하기 위해 본 발명은, 영상을 압축을 위한 예측 모드의 선택 과정을 간소화하여 압축 속도를 향상시키고 압축된 데이터의 크기를 줄여 압축 효율을 향상시키는 데 주된 목적이 있다.
전술한 목적을 달성하기 위해 본 발명은, 영상을 부호화하는 장치에 있어서, 입력 영상에서 부호화하고자 하는 각 블록의 인트라 예측 모드를 기 설정된 인트라 예측 모드 또는 소정의 모드 결정 방법에 따른 인트라 예측 모드로 선택하는 예측 모드 선택기; 선택된 인트라 예측 모드에 따라 각 블록을 인트라 예측하여 생성한 잔차 블록을 부호화하여 계수 비트를 생성하는 인트라 예측 부호화기; 및 소정의 모드 결정 방법에 따른 인트라 예측 모드를 나타내는 모드 식별자를 부호화하여 모드 비트를 생성하고, 하나 이상의 블록에 대한 모드 비트를 포함하는 모드 비트 필드와 각 블록에 대한 계수 비트를 포함하는 계수 비트 필드를 포함하는 비트스트림을 생성하되, 모드 비트 필드를 식별하기 위한 모드 비트 필드 지시자를 비트스트림에 포함시키는 비트스트림 생성기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
또한, 본 발명의 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 입력 영상에서 부호화하고자 하는 각 블록의 인트라 예측 모드를 기 설정된 인트라 예측 모드 또는 소정의 모드 결정 방법에 따른 인트라 예측 모드로 선택하는 단계; 선택된 인트라 예측 모드에 따라 각 블록을 인트라 예측하여 생성한 잔차 블록을 부호화하여 계수 비트를 생성하는 단계; 소정의 모드 결정 방법에 따른 인트라 예측 모드를 나타내는 모드 식별자를 부호화하여 모드 비트를 생성하는 단계; 하나 이상의 블록에 대한 모드 비트를 포함하는 모드 비트 필드와 각 블록에 대한 계수 비트를 포함하는 계수 비트 필드를 포함하는 비트스트림을 생성하는 단계; 및 모드 비트 필드를 식별하기 위한 모드 비트 필드 지시자를 비트스트림에 포함시키는 단 계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 비트스트림으로부터 모드 비트 필드 지시자를 추출하고, 추출된 모드 비트 필드 지시자를 이용하여 비트스트림으로부터 모드 비트 필드 및 계수 비트 필드를 추출하며, 모드 비트 필드의 모드 비트를 복호화하여 하나의 이상의 모드 식별자를 복원하는 비트스트림 추출기; 기 설정된 인트라 예측 모드 또는 복원된 하나 이상의 모드 식별자가 나타내는 인트라 예측 모드를 복호화하고자 하는 각 블록의 인트라 예측 모드로서 선택하는 예측 모드 선택기; 및 계수 비트 필드의 계수 비트를 복호화하여 각 블록의 잔차 블록을 복원하며, 선택된 각 블록의 인트라 예측 모드에 따라 각 블록을 예측한 예측 블록과 복원된 잔차 블록을 이용하여 각 블록을 복원하는 인트라 예측 복호화기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림으로부터 모드 비트 필드 지시자를 추출하는 단계; 모드 비트 필드 지시자를 이용하여 비트스트림으로부터 모드 비트 필드 및 계수 비트 필드를 추출하는 단계; 모드 비트 필드의 모드 비트를 복호화하여 하나 이상의 모드 식별자를 복원하는 단계; 계수 비트 필드의 계수 비트를 복호화하여 복호화하고자 하는 각 블록의 잔차 블록을 복원하는 단계; 기 설정된 인트라 예측 모드 또는 복원된 하나 이상의 모드 식별자가 나타내는 인트라 예측 모드를 복호화하고자 하는 각 블록의 인트라 예측 모드로서 선택하는 단계; 선택된 각 블록의 인트라 예측 모드에 따라 각 블록을 예측한 예측 블록과 복원된 잔차 블록을 이용하여 각 블록을 복원하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
이상에서 설명한 바와 같이 본 발명에 의하면, 영상의 압축을 위한 예측 모드의 선택 과정을 간소화하여 압축 속도를 향상시키고 압축된 데이터의 크기를 줄여 압축 효율을 향상시킬 수 있다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
이하에서 후술할 영상 부호화 장치(Video Encoding Apparatus), 영상 복호화 장치(Video Decoding Apparatus) 또는 예측 모드 선택 장치(Prediction Mode Selection Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하거나 예측 모드를 선택하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등의 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.
또한, 영상 부호화 장치와 영상 복호화 장치에는 인트라 예측뿐만 아니라 인터 예측을 수행하기 위한 기능이 구비될 수 있지만, 본 발명의 실시예와 직접적인 관계가 없기 때문에, 혼란을 방지하기 위해 상세한 설명을 생략한다.
통상적으로 동영상은 일련의 픽처(Picture)로 구성되어 있으며, 각 픽처들은 블록(Block)으로 분할된다. 각 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류된다. 인트라 블록은 인트라 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 인트라 예측 부호화란 현재 부호화를 수행하는 현재 픽처 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다. 인터 블록은 인터 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 인터 예측 부호화란 하나 이상의 과거 픽처 또는 미래 픽처를 참조하여 현재 픽처 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽처를 부호화하거나 복호화하는데 참조되는 픽처를 참조 픽처(Reference Picture)라고 한다.
도 1은 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
영상 부호화 장치(100)는 예측기(Predictor, 110), 감산기(Subtracter, 120), 변환기(Transformer, 130), 양자화기(Quantizer, 140), 부호화기(Encoder, 150), 역 양자화기(Inverse Quantizer, 160), 역 변환기(Inverse Transformer, 170) 및 가산기(Adder, 180)를 포함할 수 있다.
예측기(110)는 현재 블록(Current Block)을 인트라 예측(Intra Prediction)하여 예측 블록(Predicted Block)을 생성한다. 즉, 예측기(110)는 입력 영상(Input Picture)에서 현재 부호화하고자 하는 블록 즉, 현재 블록이 입력되면, 현재 블록의 화소(Pixels)의 원 화소값(Original Pixel Values)을 복수 개의 인트라 예측 모드 중 선택되는 인트라 예측 모드(Intra Prediction Mode)의 예측 방향(Prediction Direction)에 따라 예측하여 예측 화소값(Predicted Pixel Values)을 가지는 예측 블록을 생성하여 출력한다.
여기서, 복수 개의 인트라 예측 모드는 현재 블록의 블록 모드(Block Mode)에 따른 복수 개의 인트라 예측 모드이거나 사용자에 의해 미리 설정되는 복수 개의 인트라 예측 모드일 수 있다. 예를 들어, H.264/AVC 표준에 따라 동영상을 압축하고 현재 블록의 블록 모드가 인트라 16x16 모드라고 가정하면, 복수 개의 인트라 예측 모드는 H.264/AVC 표준에서 정의하는 인트라 16x16 모드의 예측 모드인 4 개의 인트라 예측 모드가 될 수 있다. 또한, 동일한 경우, 사용자가 4 개의 인트라 예측 모드 중 수평 모드(Horizontal Mode)와 수직 모드(Vertical Mode)를 미리 설정한 경우, 복수 개의 인트라 예측 모드는 인트라 16x16 모드 중 수평 모드와 수직 모드가 될 수 있다.
감산기(120)는 현재 블록과 예측 블록을 감산하여 현재 블록의 잔차 블록(Residual Block)을 생성한다. 여기서, 출력되는 잔차 블록은 잔차 신호(Residual Signal)를 포함하는데, 잔차 신호는 현재 블록의 원 화소값에서 예측 블록의 예측 화소값을 뺀 값을 가진다.
변환기(130)는 잔차 블록을 변환하여 변환 블록(Transformed Block)을 생성한다. 즉, 변환기(130)는 감산기(120)로부터 출력되는 잔차 블록의 잔차 신호를 주파수 영역(Frequency Domain)으로 변환하여 변환 계수(Transform Coefficient)를 가지는 변환 블록을 생성하여 출력한다. 여기서, 잔차 신호를 주파수 영역으로 변환 방법으로서는 이산 코사인 변환(DCT: Discrete Cosine Transform) 기반 변환 또 는 하다마드 변환(Hadamard Transform) 등이 이용될 수도 있지만, 반드시 이에 한정되지 않고 DCT 변환을 개량 및 변형한 기법과 같은 다양한 변환 기법을 이용될 수 있으며, 이를 이용하여 잔차 신호가 주파수 영역으로 변환되어 변환 계수로 변환된다.
양자화기(140)는 변환 블록을 양자화하여 양자화된 변환 블록을 생성한다. 즉, 양자화기(140)는 변환기(130)로부터 출력되는 변환 블록의 변환 계수들을 양자화하여 양자화된 변환 계수를 가지는 양자화된 변환 블록(Quantized Transform Coefficient)을 생성하여 출력한다. 여기서, 양자화 방법으로서는 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization) 또는 양자화 가중치 매트릭스(Quantization Weighted Matrix) 등이 이용될 수 있지만 이를 개량한 양자화 등 다양한 양자화 방법이 이용될 수 있다.
부호화기(150)는 양자화된 변환 블록을 부호화하여 비트스트림을 출력한다. 즉, 부호화기(150)는 양자화기(140)로부터 출력되는 양자화된 변환 블록의 양자화된 변환 계수를 지그재그 스캔 등 다양한 스캔 방식으로 스캔한 주파수 계수열을 엔트로피 부호화(Entropy Encoding) 등 다양한 부호화 기법을 이용하여 부호화하고 해당 블록을 복호화하는 데 필요한 부가적인 정보들(예를 들면, 예측 모드에 대한 정보, 양자화 계수(Quantization Parameter), 움직임 벡터(Motion Vector) 등)을 함께 포함하는 비트스트림을 생성하고 출력한다.
역 양자화기(160)는 양자화된 변환 블록을 역 양자화한다. 즉, 역 양자화기(160)는 양자화기(140)로부터 출력되는 양자화된 변환 블록의 양자화 변환 계수 들을 역 양자화하여 출력한다.
역 변환기(170)는 역 양자화된 변환 블록을 역 변환한다. 즉, 역 변환기(170)는 역 양자화기(160)에 의해 역 양자화된 변환 계수를 역 변환하여 복원된 잔차 계수를 가지는 잔차 블록을 복원한다.
가산기(180)는 예측기(110)에 의해 예측된 예측 블록과 역 변환기(170)에 의해 역 변환되어 복원된 잔차 블록을 가산하여 현재 블록을 복원한다. 복원된 현재 블록은 예측기(110)로 전달되어 다음 블록 또는 다음 픽처 등 다른 블록을 예측하는 데 활용될 수 있다.
도 2는 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
영상 복호화 장치(200)는 복호화기(Decoder, 210), 역 양자화기(220), 역 변환기(230), 예측기(240) 및 가산기(250)를 포함할 수 있다.
복호화기(210)는 비트스트림을 복호화하여 양자화된 변환 블록을 추출한다. 즉, 복호화기(210)는 입력되는 비트스트림으로부터 추출된 비트열을 복호화하고 역 스캐닝하여 양자화된 변환 계수를 가지는 양자화된 변환 블록을 복원한다. 이때, 복호화기(210)는 영상 부호화 장치(100)의 부호화기(150)에서 이용한 엔트로피 부호화와 같은 부호화 기법을 이용하여 복호화한다.
역 양자화기(220)는 양자화된 변환 블록을 역 양자화한다. 즉, 역 양자화기(220)는 복호화기(210)로부터 출력되는 양자화된 변환 블록의 양자화된 변환 계수를 역 양자화한다. 이때, 역 양자화기(220)는 영상 부호화 장치(100)의 양자화기(140)에서 이용한 양자화 기법을 역으로 수행하여 역 양자화한다.
역 변환기(230)는 역 양자화기(220)로부터 출력되는 역 양자화된 변환 블록을 역 변환하여 잔자 블록을 복원한다. 즉, 역 변환기(230)는 역 양자화기(220)로부터 출력되는 역 양자화된 변환 블록의 역 양자화된 변환 계수를 역 변환함으로써 복원된 잔차 신호를 가지는 잔차 블록을 복원하는데, 영상 부호화 장치(100)의 변환기(130)에서 이용한 변환 기법을 역으로 수행하여 역 변환한다.
예측기(240)는 비트스트림으로부터 추출된 인트라 예측 모드에 따른 예측 방향에 따라 현재 블록을 예측하여 예측 블록을 생성한다.
가산기(250)는 예측 블록과 복원된 잔차 블록을 가산하여 현재 블록을 복원한다. 즉, 가산기(250)는 예측기(240)로부터 출력되는 예측 블록의 예측 화소값과 역 변환기(230)로부터 출력되는 복원된 잔차 블록의 복원된 잔차 신호를 가산하여 현재 블록의 복원 화소값을 산함으로써, 현재 블록을 복원한다.
도 1 및 도 2를 통해 전술한 영상 부호화 장치와 영상 복호화 장치의 인트라 예측은 도 3 및 도 4에 도시한 바와 같은 복수 개의 인트라 예측 모드 중에서 최적의 인트라 예측 모드를 선택하고 선택된 최적의 인트라 예측 모드의 예측 방향에 따라 블록을 예측한다.
도 3은 9 가지의 인트라 4×4 예측 모드를 나타낸 예시도이다.
도 3을 참조하면, 인트라 4×4 예측에는, 수직(Vertical) 모드, 수평(Horizontal) 모드, DC(Direct Current) 모드, 대각선 왼쪽(Diagonal down-left) 모드, 대각선 오른쪽(Diagonal down-right), 수직 오른쪽(Vertical-right) 모드, 수평 아래쪽(Horizontal-down) 모드, 수직 왼쪽(Vertical-left) 및 수평 위 쪽(Vertical-up) 모드를 포함하는 9 가지의 예측 모드가 있으며, 9 개의 예측 모드에는 모드 번호가 부여된다. 인트라 8×8 예측도 인트라 4×4 예측과 유사한 9가지의 예측 모드가 있다.
도 4는 4 가지의 인트라 16×16 예측 모드를 나타낸 예시도이다.
도 4를 참조하면, 인트라 16×16 예측에는, 수직(Vertical) 모드, 수평(Horizontal) 모드, DC 모드 및 플래인(Plane) 모드를 포함하는 4 가지의 예측 모드가 있으며, 4 개의 예측 모드에는 모드 번호가 부여된다.
도 5는 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 부호화 장치(500)는 예측 모드 선택기(Prediction Mode Selector, 510), 인트라 예측 부호화기(Intra Prediction Encoder, 520) 및 비트스트림 생성기(Bitstream Generator, 530)를 포함할 수 있다.
예측 모드 선택기(510)는 입력 영상에서 부호화하고자 하는 각 블록의 인트라 예측 모드를 기 설정된 인트라 예측 모드 또는 소정의 모드 결정 방법에 따른 인트라 예측 모드로 선택한다.
예측 모드 선택기(510)는 각 블록의 인접 화소(Adjacent Pixel)의 화소값(Pixel Value)의 변화량(Variation)이 임계값(Th: Threshold)보다 작은 경우에는 기 설정된 인트라 예측 모드를 각 블록의 인트라 예측 모드로서 선택할 수 있다. 여기서, 기 설정된 인트라 예측 모드는 각 블록의 인접 화소의 화소값의 평균값을 각 블록의 화소들의 예측 화소값으로 예측하는 인트라 예측 모드(예를 들면, H.264/AVC의 경우에는 DC 모드)일 수 있다. 각 블록의 인접 화소란 각 블록의 주변에 있는 주변 블록에 포함된 화소 중 하나일 수 있으며, 특히 주변 블록에 포함된 화소 중 각 블록과 인접한 화소일 수 있다. 또한, 각 블록의 인접 화소는 인트라 예측 부호화기(520)에 의해 부호화되고 복호화되어 기 복원된 화소일 수 있다.
또한, 예측 모드 선택기(510)는 각 블록의 인접 화소의 화소값의 변화량이 임계값보다 크거나 같은 경우에는 소정의 모드 결정 방법에 따른 인트라 예측 모드를 각 블록의 인트라 예측 모드로서 선택할 수 있다. 이를 위해, 예측 모드 선택기(510)는 복수 개의 인트라 예측 모드 각각을 차례로 기 설정된 모드 선택 기준에 적용하여 하나의 인트라 예측 모드를 선택하되, 복수 개의 인트라 예측 모드 중 DC 모드를 기 설정된 모드 선택 기준에 마지막으로 적용할 수 있다. 여기서, 소정의 모드 결정 방법은 기 설정된 모드 선택 기준에 따라 복수 개의 인트라 예측 모드 중 하나의 인트라 예측 모드를 선택하고 선택된 하나의 인트라 예측 모드를 각 블록의 인트라 예측 모드로서 선택하는 방법일 수 있는데, 기 설정된 모드 선택 기준이란 영상 부호화 장치와 영상 복호화 장치가 미리 약속하여 설정한 모드 선택 기준으로서, 예를 들면 율-왜곡 최적화(RDO: Rate-Distortion Optimization)와 같은 비용 함수가 될 수 있다. 따라서, 기 설정된 모드 선택 기준을 이용하면 율-왜곡 비용과 같은 부호화 비용이 최소인 인트라 예측 모드가 최적의 인트라 예측 모드로서 선택될 수 있다.
또한, 예측 모드 선택기(510)는 블록의 인접 화소의 화소값의 변화량을 산포 도(Degree of Scattering)를 이용하여 계산할 수 있다. 여기서, 산포도는 분산(Dispersion), 표준편차(Standard Deviation), 평균편차(Mean Deviation), 사분편차(Quartile Deviation) 등과 같은 것일 수 있다. 여기서, 임계값은 블록의 양자화 계수 및 양자화 단계 크기 등과 같은 것에 따라 설정될 수 있다.
인트라 예측 부호화기(520)는 예측 모드 선택기(510)에 의해 선택된 인트라 예측 모드에 따라 각 블록을 인트라 예측하여 생성한 잔차 블록을 부호화하여 계수 비트를 생성한다. 즉, 인트라 예측 부호화기(520)는 선택된 각 블록의 인트라 예측 모드에 따라 각 블록을 인트라 예측하여 생성한 잔차 블록을 부호화하여 계수 비트(Coefficient Bit)를 생성한다. 이러한 인트라 예측 부호화기(520)는 도 1을 통해 전술한 영상 부호화 장치(100)와 같이 구성될 수 있다. 즉, 인트라 예측 부호화기(520)는 예측 모드 선택기(510)에 의해 선택된 인트라 예측 모드에 따라 부호화하고자 하는 각 블록을 예측하여 예측 블록을 생성하고, 생성된 예측 블록을 각 블록과 감산하여 잔차 블록을 생성하며, 잔차 블록의 잔차 신호를 변환 및 양자화하여 양자화 주파수 계수를 생성하여 스캔 및 엔트로피 부호화 등을 수행하여 계수 비트를 생성할 수 있다. 이때, 변환 및/또는 양자화 과정은 구현 방식에 따라 선택적으로 생략될 수 있다.
또한, 각 블록은 매크로블록 단위로 정해지거나 서브블록 단위로 정해질 수 있다. 여기서, 매크로블록은 16×16 크기이고 서브블록은 4×4 크기일 수 있지만, 반드시 이에 한정하지 않고 다양한 크기의 블록일 수 있다. 예를 들어, 매크로블록은 16×16 크기, 32×32 크기, 8×8 크기 등과 같은 M×N 크기(단, M, N은 정수임) 의 블록일 수 있으며, 서브블록은 매크로블록의 크기보다 작다면 16×16 크기, 32×32 크기, 8×8 크기 등과 같은 M×N 크기(단, M, N은 정수임)의 블록일 수 있다.
또한, 인트라 예측 부호화기(520)는 양자화 주파수 계수를 역 양자화하고 역 변환하여 잔차 블록을 복원하고 예측 블록과 복원된 잔차 블록을 가산하여 각 블록을 복원할 수 있는데, 이와 같이 복원된 각 블록은 메모리와 같은 저장 장치에 저장되어 다음 블록, 다음 슬라이스 또는 다음 픽처를 예측하는 데 활용될 수 있으며, 특히 이와 같이 저장된 복원 화소들이 예측 모드 선택기(510)로 전달되어 각 블록의 인접 화소로서 활용될 수 있다.
비트스트림 생성기(530)는 소정의 모드 결정 방법에 따른 인트라 예측 모드를 나타내는 모드 식별자(Mode Identifier)를 부호화하여 모드 비트(Mode Bit)를 생성하고, 하나 이상의 블록에 대한 모드 비트를 포함하는 모드 비트 필드(Mode Bit Field)와 각 블록에 대한 계수 비트를 포함하는 계수 비트 필드(Coefficient Field)를 포함하는 비트스트림을 생성하되, 모드 비트 필드를 식별하기 위한 모드 비트 필드 지시자(Mode Bit Field Pointer)를 비트스트림에 포함시킨다.
즉, 비트스트림 생성기(530)는 각 블록의 계수 비트를 매크로블록 단위, 슬라이스 단위 또는 픽처 단위로 모아서 계수 비트 필드를 구성하고, 예측 모드 선택기(510)에서 소정의 모드 결정 방법에 따라 인트라 예측 모드가 결정되는 블록에 대한 인트라 예측 모드를 나타내는 모드 식별자를 부호화하여 매크로블록 단위, 슬라이스 단위 또는 픽처 단위로 모아서 모드 비트 필드를 구성한다. 이와 같이 구성된 모드 비트 필드와 계수 비트 필드는 매크로블록 데이터, 슬라이스 데이터 또는 픽처 데이터에 포함될 수 있다.
이때, 비트스트림 생성기(530)는 예측 모드 선택기(510)에 의해 결정된 각 블록의 인트라 예측 모드를 나타내는 모드 식별자를 모두 부호화하여 모드 비트 필드를 구성하는 것이 아니라, 각 블록의 인접 화소의 변화량이 임계값보다 커서 기 설정된 인트라 예측 모드가 아닌 소정의 모드 결정 방법에 따라 결정된 인트라 예측 모드를 나타내는 모드 식별자만을 부호화하여 모드 비트 필드를 구성한다. 이는 기 설정된 인트라 예측 모드로 해당 블록의 인트라 예측 모드가 결정되었다면, 영상 복호화 장치에서도 각 블록의 인접 화소의 변화량에 따라 해당 블록의 인트라 예측 모드가 기 설정된 인트라 예측 모드로 결정되었음을 알 수 있고, 그에 따라 해당 블록의 인트라 예측 모드를 올바르게 선택할 수 있으므로, 영상 부호화 장치(500)가 해당 블록에 대한 인트라 예측 모드를 나타내는 모드 식별자를 부호화하여 전송할 필요가 없기 때문이다. 이와 같이, 본 발명의 일 실시예에서는 블록의 인트라 예측 모드가 기 설정된 인트라 예측 모드로 결정되는 경우, 해당 블록의 인트라 예측 모드를 나타내는 모드 비트를 전송할 필요가 없으므로, 비트스트림의 비트량을 줄일 수 있어서 압축 효율 즉, 부호화 효율을 향상시킬 수 있다.
또한, 비트스트림 생성기(530)는 모드 비트 필드의 크기 또는 위치를 나타내는 모드 비트 필드 식별자를 매크로블록 헤더, 슬라이스 헤더 또는 픽처 헤더에 포함시키는데, 비트스트림의 매크로블록 데이터, 슬라이스 데이터 또는 픽처 데이터에서 모드 비트 필드가 계수 비트 필드보다 앞에 위치하는 경우에는 모드 비트 필드 식별자가 모드 비트 필드의 크기를 나타내도록 생성하여 포함시키고, 반대로 비 트스트림의 매크로블록 데이터, 슬라이스 데이터 또는 픽처 데이터에서 모드 비트 필드가 계수 비트 필드보다 뒤에 위치하는 경우에는 모드 비트 필드 식별자가 모드 비트 필드의 위치를 나타내도록 생성하여 포함시킬 수 있다.
여기서, 모드 비트 필드 지시자는 모드 비트 필드의 크기 또는 위치를 나타낼 수 있는데, 비트스트림의 매크로블록 헤더, 슬라이스 헤더 및 픽처 헤더 중 하나에 포함될 수 있다. 모드 비트 필드 및 계수 비트 필드는 비트스트림의 매크로블록 데이터, 슬라이스 데이터 및 픽처 데이터 중 하나에 포함될 수 있다. 만약, 비트스트림의 매크로블록 데이터, 슬라이스 데이터 및 픽처 데이터 중 하나에서 모드 비트 필드가 계수 비트 필드 앞에 위치하면, 모드 비트 필드 지시자는 모드 비트 필드의 크기를 나타낼 수 있으며, 비트스트림의 매크로블록 데이터, 슬라이스 데이터 및 픽처 데이터 중 하나에서 모드 비트 필드가 계수 비트 필드 뒤에 위치하는 경우, 모드 비트 필드 지시자는 모드 비트 필드의 비트스트림 내에서의 위치를 나타낼 수 있다.
도 6은 본 발명의 일 실시예에 따른 부호화를 위한 예측 모드 선택 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 부호화를 위한 예측 모드 선택 장치는 도 5에서는 예측 모드 선택기(510)로 구현될 수 있다. 이하에서는 설명의 편의를 위해, 일 실시예에 따른 부호화를 위한 예측 모드 선택 장치를 예측 모드 선택기(510)라 칭한다.
예측 모드 선택기(510)는 변화량 계산기(Variation Calculator, 610), 모드 선택기(Mode Selector, 620) 및 모드 식별자 생성기(Mode Identifier Generator, 630)를 포함할 수 있다.
변화량 계산기(610)는 각 블록의 인접 화소의 화소값의 변화량을 계산한다. 예를 들어, 변화량 계산기(610)는 각 블록의 주변 블록에 포함된 화소들 중 인접 화소들의 화소값의 변화량을 산포도를 이용하여 계산할 수 있다. 여기서, 산포도는 인접 화소들의 분산, 표준편차, 평균편차, 사분편차 등과 같은 것을 나타내는 통계지표일 수 있다. 따라서, 인접 화소의 화소값의 변화량은 각 블록의 인접 화소들이 서로 얼마나 유사한지를 나타내는 지표가 될 수 있다. 변화량이 적으면 적을수록 각 블록의 인접 화소들은 더욱 유사한 것으로 볼 수 있다.
일 예로, 매크로블록, 슬라이스 또는 픽처 내의 각 블록 중 하나의 블록을 부호화하고자 하는 현재 블록이 N×M 크기(N, M은 자연수)인 것으로 가정하면, 표준편차를 이용하여 인접 화소의 화소값에 대한 변화량을 계산하는 경우, 변화량 계산기(610)는 수학식 1을 이용하여 인접 화소의 화소값의 변화량(σp)을 계산할 수 있다.
Figure 112009051162626-pat00001
Figure 112009051162626-pat00002
Figure 112009051162626-pat00003
Figure 112009051162626-pat00004
Figure 112009051162626-pat00005
모드 선택기(620)는 계산된 변화량이 임계값보다 작은 경우에는 기 설정된 인트라 예측 모드를 각 블록의 인트라 예측 모드로서 선택하고 계산된 변화량이 임계값보다 크거나 같은 경우에는 소정의 모드 결정 방법에 따라 복수 개의 인트라 예측 모드 중 하나의 인트라 예측 모드를 선택하여 선택된 하나의 인트라 예측 모드를 각 블록의 인트라 예측 모드로서 선택한다. 즉, 모드 선택기(620)는 임계값을 계산하여 적절히 설정하고, 변화량 계산기(610)에 의해 계산된 인접 화소의 화소값의 변화량을 임계값과 비교함으로써 인접 화소들의 유사성을 평가하여, 평가된 유사성에 따라 각 블록의 인트라 예측 모드를 선택한다.
통상적인 압축 기술에 따르면, 블록의 인트라 예측 모드를 선택하기 위해서는 복수 개의 인트라 예측 모드에 대해 모두 율-왜곡 최적화와 같은 것을 수행하여 율-왜곡 비용이 최소인 하나의 인트라 예측 모드를 최적의 인트라 예측 모드로 선택하여 해당 블록의 인트라 예측 모드로 선택한다. 하지만, 블록의 인접 화소들의 유사성이 큰 경우에는 복수 개의 인트라 예측 모드에 대해 모두 율-왜곡 최적화를 수행할 필요가 없이 인접 화소의 유사성이 클 때 예측 효율이 가장 좋은 인트라 예측 모드를 해당 블록의 인트라 예측 모드로 선택하는 것이 효율적이다.
도 7을 참조하면, 도 7의 7A에서는 H.264의 인트라 4×4 모드에 따라 블록을 예측하는 데 사용되는 화소들을 나타내었다. a 내지 p까지의 16개의 화소들은 블록의 화소들을 나타내고, A 내지 M까지의 13개의 화소들은 블록의 인접 화소들을 나타낸다.
도 3에 도시된 인트라 4×4 모드에 따른 9가지 예측 모드를 이용하여 7A에 도시된 블록을 인트라 예측하면, 이미 압축되어 복원된 A 내지 M의 화소값을 이용하여 9개의 예측 방향에 따라 인트라 예측을 수행하고 부호화한다.
예를 들어, 도 3에 도시된 1 번 예측 모드인 수평(Horizontal) 모드에 따라 수평 방향으로 인트라 예측을 수행하면, 블록의 첫 번째 행의 a, b, c, d 화소는 수학식 2와 같이 예측된다.
Figure 112009051162626-pat00006
그리고 도 3에 도시된 3번 예측 모드인 대각선 왼쪽(Diagonal down-left) 모드에 따라 대각선 왼쪽 방향으로 인트라 예측을 수행하면, 블록의 첫 번째 행의 a, b, c, d 화소는 수학식 3과 같이 예측된다.
Figure 112009051162626-pat00007
그외의 다른 예측 모드에 대해서도 유사한 방법으로 인접 화소들의 화소값을 이용해서 예측을 수행하여 잔차 신호를 생성할 수 있다.
하지만, 7B에 나타낸 바와 같이, 블록의 인접 화소들이 모두 N으로 모두 동일한 경우, 도 3에 도시된 1 번 예측 모드인 수평(Horizontal) 모드에 따라 수평 방향으로 인트라 예측하면, 블록의 첫 번째 행의 a, b, c, d 화소는 수학식 4와 같이 예측된다.
Figure 112009051162626-pat00008
또한, 도 3에 도시된 3번 예측 모드인 대각선 왼쪽(Diagonal down-left) 모드에 따라 대각선 왼쪽 방향으로 인트라 예측하면, 블록의 첫 번째 행의 a, b, c, d 화소는 수학식 5와 같이 예측된다.
Figure 112009051162626-pat00009
수학식 4 및 수학식 5를 통해서, 7B에 나타낸 바와 같은 블록의 인접 화소들이 모두 동일한 화소값을 갖는다면, 인트라 4×4 모드 예측을 위한 9가지의 예측 모드에 따라 블록을 예측하여도 모두 동일한 결과를 얻을 수 있다는 것을 알 수 있 다. 따라서, 블록의 인접 화소들이 모두 동일한 화소값을 갖는다면, 어느 한 가지의 예측 모드에 따라 인트라 예측을 수행하여도 예측 성능이나 압축 성능이 떨어지지 않는다는 점을 알 수 있다.
또한, 블록의 인접 화소들이 모두 동일하지는 않지만 어느 정도 유사한 값을 가진다면, 각 예측 방향의 예측값이 유사하게 되므로 블록의 인접 화소들이 모두 동일한 경우와 마찬가지로 한 가지의 인트라 예측 모드에 따라 인트라 예측을 수행하여도 예측 성능 및 압축 성능이 떨어지지 않을 수 있다.
따라서, 모드 선택기(620)는 인접 화소의 유사성이 클 때 예측 효율이 가장 좋은 인트라 예측 모드를 기 설정해 놓고, 변화량 계산기(610)에서 계산된 변화량이 임계값보다 작아서 인접 화소의 유사성이 크다고 판단되면 복잡한 인트라 예측 모드 선택 과정을 생략하고 기 설정된 인트라 예측 모드를 블록의 인트라 예측 모드로 선택할 수 있다. 이를 통해, 인트라 예측의 성능을 저하시키지 않으면서도 블록의 인트라 예측 모드를 선택하기 위한 계산량을 줄일 수 있어서 시스템의 구현을 간소화할 수 있을 뿐만 아니라 부호화 속도를 줄여 압축 성능을 향상시킬 수 있다.
여기서, 기 설정된 인트라 예측 모드란 영상 부호화 장치와 영상 복호화 장치에서는 미리 약속하여 설정한 인트라 예측 모드를 말하며, 이를 통해 복호화 과정에서도 동일한 인트라 예측 모드로 예측될 수 있도록 한다. 기 설정되는 인트라 예측 모드는, 예를 들어, 인접 화소의 화소값의 평균값을 예측값으로 예측하는 인트라 예측 모드인 DC 모드와 같은 인트라 예측 모드일 수 있지만, 반드시 이에 한정되는 것은 아니며 다른 인트라 예측 모드가 설정될 수 있다.
또한, 모드 선택기(620)는 변화량 계산기(610)에서 계산된 변화량이 임계값보다 크거나 같아서 인접 화소의 유사성이 작다고 판단되면, 기 설정된 모드 선택 기준에 따라 복수 개의 인트라 예측 모드 중 하나의 인트라 예측 모드를 선택하여 선택된 하나의 인트라 예측 모드를 블록의 인트라 예측 모드로서 선택한다.
여기서, 기 설정된 모드 선택 기준이란 영상 부호화 장치와 영상 복호화 장치에서 복수 개의 인트라 예측 모드 중에서 현재 블록에 대해 최적인 인트라 예측 모드를 선택하기 위한 기준을 말하며, 영상 부호화 장치와 영상 복호화 장치에서 미리 약속하여 설정될 수 있다. 기 설정된 모드 선택 기준은 예를 들어, 율-왜곡 최적화가 될 수 있는데, 율-왜곡 최적화란 복수 개의 인트라 예측 모드에 각각에 따라 현재 블록을 예측하고 부호화하여 소정의 비용 함수를 이용하여 율-왜곡 비용(RD Cost: Rate-Distortion Cost)를 계산하고, 계산된 율-왜곡 비용이 최소가 되는 인트라 예측 모드를 최적의 인트라 예측 모드로 선택하는 기법을 말한다.
전술한 소정의 비용 함수는 SAD(Sum of Absolute Value), SATD(Sum of Absolute Transformed Difference), SSD(Sum of Squared Difference), MAD(Mean of Absolute Difference), 라그랑지안 함수(Lagrangian Function) 등과 같은 것일 수 있다. SAD는 4x4 블록의 잔차 신호의 값의 절대치를 합한 값이다. SATD는 4x4 블록의 잔차 신호의 값에 하다마드 변환(Hadamard Transform)을 적용하여 생성되는 계수들(Coefficients)의 절대치를 더한 값이다. SSD는 4x4 블록의 잔차 신호의 값을 제곱하여 더한 값이고, MAD는 4x4 블록의 잔차 신호의 값에 절대치를 평균한 값이다. 라그란지 함수는 비용 함수에 비트스트림의 길이 정보를 포함하여 만들어지는 비용 함수이다.
또한, 모드 선택기(620)는 변화량이 임계값보다 크거나 같아서, 기 설정된 모드 선택 기준에 따라 복수 개의 인트라 예측 모드 중 하나의 인트라 예측 모드를 선택하여 블록의 인트라 예측 모드로 선택할 때, 복수 개의 인트라 예측 모드를 기 설정된 모드 선택 기준에 적용하는 순서를 변경할 수 있다. 즉, 모드 선택기(620)는 복수 개의 인트라 예측 모드 각각을 차례로 기 설정된 모드 선택 기준에 적용하여 하나의 인트라 예측 모드를 선택할 수 있는데, 이때, 복수 개의 인트라 예측 모드 중 DC 모드를 기 설정된 모드 선택 기준에 마지막으로 적용할 수 있다.
이는 변화량이 임계값보다 크거나 같은 경우(즉, 인접 화소들의 변화량이 큰 것으로 판단되는 경우), 인접 화소들의 화소값에 대한 평균값을 인트라 예측값으로 사용하는 DC 모드를 기 설정된 모드 선택 기준에 적용하는 순서가 도 3에 도시한 바와 같이 두 번째라면, 2번 예측 모드가 최적의 인트라 예측 모드로 결정될 확률이 낮아지기 때문이다. 즉, 일단 변화량과 임계값을 비교하여 인접 화소들의 변화량이 크다고 판단되었다면 DC 모드는 블록에 대해 최적의 인트라 예측 모드로 선택될 확률이 낮으므로, DC 모드가 기 설정된 모드 선택 기준에 적용되는 순서를 도 8에 도시한 바와 같이, 마지막으로 배치하는 것이 효율적이다.
도 8을 참조하면, 인트라 4×4 모드의 9가지 인트라 예측 모드 중 DC 모드를 2번 모드에서 8번 예측 모드로 순서를 변경하면, 블록에 최적인 인트라 예측 모드를 더욱 신속하게 선택할 수 있다. 이 경우, 수직 모드, 수평 모드, 대각선 왼쪽 모드, 대각선 오른쪽 모드, 수직 오른쪽 모드, 수평 아래쪽 모드, 수직 왼쪽 모드, 수평 위쪽 모드 및 DC 모드의 순서로 기 설정된 모드 선택 기준에 적용되어 그 중 최적인 하나의 인트라 예측 모드를 블록의 인트라 예측 모드로 선택할 수 있다. 이를 위해, 도 8에 도시한 바와 같이, 수직 모드 및 수평 모드는 0번 모드 및 1번 모드로 각각 유지하고, 대각선 왼쪽 모드는 2번 모드로 변경하고, 대각선 오른쪽 모드는 3번 모드로 변경하고, 수직 오른쪽 모드는 4번 모드로 변경하고, 수평 아래쪽 모드는 5번 모드로 변경하고, 수직 왼쪽 모드는 6번 모드로 변경하고, 수평 위쪽 모드는 7번 모드로 변경하고, DC 모드는 8번 모드로 변경할 수 있다. 마찬가지로, 인트라 16×16 모드의 4가지의 인트라 예측 모드의 순서도 DC 모드가 마지막이 되도록 변경할 수 있다.
또한, 블록을 효율적으로 압축하기 위해 변화량 계산기(610)에서 계산하는 인접 화소의 화소값의 변화량 이외에 계산된 변화량과 비교하여 인접 화소들의 유사성이 어느 정도인지를 평가하기 위한 기준이 되는 임계값을 모드 선택기(620)가 적절하게 설정해야 한다. 즉, 임계값은 현재 블록의 인접 화소들 간의 유사성이 어느 정도인지를 판단하기 위한 기준이 되는 정보이다. 따라서, 계산된 인접 화소의 화소값의 변화량이 설정된 임계값보다 작으면, 블록의 인접 화소들은 서로 유사성이 큰 것으로 판단할 수 있다. 하지만, 계산된 인접 화소의 화소값의 변화량이 설정된 임계값보다 크거나 같으면, 블록의 인접 화소들은 서로 유사성이 작은 것으로 판단할 수 있다. 이를 위해, 모드 선택기(620)는 임계값을 계산하여 설정할 수 있다.
임계값은 양자화 계수(QP: Quantization Parameter), 양자화 단계 크기 즈(Qstep: Quantization Step Size)에 따라 적응적으로 계산되어 설정될 수 있다. 여기서, 양자화 계수는 양자화를 조절하는 계수로서 임의의 정수값으로 설정될 수 있다. 예를 들어, H.264에서는 양자화 계수를 0 내지 51의 정수 중 하나로 설정된다. 양자화 단계 크기는 양자화 세기를 조절하는 정보로서 양자화 계수에 근거하여 설정된다. 예를 들어, H.264에서는 양자화 계수가 6씩 증가할 때마다 양자화 단계 크기는 2배가 되는 특성이 있으므로, 양자화 계수가 6씩 증가할 때마다 양자화 단계 크기는 2배만큼 증가되어 설정될 수 있다.
이러한 임계값은 수학식 6을 이용하여 계산되어 설정될 수 있다.
Figure 112009051162626-pat00010
Figure 112009051162626-pat00011
Figure 112009051162626-pat00012
Figure 112009051162626-pat00013
Figure 112009051162626-pat00014
즉, 임계값은 수학식 6에서 X에 특정 상수를 대입시키고 Y에도 특정 상수를 대입시켜 설정될 수 있다. 이러한 상수 X 및/또는 상수 Y는 양자화 계수 및/또는 양자화 단계 크기의 설정값이나 원하는 임계값에 따라 값을 변경하여 대입될 수 있 다.
모드 식별자 생성기(630)는 선택된 블록의 인트라 예측 모드를 나타내는 모드 식별자를 생성하여 출력할 수 있다. 이때, 모드 비트 생성기(630)는 변화량 계산기(610)에 의해 계산된 변화량이 임계값보다 크거나 같은 경우에만 모드 식별자를 생성하여 출력하고 변화량이 임계값보다 작은 경우에는 모드 식별자를 생성하지 않을 수 있다. 여기서, 모드 식별자는 비트스트림 생성기(530)에 의해 모드 비트로 부호화되어 블록의 잔차 블록이 부호화된 계수 비트와 함께 비트스트림에 포함될 수 있는데, 모드 식별자 생성기(630)가 모드 식별자를 생성한 후 부호화하여 모드 비트를 비트스트림 생성기(530)로 전달하고, 비트스트림 생성기(530)는 전달된 모드 비트를 모드 비트 필드로 구성하여 비트스트림에 포함시킬 수도 있을 것이다. 즉, 모드 식별자는 비트스트림 생성기(530)에 의해 부호화될 수도 있지만, 모드 식별자 생성기(630)에 의해 부호화될 수도 있으며, 심지어는 부호화되지 않고 비트스트림에 삽입될 수도 있다.
도 9 및 도 10은 본 발명의 일 실시예에 따라 매크로블록 단위로 생성되는 비트스트림을 설명하기 위한 예시도이다.
비트스트림 생성기(530)에 의해 복수 개의 블록에 대한 비트스트림은 도 10에 도시한 바와 같이 구성될 수 있다. 도 10에 도시한 본 발명의 일 실시예에 따른 비트스트림의 구조와 비교하기 위해, 도 9에서는 통상적인 압축 기술에 따라 생성되는 비트스트림 구조를 나타내었다.
도 9를 참조하면, 복수 개의 블록에 대한 모드 비트를 모은 모드 비트 필드 와 계수 비트를 모은 계수 비트 필드는 슬라이스 데이터에 포함될 수 있으며, 영상 복호화 장치에서 복수 개의 블록 각각에 대한 인트라 예측 모드를 식별하기 위해 모드 비트를 정확하게 추출할 수 있도록, 모드 비트 필드가 비트스트림의 슬라이스 데이터에서 계수 비트 필드 앞에 위치하도록 비트스트림을 구성한다. 영상 복호화 장치에서는 도 9와 같이 전송된 비트스트림에서 슬라이스 데이터를 추출한 후 일정량의 비트를 모드 비트 필드로 추출하고 나머지 데이터를 계수 비트 필드로 추출하여 버퍼에 저장해 두고, 각 블록을 예측할 때 모드 비트 필드의 모드 비트들을 차례로 읽어들여 각 블록의 인트라 예측 모드를 식별한다.
통상적인 압축 기술에서는 비트스트림의 모드 비트 필드에는 각 블록의 인트라 예측 모드를 나타내는 모드 식별자가 부호화된 모드 비트가 모두 포함되어 있으므로, 영상 복호화 장치에서는 전술한 바와 같이 비트스트림의 슬라이스 데이터의 시작 비트로부터 일정량의 비트를 추출함으로써, 모드 비트 필드를 정확하게 추출할 수 있다. 하지만, 본 발명의 일 실시예에 따르면, 모든 블록의 인트라 예측 모드를 나타내는 모드 식별자가 부호화된 모드 비트가 모드 비트 필드에 포함되지 않고, 인접 화소의 변화량이 임계값보다 커서 소정의 모드 결정 방법에 따라 결정되는 인트라 예측 모드를 나타내는 모드 식별자를 부호화한 모드 비트만이 모드 비트 필드에 포함되므로, 영상 복호화 장치는 슬라이스 데이터의 시작 비트로부터 얼마만큼의 비트까지가 모드 비트 필드의 비트인지 알 수 없어, 모드 비트 필드를 정확하게 추출할 수 없다.
이러한 문제점을 해결하기 위해, 본 발명의 일 실시예에서는 도 10에 도시한 바와 같이, 모드 비트 필드 식별자를 슬라이스 헤더에 삽입하여, 영상 복호화 장치가 비트스트림을 수신한 후, 슬라이스 헤더에 삽입된 모드 비트 필드 식별자를 통해 모드 비트 필드를 정확하게 추출할 수 있도록 한다.
도 10을 참조하면, 모드 비트 필드와 계수 비트 필드가 슬라이스 데이터에 포함되며, 모드 비트 필드의 크기 또는 위치를 나타내는 모드 비트 필드 지시자가 슬라이스 헤더에 삽입되도록 본 발명의 일 실시예에 따른 비트스트림이 구성된다.
10A는 본 발명의 일 실시예에 따른 비트스트림의 구조의 일 예로서, 슬라이스 데이터에서 모드 비트 필드가 계수 비트 필드의 앞에 위치하는 경우를 나타낸 것이다. 전술한 바와 같이, 본 발명의 일 실시예에 따른 모드 비트 필드에는 모든 블록의 인트라 예측 모드를 나타낸 모드 식별자가 부호화된 모드 비트가 포함되는 것이 아니라, 소정의 결정 방법에 따라 결정된 인트라 예측 모드를 나타내는 모드 식별자가 부호화된 모드 비트만이 포함되므로, 영상 복호화 장치가 슬라이스 데이터에서 모드 비트 필드를 정확하게 추출할 수 있도록, 슬라이스 헤더에 모드 비트 필드 식별자가 삽입된다. 이 경우, 모드 비트 필드 식별자는 모드 비트 필드의 크기를 나타낸다. 영상 복호화 장치는 10A와 같은 비트스트림을 전송받으면 비트스트림의 슬라이스 헤더를 분석하여 모드 비트 필드 지시자를 추출하고 모드 비트 필드 지시자가 나타내는 크기만큼의 데이터를 슬라이스 데이터의 시작 비트로부터 추출함으로써, 모드 비트 필드를 정확하게 추출할 수 있다.
10B는 본 발명의 일 실시예에 따른 비트스트림의 구조의 다른 예로서, 슬라이스 데이터에서 모드 비트 필드가 계수 비트 필드의 뒤에 위치하는 경우를 나타낸 것이다. 10A와 같이 슬라이스 데이터에서 모드 비트 필드가 계수 비트 필드 앞에 위치하도록 비트스트림이 구성될 수도 있지만, 구현의 필요에 따라서는 슬라이스 데이터에서 모드 비트 필드가 계수 비트 필드 뒤에 위치하도록 비트스트림이 구성될 수도 있다. 이 경우, 영상 복호화 장치는 슬라이스 데이터의 어느 비트까지가 계수 비트 필드이고 어느 비트부터가 모드 비트 필드인지 알 수 없다. 따라서, 이 경우에는 10B에 나타낸 바와 같이, 모드 비트 필드의 위치를 나타내는 모드 비트 필드 지시자가 슬라이스 헤더에 삽입됨으로써, 비트스트림을 전송받은 영상 복호화 장치가 모드 비트 필드 지시자를 이용하여 슬라이스 데이터로부터 모드 비트 필드와 계수 비트 필드를 정확하게 추출할 수 있도록 할 수 있다.
이와 같이, 본 발명의 일 실시예에서는 10A와 10B에 나타낸 바와 같이 모드 비트 필드 지시자가 모드 비트 필드의 크기 또는 위치를 나타내도록 함으로써, 비트스트림을 탄력적으로 구성할 수 있다.
도 10에서는 블록의 인트라 예측 모드를 나타내는 모드 식별자가 부호화된 모드 비트를 포함하는 모드 비트 필드와 블록의 잔차 블록에 대한 계수 비트를 포함하는 계수 비트 필드가 슬라이스 데이터에 포함되며, 그를 위한 모드 비트 필드 지시자가 슬라이스 헤더에 포함되는 것으로 설명했지만, 모드 비트 필드와 계수 비트 필드는 매크로블록 데이터 또는 픽처 데이터 등과 같은 다양한 부호화 단위의 데이터에 포함될 수 있으며, 그에 따라 모드 비트 필드 지시자도 매크로블록 헤더 또는 픽처 헤더 등과 같은 다양한 부호화 단위의 헤더에 포함될 수 있다. 단, 모드 비트 필드 지시자가 매크로블록 헤더에 포함된 경우에는 모드 비트 필드와 계수 비 트 필드도 매크로블록 데이터에 포함되고, 모드 비트 필드 지시자가 픽처 헤더에 포함된 경우에는 모드 비트 필드와 계수 비트 필드도 픽처 데이터에 포함될 수 있다.
도 11은 본 발명의 일 실시예에 따른 부호화를 위한 예측 모드 선택 방법을 설명하기 위한 순서도이다.
블록을 인트라 예측하기 위해서는 블록의 인트라 예측 모드를 선택해야 한다. 이를 위해, 예측 모드 선택 장치 즉, 예측 모드 선택기(510)는 블록의 인접 화소의 화소값의 변화량을 계산하고(S1110), 계산된 변화량을 임계값과 비교한다(S1120).
단계 S1120의 비교 결과 변화량이 임계값보다 작은 경우, 예측 모드 선택기(510)는 블록의 인접 화소들의 유사성이 크다고 판단하여 기 설정된 인트라 예측 모드를 블록의 인트라 예측 모드로 선택한다(S1130). 이때 블록의 인트라 예측 모드로 선택된 기 설정된 인트라 예측 모드는 영상 복호화 장치에서도 미리 약속되어 알 수 있으므로, 예측 모드 선택기(510)는 블록의 인트라 예측 모드를 나타내기 위한 모드 식별자를 생성하지 않는다(S1140). 만일 모드 식별자가 생성되는 경우에도 모드 비트로 부호화되거나 비트스트림의 모드 비트 필드에 포함되지는 않는다.
또한, 단계 S1120의 비교 결과 변화량이 임계값보다 크거나 같은 경우, 예측 모드 선택기(510)는 블록의 인접 화소들의 유사성이 작다고 판단하여 기 설정된 모드 선택 기준에 따라 복수 개의 인트라 예측 모드 중에서 하나의 인트라 예측 모드를 선택하고(S1150), 선택된 하나의 인트라 예측 모드를 블록의 인트라 예측 모드 로 선택하며(S1160). 선택된 블록의 인트라 예측 모드를 나타내는 모드 식별자를 생성한다(S1170). 생성된 예측 모드 비트는 비트스트림에 포함된다.
이와 같이, 본 발명의 일 실시예에 따르면, 예측 모드 선택기(510)는 블록의 인트라 예측 모드를 선택할 때, 일정한 경우(인접 화소의 화소값의 변화량이 임계값보다 작은 경우)에는 율-왜곡 최적화와 같은 모드 선택 기준에 따라 최적의 인트라 예측 모드를 선택하는 복잡한 과정을 수행하지 않고 기 설정된 인트라 예측 모드를 블록의 인트라 예측 모드로서 선택할 수 있으므로, 인트라 예측 모드를 선택하기 위한 계산량을 줄일 수 있어서 시스템의 구현을 간소하게 할 수 있을 뿐만 아니라 부호화 속도를 향상시킬 수 있어서 압축 성능을 향상시킬 수 있다.
도 12는 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
영상 부호화 장치(500)는 16×16 블록, 8×8 블록, 4×4 블록 등 매크로블록 또는 서브블록 단위로 입력 영상을 부호화할 때, 입력 영상에서 부호화하고자 하는 각 블록의 인트라 예측 모드를 기 설정된 인트라 예측 모드 또는 소정의 모드 결정 방법에 따른 인트라 예측 모드로 선택하고(S1210), 선택된 인트라 예측 모드에 따라 각 블록을 인트라 예측하여 생성한 잔차 블록을 부호화하여 계수 비트를 생성하며(S1220), 소정의 모드 결정 방법에 따른 인트라 예측 모드를 나타내는 모드 식별자를 부호화하여 모드 비트를 생성하며(S1230), 하나 이상의 블록에 대한 모드 비트를 포함하는 모드 비트 필드와 각 블록에 대한 계수 비트를 포함하는 계수 비트 필드를 포함하는 비트스트림을 생성하며(S1240), 모드 비트 필드를 식별하기 위한 모드 비트 필드 지시자를 비트스트림에 포함시킨다(S1250).
이와 같이, 본 발명의 일 실시예에 따르면, 블록의 인접 화소의 화소값의 변화량에 따라 현재 블록의 인트라 예측 모드를 선택하여 인트라 예측 모드를 선택하기 위한 계산량을 줄이고 선택을 위한 시간을 절약하여 부호화 효율 및 압축 효율을 향상시킬 수 있을 뿐만 아니라, 블록의 인접 화소의 화소값의 변화량에 따라 인트라 예측 모드를 나타내는 모드 비트를 비트스트림에 포함시키거나 포함시키지 않을 수 있어서, 비트스트림의 데이터 크기를 줄일 수 있으므로 압축 효율을 향상시킬 수 있다.
도 13은 본 발명의 일 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 복호화 장치(1300)는 비트스트림 추출기(Bitstream Extractor, 1310), 예측 모드 선택기(Prediction Mode Selector, 1320) 및 인트라 예측 복호화기(Intra Prediction Decoder, 1330)를 포함할 수 있다.
비트스트림 추출기(1310)는 비트스트림으로부터 모드 비트 필드 지시자를 추출하고, 추출된 모드 비트 필드 지시자를 이용하여 비트스트림으로부터 모드 비트 필드 및 계수 비트 필드를 추출한다. 여기서, 모드 비트 필드 지시자는 비트스트림의 매크로블록 헤더, 슬라이스 헤더 및 픽처 헤더 중 하나에서 추출될 수 있으며, 모드 비트 필드 및 계수 비트 필드는 비트스트림의 매크로블록 데이터, 슬라이스 데이터 및 픽처 데이터 중 하나에서 추출될 수 있다.
또한, 비트스트림 추출기(1310)는 모드 비트 필드 지시자가 모드 비트 필드의 크기를 나타내면, 매크로블록 데이터, 슬라이스 데이터 및 픽처 데이터 중 하나에서 모드 비트 필드를 계수 비트 필드보다 먼저 모드 비트 필드의 크기만큼 추출할 수 있다. 비트스트림 추출기(1310)는 모드 비트 필드 지시자가 모드 비트 필드의 위치를 나타내면, 매크로블록 데이터, 슬라이스 데이터 및 픽처 데이터 중 하나에서 계수 비트 필드를 모드 비트 필드보다 먼저 모드 비트 필드의 위치까지 추출할 수 있다. 비트스트림 추출기(1310)는 이와 같이 추출된 모드 비트 필드의 모드 비트를 복호화하여 하나 이상의 블록에 대한 모드 식별자를 복원하고 버퍼에 임시적으로 저장할 수 있으며, 추출된 계수 비트 필드의 각 블록의 계수 비트를 다른 버퍼에 저장할 수 있다.
예측 모드 선택기(1320)는 기 설정된 인트라 예측 모드 또는 하나 이상의 모드 식별자가 나타내는 인트라 예측 모드를 복호화하고자 하는 각 블록의 인트라 예측 모드로서 선택한다. 예를 들어, 예측 모드 선택기(1320)는 복호화하고자 하는 각 블록의 인접 화소값의 변화량을 계산하고, 블록의 인접 화소값의 변화량이 임계값보다 작은 경우에는 기 설정된 인트라 예측 모드를 해당 블록의 인트라 예측 모드로서 선택할 수 있다. 또한, 예측 모드 선택기(1320)는 각 블록의 인접 화소값의 변화량이 임계값보다 크거나 같은 경우(즉, 영상 부호화 장치(500)에서 해당 블록의 인트라 예측 모드가 소정의 모드 결정 방법에 따른 인트라 예측 모드로 결정된 경우)에는 버퍼에 저장된 하나 이상의 모드 식별자를 하나씩 차례로 읽어들이고, 읽어들인 모드 식별자가 나타내는 인트라 예측 모드를 해당 블록의 인트라 예측 모 드로서 선택할 수 있다.
여기서, 기 설정된 인트라 예측 모드는 블록의 인접 화소의 화소값의 평균값을 블록의 화소들의 예측 화소값으로 예측하는 인트라 예측 모드(예를 들어, H.264/AVC에서의 DC 모드)일 수 있지만, 반드시 이에 한정되지 않고 영상 부호화 장치(500)와 미리 약속한 인트라 예측 모드라면 어느 인트라 예측 모드여도 무관하다. 변화량은 산포도를 이용하여 계산될 수 있으며, 산포도는 분산, 표준편차, 평균편차, 사분편차 등과 같은 것일 수 있다. 임계값은 현재 블록의 양자화 계수 및 양자화 단계 크기에 따라 설정될 수 있다.
인트라 예측 복호화기(1330)는 다른 버퍼에 임시적으로 저장된 계수 비트 필드의 계수 비트를 복호화하여 각 블록의 잔차 블록을 복원하며, 예측 모드 선택기(1320)에 의해 선택된 각 블록의 인트라 예측 모드에 따라 각 블록을 예측한 예측 블록과 복원된 잔차 블록을 이용하여 각 블록을 복원한다. 이러한 인트라 예측 복호화기(1330)는 도 2를 통해 전술한 영상 복호화 장치(200)와 같이 구성될 수 있다. 즉, 인트라 예측 복호화기(1330)는 비트스트림으로부터 추출된 계수 비트 필드의 계수 비트를 복호화하여 각 블록의 양자화된 변환 계수를 가지는 양자화된 변환 블록을 복원하고 양자화된 변환 계수를 역 양자화 및 역 변환하여 잔차 블록을 복원하며, 예측 모드 선택기(1320)에 의해 선택된 각 블록의 인트라 예측 모드에 따라 각 블록을 예측하여 예측 블록을 생성한 후 복원된 잔차 블록과 예측 블록을 가산하여 각 블록을 복원할 수 있다. 이때, 역 양자화 및/또는 역 변환 과정은 구현 방식에 따라 선택적으로 생략될 수 있다.
도 14는 본 발명의 일 실시예에 따른 복호화를 위한 예측 모드 선택 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 복호화를 위한 예측 모드 선택 장치는 도 13에서는 예측 모드 선택기(1320)로 구현될 수 있다. 이하에서는 설명의 편의를 위해, 일 실시예에 따른 복호화를 위한 예측 모드 선택 장치를 예측 모드 선택기(1320)라 칭한다. 예측 모드 선택기(1320)는 변화량 계산기(1410) 및 모드 선택기(1420)를 포함할 수 있다.
변화량 계산기(1410)는 복호화하고자 하는 각 블록의 인접 화소의 화소값의 변화량을 계산한다. 이러한 변화량 계산기(1410)는 도 6을 통해 전술한 변화량 계산기(610)와 그 기능이 동일 또는 유사하므로 상세한 설명은 생략한다. 다만, 도 6을 통해 전술한 변화량 계산기(610)는 각 블록의 인접 화소의 화소값을 인트라 예측 부호화기(520)로부터 전달받지만, 변화량 계산기(1410)는 현재 블록의 인접 화소의 화소값을 인트라 예측 복호화기(1330)로부터 전달받을 수 있다.
모드 선택기(1420)는 변화량 계산기(1410)에 의해 계산된 블록의 인접 화소의 화소값의 변화량이 임계값보다 작은 경우에는 기 설정된 인트라 예측 모드를 해당 블록의 인트라 예측 모드로 선택하고, 계산된 블록의 인접 화소의 화소값의 변화량이 임계값보다 크거나 같은 경우에는 버퍼에 임시적으로 저장된 모드 식별자가 나타내는 인트라 예측 모드를 해당 블록의 인트라 예측 모드로서 선택한다. 이때, 모드 선택기(1420)는 버퍼에 저장된 하나 이상의 모드 식별자를 하나씩 차례로 읽어들이고, 읽어들인 모드 식별자가 나타내는 인트라 예측 모드를 해당 블록의 인트 라 예측 모드로 선택한 후, 해당 모드 식별자를 임시 버퍼에서 삭제할 수 있으며, 이후 다른 블록의 인접 화소의 화소값의 변화량이 임계값보다 크거나 같은 경우 버퍼에서 다음 모드 식별자를 읽어들여 인트라 예측 모드를 선택하고 해당 모드 식별자를 삭제하는 과정을 반복함으로써, 복호화하고자 하는 모든 블록의 인트라 예측 모드를 정확하게 선택할 수 있다.
즉, 모드 선택기(1420)는 변화량 계산기(1410)에 의해 계산된 변화량이 임계값보다 작으면 해당 블록의 인접 화소들의 유사성이 크다고 판단하여 영상 부호화 장치(500)와 미리 약속하여 기 설정한 인트라 예측 모드를 현재 블록의 인트라 예측 모드로서 선택한다. 또한, 모드 선택기(1420)는 변화량 계산기(1410)에 의해 계산된 변화량이 임계값보다 크거나 같으면 해당 블록의 인접 화소들의 유사성이 작다고 판단하여 비트스트림으로부터 추출되고 복원되어 버퍼에 저장된 모드 식별자를 읽어서 예측 모드 비트가 나타내는 인트라 예측 모드를 현재 블록의 인트라 예측 모드로서 선택한다. 이와 같이 선택된 각 블록의 인트라 예측 모드는 인트라 예측 복호화기(1330)로 전달되어, 인트라 예측 복호화기(1330)에서 각 블록을 예측하는 데 이용된다.
도 15는 일 실시예에 따른 복호화를 위한 예측 모드 선택 방법을 설명하기 위한 순서도이다.
예측 모드 선택 장치 즉, 영상 복호화 장치(1300)의 예측 모드 선택기(1320)는 각 블록의 인트라 예측 모드를 선택하기 위해, 각 블록의 인접 화소의 화소값의 변화량을 계산하고(S1510), 계산된 변화량을 임계값과 비교한다(S1520).
단계 S1520의 비교 결과 계산된 변화량이 임계값보다 작은 경우, 예측 모드 선택기(1320)는 기 설정된 인트라 예측 모드를 해당 블록의 인트라 예측 모드로서 선택한다(S1530). 이때, 기 설정된 인트라 예측 모드는 영상 부호화 장치(500)와 미리 약속하여 설정된 인트라 예측 모드를 말한다.
단계 S1520의 비교 결과 계산된 변화량이 임계값보다 크거나 같은 경우, 예측 모드 선택기(1320)는 비트스트림으로부터 추출되고 복원된 모드 식별자가 나타내는 인트라 예측 모드를 해당 블록의 인트라 예측 모드로서 선택한다(S1540).
도 16은 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
영상 복호화 장치(1300)는 비트스트림으로부터 모드 비트 필드 지시자를 추출하고(S1610), 추출된 모드 비트 필드 지시자를 이용하여 비트스트림으로부터 모드 비트 필드 및 계수 비트 필드를 추출하며(S1620), 모드 비트 필드의 모드 비트를 복호화하여 하나 이상의 모드 식별자를 복원한다(S1630).
영상 복호화 장치(1300)는 계수 비트 필드의 계수 비트를 복호화하여 복호화하고자 하는 각 블록의 잔차 블록을 복원하고(S1640), 기 설정된 인트라 예측 모드 또는 복원된 하나 이상의 모드 식별자가 나타내는 인트라 예측 모드를 복호화하고자 하는 각 블록의 인트라 예측 모드로서 선택하며(S1650), 선택된 각 블록의 인트라 예측 모드에 따라 각 블록을 예측한 예측 블록과 복원된 잔차 블록을 이용하여 각 블록을 복원한다(S1660).
일 예로, 16×16 크기의 매크로블록이 4×4 크기의 서브블록 단위로 인트라 예측 부호화되었고, 각 서브블록에 대한 계수 비트와 모드 비트가 슬라이스 단위로 비트스트림을 구성하는 것으로 가정하면, 비트스트림에는 도 10의 10A 또는 10B에 도시한 바와 같이, 슬라이스 데이터의 계수 비트 필드에 모든 서브블록에 대한 계수 비트가 포함되고, 슬라이스 데이터의 모드 비트 필드에 소정의 모드 결정 방법에 따라 인트라 예측 모드가 선택된 서브블록에 대한 모드 비트가 해당 서브블록의 인접 화소의 화소값의 변화량에 따라 선택적으로 포함된다. 또한, 슬라이스 헤더에는 모드 비트 필드의 크기 또는 위치를 나타내는 모드 비트 필드 지시자가 포함된다.
이 경우, 영상 복호화 장치(1300)는 비트스트림의 슬라이스 헤더에서 모드 비트 필드 지시자를 추출하고, 추출된 모드 비트 필드 지시자가 나타내는 크기 만큼 슬라이스 데이터에서 모드 비트 필드를 먼저 추출하고 나머지를 계수 비트 필드로서 추출하거나 슬라이스 데이터에서 모드 비트 필드 지시자가 나타내는 위치에서부터 모드 비트 필드를 먼저 추출하고 나머지를 계수 비트 필드로서 추출한 후, 추출된 모드 비트 필드의 모드 비트를 복호화하여 하나 이상의 서브블록에 대한 모드 식별자를 복원하고 버퍼와 같은 메모리에 저장하며, 계수 비트 필드의 계수 비트를 다른 버퍼에 메모리에 저장한다. 각 버퍼에 저장된 모드 식별자와 계수 비트는 모든 서브블록에 대한 계수 비트를 복호화하거나 각 서브블록의 인접 화소의 화소값의 변화량에 따라 각 서브블록에 대해 현재 블록의 인트라 예측 모드를 선택하는 데 이용한다.
또한, 영상 복호화 장치(1300)는 각 블록의 인트라 예측 모드를 선택하는 데 있어서, 각 블록의 인접 화소의 화소값의 변화량을 계산하고 계산된 변화량이 임계 값보다 작은 경우에는 버퍼에 저장된 모드 식별자를 읽지 않고 기 설정된 인트라 예측 모드를 해당 블록의 인트라 예측 모드로서 선택하며, 계산된 변화량이 임계값보다 크거나 같은 경우에는 버퍼에 저장된 모드 식별자를 차례로 하나씩 읽어들여 읽어들인 모드 식별자가 나타내는 인트라 예측 모드를 해당 블록의 인트라 예측 모드로서 선택할 수 있다.
이와 같이 선택된 인트라 예측 모드를 이용하여 각 서브블록을 예측하고 각 서브블록에 대한 계수 비트를 복호화하여 각 서브블록의 잔차 블록을 복원한 후, 다음 서브블록에 대해 전술한 과정을 반복한다. 이때, 복호화 과정이 완료된 서브블록에 대한 계수 비트와 모드 식별자는 버퍼와 같은 메모리에서 삭제할 수 있으며, 이를 통해 시스템의 메모리 용량을 줄일 수 있다.
한편, 이상에서는 본 발명의 일 실시예에 따른 영상 부호화 장치(500)가 각 블록의 인접 화소의 화소값의 변화량을 계산하고 계산된 변화량을 임계값과 비교하여 각 블록의 인접 화소의 유사도가 작은 것으로 판단되는 경우에는 소정의 모드 결정 방법에 따라 결정되는 인트라 예측 모드 즉, 최적의 인트라 예측 모드를 각 블록의 인트라 예측 모드로서 결정하고, 계산된 변화량을 임계값과 비교하여 각 블록의 인접 화소의 유사도가 큰 것으로 판단되는 경우에는 기 설정된 인트라 예측 모드를 각 블록의 인트라 예측 모드로서 결정하며, 블록의 인접 화소의 유사도가 커서 기 설정된 인트라 예측 모드를 해당 블록의 인트라 예측 모드로서 결정한 블록에 대해서는 인트라 예측 모드를 식별하기 위한 모드 식별자를 부호화하지 않는 것으로 설명했다.
이때, 영상 부호화 장치(500)는, 전술한 바와 같이, 각 블록의 인접 화소의 화소값의 산포도를 이용하여 계산되는 변화량을 임계값과 비교함으로써 각 블록의 인접 화소의 화소값의 유사도를 판단할 수도 있지만, 각 블록의 예측 블록 또는 예측 블록에 대한 잔차 블록의 양자화된 변환 계수를 이용하여 판단할 수도 있다. 즉, 영상 부호화 장치(500)는 각 블록의 인접 화소의 유사도를 판단하기 위해, 이용 가능한 여러 개의 인트라 예측 모드(예를 들어, H.264의 인트라 4x4 예측을 위한 9개의 인트라 예측 모드) 각각에 따라 현재 블록을 예측하여 예측 블록을 생성하고, 예측 블록 또는 그에 대한 잔차 블록을 변환 및 양자화하여 생성되는 양자화 변환 계수가 각 인트라 예측 모드에 대해 동일한 경우, 각 블록의 인접 화소의 유사도가 큰 것으로 판단할 수 있으며 그 반대의 경우에는 각 블록의 인접 화소의 유사도가 작은 것으로 판단할 수 있다.
예를 들어, 영상 부호화 장치(500)는 여러 블록들 중 어느 하나의 블록에 대해 인접 화소의 유사도를 판단하여 해당 블록의 인트라 예측 모드를 결정하기 위해, 여러 블록들 중 하나의 블록에 대해 이용 가능한 9개의 인트라 예측 모드에 따라 예측하여 9개의 예측 블록을 생성하고, 9 개의 예측 블록을 각각 변환 및 양자화하여 9개의 변환 블록을 생성한 후 9개의 변환 블록의 양자화된 변환 계수들이 각 위치에서 모두 동일한지 여부를 판단하여 모두 동일한 경우에는 해당 블록의 인접 화소의 유사도가 큰 것으로 판단하고 그에 따라 기 설정된 인트라 예측 모드를 해당 블록의 인트라 예측 모드로서 결정할 수 있으며, 모두 동일하지 않은 경우에는 해당 블록의 인접 화소의 유사도가 작은 것으로 판단하고 그에 따라 소정의 모 드 결정 방법에 따라 결정되는 인트라 예측 모드를 해당 블록의 인트라 예측 모드로서 결정할 수 있다.
블록의 인접 화소의 화소값들이 모두 동일한 경우를 예시적으로 나타낸 도 17을 참조하면, 부호화하고자 하는 블록의 인접 화소의 화소값들이 모두 동일한 경우에는 어떠한 인트라 예측 모드를 이용하여 해당 블록을 예측하더라도 예측 블록은 동일하게 생성된다. 해당 블록에서 이와 같이 생성된 예측 블록을 감산하면 잔차 블록을 얻을 수 있는데, 이 경우 찬차 블록도 동일하게 생성된다. 예를 들어, 도 17에 나타낸 블록을 수평 모드와 대각선 왼쪽 모드 각각을 이용하여 예측하여 예측 블록을 생성하고 각 예측 블록을 해당 블록과 감산하여 생성되는 각 잔차 블록의 4개의 잔차 신호 'a', b', c', d''는 각각 수학식 7과 수학식 8과 같이 계산될 수 있다.
Figure 112009051162626-pat00015
Figure 112009051162626-pat00016
수학식 7과 수학식 8을 통해 알 수 있듯이, 어느 블록의 인접 화소들의 화소값들이 모두 동일한 경우에는 어느 인트라 예측 모드로 예측하더라도 해당 블록의 양자화 변환 계수들도 동일해진다.
또한, 변환뿐만 아니라 양자화도 함께 수행하는 경우에는, 전술한 바와 같이 블록의 인접 화소의 화소값들이 모두 동일하지 않더라도 어느 정도 유사한 값을 가지는 경우, 양자화로 인해 어느 인트라 예측 모드로 예측하는 경우에도 해당 블록의 양자화된 변환 계수는 모두 동일해진다. 따라서, 해당 블록을 여러 가지 인트라 예측 모드로 예측하여 그 잔차 블록을 변환 및 양자화했을 때의 양자화된 변환 계수가 각 인트라 예측 모드에 대해 모두 동일한 경우에는 여러 가지 인트라 예측 모드 중 최적의 성능을 가지는 하나의 인트라 예측 모드를 결정할 필요 없이 기 설정된 인트라 예측 모드로 예측하여 부호화해도 압축 효율이 저하되지 않는다.
이와 같이, 영상 부호화 장치(500)는 어느 블록의 인트라 예측 모드를 결정할 때, 해당 블록의 인접 화소의 변화량을 계산하고 임계값과 비교하여 인접 화소의 화소값의 유사도를 판단할 수도 있지만, 전술한 바와 같이 해당 블록을 여러 가지 인트라 예측 모드로 예측하고 그 잔차 블록을 변환 및 양자화하여 생성되는 양자화된 변환 계수들이 각 인트라 예측 모드에 대해 동일한지 여부에 따라 인접 화소의 화소값의 유사도를 판단할 수 있다.
이뿐만 아니라, 영상 부호화 장치(500)는 해당 블록을 여러 가지 인트라 예측 모드로 예측하고 그 잔차 블록을 변환 및 양자화하지 않고, 여러 가지 인트라 예측 모드로 예측하여 생성되는 예측 블록을 변환 및 양자화하여 생성되는 양자화된 변환 계수들이 각 인트라 예측 모드에 대해 동일한지 여부에 따라 인접 화소의 화소값의 유사도를 판단할 수도 있다. 이는 후술하는 바와 같이 예측 블록의 양자 화된 변환 계수들이 각 인트라 예측 모드에 대해 동일한 경우에도 잔차 블록의 양자화된 변환 계수들이 각 인트라 예측 모드에 대해 동일한 경우와 같은 결과를 얻을 수 있기 때문이다.
수학식 9는 도 17에 도시한 블록을 수직 모드로 예측하는 경우의 잔차 블록에 대한 양자화된 변환 계수와 수평 모드로 예측하는 경우의 잔차 블록에 대한 양자화된 변환 계수가 동일한 결과를 나타내는 것을 수학식으로 표현한 것이다.
DCT·Q(c-ver)=DCT·Q(c-hor)
수학식 9에서, 'c'는 원래의 화소 블록을 나타내고, 'ver'과 'hor'는 각각 수직 예측 모드와 수평 예측 모드로 해당 블록을 예측하여 생성되는 예측 블록을 나타내며, DCT·Q(x)는 블록 'x'의 양자화된 변환 계수를 유도하는 함수를 나타낸다. 만약, 수학식 9가 성립한다면, 두 예측 모드에 따른 율-왜곡 비용이 동일할 것이기 때문에, 수직 예측 모드와 수평 예측 모드 중 어느 하나의 예측 모드만을 율-왜곡 과정에서 사용하는 경우에도, 두 예측 모드를 모두 율-왜곡 과정에서 사용하는 경우와 그 결과가 동일할 것이다.
DCT 분배의 법칙과 같은 변환 성질을 이용하여 수학식 9를 간소하게 나타내면, 수학식 10과 같이 나타낼 수 있다. 수학식 10에서는 비선형적인 양자화가 적용되는 경우를 고려하여 양변의 값이 서로 정확하게 동일하지는 않지만 서로 유사하게 된다.
DCT·Q(c)-DCT·Q(ver) ≒ DCT·Q(c)-DCT·Q(hor)
DCT·Q(ver-hor) ≒ O
수학식 10을 통해 두 개의 인트라 예측 모드로 도 17에 도시한 블록을 예측하고 그 잔차 블록을 변환하고 양자화했을 때, 각 인트라 예측 모드에 대한 잔차 블록의 양자화된 변환 계수의 차이는 '0' 행렬과 유사함을 알 수 있다. 수학식 10이 수학식 9로부터 유도되었기 때문에, 수학식 10이 성립할 경우 두 개의 인트라 예측 모드에 따른 예측 부호화가 서로 동일한 율-왜곡 비용을 발생시킨다는 것을 의미한다. 따라서, 수학식 10이 성립하는 경우, 율-왜곡 최적화 과정에서 수직 예측 모드와 수평 예측 모드 중 하나의 인트라 예측 모드만이 사용되어도 압축 성능이 저하되지 않는다.
이러한 접근법을 인트라 4x4 예측을 위한 9가지 인트라 예측 모드에 대하여 확정하면 수학식 11을 도출할 수 있다.
O ≒ DCT·Q(p 1 -p 2 ) ≒ DCT·Q(p 1 -p 3 )DCT·Q(p 1 -p 4 )
DCT·Q(p 1 -p 9 )
수학식 11에서, 'p1'은 9가지의 인트라 예측 모드 중 하나의 인트라 예측 모드로 예측한 예측 블록을 나타내며, 'p2' 내지 'p9'는 각각 9가지 인트라 예측 모드 중 나머지 인트라 예측 모드로 예측한 예측 블록을 나타낸다.
따라서, 영상 부호화 장치(500)는 이용 가능한 여러 가지 인트라 예측 모드 에 대해 해당 블록을 예측하여 예측 블록을 생성하고, 그에 따라 수학식 11이 성립할 경우, 해당 블록의 인접 화소의 화소값이 모두 동일하거나 거의 동일한 것으로 판단할 수 있으므로, 인접 화소의 화소값의 유사도가 큰 것으로 판단할 수 있으며, 그에 따라 기 설정된 인트라 예측 모드를 해당 블록의 인트라 예측 모드로 결정하며, 해당 블록에 대해서는 모드 식별자를 부호화하여 전송하지 않을 수 있다.
마찬가지로, 영상 복호화 장치(1300)도 어느 블록의 인트라 예측 모드를 결정하기 위해서는 해당 블록을 이용 가능한 여러 가지 인트라 예측 모드에 따라 예측하여 예측 블록을 생성하고, 예측 블록 또는 그에 따른 잔차 블록을 변환 및 양자화하여 생성되는 양자화된 주파수 계수가 각 인트라 예측 모드에 대해 동일한 경우에는 버퍼에 저장된 모드 식별자를 읽지 않고 기 설정된 인트라 예측 모드를 해당 블록의 인트라 예측 모드로서 선택하며, 각 인트라 예측 모드에 대해 동일하지 않은 경우에는 버퍼에 저장된 모드 식별자를 읽어들여 읽어들인 모드 식별자가 나타내는 인트라 예측 모드를 해당 블록의 인트라 예측 모드로서 선택할 수 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램 으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위 가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명은 동영상을 압축하여 전송하고 압축을 해제하여 표시하는 영상 처리 분야에 적용되어, 영상의 압축을 위한 예측 모드의 선택 과정을 간소화하여 압축 속도를 향상시키고 압축된 데이터의 크기를 줄여 압축 효율을 향상시키는 효과를 발생하는 매우 유용한 발명이다.
도 1은 영상 부호화 장치를 간략하게 나타낸 블록 구성도,
도 2는 영상 복호화 장치를 간략하게 나타낸 블록 구성도,
도 3은 9 가지의 인트라 4×4 예측 모드를 나타낸 예시도,
도 4는 4 가지의 인트라 16×16 예측 모드를 나타낸 예시도,
도 5는 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도,
도 6은 본 발명의 일 실시예에 따른 부호화를 위한 예측 모드 선택 장치를 간략하게 나타낸 블록 구성도,
도 7은 본 발명의 일 실시예에 따른 인접 화소들의 화소값의 변화량을 설명하기 위한 예시도,
도 8은 본 발명의 일 실시예에 따른 인트라 예측 순서가 변경된 9가지의 인트라 4×4 예측 모드를 나타낸 예시도,
도 9 및 도 10은 본 발명의 일 실시예에 따라 매크로블록 단위로 생성되는 비트스트림을 설명하기 위한 예시도,
도 11은 본 발명의 일 실시예에 따른 부호화를 위한 예측 모드 선택 방법을 설명하기 위한 순서도,
도 12는 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,
도 13은 본 발명의 일 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,
도 14는 본 발명의 일 실시예에 따른 복호화를 위한 예측 모드 선택 장치를 간략하게 나타낸 블록 구성도,
도 15는 본 발명의 일 실시예에 따른 복호화를 위한 예측 모드 선택 방법을 설명하기 위한 순서도,
도 16은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.

Claims (20)

  1. 영상을 부호화하는 장치에 있어서,
    입력 영상에서 부호화하고자 하는 각 블록의 인트라 예측 모드를 기 설정된 인트라 예측 모드 및 소정의 모드 결정 방법에 따른 인트라 예측 모드 중에서 선택하는 예측 모드 선택기;
    상기 선택된 인트라 예측 모드에 따라 상기 각 블록을 인트라 예측하여 생성한 잔차 블록을 부호화하여 계수 비트를 생성하는 인트라 예측 부호화기; 및
    상기 예측 모드 선택기가 상기 모드 결정 방법에 따른 인트라 예측 모드를 선택한 경우, 상기 소정의 모드 결정 방법에 따른 인트라 예측 모드를 나타내는 모드 식별자를 부호화하여 모드 비트를 생성하고, 하나 이상의 블록에 대한 모드 비트를 포함하는 모드 비트 필드와 상기 각 블록에 대한 계수 비트를 포함하는 계수 비트 필드를 포함하는 비트스트림을 생성하되, 상기 모드 비트 필드를 식별하기 위한 모드 비트 필드 지시자를 상기 비트스트림에 포함시키는 비트스트림 생성기
    를 포함하는 것을 특징으로 하는 영상 부호화 장치.
  2. 제 1 항에 있어서, 상기 모드 비트 필드 지시자는,
    상기 비트스트림의 매크로블록 헤더, 슬라이스 헤더 및 픽처 헤더 중 하나에 포함시되는 것을 특징으로 하는 영상 부호화 장치.
  3. 제 1 항에 있어서, 상기 모드 비트 필드 및 상기 계수 비트 필드는,
    상기 비트스트림의 매크로블록 데이터, 슬라이스 데이터 및 픽처 데이터 중 하나에 포함되는 것을 특징으로 하는 영상 부호화 장치.
  4. 제 3 항에 있어서, 상기 모드 비트 필드 지시자는,
    상기 비트스트림의 매크로블록 데이터, 슬라이스 데이터 및 픽처 데이터 중 하나에서 상기 모드 비트 필드가 상기 계수 비트 필드 앞에 위치하는 경우, 상기 모드 비트 필드의 크기를 나타내는 것을 특징으로 하는 영상 부호화 장치.
  5. 제 3 항에 있어서, 상기 모드 비트 필드 지시자는,
    상기 비트스트림의 매크로블록 데이터, 슬라이스 데이터 및 픽처 데이터 중 하나에서 상기 모드 비트 필드가 상기 계수 비트 필드 뒤에 위치하는 경우, 상기 모드 비트 필드의 비트스트림 내에서의 위치를 나타내는 것을 특징으로 하는 영상 부호화 장치.
  6. 제 1 항에 있어서, 상기 예측 모드 선택기는,
    상기 각 블록의 인접 화소의 화소값의 변화량이 임계값보다 작은 경우에는 상기 기 설정된 인트라 예측 모드를 상기 각 블록의 인트라 예측 모드로서 선택하는 것을 특징으로 하는 영상 부호화 장치.
  7. 제 6 항에 있어서, 상기 예측 모드 선택기는,
    상기 각 블록에 대한 복수 개의 인트라 예측 모드에 따른 각 양자화된 변환 계수 간의 차이가 '0'인 경우에는 상기 기 설정된 인트라 예측 모드를 상기 각 블록의 인트라 예측 모드로서 선택하는 것을 특징으로 하는 영상 부호화 장치.
  8. 제 6 항에 있어서, 상기 기 설정된 인트라 예측 모드는,
    상기 각 블록의 인접 화소의 화소값의 평균값을 상기 각 블록의 화소들의 예측 화소값으로 예측하는 인트라 예측 모드인 것을 특징으로 하는 영상 부호화 장치.
  9. 제 1 항에 있어서, 상기 예측 모드 선택기는,
    상기 각 블록의 인접 화소의 화소값의 변화량이 임계값보다 크거나 같은 경우에는 상기 소정의 모드 결정 방법에 따른 인트라 예측 모드를 상기 블록의 인트라 예측 모드로서 선택하되, 상기 소정의 모드 결정 방법은 기 설정된 모드 선택 기준에 따라 복수 개의 인트라 예측 모드 중 하나의 인트라 예측 모드를 선택하고 상기 선택된 하나의 인트라 예측 모드를 상기 블록의 인트라 예측 모드로서 선택하는 방법인 것을 특징으로 하는 영상 부호화 장치.
  10. 제 1 항에 있어서, 상기 예측 모드 선택기는,
    상기 각 블록을 복수 개의 인트라 예측 모드에 대해 예측하여 생성되는 예측 블록 또는 예측 블록에 대한 잔차 블록의 양자화된 변환 계수가 각 인트라 예측 모 드에 대해 모두 동일한 경우에는 상기 기 설정된 인트라 예측 모드를 상기 각 블록의 인트라 예측 모드로서 선택하는 것을 특징으로 하는 영상 부호화 장치.
  11. 영상을 부호화하는 방법에 있어서,
    입력 영상에서 부호화하고자 하는 각 블록의 인트라 예측 모드를 기 설정된 인트라 예측 모드 및 소정의 모드 결정 방법에 따른 인트라 예측 모드 중에서 선택하는 단계;
    상기 선택된 인트라 예측 모드에 따라 상기 각 블록을 인트라 예측하여 생성한 잔차 블록을 부호화하여 계수 비트를 생성하는 단계;
    상기 선택하는 단계에서 상기 모드 결정 방법에 따른 인트라 예측 모드를 선택한 경우, 상기 소정의 모드 결정 방법에 따른 인트라 예측 모드를 나타내는 모드 식별자를 부호화하여 모드 비트를 생성하는 단계;
    하나 이상의 블록에 대한 모드 비트를 포함하는 모드 비트 필드와 상기 각 블록에 대한 계수 비트를 포함하는 계수 비트 필드를 포함하는 비트스트림을 생성하는 단계; 및
    상기 모드 비트 필드를 식별하기 위한 모드 비트 필드 지시자를 상기 비트스트림에 포함시키는 단계
    를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  12. 영상을 복호화하는 장치에 있어서,
    비트스트림으로부터 모드 비트 필드 지시자를 추출하고, 상기 추출된 모드 비트 필드 지시자를 이용하여 상기 비트스트림으로부터 모드 비트 필드 및 계수 비트 필드를 추출하며, 상기 모드 비트 필드의 모드 비트를 복호화하여 하나의 이상의 모드 식별자를 복원하는 비트스트림 추출기;
    기 설정된 인트라 예측 모드 및 상기 비트스트림으로부터 상기 모드 비트가 추출된 경우에 복원된 하나 이상의 모드 식별자가 나타내는 인트라 예측 모드 중에서 복호화하고자 하는 각 블록의 인트라 예측 모드를 선택하는 예측 모드 선택기; 및
    상기 계수 비트 필드의 계수 비트를 복호화하여 상기 각 블록의 잔차 블록을 복원하며, 상기 선택된 각 블록의 인트라 예측 모드에 따라 상기 각 블록을 예측한 예측 블록과 상기 복원된 잔차 블록을 이용하여 상기 각 블록을 복원하는 인트라 예측 복호화기
    를 포함하는 것을 특징으로 하는 영상 복호화 장치.
  13. 제 12 항에 있어서, 상기 모드 비트 필드 지시자는,
    상기 비트스트림의 매크로블록 헤더, 슬라이스 헤더 및 픽처 헤더 중 하나에서 추출되는 것을 특징으로 하는 영상 복호화 장치.
  14. 제 12 항에 있어서, 상기 모드 비트 필드 및 상기 계수 비트 필드,
    상기 비트스트림의 매크로블록 데이터, 슬라이스 데이터 및 픽처 데이터 중 하나에서 추출되는 것을 특징으로 하는 영상 복호화 장치.
  15. 제 14 항에 있어서, 상기 비트스트림 추출기는,
    상기 모드 비트 필드 지시자가 상기 모드 비트 필드의 크기를 나타내면, 상기 매크로블록 데이터, 상기 슬라이스 데이터 및 상기 픽처 데이터 중 하나에서 상기 모드 비트 필드를 상기 계수 비트 필드보다 먼저 상기 모드 비트 필드의 크기만큼 추출하는 것을 특징으로 하는 영상 복호화 장치.
  16. 제 14 항에 있어서, 상기 비트스트림 추출기는,
    상기 모드 비트 필드 지시자가 상기 모드 비트 필드의 위치를 나타내면, 상기 매크로블록 데이터, 상기 슬라이스 데이터 및 상기 픽처 데이터 중 하나에서 상기 계수 비트 필드를 상기 모드 비트 필드보다 먼저 상기 모드 비트 필드의 위치까지 추출하는 것을 특징으로 하는 영상 복호화 장치.
  17. 제 12 항에 있어서,
    상기 비트스트림 추출기는 상기 복원된 하나 이상의 모드 식별자를 버퍼에 저장하고, 상기 예측 모드 선택기는 상기 각 블록의 인접 화소값의 변화량이 임계값보다 크거나 같은 경우에만 상기 버퍼에서 상기 복원된 하나 이상의 모드 식별자를 하나씩 차례로 읽어들이고, 상기 읽어들인 모드 식별자가 나타내는 인트라 예측 모드를 상기 각 블록의 인트라 예측 모드로서 선택하는 것을 특징으로 하는 영상 복호화 장치.
  18. 제 17 항에 있어서, 상기 예측 모드 선택기는,
    상기 각 블록의 인접 화소의 화소값의 변화량이 임계값보다 작은 경우에는 상기 기 설정된 인트라 예측 모드를 상기 각 블록의 인트라 예측 모드로서 선택하는 것을 특징으로 하는 영상 복호화 장치.
  19. 제 18 항에 있어서, 상기 기 설정된 인트라 예측 모드는,
    상기 각 블록의 인접 화소의 화소값의 평균값을 상기 각 블록의 화소들의 예측 화소값으로 예측하는 인트라 예측 모드인 것을 특징으로 하는 영상 복호화 장치.
  20. 영상을 복호화하는 방법에 있어서,
    비트스트림으로부터 모드 비트 필드 지시자를 추출하는 단계;
    상기 모드 비트 필드 지시자를 이용하여 상기 비트스트림으로부터 모드 비트 필드 및 계수 비트 필드를 추출하는 단계;
    상기 모드 비트 필드의 모드 비트를 복호화하여 하나 이상의 모드 식별자를 복원하는 단계;
    상기 계수 비트 필드의 계수 비트를 복호화하여 복호화하고자 하는 각 블록의 잔차 블록을 복원하는 단계;
    기 설정된 인트라 예측 모드 및 상기 비트스트림으로부터 상기 모드 비트가 추출된 경우에 복원된 하나 이상의 모드 식별자가 나타내는 인트라 예측 모드 중에서 복호화하고자 하는 각 블록의 인트라 예측 모드를 선택하는 단계; 및
    상기 선택된 각 블록의 인트라 예측 모드에 따라 상기 각 블록을 예측한 예측 블록과 상기 복원된 잔차 블록을 이용하여 상기 각 블록을 복원하는 단계
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.
KR1020090077449A 2009-08-21 2009-08-21 인트라 예측 부호화/복호화 방법 및 장치 KR101379186B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020090077449A KR101379186B1 (ko) 2009-08-21 2009-08-21 인트라 예측 부호화/복호화 방법 및 장치
US13/391,583 US9451262B2 (en) 2009-08-21 2010-08-21 Method and apparatus for intra-prediction encoding/decoding
PCT/KR2010/005567 WO2011021910A2 (ko) 2009-08-21 2010-08-21 인트라 예측 부호화/복호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090077449A KR101379186B1 (ko) 2009-08-21 2009-08-21 인트라 예측 부호화/복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20110019856A KR20110019856A (ko) 2011-03-02
KR101379186B1 true KR101379186B1 (ko) 2014-04-10

Family

ID=43607505

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090077449A KR101379186B1 (ko) 2009-08-21 2009-08-21 인트라 예측 부호화/복호화 방법 및 장치

Country Status (3)

Country Link
US (1) US9451262B2 (ko)
KR (1) KR101379186B1 (ko)
WO (1) WO2011021910A2 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012121575A2 (ko) * 2011-03-10 2012-09-13 한국전자통신연구원 인트라 예측 방법 및 그 장치
HUE051689T2 (hu) 2011-10-24 2021-03-29 Innotive Ltd Képdekódoló készülék
CN104935943B (zh) 2011-10-24 2018-05-25 英孚布瑞智有限私人贸易公司 对帧内预测模式进行解码的方法
JP2013179572A (ja) * 2012-02-08 2013-09-09 Canon Inc 画像符号化装置および画像符号化方法
US9491461B2 (en) * 2012-09-27 2016-11-08 Qualcomm Incorporated Scalable extensions to HEVC and temporal motion vector prediction
CN103297776B (zh) * 2013-05-17 2016-02-10 西安电子科技大学 星上未配准多光谱图像无损/有损编码***与方法
JP6149707B2 (ja) * 2013-11-25 2017-06-21 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像撮影装置
WO2016072757A1 (ko) * 2014-11-05 2016-05-12 삼성전자 주식회사 블록과 관련하여 결정된 적어도 하나의 샘플값 및 적어도 하나의 패턴에 기초한 인트라 예측을 수행하는 영상 부호화 방법 및 장치 또는 영상 복호화 방법 및 장치
CN105187826B (zh) * 2015-07-31 2018-11-16 郑州轻工业学院 针对高效率视频编码标准的快速帧内模式判决方法
TWI617187B (zh) * 2016-08-15 2018-03-01 晨星半導體股份有限公司 多媒體處理系統與其控制方法
EP3644608A4 (en) * 2017-07-11 2020-06-10 Huawei Technologies Co. Ltd. METHOD AND DEVICE FOR DECODING BASED ON A TEMPLATE

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060083158A (ko) * 2005-01-14 2006-07-20 한국전자통신연구원 저주파 영상 프레임 예측 부호화 및 복호화 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5633686A (en) * 1994-09-14 1997-05-27 Boden; Scott T. Adaptive digital video system
US6295379B1 (en) * 1997-09-29 2001-09-25 Intel Corporation DPCM image compression with plural quantization table levels
US7003035B2 (en) * 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
EP1610560A1 (en) * 2004-06-24 2005-12-28 Deutsche Thomson-Brandt Gmbh Method and apparatus for generating and for decoding coded picture data
US20060193527A1 (en) * 2005-01-11 2006-08-31 Florida Atlantic University System and methods of mode determination for video compression
KR100931912B1 (ko) * 2005-04-13 2009-12-15 노키아 코포레이션 스케일러블 비디오 코딩에서 fgs 식별
KR20070042900A (ko) * 2005-10-19 2007-04-24 엘지전자 주식회사 영상신호의 인코딩/디코딩 방법 및 장치
JP5026092B2 (ja) * 2007-01-12 2012-09-12 三菱電機株式会社 動画像復号装置および動画像復号方法
US8571104B2 (en) * 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
CN100566427C (zh) * 2007-07-31 2009-12-02 北京大学 用于视频编码的帧内预测编码最佳模式的选取方法及装置
BRPI0818444A2 (pt) * 2007-10-12 2016-10-11 Qualcomm Inc codificação adaptativa de informação de cabeçalho de bloco de vídeo

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060083158A (ko) * 2005-01-14 2006-07-20 한국전자통신연구원 저주파 영상 프레임 예측 부호화 및 복호화 방법

Also Published As

Publication number Publication date
WO2011021910A3 (ko) 2011-06-09
WO2011021910A2 (ko) 2011-02-24
US9451262B2 (en) 2016-09-20
US20120201295A1 (en) 2012-08-09
KR20110019856A (ko) 2011-03-02

Similar Documents

Publication Publication Date Title
KR101379185B1 (ko) 예측 모드 선택 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101379186B1 (ko) 인트라 예측 부호화/복호화 방법 및 장치
KR101702553B1 (ko) 영상 부호화/복호화 방법 및 장치
KR101474756B1 (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101772046B1 (ko) 예측모드에 따라 필터링된 화소값으로 인트라예측을 수행하는 영상 부호화/복호화 방법 및 장치
KR101479129B1 (ko) 가변 크기의 매크로블록을 이용한 영상 부호화/복호화 방법 및 장치
US10034024B2 (en) Method and apparatus for encoding/decoding images considering low frequency components
KR20100095992A (ko) 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
KR20110083368A (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101483497B1 (ko) 임펄스 신호를 고려한 영상 부호화/복호화 장치 및 방법
KR20110043510A (ko) 영상 부호화/복호화 장치 및 방법
KR101702551B1 (ko) 영상 부호화/복호화 방법 및 장치
KR101539045B1 (ko) 양자화 계수 결정 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101531186B1 (ko) 선택적 부호화를 이용한 영상 부호화/복호화 장치 및 방법
KR101369161B1 (ko) 예측 방향 전환 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101720195B1 (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101625632B1 (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101603271B1 (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101466550B1 (ko) 화면 내 예측 모드를 효율적으로 처리하는 영상 부호화/복호화 방법 및 장치
KR101487436B1 (ko) 선택적 부호화를 이용한 영상 부호화/복호화 장치 및 방법
KR101971626B1 (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101720194B1 (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101634253B1 (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101603272B1 (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101464979B1 (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180307

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190304

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191216

Year of fee payment: 7