KR20180076591A - 비디오 인코딩 방법, 이를 수행하는 비디오 인코더 및 이를 포함하는 전자 시스템 - Google Patents

비디오 인코딩 방법, 이를 수행하는 비디오 인코더 및 이를 포함하는 전자 시스템 Download PDF

Info

Publication number
KR20180076591A
KR20180076591A KR1020160180916A KR20160180916A KR20180076591A KR 20180076591 A KR20180076591 A KR 20180076591A KR 1020160180916 A KR1020160180916 A KR 1020160180916A KR 20160180916 A KR20160180916 A KR 20160180916A KR 20180076591 A KR20180076591 A KR 20180076591A
Authority
KR
South Korea
Prior art keywords
encoding
candidate
images
group
image
Prior art date
Application number
KR1020160180916A
Other languages
English (en)
Inventor
전민수
노성호
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020160180916A priority Critical patent/KR20180076591A/ko
Priority to US15/691,054 priority patent/US10313669B2/en
Priority to CN201711360590.9A priority patent/CN108259902B/zh
Publication of KR20180076591A publication Critical patent/KR20180076591A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/142Detection of scene cut or scene change
    • 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/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/152Data rate or code amount at the encoder output by measuring the fullness of 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/177Methods 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 group of pictures [GOP]
    • 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/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks

Landscapes

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

Abstract

비디오 인코딩 방법에서는, 복수의 입력 영상들을 하나의 영상 그룹(group of pictures; GOP)보다 크기가 작은 서브 그룹 단위로 제공한다. 각 서브 그룹에 포함되는 입력 영상들을 독립적이고 서로 다른 방식으로 복수 회 부호화하여, 각 서브 그룹에 대한 복수의 후보 인코딩 그룹들을 발생한다. 각 서브 그룹에 대한 복수의 후보 인코딩 그룹들의 압축 비용(coding cost) 및 압축 품질(coding quality) 중 적어도 하나를 비교하여, 각 서브 그룹에 대한 복수의 후보 인코딩 그룹들 중 하나를 각 서브 그룹에 포함되는 입력 영상들에 대한 인코딩 영상들로서 선택한다.

Description

비디오 인코딩 방법, 이를 수행하는 비디오 인코더 및 이를 포함하는 전자 시스템{METHOD OF ENCODING VIDEO DATA, VIDEO ENCODER PERFORMING THE SAME AND ELECTRONIC SYSTEM INCLUDING THE SAME}
본 발명은 비디오 데이터의 압축에 관한 것으로서, 더욱 상세하게는 적응적으로 영상 그룹의 구조를 조절하는 비디오 인코딩 방법, 상기 방법을 수행하는 비디오 인코더 및 상기 비디오 인코더를 포함하는 전자 시스템에 관한 것이다.
비디오 부호화/복호화는 국제표준기구인 ISO/IEC 산하의 MPEG (Moving Picture Expert Group)과 ITU-T 산하의 VCEG (Video Coding Expert Group)에서 국제 표준을 주도해 오고 있다. 예를 들어, MPEG-1, MPEG-2, H.261, H.262/MPEG-2 파트 2, H.263, MPEG-4, H.264/MPEG-4 파트 10 AVC (Advanced Video Coding), HEVC (High Efficiency Video Coding)/H.265 등과 같은 다양한 국제 표준들이 규정되어 사용되고 있다. 최근에는 HD (High Definition) 영상 및 UHD (Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 증가하고 있으며, 비디오 인코더에서 압축 성능을 향상시키기 위한 다양한 기술들이 연구되고 있다.
본 발명의 일 목적은 입력 영상의 특성을 고려하여 적응적으로 영상 그룹의 구조를 조절하는 비디오 인코딩 방법을 제공하는 것이다.
본 발명의 다른 목적은 상기 비디오 인코딩 방법을 수행하는 비디오 인코더를 제공하는 것이다.
본 발명의 또 다른 목적은 상기 비디오 인코더를 포함하는 전자 시스템을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 비디오 인코딩 방법에서는, 복수의 입력 영상들을 하나의 영상 그룹(group of pictures; GOP)보다 크기가 작은 서브 그룹 단위로 제공한다. 각 서브 그룹에 포함되는 입력 영상들을 독립적이고 서로 다른 방식으로 복수 회 부호화하여, 상기 각 서브 그룹에 대한 복수의 후보 인코딩 그룹들을 발생한다. 상기 각 서브 그룹에 대한 상기 복수의 후보 인코딩 그룹들의 압축 비용(coding cost) 및 압축 품질(coding quality) 중 적어도 하나를 비교하여, 상기 각 서브 그룹에 대한 상기 복수의 후보 인코딩 그룹들 중 하나를 상기 각 서브 그룹에 포함되는 상기 입력 영상들에 대한 인코딩 영상들로서 선택한다.
상기 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 비디오 인코더는 입력 버퍼, 인코딩 모듈, 버퍼 풀(pool) 및 제어 모듈을 포함한다. 상기 입력 버퍼는 복수의 입력 영상들을 수신하고, 상기 복수의 입력 영상들을 하나의 영상 그룹(group of pictures; GOP)보다 크기가 작은 서브 그룹 단위로 출력한다. 상기 인코딩 모듈은 각 서브 그룹에 포함되는 입력 영상들을 독립적이고 서로 다른 방식으로 복수 회 부호화하여, 상기 각 서브 그룹에 대한 복수의 후보 인코딩 그룹들을 발생한다. 상기 버퍼 풀은 상기 복수의 후보 인코딩 그룹들을 저장하는 복수의 버퍼들을 포함한다. 상기 제어 모듈은 상기 각 서브 그룹에 대한 상기 복수의 후보 인코딩 그룹들의 압축 비용(coding cost) 및 압축 품질(coding quality) 중 적어도 하나를 비교하여, 상기 각 서브 그룹에 대한 상기 복수의 후보 인코딩 그룹들 중 하나를 상기 각 서브 그룹에 포함되는 상기 입력 영상들에 대한 인코딩 영상들로서 선택한다.
상기 또 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 전자 시스템은 복수의 입력 영상들을 제공하는 비디오 소스 및 상기 복수의 입력 영상들에 대한 부호화 동작을 수행하는 비디오 인코더를 포함한다. 상기 비디오 인코더는 입력 버퍼, 인코딩 모듈, 버퍼 풀(pool) 및 제어 모듈을 포함한다. 상기 입력 버퍼는 상기 복수의 입력 영상들을 수신하고, 상기 복수의 입력 영상들을 하나의 영상 그룹(group of pictures; GOP)보다 크기가 작은 서브 그룹 단위로 출력한다. 상기 인코딩 모듈은 각 서브 그룹에 포함되는 입력 영상들을 독립적이고 서로 다른 방식으로 복수 회 부호화하여, 상기 각 서브 그룹에 대한 복수의 후보 인코딩 그룹들을 발생한다. 상기 버퍼 풀은 상기 복수의 후보 인코딩 그룹들을 저장하는 복수의 버퍼들을 포함한다. 상기 제어 모듈은 상기 각 서브 그룹에 대한 상기 복수의 후보 인코딩 그룹들의 압축 비용(coding cost) 및 압축 품질(coding quality) 중 적어도 하나를 비교하여, 상기 각 서브 그룹에 대한 상기 복수의 후보 인코딩 그룹들 중 하나를 상기 각 서브 그룹에 포함되는 상기 입력 영상들에 대한 인코딩 영상들로서 선택한다.
상기와 같은 본 발명의 실시예들에 따른 비디오 인코딩 방법 및 이를 수행하는 비디오 인코더에서는, 각 서브 그룹을 복수 회 부호화하여 발생된 복수의 후보 인코딩 그룹들 중 가장 적합한 하나를 선택할 수 있다. 다시 말하면, 영상 그룹의 구조가 고정되지 않고 변경 가능하며, 현재 영상에 대한 최적의 인코딩 영상 및 영상 타입을 적응적으로 선택함으로써, 부호화 성능 및 효율이 향상될 수 있다. 특히, 현재 영상을 직접 부호화함으로써, 장면 전환과 같이 영상의 특성이 급격하게 변하는 경우에도 효과적으로 적용될 수 있다.
도 1은 본 발명의 실시예들에 따른 비디오 인코딩 방법을 나타내는 순서도이다.
도 2는 본 발명의 실시예들에 따른 비디오 인코더를 나타내는 블록도이다.
도 3은 규칙적인 구조의 영상 그룹의 일 예를 나타내는 도면이다.
도 4는 본 발명의 실시예들에 따른 비디오 인코딩 방법을 나타내는 순서도이다.
도 5는 도 4의 제1 서브 그룹에 대한 후보 인코딩 그룹들을 발생하는 단계의 일 예를 나타내는 순서도이다.
도 6은 도 4의 제1 서브 그룹에 대한 인코딩 영상들을 선택하는 단계의 일 예를 나타내는 순서도이다.
도 7은 도 4의 비디오 인코딩 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 실시예들에 따른 비디오 인코딩 방법을 설명하기 위한 도면이다.
도 9는 도 4의 제1 서브 그룹에 대한 인코딩 영상들을 선택하는 단계의 다른 예를 나타내는 순서도이다.
도 10a, 10b 및 10c는 도 4의 비디오 인코딩 방법을 설명하기 위한 도면들이다.
도 11은 도 4의 비디오 인코딩 방법을 설명하기 위한 도면이다.
도 12는 도 4의 제1 서브 그룹에 대한 후보 인코딩 그룹들을 발생하는 단계의 다른 예를 나타내는 순서도이다.
도 13 및 14는 도 4의 비디오 인코딩 방법을 설명하기 위한 도면들이다.
도 15는 본 발명의 실시예들에 따른 비디오 인코더에 포함되는 인코딩 모듈의 일 예를 나타내는 블록도이다.
도 16은 본 발명의 실시예들에 따른 비디오 디코더를 나타내는 블록도이다.
도 17은 본 발명의 실시예들에 따른 비디오 인코딩 및 디코딩 시스템을 나타내는 블록도이다.
도 18은 본 발명의 실시예들에 따른 전자 시스템을 나타내는 블록도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 비디오 인코딩 방법을 나타내는 순서도이다.
도 1에는 영상 그룹(group of pictures; GOP) 및 서브 그룹(sub group)에 기초하여 복수의 입력 영상들을 부호화하는 비디오 인코딩 방법이 도시되어 있다. 도 3을 참조하여 후술하는 것처럼, 영상 그룹은 다른 영상을 참조하지 않고 부호화되는 인트라 영상(intra picture) 및 다른 영상을 참조하여 부호화되는 인터 영상(inter picture)의 할당에 의해 결정된다.
도 1을 참조하면, 본 발명의 실시예들에 따른 비디오 인코딩 방법에서, 복수의 입력 영상들을 서브 그룹 단위로 제공한다(단계 S100). 상기 서브 그룹은 하나의 영상 그룹보다 크기가 작을 수 있다. 하나의 영상 그룹의 크기는 하나의 영상 그룹에 포함되는 영상들의 개수를 나타낼 수 있고, 하나의 서브 그룹의 크기는 하나의 서브 그룹에 포함되는 영상들의 개수를 나타낼 수 있다. 예를 들어, 하나의 서브 그룹은 두 개 이상의 영상들을 포함할 수 있다. 영상 그룹의 구조 및 서브 그룹의 구조에 대해서는 도 3, 7 등을 참조하여 후술하도록 한다.
MPEG-2, H.261, H.262/MPEG-2 파트 2, H.263, MPEG-4, H.264/MPEG-4 파트 10 AVC, HEVC/H.265 등의 표준에 따른 비디오 인코더는 비디오 데이터를 영상(picture) 단위로 부호화(coding)한다. 예를 들어, 상기 복수의 입력 영상들은 순차 스캔 방식(progressive scan form)에서의 프레임(frame)에 상응할 수도 있고 비월 스캔 방식(interlaced scan form)에서의 필드(field)에 상응할 수도 있다.
각 서브 그룹에 포함되는 입력 영상들을 독립적이고(independently) 서로 다른 방식으로 복수 회 부호화하여, 상기 각 서브 그룹에 대한 복수의 후보 인코딩 그룹들을 발생한다(단계 S200). 예를 들어, 하나의 서브 그룹을 독립적으로 2회 이상 부호화하여, 하나의 서브 그룹에 대한 두 개 이상의 후보 인코딩 그룹들을 발생할 수 있다. 이 때, 상기 복수 회의 부호화 동작들은 상기 서브 그룹 단위로 순차적으로 수행될 수 있으며, 각 후보 인코딩 그룹에 포함되는 후보 인코딩 영상들의 영상 타입 및 영상 배열 순서는 후보 인코딩 그룹마다 서로 다를 수 있다.
상기 각 서브 그룹에 대한 상기 복수의 후보 인코딩 그룹들의 압축 비용(coding cost) 및 압축 품질(coding quality) 중 적어도 하나를 비교하여, 상기 각 서브 그룹에 대한 상기 복수의 후보 인코딩 그룹들 중 하나를 상기 각 서브 그룹에 포함되는 상기 입력 영상들에 대한 인코딩 영상들로서 선택한다(단계 S300). 이 때, 상기 복수의 입력 영상들에 대응하는 복수의 인코딩 영상들은 상기 서브 그룹 단위로 순차적으로 선택 및 출력될 수 있다.
본 발명의 실시예들에 따른 비디오 인코딩 방법에서는, 각 서브 그룹을 복수 회 부호화하여 발생된 복수의 후보 인코딩 그룹들 중 가장 적합한 하나를 선택할 수 있다. 다시 말하면, 본 발명의 실시예들에 따른 비디오 인코딩 방법에서는, 영상 그룹의 구조가 고정되지 않고 변경 가능하며, 현재 영상에 대한 최적의 인코딩 영상 및 영상 타입을 적응적으로 선택함으로써, 부호화 성능 및 효율이 향상될 수 있다. 특히, 현재 영상을 직접 부호화함으로써, 장면 전환(scene change)과 같이 영상의 특성이 급격하게 변하는 경우에도 효과적으로 적용될 수 있다.
도 2는 본 발명의 실시예들에 따른 비디오 인코더를 나타내는 블록도이다.
도 2를 참조하면, 비디오 인코더(10)는 입력 버퍼(100), 인코딩 모듈(200), 제어 모듈(400) 및 버퍼 풀(500)을 포함한다. 비디오 인코더(10)는 컨텍스트(context) 버퍼(300) 및 출력 버퍼(600)를 더 포함할 수 있다.
입력 버퍼(100)는 복수의 입력 영상들(INP)을 수신하고, 복수의 입력 영상들(INP)을 하나의 영상 그룹보다 크기가 작은 서브 그룹 단위로 출력한다. 예를 들어, 복수의 입력 영상들(INP) 중 N(N은 자연수)개의 입력 영상들이 하나의 영상 그룹을 형성할 수 있고, 복수의 서브 그룹들(SG) 각각은 M(M은 N보다 작고 2 이상의 자연수)개의 입력 영상들을 포함할 수 있다.
인코딩 모듈(200)은 복수의 서브 그룹들(SG) 각각에 포함되는 상기 M개의 입력 영상들을 독립적이고 서로 다른 방식으로 복수 회 부호화하여, 각 서브 그룹에 대한 복수의 후보(candidate) 인코딩 그룹들(CG)을 발생한다. 예를 들어, 각 후보 인코딩 그룹은 상기 각 서브 그룹과 동일하게 M개의 후보 인코딩 영상들을 포함할 수 있다. 인코딩 모듈(200)의 구체적인 구조에 대해서는 도 15를 참조하여 후술하도록 한다.
일 실시예에서, 각 후보 인코딩 그룹에 포함되는 상기 M개의 후보 인코딩 영상들 각각은 인터 영상일 수 있다. 다시 말하면, 본 발명의 실시예들은 인터 영상들의 부호화에만 적용될 수 있으며, 인트라 영상들은 복수 회 부호화되지 않을 수 있다. 이하에서 인트라 영상은 다른 영상을 참조하지 않고 부호화되는 I 영상 및 IDR(instantaneous decoding refresh) 영상을 포함하는 의미로 사용될 수 있고, 인터 영상은 이전의 영상을 참조하여 부호화되는 P 영상(predictive picture) 및 이전의 영상 및 이후의 영상을 참조하여 부호화되는 B 영상(bi-directional predictive picture)을 포함하는 의미로 사용될 수 있다.
일 실시예에서, 인코딩 모듈(200)은 컨텍스트(CTX)에 기초하여 부호화 동작을 수행할 수 있다. 예를 들어, 컨텍스트(CTX)는 비디오 인코더(10)의 현재 상태에 대한 컨텍스트 값 및/또는 부호화 동작을 수행하고자 하는 현재 영상 또는 현재 서브 그룹에 대한 컨텍스트 값을 나타낼 수 있다.
컨텍스트 버퍼(300)는 컨텍스트(CTX)를 저장할 수 있다. 상기 현재 서브 그룹에 대한 부호화 동작을 수행하고 나면, 컨텍스트(CTX)는 변경 또는 업데이트될 수 있다. 따라서, 상기 현재 서브 그룹에 대한 부호화 동작을 복수 회 수행하고자 하는 경우에, 상기 현재 서브 그룹에 대한 첫 번째 부호화 동작을 수행하기 이전에 컨텍스트(CTX)를 컨텍스트 버퍼(300)에 저장할 수 있다. 인코딩 모듈(200)은 컨텍스트(CTX)에 기초하여 상기 현재 서브 그룹에 대한 첫 번째 부호화 동작을 수행할 수 있으며, 컨텍스트 버퍼(300)에 저장된 컨텍스트(CTX)를 로딩하고 로딩된 컨텍스트(CTX)에 기초하여 상기 현재 서브 그룹에 대한 두 번째 부호화 동작 및 그 이후의 부호화 동작들을 수행할 수 있다.
제어 모듈(400)은 복수의 서브 그룹들(SG) 각각에 대한 복수의 후보 인코딩 그룹들(CG)의 압축 비용들(CS) 및 압축 품질들 중 적어도 하나를 비교하여, 상기 각 서브 그룹에 대한 복수의 후보 인코딩 그룹들(CG) 중 하나를 상기 각 서브 그룹에 포함되는 상기 M개의 입력 영상들에 대한 M개의 인코딩 영상들로서 선택한다.
제어 모듈(400)은 비용/품질 연산부(cost/quality calculator, C/Q CAL)(410), 비용/품질 비교부(cost/quality comparator, C/Q COMP)(420) 및 비용/품질 정책 결정부(cost/quality policy determinator, C/Q POL)(430)를 포함할 수 있다.
비용/품질 연산부(410)는 복수의 후보 인코딩 그룹들(CG)의 압축 비용들(CS) 및 압축 품질들(QS)을 발생할 수 있다. 예를 들어, 비용/품질 연산부(410)는 상기 각 후보 인코딩 그룹에 대하여 압축 비용 및 압축 품질을 발생할 수 있다.
일 실시예에서, 상기 압축 비용은 상기 각 후보 인코딩 그룹에 포함되는 상기 M개의 후보 인코딩 영상들의 비트량을 나타낼 수 있다. 상기 압축 품질은 상기 각 후보 인코딩 그룹에 포함되는 상기 M개의 후보 인코딩 영상들에 대한 최대 신호 대 잡음비(peak signal-to-noise ratio; PSNR) 및 구조적 유사 지수(structural similarity index; SSIM) 중 적어도 하나를 나타낼 수 있다. 다른 실시예에서, 상기 압축 비용은 및 상기 압축 품질은 다양한 평가 기준들 중 적어도 하나를 포함할 수 있다.
비용/품질 정책 결정부(430)는 복수의 후보 인코딩 그룹들(CG)의 압축 비용들(CS) 및 압축 품질들(QS)을 비교하는데 사용되는 비용/품질 정책(policy)을 결정할 수 있고, 상기 비용/품질 정책에 대응하는 정책 신호(PS)를 발생할 수 있다.
일 실시예에서, 상기 비용/품질 정책은 고정되어 있을 수 있다. 예를 들어, 상기 비용/품질 정책은 비디오 인코더(10)의 제조 시에 미리 결정되어 저장될 수 있다. 다른 실시예에서, 상기 비용/품질 정책은 변경 가능할 수 있다. 예를 들어, 상기 비용/품질 정책은 사용자 설정에 의해(예를 들어, 사용자 설정 신호에 기초하여) 변경될 수도 있고, 현재 영상에 따라(예를 들어, 현재 영상에 대한 분석 결과에 기초하여) 변경될 수도 있다.
비용/품질 비교부(420)는 상기 비용/품질 정책을 기초로(예를 들어, 정책 신호(PS)를 기초로) 압축 비용들(CS)을 비교하거나, 압축 품질들(QS)을 비교하거나, 또는 압축 비용들(CS) 및 압축 품질들(QS) 모두를 비교하여, 상기 각 서브 그룹에 대한 복수의 후보 인코딩 그룹들(CG) 중 하나를 상기 각 서브 그룹에 포함되는 상기 M개의 입력 영상들에 대한 상기 M개의 인코딩 영상들로서 선택하기 위한 선택 신호들(SEL)을 발생할 수 있다.
일 실시예에서, 비용/품질 비교부(420)는 상기 각 서브 그룹에 대한 복수의 후보 인코딩 그룹들(CG) 중 비트량이 가장 적은 후보 인코딩 영상을 포함하는 후보 인코딩 그룹을 선택할 수 있다. 다른 실시예에서, 비용/품질 비교부(420)는 상기 각 서브 그룹에 대한 복수의 후보 인코딩 그룹들(CG) 중 PSNR이 가장 높거나, SSIM이 가장 큰 후보 인코딩 영상을 포함하는 후보 인코딩 그룹을 선택할 수 있다. 또 다른 실시예에서, 비용/품질 비교부(420)는 각 후보 인코딩 영상에 대한 비트량, PSNR 및 SSIM을 종합하여 점수를 매길 수 있고, 상기 각 서브 그룹에 대한 복수의 후보 인코딩 그룹들(CG) 중 점수가 가장 높은 후보 인코딩 영상을 포함하는 후보 인코딩 그룹을 선택할 수 있다.
버퍼 풀(500)은 복수의 후보 인코딩 그룹들(CG)을 저장하는 복수의 버퍼들(BUF1, ..., BUFI)(510a, ..., 510i)을 포함한다. 버퍼 풀(500)은 선택 신호들(SEL)에 기초하여 상기 각 서브 그룹에 대한 복수의 후보 인코딩 그룹들(CG) 중 하나를 선택하여 선택 인코딩 그룹들(SELG)을 출력할 수 있다.
출력 버퍼(600)는 버퍼 풀(500)의 출력을 수신하여 복수의 입력 영상들(INP)에 대응하는 복수의 인코딩 영상들(ENP)을 출력할 수 있다. 예를 들어, 도 7을 참조하여 후술하는 것처럼 출력 버퍼(600)는 상기 각 서브 그룹에 대한 각 선택 인코딩 그룹의 전부를 출력할 수도 있고, 도 10a, 10b 및 10c를 참조하여 후술하는 것처럼 출력 버퍼(600)는 상기 각 서브 그룹에 대한 각 선택 인코딩 그룹의 첫 번째 인코딩 영상의 영상 타입에 따라서 상기 각 선택 인코딩 그룹의 전부 또는 일부를 선택적으로 출력할 수도 있다.
일 실시예에서, 인코딩 모듈(200)의 부호화 동작, 버퍼 풀(500)의 저장 동작, 제어 모듈(400)의 연산, 비교 및 선택 동작, 및 출력 버퍼(600)의 출력 동작은 상기 서브 그룹 단위로 수행될 수 있다. 이에 대해서는 도 4를 참조하여 상세하게 후술하도록 한다.
도 3은 규칙적인 구조의 영상 그룹의 일 예를 나타내는 도면이다.
도 3을 참조하면, 영상 그룹은 I 영상의 할당에 의해 그 크기가 결정되며, P 영상 및/또는 B 영상의 배열에 의해서 그 구조가 결정된다. 다른 영상을 참조하여 부호화되는 인터 영상, 즉 P 영상과 B 영상의 배열에 의해 부호화되는 데이터의 비트량을 감소시킬 수 있으며, 다른 영상을 참조하지 않고 부호화되는 인트라 영상, 즉 I 영상을 간헐적으로 할당하여 영상 그룹의 크기를 제한함으로써 오류 전파(error propagation)를 방지할 수 있다.
도 3에 도시된 것처럼, 규칙적으로 I 영상을 할당하여 영상 그룹의 크기를 N으로 설정할 수 있다. 다시 말하면, 하나의 영상 그룹의 크기는 고정될 수 있다. I 영상으로 할당된 제1 영상부터 제N 영상까지가 제1 영상 그룹(GOP1)에 해당할 수 있고, 다음의 I 영상으로 할당된 제(N+1) 영상부터 제2N 영상까지가 제2 영상 그룹(GOP2)에 해당할 수 있다. 마찬가지로 제(2N+1) 영상부터 N개의 영상들이 제3 영상 그룹(GOP3)으로 설정될 수 있다.
도 3의 제1 예(CASE1)에서는 하나의 영상 그룹 내에 P 영상만이 반복될 수 있고, 제2 예(CASE2)에서는 하나의 영상 그룹 내에 B 영상과 P 영상이 교번적으로 반복될 수 있다. 제1 및 제2 예들(CASE1, CASE2)과 같이 하나의 영상 그룹이 고정 구조를 가지는 경우에, 도 8을 참조하여 후술하는 것처럼 부호화 효율이 저하될 수 있다.
한편, 도시하지는 않았지만, 하나의 영상 그룹이 고정 구조를 가지는 다양한 예들이 존재할 수 있다. 예를 들어, 하나의 영상 그룹 내에 두 개의 B 영상들과 하나의 P 영상이 교번적으로 반복(예를 들어, "B-B-P")될 수도 있고, 하나의 B 영상과 두 개의 P 영상들이 교번적으로 반복(예를 들어, "B-P-P" 또는 "P-B-P")될 수도 있으며, B 영상들과 P 영상들이 다양한 패턴으로 규칙적으로 반복될 수도 있다.
또한, 도 3에 도시된 영상 번호(PN)는 디스플레이 순서(displaying order)를 나타낼 수 있으며, 영상 그룹의 구조에 따라서 디스플레이 순서와 부호화 순서(coding order)는 동일할 수도 있고 서로 다를 수도 있다. 예를 들어, 제1 예(CASE1)에서는 디스플레이 순서와 부호화 순서가 동일할 수 있고, 제2 예(CASE2)에서는 디스플레이 순서와 부호화 순서가 서로 다를 수 있다. 제2 예(CASE2)에서, P 영상인 제3 영상은 B 영상인 제2 영상보다 먼저 부호화되고 상기 제2 영상은 먼저 부호화된 상기 제3 영상을 참조하여 부호화될 수 있다.
이하에서는 하나의 영상 그룹에 대한 부호화 동작을 중심으로 본 발명의 실시예들을 보다 상세하게 설명하도록 한다.
도 4는 본 발명의 실시예들에 따른 비디오 인코딩 방법을 나타내는 순서도이다. 도 5는 도 4의 제1 서브 그룹에 대한 후보 인코딩 그룹들을 발생하는 단계의 일 예를 나타내는 순서도이다. 도 6은 도 4의 제1 서브 그룹에 대한 인코딩 영상들을 선택하는 단계의 일 예를 나타내는 순서도이다. 도 7은 도 4의 비디오 인코딩 방법을 설명하기 위한 도면이다.
도 2, 4 및 7을 참조하면, 본 발명의 실시예들에 따른 비디오 인코딩 방법에서, 복수의 입력 영상들(INP)을 수신할 수 있고(단계 S110), 복수의 입력 영상들(INP)을 서브 그룹(SG) 단위로 출력할 수 있다(단계 S120). 예를 들어, 복수의 입력 영상들(INP)은 하나의 영상 그룹을 형성하는 N개의 입력 영상들(T1, T2, T3, T4, T5, ..., T(N-1), TN)을 포함할 수 있다.
단계 S110 및 S120은 도 1의 단계 S100에 포함될 수 있고, 입력 버퍼(100)에 의해 수행될 수 있다. 단계 S120은 인코딩 모듈(200)이 복수의 입력 영상들(INP)을 서브 그룹(SG) 단위로 로딩하는 것으로 설명될 수도 있다.
한편, 도시하지는 않았지만, 단계 S110과 단계 S120 사이에, 가장 앞에 배열되어 인트라 영상으로 할당된 입력 영상(T1)을 출력하고 입력 영상(T1)을 부호화하여 인코딩 영상(I1)을 발생하는 단계를 더 포함할 수 있다.
단계 S120 이후에, 인터 영상들로 할당된 입력 영상들(T2~TN)에 대해 본 발명의 실시예들을 적용하여, 인코딩 영상들을 서브 그룹 단위로 순차적으로 발생할 수 있다.
구체적으로, 제1 서브 그룹(SG1)에 대한 후보 인코딩 그룹들(CG1, CG2)을 독립적으로 발생할 수 있다(단계 S210). 후보 인코딩 그룹들(CG1, CG2)은 서로 다른 영상 배열 순서 또는 영상 타입 순서를 가질 수 있다. 또한, 후보 인코딩 그룹들(CG1, CG2)에 기초하여 제1 서브 그룹(SG1)에 대한 최적의 인코딩 영상들(P2, P31)을 선택할 수 있다(단계 S310). 도 7의 실시예에서, 각 서브 그룹은 두 개의 입력 영상들을 포함할 수 있고, 이에 따라 발생 가능한 영상 배열 순서, 즉 발생 가능한 후보 인코딩 그룹들의 종류는 두 가지일 수 있다.
도 2, 4, 5 및 7을 참조하면, 단계 S210을 수행하는데 있어서, 제1 서브 그룹(SG1)에 포함되는 입력 영상들(T2, T3)에 대한 제1 부호화 동작(도 7의 ①)을 수행하기 이전에, 현재 상태를 나타내는 컨텍스트(CTX)를 컨텍스트 버퍼(300)에 저장할 수 있다(단계 S211a).
컨텍스트(CTX)를 기초로 제1 서브 그룹(SG1)에 포함되는 입력 영상들(T2, T3)에 대한 상기 제1 부호화 동작을 수행하여, 제1 영상 배열 순서를 가지는 제1 후보 인코딩 그룹(CG1)을 발생할 수 있다(단계 S213a). 제1 후보 인코딩 그룹(CG1)은 입력 영상(T2)이 인코딩된 제1 후보 인코딩 영상(P2) 및 입력 영상(T3)이 인코딩된 제2 후보 인코딩 영상(P31)을 포함할 수 있다. 제1 및 제2 후보 인코딩 영상들(P2, P31)은 동일한 타입의 영상들일 수 있다. 예를 들어, 제1 및 제2 후보 인코딩 영상들(P2, P31)은 인터 영상들일 수 있으며, 모두 P 영상일 수 있다. 다시 말하면, 상기 제1 영상 배열 순서는 "P-P"일 수 있다.
제1 후보 인코딩 그룹(CG1)의 제1 압축 비용 및 제1 압축 품질을 연산할 수 있다(단계 S215a). 예를 들어, 상기 제1 압축 비용은 제1 및 제2 후보 인코딩 영상들(P2, P31)의 비트량을 나타낼 수 있고, 상기 제1 압축 품질은 제1 및 제2 후보 인코딩 영상들(P2, P31)에 대한 PSNR 및 SSIM 중 적어도 하나를 나타낼 수 있다.
단계 S213a 및 S215a 이후에, 그리고 제1 서브 그룹(SG1)에 포함되는 입력 영상들(T2, T3)에 대한 제2 부호화 동작(도 7의 ②)을 수행하기 이전에, 컨텍스트 버퍼(300)에 저장된 컨텍스트(CTX)를 로딩할 수 있다(단계 S211b).
로딩된 컨텍스트(CTX)를 기초로 제1 서브 그룹(SG1)에 포함되는 입력 영상들(T2, T3)에 대한 상기 제2 부호화 동작을 수행하여, 상기 제1 영상 배열 순서와 다른 제2 영상 배열 순서를 가지는 제2 후보 인코딩 그룹(CG2)을 발생할 수 있다(단계 S213b). 상기 제2 부호화 동작은 상기 제1 부호화 동작의 정보 없이(예를 들어, 상기 제1 부호화 동작과 관련된 통계 정보 없이) 상기 제1 부호화 동작과 독립적으로 수행될 수 있다. 제2 후보 인코딩 그룹(CG2)은 입력 영상(T2)이 인코딩된 제3 후보 인코딩 영상(B2) 및 입력 영상(T3)이 인코딩된 제4 후보 인코딩 영상(P32)을 포함할 수 있다. 제3 및 제4 후보 인코딩 영상들(B2, P32)은 서로 다른 타입의 영상들일 수 있다. 예를 들어, 제3 및 제4 후보 인코딩 영상들(B2, P32)은 인터 영상들일 수 있으며, 각각 B 영상 및 P 영상일 수 있다. 다시 말하면, 상기 제2 영상 배열 순서는 "B-P"일 수 있다.
제2 후보 인코딩 그룹(CG2)의 제2 압축 비용 및 제2 압축 품질을 연산할 수 있다(단계 S215b).
단계 S211a 및 S211b는 인코딩 모듈(200) 및 컨텍스트 버퍼(300)에 의해 수행될 수 있고, 단계 S213a 및 S213b는 인코딩 모듈(200)에 의해 수행될 수 있으며, 단계 S215a 및 S215b는 비용/품질 연산부(410)에 의해 수행될 수 있다.
도 2, 4, 6 및 7을 참조하면, 단계 S310을 수행하는데 있어서, 상기 제1 압축 비용 및 상기 제1 압축 품질 중 적어도 하나와 상기 제2 압축 비용 및 상기 제2 압축 품질 중 적어도 하나를 비교하여, 제1 및 제2 후보 인코딩 그룹들(CG1, CG2) 중 보다 우수한 후보 인코딩 그룹을 판단할 수 있다(단계 S311). 예를 들어, 도 2를 참조하여 상술한 다양한 기준들 중 적어도 하나에 기초하여 상대적으로 우수한 후보 인코딩 영상을 판단할 수 있으며, 일반적으로 비용이 적고(예를 들어, 비트량이 적고) 고품질의(예를 들어, PSNR 또는 SSIM이 높은) 인코딩 영상이 보다 낫다고 판단될 수 있다.
제1 후보 인코딩 그룹(CG1)이 제2 후보 인코딩 그룹(CG2)보다 우수하다고 판단된 경우에(단계 S311: 예), 제1 후보 인코딩 그룹(CG1)에 포함되는 제1 및 제2 후보 인코딩 영상들(P2, P31)을 입력 영상들(T2, T3)에 대한 인코딩 영상들로서 선택할 수 있다(단계 S313). 제2 후보 인코딩 그룹(CG2)이 제1 후보 인코딩 그룹(CG1)보다 우수하다고 판단된 경우에(단계 S311: 아니오), 제2 후보 인코딩 그룹(CG2)에 포함되는 제3 및 제4 후보 인코딩 영상들(B2, P32)을 입력 영상들(T2, T3)에 대한 인코딩 영상들로서 선택할 수 있다(단계 S315). 도 7의 예에서는 제1 및 제2 후보 인코딩 영상들(P2, P31)이 선택되는 것으로 도시하였다.
한편, 도시하지는 않았지만, 단계 S313 또는 S315에서 선택되지 않은 후보 인코딩 그룹은 버퍼 풀(500)에서 삭제될 수 있다.
선택된 후보 인코딩 그룹(CG1)에 포함된 모든 후보 인코딩 영상들(P2, P31)을 제1 서브 그룹(SG1)에 대한 인코딩 영상들로 출력할 수 있다(단계 S317). 다시 말하면, 제1 서브 그룹(SG1)에 대한 최적의 부호화 동작의 결과로서 인코딩 영상들(P2, P31)을 출력할 수 있다.
단계 S311, S313 및 S315는 비용/품질 비교부(420)에 의해 수행될 수 있고, 단계 S317은 버퍼 풀(500) 및 출력 버퍼(600)에 의해 수행될 수 있다.
다시 도 2, 4 및 7을 참조하면, 단계 S210 및 S310과 유사하게, 제1 서브 그룹(SG1) 이후의 제2 서브 그룹(SG2)에 대한 후보 인코딩 그룹들(CG3, CG4)을 독립적으로 발생할 수 있고(단계 S220), 후보 인코딩 그룹들(CG3, CG4)에 기초하여 제2 서브 그룹(SG2)에 대한 최적의 인코딩 영상들(B4, P52)을 선택할 수 있다(단계 S320). 마찬가지로 제K(K는 N보다 작은 자연수) 서브 그룹(SGK)에 대한 후보 인코딩 그룹들(CG(2K-1), CG2K)을 독립적으로 발생할 수 있고(단계 S230), 후보 인코딩 그룹들(CG(2K-1), CG2K)에 기초하여 제K 서브 그룹(SGK)에 대한 최적의 인코딩 영상들(B(N-1), PN2)을 선택할 수 있다(단계 S330).
단계 S220 및 S320은 각각 단계 S210과 실질적으로 동일할 수 있고, 단계 S230 및 S330은 각각 단계 S310과 실질적으로 동일할 수 있다.
구체적으로, 단계 S220을 수행하는데 있어서, 컨텍스트(CTX)를 저장할 수 있다. 컨텍스트(CTX)를 기초로 제2 서브 그룹(SG2)에 포함되는 입력 영상들(T4, T5)에 대한 제3 부호화 동작(도 7의 ③)을 수행하여, 상기 제1 영상 배열 순서를 가지고 제5 및 제6 후보 인코딩 영상들(P4, P51)을 포함하는 제3 후보 인코딩 그룹(CG3)을 발생할 수 있다. 제3 후보 인코딩 그룹(CG3)의 제3 압축 비용 및 제3 압축 품질을 연산할 수 있다. 저장된 컨텍스트(CTX)를 로딩할 수 있다. 상기 제3 부호화 동작의 정보 없이 로딩된 컨텍스트(CTX)를 기초로 입력 영상들(T4, T5)에 대한 제4 부호화 동작(도 7의 ④)을 수행하여, 상기 제2 영상 배열 순서를 가지고 제7 및 제8 후보 인코딩 영상들(B4, P52)을 포함하는 제4 후보 인코딩 그룹(CG4)을 발생할 수 있다. 제4 후보 인코딩 그룹(CG4)의 제4 압축 비용 및 제4 압축 품질을 연산할 수 있다.
단계 S320을 수행하는데 있어서, 압축 비용 및 압축 품질들 중 적어도 하나를 비교하여 제3 및 제4 후보 인코딩 그룹들(CG3, CG4) 중 보다 우수한 후보 인코딩 그룹을 선택할 수 있고, 선택된 후보 인코딩 그룹(CG4)에 포함된 모든 후보 인코딩 영상들(B4, P52)을 제2 서브 그룹(SG2)에 대한 인코딩 영상들로 출력할 수 있다.
단계 S230을 수행하는데 있어서, 컨텍스트(CTX)를 저장할 수 있고, 컨텍스트(CTX)를 기초로 제K 서브 그룹(SGK)에 포함되는 입력 영상들(T(N-1), TN)에 대한 부호화 동작(도 7의 ⑤)을 수행하여, 상기 제1 영상 배열 순서를 가지고 후보 인코딩 영상들(P(N-1), PN1)을 포함하는 후보 인코딩 그룹(CG(2K-1))을 발생할 수 있으며, 후보 인코딩 그룹(CG(2K-1))의 압축 비용 및 압축 품질을 연산할 수 있다. 저장된 컨텍스트(CTX)를 로딩할 수 있고, 상기 부호화 동작(⑤)의 정보 없이 로딩된 컨텍스트(CTX)를 기초로 입력 영상들(T(N-1), TN)에 대한 부호화 동작(도 7의 ⑥)을 수행하여, 상기 제2 영상 배열 순서를 가지고 후보 인코딩 영상들(B(N-1), PN2)을 포함하는 후보 인코딩 그룹(CG2K)을 발생할 수 있으며, 후보 인코딩 그룹(CG2K)의 압축 비용 및 압축 품질을 연산할 수 있다.
단계 S330에서, 압축 비용 및 압축 품질들 중 적어도 하나를 비교하여 후보 인코딩 그룹들(CG(2K-1), CG2K) 중 보다 우수한 후보 인코딩 그룹을 선택할 수 있고, 선택된 후보 인코딩 그룹(CG2K)에 포함된 모든 후보 인코딩 영상들(B(N-1), PN2)을 제K 서브 그룹(SGK)에 대한 인코딩 영상들로 출력할 수 있다.
단계 S210, S220 및 S230은 도 1의 단계 S200에 포함될 수 있고, 단계 S310, S320 및 S330은 도 1의 단계 S300에 포함될 수 있다.
일 실시예에서, 도 7에 도시된 것처럼, 하나의 영상 그룹이 N개의 입력 영상들을 포함하고, N개의 입력 영상들이 K개의 서브 그룹들을 포함하며, 하나의 서브 그룹이 두 개의 입력 영상들을 포함(즉, M=2)하는 경우에, N=2*K+1을 만족할 수 있다.
도 7의 예에서, 상기 제1 영상 배열 순서에 대응하는 부호화 동작들(①, ③, ⑤)은 제1 경로라고 부를 수 있고, 상기 제1 영상 배열 순서에 대응하는 부호화 동작들(②, ④, ⑥)은 제2 경로라고 부를 수 있다. 본 발명의 실시예들에서, 상기 제1 경로 상의 부호화 동작들을 모두 수행한 이후에 상기 제2 경로 상의 부호화 동작들을 수행하지 않으며, 서브 그룹 단위로 상기 제1 및 제2 경로들 상의 부호화 동작들을 수행할 수 있다. 다시 말하면, 부호화 동작의 순서는 ①, ③, ⑤, ②, ④, ⑥이 아니고 ①, ②, ③, ④, ⑤, ⑥일 수 있다. 따라서, 서브 그룹 단위로 최적의 인코딩 영상들(I1, P2, P31, B4, P52, ..., B(N-1), PN2)을 순차 제공함으로써, 부호화 성능이 향상될 수 있고, 특히 실시간 응답 및 처리를 보다 효율적으로 수행할 수 있다.
도 3의 예들(CASE1, CASE2)과 다르게, 본 발명의 실시예들에 따라 발생된 영상 그룹은 도 7에 도시된 것처럼 불규칙적인 구조를 가질 수 있다. 다시 말하면, 본 발명의 실시예들에서는 하나의 영상 그룹 내에서 인코딩 영상들(I1~PN2)의 배열(예를 들어, 인터 영상들의 배열)이 불규칙적일 수 있다. 다만, 하나의 영상 그룹의 크기는 고정될 수 있다.
한편, 도 7은 하나의 영상 그룹만을 도시하였으나, 복수의 영상 그룹들 각각에 대해서 도 7에 도시된 것처럼 부호화가 수행될 수 있으며, 이에 따라 복수의 영상 그룹들이 서로 다른 구조를 가질 수 있다. 또한, 도 7에 도시된 각 후보 인코딩 그룹 내의 후보 인코딩 영상들의 배열 및 인코딩 영상들(I1~PN2)의 배열은 디스플레이 순서를 나타낼 수 있으며, 도 3을 참조하여 상술한 것처럼 각 후보 인코딩 그룹의 구조에 따라서 디스플레이 순서와 부호화 순서는 동일할 수도 있고 서로 다를 수도 있다.
도 8은 본 발명의 실시예들에 따른 비디오 인코딩 방법을 설명하기 위한 도면이다. 도 8에서, CASE1 및 CASE2는 각각 도 3의 CASE1 및 CASE2에 대응할 수 있고, CASE3은 본 발명의 실시예들에 따라 발생된 인코딩 영상들을 나타낼 수 있다. 수평 축 및 수직 축은 각각 시간(t) 및 비트량(#)을 나타낼 수 있다.
도 8을 참조하면, 입력 영상들(T(X-2), T(X-1), TX, T(X+1))이 순차적으로 제공될 수 있으며, 제X(X는 자연수) 입력 영상(TX)에서 장면 전환이 발생될 수 있다.
제1 예(CASE1)와 같이 상기 입력 영상들을 P 영상들(P(X-2), P(X-1), PX, P(X+1))로만 부호화하는 경우에는, 제X 입력 영상(TX)에 대한 제X 인코딩 영상(PX)의 비트량이 급격하게 증가할 수 있다. 제2 예(CASE2)와 같이 상기 입력 영상들을 P 영상들(P(X-1), P(X+1)) 및 B 영상들(B(X-2), BX)로 교번적으로 부호화하는 경우에는, 제X 입력 영상(TX)에 대한 제X 인코딩 영상(BX)의 비트량이 제1 예(CASE1)보다는 감소할 수 있으나, 다른 인코딩 영상(예를 들어, B(X-2))의 비트량이 제1 예(CASE1)보다 증가할 수 있다.
제3 예(CASE3)와 같이 상기 입력 영상들을 본 발명의 실시예들에 따라 불규칙적인 구조로 부호화하는 경우에는, 현재 영상에 대한 최적의 영상 타입을 적응적으로 선택함으로써, 최적의 인코딩 영상들(P(X-2), P(X-1), BX, P(X+1))을 발생할 수 있다.
도 9는 도 4의 제1 서브 그룹에 대한 인코딩 영상들을 선택하는 단계의 다른 예를 나타내는 순서도이다. 도 10a, 10b 및 10c는 도 4의 비디오 인코딩 방법을 설명하기 위한 도면들이다.
도 2, 4, 9 및 10a를 참조하면, 단계 S110, S120 및 S210은 도 4 및 5를 참조하여 상술한 것과 실질적으로 동일하게 수행될 수 있다.
단계 S310을 수행하는데 있어서, 단계 S311, S313 및 S315는 각각 도 6의 단계 S311, S313 및 S315와 실질적으로 동일할 수 있다.
선택된 후보 인코딩 그룹(CG1)에 포함된 후보 인코딩 영상들(P2, P31) 중 첫 번째 후보 인코딩 영상의 영상 타입에 따라서, 후보 인코딩 영상들(P2, P31)의 전부 또는 일부를 제1 서브 그룹(SG1)에 대한 인코딩 영상들로 출력할 수 있다(단계 S318). 예를 들어, 도 10a에 도시된 것처럼, 선택된 후보 인코딩 그룹(CG1)의 첫 번째 후보 인코딩 영상(P2)이 P 영상인 경우에, 첫 번째 후보 인코딩 영상(P2)만을 제1 서브 그룹(SG1)에 대한 인코딩 영상으로 출력할 수 있다. 다른 예에서, 도 10b를 참조하여 후술하는 것처럼, 선택된 후보 인코딩 그룹(CG4')의 첫 번째 후보 인코딩 영상(B3)이 B 영상인 경우에, 모든 후보 인코딩 영상들(B3, P42)을 제2 서브 그룹(SG2')에 대한 인코딩 영상들로 출력할 수 있다.
도 6의 단계 S317과 유사하게, 단계 S318은 버퍼 풀(500) 및 출력 버퍼(600)에 의해 수행될 수 있다.
도 2, 4 및 10b를 참조하면, 단계 S210 및 S310과 유사하게, 제1 서브 그룹(SG1) 이후의 제2 서브 그룹(SG2')에 대한 후보 인코딩 그룹들(CG3', CG4')을 독립적으로 발생할 수 있고(단계 S220), 후보 인코딩 그룹들(CG3', CG4')에 기초하여 제2 서브 그룹(SG2')에 대한 최적의 인코딩 영상들(B3, P42)을 선택할 수 있다(단계 S320). 이 때, 이전 서브 그룹(예를 들어, SG1)에 대한 부호화 결과에 따라, 인접하는 두 개의 서브 그룹들(예를 들어, SG1, SG2')이 적어도 하나의 입력 영상(예를 들어, T3)을 공통적으로 포함할 수 있다.
구체적으로, 제1 서브 그룹(SG1)에 대한 부호화 결과 입력 영상(T2)에 대한 하나의 인코딩 영상(P2)만이 출력된 경우에, 제2 서브 그룹(SG2')은 입력 영상(T2) 이후의 두 개의 입력 영상들(T3, T4)을 포함하도록 설정될 수 있다. 다시 말하면, 도 7의 제2 서브 그룹(SG2)과 도 10b의 제2 서브 그룹(SG2')은 크기는 동일하고 시작 위치는 서로 다를 수 있다.
제2 서브 그룹(SG2')에 포함되는 입력 영상들(T3, T4)에 대한 부호화 동작들(도 10b의 ③', ④')을 순차적으로 그리고 독립적으로 수행하여, 상기 제1 영상 배열 순서를 가지고 후보 인코딩 영상들(P33, P41)을 포함하는 후보 인코딩 그룹(CG3') 및 상기 제2 영상 배열 순서를 가지고 후보 인코딩 영상들(B3, P42)을 포함하는 후보 인코딩 그룹(CG4')을 발생할 수 있다. 이 때, P33은 도 10a의 P31과 실질적으로 동일할 수 있으며, 이 경우 P33의 발생을 생략될 수도 있다.
후보 인코딩 그룹들(CG3', CG4')에 대한 압축 비용 및 압축 품질을 연산/비교하여, 보다 우수한 후보 인코딩 그룹(예를 들어, CG4')을 선택할 수 있다. 선택된 후보 인코딩 그룹(CG4')의 첫 번째 후보 인코딩 영상(B3)이 B 영상인 경우에, 모든 후보 인코딩 영상들(B3, P42)을 제2 서브 그룹(SG2')에 대한 인코딩 영상들로 출력할 수 있다.
도 10c를 참조하면, 제2 서브 그룹(SG2') 이후의 제3 서브 그룹(SG3')에 대하여 후보 인코딩 그룹들(CG5', CG6') 발생 동작 및 최적의 인코딩 영상들(P5, P61) 선택 동작을 수행할 수 있다.
제2 서브 그룹(SG2')에 대한 부호화 결과 입력 영상들(T3, T4)에 대한 두 개의 인코딩 영상들(B3, P42)이 출력된 경우에, 제3 서브 그룹(SG3')은 입력 영상(T4) 이후의 두 개의 입력 영상들(T5, T6)을 포함할 수 있다. 제2 및 제3 서브 그룹들(SG2', SG3')이 공통적으로 포함하는 입력 영상이 존재하지 않을 수 있다.
제3 서브 그룹(SG3')에 포함되는 입력 영상들(T5, T6)에 대한 부호화 동작들(도 10c의 ⑤', ⑥')을 순차적으로 그리고 독립적으로 수행하여, 상기 제1 영상 배열 순서를 가지고 후보 인코딩 영상들(P5, P61)을 포함하는 후보 인코딩 그룹(CG5') 및 상기 제2 영상 배열 순서를 가지고 후보 인코딩 영상들(B5, P62)을 포함하는 후보 인코딩 그룹(CG6')을 발생할 수 있다.
후보 인코딩 그룹들(CG5', CG6')에 대한 압축 비용 및 압축 품질을 연산/비교하여, 보다 우수한 후보 인코딩 그룹(예를 들어, CG5')을 선택할 수 있다. 선택된 후보 인코딩 그룹(CG5')의 첫 번째 후보 인코딩 영상(P5)이 P 영상인 경우에, 첫 번째 후보 인코딩 영상(P5)만을 제3 서브 그룹(SG3')에 대한 인코딩 영상으로 출력할 수 있다.
도 7의 실시예와 다르게, 도 10a, 10b 및 10c의 실시예에서는 각 서브 그룹의 시작 위치가 적응적으로 변경될 수 있으며, 따라서 부호화 성능이 더욱 향상될 수 있다. 다만, 도 10a, 10b 및 10c의 실시예에서 하나의 영상 그룹에 포함되는 서브 그룹의 개수는 도 7의 실시예보다 증가할 수 있다.
도 11은 도 4의 비디오 인코딩 방법을 설명하기 위한 도면이다.
하나의 서브 그룹이 세 개의 입력 영상들을 포함하는 것을 제외하면, 도 11의 실시예는 도 7의 실시예와 유사할 수 있다.
도 2, 4, 5 및 11을 참조하면, 단계 S110 및 S120은 도 4를 참조하여 상술한 것과 실질적으로 동일하게 수행될 수 있다.
단계 S210을 수행하는데 있어서, 제1 서브 그룹(SGA)에 포함되는 입력 영상들(T2, T3, T4)에 대한 부호화 동작들(도 11의 ⓐ, ⓑ)을 순차적으로 그리고 독립적으로 수행하여, "P-P-P"의 영상 배열 순서를 가지고 후보 인코딩 영상들(P2A, P3A, P4A)을 포함하는 제1 후보 인코딩 그룹(CGA) 및 "B-B-P"의 영상 배열 순서를 가지고 후보 인코딩 영상들(B2A, B3A, P4B)을 포함하는 제2 후보 인코딩 그룹(CGB)을 발생할 수 있다(단계 S211a, S213a, S211b, S213b). 또한, 후보 인코딩 그룹들(CGA, CGB)에 대한 압축 비용 및 압축 품질을 연산할 수 있다(단계 S215a, S215b).
단계 S310을 수행하는데 있어서, 후보 인코딩 그룹들(CGA, CGB)에 대한 압축 비용 및 압축 품질을 비교하여, 보다 우수한 후보 인코딩 그룹(예를 들어, CGB)을 선택할 수 있다.
실시예에 따라서, 제1 서브 그룹(SGA)에 대한 인코딩 영상들을 출력하는데 있어서, 도 11에 도시된 것처럼 선택된 후보 인코딩 그룹(CGB)의 모든 후보 인코딩 영상들(B2A, B3A, P4B)을 출력할 수도 있고, 도 10a, 10b 및 10c를 참조하여 상술한 것처럼 후보 인코딩 그룹(CGB)의 첫 번째 인코딩 영상(B2A)의 영상 타입에 따라서 후보 인코딩 영상들(B2A, B3A, P4B)의 전부 또는 일부를 선택적으로 출력할 수도 있다.
실시예에 따라서, 제1 서브 그룹(SGA) 이후의 각 서브 그룹에 대한 부호화 동작은 도 7을 참조하여 상술한 것처럼 수행되거나 도 10a, 10b 및 10c를 참조하여 상술한 것처럼 수행될 수 있다.
도 12는 도 4의 제1 서브 그룹에 대한 후보 인코딩 그룹들을 발생하는 단계의 다른 예를 나타내는 순서도이다. 도 13 및 14는 도 4의 비디오 인코딩 방법을 설명하기 위한 도면들이다.
도 2, 4, 12 및 13을 참조하면, 단계 S110 및 S120은 도 4를 참조하여 상술한 것과 실질적으로 동일하게 수행될 수 있고, 단계 S211a, S213a, S215a, S211b, S213b, S215b는 도 5 및 11을 참조하여 상술한 것과 실질적으로 동일하게 수행될 수 있다.
단계 S215b 이후에, 컨텍스트 버퍼(300)에 저장된 컨텍스트(CTX)를 다시 로딩할 수 있고(단계 S211c), 로딩된 컨텍스트(CTX)를 기초로 제1 서브 그룹(SGA)에 포함되는 입력 영상들(T2, T3, T4)에 대한 부호화 동작(도 13의 ⓒ)을 추가 수행하여, 제1 및 제2 후보 인코딩 그룹들(CGA, CGB)과 다른 "B-P-P"의 영상 배열 순서를 가지고 후보 인코딩 영상들(B2B, P3B, P4C)을 포함하는 제3 후보 인코딩 그룹(CGC)을 발생할 수 있으며(단계 S213c), 제3 후보 인코딩 그룹(CGC)의 압축 비용 및 압축 품질을 연산할 수 있다(단계 S215c). 부호화 동작(ⓒ)은 부호화 동작들(ⓐ, ⓑ)의 정보 없이 수행될 수 있다.
단계 S310을 수행하는데 있어서, 후보 인코딩 그룹들(CGA, CGB, CGC)에 대한 압축 비용 및 압축 품질을 비교하여, 보다 우수한 후보 인코딩 그룹(예를 들어, CGC)을 선택할 수 있다.
도 11의 실시예와 비교하였을 때, 도 13의 실시예는 부호화 동작(ⓒ)을 포함하는 제3 경로를 더 포함할 수 있다. 서브 그룹 단위로 상기 제1, 제2 및 제3 경로들 상의 부호화 동작들을 수행할 수 있으며, 서브 그룹 단위로 최적의 인코딩 영상들을 순차 제공할 수 있다.
도 2, 4 및 14를 참조하면, 단계 S110 및 S120은 도 4를 참조하여 상술한 것과 실질적으로 동일하게 수행될 수 있고, 단계 S211a, S213a, S215a, S211b, S213b, S215b, S211c, S213c, S215c는 도 12 및 13을 참조하여 상술한 것과 실질적으로 동일하게 수행될 수 있다.
단계 S215c 이후에, 컨텍스트 버퍼(300)에 저장된 컨텍스트(CTX)를 다시 로딩할 수 있고, 로딩된 컨텍스트(CTX)를 기초로 제1 서브 그룹(SGA)에 포함되는 입력 영상들(T2, T3, T4)에 대한 부호화 동작(도 14의 ⓓ)을 추가 수행하여, 제1, 제2 및 제3 후보 인코딩 그룹들(CGA, CGB, CGC)과 다른 "P-B-P"의 영상 배열 순서를 가지고 후보 인코딩 영상들(P2B, B3B, P4D)을 포함하는 제4 후보 인코딩 그룹(CGD)을 발생할 수 있으며, 제4 후보 인코딩 그룹(CGD)의 압축 비용 및 압축 품질을 연산할 수 있다. 부호화 동작(ⓓ)은 부호화 동작들(ⓐ, ⓑ, ⓒ)의 정보 없이 수행될 수 있다.
단계 S310을 수행하는데 있어서, 후보 인코딩 그룹들(CGA, CGB, CGC, CGD)에 대한 압축 비용 및 압축 품질을 비교하여, 보다 우수한 후보 인코딩 그룹(예를 들어, CGD)을 선택할 수 있다.
도 13의 실시예와 비교하였을 때, 도 14의 실시예는 부호화 동작(ⓓ)을 포함하는 제4 경로를 더 포함할 수 있다. 서브 그룹 단위로 상기 제1, 제2, 제3 및 제4 경로들 상의 부호화 동작들을 수행할 수 있으며, 서브 그룹 단위로 최적의 인코딩 영상들을 순차 제공할 수 있다.
도 13 및 14의 실시예들에서, 제1 서브 그룹(SGA) 이후의 각 서브 그룹에 대한 부호화 동작은 도 7을 참조하여 상술한 것처럼 수행되거나 도 10a, 10b 및 10c를 참조하여 상술한 것처럼 수행될 수 있다.
도 11, 13 및 14의 실시예들에서, 각 서브 그룹은 세 개의 입력 영상들을 포함할 수 있고, 이에 따라 발생 가능한 영상 배열 순서, 즉 발생 가능한 후보 인코딩 그룹들의 종류는 세 개 이상일 수 있다. 또한, 실시예에 따라서, 하나의 서브 그룹에 포함되는 영상들의 개수 및/또는 하나의 서브 그룹에 대해 발생 가능한 후보 인코딩 그룹들의 종류는 변경될 수 있다.
한편, 본 발명의 비디오 인코딩 방법 및 비디오 인코더는, 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램 코드를 포함하는 제품 등의 형태로 구현될 수도 있다. 상기 컴퓨터로 판독 가능한 프로그램 코드는 다양한 컴퓨터 또는 다른 데이터 처리 장치의 프로세서로 제공될 수 있다. 상기 컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 기록 매체일 수 있다. 상기 컴퓨터로 판독 가능한 기록 매체는 명령어 실행 시스템, 장비 또는 장치 내에 또는 이들과 접속되어 프로그램을 저장하거나 포함할 수 있는 임의의 유형적인 매체일 수 있다.
도 15는 본 발명의 실시예들에 따른 비디오 인코더에 포함되는 인코딩 모듈의 일 예를 나타내는 블록도이다.
도 15를 참조하면, 인코딩 모듈(200)은 모드 결정 블록(mode decision block, MD)(210), 압축 블록(compression block)(220), 엔트로피 인코더(entropy encoder, EC)(230), 복원 블록(reconstruction block)(240) 및 저장 블록(storage block, STG)(250)을 포함할 수 있다.
모드 결정 블록(210)은 현재 영상(TY) 및 참조 영상(REF)에 기초하여 예측 영상(PRE)을 발생할 수 있으며, 이와 함께 예측 모드, 예측 결과, 신택스 요소(syntax element), 컨텍스트 등을 포함하는 코딩 정보(INF)를 발생할 수 있다. 모드 결정 블록(210)은 움직임 벡터를 획득하는 움직임 추정부(motion estimation unit, ME)(212), 상기 움직임 벡터에 기초하여 보상 동작을 수행하는 움직임 보상부(motion compensation unit, MC)(214) 및 인트라 예측(intra prediction)을 수행하는 인트라 예측부(intra prediction unit, INTP)(216)를 포함할 수 있다. 움직임 추정부(212) 및 움직임 보상부(214)를 인터 예측부라고 부를 수 있으며, 상기 인터 예측부는 인터 예측(inter prediction)을 수행할 수 있다.
압축 블록(220)은 현재 영상(TY)을 부호화하여 인코딩 데이터(ECD)를 발생할 수 있다. 압축 블록(220)은 감산부(subtractor)(222), 변환부(transform unit, T)(224) 및 양자화부(quantization unit, Q)(226)를 포함할 수 있다. 감산부(222)는 현재 영상(TY)에서 예측 영상(PRE)을 감산하여 잔차 영상(RES)을 발생할 수 있다. 변환부(224) 및 양자화부(226)는 잔차 영상(RES)을 변환 및 양자화하여 인코딩 데이터(ECD)를 발생할 수 있다.
복원 블록(240)은 인코딩 데이터(ECD)를 복호화하여 재구성 영상(TY')을 복원할 수 있다. 복원 블록(240)은 역양자화부(inverse quantization unit)(242), 역변환부(inverse transform unit)(244) 및 가산부(adder)(246)를 포함할 수 있다. 역양자화부(242) 및 역변환부(244)는 인코딩 데이터(ECD)를 역양자화 및 역변환하여 잔차 영상(RES')를 발생할 수 있다. 가산부(246)는 예측 영상(PRE)과 잔차 영상(RES')을 가산하여 재구성 영상(TY')을 발생할 수 있다. 복원 블록(240)의 동작은 압축 블록(220)의 동작의 역에 해당할 수 있다.
엔트로피 인코더(230)는 인코딩 데이터(ECD) 및 코딩 정보(INF)를 무손실 부호화하여 인코딩 영상(EY)을 발생할 수 있다. 재구성 영상(TY')은 저장 블록(250)에 저장되어 참조 영상으로서 이용될 수 있다.
도 16은 본 발명의 실시예들에 따른 비디오 디코더를 나타내는 블록도이다.
도 16을 참조하면, 비디오 디코더(700)는 엔트로피 디코더(entropy decoder, ED)(710), 예측 블록(prediction block)(720), 복원 블록(730) 및 저장 블록(740)을 포함할 수 있다. 비디오 디코더(700)는 비디오 인코더(10)의 인코딩 모듈(200)에서 수행되는 부호화 동작의 역에 해당하는 복호화 동작을 수행할 수 있다.
엔트로피 디코더(710)는 인코딩 영상(EY)을 복호화하여 인코딩 데이터(ECD) 및 코딩 정보(INF)를 발생할 수 있다.
예측 블록(720)은 참조 영상(REF) 및 코딩 정보(INF)에 기초하여 예측 영상(PRE')을 발생할 수 있다. 예측 블록(720)은 움직임 보상부(722) 및 인트라 예측부(724)를 포함할 수 있으며, 각각 도 15의 움직임 보상부(214) 및 인트라 예측부(216)에 대응할 수 있다.
복원 블록(730)은 역양자화부(732), 역변환부(734) 및 가산부(736)를 포함할 수 있다. 복원 블록(730) 및 저장 블록(740)은 각각 도 15의 복원 블록(240) 및 저장 블록(250)과 실질적으로 동일할 수 있다. 재구성 영상(TY')은 저장 블록(740)에 저장되어 참조 영상으로서 이용될 수도 있고, 출력 영상으로서 표시 장치에 제공될 수도 있다.
실시예에 따라서, 하나의 영상은 복수의 블록(즉, 영상 블록)들로 분할될 수 있고, 도 15의 인코딩 모듈(200) 및 도 16의 비디오 디코더(700)는 영상의 블록 단위로 부호화 및 복호화를 수행할 수 있다. 예를 들어, H.264의 매크로블록(macro block), HEVC의 CU(coding unit), PU(prediction unit), TU(transform unit) 등이 하나의 영상 블록에 대응할 수 있다.
도 17은 본 발명의 실시예들에 따른 비디오 인코딩 및 디코딩 시스템을 나타내는 블록도이다.
도 17을 참조하면, 비디오 인코딩 및 디코딩 시스템(800)은 유/무선의 채널(830)을 통해 서로 통신할 수 있는 제1 장치(810) 및 제2 장치(820)를 포함할 수 있다.
제1 및 제2 장치들(810, 820)은 각각 소스(source) 장치 및 목적지(destination) 장치라고 부를 수 있다. 도시의 편의상, 비디오 인코딩 및 디코딩 시스템(800)의 동작과 관련성이 적은 제1 및 제2 장치들(810, 820)의 구성요소들은 생략하였다.
제1 장치(810)는 비디오 데이터를 제공하는 비디오 소스(812), 상기 비디오 데이터를 부호화하는 비디오 인코더(814), 및 상기 부호화된 비디오 데이터를 채널(530)을 통해 전송하는 송신부(816)를 포함할 수 있다. 비디오 인코더(814)는 본 발명의 실시예들에 따른 비디오 인코더일 수 있다. 제2 장치(820)는 상기 부호화된 비디오 데이터를 수신하는 수신부(822), 상기 부호화된 비디오 데이터를 복호화하는 비디오 디코더(824), 및 상기 복호화된 비디오 데이터에 기초하여 영상을 표시하는 표시 장치(826)를 포함할 수 있다.
한편, 본 발명의 실시예들에 따른 비디오 인코더는 비디오 디코더와 하나로 통합되어 구현될 수 있다. 상기와 같이 비디오 인코더 및 비디오 디코더가 통합되어 구현된 구성요소를 비디오 코덱(codec)이라 부를 수 있다.
도 18은 본 발명의 실시예들에 따른 전자 시스템을 나타내는 블록도이다.
도 18을 참조하면, 전자 시스템(1000)은 비디오 소스(1010) 및 비디오 코덱(1020)을 포함한다. 전자 시스템(1000)은 프로세서(1030), 통신부(connectivity)(1040), 저장 장치(1050), 입출력 장치(1060) 및 전원 공급 장치(1070)를 더 포함할 수 있다.
비디오 소스(1010)는 복수의 입력 영상들(INP)을 제공한다. 예를 들어, 비디오 소스(1010)는 촬상 장치, 저장 장치 등을 포함할 수 있다.
비디오 코덱(1020)은 본 발명의 실시예들에 따른 비디오 인코더 및 비디오 디코더를 포함할 수 있다. 상기 비디오 인코더는 복수의 입력 영상들(INP)에 대한 부호화 동작을 수행할 수 있다.
프로세서(1030)는 특정 계산들 또는 태스크들과 같은 다양한 컴퓨팅 기능들을 실행할 수 있다. 통신부(1040)는 외부 장치와 통신을 수행할 수 있고, 송신부(1042) 및 수신부(1044)를 포함할 수 있다. 저장 장치(1050)는 전자 시스템(1000)에 의해 처리되는 데이터를 저장할 수 있다. 입출력 장치(1060)는 키보드, 터치 스크린 등과 같은 입력 장치 및 디스플레이(1062) 등과 같은 출력 장치를 포함할 수 있다. 전원 공급 장치(1070)는 구동 전압을 제공할 수 있다.
본 발명은 비디오 데이터를 부호화하는 임의의 장치 및 시스템에 유용하게 이용될 수 있다. 특히 본 발명의 실시예들에 따른 비디오 인코더 및 그 제어 방법은 MPEG, H.261, H.262, H.263, H.264, HEVC 등의 표준에 따르는 임의의 장치 및 시스템에 적용될 수 있으며, CATV(Cable TV on optical networks, copper, etc.), DBS(Direct broadcast satellite video services), DSL(Digital subscriber line video services), DTTB(Digital terrestrial television broadcasting), ISM(Interactive storage media (optical disks, etc.)), MMM(Multimedia mailing), MSPN(Multimedia services over packet networks), RTC(Real-time conversational services (video conferencing, videophone, etc.)),RVS(Remote video surveillance), SSM(Serial storage media (digital VTR, etc.)) 등의 기술분야에서 유용하게 이용될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (20)

  1. 복수의 입력 영상들을 하나의 영상 그룹(group of pictures; GOP)보다 크기가 작은 서브 그룹 단위로 제공하는 단계;
    각 서브 그룹에 포함되는 입력 영상들을 독립적이고 서로 다른 방식으로 복수 회 부호화하여, 상기 각 서브 그룹에 대한 복수의 후보 인코딩 그룹들을 발생하는 단계; 및
    상기 각 서브 그룹에 대한 상기 복수의 후보 인코딩 그룹들의 압축 비용(coding cost) 및 압축 품질(coding quality) 중 적어도 하나를 비교하여, 상기 각 서브 그룹에 대한 상기 복수의 후보 인코딩 그룹들 중 하나를 상기 각 서브 그룹에 포함되는 상기 입력 영상들에 대한 인코딩 영상들로서 선택하는 단계를 포함하는 비디오 인코딩 방법.
  2. 제 1 항에 있어서, 상기 복수의 후보 인코딩 그룹들을 발생하는 단계는,
    제1 서브 그룹에 포함되는 제1 및 제2 입력 영상들에 대한 제1 부호화 동작을 수행하여, 제1 영상 배열 순서를 가지고 제1 및 제2 후보 인코딩 영상들을 포함하는 제1 후보 인코딩 그룹을 발생하는 단계; 및
    상기 제1 부호화 동작의 정보 없이 상기 제1 및 제2 입력 영상들에 대한 제2 부호화 동작을 수행하여, 상기 제1 영상 배열 순서와 다른 제2 영상 배열 순서를 가지고 제3 및 제4 후보 인코딩 영상들을 포함하는 제2 후보 인코딩 그룹을 발생하는 단계를 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  3. 제 2 항에 있어서, 상기 복수의 후보 인코딩 그룹들을 발생하는 단계는,
    상기 제1 부호화 동작을 수행하기 이전에 컨텍스트(context)를 저장하는 단계를 더 포함하고,
    상기 컨텍스트에 기초하여 상기 제1 부호화 동작이 수행되며,
    상기 저장된 컨텍스트를 로딩하고 상기 로딩된 컨텍스트에 기초하여 상기 제2 부호화 동작이 수행되는 것을 특징으로 하는 비디오 인코딩 방법.
  4. 제 2 항에 있어서, 상기 복수의 후보 인코딩 그룹들을 발생하는 단계는,
    상기 제1 후보 인코딩 그룹의 제1 압축 비용 및 제1 압축 품질을 연산하는 단계; 및
    상기 제2 후보 인코딩 그룹의 제2 압축 비용 및 제2 압축 품질을 연산하는 단계를 더 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  5. 제 2 항에 있어서, 상기 복수의 후보 인코딩 그룹들 중 하나를 상기 인코딩 영상들로서 선택하는 단계는,
    상기 제1 후보 인코딩 그룹의 제1 압축 비용 및 제1 압축 품질 중 적어도 하나와 상기 제2 후보 인코딩 그룹의 제2 압축 비용 및 제2 압축 품질 중 적어도 하나를 비교하는 단계; 및
    상기 비교 결과에 기초하여, 상기 제1 및 제2 후보 인코딩 영상들 또는 상기 제3 및 제4 후보 인코딩 영상들을 상기 제1 및 제2 입력 영상들에 대한 제1 및 제2 인코딩 영상들로서 선택하는 단계를 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  6. 제 5 항에 있어서,
    상기 제1 압축 비용은 상기 제1 및 제2 후보 인코딩 영상들의 비트량을 나타내고, 상기 제1 압축 품질은 상기 제1 및 제2 후보 인코딩 영상들에 대한 최대 신호 대 잡음비(peak signal-to-noise ratio; PSNR) 및 구조적 유사 지수(structural similarity index; SSIM) 중 적어도 하나를 나타내는 것을 특징으로 하는 비디오 인코딩 방법.
  7. 제 5 항에 있어서, 상기 복수의 후보 인코딩 그룹들 중 하나를 상기 인코딩 영상들로서 선택하는 단계는,
    상기 제1 및 제2 인코딩 영상들을 출력하는 단계를 더 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  8. 제 7 항에 있어서, 상기 복수의 후보 인코딩 그룹들을 발생하는 단계는,
    상기 제1 서브 그룹 이후의 제2 서브 그룹에 포함되는 제3 및 제4 입력 영상들에 대한 제3 부호화 동작을 수행하여, 상기 제1 영상 배열 순서를 가지고 제5 및 제6 후보 인코딩 영상들을 포함하는 제3 후보 인코딩 그룹을 발생하는 단계; 및
    상기 제3 부호화 동작의 정보 없이 상기 제3 및 제4 입력 영상들에 대한 제4 부호화 동작을 수행하여, 상기 제2 영상 배열 순서를 가지고 제7 및 제8 후보 인코딩 영상들을 포함하는 제4 후보 인코딩 그룹을 발생하는 단계를 더 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  9. 제 5 항에 있어서, 상기 복수의 후보 인코딩 그룹들 중 하나를 상기 인코딩 영상들로서 선택하는 단계는,
    상기 선택된 제1 인코딩 영상의 영상 타입에 따라서, 상기 제1 및 제2 인코딩 영상들을 모두 출력하거나 상기 제1 인코딩 영상만을 출력하는 단계를 더 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  10. 제 9 항에 있어서, 상기 제1 인코딩 영상만 출력되는 경우에, 상기 제1 서브 그룹과 상기 제1 서브 그룹 이후의 제2 서브 그룹은 상기 제2 입력 영상을 공통적으로 포함하며,
    상기 복수의 후보 인코딩 그룹들을 발생하는 단계는,
    상기 제2 서브 그룹에 포함되는 상기 제2 입력 영상 및 제3 입력 영상에 대한 제3 부호화 동작을 수행하여, 상기 제1 영상 배열 순서를 가지고 제5 및 제6 후보 인코딩 영상들을 포함하는 제3 후보 인코딩 그룹을 발생하는 단계; 및
    상기 제3 부호화 동작의 정보 없이 상기 제2 및 제3 입력 영상들에 대한 제4 부호화 동작을 수행하여, 상기 제2 영상 배열 순서를 가지고 제7 및 제8 후보 인코딩 영상들을 포함하는 제4 후보 인코딩 그룹을 발생하는 단계를 더 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  11. 제 2 항에 있어서,
    상기 제1, 제2, 제3 및 제4 후보 인코딩 영상들 각각은 다른 영상을 참조하여 부호화되는 인터 영상(inter picture)인 것을 특징으로 하는 비디오 인코딩 방법.
  12. 제 11 항에 있어서,
    상기 제1 및 제2 후보 인코딩 영상들은 동일한 타입의 영상들이고,
    상기 제3 및 제4 후보 인코딩 영상들은 서로 다른 타입의 영상들인 것을 특징으로 하는 비디오 인코딩 방법.
  13. 제 1 항에 있어서, 상기 복수의 후보 인코딩 그룹들을 발생하는 단계는,
    제1 서브 그룹에 포함되는 제1, 제2 및 제3 입력 영상들에 대한 제1 부호화 동작을 수행하여, 제1 영상 배열 순서를 가지고 제1, 제2 및 제3 후보 인코딩 영상들을 포함하는 제1 후보 인코딩 그룹을 발생하는 단계; 및
    상기 제1 부호화 동작의 정보 없이 상기 제1, 제2 및 제3 입력 영상들에 대한 제2 부호화 동작을 수행하여, 상기 제1 영상 배열 순서와 다른 제2 영상 배열 순서를 가지고 제4, 제5 및 제6 후보 인코딩 영상들을 포함하는 제2 후보 인코딩 그룹을 발생하는 단계를 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  14. 제 13 항에 있어서, 상기 복수의 후보 인코딩 그룹들을 발생하는 단계는,
    상기 제1 및 제2 부호화 동작들의 정보 없이 상기 제1, 제2 및 제3 입력 영상들에 대한 제3 부호화 동작을 수행하여, 상기 제1 및 제2 영상 배열 순서들과 다른 제3 영상 배열 순서를 가지고 제7, 제8 및 제9 후보 인코딩 영상들을 포함하는 제3 후보 인코딩 그룹을 발생하는 단계를 더 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  15. 제 1 항에 있어서,
    상기 하나의 영상 그룹은 다른 영상을 참조하지 않고 부호화되는 인트라 영상(intra picture)들 및 다른 영상을 참조하여 부호화되는 인터 영상들의 할당에 의해 결정되며,
    상기 하나의 영상 그룹 내에서 상기 인터 영상들의 배열은 불규칙적인 것을 특징으로 하는 비디오 인코딩 방법.
  16. 복수의 입력 영상들을 수신하고, 상기 복수의 입력 영상들을 하나의 영상 그룹(group of pictures; GOP)보다 크기가 작은 서브 그룹 단위로 출력하는 입력 버퍼;
    각 서브 그룹에 포함되는 입력 영상들을 독립적이고 서로 다른 방식으로 복수 회 부호화하여, 상기 각 서브 그룹에 대한 복수의 후보 인코딩 그룹들을 발생하는 인코딩 모듈;
    상기 복수의 후보 인코딩 그룹들을 저장하는 복수의 버퍼들을 포함하는 버퍼 풀(pool); 및
    상기 각 서브 그룹에 대한 상기 복수의 후보 인코딩 그룹들의 압축 비용(coding cost) 및 압축 품질(coding quality) 중 적어도 하나를 비교하여, 상기 각 서브 그룹에 대한 상기 복수의 후보 인코딩 그룹들 중 하나를 상기 각 서브 그룹에 포함되는 상기 입력 영상들에 대한 인코딩 영상들로서 선택하는 제어 모듈을 포함하는 비디오 인코더.
  17. 제 16 항에 있어서, 상기 인코딩 모듈은,
    제1 서브 그룹에 포함되는 제1 및 제2 입력 영상들에 대한 제1 부호화 동작을 수행하여, 제1 영상 배열 순서를 가지고 제1 및 제2 후보 인코딩 영상들을 포함하는 제1 후보 인코딩 그룹을 발생하고,
    상기 제1 부호화 동작의 정보 없이 상기 제1 및 제2 입력 영상들에 대한 제2 부호화 동작을 수행하여, 상기 제1 영상 배열 순서와 다른 제2 영상 배열 순서를 가지고 제3 및 제4 후보 인코딩 영상들을 포함하는 제2 후보 인코딩 그룹을 발생하는 것을 특징으로 하는 비디오 인코더.
  18. 제 17 항에 있어서,
    상기 제1 부호화 동작을 수행하기 이전에 컨텍스트(context)를 저장하는 컨텍스트 버퍼를 더 포함하고,
    상기 인코딩 모듈은 상기 컨텍스트에 기초하여 상기 제1 부호화 동작을 수행하며, 상기 컨텍스트 버퍼에 저장된 상기 컨텍스트를 로딩하고 상기 로딩된 컨텍스트에 기초하여 상기 제2 부호화 동작을 수행하는 것을 특징으로 하는 비디오 인코더.
  19. 제 17 항에 있어서, 상기 제어 모듈은,
    상기 제1 후보 인코딩 그룹의 제1 압축 비용 및 제1 압축 품질을 연산하고, 상기 제2 후보 인코딩 그룹의 제2 압축 비용 및 제2 압축 품질을 연산하는 비용/품질 연산부;
    상기 제1 압축 비용 및 상기 제1 압축 품질과 상기 제2 압축 비용 및 상기 제2 압축 품질을 비교하는데 사용되는 비용/품질 정책(policy)을 결정하는 비용/품질 정책 결정부; 및
    상기 비용/품질 정책을 기초로 상기 제1 압축 비용 및 상기 제1 압축 품질 중 적어도 하나와 상기 제2 압축 비용 및 상기 제2 압축 품질 중 적어도 하나를 비교하여, 상기 제1 및 제2 후보 인코딩 영상들 또는 상기 제3 및 제4 후보 인코딩 영상들을 상기 제1 및 제2 입력 영상들에 대한 제1 및 제2 인코딩 영상들로서 선택하는 비용/품질 비교부를 포함하는 것을 특징으로 하는 비디오 인코더.
  20. 복수의 입력 영상들을 제공하는 비디오 소스; 및
    상기 복수의 입력 영상들에 대한 부호화 동작을 수행하는 비디오 인코더를 포함하고,
    상기 비디오 인코더는,
    상기 복수의 입력 영상들을 수신하고, 상기 복수의 입력 영상들을 하나의 영상 그룹(group of pictures; GOP)보다 크기가 작은 서브 그룹 단위로 출력하는 입력 버퍼;
    각 서브 그룹에 포함되는 입력 영상들을 독립적이고 서로 다른 방식으로 복수 회 부호화하여, 상기 각 서브 그룹에 대한 복수의 후보 인코딩 그룹들을 발생하는 인코딩 모듈;
    상기 복수의 후보 인코딩 그룹들을 저장하는 복수의 버퍼들을 포함하는 버퍼 풀(pool); 및
    상기 각 서브 그룹에 대한 상기 복수의 후보 인코딩 그룹들의 압축 비용(coding cost) 및 압축 품질(coding quality) 중 적어도 하나를 비교하여, 상기 각 서브 그룹에 대한 상기 복수의 후보 인코딩 그룹들 중 하나를 상기 각 서브 그룹에 포함되는 상기 입력 영상들에 대한 인코딩 영상들로서 선택하는 제어 모듈을 포함하는 전자 시스템.
KR1020160180916A 2016-12-28 2016-12-28 비디오 인코딩 방법, 이를 수행하는 비디오 인코더 및 이를 포함하는 전자 시스템 KR20180076591A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160180916A KR20180076591A (ko) 2016-12-28 2016-12-28 비디오 인코딩 방법, 이를 수행하는 비디오 인코더 및 이를 포함하는 전자 시스템
US15/691,054 US10313669B2 (en) 2016-12-28 2017-08-30 Video data encoding and video encoder configured to perform the same
CN201711360590.9A CN108259902B (zh) 2016-12-28 2017-12-15 视频数据编码和被配置为执行视频数据编码的视频编码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160180916A KR20180076591A (ko) 2016-12-28 2016-12-28 비디오 인코딩 방법, 이를 수행하는 비디오 인코더 및 이를 포함하는 전자 시스템

Publications (1)

Publication Number Publication Date
KR20180076591A true KR20180076591A (ko) 2018-07-06

Family

ID=62630373

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160180916A KR20180076591A (ko) 2016-12-28 2016-12-28 비디오 인코딩 방법, 이를 수행하는 비디오 인코더 및 이를 포함하는 전자 시스템

Country Status (3)

Country Link
US (1) US10313669B2 (ko)
KR (1) KR20180076591A (ko)
CN (1) CN108259902B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110139109B (zh) * 2018-02-08 2023-01-10 北京三星通信技术研究有限公司 图像的编码方法及相应终端
CN112291559B (zh) * 2020-10-30 2023-10-31 北京百度网讯科技有限公司 视频编码方法、装置、设备和介质
CN112291560B (zh) * 2020-10-30 2024-05-07 北京百度网讯科技有限公司 视频编码方法、装置、设备和介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3815665B2 (ja) 2000-12-27 2006-08-30 Kddi株式会社 可変ビットレート動画像符号化装置および記録媒体
US6804301B2 (en) 2001-08-15 2004-10-12 General Instrument Corporation First pass encoding of I and P-frame complexity for compressed digital video
JP2003250152A (ja) 2002-02-25 2003-09-05 Sony Corp 画像処理装置および方法、記録媒体、並びにプログラム
KR20060045797A (ko) * 2004-11-01 2006-05-17 한국전자통신연구원 계층적 b 픽쳐를 이용한 동영상 부호화시에 gop를적응적으로 세분하기 위한 방법 및 장치
US7565596B2 (en) 2005-09-09 2009-07-21 Searete Llc Data recovery systems
US8948260B2 (en) 2005-10-17 2015-02-03 Qualcomm Incorporated Adaptive GOP structure in video streaming
US9602840B2 (en) * 2006-02-06 2017-03-21 Thomson Licensing Method and apparatus for adaptive group of pictures (GOP) structure selection
JP4892450B2 (ja) 2007-10-17 2012-03-07 パナソニック株式会社 画像符号化装置および画像符号化方法
JP4676513B2 (ja) 2008-06-05 2011-04-27 日本電信電話株式会社 符号化ピクチャタイプ決定方法,装置,そのプログラムおよびその記録媒体
JP2010206593A (ja) * 2009-03-04 2010-09-16 Sony Corp 画像処理装置、画像処理方法、及びプログラム
US9307235B2 (en) 2012-12-03 2016-04-05 Vixs Systems, Inc. Video encoding system with adaptive hierarchical B-frames and method for use therewith
FR3026592B1 (fr) * 2014-09-30 2016-12-09 Inst Mines Telecom Procede de transcodage de donnees video a fusion d'unites de codage, programme informatique, module de transcodage et equipement de telecommunications associes
US10063866B2 (en) * 2015-01-07 2018-08-28 Texas Instruments Incorporated Multi-pass video encoding
CN105306934A (zh) * 2015-11-10 2016-02-03 深圳市云宙多媒体技术有限公司 一种低复杂度片源的编码方法及系统

Also Published As

Publication number Publication date
CN108259902B (zh) 2022-07-05
US10313669B2 (en) 2019-06-04
US20180184084A1 (en) 2018-06-28
CN108259902A (zh) 2018-07-06

Similar Documents

Publication Publication Date Title
KR102712842B1 (ko) 인코더, 디코더 및 해당 방법
CN112153390B (zh) 视频解码方法、装置、计算机设备和存储介质
US8045616B2 (en) Image coding device, image coding method, image decoding device, image decoding method and communication apparatus
US11924457B2 (en) Method and apparatus for affine based inter prediction of chroma subblocks
US8948243B2 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
US11877004B2 (en) Constraining motion vectors of groups of blocks
KR100952892B1 (ko) 비디오 데이타의 인트라코딩 방법 및 장치
US11563965B2 (en) Method and apparatus for color transform in VVC
CN112673633B (zh) 合并模式的编码器、解码器及对应方法
CN110944202A (zh) 视频编解码方法、装置、计算机设备和存储介质
US20130003843A1 (en) Motion Prediction Method
CN112291571A (zh) 视频解码方法及装置以及计算机设备和存储介质
KR102707051B1 (ko) 광학 흐름 정제를 위한 조기 종료
KR20210088693A (ko) 임의의 ctu 크기에 대한 ibc 검색 범위 최적화를 사용하는 인코더, 디코더 및 대응하는 방법
US11863774B2 (en) Method and apparatus for video coding
US20220007051A1 (en) Optical flow based video inter prediction
JP5560009B2 (ja) 動画像符号化装置
CN113660497A (zh) 编码器、解码器和使用ibc合并列表的对应方法
CN108259902B (zh) 视频数据编码和被配置为执行视频数据编码的视频编码器
US20240195983A1 (en) Mmvd signaling improvement
KR20240073928A (ko) 복합 참조 모드를 위한 양방향 매칭
US20220038689A1 (en) Method and apparatus for division-free intra-prediction
WO2012044118A2 (ko) 오차 보상을 이용한 영상 부호화/복호화 방법 및 장치
US20130215966A1 (en) Image encoding method, image decoding method, image encoding device, image decoding device
CN116325735A (zh) 用于针对参考帧进行自适应重新排序的方法和装置

Legal Events

Date Code Title Description
A201 Request for examination