KR20160112910A - 디코더 및 디코더에서의 역변환 방법 - Google Patents

디코더 및 디코더에서의 역변환 방법 Download PDF

Info

Publication number
KR20160112910A
KR20160112910A KR1020150138003A KR20150138003A KR20160112910A KR 20160112910 A KR20160112910 A KR 20160112910A KR 1020150138003 A KR1020150138003 A KR 1020150138003A KR 20150138003 A KR20150138003 A KR 20150138003A KR 20160112910 A KR20160112910 A KR 20160112910A
Authority
KR
South Korea
Prior art keywords
intermediate data
clipping
decoder
unit
inverse
Prior art date
Application number
KR1020150138003A
Other languages
English (en)
Other versions
KR102390407B1 (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 KR20160112910A publication Critical patent/KR20160112910A/ko
Application granted granted Critical
Publication of KR102390407B1 publication Critical patent/KR102390407B1/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

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

Abstract

본 발명의 실시예는 디코더에서의 역변환 방법을 제공한다.
본 발명의 실시예에 따른 역변환 방법은 역변환 유닛에 의하여, 신호 내의 수신된 데이터에 역 수평 변환을 수행하여 제1 중간 데이터를 생성하는 단계; 클리핑 유닛에 의하여, 상기 제1 중간 데이터를 클리핑하는 단계; 상기 역변환 유닛에 의하여, 상기 클리핑된 제1 중간 데이터에 역 수직 변환을 수행하여 제2 중간 데이터를 생성하는 단계; 및 상기 클리핑 유닛에 의하여, 상기 제2 중간 데이터를 클리핑하는 단계;를 포함한다.

Description

디코더 및 디코더에서의 역변환 방법{DECODER AND INVERSE TRANSFORMATION METHOD IN DECODER}
본 발명의 실시예는 신호 인코딩 및 디코딩 프로세스에 관한 것으로, 보다 상세하게는, 신호 내의 데이터를 처리하는 동안에 변환 및 대응하는 역변환을 수행하는 메커니즘에 관한 것이다.
최근 몇 년 동안에, 데이터 압축 분야, 특히 디지털 정보(예를 들어 비디오 정보, 멀티미디어 정보 및 기타 등등)의 압축에 많은 연구가 수행되어 왔다. 일반적으로, 디지털 정보 압축 기법은 디지털 정보 시퀀스 내의 픽셀/신호의 순차적인 블록들에 예측, 변환, 양자화, 및 엔트로피 코딩을 적용해서 디지털 정보 시퀀스를 압축한다.
고효율 비디오 코딩(High Efficiency Video Coding; HEVC) 표준, H.264 표준, 및 기타 등등과 같은 비디오 인코딩 및 디코딩 표준의 경우에, 이산 여현 변환(discrete cosine transforms; DCT) 또는 이산 정현 변환(discrete sine transform; DST), 및 역이산 여현 변환(inverse discrete cosine transforms; IDCT) 또는 역이산 정현 변환(discrete inverse sine transform; IDST)이 다음 블록 사이즈: 4×4, 8×8, 16×16, 32×32, 64×64, 128×128, 및 이와 유사하게 더 큰 블록 사이즈를 가지는 디지털 정보 시퀀스의 압축을 위하여 제안된다. 또한, 스마트 연산(smart operations) 또는 유도된 대체(derived substitutions)로 처리되지 않는다면 전체 행렬 승산(full matrix multiplication)을 흔히 요구하는 이러한 방향성 변환들이 제안된다. 비록, HEVC 및 방향성 변환에서와 같은 16×16, 32×32, 64×64, 256×256, 및 기타 등등의 큰 블록 사이즈의 DCT 또는 DST 변환이 코딩 효율을 개선시키지만, 이들은 구현 복잡도를 크게 증가시킨다.
인코딩 및/또는 디코딩 속도는 계산 복잡도가 증가하면 감소하는 경향을 가진다. 신뢰도/속도에서의 증가는 또한 더 큰 메모리 요구 사항 및 메모리 대역폭 요구 사항을 초래할 수도 있다. 메모리 요구 사항이 증가하면 결과적으로 점점 더 고가이며 계산적으로 복잡한 회로를 불러오는 경향이 있다.
전술된 내용은 오직 본 발명을 이해하도록 돕는 배경 정보로서만 제시된다. 출원인은 위의 내용 중 임의의 것이 본 발명과 관련한 종래 기술로서 적용가능할 수도 있는지 여부에 대해 어떠한 결정도 하지 않았으며 어떠한 주장도 하지 않는다. 또한 전술된 내용은 반드시 본 발명의 출원 전에 일반 공중에게 공지된 내용이라 할 수는 없다.
한국등록특허 제10-0754167호
본 발명의 실시예는 디코더에서의 역변환 방법을 제공하는 것이다.
본 발명의 실시예는 수신된 데이터의 2D 블록에서 역 수평 변환을 수행하여 중간 데이터를 생성하도록 디코더 내에 구현되는 메커니즘을 제공하는 것이다.
본 발명의 실시예는 클리핑된 중간 데이터에서 역 수직 변환을 수행하여 중간 데이터를 생성하는 방법을 제공하는 것이다.
본 발명의 실시예는 중간 데이터의 클리핑 차수를 변경하는 방법을 제공하는 것이다.
본 발명의 일 실시예는 디코더에서의 역변환 방법을 제공한다. 상기 방법은 역변환 유닛에 의하여 신호 내의 수신된 데이터에서 역 수평 변환을 수행하여 제1 중간 데이터를 생성하는 단계를 포함한다. 상기 방법은 클리핑 유닛에 의하여, 제1 중간 데이터를 클리핑하는 단계 및 역변환 유닛에 의하여, 클리핑된 제1 중간 데이터에 역 수직 변환을 수행하여 제2 중간 데이터를 생성하는 단계를 포함한다. 더 나아가 상기 방법은 클리핑 유닛에 의하여 제2 중간 데이터를 클리핑하는 단계를 포함한다.
본 발명의 일 실시예는 역변환 유닛 및 클리핑 유닛을 포함하는 디코더를 제공한다. 역변환 유닛은 신호 내의 수신된 데이터에서 역 수평 변환을 수행하여 제1 중간 데이터를 생성하도록 구성된다. 클리핑 유닛은 제1 중간 데이터를 클리핑하도록 구성된다. 더 나아가, 역변환 유닛은 클리핑된 제1 중간 데이터에서 역 수직 변환을 수행하여 제2 중간 데이터를 생성하도록 구성된다. 더욱이, 클리핑 유닛은 제2 중간 데이터를 클리핑하도록 구성된다.
본 발명의 일 실시예는 컴퓨터 판독가능 비휘발성 저장 매체 상에 기록된 컴퓨터 실행가능 프로그램 코드를 포함하는 컴퓨터 프로그램 제품을 제공한다. 컴퓨터 실행가능한 프로그램 코드는 실행되면 역 수평 변환을 신호 내의 수신된 데이터에서 수행하여 제1 중간 데이터를 생성하는 동작들이 이루어지게 한다. 컴퓨터 실행가능한 프로그램 코드는 실행되면 제1 중간 데이터를 클리핑하는 동작 및 클리핑된 제1 중간 데이터에 역 수직 변환을 수행하여 제2 중간 데이터를 생성하는 동작들을 포함하는 동작들이 이루어지게 한다. 컴퓨터 실행가능한 프로그램 코드는 실행되면 제2 중간 데이터를 클리핑하는 동작들이 이루어지게 한다.
본 명세서의 실시예들의 이러한 양태 및 다른 양태들은 후속하는 상세한 설명 및 첨부 도면을 함께 고려하면 더욱 잘 인정되고 이해될 것이다. 그러나, 후속하는 상세한 설명은 비록 바람직한 실시예들 및 그것의 다수의 구체적인 세부내용들을 표시하고는 있지만 이것들은 예시의 방법으로 제공된 것이고 한정하는 것이 아니라는 것이 이해되어야 한다. 많은 변형 및 변경들이 실시예들의 기술적 사상에서 벗어나지 않으면서 본 명세서의 실시예들의 범위 내에서 이루어질 수도 있으며, 본 명세서의 실시예들은 모든 이러한 변경들을 포함한다.
본 발명의 실시예에 따른 방법은 복잡하고 고비용인 변환 연산을 제거하여 인코딩 및 디코딩 아키텍처의 사이즈 및 전력 사용을 감소시킨다. 따라서, 본 발명의 실시예에 따른 방법은 연산 속도를 개선한다.
본 발명은 첨부 도면에서 예시되는데, 첨부 도면 전체에 걸쳐서 유사한 문자들은 다양한 도면 내의 대응하는 부분들을 표시한다. 본 명세서의 실시예들은 도면을 참조하여 후술하는 상세한 설명으로부터 더욱 잘 이해될 것이다.
도 1a는 본 발명의 일 실시예에 따른 순방향 변환 및 역변환 절차를 적용하여 신호의 인코딩 프로세스 및 디코딩 프로세스의 하이 레벨을 개략적으로 나타낸 도면이다.
도 1b는 본 발명의 일 실시예에 따른 순방향 변환 및 역변환 절차를 적용하여 신호의 인코딩 프로세스 및 디코딩 프로세스의 다른 하이 레벨을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 디코더에서의 역변환 방법을 설명하는 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 디코더에서 구현되는 역변환 방법을 구현하는 컴퓨팅 환경을 나타낸 도면이다.
본 명세서의 실시예들 및 그들의 다양한 특징 및 유익한 세부사항들은 첨부 도면에 도시되며 후술하는 발명을 실시하기 위한 구체적인 내용에서 상세히 설명되는 비한정적인 실시예를 참조하여 더욱 완전하게 설명된다. 주지된 컴포넌트 및 처리 기법들의 설명은 본 명세서의 실시예들을 불필요하게 모호하게 하지 않기 위하여 생략된다. 또한, 몇몇 실시예들이 하나 이상의 다른 실시예와 결합되어 새로운 실시예를 형성할 수 있기 때문에, 본 명세서에서 설명되는 다양한 실시예들은 반드시 상호 배타적인 것이 아니다. 용어 "또는"은 본 명세서에서 사용될 때, 달리 표시되지 않는 한 비-배타적 논리합(or)을 지칭한다. 본 명세서에서 사용되는 예들은 본 명세서의 실시예들이 실시될 수 있는 방식의 이해를 용이화하고 더 나아가 당업자들이 본 명세서의 실시예들을 실시할 수 있도록 하기 위한 의도만을 가진다. 이에 상응하여, 예들은 본 명세서의 실시예들의 범위를 한정하는 것으로 해석되어서는 안 된다.
본 명세서 전체에서, 데이터(data) 및 값(values)이라는 용어는 상호교환가능하도록 사용된다.
본 명세서의 실시예는 디코더에서 구현되는 역변환 방법을 달성한다. 상기 방법은 제1 중간 데이터를 생성하도록, 역 수평 변환을 신호 내의 수신된 데이터에서 수행하는 단계, 및 상기 제1 중간 데이터를 클리핑하는 단계를 포함한다. 일 실시예에서, 신호는 비디오, 이미지 및 임의의 다른 타입의 신호일 수 있다.
일 실시예에서, 수신된 데이터는 역-양자화된 데이터(de-quantized data)이다. 더 나아가, 상기 방법은 클리핑된 중간 데이터에 역 수직 변환을 수행하여 제2 중간 데이터를 생성하는 단계를 포함한다. 또한, 상기 방법은 제2 중간 데이터를 클리핑하는 단계를 포함한다.
위에서 언급된 제1 및 제2 중간 데이터에서 단어 "제1" 및 "제2"는 중간 데이터의 순서를 반드시 표시하는 것이 아니고 단어 "제1" 및 "제2"는 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 오직 라벨로서만 사용된다는 것에 주의해야 한다.
일 실시예에서, 디코더는 인코더의 인-루프 디코더이다. 일 실시예에서, 클리핑된 제2 중간 데이터의 출력은 신호 내의 후속 프레임을 처리하기 위하여 인코더의 입력으로서 제공된다.
종래의 시스템과 달리, 본 발명의 실시예에 따른 방법은 역변환 프로세스 도중에 잔여 블록 내의 전치 연산을 제거함으로써, 복잡하고 고비용인 변환 연산을 제거할 수 있다. 이것은 결과적으로 버퍼 요구 사항을 제거함으로써, 인코딩 및 디코딩 아키텍처의 사이즈 및 전력 사용을 감소시킨다. 따라서, 본 발명의 실시예에 따른 방법은 연산 속도를 개선한다.
디코더는 전자 디바이스 내에서 사용될 수 있다. 예를 들어, 전자 디바이스는 텔레비전(TV), 스마트 폰, 감시 카메라, 브로드캐스트 및 스트리밍 서버, 및 임의의 다른 컴퓨팅 디바이스일 수 있지만 이들로 한정되는 것은 아니다.
일 실시예에서, 디코더는 HEVC 디코딩 표준을 참조하나, 이에 한정되지 않으며 2D/3D 블록 기반 데이터의 변환 및 역변환을 수반하는 신호/이미지/비디오 압축/압축해제 표준 또는 기술에 적용될 수도 있다.
이하 도 1 내지 도 3을 참조하여, 바람직한 실시예들이 제공되는데, 여기에서 유사한 참조 문자들은 도면 전체에서 일관적으로 대응하는 특징들을 나타낸다.
도 1a는 본 발명의 일 실시예에 따른 순방향 변환 및 역변환 절차를 적용하는 것에 의한 신호의 인코딩 프로세스 및 디코딩 프로세스의 하이 레벨(100a)을 개략적으로 도시한 예이다. 일 실시예에서, 신호는 비디오, 이미지 및 임의의 다른 타입의 신호일 수 있다.
잔여 입력이 순방향 변환 유닛(102a)으로 공급된다. 잔여 입력을 수신한 이후에, 순방향 변환 유닛(102a)은 수평 변환 연산을 수행하여 제1 잔여 출력을 생성한다. 순방향 변환 유닛(102a)은 제1 잔여 출력을 클리핑 유닛으로 전송한다. 클리핑 유닛은 제1 잔여 출력이 최대 값 및 최소 값의 범위 내에 존재하도록 클리핑한다. 최대 값 및 최소 값은 행렬 변환 연산의 사이즈에 기초하여 설정된다.
일 실시예에서, 클리핑 연산과 함께, 정규화 연산이 또한 제1 잔여 출력을 생성한 이후에 수행된다. 정규화 연산은 행렬 변환 연산의 사이즈에 기초한 값들의 평균화에 관한 것이다.
클리핑된 데이터의 출력이 수직 변환 연산의 입력으로서 제공된다. 순방향 변환 유닛(102a)은 클리핑된 제1 잔여 출력을 수신하고, 클리핑된 제1 잔여 출력에 수직 변환 연산을 수행하여 제2 잔여 출력을 생성한다.
클리핑 유닛은 제2 잔여 출력을 수신하고, 제2 잔여 출력에 제2 클리핑 연산을 수행하여 클리핑된 제2 잔여 출력 데이터를 생성한다. 클리핑 유닛은 클리핑된 제2 잔여 출력 데이터를 양자화 유닛(104a)으로 전송한다.
일 실시예에서, 클리핑 연산과 함께, 인코더는 제2 잔여 출력에 정규화 연산을 수행하여 잔여 출력 데이터를 생성한다.
다른 실시예들에서, 정규화 연산은 클리핑 연산 없이 독립적으로 수행될 수 있다.
양자화 유닛(104a)은 클리핑된 제2 잔여 출력을 수신하고, 양자화 연산을 클리핑된 제2 잔여 출력에 수행하여 양자화된 잔여 출력을 생성한다. 양자화 유닛(104a)은 클리핑된 제2 잔여 출력에 양자화 계수를 연산(승산/제산)하여 양자화된 잔여 출력을 생성한다.
도 1a에 도시된 바와 같이, 디코더는 인코딩 프로세스에 배치된 인-루프 디코더이다.
양자화 유닛(104a)은 양자화된 잔여 출력 데이터를 역-양자화 유닛(de-quantization unit; 106a)으로 전송한다. 역-양자화 유닛(106a)은 양자화된 잔여 출력을 수신하고, 양자화된 잔여 출력 데이터에 역-양자화 연산을 수행하여 역-양자화된 잔여 출력을 생성한다. 역-양자화 유닛(106a)은 역-양자화된 잔여 출력을 역변환 유닛(108a)으로 전송한다.
순방향 변환 유닛(102a), 양자화 유닛(104a), 및 역-양자화 유닛(106a)의 동작 및 기능들은 현존하는 방법 및 기법에 기초하여 수행된다.
역변환 유닛(108a)에서 역-양자화된 잔여 출력을 수신하고, 역변환 유닛(108a)은 역-양자화된 잔여 출력에 역 수평 변환을 수행하여 제1 중간 데이터를 생성한다. 역변환 유닛(108a)은 제1 중간 데이터를 클리핑 유닛으로 전송한다. 클리핑 유닛은 제1 중간 데이터를 수신하고, 클리핑 유닛은 역변환 유닛(108a)에 의하여 생성된 제1 중간 데이터가 제1 최대 값 및 제1 최소 값의 범위 내에 속하도록 클리핑 연산을 수행한다. 일 실시예에서, 정규화 연산이 디코더에서의 클리핑 연산 도중에 내재적으로 수행될 수 있다.
클리핑 유닛은 클리핑된 제1 중간 데이터를 역변환 유닛(108a)으로 전송한다. 역변환 유닛(108a)은 클리핑된 제1 중간 데이터를 수신하고, 클리핑된 제1 중간 데이터에 역 수직 변환을 수행하여 제2 중간 데이터를 생성한다. 역변환 유닛(108a)은 제2 중간 데이터를 클리핑 유닛으로 전송한다.
클리핑 유닛에서 제2 중간 데이터를 수신하고, 클리핑 유닛은 제2 중간 데이터가 제1 최대 값 및 제1 최소 값의 범위 내에 속하도록 클리핑 연산을 수행한다. 클리핑 유닛은 제2 클리핑된 중간 데이터를 생성하고, 제2 중간 데이터(즉, 디코딩된 잔여 출력)를 제공한다. 일 실시예에서, 정규화 연산이 디코더에서의 클리핑 연산 도중에 내재적으로 수행될 수 있다.
일 실시예에서, 디코딩된 잔여 출력은 신호 내의 후속 프레임을 처리하기 위하여 인코더에 입력으로서 제공된다. 일 예에서, 제1 프레임의 디코딩된 잔여 출력은 순방향 변환 유닛(102a)에 의하여 수신된다. 더 나아가, 순방향 변환 유닛(102a)은 제1 프레임의 잔여 출력을 사용하여 신호 내의 바로 후속하는 프레임들을 처리한다. 따라서, 인-루프 디코더를 이용하면, 디코딩된 출력이 모든 프레임들에 대하여 입력으로서 인코더로 피드백되기 때문에 신호에 대한 인코딩 프로세스가 개선될 것이다.
역변환 중에, 인코더의 인-루프 디코딩 경로 내의 고비용이고 캐시에 비친화적인(unfriendly) 전치 연산을 제거하기 위하여, 중간 클리핑 차수(order)가 순방향 변환 및 역변환 절차에 상이하게 적용된다. 이것은 결과적으로 연산 속도를 개선한다.
일 실시예에서, 순방향 변환 유닛(102a), 및 역변환 유닛(108a)은 이산 여현 변환(Discrete Cosine Transform; DCT)과 유사한 변환 또는 이산 정현 변환(Discrete Sine Transform; DST)과 유사한 변환으로 공간적으로 변환되는 기본적인 유닛(elementary unit)을 나타내도록 사용된다.
일 예에서, 행렬 변환은 다음과 같이 기술된다:
인코더에서의 순방향 변환은 변경되지 않은 상태로 남으며, 이는 하기 식(1)로서 기술될 수 있다.
Figure pat00001
...(1)
여기에서, X는 입력 잔여 블록이고, C는 정상수(constant integer) 이산 여현 변환(Discrete Cosine Transform; DCT) 행렬이고, Z는 출력 계수 행렬(제2 변환된 행렬)이고, XT는 X 행렬의 전치 행렬이다. 그리고, 용이한 고정 소수점 연산(easy fixed point operations)을 위하여, 중간 출력 값을 허용가능한 개수의 비트 범위 내로 유지시키기 위한 중간 클리핑이 존재한다.
표준에 따르면, 디코더측에서의 역변환 또는 인코더의 인-루프 디코더에서의 역변환은 식(2)와 같다:
Figure pat00002
...(2)
각각의 행렬 승산 단계 이후에 클리핑 연산이 수행된다.
여기에서, Xo는 HEVC 표준에 따르는 디코딩된 출력 잔여 행렬이다. 역변환 연산 사이 사이에 클리핑을 수반하고, 인코더의 관련된 경로에 양자화 및 역-양자화 단계가 존재하기 때문에 Xo != X 이다.
이하 종래의 역변환 방법에서의 행렬 승산 연산을 예시한다. 4X4 행렬이 신호의 인코딩 프로세스 및 디코딩 프로세스 동안의 변환 프로세스에서 고려된다.
Figure pat00003
Figure pat00004
Figure pat00005
클리핑/정규화 연산은, 순방향 변환 유닛에 의하여 생성된 제1 중간 데이터가 제1 최대 값 및 제1 최소 값의 범위 내에 속하도록 클리핑 유닛을 사용하여 수행된다.
HEVC 표준에 따르는 인코더에서, 변환의 중간 단계 동안에 수행되는 클리핑 연산 또는 정규화 연산은 일반적으로 결과의 정확도에 영향을 미치지 않으나, 이들은 결과적으로 값들의 변화를 다소 초래한다. 그러나, 값의 변화는 연산의 다음 단계를 정확하게 또는 용이하게 하거나, 또는 값들이 연산가능 범위에 있도록 하는 정도의 변화이다.
일 예로서 고려하면, 제1 행 및 제1 열에 대한 클리핑은 (제1 행 및 제1 열 값 + A) 나누기 B)이다. 여기에서 A 및 B 값은 변환 사이즈/타입에 기초하여 설정된다. 여기에서 제1 행 및 제1 열 값은 640이고, A는 1이며, B는 2이므로, 제1 행 및 제1 열 값의 클리핑된 값은 (640 + 1) / 2 = 321 이다. 321 은 최소 및 최대 임계 내에 있다. 클리핑 연산은 값을 특정 최소 및 최대 허용된 임계 사이의 범위 내로 한정하기 위한 것이다. 예를 들어, 만일 원하는 값이 0 - 15 사이에 있다면, 값이 15 를 초과할 때마다, 클리핑은 값을 15 로 클리핑하려고 시도한다.
Figure pat00006
Figure pat00007
클리핑 연산을 수행한 이후에, (여기에서 제1 행 및 제1 열에 대한 클리핑은 (제1 행 및 제1 열 값 + A) 나누기 B) 인데, 여기서 A 및 B 값은 변환 사이즈/타입에 기초하여 설정된다), 제1 행 및 제1 열 값은 278784 이고, A는 128 이며, B는 264 이므로, 제1 행 및 제1 열 값의 클리핑된 값은 (278784 + 128) / 264 = 1057 이다.
Figure pat00008
디코더에서, 출력(Z) =((c_trans * z) * c) 이다.
Figure pat00009
Figure pat00010
Figure pat00011
클리핑 연산을 수행한 이후에, (여기에서 제1 행 및 제1 열에 대한 클리핑은 (제1 행 및 제1 열 값 + A) 나누기 B) 인데, 여기서 A 및 B 값은 변환 사이즈/타입에 기초하여 설정된다), 제1 행 및 제1 열 값은 20085 이고, A는 64 이며, B는 128 이므로, 제1 행 및 제1 열 값의 클리핑된 값은 (20085 + 64) / 128 = 158 이다.
Figure pat00012
Figure pat00013
클리핑 연산을 수행한 이후에, (여기에서 제1 행 및 제1 열에 대한 클리핑은 (제1 행 및 제1 열 값 + A) 나누기 B) 인데, 여기서 A 및 B 값은 변환 사이즈/타입에 기초하여 설정된다), 제1 행 및 제1 열 값은 4480 이고, A는 1024 이며, B는 2048 이므로, 제1 행 및 제1 열 값의 클리핑된 값은 (4480 + 1024) / 2048 = 3 이다.
이에 따라 디코더의 출력(Z)은 다음과 같다.
Figure pat00014
이하 본 발명의 실시예에 따른 역변환 방법에서의 행렬 승산 연산을 예시한다. 4X4 행렬이 신호의 인코딩 프로세스 및 디코딩 프로세스 동안의 변환 프로세스에서 고려된다. 본 발명의 실시예에 따른 디코더에서, 디코더의 출력(Z) = (c_trans * (c_trans * z_trans)_trans) 이다.
일 실시예에서, 디코더는 인코더의 인-루프 디코딩 경로일 수 있다. 2-차원의 역변환 연산이 하기 식(3)과 같이 수행된다.
Figure pat00015
...(3)
여기에서 X"o는 디코딩된 출력 행렬이다. 그러나, 용이한 고정 소수점 연산을 유지하기 위하여 현존하는 표준에 의하여 도입되는, 각각의 행렬 승산 단계 이후의 클리핑 연산 때문에 X"o != Xo 이다.
본 발명의 실시예에 따른 행렬 승산 연산자는 "#"이다. 이러한 승산은 보통의 행렬 승산과 동일하나, 행대열(rows to columns)의 승산-가산(multiply-add) 대신에, 행렬 승산 연산자("#")는 행대행(rows to rows)의 승산 가산을 수행한다(예를 들어 A#B = A*BT)(일반적으로, 이러한 연산자 "#"는 선형 메모리-캐시 프로세서 아키텍처 및 의존적 컴파일러에서 빈번하게 사용된다).
그러므로 새 연산자 "#"를 사용하면, 식(3)은 식(4)가 된다.
Figure pat00016
...(4)
Figure pat00017
Figure pat00018
클리핑 연산을 수행한 이후에, (여기에서 제1 행 및 제1 열에 대한 클리핑은 (제1 행 및 제1 열 값 + A) 나누기 B) 인데, 여기서 A 및 B 값은 변환 사이즈/타입에 기초하여 설정된다), 제1 행 및 제1 열 값은 55890 이고, A는 64 이며, B는 128 이므로, 제 1 행 및 제 1 열 값의 클리핑된 값은 (55890 + 64) / 128 = 438 이다.
Figure pat00019
Figure pat00020
클리핑 연산을 수행한 이후에, (여기에서 제1 행 및 제1 열에 대한 클리핑은 (제1 행 및 제1 열 값 + A) 나누기 B) 인데, 여기서 A 및 B 값은 변환 사이즈/타입에 기초하여 설정된다), 제1 행 및 제1 열 값은 4571 이고, A는 1024 이고, B는 2048 이므로, 제1 행 및 제1 열 값의 클리핑된 값은 (4571 + 1024) / 2048 = 3 이다.
본 발명의 실시예에 따른 출력(Z)은 다음과 같다.
Figure pat00021
전술된 예들을 참조하면, 종래의 디코더 및 본 발명의 실시예에 따른 디코더 사이의 출력 차분은 다음과 같다.
Figure pat00022
종래의 디코더 및 본 발명의 실시예에 따른 디코더 사이의 출력 차분을 참조하면, 본 발명의 실시예에 따른 방법은 복잡하고 고비용인 변환 연산을 제거하고 압축 품질을 희생시키지 않으면서 IDCT 프로세스 도중에 잔여 블록에서의 전치 연산을 제거함으로써 현재의 인코딩 및 디코딩 프로세스의 복잡도를 감소시킬 수 있다.
본 발명의 실시예에 따른 방법은 디코더 및 인코더의 인-루프 디코딩 경로 모두에서 "#" 연산자에 기초한 식(4)와 함께 클리핑의 차수를 변경함으로써 역변환 단계를 수정한다. 이는 인코더-디코더 비트 정확성(exactness) 적합성(conformance), 피크 신호대 잡음비(Peak Signal to Noise Ratio; PSNR) 및 비트레이트 압축을 훼손시키지 않으면서 전치 연산 복잡성의 제거에 의하여 성능에 있어서의 개선을 제공한다. 본 발명의 실시예에 따른 방법은 비용 효과적인 방식으로 디코더 및 인코더에서의 역변환에서 전치 연산을 피함으로써 프로세스의 복잡성을 감소시킨다.
그리고 인코더의 순방향 변환에서 연산자 "#"를 사용함으로써 식(1)이 식(5)가 된다.
Figure pat00023
...(5)
상기 식(5)는, 인코더에서의 전치 연산을 피하기 위하여, 인코더에서의 순방향 변환식이 디폴트로 "#" 연산자에 부응한다는 것을 나타낸다. HEVC 참조 코드 HM11.0 은 이미 이러한 로직(즉, 식 (5))을 순방향 이산 여현 변환(Forward Discrete Cosine Transform; FDCT) 블록에서 사용한다.
일 실시예에서, 본 발명의 실시예에 따른 변환 기법은 4×4, 8×8, 16×16, 32×32, 64×64, 및 256×256 변환 행렬 연산을 지원할 것이다.
도 1b는 본 발명의 실시예에 따른 순방향 및 역변환 절차를 적용하는 것에 의한 신호의 인코딩 프로세스 및 디코딩 프로세스의 다른 하이 레벨(100b)을 개략적으로 도시한 예이다. 순방향 변환 유닛(102b), 양자화 유닛(104b), 역-양자화 유닛(106b), 및 역변환 유닛(108b)의 동작 및 기능은 도 1a를 함께 참조하여 설명한다. 일 실시예에서, 양자화 유닛(104a)은 역-양자화된 잔여 출력 데이터를 디코더 내의 역-양자화 및 역변환 경로(미도시)로 전송한다. 역-양자화 및 역변환 경로는 역변환 유닛(108b)을 포함한다.
디코더 내의 역-양자화 및 역변환 경로에서 역-양자화된 잔여 출력 데이터를 수신하고, 역변환 유닛(108b)은 역-양자화된 잔여 출력 데이터에 역 수평 변환을 수행하여 제1 중간 데이터를 생성한다. 역변환 유닛(108b)은 제1 중간 데이터를 클리핑 유닛으로 전송한다. 클리핑 유닛에서 제1 중간 데이터를 수신하고, 클리핑 유닛은 역변환 유닛(108b)에 의하여 생성된 제1 중간 데이터가 제1 최대 값 및 제1 최소 값의 범위 내에 속하도록 클리핑 연산을 수행한다.
클리핑 유닛은 클리핑된 제1 중간 데이터를 역변환 유닛(108b)으로 전송한다. 역변환 유닛(108b)은 클리핑된 제1 중간 데이터를 수신하고, 클리핑된 제1 중간 데이터에 역 수직 변환을 수행하여 제2 중간 데이터를 생성한다. 역변환 유닛(108b)은 제2 중간 데이터를 클리핑 유닛으로 전송한다. 클리핑 유닛에서 제2 중간 데이터를 수신하고, 클리핑 유닛은 제2 중간 데이터가 제1 최대 값 및 제1 최소 값의 범위 내에 속하도록 클리핑 연산을 수행한다. 클리핑 유닛(108a)은 제2 클리핑된 중간 데이터를 생성하고, 제2 중간 데이터(즉, 디코딩된 잔여 출력)를 제공한다.
일 실시예에서, 정규화 연산이 제1 잔여 출력을 생성한 이후에 수행된다. 정규화 연산은 행렬 변환 연산의 사이즈에 기초한 값들의 평균화에 관한 것이다. 일 실시예에서, 정규화 연산이 디코더에서의 클리핑 도중에 내재적으로 수행된다.
도 1a 및 도 1b는 순방향 변환 및 역변환 절차를 적용함에 의한, 신호의 인코딩 프로세스 및 디코딩 프로세스의 제한된 예를 도시하나, 다른 실시예들이 이에 한정되지 않는다는 것이 이해되어야 한다.
도 2는 본 발명의 실시예에 따른 디코더에서의 역변환 방법(200)을 예시하는 흐름도이다.
상기 방법(200)은 신호 내의 수신된 데이터에 역 수평 변환을 수행하여 제1 중간 데이터를 생성하는 단계(단계 202)를 포함한다. 일 실시예에서, 신호는 비디오, 이미지 및 임의의 다른 타입의 신호를 지칭한다.
일 실시예에서, 수신된 데이터는 역-양자화된 잔여 출력 데이터일 수 있다. 일 실시예에서, 상기 방법(200)은 역변환 유닛(108a 또는 108b)이 수신된 데이터에 역 수평 변환을 수행하여 제1 중간 데이터를 생성하도록 한다.
상기 방법(200)은 제1 중간 데이터를 클리핑하는 단계(단계 204)를 포함한다. 일 실시예에서, 상기 방법(200)은 클리핑 유닛이 제1 중간 데이터를 클리핑하도록 한다. 일 실시예에서, 정규화 연산이 제1 잔여 출력을 생성한 이후에 수행된다. 정규화 연산은 행렬 변환 연산의 사이즈에 기초한 값들의 평균화에 관한 것이다. 일 실시예에서, 정규화 연산이 디코더에서의 클리핑 연산 도중에 내재적으로 수행된다.
상기 방법(200)은 클리핑된 제1 중간 데이터에 역 수직 변환을 수행하여 제2 중간 데이터를 생성하는 단계(단계 206)를 포함한다. 일 실시예에서, 상기 방법(200)은 역변환 유닛(108a 또는 108b)이 클리핑된 제1 중간 데이터에 역 수직 변환을 수행하여 제2 중간 데이터를 생성하도록 한다.
상기 방법(200)은 제2 중간 데이터를 클리핑하는 단계(단계 208)를 포함한다. 일 실시예에서, 상기 방법(200)은 클리핑 유닛이 제2 중간 데이터를 클리핑하도록 한다. 일 실시예에서, 정규화 연산이 제1 잔여 출력을 생성한 이후에 수행된다. 정규화 연산은 행렬 변환 연산의 사이즈에 기초한 값들의 평균화에 관한 것이다. 일 실시예에서, 정규화 연산이 디코더에서의 클리핑 도중에 내재적으로 수행된다.
일 실시예에서, 만일 디코더가 인코더의 인-루프 디코더이면, 클리핑된 제2 중간 데이터의 출력은 인코더에 입력으로서 제공된다. 일 예에서, 디코딩된 잔여 출력은 신호 내의 후속 프레임을 처리하기 위하여 인코더에 입력으로서 제공된다.
일 실시예에서, 디코더는 인코더 내에 있지 않다. 예를 들어, 디코더는 서버로부터 인코딩된 데이터를 수신하는 미디어 플레이어 애플리케이션일 수 있다.
상기 방법(200)에서의 다양한 동작, 작업(act), 블록, 단계들은 제시된 순서로, 상이한 순서로, 또는 동시에 수행될 수도 있다. 더 나아가, 몇 가지 실시예들에서, 몇몇 동작, 작업, 블록, 단계 등은 본 발명의 범위로부터 벗어나지 않고서 생략, 추가, 수정, 스킵 등이 가능할 수도 있다.
아래의 표 1은, 평균 PSNR 값들을 비교하여, 본 발명의 실시예에 따른 방법이 22의 초기 양자화 파라미터(QP)를 가지는 다양한 비트 레이트에서의 상이한 표준 스트림들의 인코딩된 로(raw) 비디오를 제공한다는 것을 나타낸다.
제안된 방법 HM
비트레이트
카테고리(Mbps )
정확한 비트레이트(Kbps) Y-PSNR U-PSNR V-PSNR 정확한 비트레이트(Kbps) Y-PSNR U-PSNR V-PSNR
비디오 1
2 2098.267 34.4899 38.6692 40.0481 2098.190 34.4848 38.6665 40.0562
4 4202.026 36.9659 39.9287 41.1164 4201.925 36.9307 39.9277 41.1168
8 8402.384 39.099 41.4058 42.5725 8402.530 39.099 41.4039 42.5758
10 10501.859 39.7352 41.8555 43.0626 10501.915 39.7352 41.859 43.0726
비디오 2
2 2101.203 24.5158 30.0188 35.4283 2102.064 24.5218 30.0029 35.4154
4 4197.055 27.0535 31.2467 35.8730 4198.502 27.0577 31.2425 35.8736
8 8389.078 29.1437 32.2991 36.3955 8388.975 29.1442 32.2948 36.3941
10 10486.163 29.8334 32.5605 36.5516 10486.189 29.8339 32.5595 36.5508
표 1에 도시된 바와 같이, PSNR 값들은 상이한 비트레이트에 걸쳐서 유사하다. 더욱이, 표 1의 결과들은, HEVC 코딩 표준 사양에 의하여 정의되는 바와 같은 기존 방법에 비해, 본 발명의 실시예에 따른 방법이 품질 또는 압축(즉, 비트레이트)에서의 열화가 없다는 것을 보여준다.
표 2는 본 발명의 실시예에 따른 방법 및 기존 방법의 성능 비교를 보여준다. 본 발명의 실시예에 따른 방법 및 기존 방법의 성능은 하기의 시스템 구성(즉, 3.20 GHz에서 동작하는 인텔 i3 CPU 550, 4GB RAM, 및 32 비트 아키텍처)에서 평가된다.
성능(fps 단위)
스트림 해상도 본 실시예에 따른 방법 기존 방법
비디오 3 1080p 39.4055 35.44131
비디오 4 1080p 12.10728 11.83212
비디오 5 1080p 10.01888 9.920771
비디오 6 720p 66.20954 65.26131
비디오 7 720p 25.83522 25.50056
비디오 8 CIF 229.8263 228.1121
보다 하위의 프로세서가 더 작은 캐시 사이즈를 가지고 장래에 변환 블록 사이즈가 64x64 로부터 256x256 으로 증가할 경우에 성능은 계속하여 증가할 것이다. 또한 단일 명령 승산 데이터(single instruction, multiple data; SIMD)와 같은 특수 최적화 기법을 적용한다면, 본 발명의 실시예에 따른 방법은 더 양호한 캐시 친화적 접근법을 제공한다. 따라서 결과적으로 신호 코딩 기법의 성능에서의 개선이 이루어진다. 일 실시예에서, 본 발명의 실시예에 따른 방법은 SIMD의 로우 레벨 프로세서 특이적 최적화에서 구현될 수 있다. 일 실시예에서, 본 발명의 실시예에 따른 방법은 디코더(예를 들어, JAVA 스크립트 기반 디코더)를 지원하는 더 높은 레벨의 언어로 구현될 수 있다.
비록 위에서 언급된 방법이 디코더를 예로서 설명되었지만, 당업자는 동일한 방법을 인코더의 순방향 변환에 적용할 수 있다는 것이 이해되어야 한다.
도 3은 본 발명의 일 실시예에 따른 디코더에서의 역변환 방법을 구현하는 컴퓨팅 환경(302)을 예시한다.
도면에 도시된 바와 같이, 컴퓨팅 환경(302)은 제어 유닛(304)과 산술적 로직 유닛(Arithmetic Logic Unit; ALU)(306)이 탑재된 적어도 하나의 처리 유닛(308), 메모리(310), 스토리지 유닛(312), 복수의 네트워킹 디바이스(316) 및 복수의 입출력(I/O) 디바이스(314)를 포함한다. 유닛(308)은 알고리즘의 명령들을 처리하는 것을 담당한다. 처리 유닛(308)은 자신의 처리 동작을 수행하기 위하여 커맨드를 제어 유닛(304)으로부터 수신한다. 더 나아가, 명령들의 실행에 수반되는 임의의 논리적 및 산술 연산들은 ALU(306)의 도움으로 계산된다.
전체 컴퓨팅 환경(302)은 다수의 동종의 그리고/또는 이종의 코어들, 상이한 종류의 다수의 CPU들, 특수 미디어 및 다른 가속기들로 구성될 수 있다. 처리 유닛(308)은 알고리즘의 명령들을 처리하는 것을 담당한다. 더 나아가, 복수의 처리 유닛(308)은 단일 칩에 또는 다중 칩에 위치될 수도 있다.
알고리즘은 구현예를 실시하기 위하여 요구되는 명령 및 코드들로 이루어지고 메모리 유닛(310) 또는 스토리지 유닛(312) 중 어느 하나 또는 두 개 모두에 저장된다. 실행의 순간에, 명령들은 대응하는 메모리(310) 및/또는 스토리지(312)로부터 페치(fetch)되고 처리 유닛(308)에 의하여 실행될 수도 있다.
임의의 하드웨어 구현예의 경우에, 다양한 네트워킹 디바이스(316) 또는 외부 I/O 디바이스(314)가 컴퓨팅 환경(302)에 연결되어 네트워킹 유닛 및 I/O 디바이스 유닛을 통한 구현을 지원할 수도 있다.
여기에 개시된 실시예들은 적어도 하나의 하드웨어 디바이스에서 실행중이며 구성 요소들을 제어하기 위한 네트워크 관리 기능을 수행하고 있는 적어도 하나의 소프트웨어 프로그램을 통하여 구현될 수 있다. 도 1 및 도 3에 도시되는 구성요소들은 하드웨어 디바이스, 또는 하드웨어 디바이스 및 소프트웨어 모듈의 조합 중 적어도 하나일 수 있는 블록들을 포함한다.
특정한 실시예의 전술된 설명은 본 명세서의 실시예들의 총괄적인 속성을 완전하게 드러낼 것이며, 다른 이들은 이러한 실시예들을 현재의 지식을 적용함으로써 총괄적인 개념으로부터 벗어나지 않으면서 용이하게 변경하고 및/또는 이러한 특정 실시예들과 같은 다양한 애플리케이션들에 대하여 적응시킬 수 있고, 그러므로, 이러한 적응 및 변경들은 개시된 실시예들의 균등물의 의미 및 범위 내에서 이해되어야 하고 또한 그렇게 이해되는 것이 의도된다. 본 명세서에서 채용된 어법 또는 용어는 설명하기 위한 목적을 위한 것이며 한정하는 목적이 아님이 이해되어야 한다. 그러므로, 본 명세서의 실시예들이 바람직한 실시예들의 관점에서 지금까지 설명되어 왔지만, 당업자들은 본 명세서의 실시예들이 설명된 바와 같은 본 명세서의 실시예들의 사상 및 범위 내에서 변형되어 실시될 수 있다는 것을 인식할 것이다.

Claims (7)

  1. 역변환 유닛에 의하여, 신호 내의 수신된 데이터에 역 수평 변환을 수행하여 제1 중간 데이터를 생성하는 단계;
    클리핑 유닛에 의하여, 상기 제1 중간 데이터를 클리핑하는 단계;
    상기 역변환 유닛에 의하여, 상기 클리핑된 제1 중간 데이터에 역 수직 변환을 수행하여 제2 중간 데이터를 생성하는 단계; 및
    상기 클리핑 유닛에 의하여, 상기 제2 중간 데이터를 클리핑하는 단계;를 포함하는, 디코더에서의 역변환 방법.
  2. 제1항에 있어서,
    상기 디코더는 인코더의 인-루프 디코더이고,
    상기 클리핑된 제2 중간 데이터의 출력은 상기 인코더에 입력으로서 제공되는, 디코더에서의 역변환 방법.
  3. 제1항에 있어서,
    상기 수신된 데이터는 역-양자화(de-quantize)된 데이터인, 디코더에서의 역변환 방법.
  4. 역변환 유닛 및 클리핑 유닛을 포함하는 디코더에 있어서,
    상기 역변환 유닛은, 신호 내의 수신된 데이터에 역 수평 변환을 수행하여 제1 중간 데이터를 생성하고,
    상기 클리핑 유닛은, 상기 제1 중간 데이터를 클리핑하고,
    상기 역변환 유닛은, 상기 클리핑된 제 1 중간 데이터에 역 수직 변환을 수행하여 제2 중간 데이터를 생성하고,
    상기 클리핑 유닛은, 상기 제2 중간 데이터를 클리핑하는, 디코더.
  5. 제4항에 있어서,
    상기 디코더는 인코더의 인-루프 디코더이고,
    상기 클리핑된 제2 중간 데이터는 상기 인코더에 입력으로서 제공되는, 디코더.
  6. 제4항에 있어서,
    상기 수신된 데이터는 역-양자화(de-quantize)된 데이터인, 디코더.
  7. 컴퓨터 판독가능 비-일시적 저장 매체에 기록된 컴퓨터 실행가능 프로그램 코드를 포함하는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 실행가능 프로그램 코드는, 실행되었을 때,
    신호 내의 수신된 데이터에 역 수평 변환을 수행하여 제1 중간 데이터를 생성하는 단계;
    상기 제1 중간 데이터를 클리핑하는 단계;
    상기 클리핑된 제1 중간 데이터에 역 수직 변환을 수행하여 제2 중간 데이터를 생성하는 단계; 및
    상기 제2 중간 데이터를 클리핑하는 단계;를 포함하는 동작들을 수행하는, 컴퓨터 프로그램 제품.
KR1020150138003A 2015-03-18 2015-09-30 디코더 및 디코더에서의 역변환 방법 KR102390407B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN1339CH2015 2015-03-18
IN1339/CHE/2015 2015-03-18

Publications (2)

Publication Number Publication Date
KR20160112910A true KR20160112910A (ko) 2016-09-28
KR102390407B1 KR102390407B1 (ko) 2022-04-25

Family

ID=81453758

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150138003A KR102390407B1 (ko) 2015-03-18 2015-09-30 디코더 및 디코더에서의 역변환 방법

Country Status (1)

Country Link
KR (1) KR102390407B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100754167B1 (ko) 2004-10-06 2007-09-03 삼성전자주식회사 다양한 크기의 블록에 대한 변환/역변환 방법 및 그 장치
JP2014504046A (ja) * 2011-01-18 2014-02-13 シャープ株式会社 逆変換シフトメモリにより削減されたダイナミックレンジ変換を行う動画像復号装置
KR20140074979A (ko) * 2011-10-07 2014-06-18 퀄컴 인코포레이티드 변환 의존적 디블록킹 필터링의 수행
KR20140101755A (ko) * 2011-11-04 2014-08-20 엘지전자 주식회사 영상 정보 인코딩/디코딩 방법 및 장치
JP2014523175A (ja) * 2011-06-27 2014-09-08 ブリティッシュ・ブロードキャスティング・コーポレーション 変換を用いたビデオの符号化および復号
JP2014535247A (ja) * 2011-11-07 2014-12-25 クゥアルコム・インコーポレイテッドQualcomm Incorporated 変換スキップモードにおける有意係数情報のコーディング

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100754167B1 (ko) 2004-10-06 2007-09-03 삼성전자주식회사 다양한 크기의 블록에 대한 변환/역변환 방법 및 그 장치
JP2014504046A (ja) * 2011-01-18 2014-02-13 シャープ株式会社 逆変換シフトメモリにより削減されたダイナミックレンジ変換を行う動画像復号装置
JP2014523175A (ja) * 2011-06-27 2014-09-08 ブリティッシュ・ブロードキャスティング・コーポレーション 変換を用いたビデオの符号化および復号
KR20140074979A (ko) * 2011-10-07 2014-06-18 퀄컴 인코포레이티드 변환 의존적 디블록킹 필터링의 수행
KR20140101755A (ko) * 2011-11-04 2014-08-20 엘지전자 주식회사 영상 정보 인코딩/디코딩 방법 및 장치
JP2014535247A (ja) * 2011-11-07 2014-12-25 クゥアルコム・インコーポレイテッドQualcomm Incorporated 変換スキップモードにおける有意係数情報のコーディング

Also Published As

Publication number Publication date
KR102390407B1 (ko) 2022-04-25

Similar Documents

Publication Publication Date Title
US10958910B2 (en) Video decoder with reduced dynamic range transform with inverse transform shifting memory
KR101477435B1 (ko) 비디오 코딩에서 고정 소수점 변환들을 위한 가변 로컬화 비트 깊이 증가
US20150350641A1 (en) Dynamic range adaptive video coding system
CN115134629A (zh) 视频传输方法、***、设备及存储介质
US20170064298A1 (en) Video coding with delayed reconstruction
US8798140B2 (en) Encoding video frames in a video encoder
US20120230395A1 (en) Video decoder with reduced dynamic range transform with quantization matricies
US20120183045A1 (en) Video decoder with reduced dynamic range transform including clipping
US20130044819A1 (en) Decoding a variable length code
KR102390407B1 (ko) 디코더 및 디코더에서의 역변환 방법
US9854242B2 (en) Video decoder with reduced dynamic range transform with inverse transform clipping
KR20130032807A (ko) 동영상 부호화 장치 및 방법
AU2021203402B2 (en) Video decoder with reduced dynamic range transform with inverse transform shifting memory
JP2011193391A (ja) 画像処理装置及び画像処理方法
US8345746B2 (en) Video quantizer unit and method thereof
KR20070056229A (ko) 영상 부호기 및 이의 관심 영역 검출방법
US20120183044A1 (en) Video decoder with reduced dynamic range transform with memory storing
US20160150245A1 (en) System and a method for video encoding
KR20150035318A (ko) 인코딩 장치 및 방법, 그리고 인코딩 장치를 구비한 카메라
CN112119633A (zh) 多种变换的灵活实现

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant