KR100772873B1 - 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더 - Google Patents

스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더 Download PDF

Info

Publication number
KR100772873B1
KR100772873B1 KR1020060022871A KR20060022871A KR100772873B1 KR 100772873 B1 KR100772873 B1 KR 100772873B1 KR 1020060022871 A KR1020060022871 A KR 1020060022871A KR 20060022871 A KR20060022871 A KR 20060022871A KR 100772873 B1 KR100772873 B1 KR 100772873B1
Authority
KR
South Korea
Prior art keywords
block
prediction
smoothing
current
smoothed
Prior art date
Application number
KR1020060022871A
Other languages
English (en)
Other versions
KR20070075222A (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 US11/519,131 priority Critical patent/US20070171969A1/en
Priority to AU2006235923A priority patent/AU2006235923B2/en
Priority to PCT/KR2006/004742 priority patent/WO2007081082A1/en
Priority to BRPI0604967-2A priority patent/BRPI0604967A/pt
Priority to CA002570282A priority patent/CA2570282A1/en
Priority to TW095145329A priority patent/TW200727709A/zh
Priority to EP06125975A priority patent/EP1809040A2/en
Priority to RU2007101271/09A priority patent/RU2355126C2/ru
Priority to JP2007004773A priority patent/JP2007189698A/ja
Publication of KR20070075222A publication Critical patent/KR20070075222A/ko
Application granted granted Critical
Publication of KR100772873B1 publication Critical patent/KR100772873B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A46BRUSHWARE
    • A46BBRUSHES
    • A46B13/00Brushes with driven brush bodies or carriers
    • A46B13/08Brushes with driven brush bodies or carriers hand-driven
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • AHUMAN NECESSITIES
    • A46BRUSHWARE
    • A46BBRUSHES
    • A46B7/00Bristle carriers arranged in the brush body
    • A46B7/06Bristle carriers arranged in the brush body movably during use, i.e. the normal brushing action causing movement
    • A46B7/08Bristle carriers arranged in the brush body movably during use, i.e. the normal brushing action causing movement as a rotating disc
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • AHUMAN NECESSITIES
    • A46BRUSHWARE
    • A46BBRUSHES
    • A46B2200/00Brushes characterized by their functions, uses or applications
    • A46B2200/10For human or animal care
    • A46B2200/1066Toothbrush for cleaning the teeth or dentures

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 다계층 기반의 비디오 코딩에 있어서, 잔차 예측시 블록 인위성(block artifact)을 감소시키는 방법 및 장치에 관한 것이다.
본 발명의 일 실시예에 따른 다계층 기반의 비디오 인코딩 방법은, 현재 픽쳐에 포함되는 제1 블록과 대응되는 하위 픽쳐의 제2 블록에 대한 예측 블록과 상기 제2 블록과의 차분을 구하는 단계와, 상기 구한 차분과, 상기 제1 블록에 대한 예측 블록을 가산하는 단계와, 상기 가산 결과 생성되는 제3 블록을 스무딩 함수를 이용하여 스무딩하는 단계와, 상기 제1 블록과 상기 스무딩된 제3 블록과의 차분을 부호화하는 단계로 이루어진다.
스케일러블 비디오 코딩, H.264, 인터 예측, 잔차 예측, 인트라 베이스 예측

Description

스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법, 디코딩 방법, 비디오 인코더 및 비디오 디코더{Video encoding method, video decoding method, video encoder, and video decoder, which use smoothing prediction}
도 1은 종래의 인터 예측 기법을 설명하는 도면이다.
도 2는 종래의 인트라 베이스 예측 기법을 설명하는 도면이다.
도 3은 종래의 잔차 예측 기법을 설명하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 스무딩 예측 기법을 설명하는 도면이다.
도 5 내지 도 8은 매크로블록 단위로 스무딩 필터를 적용하는 구체적인 예를 보여주는 도면이다.
도 9는 1:2:1 스무딩 필터를 사용하여 얻은 PSNR을 기준으로 다른 적응적 필터를 사용하여 얻은 PSNR을 도시한 그래프이다.
도 10은 본 발명의 일 실시예에 따른 비디오 인코더의 구성을 도시한 블록도이다.
도 11은 본 발명의 일 실시예에 따른 비디오 디코더의 구성을 도시한 블록도이다.
도 12는 본 발명의 다른 실시예에 따른 비디오 디코더의 구성을 도시한 블록도이다.
(도면의 주요부분에 대한 부호 설명)
100 : 비디오 인코더 101, 201, 340 : 버퍼
103 : 다운샘플러 110, 210, 350 : 모션 보상부
115, 215 : 차분기 120, 220 : 변환부
125, 225 : 양자화부 130, 370 : 스무딩 필터
135, 330, 360 : 가산기 140, 380 : 업샘플러
150 : 엔트로피 부호화부 205 : 모션 추정부
300, 400 : 비디오 디코더 305 : 엔트로피 복호화부
310, 410 : 역 양자화부 320, 420 : 역 변환부
본 발명은 비디오 코딩 기술에 관한 것으로, 보다 상세하게는 다계층 기반의 비디오 코딩에 있어서, 잔차 예측시 블록 인위성(block artifact)을 감소시키는 방법 및 장치에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송시에 넓은 대역폭을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다.
데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy) 요소를 제거하는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 픽쳐에서 인접 픽쳐가 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려하여 지각적 중복을 제거함으로써 데이터를 압축할 수 있다. 일반적인 비디오 코딩 방법에 있어서, 시간적 중복은 모션 보상에 근거한 시간적 필터링(temporal filtering)에 의해 제거하고, 공간적 중복은 공간적 변환(spatial transform)에 의해 제거한다.
데이터의 중복을 제거한 후 생성되는 멀티미디어를 전송하기 위해서는, 전송매체가 필요한데 그 성능은 전송매체 별로 차이가 있다. 현재 사용되는 전송매체는 초당 수십 메가 비트의 데이터를 전송할 수 있는 초고속 통신망부터 초당 384kbit의 전송속도를 갖는 이동통신망 등과 같이 다양한 전송속도를 갖는다. 이와 같은 환경에서, 다양한 속도의 전송매체를 지원하기 위하여 또는 전송환경에 따라 이에 적합한 전송률로 멀티미디어를 전송할 수 있도록 하는, 즉 스케일러블 비디오 코딩(scalable video coding) 방법이 멀티미디어 환경에 보다 적합하다 할 수 있다.
스케일러블 비디오 코딩이란, 이미 압축된 비트스트림(bit-stream)에 대하여 전송 비트율, 전송 에러율, 시스템 자원 등의 주변 조건에 따라 상기 비트스트림의 일부를 잘라내어 비디오의 해상도, 프레임율, 및 SNR(Signal-to-Noise Ratio) 등을 조절할 수 있게 해주는 부호화 방식, 즉 다양한 스케일러빌리티(scalability)를 지원하는 부호화 방식을 의미한다.
현재, MPEG (Moving Picture Experts Group)과 ITU (International Telecommunication Union)의 공동 작업 그룹(working group)인 JVT (Joint Video Team)에서는 H.264를 기본으로 하여 다계층(multi-layer) 형태로 스케일러빌리티를 구현하기 위한 표준화 작업(이하, H.264 SE(scalable extension)이라 함)을 진행 중에 있다.
H.264 SE와 다계층 기반의 스케일러블 비디오 코덱(codec)은 기본적으로 인터 예측(inter prediction), 방향적 인트라 예측(directional intra prediction; 이하 단순히 인트라 예측이라고 함), 잔차 예측(residual prediction), 및 인트라 베이스 예측(intra base prediction)의 4가지 예측 모드를 지원한다. "예측"이라 함은 인코더 및 디코더에서 공통으로 이용 가능한 정보로부터 생성된 예측 데이터를 이용하여 오리지널 데이터를 압축적으로 표시하는 기법을 의미한다.
상기 4가지 예측 모드 중에서 인터 예측은 기존의 단일 계층 구조를 갖는 비디오 코덱에서도 일반적으로 사용되는 예측 모드이다. 인터 예측은, 도 1에 도시하는 바와 같이, 적어도 하나 이상의 참조 픽쳐로부터 현재 픽쳐의 어떤 블록(현재 블록)과 가장 유사한 블록을 탐색하고 이로부터 현재 블록을 가장 잘 표현할 수 있는 예측 블록을 얻은 후, 상기 현재 블록과 상기 예측 블록과의 차분을 양자화하는 방식이다.
인터 예측은 참조 픽쳐를 참조하는 방식에 따라서, 두 개의 참조 픽쳐가 쓰이는 양방향 예측(bi-directional prediction)과, 이전 참조 픽쳐가 사용되는 순방향 예측(forward prediction)과, 이후 참조 픽쳐가 사용되는 역방향 예측(backward prediction) 등이 있다.
한편, 인트라 예측도 H.264와 같은 단일 계층의 비디오 코덱에서도 사용되는 예측 기법이다. 인트라 예측은, 현재 블록의 주변 블록 중 현재 블록과 인접한 픽셀을 이용하여 현재 블록을 예측하는 방식이다. 인트라 예측은 현재 픽쳐 내의 정보만을 이용하며 동일 계층 내의 다른 픽쳐나 다른 계층의 픽쳐를 참조하지 않는 점에서 다른 예측 방식과 차이가 있다.
인트라 베이스 예측(intra base prediction)은 다계층 구조를 갖는 비디오 코덱에서, 현재 픽쳐가 동일한 시간적 위치를 갖는 하위 계층의 픽쳐(이하 "기초 픽쳐"라 함)를 갖는 경우에 사용될 수 있다. 도 2에서 도시하는 바와 같이, 현재 픽쳐의 매크로블록은 상기 매크로블록과 대응되는 상기 기초 픽쳐의 매크로블록으로부터 효율적으로 예측될 수 있다. 즉, 현재 픽쳐의 매크로블록과 상기 기초 픽쳐의 매크로블록과의 차분이 양자화된다.
만일 하위 계층의 해상도와 현재 계층의 해상도가 서로 다른 경우에는, 상기 차분을 구하기 전에 상기 기초 픽쳐의 매크로블록은 상기 현재 계층의 해상도로 업샘플링되어야 할 것이다. 이러한 인트라 베이스 예측은 인터 예측의 효율이 높지 않는 경우, 예를 들어, 움직임이 매우 빠른 영상이나 장면 전환이 발생하는 영상에서 특히 효과적이다.
마지막으로, 잔차 예측을 통한 인터 예측(Inter-prediction with residual prediction; 이하 단순히 "잔차 예측"이라고 함)은 기존의 단일 계층에서의 인터 예측을 다계층의 형태로 확장한 것이다. 도 3에서 보는 바와 같이 잔차 예측에 따 르면, 현재 계층의 인터 예측 과정에서 생성된 차분을 직접 양자화하는 것이 아니라, 상기 차분과 하위 계층의 인터 예측 과정에서 생성된 차분을 다시 차감하여 그 결과를 양자화한다.
다양한 비디오 시퀀스의 특성을 감안하여, 상술한 4가지 예측 방법은 픽쳐를 이루는 매크로블록 별로 그 중에서 보다 효율적인 방법이 선택된다. 예를 들어, 움직임이 느린 비디오 시퀀스에서는 주로 인터 예측 내지 잔차 예측이 선택될 것이며, 움직임이 빠른 비디오 시퀀스에서는 주로 인트라 베이스 예측이 선택될 것이다.
다계층 구조를 갖는 비디오 코덱은 단일 계층으로 된 비디오 코덱에 비하여 상대적으로 복잡한 예측 구조를 가지고 있을 뿐만 아니라, 개방 루프(open-loop) 구조가 주로 사용됨으로써, 단일 계층 코덱에 비하여 블록 인위성(blocking artifact)이 많이 나타난다. 특히, 상술한 잔차 예측의 경우는 하위 계층 픽쳐의 잔차 신호를 사용하는데, 이것이 현재 계층 픽쳐의 인터 예측된 신호의 특성과 차이가 큰 경우에는 심한 왜곡이 발생될 수 있다.
반면에, 인트라 베이스 예측시 현재 픽쳐의 매크로블록에 대한 예측 신호, 즉 기초 픽쳐의 매크로블록은 오리지널 신호가 아니라 양자화된 후 복원된 신호이다. 따라서, 상기 예측 신호는 인코더 및 디코더 모두 공통으로 얻을 수 있는 신호이므로 인코더 및 디코더간의 미스매치(mismatch)가 발생하지 않고, 특히 상기 예측 신호에 스무딩 필터를 적용한 후 현재 픽쳐의 매크로블록과의 차분을 구하기 때문에 블록 인위성도 많이 줄어든다.
그런데, 인트라 베이스 예측은 현재 H.264 SE의 작업 초안(working draft)으로 채 택되어 있는 저 복잡성 디코딩(low complexity decoding) 조건 내지 단일 루프 디코딩(single-loop decoding) 조건에 따르면 그 사용이 제한된다. 즉, H.264 SE에서는 인코딩은 다계층 방식으로 수행하더라도 디코딩 만큼은 단일 계층 비디오 코덱과 유사한 방식으로 수행될 수 있도록, 특정한 조건을 만족하는 경우에만 인트라 베이스 예측이 사용될 수 있다.
상기 저 복잡성 디코딩 조건에 따르면, 현재 계층의 어떤 매크로블록에 대응되는 하위 계층의 매크로블록의 매크로블록 종류(macroblock type)가 인트라 예측 모드 또는 인트라 베이스 예측 모드인 경우에만, 상기 인트라 베이스 예측이 사용된다. 이는 디코딩 과정에서 가장 많은 연산량을 차지하는 모션 보상 과정에 따른 연산량을 감소시키기 위함이다. 반면에, 인트라 베이스 예측을 제한적으로만 사용하게 되므로 움직임이 빠른 영상에서의 성능이 많이 하락하는 문제가 있다.
따라서, 상기 저 복잡성 조건 또는 기타 다른 조건에 따라서 인터 예측 또는 잔차 예측이 사용되는 경우에 있어서 인코더-디코더 간의 미스매치, 블록 인위성 등 각종 왜곡을 감소시킬 수 있는 기술이 필요하다.
본 발명이 이루고자 하는 기술적 과제는, 다계층 기반의 비디오 코덱에서 인터 예측 또는 잔차 예측시 코딩 성능을 향상시키는 것을 목적으로 한다.
본 발명의 기술적 과제들은 상기 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기한 기술적 과제를 달성하기 위하여, 본 발명의 일 실시예에 따른 비디오 인코딩 방법은, 현재 픽쳐에 포함되는 제1 블록과 대응되는 하위 픽쳐의 제2 블록에 대한 예측 블록과 상기 제2 블록과의 차분을 구하는 단계; 상기 구한 차분과, 상기 제1 블록에 대한 예측 블록을 가산하는 단계; 상기 가산 결과 생성되는 제3 블록을 스무딩 함수를 이용하여 스무딩하는 단계; 및 상기 제1 블록과 상기 스무딩된 제3 블록과의 차분을 부호화하는 단계를 포함한다.
상기한 기술적 과제를 달성하기 위하여, 본 발명의 일 실시예에 따른 비트스트림 생성 방법은, 현재 계층에 포함되는 제1 블록에 대한 예측 신호를 스무딩하는 단계; 상기 제1 블록과 상기 스무딩된 예측 신호와의 차분을 인코딩하는 단계; 및 상기 인코딩된 차분과, 상기 스무딩의 적용 여부를 나타내는 제1 플래그를 포함하여 비트스트림을 생성하는 단계를 포함한다.
상기한 기술적 과제를 달성하기 위하여, 본 발명의 일 실시예에 따른 비디오 디코딩 방법은, 입력된 비트스트림에 포함되는 현재 픽쳐의 제1 블록에 대한 텍스쳐 데이터로부터 상기 제1 블록의 잔차 신호를 복원하는 단계; 상기 비트스트림에 포함되며, 상기 블록과 대응되는 기초 계층의 제2 블록에 대한 잔차 신호를 복원하는 단계; 상기 제2 블록에 대한 잔차 신호와 상기 제1 블록에 대한 예측 블록을 가산하는 단계; 상기 가산 결과 생성되는 제3 블록을 스무딩 필터를 이용하여 스무딩하는 단계; 및 상기 제1 블록에 대한 잔차 신호와 상기 스무딩된 제3 블록을 가산하는 단계를 포함한다.
상기한 기술적 과제를 달성하기 위하여, 본 발명의 다른 실시예에 따른 비디오 디코딩 방법은, 입력된 비트스트림에 포함되는 현재 픽쳐의 제1 블록에 대한 텍스쳐 데이터로부터 상기 제1 블록의 잔차 신호를 복원하는 단계; 상기 비트스트림에 포함되며, 상기 블록과 대응되는 기초 계층의 제2 블록에 대한 잔차 신호를 복원하는 단계; 상기 제1 잔차 신호와 상기 제2 잔차 신호를 가산하는 단계; 상기 제1 블록에 대한 인터 예측 블록을 스무딩 필터를 이용하여 스무딩하는 단계; 및 상기 가산된 결과와 상기 스무딩된 인터 예측 블록을 가산하는 단계를 포함한다.
상기한 기술적 과제를 달성하기 위하여, 본 발명의 일 실시예에 따른 비디오 인코더는, 현재 픽쳐에 포함되는 제1 블록과 대응되는 하위 픽쳐의 제2 블록에 대한 예측 블록과 상기 제2 블록과의 차분을 구하는 수단; 상기 구한 차분과, 상기 제1 블록에 대한 예측 블록을 가산하는 수단; 상기 가산 결과 생성되는 제3 블록을 스무딩 함수를 이용하여 스무딩하는 수단; 및 상기 제1 블록과 상기 스무딩된 제3 블록과의 차분을 부호화하는 수단을 포함한다.
상기한 기술적 과제를 달성하기 위하여, 본 발명의 일 실시예에 따른 비디오 디코더는, 입력된 비트스트림에 포함되는 현재 픽쳐의 제1 블록에 대한 텍스쳐 데이터로부터 상기 제1 블록의 잔차 신호를 복원하는 수단; 상기 비트스트림에 포함되며, 상기 블록과 대응되는 기초 계층의 제2 블록에 대한 잔차 신호를 복원하는 수단; 상기 제2 블록에 대한 잔차 신호와 상기 제1 블록에 대한 예측 블록을 가산하는 수단; 상기 가산 결과 생성되는 제3 블록을 스무딩 필터를 이용하여 스무딩하는 수단; 및 상기 제1 블록에 대한 잔차 신호와 상기 스무딩된 제3 블록을 가산하는 수 단을 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
현재 픽쳐의 블록을 OF, 상기 블록을 인터 예측하여 얻은 예측 블록을 PF, 상기 현재 픽쳐의 블록에 대응되는 기초 픽쳐의 블록을 OB, 기초 픽쳐를 인터 예측하여 얻은 예측 블록을 PB라고 하자. 그러면, 상기 OB가 갖는 잔차 신호인 RB는 OB-PB로부터 구해진다.
이때, OB, PB, RB는 이미 양자화된 후 복원된 값이며, OF, PF는 개방 루프 방식의 경우에는 오리지널 신호, 폐쇄 루프(closed-loop) 방식의 경우에는 양자화 후 복원된 값을 의미한다. 이 때, 현재 픽쳐에서 코딩하고자 하는 값을 RF라고 하면, 잔차 예측은 다음의 수학식 1과 같이 표현될 수 있다. 수학식 1에서 U는 업샘플링 함수를 나타낸다. 상기 업샘플링함수는 현재 계층과 하위 계층간에 해상도가 다른 경우에 만 적용되므로 선택적으로 적용될 수 있다는 의미에서 [U]로 표시하였다.
Figure 112006017245076-pat00001
한편, 인트라 베이스 예측은 다음의 수학식 2와 같이 표현될 수 있다.
Figure 112006017245076-pat00002
수학식 1 및 2를 비교하면 일견 공통점이 없어 보이지만 각 수학식을 다음의 수학식 3 및 4로 각각 다시 표현함으로써 그 유사성을 비교할 수 있다.
Figure 112006017245076-pat00003
Figure 112006017245076-pat00004
수학식 4에서 B는 디블록 함수를 나타낸다. 수학식 3과 수학식 4를 비교해 보면, RB는 양자에 공통이며, 가장 큰 차이점은 수학식 3에서는 현재 계층의 인터 예측된 예측 블록인 PF를, 수학식 4에서는 하위 계층의 인터 예측된 예측 블록인 PB를 사용하는 점이다. 또한, 인트라 베이스 예측의 경우에는 디블록 함수 및 업샘플링 함수가 적용되면, 복원되는 픽쳐의 이미지가 부드럽게 되어 블록 인위성이 감소된다.
반면에, 수학식 3의 경우 PB로부터 구한 기초 픽쳐의 잔차 신호인 RB를 현재 픽쳐의 인트 예측된 블록인 PF에 더함으로써 계층간 미스매치 또는 블록 인위성이 발생할 수 있다. 물론, 인트라 베이스 예측을 사용한다면 이러한 문제가 완화되겠지만, 잔차 예측에 비하여 인트라 베이스 예측의 효율이 높지 않은 경우에까지 인트라 베이스 예측을 사용할 수는 없다. 또한, 저 복잡성 디코딩 조건이 적용되는 경우에는 인트라 베이스 예측이 보다 효율적인 상황에서도 인트라 베이스 예측이 사용되지 않는 블록들이 증가되어 성능 하락이 두드러지게 된다. 따라서, 이러한 경우에는 잔차 예측을 사용하면서도 블록 인위성을 줄일 수 있는 방법을 강구하여야 할 것이다.
본 발명에서는 수학식 3에 스무딩 함수(smoothing function) F를 추가함으로써 기존의 잔차 예측을 보완하고자 한다. 본 발명에 따르면, 양자화되어야 할 현재 블록의 데이터 RF는 다음의 수학식 5와 같이 표현된다.
Figure 112006017245076-pat00005
상기 수학식 5에 따른 예측 모드는 인터 예측에도 그대로 적용될 수 있다. 즉, 인터 예측의 경우에는 RB가 0인 경우로 볼 수 있으므로, RF는 다음의 수학식 6과 같이 표현될 수 있다.
Figure 112006017245076-pat00006
이상의 수학식 5 및 6에서와 같이 기존의 잔차 예측 또는 인터 예측시 스무딩 필터를 적용하는 기법을 "스무딩 예측(smoothing prediction)"이라고 정의하기로 한다. 스무딩 예측을 수행하는 보다 자세한 과정은 도 4를 참조하여 설명한다. 도 4에서는, 현재 픽쳐의 어떤 블록(20; 이하 '현재 블록'이라고 함)을 부호화하는 과정을 예로 들고 있다. 상기 현재 블록(20)과 대응되는 기초 픽쳐 내의 블록(10)을 이하 '기초 블록'이라고 명명한다.
먼저, 기초 블록(10)과 모션 벡터에 의하여 대응되는 하위 계층의 주변 참조 픽쳐(순방향 참조 픽쳐, 역방향 참조 픽쳐 등)내의 블록(11, 12)으로부터, 기초 블록(10)에 대한 인터 예측 블록(13)을 생성한다(S1). 그리고, 기초 블록과 상기 예측 블록(13)과의 차분(수학식 5에서 RB에 해당됨)을 구한다(S2). 한편, 현재 블록(20)과 모션 벡터에 의하여 대응되는 현재 계층의 주변 참조 픽쳐 내의 블록(21, 22)로부터, 현재 블록(20)에 대한 인터 예측 블록(23; 수학식 5에서 PF에 해당됨)을 생성한다(S3). S3 단계는 S1, S2 단계 이전에 수행되어도 상관 없다. 일반적으로 상기 '인터 예측 블록'은 부호화하고자 하는 픽쳐 내의 어떤 블록과 대응되는 참조 픽쳐상의 이미지(또는 이미지들)로부터 구해지는, 상기 블록에 대한 예측 블록을 의미한다. 상기 블록과 이미지와의 대응은 모션 벡터에 의하여 표시된다. 일반적으로, 상기 인터 예측 블록은, 참조 픽쳐가 하나인 경우에는 상기 대응되는 이미지 자체를 의미하기도 하고, 참조 픽쳐가 복수인 경우에는 대응되는 이미지들의 가중합을 의미하기도 한다.
그 다음, 예측 블록(23)과 상기 S2 단계에서 구한 차분을 가산한다(S4). 그리고, 상기 가산 결과 생성되는 블록(수학식 5에서 PF+RB에 해당됨)을 스무딩 필터를 적용하여 스무딩한다(S5). 마지막으로, 현재 블록(20)과 상기 스무딩 결과 생성되는 블록(수학식 5에서 F(PF+RB)에 해당됨)과의 차분을 구한 후(S6), 상기 차분을 양자화한다(S7).
이상의 도 4는 잔차 예측을 기반으로 한 스무딩 예측 과정을 나타낸 것이다. 만약, 인터 예측을 기반으로 한 스무딩 예측 과정은 이보다는 훨씬 간단해 진다. 즉, 수학식 5에서 하위 계층에 대한 계산과 관련되는 RB가 생략되므로, 도 4의 설명에서 S1, S2, S4 과정은 모두 생략된다. 따라서, 현재 계층에서 생성된 인터 예측 블록(23)은 스무딩 필터에 의하여 스무딩된 후, 현재 블록(20)과 상기 스무딩 결과 생성되는 블록(수학식 6에서 F(PF)에 해당됨) 간의 차분이 양자화된다.
한편, 스무딩 예측에 실제로 어떠한 스무딩 필터(F)를 적용할 것인가도 중요한 문제이다. 이러한 스무딩 필터(F)로는 종래의 디블록 필터(B)를 그대로 사용할 수도 있다. 또한, 업샘플링 함수(U) 및 다운샘플링 함수(D)의 조합을 사용할 수도 있는데, 이는 상기 업샘플링 함수 및 다운샘플링 함수의 조합에 의하여도 스무딩 효과가 나타날 수 있기 때문이다.
그런데, 상기 디블록 함수(B), 업샘플링 함수, 다운샘플링 함수 등은 그 적용에 있어 상당한 연산량을 요하고, 다운샘플링 함수는 일반적으로 매우 강한 저역 통과 필터링(low-pass filtering)의 역할을 하므로, 예측시의 이미지의 디테일이 많이 저하될 가능성이 있다.
따라서, 상기 스무딩 필터 적용 과정이 작은 연산량에 의하여 수행될 수 있도록 할 필요가 있다. 이를 위하여, 상기 스무딩 필터(F)는 인접한 소정 개수의 픽셀 간의 선형 함수로서 간단히 표현될 수 있다. 예를 들어, 상기 소정 개수가 3이라고 한다면, 원래의 픽셀 값 x(n)으로부터 상기 스무딩 필터(F)에 의하여 필터링된 픽셀 값 x'(n)은 다음의 수학식 7과 같이 표시될 수 있다.
x'(n) = α*x(n-1) + β*x(n) + γ*x(n+1)
상기 α, β, γ는 그 합은 1이 되도록 적절히 선택될 수 있다. 예컨대, 수학식 7에서 α=1/4, β=1/2, γ=1/4로 선택함으로써 필터링하고자 하는 해당 픽셀의 가중치를 주변 픽셀에 비하여 높일 수 있다. 물론, 수학식 7에서 보다 더 많은 픽셀을 주변 픽셀로 선택할 수도 있을 것이다.
이러한 간단한 형태의 스무딩 필터(F)를 사용하면 연산량도 크게 줄일 수 있을 뿐만 아니라, 다운샘플링 등에서 발생되는 이미지 디테일 저하 현상도 어느 정도 방지할 수 있다.
도 5 내지 도 8은 이러한 스무딩 필터를 적용하는 구체적인 예로서, 16x16 크기의 매크로블록(60)에 대하여 스무딩 필터를 적용하는 실시예를 보여준다.
상기 실시예에 따르면, 스무딩 필터는 해당 매크로블록(60)에 대하여, 다음의 4개의 단계에 따라서 수행된다. 도 5를 참조하여 상기 4개의 단계 중 제1 단계를 설명한다.
우선, 수평 방향으로 3개의 인접한 픽셀을 포함하는 크기의 수평 윈도우(50)를 설정하고, 상기 수평 윈도우(50)에 포함되는 최초의 3개의 인접한 픽셀에 대하여 선형 함수로 된 스무딩 필터(F)를 적용한다. 일단 스무딩 필터(F)를 적용한 후에는 상기 수평 윈도우(50)를 한 픽셀만큼 수평 방향으로 이동하면서 상기 스무딩 필터(F)를 다시 적용한다. 이와 같은 과정을 통하여 상기 수평 윈도우(50)가 매크로블록(60)의 우측 경계에 닿으면 다시 최초 위치에서 하측으로 한 픽셀 만큼 이동한 후, 다시 수평 방향으로 이동하면서 스무딩 필터(F)를 적용한다. 이와 같은 과정은 매크로블록(60) 전체에 대하여 수행된다. 제1 단계에서, 하나의 매크로블록에 대한 상기 필터링 회수는 14(가로)×16(세로)=224회가 된다.
다음으로, 도 6을 참조하여 상기 4개의 단계 중 제2 단계를 설명한다. 우선, 수직 방향으로 3개의 인접한 픽셀을 포함하는 크기의 수직 윈도우(51)를 설정하고, 상기 수직 윈도우(51)에 포함되는 최초의 3개의 인접한 픽셀에 대하여 선형 함수로 된 스무딩 필터(F)를 적용한다. 일단 스무딩 필터(F)를 적용한 후에는 상기 수직 윈도우(51)를 한 픽셀만큼 수평 방향으로 이동하면서 상기 스무딩 필터(F)를 다시 적용한다. 이와 같은 과정을 통하여 상기 수직 윈도우(51)가 매크로블록(60)의 우측 경계에 닿으면 다시 최초 위치에서 하측으로 한 픽셀 만큼 이동한 후, 다시 수평 방향으로 이동하면서 스무딩 필터(F)를 적용한다. 이와 같은 과정은 매크로블록(60) 전체에 대하여 수행된다. 제2 단계에서, 하나의 매크로블록에 대한 상기 필터링 회수는 16(가로)×14(세로)=224회가 된다.
상기 제1 단계 및 제2 단계를 통하여, 매크로블록 경계에 인접하지 않은 매크로블 록(60) 내부의 픽셀에 대한 스무딩 필터(F)의 적용은 완료된다. 다음으로, 매크로블록(60)의 상측 경계에 인접한 픽셀에 대한 스무딩 필터의 적용 및, 매크로블록(60)의 좌측 경계에 인접한 픽셀에 대한 스무딩 필터의 적용이 필요하다.
도 7을 참조하여 상기 4개의 단계 중 제3 단계인 좌측 경계에 대한 필터링 과정을 설명한다. 수직 방향으로 3개의 인접한 픽셀을 포함하는 크기의 수평 윈도우(53)을 설정하되, 상기 수평 윈도우(53)의 중앙에 매크로블록(60)의 좌상단 픽셀이 위치하도록 한다. 그리고, 상기 수평 윈도우(53)에 포함되는 최초의 3개의 인접한 픽셀에 대하여 선형 함수로 된 스무딩 필터(F)를 적용한다. 일단 스무딩 필터(F)를 적용한 후에는 상기 수평 윈도우(53)를 한 픽셀만큼 수직 방향으로 이동하면서 상기 스무딩 필터(F)를 다시 적용한다. 이와 같은 과정은 상기 수평 윈도우(53)가 매크로블록(60)의 하측 경계에 닿을 때까지 수행된다. 제3 단계에서, 하나의 매크로블록(60)에 대한 상기 필터링 회수는 16회가 된다.
마지막으로, 도 8을 참조하여 상기 4개의 단계 중 제4 단계인 상측 경계에 대한 필터링 과정을 설명한다. 수직 방향으로 3개의 인접한 픽셀을 포함하는 크기의 수직 윈도우(54)을 설정하되, 상기 수직 윈도우(54)의 중앙에 매크로블록(60)의 좌상단 픽셀이 위치하도록 한다. 그리고, 상기 수직 윈도우(54)에 포함되는 최초의 3개의 인접한 픽셀에 대하여 선형 함수로 된 스무딩 필터(F)를 적용한다. 일단 스무딩 필터(F)를 적용한 후에는 상기 수직 윈도우(54)를 한 픽셀만큼 수평 방향으로 이동하면서 상기 스무딩 필터(F)를 다시 적용한다. 이와 같은 과정은 상기 수직 윈도우(54)가 매크로블록(60)의 우측 경계에 닿을 때까지 수행된다. 제4 단계에서, 하나 의 매크로블록에 대한 상기 필터링 회수는 16회가 된다.
이상의 4개의 단계에서 각 단계는 순서가 서로 변경되어도 본 발명에서 의도하는 효과를 나타내는 데에는 큰 영향이 없다. 뿐만 아니라, 상기 도 5 내지 도 8의 실시예에서는 수학식 7에서의 α, β, γ의 비를 1:2:1로 하였지만, 상기 비를 다르게 하더라도 그 효과는 그다지 큰 차이가 없다. 이는 다음의 도 9의 실험 결과로부터 알 수 있다.
도 9는 1:2:1 스무딩 필터를 사용하여 Football CIF 시퀀스를 압축하여 얻은 PSNR을 기준으로, 다른 적응적(adaptive) 필터를 사용하여 동일한 시퀀스를 압축하여 얻은 PSNR을 도시한 그래프이다. 이 중에서 그래프(91)는 1:2:1 스무딩 필터와 1:3:1 스무딩 필터를 적응적으로 사용한 결과를 나타내고, 그래프(92)는 1:2:1 스무딩 필터와 1:14:1 스무딩 필터를 적응적으로 사용한 결과를 나타내며, 그래프(93)는 1:2:1 스무딩 필터와 1:6:1 스무딩 필터를 적응적으로 사용한 결과를 나타낸다. 도 9를 참조하면, 1:2:1 스무딩 필터만을 사용한 경우에 비하여, 적응적 필터를 사용하여도 PSNR이 최대 0.005 dB 정도 밖에 향상되지 않음을 알 수 있다.
이상에서는 스무딩 필터를 매크로블록 단위로 적용하는 것으로 하여 설명하였다. 하지만 이에 한하지 않고 4×4 서브블록 단위로 적용하거나 그 이외의 단위로도 적용할 수도 있음은 당업자라면 충분히 이해할 수 있을 것이다.
이와 같이, 상기 수학식 5에 따른 스무딩 필터를 적용하면, 기존의 단일 루프 디코딩(single-loop decoding) 조건으로 인하여 코딩시 성능이 저하되는 문제를 어느 정도 개선할 수 있다. 다만, 복잡성(complexity)을 줄이기 위하여 고안된 단일 루 프 디코딩에서 스무딩 함수를 사용함으로 인하여 상기 복잡성이 다소나마 증가할 수가 있다.
수학식 5에 따라서 디코딩을 수행하여 OF를 복원한다고 하면, RB 및 RF 각각에 대하여 역 DCT를 수행하여야 할 것이다. 이러한 역 DCT 과정을 줄이기 위하여, 디코딩시에는 다음의 수학식 8을 이용할 수 있다.
Figure 112006017245076-pat00007
수학식 8에 따르면, RB는 별도의 역 DCT를 거치지 않고 변환 계수 성분으로 있다가 바로 현재 블록의 잔차인 RB와 더해진 다음 한꺼번에 역 DCT를 거치게 된다. 이에 따라서, 두 번에 걸쳐서 진행되었던 역 DCT 과정이 한 번으로 감소함으로써 복잡성이 줄어드는 효과가 있다. 또한, 수학식 5에 따라 디코딩을 수행할 경우, PF와 RB의 합에 스무딩 필터가 적용되지만, 수학식 8에 따를 경우 스무딩 함수는 예측 신호 PF에만 적용되는 점에서도 차이가 있다.
이상과 같은 본 발명의 일 실시예에 따른 스무딩 예측을 기존의 작업 초안인 JSVM-4(Julien Reichel, Heiko Schwarz, and Mathias Wien, "Joint Scalable Video Model JSVM-4," JVT meeting, Nice, France.)에 적용하기 위해서는, 신택스(syntax), 시만틱(semantics), 및 디코딩 프로세스에 있어서 다소 수정이 필요하다. 먼저, 신택스 측면에서 달라지는 부분은 다음의 표 1에 나타내는 바와 같다. 표 1은 JSVM-4의 G.7.3.8.3절에 기재된 "Residual in scalable extension syntax" 중 일부이며, 이 중에서 수정될 부분은 밑줄로서 표시된다.
Figure 112006017245076-pat00008
새로운 신택스 항목인 플래그 "smoothed_reference_flag"는 단일 루프 디코딩의 조건하에서, residual_prediction_flag 및 base_mode_flag가 모두 1인 경우에 코딩된다. 상기 단일 루프 디코딩 조건은 "constrained_inter_layer_pred()" 함수에 의하여 지시되고 있다. 상기 residual_prediction_flag는 잔차 예측(residual prediction)을 사용하는가 여부를 나타내는 플래그이고, 상기 base_mode_flag는 기초 계층 스킵 모드를 사용하는가 여부를 나타내는 플래그이다. 이러한 플래그 들이 1(참 값)인 것은 해당 동작을 수행하는 것을 표시하고, 상기 플래그들이 0(거짓 값)인 것은 해당 동작을 수행하지 않는 것을 표시한다. 특히, 다중 루프 디코딩 모드에서는, 신택스의 오버헤드(overhead)가 전혀 없음에 주목하여야 한다.
상기 기초 계층 스킵 모드(BL skip mode)란 현재 계층에서 별도로 모션 추정 과정을 거치지 않고, 기초 계층에 수행된 모션 추정 과정에서 얻어지는 모션 벡터 및 매크로블록 패턴을 현재 계층에서도 그대로 사용하는 방식이다. 따라서, 상기 모드를 사용하지 않는 경우에 비하여 연산량이 감소되며, 현재 계층의 모션 정보를 인코딩하지 않는 만큼 코딩 효율도 상승한다. 다만, 현재 계층과 기초 계층의 모션 분포가 다소 상이한 경우에는 화질의 저하가 유발될 수 있으므로, 이러한 기초 계층 스킵 모드는 주로 계층간의 모션 분포가 유사한 경우에 사용된다.
한편, 시만틱 측면에서 달라지는 부분은 smoothed_reference_flag라는 플래그의 시만틱을 기술하는 부분이다. G.7.4.8.3절의 "Residual in scalable extension semantics"에는 상기 플래그의 의미가 기술된다.
smoothed_reference_flag가 1이라는 것은 스무딩 함수가 인터 예측 샘플 및 기초 계층의 잔차 샘플의 합에 적용됨을 의미하고, smoothed_reference_flag가 0이라는 것은 물론 상기 스무딩 함수가 적용되지 않는다는 것을 의미한다. smoothed_reference_flag가 존재하지 않으면 그 값은 0으로 간주된다.
마지막으로, 디코딩 프로세스 측면에서 달라지는 부분은 추가되는 G.8.4.2.4절에 기재된다. 상기 절에는 새로이 정의된 스무딩 함수의 상세 내용이 기술된다. 디코딩 과정에 있어서, smoothed_reference_flag가 1이면, 상기 G.8.4.2.4절이 호출된다.
잔차 예측 과정으로부터 얻어지는 기초 계층의 휘도(luma) 잔차 샘플 어레이인 resPredL[x,y] (x, y는 각각 0 내지 15인 범위)(매크로블록 크기) 및 기초 계층의 색차(chroma) 잔차 샘플 어레이인 resPredCb[x, y] 및 resPredCr[x, y](x는 0 내지 MbWidthC-1 이고, y는 0 내지 MbHeightC-1 임)가 먼저 호출된다. 그 후, 각각의 휘도 인터 예측 샘플 predL[x, y]은 휘도 잔차 샘플 resPredL[x, y]와 가산되어 수학식 9와 같이 갱신된다. 여기서, x, y는 현재 매크로블록에 포함되는 픽셀의 x 좌표 및 y 좌표를 각각 나타낸다.
predL[x, y] = predL[x, y] + resPredL[x, y]
또한, chroma_format_idc가 0이 아닌 경우(컬러 영상인 경우)에는, 각각의 색차 인터 예측 샘플 predCb[x, y] 및 predCr[x, y]는 다음의 수학식 10과 같이 갱신된다.
predCb[x, y] = predCb[x, y] + resPredCb[x, y]
predCr[x, y] = predCr[x, y] + resPredCr[x, y]
이하에서는, 상기 수학식 9에서 갱신된 predL[x, y]와, 수학식 10에서 갱신된 predCb[x, y] 및 predCr[x, y]에 대하여 스무딩 함수를 적용하는 과정에 대하여 기술한다. 상기 과정은 도 5 내지 도 8과 같이 네 개의 단계로 이루어져 있다.
먼저, 상기 수학식 9 및 10에서 갱신된 인터 예측 샘플들은 도 5와 같은 스무딩 함수 적용 과정을 거치면서 수학식 11에 따라서 갱신된다.
predL[x, y] = ( predL[x-1, y] + 2*predL[x, y] + predL[x+1, y] + 2 ) >>2 with x=1...14 and y=0...15
predCb[x, y] = ( predCb[x-1, y] + 2*predCb[x, y] + predCb[x+1, y] + 2 ) >>2 with x = 1...MbWidthC-2 and y = 0...MbHeightC-1
predCr[x, y] = ( predCr[x-1, y] + 2*predCr[x, y] + predCr[x+1, y] + 2 ) >>2 with x = 1...MbWidthC-2 and y = 0...MbHeightC-1
수학식 11은 가로 윈도우(도 5의 50)가 매크로블록(도 5의 60) 내에서 픽셀 단위로 움직이면서 스무딩 함수를 적용하는 것을 구체화한 식이다. 휘도 성분의 매크로블록 크기는 16×16이지만, 색차 성분의 매크로블록 크기는 MbWidthC×MbHeightC이므로, 휘도 성분 및 색차 성분에 대한 x, y의 범위가 다르게 표시됨을 알 수 있다. 수학식 11에서 사용되는 스무딩 함수는 1:2:1 선형 함수이다.
한편, 상기 수학식 11에서 갱신된 인터 예측 샘플들은 도 6과 같은 스무딩 함수 적용 과정을 거치면서 수학식 12에 따라서 갱신된다.
predL[x, y] = ( predL[x, y-1] + 2*predL[x, y] + predL[x, y+1] + 2 ) >>2 with x=0...15 and y=1...14
predCb[x, y] = ( predCb[x, y-1] + 2*predCb[x, y] + predCb[x, y+1] + 2 ) >>2 with x = 0...MbWidthC-1 and y = 1...MbHeightC-2
predCr[x, y] = ( predCr[x, y-1] + 2*predCr[x, y] + predCr[x, y+1] + 2 ) >>2 with x = 0...MbWidthC-1 and y = 1...MbHeightC-2
상기 수학식 12에서 갱신된 인터 예측 샘플들은 도 7과 같은 스무딩 함수 적용 과정을 거치면서 수학식 13에 따라서 갱신된다.
predL[x, y] = ( S'L[xP+x-1, yP+y] + 2*predL[x, y] + predL[x+1, y] + 2 ) >>2 with x=0 and y=0...15
predCb[x, y] = ( S'Cb[xC+x-1, yC+y] + 2*predCb[x, y] + predCb[x+1, y] + 2 ) >>2 with x = 0 and y = 0...MbHeightC-1
predCr[x, y] = ( S'Cr[xC+x-1, yC +y] + 2*predCr[x, y] + predCr[x+1, y] + 2 ) >>2 with x = 0 and y = 0...MbHeightC-1
상기 xP 및 yP는 현재 매크로블록에 속하는 첫번째 휘도 샘플의 절대 좌표(프레임 내에서의 위치)를 의미하고, S'L[xP+x-1, yP+y]는 기 스무딩된 매크로블록에 포함되는 휘도 샘플 중 해당 절대 좌표(xP+x-1, yP+y)를 갖는 샘플의 값을 의미한다. 마찬가지로, S'Cb[xC+x-1, yC+y] 및 S'Cr[xC+x-1, yC+y]는 기 스무딩된 매크로블록에 포함되는 색차 샘플 중 해당 절대 좌표(xC+x-1, yC+y)를 갖는 샘플의 값을 의미한다. 상기 xC 및 yC는 현재 매크로블록에 속하는 첫번째 색차 샘플의 절대 좌표를 의미한다.
마지막으로, 상기 수학식 13에서 갱신된 인터 예측 샘플들은 도 8과 같은 스무딩 함수 적용 과정을 거치면서 수학식 14에 따라서 갱신된다.
predL[x, y] = ( S'L[xP+x, yP +y-1] + 2*predL[x, y] + predL[x, y+1] + 2 ) >>2 with x=0...15 and y=0
predCb[x, y] = ( S'Cb[xC+x, yC +y-1] + 2*predCb[x, y] + predCb[x, y+1] + 2 ) >>2 with x = 0...MbWidthC-1 and y = 0
predCr[x, y] = ( S'Cr[xC+x, yC +y-1] + 2*predCr[x, y] + predCr[x, y+1] + 2 ) >>2 with x = 0...MbWidthC-1 and y = 0
도 10은 본 발명의 일 실시예에 따른 비디오 인코더(100)의 구성을 도시한 블록도이다.
먼저, 현재 블록에 포함되는 소정 블록(OF; 이하 현재 블록이라고 함)은 다운샘플러(103)로 입력된다. 다운샘플러(103)는 현재 블록(OF)를 공간적 및/또는 시간적으로 다운샘플링하여 대응되는 기초 계층 블록(OB)를 생성한다.
모션 추정부(205)는 주변 픽쳐(FB')를 참조하여 기초 계층 블록(OB)에 대한 모션 추정을 수행함으로써 모션 벡터(MVB)를 구한다. 이와 같이 참조되는 주변 픽쳐를 '참조 픽쳐(reference picture)'라고 한다. 일반적으로 이러한 모션 추정을 위해서 블록 매칭(block matching) 알고리즘이 널리 사용되고 있다. 즉, 주어진 블록을 참조 픽쳐의 특정 탐색영역 내에서 픽셀 또는 서브 픽셀(2/2 픽셀, 1/4픽셀 등) 단위로 움직이면서 그 에러가 최저가 되는 변위를 움직임 벡터로 선정하는 것이다. 모션 추정을 위하여 고정된 크기의 블록 매칭법을 이용할 수도 있지만, H.264 등에서 사용되는 계층적 가변 사이즈 블록 매칭법(Hierarchical Variable Size Block Matching; HVSBM)을 사용할 수도 있다.
그런데, 비디오 인코더(100)가 개방 루프 코덱(open loop codec) 형태로 이루어진다면, 상기 참조 픽쳐로는 버퍼(201)에 저장된 오리지널 주변 픽쳐(FB')를 그대로 이용하겠지만, 폐쇄 루프 코덱(closed loop codec) 형태로 이루어진다면, 상기 참조 픽쳐로는 인코딩 후 디코딩된 픽쳐(미도시됨)를 이용하게 될 것이다. 이하, 본 명세서에서는 개방 루프 코덱을 중심으로 하여 설명할 것이지만 이에 한정되지는 않는다.
모션 추정부(205)에서 구한 모션 벡터(MVB)는 모션 보상부(210)에 제공된다. 모션 보상부(210)는 상기 참조 픽쳐(FB') 중에서 상기 모션 벡터(MVB)에 의하여 대응되는 이미지를 추출하고, 이로부터 인터 예측 블록(PB)을 생성한다. 양방향 참조가 사용되는 경우 상기 인터 예측 블록은 상기 추출된 이미지의 평균으로 계산될 수 있다. 그리고, 단방향 참조가 사용되는 경우 상기 인터 예측 블록은 상기 추출된 이미지와 동일한 것일 수도 있다.
차분기(215)는 상기 기초 계층 블록(OB)에서 상기 인터 예측 블록(PB)을 차감함으로써 잔차 블록(RB)을 생성한다. 상기 잔차 블록(RB)는 업샘플러(140) 및 변환부(220) 에 제공된다.
업샘플러(140)는 상기 잔차 블록(RB)를 업샘플링한다. 일반적으로 n:1의 업샘플링은 단순히 하나의 픽셀을 n개의 픽셀로 확대하는 것은 아니며, 주변 픽셀을 고려하여 연산하는 과정이다. 보다 많은 수의 주변 픽셀을 고려할수록 보다 부드러운 다운샘플링 결과가 나타나지만, 다소 왜곡된 영상이 생성될 수 있으므로, 적절한 수의 주변 픽셀을 선택할 필요가 있다. 만약, 기초 계층의 해상도와 현재 계층의 해상도가 동일한 경우에는 상기 업샘플러(140)의 동작 과정은 생략될 수 있다.
한편, 현재 블록(OF)은 모션 보상부(110), 버퍼(101), 및 차분기(115)로도 입력된다. base_mode_flag가 1인 경우, 즉 현재 계층의 모션 패턴과 기초 계층의 모션 패턴이 유사하여 기초 계층 스킵 모드에 해당되는 경우에는, 기초 계층에 수행된 모션 추정 과정에서 얻어지는 모션 벡터 및 매크로블록 패턴을 현재 계층에서 그대로 사용하게 되므로 별도의 모션 추정 과정은 수행하지 않아도 된다. 그러나, 현재 계층에 대하여도 별도의 모션 추정 과정을 거쳐 별도의 모션 벡터 및 매크로블록 패턴을 결정하여도 본 발명의 기술적 사상을 벗어나지는 않는다. 다만, 이하에서는 기초 계층 스킵 모드를 사용하는 경우를 상정하여 설명하는 것으로 한다.
모션 추정부(205)에서 구한 모션 벡터(MVB)는 모션 보상부(110)에 제공된다. 모션 보상부(110)는 버퍼(101)로부터 제공되는 참조 픽쳐(FF') 중에서 상기 모션 벡터(MVB)에 의하여 대응되는 이미지를 추출하고, 이로부터 인터 예측 블록(PF)을 생성 한다. 기초 계층의 해상도와 현재 계층의 해상도가 동일한 경우에는, 모션 보상부(110)는 이와 같이 기초 계층의 모션 벡터(MVB)를 현재 계층의 모션 벡터로서 그대로 이용하게 된다. 그러나, 상기 해상도가 동일하지 않다면 기초 계층의 해상도에 대한 현재 계층의 해상도의 비율 만큼 상기 모션 벡터(MVB)를 확대한 후 이를 현재 계층의 모션 벡터로 이용하게 될 것이다.
가산기(135)는 업샘플러(140)로부터 제공되는 신호(U·RB)와 모션 보상부(110)로부터 제공되는 신호(PF)를 가산하고 그 결과(PF+U·RB)를 스무딩 필터(130)에 제공한다. 이러한 가산 과정은 상술한 수학식 9 및 수학식 10의 연산과정에 해당된다.
스무딩 필터(130)는 상기 가산된 결과(PF+U·RB)에 대하여 스무딩 함수(deblocking function)를 적용하여 스무딩한다. 이러한 스무딩 함수로는 종래의 H.264에서 사용하는 디블록 함수를 그대로 사용할 수도 있고, 업샘플링 함수와 다운샘플링 함수의 조합을 이용할 수도 있다. 하지만, 저 복잡성 조건에 따라서 연산량을 감소시키기 위하여 수학식 7과 같은 간단한 선형 함수를 이용할 수도 있다. 상기 선형 함수만을 적용하여도 복잡한 함수를 적용한 데 비하여 코딩 성능이 크게 감소하지 않는다. 이러한 선형 함수는 임의의 블록(서브 블록 또는 매크로블록) 단위로 적용될 수 있으며, 블록의 경계에만 적용하거나 블록의 경계 및 내부 전체에 적용될 수도 있다. 본 발명의 바람직한 실시예로서, 매크로블록을 단위로 하여 블록의 경계 및 내부 전체에 대하여 4개의 단계로 스무딩 함수를 적용하는 구체적인 예를 도 5 내 지 도 8 및 수학식 11 내지 수학식 14에서 설명한 바 있다. 물론 상기 4개의 단계는 그 순서가 서로 바뀌어도 무방하다.
차분기(115)는 현재 블록(OF)에서 스무딩 필터(130)에서 스무딩 결과 제공되는 신호(F(PF+U·RB))를 차감하여, 현재 계층의 잔차 신호(RF)를 생성한다.
변환부(120)는 상기 잔차 신호(RF)에 대하여, 공간적 변환을 수행하고 변환 계수(RF T)를 생성한다. 이러한 공간적 변환 방법으로는, DCT(Discrete Cosine Transform), 웨이블릿 변환(wavelet transform) 등이 사용될 수 있다. DCT를 사용하는 경우 상기 변환 계수는 DCT 계수가 될 것이고, 웨이블릿 변환을 사용하는 경우 상기 변환 계수는 웨이블릿 계수가 될 것이다.
양자화부(125)는 상기 변환 계수(RF T)를 양자화(quantization) 하여 양자화 계수(RF Q)를 생성한다. 상기 양자화는 임의의 실수 값으로 표현되는 상기 변환 계수(RF T)를 불연속적인 값(discrete value)으로 나타내는 과정을 의미한다. 예를 들어, 양자화부(125)는 임의의 실수 값으로 표현되는 상기 변환 계수를 소정의 양자화 스텝(quantization step)으로 나누고, 그 결과를 정수 값으로 반올림하는 방법으로 양자화를 수행할 수 있다.
한편, 기초 계층의 잔차 신호(RB)도 마찬가지로 변환부(220) 및 양자화부(225)를 거 쳐서 양자화 계수(RB Q)로 변환된다.
엔트로피 부호화부(150)는 모션 추정부(205)에서 추정된 모션 벡터(MVB), 양자화부(125)로부터 제공되는 양자화 계수(RF Q), 및 양자화부(225)로부터 제공되는 양자화 계수(RB Q)를 무손실 부호화하여 비트스트림을 생성한다. 이러한 무손실 부호화 방법으로는, 허프만 부호화(Huffman coding), 산술 부호화(arithmetic coding), 가변 길이 부호화(variable length coding), 기타 다양한 방법이 이용될 수 있다.
도 11은 본 발명의 일 실시예에 따른 비디오 디코더(300)의 구성을 도시한 블록도이다.
엔트로피 복호화부(305)는 입력된 비트스트림에 대하여 무손실 복호화를 수행하여, 현재 블록의 텍스쳐 데이터(RF Q), 상기 현재 블록과 대응되는 기초 계층 블록의 텍스쳐 데이터(RB Q), 및 상기 기초 계층 블록의 모션 벡터(MVB)를 추출한다. 상기 무손실 복호화는 인코더 단에서의 무손실 부호화 과정의 역으로 진행되는 과정이다.
상기 현재 블록의 텍스쳐 데이터(RF Q)는 역 양자화부(410)에 제공되고 상기 현재 블록의 텍스쳐 데이터(RF Q)는 역 양자화부(310)에 제공된다. 그리고, 기초 계층 블록의 모션 벡터(MVB)는 모션 보상부(350)에 제공된다.
역 양자화부(310)는 상기 제공되는 현재 블록의 텍스쳐 데이터(RF Q)를 역 양자화한다. 이러한 역 양자화 과정은 양자화 과정에서 사용된 것과 동일한 양자화 테이블을 이용하여 양자화 과정에서 생성된 인덱스로부터 그에 매칭되는 값을 복원하는 과정이다.
역 변환부(320)는 상기 역 양자화된 결과에 대하여 역 변환을 수행한다. 이러한 역 변환은 인코더 단의 변환 과정의 역으로 수행되며, 구체적으로 역 DCT 변환, 역 웨이블릿 변환 등이 사용될 수 있다. 상기 역 변환 결과 현재 블록에 대한 잔차 신호(RF)가 복원된다.
한편, 역 양자화부(410)는 상기 제공되는 기초 계층 블록의 텍스쳐 데이터(RB Q)를 역 양자화하고, 역 변환부(420)는 상기 역 양자화된 결과(RB T)에 대하여 역 변환을 수행한다. 상기 역 변환 결과 상기 기초 계층 블록에 대한 잔차 신호(RB)가 복원된다. 상기 복원된 잔차 신호(RB)는 업샘플러(380)에 제공된다.
업샘플러(380)는 상기 잔차 신호(RB)를 업샘플링한다. 만약, 기초 계층의 해상도와 현재 계층의 해상도가 동일한 경우에는 상기 업샘플러(380)의 동작 과정은 생략될 수 있다.
모션 보상부(350)는 버퍼(340)로부터 제공되는 참조 픽쳐(FF') 중에서 상기 모션 벡 터(MVB)에 의하여 대응되는 이미지를 추출하고, 이로부터 인터 예측 블록(PF)을 생성한다. 기초 계층의 해상도와 현재 계층의 해상도가 동일한 경우에는, 모션 보상부(350)는 이와 같이 기초 계층의 모션 벡터(MVB)를 현재 계층의 모션 벡터로서 그대로 이용하게 된다. 그러나, 상기 해상도가 동일하지 않다면 기초 계층의 해상도에 대한 현재 계층의 해상도의 비율 만큼 상기 모션 벡터(MVB)를 확대한 후 이를 현재 계층의 모션 벡터로 이용하게 될 것이다.
가산기(135)는 업샘플러(380)로부터 제공되는 신호(U·RB)와 모션 보상부(350)로부터 제공되는 신호(PF)를 가산하고 그 결과(PF+U·RB)를 스무딩 필터(370)에 제공한다. 이러한 가산 과정은 상술한 수학식 9 및 수학식 10의 연산과정에 해당된다.
스무딩 필터(370)는 상기 가산된 결과(PF+U·RB)에 대하여 스무딩 함수(deblocking function)를 적용하여 스무딩한다. 상기 스무딩 함수로는 도 10의 스무딩 필터(130)에서 사용된 스무딩 함수와 동일한 함수가 사용될 수 있다.
가산기(330)는 역 변환부(320)에서 역 변환 결과 생성되는 잔차 블록(RF)에서 스무딩 필터(370)에서 스무딩 결과 제공되는 신호(F(PF+U·RB))를 가산한다. 그 결과 현재 블록(OF)가 복원되며, 복수의 현재 블록(OF)을 조합하면 하나의 픽쳐(FF)가 복원된다. 버퍼(340)는 최종적으로 복원되는 픽쳐(FF)를 임시로 저장하여 두었다가 상기 저장된 픽쳐를 다른 픽쳐의 복원시의 참조 픽쳐(FF')로서 제공한다.
그런데, 상기 수학식 8에 따라서 현재 블록을 복원하는 비디오 디코더(400)는 도 12에 나타낸 바와 같이, 그 신호의 흐름이 도 11과는 다소 달라진다.
도 12를 참조하면, 모션 보상부(350)로부터 제공되는 인터 예측 블록(PF)은 바로 스무딩 필터(370)로 입력되어 스무딩되며, 가산기(360)는 업샘플러(380)에서 업샘플링된 결과(U·RB) 및 잔차 블록(RF)을 가산한다. 마지막으로 가산기(330)는 상기 스무딩된 결과(F(PF))와 상기 가산된 결과(RF+U·RB)를 가산함으로써 현재 블록(OF)를 복원한다.
상술한 도 10 내지 도 12의 설명에서는 두 개의 계층으로 된 비디오 프레임을 코딩하는 예를 설명하였지만, 이에 한하지 않고 셋 이상의 계층 구조를 갖는 비디오 프레임의 코딩에 있어서도 본 발명이 적용될 수 있음은 당업자라면 충분히 이해할 수 있을 것이다.
도 10 내지 도 12의 각 구성요소들은 메모리 상의 소정 영역에서 수행되는 태스크, 클래스, 서브 루틴, 프로세스, 오브젝트, 실행 쓰레드, 프로그램과 같은 소프트웨어(software)나, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)로 구현될 수 있으며, 또한 상기 소프트웨어 및 하드웨어의 조합으로 이루어질 수도 있다. 상기 구성요소들은 컴퓨터로 판독 가능한 저장 매체에 포함되어 있을 수도 있고, 복수의 컴퓨터에 그 일부가 분산되어 분포될 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
본 발명에 따르면, 잔차 예측 또는 인터 예측을 이용하는 코덱의 성능을 향상시킬 수 있다.
특히, 저 복잡성 디코딩 조건을 갖는 인트라 베이스 예측을 이용하는 코덱의 성능을 향상시킬 수 있다.

Claims (35)

  1. (a) 현재 픽쳐에 포함되는 제1 블록과 대응되는 하위 픽쳐의 제2 블록에 대한 예측 블록과 상기 제2 블록과의 차분을 구하는 단계;
    (b) 상기 구한 차분과, 상기 제1 블록에 대한 예측 블록을 가산하는 단계;
    (c) 상기 가산 결과 생성되는 제3 블록을 스무딩 함수를 이용하여 스무딩하는 단계; 및
    (d) 상기 제1 블록과 상기 스무딩된 제3 블록과의 차분을 부호화하는 단계를 포함하는, 다계층 기반의 비디오 인코딩 방법.
  2. 제1항에 있어서, 상기 제1 블록에 대한 예측 블록 및 상기 제1 블록에 대한 예측 블록은 인터 예측 블록인, 다계층 기반의 비디오 인코딩 방법.
  3. 제1항에 있어서,
    상기 제2 블록에 대한 예측 블록은 모션 추정 과정 및 모션 보상 과정을 통하여 구해지는, 다계층 기반의 비디오 인코딩 방법.
  4. 제3항에 있어서,
    상기 제1 블록에 대한 예측 블록은 상기 모션 추정 과정에서 생성되는 모션 벡터를 이용한 모션 보상 과정을 통하여 구해지는, 다계층 기반의 비디오 인코딩 방법.
  5. 제1항에 있어서, 상기 (b) 단계 이전에
    상기 구한 차분을 업샘플링하는 단계를 더 포함하며, 상기 (b)단계에서 가산되는 차분은 상기 업샘플링된 차분인, 다계층 기반의 비디오 인코딩 방법.
  6. 제1항에 있어서, 상기 스무딩 함수는
    스무딩하고자 하는 픽셀 및 그 주변 픽셀의 선형 결합으로서 표시되는, 다계층 기반의 비디오 인코딩 방법.
  7. 제6항에 있어서, 상기 주변 픽셀은
    상기 스무딩하고자 하는 픽셀에 상하 또는 좌우로 인접한 두 개의 픽셀인, 다계층 기반의 비디오 인코딩 방법.
  8. 제7항에 있어서, 상기 스무딩하고자 하는 픽셀의 가중치는 1/2이고, 상기 두 개의 주변 픽셀의 가중치는 각각 1/4인, 다계층 기반의 비디오 인코딩 방법.
  9. 제6항에 있어서, 상기 (c) 단계는
    상기 스무딩하고자 하는 픽셀 및 그에 좌우로 인접한 주변 픽셀을 포함하는 수평 윈도우를 상기 제3 블록 내부를 이동하면서 스무딩하는 단계를 포함하는, 다계층 기반의 비디오 인코딩 방법.
  10. 제6항에 있어서, 상기 (c) 단계는
    상기 스무딩하고자 하는 픽셀 및 그에 상하로 인접한 주변 픽셀을 포함하는 수직 윈도우를 상기 제3 블록 내부를 이동하면서 스무딩하는 단계를 포함하는, 다계층 기반의 비디오 인코딩 방법.
  11. 제6항에 있어서, 상기 (c) 단계는
    상기 제3 블록의 좌측 경계에 인접한 픽셀 및 그에 좌우로 인접한 주변 픽셀을 포함하는 수평 윈도우를 상기 제3 블록의 좌측 경계를 따라서 이동하면서 스무딩하는 단계를 포함하는, 다계층 기반의 비디오 인코딩 방법.
  12. 제6항에 있어서, 상기 (c) 단계는
    상기 제3 블록의 상측 경계에 인접한 픽셀 및 그에 상하로 인접한 주변 픽셀을 포함하는 수직 윈도우를 상기 제3 블록의 상측 경계를 따라서 이동하면서 스무딩하는 단계를 포함하는, 다계층 기반의 비디오 인코딩 방법.
  13. 제9항 내지 제12항에 있어서,
    상기 제3 블록은 매크로블록 또는 서브블록인, 다계층 기반의 비디오 인코딩 방법.
  14. 비디오 프레임의 블록을 예측 블록과의 차분으로 인코딩하여 비트스트림을 생성하 는 방법에 있어서,
    상기 예측 블록이 스무딩 필터링되었는지 여부를 나타내는 정보를 삽입하는 단계를 포함하는 것을 특징으로 하는 비트스트림 생성방법.
  15. 제 14항에 있어서, 상기 예측 블록은 상기 블록의 인터예측 블록과 상기 블록의 하위 계층의 잔차 블록으로부터 구해지는 것을 특징으로 하는 비트스트림 생성 방법.
  16. 제 15항에 있어서, 상기 블록이 상기 예측 블록에 의해 예측되는지 여부를 나타내는 정보를 삽입하는 단계를 더 포함하는 것을 특징으로 하는 비트스트림 생성방법.
  17. 제 14항에 있어서, 상기 블록은 잔차 예측이 적용되고, 단일 루프 디코딩되는 것을 특징으로 하는 비트스트림 생성방법.
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 비디오 프레임의 현재 블록을 예측 블록으로부터 디코딩하는 방법에 있어서,
    상기 예측 블록을 복원하는 단계;
    상기 예측 블록을 스무딩 필터링하는 단계; 및
    상기 스무딩 필터링된 예측 블록으로부터 상기 현재 블록을 복원하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법.
  23. 제 22항에 있어서,
    상기 예측 블록은 상기 현재 블록의 인터예측 블록과 상기 현재 블록의 하위 계층의 잔차 블록으로부터 구해지는 것을 특징으로 하는 디코딩 방법.
  24. 제 22항에 있어서,
    상기 예측 블록의 스무딩 필터링 여부를 나타내는 정보를 확인하는 단계를 더 포함 하는 것을 특징으로 하는 디코딩 방법.
  25. 제 23항에 있어서,
    상기 스무딩 필터링하는 단계는 스무딩하고자 하는 픽셀 및 그 주변 픽셀의 선형 결합으로서 표시되는 것을 특징으로 하는 디코딩 방법.
  26. 제 25항에 있어서,
    상기 주변 픽셀은, 상기 스무딩하고자 하는 픽셀의 상하 또는 좌우로 인접한 두 개의 픽셀인 것을 특징으로 하는 디코딩 방법.
  27. 제 26항에 있어서,
    상기 스무딩 필터링하는 단계는 상기 스무딩하고자 하는 픽셀을 1/2배 가중하고, 상기 인접한 두 개의 픽셀을 1/4배 가중하는 것을 특징으로 하는 디코딩 방법.
  28. 제 26항에 있어서,
    상기 스무딩하고자 하는 픽셀이 블록의 경계에 인접한 픽셀인 경우, 상기 주변 픽셀은 상기 블록의 인접한 블록의 픽셀을 선택하는 것을 특징으로 하는 디코딩 방법.
  29. 비디오 프레임의 현재 블록을 예측 블록으로부터 디코딩하는 방법에 있어서,
    상기 현재 블록이 잔차 에측을 사용하는지 판단하는 단계;
    상기 현재 블록이 기초 계층 스킵 모드를 사용하는지 판단하는 단계;
    상기 현재 블록이 스무딩 필터링을 사용하는지 판단하는 단계;
    상기 예측 블록을 복원하고 상기 예측 블록을 스무딩 필터링하는 단계; 및
    상기 예측 블록으로부터 현재 블록을 복원하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법.
  30. 제 29항에 있어서,
    상기 예측 블록은 상기 현재 블록의 인터예측 블록과 상기 현재 블록의 기초 계층의 잔차 블록으로부터 구해지는 것을 특징으로 하는 디코딩 방법.
  31. 제 30항에 있어서,
    상기 스무딩 필터링은 상기 현재 블록의 픽셀을 인접한 두 개의 픽셀의 선형적인 결합으로 이루어지는 것을 특징으로 하는 디코딩 방법.
  32. 제 30항에 있어서, 상기 현재 블록의 픽셀은 인접한 상하 및 좌우의 두 개의 픽셀의 선형적인 결합으로 이루어지는 것을 특징으로 하는 디코딩 방법.
  33. (a) 입력된 비트스트림에 포함되는 현재 픽쳐의 제1 블록에 대한 텍스쳐 데이터로부터 상기 제1 블록의 잔차 신호를 복원하는 단계;
    (b) 상기 비트스트림에 포함되며, 상기 블록과 대응되는 기초 계층의 제2 블록에 대한 잔차 신호를 복원하는 단계;
    (c) 상기 제1 잔차 신호와 상기 제2 잔차 신호를 가산하는 단계;
    (d) 상기 제1 블록에 대한 인터 예측 블록을 스무딩 필터를 이용하여 스무딩하는 단계; 및
    (e) 상기 가산된 결과와 상기 스무딩된 인터 예측 블록을 가산하는 단계를 포함하는, 다계층 기반의 비디오 디코딩 방법.
  34. 현재 픽쳐에 포함되는 제1 블록과 대응되는 하위 픽쳐의 제2 블록에 대한 예측 블록과 상기 제2 블록과의 차분을 구하는 수단;
    상기 구한 차분과, 상기 제1 블록에 대한 예측 블록을 가산하는 수단;
    상기 가산 결과 생성되는 제3 블록을 스무딩 함수를 이용하여 스무딩하는 수단; 및
    상기 제1 블록과 상기 스무딩된 제3 블록과의 차분을 부호화하는 수단을 포함하는, 다계층 기반의 비디오 인코더.
  35. 입력된 비트스트림에 포함되는 현재 픽쳐의 제1 블록에 대한 텍스쳐 데이터로부터 상기 제1 블록의 잔차 신호를 복원하는 수단;
    상기 비트스트림에 포함되며, 상기 블록과 대응되는 기초 계층의 제2 블록에 대한 잔차 신호를 복원하는 수단;
    상기 제2 블록에 대한 잔차 신호와 상기 제1 블록에 대한 예측 블록을 가산하는 수 단;
    상기 가산 결과 생성되는 제3 블록을 스무딩 필터를 이용하여 스무딩하는 수단; 및
    상기 제1 블록에 대한 잔차 신호와 상기 스무딩된 제3 블록을 가산하는 수단을 포함하는, 다계층 기반의 비디오 디코더.
KR1020060022871A 2006-01-12 2006-03-10 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더 KR100772873B1 (ko)

Priority Applications (9)

Application Number Priority Date Filing Date Title
US11/519,131 US20070171969A1 (en) 2006-01-12 2006-09-12 Multilayer-based video encoding/decoding method and video encoder/decoder using smoothing prediction
AU2006235923A AU2006235923B2 (en) 2006-01-12 2006-11-07 Multilayer-based video encoding/decoding method and video encoder/decoder using smoothing prediction
PCT/KR2006/004742 WO2007081082A1 (en) 2006-01-12 2006-11-13 Multilayer-based video encoding/decoding method and video encoder/decoder using smoothing prediction
BRPI0604967-2A BRPI0604967A (pt) 2006-01-12 2006-11-29 método de codificação de vìdeo baseado em múltiplas camadas, método de geração de uma seqüência de bits mediante codificação de um bloco de um quadro de vìdeo com uma diferença entre o bloco e um bloco previsto, mìdia de armazenamento, método de decodificação de um bloco atual de um quadro de vìdeo de um bloco previsto, método de decodificação de um bloco atual de um quadro de vìdeo a partir de um bloco previsto, método de decodificação de vìdeo baseado em múltiplas camadas, codificador de vìdeo baseado em múltiplas camadas, e decodificador de vìdeo baseado em múltiplas camadas
CA002570282A CA2570282A1 (en) 2006-01-12 2006-12-05 Multilayer-based video encoding/decoding method and video encoder/decoder using smoothing prediction
TW095145329A TW200727709A (en) 2006-01-12 2006-12-06 Multilayer-based video encoding/decoding method and video encoder/decoder using smoothing prediction
EP06125975A EP1809040A2 (en) 2006-01-12 2006-12-12 Multilayer-based video encoding/decoding method and video encoder using smoothing prediction
RU2007101271/09A RU2355126C2 (ru) 2006-01-12 2007-01-11 Основывающиеся на множестве слоев способ кодирования/декодирования и видеокодер/декодер, в которых используется сглаживающее предсказание
JP2007004773A JP2007189698A (ja) 2006-01-12 2007-01-12 スムージング予測を利用した多階層基盤のビデオエンコーディング方法、デコーディング方法、ビデオエンコーダおよびビデオデコーダ

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US75822706P 2006-01-12 2006-01-12
US60/758,227 2006-01-12
US76040106P 2006-01-20 2006-01-20
US60/760,401 2006-01-20

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020070071632A Division KR101033548B1 (ko) 2006-01-12 2007-07-18 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더

Publications (2)

Publication Number Publication Date
KR20070075222A KR20070075222A (ko) 2007-07-18
KR100772873B1 true KR100772873B1 (ko) 2007-11-02

Family

ID=38500403

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020060022871A KR100772873B1 (ko) 2006-01-12 2006-03-10 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
KR1020070071632A KR101033548B1 (ko) 2006-01-12 2007-07-18 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020070071632A KR101033548B1 (ko) 2006-01-12 2007-07-18 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더

Country Status (10)

Country Link
US (1) US20070171969A1 (ko)
EP (1) EP1809040A2 (ko)
JP (1) JP2007189698A (ko)
KR (2) KR100772873B1 (ko)
AU (1) AU2006235923B2 (ko)
BR (1) BRPI0604967A (ko)
CA (1) CA2570282A1 (ko)
RU (1) RU2355126C2 (ko)
TW (1) TW200727709A (ko)
WO (1) WO2007081082A1 (ko)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8442108B2 (en) * 2004-07-12 2013-05-14 Microsoft Corporation Adaptive updates in motion-compensated temporal filtering
US8340177B2 (en) * 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
US8374238B2 (en) * 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
US7956930B2 (en) * 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
KR20080092372A (ko) * 2006-01-09 2008-10-15 엘지전자 주식회사 영상 신호의 레이어 간 예측 방법
KR100842557B1 (ko) * 2006-10-20 2008-07-01 삼성전자주식회사 동영상 처리 장치에서 메모리 액세스 방법
US8582658B2 (en) * 2007-05-11 2013-11-12 Raritan Americas, Inc. Methods for adaptive video quality enhancement
WO2009005658A2 (en) * 2007-06-28 2009-01-08 Thomson Licensing Single loop decoding of multi-vieuw coded video
US8279935B2 (en) * 2007-09-27 2012-10-02 Intel Corporation Method and apparatus for image quality control in video data
KR101228020B1 (ko) * 2007-12-05 2013-01-30 삼성전자주식회사 사이드 매칭을 이용한 영상의 부호화 방법 및 장치, 그복호화 방법 및 장치
KR101375663B1 (ko) * 2007-12-06 2014-04-03 삼성전자주식회사 영상을 계층적으로 부호화/복호화하는 방법 및 장치
US8953673B2 (en) * 2008-02-29 2015-02-10 Microsoft Corporation Scalable video coding and decoding with sample bit depth and chroma high-pass residual layers
US8711948B2 (en) * 2008-03-21 2014-04-29 Microsoft Corporation Motion-compensated prediction of inter-layer residuals
KR101517768B1 (ko) 2008-07-02 2015-05-06 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
BRPI0915975A2 (pt) * 2008-07-25 2018-10-30 Sony Corp dispositivo e método de processamento de imagem
EP2152009A1 (en) * 2008-08-06 2010-02-10 Thomson Licensing Method for predicting a lost or damaged block of an enhanced spatial layer frame and SVC-decoder adapted therefore
US9571856B2 (en) 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
US8213503B2 (en) 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
KR101233627B1 (ko) * 2008-12-23 2013-02-14 한국전자통신연구원 스케일러블 부호화 장치 및 방법
KR101510108B1 (ko) * 2009-08-17 2015-04-10 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
AU2015202119B2 (en) * 2009-08-17 2015-06-04 Samsung Electronics Co., Ltd. Method and apparatus for encoding video, and method and apparatus for decoding video
KR101452860B1 (ko) 2009-08-17 2014-10-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
US20110090952A1 (en) * 2009-10-21 2011-04-21 Cohen Robert A Directional Transforms for Video and Image Coding
US10728538B2 (en) * 2010-01-11 2020-07-28 Telefonaktiebolaget L M Ericsson(Publ) Technique for video quality estimation
SG185050A1 (en) * 2010-04-26 2012-12-28 Panasonic Corp Filtering mode for intra prediction inferred from statistics of surrounding blocks
US20110261880A1 (en) * 2010-04-27 2011-10-27 Sony Corporation Boundary adaptive intra prediction for improving subjective video quality
KR20110125153A (ko) * 2010-05-12 2011-11-18 에스케이 텔레콤주식회사 영상의 필터링 방법 및 장치와 그를 이용한 부호화/복호화를 위한 방법 및 장치
CN108055536B (zh) 2010-05-14 2022-04-26 交互数字Vc控股公司 帧内编码将像素指定给各组的块的方法和装置
US8553763B2 (en) 2010-06-10 2013-10-08 Sony Corporation Iterative computation of adaptive interpolation filter
PL2924995T3 (pl) 2010-07-09 2018-11-30 Samsung Electronics Co., Ltd Sposób dekodowania wideo wykorzystujący łączenie bloków
KR101484281B1 (ko) * 2010-07-09 2015-01-21 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
US10142630B2 (en) * 2010-12-10 2018-11-27 Texas Instruments Incorporated Mode adaptive intra prediction smoothing in video coding
KR101912472B1 (ko) * 2011-01-14 2018-10-26 선 페이턴트 트러스트 화상 부호화 방법, 화상 복호 방법, 메모리 관리 방법, 화상 부호화 장치, 화상 복호 장치, 메모리 관리 장치 및 화상 부호화 복호 장치
CN103621081B (zh) 2011-06-10 2016-12-21 寰发股份有限公司 可伸缩视频编码方法及装置
US9503750B2 (en) 2011-11-04 2016-11-22 Futurewei Technologies, Inc. Binarization of prediction residuals for lossless video coding
JP6080375B2 (ja) * 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP2013102297A (ja) * 2011-11-07 2013-05-23 Canon Inc 画像符号化方法、画像符号化装置及びプログラム、画像復号方法、画像復号装置及びプログラム
WO2014003423A1 (ko) 2012-06-29 2014-01-03 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
TWI606716B (zh) 2012-07-09 2017-11-21 Vid衡器股份有限公司 多層視訊編碼編解碼器架構
US9516309B2 (en) 2012-07-09 2016-12-06 Qualcomm Incorporated Adaptive difference domain spatial and temporal reference reconstruction and smoothing
US9843801B2 (en) * 2012-07-10 2017-12-12 Qualcomm Incorporated Generalized residual prediction for scalable video coding and 3D video coding
US9641836B2 (en) * 2012-08-07 2017-05-02 Qualcomm Incorporated Weighted difference prediction under the framework of generalized residual prediction
KR101653511B1 (ko) * 2012-09-28 2016-09-01 인텔 코포레이션 인터-레이어 잔차 예측
US9596465B2 (en) * 2013-01-04 2017-03-14 Intel Corporation Refining filter for inter layer prediction of scalable video coding
JP6451999B2 (ja) * 2013-12-27 2019-01-16 ソニー株式会社 画像処理装置および方法
CN105323533A (zh) * 2014-07-04 2016-02-10 和硕联合科技股份有限公司 视频会议方法及***
US20170244975A1 (en) * 2014-10-28 2017-08-24 Mediatek Singapore Pte. Ltd. Method of Guided Cross-Component Prediction for Video Coding
CN116760977A (zh) 2015-08-20 2023-09-15 日本放送协会 图像编码装置、图像解码装置、和其程序
CN107046645B9 (zh) * 2016-02-06 2020-08-14 华为技术有限公司 图像编解码方法及装置
US10390038B2 (en) 2016-02-17 2019-08-20 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for encoding and decoding video pictures using a denoised reference picture
EP3456052B1 (en) 2016-05-13 2023-08-02 InterDigital VC Holdings, Inc. Method and apparatus for video coding with adaptive clipping

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050195896A1 (en) 2004-03-08 2005-09-08 National Chiao Tung University Architecture for stack robust fine granularity scalability
KR20050096790A (ko) * 2004-03-31 2005-10-06 삼성전자주식회사 다 계층의 모션 벡터를 효율적으로 압축하는 방법 및 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9206860D0 (en) * 1992-03-27 1992-05-13 British Telecomm Two-layer video coder
US6023301A (en) * 1995-07-14 2000-02-08 Sharp Kabushiki Kaisha Video coding device and video decoding device
JP4034380B2 (ja) * 1996-10-31 2008-01-16 株式会社東芝 画像符号化/復号化方法及び装置
US6043846A (en) * 1996-11-15 2000-03-28 Matsushita Electric Industrial Co., Ltd. Prediction apparatus and method for improving coding efficiency in scalable video coding
US6057884A (en) * 1997-06-05 2000-05-02 General Instrument Corporation Temporal and spatial scaleable coding for video object planes
KR20040054746A (ko) * 2001-10-26 2004-06-25 코닌클리케 필립스 일렉트로닉스 엔.브이. 공간 스케일가능 압축 방법 및 장치
US7072394B2 (en) * 2002-08-27 2006-07-04 National Chiao Tung University Architecture and method for fine granularity scalable video coding
WO2006001585A1 (en) * 2004-03-31 2006-01-05 Samsung Electronics Co., Ltd. Method and apparatus for effectively compressing motion vectors in multi-layer structure
KR20060043051A (ko) * 2004-09-23 2006-05-15 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
KR100679035B1 (ko) * 2005-01-04 2007-02-06 삼성전자주식회사 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050195896A1 (en) 2004-03-08 2005-09-08 National Chiao Tung University Architecture for stack robust fine granularity scalability
KR20050096790A (ko) * 2004-03-31 2005-10-06 삼성전자주식회사 다 계층의 모션 벡터를 효율적으로 압축하는 방법 및 장치

Also Published As

Publication number Publication date
CA2570282A1 (en) 2007-07-12
RU2007101271A (ru) 2008-07-20
AU2006235923A1 (en) 2007-07-26
US20070171969A1 (en) 2007-07-26
BRPI0604967A (pt) 2007-10-09
EP1809040A2 (en) 2007-07-18
RU2355126C2 (ru) 2009-05-10
AU2006235923B2 (en) 2008-09-04
KR20070075222A (ko) 2007-07-18
KR20070092179A (ko) 2007-09-12
KR101033548B1 (ko) 2011-05-11
TW200727709A (en) 2007-07-16
JP2007189698A (ja) 2007-07-26
WO2007081082A1 (en) 2007-07-19

Similar Documents

Publication Publication Date Title
KR100772873B1 (ko) 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
KR100763194B1 (ko) 단일 루프 디코딩 조건을 만족하는 인트라 베이스 예측방법, 상기 방법을 이용한 비디오 코딩 방법 및 장치
KR100703788B1 (ko) 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
KR100679031B1 (ko) 다 계층 기반의 비디오 인코딩 방법, 디코딩 방법 및 상기방법을 이용한 장치
KR100679035B1 (ko) 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더
KR100772883B1 (ko) 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더
KR100791299B1 (ko) 다 계층 기반의 비디오 인코딩 방법 및 장치
JP4891234B2 (ja) グリッド動き推定/補償を用いたスケーラブルビデオ符号化
US20060120448A1 (en) Method and apparatus for encoding/decoding multi-layer video using DCT upsampling
KR100703746B1 (ko) 비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및장치
EP1817911A1 (en) Method and apparatus for multi-layered video encoding and decoding
WO2006132509A1 (en) Multilayer-based video encoding method, decoding method, video encoder, and video decoder using smoothing prediction

Legal Events

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

Payment date: 20120927

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160929

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180921

Year of fee payment: 12