KR20150045819A - 움직임 보상을 수행하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 - Google Patents

움직임 보상을 수행하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 Download PDF

Info

Publication number
KR20150045819A
KR20150045819A KR20130125547A KR20130125547A KR20150045819A KR 20150045819 A KR20150045819 A KR 20150045819A KR 20130125547 A KR20130125547 A KR 20130125547A KR 20130125547 A KR20130125547 A KR 20130125547A KR 20150045819 A KR20150045819 A KR 20150045819A
Authority
KR
South Korea
Prior art keywords
prediction block
pixel
pixels
offset
unit
Prior art date
Application number
KR20130125547A
Other languages
English (en)
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 KR20130125547A priority Critical patent/KR20150045819A/ko
Priority to DE201410115013 priority patent/DE102014115013A1/de
Priority to US14/515,905 priority patent/US20150110191A1/en
Priority to CN201410563298.7A priority patent/CN104581179A/zh
Publication of KR20150045819A publication Critical patent/KR20150045819A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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
    • 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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy

Landscapes

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

Abstract

움직임 보상을 수행하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치가 개시된다. 본 발명의 일 실시예에 따른 비디오 부호화 방법은, 예측 블록에 포함되는 픽셀들의 특성을 검출하는 단계와, 상기 검출 결과에 따라, 상기 예측 블록을 적어도 두 개의 영역으로 분류하는 단계와, 상기 분류 결과에 따라, 각각의 영역에 대한 오프셋 값을 산출하는 단계 및 상기 예측 블록의 픽셀 값에 상기 영역 별로 산출된 오프셋 값을 적용하여 오프셋 예측 블록을 생성하는 단계를 구비하는 것을 특징으로 한다.

Description

움직임 보상을 수행하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치{Method and apparatus for video encoding conducting motion compensation, method and apparatus for video decoding conducting motion compensation}
본 발명은 비디오 부호화 방법 및 그 장치 그리고 비디오 복호화 방법 및 그 장치에 관한 것으로서, 자세하게는 압축 효율을 향상하기 위한 비디오 부호화 방법 및 그 장치 그리고 비디오 복호화 방법 및 그 장치에 관한 것이다.
고해상도 또는 고화질 비디오 컨텐츠를 재생, 저장할 수 있는 하드웨어의 개발 및 보급에 따라, 고해상도 또는 고화질의 비디오 컨텐츠를 효과적으로 부호화하거나 복호화하는 비디오 코덱의 필요성이 증대하고 있다. 기존의 비디오 코덱에 따르면, 비디오는 소정 크기의 매크로블록에 기반하여 제한된 부호화 방식에 따라 부호화되고 있다.
주파수 변환을 이용하여 공간 영역의 영상 데이터는 주파수 영역의 계수들로 변환된다. 비디오 코덱은, 주파수 변환의 빠른 연산을 위해 영상을 소정 크기의 블록들로 분할하고, 블록마다 DCT 변환을 수행하여, 블록 단위의 주파수 계수들을 부호화한다. 공간 영역의 영상 데이터에 비해 주파수 영역의 계수들이, 압축하기 쉬운 타입을 가진다. 특히 비디오 코덱의 인터 예측 또는 인트라 예측을 통해 공간 영역의 영상 화소값은 예측 오차로 표현될 수 있으며, 예측 오차를 최소화하여 압축 효율을 향상시킬 필요가 있다.
본 발명의 기술적 사상은, 움직임 추정 및 보상 동작을 통해 부호화되는 비디오의 압축 효율을 향상하기 위한 비디오 부호화 방법 및 그 장치, 그리고 비디오 복호화 방법 및 그 장치를 제안한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 비디오 부호화 방법은, 예측 블록에 포함되는 픽셀들의 특성을 검출하는 단계와, 상기 검출 결과에 따라, 상기 예측 블록을 적어도 두 개의 영역으로 분류하는 단계와, 상기 분류 결과에 따라, 각각의 영역에 대한 오프셋 값을 산출하는 단계 및 상기 예측 블록의 픽셀 값에 상기 영역 별로 산출된 오프셋 값을 적용하여 오프셋 예측 블록을 생성하는 단계를 구비하는 것을 특징으로 한다.
바람직하게는, 상기 비디오 부호화 방법은, 정수 픽셀 위치 이외의 서브 픽셀 위치의 예측 블록을 생성하기 위하여, 상기 정수 픽셀 값에 대한 보간 필터링 동작을 수행하는 단계를 더 구비하는 것을 특징으로 한다.
또한 바람직하게는, 상기 픽셀들의 특성을 검출하는 단계는, 상기 예측 블록에 포함되는 픽셀들 각각의 휘도 및 에지 특성 중 적어도 하나는 검출하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 예측 블록을 적어도 두 개의 영역으로 분류하는 단계는, 상기 예측 블록에 포함되는 픽셀들 각각의 특성에 따라 각각의 픽셀이 속하는 클래스를 분류하는 단계 및 상기 분류 결과에 따라 동일 또는 유사한 클래스에 속하는 픽셀들을 동일 영역으로 설정하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 예측 블록은 제1 영역에 속하는 제1 픽셀 및 제2 영역에 속하는 제2 픽셀을 포함하고, 상기 오프셋 예측 블록을 생성하는 단계는, 상기 제1 픽셀을 제1 오프셋 값과 합산하고, 상기 제2 픽셀을 제2 오프셋 값과 합산하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 예측 블록은 제1 내지 제n 영역을 포함하고(단, n은 2 이상의 정수), 상기 오프셋 값을 산출하는 단계는, 상기 제1 내지 제n 영역 각각에 대응하는 제1 내지 제n 오프셋 값을 산출하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 제1 내지 제n 영역에 포함되는 픽셀들 각각에 대해, 해당 영역에 대응하는 오프셋 값을 합산함으로써 상기 오프셋 예측 블록을 생성하며, 원본 영상의 픽셀 값과 상기 오프셋 예측 블록의 픽셀 값의 차분 값을 산출하는 단계 및 상기 차분 값 산출 결과를 이용하여 변환 동작을 수행하는 단계를 더 구비하는 것을 특징으로 한다.
또한 바람직하게는, 비디오 부호화 방법은, 상기 예측 블록을 생성하기 위하여, 현재 프레임과 참조 프레임을 이용하여 움직임 추정을 수행하는 단계를 더 구비하는 것을 특징으로 한다.
한편, 본 발명의 일 실시예에 따른 비디오 복호화 방법은, 비트스트림에 포함된 다수 개의 오프셋 값들을 파싱하는 단계와, 움직임 벡터에 기반하여 원본 블록에 대응하는 예측 블록을 생성하는 단계와, 상기 예측 블록에 포함되는 픽셀들의 특성에 따라 상기 예측 블록을 다수 개의 영역으로 분류하는 단계 및 서로 다른 영역에 속하는 픽셀들에 대해 서로 다른 오프셋 값을 적용하여 상기 원본 블록을 복원하는 단계를 구비하는 것을 특징으로 한다.
한편, 본 발명의 일 실시예에 따른 비디오 복호화 장치는, 비트스트림을 수신하여 복호화 동작을 수행하고, 상기 비디오 복호화 장치는 움직임 보상부를 구비하고, 상기 움직임 보상부는, 상기 비트스트림에 포함된 움직임 벡터에 기반하여 예측 블록을 생성하는 예측블록 생성부와, 상기 예측 블록에 포함되는 픽셀들의 특성에 따라 상기 예측 블록을 다수 개의 영역으로 분류하는 클래스 분류부 및 상기 비트스트림에 포함된 다수 개의 오프셋 값과 상기 예측 블록의 픽셀들에 대한 연산 동작을 통해 움직임 보상 결과를 발생하는 연산부를 구비하는 것을 특징으로 한다.
한편, 본 발명의 일 실시예에 따른 움직임 보상 방법은, 움직임 벡터에 기반하여 원본 블록에 대응하는 예측 블록을 생성하는 단계와, 상기 예측 블록에 포함되는 픽셀들의 특성에 따라 상기 예측 블록을 다수 개의 영역으로 분류하는 단계 및 서로 다른 영역에 속하는 픽셀들에 대해 서로 다른 오프셋 값을 적용하여 상기 원본 블록을 복원하는 단계를 구비하는 것을 특징으로 한다.
본 발명의 실시예에 따른 비디오 부호화 방법 및 그 장치, 그리고 비디오 복호화 방법 및 그 장치는, 예측 블록을 픽셀 특성에 따라 다수 개의 영역으로 구분하고, 각각의 영역마다 서로 다른 오프셋 값을 설정함에 의하여, 원본 블록과 예측 블록의 오차를 최소화할 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 비디오 부호화 방법 및 그 장치, 그리고 비디오 복호화 방법 및 그 장치는, 움직임 추정 및 보상 동작을 통해 원본 블록과 예측 블록의 오차를 최소화할 수 있으므로, 인터 예측을 통한 부호화 동작시 압축 효율을 향상할 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 비디오 부호화 장치의 일 예를 나타내는 블록도이다.
도 2는 본 발명의 실시예에 따른 비디오 복호화 장치의 일 예를 나타내는 블록도이다.
도 3은 도 1의 부호화부의 일 구현예를 나타내는 블록도이다.
도 4는 본 발명의 다른 실시예에 따른 부호화부의 구현 예를 나타내는 블록도이다.
도 5는 도 4의 움직임 보상부의 일 구현예를 나타내는 블록도이다.
도 6a,b는 예측 블록의 픽셀들의 특성에 따른 오프셋 값을 산출하는 동작의 예를 나타내는 블록도이다.
도 7은 예측 블록을 구성하는 정수 픽셀들 및 서브 픽셀들의 일 예를 나타내는 도면이다.
도 8은 본 발명의 실시예에 따른 오프셋 값 산출 예를 나타내는 도면이다.
도 9a,b는 예측 블록에 대해 픽셀 특성에 따라 영역들이 설정되는 다양한 예를 나타내는 도면이다.
도 10은 에지 타입의 에지 클래스의 일예를 나타내며, 도 11a,b는 에지 타입의 카테고리들을 나타내는 도면이다.
도 12 및 도 13은 본 발명의 실시예들에 따른 데이터 부호화 방법의 일 예를 나타내는 플로우차트이다.
도 14는 본 발명의 일 실시예에 따른 복호화 장치에 포함되는 복호화부의 일 예를 나타내는 블록도이다.
도 15는 도 14의 움직임 보상부의 일 구현예를 나타내는 블록도이다.
도 16은 본 발명의 일 실시예에 따른 데이터 복호화 동작 방법을 나타내는 플로우차트이다.
도 17은 본 발명의 실시예에 따른 부호화 장치 및/또는 복호화 장치를 포함하는 어플리케이션 프로세서를 나타내는 블록도이다.
도 18은 컨텐츠 유통 서비스를 제공하기 위한 컨텐츠 공급 시스템의 전체적 구조를 나타내는 도면이다.
도 19는 본 발명의 일 실시예에 따른 비디오 부호화 장치가 장착된 이동 단말기의 일 예를 나타내는 도면이다.
이하에서는 본 발명의 바람직한 실시예가, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 철저한 이해를 제공할 의도 외에는 다른 의도 없이, 첨부한 도면들을 참조로 하여 상세히 설명될 것이다.
도 1은 본 발명의 실시예에 따른 비디오 부호화 장치의 일 예를 나타내는 블록도이다. 도 1에 도시된 바와 같이, 비디오 부호화 장치(100)는 프레임 버퍼(110), 부호화부(120) 및 전송부(130)를 포함할 수 있다. 또한, 부호화부(120)는 움직임 추정부 및 움직임 보상부를 포함할 수 있다.
비디오 영상에 관련된 정보가 프레임 버퍼(110)에 일시 저장될 수 있으며, 예컨대 프레임 단위의 비디오 영상이 프레임 버퍼(110)에 일시 저장될 수 있다. 프레임 버퍼(110)에 저장된 영상은 부호화부(120)로 제공되어 부호화 동작이 수행되며, 예컨대 인터 예측 방식에 따른 부호화 동작을 수행하기 위하여 움직임 추정 및 보상 기술이 적용될 수 있다. 이외에도, 상기 부호화부(120)는 인트라 예측, 주파수 변환 및 양자화 등을 거쳐 부호화된 영상 데이터를 생성할 수 있다. 전송부(130)는 부호화된 영상 데이터를 비트스트림으로서 외부로 전송한다.
움직임 추정(Motion Estimation(ME)) 기술은 MPEG 및 H.26x 등과 같은 비디오 압축 규정에 널리 적용되고 있다. 움직임 추정 기술은 동영상 내의 물체의 움직임이나 카메라의 이동과 확대 및 축소 등으로 인한 현재 영상과 이전 영상의 위치 변화를 나타내는 움직임 벡터(Motion Vector, MV)를 구하는 동작을 수행할 수 있다.
움직임 벡터(Motion Vector)를 구하기 위해서는, 움직임 추정을 화소 단위로 할 것인지 또는 블록 단위로 할 것인지가 결정될 수 있다. 예컨대, 동영상 압축과정에서는 주로 블록 단위의 움직임 추정이 사용될 수 있다. 블록 매칭 알고리즘(Block Matching Algorithm)은 현재 프레임과 이전 프레임의 움직임 벡터를 블록 단위로 추정하는 기법으로서, 이 때 사용되는 블록은 매크로 블록(Macroblock)으로 정의될 수 있다. 블록 매칭 알고리즘 방법에서는, 현재 프레임의 블록과 이전 프레임의 블록을 이전 프레임의 정해진 탐색 영역(Search Area) 내에서 비교한 후, 가장 유사한 블록의 위치를 찾아내는 동작이 수행될 수 있다. 상기와 같은 움직임 추정 동작을 통해 현재 프레임의 블록에 대응하는 예측 블록을 식별할 수 있다. .
이와 함께, 움직임 보상부는 움직임 벡터에 근거하여 예측 블록의 데이터(예컨대, 예측 데이터)를 생성하기 위한 움직임 보상 동작을 수행할 수 있다. 상기와 같은 움직임 추정 및 보상 동작은, 예측 오차를 최소화하기 위하여 정수 픽셀 이외에도 분수 픽셀(fractional pixel) 또는 서브 픽셀 단위(이하, 서브 픽셀로 지칭함)의 정밀도로 움직임 추정 및 보상 동작이 수행될 수 있다. 예컨대, 서브 픽셀 단위의 움직임 추정 동작의 경우, 움직임 추정부는 정수 픽셀 위치가 아닌 다른 위치에 대한 예측 블록을 식별하기 위한 움직임 벡터를 생성할 수 있다. 도 1에는 도시되지 않았으나, 상기와 같은 서브 픽셀 단위로 움직임 추정 및 보상 동작을 수행하기 위하여, 정수 픽셀들에 대한 보간 동작을 수행함에 의해 서브 픽셀 값을 산출하는 하나 이상의 보간 필터링부가 부호화부(120)에 더 구비될 수 있다.
이외에도, 부호화부(120)는 인터 예측을 수행하기 위하여 이전 프레임의 복원 영상을 생성하기 위한 수단들을 더 포함할 수 있다. 예컨대, 부호화부(120)는 부호화된 영상 데이터에 대한 역양자화 및 주파수 역변환, 인터 예측 및 움직임 보상, 인트라 예측 등을 거쳐 복호화된 영상 데이터를 생성할 수 있다. 즉, 부호화부(120)의 복원 영상을 생성하는 동작은 비디오 부호화 방식에 대한 역과정으로서 수행될 수 있다.
한편, 본 발명의 일실시예에 따른 부호화부(120)는, 예측 블록의 데이터와부호화하고자 하는 현재 프레임의 블록(이하, 현재 블록으로 지칭함)의 데이터 차이를 최소화하여 압축 효율을 향상하기 위하여, 움직임 추정 및 보상 동작을 수행함에 있어서 예측 블록에 대한 오프셋 값을 산출 및 부여할 수 있다. 일예로서, 예측 블록에 포함되는 픽셀들 각각의 특성(Properties)에 따라 예측 블록을 두 개 이상의 영역으로 분류하고, 각각의 영역마다 서로 다른 오프셋 값을 부여한다. 예컨대, 각 픽셀의 특성에 따라 예측 블록 내의 픽셀들 각각의 클래스가 검출되며, 이에 따라 해당 예측 블록이 적어도 두 개의 영역으로 나뉘어지고, 각각의 영역마다 서로 다른 값의 오프셋 값이 산출될 수 있다. 예측 블록에 관련된 예측 데이터를 생성함에 있어서, 예측 블록의 각각의 픽셀은 해당 픽셀이 속하는 영역에 부여된 오프셋 값과 합산되며, 오프셋 값이 합산된 데이터(예컨대, 오프셋 예측 데이터)가 움직임 보상 결과로서 생성된다. 상기 오프셋 예측 데이터를 산출하는 과정은, 움직임 벡터에 대응하는 예측 블록에 대한 오프셋 보상을 적용하는 과정으로 설명될 수 있다.
도 2는 본 발명의 실시예에 따른 비디오 복호화 장치의 일 예를 나타내는 블록도이다. 도 2에 도시된 바와 같이, 비디오 복호화 장치(200)는 수신부(210), 복호화부(220) 및 프레임 버퍼(230)를 포함할 수 있다. 수신부(210)는 비디오 부호화 장치로부터 제공된 비트스트림을 수신하고 이를 복호화부(220)로 제공할 수 있다. 또한, 복호화부(220)에 의해 복원된 영상은 프레임 버퍼(230)에 일시 저장되고, 영상 정보가 프레임 버퍼(230)로부터 출력되어 해당 영상이 디스플레이될 수 있다.
복호화부(220)는 부호화된 영상에 대한 비트스트림을 수신하고 파싱하여, 비트스트림으로부터 부호화된 영상 데이터 및 오프셋 값에 관련된 정보를 추출한다. 오프셋 값에 관련된 정보는 부호화 장치에서 생성되어 부호화되어 제공될 수 있으며, 예컨대 전술한 실시예에서와 같이 예측 블록에 대해 산출된 두 개 이상의 오프셋 값이 비트스트림에 포함될 수 있다. 또한, 예측 블록은 각각의 픽셀의 특성에 따라 두 개 이상의 영역으로 구분될 수 있으며, 각각의 영역에 따라 서로 다른 오프셋 값이 비트스트림에 포함될 수 있다.
이와 함께, 복호화부(220)는 부호화된 영상 데이터를 복호화하는데 필요한, 부호화 방식 및 부호화 모드 등의 부호화 정보를 추출할 수도 있다. 일 실시예에 따라, 복호화부(220)는 비트스트림에 적응적 루프 필터링을 위한 필터 계수에 관한 정보가 삽입되어 있는 경우, 비트스트림으로부터 필터 계수에 대한 정보를 추출할 수도 있다. 복호화부(220)는 부호화된 영상 데이터, 부호화 정보, 루프 필터 계수에 관한 정보 등을 이용하여 부호화된 영상 데이터를 복호화하고 루프 필터링을 수행하여 복원 영상을 생성할 수 있다. 부호화된 영상 데이터의 복호화는, 부호화된 영상 데이터가 따른 비디오 부호화 방식에 대한 역과정으로서 수행될 수 있다.
복호화부(220)는 인터 추정 및 움직임 보상을 수행하여 비디오 데이터를 복원하기 위한 움직임 보상부를 포함할 수 있다. 움직임 보상부는 비트스트림에 포함된 움직임 벡터, 현재 블록과 예측 블록과의 차분 값에 대응하는 잔류(Residue) 데이터 및 일 실시예에 따른 오프셋 값들을 이용하여 원본 영상을 복원할 수 있다. 예컨대, 움직임 벡터를 통해 예측 블록을 선택하고, 예측 블록과 잔류(Residue) 데이터를 연산함에 의하여 예측 블록에 대응하는 예측 데이터를 생성할 수 있다. 또한, 예측 블록에 대해 설정된 두 개 이상의 영역들에 대하여, 각 영역별로 산출된 오프셋 값을 상기 예측 데이터에 영역 별로 합산 동작을 수행함으로써 원본 영상을 복원할 수 있다. 복원된 원본 영상은 프레임 버퍼(230)를 통해 복호화 장치(200) 내부에서 이용될 수 있다.
도 3은 도 1의 부호화부의 일 구현예를 나타내는 블록도이다. 도 1에 도시된 바와 같이, 부호화부(120)는 현재 프레임을 부호화하기 위한 각종 기능블록들을 포함할 수 있다. 현재 프레임은 부호화 및 복호화 단위로서 다수 개의 블록들을 포함할 수 있다.
부호화부(120)는 인트라 예측부(310), 움직임 추정부(320) 및 움직임 보상부(325)를 포함할 수 있다. 인트라 예측부(310)는 현재 프레임 중 인트라 모드의 부호화 단위에 대해 인트라 예측을 수행한다. 또한, 움직임 추정부(320) 및 움직임 보상부(325)는 인터 모드의 현재 프레임 및 참조 프레임을 이용하여 움직임 추정 및 움직임 보상을 수행한다.
인트라 예측부(310), 움직임 추정부(320) 및 움직임 보상부(325)로부터 출력된 데이터는 변환부(330) 및 양자화부(340)를 거쳐 양자화된 변환 계수로 출력된다. 양자화된 변환 계수는 역양자화부(360), 역변환부(370)을 통해 공간 영역의 데이터로 복원되고, 복원된 공간 영역의 데이터는 디블로킹부(380)를 거쳐 후처리되어 참조 프레임으로 출력될 수 있다. 또한 양자화된 변환 계수는 엔트로피 부호화부(350)를 거쳐 비트스트림으로서 출력될 수 있다.
움직임 추정부(320) 및/또는 움직임 보상부(325)는 본 발명의 실시예에 따른 예측 블록의 영역별 오프셋 값을 산출할 수 있으며, 이에 따라 원본 영상과 오프셋 값이 반영된 예측 블록의 화소 값 차이를 최소화함으로써 압축 효율을 향상할 수 있다. 또한, 인터 예측의 정밀도를 향상하기 위하여, 정수 픽셀 위치의 예측 블록 이외에도 서브 픽셀 위치의 예측 블록이 생성될 수 있다. 이를 위하여, 보간 필터링을 수행하는 하나 이상의 필터들(미도시)이 부호화부(120)에 더 구비될 수 있다. 또는, 하나 이상의 필터들(미도시)은 움직임 추정부(320)나 움직임 보상부(325) 내에 구비되어 보간 동작을 수행할 수 있다.
또한, 전술한 실시예에서와 같이, 예측 블록은 각각의 픽셀의 특성(예컨대, 휘도, 에지 등의 특성)에 따라 두 개 이상의 영역들로 분류될 수 있다. 오프셋 값은 상기 영역마다 서로 다른 값으로 산출될 수 있다. 부호화부(120)로부터 출력되는 비트스트림은, 움직임 벡터에 관련된 정보, 예측 블록의 영역별 오프셋 값을 적용할 것인지를 나타내는 정보, 예측 블록의 영역 분류에 이용된 특성의 타입(예컨대, 휘도 또는 에지 등)에 관련된 정보, 그리고 영역 별로 산출된 오프셋 값을 포함할 수 있다.
전술한 인터 예측 동작을 보다 구체화하기 위한 부호화부의 구성을 도 4를 참조하여 설명하면 다음과 같다. 도 4는 본 발명의 다른 실시예에 따른 부호화부의 구현 예를 나타내는 블록도이다.
도 4에 도시된 바와 같이, 부호화부(400)는 메모리부(410), 보간 필터링부(420) 및 예측 유닛(430)을 포함할 수 있다. 예측 유닛(430)은 움직임 추정 및 보상 동작을 통해 인터 예측 동작을 수행하는 단위로서 정의될 수 있다. 이에 따라, 예측 유닛(430)은 움직임 추정부(431) 및 움직임 보상부(432)를 포함할 수 있다.
메모리부(410)는 인터 예측에 이용되는 참조 프레임을 일시 저장할 수 있다. 또한, 보간 필터링부(420)는 참조 프레임으로부터 다수의 픽셀 값들에 대한 보간 연산을 통해 보간 필터링을 수행할 수 있으며, 이에 따라 정수 픽셀들을 포함하는 예측 블록(예컨대, 정수 예측 블록)이나 서브 픽셀들(예컨대, 1/2, 1/4, 1/8 픽셀 등)에 해당하는 서브 픽셀들을 포함하는 예측 블록(예컨대, 서브 예측 블록) 예측 유닛(430)으로 제공할 수 있다. 예측 유닛(430)은 움직임 추정 동작을 통해 부호화될 현재 프레임의 블록과 예측 블록(예컨대, 정수 예측 블록 또는 서브 예측 블록)의 상대적인 위치를 나타내는 움직임 벡터를 생성할 수 있다.
정수 픽셀들 및 서브 픽셀들을 포함하는 예측 블록과 관련하여 도 7을 참조하여 설명하면 다음과 같다.
도 7은 예측 블록을 구성하는 정수 픽셀들 및 서브 픽셀들의 일 예를 나타내는 도면이다. 참조 프레임은 다수의 정수 픽셀들을 포함할 수 있으며, 참조 프레임으로부터 예측 블록을 생성함에 있어서 정수 픽셀들을 포함하는 예측 블록이 생성될 수 있으며, 또는 정수 픽셀들 사이에 위치하는 것으로 대응될 수 있는 서브 픽셀들을 포함하는 예측 블록이 생성될 수 있다. 도 7의 큰 블록으로 나타낸 도면에서, 대문자 A(A-1,-1~ A1,1)로 표시된 픽셀은 정수 픽셀들을 나타내며, 도 7의 작은 블록으로 나타낸 소문자 a(a0 ,0~ a3 ,3)로 표시된 픽셀은 상기 정수 픽셀들에 대한 보간 동작을 통해 생성될 수 있는 서브 픽셀들을 나타낸다.
서브 픽셀들은 다음의 수학식 1에 해당하는 연산 동작을 통해 정수 픽셀들로부터 생성될 수 있다. 인터 예측을 통한 부호화 단위가 4*4 픽셀들을 포함하는 블록 단위로 수행되는 경우, 4*4 서브 픽셀들을 포함하는 서브 예측 블록이 수학식 1로부터 생성될 수 있다. 각각의 서브 픽셀의 값(Prdi)은 다수의 정수 픽셀의 값(Prdj) 및 각각의 정수 픽셀에 부여되는 가중치(Wj)를 곱한 값들을 합산한 값에 대응할 수 있다. 예컨대, 어느 하나의 서브 픽셀(예컨대, a0 ,0)의 값을 산출하기 위하여, 상기 서브 픽셀(a0 ,0)에 인접하는 다수 개의 정수 픽셀들의 값이 이용될 수 있으며, 또한 상기 정수 픽셀들 각각에 대응하여 서로 다른 값의 가중치가 부여될 수 있다. 다음의 수학식 2는 정수 픽셀에 가중치를 부여함에 의해 서브 픽셀을 산출하는 일 예를 나타내는 수식이다.
Figure pat00001
Figure pat00002
다시 도 4를 참조하면, 움직임 추정부(431)는 부호화될 현재 프레임의 블록에 대응하는 참조 프레임의 정수 예측 블록 또는 서브 예측 블록을 나타내는 움직임 벡터(MV)를 생성하며, 움직임 보상부(432)는 생성된 움직임 벡터에 근거하여 예측 데이터(Data_pred)를 생성한다. 예측 데이터(Data_pred)는 원본 블록과 예측 블록의 픽셀들간의 차이가 최소화될 수 있는 예측 블록의 픽셀들의 값에 해당할 수 있다. 전술한 바와 같이, 정수 예측 블록 뿐 아니라 서브 예측 블록으로부터 움직임 추정이 수행되므로, 원본 블록과 보다 유사한 예측 블록을 가리키는 움직임 벡터가 수행되고, 또한 이에 대응하는 예측 데이터(Data_pred)가 생성될 수 있다.
이와 함께, 예측 블록에 대한 픽셀 특성을 고려하여 각 픽셀들에 대한 클래스 분류 동작이 수행될 수 있으며, 상기 분류 동작에 근거하여 예측 블록은 두 개 이상의 영역들로 분류될 수 있다. 그리고, 각각의 영역들에 대하여 서로 다른 값의 오프셋(예컨대, 샘플 적응 오프셋, Sample Adaptive Offset) 값이 산출될 수 있다. 전술한 실시예에서와 같이, 오프셋(Offset) 값이 부호화되어 출력될 수 있으며, 상기 분류 동작에 관련된 정보(SAO Type, 예컨대 분류의 기준이 된 픽셀들의 특성 정보)와 함께 적응적 오프셋을 적용할 지를 나타내는 정보(SAO On/Off)가 함께 부호화되어 출력될 수 있다.
도 5는 도 4의 움직임 보상부의 일 구현예를 나타내는 블록도이다. 도 5에서는 본 발명의 실시예에 따른 오프셋 산출 및 이에 따른 예측 데이터 생성 예가 설명된다.
도 5에 도시된 바와 같이, 움직임 보상부(432)는 예측 블록 검출부(4310), 오프셋 타입 결정부(4320), 픽셀 클래스 분류부(4330), 오프셋 산출부(4340) 및 예측 데이터 생성부(4350)를 포함할 수 있다.
예측 블록 검출부(4310)는 움직임 추정 동작을 통해 산출된 움직임 벡터(MV)에 근거하여 참조 프레임으로부터 예측 블록을 검출한다. 검출된 예측 블록(또는, 예측 블록의 픽셀 값)은 오프셋 타입 결정부(4320)를 통해 픽셀 클래스 분류부(4330)로 제공될 수 있다. 오프셋 타입 결정부(4320)는 기 설정된 정보에 따라 픽셀의 특성을 분류할 기준을 제공할 수 있다. 또는, 일 실시예로서 오프셋 타입 결정부(4320)는 수신되는 예측 블록의 픽셀 값으로부터 해당 블록의 픽셀의 특성을 분류할 기준을 결정하고, 이에 따른 정보를 제공할 수 있다.
픽셀 클래스 분류부(4330)는 픽셀 특성에 따라 예측 블록을 다수 개의 영역들로 분류할 수 있다. 영역 분류 동작은 픽셀의 클래스를 분류하는 동작으로 설명될 수 있다. 예컨대, 픽셀 값을 참조하여 각각의 픽셀의 휘도 값이나 에지 특성을 판단할 수 있으며, 판단 결과에 따라 각각의 픽셀을 다수의 클래스들 중 어느 하나의 클래스로 분류할 수 있다. 각각의 픽셀이 속하는 클래스에 따라 동일한 클래스를 갖는 픽셀들끼리 하나의 영역을 구성할 수 있다. 또는 일 실시예로서, 유사한 클래스로 분류되는 픽셀들을 하나의 영역으로 설정할 수도 있다.
오프셋 산출부(4340)는 상기 픽셀 클래스 분류 결과에 따라 오프셋 값(Offset)을 산출한다. 예컨대, 예측 블록이 3 개의 영역을 포함하는 경우, 각각의 영역에 대해 제1 내지 제3 오프셋 값들을 산출할 수 있다. 예컨대, 예측 블록 내에서 상대적으로 낮은 휘도를 갖는 픽셀들에 대해서는 상대적으로 높은 값의 오프셋 값이 산출될 수 있으며, 반대로 예측 블록 내에서 상대적으로 높은 휘도를 갖는 픽셀들에 대해서는 상대적으로 낮은 값의 오프셋 값이 산출될 수 있다. 오프셋 산출 동작과 함께, 예측 데이터 생성부(4350)는 검출된 예측 블록 내의 픽셀 값들에 관련된 예측 데이터(Data_pred)를 생성하고 이를 출력할 수 있다. 예측 데이터 생성부(4350)가 예측 데이터(Data_pred)를 생성함에 있어서, 각각의 픽셀 값에 각 픽셀에 대응하여 설정된 오프셋 값을 합산함으로써 오프셋 보상된 예측 데이터(예컨대, 오프셋 예측 데이터)를 생성할 수 있다.
데이터 부호화 과정을 통하여, 오프셋 값이 적용된 오프셋 예측 데이터와 원본 블록의 데이터 값에 대한 차분 값이 산출되고, 상기 산출된 차분 값에 따른 부호화 결과가 비트스트림에 포함되어 복호화 장치로 제공될 수 있다. 상기 실시예에 따르면, 각 픽셀의 특성에 따라 예측 블록에 두 개 이상의 오프셋 값이 산출되고, 오프셋 보정된 예측 데이터와 원본 블록의 픽셀 값에 대한 차분 값에 따라 부호화 동작이 수행되므로 압축 성능을 향상할 수 있다.
도 6a,b는 예측 블록의 픽셀들의 특성에 따른 오프셋 값을 산출하는 동작의 예를 나타내는 블록도이다. 도 6a에서는 예측 블록의 픽셀의 휘도에 따라 다수의 영역들이 분류되고, 도 6b에서는 예측 블록의 에지 특성에 따라 다수의 영역들이 분류되는 예가 도시된다.
도 6a에 도시된 바와 같이, 움직임 보상부(432)는 오프셋 타입 결정 수단으로서 휘도 산출부(4321)를 포함할 수 있으며, 또한 픽셀 클래스 분류 수단으로서 휘도 단계 검출부(4331)를 포함할 수 있다. 또한, 움직임 보상부(432)는 검출된 휘도 단계에 따라 예측 블록에 대한 두 개 이상의 오프셋 값을 산출하기 위한 오프셋 산출부(4341)를 더 포함할 수 있다.
휘도 산출부(4321)는 예측 블록(Block_pred)에 포함되는 픽셀들에 대한 휘도를 산출한 결과를 참조하여, 해당 예측 블록(Block_pred)에 대한 픽셀별 휘도 특성에 따른 영역 분류 동작을 수행할 지를 나타내는 정보를 출력할 수 있다. 한편, 휘도 단계 검출부(4331)는 각각의 픽셀 값을 참조하여 해당 픽셀의 휘도를 검출할 수 있으며, 예컨대 다수의 범위들로 구분되는 단계들 중 해당 픽셀이 속하는 휘도의 단계를 검출하여 이에 관련된 정보를 출력할 수 있다. 상기 휘도의 단계에 따라, 픽셀들 각각은 다수의 클래스 중 어느 하나의 클래스로 분류될 수 있다. 오프셋 산출부(4341)는 각각의 픽셀이 속하는 클래스에 따라 상기 픽셀에 대응하는 오프셋 값을 산출할 수 있으며, 이에 따라 하나의 예측 블록 내에 포함되는 다수의 영역들에 대하여 서로 다른 적어도 두 개의 오프셋 값들이 산출될 수 있다.
한편, 도 6b에 도시된 바와 같이, 움직임 보상부(432)는 오프셋 타입 결정 수단으로서 에지 타입 결정부(4322)를 포함할 수 있으며, 또한 픽셀 클래스 분류 수단으로서 에지 카테고리 검출부(4332)를 포함할 수 있다. 또한, 움직임 보상부(432)는 검출된 에지 카테고리에 따라 예측 블록에 대한 두 개 이상의 오프셋 값을 산출하기 위한 오프셋 산출부(4342)를 더 포함할 수 있다.
에지 타입 결정부(4322)는 예측 블록(Block_pred)에 포함되는 픽셀들에 대한 에지 검출 연산을 통하여 해당 예측 블록(Block_pred)에 대한 에지 타입에 따른 영역 분류 동작을 수행할 지를 나타내는 정보를 출력할 수 있다. 한편, 에지 카테고리 검출부(4332)는 검출된 에지 타입에 관련하여 각각의 픽셀이 다수의 카테고리들 중 어느 카테고리에 속하는 지 검출할 수 있다. 상기 에지 카테고리에 따라, 픽셀들 각각은 다수의 클래스 중 어느 하나의 클래스로 분류될 수 있다. 오프셋 산출부(4342)는 각각의 픽셀이 속하는 클래스에 따라 상기 픽셀에 대응하는 오프셋 값을 산출할 수 있으며, 이에 따라 하나의 예측 블록 내에 포함되는 다수의 영역들에 대하여 서로 다른 적어도 두 개의 오프셋 값들이 산출될 수 있다.
도 8은 본 발명의 실시예에 따른 오프셋 값 산출 예를 나타내는 도면이다. 도 8에서는 예측 블록의 생성 예와 함께, 정수 예측 블록 및 서브 예측 블록에 대해 정의되는 오프셋 값들의 예를 나타낸다.
도 7에서 도시된 바와 유사하게, 인터 예측을 수행하기 위한 참조 프레임은 다수 개의 블록들을 포함하며, 블록들 각각은 다수의 정수 픽셀들을 포함할 수 있다. 도 8의 경우, 큰 블록에 포함되는 대문자 A(A-1,-1~ A1,1)로 표시된 위치의 픽셀들은 정수 픽셀들을 나타낸다. 또한, 보간 필터링 동작을 통하여 정수 픽셀들로부터 서브 픽셀들 값이 산출될 수 있으며, 예컨대 도 8의 경우 큰 블록에 포함되는 픽셀들 중 소문자 a(a0 ,0~ r0 ,0)로 표시된 위치의 픽셀들은 서브 픽셀들을 나타낸다.
서브 예측 블록들은 다수 개의 정수 픽셀들에 대한 보간 동작을 통하여 생성될 수 있다. 전술한 실시예에서와 같이, 어느 하나의 서브 픽셀의 값을 산출하기 위하여, 서브 픽셀에 인접하는 다수 개의 정수 픽셀들의 값을 연산함에 의하여 상기 서브 픽셀의 값이 산출될 수 있다. 또한, 서브 예측 블록은 정수 위치가 아닌 다른 위치에 대응하는 서브 픽셀들을 포함하며, 도 8에는 하나의 서브 예측 블록으로서 다수의 서브 픽셀들(a0 ,0~ a3 ,3)을 포함하는 블록이 예시된다. 4*4 픽셀들이 움직임 추정 단위로 정의되는 경우, 하나의 서브 예측 블록은 16 개의 서브 픽셀들을 포함할 수 있다.
상기와 같이 예측 블록이 생성되면, 각각의 픽셀의 특성에 따라 예측 블록이 다수 개의 영역들로 분류될 수 있다. 도 8에는 도시되지 않았으나, 전술한 실시예에서와 같이 픽셀 값의 다양한 특성들이 영역 분류에 적용될 수 있으며, 예컨대 각 픽셀의 휘도 값이나 에지 특성에 따라 분류될 수 있다. 오프셋이 적용된 예측 데이터(예컨대, 오프셋 예측 데이터)는 다음과 같은 수학식 3에 의해 산출될 수 있다.
Figure pat00003
상기 수학식 3을 참조하면, 서브 픽셀의 값(Prdi)는 다수의 정수 픽셀들의값(Prdj)에 대해 소정의 가중치(Wj)를 부여하여 곱셉 연산을 수행한 후, 곱셈 연산 결과들을 합산한 값에 대응할 수 있다. 또한, 전술한 실시예에서와 같이, 하나의 예측 블록이 다수의 영역으로 분류되는 것으로 가정할 때, 각각의 영역에 대하여 서로 다른 오프셋 값(Oi ,c)이 정의될 수 있다. 상기 예측 블록에 관련된 예측 데이터는 예측 블록의 픽셀값에 각각의 픽셀이 속하는 영역에 대해 산출된 오프셋 값을 합산함에 의하여 생성될 수 있다.
한편, 영역 별로 오프셋 값을 산출함에 있어서, 특정 영역의 원본 블록의 픽셀 값과 예측 블록의 픽셀 값에 대한 감산 연산을 수행하고, 감산 연산을 제곱한 결과를 서로 합산한 결과에 기반할 수 있다. 상기 제곱 연산된 결과를 합산한 결과는 상기 영역의 픽셀의 개수로 나누어 평균에 해당하는 값이 산출될 수 있으며, 상기 평균 결과가 해당 영역의 오프셋 값으로 정의될 수 있다. 상기와 같은 오프셋 값을 산출하기 위한 수식은 본 발명의 하나의 실시예에 불과한 것으로서, 다른 연산 방식에 따라 영역별 오프셋 값이 산출되어도 무방하다.
도 8을 참조하면, 다수의 정수 픽셀들의 값을 연산함에 의하여 4*4 개의 서브 픽셀들로 이루어지는 서브 예측 블록이 생성될 수 있으며, 상기 서브 예측 블록은 각각의 픽셀의 특성에 따라 두 개의 영역으로 분류되는 것으로 가정될 수 있다. 이에 대응하여, 상기 서브 예측 블록에 대한 두 개의 오프셋 값이 산출될 수 있으며, 도 8의 예에서는 상기 서브 예측 블록의 왼쪽의 두 개의 로우들의 픽셀들(4*2 픽셀들)의 값은 제1 오프셋 값(Oi , c1)과 합산되어 각각의 픽셀의 예측 데이터가 생성될 수 있으며, 또한 상기 서브 예측 블록의 오른 쪽의 두 개의 로우들의 픽셀들(4*2 픽셀들)의 값은 제2 오프셋 값(Oi , c2)과 합산되어 각각의 픽셀의 예측 데이터가 생성될 수 있다. 또한, 도 8에는 정수 픽셀들로 이루어지는 정수 예측 블록이 도시되며, 상기 정수 예측 블록은 각각의 픽셀의 특성에 따라 3 개의 영역으로 분류되는 예가 도시된다. 이 경우, 상기 정수 예측 블록에 대해 3 개의 오프셋 값(Oi , c1 ~ Oi , c3)들이 설정될 수 있으며, 각각의 픽셀 값은 이에 대응하는 오프셋 값과 합산함에 의하여 예측 데이터가 생성될 수 있다.
도 9a,b는 예측 블록에 대해 픽셀 특성에 따라 영역들이 설정되는 다양한 예를 나타내는 도면이다.
도 9a,b에 도시된 바와 같이, 각각의 픽셀의 특성에 따라, 각각의 픽셀은 다수 개의 클래스들 중 어느 하나의 클래스로 분류될 수 있다. 예컨대, 도 9a의 경우 휘도가 제1 범위(Int 1)에 포함되는 픽셀들은 제1 클래스로 분류될 수 있으며, 휘도가 제2 범위(Int 2)에 포함되는 픽셀들은 제2 클래스로 분류될 수 있다. 이와 유사하게, 휘도가 제3 범위(Int 3)에 포함되는 픽셀들은 제3 클래스로 분류될 수 있다. 상기와 같이 각각의 픽셀들의 특성(예컨대, 휘도 특성)에 따라 영역들이 분류되면, 각각의 영역에 대하여 오프셋 값이 설정될 수 있다. 예컨대, 제1 클래스로 분류된 픽셀들에 대해서는 제1 오프셋 값(Offset 1)이 합산되어 예측 데이터로서 제공될 수 있으며, 이와 유사하게 제2 및 제3 클래스로 각각 분류된 픽셀들에 대해서는 제2 및 제3 오프셋 값(Offset 2, Offset 3)이 각각 합산되어 예측 데이터로서 제공될 수 있다.
도 9b는 픽셀들의 에지 특성에 따라, 각각의 픽셀이 다수 개의 클래스들 중 어느 하나의 클래스로 분류되는 예를 나타낸다. 예컨대, 도 9b의 경우 예측 블록의 에지 형태가 검출될 수 있으며, 에지 형태와 관련된 각각의 픽셀이 속하는 카테고리가 검출될 수 있다. 예컨대, 제1 카테고리에 속하는 픽셀들은 제1 클래스로 분류될 수 있으며, 제2 카테고리에 속하는 픽셀들은 제2 클래스로 분류될 수 있다. 이와 유사하게, 제3 카테고리에 속하는 픽셀들은 제3 클래스로 분류될 수 있다. 상기한 바와 같이, 제1 클래스로 분류된 픽셀들에 대해서는 제1 오프셋 값(Offset 1)이 합산되어 예측 데이터로서 제공될 수 있으며, 이와 유사하게 제2 및 제3 클래스로 각각 분류된 픽셀들에 대해서는 제2 및 제3 오프셋 값(Offset 2, Offset 3)이 각각 합산되어 예측 데이터로서 제공될 수 있다.
에지 특성에 따른 카테고리 분류 동작의 일 예를 자세하게 설명하면 다음과 같다. 도 10은 에지 타입의 에지 클래스의 일예를 나타내며, 도 11a,b는 에지 타입의 카테고리들을 나타내는 도면이다.
에지 클래스(41, 42, 43, 44)의 인덱스가 순서대로 0, 1, 2, 3으로 할당될 수 있다. 에지 타입의 발생빈도가 높을수록 에지 타입의 인덱스는 작게 할당될 수 있다. 에지 클래스는 예측 블록의 어느 하나의 픽셀 X0(예컨대, 현재 픽셀)와 이에 인접하는 2개의 이웃 픽셀들이 형성하는 1차원 에지의 방향을 나타낼 수 있다. 인덱스 0의 에지 클래스(41)는, 현재 픽셀 X0와 수평방향으로 인접하는 2 개의 이웃 픽셀들 X1, X2가 에지를 형성하는 경우를 나타낸다. 인덱스 1의 에지 클래스(42)는, 현재 픽셀 X0와 수직방향으로 인접하는 2 개의 이웃픽셀들 X3, X4가 에지를 형성하는 경우를 나타낸다. 인덱스 2의 에지 클래스(43)는, 현재 픽셀 X0에 135°대각 방향으로 인접하는 2개의 이웃 픽셀들 X5, X8가 에지를 형성하는 경우를 나타낸다. 인덱스 3의 에지 클래스(44)는, 현재 픽셀 X0에 45°대각 방향으로 인접하는 2 개의 이웃 픽셀들 X6, X7이 에지를 형성하는 경우를 나타낸다.
에지 특성을 검출함에 있어서, 정수 픽셀들을 포함하는 예측 블록, 또는 보간 필터링을 통해 생성된 서브 픽셀들을 포함하는 예측 블록의 픽셀들의 에지 방향을 분석하여, 상기 예측 블록에 존재하는 에지의 방향을 결정하고, 이에 따라 예측 블록에 포함되는 픽셀들 각각의 에지 카테고리가 결정될 수 있다.
도 11a 및 11b 는 일 실시예에 따른 에지 타입의 카테고리들을 도시한다. 에지 카테고리는, 현재 픽셀이 오목 에지의 최저점인지, 오목 에지의 최저점 주위에 위치하는 곡선 코너의 픽셀인지, 볼록 에지의 최고점인지, 볼록 에지의 최고점 주위에 위치하는 곡선 코너의 픽셀인지 여부를 나타낼 수 있다.
도 11a는 에지 카테고리를 결정하기 위한 조건들을 예시한다. 도 11b는 현재 픽셀과 이웃 픽셀들의 에지 형태 및 픽셀값들 c, a, b의 그래프를 예시한다. c는 현재 픽셀의 인덱스, a, b는 에지 방향에 따라 현재 픽셀에 양쪽에 인접하는 이웃 픽셀들의 인덱스들을 나타낸다. Xa, Xb, Xc는 각각 인덱스 a, b, c인 픽셀들의 픽셀값들을 나타낸다. 도 11b의 그래프들의 x축은 현재 픽셀과 양쪽에 인접하는 이웃 픽셀들의 인덱스들을, y축은 픽셀들 각각의 픽셀값을 나타낸다.
카테고리 1는, 현재 픽셀이 오목 에지의 최저점, 즉 로컬 밸리(local valley) 지점인 경우를 나타낸다 (Xc<Xa && Xc<Xb). 그래프 51과 같이, 이웃 픽셀들 a, b 사이에서 현재 픽셀 c가 오목 에지의 최저점인 경우에, 현재 픽셀은 카테고리 1로 분류될 수 있다. 카테고리 2는, 현재 픽셀이 오목 에지의 최저점 주변에 위치하는 곡선 코너(concave corners)에 위치하는 경우를 나타낸다 (Xc<Xa && Xc==Xb || Xc==Xa && Xc<Xb). 그래프 52과 같이, 이웃 픽셀들 a, b 사이에서 현재 픽셀 c가 오목 에지의 하강 커브가 종료하는 지점에 위치하거나(Xc<Xa && Xc==Xb), 그래프 53과 같이 현재 픽셀 c가 오목 에지의 상승 커브가 시작하는 지점에 위치하거나(Xc==Xa && Xc<Xb)에 위치하는 경우에, 현재 픽셀은 카테고리 2로 분류될 수 있다.
카테고리 3은, 현재 픽셀이 볼록 에지의 최고점 주변에 위치하는 곡선 코너(convex corners)에 위치하는 경우를 나타낸다 (Xc>Xa && Xc==Xb || Xc==Xa && Xc>Xb). 그래프 54과 같이, 이웃 픽셀들 a, b 사이에서 현재 픽셀 c가 오목 에지의 하강 커브가 시작하는 지점에 위치하거나(Xc==Xa && Xc>Xb), 그래프 55과 같이 현재 픽셀 c가 오목 에지의 상승 커브가 종료하는 지점에 위치하거나(Xc>Xa && Xc==Xb)에 위치하는 경우에, 현재 픽셀은 카테고리 3으로 분류될 수 있다. 카테고리 4는, 현재 픽셀이 볼록 에지의 최고점, 즉 로컬 피크(local peak) 지점인 경우를 나타낸다 (Xc>Xa && Xc>Xb). 그래프 56과 같이, 이웃 픽셀들 a, b 사이에서 현재 픽셀 c가 볼록에지의 최고점인 경우에, 현재 픽셀은 카테고리 4로 분류될 수 있다. 한편, 현재 픽셀에 대해 카테고리 1, 2, 3, 4의 조건이 모두 충족되지 않는 경우에는 에지가 아니므로 카테고리 0으로 분류될 수 있다.
예측 블록의 각각의 픽셀들에 대한 에지 카테고리가 결정되고, 동일한 에지 카테고리를 갖는 픽셀들이 서로 동일한 영역으로 분류될 수 있다. 또는, 동일한 에지 카테고리를 갖는 픽셀들을 동일한 영역으로 분류하는 방식 이외에도, 상기 결정된 에지 카테고리에 근거하여 예측 블록을 적어도 두 개의 영역으로 분류할 수 있다. 또한, 각 픽셀의 에지 카테고리에 따라 서로 다른 오프셋 값을 설정할 수 있으며, 예컨대 에지 타입에 따라 양수 오프셋 값을 부여하거나 음수 오프셋 값을 부여할 수도 있다. 전술한 영역별 오프셋 값을 설정함으로써, 원본 영상의 블록과 예측 블록 사이의 오차를 최소화할 수 있다.
도 12 및 도 13은 본 발명의 실시예들에 따른 데이터 부호화 방법의 일 예를 나타내는 플로우차트이다.
도 12에 도시된 바와 같이, 참조 프레임으로부터 예측 블록을 생성함에 있어서, 정수 픽셀 위치의 블록이 예측 블록으로 생성될 수 있으며, 또한 인터 예측의 정밀도 향상을 위한 서브 픽셀 위치의 블록이 예측 블록으로 생성될 수 있다. 상기 서브 픽셀 위치의 블록을 생성하기 위하여 보간 필터링 동작이 수행된다(S11). 또한, 보간 필터링 동작에 따라 서브 픽셀 위치의 예측 블록이 생성되며(S12), 예측 블록에 포함된 픽셀들의 특성을 검출한 결과에 따라 각각의 픽셀들의 클래스가 분류되고(S13), 이에 따라 상기 예측 블록은 적어도 두 개의 영역들로 분류될 수 있다.
각각의 픽셀들은 다수의 클래스들 중 어느 하나의 클래스에 속하게 되며, 각 픽셀이 속하는 클래스에 따라 상기 픽셀에 대응하는 오프셋 값이 산출된다(S14). 예측 블록에 포함되는 픽셀들이 다수 개의 클래스들 중 어느 하나에 속하므로, 하나의 예측 블록에 대응하여 두 개 이상의 오프셋 값들이 산출될 수 있다.
비디오 부호화를 위한 변환 동작을 수행하기 앞서 원본 영상의 블록의 픽셀 값과 예측 블록의 픽셀 값에 대한 차분 값 산출 동작이 수행된다. 상기 차분 값 산출을 수행하기에 앞서, 예측 블록의 픽셀들에 대해 상기 오프셋 값이 적용된 오프셋 예측 데이터가 산출된다. 예컨대, 예측 블록의 픽셀 값과 각각의 픽셀에 대해 설정된 오프셋 값이 합산되며(S15), 상기 오프셋 값이 합산된 데이터가 예측 데이터로서 제공됨에 따라 상기 차분 값 산출 동작이 수행될 수 있다. 차분 값 결과에 따라 변환 동작이 수행되며 또한 비트스트림이 생성된다(S16). 상기 비트 스트림에는 움직임 벡터, 오프셋 값들이 부호화된 정보가 포함될 수 있으며, 또한, 움직임 보상 과정에서의 오프셋 적용 여부를 나타내는 정보, 예측 블록에서 검출된 픽셀의 특성 정보 등이 함께 부호화되어 비트 스트림에 포함될 수 있다.
한편, 도 13에 도시된 바와 같이, 본 발명의 실시예에 따른 데이터 부호화 방법에 있어서 예측 블록에 포함되는 픽셀의 다양한 특성에 따른 오프셋 값이 적용될 수 있다.
움직임 벡터 생성 및 보간 필터링 동작 등을 통해 예측 블록이 생성됨에 따라, 예측 블록에 포함된 픽셀들(예컨대, 정수 픽셀, 서브 픽셀 등)의 픽셀 값이 획득된다(S21). 획득된 픽셀 값으로부터 픽셀 특성을 검출할 수 있으며, 예컨대 기 설정된 정보, 또는 참조 프레임의 특성을 검출하여 픽셀의 어떠한 특성에 따른 클래스 분류 동작을 수행할 것인지가 판별된다. 예컨대, 예측 블록의 픽셀들에 대해 휘도에 따른 클래스 분류 동작을 수행할 것인지가 판별될 수 있으며(S22), 휘도에 따른 분류 동작이 수행되는 경우 각각의 픽셀에 대한 휘도 값이 계산되고(S23), 휘도 값 계산 결과에 따라 상기 픽셀에 대한 휘도의 단계가 검출될 수 있다(S24)
반면에, 예측 블록의 픽셀들에 에지 특성에 따라 클래스 분류 동작을 수행하는 것으로 판별된 경우, 전술한 실시예에 따른 현재 픽셀과 이웃하는 픽셀들의 픽셀 값을 참조함에 의하여 각각의 픽셀의 에지 특성(또는, 에지 방향)이 검출될 수 있다(S25). 각각의 픽셀에 대해 검출된 에지 특성에 따라 각각의 픽셀들의 에지 카테고리가 검출될 수 있다.
전술한 휘도 단계 검출 또는 에지 카테고리 검출 결과에 따라 예측 블록은 적어도 두 개의 영역들로 분류되고, 상기 검출 결과에 따라 영역 별로 오프셋 값이 할당된다(S27). 이에 따라, 예측 데이터를 생성함에 있어서, 예측 블록 내의 픽셀의 값과 해당 픽셀에 대해 할당된 오프셋 값의 합산 동작에 의하여 상기 예측 데이터가 생성될 수 있다.
도 14는 본 발명의 일 실시예에 따른 복호화 장치에 포함되는 복호화부의 일 예를 나타내는 블록도이다. 도 14에 도시된 구성들은 도 2의 복호화 장치의 복호화부(220)에 구비될 수 있다.
복호화부(220)는 파싱부(510), 엔트로피 복호화부(520), 역양자화부(530) 및 역변환부(540)를 포함할 수 있다. 또한, 움직임 보상과 관련하여, 복호화부(220)는 인트라 예측부(550), 움직임 보상부(560) 및 디블록킹부(570)를 더 포함할 수 있다.
비트 스트림은 파싱부(510)로 제공되며, 파싱부(510)는 복호화 대상인 부호화된 영상 데이터 및 복호화를 위해 필요한 부호화에 관한 정보를 파싱한다. 부호화된 영상 데이터는 엔트로피 복호화부(520) 및 역양자화부(530)를 거쳐 역양자화된 데이터로 출력되고, 역변환부(540)를 거쳐 공간 영역의 영상 데이터가 복원될 수 있다. 공간 영역의 영상 데이터에 대해서, 인트라 예측부(550)는 인트라 모드의 부호화 단위에 대해 인트라 예측을 수행하고, 움직임 보상부(560)는 참조 프레임(585)를 함께 이용하여 인터 모드의 부호화 단위에 대해 움직임 보상을 수행한다. 인트라 예측부(550) 및 움직임 보상부(560)를 거친 공간 영역의 데이터는 디블로킹부(570)를 거쳐 후처리되어 복원 프레임으로서 출력될 수 있다. 또한, 디블로킹부(570)를 거쳐 후처리된 데이터는 참조 프레임으로서 출력될 수 있다.
움직임 보상부(560)는 전술한 실시예에서와 같은 움직임 보상 동작을 수행할 수 있다. 예컨대, 비트 스트림에는 움직임 벡터, 예측 블록에 대한 영역 별 오프셋 값, 그리고 움직임 보상 시 영역 별 오프셋 적용 여부 및 픽셀 특성 타입 등의 정보가 부호화되어 포함될 수 있다. 상기와 같은 정보들이 파싱 및 복원되어 움직임 보상부(560)로 제공될 수 있으며, 움직임 보상부(560)는 전술한 정보에 근거하여 예측 블록을 다수의 영역들로 구분하고, 다수의 영역으로 구분된 예측 블록에 영역 별 오프셋 값을 적용하여 원본 블록을 복원한다. 예컨대, 움직임 벡터를 참조하여 참조 프레임으로부터 예측 블록을 생성하고, 생성된 예측 블록에 대해 영역 별 오프셋 값을 적용하고, 오프셋 적용된 예측 데이터와 잔류 데이터를 연산함에 의하여 원본 블록을 복원할 수 있다.
도 15는 도 14의 움직임 보상부(560)의 일 구현예를 나타내는 블록도이다. 도 15에 도시된 바와 같이, 움직임 보상부(560)는 보간 필터링 수행부(5610), 오프셋 값 추출부(5620), 예측 블록 생성부(5630), 클래스 분류부(5640) 및 연산부(5650)를 구비할 수 있다. 도 15에 도시된 기능 블록들에 따라 움직임 보상부(560)는 전술한 실시예에 따른 영역 별 오프셋 값을 적용한 움직임 보상 동작을 수행할 수 있다.
수신된 비트 스트림으로부터 움직임 보상에 관련된 각종 정보들이 파싱될 수 있으며, 예컨대 영상 데이터를 부호화함에 있어서 산출된 움직임 벡터, 예측 블록의 영역들에 대한 오프셋 값 정보, 그리고 픽셀 특성 타입 등의 정보 들이 파싱될 수 있다. 움직임 벡터를 통해 예측 블록을 생성하기 위하여 보간 필터링 수행부(5610)는 보간 필터링을 수행할 수 있으며, 예측 블록 생성부(5630)는 움직임 벡터에 의해 지정되는 예측 블록을 생성할 수 있다. 상기 예측 블록은은 정수 픽셀들을 포함하는 예측 블록일 수 있으며, 또는 서브 픽셀들을 포함하는 예측 블록일 수 있다. 또한 보간 필터링을 수행함에 있어서, 다수의 정수 픽셀들 각각에 부여되는 계수 값은 고정된 값이 설정되거나, 또는 적응적으로 변동되는 값이 설정될 수도 있다.
이와 함께, 상기 수신된 비트스트림에 포함된 정보들을 이용하여, 예측 블록의 픽셀들의 특성 타입에 대한 정보를 판별할 수 있다. 클래스 분류부(5640)는 예측 블록에 있어서 영역 별 분류의 기준이 되었던 픽셀의 특성을 판단하고, 상기 특성을 기준으로 하여 예측 블록에 포함되는 각각의 픽셀의 클래스를 분류할 수 있다. 전술한 실시예에서와 같이, 픽셀의 휘도 특성에 따라 예측 블록의 영역이 구분되는 경우, 클래스 분류부(5640)는 예측 블록 각각의 픽셀의 휘도 값을 산출하고, 이를 근거로 하여 각각의 픽셀이 다수의 휘도 단계들 중 어느 단계에 속하는지에 따라 각각의 픽셀의 클래스를 분류할 수 있다.
한편, 오프셋 값 추출부(5620)는 수신된 비트스트림으로부터 파싱된 정보를 이용하여 오프셋 값을 추출할 수 있으며, 예컨대 하나의 예측 블록에 대하여 제공되는 두 개 이상의 오프셋 값을 추출할 수 있다. 추출된 오프셋 값과 각각의 픽셀의 클래스 정보는 연산부(5650)로 제공될 수 있다. 연산부(5650)는 예측 블록의 각각의 픽셀 값을 수신함과 함께, 각각의 픽셀이 속하는 클래스에 관련된 정보, 그리고 각각의 클래스에 부여된 오프셋 값을 이용하여 예측 데이터 블록을 생성할 수 있다. 예컨대, 예측 블록의 각각의 픽셀 값을 이에 해당하는 오프셋 값과 합산하여 예측 데이터 블록을 생성할 수 있다. 상기와 같이 생성된 예측 데이터 블록은, 비트 스트림에 포함되는 차분 값 정보(미도시)와 합산될 수 있으며, 이로부터 원본 영상이 복원될 수 있다.
도 16은 본 발명의 일 실시예에 따른 데이터 복호화 동작 방법을 나타내는 플로우차트이다.
도 16에 도시된 바와 같이, 부호화 장치로부터 비트 스트림이 수신되면, 비트 스트림에 포함된 각종 정보들이 추출될 수 있으며, 예컨대 전술한 실시예에서와 따른 예측 블록의 영역별 오프셋 값이 추출될 수 있다(S31). 또한, 참조 프레임으로부터 예측 블록을 얻기 위하여 보간 필터링이 수행될 수 있으며, 예컨대 서브 픽셀 단위의 예측 블록을 산출하기 위한 필터 계수를 이용한 보간 필터링 동작이 수행될 수 있다(S32). 상기 필터 계수는 고정된 값으로 설정되거나 또는 적응적으로 변동되는 값이 설정될 수도 있다. 상기 보간 필터링 동작에 따라 서브 픽셀 단위의 예측 블록이 생성되며(S33), 상기 비트 스트림에 포함된 정보들을 참조하여 상기 예측 블록을 영역 별로 구분하기 위한 픽셀의 특성 정보를 검출한다. 검출된 정보에 따라 픽셀의 클래스를 분류하는 동작이 수행된다(S34).
또한, 예측 블록에 대응하는 예측 데이터를 생성하기 위하여, 예측 블록에 포함되는 각각의 픽셀 값과, 해당 픽셀이 속하는 클래스에 따라 설정되는 오프셋 값이 합산되는 동작이 수행되며(S35), 상기 합산 결과에 기반하는 복원 영상이 생성된다(S36). 상기 복원 영상은, 오프셋 반영된 예측 데이터와 상기 비트 스트림에 포함된 차분 값에 관련된 정보를 이용하여 생성될 수 있다.
도 17은 본 발명의 실시예에 따른 부호화 장치 및/또는 복호화 장치를 포함하는 어플리케이션 프로세서를 나타내는 블록도이다. 도 17에 도시된 어플리케이션 프로세서(600)는 다양한 형태로 구현될 수 있으며, 예컨대 상기 어플리케이션 프로세서(600)는 시스템 온 칩(System on Chip, SoC)으로 구현될 수 있다. 시스템 온 칩(SoC)은 여러 기능을 갖는 시스템을 하나의 반도체 칩에 집적하여 구현되며, 다수의 IP(Intellectual Property)들이 SoC에 집적될 수 있다. 다수의 IP들 각각은 SoC 내에 구현되어 각각의 특정 기능을 수행한다.
어플리케이션 프로세서(600)는 다양한 IP들을 포함할 수 있으며, 예컨대 도 17에 도시된 바와 같이 시스템 버스로서 인터커넥트 버스(610)와, 이에 연결되는 중앙 처리장치(CPU, 620), 멀티미디어 유닛(630), 메모리 장치(640) 및 주변 회로(650)를 포함할 수 있다.
인터커넥트 버스(610)는 소정의 표준 버스 규격을 갖는 프로토콜이 적용된 버스로 구현될 수 있다. 예컨대, 표준 버스 규격으로서, ARM(Advanced RISC Machine) 사의 AMBA(Advanced Microcontroller Bus Architecture) 프로토콜이 적용될 수 있다. AMBA 프로토콜의 버스 타입에는 AHB(Advanced High-Performance Bus), APB(Advanced Peripheral Bus), AXI(Advanced eXtensible Interface), AXI4, ACE(AXI Coherency Extensions) 등이 포함될 수 있다. 전술한 버스 타입들 중 AXI는 IP들 사이의 인터페이스 프로토콜로서, 다중 아웃스탠딩 어드레스(multiple outstanding address) 기능과 데이터 인터리빙(data interleaving) 기능 등을 제공한다. 이외에도, 소닉사(SONICs Inc.)의 uNetwork 이나 IBM의 CoreConnect, OCP-IP의 오픈 코어 프로토콜(Open Core Protocol) 등 다른 타입의 프로토콜이 인터커넥트 버스(610)에 적용되어도 무방하다.
한편, 도 17에 도시된 각종 IP들 각각은 고유한 동작을 수행하는 기능 블록으로 구현될 수 있다. 예컨대, 중앙 처리장치(620)는 마스터 IP에 해당할 수 있으며, 어플리케이션 프로세서(600)의 전반적인 동작을 제어할 수 있다. 또한, 멀티미디어 유닛(630)은 전술한 실시예에 따른 영상을 부호화하기 위한 장치 및/또는 영상을 복호화하기 위한 장치를 포함할 수 있다. 또한, 멀티미디어 유닛(630)은 영상을 부호화/복호화하기 위한 방법으로서, 전술한 실시예들 중 어느 하나의 실시예에 따른 방법으로서 부호화/복호화 동작을 수행할 수 있다. 메모리 장치(640)는 어플리케이션 프로세서(600)의 동작에 관련된 각종 정보들을 일시 저장하기 위한 메모리로서, 예컨대 DRAM을 포함할 수 있다. 또한, 주변 회로(650)는 외부와 인터페이스하기 위한 각종 인터페이스 수단을 포함할 수 있으며, 기타 어플리케이션 프로세서(600)의 기능을 구현하기 위한 각종 주변 장치들을 포함할 수 있다. 예컨대, DRAM 이외에도 다른 메모리를 포함할 수 있거나, 또는 외부의 저장 장치를 억세스하기 위한 수단 등을 포함할 수 있다.
어플리케이션 프로세서(600)는 모바일 장치 등 각종 단말기에 장착되어 메인 프로세서로서 동작할 수 있으며, 멀티미디어 유닛(630)은 모바일 장치로 제공된 부호화된 비트 스트림을 복호화하여 원본 영상을 제공할 수 있으며, 또한 모바일 장치 내의 원본 영상을 부호화하여 비트 스트림으로서 제공할 수 있다. 전술한 실시예에서와 같이, 멀티미디어 유닛(630)은 데이터 부호화/복호화 동작을 수행함에 있어서 움직임 추정 및 보상 동작을 수행할 수 있으며, 움직임 추정 및 보상 동작시 예측 블록에 대한 영역 분류 동작을 통해 각각의 영역 별로 오프셋 값을 설정할 수 있다.
전술된 실시예에 따른 비디오 부호화 방법 및 비디오 복호화 방법이 적용된 시스템이 후술된다. 도 18은 컨텐츠 유통 서비스(contents distribution service)를 제공하기 위한 컨텐츠 공급 시스템(content supply system, 600)의 전체적 구조를 도시한다. 통신시스템의 서비스 영역은 소정 크기의 셀들로 분할되고, 각 셀에 베이스 스테이션이 되는 무선 기지국(651~654)이 설치된다.
컨텐츠 공급 시스템(600)은 다수의 독립 디바이스들을 포함할 수 있다. 예를 들어, 컴퓨터(661), PDA(Personal Digital Assistant, 662), 카메라(12300) 및 휴대폰(12500)과 같은 독립디바이스들이, 인터넷 서비스 공급자(620), 통신망(640), 및 무선 기지국(651~654)을 거쳐 인터넷(610)에 연결된다. 그러나, 컨텐츠 공급 시스템(600)은 도 18에 도시된 구조에만 한정되는 것이 아니며, 디바이스들이 선택적으로 연결될 수 있다. 독립 디바이스들은 무선 기지국(651~654)을 거치지 않고 통신망(640)에 직접 연결될 수도 있다. 비디오 카메라(6630)는 디지털 비디오 카메라와 같이 비디오 영상을 촬영할 수 있는 촬상 디바이스이다. 휴대폰(664)은 PDC(Personal Digital Communications), CDMA(code division multiple access), W-CDMA(wideband code division multiple access), GSM(Global System for Mobile Communications), 및 PHS(Personal Handyphone System) 방식과 같은 다양한 프로토콜들 중 적어도 하나의 통신방식을 채택할 수 있다.
비디오 카메라(663)는 무선기지국(653) 및 통신망(640)을 거쳐 스트리밍 서버(630)에 연결될 수 있다. 스트리밍 서버(630)는 사용자가 비디오 카메라(663)를 사용하여 전송한 컨텐츠를 실시간 방송으로 스트리밍 전송할 수 있다. 비디오 카메라(663)로부터 수신된 컨텐츠는 비디오 카메라(663) 또는 스트리밍 서버(630)에 의해 부호화될 수 있다. 비디오 카메라(663)로 촬영된 비디오 데이터는 컴퓨터(661)을 거쳐 스트리밍 서버(630)로 전송될 수도 있다.
카메라(665)로 촬영된 비디오 데이터도 컴퓨터(661)를 거쳐 스트리밍 서버(630)로 전송될 수도 있다. 카메라(665)는 디지털 카메라와 같이 정지영상과 비디오 영상을 모두 촬영할 수 있는 촬상 장치이다. 카메라(665)로부터 수신된 비디오 데이터는 카메라(665) 또는 컴퓨터(661)에 의해 부호화될 수 있다. 비디오 부호화 및 복호화를 위한 소프트웨어는 컴퓨터(661)가 억세스할 수 있는 시디롬 디스크, 플로피디스크, 하드디스크 드라이브, SSD , 메모리 카드와 같은 컴퓨터로 판독 가능한 기록 매체에 저장될 수 있다. 또한 휴대폰(664)에 탑재된 카메라에 의해 비디오가 촬영된 경우, 비디오 데이터가 휴대폰(664)으로부터 수신될 수 있다. 비디오 데이터는, 비디오 카메라(663), 휴대폰(664) 또는 카메라(665)에 탑재된 LSI(Large scale integrated circuit) 시스템에 의해 부호화될 수 있다.
일 실시예에 따른 컨텐트 공급 시스템(600)에서, 예를 들어 콘서트의 현장녹화 컨텐트와 같이, 사용자가 비디오 카메라(663), 카메라(665), 휴대폰(664) 또는 다른 촬상 디바이스를 이용하여 녹화된 컨텐츠가 부호화되고, 스트리밍 서버(630)로 전송된다. 스트리밍 서버(630)는 컨텐츠 데이터를 요청한 다른 클라이언트들에게 컨텐츠 데이터를 스트리밍 전송할 수 있다. 클라이언트들은 부호화된 컨텐츠 데이터를 복호화할 수 있는 디바이스이며, 예를 들어 컴퓨터(661), PDA(662), 비디오 카메라(663) 또는 휴대폰(664)일 수 있다. 따라서, 컨텐츠 공급 시스템(600)은, 클라이언트들이 부호화된 컨텐트 데이터를 수신하여 재생할 수 있도록 한다. 또한 컨텐츠 공급 시스템(600)은, 클라이언트들이 부호화된 컨텐트 데이터를 수신하여 실시간으로 복호화하고 재생할 수 있도록 하여, 개인방송(personal broadcasting)이 가능하게 한다. 상기와 같은 디바이스들의 부호화 및 복호화 동작을 위하여, 본 발명의 실시예에 따른 부호화 장치 및 복호화 장치들이 상기 디바이스들에 장착될 수 있으며, 예컨대 도 17에 도시된 바와 같은 어플리케이션 프로세서(또는, Soc)가 디바이스들에 장착될 수 있다.
도 19는 본 발명의 일 실시예에 따른 비디오 부호화 장치가 장착된 이동 단말기의 일 예를 나타내는 도면이다. 도 19의 이동 단말기(700)는 도 18에 도시된 휴대폰(664)에 해당할 수 있으며, 이동 단말기(700)에는 도 17에 도시된 어플리케이션 프로세서(500)가 장착될 수 있다. 이동 단말기(700)는 기능이 제한되어 있지 않고 응용 프로그램을 통해 상당 부분의 기능을 변경하거나 확장할 수 있는 스마트폰일 수 있다. 이동 단말기(700)는, 무선기지국(12000)과 RF신호를 교환하기 위한 내장 안테나(710)을 포함하고, 카메라(730)에 의해 촬영된 영상들 또는 안테나(710)에 의해 수신되어 복호화된 영상들을 디스플레이하기 위한 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes)화면 같은 디스플레이화면(720)를 포함한다. 이동 단말기(700)는 제어버튼, 터치패널을 포함하는 동작 패널(740)를 포함할 수 있다. 또한 디스플레이화면(720)이 터치스크린인 경우, 동작 패널(740)은 디스플레이화면(720)의 터치감지패널을 더 포함할 수 있다. 이동 단말기(700)은 음성, 음향을 출력하기 위한 스피커(780) 또는 다른 형태의 음향출력부와, 음성, 음향이 입력되는 마이크로폰(750) 또는 다른 형태의 음향입력부를 포함한다. 이동 단말기(700)는 비디오 및 정지영상을 촬영하기 위한 CCD 카메라와 같은 카메라(730)를 더 포함한다. 또한, 이동 단말기(700)는 카메라(730)에 의해 촬영되거나 이메일(E-mail)로 수신되거나 다른 형태로 획득된 비디오나 정지영상들과 같이, 부호화되거나 복호화된 데이터를 저장하기 위한 저장매체(770); 그리고 저장매체(770)를 이동 단말기(700)에 장착하기 위한 슬롯(760)을 포함할 수 있다. 저장매체(770)는 SD카드 또는 플라스틱 케이스에 내장된 EEPROM(electrically erasable and programmable read only memory)와 같은 다른 형태의 플래쉬 메모리일 수 있다.
상기한 실시예의 설명은 본 발명의 더욱 철저한 이해를 위하여 도면을 참조로 예를 든 것에 불과하므로, 본 발명을 한정하는 의미로 해석되어서는 안될 것이다. 또한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기본적 원리를 벗어나지 않는 범위 내에서 다양한 변화와 변경이 가능함은 명백하다 할 것이다.

Claims (20)

  1. 예측 블록에 포함되는 픽셀들의 특성을 검출하는 단계;
    상기 검출 결과에 따라, 상기 예측 블록을 적어도 두 개의 영역으로 분류하는 단계;
    상기 분류 결과에 따라, 각각의 영역에 대한 오프셋 값을 산출하는 단계; 및
    상기 예측 블록의 픽셀 값에 상기 영역 별로 산출된 오프셋 값을 적용하여 오프셋 예측 블록을 생성하는 단계를 구비하는 것을 특징으로 하는 비디오 부호화 방법.
  2. 제1항에 있어서,
    정수 픽셀 위치 이외의 서브 픽셀 위치의 예측 블록을 생성하기 위하여, 상기 정수 픽셀 값에 대한 보간 필터링 동작을 수행하는 단계를 더 구비하는 것을 특징으로 하는 비디오 부호화 방법.
  3. 제1항에 있어서, 상기 픽셀들의 특성을 검출하는 단계는,
    상기 예측 블록에 포함되는 픽셀들 각각의 휘도 및 에지 특성 중 적어도 하나는 검출하는 단계를 포함하는 것을 특징으로 하는 비디오 부호화 방법.
  4. 제1항에 있어서, 상기 예측 블록을 적어도 두 개의 영역으로 분류하는 단계는,
    상기 예측 블록에 포함되는 픽셀들 각각의 특성에 따라 각각의 픽셀이 속하는 클래스를 분류하는 단계; 및
    상기 분류 결과에 따라 동일 또는 유사한 클래스에 속하는 픽셀들을 동일 영역으로 설정하는 단계를 포함하는 것을 특징으로 하는 비디오 부호화 방법.
  5. 제1항에 있어서,
    상기 예측 블록은 제1 영역에 속하는 제1 픽셀 및 제2 영역에 속하는 제2 픽셀을 포함하고,
    상기 오프셋 예측 블록을 생성하는 단계는, 상기 제1 픽셀을 제1 오프셋 값과 합산하고, 상기 제2 픽셀을 제2 오프셋 값과 합산하는 단계를 포함하는 것을 특징으로 하는 비디오 부호화 방법.
  6. 제1항에 있어서,
    상기 예측 블록은 제1 내지 제n 영역을 포함하고(단, n은 2 이상의 정수),
    상기 오프셋 값을 산출하는 단계는, 상기 제1 내지 제n 영역 각각에 대응하는 제1 내지 제n 오프셋 값을 산출하는 단계를 포함하는 것을 특징으로 하는 비디오 부호화 방법.
  7. 비트스트림에 포함된 다수 개의 오프셋 값들을 파싱하는 단계;
    움직임 벡터에 기반하여 예측 블록을 생성하는 단계;
    상기 예측 블록에 포함되는 픽셀들의 특성에 따라 상기 예측 블록을 다수 개의 영역으로 분류하는 단계; 및
    서로 다른 영역에 속하는 픽셀들에 대해 서로 다른 오프셋 값을 적용하여 상기 예측 블록에 대응하는 원본 블록을 생성하는 단계를 구비하는 것을 특징으로 하는 비디오 복호화 방법.
  8. 제7항에 있어서,
    상기 비트스트림으로부터 제1 및 제2 오프셋 값들이 파싱되며, 상기 예측 블록은 제1 영역 및 제2 영역을 포함하고,
    상기 원본 블록을 생성하는 단계는, 상기 예측 블록의 제1 영역에 포함된 픽셀 값과 상기 제1 오프셋 값을 합산하고, 상기 예측 블록의 제2 영역에 포함된 픽셀 값과 상기 제2 오프셋 값을 합산하는 단계를 포함하는 것을 특징으로 하는 비디오 복호화 방법.
  9. 제7항에 있어서,
    정수 픽셀 위치와 서로 다른 서브 픽셀 위치의 예측 블록을 생성하기 위하여, 정수 픽셀 값들을 이용하여 보간 필터링 동작을 수행하는 단계를 더 구비하는 것을 특징으로 하는 비디오 복호화 방법.
  10. 제7항에 있어서, 상기 예측 블록을 다수 개의 영역으로 분류하는 단계는,
    상기 예측 블록의 픽셀들 각각의 휘도 및 에지 특성 중 적어도 하나를 판단하는 단계; 및
    상기 판단 결과에 따라, 상기 픽셀들 각각이 속하는 클래스를 분류하는 단계를 포함하는 것을 특징으로 하는 비디오 복호화 방법.
  11. 제10항에 있어서, 상기 예측 블록을 다수 개의 영역으로 분류하는 단계는,
    상기 분류 결과에 따라 동일 또는 유사한 클래스에 속하는 픽셀들을 동일 영역으로 설정하는 단계를 더 포함하는 것을 특징으로 하는 비디오 복호화 방법.
  12. 제7항에 있어서, 상기 원본 블록을 생성하는 단계는,
    상기 예측 블록에 포함된 각각의 픽셀 값을 대응하는 오프셋 값과 합산하여 제1 연산 결과를 발생하는 단계; 및
    상기 비트스트림에 포함된 잔류 데이터 정보와 상기 제1 연산 결과를 합산하여 제2 연산 결과를 발생하는 단계를 포함하는 것을 특징으로 하는 비디오 데이터 방법.
  13. 제7항에 있어서,
    상기 비트스트림에는 영역 별 오프셋 값을 적용할 지 여부를 나타내는 제1 정보가 더 포함되고,
    상기 예측 블록을 다수 개의 영역으로 분류하는 단계는 상기 제1 정보의 상태에 따라 선택적으로 수행되는 것을 특징으로 하는 비디오 복호화 방법.
  14. 제7항에 있어서,
    상기 비트스트림에는 상기 영역 분류 기준에 관련된 제1 정보가 더 포함되고,
    상기 예측 블록을 다수 개의 영역으로 분류하는 단계는, 상기 제1 정보에 근거하여 상기 예측 블록에 포함되는 픽셀들의 휘도 레벨 및 에지 카테고리 중 적어도 하나의 특성을 검출하는 단계를 포함하는 것을 특징으로 하는 비디오 복호화 방법.
  15. 제7항에 있어서,
    상기 예측 블록은 제1 내지 제n 영역을 포함하고(단, n은 2 이상의 정수),
    상기 파싱되는 오프셋 값들은, 상기 제1 내지 제n 영역 각각에 대응하는 제1 내지 제n 오프셋 값들을 포함하는 것을 특징으로 하는 비디오 복호화 방법.
  16. 비트스트림을 수신하여 복호화 동작을 수행하는 비디오 복호화 장치에 있어서, 상기 비디오 복호화 장치는 움직임 보상부를 구비하고,
    상기 움직임 보상부는,
    상기 비트스트림에 포함된 움직임 벡터에 기반하여 예측 블록을 생성하는 예측블록 생성부;
    상기 예측 블록에 포함되는 픽셀들의 특성에 따라 상기 예측 블록을 다수 개의 영역으로 분류하는 클래스 분류부; 및
    상기 비트스트림에 포함된 다수 개의 오프셋 값과 상기 예측 블록의 픽셀들에 대한 연산 동작을 통해 움직임 보상 결과를 발생하는 연산부를 구비하는 것을 특징으로 하는 비디오 복호화 장치.
  17. 제16항에 있어서, 상기 클래스 분류부는,
    상기 예측 블록에 포함되는 픽셀들의 휘도 레벨 및 에지 카테고리 특성 중 적어도 하나에 기반하여 상기 픽셀들 각각이 속하는 클래스를 분류하는 것을 특징으로 하는 비디오 복호화 장치.
  18. 제16항에 있어서, 상기 움직임 보상부는,
    상기 비트스트림에 포함되는 다수의 오프셋 값들을 파싱하는 오프셋 값 추출부를 더 구비하는 것을 특징으로 하는 비디오 복호화 장치.
  19. 제16항에 있어서, 상기 연산부는,
    상기 예측 블록의 픽셀의 값과, 상기 픽셀이 속하는 영역마다 서로 다른 값을 갖는 오프셋 값을 합산하는 것을 특징으로 하는 비디오 복호화 장치.
  20. 제16항의 비디오 복호화 장치를 구비하는 어플리케이션 프로세서.
KR20130125547A 2013-10-21 2013-10-21 움직임 보상을 수행하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 KR20150045819A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR20130125547A KR20150045819A (ko) 2013-10-21 2013-10-21 움직임 보상을 수행하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
DE201410115013 DE102014115013A1 (de) 2013-10-21 2014-10-16 Videokodierverfahren und Vorrichtung, und Videodekodierverfahren und Vorrichtung, die eine Bewegungskompensation durchführen
US14/515,905 US20150110191A1 (en) 2013-10-21 2014-10-16 Video encoding method and apparatus, and video decoding method and apparatus performing motion compensation
CN201410563298.7A CN104581179A (zh) 2013-10-21 2014-10-21 执行运动补偿的视频编码和解码方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130125547A KR20150045819A (ko) 2013-10-21 2013-10-21 움직임 보상을 수행하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20150045819A true KR20150045819A (ko) 2015-04-29

Family

ID=52775339

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130125547A KR20150045819A (ko) 2013-10-21 2013-10-21 움직임 보상을 수행하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치

Country Status (4)

Country Link
US (1) US20150110191A1 (ko)
KR (1) KR20150045819A (ko)
CN (1) CN104581179A (ko)
DE (1) DE102014115013A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019009667A1 (ko) * 2017-07-06 2019-01-10 가온미디어 주식회사 동기화된 영상의 처리 방법 및 그 장치

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102365685B1 (ko) * 2015-01-05 2022-02-21 삼성전자주식회사 인코더의 작동 방법과 상기 인코더를 포함하는 장치들
EP3291553A1 (en) * 2016-08-30 2018-03-07 Thomson Licensing Method and apparatus for video coding with sample adaptive offset
CN108769529B (zh) * 2018-06-15 2021-01-15 Oppo广东移动通信有限公司 一种图像校正方法、电子设备及计算机可读存储介质
JP2020108077A (ja) * 2018-12-28 2020-07-09 富士通株式会社 映像符号化装置、映像符号化方法、映像符号化プログラム、映像復号装置、映像復号方法、及び映像復号プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6839463B1 (en) * 2000-12-22 2005-01-04 Microsoft Corporation System and method providing subpixel-edge-offset-based determination of opacity
GB2431798A (en) * 2005-10-31 2007-05-02 Sony Uk Ltd Motion vector selection based on integrity
KR20090099720A (ko) * 2008-03-18 2009-09-23 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US8705622B2 (en) * 2008-04-10 2014-04-22 Qualcomm Incorporated Interpolation filter support for sub-pixel resolution in video coding
US8804831B2 (en) * 2008-04-10 2014-08-12 Qualcomm Incorporated Offsets at sub-pixel resolution
US9078007B2 (en) * 2008-10-03 2015-07-07 Qualcomm Incorporated Digital video coding with interpolation filters and offsets
JP5115498B2 (ja) * 2009-03-05 2013-01-09 富士通株式会社 画像符号化装置、画像符号化制御方法およびプログラム
KR101847072B1 (ko) * 2010-04-05 2018-04-09 삼성전자주식회사 영상 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US9094658B2 (en) * 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
US9344743B2 (en) * 2011-08-24 2016-05-17 Texas Instruments Incorporated Flexible region based sample adaptive offset (SAO) and adaptive loop filter (ALF)
KR101381710B1 (ko) 2012-05-09 2014-04-04 파워카본테크놀로지 (주) 코크스를 이용한 전극용 활성탄의 제조방법 및 전극용 활성탄 조성물의 제조방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019009667A1 (ko) * 2017-07-06 2019-01-10 가온미디어 주식회사 동기화된 영상의 처리 방법 및 그 장치

Also Published As

Publication number Publication date
US20150110191A1 (en) 2015-04-23
DE102014115013A1 (de) 2015-04-23
CN104581179A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
US20230319289A1 (en) Method and system for decoder-side intra mode derivation for block-based video coding
CN112889269B (zh) 视频解码方法及装置
US10939096B2 (en) Control-point based intra direction representation for intra coding
US11368700B2 (en) Apparatus, a method and a computer program for video coding
WO2017005146A1 (zh) 视频编码和解码方法、视频编码和解码装置
CN110557631B (zh) 图像预测方法和相关设备
Zhang et al. Low-rank-based nonlocal adaptive loop filter for high-efficiency video compression
WO2018219357A1 (en) Intra prediction using unequal weight planar prediction
US20190037227A1 (en) Techniques for hardware video encoding
JP2017532858A (ja) モデルベースの映像符号化用の知覚的最適化
US20120076207A1 (en) Multiple-candidate motion estimation with advanced spatial filtering of differential motion vectors
JP7260562B2 (ja) 複雑性の低いフレームレートアップ変換
KR20150045819A (ko) 움직임 보상을 수행하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
CN110169059B (zh) 视频代码化的复合预测
WO2010116268A1 (en) Method and apparatus for encoding and decoding of image and video signals
Anand et al. Algorithm and architecture for adaptive motion estimation in video processing
WO2022116119A1 (zh) 一种帧间预测方法、编码器、解码器及存储介质
KR20170030302A (ko) 보간 필터의 연산 복잡도를 조절할 수 있는 영상 처리 장치, 영상 보간 방법 및 영상 부호화 방법
JP2007510344A (ja) 電力最適化された配列動き予測方法
Lee et al. The video spatial error concealment algorithm using separately-directional interpolation technique
CN113767636B (zh) 帧内模式编解码的方法和系统
CN113785565B (zh) 视频编解码的方法和系统
WO2020042724A1 (zh) 帧间预测方法、装置以及视频编码器和视频解码器
Banitalebi et al. A perceptual based motion compensation technique for video coding
WO2023287417A1 (en) Warped motion compensation with explicitly signaled extended rotations

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application