KR20130135659A - 다계층 비디오 코딩을 위한 레이트 제어 방법, 이를 이용한 비디오 인코딩 장치 및 비디오 신호 처리 시스템 - Google Patents

다계층 비디오 코딩을 위한 레이트 제어 방법, 이를 이용한 비디오 인코딩 장치 및 비디오 신호 처리 시스템 Download PDF

Info

Publication number
KR20130135659A
KR20130135659A KR1020120059428A KR20120059428A KR20130135659A KR 20130135659 A KR20130135659 A KR 20130135659A KR 1020120059428 A KR1020120059428 A KR 1020120059428A KR 20120059428 A KR20120059428 A KR 20120059428A KR 20130135659 A KR20130135659 A KR 20130135659A
Authority
KR
South Korea
Prior art keywords
layer
macroblock
bit amount
encoding
quantization parameter
Prior art date
Application number
KR1020120059428A
Other languages
English (en)
Other versions
KR102001415B1 (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 KR1020120059428A priority Critical patent/KR102001415B1/ko
Priority to US13/798,371 priority patent/US9420279B2/en
Priority to DE102013105461A priority patent/DE102013105461A1/de
Priority to JP2013116321A priority patent/JP6291172B2/ja
Priority to CN201310217285.XA priority patent/CN103458241B/zh
Publication of KR20130135659A publication Critical patent/KR20130135659A/ko
Application granted granted Critical
Publication of KR102001415B1 publication Critical patent/KR102001415B1/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/115Selection of the code volume for a coding unit prior to 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/187Methods 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 scalable video layer
    • 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

Landscapes

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

Abstract

다계층 비디오 코딩을 위한 레이트 제어 방법, 이를 이용한 비디오 인코딩 장치 및 비디오 신호 처리 시스템에 관하여 개시한다. 다계층 비디오 코딩을 위한 레이트 제어 방법은 입력 비디오 데이터에 대한 제1계층에서의 인코딩 결과에 기초한 인코딩 통계 정보를 생성시키는 단계, 상기 인코딩 통계 정보를 이용하여 제2계층에서의 영역별로 할당되는 타깃 비트량을 결정하는 단계 및, 상기 타깃 비트량에 기초하여 상기 입력 비디오 데이터에 대한 제2계층에서의 인코딩 처리를 수행하는 단계를 포함한다.

Description

다계층 비디오 코딩을 위한 레이트 제어 방법, 이를 이용한 비디오 인코딩 장치 및 비디오 신호 처리 시스템{Rate control Method for multi-layer video encoding, and video encoder and video signal processing system using method thereof}
본 발명은 신호 처리 장치 및 방법에 관한 것으로서, 자세하게는 다계층 비디오 코딩을 위한 레이트 제어 방법, 이를 이용한 비디오 인코딩 장치 및 비디오 신호 처리 시스템에 관한 것이다.
일반적으로, 비디오 압축 기술은 유동적인 네크워크 환경을 고려하지 않고 하드웨어의 제한적인 동작 환경에서 일정한 네트워크 대역폭을 제공한다는 가정하에 비디오 데이터를 압축하였다.
네트워크 환경이 다양해지면서 대역폭이 변화하는 네크워크 환경에 적용될 비디오 데이터를 압축하기 위해서는 새로운 압축 기술이 필요하였다. 이러한 필요성에 의하여 개발된 압축 기술이 다계층 비디오 코덱 기술이다. 이와 같은, 다계층 비디오 인코딩 시에 화질의 열화를 방지하기 위하여 비트 레이트를 제어하는 기술이 필요하게 되었다.
본 발명의 목적은 하위 계층에서의 인코딩 결과에 기초하여 생성된 인코딩 통계 정보 또는/및 관심 영역 정보를 이용하여 상위 계층에서의 비트 레이트를 제어하는 다계층 비디오 코딩을 위한 레이트 제어 방법을 제공하는데 있다.
본 발명의 다른 목적은 하위 계층에서의 인코딩 결과에 기초하여 생성된 인코딩 통계 정보 또는/및 관심 영역 정보를 이용하여 상위 계층에서의 비트 레이트를 제어하는 비디오 인코더를 제공하는데 있다.
본 발명의 또 다른 목적은 하위 계층에서 생성된 인코딩 통계 정보 또는/및 관심 영역 정보를 이용하여 상위 계층에서의 인코딩 처리를 수행하는 비디오 신호 처리 시스템을 제공하는데 있다.
본 발명의 또 다른 목적은 본 발명의 실시 예들에 따른 다계층 비디오 코딩을 위한 레이트 제어 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 저장매체를 제공하는데 있다.
본 발명의 기술적 사상의 일면에 따른 일 실시 예에 의한 다계층 비디오 코딩을 위한 레이트 제어 방법은 입력 비디오 데이터에 대한 제1계층에서의 인코딩 결과에 기초한 인코딩 통계 정보를 생성시키는 단계, 상기 인코딩 통계 정보를 이용하여 제2계층에서의 영역별로 할당되는 타깃 비트량을 결정하는 단계 및, 상기 타깃 비트량에 기초하여 상기 입력 비디오 데이터에 대한 제2계층에서의 인코딩 처리를 수행하는 단계를 포함한다.
본 발명의 실시 예에 따르면, 상기 영역은 픽처 그룹, 프레임 또는 매크로블록 중의 적어도 하나 이상을 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 인코딩 통계 정보는 상기 제1계층에서의 영역별 인코딩 수행 과정에서 생성된 비트량에 대한 정보를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 인코딩 통계 정보는 상기 제1계층의 인코딩 수행 과정에서 영역별로 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합에 대한 정보를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 인코딩 통계 정보는 상기 제1계층에서 계산된 프레임별 복잡도 정보를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 인코딩 통계 정보는 상기 제1계층에서의 인코딩 처리 과정에서 생성된 영역별 비트량에 대한 정보, 영역별로 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합에 대한 정보, 영역별 복잡도 정보 중에서 적어도 2개 이상의 정보를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 제1계층과 제2계층에서 인코딩되는 비디오 데이터의 공간적 해상도가 다른 경우에 공간적 해상도를 일치시키기 위하여 업 스케일링 또는 다운 스케일링 처리된 인코딩 통계 정보에 기초하여 상기 제2계층에서의 영역별로 할당되는 타깃 비트량을 결정할 수 있다.
본 발명의 실시 예에 따르면, 상기 제2계층에서의 매크로블록별로 할당되는 타깃 비트량은 상기 제2계층의 매크로블록 위치에 매칭되는 제1계층의 매크로블록에 대한 인코딩 과정에서 생성된 비트량에 기초하여 결정될 수 있다.
본 발명의 실시 예에 따르면, 상기 제2계층에서의 i번째(i는 1 이상의 정수) 매크로블록에 할당되는 타깃 비트량 Tmb(i)은 다음과 같은 수학식
Figure pat00001
(여기에서, Tpic는 제2계층의 픽처에 할당된 타깃 비트량이고, MB_BITS(i)는 제2계층의 i번째 매크로블록에 매칭되는 제1계층의 매크로블록에서 생성된 비트량이고, PIC_BITS_SUM은 제1계층에서 픽처의 전체 매크로블록에서 생성된 비트량의 합임)에 의하여 결정될 수 있다.
본 발명의 실시 예에 따르면, 상기 제2계층에서의 매크로블록별로 할당되는 타깃 비트량은 상기 제2계층의 매크로블록에 매칭되는 제1계층의 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합에 기초하여 결정될 수 있다.
본 발명의 실시 예에 따르면, 상기 제2계층에서의 i번째(i는 1 이상의 정수) 매크로블록에 할당되는 타깃 비트량 Tmb(i)은 다음과 같은 수학식
Figure pat00002
(여기에서, Tpic는 제2계층의 픽처에 할당된 타깃 비트량이고, MB_SAD(i)는 제2계층의 i번째 매크로블록에 매칭되는 제1계층의 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합이고, PIC_SAD_SUM은 제1계층에서 픽처의 전체 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합임)에 의하여 결정될 수 있다.
본 발명의 실시 예에 따르면, 상기 제2계층에서의 매크로블록별로 할당되는 타깃 비트량은 상기 제2계층의 매크로블록에 매칭되는 제1계층의 매크로블록에 대한 인코딩 시에 생성된 비트량 및 상기 제2계층의 매크로블록에 매칭되는 제1계층의 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합에 기초하여 결정될 수 있다.
본 발명의 실시 예에 따르면, 상기 제2계층의 i번째(i는 1 이상의 정수) 매크로블록에 할당되는 타깃 비트량 Tmb(i)은 다음과 같은 수학식
Tmb(i) = (1-W)×Tpic×(MB_BITS[i]/PIC_BITS_SUM)
+ W×Tpic×(MB_SAD[i]/PIC_SAD_SUM)
(여기에서, Tpic는 제2계층의 픽처에 할당된 타깃 비트량이고, MB_BITS(i)는 제2계층의 i번째 매크로블록에 매칭되는 제1계층의 매크로블록에서 생성된 비트량이고, PIC_BITS_SUM은 제1계층에서 픽처의 전체 매크로블록에서 생성된 비트량의 합이고, MB_SAD(i)는 제2계층의 i번째 매크로블록에 매칭되는 제1계층의 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합이고, PIC_SAD_SUM은 제1계층에서 픽처의 전체 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합이며, W는 가중 계수로서 0 <W <1 임)에 의하여 결정될 수 있다.
본 발명의 실시 예에 따르면, 상기 제2계층의 프레임 별로 할당되는 타깃 비트량은 상기 제1계층에서의 영역별 복잡도 정보 및 제1계층에서의 픽처 그룹에서의 프레임 비트 점유 정보 중의 적어도 하나의 정보에 기초하여 결정될 수 있다.
본 발명의 실시 예에 따르면, 상기 제2계층의 i번째(i는 1 이상의 정수) 프레임에 할당되는 타깃 비트량 TENH _ frame[i]은 다음과 같은 수학식
Figure pat00003
(여기에서, GOP_ALLOC_BITSENH는 제2계층의 픽처 그룹에 할당된 타깃 비트량이고, PICTURE_TYPE는 픽처의 타입이고, COMPLEXITYBASE[i]는 제1계층의 i번째 프레임에 대한 복잡도이고, GOP_ALLOC_BITSBASE는 제1계층의 픽처 그룹에서 생성된 비트량이고, FRAME_BITSBASE[i]는 제1계층의 i번째 프레임에서 생성된 비트량임)에 의하여 결정될 수 있다.
본 발명의 실시 예에 따르면, 상기 제1계층은 비디오 인코딩 표준 따른 기본 계층이고, 상기 제2계층은 비디오 인코딩 표준에 따른 향상 계층일 수 있다.
본 발명의 실시 예에 따르면, 상기 인코딩 처리를 수행하는 단계는 상기 타깃 비트량에 기초하여 양자화 파라미터 값을 결정하고, 상기 양자화 파라미터 값을 적용하여 상기 입력 비디오 데이터에 대한 제2계층의 인코딩 과정에서의 양자화 처리를 수행할 수 있다.
본 발명의 실시 예에 따르면, 상기 영역별로 할당된 타깃 비트량과 제2계층의 인코딩 과정에서 발생된 비트량의 차에 연동하여 영역별로 할당된 파라미터 값을 조절하는 방식으로 상기 양자화 파라미터 값을 결정할 수 있다.
본 발명의 실시 예에 따르면, 상기 타깃 비트량이 인코딩 과정에서 발생된 비트량보다 큰 경우에는 상기 영역별로 할당된 양자화 파라미터 값을 감소시키고, 상기 타깃 비트량이 인코딩 처리 과정에서 발생된 비트량보다 작은 경우에는 상기 영역별로 할당된 양자화 파라미터 값을 증가시키도록 상기 양자화 파라미터 값을 조절할 수 있다.
본 발명의 실시 예에 따르면, 상기 입력 비디오 데이터에 대한 관심 영역 정보를 생성시키는 단계 및, 상기 관심 영역 정보에 기초하여 상기 입력 비디오 데이터에 대한 제2계층에서의 영역별로 할당되는 양자화 파라미터 값을 결정하는 단계를 더 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 관심 영역 정보에 기초하여 관심 영역에 포함된 매크로블록들에 대한 양자화 파라미터 값을 비관심 영역에 포함된 매크로블록들에 대한 양자화 파라미터 값보다 작게 결정할 수 있다.
본 발명의 실시 예에 따르면, 상기 결정된 타깃 비트량 및 상기 영역별로 할당된 양자화 파라미터 값에 기초하여 제2계층에서의 비트 레이트를 제어할 수 있다.
본 발명의 기술적 사상의 일면에 따른 다른 실시 예에 의한 다계층 비디오 코딩을 위한 레이트 제어 방법은 입력 비디오 데이터에 대한 관심 영역 정보를 생성하는 단계 및, 상기 관심 영역 정보에 기초하여 향상 계층에서의 영역별로 할당되는 양자화 파라미터 값을 결정하는 단계를 포함하고, 상기 관심 영역 정보에 기초하여 관심 영역과 비관심 영역에서의 양자화 파라미터 값을 다르게 결정하는 것을 특징으로 한다.
본 발명의 실시 예에 따르면, 상기 관심 영역 정보는 비트 발생 분포도, 영상의 복잡도, 화소 분포도 중의 적어도 하나 이상을 이용하여 산출할 수 있다.
본 발명의 실시 예에 따르면, 상기 관심 영역 정보에 기초하여 관심 영역에 포함된 매크로블록들에 대한 양자화 파라미터 값을 비관심 영역에 포함된 매크로블록들에 대한 양자화 파라미터 값보다 작게 결정할 수 있다.
본 발명의 실시 예에 따르면, 상기 영역별로 할당되는 양자화 파라미터 값에 기초하여 향상 계층에서의 양자화 처리를 수행하는 단계를 더 포함할 수 있다.
본 발명의 기술적 사상의 다른 면에 따른 비디오 인코딩 장치는 입력 비디오 데이터에 대한 제1계층에서의 인코딩 결과에 기초한 인코딩 통계 정보를 생성시키는 제1인코딩 처리부, 상기 인코딩 통계 정보에 기초하여 상기 제2계층에서의 인코딩 처리 시에 적용할 양자화 파라미터 값을 생성하는 레이트 제어부 및, 상기 양자화 파라미터 값을 적용하여 상기 입력 비디오 데이터에 대한 제2계층에서의 인코딩 처리를 수행하는 제2인코딩 처리부를 포함한다.
본 발명의 실시 예에 따르면, 상기 레이트 제어부는 상기 인코딩 통계 정보에 기초하여 제2계층에서의 영역별로 할당되는 타깃 비트량을 결정하는 비트량 결정기 및, 상기 타깃 비트량 및 상기 제2인코딩 처리부서 발생된 비트량의 차에 기초하여 양자화 파라미터 값을 생성하는 양자화 파라미터 생성기를 포함한다.
본 발명의 실시 예에 따르면, 상기 비트량 결정기는 상기 제2계층의 매크로블록에 매칭되는 제1계층의 매크로블록에 대한 인코딩 시에 생성된 비트량에 기초하여 상기 제2계층에서의 매크로블록별로 할당되는 타깃 비트량을 결정할 수 있다.
본 발명의 실시 예에 따르면, 상기 비트량 결정기는 상기 제2계층의 매크로블록에 매칭되는 제1계층의 매크로블록에 대한 인코딩 시에 생성된 비트량에 기초하여 상기 제2계층에서의 매크로블록별로 할당되는 타깃 비트량을 결정할 수 있다.
본 발명의 실시 예에 따르면, 상기 비트량 결정기는 상기 제2계층의 매크로블록에 매칭되는 제1계층의 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합에 기초하여 상기 제2계층에서의 매크로블록별로 할당되는 타깃 비트량을 결정할 수 있다.
본 발명의 실시 예에 따르면, 상기 비트량 결정기는 상기 제1계층에서 계산된 영역별 복잡도 정보 및 제1계층에서의 픽처 그룹에서 프레임 비트 점유 정보 중의 적어도 하나의 정보에 기초하여 상기 제2계층의 프레임 별로 할당되는 타깃 비트량을 결정할 수 있다.
본 발명의 실시 예에 따르면, 상기 입력 비디오 데이터에 대한 관심 영역을 검출하고, 상기 검출된 관심 영역을 나타내는 관심 영역 정보를 생성하는 관심 영역 검출부를 더 포함하고, 상기 레이트 제어부는 상기 관심 영역 정보에 기초하여 제2계층에서의 영역별로 할당되는 양자화 파라미터 값을 결정할 수 있다.
본 발명의 실시 예에 따르면, 상기 레이트 제어부는 상기 인코딩 통계 정보에 기초하여 제2계층에서의 영역별로 할당된 타깃 비트량 및 상기 제2인코더에서 발생된 비트량의 차에 기초하여 상기 영역별로 할당된 양자화 파라미터 값을 조정하여 상기 제2인코더에 적용할 양자화 파라미터 값을 생성할 수 있다.
본 발명의 기술적 사상의 또 다른 면에 따른 비디오 신호 처리 시스템은 소스 비디오 데이터를 기본 계층과 적어도 하나 이상의 향상 계층에서 각각 인코딩 처리하는 다계층 인코더 및, 상기 다계층 인코더에서 인코딩 처리된 비디오 데이터를 유선 또는 무선 네트워크를 통하여 타깃 디바이스로 송신하는 송신기를 포함하고, 상기 다계층 인코더는 상기 기본 계층에서의 인코딩 결과에 기초한 인코딩 통계 정보에 기초하여 상기 향상 계층에서 영역별로 할당되는 타깃 비트량을 결정하는 것을 특징으로 한다.
본 발명의 실시 예에 따르면, 상기 다계층 인코더는 상기 소스 비디오 데이터에 대한 관심 영역 정보에 기초하여 상기 향상 계층에서 영역별로 할당되는 양자화 파라미터 값을 결정할 수 있다.
본 발명의 기술적 사상의 또 다른 면에 따른 저장 매체는 본 발명의 실시 예들에 따른 다계층 비디오 코딩을 위한 레이트 제어 방법을 컴퓨터에서 실행시키기 위한 프로그램 코드들이 저장된다.
본 발명에 의하면 하위 계층에서의 인코딩 결과에 기초하여 생성된 인코딩 통계 정보를 이용하여 상위 계층에서의 영역별로 할당되는 타깃 비트량을 결정함으로써, 상위 계층에서의 효율적인 레이트 제어를 수행할 수 있는 효과가 발생된다.
그리고, 본 발명에 의하면 하위 계층의 관심 영역 정보에 기초하여 상위 계층에서의 영역별로 할당되는 양자화 파라미터 값을 결정함으로써, 상위 계층에서의 효율적인 레이트 제어를 수행할 수 있는 효과가 발생된다.
이와 같이 상위 계층의 효율적인 레이트 제어를 수행함으로써, 상위 계층의 비디오 품질을 향상시킬 수 있는 효과가 발생된다.
도 1은 본 발명의 일 실시 예에 따른 비디오 신호 처리 시스템의 블록 구성도이다.
도 2는 도 1에 도시된 소스 디바이스 및 목적지 디바이스에 대한 구성을 예시적으로 보여주는 도면이다.
도 3은 본 발명의 일 실시 예에 따른 다계층 인코더의 구성을 예시적으로 보여주는 도면이다.
도 4는 본 발명의 다른 일 실시 예에 따른 다계층 인코더의 구성을 예시적으로 보여주는 도면이다.
도 5는 본 발명의 또 다른 실시 예에 따른 다계층 인코더의 구성을 예시적으로 보여주는 도면이다.
도 6은 본 발명의 또 다른 실시 예에 따른 다계층 인코더의 구성을 예시적으로 보여주는 도면이다.
도 7은 본 발명의 또 다른 실시 예에 따른 다계층 인코더의 구성을 예시적으로 보여주는 도면이다.
도 8은 본 발명의 또 다른 실시 예에 따른 다계층 인코더의 구성을 예시적으로 보여주는 도면이다.
도 9는 본 발명의 일 실시 예에 따른 관심 영역 검출부의 구성을 예시적으로 보여주는 도면이다.
도 10은 본 발명의 다른 실시 예에 따른 관심 영역 검출부의 구성을 예시적으로 보여주는 도면이다.
도 11은 본 발명의 또 다른 실시 예에 따른 관심 영역 검출부의 구성을 예시적으로 보여주는 도면이다.
도 12는 본 발명의 일 실시 예에 따른 향상 계층의 제2레이트 제어부에 대한 구성을 예시적으로 보여주는 도면이다.
도 13은 본 발명의 다른 실시 예에 따른 향상 계층의 제2레이트 제어부에 대한 구성을 예시적으로 보여주는 도면이다.
도 14는 본 발명의 또 다른 실시 예에 따른 향상 계층의 제2레이트 제어부에 대한 구성을 예시적으로 보여주는 도면이다.
도 15는 본 발명의 실시 예에 따른 다계층 인코더의 세부적인 구성을 예시적으로 보여주는 도면이다.
도 16은 본 발명의 다른 실시 예에 따른 다계층 인코더의 세부적인 구성을 예시적으로 보여주는 도면이다.
도 17a ~ 17c는 본 발명의 일 실시 예에 따른 공간 스케일러빌리티를 지원하는 다계층 인코더에서의 기본 계층의 인코딩 통계 정보를 이용하여 향상 계층의 매크로블록에 대한 타깃 비트량을 결정하는 과정을 보여주는 개념도이다.
도 18a ~ 18d는 본 발명의 실시 예에 따른 품질 스케일러빌리티를 지원하는 다계층 인코더에서의 기본 계층의 인코딩 통계 정보를 이용하여 향상 계층의 매크로블록에 대한 타깃 비트량을 결정하는 과정을 보여주는 개념도이다.
도 19a 및 도 19b는 본 발명의 실시 예에 따른 다계층 인코더에서의 기본 계층의 인코딩 통계 정보를 이용하여 향상 계층의 프레임에 대한 타깃 비트량을 결정하는 과정을 보여주는 개념도이다.
도 20a ~ 20c는 본 발명의 일 실시 예에 따른 공간 스케일러빌리티를 지원하는 다계층 인코더에서의 기본 계층의 관심 영역 정보를 이용하여 향상 계층의 매크로블록에 대한 양자화 파라미터 값을 할당하는 과정을 보여주는 개념도이다.
도 21a ~ 21d는 본 발명의 실시 예에 따른 품질 스케일러빌리티를 지원하는 다계층 인코더에서의 기본 계층의 관심 영역 정보를 이용하여 향상 계층의 매크로블록에 대한 양자화 파라미터 값을 할당하는 과정을 보여주는 개념도이다.
도 22는 본 발명의 실시 예에 따른 관심 영역 정보를 이용하여 향상 계층에서의 양자화 파라미터 값이 결정된 예를 보여주는 도면이다.
도 23은 본 발명의 실시 예에 따른 다계층 비디오 코딩을 위한 레이트 제어 방법의 흐름도이다.
도 24는 본 발명의 일 실시 예에 따른 다계층 비디오 코딩을 위한 레이트 제어 방법에서의 제2계층의 양자화 파라미터 값을 결정하는 방법의 흐름도이다.
도 25는 본 발명의 다른 실시 예에 따른 다계층 비디오 코딩을 위한 레이트 제어 방법에서의 제2계층의 양자화 파라미터 값을 결정하는 방법의 흐름도이다.
도 26은 본 발명의 또 다른 실시 예에 따른 다계층 비디오 코딩을 위한 레이트 제어 방법에서의 제2계층의 양자화 파라미터 값을 결정하는 방법의 흐름도이다.
도 27은 본 발명의 실시 예에 따른 비디오 공급 장치의 구현 예를 보여주는 블록도이다.
도 28은 본 발명의 실시 예에 따른 비디오 서비스 시스템의 구현 예를 보여주는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시 예에 따른 비디오 신호 처리 시스템(1000)의 블록 구성도이다.
도 1에 도시된 바와 같이, 비디오 신호 처리 시스템(1000)은 소스 디바이스(100) 및 목적지 디바이스(200)를 포함한다.
도 1에서 목적지 디바이스(200)는 설명의 편의를 위하여 단일의 목적지 디바이스로 표시하였으나, 복수의 목적지 디바이스들로 구성될 수도 있다.
소스 디바이스(100)는 하나 이상의 비디오 소스로부터 디지털 비디오 콘텐츠를 획득하고, 획득된 디지털 비디오 콘텐츠를 목적지 디바이스(200)로 송신하기 위하여 인코딩 처리를 수행한다. 디지털 비디오 콘텐츠는 예로서 실시간으로 캡쳐링될 수 있으며, 또한 프리-캡쳐링될 수도 있다.
소스 디바이스(100)는 하나 이상의 안테나를 이용하여 통신 채널을 통해 인코딩된 비디오 데이터를 전달하기 위하여 주파수 변조, 필터링 처리 및 증폭 처리를 수행하는 송신기를 포함하거나, 그 송신기에 커플링될 수도 있다.
소스 디바이스(100)는 스케일러빌리티(scalability)를 갖도록 다계층 인코딩 기능을 지원할 수 있다. 다계층 인코딩은 일 예로서 스케일러블(scalable) 인코딩 등이 포함될 수 있다.
스케일러빌리티(scalability)란 하나의 비디오 시퀀스를 압축하여 얻은 스트림으로부터 해상도와 프레임 레이트 및 화질을 달리하는 다양한 비디오 시퀀스를 복원할 수 있는 특성을 의미한다. 즉, 하나의 비디오 데이터를 여러 개의 비트 스트림으로 코딩하여 채널 특성에 맞게 전송하는 것이다. 예를 들어, 3개의 비트 스트림으로 코딩하였다면, 채널 특성이 나쁠 때는 가장 낮은 품질 레벨의 첫 번째 비트 스트림만을 전송하고, 채널 특성이 좀더 좋아지면 첫 번째 비트 스트림과 첫 번째 비트 스트림보다 상위 품질 레벨의 두 번째 비트 스트림을 전송한다. 그리고, 채널 특성이 더 좋아지면 품질 레벨이 가장 높은 세 번째 비트 스트림도 첫 번째 비트림 및 두 번째 비트 스트림을 함께 전송한다.
그리고, 다계층 코딩 기능을 지원하는 소스 디바이스(100)는 해상도가 낮거나 크기가 작은 화면으로 이루어진 기본 계층(base layer)과 이보다 해상도가 높거나 크기가 큰 화면으로 이루어진 향상 계층(enhancement layer)에 대한 인코딩 처리를 각각 수행할 수 있다. 기본 계층은 독립적으로 복호가 가능하도록 부호화된 비트 스트림이고, 향상 계층은 기본 계층에 있는 비트 스트림을 개선하기 위하여 사용되는 비트 스트림이다. 예를 들어, 향상 계층에서 부호화된 데이터는 소스 데이터와 기본 계층에서 부호화한 데이터의 차이값을 세밀하게 부호화한 것이다.
소스 디바이스(100)는 비디오의 해상도를 조절할 수 있는 공간적 스케일러빌리티(spatial scalability), 비디오의 품질을 조절할 수 있는 품질 스케일러빌리티(quality scalability), 프레임 레이트를 조절할 수 있는 시간적 스케일러빌리티(temporal scalability) 각각을 지원할 수 있다. 그리고, 이러한 공간적 스케일러빌리티, 품질 스케일러빌리티, 시간적 스케일러빌리티(temporal scalability)들을 다양하게 조합하여 다계층 코딩 방식으로 비디오 데이터를 코딩할 수 있다.
이와 같이, 소스 디바이스(100)는 다계층 코딩 기능을 지원하기 위하여 소스 비디오 데이터를 기본 계층 및 하나 이상의 향상 계층으로 인코딩 할 수 있다. 소스 디바이스(100)는 기본 계층 및 향상 계층의 규격에 적합하도록 소스 비디오 데이터를 변형하여 각각의 계층에 인가한다. 기본 계층에서는 예로서 기본 품질 레벨을 가진 비디오 데이터를 인코딩 처리한다. 그리고, 하나 이상의 향상 계층에서는 기본 계층보다 높은 품질 레벨을 갖는 비디오 데이터를 인코딩 처리한다.
예로서, 소스 디바이스(100)는 ITU-T H.264/MPEG-4, Part 10 AVC 표준의 SVC 방식에 따라서 소스 비디오 데이터를 기본 계층으로서 인코딩 처리하고, 향상 계층에서는 본 발명에서 설명될 방식에 따라서 인코딩 처리를 할 수 있다.
본 발명에서 제안하는 기술들은 H.264 표준에 순응하는 디바이스에 대한 비디오 스케일러빌리티 확장을 실행하도록 적용될 수 있다. 또한, 본 발명에서 제안하는 기술들은 H.264 표준 또는 다른 표준으로서 조직에 의하여 개발되거나 표준 단체에 의하여 정의된 임의의 다른 비디오 코딩 표준은 물론 MPEG-1과 MPEG-2, ITU-T H.263 표준, SMPTE(Society of Motion Picture and Television Engineers), HEVC(High Efficiency Video Coding) 등과 같은 다양한 비디오 코딩 표준에 의하여 정의된 것과 같은 다양한 비디오 압축 표준 및 임의의 표준과 함께 적용될 수 있다.
목적지 디바이스(200)는 인코딩된 비디오 데이터의 유선 또는 무선 통신망을 통한 수신을 지원할 수 있다. 목적지 디바이스(200)는 무선 통신 디바이스 예를 들어, 휴대폰, 무선 전화기, 무선 방송 시스템, 개인 휴대 정보 단말기(PDA), 노트북 컴퓨터, 데스크탑 컴퓨터, 디지털 카메라, 디지털 레코딩 디바이스, 비디오 게임 디바이스, 디지털 텔레비전 등과 같은 디지털 비디오 데이터를 수신하여 디코딩할 수 있는 디바이스들을 포함할 수 있다.
목적지 디바이스(200)는 위에서 설명한 바와 같은 다양한 비디오 압축 표준들 중에서 하나의 표준에 따라 동작할 수 있다.
소스 디바이스(100) 및 목적지 디바이스(200)는 무선 또는 유선 통신 디바이스로 구현할 수 있다. 또한, 소스 디바이스(100) 및 목적지 디바이스(200)는 집적 회로 칩 또는 칩셋과 같은 집적 회로 디바이스로서 구현될 수도 있다. 즉, 무선 또는 유선 통신 디바이스에 디지털 미디어 플레이어, 개인 휴대 정보 단말기(PDA), 휴대폰, 디지털 텔레비전 등과 디지털 비디오 애플리케이션을 지원하는 다른 유형의 디바이스에 포함될 수도 있다.
도 2는 도 1에 도시된 소스 디바이스(100) 및 목적지 디바이스(200)에 대한 구성을 예시적으로 보여주는 도면이다.
도 2에 도시된 바와 같이, 소스 디바이스(100)는 비디오 소스(110), 비디오 인코더(120) 및 송신기(130)를 포함할 수 있다. 그리고, 목적지 디바이스(200)는 수신기(210), 비디오 디코더(220) 및 디스플레이 디바이스(230)를 포함할 수 있다.
비디오 소스(110)는 비디오 캡쳐 디바이스로서 예들 들면 비디오 카메라, 비디오 콘텐츠 공급 장치, 카메라 폰, 비디오 폰, 카메라가 장착된 휴대폰 등이 포함될 수 있다.
비디오 인코더(120)는 비디오 소스(110)로부터 비디오 데이터를 수신하고, 수신된 비디오 데이터를 기본 계층 비트 스트림 및 하나 이상의 향상 계층 비트 스트림들로서 인코딩 처리한다. 비디오 인코더(120)는 다계층 인코딩 기능을 지원할 수 있다.
도 2에 도시된 바와 같이, 비디오 인코더(120)는 기본 계층 인코더(121), 하나 이상의 향상 계층 인코더(122) 및 프레임 버퍼(123)를 포함한다.
기본 계층 인코더(121) 및 향상 계층 인코더(122)는 비디오 소스(110)로부터 공통의 비디오 데이터를 수신한다.
기본 계층 인코더(121)는 비디오 데이터를 제1비트 레이트로 인코딩하여 제1품질 레벨의 비디오의 기본 계층 비트 스트림을 생성한다. 그리고, 기본 계층 인코더(121)는 기본 계층에서의 인코딩 결과에 기초한 인코딩 통계 정보를 생성한다. 예로서, 인코딩 통계 정보는 기본 계층에서의 기준 사이즈 별로 인코딩 처리를 위하여 생성된 비트량에 대한 정보, 기본 계층의 인코딩 수행 과정에서 기준 사이즈별로 계산되는 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합에 대한 정보, 기본 계층에서 계산된 기준 사이즈에 대한 복잡도 정보들 중의 하나 이상의 정보들이 포함될 수 있다. 여기에서, 기준 사이즈는 픽처 그룹(GOP; Group of Picture), 프레임(frame) 또는 매크로블록(macroblock) 사이즈들 중의 적어도 하나 이상을 포함할 수 있다.
기본 계층 인코더(121)는 입력되는 비디오 데이터를 분석하여 관심 영역 정보를 생성시킬 수 있다. 관심 영역 정보는 기본 계층 인코더(121) 외부에 배치된 관심 영역 검출 수단에 의하여 생성될 수도 있다.
프레임 버퍼(123)에는 기본 계층 인코더(121)에서 인코딩 결과에 기초하여 생성된 인코딩 통계 정보를 저장된다. 그리고, 기본 계층 인코더(121)에서 생성된 관심 영역 정보도 저장될 수 있다. 또한, H.264 표준에 따라서 향상 계층 인코더(122)에서 인코딩 처리 시에 이용되는 기본 계층 인코더(121)에서 생성된 정보들도 저장될 수 있다. 예로서, 프레임 버퍼(123)에는 기본 계층 인코더(121)에서 인코딩 처리 과정에서 생성된 프레임 간(inter) 또는 프레임 내(intra)의 예측 정보, 움직임 정보, 레지듀얼(residual) 정보가 저장될 수 있다.
향상 계층 인코더(122)는 기본 계층 인코더(121)에서 인코딩 처리 과정에서 생성된 프레임 간(inter) 또는 프레임 내(intra)의 예측 정보, 움직임 정보, 레지듀얼(residual) 정보를 이용하여 인코딩 처리를 수행함으로써 압축 효율을 높인다. 또한, 향상 계층 인코더(122)는 기본 계층 인코더(121)에서 인코딩 결과에 기초하여 생성된 인코딩 통계 정보를 이용하여 레이트 제어를 수행한다. 기본 계층에서 생성된 인코딩 통계 정보를 이용하여 향상 계층에서의 레이트 제어를 실행하는 동작에 대해서는 아래에서 상세히 설명될 것이다.
공간적 스케일러빌리티는 입력되는 프레임 데이터를 업-샘플링(up-sampling) 또는 다운-샘플링(down-sampling) 처리를 통하여 실현될 수 있다.
기본 계층 인코더(121) 및 향상 계층 인코더(122)는 각각 프레임들의 비디오 블록들의 인트라 코딩(intra coding) 또는 인터 코딩(inter coding)을 수행한다.
인트라 코딩은 공간적 예측에 의하여 프레임 또는 매크로블록 내의 비디오 데이터에서의 공간적 리던던시를 감소 또는 제거한다. 인트라 코딩은 현재 코딩되고 있는 매크로블록과 동일한 프레임 내의 하나 이상의 미리 인코딩된 매크로블록들에 기초하여 공간적 예측 매크로블록을 형성한다.
기본 계층 인코더(121)는 인트라 코딩의 예로서, 현재 프레임의 기본 계층 내의 하나 이상의 미리 인코딩된 매크로블록들의 픽셀 값들을 이용하여 보간을 수행함으로써 프레임 내의 하나 이상의 미리 인코딩된 매크로블록들에 기초하여 예측 블록을 생성할 수 있다.
향상 계층 인코더(122)는 인트라 코딩의 예로서 프레임 내의 하나 이상의 미리 인코딩된 매크로블록들에 기초하여 예측 매크로블록을 생성할 수 있다. 향상 계층 인코더(122)는 예로서, 프레임 내의 기본 계층 및 향상 계층으로부터 하나 이상의 미리 인코딩된 매크로블록들에 기초하여 예측 매크로블록을 생성할 수도 있다. 예를 들어, 향상 계층 인코더(122)는 기본 계층으로부터 적어도 하나의 미리 인코딩된 매크로블록 및 향상 계층으로부터의 적어도 하나의 미리 인코딩된 매크로블록에 대한 픽셀 값들의 가중합(weighted sum)을 이용하여 예측 매크로블록을 생성할 수도 있다.
다음으로, 인터 코딩은 시간적 예측에 의존하여 비디오 시퀀스의 인접한 프레임들 내의 시간적 리던던시를 감소 또는 제거한다. 인터 코딩의 경우, 기본 계층 인코더(121) 및 향상 계층 인코더(122)는 2개 이상의 인접한 프레임들 간의 매크로블록들을 근접하게 매칭시켜 움직임을 추정한다. 인터 예측에 있어서, 기본 계층 인코더(121) 및 향상 계층 인코더(122)는 코딩된 유닛 내의 다른 프레임들로부터 하나 이상의 미리 인코딩된 매크로블록들에 기초하여 시간적 예측 매크로블록들을 생성할 수 있다.
예를 들어, 기본 계층 인코더(121)는 현재의 매크로블록을 하나 이상의 인접한 비디오 프레임들 내의 매크로블록들과 비교하여 현재의 매크로블록을 가장 근접하게 매칭되는 인접한 프레임 내의 매크로블록을 찾아낸다. 예로서, 절대 차들의 합(SAD; Sum of Absolute Differences)이 가장 작은 값을 갖는 인접한 프레임 내의 매크로블록을 시간적 예측 매크로블록으로 결정할 수 있다.
예를 들어, 향상 계층 인코더(122)는 현재의 매크로블록을 기본 계층 및/또는 향상 계층에서의 하나 이상의 인접한 프레임들 내의 매크로블록들과 비교할 수도 있다.
기본 계층 인코더(121) 및 향상 계층 인코더(122)는 매크로블록들의 인트라-기반 예측 또는 인터-기반 예측을 수행한 후에, 원래의 매크로블록으로부터 예측 매크로블록을 뺌으로써 레지듀얼(residual) 매크로블록을 생성한다. 레지듀얼 매크로블록은 코딩되는 현재의 매크로블록과 예측 매크로블록의 차이를 나타낸다.
기본 계층 인코더(121) 및 향상 계층 인코더(122)는 변환, 양자화 및 엔트로피 코딩 처리에 의하여 레지듀얼 매크로블록의 비트 레이트를 감소시킨다. 이산 코사인 변환(DCT), 정수 변환, 웨이블릿 변환, 방향성 변환 또는 다른 변환 연산을 포함할 수 있는 변환 기술들은 픽셀 차이 값들의 세트를 주파수 도메인에서 픽셀 차이 값들의 에너지를 나타내는 레지듀얼 변환 계수들로 변환한다.
기본 계층 인코더(121) 및 향상 계층 인코더(122)는 양자화 파라미터(QP)를 이용하여 레지듀얼 변환 계수들을 양자화 처리한다. 양자화 파라미터 값에 따라서 비디오 데이터에 대한 인코딩 처리를 위하여 생성되는 비트량이 가변된다. 예로서, ITU-T H.264 표준에서는 양자화 파라미터(QP) 값이 커지면 비디오 데이터가 더 적은 수의 비트들을 가진 낮은 품질로 인코딩되고, 양자화 파라미터(QP) 값이 작아지면 비디오 데이터가 더 많은 수의 비트들을 가진 높은 품질로 인코딩된다.
기본 계층 인코더(121)는 프레임 또는 매크로블록별로 초기 설정된 타깃 비트량과 기본 계층의 엔트로피 코딩 처리에서 생성된 비트량에 기초하여 양자화 파라미터 값을 결정한다.
그리고, 향상 계층 인코더(122)는 기본 계층 인코더(121)에서 생성되는 인코딩 통계 정보에 기초하여 프레임 또는 매크로블록별로 타깃 비트량을 결정하고, 타깃 비트량과 향상 계층의 엔트로피 코딩 처리에서 생성된 비트량에 기초하여 양자화 파라미터 값을 결정한다.
품질 스케일러빌리티는 레지듀얼 양자화에 의해 실현될 있다. 예로서, 최소 품질 레벨로 비디오 데이터를 인코딩하는 기본 계층 인코더(121)는 향상 계층의 계수들을 양자화하기 위해 향상 계층 인코더(122)에 의해 이용된 양자화 파라미터(QP) 값보다 더 큰 양자화 파라미터(QP) 값을 이용하여 기본 계층의 계수들을 양자화한다.
또한, 향상 계층 인코더(122)는 기본 계층 인코더(121)에서 생성되거나 또는 기본 계층 인코더(121) 외부에서 생성되는 비디오 데이터에 대한 관심 영역 정보에 기초하여 양자화 파라미터(QP) 값을 결정할 수 있다. 예로서, 관심 영역 내에서의 양자화 파라미터(QP) 값을 비관심 영역 내의 양자화 파라미터(QP) 값에 비하여 상대적으로 작은 값으로 결정할 수 있다.
기본 계층 인코더(121) 및 향상 계층 인코더(122)는 2차원 레지듀얼 매크로블록을 스캐닝하여 계수들의 1차원 벡터를 생성하고, 계수 벡터를 엔트로피 코딩하여 레지듀얼 계수들을 더욱 압축한다. 엔트로피 코딩은 예로서, 가변 길이 코팅(VLC), 산술 코딩, 고정 길이 코딩, CAVLC(Context-Adaptive VLC), CABAC(Context-Adaptive Binary Arithmetic Coding), 또는 다른 엔트로피 코딩 기술들을 포함할 수도 있다.
기본 계층 인코더(121) 및 향상 계층 인코더(122)는 단일의 인코딩 패스 프로세스 또는 다수의 인코딩 패스 프로세스를 이용하여 계수 벡터들을 인코딩할 수 있다.
기본 계층 인코더(121)는 예로서, 계수 벡터의 처음에서 시작하여 넌제로(non-zero) 계수들 각각을 단일의 인코딩 패스에서 하나씩 인코딩할 수 있다.
기본 계층 인코더(121)는 런-길이들 각각을 개별적으로 인코딩하기 위하여 VLC 테이블을 선택할 수 있다. 기본 계층 인코더(121)는 런들의 합계 심볼 및 지금까지 코딩된 런들의 합계에 기초하여 현재의 런 값을 인코딩하기 위해 VLC 테이블을 선택할 수 있다. 예로서, 계수 벡터가 8의 런들의 합계를 갖고, 인코딩된 마지막 넌제로 계수 전에 인코딩된 런이 6 이었다면 모든 나머지 런들은 0, 1 또는 2이어야 한다. 가능한 런 길이는 각 부가적인 런이 인코딩됨에 따라 점차 짧아지기 때문에 기본 계층 인코더(30)는 효율적인 VLC 테이블들을 선택하여 런들을 나타내는데 이용되는 비트들의 수를 감소시킬 수 있다.
향상 계층 인코더(122)는 향상 계층의 양자화된 레지듀얼 변환 계수들을 인코딩한다. 향상 계층 인코더(122)는 기본 계층의 레지듀얼 계수들과는 상이한 양자화된 레지듀얼 계수들을 생성할 수 있다. 향상 계층의 양자화된 레지듀얼 계수들은 양자화 동안 기본 계층의 양자화 파라미터(QP) 값과는 다른 양자화 파라미터(QP) 값을 이용하여 기본 계층의 양자화된 레지듀얼 계수들과 상이할 수 있다.
향상 계층 인코더(122)는 기본 계층의 인코딩 결과에 기초한 인코딩 통계 정보를 이용하여 기준 사이즈 별로 할당되는 타깃 비트량을 할당하는 방식으로 레이트를 제어함으로써, 향상 계층에서의 인코딩하는 동안 계수 벡터의 양자화 레지듀얼 계수들 중 하나 이상을 폐기할 수도 있다.
향상 계층 인코더(122)는 계수 벡터의 처음에서 시작하여 넌제로 계수들 각각을 넌제로 계수들 각각을 단일의 인코딩 패스에서 하나씩 인코딩할 수 있다.
소스 디바이스(100)는 이와 같이 비디오 인코더(120)에서 인코딩된 비디오 데이터를 송신기(130)를 통해 목적지 디바이스(200)로 송신한다.
목적지 디바이스(200)는 수신기(210), 비디오 디코더(220) 및 디스플레이 디바이스(230)를 포함할 수 있다.
수신기(210)는 채널(300)을 통해 소스 디바이스(100)로부터 인코딩된 비디오 비트 스트림을 수신한다. 위에서 설명한 바와 같이, 인코딩된 비디오 비트 스트림은 기본 계층 비트 스트림 및 하나 이상의 향상 계층 비트 스트림들을 포함한다. 그리고, 채널(300)은 유선 또는 무선 통신 채널로 구현될 수 있다.
비디오 디코더(220)는 기본 계층 및 하나 이상의 향상 계층에서 디코딩하여 비디오 데이터를 획득할 수 있다. 비디오 디코더(220)는 기본 계층 디코더(221) 및 향상 계층 디코더(222)를 포함한다. 기본 계층 디코더(221)는 채널(300)을 통해 수신된 기본 계층 비트 스트림을 디코딩하여 제1품질의 비디오 데이터를 생성한다. 향상 계층 디코더(222)는 하나 이상의 향상 계층들의 비트 스트림을 디코딩하여 제2품질의 비디오 데이터를 생성한다.
목적지 디바이스(200)에 의하여 수신되는 향상 계층들의 수는 채널 상태에 의존될 수 있다.
기본 계층 디코더(221)는 기본 계층에서 인코딩된 비디오 비트 스트림을 디코딩하여 기본 계층의 양자화된 레지듀얼 계수들의 벡터를 나타내는 심볼들을 획득한다.
향상 계층 디코더(222)는 향상 계층에서 인코딩된 비디오 비트 스트림을 디코딩하여 향상 계층의 양자화된 레지듀얼 계수들의 벡터를 나타내는 심볼들을 획득한다.
기본 계층 디코더(221) 및 향상 계층 디코더(222)는 각각 디코딩된 양자화된 레지듀얼 계수들을 이용하여 복원된 기본 계층 비디오 데이터 및 복원된 향상 계층 비디오 데이터를 생성한다. 즉, 양자화된 레지듀얼 계수들을 역양자화하고, 역양자화된 레지듀얼 계수들을 역변환 처리하고, 픽셀 값들의 레지듀얼 매크로블록을 생성한다. 그리고, 픽셀 값들의 레지듀얼 매크로블록에 예측 매크로블록을 더하여 비디오 데이터를 복원할 수 있다.
복원된 비디오 데이터는 디스플레이 디바이스(230)를 통하여 디스플레이된다. 디스플레이 디바이스(230)는 액정 디스플레이(LCD), 음극선관(CRT), 플라즈마 디스플레이, 발광 다이오드(LED) 디스플레이, 유기 LED 디스플레이 등과 같은 다양한 디바이스가 적용될 수 있다.
도 3 ~ 도 8은 본 발명의 실시 예들에 따른 다계층 인코더의 구성을 예시적으로 보여주는 도면이다. 다계층 인코더는 일 예로서, 스케일러블 인코더 등으로 구현할 수 있다.
우선, 도 3에 도시된 본 발명의 일 실시 예에 따른 다계층 인코더에 대하여 설명하기로 한다.
도 3은 본 발명의 일 실시 예에 따른 공간 스케일러빌리티를 지원하는 다계층 인코더의 구성도이다.
도 3에 도시된 바와 같이, 다계층 인코더(120A)는 기본 계층 인코더(121A), 향상 계층 인코더(122A) 및 프레임 버퍼(123A)를 포함한다.
구체적으로, 기본 계층 인코더(121A)는 제1인코딩 처리부(10A) 및 제1레이트 제어부(20A)를 포함하고, 향상 계층 인코더(122A)는 제2인코딩 처리부(30A), 제2레이트 제어부(40A) 및 업 샘플링부(50)를 포함한다.
도 3에 도시된 본 발명에 따른 실시 예에서는 업 샘플링부(50)를 향상 계층 인코더(122A) 내에 배치하였다. 또한, 본 발명에 따른 다른 실시 예로서 업 샘플링부(50)를 향상 계층 인코더(122A) 외부에 배치할 수도 있다.
다계층 인코더(120A)로 오리지널 영상의 해상도를 갖는 비디오 데이터가 입력되면, 기본 계층 인코더(121A)는 오리지널 비디오 데이터를 직접 인코딩 처리하고, 향상 계층 인코더(122A)는 오리지널 비디오 데이터를 업 샘플링부(50)에 의하여 업 샘플링 처리하여 높은 해상도를 갖는 비디오 데이터로 변환한 후에 인코딩 처리를 수행한다.
예로서, 오리지널 비디오 데이터의 해상도가 CIF(Common Intermediate Format)이면, 기본 계층 인코더(121A)는 CIF 해상도의 오리지널 비디오 데이터를 인코딩 처리한다. 그리고, 향상 계층 인코더(122A)는 업 샘플링에 의하여 해상도를 높인 SD(Standard Definition) 또는 HD(High Definition)의 비디오 데이터를 인코딩 처리한다. 또한, 이와 반대로 향상 계층 인코더(122A)에서 높은 해상도를 갖는 오리지널 비디오 데이터를 인코딩하고, 기본 계층 인코더(121A)에서는 다운 스케일링된 비디오 데이터를 인코딩할 수도 있다. 이에 대해서는 도 4에서 설명되어질 것이다.
기본 계층 인코더(121A)의 제1인코딩 처리부(10A)는 입력되는 프레임 데이터를 제1레이트 제어부(20A)로부터 인가되는 양자화 파라미터 값(QP1)에 기초하여 결정된 비트 레이트로 인코딩하여 제1해상도를 갖는 기본 계층 비트 스트림을 생성한다.
기본 계층 인코더(121A)의 제1인코딩 처리부(10A)는 인코딩 결과에 기초한 인코딩 통계 정보를 생성한다. 예로서, 인코딩 통계 정보는 기본 계층에서의 영역별로 인코딩 처리 과정에서 생성된 비트량에 대한 정보, 기본 계층의 인코딩 수행 과정에서 영역별로 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합에 대한 정보, 기본 계층에서 계산된 영역별 복잡도 정보들 중의 하나 이상의 정보들이 포함될 수 있다. 여기에서, 영역의 사이즈는 픽처 그룹(GOP; Group of Picture), 프레임(frame) 또는 매크로블록(macroblock) 사이즈들 중의 적어도 하나 이상을 포함할 수 있다.
제1인코딩 처리부(10A)에서 생성된 인코딩 통계 정보는 프레임 버퍼(123A)에 저장된다.
제1레이트 제어부(20A)는 제1타깃 비트레이트에 따라서 제1계층의 영역별로 할당되는 타깃 비트량과 양자화 파라미터 값을 결정할 수 있다.
제1레이트 제어부(20A)는 제1타깃 비트레이트에 따라서 매크로블록에 대하여 할당된 타깃 비트량과 제1인코딩 처리부(10A)에서 기본 계층의 엔트로피 코딩 처리에서 실제 생성된 비트량(Bits_INF1)의 차에 연동하여 영역별로 할당된 양자화 파라미터 값을 조정하여 제1인코딩 처리부(10A)에 인가할 양자화 파라미터 값(QP1)을 결정한다. 예로서, 타깃 비트량이 실제 생성된 비트량보다 큰 경우에는 다음 매크로블록에 대하여 할당된 양자화 파라미터 값을 감소시키고, 타깃 비트량이 실제 생성된 비트량보다 작은 경우에는 다음 매크로블록에 대하여 할당된 양자화 파라미터 값을 증가시킨다. 그리고, 타깃 비트량이 실제 생성된 비트량이 같은 경우에는 다음 매크로블록에 할당된 양자화 파라미터 값을 그대로 유지한다.
향상 계층 인코더(122A)의 업 샘플링부(50)는 입력되는 프레임 데이터를 향상 계층의 해상도에 적합하도록 업 샘플링 한다. 업 샘플링부(50)에서 업 샘플링 처리된 프레임 데이터는 제2인코딩 처리부(30A)에 인가된다.
향상 계층 인코더(122A)의 제2인코딩 처리부(30A)는 업 샘플링 처리된 프레임 데이터를 제2레이트 제어부(40A)로부터 인가되는 양자화 파라미터 값(QP2)에 기초하여 결정된 비트 레이트로 인코딩하여 제2해상도를 갖는 향상 계층 비트 스트림을 생성한다.
제2레이트 제어부(40A)는 제2계층의 영역별로 할당되는 양자화 파라미터 값을 결정할 수 있다. 예로서, 제2타깃 비트레이트에 따라서 제2계층에서의 영역별로 할당되는 양자화 파라미터 값이 결정될 수 있다. 다른 예로서, 관심 영역 정보에 따라서 제2계층에서의 영역별로 할당되는 양자화 파라미터 값이 결정될 수도 있다.
제2레이트 제어부(40A)는 향상 계층에서 인코딩 처리할 매크로블록의 위치에 대응되는 기본 계층의 인코딩 통계 정보를 프레임 버퍼(123A)로부터 읽어내고, 읽어낸 기본 계층의 인코딩 통계 정보에 기초하여 매크로블록 또는/및 프레임에 대한 타깃 비트량을 결정하고, 결정된 매크로블록 또는/및 프레임에 대한 타깃 비트량 및 향상 계층의 엔트로피 코딩 처리에서 실제 생성된 비트량(Bits_INF2)의 차에 연동하여 영역별로 할당된 양자화 파라미터 값을 조정하여 제2인코딩 처리부(30A)에 인가할 양자화 파라미터 값(QP2)을 결정한다. 예로서, 기본 계층의 인코딩 통계 정보에 기초하여 결정된 타깃 비트량이 실제 생성된 비트량(Bits_INF2)보다 큰 경우에는 다음 처리할 매크로블록에 대하여 할당된 양자화 파라미터 값을 감소시키고, 기본 계층의 인코딩 통계 정보에 기초하여 결정된 타깃 비트량이 실제 생성된 비트량(Bits_INF2)보다 작은 경우에는 다음 처리할 매크로블록에 대하여 할당된 양자화 파라미터 값을 증가시킨다. 그리고, 타깃 비트량이 실제 생성된 비트량(Bits_INF2)이 같은 경우에는 다음 처리할 매크로블록에 대하여 할당된 양자화 파라미터 값을 그대로 유지한다.
도 17a ~ 17c는 본 발명의 일 실시 예에 따른 공간 스케일러빌리티를 지원하는 다계층 인코더에서의 기본 계층의 인코딩 통계 정보를 이용하여 향상 계층의 매크로블록에 대한 타깃 비트량을 결정하는 과정을 보여주는 개념도이다.
도 17a ~ 17d는 향상 계층에서 인코딩되는 비디오 데이터에 의한 해상도가 기본 계층에서 인코딩되는 비디오 데이터에 의한 해상도에 비하여 높은 예를 보여준다.
도 17a 및 도 17b를 참조하면, 기본 계층에서 프레임별로 인코딩을 실행하면서 생성된 인코딩 통계 정보를 향상 계층에 대응되는 프레임에 대한 인코딩을 실행하는데 이용하도록 향상 계층으로 전송한다. 인코딩 통계 정보는 픽처 또는 매크로블록 단위의 SAD 값, 픽처 또는 매크로블록 단위로 실제 생성된 비트량이 될 수 있다. 도 17a는 I픽처와 P픽처로 구성된 GOP(Group of Picture)에서의 인코딩 실행 과정의 예를 도시한 것이고, 도 17b는 I픽처, B 픽처 및 P픽처로 구성된 GOP(Group of Picture)에서의 인코딩 실행 과정의 예를 도시한 것이다.
도 17c를 참조하면, 기본 계층에서 생성된 인코딩 통계 정보인 매크로블록 단위의 SAD 값(ME_MB_SAD) 및 픽처 단위의 SAD 값(ME_PIC_SAD)을 업 스케일링 한 값에 기초하여 향상 계층에 대한 매크로블록의 타깃 비트 값(MB_target_bit)을 결정할 수 있다. 예로서, 향상 계층에서 인코딩할 매크로블록 위치에 대응되는 기본 계층의 매크로블록을 찾아내고, 찾아낸 기본 계층의 매크로블록에 대한 SAD 값(ME_PIC_SAD)을 이용하여 향상 계층에 대한 매크로블록의 타깃 비트 값(MB_target_bit)을 결정할 수 있다.
예로서, 도 17c에는 향상 계층에서의 하나의 픽처에 포함된 매크로블록의 개수는 기본 계층에서의 하나의 픽처에 포함된 매크로블록의 개수의 4배에 해당되는 경우를 보여준다. 도 17c에서는 기본 계층의 하나의 매크로블록에서 산출된 SAD 값(ME_PIC_SAD)을 이용하여 향상 계층에 대한 4개의 매크로블록들의 타깃 비트 값(MB_target_bit)을 결정하는 사례를 보여준다.
다음으로, 도 4에 도시된 본 발명의 다른 실시 예에 따른 다계층 인코더에 대하여 설명하기로 한다.
도 4는 본 발명의 다른 실시 예에 따른 공간 스케일러빌리티를 지원하는 다계층 인코더의 구성도이다.
도 4에 도시된 바와 같이, 다계층 인코더(120B)는 기본 계층 인코더(121B), 향상 계층 인코더(122B) 및 프레임 버퍼(123B)를 포함한다.
구체적으로, 기본 계층 인코더(121B)는 제1인코딩 처리부(10B), 제1레이트 제어부(20B) 및 다운 샘플링부(60)를 포함하고, 향상 계층 인코더(122B)는 제2인코딩 처리부(30B) 및 제2레이트 제어부(40B)를 포함한다.
도 4에 도시된 본 발명에 따른 실시 예에서는 다운 샘플링부(60)를 기본 계층 인코더(121B) 내에 배치하였다. 또한, 본 발명에 따른 다른 실시 예로서 다운 샘플링부(60)를 기본 계층 인코더(121B) 외부에 배치할 수도 있다.
다계층 인코더(120B)로 오리지널 영상의 해상도를 갖는 비디오 데이터가 입력되면, 향상 계층 인코더(122B)는 오리지널 비디오 데이터를 직접 인코딩 처리하고, 기본 계층 인코더(121B)는 오리지널 비디오 데이터를 다운 샘플링 처리하여 오리지널 영상의 해상도보다 낮은 해상도를 갖는 비디오 데이터로 변환한 후에 인코딩 처리를 수행한다.
예로서, 오리지널 비디오 데이터의 해상도가 HD(High Definition)이면, 기본 계층 인코더(121B)는 다운 샘플링에 의하여 해상도를 낮춘 SD(Standard Definition) 또는 CIF(Common Intermediate Format)의 비디오 데이터를 인코딩 처리한다. 그리고, 향상 계층 인코더(122B)는 HD 해상도의 오리지널 비디오 데이터를 인코딩 처리한다.
기본 계층 인코더(121B)의 다운 샘플링부(60)는 입력되는 프레임 데이터를 기본 계층의 해상도에 적합하도록 다운 샘플링 한다. 다운 샘플링부(60)에서 다운 샘플링 처리된 프레임 데이터는 제1인코딩 처리부(10B)에 인가된다.
제1인코딩 처리부(10B)는 다운 샘플링 처리된 프레임 데이터를 제1레이트 제어부(20B)로부터 인가되는 양자화 파라미터 값(QP1)에 기초하여 결정된 비트 레이트로 인코딩하여 제1해상도의 기본 계층 비트 스트림을 생성한다.
기본 계층 인코더(121B)의 제1인코딩 처리부(10B)는 인코딩 결과에 기초한 인코딩 통계 정보를 생성한다. 기본 계층 인코더(121B)에서 생성되는 인코딩 통계 정보는 도 3에서 언급된 인코딩 통계 정보와 동일하다.
기본 계층 인코더(121B)에서 생성된 인코딩 통계 정보는 프레임 버퍼(123B)에 저장된다.
제1레이트 제어부(20B)의 동작은 도 3에 도시된 제1레이트 제어부(20A)의 동작과 실질적으로 동일하므로 생략하기로 한다.
향상 계층 인코더(122B)의 입력되는 프레임 데이터를 제2레이트 제어부(40B)로부터 인가되는 양자화 파라미터 값(QP2)에 기초하여 결정된 비트 레이트로 인코딩하여 제2해상도의 향상 계층 비트 스트림을 생성한다.
제2레이트 제어부(40B)는 제2계층의 영역별로 할당되는 양자화 파라미터 값을 결정할 수 있다. 예로서, 제2타깃 비트레이트에 따라서 제2계층에서의 영역별로 할당되는 양자화 파라미터 값이 결정될 수 있다. 다른 예로서, 관심 영역 정보에 따라서 제2계층에서의 영역별로 할당되는 양자화 파라미터 값이 결정될 수도 있다.
제2레이트 제어부(40B)는 향상 계층에서 인코딩 처리할 매크로블록의 위치에 대응되는 기본 계층의 인코딩 통계 정보를 프레임 버퍼(123B)로부터 읽어내고, 읽어낸 기본 계층의 인코딩 통계 정보에 기초하여 매크로블록 또는/및 프레임에 대한 타깃 비트량을 결정하고, 결정된 매크로블록 또는/및 프레임에 대한 타깃 비트량 및 향상 계층의 엔트로피 코딩 처리에서 실제 생성된 비트량(Bits_INF2)의 차에 연동하여 영역별로 할당된 양자화 파라미터 값을 조정하여 제2인코딩 처리부(30B)에 인가할 양자화 파라미터 값(QP2)을 결정한다. 예로서, 기본 계층의 인코딩 통계 정보에 기초하여 결정된 타깃 비트량이 실제 생성된 비트량(Bits_INF2)보다 큰 경우에는 다음 매크로블록에 대하여 할당된 양자화 파라미터 값을 감소시키고, 기본 계층의 인코딩 통계 정보에 기초하여 결정된 타깃 비트량이 실제 생성된 비트량(Bits_INF2)보다 작은 경우에는 다음 매크로블록에 대하여 할당된 양자화 파라미터 값을 증가시킨다. 그리고, 타깃 비트량이 실제 생성된 비트량(Bits_INF2)이 같은 경우에는 다음 매크로블록에 대하여 할당된 양자화 파라미터 값을 그대로 유지한다.
도 5는 본 발명의 실시 예에 따른 품질 스케일러빌리티를 지원하는 다계층 인코더의 구성도이다.
도 5에 도시된 바와 같이, 다계층 인코더(120C)는 기본 계층 인코더(121C), 향상 계층 인코더(122C) 및 프레임 버퍼(123C)를 포함한다.
구체적으로, 기본 계층 인코더(121C)는 제1인코딩 처리부(10C) 및 제1레이트 제어부(20C)를 포함하고, 향상 계층 인코더(122C)는 제2인코딩 처리부(30C), 제2레이트 제어부(40C)를 포함한다.
품질 스케일러빌리티를 지원하는 다계층 인코더에서 기본 계층과 향상 계층에서 인코딩하는 비디오 데이터의 해상도가 동일하면, 향상 계층에서의 업/다운 샘플링 처리가 필요없게 된다.
기본 계층 인코더(121C)의 제1인코딩 처리부(10C)는 오리지널 비디오 데이터를 제1레이트 제어부(20C)로부터 인가되는 양자화 파라미터 값(QP1)에 기초하여 결정된 비트 레이트로 인코딩하여 제1품질의 기본 계층 비트 스트림을 생성한다.
기본 계층 인코더(121C)는 인코딩 결과에 기초한 인코딩 통계 정보를 생성한다. 기본 계층 인코더(121C)에서 생성되는 인코딩 통계 정보는 도 3에서 언급된 인코딩 통계 정보와 동일하다.
기본 계층 인코더(121C)에서 생성된 인코딩 통계 정보는 프레임 버퍼(123C)에 저장된다.
제1레이트 제어부(20C)는 제1타깃 비트레이트에 따라서 매크로블록에 대하여 할당된 타깃 비트량과 제1인코딩 처리부(10A)에서 기본 계층의 엔트로피 코딩 처리에서 실제 생성된 비트량(Bits_INF1)의 차에 연동하여 영역별로 할당된 양자화 파라미터 값을 조정하여 제1인코딩 처리부(10A)에 인가할 양자화 파라미터 값(QP1)을 결정한다. 예로서, 타깃 비트량이 실제 생성된 비트량보다 큰 경우에는 다음 매크로블록에 대하여 할당된 양자화 파라미터 값을 감소시키고, 타깃 비트량이 실제 생성된 비트량보다 작은 경우에는 다음 매크로블록에 대하여 할당된 양자화 파라미터 값을 증가시킨다. 그리고, 타깃 비트량이 실제 생성된 비트량이 같은 경우에는 다음 매크로블록에 할당된 양자화 파라미터 값을 그대로 유지한다.
향상 계층 인코더(122C)의 제2인코딩 처리부(30C)는 프레임 데이터를 제2레이트 제어부(40C)로부터 인가되는 양자화 파라미터 값(QP2)에 기초하여 결정된 비트 레이트로 인코딩하여 제2품질의 향상 계층 비트 스트림을 생성한다.
제2레이트 제어부(40C)는 향상 계층에서 인코딩 처리할 매크로블록의 위치에 대응되는 기본 계층의 인코딩 통계 정보를 프레임 버퍼(123B)로부터 읽어내고, 읽어낸 기본 계층의 인코딩 통계 정보에 기초하여 매크로블록 또는/및 프레임에 대한 타깃 비트량을 결정하고, 결정된 매크로블록 또는/및 프레임에 대한 타깃 비트량 및 향상 계층의 엔트로피 코딩 처리에서 실제 생성된 비트량(Bits_INF2)의 차에 연동하여 영역별로 할당된 양자화 파라미터 값을 조정하여 제2인코딩 처리부(30C)에 인가할 양자화 파라미터 값(QP2)을 결정한다. 예로서, 기본 계층의 인코딩 통계 정보에 기초하여 결정된 타깃 비트량이 실제 생성된 비트량(Bits_INF2)보다 큰 경우에는 다음 매크로블록에 대하여 할당된 양자화 파라미터 값을 감소시키고, 기본 계층의 인코딩 통계 정보에 기초하여 결정된 타깃 비트량이 실제 생성된 비트량(Bits_INF2)보다 작은 경우에는 다음 매크로블록에 대하여 할당된 양자화 파라미터 값을 증가시킨다. 그리고, 타깃 비트량이 실제 생성된 비트량(Bits_INF2)이 같은 경우에는 다음 매크로블록에 대하여 할당된 양자화 파라미터 값을 그대로 유지한다.
도 18a ~ 18d는 본 발명의 일 실시 예에 따른 품질 스케일러빌리티를 지원하는 다계층 인코더에서의 기본 계층의 인코딩 통계 정보를 이용하여 향상 계층의 매크로블록에 대한 타깃 비트량을 결정하는 과정을 보여주는 개념도이다.
도 18a ~ 18d는 예로서, MGS(Medium Grained Scalability)과 CGS(Coarse Grained Scalability) 기반 등의 다양한 다계층 비디오 코딩 사례들을 보여준다.
도 18a ~ 18c를 참조하면, 기본 계층에서 프레임별로 인코딩을 실행하면서 생성된 인코딩 통계 정보를 향상 계층에 대응되는 프레임에 대한 인코딩을 실행하는데 이용하도록 향상 계층으로 전송한다. 인코딩 통계 정보는 픽처 또는 매크로블록 단위의 SAD 값 또는/및 실제 생성된 비트량이 될 수 있다. 예로서, 기본 계층은 MGS quality layer_0에 해당되며, 향상 계층은 주파수 영역으로 변환된 계수(coefficient)들이 분할된 MGS quality layer들의 조합으로 형성될 수 있다.
도 18d를 참조하면, 기본 계층에서 프레임별로 인코딩을 실행하면서 생성된 인코딩 통계 정보를 향상 계층에 대응되는 프레임에 대한 인코딩을 실행하는데 이용하도록 향상 계층으로 전송한다. 인코딩 통계 정보는 픽처 또는 매크로블록 단위의 SAD 값 또는/ 및 실제 생성된 비트량이 될 수 있다. 기본 계층은 layer target bit 0으로 인코딩되는 CGS quality layer 1에 해당된다.
도 18d를 참조하면, 기본 계층에서 생성된 인코딩 통계 정보인 매크로블록 단위의 SAD 값(ME_MB_SAD) 또는/및 픽처 단위의 SAD 값(ME_PIC_SAD)에 기초하여 향상 계층에 대한 매크로블록의 타깃 비트 값(MB_target_bit)을 결정한다.
도 6은 본 발명의 실시 예에 따른 공간 스케일러빌리티를 지원하는 다계층 인코더의 구성도이다.
도 6에 도시된 바와 같이, 다계층 인코더(120D)는 기본 계층 인코더(121D), 향상 계층 인코더(122D) 및 프레임 버퍼(123D)를 포함한다.
구체적으로, 기본 계층 인코더(121D)는 제1인코딩 처리부(10A), 제1레이트 제어부(20A) 및 관심 영역(ROI) 검출부(70)를 포함하고, 향상 계층 인코더(122D)는 제2인코딩 처리부(30D), 제2레이트 제어부(40D) 및 업 샘플링부(50)를 포함한다.
도 6에 도시된 본 발명에 따른 실시 예에서는 업 샘플링부(50)를 향상 계층 인코더(122D) 내에 배치하였다. 또한, 본 발명에 따른 다른 실시 예로서 업 샘플링부(50)를 향상 계층 인코더(122D) 외부에 배치할 수도 있다.
관심 영역 검출부(70)는 프레임 데이터를 분석하여 영상의 복잡도 정보, 영상의 움직임 양 정보 또는 영상의 화소 분포도 정보 중의 하나 이상의 정보를 이용하여 관심 영역(ROI) 정보를 산출한다. 예로서, 영상의 변화 정도 또는 영상의 움직임 양 또는 화소 분포도가 제1임계값 이상인 영역을 관심 영역으로 결정하고, 영상의 변화 정도 또는 영상의 움직임 양 또는 화소 분포도가 제2임계값 이하인 영역을 비관심 영역으로 결정할 수 있다. 여기에서 제1임계값은 제2임계값보다 큰 값으로 설정된다. 관심 영역 정보를 산출하는 구체적인 방식에 대해서는 아래의 도 9-11에서 상세히 설명되어질 것이다.
기본 계층 인코더(121D)의 제1인코딩 처리부(10A) 및 제1레이트 제어부(20A)는 도 3에 도시된 기본 계층 인코더(121A)의 제1인코딩 처리부(10A) 및 제1레이트 제어부(20A)와 동일한 구성 수단에 해당된다.
이에 따라서, 기본 계층 인코더(121D)는 인코딩 결과에 기초한 인코딩 통계 정보를 생성한다.
프레임 버퍼(123D)에는 기본 계층 인코더(121D)에서 생성된 인코딩 통계 정보 및 관심 영역(ROI) 정보가 저장된다.
향상 계층 인코더(122D)의 업 샘플링부(50)는 입력되는 오리지널 비디오 데이터를 향상 계층의 해상도에 적합하도록 업 샘플링 한다. 업 샘플링부(50)에서 업 샘플링 처리된 비디오 데이터는 제2인코딩 처리부(30D)에 인가된다.
향상 계층 인코더(122D)의 제2인코딩 처리부(30D)는 업 샘플링 처리된 비디오 데이터를 제2레이트 제어부(40D)로부터 인가되는 양자화 파라미터 값(QP2)에 기초하여 결정된 비트 레이트로 인코딩하여 제2해상도의 향상 계층 비트 스트림을 생성한다.
일 예로서, 제2레이트 제어부(40D)는 향상 계층에서 인코딩 처리할 매크로블록의 위치에 대응되는 기본 계층의 인코딩 통계 정보를 프레임 버퍼(123D)로부터 읽어내고, 읽어낸 기본 계층의 인코딩 통계 정보에 기초하여 매크로블록 또는/및 프레임에 대한 타깃 비트량을 결정할 수 있다.
다른 예로서, 제2레이트 제어부(40D)는 향상 계층의 해상도에 상응하는 제2타깃 비트레이트에 따라서 매크로블록에 대한 타깃 비트량을 결정할 수도 있다.
그리고, 제2레이트 제어부(40D)는 기본 계층에서 인코더에서 생성된 관심 영역(ROI) 정보에 기초하여 향상 계층에서 영역별로 할당되는 양자화 파라미터 값을 결정한다. 예로서, 관심 영역 내에서의 양자화 파라미터 값을 비관심 영역 내의 양자화 파라미터 값에 비하여 상대적으로 작은 값으로 결정할 수 있다.
도 20a ~ 20c는 본 발명의 일 실시 예에 따른 공간 스케일러빌리티를 지원하는 다계층 인코더에서의 기본 계층의 관심 영역 정보를 이용하여 향상 계층의 매크로블록에 대한 양자화 파라미터 값을 할당하는 과정을 보여주는 개념도이다.
도 20a 및 도 20b를 참조하면, 기본 계층에서 프레임 별 인코딩을 실행하면서 생성된 관심 영역(ROI) 정보를 향상 계층에 대응되는 프레임에 대한 양자화 파라미터 값을 할당하는데 이용하도록 향상 계층으로 전송한다.
도 20a는 I픽처와 P픽처로 구성된 GOP(Group of Picture)에서의 인코딩 실행 과정의 예를 도시한 것이고, 도 20b는 I픽처, B 픽처 및 P픽처로 구성된 GOP(Group of Picture)에서의 인코딩 실행 과정의 예를 도시한 것이다.
도 20c를 참조하면, 기본 계층에서 생성된 관심 영역 정보에 기초하여 향상 계층의 매크로블록들에 대한 양자화 파라미터 값을 할당할 수 있다. 예로서, 향상 계층에서 인코딩할 매크로블록 위치에 대응되는 기본 계층의 매크로블록을 찾아내고, 찾아낸 기본 계층의 매크로블록에 대한 관심 영역 정보를 이용하여 향상 계층에 대한 매크로블록의 양자화 파라미터 값을 할당할 수 있다.
예로서, 도 20c에는 향상 계층에서의 하나의 픽처에 포함된 매크로블록의 개수는 기본 계층에서의 하나의 픽처에 포함된 매크로블록의 개수의 4배에 해당되는 경우를 보여준다. 도 20c에서는 기본 계층의 하나의 매크로블록에서 생성된 관심 영역 정보를 이용하여 향상 계층에 대한 4개의 매크로블록들에 대한 양자화 파라미터 값들을 할당할 수 있다.
도 22는 관심 영역 정보를 이용하여 향상 계층에서의 할당된 양자화 파라미터 값의 예를 보여준다.
도 22를 참조하면, 관심 영역에서 양자화 파라미터 값은 29로 할당되고, 비관심 영역에서는 양자화 파라미터 값이 51로 할당되고, 관심 영역도 비관심 영역도 아닌 일반 영역에서는 양자화 파라미터 값이 40으로 할당된다.
제2레이트 제어부(40D)는 현재 매크로블록에 할당된 타깃 비트량과 현재 매크로블록의 엔트로피 코딩 처리에서 실제 생성된 비트량(Bits_INF2)의 차에 연동하여 다음 매크로블록에 할당되어 있는 양자화 파라미터 값을 조정하여 제2인코딩 처리부(30D)에 인가할 양자화 파라미터 값(QP2)을 결정한다. 예로서, 타깃 비트량이 실제 생성된 비트량(Bits_INF2)보다 큰 경우에는 다음 처리할 매크로블록에 대하여 할당된 양자화 파라미터 값을 감소시키고, 타깃 비트량이 실제 생성된 비트량(Bits_INF2)보다 작은 경우에는 다음 처리할 매크로블록에 대하여 할당된 양자화 파라미터 값을 증가시킨다. 그리고, 타깃 비트량이 실제 생성된 비트량(Bits_INF2)이 같은 경우에는 다음 처리할 매크로블록에 할당되어 있는 양자화 파라미터 값을 그대로 유지한다. 그리고, 프레임별 최초의 매크로블록에 대한 인코딩 처리 시에는 관심 영역 정보에 의하여 할당되어 있는 양자화 파라미터 값을 적용한다.
도 7은 본 발명의 다른 실시 예에 따른 공간 스케일러빌리티를 지원하는 다계층 인코더의 구성도이다.
도 7에 도시된 바와 같이, 다계층 인코더(120E)는 기본 계층 인코더(121E), 향상 계층 인코더(122E) 및 프레임 버퍼(123E)를 포함한다.
구체적으로, 기본 계층 인코더(121E)는 제1인코딩 처리부(10B), 제1레이트 제어부(20B), 다운 샘플링부(60) 및 관심 영역(ROI) 검출부(70)를 포함하고, 향상 계층 인코더(122E)는 제2인코딩 처리부(30E) 및 제2레이트 제어부(40E)를 포함한다.
도 7에 도시된 본 발명에 따른 실시 예에서는 다운 샘플링부(60)를 기본 계층 인코더(121E) 내에 배치하였다. 본 발명에 따른 다른 실시 예로서 다운 샘플링부(60)를 기본 계층 인코더(121E) 외부에 배치할 수도 있다.
관심 영역 검출부(70)는 도 6에서 이미 설명한 바와 같이, 입력되는 영상 데이터를 분석하여 관심 영역(ROI) 정보를 산출한다.
기본 계층 인코더(121E)의 다운 샘플링부(60)는 입력되는 오리지널 비디오 데이터를 기본 계층의 해상도에 적합하도록 다운 샘플링 한다. 다운 샘플링부(60)에서 다운 샘플링 처리된 비디오 데이터는 제1인코딩 처리부(10B)에 인가된다.
기본 계층 인코더(121E)의 제1인코딩 처리부(10B) 및 제1레이트 제어부(20B)는 도 4에 도시된 기본 계층 인코더(121B)의 제1인코딩 처리부(10B) 및 제1레이트 제어부(20B)와 동일한 구성 수단에 해당된다. 이에 따라서, 기본 계층 인코더(121E)는 기본 계층에서의 인코딩 결과에 기초한 인코딩 통계 정보를 생성할 수 있다. 그리고, 기본 계층 인코더(121E)는 관심 영역(ROI) 정보도 생성한다.
프레임 버퍼(123E)에는 기본 계층 인코더(121E)에서 생성된 인코딩 통계 정보 및 관심 영역(ROI) 정보가 저장된다.
향상 계층 인코더(122E)의 제2인코딩 처리부(30E)는 오리지널 비디오 데이터를 제2레이트 제어부(40E)로부터 인가되는 양자화 파라미터 값(QP2)에 기초하여 결정된 비트 레이트로 인코딩하여 제2해상도의 향상 계층 비트 스트림을 생성한다.
일 예로서, 제2레이트 제어부(40E)는 향상 계층에서 인코딩 처리할 매크로블록의 위치에 대응되는 기본 계층의 인코딩 통계 정보를 프레임 버퍼(123E)로부터 읽어내고, 읽어낸 기본 계층의 인코딩 통계 정보에 기초하여 매크로블록 또는/및 프레임에 대한 타깃 비트량을 결정할 수 있다.
다른 예로서, 제2레이트 제어부(40E)는 향상 계층의 해상도에 상응하는 제2타깃 비트레이트에 따라서 매크로블록에 대한 타깃 비트량을 결정할 수도 있다.
그리고, 제2레이트 제어부(40E)는 기본 계층에서 인코더에서 생성된 관심 영역(ROI) 정보에 기초하여 향상 계층에서 영역별로 할당되는 양자화 파라미터 값을 결정한다. 예로서, 관심 영역 내에서의 양자화 파라미터 값을 비관심 영역 내의 양자화 파라미터 값에 비하여 상대적으로 작은 값으로 결정할 수 있다.
도 20a ~ 20c에서 설명한 바와 같은 방식으로 기본 계층의 관심 영역 정보를 이용하여 향상 계층의 매크로블록에 대한 양자화 파라미터 값을 할당할 수 있다.
제2레이트 제어부(40E)는 현재 매크로블록에 할당된 타깃 비트량과 현재 매크로블록의 엔트로피 코딩 처리에서 실제 생성된 비트량(Bits_INF2)의 차에 연동하여 다음 매크로블록에 할당되어 있는 양자화 파라미터 값을 조정한다. 예로서, 타깃 비트량이 실제 생성된 비트량(Bits_INF2)보다 큰 경우에는 다음 처리할 매크로블록에 대하여 할당된 양자화 파라미터 값을 감소시키고, 타깃 비트량이 실제 생성된 비트량(Bits_INF2)보다 작은 경우에는 다음 처리할 매크로블록에 대하여 할당된 양자화 파라미터 값을 증가시킨다. 그리고, 타깃 비트량이 실제 생성된 비트량(Bits_INF2)이 같은 경우에는 다음 처리할 매크로블록에 할당되어 있는 양자화 파라미터(QP2) 값을 그대로 유지한다. 그리고, 프레임별 최초의 매크로블록에 대한 인코딩 처리 시에는 관심 영역 정보에 의하여 할당되어 있는 양자화 파라미터 값을 적용한다.
도 8은 본 발명의 실시 예에 따른 품질 스케일러빌리티를 지원하는 다계층 인코더의 구성도이다.
도 8에 도시된 바와 같이, 다계층 인코더(120F)는 기본 계층 인코더(121F), 향상 계층 인코더(122F) 및 프레임 버퍼(123F)를 포함한다.
구체적으로, 기본 계층 인코더(121F)는 제1인코딩 처리부(10C), 제1레이트 제어부(20C) 및 관심 영역(ROI) 검출부(70)를 포함하고, 향상 계층 인코더(122E)는 제2인코딩 처리부(30F) 및 제2레이트 제어부(40F)를 포함한다.
관심 영역 검출부(70)는 도 6에서 이미 설명한 바와 같이, 입력되는 영상 데이터를 분석하여 관심 영역(ROI) 정보를 산출한다.
기본 계층 인코더(121F)의 제1인코딩 처리부(10C) 및 제1레이트 제어부(20C)는 도 5에 도시된 기본 계층 인코더(121C)의 제1인코딩 처리부(10C) 및 제1레이트 제어부(20C)와 동일한 구성 수단에 해당된다. 이에 따라서, 기본 계층 인코더(121F)는 기본 계층에서의 인코딩 결과에 기초한 인코딩 통계 정보를 생성할 수 있다. 그리고, 기본 계층 인코더(121F)는 관심 영역(ROI) 정보도 생성한다.
프레임 버퍼(123F)에는 기본 계층 인코더(121F)에서 생성된 인코딩 통계 정보 및 관심 영역(ROI) 정보가 저장된다.
향상 계층 인코더(122F)는 입력되는 오리지널 프레임 데이터를 제2레이트 제어부(40F)로부터 인가되는 양자화 파라미터(QP2) 값에 기초하여 결정된 비트 레이트로 인코딩하여 제2해상도의 향상 계층 비트 스트림을 생성한다.
일 예로서, 제2레이트 제어부(40F)는 향상 계층에서 인코딩 처리할 매크로블록의 위치에 대응되는 기본 계층의 인코딩 통계 정보를 프레임 버퍼(123F)로부터 읽어내고, 읽어낸 기본 계층의 인코딩 통계 정보에 기초하여 매크로블록 또는/및 프레임에 대한 타깃 비트량을 결정할 수 있다.
다른 예로서, 제2레이트 제어부(40F)는 향상 계층의 해상도에 상응하는 제2타깃 비트레이트에 따라서 매크로블록에 대한 타깃 비트량을 결정할 수도 있다.
그리고, 제2레이트 제어부(40F)는 기본 계층에서 인코더에서 생성된 관심 영역(ROI) 정보에 기초하여 향상 계층에 대한 양자화 파라미터 값을 할당한다. 예로서, 관심 영역 내에서의 양자화 파라미터 값을 비관심 영역 내의 양자화 파라미터 값에 비하여 상대적으로 작은 값으로 결정할 수 있다.
도 21a ~ 21d는 본 발명의 실시 예에 따른 품질 스케일러빌리티를 지원하는 다계층 인코더에서의 기본 계층의 관심 영역 정보를 이용하여 향상 계층의 매크로블록에 대한 양자화 파라미터 값을 할당하는 과정을 보여주는 개념도이다.
도 21a ~ 21d는 예로서, MGS(Medium Grained Scalability)과 CGS(Coarse Grained Scalability) 기반 등의 다양한 다계층 비디오 코딩 사례들을 보여준다.
도 21a를 참조하면, 기본 계층(MSG Quality layer_0)에서 프레임 별 인코딩을 실행하면서 생성된 관심 영역(ROI) 정보를 향상 계층(MSG Quality layer_1 및 (MSG Quality layer_2)에 대응되는 프레임에 대한 양자화 파라미터 값을 할당하는데 이용하도록 향상 계층으로 전송한다.
그리고, 도 21b 및 21c를 참조하면 기본 계층(Quality layer_0)에서 프레임 별 인코딩을 실행하면서 생성된 관심 영역(ROI) 정보를 향상 계층(Quality layer_1)에 대응되는 프레임에 대한 양자화 파라미터 값을 할당하는데 이용하도록 향상 계층으로 전송한다.
도 21d를 참조하면, 기본 계층에서 생성된 관심 영역 정보에 기초하여 향상 계층의 매크로블록들에 대한 양자화 파라미터 값을 할당할 수 있다. 향상 계층에서 인코딩할 매크로블록 위치에 대응되는 기본 계층의 매크로블록을 찾아내고, 찾아낸 기본 계층의 매크로블록에 대한 관심 영역 정보를 이용하여 향상 계층에 대한 매크로블록의 양자화 파라미터 값을 할당할 수 있다.
제2레이트 제어부(40F)는 현재 매크로블록에 할당된 타깃 비트량과 현재 매크로블록의 엔트로피 코딩 처리에서 실제 생성된 비트량의 차에 연동하여 다음 매크로블록에 할당되어 있는 양자화 파라미터 값을 조정하여 제2인코딩 처리부(40F)에 인가할 양자화 파라미터 값(QP2)을 결정한다.
예로서, 타깃 비트량이 실제 생성된 비트량(Bits_INF1)보다 큰 경우에는 다음 처리할 매크로블록에 대하여 할당된 양자화 파라미터 값을 감소시키고, 타깃 비트량이 실제 생성된 비트량(Bits_INF1)보다 작은 경우에는 다음 처리할 매크로블록에 대하여 할당된 양자화 파라미터 값을 증가시킨다. 그리고, 타깃 비트량(Bits_INF1)이 실제 생성된 비트량이 같은 경우에는 다음 처리할 매크로블록에 할당되어 있는 양자화 파라미터 값을 그대로 유지한다. 그리고, 프레임별 최초의 매크로블록에 대한 인코딩 처리 시에는 관심 영역 정보에 의하여 할당되어 있는 양자화 파라미터 값을 적용한다.
도 6 ~ 도 8에 도시된 바와 같이, 관심 영역(ROI) 검출부(70)는 기본 계층 인코더(121D ~ 121F)의 내부에 배치될 수 있다. 다른 예로서, 관심 영역(ROI) 검출부(70)는 기본 계층 인코더(121D ~ 121F)의 외부에 배치될 수도 있다
도 6 ~ 도 8에 도시된 관심 영역(ROI) 검출부에 대한 구성의 예들을 도 9 ~ 도 11에 도시하였다.
도 9를 참조하면, 본 발명의 일 실시 예에 따른 관심 영역 검출부(70A)는 영상 복잡도 계산부(71A) 및 영역 결정부(72A)로 구성될 수 있다.
영상 복잡도 계산부(71A)는 입력 프레임 데이터의 매크로블록마다 경계면(interface)으로 검출되는 화소의 개수를 영상 복잡도로서 계산할 수 있다. 여기에서, 영상 복잡도란 영상의 변화가 큰지 여부를 나타내는 척도를 의미한다. 이를 위해 영상 복잡도 계산부(71A)는 캐니 에지 디텍터(Canny Edge Detector) 등과 같은 경계면 검출 방법을 이용하여 영상의 복잡도를 산출할 수 있다.
영역 결정부(72A)는 매크로블록마다 경계면으로 검출되는 화소의 개수가 초기 설정된 제1임계값보다 큰 영역 또는 경계면 주변의 화소의 화소값보다 초기 설정된 제2임계값 이상으로 큰 영역을 관심 영역으로 결정할 수 있다.
도 10을 참조하면, 본 발명의 다른 실시 예에 따른 관심 영역 검출부(70B)는 움직임 양 계산부(71B) 및 영역 결정부(72B)로 구성될 수 있다.
움직임 양 계산부(71B)는 입력 프레임 데이터의 매크로블록별로 움직임 벡터를 검출하고, 검출된 매크로블록별 움직임 벡터의 수평 방향 성분과 수직 방향의 성분 각각을 제곱하여 더한 값의 제곱근으로 움직임 양을 구할 수 있다.
영역 결정부(72B)는 매크로블록별로 계산된 움직임 양이 초기 설정된 제3임계값보다 큰 영역 또는 주변 영역의 움직양에 비하여 초기 설정된 제4임계값 이상의 움직임이 발생되는 영역을 관심 영역으로 결정할 수 있다.
도 11을 참조하면, 본 발명의 또 다른 실시 예에 따른 관심 영역 검출부(70C)는 화소 분포도 계산부(71C) 및 영역 결정부(72C)로 구성될 수 있다.
화소 분포도 계산부(71C)는 입력 프레임 데이터에 대하여 히스토그램 인터섹션(Histogram Intersection)을 적용하여 각 화소 값의 누적 개수를 구하여 화소 분포도를 구할 수 있다.
영역 결정부(72C)는 매크로블록별로 계산된 화소 분포도가 초기 설정된 제5임계값보다 큰 영역 또는 주변 영역의 화소 분포도보다 초기 설정된 제6임계값 이상의 화소 분포도를 갖는 영역을 관심 영역으로 결정할 수 있다.
본 발명의 또 다른 실시 예에서는 입력 영상의 복잡도, 입력 영상의 움직임 양 또는 입력 영상의 화소 분포도 중의 2개 이상을 조합하여 관심 영역 정보를 산출할 수도 있다.
다음으로, 도 12 ~ 도 14는 본 발명의 실시 예들에 따른 향상 계층 인코더(122A ~ 122F)의 제2레이트 제어부(40A ~ 40F)의 세부적인 구성 예들 보여준다.
도 12를 참조하면, 본 발명의 일 실시 예에 따른 제2레이트 제어부(40A ~ 40F)는 비트량 결정기(41A) 및 양자화 파라미터 결정기(42A)를 포함한다.
비트량 결정기(41A)는 기본 계층에서 생성된 인코딩 통계 정보에 기초하여 향상 계층의 영역별 타깃 비트량을 결정한다.
일 예로서, 비트량 결정기(41A)는 기본 계층에서 매크로블록별로 생성된 비트량에 기초하여 향상 계층의 매크로블록별 타깃 비트량을 결정할 수 있다. 기본 계층과 향상 계층의 공간적 해상도가 다른 경우에 기본 계층에서 매크로블록별로 생성된 비트량을 업 스케일링 또는 다운 스케일링 처리하여 향상 계층에 대응되는 매크로블록의 타깃 비트량으로 결정할 수 있다.
세부적으로, 향상 계층의 해상도가 기본 계층의 해상도보다 높은 경우에는 기본 계층에서 매크로블록별로 생성된 비트량을 향상 계층의 해상도에 적합하도록 업 스케일링한 결과로서 향상 계층의 매크로블록에 대한 타깃 비트량을 결정한다. 그리고, 향상 계층의 해상도가 기본 계층의 해상도보다 낮은 경우에는 기본 계층에서 매크로블록별로 생성된 비트량을 향상 계층의 해상도에 적합하도록 다운 샘플링한 결과로 향상 계층의 매크로블록에 대한 타깃 비트량을 결정한다.
그리고, 향상 계층의 해상도와 기본 계층의 해상도가 동일한 경우에는 기본 계층에서 매크로블록별로 생성된 비트량으로 향상 계층의 매크로블록에 대한 타깃 비트량을 결정할 수 있다.
비트량 결정기(41A)는 수학식 1을 이용하여 향상 계층의 i번째(i는 1 이상의 정수) 매크로블록에 할당되는 타깃 비트량 Tmb(i)을 산출할 수 있다.
Figure pat00004
여기에서, Tpic는 향상 계층의 픽처에 할당된 타깃 비트량이고, MB_BITS(i)는 향상 계층의 i번째 매크로블록에 매칭되는 기본 계층의 매크로블록에서 생성된 비트량이고, PIC_BITS_SUM은 기본 계층에서 픽처의 전체 매크로블록에서 생성된 비트량의 합이다.
다른 예로서, 비트량 결정기(41A)는 기본 계층의 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합(SAD)에 기초하여 향상 계층의 매크로블록에 대한 타깃 비트량을 결정할 수 있다.
세부적으로, 비트량 결정기(41A)는 수학식 2를 이용하여 향상 계층의 i번째(i는 1 이상의 정수) 매크로블록에 할당되는 타깃 비트량 Tmb(i)을 산출할 수 있다.
Figure pat00005
여기에서, Tpic는 향상 계층의 픽처에 할당된 타깃 비트량이고, MB_SAD(i)는 향상 계층의 i번째 매크로블록에 매칭되는 기본 계층의 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합이고, PIC_SAD_SUM은 기본 계층에서 픽처의 전체 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합이다.
또 다른 예로서, 비트량 결정기(41A)는 향상 계층의 매크로블록에 매칭되는 기본 계층의 매크로블록에 대한 인코딩 시에 생성된 비트량 및 향상 계층의 매크로블록에 매칭되는 기본 계층의 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합에 기초하여 향상 계층의 매크로블록에 대한 타깃 비트량을 결정할 수 있다.
세부적으로, 비트량 결정기(41A)는 수학식 3을 이용하여 향상 계층의 i번째(i는 1 이상의 정수) 매크로블록에 할당되는 타깃 비트량 Tmb(i)을 산출할 수 있다.
Figure pat00006
여기에서, Tpic는 향상 계층의 픽처에 할당된 타깃 비트량이고, MB_BITS(i)는 향상 계층의 i번째 매크로블록에 매칭되는 제1계층의 매크로블록에서 생성된 비트량이고, PIC_BITS_SUM은 기본 계층에서 픽처의 전체 매크로블록에서 생성된 비트량의 합이고, MB_SAD(i)는 향상 계층의 i번째 매크로블록에 매칭되는 기본 계층의 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합이고, PIC_SAD_SUM은 기본 계층에서 픽처의 전체 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합이며, W는 가중 계수로서 0 <W<1 이다.
또 다른 예로서, 비트량 결정기(41A)는 기본 계층에서 계산된 기준 사이즈에 대한 복잡도, 기본 계층에서의 픽처 그룹에 할당된 타깃 비트량에 대한 프레임에 할당된 타깃 비트량 중의 적어도 하나의 정보에 기초하여 향상 계층의 프레임 별로 할당되는 타깃 비트량을 결정할 수 있다.
도 19a 및 19b는 본 발명의 실시 예에 따른 다계층 인코더에서의 기본 계층의 인코딩 통계 정보를 이용하여 향상 계층의 프레임에 대한 타깃 비트량을 결정하는 방법을 보여주는 개념도이다.
도 19a는 I픽처와 P픽처로 구성된 GOP(Group of Picture)에서의 인코딩 실행 과정의 예를 도시한 것이고, 도 19b는 I픽처, B 픽처 및 P픽처로 구성된 GOP(Group of Picture)에서의 인코딩 실행 과정의 예를 도시한 것이다.
도 19a 및 19b를 참조하면, 기본 계층에서 인코딩을 실행하면서 산출된 프레임 복잡도 및 픽처 그룹에서의 프레임 비트 점유 정보를 향상 계층의 프레임별로 할당되는 타깃 비트량을 결정하는데 이용하기 위하여 향상 계층으로 전송한다.
세부적으로, 비트량 결정기(41A)는 수학식 4를 이용하여 향상 계층의 i번째(i는 1 이상의 정수) 프레임에 할당되는 타깃 비트량 TENH_frame[i]을 산출할 수 있다.
Figure pat00007
여기에서, GOP_ALLOC_BITSENH는 향상 계층의 픽처 그룹에 할당된 타깃 비트량이고, PICTURE_TYPE는 픽처의 타입이고, COMPLEXITYBASE[i]는 기본 계층의 i번째 프레임에 대한 복잡도이고, GOP_ALLOC_BITSBASE는 기본 계층의 픽처 그룹에서 생성된 비트량이고, FRAME_BITSBASE[i]는 기본 계층의 i번째 프레임에서 생성된 비트량이다.
수학식 4의 분모 항은 픽처의 타입, 기본 계층의 프레임에 대한 복잡도 및 기본 계층의 i번째 프레임에서 생성된 비트량을 기본 계층의 픽처 그룹에서 생성된 비트량으로 나눈 값에 기초하여 산출되는 값이다.
수학식 4를 참조하면, 예로서, 픽처 그룹 중에서 I 픽처가 P 픽처에 비하여 분모 값이 작아지고, 기본 계층의 프레임에 대한 복잡도가 높아질수록 분모 값이 작아지도록 FRAME_WEIGHT 함수를 결정할 수 있다.
양자화 파라미터 결정기(42A)는 비트량 결정기(41A)에서 결정된 타깃 비트량과 향상 계층에서 향상 계층의 엔트로피 코딩 처리에서 실제 생성된 비트량의 차에 연동하여 양자화 파라미터 값(QP2)을 결정한다. 예로서, 향상 계층의 엔트로피 코딩 처리에서의 비트 발생 정보에 기초하여 실제 생성된 비트량을 얻을 수 있다.
향상 계층의 타깃 비트 레이트에 기초하여 향상 계층에서의 매크로블록별로 양자화 파라미터를 초기 값으로 할당할 수 있다. 예로서, 향상 계층의 모든 매크로블록에서 대하여 동일한 양자화 파라미터 값을 초기 값으로 할당할 수 있다.
양자화 파라미터 결정기(42A)는 현재 매크로블록에 할당된 타깃 비트량이 향상 계층의 엔트로피 코딩 처리에서 실제 생성된 비트량보다 큰 경우에는 향상 계층의 다음 매크로블록에 할당된 양자화 파라미터 값을 감소시키고, 현재 매크로블록에 할당된 타깃 비트량이 향상 계층의 엔트로피 코딩 처리에서 실제 생성된 비트량보다 작은 경우에는 향상 계층의 다음 매크로블록에 할당된 양자화 파라미터 값을 증가시킨다. 그리고, 현재 매크로블록에 할당된 타깃 비트량과 향상 계층의 엔트로피 코딩 처리에서 실제 생성된 비트량이 같은 경우에는 향상 계층의 다음 매크로블록에 할당된 양자화 파라미터 값을 그대로 유지한다.
양자화 파라미터 결정기(42A)는 이와 같이 향상 계층의 현재 매크로블록에 대한 인코딩 결과에 기초하여 다음 매크로블록에 대하여 적용할 양자화 파라미터 값(QP2)을 최종적으로 결정한다. 최종적으로 결정된 다음 매크로블록에 대한 양자화 파라미터 값(QP2)을 적용하여 향상 계층에 대한 양자화 처리를 수행할 수 있다.
도 13을 참조하면, 본 발명의 다른 실시 예에 따른 제2레이트 제어부(40A ~ 40F)는 비트량 결정기(41B) 및 양자화 파라미터 결정기(42B)를 포함한다.
비트량 결정기(41B)는 향상 계층의 픽처 또는 픽처 그룹별로 할당된 타깃 비트량에 기초하여 해당 픽처의 매크로블록별 타깃 비트량을 결정한다. 이 경우에는 기본 계층에서 생성된 인코딩 통계 정보를 이용하지 않을 수 있다.
양자화 파라미터 결정기(42B)는 기본 계층에서 인코딩 처리한 비디오 프레임에서 생성된 관심 영역 정보에 기초하여 향상 계층에 대한 양자화 파라미터 값을 할당할 수 있다. 예로서, 향상 계층에서 인코딩할 매크로블록 위치에 대응되는 기본 계층의 매크로블록을 찾아내고, 찾아낸 기본 계층의 매크로블록에 대한 관심 영역 정보를 이용하여 향상 계층에 대한 매크로블록의 양자화 파라미터 값을 할당할 수 있다. 예로서, 도 24에 도시된 바와 같이 관심 영역 내에서의 양자화 파라미터 값을 비관심 영역 내의 양자화 파라미터 값에 비하여 상대적으로 작은 값으로 결정할 수 있다.
양자화 파라미터 결정기(42B)는 현재 매크로블록에 할당된 타깃 비트량과 현재 매크로블록의 엔트로피 코딩 처리에서 실제 생성된 비트량의 차에 연동하여 다음 매크로블록에 할당되어 있는 양자화 파라미터 값을 조정하여 다음 매크로블록에 대하여 적용할 양자화 파라미터 값(QP2)을 최종적으로 결정할 수 있다. 예로서, 타깃 비트량이 실제 생성된 비트량보다 큰 경우에는 다음 처리할 매크로블록에 대하여 할당된 양자화 파라미터 값을 감소시키고, 타깃 비트량이 실제 생성된 비트량보다 작은 경우에는 다음 처리할 매크로블록에 대하여 할당된 양자화 파라미터 값을 증가시킨다. 그리고, 타깃 비트량이 실제 생성된 비트량이 같은 경우에는 다음 처리할 매크로블록에 할당되어 있는 양자화 파라미터 값을 그대로 유지한다. 그리고, 프레임별 최초의 매크로블록에 대한 인코딩 처리 시에는 관심 영역 정보에 의하여 할당되어 있는 양자화 파라미터 값을 그대로 유지한다.
도 14를 참조하면, 본 발명의 또 다른 실시 예에 따른 제2레이트 제어부(40A ~ 40F)는 비트량 결정기(41A) 및 양자화 파라미터 결정기(42B)를 포함한다.
비트량 결정기(41A)는 도 12에 도시된 비트량 결정기(41A)와 동일한 구성 수단에 해당되고, 양자화 파라미터 결정기(42B)는 도 13에 도시된 양자화 파라미터 결정기(42B)와 동일한 구성 수단에 해당된다.
이에 따라서, 비트량 결정기(41A)는 기본 계층에서 생성된 인코딩 통계 정보에 기초하여 향상 계층의 기준 사이즈 별 타깃 비트량을 결정한다. 예로서, 수학식 1 ~ 수학식 3 중의 하나의 수학식을 이용하여 향상 계층의 i번째 매크로블록에 할당되는 타깃 비트량 Tmb(i)을 산출할 수 있다.
또한, 비트량 결정기(41A)는 수학식 4를 이용하여 향상 계층의 i번째 프레임에 할당되는 타깃 비트량 TENH_frame[i]을 산출할 수 있다.
그리고, 양자화 파라미터 결정기(42B)는 기본 계층에서 인코딩 처리한 비디오 프레임에서 생성된 관심 영역 정보에 기초하여 향상 계층의 매크로블록들에 대한 양자화 파라미터 값을 할당할 수 있다.
양자화 파라미터 결정기(42B)는 기본 계층의 인코딩 통계 정보에 기초하여 할당된 현재 매크로블록에 대한 타깃 비트량과 현재 매크로블록의 엔트로피 코딩 처리에서 실제 생성된 비트량의 차에 연동하여 다음 매크로블록에 할당되어 있는 양자화 파라미터 값을 조정한다. 양자화 파라미터 결정기(42B)에 대한 세부적인 동작은 도 13에 도시된 양자화 파라미터 결정기(42B)와 동일하므로 중복된 설명은 피하기로 한다.
도 15 및 16은 본 발명의 실시 예들에 따른 다계층 인코더의 세부적인 구성을 예시적으로 보여주는 도면이다.
도 15를 참조하면, 본 발명의 일 실시 예에 따른 다계층 인코더는 기본 계층 인코더(300), 향상 계층 인코더(400A), 프레임 버퍼(500) 및 제1,2메모리(600, 700)를 포함한다.
기본 계층 인코더(300)는 관심 영역(ROI) 검출부(301), 제1인터 예측부(302), 제1인트라 예측부(303), 제1모드 선택부(304), 제1감산부(305), 제1가산부(306), 제1변환부(307), 제1양자화부(308), 제1엔트로피 코딩부(309), 제1레이트 제어부(310), 제1역양자화부(311), 제1역변환부(312) 및 제1필터(313)를 포함한다.
그리고, 향상 계층 인코더(400A)는 업 샘플링부(401), 제2인터 예측부(402), 제2인트라 예측부(403), 제2모드 선택부(404), 제2감산부(405), 제2가산부(406), 제2변환부(407), 제2양자화부(408), 제2엔트로피 코딩부(409), 제2레이트 제어부(410), 제2역양자화부(411), 제2역변환부(412) 및 제2필터(413)를 포함한다.
도 15에 도시된 다계층 인코더는 공간 스케일러빌리티를 지원하는 다계층 인코더의 일 예로서, 기본 계층 인코더(300)에서는 오리지널 영상의 해상도를 갖는 비디오 데이터에 대한 인코딩 처리를 수행하고, 향상 계층 인코더(400A)에서는 오리지널 영상의 해상도를 높인 비디오에 대한 인코딩 처리를 수행한다.
예로서, 오리지널 비디오 데이터의 해상도가 CIF(Common Intermediate Format)이면, 기본 계층 인코더(300)는 CIF 해상도의 오리지널 비디오 데이터를 인코딩 처리한다. 그리고, 향상 계층 인코더(400A)는 업 샘플링에 의하여 해상도를 높인 SD(Standard Definition) 또는 HD(High Definition)의 비디오 데이터를 인코딩 처리한다.
우선, 기본 계층 인코더(300)에서의 인코딩 처리에 대하여 설명하기로 한다.
관심 영역(ROI) 검출부(301)는 입력되는 프레임 데이터로부터 관심 영역을 검출하여 이를 나타내는 관심 영역 정보를 산출한다. 예로서, 도 9 ~ 도 11에 도시된 관심 영역 검출부(70A ~ 70C)의 회로 구성으로 구현될 수 있다.
제1인터 예측부(302)는 현재 프레임의 블록과 하나 이상의 인접 프레임에서의 블록을 비교하여 움직임 정보를 생성시키고, 생성된 움직임 정보에 기초하여 현재 프레임에서 인코딩할 블록에 대한 예측 블록을 생성한다. 여기에서, 하나 이상의 인접 프레임은 이전에 인코딩된 블록으로부터 복원된 데이터를 저장하는 제1메모리(600)로부터 제공받을 수 있다.
제1인트라 예측부(303)는 현재 코딩되고 있는 블록과 동일한 프레임 내의 기본 계층의 하나 이상의 인코딩된 블록들에 기초하여 예측 블록을 생성한다.
제1모드 선택부(304)는 인코딩되고 있는 블록이 포함된 프레임의 픽처 타입이 I 타입인 경우에 제1인트라 예측부(303)에서 생성된 예측 블록을 선택하여 출력하고, 인코딩되고 있는 블록이 포함된 프레임의 픽처 타입이 P 타입 또는 B 타입인 경우에 제1인터 예측부(302)에서 생성된 예측 블록을 선택하여 출력한다.
제1감산부(305)는 현재 프레임의 블록으로부터 제1모드 선택부(304)에서 출력되는 예측 블록을 뺌으로써 레지듀얼 블록을 생성한다. 레지듀얼 블록은 현재 프레임의 블록의 픽셀 값들과 예측 블록의 픽셀 값들 간의 차이 값 세트를 의미한다. 예로서, 레지듀얼 블록은 2차원 블록 포맷(예를 들어, 2차원 행렬 또는 픽셀 값들의 어레이)으로 표현할 수 있다.
제1변환부(307)는 레지듀얼 블록에 변환을 적용하여 레지듀얼 변환 계수들을 생성한다. 제1변환부(307)는 시간 도메인의 픽셀 차이 값들의 세트를 주파수 도메인에서 픽셀 차이 값들의 에너지를 나타내는 레지듀얼 변환 계수들로 변환한다. 예로서, 이산 코사인 변환(DCT), 정수 변환, 방향성 변환, 웨이블릿 변환 또는 이들의 조합을 이용할 수 있다.
제1양자화부(308)는 제1레이트 제어부(310)에서 결정된 양자화 파라미터 값(QP1)을 적용하여 레지듀얼 변환 계수들을 양자화 처리를 수행한다. 양자화 파라미터는 기본 양자화에 대하여 몇 배로 양자화할 것인가를 나타내는 팩터이다. 양자화 파라미터 값이 증가하면 압축률이 높아지고, 양자화 파라미터(QP1) 값이 감소하면 압축률은 낮아진다. 이에 따라서, 양자화 파라미터 값이 증가함에 따라서 블록 당 코딩에 의하여 생성되는 비트량은 감소하게 된다.
제1역양자화부(311)는 양자화된 레지듀얼 변환 계수들을 역양자화 처리하여 레지듀얼 변환 계수들을 복원한다.
제1역변환부(312)는 제1역양자화부(311)에서 복원된 레지듀얼 변환 계수들을 역변환 처리하여 레지듀얼 블록을 복원한다.
제1가산부(306)는 복원된 레지듀얼 블록과 제1모드 선택부(304)에서 출력되는 예측 블록을 더하여 비디오 블록을 복원한다.
복원된 비디오 블록은 제1필터(313)에서 디블록킹(deblocking) 필터링 처리된 후에 제1메모리(600)에 저장된다. 제1메모리(600)에 저장된 비디오 블록들은 인터 예측의 참조 프레임 데이터로 이용될 수 있다.
제1엔트로피 코딩부(309)는 양자화된 레지듀얼 변화 계수들을 가변 길이 코딩(VLC), 산술 코딩, 또는 다른 엔트로피 코딩 기술을 이용하여 엔트로피 코딩 처리하여 비트스트림으로 출력한다. 제1엔트로피 코딩부(309)는 엔트로피 코딩 처리에서 비트 발생 정보를 출력한다. 비트 발생 정보는 예로서 영역별 발생된 비트량에 대한 정보가 될 수 있다.
제1레이트 제어부(310)는 기본 계층의 해상도에 상응하는 제1타깃 비트레이트에 따라서 블록에 대하여 설정된 타깃 비트량과 기본 계층의 제1엔트로피 코딩부(309)에서 실제 생성된 비트량과의 차에 연동하여 양자화 파라미터 값(QP1)을 결정한다. 예로서, 타깃 비트량이 실제 생성된 비트량보다 큰 경우에는 다음 블록에 대하여 할당된 양자화 파라미터 값을 감소시키고, 타깃 비트량이 실제 생성된 비트량보다 작은 경우에는 다음 블록에 대하여 할당된 양자화 파라미터 값을 증가시킨다. 그리고, 타깃 비트량이 실제 생성된 비트량이 같은 경우에는 다음 블록에 할당된 양자화 파라미터(QP1) 값을 그대로 유지한다. 기본 계층에서는 블록별로 할당되는 양자화 파라미터 값은 제1타깃 비트레이트에 따라서 초기 값으로 설정될 수 있다.
기본 계층 인코더(300)는 인코딩 결과에 기초하여 인코딩 통계 정보를 생성한다. 예로서, 블록별로 생성된 비트량에 대한 정보, 인터 예측 처리에 기초하여 생성된 Inter SAD 정보, 인트라 예측 처리에 기초하여 생성된 Intra SAD 정보 등이 포함될 수 있다.
기본 계층 인코더(300)에서 생성된 인코딩 통계 정보는 프레임 메모리(500)에 저장된다. 또한, 기본 계층 인코더(300)는 계층간 예측을 위하여 기본 계층의 인코딩 처리 과정에서 생성되는 인트라 픽처 정보, 움직임 정보, 레지듀얼 정보도 프레임 메모리(500)에 저장된다.
다음으로, 향상 계층 인코더(400A)에서의 인코딩 처리에 대하여 설명하기로 한다.
향상 계층 인코더(400A)는 계층간 예측을 위하여 기본 계층에서 생성된 참조 정보들인 인트라 픽처 정보, 움직임 정보, 레지듀얼 정보를 이용하여 인코딩 처리를 수행한다.
또한, 향상 계층 인코더(400A)는 기본 계층 인코딩 결과에 기초하여 생성된 인코딩 통계 정보 및/또는 관심 영역 정보를 이용하여 비트 레이트를 제어한다.
업 샘플링부(401A)는 비디오 프레임 데이터를 향상 계층에서 규정하는 해상도를 갖는 비디오 프레임 데이터로 변환시키도록 업 샘플링 처리한다.
제2인터 예측부(402)는 업 샘플링 처리된 현재 프레임의 블록과 기본 계층 및 향상 계층의 하나 이상의 인접 프레임에서의 블록들과 기본 계층에서 생성된 움직임 정보에 기초하여 현재 프레임에서 인코딩할 블록에 대한 예측 블록을 생성한다. 여기에서, 예측 블록을 생성하는데 필요한 인접 프레임은 제1메모리(600)로부터 제공받고, 기본 계층에서 생성된 참조 정보들은 버퍼 메모리(500)로부터 제공받는다.
제2인트라 예측부(403)는 현재 코딩되고 있는 블록과 동일한 프레임 내의 기본 계층 및 향상 계층의 하나 이상의 인코딩된 블록들에 기초하여 예측 블록을 생성한다.
제2모드 선택부(404)는 인코딩되고 있는 블록이 포함된 프레임의 픽처 타입이 I 타입인 경우에 제2인트라 예측부(403)에서 생성된 예측 블록을 선택하여 출력하고, 인코딩되고 있는 블록이 포함된 프레임의 픽처 타입이 P 타입 또는 B 타입인 경우에 제2인터 예측부(402)에서 생성된 예측 블록을 선택하여 출력한다.
제2감산부(405)는 현재 프레임의 블록으로부터 제2모드 선택부(304)에서 출력되는 예측 블록을 뺌으로써 레지듀얼 블록을 생성한다. 레지듀얼 블록은 현재 프레임의 블록의 픽셀 값들과 예측 블록의 픽셀 값들 간의 차이 값 세트를 의미한다. 예로서, 레지듀얼 블록은 2차원 블록 포맷(예를 들어, 2차원 행렬 또는 픽셀 값들의 어레이)으로 표현할 수 있다.
제2변환부(407)는 레지듀얼 블록에 변환을 적용하여 레지듀얼 변환 계수들을 생성한다. 제2변환부(407)는 시간 도메인의 픽셀 차이 값들의 세트를 주파수 도메인에서 픽셀 차이 값들의 에너지를 나타내는 레지듀얼 변환 계수들로 변환한다. 예로서, 이산 코사인 변환(DCT), 정수 변환, 방향성 변환, 웨이블릿 변환 또는 이들의 조합을 이용할 수 있다.
제2양자화부(408)는 제2레이트 제어부(410)에서 결정된 양자화 파라미터 값(QP2)을 적용하여 레지듀얼 변환 계수들을 양자화 처리를 수행한다. 양자화 파라미터는 기본 양자화에 대하여 몇 배로 양자화할 것인가를 나타내는 팩터이다. 양자화 파라미터 값이 증가하면 압축률이 높아지고, 양자화 파라미터 값이 감소하면 압축률은 낮아진다. 이에 따라서, 양자화 파라미터 값이 증가함에 따라서 블록 당 코딩에 의하여 생성되는 비트량은 감소하게 된다.
제2역양자화부(411)는 양자화된 레지듀얼 변환 계수들을 역양자화 처리하여 레지듀얼 변환 계수들을 복원한다.
제2역변환부(412)는 제2역양자화부(411)에서 복원된 레지듀얼 변환 계수들을 역변환 처리하여 레지듀얼 블록을 복원한다.
제2가산부(406)는 복원된 레지듀얼 블록과 제2모드 선택부(404)에서 출력되는 예측 블록을 더하여 비디오 블록을 복원한다.
복원된 비디오 블록은 제2필터(413)에서 디블록킹(deblocking) 필터링 처리된 후에 제2메모리(700)에 저장된다. 제2메모리(700)에 저장된 비디오 블록들은 인터 예측의 참조 프레임 데이터로 이용될 수 있다.
제2엔트로피 코딩부(409)는 양자화된 레지듀얼 변화 계수들을 가변 길이 코딩(VLC), 산술 코딩, 또는 다른 엔트로피 코딩 기술을 이용하여 엔트로피 코딩 처리하여 비트스트림으로 출력한다. 제2엔트로피 코딩부(409)는 엔트로피 코딩 처리에서 생성된 비트량을 나타내는 비트 발생 정보(Bit generation information)를 생성하여 제2레이트 제어부(410)로 출력한다.
엔트로피 코딩 처리에서 실제 생성된 비트량은 엔트로피 코딩부(409)에서 생성된 비트 생성 정보(Bit generation information)로부터 알아낼 수 있다.
제2레이트 제어부(410)는 프레임 버퍼(500)로부터 읽어낸 기본 계층의 인코딩 통계 정보를 이용하여 매크로블록 또는/및 프레임에 대한 타깃 비트량을 결정할 수 있다. 예로서, 수학식 1 ~ 수학식 3을 이용하여 향상 계층의 i번째 매크로블록에 할당되는 타깃 비트량 Tmb(i)을 결정할 수 있다. 또한, 제2레이트 제어부(410)는 수학식 4를 이용하여 향상 계층의 i번째 프레임에 할당되는 타깃 비트량 TENH_frame[i]을 결정할 수 있다
또한, 제2레이트 제어부(410)는 프레임 버퍼(500)로부터 읽어낸 관심 영역 정보를 이용하여 향상 계층에 대한 매크로블록의 양자화 파라미터 값을 할당할 수 있다. 예로서, 도 24에 도시된 바와 같이 관심 영역 내에서의 양자화 파라미터 값을 비관심 영역 내의 양자화 파라미터 값에 비하여 상대적으로 작은 값으로 결정할 수 있다.
그리고, 제2레이트 제어부(410)는 현재 매크로블록에 할당된 타깃 비트량과 현재 매크로블록의 엔트로피 코딩 처리에서 실제 생성된 비트량의 차에 연동하여 다음 매크로블록에 할당되어 있는 양자화 파라미터 값을 조정한다. 엔트로피 코딩 처리에서 실제 생성된 비트량은 엔트로피 코딩부(409)에서 생성된 비트 생성 정보(Bit generation information)로부터 알아낼 수 있다.
예로서, 타깃 비트량이 실제 생성된 비트량보다 큰 경우에는 다음 처리할 매크로블록에 대하여 할당된 양자화 파라미터 값을 감소시키고, 타깃 비트량이 실제 생성된 비트량보다 작은 경우에는 다음 처리할 매크로블록에 대하여 할당된 양자화 파라미터 값을 증가시킨다. 그리고, 타깃 비트량이 실제 생성된 비트량이 같은 경우에는 다음 처리할 매크로블록에 할당되어 있는 양자화 파라미터 값을 그대로 유지한다. 그리고, 프레임별 최초의 매크로블록에 대한 인코딩 처리 시에는 관심 영역 정보에 의하여 할당되어 있는 양자화 파라미터 값을 그대로 유지한다.
도 16은 본 발명의 다른 실시 예에 따른 다계층 인코더의 세부적인 구성을 예시적으로 보여주는 도면이다.
도 16을 참조하면, 본 발명의 실시 예에 따른 다계층 인코더는 기본 계층 인코더(300), 향상 계층 인코더(400B), 프레임 버퍼(500) 및 제1,2메모리(600, 700)를 포함한다.
기본 계층 인코더(300)는 관심 영역(ROI) 검출부(301), 제1인터 예측부(302), 제1인트라 예측부(303), 제1모드 선택부(304), 제1감산부(305), 제1가산부(306), 제1변환부(307), 제1양자화부(308), 제1엔트로피 코딩부(309), 제1레이트 제어부(310), 제1역양자화부(311), 제1역변환부(312) 및 제1필터(313)를 포함한다.
그리고, 향상 계층 인코더(400B)는 다운 샘플링부(401B), 제2인터 예측부(402), 제2인트라 예측부(403), 제2모드 선택부(404), 제2감산부(405), 제2가산부(406), 제2변환부(407), 제2양자화부(408), 제2엔트로피 코딩부(409), 제2레이트 제어부(410), 제2역양자화부(411), 제2역변환부(412) 및 제2필터(413)를 포함한다.
도 16에 도시된 다계층 인코더는 공간 스케일러빌리티를 지원하는 다계층 인코더의 다른 예로서, 기본 계층 인코더(300)에서는 오리지널 영상의 해상도를 갖는 비디오 데이터에 대한 인코딩 처리를 수행하고, 향상 계층 인코더(400A)에서는 오리지널 영상의 해상도를 낮춘 비디오에 대한 인코딩 처리를 수행한다.
예로서, 오리지널 비디오 데이터의 해상도가 HD(High Definition)이면, 기본 계층 인코더(300)는 HD 해상도의 오리지널 비디오 데이터를 인코딩 처리한다. 그리고, 향상 계층 인코더(400B)는 다운 샘플링에 의하여 해상도를 낮춘 SD(Standard Definition) 또는 CIF(Common Intermediate Format)의 비디오 데이터를 인코딩 처리한다.
도 16에 도시된 다계층 인코더는 기본 계층에 비하여 해상도가 높은 비디오 데이터를 향상 계층에서 인코딩하는데 비하여, 도 15에 도시된 다계층 인코더는 기본 계층에 비하여 해상도가 낮은 비디오 데이터를 향상 계층에서 인코딩한다는 점에서 상이하다.
도 15에 도시된 다계층 인코더의 향상 계층 인코더(400A)는 프레임 데이터를 업 샘플링부(401A)에서 업 샘플링 처리하여 높은 해상도를 갖는 프레임 데이터로 변환시킨 후에 인코딩 처리를 수행한다.
이에 비하여, 도 16에 도시된 다계층 인코더의 향상 계층 인코더(400B)는 프레임 데이터를 다운 샘플링부(401B)에서 다운 샘플링 처리하여 낮은 해상도를 갖는 프레임 데이터로 변환시킨 후에 인코딩 처리를 수행한다.
이에 따라서, 도 16에 도시된 다계층 인코더의 기본 계층 인코더(300)는 도 15에 도시된 기본 계층 인코더(300)와 구성 및 동작이 동일하다. 그리고, 도 16에 도시된 다계층 인코더의 향상 계층 인코더(400B)는 도 15에 도시된 향상 계층 인코더(400A)에 적용된 업 샘플링부(401A) 대신에 다운 샘플링부(401B)를 적용하는 구성 이외의 나머지 구성 및 동작은 동일하므로 중복적인 설명은 피하기로 한다.
도 15 및 도 16에서 언급된 블록은 매크로블록이 될 수 있다. 또한, 매크로블록과 다른 사이즈로 설정할 수도 있다. 예로서, 도 15 및 도 16에서 제1메모리(600) 및 제2메모리(700)를 각각 기본 계층 인코더(300) 및 향상 계층 인코더(400A 또는 400B) 내부에 배치할 수도 있다.
참고적으로, 도 15의 다계층 인코더의 향상 계층 인코더(400A) 구성에서 업 샘플링부(401A)를 삭제하고 현재 프레임 데이터를 바로 제2인터 예측부(402), 제2인트라 예측부(403) 및 제2감산부(405)에 각각 인가하면 품질 스케일러빌리티를 지원하는 다계층 인코더를 구현할 수 있다.
다음으로, 본 발명의 일 실시 예에 따른 비디오 인코딩 장치에서의 다계층 비디오 코딩을 위한 레이트 제어 방법에 대하여 도 23의 흐름도를 참조하여 설명하기로 한다.
우선, 다계층 인코더는 제1계층에서의 인코딩 결과에 기초한 인코딩 통계 정보를 생성시킨다(S110). 제1계층은 ITU-T H.264/MPEG-4, Part 10 AVC 표준에서 규정하는 기본 계층(Base Layer)이 될 수 있다. 또한, 제1계층은 ITU-T H.264/MPEG-4, Part 10 AVC 표준에서 규정하는 향상 계층(Enhancement Layer)들 중의 하나의 계층이 될 수 있다. 제1계층은 제2계층에 비하여 낮은 계층이어야 한다. 따라서, 제1계층을 하위 계층으로 칭하고, 제2계층을 상위 계층으로 칭할 수도 있다.
예로서, 인코딩 통계 정보는 제1계층에서의 영역별로 인코딩 과정에서 생성된 비트량에 대한 정보, 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합에 대한 정보, 영역별 복잡도 정보들 중의 하나 이상의 정보들이 포함될 수 있다. 여기에서, 영역은 픽처 그룹(GOP; Group of Picture), 프레임(frame) 또는 매크로블록(macroblock)들 중의 적어도 하나 이상을 포함할 수 있다.
다음으로, 다계층 인코더는 제1계층의 인코딩 통계 정보에 기초하여 제2계층의 영역별로 할당되는 타깃 비트량을 결정한다(S120). 예로서, 다계층 인코더는 수학식 1 ~ 수학식 4를 이용하여 제2계층에서 인코딩 처리할 매크로블록의 위치에 대응되는 제1계층의 인코딩 통계 정보에 기초하여 매크로블록 또는/및 프레임에 대한 타깃 비트량을 결정할 수 있다. 수학식 1 ~ 수학식 4에서 기본 계층은 제1계층에 해당되고, 향상 계층은 제2계층에 해당된다.
다음으로, 다계층 인코더는 단계120(S120)에서 결정된 타깃 비트량을 적용하여 제2계층에서의 인코딩 처리를 수행한다(S130). 다계층 인코더는 제2계층에서 영역별로 결정된 타깃 비트량에 기초하여 비트 레이트를 조절하면서 제2계층에서의 인코딩 처리를 수행한다.
도 23에 도시된 단계130(S130)에 대한 세부적인 흐름도를 도 24에 도시하였다.
도 24를 참조하면, 다계층 인코더는 제2계층에 대하여 결정된 영역별 타깃 비트량과 제2계층의 인코딩 과정에서 영역별로 발생된 비트량의 차에 연동하여 제2계층의 인코딩 처리에 적용될 양자화 파라미터 값을 결정한다(S210). 다계층 인코더는 제2계층에 대하여 결정된 매크로블록 또는/및 프레임에 대한 타깃 비트량 및 제2계층의 엔트로피 코딩 처리에서 실제 생성된 비트량의 차에 연동하여 양자화 파라미터 값을 결정한다. 예로서, 기본 계층의 인코딩 통계 정보에 기초하여 결정된 타깃 비트량이 실제 생성된 비트량보다 큰 경우에는 다음 처리할 매크로블록에 대한 양자화 파라미터 값을 감소시키고, 기본 계층의 인코딩 통계 정보에 기초하여 결정된 타깃 비트량이 실제 생성된 비트량보다 작은 경우에는 다음 처리할 매크로블록에 대한 양자화 파라미터 값을 증가시킨다. 그리고, 타깃 비트량이 실제 생성된 비트량이 같은 경우에는 다음 처리할 매크로블록에 대한 양자화 파라미터 값을 그대로 유지한다.
다계층 인코더는 단계210(S210)에서 결정된 양자화 파라미터 값을 적용하여 제2계층의 인코딩 처리 과정에서의 양자화 처리를 수행한다(S220). 다계층 인코더는 결정된 양자화 파라미터 값을 적용하여 제2계층의 인코딩 과정에서 생성된 레지듀얼 변환 계수들을 양자화 처리한다.
다음으로, 본 발명의 다른 실시 예에 따른 비디오 인코딩 장치에서의 다계층 비디오 코딩을 위한 레이트 제어 방법에 대하여 도 25의 흐름도를 참조하여 설명하기로 한다.
다계층 인코더는 입력 영상에 대한 관심 영역 정보를 생성한다(S310). 예로서, 다계층 인코더는 위에서 설명한 도 6 ~ 도 8에 도시된 관심 영역 검출부를 이용하여 관심 영역 정보를 생성할 수 있다.
다계층 인코더는 단계310(S310)에서 생성된 관심 영역 정보에 기초하여 제2계층에서의 양자화 파라미터 값을 할당한다(S320). 다계층 인코더는 제1계층에서 생성된 관심 영역 정보에 기초하여 제2계층에서 영역별로 할당되는 파라미터 값을 결정할 수 있다. 예로서, 제2계층에서 인코딩할 매크로블록 위치에 대응되는 제1계층의 매크로블록을 찾아내고, 찾아낸 제1계층의 매크로블록에 대한 관심 영역 정보를 이용하여 제2계층에 대한 매크로블록의 양자화 파라미터 값을 할당할 수 있다. 도 24에 도시된 바와 같이 관심 영역 내에서의 양자화 파라미터 값을 비관심 영역 내의 양자화 파라미터 값에 비하여 상대적으로 작은 값으로 결정할 수 있다.
다계층 인코더는 단계320(S320)에서 할당된 양자화 파라미터 값에 기초하여 제2계층에서의 양자화 처리를 수행한다(S330). 예로서, 다계층 인코더는 제2계층에서의 인코딩하는 현재 매크로블록에 할당된 타깃 비트량과 현재 매크로블록의 엔트로피 코딩 처리에서 실제 생성된 비트량의 차에 연동하여 다음 매크로블록에 할당되어 있는 양자화 파라미터 값을 조정하고, 조정된 양자화 파라미터 값을 적용하여 제2계층의 인코딩 과정에서 생성된 레지듀얼 변환 계수들을 양자화 처리한다.
다음으로, 본 발명의 또 다른 실시 예에 따른 비디오 인코딩 장치에서의 다계층 비디오 코딩을 위한 레이트 제어 방법에 대하여 도 26의 흐름도를 참조하여 설명하기로 한다.
우선, 다계층 인코더는 제1계층에서의 인코딩 결과에 기초한 인코딩 통계 정보 및 관심 영역(ROI) 정보를 생성시킨다(S410). 제1계층에서의 인코딩 결과에 기초한 인코딩 통계 정보 및 관심 영역(ROI) 정보를 생성시키는 프로세스에 대해서는 위에서 상세히 설명하였으므로 중복적인 설명은 피하기로 한다.
다음으로, 다계층 인코더는 제1계층의 인코딩 통계 정보에 기초하여 제2계층의 영역별로 할당되는 타깃 비트량을 결정한다(S420). 예로서, 다계층 인코더는 수학식 1 ~ 수학식 4를 이용하여 제2계층에서 인코딩 처리할 매크로블록의 위치에 대응되는 제1계층의 인코딩 통계 정보에 기초하여 매크로블록 또는/및 프레임에 대한 타깃 비트량을 결정할 수 있다. 수학식 1 ~ 수학식 4에서 기본 계층은 제1계층에 해당되고, 향상 계층은 제2계층에 해당된다.
다음으로, 다계층 인코더는 제1계층에서 생성된 관심 영역 정보에 기초하여 제2계층에서의 양자화 파라미터 값을 할당한다(S430). 예로서, 제2계층에서 인코딩할 매크로블록 위치에 대응되는 제1계층의 매크로블록을 찾아내고, 찾아낸 제1계층의 매크로블록에 대한 관심 영역 정보를 이용하여 제2계층에 대한 매크로블록의 양자화 파라미터 값을 할당할 수 있다.
다음으로, 다계층 인코더는 제2계층에서 영역별로 결정된 타깃 비트량 및 양자화 파라미터 값을 이용하여 제2계층에서의 인코딩 처리를 수행한다(S440). 다계층 인코더는 제2계층에 대하여 결정된 매크로블록 또는/및 프레임에 대한 타깃 비트량 및 제2계층의 엔트로피 코딩 처리에서 실제 생성된 비트량의 차에 연동하여 단계430(S430)에서 할당된 양자화 파라미터 값을 조정한다. 예로서, 기본 계층의 인코딩 통계 정보에 기초하여 결정된 타깃 비트량이 실제 생성된 비트량보다 큰 경우에는 다음 처리할 매크로블록에 대한 양자화 파라미터 값을 감소시키고, 기본 계층의 인코딩 통계 정보에 기초하여 결정된 타깃 비트량이 실제 생성된 비트량보다 작은 경우에는 다음 처리할 매크로블록에 대한 양자화 파라미터 값을 증가시킨다. 그리고, 타깃 비트량이 실제 생성된 비트량이 같은 경우에는 다음 처리할 매크로블록에 대한 양자화 파라미터 값을 그대로 유지한다. 다계층 인코더는 이와 같이 조정된 양자화 파라미터 값을 적용하여 제2계층의 인코딩 과정에서 생성된 레지듀얼 변환 계수들을 양자화 처리한다.
도 27은 본 발명의 실시 예에 따른 비디오 제공 장치의 구현 예를 나타내는 블록도이다.
도 27을 참조하면, 본 발명의 실시 예에 따른 비디오 공급 장치(2000)는 프로세서(CPU, 810), 다계층 인코더(820), 네트워크 인터페이스(I/F)(830), 사용자 인터페이스(UI, 840), 비디오 소스(850) 및 버스(860)를 포함한다.
버스(860)는 비디오 공급 장치(2000)의 구성 수단들 간의 데이터 또는 제어 신호들을 전송하는 전송로이다.
비디오 소스(850)는 비디오 캡쳐 디바이스로서 예들 들면 비디오 카메라, 비디오 콘텐츠 공급 장치, 카메라 폰, 비디오 폰, 카메라가 장착된 휴대폰 등이 포함될 수 있다.
다계층 인코더(820)는 도 2에 도시된 바와 같은 비디오 인코더(120)가 적용될 수 있다.
네트워크 인터페이스(830)는 다계층 인코더(820)에서 인코딩 처리된 기본 계층 및/또는 향상 계층 비트스트림을 유선 또는 무선 통신 채널을 통하여 목적지 디바이스로 전송하는 소프트웨어 및/또는 하드웨어를 포함한다.
사용자 인터페이스(840)는 프로세서(810)의 동작을 제어하기 위한 제어 신호 또는 프로세서(810)에 의하여 처리될 데이터를 입력할 수 있는 장치로서, 터치 패드, 마우스, 키패드 또는 키보드로 구현될 수 있다.
도 28은 본 발명의 실시 예에 따른 비디오 서비스 시스템의 구현 예를 나타내는 블록도이다.
도 28을 참조하면, 도 28은 본 발명의 실시 예에 따른 비디오 서비스 시스템(3000)은 네트워크(900), 비디오 공급 장치(910) 및 네트워크(900)에 접속된 하나 이상의 목적지 디바이스들(911~ 917)을 포함한다.
네트워크(900)는 유선 또는 무선 통신망으로 구현될 수 있다.
비디오 공급 장치(910)는 도 28에 도시된 바와 같은 비디오 공급 장치(2000)가 적용될 수 있다.
목적지 디바이스들(911~ 917)은 텔레비전(TV)(911), 퍼스널 컴퓨터(PC; 912), 개인 휴대 정보 단말기(PDA; 913), 휴대폰(914), 네비게이션(915), 비디오 게임 디바이스(916), 노트북 컴퓨터(917) 등이 포함될 수 있다. 목적지 디바이스들은 이에 한정되지 않고 디지털 비디오 데이터를 수신하여 디코딩할 수 있는 다양한 디바이스들을 포함할 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
1000 : 비디오 신호 처리 시스템 100 : 소스 디바이스
200 : 목적지 디바이스 110 : 비디오 소스
120 : 비디오 인코더 130 : 비디오 송신기
210 : 수신기 220 : 비디오 디코더
230 : 디스플레이 디바이스 2000 : 비디오 공급 장치
810 : 프로세서 820 : 다계층 인코더
830 : 네트워크 인터페이스 840 : 사용자 인터페이스
850 : 비디오 소스 860 : 버스
3000 : 비디오 서비스 시스템 900 : 네트워크
910 : 비디오 공급 장치 911 ~ 917 : 목적지 디바이스들

Claims (20)

  1. 입력 비디오 데이터에 대한 제1계층에서의 인코딩 결과에 기초한 인코딩 통계 정보를 생성시키는 단계;
    상기 인코딩 통계 정보를 이용하여 제2계층에서의 영역별로 할당되는 타깃 비트량을 결정하는 단계; 및
    상기 타깃 비트량에 기초하여 상기 입력 비디오 데이터에 대한 제2계층에서의 인코딩 처리를 수행하는 단계를 포함함을 특징으로 하는 다계층 비디오 코딩을 위한 레이트 제어 방법.
  2. 제1항에 있어서, 상기 제2계층에서의 매크로블록별로 할당되는 타깃 비트량은 상기 제2계층의 매크로블록 위치에 매칭되는 제1계층의 매크로블록에 대한 인코딩 과정에서 생성된 비트량에 기초하여 결정되는 것을 특징으로 하는 다계층 비디오 코딩을 위한 레이트 제어 방법.
  3. 제2항에 있어서, 상기 제2계층에서의 i번째(i는 1 이상의 정수) 매크로블록에 할당되는 타깃 비트량 Tmb(i)은 다음과 같은 수학식
    Figure pat00008

    (여기에서, Tpic는 제2계층의 픽처에 할당된 타깃 비트량이고, MB_BITS(i)는 제2계층의 i번째 매크로블록에 매칭되는 제1계층의 매크로블록에서 생성된 비트량이고, PIC_BITS_SUM은 제1계층에서 픽처의 전체 매크로블록에서 생성된 비트량의 합임)
    에 의하여 결정되는 것을 특징으로 하는 다계층 비디오 코딩을 위한 레이트 제어 방법.
  4. 제1항에 있어서, 상기 제2계층에서의 매크로블록별로 할당되는 타깃 비트량은 상기 제2계층의 매크로블록에 매칭되는 제1계층의 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합에 기초하여 결정되는 것을 특징으로 하는 다계층 비디오 코딩을 위한 레이트 제어 방법.
  5. 제4항에 있어서, 상기 제2계층에서의 i번째(i는 1 이상의 정수) 매크로블록에 할당되는 타깃 비트량 Tmb(i)은 다음과 같은 수학식
    Figure pat00009

    (여기에서, Tpic는 제2계층의 픽처에 할당된 타깃 비트량이고, MB_SAD(i)는 제2계층의 i번째 매크로블록에 매칭되는 제1계층의 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합이고, PIC_SAD_SUM은 제1계층에서 픽처의 전체 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합임)
    에 의하여 결정되는 것을 특징으로 하는 다계층 비디오 코딩을 위한 레이트 제어 방법.
  6. 제1항에 있어서, 상기 제2계층에서의 매크로블록별로 할당되는 타깃 비트량은 상기 제2계층의 매크로블록에 매칭되는 제1계층의 매크로블록에 대한 인코딩 시에 생성된 비트량 및 상기 제2계층의 매크로블록에 매칭되는 제1계층의 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합에 기초하여 결정되는 것을 특징으로 하는 다계층 비디오 코딩을 위한 레이트 제어 방법.
  7. 제6항에 있어서, 상기 제2계층의 i번째(i는 1 이상의 정수) 매크로블록에 할당되는 타깃 비트량 Tmb(i)은 다음과 같은 수학식
    Tmb(i) = (1-W)×Tpic×(MB_BITS[i]/PIC_BITS_SUM)
    + W×Tpic×(MB_SAD[i]/PIC_SAD_SUM)
    (여기에서, Tpic는 제2계층의 픽처에 할당된 타깃 비트량이고, MB_BITS(i)는 제2계층의 i번째 매크로블록에 매칭되는 제1계층의 매크로블록에서 생성된 비트량이고, PIC_BITS_SUM은 제1계층에서 픽처의 전체 매크로블록에서 생성된 비트량의 합이고, MB_SAD(i)는 제2계층의 i번째 매크로블록에 매칭되는 제1계층의 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합이고, PIC_SAD_SUM은 제1계층에서 픽처의 전체 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합이며, W는 가중 계수로서 0 <W<1 임)
    에 의하여 결정되는 것을 특징으로 하는 다계층 비디오 코딩을 위한 레이트 제어 방법.
  8. 제1항에 있어서, 상기 제2계층의 프레임 별로 할당되는 타깃 비트량은 상기 제1계층에서의 영역별 복잡도 정보 및 제1계층에서의 픽처 그룹에서의 프레임 비트 점유 정보 중의 적어도 하나의 정보에 기초하여 결정되는 것을 특징으로 하는 다계층 비디오 코딩을 위한 레이트 제어 방법.
  9. 제8항에 있어서, 상기 제2계층의 i번째(i는 1 이상의 정수) 프레임에 할당되는 타깃 비트량 TENH_frame[i]은 다음과 같은 수학식
    Figure pat00010

    (여기에서, GOP_ALLOC_BITSENH는 제2계층의 픽처 그룹에 할당된 타깃 비트량이고, PICTURE_TYPE는 픽처의 타입이고, COMPLEXITYBASE[i]는 제1계층의 i번째 프레임에 대한 복잡도이고, GOP_ALLOC_BITSBASE는 제1계층의 픽처 그룹에서 생성된 비트량이고, FRAME_BITSBASE[i]는 제1계층의 i번째 프레임에서 생성된 비트량임)
    에 의하여 결정되는 것을 특징으로 하는 다계층 비디오 코딩을 위한 레이트 제어 방법.
  10. 제1항에 있어서, 상기 입력 비디오 데이터에 대한 관심 영역 정보를 생성시키는 단계; 및
    상기 관심 영역 정보에 기초하여 상기 입력 비디오 데이터에 대한 제2계층에서의 영역별로 할당되는 양자화 파라미터 값을 결정하는 단계를 더 포함함을 특징으로 하는 다계층 비디오 코딩을 위한 레이트 제어 방법.
  11. 제10항에 있어서, 상기 결정된 타깃 비트량 및 상기 영역별로 할당된 양자화 파라미터 값에 기초하여 제2계층에서의 비트 레이트를 제어하는 것을 특징으로 하는 다계층 비디오 코딩을 위한 레이트 제어 방법.
  12. 입력 비디오 데이터에 대한 관심 영역 정보를 생성하는 단계; 및
    상기 관심 영역 정보에 기초하여 향상 계층에서의 영역별로 할당되는 양자화 파라미터 값을 결정하는 단계를 포함하고,
    상기 관심 영역 정보에 기초하여 관심 영역과 비관심 영역에서의 양자화 파라미터 값을 다르게 결정하는 것으로 특징으로 하는 다계층 비디오 코딩을 위한 레이트 제어 방법.
  13. 제12항에 있어서, 상기 관심 영역 정보는 비트 발생 분포도, 영상의 복잡도, 화소 분포도 중의 적어도 하나 이상을 이용하여 산출하는 것을 특징으로 하는 다계층 비디오 코딩을 위한 레이트 제어 방법.
  14. 제12항에 있어서, 상기 영역별로 할당되는 양자화 파라미터 값에 기초하여 향상 계층에서의 양자화 처리를 수행하는 단계를 더 포함하는 것을 특징으로 다계층 비디오 코딩을 위한 레이트 제어 방법.
  15. 입력 비디오 데이터에 대한 제1계층에서의 인코딩 결과에 기초한 인코딩 통계 정보를 생성시키는 제1인코딩 처리부;
    상기 인코딩 통계 정보에 기초하여 상기 제2계층에서의 인코딩 처리 시에 적용할 양자화 파라미터 값을 생성하는 레이트 제어부; 및
    상기 양자화 파라미터 값을 적용하여 상기 입력 비디오 데이터에 대한 제2계층에서의 인코딩 처리를 수행하는 제2인코딩 처리부를 포함함을 특징으로 하는 비디오 인코딩 장치.
  16. 제15항에 있어서, 상기 레이트 제어부는
    상기 인코딩 통계 정보에 기초하여 제2계층에서의 영역별로 할당되는 타깃 비트량을 결정하는 비트량 결정기; 및
    상기 타깃 비트량 및 상기 제2인코딩 처리부서 발생된 비트량의 차에 기초하여 양자화 파라미터 값을 생성하는 양자화 파라미터 생성기를 포함함을 특징으로 하는 비디오 인코딩 장치.
  17. 제16항에 있어서, 상기 비트량 결정기는 상기 제2계층의 매크로블록에 매칭되는 제1계층의 매크로블록에 대한 인코딩 시에 생성된 비트량에 기초하여 상기 제2계층에서의 매크로블록별로 할당되는 타깃 비트량을 결정하는 것을 특징으로 하는 비디오 인코딩 장치.
  18. 제16항에 있어서, 상기 비트량 결정기는 상기 제2계층의 매크로블록에 매칭되는 제1계층의 매크로블록에서 계산된 현재 프레임과 예측 프레임 간의 픽셀들의 절대 차들의 합에 기초하여 상기 제2계층에서의 매크로블록별로 할당되는 타깃 비트량을 결정하는 것을 특징으로 하는 비디오 인코딩 장치.
  19. 제16항에 있어서, 상기 비트량 결정기는 상기 제1계층에서 계산된 영역별 복잡도 정보 및 제1계층에서의 픽처 그룹에서 프레임 비트 점유 정보 중의 적어도 하나의 정보에 기초하여 상기 제2계층의 프레임 별로 할당되는 타깃 비트량을 결정하는 것을 특징으로 하는 비디오 인코딩 장치.
  20. 제15항에 있어서, 상기 입력 비디오 데이터에 대한 관심 영역을 검출하고, 상기 검출된 관심 영역을 나타내는 관심 영역 정보를 생성하는 관심 영역 검출부를 더 포함하고, 상기 레이트 제어부는 상기 관심 영역 정보에 기초하여 제2계층에서의 영역별로 할당되는 양자화 파라미터 값을 결정하는 것을 특징으로 하는 비디오 인코딩 장치.
KR1020120059428A 2012-06-01 2012-06-01 다계층 비디오 코딩을 위한 레이트 제어 방법, 이를 이용한 비디오 인코딩 장치 및 비디오 신호 처리 시스템 KR102001415B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020120059428A KR102001415B1 (ko) 2012-06-01 2012-06-01 다계층 비디오 코딩을 위한 레이트 제어 방법, 이를 이용한 비디오 인코딩 장치 및 비디오 신호 처리 시스템
US13/798,371 US9420279B2 (en) 2012-06-01 2013-03-13 Rate control method for multi-layered video coding, and video encoding apparatus and video signal processing apparatus using the rate control method
DE102013105461A DE102013105461A1 (de) 2012-06-01 2013-05-28 Ratensteuerverfahren für mehrschichtige Videocodierung, sowie Videocodiervorrichtung und Videosignalverarbeitungsvorrichtung, welche das Ratensteuerverfahren verwenden
JP2013116321A JP6291172B2 (ja) 2012-06-01 2013-05-31 多階層ビデオコーディングのためのレート制御方法、これを用いるビデオエンコード装置及びビデオ信号処理システム
CN201310217285.XA CN103458241B (zh) 2012-06-01 2013-06-03 用于多层视频编码的速率控制方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120059428A KR102001415B1 (ko) 2012-06-01 2012-06-01 다계층 비디오 코딩을 위한 레이트 제어 방법, 이를 이용한 비디오 인코딩 장치 및 비디오 신호 처리 시스템

Publications (2)

Publication Number Publication Date
KR20130135659A true KR20130135659A (ko) 2013-12-11
KR102001415B1 KR102001415B1 (ko) 2019-07-18

Family

ID=49579609

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120059428A KR102001415B1 (ko) 2012-06-01 2012-06-01 다계층 비디오 코딩을 위한 레이트 제어 방법, 이를 이용한 비디오 인코딩 장치 및 비디오 신호 처리 시스템

Country Status (5)

Country Link
US (1) US9420279B2 (ko)
JP (1) JP6291172B2 (ko)
KR (1) KR102001415B1 (ko)
CN (1) CN103458241B (ko)
DE (1) DE102013105461A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160032969A (ko) * 2014-09-17 2016-03-25 삼성전자주식회사 코덱과 이를 포함하는 장치들
KR20170056849A (ko) * 2015-11-16 2017-05-24 삼성전자주식회사 비디오 인코딩 방법, 이를 수행하는 비디오 인코더 및 이를 포함하는 전자 시스템
KR20190103102A (ko) * 2019-08-16 2019-09-04 엘지전자 주식회사 Vr 디바이스 및 vr 디바이스 제어 방법
US11019337B2 (en) 2017-08-29 2021-05-25 Samsung Electronics Co., Ltd. Video encoding apparatus
DE102021133128A1 (de) 2020-12-14 2022-06-15 Lg Electronics Inc. Vorrichtung zum Steuern eines Motors und Verfahren zum Steuern eines Motors
DE102021214191A1 (de) 2020-12-14 2022-06-15 Lg Electronics Inc. Vorrichtung zum Steuern eines Motors und Verfahren zum Steuern eines Motors

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10579904B2 (en) 2012-04-24 2020-03-03 Stmicroelectronics S.R.L. Keypoint unwarping for machine vision applications
GB2504068B (en) * 2012-07-11 2015-03-11 Canon Kk Methods and devices for controlling spatial access granularity in compressed video streams
CN105075271A (zh) * 2013-04-08 2015-11-18 索尼公司 利用shvc的关注区域可伸缩性
US20140321533A1 (en) * 2013-04-29 2014-10-30 Ati Technologies Ulc Single-path variable bit rate video compression
WO2015093920A1 (ko) * 2013-12-20 2015-06-25 삼성전자 주식회사 휘도 보상을 이용한 인터 레이어 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
US20150373341A1 (en) * 2014-06-23 2015-12-24 Cisco Technology, Inc. Techniques for Interactive Region-Based Scalability
US9813654B2 (en) * 2014-08-19 2017-11-07 Sony Corporation Method and system for transmitting data
US10091504B2 (en) * 2015-01-08 2018-10-02 Microsoft Technology Licensing, Llc Variations of rho-domain rate control
GB2544800A (en) * 2015-11-27 2017-05-31 V-Nova Ltd Adaptive bit rate ratio control
CN106856571B (zh) * 2015-12-09 2019-12-06 阿里巴巴集团控股有限公司 一种转码方法及装置
US10638047B2 (en) * 2015-12-16 2020-04-28 Gopro, Inc. Dynamic synchronization of frame rate to a detected cadence in a time lapse image sequence
KR20180053028A (ko) 2016-11-11 2018-05-21 삼성전자주식회사 계층 구조를 구성하는 프레임들에 대한 인코딩을 수행하는 비디오 처리 장치
FR3064145A1 (fr) * 2017-03-16 2018-09-21 Orange Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
CN109151470B (zh) * 2017-06-28 2021-03-16 腾讯科技(深圳)有限公司 编码分辨率控制方法及终端
EP3721633A1 (en) * 2017-12-06 2020-10-14 V-Nova International Limited Hierarchical data structure
CN110049321B (zh) * 2018-01-16 2022-09-06 腾讯科技(深圳)有限公司 视频编码方法、装置、设备及存储介质
CN112237002A (zh) * 2018-06-29 2021-01-15 深圳市大疆创新科技有限公司 图像处理方法和设备
US11546611B2 (en) * 2018-08-01 2023-01-03 Samsung Display Co., Ltd. Rate control for fixed rate foveated display compression
WO2020036502A1 (en) * 2018-08-14 2020-02-20 Huawei Technologies Co., Ltd Machine-learning-based adaptation of coding parameters for video encoding using motion and object detection
US20200068197A1 (en) * 2018-08-27 2020-02-27 Ati Technologies Ulc Benefit-based bitrate distribution for video encoding
CN111263192A (zh) * 2018-11-30 2020-06-09 华为技术有限公司 视频处理方法及相关设备
KR20220003511A (ko) * 2019-03-20 2022-01-10 브이-노바 인터내셔널 리미티드 낮은 복잡도 향상 비디오 코딩
MX2021011338A (es) * 2019-03-20 2021-12-10 V Nova Int Ltd Procesamiento de residuos en codificacion de video.
CN111491167B (zh) * 2019-10-28 2022-08-26 华为技术有限公司 图像编码方法、转码方法、装置、设备以及存储介质
CN111541899A (zh) * 2019-12-16 2020-08-14 北京中盾安全技术开发公司 时空域-质量融合的可分级视频编码装置及其编码方法
CN112866696A (zh) * 2021-01-15 2021-05-28 北京锐马视讯科技有限公司 4k、8k、16k超高清视频编码优化控制方法和装置
CN113630619A (zh) * 2021-08-12 2021-11-09 三星电子(中国)研发中心 节目录制方法和装置
GB2611131B (en) * 2022-03-31 2023-11-22 V Nova Int Ltd Pre-analysis for video encoding
US20240121395A1 (en) * 2022-10-10 2024-04-11 Alibaba Damo (Hangzhou) Technology Co., Ltd. Methods and non-transitory computer readable storage medium for pre-analysis based resampling compression for machine vision

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011084918A1 (en) * 2010-01-06 2011-07-14 Dolby Laboratories Licensing Corporation High performance rate control for multi-layered video coding applications
WO2012050808A1 (en) * 2010-09-29 2012-04-19 Dolby Laboratories Licensing Corporation Region based asymmetric coding for 3d video compression

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1013826A (ja) * 1996-06-21 1998-01-16 Sony Corp 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、画像送信装置、画像受信装置、並びに記録媒体
US6057884A (en) * 1997-06-05 2000-05-02 General Instrument Corporation Temporal and spatial scaleable coding for video object planes
JP3132456B2 (ja) 1998-03-05 2001-02-05 日本電気株式会社 階層的画像符号化方式、及び階層的画像復号方式
CN1186933C (zh) * 2002-12-26 2005-01-26 上海交通大学 数字电视视频编码器并行图象序列码率控制方法
JP4114534B2 (ja) * 2003-05-02 2008-07-09 ソニー株式会社 画像符号化装置及び方法
JP2004343451A (ja) * 2003-05-15 2004-12-02 Matsushita Electric Ind Co Ltd 動画像復号化方法および動画像復号化装置
JP2007509525A (ja) 2003-10-20 2007-04-12 サムスン エレクトロニクス カンパニー リミテッド 視覚的画質を均一にするビットレートコントロール方法及び装置
US7778474B2 (en) * 2004-10-06 2010-08-17 Nippon Telegraph And Telephone Corporation Scalable encoding method and apparatus, scalable decoding method and apparatus, programs therefor, and storage media for storing the programs
DE102004059978B4 (de) 2004-10-15 2006-09-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz und zum Decodieren einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Restwerte-Prädiktion sowie ein Computerprogramm und ein computerlesbares Medium
US7974341B2 (en) * 2005-05-03 2011-07-05 Qualcomm, Incorporated Rate control for multi-layer video design
US8619860B2 (en) 2005-05-03 2013-12-31 Qualcomm Incorporated System and method for scalable encoding and decoding of multimedia data using multiple layers
JP4720284B2 (ja) * 2005-05-16 2011-07-13 Kddi株式会社 画像圧縮符号化装置
EP1952631A4 (en) * 2005-09-07 2012-11-21 Vidyo Inc SYSTEM AND METHOD FOR SCALABLE AND DECELERATING VIDEO CONFERENCES WITH SCALABLE VIDEO CODING
US8031777B2 (en) * 2005-11-18 2011-10-04 Apple Inc. Multipass video encoding and rate control using subsampling of frames
KR100825752B1 (ko) 2005-11-21 2008-04-29 한국전자통신연구원 Svc에서 효율적인 비트율 제어 방법 및 장치
KR100790986B1 (ko) 2006-03-25 2008-01-03 삼성전자주식회사 가변 비트율 비디오 코딩에서 비트율을 제어하는 장치 및방법
US8565314B2 (en) 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US8199812B2 (en) 2007-01-09 2012-06-12 Qualcomm Incorporated Adaptive upsampling for scalable video coding
JP2009182442A (ja) * 2008-01-29 2009-08-13 Univ Of Fukui 動画像符号化・復号システム、並びにそれに用いる動画像符号化装置および動画像復号装置
KR101210578B1 (ko) 2008-12-23 2012-12-11 한국전자통신연구원 스케일러블 비디오 코딩에서의 비트율-왜곡값을 이용한 상위 계층의 빠른 부호화 방법 및 그 부호화 장치
JP5038367B2 (ja) 2009-07-27 2012-10-03 日本電信電話株式会社 スケーラブル動画像符号化方法、スケーラブル動画像符号化装置およびスケーラブル動画像符号化プログラム
KR101333496B1 (ko) 2010-11-30 2013-11-28 주식회사 유진로봇 과거 지도 데이터 기반의 이동 로봇 제어 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011084918A1 (en) * 2010-01-06 2011-07-14 Dolby Laboratories Licensing Corporation High performance rate control for multi-layered video coding applications
WO2012050808A1 (en) * 2010-09-29 2012-04-19 Dolby Laboratories Licensing Corporation Region based asymmetric coding for 3d video compression

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160032969A (ko) * 2014-09-17 2016-03-25 삼성전자주식회사 코덱과 이를 포함하는 장치들
KR20170056849A (ko) * 2015-11-16 2017-05-24 삼성전자주식회사 비디오 인코딩 방법, 이를 수행하는 비디오 인코더 및 이를 포함하는 전자 시스템
US11019337B2 (en) 2017-08-29 2021-05-25 Samsung Electronics Co., Ltd. Video encoding apparatus
KR20190103102A (ko) * 2019-08-16 2019-09-04 엘지전자 주식회사 Vr 디바이스 및 vr 디바이스 제어 방법
DE102021133128A1 (de) 2020-12-14 2022-06-15 Lg Electronics Inc. Vorrichtung zum Steuern eines Motors und Verfahren zum Steuern eines Motors
DE102021214191A1 (de) 2020-12-14 2022-06-15 Lg Electronics Inc. Vorrichtung zum Steuern eines Motors und Verfahren zum Steuern eines Motors
US11784601B2 (en) 2020-12-14 2023-10-10 Lg Electronics Inc. Apparatus for controlling motor and method for controlling motor
US11863094B2 (en) 2020-12-14 2024-01-02 Lg Electronics Inc. Apparatus for controlling motor and method for controlling motor

Also Published As

Publication number Publication date
CN103458241A (zh) 2013-12-18
KR102001415B1 (ko) 2019-07-18
US9420279B2 (en) 2016-08-16
US20130322524A1 (en) 2013-12-05
DE102013105461A1 (de) 2013-12-05
JP6291172B2 (ja) 2018-03-14
CN103458241B (zh) 2018-11-13
JP2013251903A (ja) 2013-12-12

Similar Documents

Publication Publication Date Title
KR102001415B1 (ko) 다계층 비디오 코딩을 위한 레이트 제어 방법, 이를 이용한 비디오 인코딩 장치 및 비디오 신호 처리 시스템
JP6141355B2 (ja) ビデオコード化における量子化
JP5290325B2 (ja) Cabacコーダのためのレート歪みモデリングに基づいた量子化
JP5139542B2 (ja) Cabacコーダのための2パス量子化
JP5902311B2 (ja) ビデオコード化のための量子化行列の信号伝達
US9955176B2 (en) Efficient and scalable intra video/image coding using wavelets and AVC, modified AVC, VPx, modified VPx, or modified HEVC coding
JP5590133B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
EP3284253B1 (en) Rate-constrained fallback mode for display stream compression
KR102518627B1 (ko) 이미지 인코딩 방법, 디코딩방법, 인코더 및 디코더
JP2018509067A (ja) ほぼ視覚的無損失なビデオ再圧縮
EP3146719A1 (en) Re-encoding image sets using frequency-domain differences
KR20130107861A (ko) 인터 레이어 인트라 예측 방법 및 장치
US10812832B2 (en) Efficient still image coding with video compression techniques
KR20100079037A (ko) 비디오 영상 부호화 방법 및 장치
JP2024053019A (ja) 符号化装置、復号装置、及びプログラム
KR20180102565A (ko) 디스플레이 스트림 압축 (dsc) 에서의 왜곡을 계산하기 위한 시스템 및 방법들
JP2018524916A (ja) 拡張レイヤの現在ブロックの予測を求める方法および装置
KR20210059768A (ko) 디지털 이미지/비디오 자료를 인코딩 및 디코딩하는 방법 및 장치
US10123045B2 (en) Modification to block size for transform mode in display stream compression
JP6528635B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP6265414B2 (ja) 映像符号化装置及び映像復号装置
KR102020953B1 (ko) 카메라 영상의 복호화 정보 기반 영상 재 부호화 방법 및 이를 이용한 영상 재부호화 시스템
KR100832872B1 (ko) 기하학적 변환을 이용한 영상 부호화 효율 향상 방법 및장치
JP6402520B2 (ja) 符号化装置、方法、プログラム及び機器
JP2013524693A (ja) ビデオデータのコーディングのための可変長コード

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right