KR20130092513A - 주파수 도메인 샘플 적응적 오프셋(sao) - Google Patents

주파수 도메인 샘플 적응적 오프셋(sao) Download PDF

Info

Publication number
KR20130092513A
KR20130092513A KR1020130015007A KR20130015007A KR20130092513A KR 20130092513 A KR20130092513 A KR 20130092513A KR 1020130015007 A KR1020130015007 A KR 1020130015007A KR 20130015007 A KR20130015007 A KR 20130015007A KR 20130092513 A KR20130092513 A KR 20130092513A
Authority
KR
South Korea
Prior art keywords
video
video information
information
subset
signal
Prior art date
Application number
KR1020130015007A
Other languages
English (en)
Inventor
바-종 쉔
웨이드 완
페이송 첸
Original Assignee
브로드콤 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 브로드콤 코포레이션 filed Critical 브로드콤 코포레이션
Publication of KR20130092513A publication Critical patent/KR20130092513A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

주파수 도메인 샘플 적응적 오프셋(SAO : sample adaptive offset). 제 1 신호의 비디오 처리는 제 2 비디오 신호를 생성하도록 동작하여, 제 1 비디오 신호의 비디오 정보의 제 1 부분의 적어도 하나의 특성은 비디오 정보의 제 2 부분을 생성할 때에 복제되고, 비디오 정보의 제 1 부분 및 비디오 정보의 제 2 부분은 제 2 비디오 신호를 생성하기 위하여 합성을 거친다. 제 1 비디오 신호의 이러한 이용은 비디오 정보의 제 2 부분을 생성하기 위하여 제 1 비디오 정보의 복제 및 스케일링을 포함할 수 있다. 비디오 정보의 제 1 부분의 하나의 가능한 특성은 주파수의 함수인 에너지 프로파일에 대응할 수 있다. 제 1 비디오 신호의 하나 이상의 부분들은 제 2 신호의 상이한 각각의 부분들을 생성하기 위해 사용될 수 있다. 이러한 비디오 처리 동작들은 블록마다에 기초하여 수행될 수 있다.

Description

주파수 도메인 샘플 적응적 오프셋(SAO){FREQUENCY DOMAIN SAMPLE ADAPTIVE OFFSET}
관련된 특허들/특허 출원들에 대한 상호 참조
가출원 우선권 주장들
본 미국 실용 특허 출원은 참조를 위해 그 전체가 본 명세서에서 통합되며 모든 목적들을 위하여 본 미국 실용 특허 출원의 일부가 되는 다음의 미국 특허 가출원들에 대해 35 U.S.C. §119(e)에 따라 우선권을 주장한다:
1. 2012년 2월 10일자로 출원되어 계류중인 "Frequency domain sample adaptive offset"(대리인 관리번호 BP24537)이라는 명칭의 미국 특허 가출원 제61/597,683호.
2. 2012년 2월 24일자로 출원되어 계류중인 "Frequency domain sample adaptive offset(SAO)"(대리인 관리번호 BP24537.1)이라는 명칭의 미국 특허 가출원 제61/603,190호.
참조를 위한 통합
다음의 표준들/초안 표준들은 그 전체가 참조를 위해 본 명세서에 통합되고 모든 목적들을 위해 본 미국 실용 특허 출원의 일부가 된다:
1. "High efficiency video coding(HEVC) text specification draft 6," Joint Collaborative Team on Video Coding(JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 7th Meeting: Geneva, CH, 21-30 November, 2011, Document: JCTVC-H1003, 259 pages.
2. International Telecommunication Union, ITU-T, TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU, H.264(03/2010), SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Infrastructure of audiovisual services - Coding of moving video, Advanced video coding for generic audiovisual services, Recommendation ITU-T H.264, 대안적으로, International Telecomm ISO/IEC 14496-10 - MPEG-4 Part 10, AVC(Advanced Video Coding), H.264/MPEG-4 Part 10 또는 AVC(Advanced Video Coding), ITU H.264/MPEG4-AVC, 또는 동등한 것으로도 지칭됨.
발명의 기술 분야
발명은 일반적으로 디지털 비디오 처리에 관한 것으로, 더욱 구체적으로, 이러한 디지털 비디오 처리에 따른 처리 및 동작들에 관한 것이다.
디지털 매체(예를 들어, 이미지들, 비디오, 데이터, 등)를 통신하도록 동작하는 통신 시스템들은 수년 동안 계속 개발 중에 있었다. 비디오 데이터의 일부 형태를 사용하는 이러한 통신 시스템들에 대하여, 다수의 디지털 이미지들은 출력 및 소비하기에 적당한 비디오 신호를 달성하기 위하여 일부 프레임 레이트(frame rate)(예를 들어, 초당 프레임(frame per second)들)에서 출력되거나 디스플레이된다. 비디오 데이터를 이용하여 동작하는 다수의 이러한 통신 시스템들 내에서는, 궁극적으로 출력되거나 디스플레이되어야 할 신호의 비디오 및/또는 이미지 품질 및 스루풋(throughput)(예를 들어, 제 1 위치로부터 제 2 위치로 송신될 수 있는 이미지 프레임들의 수) 사이에 절충(trade-off)이 있을 수 있다. 본 기술은 적절하거나 수용가능한 비디오 및/또는 이미지 품질을 제공함에 따라 제 1 위치로부터 제 2 위치로 비디오 데이터가 송신될 수 있도록 하는 수단을 적절하게 또는 수용가능하게 제공하지 않고, 통신들과 연관된 상대적으로 낮은 양의 오버헤드(overhead), 통신 링크들의 각각의 단부(end)들에서의 통신 디바이스들의 상대적으로 낮은 복잡성, 등등을 보장한다.
본 발명은 비디오 처리기를 포함하는 장치 및 통신 디바이스를 동작시키기 위한 방법을 제공하는 것을 목적으로 한다.
일 측면에 따르면, 비디오 처리기를 포함하는 장치로서,
상기 비디오 처리기는,
제 1 비디오 신호로부터 비디오 정보의 제 1 적어도 일부분을 선택하고;
비디오 정보의 상기 제 1 적어도 일부분보다 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 제 2 적어도 일부분을 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분을 복제 및 스케일링하고;
제 2 비디오 신호를 생성하기 위하여, 상기 제 1 비디오 신호를 처리함에 따라 비디오 정보의 상기 제 1 적어도 일부분 및 비디오 정보의 상기 제 2 적어도 일부분을 합성한다.
바람직하게는:
상기 비디오 처리기는 비디오 정보의 상기 제 1 적어도 일부분보다 제 1 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 상기 제 2 적어도 일부분의 제 1 서브세트(subset)를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분의 제 1 서브세트를 사용하고;
상기 비디오 처리기는 비디오 정보의 상기 제 1 적어도 일부분보다 제 2 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 상기 제 2 적어도 일부분의 제 2 서브세트를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분의 제 2 서브세트를 사용한다.
바람직하게는:
상기 비디오 처리기는 비디오 정보의 상기 제 1 적어도 일부분보다 제 1 상대적으로 더 높은 주파수 범위 내에서의 비디오 정보의 상기 제 2 적어도 일부분의 제 1 서브세트와, 비디오 정보의 상기 제 1 적어도 일부분보다 제 2 상대적으로 더 높은 주파수 범위 내에서의 비디오 정보의 상기 제 2 적어도 일부분의 제 2 서브세트를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분을 사용한다.
바람직하게는:
상기 장치는 비디오 디코더이다.
바람직하게는:
상기 장치는 위성 통신 시스템, 무선 통신 시스템, 유선 통신 시스템, 광섬유 통신 시스템, 및 이동 통신 시스템 중의 적어도 하나 내에서 동작하는 통신 디바이스이다.
일 측면에 따르면, 비디오 처리기를 포함하는 장치로서,
상기 비디오 처리기는,
제 1 비디오 신호로부터 비디오 정보의 제 1 적어도 일부분을 선택하고;
비디오 정보의 상기 제 1 적어도 일부분보다 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 제 2 적어도 일부분을 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분의 적어도 하나의 특성을 복제하고;
제 2 비디오 신호를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분 및 비디오 정보의 상기 제 2 적어도 일부분을 합성한다.
바람직하게는:
상기 비디오 처리기는 비디오 정보의 상기 제 2 적어도 일부분을 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분을 복제 및 스케일링한다.
바람직하게는:
비디오 정보의 상기 제 1 적어도 일부분의 상기 적어도 하나의 특성은 주파수의 함수인 에너지 프로파일에 대응한다.
바람직하게는:
상기 비디오 처리기는 비디오 정보의 상기 제 1 적어도 일부분보다 제 1 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 상기 제 2 적어도 일부분의 제 1 서브세트(subset)를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분의 제 1 서브세트를 사용하고;
상기 비디오 처리기는 비디오 정보의 상기 제 1 적어도 일부분보다 제 2 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 상기 제 2 적어도 일부분의 제 2 서브세트를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분의 제 2 서브세트를 사용한다.
바람직하게는:
상기 비디오 처리기는 비디오 정보의 상기 제 1 적어도 일부분보다 제 1 상대적으로 더 높은 주파수 범위 내에서의 비디오 정보의 상기 제 2 적어도 일부분의 제 1 서브세트와, 비디오 정보의 상기 제 1 적어도 일부분보다 제 2 상대적으로 더 높은 주파수 범위 내에서의 비디오 정보의 상기 제 2 적어도 일부분의 제 2 서브세트를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분을 사용한다.
바람직하게는:
상기 비디오 처리기는 상기 제 2 비디오 신호를 생성하기 위하여, 상기 제 1 비디오 신호를 처리함에 따라 블록마다에 기초하여 동작한다.
바람직하게는:
상기 장치는 비디오 디코더이다.
바람직하게는:
상기 장치는 위성 통신 시스템, 무선 통신 시스템, 유선 통신 시스템, 광섬유 통신 시스템, 및 이동 통신 시스템 중의 적어도 하나 내에서 동작하는 통신 디바이스이다.
일 측면에 따르면, 통신 디바이스를 동작시키기 위한 방법이 제공되고,
상기 방법은:
제 1 비디오 신호로부터 비디오 정보의 제 1 적어도 일부분을 선택하는 단계;
비디오 정보의 상기 제 1 적어도 일부분보다 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 제 2 적어도 일부분을 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분의 적어도 하나의 특성을 복제하는 단계;
제 2 비디오 신호를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분 및 비디오 정보의 상기 제 2 적어도 일부분을 합성하는 단계; 및
상기 통신 디바이스의 출력을 거쳐, 상기 제 2 비디오 신호 또는 상기 제 2 비디오 신호에 대응하는 신호를 출력하는 단계를 포함한다.
바람직하게는, 상기 방법은:
비디오 정보의 상기 제 2 적어도 일부분을 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분을 복제 및 스케일링하는 단계를 더 포함한다.
바람직하게는:
비디오 정보의 상기 제 1 적어도 일부분의 상기 적어도 하나의 특성은 주파수의 함수인 에너지 프로파일에 대응한다.
바람직하게는, 상기 방법은:
비디오 정보의 상기 제 1 적어도 일부분보다 제 1 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 상기 제 2 적어도 일부분의 제 1 서브세트(subset)를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분의 제 1 서브세트를 사용하는 단계; 및
비디오 정보의 상기 제 1 적어도 일부분보다 제 2 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 상기 제 2 적어도 일부분의 제 2 서브세트를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분의 제 2 서브세트를 사용하는 단계를 더 포함한다.
바람직하게는, 상기 방법은:
비디오 정보의 상기 제 1 적어도 일부분보다 제 1 상대적으로 더 높은 주파수 범위 내에서의 비디오 정보의 상기 제 2 적어도 일부분의 제 1 서브세트와, 비디오 정보의 상기 제 1 적어도 일부분보다 제 2 상대적으로 더 높은 주파수 범위 내에서의 비디오 정보의 상기 제 2 적어도 일부분의 제 2 서브세트를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분을 사용하는 단계를 더 포함한다.
바람직하게는:
상기 제 2 비디오 신호를 생성함에 따라 블록마다에 기초하여 상기 제 1 비디오 신호를 처리한다.
바람직하게는:
상기 통신 디바이스는 위성 통신 시스템, 무선 통신 시스템, 유선 통신 시스템, 광섬유 통신 시스템, 및 이동 통신 시스템 중의 적어도 하나 내에서 동작한다.
본 발명에 따르면, 비디오 처리기를 포함하는 장치 및 통신 디바이스를 동작시키기 위한 방법을 구현할 수 있다.
도 1 및 도 2는 통신 시스템들의 다양한 실시예들을 예시한다.
도 3의 (a)는 컴퓨터의 실시예를 예시한다.
도 3의 (b)는 랩톱 컴퓨터의 실시예를 예시한다.
도 3의 (c)는 고해상도(HD : high definition) 텔레비전의 실시예를 예시한다.
도 3의 (d)는 표준 해상도(SD : standard definition) 텔레비전의 실시예를 예시한다.
도 3의 (e)는 핸드헬드 매체 유닛(handheld media unit)의 실시예를 예시한다.
도 3의 (f)는 셋톱 박스(STB : set top box)의 실시예를 예시한다.
도 3의 (g)는 디지털 비이도 디스크(DVD : digital video disc) 플레이어의 실시예를 예시한다.
도 3의 (h)는 일반적인 디지털 이미지 및/또는 비디오 처리 디바이스의 실시예를 예시한다.
도 4, 도 5, 및 도 6은 비디오 인코딩 아키텍처들의 다양한 실시예들을 예시하는 도면들이다.
도 7은 인트라-예측(intra-prediction) 처리의 실시예를 예시하는 도면이다.
도 8은 인터-예측(inter-prediction) 처리의 실시예를 예시하는 도면이다.
도 9 및 도 10은 비디오 디코딩 아키텍처들의 다양한 실시예들을 예시하는 도면들이다.
도 11은 비디오 인코딩 아키텍처(디-블록킹(de-blocking) 후에 구현되는 샘플 적응적 오프셋(SAO : sample adaptive offset)을 가짐)의 실시예를 예시한다.
도 12는 비디오 인코딩 아키텍처(역양자화 후에 구현되는 주파수-도메인 샘플 적응적 오프셋(FSAO : frequency-domain sample adaptive offset)을 가짐)의 실시예를 예시한다.
도 13은 스펙트럼 대역 복제(SBR : spectral band replication)의 원리들 - 전위(transposition)(a) 및 재구성(reconstruction)(b)의 실시예를 예시한다.
도 14, 도 15, 도 16, 및 도 17은 스펙트럼 대역 복제(SBR)의 다양한 실시예들을 예시한다.
도 18, 도 19, 도 20a, 및 도 20b는 (예를 들어, 하나 이상의 디바이스들 내에서) 비디오 처리를 수행하기 위한 방법들의 다양한 실시예들을 예시한다.
디지털 비디오와 같은 디지털 매체를 이용하는 다수의 디바이스들 내에서, 본질적으로 디지털인 그 각각의 이미지들은 픽셀(pixel)들을 이용하여 표현된다. 어떤 통신 시스템들 내에서, 디지털 매체는 제 1 위치로부터, 이러한 매체가 출력되거나 디스플레이될 수 있는 제 2 위치로 송신될 수 있다. 디지털 비디오를 통신하도록 동작하는 것들을 포함하는 디지털 통신 시스템들의 목표는 디지털 데이터를 하나의 위치 또는 서브시스템(subsystem)으로부터, 에러 없이 또는 수용가능하게 낮은 에러 레이트(error rate)로 또 다른 위치로 송신하는 것이다. 도 1에 도시된 바와 같이, 데이터는 널리 다양한 통신 시스템들 내의 다양한 통신 채널들 상에서 송신될 수 있다: 자기 매체, 유선, 무선, 섬유, 구리, 및/또는 다른 유형들의 매체도 마찬가지임.
도 1 및 도 2는 통신 시스템들(100 및 200)의 다양한 실시예들을 각각 예시하는 도면들이다.
도 1을 참조하면, 통신 시스템(100)의 이 실시예는 통신 채널(199)의 일 단부에 위치된 통신 디바이스(110)(인코더(114)를 갖는 송신기(112)를 포함하고, 디코더(118)를 갖는 수신기(116)를 포함함)를 통신 채널(199)의 다른 단부의 또 다른 통신 디바이스(120)(인코더(128)를 갖는 송신기(126)를 포함하고, 디코더(124)를 갖는 수신기(122)를 포함함)에 통신가능하게 결합하는 통신 채널(199)이다. 일부 실시예들에서, 통신 디바이스들(110 및 120) 중의 어느 하나는 송신기 또는 수신기만을 포함할 수 있다. 통신 채널(199)이 구현될 수 있도록 하는 몇몇 상이한 유형들의 매체(예를 들어, 위성 접시(satellite dish)들(132 및 134)을 이용하는 위성 통신 채널(130), 타워(tower)들(142 및 144) 및/또는 로컬 안테나들(152 및 154)을 이용하는 무선 통신 채널(140), 유선 통신 채널(150), 전기-광(E/O : electrical to optical) 인터페이스(162) 및 광-전기(O/E : optical to electrical) 인터페이스(164)를 이용한 광섬유(fiber-optic) 통신 채널(160))가 있다. 부가적으로, 하나를 초과하는 유형의 매체가 구현될 수 있고 함께 인터페이스될 수 있고, 이에 따라, 통신 채널(199)을 형성한다.
이러한 통신 디바이스들(110 및/또는 120)은 발명의 범위 및 사상으로부터 이탈하지 않으면서 정지식(stationary) 또는 고정식(mobile)일 수 있음에 주목해야 한다. 예를 들어, 통신 디바이스들(110 및 120) 중의 어느 하나 또는 둘 모두는 고정된 위치에서 구현될 수 있거나, 하나를 초과하는 네트워크 액세스 포인트(예를 들어, 하나 이상의 무선 로컬 영역 네트워크(WLAN : wireless local area network)들을 포함하는 이동 통신 시스템의 상황에서의 상이한 각각의 액세스 포인트(AP : access point)들, 하나 이상의 위성을 포함하는 이동 통신 시스템의 상황에서의 상이한 각각의 위성들, 또는 일반적으로, 통신 디바이스들(110 및/또는 120)과의 통신들이 달성될 수 있도록 하는 하나 이상의 네트워크 액세스 포인트들을 포함하는 이동 통신 시스템의 상황에서의 상이한 각각의 네트워크 액세스 포인트들)와 연관시키고 및/또는 통신하기 위한 능력을 갖는 이동 통신 디바이스일 수 있다.
통신 시스템 내에서 바람직하지 않게 초래될 수 있는 송신 에러들을 감소시키기 위하여, 에러 정정 및 채널 코딩 방식들이 종종 사용된다. 일반적으로, 이 에러 정정 및 채널 코딩 방식들은 통신 채널(199)의 송신기 단부에서의 인코더 및 통신 채널(199)의 수신기 단부에서의 디코더의 이용을 수반한다.
설명된 다양한 유형들의 ECC 코드들 중의 임의의 것은 임의의 이러한 희망하는 통신 시스템(예를 들어, 도 1에 대하여 설명된 그 변형들을 포함함), 임의의 정보 저장 디바이스(예를 들어, 하드 디스크 드라이브(HDD : hard disk drive)들), 네트워크 정보 저장 디바이스들 및/또는 서버들, 등), 또는 정보 인코딩 및/또는 디코딩이 희망되는 임의의 응용 내에서 사용될 수 있다.
일반적으로 말하면, 비디오 데이터가 하나의 위치 또는 서브시스템으로부터 또 다른 위치로 통신되는 통신 시스템을 고려할 때, 비디오 데이터 인코딩은 통신 채널(199)의 송신 단부(transmitting end)에서 수행되는 것으로 일반적으로 간주될 수 있고, 비디오 데이터 디코딩은 통신 채널(199)의 수신 단부에서 수행되는 것으로 일반적으로 간주될 수 있다.
또한, 이 도면의 실시예는 통신 디바이스들(110 및 120) 사이에서 가능한 양방향 통신(bi-directional communication)을 도시하지만, 물론, 일부 실시예들에서는, 통신 디바이스(110)가 비디오 데이터 인코딩 능력만을 포함할 수 있고, 통신 디바이스(120)는 비디오 데이터 디코딩 능력만을 포함할 수 있거나, (예를 들어, 비디오 방송 실시예에 따른 것과 같은 단방향 통신(uni-directional communication) 실시예에서는) 그 반대도 성립한다는 것에 주목해야 한다.
도 2의 통신 시스템(200)을 참조하면, 통신 채널(299)의 송신 단부에서는, (예를 들어, 하나의 실시예에서는 비디오 데이터에 특히 대응하는) 정보 비트들(201)이 (각각 별개의 기능적인 블록들(222 및 224)인 것으로 간주될 수 있는) 인코더(encoder) 및 심볼 맵퍼(symbol mapper)를 이용하여 이 정보 비트들(201)의 인코딩을 수행하도록 동작가능한 송신기(297)에 제공되고, 이에 따라, 연속-시간(continuous-time) 송신 신호(204)를 생성하기 위한 DAC(Digital to Analog Converter : 디지털-아날로그 변환기)(232)와, 통신 채널(299)과 대체로 적합한 필터링된, 연속-시간 송신 신호(204)를 생성하기 위한 송신 필터(234)를 이용하는 송신 구동기(230)에 제공되는 이산값(discrete-valued)의 변조 심볼들의 시퀀스(sequence)를 생성한다. 통신 채널(299)의 수신 단부(receiving end)에서는, 연속-시간 수신 신호(206)가 수신 필터(262)(필터링된 연속-시간 수신 신호(207)를 생성함) 및 ADC(Analog to Digital Converter : 아날로그-디지털 변환기)(264)(이산-시간(discrete-time) 수신 신호들(208)을 생성함)를 포함하는 AFE(Analog Front End : 아날로그 프론트 엔드)(260)에 제공된다. 메트릭 생성기(metric generator)(270)는 그 내부에서 인코딩되는 정보 비트들 및 이산값의 변조 심볼들의 최고의 추정들(210)을 행하기 위하여 디코더(280)에 의해 사용되는 메트릭(metric)들(209)을 (예를 들어, 심볼 및/또는 비트의 어느 하나를 기초로) 계산한다.
송신기(297) 및 수신기(298) 각각의 내부에서는, 다양한 구성요소들, 블록들, 기능적 블록들, 회로들, 등의 임의의 희망하는 통합이 그 내부에서 구현될 수 있다. 예를 들어, 이 도면은 처리 모듈(280a)이 인코더 및 심볼 맵퍼(220)와, 그 내부의 모든 연관된 대응하는 구성요소들을 포함하는 것으로 도시하고 있고, 처리 모듈(280)은 메트릭 생성기(270) 및 디코더(280)와, 그 내부의 모든 연관된 대응하는 구성요소들을 포함하는 것으로 도시되어 있다. 이러한 처리 모듈들(280a 및 280b)은 각각 집적 회로들일 수 있다. 물론, 발명의 범위 및 사상으로부터 이탈하지 않으면서 다른 경계들 및 그룹화들이 대안적으로 수행될 수 있다. 예를 들어, 송신기(297) 내의 모든 구성요소들은 제 1 처리 모듈 또는 집적 회로 내에 포함될 수 있고, 수신기(298) 내의 모든 구성요소들은 제 2 처리 모듈 또는 집적 회로 내에 포함될 수 있다. 대안적으로, 송신기(297) 및 수신기(298) 각각의 내부의 구성요소들의 임의의 다른 조합들은 다른 실시예들에서 행해질 수 있다.
이전의 실시예와 같이, 이러한 통신 시스템(200)은 하나의 위치 또는 서브시스템으로부터 또 다른 위치로 (예를 들어, 송신기(297)로부터 통신 채널(299)을 거쳐 수신기(298)로) 통신되는 비디오 데이터의 통신을 위해 사용될 수 있다.
디지털 이미지 및/또는 디지털 이미지들 및/또는 매체(디지털 비디오 신호 내의 각각의 이미지들을 포함함)의 비디오 처리는 사용자가 이러한 디지털 이미지들 및/또는 비디오를 시청하도록 하기 위하여, 도 3의 (a) 내지 (h)에서 이하에 도시되는 다양한 디바이스들 중의 임의의 것에 의해 수행될 수 있다. 이 다양한 디바이스들은 본 명세서에서 설명된 이미지 및/또는 비디오 처리가 달성될 수 있는 디바이스들의 완전한 리스트들을 포함하지 않고, 발명의 범위 및 사상으로부터 이탈하지 않으면서, 임의의 일반적인 디지털 이미지 및/또는 비디오 처리 디바이스가 본 명세서에서 설명된 처리를 수행하도록 구현될 수 있다는 것에 주목해야 한다.
도 3의 (a)는 컴퓨터(301)의 실시예를 예시한다. 컴퓨터(301)는 RAID(redundant array of independent disks : 독립 디스크들의 중복 어레이) 어레이, 저장 라우터(storage router), 에지 라우터(edge router), 저장 스위치(storage switch) 및/또는 저장 디렉터(storage director)와 같은 저장 어레이(storage array)에 부착되는 호스트 컴퓨터의 데스크톱 컴퓨터, 또는 서버와 같은 기업 저장 디바이스(enterprise storgae device)들일 수 있다. 사용자는 컴퓨터(301)를 이용하여 디지털 이미지들 및/또는 비디오(예를 들어, 디지털 이미지들의 시퀀스)를 여전히 시청할 수 있다. 종종, 사용자가 (비디오를 포함하는) 이러한 이미지들을 시청하게 하기 위하여, 다양한 이미지 및/또는 비디오 시청 프로그램들 및/또는 매체 플레이어 프로그램들이 컴퓨터(301) 상에 포함된다.
도 3의 (b)는 랩톱 컴퓨터(302)의 실시예를 예시한다. 이러한 랩톱 컴퓨터(302)는 널리 다양한 상황들 중의 임의의 것에서 발견되고 이용될 수 있다. 최근에는, 랩톱 컴퓨터들 내에서 발견되는 항상 증가하는 처리 능력 및 기능성으로, 이들은 이전의 더욱 고급(higher-end)이고 더욱 유능한 데스크톱 컴퓨터들이 이용될 여러 사례들에서 사용되고 있다. 컴퓨터(301)와 같이, 사용자가 (비디오를 포함하는) 이러한 이미지들을 시청하게 하기 위하여, 랩톱 컴퓨터(302)는 다양한 이미지 시청 프로그램들 및/또는 매체 플레이어 프로그램들을 포함할 수 있다.
도 3의 (c)는 고해상도(HD : high definition) 텔레비전(303)의 실시예를 예시한다. 다수의 HD 텔레비전들(303)은 그 상에서 매체 콘텐츠(예를 들어, 텔레비전 방송 신호들)의 수신, 처리, 및 디코딩을 가능하게 하기 위하여 통합된 튜너(integrated tuner)를 포함한다. 대안적으로, 때때로 HD 텔레비전(303)은 디지털 비디오 디스크(DVD : digital video disc) 플레이어, 케이블 및/또는 위성 텔레비전 방송 신호를 수신, 처리, 및 디코딩하는 셋톱 박스(STB : set top box)와 같은 또 다른 소스(source)로부터 매체 콘텐츠를 수신한다. 특정한 구현예에 관계없이, HD 텔레비전(303)은 본 명세서에서 설명된 바와 같이 이미지 및/또는 비디오 처리를 수행하기 위해 구현될 수 있다. 일반적으로 말하면, HD 텔레비전(303)은 HD 매체 콘텐츠를 디스플레이하기 위한 능력을 가지며, 때때로 16:9 와이드스크린 종횡비(widescreen aspect ratio)를 갖는 것으로 구현된다.
도 3의 (d)는 표준 해상도(SD : standard definition) 텔레비전(304)의 실시예를 예시한다. 물론, SD 텔레비전(304)은 HD 텔레비전과 다소 유사하고, 적어도 하나의 차이는 SD 텔레비전(304)이 HD 매체 콘텐츠를 디스플레이하기 위한 능력을 포함하지 않는다는 점이고, SD 텔레비전(304)은 때때로 4:3 풀스크린 종횡비(full screen aspect ratio)를 갖는 것으로 구현된다. 그럼에도 불구하고, SD 텔레비전(304)조차도 본 명세서에서 설명된 바와 같이 이미지 및/또는 비디오 처리를 수행하도록 구현될 수 있다.
도 3의 (e)는 핸드헬드 매체 유닛(305)의 실시예를 예시한다. 핸드헬드 매체 유닛(305)은 일반적인 저장, 또는 JPEG(joint photographic experts group : 공동 사진 전문가 그룹) 파일들, 태그된 이미지 파일 포맷(TIFF : tagged image file format), 비트맵(bitmap), MPEG(motion picture experts group : 동영상 전문가 그룹) 파일들, 윈도우즈 매체(WMA/WMV) 파일들과 같은 이미지/비디오 콘텐츠 정보, 사용자에게 재생하기 위한 MPEG4 파일들 등과 같은 다른 유형들의 비디오 콘텐츠, 및/또는 디지털 포맷(format)으로 저장될 수 있는 임의의 다른 유형의 정보의 저장을 제공하도록 동작할 수 있다. 역사적으로, 이러한 핸드헬드 매체 유닛들은 오디오 매체의 저장 및 재생을 위해 주로 사용되었지만, 이러한 핸드헬드 매체 유닛(305)은 가상적인 임의의 매체(예를 들어, 오디오 매체, 비디오 매체, 사진 매체, 등)의 저장 및 재생을 위해 사용될 수 있다. 또한, 이러한 핸드헬드 매체 유닛(305)은 유선 및 무선 통신들을 위한 통합된 통신 회로와 같은 다른 기능성을 또한 포함할 수 있다. 이러한 핸드헬드 매체 유닛(305)은 본 명세서에서 설명된 바와 같이 이미지 및/또는 비디오 처리를 수행하도록 구현될 수 있다.
도 3의 (f)는 셋톱 박스(STB)(306)의 실시예를 예시한다. 위에서 언급된 바와 같이, 때때로 STB(306)는 SD 텔레비전(304) 및/또는 HD 텔레비전(303)과 같은 임의의 적절한 디스플레이 가능한 디바이스에 제공될 케이블 및/또는 위성 텔레비전 방송 신호를 수신, 처리, 및 디코딩하도록 구현될 수 있다. 이러한 STB(306)는 본 명세서에서 설명된 바와 같이 이미지 및/또는 비디오 처리를 수행하기 위하여 이러한 디스플레이 가능한 디바이스와 협력적으로 또는 독립적으로 동작할 수 있다.
도 3의 (g)는 디지털 비디오 디스크(DVD) 플레이어(307)의 실시예를 예시한다. 이러한 DVD 플레이어는 발명의 범위 및 사상으로부터 이탈하지 않으면서, 블루레이(Blu-Ray) DVD 플레이어, HD 가능 DVD 플레이어, SD 가능 DVD 플레이어, 업-샘플링(up-sampling) 가능 DVD 플레이어(예를 들어, SD로부터 HD로, 등등)일 수 있다. DVD 플레이어는 SD 텔레비전(304) 및/또는 HD 텔레비전(303)과 같은 임의의 적절한 디스플레이 가능 디바이스에 신호를 제공할 수 있다. DVD 플레이어(305)는 본 명세서에서 설명된 바와 같이 이미지 및/또는 비디오 처리를 수행하도록 구현될 수 있다.
도 3의 (h)는 일반적인 디지털 이미지 및/또는 비디오 처리 디바이스(308)의 실시예를 예시한다. 또한, 위에서 언급된 바와 같이, 위에서 설명된 이 다양한 디바이스들은 본 명세서에서 설명된 이미지 및/또는 비디오 처리가 달성될 수 있는 디바이스들의 완전한 리스트를 포함하지 않으며, 임의의 일반적인 디지털 이미지 및/또는 비디오 처리 디바이스(308)는 발명의 범위 및 사상으로부터 이탈하지 않으면서, 본 명세서에서 설명된 이미지 및/또는 비디오 처리를 수행하도록 구현될 수 있다는 것에 주목해야 한다.
도 4, 도 5, 및 도 6은 비디오 인코딩 아키텍처들의 다양한 실시예들(400, 500, 및 600)을 각각 예시하는 도면들이다.
도 4의 실시예(400)를 참조하면, 이 도면에 대해 알 수 있는 바와 같이, 입력 비디오 신호는 비디오 인코더에 의해 수신된다. 어떤 실시예들에서는, 입력 비디오 신호가 코딩 단위(CU : coding unit)들 또는 매크로-블록(MB : macro-block)들로 구성된다. 이러한 코딩 단위들 또는 매크로-블록들의 크기는 변동될 수 있고, 정사각형 형상으로 전형적으로 배열된 다수의 픽셀들을 포함할 수 있다. 하나의 실시예에서, 이러한 코딩 단위들 또는 매크로-블록들은 16 x 16 픽셀들의 크기를 가진다. 그러나, 매크로-블록은 N x N 픽셀들과 같은 임의의 희망하는 크기를 가질 수 있고, N은 정수라는 것에 일반적으로 주목해야 한다. 물론, 바람직한 실시예에서는 정사각형 형상의 코딩 단위들 또는 매크로-블록들이 사용되지만, 일부 구현예들은 비-정사각형(non-square) 형상의 코딩 단위들 또는 매크로-블록들을 포함할 수 있다.
입력 비디오 신호는 미처리(raw) 프레임(또는 픽처(picture)) 이미지 데이터에 대응하는 것으로 일반적으로 언급될 수 있다. 예를 들어, 미처리 프레임(또는 픽처) 이미지 데이터는 루마(luma) 및 크로마(chroma) 샘플들을 생성하기 위한 처리를 거칠 수 있다. 일부 실시예들에서, 매크로-블록 내의 루프 샘플들의 세트(set)는 하나의 특정 배열(예를 들어, 16 x 16)이고, 크로마 샘플들의 세트는 상이한 특정 배열(예를 들어, 8 x 8)이다. 본 명세서에서 도시된 실시예에 따르면, 비디오 인코더는 이러한 샘플들을 블록마다에 기초하여 처리한다.
다음으로, 입력 비디오 신호는 입력 비디오 신호가 인트라(intra) 및/또는 인터-예측(inter-prediction) 처리를 선택적으로 거치게 하는 모드 선택을 거친다. 일반적으로 말하면, 입력 비디오 신호는 압축 경로를 따라 압축을 거친다. (예를 들어, 인터-예측도 아니고 인트라-예측도 아닌 것을 따라) 피드백 없이 동작할 때, 입력 비디오 신호는 (예를 들어, 이산 코사인 변환(DCT : discrete cosine transform)에 따라) 변환 동작들을 거치기 위하여 압축 경로를 거쳐 제공된다. 물론, 대안적인 실시예들에서는 다른 변환들이 사용될 수 있다. 이 동작 모드에서는, 입력 비디오 신호 자체가 압축되는 것이다. 압축 경로는 압축을 수행함에 있어서 인간의 눈(eye)들의 고주파수 감도(high frequency sensitivity)의 결핍을 이용할 수 있다.
그러나, 피드백은 인터-예측 또는 인트라-예측 비디오 코딩을 선택적으로 이용함으로써 압축 경로를 따라 사용될 수 있다. 피드백 또는 예측 동작 모드에 따르면, 압축 경로는 현재의 매크로-블록으로부터 현재의 매크로-블록의 예측된 값의 감산으로부터 발생하는 (상대적으로 낮은 에너지의) 잔차(residual)(예를 들어, 차이)에 대해 동작한다. 주어진 사례에서 어떤 형태의 예측이 사용되는지에 따라, 그 동일한 프레임(또는 픽처)의 적어도 일부 또는 적어도 하나의 다른 프레임(또는 픽처)의 적어도 일부에 기초한 그 매크로-블록의 예측된 값과 현재의 매크로-블록 사이의 잔차 또는 차이가 생성된다.
다음으로, 결과적인 수정된 비디오 신호는 압축 경로를 따라 변환 동작들을 거친다. 하나의 실시예에서, 이산 코사인 변환(DCT)은 미리 결정된 수의 기초 패턴(basis pattern)들의 각각에 대해 각각의 계수 값들을 연산하기 위하여 비디오 샘플들(예를 들어, 루마, 크로마, 잔차, 등)의 세트에 대해 동작한다. 예를 들어, 하나의 실시예는 (예를 들어, 8 x 8 샘플에 대한 것과 같은) 64개의 기초 함수들을 포함한다. 일반적으로 말하면, 상이한 실시예들은 상이한 수들의 기초 함수들(예를 들어, 상이한 변환들)을 사용할 수 있다. 그 적절하고 선택적인 가중(weighting)을 포함하는 그 각각의 기초 함수들의 임의의 조합은 비디오 샘플들의 주어진 세트를 나타내기 위하여 이용될 수 있다. 변환 동작들을 수행하는 다양한 방법들에 관련된 추가적인 상세한 사항은 위에서 표시된 바와 같이 참조를 위해 통합된 그 표준들/초안 표준들을 포함하는 비디오 인코딩과 연관된 기술 문헌에서 설명된다. 변환 처리로부터의 출력은 이러한 각각의 계수 값들을 포함한다. 이 출력은 양자화기(quantizer)에 제공된다.
일반적으로, 대부분의 이미지 블록들은 계수들(예를 들어, 이산 코사인 변환(DCT)에 따라 동작하는 실시예에서의 DCT 계수들)을 전형적으로 산출할 것이고, 대부분의 관련된 DCT 계수들은 더 저주파수들이다. 이것 때문에, 그리고 고주파수의 시각적 효과들에 대한 인간의 눈의 상대적으로 열악한 감도 때문에, 양자화기는 덜 관련된 계수들의 대부분을 제로(zero)의 값으로 변환하도록 동작가능할 수 있다. 즉, 상대적인 기여가 일부 미리 결정된 값(예를 들어, 일부 임계값) 미만인 그 계수들은 양자화 처리에 따라 제거될 수 있다. 또한, 양자화기는 상당한 계수들을, 변환 처리로부터 발생하는 것들보다 더욱 효율적으로 코딩될 수 있는 값들로 변환하도록 동작가능할 수 있다. 예를 들어, 양자화 처리는 각각의 계수를 정수 값(integer value)으로 나누고 임의의 나머지(remainder)를 폐기함으로써 동작할 수 있다. 전형적인 코딩 단위들 또는 매크로-블록들에 대해 동작할 때, 이러한 처리는 전형적으로 상대적으로 낮은 수의 비-제로 계수들을 산출하고, 그 다음으로, 이 비-제로 계수들은 손실없는 인코딩을 위하여 그리고 피드백 경로에 따른 이용을 위하여 엔트로피 인코더(entropy encoder)에 전달되고, 이 피드백 경로는 비디오 인코딩에 따라 인트라-예측 및/또는 인터-예측 처리를 선택할 수 있다.
엔트로피 인코더는 손실없는 압축 인코딩 처리에 따라 동작한다. 압축 시에, 양자화 동작들은 일반적으로 손실이 있다. 엔트로피 인코딩 처리는 양자화 처리로부터 제공되는 계수들에 대해 동작한다. 그 계수들은 다양한 특성들(예를 들어, 루마, 크로마, 잔차, 등)을 나타낼 수 있다. 다양한 유형들의 인코딩이 엔트로피 인코더에 의해 사용될 수 있다. 예를 들어, 콘텍스트-적응적 이진 산술 코딩(CABAC : context-adaptive binary arithmetic coding) 및/또는 콘텍스트-적응적 가변-길이 코딩(CAVLC : context-adaptive variable-length coding)은 엔트로피 인코더에 의해 수행될 수 있다. 예를 들어, 엔트로피 코딩 방식의 적어도 하나의 부분에 따르면, 데이터는 (실행(run), 레벨(level)) 페어링(pairing)으로 변환된다(예를 들어, 데이터 14, 3, 0, 4, 0, 0, -3은 (0, 14), (0, 3), (1, 4), (2, -3)의 각각의 (실행, 레벨) 쌍(pair)들로 변환될 것이다). 사전에, 값의 쌍들에 대해 가변 길이 코드들을 배정하는 테이블이 준비될 수 있어서, 상대적으로 더 짧은 길이의 코드들이 상대적으로 공통적인 값의 쌍들에 배정되고, 상대적으로 더 긴 길이의 코드들이 상대적으로 덜 공통적인 값의 쌍들에 배정된다.
독자들이 이해할 수 있는 바와 같이, 역양자화 및 역변환의 동작들은 각각 양자화 및 변환의 동작들에 대응한다. 예를 들어, 변환 동작들 내에서 DCT가 사용되는 실시예에서, 역 DCT(IDCT)는 역변환 동작들 내에서 사용되는 것이다.
대안적으로 디지털 픽처 버퍼(digital picture buffer) 또는 DPB라고 지칭되는 픽처 버퍼는 IDCT 모듈로부터 신호를 수신하고; 픽처 버퍼는 비디오 인코딩에 따라 수행될 수 있는 바와 같이, 인트라-예측 및/또는 인터-예측 동작들에 따라 이용될 수 있는 바와 같은 현재의 프레임(또는 픽처) 및/또는 하나 이상의 다른 프레임들(또는 픽처들)을 저장하도록 동작한다. 인트라-예측에 따르면, 프레임(또는 픽처) 시퀀스 내의 현재의 프레임(또는 픽처) 또는 임의의 다른 프레임(또는 픽처)를 저장하는 것이 필요하지 않을 수도 있다는 점에서, 상대적으로 작은 양의 저장이 충분할 수 있다는 것에 주목해야 한다. 이러한 저장된 정보는 비디오 인코딩에 따라 인터-예측을 수행할 경우에 움직임 보상(motion compensation) 및/또는 움직임 추정(motion estimation)을 수행하기 위해 사용될 수 있다.
하나의 가능한 실시예에서, 움직임 추정을 위하여, 현재의 프레임(또는 픽처)으로부터의 루마 샘플들(예를 들어, 16 x 16)의 각각의 세트는 (예를 들어, 인터-예측에 따라) 프레임(또는 픽처) 시퀀스 내의 다른 프레임들(또는 픽처들)에서의 각각의 버퍼링된 대응부분들과 비교된다. 하나의 가능한 구현예에서는, 최근접 일치 영역(matching area)이 위치되고(예를 들어, 예측 기준), 벡터 오프셋(예를 들어, 움직임 벡터)이 생성된다. 단일 프레임(또는 픽처)에서는, 다수의 움직임 벡터들이 발견될 수 있고, 전부가 반드시 동일한 방향으로 지시하지 않을 것이다. 움직임 추정에 따라 수행되는 바와 같은 하나 이상의 동작들은 하나 이상의 움직임 벡터들을 생성하도록 동작한다.
움직임 보상은 움지임 추정에 따라 생성될 수 있는 바와 같이 하나 이상의 움직임 벡터들을 사용하도록 동작한다. 샘플들의 예측 기준 세트가 식별되고, 상대적으로(예를 들어, 이상적으로, 훨씬) 더 낮은 에너지 잔차를 산출하는 것을 희망적으로 노력하기 위하여, 원래의 입력 비디오 신호로부터의 감산을 위해 전달된다. 이러한 동작들이 산출되는 더 낮은 에너지 잔차로 귀착되지 않을 경우, 움직임 보상은 반드시 수행될 필요가 있는 것은 아니고, 변환 동작들은 (예를 들어, 입력 비디오 신호가 바로 변환 동작에 제공되어, 인트라-예측도 인터-예측도 수행되지 않는 동작 모드에 따라) 잔차 대신에 원래의 입력 비디오 신호에 대해서만 동작할 수 있거나, 인트라-예측이 사용될 수 있고 변환 동작들이 인트라-예측으로부터 발생하는 잔차에 대해 수행될 수 있다. 또한, 움직임 추정 및/또는 움직임 보상 동작들이 성공적일 경우, 움직임 벡터는 손실없는 엔트로피 인코딩을 거치는데 있어서 이용하기 위한 대응하는 잔차들의 계수들과 함께 엔트로피 인코더에 송신될 수도 있다.
전체 비디오 인코딩 동작으로부터의 출력은 출력 비트 스트림이다. 이러한 출력 비트 스트림은 통신 채널을 거쳐 송신될 수 있는 연속 시간 신호를 생성하는 것에 따라 어떤 처리를 물론 거칠 수 있다는 것에 주목해야 한다. 예를 들어, 어떤 실시예들은 무선 통신 시스템들 내에서 동작한다. 이러한 사례에서는, 출력 비트스트림이 적절한 디지털-아날로그 변환, 주파수 변환, 스케일링(scaling), 필터링, 변조, 심볼 맵핑(symbol mapping), 및/또는 통신 채널 등을 거쳐 송신될 수 있는 연속 시간 신호를 생성하도록 동작하는 무선 통신 디바이스 내에서의 임의의 다른 동작들을 거칠 수 있다.
도 5의 실시예(500)를 참조하면, 이 도면에 대해 알 수 있는 바와 같이, 입력 비디오 신호는 비디오 인코더에 의해 수신된다. 어떤 실시예들에서는, 입력 비디오 신호가 코딩 단위들 또는 매크로 블록들로 구성된다(및/또는 코딩 단위(CU : coding unit)들로 분할될 수 있음). 이러한 코딩 단위들 또는 매크로-블록들의 크기는 변동될 수 있고, 정사각형 형상으로 전형적으로 배열된 다수의 픽셀들을 포함할 수 있다. 하나의 실시예에서, 이러한 코딩 단위들 또는 매크로-블록들은 16 x 16 픽셀들의 크기를 가진다. 그러나, 매크로-블록은 N x N 픽셀들과 같은 임의의 희망하는 크기를 가질 수 있고, N은 정수인 것에 일반적으로 주목해야 한다. 물론, 바람직한 실시예에서는 정사각형 형상의 코딩 단위들 또는 매크로-블록들이 사용되지만, 일부 구현예들은 비-정사각형 형상의 코딩 단위들 또는 매크로-블록들을 포함할 수 있다.
입력 비디오 신호는 미처리 프레임(또는 픽처)이미지 데이터에 대응하는 것으로 일반적으로 언급될 수 있다. 예를 들어, 미처리 프레임(또는 픽처) 이미지 데이터는 루마 및 크로마 샘플들을 생성하기 위한 처리를 거칠 수 있다. 일부 실시예들에서, 매크로-블록의 루마 샘플들의 세트는 하나의 특정 배열(예를 들어, 16 x 16)이고, 크로마 샘플들의 세트는 상이한 특정 배열(예를 들어, 8 x 8)이다. 본 명세서에서 도시된 실시예에 따르면, 비디오 인코더는 이러한 샘플들을 블록마다에 기초하여 처리한다.
다음으로, 입력 비디오 신호는 입력 비디오 신호가 인트라(intra) 및/또는 인터-예측(inter-prediction) 처리를 선택적으로 거치게 하는 모드 선택을 거친다. 일반적으로 말하면, 입력 비디오 신호는 압축 경로를 따라 압축을 거친다. (예를 들어, 인터-예측도 아니고 인트라-예측도 아닌 것을 따라) 피드백 없이 동작할 때, 입력 비디오 신호는 (예를 들어, 이산 코사인 변환(DCT : discrete cosine transform)에 따라) 변환 동작들을 거치기 위하여 압축 경로를 거쳐 제공된다. 물론, 대안적인 실시예들에서는 다른 변환들이 사용될 수 있다. 이 동작 모드에서는, 입력 비디오 신호 자체가 압축되는 것이다. 압축 경로는 압축을 수행함에 있어서 인간의 눈(eye)들의 고주파수 감도(high frequency sensitivity)의 결핍을 이용할 수 있다.
그러나, 피드백은 인터-예측 또는 인트라-예측 비디오 코딩을 선택적으로 이용함으로써 압축 경로를 따라 사용될 수 있다. 피드백 또는 예측 동작 모드에 따르면, 압축 경로는 현재의 매크로-블록으로부터 현재의 매크로-블록의 예측된 값의 감산으로부터 발생하는 (상대적으로 낮은 에너지의) 잔차(residual)(예를 들어, 차이)에 대해 동작한다. 주어진 사례에서 어떤 형태의 예측이 사용되는지에 따라, 그 동일한 프레임(또는 픽처)의 적어도 일부 또는 적어도 하나의 다른 프레임(또는 픽처)의 적어도 일부에 기초한 그 매크로-블록의 예측된 값과 현재의 매크로-블록 사이의 잔차 또는 차이가 생성된다.
다음으로, 결과적인 수정된 비디오 신호는 압축 경로를 따라 변환 동작들을 거친다. 하나의 실시예에서, 이산 코사인 변환(DCT)은 미리 결정된 수의 기초 패턴(basis pattern)들의 각각에 대해 각각의 계수 값들을 연산하기 위하여 비디오 샘플들(예를 들어, 루마, 크로마, 잔차, 등)의 세트에 대해 동작한다. 예를 들어, 하나의 실시예는 (예를 들어, 8 x 8 샘플에 대한 것과 같은) 64개의 기초 함수들을 포함한다. 일반적으로 말하면, 상이한 실시예들은 상이한 수들의 기초 함수들(예를 들어, 상이한 변환들)을 사용할 수 있다. 그 적절하고 선택적인 가중(weighting)을 포함하는 그 각각의 기초 함수들의 임의의 조합은 비디오 샘플들의 주어진 세트를 나타내기 위하여 이용될 수 있다. 변환 동작들을 수행하는 다양한 방법들에 관련된 추가적인 상세한 사항은 위에서 표시된 바와 같이 참조를 위해 통합된 그 표준들/초안 표준들을 포함하는 비디오 인코딩과 연관된 기술 문헌에서 설명된다. 변환 처리로부터의 출력은 이러한 각각의 계수 값들을 포함한다. 이 출력은 양자화기(quantizer)에 제공된다.
일반적으로, 대부분의 이미지 블록들은 계수들(예를 들어, 이산 코사인 변환(DCT)에 따라 동작하는 실시예에서의 DCT 계수들)을 전형적으로 산출할 것이고, 대부분의 관련된 DCT 계수들은 더 저주파수들이다. 이것 때문에, 그리고 고주파수의 시각적 효과들에 대한 인간의 눈의 상대적으로 열악한 감도 때문에, 양자화기는 덜 관련된 계수들의 대부분을 제로(zero)의 값으로 변환하도록 동작가능할 수 있다. 즉, 상대적인 기여가 일부 미리 결정된 값(예를 들어, 일부 임계값) 미만인 그 계수들은 양자화 처리에 따라 제거될 수 있다. 또한, 양자화기는 상당한 계수들을, 변환 처리로부터 발생하는 것들보다 더욱 효율적으로 코딩될 수 있는 값들로 변환하도록 동작가능할 수 있다. 예를 들어, 양자화 처리는 각각의 계수를 정수 값(integer value)으로 나누고 임의의 나머지(remainder)를 폐기함으로써 동작할 수 있다. 전형적인 코딩 단위들 또는 매크로-블록들에 대해 동작할 때, 이러한 처리는 전형적으로 상대적으로 낮은 수의 비-제로 계수들을 산출하고, 그 다음으로, 이 비-제로 계수들은 손실없는 인코딩을 위하여 그리고 피드백 경로에 따른 이용을 위하여 엔트로피 인코더(entropy encoder)에 전달되고, 이 피드백 경로는 비디오 인코딩에 따라 인트라-예측 및/또는 인터-예측 처리를 선택할 수 있다.
엔트로피 인코더는 손실없는 압축 인코딩 처리에 따라 동작한다. 압축 시에, 양자화 동작들은 일반적으로 손실이 있다. 엔트로피 인코딩 처리는 양자화 처리로부터 제공되는 계수들에 대해 동작한다. 그 계수들은 다양한 특성들(예를 들어, 루마, 크로마, 잔차, 등)을 나타낼 수 있다. 다양한 유형들의 인코딩이 엔트로피 인코더에 의해 사용될 수 있다. 예를 들어, 콘텍스트-적응적 이진 산술 코딩(CABAC : context-adaptive binary arithmetic coding) 및/또는 콘텍스트-적응적 가변-길이 코딩(CAVLC : context-adaptive variable-length coding)은 엔트로피 인코더에 의해 수행될 수 있다. 예를 들어, 엔트로피 코딩 방식의 적어도 하나의 부분에 따르면, 데이터는 (실행(run), 레벨(level)) 페어링(pairing)으로 변환된다(예를 들어, 데이터 14, 3, 0, 4, 0, 0, -3은 (0, 14), (0, 3), (1, 4), (2, -3)의 각각의 (실행, 레벨) 쌍(pair)들로 변환될 것이다). 사전에, 값의 쌍들에 대해 가변 길이 코드들을 배정하는 테이블이 준비될 수 있어서, 상대적으로 더 짧은 길이의 코드들이 상대적으로 공통적인 값의 쌍들에 배정되고, 상대적으로 더 긴 길이의 코드들이 상대적으로 덜 공통적인 값의 쌍들에 배정된다.
독자들이 이해할 수 있는 바와 같이, 역양자화 및 역변환의 동작들은 각각 양자화 및 변환의 동작들에 대응한다. 예를 들어, 변환 동작들 내에서 DCT가 사용되는 실시예에서, 역 DCT(IDCT)는 역변환 동작들 내에서 사용되는 것이다.
적응적 루프 필터(ALF : adaptive loop filter)는 역변환 블록으로부터의 출력을 처리하도록 구현된다. 이러한 적응적 루프 필터(ALF)는 픽처 버퍼(때때로, DPB, 디지털 픽처 버퍼라고 지칭됨)에서 저장되기 전에 디코딩된 픽처에 적용된다. 적응적 루프 필터(ALF)는 디코딩된 픽처의 코딩 잡음을 감소시키도록 구현되고, 적응적 루프 필터(ALF)가 슬라이스 레벨에서 또는 블록 레벨에서 적용되는지 여부에 따라, 그 필터링은 각각 휘도(luminance) 및 색차(chrominance)에 대하여, 슬라이스마다에 기초하여 선택적으로 적용될 수 있다. 적응적 루프 필터(ALF)의 적용 시에, 2차원 2-D 유한 임펄스 응답(FIR : finite impulse response) 필터링이 이용될 수 있다. 필터들의 계수들은 인코더에서 슬라이스마다 설계될 수 있고, 그 다음으로, 이러한 정보는 디코더에 신호전송(signal) 된다(예를 들어, 비디오 인코더[대안적으로 인코더라고 지칭됨]를 포함하는 송신기 통신 디바이스로부터 비디오 디코더[대안적으로 디코더라고 지칭됨]를 포함하는 수신기 통신 디바이스로 신호전송됨).
하나의 실시예는 위너(Wiener) 필터링 설계에 따라 계수들을 생성함으로써 동작한다. 부가적으로, 필터링이 수행되는지에 따라, 그것은 인코더에서 블록마다에 기초하여 적용될 수 있고, 그 다음으로, 이러한 결정은 쿼드트리(quadtree) 구조에 기초하여 디코더에 신호전송되고(예를 들어, 비디오 인코더[대안적으로 인코더라고 지칭됨]를 포함하는 송신기 통신 디바이스로부터 비디오 디코더[대안적으로 디코더라고 지칭됨]를 포함하는 수신기 통신 디바이스로 신호전송됨), 블록 크기는 레이트-왜곡 최적화(rate-distortion optimization)에 따라 결정된다. 이러한 2-D 필터링을 이용하는 구현예는 인코딩 및 디코딩 둘 모두에 따라 복잡도(degree of complexity)를 도입할 수 있다는 것에 주목해야 한다. 예를 들어, 적응적 루프 필터(ALF)의 구현예에 따라 2-D 필터링을 이용함으로써, 수신기 통신 디바이스 내에서 구현된 디코더 내에서뿐만 아니라, 송신기 통신 디바이스 내에서 구현된 인코더 내에서 약간의 증가하는 복잡성(complexity)이 있을 수 있다.
어떤 선택적인 실시예들에서는, 디-블록킹 필터(de-blocking filter)로부터의 출력이 역변환 블록으로부터의 출력을 처리하기 위해 구현되는 하나 이상의 다른 인-루프 필터(in-loop filter)(예를 들어, 적응적 루프 필터(ALF), 샘플 적응적 오프셋(SAO : sample adaptive offset) 필터, 및/또는 임의의 다른 필터 유형에 따라 구현됨)들에 제공된다. 예를 들어, 이러한 ALF는 픽처 버퍼(또한, 때때로 대안적으로 DPB, 디지털 픽처 버퍼라고 지칭됨)에서 저장되기 전에 디코딩된 픽처에 적용된다. 이러한 ALF는 디코딩된 픽처의 코딩 잡음을 감소시키도록 구현되고, 이러한 ALF가 슬라이스 레벨에서 또는 블록 레벨에서 적용되는지 여부에 따라, 그 필터링은 각각 휘도(luminance) 및 색차(chrominance)에 대하여, 슬라이스마다에 기초하여 선택적으로 적용될 수 있다. 이러한 ALF의 적용 시에, 2차원 2-D 유한 임펄스 응답(FIR) 필터링이 이용될 수 있다. 필터들의 계수들은 인코더에서 슬라이스마다 설계될 수 있고, 그 다음으로, 이러한 정보는 디코더에 신호전송 된다(예를 들어, 비디오 인코더[대안적으로 인코더라고 지칭됨]를 포함하는 송신기 통신 디바이스로부터 비디오 디코더[대안적으로 디코더라고 지칭됨]를 포함하는 수신기 통신 디바이스로 신호전송됨).
하나의 실시예는 위너(Wiener) 필터링 설계에 따라 계수들을 생성하도록 동작한다. 부가적으로, 필터링이 수행되는지에 따라, 그것은 인코더에서 블록마다에 기초하여 적용될 수 있고, 그 다음으로, 이러한 결정은 쿼드트리(quadtree) 구조에 기초하여 디코더에 신호전송되고(예를 들어, 비디오 인코더[대안적으로 인코더라고 지칭됨]를 포함하는 송신기 통신 디바이스로부터 비디오 디코더[대안적으로 디코더라고 지칭됨]를 포함하는 수신기 통신 디바이스로 신호전송됨), 블록 크기는 레이트-왜곡 최적화(rate-distortion optimization)에 따라 결정된다. 이러한 2-D 필터링을 이용하는 구현예는 인코딩 및 디코딩 둘 모두에 따라 복잡도(degree of complexity)를 도입할 수 있다는 것에 주목해야 한다. 예를 들어, ALF의 구현예에 따라 2-D 필터링을 이용함으로써, 수신기 통신 디바이스 내에서 구현된 디코더 내에서뿐만 아니라, 송신기 통신 디바이스 내에서 구현된 인코더 내에서 약간의 증가하는 복잡성(complexity)이 있을 수 있다.
다른 실시예들에 대해 언급된 바와 같이, ALF의 이용은 랜덤 양자화 잡음 제거(random quantization noise removal)를 수행하는 것으로부터 나오는 피크 대 신호 잡음 비율(PSNR : peak to signal noise ratio)에 의한 객관적인 품질 척도(objective quality measure)에 관한 개선을 포함하는, 이러한 비디오 처리에 따른 다수의 개선들 중의 임의의 것을 제공할 수 있다. 부가적으로, 추후에 인코딩되는 비디오 신호의 주관적인 품질은 조도 보상(illumination compensation)으로부터 달성될 수 있고, 이 조도 보상은 ALF 처리에 따라 오프셋 처리 및 스케일링 처리를 수행함에 따라 (예를 들어, 다시 적용함에 따라) 도입될 수 있다.
인-루프 필터의 하나의 유형에 대하여, 적응적 루프 필터(ALF)의 이용은 랜덤 양자화 잡음 제거를 수행하는 것으로부터 나오는 피크 대 신호 잡음 비율(PSNR)에 의한 객관적인 품질 척도에 관한 개선을 포함하는, 이러한 비디오 처리에 따른 다수의 개선들 중의 임의의 것을 제공할 수 있다. 부가적으로, 추후에 인코딩되는 비디오 신호의 주관적인 품질은 조도 보상으로부터 달성될 수 있고, 이 조도 보상은 적응적 루프 필터(ALF) 처리에 따라 오프셋 처리 및 스케일링 처리를 수행함에 따라 (예를 들어, 다시 적용함에 따라) 도입될 수 있다.
ALF로부터 출력되는 신호를 수신하는 것은 디지털 픽처 버퍼 또는 DPB라고 대안적으로 지칭되는 픽처 버퍼(picture buffer)이고, 픽처 버퍼는 비디오 인코딩에 따라 수행될 수 있는 바와 같이 인트라-예측 및/또는 인터-예측 동작들에 따라 이용될 수 있는 것과 같은 현재의 프레임(또는 픽처) 및/또는 하나 이상의 다른 프레임들(또는 픽처들)을 저장하도록 동작한다. 인트라-예측에 따르면, 프레임(또는 픽처) 시퀀스 내의 현재의 프레임(또는 픽처) 또는 임의의 다른 프레임(또는 픽처)를 저장하는 것이 필요하지 않을 수도 있다는 점에서, 상대적으로 작은 양의 저장이 충분할 수 있다는 것에 주목해야 한다. 이러한 저장된 정보는 비디오 인코딩에 따라 인터-예측을 수행할 경우에 움직임 보상(motion compensation) 및/또는 움직임 추정(motion estimation)을 수행하기 위해 사용될 수 있다.
하나의 가능한 실시예에서, 움직임 추정을 위하여, 현재의 프레임(또는 픽처)으로부터의 루마 샘플들(예를 들어, 16 x 16)의 각각의 세트는 (예를 들어, 인터-예측에 따라) 프레임(또는 픽처) 시퀀스 내의 다른 프레임들(또는 픽처들)에서의 각각의 버퍼링된 대응부분들과 비교된다. 하나의 가능한 구현예에서는, 최근접 일치 영역(matching area)이 위치되고(예를 들어, 예측 기준), 벡터 오프셋(예를 들어, 움직임 벡터)이 생성된다. 단일 프레임(또는 픽처)에서는, 다수의 움직임 벡터들이 발견될 수 있고, 전부가 반드시 동일한 방향으로 지시하지 않을 것이다. 움직임 추정에 따라 수행되는 바와 같은 하나 이상의 동작들은 하나 이상의 움직임 벡터들을 생성하도록 동작한다.
움직임 보상은 움지임 추정에 따라 생성될 수 있는 바와 같이 하나 이상의 움직임 벡터들을 사용하도록 동작한다. 샘플들의 예측 기준 세트가 식별되고, 상대적으로(예를 들어, 이상적으로, 훨씬) 더 낮은 에너지 잔차를 산출하는 것을 희망적으로 노력하기 위하여, 원래의 입력 비디오 신호로부터의 감산을 위해 전달된다. 이러한 동작들이 산출되는 더 낮은 에너지 잔차로 귀착되지 않을 경우, 움직임 보상은 반드시 수행될 필요가 있는 것은 아니고, 변환 동작들은 (예를 들어, 입력 비디오 신호가 바로 변환 동작에 제공되어, 인트라-예측도 인터-예측도 수행되지 않는 동작 모드에 따라) 잔차 대신에 원래의 입력 비디오 신호에 대해서만 동작할 수 있거나, 인트라-예측이 사용될 수 있고 변환 동작들이 인트라-예측으로부터 발생하는 잔차에 대해 수행될 수 있다. 또한, 움직임 추정 및/또는 움직임 보상 동작들이 성공적일 경우, 움직임 벡터는 손실없는 엔트로피 인코딩을 거치는데 있어서 이용하기 위한 대응하는 잔차들의 계수들과 함께 엔트로피 인코더에 송신될 수도 있다.
전체 비디오 인코딩 동작으로부터의 출력은 출력 비트 스트림이다. 이러한 출력 비트 스트림은 통신 채널을 거쳐 송신될 수 있는 연속 시간 신호를 생성하는 것에 따라 어떤 처리를 물론 거칠 수 있다는 것에 주목해야 한다. 예를 들어, 어떤 실시예들은 무선 통신 시스템들 내에서 동작한다. 이러한 사례에서는, 출력 비트스트림이 적절한 디지털-아날로그 변환, 주파수 변환, 스케일링(scaling), 필터링, 변조, 심볼 맵핑(symbol mapping), 및/또는 통신 채널 등을 거쳐 송신될 수 있는 연속 시간 신호를 생성하도록 동작하는 무선 통신 디바이스 내에서의 임의의 다른 동작들을 거칠 수 있다.
도 6의 실시예(600)를 참조하면, 비디오 인코더의 대안적인 실시예를 도시하는 이 도면에 대하여, 이러한 비디오 인코더는 압축된 출력 비트 스트림을 생성하기 위하여 예측, 변환, 및 인코딩 처리들을 수행한다. 이러한 비디오 인코더는 하나 이상의 비디오 인코딩 프로토콜들, 표준들, 및/또는 H.264/MPEG-4 Part 10 또는 AVC(Advanced Video Coding : 고급 비디오 코딩), ITU H.264/MPEG4-AVC라고 대안적으로 지칭되는 ISO/IEC 14496-10 - MPEG-4 Part 10, AVC(Advanced Video Coding)와 같은 추천된 관행들에 따라 동작할 수 있고 이들과 호환될 수 있다.
통신 채널의 또 다른 단부의 디바이스 내에 위치된 것과 같은 대응하는 비디오 디코더는 입력 비디오 신호를 (이상적으로) 나타내는 각각의 디코딩된 비디오 시퀀스를 생성하기 위하여 디코딩, 역변환, 및 재구성의 상보적인 처리들을 수행하도록 동작한다는 것에 주목해야 한다.
이 도면에 대해 알 수 있는 바와 같이, 대안적인 배열들 및 아키텍처들이 비디오 인코딩을 달성하기 위해 사용될 수 있다. 일반적으로 말하면, 인코더는 입력 비디오 신호(예를 들어, 종종 형상이 정사각형이고 그 내부에 N x N 픽셀들을 포함하는 코딩 단위들 또는 매크로-블록들의 단위들로 전형적으로 구성됨)를 처리한다. 비디오 인코딩은 이전에 코딩된 데이터에 기초하여 현재의 매크로-블록의 예측을 결정한다. 그 이전에 코딩된 데이터는 (예를 들어, 인트라-예측에 따른 것과 같이) 현재의 프레임(또는 픽처) 자체로부터 또는 (예를 들어, 인터-예측에 따른 것과 같이) 이미 코딩된 하나 이상의 다른 프레임들(또는 픽처들)로부터 나올 수 있다. 비디오 인코더는 잔차(residual)를 형성하기 위하여 현재의 매크로-블록의 예측을 감산한다.
일반적으로 말하면, 인트라-예측은 동일한 프레임(또는 픽처) 내에서 둘러싸는 이전에 코딩된 픽셀들로부터 현재의 매크로-블록을 예측하기 위하여 하나 이상의 특정 크기들의 블록 크기들(예를 들어, 16 x 16, 8 x 8, 또는 4 x 4)을 사용하도록 동작한다. 일반적으로 말하면, 인터-예측은 하나 이상의 이전에 코딩된 프레임들(또는 픽처들) 내로부터 선택되는 영역들로부터 현재의 프레임(또는 픽처)에서의 픽셀들을 예측하기 위하여 블록 크기들의 범위(예를 들어, 16 x 16에서 4 x 4에 까지)를 사용하도록 동작한다.
변환 및 양자화 동작들에 대하여, 잔차 샘플들의 블록은 특정 변환(예를 들어, 4 x 4 또는 8 x 8)을 이용한 변환을 거칠 수 있다. 이러한 변환의 하나의 가능한 실시예는 이산 코사인 변환(DCT)에 따라 동작한다. 변환 동작은 계수들의 그룹을 출력하여, 각각의 계수가 변환과 연관된 하나 이상의 기초 함수들의 각각의 가중 값(weighting value)에 대응한다. 변환을 거친 후에, 변환 계수들의 블록은 양자화된다(예를 들어, 각각의 계수는 정수 값으로 나누어질 수 있고 임의의 연관된 나머지는 폐기될 수 있거나, 이들은 정수 값으로 곱해질 수 있다). 양자화 처리는 일반적으로 본질적으로 손실이 있고, 그것은 양자화 파라미터(QP : quantization parameter)에 따라 변환 계수들의 정확성을 감소시킬 수 있다. 전형적으로, 주어진 매크로-블록과 연관된 계수들의 다수는 제로(zero)이고, 일부의 비-제로(non-zero) 계수들만 남는다. 일반적으로, 상대적으로 높은 QP 세팅(setting)은 제로 값의 계수들의 더 큰 비율 및 비-제로 계수들의 더 작은 크기들로 귀착되도록 동작하여, 상대적으로 열악하게 디코딩된 이미지 품질을 희생하여 상대적으로 높은 압축(예를 들어, 상대적으로 더 낮은 코딩된 비트 레이트)으로 귀착되고; 상대적으로 낮은 QP 세팅은 더 많은 비-제로 계수들이 양자화 후에 남도록 하고 비-제로 계수들의 더 큰 크기들이 가능하도록 동작하여, 상대적으로 더욱 양호하게 디코딩된 이미지 품질을 갖는 상대적으로 더 낮은 압축(예를 들어, 상대적으로 더 높은 코딩된 비트 레이트)으로 귀착된다.
비디오 인코딩 처리는 압축된 비트 스트림을 형성하기 위해 인코딩되는 다수의 값들을 생성한다. 이러한 값들의 예들은 양자화된 변환 계수들, 적절한 예측을 재생성하기 위해 디코더에 의해 사용될 정보, 압축된 데이터의 구조 및 인코딩 동안에 사용되는 압축 도구들에 관한 정보, 완전한 비디오 시퀀스에 관한 정보 등을 포함한다. 이러한 값들 및/또는 파라미터들(예를 들어, 구문 요소(syntax element)들)은 (예를 들어, 통신 채널과 적합한 연속 시간 신호를 생성하기 위해 적절한 처리를 거친 후에) 저장되고, 송신될 수 있는 등등의 출력 비트 스트림을 생성하기 위하여, CABAC, CAVLC, 또는 일부 다른 엔트로피 코딩 방식에 따라 동작하는 엔트로피 인코더 내에서 인코딩을 거칠 수 있다.
피드백 경로를 이용하여 동작하는 실시예에서, 변환 및 양자화의 출력은 역양자화 및 역변환을 거친다. 인트라-예측 및 인터-예측의 하나 또는 둘 모두는 비디오 인코딩에 따라 수행될 수 있다. 또한, 움직임 보상 및/또는 움직임 추정은 이러한 비디오 인코딩에 따라 수행될 수 있다.
인트라-예측 블록에 제공되는, 역양자화 및 역변환(예를 들어, IDCT) 블록으로부터 출력되는 신호 경로는 디-블록킹 필터(de-blocking filter)에도 제공된다. 디-블록킹 필터로부터의 출력은 역변환 블록으로부터의 출력을 처리하기 위해 구현되는 하나 이상의 다른 인-루프 필터(in-loop filter)들(예를 들어, 적응적 루프 필터(ALF), 샘플 적응적 오프셋(SAO : sample adaptive offset) 필터, 및/또는 임의의 다른 필터 유형에 따라 구현됨)에 제공된다. 예를 들어, 하나의 가능한 실시예에서, ALF는 픽처 버퍼(또한, 때때로 대안적으로 DPB, 디지털 픽처 버퍼라고 지칭됨)에 저장되기 전에 디코딩된 픽처에 적용된다. ALF는 디코딩된 픽처의 코딩 잡음을 감소시키도록 구현되고, ALF가 슬라이스 레벨에서 또는 블록 레벨에서 적용되는지 여부에 따라, 그 필터링은 각각 휘도(luminance) 및 색차(chrominance)에 대하여, 슬라이스마다에 기초하여 선택적으로 적용될 수 있다. ALF의 적용 시에, 2차원 2-D 유한 임펄스 응답(FIR) 필터링이 이용될 수 있다. 필터들의 계수들은 인코더에서 슬라이스마다 설계될 수 있고, 그 다음으로, 이러한 정보는 디코더에 신호전송 된다(예를 들어, 비디오 인코더[대안적으로 인코더라고 지칭됨]를 포함하는 송신기 통신 디바이스로부터 비디오 디코더[대안적으로 디코더라고 지칭됨]를 포함하는 수신기 통신 디바이스로 신호전송됨).
하나의 실시예는 위너(Wiener) 필터링 설계에 따라 계수들을 생성하였다. 부가적으로, 필터링이 수행되는지에 따라, 그것은 인코더에서 블록마다에 기초하여 적용될 수 있고, 그 다음으로, 이러한 결정은 쿼드트리(quadtree) 구조에 기초하여 디코더에 신호전송되고(예를 들어, 비디오 인코더[대안적으로 인코더라고 지칭됨]를 포함하는 송신기 통신 디바이스로부터 비디오 디코더[대안적으로 디코더라고 지칭됨]를 포함하는 수신기 통신 디바이스로 신호전송됨), 블록 크기는 레이트-왜곡 최적화(rate-distortion optimization)에 따라 결정된다. 이러한 2-D 필터링을 이용하는 구현예는 인코딩 및 디코딩 둘 모두에 따라 복잡도(degree of complexity)를 도입할 수 있다는 것에 주목해야 한다. 예를 들어, ALF의 구현예에 따라 2-D 필터링을 이용함으로써, 수신기 통신 디바이스 내에서 구현된 디코더 내에서뿐만 아니라, 송신기 통신 디바이스 내에서 구현된 인코더 내에서 약간의 증가하는 복잡성(complexity)이 있을 수 있다.
다른 실시예들에 대해 언급된 바와 같이, ALF의 이용은 랜덤 양자화 잡음 제거(random quantization noise removal)를 수행하는 것으로부터 나오는 피크 대 신호 잡음 비율(PSNR : peak to signal noise ratio)에 의한 객관적인 품질 척도(objective quality measure)에 관한 개선을 포함하는, 이러한 비디오 처리에 따른 다수의 개선들 중의 임의의 것을 제공할 수 있다. 부가적으로, 추후에 인코딩되는 비디오 신호의 주관적인 품질은 조도 보상(illumination compensation)으로부터 달성될 수 있고, 이 조도 보상은 ALF 처리에 따라 오프셋 처리 및 스케일링 처리를 수행함에 따라 (예를 들어, 다시 적용함에 따라) 도입될 수 있다.
출력 비트스트림을 생성하기 위해 구현되는 임의의 비디오 인코더 아키텍처에 대하여, 이러한 아키텍처들이 다양한 통신 디바이스들 중의 임의의 것 내에서 구현될 수 있다는 것에 주목해야 한다. 출력 비트스트림은 에러 정정 코드(ECC : error correction code), 순방향 에러 정정(FEC : forward error correction), 등등을 포함하는 추가적인 처리를 거칠 수 있고, 이에 따라, 그 내부에 추가적인 중복되는 양을 갖는 수정된 출력 비트스트림을 생성할 수 있다. 또한, 이러한 디지털 신호에 대해 이해될 수 있는 바와 같이, 통신 채널을 거쳐 송신하기에 적당한 또는 적절한 연속 시간 신호를 생성함에 따라 임의의 적절한 처리를 거칠 수 있다. 즉, 이러한 비디오 인코더 아키텍처는 하나 이상의 통신 채널들을 거쳐 하나 이상의 신호들의 송신을 수행하도록 동작하는 통신 디바이스 내에서 구현될 수 있다. 추가적인 처리는 이러한 비디오 인코더 아키텍처에 의해 생성되는 출력 비트스트림에 대해 행해질 수 있고, 이에 따라, 통신 채널로 시작될 수 있는 연속 시간 신호를 생성할 수 있다.
도 7은 인트라-예측 처리의 실시예(700)를 예시하는 도면이다. 이 도면에 대해 알 수 있는 바와 같이, 비디오 데이터(예를 들어, 종종 형상이 제곱이고 일반적으로 N x N 픽셀들을 포함함)의 현재 블록은 그 내부의 각각의 픽셀들을 추정하기 위한 처리를 거친다. 상기 위치된 그리고 현재의 블록의 좌측의 이전에 코딩된 픽셀들은 이러한 인트라-예측에 따라 사용된다. 어떤 관점으로부터, 인트라-예측 방향은 현재의 픽셀로부터, 상기 위치된 또는 현재의 픽셀의 좌측의 기준 픽셀로 연장되는 벡터에 대응하는 것으로 간주될 수 있다. H.264/AVC에 따른 코딩에 적용되는 바와 같은 인트라-예측의 상세한 사항들은 참조를 위해 상기에서 통합되는 대응하는 표준(예를 들어, 국제 전기통신 협회(International Telecommunicaiton Union), ITU-T, TELECOMMUNICATION STANDARDIZATION SECTOR OR ITU, H.264(03/2010), SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Infrastructure of audiovisual services - Coding of moving video, Advanced video coidng for generic audiovisual services, Recommendation ITU-T H.264, International Telecomm ISO/IEC 14496-10 - MPEG-4 Part 10, AVC(Advanced Video Coding), H.264/MPEG-4 Part 10 or AVC(Advanced Video Coding), ITU H.264/MPEG4-AVC, 또는 등가의 것으로 대안적으로 지칭됨) 내에서 특정된다.
현재의 픽셀 및 기준 또는 예측 픽셀 사이의 차이인 잔차는 인코딩되는 것이다. 이 도면에 대해 알 수 있는 바와 같이, 인트라-예측은 공통 프레임(또는 픽처) 내의 픽셀들을 이용하여 동작한다. 주어진 픽셀은 그와 연관된 상이한 각각의 성분들을 가질 수 있고 각각의 성분에 대해 샘플들의 상이한 각각의 세트들이 있을 수 있다는 것에 물론 주목해야 한다.
도 8은 인터-예측의 실시예(800)를 예시하는 도면이다. 인트라-예측에 따르면, 인터-예측은 현재의 프레임(또는 픽처) 내의 픽셀들의 현재의 세트 및 프레임(또는 픽처) 시퀀스 내의 하나 이상의 다른 프레임들(또는 픽처들) 내에 위치된 기준 또는 예측 픽셀들의 하나 이상의 세트들에 기초하여 움직임 벡터(예를 들어, 인터-예측 방향)를 식별하도록 동작한다. 알 수 있는 바와 같이, 움직임 벡터는 현재의 프레임(또는 픽처)으로부터 프레임(또는 픽처) 시퀀스 내의 또 다른 프레임(또는 픽처)으로 연장된다. 인터-예측은 서브-픽셀 보간(sub-pixel interpolation)을 사용할 수 있어서, 예측 픽셀 값은 기준 프레임 또는 픽처에서의 복수의 픽셀들의 함수에 대응한다.
잔차는 인트라-예측 처리에 따라 계산되는 잔차와 상이하지만, 이러한 잔차는 인터-예측 처리에 따라 계산될 수 있다. 인터-예측 처리에 따르면, 각각의 픽셀에서의 잔차는 다시 현재의 픽셀 및 예측된 픽셀 값 사이의 차이에 대응한다. 그러나, 인터-예측 처리에 따르면, 현재의 픽셀 및 기준 또는 예측 픽셀은 동일한 프레임(또는 픽처) 내에 위치되지 않는다. 이 도면은 인터-예측이 하나 이상의 이전의 프레임들 또는 픽처들에 대해 사용되는 것으로 도시하고 있지만, 대안적인 실시예들은 현재의 프레임 이전 및/또는 이후의 프레임들에 대응하는 기준들을 이용하여 동작할 수 있다는 것에 또한 주목해야 한다. 예를 들어, 적절한 버퍼링(buffering) 및/또는 메모리 관리에 따르면, 다수의 프레임들이 저장될 수 있다. 주어진 프레임에 대해 동작할 때, 기준들은 그 주어진 프레임을 선행하고 및/또는 뒤따르는 다른 프레임들로부터 생성될 수 있다.
CU와 결합되어, 기본 단위(basic unit)는 예측 분할 모드, 즉, 예측 단위, 또는 PU를 위해 사용될 수 있다. 또한, PU는 최종 깊이 CU를 위해서만 정의되고, 그 각각의 크기는 CU의 크기로 제한되는 것에 주목해야 한다.
도 9 및 도 10은 비디오 디코딩 아키텍처들의 다양한 실시예들(900 및 1000)을 각각 예시하는 도면들이다.
일반적으로 말하면, 이러한 비디오 디코딩 아키텍처는 입력 비트스트림에 대해 동작한다. 이러한 입력 비트스트림은 통신 채널로부터 통신 디바이스에 의해 수신되는 신호로부터 생성될 수 있다는 것에 물론 주목해야 한다. 입력 비트스트림을 생성함에 따라 적절할 수 있는 바와 같은 디지털 샘플링, 복조, 스케일링, 필터링 등을 포함하는 다양한 동작들이 통신 채널로부터 수신되는 연속 시간 신호에 대해 수행될 수 있다. 또한, 에러 정정 코드(ECC), 순방향 에러 정정(FEC : forward error correction) 등의 하나 이상의 유형들이 구현될 수 있는 어떤 실시예들은 이러한 ECC, FEC 등에 따라 적절한 디코딩을 수행할 수 있고, 이에 따라, 입력 비트스트림을 생성한다. 즉, (예를 들어, 송신기 통신 디바이스로부터 또는 트랜시버 통신 디바이스의 송신기 부분으로부터 시작될 수 있는 바와 같은) 대응하는 출력 비트스트림을 생성함에 따라 추가적인 중복이 행해질 수 있는 어떤 실시예들에서는, 입력 비트스트림을 생성함에 따라 적절한 처리가 수행될 수 있다. 전체적으로, 이러한 비디오 디코딩 아키텍처들은 입력 비트스트림을 처리하도록 구현되고, 이에 따라, 하나 이상의 비디오 디스플레이 가능 디바이스들에 출력함에 있어서 이용하기 위하여, 가능한 한 근접하게 그리고 이상적인 경우에는 완벽하게, 원래의 입력 비디오 신호에 대응하는 출력 비디오 신호를 생성한다.
도 9의 실시예(900)를 참조하면, 일반적으로, (예를 들어, CABAC, CAVLC, 등에 따라 구현될 수 있는) 엔트로피 디코더와 같은 디코더는 비디오 인코더 아키텍처 내에서 수행되는 바와 같이 인코딩의 상보적인 처리를 수행함에 따라 입력 비트스트림을 처리한다. 입력 비트스트림은, 가능한 한 근접하게 그리고 이상적인 경우에는 완벽하게, 비디오 인코더 아키텍처에 의해 생성되는 압축된 출력 비트스트림인 것으로 간주될 수 있다. 물론, 현실의 응용에서는, 하나 이상의 통신 링크들을 거쳐 송신되는 신호에서 일부의 에러들이 초래될 수 있는 것이 가능하다. 엔트로피 디코더는 입력 비트스트림을 처리하고, (예를 들어, 크로마, 루마, 등의 정보와 같은) DCT 계수들과 같은 적절한 계수들을 추출하고, 이러한 계수들을 역양자화 및 역변환 블록에 제공한다. DCT 변환이 사용되는 경우, 역양자화 및 역변환 블록은 역 DCT(IDCT) 동작을 수행하도록 구현될 수 있다. 그 다음으로, A/D 블록킹 필터(blocking filter)는 출력 비디오 신호에 대응하는 각각의 프레임들 및/또는 픽처들을 생성하도록 구현된다. 이 프레임들 및/또는 픽처들은 움직임 보상을 포함하는 다른 동작들을 수행함에 있어서 이용하기 위하여 픽처 버퍼 또는 디지털 픽처 버퍼(DPB : digital picture buffer)에 제공될 수 있다. 일반적으로 말하면, 이러한 움직임 보상 동작들은 비디오 인코딩과 연관된 인터-예측에 대응하는 것으로 간주될 수 있다. 또한, 인트라-예측은 역양자화 및 역변환 블록으로부터 출력되는 신호에 대해 수행될 수도 있다. 비디오 인코딩에 대한 것과 유사하게, 이러한 비디오 디코더 아키텍처는 입력 비트스트림을 디코딩함에 따라, 인트라-예측도 아니고 인터-예측도 아닌 것을 수행하는 것, 인터-예측을 수행하는 것, 또는 인트라-예측을 수행하는 것 사이에서 모드 선택을 수행하도록 구현될 수 있고, 이에 따라, 출력 비디오 신호를 생성할 수 있다.
도 10의 실시예(1000)를 참조하면, 어떤 선택적인 실시예들에서, 출력 비트스트림을 생성하도록 사용되는 바와 같은 비디오 인코딩에 따라 구현될 수 있는 (예를 들어, 적응적 루프 필터(ALF), 샘플 적응적 오프셋(SAO) 필터, 및/또는 임의의 다른 필터 유형에 따라 구현되는) 하나 이상의 인-루프 필터들과 같이, 대응하는 하나 이상의 인-루프 필터들은 비디오 디코더 아키텍처 내에서 구현될 수 있다. 하나의 실시예에서, 하나 이상의 이러한 인-루프 필터들의 적절한 구현예는 디-블록킹 필터 이후에 있다.
도 11은 (디-블록킹 이후에 구현되는 샘플 적응적 오프셋(SAO)을 갖는) 비디오 인코딩 아키텍처의 실시예(1100)를 예시한다. (예를 들어, HEVC에서의 현재의 채택에 따른) 샘플 적응적 오프셋(SAO)은 원래의 픽처들 및 양자화로 인한 재구성된 픽처들 사이의 임의의 존재하는 왜곡을 감소시키기 위하여 사용될 수 있다. 그러나, SAO의 이러한 제안에 따르면, 이러한 SAO 동작들은(예를 들어, 도 11에 따른) 역양자화 및 역변환 후에 수행되고, 이것은 매우 효율적인 구현이 아니다.
도 12는 (역양자화 후에 구현되는 주파수-도메인 샘플 적응적 오프셋(FSAO)을 갖는) 비디오 인코딩 아키텍처의 실시예(1200)를 예시한다. 여기에서는, (예를 들어, 도 12에 따른) 역양자화 직후에 주파수 도메인 SAO(FSAO)가 구현되고 수행될 수 있는 새로운 구현예가 제안된다. 주파수-도메인에서 구현되는 SAO(FSAO)는 역변환으로 인한 임의의 가능한 분포를 회피하므로 상대적으로 훨씬 더 정확하다.
이 도면 내에서 알 수 있는 바와 같이, 주파수-도메인에서 구현되는 샘플 적응적 오프셋(FSAO)은 그 대신으로 비디오 인코더 아키텍처의 이 대안적인 실시예에서 역양자화 이후에 그리고 역변환 이전에 구현된다.
이러한 주파수 도메인 동작들을 구현하는 것에 대하여, 스펙트럼 대역 복제(SBR : spectral band replication)는 수신된 신호의 비디오 정보에 대해 수행될 수 있다. 예를 들어, (비디오 신호와 같은) 수신된 입력 비트스트림에 대해, 수신된 입력 비트스트림 내에 포함된 에너지 또는 정보의 다수는 어떤 주파수 미만일 수 있다. 예를 들어, 비디오 인코딩을 수행함에 따라, 특히, (예를 들어, CU들, MB들, 등으로서 표현될 수 있는) 입력 비디오 신호로부터 출력 비트스트림을 생성함에 있어서 적어도 부분적으로 수행되는 변환 양자화 동작들에 대하여, 특정 주파수를 초과하는 임의의 에너지 또는 정보는 일반적으로 압축 처리에 따라 손실된다. 즉, 입력 비디오 신호 내에 포함된 상대적으로 고주파수 에너지 또는 정보는 (예를 들어, 시간 도메인으로부터 주파수 도메인으로 변환함에 따른 것과 같이) 비디오 압축에 따라 일반적으로 손실된다.
이와 같이, 비디오 인코더에 의해 생성되는 바와 같은 출력 비트스트림은 어떤 주파수(예를 들어, 그것을 초과하는 주파수에서 압축 처리에 따라 에너지 또는 정보가 손실되는 그러한 주파수에 대응하는 차단 주파수, fc)를 초과하는 많은 양의 에너지 또는 정보를 전형적으로 포함하지 않을 것이다. 이와 같이, 출력 비트스트림은 그 내부에 모든 고주파수 에너지 또는 정보를 포함하지 않을 수도 있다. 이와 같이, 출력 비디오 신호를 그것으로부터 재구성하거나 생성할 때, 비디오 디코더에 의해 수신되는 입력 비트스트림에서는, 이러한 고주파수 에너지 또는 정보를 액세스하지 않을 것이다. 예를 들어, 비디오 신호를 송신기 디바이스로부터 수신기 디바이스(예를 들어, 통신 채널과 적합한 신호를 생성하기 위한 임의의 적절한 처리를 포함할 수 있고, 통신 채널 추종 신호(communication channel compliance signal)를 송신기 디바이스로부터 수신기 디바이스로 송신하고, 송신된 신호를 수신기 디바이스 등의 통신 채널로부터 수신함)로 송신할 때, 이러한 수신기 디바이스는 원래의 또는 이전의 입력 비디오 신호 내에 포함되었을 수 있는 모든 고주파수 에너지 또는 정보를 액세스하지 않을 것이다.
그러나, 비디오 디코딩을 수행함에 따라, 그럼에도 불구하고, 이러한 디바이스는 수신된 비디오 신호 내에 포함된 정보 및/또는 그것에 대응하는 또는 그것으로부터 유도된 입력 비트스트림에 기초하여 이러한 고주파수 에너지 또는 정보를 재구성하도록 구현될 수 있다.
예를 들어, 비디오 디코딩 처리를 수행함에 따라, 신호 내의 에너지 또는 정보 전부는 어떤 주파수(예를 들어, 그것을 초과하는 주파수에서 압축 처리에 따라 에너지 또는 정보가 손실되는 그러한 주파수에 대응하는 차단 주파수, fc) 미만인 것으로 식별될 수 있다. 비디오 신호 내의 상대적으로 고주파수 정보를 재구성함에 따라, 스펙트럼 대역 복제(SBR)는 이러한 비디오 신호의 코딩 효율을 개선시키기 위해 이용될 수 있다. 다수의 예시적인 실시예들이 비디오 코딩 응용들에 대해 본 명세서에서 설명되고 있지만, 발명의 범위 및 사상으로부터 이탈하지 않으면서, 이러한 SBR이 오디오 신호들 및/또는 다른 유형드르이 신호들에 적용될 수도 있다는 것에 또한 주목해야 한다.
예를 들어, SBR은 신호와 연관된 에너지 또는 정보의 주파수 도메인에서 고조파 중복(harmonic redundance)에 기초하고 있고 이를 이용하고 있는 것으로 간주될 수 있다. 또한, 비디오 코딩의 상황 내에서, 에너지 정보의 다수 또는 전부는 어떤 주파수(예를 들어, 그것을 초과하는 주파수에서 압축 처리에 따라 에너지 또는 정보가 손실되는 그러한 주파수에 대응하는 차단 주파수, fc) 미만으로 위치될 것이다. 또한, 비디오 코딩의 상황에서는, 인간의 눈 및 인간의 뇌의 지각 능력들이 상대적으로 적은 정확도로 더욱 고주파수 정보를 분석하는 경향이 있다는 원리에 기초하여 이러한 SBR의 이용이 행해진다는 것에 또한 주목해야 한다. 이와 유사하게, 오디오 코딩에 대하여, 인간 뇌의 음향심리학(psychoacoustic) 부분은 마찬가지로 상대적으로 적은 정확도로 더욱 고주파수 오디오 정보를 분석하는 경향이 있다. 이와 같이, 이러한 SBR 처리와 연관된 고조파 현상 또는 현상들은 인간의 지각 능력에 기초하여 지각 감지(perceptual sense) 내에서만 정확해야 할 필요가 있고, (높은 정확도로 이러한 고주파수 정보를 파악하기 위한 인간의 지각 불능으로 인해) 기술적으로 또는 수학적으로 정확할 필요는 없다.
도 13은 스펙트럼 대역 복제(SBR) - 전위(a) 및 재구성(b)의 원리들의 실시예(1300)를 예시한다. 이 도면에 대하여, 도면의 좌측 상에서는, 에너지 또는 정보의 상대적으로 더욱 저주파수 부분은 주파수 스펙트럼의 더욱 고주파수 부분에 대해 전위 또는 복제를 거칠 수 있다는 것을 알 수 있다. 도면의 우측 상에서는, 전위 복제를 거친 원래의 에너지 또는 정보와 복제 및 스케일링된 에너지 또는 정보 사이에서 상대적으로 유연한 전이를 달성하기 위하여, 그 복제된 에너지 또는 정보가 (예를 들어, 이 실시예에서 하향(downward) 스케일링 또는 감쇠로서 도시된) 적절한 스케일링을 더욱 거칠 수 있다. 어떤 관점들로부터, 비디오 신호의 적어도 하나의 부분에 대응하는 에너지 프로파일(예를 들어, 주파수의 함수인 에너지)은 (예를 들어, 상이한 주파수 스펙트럼 부분 내에서와 같은) 비디오 신호의 또 다른 부분을 생성하기 위해 복제(또는 복제 및 스케일링)를 거친다. 본 명세서에서 설명된 다수의 실시예들은 상대적으로 더욱 저주파수 부분으로부터 상대적으로 더욱 고주파수 부분으로의 복제(또는 복제 및 스케일링)를 포함한다. 물론, 임의의 대안적인 실시예에서, 이러한 복제(또는 복제 및 스케일링)는 상대적으로 더욱 고주파수 부분으로부터 상대적으로 더욱 저주파수 부분으로 대안적으로 수행될 수 있다.
일반적으로 말하면, 다수의 신호들은 더욱 고주파수들에서 상대적으로 적은 에너지 또는 정보를 전형적으로 나타낸다. 예를 들어, 비디오 신호들에 대하여, 에너지 또는 정보의 다수는 상대적으로 더욱 저주파수들에서 포함된다. 이것은 에너지 또는 정보의 다수가 상대적으로 더욱 저주파수들에서 포함되는 오디오 신호들과 유사하다. 또한, 인간의 눈, 귀, 및/또는 뇌의 지각적 제한들이 주어지면, 이 상대적으로 더욱 고주파수에서의 정보의 상당한 양은 전형적으로 필요하지 않고 및/또는 지각적 품질에 있어서 상당한 개선을 제공하지 않는다. 다른 것들과 마찬가지로 이 도면 내에서, (주파수의 함수인) 에너지 또는 정보의 양은 주파수가 증가함에 따라 일반적으로 단조적으로 감소한다. 그러나, 알 수 있는 바와 같이, 단조 감소의 일반적인 추세 내에서 리플(ripple)들이 있는 일부의 사례들이 있을 수 있다.
일반적으로 말하면, 이미지(예를 들어, 비디오 신호의 이미지)의 내부에는, 많은 에지 정보(edge information)(예를 들어, 상대적으로 고주파수 정보)가 있을 수 있고, 주파수 도메인에서 분석하는 경우, 대응하는 주파수 스펙트럼은 DC로부터 상대적으로 고주파수의 범위이다. 통상, DC 및 상대적으로 저주파수 성분들은 신호의 에너지 또는 정보의 전체 양 내에서 더욱 고주파수 성분들보다 상대적으로 더 높은 크기를 가진다.
(예를 들어, 비디오 인코딩에 따라 수행되는 바와 같은 변환 및 양자화에 따른 것과 같이) 고주파수 성분들이 제거되거나 과다하게 양자화되는 경우, 그리고 신호의 상대적으로 더욱 저주파수 및/또는 중간 주파수 부분들만이 (예를 들어, 송신기 디바이스로부터 수신기 디바이스로 신호 내에서 송신되는 것과 같이) 사용되는 경우, 선명한 에지 정보가 불운하게도 제거될 것이다.
SBR의 이용은 (예를 들어, 신호의 상대적으로 더욱 저주파수 부분 및/또는 중간 주파수 부분들을 포함하는) 수신된 신호로부터 고조파들을 전치(transposing)함으로써 이러한 제거된 더욱 고주파수 성분들을 복제하기 위한 비디오 디코딩에 따라 사용될 수 있다. 이와 같이, 이 상대적으로 더욱 고주파수 정보는 비디오 디코딩에 따라 재구성될 수 있다. 이러한 SBR 관련 처리는 발명의 범위 및 사상으로부터 이탈하지 않으면서 CU, MB 등의 다수의 것 중의 임의의 것에 기초하여 수행될 수 있다.
도 14, 도 15, 도 16 및 도 17은 스펙트럼 대역 복제(SBR)의 다양한 실시예들을 예시한다.
도 14의 실시예(1400)를 참조하면, 이 도면에 대해 알 수 있는 바와 같이, 에너지 또는 정보의 전체는 어떤 주파수(예를 들어, 그것을 초과하는 주파수에서 에너지 또는 정보가 비디오 처리에 따른 압축 처리에 따라 손실되는 그 주파수에 대응하는 차단 주파수, fc) 미만에 있다. 부가적으로, 전치 복제를 거친 원래의 에너지 또는 정보와 복제 및 스케일링된 에너지 또는 정보 사이의 상대적으로 유연한 전이를 달성하기 위하여, 에너지 또는 정보의 이 복제된 버전은 스케일링된다(예를 들어, 이 실시예에서 하향 스케일링 또는 감쇠로서 도시됨).
도 15의 실시예(1500)를 참조하면, 이 도면에 대해 알 수 있는 바와 같이, 어떤 주파수(예를 들어, 그것을 초과하는 주파수에서 에너지 또는 정보가 비디오 처리에 따른 압축 처리에 따라 손실되는 그 주파수에 대응하는 차단 주파수, fc) 미만의 에너지 또는 정보의 전체는 특정한 실시예에서 희망될 수 있는 바와 같이 많은 수의, 재구성된 에너지 또는 정보 1, 재구성된 에너지 또는 정보 2, 등등에 대해 알 수 있는 바와 같이, 다수의 더욱 고주파수 대역들로 복제된다.
도 16의 실시예(1600)를 참조하면, 이 도면에 대해 알 수 있는 바와 같이, 어떤 주파수 대역(예를 들어, 제 1 주파수, f1을 초과하고 제 2 주파수, f2 미만임) 내의 에너지 또는 정보의 부분(portion) 또는 서브-부분(sub-portion)이 다수의(예를 들어, 하나 이상일 수 있음) 더욱 고주파수 대역들로 복제된다. 즉, 에너지 또는 정보의 이 부분 또는 서브-부분의 하나의 재구성만이 하나 이상의 더욱 고주파수 스펙트럼 대역들에서 복제될 수 있다. 희망하는 경우, 에너지 또는 정보의 이 부분 또는 서브-부분의 다수의 각각의 재구성들은 다수의 각각의 더욱 고주파수 스펙트럼 대역들에서 복제될 수 있다.
도 17의 실시예(1700)를 참조하면, 이 도면에 대해 알 수 있는 바와 같이, 하나 이상의 주파수 대역들(예를 들어, 제 1 주파수, f1을 초과하고 제 2 주파수, f2 미만인 에너지 또는 정보에 대응하는 제 1 대역 -- 제 2 주파수, f2를 초과하고 fc와 같은 제 3 주파수 미만인 에너지 또는 정보에 대응하는 제 2 대역, 등) 내의 에너지 또는 정보의 하나를 초과하는 각각의 부분 또는 서브-부분은 다수의(예를 들어, 하나 이상일 수 있음) 더욱 고주파수 대역들로 복제된다. 즉, 에너지 또는 정보의 이 각각의 부분들 또는 서브-부분들의 각각에 대한 하나의 각각의 재구성만이 하나 이상의 더욱 고주파수 스펙트럼 대역들에서 복제될 수 있다. 희망하는 경우, 에너지 또는 정보의 이 각각의 부분들 또는 서브-부분들의 다수의 각각의 재구성들이 다수의 각각의 더욱 고주파수 스펙트럼 대역들에서 복제될 수 있다.
고주파수 성분들이 과다하게 양자화되지만 완전하게 제거되지 않은 경우(이것은 일부 고주파수 성분들이 양자화 후에 남아 있지만, 큰 양자화 왜곡을 가진다는 것을 의미함), 이들은 SBR 처리 동안에 파일럿(pilot)들로서 이용될 수 있다. 즉, 복제된 고주파수 대역들은 남아 있는 고주파수 성분들의 스케일(scale) 및 기호(sign)와 일치해야 한다.
일반적으로 말하면, 하나 이상의 주파수 대역들 내의 에너지 또는 정보의 다수의 상이한 각각의 부분들 또는 서브-부분들 중의 임의의 것은 SBR 처리에 따라 이용될 수 있다는 것에 주목해야 한다. 예를 들어, 비디오 디코딩에 따르면, 하나 이상의 주파수 대역들 내의 에너지 또는 정보의 다수의 각각의 부분들 또는 서브-부분들은 SBR 처리를 수행함에 따라 사용될 수 있고, 이에 따라, 하나 이상의 더욱 고주파수 스펙트럼 대역들 내에서 더욱 고주파수 에너지 또는 정보를 생성할 수 있다.
대안적인 실시예들에서는, 송신기 디바이스 및 수신기 디바이스 사이에서 조정이 달성될 수 있어서, 송신기 디바이스는 (예를 들어, 별도의 제어 채널 내에서, 또는 비디오 정보 또는 비디오 신호 등을 포함하는 송신된 신호 내에 내장되어) 수신기 디바이스에 정보를 제공하고, 수신기 디바이스의 동작을 지시하기 위하여 어떤 정보를 수신기 디바이스에 제공한다는 것에 주목해야 한다. 예를 들어, 수신기 디바이스는 송신기 디바이스와의 조정 없이(예를 들어, 그로부터 비디오 신호를 수신하는 것 이외에) 다수의 동작들 중의 임의의 것을 독립적으로 수행하고 식별하도록 구성되거나 구현될 수 있다. 대안적으로, 수신기 디바이스는 수신된 비디오 신호의 다른 비디오 처리 및 디코딩을 수행해야 하는 방식을 지시하기 위하여 송신기 디바이스로부터 특정 정보 또는 방향을 수신하도록 구성되거나 구현될 수 있다. 이러한 정보는 송신기 디바이스로부터 수신기 디바이스로 송신되는 비디오 신호와 연관된 비디오 인코딩에 따른 변환 및 양자화 동작들과 연관된 차단 주파수를 포함할 수 있다. 부가적으로, 비디오 신호의 하나 이상의 부분들 또는 서브-부분들이 복제되어야 하고 및/또는 스케일링되어야 하는 횟수, (응용가능한 바와 같이, 임의의 이러한 서브-부분들과 연관된 상부 및 하부 주파수 경계들을 포함하는) 복제되어야 하거나 스케일링되어야 하는 비디오 신호의 하나 이상의 부분들 또는 서브-부분들, 비디오 신호의 하나 이상의 부분들 또는 서브-부분들에 적용될 스케일링의 하나 이상의 양(amount)들 또는 유형(type)들, 비디오 신호의 하나 이상의 부분들 또는 서브-부분들이 복제되어야 하고 및/또는 스케일링되어야 하는 횟수, 등을 포함하는 추가적인 명령은 송신기 디바이스로부터 수신기 디바이스로 제공될 수 있다. 이해할 수 있는 바와 같이, 제어 정보(예를 들어, 스케일링(들)을 위해 사용될 수 있는 크기(들), 고주파수 스펙트럼 엔빌로프(high-frequency spectral envelope)의 재구성을 위한 주파수 범위(들), 등)를 포함하는 다수의 상이한 유형들의 정보 중의 임의의 것은 수신기 디바이스의 동작을 지시하기 위하여 송신기 디바이스로부터 수신기 디바이스로 제공될 수 있다.
도 18, 도 19, 도 20a 및 도 20b는 (예를 들어, 하나 이상의 디바이스들 내에서) 비디오 처리를 수행하기 위한 방법들의 다양한 실시예들을 예시한다.
도 18의 방법(1800)을 참조하면, 방법(1800)은 블록(1810)에서 도시된 바와 같이, 제 1 비디오 신호로부터 비디오 정보의 제 1 적어도 일부분을 선택함으로써 시작된다.
방법(1800)은 블록(1820)에서 도시된 바와 같이, 비디오 정보의 제 1 적어도 일부분보다 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 제 2 적어도 일부분을 생성하기 위하여 비디오 정보의 제 1 적어도 일부분의 적어도 하나의 특성을 복제함으로써 계속된다. 이러한 특성은 제 1 비디오 신호의 적어도 하나의 부분의 에너지 프로파일에 대응할 수 있다(예를 들어, 도 13 내지 도 17에 따른 것과 같이, 주파수의 함수인 에너지, 및 다른 도면들과 연관된 설명에서 참조되는 이러한 설명).
다음으로, 방법(1800)은 블록(1830)에서 도시된 바와 같이, 제 2 비디오 신호를 생성하기 위하여 비디오 정보의 제 1 적어도 일부분 및 비디오 정보의 제 2 적어도 일부분을 합성함으로써 동작한다. 본 명세서에서 설명된 바와 같은 비디오 처리 동작들은 볼록마다에 기초한 것을 포함하는 (또는 하나 이상의 비디오 신호들의 임의의 다른 분할을 거쳐) 다양한 기초들 중의 임의의 것으로 수행될 수 있다.
어떤 실시예들에서, 방법(1800)은 또한, 블록(1840)에서 도시된 바와 같이, 제 2 비디오 신호 또는 제 2 비디오 신호에 대응하는 신호를 통신 디바이스의 출력을 거쳐 출력함으로써 계속될 수 있다.
도 19의 방법(1900)을 참조하면, 방법(1900)은 블록(1910)에서 도시된 바와 같이, 제 1 비디오 신호로부터 비디오 정보의 제 1 적어도 일부분을 선택함으로써 시작된다.
방법(1900)은 블록(1920)에서 도시된 바와 같이, 비디오 정보의 제 1 적어도 일부분보다 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 제 2 적어도 일부분을 생성하기 위하여 비디오 정보의 제 1 적어도 일부분을 복제 및 스케일링함으로써 계속된다.
다음으로, 방법(1900)은 블록(1930)에서 도시된 바와 같이, 제 2 비디오 신호를 생성하기 위하여 비디오 정보의 제 1 적어도 일부분 및 비디오 정보의 제 2 적어도 일부분을 합성함으로써 동작한다. 본 명세서에서 설명된 바와 같은 비디오 처리 동작들은 블록마다에 기초한 것을 포함하는(또는 하나 이상의 비디오 신호들의 임의의 다른 분할을 거쳐) 다양한 기초들 중의 임의의 것으로 수행될 수 있다.
어떤 실시예들에서, 방법(1900)은 블록(1940)에서 도시된 바와 같이, 제 2 비디오 신호 또는 제 2 비디오 신호에 대응하는 신호를 통신 디바이스의 출력을 거쳐 출력함으로써 계속될 수도 있다.
도 20a의 방법(2000)을 참조하면, 방법(2000)은 블록(2010)에서 도시된 바와 같이, 제 2 비디오 신호를 생성함에 따라 비디오 정보의 제 1 적어도 일부분보다 제 1 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 제 2 적어도 일부분의 제 1 서브세트(subset)를 생성하기 위하여, 제 1 비디오 신호의 비디오 정보의 제 1 적어도 일부분의 제 1 서브세트를 사용함으로써 시작된다.
방법(2000)은 블록(2020)에서 도시된 바와 같이, 제 2 비디오 신호를 생성함에 따라 비디오 정보의 제 1 적어도 일부분보다 제 2 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 제 2 적어도 일부분의 제 2 서브세트를 생성하기 위하여, 제 1 비디오 신호의 비디오 정보의 제 1 적어도 일부분의 제 2 서브세트를 사용함으로써 계속된다.
도 20b의 방법(2001)을 참조하면, 방법(2001)은 블록(2011)에서 도시된 바와 같이, 제 2 비디오 신호를 생성함에 따라 비디오 정보의 제 1 적어도 일부분보다 제 1 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 제 2 적어도 일부분의 제 1 서브세트를 생성하기 위하여, 제 1 비디오 신호의 비디오 정보의 제 1 적어도 일부분을 사용함으로써 시작된다.
다음으로, 방법(2001)은 블록(2021)에서 도시된 바와 같이, 제 2 비디오 신호를 생성함에 따라 비디오 정보의 제 1 적어도 일부분보다 제 2 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 제 2 적어도 일부분의 제 2 서브세트를 생성하기 위하여, 제 1 비디오 신호의 비디오 정보의 제 1 적어도 일부분을 사용함으로써 동작한다.
본 명세서의 다양한 방법들에 대해 설명된 바와 같은 다양한 동작들 및 기능들은 기저대역 처리 모듈 및/또는 그 내부에서 구현된 처리 모듈 및/또는 그 내부의 다른 구성요소들을 이용하는 것과 같이, 통신 디바이스 내에서 수행될 수 있다는 것에 또한 주목해야 한다.
본 명세서에서 사용된 바와 같은, 용어들 "실질적으로(substantially)" 및 "대략(approximately)"은 그의 대응되는 용어 및/또는 아이템들 사이의 상대성에 대하여 산업상 용인가능한 허용(tolerance) 범위를 제공한다. 이러한 산업상 용인가능한 허용 범위가 1퍼센트 미만에서부터 50퍼센트까지 이르며 그에 대응되지만, 구성요소 값들, 집적 회로 처리 변형들, 온도 변화들, 상승 및 하강 시간들, 및/또는 열잡음에 제한되지 않는다. 아이템들 사이의 이러한 상대성은 범위가 수 퍼센트의 차이로부터 큰 규모의 차이들까지 이른다. 또한 본 명세서에서 사용될 수 있는 바와 같이, 용어(들) "~에 연결된(coupled to)" 및/또는 "연결하는(coupling)"은 아이템들 사이의 직접적인 연결을 포함하며 및/또는 사이에 있는 아이템(예컨대, 아이템은 구성요소(component), 소자(element), 회로, 및/또는 모듈을 포함하지만, 이에 제한되지는 않는다)을 통해 아이템들 사이의 간접적인 연결을 포함하고, 여기서 간접적인 연결을 위해, 사이에 오는 아이템은 신호의 정보를 변경시키지 않지만 그것의 전류 레벨, 전압 레벨, 및/또는 전력 레벨을 조정할 수 있다. 본 명세서에 더 사용될 수 있는 바와 같이, 추정되는 연결(inferred coupling)(즉, 하나의 소자가 추론(inference)에 의해 다른 소자에 연결되는)은 "~에 연결된(coupled to)"과 같은 방법으로 두 아이템들 사이의 직접적 및 간접적인 연결을 포함한다. 심지어 본 명세서에 더 사용될 수 있는 바와 같이, "동작 가능한(operable to)" 또는 "동작 가능하도록 연결된(operably coupled to)"이라는 용어는 활성화된 경우, 아이템은 하나 또는 그 이상의 대응되는 기능들을 구현하기 위한 하나 또는 그 이상의 전원 연결들, 입력(들), 출력(들) 등을 포함하며, 하나 또는 그 이상의 다른 아이템들과의 추정되는 연결을 더 포함할 수도 있다. 본 명세서에 여전히 더 사용될 수 있는 바와 같이, "~와 연관된(associated with)"이라는 용어는 분리된 아이템들 및/또는 또 다른 아이템 내에 내장되는 하나의 아이템의 직접적 및/또는 간접적인 연결을 포함한다. 본 명세서에 사용될 수 있는 바와 같이, "바람직하게 비교하는(compares favorably)"이라는 용어는 둘 이상의 아이템들, 신호들, 기타 등등 사이의 비교가 요망되는 관계를 제공한다는 것을 가리킨다. 예를 들면, 요망되는 관계가 신호 1이 신호 2보다 더 큰 크기를 가지는 것일 때, 바람직한 비교는 신호 1의 크기가 신호 2의 크기보다 더 크거나, 신호 2의 크기가 신호 1의 크기보다 더 작을 때 달성될 수 있다.
또한, 본 명세서에 사용되는 바와 같이, "처리 모듈", "모듈", "처리 회로", 및/또는 (예를 들어, 동작되고, 구현되고 및/또는 인코딩을 위한, 디코딩을 위한, 기저대역 처리를 위하는 것과 같은 다양한 모듈들 및/또는 회로들을 포함하는) "처리 유닛"이라는 용어들은 단일 처리 디바이스 또는 다수의 처리 디바이스일 수도 있다. 그러한 처리 디바이스는 마이크로프로세서, 마이크로컨트롤러, 디지털 신호 프로세서, 마이크로컴퓨터, 중앙처리장치, 필드 프로그램 가능 게이트 어레이, 프로그램 가능 로직 디바이스, 상태 머신(state machine), 로직 회로, 아날로그 회로, 디지털 회로 및/또는 회로 및/또는 연산 명령어(operational instruction)들의 하드 코딩에 기초하여 (아날로그 및/또는 디지털) 신호들을 조작하는 임의의 디바이스일 수도 있다. 처리 모듈, 모듈, 처리 회로 및/또는 처리 유닛은 연관된 메모리 및/또는 집적 메모리 소자를 가질 수도 있으며, 이는 단일 메모리 디바이스, 복수의 메모리 디바이스들 및/또는 처리 모듈, 모듈, 처리 회로 및/또는 처리 유닛의 내장된 회로일 수도 있다. 그러한 메모리 디바이스는 ROM(Read-Only Memory), RAM(Random Access Memory), 휘발성 메모리, 비휘발성 메모리, 정적 메모리, 동적 메모리, 플래시 메모리, 캐시 메모리, 및/또는 디지털 정보를 저장하는 임의의 디바이스일 수도 있다. 만약 처리 모듈, 모듈, 처리 회로 및/또는 처리 유닛이 하나 이상의 처리 디바이스를 포함하는 경우, 처리 디바이스들은 중앙에 위치할 수도 있거나(예를 들어, 유선 및/또는 무선 버스 구조를 통하여 같이 직접적으로 연결된), 분산되어 위치할 수도 있다(예를 들어, LAN(Local Area Network) 및/또는 WAN(Wide Area Network)을 통하여 간접적인 연결을 통한 클라우드 컴퓨팅). 만약 처리 모듈, 모듈, 처리 회로 및/또는 처리 유닛이 상태 머신, 아날로그 회로, 디지털 회로 및/또는 로직 회로를 통해 그것의 하나 이상의 기능들을 구현하는 경우, 대응되는 연산 명령어들을 저장하는 메모리 및/또는 메모리 소자는 상태 머신, 아날로그 회로, 디지털 회로 및/또는 로직 회로를 포함하는 회로의 내부에 내장되거나 또는 외부에 존재할 수도 있음을 더 주목해야 한다. 하나 또는 그 이상의 도면들에서 도시된 적어도 어떤 단계들 및/또는 기능들에 대응되는 하드 코딩된 및/또는 연산 명령어들을 메모리 소자가 저장할 수도 있고, 처리 모듈, 모듈, 처리 회로 및/또는 처리 유닛이 실행한다는 것에 또한 주목해야 한다. 이러한 메모리 디바이스 또는 메모리 소자는 제조물(article of manufacture)에 포함될 수 있다.
본 발명은 또한 특정 기능들 및 그의 관계들의 수행을 나타내는 방법 단계들을 참조하여 이상에서 설명되었다. 이러한 기능적 구성요소들 및 방법 단계들의 경계들 및 시퀀스는 설명의 편의를 위해 본 명세서에서 임의로 정의되었다. 특정 기능들 및 관계들이 적절히 수행되는 한 대안적인 경계들 및 시퀀스들이 정의될 수 있다. 그러므로 임의의 이러한 대안적인 경계들 또는 시퀀스들은 청구된 발명의 범위 및 사상 내에 있다. 더욱이, 이들 기능적 구성요소들의 경계들은 설명의 편의를 위하여 임의로 정의되었다. 특정 중요 기능들이 적절하게 수행되는 한도 내에서 대안적인 경계들도 정의될 수 있다. 유사하게, 또한 순서도 블록들은 특정 중요 기능들을 나타내기 위하여 임의로 본 명세서에 정의되었을 수도 있다. 사용되는 범위에 대하여, 순서도 블록 경계들 및 시퀀스는 다르게 정의될 수 있었고, 여전히 특정 중요 기능을 수행한다. 기능적 구성요소들 및 순서도 블록들의 대안적인 정의 및 시퀀스들이 발명의 범위 및 사상 내에 있다. 당업자는 기능적 구성요소들 및, 본 명세서의 다른 예시적인 블록들, 모듈들 및 구성요소들이 예시된 것과 같이 또는 분리된 구성요소들, 응용 특정 집적 회로들, 적절한 소프트웨어를 실행하는 프로세서들 및 이와 유사한 것 또는 이들의 임의의 조합들에 의하여 구현될 수 있다는 것을 또한 인식할 수 있을 것이다.
또한, 본 발명은 적어도 부분적으로 하나 또는 그 이상의 실시예들 관점에서 설명되었을 수도 있다. 본 발명의 일 실시예는 본 발명, 본 발명의 측면, 본 발명의 특징, 본 발명의 개념 및/또는 본 발명의 예를 설명하기 위하여 본 명세서에서 사용된다. 장치, 제조물, 머신의 물리적인 실시예 및/또는 본 발명을 구체화하는 처리는 본 명세서에서 논의된 하나 또는 그 이상의 실시예들과 관련하여 기술된 하나 또는 그 이상의 측면들, 특징들, 개념들, 예 등을 포함할 수도 있다. 더불어, 도면을 통틀어, 실시예들은 동일 또는 다른 참조 부호들을 사용할 수도 있는 동일 또는 유사하게 명명된 기능들, 단계들, 모듈들을 통합할 수도 있고, 예를 들어, 기능들, 단계들, 모듈들 등은 동일 또는 유사한 기능들, 단계들, 모듈들 등 또는 다른 것들일 수도 있다.
특별히 대조적으로 언급되지 않는 한, 본 명세서에서 제시된 도면들 중 임의의 도면에서 소자로, 소자로부터 및/또는 소자들 사이의 신호는 아날로그 또는 디지털, 연속 시간 또는 이산 시간, 싱글-엔디드(single-ended) 또는 디퍼런셜(differential)일 수도 있다. 예를 들어, 신호 경로가 싱글-엔디드 신호 경로로 보여지는 경우, 이는 또한 디퍼런셜 신호 경로를 나타낸다. 유사하게, 신호 경로가 디퍼련셜 신호 경로로 보여지는 경우, 이는 또한 싱글-엔디드 신호 경로를 나타낸다. 하나 또는 그 이상의 특정 아키텍처들이 여기에 기술되지만, 당업자가 인식할 수 있는 바와 같이 다른 아키텍처들도 명확하게 도시되지 않은 하나 또는 그 이상의 데이터 버스들, 소자들 사이의 직접적인 연결 및/또는 다른 소자들 사이의 간접적인 연결을 사용하여 동일하게 구현될 수도 있다.
용어 "모듈"은 본 발명의 다양한 실시예들의 설명에서 사용된다. 모듈은 하나 또는 그 이상의 출력 신호들을 생산하기 위한 하나 또는 그 이상의 입력 신호들의 처리와 같은 하나 또는 그 이상의 기능들을 수행하기 위하여 하드웨어를 통하여 구현되는 기능 블록을 포함한다. 모듈을 구현하는 하드웨어는 소프트웨어 및/또는 펌웨어와의 연결을 통하여 스스로 동작할 수도 있다. 본 명세서에 기술된 바와 같이, 모듈은 그들 자체가 모듈들인 하나 또는 그 이상의 서브-모듈들을 포함할 수도 있다.
본 발명의 다양한 기능들 및 특징들의 특정 조합들은 본 명세서에 명확하게 기술되었지만, 이들 특징들 및 기능들의 다른 조합들이 유사하게 가능하다. 본 발명은 본 명세서에 개시된 특정 예들에 의하여 제한되지 않고, 이러한 다른 조합들을 명확하게 통합한다.

Claims (15)

  1. 비디오 처리기를 포함하는 장치로서,
    상기 비디오 처리기는,
    제 1 비디오 신호로부터 비디오 정보의 제 1 적어도 일부분을 선택하고;
    비디오 정보의 상기 제 1 적어도 일부분보다 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 제 2 적어도 일부분을 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분 또는 비디오 정보의 상기 제 1 적어도 일부분의 적어도 하나의 특성을 복제하고;
    제 2 비디오 신호를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분 및 비디오 정보의 상기 제 2 적어도 일부분을 합성하는, 장치.
  2. 청구항 1에 있어서,
    상기 비디오 처리기는 비디오 정보의 상기 제 2 적어도 일부분을 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분을 복제 및 스케일링하는, 장치.
  3. 청구항 1 또는 청구항 2에 있어서,
    비디오 정보의 상기 제 1 적어도 일부분의 상기 적어도 하나의 특성은 주파수의 함수인 에너지 프로파일에 대응하는, 장치.
  4. 청구항 1 내지 청구항 3 중 어느 한 항에 있어서,
    상기 비디오 처리기는 비디오 정보의 상기 제 1 적어도 일부분보다 제 1 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 상기 제 2 적어도 일부분의 제 1 서브세트(subset)를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분의 제 1 서브세트를 사용하고;
    상기 비디오 처리기는 비디오 정보의 상기 제 1 적어도 일부분보다 제 2 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 상기 제 2 적어도 일부분의 제 2 서브세트를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분의 제 2 서브세트를 사용하는, 장치.
  5. 청구항 1 내지 청구항 4 중 어느 한 항에 있어서,
    상기 비디오 처리기는 비디오 정보의 상기 제 1 적어도 일부분보다 제 1 상대적으로 더 높은 주파수 범위 내에서의 비디오 정보의 상기 제 2 적어도 일부분의 제 1 서브세트와, 비디오 정보의 상기 제 1 적어도 일부분보다 제 2 상대적으로 더 높은 주파수 범위 내에서의 비디오 정보의 상기 제 2 적어도 일부분의 제 2 서브세트를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분을 사용하는, 장치.
  6. 청구항 1 내지 청구항 5 중 어느 한 항에 있어서,
    상기 비디오 처리기는 상기 제 2 비디오 신호를 생성하기 위하여, 상기 제 1 비디오 신호를 처리함에 따라 블록마다에 기초하여 동작하는, 장치.
  7. 청구항 1 내지 청구항 6 중 어느 한 항에 있어서,
    상기 장치는 비디오 디코더인, 장치.
  8. 청구항 1 내지 청구항 7 중 어느 한 항에 있어서,
    상기 장치는 위성 통신 시스템, 무선 통신 시스템, 유선 통신 시스템, 광섬유 통신 시스템, 및 이동 통신 시스템 중의 적어도 하나 내에서 동작하는 통신 디바이스인, 장치.
  9. 통신 디바이스를 동작시키기 위한 방법으로서,
    제 1 비디오 신호로부터 비디오 정보의 제 1 적어도 일부분을 선택하는 단계;
    비디오 정보의 상기 제 1 적어도 일부분보다 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 제 2 적어도 일부분을 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분의 적어도 하나의 특성을 복제하는 단계;
    제 2 비디오 신호를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분 및 비디오 정보의 상기 제 2 적어도 일부분을 합성하는 단계; 및
    상기 통신 디바이스의 출력을 거쳐, 상기 제 2 비디오 신호 또는 상기 제 2 비디오 신호에 대응하는 신호를 출력하는 단계를 포함하는, 통신 디바이스를 동작시키기 위한 방법.
  10. 청구항 9에 있어서,
    비디오 정보의 상기 제 2 적어도 일부분을 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분을 복제 및 스케일링하는 단계를 더 포함하는, 통신 디바이스를 동작시키기 위한 방법.
  11. 청구항 9 또는 청구항 10에 있어서,
    비디오 정보의 상기 제 1 적어도 일부분의 상기 적어도 하나의 특성은 주파수의 함수인 에너지 프로파일에 대응하는, 통신 디바이스를 동작시키기 위한 방법.
  12. 청구항 9 내지 청구항 11 중 어느 한 항에 있어서,
    비디오 정보의 상기 제 1 적어도 일부분보다 제 1 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 상기 제 2 적어도 일부분의 제 1 서브세트(subset)를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분의 제 1 서브세트를 사용하는 단계; 및
    비디오 정보의 상기 제 1 적어도 일부분보다 제 2 상대적으로 더 높은 주파수 범위 내에서 비디오 정보의 상기 제 2 적어도 일부분의 제 2 서브세트를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분의 제 2 서브세트를 사용하는 단계를 더 포함하는, 통신 디바이스를 동작시키기 위한 방법.
  13. 청구항 9 내지 청구항 12 중 어느 한 항에 있어서,
    비디오 정보의 상기 제 1 적어도 일부분보다 제 1 상대적으로 더 높은 주파수 범위 내에서의 비디오 정보의 상기 제 2 적어도 일부분의 제 1 서브세트와, 비디오 정보의 상기 제 1 적어도 일부분보다 제 2 상대적으로 더 높은 주파수 범위 내에서의 비디오 정보의 상기 제 2 적어도 일부분의 제 2 서브세트를 생성하기 위하여, 비디오 정보의 상기 제 1 적어도 일부분을 사용하는 단계를 더 포함하는, 통신 디바이스를 동작시키기 위한 방법.
  14. 청구항 9 내지 청구항 13 중 어느 한 항에 있어서,
    상기 제 2 비디오 신호를 생성함에 따라 블록마다에 기초하여 상기 제 1 비디오 신호를 처리하는, 통신 디바이스를 동작시키기 위한 방법.
  15. 청구항 9 내지 청구항 14 중 어느 한 항에 있어서,
    상기 통신 디바이스는 위성 통신 시스템, 무선 통신 시스템, 유선 통신 시스템, 광섬유 통신 시스템, 및 이동 통신 시스템 중의 적어도 하나 내에서 동작하는, 통신 디바이스를 동작시키기 위한 방법.
KR1020130015007A 2012-02-10 2013-02-12 주파수 도메인 샘플 적응적 오프셋(sao) KR20130092513A (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201261597683P 2012-02-10 2012-02-10
US61/597,683 2012-02-10
US201261603190P 2012-02-24 2012-02-24
US61/603,190 2012-02-24
US13/623,765 2012-09-20
US13/623,765 US9380320B2 (en) 2012-02-10 2012-09-20 Frequency domain sample adaptive offset (SAO)

Publications (1)

Publication Number Publication Date
KR20130092513A true KR20130092513A (ko) 2013-08-20

Family

ID=47715815

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130015007A KR20130092513A (ko) 2012-02-10 2013-02-12 주파수 도메인 샘플 적응적 오프셋(sao)

Country Status (5)

Country Link
US (1) US9380320B2 (ko)
EP (1) EP2627087A1 (ko)
KR (1) KR20130092513A (ko)
CN (1) CN103248887A (ko)
TW (1) TWI542219B (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9008170B2 (en) 2011-05-10 2015-04-14 Qualcomm Incorporated Offset type and coefficients signaling method for sample adaptive offset
US9349188B2 (en) 2013-03-15 2016-05-24 Samsung Electronics Co., Ltd. Creating details in an image with adaptive frequency strength controlled transform
US9305332B2 (en) 2013-03-15 2016-04-05 Samsung Electronics Company, Ltd. Creating details in an image with frequency lifting
US9536288B2 (en) * 2013-03-15 2017-01-03 Samsung Electronics Co., Ltd. Creating details in an image with adaptive frequency lifting
CN103442230B (zh) * 2013-08-27 2018-04-27 复旦大学 适用于hevc标准的编码器中sao模式判决的拉格朗日乘子取值方法
EP3061233B1 (en) 2013-10-25 2019-12-11 Microsoft Technology Licensing, LLC Representing blocks with hash values in video and image coding and decoding
CN105684441B (zh) 2013-10-25 2018-09-21 微软技术许可有限责任公司 视频和图像编码中的基于散列的块匹配
KR102307350B1 (ko) 2013-12-12 2021-09-30 삼성전자주식회사 Sao 파라미터를 시그널링하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
US10368092B2 (en) 2014-03-04 2019-07-30 Microsoft Technology Licensing, Llc Encoder-side decisions for block flipping and skip mode in intra block copy prediction
KR102185245B1 (ko) 2014-03-04 2020-12-01 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 해시 기반 블록 매칭을 위한 해시 테이블 구성 및 이용가능성 검사
CN110267039B (zh) * 2014-04-04 2023-05-16 北京三星通信技术研究有限公司 对像素标识进行处理的方法和装置
CN105706450B (zh) * 2014-06-23 2019-07-16 微软技术许可有限责任公司 根据基于散列的块匹配的结果的编码器决定
CN105530519B (zh) * 2014-09-29 2018-09-25 炬芯(珠海)科技有限公司 一种环内滤波方法及装置
MX2017004210A (es) 2014-09-30 2017-11-15 Microsoft Technology Licensing Llc Decisiones de codificador basadas en hash para codificar video.
US9652829B2 (en) 2015-01-22 2017-05-16 Samsung Electronics Co., Ltd. Video super-resolution by fast video segmentation for boundary accuracy control
CN105472366B (zh) * 2015-12-07 2016-11-02 京东方科技集团股份有限公司 基于心理视觉调制的图像处理方法、装置及显示设备
CN106303450A (zh) * 2016-08-29 2017-01-04 合肥康胜达智能科技有限公司 一种视频图像处理方法
US10390039B2 (en) 2016-08-31 2019-08-20 Microsoft Technology Licensing, Llc Motion estimation for screen remoting scenarios
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
JP7200074B2 (ja) * 2019-09-20 2023-01-06 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
US11202085B1 (en) 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19505578A1 (de) * 1995-02-18 1996-08-22 Sel Alcatel Ag Optisches Übertragungssystem für Kabelfernsehsignale und Video- und Telekommunikationssignale
RU99116256A (ru) 1996-12-20 2001-05-10 Уэстфорд Текнолэджи Копэрейшн (Us) Способ (варианты) и система для оценки исходного сигнала
EP1246469A3 (fr) * 2001-03-27 2005-04-13 Koninklijke Philips Electronics N.V. Procédé de réduction de format et de décodage similtanés de signaux vidéo codés
CN1288622C (zh) * 2001-11-02 2006-12-06 松下电器产业株式会社 编码设备和解码设备
US20130101023A9 (en) * 2007-03-12 2013-04-25 Vixs Systems, Inc. Video encoder with video decoder reuse and method for use therewith
US7911515B2 (en) * 2007-09-20 2011-03-22 Victor Company Of Japan, Ltd. Imaging apparatus and method of processing video signal
MX2011000372A (es) * 2008-07-11 2011-05-19 Fraunhofer Ges Forschung Sintetizador de señales de audio y codificador de señales de audio.
EP2169670B1 (en) * 2008-09-25 2016-07-20 LG Electronics Inc. An apparatus for processing an audio signal and method thereof
US8660174B2 (en) 2010-06-15 2014-02-25 Mediatek Inc. Apparatus and method of adaptive offset for video coding

Also Published As

Publication number Publication date
CN103248887A (zh) 2013-08-14
TWI542219B (zh) 2016-07-11
TW201334534A (zh) 2013-08-16
US20130208810A1 (en) 2013-08-15
EP2627087A1 (en) 2013-08-14
US9380320B2 (en) 2016-06-28

Similar Documents

Publication Publication Date Title
US9380320B2 (en) Frequency domain sample adaptive offset (SAO)
US11800086B2 (en) Sample adaptive offset (SAO) in accordance with video coding
US9332283B2 (en) Signaling of prediction size unit in accordance with video coding
US9432700B2 (en) Adaptive loop filtering in accordance with video coding
US10165285B2 (en) Video coding tree sub-block splitting
US20130343447A1 (en) Adaptive loop filter (ALF) padding in accordance with video coding
US10547860B2 (en) Video coding with trade-off between frame rate and chroma fidelity
KR101357842B1 (ko) 인프라스트럭쳐 성능들 및 현재 조건들에 기초한 비디오 코딩 서브-블록 사이징
US9231616B2 (en) Unified binarization for CABAC/CAVLC entropy coding
US9071848B2 (en) Sub-band video coding architecture for packet based transmission
US20130235926A1 (en) Memory efficient video parameter processing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application