KR101599879B1 - 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 - Google Patents

영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 Download PDF

Info

Publication number
KR101599879B1
KR101599879B1 KR1020090040890A KR20090040890A KR101599879B1 KR 101599879 B1 KR101599879 B1 KR 101599879B1 KR 1020090040890 A KR1020090040890 A KR 1020090040890A KR 20090040890 A KR20090040890 A KR 20090040890A KR 101599879 B1 KR101599879 B1 KR 101599879B1
Authority
KR
South Korea
Prior art keywords
data processing
group
processing unit
mode
block
Prior art date
Application number
KR1020090040890A
Other languages
English (en)
Other versions
KR20090129939A (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 EP15161498.9A priority Critical patent/EP2953368A1/en
Priority to US12/997,747 priority patent/US20110090967A1/en
Priority to PCT/KR2009/002942 priority patent/WO2009151232A2/ko
Priority to JP2011513412A priority patent/JP5670885B2/ja
Priority to CN201410334485.8A priority patent/CN104093019B/zh
Priority to AU2009258401A priority patent/AU2009258401A1/en
Priority to CN200980131662.XA priority patent/CN102124739B/zh
Priority to EP09762619.6A priority patent/EP2293567A4/en
Publication of KR20090129939A publication Critical patent/KR20090129939A/ko
Priority to JP2014211166A priority patent/JP2015035825A/ja
Priority to US14/604,286 priority patent/US9924174B2/en
Application granted granted Critical
Publication of KR101599879B1 publication Critical patent/KR101599879B1/ko
Priority to JP2016094169A priority patent/JP6336513B2/ja

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/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/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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
    • 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

영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치{Method and apparatus for image encoding by dynamic unit grouping, method and apparatus for image decoding by dynamic unit grouping}
본 발명은, 영상의 부호화 및 복호화에 관한 것이다.
기존의 MPEG2, MPEG4, H.264/AVC와 같은 블록 기반 비디오 부복호화 방식에서 매크로블록의 크기는 16×16 으로 고정되어 있다. 특히, H.264/AVC의 경우 좀 더 정확한 추정 또는 예측을 위해서 8×8 이하의 4×4 블록으로 세분하여 사용하기도 한다.
본 발명은 동적으로 결정된 데이터 처리 단위에 기초하는 영상 부호화 및 복호화에 관한 것이다.
본 발명의 일 실시예에 의한 영상 부호화 방법은, 기본블록으로 분류된 영상에 대해, 적어도 하나의 기본블록을 포함하는 그룹 및 적어도 하나의 기본블록을 포함하며 상기 그룹에 포함되는 서브그룹으로 상기 영상 데이터를 분류하는 단계; 상기 소정 그룹을 부호화하기 위해, 상기 그룹, 서브그룹 및 기본블록 중 하나의 데이터 처리 단위에 의해 소정 그룹의 데이터를 부호화하는 방식을 나타내는 상기 소정 그룹의 부호화 모드를 결정하는 단계; 및 상기 결정된 부호화 모드에 따라 상기 소정 그룹의 데이터를 부호화하는 단계를 포함한다.
일 실시예에 따른 영상 부호화 방법은, 상기 소정 그룹의 부호화 모드를 나타내는 플래그를 부호화하는 단계를 더 포함할 수 있다.
일 실시예에 따른 영상 부호화 방법의 상기 데이터 분류 단계는, 상기 그룹에 포함되는 기본블록의 개수를 나타내는 그룹의 크기 및 상기 그룹에 포함되는 기본블록에 의해 형성되는 그룹의 형태를 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 부호화 방법의 상기 데이터 분류 단계는, 상기 그룹에 포함되는 서브그룹의 개수를 나타내는 레벨 및 상기 기본블록의 스캔 순서에 기초하여, 상기 그룹의 서브그룹을 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 부호화 방법의 상기 부호화 모드는, 상기 그룹의 데이터의 부호화가 수행되는 데이터 처리 단위로써, 상기 그룹 단위, 상기 서브그룹 단위, 상기 기본블록 단위 중 어느 하나인지를 나타내는 데이터 처리 단위의 종류에 관한 정보; 상기 데이터 처리 단위에 포함되는 기본블록의 개수를 나타내는 상기 데이터 처리 단위의 크기에 관한 정보; 및 상기 데이터 처리 단위에 대한 움직임 추정을 위해 상기 데이터 처리 단위에 대응되는 참조 정보를 결정하는 방식을 나타내는 추정 모드에 관한 정보 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 영상 부호화 방법의 상기 부호화 모드 결정 단계는, 상기 그룹의 소정 데이터 처리 단위별로, 적어도 하나의 추정 모드에 따라 상기 데이터 처리 단위에 대한 부호화를 수행하는 단계; 상기 소정 데이터 처리 단위 및 추정 모드의 조합별로 부호화에 의한 오차율을 산출하는 단계; 및 상기 산출된 오차율 중 최소의 오차율에 대응하는 상기 소정 데이터 처리 단위의 추정 모드를 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 부호화 방법의 상기 부호화 모드 결정 단계는, 상기 그룹 내 데이터 처리 단위 별로 추정 모드를 고려한 부호화 오차율들을 비교하여, 최소의 오차율에 대응하는 데이터 처리 단위 및 추정 모드의 조합을 상기 그룹의 부호화 모드로 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 부호화 방법은, 그룹 단위 및 서브그룹 단위 중 하나의 데이터가 주파수 변환된 계수를 복수 개의 기본블록 단위로 재배열하는 단계를 더 포함할 수 있다.
일 실시예에 따른 상기 영상 부호화 방법은, 상기 주파수 변환된 계수가 기본 블록 단위로 재배열되었는지 여부를 나타내는 플래그를 부호화하는 단계를 더 포함할 수 있다.
일 실시예에 따른 상기 영상 부호화 방법은, 상기 그룹 내 데이터의 주파수 변환을 위한 데이터 처리 단위를 나타내는 플래그를 부호화하는 단계를 더 포함할 수 있다.
일 실시예에 따른 상기 데이터 분류 단계는, 상기 영상 데이터의 픽처, 시퀀스 및 그룹 중 하나의 데이터 단위별로 상기 그룹 단위 크기, 형태 및 최대 레벨을 결정할 수 있다.
본 발명의 일 실시예에 따른 영상 복호화 방법은, 기본블록, 적어도 하나의 기본블록을 포함하는 그룹, 및 적어도 하나의 기본블록을 포함하며 상기 그룹에 포함되는 서브그룹 중 하나의 데이터 처리 단위로 부호화된 데이터를 수신하여 파싱하는 단계; 상기 파싱된 데이터로부터, 상기 그룹, 서브그룹 및 기본블록 중 하나의 데이터 처리 단위에 의해 소정 그룹의 데이터를 부호화한 방식을 나타내는 상기 소정 그룹의 부호화 모드를 판독하는 단계; 및 상기 판독된 부호화 모드에 기초하여 상기 소정 그룹의 데이터를 복호화하는 단계를 포함한다.
일 실시예에 따른 영상 복호화 방법의 상기 부호화 모드 판독 단계는, 상기 파싱된 데이터로부터, 복호화를 위한 데이터 처리 단위로써 설정된 그룹의 형태, 상기 그룹 내에 포함되는 기본블록의 개수를 나타내는 그룹의 크기 및 상기 그룹 내 서브그룹의 최대 개수에 관한 최대 레벨 정보를 판독하는 단계; 및 상기 그룹의 형태 및 상기 그룹의 크기에 관한 정보를 이용하여, 상기 파싱된 영상 데이터를 분류하여 복호화하기 위한 데이터 처리 단위인 그룹을 결정하는 단계를 포함할 수 있 다.
일 실시예에 따른 영상 복호화 방법에서 상기 그룹 단위는, 상기 영상 데이터의 픽처, 시퀀스 및 그룹 중 하나의 데이터 단위 별로 설정될 수 있다.
일 실시예에 따른 영상 복호화 방법에서 상기 서브그룹은, 상기 그룹에 포함되는 서브그룹의 개수를 나타내는 레벨, 및 상기 기본블록의 스캔 순서에 기초하여 설정될 수 있다.
일 실시예에 따른 영상 복호화 방법의 상기 부호화 모드 판독 단계는, 상기 소정 그룹에 대한 데이터로부터 상기 소정 그룹의 부호화 모드를 나타내는 부호화 모드 플래그를 추출하는 단계; 및 상기 부호화 모드 플래그를 이용하여 상기 소정 그룹의 부호화 모드를 판독하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 복호화 방법에서 상기 그룹의 부호화 모드는, 상기 그룹의 데이터가 부호화된 데이터 처리 단위가, 상기 그룹, 상기 서브그룹, 상기 기본블록 중 어느 하나인지를 나타내는 데이터 처리 단위의 종류에 관한 정보; 상기 데이터 처리 단위에 포함되는 기본블록의 개수를 나타내는 데이터 처리 단위의 크기에 관한 정보; 및 상기 데이터 처리 단위에 대한 움직임 추정을 위해 상기 데이터 처리 단위에 대응되는 참조 정보를 결정하는 방식을 나타내는 추정 모드에 관한 정보 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 영상 복호화 방법의 상기 그룹 복호화 단계는, 상기 부호화 모드의 상기 데이터 처리 단위의 종류에 관한 정보 및 크기에 관한 정보에 기초하여 복호화를 수행할 데이터 처리 단위를 결정하는 단계; 상기 부호화 모드의 추 정 모드에 관한 정보에 기초하여 상기 데이터 처리 단위의 추정 모드를 결정하는 단계; 및 상기 결정된 데이터 처리 단위 및 추정 모드에 기초하여, 상기 그룹에 대한 영상 데이터를 복호화하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 복호화 방법에서 상기 부호화 모드는, 상기 그룹에 대한 부호화 중, 상기 그룹 내의 데이터 처리 단위별로, 적어도 하나의 추정 모드에 따른 소정 데이터 처리 단위에 대한 부호화를 수행하여 추정 모드별 부호화 오차율을 산출하고, 상기 데이터 처리 단위별로 상기 추정 모드별 부호화 오차율 중 최소의 오차율에 대응하는 상기 소정 데이터 처리 단위 및 추정 모드의 조합을 결정하여, 상기 그룹 내의 데이터 처리 단위 및 추정 모드의 조합 별로 부호화 오차율을 비교하여, 최소의 오차율을 갖는 데이터 처리 단위 및 추정 모드의 조합을 선택하여 상기 그룹의 부호화 모드로 설정된 것일 수 있다.
일 실시예에 따른 영상 복호화 방법에서 상기 기본 블록 단위의 복호화 처리 순서는 지그재그 스캔 방식일 수 있다.
일 실시예에 따른 영상 복호화 방법은, 복수 개의 기본 블록의 주파수 변환된 계수를 그룹 단위 및 서브그룹 단위 중 하나로 재배열하는 단계를 더 포함할 수 있다.
일 실시예에 따른 영상 복호화 방법은, 상기 파싱된 데이터로부터, 상기 그룹 단위 및 서브그룹 단위 중 하나의 데이터가 주파수 변환된 계수가 기본 블록 단위로 재배열되었는지 여부를 나타내는 플래그를 판독하는 단계를 더 포함할 수 있다.
일 실시예에 따른 영상 복호화 방법은, 상기 파싱된 데이터로부터, 상기 그룹 내 데이터의 주파수 변환을 위한 데이터 처리 단위를 나타내는 플래그를 판독하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 영상 부호화 장치는, 기본블록으로 분류된 영상에 대해, 적어도 하나의 기본블록을 포함하는 그룹 및 적어도 하나의 기본블록을 포함하며 상기 그룹에 포함되는 서브그룹으로 상기 영상 데이터를 분류하는 데이터 분류부; 상기 그룹을 부호화하기 위해, 그룹 단위, 서브그룹 단위 및 기본블록 단위 중 적어도 하나의 데이터 처리 단위 및 상기 적어도 하나의 데이터 처리 단위에 의한 상기 그룹의 데이터의 부호화 방식을 나타내는 상기 그룹의 부호화 모드를 결정하는 그룹 부호화 모드 결정부; 및 상기 결정된 부호화 모드에 따라 상기 그룹의 데이터를 부호화하는 그룹 부호화부를 포함한다.
본 발명의 일 실시예에 따른 영상 복호화 장치는, 기본블록, 적어도 하나의 기본블록을 포함하는 그룹, 및 적어도 하나의 기본블록을 포함하며 상기 그룹에 포함되는 서브그룹 중 하나의 데이터 처리 단위로 부호화된 데이터를 수신하여 파싱하는 수신부; 상기 파싱된 데이터로부터, 상기 그룹, 서브그룹 및 기본블록 중 하나의 데이터 처리 단위에 의해 소정 그룹의 데이터를 부호화한 방식을 나타내는 상기 소정 그룹의 부호화 모드를 판독하는 그룹 부호화 모드 판독부; 및 상기 판독된 부호화 모드에 기초하여 상기 소정 그룹의 데이터를 복호화하는 그룹 복호화부를 포함한다.
일 실시예에 따라, 영상에 대한 데이터 처리 단위의 종류 및 움직임 추정 방 식을 나타내는 부호화 모드가 결정되면, 부호화 모드에 대응하는 데이터 처리 단위 및 움직임 추정 모드를 고려하여 영상을 부호화한다.
본 발명의 일 실시예에 따라 동적으로 결정된 데이터 처리 단위에 의해 영상을 부호화하는 방법은, 상기 결정된 그룹의 부호화 모드에 대응하는 대형 데이터 처리 단위에 기초하여 상기 입력 영상의 부호화를 위한 주파수 변환 및 양자화를 수행하는 단계; 상기 대형 데이터 처리 단위에 기초하여, 상기 입력 영상의 부호화를 위한 움직임 추정을 수행하는 단계; 상기 대형 데이터 처리 단위에 기초하여 상기 입력 영상의 부호화를 위한 인루프 필터링을 수행하는 단계; 및 상기 대형 데이터 처리 단위에 기초하여 상기 입력 영상의 부호화를 위한 엔트로피 부호화를 수행하는 단계를 더 포함한다.
일 실시예에 따라, 영상에 대한 데이터 처리 단위의 종류 및 움직임 추정 방식을 나타내는 부호화 모드가 판독되면, 부호화 모드에 대응하는 데이터 처리 단위 및 움직임 추정 모드를 고려하여 영상을 복호화한다.
본 발명의 일 실시예에 따라 동적으로 결정된 데이터 처리 단위에 의해 영상을 복호화하는 방법은, 상기 판독된 그룹의 부호화 모드에 대응되는 대형 데이터 처리 단위에 기초하여 상기 그룹의 데이터의 복호화를 위한 엔트로피 복호화를 수행하는 단계; 상기 대형 데이터 처리 단위에 기초하여 상기 그룹의 데이터의 복호화를 위한 역양자화 및 역주파수 변환을 수행하는 단계; 상기 대형 데이터 처리 단위에 기초하여 상기 그룹의 데이터의 복호화를 위한 움직임 추정을 수행하는 단계; 및 상기 대형 데이터 처리 단위에 기초하여 상기 그룹의 데이터의 복호화를 위한 인루프 필터링을 수행하는 단계를 더 포함한다.
본 발명의 일 실시예에 따라 동적으로 결정된 데이터 처리 단위에 의해 영상을 부호화하는 장치는, 상기 결정된 그룹의 부호화 모드에 대응하는 대형 데이터 처리 단위에 기초하여 상기 입력 영상의 부호화를 위한 주파수 변환 및 양자화를 수행하는 주파수 변환 및 양자화부; 상기 대형 데이터 처리 단위에 기초하여, 상기 입력 영상의 부호화를 위한 움직임 추정을 수행하는 움직임 추정부; 상기 대형 데이터 처리 단위에 기초하여 상기 입력 영상의 부호화를 위한 인루프 필터링을 수행하는 인루프 필터링부; 및 상기 대형 데이터 처리 단위에 기초하여 상기 입력 영상의 부호화를 위한 엔트로피 부호화를 수행하는 엔트로피 부호화부를 더 포함한다.
본 발명의 일 실시예에 따라 동적으로 결정된 데이터 처리 단위에 의해 영상을 복호화하는 장치는, 상기 판독된 그룹의 부호화 모드에 대응되는 대형 데이터 처리 단위에 기초하여 상기 그룹의 데이터의 복호화를 위한 엔트로피 복호화를 수행하는 엔트로피 복호화부; 상기 대형 데이터 처리 단위에 기초하여 상기 그룹의 데이터의 복호화를 위한 역양자화 및 역주파수 변환을 수행하는 역양자화 및 역주파수 변환부; 상기 대형 데이터 처리 단위에 기초하여 상기 그룹의 데이터의 복호화를 위한 움직임 추정을 수행하는 움직임 추정부; 및 상기 대형 데이터 처리 단위에 기초하여 상기 그룹의 데이터의 복호화를 위한 인루프 필터링을 수행하는 인루프 필터링부를 더 포함한다.
일 실시예에 따른 상기 영상 부호화 방법 또는 상기 복호화 방법에서는, 상기 움직임 추정을 위한 데이터 처리 단위의 사이즈에 기초하여 상기 주파수 변환을 위한 데이터 처리 단위의 사이즈가 결정될 수 있다.
일 실시예에 따른 상기 영상 부호화 방법 및 상기 영상 복호화 방법의 움직임 추정 수행과 관련하여, 상기 대형 데이터 처리 단위에 기초하여, 순차적 움직임 추정을 위한 데이터 처리 단위별 스캔 순서가 결정될 수 있고, 현재 데이터 처리 단위의 우측 상단에 위치하는 이웃하는 데이터 처리 단위를 참조 블록으로 이용할 수 있는지 여부(Neighbor availability)가 결정될 수 있다.
일 실시예에 따라 상기 대형 데이터 처리 단위에 기초하는 움직임 추정은, 상기 대형 데이터 처리 단위 중 정사각 블록 형태의 데이터 처리 단위를 이용할 수 있다. 상기 정사각 블록 형태의 데이터 처리 단위에 기초하여 주파수 변환을 위한 데이터 처리 단위의 사이즈는 상기 정사각 블록 형태의 데이터 처리 단위보다 작거나 같은 소정 사이즈로 제한될 수 있다.
일 실시예에 따라 상기 대형 데이터 처리 단위에 기초하는 움직임 추정은, 상기 대형 데이터 처리 단위의 인트라 추정을 포함할 수 있으며, 또한 컴플렉스 플레인 형태를 이용한 인트라 모드에 기초하여 수행되는 상기 대형 데이터 처리 단위의 인트라 추정을 포함할 수 있다. 일 실시예에 따라 상기 대형 데이터 처리 단위에 기초하여, 인트라 모드로 움직임 추정이 가능한 데이터 처리 단위가 미리 설정될 수 있다.
일 실시예에 따른 상기 대형 데이터 처리 단위에 기초하는 움직임 추정은, 상기 대형 데이터 처리 단위에 기초한 인트라 모드 및 인터 모드가 혼합된 형태의 추정 모드로 수행되는 움직임 추정을 포함할 수 있으며, 인터 모드의 움직임 추정 을 위한 움직임 벡터는 상기 대형 데이터 처리 단위에 기초하여 결정될 수 있다. 또한, 상기 대형 데이터 처리 단위에 기초하여 결정된 움직임 벡터에 대응하여 인터 모드를 위한 움직임 벡터 추정자가 유도될 수 있다.
일 실시예에 따른 상기 대형 데이터 처리 단위에 기초하는 움직임 추정과 관련하여, 상기 대형 데이터 처리 단위에 기초하여 확장된 형태의 스킵 모드가 결정될 수 있다. 또한, 상호 인접하는 적어도 하나의 스킵 모드의 데이터 처리 단위를 포함하는 스킵 그룹이 결정되고, 동일한 스킵 그룹에 포함되는 모든 데이터 처리 단위에 대해서는 동시에 스킵 모드로 움직임 추정이 수행될 수 있다.
일 실시예에 따른 상기 대형 데이터 처리 단위에 기초하는 상기 주파수 변환은, 상기 대형 데이터 처리 단위에 기초한 대형 블록 기반의 정수 이산 코사인 변환을 포함할 수 있다. 또한, 현재 데이터 처리 단위의 크로마 성분에 대해 상기 대형 데이터 처리 단위에 기초하여 결정된 소정 사이즈로 주파수 변환이 수행될 수 있다. 일 실시예에 따른 대형 데이터 처리 단위에 기초한 주파수 변환에 의해 발생하는 연산량 부담을 줄이도록 변형된 형태의 주파수 변환이 수행될 수 있다.
일 실시예에 따른 상기 대형 데이터 처리 단위에 기초하는 엔트로피 부호화는, 상기 대형 데이터 처리 단위에 기초하여 결정되는 데이터 처리 단위별 사이즈에 따라 계층적인 부호화 블록 패턴(coded block pattern)을 이용할 수 있다.
일 실시예에 따른 상기 대형 데이터 처리 단위에 기초하는 엔트로피 부호화는, 상기 현재 데이터 처리 단위를 상기 현재 데이터 처리 단위의 양자화된 계수들 중 0이 아닌 양자화된 계수가 존재할 확률에 기초하여 분류한 영역 별로 부호화 블 록 패턴을 스캔할 수 있다. 상기 현재 데이터 처리 단위의 분류된 영역별 부호화 블록 패턴에 기초하여, 0이 아닌 계수가 포함된 영역만의 계수의 스트립이 스캔될 수 있다. 또한, 상기 0이 아닌 계수가 포함된 영역의 계수의 스트립을 나타내는 표시는 비트스트림에 포함되도록 부호화될 수 있으며, 비트스트림의 복호화 과정에서 0이 아닌 계수가 포함된 영역의 계수 스트립임을 나타내는 표시를 판독해낼 수 있다.
일 실시예에 따른 상기 엔트로피 부호화 또는 엔트로피 복호화는, 상기 대형 데이터 처리 단위에 기초하여 컨텍스트 기반 적응적 이진 산술 부호 기법(Context-based Adaptive Binary Arithmetic Code: CABAC) 또는 컨텍스트 기반 적응적 가변 길이 부호 기법(Context-based Adaptive Variable Length Code: CABAC)을 이용할 수 있다.
일 실시예에 따른 상기 대형 데이터 처리 단위에 기초하는 엔트로피 부호화 또는 엔트로피 복호화는, 상기 대형 데이터 처리 단위에 기초하는 인트라 모드 또는 크로마 성분에 대해 단일 컨텍스트로 결정된 부호화 블록 패턴을 이용할 수 있다.
일 실시예에 따른 상기 대형 데이터 처리 단위에 기초하는 인루프 필터링은, 상기 대형 데이터 처리 단위에 기초하여 현재 데이터 처리 단위 내부의 하위 데이터 처리 단위에 대한 디블로킹 필터링의 수행 여부를 포함할 수 있다. 또한, 상기 현재 데이터 처리 단위에 대한 디블로킹 필터링 중, 상기 현재 데이터 처리 단위 내부의 하위 데이터 처리 단위의 좌측 경계 또는 상단 경계에 대한 디블로킹 필터 링, 소정 사이즈의 데이터 처리 단위로 주파수 변환된 상기 현재 데이터 처리 단위 내부의 하위 데이터 처리 단위의 경계에 대한 디블로킹 필터링은 제외될 수 있다.
또한, 일 실시예에 따른 상기 인루프 필터링에서는, 상기 현재 데이터 처리 단위의 크로마 성분에 대한 디블로킹 필터링 중, 상기 현재 데이터 처리 단위 내부의 하위 데이터 처리 단위의 크로마 성분의 경계에 대한 디블로킹 필터링이 제외될 수 있다. 일 실시예에 따른 상기 인루프 필터링은, 인터 모드 및 인트라 모드가 혼합된 형태로 움직임 추정이 수행된 상기 현재 데이터 처리 단위에 대한 디블로킹 필터링 중, 상기 현재 데이터 처리 단위 내부의 하위 데이터 처리 단위의 경계에 대한 디블로킹 필터링이 제외될 수 있다.
일 실시예에 따른 상기 인루프 필터링 수행과 관련하여, 상기 현재 데이터 처리 단위 내부의 적어도 하나의 하위 데이터 처리 단위의 경계에 대해, 경계별 디블로킹 필터링의 강도가 개별적으로 설정될 수 있다.
일 실시예에 따른 상기 인루프 필터링은, 상기 대형 데이터 처리 단위에 기초하여, 대형 사이즈인 현재 데이터 처리 단위에 대해 링잉 효과 감소를 위한 부가적인 필터링을 포함할 수 있다.
본 발명은, 본 발명의 일 실시예에 따라 동적으로 결정된 데이터 처리 단위에 의한 영상 부호화 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독가능한 기록 매체를 포함한다.
또한 본 발명은, 본 발명의 일 실시예에 따라 동적으로 결정된 데이터 처리 단위에 의한 영상 복호화 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 포함한다.
이하, 본 명세서의 이해를 위해 본 발명의 실시예들의 목차를 소개한다.
먼저, [Ⅰ. 데이터 처리 단위의 동적 결정]에서 일 실시예에 따라 동적으로 결정되는 데이터 처리 단위 및 부호화 모드에 관해 상술된다.
[Ⅱ. 동적으로 결정된 데이터 처리 단위에 의한 영상 부호화 장치]에서는, 앞서 동적으로 결정된 데이터 처리 단위 및 부호화 모드에 따라 영상을 부호화하는 장치에 관해 기술된다.
일 실시예에 따라 동적으로 결정된 데이터 처리 단위에 의한 영상 부호화 장치의 각각의 세부 동작에 관하여, [Ⅲ. 움직임 추정 프로세싱], [Ⅲ-1. 인트라 추정], [Ⅲ-2. 인터 추정], [Ⅳ. 주파수 변환 및 양자화], [Ⅴ. 엔트로피 부호화]에서 상술된다.
[Ⅶ. 동적으로 결정된 데이터 처리 단위에 의한 영상 복호화 장치]에서는, 일 실시예에 따라 동적으로 결정된 데이터 처리 단위에 의한 영상 부호화 장치에 대응되는 일 실시예에 따라 동적으로 결정된 데이터 처리 단위에 의한 영상 복호화 장치에 관해 상술된다.
[Ⅷ. 동적으로 결정된 데이터 처리 단위에 의한 영상 부호화 방법 및 영상 복호화 방법]에서는, 일 실시예에 따라 동적으로 결정된 데이터 처리 단위에 의한 영상 부호화 방법 및 그에 대응하는 영상 복호화 방법이 상술된다.
[Ⅰ. 데이터 처리 단위의 동적 결정]
도 1 은 본 발명의 일 실시예에 따른 영상 부호화 장치의 블록도를 도시한다.
일 실시예에 따른 영상 부호화 장치(100)는 데이터 분류부(110), 그룹 부호화 모드 결정부(120), 그룹 부호화부(130)를 포함한다.
데이터 분류부(100)는 입력된 영상 데이터가 기본블록 단위로 분류되어 있는 경우, 기본블록에 기초하여 영상 데이터를 적어도 하나의 기본블록을 포함하는 그룹, 및 적어도 하나의 기본블록을 포함하며 그룹에 포함되는 서브그룹 및 기본블록으로 데이터를 분류하고, 분류된 데이터를 그룹 부호화 모드 결정부(120) 및 그룹 부호화부(130)로 출력한다.
기본블록, 그룹, 서브그룹은 영상 데이터를 부호화 처리하기 위한 데이터 처리 단위의 종류이다.
그룹은 기본블록의 개수를 나타내는 '크기' 및 그룹에 포함되는 기본블록에 의해 형성되는 '형태'의 속성을 가질 수 있다. 서브그룹은 그룹 내 서브그룹의 개수를 나타내는 '레벨' 및 그룹 내 기본블록 간의 '스캔순서'에 따라 결정된다. 크기, 형태, 최대 레벨, 스캔 순서 중 적어도 하나를 포함하는 그룹의 속성은 각각의 그룹, 픽처, 시퀀스별로 결정될 수 있다.
그룹의 결정 방식에 대해서는 이하 도 3, 서브그룹의 결정 방식에 대해서는 이하 도 4 및 5 에서 상술된다.
그룹 부호화 모드 결정부(120)는 그룹을 부호화하기 위해 이용되는 데이터 처리 단위, 즉, 그룹 단위, 서브그룹 단위 및 기본블록 단위 중 적어도 하나의 데 이터 처리 단위에 의한 그룹 내 데이터의 부호화 방식에 관한 정보를 포함하는 그룹의 부호화 모드를 결정한다.
그룹 부호화 모드 결정부(120)의 일 실시예는 데이터 분류부(110)에서 분류된 그룹, 서브그룹, 기본블록 중 각각의 데이터 처리 단위별로 각각의 그룹의 데이터를 부호화하여 발생하는 오차율을 결정하고, 각각의 그룹의 데이터 처리 단위별 오차율에 기초하여 해당 그룹의 부호화 모드를 결정할 수 있다. 따라서, 그룹의 데이터 처리 단위별 오차율에 기초하여 동적으로 결정된 데이터 처리 단위에 의해 영상 데이터가 부호화된다.
그룹 부호화 모드 결정부(120)에서 결정하는 부호화 모드는, 그룹의 데이터를 그룹 단위, 서브그룹 단위, 기본블록 단위 중 어느 단위로 부호화 처리할지 여부를 나타내는 데이터 처리 단위의 종류에 관한 정보; 데이터 처리 단위에 포함되는 기본블록의 개수를 나타내는 데이터 처리 단위의 크기에 관한 정보; 데이터 처리 단위에 의한 움직임 추정을 위해 필요한 참조 정보를 결정하는 방식을 나타내는 추정 모드에 관한 정보; 중 적어도 하나를 포함한다.
그룹 부호화 모드 결정부(120)는 그룹의 데이터를 데이터 처리 단위별로 ,기본블록 단위로 부호화한 경우의 오차율, 서브그룹 단위로 부호화한 경우의 오차율, 그룹 단위로 부호화한 경우의 오차율을 산출하여 상호 비교하여, 가장 오차율이 적은 데이터 처리 단위를 해당 그룹의 부호화 처리 단위로 결정할 수 있다. 즉, 부호화 수행 및 오차율 산출 과정이 그룹 단위, 서브그룹 단위, 기본블록 단위마다 수행된다.
또한, 그룹 부호화 모드 결정부(120)의 일 실시예는, 각각의 데이터 처리 단위마다 여러 가지 추정 모드로 부호화한 경우의 오차율을 비교하여, 데이터 처리 단위별로 오차율이 가장 적은 추정 모드를 결정할 수 있다.
예를 들어, 그룹 부호화 모드 결정부(120)는 그룹의 데이터를 데이터 처리 단위마다 추정 모드로써 스킵 모드, 인터 모드, 인트라 모드로 부호화하고, 추정 모드별 부호화 오차율을 산출하여 비교하여, 가장 작은 오차율을 발생시키는 추정 모드를 해당 데이터 처리 단위의 대표 추정 모드로 결정할 수 있다. 즉, 추정 모드별 부호화 수행에 의한 오차율의 비교 및 그에 따른 대표 추정 모드 결정 과정이 그룹 단위, 서브그룹 단위, 기본블록 단위마다 수행된다.
그룹 부호화 모드 결정부(120)는 데이터 처리 단위 별로 대표 추정 모드의 오차율을 비교하여 가장 작은 오차율을 갖는 데이터 처리 단위를 해당 그룹의 데이터를 위한 대표 데이터 처리 단위로 결정할 수 있다. 가장 작은 오차율을 야기하는 대표 데이터 처리 단위 및 대표 추정 모드의 조합에 기초하여, 해당 그룹의 대표 데이터 처리 단위의 종류, 크기, 대표 추정 모드에 관한 정보가 해당 그룹의 부호화 모드로 결정된다.
그룹 부호화부(130)는 그룹 부호화 모드 결정부(120)에서 결정된 그룹별 부호화 모드에 따라 데이터 분류부(110)로부터 입력된 영상 데이터를 부호화하여 출력한다. 영상 부호화 장치(100)는 영상 데이터 이외에도 그룹별 부호화 모드를 나타내는 플래그를 부호화하는 그룹 부호화 모드 플래그를 더 부호화할 수 있다.
본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 기본블록 간의 래스터 스캔 방식 대신 지그재그 스캔 방식을 통해 한 픽처 내의 데이터를 부호화할 수 있다.
일 실시예에 따른 영상 부호화 장치(100)는 그룹 단위 및 서브그룹 단위 중 하나의 데이터가 주파수 변환된 계수를 복수 개의 기본블록 단위로 재배열할 수 있다. 일 실시예에 따른 영상 부호화 장치(100)는 기본블록 또는 서브그룹 단위로 영상 데이터를 주파수 변환할 수 있다. 이때 주파수 변환을 위한 데이터 처리 단위는 움직임 추정을 위한 데이터 처리 단위와 일치하지 않을 수도 있다.
일 실시예에 따른 영상 부호화 장치(100)는 소정 데이터 처리 단위의 데이터가 주파수 변환된 계수가 가변적인 데이터 처리 단위에 따라 재배열되었는지 여부를 나타내는 플래그를 부호화할 수도 있다.
도 2 는 본 발명의 일 실시예에 따른 영상 복호화 장치의 블록도를 도시한다.
일 실시예에 따른 영상 복호화 장치(200)는 수신부(210), 그룹 부호화 모드 판독부(220) 및 그룹 복호화부(230)를 포함한다. 기본블록, 그룹, 서브그룹, 부호화 모드 등의 개념은 일 실시예에 따른 영상 부호화 장치(100)의 설명에서 전술된 바와 동일하다.
수신부(210)는 기본 블록, 그룹, 서브그룹 중 하나의 데이터 처리 단위로 부호화된 데이터를 수신하고 파싱하여, 복호화될 정보들을 추출하고 그룹 부호화 모드 판독부(220) 및 그룹 복호화부(230)로 출력한다.
그룹 부호화 모드 판독부(220)는 수신부(210)에서 파싱된 데이터로부터 그룹 의 부호화 모드를 판독하여, 그룹 복호화부(230)로 출력한다. 그룹 부호화 모드 판독부(220)는 파싱된 데이터로부터, 그룹의 형태, 크기, 최대 레벨에 관한 정보를 판독하고, 판독된 그룹의 형태 및 크기 정보를 이용하여 소정 그룹을 결정할 수 있다. 그룹의 속성은 그룹, 픽처, 시퀀스 등의 데이터 단위별로 설정되어 있을 수 있다.
다른 실시예의 그룹 부호화 모드 판독부(220)는 파싱된 데이터로부터 소정 그룹의 부호화 모드를 나타내는 그룹 부호화 모드 플래그를 추출하고, 그룹 부호화 모드 플래그를 이용하여 소정 그룹의 부호화 모드를 판독할 수 있다. 판독된 그룹별 부호화 모드는 각각의 그룹의 데이터를 복호화할 때 사용될 데이터 처리 단위의 종류, 크기, 추정 모드 등에 관한 정보를 포함하고 있다.
그룹 복호화부(230)는 그룹 부호화 모드 판독부(220)로부터 입력된 그룹별 부호화 모드를 이용하여, 수신부(210)에서 수신된 그룹별 데이터를 복호화하여 출력한다.
그룹 복호화부(230)는 부호화 모드 중 데이터 처리 단위의 종류 및 크기에 관한 정보에 기초하여 그룹의 데이터의 복호화를 위한 그룹 내 데이터 처리 단위를 결정하고, 부호화 모드 중 추정 모드에 관한 정보에 기초하여 해당 데이터 처리단위의 추정 모드를 결정할 수 있다. 그룹 복호화부(230)는 부호화 모드로부터 결정된 데이터 처리 단위 및 추정 모드에 기초하여 해당 그룹의 데이터를 복호화할 수 있다.
그룹 복호화부(230)는 기본블록 단위의 지그재그 스캔 방식에 따라 한 픽처 의 데이터를 스캔함으로써 그룹별 부호화 모드를 판독하며 복호화할 수 있다.
일 실시예의 영상 복호화 장치(200)는 복수 개의 기본 블록의 주파수 변환된 계수를 그룹 단위 및 서브그룹 단위 중 하나로 재배열할 수도 있다. 일 실시예의 영상 복호화 장치(200)는 기본블록 또는 서브그룹 단위로 분류된 데이터를 주파수 역변환할 수도 있다.
영상 복호화 장치(200)는 파싱된 데이터로부터 그룹 단위 및 서브그룹 단위 중 하나의 데이터가 주파수 변환된 계수가 부호화 과정에서 기본 블록 단위로 재배열되어 있는지 여부를 나타내는 플래그를 더 추출할 수 있다. 계수 재배열 여부 플래그에 기초하여 복호화 과정에서 계수를 그룹 단위 및 서브그룹 단위 중 하나로 재배열할 수 있다.
도 3 은 본 발명에서 제안하는 데이터 처리 단위인 그룹의 개념을 도시한다.
대용량의 데이터를 처리할 수 있는 하드웨어 및 네트워크 환경이 구축되면서, 대용량의 데이터에 비해 기존의 매크로블록 단위가 유용한 정보를 수록하기에 상대적으로 작은 단위일 수 있다. 예를 들어, SD(Standard Definition)급 이상의 HD(High Definition)급 해상도 및 그 이상의 해상도에서는 작은 크기의 매크로블록으로 인하여 실제 텍스쳐 코딩에 사용되는 것이 바람직한 비트가 매크로블록 모드, 움직임 벡터 등의 매크로블록 심볼인 부가 정보에 할당됨으로써 RD 코스트(Rate-Distortion Cost)가 저하될 수 있다.
본 발명은 적어도 하나의 기본블록을 포함하는 그룹 단위를 데이터 처리 단위로써 도입한다.
기본블록(300)은 적어도 하나의 데이터를 포함하는 단위이다. 예를 들면, MPEG 또는 H.264의 8×8, 16×16 매크로블록 등일 수 있다.
그룹은 적어도 하나의 기본블록을 포함하는 단위로써, 그 형태 및 기본블록의 개수를 나타내는 그룹의 크기는 임의로 결정될 수 있다. 예를 들면, 크기 16 및 정사각형 형태인 그룹(310), 크기 8 및 직사각형 형태인 그룹(320, 325), 크기 13 및 다이아몬드 형태인 그룹(330) 등이 존재할 수 있다. 이러한 그룹의 형태 및 크기는 영상 데이터의 픽처, 픽처 시퀀스 단위로 일정하게 설정될 수도 있으며, 모든 그룹마다 개별적으로 설정될 수도 있다.
도 4 는 본 발명에서 제안하는 데이터 처리 단위인 서브그룹의 일 예를 도시한다.
그룹 내의 서브그룹은 그룹 내 적어도 하나의 기본블록을 포함하며, 서브그룹을 결정하는 제 1 결정 방식은 레벨 및 스캔 순서에 따라 결정되는 방식이다. 도 4 는 정사각형 형태, 그룹 크기 16, 최대 레벨 4인 그룹을 도시한다.
먼저, 그룹 내 서브그룹의 개수에 따라 레벨 4인 그룹(410, 420, 450), 레벨 2인 그룹(430, 460), 레벨 1인 그룹(440)으로 분류될 수 있다.
또한, 그룹 내 기본블록의 스캔순서에 따라 지그재그 스캔 순서의 그룹(410), 버티컬 스캔 순서의 그룹(420, 430, 440), 래스터 스캔 순서의 그룹(450, 460)으로 분류될 수 있다.
따라서, 크기 16, 정사각형 형태의 그룹(410)에 대해 레벨 4, 지그재그 스캔 순서로 서브그룹이 설정되면 크기 4, 정사각형 형태의 4개의 서브그룹이 형성될 수 있다. 그룹(420)에 대해 레벨 4, 버티컬 스캔 순서로 서브그룹이 설정되면, 크기 4, 직사각형 형태의 4개의 서브그룹(422, 424, 426, 428)이 형성될 수 있다. 마찬가지로 그룹(450)에 대해 레벨 4, 래스터 스캔 순서로 서브그룹이 설정되면, 크기 4, 직사각형 형태의 4개의 서브그룹(452, 454, 456, 458)이 형성될 수 있다.
크기 16, 정사각형 형태의 그룹(430)에 대해 레벨 2, 버티컬 스캔 순서로 서브그룹이 설정되면, 크기 8, 직사각형 형태의 2개의 서브그룹(432, 434)이 형성될 수 있다. 마찬가지로 그룹(460)에 대해 레벨 2, 래스터 스캔 순서로 서브그룹이 설정되면, 크기 8, 직사각형 형태의 2개의 서브그룹(462, 464)이 형성될 수 있다.
크기 16, 정사각형 형태의 그룹(440)에 대해 레벨 1, 버터컬 스캔 순서로 서브그룹이 설정되면, 크기 16, 정사각형 형태의 1개의 서브그룹(445)이 형성될 수 있다.
도 4에는 각각의 레벨마다 여러 가지 스캔 순서가 모두 설정되어 있지만, 레벨 별로 소정 스캔 순서가 설정될 수도 있다. 또한, 주파수 변환을 위한 데이터 처리 단위는 앞서 정의된 그룹, 서브그룹의 크기 이하의 단위일 수도 있다.
도 5 는 본 발명에서 제안하는 데이터 처리 단위인 서브그룹의 다른 예를 도시한다.
서브그룹을 결정하는 제 2 결정 방식은 그룹 내 기본블록의 스캔 순서에 따라 나열되는 기본블록의 시퀀스를 레벨에 따라 구분하는 방식이다. 도 5 는 정사각형 형태, 그룹 크기 16인 그룹(500, 550)을 예로 들어 서브그룹의 제 2 결정 방식이 상술된다.
정사각형 형태, 그룹 크기 16인 그룹(500)은 지그재그 스캔 순서에 따라 기본블록 1, 2, 5, 9, 6, 3, 4, 7, 10, 13, 14, 11, 8, 12, 15, 16의 순서로 기본블록의 시퀀스(510)가 재배열될 수 있다. 그룹(500)의 레벨이 3인 경우 기본블록 시퀀스(510)는 기본블록 1, 2, 5, 9, 6을 포함하는 제 1 서브그룹, 기본블록 3, 4, 7, 10, 13을 포함하는 제 2 서브그룹, 기본블록 14, 11, 8, 12, 15, 16을 포함하는 제 3 서브그룹으로 분류될 수 있다. 따라서, 그룹(500)을 지그재그 스캔 순서에 따라 레벨 3의 서브그룹으로 분류하면 그룹(520)와 r서브그룹이 같이 분류될 수 있다.
다른 예로써, 정사각형 형태, 그룹 크기 16인 그룹(550)은 역지그재그 스캔 순서에 따라 기본블록 4, 8, 3, 2, 7, 12, 16, 11, 6, 1, 5, 10, 15, 14, 9, 13의 순서로 기본블록의 시퀀스(560)가 재배열될 수 있다. 그룹(550)의 레벨이 4인 경우 기본블록 시퀀스(560)는 기본블록 4, 8, 3, 2를 포함하는 제 1 서브그룹, 기본블록 7, 12, 16, 11을 포함하는 제 2 서브그룹, 기본블록 6, 1, 5, 10을 포함하는 제 3 서브그룹, 기본블록 15, 14, 9, 13를 포함하는 제 4 서브그룹으로 분류될 수 있다. 따라서, 그룹(550)을 역지그재그 스캔 순서에 따라 레벨 4의 서브그룹으로 분류하면 그룹(570)와 같이 서브그룹이 분류될 수 있다.
도 6 은 본 발명의 일 실시예에 따른 부호화 모드의 신택스를 도시한다.
일 실시예에 따른 영상 복호화 장치(200)의 그룹 부호화 모드 판독부(220)에서, 소정 그룹의 부호화 모드를 나타내는 신택스에 따라 그룹 부호화 모드를 판독하는 과정의 흐름도를 나타낸다.
단계 610에서, 그룹 부호화 모드 판독부(220)는 소정 그룹의 데이터가 그룹 단위의 스킵 모드로 부호화되었는지 여부를 나타내는 플래그(Group_SKIP)를 확인한다. 'Group_SKIP' 플래그 값이 1이면 해당 그룹의 데이터에 대해 그룹 단위의 스킵 모드로 복호화를 수행한다(단계 620). 'Group_SKIP' 플래그 값이 0이면 단계 630으로 이동한다.
단계 630에서, 그룹 부호화 모드 판독부(220)는 레벨에 따른 서브그룹이 설정되는지 여부를 판단한다. 그렇다면 그룹 부호화 모드 판독부(220)는 서브그룹 단위의 복호화 방식을 조사한다(단계 640). 서브그룹이 설정되지 않았다면 그룹 부호화 모드 판독부(220)는 기본블록 단위의 복호화 방식을 조사한다(단계 650).
바람직한 실시예에서는, 레벨은 1보다는 크고 그룹 크기보다는 작아야 한다. 레벨이 1이라면 그룹과 동일한 데이터 처리 단위이기 때문이다.
그룹 부호화 모드 판독부(220)는 해당 그룹의 데이터가 서브그룹 단위의 스킵 모드로 부호화되었는지 여부를 나타내는 플래그(Subgroup_SKIP)를 확인한다(단계 640). 'Subgroup_SKIP' 플래그 값이 1이면 그룹 부호화부(230)는 서브그룹 단위의 스킵 모드로 복호화를 수행한다(단계 660). 'Subgroup_SKIP' 플래그 값이 0이면 그룹 부호화부(230)는 스킵 모드를 제외한 추정 모드로 서브그룹 단위의 복호화를 수행한다(단계 670).
그룹 단위의 스킵 모드에 대한 차별성을 위해, 바람직한 실시예에서는, 모든 서브그룹에 대해 'Subgroup_SKIP' 플래그 값이 1로 설정되어 있어서는 안된다.
바람직한 실시예에서, 서브그룹 단위의 복호화(Subgroup_Mode)에 있어서 일 반 모드는, 레벨 및 스캔 순서에 따라 결정된다. 이때 레벨은 최대 레벨보다 작거나 같아야 한다.
그룹 부호화 모드 판독부(220)는 해당 그룹의 데이터가 기본블록 단위의 스킵 모드로 부호화되었는지 여부를 나타내는 플래그(Unit_SKIP)를 확인한다(단계 650). 'Unit_SKIP' 플래그의 값이 1이라면 그룹 부호화부(230)는 기본블록 단위의 스킵 모드로 복호화를 수행한다(단계 680). 'Unit_SKIP' 플래그의 값이 0이라면 그룹 부호화부(230)는 스킵 모드를 제외한 추정 모드로 기본블록 단위의 복호화를 수행한다(단계 690).
바람직한 실시예에서, 서브그룹 단위 또는 그룹 단위의 스킵 모드에 대한 차별성을 위해, 바람직한 실시예에서는, 모든 기본블록에 대해 'Unit_SKIP' 플래그 값이 1로 설정되어 있어서는 안된다.
도 7 은 데이터 처리 단위 별 부호화 방식의 일례를 도시한다.
그룹 내 데이터 처리 단위별 부호화 방식은 경우에 따라 임의로 결정될 수 있다. 이하, 정사각형 형태, 그룹 크기 4, 최대 레벨 2 인 그룹(710)의 데이터 처리 단위별 부호화 방식의 일례가 서술된다.
크기 4, 최대 레벨 2인 그룹(710)에 있어서, 레벨이 2일 때 스캔 순서에 따라 버티컬 스캔 순서의 서브그룹(720), 래스터 스캔 순서의 서브그룹(730)이 설정되고, 레벨이 1일 때 서브그룹(740)이 설정된다.
기본블록(700)에 대한 부호화 방식 중 스킵 모드(Unit_SKIP)는 16×16 스킵 모드가 채택될 수 있다. 또한, 기본블록(700)의 부호화 방식 중 일반 모 드(Unit_Mode)는 16×16, 8×8, 4×4 인트라 모드 및 16×16, 16×8, 8×16, 8×8, 4×8, 8×4, 4×4 인터 모드 중 하나가 채택될 수 있다.
서브그룹(720, 730)에 대한 부호화 방식으로써, 레벨 1의 서브그룹(740)에 대한 부호화 방식 중 일반 모드(Subgroup_Mode)는 32×32 인터 모드 및 32×32 인트라 모드 중 하나가 채택될 수 있다. 레벨 2의 서브그룹(720, 730)에 대한 부호화 방식 중 일반 모드(Subgroup_Mode)는 16×32 인터 모드 및 32×16 인터 모드 중 하나가 채택될 수 있다.
그룹(710)에 대한 부호화 방식은 스킵 모드(Group_SKIP)로 32×32 스킵 모드가 설정될 수 있다.
도 8 은 본 발명의 일 실시예에 따라 그룹의 부호화 모드를 결정하는 부호화 방법의 흐름도를 도시한다.
도 8 을 참고하여, 데이터 처리 단위별 부호화 모드에 관련하여 최적의 데이터 처리 단위 및 추정 모드를 결정하는 방식이 서술된다.
흐름도(800)는 소정 그룹의 부호화 모드를 결정하기 위해 영상 부호화 장치(100), 특히 영상 부호화 모드 결정부(120)가 따르는 프로세스에 관한 흐름도이다.
부호화하고자 하는 데이터로부터 획득된 그룹의 형태, 크기, 최대 레벨에 대한 정보에 기초하여, 부호화될 데이터 중 소정 그룹이 결정된다(단계 810). 그룹의 형태, 크기, 최대 레벨 정보는 픽처, 시퀀스, 또는 그룹 단위로 설정되어 있을 수 있다.
이하, 데이터 처리 단위별 부호화가 수행된다.
먼저 그룹 단위의 스킵 모드로 부호화가 수행되고(단계 820), 그룹 단위의 스킵 모드의 부호화에 의한 오차율로써 RD 코스트(Rate Distortion Cost)가 산출된다(단계 830). 예를 들어, 32×32 그룹에 대한 32×32 스킵 모드의 부호화에 따른 RD 코스트가 산출된다.
기본블록 단위의 부호화가 수행된다(단계 840). 기본블록 단위의 부호화는 스킵 모드, 인트라 모드, 인터 모드로 각각 수행될 수 있다. 기본블록 단위의 부호화는 그룹 내 기본블록마다 수행되어야 하므로 그룹 크기에 상응하는 그룹 내 기본블록의 개수만큼 단계 840이 반복된다.
기본블록 단위의 부호화에 의한 RD 코스트가 산출된다(단계 850). 예를 들어, 16×16 스킵 모드, 16×16/8×8/4×4 인트라 모드, 16×16/16×8/8×16/8×8/4×8/8×4/4×4 인터 모드 등의 기본블록 단위별로 부호화한 결과 산출되는 RD 코스트 중 가장 작은 기본블록 단위가 검색된다. 즉, 기본블록 단위의 최소 RD 코스트에 상응하는 기본블록 크기 및 추정 모드의 조합이 선택된다.
서브그룹 단위의 부호화가 수행된다(단계 860). 서브그룹을 설정하기 위해 레벨을 확인하고(단계 862), 스캔 순서를 확인하여(단계 864), 해당 레벨의 각각의 서브그룹마다 부호화가 수행된다(단계 860). 서브그룹 단위의 부호화는 인트라 모드, 인터 모드로 각각 수행될 수 있다. 서브그룹 단위의 부호화는 그룹 내 서브그룹마다 수행되어야 하므로 레벨에 따라 가능한 레벨의 수만큼 단계 862, 864, 860이 반복된다.
서브그룹 단위의 부호화에 의한 RD 코스트가 산출된다(단계 870). 각각의 서브그룹마다 인트라 모드, 인터 모드의 부호화 중 가장 RD 코스트가 작은 최적 추정 모드가 결정되고, 모든 서브그룹 중 RD 코스트가 가장 작은 서브그룹 및 추정 모드의 조합이 결정된다. 예를 들어, 레벨에 따라 32×32 인터 모드/32×32 인트라 모드 또는 16×32/32×16 인터 모드 등의 서브블록 단위별로 부호화한 결과 산출되는 RD 코스트들 중 가장 작은 서브그룹 단위가 검색된다. 즉, 서브그룹 단위의 최소 RD 코스트에 상응하는 서브그룹 크기 및 추정 모드의 조합이 선택된다.
영상 부호화 모드 결정부(120)는, 단계 830에서 산출된 그룹 단위의 RD 코스트, 단계 850에서 선택된 기본블록 단위 조합의 RD 코스트, 단계 870에서 선택된 서브그룹 단위 조합의 RD 코스트를 비교하여, 최저 RD 코스트를 선택한다(단계 880).
영상 부호화 모드 결정부(120)는, 단계 880에서 선택된 최저 RD 코스트에 대응되는 데이터 처리 단위 또는 데이터 처리 단위의 크기 및 추정 모드 조합에 기초하여 해당 그룹의 부호화 모드를 결정한다(단계 890). 예를 들어, 그룹의 부호화 모드는, 그룹 단위, 서브그룹 단위, 기본블록 단위 중 어느 단위인지 데이터 처리 단위의 종류, 데이터 처리 단위의 크기와 관련된 정보(32×32, 32×16, 16×32, 16×16, 16×8, 8×16, 8×8, 4×8, 8×4, 4×4 ), 추정 모드(스킵, 인트라, 인터 모드 등)에 관한 정보를 포함할 수 있다.
도 9 은 본 발명의 일 실시예에 따라 부호화 모드를 판독하여 복호화하는 방법의 흐름도를 도시한다.
흐름도(900)는 영상 복호화 장치(200), 특히 그룹 부호화 모드 판독부(220)가 소정 그룹의 복호화를 위해 그룹의 부호화 모드를 판독하는 프로세스의 흐름도를 나타낸다.
그룹 부호화 모드 판독부(220)는 복호화하고자 하는 데이터로부터 그룹의 형태, 크기, 최대 레벨에 대한 정보를 획득하여, 복호화될 데이터 중 소정 그룹을 결정한다(단계 910). 그룹의 형태, 크기, 최대 레벨에 대한 정보는 픽처, 시퀀스, 또는 그룹 단위로 설정되어 있을 수 있다.
그룹 부호화 모드 판독부(220)는 소정 그룹이 그룹 단위의 스킵 모드로 부호화되었는지 여부를 나타내는 플래그(Group_Skip)를 확인한다(단계 920). 확인 결과 그룹 단위의 스킵 모드인 경우 해당 그룹에 대해 스킵 모드로 복호화한다(단계 930). 확인 결과 그룹 단위의 스킵 모드가 아닌 경우 단계 940으로 이동한다.
단계 940에서, 그룹 부호화 모드 판독부(220)는 그룹의 레벨을 확인한다. 확인 결과 레벨에 의해 서브그룹이 설정되지 않았다면 그룹 부호화 모드 판독부(220)는 기본블록 단위의 복호화 방식을 조사한다(단계 990). 레벨이 확인된 경우 그룹 부호화 모드 판독부(220)는, 서브그룹의 레벨을 확인하고(단계 960), 스캔 순서를 결정한다(단계 970). 그룹 부호화 모드 판독부(220)는 레벨 및 스캔 순서에 따라 결정된 서브그룹에 대해 복호화를 수행한다(단계 950). 그룹 내 서브그룹마다 복호화되므로, 그룹 내 레벨의 수만큼 서브그룹의 복호화 과정(단계 960, 970, 950)이 반복된다.
그룹 부호화 모드 판독부(220)는 기본블록 단위의 추정 모드를 나타내는 플 래그(Unit_mode)를 확인한다(단계 990). 확인 결과에 따라 결정된 추정 모드에 따라 그룹 부호화 모드 판독부(220)는 해당 기본블록에 대해 복호화를 수행한다(단계 980). 그룹 부호화 모드 판독부(220)는 'Subgroup_SKIP' 플래그 값이 0이면 단계 670에 따라 스킵 모드를 제외한 추정 모드로 해당 서브그룹에 대한 복호화를 수행한다. 그룹 내 기본블록마다 복호화되므로, 그룹 크기만큼 기본블록의 복호화 과정(단계 990, 980)이 반복된다.
이하, 본 발명에서 제안하는 그룹, 서브그룹, 기본블록의 가변적인 데이터 처리 단위에 의한 부호화 및 복호화에 있어서, 다양한 실시예가 상술된다.
본 발명의 일 실시예에서, 인터 모드의 움직임 벡터 추정 방식의 일례는 현재 데이터 처리 단위의 모든 주변 데이터 처리 단위의 움직임 벡터의 중앙값(median value)을 현재 데이터 처리 단위의 움직임 벡터로 결정할 수 있다.
본 발명의 일 실시예에서, 인터 모드의 움직임 벡터 추정 방식은 그룹, 서브그룹, 기본블록 등의 크기를 고려하여 달리 결정될 수도 있다. 예를 들어, 데이터 처리 단위의 크기에 따라 참조하는 주변 블록의 크기, 종류 등이 달리 설정될 수 있다.
본 발명의 일 실시예에서, 인트라 모드의 움직임 추정 방식의 일례는, 현재 데이터 처리 단위의 임의의 각도 또는 방향 상에 위치하는 인접 픽셀 5개를 참조하여, 5개의 인접 픽셀값의 가중평균값(weighted average)을 현재 픽셀값으로 추정할 수 있다.
본 발명의 일 실시예에서, 인트라 모드의 움직임 추정 방식의 일례는, 소정 그룹을 주파수 변환 처리를 위한 데이터 처리 단위별로 소정 그룹의 데이터를 재배열하여 참조 픽셀로 사용할 수 있다. 인트라 모드의 추정 방식의 다른 예는, 움직임 벡터의 x축 변화량 및 y축 변화량을 그라데이션(gradation, ∇)을 이용하여 표현할 수도 있다.
32×32 인트라 모드의 블록의 움직임 추정 방식의 일례는, 움직임 벡터 등의 추정 신호 두 개의 가중평균을 이용하여 현재 블록을 추정할 수 있다. 가중평균은 픽셀별로 가장 가까운 참조 픽셀에 더 큰 가중치를 주는 방식으로 구해질 수 있다.
본 발명의 일 실시예에서, 그룹 단위의 스킵 모드를 나타내는 플래그는 픽처 단위로 모아서 한번에 처리될 수 있다. 바람직한 실시예에서, B 픽처만 해당 픽처 내의 그룹 단위의 스킵 모드를 나타내는 플래그가 한번에 처리될 수 있다.
본 발명의 일 실시예는 스킵 모드와 대비되는 방식으로서 현재 데이터 처리 단위의 정보를 유도하는 방식을 제안한다. 예를 들어, 움직임 벡터 및 텍스쳐 정보가 모두 시그널링되지 않고 유도될 수 있다. 또한, 움직임 벡터 정보는 시그널링되고 텍스쳐 정보는 유도되거나, 텍스쳐 정보는 시그널링되고 움직임 벡터 정보는 유도될 수 있다. DC 정보만 시그널링되는 추정 모드가 가능하다. 양자화 파라미터(Quantization parameter, Qp)별로 다양한 움직임 정보 유도 방식이 정의될 수도 있다.
본 발명의 일 실시예는 스킵 모드의 데이터 처리 단위가 계층 구조를 형성할 수 있다. 예를 들어, 스킵 모드의 32×32 블록 내의 16×16 블록도 스킵 모드라면, 32×32 스킵 플래그 및 16×16 스킵 플래그의 계층 구조를 나타내는 플래그가 설정 될 수 있다. 또한, 스킵 모드인 기본블록의 집합인 그룹이 형성될 수도 있다.
본 발명의 실시예들에 따라, 점차 증가하고 있는 비디오 컨텐츠의 해상도에 대응하기 위해 기존의 매크로블록 크기를 보다 효율적인 크기로 확장하여 비디오 압축 성능이 향상될 수 있다.
이하, 도 10 내지 17을 참고로 기존의 H.264 동영상 부복호화 방식에 대비하여, 본 발명에서 제안하는 그룹, 서브그룹, 기본블록의 계층적 개념을 32×32 데이터의 수퍼 매크로블록(이하, 'SMB' 또는 'S-MB'로도 표기됨) 단위, 16×16 매크로블록(이하, 'MB'로도 표기됨) 단위, 8×8 매크로블록 단위의 계층적 구조로써 구현한 본 발명의 다른 실시예가 상술된다.
도 10 은 본 발명에서 가능한 데이터 처리 단위의 계층적 구조를 도시한다.
데이터 처리 단위의 계층적 구조(1000)는 3단계의 구조를 가질 수 있다. 제 1 계층(1010)은 가장 큰 사이즈인 32×32 수퍼 매크로블록이며, 예를 들어 한 개의 32×32 스킵 모드인 경우, 한 개의 32×32 인터 모드인 경우, 두 개의 32×16 인터 모드를 포함하는 경우, 두 개의 16×32 인터 모드를 포함하는 경우, 네 개의 16×16 인터 모드를 포함하는 경우가 있을 수 있다. 제 1 계층(1010)에 대해서는 16×16 블록, 8×8 블록 및 4×4 블록 단위의 주파수 변환이 수행될 수 있다.
제 2 계층은 (1020)은 제 1 계층(1010)의 수퍼 매크로블록 중 분화된 16×16 매크로블록에 해당한다. 예를 들어, 제 2 계층(1020)의 16×16 매크로블록은 한 개의 16×16 인트라 모드인 경우, 한 개의 16×16 스킵 모드인 경우, 한 개의 16×16 인터 모드인 경우, 두 개의 16×8 인터 모드를 포함하는 경우, 두 개의 8×16 인터 모드를 포함하는 경우, 네 개의 8×8 인터 모드를 포함하는 경우가 있을 수 있다. 제 2 계층(1020)에 대해서는 8×8 블록 및 4×4 블록 단위의 주파수 변환이 수행될 수 있다.
제 3 계층(1030)은 제 2 계층(1020)의 매크로블록 중 분화된 8×8 블록에 해당한다. 예를 들어, 제 3 계층(1030)의 8×8 매크로블록은, 한 개의 8×8 스킵 모드인 경우, 한 개의 8×8 인터 모드인 경우, 두 개의 8×4 인터 모드를 포함하는 경우, 두 개의 4×8 인터 모드를 포함하는 경우, 네 개의 4×4 인터 모드를 포함하는 경우가 있을 수 있다. 제 3 계층(1030)에 대해서는 4×4 블록 단위의 주파수 변환이 수행될 수 있다.
본 발명이 제안하는 매크로블록의 확장형 계층 구조에 따라, 대용량의 비디오 데이터를 위한 32×32 수퍼 매크로블록 모드로 부복호화가 가능할 뿐만 아니라, 8×8 이하의 매크로블록 모드로도 프로세싱이 가능하다. 또한, 본 발명이 제안하는 매크로블록의 확장형 계층 구조에서, 스킵 모드, 또는 인트라 모드, 16×16 이하의 매크로블록 단위 등의 처리는 기존 부복호화 방식과 동일한 방식이 채택될 수 있으므로 새로운 부복호화 시스템의 구축을 위해 필요한 비용 및 시간이 절감될 수 있다.
도 11 은 본 발명의 다른 실시예에 따른 수퍼 매크로블록 및 매크로블록 단위에 의한 부호화 모드의 신택스를 도시한다.
영상 복호화 장치(200)의 다른 실시예에 따르면, 그룹 부호화 모드 판독부(220)는 현재 그룹의 부호화 모드를 판단하기 위해 먼저 수퍼 매크로블록 단위의 스킵 모드로 부호화되었는지 여부를 나타내는 플래그(SMB_SKIP)를 확인한다(단계 1110). 'SMB_SKIP' 플래그 값이 1 이면 그룹 복호화부(230)는 32×32 수퍼 매크로블록 단위의 스킵 모드로 움직임 추정을 통한 복호화를 수행한다(단계 1120).
'SMB_SKIP' 플래그 값이 0 이면 그룹 부호화 모드 판독부(220)는 현재 그룹이 수퍼 매크로블록 단위로 부호화되었는지 여부를 판단한다(단계 1130). 단계 1130 의 판단에 의해 스킵 모드가 아닌 추정 모드로 수퍼 매크로블록 단위의 부호화가 이루어졌다면 그 판단 결과는 그룹 복호화부(230)로 전달되어, 그룹 복호화부(230)는 'SMB_mode' 플래그에 따라 32×32 인터 모드, 32×16 인터 모드, 16×32 인터 모드, 16×16 인터 모드의 수퍼 매크로블록 단위로 움직임 추정을 통한 복호화를 수행한다(단계 1140).
바람직한 실시예에 따르면, 16×16 인터 모드의 수퍼 매크로블록 단위에 의한 움직임 추정 방식은 기존 16×16 인터 모드의 매크로블록 단위에 의한 움직임 추정 방식과 동일할 수 있다.
단계 1130 의 판단에 의해 현재 그룹이 수퍼 매크로블록 단위 인터 모드로 부호화되지 않았다고 판단되면, 그룹 부호화 모드 판독부(220)는 매크로블록 단위의 스킵 모드로 부호화된 그룹인지 여부를 나타내는 플래그(MB_SKIP)를 확인한다(단계 1150).
단계 1150 의 판단에 의해 매크로블록 단위의 스킵 모드로 부호화가 이루어졌다면 그 판단 결과는 그룹 복호화부(230)로 전달되고, 그룹 복호화부(230)는 'MB_SKIP' 플래그에 따라 16×16 수퍼 매크로블록 단위로 스킵 모드의 움직임 추정 을 통한 복호화를 수행한다(단계 1160).
단계 1150 의 판단에 의해 매크로블록 단위의 스킵 모드로 부호화가 이루어지지 않았다면 그 판단 결과는 그룹 복호화부(230)로 전달되고, 그룹 복호화부(230)는 'MB_SKIP' 플래그에 따라 16×16 인트라 모드, 16×16 인터 모드, 16×8 인터 모드, 8×16 인터 모드, 8×8 인터 모드 등의 매크로블록 단위 또는 8×8 매크로블록보다 작은 서브 매크로블록 단위로 복호화를 수행한다(단계 1170).
도 12 는 본 발명의 다른 실시예에 따라 부호화 모드가 스킵 모드인 경우 움직임 벡터 추정 방식을 도시한다.
다른 실시예에 따른 영상 부호화 장치(100) 및 영상 복호화 장치(200)는 스킵 모드인 블록의 움직임 벡터를 추정하기 위해 수퍼 매크로블록 단위 기반의 움직임 벡터 추정 방식 또는 매크로블록 단위 기반의 움직임 벡터 추정 방식을 사용할 수 있다.
수퍼 매크로블록 단위 기반의 움직임 벡터 추정 방식의 일례는, 32×32 스킵 모드의 수퍼 매크로블록은 주변 블록의 움직임 벡터를 이용하여 움직임 벡터를 추정할 수 있다. 주변 블록은 수퍼 매크로블록 또는 매크로블록일 수 있다. 예를 들어, 아래 수학식 1에 따라 수퍼 매크로블록의 움직임 벡터가 추정된다.
MV = Median(MVa, MVb, MVc)
Median(·) 함수는 입력의 중앙값을 출력하는 함수이다. 즉, 수퍼 매크로블록의 움직임 벡터 MV(1210)는 주변 블록 중 좌측 블록의 움직임 벡터 MVa(1220), 상단 블록의 움직임 벡터 MVb(1225), 우측 상단 블록의 움직임 벡터 MVc(1230) 중 중앙값을 갖는 움직임 벡터로 결정된다.
매크로블록 단위 기반의 움직임 벡터 추정 방식의 일례는, 16×16 스킵 모드의 매크로블록은 주변 블록의 움직임 벡터를 이용하여 매크로블록의 움직임 벡터를 추정할 수 있다. 예를 들어, 아래 수학식 2, 3, 4 및 5 에 따라 매크로블록의 움직임 벡터가 추정될 수 있다.
MV0 = Median(MVa, MVb, MVc)
MV1 = Median(MV0, MVc, MVd)
MV2 = Median(MVe, MV0, MV1)
MV3 = Median(MV0, MV1, MV2)
16×16 스킵 모드의 매크로블록 MV0(1240), MV1(1245), MV2(1250), MV3(1255)은 각각의 주변 블록 중 좌측 블록의 움직임 벡터, 상단 블록의 움직임 벡터, 우측 상단 블록의 움직임 벡터 중 중앙값을 갖는 움직임 벡터로 결정된다. 즉, 수학식 2에 의해 MV0(1240)는 MVa(1260), MVb(1265), MVc(1270)의 중앙값으로 결정되며, 수학식 3에 의해 MV1(1245)는 MV0(1240), MVc(1270), MVd(1275)의 중앙값으로, 수학식 4에 의해 MV2(1250)는 MVe(1280), MV0(1240), MV1(1245)의 중앙값 으로, 수학식 5에 의해 MV3(1255)는 MV2(1250), MV0(1240), MV1(1245)의 중앙값으로 결정된다.
다른 실시예에 따른 영상 부호화 장치(100)는 수퍼 매크로블록 단위의 움직임 벡터 추정 또는 매크로블록 단위의 움직임 벡터 추정인지 여부를 움직임 벡터 추정 방식을 나타내는 플래그를 슬라이스 또는 소정 데이터 단위에 규칙적으로 삽입할 수 있다. 다른 실시예에 따른 영상 복호화 장치(200)는 슬라이스 또는 소정 데이터 단위로부터 움직임 벡터 추정 방식에 대한 플래그를 추출하여 수퍼 매크로블록 또는 매크로블록의 움직임 벡터를 추정하는데 이용할 수 있다.
도 13 은 본 발명의 다른 실시예의 데이터 처리 단위별 부복호화 처리 순서를 도시한다.
본 발명에서는 영상의 부호화 또는 복호화 단계에서 3단계 계층 구조를 가지는 확장된 매크로블록 모드를 지원하기 위해, 수평 방향으로 매크로블록 별로 스캔하는 래스터 스캔 방식(1310) 대신 16×16 매크로블록 별로 지그재그 스캔 순서(1320)를 도입한다.
예를 들어, 현재 매크로블록은 블록 1330과 같은 16×16 매크로블록들의 집합 중 하나(16×16 MB)인 블록, 블록 1340과 같은 32×32 수퍼 매크로블록(32×32 S-MB)에 포함된 매크로블록, 블록 1350과 같은 32×16 또는 16×32 수퍼 매크로블록 쌍(32×16/16×32 S-MB)에 포함된 매크로블록, 블록 1370과 같은 32×16 또는 16×32 하프-수퍼 매크로블록(32×16/16×32 S-MB_half)에 포함된 매크로블록, 블록 1360과 같은 16×16 매크로블록(16×16 MB) 등일 수 있다.
본 발명의 영상 부호화 장치(100)의 그룹 부호화 모드 결정부(120)는 각각의 32×32 수퍼 매크로블록에 대해서, 하나의 32×32 수퍼 매크로블록인 경우 및 4개의 16×16 매크로블록 인 경우의 RD 코스트를 비교하여, 32×32 수퍼 매크로블록 모드 또는 16×16 매크로블록 모드 중 하나로 부호화하도록 결정할 수 있다.
매크로블록의 지그재그 스캔 방식에 의해 기존의 부호화 또는 복호화 시스템의 구조를 크게 변경하지 않고 스캔 방식만 변경하여 사용할 수 있으므로, 기존의 부호화 또는 복호화 시스템을 이용하여 본 발명을 용이하게 구현할 수도 있다.
또한, 수퍼 매크로블록 단위에 부합하지 않은 영상의 가장자리 부분은 블록 1370과 같은 32×16 또는 16×32 하프-수퍼 매크로블록 또는 블록 1360과 같은 16×16 매크로블록 등을 이용하여 쉽게 처리될 수 있다.
도 14 는 본 발명의 다른 실시예의 주파수 계수의 배열 방식을 도시한다.
본 발명은 영상 부호화 과정 및 복호화 과정에서 16×16 블록의 주파수 계수들(1400)을 인터리브드 방식에 따라 8×8 매크로블록(1450)으로 재배열할 수 있다. 이렇게 8×8 매크로블록 단위로 재배열된 계수들은 8×8 매크로블록 단위로 엔트로피 부호화 또는 복호화될 수 있다.
16×16 블록의 계수들을 8×8 매크로블록 단위의 인터리브드 방식으로 재배열하는 방식의 일례는, 16×16 블록의 계수들의 위치에 따라 좌측 상단, 우측 상단, 좌측 하단, 우측 하단의 8×8 매크로블록으로 재배열할 수 있다.
계수의 재배열 순서에 따르면, 16×16 블록 중 2×2 블록의 계수 중 좌측 상단의 계수는 좌측 상단의 8×8 매크로블록(1460)으로 배치된다. 즉, 16×16 블록의 계수(1410)는 좌측 상단의 8×8 매크로블록(1460)의 계수(1462)로 배치된다.
또한, 16×16 블록 중 2×2 블록의 계수 중 우측 상단의 계수는 우측 상단의 8×8 매크로블록(1470)으로 배치된다. 즉, 16×16 블록의 계수(1430)는 우측 상단의 8×8 매크로블록(1470)의 계수(1472)로 배치된다.
마찬가지로, 16×16 블록 중 2×2 블록의 계수 중 좌측 하단의 계수는 좌측 하단의 8×8 매크로블록(1480)으로 배치된다. 즉, 16×16 블록의 계수(1420)는 좌측 하단의 8×8 매크로블록(1480)의 계수(1482)로 배치된다.
마지막으로 16×16 블록 중 2×2 블록의 계수 중 우측 하단의 계수를 우측 하단의 8×8 매크로블록(1490)으로 배치한다. 즉, 16×16 블록의 계수(1440)는 우측 하단의 8×8 매크로블록(1490)의 계수(1492)로 배치된다.
도 15 는 기존 부호화 방식 및 본 발명의 다른 실시예에 따른 CBP(Coded Block Pattern) 및 계수 블록 크기와 관련된 신택스 부호화 방식을 비교한다.
일반적인 CBP(Coded Block Pattern)를 고려한 계수의 부호화 방식(1510)은 CBP 값을 확인하여(단계 1520), CBP 값이 0이면 CBP를 고려한 계수의 부호화 과정을 종료한다. CBP 값이 0이 아니면 계수 블록 크기를 나타내는 플래그(TFlag)를 부호화하고(단계 1530), 현재 계수를 부호화함(단계 1540)으로써 CBP를 고려한 계수의 부호화가 완료된다. 기존의 부복호화 방식과 같이 8×8 또는 4×4 블록 단위로 주파수 변환된 계수가 나열된 경우, 'Tflag' 플래그는 8×8 또는 4×4 블록 단위의 계수인지 여부를 나타낼 수 있다.
본 발명이 제안하는 CBP(Coded Block Pattern)를 고려한 부호화 방식(1550) 에 따르면, CBP 값이 확인되여(단계 1520), CBP 값이 0이면 CBP를 고려한 계수의 부호화가 종료한다. CBP 값이 0이 아니면 현재 계수가 8×8 또는 4×4 블록 단위의 계수인지 나타내는 플래그(TFlag8)가 부호화되고(단계 1560), 'TFlag8' 플래그의 값에 기초한 판단 결과(단계 1570) 현재 계수가 4×4 블록 단위의 계수라면 계수가 부호화됨(단계 1590)으로써 계수의 부호화가 완료된다.
'TFlag8' 플래그의 값에 기초한 판단 결과(단계 1570) 현재 계수가 4×4 블록 단위의 계수가 아니라면, 현재 계수가 8×8 또는 16×16 블록 단위의 계수인지 나타내는 플래그(TFlag16)가 부호화되고(단계 1580), 현재 계수가 부호화됨(단계 1590)으로써 계수의 부호화가 완료된다.
따라서, 본 발명은 주파수 변환된 계수가 배열된 데이터 처리 단위와 관련된 두 개의 플래그(TFlag8, TFlag16)를 이용하여, 가변적인 블록 크기에 의한 주파수 변환을 통한 부호화 및 주파수 역변환을 통한 복호화가 수행될 수 있다.
주파수 변환과 관련하여, 본 발명의 일 실시예는 주파수 변환된 계수의 배열 블록의 크기 뿐만 아니라 정수 단위의 주파수 변환을 도입할 수도 있다. 8×8 인터리브드 방식의 계수 블록을 통해 EOB(End of Block) 길이가 감소될 수 있다. 또한, 'Tfalg8' 플래그 값이 1일 때 16×16 인터 모드를 위한 오버헤드는 1 비트만이 추가적으로 요구된다. 다양한 크기의 블록으로 인해 에너지 압축 효율이 높아지므로, 주파수 변환 빈도가 감소될 수도 있다.
도 16 은 본 발명의 다른 실시예의 CBP 관련 신택스를 도시한다.
본 발명의 다른 실시예에 따른 영상 부호화 장치(200)는 계층적 구조의 CBP 부호화 방식을 도입한다. 스킵 모드가 아닌 매크로블록을 위해, CBP 정보의 부호화 여부를 나타내는 플래그(MB_CBP_flag)가 부호화된다(단계 1600). 'MB_CBP_flag' 플래그에 기초한 판단 결과(단계 1610), 'MB_CBP_flag' 플래그 값이 0이라면 더 이상의 추가 정보가 필요하지 않으므로 CBP 부호화 과정이 종료된다. 'MB_CBP_flag' 플래그에 기초한 판단 결과(단계 1610), 'MB_CBP_flag' 플래그 값이 1이라면 해당 매크로블록을 위한 CBP의 부호화가 수행된다(단계 1620).
본 발명의 다른 실시예에 따른 영상 복호화 장치(200)는 수신된 데이터에 삽입되어 있는 'MB_CBP_flag' 플래그를 추출하여, 복호화 대상인 매크로블록에 대해 CBP의 복호화가 필요한지 여부를 판단할 수 있다.
도 17 은 본 발명의 다른 실시예의 B 프레임의 부호화 모드를 도시한다.
본 발명의 영상 부호화 장치(100) 및 영상 복호화 장치(200)는 B 프레임을 위한 부호화 모드로써 수퍼 매크로블록 단위의 다이렉트 모드(S-MB DIRECT mode)를 도입할 수 있다. 현재 수퍼 매크로블록의 부호화 모드가 다이렉트 모드라면 텍스처 코딩이 수행되어야 한다.
예를 들어, 32×32 수퍼 매크로블록(1710)의 각각의 16×16 매크로블록(1720, 1730, 1740, 1750)마다 포함된 CBP 부호화 여부를 나타내는 플래그(MB_CBP_FLAG)는, 해당 16×16 매크로블록(1720, 1730, 1740, 1750)이 스킵 모드인지 다이렉트 모드의 부호화인지 여부를 나타낸다.
즉, 'MB_CBP_FLAG' 플래그가 1인 매크로블록(1720, 1750)은 다이렉트 모드의 매크로블록(1760, 1790)이므로, H.264 표준에 따르는 다이렉트 모드와 동일한 움직 임 추정 방식으로 움직임 벡터가 추정될 수 있다.
반면에, 'MB_CBP_FLAG' 플래그가 0인 매크로블록(1730, 1740)은 다이렉트 모드의 매크로블록(1770, 1780)이므로, 움직임 벡터의 추정을 위해 더 이상의 정보가 필요하지는 않다.
영상 부호화 장치(100) 및 영상 복호화 장치(200)의 다른 예는 다이나믹 레인지 분할 방식을 위한 블록 단위를 양자화 파라미터, 해상도, 시퀀스 특성에 기초하여 결정할 수 있다. 또한, 수평 방향, 수직 방향 뿐만 아니라 다양한 방향으로 데이터 처리 단위가 분류될 수 있다.
전술된 3단계의 계층 구조에서 제 1 레벨은 스킵 모드 및 인터 모드 뿐만 아니라, 인트라 모드 및 인터 모드가 복합된 추정 모드의 수퍼 매크로블록을 포함할 수 있다.
부호화 모드 또는 데이터 처리 단위는 픽처, 시퀀스, 슬라이스, 매크로블록 등의 다양한 데이터 단위 별로 설정될 수 있으며, 최대 또는 최소 기본블록 사이즈 및 분화 계층 레벨로 표현될 수도 있다. 데이터 처리 단위의 계층 구조의 2단계 구조(binary tree)는 n단계 구조(n-ary tree)로 분화될 수 있다.
영상 부호화 장치(100) 및 영상 복호화 장치(200)의 다른 실시예에서, 움직임 추정을 위한 블록의 크기, 주파수 변환을 위한 블록의 크기, 디블로킹 필터링을 위한 블록의 크기 순으로 순차적으로 블록의 크기가 작거나 같도록 유지될 수 있다. 또한, 움직임 추정을 위한 데이터 처리 단위 및 주파수 변환을 위한 데이터 처리 단위를 통합하거나 분리하여 표현되도록 할 수 있다.
임의의로 그룹으로 형성된 인트라 또는 인터 모드의 매크로블록들은 임의의 개수의 기본 블록을 포함하는 그룹으로 형성될 수 있다. 이 경우, 그룹의 사이즈에 기초하여 블록 추정이 수행되거나, 그룹의 사이즈에 기초하여 주파수 변환이 수행될 수 있다.
임의의 개수의 스킵 모드의 매크로블록들로 그룹이 형성될 수도 있다.
도 18 은 본 발명의 일 실시예에 따른 영상 부호화 방법의 흐름도를 도시한다.
단계 1810에서, 기본블록으로 분류된 영상 데이터가 그룹, 서브그룹 및 기본블록을 포함하는 확장된 개념으로 분류된다. 그룹은 기본블록의 개수를 나타내는 크기, 형태 및 최대 레벨의 속성을 가질 수 있으며, 서브그룹은 레벨 및 스캔 순서에 따라 설정될 수 있다.
단계 1820에서, 그룹을 부호화하기 위해 이용되는 데이터 처리 단위로써 그룹 단위, 서브그룹 단위 및 기본블록 단위 중 적어도 하나에 관한 정보 및 상기 적어도 하나의 데이터 처리 단위에 의해 그룹의 데이터를 부호화하는 방식에 관한 정보를 포함하는 그룹의 부호화 모드가 결정된다.
그룹의 부호화 모드는, 그룹 내 각각의 데이터 처리 단위별로 수행된 그룹의 데이터에 대한 부호화에 의해 발생되는 오차율에 기초하여 결정될 수 있다. 각각의 그룹마다 그룹 단위의 부호화 오차율, 그룹 내 모든 서브그룹의 부호화 오차율 중 최저 오차율, 그룹 내 모든 기본블록의 부호화 오차율 중 최저 오차율을 비교하여, 최적의 데이터 처리 단위 및 추정 모드가 선택된다. 각각의 그룹의 부호화 모드는 해당 그룹의 최적의 데이터 처리 단위 및 추정 모드에 대한 정보를 포함한다.
단계 1830에서, 결정된 부호화 모드에 따라 각각의 그룹의 데이터가 부호화된다. 영상 데이터 및 그룹별 부호화 모드를 나타내는 정보 뿐만 아니라 그룹 내 주파수 변환된 계수가 소정 데이터 처리 단위로 재배열되었는지 여부에 대한 정보, CBP 부호화 정보 등이 부호화되어 전송 데이터에 삽입될 수도 있다.
도 19 는 본 발명의 일 실시예에 따른 영상 복호화 방법의 흐름도를 도시한다.
단계 1910에서, 기본블록, 그룹, 및 서브그룹 중 하나의 데이터 처리 단위로 부호화된 데이터가 수신되어, 수신된 데이터로부터 복호화에 필요한 정보가 파싱된다. 수신된 데이터로부터 복호화 대상이 되는 영상 데이터를 파싱하고, 영상의 복호화를 위해 필요한 파라미터 등이 파싱될 수도 있다.
단계 1920에서, 단계 1910에서 파싱된 데이터로부터, 그룹, 서브그룹 및 기본블록 중 하나의 데이터 처리 단위에 의해 소정 그룹의 데이터를 부호화한 방식을 나타내는 소정 그룹의 부호화 모드가 판독된다.
그룹을 결정하기 위해, 파싱된 데이터로부터 그룹의 크기, 형태, 최대 레벨을 나타내는 정보를 추출하여 판독한다. 그룹이 결정되면 각각의 그룹의 부호화 모드를 추출하여 판독한다.
단계 1930에서, 판독된 부호화 모드에 대응되는 소정 그룹의 데이터가 복호화된다.
소정 그룹의 부호화 모드로부터 추출 및 판독된 어느 데이터 처리 단위로 복 호화해야 하는지 여부에 대한 정보, 해당 데이터 처리 단위의 크기 및 형태에 관련된 정보, 움직임 추정 방식에 관한 정보 등을 이용하여 소정 그룹의 데이터가 복호화된다.
[Ⅱ. 동적으로 결정된 데이터 처리 단위에 의한 영상 부호화 장치]
도 20a, 20b, 20c, 20d, 20e 및 20f 는 각각 일 실시예에 따라 동적으로 결정된 데이터 처리 단위를 고려하는 영상 부호화 장치(100)의 변형 실시예의 블록도를 도시한다.
일 실시예에 따른 영상 부호화 장치(100)의 그룹 부호화부(130)는 그룹 부호화 모드 결정부(120)에서 결정된 그룹의 부호화 모드에 기초하는 데이터 처리 단위 및 추정 모드에 따라 그룹의 데이터를 부호화하기 위해, 주파수 변환 및 양자화, 인트라 추정 및 인터 추정을 포함하는 움직임 추정, 인루프 필터링, 엔트로피 부호화를 수행한다.
일 실시예에 따른 영상 부호화 장치(100)는 그룹의 데이터 처리 단위를 동적으로 결정한다. 따라서, 그룹의 데이터 처리 단위는, 그룹, 서브그룹, 기본블록의 계층적 구조 중 하나일 수 있다.
일 실시예에 따른 영상 부호화 장치(100)에 의해 동적으로 결정되는 데이터 처리 단위는 기존 영상 부호화 포맷에서는 정의되지 않은 데이터 처리 단위일 수 있으므로, 기존 영상 부호화 프로세스와는 구별되는 고유 프로세스가 필요하다. 예를 들어, 16×16 또는 8×8 매크로블록보단 큰 사이즈의 대형 데이터 처리 단위가 이용되는 경우 그룹 부호화부(130)는 대형 데이터 처리 단위를 고려하는 프로세스 를 통해 영상 부호화 작업을 수행하여야 한다.
도 20a 는 일 실시예에 따른 영상 부호화 장치(100)의 그룹 부호화부(130)에 대해 대형 데이터 처리 단위를 고려한 주파수 변환 및 양자화가 적용된 경우의 블록도를 도시한다.
일 실시예에 따른 영상 부호화 장치(100)의 그룹 부호화부(130)의 제 1 실시예는 대형 데이터 처리 단위를 고려한 주파수 변환 및 양자화부(2003), 인트라 추정부 및 인터 추정부를 포함하는 움직임 추정부(133), 인루프 필터링부(137) 및 엔트로피 부호화부(139)를 포함한다.
그룹 부호화부(130)의 제 1 실시예에 따른 대형 데이터 처리 단위를 고려한 주파수 변환 및 양자화부(2001)는 그룹 부호화 모드 결정부(120)에서 결정된 부호화 모드에 기초한 대형 데이터 처리 단위에 의해 주파수 변환 및 양자화를 수행하기 위해, 대형 데이터 처리 단위를 기반의 정수 이산 코사인 변환 및 양자화를 수행할 수 있다.
그룹 부호화부(130)의 제 1 실시예에 따른 대형 데이터 처리 단위를 고려한 주파수 변환 및 양자화부(2001)는 대형 데이터 처리 단위에 의해 주파수 변환 및 양자화를 수행하기 위해, 대형 데이터 처리 단위의 크로마 성분에 대해 이산 코사인 변환 및 양자화를 수행할 수 있다.
그룹 부호화부(130)의 제 1 실시예에 따른 대형 데이터 처리 단위를 고려한 주파수 변환 및 양자화부(2001)는 대형 데이터 처리 단위를 기반으로 하는 이산 코사인 변환에 의해 가중될 수 있는 연산량의 부담을 감소하기 위해 저복잡도 연산이 가능한 이산 코사인 변환을 수행할 수 있다.
도 20b 는 일 실시예에 따른 영상 부호화 장치(100)의 그룹 부호화부(130)에 대해 대형 데이터 처리 단위를 고려한 움직임 추정 프로세싱이 적용된 경우의 블록도를 도시한다.
일 실시예에 따른 영상 부호화 장치(100)의 그룹 부호화부(130)의 제 2 실시예는 주파수 변환 및 양자화부(131), 대형 데이터 처리 단위를 고려한 프로세싱에 의한 움직임 추정부(2003), 인루프 필터링부(137) 및 엔트로피 부호화부(139)를 포함한다. 대형 데이터 처리 단위를 고려한 프로세싱을 기반으로 하여 인트라 추정 및 인터 추정이 수행될 수 있다.
그룹 부호화부(130)의 제 2 실시예에 따른 대형 데이터 처리 단위를 고려한 프로세싱에 의한 움직임 추정부(2003)는 그룹 부호화 모드 결정부(120)에서 결정된 부호화 모드에 기초한 대형 데이터 처리 단위를 고려하여, 움직임 추정을 위한 대형 데이터 처리 단위 및 주파수 변환을 위한 데이터 처리 단위의 조합이 미리 결정될 수 있다. 주파수 변환을 위한 데이터 처리 단위는 움직임 추정을 위한 데이터 처리 단위보다 사이즈가 작은 것이 바람직하다.
그룹 부호화부(130)의 제 2 실시예에 따른 대형 데이터 처리 단위를 고려한 프로세싱에 의한 움직임 추정부(2003)는 대형 데이터 처리 단위를 고려하여, 데이터 처리 단위별 움직임 추정을 위한 스캔 방식 및 이웃 블록을 참조 블록으로 이용할 수 있는 가능성(Neighbor availability)을 결정할 수 있다.
그룹 부호화부(130)의 제 2 실시예에 따른 대형 데이터 처리 단위를 고려한 프로세싱에 의한 움직임 추정부(2003)는 대형 데이터 처리 단위를 고려하여, 부호화 모드를 나타내는 비트의 전송량을 절약하기 위해, 정사각 형태의 데이터 처리 단위만이 채택하는 간략화된 부호화 모드를 이용할 수 있다.
도 20c 는 일 실시예에 따른 영상 부호화 장치(100)의 그룹 부호화부(130)에 대해 대형 데이터 처리 단위를 고려한 인트라 추정이 적용된 경우의 블록도를 도시한다.
일 실시예에 따른 영상 부호화 장치(100)의 그룹 부호화부(130)의 제 3 실시예는 주파수 변환 및 양자화부(131), 대형 데이터 처리 단위를 고려한 인트라 추정부(2004) 및 인터 추정부(135), 인루프 필터링부(137) 및 엔트로피 부호화부(139)를 포함한다.
그룹 부호화부(130)의 제 3 실시예에 따른 대형 데이터 처리 단위를 고려한 인트라 추정부(2004)는 소정 대형 데이터 처리 단위에 대해 인트라 추정을 수행하는 인트라 모드를 추가적으로 정의할 수 있다.
그룹 부호화부(130)의 제 3 실시예에 따른 대형 데이터 처리 단위를 고려한 인트라 추정부(2004)는 보다 대형 데이터 처리 단위의 정확한 움직임 추정을 위해, 인트라 모드에 컴플렉스 플레인(complex plain)을 이용한 추정 모드를 도입할 수 있다.
그룹 부호화부(130)의 제 3 실시예에 따른 대형 데이터 처리 단위를 고려한 인트라 추정부(2004)는, 인트라 추정이 가능한 대형 데이터 처리 단위의 종류를 한정할 수 있다.
도 20d 는 일 실시예에 따른 영상 부호화 장치(100)의 그룹 부호화부(130)에 대해 대형 데이터 처리 단위를 고려한 인터 추정이 적용된 경우의 블록도를 도시한다.
일 실시예에 따른 영상 부호화 장치(100)의 그룹 부호화부(130)의 제 4 실시예는 주파수 변환 및 양자화부(131), 인트라 추정부(134) 및 대형 데이터 처리 단위를 고려한 인터 추정부(2005), 인루프 필터링부(137) 및 엔트로피 부호화부(139)를 포함한다.
그룹 부호화부(130)의 제 4 실시예에 따른 대형 데이터 처리 단위를 고려한 인터 추정부(2005)는 대형 데이터 처리 단위의 추정 모드로써, 인터 추정 및 인트라 추정이 혼재할 수 있는 혼합 모드를 도입할 수 있다.
그룹 부호화부(130)의 제 4 실시예에 따른 대형 데이터 처리 단위를 고려한 인터 추정부(2005)는 대형 데이터 처리 단위 별로 움직임 벡터(MV)를 결정하고, 그에 따라 움직임 벡터 추정자(MVP)를 유도할 수 있다.
그룹 부호화부(130)의 제 4 실시예에 따른 대형 데이터 처리 단위를 고려한 인터 추정부(2005)는 대형 데이터 처리 단위에 대한 스킵 모드를 새로이 도입하고, 복수의 스킵 모드의 데이터 처리 단위를 포함하는 스킵 그룹을 설정할 수 있다. 스킵 그룹에 속하는 스킵 모드의 데이터 처리 단위들 모두에 대해서는 함께 스킵 처리할 수 있다.
도 20e 는 일 실시예에 따른 영상 부호화 장치(100)의 그룹 부호화부(130)에 대해 대형 데이터 처리 단위를 고려한 인루프 필터링이 적용된 경우의 블록도를 도 시한다.
일 실시예에 따른 영상 부호화 장치(100)의 그룹 부호화부(130)의 제 5 실시예는 주파수 변환 및 양자화부(131), 인트라 추정부 및 인터 추정부를 포함하는 움직임 추정부(133), 인루프 필터링부(2007) 및 엔트로피 부호화부(139)를 포함한다.
그룹 부호화부(130)의 제 5 실시예에 따른 대형 데이터 처리 단위를 고려한 인루프 필터링부(2007)는 대형 데이터 처리 단위 내부의 하위 처리 단위의 경계에 대한 필터링 여부를 결정하고, 필터링 강도를 조절할 수 있다.
그룹 부호화부(130)의 제 5 실시예에 따른 대형 데이터 처리 단위를 고려한 인루프 필터링부(2007)는 대형 데이터 처리 단위 내부의 링잉 효과를 감소시키기 위한 인루프 필터링을 수행할 수 있다.
도 20f 는 일 실시예에 따른 영상 부호화 장치(100)의 그룹 부호화부(130)에 대해 대형 데이터 처리 단위를 고려한 엔트로피 부호화가 적용된 경우의 블록도를 도시한다.
일 실시예에 따른 영상 부호화 장치(100)의 그룹 부호화부(130)의 제 6 실시예는 주파수 변환 및 양자화부(131), 인트라 추정부 및 인터 추정부를 포함하는 움직임 추정부(133), 인루프 필터링부(137) 및 엔트로피 부호화부(2009)를 포함한다.
그룹 부호화부(130)의 제 6 실시예에 따른 대형 데이터 처리 단위를 고려한 엔트로피 부호화부(2009)는 대형 데이터 처리 단위에 대한 부호화 블록 패턴을 정의한다. 또한, 엔트로피 부호화부(2009)는 데이터 처리 단위 내에 0이 아닌 부호화 블록 패턴이 존재할 확률에 기초하여 부호화 블록 패턴을 스캔할 수 있다.
그룹 부호화부(130)의 제 6 실시예에 따른 대형 데이터 처리 단위를 고려한 인루프 필터링부(2007)는 대형 데이터 처리 단위에 대해 컨텍스트 기반 적응적 이진 산술 부호화(CABAC) 또는 컨텍스트 기반 적응적 가변 길이 부호화(CAVLC)를 적용할 수 있다.
그룹 부호화부(130)의 제 6 실시예에 따른 대형 데이터 처리 단위를 고려한 인루프 필터링부(2007)는, 대형 데이터 처리 단위에 대한 부호화 블록 패턴의 신규 컨텍스트를 설정할 수 있다.
전술한 그룹 부호화부(130)의 제 1 실시예 내지 제 6 실시예는, 각각의 부호화 과정별로 대형 데이터 처리 단위를 고려하여 수행할 수 있는 고유 프로세스들이다. 이하, 영상 부호화 전과정에 걸쳐 대형 데이터 처리 단위 중 하나인 대형 블록을 기반으로 영상 시퀀스를 부호화하는 방법을 도 20g를 참조하여 후술한다.
도 20g 은 본 발명의 일 실시예에 따라 동적으로 결정된 데이터 처리 단위를 고려한 영상 부호화 방법의 흐름도를 도시한다.
일 실시예에 따른 영상 부호화 방법(2000)은 계층적 구조의 블록(2020) 중 소정 부호화 모드에 대응하는 블록을 이용하여, 입력 영상 시퀀스(2010)에 대한 부호화를 수행한다. 블록의 계층적 구조(2020)는 도 10을 참조하여 전술된 그룹, 서브그룹, 기본블록의 계층적 구조와 동일하다.
일 실시예에 따른 영상 부호화 방법(2000)은 주파수 변환 및 양자화 단계(s2030), 움직임 추정 단계(s2040), 인루프 필터링 단계(s2080), 엔트로피 부호화 단계(s2090)을 거쳐 영상 비트스트림을 출력(s2098)한다. 움직임 추정 단 계(s2040)는 소정 프로세싱(2050) 기반의 인트라 추정 단계(s2060) 및 인터 추정 단계(s2070)을 포함한다.
일 실시예에 따른 영상 부호화 방법(s2000)은 대형 블록을 고려하므로, 주파수 변환 및 양자화 단계(s2030), 움직임 추정을 위한 프로세싱(2050), 인트라 추정 단계(s2060), 인터 추정 단계(s2070), 인루프 필터링 단계(s2080), 엔트로피 부호화 단계(s2090)도 대형 블록을 고려한 고유 프로세스를 수행할 수 있다.
예를 들어, 주파수 변환 및 양자화 단계(s2030)의 대형 블록을 고려한 고유 프로세스는, 대형 블록 기반의 정수 이산 코사인 변환 및 양자화(2032), 대형 블록의 크로마 성분에 대한 이산 코사인 변환 및 양자화(2034), 대형 블록 기반의 이산 코사인 변환을 위한 저복잡도 연산(2036) 중 적어도 하나를 포함할 수 있다.
움직임 추정을 위한 프로세싱(2050)의 대형 블록을 고려한 고유 프로세스는, 움직임 추정을 위한 대형 블록 및 주파수 변환을 위한 대형 블록의 조합(2052), 움직임 추정을 위한 블록 스캐닝 방식 및 이웃 블록 참조 가능성(2054), 계층적 구조의 대형 블록의 간략화 모드(2056) 중 적어도 하나를 포함할 수 있다.
인트라 추정 단계(s2060)의 대형 블록을 고려한 고유 프로세스는, 대형 블록 기반의 인트라 모드의 도입(2062), 인트라 추정을 위한 컴플렉스 플레인의 도입(2064), 추정 가능한 인트라 모드의 결정(2066) 중 적어도 하나를 포함할 수 있다.
인터 추정 단계(s2070)의 대형 블록을 고려한 고유 프로세스는, 인트라 모드 및 인터 모드가 혼합된 추정 모드의 도입(2072), 대형 블록의 움직임 벡터(MV)의 결정 방식 및 움직임 벡터 추정자(MVP)의 유도 방식(2074), 대형 블록의 신규한 스킵 모드 및 스킵 그룹의 도입(2076) 중 적어도 하나를 포함할 수 있다.
인루프 필터링 단계(s2080)의 대형 블록을 고려한 고유 프로세스는, 대형 블록 내부의 경계에 대한 필터링 여부 결정 및 필터링 강도 결정(2082), 대형 블록 내부의 링잉 효과 감소 필터링(2084) 중 적어도 하나를 포함할 수 있다.
엔트로피 부호화 단계(s2090)의 대형 블록을 고려한 고유 프로세스는, 대형 블록에 대한 부호화 블록 패턴(CBP)의 도입 및 부호화 블록 패턴 스캔 방식(2092), 대형 블록을 고려한 컨텍스트 기반 적응적 이진 산술 부호화(CABAC) 또는 컨텍스트 기반 적응적 가변 길이 부호화(CAVLC)의 도입(2094), 대형 블록의 부호화 블록 패턴에 대한 컨텍스트의 설정 방식(2096) 중 적어도 하나를 포함할 수 있다.
도 20a 내지 20g를 참조하여 전술된, 대형 데이터 처리 단위를 고려한 영상 부호화 장치(100) 또는 영상 부호화 방법(2000)은, 기존 영상 부호화 포맷을 크게 변경하지 않은 채, 대형 데이터 처리 단위를 고려한 고유 프로세스들을 추가하거나 대체하여 적용함으로써 영상을 부호화할 수 있다.
앞서 도 20a 내지 20g를 참조하여 영상 부호화에 대해서만 기술하였지만, 대형 데이터 처리 단위를 고려한 고유 프로세스는 영상 부호화에 대응하는 영상 복호화에 적용되는 것이 바람직하다. 따라서 이하 상술되는 각 과정별 고유 프로세스는 영상 부호화 뿐만 아니라 영상 복호화에도 적용될 수 있다.
[Ⅲ. 움직임 추정 프로세싱]
이하, 일 실시예에 따른 영상 부호화 장치(100)의 그룹 부호화부(130)의 움 직임 추정부(133)의 고유 프로세싱 및 일 실시예에 따른 영상 부호화 방법(2000)의 움직임 추정을 위한 프로세싱(2050)에 대해 상술된다. 또한, 일 실시예에 따른 영상 부호화 장치(100)에 대응하는 영상 복호화 장치에서도 이하 움직임 추정을 위한 프로세싱이 적용될 수 있다.
일 실시예에 따른 움직임 추정을 위한 프로세싱은, 움직임 추정을 위한 대형 데이터 처리 단위 및 주파수 변환을 위한 데이터 처리 단위의 조합, 움직임 추정을 위한 블록 스캐닝 방식 및 이웃 블록의 이웃 블록 참조 가능성, 대형 블록의 간략화 모드로 특징지을 수 있다.
첫째, 움직임 추정을 위한 데이터 처리 단위가 기존 16×16 또는 8×8 매크로블록 이상으로 확대됨에 따라, 움직임 추정을 위한 데이터 처리 단위의 최대 사이즈 이하의 범위에서, 움직임 추정을 위한 데이터 처리 단위에 비례하여 주파수 변환을 위한 데이터 처리 단위도 확대될 수 있다.
즉, 움직임 추정을 위한 데이터 처리 단위가 32×32 또는 16×16 매크로블록인 경우, 움직임 추정을 위한 데이터 처리 단위에 따라 주파수 변환을 위한 데이터 처리 단위는 32×32, 16×16, 8×8, 4×4 블록 중 하나로 조합될 수 있다.
둘째, 움직임 추정을 위한 블록 스캐닝 방식 및 이웃 블록의 이웃 블록 참조 가능성은 이하 도 21 및 22를 참조하여 상술한다.
도 21 은 본 발명의 일 실시예에 따른 대형 데이터 처리 단위를 고려한 움직임 추정을 위해 데이터 처리 단위별 스캔 방식을 도시한다. 앞서 도 13을 참조하여 수퍼 매크로블록 단위의 스캔 방식이 설명된 바와 같이, 한 프레임 내(1320)의 대 형 데이터 처리 단위는 지그재그 스캔 방식에 의해 부호화 모드가 검색된다.
도 13과 같이 프레임(1320) 내부의 수퍼 매크로블록이 가로 세로 방향으로 나란히 정렬되어 64×64 라지 블록(Large Block) 단위로 블록들이 정렬될 수 있다. 일 실시예에 따른 움직임 추정 스캔 방식은, 도 13과 같이 정렬된 경우 이외에도, 도 21과 같이 프레임(2100) 이내의 수퍼 매크로블록들이 정렬되지 않은 경우에도 적용될 수 있다.
예를 들어, 프레임(2100)의 첫 스캔 대상(2110)이 정사각 형태의 수퍼 매크로블록이 아니어도 된다. 지그재그로 스캔되는 정사각 형태의 수퍼 매크로블록들(2140)이 반드시 나란히 정렬되어야 하는 것은 아니다. 수퍼 매크로블록(2120) 및 수퍼 매크로블록(2130)은 인접한 이웃 블록이지만 서로 일렬로 정렬되어 있지 않다.
또한, 정사각 형태의 수퍼 매크로블록(32×32 S-MB, 32×16/16×32 S-MB) 형태로 스캔될 수는 없더라도 직사각 형태의 수퍼 매크로블록(32×16/16×32 S-MB_half)에 의해 스캔될 수 있는 위치에서, 16×16 매크로블록(2140) 단위로 스캔될 수도 있다.
프레임(1320)과 같이 스캔 대상 블록들이 정렬된 경우에는, 기존의 이웃 블록 추정 및 컨텍스트와 동일한 방식으로 이웃 블록을 참조 블록으로 이용할 수 있다. 그러나 프레임(2100)과 같이 스캔 대상 블록이 정렬되지 않은 경우에는, 참조 블록이 경우에 따라 변경되므로, 현재 블록의 움직임 벡터 추정자 또는 인트라 추정자는 가장 인접한 위치의 동일 사이즈의 블록을 가리키도록 설정될 수 있다.
정사각 형태의 블록(32×32 S-MB, 32×16/16×32 S-MB, 16×16 MB)만 설정 가능한 간략화 모드에서는 추가적으로 발생하는 연산 복잡도(complexity) 및 시그널링(signaling)이 제어될 수 있다.
도 22 는 본 발명의 일 실시예에 따른 대형 데이터 처리 단위를 고려한 움직임 추정에서, 인접하는 이웃 데이터 처리 단위의 이용 가능성을 도시한다. 데이터 처리 단위의 예시로 기존 16×16 매크로블록(2200) 및, 32×32 수퍼 매크로블록(2250)이 이용된다.
움직임 벡터 추정자(MVP) 및 인트라 추정 수행 중에, 상단 우측의 이웃 블록을 참조블록으로 이용할 수 있는지 여부(이하, 이웃 블록 참조 가능성(neighbor availability))은, 이미 스캔된 주변 블록인지 여부와 위치 인덱스 단위에 의해 결정될 수 있다.
도 22에서, 데이터 처리 단위로써 정사각 형태의 블록이 이용되는 경우를 참조하여 이웃 블록 참조 가능성이 설명된다. 한 프레임 내의 블록들은, 최소 데이터 단위인 4×4 블록별로 상단 우측의 이웃 블록을 참조할 수 있는 제 1 블록군(2202), 4×4 인덱스의 경우에만 상단 우측의 이웃 블록을 참조할 수 없는 제 2 블록군(2204), 8×8 인덱스의 경우에만 상단 우측의 이웃 블록을 참조할 수 없는 제 3 블록군(2206), 16×16 인덱스의 경우에만 상단 우측의 이웃 블록을 참조할 수 없는 제 4 블록군(2208)로 분류된다.
예를 들어 기존 16×16 매크로블록(2200)의 경우, 4×4 블록 a1, a2, a3, b1, b2, b3, c1, c2, c3, d1, d2는 상단 우측의 이웃 블록을 참조할 수 있는 제 1 블록군(2202)에 해당한다. 4×4 블록 a4, b4, c4, d4 는 4×4 인덱스의 경우에만 상단 우측의 이웃 블록을 참조할 수 없는 제 2 블록군(2204)에 해당한다. 4×4 블록 d2는 8×8 인덱스의 경우에만 상단 우측의 이웃 블록을 참조할 수 없는 제 3 블록군(2206)에 해당한다.
따라서, 기존 16×16 매크로블록(2200)의 경우, 이웃 블록 참조 가능성과 관련하여 제 1 블록군(2202), 제 2 블록군(2204), 제 3 블록군(2206)이 분류될 수 있다.
일 실시예에 따라 대형 데이터 처리 단위가 도입되는 경우, 참조 블록의 결정을 위해 4×4 또는 8×8 인덱스 이외에 16×16 인덱스가 추가될 수 있다. 따라서, 16×16 인덱스의 경우에만 상단 우측의 이웃 블록을 참조할 수 없는 제 4 블록군(2208)이 존재될 수 있다.
32×32 수퍼 매크로블록(2250)의 경우, 4×4 블록 A1, A2, A3, B1, B2, B3, C1, C2, C3, D1, D3, E1, E2, E3, F1, F2, F3, G1, G2, G3, H1, H3, I1, I2, I3, J1, J2, J3, K1, K2, K3, L1, L3, M1, M2, M3, N1, N3, O1, O2, O3, P1, P3 는 상단 우측의 이웃 블록을 참조할 수 있는 제 1 블록군(2202)에 해당한다.
4×4 블록 A4, B4, C4, D4, E4, F4, G4, H4, I4, J4, K4, L4, M4, N4, O4, P4 는 4×4 인덱스의 경우에만 상단 우측의 이웃 블록을 참조할 수 없는 제 2 블록 군(2204)에 해당한다. 4×4 블록 D2, H2, L2, P2 는 8×8 인덱스의 경우에만 상단 우측의 이웃 블록을 참조할 수 없는 제 3 블록군(2206)에 해당한다.
한편, 4×4 블록 N2는 16×16 인덱스의 경우에만 상단 우측의 이웃 블록을 참조할 수 없는 제 4 블록군(2208)에 해당한다.
상단 우측의 이웃 블록 참조 가능성은 움직임 벡터 추정자 또는 인트라 추정자를 결정하기 위한 조건 또는 움직임 벡터 추정자 또는 인트라 추정자의 유도 함수의 입력 변수로 이용될 수 있다. 따라서, 일 실시예에 따라 대형 데이터 처리 단위가 도입되는 경우, 움직임 벡터 추정자 또는 인트라 추정자를 결정하기 위한 조건 또는 유도 함수의 입력 변수로써, 16×16 인덱스에 의한 상단 우측의 이웃 블록 참조 가능성이 추가될 수 있다.
셋째, 정사각 형태의 데이터 처리 단위만이 채택되는 간략화된 부호화 모드는 이하 도 23a 및 23b를 참조하여 후술한다.
도 23a 는 본 발명의 일 실시예에 따른 대형 데이터 처리 단위 중 간소화된 계층적 데이터 처리 단위를 도시한다.
도 10에서 전술된 데이터 처리 단위의 계층적 구조(1000)에 따르면, 일 실시예에 따른 데이터 처리 단위는 정사각 형태의 블록들(32×32, 16×16, 8×8, 4×4) 및 직사각 형태의 블록들(32×16, 16×32, 16×8, 8×16, 8×4, 4×8)를 모두 포함하고 있다. 데이터 처리 단위의 계층적 구조(1000)에 따르면 다양한 데이터 처리 단위에 의한 부호화가 가능하다.
일 실시예에 따른 영상 부호화 장치(100)는 정사각 형태의 블록들만을 포함하는 데이터 처리 단위의 계층적 구조(2310)로 간략화될 수 있다.
제 1 계층(2310)은 인트라 모드의 32×32 수퍼 매크로블록, 스킵 모드의 32×32 수퍼 매크로블록, 인터 모드의 32×32 수퍼 매크로블록, 16×16 매크로블록을 포함할 수 있다. 제 1 계층(2310)은 32×32, 16×16, 8×8, 4×4 블록 단위 중 적어도 한 단위로 주파수 변환될 수 있다.
제 2 계층(2320)은 인트라 모드의 16×16 매크로블록, 스킵 모드의 16×16 매크로블록, 인터 모드의 16×16 매크로블록, 인터 모드의 8×8 매크로블록을 포함할 수 있다. 제 2 계층(2320)은 16×16, 8×8, 4×4 블록 단위 중 적어도 한 단위로 주파수 변환될 수 있다.
제 3 계층(2330)은 스킵 모드의 8×8 매크로블록, 인터 모드의 8×8 매크로블록, 인터 모드의 4×4 블록을 포함할 수 있다. 제 3 계층(2330)은 8×8, 4×4 블록 단위 중 적어도 한 단위로 주파수 변환될 수 있다.
간략화된 데이터 처리 단위의 계층적 구조(2310)에 따르면, 동일한 크기 및 형태인 인터 모드 및 인트라 모드의 블록이 각각 존재하게 된다. 또한, 부호화 모드의 수가 감소하므로, 부호화 모드를 나타내는 비트가 절약될 수 있다.
도 23b 는 본 발명의 일 실시예에 따른 대형 데이터 처리 단위를 고려한 신택스를 도시한다. 신택스(2350)는 소정 데이터 처리 단위의 부호화 모드에 따른 각종 정보를 포함한다.
'mode' 값(2352)은 부호화 모드를 나타낸다. 'ref_idx/mvd' 값(2354)은 참조 인덱스 및 움직임 벡터의 변이를 나타낸다. 'coded_block_pattern' 값(2356)은 부호화 블록 패턴을 나타낸다. 'transform_size_flag' 값(2358)은 주파수 변환을 위한 데이터 처리 단위의 크기를 나타낸다. 'residual()' 값(2360)은 잔차 성분에 관한 정보를 나타낸다.
간략화된 데이터 처리 단위의 계층적 구조(2310)에 따르면, 'mode' 값(2352)의 비트가 절약될 수 있다. 또한, 부호화 모드에 따른 주파수 변환을 위한 데이터 처리 단위의 크기가 제한되면, 신택스(2350) 중 'coded_block_pattern' 값(2356) 및 'transform_size_flag' 값(2358)이 변형될 수 있다.
[Ⅲ-1. 인트라 추정]
일 실시에에 따른 영상 부호화 장치(100)의 인트라 추정부(2004) 및 일 실시예에 따른 영상 부호화 방법(2000)의 인트라 추정 단계(s2060)는, 대형 데이터 처리 단위를 고려한 고유의 프로세스를 도입할 수 있다.
첫째, 대형 블록 기반의 인트라 모드(2062)가 추가된다. 예를 들어, 인트라 모드의 32×32 수퍼 매크로블록, 인트라 모드의 16×16 매크로블록이 추가될 수 있다.
둘째, 보다 정교한 인트라 추정을 위한 컴플렉스 플레인을 이용한 추정 모드가 도입될 수 있다.
셋째, 각각의 데이터 처리 단위 별로 인트라 추정 가능함을 나타내는 부호화 모드가 개별적으로 결정될 수 있다.
[Ⅲ-2. 인터 추정]
일 실시에에 따른 영상 부호화 장치(100)의 인터 추정부(2005) 및 일 실시예에 따른 영상 부호화 방법(2000)의 인터 추정 단계(s2070)는, 대형 데이터 처리 단위를 고려한 고유의 프로세스를 도입할 수 있다.
첫째, 임의의 대형 데이터 처리 단위에 대해 인트라 모드 및 인터 모드가 혼합된 추정 모드가 설정될 수 있다. 또한, 대형 데이터 처리 단위 내의 하위 데이터 처리 단위별로 인트라 모드 또는 인터 모드가 혼재하여 설정될 수 있다.
둘째, 대형 데이터 처리 단위에 대한 스킵 모드가 새롭게 정의되고, 적어도 하나의 스킵 모드의 데이터 처리 단위를 포함하는 스킵 그룹이 도입될 수 있다. 예를 들어, 스킵 모드의 32×32 수퍼 매크로블록, 복수의 스킵 모드의 32×32 수퍼 매크로블록을 포함하는 스킵 그룹이 이하 도 24a 내지 24c를 통해 제안된다.
도 24a, 24b 및 24c 는 본 발명의 일 실시예에 따른 스킵 그룹의 여러 가지 구성 방식을 도시한다. 설명의 편의를 위해 도 24a, 24b 및 24c의 대형 데이터 처리 단위로는 32×32 수퍼 매크로블록이 이용된다.
일 실시예에 따른 영상 부호화 및 영상 복호화는, 스킵 모드인 블록을 스킵 처리하는데 있어서, 상호 인접하는 스킵 모드인 블록을 스킵 그룹으로 묶어 스킵 그룹에 대해 동시에 스킵 처리할 수 있다. 따라서, 한 프레임을 스캔하다가 스킵 그룹이 판독되면 인접하는 이웃 블록들이 동일한 스킵 그룹에 포함되는 스킵 모드의 블록인지 여부가 판단되어야 한다.
따라서, 소정 블록이 스킵 모드이며 스킵 그룹에 포함되는지 여부를 나타내기 위한 표시가 필요하다. 도 24a, 24b 및 24c 에 도시된 일 실시예는, 소정 블록 이 스킵 모드이며 스킵 그룹에 포함되는지 여부를 나타내기 위한 표시로써 스킵 모드 플래그를 사용한다. 스킵 모드 플래그가 '0'이면 해당 블록은 스킵 모드가 아닌 블록이며, '2'이면 해당 블록이 스킵 그룹의 시작 블록이고, '1'이면 해당 블록이 스킵 그룹에 속하는 블록임을 나타낸다.
일 실시예에 따른 스킵 그룹에 관련하여, 프레임 내의 스킵 모드인 블록을 검색하고 스킵 그룹을 스캔하기 위해, 스킵 그룹의 위치가 선정될 수 있다. 또한, 인접하는 스킵 모드의 블록들을 포함하는 스킵 그룹의 최대 사이즈가 제한될 수 있다.
따라서, 일 실시예에 따라 대형 데이터 처리 단위에 기초한 인터 추정에서는, 스킵 그룹의 위치가 고정되고 사이즈가 고정된 경우(도 24a의 프레임(2400)), 스킵 그룹의 위치가 고정되고 임의의 사이즈로 형성되는 경우(도 24b의 프레임(2440)), 모든 위치에 스킵 그룹이 위치할 수 있고 임의의 사이즈로 형성되는 경우(도 24c의 프레임(2470))로 스킵 처리를 할 수 있다.
도 24a의 제 1 프레임(2400)에서는 스킵 그룹의 사이즈가 64×64 블록으로 고정되어 있다. 따라서 스캔 그룹을 검색하기 위해서는, 64×64 블록마다 좌측 상단에 위치한 32×32 수퍼 매크로블록만 스킵 모드인지 검색하면 된다. 예를 들어, 32×32 수퍼 매크로블록(2412)의 스킵 모드 플래그가 '0'으로 표시되어 있으므로 스킵 모드가 아니고, 수퍼 매크로블록(2412)을 포함하는 64×64 블록(2410)은 스킵 그룹이 아님이 확인될 수 있다.
64×64 블록(2410)의 다음 스캔 순서로 64×64 블록(2420)의 좌측 상단 수퍼 매크로블록을 검색하여 스킵 모드 플래그가 '0'이면 64×64 블록(2420)도 스킵 그룹이 아님이 확인될 수 있다.
수퍼 매크로블록(2432)의 스킵 모드 플래그는 '2'로 표시되어 있으므로 스킵 그룹의 시작 블록임이 확인될 수 있다. 제 1 프레임(2400)의 스킵 그룹의 사이즈는 64×64 블록으로 고정되어 있으므로, 수퍼 매크로블록(2432)을 좌측 상단에 포함하는 64×64 블록(2430)이 스킵 그룹이다. 또한, 64×64 블록(2430) 내의 다른 수퍼 매크로블록들(2434 등)은 모두 스킵 모드 플래그가 '1'인 스킵 모드의 블록임이 예상될 수 있다.
도 24a를 참조하여 예시된 고정 위치 및 고정 사이즈의 스킵 그룹의 경우, 고정 위치의 32×32 블록의 스킵 모드 플래그가 '0' 또는 '2'인지 여부만 확인되면 인접 블록들도 스킵 모드인지 여부가 확인될 수 있으므로, 부호화단으로부터 고정 위치의 해당 블록의 스킵 모드 플래그만 송신되면 복호화단에서 수신하여 해당 프레임의 모든 블록들이 스킵 모드인지 여부를 식별할 수 있다.
도 24b의 프레임(2440)에서는, 스킵 그룹의 사이즈가 고정되어 있지 않지만, 스킵 그룹이 시작할 수 있는 위치는 고정되어 있다. 즉, 매 64×64 블록의 좌측 상단에 위치한 32×32 블록으로부터 스킵 그룹이 시작될 수 있으므로, 프레임(2440)을 스캔할 때 64×64 블록마다 좌측 상단에 위치한 32×32 블록의 스킵 모드 플래그가 '0' 또는 '2'인지 확인하면 된다. 예를 들어, 64×64 블록(2450)의 좌측 상단의 32×32 블록의 스킵 모드 플래그가 '0'임이 스캔되면 64×64 블록(2450)은 스킵 그룹이 아님이 확인된다.
한편, 다른 64×64 블록의 좌측 상단에 위치한 32×32 블록(2461)이 스캔되면 스킵 모드 플래그가 '2'이므로 32×32 블록(2461)으로부터 시작하는 스킵 그룹(2460)이 결정되어야 한다. 32×32 블록(2461)의 우측 방향 및 하단 방향으로 인접하는 32×32 블록들의 스킵 모드 플래그를 스캔하여, 연속적으로 스킵 모드 플래그가 '1'인 32×32 블록들(2462, 2463, 2464, 2465, 2466, 2467, 2468, 2469)은 32×32 블록(2461)과 동일한 스킵 그룹(2460)에 포함되는 것으로 확인될 수 있다.
또한, 프레임(2440)을 스캔하는 도중 고정 위치의 32×32 블록의 스킵 모드 플래그는 확인되어야 하지만, 이미 이전에 스캔되어 소정 스킵 그룹에 포함됨이 확인되었던 블록은 스캔되지 않는다. 예를 들어, 32×32 블록들(2463, 2467, 2469)은 각각 개별적인 64×64 블록의 좌측 상단에 위치하므로 스킵 모드 플래그가 스캔되어야 하는 고정 위치의 블록이지만, 이미 이전 스캔 순서에 따라 스킵 그룹(2460)에 포함되는 블록임이 확인된 상태이다. 따라서, 32×32 블록들(2463, 2467, 2469)은 스캔하지 않은 채 다음 위치로 스캔이 진행하게 된다.
도 24b를 참조하여 예시된 고정 위치 및 고정 사이즈의 스킵 그룹의 경우, 고정 위치의 32×32 블록의 스킵 모드 플래그 및 스킵 그룹의 사이즈가 부호화단으로부터 송신되어 복호화단에서 수신할 수 있다. 복호화단은, 해당 프레임의 블록들의 스킵 모드 플래그를 판독하여 해당 블록이 스킵 모드인지 여부를 식별할 수 있다. 다만, 고정 위치의 블록이더라도 스킵 모드 플래그가 '1'이어서 다른 스킵 그룹의 블록임이 표시되는 블록은 별도로 스킵 모드 플래그가 송수신될 필요가 없다.
도 24c의 프레임(2470)에서는, 스킵 그룹의 사이즈가 고정되어 있지 않으며, 스킵 그룹이 시작할 수 있는 위치도 고정되어 있지 않다. 따라서, 프레임(2470)을 스캔할 때 모든 32×32 블록의 스킵 모드 플래그가 확인되어야 한다.
예를 들어, 32×32 블록(2472)의 스킵 모드 플래그가 '0'이므로 다음 순서로는 바로 인접하는 32×32 블록(2474)이 스캔된다. 스캔의 진행 과정에 따라, 스킵 모드 플래그가 '2'인 32×32 블록가 검색될 때까지 모든 32×32 블록들이 차례로 스캔된다.
한편, 스킵 모드 플래그가 '2'인 32×32 블록(2482)이 스캔되면 32×32 블록(2482)으로부터 시작하는 스킵 그룹(2480)이 결정되어야 한다. 32×32 블록(2482)의 우측 방향 및 하단 방향으로 인접하는 32×32 블록들의 스킵 모드 플래그를 스캔하여, 연속적으로 스킵 모드 플래그가 '1'인 32×32 블록들은 모두 32×32 블록(2482)과 동일한 스킵 그룹(2480)에 포함되는 것으로 확인될 수 있다.
스킵 그룹(2480)이 결정된 후 스킵 그룹(2480)에 포함된 32×32 블록들은 스캔 없이 건너뛰고, 스킵 그룹(2480)에 속하지 않는 다음 32×32 블록(2492)으로 스캔이 진행된다. 마찬가지로, 32×32 블록(2492)을 시작으로 스킵 그룹(2490)이 결정될 수 있다.
도 24c를 참조하여 예시된 고정 위치 및 임의의 사이즈의 스킵 그룹의 경우, 모든 위치에서의 32×32 블록의 스킵 모드 플래그 및 스킵 그룹의 사이즈가 부호화단으로부터 송신되어 복호화단에서 수신할 수 있다. 복호화단은, 스킵 모드 플래그를 이용하여, 해당 프레임에서의 블록별로 스킵 모드인지 여부를 식별할 수 있다. 다만, 다른 스킵 그룹에 포함되는 것으로 확인된 32×32 블록은 별도로 스킵 모드 플래그가 송수신될 필요가 없다.
따라서, 본 발명은 도 24a, 24b 및 24c를 참조하여 전술된 다양한 실시예에 따라 스킵 모드의 블록들을 그룹으로 스킵 처리할 수 있으므로, 각각의 블록별로 스킵 모드를 표시하기 위한 비트가 절약될 수 있으며, 모든 블록이 스캔될 필요 없이 스킵 모드가 효율적으로 검색될 수 있다.
셋째, 인터 추정에 따른 움직임 벡터(MV)은 대형 데이터 처리 단위로 결정될 수 있으며, 움직임 벡터 추정자(MVP)도 대형 데이터 처리 단위로 유도될 수 있다.
도 25a 및 25b 는 본 발명의 일 실시예에 따른 대형 데이터 처리 단위 내의 움직임 벡터 유도 방식과 하위 데이터 처리 단위의 움직임 벡터 유도 방식을 도시한다.
일 실시예에 따른 인터 추정에 의해 생성되는 움직임 벡터(MV) 및 움직임 벡터 추정자(MVP)는 대형 데이터 처리 단위로 유도된다. 그러나 도 25a 및 25b 에서는 대형 데이터 처리 단위의 개별적인 부호화 모드의 추가 없이, 기존 데이터 처리 단위(16×16 매크로블록)의 움직임 벡터를 이용하여 대형 데이터 처리 단위(16×16 매크로블록의 그룹, 즉 32×32 블록)의 움직임 벡터를 유도하는 방법이 개시된다.
예를 들어 일 실시예에 따른 대형 데이터 처리 단위인 32×32 수퍼 매크로블록(2500)의 인터 추정이라면, 인터 모드인 32×32 수퍼 매크로블록(inter 32×32)에 대한 움직임 벡터 mvs가 추정되거나 유도된다.
한편, 대형 데이터 처리 단위의 부호화 모드가 개별적으로 정의되지 않은 영 상 부호화 또는 영상 복호화 과정에서, 매크로블록의 움직임 벡터를 이용하여 수퍼매크로블록의 움직임 벡터를 유도할 수 있다.
예를 들어, 16×16 매크로블록들(2502, 2504, 2506, 2508)의 움직임 벡터가 각각 mv0, mv1, mv2, mv3인 경우, mv1, mv2, mv3는 mv0를 이용하여 유도될 수 있다. 일례로, 아래 수학식 6에 따라 mv1, mv2, mv3가 추정될 수 있다.
mv1 = mv2 = mv3 = f(mv0), (여기서, f(x) = median(x, neighbors))
median(x, y) 함수는 x 및 y의 중간값을 구하는 함수이며, 입력 변수 'neighbors'는 인접하는 대형 데이터 처리 단위의 대표 움직임 벡터를 나타낸다. 16×16 매크로블록의 움직임 벡터는 대표 16×16 매크로블록(2502)의 움직임 벡터 mv0 및 인접하는 32×32 블록의 대표 움직임 벡터의 중간값으로 추정될 수 있다.
따라서, 도 25a의 경우에 따르면 16×16 매크로블록별로 모두 움직임 벡터를 측정할 필요 없이, 하나의 움직임 벡터를 16×16 매크로블록 각각의 움직임 벡터로 간주할 수 있으며, 32×32 수퍼 매크로블록 단위의 움직임 벡터 mvs가 16×16 매크로블록의 움직임 벡터로부터 추정될 수 있다.
도 25a의 경우는 부호화단 및 복호화단 사이에는 32×32 블록의 움직임 벡터에 관한 시그널링을 위해, 한 매크로블록의 움직임 벡터 mv0(또는 32×32 블록의 움직임 벡터 mvs)를 시그널링하기 위한 추가 플래그를 전송할 필요가 있다. 또한, 복 호화단은, 수신된 움직임 벡터를 이용한 세 번의 유도 과정을 통해, 시그널링되지 않은 나머지 움직임 벡터 mv1, mv2, mv3를 유도할 수 있다.
도 25b에서는 16×16 매크로블록 움직임 벡터를 이용한 32×32 블록의 움직임 벡터를 추정하는 또 다른 방식이 제안된다. 또 다른 추정 방식은, 32×32 블록(2510)을 16×16 매크로블록들로 서브샘플링하여, 서브샘플링된 블록들의 움직임 벡터를 이용하여 32×32 블록의 움직임 벡터를 추정한다.
예를 들어, 좌측 상단 픽셀(2512), 우측 상단 픽셀(2514), 좌측 하단 픽셀(2516), 우측 하단 픽셀(2518)은 각각 순서대로 좌측 상단 매크로블록(2522), 우측 상단 매크로블록(2524), 좌측 하단 매크로블록(2526), 우측 하단 매크로블록(2528)으로 매핑함으로써, 서브샘플링된 16×16 매크로블록들(2522, 2524, 2526, 2528)이 생성될 수 있다.
서브 샘플링된 16×16 매크로블록들(2522, 2524, 2526, 2528)의 각각의 움직임 벡터 mv0', mv1', mv2', mv3' 는 아래와 같이 유도될 수 있다.
mv1' = mv2' = mv3' = mv0'
따라서, 16×16 매크로블록들(2522, 2524, 2526, 2528)의 각각의 움직임 벡터 mv0', mv1', mv2', mv3' 는 그 중 움직임 벡터 하나만 측정하면 나머지 움직임 벡터들도 추정될 수 있다.
32×32 블록(2510)의 움직임 벡터는 16×16 매크로블록들(2522, 2524, 2526, 2528)의 대표 움직임 벡터 MV(= mv1' = mv2' = mv3' = mv0')로 추정될 수 있다. 또는, mv1',mv2', mv3', mv0'를 이용한 움직임 벡터 추정자를 이용하여 MV가 추정될 수 있다. 따라서, 도 25b의 경우는 부호화단 및 복호화단 사이에는 32×32 블록의 움직임 벡터에 관한 시그널링을 위해, 한 매크로블록의 움직임 벡터(mv0', mv1', mv2', mv3' 중 하나)를 시그널링하기 위한 추가 플래그의 전송이 필요하다.
[Ⅳ. 주파수 변환 및 양자화]
일 실시에에 따른 영상 부호화 장치(100)의 주파수 변환 및 양자화부(2001) 및 일 실시예에 따른 영상 부호화 방법(2000)의 주파수 변환 및 양자화 단계(s2030)는, 대형 데이터 처리 단위를 고려한 고유의 프로세스를 도입할 수 있다.
일 실시예에 따른 영상 부호화 또는 영상 복호화는, 부호화 모드별 데이터 처리 단위가 기존 매크로블록 사이즈보다 클 수 있으므로, 기존의 주파수 변환의 데이터 처리 단위인 8×8 또는 4×4 블록 이외의 데이터 처리 단위가 도입될 수 있다.
이에 따라 일 실시에에 따른 영상 부호화 및 영상 복호화는, (i-1) 8×8 또는 4×4 블록 이외의 대형 블록 기반의 정수 이산 코사인 변환 및 양자화가 도입될 수 있으며, (i-2) 대형 블록 기반의 크로마 성분에 대한 이산 코사인 변환은, 컬러 규격을 고려하여 루마 성분에 따라 데이터 처리 단위의 사이즈가 변경될 수 있다. 또한, (i-3) 대형 블록 기반의 이산 코산 변환에 의해 발생하는 연산 부담량을 감소하기 위해 저복잡도 연산을 위한 변형된 형태의 이산 코사인 변환이 도입될 수 있다.
도 26a 및 26b 는 본 발명의 일 실시예에 따른 대형 데이터 처리 단위의 크로마 성분을 위한 여러 가지 움직임 추정 방식을 도시한다. (i-2) 대형 블록 기반의 크로마 성분에 대한 이산 코사인 변환(2034)이 후술된다. YUV 컬러 규격 포맷은 YUV 420 포맷 및 YUV 444 포맷을 포함한다. 도 26a는 YUV 420 포맷에 대한 추정 모드 별 주파수 변환 방식을 설명하고, 도 26b는 YUV 444 포맷에 대한 추정 모드 별 주파수 변환 방식을 설명한다. 루마 성분에 대한 추정 모드별 데이터 처리 단위가 32×32 수퍼 매크로블록인 경우를 예로 든다.
도 26a의 블록도(2600)는 대형 데이터 처리 단위를 고려한 주파수 변환 및 양자화부(2001)의 일 실시예로써, YUV 420 포맷의 크로마 성분에 대해 추정 모드별로 적용 가능한 주파수 변환 방식을 도시한다.
YUV 420 포맷은 Y 성분, U성분, V 성분 각각에 할당되는 비트량의 비율이 4:1:1 이므로, U, V 성분에 해당하는 각각의 크로마 성분에 할당되는 비트량이 Y 성분에 해당하는 루마 성분에 할당되는 비트량의 4분의 1 이하이다. 따라서 루마 성분에 대한 데이터 처리 단위의 사이즈에 비해 크로마 성분에 대한 데이터 처리 단위의 사이즈가 4분의 1 이하인 것이 바람직하다. 예를 들어, 크로마 성분을 위한 주파수 변환을 위한 데이터 처리 단위의 최대 사이즈는 32×32 블록의 4분의 1인 16×16 블록인 것이 바람직하다.
인트라 모드(2610)의 경우, (i) 8×8 블록의 방향성 인트라 추정(2612)이 수행된 후 4×4 이산 코사인 변환 및 2×2 하다마드(Hadamard) 변환(2614), 즉 8×8 주파수 변환이 수행되는 기존 방식에 추가적으로 (ii) 16×16 블록의 방향성 인트라 추정(2616)이 수행된 후 16×16 이산 코사인 변환(2618)이 수행되는 새로운 데이터 처리 단위가 추가될 수 있다.
또한, 인터 모드(2620)의 경우, N×M 블록의 인터 추정(2622)이 수행된 후 (i) 4×4 이산 코사인 변환 및 2×2 하다마드(Hadamard) 변환(2624), 즉 8×8 주파수 변환이 수행되는 기존 방식과 더불어 (ii) 16×16 이산 코사인 변환(2626)이 수행되는 새로운 데이터 처리 단위가 추가될 수 있다.
인트라 모드(2610) 또는 인터 모드(2620)에 따른 움직임 추정 및 주파수 변환 이후 양자화(2630) 및 엔트로피 부호화(2640)를 거쳐, 일 실시예에 따른 대형 데이터 처리 단위의 크로마 성분에 대해 부호화가 수행될 수 있다.
도 26b의 블록도(2650)는 대형 데이터 처리 단위를 고려한 주파수 변환 및 양자화부(2001)의 다른 실시예로써, YUV 444 포맷의 크로마 성분에 대해 추정 모드별로 적용 가능한 주파수 변환 방식을 도시한다.
YUV 444 포맷은 Y 성분, U성분, V 성분 각각에 할당되는 비트량의 비율이 4:4:4 이므로, 크로마 성분 각각에 할당되는 비트량이 루마 성분에 할당되는 비트량과 동일하다. 예를 들어 루마 성분에 대한 데이터 처리 단위의 최대 사이즈가 32×32 블록이므로 크로마 성분에 대한 데이터 처리 단위의 최대 사이즈도 32×32 블록일 수 있다.
인트라 모드(2660)의 경우, (i) 8×8 블록의 방향성 인트라 추정(2661)이 수행된 후 4×4 이산 코사인 변환 및 2×2 하다마드(Hadamard) 변환(2662), 즉 8×8 주파수 변환이 수행되는 기존 방식과 더불어, (ii) 16×16 블록의 방향성 인트라 추정(2663)이 수행된 후 16×16 이산 코사인 변환(2664)이 수행되는 새로운 데이터 처리 단위, (iii) 32×32 블록의 방향성 인트라 추정(2665)이 수행된 후 32×32 이산 코사인 변환(2666)이 수행되는 새로운 데이터 처리 단위가 추가될 수 있다.
또한, 인터 모드(2670)의 경우, N×M 블록의 인터 추정(2672)이 수행된 후 (i) 4×4 이산 코사인 변환 및 2×2 하다마드(Hadamard) 변환(2624), 즉 8×8 주파수 변환이 수행되는 기존 방식과 더불어 (ii) 16×16 이산 코사인 변환(2676)이 수행되는 새로운 데이터 처리 단위가 추가될 수 있다.
인트라 모드(2660) 또는 인터 모드(2670)에 따른 움직임 추정 및 주파수 변환 이후, 양자화(2680) 및 엔트로피 부호화(2690)를 거쳐, 일 실시예에 따른 대형 데이터 처리 단위의 크로마 성분에 대해 부호화가 수행될 수 있다.
도 26a 및 26b를 참조하여 도시된 블록도(2600, 2650)에 따른 추정 모드 및 주파수 변환 블록의 관계를 구체적으로 정리한 테이블이 도 27에서 도시된다. 이에 따라 각각의 추정 모드별로 루마 성분에 대한 주파수 변환 블록의 사이즈에 따라 크로마 성분에 대한 주파수 변환 블록의 사이즈가 유도될 수 있다.
도 27 은 본 발명의 일 실시예에 따른 대형 데이터 처리 단위의 크로마 성분에 대한 데이터 처리 단위의 사이즈를 유도하는 방식을 도시한다. (i-1) 대형 블록 기반의 정수 이산 코사인 변환 및 양자화(2032) 및 (i-2) 대형 블록 기반의 크로마 성분에 대한 이산 코사인 변환(2034)이 후술된다.
YUV 420 포맷의 경우, 크로마 성분을 위한 주파수 변환 블록의 사이즈는 루 마 성분을 위한 주파수 변환 블록의 사이즈의 4분의 1 이하이다. 다만, 주파수 변환 블록의 최소 사이즈가 8×8 블록이다.
YUV 420 포맷의 경우 인트라 모드의 루마 성분을 위한 이산 코사인 변환을 위한 데이터 처리 단위는, 32×32, 16×16, 8×8, 4×4 블록을 포함한다. 따라서 YUV 420 포맷의 인트라 모드의 루마 성분을 위한 이산 코사인 변환 블록이 32×32 블록인 경우, 해당 크로마 성분의 이산 코사인 변환 블록은 16×16 블록으로 유도될 수 있다. 또한, YUV 420 포맷의 인트라 모드의 루마 성분을 위한 이산 코사인 변환 블록이 16×16, 8×8, 4×4 블록인 경우, 해당 크로마 성분의 이산 코사인 변환 블록은 최소 데이터 단위인 8×8 블록으로 유도될 수 있다.
YUV 420 포맷의 경우 인터 모드의 루마 성분을 위한 이산 코사인 변환을 위한 데이터 처리 단위는, 16×16, 8×8, 4×4 블록을 포함한다. 따라서, YUV 420 포맷의 인터 모드의 루마 성분을 위한 이산 코사인 변환 블록이 16×16, 8×8, 4×4 블록인 경우, 해당 크로마 성분의 이산 코사인 변환 블록은 최소 데이터 단위인 8×8 블록으로 유도될 수 있다.
YUV 444 포맷의 경우, 인트라 모드의 경우 크로마 성분을 위한 주파수 변환 블록의 사이즈는 루마 성분을 위한 주파수 변환 블록의 사이즈와 동일할 수 있다. 마찬가지로, 주파수 변환 블록의 최소 사이즈는 8×8 블록이다.
YUV 444 포맷의 경우 인트라 모드의 루마 성분을 위한 이산 코사인 변환을 위한 데이터 처리 단위는, 32×32, 16×16, 8×8, 4×4 블록을 포함한다. 따라서 YUV 444 포맷의 인트라 모드의 루마 성분을 위한 이산 코사인 변환 블록이 32×32 블록 및 16×16 블록인 경우, 해당 크로마 성분의 이산 코사인 변환 블록은 각각 32×32 블록 및 16×16 블록으로 유도될 수 있다.
또한, YUV 444 포맷의 인트라 모드의 루마 성분을 위한 이산 코사인 변환 블록이 8×8, 4×4 블록인 경우, 해당 크로마 성분의 이산 코사인 변환 블록은 최소 데이터 단위인 8×8 블록으로 유도될 수 있다.
YUV 444 포맷의 인터 모드의 루마 성분을 위한 이산 코사인 변환을 위한 데이터 처리 단위는, 16×16, 8×8, 4×4 블록을 포함한다. 따라서, YUV 444 포맷의 인터 모드의 루마 성분을 위한 이산 코사인 변환 블록이 16×16 블록인 경우, 해당 크로마 성분의 이산 코사인 변환 블록은 16×16 블록으로 유도될 수 있다. 또한, YUV 444 포맷의 인터 모드의 루마 성분을 위한 이산 코사인 변환 블록이 8×8, 4×4 블록인 경우, 해당 크로마 성분을 위한 이산 코사인 변환 블록은 최소 데이터 단위인 8×8 블록으로 유도될 수 있다.
따라서, 루마 성분의 이산 코사인 변환을 위한 데이터 처리 단위로부터 크로마 성분을 위한 데이터 처리 단위가 유도될 수 있다. YUV 컬러 규격 포맷 중 YUV 420 포맷 및 YUV 444 포맷만을 이용하여 추정 모드별 주파수 변환이 설명되었지만, 일 실시예에 따른 동적으로 결정된 데이터 처리 단위에 따른 영상 부호화 또는 영상 복호화가 YUV 420 포맷 및 YUV 444 포맷에만 한정되는 것이 아니다.
[Ⅴ. 인루프 필터링]
일 실시에에 따른 영상 부호화 장치(100)의 인루프 필터링부(2007) 및 일 실시예에 따른 영상 부호화 방법(2000)의 주파수 변환 및 양자화 단계(s2080)는, 대 형 데이터 처리 단위를 고려한 고유의 프로세스를 도입할 수 있다.
일 실시예에 따른 영상 부호화 또는 영상 복호화는, 대형 데이터 처리 단위의 사이즈가 기존 매크로블록의 사이즈보다 클 수 있으므로, 대형 데이터 처리 단위 내부에 대한 필터링이 고려될 필요가 있다.
따라서, 일 실시예에 따라 대형 데이터 처리 단위를 고려한 인루프 필터링에 관한 고유 프로세스는, 대형 데이터 처리 단위 내부의 하위 데이터 처리 단위 경계에 대한 필터링 수행 여부의 결정 및 경계별 필터링 강도의 결정 방식, 대형 데이터 처리 단위의 부호화에 따른 링잉 효과 감소를 위한 필터링을 포함할 수 있다.
일 실시예에 따른 대형 데이터 처리 단위를 고려한 인루프 필터링에서, 대형 데이터 처리 단위 내부의 하위 데이터 처리 단위 경계에 대한 필터링 수행 여부 및 경계별 필터링 강도의 결정 방식은, 기존 영상 부호화 또는 영상 복호화에서의 인루프 필터링에서 사용된 인루프 필터링 관련 플래그를 이용하여 아래와 같이 설명될 수 있다.
기존 방식에 따르면 16×16 매크로블록 또는 8×8 매크로블록마다 경계에 대해 인루프 필터링의 수행 여부가 판단된다. 예를 들어, 기존 H.264 영상 부복호화 포맷에서는 인루프 필터링 관련 플래그가 설정된다. 인루프 필터링 관련 플래그는, 현재 매크로블록 및 좌측 이웃 매크로블록 사이의 경계에 대한 인루프 필터링의 수행 여부를 나타내는 제 1 플래그('filterLeftMbEdgeFlag'), 및 현재 매크로블록 및 상단 이웃 매크로블록 사이의 경계에 대한 인루프 필터링의 수행 여부를 나타내는 제 2 플래그('filterTopMbEdgeFlag')를 포함한다.
또한, 인루프 필터링 관련 플래그는, 16×16 또는 8×8 매크로블록 내부에서 8×8 또는 4×4 블록에 기초한 주파수 변환에 의해 발생하는 경계 효과(block artifact)를 감소하기 위해, 16×16 또는 8×8 매크로블록 내부에서의 인루프 필터링의 수행 여부를 나타내는 제 3 플래그('filterInternalEdgeflag')를 포함할 수 있다.
또한, 인루프 필터링 관련 플래그는, 크로마 성분에 대한 블록의 경계에 대한 인루프 필터링의 수행 여부를 나타내는 제 4 플래그('chromaEdgeflag')를 포함할 수 있다.
일 실시예에 따른 영상 부호화 또는 영상 복호화에서는 16×16 또는 8×8 매크로블록보다 큰 대형 데이터 처리 단위로 부호화되기 때문에, 기존의 인루프 필터링 관련 플래그를 이용하기 위해서는 인루프 필터링을 수행하기 위한 조건에 대형 데이터 처리 단위 내부인지 여부가 추가되어야 한다.
예를 들어, 일 실시예에 따른 영상 부호화 또는 영상 복호화의 인루프 필터링에서는, 현재 경계가 대형 데이터 처리 단위 내부의 경계가라면 제 1, 2, 4 플래그를 '0'으로 설정하고, 현재 경계가 대형 데이터 처리 단위 외부의 경계가라면 제 1, 2, 4 플래그를 '1'로 설정할 수 있다. 즉, 대형 데이터 처리 단위 내부에 포함되는 매크로블록의 경계에 대해서는 인루프 필터링을 수행하지 않도록 인루프 필터링 관련 플래그가 설정될 수 있다.
또한, 일 실시예에 따른 영상 부호화 또는 영상 복호화의 인루프 필터링에서는, 16×16 매크로블록에 의해 주파수 변환된 경우, 제 3 플래그가 '0'으로 설정될 수 있다. 즉, 16×16 매크로블록 단위의 부호화 모드에서 16×16 매크로블록으로 주파수 변환된 경우에는 16×16 매크로블록 내부에 대해 주파수 변환에 따른 경계 효과를 감소하기 위한 인루프 필터링을 수행하지 않도록 인루프 필터링 관련 플래그가 설정될 수 있다.
인루프 필터링 관련 플래그는, 인트라 모드 및 인터 모드가 혼합된 추정 모드의 매크로블록의 경우, 상호 다른 추정 모드의 이웃 블록 간 경계에 대한 인루프 필터링의 수행 여부를 나타내는 제 5 플래그('mixedModeEdgeFlag')를 포함할 수 있다.
일 실시예에 따른 영상 부호화 또는 영상 복호화의 인루프 필터링에서는, 대형 데이터 처리 단위의 내부에서 인트라 모드 및 인터 모드의 이웃 블록이 존재할 수 있으므로, 제 5 플래그의 조건에 현재 데이터 처리 단위가 대형 데이터 처리 단위인 경우를 추가할 수 있다. 또한, 대형 데이터 처리 단위의 내부의 하위 데이터 처리 단위의 경계마다 인루프 필터링 강도가 개별적으로 설정될 수 있다.
일 실시예에 따른 영상 부호화 및 영상 복호화는, 대형 데이터 처리 단위로 각종 프로세스가 수행되므로 경계 효과 이외에도 링잉 효과가 발생할 수 있다. 따라서, 일 실시예에 따른 영상 부호화 및 영상 복호화의 인루프 필터링에서, 대형 데이터 처리 단위의 부호화에 따른 링잉 효과 감소를 위한 필터링이 수행할 수 있다.
[Ⅵ. 엔트로피 부호화]
일 실시에에 따른 영상 부호화 장치(100)의 엔트로피 부호화부(2009) 및 일 실시예에 따른 영상 부호화 방법(2000)의 엔트로피 부호화 단계(s2090)는, 대형 데이터 처리 단위를 고려한 고유의 프로세스를 도입할 수 있다.
일 실시예에 따른 대형 데이터 처리 단위를 고려한 엔트로피 부호화 또는 복호화를 위한 고유 프로세스는, 대형 데이터 처리 단위를 고려한 계층적 부호화 블록 패턴(Coded Block Pattern, CBP) 및 부호화 블록 패턴의 스캔 방식의 도입(2092), 대형 데이터 처리 단위를 고려한 컨텍스트 기반 적응적 이진 산술 부호화(CABAC) 또는 컨텍스트 기반 적응적 가변 길이 부호화(CAVLC)의 도입(2094), 인트라 모드 또는 크로마 성분의 대형 데이터 처리 단위에 대한 부호화 블록 패턴에 대한 단일 컨텍스트의 도입(2096)을 포함한다.
도 28 은 본 발명의 일 실시예에 따른 대형 데이터 처리 단위를 고려한 부호화 블록 패턴을 이용한 방법의 흐름도를 도시한다.
일 실시예에 따른 엔트로피 부호화 및 엔트로피 복호화는, 기존의 부호화 블록 패턴인 8×8 블록에 대한 부호화 블록 패턴(CBP8) 뿐만 아니라, 대형 데이터 처리 단위를 고려한 계층적 부호화 블록 패턴을 이용할 수 있다.
예를 들어, 일 실시예에 따른 데이터 처리 단위의 부호화 모드가 32×32 수퍼 매크로블록의 인터 모드(Inter_32×32), 32×16 수퍼 매크로블록의 인터 모드(Inter_32×16), 16×32 수퍼 매크로블록의 인터 모드(Inter_16×32) 등 16×16 블록의 인터 모드 이상의 데이터 처리 단위의 부호화 모드인 경우에, 16×16 블록에 대한 부호화 블록 패턴(CBP16)이 추가된다. 따라서, CBP16 및 CBP8을 포함하는 계층적 부호화 블록 패턴에 따라 엔트로피 부호화 또는 복호화가 수행될 수 있다.
따라서, Inter_32×32, Inter_32×16, Inter_16×32의 부호화 모드에 대한 엔트로피 부호화의 경우 CBP16부터 부호화되어야 한다(단계 2800). 먼저 단계 2810에서 루마 성분에 대한 CBP16(Luma_CBP16)이 '1'인지 판단되고, '0'이면 엔트로피 부호화를 위한 텍스처 프로세싱 작업이 종료된다. 루마 성분에 대한 CBP16(Luma_CBP16)이 '1'이면 단계 2820에서 데이터 처리 단위의 크기를 나타내는 플래그(Tr_type)이 부호화된 후, 단계 2830에서 CBP8이 부호화된다. 단계 2840에서 루마 성분에 대한 텍스처 프로세싱이 수행된다.
단계 2850에서, 크로마 성분에 대한 CBP16(Chroma_CBP16)이 '1'인지 판단되고 단계 2860에서 크로마 성분에 대한 텍스처 프로세싱이 수행된다.
CBP16을 이용한 엔트로피 부호화 방법의 흐름도(2800)은 일 실시예에 따라 16×16 블록의 인터 모드 이상의 데이터 처리 단위의 부호화 모드인 경우에, 16×16 블록에 대한 부호화 블록 패턴(CBP16)이 추가된 경우를 도시하고 있지만, 데이터 처리 단위가 추가적으로 변형되는 경우에도 데이터 처리 단위를 고려하여 변형된 부호화 블록 패턴이 존재할 수 있다.
도 29a 및 29b 는 본 발명의 일 실시예에 따른 대형 데이터 처리 단위를 고려한 부호화 블록 패턴을 스캔하는 여러 가지 방식을 도시한다. 대형 데이터 처리 단위를 고려한 부호화 블록 패턴(CBP)의 스캔 방식(2092)이 후술된다.
일 실시예에 따른 엔트로피 부호화는, 데이터 처리 단위(2900)를 스캔하며 '0'이 아닌 부호화 블록 패턴을 검색한다. 기존 스캔 방식은 8×8 정사각 블록을 인터리브드 방식으로 스캔한다.
일 실시예에 따른 엔트로피 부호화는 데이터 처리 단위(2900)의 좌측 상단에서부터 우측 하단을 향하는 대각선을 중심으로 지그재그로 왕복하며 스캔하는 방식을 도입한다. 데이터 처리 단위(2900) 내의 좌측 상단에 위치하는 부호화 블록 패턴일수록 0이 아닐 확률이 높으므로 0이 아닌 유효 비트를 부호화하고자 하는 엔트로피 부호화의 효율성이 향상될 수 있다.
일 실시예에 따른 부호화 블록 패턴의 스캔 효율성을 위해 데이터 처리 단위(2900)를 다수의 경계들(2910, 2920, 2930, 2940, 2950, 2960, 2970)으로 구획할 수 있다. 지그재그 스캔 방식에 따라, 경계들 사이의 영역의 스트립 중 0이 아닌 부호화 블록 패턴('x' 표시가 있는 위치)이 있는지 여부가 검색되고, 0이 아닌 부호화 블록 패턴이 포함된 스트립만 부호화되는 것이 바람직하다.
즉, 일 실시예에 따른 부호화 블록 패턴의 스캔 방식은 데이터 처리 단위(2900)를 스캔하여, 경계 2910 이전의 제 1 영역, 경계 2910 및 2920 사이의 제 1 영역, 경계 2920 및 2930 사이의 제 3 영역, 경계 2930 및 2940 사이의 제 4 영역, 경계 2940 및 2950 사이의 제 5 영역, 경계 2950 및 2960 사이의 제 6 영역, 경계 2960 및 2970 사이의 제 7 영역, 경계 2970 이후의 제 8 영역 중 '0'이 아닌 부호화 블록 패턴이 포함된 영역의 스트립이 부호화되어야 한다.
일 실시예는, 전송 비트를 절약하기 위해 '0'이 아닌 부호화 블록 패턴이 포함된 영역의 스트립을 나타내는 두 가지 방식이 도 29a 및 29b에서 각각 도시된다.
도 29a에서는 '유효 스트립' 및 '종료 스트립'을 정의하여, 유효 스트립의 영역으로부터 종료 스트립의 영역까지의 적어도 하나의 영역의 데이터만이 유효 데 이터임을 나타낼 수 있다. 도 29b에서는 '종료 스트립'을 정의하여, '종료 스트립'의 영역까지의 적어도 하나의 영역의 데이터만이 유효 데이터임을 나타낼 수 있다.
도 29a의 경우에는, 데이터 처리 단위(2900)의 부호화 블록 패턴의 스캔 영역을 결정하기 위해 신택스 상에서 유효 스트립 및 종료 스트립을 나타내는 플래그만 각각 정의되면 된다. 유효 스트립의 영역 및 종료 스트립의 영역 사이에 무효 스트립이 있더라도, 무효 스트립을 나타내는 플래그가 필요 없으며, 종료되지 않은 스트립임을 나타내는 플래그도 필요 없다. 따라서, 하나의 데이터 처리 단위(2900)의 전송 비트에 대해, 부호화 블록 패턴과 관련하여 유효 스트립 및 종료 스트립울 각각 나타내는 플래그를 위한 2 비트만이 필요하다.
도 29b의 경우에는, 데이터 처리 단위(2900)의 부호화 블록 패턴의 스캔 영역을 결정하기 위해 신택스 상에서 종료 스트립을 나타내는 플래그만 정의되면 된다. 종료 스트립의 영역 이전의 종료되지 않은 스트립임을 나타내는 플래그도 필요 없다. 따라서, 하나의 데이터 처리 단위(2900)의 전송 비트에 대해, 부호화 블록 패턴과 관련하여 종료 스트립을 나타내는 플래그를 위한 1 비트만이 필요하다.
일 실시예에 따른 엔트로피 부호화는, 대형 데이터 처리 단위의 부호화 모드의 도입에 따라 인트라 모드 또는 크로마 성분의 대형 데이터 처리 단위에 대한 신규 부호화 블록 패턴 및 신규 부호화 블록 패턴의 단일 컨텍스트가 정의될 수 있다.
예를 들어, 일 실시예에 따른 대형 데이터 처리 단위의 부호화 모드는 32×32 수퍼 매크로블록의 인트라 모드(Intra_32×32), 16×16 매크로블록의 인트라 모 드(Intra_16×16), 16×16 매크로블록의 크로마 성분을 위한 인트라 모드(Cr_16×16, Cb_16×16)를 새롭게 포함할 수 있다.
인트라 모드의 대형 데이터 처리 단위는 내부의 모든 데이터가 0일 확률이 매우 적다. 따라서, 현재 데이터 처리 단위의 부호화 블록 패턴의 컨텍스트는 이웃 데이터 처리 단위의 컨텍스트를 이용하기 보다는, 각각의 대형 데이터 처리 단위 별로 부호화 블록 패턴에 대한 하나의 컨텍스트가 설정되는 것이 바람직하다.
인터 모드의 부호화 블록 패턴의 컨텍스트는, 기존의 인터 모드인 8×8 매크로블록에 대한 부호화 블록 패턴의 컨텍스트와 동일한 방식으로 설정될 수 있다. 따라서, 인터 모드인 이웃 8×8 매크로블록의 컨텍스트를 이용하여 현재 8×8 매크로블록의 컨텍스트가 결정될 수 있다.
일 실시예에 따른 복호화단에서, 대형 데이터 처리 단위에 기초한 엔트로피 부호화에 의해 부호화된 영상 비트스트림을 복호화하는 경우, 대형 데이터 처리 단위를 고려한 엔트로피 복호화가 필요하다. 예를 들어, 일 실시예에 따른 복호화단은, 16×16 매크로블록 별 부호화 블록 패턴을 이용한 엔트로피 복호화를 통해 영상을 복원한다.
[Ⅶ. 동적으로 결정된 데이터 처리 단위에 의한 영상 복호화 장치]
도 30a, 30b, 30c, 30d, 30e 및 30f 는 각각 일 실시예에 따라 동적으로 결정된 데이터 처리 단위를 고려하는 영상 복호화 장치(200)의 변형 실시예의 블록도를 도시한다.
일 실시예에 따른 영상 복호화 장치(200)에 대형 데이터 처리 단위를 적용하 기 위해, 그룹 복호화부(230)는 대형 데이터 처리 단위를 고려하여, 엔트로피 복호화, 역양자화 및 역주파수 변환, 인트라 추정 및 움직임 보상, 인루프 필터링을 거쳐 복원 영상을 생성한다.
수신부(210)는 영상 부호화 장치(100)로부터 전송된 영상 비트스트림을 수신하고, 그룹 부호화 모드 판독부(220)는 영상 비트스트림으로부터 부호화 모드를 판독할 수 있다. 부호화 모드는 신택스, 플래그 등으로부터 판독될 수 있다. 그룹 복호화부(230)는 판독된 부호화 모드에 기초하여 그룹 데이터를 부호화한다.
일 실시예에 따른 그룹 복호화부(230)는 동적으로 결정된 데이터 처리 단위를 고려한 복호화를 위해 기존 영상 부복호화 포맷과는 구별되는 고유 프로세스를 수행할 수 있다. 동적으로 결정된 데이터 처리 단위 중 대형 데이터 처리 단위를 고려한 고유 프로세스들을 앞서 도 21 내지 도 29b를 참조하여 설명한 기술들에 상응한다. 이하, 그룹 복호화부(230)의 각 과정별 고유 프로세스가 상술된다.
도 30a 는 일 실시예에 따른 영상 복호화 장치(200)의 그룹 복호화부(230)에 대해 대형 데이터 처리 단위를 고려한 엔트로피 복호화가 적용된 경우의 블록도를 도시한다.
일 실시예에 따른 영상 복호화 장치(200)의 그룹 복호화부(230)의 제 1 실시예는 대형 데이터 처리 단위를 고려한 엔트로피 복호화부(3010), 인트라 추정부 및 움직임 보상부(233), 역 양자화 및 역주파수 변환부(237) 및 인루프 필터링부(239)를 포함한다.
그룹 복호화부(230)의 제 1 실시예에 따른 대형 데이터 처리 단위를 고려한 엔트로피 복호화부(3010)는 그룹 부호화 모드 판독부(220)에서 판독된 부호화 모드에 기초한 대형 데이터 처리 단위에 의해 엔트로피 복호화를 수행할 수 있다. 엔트로피 복호화부(3010)에서 수행하는 엔트로피 복호화는, [Ⅵ. 엔트로피 부호화]에서 전술된 엔트로피 부호화된 비트스트림을 복호화하는 작업이다.
도 28 내지 도 29b 를 참조하여 전술된 부호화 블록 패턴이 일 실시예에 따른 엔트로피 복호화부(3010)에서 사용될 수 있다. 판독된 부호화 블록 패턴은, '0'이 아닌 부호화 블록 패턴이 발생활 확률이 높은 방향에 따라 스캔되어 부호화된 것일 수 있다.
그룹 복호화부(230)의 제 1 실시예에 따른 대형 데이터 처리 단위를 고려한 엔트로피 복호화부(3010)는 대형 데이터 처리 단위에 의해 엔트로피 복호화를 수행하기 위해, 대형 데이터 처리 단위에 대해 컨텍스트 기반 적응적 이진 산술 부호화(CABAC) 또는 컨텍스트 기반 적응적 가변 길이 부호화(CAVLC)를 이용할 수 있다.
그룹 복호화부(230)의 제 1 실시예에 따른 대형 데이터 처리 단위를 고려한 엔트로피 복호화부(3010)는 대형 데이터 처리 단위를 기반으로 하는 부호화 블록 패턴에 대한 신규로 설정된 컨텍스트를 복호화할 수 있다.
도 30b 는 일 실시예에 따른 영상 복호화 장치(200)의 그룹 복호화부(230)에 대해 대형 데이터 처리 단위를 고려한 움직임 추정 프로세싱이 적용된 경우의 블록도를 도시한다.
일 실시예에 따른 영상 복호화 장치(200)의 그룹 복호화부(230)의 제 2 실시예는 엔트로피 복호화부(231), 대형 데이터 처리 단위를 고려한 프로세싱에 따르는 인트라 추정부 및 움직임 보상부(3030), 역양자화 및 역주파수 변환부(237) 및 인루프 필터링부(239)를 포함한다.
그룹 복호화부(230)의 제 2 실시예에 따른 대형 데이터 처리 단위를 고려한 프로세싱에 따르는 인트라 추정부 및 움직임 보상부(3030)는 그룹 부호화 모드 판독부(220)에서 판독된 부호화 모드에 기초한 대형 데이터 처리 단위에 의해 프로세스에 따라 움직임 추정 또는 보상을 수행할 수 있다. 일 실시에에 따른 대형 데이터 처리 단위를 고려한 프로세싱은 [Ⅲ. 움직임 추정 프로세싱]에서 전술됐다.
일 실시예에 따른 데이터 처리 단위는, 움직임 추정을 위한 대형 데이터 처리 단위 및 주파수 변환을 위한 데이터 처리 단위의 조합에 의해 결정될 수 있다.
그룹 복호화부(230)의 제 2 실시예에 따른 대형 데이터 처리 단위를 고려한 프로세싱에 따르는 인트라 추정부 및 움직임 보상부(3030)는, 대형 데이터 처리 단위를 고려하여 결정된 데이터 처리 단위별 움직임 추정을 위한 스캔 방식 및 이웃 블록의 이웃 블록 참조 가능성을 이용할 수 있다. 데이터 처리 단위별 움직임 추정을 위한 스캔 방식 및 이웃 블록의 이웃 블록 참조 가능성의 바람직한 실시예는, 도 13, 21 및 22 를 참조하여 전술되었다.
그룹 복호화부(230)의 제 2 실시예에 따른 대형 데이터 처리 단위를 고려한 프로세싱에 따르는 인트라 추정부 및 움직임 보상부(3030)는, 정사각 형태의 대형 데이터 처리 단위만이 이용되는 간략화된 부호화 모드를 이용할 수 있다. 간략화된 부호화 모드의 바람직한 실시예는 도 23a 및 23b 를 참조하여 전술됐다.
도 30c 는 일 실시예에 따른 영상 복호화 장치(200)의 그룹 복호화부(230)에 대해 대형 데이터 처리 단위를 고려한 인트라 추정이 적용된 경우의 블록도를 도시한다.
일 실시예에 따른 영상 복호화 장치(200)의 그룹 복호화부(230)의 제 3 실시예는 엔트로피 복호화부(231), 대형 데이터 처리 단위를 고려한 인트라 추정부(3040) 및 움직임 보상부(235), 역양자화 및 역주파수 변환부(237) 및 인루프 필터링부(239)를 포함한다. 영상이 [Ⅲ-1. 인트라 추정]에서 전술된 일 실시예에 따른 고유 프로세스에 따라 부호화된 경우, 영상 복호화 장치(200)에서도 [Ⅲ-1. 인트라 추정]에서 전술된 프로세스에 기초하여 복호화하는 것이 바람직하다.
그룹 복호화부(230)의 제 3 실시예에 따른 대형 데이터 처리 단위를 고려한 인트라 추정부(3040)는 소정 대형 데이터 처리 단위에 대해 추가되는 인트라 모드를 이용할 수 있다. 예를 들어, 인트라 추정부(3040)는 인트라 모드의 32×32 수퍼 매크로블록, 인트라 모드의 16×16 수퍼 매크로블록 등을 이용할 수 있다.
그룹 복호화부(230)의 제 3 실시예에 따른 대형 데이터 처리 단위를 고려한 인트라 추정부(3040)는 보다 정확한 대형 데이터 처리 단위의 움직임 추정을 위해, 인트라 모드에 컴플렉스 플레인(complex plain)을 이용한 추정 모드를 도입할 수 있다.
그룹 복호화부(230)의 제 3 실시예에 따른 대형 데이터 처리 단위를 고려한 인트라 추정부(3040)는, 제한된 종류의 대형 데이터 처리 단위만을 이용하여 인트라 추정을 수행할 수 있다.
도 30d 는 일 실시예에 따른 영상 복호화 장치(200)의 그룹 복호화부(230)에 대해 대형 데이터 처리 단위를 고려한 움직임 보상이 적용된 경우의 블록도를 도시한다.
일 실시예에 따른 영상 복호화 장치(200)의 그룹 복호화부(230)의 제 4 실시예는 엔트로피 복호화부(231), 인트라 추정부(234) 및 대형 데이터 처리 단위를 고려한 움직임 보상부(3050), 역양자화 및 역주파수 변환부(237) 및 인루프 필터링부(239)를 포함한다. 일 실시예에 따른 대형 데이터 처리 단위에 의해 부호화된 영상에 대해서는, 일 실시예에 따른 [Ⅲ-2. 인터 추정]에서 전술된 일 실시예에 다른 고유 프로세스에 기초하여 움직임 추정 및 움직임 보상을 수행되는 것이 바람직하다.
그룹 복호화부(230)의 제 4 실시예에 따른 대형 데이터 처리 단위를 고려한 움직임 보상부(3050)는 대형 데이터 처리 단위의 추정 모드로써, 인터 추정 및 인트라 추정이 혼재할 수 있는 혼합 모드를 도입할 수 있다.
그룹 복호화부(230)의 제 4 실시예에 따른 대형 데이터 처리 단위를 고려한 움직임 보상부(3050)는 대형 데이터 처리 단위 별로 결정된 움직임 벡터(MV) 및 움직임 벡터 추정자(MVP)를 이용할 수 있다.
그룹 복호화부(230)의 제 4 실시예에 따른 대형 데이터 처리 단위를 고려한 움직임 보상부(3050)는 대형 데이터 처리 단위 별로 정의된 신규 스킵 모드를 이용하고, 복수의 스킵 모드의 데이터 처리 단위를 포함하는 스킵 그룹에 대해 동시에 스킵 처리할 수 있다.
도 30e 는 일 실시예에 따른 영상 복호화 장치(200)의 그룹 복호화부(230)에 대해 대형 데이터 처리 단위를 고려한 역양자화 및 역주파수 변환이 적용된 경우의 블록도를 도시한다.
일 실시예에 따른 영상 복호화 장치(200)의 그룹 복호화부(230)의 제 5 실시예는 엔트로피 복호화부(231), 인트라 추정부 및 움직임 보상부(233), 대형 데이터 처리 단위를 고려한 역양자화 및 역주파수 변환부(3070) 및 인루프 필터링부(239)를 포함한다. 대형 데이터 처리 단위를 고려한 역양자화 및 역주파수 변환부(3070)는, [Ⅳ. 주파수 변환 및 양자화]에서 전술된 일 실시예에 따른 주파수 변환 및 양자화 기법의 역과정을 수행하는 것이 바람직하다.
그룹 복호화부(230)의 제 5 실시예에 따른 대형 데이터 처리 단위를 고려한 역양자화 및 역주파수 변환부(3070)는 대형 데이터 처리 단위에 의해 역양자화 및 역주파수 변환을 수행하기 위해, 대형 데이터 처리 단위를 기반으로 하는 정수 이산 코사인 역변환 및 역양자화를 수행할 수 있다.
그룹 복호화부(230)의 제 5 실시예에 따른 대형 데이터 처리 단위를 고려한 역양자화 및 역주파수 변환부(3070)는 대형 데이터 처리 단위에 의해 역주파수 변환 및 역양자화를 수행하기 위해, 대형 데이터 처리 단위의 크로마 성분에 대해 이산 코사인 역변환 및 역양자화를 수행할 수 있다.
그룹 복호화부(230)의 제 5 실시예에 따른 대형 데이터 처리 단위를 고려한 역양자화 및 역주파수 변환부(3070)는 대형 데이터 처리 단위를 기반으로 하는 이산 코사인 역변환에 의해 증가할 수 있는 연산량의 부담을 감소하기 위해 저복잡도 연산을 지향하는 이산 코사인 역변환을 수행할 수 있다.
도 30f 는 일 실시예에 따른 영상 복호화 장치(200)의 그룹 복호화부(230)에 대해 대형 데이터 처리 단위를 고려한 인루프 필터링이 적용된 경우의 블록도를 도시한다.
일 실시예에 따른 영상 복호화 장치(200)의 그룹 복호화부(230)의 제 6 실시예는 엔트로피 복호화부(231), 인트라 추정부 및 움직임 보상부(233), 역양자화 및 역주파수 변환부(237) 및 대형 데이터 처리 단위를 고려한 인루프 필터링부(3090)를 포함한다. 대형 데이터 처리 단위를 고려한 인루프 필터링부(3090)는, [Ⅴ. 인루프 필터링]에서 전술된 일 실시예에 따른 인루프 필터링에 대응하는 작업을 수행하는 것이 바람직하다.
그룹 복호화부(230)의 제 6 실시예에 따른 대형 데이터 처리 단위를 고려한 인루프 필터링부(2007)는, 대형 데이터 처리 단위 내부의 하위 처리 단위의 경계에 대해 필터링을 수행할지 여부가 결정될 수 있다. 또한, 대형 데이터 처리 단위 내부의 하위 처리 단위의 경계별로 필터링 강도가 조절될 수 있다.
그룹 복호화부(230)의 제 6 실시예에 따른 대형 데이터 처리 단위를 고려한 인루프 필터링부(2007)는 대형 데이터 처리 단위 내부의 링잉 효과의 감소를 위해 인루프 필터링을 수행할 수 있다.
앞서 도 30a 내지 30f를 참조하여 설명된 그룹 복호화부(230)의 제 1 실시예 내지 제 6 실시예는, 판독된 부호화 모드에 따라 기존의 16×16, 8×8, 4×4 블록 이외의 데이터 처리 단위를 이용하여 그룹의 데이터를 복호화할 수 있다. 특히, 대형 데이터 처리 단위를 고려하여 기존 영상 부복호화 포맷의 신택스를 변형함으로 써, 기존 영상 부복호화 포맷에 대형 데이터 처리 단위에 의한 다양한 프로세스를 적용할 수 있다.
[Ⅷ. 동적으로 결정된 데이터 처리 단위에 의한 영상 부호화 방법 및 영상 복호화 방법]
도 31a, 31b, 31c, 31d, 31e 및 31f는 각각 일 실시예에 따라 동적으로 결정된 데이터 처리 단위를 고려하는 영상 부호화 방법(1800)의 변형 실시예의 흐름도를 도시한다.
도 31a, 31b, 31c, 31d, 31e 및 31f에 대해 모두 공통적으로, 단계 1810에서, 기본블록으로 분류된 영상 데이터가 그룹, 서브그룹 및 기본블록을 포함하는 확장된 개념으로 분류된다. 또한, 단계 1820에서, 그룹을 부호화하기 위해 이용되는 데이터 처리 단위에 관한 정보 및 그룹의 부호화 모드가 결정된다. 여기서 그룹의 부호화 모드는 대형 데이터 처리 단위를 고려한 부호화 모드를 포함할 수 있다.
단계 1830에서는, 그룹의 부호화를 위해, 주파수 변환 및 양자화, 움직임 추정, 인루프 필터링, 엔트로피 부호화 과정이 수행될 수 있다. 도 31a 내지 31f를 참조하여, 그룹의 부호화를 위한 각각의 과정별 고유 프로세스가 상술된다.
도 31a 은 본 발명의 일 실시예에 따른 영상 부호화 방법(1800)의 그룹 부호화 단계(1830)에 대해 대형 데이터 처리 단위를 고려한 주파수 변환 및 양자화가 적용된 경우의 흐름도를 도시한다.
단계 1831에서, 대형 데이터 처리 단위를 고려한 부호화 모드에 따른 주파수 변환 및 양자화를 거쳐 그룹의 데이터가 부호화된다. 대형 데이터 처리 단위를 고 려한 주파수 변환 및 양자화를 위해, 대형 블록 기반의 정수 이산 코사인 변환 및 양자화(2032), 대형 블록의 크로마 성분에 대한 이산 코사인 변환 및 양자화(2034), 대형 블록 기반의 이산 코사인 변환을 위한 저복잡도 연산(2036) 중 적어도 하나가 수행될 수 있다.
도 31b 은 본 발명의 일 실시예에 따른 영상 부호화 방법(1800)의 그룹 부호화 단계(1830)에 대해 대형 데이터 처리 단위를 고려한 프로세싱에 의한 움직임 추정이 적용된 경우의 흐름도를 도시한다.
단계 1833에서, 대형 데이터 처리 단위를 고려한 부호화 모드에 따른 움직임 추정 프로세싱을 거쳐 그룹의 데이터가 부호화된다. 대형 데이터 처리 단위를 고려한 움직임 추정 프로세싱을 위해, 움직임 추정을 위한 대형 블록 및 주파수 변환을 위한 대형 블록의 조합(2052), 움직임 추정을 위한 블록 스캐닝 방식 및 이웃 블록의 이웃 블록 참조 가능성(2054), 대형 블록의 간략화 모드(2056) 중 적어도 하나가 수행될 수 있다.
도 31c 은 본 발명의 일 실시예에 따른 영상 부호화 방법(1800)의 그룹 부호화 단계(1830)에 대해 대형 데이터 처리 단위를 고려한 인트라 추정이 적용된 경우의 흐름도를 도시한다.
단계 1834에서, 대형 데이터 처리 단위를 고려한 부호화 모드에 따른 인트라 추정을 거쳐 그룹의 데이터가 부호화된다. 대형 데이터 처리 단위를 고려한 인트라 추정을 위해, 대형 블록 기반의 인트라 모드(2062), 인트라 추정을 위한 컴플렉스 플레인의 도입(2064), 추정 가능한 인트라 모드의 결정(2066) 중 적어도 하나가 수 행될 수 있다.
도 31d 은 본 발명의 일 실시예에 따른 영상 부호화 방법(1800)의 그룹 부호화 단계(1830)에 대해 대형 데이터 처리 단위를 고려한 인터 추정이 적용된 경우의 흐름도를 도시한다.
단계 1835에서, 대형 데이터 처리 단위를 고려한 부호화 모드에 따른 인터 추정을 거쳐 그룹의 데이터가 부호화된다. 대형 데이터 처리 단위를 고려한 인터 추정을 위해, 인트라 모드 및 인터 모드가 혼합된 추정 모드의 도입(2072), 대형 블록의 움직임 벡터(MV)의 결정 방식 및 움직임 벡터 추정자(MVP)의 유도 방식(2074), 대형 블록의 신규한 스킵 모드 및 스킵 그룹의 도입(2076) 중 적어도 하나가 수행될 수 있다.
도 31e 은 본 발명의 일 실시예에 따른 영상 부호화 방법(1800)의 그룹 부호화 단계(1830)에 대해 대형 데이터 처리 단위를 고려한 인루프 필터링이 적용된 경우의 흐름도를 도시한다.
단계 1837에서, 대형 데이터 처리 단위를 고려한 부호화 모드에 따른 인루프 필터링을 거쳐 그룹의 데이터가 부호화된다. 대형 데이터 처리 단위를 고려한 인루프 필터링을 위해, 대형 블록 내부의 경계에 대한 필터링 여부 결정 및 필터링 강도 결정(2082), 대형 블록 내부의 링잉 효과 감소 필터링(2084) 중 적어도 하나가 수행될 수 있다.
도 31f 은 본 발명의 일 실시예에 따른 영상 부호화 방법(1800)의 그룹 부호화 단계(1830)에 대해 대형 데이터 처리 단위를 고려한 엔트로피 부호화가 적용된 경우의 흐름도를 도시한다.
단계 1839에서, 대형 데이터 처리 단위를 고려한 부호화 모드에 따른 엔트로피 부호화를 거쳐 그룹의 데이터가 부호화된다. 대형 데이터 처리 단위를 고려한 엔트로피 부호화를 위해, 대형 블록에 대한 부호화 블록 패턴(CBP)의 도입 및 부호화 블록 패턴 스캔 방식(2092), 대형 블록을 고려한 컨텍스트 기반 적응적 이진 산술 부호화(CABAC) 또는 컨텍스트 기반 적응적 가변 길이 부호화(CAVLC)의 도입(2094), 대형 블록의 부호화 블록 패턴에 대한 컨텍스트 설정(2096) 중 적어도 하나가 수행될 수 있다.
도 32a, 32b, 32c, 32d, 32e 및 32f는 각각 일 실시예에 따라 동적으로 결정된 데이터 처리 단위를 고려하는 영상 복호화 방법(1900)의 변형 실시예의 흐름도를 도시한다.
도 32a, 32b, 32c, 32d, 32e 및 32f에 대해 모두 공통적으로, 단계 1910에서, 영상 비트스트림을 수신하여 파싱한다. 수신된 영상 비트스트림은 기본블록, 그룹, 서브그룹 단위로 부호화된 데이터를 포함한다. 또한, 단계 1920에서, 그룹의 부호화 방식을 나타내는 그룹의 부호화 모드를 판독한다. 그룹의 부호화 모드는 그룹의 데이터 처리 단위 및, 인트라 모드, 인터 모드, 스킵 모드 등의 움직임 추정 모드를 포함할 수 있다.
단계 1930에서는, 그룹의 복호화를 위해, 엔트로피 복호화, 역주파수 변환 및 역양자화, 움직임 추정 및 보상, 인루프 필터링 과정이 수행될 수 있다. 도 32a 내지 32f를 참조하여, 그룹의 복호화를 위한 각각의 과정별 고유 프로세스가 상술 된다.
도 32a 는 일 실시예에 따른 영상 복호화 방법(1900)의 그룹 복호화 단계(1930)에 대해 대형 데이터 처리 단위를 고려한 엔트로피 복호화가 적용된 경우의 흐름도를 도시한다.
단계 1931에서, 대형 데이터 처리 단위를 고려한 엔트로피 부호화를 거쳐 그룹의 데이터가 복호화된다. 대형 데이터 처리 단위를 고려한 엔트로피 복호화를 수행하기 위해, 대형 데이터 처리 단위를 기반으로 하는 부호화 블록 패턴이 이용될 숭 있다. 대형 데이터 처리 단위를 고려한 엔트로피 부호화는, 대형 데이터 처리 단위에 대해 컨텍스트 기반 적응적 이진 산술 부호화(CABAC) 또는 컨텍스트 기반 적응적 가변 길이 부호화(CAVLC)를 이용할 수 있다.
대형 데이터 처리 단위를 고려한 엔트로피 복호화를 수행하기 위해, 대형 데이터 처리 단위를 기반으로 하는 부호화 블록 패턴에 대한 신규로 설정된 컨텍스트를 이용하여 부호화 블록 패턴이 복호화될 수 있다.
도 32b 는 일 실시예에 따른 영상 복호화 방법(1900)의 그룹 복호화 단계(1930)에 대해 대형 데이터 처리 단위를 고려한 움직임 추정 프로세싱이 적용된 경우의 흐름도를 도시한다.
단계 1933에서, 대형 데이터 처리 단위를 고려한 프로세스에 따라 수행하는 움직임 추정 또는 보상을 거쳐 그룹의 데이터가 복호화된다. 일 실시예에 따른 데이터 처리 단위는, 움직임 추정을 위한 대형 데이터 처리 단위 및 주파수 변환을 위한 데이터 처리 단위의 조합에 의해 결정될 것일 수 있다. 대형 데이터 처리 단 위를 고려하여 결정된 데이터 처리 단위별 움직임 추정을 위한 스캔 방식 및 이웃 블록의 이웃 블록 참조 가능성을 이용할 수 있다.
일 실시예에 따라 인트라 추정 및 움직임 보상을 위해 대형 데이터 처리 단위를 고려한 프로세싱은, 정사각 형태의 대형 데이터 처리 단위만이 이용되는 간략화된 부호화 모드를 이용할 수 있다.
도 32c 는 일 실시예에 따른 영상 복호화 방법(1900)의 그룹 복호화 단계(1930)에 대해 대형 데이터 처리 단위를 고려한 인트라 추정이 적용된 경우의 흐름도를 도시한다.
단계 1934에서, 대단위 데이터 처리 단위를 고려한 부호화 모드에 따른 인트라 추정을 거쳐 그룹의 데이터가 복호화된다. 일 실시예에 따른 대형 데이터 처리 단위를 고려한 인트라 추정 단계는, 대형 데이터 처리 단위에 대해 추가되는 인트라 모드를 이용할 수 있다. 대형 데이터 처리 단위를 고려한 인트라 모드에 컴플렉스 플레인(complex plain)을 이용한 추정 모드가 도입될 수 있다. 대형 데이터 처리 단위를 고려한 인트라 추정은, 제한된 종류의 대형 데이터 처리 단위에 대해서만 수행될 수도 있다.
도 32d 는 일 실시예에 따른 영상 복호화 방법(1900)의 그룹 복호화 단계(1930)에 대해 대형 데이터 처리 단위를 고려한 움직임 보상이 적용된 경우의 흐름도를 도시한다.
단계 1935에서, 대단위 데이터 처리 단위를 고려한 부호화 모드에 따른 움직임 보상을 거쳐 그룹의 데이터가 복호화된다. 대형 데이터 처리 단위를 고려한 움 직임 보상을 위해, 대형 데이터 처리 단위의 추정 모드로써, 인터 추정 및 인트라 추정이 혼재할 수 있는 혼합 모드가 이용될 수 있다.
움직임 보상을 위해 대형 데이터 처리 단위 별로 결정된 움직임 벡터(MV) 및 움직임 벡터 추정자(MVP)가 이용될 수 있다. 대형 데이터 처리 단위 별로 정의된 신규 스킵 모드가 이용되고, 복수의 스킵 모드의 데이터 처리 단위를 포함하는 스킵 그룹에 대해 동시에 스킵 처리될 수 있다.
도 32e 는 일 실시예에 따른 영상 복호화 방법(1900)의 그룹 복호화 단계(1930)에 대해 대형 데이터 처리 단위를 고려한 역양자화 및 역주파수 변환이 적용된 경우의 흐름도를 도시한다.
단계 1937에서, 대단위 데이터 처리 단위를 고려한 부호화 모드에 따른 역양자화 및 역주파수 변환을 거쳐 그룹의 데이터가 복호화된다.
대형 데이터 처리 단위를 고려한 역양자화 및 역주파수 변환을 위해, 대형 데이터 처리 단위를 기반으로 하는 정수 이산 코사인 역변환 및 역양자화가 수행될 수 있다. 대형 데이터 처리 단위의 크로마 성분에 대해 이산 코사인 역변환 및 역양자화가 수행될 수 있다. 대형 데이터 처리 단위를 기반으로 하는 이산 코사인 역변환에 의해 증가할 수 있는 연산량의 부담을 감소하기 위해 저복잡도 연산을 지향하는 이산 코사인 역변환이 수행될 수 있다.
도 32f 는 일 실시예에 따른 영상 복호화 방법(1900)의 그룹 복호화 단계(1930)에 대해 대형 데이터 처리 단위를 고려한 인루프 필터링이 적용된 경우의 흐름도를 도시한다.
단계 1939에서, 대단위 데이터 처리 단위를 고려한 인루프 필터링을 거쳐 그룹의 데이터가 복호화된다.
대단위 데이터 처리 단위를 고려한 인루프 필터링을 수행하기 위해, 대형 데이터 처리 단위 내부의 하위 처리 단위의 경계에 대해 필터링을 수행할지 여부가 결정될 수 있다. 또한, 대형 데이터 처리 단위 내부의 하위 처리 단위의 경계별로 필터링 강도가 조절될 수 있다. 또한, 대형 데이터 처리 단위 내부의 링잉 효과의 감소를 위해 인루프 필터링을 수행할 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1 은 본 발명의 일 실시예에 따른 영상 부호화 장치의 블록도를 도시한다.
도 2 는 본 발명의 일 실시예에 따른 영상 복호화 장치의 블록도를 도시한다.
도 3 은 본 발명에서 제안하는 데이터 처리 단위인 그룹의 개념을 도시한다.
도 4 는 본 발명에서 제안하는 데이터 처리 단위인 서브그룹의 일 예를 도시한다.
도 5 는 본 발명에서 제안하는 데이터 처리 단위인 서브그룹의 다른 예를 도시한다.
도 6 은 본 발명의 일 실시예에 따른 부호화 모드의 신택스를 도시한다.
도 7 은 데이터 처리 단위 별 부호화 방식의 일례를 도시한다.
도 8 은 본 발명의 일 실시예에 따라 그룹의 부호화 모드를 결정하는 부호화 방법의 흐름도를 도시한다.
도 9 은 본 발명의 일 실시예에 따라 부호화 모드를 판독하여 복호화하는 방법의 흐름도를 도시한다.
도 10 은 본 발명에서 가능한 데이터 처리 단위의 계층적 구조를 도시한다.
도 11 은 본 발명의 다른 실시예에 따른 수퍼 매크로블록 및 매크로블록 단위에 의한 부호화 모드의 신택스를 도시한다.
도 12 는 본 발명의 다른 실시예에 따라 부호화 모드가 스킵 모드인 경우 움 직임 벡터 추정 방식을 도시한다.
도 13 은 본 발명의 다른 실시예의 데이터 처리 단위별 부복호화 처리 순서를 도시한다.
도 14 는 본 발명의 다른 실시예의 주파수 계수의 배열 방식을 도시한다.
도 15 는 기존 부호화 방식 및 본 발명의 다른 실시예에 따른 CBP(Coded Block Pattern) 및 계수 블록 크기와 관련된 신택스 부호화 방식을 비교한다.
도 16 은 본 발명의 다른 실시예의 CBP 관련 신택스를 도시한다.
도 17 은 본 발명의 다른 실시예의 B 프레임의 부호화 모드를 도시한다.
도 18 은 본 발명의 일 실시예에 따른 영상 부호화 방법의 흐름도를 도시한다.
도 19 는 본 발명의 일 실시예에 따른 영상 복호화 방법의 흐름도를 도시한다.
도 20a, 20b, 20c, 20d, 20e 및 20f 는 각각 일 실시예에 따라 동적으로 결정된 데이터 처리 단위를 고려하는 영상 부호화 장치(100)의 변형 실시예의 블록도를 도시한다.
도 20g 은 본 발명의 일 실시예에 따라 동적으로 결정된 데이터 처리 단위를 고려한 영상 부호화 방법의 흐름도를 도시한다.
도 21 은 본 발명의 일 실시예에 따른 대형 데이터 처리 단위를 고려한 움직임 추정을 위해 데이터 처리 단위별 스캔 방식을 도시한다.
도 22 는 본 발명의 일 실시예에 따른 대형 데이터 처리 단위를 고려한 움직 임 추정에서, 인접하는 이웃 데이터 처리 단위의 이용 가능성을 도시한다.
도 23a 는 본 발명의 일 실시예에 따른 대형 데이터 처리 단위 중 간소화된 계층적 데이터 처리 단위를 도시한다.
도 23b 는 본 발명의 일 실시예에 따른 대형 데이터 처리 단위를 고려한 신택스를 도시한다.
도 24a, 24b 및 24c 는 본 발명의 일 실시예에 따른 스킵 그룹의 여러 가지 구성 방식을 도시한다.
도 25a 및 25b 는 본 발명의 일 실시예에 따른 대형 데이터 처리 단위 내의 움직임 벡터 유도 방식과 하위 데이터 처리 단위의 움직임 벡터 유도 방식을 도시한다.
도 26a 및 26b 는 본 발명의 일 실시예에 따른 대형 데이터 처리 단위의 크로마 성분을 위한 여러 가지 움직임 추정 방식을 도시한다.
도 27 은 본 발명의 일 실시예에 따른 대형 데이터 처리 단위의 크로마 성분에 대한 데이터 처리 단위의 사이즈를 유도하는 방식을 도시한다.
도 28 은 본 발명의 일 실시예에 따른 대형 데이터 처리 단위를 고려한 부호화 블록 패턴을 이용하는 방법의 흐름도를 도시한다.
도 29a 및 29b 는 본 발명의 일 실시예에 따른 대형 데이터 처리 단위를 고려한 부호화 블록 패턴을 스캔하는 여러 가지 방식을 도시한다.
도 30a, 30b, 30c, 30d, 30e 및 30f 는 각각 일 실시예에 따라 동적으로 결정된 데이터 처리 단위를 고려하는 영상 복호화 장치(200)의 변형 실시예의 블록도 를 도시한다.
도 31a, 31b, 31c, 31d, 31e 및 31f는 각각 일 실시예에 따라 동적으로 결정된 데이터 처리 단위를 고려하는 영상 부호화 방법(1800)의 변형 실시예의 흐름도를 도시한다.
도 32a, 32b, 32c, 32d, 32e 및 32f는 각각 일 실시예에 따라 동적으로 결정된 데이터 처리 단위를 고려하는 영상 복호화 방법(19100)의 변형 실시예의 흐름도를 도시한다.

Claims (43)

  1. 비트스트림으로부터 그룹 내의 복수의 서브그룹들의 개수를 파싱하는 단계;
    상기 복수의 서브그룹들의 개수에 기초하여 상기 그룹의 크기를 결정하는 단계;
    영상으로부터 상기 복수의 서브그룹들을 결정하고, 기본블록의 계층 구조와 관련된 정보에 따라 상기 복수의 서브그룹들 중 하나의 서브그룹을 계층적으로 분할한 하나 이상의 기본블록을 결정하는 단계; 및
    지그재그(zigzag) 스캔 순서에 따라 상기 그룹 내의 상기 하나 이상의 기본블록들을 복호화하는 단계를 포함하고,
    상기 하나 이상의 기본블록들은 제 1 기본블록, 제 2 기본블록, 제 3 기본블록 및 제 4 기본블록을 포함하고,
    상기 제 1 기본블록의 좌상(top left) 픽셀은 (x0, y0)에 위치되고,
    상기 제 2 기본블록의 좌상픽셀은 (x0+S, y0)에 위치되고,
    상기 제 3 기본블록의 좌상픽셀은 (x0, y0+S)에 위치되고,
    상기 제 4 기본블록의 좌상픽셀은 (x0+S, y0+S)에 위치되고,
    상기 S 는 상기 제 1 기본블록의 크기이고,
    상기 지그재그 스캔 순서는 상기 제 1 기본블록으로부터, 상기 제 2 기본블록, 상기 제 3 기본블록, 상기 제 4 기본블록으로의 복호화 순서를 나타내는 영상 복호화 방법.
  2. 제 1 항에 있어서,
    상기 서브그룹의 크기는 8x8, 16x16 및 32x32 중 하나로 설정되는 영상 복호화 방법.
  3. 제 1 항에 있어서,
    상기 하나 이상의 기본블록들의 각각의 크기는 8x8, 16x16 및 32x32 중 하나로 설정되는 영상 복호화 방법
  4. 제 1 항에 있어서
    상기 하나 이상의 기본블록들을 복호화하는 단계는,
    제 2 기본블록의 좌상 픽셀이 상기 영상의 경계를 벗어나고, 상기 제 1 기본블록의 좌상 픽셀및 상기 제 3 기본블록의 좌상 픽셀이 상기 영상의 상기 경계 안에 남아있는 경우, 상기 제 2 기본블록을 복호화하지 않고, 상기 제 1 기본블록의 복호화 후에 상기 제 3 기본블록을 복호화하는 것을 포함하는 영상 복호화 방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
KR1020090040890A 2008-06-13 2009-05-11 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 KR101599879B1 (ko)

Priority Applications (11)

Application Number Priority Date Filing Date Title
EP09762619.6A EP2293567A4 (en) 2008-06-13 2009-06-03 IMAGE ENCODING METHOD AND DEVICE AND IMAGE DECODING METHOD AND DEVICE
PCT/KR2009/002942 WO2009151232A2 (ko) 2008-06-13 2009-06-03 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
JP2011513412A JP5670885B2 (ja) 2008-06-13 2009-06-03 映像符号化方法及びその装置、映像復号化方法及びその装置
CN201410334485.8A CN104093019B (zh) 2008-06-13 2009-06-03 图像解码方法和图像解码设备
EP15161498.9A EP2953368A1 (en) 2008-06-13 2009-06-03 Image-encoding method and a device therefor, and image-decoding method and a device therefor
CN200980131662.XA CN102124739B (zh) 2008-06-13 2009-06-03 图像编码方法及其装置、图像解码方法及其装置
US12/997,747 US20110090967A1 (en) 2008-06-13 2009-06-03 Image-encoding method and a device therefor, and image-decoding method and a device therefor
AU2009258401A AU2009258401A1 (en) 2008-06-13 2009-06-03 Image-encoding method and a device therefor, and image-decoding method and a device therefor
JP2014211166A JP2015035825A (ja) 2008-06-13 2014-10-15 映像符号化方法及びその装置、映像復号化方法及びその装置
US14/604,286 US9924174B2 (en) 2008-06-13 2015-01-23 Image-encoding method and a device therefor, and image-decoding method and a device therefor
JP2016094169A JP6336513B2 (ja) 2008-06-13 2016-05-09 映像符号化方法及びその装置、映像復号化方法及びその装置

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US6117508P 2008-06-13 2008-06-13
US61/061,175 2008-06-13
US8233808P 2008-07-21 2008-07-21
US61/082,338 2008-07-21
KR1020080102464 2008-10-20
KR1020080102464A KR20090129926A (ko) 2008-06-13 2008-10-20 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20090129939A KR20090129939A (ko) 2009-12-17
KR101599879B1 true KR101599879B1 (ko) 2016-03-07

Family

ID=41689802

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020080102464A KR20090129926A (ko) 2008-06-13 2008-10-20 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
KR1020090040890A KR101599879B1 (ko) 2008-06-13 2009-05-11 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020080102464A KR20090129926A (ko) 2008-06-13 2008-10-20 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치

Country Status (7)

Country Link
US (2) US20110090967A1 (ko)
EP (2) EP2953368A1 (ko)
JP (3) JP5670885B2 (ko)
KR (2) KR20090129926A (ko)
CN (2) CN104093019B (ko)
AU (3) AU2009258401A1 (ko)
WO (1) WO2009151232A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018160034A1 (ko) * 2017-03-03 2018-09-07 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
US10951916B2 (en) 2017-03-03 2021-03-16 Sk Telecom Co., Ltd. Apparatus and method for video encoding or decoding

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8126046B2 (en) * 2006-06-30 2012-02-28 Intel Corporation Flexible macroblock ordering and arbitrary slice ordering apparatus, system, and method
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US8619856B2 (en) * 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
RU2546325C2 (ru) * 2009-05-29 2015-04-10 Мицубиси Электрик Корпорейшн Устройство кодирования изображений, устройство декодирования изображений, способ кодирования изображений и способ декодирования изображений
KR20110001990A (ko) * 2009-06-30 2011-01-06 삼성전자주식회사 영상 데이터의 인 루프 필터링 장치 및 방법과 이를 이용한 영상 부호화/복호화 장치
KR102194679B1 (ko) 2009-07-01 2020-12-24 인터디지털 브이씨 홀딩스 인코포레이티드 비디오 인코더 및 디코더용 대형 블록에 대한 인트라 예측을 시그널링하기 위한 방법 및 장치
JP5841944B2 (ja) * 2009-09-04 2016-01-13 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. スケーラブルな画像符号化および復号化
NO331356B1 (no) * 2009-10-16 2011-12-12 Cisco Systems Int Sarl Fremgangsmater, dataprogrammer og anordninger for koding og dekoding av video
US9467705B2 (en) * 2009-12-30 2016-10-11 Ariscale Inc. Video encoding apparatus, video decoding apparatus, and video decoding method for performing intra-prediction based on directionality of neighboring block
KR101675118B1 (ko) * 2010-01-14 2016-11-10 삼성전자 주식회사 스킵 및 분할 순서를 고려한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101703327B1 (ko) * 2010-01-14 2017-02-06 삼성전자 주식회사 계층적 데이터 단위의 패턴 정보를 이용하는 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR101522850B1 (ko) * 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
WO2011126282A2 (en) * 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using transformation index, and method and apparatus for decoding video by using transformation index
KR101503269B1 (ko) * 2010-04-05 2015-03-17 삼성전자주식회사 영상 부호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치, 및 영상 복호화 단위에 대한 인트라 예측 모드 결정 방법 및 장치
JP5368631B2 (ja) * 2010-04-08 2013-12-18 株式会社東芝 画像符号化方法、装置、及びプログラム
ES2784509T3 (es) 2010-04-13 2020-09-28 Ge Video Compression Llc Codificación de mapas de significado y bloques de coeficiente de transformada
KR101791078B1 (ko) 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
KR101791242B1 (ko) 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
WO2011129672A2 (ko) * 2010-04-16 2011-10-20 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
WO2011129671A2 (ko) * 2010-04-16 2011-10-20 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
CN105704490B (zh) * 2010-04-16 2018-07-31 Sk电信有限公司 视频编码设备
KR101813189B1 (ko) 2010-04-16 2018-01-31 에스케이 텔레콤주식회사 영상 부호화/복호화 장치 및 방법
WO2011145819A2 (ko) 2010-05-19 2011-11-24 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
US10091529B2 (en) 2010-07-09 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding/decoding a transform coefficient
DK3101901T3 (en) 2010-07-09 2017-09-18 Samsung Electronics Co Ltd Method of entropy decoding transformation coefficients
US20120014441A1 (en) * 2010-07-15 2012-01-19 Sharp Laboratories Of America, Inc. Parallel video coding based on boundaries
US8965139B2 (en) * 2010-09-29 2015-02-24 Panasonic Intellectual Property Corporation Of America Image decoding method, image coding method, image decoding apparatus, image coding apparatus and integrated circuit for generating a code stream with a hierarchical code structure
CN102447895B (zh) 2010-09-30 2013-10-02 华为技术有限公司 扫描方法及装置、反扫描方法及装置
JP5624218B2 (ja) * 2010-09-30 2014-11-12 サムスン エレクトロニクスカンパニー リミテッド 階層的構造のシンボルを符号化するビデオ符号化方法及びその装置、階層的構造のシンボルを復号化するビデオ復号化方法及びその装置
US9749630B2 (en) 2010-09-30 2017-08-29 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit
KR101483179B1 (ko) * 2010-10-06 2015-01-19 에스케이 텔레콤주식회사 주파수 마스크 테이블을 이용한 주파수변환 블록 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US9525884B2 (en) * 2010-11-02 2016-12-20 Hfi Innovation Inc. Method and apparatus of slice boundary filtering for high efficiency video coding
CN104811706B (zh) 2011-01-06 2017-10-27 三星电子株式会社 视频的编码方法和装置及视频的解码方法和装置
JP2012147127A (ja) * 2011-01-07 2012-08-02 Sony Corp 画像処理装置および方法
US8925027B2 (en) * 2011-01-20 2014-12-30 Vidyo, Inc. Participant aware configuration for video encoder
EP3413564A1 (en) * 2011-03-10 2018-12-12 Sharp Kabushiki Kaisha Image decoding device
WO2012134046A2 (ko) 2011-04-01 2012-10-04 주식회사 아이벡스피티홀딩스 동영상의 부호화 방법
MX2013013508A (es) 2011-06-23 2014-02-27 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
CN103621087B (zh) 2011-06-23 2016-12-07 Jvc建伍株式会社 图像解码装置及图像解码方法
USRE47366E1 (en) 2011-06-23 2019-04-23 Sun Patent Trust Image decoding method and apparatus based on a signal type of the control parameter of the current block
TWI581615B (zh) 2011-06-24 2017-05-01 Sun Patent Trust A decoding method, a coding method, a decoding device, an encoding device, and a coding / decoding device
RU2603552C2 (ru) 2011-06-24 2016-11-27 Сан Пэтент Траст Способ декодирования изображения, способ кодирования изображения, устройство декодирования изображения, устройство кодирования изображения и устройство кодирования и декодирования изображения
MX2013013483A (es) * 2011-06-27 2014-02-27 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
CN102857746B (zh) * 2011-06-28 2017-03-29 中兴通讯股份有限公司 环路滤波编解码方法及装置
CN103563377B (zh) 2011-06-28 2017-05-10 太阳专利托管公司 解码方法及解码装置
CN105554510B (zh) 2011-06-28 2019-06-28 三星电子株式会社 对视频进行解码的方法和设备
MX2013010892A (es) * 2011-06-29 2013-12-06 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
EP2727356A2 (en) * 2011-06-30 2014-05-07 Huawei Technologies Co., Ltd Fast encoding method for lossless coding
WO2013001769A1 (ja) 2011-06-30 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
WO2013002620A2 (ko) * 2011-06-30 2013-01-03 삼성전자 주식회사 스킵 모드를 이용한 모션 정보 부호화 방법 및 장치, 그 복호화 방법 및 장치
MX339141B (es) 2011-06-30 2016-05-13 Panasonic Ip Corp America Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
JP2013012995A (ja) * 2011-06-30 2013-01-17 Sony Corp 画像処理装置および方法
AU2012281918C1 (en) 2011-07-11 2016-11-17 Sun Patent Trust Decoding Method, Coding Method, Decoding Apparatus, Coding Apparatus, And Coding and Decoding Apparatus
RU2601167C2 (ru) * 2011-07-18 2016-10-27 Сан Пэтент Траст Способ кодирования изображения, способ декодирования изображения, устройство кодирования изображения, устройство декодирования изображения и устройство кодирования и декодирования изображения
SI2739053T1 (sl) * 2011-07-29 2019-11-29 Sun Patent Trust Postopek za dekodiranje videa, naprava za dekodiranje videa
TWI514852B (zh) * 2011-09-09 2015-12-21 Panasonic Ip Corp America 低複雜解區塊濾波器決策技術
SI2744204T1 (sl) * 2011-09-14 2019-02-28 Samsung Electronics Co., Ltd., Postopek dekodiranja enote za napovedovanje (PU) na podlagi njene velikosti
US9185404B2 (en) 2011-10-07 2015-11-10 Qualcomm Incorporated Performing transform dependent de-blocking filtering
GB2551086B (en) 2011-10-17 2018-09-19 Kt Corp Method and apparatus for encoding/decoding image
RU2646308C1 (ru) * 2011-10-17 2018-03-02 Кт Корпорейшен Способ декодирования видеосигнала
US9807403B2 (en) 2011-10-21 2017-10-31 Qualcomm Incorporated Adaptive loop filtering for chroma components
GB201119206D0 (en) 2011-11-07 2011-12-21 Canon Kk Method and device for providing compensation offsets for a set of reconstructed samples of an image
FR2982446A1 (fr) 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR2982447A1 (fr) * 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
WO2013077713A1 (ko) * 2011-11-27 2013-05-30 엘지전자 주식회사 변환 계수 재정렬 방법 및 이를 이용하는 장치
CN103200400B (zh) 2012-01-09 2018-03-16 中兴通讯股份有限公司 一种图像层和分片层的编解码方法、编解码器和电子设备
KR20130098122A (ko) 2012-02-27 2013-09-04 세종대학교산학협력단 영상 부호화/복호화 장치 및 영상을 부호화/복호화하는 방법
WO2013129822A1 (ko) 2012-02-27 2013-09-06 세종대학교산학협력단 영상 부호화와 복호화 장치 및 영상을 부호화와 복호화하는 방법
US9621921B2 (en) * 2012-04-16 2017-04-11 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
KR20130116754A (ko) * 2012-04-16 2013-10-24 주식회사 팬택 엔트로피 부복호화 방법 및 이러한 방법을 사용하는 장치
WO2014163461A1 (ko) * 2013-04-05 2014-10-09 삼성전자 주식회사 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
US9877048B2 (en) * 2014-06-09 2018-01-23 Qualcomm Incorporated Entropy coding techniques for display stream compression (DSC)
CN107005710B (zh) * 2014-10-07 2020-03-31 三星电子株式会社 多视点图像编码/解码方法和装置
US20160127731A1 (en) * 2014-11-03 2016-05-05 National Chung Cheng University Macroblock skip mode judgement method for encoder
US10715818B2 (en) * 2016-08-04 2020-07-14 Intel Corporation Techniques for hardware video encoding
KR20180040827A (ko) * 2016-10-13 2018-04-23 디지털인사이트 주식회사 부호화 유닛의 그룹을 사용하는 비디오 코딩 방법 및 장치
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US10735754B2 (en) 2017-04-26 2020-08-04 Google Llc Chromatic aberration modeling in image compression and enhancement
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
CN117640949A (zh) 2018-05-23 2024-03-01 松下电器(美国)知识产权公司 解码装置和编码装置
WO2020262901A1 (ko) 2019-06-24 2020-12-30 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
EP4391540A1 (en) * 2021-08-18 2024-06-26 LG Electronics Inc. Method and apparatus for feature encoding/decoding on basis of correlation between channels, and recording medium having bitstream stored therein

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030063809A1 (en) 1998-03-20 2003-04-03 James Philip Andrew Method and apparatus for hierarchical encoding and decoding an image
US20060009884A1 (en) 2004-07-06 2006-01-12 Nissan Motor Co., Ltd. Hybrid vehicle control system

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100196838B1 (ko) * 1995-12-23 1999-06-15 전주범 블럭벌 상관 관계에 의한 부호화 장치
US6633611B2 (en) * 1997-04-24 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for region-based moving image encoding and decoding
EP1075759A4 (en) 1998-04-29 2009-01-28 Sensormatic Electronics Corp COMPRESSING VIDEO DATA IN AN INFORMATION SYSTEM
US6522694B1 (en) * 1998-10-09 2003-02-18 Matsushita Electric Industrial Co., Ltd. Programmable filter for removing stuffing bits from an MPEG-2 bit-stream
WO2001015459A1 (en) * 1999-08-24 2001-03-01 Fujitsu Limited Time-varying image processor, its method, and recorded medium
CN1213611C (zh) * 2000-04-04 2005-08-03 皇家菲利浦电子有限公司 利用小波变换的视频编码方法
US6870963B2 (en) * 2001-06-15 2005-03-22 Qualcomm, Inc. Configurable pattern optimizer
JP2003319394A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
JP2003319391A (ja) 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
US7302006B2 (en) * 2002-04-30 2007-11-27 Hewlett-Packard Development Company, L.P. Compression of images and image sequences through adaptive partitioning
CA2513537C (en) 2003-02-21 2013-03-26 Matsushita Electric Industrial Co. Ltd. Picture coding method and picture decoding method
KR100510137B1 (ko) * 2003-04-30 2005-08-26 삼성전자주식회사 고속 움직임 추정을 위한 참조 픽쳐 및 블록 모드 결정방법, 그 장치, 블록 모드 결정 방법 및 그 장치
US7362810B2 (en) * 2003-05-13 2008-04-22 Sigmatel, Inc. Post-filter for deblocking and deringing of video data
US7852919B2 (en) * 2003-09-07 2010-12-14 Microsoft Corporation Field start code for entry point frames with predicted first field
KR101014660B1 (ko) * 2003-10-24 2011-02-16 삼성전자주식회사 인트라 예측 방법 및 장치
US7400681B2 (en) * 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
CN1973546B (zh) 2004-03-09 2010-05-12 汤姆森研究基金公司 用于高级视频编码的降低分辨率更新模式
US8116374B2 (en) * 2004-05-07 2012-02-14 Broadcom Corporation Method and system for generating a transform size syntax element for video decoding
FR2872974A1 (fr) * 2004-07-06 2006-01-13 Thomson Licensing Sa Procede ou dispositif de codage adaptatif
JP2006054846A (ja) 2004-07-12 2006-02-23 Sony Corp 符号化方法、符号化装置、復号方法、復号装置およびそれらのプログラム
US8948266B2 (en) * 2004-10-12 2015-02-03 Qualcomm Incorporated Adaptive intra-refresh for digital video encoding
KR100647294B1 (ko) * 2004-11-09 2006-11-23 삼성전자주식회사 화상 데이터 부호화 및 복호화 방법 및 장치
KR101215614B1 (ko) * 2005-09-09 2012-12-26 삼성전자주식회사 영상의 부호화 및 복호화 장치와, 그 방법, 및 이를수행하기 위한 프로그램이 기록된 기록 매체
US8107748B2 (en) * 2005-09-16 2012-01-31 Sony Corporation Adaptive motion search range
BRPI0706407B1 (pt) * 2006-01-09 2019-09-03 Interdigital Madison Patent Holdings método e aparelho para fornecer modo de atualização de resolução reduzida para codificação de vídeo de múltiplas visualizações e mídia de armazenamento tendo dados codificados de sinal de vídeo
US8213495B2 (en) * 2006-02-06 2012-07-03 Panasonic Corporation Picture decoding method and picture decoding apparatus
JP2007243427A (ja) * 2006-03-07 2007-09-20 Nippon Hoso Kyokai <Nhk> 符号化装置及び復号化装置
KR100736104B1 (ko) * 2006-04-06 2007-07-06 삼성전자주식회사 독립적 파싱을 지원하는 비디오 코딩 방법 및 장치
JP2007336468A (ja) * 2006-06-19 2007-12-27 Sharp Corp 再符号化装置、再符号化方法およびプログラム
JP4250638B2 (ja) * 2006-06-30 2009-04-08 株式会社東芝 動画像符号化装置及びその方法
EP2055108B1 (en) * 2006-08-25 2011-04-20 Thomson Licensing Methods and apparatus for reduced resolution partitioning
JP2008092137A (ja) * 2006-09-29 2008-04-17 Toshiba Corp 画像符号化装置及び画像符号化方法
US7545293B2 (en) * 2006-11-14 2009-06-09 Qualcomm Incorporated Memory efficient coding of variable length codes
US8488668B2 (en) * 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US8483282B2 (en) * 2007-10-12 2013-07-09 Qualcomm, Incorporated Entropy coding of interleaved sub-blocks of a video block

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030063809A1 (en) 1998-03-20 2003-04-03 James Philip Andrew Method and apparatus for hierarchical encoding and decoding an image
US20060009884A1 (en) 2004-07-06 2006-01-12 Nissan Motor Co., Ltd. Hybrid vehicle control system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
S. Naito et al, "Efficient coding scheme for super high definition video based on extending H.264 high profile". International Society for Optical Engineering, US, vol.6077 no.67727, 2006.1.18, pages

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018160034A1 (ko) * 2017-03-03 2018-09-07 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
US10951916B2 (en) 2017-03-03 2021-03-16 Sk Telecom Co., Ltd. Apparatus and method for video encoding or decoding

Also Published As

Publication number Publication date
JP2015035825A (ja) 2015-02-19
KR20090129939A (ko) 2009-12-17
AU2014210684B2 (en) 2016-03-03
WO2009151232A3 (ko) 2010-03-04
CN102124739A (zh) 2011-07-13
US20150146796A1 (en) 2015-05-28
EP2953368A1 (en) 2015-12-09
AU2014210591A1 (en) 2014-08-28
AU2009258401A1 (en) 2009-12-17
WO2009151232A2 (ko) 2009-12-17
EP2293567A2 (en) 2011-03-09
JP2016165148A (ja) 2016-09-08
JP5670885B2 (ja) 2015-02-18
US9924174B2 (en) 2018-03-20
CN104093019B (zh) 2018-09-28
KR20090129926A (ko) 2009-12-17
AU2014210684A1 (en) 2014-09-04
EP2293567A4 (en) 2014-10-01
CN104093019A (zh) 2014-10-08
JP2011523321A (ja) 2011-08-04
CN102124739B (zh) 2014-08-13
AU2014210591B2 (en) 2016-03-03
US20110090967A1 (en) 2011-04-21
JP6336513B2 (ja) 2018-06-06

Similar Documents

Publication Publication Date Title
KR101599879B1 (ko) 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
US9955180B2 (en) Apparatus for encoding moving picture
KR101612217B1 (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법 및 기록 매체
RU2576499C2 (ru) Способ получения блока-кандидата на слияние и использующее его устройство
KR20140062704A (ko) 영상 복호화 장치
US11856197B2 (en) Image encoding/decoding method and apparatus, and recording medium storing bitstream
EP3965419A1 (en) Image encoding/decoding method and device, and recording medium storing bitstream
KR20210042841A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN118301348A (en) Image encoding/decoding method and apparatus, and recording medium storing bit stream
CN118301347A (en) Image encoding/decoding method and apparatus, and recording medium storing bit stream
CN118301346A (en) Image encoding/decoding method and apparatus, and recording medium storing bit stream
CN116647676A (zh) 基于屏幕内容区域特性的cu划分快速选择

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
FPAY Annual fee payment

Payment date: 20190130

Year of fee payment: 4