KR101854066B1 - 비디오 인코딩 및 디코딩을 위한 방법 및 기술 장비 - Google Patents

비디오 인코딩 및 디코딩을 위한 방법 및 기술 장비 Download PDF

Info

Publication number
KR101854066B1
KR101854066B1 KR1020167028718A KR20167028718A KR101854066B1 KR 101854066 B1 KR101854066 B1 KR 101854066B1 KR 1020167028718 A KR1020167028718 A KR 1020167028718A KR 20167028718 A KR20167028718 A KR 20167028718A KR 101854066 B1 KR101854066 B1 KR 101854066B1
Authority
KR
South Korea
Prior art keywords
palette
coding unit
color
long
term
Prior art date
Application number
KR1020167028718A
Other languages
English (en)
Other versions
KR20160134777A (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 노키아 테크놀로지스 오와이
Publication of KR20160134777A publication Critical patent/KR20160134777A/ko
Application granted granted Critical
Publication of KR101854066B1 publication Critical patent/KR101854066B1/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image 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/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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/186Methods 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 colour or a chrominance component
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

비디오 인코딩/디코딩을 위한 다양한 방법, 장치 및 컴퓨터 프로그램 제품이 개시된다. 일부 실시예에서, 방법은 롱텀 팔레트 정보를 시그널링하는 단계와 - 롱텀 팔레트 정보는 적어도 롱텀 팔레트 정보 내의 각각의 엔트리에 대한 컬러 값에 대한 정보를 포함함 -, 롱텀 팔레트로부터 적어도 하나의 컬러 값을 선택함으로써 또는 적어도 하나의 컬러 값을 개별적으로 시그널링함으로써 또는 이들 양자를 수행함으로써 코딩 유닛을 코딩하는 데 사용되는 팔레트를 생성하는 단계를 포함한다. 대안으로서, 방법은 인코딩 프로세스 또는 디코딩 프로세스 동안 롱텀 팔레트를 구성하고, 코딩 유닛을 코딩한 후에 롱텀 팔레트를 동적으로 갱신하는 단계와, 롱텀 팔레트로부터의 정보를 이용하여 코딩 유닛을 인코딩 또는 디코딩하는 데 사용되는 팔레트를 구성하는 단계를 포함한다.

Description

비디오 인코딩 및 디코딩을 위한 방법 및 기술 장비{METHOD AND TECHNICAL EQUIPMENT FOR VIDEO ENCODING AND DECODING}
본 출원은 일반적으로 디지털 요소의 코딩 및 디코딩에 관한 것이다. 특히, 본 출원은 확장 가능한 고충실도 코딩에 관한 것이다.
이 섹션은 청구항에 기재된 본 발명에 대한 배경 또는 상황을 제공하도록 의도된다. 여기서의 설명은 추구될 수 있는 개념을 포함할 수 있지만, 반드시 이전에 상상 또는 추구되었던 것은 아니다. 따라서, 여기서 달리 지시되지 않는 한, 이 섹션에서 설명되는 것은 본 출원 내의 설명 및 청구항에 대한 종래 기술이 아니며, 이 섹션 내의 포함에 의해 종래 기술인 것으로 인정되지 않는다.
비디오 코딩 시스템은 입력 비디오를 저장/송신에 적합한 압축 표현으로 변환하는 인코더 및 압축 비디오 표현을 다시 시청 가능한 형태로 압축 해제할 수 있는 디코더를 포함할 수 있다. 인코더는 원래의 비디오 시퀀스 내의 소정 정보를 폐기하여 비디오를 더 간결한 형태로 표현함으로써, 예로서 그렇지 않을 경우에 요구될 수 있는 것보다 낮은 비트레이트에서의 비디오 정보의 저장/송신을 가능하게 할 수 있다.
일부 실시예는 비디오 정보를 인코딩 및 디코딩하기 위한 방법, 장치, 컴퓨터 프로그램 제품, 컴퓨터 판독 가능 매체를 제공한다.
본 발명의 예의 다양한 양태가 상세한 설명에서 제공된다.
제1 양태에 따르면, 롱텀 팔레트 정보를 시그널링하는 단계 - 롱텀 팔레트 정보는 적어도 롱텀 팔레트 내의 각각의 엔트리에 대한 컬러 값에 대한 정보를 포함함 -; 및 로컬 팔레트로부터 적어도 하나의 컬러 값을 그리고 롱텀 팔레트로부터 적어도 하나의 컬러 값을 선택하거나; 로컬 팔레트 또는 롱텀 팔레트로부터 컬러 값을 선택함으로써 코딩 유닛을 코딩하는 데 사용되는 팔레트를 생성하는 단계를 포함하는 방법이 제공된다.
제2 양태에 따르면, 적어도 하나의 프로세서; 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치로서, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서와 함께 장치가 적어도: 롱텀 팔레트 정보를 시그널링하는 단계 - 롱텀 팔레트 정보는 적어도 롱텀 팔레트 내의 각각의 엔트리에 대한 컬러 값에 대한 정보를 포함함 -; 및 로컬 팔레트로부터 적어도 하나의 컬러 값을 그리고 롱텀 팔레트로부터 적어도 하나의 컬러 값을 선택하거나; 로컬 팔레트 또는 롱텀 팔레트로부터 컬러 값을 선택함으로써 코딩 유닛을 코딩하는 데 사용되는 팔레트를 생성하는 단계를 수행하게 하도록 구성되는 장치가 제공된다.
제3 양태에 따르면, 처리를 위한 수단; 롱텀 팔레트 정보를 시그널링하기 위한 수단 - 롱텀 팔레트 정보는 적어도 롱텀 팔레트 내의 각각의 엔트리에 대한 컬러 값에 대한 정보를 포함함 -; 로컬 팔레트로부터 적어도 하나의 컬러 값을 그리고 롱텀 팔레트로부터 적어도 하나의 컬러 값을 선택하거나; 로컬 팔레트 또는 롱텀 팔레트로부터 컬러 값을 선택함으로써 코딩 유닛을 코딩하는 데 사용되는 팔레트를 생성하기 위한 수단을 포함하는 장치가 제공된다.
제4 양태에 따르면, 컴퓨터와 함께 사용하기 위해 내부에 구현된 컴퓨터 프로그램 코드를 보유하는 컴퓨터 판독 가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 코드는 롱텀 팔레트 정보를 시그널링하기 위한 코드 - 롱텀 팔레트 정보는 적어도 롱텀 팔레트 내의 각각의 엔트리에 대한 컬러 값에 대한 정보를 포함함 -; 및 로컬 팔레트로부터 적어도 하나의 컬러 값을 그리고 롱텀 팔레트로부터 적어도 하나의 컬러 값을 선택하거나; 로컬 팔레트 또는 롱텀 팔레트로부터 컬러 값을 선택함으로써 코딩 유닛을 코딩하는 데 사용되는 팔레트를 생성하기 위한 코드를 포함하는 컴퓨터 프로그램 제품이 제공된다.
제5 양태에 따르면, 컴퓨터에 의해 실행될 때, 롱텀 팔레트 정보를 시그널링하는 단계 - 롱텀 팔레트 정보는 적어도 롱텀 팔레트 내의 각각의 엔트리에 대한 컬러 값에 대한 정보를 포함함 -; 및 로컬 팔레트로부터 적어도 하나의 컬러 값을 그리고 롱텀 팔레트로부터 적어도 하나의 컬러 값을 선택하거나; 로컬 팔레트 또는 롱텀 팔레트로부터 컬러 값을 선택함으로써 코딩 유닛을 코딩하는 데 사용되는 팔레트를 생성하는 단계를 수행하는 명령어가 인코딩된 비일시적 컴퓨터 판독 가능 매체가 제공된다.
일 실시예에 따르면, 로컬 팔레트는 다른 코딩 유닛에 사용되는 팔레트 또는 다른 코딩 유닛에 사용되는 팔레트의 조합 또는 그러한 팔레트의 서브세트를 지칭한다.
일 실시예에 따르면, 롱텀 팔레트 정보는 롱텀 팔레트 내에 존재하는 컬러의 수에 대한 정보를 더 포함한다.
일 실시예에 따르면, 방법은 팔레트 모드에서 압축된 코딩 유닛을 디코딩하는 단계를 포함하고, 디코딩하는 단계는 롱텀 팔레트가 시그널링되는지의 여부에 대한 슬라이스 헤더에서의 지시를 디코딩하는 단계; 롱텀 팔레트가 시그널링되는 경우, 각각의 롱텀 팔레트 엔트리에 대한 컬러 정보에 대한 정보를 디코딩하는 단계; 롱텀 팔레트가 사용되는 경우, 팔레트 모드에서 코딩된 코딩 유닛에 대한 팔레트 인덱스를 디코딩하는 단계 - 적어도 하나의 팔레트 인덱스는 롱텀 팔레트 내의 컬러 값을 지칭함 -를 포함한다.
일 실시예에 따르면, 방법은 다음의 레벨: 슬라이스 헤더, 픽처 파라미터 세트, 적응 파라미터 세트 중 하나에서 롱텀 팔레트 정보를 시그널링하는 단계를 포함한다.
일 실시예에 따르면, 방법은 롱텀 팔레트의 세트를 시퀀스 레벨 신택스 구조 내에서 시그널링하는 단계를 포함한다.
일 실시예에 따르면, 방법은 롱텀 팔레트의 일부 엔트리를 더 일찍 시그널링된 롱텀 팔레트 사이에서 공유하는 단계를 포함한다.
일 실시예에 따르면, 롱텀 팔레트의 크기는 고정되거나 적응적이다.
일 실시예에 따르면, 방법은 롱텀 팔레트의 존재를 항상 또는 조건부로 시그널링하는 단계를 포함한다.
일 실시예에 따르면, 방법은 코딩 유닛 레벨에서 시그널링되는 롱텀 팔레트 인덱스의 이진화를 더 시그널링하는 단계를 포함한다.
일 실시예에 따르면, 코딩 유닛에 사용되는 팔레트는 롱텀 팔레트와 코딩 유닛 레벨에서 시그널링되는 팔레트의 조합이다.
일 실시예에 따르면, 코딩 유닛에 사용되는 팔레트는 다른 코딩 유닛을 위한 디코딩된 팔레트, 롱텀 팔레트 또는 명확히 시그널링된 엔트리 중 하나 이상으로부터의 엔트리를 포함한다.
일 실시예에 따르면, 각각의 컬러 성분은 개별 롱텀 팔레트를 갖는다.
일 실시예에 따르면, 컬러 성분은 공동 롱텀 팔레트를 갖는다.
일 실시예에 따르면, 컬러 성분은 휘도, 색도, 컬러, 심도, 불일치 또는 다른 공간 정보를 나타낸다.
일 실시예에 따르면, 방법은 각각의 컬러 성분에 대해 개별적으로 팔레트 엔트리의 (디)코딩을 위한 롱텀 팔레트 사용의 지시를 시그널링하는 단계를 포함한다.
일 실시예에 따르면, 방법은 소정의 코딩 유닛에 대한 팔레트의 어느 엔트리가 롱텀 팔레트로부터 복사되는지, 어느 엔트리가 이전에 디코딩된 코딩 유닛에 사용된 팔레트로부터 복사되는지 그리고 얼마나 많은 엔트리가 명시적으로 시그널링되는지를 시그널링하는 단계를 포함한다.
일 실시예에 따르면, 방법은 각각의 코딩 유닛에 사용된 롱텀 팔레트를 동적으로 변경하는 단계를 포함한다.
일 실시예에 따르면, 방법은 인코더에 의해 시그널링될 롱텀 팔레트를 도출하는 단계를 포함한다.
일 실시예에 따르면, 방법은 (디)코딩 순서에서의 하나 이상의 이전 픽처 내의 통상의 그리고/또는 롱텀 팔레트(들)의 사용된 팔레트 엔트리에 기초하여 롱텀 팔레트를 도출하는 단계를 포함한다.
일 실시예에 따르면, 방법은 이전에 코딩된 코딩 유닛으로부터 예측되는 게 아니라 (디)코딩 순서에서의 하나 이상의 이전 픽처 내의 각각의 코딩 유닛의 코딩 동안 명확히 시그널링된 팔레트 엔트리에 기초하여 롱텀 팔레트를 도출하는 단계를 포함한다.
일 실시예에 따르면, 방법은 인코딩을 위한 소스 콘텐츠가 어떻게 생성되었는지에 대한 정보를 이용하여 롱텀 팔레트를 도출하는 단계를 포함한다.
일 실시예에 따르면, 방법은 최초 롱텀 팔레트를 도출한 후에 현재 픽처의 하나 이상의 코딩 유닛의 통상의 팔레트(들) 내에 포함된 팔레트 엔트리를 배제하는 단계를 포함한다.
제6 양태에 따르면, 방법은 인코딩 프로세스 또는 디코딩 프로세스 동안 롱텀 팔레트를 구성하고, 코딩 유닛을 코딩한 후에 롱텀 팔레트를 동적으로 갱신하는 단계; 및 다음 중 하나로부터의: 로컬 또는 이웃 팔레트로부터의, 롱텀 팔레트로부터의 또는 개별적으로 시그널링된 바와 같은 정보를 이용하여 코딩 유닛을 코딩하는 데 사용되는 팔레트를 구성하는 단계를 포함한다.
제7 양태에 따르면, 적어도 하나의 프로세서; 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치로서, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서와 함께 장치가 적어도: 인코딩 프로세스 또는 디코딩 프로세스 동안 롱텀 팔레트를 구성하고, 코딩 유닛을 코딩한 후에 롱텀 팔레트를 동적으로 갱신하는 단계; 및 다음 중 하나로부터의: 로컬 또는 이웃 팔레트로부터의, 롱텀 팔레트로부터의 또는 개별적으로 시그널링된 바와 같은 정보를 이용하여 코딩 유닛을 코딩하는 데 사용되는 팔레트를 구성하는 단계를 수행하게 하도록 구성되는 장치가 제공된다.
제8 양태에 따르면, 처리를 위한 수단; 인코딩 프로세스 또는 디코딩 프로세스 동안 롱텀 팔레트를 구성하고, 코딩 유닛을 코딩한 후에 롱텀 팔레트를 동적으로 갱신하기 위한 수단; 및 다음 중 하나로부터의: 로컬 또는 이웃 팔레트로부터의, 롱텀 팔레트로부터의 또는 개별적으로 시그널링된 바와 같은 정보를 이용하여 코딩 유닛을 코딩하는 데 사용되는 팔레트를 구성하기 위한 수단을 포함하는 장치가 제공된다.
제9 양태에 따르면, 컴퓨터와 함께 사용하기 위해 내부에 구현된 컴퓨터 프로그램 코드를 보유하는 컴퓨터 판독 가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 코드는 인코딩 프로세스 또는 디코딩 프로세스 동안 롱텀 팔레트를 구성하고, 코딩 유닛을 코딩한 후에 롱텀 팔레트를 동적으로 갱신하기 위한 코드; 및 다음 중 하나로부터의: 로컬 또는 이웃 팔레트로부터의, 롱텀 팔레트로부터의 또는 개별적으로 시그널링된 바와 같은 정보를 이용하여 코딩 유닛을 코딩하는 데 사용되는 팔레트를 구성하기 위한 코드를 포함하는 컴퓨터 프로그램 제품이 제공된다.
제10 양태에 따르면, 컴퓨터에 의해 실행될 때 인코딩 프로세스 또는 디코딩 프로세스 동안 롱텀 팔레트를 구성하고, 코딩 유닛을 코딩한 후에 롱텀 팔레트를 동적으로 갱신하는 단계; 및 다음 중 하나로부터의: 로컬 또는 이웃 팔레트로부터의, 롱텀 팔레트로부터의 또는 개별적으로 시그널링된 바와 같은 정보를 이용하여 코딩 유닛을 코딩하는 데 사용되는 팔레트를 구성하는 단계를 수행하는 명령어가 인코딩된 비일시적 컴퓨터 판독 가능 매체가 제공된다.
일 실시예에 따르면, 방법은 롱텀 팔레트를 초기화하는 단계; 로컬 팔레트로부터 적어도 하나의 컬러 값을 그리고 롱텀 팔레트로부터 적어도 하나의 컬러 값을 선택하거나, 로컬 팔레트 또는 롱텀 팔레트로부터 컬러 값을 선택함으로써 코딩 유닛을 코딩하는 데 사용되는 팔레트를 생성하는 단계; 코딩 유닛이 팔레트 모드에서 코딩되는 경우에 그리고 코딩 유닛이 로컬 팔레트로부터 복사되지 않고 롱텀 팔레트로부터 복사되지 않은 컬러를 포함하는 경우에, 롱텀 팔레트 갱신 프로세스를 이용하여 대응하는 새로운 컬러를 롱텀 팔레트에 추가하는 단계를 포함한다.
일 실시예에 따르면, 로컬 팔레트는 다른 코딩 유닛에 사용되는 팔레트 또는 다른 코딩 유닛에 사용되는 팔레트의 조합 또는 그러한 팔레트의 서브세트를 지칭한다.
일 실시예에 따르면, 방법은 다양한 위치에서 롱텀 팔레트 정보를 초기화하는 단계를 포함한다.
일 실시예에 따르면, 방법은 롱텀 팔레트를 비워지도록 초기화하는 단계를 포함한다.
일 실시예에 따르면, 방법은 동적 롱텀 팔레트를 시그널링된 롱텀 팔레트와 동일하도록 초기화하는 단계를 포함한다.
일 실시예에 따르면, 방법은 이전의 픽처로부터 최초 롱텀 팔레트를 도출하는 단계를 포함한다.
일 실시예에 따르면, 방법은 2개 이상의 롱텀 팔레트를 동적으로 유지하는 단계를 포함한다.
일 실시예에 따르면, 롱텀 팔레트의 크기는 고정되거나 적응적이다.
일 실시예에 따르면, 코딩 유닛에 사용되는 팔레트는 롱텀 팔레트와 코딩 유닛 레벨에서 시그널링되는 팔레트의 조합일 수 있다.
일 실시예에 따르면, 방법은 롱텀 팔레트 내의 어느 엔트리도 새로운 컬러를 포함하지 않는 경우에 그러한 컬러를 롱텀 팔레트에 추가하는 롱텀 팔레트 갱신 프로세스를 포함한다.
일 실시예에 따르면, 방법은 먼저 새로운 컬러가 존재하는지의 여부에 대해 롱텀 팔레트 내의 엔트리의 서브세트를 체크함으로써 그러한 컬러를 롱텀 팔레트에 추가하는 롱텀 팔레트 갱신 프로세스를 포함한다.
일 실시예에 따르면, 방법은 새로운 컬러를 추가하기 전에 팔레트가 가득 찬 것으로 결정되는 경우에 팔레트 크기를 1만큼 증가시키는 단계; 롱텀 팔레트에 처음 들어간 컬러를 제거하고 새로운 컬러를 추가하는 단계; 가장 적게 사용된 컬러를 제거하고 새로운 컬러를 추가하는 단계 중 하나를 수행하는 롱텀 팔레트 갱신 프로세스를 포함한다.
이제, 본 발명의 실시예의 더 완전한 이해를 위해, 첨부 도면과 관련하여 이루어지는 아래의 설명이 참조된다. 도면에서:
도 1은 일 실시예에 따른 비디오 코딩 시스템의 블록도를 나타낸다.
도 2는 일 실시예에 따른 장치의 레이이웃을 나타낸다.
도 3은 일 실시예에 따른 복수의 장치, 네트워크 및 네트워크 요소를 포함하는 비디오 코딩을 위한 배열을 나타낸다.
도 4는 일 실시예에 따른 비디오 인코더의 블록도를 나타낸다.
도 5는 일 실시예에 따른 비디오 디코더의 블록도를 나타낸다.
도 6a 및 6b는 코딩 유닛의 예를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 코덱을 포함할 수 있는 예시적인 장치 또는 전자 디바이스(50)의 개략 블록도로서의 일 실시예에 따른 비디오 코딩 시스템의 블록도를 나타낸다. 도 2는 일 실시예에 따른 장치의 레이아웃을 나타낸다. 이어서, 도 1 및 2의 요소가 설명된다.
전자 디바이스(50)는 예로서 무선 통신 시스템의 이동 단말기 또는 사용자 장비일 수 있다. 그러나, 본 발명의 실시예는 비디오 이미지의 인코딩 및 디코딩 또는 인코딩 또는 디코딩을 필요로 할 수 있는 임의의 전자 디바이스 또는 장치 내에 구현될 수 있다는 것을 알 것이다.
장치(50)는 디바이스를 수용하고 보호하기 위한 하우징(30)을 포함할 수 있다. 장치(50)는 액정 디스플레이 형태의 디스플레이(32)를 포함할 수 있다. 본 발명의 다른 실시예에서, 디스플레이는 이미지 또는 비디오를 표시하기에 적합한 임의의 적합한 디스플레이 기술일 수 있다. 장치(50)는 키패드(34)를 더 포함할 수 있다. 본 발명의 다른 실시예에서, 임의의 적절한 데이터 또는 사용자 인터페이스 메커니즘이 이용될 수 있다. 예로서, 사용자 인터페이스는 터치 감지 디스플레이의 일부인 가상 키보드 또는 데이터 입력 시스템으로서 구현될 수 있다. 장치는 마이크(36) 또는 디지털 또는 아날로그 신호 입력일 수 있는 임의의 적합한 오디오 입력을 포함할 수 있다. 장치(50)는 본 발명의 실시예에서 이어피스(38), 스피커, 또는 아날로그 오디오 또는 디지털 오디오 출력 접속 중 어느 하나일 수 있는 오디오 출력 디바이스를 더 포함할 수 있다. 장치(50)는 배터리(40)도 포함할 수 있다(또는 본 발명의 다른 실시예에서, 디바이스는 태양 전지, 연료 전지 또는 태엽 발전기와 같은 임의의 적합한 이동 에너지 디바이스에 의해 급전될 수 있다). 장치는 이미지 및/또는 비디오를 기록 또는 캡처할 수 있는 카메라(42)를 더 포함할 수 있다. 일부 실시예에서, 장치(50)는 다른 디바이스와의 단거리 시선 통신을 위한 적외선 포트를 더 포함할 수 있다. 다른 실시예에서, 장치(50)는 예로서 블루투스 무선 접속 또는 USB/파이어와이어 유선 접속과 같은 임의의 적절한 단거리 통신 솔루션을 더 포함할 수 있다.
장치(50)는 장치(50)를 제어하기 위한 제어기(56) 또는 프로세서를 포함할 수 있다. 제어기(56)는 본 발명의 실시예에서 이미지 및 오디오 데이터 형태의 데이터를 저장할 수 있고/있거나 제어기(56) 상의 구현을 위한 명령어도 저장할 수 있는 메모리(58)에 접속될 수 있다. 제어기(56)는 오디오 및/또는 비디오 데이터의 코딩 및 디코딩을 수행하거나 제어기(56)에 의해 수행되는 코딩 및 디코딩을 돕는 데 적합한 코덱 회로(54)에 더 접속될 수 있다.
장치(50)는 카드 판독기(48) 및 스마트 카드(46), 예로서 사용자 정보를 제공하기 위한 그리고 네트워크에서의 사용자의 인증 및 허가를 인증 정보를 제공하는 데 적합한 UICC 및 UICC 판독기를 더 포함할 수 있다.
장치(50)는, 제어기에 접속되고, 예로서 셀룰러 통신 네트워크, 무선 통신 시스템 또는 무선 근거리 네트워크와의 통신을 위한 무선 통신 신호를 생성하는 데 적합한 라디오 인터페이스 회로(52)를 포함할 수 있다. 장치(50)는 라디오 인터페이스 회로(52)에서 생성되는 라디오 주파수 신호를 다른 장치(들)로 송신하고 다른 장치(들)로부터 라디오 주파수 신호를 수신하기 위해 라디오 인터페이스 회로(52)에 접속되는 안테나(44)를 더 포함할 수 있다.
본 발명의 일부 실시예에서, 장치(50)는 개별 프레임을 기록 또는 검출한 후에 처리를 위해 코덱(54) 또는 제어기로 전달할 수 있는 카메라를 포함한다. 본 발명의 일부 실시예에서, 장치는 송신 및/또는 저장 전에 다른 디바이스로부터 처리를 위해 비디오 이미지 데이터를 수신할 수 있다. 본 발명의 일부 실시예에서, 장치(50)는 코딩/디코딩을 위해 이미지를 무선으로 또는 유선 접속에 의해 수신할 수 있다.
도 3은 일 실시예에 따른 복수의 장치, 네트워크 및 네트워크 요소를 포함하는 비디오 코딩을 위한 배열을 나타낸다. 도 3과 관련하여, 본 발명의 실시예가 이용될 수 있는 시스템의 일례가 도시된다. 시스템(10)은 하나 이상의 네트워크를 통해 통신할 수 있는 다수의 통신 디바이스를 포함한다. 시스템(10)은 무선 셀룰러 전화 네트워크(예로서, GSM, UMTS, CDMA 네트워크 등), 임의의 IEEE 802.x 표준에 의해 정의된 것과 같은 무선 근거리 네트워크(WLAN), 블루투스 개인 영역 네트워크, 이더넷 근거리 네트워크, 토큰 링 근거리 네트워크, 광역 네트워크 및 인터넷을 포함하지만 이에 한정되지 않는 유선 또는 무선 네트워크의 임의 조합을 포함할 수 있다.
시스템(10)은 본 발명의 실시예를 구현하는 데 적합한 유선 및 무선 통신 디바이스 또는 장치 양자를 포함할 수 있다. 예로서, 도 3에 도시된 시스템은 이동 전화 네트워크(11), 및 인터넷(28)의 표현을 나타낸다. 인터넷(28)에 대한 접속은 장거리 무선 접속, 단거리 무선 접속, 및 전화 라인, 케이블 라인, 전력 라인 및 유사한 통신 경로를 포함하지만 이에 한정되지 않는 다양한 유선 접속을 포함할 수 있지만 이에 한정되지 않는다.
시스템(10) 내에 도시된 예시적인 통신 디바이스는 전자 디바이스 또는 장치(50), 개인 휴대 단말기(PDA)와 이동 전화의 조합(14), PDA(16), 통합 메시징 디바이스(IMD)(18), 데스크탑 컴퓨터(20), 노트북 컴퓨터(22)를 포함할 수 있지만 이에 한정되지 않는다. 장치(50)는 정지해 있거나, 움직이는 개인에 의해 휴대될 때 이동할 수 있다. 장치(50)는 자동차, 트럭, 택시, 버스, 기차, 보트, 비행기, 자전거, 모터사이클 또는 임의의 유사한 적절한 수송 모드를 포함하지만 이에 한정되지 않는 수송 모드 내에 배치될 수도 있다.
일부 또는 추가 장치는 호출 및 메시지를 송신 및 수신하고, 기지국(24)에 대한 무선 접속(25)을 통해 서비스 제공자와 통신할 수 있다. 기지국(24)은 이동 전화 네트워크(11)와 인터넷(28) 간의 통신을 가능하게 하는 네트워크 서버(26)에 접속될 수 있다. 시스템은 추가 통신 디바이스 및 다양한 타입의 통신 디바이스를 포함할 수 있다.
통신 디바이스는 CDMA(code division multiple access), GSM(global systems for mobile communications), UMTS(universal mobile telecommunications system), TDMA(time divisional multiple access), FDMA(frequency division multiple access), TCP-IP(transmission control protocol-internet protocol), SMS(short messaging service), MMS(multimedia messaging service), 이메일, IMS(instant messaging service), 블루투스, IEEE 802.11 및 임의의 유사한 무선 통신 기술을 포함하지만 이에 한정되지 않는 다양한 송신 기술을 이용하여 통신할 수 있다. 본 발명의 다양한 실시예의 구현에 수반되는 통신 디바이스는 라디오, 적외선, 레이저, 케이블 접속 및 임의의 적절한 접속을 포함하지만 이에 한정되지 않는 다양한 매체를 이용하여 통신할 수 있다.
비디오 코덱은 입력 비디오를 저장/송신에 적합한 압축 표현으로 변환하는 인코더를 포함할 수 있으며, 디코더가 압축 비디오 표현을 다시 시청 가능한 형태로 압축 해제할 수 있다. 인코더는 원래의 비디오 시퀀스 내의 일부 정보를 폐기하여 비디오를 더 간결한 형태로(즉, 더 낮은 비트레이트로) 표현할 수 있다.
하이브리드 비디오 코덱, 예로서 ITU-T H.263 및 H.264는 비디오 정보를 두 단계로 인코딩한다. 첫째, 소정의 픽처 내의 픽셀 값이 예로서 (코딩되는 블록에 밀접하게 대응하는, 이전에 코딩된 비디오 프레임 중 하나 내의 영역을 발견하고 지시하는) 모션 보상 수단에 의해 또는 (지정된 방식으로 코딩될 블록 주위의 픽셀 값을 이용하는) 공간 수단에 의해 예측된다. 둘째, 예측 에러, 즉 픽셀의 예측된 블록과 픽셀의 원래 블록 간의 차이가 코딩된다. 이것은 지정된 변환(예로서, 이산 코사인 변환(DCT) 또는 그의 변형)을 이용하여 픽셀 값에서의 차이를 변환하고, 계수를 양자화하고, 양자화된 계수를 엔트로피 코딩함으로써 행해질 수 있다. 양자화 프로세스의 충실도를 변경함으로써, 인코더는 픽셀 표현의 정확성(픽처 품질)과 결과적인 코딩된 비디오 표현의 크기(파일 크기 또는 송신 비트레이트) 간의 균형을 제어할 수 있다. 인코딩 프로세스가 도 4에 도시된다. 도 4는 비디오 인코더의 일례가 도시되며, 여기서 In: 인코딩될 이미지; P'n: 이미지 블록의 예측 표현; Dn: 예측 에러 신호; D'n: 재구성된 예측 에러 신호; I'n: 예비 재구성 이미지; R'n: 최종 재구성 이미지; T, T-1: 변환 및 역변환; Q, Q-1: 양자화 및 역양자화; E: 엔트로피 인코딩; RFM: 기준 프레임 메모리; Pinter: 인터 예측(inter prediction); Pintra: 인트라 예측(Intra prediction); MS: 모드 선택; F: 필터링이다.
HEVC와 같은 일부 비디오 코덱에서, 비디오 픽처는 픽처의 영역을 커버하는 코딩 유닛(CU)으로 분할된다. CU는 CU 내의 샘플에 대한 예측 프로세스를 정의하는 하나 이상의 예측 유닛(PU) 및 상기 CU 내의 샘플에 대한 예측 에러 코딩 프로세스를 정의하는 하나 이상의 변환 유닛(TU)으로 구성된다. CU는 가능한 CU 크기의 사전 정의된 세트로부터 선택 가능한 크기를 갖는 샘플의 정사각 블록으로 구성될 수 있다. 최대 허용 크기를 갖는 CU는 CTU(코딩 트리 유닛)로서 지칭될 수 있으며, 비디오 픽처는 중복되지 않은 CTU로 분할된다. CTU는 예로서 CTU 및 결과적인 CU를 반복적으로 분할함으로써 더 작은 CU의 조합으로 더 분할될 수 있다. 각각의 결과적인 CU는 그와 관련된 적어도 하나의 PU 및 적어도 하나의 TU를 가질 수 있다. 각각의 PU 및 TU는 예측 및 예측 에러 코딩 프로세스 각각의 입도를 증가시키기 위해 더 작은 PU 및 TU로 더 분할될 수 있다. 각각의 PU는 그 PU 내의 픽셀에 대해 어떤 유형의 예측이 적용될지를 정의하는, 그와 관련된 예측 정보(예로서, 인터 예측된 PU에 대한 모션 벡터 정보 및 인트라 예측된 PU에 대한 인트라 예측 지향성 정보)를 갖는다. 유사하게, 각각의 TU는 (예로서, DCT 계수 정보를 포함하는) 상기 TU 내의 샘플에 대한 예측 에러 디코딩 프로세스를 설명하는 정보와 관련된다. 각각의 CU에 대해 예측 에러 코딩이 적용되는지의 여부가 CU 레벨에서 시그널링될 수 있다. CU와 관련된 예측 에러 오차가 존재하지 않는 경우, 상기 CU에 대한 TU가 존재하지 않는 것으로 간주될 수 있다. 이미지의 CU로의 분할 및 CU의 PU 및 TU로의 분할은 비트스트림 내에서 시그널링되어, 디코더가 이러한 유닛의 의도된 구조를 재생성하는 것을 가능하게 할 수 있다.
디코더는 (인코더에 의해 생성되고 압축 표현으로 저장된 모션 또는 공간 정보를 이용하여) 픽셀 블록의 예측 표현을 형성하기 위한 인코더와 유사한 예측 수단 및 예측 에러 디코딩(공간 픽셀 도메인에서의 양자화된 예측 에러 신호를 복구하는 예측 에러 코딩의 역동작)을 적용함으로써 출력 비디오를 재구성한다. 예측 및 예측 에러 디코딩 수단을 적용한 후, 디코더는 예측 및 예측 에러 신호(픽셀 값)를 합산하여 출력 비디오 프레임을 형성한다. 디코더(및 인코더)는 출력 비디오를 표시를 위해 전달하고/하거나 비디오 시퀀스 내의 다가오는 프레임에 대한 예측 기준으로서 저장하기 전에 그의 품질을 개선하기 위해 추가 필터링 수단을 적용할 수도 있다. 디코딩 프로세스는 도 5에 도시된다. 도 5는 비디오 디코더의 블록도를 나타내며, 여기서 P'n: 이미지 블록의 예측 표현; D'n: 재구성된 예측 에러 신호; I'n: 예비 재구성 이미지; R'n: 최종 재구성 이미지; T-1: 역변환; Q-1: 역양자화; E-1: 엔트로피 디코딩; RFM: 기준 프레임 메모리; P: (인터 또는 인트라) 예측; F: 필터링이다.
코딩된 샘플 값을 지시하기 위한 샘플 값 예측 및 변환 코딩을 이용하는 접근법 대신에 또는 그에 더하여, 컬러 팔레트 기반 코딩이 이용될 수 있다. 팔레트 기반 코딩은, 팔레트, 즉 컬러 및 관련 인덱스의 세트가 정의되고, 코딩 유닛 내의 각각의 샘플에 대한 값이 팔레트 내의 그의 인덱스를 지시함으로써 표현되는 접근법의 패밀리를 지칭한다. 팔레트 기반 코딩은 (텍스트 또는 간단한 그래픽과 같은 컴퓨터 스크린 콘텐츠를 표현하는 이미지 영역과 같은) 소수의 컬러를 갖는 코딩 유닛에서 양호한 코딩 효율을 달성할 수 있다. 팔레트 코딩의 코딩 효율을 개선하기 위해, 상이한 유형의 팔레트 인덱스 예측 접근법이 이용될 수 있거나, 더 큰 동종 이미지 영역을 효율적으로 표현할 수 있기 위해 팔레트 인덱스가 실행 길이 코딩될 수 있다.
디코딩 픽처 버퍼(DPB)가 인코더 및/또는 디코더에서 사용될 수 있다. 디코딩 픽처 버퍼링에 대한 두 가지 이유, 즉 인터 예측에서의 참조를 위한 이유 및 디코딩 픽처를 출력 순서로 재배열하기 위한 이유가 존재한다. H.264/AVC 및 HEVC는 기준 픽처 마킹 및 출력 재배열 양자에 대한 많은 유연성을 제공하므로, 기준 픽처 버퍼링 및 출력 픽처 버퍼링을 위한 개별 버퍼는 메모리 자원을 낭비할 수 있다. 따라서, DPB는 기준 픽처 및 출력 재배열을 위한 통합 디코딩 픽처 버퍼링 프로세스를 포함할 수 있다. 디코딩 픽처는 기준으로서 더 이상 사용되지 않고 출력에 필요하지 않을 때 DPB로부터 제거될 수 있다.
모션 정보는 비디오 코덱에서 지시될 수 있으며, 모션 벡터는 각각의 모션 보상 이미지 블록과 관련된다. 이러한 모션 벡터 각각은 (인코더 측에서) 코딩되거나 (디코더 측에서) 디코딩될 픽처 내의 이미지 블록 및 이전에 코딩 또는 디코딩된 픽처 중 하나 내의 예측 소스 블록의 변위를 나타낸다. 모션 벡터를 효율적으로 표현하기 위해, 그러한 벡터는 블록 고유 예측 모션 벡터에 관해 차별적으로 코딩될 수 있다. 비디오 코덱에서, 예측 모션 벡터는 사전 정의된 방식으로, 예로서 인코딩 또는 디코딩된 모션 벡터 또는 인접 블록의 중앙값을 계산함으로써 생성될 수 있다. 모션 벡터 예측을 생성하기 위한 다른 방식은 시간 기준 픽처 내의 인접 블록 및/또는 같은 곳에 배치된 블록으로부터 후보 예측의 리스트를 생성하고, 선택된 후보를 모션 벡터 예측으로서 시그널링하는 것이다. 모션 벡터 값을 예측하는 것에 더하여, 이전에 코딩/디코딩된 픽처의 기준 인덱스가 예측될 수 있다. 기준 인덱스는 통상적으로 시간 기준 픽처 내의 인접 블록 및/또는 같은 곳에 배치된 블록으로부터 예측된다. 더욱이, 고효율 비디오 코덱은 각각의 이용 가능 기준 픽처 리스트에 대한 모션 벡터 및 대응하는 기준 픽처 인덱스를 포함하는 모든 모션 필드 정보가 예측되고 어떠한 변경/수정도 없이 사용되는 "병합/병합 모드"로서 지칭되는 추가 모션 정보 코딩/디코딩 메커니즘을 이용할 수 있다. 유사하게, 모션 필드 정보의 예측은 모션 필드 정보 또는 시간 기준 픽처 내의 인접 블록 및/또는 같은 곳에 배치된 블록을 이용하여 수행되며, 사용자 모션 필드 정보는 이용 가능한 인접하는/같은 곳에 배치된 블록의 모션 필드 정보로 채워진 모션 필드 후보 리스트의 리스트 사이에서 시그널링된다.
인터 픽처 예측에 대해 모션 보상을 적용하는 것에 더하여, 유사한 접근법이 인트라 픽처 예측에 적용될 수 있다. 이 경우, 변위 벡터는 코딩 또는 디코딩될 블록의 예측을 형성하기 위해 샘플의 블록이 동일 픽처로부터 어디에 복사될 수 있는지를 지시한다. 이러한 유형의 인트라 블록 복사 방법은 텍스트 또는 다른 그래픽과 같은 프레임 내의 반복 구조의 존재시에 코딩 효율을 실질적으로 개선할 수 있다.
비디오 코덱에서, 모션 보상 후의 예측 오차는 먼저 변환 커널(예로서, DCT)을 이용하여 변환되고, 이어서 코딩될 수 있다. 그 이유는 오차 사이에 소정의 상관이 여전히 존재할 수 있고, 변환이 많은 경우에 이러한 상관을 줄이고 더 효율적인 코딩을 제공하는 것을 도울 수 있기 때문이다.
비디오 인코더는 라그랑쥐 비용 함수를 이용하여 최적 코딩 모드, 예로서 바람직한 매크로블록 모드 및 관련 모션 벡터를 발견할 수 있다. 이러한 유형의 비용 함수는 가중 팩터(λ)를 이용하여, 다손실 코딩 방법으로 인한 (정확한 또는 추정된) 이미지 왜곡과 이미지 영역 내의 픽셀 값을 나타내는 데 필요한 정보의 (정확한 또는 추정된) 양을 결부시킨다.
C=D+λR
여기서, C는 최소화될 라그랑쥐 비용이고, D는 고려되는 모드 및 모션 벡터와 관련된 이미지 왜곡(예로서, 제곱 평균 에러)이고, R은 (후보 모션 벡터를 표현하기 위한 데이터의 양을 포함하는) 디코더에서 이미지 블록을 재구성하는 데 필요한 데이터를 나타내는 데 필요한 비트의 수이다.
확장 가능 비디오 코딩은 하나의 비트스트림이 상이한 비트레이트, 해상도 또는 프레임 레이트에서의 콘텐츠의 다수의 표현을 포함할 수 있는 코딩 구조를 지칭한다. 이 경우, 수신기는 바람직한 표현을 그의 특성(예로서, 디스플레이 디바이스와 최상으로 매칭되는 해상도)에 따라 추출할 수 있다. 대안으로서, 서버 또는 네트워크 요소는 예로서 네트워크 특성 또는 수신기의 처리 능력에 따라 수신기로 송신될 비트스트림의 부분을 추출할 수 있다. 확장 가능 비트스트림은 이용 가능한 최저 품질 비디오를 제공하는 "기본 계층" 및 하위 계층과 함께 수신되고 디코딩될 때 비디오 품질을 향상시키는 하나 이상의 향상 계층으로 구성될 수 있다. 향상 계층에 대한 코딩 효율을 개선하기 위해, 그 계층의 코딩된 표현은 하위 계층에 의존할 수 있다. 예로서, 향상 계층의 모션 및 모드 정보는 하위 계층으로부터 예측될 수 있다. 유사하게, 하위 계층의 픽셀 데이터는 향상 계층에 대한 예측을 생성하는 데 사용될 수 있다.
(신호 대 잡음비 또는 SNR로도 알려진) 품질 확장성 및/또는 공간 확장성을 위한 확장 가능 비디오 코덱이 다음과 같이 구현될 수 있다. 기본 계층에 대해, 통상적인 확장 불가 비디오 인코더 및 디코더가 사용된다. 기본 계층의 재구성/디코딩 픽처는 향상 계층에 대한 기준 픽처 버퍼 내에 포함된다. H.264/AVC, HEVC, 및 인터 예측을 위해 기준 픽처 리스트(들)를 이용하는 유사한 코덱에서, 기본 계층 디코딩 픽처는 향상 계층의 디코딩 기준 픽처와 유사하게 향상 계층 픽처의 코딩/디코딩을 위해 기준 픽처 리스트(들) 내에 삽입될 수 있다. 결과적으로, 인코더는 기본 계층 기준 픽처를 인터 예측 기준으로서 선택하고, 코딩된 비트스트림 내의 기준 픽처 인덱스를 이용하여 그의 사용을 지시할 수 있다. 디코더는 비트스트림으로부터, 예로서 기준 픽처 인덱스로부터, 기본 계층 픽처가 향상 계층에 대한 인터 예측 기준으로서 사용된다는 것을 디코딩한다. 디코딩된 기본 계층 픽처가 향상 계층에 대한 예측 기준으로 사용될 때, 이것은 인터 계층 기준 픽처로서 지칭된다.
품질 확장성에 더하여, 다른 확장성 모드: 공간 확장성, 비트 심도 확장성 및 크로마 포맷 확장성도 존재한다. 공간 확장성에서, 기본 계층 픽처는 향상 계층 픽처보다 높은 해상도로 코딩된다. 비트 심도 확장성에서, 기본 계층 픽처는 향상 계층 픽처(예로서, 10 또는 12 비트)보다 낮은 비트 심도(예로서, 8 비트)로 코딩된다. 크로마 포맷 확장성에서, 기본 계층 픽처는 향상 계층 픽처(예로서, 4:2:0 포맷)보다 높은 크로마 충실도(예로서, 4:4:4 크로마 포맷으로 코딩됨)를 제공한다.
위의 확장성 예에서, 기본 계층 정보는 추가 비트레이트 오버헤드를 최소화하도록 향상 계층을 코딩하는 데 사용될 수 있다.
확장성은 두 가지 방식으로 가능해질 수 있다. 확장 가능 표현의 하위 계층으로부터 픽셀 값 또는 신택스의 예측을 수행하기 위한 새로운 코딩 모드를 도입함으로써 또는 상위 계층의 기준 픽처 버퍼(디코딩 픽처 버퍼, DPB)에 하위 계층 픽처를 배치함으로써 가능해질 수 있다. 제1 접근법은 더 유연하며, 따라서 대부분의 경우에 더 양호한 코딩 효율을 제공할 수 있다. 그러나, 제2의 기준 프레임 기반 확장성 접근법은 단일 계층 코덱에 대한 최소의 변경을 이용하여 매우 효율적으로 구현될 수 있으면서도, 이용 가능한 코딩 효율 이득의 대부분을 달성할 수 있다. 본질적으로, 기준 프레임 기반 확장성 코덱은 외부 수단에 의한 DPB 관리만을 신경 쓰면서 모든 계층에 대해 동일한 하드웨어 또는 소프트웨어 구현을 이용하여 구현될 수 있다.
팔레트 코딩 방법은 현재 블록의 팔레트를 예측하기 위해 이웃 블록의 팔레트 정보를 이용한다. 이러한 접근법은 코딩 효율을 개선하는 데 유용하지만, 이웃하지 않는 블록 간의 컬러 상관이 이용되지 않는다. 예로서, 픽처는 여러 주요 컬러를 갖는 배경 픽처 및 전경 객체를 갖는다. 전경 객체를 포함하는 블록에 이웃하는 블록에 대해서는 팔레트 예측이 사용될 수 없다. 방법은 이전의 CU로부터의 팔레트 엔트리가 현재 CU에 대해 재사용될 수 있는 모드를 갖는 솔루션; 코딩된 팔레트가 하나 이상의 CU에 의해 공유될 수 있는 솔루션; 및 좌측 CU 또는 상부 CU의 팔레트를 사용할지가 시그널링되는 솔루션과 관련된다.
본 실시예는 서로 이웃하지 않는 팔레트 코딩 CU 간의 통계적 상관을 이용하기 위한 솔루션을 제공한다. 이것은 CU보다 높은 레벨에서(예로서, 슬라이스 헤더에서) 롱텀 팔레트를 시그널링하고, 이웃 팔레트로부터의 또는 롱텀 팔레트로부터의 또는 개별적으로 시그널링되는 바와 같은 정보를 이용하여 각각의 CU에 대한 팔레트를 구성함으로써 구현될 수 있다. 대안으로서, 구현은 시그널링된 컬러 정보에 기초하여 롱텀 팔레트를 동적으로 추적하고, 이웃 팔레트로부터의 또는 롱텀 팔레트로부터의 또는 개별적으로 시그널링되는 바와 같은 정보를 이용하여 각각의 CU에 대한 팔레트를 구성하는 것을 포함할 수 있다. 이어서, 이웃하지 않는 블록 간의 컬러 상관을 이용하기 위한 이러한 대안이 더 상세히 개시된다.
제1 실시예에 따르면, 롱텀 팔레트가 CU보다 높은 레벨에서(예로서, 슬라이스 헤더에서) 시그널링된다. 롱텀 팔레트 정보는 적어도 롱텀 팔레트 내에 존재하는 컬러의 수 및 롱텀 팔레트 내의 각각의 엔트리에 대한 컬러 값을 포함할 수 있다. 이러한 롱텀 팔레트 정보는 슬라이스 헤더에서 시그널링된다. 각각의 CU의 코딩에 사용되는 팔레트는 이웃 팔레트로부터의 또는 롱텀 팔레트로부터의 또는 개별적으로 시그널링되는 바와 같은 정보를 이용하여 구성된다. 일 실시예에 따르면, 팔레트 모드에서 압축된 코딩 유닛은 다음과 같이 디코딩된다. 먼저, 롱텀 팔레트가 시그널링되는지의 여부에 대한 지시가 슬라이스 헤더에서 디코딩된다. 롱텀 팔레트가 시그널링되는 경우, 각각의 롱텀 팔레트 엔트리에 대한 컬러 정보에 대한 정보가 디코딩된다. 롱텀 팔레트가 사용되는 경우, 팔레트 모드에서 코딩된 각각의 CU에 대한 팔레트 인덱스가 디코딩되며, 적어도 하나의 팔레트 인덱스는 롱텀 팔레트 내의 컬러 값을 지칭한다.
슬라이스 헤더에서 롱텀 팔레트 정보를 시그널링하는 대신, 롱텀 팔레트 정보는 픽처 파라미터 세트 또는 적응 파라미터 세트와 같은 다양한 레벨에서 시그널링될 수 있다. 롱텀 팔레트의 세트가 예로서 SPS(시퀀스 파라미터 세트) 및/또는 VPS(비디오 파라미터 세트)와 같은 시퀀스 레벨 신택스 구조 내에서 시그널링될 수 있다. 시그널링된 롱텀 팔레트는 인덱싱될 수 있거나, 명확히 시그널링된 식별자 값을 포함하거나 그와 관련될 수 있다. 예로서 슬라이스 헤더, PPS(픽처 파라미터 세트) 또는 APS(적응 파라미터 세트) 내에 롱텀 팔레트의 인덱스 또는 식별자를 포함시킴으로써 롱텀 팔레트의 세트로부터 사용될 롱텀 팔레트가 선택될 수 있다. 롱텀 팔레트의 세트로부터의 롱텀 팔레트가 사용되지 않을 가능성이 가능해질 수 있는데, 즉 롱텀 팔레트 정보가 롱텀 팔레트의 세트에 대한 인덱스 또는 식별자가 아닌 다른 수단에 의해 시그널링된다는 것이 예로서 슬라이스 헤더, PPS 또는 APS에서 지시될 수 있다.
롱텀 팔레트의 일부 엔트리는 더 일찍 시그널링된 롱텀 팔레트 사이에 공유될 수 있다. 예로서, 향상 계층 픽처에 대한 롱텀 팔레트가 기본 계층 픽처 또는 기준 계층 픽처의 롱텀 팔레트와 동일한 것으로 추론될 수 있다.
롱텀 팔레트의 크기는 고정될 수 있고, 따라서 시그널링되지 않을 수 있거나, 롱텀 팔레트의 크기는 적응적일 수 있다.
롱텀 팔레트의 존재가 항상 시그널링될 수 있거나, 조건부로 시그널링될 수 있다. 예로서, 인트라 코딩 슬라이스에 대해서만 또는 팔레트 모드 코딩의 사용에 대한 지시가 존재하는 경우에만 시그널링될 수 있다.
CU 레벨에서 시그널링된 롱텀 팔레트 인덱스의 이진화는 롱텀 팔레트의 크기에 의존할 수 있다. 예로서, 상이한 고정 길이 코딩 크기가 사용될 수 있다. CU 레벨에서 시그널링된 롱텀 팔레트 인덱스의 이진화가 더 시그널링될 수 있다. 예로서, 팔레트 인덱스의 발생의 히스토그램에 따라, 상이한 VLC(가변 길이 코딩) 표가 사용될 수 있다.
CU에 사용되는 팔레트는 롱텀 팔레트와 CU 레벨에서 시그널링된 팔레트의 조합일 수 있다. 예로서, 소정 CU에 대한 팔레트는 롱텀 팔레트로부터의 적어도 하나의 팔레트 엔트리 및 이전에 디코딩된 CU에 사용된 팔레트로부터 예측된 팔레트로부터의 적어도 하나의 팔레트 엔트리를 포함할 수 있다. 소정 CU에 대한 팔레트는 롱텀 팔레트로부터의 적어도 하나의 팔레트 엔트리 및 CU에 대해 개별적으로 시그널링되는 적어도 하나의 팔레트 엔트리를 포함할 수도 있다.
CU에 대해 사용되는 팔레트는 최종 디코딩된 팔레트, 롱텀 팔레트 또는 명확히 시그널링된 팔레트의 모든 조합으로부터의 엔트리를 포함할 수 있다. 각각의 컬러 성분(예로서, Y, U, V 또는 R, G, B)은 개별 롱텀 팔레트를 가질 수 있는 것은 물론, 공동 롱텀 팔레트가 존재할 수도 있다.
팔레트 엔트리의(디)코딩을 위한 롱텀 팔레트 사용의 지시가 각각의 컬러 성분에 대해 개별적으로 시그널링될 수 있거나, 이것은 모든 컬러 성분에 대해 공동으로 결정될 수 있다.
소정 CU에 대한 팔레트의 어느 엔트리가 롱텀 팔레트로부터 복사되는지, 어느 엔트리가 이전에 디코딩된 CU에 대해 사용된 팔레트로부터 복사되는지 그리고 얼마나 많은 엔트리가 명확히 시그널링되는지가 시그널링될 수 있다.
각각의 CU에 사용되는 롱텀 팔레트는 동적으로 변경될 수 있다. 예로서, 이웃 팔레트의 컬러 값의 일부가 또한 롱텀 팔레트 내에 포함되는 경우, 그러한 값은 롱텀 팔레트로부터 제거될 수 있으며, 현재 CU를 코딩하기 위한 새로운 롱텀 팔레트가 구성될 수 있다.
인코더는 다음의 방법 중 하나 이상 또는 그의 조합을 포함하지만 이에 한정되지 않는 다양한 방법을 이용하여 시그널링될 롱텀 팔레트를 도출할 수 있다. 인코더는 (디)코딩 순서에서의 하나 이상의 이전 픽처 내의 통상의 그리고/또는 롱텀 팔레트(들)의 사용된 팔레트 엔트리에 기초하여 롱텀 팔레트를 도출할 수 있다. 예로서, 인코더는 예로서 (디)코딩 순서에서의 하나 이상의 이전 픽처 내의 팔레트 인덱스의 발생의 히스토그램에 따라 가장 많이 사용된 이전 픽처의 통상의 그리고 롱텀 팔레트(들)로부터의 팔레트 엔트리를 포함할 수 있다. 추가로 또는 대신, 인코더는 이전에 코딩된 CU로부터 예측(복사)된 것이 아니라 (디)코딩 순서에서의 하나 이상의 이전 픽처 내의 각각의 CU의 코딩 동안 명확히 시그널링된 팔레트 엔트리에 기초하여 롱텀 팔레트를 도출할 수 있다. 이전 픽처에서 명확히 시그널링된 팔레트 엔트리는 최다로 빈번한 것으로부터 최소로 빈번한 것까지로 분류될 수 있으며, ("0"개의 발생(또는 소정의 임계치)을 분류된 엔트리 리스트 상에서 만날 때 리스트를 종료하는 것과 같은) 특정 알고리즘을 이용하여, 롱텀 팔레트의 크기를 결정할 수 있다. 예로서, 임계치는 팔레트 엔트리의 코딩에서 롱텀 팔레트를 사용한 팔레트 코딩 CU의 수 대 이전 픽처 내의 팔레트 코딩 CU의 총 수의 비율을 이용하여 결정될 수 있다. 또한, 추가로 또는 대신, 인코더는 롱텀 팔레트를 도출하기 위해 인코딩을 위한 소스 콘텐츠가 어떻게 생성되었는지에 대한 정보를 이용할 수 있다. 예로서, 스테레오 매칭 알고리즘이 최소 및 최대 심도/불일치의 분석 및/또는 추정 심도/불일치 히스토그램을 뒤따르거나 포함할 수 있다. 샘플 값 또는 원래의 압축 해제된 심도/불일치 픽처가 소정 레벨로 양자화될 수 있고, 그 수는 코딩에서 사용되는 비트 심도가 허용하는 것보다 적을 수 있다. 인코더는 롱텀 팔레트를 양자화된 심도/불일치 값의 서브세트가 되도록 선택할 수 있으며, 서브세트는 예로서 추정된 심도/불일치 히스토그램을 제공할 수 있다. 이전 단계(들)를 이용하여 최초 롱텀 팔레트를 도출한 후, 인코더는 픽처의 제1 CU와 같은 현재 픽처의 하나 이상의 CU의 통상의 팔레트(들)에 포함되는 팔레트 엔트리를 배제할 수 있다.
제2 실시예에 따르면, 롱텀 팔레트는 슬라이스 헤더에서 시그널링되지 않는다. 대신, 롱텀 팔레트는 인코딩 또는 디코딩 프로세스 동안 구성되고, 각각의 CU의 코딩 후에 동적으로 갱신될 수 있다. 이어서, 각각의 CU의 코딩에 사용되는 팔레트가 이웃 팔레트로부터의, 롱텀 팔레트로부터의 또는 개별적으로 시그널링되는 바와 같은 정보를 이용하여 구성된다. 일 실시예에 따르면, 팔레트 모드에서 압축된 코딩 유닛은 다음과 같이 디코딩된다. 슬라이스의 제1 CU의 코딩의 시작에서, 롱텀 팔레트 크기가 0으로 재설정되며, 이는 엔트리가 아직 존재하지 않는다는 것을 지시한다. 이어서, 팔레트 예측 모드의 지시가 팔레트 모드에서 코딩된 각각의 CU에 대해 디코딩되며, 후보 팔레트 예측은 적어도 롱텀 팔레트 모드의 사용을 포함한다. 롱텀 팔레트가 현재 CU에 대해 사용되는 경우, 팔레트 인덱스가 디코딩되며, 적어도 하나의 팔레트 인덱스는 롱텀 팔레트 내의 컬러 값을 지칭한다. CU를 코딩한 후, CU가 팔레트 모드에서 코딩된 경우 그리고 이웃으로부터 복사되지 않고 롱텀 팔레트로부터 복사되지 않은 일부 컬러를 사용하는 경우, 대응하는 새로운 컬러가 롱텀 팔레트 갱신 프로세스를 이용하여 롱텀 팔레트에 추가된다.
제1 및 제2 실시예 간의 차이는 제1 실시예에서는 롱텀 팔레트가 슬라이스 헤더 내에서 시그널링되는 반면에 제2 실시예에서는 롱텀 팔레트가 구성되고 각각의 CU의 코딩 후에 동적으로 갱신된다는 것이라는 점에 주목해야 한다.
제2 실시예는 상이한 방식으로 구현될 수 있다. 예로서, 롱텀 팔레트 정보는 다양한 위치에서, 예로서 슬라이스의 제1 CU, 픽처 또는 CTU 행 전에 재설정될 수 있다. 재설정 위치는 예로서 코딩 표준에서 사전 정의될 수 있거나, 인코더에 의해 비트스트림 내에 지시되거나 디코더에 의해 비트스트림으로부터 디코딩될 수 있다.
롱텀 팔레트 정보가 재설정된 후, 롱텀 팔레트는 예로서 하나 이상의 다음의 방식 또는 그의 조합에서 초기화될 수 있다. 초기화는 예로서 코딩 표준에서 사전 정의될 수 있거나, 인코더에 의해 비트스트림 내에 지시되거나 디코더에 의해 비트스트림으로부터 디코딩될 수 있다. 롱텀 팔레트는 비워지도록 초기화될 수 있다. 대안으로서, 동적 롱텀 팔레트는 시그널링된 롱텀 팔레트와 동일하도록 초기화될 수 있다. 최초 롱텀 팔레트는 예로서 이전 픽처로부터, 예로서 현재 픽처가 향상 계층 픽처일 때 기준 계층 픽처로부터 도출될 수 있다. 예로서, 최초 롱텀 팔레트는 이전 픽처 내의 같은 곳에 배치된 CU에서 사용되지만 현재 CU에 대한 통상의 팔레트에 포함되지 않는 팔레트 컬러를 포함할 수 있다. 같은 곳에 배치된 CU는 공간적으로 같은 곳에 배치되도록 마무리될 수 있거나, 시간적 모션 및/또는 불일치가 같은 곳에 배치된 CU를 결정하기 위해 고려될 수 있다.
일부 실시예에서, 2개 이상의 롱텀 팔레트가 동적으로 유지된다. 제1 롱텀 팔레트는 각각의 CTU 행의 제1 CTU에만 또는 정수 개의 제1 CTU에 기초하여 갱신되며, 이는 예로서 코딩 표준에서 사전 정의될 수 있거나, 인코더에 의해 비트스트림 내에서 지시되거나 디코더에 의해 비트스트림으로부터 디코딩될 수 있다. CTU 행의 시작에서, 제2 세트 롱텀 팔레트는 이전 행의 제1 롱텀 팔레트와 동일하도록 설정될 수 있으며, 팔레트는 CTU 행의 병렬 인코딩 및/또는 디코딩을 가능하게 할 수 있고, 소위 파면 병렬 처리와 함께 사용될 수 있다. CTU 행의 병렬 인코딩 또는 디코딩을 위해, 병렬로 처리되는 각각의 CTU 행에 대해 추가 롱텀 팔레트가 유지될 수 있다.
롱텀 팔레트의 크기는 고정될 수 있으며, 따라서 시그널링되지 않는다. 대신, 롱텀 팔레트의 크기는 적응적이며, 시그널링될 수 있다.
CU 레벨에서 시그널링되는 롱텀 팔레트 인덱스의 이진화는 롱텀 팔레트 크기에 의존할 수 있다(예로서, 상이한 고정 길이 코딩 크기가 사용될 수 있다).
CU 레벨에서 시그널링되는 롱텀 팔레트 인덱스의 이진화가 더 시그널링될 수 있다. 예로서, 팔레트 인덱스의 발생의 히스토그램에 따라, 상이한 VLC 표가 사용될 수 있다.
CU에 사용되는 팔레트는 롱텀 팔레트와 CU 레벨에서 시그널링된 팔레트의 조합일 수 있다. 예로서, 소정 CU에 대한 팔레트는 롱텀 팔레트로부터의 적어도 하나의 팔레트 엔트리 및 이전에 디코딩된 CU에 사용된 팔레트로부터 예측된 팔레트로부터의 적어도 하나의 팔레트 엔트리를 포함할 수 있다. 소정 CU에 대한 팔레트는 롱텀 팔레트로부터의 적어도 하나의 팔레트 엔트리 및 CU에 대해 개별적으로 시그널링되는 적어도 하나의 팔레트 엔트리를 포함할 수도 있다.
소정 CU에 대한 팔레트의 어느 엔트리가 롱텀 팔레트로부터 복사되는지 그리고 어느 엔트리가 이전에 디코딩된 CU에 사용된 팔레트로부터 복사되는지가 시그널링될 수 있다.
롱텀 팔레트 갱신 프로세스는 상이한 방식으로 구현될 수 있다. 새로운 컬러는 롱텀 팔레트 내의 어떤 엔트리도 그 컬러를 포함하지 않는 경우에만 롱텀 팔레트에 추가된다. 새로운 컬러는 단지 먼저 동일 컬러가 존재하는지의 여부에 대해 롱텀 팔레트 내의 엔트리의 서브세트를 체크함으로써 롱텀 팔레트에 추가된다. 팔레트가 "새로운 컬러" 전에 가득 찬 경우, 팔레트 크기를 1만큼 증가시키거나, 롱텀 팔레트에 최초로 들어간 컬러를 제거하고 새로운 컬러를 추가하거나, 가장 적게 사용된 컬러를 제거하고 새로운 컬러를 추가하는 것이 가능하다. 새로운 컬러가 추가된 후, 롱텀 팔레트 내의 컬러의 위치가 더 갱신될 수 있다.
롱텀 팔레트는 예로서 다음의 신택스를 이용하여 시그널링될 수 있으며, 여기서 cIdx는 상이한 컬러 채널을 지칭하고, long_term_palette_size는 롱텀 팔레트의 크기를 지칭하고, long_term_palette_entries는 각각의 팔레트 엔트리에 대한 샘플 값을 정의한다.
Figure 112016099828715-pct00001
아래의 표는 시그널링된 롱텀 팔레트를 이용하여 코딩 유닛에 대한 활성 팔레트를 구성하는 신택스의 일례를 제공한다. 먼저, previous_palette_entry_flag syntax 요소를 이용하여, 어느 팔레트 엔트리가 로컬 기준 팔레트로부터 복사되는지를 식별한다. 그것은 (palette_num_signalled_entries 신택스 요소를 이용하여 시그널링되는) 추가 팔레트 엔트리의 수의 지시에 의해 이어진다. 추가 엔트리 각각에 대해, (신택스 요소 copy_from_long_term_palette_flag를 이용하여) 롱텀 팔레트로부터 엔트리가 복사되는지 그리고 그러한 경우에 (index_in_long_term_palette 신택스 요소를 이용하여) 롱텀 팔레트 내의 어느 엔트리가 활성 팔레트로 복사되는지가 시그널링된다.
Figure 112016099828715-pct00002
도 6a 및 6b에서, 정사각형은 코딩 유닛을 나타내며, 회색 음영 정사각형은 백색 정삭각형과 유사한 컬러 특성 및 상이한 컬러 특성을 갖는 코딩 유닛을 나타낸다. 도 6a에서, 회색 코딩 유닛의 팔레트는 정확히 예측될 수 없지만, 도 6b에서는 슬라이스(640)에 대한 롱텀 팔레트가 시그널링될 수 있고, 상이한 컬러 특성을 갖는 회색 코딩 유닛을 코딩하는 데 사용될 수 있다.
본 실시예는 코딩 유닛의 고정 스캐닝을 이용하는 접근법을 능가하는 장점을 제공한다. 예로서, 본 방법에 의해, 인코딩 또는 디코딩 복잡성에 큰 영향 없이 팔레트 기반 이미지/비디오 코딩의 코딩 효율이 개선된다.
본 발명의 다양한 실시예는 메모리 내에 상주하고 관련 장치가 본 발명을 실행하게 하는 컴퓨터 프로그램 코드의 도움으로 구현될 수 있다. 예로서, 디바이스가 메모리 내의 데이터, 컴퓨터 프로그램 코드를 처리, 수신 및 송신하기 위한 회로 및 일렉트로닉스, 및 컴퓨터 프로그램 코드를 실행할 때 디바이스가 일 실시예의 특징을 실행하게 하는 프로세서를 포함할 수 있다. 또한, 서버와 같은 네트워크 디바이스가 메모리 내의 데이터, 컴퓨터 프로그램 코드를 처리, 수신 및 송신하기 위한 회로 및 일렉트로닉스, 및 컴퓨터 프로그램 코드를 실행할 때 네트워크 디바이스가 일 실시예의 특징을 실행하게 하는 프로세서를 포함할 수 있다.
원할 경우에, 본 명세서에서 설명되는 상이한 기능이 상이한 순서로 그리고/또는 서로 동시에 수행될 수 있다. 더구나, 원할 경우에, 전술한 기능 중 하나 이상은 옵션일 수 있거나 조합될 수 있다.
본 발명의 다양한 양태가 독립 청구항에서 개시되지만, 본 발명의 다른 양태는 청구항에 명확히 개시된 조합만이 아니라 설명된 실시예 및/또는 종속 청구항으로부터의 특징과 독립 청구항의 특징의 다른 조합을 포함한다.
위에서는 본 발명의 실시예가 설명되지만, 이러한 설명은 한정의 의미로 간주되지 않아야 한다는 점에도 유의한다. 오히려, 첨부된 청구항에서 정의되는 바와 같은 본 발명의 범위로부터 벗어나지 않고서 행해질 수 있는 여러 변형 및 변경이 존재한다.
제1 예에 따르면,
롱텀 팔레트 정보를 시그널링하는 단계 - 롱텀 팔레트 정보는 적어도 롱텀 팔레트 내의 각각의 엔트리에 대한 컬러 값에 대한 정보를 포함함 -;
로컬 팔레트로부터 적어도 하나의 컬러 값을 그리고 롱텀 팔레트로부터 적어도 하나의 컬러 값을 선택하거나;
로컬 팔레트 또는 롱텀 팔레트로부터 컬러 값을 선택함으로써,
코딩 유닛을 코딩하는 데 사용되는 팔레트를 생성하는 단계
를 포함하는 방법이 제공된다.
일 실시예에 따르면, 로컬 팔레트는 다른 코딩 유닛에 사용되는 팔레트 또는 다른 코딩 유닛에 사용되는 팔레트의 조합 또는 그러한 팔레트의 서브세트를 지칭한다.
일 실시예에 따르면, 롱텀 팔레트 정보는 롱텀 팔레트 내에 존재하는 컬러의 수에 대한 정보를 더 포함한다.
일 실시예에 따르면, 방법은 팔레트 모드에서 압축된 코딩 유닛을 디코딩하는 단계를 포함하고, 디코딩하는 단계는
롱텀 팔레트가 시그널링되는지의 여부에 대한 슬라이스 헤더에서의 지시를 디코딩하는 단계;
롱텀 팔레트가 시그널링되는 경우, 각각의 롱텀 팔레트 엔트리에 대한 컬러 정보에 대한 정보를 디코딩하는 단계;
롱텀 팔레트가 사용되는 경우, 팔레트 모드에서 코딩된 코딩 유닛에 대한 팔레트 인덱스를 디코딩하는 단계 - 적어도 하나의 팔레트 인덱스는 롱텀 팔레트 내의 컬러 값을 지칭함 -
를 포함한다.
일 실시예에 따르면, 방법은 다음의 레벨: 슬라이스 헤더, 픽처 파라미터 세트, 적응 파라미터 세트 중 하나에서 롱텀 팔레트 정보를 시그널링하는 단계를 포함한다.
일 실시예에 따르면, 방법은 롱텀 팔레트의 세트를 시퀀스 레벨 신택스 구조 내에서 시그널링하는 단계를 포함한다.
일 실시예에 따르면, 방법은 롱텀 팔레트의 일부 엔트리를 더 일찍 시그널링된 롱텀 팔레트 사이에서 공유하는 단계를 포함한다.
일 실시예에 따르면, 롱텀 팔레트의 크기는 고정되거나 적응적이다.
일 실시예에 따르면, 방법은 롱텀 팔레트의 존재를 항상 또는 조건부로 시그널링하는 단계를 포함한다.
일 실시예에 따르면, 방법은 코딩 유닛 레벨에서 시그널링되는 롱텀 팔레트 인덱스의 이진화를 더 시그널링하는 단계를 포함한다.
일 실시예에 따르면, 코딩 유닛에 사용되는 팔레트는 롱텀 팔레트와 코딩 유닛 레벨에서 시그널링되는 팔레트의 조합이다.
일 실시예에 따르면, 코딩 유닛에 사용되는 팔레트는 다른 코딩 유닛을 위한 디코딩된 팔레트, 롱텀 팔레트 또는 명확히 시그널링된 엔트리 중 하나 이상으로부터의 엔트리를 포함한다.
일 실시예에 따르면, 각각의 컬러 성분은 개별 롱텀 팔레트를 갖는다.
일 실시예에 따르면, 컬러 성분은 공동 롱텀 팔레트를 갖는다.
일 실시예에 따르면, 컬러 성분은 휘도, 색도, 컬러, 심도, 불일치 또는 다른 공간 정보를 나타낸다.
일 실시예에 따르면, 방법은 각각의 컬러 성분에 대해 개별적으로 팔레트 엔트리의 (디)코딩을 위한 롱텀 팔레트 사용의 지시를 시그널링하는 단계를 포함한다.
일 실시예에 따르면, 방법은 소정의 코딩 유닛에 대한 팔레트의 어느 엔트리가 롱텀 팔레트로부터 복사되는지, 어느 엔트리가 이전에 디코딩된 코딩 유닛에 사용된 팔레트로부터 복사되는지 그리고 얼마나 많은 엔트리가 명시적으로 시그널링되는지를 시그널링하는 단계를 포함한다.
일 실시예에 따르면, 방법은 각각의 코딩 유닛에 사용된 롱텀 팔레트를 동적으로 변경하는 단계를 포함한다.
일 실시예에 따르면, 방법은 인코더에 의해 시그널링될 롱텀 팔레트를 도출하는 단계를 포함한다.
일 실시예에 따르면, 방법은 (디)코딩 순서에서의 하나 이상의 이전 픽처 내의 통상의 그리고/또는 롱텀 팔레트(들)의 사용된 팔레트 엔트리에 기초하여 롱텀 팔레트를 도출하는 단계를 포함한다.
일 실시예에 따르면, 방법은 이전에 코딩된 코딩 유닛으로부터 예측되는 게 아니라 (디)코딩 순서에서의 하나 이상의 이전 픽처 내의 각각의 코딩 유닛의 코딩 동안 명확히 시그널링된 팔레트 엔트리에 기초하여 롱텀 팔레트를 도출하는 단계를 포함한다.
일 실시예에 따르면, 방법은 인코딩을 위한 소스 콘텐츠가 어떻게 생성되었는지에 대한 정보를 이용하여 롱텀 팔레트를 도출하는 단계를 포함한다.
일 실시예에 따르면, 방법은 최초 롱텀 팔레트를 도출한 후에 현재 픽처의 하나 이상의 코딩 유닛의 통상의 팔레트(들) 내에 포함된 팔레트 엔트리를 배제하는 단계를 포함한다.
제2 예에 따르면, 방법은 인코딩 프로세스 또는 디코딩 프로세스 동안 롱텀 팔레트를 구성하고, 코딩 유닛을 코딩한 후에 롱텀 팔레트를 동적으로 갱신하는 단계; 및 다음 중 하나로부터의: 로컬 또는 이웃 팔레트로부터의, 롱텀 팔레트로부터의 또는 개별적으로 시그널링된 바와 같은 정보를 이용하여 코딩 유닛을 코딩하는 데 사용되는 팔레트를 구성하는 단계를 포함한다.
일 실시예에 따르면, 방법은
롱텀 팔레트를 초기화하는 단계;
a. 로컬 팔레트로부터 적어도 하나의 컬러 값을 그리고 롱텀 팔레트로부터 적어도 하나의 컬러 값을 선택하거나,
b. 로컬 팔레트 또는 롱텀 팔레트로부터 컬러 값을 선택함으로써,
코딩 유닛을 코딩하는 데 사용되는 팔레트를 생성하는 단계;
코딩 유닛이 팔레트 모드에서 코딩되는 경우에 그리고 코딩 유닛이 로컬 팔레트로부터 복사되지 않고 롱텀 팔레트로부터 복사되지 않은 컬러를 포함하는 경우에, 롱텀 팔레트 갱신 프로세스를 이용하여 대응하는 새로운 컬러를 롱텀 팔레트에 추가하는 단계
를 포함한다.
일 실시예에 따르면, 로컬 팔레트는 다른 코딩 유닛에 사용되는 팔레트 또는 다른 코딩 유닛에 사용되는 팔레트의 조합 또는 그러한 팔레트의 서브세트를 지칭한다.
일 실시예에 따르면, 방법은 다양한 위치에서 롱텀 팔레트 정보를 초기화하는 단계를 포함한다.
일 실시예에 따르면, 방법은 방법은 롱텀 팔레트를 비워지도록 초기화하는 단계를 포함한다.
일 실시예에 따르면, 방법은 동적 롱텀 팔레트를 시그널링된 롱텀 팔레트와 동일하도록 초기화하는 단계를 포함한다.
일 실시예에 따르면, 방법은 이전의 픽처로부터 최초 롱텀 팔레트를 도출하는 단계를 포함한다.
일 실시예에 따르면, 방법은 2개 이상의 롱텀 팔레트를 동적으로 유지하는 단계를 포함한다.
일 실시예에 따르면, 롱텀 팔레트의 크기는 고정되거나 적응적이다.
일 실시예에 따르면, 코딩 유닛에 사용되는 팔레트는 롱텀 팔레트와 코딩 유닛 레벨에서 시그널링되는 팔레트의 조합일 수 있다.
일 실시예에 따르면, 방법은 롱텀 팔레트 내의 어느 엔트리도 새로운 컬러를 포함하지 않는 경우에 그러한 컬러를 롱텀 팔레트에 추가하는 롱텀 팔레트 갱신 프로세스를 포함한다.
일 실시예에 따르면, 방법은 먼저 새로운 컬러가 존재하는지의 여부에 대해 롱텀 팔레트 내의 엔트리의 서브세트를 체크함으로써 그러한 컬러를 롱텀 팔레트에 추가하는 롱텀 팔레트 갱신 프로세스를 포함한다.
일 실시예에 따르면, 방법은 새로운 컬러를 추가하기 전에 팔레트가 가득 찬 것으로 결정되는 경우에
팔레트 크기를 1만큼 증가시키는 단계;
롱텀 팔레트에 처음 들어간 컬러를 제거하고 새로운 컬러를 추가하는 단계;
가장 적게 사용된 컬러를 제거하고 새로운 컬러를 추가하는 단계
중 하나를 수행하는 롱텀 팔레트 갱신 프로세스를 포함한다.
제3 예에 따르면, 적어도 하나의 프로세서; 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치로서, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서와 함께 장치가 적어도:
롱텀 팔레트 정보를 시그널링하는 단계 - 롱텀 팔레트 정보는 적어도 롱텀 팔레트 내의 각각의 엔트리에 대한 컬러 값에 대한 정보를 포함함 -; 및
로컬 팔레트로부터 적어도 하나의 컬러 값을 그리고 롱텀 팔레트로부터 적어도 하나의 컬러 값을 선택하거나;
로컬 팔레트 또는 롱텀 팔레트로부터 컬러 값을 선택함으로써,
코딩 유닛을 코딩하는 데 사용되는 팔레트를 생성하는 단계
를 수행하게 하도록 구성되는 장치가 제공된다.
제4 예에 따르면, 적어도 하나의 프로세서; 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치로서, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서와 함께 장치가 적어도:
인코딩 프로세스 또는 디코딩 프로세스 동안 롱텀 팔레트를 구성하고, 코딩 유닛을 코딩한 후에 롱텀 팔레트를 동적으로 갱신하는 단계; 및
다음 중 하나로부터의: 로컬 또는 이웃 팔레트로부터의, 롱텀 팔레트로부터의 또는 개별적으로 시그널링된 바와 같은 정보를 이용하여 코딩 유닛을 코딩하는 데 사용되는 팔레트를 구성하는 단계
를 수행하게 하도록 구성되는 장치가 제공된다.
제5 예에 따르면,
처리를 위한 수단;
롱텀 팔레트 정보를 시그널링하기 위한 수단 - 롱텀 팔레트 정보는 적어도 롱텀 팔레트 내의 각각의 엔트리에 대한 컬러 값에 대한 정보를 포함함 -;
로컬 팔레트로부터 적어도 하나의 컬러 값을 그리고 롱텀 팔레트로부터 적어도 하나의 컬러 값을 선택하거나;
로컬 팔레트 또는 롱텀 팔레트로부터 컬러 값을 선택함으로써,
코딩 유닛을 코딩하는 데 사용되는 팔레트를 생성하기 위한 수단
을 포함하는 장치가 제공된다.
제6 예에 따르면,
처리를 위한 수단;
인코딩 프로세스 또는 디코딩 프로세스 동안 롱텀 팔레트를 구성하고, 코딩 유닛을 코딩한 후에 롱텀 팔레트를 동적으로 갱신하기 위한 수단; 및
다음 중 하나로부터의: 로컬 또는 이웃 팔레트로부터의, 롱텀 팔레트로부터의 또는 개별적으로 시그널링된 바와 같은 정보를 이용하여 코딩 유닛을 코딩하는 데 사용되는 팔레트를 구성하기 위한 수단
을 포함하는 장치가 제공된다.
제7 예에 따르면, 컴퓨터와 함께 사용하기 위해 내부에 구현된 컴퓨터 프로그램 코드를 보유하는 컴퓨터 판독 가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 코드는
롱텀 팔레트 정보를 시그널링하기 위한 코드 - 롱텀 팔레트 정보는 적어도 롱텀 팔레트 내의 각각의 엔트리에 대한 컬러 값에 대한 정보를 포함함 -;
로컬 팔레트로부터 적어도 하나의 컬러 값을 그리고 롱텀 팔레트로부터 적어도 하나의 컬러 값을 선택하거나;
로컬 팔레트 또는 롱텀 팔레트로부터 컬러 값을 선택함으로써,
코딩 유닛을 코딩하는 데 사용되는 팔레트를 생성하기 위한 코드
를 포함하는 컴퓨터 프로그램 제품이 제공된다.
제8 예에 따르면, 컴퓨터와 함께 사용하기 위해 내부에 구현된 컴퓨터 프로그램 코드를 보유하는 컴퓨터 판독 가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 코드는
인코딩 프로세스 또는 디코딩 프로세스 동안 롱텀 팔레트를 구성하고, 코딩 유닛을 코딩한 후에 롱텀 팔레트를 동적으로 갱신하기 위한 코드; 및
다음 중 하나로부터의: 로컬 또는 이웃 팔레트로부터의, 롱텀 팔레트로부터의 또는 개별적으로 시그널링된 바와 같은 정보를 이용하여 코딩 유닛을 코딩하는 데 사용되는 팔레트를 구성하기 위한 코드
를 포함하는 컴퓨터 프로그램 제품이 제공된다.
제9 예에 따르면, 컴퓨터에 의해 실행될 때,
롱텀 팔레트 정보를 시그널링하는 단계 - 롱텀 팔레트 정보는 적어도 롱텀 팔레트 내의 각각의 엔트리에 대한 컬러 값에 대한 정보를 포함함 -;
로컬 팔레트로부터 적어도 하나의 컬러 값을 그리고 롱텀 팔레트로부터 적어도 하나의 컬러 값을 선택하거나;
로컬 팔레트 또는 롱텀 팔레트로부터 컬러 값을 선택함으로써,
코딩 유닛을 코딩하는 데 사용되는 팔레트를 생성하는 단계
를 수행하는 명령어가 인코딩된 비일시적 컴퓨터 판독 가능 매체가 제공된다.
제10 예에 따르면, 컴퓨터에 의해 실행될 때,
인코딩 프로세스 또는 디코딩 프로세스 동안 롱텀 팔레트를 구성하고, 코딩 유닛을 코딩한 후에 롱텀 팔레트를 동적으로 갱신하는 단계; 및
다음 중 하나로부터의: 로컬 또는 이웃 팔레트로부터의, 롱텀 팔레트로부터의 또는 개별적으로 시그널링된 바와 같은 정보를 이용하여 코딩 유닛을 코딩하는 데 사용되는 팔레트를 구성하는 단계
를 수행하는 명령어가 인코딩된 비일시적 컴퓨터 판독 가능 매체가 제공된다.

Claims (29)

  1. 인코딩 프로세스 또는 디코딩 프로세스 동안 롱텀 팔레트(long-term palette)를 구성하는 단계와,
    상기 롱텀 팔레트 또는 개별적으로 시그널링되는 팔레트 엔트리 또는 이들 양자로부터의 정보를 이용하여 코딩 유닛을 인코딩 또는 디코딩하는 데 사용되는 팔레트를 구성하는 단계와,
    상기 코딩 유닛을 인코딩 또는 디코딩한 후에 상기 롱텀 팔레트를 동적으로 갱신하는 단계를 포함하고,
    상기 롱텀 팔레트는 이웃하지 않는 코딩 유닛들 사이의 컬러 상관(colour-correlation)을 나타내고, 상기 롱텀 팔레트는 상기 코딩 유닛의 시그널링 레벨보다 높은 시그널링 레벨로 시그널링되는
    방법.
  2. 제1항에 있어서,
    상기 롱텀 팔레트를 초기화하는 단계와,
    롱텀 팔레트로부터 적어도 하나의 컬러 값을 선택하는 것, 또는
    상기 팔레트에 포함될 적어도 하나의 컬러 값을 시그널링하는 것
    중 하나 또는 이들 양자에 의해 코딩 유닛을 인코딩 또는 디코딩하는 데 사용되는 팔레트를 생성하는 단계와,
    상기 코딩 유닛이 팔레트 모드에서 코딩되는 경우에 그리고 상기 코딩 유닛이 상기 롱텀 팔레트로부터 복사되지 않은 컬러를 포함하는 경우에, 롱텀 팔레트 갱신 프로세스를 이용하여 대응하는 새로운 컬러를 상기 롱텀 팔레트에 추가하는 단계를 더 포함하는
    방법.
  3. 제1항에 있어서,
    특정 코딩 유닛에 대한 상기 팔레트의 어느 엔트리가 상기 롱텀 팔레트로부터 복사되는지 그리고 몇 개의 엔트리가 명시적으로 시그널링되는지를 시그널링하는 단계를 더 포함하는
    방법.
  4. 제1항에 있어서,
    코딩 유닛의 인코딩 또는 디코딩 전에 또는 상기 코딩 유닛의 인코딩 또는 디코딩 동안에 상기 롱텀 팔레트를 동적으로 갱신하는 단계를 더 포함하는
    방법.
  5. 제1항에 있어서,
    다양한 위치에서 상기 롱텀 팔레트의 정보를 초기화하는 단계를 더 포함하되, 상기 위치는 슬라이스 헤더, 픽처 파라미터 세트 또는 적응 파라미터 세트 중 하나인
    방법.
  6. 제1항에 있어서,
    상기 롱텀 팔레트를 비워지도록 초기화하는 단계를 더 포함하는
    방법.
  7. 제1항에 있어서,
    이전 픽처로부터 최초의 롱텀 팔레트를 도출하는 단계를 더 포함하는
    방법.
  8. 제1항에 있어서,
    2개 이상의 롱텀 팔레트를 동적으로 유지하는 단계를 더 포함하는
    방법.
  9. 제1항에 있어서,
    상기 롱텀 팔레트의 크기는 고정되거나 조정가능한(adaptive)
    방법.
  10. 제1항에 있어서,
    코딩 유닛에 사용되는 상기 팔레트는 상기 롱텀 팔레트와 코딩 유닛 레벨에서 시그널링되는 팔레트의 조합일 수 있는
    방법.
  11. 제1항에 있어서,
    상기 롱텀 팔레트 내의 엔트리 중 어느 것도 새로운 컬러를 포함하지 않는 경우에 상기 새로운 컬러가 상기 롱텀 팔레트에 추가되는 롱텀 팔레트 갱신 프로세스를 더 포함하는
    방법.
  12. 제1항에 있어서,
    새로운 컬러가 존재하는지의 여부에 대해 상기 롱텀 팔레트 내의 엔트리의 서브세트를 체크함으로써 상기 새로운 컬러가 상기 롱텀 팔레트에 추가되는 롱텀 팔레트 갱신 프로세스를 더 포함하는
    방법.
  13. 제1항에 있어서,
    새로운 컬러를 추가하기 전에 상기 팔레트가 가득 찬 것으로 결정되는 경우에,
    팔레트 크기를 1만큼 증가시키는 단계와,
    상기 롱텀 팔레트에 처음 들어간 컬러를 제거하고 상기 새로운 컬러를 추가하는 단계와,
    가장 적게 사용된 컬러를 제거하고 상기 새로운 컬러를 추가하는 단계
    중 하나를 수행하는 롱텀 팔레트 갱신 프로세스를 더 포함하는
    방법.
  14. 장치로서,
    롱텀 팔레트 또는 개별적으로 시그널링되는 팔레트 엔트리 또는 이들 양자로부터의 정보를 이용하여 코딩 유닛을 인코딩 또는 디코딩하는 데 사용되는 팔레트를 구성하고,
    코딩 유닛을 인코딩 또는 디코딩한 후에 상기 롱텀 팔레트를 동적으로 갱신하도록 구성되며,
    상기 롱텀 팔레트는 이웃하지 않는 코딩 유닛들 사이의 컬러 상관을 나타내고, 상기 롱텀 팔레트는 상기 코딩 유닛의 시그널링 레벨보다 높은 시그널링 레벨로 시그널링되는
    장치.
  15. 제14항에 있어서,
    상기 롱텀 팔레트를 초기화하고,
    롱텀 팔레트로부터 적어도 하나의 컬러 값을 선택하는 것, 또는
    상기 팔레트에 포함될 적어도 하나의 컬러 값을 시그널링하는 것
    중 하나 또는 이들 양자에 의해 코딩 유닛을 인코딩 또는 디코딩하는 데 사용되는 팔레트를 생성하고,
    상기 코딩 유닛이 팔레트 모드에서 코딩되는 경우에 그리고 상기 코딩 유닛이 상기 롱텀 팔레트로부터 복사되지 않은 컬러를 포함하는 경우에, 롱텀 팔레트 갱신 프로세스를 이용하여 대응하는 새로운 컬러를 상기 롱텀 팔레트에 추가하도록 더 구성되는
    장치.
  16. 제14항에 있어서,
    특정 코딩 유닛에 대한 상기 팔레트의 어느 엔트리가 상기 롱텀 팔레트로부터 복사되는지 그리고 몇 개의 엔트리가 명시적으로 시그널링되는지를 시그널링하도록 더 구성되는
    장치.
  17. 제14항에 있어서,
    코딩 유닛의 인코딩 또는 디코딩 전에 또는 상기 코딩 유닛의 인코딩 또는 디코딩 동안에 상기 롱텀 팔레트를 동적으로 갱신하도록 더 구성되는
    장치.
  18. 제14항에 있어서,
    상기 장치는 다양한 위치에서 상기 롱텀 팔레트의 정보를 초기화하도록 더 구성되고, 상기 위치는 슬라이스 헤더, 픽처 파라미터 세트 또는 적응 파라미터 세트 중 하나인
    장치.
  19. 제14항에 있어서,
    상기 롱텀 팔레트를 비워지도록 초기화하도록 더 구성되는
    장치.
  20. 제14항에 있어서,
    이전 픽처로부터 최초의 롱텀 팔레트를 도출하도록 더 구성되는
    장치.
  21. 제14항에 있어서,
    2개 이상의 롱텀 팔레트를 동적으로 유지하도록 더 구성되는
    장치.
  22. 제14항에 있어서,
    상기 롱텀 팔레트의 크기는 고정되거나 조정가능한
    장치.
  23. 제14항에 있어서,
    코딩 유닛에 사용되는 상기 팔레트는 상기 롱텀 팔레트와 코딩 유닛 레벨에서 시그널링되는 팔레트의 조합일 수 있는
    장치.
  24. 제14항에 있어서,
    상기 롱텀 팔레트 내의 엔트리 중 어느 것도 새로운 컬러를 포함하지 않는 경우에 상기 새로운 컬러가 상기 롱텀 팔레트에 추가되는 롱텀 팔레트 갱신 프로세스를 수행하도록 더 구성되는
    장치.
  25. 제14항에 있어서,
    새로운 컬러가 존재하는지의 여부에 대해 상기 롱텀 팔레트 내의 엔트리의 서브세트를 체크함으로써 상기 새로운 컬러가 상기 롱텀 팔레트에 추가되는 롱텀 팔레트 갱신 프로세스를 수행하도록 더 구성되는
    장치.
  26. 제14항에 있어서,
    새로운 컬러를 추가하기 전에 상기 팔레트가 가득 찬 것으로 결정되는 경우에,
    팔레트 크기를 1만큼 증가시키는 것과,
    상기 롱텀 팔레트에 처음 들어간 컬러를 제거하고 상기 새로운 컬러를 추가하는 것과,
    가장 적게 사용된 컬러를 제거하고 상기 새로운 컬러를 추가하는 것
    중 하나를 수행하는 롱텀 팔레트 갱신 프로세스를 수행하도록 더 구성되는
    장치.
  27. 컴퓨터와 함께 사용하기 위해 내부에 구현된 컴퓨터 프로그램 코드를 보유하는 컴퓨터 판독 가능 저장 매체로서,
    상기 컴퓨터 프로그램 코드는,
    롱텀 팔레트 또는 개별적으로 시그널링되는 팔레트 엔트리 또는 이들 양자로부터의 정보를 이용하여 코딩 유닛을 인코딩 또는 디코딩하는 데 사용되는 팔레트를 구성하기 위한 코드와,
    코딩 유닛을 인코딩 또는 디코딩한 후에 상기 롱텀 팔레트를 동적으로 갱신하기 위한 코드를 포함하고,
    상기 롱텀 팔레트는 이웃하지 않는 코딩 유닛들 사이의 컬러 상관을 나타내고, 상기 롱텀 팔레트는 상기 코딩 유닛의 시그널링 레벨보다 높은 시그널링 레벨로 시그널링되는
    컴퓨터 판독 가능 저장 매체.
  28. 명령어가 인코딩된 비일시적 컴퓨터 판독 가능 매체로서,
    상기 명령어는 컴퓨터에 의해 실행될 때,
    롱텀 팔레트 또는 개별적으로 시그널링되는 팔레트 엔트리 또는 이들 양자로부터의 정보를 이용하여 코딩 유닛을 인코딩 또는 디코딩하는 데 사용되는 팔레트를 구성하는 것과,
    코딩 유닛을 인코딩 또는 디코딩한 후에 상기 롱텀 팔레트를 동적으로 갱신하는 것을 수행하고,
    상기 롱텀 팔레트는 이웃하지 않는 코딩 유닛들 사이의 컬러 상관을 나타내고, 상기 롱텀 팔레트는 상기 코딩 유닛의 시그널링 레벨보다 높은 시그널링 레벨로 시그널링되는
    비일시적 컴퓨터 판독 가능 매체.
  29. 삭제
KR1020167028718A 2014-03-17 2015-03-16 비디오 인코딩 및 디코딩을 위한 방법 및 기술 장비 KR101854066B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461954247P 2014-03-17 2014-03-17
US61/954,247 2014-03-17
PCT/FI2015/050172 WO2015140402A2 (en) 2014-03-17 2015-03-16 Method and technical equipment for video encoding and decoding

Publications (2)

Publication Number Publication Date
KR20160134777A KR20160134777A (ko) 2016-11-23
KR101854066B1 true KR101854066B1 (ko) 2018-05-02

Family

ID=54145435

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167028718A KR101854066B1 (ko) 2014-03-17 2015-03-16 비디오 인코딩 및 디코딩을 위한 방법 및 기술 장비

Country Status (9)

Country Link
US (1) US20150312573A1 (ko)
EP (1) EP3120548B1 (ko)
JP (1) JP2017513358A (ko)
KR (1) KR101854066B1 (ko)
CN (1) CN106464888A (ko)
CA (1) CA2942737A1 (ko)
RU (1) RU2668723C2 (ko)
WO (1) WO2015140402A2 (ko)
ZA (1) ZA201607006B (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11109036B2 (en) 2013-10-14 2021-08-31 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
US10582213B2 (en) 2013-10-14 2020-03-03 Microsoft Technology Licensing, Llc Features of intra block copy prediction mode for video and image coding and decoding
CA2925183C (en) 2013-10-14 2020-03-10 Microsoft Technology Licensing, Llc Features of base color index map mode for video and image coding and decoding
KR102353787B1 (ko) 2014-01-03 2022-01-19 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 이미지 코딩/디코딩에서의 블록 벡터 예측
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
EP3158734A1 (en) 2014-06-19 2017-04-26 Microsoft Technology Licensing, LLC Unified intra block copy and inter prediction modes
EP3917146A1 (en) * 2014-09-30 2021-12-01 Microsoft Technology Licensing, LLC Rules for intra-picture prediction modes when wavefront parallel processing is enabled
WO2016192678A1 (en) * 2015-06-03 2016-12-08 Mediatek Inc. Methods for palette coding of image and video data
CN106254865B (zh) * 2015-06-08 2020-06-09 同济大学 一种图像编码及解码方法、图像处理设备
US10659783B2 (en) 2015-06-09 2020-05-19 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode
US10356432B2 (en) 2015-09-14 2019-07-16 Qualcomm Incorporated Palette predictor initialization and merge for video coding
CN109982087B (zh) * 2017-12-27 2021-07-02 联发科技股份有限公司 图像处理电路及相关的图像处理方法
RU2020128285A (ru) * 2018-01-26 2022-02-28 Университат Де Барселона Цветовая коррекция
CN111435995B (zh) * 2019-01-15 2022-05-17 北京字节跳动网络技术有限公司 用于生成动态图片的方法、装置和***
WO2020169103A1 (en) * 2019-02-24 2020-08-27 Beijing Bytedance Network Technology Co., Ltd. Independent coding of palette mode usage indication
KR20220032520A (ko) 2019-07-20 2022-03-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 팔레트 모드 사용 지시의 조건 종속적인 코딩
CN117221536A (zh) 2019-07-23 2023-12-12 北京字节跳动网络技术有限公司 调色板模式编解码的模式确定
WO2021018167A1 (en) 2019-07-29 2021-02-04 Beijing Bytedance Network Technology Co., Ltd. Palette mode coding in prediction process
CN114208195A (zh) * 2019-08-06 2022-03-18 北京字节跳动网络技术有限公司 基于颜色格式的尺寸限制
CN114788284B (zh) * 2019-12-30 2023-03-31 阿里巴巴(中国)有限公司 用于在调色板模式下对视频数据进行编码的方法和装置
CN113192148B (zh) * 2021-04-12 2023-01-03 中山大学 基于调色盘的属性预测方法、装置、设备及介质
US20230231991A1 (en) * 2022-01-14 2023-07-20 Tencent America LLC Palette Predictor Generation and Signaling

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US26641A (en) * 1859-12-27 Improvement in revolving fire-arms
JP2582999B2 (ja) * 1992-07-22 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション カラーパレット発生方法、装置及びデータ処理システム並びにルックアップテーブル入力発生方法
US6819793B1 (en) * 2000-06-30 2004-11-16 Intel Corporation Color distribution for texture and image compression
JP2003009244A (ja) * 2001-06-25 2003-01-10 Fuji Photo Film Co Ltd 画像データ送信装置およびその制御方法
US7302006B2 (en) * 2002-04-30 2007-11-27 Hewlett-Packard Development Company, L.P. Compression of images and image sequences through adaptive partitioning
KR20050048722A (ko) * 2003-11-19 2005-05-25 정보통신연구진흥원 Vm 기반 모바일 플랫폼하에서 데이타 손실이 없는 모바일이미지 데이터 압축 및 복원에 관한 기술
US7606427B2 (en) * 2004-07-08 2009-10-20 Qualcomm Incorporated Efficient rate control techniques for video encoding
CN200962655Y (zh) * 2006-09-08 2007-10-17 上海尚茂电子技术有限公司 一种用于移动设备的活动图像压缩***
US7903873B2 (en) * 2007-09-13 2011-03-08 Microsoft Corporation Textual image coding
RU2420021C2 (ru) * 2009-03-24 2011-05-27 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ сжатия изображений и видеопоследовательностей
US8606733B2 (en) * 2009-12-07 2013-12-10 Xerox Corporation System and method for classification and selection of color palettes
EP3334161B1 (en) * 2010-09-13 2019-08-21 Sony Interactive Entertainment Inc. Image processing device, image processing method, and data structure of moving image file
US8615138B2 (en) * 2011-11-03 2013-12-24 Google Inc. Image compression using sub-resolution images
US9344720B2 (en) * 2012-08-07 2016-05-17 Apple Inc. Entropy coding techniques and protocol to support parallel processing with low latency
US9558567B2 (en) * 2013-07-12 2017-01-31 Qualcomm Incorporated Palette prediction in palette-based video coding
GB201321850D0 (en) * 2013-12-10 2014-01-22 Canon Kk Palette Prediction

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LAI, POLIN et al."Non-RCE4 : Major color table(palette) sharing",document : JCTVC-P0153, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11(2014.01.17)*

Also Published As

Publication number Publication date
EP3120548B1 (en) 2019-12-11
ZA201607006B (en) 2018-08-29
EP3120548A4 (en) 2017-11-22
EP3120548A2 (en) 2017-01-25
CN106464888A (zh) 2017-02-22
CA2942737A1 (en) 2015-09-24
US20150312573A1 (en) 2015-10-29
RU2668723C2 (ru) 2018-10-02
WO2015140402A3 (en) 2015-11-12
WO2015140402A2 (en) 2015-09-24
KR20160134777A (ko) 2016-11-23
JP2017513358A (ja) 2017-05-25
RU2016138404A (ru) 2018-04-17

Similar Documents

Publication Publication Date Title
KR101854066B1 (ko) 비디오 인코딩 및 디코딩을 위한 방법 및 기술 장비
US11375200B2 (en) Video coding method and device for controlling color component processing
JP6272630B2 (ja) ビデオ符号化及び復号の方法及び技術装置
EP3852370B1 (en) Video image prediction method and apparatus
US20140198846A1 (en) Device and method for scalable coding of video information
AU2023202685B2 (en) Method and apparatus for intra prediction
US20150312568A1 (en) Method and technical equipment for video encoding and decoding
CN113711594A (zh) 用于视频编码和解码的装置、方法和计算机程序
KR20180069850A (ko) 공간 인트라 예측을 위한 헬퍼 데이터를 이용한 비디오 코딩
US11277608B2 (en) Method and apparatus for intra prediction
EP4404571A2 (en) Inter prediction method and apparatus
WO2017093604A1 (en) A method, an apparatus and a computer program product for encoding and decoding video
WO2016051362A1 (en) Method and equipment for encoding and decoding an intra block copy vector
KR20210059768A (ko) 디지털 이미지/비디오 자료를 인코딩 및 디코딩하는 방법 및 장치
WO2018229327A1 (en) A method and an apparatus and a computer program product for video encoding and decoding
WO2022200042A1 (en) General region-based hash
WO2017178696A1 (en) An apparatus and a computer program product for video encoding and decoding, and a method for the same

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
GRNT Written decision to grant