KR20140093255A - 슬라이스 파라미터 세트 인코딩 및 디코딩 방법과 장치 - Google Patents

슬라이스 파라미터 세트 인코딩 및 디코딩 방법과 장치 Download PDF

Info

Publication number
KR20140093255A
KR20140093255A KR1020147014852A KR20147014852A KR20140093255A KR 20140093255 A KR20140093255 A KR 20140093255A KR 1020147014852 A KR1020147014852 A KR 1020147014852A KR 20147014852 A KR20147014852 A KR 20147014852A KR 20140093255 A KR20140093255 A KR 20140093255A
Authority
KR
South Korea
Prior art keywords
aps
coding tool
slice
parameter
coding
Prior art date
Application number
KR1020147014852A
Other languages
English (en)
Other versions
KR101600056B1 (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 KR20140093255A publication Critical patent/KR20140093255A/ko
Application granted granted Critical
Publication of KR101600056B1 publication Critical patent/KR101600056B1/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/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/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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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

Landscapes

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

Abstract

본 발명은 슬라이스 파라미터 세트 인코딩 방법을 제공한다. 이 방법은 이미 존재하는 파라미터 세트에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 파라미터 세트가 존재할 경우, 파라미터 세트의 식별자를 현재 슬라이스의 비트 스트림에 인코딩하는 단계를 포함하고 상기 파라미터 세트에 하나 혹은 다수의 슬라이스 인코딩/디코딩에 사용되는 코딩도구 공공정보가 포함된다. 이에 대응하여 본 발명에 의하면 슬라이스 파라미터 디코딩 방법 및 슬라이스 파라미터 세트 인코딩/디코딩에 사용되는 장치를 제공하여 슬라이스 헤더 정보에서 다수의 파라미터 세트를 인용할 경우에도 이미 인코딩한 파라미터 세트 정보를 충분히 이용할 수 있고 슬라이스 인코딩/디코딩에 사용되는 코딩도구를 영활하게 배치할 수 있으며 정보 중복 현상을 저하시킬 수 있다.

Description

슬라이스 파라미터 세트 인코딩 및 디코딩 방법과 장치{FRAGMENTATION-LAYER PARAMETER SET CODING AND DECODING METHOD AND DEVICE}
본 발명은 비디오 압축 코딩 기술에 관한 것으로서, 슬라이스 파라미터 세트 디코딩 및 인코딩 방법과 장치에 관한 것이다.
파라미터 세트(Parameter Set)는 비디오 인코딩 표준에서 가장 기본적인 데이터 구조로서 그 중, 인코딩/디코딩에서 필요한 플래그(Flags), 공공파라미터정보(예를 들면 Profile, 등급(Level) 인덱스 번호 등)과 같은 공공정보를 포함한다. 일반적으로 파라미터 세트에서의 플래그와 파라미터에 의하여 코더/디코더의 한 시각에서의 인코딩/디코딩도구의 사용 상황이 결정되며 일부 중요한 알고리즘은 다만 플래그 파생물의 세부적인 조작 설명이다. 따라서, 파라미터 세트의 데이터 구조, 인코딩/디코딩 및 인용방법에 의하여 비디오 인코딩 기준의 기본 프레임과 비트 스트림의 조직 형식이 결정된다.
현재, 고기능 비디오 인코딩 (HEVC, High-Efficiency Video Coding) 기준에는 시퀀스 파라미터 세트(SPS, sequence parameter set), 픽처 파라미터 세트(PPS, picture parameter set),적응 파라미터 세트APS, Adaptation Parameter Set)와 같은 3가지 파라미터 세트가 포함된다. 그 중, SPS에는 입력된 전체 비디오 시퀀스에 대한 인코딩/디코딩에 사용되는 공공정보를 포함하고, PPS는 단일 픽처 혹은 다수 픽처에 대한 인코딩/디코딩에 사용되는 공공정보를 포함하고, APS는 하나 혹은 다수의 슬라이스(slice)에 대한 인코딩/디코딩에 사용되는 인코딩도구 공공정보를 포함하는 데이터 구조이다. SPS, PPS의 인코딩/디코딩과 인용방법은 종래 표준H.264/AVC와 유사하며 인코딩측의 APS의 인코딩과 인용방법은 하기 단계를 포함한다.
단계 1: 인코더(encoder)는 SPS, PPS에 근거하여 현재 슬라이스의 인코딩 과정에서의 사용을 허용하는 코딩도구를 결정한다.
단계 2: 인코더는 현재 슬라이스에 대해 인코딩한다. 그 중, 인코더의 최적화 모듈은 이 슬라이스의 인코딩 과정에서 사용되는 코딩도구 및 코딩도구 파라미터를 결정한다.
단계 3: 인코더는 이미 존재하는 APS 중의 코딩도구 파라미터와 현재 슬라이스에 사용되는 코딩도구 파라미터가 완전히 동일한가를 측정한다. 만일 동일하면 단계 4 를 실행하고; 그렇지 않으면 단계 5를 실행한다.
단계 4: 인코더는 이 APS의 식별자를 슬라이스 헤더 정보에 입력하며 현재 슬라이스의 APS 정보 인코딩 과정은 종료된다.
단계 5: 인코더는 현재 슬라이스가 사용한 코딩도구 파라미터에 따라 새로운 APS를 생성하며 상기 APS에 새로운 식별자를 부여한다. 인코더는 이 APS의 식별자를 슬라이스 헤더 정보에 입력함으로써 현재 슬라이스의 APS 정보 인코딩 과정은 종료된다.
상기에서 코딩도구는 픽처코딩도구,픽처 혹은 슬라이스의 공공제어모듈이다. 픽처코딩도구는 적응적 샘플 오브셋(SAO, sample adaptive offset), 적응루프필터(ALF, adaptive loop filter), 가중예측(WP, Weighted prediction)등을 포함한다. 픽처 혹은 슬라이스 공공제어모듈은 디코딩 화상 버퍼(DPB,decoded picture buffer)관리모듈,참조픽처표시및조정모듈, 참조픽처리스트 구조모듈 등을 포함한다. 코딩도구 파라미터는 코딩도구의 ON/OFF플래그; SAO의 각각부대역의 첨가적(additive) 편이량 값,ALF에서 사용되는 필터 계수값,픽처 혹은 슬라이스 공공제어모듈에서의 참조픽처정보 등과 같은 코딩코구를 사용하여 화소를 회복하는 과정에 필요되는 연산 파라미터를 포함한다.
또한, 인코더는 매개 슬라이스에 서로 다른 APS를 사용하고 동일 픽처중의 모든 슬라이스에 동일한 APS를 사용할 수도 있으며 다수 슬라이스(동일 픽처중의 슬라이스가 아닐수 도 있음)에 동일한 APS를 사용할 수도 있다.
디코딩부에서 APS의 디코딩과 인용방법은 다음과 같은 단계를 포함한다.
단계 1: 디코더는 슬라이스헤더 정보 부분의 2진수 비트 스트림(binary bit-stream)을 해석하고 현재 슬라이스의 디코딩에 사용되는 APS 식별자를 결정한다.
단계 2: 디코더는 해석을 통해 취득한 APS 식별자에 따라 대응되는 APS의 비트 스트림을 해석하여 슬라이스의 디코딩에 사용되는 코딩도구 및 코딩도구 파라미터를 취득한다.
단계 3: 디코더는 APS에 따라 코딩도구를 배치하며 배치한 코딩도구를 사용하여 상기 슬라이스에 포함한 화소를 회복함으로써 이 슬라이드의 디코딩 단계는 종료 된다.
종래의 방법은 주로 다음 4개 방면으로 한정된다.
첫째: 인코더는 인코딩한 APS 정보를 충분히 이용하지 못한다. APS에는 동시에 다종류 코딩도구 파라미터가 포함되며 슬라이스헤더 정보에서 단지 한 APS를 인용하 도록 한다. 따라서,슬라이스에서 사용되는 코딩도구 파라미터는 임의 APS 중의 관련 정보와 완전 동일할 경우, 인코더는 상기 APS를 직접 사용할 수 있으며 슬라이스를 위하여 새로운 APS를 생성할 필요가 없다. 따라서,슬라이스의 인코딩에 한 코딩도구의 코딩도구 파라미터는 변하지 않으며 기타 코딩도구 파라미터는 변하게 되며 인코더는 반드시 추후 인코딩하는 슬라이스를 위해 새로운 APS를 재생성해야 하며 직접적으로 APS 중에 이미 존재하는 코딩도구 파라미터를 사용할 수 없다.
둘째: APS의 인코딩과 인용방법은 정보 중복 문제가 존재한다. 상기와 같이 인코더가 재생성한 새로운 APS에서 그 전 APS에서 이미 존재하는 코딩도구 파라미터를 중복 인코딩해야 하기 경우, 별도의 코딩 비트가 더 필요된다.
셋째: 인코더는 APS를 통해 원활하게 코딩도구를 배치할 수 없다. 상기 상황 제외 하고 인코더는 매개 코딩도구를 위해 "각각 배치, 슬라이스 인코딩에 조합사용"하는 방식으로 코딩도구의 원활한 배치를 구현할 수 없다.
넷째: 슬라이스이 코딩도구를 OFF하는 방법은 많은 비트를 소모하게 된다. 인코딩/디코딩 과정에서 사용 가능한 코딩도구에 대하여 만일 실제적인 인코딩/디코딩 과정에서 한 혹은 복 수 코딩도구를 사용하지 않으면 "슬라이스 인코딩/디코딩 과정에서 이 코딩도구를 OFF"라고 하는 플래그만 포함하는 파라미터 세트를 별도로 생성해야 하며 이 파라미터 세트의 식별자를 슬라이스헤더 정보에 입력해야 한다. 따라서, 인코더는 "이 코딩도구를 OFF"와 같은 플래그 정보(일반적으로 필요한 비트 소모량은 플래구의 수량과 동일) 를 인코딩하기 위해 "별도로" 파라미터 세트 구조의 기타 정보와 슬라이스 파라미터 세트 식별자 정보가 필요되기 때문에 비교적 큰 인코딩 비트가 소모된다.
본 발명은 이미 인코딩한 APS 정보를 충분히 이용할 수 있고 슬라이스 인코딩/디코딩 과정에서 사용되는 코딩도구를 원활하게 배치할 수 있고 정보 중복 현상을 저하시킬 수 있는 슬라이스 파라미터 세트 디코딩 및 인코딩 방법과 장치를 제공하는 것을 그 목적으로 한다.
본 발명의 기술방안은 하기와 같이 실현된다.
본 발명에 의하면 이미 존재하는 파라미터 세트에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 파라미터 세트가 존재할 경우, 상기 파라미터 세트의 식별자를 현재 슬라이스의 비트 스트림에 인코딩하는 단계를 포함하는 슬라이스 파라미터 세트 인코딩 방법을 제공한다. 그 중에 상기 파라미터 세트는 하나 혹은 다수의 슬라이스의 인코딩/디코딩 과정에서 사용되는 코딩도구 공공정보를 포함하는 데이터 구조이다.
상기 방법은 파라미터 세트를 생성하고 이 파라미터 세트에서 현재 슬라이스에 필요한 기타 부분의 코딩도구의 코딩도구 파라미터를 인코딩하고 식별자를 상기 파라미터 세트에 분배하며 상기 파라미터 세트의 식별자를 현재 슬라이스의 비트 스트림에 인코딩하는 단계를 더 포함할 수 있다.
파라미터 세트를 생성하고 이 파라미터 세트에서 현재 슬라이스에 필요한 기타 부분의 코딩도구의 코딩도구 파라미터를 인코딩하는 단계가 상기 현재 슬라이스에 필요한 기타 부분의 코딩도구가 두개 혹은 두개 이상의 코딩도구를 포함할 경우, 하나 혹은 다수의 파라미터 세트를 생성하고 한 상기 파라미터 세트에서 하나 혹은 다수의 코딩도구의 인코딩 파라미터를 인코딩하는 것을 포함할 수 있다.
파라미터 세트를 생성하고 이 파라미터 세트에서 현재 슬라이스에 필요한 기타 부분의 코딩도구의 코딩도구 파라미터를 인코딩하는 단계가 상기 현재 슬라이스에 필요한 기타 부분의 코딩도구가 두개 혹은 두개 이상의 코딩도구를 포함할 경우, 각 코딩도구에 대응되는 파라미터 세트를 생성하고 한 파라미터 세트에서 한 코딩도구의 코딩도구 파라미터를 인코딩하며 각 파라미터 세트에 파라미터 세트 식별자를 분배하며 각 파라미터 세트의 식별자를 현재 슬라이스의 비트 스트림에 인코딩하는 것을 포함하고;
혹은 상기 현재 슬라이스에 필요한 기타 부분의 코딩도구가 두개 혹은 두개 이상의 코딩도구를 포함할 경우, 한 파라미터 세트를 생성하고 상기 파라미터 세트에서 두개 혹은 두개 이상의 코딩도구의 코딩도구 파라미터를 인코딩하며 상기 파라미터 세트에 식별자를 분배하며 각 파라미터 세트의 식별자를 현재 슬라이스의 비트 스트림에 인코딩하는 것을 포함할 수 있다.
상기 파라미터 세트에 파라미터 세트 식별자를 분배하는 것이, 현재 슬라이스에 사용되는 다수 파라미터 세트 겹쳐쓰기 모드에 기반하여 후보 식별자를 결정하고 상기 후보 식별자에서 하나를 선택하여 상기 파라미터 세트에 분배하는 것을 포함할 수 있다.
상기 방안에 있어서 인코딩 방법은 구체적으로 서로 다른 코딩도구에 대응되는 파라미터 세트 식별자를 미리 배치하고; 이미 존재하는 파라미터 세트에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 파라미터 세트가 존재할 경우, 상기 파라미터 세트의 식별자에 미리 배치한 상기 코딩도구에 대응되는 파라미터 세트 식별자의 값을 부여한 후 상기 파라미터 세트의 식별자를 현재 슬라이스 비트 스트림에 인코딩하는 것이다.
상기 방법은 이미 존재하는 파라미터 세트에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 파라미터 세트가 존재하는가를 판단하는 단계를 더 포함할 수 있다.
상기 코딩도구는 픽처코딩도구와/혹은 픽처 혹은 슬라이스 관리모듈을 포함하고; 상기 픽처코딩도구는 적응적 샘플 오브셋(SAO), 적응루프필터(ALF), 가중예측(WP) 등을 포함하고; 상기 픽처 혹은 슬라이스 관리모듈은 디코딩 화상 버퍼(DPB)관리모듈, 참조픽처표시및조정모듈, 참조픽처리스트 구조모듈 등을 포함할 수 있다.
본 발명에 의하면 현재 슬라이스 비트 스트림 중의 파라미터 세트 식별자에 근거하여 현재 슬라이스에 인용되는 다수의 파라미터 세트를 디코딩하고 현재 슬라이스 디코딩에 사용된 코딩도구 파라미터를 결정하며 결정한 코딩도구 파라미터의 파라미터 값을 현재 슬라이스 데이터 구조 중의 대응되는 변수에 부여하고; 상기 파라미터 세트가 하나 혹은 다수의 슬라이스 인코딩/디코딩에 사용되는 코딩도구 공공정보를 포함하는 데이터 구조인 것을 포함하는 슬라이스 파라미터 세트 디코딩 방법을 제공한다.
상기 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 단계가 각종 코딩도구에 대하여, 현재 슬라이스에 인용되는 다수의 파라미터 세트중 단지 한 파라미터 세트의 상기 코딩도구 ON/OFF 플래그가 1이면 현재 슬라이스 디코딩에 이 파라미터 세트중의 상기 코딩도구의 코딩도구 파라미터를 사용하기로 결정하는 것을 포함할 수 있다.
상기 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 단계가 미리 배치한 파라미터 세트 식별자와 코딩도구 사이의 대응관계에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구의 코딩도구 파라미터를 결정하는 것을 포함할 수 있다.
상기 현재 슬라이스 디코딩에 사용되는 인코딩도구 파라미터를 결정하는 단계가 미리 설정한 다수 파라미터 세트 겹쳐쓰기 방식에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 것을 포함할 수 있다.
미리 설정한 다수 파라미터 세트 겹쳐쓰기 방식에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 단계가 각종 코딩도구에 대하여, 식별자가 ps_id[n](여기서 n은 1 이상 현재 슬라이스에 인용된 파라미터 세트 수량 이하의 정수임)인 파라미터 세트에서 이 파라미터 세트에 코딩도구 파라미터 정보가 포함됨을 표시하는 플래그가 1일 경우, 이 파라미터 세트중의 상기 코딩도구의 코딩도구 파라미터로 그 전에 현재 슬라이스 디코딩에 사용하기로 결정한 상기 코딩도구의 코딩도구 파라미터를 덮어쓰는 것을 포함하는 할 수 있다.
미리 설정한 다수 파라미터 세트 겹쳐쓰기 방식에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 단계가 현재 사용하는 다수 파라미터 세트 겹쳐쓰기방식을 지시하기 위한 플래그에 따라 현재 디코딩에 사용되는 다수 파라미터 세트 겹쳐쓰기방식을 얻고 이 다수 파라미터 세트 겹쳐쓰기방식에 기반하여 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 것을 포함할 수 있다.
상기 현재 사용하는 다수 파라미터 세트 겹쳐쓰기방식을 지시하기 위한 플래그의 2진수는 하나 혹은 다수의 비트를 포함하며 한 비트는 한가지 코딩도구의 다수 파라미터 세트 겹쳐쓰기모드를 지시할 수 있다.
상기 현재 사용하는 다수 파라미터 세트 겹쳐쓰기모드를 지시하기 위한 플래그는 ps_id[i]와 ps[i-1](여기서 i는 1 이상 현재 슬라이스 디코딩에 인용한 파라미터 세트 수량 이하의 정수임)가 제공한 파라미터 세트 식별자간의 절대값의 차에 의하여 취득할 수 있다.
상기 코딩도구는 픽처코딩도구와/픽처 혹은 슬라이스 관리모듈를 포함하고 상기 픽처코딩도구는 SAO, ALF, WP등을 포함하며; 상기 픽처 혹은 슬라이스 관리모듈은 DPB 관리모듈, 참조픽처표시 및 조정모듈, 참조픽처리스트 구조모듈 등을 포함할 수 있다.
본 발명에 의하면 이미 존재하는 파라미터 세트에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 하나 혹은 다수의 파라미터 세트가 존재할 경우, 코딩모듈에 이 파라미터 세트를 인용하도록 통지하는 판단모듈과, 상기 판단모듈의 통지를 수신 시 상기 파라미터 세트의 식별자를 현재 슬라이스의 비트 스트림에 인코딩하는 인코딩모듈을 포함하고, 상기 파라미터 세트가 하나 혹은 다수의 슬라이스 인코딩/디코딩에 사용되는 코딩도구 공공정보를 포함하는 데이터 구조인 것을 포함하는 슬라이스 파라미터 세트 인코딩에 사용되는 인코더를 제공한다.
상기 인코딩모듈이 또한 파라미터 세트를 생성하고 이 파라미터 세트에서 현재 슬라이스에 사용되는 기타 부분의 코딩도구의 코딩도구 파라미터를 인코딩하고 식별자를 상기 파라미터 세트에 분배하며 상기 파라미터 세트의 식별자를 현재 슬라이스 비트 스트림에 인코딩할 수 있다.
상기 인코딩모듈이 또한 상기 파라미터 세트의 식별자에 미리 배치한 상기 코딩도구에 대응되는 파라미터 세트 식별자를 부여한 후 상기 파라미터 세트의 식별자를 현재 슬라이스 비트 스트림에 인코딩할 수 있다.
상기 판단모듈이 또한 이미 존재하는 파라미터 세트에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 파라미터 세트가 존재하는가를 판단할 수 있다.
본 발명에 의하면 현재 슬라이스 비트 스트림 중의 파라미터 세트 식별자에 따라 현재 슬라이스에 인용되는 다수의 파라미터 세트를 디코딩하는 디코딩모듈과, 상기 디코딩모듈이 현재 슬라이스에 인용되는 다수의 파라미터 세트를 디코딩하여 취득한 다수의 파라미터 세트의 코딩도구 파라미터에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 결정모듈과, 상기 결정모듈이 결정한 코딩도구 파라미터의 파라미터값을 현재 슬라이스 데이터 구조 중의 대응되는 변수에 부여하는 부여모듈을 포함하고, 상기 파라미터 세트가 하나 혹은 다수의 슬라이스 인코딩/디코딩에 사용되는 코딩도구 공공정보를 포함하는 데이터 구조인 것을 포함하는 슬라이스 파라미터 세트 디코딩에 사용되는 디코더를 제공한다.
상기 결정모듈이 또한 각종 코딩도구에 대하여, 현재 슬라이스에 인용되는 다수의 파라미터 세트에서 오직 한 파라미터 세트중의 코딩도구 ON/OFF 플래그가 1이면 현재 슬라이스 코딩에 이 APS 중의 상기 코딩도구의 코딩도구 파라미터를 사용하기로 설정할 수 있다.
상기 결정모듈이 또한 미리 배치한 파라미터 세트 식별자와 인코딩도구 사이의 대응관계에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구의 코딩도구 파라미터를 결정할 수 있다.
상기 결정모듈이 또한 미리 설정한 다수 파라미터 세트 겹쳐쓰기 방식에서 따라 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정할 수 있다.
본 발명에 의하면 상기한 인코더와 상기한 디코더를 포함하는 전자기기를 제공한다.
본 발명의 슬라이스 파라미터 세트 디코딩 및 인코딩 방법과 장치에 의하면 파라미터 세트에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 하나 혹은 다수의 파라미터 세트가 존재할 경우, 이 파라미터 세트의 식별자를 현재 슬라이스 비트 스트림에 인코딩함으로써 슬라이스 헤더 정보에서 다수의 파라미터 세트를 인용시 인코딩한 파라미터 세트를 충분히 이용할 수 있으며 슬라이스 인코딩/디코딩에 사용되는 코딩도구를 원활히 배치할 수 있고 정보의 중복 현상을 저하시킬 수 있다.
또한, 본 발명은 실제 수요에 따라 하나 혹은 다수의 파라미터 세트를 생성하고 한 파라미터 세트에서 하나 혹은 다수의 코딩도구의 코딩도구 파라미터를 인코딩할 수 있으므로 그 후의 슬라이스의 인코딩/디코딩에 생성한 파라미터 세트를 인용할 수 있으며 인코딩 비트 소모량을 줄일 수 있다.
도 1은 본 발명의 슬라이스 파라미터 세트 디코딩 방법을 나타낸 흐름도이다.
도 2는 본 발명의 실시예 1에서 슬라이스의 다수 APS 비트 스트림 디코딩을 나타낸 흐름도이다.
도 3은 도 2의 단계 209에서 SAO 코딩도구 파라미터 결정 과정을 나타낸 흐름도이다.
도 4는 도 2의 단계 209에서 ALF 코딩도구 파라미터 결정 과정을 나타낸 흐름도이다.
도 5는 본 발명 실시예 1에서 슬라이스의 다수 APS 비트 스트림 인코딩을 나타낸 흐름도이다.
도 6은 도 5의 단계 505의 한가지 실현 과정을 나타낸 흐름도이다.
도 7은 본 발명 실시예 2에서 슬라이스의 다수 APS 비트 스트림 디코딩을 나타낸 흐름도이다.
도 8은 본 발명의 실시예 2에서 슬라이스의 다수 APS 비트 스트림 인코딩을 나타낸 흐름도이다.
도 9는 도 8의 단계 806에서 한가지 실현 과정을 나타낸 흐름도이다.
도 10은 본 발명의 실시예 3에서 슬라이스의 다수 APS 비트 스트림 디코딩을 나타낸 흐름도이다.
도 11은 본 발명의 실시예 3에서 슬라이스의 다수 APS 비트 스트림 인코딩을 나타낸 흐름도이다.
도 12는 본 발명의 실시예 4에서 APS 디코딩 과정을 나타낸 흐름도이다.
도 13은 본 발명의 실시예 4에서 APS 인코딩 과정을 나타낸 흐름도이다.
도 14는 본 발명의 실시예 4에서 슬라이스의 다수 APS 비트 스트림 디코딩을 나타낸 흐름도이다.
도 15는 도 14의 단계 1408의 한가지 실현 방법을 나타낸 흐름도이다.
도 16은 본 발명의 실시예 1에서 슬라이스의 다수 APS 비트 스트림 인코딩을 나타낸 흐름도이다.
도 17은 도 16의 단계 1605의 한가지 실현 방법을 나타낸 흐름도이다.
도 18은 본 발명의 실시예 4에서 슬라이스의 다수 APS 비트 스트림 인코딩을 나타낸 흐름도이다.
도 19는 본 발명의 실시예 5에서 슬라이스의 다수 APS 비트 스트림 디코딩을 나타낸 흐름도이다.
도 20은 본 발명의 실시예 5에서 슬라이스의 다수 APS 비트 스트림 인코딩을 나타낸 흐름도이다.
도 21은 본 발명의 실시예 6에서 슬라이스의 다수 APS 비트 스트림 디코딩을 나타낸 흐름도이다.
도 22는 도 21의 단계 2108의 한가지 실현 방법을 나타낸 흐름도이다.
도 23은 본 발명의 실시예 6에서 슬라이스의 다수 APS 비트 스트림 인코딩을 나타낸 흐름도이다.
도 24는 도 23의 단계 2305의 한가지 실현 방법을 나타낸 흐름도이다.
도 25는 본 발명의 실시예 7에서 APS 디코딩 과정을 나타낸 흐름도이다.
도 26은 본 발명의 실시예 7에서 APS 인코딩 과정을 나타낸 흐름도이다.
도 27은 본 발명의 실시예 7에서 슬라이스의 다수 APS 비트 스트림 디코딩을 나타낸 흐름도이다.
도 28은 본 발명의 실시예 7에서 슬라이스의 다수 APS 비트 스트림 인코딩을 나타낸 흐름도이다.
도 29는 본 발명의 실시예 9에서 슬라이스의 다수 APS 비트 스트림 인코딩을 나타낸 흐름도이다.
도 30은 본 발명의 실시예 1에서 슬라이스의 다수 APS 비트 스트림 인코딩을 나타낸 흐름도이다.
본 발명의 기본사상은 현재 슬라이스 인코딩/디코딩에 인용하는 파라미터 세트의 수량이 1보다 클 경우, 현재 슬라이스 디코딩에 사용되는 하나 혹은 다수의 코딩도구 파라미터와 동일한 이미 존재하는 파라미터 세트가 존재하면 슬라이스는 하나 혹은 다수의 파라미터 세트의 코딩도구 파라미터를 인용하여 현재 슬라이스의 비트 스트림을 인코딩 혹은 디코딩한다.
본 발명의 슬라이스 파라미터 세트 인코딩 방법은 주로 다음을 포함한다. 기존 파라미터 세트에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 하나 혹은 다수의 파라미터 세트가 존재할 경우, 이 파라미터 세트의 식별자를 현재 슬라이스의 비트 스트림에 인코딩한다. 상기 파라미터 세트는 하나 혹은 다수의 슬라이스 인코딩/디코딩에서 사용되는 코딩도구 공공정보를 포함하는 데이터 구조인데 즉, 하기 설명중의 APS이다.
그 중, 상기 방법은 APS를 생성하며 상기 APS에서 현재 슬라이스에 사용되는 기타 부분의 코딩도구의 코딩도구 파라미터를 인코딩하고 식별자를 APS에 분배하며 APS의 식별자를 현재 슬라이스의 비트 스트림에 인코딩하는 단계를 더 포함한다.
그 중, APS를 생성하며 상기 APS에서 현재 슬라이스에 사용되는 기타 부분의 코딩도구의 코딩도구 파라미터를 인코딩하는 것은 현재 슬라이스에 사용되는 기타 부분의 코딩도구가 두개 혹은 두개 이상의 코딩도구를 포함할 경우, 하나 혹은 다수의 APS를 생성하며 한 APS에서 하나 혹은 다수의 코딩도구의 인코딩 파라미터를 인코딩하는 것을 포함한다.
바람직하게, APS를 생성하며 이 APS에서 현재 슬라이스에 사용되는 기타 부분의 코딩도구의 코딩도구 파라미터를 인코딩하는 것은 현재 슬라이스에 사용되는 기타 부분의 코딩도구가 두개 혹은 두개 이상의 코딩도구를 포함할 경우, 각 코딩도구에 대응되는 각각 APS를 생성하고 한 APS에서 한 코딩도구의 코딩도구 파라미터를 인코딩하여 각 APS에 APS의 식별자를 분배한 후 APS의 식별자를 현재 슬라이스의 비트 스트림에 인코딩하는 것을 포함하고;
혹은 현재 슬라이스에 필요한 기타 부분의 코딩도구가 두개 혹은 두개 이상의 코딩도구를 포함할 경우, 하나의 APS를 생성하며 APS에서 두개 혹은 두개 이상의 코딩도구의 코딩도구 파라미터를 인코딩하며 APS에 APS의 식별자를 분배한 후 APS의 식별자를 현재 슬라이스의 비트 스트림에 인코딩하는 것을 포함한다.
그 중, APS에 APS의 식별자를 분배하는 것은 현재 슬라이스에 사용되는 다수 APS 겹쳐쓰기방식을 기반으로 후보 식별자를 결정하고 후보 식별자에서 하나를 선택하여 APS에 분배하는 것을 포함한다.
바람직하게, 상기 방법은 기존 APS에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 APS가 존재하는가를 판단하는 것을 더 포함한다.
실제 응용에서 상기 인코딩 방법의 세부적인 내용은 서로 다른 코딩도구에 대응되는 파라미터 세트 식별자를 우선 배치하고; 기존 파라미터 세트에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 파라미터 세트가 존재할 경우, 파라미터의 식별자를 우선 배치한 코딩도구에 대응되는 파라미터 세트 식별자로 부여한 후 파라미터 세트의 식별자를 현재 슬라이스의 비트 스트림에 인코딩한다.
도 1에 도시한 바와 같이 본 발명의 슬라이스 파라미터 세트 디코딩 방법은 주로 하기 단계를 포함한다.
단계 101: 현재 슬라이스 비트 스트림의 APS 식별자에 따라 현재 슬라이스에 인용되는 다수 APS를 디코딩하고;
단계 102: 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하고 결정한 코딩도구 파라미터의 값을 현재 슬라이스 데이터 구조의 대응되는 변수에 부여한다.
바람직하게, 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 단계는 다음을 포함한다.
각종 코딩도구에 대하여 현재 슬라이스에 인용되는 다수 APS에서 단지 하나의 APS 에서만 상기 코딩도구 ON/OFF 플래그가 1이면 현재 슬라이드 디코드에 상기 APS에서의 코딩도구의 코딩도구 파라미터를 사용할 수 있다.
바람직하게, 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 것은, 우선 배치한 파라미터 세트 식별자와 코딩도구 사이의 대응 관계에 따라 현재 슬라이스 디코딩에 사용한 코딩도구의 코딩도구 파라미터를 결정하는 것을 더 포함할 수 있다.
바람직하게, 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 것은, 우선 설정한 다수 APS 겹쳐쓰기방식에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 것을 더 포함할 수 있다.
그 중, 우선 설정한 다수 APS 겹쳐쓰기방식에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 것은 다음을 포함할 수 있다. 각종 코딩도구에 대하여, 식별자가 aps_id[n]인 APS에서 상기 APS에 코딩도구 파라미터 정보가 포함됨을 표시하는 플래그가 1일 경우, 이 APS에서의 코딩도구의 코딩도구 파라미터로 그전 현재 슬라이스 디코딩에 사용하기로 결정한 코딩도구의 코딩도구 파라미터를 겹쳐쓰고, 여기서 n은 정수이고 1보다 작지 않으며 현재 슬라이스에 인용한 APS의 수량보다 크지 않다.
그 중, 현재 사용하는 다수 APS 겹쳐쓰기모드 지시에 사용되는 플래그에 따라 현재 디코딩에 사용되는 다수 APS 겹쳐쓰기방식을 취득할 수 있으며 상기 APS 겹쳐쓰기모드를 기반으로 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정할 수 있다.
여기서, 현재 다수 APS 겹쳐쓰기 방식을 사용하고 있음을 표시하는 플래그의 2진수는 하나 혹은 다수의 비트를 포함하고 한 비트로 한가지 코딩도구의 다수 APS 겹쳐쓰기 모드(overwriting mode)를 지시한다.
여기서, 현재 사용하는 다수 APS 겹쳐쓰기 방식 지시에 사용되는 플래그는 aps_id[i]와 aps[i-1]에 의해 제공되는 APS 식별자 사이의 절대값의 차이에 기반하여 취득한 것이며 i는 정수이고 1보다 작지 않으며 현재 슬라이스에 인용한 APS의 수량보다 크지 않다.
본 발명은 슬라이스 파라미터 인코딩에 사용되는 인코더를 더 제공하는데 이 인코더는 판단모듈과 인코딩모듈을 포함하고, 그 중 판단모듈은 기존 APS에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 APS가 존재할 경우, 코딩모듈에 상기 APS를 사용하도록 통지할 수 있고; 인코딩모듈은 판단모듈의 통지를 수신 시 APS의 식별자를 현재 슬라이스의 코드 스트림에 인코딩한다.
또한, 인코딩모듈은 APS를 생성하고 상기 APS에서는 현재 슬라이스에 사용되는 기타 부분 코딩도구의 코딩도구 파라미터를 인코딩하고 식별자를 APS에 분배하며 APS의 식별자를 현재 슬라이스의 비트 스트림에 인코딩할 수 있다.
또한, 인코딩모듈은 파라미터 세트의 식별자 값을 미리 배치한 코딩도구에 대응되는 파라미터 세트 식별자로 부여한 후 파라미터 세트의 식별자를 현재 슬라이스의 비트 스트림에 인코딩할 수 있다.
또한, 판단모듈은 기존 APS에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 APS가 존재하는가를 판단할 수 있다. 여기서 기존 APS에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 APS가 존재하지 않는다고 판단되면 판단모듈은 인코딩모듈에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 APS가 존재하지 않는다고 통지하며 인코딩모듈은 통지를 받은 후 하나 혹은 다수의 APS를 직접 생성하며 생성한 각 APS에서 현재 슬라이스에 사용되는 코딩도구의 코딩도구 파라미터를 인코딩하며 생성한 각 APS에 식별자를 분배하고 각 APS의 식별자를 현재 슬라이스의 비트 스트림에 인코딩한다.
본 발명은 슬라이스 파라미터 세트 디코딩에 사용되는 디코더를 더 제공하는 데, 이 디코더는 디코딩모듈, 결정모듈과 부여모듈을 포함하고 그 중, 디코딩모듈은 현재 슬라이스 비트 스트림 중의 APS 식별자에 따라 현재 슬라이스에 인용되는 다수 APS를 디코딩하고; 결정모듈은 디코딩모듈이 현재 슬라이스에 인용되는 다수 APS를 디코딩하여 취득한 다수 APS의 코딩도구 파라미터에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하고; 부여모듈은 결정모듈이 결정한 코딩도구 파라미터의 파라미터값을 현재 슬라이스 데이터 구조에서의 대응 변수에 부여한다.
바람직하게, 상기 결정모듈은 각종 코딩도구에 대하여 현재 슬라이스에 인용되는 다수 APS에서 단지 하나의 APS에서 상기 코딩도구 ON/OFF 플래그가 1이면 현재 슬라이스 디코딩에 상기 APS에서의 코딩도구의 코딩도구 파라미터를 사용하기로 결정한다.
바람직하게, 상기 결정모듈은 미리 배치한 파라미터 세트 식별자와 코딩도구 사이의 대응관계에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구의 코딩도구 파라미터를 결정한다.
바람직하게, 상기 결정모듈은 사전 설정한 다수 APS 겹쳐쓰기방식에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정한다.
도 1에 도시한 바와 같이 본 발명은 전자기기를 더 제공하는데 상기 전자기기는 상기의 인코더와 디코더를 포함한다.
본 발명의 코딩도구는 픽처코딩도구와/픽처 혹은 슬라이스관리모듈을 포함하고, 픽처코딩도구는 SAO, ALF, WP 등을 포함하며; 픽처 혹은 슬라이스 관리모듈은 DPB 관리모듈, 참조픽처표시 및 조절모듈, 참조픽처리스트 구조모듈 등을 포함한다.
본 발명의 실시예 1~실시예 6은 SAO와 ALF 두가지 픽처 코딩도구를 예로 설명하고 실시예 7~실시예 10은 실시예 1~실시예 6을 기반으로 더욱 세부적으로 픽처 코딩도구와 픽처 혹은 슬라이스공공제어모듈을 사용하고 인코딩/디코딩의 실행을 예로 설명하며 다음 실시예에서 인코딩/디코딩에 SAO와 ALF를 사용 가능하다고 가설한다.
다음의 각 실시예의 인코더는 다수 APS를 사용할 경우, 그 실시예에서 디코더의 슬라이스 다수 APS 비트 스트림 해석 과정에 따라 디코더가 인코더와 일치한 픽처 코딩도구의 도구 파라미터를 취득할 수 있도록 확보해야 한다.
하기 각 실시예의 인코더 구현 방법은 이 실시예를 기반으로 인코더가 구현 가능한 방법중의 하나이며 본 실시예의 디코더의 비트 스트림 해석 과정 요구에 부합되는 비트 스트림을 생성할 수 있는 모든 인코더는 전부 상기 실시예의 인코더 구현 방법에 해당된다.
실시예 1
본 실시예에서 사용하는 APS 비트 스트림 조직의 구조는 표 1과 같다.
Figure pct00001
여기서, 서술(descriptor)란에서는 각종 문법 단위값의 2진수 표시방법을 제공하고 인코더는 대응되는 2진수 표시방법을 이용하여 대응되는 문법 단위를 인코딩하고 디코더는 대응되는 2진수 표시방법을 사용하고 관련 문법 단위를 디코딩한다.
인코딩과 디코딩에 있어서 인코더와 디코더는 슬라이스에서 APS의 파라미터 커피를 한부 보류할 수 있다. 그 중, 슬라이스의 APS 파라미터는 하나의 APS가 제공하는 것일 수 있고 다수의 APS가 제공하는 것일 수도 있다.
본 실시예에서는 슬라이스에 다수 APS에서 제공한 코딩도구 파라미터를 인용하는 것을 허용하고 다수 APS는 슬라이스 헤더 정보에서의 표시방법은 표 2와 같다. 본 실시예에 있어서 슬라이스 헤더 정보에 APS 표시정보를 추가하였고 세부내용은 표 2의 제6-13행과 같다.
Figure pct00002
표 2에서 number_valid_aps는 슬라이스 인코딩/디코딩에 인용한 APS의 수량 표시에 사용되고 그 값은 [0,MaxNumberValidAps] 사이의 정수이다. 만일, APS의 코드 스트림에서 문법 단위 number_valid_aps가 주어지지 않으면 그 값은 0을 선택한다. number_valid_aps값 선택 상한치MaxNumberValidAps는 profile/등급에서 픽처 코딩도구의 수량에 따라 결정한다.
그 중, aps_id[i]는 슬라이스 인코딩/디코딩에 인용한 APS의 식별자를 표시한다. 그 중, i는 [0,number_valid_aps-1]사이의 정수이다.
number_valid_aps의 값이 0일 경우, 현재 슬라이스 인코딩/디코딩에 그 어떤 APS도 인용하지 않는 다는 것을 설명하고 즉, 모든 APS를 현재 슬라이스 인코딩/디코딩에 사용하지 않음을 말한다.
number_valid_aps값이 1일 경우, 슬라이스 인코딩/디코딩에 하나의 APS를 인용한다는 말이고 이 경우, 상기 APS의 식별자는 aps_id[0]이며 SAO 코딩도구 파라미터와 ALF 코딩도구 파라미터는 식별자가 aps_id[0]인 APS가 제공한다. 이 경우, 디코더는 이 APS 중의 SAO ON/OFF 플래그 aps_sample_adaptive_offset_flag 와 ALF ON/OFF 플래그 aps_adaptive_loop_filter_flag값에 근거하여 슬라이스 데이터 구조 중의 aps_ sample_adaptive_offset_flag와 aps_adaptive_loop_filter_flag의 값을 설정한다.
number_valid_aps값이 1보다 클 경우, 슬라이스 인코딩/디코딩에 동시에 다수 APS를 인용한다는 말이고, 이때 슬라이스에서 인용한 APS의 식별자는 aps_id[0], aps_id[1],... aps_id[number_valid_aps-1]에서 제공한다. 또한, 다수 APS에서 오직 하나의 APS의 aps_sample_adaptive_offset_flag의 값이 1이면 슬라이스 디코딩에 SAO를 사용하고 SAO 코딩도구 파라미터는 APS가 제공하며; 다수 APS에서 하나의 APS의 aps_ adaptive_loop_filter_flag의 값이 1이면 슬라이스 디코딩에 ALF를 사용하고 ALF 코딩도구 파라미터는 APS가 제공한다. 만일, 다수 APS의 aps_sample_adaptive _offset_flag의 값이 1이면 디코더는 현재 슬라이스 디코딩에 SAO를 사용하지 않고 디코더는 슬라이스 데이터 구조에서 aps_sample_adaptive_offset_flag의 값을 0으로 설정하며; 만일, 다수 APS 중의 aps_adaptive_loop_filter_flag의 값이 1이면 디코더는 현재 슬라이스를 디코딩할 때 ALF를 사용하지 않고 디코더는 슬라이스 데이터 구조에서 aps_adaptive_loop_filter_flag의 값을 0으로 설정한다.
표 2와 관련되어 본 실시예에서 디코더가 슬라이스 다수 APS비트 스트림을 디코딩하는 과정은 도 2에 도시한 바와 같이 하기 단계를 포함한다.
단계 201: 디코더는 현재 슬라이스에 인용한 SPS비트 스트림을 해석하고 u(1)에 대응되는 디코딩 방법으로 sample_adaptive_offset_enabled_flag와 adaptive_loop_filter_ enabled_flag의 값을 취득한다.
여기에서 플래그 sample_adaptive_offset_enabled_flag와 adaptive_loop_filter_ enabled_flag는 전부 슬라이스 데이터 구조 중의 플래그로서 sample_ adaptive_offset_enabled_flag는 현재 슬라이스 인코딩/디코딩 과정에서 SAO사용 허용 여부를 표시하고 adaptive_loop_filter_ enabled_flag는 현재 슬라이스 인코딩/디코딩 과정에서 ALF 사용 허용 여부를 표시한다.
단계 202: 디코더는 (sample_adaptive_offset_enabled_flag∥adaptive_loop_filter_ enabled_flag)의 값의 진실(true) 여부를 판단하고 만일 진실하면 단계 203을 실행하고 만일 진실하지 않으면(false) 이 디코딩 과정을 종료된다.
단계 203: 디코더는 슬라이스 헤더 정보를 해석하고 u(v)에 대응되는 디코딩 방법으로 number_valid_aps의 값을 취득한다.
단계 204: 만일 number_valid_aps의 값이 0이면 단계 205를 실행하고 만일 number_valid_aps의 값이 0이 아니면 단계 206을 실행한다.
단계 205: 현재 슬라이스 디코딩에 그 어떤 APS도 인용하지 않고 디코딩에 SAO와 ALF를 사용하지 않으며 슬라이스 데이터 구조에서 aps_sample_ adaptive_offset_flag와aps_adaptive_loop_filter_flag를 각각 0으로 설정하며 현재 디코딩 과정은 종료된다.
단계 206: 만일 number_valid_aps의 값이 1이면 단계 207을 실행하고; number_ valid_aps의 값이 1이 아니면 단계 208을 실행한다.
단계 207: 현재 슬라이스 디코딩에 하나의 APS만 인용하고 디코더는 ue(v)에 대응되는 디코딩 방법으로 aps_id[0]의 값을 취득하며 식별자가 aps_id[0]인 APS 중의 SAO 코딩도구 파라미터와 ALF 코딩도구 파라미터를 해석하고 SAO 코딩도구 파라미터의 파라미터값을 슬라이스 SAO 데이터 구조의 대응 변수에 부여하며 ALF 코딩도구 파라미터의 파라미터값을 ALF 데이터 구조 중의 대응 변수에 부여한다. 현재 대코딩 과정은 종료된다.
단계 208: 현재 슬라이스 디코딩에 다수 APS를 인용하고 디코더는 다수 APS를 해석하며 디코더는 ue(v)에 대응되는 디코딩 방법으로 aps_id[0], aps_id[1],... aps_id[number_valid_aps-1]의 값을 취득하고 식별자가 aps_id[0], aps_id[1], ...aps_id [number_valid_aps-1]인 다수 APS 중의 SAO 코딩도구 파라미터와 ALF 코딩도구 파라미터를 각각 디코딩한다.
단계 209: 디코더는 다수 APS를 디코딩하여 취득한 각 SAO 코딩도구 파라미터와 ALF 코딩도구 파라미터에 따라 현재 슬라이스의 디코딩에 사용한 SAO 코딩도구 파라미터와 ALF 코딩도구 파라미터를 결정하고 SAO 코딩도구의 파라미터값을 슬라이스 데이터 구조 중의 SAO 데이터 구조의 대응 변수에 부여하며 결정하는 ALF 코딩도구 파라미터의 파라미터값을 슬라이스 데이터 구조 중의 ALF데이터 구조의 대응 변수에 부여하고 현재 디코딩 과정은 종료된다.
도 3과 같이 그 중, 단계 209중의 SAO 코딩도구 파라미터의 결정 및 부여과정은 다음과 같은 단계를 포함한다.
단계 301: 만일 디코더가 다수 APS를 디코딩하여 취득한 aps_sample_adaptive_offset_flag의 값이 전부 0이면 단계 302를 실행하고 그렇지 않으면 단계 303을 실행한다.
단계 302: 디코더가 현재 슬라이스 디코딩에 SAO를 사용하지 않고 슬라이스 데이터 구조 중의 aps_sample_adaptive_offset_flag의 값을 0으로 설정함으로써 현재 과정은 종료된다.
단계 303: 만일 디코더가 다수 APS를 디코딩하여 취득한 aps_sample_adaptive_offset_flag에서 하나의 값만이 1이면 단계 304를 실행하고 만일 디코더가 다수 APS를 디코딩하여 취득한 aps_sample_adaptive_offset_flag에서 두개 혹은 두개 이상의 값이 1이면 단계 305를 실행한다.
단계 304: 디코더가 현재 슬라이스 디코딩에 SAO를 사용하고 슬라이스 데이터 구조 중의 aps_sample_adaptive_offset_flag값을 1로 설정하고 aps_sample_adaptive_offset_flag값이 1인 APS 중의 SAO 코딩도구 파라미터의 값을 슬라이스 SAO데이터 구조 중의 대응 변수에 부여하고 현재 과정가 종료된다.
단계 305: 디코더가 현재 슬라이스 디코딩에 SAO를 사용하지 않고 슬라이스 데이터 구조 중의 aps_sample_adaptive_offset_flag값을 0으로 설정함으로써 현재 과정가 종료된다.
도 4와 같이 그 중, 단계 209중의 ALF 코딩도구 파라미터의 결정 및 부여과정은 다음과 같은 단계를 포함한다.
단계 401: 만일 디코더가 다수 APS를 디코딩하여 취득한 aps_adaptive_loop_filter_ flag의 값이 전부 0이면 단계 402를 실행하고 그렇지 않으면 단계 403을 실행한다.
단계 402: 디코더가 현재 슬라이스 디코딩에 ALF를 사용하지 않고 슬라이스 데이터 구조 중의 aps_adaptive_loop_filter_flag의 값을 0으로 설정함으로써 현재 과정은 종료된다.
단계 403: 만일 디코더가 다수 APS를 디코딩하여 취득한 aps_adaptive_loop_filter_ flag에서 하나의 값만이 1이면 단계 404를 실행하고 만일 디코더가 다수 APS를 디코딩하여 취득한 aps_adaptive_loop_filter_flag에서 두개 혹은 두개 이상의 값이 1이면 단계 405를 실행한다.
단계 404: 디코더가 현재 슬라이스 디코딩에 ALF를 사용하고 슬라이스 데이터 구조 중의 aps_adaptive_loop_filter_flag값을 1로 설정하고 aps_adaptive_loop_filter_ flag값이 1인 APS 중의 ALF 코딩도구 파라미터의 값을 슬라이스 ALF 데이터 구조 중의 대응 변수에 부여함으로써 현재 과정가 종료된다.
단계 405: 디코더가 현재 슬라이스 디코딩에 ALF를 사용하지 않고 슬라이스 데이터 구조 중의 aps_adaptive_loop_filter_flag값을 0으로 설정함으로써 현재 과정가 종료된다.
도 5와 같이 본 실시예에서 인코더가 슬라이스 다수 APS비트 스트림을 인코딩하는 단계는 하기를 포함한다.
단계 501: 인코더는 SPS, PPS에 따라 현재 슬라이스 인코딩에 사용을 허용하는 픽처 코딩도구를 결정한다.
바람직하게, SPS에서 픽처 코딩도구가 사용 가능한 것을 표시하는 플래그 값에 따라 현재 슬라이스 인코딩에 픽처 코딩도구를 사용 허용 여부를 결정한다. 예를 들면 SPS중의 sample_adaptive_offset_enabled_flag의 값이 1이면 인코딩에 SAO를 사용가능하고 sample_adaptive_offset_enabled_flag값이 0이면 인코딩에 SAO를 사용할 수 없다.
단계 502: 인코더는 현재 슬라이스 인코딩에 실제 사용한 픽처 도구 및 그 코딩도구 파라미터를 결정한다.
인코더는 각 픽처 코딩도구의 파라미터 계산방법에 율-왜곡 최적화(rate-distortion optimization) 방법을 결합하여 현재 슬라이스 인코딩에 한 픽처 코딩도구 사용 여부를 결정하고 상기 픽처 코딩도구를 사용하는 상황에서 코딩도구의 기타 파라미터를 결정하며 세부적인 구현 과정은 종래의 관련 기술을 참조할 수 있음으로 여기서는 생략하도록 한다.
단계 503: 만일 현재 슬라이스에 필요한 픽처 코딩도구의 코딩도구 파라미터와 기존 APS 중에 포함된 동일 픽처 코딩도구의 코딩도구 파라미터가 완전 동일하면 단계 504를 실행하고 그렇지 않으면 단계 505를 실행한다.
단계 504: 인코더는 슬라이스 데이터 구조 중의 number_valid_aps의 값을 1로 설정하고 u(v)에 대응되는 인코딩 방법으로 number_valid_aps의 값을 비트 스트림에 입력하고 코딩도구 파라미터가 현재 슬라이스에 대응되는 코딩도구 파라미터와 동일한 APS의 식별자를 취득하며 상기 APS 식별자를 슬라이스 데이터 구조 중의 aps_id[0]에 부여하고 ue(v)에 대응되는 인코딩 방법으로 aps_id[0]의 값을 비트 스트림에 입력한 후 단계 506을 실행한다.
단계 505: 인코더는 새로운 APS를 생성하고 새로운 APS에 식별자를 분배하며 이 새로운 APS에서 현재 슬라이스에 필요한 픽처 코딩도구의 코딩도구 파라미터를 코딩하고 이 새로운 APS의 식별자를 현재 슬라이스 헤더 정보의 비트 스트림에 입력한 후 단계 506을 실행한다.
단계 506: 인코더는 현재 슬라이스의 기타 인코딩 데이터를 비트 스트림에 입력하고 현재 슬라이스 다수 APS 비트 스트림의 인코딩 과정은 종료된다.
인코더가 다수 APS를 사용할 경우, 디코더가 상기 슬라이스 다수 APS비트 스트림의 인코딩 단계에 따라 디코딩하는 것을 확보해야 하며 즉, 디코더가 인코더와 일치한 픽처 코딩도구의 코딩도구 파라미터를 취득할 수 있도록 확보해야 한다.
그 중, 단계 505에서 인코더는 현재 슬라이스에 슬라이스 코딩도구 사용여부, 사용한 슬라이스 코딩도구중의 하나 혹은 다수의 픽처 코딩도구의 코딩도구 파라미터가 기존 APS 중에서 대응되는 픽처 코딩도구의 코딩도구 파라미터와 동일 여부, 현재 슬라이스의 픽처 코딩도구가 추후 슬라이스의 코드에 사용 여부 등에 따라 새로운 APS의 생성 방법과 APS 식별자의 인코딩 방법을 결정할 수 있다.
단계 505에서 새로운 APS를 생성하고 상기 APS에 대해 식별자를 분배하고 APS 식별자를 슬라이스 헤더 정보에 입력하는 과정은 도6과 같이 하기 단계를 포함한다.
단계 601: 인코더가 현재 슬라이스 인코딩에 그 어떤 픽처 코딩도구도 사용하지 않는 가를 판단하고, 사용하지 않으면 단계 602를 실행하고 사용하면 단계 603을 실행 한다.
단계 602: 인코더가 슬라이스 데이터 구조 중의 number_valid_aps를 0으로 설정 및 u(v)에 대응되는 인코딩 방법으로 number_valid_aps를 비트 스트림에 입력하여 현재 과정를 종료한다.
단계 603: 만일 인코더가 현재 슬라이스 인코딩에 오로지 SAO와 ALF 중의 한 픽처 코딩도구만을 사용하였으면 단계 604를 실행하고 만일 인코더가 현재 슬라이스 인코딩에 SAO와 ALF 중의 두개 픽처 코딩도구를 동시에 사용하였으면 단계 605를 실행 한다.
단계 604: 인코더가 슬라이스 데이터 구조 중의 number_valid_aps를 1로 설정하고 u(v)에 대응되는 인코딩 방법으로 number_valid_aps를 비트 스트림에 입력하여 새로운 APS를 생성하며 상기 새로운 APS에서 현재 슬라이스 인코딩에 필요되는 픽처 코딩도구의 코딩도구 파라미터를 인코딩하고 생성된 새로운 APS에 식별자를 분배하며 새로운 APS 식별자를 aps_id[0]에 부여한 후 ue(v)에 대응되는 인코딩 방법으로 aps_id[0]를 비트 스트림에 입력한다. 현재 과정은 종료된다.
단계 605: 인코더는 기존 APS에 단지 aps_sample_adaptive_offset_flag 혹은 aps_ adaptive_loop_filter_flag의 값이 1 이고 대응되는 코딩도구 파라미터가 현재 슬라이스의 SAO 코딩도구 파라미터 혹은 ALF 코딩도구 파라미터와 동일한 APS이 존재한는가를 판단하고 존재하면 단계 606를 실행하고, 그렇지 않으면 단계 607을 실행한다.
단계 606: 인코더는 슬라이스 데이터 구조 number_valid_aps를 2로 설정하고 u(v)에 대응되는 방법으로 number_valid_aps를 비트 스트림에 입력하며 코딩도구 파라미터가 현재 슬라이스의 SAO 코딩도구 파라미터와 ALF 코딩도구 파라미터 중의 하나와 동일한 APS의 식별자를 aps_id[0]에 부여하고 새로운 APS를 생성하며 상기 새로운 APS에서 현재 슬라이스에 사용되는 SAO 코딩도구 파라미터와 ALF 코딩도구 파라미터 중의 다른 하나를 인코딩한 후 새로운 APS 식별자를 aps_id[1]에 부여하고 ue(v)에 대응되는 인코딩 방법으로 aps_id[0]과 aps_id[1]를 비트 스트림에 입력함으로써 현재 과정은 종료된다.
단계 607: 인코더는 슬라이스의 추후 인코딩에 현재 슬라이스와 동일한 도구 파라미터를 가지는 SAO 혹은 ALF를 사용할것인가를 판단하며 사용하면 단계 608를 실행하고 사용하지 않으면 단계 609를 실행한다.
단계 608: 인코더는 슬라이스 데이터 구조 중의 number_valid_aps를 2로 설정하고 u(v)에 대응되는 방법으로 number_valid_aps를 비트 스트림에 입력하고 두개 새로운 APS를 생성하며 그 중, 한 새로운 APS에서 현재 슬라이스에 사용된 SAO 코딩도구 파라미터를 인코딩하고 다른 한 새로운 APS에서 현재 슬라이스에 사용된 ALF 코딩도구 파라미터를 인코딩하며 생성된 두개 새로운 APS에 서로 다른 APS 식별자를 분배하며 두개 새로운 APS의 식별자를 aps_id[0]과 aps_id[1]에 각각 부여한 후 ue(v)에 대응되는 인코딩 방법으로 aps_id[0]과aps_id[1]를 비트 스트림에 입력함으로써 현재 과정은 종료된다.
그 중, 인코더는 한 픽처 코딩도구를 위해 별도로 한 APS를 생성하며 생성된 APS에서 기타 픽처 코딩도구의 ON/OFF플래그를 전부 0으로 설정하고 기타 픽처 코딩도구가 필요되는 보조 파라미터를 포함하지 않는다.
단계 609: 인코더는 슬라이스 데이터 구조 중의 number_valid_aps를 1로 설정하고 u(v)에 대응되는 방법으로 number_valid_aps를 비트 스트림에 입력하며 하나의 새로운 APS를 생성하며 상기 새로운 APS에서 현재 슬라이스에서 사용되는 SAO 코딩도구 파라미터와 ALF 코딩도구 파라미터를 인코딩하며 상기 새로운 APS에 식별자를 분배하고 상기 새로운 APS의 식별자를 aps_id[0]에 부여한 후 ue(v)에 대응되는 인코딩 방법으로 aps_id[0]의 값을 비트 스트림에 입력함으로써 현재 과정은 종료된다.
실시예 2:
본 실시예에서 사용되는 APS비트 스트림 조직 구조는 실시예 1과 동일한다.
본 실시예에서는 슬라이스에 다수 APS에서 제공한 코딩도구를 사용 가능하며 다수 APS가 슬라이스 헤더 정보중에서의 표시방법은 실시예 1의 표2와 같고 그 중, number_valid_aps와 number_valid_aps의 의미 및 그 값은 실시예 1과 동일하며 유일하게 number_valid_aps의 값이 1보다 클 경우, 현재 슬라이스에서는 동시에 다수 APS를 인용하는 데 이 경우, 디코더는 식별자가 aps_id[0]인 APS가 제공한 ALF 코딩도구 파라미터를 사용하여 현재 슬라이스의 디코딩에 사용되는 ALF를 배치하며 식별자가 aps_id[1]인 APS에서 제공한 SAO 코딩도구 파라미터를 사용하여 현재 슬라이스의 디코딩에 사용되는 SAO를 배치하는데 차이가 있다.
도 7은 본 실시예에서 디코더가 슬라이스 다수 APS비트 스트림을 디코딩하는 프로세스로 하기 단계를 포함한다.
단계 701: 상기 단계 201과 동일.
단계 702: 상기 단계 202과 동일.
단계 703: 상기 단계 203과 동일.
단계 704: 상기 단계 204와 동일.
단계 705: 상기 단계 205와 동일.
단계 706: 상기 단계 206과 동일.
단계 707: 상기 단계 207과 동일.
단계 708: 상기 단계 208과 동일.
단계 709: 디코더는 식별자가 aps_id[0]인 APS 중의 ALF 코딩도구 파라미터를 사용하여 현재 슬라이스의 디코딩에 사용되는 슬라이스 데이터 구조 중의 ALF 코딩도구 파라미터를 설정하고; 디코더는 식별자가 aps_id[1]인 APS 중의 SAO 코딩도구 파라미터를 사용하여 현재 슬라이스의 디코딩에 사용되는 슬라이스 데이터 구조 중의 SAO 코딩도구 파라미터를 설정하고 현재 슬라이스 다수 APS비트 스트림 디코딩은 종료된다.
도 7에 도시한 디코딩에 대응하여, 본 실시예에서 인코더가 슬라이스 다수 APS 코드 스트림을 인코딩하는 프로세스는 도8에 도시한 바와같이 하기 단계를 포함한다.
단계 801: 상기 단계 501과 동일.
단계 802: 상기 단계 502와 동일.
단계 803: 만일 인코더가 현재 슬라이스 인코딩 과정에서 그 어떤 픽처 코딩도구도 사용 하지 않으면 단계 804를 실행하고 그렇지 않으면 단계 805를 실행한다.
단계 804: 인코더는 슬라이스 데이터 number_valid_aps를 0으로 설정하고 u(v)에 대응되는 방법으로 number_valid_aps를 현재 슬라이스 헤더 정보의 비트 스트림에 입력한 후 단계 811를 실행한다.
단계 805: 만일 인코더가 현재 슬라이스 인코딩에 SAO와 ALF를 동시에 사용하였으면 단계 806를 실행하고 만일 인코더가 현재 슬라이스 인코딩에 SAO와 ALF 중의 한 픽처 코딩도구만을 사용하였으면 단계 807를 실행한다.
단계 806: 인코더는 기존 APS에 포함된 코딩도구 파라미터에 따라 현재 슬라이스에 인용되는 APS를 결정하고 슬라이스 헤더 정보에서 인코딩한 후 단계 811를 실행한다.
단계 807: 기존 APS 중의 모든 픽처 코딩도구의 코딩도구 파라미터가 현재 슬라이스의 모든 픽처 코딩도구의 코딩도구 파라미터와 완전히 동일한 APS가 존재하는가를 판단하고 만일, 존재하면 기존 APS에 현재 슬라이스에 직접 인용 가능한 APS가 존재하면 단계 808를 실행하고, 그렇지 않으면 기존 APS에 현재 슬라이스에 직접 인용 가능한 APS가 존재하지 않으며 이러한 경우 인코더는 새로운 APS를 생성해야 하며 단계 809를 실행한다.
단계 808: 인코더는 슬라이스 데이터 number_valid_aps를 1로 설정하고 u(v)에 대응되는 인코딩 방법으로 number_valid_aps의 값를 비트 스트림에 입력한 후 aps_id[0]의 값을 대응되는 코딩도구 파라미터가 현재 슬라이스에서 사용하는 코딩도구 파라미터와 동일한 APS의 식별자로 설정하며 ue(v)에 대응되는 인코딩 방법으로 aps_id[0]의 값을 비트 스트림에 입력한 후 단계 811를 실행한다.
단계 809: 인코더는 새로운 APS를 생성하고 이 새로운 ASP에서 현재 슬라이스에 사용되는 코딩도구 파라미터를 인코딩하고 상기 새로운 APS에 식별자를 분배한다.
단계 810: 인코더는 슬라이스 데이터 구조 중의 number_valid_aps를 1로 설정하고 u(v)에 대응되는 인코딩 방법으로 number_valid_aps의 값를 비트 스트림에 입력한 후 aps_id[0]의 값을 새로운 APS의 식별자로 설정하며 ue(v)에 대응되는 인코딩 방법으로 aps_id[0]의 값을 비트 스트림에 입력한다.
단계 811: 코더는 슬라이스의 기타 인코딩 데이터를 비트 스트림에 입력하고 슬라이스 인코딩은 종료된다.
그 중, 단계 806에서 인코더는 현재 슬라이스에 슬라이스 코더도구를 사용하였는가, 사용한 슬라이스 코딩도구중의 하나 혹은 다수의 도구 파라미터가 기존 APS 중의 대응되는 도구의 도구 파라미터와 동일한가, 현재 슬라이스의 픽처 코딩도구가 추후 슬라이스 코드에 사용할 것인가 등에 따라 현재 슬라이스에 인용되는 APS를 결정하고 슬라이스 헤더 정보에서 인코딩한다. 단계 806의 한가지 구현 방법은 도 9에 도시한 바와 같이 하기 단계를 포함한다.
단계 901: 기존 APS에 동시에 현재 슬라이드에 사용되는 SAO 코딩도구 파라미터와 ALF 코딩도구 파라미터와 전부 동일한 SAO 코딩도구 파라미터와 ALF 코딩도구 파라미터를 포함하는 APS가 존재하면 단계 902를 실행하고 그렇지 않으면 단계 903을 실행한다.
단계 902: 인코더는 슬라이스 데이터 구조 중의 number_valid_aps를 1로 설정하고 u(v)에 대응되는 인코딩 방법으로 number_valid_aps를 비트 스트림에 입력한 후 코딩도구 파라미터가 현재 슬라이스에 사용되는 코딩도구 파라미터와 동일한 APS의 식별자를 aps_id[0]에 부여하며 ue(v)에 대응되는 방법으로 aps_id[0]을 슬라이스 헤더 정보 비트 스트림에 입력함으로 써 현재 단계는 종료된다.
단계 903: 만일 APS에 ALF 코딩도구 파라미터가 현재 슬라이스에 사용되는 ALF 코딩도구 파라미터와 동일한 APS가 존재하고 SAO 코딩도구 파라미터가 현재 슬 라이스에 사용되는 SAO 코딩도구 파라미터와 동일한 APS가 존재하면 단계 904를 실행하고 그렇지 않으면 단계 905를 실행한다.
단계 904: 인코더는 슬라이스 데이터 구조 중의 number_valid_aps를 2로 설정하고 u(v)에 대응되는 코딩 방법으로 number_valid_aps를 비트 스트림에 입력한 후 ALF 코딩도구 파라미터가 현재 슬라이스 ALF 코딩도구 파라미터와 동일한 APS의 식별자를 aps_id[0]에 부여하고 SAO 코딩도구 파라미터가 현재 슬라이스 SAO 코딩도구 파라미터와 동일한 APS의 식별자를 aps_id[1]에 부여하며 ue(v)에 대응되는 방법으로 aps_id[0]과 aps_id[1]를 슬라이스 헤더 정보 비트 스트림에 입력함으로 써 현재 과정은 종료된다.
단계 905: 만일 APS에 대응되는 코딩도구 파라미터가 현재 슬라이스에 사용되는 ALF 코딩도구 파라미터 및 SAO 코딩도구 파라미터 중의 하나와 동일한 APS가 존재하면 단계 906을 실행하고 그렇지 않으면 현재 슬라이스에 사용되는 SAO와 ALF를 위해 새로운 파라미터 세트를 생성한 후 단계 908를 실시한다.
단계 906: 인코더가 새로운 APS를 생성하고 새로운 APS에서 현재 슬라이스에 사용되는 ALF 코딩도구 파라미터와 SAO 코딩도구 파라미터 중의 다른 하나를 인코딩하고 이 새로운 APS에 식별자를 분배한다.
단계 907: 인코더는 슬라이스 데이터 구조 중의 number_valid_aps를 2로 설정하고 u(v)에 대응되는 코딩 방법으로 number_valid_aps를 비트 스트림에 입력한 후 ALF 코딩도구 파라미터가 현재 슬라이스에 사용되는 ALF 코딩도구 파라미터와 동일한 APS의 식별자를 aps_id[0]에 부여하며 SAO 코딩도구 파라미터가 현재 슬라이스에 사용되는 SAO 코딩도구 파라미터와 동일한 APS의 식별자를 aps_id[1]에 부여하며 ue(v)에 대응되는 방법으로 aps_id[0]과 aps_id[1]를 슬라이스 헤더 정보 비트 스트림에 입력함으로 써 현재 단계는 종료된다.
단계 908: 만일 현재 슬라이스 코딩도구 파라미터의 SAO와 ALF를 추후 슬라이스 인코딩에 사용할 경우 단계 909를 실행하고 그렇지 않으면 단계 910을 실행한다.
단계 909: 인코더가 두개 새로운 APS를 생성하고 그 중의 하나의 새로운 APS에서 현재 슬라이스에 사용되는 SAO 코딩도구 파라미터를 인코딩하고 다른 하나의 새로운 APS에서 현재 슬라이스에 사용되는 ALF 코딩도구 파라미터를 인코딩하며 두개 새로운 APS에 서로 다른 식별자를 각각 분배하고 슬라이스 데이터 구조 중의 number_valid_aps 값을 2로 설정하고 u(v)에 대응되는 코딩 방법으로 number_valid _aps를 비트 스트림에 입력하며 현재 슬라이스가 사용하는 ALF 코딩도구 파라미터를 포함한 새로운 APS의 식별자를 aps_id[0]에 부여하며 현재 슬라이스에 사용되는 SAO 코딩도구 파라미터를 포함한 새로운 APS의 식별자를 aps_id[1]에 부여한 후 ue(v)에 대응되는 방법으로 aps_id[0]과 aps_id[1]를 슬라이스 헤더 정보 비트 스트림에 입력함으로 써 현재 단계는 종료된다.
단계 910: 인코더가 새로운 APS를 생성하고 상기 APS에서 현재 슬라이스에 사용되는 SAO 코딩도구 파라미터와 ALF 코딩도구 파라미터를 인코딩하고 이 새로운 APS에 식별자를 분배한 후 슬라이스 데이터 구조 중의 number_valid_aps 값을 1로 설정하고 u(v)에 대응되는 인코딩 방법으로 number_valid _aps 를 비트 스트림에 입력하고 새로운 APS의 식별자를 aps_id[0]에 부여하며 ue(v)에 대응되는 방법으로 aps_id[0]를 슬라이스 헤더 정보 비트 스트림에 입력함으로써 현재 단계는 종료된다.
실시예 3:
본 실시예에서 사용하는 APS비트 스트림 조직 구조는 실시예 1과 동일한다.
본 실시예에서는 슬라이스에 다수 APS에서 제공한 코딩도구 파라미터를 사용 가능하고 슬라이스 헤더 정보에서 다수 APS의 표시방법은 표3과 같다. 본 실시예 에서는 슬라이스 헤더 정보에 APS 표시정보를 추가하고 세부적인 내용은 표 3의 제 6-16을 참조로 한다.
Figure pct00003
표 3에서 valid_aps_exist_flag는 슬라이스 인코딩/디코딩에 픽처 코딩도구 사용여부를 표시한다. valid_aps_exist_flag가 1이면 현재 슬라이스 디코딩에 픽처 코딩도구를 인용하고 APS가 배치한 픽처 코딩도구를 인용한다는 것을 설명하고; valid_aps_exist_flag가 0이면이면 현재 슬라이스 디코딩에 픽처 코딩도구를 인용하지 않고 현재 슬라이스 디코딩에 픽처 코딩도구를 인용하지 않는다는 것을 설명한다.
aps_id_sao는 슬라이스 디코딩에 SAO가 인용한 APS의 식별자를 표시하고 슬라이스 디코딩에 사용된 SAO 코딩도구 파라미터는 상기 APS에서 취득한다.
aps_id_alf는 슬라이스 디코딩에 ALF가 사용하는 APS의 식별자를 표시하고 슬라이스 디코딩에 사용하는 ALF 코딩도구 파라미터는 상기 APS에서 취득한다.
표 3을 기반으로 본 실시예에서 디코더가 슬라이스 다수 APS비트 스트림을 디코딩하는 프로세스는 도 10에 도시한 바와 같이 하기 단계를 포함한다.
단계 1001: 상기 단계 201과 동일.
단계 1002: 디코더는 (sample_adaptive_offset_enabled_flag∥adaptive_loop_filter_enabled_flag)의 값의 진실(true) 여부를 판단하고 만일 진실하면 단계 1003을 실행하고; 그렇지 않으면(false) 이 과정은 종료된다.
단계 1003: 디코더는 슬라이스 헤더 정보를 해석하고 u(1)에 대응되는 디코딩 방법으로 valid_aps_exist_flag의 값을 취득한다.
단계 1004: 만일 valid_aps_exist_flag의 값이 1이면 단계 1005를 실행하고; 그렇지 않으면 디코더는 현재 슬라이스 디코딩에 그 어떤 픽처 코딩도구도 사용하지 않으며 슬라이스 데이터 구조 중의 aps_sample_adaptive_offset_flag와 aps_adaptive_loop_filter_flag를 0으로 설정함으로써 현재 과정은 종료된다.
단계 1005: 만일 sample_adaptive_offset_enabled_flag의 값이 1이면 단계 1006을 실행하고; 그렇지 않으면 슬라이스 디코딩에 SAO를 사용하지 않으며 디코더는 슬라이스 데이터 구조 중의 aps_sample_ adaptive_offset_flag를 0으로 설정한 후 단계 1007를 실행한다.
단계 1006: 디코더는 ue(v)에 대응되는 디코딩 방법으로 aps_id_sao값을 취득하고 디코더는 식별자가 aps_id_sao인 APS에서 SAO 코딩도구 파라미터를 읽으며 SAO 코딩도구 파라미터의 파라미터 값을 슬라이스 SAO 코딩도구 파라미터의 데이터 구조에 부여한 후 단계 1007를 실행한다.
단계 1007: 만일 adaptive_loop_filter_enabled_flag의 값이 1이면 단계 1008을 실행하고; 그렇지 않으면 슬라이스 디코딩에 ALF를 사용하지 않으며 디코더는 슬라이스 데이터 구조 중의 aps_adaptive_loop_filter_flag를 0으로 설정함으로 써 현재 과정을 종료한다.
단계 1008: 디코더는 ue(v)에 대응되는 디코딩 방법으로 aps_id_alf값을 취득하고 디코더는 식별자가 aps_id_alf인 APS에서 ALF 코딩도구 파라미터를 읽으며 ALF 코딩도구 파라미터의 파라미터 값을 슬라이스 ALF 코딩도구 파라미터의 데이터 구조에 부여함으로 써 현재 과정은 종료된다.
상기 디코딩 프로세스에 대응하여, 본 실시예에서 인코더가 슬라이스 다수 APS비트 스트림을 인코딩하는 과정은 도 11에 도시한 바와 같이 하기 단계를 포함한다.
단계 1101: 상기 단계 501과 동일.
단계 1102: 상기 단계 502와 동일.
단계 1103: 인코더가 현재 슬라이스 인코딩에 그 어떤 픽처 코딩도구도 사용하지 않으면 단계 1104를 실행하고; 그렇지 않으면 인코더는 슬라이스 데이터 구조에서 valid_aps_exist_flag의 값을 1로 설정하고 u(1)에 대응되는 인코딩 방법으로 valid_aps_exist_flag를 비트 스트림에 입력한 후 단계 1105를 실행한다.
단계 1104: 인코더는 슬라이스 데이터 구조 중의 valid_aps_exist_flag를 0으로 설정하고 u(1)에 대응되는 인코딩 방법으로 valid_aps_exist_flag를 비트 스트림에 입력한 후 단계 1112를 실행한다.
단계 1105: 인코더는 기존 APS에 현재 슬라이스에 사용되는 SAO와 ALF의 도구 파라미터와 동일한 APS가 포함된다고 판단하며 즉 기존 APS에 현재 슬라이스가 직접 인용 가능한 APS가 존재하면 단계 1106를 실행하고; 그렇지 않으면 단계 1107을 실행한다.
단계 1106: 인코더는 SAO 코딩도구 파라미터가 현재 슬라이스에 사용되는 SAO 코딩도구 파라미터와 동일한 APS의 식별자를 슬라이스 데이터 구조 중의 aps_id_sao 에 부여하며 ALF 코딩도구 파라미터가 현재 슬라이스에 사용되는 ALF 코딩도구 파라미터와 동일한 APS의 식별자를 슬라이스 데이터 구조 중의 aps_id_alf에 부여하고 ue(v)에 대응되는 인코딩 방법으로 aps_id_sao와aps_id_alf를 비트 스트림에 입력한 후 단계 1112를 실행한다.
단계 1107: 인코더는 기존 APS에 현재 슬라이스에 사용되는 SAO 도구 파라미터와 동일한 APS만을 포함하고 현재 슬라이스에 사용되는 ALF 도구 파라미터와 동일한 APS를 포함하지 않는다고 판단하였으면 즉, SAO도구 파라미터 인코드만을 직접 기존 APS를 인용할 수 있으면 단계 1108을 실행하고; 그렇지 않으면 단계 1109를 실행한다.
단계 1108: 인코더는 SAO 코딩도구 파라미터가 현재 슬라이스에 사용되는 SAO 코딩도구 파라미터와 동일한 APS의 식별자를 슬라이스 데이터 구조 중의 aps_id_sao 에 부여한다. 인코더는 새로운 APS를 생성하고 상기 새로운 APS에 식별자를 분배하며 상기 APS 중에서 ALF 도구 파라미터를 인코딩하고 상기 APS 식별자를 슬라이스 데이터 구조 중의 aps_id_alf에 부여한다. 인코더는 ue(v)에 대응되는 인코딩 방법으로 aps_id_sao와aps_id_alf를 비트 스트림에 입력한 후 단계 1112를 실행한다.
단계 1109: 인코더는 기존 APS에 현재 슬라이스에 사용되는 ALF 도구 파라미터와 동일한 APS를 포함하고 현재 슬라이스에 사용되는 SAO도구 파라미터와 동일한 APS를 포함하지 않는다고 판단하였으면 즉, ALF 도구 파라미터 인코드만을 직접 기존 APS를 인용할 수 있으면 단계 1110을 실행하고; 그렇지 않으면 단계 1111을 실행한다.
단계 1110: 인코더는 ALF 코딩도구 파라미터가 현재 슬라이스에서 사용되는 ALF 코딩도구 파라미터와 동일한 APS의 식별자를 슬라이스 데이터 구조 중의 aps_id_alf에 부여한다. 인코더는 새로운 APS를 생성하고 상기 새로운 APS에 식별자를 분배하며 상기 APS 중에서 SAO도구 파라미터를 인코딩하고 APS 식별자를 슬라이스 데이터 구조 중의 aps_id_sao에 부여한다. 인코더는 ue(v)에 대응되는 인코딩 방법으로 aps_id_sao와aps_id_alf를 비트 스트림에 입력한 후 단계 1112를 실행한다.
단계 1111: 인코더는 새로운 APS를 생성하고 상기 새로운 APS에 식별자를 분배하며 상기 APS에서 SAO도구 파라미터와 ALF도구 파라미터를 동시에 인코딩한다 인코더는 APS 식별자를 슬라이스 데이터 구조 중의 aps_id_sao와 aps_id_alf에 부여하며 ue(v)에 대응되는 인코딩 방법으로 aps_id_sao와 aps_id_alf를 비트 스트림에 입력한 후 단계 1112를 실행한다.
단계 1112: 인코더는 슬라이스의 기타 인코딩 데이터를 비트 스트림에 입력함으로써 슬라이스 인코딩 과정은 종료된다.
실시예 4
본 실시예에서 사용하는 APS비트 스트림 조직 구조는 표 4와 같으며 표 4의 제3-4행, 제13-15행, 제20행, 제23-25행, 제30-31행은 전부 본 실시예에서 종래 APS 비트 스트림 조직 구조에서 새로 추가된 문법 단위이다.
Figure pct00004
그 중, aps_sample_adaptive_offset_data_present_flag는 현재 APS에 SAO 코딩도구 파라미터 포함 여부를 표시하고 aps_sample_adaptive_offset_data_present_flag값이 1일 경우, 현재 APS에 SAO 코딩도구 파라미터가 포함된다는 것을 표시하고; aps_sample_ adaptive_offset_data_present_flag값이 0일 경우, 현재 APS에 SAO 코딩도구 파라미터가 포함하지 않는다는 것을 표시한다. 실제 응용에서 aps_sample_adaptive_offset_flag의 기본값은 0이다.
aps_adaptive_loop_filter_data_present_flag는 현재 APS에 ALF 코딩도구 파라미터 포함 여부를 표시하고 aps_adaptive_loop_filter_data_present_flag값이 1일 경우, 현재 APS에 ALF 코딩도구 파라미터가 포함된다는 것을 표시하고; aps_adaptive_loop_filter_data_present_flag값이 0일 경우, 현재 APS에 ALF 코딩도구 파라미터가 포함되지 않는다는 것을 표시한다. 실제 응용에서 aps_adaptive_loop_filter_flag의 기본값은 0이다.
표 4의 APS 비트 스트림 조직 구조를 기반으로 대응되는 APS비트 스트림 디코딩 과정은 도 12에 도시한 바와 같이 하기 단계를 포함한다.
단계 1201: 디코더는 APS비트 스트림을 읽으며 u(1)에 대응되는 디코딩 방법으로 aps_sample_adaptive_offset_data_present_flag와 aps_adaptive_loop_filter_data_ present_flag의 값을 취득한다.
단계 1202: 디코더는 APS에서 엔트로피 코딩(entropy coding)과 관련되는 충진 정보를 디코딩한다.
단계 1203: 만일 aps_sample_adaptive_offset_data_present_flag의 값이 1이면 단계 1204를 실행하고; 그렇지 않으면 현재 APS에 SAO 코딩도구 파라미터가 존재하지 않으며 단계 1207을 실행한다.
단계 1204: 디코더는 u(1)에 대응되는 디코딩 방법으로 aps_sample_adaptive_ offset_flag의 값을 취득한다.
단계 1205: 만일 aps_sample_adaptive_offset_flag의 값이 1이면 단계 1206을 실행하고; 그렇지 않으면 단계 1207을 실행한다.
단계 1206: 디코더는 SAO필터 파라미터 및 기타 관련 제어 파라미터를 디코딩하며 단계 1207을 실행한다.
단계 1207: 만일 aps_adaptive_loop_filter_data_present_flag의 값이 1이면 단계 1208을 실행하고; 그렇지 않으면 현재 APS에 ALF 코딩도구 파라미터가 존재하지 않으며 단계 1211을 실행한다.
단계 1208: 디코더는 u(1)에 대응되는 디코딩 방법으로 aps_adaptive_loop_filter _flag의 값을 취득한다.
단계 1209: 만일 aps_adaptive_loop_filter_flag의 값이 1이면 단계 1210을 실행하고; 그렇지 않으면 단계 1211을 실행한다.
단계 1210: 디코더는 ALF필터 파라미터 및 기타 관련 제어 파라미터를 디코딩하고 단계 1211을 실행한다.
단계 1211: 디코더는 APS에서의 기타 문법단위를 디코딩하고 현재 디코딩 과정을 종료한다.
도 12에 도시한 APS비트 스트림 디코딩에 대응하여 본 실시예에서 APS비트 스트림 인코딩 프로세스는 도 13에 도시한 바와 같이 하기 단계를 포함한다.
단계 1301: 인코더는 APS를 생성하고 생성된 APS에 식별자를 분배하고 ue(v)에 대응되는 인코딩 방법으로 APS의 식별자를 비트 스트림에 입력한다.
단계 1302: 인코더는 슬라이스 실제 인코딩에 사용하는 픽처 코딩도구에 따라 APS 중 aps_sample_adaptive_offset_data_present_flag와 aps_adaptive_loop_filter_ data_present_flag의 값을 결정하고 u(1)에 대응되는 방법으로 aps_sample_adaptive_offset_data_present_flag와 aps_adaptive_loop_filter_ data_present_flag를 비트 스트림에 입력하고 엔트로피 코딩 관련 충진 정보를 인코딩한다.
단계 1303: 만일 aps_sample_adaptive_offset_data_present_flag의 값이 1이면 단계 1304를 실행하고 그렇지 않으면 단계 1305를 실행한다.
단계 1304: SAO ON/OFF플래그, SAO필터 계수, 관련 제어 정보를 포함한 SAO 코딩도구 파라미터를 인코딩하고 단계 1305를 실행한다.
단계 1305: 만일 aps_adaptive_loop_filter_data_present_flag의 값이 1이면 단계 1306을 실행하고; 그렇지 않으면 단계 1307을 실행한다.
단계 1306: ALF ON/OFF플래그, ALF필터 계수, 관련 제어 정보를 포함한 ALF 코딩도구 파라미터를 인코딩하고 단계 1307을 실행한다.
단계 1307: 인코더는 APS 중의 기타 문법단위를 인코딩하고 현재 인코딩 과정은 종료된다.
도 12의 디코딩 및 도 13의 인코딩에는 신규 추가한 문법단위의 디코딩 프로세스 혹은 인코딩 프로세스만을 포함하며 기타 문법단위의 디코딩 혹은 인코딩 프로세스는 기존기술로 구현 가능하기 때문에 설명을 생략한다.
본 실시예에서는 슬라이스에 다수 APS에서 제공한 코딩도구 파라미터의 사용을 허용하며 슬라이스 헤더 정보에서 다수 APS의 표시방법은 표 5와 같으며 본 실싱예서는 슬라이스 헤더 정보에 APS 표시정보를 추가했으며 상세한 내용은 표 5의 제6-11행을 참조로 한다.
Figure pct00005
그 중, 표 5에서 number_valid_aps,aps_id[i]의 의미는 실시예 1에서 표 2와 동일하고 서로 다른 것은 number_valid_aps의 값이 1보가 크면 현재 슬라이스에 다수 APS를 동시에 인용하며 이 경우, 현재 슬라이스에 인용되는 APS의 식별자는 aps_id[0], aps_id[1],...aps_id[number_valid_aps_1]에서 제공한다.
디코더는 다수 APS의 겹쳐쓰기 모드를 사용하여 슬라이스에 사용되는 픽처 코딩도구의 도구 파라미터를 결정하며 세부적으로는 식별자가 aps_id[n](1≤n≤number_valid_aps-1)인 APS 중의 aps_sample_adaptive_offset_data_present_flag가 1일 경우, 상기 APS 중의 SAO 코딩도구 파라미터로 그전에 aps_id[0], aps_id[1],?ps_id[n-1]에 따라 결정한 현재 슬라이스 비트 스트림의 디코딩에 사용되는 SAO 코딩도구 파라미터를 겹쳐 쓰고; 식별자가 aps_id[n](1≤n≤number_valid_aps-1)인 APS 중의 aps_adaptive_loop_filter_data_present_flag가 1일 경우, 상기 APS 중의 ALF 코딩도구 파라미터로 그전에 aps_id[0], aps_id[1],?ps_id[n-1]에 따라 결정한 현재 슬라이스 비트 스트림의 디코딩에 사용되는 ALF 코딩도구 파라미터를 겹쳐 쓴다.
본 실시예에서 디코드가 슬라이스 다수 APS비트 스트림을 해석하는 프로세스는 도 14에 도시한 바와 같이 하기 단계를 포함한다.
단계 1401: 상기 단계 201과 동일.
단계 1402: 상기 단계 202와 동일.
단계 1403: 상기 단계 203과 동일.
단계 1404: 상기 단계 204와 동일.
단계 1405: 상기 단계 205와 동일.
단계 1406: 만일 number_valid_aps의 값이 1이면 단계 1407를 실행하고; 그렇지 않으면 단계 1408을 실행한다.
단계 1407: 상기 단계 207과 동일.
단계 1408: 디코더는 다수 APS를 해석하고 다수 APS의 겹쳐쓰기 방식을 사용하여 다수 APS를 디코딩하여 취득한 SAO 코딩도구 파라미터와 ALF 코딩도구 파라미터를 사용하며 현재 슬라이스 디코딩에 사용하는 SAO 코딩도구 파라미터와 ALF 코딩도구 파라미터를 결정하고 결정한 SAO 코딩도구 파라미터와 ALF 코딩도구 파라미터의 파라미터값을 슬라이스 데이터 구조 중의 SAO 대응 변수와 ALF의 대응 변수에 부여함으로써 현재 과정은 종료된다.
그 중, 단계 1408에서 현재 슬라이스 디코딩에 사용하는 SAO 코딩도구 파라미터와 ALF 코딩도구 파라미터를 결정하는 프로세스는 도 15에 도시한 바와 같이 하기 단계를 포함한다.
단계 1501: 디코더는 순환변수i=0을 초기화한다.
단계 1502: 디코더는 순환변수i가 number_valid_aps보다 작은지 판단하고 만일 작으면 단계 1503을 실행하고; 그렇지 않으면 단계 1503을 실행한다.
단계 1503: 디코더는 상기 APS비트 스트림 디코딩 방법으로 식별자가 aps_id[i]인 APS비트 스트림을 디코딩한다.
단계 1504: 만일 aps_sample_adaptive_offset_data_present_flag의 값이1이면 단계 1505를 실행하고; 그렇지 않으면 단계 1506을 실행한다.
단계 1505: 디코더는 식별자가 aps_id[i]인 APS를 디코딩하여 취득한 SAO 코딩도구 파라미터로 그전에 현재 슬라이스 코딩에 사용하기로 결정한 SAO 코딩도구 파라미터를 겹쳐 쓰고 단계 1508을 실행한다.
단계 1506: 디코더는 순화변수i의 값이 0인지 판단하고 만일 0이면 단계 1507을 실행하고; 그렇지 않으면 단계 1508을 실행한다.
단계 1507: 디코더는 슬라이스 aps_sample_adaptive_offset_flag의 값을 0으로 설정하고 단계 1508을 실행한다.
단계 1508: 만일 aps_adaptive_loop_filter_data_present_flag의 값이1이면 단계 1509를 실행하고; 그렇지 않으면 단계 1510을 실행한다.
단계 1509: 디코더는 식별자가 aps_id[i]인 APS를 디코딩하여 취득한 ALF 코딩도구 파라미터로 그전에 현재 슬라이스 디코딩에 사용하기로 결정한 ALF 코딩도구 파라미터를 겹쳐 쓰고 단계 1512를 실행한다.
단계 1510: 디코더가 순환변수i의 값이 0인지 판단하고 만일 0이면 단계 1511을 실행하고; 그렇지 않으면 단계 1512를 실행한다.
단계 1511: 디코더는 슬라이스 aps_adaptive_loop_filter_flag의 값을 0으로 설정하고 단계 1512를 실행한다.
단계 1512; 디코더가 순화변수i=i+1로 업데이트하고 단계 1502로 돌아온다.
단계 1513: 디코더는 최종 결정한 SAO 코딩도구 파라미터와 ALF 코딩도구 파라미터를 사용하여 현재 슬라이스 비트 스트림을 디코딩함으로 써 현재 과정은 종료된다.
단계 1408의 구현 프로세스에 대하여, 식별자가 aps_id[0]인 APS를 기본 APS로 하고 식별자가 각각 aps_id[1], aps_id[2],?ps_id[number_valid_aps-1]인 각 APS를 수정 APS로 하며 디코더는 우선 기본 APS를 디코딩하고 슬라이스 픽처 코딩도구의 초기 도구 파라미터를 설정한 후 각 수정 APS를 디코딩하고 상기 도 15의 다수 APS 겹쳐쓰기 모드를 사용하며 최종적으로 현재 슬라이스 디코딩시 사용되는 픽처 코딩도구의 코딩도구 파라미터를 결정한다.
본 실시예에서 인코더가 슬라이스 다수 APS 비트 스트림을 인코딩하는 프로세스는 도 16에 도시한 바와 같이 하기 단계를 포함한다.
단계 1601-1602: 상기 단계 501-502와 동일.
단계 1603: 만일 현재 슬라이스가 픽처 코딩도구를 사용하고 픽처 코딩도구의 코딩도구 파라미터가 기존 APS 중의 동일 픽처 코딩도구의 코딩도구 파라미터와 동일하면 단계 1604를 실행하고; 그렇지 않으면 단계 1605를 실행한다.
단계 1604: 인코더는 APS의 식별자를 슬라이스 헤더 정보의 비트 스트림에 입력하고 단계 1606을 실행한다.
만일 인코더가 APS에 포함되는 픽처 코딩도구의 도구 파라미터가 현재 슬라이스에 사용하는 전부 픽처 코딩도구의 도구 파라미터와 완전히 동일한 하나의 기존 APS가 존재한다고 검측하였으면 인코더는 슬라이스 데이터 구조에서 number_valid_aps를 1로 설정하고 u(v)에 대응되는 인코딩 방법으로 number_valid_aps를 비트 스트림에 입력하며 대응되는 코딩도구 파라미터가 현재 슬라이스에서 사용한 코딩도구 파라미터와 동일한 APS의 식별자를 취득한 후 상기 APS의 식별자를 슬라이스 데이터 구조의 aps_id[0] 에 부여하고 ue(v)에 대응되는 인코딩 방법으로 aps_id[0]의 값을 코드 스트림에 입력한다.
만일 인코더가 다수 APS가 존재하는 것을 검측하고 다수 APS 겹쳐쓰기 방법에 따라 현재 슬라이스에 사용되는 픽처 코딩도구와 동일한 도구 파라미터를 획득하였으면 인코더는 슬라이스 데이터 구조 중의 number_valid_aps의 값을 사용하는 APS 수량으로 설정하며 u(v)에 대응되는 인코딩 방법으로 비트 스트림에 입력한다. 인코더는 다수 APS 겹쳐쓰기 방법에 따라 사용하는 APS의 식별자를 차례로 슬라이스 데이터 구조의 aps_id[0], aps_id[1],...aps_id[number_valid_aps-1]에 부여하고 ue(v)에 대응되는 인코딩 방법으로 비트 스트림에 입력한다.
단계 1605: 인코더는 새로운 APS를 생성하고 새로 생성된 APS에 식별자를 분배하고 새로운 APS 식별자 정보를 슬라이스 헤더 정보에 입력한 후 단계 1606을 실행한다.
인코더는 현재 슬라이스에서 사용하는 각 픽처 코딩도구에 대하여 대응되는 새로운 APS를 각각 생성하며 각 픽처 코딩도구에 대응되는 새로운 APS에서 대응되는 코딩도구 파라미터를 인코딩한다.
인코더는 새로운 APS를 더 생성할 수 있으며 상기 APS에서 현재 슬라이스에서 사용하는 전부 코딩도구의 도구 파라미터를 인코딩하고 상기 APS의 식별자를 슬라이스 헤더 정보의 비트 스트림에 입력한다.
상기에 인코더는 현재 슬라이스에서 사용하는 픽처 코딩도구가 추후 슬라이스 코딩에의 사용 여부에 따라 새로운 APS를 생성하는 데 그 중, 한 APS에 하나 혹은 다수의 픽처 코딩도구의 코딩도구 파라미터가 포함된다.
그 중, 현재 슬라이스에서 사용하는 픽처 코딩도구에서 하나/다수 픽처 코딩도구의 도구 파라미터와 기존APS에 포함되는 대응되는 코딩도구 파라미터가 동일하면 인코더는 도구 파라미터와 모든 기존APS에 포함되는 대응되는 코딩도구 파라미터가 전부 동일하지 않은 기타 픽처 코딩도구에 대하여 APS를 생성한다.
인코더는 APS의 식별자 정보를 슬라이스 헤더 정보의 비트 스트림에 입력하고 다수 APS 겹쳐쓰기 방식을 사용한 디코더가 비트 스트림을 해석한 후 정확한 픽처 코딩도구의 도구 파라미터를 취득할 수 있도록 확보한다.
상기는 인코더가 APS를 생성, 기존 APS의 이용와 추후 슬라이스 인코딩 과정에 현재의 슬라이스 APS를 다시 사용하는 것등에 대한 최적화 방법이다. 본 실시예에 따른 디코더가 정확히 해석할 수 있는 슬라이드 APS 코드 스트림을 생성할 수 있는 인코더 및 APS 인코딩, 슬라이스 APS 인코딩 방법은 모두 본 실시예의 단계 1605에 포함된다.
단계 1606: 인코더는 슬라이스의 기타 인코딩 데이터를 비트 스트림에 입력하고 슬라이스 인코딩 과정은 종료된다.
단계 1605에서 인코더는 새로은 APS를 생성하고 새로운 APS에 식별자를 분배하고 새로운 APS의 식별자 정보를 슬라이스 헤더 정보에 입력하는 구현 프로세스는 도 17에 도시한 바와 같이 하기 단계를 포함한다.
단계 1701: 상기 단계 601과 동일.
단계 1702: 상기 단계 602와 동일.
단계 1703: 상기 단계 603과 동일.
단계 1704: 상기 단계 604와 동일.
단계 1705: 만일 기존APS에는 대응되는 도구 파라미터와 현재 슬라이스의 SAO와 ALF 중의 하나의 도구 파라미터와 동일하면 단계 1706을 실행하고 그렇지 않으면 단계 1707을 실행한다.
단계 1706: 상기 단계 606과 동일.
단계 1707: 인코더의 최적화 모듈이 추후 슬라이스의 인코딩에 현재 슬라이스에 동일한 도구 파라미터를 가지는 SAO혹은 ALF를 별도로 사용 여부를 판단하며 별도로 사용하면 단계 1708을 실행하고; 그렇지 않으면 단계 1709를 실행한다.
단계 1708: 상기 단계 608과 동일.
단계 1709: 상기 단계 609와 동일.
실시예 5
본 실시예에서 사용하는 APS비트 스트림 조직 구조는 실시예 1과 동일하다.
본 실시예에서는 슬라이스에 다수 APS에서 제공한 코딩도구 파라미터 인용 을 허용하며 슬라이스 헤더 정보에서의 다수 APS의 표시방법은 표2와 같으며 본 실 시예에서는 슬라이스 헤더 정보에 APS 표시정보를 추가했으며 상세한 내용은 표 6의 제6-16을 참조로 한다.
Figure pct00006
그 중, number_valid_aps와aps_id[i]의 의미는 실시예 1과 동일하다.
그 중, aps_overwriting_pattern[i]는 number_valid_aps값이 1보다 클 경우의 다수 APS 겹쳐쓰기 모드 지시에 사용된다. 본 실시예에서 사용되는 다수 APS 겹쳐쓰기 모드 및 그 상세한 방법은 표 7과 같다.
Figure pct00007
Figure pct00008
그 중 aps_overwriting_pattern[i]의 2진수 표시에서 두개 비트가 포함되는 데 그 중, 첫번 째 비트는 "SAO 코딩도구 파라미터 겹쳐쓰기 여부" 표시에 사용되고 두번째 비트는 "SAO 코딩도구 파라미터 겹쳐쓰기 여부" 표시에 사용되고 대응되는 겹쳐쓰기 모드를 한정한다. 상기 방법은 사용 가능한 픽처 코딩도구의 수량이 2보다 클 경우, 다수 APS 겹쳐쓰기 모드 및 대응 조작의 확장에 적접 사용된다.
본 실시예에서 디코더가 슬라이스 다수 APS비트 스트림 디코딩하는 과정은 도 18과 같으며 다음과 같은 단계를 포함한다.
단계 S1801: 상기 단계 201과 동일.
단계 S1802: 상기 단계 202와 동일.
단계 S1803: 상기 단계 203과 동일.
단계 S1804: 상기 단계 204와 동일.
단계 S1805: 상기 단계 205와 동일.
단계 S1806: 상기 단계 206과 동일.
단계 S1807: 상기 단계 207과 동일.
단계 S1808: 상기 단계 207과 동일.
단계 S1809: 디코더는 u(2)에 대응되는 디코딩 방법으로 APS 겹쳐쓰기 모드 인덱스 정보를 해석하고 각 겹쳐쓰기 모드에 대응되는 조작방법(표 8)을 사용하여 SAO와 ALF 코딩도구 파라미터를 결정함으로써 본 과정은 종료된다.
본 실시예에서 인코더가 슬라이스 다수 APS비트 스트림 인코딩하는 과정은 도 19와 같으며 다음과 같은 단계를 포함한다.
단계 1901: 상기 단계 1601과 동일.
단계 1902: 상기 단계 1602와 동일.
단계 1903: 만일 인코더가 현재 슬라이스에서 픽처 코딩도구를 사용하는 것을 검측하고 사용하는 도구와 기존 APS에서의 픽처도구의 도구 파라미터가 동일하면 단계 1904를 실행하고; 그렇지 않으면 단계 1905를 실행한다.
단계 1904: 인코더는 기존 APS의 식별자를 슬라이스 헤더 정보의 비트 스트림에 입력 한 후 단계 1906을 실행한다.
만일 인코더는 한 APS가 존재하는 것으로 감지하고 APS에 포함되는 픽처 코딩도구의 도구 파라미터와 현재 슬라이스에 사용하는 전부 픽처 코딩도구의 도구 파라미터가 완전 동일하면 인코더는 슬라이스 데이터 구조에서 number_valid_aps를 1로 설정하고 u(v)에 대응되는 인코딩 방법으로 number_valid_aps를 비트 스트림에 입력하며 해당 코딩도구 파라미터와 현재 슬라이스에서 사용한 코딩도구 파라미터가 동일한 APS의 식별자를 취득한 후 상기 APS의 식별자를 슬라이스 데이터 구조의 aps_id[0]에 부여하고 ue(v)에 대응되는 인코딩 방법으로 aps_id[0]의 값을 비트 스트림에 입력한다.
만일 기존 APS에 SAO 코딩도구 파라미터와 현재 슬라이스에 사용하는 SAO 코딩도구 파라미터가 동일한 하나APS 및 ALF 코딩도구 파라미터와 현재 슬라이스에 사용하는 ALF 코딩도구 파라미터가 동일한 한 APS가 존재하면 인코더 는 슬라이스 데이터 구조에서 number_valid_aps를 2로 설정하고 u(v)에 대응되는 인코딩 방법으로 number_valid_aps를 비트 스트림에 입력하고 상기 두개 APS의 식별자를 aps_id[0]과 aps_id[1]에게 각각 부여한 후 ue(v)에 대응되는 인코딩 방법을 사용하여 aps_id[0]과aps_id[1]를 비트 스트림에 입력하며, 인코더는 사용에 필요한 다수 APS 겹쳐쓰기 모드를 결정하여 aps_overwriting_pattern에게 값을 부여하며 u(2)에 대응되는 인코딩 방법으로 aps_overwriting_pattern를 비트 스트림에 입력한다.
그 중, 인코더는 다수 APS 식별자를 슬라이스 헤더 정보 비트 스트림에 입력하는 과정에서 반드시 상기 설정한 다수 APS는 본 실시예의 디코더가 슬라이스 다수 APS코드 스트림 디코딩 방법과 정의한 APS 겹쳐쓰기 모드를 사용할 수 있도록 확보하여 정확한 픽처 코딩도구의 코딩도구 파라미터를 취득한다.
단계 1905: 새로운 APS를 생성하고 상기 새로운 APS에 식별자를 분배하고 새로운 APS의 식별자 및 다수 APS 겹쳐쓰기 모드를 슬라이스 헤더 정보에 입력하고 단계 1906을 실행한다.
인코더는 다수 APS 식별자를 슬라이스 헤더 정보 비트 스트림에 입력하는 과정에서 반드시 상기 설정한 다수 APS는 본 실시예의 디코더가 슬라이스 다수 APS 코드 스트림 디코딩 방법과 정의한 APS 겹쳐쓰기 모드를 사용할 수 있도록 확보하여 정확한 픽처 코딩도구의 코딩도구 파라미터를 취득한다.
단계 1906: 인코더는 슬라이스의 기타 인코딩 데이터를 비트 스트림에 입력함으로 써 슬라이스 인코딩 과정은 종료된다.
그 중, 단계 1905에서 새로운 APS를 생성하는 과정은 도 20과 같으면 다음과 같은 단계를 포함한다.
단계 2001: 상기 단계 601과 동일.
단계 2002: 상기 단계 602와 동일.
단계 2003: 상기 단계 603과 동일.
단계 2004: 상기 단계 604와 동일.
단계 2005: 인코더는 기존 APS에는 대응되는 코딩도구 파라미터와 현재 슬라이스의 SAO 코딩도구 파라미터 혹은 ALF 코동도구 파라미터가 동일한 APS가 존재 여부를 판단하는 데 만일 존재하면 단계 2006을 실행하고; 그렇지 않으면 단계 2007을 실행한다.
단계 2006: 상기 단계 606과 동일.
단계 2007: 인코더는 APS 겹쳐쓰기 모드를 설정하여 디코더가 정확한 픽처 코딩도구 파라미터를 취득할 수 있도록 확보하며 설정한 APS 겹쳐쓰기 모드를 기반으로 슬라이스 데이터 구조 중의 aps_overwriting_pattern[0]에게 값을 부여하며 u(2)에 대응되는 인코딩 방법으로 aps_overwriting_pattern[0]를 비트 스트림에 입력함으로써 현재 과정은 종료된다.
단계 2008: 인코더는 추후 슬라이스 인코더에서 현재 슬라이스에 동일한 코딩도구 파라미터를 가지는 SAO혹은 ALF 사용이 필요된다고 판단하는데 만일 사용이 필요 되면 단계 2009를 실행하고; 그렇지 않으면 단계 2011을 실행한다.
단계 2009: 상기 단계 608과 동일.
단계 2010: 인코더는 APS 겹쳐쓰기 모드를 설정하여 디코더가 정확한 픽처 코딩도구 파라미터를 취득할 수 있도록 확보하며 설정한 APS 겹쳐쓰기 모드를 기반으로 슬라이스 데이터 구조 중의 aps_overwriting_pattern[0]에게 값을 부여하며 u(2)에 대응되는 인코딩 방법으로 aps_overwriting_pattern[0]를 비트 스트림에 입력함으로써 현재 과정은 종료된다.
단계 2011: 상기 단계 609와 동일.
본 실시예에서 실시예 4에서의 APS 비트 스트림 조직 구조를 사용할 수 있다. 이 경우, 인코더가 한 픽처 코딩도구를 위해 별도로 한 APS를 생성하면 생성한 상기 APS에서 기타 픽처 코딩도구의 상기 APS의 플래그가 0이다. 예를 들면 ALF도구 파라미터를 위해 별도로 생성한 APS에서 인코더는 SAO에 대응되는 aps_sample_adaptive_offset_data_present_flag를 0으로 설정한다.
실시예 6:
본 실시예에서 사용하는 APS비트 스트림 조직 구조는 실시예 1과 동일한다.
본 실시예에서는 슬라이스에 다수 APS에서 제공한 코딩도구 파라미터 사용을 허용하며 슬라이스 헤더 정보에서 다수 APS의 표시방법은 표 2와 같으며 본 실시예서는 슬라이스 헤더 정보에 APS 표시정보를 추가했으며 상세한 내용은 표 2의 제6-13행을 참조로 한다.
본 실시예에서 디코더는 APS 겹쳐쓰기 모드를 사용하여 현재 디코딩 슬라이스에 사용되는 코딩도구 파라미터를 결정한다. 본 실시예에서 사용한 APS 겹쳐쓰기 모드 및 대응되는 조작방법은 표 8과 같다. 슬라이스 헤더 정보에 다수 APS가 존재할 경우, 디코더는 aps_id[i]과 aps_id[i-1](i=1,2,...number_valid_aps-1)가 제공한 APS 식별자간의 절대치의 차 abs(x)에 따라 APS의 정보 겹쳐쓰기 모드를 결정한다. 표 8에서 abs(x)가 실수x의 절대치를 돌아온다.
Figure pct00009
본 실시예에서 디코더가 슬라이스 다수 APS 비트 스트림를 디코딩하는 과정은 도 21과 같으며 다음과 같은 단계를 포함한다.
단계 2101: 상기 단계 201과 동일.
단계 2102: 상기 단계 202와 동일.
단계 2103: 상기 단계 203과 동일.
단계 2104: 상기 단계 204와 동일.
단계 2105: 상기 단계 205와 동일.
단계 2106: 만일 number_valid_aps의 값이 1이면 단계 2107을 실행하고; number_ valid_aps의 값이 1혹은 0이 아니면 단계 2108을 실행한다.
단계 2107: 상기 단계 207과 동일.
단계 2108: 디코더는 ue(v)에 대응되는 디코딩 방법으로 aps_id[0], aps_id[1],?ps_id[(number_valid_aps-1)의 값을 취득하며 디코더는 식별자가 각각 aps_id[0], aps_id[1],?ps_id[(number_valid_aps-1)인 다수 APS 중의 SAO 코딩도구 파라미터와 ALF 코딩도구 파라미터를 디코딩하며 정의한 APS 겹쳐쓰기 모드에 따라 현재 슬라이스 디코딩 과정에서 사용되는 코딩도구 파라미터를 결정함으로써 현재 과정은 종료된다.
그 중, 단계 2018 중의 정의한 APS 겹쳐쓰기 모드에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 과정은 도 22와 같으며 다음과 같은 단계를 포함한다.
단계 2201: 디코더는 식별자가 aps_id[0]인 APS를 디코딩하여 상기 APS 픽처 코딩도구의 코딩도구 파라미터를 취득한다.
단계 2202: 디코더는 순화변수를 i:=1로 초기화한다.
단계 2203: 만일 i〈number_valid_aps이면 단계 2204를 실행하고; 그렇지 않으면 본 단계는 종료된다.
단계 2204: 디코더는 식별자가 aps_id[i]인 APS를 디코딩하고 abs(aps_id[i]- aps_id[i-1])에 따라 APS 겹쳐쓰기 모드를 결정한다.
단계 2205: 디코더는 결정한 APS 겹쳐쓰기 모드에 따라 식별자가 aps_id[i]인 APS에서 코딩도구 파라미터를 사용하여 상기에서 전에 결정한 해당 코딩도구 파라미터를 겹쳐쓴다.
단계 2206: 대코더는 순환변수i: =i+1를 업데이트하고 단계 2203을 실행한다.
본 실시예에서 인코더가 슬라이스 다수 슬라이스 다수 APS비트 스트림를 인코딩하는 과정은 도 23과 같고 다음과 같은 단계를 포함한다.
단계 2301: 상기 단계 1901과 동일.
단계 2302: 상기 단계 1902와 동일.
단계 2303: 만일 현재 슬라이스가 픽처 코딩도구를 사용하고 픽처 코딩도구의 코딩도구 파라미터와 기존 APS 중에서 동일 픽처 코딩도구의 코딩도구 파라미터가 동일 하면 단계 2304를 실행하고 그렇지 않으면 단계 2305를 실행한다.
단계 2304: 인코더는 기존 APS의 식별자를 슬라이스 헤더 정보에 입력하고 단계 2306을 실행한다.
만일 인코더가 한 APS가 존재하는 것으로 감지하고 APS에 포함되는 픽처 코딩도구의 도구 파라미터와 현재 슬라이스에 사용하는 전부 픽처 코딩도구의 도구 파라미터가 완전 동일하면 인코더는 슬라이스 데이터 구조에서 number_valid_aps를 1로 설정하고 u(v)에 대응되는 인코딩 방법으로 number_valid_aps를 비트 스트림에 입력하며 해당 코딩도구 파라미터가 현재 슬라이스에서 사용한 코딩도구 파라미터와 동일한 APS의 식별자를 취득한 후 상기 APS의 식별자를 슬라이스 데이터 구조의 aps_id[0]에 부여하고 ue(v)에 대응되는 인코딩 방법으로 aps_id[0]의 값을 비트 스트림에 입력 한다.
만일 기존 APS에 SAO 코딩도구 파라미터와 현재 슬라이스에 사용하는 SAO 코딩도구 파라미터가 동일한 하나 APS, 및 ALF 코딩도구 파라미터와 현재 슬라이스 에서 사용하는 ALF 코딩도구 파라미터가 동일한 한 APS가 존재하고 두개 APS의 식별자 관계가 사용에 필요되는 APS겹쳐쓰기 모드를 만족하면 인코더는 슬라이스 데이터 구조에서 number_valid_aps를 2로 설정하고 u(v)에 대응되는 인코딩 방법을 사용하여 number_valid_aps를 비트 스트림에 입력하고 상기 두개 APS의 식별자를 aps_id[0]과 aps_id[1]에게 각각 부여한 후 ue(v)에 대응되는 인코딩 방법으로 aps_id[0]과 aps_id[1]를 비트 스트림에 입력한다.
만일 기존APS에 SAO 코딩도구 파라미터와 현재 슬라이스에 사용하는 SAO 코딩도구 파라미터가 동일한 하나 APS, 및 ALF 코딩도구 파라미터와 현재 슬라이스에 사용하는 ALF 코딩도구 파라미터가 동일한 한 APS가 존재하고 두개 APS의 식별자 관계가 사용에 필요되는 APS 겹쳐쓰기 모드를 만족하지 못하면 인코더는 슬라이스 데이터 구조에서 number_valid_aps를 2로 설정하고 인코딩 비트가 비교적 많은 APS의 식별자를 aps_id[0]에 부여하고 새로운 APS를 생성하며, 상기 APS에서 다른 한 픽처 코딩도구의 코딩도구 파라미터를 인코딩하고 사용에 필요되는 APS 겹쳐쓰기 모드에 따라 상기 APS에게 식별자를 분배하며 값을 aps_id[1]에 부여하며 u(v)에 대응되는 인코딩 방법으로 number_valid_aps의 값을 비트 스트림에 입력하고 ue(v)에 대응되는 인코딩 방법을 사용 하여 aps_id[0]과aps_id[1]를 비트 스트림에 입력한다.
그 중, 인코더는 다수 APS 식별자를 슬라이스 헤더 정보 비트 스트림에 입력하는 과정에서 반드시 상기 설정한 다수 APS는 본 실시예의 디코더가 슬라이스 다수 APS 비트 스트림 디코딩 방법과 정의한 APS 겹쳐쓰기 모드를 사용할 수 있도록 확보하여 정확한 픽처 코딩도구의 코딩도구 파라미터를 취득한다.
단계 2305: 인코더는 새로운 APS를 생성하고 상기 새로운 APS에 식별자를 분배하고 새로운 식별자 및 다수 APS 겹쳐쓰기 모드를 슬라이스 헤더 정보에 입력한 후 단계 2306을 실행한다.
단계 2306: 인코더는 슬라이스의 기타 인코더 데이터를 비트 스트림에 입력함으로써 슬라이스를 인코딩하는 과정은 종료된다.
그 중, 단계 2305에서 새로운 APS를 생성하는 단계는 도 24와 같으며 다음과 같은 단계를 포함한다.
단계 2305의 한가지 구현 방법의 단계는 도 24와 같다.
단계 2401: 상기 단계 601과 동일.
단계 2402: 상기 단계 602와 동일.
단계 2403: 만일 인코더가 현재 슬라이스의 인코딩 과정에서 SAO와 ALF 중의 한가지 픽처 코딩도구만 사용했으면 단계 2404를 실행하고; 만일 인코더가 현재 슬라이스 인코딩 과정에서 SAO와 ALF 중의 두가지 픽처 코딩도구를 동시에 사용했으면 단계 2405를 실행한다.
단계 2404: 상기 단계 604와 동일.
단계 2405: 인코더는 기존 APS에는 대응되는 코딩도구 파라미터와 현재 슬라이스한 SAO 코딩도구 파라미터 혹은 ALF 코딩도구 파라미터가 동일한 APS 존재 여부를 판단하는데 만일 존재하면 단계 2406을 실행하고; 그렇지 않으면 단계 2410을 실 행한다.
단계 2406: 인코더는 APS 겹쳐쓰기 모드를 결정하고 상기 APS 겹쳐쓰기 모드에 따라 새로운 APS의 후보 식별자를 결정한다.
단계 2407: 인코더는 결정한 새로운 APS 후보 식별자 전부 분배 여부를 판단하고 전부 분배되였으면 단계 2410을 실행하고; 그렇지 않으면 단계 2408을 실행한다.
단계 2408: 인코더는 사용 가능한 APS 식별자를 선택하고 다른 코딩도구의 도구 파라미터를 위해 새로운 APS를 생성하고 새로운 APS의 식별자를 aps_id[1]에 부여한다.
단계 2409: 인코더는 슬라이스 데이터 구조에서 number_valid_aps를 2로 설정하고 u(v)에 대응되는 방법으로 number_valid_aps를 비트 스트림에 입력한후 동일 도구 파라미터의 APS의 식별자를 aps_id[0]에 부여하고 ue(v)에 대응되는 인코딩 방법으로 aps_id[0]과 aps_id[1]를 비트 스트림에 입력함으로써 본 과정은 종료된다.
단계 2410: 인코더의 최적화 모듈이 추후 슬라이스의 인코딩 과정에서 현재 슬라이스에서 동일한 도구 파라미터를 가지는 SAO 혹은 ALF를 별도로 사용 여부를 판단하며 별도로 사용하면 단계 2411를 실행하고; 그렇지 않으면 단계 2414를 실행한다.
단계 2411: 인코더는 픽처 코딩도구의 도구 파라미터를 각각 하나씩 포함하는 APS의 겹쳐쓰기 모드를 결정하고 겹쳐쓰기 모드에 따라 두개 APS의 후보 식별자를 결정한다.
단계 2412: 인코더는 새로운 APS의 후보 식별자를 전부 APS에게 분배하지 않았다고 판단하면 단계 2413을 실행하고; 그렇지 않으면 단계 2414를 실행한다.
단계 2413: 인코더는 슬라이스 데이터 구조에서 number_valid_aps를 2로 설정하고 u(v)에 대응되는 방법으로 number_valid_aps를 비트 스트림에 입력한 후 SAO와 ALF에게 두개 새로운 APS를 각각 생성하며 사용가능한 후보 식별자를 분배하고 aps_id[0]과 aps_id[1]에게 값을 부여한 후 ue(v)에 대응되는 인코딩 방법으로 aps_id[0]과 aps_id[1]를 비트 스트림에 입력함으로써 본 단계는 종료된다.
단계 2414: 상기 단계 609과 동일.
실시예 7:
본 실시예에서는 세부적으로 픽처 코딩도구와 픽처 혹은 슬라이스 공공 제어모듈을 사용하여 슬라이스 다수 APS비트 스트림 인코딩/디코딩의 구현 과정을 설명한다.
본 실시예에서 사용하는 APS비트 스트림 조직 구조는 표 9와 같다.
표 9에서 문법단위 aps_common_management_module_data_present_flag는 APS가 포함하는 코딩도구 파라미터 종류의 표시에 사용되며 그 값이 1이면 상기 APS에 포함되는 데이터는 픽처 혹은 슬라이스 공공제어모듈와 관련하는 코딩도구의 코딩도구 파라미터이고 상기 코딩도구 파라미터에는 플래그 및 조작 파라미터가 포함되며 코딩도구 파라미터는 데이터 구조 common_management_module_data()에 포함되고; 값이 0이면 APS에 포함되는 데이터는 슬라이스 코딩도구의 코딩도구 파라미터이고 코딩도구 파라미터는 플래그 및 조작 파라미터를 포함하고 코딩도구 파라미터는 데이터 구조 picture_level_coding_tool- data()에 포함된다.
그 중 데이터 구조 picture_level_coding_tool_data()는 실시예 1~실시예 6에서 APS가 사용한 코딩도구 파라미터의 데이터 구조와 동일하고, 데이터 구조 common_ management_module_data()는 실시예 1~실시예 6에서 APS가 사용한 코딩도구 파라미터의 데이터 구조와 유사하기 때문에 설명을 생략한다.
표 9의 APS비트 스트림 조직을 기반으로 대응되는 디코딩 과정은 도 25와 같으며 다음과 같은 단계를 포함한다.
단계 2501: 디코더는 APS비트 스트림을 읽으며 u(1)에 대응되는 디코딩 방법으로 해석을 통해 문법단위 aps_common_management_module_data_present_flag의 값 을 취득한다.
단계 2502: 만일 aps_common_management_module_data_present_flag의 값이1이면 단계 2503을 실행하고; aps_common_management_module_data_present_flag의 값이 0이면 단계 2504를 실행한다.
단계 2503: 디코더는 APS비트 스트림을 읽으며 픽처 혹은 슬라이스 공공제어모들 관련 문법단위에 대응되는 디코딩 방법에 따라 각 문법단위의 값을 취득함으로써 본 디코딩 단계는 종료된다.
단계 2504: 디코더는 APS비트 스트림을 읽으며 픽처 코딩도구 관련 문법단위에 대응되는 디코딩 방법에 따라 각 문법단위의 값을 취득함으로써 본 디코딩 단계는 종료된다.
표 9의 APS비트 스트림 조직을 기반으로 대응되는 인코딩 단계는 도 26과 같으며 다음과 같은 단계를 포함한다.
단계 2601: 인코더 최적화 모듈은 현재 슬라이스 인코딩에 사용하는 코딩도구 파 라미터를 결정한다.
인코더 최적화 모듈은 현재 코딩단위의 인코딩에 사용되는 코딩도구 및 그 파라미터를 결정한다.
단계 2602: 인코더는 픽처 혹은 슬라이스 공공관리모듈 정보를 비트 스트림에 입력한다.
인코더는 현재 사용하는 픽처 혹은 슬라이스 공공관리모듈 정보가 그전 이미 존재하는 관련 정보와 동일 여부를 판단 혹은 현재 사용하는 픽처 혹은 슬라이스 공공관리모듈 정보를 기존 APS에서 취득 가능 여부를 판단하는데 만일 가능하며 현재 사용하는 픽처 혹은 슬라이스 공공관리모듈 정보를 인코딩하기 않고; 불가능하면 현재 사용하는 픽처 혹은 슬라이스 공공관리모듈 정보를 인코딩한다.
현재 사용하는 픽처 혹은 슬라이스 공공관리모듈 정보를 인코딩할 필요가 있으면 인코더는 픽처 혹은 슬라이스 공공관리모듈 정보가 슬라이스 헤더 정보에 별도로 입려할 필요가 있는가를 판단하고 필요하면현재 슬라이스 헤더 정보에 별도로 입려하고 그렇지 않으면 인코더는 새로운 APS를 생성하고 그 새로운 생성된 APS에서 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 인코딩한다.
단계 2603: 인코더는 픽처 코딩도구 파라미터를 비트 스트림에 입력한다.
인코더는 현재 사용하는 픽처 코딩고구 파라미터가 그전 이미 존재하는 관련 정보와 동일 여부를 판단 혹은 현재 사용하는 픽처 혹은 슬라이스 공공관리모듈 정보를 기존 APS에서 취득 가능 여부를 판단하는데 만일 가능하면 현재 사용하는 픽처 코딩도구 파라미터를 인코딩하기 않고; 불가능하면 픽처 코딩도구 파라미터를 인코딩한다.
만일 현재 사용하는 픽처 코딩도구의 코딩도구 파라미터를 코딩해야 하면 인코더는 새로운 APS를 생성하고 APS의 식별자를 분배한 후 새로운 APS에서 픽처 코딩도구의 코딩도구 파라미터를 인코딩한다.
본 실시예에서는 슬라이스에 다수 APS에서 제공한 코딩도구 파라미터 사용을 허용하고 슬라이스 헤더 정보중에서 다수 APS의 표시방법은 표 10과 같다. 본 실시예에서는 슬라이스 헤드 정보에 APS 식별자를 추가했는데 상세한 내용은 표 10의 제10-16행을 참조로 한다.
Figure pct00010
표 10에서 aps_id는 현재 슬라이스 디코딩에 인용하는 APS의 식별자를 표시하는데 사용된다. 디코더는 식별자가 aps_id인 APS 중의 픽처 코딩도구의 코딩도구 파라미터를 사용하여 현재 슬라이스의 디코딩에 사용되는 픽처 코딩도구를 설정한다.
Referring_to_aps_falg는 현재 슬라이스의 디코딩에 사용하는 픽처 혹은 슬라이스 공공관리모듈이 사용하는 코딩도구 파라미터의 공급원을 설정하는 것을 표시한다. referring_to_aps_falg의 값이 1이면 디코더는 APS 중의 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 사용하여 현재 슬라이스의 디코딩에 사용하는 픽처 혹은 슬라이스 공공관리모듈를 설정하며; 값이 0이면 디코더는 슬라이스 헤더 정보에서 제공한 픽처 혹은 슬라이스 공공 관리모듈의 코딩도구 파라미터, 즉, 데이터 구조 common_management_module_data()에 포함되는 파라미터를 사용하여 현재 슬라이스의 디코딩에 사용하는 픽처 혹은 슬라이스 공공관리모듈를 설정한다.
aps_id_management_module은 현재 슬라이스 디코딩에 사용한 APS의 식별자를 표시한다. 디코더는 식별자가 aps_id_management_module인 APS에서 픽처 코딩도구의 코딩도구 파라미터를 사용하여 슬라이스 디코딩에 사용하는 픽처 혹은 슬라이스 공공관리모듈을 설정한다.
표 10에 있어서, 본 실시예에서는 디코더가 슬라이스 다수 APS비트 스트림를 디코딩하는 과정은 도 27과 같으면 다음과 같은 단계를 포함한다.
단계 2701: 상기 단계 201과 동일.
단계 2702: 디코더는 (sample_adaptive_offset_enabled_flag∥adaptive_loop_filter_ enabled_flag)의 값이 진실(true)한지 판단하고 진실하면 단계 2703을 실행하고; 그렇지 않으면 단계 2704를 실행한다.
단계 2703: 디코더는 슬라이스 헤더 정보를 해석하고 u(v)에 대응되는 디코딩 방법으로 aps_id의 값을 취득하며 식별자가 aps_id인 APS에서 픽처 코딩도구의 코딩도구 파라미터를 사용하여 현재 슬라이스 디코딩에 사용하는 픽처 코딩도구를 설정한 후 단계 2704를 실행한다.
단계 2704: 디코더는 슬라이스 헤더 정보를 해석하고 u(1)에 대응되는 디코딩 방법으로 referrfing_to_aps의 값을 취득한다.
단계 2705: 디코더는 referring_to_aps_flag의 값이 1인지 판단하고 만일 1이면 단계 2706을 실행하고; 만일 값이 0이면 단계 2707을 실행한다.
단계 2706: 디코더는 슬라이스 정보를 해석하고 ue(v)에 대응되는 디코딩 방법으로 aps_id_management_module의 값을 취득하며 식별자가 aps_id_management_ module인 APS에서 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 사용 하여 현재 슬라이스 디코딩에 사용하는 픽처 혹은 슬라이스 공공관리모듈을 설정한 후 단계 2708을 실행한다.
단계 2707: 디코더는 슬라이스 정보에서의 데이터 구조 common_management_ module_data()를 해석하고 데이터 구조 common_management_module _data() 중의 각 문법단위의 값을 사용하여 현재 슬라이스 헤더 정보 디코딩에 사용되는 픽처 혹은 슬라이스 공공관리모듈을 배치한 후 단계 2708을 실행한다.
단계 2708: 슬라이스 다수 APS비트 스트림의 디코딩 과정이 종료된 후 상기 슬라이스 헤더 정보중의 기타 문법단위를 디코딩한다.
본 실시예에서 인코더가 슬라이스 다수 APS비트 스트림를 인코딩하는 과정은 도 28과 같으면 다음과 같은 단계를 포함한다.
단계 2801: 상기 단계 501과 동일.
단계 2802: 상기 단계 502와 동일.
단계 2803: 만일 현재 슬라이스에서 사용되는 픽처 코딩도구의 코딩도구 파라미터 와 기존 APS 중에 포함되는 동일 픽처 코딩도구의 코딩도구 파라미터가 완전 동일하 면 단계 2804를 실행하고 그렇지 않으면 단계 2805를 실행한다.
단계 2804: 인코더는 코딩도구 파라미터가 현재 슬라이스 해당 코딩도구 파라미터와 동일한 APS의 식별자를 취득하며 상기 APS 식별자를 슬라이스 데이터구조 중의 aps_id에 부여하며 ue(v)에 대응되는 인코딩 방법으로 aps_id의 값을 코드 스트림에 입력한 후 단계 2806을 실행한다.
단계 2805: 인코더는 새로운 APS를 생성하고 새로 생성된 APS에 식별자를 분 배하며 상기 새로운 APS에서 현재 슬라이스에서 사용되는 픽처 코딩도구의 코딩도구 파라미터를 인코딩하며 새로운 APS의 식별자를 슬라이스 데이터 구조 중의 asp_id에 부여하고 ue(v)에 대응되는 인코딩 방법으로 aps_id의 값을 비트 스트림에 입력한 후 단계 2806을 실행한다.
단계 2806: 인코더는 APS를 인용하는 방식으로 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 인코딩하는 필요가 있는가를 판단하고 필요하면 단계 2807을 실행하고; 그렇지 않으면 단계 2811을 실행한다.
실제 응용에서 인코더는 현재 슬라이스에서 필요한 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 슬라이스 헤더 정보 데이터 구조 common_management_module_data()에 입력하거나 APS를 인용하는 방식으로 슬라이스에서 필요한 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 슬라이스 헤더 정보 데이터 구조 common_management_module_data()에 입력할 수도 있다.
단계 2807: 인코더는 슬라이스 문법단위 referring_to_asp_flag의 값을 1로 설정하고 u(1)에 대응되는 인코딩 방법으로 referring_to_asp_flag의 값을 비트 스트림에 입력한 후 단계 2808을 실행한다.
단계 2808: 만일 현재 슬라이스에서 사용하는 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터와 기존 APS 중에 포함되는 해당 코딩도구 파라미터가 완전 동일하면 단계 2809를 실행하고; 그렇지 않으면 단계 2810을 실행한다.
단계 2809: 인코더는 해당 코딩도구 파라미터와 현재 슬라이스에 사용하는 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터가 동일한 APS의 식별자를 취득하고 APS의 식별자를 슬라이스 데이터 구조 중의 aps_id_management_module에 부여하고 ue(v)에 대응되는 인코딩 방법으로 aps_id_management_module의 값을 비트 스트림에 입력한 후 단계 2812를 실행한다.
단계 2810: 인코더는 새로운 APS를 생성하고 상기 새로운 APS에서 현재 슬라이스에서 사용하는 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 인코딩하고 상기 새로운 APS에 식별자를 분배하며 새로운 APS의 식별자를 슬라이스 데이터 구조 중의 aps_id_management_module에게 값을 부여하고 ue(v)에 대응되는 인코딩 방법으로 aps_id_management_module의 값을 비트 스트림에 입력한 후 단계 2812를 실행한다.
단계 2811: 인코더는 슬라이스 문법단위 referring_to_asp_flag의 값을 0으로 설정하고 u(1)에 대응되는 인코딩 방법으로 referring_to_asp_flag의 값을 비트 스트림에 입력하며 현재 분배에 필요되는 픽처 혹은 슬라이스 공공관리모듈도구의 코딩도구 파라미터를 슬라이스 데이터 구조 common_management_module _data() 중의 대응되는 문법단위에게 값을 부여하고 데이터 구조 common_management_module_data() 중의 각 문법단위에 대응되는 인코딩 방법으로 문법단위의 값을 비트 스트림에 입력한 후 단계 2812를 실행한다.
단계 2812: 슬라이스 다수 APS 인코딩 과정은 종료되고 기타 슬라이스 헤더 정보를 인코딩한다.
실시예 8:
본 실시예에서는 세부적으로 픽처 코딩도구와 픽처 혹은 슬라이스 공공제어모듈을 사용하여 슬라이스 다수 APS 비트 스트림를 인코딩/디코딩하는 구현 과정을 설명하도록 한다.
본 실시예의 APS 비트 스트림 조직 구조는 실시예 7 중의 표 9와 같다.
본 실시예에서는 슬라이스에서 다수 APS에서 제공한 코딩도구 파라미터를 인용하 는 것을 허용하고 슬라이스 헤더 정보에서 다수 APS의 표시방법은 표 11과 같으며 본 실시예에서는 슬라이스 헤더 정보에 APS 표시정보를 추가했으며 상세한 내용은 표 11중의 제6행과 제8행을 참조한다.
Figure pct00011
표 11에서 picture_level_coding_tools_APS_data()는 픽처 코딩도구의 슬라이스 다수 APS 비트 스트림 조직 구조로서 상기 비트 스트림 조직 구조에는 본 특허 실시예 1~6에서 설명한 슬라이스 다수 APS 비트 스트림 조직 구조를 사용가능한다. common_management_module _data()는 픽처 혹은 슬라이스 공공관리모듈의 슬라이스 다수 APS 비트 스트림 조직 구조로서 상세한 구조는 표 12와 같다.
Figure pct00012
그 중 number_valid_aps_management_module은 현재 슬라이스 헤더 정보에서 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 디코딩시 인용하는 APS수량 표시하고 [0, MaxNumberValidApsManagementModule]사이의 정수를 취한다. 만일 비트 스트림에서 문법단위number_valid_aps_management_module을 제공하지 않으면 기본값 0을 취한다. number_valid_aps_management_module의 값의 상한치 MaxNumberValidApsManagementModule의 값은 레벨/등급에 따라 픽처 혹은 슬라이스 공공관리모듈도구의 수량으로 결정한다.
number_valid_aps_management_module의 값이 0일 경우, 디코더는 APS를 인용하는 방식으로 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 취득하지 않는다.
aps_id_management_module[i]는 현재 슬라이스 헤더 정보에서 픽처 혹은 슬라이스 공공관리모듈 코딩도구 파라미터 디코딩시 인용한 APS 식별자를 표시하는 것에 사용된다. 그 중 i는 [0, number_valid_aps_management_module-1]사이의 정수이다.
그 중, 표 11은 실시예 1~6에서의 유사한 방법으로 픽처 혹은 슬라이스 공공관리모듈 관련 슬라이스 다수 APS 비트 스트림 조직을 구현한다.
본 실시예에서 픽처 코딩도구의 코딩도구 파라미터와 픽처 혹은 슬라이스 공공관리 모듈의 코딩도구 파라미터는 동일한 APS에서 나타나지 않는다. 따라서 본 실시예에 서 슬라이스 다수 APS 비트 스트림 디코딩/인코딩 과정은 실시예 1~6에서 설명한 슬라이스 다수 APS 비트 스트림 디코딩/인코딩 과정을 기반으로 직접 얻을 수 있기 때문에 설명을 생략한다.
그 중, 인코더는 실시예 7에서의 방법으로 슬라이스 헤더 정보에서 현재 슬라이스에 사용하는 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 인코딩할 필요가 있는가를 판단한다. 만일 필요하면 인코더는 슬라이스 헤더 정보중에서 문법 단위 number_valid_aps_management_module의 값을 0으로 설정하고 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터의 값을 common_management_module_data()의 데이터 구조 중의 대응되는 문법 단위에 부여하며 각 문법단위에 대응되는 인코딩 방법으로 그 값을 비트 스트림에 입력한다. 만일 불필요하면 상기 실시예 1~6에서 설명한 방법을 사용하여 인용에 필요한 APS의 수량을 결정하며 값을 문법단위number_valid_aps_management_module에 부여하고 사용한 APS의 식별자를 인코딩한다.
실시예 9
본 실시예에서는 세부적으로 픽처 코딩도구와 픽처 혹은 슬라이스 공공제어모듈을 사용하여 슬라이스 다수 APS비트 스트림을 인코딩/디코딩하는 구현 과정을 설명한다.
본 실시예에서 사용하는 APS비트 스트림 조직 구조는 표 13과 같다.
Figure pct00013
표 13에서 tool_A과 tool_B는 픽처 코딩도구(예를 들면 SAO,ALF등)이다.
그 중 aps_tool_A_flag, aps_tool_B_flag의 의미는 실시예 1의 표 1중의 SAO ON/OFF 플래그 aps_sample_adaptive_offset_flag와 ALF ON/OFF 플래그 aps_adaptive_loop_filter_flag와 유사하다. aps_tool_A_flag는 도구A의 ON/OFF 플래그로 정의할 수 있다. aps_tool_A_flag값이 1일 경우, 슬라이스의 디코딩에 도구A를 사용하고 도구 A의 코딩도구 파라미터는 상기 APS가 제공하고; aps_tool_A_flag의 값이 0일 경우, 슬라이스의 디코딩에는 도구A를 사용하지 않으며 현재 APS에는 도구A의 도구 파라미터가 포함되지 않는다. aps_tool_B_flag는 도구B의 ON/OFF 플래그로 정의할 수 있다. aps_tool_B_flag값이 1일 경우, 슬라이스의 디코딩에 도구B를 사용하고 도구 B의 코딩도구 파라미터는 상기 APS가 제공하고; aps_tool_B_flag의 값이 0일 경우, 슬라이스의 디코딩에는 도구A를 사용하지 않으며 현재 APS에는 도구B의 도구 파라미터가 포함되지 않는다.
그 중 aps_tool_A_flag, aps_tool_B_flag의 의미는 실시예 4의 표4중의 aps_sample_adaptive_offset_data_present_flag와 aps_adaptive_loop_filter_data_present_flag의 의미와 유사하다. aps_tool_A_flag는 현재 APS에 도구A의 코딩도구 파라미터가 포함되는가를 표시하는 것을 정의할 수 있고, aps_tool_A_flag값이 1일 경우, 현재 APS에는 도구A의 일부분 혹은 전부의 코딩도구 파라미터가 포함되고; aps_tool_A_flag값이 0일 경우, 현재 APS에는 도구A의 코딩도구 파라미터가 포함되지 않는다.
aps_tool_B_flag는 현재 APS에 도구B의 코딩도구 파라미터가 포함되는가를 표시하는 것을 정의할 수 있고, aps_tool_B_flag값이 1일 경우, 현재 APS에는 도구B의 일부분 혹은 전부의 코딩도구 파라미터가 포함되고; aps_tool_B_flag의 값이 0이면 현재 APS에는 도구B의 코딩도구 파라미터가 포함되지 않는다.
여기에서 데이터 구조 tool_A_param()에는 도구A의 일부분 혹은 전부 코딩도구 파 라미터가 포함되고 데이터 구조 tool_B_param()에는 도구B의 일부분 혹은 전부 코딩도구 파라미터가 포함된다.
aps_common_management_module_data_present_flag는 APS에 픽처 혹은 슬라이스 공공제어모듈의 코딩도구 파라미터가 포함되는가를 표시하며 aps_common_management_module_data_present_flag의 값이 1일 경우, 상기 APS에는 픽처 혹은 슬라이스 공공제어모듈의 코딩도구 파라미터가 포함되고 그 코딩도구 파라미터는 데이터 구조 common_management_module_data()에 포함되고; aps_common_management_module_data_present_flag의 값이 0일 경우, 상기 APS에는 픽처 혹은 슬라이스 공공제어모듈의 코딩도구 파라미터가 포함되지 않는다. 여기에서 데이터 구조 common_management_module_data()에는 픽처 혹은 슬라이스 공공관리모듈의 일부분 혹은 전부의 코딩도구 파라미터가 포함된다.
표 13 중의 제9-15행을 기반으로 본 실시예에서 사용하는 APS비트 스트림 조직 방 법은 APS에 픽처 코딩도구의 코딩도구 파라미터와 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 동시에 포함하는 것을 허용한다.
본 실시예에서는 슬라이스에 다수 APS에서 제공한 코딩도구 파라미터를 사용하는 것을 허용하고 슬라이스 헤더 정보에서 다수 APS 표시방법은 표 14와 같다. 본 실 시예에서는 슬라이스 헤더 정보에 APS 표시정보를 추가했으며 세부 내용은 표 14 중의 제8행 및 제11-19행를 참조로 한다.
Figure pct00014
표 14에서, referred_by_management_module은 현재 슬라이스 인코딩/디코딩에 사용하는 픽처 코딩도구의 코딩도구 파라미터와 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터가 동일한 APS제공 여부 표시에 사용되고,그 중, referred_by_management_module값이 1일 경우, 현재 슬라이스 인코딩/디코딩 과정에서 사용되는 픽처 코딩도구의 코딩도구 파라미터와 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터는 동일한 APS가 제공하고 referred_by_management_module값이 0일 경우,현재 슬라이스 인코딩/디코딩에서 사용되는 픽처 코딩도구의 코딩도구 파라미터와 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터는 서로 다른 APS가 제공한다. 만일 referred_by_ management_module가 비트 스트림에서 제공하지 않았으며즉, sample_adaptive_offset_enabled_flag와 adaptive_loop_filter_enabled_flag의 값이 동시에 0일 경우),그 기본값은 0이다.
그 중,aps_id는 현재 슬라이스 인코딩/디코딩에 픽처 코딩도구를 사용하여 인용한 APS의 식별자를 표시하고, 즉, 식별자가 aps_id인 APS에서의 픽처 코딩도구의 코딩도구 파라미터를 사용하여 현재 슬라이스 인코딩/디코딩에 사용하는 픽처 코딩도구를 디코딩한다.
그 중,referring_to_aps_flag값이 1일 경우, APS에서의 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 사용하여 현재 슬라이스 인코딩/디코딩에 사용하는 픽처 혹은 슬라이스 공공관리모듈을 배치하고; referring_to_aps_flag값이 0일 경우, 슬라이스 헤더 정보에서 제공한 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터(즉, common_management_module_data()인 데이터 구조가 포함된 파라미터)를 사용하여 현재 슬라이스 인코딩/디코딩에 사용한 픽처 혹은 슬라이스 공공관리모듈을 배치한다.
그 중,aps_id_management_module는 현재 슬라이스 인코딩/디코딩에 픽처 혹은 슬라이스 공공관리모듈를 사용하여 인용한 APS의 식별자를 표시하고,식별자가 aps_id_management_module인 APS에서의 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 사용하여 현재 슬라이스 인코딩/디코딩에 사용하는 픽처 혹은 슬라이스 공공관리모듈을 배치한다.
표 14에 있어서,본 실시예에서,디코더가 슬라이스 다수 APS 비트 스트림 디코딩 하는 단계는 도 29와 같으며 다음과 같은 단계를 포함한다:
단계 2901: 디코더는 현재 슬라이스에 인용한 SPS 비트 스트림을 입력한다.
단계 2902: 디코더는 현재 슬라이스에 인용한 SPS 비트 스트림을 해석하고,u(1)에 대응되는 디코딩 방법으로 플래그 sample_adaptive_offset_enabled_flag와 adaptive_loop_filter_enabled_flag의 값을 취득한다.
단계 2903: 디코더는 (sample_adaptive_offset_enabled_flag∥adaptive_loop_ filter_enabled_flag)의 값의 진실 (true)여부를 판단하고,진실하면 단계 2904를 실행하고; 그렇지 않으면 단계 2905를 실행한다.
단계 2904: 디코더는 슬라이스 헤더 정보를 해석하고,u(v)에 대응되는 코딩 방법을 사용하여 aps_id의 값을 취득하고,디코더는 u(1)에 대응되는 디코딩 방법을 사용 하여 플래그 referred_by_management_module의 값을 취득하며,만일 referred_by_ management_module의 값이 1이면,디코더는 식별자가 aps_id인 APS 중의 픽처 코딩도구의 코딩도구 파라미터와 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 사용하여 현재 슬라이스 디코딩에 사용한 픽처 코딩도구와 픽처 혹은 슬라이스 공공관리모듈을 배치하고; 만일 referred_by_management_module의 값이 0이면,디코더는 식별자가 aps_id인 APS 중의 픽처 코딩도구의 코딩도구 파라미터만 사용하여 현재 슬라이스 디코딩에 사용한 픽처 코딩도구를 배치한 후 단계 2905를 실행한다.
단계 2905: 디코더 판단: 만일 referred_by_management_module값이 0이면,단계 2906를 실행하고; 만일 referred_by_management_module값이 1이면,단계 2910을 실행한다.
단계 2906: 디코더는 슬라이스 헤더 정보를 해석하고,u(1)에 대응되는 디코딩 방법 을 사용하여 referrfing_to_aps_flag의 값을 취득한다.
단계 2907: 디코더는 referring_to_aps_flag의 값이 1인지 판단하고,만일 1이면,절 차 2908를 실행하고; 만일 0이면,단계 2909를 실행한다.
단계 2908: 디코더는 슬라이스 헤더 정보를 해석하고,ue(v)에 대응되는 디코딩 방법으로 aps_id_management_module의 값을 취득하고,식별자가 aps_id_ management_module 인 APS 중의 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 사용하여 현재 슬라이드 디코딩에 사용한 슬라이스 디코딩 과정에서 사용한 픽처 혹은 슬라이스 공공관리모듈을 배치한 후 단계 2910을 실행한다.
단계 2909: 디코더는 슬라이스 헤더 정보중의 데이터 구조 common_management _module_ data()를 해석하고,데이터 구조 common_management_module_data() 중의 각 문법단위의 값을 사용하여 현재 슬라이스 디코딩에 사용한 픽처 혹은 슬라이스 공공관리모듈을 배치한 후 단계 2910을 실행한다.
단계 2910: 슬라이스 다수 APS비트 스트림 디코딩 과정은 종료되고 그 슬라이스 헤더 정보중의 기타 문법단위를 해석한다.
본 실시예에서 인코더가 슬라이스 다수 APS비트 스트림을 인코딩하는 과정은 도 30과 같으며 다음과 같은 단계를 포함한다:
단계 3001: 상기 단계 501과 동일.
단계 3002: 상기 단계 502와 동일.
단계 3003: 인코더 최적화모듈은 픽처 코딩도구의 코딩도구 파라미터와 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 동일한 APS에서 인코딩하는 수요에 따라 referred_by_management_module의 값을 취득한다.
ample_adaptive_offset_enabled_flag와 adaptive_loop_filter_enabled_flag의 값이 동시에 0이면 referred_by_management_module의 값을 0으로 설정한다.
인코더는 APS를 인용하는 방법 필요없이 현재 슬라이스에 필요한 픽처 또는 슬라이스 공공관리모듈의 코딩도구 파라미터를 슬라이스 헤더 정보 데이터구조 common_management_module_data()에 입력할 때 referred_by_management_module의 값을 0으로 설정한다.
인코더의 최적화 모듈이 추후 슬라이스에 상기 APS의 사용을 필요된다고 판단하며 픽처 코딩도구의 코딩도구 파라미터와 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 동일한 APS에 입력하고 referred_by_management_module의 값을 1로 설정한다.
인코더의 최적화모듈이 추후 슬라이스에 픽처 코딩도구의 코딩도구 파라미터와 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터가 서로 다른 APS에서 사용해야 된다고 판단하거나 혹은 추후 슬라이스에 상기 픽처 코딩도구의 코딩도구 파라미터 혹은 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터만 사용해야 된다고 판단하면 픽처 코딩도구의 코딩도구 파라미터와 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 각각 두개 서로 다른 APS에 입력하고 referred_ by_management_module의 값을 0으로 설정한다.
단계 3004: 인코더는 referred_by_management_module의 값이 1인 것으로 판단하면 단계 3005를 실행하고; 그렇지 않으면 단계 3008을 실행한다.
단계 3005: 만일 현재 슬라이스에 사용되는 코딩도구 및 코딩도구 파라미터와 기존 APS에 포함된 동일 코딩도구의 코딩도구 파라미터가 완전 동일하면 단계 3006을 실행하고; 그렇지 않으면 단계 3007을 실행한다.
단계 3006: 인코더는 코딩도구 파라미터와 현재 슬라이스 해당 코딩도구 파라미터와 동일한 APS의 식별자를 취득하고 APS 식별자를 슬라이스 데이터 구조 중의 aps_id에 부여하고 ue(v)에 대응되는 인코딩 방법으로 aps_id의 값을 비트 스트림에게 입력하며 u(1)에 대응되는 인코딩 방법으로 referred_by_ management_module(이때 값이 1이다)도 비트 스트림에 입력한 후 단계 단계 3017을 실행한다.
단계 3007: 인코더는 새로운 APS를 생성하고,상기 새로운 APS에서 현재 슬라이스에서 사용하는 픽처 코딩도구의 코딩도구 파라미터 및 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 코딩하고, 상기 새로운 APS에 식별자를 분배 하며 새로운 APS 식별자를 슬라이스 데이터 구조 중의 aps_id에 부여하고 ue(v)에 대응되는 코딩 방법으로 aps_id의 값을 비트 스트림에 입력하고,u(1)에 대응되 는 코딩 방법으로 referred_by_management_module(이때 값이 1이다)도 비트 스트림에 입력한 후 단계 3017을 실행한다.
단계 3008: 만일 현재 슬라이스에 사용되는 픽처 코딩도구 및 그 코딩도구 파라미터와 기존 APS에 포함된 동일 픽처 코딩도구의 코딩도구 파라미터가 동일하 면 단계 3009를 실행하고; 그렇지 않으면 단계 3010을 실행한다.
단계 3009: 인코더는 코딩도구 파라미터와 현재 슬라이스에 필요한 픽처 코딩도구의 코딩도구 파라미터가 동일한 APS의 식별자를 취득하고,상기 APS 식별자를 슬라이스 데이터 구조 중의 aps_id에 부여하고 ue(v)에 대응되는 코딩 방법으로 aps_id의 값을 비트 스트림에 입력하며,u(1)에 대응되는 코딩 방법을 사용 하여 referred_by_ mana gement_module이 경우, 값이 0이다)를 비트 스트림에 입력한 후 단계 3011을 실행한다.
단계 3010: 인코더는 새로운 APS를 생성하고,상기 새로운 APS에서 현재 슬라이스에서 사용하는 픽처 코딩도구의 코딩도구 파라미터를 코딩하고 상기 새로운 APS에 식별자를 분배하며 새로운 APS 식별자를 슬라이스 데이터 구조 중의 aps_id에 부여하고 ue(v)에 대응되는 코딩 방법으로 aps_id값을 코드 스트림에 입력하며,u(1)에 대응되는 코딩 방법으로 referred_by_ management _module(이때 값이 0이다)를 비트 스트림에 입력한 후 단계 3011을 실행한다.
단계 3011: 인코더는 APS을 인용하는 방식을 사용하여 픽처 혹은 슬라이스 공공 관리모듈의 코딩도구 파라미터를 인코딩 가능 여부를 판단하고,가능하면 단계 3012를 실행하고; 그렇지 않으면 단계 3016을 실행한다.
단계 3012: 인코더는 슬라이스 문법단위 referring_to_aps_flag의 값을 1로 설정하고 u(1)에 대응되는 코딩 방법으로 referring_to_aps_flag의 값을 비트 스트림에 입력한 후 단계 3013을 실행한다.
단계 3013: 만일 현재 슬라이스에 사용하는 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터와 기존 APS에 포함된 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터 완전 동일하면 단계 3014를 실행하고; 그렇지 않으면 단계 3015를 실행한다.
단계 3014: 인코더는 코딩도구 파라미터와 현재 슬라이스에 필요한 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터가 동일한 APS의 식별자를 취득하고 APS 식별자를 슬라이스 데이터 구조 중의 aps_id_management_module에 부여하고 ue(v)에 대응되는 코딩 방법으로aps_id_management_module의 값을 비트 스트림에 입력 한 후 단계 3017을 실행한다.
단계 3015: 인코더는 새로운 APS를 생성하고 상기 새로운 APS에서 현재 슬라이스 과정 에서 필요한 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터를 인코딩하고 상기 새로운 APS에 식별자를 분배하며,새로운 APS 식별자를 슬라이스 데이터 구조 중의 aps_id_management_module에 부여하고 ue(v)에 대응되는 코딩 방법으로 aps_id_management_module값을 비트 스트림에 입력한 후 단계 3017을 실행한다.
단계 3016: 인코더는 슬라이스 문법단위 referring_to_aps_flag의 값을 0으로 설정하고 u(1)에 대응되는 코딩 방법으로 referring_to_aps_flag의 값을 비트 스트림에 입력하고 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터의 값을 슬라이스 데이터 구조 common_management_module_data() 중의 대응 문법단위에 부여하고 common_management_module_data() 중의 각 문법단위에 대응도는 코딩 방법으로 그 값을 비트 스트림에 입력한다.
단계 3017: 슬라이스 다수 APS 코딩과정을 종료되고 인코더는 기타 슬라이스 헤더 정보를 인코딩한다.
본 실시예는 표 13의 APS비트 스트림 조직 구조와 실시예 7 중의 표 10의 다수 APS 슬라이스 헤더 정보중의 표시방법과 결부하여 슬라이스에 다수 APS비트 스트림 인코딩/디코딩을 구현할 수 있으며 ,세부적인 구현 단계는 상기 도 29와 도 30의 단계와 유사하기 때문에 설명을 생략한다.
실시예 10
본 실시예는 세부적으로 픽처 코딩도구와 픽처 혹은 슬라이스 공공제어모듈을 사용하여 슬라이스 다수 APS 비트 스트림 인코딩/디코딩 구현 과정을 설명한다.
본 실시예에서 사용되는 APS비트 스트림 조직 구조는 실시예 9의 표 13과 동일하다.
본 실시예에서는 슬라이스에 다수 APS에서 제공한 코딩도구 파라미터의 사용을 허용하고,슬라이스 헤더 정보에서의 복수 APS 표시방법은 표 11과 같고,본 실시예에서는 슬라이스 헤더 정보에 APS 표시정보를 추가했으며 상세한 내용은 표 11중의 제10-16행과 같다.
본 실시예 슬라이스 다수 APS의 디코딩과 인코딩 방법은 실시예 8과 유사하고,서로 다음 점은 슬라이스 다수 APS의 인코딩/디코딩과 인용과정에서 실시예 9와 유사한 APS 플래그를 사용하는 것이다.
또한,본 실시예는 표 15와 같은 다수 APS 슬라이스 헤더 정보 중의 표시방법을 사용할 수 도 있고,본 실시예는 슬라이스 헤더 정보에 APS 표시정보를 추가하고 세부적인 내용은 표 15 중의 제6-7행과 제9-11행과 같다.
Figure pct00015
표 15에서,referred_by_management_module는 표 14중의 의미와 완전 동일하다.
referred_by_management_module는 실시예 9의 표 14과 동일한 비트 스트림조직 형식을 사용할 수 있으며,즉,픽처 코딩도구의 데이터 구조 picture_level_coding_ tools_APS_data()에서의 APS의 식별자 후 인코딩하는 것이다. 또한, SPS 플래그를 통해 인코딩/디코딩에 픽처 코딩도구를 전부 사용 불가능으로 인정하게 되 면,referred_by_management_module의 기본값은 0이다.
본 실시예의 슬라이스 다수 APS 디코딩과 인코딩에 referred_by_management_ module 관련되는 비트 스트림의 해석, 플래그의 값 설정방법, 플래그의 값에 대응되는 제어방법은 실시예 9와 동일하다.즉,referred_by_management_module의 값이 1일 경우, 픽처 코딩도구의 코딩도구 파라미터와 픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터는 데이터 구조 picture_level_coding_tools_APS_data()가 제공하고; referred_by_management_ module의 값이 0일 경우, 픽처 코딩도구의 코딩도구 파라미터는 데이터 구조 picture_level_coding_tools_APS_data()가 제공하며,픽처 혹은 슬라이스 공공관리모듈의 코딩도구 파라미터는 데이터 구조 common_management _module_APS_data()가 제공한다.
본 실시예의 슬라이스 다수 APS 디코딩과 인코딩에 picture_level_coding_ tools_APS_data()는 common_management_module_APS_data()의 다수 대응 디코딩과 인코딩 단계는 실시예 8 중의 관련 단계와 동일하다.
본 실시예에서 슬라이스 다수 APS 비트 스트림 디코딩과 인코딩 단계는 실시예 9와 유사하기 때문에 설명을 생략한다.
실시예 11
본 실시예에서는 전자 설비를 제공하는데 이 전자기기는 상기 디코딩 장치와 인코딩 장치를 포함하고,그 중,디코딩 장치는 상기 실시예 1부터 실시예 10 중의 슬라이스 다수 APS 비트 스트림의 디코딩 과정 구현 가능하고,인코딩 장치는 상기 실시예 1부터 실시예 10 중의 슬라이스 다수 APS 비트 스트림적 인코딩 과정 구현 가능하다.
본 실시예에서 제공하는 전자기기는 휴대폰, 컴퓨터, 서버, 셋톱박스, 휴대식 이동단말기, 디지털TV, 디지털 카메라와 등과 같은 비디오 통신 응용에서 관련 비트 스트림 생성 설비와 수신 방송 설비이다.
상기 각 실시예에서,인코딩단계는 단지 인코더가 구현 가능한 인코딩 방법 중의 하나로 서,그 어떤 디코더 디코딩에 요구하는 비트 스트림의 인코더 및 대응되는 코딩 방법은 전부 각 실시예의 범위에 포함된다.
실시예 1부터 실시예 6에서 디코더가 슬라이스이 인용한 다수 APS에 따라 현재 슬라이스에 사용되는 코딩도구 파라미터를 디코딩하는 방법 및 코딩하는 방법을 추정할 수 있으며,동시에 픽처 코딩도구, 픽처 혹은 슬라이스 공공관리모듈에 적용된다. 본 발명에 대응되는 3가지 혹은 3가지 이상의 코딩도구의 실시예는 상기 각 실시예를 통해 직접 취득할 수 있기 때문에 설명을 생략한다.
상기 설명은 본 발명의 비교적 우수한 실시예로서 본 발명을 한정하고자 하는 보호범위에 대응되는 것은 아니다.

Claims (26)

  1. 이미 존재하는 파라미터 세트에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 파라미터 세트가 존재할 경우, 상기 파라미터 세트의 식별자를 현재 슬라이스의 비트 스트림에 인코딩하고;
    상기 파라미터 세트는 하나 혹은 다수의 슬라이스 인코딩/디코딩에 사용되는 코딩도구 공공정보를 포함하는 데이터 구조인 것을 특징으로 하는 슬라이스 파라미터 세트 인코딩 방법.
  2. 청구항 1에 있어서,
    파라미터 세트를 생성하고 이 파라미터 세트에서 현재 슬라이스에 필요한 기타 부분의 코딩도구의 코딩도구 파라미터를 인코딩하고 식별자를 상기 파라미터 세트에 분배하며 상기 파라미터 세트의 식별자를 현재 슬라이스의 비트 스트림에 인코딩하는 단계를 더 포함하는 것을 특징으로 하는 슬라이스 파라미터 세트 인코딩 방법.
  3. 청구항 2에 있어서,
    파라미터 세트를 생성하고 이 파라미터 세트에서 현재 슬라이스에 필요한 기타 부분의 코딩도구의 코딩도구 파라미터를 인코딩하는 단계가 상기 현재 슬라이스에 필요한 기타 부분의 코딩도구가 두개 혹은 두개 이상의 코딩도구를 포함할 경우, 하나 혹은 다수의 파라미터 세트를 생성하고 한 상기 파라미터 세트에서 하나 혹은 다수의 코딩도구의 코딩 파라미터를 인코딩하는 단계를 포함하는 것을 특징으로 하는 슬라이스 파라미터 세트 인코딩 방법.
  4. 청구항 3에 있어서,
    파라미터 세트를 생성하고 이 파라미터 세트에서 현재 슬라이스에 필요한 기타 부분의 코딩도구의 코딩도구 파라미터를 코딩하는 단계가 상기 현재 슬라이스에 필요한 기타 부분의 코딩도구가 두개 혹은 두개 이상의 코딩도구를 포함할 경우, 각 코딩도구에 대응되는 파라미터 세트를 생성하고 한 파라미터 세트에서 한 코딩도구의 코딩도구 파라미터를 인코딩하며 각 파라미터 세트에 파라미터 세트 식별자를 분배하며 각 파라미터 세트의 식별자를 현재 슬라이스의 비트 스트림에 인코딩하는 것을 포함하고;
    혹은 상기 현재 슬라이스에 필요한 기타 부분의 코딩도구가 두개 혹은 두개 이상의 코딩도구를 포함할 경우, 한 파라미터 세트를 생성하고 상기 파라미터 세트에서 두개 혹은 두개 이상의 코딩도구의 코딩도구 파라미터를 인코딩하며 상기에 파라미터 세트 식별자를 분배하며 각 파라미터 세트의 식별자를 현재 슬라이스의 비트 스트림에 인코딩하는 것을 포함하는 것을 특징으로 하는 슬라이스 파라미터 세트 인코딩 방법.
  5. 청구항 2에 있어서,
    상기 파라미터 세트에 파라미터 세트 식별자를 분배하는 것이, 현재 슬라이스에 사용되는 다수 파라미터 세트 겹쳐쓰기 모드에 기반하여 후보 식별자를 결정하고 상기 후보 식별자에서 하나를 선택하여 상기 파라미터 세트에 분배하는 것을 포함하는 분할 층 파라미터 세트 인코딩 방법.
  6. 청구항 1에 있어서,
    구체적으로 서로 다른 코딩도구에 대응되는 파라미터 세트 식별자를 미리 배치하고;
    이미 존재하는 파라미터 세트에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 파라미터 세트가 존재할 경우, 상기 파라미터 세트의 식별자에 미리 배치한 상기 코딩도구에 대응되는 파라미터 세트 식별자의 값을 부여한 후 상기 파라미터 세트의 식별자를 현재 슬라이스 비트 스트림에 인코딩하는 것을 특징으로 하는 슬라이스 파라미터 세트 인코딩 방법.
  7. 청구항 1에 있어서,
    이미 존재하는 파라미터 세트에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 파라미터 세트가 존재하는가를 판단하는 단계를 더 포함하는 것을 특징으로 하는 슬라이스 파라미터 세트 인코딩 방법.
  8. 청구항 1 내지 청구항 7 중 어느 한 항에 있어서,
    상기 코딩도구는 픽처 코딩도구와/혹은 픽처 혹은 슬라이스 관리모듈을 포함하고;
    상기 픽처 코딩도구는 적응적 샘플 오브셋(SAO), 적응루프필터(ALF), 가중예측(WP) 등을 포함하고;
    상기 픽처 혹은 슬라이스 관리모듈은 디코딩 화상 버퍼(DPB)관리모듈, 참조픽처표시및조정모듈, 참조픽처리스트 구조모듈 등을 포함하는 것을 특징으로 하는 슬라이스 파라미터 세트 인코딩 방법.
  9. 현재 슬라이스 비트 스트림 중의 파라미터 세트 식별자에 근거하여 현재 슬라이스에 인용되는 다수의 파라미터 세트를 디코딩하고 현재 슬라이스 디코딩에 사용된 코딩도구 파라미터를 결정하며 결정한 코딩도구 파라미터의 파라미터 값을 현재 슬라이스 데이터 구조 중의 대응되는 변수에 부여하고;
    상기 파라미터 세트가 하나 혹은 다수의 슬라이스 인코딩/디코딩에 사용되는 코딩도구 공공정보를 포함하는 데이터 구조인 것을 특징으로 하는 슬라이스 파라미터 세트 디코딩 방법.
  10. 청구항 9에 있어서,
    상기 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 단계가 각종 코딩도구에 대하여, 현재 슬라이스에 인용되는 다수의 파라미터 세트중 단지 한 파라미터 세트의 상기 코딩도구 ON/OFF 플래그가 1이면 현재 슬라이스 디코딩에 이 파라미터 세트중의 상기 코딩도구의 코딩도구 파라미터를 사용하기로 결정하는 것을 포함하는 것을 특징으로 하는 슬라이스 파라미터 세트 디코딩 방법.
  11. 청구항 9에 있어서,
    상기 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 단계가 미리 배치한 파라미터 세트 식별자와 코딩도구 사이의 대응관계에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구의 코딩도구 파라미터를 결정하는 것을 포함하는 것을 특징으로 하는 슬라이스 파라미터 세트 디코딩 방법.
  12. 청구항 9에 있어서,
    상기 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 단계가 미리 설정한 다수 파라미터 세트 겹쳐쓰기 방식에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 것을 포함하는 것을 특징으로 하는 슬라이스 파라미터 세트 디코딩 방법.
  13. 청구항 12에 있어서,
    미리 설정한 다수 파라미터 세트 겹쳐쓰기 방식에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 단계가 각종 코딩도구에 대하여, 식별자가 ps_id[n](여기서 n은 1 이상 현재 슬라이스에 인용된 파라미터 세트 수량 이하의 정수임)인 파라미터 세트에서 이 파라미터 세트에 코딩도구 파라미터 정보가 포함됨을 표시하는 플래그가 1일 경우, 이 파라미터 세트중의 상기 코딩도구의 코딩도구 파라미터로 그 전에 현재 슬라이스 디코딩에 사용하기로 결정한 상기 코딩도구의 코딩도구 파라미터를 겹?쓰는 것을 포함하는 것을 특징으로 하는 슬라이스 파라미터 세트 디코딩 방법.
  14. 청구항 12에 있어서,
    미리 설정한 다수 파라미터 세트 겹쳐쓰기 방식에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 단계가 현재 사용하는 다수 파라미터 세트 겹쳐쓰기 방식을 지시하기 위한 플래그에 따라 현재 디코딩에 사용되는 다수 파라미터 세트 겹쳐쓰기 방식을 얻고 이 다수 파라미터 세트 겹쳐쓰기 방식에 기반하여 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 것을 포함하는 것을 특징으로 하는 슬라이스 파라미터 세트 디코딩 방법.
  15. 청구항 12에 있어서,
    상기 현재 사용하는 다수 파라미터 세트 겹쳐쓰기 방식을 지시하기 위한 플래그의 2진수는 하나 혹은 다수의 비트를 포함함을 표시하며 한 비트는 한가지 코딩도구의 다수 파라미터 세트 겹쳐쓰기 모드를 지시하는 것을 특징으로 하는 슬라이스 파라미터 세트 디코딩 방법.
  16. 청구항 12에 있어서,
    상기 현재 사용하는 다수 파라미터 세트 겹쳐쓰기 모드를 지시하기 위한 플래그는 ps_id[i]와 ps[i-1](여기서 i는 1 이상 현재 슬라이스 디코딩에 인용한 파라미터 세트 수량 이하의 정수임)가 제공한 파라미터 세트 식별자간의 절대값의 차에 의하여 취득하는 것을 특징으로 하는 슬라이스 파라미터 세트 디코딩 방법.
  17. 청구항 9 내지 청구항 16 중 어느 한 항에 있어서,
    상기 코딩도구는 픽처 코딩도구와/픽처 혹은 슬라이스 관리모듈를 포함하고 상기 픽처코딩도구는 SAO, ALF, WP등을 포함하며; 상기 픽처 혹은 슬라이스 관리모듈은 DPB 관리모듈, 참조픽처표시및조정모듈, 참조픽처리스트 구조모듈 등을 포함하는 것을 특징으로 하는 슬라이스 파라미터 세트 디코딩 방법.
  18. 이미 존재하는 파라미터 세트에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 하나 혹은 다수의 파라미터 세트가 존재할 경우, 인코딩모듈에 이 파라미터 세트를 인용하도록 통지하는 판단모듈과,
    상기 판단모듈의 통지를 수신 시 상기 파라미터 세트의 식별자를 현재 슬라이스의 비트 스트림에 인코딩하는 인코딩모듈을 포함하고,
    상기 파라미터 세트가 하나 혹은 다수의 슬라이스 인코딩/디코딩에 사용되는 코딩도구 공공정보를 포함하는 데이터 구조인 것을 특징으로 하는 슬라이스 파라미터 세트 인코딩에 사용되는 인코더.
  19. 청구항 18에 있어서,
    상기 인코딩모듈이 또한 파라미터 세트를 생성하고 이 파라미터 세트에서 현재 슬라이스에 사용되는 기타 부분의 코딩도구의 코딩도구 파라미터를 인코딩하고 식별자를 상기 파라미터 세트에 분배하며 상기 파라미터 세트의 식별자를 현재 슬라이스 비트 스트림에 인코딩하는 것을 특징으로 하는 슬라이스 파라미터 세트 인코딩에 사용되는 인코더.
  20. 청구항 19에 있어서,
    상기 인코딩모듈이 또한 상기 파라미터 세트의 식별자에 미리 배치한 상기 코딩도구에 대응되는 파라미터 세트 식별자를 부여한 후 상기 파라미터 세트의 식별자를 현재 슬라이스 비트 스트림에 인코딩하는 것을 특징으로 하는 슬라이스 파라미터 세트 인코딩에 사용되는 인코더.
  21. 청구항 18 내지 청구항 20 중 어느 한 항에 있어서,
    상기 판단모듈이 또한 이미 존재하는 파라미터 세트에 코딩도구 파라미터가 현재 슬라이스에 사용되는 일부분 코딩도구의 코딩도구 파라미터와 동일한 파라미터 세트가 존재하는가를 판단하는 것을 특징으로 하는 슬라이스 파라미터 세트 인코딩에 사용되는 인코더.
  22. 현재 슬라이스 비트 스트림 중의 파라미터 세트 식별자에 따라 현재 슬라이스에 인용되는 다수의 파라미터 세트를 디코딩하는 디코딩모듈과,
    상기 디코딩모듈이 현재 슬라이스에 인용되는 다수의 파라미터 세트를 디코딩하여 취득한 다수의 파라미터 세트의 코딩도구 파라미터에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 결정모듈과,
    상기 결정모듈이 결정한 코딩도구 파라미터의 파라미터값을 현재 슬라이스 데이터 구조 중의 대응되는 변수에 부여하는 부여모듈을 포함하되,
    상기 파라미터 세트가 하나 혹은 다수의 슬라이스 인코딩/디코딩에 사용되는 코딩도구 공공정보를 포함하는 데이터 구조인 것을 특징으로 하는 슬라이스 파라미터 세트 디코딩에 사용되는 디코더.
  23. 청구항 22에 있어서,
    상기 결정모듈이 또한 각종 코딩도구에 대하여, 현재 슬라이스에 인용되는 다수의 파라미터 세트에서 오직 한 파라미터 세트중의 코딩도구 ON/OFF 플래그가 1이면 현재 슬라이스 디코딩에 이 APS 중의 상기 코딩도구의 코딩도구 파라미터를 사용하기로 결정하는 것을 특징으로 하는 슬라이스 파라미터 세트 디코딩에 사용되는 디코더.
  24. 청구항 22에 있어서,
    상기 결정모듈이 또한 미리 배치한 파라미터 세트 식별자와 코딩도구 사이의 대응관계에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구의 코딩도구 파라미터를 결정하는 것을 특징으로 하는 슬라이스 파라미터 세트 디코딩에 사용되는 디코더.
  25. 청구항 22에 있어서,
    상기 결정모듈이 또한 미리 설정한 다수 파라미터 세트 겹쳐쓰기 방식에 따라 현재 슬라이스 디코딩에 사용되는 코딩도구 파라미터를 결정하는 것을 특징으로 하는 슬라이스 파라미터 세트 디코딩에 사용되는 디코더.
  26. 청구항 18 내지 청구항 21 중 어느 한 항에 기재된 인코더와 청구항 22 내지 청구항 25 중 어느 한 항에 기재된 디코더를 포함하는 것을 특징으로 하는 전자기기.
KR1020147014852A 2011-11-01 2012-07-24 슬라이스 파라미터 세트 인코딩 및 디코딩 방법과 장치 KR101600056B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201110340195.0 2011-11-01
CN201110340195.0A CN103096047B (zh) 2011-11-01 2011-11-01 一种分片层参数集解码及编码方法和装置
PCT/CN2012/079111 WO2013063962A1 (zh) 2011-11-01 2012-07-24 一种分片层参数集解码及编码方法和装置

Publications (2)

Publication Number Publication Date
KR20140093255A true KR20140093255A (ko) 2014-07-25
KR101600056B1 KR101600056B1 (ko) 2016-03-04

Family

ID=48191286

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147014852A KR101600056B1 (ko) 2011-11-01 2012-07-24 슬라이스 파라미터 세트 인코딩 및 디코딩 방법과 장치

Country Status (8)

Country Link
US (3) US10298946B2 (ko)
EP (2) EP3407605B1 (ko)
JP (1) JP6172536B2 (ko)
KR (1) KR101600056B1 (ko)
CN (1) CN103096047B (ko)
ES (1) ES2962853T3 (ko)
FI (1) FI3407605T3 (ko)
WO (1) WO2013063962A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210042809A (ko) * 2019-10-10 2021-04-20 삼성전자주식회사 툴 세트를 이용하는 영상 복호화 장치 및 이에 의한 영상 복호화 방법, 및 영상 부호화 장치 및 이에 의한 영상 부호화 방법
WO2021251744A1 (ko) * 2020-06-10 2021-12-16 엘지전자 주식회사 Aps에 대한 식별자를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 컴퓨터 판독 가능한 기록 매체

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103686179B (zh) * 2012-09-26 2019-05-07 中兴通讯股份有限公司 使用参数集的编码、解码方法及装置、电子设备
CN103702126B (zh) * 2013-12-10 2017-01-18 清华大学深圳研究生院 一种基于视频标准hevc的并行编码优化方法
CN112887735B (zh) * 2014-01-03 2024-04-02 康普英国有限公司 用于hevc扩展处理的条件解析扩展语法
CN106105218B (zh) * 2014-10-08 2019-04-09 Lg电子株式会社 在3维视频编码中处理相机参数的方法
US10506244B2 (en) 2015-03-06 2019-12-10 Qualcomm Incorporated Method and apparatus for video coding using adaptive tile sizes
CN104809100A (zh) * 2015-04-02 2015-07-29 上海新时达电气股份有限公司 文本编码、解码方法及所对应的编解码系统
CN105049853A (zh) * 2015-07-06 2015-11-11 深圳市云宙多媒体技术有限公司 一种基于片源分析的sao编码方法及系统
US10805611B2 (en) * 2016-10-18 2020-10-13 Mediatek Inc. Method and apparatus of constrained sequence header
EP3457698A1 (en) * 2017-09-18 2019-03-20 Thomson Licensing Method and apparatus for coding of omnidirectional video
WO2020175893A1 (ko) * 2019-02-28 2020-09-03 엘지전자 주식회사 Aps 시그널링 기반 비디오 또는 영상 코딩
KR20230004921A (ko) * 2019-03-07 2023-01-06 엘지전자 주식회사 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
WO2020181434A1 (en) * 2019-03-08 2020-09-17 Zte Corporation Parameter set signaling in digital video
KR102491959B1 (ko) * 2019-03-11 2023-01-27 엘지전자 주식회사 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
US11683487B2 (en) * 2019-03-26 2023-06-20 Qualcomm Incorporated Block-based adaptive loop filter (ALF) with adaptive parameter set (APS) in video coding
US11284114B2 (en) * 2019-04-23 2022-03-22 Qualcomm Incorporated Adaptive loop filter set index signaling
US20220256201A1 (en) * 2019-05-03 2022-08-11 Mediatek Inc. Methods and Apparatuses of Syntax Signaling and Referencing Constraint in Video Coding System
WO2020256510A1 (ko) * 2019-06-21 2020-12-24 현대자동차주식회사 코딩 툴들을 제어하는 방법 및 장치
FR3098070B1 (fr) * 2019-06-27 2022-02-18 S A Vitec Procédé d’encodage et de décodage vidéo par signalisation d’un sous-ensemble de candidat
US11190793B2 (en) * 2019-07-09 2021-11-30 Qualcomm Incorporated Memory constraint for adaptation parameter sets for video coding
EP4030762A4 (en) * 2019-09-10 2023-09-06 Samsung Electronics Co., Ltd. IMAGE DECODING DEVICE USING A SET OF TOOLS AND CORRESPONDING IMAGE DECODING METHOD, AND IMAGE ENCODING DEVICE AND CORRESPONDING IMAGE ENCODING METHOD
CN117615155A (zh) 2019-09-19 2024-02-27 北京字节跳动网络技术有限公司 视频编解码中的参考样点位置推导
WO2021052490A1 (en) 2019-09-19 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Scaling window in video coding
CN114710662A (zh) * 2019-09-20 2022-07-05 杭州海康威视数字技术股份有限公司 一种解码、编码方法、装置及其设备
EP4026336A4 (en) 2019-10-05 2022-12-07 Beijing Bytedance Network Technology Co., Ltd. LEVEL-BASED SIGNALING OF VIDEO CODING TOOLS
WO2021071196A1 (ko) * 2019-10-10 2021-04-15 삼성전자 주식회사 툴 세트를 이용하는 영상 복호화 장치 및 이에 의한 영상 복호화 방법, 및 영상 부호화 장치 및 이에 의한 영상 부호화 방법
JP7391203B2 (ja) 2019-10-12 2023-12-04 北京字節跳動網絡技術有限公司 ビデオコーディングツールを洗練する使用およびシグナリング
MX2022004200A (es) 2019-10-13 2022-05-02 Beijing Bytedance Network Tech Co Ltd Interaccion entre remuestreo de imagen de referencia y herramientas de codificacion de video.
CN114982231A (zh) * 2019-11-27 2022-08-30 Lg电子株式会社 图像解码方法及用于其的装置
CN114868392A (zh) * 2019-12-31 2022-08-05 华为技术有限公司 编码器、解码器及对应方法
AU2021207559A1 (en) * 2020-01-13 2022-09-08 Lg Electronics Inc. Method and device for weighted prediction for image/video coding
US20220109856A1 (en) * 2020-10-06 2022-04-07 Samsung Electronics Co., Ltd. Access of essential video coding (evc) slices in a file

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060009878A (ko) * 2003-04-30 2006-02-01 노키아 코포레이션 화상들의 시퀀스들을 부호화하기 위한 방법
KR20100067133A (ko) * 2002-07-15 2010-06-18 톰슨 라이센싱 비디오 신호 데이터를 생성하기 위한 인코딩 방법
KR20110056388A (ko) * 2008-09-11 2011-05-27 구글 잉크. 적응적 세그먼트화를 사용하는 비디오 인코딩 시스템 및 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9560367B2 (en) * 2004-09-03 2017-01-31 Nokia Technologies Oy Parameter set and picture header in video coding
JP2006203662A (ja) * 2005-01-21 2006-08-03 Toshiba Corp 動画像符号化装置・復号化装置及び符号化ストリーム生成方法
CN101217654B (zh) 2008-01-04 2010-04-21 华南理工大学 视频码流可伸缩性组织方法
WO2010086500A1 (en) * 2009-01-28 2010-08-05 Nokia Corporation Method and apparatus for video coding and decoding
FR2947134A1 (fr) 2009-06-23 2010-12-24 France Telecom Procedes de codage et de decodages d'images, dispositifs de codage et de decodage, flux de donnees et programme d'ordinateur correspondants.
US9001883B2 (en) * 2011-02-16 2015-04-07 Mediatek Inc Method and apparatus for slice common information sharing
EP2684367A4 (en) * 2011-03-10 2014-09-24 Vidyo Inc MAINTENANCE OF A SET OF PARAMETERS IN A VIDEO CODING
US9277228B2 (en) * 2011-07-18 2016-03-01 Qualcomm Incorporated Adaptation parameter sets for video coding
US8768079B2 (en) * 2011-10-13 2014-07-01 Sharp Laboratories Of America, Inc. Tracking a reference picture on an electronic device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100067133A (ko) * 2002-07-15 2010-06-18 톰슨 라이센싱 비디오 신호 데이터를 생성하기 위한 인코딩 방법
KR20060009878A (ko) * 2003-04-30 2006-02-01 노키아 코포레이션 화상들의 시퀀스들을 부호화하기 위한 방법
KR20110056388A (ko) * 2008-09-11 2011-05-27 구글 잉크. 적응적 세그먼트화를 사용하는 비디오 인코딩 시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Yu-Wen Huang et al., ‘Adaptation Parameter Set ’, F747r3, JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 6th Meeting: Torino, IT, 14-22 July, 2011* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210042809A (ko) * 2019-10-10 2021-04-20 삼성전자주식회사 툴 세트를 이용하는 영상 복호화 장치 및 이에 의한 영상 복호화 방법, 및 영상 부호화 장치 및 이에 의한 영상 부호화 방법
WO2021251744A1 (ko) * 2020-06-10 2021-12-16 엘지전자 주식회사 Aps에 대한 식별자를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 컴퓨터 판독 가능한 기록 매체

Also Published As

Publication number Publication date
CN103096047A (zh) 2013-05-08
KR101600056B1 (ko) 2016-03-04
US20190273935A1 (en) 2019-09-05
WO2013063962A1 (zh) 2013-05-10
EP2753079A1 (en) 2014-07-09
FI3407605T3 (fi) 2023-12-13
EP3407605A1 (en) 2018-11-28
EP2753079A4 (en) 2016-04-27
US20210076056A1 (en) 2021-03-11
CN103096047B (zh) 2018-06-19
US10750196B2 (en) 2020-08-18
US10298946B2 (en) 2019-05-21
US20140294067A1 (en) 2014-10-02
US11252428B2 (en) 2022-02-15
EP3407605B1 (en) 2023-10-11
JP6172536B2 (ja) 2017-08-02
ES2962853T3 (es) 2024-03-21
JP2014535227A (ja) 2014-12-25

Similar Documents

Publication Publication Date Title
KR101600056B1 (ko) 슬라이스 파라미터 세트 인코딩 및 디코딩 방법과 장치
JP6587025B2 (ja) 情報処理装置および方法
CN108989822B (zh) 用于视频解码的设备
JP6233984B2 (ja) マルチビュー・ビデオ符号化のための仮想参照デコーダ
CN102450010A (zh) 定向内插和数据后处理
CN111373753B (zh) 变换因子级别编码方法及其装置
JP2021114786A (ja) デジタル画像のコーディング方法、デコーディング方法、装置、および関連するコンピュータプログラム
CN110650349B (zh) 一种图像编码方法、解码方法、编码器、解码器及存储介质
KR20150043217A (ko) 멀티 레이어 비디오 부호화 방법 및 장치, 멀티 레이어 비디오 복호화 방법 및 장치
CN102857746A (zh) 环路滤波编解码方法及装置
IL302588A (en) Layered coding and data structure for compressed high-order sound or surround sound field representations
CN102752615A (zh) 编码3d 视频信号的方法及对应的解码方法
KR20180116835A (ko) 비디오 비트 스트림 혼합 방법 및 이를 수행하는 장치
JP2021529473A (ja) 画像の符号化方法、復号化方法、エンコーダおよびデコーダ
KR102281283B1 (ko) 인터 뷰 예측을 이용한 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2012173449A2 (ko) 비디오 인코딩 및 디코딩 방법과 이를 이용한 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20190225

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 5