KR20230127999A - 비디오 데이터의 송신을 위한 하이브리드 디지털-아날로그 변조에서의 인터레이싱된 계수들 - Google Patents

비디오 데이터의 송신을 위한 하이브리드 디지털-아날로그 변조에서의 인터레이싱된 계수들 Download PDF

Info

Publication number
KR20230127999A
KR20230127999A KR1020237021248A KR20237021248A KR20230127999A KR 20230127999 A KR20230127999 A KR 20230127999A KR 1020237021248 A KR1020237021248 A KR 1020237021248A KR 20237021248 A KR20237021248 A KR 20237021248A KR 20230127999 A KR20230127999 A KR 20230127999A
Authority
KR
South Korea
Prior art keywords
values
coefficients
data
amplitude value
video data
Prior art date
Application number
KR1020237021248A
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 KR20230127999A publication Critical patent/KR20230127999A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • 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
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • H04N7/012Conversion between an interlaced and a progressive signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation

Landscapes

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

Abstract

비디오 데이터를 인코딩하는 방법으로서, 그 방법은, 비디오 데이터의 예측 데이터를 생성하는 단계; 비디오 데이터의 디지털 샘플 값들 및 예측 데이터에 기초하여 잔차 데이터를 생성하는 단계; 잔차 데이터에 기초하여 계수들을 생성하는 단계; 인터레이싱된 진폭 값을 생성하기 위해 인터레이싱 프로세스를 수행하는 단계로서, 인터레이싱 프로세스는 인터레이싱된 진폭 값을 생성하기 위해 계수들 중 2 이상의 계수들의 비트들을 인터레이싱하는, 상기 인터레이싱 프로세스를 수행하는 단계; 인터레이싱된 진폭 값에 기초하여 아날로그 신호를 변조하는 단계; 예측 데이터에 기초하여 디지털 값들을 생성하는 단계; 및 예측 블록에 기초하여 디지털 값들 및 아날로그 신호를 출력하는 단계를 포함한다.

Description

비디오 데이터의 송신을 위한 하이브리드 디지털-아날로그 변조에서의 인터레이싱된 계수들
본 출원은 2020년 12월 29일자로 출원된 미국 특허출원 제17/137,088호를 우선권 주장하며, 그 전체 내용은 본원에 참조에 의해 통합된다.
기술분야
본 개시는 비디오 인코딩 및 디코딩에 관한 것이다.
고품질 비디오 데이터를 전송 및 수신하기 위한 능력은 제 5 세대 (5G) 무선 네트워크들과 같은 어드밴스드 무선 네트워크들의 전개를 위한 강력한 이용 사례들 중 하나이다. 예를 들어, 5G 무선 네트워크들 및 그 이상은 라이브 이벤트들, 텔레컨퍼런싱 등의 고품질 비디오의 스트리밍을 인에이블할 수도 있다. 일부 사례들에서, 사용자 디바이스는 비디오 데이터를 인코딩한 다음, 무선 시스템을 사용하여 인코딩된 비디오 데이터를 무선 기지국으로 송신할 수도 있다. 무선 기지국은, 차례로, 인코딩된 비디오 데이터를 인터넷과 같은 네트워크를 통해 목적지 디바이스로 라우팅할 수도 있다.
어드밴스드 무선 네트워크들의 높은 대역폭 능력들을 갖더라도, 디바이스들은 비디오 데이터의 송신 이전에 비디오 데이터를 인코딩할 필요가 있을 수도 있다. 하지만, 현대의 비디오 코딩 표준들은 상당한 양의 전력의 소비를 수반할 수도 있으며, 이는 스마트폰들 및 태블릿들과 같은 모바일 디바이스들 상에서 제한된 공급에 있을 수도 있다.
본 개시는 비디오 데이터를 인코딩 및 디코딩하기 위한 기법들을 설명한다. 본 명세서에서 설명된 바와 같이, 비디오 인코더는 비디오 데이터의 송신을 위해 하이브리드 디지털-아날로그 변조를 수행할 수도 있다. 비디오 데이터의 송신을 위해 하이브리드 디지털-아날로그 변조를 수행할 때, 비디오 인코더는 디지털 데이터 및 아날로그 신호를 송신할 수도 있다. 비디오 디코더는 비디오 데이터를 복원하기 위해 디지털 데이터 및 아날로그 신호 양자 모두를 사용한다. 하이브리드 디지털-아날로그 변조의 사용은, 디지털 비디오 코덱들보다 더 적은 전력 또는 다른 리소스들을 잠재적으로 사용하면서 비디오 데이터에 대한 압축을 제공할 수도 있다.
일 예에서, 본 개시는 비디오 데이터를 인코딩하는 방법을 설명하며, 그 방법은, 비디오 데이터에 기초하여 계수들을 생성하는 단계; 계수 벡터들을 생성하는 단계로서, 계수 벡터들의 각각은 계수들 중 n개를 포함하는, 상기 계수 벡터들을 생성하는 단계; 계수 벡터들의 각각에 대해, 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정하는 단계로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인 (number line) 에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 진폭 값을 결정하는 단계; 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조하는 단계; 및 아날로그 신호를 출력하는 단계를 포함한다.
다른 예에서, 본 개시는 비디오 데이터를 디코딩하는 방법을 설명하며, 그 방법은, 아날로그 신호에 기초하여, 복수의 계수 벡터들에 대한 진폭 값들을 결정하는 단계; 계수 벡터들의 각각에 대해, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하는 단계로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 계수 벡터에서의 계수들을 결정하는 단계; 및 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하는 단계를 포함한다.
다른 예에서, 본 개시는 비디오 데이터를 인코딩하기 위한 디바이스를 설명하며, 그 디바이스는 회로부에서 구현된 하나 이상의 프로세서들; 및 모뎀을 포함하고, 그 하나 이상의 프로세서들은, 비디오 데이터에 기초하여 계수들을 생성하고; 계수 벡터들을 생성하는 것으로서, 계수 벡터들의 각각은 계수들 중 n개를 포함하는, 상기 계수 벡터들을 생성하고; 그리고 계수 벡터들의 각각에 대해, 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정하는 것으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 진폭 값을 결정하도록 구성되고; 그 모뎀은 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조하도록 구성된다.
다른 예에서, 본 개시는 비디오 데이터를 디코딩하기 위한 디바이스를 설명하며, 그 디바이스는, 아날로그 신호를 수신하도록 구성된 모뎀; 및 회로부에서 구현된 하나 이상의 프로세서들을 포함하고, 그 하나 이상의 프로세서들은, 아날로그 신호에 기초하여, 복수의 계수 벡터들에 대한 진폭 값들을 결정하고; 계수 벡터들의 각각에 대해, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하는 것으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 계수 벡터에서의 계수들을 결정하고; 그리고 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하도록 구성된다.
다른 예에서, 본 개시는 비디오 데이터를 인코딩하기 위한 디바이스를 설명하며, 그 디바이스는, 비디오 데이터에 기초하여 계수들을 생성하는 수단; 계수 벡터들을 생성하는 수단으로서, 계수 벡터들의 각각은 계수들 중 n개를 포함하는, 상기 계수 벡터들을 생성하는 수단; 계수 벡터들의 각각에 대해, 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정하는 수단으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 진폭 값을 결정하는 수단; 및 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조하는 수단을 포함한다.
다른 예에서, 본 개시는 비디오 데이터를 디코딩하기 위한 디바이스를 설명하며, 그 디바이스는, 아날로그 신호에 기초하여, 복수의 계수 벡터들에 대한 진폭 값들을 결정하는 수단; 계수 벡터들의 각각에 대해, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하는 수단으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 계수 벡터에서의 계수들을 결정하는 수단; 및 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하는 수단을 포함한다.
다른 예에서, 본 개시는 명령들이 저장된 컴퓨터 판독가능 데이터 저장 매체를 설명하며, 그 명령들은, 실행될 경우, 하나 이상의 프로세서들로 하여금 비디오 데이터에 기초하여 계수들을 생성하게 하고; 계수 벡터들을 생성하게 하는 것으로서, 계수 벡터들의 각각은 계수들 중 n개를 포함하는, 상기 계수 벡터들을 생성하게 하고; 계수 벡터들의 각각에 대해, 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정하게 하는 것으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 진폭 값을 결정하게 하고; 그리고 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조하게 한다.
다른 예에서, 본 개시는 명령들이 저장된 컴퓨터 판독가능 데이터 저장 매체를 설명하며, 그 명령들은, 실행될 경우, 하나 이상의 프로세서들로 하여금, 아날로그 신호에 기초하여, 복수의 계수 벡터들에 대한 진폭 값들을 결정하게 하고; 계수 벡터들의 각각에 대해, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하게 하는 것으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 계수 벡터에서의 계수들을 결정하게 하고; 그리고 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하게 한다.
다른 예에서, 본 개시는 비디오 데이터를 인코딩하는 방법을 설명하며, 그 방법은, 비디오 데이터의 디지털 샘플 값들에 기초하여 계수들을 생성하는 단계; 아날로그 신호를 전송할 채널에 대한 스펙트럼 효율을 결정하는 단계; 채널의 스펙트럼 효율에 기초하여 값 (n) 을 결정하는 단계; 계수 벡터들을 생성하는 단계로서, 계수 벡터들의 각각은 계수들 중 n개를 포함하는, 상기 계수 벡터들을 생성하는 단계; 계수 벡터들의 각각에 대해, 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정하는 단계로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 진폭 값을 결정하는 단계; 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조하는 단계; 및 채널 상에 아날로그 신호를 출력하는 단계를 포함한다.
다른 예에서, 본 개시는 비디오 데이터를 디코딩하는 방법을 설명하며, 그 방법은, 채널을 통해 송신된 아날로그 신호를 수신하는 단계; 복수의 계수 벡터들에 대한 진폭 값들을 결정하기 위해 아날로그 신호를 복조하는 단계; 값 (n) 을 결정하는 단계로서, 값 (n) 은 채널의 스펙트럼 효율에 기초하는, 상기 값 (n) 을 결정하는 단계; 계수 벡터들의 각각에 대해, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하는 단계로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 계수 벡터에서의 계수들을 결정하는 단계; 및 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하는 단계를 포함한다.
다른 예에서, 본 개시는 비디오 데이터를 인코딩하기 위한 디바이스를 설명하며, 그 디바이스는 비디오 데이터를 저장하도록 구성된 메모리; 회로부에서 구현된 하나 이상의 프로세서들; 및 모뎀을 포함하고, 그 하나 이상의 프로세서들은, 비디오 데이터의 디지털 샘플 값들에 기초하여 계수들을 생성하고; 아날로그 신호를 출력할 채널에 대한 스펙트럼 효율을 결정하고; 채널의 스펙트럼 효율에 기초하여 값 (n) 을 결정하고; 계수 벡터들을 생성하는 것으로서, 계수 벡터들의 각각은 계수들 중 n개를 포함하는, 상기 계수 벡터들을 생성하고; 계수 벡터들의 각각에 대해, 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정하는 것으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 진폭 값을 결정하고; 그리고 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조하도록 구성되고; 그 모뎀은 채널 상에 아날로그 신호를 출력하도록 구성된다.
다른 예에서, 본 개시는 비디오 데이터를 디코딩하기 위한 디바이스를 설명하며, 그 디바이스는 채널을 통해 송신된 아날로그 신호를 수신하도록 구성된 모뎀; 회로부에서 구현된 하나 이상의 프로세서들을 포함하고, 그 하나 이상의 프로세서들은, 복수의 계수 벡터들에 대한 진폭 값들을 결정하기 위해 아날로그 신호를 복조하고; 값 (n) 을 결정하는 것으로서, 값 (n) 은 채널의 스펙트럼 효율에 기초하는, 상기 값 (n) 을 결정하고; 계수 벡터들의 각각에 대해, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하는 것으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 계수 벡터에서의 계수들을 결정하고; 그리고 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하도록 구성된다.
다른 예에서, 본 개시는 비디오 데이터를 인코딩하기 위한 디바이스를 설명하며, 그 디바이스는, 비디오 데이터의 디지털 샘플 값들에 기초하여 계수들을 생성하는 수단; 아날로그 신호를 출력할 채널에 대한 스펙트럼 효율을 결정하는 수단; 채널의 스펙트럼 효율에 기초하여 값 (n) 을 결정하는 수단; 계수 벡터들을 생성하는 수단으로서, 계수 벡터들의 각각은 계수들 중 n개를 포함하는, 상기 계수 벡터들을 생성하는 수단; 계수 벡터들의 각각에 대해, 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정하는 수단으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 진폭 값을 결정하는 수단; 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조하는 수단; 및 채널 상에 아날로그 신호를 출력하는 수단을 포함한다.
다른 예에서, 본 개시는 비디오 데이터를 디코딩하기 위한 디바이스를 설명하며, 그 디바이스는, 채널을 통해 송신된 아날로그 신호를 수신하는 수단; 복수의 계수 벡터들에 대한 진폭 값들을 결정하기 위해 아날로그 신호를 복조하는 수단; 값 (n) 을 결정하는 수단으로서, 값 (n) 은 채널의 스펙트럼 효율에 기초하는, 상기 값 (n) 을 결정하는 수단; 계수 벡터들의 각각에 대해, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하는 수단으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 계수 벡터에서의 계수들을 결정하는 수단; 및 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하는 수단을 포함한다.
다른 예에서, 본 개시는 명령들이 저장된 컴퓨터 판독가능 데이터 저장 매체를 설명하며, 그 명령들은, 실행될 경우, 하나 이상의 프로세서들로 하여금, 비디오 데이터의 디지털 샘플 값들에 기초하여 계수들을 생성하게 하고; 아날로그 신호를 출력할 채널에 대한 스펙트럼 효율을 결정하게 하고; 채널의 스펙트럼 효율에 기초하여 값 (n) 을 결정하게 하고; 계수 벡터들을 생성하게 하는 것으로서, 계수 벡터들의 각각은 계수들 중 n개를 포함하는, 상기 계수 벡터들을 생성하게 하고; 계수 벡터들의 각각에 대해, 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정하게 하는 것으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 진폭 값을 결정하게 하고; 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조하게 하고; 그리고 채널 상에 아날로그 신호를 출력하게 한다.
다른 예에서, 본 개시는 명령들이 저장된 컴퓨터 판독가능 데이터 저장 매체를 설명하며, 그 명령들은, 실행될 경우, 하나 이상의 프로세서들로 하여금, 채널을 통해 송신된 아날로그 신호를 수신하게 하고; 복수의 계수 벡터들에 대한 진폭 값들을 결정하기 위해 아날로그 신호를 복조하게 하고; 값 (n) 을 결정하게 하는 것으로서, 값 (n) 은 채널의 스펙트럼 효율에 기초하는, 상기 값 (n) 을 결정하게 하고; 계수 벡터들의 각각에 대해, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하게 하는 것으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 계수 벡터에서의 계수들을 결정하게 하고; 그리고 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하게 한다.
다른 예에서, 본 개시는 비디오 데이터를 인코딩하는 방법을 설명하며, 그 방법은, 비디오 데이터에 대한 예측 데이터를 생성하는 단계; 비디오 데이터의 디지털 샘플 값들 및 예측 데이터에 기초하여 잔차 데이터를 생성하는 단계; 잔차 데이터에 기초하여 계수들을 생성하는 단계; 인터레이싱된 진폭 값을 생성하기 위해 인터레이싱 프로세스를 수행하는 단계로서, 인터레이싱 프로세스는 인터레이싱된 진폭 값을 생성하기 위해 계수들 중 2 이상의 계수들의 비트들을 인터레이싱하는, 상기 인터레이싱 프로세스를 수행하는 단계; 예측 데이터에 기초하여 디지털 값들을 생성하는 단계; 및 디지털 값들 및 인터레이싱된 진폭 값에 기초하여 변조된 하나 이상의 아날로그 신호들을 출력하는 단계를 포함한다.
다른 예에서, 본 개시는 비디오 데이터를 디코딩하는 방법을 설명하며, 그 방법은, 아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정하는 단계; 2 이상의 계수들을 생성하기 위해 인터레이싱해제 (deinterlacing) 프로세스를 수행하는 단계로서, 2 이상의 계수들의 비트들은 인터레이싱된 진폭 값에서 인터레이싱되는, 상기 인터레이싱해제 프로세스를 수행하는 단계; 2 이상의 계수들에 기초하여 잔차 데이터를 생성하는 단계; 디지털 값들을 획득하는 단계; 디지털 값들에 기초하여 예측 데이터를 생성하는 단계; 및 예측 데이터 및 잔차 데이터에 기초하여 비디오 데이터를 복원하는 단계를 포함한다.
다른 예에서, 본 개시는 비디오 데이터를 인코딩하기 위한 디바이스를 설명하며, 그 디바이스는, 비디오 데이터를 저장하도록 구성된 메모리; 회로부에서 구현된 하나 이상의 프로세서들; 및 모뎀을 포함하고, 그 하나 이상의 프로세서들은 비디오 데이터에 대한 예측 데이터를 생성하고; 비디오 데이터의 디지털 샘플 값들 및 예측 데이터에 기초하여 잔차 데이터를 생성하고; 잔차 데이터에 기초하여 계수들을 생성하고; 인터레이싱된 진폭 값을 생성하기 위해 인터레이싱 프로세스를 수행하는 것으로서, 인터레이싱 프로세스는 인터레이싱된 진폭 값을 생성하기 위해 계수들 중 2 이상의 계수들의 비트들을 인터레이싱하는, 상기 인터레이싱 프로세스를 수행하고; 그리고 예측 데이터에 기초하여 디지털 값들을 생성하도록 구성되고; 그 모뎀은 디지털 값들 및 인터레이싱된 진폭 값에 기초하여 변조된 하나 이상의 아날로그 신호들을 출력하도록 구성된다.
다른 예에서, 본 개시는 비디오 데이터를 디코딩하기 위한 디바이스를 설명하며, 그 디바이스는, 아날로그 신호 및 디지털 값들을 획득하도록 구성된 모뎀; 및 회로부에서 구현된 하나 이상의 프로세서들을 포함하고, 그 하나 이상의 프로세서들은, 아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정하고; 2 이상의 계수들을 생성하기 위해 인터레이싱해제 프로세스를 수행하는 것으로서, 2 이상의 계수들의 비트들은 인터레이싱된 진폭 값에서 인터레이싱되는, 상기 인터레이싱해제 프로세스를 수행하고; 2 이상의 계수들에 기초하여 잔차 데이터를 생성하고; 디지털 값들을 획득하고; 디지털 값들에 기초하여 예측 데이터를 생성하고; 그리고 예측 데이터 및 잔차 데이터에 기초하여 비디오 데이터를 복원하도록 구성된다.
다른 예에서, 본 개시는 비디오 데이터를 인코딩하기 위한 디바이스를 설명하며, 그 디바이스는, 비디오 데이터에 대한 예측 데이터를 생성하는 수단; 비디오 데이터의 디지털 샘플 값들 및 예측 데이터에 기초하여 잔차 데이터를 생성하는 수단; 잔차 데이터에 기초하여 계수들을 생성하는 수단; 인터레이싱된 진폭 값을 생성하기 위해 인터레이싱 프로세스를 수행하는 수단으로서, 인터레이싱 프로세스는 인터레이싱된 진폭 값을 생성하기 위해 계수들 중 2 이상의 계수들의 비트들을 인터레이싱하는, 상기 인터레이싱 프로세스를 수행하는 수단; 인터레이싱된 진폭 값에 기초하여 아날로그 신호를 변조하는 수단; 예측 데이터에 기초하여 디지털 값들을 생성하는 수단; 및 예측 블록에 기초하여 디지털 값들 및 아날로그 신호를 출력하는 수단을 포함한다.
다른 예에서, 본 개시는 비디오 데이터를 디코딩하기 위한 디바이스를 설명하며, 그 디바이스는, 아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정하는 수단; 2 이상의 계수들을 생성하기 위해 인터레이싱해제 프로세스를 수행하는 수단으로서, 2 이상의 계수들의 비트들은 인터레이싱된 진폭 값에서 인터레이싱되는, 상기 인터레이싱해제 프로세스를 수행하는 수단; 2 이상의 계수들에 기초하여 잔차 데이터를 생성하는 수단; 디지털 값들을 획득하는 수단; 디지털 값들에 기초하여 예측 데이터를 생성하는 수단; 및 예측 데이터 및 잔차 데이터에 기초하여 비디오 데이터를 복원하는 수단을 포함한다.
다른 예에서, 본 개시는 명령들이 저장된 컴퓨터 판독가능 데이터 저장 매체를 설명하며, 그 명령들은, 실행될 경우, 하나 이상의 프로세서들로 하여금, 비디오 데이터에 대한 예측 데이터를 생성하게 하고; 비디오 데이터의 디지털 샘플 값들 및 예측 데이터에 기초하여 잔차 데이터를 생성하게 하고; 잔차 데이터에 기초하여 계수들을 생성하게 하고; 인터레이싱된 진폭 값을 생성하기 위해 인터레이싱 프로세스를 수행하게 하는 것으로서, 인터레이싱 프로세스는 인터레이싱된 진폭 값을 생성하기 위해 계수들 중 2 이상의 계수들의 비트들을 인터레이싱하는, 상기 인터레이싱 프로세스를 수행하게 하고; 인터레이싱된 진폭 값에 기초하여 아날로그 신호를 변조하게 하고; 예측 데이터에 기초하여 디지털 값들을 생성하게 하고; 그리고 예측 블록에 기초하여 디지털 값들 및 아날로그 신호를 출력하게 한다.
다른 예에서, 본 개시는 명령들이 저장된 컴퓨터 판독가능 데이터 저장 매체를 설명하며, 그 명령들은, 실행될 경우, 하나 이상의 프로세서들로 하여금, 아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정하게 하고; 2 이상의 계수들을 생성하기 위해 인터레이싱해제 프로세스를 수행하게 하는 것으로서, 2 이상의 계수들의 비트들은 인터레이싱된 진폭 값에서 인터레이싱되는, 상기 인터레이싱해제 프로세스를 수행하게 하고; 2 이상의 계수들에 기초하여 잔차 데이터를 생성하게 하고; 디지털 값들을 획득하게 하고; 디지털 값들에 기초하여 예측 데이터를 생성하게 하고; 그리고 예측 데이터 및 잔차 데이터에 기초하여 비디오 데이터를 복원하게 한다.
하나 이상의 예들의 상세들이 첨부 도면들 및 하기의 설명에서 기재된다. 다른 특징들, 목적들, 및 이점들은 그 설명, 도면들, 및 청구항들로부터 명백할 것이다.
도 1 은 본 개시의 기법들을 수행할 수도 있는 예시적인 인코딩 및 디코딩 시스템을 예시한 블록 다이어그램이다.
도 2 는 본 개시의 하나 이상의 기법들에 따른, 예시적인 비디오 인코더를 예시한 블록 다이어그램이다.
도 3 은 본 개시의 하나 이상의 기법들에 따른, 예시적인 비디오 디코더를 예시한 블록 다이어그램이다.
도 4 는 본 개시의 하나 이상의 기법들에 따른, 예시적인 모뎀을 예시한 블록 다이어그램이다.
도 5 는 I-Q 도메인에서의 아날로그 변조를 위한 예시적인 콘스텔레이션 다이어그램이다.
도 6 은 아날로그 변조 송신 동안 수신된 에러를 예시한 개념 다이어그램이다.
도 7 은 본 개시의 하나 이상의 기법들에 따른, 데이터 부호 코딩 (sign coding) 의 일 예를 예시한 개념 다이어그램이다.
도 8 은 본 개시의 하나 이상의 기법들에 따른, 최소값 코딩의 일 예를 예시한 개념 다이어그램이다.
도 9 는 본 개시의 하나 이상의 기법들에 따른, 예시적인 맵핑 패턴을 예시한 개념 다이어그램이다.
도 10 은 본 개시의 하나 이상의 기법들에 따른, 도 9 의 맵핑 패턴에 대응하는 진폭 값들을 예시한 개념 다이어그램이다.
도 11 은 본 개시의 하나 이상의 기법들에 따른, 다른 예시적인 맵핑 패턴을 예시한 개념 다이어그램이다.
도 12 는 본 개시의 하나 이상의 기법들에 따른, 도 11 의 맵핑 패턴에 대응하는 진폭 값들을 예시한 개념 다이어그램이다.
도 13 은 본 개시의 하나 이상의 기법들에 따른, 다른 예시적인 맵핑 패턴을 예시한 개념 다이어그램이다.
도 14 는 본 개시의 하나 이상의 기법들에 따른, 도 13 의 맵핑 패턴에 대응하는 진폭 값들을 예시한 개념 다이어그램이다.
도 15 는 본 개시의 하나 이상의 기법들에 따른, 예시적인 3차원 맵핑 패턴을 예시한 개념 다이어그램이다.
도 16 은 본 개시의 하나 이상의 기법들에 따른, 비디오 데이터를 인코딩하기 위한 예시적인 방법을 예시한 플로우차트이다.
도 17 은 본 개시의 하나 이상의 기법들에 따른, 비디오 데이터를 디코딩하기 위한 예시적인 방법을 예시한 플로우차트이다.
도 18 은 본 개시의 하나 이상의 기법들에 따른, 인터레이싱의 제 1 예를 예시한 개념 다이어그램이다.
도 19 는 본 개시의 하나 이상의 기법들에 따른, 인터레이싱의 제 2 예를 예시한 개념 다이어그램이다.
도 20 은 코딩 프로세스에 대한 노이즈의 예시적인 영향들을 예시한 블록 다이어그램이다.
도 21 은 본 개시의 하나 이상의 기법들에 따른, 갭 범위들을 예시한 개념 다이어그램이다.
도 22 는 본 개시의 하나 이상의 기법들에 따른, 비디오 데이터를 인코딩하기 위한 예시적인 방법을 예시한 플로우차트이다.
도 23 은 본 개시의 하나 이상의 기법들에 따른, 비디오 데이터를 디코딩하기 위한 예시적인 방법을 예시한 플로우차트이다.
도 24 는 본 개시의 하나 이상의 기법들에 따른, 가변 심볼 레이트를 사용하는 예시적인 아날로그 압축 유닛을 예시한 블록 다이어그램이다.
도 25 는 본 개시의 하나 이상의 기법들에 따른, 비디오 데이터를 인코딩하기 위한 예시적인 방법을 예시한 플로우차트이다.
도 26 은 본 개시의 하나 이상의 기법들에 따른, 비디오 데이터를 디코딩하기 위한 예시적인 방법을 예시한 플로우차트이다.
상기 언급된 바와 같이, 고품질 비디오 데이터를 전송 및 수신하기 위한 능력은 제 5 세대 (5G) 무선 네트워크들과 같은 어드밴스드 무선 네트워크들의 전개를 위한 강력한 이용 사례들 중 하나이다. 하지만, 비디오 데이터를 인코딩하기 위한 H.264/어드밴스드 비디오 코딩 및 H.265/고효율 비디오 코딩 (HEVC) 과 같은 최근 비디오 코덱들의 사용은 리소스 집약적일 수도 있고, 따라서, 상당한 양의 전력의 소비를 수반할 수도 있다. 본 개시는, 덜 리소스 집약적일 수도 있는 비디오 데이터를 인코딩하기 위한 기법들을 설명한다.
본 개시는 비디오 데이터를 코딩하기 위한 하이브리드 디지털-아날로그 변조 시스템을 설명한다. 본 명세서에서 설명된 바와 같이, 비디오 인코더는 비디오 데이터에 기초하여 계수들을 생성할 수도 있다. 부가적으로, 비디오 인코더는 계수 벡터들을 생성할 수도 있다. 계수 벡터들의 각각은 계수들 중 n개를 포함한다. 계수 벡터들의 각각에 대해, 비디오 인코더는 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정할 수도 있다. 맵핑 패턴은 각각의 허용된 계수 벡터를, 진폭 값들의 단조 수 라인 (예를 들어, 자연수들, 음이 아닌 정수들, 정수 값들 등의 수 라인) 에서 고유 진폭 값에 인접한 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한 고유 진폭 값에 맵핑할 수도 있다. 비디오 인코더는 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조할 수도 있다.
대응하는 비디오 디코더는 아날로그 진폭 복조를 수행할 수도 있고, 아날로그 신호에 기초하여, 복수의 계수 벡터들에 대한 진폭 값들을 결정할 수도 있다. 계수 벡터들의 각각에 대해, 비디오 디코더는 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정할 수도 있다. 맵핑 패턴은 각각의 허용된 계수 벡터를, 진폭 값들의 단조 수 라인에서 고유 진폭 값에 인접한 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한 고유 진폭 값에 맵핑할 수도 있다. 계수 벡터들의 각각은 계수들 중 n개를 포함할 수도 있다. 비디오 디코더는 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성할 수도 있다. 이러한 맵핑 패턴의 사용은 아날로그 신호에서 데이터를 시그널링할 때 압축을 제공할 수도 있다. 부가적으로, 아날로그 진폭 변조 및 복조를 사용하는 것은 H.264/어드밴스드 비디오 코딩 및 H.265/HEVC 와 같은 비디오 코덱들에 비해 전력 및 리소스 소비를 감소시킬 수도 있다.
도 1 은 본 개시의 기법들을 수행할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템 (100) 을 예시한 블록 다이어그램이다. 본 개시의 기법들은 일반적으로 비디오 데이터를 코딩 (인코딩 및/또는 디코딩) 하는 것에 관한 것이다. 일반적으로, 비디오 데이터는 비디오를 프로세싱하기 위한 임의의 데이터를 포함한다. 따라서, 비디오 데이터는 원시의, 인코딩되지 않은 비디오, 인코딩된 비디오, 디코딩된 (예컨대, 복원된) 비디오, 및 시그널링 데이터와 같은 비디오 메타데이터를 포함할 수도 있다.
도 1 에 도시된 바와 같이, 시스템 (100) 은, 이 예에 있어서, 목적지 디바이스 (116) 에 의해 디코딩 및 디스플레이될 인코딩된 비디오 데이터를 제공하는 소스 디바이스 (102) 를 포함한다. 특히, 소스 디바이스 (102) 는 비디오 데이터를, 컴퓨터 판독가능 매체 (110) 를 통해 목적지 디바이스 (116) 에 제공한다. 소스 디바이스 (102) 및 목적지 디바이스 (116) 는, 데스크탑 컴퓨터들, 노트북 (즉, 랩탑) 컴퓨터들, 태블릿 컴퓨터들, 셋탑 박스들, 모듈 디바이스 (예를 들어, 전화기 핸드셋들, 예컨대, 스마트폰들, 태블릿 컴퓨터들 등), 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들, 비디오 스트리밍 디바이스, 브로드캐스트 수신기 디바이스들, 셋탑 박스들 등을 포함하여, 광범위한 디바이스들 중 임의의 것을 포함할 수도 있다. 일부 경우들에 있어서, 소스 디바이스 (102) 및 목적지 디바이스 (116) 는 무선 통신을 위해 장비될 수도 있고, 따라서, 무선 통신 디바이스들로서 지칭될 수도 있다.
도 1 의 예에 있어서, 소스 디바이스 (102) 는 비디오 소스 (104), 메모리 (106), 비디오 인코더 (200), 및 모뎀 (108) 을 포함한다. 목적지 디바이스 (116) 는 모뎀 (122), 비디오 디코더 (300), 메모리 (120), 및 디스플레이 디바이스 (118) 를 포함한다. 본 개시에 따르면, 소스 디바이스 (102) 의 비디오 인코더 (200) 및 목적지 디바이스 (116) 의 비디오 디코더 (300) 는 비디오 송신을 위한 하이브리드 디지털-아날로그 변조를 수행하도록 구성될 수도 있다. 소스 디바이스 (102) 는 비디오 인코딩 디바이스의 일 예를 나타내는 한편, 목적지 디바이스 (116) 는 비디오 디코딩 디바이스의 일 예를 나타낸다. 다른 예들에 있어서, 소스 디바이스 및 목적지 디바이스는 다른 컴포넌트들 또는 배열들을 포함할 수도 있다. 예를 들어, 소스 디바이스 (102) 는 외부 카메라와 같은 외부 비디오 소스로부터 비디오 데이터를 수신할 수도 있다. 마찬가지로, 목적지 디바이스 (116) 는 통합된 디스플레이 디바이스를 포함하는 것보다는, 외부 디스플레이 디바이스와 인터페이스할 수도 있다.
도 1 에 도시된 바와 같은 시스템 (100) 은 단지 일 예일 뿐이다. 일반적으로, 임의의 디지털 비디오 인코딩 및/또는 디코딩 디바이스는 비디오 송신을 위한 하이브리드 디지털-아날로그 변조를 위해 본 개시의 기법들을 수행할 수도 있다. 소스 디바이스 (102) 및 목적지 디바이스 (116) 는, 단지, 소스 디바이스 (102) 가 목적지 디바이스 (116) 로의 송신을 위한 인코딩된 비디오 데이터를 생성하는 그러한 코딩 디바이스들의 예들일 뿐이다. 본 개시는 데이터의 코딩 (인코딩 및/또는 디코딩) 을 수행하는 디바이스로서 "코딩" 디바이스를 언급한다. 따라서, 비디오 인코더 (200) 및 비디오 디코더 (300) 는 코딩 디바이스들, 특히 각각 비디오 인코더 및 비디오 디코더의 예들을 나타낸다. 일부 예들에 있어서, 소스 디바이스 (102) 및 목적지 디바이스 (116) 는, 소스 디바이스 (102) 및 목적지 디바이스 (116) 의 각각이 비디오 인코딩 및 디코딩 컴포넌트들을 포함하도록 실질적으로 대칭적인 방식으로 동작할 수도 있다. 따라서, 시스템 (100) 은 예컨대, 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 또는 비디오 전화를 위해, 소스 디바이스 (102) 와 목적지 디바이스 (116) 간의 일방 또는 양방 비디오 송신을 지원할 수도 있다.
일반적으로, 비디오 소스 (104) 는 비디오 데이터 (즉, 원시의, 인코딩되지 않은 비디오 데이터) 의 소스를 나타내며, 픽처들에 대한 데이터를 인코딩하는 비디오 인코더 (200) 에 비디오 데이터의 순차적인 일련의 픽처들 (또한 "프레임들" 로서도 지칭됨) 을 제공한다. 소스 디바이스 (102) 의 비디오 소스 (104) 는 비디오 카메라와 같은 비디오 캡처 디바이스, 이전에 캡처된 원시 비디오를 포함하는 비디오 아카이브, 및/또는 비디오 콘텐츠 제공자로부터 비디오를 수신하기 위한 비디오 피드 인터페이스를 포함할 수도 있다. 추가의 대안으로서, 비디오 소스 (104) 는 컴퓨터 그래픽 기반 데이터를 소스 비디오로서, 또는 라이브 비디오, 아카이브된 비디오, 및 컴퓨터 생성된 비디오의 조합으로서 생성할 수도 있다. 각각의 경우에 있어서, 비디오 인코더 (200) 는 캡처된, 사전-캡처된, 또는 컴퓨터-생성된 비디오 데이터를 인코딩한다. 비디오 인코더 (200) 는 픽처들을 수신된 순서 (때때로 "디스플레이 순서" 로서 지칭됨) 로부터 코딩을 위한 코딩 순서로 재배열할 수도 있다. 그 다음, 소스 디바이스 (102) 는, 예컨대, 목적지 디바이스 (116) 의 모뎀 (122) 에 의한 수신 및/또는 취출을 위해 인코딩된 비디오 데이터를 모뎀 (108) 을 통해 컴퓨터 판독가능 매체 (110) 상으로 출력할 수도 있다.
소스 디바이스 (102) 의 메모리 (106) 및 목적지 디바이스 (116) 의 메모리 (120) 는 범용 메모리들을 나타낼 수도 있다. 일부 예들에 있어서, 메모리들 (106, 120) 은 원시 비디오 데이터, 예컨대, 비디오 소스 (104) 로부터의 원시 비디오 및 비디오 디코더 (300) 로부터의 원시의, 디코딩된 비디오 데이터를 저장할 수도 있다. 부가적으로 또는 대안적으로, 메모리들 (106, 120) 은, 예컨대, 비디오 인코더 (200) 및 비디오 디코더 (300) 에 의해 각각 실행가능한 소프트웨어 명령들을 저장할 수도 있다. 메모리 (106) 및 메모리 (120) 가 이 예에서는 비디오 인코더 (200) 및 비디오 디코더 (300) 와 별도로 도시되지만, 비디오 인코더 (200) 및 비디오 디코더 (300) 는 또한 기능적으로 유사하거나 또는 동등한 목적들을 위한 내부 메모리들을 포함할 수도 있음을 이해해야 한다. 더욱이, 메모리들 (106, 120) 은, 예컨대, 비디오 인코더 (200) 로부터 출력되고 비디오 디코더 (300) 에 입력되는 인코딩된 비디오 데이터를 저장할 수도 있다. 일부 예들에 있어서, 메모리들 (106, 120) 의 부분들은, 예컨대, 원시의, 디코딩된, 및/또는 인코딩된 비디오 데이터를 저장하기 위해 하나 이상의 비디오 버퍼들로서 할당될 수도 있다.
컴퓨터 판독가능 매체 (110) 는 인코딩된 비디오 데이터를 소스 디바이스 (102) 로부터 목적지 디바이스 (116) 로 전송할 수 있는 임의의 타입의 매체 또는 디바이스를 나타낼 수도 있다. 일 예에 있어서, 컴퓨터 판독가능 매체 (110) 는, 소스 디바이스 (102) 로 하여금 인코딩된 비디오 데이터를 직접 목적지 디바이스 (116) 에 실시간으로, 예컨대, 무선 주파수 네트워크 또는 컴퓨터 기반 네트워크를 통해 송신할 수 있게 하기 위한 통신 매체를 나타낸다. 무선 통신 프로토콜과 같은 통신 표준에 따라, 모뎀 (108) 은 인코딩된 비디오 데이터를 포함하는 송신 신호를 변조할 수도 있고, 모뎀 (122) 은 수신된 송신 신호를 복조할 수도 있다. 통신 매체는 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들과 같은 임의의 무선 또는 유선 통신 매체를 포함할 수도 있다. 예를 들어, 통신 매체는 하나 이상의 5G 무선 통신 링크들을 포함할 수도 있다. 통신 매체는 로컬 영역 네트워크, 광역 네트워크, 또는 인터넷과 같은 글로벌 네트워크와 같은 패킷 기반 네트워크의 부분을 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (102) 로부터 목적지 디바이스 (116) 로의 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
일부 예들에 있어서, 컴퓨터 판독가능 매체 (110) 는 저장 디바이스 (112) 를 포함할 수도 있다. 소스 디바이스 (102) 는 모뎀 (108) 으로부터 저장 디바이스 (112) 로 인코딩된 데이터를 출력할 수도 있다. 유사하게, 목적지 디바이스 (116) 는 모뎀 (122) 을 통해 저장 디바이스 (112) 로부터의 인코딩된 데이터에 액세스할 수도 있다. 저장 디바이스 (112) 는 하드 드라이브, 블루-레이 디스크들, DVD들, CD-ROM들, 플래시 메모리, 휘발성 또는 비휘발성 메모리, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체들과 같은 다양한 분산된 또는 국부적으로 액세스된 데이터 저장 매체들 중 임의의 데이터 저장 매체를 포함할 수도 있다.
일부 예들에 있어서, 컴퓨터 판독가능 매체 (110) 는, 소스 디바이스 (102) 에 의해 생성된 인코딩된 비디오 데이터를 저장할 수도 있는 파일 서버 (114) 또는 다른 중간 저장 디바이스를 포함할 수도 있다. 소스 디바이스 (102) 는, 소스 디바이스 (102) 에 의해 생성된 인코딩된 비디오를 저장할 수도 있는 파일 서버 (114) 또는 다른 중간 저장 디바이스로 인코딩된 비디오 데이터를 출력할 수도 있다. 목적지 디바이스 (116) 는 스트리밍 또는 다운로드를 통해 파일 서버 (114) 로부터의 저장된 비디오 데이터에 액세스할 수도 있다. 파일 서버 (114) 는 인코딩된 비디오 데이터를 저장하고 그 인코딩된 비디오 데이터를 목적지 디바이스 (116) 에 송신할 수 있는 임의의 타입의 서버 디바이스일 수도 있다. 파일 서버 (114) 는 (예컨대, 웹 사이트를 위한) 웹 서버, 파일 전송 프로토콜 (FTP) 서버, 콘텐츠 전달 네트워크 디바이스, 또는 NAS (network attached storage) 디바이스를 나타낼 수도 있다. 목적지 디바이스 (116) 는 인터넷 커넥션을 포함한, 임의의 표준 데이터 커넥션을 통해 파일 서버 (114) 로부터의 인코딩된 비디오 데이터에 액세스할 수도 있다. 이것은 파일 서버 (114) 상에 저장된 인코딩된 비디오 데이터에 액세스하기에 적합한, 무선 채널 (예컨대, Wi-Fi 커넥션), 유선 커넥션 (예컨대, 디지털 가입자 라인 (DSL), 케이블 모뎀 등), 또는 이들 양자 모두의 조합을 포함할 수도 있다. 파일 서버 (114) 및 모뎀 (122) 은 스트리밍 송신 프로토콜, 다운로드 송신 프로토콜, 또는 이들의 조합에 따라 동작하도록 구성될 수도 있다.
모뎀 (108) 및 모뎀 (122) 은 무선 송신기들/수신기들, 모뎀들, 유선 네트워킹 컴포넌트들 (예컨대, 이더넷 카드들), 다양한 IEEE 802.11 표준들 중 임의의 것에 따라 동작하는 무선 통신 컴포넌트들, 또는 다른 물리적 컴포넌트들을 나타낼 수도 있다. 모뎀 (108) 및 모뎀 (122) 이 무선 컴포넌트들을 포함하는 예들에 있어서, 모뎀 (108) 및 모뎀 (122) 은 제 4 세대 (4G), 4G-LTE (롱 텀 에볼루션), LTE 어드밴스드, 5G 등과 같은 셀룰러 통신 표준에 따라, 인코딩된 비디오 데이터와 같은 데이터를 전송하도록 구성될 수도 있다. 모뎀 (108) 이 무선 송신기를 포함하는 일부 예들에 있어서, 모뎀 (108) 및 모뎀 (122) 은 IEEE 802.11 사양, IEEE 802.15 사양 (예컨대, ZigBee™), Bluetooth™ 표준 등과 같은 다른 무선 표준들에 따라, 인코딩된 비디오 데이터와 같은 데이터를 전송하도록 구성될 수도 있다. 일부 예들에 있어서, 소스 디바이스 (102) 및/또는 목적지 디바이스 (116) 는 개별 SoC (system-on-a-chip) 디바이스들을 포함할 수도 있다. 예를 들어, 소스 디바이스 (102) 는 비디오 인코더 (200) 및/또는 모뎀 (108) 에 기인한 기능성을 수행하기 위한 SoC 디바이스를 포함할 수도 있고, 목적지 디바이스 (116) 는 비디오 디코더 (300) 및/또는 모뎀 (122) 에 기인한 기능성을 수행하기 위한 SoC 디바이스를 포함할 수도 있다.
본 개시의 기법들은 오버-디-에어 (over-the-air) 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, 인터넷 스트리밍 비디오 송신들, 예컨대 DASH (dynamic adaptive streaming over HTTP), 데이터 저장 매체 상으로 인코딩되는 디지털 비디오, 데이터 저장 매체 상에 저장된 디지털 비디오의 디코딩, 또는 다른 어플리케이션들과 같은 다양한 멀티미디어 어플리케이션들 중 임의의 것을 지원하여 비디오 코딩에 적용될 수도 있다.
목적지 디바이스 (116) 의 모뎀 (122) 은 컴퓨터 판독가능 매체 (110) (예컨대, 통신 매체, 저장 디바이스 (112), 파일 서버 (114) 등) 로부터 인코딩된 비디오 데이터를 수신한다. 인코딩된 비디오 데이터는, 비디오 블록들 또는 다른 코딩된 유닛들 (예컨대, 슬라이스들, 픽처들, 픽처들의 그룹들, 시퀀스들 등) 의 프로세싱 및/또는 특성들을 기술하는 값들을 갖는 신택스 엘리먼트들과 같은, 비디오 디코더 (300) 에 의해 또한 사용되는 비디오 인코더 (200) 에 의해 정의된 시그널링 정보를 포함할 수도 있다. 디스플레이 디바이스 (118) 는 디코딩된 비디오 데이터의 디코딩된 픽처들을 사용자에게 디스플레이한다. 디스플레이 디바이스 (118) 는 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 다른 타입의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 것을 나타낼 수도 있다.
도 1 에 도시되지는 않았지만, 일부 예들에 있어서, 비디오 인코더 (200) 및 비디오 디코더 (300) 는 각각 오디오 인코더 및/또는 오디오 디코더와 통합될 수도 있고, 공통 데이터 스트림에서 오디오 및 비디오 양자 모두를 포함하는 멀티플렉싱된 스트림들을 핸들링하기 위해, 적절한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및/또는 소프트웨어를 포함할 수도 있다. 적용가능하다면, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜들에 부합할 수도 있다.
비디오 인코더 (200) 및 비디오 디코더 (300) 는 각각, 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSP들), 주문형 집적 회로들 (ASIC들), 필드 프로그래밍가능 게이트 어레이들 (FPGA들), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들과 같은 다양한 적합한 인코더 및/또는 디코더 회로부 중 임의의 것으로서 구현될 수도 있다. 기법들이 부분적으로 소프트웨어에서 구현되는 경우, 디바이스는 적합한 비일시적 컴퓨터 판독가능 매체에 소프트웨어에 대한 명령들을 저장하고, 본 개시의 기법들을 수행하기 위해 하나 이상의 프로세서들을 사용하는 하드웨어에서 그 명령들을 실행할 수도 있다. 비디오 인코더 (200) 및 비디오 디코더 (300) 의 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있으며, 이들 중 어느 하나는 개별 디바이스에 있어서 결합된 인코더/디코더 (CODEC) 의 부분으로서 통합될 수도 있다. 비디오 인코더 (200) 및/또는 비디오 디코더 (300) 를 포함하는 디바이스는 집적 회로, 마이크로 프로세서, 및/또는 셀룰러 전화기와 같은 무선 통신 디바이스를 포함할 수도 있다.
일반적으로, 비디오 인코더 (200) 및 비디오 디코더 (300) 는 디지털 샘플 값들의 어레이들로서 표현된 비디오 데이터를 코딩할 수도 있다. 각각의 디지털 샘플 값은 YUV (예컨대, Y, Cb, Cr) 포맷, 적색, 녹색 및 청색 (RGB) 포맷, HSV (Hue Saturation Value) 포맷, 또는 다른 타입들의 컬러 포맷과 같은 컬러 코딩 포맷에서의 컬러 컴포넌트의 값일 수도 있다. 일부 예들에서, 비디오 인코더 (200) 는 인코딩 전에 제 1 컬러 포맷으로 포맷팅된 데이터를 제 2 컬러 포맷으로 변환하고, 비디오 디코더 (300) 는 제 2 컬러 포맷에서의 데이터를 제 1 컬러 포맷으로 변환한다. 대안적으로, 프리- 및 포스트-프로세싱 유닛들 (도시되지 않음) 이 이들 변환들을 수행할 수도 있다.
본 개시는 일반적으로 픽처의 데이터를 인코딩하거나 또는 디코딩하는 프로세스를 포함하도록 픽처들의 코딩 (예컨대, 인코딩 및 디코딩) 을 참조할 수도 있다. 유사하게, 본 개시는, 블록들에 대한 데이터를 인코딩하거나 또는 디코딩하는 프로세스, 예컨대, 예측 및/또는 잔차 코딩을 포함하도록 픽처의 블록들의 코딩을 참조할 수도 있다.
본 개시의 기법에 따르면, 비디오 인코더 (200) 는 비디오 데이터를 인코딩하기 위해 하이브리드 디지털-아날로그 변조를 사용할 수도 있다. 본 명세서에서 설명된 바와 같이, 비디오 인코더 (200) 는 비디오 데이터에 기초하여 계수들을 생성할 수도 있다. 즉, 비디오 인코더 (200) 는 비디오 데이터의 디지털 샘플 값들의 어레이들에 기초하여 계수들을 생성할 수도 있다. 일부 예들에서, 계수들을 생성하는 것의 부분으로서, 비디오 인코더 (200) 는 비디오 데이터에 기초하여 (예를 들어, 비디오 데이터의 픽처에 기초하여) 예측 데이터를 생성할 수도 있다. 예측 데이터는 디지털 샘플 값들을 포함하는 비디오 데이터의 근사물 (예를 들어, 비디오 데이터의 픽처의 근사물) 일 수도 있다. 비디오 인코더 (200) 는 디지털 샘플 값들을 양자화하고 엔트로피 인코딩할 수도 있다. 모뎀 (108) 은 엔트로피 인코딩된 디지털 샘플 값들을 송신할 수도 있다. 더욱이, 계수들을 생성하는 것의 부분으로서, 비디오 인코더 (200) 는 예측 데이터 및 오리지널 비디오 데이터에 기초하여 잔차 데이터를 생성할 수도 있다. 예를 들어, 잔차 데이터는 예측 데이터의 디지털 샘플 값들과 비디오 데이터의 대응하는 디지털 샘플 값들 사이의 차이들을 표시하는 잔차 값들을 포함할 수도 있다. 더욱이, 비디오 인코더 (200) 는 잔차 값들을 계수들로 변환하기 위해 이진화 (binarization) 프로세스를 적용할 수도 있다. 일부 예들에서, 비디오 인코더 (200) 는 그 다음, 계수들을 양자화할 수도 있다.
비디오 인코더 (200) 는 계수 벡터들을 생성하기 위해 계수들을 사용할 수도 있다. 계수 벡터들의 각각은 계수들 중 n개를 포함할 수도 있고, 여기서, n 은 정수 값 (예를 들어, 1 보다 큰 정수 값) 이다. 일부 예들에서, 계수 벡터들은 계수들의 블록에서의 연속적인 계수들로 구성될 수도 있다. 일부 예들에서, 비디오 인코더 (200) 는 채널의 스펙트럼 효율에 기초하여 n 의 값을 결정할 수도 있다.
계수 벡터들의 각각에 대해, 비디오 인코더 (200) 는 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정할 수도 있다. 맵핑 패턴은 각각의 허용된 계수 벡터를 고유 진폭 값 (a 1 ) 에 맵핑하며, 여기서, 진폭 값 (a 1 ) 은 진폭 값 (a 2 ) 에 n차원 공간에서 인접하고, 진폭 값 (a 1 ) 은 진폭 값들의 단조 수 라인에서 진폭 값 (a 2 ) 에 인접한다. 하기에서 더 상세히 설명되는 바와 같이, 예시적인 맵핑 패턴들은 S-스네이크 맵핑 패턴, M-스네이크 맵핑 패턴, MS-스네이크 맵핑 패턴 등을 포함할 수도 있다. 일부 예들에서, 계수 벡터들에 대한 진폭 값들을 결정하는 대신, 비디오 인코더 (200) 는 2 이상의 계수들의 비트들을 인터레이싱함으로써 진폭 값들을 생성하는 인터레이싱 프로세스를 수행할 수도 있다.
더욱이, 비디오 인코더 (200) 는 진폭 값들에 기초하여 아날로그 신호를 변조할 수도 있다. 예를 들어, 비디오 인코더 (200) 는 하나 이상의 진폭 값들의 세트를 아날로그 심볼로 변환할 수도 있다. 아날로그 심볼은 위상 시프트와 전력 (즉, 진폭) 의 조합일 수도 있다. 비디오 인코더 (200) 는 아날로그 심볼에 기초하여 아날로그 신호의 심볼 샘플링 인스턴트의 위상 시프트 및 전력을 설정할 수 있다.
비디오 디코더 (300) 는, 비디오 인코더 (200) 에 의해 수행된 인코딩 프로세스에 일반적으로 가역적인 디코딩 프로세스를 수행할 수도 있다. 예를 들어, 비디오 디코더 (300) 는 아날로그 신호에 기초하여 진폭 값들을 결정할 수도 있다. 일부 예들에서, 비디오 디코더 (300) 는 또한, 예측 데이터의 엔트로피 인코딩된 디지털 샘플 값들을 획득할 수도 있다. 비디오 디코더 (300) 는 예측 데이터의 디지털 샘플 값들을 결정하기 위해 엔트로피 인코딩된 디지털 샘플 값들을 엔트로피 디코딩 및 양자화해제할 수도 있다. 일부 예들에 있어서, 계수 벡터들의 각각에 대해, 비디오 디코더 (300) 는 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정할 수도 있다. 비디오 디코더 (300) 에 의해 사용된 맵핑 패턴은 비디오 인코더 (200) 에 의해 사용된 맵핑 패턴과 동일할 수도 있다. 따라서, 맵핑 패턴은 각각의 허용된 계수 벡터를, 진폭 값들의 단조 수 라인에서 고유 진폭 값에 인접한 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한 고유 진폭 값에 맵핑할 수도 있다. 계수 벡터들의 각각은 계수들 중 n개를 포함한다. 일부 예들에서, 값 (n) 은 채널의 스펙트럼 효율에 기초하여 결정될 수도 있다. 더욱이, 일부 예들에서, 맵핑 패턴을 사용하는 대신, 비디오 디코더 (300) 는 진폭 값으로부터 2 이상의 계수들의 비트들을 인터레이싱해제하는 인터레이싱해제 프로세스를 수행할 수도 있다.
더욱이, 비디오 디코더 (300) 는 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성할 수도 있다. 예를 들어, 비디오 디코더 (300) 는 계수 벡터들에서의 계수들을 양자화해제하고, 양자화해제된 계수들에 이진화해제 (de-binarization) 프로세스를 적용하여 디지털 샘플 값들을 생성할 수도 있다. 비디오 디코더 (300) 는 계수들로부터 생성된 디지털 샘플 값들 및 예측 블록의 디지털 샘플 값들에 기초하여 비디오 데이터를 복원할 수도 있다. 예를 들어, 비디오 디코더 (300) 는 계수들로부터 생성된 디지털 샘플 값들을 예측 블록의 대응하는 디지털 샘플 값들에 가산하여 비디오 데이터를 생성할 수도 있다. 이러한 방식으로 비디오 데이터를 인코딩 및 디코딩하는 것은 H.264/AVC 및 H.265/HEVC 와 같은 다른 비디오 코덱들만큼 많은 계산 리소스들을 사용하지 않으면서 비디오 데이터의 압축을 제공할 수도 있다.
도 2 는 본 개시의 하나 이상의 기법들에 따른, 예시적인 비디오 인코더 (200) 를 예시한 블록 다이어그램이다. 도 2 는 설명의 목적들로 제공되며, 본 개시에서 광범위하게 예시화되고 설명된 바와 같은 기법들의 한정으로서 고려되지 않아야 한다. 도 2 의 예에서, 비디오 인코더 (200) 는 비디오 데이터 메모리 (202), 예측 유닛 (204), 양자화 유닛 (206), 엔트로피 인코딩 유닛 (208), 버퍼 (210), 잔차 생성 유닛 (212), 및 아날로그 압축 유닛 (214) 을 포함한다. 도 2 의 예에서, 아날로그 압축 유닛 (214) 은 이진화 유닛 (216), 양자화 유닛 (218), 패킹 유닛 (220), 및 아날로그 변조 유닛 (222) 을 포함한다. 비디오 데이터 메모리 (202), 예측 유닛 (204), 양자화 유닛 (206), 엔트로피 인코딩 유닛 (208), 버퍼 (210), 잔차 생성 유닛 (212), 및 아날로그 압축 유닛 (214) (이진화 유닛 (216), 양자화 유닛 (218), 패킹 유닛 (220), 및 아날로그 변조 유닛 (222) 을 포함함) 중 임의의 것 또는 그 모두는 하나 이상의 프로세서들에서 또는 프로세싱 회로부에서 구현될 수도 있다. 예를 들어, 비디오 인코더 (200) 의 유닛들은 하드웨어 회로부의 부분으로서, 또는 프로세서, ASIC, 또는 FPGA 의 부분으로서 하나 이상의 회로들 또는 로직 엘리먼트들로서 구현될 수도 있다. 더욱이, 비디오 인코더 (200) 는 이들 및 다른 기능들을 수행하기 위해 추가적인 또는 대안적인 프로세서들 또는 프로세싱 회로부를 포함할 수도 있다.
비디오 데이터 메모리 (202) 는 비디오 인코더 (200) 의 컴포넌트들에 의해 인코딩될 비디오 데이터를 저장할 수도 있다. 비디오 인코더 (200) 는, 예를 들어, 비디오 소스 (104) (도 1) 로부터 비디오 데이터 메모리 (202) 에 저장된 비디오 데이터를 수신할 수도 있다. 비디오 데이터 메모리 (202) 및 버퍼 (210) 는 동기식 DRAM (SDRAM) 을 포함한 동적 랜덤 액세스 메모리 (DRAM), 자기저항성 RAM (MRAM), 저항성 RAM (RRAM), 또는 다른 타입들의 메모리 디바이스들과 같은 다양한 메모리 디바이스들 중 임의의 메모리 디바이스에 의해 형성될 수도 있다. 비디오 데이터 메모리 (202) 및 버퍼 (210) 는 동일한 메모리 디바이스 또는 별도의 메모리 디바이스들에 의해 제공될 수도 있다. 다양한 예들에 있어서, 비디오 데이터 메모리 (202) 는, 예시된 바와 같은 비디오 인코더 (200) 의 다른 컴포넌트들과 온-칩형이거나 또는 그들 컴포넌트들에 대하여 오프-칩형일 수도 있다.
본 개시에 있어서, 비디오 데이터 메모리 (202) 에 대한 참조들은, 이와 같이 구체적으로 설명되지 않으면 비디오 인코더 (200) 내부의 메모리, 또는 이와 같이 구체적으로 설명되지 않으면 비디오 인코더 (200) 외부의 메모리로 한정되는 것으로서 해석되지 않아야 한다. 오히려, 비디오 데이터 메모리 (202) 에 대한 참조는, 비디오 인코더 (200) 가 인코딩을 위해 수신하는 비디오 데이터 (예컨대, 인코딩될 현재 블록에 대한 비디오 데이터) 를 저장하는 레퍼런스 메모리로서 이해되어야 한다. 도 1 의 메모리 (106) 는 또한 비디오 인코더 (200) 의 다양한 유닛들로부터의 출력들의 일시적 저장을 제공할 수도 있다.
도 2 의 다양한 유닛들은 비디오 인코더 (200) 에 의해 수행되는 동작들의 이해를 돕기 위해 예시된다. 그 유닛들은 고정 기능 회로들, 프로그래밍가능 회로들, 또는 이들의 조합으로서 구현될 수도 있다. 고정 기능 회로들은 특정 기능을 제공하는 회로들을 지칭하고, 수행될 수 있는 동작들에 대해 미리설정된다. 프로그래밍가능 회로들은 다양한 태스크들을 수행하도록 프로그래밍될 수 있는 회로들을 지칭하고, 수행될 수 있는 동작들에서 유연한 기능성을 제공한다. 예를 들어, 프로그래밍가능 회로들은, 프로그래밍가능 회로들로 하여금 소프트웨어 또는 펌웨어의 명령들에 의해 정의된 방식으로 동작하게 하는 소프트웨어 또는 펌웨어를 실행할 수도 있다. 고정 기능 회로들은 (예컨대, 파라미터들을 수신하거나 또는 파라미터들을 출력하기 위해) 소프트웨어 명령들을 실행할 수도 있지만, 고정 기능 회로들이 수행하는 동작들의 타입들은 일반적으로 불변이다. 일부 예들에 있어서, 유닛들 중 하나 이상은 별개의 회로 블록들 (고정 기능 또는 프로그래밍가능) 일 수도 있고, 일부 예들에 있어서, 유닛들 중 하나 이상은 집적 회로들일 수도 있다.
비디오 인코더 (200) 는 프로그래밍가능 회로들로부터 형성된, 산술 로직 유닛들 (ALU들), 기본 함수 유닛들 (EFU들), 디지털 회로들, 아날로그 회로들, 및/또는 프로그래밍가능 코어들을 포함할 수도 있다. 비디오 인코더 (200) 의 동작들이 프로그래밍가능 회로들에 의해 실행된 소프트웨어를 사용하여 수행되는 예들에 있어서, 메모리 (106) (도 1) 는 비디오 인코더 (200) 가 수신하고 실행하는 소프트웨어의 명령들 (예컨대, 오브젝트 코드) 을 저장할 수도 있거나, 또는 비디오 인코더 (200) 내의 다른 메모리 (도시 안됨) 가 그러한 명령들을 저장할 수도 있다. 비디오 데이터 메모리 (202) 는 수신된 비디오 데이터를 저장하도록 구성된다.
도 2 의 예에서, 비디오 데이터 메모리 (202) 는 비디오 데이터를 수신 및 저장할 수도 있다. 예측 유닛 (204) 은 비디오 데이터에 기초하여 예측 데이터를 생성할 수도 있다. 예측 데이터는 디지털 샘플 값들을 포함한다. 일부 예들에서, 예측 데이터는, "이미지 근사물" 로서도 또한 지칭될 수도 있는 조악한 이미지 디스크립션일 수도 있다. 조악한 이미지 디스크립션은 통상적으로, 작은 사이즈들을 갖는 데이터 패킷들과 함께 송신될 수도 있다. 비디오 디코더 (300) 는 저해상도 이미지를 복원하기 위해 그러한 데이터 패킷들에서의 데이터를 사용할 수도 있다. 모뎀 (108) 은 정규 5G 디지털 데이터 멀티플렉싱 및 채널 코딩 방식 또는 다른 디지털 데이터 멀티플렉싱 및 채널 코딩 방식을 사용하여 데이터 패킷들을 송신할 수도 있다.
예측 유닛 (204) 은 다양한 방식들 중 하나로 예측 데이터를 생성할 수도 있다. 예를 들어, 일부 예들에서, 예측 유닛 (204) 은, 오리지널 비디오 데이터의 픽처에서의 디지털 샘플 값들의 각각의 2차원 그룹 (즉, 블록) 에 대해, 블록에서의 디지털 샘플 값들의 평균을 결정함으로써 예측 데이터의 디지털 샘플 값들을 생성할 수도 있다. 잔차 데이터를 결정하기 위해, 잔차 생성 유닛 (212) 은, 블록에서의 각각의 샘플 값이 평균과 동일하다고 가정할 수도 있다. 하지만, 블록에 대한 평균만이 양자화 유닛 (206) 으로 전달된다. 다른 예에서, 예측 유닛 (204) 은, 픽처에서의 각각의 블록의 좌상부 또는 중심 픽셀의 디지털 샘플 값을 결정하는 것 및 나머지 샘플 값들을 폐기하는 것에 의해 예측 데이터를 생성할 수도 있다. 잔차 데이터를 결정하기 위해, 잔차 생성 유닛 (212) 은, 블록에서의 각각의 샘플 값이 결정된 디지털 샘플 값과 동일하다고 가정할 수도 있다. 하지만, 결정된 샘플 값만이 양자화 유닛 (206) 으로 전달된다. 따라서, 양자화 유닛 (206) 으로 전달된 디지털 샘플 값들의 수는 픽처에서의 디지털 샘플 값들의 수보다 현저히 적을 수도 있다.
양자화 유닛 (206) 은, 예측 유닛 (204) 에 의해 생성된 예측 데이터에 기초하여 양자화된 디지털 샘플 값들을 생성하기 위해 양자화 프로세스를 적용할 수도 있다. 양자화는 일반적으로, 예측 데이터에서의 디지털 샘플 값들과 같은 디지털 샘플 값들이 양자화되어, 가능하게는 디지털 샘플 값들을 나타내는데 사용되는 데이터의 양을 감소시켜, 추가적인 압축을 제공하는 프로세스를 지칭한다. 양자화 프로세스를 수행함으로써, 양자화 유닛 (206) 은 디지털 샘플 값들의 일부 또는 전부와 연관된 비트 심도를 감소시킬 수도 있다. 예를 들어, 양자화 유닛 (206) 은 양자화 동안 n비트 디지털 샘플 값을 m비트 디지털 샘플 값으로 라운딩 다운할 수도 있으며, 여기서, n 은 m 보다 크다. 일부 예들에 있어서, 양자화를 수행하기 위해, 양자화 유닛 (206) 은 양자화될 값의 비트단위 우측-시프트를 수행할 수도 있다.
그 다음, 엔트로피 인코딩 유닛 (208) 은 양자화된 디지털 샘플 값들에 대해 엔트로피 인코딩을 수행할 수도 있다. 예를 들어, 엔트로피 인코딩 유닛 (208) 은 컨택트 적응형 이진 산술 코딩 (CABAC) 인코딩 프로세스, 컨텍스트 적응형 가변 길이 코딩 (CAVLC) 프로세스, V2V (variable-to-variable) 길이 인코딩 프로세스, 신택스 기반 컨텍스트 적응형 이진 산술 코딩 (SBAC) 프로세스, 확률 인터벌 파티셔닝 엔트로피 (PIPE) 인코딩 프로세스, 지수-골롬 인코딩 프로세스, 또는 다른 타입의 엔트로피 인코딩 프로세스와 같은 다양한 타입들의 엔트로피 인코딩 프로세스들을 수행할 수도 있다. 버퍼 (210) 는 엔트로피 인코딩된 양자화된 디지털 샘플 값들을 저장할 수도 있다.
더욱이, 도 2 의 예에서, 잔차 생성 유닛 (212) 은 예측 데이터의 디지털 샘플 값들 및 오리지널 비디오 데이터의 디지털 샘플 값들에 기초하여 잔차 데이터를 생성한다. 예를 들어, 잔차 생성 유닛 (212) 은 잔차 데이터를 생성하기 위해 예측 데이터의 디지털 샘플 값들을 오리지널 비디오 데이터의 대응하는 디지털 샘플 값들로부터 감산할 수도 있다.
아날로그 압축 유닛 (214) 은 잔차 데이터에 기초하여 아날로그 신호를 변조한다. 도 2 의 예에서, 아날로그 압축 유닛 (214) 의 이진화 유닛 (216) 은 잔차 데이터를 계수들로 변환한다. 계수들은 이진 값들일 수도 있다. 일부 예들에서, 이진화 유닛 (216) 은 계수들을 생성하기 위해 잔차 데이터에 변환을 적용한다. 예를 들어, 일 예에 있어서, 이진화 유닛 (216) 은 계수들을 생성하기 위해 잔차 데이터에 변환 (예컨대, 이산 코사인 변환 (DCT), 이산 사인 변환 (DST), 또는 다른 타입의 변환) 을 적용할 수도 있다.
아날로그 압축 유닛 (214) 의 양자화 유닛 (218) 은 양자화 프로세스를 계수들에 적용할 수도 있다. 양자화 프로세스는 계수들을 나타내는데 사용되는 비트들의 수를 감소시킬 수도 있다. 일부 예들에서, 양자화 유닛 (218) 은, 계수들의 이진 표현들을 특정 수의 포지션들만큼 우측 시프트함으로써 양자화 프로세스를 수행할 수도 있다. 다른 예들에서, 계수들은 다른 방식들로 생성될 수도 있다. 예를 들어, 비디오 인코더 (200) 는 양자화 프로세스를 적용하지 않고 계수들을 생성할 수도 있다.
본 개시의 일부 예들에 따르면, 아날로그 압축 유닛 (214) 의 패킹 유닛 (220) 은 계수 벡터들을 생성한다. 계수 벡터들의 각각은 계수들 중 n개를 포함한다. 계수 벡터들의 각각에 대해, 패킹 유닛 (220) 은 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정한다. 본 개시의 다른 곳에서 더 상세히 설명된 바와 같이, 진폭 값은 I-Q 도메인에서 동위상 (I) 컴포넌트 또는 쿼드러처 (Q) 컴포넌트의 진폭을 표시할 수도 있다. 본 개시의 다른 곳에서 더 상세히 설명된 바와 같이, 맵핑 패턴은 각각의 허용된 계수 벡터를, 진폭 값들의 단조 수 라인에서 고유 진폭 값에 인접한 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한 고유 진폭 값에 맵핑할 수도 있다. 단조 수 라인은, 항상 증가하거나 항상 감소하는 수들의 시퀀스이다. 수 라인에서의 숫자는 동일하게 분리될 수도 있거나 분리되지 않을 수도 있다. 허용된 계수 벡터들은 n개의 계수들의 임의의 벡터를 포함하며, 여기서, 벡터 내의 각각의 계수는 그 계수에 대한 값들의 미리정의된 허용가능한 세트로 제한된다. 일부 예들에서, 패킹 유닛 (220) 은 채널의 스펙트럼 효율에 기초하여 n 을 결정한다. 일부 예들에서, 패킹 유닛 (220) 은, 진폭 값을 형성하기 위해 계수들 중 2 이상 계수들의 비트들을 인터레이싱하는 인터레이싱 프로세스를 수행한다.
아날로그 변조 유닛 (222) 은 진폭 값들에 기초하여 아날로그 신호를 변조할 수도 있다. 일부 예들에서, 아날로그 신호를 변조하는 것의 부분으로서, 아날로그 변조 유닛 (222) 은 진폭 값들 중 하나 이상에 기초하여 아날로그 심볼들을 결정할 수도 있다. 일부 예들에서, 아날로그 심볼들은 연속적이며, 예를 들어, 아날로그 심볼들은, 종래의 디지털 송신에서 일반적인 바와 같이 임의의 쿼드러처 진폭 변조 (QAM) 레벨로 양자화되지 않는다. 표준 변조 기법들과는 대조적으로, 아날로그 변조를 사용하는 것은 재송신을 요구하지 않을 수도 있다. 예를 들어, 변조된 디지털 데이터를 송신할 때 발생하는 에러들은 (예컨대, 체크섬들을 사용하여) 검출될 수도 있고, 수신기는 디지털 데이터의 재송신을 요청할 수도 있다. 하지만, 아날로그 변조된 데이터의 송신 동안 위상 시프트 및 전력에서의 작은 변화들은 재송신을 요구하지 않을 수도 있는데, 왜냐하면 아날로그 변조된 데이터의 위상 또는 전력에서의 작은 변화들은 복원된 비디오 데이터에 다량의 왜곡을 도입할 가능성이 없기 때문이다. 따라서, 아날로그 변조의 사용은 복잡도를 감소시키고, 레이턴시를 감소시킬 수도 있고, 전력 소비를 감소시킬 수도 있다. 모뎀 (108) 은 아날로그 심볼들을 송신할 수도 있다.
일부 예들에서, 아날로그 변조 유닛 (222) 은 아날로그 심볼을 생성하기 위해 진폭 값들의 쌍들 (즉, 진폭 값 쌍들) 을 생성할 수도 있다. 진폭 값 쌍에서의 진폭 값들은 패킹 유닛 (220) 에 의해 생성된 연속적인 진폭 값들일 수도 있다. 도 5 및 도 6 에 관하여 하기에서 설명되는 바와 같이, 아날로그 변조 유닛 (222) 은 아날로그 심볼에 대응하는 I-Q 평면에서의 포인트를 결정할 수도 있다. 진폭 값 쌍에서의 하나의 진폭 값은 포인트의 I 컴포넌트에 대응할 수도 있고, 진폭 값 쌍에서의 다른 진폭 값은 포인트의 Q 컴포넌트에 대응할 수도 있다. 아날로그 변조 유닛 (222) 은, 결정된 포인트에 기초하여, 모뎀 (108) 이 목적지 디바이스 (116) 로 송신하는 아날로그 신호에서 심볼 샘플링 인스턴트에 대한 위상 시프트 및 전력을 결정할 수도 있다.
도 3 은 본 개시의 하나 이상의 기법들에 따른, 예시적인 비디오 디코더 (300) 를 예시한 블록 다이어그램이다. 도 3 은 설명의 목적들로 제공되며, 본 개시에서 광범위하게 예시화되고 설명된 바와 같은 기법들에 대해 한정하는 것은 아니다. 도 3 의 예에서, 비디오 디코더 (300) 는 버퍼 (302), 엔트로피 디코딩 유닛 (304), 양자화해제 유닛 (306), 아날로그 압축해제 유닛 (308), 복원 유닛 (310), 및 비디오 데이터 메모리 (312) 를 포함한다. 도 3 의 예에서, 아날로그 압축해제 유닛 (308) 은 아날로그 복조 유닛 (314), 언패킹 유닛 (316), 양자화해제 유닛 (318), 및 이진화해제 유닛 (320) 을 포함한다. 엔트로피 디코딩 유닛 (304), 양자화해제 유닛 (306), 아날로그 압축해제 유닛 (308) (아날로그 복조 유닛 (314), 언패킹 유닛 (316), 양자화해제 유닛 (318), 및 이진화해제 유닛 (320) 을 포함함), 및 복원 유닛 (310) 중 임의의 것 또는 그 모두는 하나 이상의 프로세서들에서 또는 프로세싱 회로부에서 구현될 수도 있다. 예를 들어, 비디오 디코더 (300) 의 유닛들은 하드웨어 회로부의 부분으로서, 또는 프로세서, ASIC, 또는 FPGA 의 부분으로서 하나 이상의 회로들 또는 로직 엘리먼트들로서 구현될 수도 있다. 더욱이, 비디오 디코더 (300) 는 이들 및 다른 기능들을 수행하기 위해 추가적인 또는 대안적인 프로세서들 또는 프로세싱 회로부를 포함할 수도 있다.
버퍼 (302) 는 비디오 디코더 (300) 의 컴포넌트들에 의해 디코딩될 디지털 비디오 데이터를 저장할 수도 있다. 버퍼 (302) 에 저장된 디지털 비디오 데이터는, 예를 들어, 모뎀 (122) 또는 저장 매체로부터 획득될 수도 있다. 비디오 데이터 메모리 (312) 는 일반적으로, 비디오 디코더 (300) 가 출력할 수도 있는 디코딩된 픽처들을 저장한다. 버퍼 (302) 및 비디오 데이터 메모리 (312) 는 SDRAM 을 포함한 DRAM, MRAM, RRAM, 또는 다른 타입들의 메모리 디바이스들과 같은 다양한 메모리 디바이스들 중 임의의 메모리 디바이스에 의해 형성될 수도 있다. 버퍼 (302) 및 비디오 데이터 메모리 (312) 는 동일한 메모리 디바이스 또는 별도의 메모리 디바이스들에 의해 제공될 수도 있다. 다양한 예들에 있어서, 버퍼 (302) 및 비디오 데이터 메모리 (312) 는 비디오 디코더 (300) 의 다른 컴포넌트들과 온-칩형이거나 또는 그들 컴포넌트들에 대하여 오프-칩형일 수도 있다.
도 3 에 도시된 다양한 유닛들은 비디오 디코더 (300) 에 의해 수행되는 동작들의 이해를 돕기 위해 예시된다. 그 유닛들은 고정 기능 회로들, 프로그래밍가능 회로들, 또는 이들의 조합으로서 구현될 수도 있다. 도 2 와 유사하게, 고정 기능 회로들은 특정 기능성을 제공하는 회로들을 지칭하고, 수행될 수 있는 동작들에 대해 미리설정된다. 프로그래밍가능 회로들은 다양한 태스크들을 수행하도록 프로그래밍될 수 있는 회로들을 지칭하고, 수행될 수 있는 동작들에서 유연한 기능성을 제공한다. 예를 들어, 프로그래밍가능 회로들은, 프로그래밍가능 회로들로 하여금 소프트웨어 또는 펌웨어의 명령들에 의해 정의된 방식으로 동작하게 하는 소프트웨어 또는 펌웨어를 실행할 수도 있다. 고정 기능 회로들은 (예컨대, 파라미터들을 수신하거나 또는 파라미터들을 출력하기 위해) 소프트웨어 명령들을 실행할 수도 있지만, 고정 기능 회로들이 수행하는 동작들의 타입들은 일반적으로 불변이다. 일부 예들에 있어서, 유닛들 중 하나 이상은 별개의 회로 블록들 (고정 기능 또는 프로그래밍가능) 일 수도 있고, 일부 예들에 있어서, 유닛들 중 하나 이상은 집적 회로들일 수도 있다.
비디오 디코더 (300) 는 프로그래밍가능 회로들로부터 형성된, ALU들, EFU들, 디지털 회로들, 아날로그 회로들, 및/또는 프로그래밍가능 코어들을 포함할 수도 있다. 비디오 디코더 (300) 의 동작들이 프로그래밍가능 회로들 상에서 실행하는 소프트웨어에 의해 수행되는 예들에 있어서, 온-칩 또는 오프-칩 메모리는, 비디오 디코더 (300) 가 수신 및 실행하는 소프트웨어의 명령들 (예컨대, 오브젝트 코드) 을 저장할 수도 있다.
도 3 의 예에서, 모뎀 (122) 은 엔트로피 인코딩된 디지털 샘플 값들을 수신할 수도 있다. 버퍼 (302) 는, 모뎀 (122) 에 의해 수신된 엔트로피 인코딩된 디지털 샘플 값들을 저장할 수도 있다. 엔트로피 디코딩 유닛 (304) 은 버퍼 (302) 에서의 엔트로피-인코딩된 디지털 샘플 값들을 엔트로피 디코딩하기 위한 프로세스를 수행할 수도 있다. 엔트로피 디코딩 유닛 (304) 은 CABAC 디코딩 프로세스, CAVLC 디코딩 프로세스, V2V 길이 디코딩 프로세스, SBAC 디코딩 프로세스, PIPE 디코딩 프로세스, 지수-골롬 디코딩 프로세스, 또는 다른 타입의 엔트로피 디코딩 프로세스와 같은 다양한 타입들의 엔트로피 디코딩 프로세스들을 수행할 수도 있다. 양자화해제 유닛 (306) 은 디지털 샘플 값들을 양자화해제할 수도 있다.
아날로그 압축해제 유닛 (308) 의 아날로그 복조 유닛 (314) 은 모뎀 (122) 으로부터 아날로그 신호를 획득할 수도 있다. 그 다음, 아날로그 복조 유닛 (314) 은 심볼 샘플링 인스턴트에 대한 아날로그 신호의 위상 시프트 및 전력을 결정할 수도 있다. 그 다음, 아날로그 복조 유닛 (314) 은 심볼 샘플링 인스턴트에 대한 위상 시프트 및 전력에 대응하는 I-Q 평면에서의 포인트를 결정할 수도 있다. 그 다음, 아날로그 복조 유닛 (314) 은 결정된 포인트에 대응하는 진폭 값들의 쌍을 결정할 수도 있다. 구체적으로, 아날로그 복조 유닛 (314) 은 진폭 값 쌍의 제 1 진폭 값을 포인트의 I 컴포넌트로 설정할 수도 있고, 진폭 값 쌍의 제 2 진폭 값을 포인트의 Q 컴포넌트로 설정할 수도 있다.
각각의 계수 벡터에 대해 (및 따라서, 아날로그 복조 유닛 (314) 에 의해 결정된 각각의 진폭 값에 대해), 언패킹 유닛 (316) 은 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정할 수도 있다. 맵핑 패턴은 각각의 허용된 계수 벡터를, 진폭 값들의 단조 수 라인에서 고유 진폭 값에 인접한 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한 고유 진폭 값에 맵핑할 수도 있다. 계수 벡터들의 각각은 계수들 중 n개를 포함한다. 허용된 계수 벡터들은 n개의 계수들의 임의의 벡터를 포함하며, 여기서, 벡터 내의 각각의 계수는 그 계수에 대한 미리정의된 허용가능한 범위로 제한된다. 다른 예들에서, 언패킹 유닛 (316) 은, 진폭 값의 비트들로부터 2 이상의 계수들의 비트들을 인터레이싱해제하는 인터레이싱해제 프로세스를 수행할 수도 있다.
아날로그 압축해제 유닛 (308) 의 양자화해제 유닛 (318) 은 계수 벡터들의 계수들을 양자화해제할 수도 있다. 예를 들어, 양자화해제 유닛 (318) 은 계수들을 나타내는 이진 값들을 좌측-시프트할 수도 있다. 그 다음, 아날로그 압축해제 유닛 (308) 의 이진화해제 유닛 (320) 은 계수들을 디지털 샘플 값들로 변환할 수도 있다. 예를 들어, 이진화해제 유닛 (320) 은 계수들을 디지털 샘플 값들로 변환하기 위해 계수들에 역 변환 (예컨대, 역 DCT, 역 DST 등) 을 적용할 수도 있다. 복원 유닛 (310) 은 아날로그 압축해제 유닛 (308) 에 의해 생성된 디지털 샘플 값들 및 양자화해제 유닛 (306) 에 의해 생성된 디지털 샘플 값들에 기초하여 비디오 데이터의 픽처의 디지털 샘플 값들을 복원할 수도 있다. 상기에서 설명된 바와 같이, 예측 유닛 (204) 에 의해 생성된 예측 데이터는 픽처의 각각의 블록에 대한 단일 디지털 샘플 값을 포함할 수도 있다. 복원 유닛 (310) 은 블록의 각각의 샘플 위치에 대한 디지털 샘플 값들을 결정할 수도 있다. 예를 들어, 복원 유닛 (310) 은 블록의 각각의 샘플 위치의 디지털 샘플 값을, 예측 데이터에 포함된 블록에 대한 디지털 샘플 값과 동일하게 설정할 수도 있다. 일부 예들에서, 복원 유닛 (310) 은 블록에 대한 송신된 디지털 샘플 값 및 하나 이상의 이웃 블록들에 대한 송신된 디지털 샘플 값들에 기초하여 블록에 대한 디지털 샘플 값들을 보간할 수도 있다. 복원 유닛 (310) 은 아날로그 압축해제 유닛 (308) 에 의해 생성된 디지털 샘플 값들 및 픽처의 블록들의 각각 내의 위치들에 대한 결정된 디지털 샘플 값들에 기초하여 픽처의 디지털 샘플 값들을 복원할 수도 있다. 예를 들어, 복원 유닛 (310) 은 아날로그 압축해제 유닛 (308) 에 의해 생성된 디지털 샘플 값들을, 픽처의 블록들 내의 위치들에 대한 대응하는 디지털 샘플 값들에 가산할 수도 있다. 비디오 데이터 메모리 (312) 는, 예를 들어, 후속 출력 및 디스플레이를 위해 복원된 디지털 샘플 값들을 저장할 수도 있다.
도 4 는 본 개시의 하나 이상의 기법들에 따른, 예시적인 모뎀 (400) 을 예시한 블록 다이어그램이다. 모뎀 (400) 은 소스 디바이스 (102) 의 모뎀 (108) 또는 목적지 디바이스 (116) 의 모뎀 (122) 의 인스턴스일 수도 있다. 도 4 의 예에서, 모뎀 (400) 은 TrBk 사이클릭 리던던시 체크 (CRC) 부착 유닛 (402), 코드 블록 세그먼트화 유닛 (404), 채널 코딩 유닛 (406), 레이트 매칭 유닛 (408), 코드 블록 연접 유닛 (410), 스크램블러 유닛 (412), 변조 유닛 (414), 리소스 맵퍼 (416), 및 직교 주파수 분할 멀티플렉싱 (OFDM) 신호 생성 유닛 (418) 을 포함한다. 다른 예들에서, 다른 타입들의 모뎀들은 다른 컴포넌트들을 포함할 수도 있다. TrBk CRC 부착 유닛 (402) 은 비디오 인코더 (200) 의 버퍼 (210) 로부터 엔트로피 인코딩된 디지털 샘플 값들을 수신할 수도 있다. 리소스 맵퍼 (416) 는 아날로그 변조 유닛 (222) 에 의해 생성된 아날로그 심볼들을 수신할 수도 있다.
TrBk CRC 부착 유닛 (402) 은 페이로드에 대한 CRC 비트들을 계산한다. 페이로드는 비디오 인코더 (200) 에 의해 생성된 디지털 값들 (예를 들어, 엔트로피 인코딩 유닛 (208) 에 의해 생성된 엔트로피 인코딩된 데이터, 시프트 값들, 인터레이싱 프로세스 정보, 양자화 정보, 계수 벡터들에서의 계수들의 수들을 표시하는 데이터, 및/또는 다른 정보) 을 포함할 수도 있다. 코드 블록 세그먼트화 유닛 (404) 은 페이로드를 코드 블록들로 세그먼트화할 수도 있으며, 여기서, 코드 블록은 채널 디코더 (예를 들어, 5G 데이터 채널에 대한 저밀도 패리티 체크 코드 (LDPC) 또는 4G 데이터에 대한 터보 코드) 가 인코딩하도록 허용되는 최대 페이로드 사이즈이다. 채널 코딩 유닛 (406) 은 채널 에러에 대처하기 위해 리던던시를 추가하는 채널 코더 (예를 들어, 5G 데이터에 대한 LDPC 및 4G 데이터에 대한 터보 코드) 를 구현한다. 레이트 매칭 유닛 (408) 은 코드 블록 당, 데이터 사이즈 할당에 따라 송신될 비트들의 수를 선택한다. 코드 블록 연접 유닛 (410) 은 모든 코드 블록들의 선택된 비트들을 연접할 수도 있다. 스크램블러 유닛 (412) 은, 연접된 데이터를, 사용자마다 고유한 의사 랜덤 골드 시퀀스와 XOR 하도록 배타적 논리합 (XOR) 연산을 적용함으로써 스크램블링된 비트들을 생성할 수도 있다. 변조 유닛 (414) 은 스크램블링된 비트들을 변조 모드, 예컨대, π/2-이진 위상 시프트 키잉 (BPSK), 쿼드러처 위상 시프트 키잉 (QPSK), 16-QAM, 64-QAM, 또는 256-QAM 에 따라 변조할 수도 있다. 이러한 방식으로, 변조 유닛 (412) 은 스크램블링된 비트들의 시퀀스들 (즉, 스크램블링된 비트 시퀀스들) 로부터 아날로그 심볼들을 결정할 수도 있다. 리소스 맵퍼 (416) 는 송신을 위해 할당된 주파수 대역폭 및 시간 심볼들에 따라 주파수 및 시간 도메인에 아날로그 심볼들을 배치할 수도 있다. 아날로그 심볼들은 아날로그 압축 유닛 (214) 의 아날로그 변조 유닛 (222) 에 의해 결정된 아날로그 심볼들 또는 변조 유닛 (412) 에 의한 아날로그 심볼들 (예를 들어, 궁극적으로, 양자화 유닛 (206), 엔트로피 인코딩 유닛 (208) 등을 통과하는 예측 데이터에 기초할 수도 있는 스크램블링된 비트들에 기초한 아날로그 심볼들) 을 포함할 수도 있다. OFDM 신호 생성 유닛 (418) 은 아날로그 심볼들에 정수 고속 푸리에 변환 (iFFT) 을 적용하고, 사이클릭 프리픽스들을 삽입하고, 아날로그 신호를 무선 주파수 (RF) 로 업샘플링할 수도 있다. 데이터를 수신하는 경우, 모뎀 (400) 의 유닛들에 의해 수행되는 일련의 액션들은 역으로 수행될 수도 있다.
모뎀 (108) 에서의 디지털 경로는 디지털 데이터를 송신하기 위한 단계들 또는 유닛들의 세트이다. 도 4 의 예에서, 디지털 경로는 TrBk CRC 부착 유닛 (402), 코드 블록 세그먼트화 유닛 (404), 채널 코딩 유닛 (406), 레이트 매칭 유닛 (408), 코드 블록 연접 유닛 (410), 스크램블러 유닛 (412), 변조 유닛 (414), 리소스 맵퍼 (416), 및 OFDM 신호 생성 유닛 (418) 을 포함한다. 다른 예들에서, 디지털 경로는 더 많거나 더 적은 유닛들 또는 단계들을 포함할 수도 있다. 모뎀 (108) 에서의 아날로그 경로는 리소스 맵퍼 (416) 및 OFDM 신호 생성 유닛 (418) 을 포함할 수도 있고, TrBk CRC 부착 유닛 (402), 코드 블록 세그먼트화 유닛 (404), 채널 코딩 유닛 (406), 레이트 매칭 유닛 (408), 코드 블록 연접 유닛 (410), 스크램블러 유닛 (412), 변조 유닛 (414) 을 포함하지 않을 수도 있다.
도 5 는 I-Q 도메인에서의 아날로그 변조를 위한 예시적인 콘스텔레이션 다이어그램 (500) 이다. 콘스텔레이션 다이어그램 (500) 은 쿼드러처 진폭 변조 (QAM) 에 의한 신호 변조의 표현이다. 콘스텔레이션 다이어그램 (500) 은 심볼 샘플링 인스턴트에 대한 복소 평면에서의 2차원 xy-평면 산란 다이어그램으로서 신호를 디스플레이한다. 본 개시의 컨텍스트에서, 심볼 샘플링 인스턴트는 아날로그 심볼이 송신되는 시간에서의 순간에 대응한다.
도 5 의 예에서, 콘스텔레이션 다이어그램 (500) 의 수직 축은 I 컴포넌트, 따라서, 허수의 실수 컴포넌트에 대응한다. 콘스텔레이션 다이어그램 (500) 의 수평 축은 Q 컴포넌트, 따라서, 허수의 허수 컴포넌트에 대응한다.
콘스텔레이션 다이어그램 (500) 의 2차원 평면은 연속적 (즉, 비-이산적) 이다. 하지만, 콘스텔레이션 다이어그램 (500) 은 레퍼런스 포인트들 (502A 내지 502P) (집합적으로, "레퍼런스 포인트들 (502)" 로 지칭됨) 의 세트를 포함한다. 도 5 의 예에서, 레퍼런스 포인트들은 십자로서 표현된다. 도 6 의 예에서, 레퍼런스 포인트들은 원으로서 표현된다. 레퍼런스 포인트들 (502) 은 I-Q 평면 내의 포인트들을 나타내는데 사용되는 임의의 형상으로서 도시될 수도 있다. 도 5 의 예에서, 콘스텔레이션 다이어그램 (500) 은 16개의 레퍼런스 포인트들 (502) 의 세트를 포함한다. (레퍼런스 포인트들 (502) 및 비-레퍼런스 포인트들을 포함하는) 콘스텔레이션 다이어그램 (500) 에서의 임의의 포인트에 대해, 원점으로부터의 포인트의 거리는 아날로그 신호의 진폭 또는 전력의 측정치를 나타낸다. 수평 축 (즉, Q축) 으로부터 반시계 방향으로 측정된 바와 같은 포인트의 각도는 레퍼런스 위상으로부터 캐리어 파의 위상 시프트를 나타낸다.
레퍼런스 포인트들 (502) 의 각각은 비트 시퀀스들의 "알파벳" 에서의 상이한 비트 시퀀스에 대응할 수도 있다. 콘스텔레이션 다이어그램 (500) 에 16개의 레퍼런스 포인트들 (502) 이 있기 때문에, 비트 시퀀스들의 알파벳은 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 및 1111 과 동일할 수도 있다.
모뎀 (108) 이 디지털 데이터 (예를 들어, 엔트로피 인코딩된 예측 데이터) 를 송신하고 있을 때, 변조 유닛 (412) (도 4) 은 디지털 데이터에 기초하여 비트 시퀀스 (예를 들어, 스크램블링된 비트 시퀀스) 에 대응하는 레퍼런스 포인트 (예를 들어, 레퍼런스 포인트들 (502) 중 하나) 를 식별할 수도 있다. 예를 들어, 비트 시퀀스가 0011 과 동일하고 레퍼런스 포인트 (502D) 가 0011 의 비트 시퀀스에 대응하면, 변조 유닛 (412) 은, 예컨대, 화살표 (504) 에 의해 표시된 바와 같이 레퍼런스 포인트 (502K) 에 대응하는 위상 시프트 및 전력을 갖는 아날로그 심볼을 결정할 수도 있다. 모뎀 (108) 의 리소스 맵퍼 (414) 및 OFDM 신호 생성 유닛 (416) 은, 전기 신호 또는 무선 신호와 같은 아날로그 신호에서 아날로그 심볼을 송신할 때 심볼 샘플링 인스턴스 동안 위상 시프트 및 진폭을 사용할 수도 있다.
아날로그 데이터 (예를 들어, 패킹 유닛 (220) 에 의해 생성된 진폭 값들) 에 대해 아날로그 변조를 수행할 때, 아날로그 압축 유닛 (214) 의 아날로그 변조 유닛 (222) 은 콘스텔레이션 다이어그램 (500) 의 레퍼런스 포인트들 (502) 을 사용하지 않는다. 오히려, 아날로그 변조 유닛 (222) 은 패킹 유닛 (220) 에 의해 생성된 진폭 값들의 쌍을 결정할 수도 있다. 그 다음, 아날로그 변조 유닛 (222) 은 진폭 값 쌍을, I-Q 평면에서의 포인트의 좌표들 (예를 들어, 직교 좌표들) 로서 사용할 수도 있다. 아날로그 변조 유닛 (222) 은, 좌표들에 의해 표시된 포인트의 위상 시프트 및 전력으로서 아날로그 심볼을 결정할 수도 있다. 아날로그 변조 유닛 (222) 이 레퍼런스 포인트들 (502) 을 사용하지 않기 때문에, 결정된 포인트는, 예를 들어, 화살표 (506) 에 의해 도시된 바와 같이, 레퍼런스 포인트들 (502) 사이에 있을 수도 있다.
목적지 디바이스 (116) 의 모뎀 (122) 은 아날로그 신호를 수신하도록 구성된다. 디지털 데이터 (예를 들어, 엔트로피 인코딩된 예측 데이터) 를 복조할 때, 변조 유닛 (414) 은 심볼 샘플링 인스턴트 동안 아날로그 신호의 위상 시프트 및 전력을 결정할 수도 있다. 그 다음, 변조 유닛 (414) 은 심볼 샘플링 인스턴트 동안 아날로그 신호의 위상 시프트 및 전력에 대응하는 콘스텔레이션 다이어그램 (500) 의 I-Q 평면에서의 포인트를 결정할 수도 있다. 그 다음, 변조 유닛 (414) 은 결정된 포인트에 가장 가까운 레퍼런스 포인트 (예를 들어, 레퍼런스 포인트들 (402) 중 하나) 를 결정할 수도 있다. 결정된 포인트는 송신 동안 노이즈로 인해 레퍼런스 포인트와 매칭하지 않을 수도 있다. 변조 유닛 (414) 은 결정된 레퍼런스 포인트에 대응하는 비트 시퀀스를 (예컨대, 스크램블러 (412) 에) 출력할 수도 있다. 모뎀 (400) 의 나머지 부분들 (예컨대, 스크램블러 (412), 코드 블록 연접 유닛 (410), 레이트 매칭 유닛 (412), 채널 코딩 유닛 (414), 코드 블록 세그먼트화 (404), 및 TrBk CRC 부착 유닛 (402)) 은 디지털 값들을 복구하기 위해 비트 시퀀스를 프로세싱할 수도 있다.
모뎀 (122) (또는, 도 4 의 컨텍스트에서, 모뎀 (400) 의 리소스 맵퍼 (416)) 은 심볼 샘플링 인스턴트 동안 아날로그 신호의 위상 시프트 및 전력에 대응하는 아날로그 심볼을 결정할 수도 있다. 그 다음, 아날로그 복조 유닛 (314) 은, 결정된 포인트의 I 좌표를 진폭 값 쌍의 제 1 진폭 값에 배정하고 그리고 결정된 포인트의 Q 좌표를 진폭 값 쌍의 제 2 진폭 값에 배정함으로써 진폭 값들의 쌍을 형성할 수도 있다. 따라서, 아날로그 복조 유닛 (314) 은 계수 벡터에 대한 진폭 값을, I-Q 평면에서의 아날로그 심볼의 좌표들 중 하나로서 결정할 수도 있다. 아날로그 복조 유닛 (314) 은 진폭 값 쌍의 진폭 값들을 언패킹 유닛 (316) 에 출력할 수도 있다.
도 6 은 아날로그 변조 송신 동안 수신된 에러를 예시한 개념 다이어그램이다. 더 구체적으로, 도 6 은 콘스텔레이션 다이어그램 (600) 을 도시한다. 모뎀 (400), 아날로그 변조 유닛 (222) 및 아날로그 복조 유닛 (314) 은 도 5 의 콘스텔레이션 다이어그램 (500) 과 동일한 방식으로 콘스텔레이션 다이어그램 (600) 을 사용할 수도 있다. 도 6 의 예에서는, 작은 원들이 레퍼런스 포인트들을 표시하기 위해 십자 대신 사용된다. 노이즈로 인해, 위상 시프트들 및 전력, 및 그에 따른 아날로그 심볼들은 송신 동안 변할 수도 있다. 하지만, 소량의 노이즈는 통상적으로, 수신된 아날로그 심볼에 대응하는 진폭 값들의 관점에서 큰 변위들을 생성하지 않는다. 즉, 오리지널 I 컴포넌트와 수신된 아날로그 심볼에 대응하는 I 컴포넌트 사이의 차이 (즉, ΔΑmplitude2) 및 오리지널 Q 컴포넌트와 수신된 아날로그 심볼에 대응하는 Q 컴포넌트 사이의 차이 (즉, ΔΑmplitude1) 는 통상적으로, 아날로그 심볼의 송신 동안 작다.
상기에서 논의된 바와 같이, 패킹 유닛 (220) 은 맵핑 패턴에 기초하여 계수 벡터를 진폭 값으로 변환할 수도 있다. 일부 예들에서, 계수 벡터에 대한 진폭 값을 결정하기 위한 프로세스는 계수 벡터의 각각의 계수가 부호없는 값이라고 가정할 수도 있다. 하지만, 계수 벡터에서의 계수들은 양수 값 및 음수 값을 포함할 수도 있다. 이에 따라, 패킹 유닛 (220) 은, 계수 벡터에서의 계수들을 부호없는 값들로 변환하는 프로세스를 수행할 수도 있다.
일부 예들에서, 패킹 유닛 (220) 은, 계수 벡터에서의 계수들을 부호없는 값들로 변환하기 위해 부호 데이터 코딩을 사용할 수도 있다. 즉, 계수 벡터에서의 계수들을 부호없는 값들로 변환하기 위해, 패킹 유닛 (220) 은 계수 벡터에서의 계수들의 각각에 대한 부호 값들을 결정할 수도 있다. 부가적으로, 패킹 유닛 (220) 은 계수들의 절대 값들을 포함하는 수정된 계수 벡터를 생성할 수도 있다. 이 예에서, 패킹 유닛 (220) 은 그 다음, 진폭 값들을 결정하기 위해 수정된 계수 벡터를 사용할 수도 있다.
비디오 인코더 (200) 는 디지털 경로를 통해 부호 값들을 송신할 수도 있다. 예를 들어, 비디오 인코더 (200) 는 디지털 경로를 통해 부호 값들을 송신할 수도 있다. 비디오 디코더 (300) 의 아날로그 압축해제 유닛 (308) 의 언패킹 유닛 (316) 은 부호 값들을 수신할 수도 있고, 아날로그 복조 유닛 (314) 으로부터 계수 벡터에 대한 진폭 값을 수신할 수도 있다. 언패킹 유닛 (316) 은 수정된 계수 벡터를 복구하기 위해 계수 벡터에 대한 진폭 값을 사용할 수도 있다. 그 다음, 언패킹 유닛 (316) 은, 수정된 계수 벡터에서의 계수들의 부호들을 부호 데이터에 표시된 대응하는 부호들로 설정함으로써 오리지널 계수 벡터를 복원할 수도 있다.
도 7 은 본 개시의 하나 이상의 기법들에 따른, 데이터 부호 코딩의 일 예를 예시한 개념 다이어그램이다. 도 7 의 예에서, 계수 벡터 (700) 는 양수 계수들 및 음수 계수들을 포함한다. 패킹 유닛 (220) 은 계수 벡터 (700) 에서의 계수들의 부호들을 표시하는 부호 데이터 (702) 를 생성할 수도 있다. 부가적으로, 패킹 유닛 (220) 은, 계수 벡터 (700) 에서의 계수들의 절대 값들을 포함하는 수정된 계수 벡터 (704) 로 계수 벡터 (700) 를 대체할 수도 있다. 패킹 유닛 (220) 은 계수 벡터 (700) 에 대한 진폭 값을 결정하기 위해 수정된 계수 벡터 (704) 를 사용할 수도 있다.
일부 예들에서, 패킹 유닛 (220) 은, 계수 벡터에서의 계수들을 부호없는 값들로 변환하기 위해 최소값 코딩을 사용할 수도 있다. 예를 들어, 계수 벡터에서의 계수들을 부호없는 값들로 변환하기 위해 최소값 코딩을 사용하기 위하여, 패킹 유닛 (220) 은 계수 벡터에서의 최대 음수 계수와 동일한 시프트 값을 결정할 수도 있다. 그 다음, 패킹 유닛 (220) 은, 시프트 값의 절대 값을 계수 벡터에서의 각각의 계수에 가산함으로써 수정된 계수 벡터를 생성할 수도 있다. 패킹 유닛 (220) 은 계수 벡터에 대한 진폭 값을 결정하기 위해 수정된 계수 벡터를 사용할 수도 있다.
패킹 유닛 (220) 은 디지털 경로를 통해 시프트 값을 송신할 수도 있다. 비디오 디코더 (300) 의 아날로그 압축해제 유닛 (308) 의 언패킹 유닛 (316) 은 시프트 값을 수신할 수도 있고, 아날로그 복조 유닛 (314) 으로부터 계수 벡터에 대한 진폭 값을 수신할 수도 있다. 언패킹 유닛 (316) 은 수정된 계수 벡터를 복구하기 위해 계수 벡터에 대한 진폭 값을 사용할 수도 있다. 그 다음, 언패킹 유닛 (316) 은, 시프트 값을 수정된 계수 벡터에서의 각각의 계수에 가산함으로써 오리지널 계수 벡터를 복원할 수도 있다.
도 8 은 본 개시의 하나 이상의 기법들에 따른, 최소값 코딩의 일 예를 예시한 개념 다이어그램이다. 도 8 의 예에서, 계수 벡터 (800) 는 양수 계수들 및 음수 계수들을 포함한다. 패킹 유닛 (220) 은 시프트 값 (802) 을 결정한다. 시프트 값 (802) 은 계수 벡터 (800) 에서의 최대 음수 계수일 수도 있다. 따라서, 도 8 의 예에서, 시프트 값 (802) 은 -13 과 동일하다. 부가적으로, 패킹 유닛 (220) 은, 시프트 값의 절대 값을 계수 벡터에서의 각각의 계수에 가산함으로써 수정된 계수 벡터 (804) 를 생성할 수도 있다. 비디오 인코더 (200) 는, 예컨대, 디지털 경로를 통해 시프트 값을 송신할 수도 있다.
도 9 는 본 개시의 하나 이상의 기법들에 따른, 예시적인 맵핑 패턴을 예시한 개념 다이어그램이다. 도 10 은 본 개시의 하나 이상의 기법들에 따른, 도 9 의 맵핑 패턴에 대응하는 진폭 값들을 예시한 개념 다이어그램이다. 본 개시는 도 9 및 도 10 의 맵핑 패턴을 S-스네이크 맵핑 패턴으로서 지칭할 수도 있다. 패킹 유닛 (220) 및 언패킹 유닛 (316) 은, 패킹 유닛 (220) 이 부호있는 계수들로부터 변환된 부호없는 계수들의 계수 벡터들에 대한 부호없는 진폭 값들을 결정하기 위해 S-스네이크 맵핑 패턴을 사용할 수도 있다. 따라서, S-스네이크 맵핑 패턴은, 부호없는 계수들을 부호없는 진폭 값에 맵핑하는 맵핑 패턴의 일 예이다. 상기에서 언급된 바와 같이, 패킹 유닛 (220) 은 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정할 수도 있다. 맵핑 패턴은 각각의 허용된 계수 벡터를, 진폭 값들의 단조 수 라인에서 고유 진폭 값에 인접한 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한 고유 진폭 값에 맵핑한다. 도 9 및 도 10 의 예에서, n 은 2 와 동일하다.
도 9 의 예에서, 축들 x 및 y 의 각각은 계수 벡터에서의 상이한 계수들에 대응한다. 진폭 값들은, (0, 0) 의 계수 벡터에 대응하는 포지션으로부터 시작하여 화살표들의 체인을 따라 각각의 포지션에 대해 1만큼 증가한다. 예를 들어, 도 10 의 예에 도시된 바와 같이, (1, 10) 의 계수 벡터에 대해, 패킹 유닛 (220) 은 대응하는 진폭 값이 103 임을 결정할 수도 있다. 유사하게, 언패킹 유닛 (316) 은, 103 의 진폭 값에 기초하여, 대응하는 계수 벡터가 (1, 10) 임을 결정할 수도 있다. 유사한 타입의 맵핑 패턴이 더 높은 차원들로 확장될 수도 있다.
도 11 은 본 개시의 하나 이상의 기법들에 따른, 예시적인 맵핑 패턴을 예시한 개념 다이어그램이다. 도 12 는 본 개시의 하나 이상의 기법들에 따른, 도 11 의 맵핑 패턴에 대응하는 진폭 값들을 예시한 개념 다이어그램이다. 본 개시는 도 11 및 도 12 의 맵핑 패턴을 M-스네이크 맵핑 패턴으로서 지칭할 수도 있다. 패킹 유닛 (220) 및 언패킹 유닛 (316) 은, 부호있는 계수들의 계수 벡터들에 대한 부호있는 진폭 값들을 결정하기 위해 M-스네이크 맵핑 패턴을 사용할 수도 있다. 따라서, M-스네이크 맵핑 패턴은, 부호있는 계수들을 부호있는 진폭 값에 맵핑하는 맵핑 패턴의 일 예이다. 패킹 유닛 (220) 및 언패킹 유닛 (316) 은 도 9 및 도 10 의 맵핑 패턴과 유사한 방식으로 도 11 및 도 12 의 맵핑 패턴을 사용할 수도 있다. 하지만, 패킹 유닛 (220) 및 언패킹 유닛 (316) 은 부호있는 값들 (즉, 양수 값 및 음수 값) 을 포함하는 계수 벡터들로 도 9 및 도 10 의 맵핑 패턴을 사용할 수도 있다. 도 9 및 도 10 의 맵핑 패턴이 부호있는 값들을 포함하는 계수 벡터들을 사용할 수 있기 때문에, 비디오 인코더 (200) 는 (예를 들어, 부호 데이터 또는 시프트 값들의 형태로) 많은 부가 정보를 시그널링할 필요가 없을 수도 있다. 하지만, 부호있는 값들의 사용과 연관된 일부 성능 열화가 있을 수도 있다. 예를 들어, 부호있는 계수는 동일한 분해능의 부호없는 계수들에 비해 추가 비트를 요구할 수도 있다. 이러한 추가 비트는 부호없는 계수들에 비해 부호있는 신호 진폭 다이나믹을 증가시킨다 (부호없는 계수들이 0,1,...A 로부터 왔으면, 동일한 분해능을 갖는 부호있는 계수들은 -A,...,-1,0,1,...A 임). 전력이 공칭 레벨로 스케일링됨에 따라, 더 높은 동적 범위를 갖는 신호에 대해 스케일링이 더 공격적이며, 따라서, 성능이 손실될 수도 있다.
도 9 및 도 10 에 도시된 것과 유사한 타입의 맵핑 패턴은 더 높은 차원들로 확장될 수도 있다.
도 13 은 본 개시의 하나 이상의 기법들에 따른, 예시적인 맵핑 패턴을 예시한 개념 다이어그램이다. 도 14 는 본 개시의 하나 이상의 기법들에 따른, 도 13 의 맵핑 패턴에 대응하는 진폭 값들을 예시한 개념 다이어그램이다. 본 개시는 도 13 및 도 14 의 맵핑 패턴을 MS-스네이크 맵핑 패턴으로서 지칭할 수도 있다. 패킹 유닛 (220) 및 언패킹 유닛 (316) 은 도 9 및 10 의 S-스네이크 맵핑 패턴과 유사한 방식으로 도 13 및 도 14 의 맵핑 패턴을 사용할 수도 있다. S-스네이크 맵핑 패턴과 같이, 패킹 유닛 (220) 은, 부호없는 값만을 포함하는 계수 벡터들을 부호있는 진폭 값들로 변환하기 위해 MS-스네이크 맵핑 패턴을 사용할 수도 있다.
MS-스네이크 맵핑 패턴은 작은 비디오 품질 열화와 함께 압축 이득을 제공할 수도 있다. 더욱이, MS-스네이크 맵핑 패턴은 진폭 값들의 노이즈 저항성을 개선할 수도 있다. MS-스네이크 맵핑 패턴은 부호없는 수들을 부호있는 진폭 값들에 맵핑한다. 따라서, MS-스네이크 맵핑 패턴은, 부호없는 계수들을 부호있는 진폭 값에 맵핑하는 맵핑 패턴의 일 예이다. MS-스네이크 맵핑 패턴을 사용할 때, 비트들의 수는 동일하게 유지될 수도 있지만, 동적 전력 범위는 6dB 만큼 감소될 수도 있다 (최대 진폭의 abs 가 1 비트만큼 더 작기 때문에). 전력 스케일링은 덜 공격적일 수도 있으며, 이는 신호 복원력을 증가시킬 수도 있고, 따라서, 노이즈 저항성을 개선할 수도 있다. 부가적으로, MS-스네이크 맵핑 패턴은 다차원 짧은 아치들의 사용으로 인해 고유한 노이즈 억제 기법을 도입할 수도 있다. 맵핑을 위해 (진폭 값들의) 2D 부호있는 평면을 사용하는 것은, 부호있는 맵핑에 관하여 맵핑된 진폭을 1 비트만큼 감소시켜, 더 낮은 동적 범위를 발생시킬 수도 있으며, 이는 더 높은 프로세싱 이득을 달성하기 위한 아날로그 변조 방식에 대한 중요한 특성이다.
본 개시의 도면들에 예시되지 않지만, 다른 타입들의 맵핑 패턴들은 부호있는 계수들을 부호없는 진폭 값에 맵핑할 수도 있다.
도 15 는 본 개시의 하나 이상의 기법들에 따른, 예시적인 3차원 맵핑 패턴 (500) 을 예시한 개념 다이어그램이다. 상기에서 언급된 바와 같이, 패킹 유닛 (220) 은 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정할 수도 있고, 여기서, 맵핑 패턴은 각각의 허용된 계수 벡터를, 진폭 값들의 단조 수 라인에서 고유 진폭 값에 인접한 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한 고유 진폭 값에 맵핑한다. 도 15 의 예에서, n 은 3 과 동일하다. 패킹 유닛 (220) 은 본 개시의 다른 곳에서 설명된 맵핑 패턴들과 유사한 방식으로 도 15 의 맵핑 패턴 (500) 을 사용할 수도 있다. 맵핑 패턴 (500) 은, 부호없는 계수들의 벡터들을 부호없는 진폭 값들에 맵핑하는 3차원 S-스네이크 맵핑 패턴의 일 예이다. 예를 들어, 계수 벡터가 (0, 1, 2) 와 동일한 경우, 패킹 유닛 (220) 은 62 의 진폭 값을 결정할 수도 있다.
도 16 은 본 개시의 하나 이상의 기법들에 따른, 비디오 데이터를 인코딩하기 위한 예시적인 방법을 예시한 플로우차트이다. 본 개시의 플로우차트들은 예들로서 제시된다. 다른 예들은 더 많거나 더 적거나 또는 상이한 액션들을 포함할 수도 있거나, 액션들은 상이한 순서들로 수행될 수도 있다.
도 16 의 예에서, 비디오 인코더 (200) 는 비디오 데이터에 기초하여 계수들을 생성할 수도 있다 (1600). 예를 들어, 비디오 데이터에 기초하여 계수들을 생성하는 것의 일 예에서, 비디오 인코더 (200) 의 예측 유닛 (204) 은 비디오 데이터에 대한 예측 데이터를 결정할 수도 있다. 이 예에서, 비디오 인코더 (200) 의 잔차 생성 유닛 (212) 은 예측 블록에서의 샘플 값들과 비디오 데이터의 블록에서의 대응하는 샘플 값들 사이의 차이들을 표시하는 잔차 데이터를 생성할 수도 있다. 더욱이, 이 예에서, 아날로그 압축 유닛 (214) 은 잔차 데이터에 기초하여 계수들을 생성할 수도 있다. 예를 들어, 비디오 인코더 (200) 의 이진화 유닛 (216) 은 계수들을 생성하기 위해 잔차 데이터를 이진화할 수도 있고, 양자화 유닛 (218) 은 계수들을 양자화할 수도 있다. 비디오 데이터에 기초하여 계수들을 생성하는 것의 다른 예들에서, 비디오 인코더 (200) 는 더 많거나 더 적거나 또는 상이한 단계들을 수행할 수도 있다. 예를 들어, 일부 예들에서, 비디오 인코더 (200) 는 양자화 단계를 수행하지 않는다. 또 다른 예들에서, 비디오 인코더 (200) 는 잔차 데이터를 이진화하는 단계를 수행하지 않는다.
일부 예들에서, 비디오 인코더 (200) 는 예측 데이터에 기초하여 디지털 값들 (예를 들어, 비트 시퀀스들) 을 생성할 수도 있고, 모뎀 (108) (예를 들어, 모뎀 (108) 의 변조 유닛 (414)) 은 디지털 값들을 송신하도록 구성될 수도 있다. 예를 들어, 양자화 유닛 (206) 은 예측 데이터에서의 디지털 샘플 값들에 기초하여 양자화된 디지털 샘플 값들을 생성할 수도 있다. 엔트로피 인코딩 유닛 (208) 은 양자화된 디지털 샘플 값들에 기초하여 디지털 값들을 생성하는 엔트로피 인코딩 프로세스를 수행할 수도 있다. 디지털 값들을 송신하기 위해, 모뎀 (108) 은, 예를 들어, 도 4 에 관하여 설명된 바와 같이, 엔트로피 인코딩된 데이터에 기초하여 비트 시퀀스들을 생성할 수도 있다. 변조 유닛 (414) 은 비트 시퀀스들에 기초하여 아날로그 심볼들을 결정할 수도 있다.
일부 예들에서, 아날로그 압축 유닛 (214) 은 초기 계수들을 수정하여 계수들을 생성할 수도 있다. 도 7 과 일치하는 하나의 예에서, 아날로그 압축 유닛 (214) (예를 들어, 이진화 유닛 (216) 및/또는 양자화 유닛 (218)) 은 비디오 데이터에 기초하여 초기 계수들을 생성할 수도 있다. 이 예에서, 아날로그 압축 유닛 (214) 은 초기 계수들의 양수/음수 부호들을 표시하는 부호 값들을 생성할 수도 있다. 더욱이, 아날로그 압축 유닛 (214) 은 계수들을 초기 계수들의 절대값들로서 생성할 수도 있다. 이 예에서, 모뎀 (108) 은 부호 값들을 나타내는 데이터를 시그널링하도록 구성될 수도 있다.
도 8 과 일치하는 초기 계수들을 수정하는 것의 다른 예에서, 계수 벡터에서의 계수들은 초기 계수들의 음이 아닌 버전들이다. 이 예에서, 비디오 데이터에 기초하여 (예를 들어, 잔차 데이터에 기초하여) 계수들을 생성하는 것의 부분으로서, 아날로그 압축 유닛 (214) (예를 들어, 이진화 유닛 (216) 및/또는 양자화 유닛 (218)) 은 잔차 데이터에 기초하여 초기 계수들을 생성할 수도 있다. 이 예에서, 아날로그 압축 유닛 (214) 은 초기 계수들의 최대 음수의 초기 계수에 기초하여 시프트 값 (예를 들어, 도 8 의 시프트 값 (802)) 을 결정할 수도 있다. 아날로그 압축 유닛 (214) 은, 시프트 값에 기초하여 초기 계수들을 초기 계수들의 음이 아닌 버전들로 변환하는 프로세스를 수행할 수도 있다. 이 예에서, 모뎀 (108) 은 시프트 값을 나타내는 데이터를 시그널링하도록 구성될 수도 있다.
더욱이, 도 16 의 예에서, 비디오 인코더 (200) 의 패킹 유닛 (220) 은 계수 벡터들을 생성할 수도 있다 (1602). 계수 벡터들의 각각은 계수들 중 n개를 포함한다. 패킹 유닛 (220) 은 다양한 방식들 중 하나로 계수 벡터들을 생성할 수도 있다. 예를 들어, 일 예에서, 패킹 유닛 (220) 은 계수 코딩 순서에 따라 n개의 연속적인 계수들의 그룹으로서 계수 벡터를 생성할 수도 있다. 래스터 스캔 순서, 지그재그 스캔 순서, 역 래스터 스캔 순서, 수직 스캔 순서 등과 같은 다양한 계수 코딩 순서들이 사용될 수도 있다. 일부 예들에서, 계수 벡터는 하나 이상의 음수 계수들 및 하나 이상의 양수 계수들 (즉, 부호있는 계수들) 을 포함할 수도 있다. 일부 예들에서, 계수 벡터는 오직 음이 아닌 계수들 (즉, 부호없는 계수들) 만을 포함한다.
계수 벡터들의 각각에 대해, 패킹 유닛 (220) 은 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정할 수도 있다 (1604). 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해, 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑한다. 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한다. 상기에서 논의된 도 9 내지 도 15 는, 패킹 유닛 (220) 이 계수 벡터들에 대한 진폭 값들을 결정하기 위해 사용할 수도 있는 예시적인 맵핑 패턴들을 도시한다. 따라서, 일부 예들에서, 맵핑 패턴은 S-스네이크 패턴, M-스네이크 패턴, MS-스네이크 패턴, 또는 다른 타입의 맵핑 패턴 중 하나일 수도 있다. 값 (n) 은 2 이상일 수도 있다.
일부 예들에서, 계수 벡터에 대한 진폭 값을 결정하기 위해, 패킹 유닛 (220) 은 n차원 공간에서의 포지션을 결정할 수도 있다. n차원 공간에서의 포지션의 좌표들은 계수 벡터의 계수들에 기초하고, 맵핑 패턴은 n차원 공간에서의 상이한 포지션들을 복수의 진폭 값들에서의 상이한 진폭 값들에 맵핑한다. 패킹 유닛 (220) 은 계수 벡터에 대한 진폭 값을, n차원 공간에서의 결정된 포지션에 대응하는 진폭 값으로서 결정할 수도 있다.
일부 예들에서, 비디오 인코더 (200) 는 하나 이상의 최적화 기준들에 따라 맵핑 패턴들 사이에서 동적으로 스위칭할 수도 있다. 예를 들어, 비디오 인코더 (200) 는 더 큰 성능이 요구될 때 도 9 및 도 10 의 맵핑 패턴을 사용할 수도 있고, 더 적은 부가 정보를 전송하는 것이 더 바람직할 때 도 11 및 도 12 의 맵핑 패턴을 사용할 수도 있다. 이 예에서, 성능은 노이즈 내성, 아날로그 심볼 당 비트들의 수의 관점에서, 또는 일부 다른 메트릭에 따라 측정될 수도 있다. 이 예에서, 비디오 인코더 (200) 는 블록 단위 기반으로, 픽처 단위 기반으로, 시퀀스 단위 기반으로, 또는 다른 기반으로 맵핑 패턴들 사이에서 스위칭할 수도 있다. 다른 예에서, 비디오 인코더 (200) 는, 예를 들어, 도 24 내지 도 26 에 관하여 설명되는 방식으로, 맵핑 패턴들 사이에서 동적으로 스위칭할 수도 있다.
그 다음, 아날로그 변조 유닛 (222) 은 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조할 수도 있다 (1606). 아날로그 변조 유닛 (222) 은, 본 개시의 다른 곳에서 제공된 예들, 예를 들어, 도 5 및 도 6 에 관하여 설명된 예들 중 임의의 예에 따라 아날로그 진폭 변조를 수행할 수도 있다. 예를 들어, 아날로그 변조 유닛 (222) 은 진폭 값들의 쌍에 기초하여 아날로그 심볼을 결정할 수도 있다. 아날로그 심볼은, 진폭 값 쌍에 의해 표시된 좌표들을 갖는 I-Q 평면에서의 포인트의 위상 시프트 및 전력에 대응할 수도 있다. 아날로그 변조 유닛 (222) 은 결정된 위상 시프트 및 전력에 기초하여 심볼 샘플링 인스턴트 동안 아날로그 신호를 변조할 수도 있다. 모뎀 (108) 은 아날로그 신호를 출력하도록 구성될 수도 있다 (1608).
도 17 은 본 개시의 하나 이상의 기법들에 따른, 비디오 데이터를 디코딩하기 위한 예시적인 방법을 예시한 플로우차트이다. 도 17 의 예에서, 비디오 디코더 (300) 의 아날로그 복조 유닛 (314) 은, 아날로그 신호에 기초하여, 복수의 계수 벡터들에 대한 진폭 값들을 결정할 수도 있다 (1700). 아날로그 복조 유닛 (314) 은, 본 개시의 다른 곳에서 제공된 예들, 예를 들어, 도 5 및 도 6 에 관하여 설명된 예들 중 임의의 예에 따라 아날로그 진폭 복조를 수행할 수도 있다. 예를 들어, 아날로그 복조 유닛 (314) 은 아날로그 신호의 심볼 샘플링 인스턴트에 대한 위상 시프트 및 전력을 결정할 수도 있다. 아날로그 복조 유닛 (315) 은 결정된 위상 시프트 및 전력에 의해 표시된 I-Q 평면에서의 포인트를 결정할 수도 있다. 그 다음, 아날로그 복조 유닛 (314) 은 진폭 값 쌍을, I-Q 평면에서의 포인트에서의 좌표들로서 결정할 수도 있다.
계수 벡터들의 각각에 대해, 언패킹 유닛 (316) 은 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정할 수도 있다 (1702). 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해, 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑할 수도 있다. 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한다. 계수 벡터들의 각각은 계수들 중 n개를 포함할 수도 있다. 상기에서 논의된 도 9 내지 도 15 는, 언패킹 유닛 (316) 이 계수 벡터들에 대한 진폭 값들을 결정하기 위해 사용할 수도 있는 예시적인 맵핑 패턴들을 도시한다. 따라서, 일부 예들에서, 맵핑 패턴은 S-스네이크 패턴, M-스네이크 패턴, MS-스네이크 패턴, 또는 다른 타입의 맵핑 패턴 중 하나일 수도 있다. 값 (n) 은 2 이상일 수도 있다. 일부 예들에서, 언패킹 유닛 (316) 은 계수 벡터에서의 계수들을, 진폭 값에 대응하는 n차원 공간에서의 포지션의 좌표들로서 결정할 수도 있고, 여기서, 맵핑 패턴은 n차원 공간에서의 상이한 포지션들을 복수의 진폭 값들에서의 상이한 진폭 값들에 맵핑한다. 일부 예들에서, 계수 벡터는 하나 이상의 음수 계수들 및 하나 이상의 양수 계수들을 포함한다. 다른 예들에서, 계수 벡터는 오직 음이 아닌 계수들만을 포함할 수도 있다.
도 7 의 예와 같은 일부 예들에서, 계수들을 결정하는 것의 부분으로서, 비디오 디코더 (300) 는 (예를 들어, 모뎀 (122) 의 디지털 경로를 통해) 부호 값들을 획득할 수도 있고, 여기서, 부호 값들은 계수 벡터에서의 계수들의 양수/음수 부호들을 표시한다. 그러한 예들에서, 비디오 디코더 (300) 는, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여, 계수 벡터에서의 계수들의 절대 값들을 결정할 수도 있다. 비디오 디코더 (300) 는, 계수 벡터에서의 계수들의 절대 값들에 부호 값들을 적용함으로써 적어도 부분적으로 계수 벡터에서의 계수들을 복원할 수도 있다. 도 8 의 예와 같은 일부 예에서, 계수들을 결정하는 것의 부분으로서, 비디오 디코더 (300) 는 (예를 들어, 모뎀 (122) 의 디지털 경로를 통해) 시프트 값을 나타내는 데이터를 획득할 수도 있다. 그러한 예들에서, 시프트 값은 계수 벡터에서의 계수들의 최대 음수 계수를 표시한다. 부가적으로, 그러한 예들에서, 비디오 디코더 (300) 는, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여, 계수 벡터에서의 계수들의 중간 값들을 결정할 수도 있다. 비디오 디코더 (300) 는, 계수 벡터에서의 계수들의 중간 값들의 각각에 시프트 값을 가산함으로써 적어도 부분적으로 계수 벡터에서의 계수들을 복원할 수도 있다.
더욱이, 도 17 의 예에서, 비디오 디코더 (300) 는 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성할 수도 있다 (1704). 예를 들어, 하나의 예에서, 비디오 디코더 (300) 의 양자화해제 유닛 (318) 은 계수 벡터들의 계수들을 양자화해제할 수도 있다. 이 예에서, 비디오 디코더 (300) 의 이진화해제 유닛 (320) 은 계수들을 디지털 샘플 값들로 변환하기 위해 이진화해제 프로세스를 수행할 수도 있다. 예를 들어, 이진화해제 유닛 (320) 은 계수들을 디지털 샘플 값들로 변환하기 위해 계수들에 역 DCT 를 적용할 수도 있다. 이러한 방식으로, 아날로그 압축해제 유닛 (308) 은 디지털 샘플 값들을 생성할 수도 있다. 더욱이, 이 예에서, 비디오 디코더 (300) 의 엔트로피 디코딩 유닛 (304) 은 (예를 들어, 모뎀 (122) 의 디지털 경로를 통해) 디지털 값들을 획득할 수도 있다. 비디오 디코더 (300) 는 디지털 값들에 기초하여 예측 데이터를 생성할 수도 있다. 예를 들어, 엔트로피 디코딩 유닛 (304) 은 양자화된 디지털 샘플 값들을 생성하기 위해 디지털 값들에 대해 엔트로피 디코딩 프로세스를 수행할 수도 있다. 비디오 디코더 (300) 의 양자화해제 유닛 (306) 은 양자화된 디지털 샘플 값들을 양자화해제함으로써 예측 데이터를 생성할 수도 있다. 비디오 디코더 (300) 의 복원 유닛 (310) 은, 예를 들어, 예측 블록의 대응하는 디지털 샘플 값들 및 아날로그 압축해제 유닛 (308) 에 의해 생성된 디지털 샘플 값들을 가산함으로써, 예측 데이터 및 잔차 데이터에 기초하여 비디오 데이터를 생성할 수도 있다. 이러한 방식으로, 비디오 디코더 (300) 는 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성할 수 있다. 다른 예들에 있어서, 비디오 디코더 (300) 는 더 많거나 더 적거나 또는 상이한 액션들을 수행할 수도 있다. 예를 들어, 일부 예들에서, 양자화해제 유닛 (306) 및/또는 양자화해제 유닛 (318) 에 의해 수행되는 양자화해제 단계들은 생략된다. 일부 예들에서, 비디오 디코더 (300) 는 엔트로피 디코딩 유닛 (304) 에 의해 수행되는 엔트로피 디코딩 프로세스를 생략할 수도 있다.
본 개시의 하나 이상의 기법들에 따르면, 패킹 유닛 (220) 은, 다중의 계수들을 단일 진폭 값으로 통합하는 인터레이싱 프로세스를 수행할 수도 있다. 인터레이싱 프로세스를 수행하는 것은 노이즈 저항성을 개선할 수도 있고, 2 이상의 비-인터레이싱된 아날로그 심볼들을 전송하기 위해 2 이상의 상이한 심볼 샘플링 인스턴트들을 사용하는 것에 비해 압축 이득을 제공할 수도 있다. 패킹 유닛 (220) 은, 계수 벡터들에 대한 진폭 값들을 생성하기 위해 맵핑 패턴을 사용하는 본 개시의 다른 곳에서 설명된 프로세스 대신에 진폭 값들을 생성하기 위해 인터레이싱 프로세스를 수행할 수도 있다.
도 18 은 본 개시의 하나 이상의 기법들에 따른, 인터레이싱의 제 1 예를 예시한 개념 다이어그램이다. 도 18 의 예에서, 제 1 계수 (1800) 는 4개의 비트들 (즉, 비트들 (a0 내지 a3)) 로 구성되고, 제 2 계수 (1802) 는 4개의 비트들 (즉, b0 내지 b3) 로 구성된다. 일반적으로, 인터레이싱은 다른 계수의 비트들 사이에 (예를 들어, 교번 패턴으로, 라운드 로빈 패턴으로, 또는 다른 타입의 패턴으로) 하나 이상의 계수들의 비트들을 삽입하는 것을 지칭한다. 비디오 인코더 (200) 의 패킹 유닛 (220) 은, 계수 (1800) 의 비트들을 계수 (1802) 의 비트들과 인터레이싱함으로써 진폭 값 (1804) 을 생성하는 인터레이싱 프로세스를 수행할 수도 있다. 본 개시는 인터레이싱 프로세스를 수행함으로써 생성된 진폭 값들을 "인터레이싱된 진폭 값들" 로서 지칭할 수도 있다.
아날로그 변조 유닛 (222) 은 본 개시의 다른 곳에서 설명된 진폭 값들과 동일한 방식으로 인터레이싱된 진폭 값들의 쌍들을 사용할 수도 있다. 비디오 디코더 (300) 의 언패킹 유닛 (316) 은 아날로그 복조 유닛 (314) 으로부터 인터레이싱된 진폭 값들을 수신할 수도 있고, 인터레이싱된 진폭 값들로부터 계수들을 복원하는 인터레이싱해제 프로세스를 수행할 수도 있다. 예를 들어, 도 18 의 컨텍스트에서, 언패킹 유닛 (316) 은 인터레이싱된 진폭 값 (1804) 으로부터 계수들 (1800) 및 계수 (1802) 를 복원하는 인터레이싱해제 프로세스를 수행할 수도 있다.
도 19 는 본 개시의 하나 이상의 기법들에 따른, 인터레이싱의 제 2 예를 예시한 개념 다이어그램이다. 도 19 의 예에서, 비디오 인코더 (200) 의 패킹 유닛 (220) 은 인터레이싱된 진폭 값 (1908) 을 생성하기 위해 계수들 (1900, 1902, 1904, 및 1906) 의 비트들을 인터레이싱하는 인터레이싱 프로세스를 수행한다. 비디오 디코더 (300) 의 언패킹 유닛 (316) 은 계수들 (1900, 1902, 1904, 및 1906) 을 형성하기 위해 인터레이싱된 진폭 값 (1908) 의 비트들을 인터레이싱해제하는 인터레이싱해제 프로세스를 수행한다.
일부 예들에서, 패킹 유닛 (220) 은 상이한 인터레이싱 프로세스들 중에서 동적으로 선택할 수도 있다. 도 18 및 도 19 로부터 알 수 있는 바와 같이, 인터레이싱된 진폭 값들은, 계수들로부터 진폭 값들을 생성하는데 사용되는 인터레이싱 프로세스에 의존하여 상이한 수들의 비트들을 포함할 수 있다. 소스 디바이스 (102) 가 아날로그 신호를 송신하고 있는 채널의 다양한 특성들은 채널의 스펙트럼 효율에 영향을 줄 수도 있다. 채널의 스펙트럼 효율은, 진폭 값에서 얼마나 많은 비트들이 사용될 수 있는지를 표시한다. 예를 들어, 채널에 더 큰 노이즈가 있으면, 스펙트럼 효율은 더 낮을 수도 있고, 따라서, 진폭 값들은 더 적은 비트들을 가질 수도 있다. 따라서, 패킹 유닛 (220) 은 채널의 스펙트럼 효율 및 계수 당 비트들의 수에 기초하여 값 (x) 을 결정할 수도 있다. 예를 들어, 패킹 유닛 (220) 은, 계수 당 비트들의 수에 의해 제산된 스펙트럼 효율로서 값 (x) 을 결정할 수도 있다. 그 다음, 패킹 유닛 (220) 은, 인터레이싱된 진폭 값을 형성하기 위해 x개 계수들의 비트들을 인터레이싱하는 인터레이싱 프로세스를 사용할 수도 있다. 이러한 방식으로, 패킹 유닛 (220) 은, 아날로그 신호가 송신되는 채널의 스펙트럼 효율에 기초하여, 복수의 인터레이싱 프로세스들로부터 인터레이싱 프로세스를 선택할 수도 있다. 비디오 디코더 (300) 의 언패킹 유닛 (316) 은 복수의 인터레이싱해제 프로세스들로부터 인터레이싱해제 프로세스를 선택할 수도 있다. 예를 들어, 비디오 인코더 (200) 는 인터레이싱 프로세스를 표시하는 데이터를 (예컨대, 디지털 경로를 통해) 시그널링할 수도 있다. 일부 예들에서, 인터레이싱해제 프로세스들의 각각은 인터레이싱된 진폭 값과는 상이한 수의 계수들을 인터레이싱해제한다.
인터레이싱된 진폭 값들은 특정 값들에서 노이즈 민감성일 수 있다. 예를 들어, 심볼 샘플링 인스턴트 동안 아날로그 신호의 전력 또는 위상에서의 변화들은, 아날로그 복조 유닛 (314) 이 심볼 샘플링 인스턴트에 대해 결정하는 인터레이싱된 진폭 값에 1 의 가산을 초래할 수도 있다. 패킹된 진폭 값에서의 변화는 오리지널 디지털 샘플 값들과 인터레이싱된 진폭 값으로부터 도출된 디지털 샘플 값들 사이에 현저한 차이들을 초래할 수도 있다.
도 20 은 코딩 프로세스에 대한 노이즈의 예시적인 영향들을 예시한 블록 다이어그램이다. 도 20 의 예에서, 비디오 인코더 (200) 의 이진화 유닛 (216) 은, 각각 7 과 동일한 2개의 디지털 샘플 값들을 수신할 수도 있다. 이진화 유닛 (216) 은 디지털 샘플 값들을, 양자 모두가 0111 과 동일한 계수들로 변환할 수도 있다. 패킹 유닛 (220) 은 0011_1111 (십진수로 63 과 동일함) 의 인터레이싱된 진폭 값을 생성하기 위해 계수들의 비트들을 인터레이싱하는 인터레이싱 프로세스를 수행할 수도 있다. 그 다음, 아날로그 변조 유닛 (222) (도 20 에서 디지털-투-아날로그를 위해 D2A 로 라벨링됨) 은 인터레이싱된 진폭 값에 기초하여 아날로그 신호를 변조하기 위해 아날로그 변조를 수행할 수도 있다. 아날로그 신호는 채널 (2000) 을 통해 송신될 수도 있다.
채널 (2000) 을 통한 아날로그 신호의 송신 동안, 노이즈는 아날로그 복조 유닛 (314) (도 20 에서 아날로그-투-디지털을 위해 A2D 로 라벨링됨) 에 의해 아날로그 신호로부터 복조되는 인터레이싱된 진폭 값에 대해 1 비트 변화를 야기할 수도 있다. 예를 들어, 심볼 샘플링 인스턴트 동안 아날로그 신호의 전력 또는 위상 시프트에서의 변화들은 아날로그 복조 유닛 (314) 으로 하여금 오리지널 진폭 값 쌍에 대응하는 I-Q 평면에서의 포인트와는 상이한 I-Q 평면에서의 포인트를 결정하게 할 수도 있다. 따라서, 아날로그 복조 유닛 (314) 에 의해 결정된 인터레이싱된 진폭 값은 63 대신 64 와 동일할 수도 있다. 도 20 의 예에 도시된 바와 같이, 인터레이싱된 진폭 값은 0100_0000 으로서 이진수로 표현될 수도 있다. 언패킹 유닛 (316) 은, 0100_0000 의 인터레이싱된 진폭 값을 계수들 (0000 및 1000) 로 변환하는 인터레이싱해제 프로세스를 수행할 수도 있다. 이진화해제 유닛 (320) 은 이들 계수들을, 도 20 의 예에서 0 및 8 과 동일한 디지털 샘플 값들로 변환할 수도 있다. 0 및 8 의 디지털 샘플 값들은 7 및 7 의 오리지널 디지털 샘플 값들과는 현저히 상이함을 유의한다. 이러한 차이는, 이들 디지털 샘플 값들에 기초하여 디코딩된 픽처의 품질에 심각한 악영향을 가질 수도 있다. 이러한 노이즈 취약성은 특정 인터레이싱된 진폭 값들에 대해 주로 발생함을 유의한다. 하지만, 이러한 노이즈 취약성은 다른 인터레이싱된 진폭 값들에서 그렇게 심각하진 않다.
이 문제를 해결할 수도 있는 본 개시의 하나 이상의 기법들에 따르면, 패킹 유닛 (220) 은, 인터레이싱된 진폭 값들의 수 라인에서의 노이즈-취약성의 인터레이싱된 진폭 값들 사이의 포지션들에서 인터레이싱된 진폭 값들의 수 라인에서의 갭 값들이 존재하도록, 인터레이싱된 진폭 값들을 대안의 인터레이싱된 진폭 값들로 재맵핑할 수도 있다. 인터레이싱된 진폭 값들의 수 라인에서의 노이즈-취약성의 인터레이싱된 진폭 값들은, 최소 노이즈 (예를 들어, 1 비트 플립) 을 추가하는 것이 인터레이싱된 진폭 값들에 기초하여 결정된 디지털 샘플 값들에 대한 현저한 변화들을 야기할 수도 있는 인터레이싱된 진폭 값들이다. 아날로그 신호로부터 복조되는 인터레이싱된 진폭 값이 갭 값들 중 하나임을 아날로그 복조 유닛 (314) 이 결정할 때, 아날로그 복조 유닛 (314) 은 인터레이싱된 진폭 값을, 갭이 아닌 인터레이싱된 진폭 값들 중 가장 가까운 값으로 라운딩할 수도 있다.
도 21 은 본 개시의 하나 이상의 기법들에 따른, 갭 범위들을 예시한 개념 다이어그램이다. 도 21 의 예에서, 수 라인 (2100) 은 인터레이싱된 진폭 값들의 범위에 대응한다. 수 라인 (2100) 에서의 각각의 블록은 노이즈-취약성의 인터레이싱된 진폭 값들 사이의 일련의 인터레이싱된 진폭 값들에 대응할 수도 있다. 수 라인 (2100) 은 노이즈-취약성의 인터레이싱된 진폭 값들 사이로의 갭 값들의 삽입을 개념적으로 예시한다. 구체적으로, 도 21 의 예에서, 어두운 바들은 갭 값들의 범위들 (즉, 갭 범위들) 에 대응한다. 갭 값들의 범위들의 폭들은, 인터레이싱된 진폭 값의 십진수 값을 일 값만큼 변경하는 노이즈로부터의 인터레이싱된 진폭 값의 이진수 표현에서의 변경된 비트들의 수와 상관될 수도 있다 (예를 들어, 그에 비례하거나 또는 일부 다른 관계를 가질 수도 있음). 예를 들어, 도 21 의 수 라인 (2104) 에 도시된 바와 같이, 2개의 갭 값들이 15 와 16 사이에 삽입될 수도 있고, 4개의 갭 값들이 31 과 32 사이에 삽입될 수도 있고, 2개의 갭 값들이 47 과 48 사이에 삽입될 수도 있는 등이다.
따라서, 도 21 의 수 라인 (2106) 에 도시된 바와 같이, 아날로그 변조 유닛 (222) 은 인터레이싱된 진폭 값들 (0-15) 을 대안의 인터레이싱된 진폭 값들 (0-15) 에 맵핑하고, 인터레이싱된 진폭 값들 (16-31) 을 대안의 인터레이싱된 진폭 값들 (18-33) 에 맵핑하고, 인터레이싱된 진폭 값들 (32-47) 을 대안의 인터레이싱된 진폭 값들 (38-53) 에 맵핑하고, 인터레이싱된 진폭 값들 (48-63) 을 대안의 인터레이싱된 진폭 값들 (56-71) 에 맵핑할 수도 있는 등이다. 이에 따라, 아날로그 복조 유닛 (314) 은 대안의 인터레이싱된 진폭 값들 (0-15) 을 대응하는 인터레이싱된 진폭 값들 (0-15) 로 다시 변환하고; 대안의 인터레이싱된 진폭 값들 (16-17) (즉, 갭 값들) 을 각각 인터레이싱된 진폭 값들 (15 및 16) 로 변환하며, 대안의 인터레이싱된 진폭 값들 (18-33) 을 대응하는 인터레이싱된 진폭 값들 (16-31) 로 다시 변환하고; 대안의 인터레이싱된 진폭 값들 (34-35) (즉, 갭 값들) 을 인터레이싱된 진폭 값 (31) 으로 변환하고; 대안의 인터레이싱된 진폭 값들 (36-37) (즉, 갭 값들) 을 인터레이싱된 진폭 값 (32) 으로 변환하고; 대안의 인터레이싱된 진폭 값들 (38-53) 을 대응하는 인터레이싱된 진폭 값들 (32-37) 로 변환할 수도 있는 등이다.
도 22 는 본 개시의 하나 이상의 기법들에 따른, 비디오 데이터를 인코딩하기 위한 예시적인 방법을 예시한 플로우차트이다. 도 22 의 예에서, 예측 유닛 (204) 은 비디오 데이터에 대한 예측 데이터를 생성할 수도 있다 (2200). 부가적으로, 잔차 생성 유닛 (212) 은 비디오 데이터의 디지털 샘플 값들 및 예측 데이터에 기초하여 잔차 데이터를 생성할 수도 있다 (2202). 예를 들어, 잔차 생성 유닛 (212) 은 잔차 데이터의 디지털 샘플 값들을 생성하기 위해 예측 데이터의 디지털 샘플 값들을 비디오 데이터의 대응하는 디지털 샘플 값들로부터 감산할 수도 있다.
아날로그 압축 유닛 (214) 은 잔차 데이터에 기초하여 계수들을 생성할 수도 있다 (2204). 예를 들어, 이진화 유닛 (216) 은 잔차 데이터에 기초하여 계수들을 생성하는 이진화 프로세스를 수행할 수도 있다. 이 예에서, 양자화 유닛 (218) 은 계수들을 양자화하는 양자화 프로세스를 수행할 수도 있다.
본 개시의 기법에 따르면, 패킹 유닛 (220) 은 인터레이싱된 진폭 값을 생성하기 위해 인터레이싱 프로세스를 수행할 수도 있다 (2206). 인터레이싱 프로세스는 인터레이싱된 진폭 값을 생성하기 위해 계수들 중 2 이상의 계수들의 비트들을 인터레이싱한다. 예를 들어, 도 19 의 예에서, 인터레이싱 프로세스는 인터레이싱된 진폭 값을 생성하기 위해 계수들 중 2개의 계수들의 비트들을 인터레이싱한다. 도 20 의 예에서, 인터레이싱 프로세스는 인터레이싱된 진폭 값을 생성하기 위해 계수들 중 4개의 계수들의 비트들을 인터레이싱한다. 일부 예들에서, 패킹 유닛 (220) 은, 아날로그 신호가 송신되는 채널의 스펙트럼 효율에 기초하여, 복수의 인터레이싱 프로세스들로부터 인터레이싱 프로세스를 선택한다. 일부 그러한 예들에서, 인터레이싱 프로세스들의 각각은 인터레이싱된 진폭 값을 생성하기 위해 상이한 수의 계수들을 인터레이싱한다.
더욱이, 비디오 인코더 (200) 는 예측 데이터에 기초하여 디지털 값들을 생성하도록 구성될 수도 있다 (2208). 예를 들어, 양자화 유닛 (206) 은 예측 데이터에서의 디지털 샘플 값들에 기초하여 양자화된 디지털 샘플 값들을 생성할 수도 있다. 이 예에서, 엔트로피 인코딩 유닛 (208) 은 양자화된 디지털 샘플 값들에 기초하여 디지털 값들을 생성하는 엔트로피 인코딩 프로세스를 수행할 수도 있다.
모뎀 (108) 은 디지털 값들 및 인터레이싱된 진폭 값들에 기초하여 변조되는 하나 이상의 아날로그 신호들을 출력하도록 구성될 수도 있다 (2210). 예를 들어, 아날로그 변조 유닛 (222) 은 인터레이싱된 진폭 값을 포함하는 진폭 값 쌍에 대응하는 아날로그 심볼을 결정할 수도 있다. 모뎀 (108) 은, 아날로그 심볼에 대응하는 위상 시프트 및 전력에 기초하여 심볼 샘플링 인스턴트 동안 아날로그 신호를 송신할 수도 있다. 모뎀 (108) 은 또한, 예를 들어, 도 4 에 관하여 설명된 방식으로, 디지털 값들에 기초하여 아날로그 신호를 송신할 수도 있다.
일부 예들에서, 아날로그 변조 유닛 (222) 은, 오리지널 수 라인 (예를 들어, 도 21 의 수 라인 (2100)) 으로부터의 인터레이싱된 진폭 값을, 하나 이상의 갭 범위들을 포함하는 대안의 수 라인 (예를 들어, 도 21 의 대안의 수 라인 (2106)) 에서의 맵핑된 값에 맵핑하는 맵핑 프로세스를 수행한다. 갭 범위들은 아날로그 신호들로부터 복조되는 인터레이싱된 진폭 값들에서의 비트 플립들의 관점에서 노이즈의 영향들과 상관되는 오리지널 수 라인에서의 포지션들에 위치될 수도 있다. 맵핑 프로세스는 임의의 인터레이싱된 진폭 값을 하나 이상의 갭 범위들 중 임의의 갭 범위에서의 임의의 값에 맵핑하지 않는다. 아날로그 변조 유닛 (222) 은, 맵핑된 값을 포함하는 진폭 값 쌍을 생성할 수도 있다. 그 다음, 아날로그 변조 유닛 (222) 은 맵핑된 값에 기초하여 아날로그 심볼을 결정할 수도 있다. 모뎀 (108) 은 아날로그 심볼에 기초하여 아날로그 신호를 변조할 수도 있다. 따라서, 모뎀 (108) 은 맵핑된 값에 기초하여 아날로그 신호를 변조할 수도 있다.
도 23 은 본 개시의 하나 이상의 기법들에 따른, 비디오 데이터를 디코딩하기 위한 예시적인 방법을 예시한 플로우차트이다. 도 23 의 예에서, 아날로그 복조 유닛 (314) 은 아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정할 수도 있다 (2300). 일부 예들에서, 아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정하는 것의 부분으로서, 모뎀 (112) 은 아날로그 신호의 심볼 샘플링 인스턴트에 대한 위상 시프트 및 전력에 대응하는 아날로그 심볼을 결정할 수도 있다. 인터레이싱된 진폭 값은 I-Q 평면에서의 아날로그 심볼의 좌표들의 I 컴포넌트 또는 Q 컴포넌트일 수도 있다.
일부 예들에서, 맵핑된 값은 I-Q 평면에서의 아날로그 심볼의 좌표들의 I 컴포넌트 또는 Q 컴포넌트일 수도 있다. 맵핑된 값은 오리지널 수 라인 (예를 들어, 도 21 의 수 라인 (2100)) 에서의 인터레이싱된 진폭 값을 하나 이상의 갭 범위들을 포함하는 대안의 수 라인 (예를 들어, 도 21 의 대안의 수 라인 (2106)) 에서의 맵핑된 값에 맵핑하는 맵핑 프로세스를 사용하여 생성되었을 수도 있다. 갭 범위들은 아날로그 신호들로부터 복조되는 인터레이싱된 진폭 값들에서의 비트 플립들의 관점에서 노이즈의 영향들과 상관되는 오리지널 수 라인에서의 포지션들에 위치될 수도 있고, 맵핑 프로세스는 인터레이싱된 진폭 값들 중 임의의 인터레이싱된 진폭 값을 하나 이상의 갭 범위들 중 임의의 갭 범위에서의 임의의 값에 맵핑하지 않는다. 이 예에서, 아날로그 복조 유닛 (314) 은, 맵핑된 값을 인터레이싱된 진폭 값에 맵핑하기 위해 맵핑 프로세스의 역을 사용할 수도 있다. 일부 사례들에서, 아날로그 신호를 복조함으로써 결정되는 맵핑된 값은 갭 범위들 중 하나에 있다. 그러한 사례들에서, 맵핑 프로세스의 역은 갭 범위들에서의 맵핑된 값들을 오리지널 수 라인에서의 인터레이싱된 진폭 값들에 맵핑한다. 이러한 방식으로, 아날로그 복조 유닛 (314) 은 아날로그 신호에 대한 노이즈의 영향을 감소시킬 수도 있다.
따라서, 그러한 예들에서, 아날로그 복조 유닛 (314) 은, 오리지널 수 라인에서의 인터레이싱된 진폭 값들을 하나 이상의 갭 범위들을 포함하는 대안의 수 라인에서의 맵핑된 값들에 맵핑하는 맵핑 프로세스를 사용하여 생성되는 맵핑된 값을 결정하기 위해 아날로그 신호를 복조할 수도 있고, 여기서, 갭 범위들은 아날로그 신호들로부터 복조되는 인터레이싱된 진폭 값들에서의 비트 플립들의 관점에서 노이즈의 영향들과 상관되는 오리지널 수 라인에서의 포지션들에 위치되고, 맵핑 프로세스는 인터레이싱된 진폭 값들 중 임의의 인터레이싱된 진폭 값을 하나 이상의 갭 범위들 중 임의의 갭 범위에서의 임의의 값에 맵핑하지 않는다. 아날로그 복조 유닛 (314) 은, 맵핑된 값을 인터레이싱된 진폭 값에 맵핑하기 위해 맵핑 프로세스의 역을 사용할 수도 있다.
더욱이, 도 23 의 예에서, 언패킹 유닛 (316) 은 2 이상의 계수들을 생성하기 위해 인터레이싱해제 프로세스를 수행할 수도 있다 (2302). 2 이상의 계수들의 비트들은 인터레이싱된 진폭 값에서 인터레이싱된다. 일부 예들에서, 인터레이싱해제 프로세스는 계수들 중 2개의 계수들의 비트들을 인터레이싱해제한다 (예를 들어, 도 18 의 예에 도시된 인터레이싱 프로세스의 역). 일부 예들에서, 인터레이싱해제 프로세스는 인터레이싱된 진폭 값으로부터의 계수들 중 4개의 계수들의 비트들을 인터레이싱해제한다 (예를 들어, 도 19 의 예에 도시된 인터레이싱 프로세스의 역). 일부 예들에서, 언패킹 유닛 (316) 은, 하나 이상의 아날로그 신호에서 송신된 데이터에 기초하여, 복수의 인터레이싱해제 프로세스들로부터 인터레이싱해제 프로세스를 선택할 수도 있다. 일부 그러한 예들에서, 인터레이싱해제 프로세스들의 각각은 상이한 수의 계수들을 인터레이싱해제한다.
아날로그 압축해제 유닛 (308) 은 2 이상의 계수들에 기초하여 잔차 데이터를 생성할 수도 있다 (2304). 예를 들어, 양자화해제 유닛 (318) 은, 계수들을 역 양자화하는 역 양자화 프로세스를 수행할 수도 있다. 이진화해제 유닛 (320) 은, 계수들에 기초하여 잔차 데이터를 생성하는 이진화해제 프로세스를 수행할 수도 있다.
부가적으로, 비디오 디코더 (300) 는 디지털 값들을 획득할 수도 있다 (2306). 예를 들어, 모뎀 (122) 은 디지털 값들을 획득하고 디지털 값들을 비디오 디코더 (300) 에 제공하도록 구성될 수도 있다. 비디오 디코더 (300) 는 디지털 값들에 기초하여 예측 데이터를 생성할 수도 있다 (2308). 예를 들어, 엔트로피 디코딩 유닛 (304) 은, 디지털 값들에 기초하여 양자화된 디지털 샘플 값들을 생성하는 엔트로피 디코딩 프로세스를 수행할 수도 있다. 양자화해제 유닛 (306) 은, 역 양자화된 디지털 샘플 값들에 기초하여 예측 데이터에서의 디지털 샘플 값들을 생성하는 역 양자화 프로세스를 수행할 수도 있다. 비디오 디코더 (300) 의 복원 유닛 (310) 은 예측 데이터 및 잔차 데이터에 기초하여 비디오 데이터를 복원할 수도 있다 (2310). 예를 들어, 복원 유닛 (310) 은 예측 데이터의 디지털 샘플 값들을 잔차 데이터의 대응하는 디지털 샘플 값들에 가산하여 비디오 데이터의 디지털 샘플 값들을 복원할 수도 있다.
도 24 는 본 개시의 하나 이상의 기법들에 따른, 가변 심볼 레이트를 사용하는 예시적인 아날로그 압축 유닛 (2400) 을 예시한 블록 다이어그램이다. 아날로그 압축 유닛 (2400) 은 도 2 의 아날로그 압축 유닛 (214) 대신 사용될 수도 있다. 도 24 의 예에서, 아날로그 압축 유닛 (2400) 은 블록 세그먼트화 유닛 (2402), 블록 동적 양자화 유닛 (2404), 스펙트럼 효율 유닛 (2406), 패킹 유닛 (2408), 스케일링 유닛 (2410), 및 아날로그 변조 유닛 (2412) 을 포함할 수도 있다.
블록 세그먼트화 유닛 (2402) 은 잔차 데이터를 수신하고, 잔차 데이터를 2차원 블록들로 세그먼트화할 수도 있다. 즉, 블록 세그먼트화 유닛 (2402) 은 사이즈 N 의 잔차 이미지를 N/K 블록들로 분할할 수도 있으며, 여기서, K 는 블록 당 계수들의 수를 표시한다. 블록 iK 계수들은 b 0, i , b 1, i b k , i 로서 표기될 수도 있으며, 여기서 i = 0, 1,…, N/K-1 이다. 일부 예들에서, 블록 세그먼트화 유닛 (2404) 은 블록들의 콘텐츠의 하나 이상의 특성들에 기초하여 블록들의 사이즈들을 적응적으로 선택할 수도 있다. 예를 들어, 블록 세그먼트화 유닛 (2404) 은 상대적으로 균일한 디지털 샘플 값들을 포함하는 픽처의 영역에서의 블록들에 대해 더 큰 블록 사이즈를 선택할 수도 있고, 덜 균일한 디지털 샘플 값들을 포함하는 픽처의 영역들에 대해 더 작은 블록 사이즈들을 선택할 수도 있다. 일부 예들에서, 블록 세그먼트화 유닛 (2402) 은 블록의 계수들을 생성하기 위해 블록의 잔차 데이터에 변환을 적용할 수도 있다. 예를 들어, 블록 세그먼트화 유닛 (2402) 은 블록의 계수들을 생성하기 위해 블록의 잔차 데이터에 DCT (예컨대, 정수 DCT) 또는 다른 변환을 적용할 수도 있다. 일부 예들에서, 블록의 계수들은 잔차 디지털 샘플 값들일 수도 있다.
각각의 블록 i 에 대해, 블록 동적 양자화 유닛 (2404) 은 블록 i 를 양자화하여 양자화된 계수들을 생성할 수도 있으며, 그 각각은 Q 비트들로 구성된다. Q 의 값은 상이한 블록들에 대해 상이할 수도 있다. 따라서, 본 개시는 블록 i 의 계수들을 양자화하는데 사용된 비트들의 수를 Q i 로서 표기할 수도 있다. 블록 i (여기서 블록 i 는 사이즈 k 를 가짐) 의 양자화된 계수들 (c) 는 c 0, i , c 1, i ,…,c k,i 로서 표기된다.
일부 예들에서, 블록 동적 양자화 유닛 (2404) 은 픽처의 총 엔트로피에 기초하여 블록의 계수들을 양자화할 수도 있다. 예를 들어, 픽처가 균질한 컬러의 큰 영역들 (예를 들어, 청색 하늘의 큰 영역) 을 포함하면, 픽처의 총 엔트로피는 상대적으로 낮을 수도 있다. 따라서, 픽처의 총 엔트로피가 상대적으로 낮을 경우, 디코딩될 때 픽처의 품질을 현저히 감소시키지 않으면서 더 높은 레벨들의 양자화가 사용될 수도 있다. 더 높은 레벨들의 양자화를 사용하는 것은 픽처의 인코딩된 버전을 나타내는데 필요한 정보의 양을 감소시킬 수도 있다. 하지만, 픽처가 복잡하고 급격하게 변하는 컬러들의 큰 영역들을 포함하면, 픽처의 총 엔트로피는 상대적으로 높을 수도 있다. 따라서, 픽처의 총 엔트로피가 상대적으로 높을 경우, 디코딩될 때 더 높은 레벨들의 양자화는 픽처의 품질을 현저히 감소시킬 수도 있다. 일부 예들에서, 블록 동적 양자화 유닛 (2404) 은, 블록 동적 양자화 유닛 (2404) 이 블록의 계수들을 양자화하기 위해 사용하는 양자화 파라미터로 엔트로피를 변환하기 위해 미리정의된 맵핑 또는 공식을 사용할 수도 있다. 일부 예들에서, 블록 동적 양자화 유닛 (2404) 은 픽처의 총 엔트로피 대신 블록 자체의 총 엔트로피에 기초하여 블록을 양자화할 수도 있다.
적어도 부분적으로는 블록 동적 양자화 유닛 (2404) 이 동적 양자화를 블록들에 적용하기 때문에, 블록 당 비트들의 수 (즉, 블록에서의 양자화된 계수들의 각각을 나타내는 비트들의 수) 는 블록마다 변할 수도 있다. 도 22 의 예에서, 블록 2414 는 비트들의 수를 나타낸다.
스펙트럼 효율 유닛 (2406) 은, 소스 디바이스 (102) 가 아날로그 심볼들을 전송할 채널의 스펙트럼 효율을 결정할 수도 있다. 스펙트럼 효율을 결정하기 위한 방법들은 5G 표준과 같은 특정 송신 표준들에서 정의될 수도 있다. 스펙트럼 효율은, 소스 디바이스 (102) 가 심볼 샘플링 인스턴트 동안 진폭 값으로 채널을 통해 목적지 디바이스 (116) 로 얼마나 많은 비트들을 전달할 수 있는지를 표시할 수도 있다. 즉, 스펙트럼 효율은, 진폭 값에서 사용될 수도 있는 비트들의 수에 대응할 수도 있다.
채널의 스펙트럼 효율은 시간에 걸쳐 변할 수도 있다. 예를 들어, 채널의 스펙트럼 효율은 환경 조건들 (예컨대, 비, 안개, 눈 등) 로 인해 변할 수도 있다. 일부 사례들에서, 채널의 스펙트럼 효율은, 소스 디바이스 (102) 및/또는 목적지 디바이스 (116) 가 건물 안팎으로 이동할 때 변할 수도 있다. 일부 사례들에서, 채널의 스펙트럼 효율은, 소스 디바이스 (102) 및/또는 목적지 디바이스 (116) 가 무선 기지국으로부터 더 가깝게 또는 더 멀리 이동할 때 변할 수도 있다. 일부 사례들에서, 채널의 스펙트럼 효율은 건물들 또는 자연 특징부들로부터의 반사들로 인해 변할 수도 있다.
일부 예들에서, 모뎀 (108) 은 다중입력 다중출력 (MIMO) 방법을 사용하여 데이터를 전송 및 수신할 수도 있다. MIMO 방법을 사용하여 데이터를 송신할 때, 모뎀 (108) 은 데이터를 전송 및 수신하기 위해 다중 안테나들을 사용할 수도 있다. 상이한 안테나들을 통해 데이터를 전송하는 것은 상이한 채널들을 통해 데이터를 전송하는 것과 유사할 수도 있다. 이들 상이한 채널들에 대해 상이한 스펙트럼 효율들이 있을 수도 있다. 이러한 컨텍스트에서, MIMO 에서 사용된 상이한 채널들은 계층들로서 지칭될 수도 있다. 따라서, 스펙트럼 효율 유닛 (2406) 은 각각의 계층에 대해 상이한 스펙트럼 효율들을 결정할 수도 있다.
패킹 유닛 (220) 에 관한 상기의 논의와 유사하게, 패킹 유닛 (2408) 은 계수 벡터들을 생성하고, 맵핑 패턴에 기초하여 계수 벡터들에 대한 진폭 값들을 결정할 수도 있다. 도 24 의 컨텍스트에서, 계수 벡터에서의 각각의 계수는 동일한 블록에 속한다. 일부 사례들에서, 블록에 대한 단일 계수 벡터가 있을 수도 있다. 다른 예들에서, 블록에 대한 다중 계수 벡터들이 있을 수도 있다. 더욱이, 아날로그 변조 유닛 (222) 에 관한 상기의 논의와 유사하게, 아날로그 변조 유닛 (2412) 은 진폭 값들의 쌍들에 기초하여 아날로그 심볼을 결정할 수도 있다. 아날로그 변조 유닛 (2412) 은 아날로그 심볼에 기초하여 아날로그 신호를 변조할 수도 있다.
모뎀 (108) 이 MIMO 방법을 사용하는 예들에서, 진폭 값들에 기초하여 아날로그 변조 유닛 (2412) 에 의해 결정된 아날로그 심볼들은 상이한 계층들 사이에 분배될 수도 있다. 모뎀 (108) 이 MIMO 를 사용하지 않는 예들에서 (예를 들어, 단일 안테나만이 사용될 경우), 단일 계층만이 존재할 수도 있고 스펙트럼 효율 유닛 (2406) 은 이 단일 계층의 스펙트럼 효율을 결정할 수도 있다. 어느 경우든, 모뎀 (108) 은, 동일한 블록 (즉, 블록 i) 의 계수들을 포함하는 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 심볼들을 나타내는 아날로그 신호를 송신하기 위해 동일한 계층을 사용할 수도 있다. 따라서, 블록 i 의 양자화된 계수들을 포함하는 계수 벡터들에 대한 진폭 값들에 기초하여 결정된 아날로그 심볼들이 전송되는 계층의 스펙트럼 효율은 SE i 로서 표기될 수도 있다. 유사하게, 블록 i 에 대한 블록 당 비트들은 Q i 로서 표기될 수도 있다.
패킹 유닛 (2408) 은, 패킹 유닛 (2408) 이 블록의 양자화된 계수들을 포함하는 계수 벡터를 진폭 값으로 변환하기 위해 패킹 동작을 수행하고 있을 때, 블록 i 에 대한 계층 당 스펙트럼 효율 (2416) (SE i ) 및 블록 당 비트들 (2414) (Q i ) 을 사용할 수도 있다. 더 구체적으로, 패킹 유닛 (2408) 은, 패킹 유닛 (2408) 이 계수 그룹에 대한 진폭 값을 결정하기 위해 사용하는 맵핑 패턴의 차원을, 예를 들어, 블록 단위 기반으로, 동적으로 선택할 수도 있다. 다른 방식으로 서술하면, 패킹 유닛 (2408) 은, 각각의 계수 벡터에서의 계수들의 수 (n) 을, 예를 들어, 블록 단위 기반으로, 동적으로 선택할 수도 있다. n 의 더 높은 값은 계수 벡터에서의 계수들을 나타내는데 사용된 비트들의 수에 비해 계수 벡터에 대한 진폭 값을 나타내는데 사용된 비트들의 수의 관점에서 더 큰 압축을 유도할 수도 있기 때문에, 그리고 n 의 더 낮은 값들은 더 적은 압축을 유도할 수도 있기 때문에, 패킹 유닛 (2408) 에 의해 결정된 진폭 값들은 가변 비트 레이트를 가질 수도 있다. 블록 i 에 대한 값 (n) 은 n i 로서 표기될 수도 있다.
상기에서 언급된 바와 같이, 패킹 유닛 (2408) 은 블록 당 비트들 (2414) (즉, Q i ) 및 계층 당 스펙트럼 효율 (2416) (즉, SE i ) 에 기초하여 맵핑 패턴을 결정할 수도 있다. 예를 들어, 패킹 유닛 (2408) 은 SE i 에 대한 하나의 차원 및 Q i 에 대한 하나의 차원을 갖는 미리정의된 2차원 테이블을 사용할 수도 있다. 그 테이블의 셀들에서의 값들은 n i 의 값 (즉, 블록 i 의 계수들을 포함하는 계수 벡터에서의 계수들의 수) 을 표시한다. 일부 예들에서, 패킹 유닛 (2408) 은 SE i Q i 에 의해 제산함으로써 n i 의 값을 결정할 수도 있다. 즉, SE i n i Q i 에 의해 승산한 것과 대략 동일할 수도 있다.
일부 예들에서, 패킹 유닛 (2408) 은 SE i Q i 에 기초하여 값 (n i ) 을 결정할 수도 있다. 패킹 유닛 (2408) 은, n i 차원 공간을 사용하는 맵핑 패턴을 결정할 수도 있다. 일부 예들에서, 패킹 유닛 (2408) 은, 동일한 n i 차원 공간을 사용하는 다중의 맵핑 패턴들 중으로부터 선택할 수도 있다. 일부 예들에서, 맵핑 패턴은, 다른 차원들보다 일부 차원들에서 더 많은 허용된 값들 (예를 들어, 양자화된 계수들의 허용된 값들) 이 있을 수도 있다는 의미에서 비대칭일 수도 있다. 예를 들어, 도 9 의 예를 참조하면, y 축에서보다 x 축에서 더 많은 이용가능한 수들이 있을 수도 있다. 그러한 비대칭 맵핑 패턴들의 사용은 블록 i 에 대한 Q i 가 블록 j 에 대한 Q j 와 상이한 예들에서 유용할 수도 있다. Q i 가 2 와 동일하고 SE i 가 8 비트들과 동일한 예에서, 각각이 2개 비트들 (즉, Q i = 2) 를 포함하는 4개의 양자화된 계수들 (즉, n i = 4) 는 단일 8비트 진폭 값으로 패킹될 수 있다. 다른 예에서, SE i 가 8 비트들과 동일하고, Q i 가 4 와 동일하고, 그리고 Q j 가 2 와 동일하면, 패킹 유닛 (2408) 은 단일 진폭 값을 생성하기 위해 블록 i 의 하나의 양자화된 계수 및 블록 j 의 2개의 양자화된 계수들을 패킹할 수도 있다.
n 의 값이 블록마다 변할 수도 있기 때문에, 비디오 인코더 (200) 는 n 의 값을 비디오 디코더 (300) 로 송신할 수도 있다. 일부 예들에서, 비디오 인코더 (200) 는 디지털 경로를 통해 n 의 값을 송신할 수도 있다. 일부 예들에서, 비디오 인코더 (200) 는 n 의 값이 변할 때 n 의 값을 송신할 수도 있지만, 각각의 블록에 대해 별도로 n 의 값을 반드시 송신할 필요는 없다.
전력 스케일링 유닛 (2410) 은 진폭 값들을, 동적으로 선택된 스케일링 값들에 의해 승산한다. 이러한 방식으로, 전력 스케일링 유닛 (2410) 은 스케일링된 진폭 값들을 생성할 수도 있다. 전력 스케일링 유닛 (2410) 은, 진폭 값들의 일관된 전력 출력을 보장하기 위해 스케일링 값들을 선택할 수도 있다. 더욱이, 도 24 의 예에서, 아날로그 변조 유닛 (2412) 은 스케일링된 진폭 값들에 기초하여 아날로그 신호를 변조할 수도 있다. 예를 들어, 일부 예들에서, 아날로그 변조 유닛 (2412) 은 스케일링된 진폭 값들의 쌍에 기초하여 아날로그 심볼을 결정할 수도 있다. 모뎀 (108) 은, 아날로그 심볼에 대응하는 심볼 샘플링 인스턴트 동안, 아날로그 신호가 아날로그 심볼에 대응하는 위상 시프트 및 전력을 갖도록 그 아날로그 신호를 송신할 수도 있다.
도 24 의 아날로그 압축 유닛 (2400) 에 대해 작동하도록 구성된 아날로그 압축해제 유닛은 일반적으로, 본 개시의 다른 곳에서 논의된 바와 같은 아날로그 압축해제 유닛 (308) (및 그의 컴포넌트들) 과 유사한 방식으로 동작할 수도 있다. 하지만, 일부 예들에서, 언패킹 유닛 (316) 은 (비디오 인코더 (200) 가 디지털 경로를 통해 시그널링할 수도 있는) n 의 값의 표시를 획득할 수도 있고, 진폭 값들로부터 계수들을 언패킹하기 위해 수신된 n 의 값에 대한 적절한 맵핑 패턴을 사용할 수도 있다.
도 25 는 본 개시의 하나 이상의 기법들에 따른, 비디오 데이터를 인코딩하기 위한 예시적인 방법을 예시한 플로우차트이다. 도 25 의 예에서, 비디오 인코더 (200) 는 비디오 데이터의 디지털 샘플 값들에 기초하여 계수들을 생성할 수도 있다 (2500). 일부 예들에서, 비디오 데이터에 기초하여 계수들을 생성하는 것의 부분으로서, 예측 유닛 (204) (도 2) 은 비디오 데이터에 대한 예측 데이터를 생성할 수도 있다. 잔차 생성 유닛 (212) 은, 비디오 데이터의 디지털 샘플 값들 및 예측 데이터에 기초하여 잔차 데이터를 생성할 수도 있다. 아날로그 압축 유닛 (214) 은 잔차 데이터에서의 디지털 샘플 값들의 블록에 기초하여 계수들을 생성할 수도 있다. 예를 들어, 이진화 유닛 (216) 은 잔차 데이터에 기초하여 계수들을 생성하는 이진화 프로세스를 수행할 수도 있고, 블록 동적 양자화 유닛 (2404) 은 계수들을 양자화하는 양자화 프로세스를 수행할 수도 있다. 더욱이, 일부 예들에서, 비디오 인코더 (200) 는 예측 데이터에 기초하여 디지털 값들을 생성할 수도 있다. 예를 들어, 양자화 유닛 (206) 은 예측 데이터의 디지털 샘플 값들을 양자화할 수도 있고, 엔트로피 인코딩 유닛 (208) 은 양자화된 디지털 샘플 값들을 엔트로피 인코딩하여 디지털 값들을 생성할 수도 있다. 모뎀 (108) 은 디지털 값들을 송신하도록 구성될 수도 있다. 예를 들어, 모뎀 (108) 은 디지털 값들에 기초하여 비트 시퀀스들을 생성하고, 비트 시퀀스들에 기초하여 아날로그 신호를 변조하도록 구성될 수도 있다.
부가적으로, 스펙트럼 효율 유닛 (2406) 은 채널에 대한 스펙트럼 효율을 결정할 수도 있다 (2502). 더욱이, 패킹 유닛 (2408) 은 채널의 스펙트럼 효율 및 블록의 양자화된 계수들에서의 비트들의 수에 기초하여 값 (n) 을 결정할 수도 있다 (2504). 예를 들어, 패킹 유닛 (2408) 은 블록의 양자화된 계수들에서의 비트들의 수 및 채널의 스펙트럼 효율에 기초하여 값 (n) 을 조회할 수도 있다. 일부 예들에서, 모뎀 (108) 은 채널에 대한 스펙트럼 효율을 표시하는 데이터를 출력하도록 구성된다. 일부 예들에서, 모뎀 (108) 은 값 (n) 을 표시하는 데이터를 출력하도록 구성된다.
부가적으로, 패킹 유닛 (2408) 은 계수 벡터들을 생성할 수도 있다 (2506). 계수 벡터들의 각각은 계수들 중 n개를 포함한다. 계수 벡터들의 각각에 대해, 패킹 유닛 (2408) 은 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정할 수도 있다. 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해, 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한다. 예를 들어, 패킹 유닛 (2408) 은 n차원 공간에서의 포지션을 결정할 수도 있다. n차원 공간에서의 포지션의 좌표들은 계수 벡터의 계수들에 기초하고, 맵핑 패턴은 n차원 공간에서의 상이한 포지션들을 복수의 진폭 값들에서의 상이한 진폭 값들에 맵핑한다. 이 예에서, 패킹 유닛 (2408) 은 계수 벡터에 대한 진폭 값을, n차원 공간에서의 결정된 포지션에 대응하는 진폭 값으로서 결정할 수도 있다.
소스 디바이스 (102) 는 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조할 수도 있다 (2508). 예를 들어, 아날로그 변조 유닛 (222) 은 진폭 값들에 기초하여 아날로그 심볼들을 결정할 수도 있고, 모뎀 (108) 은 아날로그 심볼들에 대응하는 위상 시프트들 및 전력에 기초하여 아날로그 신호를 변조하도록 구성될 수도 있다. 모뎀 (108) 은 채널 상에 아날로그 신호를 출력할 수도 있다 (2510).
도 26 은 본 개시의 하나 이상의 기법들에 따른, 비디오 데이터를 디코딩하기 위한 예시적인 방법을 예시한 플로우차트이다. 도 26 의 예에서, 목적지 디바이스 (116) (도 1) 의 모뎀 (122) 은 채널을 통해 송신된 아날로그 신호를 수신하도록 구성될 수도 있다 (2600).
아날로그 복조 유닛 (314) (도 3) 은 복수의 계수 벡터들에 대한 진폭 값들을 결정하기 위해 아날로그 신호를 복조할 수도 있다 (2602). 아날로그 복조 유닛 (314) 은 본 개시의 다른 곳에서 제공된 예들 중 임의의 예에서 설명된 바와 같이 진폭 값들을 결정하기 위해 아날로그 신호를 복조할 수도 있다.
언패킹 유닛 (316) 은 값 (n) 을 결정할 수도 있다 (2604). 값 (n) 은 채널의 스펙트럼 효율 (예를 들어, SE i ) 및 블록의 양자화된 계수들에서의 비트들의 수 (예를 들어, Q i ) 에 기초한다. 예를 들어, 언패킹 유닛 (316) 은 SE i Q i 에 의해 제산함으로써 n 의 값을 결정할 수도 있다. 일부 예들에서, 모뎀 (133) 은 채널에 대한 스펙트럼 효율을 표시하는 데이터를 수신하도록 구성된다.
계수 벡터들의 각각에 대해, 언패킹 유닛 (316) 은 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정할 수도 있다 (2606). 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해, 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한다. 일부 예들에서, 계수 벡터에서의 계수들을 결정하는 것의 부분으로서, 언패킹 유닛 (316) 은 계수 벡터에서의 계수들을, 진폭 값에 대응하는 n차원 공간에서의 포지션의 좌표들로서 결정할 수도 있으며, 여기서, 맵핑 패턴은 n차원 공간에서의 상이한 포지션들을 복수의 진폭 값들에서의 상이한 진폭 값들에 맵핑한다.
더욱이, 비디오 디코더 (300) 는 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성할 수도 있다 (2608). 일부 예들에서, 모뎀 (122) 은 수신된 신호에 기초하여 디지털 값들을 출력하도록 구성될 수도 있다. 이 예에서, 비디오 디코더 (300) 는 디지털 값들에 기초하여 예측 데이터를 생성할 수도 있다. 예를 들어, 엔트로피 디코딩 유닛 (304) 은 양자화된 디지털 샘플 값들을 생성하기 위해 디지털 값들을 엔트로피 디코딩할 수도 있고, 양자화해제 유닛 (306) 은 예측 데이터를 생성하기 위해 양자화된 디지털 샘플 값들을 역 양자화할 수도 있다. 아날로그 압축해제 유닛 (308) 은 계수들에 기초하여 잔차 데이터에서 디지털 샘플 값들의 블록을 생성할 수도 있다. 예를 들어, 아날로그 압축해제 유닛 (308) 의 양자화해제 유닛 (318) 은 계수들을 역 양자화하는 역 양자화 프로세스를 수행할 수도 있고, 이진화해제 유닛 (320) 은 계수들에 기초하여 잔차 데이터를 생성하는 이진화해제 프로세스를 수행할 수도 있다. 복원 유닛 (310) 은 잔차 데이터 및 예측 데이터에 기초하여 비디오 데이터의 디지털 샘플 값들을 생성할 수도 있다. 예를 들어, 복원 유닛 (310) 은 잔차 데이터의 디지털 샘플 값들을 예측 데이터의 대응하는 디지털 샘플 값들에 가산하여 비디오 데이터의 디지털 샘플 값들을 생성할 수도 있다.
본 개시의 다양한 양태들에서의 예들이 개별적으로 또는 임의의 조합으로 사용될 수도 있다.
다음은 본 개시의 하나 이상의 기법들에 따르는 양태들의 비제한적인 리스트이다.
양태 1A. 비디오 데이터를 인코딩하는 방법으로서, 그 방법은, 비디오 데이터에 기초하여 계수들을 생성하는 단계; 계수 벡터들을 생성하는 단계로서, 계수 벡터들의 각각은 계수들 중 n개를 포함하는, 상기 계수 벡터들을 생성하는 단계; 계수 벡터들의 각각에 대해, 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정하는 단계로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 진폭 값을 결정하는 단계; 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조하는 단계; 및 아날로그 신호를 출력하는 단계를 포함한다.
양태 2A. 양태 1A 의 방법에 있어서, 계수 벡터에 대한 진폭 값을 결정하는 단계는, n차원 공간에서의 포지션을 결정하는 단계로서, n차원 공간에서의 포지션의 좌표들은 계수 벡터의 계수들에 기초하고, 맵핑 패턴은 n차원 공간에서의 상이한 포지션들을 복수의 진폭 값들에서의 상이한 진폭 값들에 맵핑하는, 상기 n차원 공간에서의 포지션을 결정하는 단계; 및 계수 벡터에 대한 진폭 값을, n차원 공간에서의 결정된 포지션에 대응하는 진폭 값으로서 결정하는 단계를 포함한다.
양태 3A. 양태들 1A 또는 2A 의 방법에 있어서, 맵핑 패턴은 부호없는 계수들을 부호없는 진폭 값에 맵핑한다.
양태 4A. 양태들 1A 또는 2A 의 방법에 있어서, 맵핑 패턴은 부호있는 계수들을 부호있는 진폭 값에 맵핑한다.
양태 5A. 양태들 1A 또는 2A 의 방법에 있어서, 맵핑 패턴은 부호없는 계수들을 부호있는 진폭 값에 맵핑한다.
양태 6A. 양태들 1A-5A 중 어느 하나의 방법에 있어서, n 은 2 이상이다.
양태 7A. 양태들 1A-3A 또는 5A-6A 중 어느 하나의 방법에 있어서, 비디오 데이터에 기초하여 계수들을 생성하는 단계는, 비디오 데이터에 기초하여 초기 계수들을 생성하는 단계; 초기 계수들의 양수/음수 부호들을 표시하는 부호 값들을 생성하는 단계; 및 계수들을, 초기 계수들의 절대 값들로서 생성하는 단계를 포함하고, 그 방법은, 부호 값들을 나타내는 데이터를 시그널링하는 단계를 더 포함한다.
양태 8A. 양태들 1A-3A 또는 5A-6A 중 어느 하나의 방법에 있어서, 계수들은 초기 계수들의 음이 아닌 버전들이고, 비디오 데이터에 기초하여 계수들을 생성하는 단계는, 비디오 데이터에 기초하여 초기 계수들을 생성하는 단계; 초기 계수들의 최대 음수 초기 계수에 기초하여 시프트 값을 결정하는 단계; 및 시프트 값에 기초하여 초기 계수들을 초기 계수들의 음이 아닌 버전들로 변환하는 프로세스를 수행하는 단계를 포함하고, 그 방법은 시프트 값을 나타내는 데이터를 시그널링하는 단계를 더 포함한다.
양태 9A. 양태들 1A, 2A, 4A, 및 6A-8A 중 어느 하나의 방법에 있어서, 계수 벡터는 하나 이상의 음수 계수들 및 하나 이상의 양수 계수들을 포함한다.
양태 10A. 양태들 1A-9A 중 어느 하나의 방법에 있어서, 비디오 데이터에 기초하여 계수들을 생성하는 단계는, 비디오 데이터에 대한 예측 데이터를 생성하는 단계; 비디오 데이터에서의 디지털 샘플 값들 및 예측 데이터에 기초하여 잔차 데이터를 생성하는 단계; 및 잔차 데이터에 기초하여 계수들을 생성하는 단계를 포함하고, 그 방법은, 예측 데이터에 기초하여 디지털 값들을 생성하는 단계; 및 디지털 값들을 송신하는 단계를 더 포함한다.
양태 11A. 양태 10A 의 방법에 있어서, 잔차 데이터에 기초하여 계수들을 생성하는 단계는, 잔차 데이터에 기초하여 계수들을 생성하는 이진화 프로세스를 수행하는 단계; 및 계수들을 양자화하는 양자화 프로세스를 수행하는 단계를 포함한다.
양태 12A. 양태들 10A 또는 11A 의 방법에 있어서, 예측 데이터에 기초하여 디지털 값들을 생성하는 단계는, 예측 데이터에서의 디지털 샘플 값들에 기초하여 양자화된 디지털 샘플 값들을 생성하는 단계; 및 양자화된 디지털 샘플 값들에 기초하여 디지털 값들을 생성하는 엔트로피 인코딩 프로세스를 수행하는 단계를 포함한다.
양태 13A. 비디오 데이터를 디코딩하는 방법으로서, 그 방법은, 아날로그 신호에 기초하여, 복수의 계수 벡터들에 대한 진폭 값들을 결정하는 단계; 계수 벡터들의 각각에 대해, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하는 단계로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 계수 벡터에서의 계수들을 결정하는 단계; 및 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하는 단계를 포함한다.
양태 14A. 양태 13A 의 방법에 있어서, 계수 벡터에 대한 진폭 값에 기초하여 계수 벡터에서의 계수들을 결정하는 단계는, 계수 벡터에서의 계수들을, 진폭 값에 대응하는 n차원 공간에서의 포지션의 좌표들로서 결정하는 단계를 포함하고, 맵핑 패턴은 n차원 공간에서의 상이한 포지션들을 복수의 진폭 값들에서의 상이한 진폭 값들에 맵핑한다.
양태 15A. 양태들 13A 또는 14A 의 방법에 있어서, 맵핑 패턴은 부호없는 계수들을 부호없는 진폭 값에 맵핑한다.
양태 16A. 양태들 13A 또는 14A 의 방법에 있어서, 맵핑 패턴은 부호있는 계수들을 부호있는 진폭 값에 맵핑한다.
양태 17A. 양태 13A 또는 14A 의 방법에 있어서, 맵핑 패턴은 부호없는 계수들을 부호있는 진폭 값에 맵핑한다.
양태 18A. 양태들 13A-17A 중 어느 하나의 방법에 있어서, 복수의 계수 벡터들에 대한 진폭 값들을 결정하는 단계는, 아날로그 신호의 심볼 샘플링 인스턴트에 대한 위상 시프트 및 전력에 대응하는 아날로그 심볼을 결정하는 단계; 및 계수 벡터에 대한 진폭 값을 I-Q 평면에서의 아날로그 심볼의 좌표들 중 하나로서 결정하는 단계를 포함한다.
양태 19A. 양태들 13A-18A 중 어느 하나의 방법에 있어서, n 은 2 이상이다.
양태 20A. 양태들 13A-15A 또는 17A-19A 중 어느 하나의 방법에 있어서, 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하는 단계는, 모뎀의 디지털 경로를 통해 부호 값들을 획득하는 단계로서, 부호 값들은 계수 벡터에서의 계수들의 양수/음수 부호들을 표시하는, 상기 부호 값들을 획득하는 단계; 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여, 계수 벡터에서의 계수들의 절대 값들을 결정하는 단계; 및 계수 벡터에서의 계수들의 절대 값들에 부호 값들을 적용함으로써 적어도 부분적으로 계수 벡터에서의 계수들을 복원하는 단계를 포함한다.
양태 21A. 양태들 13A-15A 또는 17A-19A 중 어느 하나의 방법에 있어서, 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하는 단계는, 모뎀의 디지털 경로를 통해, 시프트 값을 나타내는 데이터를 획득하는 단계로서, 시프트 값은 계수 벡터에서의 계수들의 최대 음수 계수를 표시하는, 상기 데이터를 획득하는 단계; 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여, 계수 벡터에서의 계수들의 중간 값들을 결정하는 단계; 및 계수 벡터에서의 계수들의 중간 값들의 각각에 시프트 값을 가산함으로써 적어도 부분적으로 계수 벡터에서의 계수들을 복원하는 단계를 포함한다.
양태 22A. 양태들 13A, 14A, 16A, 또는 18A-21A 중 어느 하나의 방법에 있어서, 계수 벡터는 하나 이상의 음수 계수들 및 하나 이상의 양수 계수들을 포함한다.
양태 23A. 양태들 13A-22A 중 어느 하나의 방법에 있어서, 계수 벡터에서의 계수들에 기초하여 비디오 데이터를 생성하는 단계는, 모뎀의 디지털 경로를 통해 디지털 값들을 획득하는 단계; 디지털 값들에 기초하여 예측 데이터를 생성하는 단계; 계수 벡터들에서의 계수들에 기초하여 잔차 데이터를 생성하는 단계; 및 예측 데이터 및 잔차 데이터에 기초하여 비디오 데이터를 생성하는 단계를 포함한다.
양태 24A. 양태 23A 의 방법에 있어서, 계수 벡터들에서의 계수들에 기초하여 잔차 데이터를 생성하는 단계는, 계수 벡터들에서의 계수들을 역 양자화하는 역 양자화 프로세스를 수행하는 단계; 및 계수 벡터들에서의 역 양자화된 계수들에 기초하여 잔차 데이터를 생성하는 이진화해제 프로세스를 수행하는 단계를 포함한다.
양태 25A. 양태들 23A-24A 중 어느 하나의 방법에 있어서, 디지털 값들에 기초하여 예측 데이터를 생성하는 단계는, 디지털 값들에 기초하여 디지털 샘플 값들을 생성하는 엔트로피 디코딩 프로세스를 수행하는 단계; 및 디지털 샘플 값들을 역 양자화함으로써 적어도 부분적으로 예측 데이터를 생성하는 단계를 포함한다.
양태 26A. 비디오 데이터를 인코딩하기 위한 디바이스로서, 그 디바이스는 회로부에서 구현된 하나 이상의 프로세서들; 및 모뎀을 포함하고, 그 하나 이상의 프로세서들은, 비디오 데이터에 기초하여 계수들을 생성하고; 계수 벡터들을 생성하는 것으로서, 계수 벡터들의 각각은 계수들 중 n개를 포함하는, 상기 계수 벡터들을 생성하고; 그리고 계수 벡터들의 각각에 대해, 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정하는 것으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 진폭 값을 결정하도록 구성되고; 그 모뎀은 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조하도록 구성된다.
양태 27A. 양태 26A 의 디바이스에 있어서, 하나 이상의 프로세서들은, 계수 벡터에 대한 진폭 값을 결정하는 것의 부분으로서, 하나 이상의 프로세서들이: n차원 공간에서의 포지션을 결정하는 것으로서, n차원 공간에서의 포지션의 좌표들은 계수 벡터의 계수들에 기초하고, 맵핑 패턴은 n차원 공간에서의 상이한 포지션들을 복수의 진폭 값들에서의 상이한 진폭 값들에 맵핑하는, 상기 n차원 공간에서의 포지션을 결정하고; 그리고 계수 벡터에 대한 진폭 값을, n차원 공간에서의 결정된 포지션에 대응하는 진폭 값으로서 결정하도록 구성된다.
양태 28A. 양태들 26A 또는 27A 의 디바이스에 있어서, 맵핑 패턴은 부호없는 계수들을 부호없는 진폭 값에 맵핑한다.
양태 29A. 양태들 26A-28A 중 어느 하나의 디바이스에 있어서, 맵핑 패턴은 부호있는 계수들을 부호있는 진폭 값에 맵핑한다.
양태 30A. 양태들 26A-28A 중 어느 하나의 디바이스에 있어서, 맵핑 패턴은 부호없는 계수들을 부호있는 진폭 값에 맵핑한다.
양태 31A. 양태들 26A-30A 중 어느 하나의 디바이스에 있어서, n 은 2 이상이다.
양태 32A. 양태들 26A-28A 또는 30A-31A 중 어느 하나의 디바이스에 있어서, 하나 이상의 프로세서들은, 잔차 데이터에 기초하여 계수들을 생성하는 것의 부분으로서, 하나 이상의 프로세서들이: 잔차 데이터에 기초하여 초기 계수들을 생성하고; 초기 계수들의 양수/음수 부호들을 표시하는 부호 값들을 생성하고; 그리고 계수들을 초기 계수들의 절대 값들로서 생성하도록 구성되고, 모뎀은 디지털 경로를 통해 부호 값들을 송신하도록 구성된다.
양태 33A. 양태들 26A-28A 또는 30A-31A 중 어느 하나의 디바이스에 있어서, 계수들은 초기 계수들의 음이 아닌 버전들이고, 하나 이상의 프로세서들은, 잔차 데이터에 기초하여 계수들을 생성하는 것의 부분으로서, 하나 이상의 프로세서들이: 잔차 데이터에 기초하여 초기 계수들을 생성하고; 초기 계수들의 최고 음수 초기 계수에 기초하여 시프트 값을 결정하고; 그리고 시프트 값에 기초하여 초기 계수들을 초기 계수들의 음이 아닌 버전들로 변환하는 프로세스를 수행하도록 구성되고, 그 방법은 시프트 값을 나타내는 데이터를 시그널링하는 것을 더 포함한다.
양태 34A. 양태들 26A-27A, 29A, 또는 31A-33A 중 어느 하나의 디바이스에 있어서, 계수 벡터는 하나 이상의 음수 계수들 및 하나 이상의 양수 계수들을 포함한다.
양태 35A. 양태들 26A-34A 중 어느 하나의 디바이스에 있어서, 하나 이상의 프로세서들은, 비디오 데이터에 기초하여 계수들을 생성하는 것의 부분으로서, 하나 이상의 프로세서들이: 비디오 데이터에 대한 예측 데이터를 생성하고; 비디오 데이터에서의 디지털 샘플 값들 및 예측 데이터에 기초하여 잔차 데이터를 생성하고; 그리고 잔차 데이터에 기초하여 계수들을 생성하도록 구성되고, 하나 이상의 프로세서들은 추가로, 예측 데이터에 기초하여 디지털 값들을 생성하도록 구성되며, 모뎀은 디지털 값들을 송신하도록 구성된다.
양태 36A. 양태 35A 의 디바이스에 있어서, 하나 이상의 프로세서들은, 잔차 데이터에 기초하여 계수들을 생성하는 것의 부분으로서, 하나 이상의 프로세서들이: 잔차 데이터에 기초하여 계수들을 생성하는 이진화 프로세스를 수행하고; 그리고 계수들을 양자화하는 양자화 프로세스를 수행하도록 구성된다.
양태 37A. 양태들 35A-36A 중 어느 하나의 디바이스에 있어서, 하나 이상의 프로세서들은, 예측 데이터에 기초하여 디지털 값들을 생성하는 것의 부분으로서, 하나 이상의 프로세서들이: 예측 데이터에서의 디지털 샘플 값들에 기초하여 양자화된 디지털 샘플 값들을 생성하고; 그리고 양자화된 디지털 샘플 값들에 기초하여 디지털 값들을 생성하는 엔트로피 인코딩 프로세스를 수행하도록 구성된다.
양태 38A. 양태들 26A-37A 중 어느 하나의 디바이스에 있어서, 그 디바이스는 카메라, 컴퓨터, 모바일 디바이스, 브로드캐스트 수신기 디바이스, 또는 셋탑 박스 중 하나 이상을 포함한다.
양태 39A. 비디오 데이터를 디코딩하기 위한 디바이스로서, 그 디바이스는, 아날로그 신호를 수신하도록 구성된 모뎀; 및 회로부에서 구현된 하나 이상의 프로세서들을 포함하고, 그 하나 이상의 프로세서들은, 아날로그 신호에 기초하여, 복수의 계수 벡터들에 대한 진폭 값들을 결정하고; 계수 벡터들의 각각에 대해, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하는 것으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 계수 벡터에서의 계수들을 결정하고; 그리고 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하도록 구성된다.
양태 40A. 양태 39A 의 디바이스에 있어서, 하나 이상의 프로세서들은, 계수 벡터에 대한 진폭 값에 기초하여 계수 벡터에서의 계수들을 결정하는 것의 부분으로서, 하나 이상의 프로세서들이: 계수 벡터에서의 계수들을, 진폭 값에 대응하는 n차원 공간에서의 포지션의 좌표들로서 결정하도록 구성되고, 맵핑 패턴은 n차원 공간에서의 상이한 포지션들을 복수의 진폭 값들에서의 상이한 진폭 값들에 맵핑한다.
양태 41A. 양태들 39A 또는 40A 의 디바이스에 있어서, 맵핑 패턴은 부호없는 계수들을 부호없는 진폭 값에 맵핑한다.
양태 42A. 양태들 39A 또는 40A 의 디바이스에 있어서, 맵핑 패턴은 부호있는 계수들을 부호있는 진폭 값에 맵핑한다.
양태 43A. 양태들 39A 또는 40A 의 디바이스에 있어서, 맵핑 패턴은 부호없는 계수들을 부호있는 진폭 값에 맵핑한다.
양태 44A. 양태들 39A-43A 중 어느 하나의 디바이스에 있어서, 모뎀은 아날로그 신호의 심볼 샘플링 인스턴트에 대한 위상 시프트 및 전력에 대응하는 아날로그 심볼을 결정하도록 구성되고, 하나 이상의 프로세서들은, 복수의 계수 벡터들에 대한 진폭 값들을 결정하는 것의 부분으로서, 하나 이상의 프로세서들이 계수 벡터에 대한 진폭 값을, I-Q 평면에서의 아날로그 심볼의 좌표들 중 하나로서 결정하도록 구성된다.
양태 45A. 양태들 39A-44A 중 어느 하나의 디바이스에 있어서, n 은 2 이상이다.
양태 46A. 양태들 39A-41A 또는 43A-45A 중 어느 하나의 디바이스에 있어서, 하나 이상의 프로세서들은, 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하는 것의 부분으로서, 하나 이상의 프로세서들이: 모뎀의 디지털 경로를 통해 부호 값들을 획득하는 것으로서, 부호 값들은 계수 벡터에서의 계수들의 양수/음수 부호들을 표시하는, 상기 부호 값들을 획득하고; 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여, 계수 벡터에서의 계수들의 절대 값들을 결정하고; 그리고 계수 벡터에서의 계수들의 절대 값들에 부호 값들을 적용함으로써 적어도 부분적으로 계수 벡터에서의 계수들을 복원하도록 구성된다.
양태 47A. 양태들 39A-41A 또는 43A-45A 중 어느 하나의 디바이스에 있어서, 하나 이상의 프로세서들은, 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하는 것의 부분으로서, 하나 이상의 프로세서들이: 모뎀의 디지털 경로를 통해, 시프트 값을 나타내는 데이터를 획득하는 것으로서, 시프트 값은 계수 벡터에서의 계수들의 최대 음수 계수를 표시하는, 상기 데이터를 획득하고; 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여, 계수 벡터에서의 계수들의 중간 값들을 결정하고; 그리고 계수 벡터에서의 계수들의 중간 값들의 각각에 시프트 값을 가산함으로써 적어도 부분적으로 계수 벡터에서의 계수들을 복원하도록 구성된다.
양태 48A. 양태들 39A-40A, 42A, 44A-47A 중 어느 하나의 디바이스에 있어서, 계수 벡터는 하나 이상의 음수 계수들 및 하나 이상의 양수 계수들을 포함한다.
양태 49A. 양태들 39A-48A 중 어느 하나의 디바이스에 있어서, 하나 이상의 프로세서들은, 계수 벡터에서의 계수들에 기초하여 비디오 데이터를 생성하는 것의 부분으로서, 하나 이상의 프로세서들이: 모뎀의 디지털 경로를 통해 디지털 값들을 획득하고; 디지털 값들에 기초하여 예측 데이터를 생성하고; 아날로그 비디오 데이터의 현재 블록에 대한 예측 데이터를 생성하고; 계수 벡터들에서의 계수들에 기초하여 잔차 데이터를 생성하고; 그리고 예측 데이터 및 잔차 데이터에 기초하여 비디오 데이터를 생성하도록 구성된다.
양태 50A. 양태 49A 의 디바이스에 있어서, 하나 이상의 프로세서들은, 계수 벡터들에서의 계수들에 기초하여 잔차 데이터를 생성하는 것의 부분으로서, 하나 이상의 프로세서들이: 계수 벡터들에서의 계수들을 역 양자화하는 역 양자화 프로세스를 수행하고; 그리고 계수 벡터들에서의 역 양자화된 계수들에 기초하여 잔차 데이터를 생성하는 이진화해제 프로세스를 수행하도록 구성된다.
양태 51A. 양태들 49A 또는 50A 의 디바이스에 있어서, 하나 이상의 프로세서들은, 디지털 값들에 기초하여 예측 데이터를 생성하는 것의 부분으로서, 하나 이상의 프로세서들이: 디지털 값들에 기초하여 디지털 샘플 값들을 생성하는 엔트로피 디코딩 프로세스를 수행하고; 그리고 디지털 샘플 값들을 역 양자화함으로써 적어도 부분적으로 예측 데이터를 생성하도록 구성된다.
양태 52A. 양태들 39A-51A 중 어느 하나의 디바이스에 있어서, 그 디바이스는 카메라, 컴퓨터, 모바일 디바이스, 브로드캐스트 수신기 디바이스, 또는 셋탑 박스 중 하나 이상을 포함한다.
양태 53A. 비디오 데이터를 인코딩하기 위한 디바이스로서, 그 디바이스는, 비디오 데이터에 기초하여 계수들을 생성하는 수단; 계수 벡터들을 생성하는 수단으로서, 계수 벡터들의 각각은 계수들 중 n개를 포함하는, 상기 계수 벡터들을 생성하는 수단; 계수 벡터들의 각각에 대해, 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정하는 수단으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 진폭 값을 결정하는 수단; 및 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조하는 수단을 포함한다.
양태 54A. 비디오 데이터를 디코딩하기 위한 디바이스로서, 그 디바이스는, 아날로그 신호에 기초하여, 복수의 계수 벡터들에 대한 진폭 값들을 결정하는 수단; 계수 벡터들의 각각에 대해, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하는 수단으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 계수 벡터에서의 계수들을 결정하는 수단; 및 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하는 수단을 포함한다.
양태 55A. 명령들이 저장된 컴퓨터 판독가능 데이터 저장 매체로서, 그 명령들은, 실행될 경우, 하나 이상의 프로세서들로 하여금: 비디오 데이터에 기초하여 계수들을 생성하게 하고; 계수 벡터들을 생성하게 하는 것으로서, 계수 벡터들의 각각은 계수들 중 n개를 포함하는, 상기 계수 벡터들을 생성하게 하고; 계수 벡터들의 각각에 대해, 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정하게 하는 것으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 진폭 값을 결정하게 하고; 그리고 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조하게 한다.
양태 56A. 명령들이 저장된 컴퓨터 판독가능 데이터 저장 매체로서, 그 명령들은, 실행될 경우, 하나 이상의 프로세서들로 하여금: 아날로그 신호에 기초하여, 복수의 계수 벡터들에 대한 진폭 값들을 결정하게 하고; 계수 벡터들의 각각에 대해, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하게 하는 것으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 계수 벡터에서의 계수들을 결정하게 하고; 그리고 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하게 한다.
양태 1B. 비디오 데이터를 인코딩하는 방법으로서, 그 방법은, 비디오 데이터의 디지털 샘플 값들에 기초하여 계수들을 생성하는 단계; 아날로그 신호를 전송할 채널에 대한 스펙트럼 효율을 결정하는 단계; 채널의 스펙트럼 효율에 기초하여 값 (n) 을 결정하는 단계; 계수 벡터들을 생성하는 단계로서, 계수 벡터들의 각각은 계수들 중 n개를 포함하는, 상기 계수 벡터들을 생성하는 단계; 계수 벡터들의 각각에 대해, 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정하는 단계로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 진폭 값을 결정하는 단계; 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조하는 단계; 및 채널 상에 아날로그 신호를 출력하는 단계를 포함한다.
양태 2B. 양태 1B 의 방법에 있어서, 계수 벡터에 대한 진폭 값을 결정하는 단계는, n차원 공간에서의 포지션을 결정하는 단계로서, n차원 공간에서의 포지션의 좌표들은 계수 벡터의 계수들에 기초하고, 맵핑 패턴은 n차원 공간에서의 상이한 포지션들을 복수의 진폭 값들에서의 상이한 진폭 값들에 맵핑하는, 상기 n차원 공간에서의 포지션을 결정하는 단계; 및 계수 벡터에 대한 진폭 값을, n차원 공간에서의 결정된 포지션에 대응하는 진폭 값으로서 결정하는 단계를 포함한다.
양태 3B. 양태들 1B-2B 중 어느 하나의 방법에 있어서, 비디오 데이터에 기초하여 계수들을 생성하는 단계는, 비디오 데이터에 대한 예측 데이터를 생성하는 단계; 비디오 데이터의 디지털 샘플 값들 및 예측 데이터에 기초하여 잔차 데이터를 생성하는 단계; 및 잔차 데이터에서의 디지털 샘플 값들의 블록에 기초하여 계수들을 생성하는 단계를 포함하고, 그 방법은, 예측 데이터에 기초하여 디지털 값들을 생성하는 단계; 및 디지털 값들을 송신하는 단계를 더 포함한다.
양태 4B. 양태 3B 의 방법에 있어서, 비디오 데이터에 기초하여 계수들을 생성하는 단계는, 잔차 데이터에 기초하여 계수들을 생성하는 이진화 프로세스를 수행하는 단계; 및 계수들을 양자화하는 양자화 프로세스를 수행하는 단계를 포함한다.
양태 5B. 양태 4B 의 방법에 있어서, 값 (n) 을 결정하는 단계는 채널의 스펙트럼 효율 및 블록의 양자화된 계수들에서의 비트들의 수에 기초하여 값 (n) 을 결정하는 단계를 포함한다.
양태 6B. 양태들 1B-5B 중 어느 하나의 방법은, 채널에 대한 스펙트럼 효율을 표시하는 데이터를 출력하는 단계를 더 포함한다.
양태 7B. 비디오 데이터를 디코딩하는 방법으로서, 그 방법은, 채널을 통해 송신된 아날로그 신호를 수신하는 단계; 복수의 계수 벡터들에 대한 진폭 값들을 결정하기 위해 아날로그 신호를 복조하는 단계; 값 (n) 을 결정하는 단계로서, 값 (n) 은 채널의 스펙트럼 효율에 기초하는, 상기 값 (n) 을 결정하는 단계; 계수 벡터들의 각각에 대해, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하는 단계로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 계수 벡터에서의 계수들을 결정하는 단계; 및 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하는 단계를 포함한다.
양태 8B. 양태 7B 의 방법에 있어서, 계수 벡터에서의 계수들을 결정하는 단계는, 계수 벡터에서의 계수들을, 진폭 값에 대응하는 n차원 공간에서의 포지션의 좌표들로서 결정하는 단계를 포함하고, 맵핑 패턴은 n차원 공간에서의 상이한 포지션들을 복수의 진폭 값들에서의 상이한 진폭 값들에 맵핑한다.
양태 9B. 양태들 7B 또는 8B 의 방법에 있어서, 그 방법은, 디지털 값들을 수신하는 단계; 디지털 값들에 기초하여 예측 데이터를 생성하는 단계를 더 포함하고; 그리고 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하는 단계는, 계수들에 기초하여 잔차 데이터에서의 디지털 샘플 값들의 블록을 생성하는 단계, 및 잔차 데이터 및 예측 데이터에 기초하여 비디오 데이터의 디지털 샘플 값들을 생성하는 단계를 포함한다.
양태 10B. 양태 9B 의 방법에 있어서, 계수들에 기초하여 잔차 데이터에서의 디지털 샘플 값들의 블록을 생성하는 단계는, 계수들을 역 양자화하는 역 양자화 프로세스를 수행하는 단계; 및 계수들에 기초하여 잔차 데이터를 생성하는 이진화해제 프로세스를 수행하는 단계를 포함한다.
양태 11B. 양태 10B 의 방법에 있어서, 값 (n) 은 블록의 양자화된 계수들에서의 비트들의 수 및 채널의 스펙트럼 효율에 기초한다.
양태 12B. 양태들 7B-11B 중 어느 하나의 방법은, 채널에 대한 스펙트럼 효율을 표시하는 데이터를 수신하는 단계를 더 포함한다.
양태 13B. 비디오 데이터를 인코딩하기 위한 디바이스로서, 그 디바이스는 비디오 데이터를 저장하도록 구성된 메모리; 회로부에서 구현된 하나 이상의 프로세서들; 및 모뎀을 포함하고, 그 하나 이상의 프로세서들은, 비디오 데이터의 디지털 샘플 값들에 기초하여 계수들을 생성하고; 아날로그 신호를 출력할 채널에 대한 스펙트럼 효율을 결정하고; 채널의 스펙트럼 효율에 기초하여 값 (n) 을 결정하고; 계수 벡터들을 생성하는 것으로서, 계수 벡터들의 각각은 계수들 중 n개를 포함하는, 상기 계수 벡터들을 생성하고; 계수 벡터들의 각각에 대해, 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정하는 것으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 진폭 값을 결정하고; 그리고 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조하도록 구성되고; 그 모뎀은 채널 상에 아날로그 신호를 출력하도록 구성된다.
양태 14B. 양태 13B 의 디바이스에 있어서, 하나 이상의 프로세서들은, 계수 벡터에 대한 진폭 값을 결정하는 것의 부분으로서, 하나 이상의 프로세서들이: n차원 공간에서의 포지션을 결정하는 것으로서, n차원 공간에서의 포지션의 좌표들은 계수 벡터의 계수들에 기초하고, 맵핑 패턴은 n차원 공간에서의 상이한 포지션들을 복수의 진폭 값들에서의 상이한 진폭 값들에 맵핑하는, 상기 n차원 공간에서의 포지션을 결정하고; 그리고 계수 벡터에 대한 진폭 값을, n차원 공간에서의 결정된 포지션에 대응하는 진폭 값으로서 결정하도록 구성된다.
양태 15B. 양태들 13B-14B 중 어느 하나의 디바이스에 있어서, 하나 이상의 프로세서들은, 비디오 데이터에 기초하여 계수들을 생성하는 것의 부분으로서, 하나 이상의 프로세서들이: 비디오 데이터에 대한 예측 데이터를 생성하고; 비디오 데이터의 디지털 샘플 값들 및 예측 데이터에 기초하여 잔차 데이터를 생성하고; 그리고 잔차 데이터에서의 디지털 샘플 값들의 블록에 기초하여 계수들을 생성하도록 구성되고, 하나 이상의 프로세서들은 추가로, 예측 데이터에 기초하여 디지털 값들을 생성하도록 구성되며, 모뎀은 디지털 값들을 송신하도록 구성된다.
양태 16B. 양태 15B 의 디바이스에 있어서, 하나 이상의 프로세서들은, 비디오 데이터에 기초하여 계수들을 생성하는 것의 부분으로서, 하나 이상의 프로세서들이: 잔차 데이터에 기초하여 계수들을 생성하는 이진화 프로세스를 수행하고; 그리고 계수들을 양자화하는 양자화 프로세스를 수행하도록 구성된다.
양태 17B. 양태 16B 의 디바이스에 있어서, 하나 이상의 프로세서들은, 값 (n) 을 결정하는 것의 부분으로서, 하나 이상의 프로세서들이 블록의 양자화된 계수들에서의 비트들의 수 및 채널의 스펙트럼 효율에 기초하여 값 (n) 을 결정하도록 구성된다.
양태 18B. 양태들 13B-17B 중 어느 하나의 디바이스에 있어서, 모뎀은 추가로, 채널에 대한 스펙트럼 효율을 표시하는 데이터를 출력하도록 구성된다.
양태 19B. 양태들 13B-18B 중 어느 하나의 디바이스에 있어서, 그 디바이스는 카메라, 컴퓨터, 모바일 디바이스, 브로드캐스트 수신기 디바이스, 또는 셋탑 박스 중 하나 이상을 포함한다.
양태 20B. 비디오 데이터를 디코딩하기 위한 디바이스로서, 그 디바이스는 채널을 통해 송신된 아날로그 신호를 수신하도록 구성된 모뎀; 회로부에서 구현된 하나 이상의 프로세서들을 포함하고, 그 하나 이상의 프로세서들은, 복수의 계수 벡터들에 대한 진폭 값들을 결정하기 위해 아날로그 신호를 복조하고; 값 (n) 을 결정하는 것으로서, 값 (n) 은 채널의 스펙트럼 효율에 기초하는, 상기 값 (n) 을 결정하고; 계수 벡터들의 각각에 대해, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하는 것으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 계수 벡터에서의 계수들을 결정하고; 그리고 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하도록 구성된다.
양태 21B. 양태 20B 의 디바이스에 있어서, 하나 이상의 프로세서들은, 계수 벡터에서의 계수들을 결정하는 것의 부분으로서, 하나 이상의 프로세서들이: 계수 벡터에서의 계수들을, 진폭 값에 대응하는 n차원 공간에서의 포지션의 좌표들로서 결정하도록 구성되고, 맵핑 패턴은 n차원 공간에서의 상이한 포지션들을 복수의 진폭 값들에서의 상이한 진폭 값들에 맵핑한다.
양태 22B. 양태들 20B 또는 21B 의 디바이스에 있어서, 모뎀은 추가로, 디지털 값들을 수신하도록 구성되고; 하나 이상의 프로세서들은 추가로, 디지털 값들에 기초하여 예측 데이터를 생성하도록 구성되고; 하나 이상의 프로세서들은, 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하는 것의 부분으로서, 하나 이상의 프로세서들이: 계수들에 기초하여 잔차 데이터에서의 디지털 샘플 값들의 블록을 생성하고, 그리고 잔차 데이터 및 예측 데이터에 기초하여 비디오 데이터의 디지털 샘플 값들을 생성하도록 구성된다.
양태 23B. 양태 22B 의 디바이스에 있어서, 하나 이상의 프로세서들은, 계수들에 기초하여 잔차 데이터에서의 디지털 샘플 값들의 블록을 생성하는 것의 부분으로서, 하나 이상의 프로세서들이: 계수들을 역 양자화하는 역 양자화 프로세스를 수행하고; 그리고 계수들에 기초하여 잔차 데이터를 생성하는 이진화해제 프로세스를 수행하도록 구성된다.
양태 24B. 양태 23B 의 디바이스에 있어서, 값 (n) 은 블록의 양자화된 계수들에서의 비트들의 수 및 채널의 스펙트럼 효율에 기초한다.
양태 25B. 양태들 20B-24B 중 어느 하나의 디바이스에 있어서, 모뎀은 추가로, 채널에 대한 스펙트럼 효율을 표시하는 데이터를 수신하도록 구성된다.
양태 26B. 양태들 20B-25B 중 어느 하나의 디바이스에 있어서, 그 디바이스는 카메라, 컴퓨터, 모바일 디바이스, 브로드캐스트 수신기 디바이스, 또는 셋탑 박스 중 하나 이상을 포함한다.
양태 27B. 비디오 데이터를 인코딩하기 위한 디바이스로서, 그 디바이스는, 비디오 데이터의 디지털 샘플 값들에 기초하여 계수들을 생성하는 수단; 아날로그 신호를 출력할 채널에 대한 스펙트럼 효율을 결정하는 수단; 채널의 스펙트럼 효율에 기초하여 값 (n) 을 결정하는 수단; 계수 벡터들을 생성하는 수단으로서, 계수 벡터들의 각각은 계수들 중 n개를 포함하는, 상기 계수 벡터들을 생성하는 수단; 계수 벡터들의 각각에 대해, 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정하는 수단으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 진폭 값을 결정하는 수단; 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조하는 수단; 및 채널 상에 아날로그 신호를 출력하는 수단을 포함한다.
양태 28B. 비디오 데이터를 디코딩하기 위한 디바이스로서, 그 디바이스는, 채널을 통해 송신된 아날로그 신호를 수신하는 수단; 복수의 계수 벡터들에 대한 진폭 값들을 결정하기 위해 아날로그 신호를 복조하는 수단; 값 (n) 을 결정하는 수단으로서, 값 (n) 은 채널의 스펙트럼 효율에 기초하는, 상기 값 (n) 을 결정하는 수단; 계수 벡터들의 각각에 대해, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하는 수단으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 계수 벡터에서의 계수들을 결정하는 수단; 및 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하는 수단을 포함한다.
양태 29B. 명령들이 저장된 컴퓨터 판독가능 데이터 저장 매체로서, 그 명령들은, 실행될 경우, 하나 이상의 프로세서들로 하여금: 비디오 데이터의 디지털 샘플 값들에 기초하여 계수들을 생성하게 하고; 아날로그 신호를 출력할 채널에 대한 스펙트럼 효율을 결정하게 하고; 채널의 스펙트럼 효율에 기초하여 값 (n) 을 결정하게 하고; 계수 벡터들을 생성하게 하는 것으로서, 계수 벡터들의 각각은 계수들 중 n개를 포함하는, 상기 계수 벡터들을 생성하게 하고; 계수 벡터들의 각각에 대해, 맵핑 패턴에 기초하여 계수 벡터에 대한 진폭 값을 결정하게 하는 것으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 진폭 값을 결정하게 하고; 계수 벡터들에 대한 진폭 값들에 기초하여 아날로그 신호를 변조하게 하고; 그리고 채널 상에 아날로그 신호를 출력하게 한다.
양태 30B. 명령들이 저장된 컴퓨터 판독가능 데이터 저장 매체로서, 그 명령들은, 실행될 경우, 하나 이상의 프로세서들로 하여금: 채널을 통해 송신된 아날로그 신호를 수신하게 하고; 복수의 계수 벡터들에 대한 진폭 값들을 결정하기 위해 아날로그 신호를 복조하게 하고; 값 (n) 을 결정하게 하는 것으로서, 값 (n) 은 채널의 스펙트럼 효율에 기초하는, 상기 값 (n) 을 결정하게 하고; 계수 벡터들의 각각에 대해, 계수 벡터에 대한 진폭 값 및 맵핑 패턴에 기초하여 계수 벡터에서의 계수들을 결정하게 하는 것으로서, 복수의 허용된 계수 벡터들에서의 각각의 개별 허용된 계수 벡터에 대해: 맵핑 패턴은 개별 허용된 계수 벡터를 복수의 진폭 값들에서의 개별 진폭 값에 맵핑하고, 개별 진폭 값은 진폭 값들의 단조 수 라인에서 개별 진폭 값에 인접한 복수의 진폭 값들에서의 적어도 하나의 다른 진폭 값에 n차원 공간에서 인접한, 상기 계수 벡터에서의 계수들을 결정하게 하고; 그리고 계수 벡터들에서의 계수들에 기초하여 비디오 데이터를 생성하게 한다.
양태 1C. 비디오 데이터를 인코딩하는 방법으로서, 그 방법은, 비디오 데이터에 대한 예측 데이터를 생성하는 단계; 비디오 데이터의 디지털 샘플 값들 및 예측 데이터에 기초하여 잔차 데이터를 생성하는 단계; 잔차 데이터에 기초하여 계수들을 생성하는 단계; 인터레이싱된 진폭 값을 생성하기 위해 인터레이싱 프로세스를 수행하는 단계로서, 인터레이싱 프로세스는 인터레이싱된 진폭 값을 생성하기 위해 계수들 중 2 이상의 계수들의 비트들을 인터레이싱하는, 상기 인터레이싱 프로세스를 수행하는 단계; 예측 데이터에 기초하여 디지털 값들을 생성하는 단계; 및 디지털 값들 및 인터레이싱된 진폭 값에 기초하여 변조된 하나 이상의 아날로그 신호들을 출력하는 단계를 포함한다.
양태 2C. 양태 1C 의 방법에 있어서, 그 방법은 오리지널 수 라인으로부터의 인터레이싱된 진폭 값을, 하나 이상의 갭 범위들을 포함하는 대안의 수 라인에서의 맵핑된 값에 맵핑하는 맵핑 프로세스를 수행하는 단계를 더 포함하고, 갭 범위들은 아날로그 신호들로부터 복조되는 인터레이싱된 진폭 값들에서의 비트 플립들의 관점에서 노이즈의 영향들과 상관되는 오리지널 수 라인에서의 포지션들에 위치되고, 맵핑 프로세스는 임의의 인터레이싱된 진폭 값을 하나 이상의 갭 범위들 중 임의의 갭 범위에서의 임의의 값에 맵핑하지 않으며, 하나 이상의 아날로그 신호들을 출력하는 단계는 맵핑된 값에 기초하여 아날로그 신호를 변조하는 단계를 포함한다.
양태 3C. 양태들 1C 또는 2C 의 방법에 있어서, 인터레이싱 프로세스는 계수들 중 2개 또는 4개의 계수들의 비트들을 인터레이싱한다.
양태 4C. 양태들 1C-3C 중 어느 하나의 방법에 있어서, 잔차 데이터에 기초하여 계수들을 생성하는 단계는, 잔차 데이터에 기초하여 계수들을 생성하는 이진화 프로세스를 수행하는 단계; 및 계수들을 양자화하는 양자화 프로세스를 수행하는 단계를 포함한다.
양태 5C. 양태들 1C-4C 중 어느 하나의 방법에 있어서, 예측 데이터에 기초하여 디지털 값들을 생성하는 단계는, 예측 데이터에서의 디지털 샘플 값들에 기초하여 양자화된 디지털 샘플 값들을 생성하는 단계; 및 양자화된 디지털 샘플 값들에 기초하여 디지털 값들을 생성하는 엔트로피 인코딩 프로세스를 수행하는 단계를 포함한다.
양태 6C. 양태들 1C-5C 중 어느 하나의 방법은, 아날로그 신호가 송신되는 채널의 스펙트럼 효율에 기초하여, 복수의 인터레이싱 프로세스들로부터 인터레이싱 프로세스를 선택하는 단계를 더 포함한다.
양태 7C. 양태 6C 의 방법에 있어서, 인터레이싱 프로세스들의 각각은 상이한 수의 계수들을 인터레이싱한다.
양태 8C. 비디오 데이터를 디코딩하는 방법으로서, 그 방법은, 아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정하는 단계; 2 이상의 계수들을 생성하기 위해 인터레이싱해제 프로세스를 수행하는 단계로서, 2 이상의 계수들의 비트들은 인터레이싱된 진폭 값에서 인터레이싱되는, 상기 인터레이싱해제 프로세스를 수행하는 단계; 2 이상의 계수들에 기초하여 잔차 데이터를 생성하는 단계; 디지털 값들을 획득하는 단계; 디지털 값들에 기초하여 예측 데이터를 생성하는 단계; 및 예측 데이터 및 잔차 데이터에 기초하여 비디오 데이터를 복원하는 단계를 포함한다.
양태 9C. 양태 8C 의 방법에 있어서, 아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정하는 단계는, 오리지널 수 라인에서의 인터레이싱된 진폭 값들을, 하나 이상의 갭 범위들을 포함하는 대안의 수 라인에서의 맵핑된 값들에 맵핑하는 맵핑 프로세스를 사용하여 생성되는 맵핑된 값을 결정하기 위해 아날로그 신호를 복조하는 단계로서, 갭 범위들은 아날로그 신호들로부터 복조되는 인터레이싱된 진폭 값들에서의 비트 플립들의 관점에서 노이즈의 영향들과 상관되는 오리지널 수 라인에서의 포지션들에 위치되고, 맵핑 프로세스는 인터레이싱된 진폭 값들 중 임의의 인터레이싱된 진폭 값을 하나 이상의 갭 범위들 중 임의의 갭 범위에서의 임의의 값에 맵핑하지 않는, 상기 아날로그 신호를 복조하는 단계; 및 맵핑된 값을 인터레이싱된 진폭 값에 맵핑하기 위해 맵핑 프로세스의 역을 사용하는 단계를 포함한다.
양태 10C. 양태 9C 의 방법에 있어서, 아날로그 신호를 복조함으로써 결정되는 맵핑된 값은 갭 범위들 중 하나에 있으며, 맵핑 프로세스의 역은 갭 범위들에서의 맵핑된 값들을 오리지널 수 라인에서의 값들에 맵핑한다.
양태 11C. 양태들 8C-10C 중 어느 하나의 방법에 있어서, 인터레이싱해제 프로세스는 계수들 중 2개 또는 4개의 계수들의 비트들을 인터레이싱해제한다.
양태 12C. 양태들 8C-11C 중 어느 하나의 방법에 있어서, 아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정하는 단계는, 아날로그 신호의 심볼 샘플링 인스턴트에 대한 위상 시프트 및 전력에 대응하는 아날로그 심볼을 결정하는 단계를 포함하고, 인터레이싱된 진폭 값은 I-Q 평면에서의 아날로그 심볼의 좌표와 동일하다.
양태 13C. 양태들 8C-12C 중 어느 하나의 방법에 있어서, 계수들에 기초하여 잔차 데이터를 생성하는 단계는, 계수들을 역 양자화하는 역 양자화 프로세스를 수행하는 단계; 및 계수들에 기초하여 잔차 데이터를 생성하는 이진화해제 프로세스를 수행하는 단계를 포함한다.
양태 14C. 양태들 8C-13C 중 어느 하나의 방법에 있어서, 디지털 값들에 기초하여 예측 데이터를 생성하는 단계는, 디지털 값들에 기초하여 양자화된 디지털 샘플 값들을 생성하는 엔트로피 디코딩 프로세스를 수행하는 단계; 및 역 양자화된 디지털 샘플 값들에 기초하여 예측 데이터에서의 디지털 샘플 값들을 생성하는 역 양자화 프로세스를 수행하는 단계를 포함한다.
양태 15C. 양태들 8C-13C 중 어느 하나의 방법은, 아날로그 신호가 송신되는 채널의 스펙트럼 효율에 기초하여, 복수의 인터레이싱해제 프로세스들로부터 인터레이싱해제 프로세스를 선택하는 단계를 더 포함한다.
양태 16C. 양태 15C 의 방법에 있어서, 인터레이싱해제 프로세스들의 각각은 상이한 수의 계수들을 인터레이싱해제한다.
양태 17C. 비디오 데이터를 인코딩하기 위한 디바이스로서, 그 디바이스는, 비디오 데이터를 저장하도록 구성된 메모리; 회로부에서 구현된 하나 이상의 프로세서들; 및 모뎀을 포함하고, 그 하나 이상의 프로세서들은 비디오 데이터에 대한 예측 데이터를 생성하고; 비디오 데이터의 디지털 샘플 값들 및 예측 데이터에 기초하여 잔차 데이터를 생성하고; 잔차 데이터에 기초하여 계수들을 생성하고; 인터레이싱된 진폭 값을 생성하기 위해 인터레이싱 프로세스를 수행하는 것으로서, 인터레이싱 프로세스는 인터레이싱된 진폭 값을 생성하기 위해 계수들 중 2 이상의 계수들의 비트들을 인터레이싱하는, 상기 인터레이싱 프로세스를 수행하고; 그리고 예측 데이터에 기초하여 디지털 값들을 생성하도록 구성되고; 그 모뎀은 디지털 값들 및 인터레이싱된 진폭 값에 기초하여 변조된 하나 이상의 아날로그 신호들을 출력하도록 구성된다.
양태 18C. 양태 17C 의 디바이스에 있어서, 하나 이상의 프로세서들은 추가로, 오리지널 수 라인으로부터의 인터레이싱된 진폭 값을, 하나 이상의 갭 범위들을 포함하는 대안의 수 라인에서의 맵핑된 값에 맵핑하는 맵핑 프로세스를 수행하도록 구성되고, 갭 범위들은 아날로그 신호들로부터 복조되는 인터레이싱된 진폭 값들에서의 비트 플립들의 관점에서 노이즈의 영향들과 상관되는 오리지널 수 라인에서의 포지션들에 위치되고, 맵핑 프로세스는 임의의 인터레이싱된 진폭 값을 하나 이상의 갭 범위들 중 임의의 갭 범위에서의 임의의 값에 맵핑하지 않으며, 하나 이상의 프로세서들은, 하나 이상의 아날로그 신호들을 출력하는 것의 부분으로서, 모뎀이 맵핑된 값에 기초하여 아날로그 신호를 변조하도록 구성된다.
양태 19C. 양태들 17C 또는 18C 의 디바이스에 있어서, 인터레이싱 프로세스는 계수들 중 2개 또는 4개의 계수들의 비트들을 인터레이싱한다.
양태 20C. 양태들 17C-19C 중 어느 하나의 디바이스에 있어서, 하나 이상의 프로세서들은, 잔차 데이터에 기초하여 계수들을 생성하는 것의 부분으로서, 하나 이상의 프로세서들이: 잔차 데이터에 기초하여 계수들을 생성하는 이진화 프로세스를 수행하고; 그리고 계수들을 양자화하는 양자화 프로세스를 수행하도록 구성된다.
양태 21C. 양태들 17C-20C 중 어느 하나의 디바이스에 있어서, 하나 이상의 프로세서들은, 예측 데이터에 기초하여 디지털 값들을 생성하는 것의 부분으로서, 하나 이상의 프로세서들이: 예측 데이터에서의 디지털 샘플 값들에 기초하여 양자화된 디지털 샘플 값들을 생성하고; 그리고 양자화된 디지털 샘플 값들에 기초하여 디지털 값들을 생성하는 엔트로피 인코딩 프로세스를 수행하도록 구성된다.
양태 22C. 양태들 17C-21C 중 어느 하나의 디바이스에 있어서, 하나 이상의 프로세서들은 추가로, 아날로그 신호가 송신되는 채널의 스펙트럼 효율에 기초하여, 복수의 인터레이싱 프로세스들로부터 인터레이싱 프로세스를 선택하도록 구성된다.
양태 23C. 양태 22C 의 디바이스에 있어서, 인터레이싱 프로세스들의 각각은 상이한 수의 계수들을 인터레이싱한다.
양태 24C. 양태들 17C-23C 중 어느 하나의 디바이스에 있어서, 그 디바이스는 카메라, 컴퓨터, 모바일 디바이스, 브로드캐스트 수신기 디바이스, 또는 셋탑 박스 중 하나 이상을 포함한다.
양태 25C. 비디오 데이터를 디코딩하기 위한 디바이스로서, 그 디바이스는, 아날로그 신호 및 디지털 값들을 획득하도록 구성된 모뎀; 및 회로부에서 구현된 하나 이상의 프로세서들을 포함하고, 그 하나 이상의 프로세서들은: 아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정하고; 2 이상의 계수들을 생성하기 위해 인터레이싱해제 프로세스를 수행하는 것으로서, 2 이상의 계수들의 비트들은 인터레이싱된 진폭 값에서 인터레이싱되는, 상기 인터레이싱해제 프로세스를 수행하고; 2 이상의 계수들에 기초하여 잔차 데이터를 생성하고; 디지털 값들을 획득하고; 디지털 값들에 기초하여 예측 데이터를 생성하고; 그리고 예측 데이터 및 잔차 데이터에 기초하여 비디오 데이터를 복원하도록 구성된다.
양태 26C. 양태 25C 의 디바이스에 있어서, 하나 이상의 프로세서들은, 아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정하는 것의 부분으로서, 하나 이상의 프로세서들이: 오리지널 수 라인에서의 인터레이싱된 진폭 값들을, 하나 이상의 갭 범위들을 포함하는 대안의 수 라인에서의 맵핑된 값들에 맵핑하는 맵핑 프로세스를 사용하여 생성되는 맵핑된 값을 결정하기 위해 아날로그 신호를 복조하는 것으로서, 갭 범위들은 아날로그 신호들로부터 복조되는 인터레이싱된 진폭 값들에서의 비트 플립들의 관점에서 노이즈의 영향들과 상관되는 오리지널 수 라인에서의 포지션들에 위치되고, 맵핑 프로세스는 인터레이싱된 진폭 값들 중 임의의 인터레이싱된 진폭 값을 하나 이상의 갭 범위들 중 임의의 갭 범위에서의 임의의 값에 맵핑하지 않는, 상기 아날로그 신호를 복조하고; 그리고 맵핑된 값을 인터레이싱된 진폭 값에 맵핑하기 위해 맵핑 프로세스의 역을 사용하도록 구성된다.
양태 27C. 양태 26C 의 디바이스에 있어서, 아날로그 신호를 복조함으로써 결정되는 맵핑된 값은 갭 범위들 중 하나에 있으며, 맵핑 프로세스의 역은 갭 범위들에서의 맵핑된 값들을 오리지널 수 라인에서의 값들에 맵핑한다.
양태 28C. 양태들 25C-27C 중 어느 하나의 디바이스에 있어서, 인터레이싱해제 프로세스는 계수들 중 2개 또는 4개의 계수들의 비트들을 인터레이싱해제한다.
양태 29C. 양태들 25C-28C 중 어느 하나의 디바이스에 있어서, 하나 이상의 프로세서들은, 아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정하는 것의 부분으로서, 하나 이상의 프로세서들이: 아날로그 신호의 심볼 샘플링 인스턴트에 대한 위상 시프트 및 전력에 대응하는 아날로그 심볼을 결정하도록 구성되고, 인터레이싱된 진폭 값은 I-Q 평면에서의 아날로그 심볼의 좌표와 동일하다.
양태 30C. 양태들 25C-29C 중 어느 하나의 디바이스에 있어서, 하나 이상의 프로세서들은, 계수들에 기초하여 잔차 데이터를 생성하는 것의 부분으로서, 하나 이상의 프로세서들이: 계수들을 역 양자화하는 역 양자화 프로세스를 수행하고; 그리고 계수들에 기초하여 잔차 데이터를 생성하는 이진화해제 프로세스를 수행하도록 구성된다.
양태 31C. 양태들 25C-30C 중 어느 하나의 디바이스에 있어서, 하나 이상의 프로세서들은, 디지털 값들에 기초하여 예측 데이터를 생성하는 것의 부분으로서, 하나 이상의 프로세서들이: 디지털 값들에 기초하여 양자화된 디지털 샘플 값들을 생성하는 엔트로피 디코딩 프로세스를 수행하고; 그리고 역 양자화된 디지털 샘플 값들에 기초하여 예측 데이터에서의 디지털 샘플 값들을 생성하는 역 양자화 프로세스를 수행하도록 구성된다.
양태 32C. 양태 31C 의 디바이스에 있어서, 하나 이상의 프로세서들은 추가로, 아날로그 신호가 송신되는 채널의 스펙트럼 효율에 기초하여, 복수의 인터레이싱해제 프로세스들로부터 인터레이싱해제 프로세스를 선택하도록 구성된다.
양태 33C. 양태 32C 의 디바이스에 있어서, 인터레이싱해제 프로세스들의 각각은 상이한 수의 계수들을 인터레이싱해제한다.
양태 34C. 양태들 27C-33C 중 어느 하나의 디바이스에 있어서, 그 디바이스는 카메라, 컴퓨터, 모바일 디바이스, 브로드캐스트 수신기 디바이스, 또는 셋탑 박스 중 하나 이상을 포함한다.
양태 35C. 비디오 데이터를 인코딩하기 위한 디바이스로서, 그 디바이스는, 비디오 데이터에 대한 예측 데이터를 생성하는 수단; 비디오 데이터의 디지털 샘플 값들 및 예측 데이터에 기초하여 잔차 데이터를 생성하는 수단; 잔차 데이터에 기초하여 계수들을 생성하는 수단; 인터레이싱된 진폭 값을 생성하기 위해 인터레이싱 프로세스를 수행하는 수단으로서, 인터레이싱 프로세스는 인터레이싱된 진폭 값을 생성하기 위해 계수들 중 2 이상의 계수들의 비트들을 인터레이싱하는, 상기 인터레이싱 프로세스를 수행하는 수단; 인터레이싱된 진폭 값에 기초하여 아날로그 신호를 변조하는 수단; 예측 데이터에 기초하여 디지털 값들을 생성하는 수단; 및 예측 블록에 기초하여 디지털 값들 및 아날로그 신호를 출력하는 수단을 포함한다.
양태 36C. 비디오 데이터를 디코딩하기 위한 디바이스로서, 그 디바이스는, 아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정하는 수단; 2 이상의 계수들을 생성하기 위해 인터레이싱해제 프로세스를 수행하는 수단으로서, 2 이상의 계수들의 비트들은 인터레이싱된 진폭 값에서 인터레이싱되는, 인터레이싱해제 프로세스를 수행하는 수단; 2 이상의 계수들에 기초하여 잔차 데이터를 생성하는 수단; 디지털 값들을 획득하는 수단; 디지털 값들에 기초하여 예측 데이터를 생성하는 수단; 및 예측 데이터 및 잔차 데이터에 기초하여 비디오 데이터를 복원하는 수단을 포함한다.
양태 37C. 명령들이 저장된 컴퓨터 판독가능 데이터 저장 매체로서, 그 명령들은, 실행될 경우, 하나 이상의 프로세서들로 하여금: 비디오 데이터에 대한 예측 데이터를 생성하게 하고; 비디오 데이터의 디지털 샘플 값들 및 예측 데이터에 기초하여 잔차 데이터를 생성하게 하고; 잔차 데이터에 기초하여 계수들을 생성하게 하고; 인터레이싱된 진폭 값을 생성하기 위해 인터레이싱 프로세스를 수행하게 하는 것으로서, 인터레이싱 프로세스는 인터레이싱된 진폭 값을 생성하기 위해 계수들 중 2 이상의 계수들의 비트들을 인터레이싱하는, 상기 인터레이싱 프로세스를 수행하게 하고; 인터레이싱된 진폭 값에 기초하여 아날로그 신호를 변조하게 하고; 예측 데이터에 기초하여 디지털 값들을 생성하게 하고; 그리고 예측 블록에 기초하여 디지털 값들 및 아날로그 신호를 출력하게 한다.
양태 38C. 명령들이 저장된 컴퓨터 판독가능 데이터 저장 매체로서, 그 명령들은, 실행될 경우, 하나 이상의 프로세서들로 하여금: 아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정하게 하고; 2 이상의 계수들을 생성하기 위해 인터레이싱해제 프로세스를 수행하게 하는 것으로서, 2 이상의 계수들의 비트들은 인터레이싱된 진폭 값에서 인터레이싱되는, 상기 인터레이싱해제 프로세스를 수행하게 하고; 2 이상의 계수들에 기초하여 잔차 데이터를 생성하게 하고; 디지털 값들을 획득하게 하고; 디지털 값들에 기초하여 예측 데이터를 생성하게 하고; 그리고 예측 데이터 및 잔차 데이터에 기초하여 비디오 데이터를 복원하게 한다.
예에 의존하여, 본 명세서에서 설명된 기법들의 임의의 특정 작동들 또는 이벤트들은 상이한 시퀀스로 수행될 수 있고, 전체적으로 부가되거나 병합되거나 또는 제거될 수도 있음 (예컨대, 설명된 모든 작동들 또는 이벤트들이 그 기법들의 실시를 위해 필수적인 것은 아님) 이 인식되어야 한다. 더욱이, 특정 예들에 있어서, 작동들 또는 이벤트들은 순차적인 것보다는, 예컨대, 다중-스레딩된 프로세싱, 인터럽트 프로세싱, 또는 다중의 프로세서들을 통해 동시에 수행될 수도 있다.
하나 이상의 예들에 있어서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수도 있다. 소프트웨어에서 구현된다면, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상으로 저장 또는 전송되고 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체들은 데이터 저장 매체들과 같은 유형의 매체에 대응하는 컴퓨터 판독가능 저장 매체들, 또는 예컨대, 통신 프로토콜에 따라 일 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체들을 포함할 수도 있다. 이러한 방식으로, 컴퓨터 판독가능 매체들은 일반적으로 (1) 비일시적인 유형의 컴퓨터 판독가능 저장 매체들 또는 (2) 신호 또는 캐리어파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체들은 본 개시에서 설명된 기법들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 가용 매체들일 수도 있다. 컴퓨터 프로그램 제품이 컴퓨터 판독가능 매체를 포함할 수도 있다.
한정이 아닌 예로서, 그러한 컴퓨터 판독가능 저장 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 이용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 커넥션이 컴퓨터 판독가능 매체로 적절히 명명된다. 예를 들어, 동축 케이블, 광섬유 케이블, 꼬임쌍선, 디지털 가입자 라인 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 명령들이 송신된다면, 동축 케이블, 광섬유 케이블, 꼬임쌍선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다. 하지만, 컴퓨터 판독가능 저장 매체들 및 데이터 저장 매체들은 커넥션들, 캐리어파들, 신호들, 또는 다른 일시적 매체들을 포함하지 않지만 대신 비일시적 유형의 저장 매체들로 지향됨이 이해되어야 한다. 본 명세서에서 사용된 바와 같이, 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서, 디스크(disk)들은 통상적으로 데이터를 자기적으로 재생하지만 디스크(disc)들은 레이저들을 이용하여 데이터를 광학적으로 재생한다. 상기의 조합들이 또한, 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 프로세서들 (예를 들어, 프로그래밍가능 프로세서들), 예컨대, 하나 이상의 디지털 신호 프로세서들 (DSP들), 범용 마이크로프로세서들, 주문형 집적 회로들 (ASIC들), 필드 프로그래밍가능 게이트 어레이들 (FPGA들), 또는 다른 등가의 집적 또는 이산 로직 회로부에 의해 실행될 수도 있다. 이에 따라, 본 명세서에서 사용된 바와 같은 용어들 "프로세서" 및 "프로세싱 회로부" 는 본 명세서에서 설명된 기법들의 구현에 적합한 전술한 구조들 또는 임의의 다른 구조 중 임의의 구조를 지칭할 수도 있다. 부가적으로, 일부 양태들에 있어서, 본 명세서에서 설명된 기능성은 인코딩 및 디코딩을 위해 구성되거나 또는 결합된 코덱에서 통합된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수도 있다. 또한, 그 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.
본 개시의 기법들은 무선 핸드셋, 집적 회로 (IC) 또는 IC 들의 세트 (예컨대, 칩 세트) 를 포함하여, 광범위하게 다양한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들, 또는 유닛들이 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 본 개시에서 설명되지만, 반드시 상이한 하드웨어 유닛들에 의한 실현을 요구하지는 않는다. 오히려, 상기 설명된 바와 같이, 다양한 유닛들은 적합한 소프트웨어 및/또는 펌웨어와 함께 상기 설명된 바와 같은 하나 이상의 프로세서들을 포함하여 코덱 하드웨어 유닛으로 결합되거나 또는 상호운용식 하드웨어 유닛들의 집합에 의해 제공될 수도 있다.
다양한 예들이 설명되었다. 이들 및 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (38)

  1. 비디오 데이터를 인코딩하는 방법으로서,
    상기 비디오 데이터에 대한 예측 데이터를 생성하는 단계;
    상기 비디오 데이터의 디지털 샘플 값들 및 상기 예측 데이터에 기초하여 잔차 데이터를 생성하는 단계;
    상기 잔차 데이터에 기초하여 계수들을 생성하는 단계;
    인터레이싱된 진폭 값을 생성하기 위해 인터레이싱 프로세스를 수행하는 단계로서, 상기 인터레이싱 프로세스는 상기 인터레이싱된 진폭 값을 생성하기 위해 상기 계수들 중 2 이상의 계수들의 비트들을 인터레이싱하는, 상기 인터레이싱 프로세스를 수행하는 단계;
    상기 예측 데이터에 기초하여 디지털 값들을 생성하는 단계; 및
    상기 디지털 값들 및 상기 인터레이싱된 진폭 값에 기초하여 변조된 하나 이상의 아날로그 신호들을 출력하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법.
  2. 제 1 항에 있어서,
    상기 방법은 오리지널 수 라인 (number line) 으로부터의 상기 인터레이싱된 진폭 값을, 하나 이상의 갭 범위들을 포함하는 대안의 수 라인에서의 맵핑된 값에 맵핑하는 맵핑 프로세스를 수행하는 단계를 더 포함하고, 상기 갭 범위들은 아날로그 신호들로부터 복조되는 인터레이싱된 진폭 값들에서의 비트 플립들의 관점에서 노이즈의 영향들과 상관되는 상기 오리지널 수 라인에서의 포지션들에 위치되고, 상기 맵핑 프로세스는 임의의 인터레이싱된 진폭 값을 상기 하나 이상의 갭 범위들 중 임의의 갭 범위에서의 임의의 값에 맵핑하지 않으며,
    상기 하나 이상의 아날로그 신호들을 출력하는 단계는 상기 맵핑된 값에 기초하여 아날로그 신호를 변조하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법.
  3. 제 1 항에 있어서,
    상기 인터레이싱 프로세스는 상기 계수들 중 2개 또는 4개의 계수들의 비트들을 인터레이싱하는, 비디오 데이터를 인코딩하는 방법.
  4. 제 1 항에 있어서,
    상기 잔차 데이터에 기초하여 상기 계수들을 생성하는 단계는,
    상기 잔차 데이터에 기초하여 상기 계수들을 생성하는 이진화 프로세스를 수행하는 단계; 및
    상기 계수들을 양자화하는 양자화 프로세스를 수행하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법.
  5. 제 1 항에 있어서,
    상기 예측 데이터에 기초하여 상기 디지털 값들을 생성하는 단계는,
    상기 예측 데이터에서의 디지털 샘플 값들에 기초하여 양자화된 디지털 샘플 값들을 생성하는 단계; 및
    상기 양자화된 디지털 샘플 값들에 기초하여 상기 디지털 값들을 생성하는 엔트로피 인코딩 프로세스를 수행하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법.
  6. 제 1 항에 있어서,
    상기 아날로그 신호가 송신되는 채널의 스펙트럼 효율에 기초하여, 복수의 인터레이싱 프로세스들로부터 상기 인터레이싱 프로세스를 선택하는 단계를 더 포함하는, 비디오 데이터를 인코딩하는 방법.
  7. 제 6 항에 있어서,
    상기 인터레이싱 프로세스들의 각각은 상이한 수의 계수들을 인터레이싱하는, 비디오 데이터를 인코딩하는 방법.
  8. 비디오 데이터를 디코딩하는 방법으로서,
    아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정하는 단계;
    2 이상의 계수들을 생성하기 위해 인터레이싱해제 (deinterlacing) 프로세스를 수행하는 단계로서, 상기 2 이상의 계수들의 비트들은 상기 인터레이싱된 진폭 값에서 인터레이싱되는, 상기 인터레이싱해제 프로세스를 수행하는 단계;
    상기 2 이상의 계수들에 기초하여 잔차 데이터를 생성하는 단계;
    디지털 값들을 획득하는 단계;
    상기 디지털 값들에 기초하여 예측 데이터를 생성하는 단계; 및
    상기 예측 데이터 및 상기 잔차 데이터에 기초하여 상기 비디오 데이터를 복원하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  9. 제 8 항에 있어서,
    상기 아날로그 신호에 기초하여 상기 인터레이싱된 진폭 값을 결정하는 단계는,
    오리지널 수 라인에서의 인터레이싱된 진폭 값들을, 하나 이상의 갭 범위들을 포함하는 대안의 수 라인에서의 맵핑된 값들에 맵핑하는 맵핑 프로세스를 사용하여 생성되는 맵핑된 값을 결정하기 위해 상기 아날로그 신호를 복조하는 단계로서, 상기 갭 범위들은 아날로그 신호들로부터 복조되는 인터레이싱된 진폭 값들에서의 비트 플립들의 관점에서 노이즈의 영향들과 상관되는 상기 오리지널 수 라인에서의 포지션들에 위치되고, 상기 맵핑 프로세스는 상기 인터레이싱된 진폭 값들 중 임의의 인터레이싱된 진폭 값을 상기 하나 이상의 갭 범위들 중 임의의 갭 범위에서의 임의의 값에 맵핑하지 않는, 상기 아날로그 신호를 복조하는 단계; 및
    상기 맵핑된 값을 상기 인터레이싱된 진폭 값에 맵핑하기 위해 상기 맵핑 프로세스의 역을 사용하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  10. 제 9 항에 있어서,
    상기 아날로그 신호를 복조함으로써 결정되는 상기 맵핑된 값은 상기 갭 범위들 중 하나에 있으며,
    상기 맵핑 프로세스의 역은 상기 갭 범위들에서의 맵핑된 값들을 상기 오리지널 수 라인에서의 값들에 맵핑하는, 비디오 데이터를 디코딩하는 방법.
  11. 제 8 항에 있어서,
    상기 인터레이싱해제 프로세스는 상기 계수들 중 2개 또는 4개의 계수들의 비트들을 인터레이싱해제하는, 비디오 데이터를 디코딩하는 방법.
  12. 제 8 항에 있어서,
    상기 아날로그 신호에 기초하여 상기 인터레이싱된 진폭 값을 결정하는 단계는,
    상기 아날로그 신호의 심볼 샘플링 인스턴트에 대한 위상 시프트 및 전력에 대응하는 아날로그 심볼을 결정하는 단계를 포함하고,
    상기 인터레이싱된 진폭 값은 I-Q 평면에서의 상기 아날로그 심볼의 좌표와 동일한, 비디오 데이터를 디코딩하는 방법.
  13. 제 8 항에 있어서,
    상기 계수들에 기초하여 상기 잔차 데이터를 생성하는 단계는,
    상기 계수들을 역 양자화하는 역 양자화 프로세스를 수행하는 단계; 및
    상기 계수들에 기초하여 상기 잔차 데이터를 생성하는 이진화해제 프로세스를 수행하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  14. 제 8 항에 있어서,
    상기 디지털 값들에 기초하여 상기 예측 데이터를 생성하는 단계는,
    상기 디지털 값들에 기초하여 양자화된 디지털 샘플 값들을 생성하는 엔트로피 디코딩 프로세스를 수행하는 단계; 및
    역 양자화된 디지털 샘플 값들에 기초하여 상기 예측 데이터에서의 디지털 샘플 값들을 생성하는 역 양자화 프로세스를 수행하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  15. 제 8 항에 있어서,
    상기 아날로그 신호가 송신되는 채널의 스펙트럼 효율에 기초하여, 복수의 인터레이싱해제 프로세스들로부터 상기 인터레이싱해제 프로세스를 선택하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  16. 제 15 항에 있어서,
    상기 인터레이싱해제 프로세스들의 각각은 상이한 수의 계수들을 인터레이싱해제하는, 비디오 데이터를 디코딩하는 방법.
  17. 비디오 데이터를 인코딩하기 위한 디바이스로서,
    상기 비디오 데이터를 저장하도록 구성된 메모리;
    회로부에서 구현된 하나 이상의 프로세서들로서, 상기 하나 이상의 프로세서들은,
    상기 비디오 데이터에 대한 예측 데이터를 생성하고;
    상기 비디오 데이터의 디지털 샘플 값들 및 상기 예측 데이터에 기초하여 잔차 데이터를 생성하고;
    상기 잔차 데이터에 기초하여 계수들을 생성하고;
    인터레이싱된 진폭 값을 생성하기 위해 인터레이싱 프로세스를 수행하는 것으로서, 상기 인터레이싱 프로세스는 상기 인터레이싱된 진폭 값을 생성하기 위해 상기 계수들 중 2 이상의 계수들의 비트들을 인터레이싱하는, 상기 인터레이싱 프로세스를 수행하고; 그리고
    상기 예측 데이터에 기초하여 디지털 값들을 생성하도록
    구성되는, 상기 하나 이상의 프로세서들; 및
    상기 디지털 값들 및 상기 인터레이싱된 진폭 값에 기초하여 변조된 하나 이상의 아날로그 신호들을 출력하도록 구성된 모뎀을 포함하는, 비디오 데이터를 인코딩하기 위한 디바이스.
  18. 제 17 항에 있어서,
    상기 하나 이상의 프로세서들은 추가로, 오리지널 수 라인으로부터의 상기 인터레이싱된 진폭 값을, 하나 이상의 갭 범위들을 포함하는 대안의 수 라인에서의 맵핑된 값에 맵핑하는 맵핑 프로세스를 수행하도록 구성되고, 상기 갭 범위들은 아날로그 신호들로부터 복조되는 인터레이싱된 진폭 값들에서의 비트 플립들의 관점에서 노이즈의 영향들과 상관되는 상기 오리지널 수 라인에서의 포지션들에 위치되고, 상기 맵핑 프로세스는 임의의 인터레이싱된 진폭 값을 상기 하나 이상의 갭 범위들 중 임의의 갭 범위에서의 임의의 값에 맵핑하지 않으며,
    상기 하나 이상의 프로세서들은, 상기 하나 이상의 아날로그 신호들을 출력하는 것의 부분으로서, 상기 모뎀이 상기 맵핑된 값에 기초하여 아날로그 신호를 변조하도록 구성되는, 비디오 데이터를 인코딩하기 위한 디바이스.
  19. 제 17 항에 있어서,
    상기 인터레이싱 프로세스는 상기 계수들 중 2개 또는 4개의 계수들의 비트들을 인터레이싱하는, 비디오 데이터를 인코딩하기 위한 디바이스.
  20. 제 17 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 잔차 데이터에 기초하여 상기 계수들을 생성하는 것의 부분으로서, 상기 하나 이상의 프로세서들이,
    상기 잔차 데이터에 기초하여 상기 계수들을 생성하는 이진화 프로세스를 수행하고; 그리고
    상기 계수들을 양자화하는 양자화 프로세스를 수행하도록
    구성되는, 비디오 데이터를 인코딩하기 위한 디바이스.
  21. 제 17 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 예측 데이터에 기초하여 상기 디지털 값들을 생성하는 것의 부분으로서, 상기 하나 이상의 프로세서들이,
    상기 예측 데이터에서의 디지털 샘플 값들에 기초하여 양자화된 디지털 샘플 값들을 생성하고; 그리고
    상기 양자화된 디지털 샘플 값들에 기초하여 상기 디지털 값들을 생성하는 엔트로피 인코딩 프로세스를 수행하도록
    구성되는, 비디오 데이터를 인코딩하기 위한 디바이스.
  22. 제 17 항에 있어서,
    상기 하나 이상의 프로세서들은 추가로, 상기 아날로그 신호가 송신되는 채널의 스펙트럼 효율에 기초하여, 복수의 인터레이싱 프로세스들로부터 상기 인터레이싱 프로세스를 선택하도록 구성되는, 비디오 데이터를 인코딩하기 위한 디바이스.
  23. 제 22 항에 있어서,
    상기 인터레이싱 프로세스들의 각각은 상이한 수의 계수들을 인터레이싱하는, 비디오 데이터를 인코딩하기 위한 디바이스.
  24. 제 17 항에 있어서,
    상기 디바이스는 카메라, 컴퓨터, 모바일 디바이스, 브로드캐스트 수신기 디바이스, 또는 셋탑 박스 중 하나 이상을 포함하는, 비디오 데이터를 인코딩하기 위한 디바이스.
  25. 비디오 데이터를 디코딩하기 위한 디바이스로서,
    아날로그 신호 및 디지털 값들을 획득하도록 구성된 모뎀; 및
    회로부에서 구현된 하나 이상의 프로세서들을 포함하고,
    상기 하나 이상의 프로세서들은,
    아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정하고;
    2 이상의 계수들을 생성하기 위해 인터레이싱해제 프로세스를 수행하는 것으로서, 상기 2 이상의 계수들의 비트들은 상기 인터레이싱된 진폭 값에서 인터레이싱되는, 상기 인터레이싱해제 프로세스를 수행하고;
    상기 2 이상의 계수들에 기초하여 잔차 데이터를 생성하고;
    디지털 값들을 획득하고;
    상기 디지털 값들에 기초하여 예측 데이터를 생성하고; 그리고
    상기 예측 데이터 및 상기 잔차 데이터에 기초하여 상기 비디오 데이터를 복원하도록
    구성되는, 비디오 데이터를 디코딩하기 위한 디바이스.
  26. 제 25 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 아날로그 신호에 기초하여 상기 인터레이싱된 진폭 값을 결정하는 것의 부분으로서, 상기 하나 이상의 프로세서들이,
    오리지널 수 라인에서의 인터레이싱된 진폭 값들을, 하나 이상의 갭 범위들을 포함하는 대안의 수 라인에서의 맵핑된 값들에 맵핑하는 맵핑 프로세스를 사용하여 생성되는 맵핑된 값을 결정하기 위해 상기 아날로그 신호를 복조하는 것으로서, 상기 갭 범위들은 아날로그 신호들로부터 복조되는 인터레이싱된 진폭 값들에서의 비트 플립들의 관점에서 노이즈의 영향들과 상관되는 상기 오리지널 수 라인에서의 포지션들에 위치되고, 상기 맵핑 프로세스는 상기 인터레이싱된 진폭 값들 중 임의의 인터레이싱된 진폭 값을 상기 하나 이상의 갭 범위들 중 임의의 갭 범위에서의 임의의 값에 맵핑하지 않는, 상기 아날로그 신호를 복조하고; 그리고
    상기 맵핑된 값을 상기 인터레이싱된 진폭 값에 맵핑하기 위해 상기 맵핑 프로세스의 역을 사용하도록
    구성되는, 비디오 데이터를 디코딩하기 위한 디바이스.
  27. 제 26 항에 있어서,
    상기 아날로그 신호를 복조함으로써 결정되는 상기 맵핑된 값은 상기 갭 범위들 중 하나에 있으며,
    상기 맵핑 프로세스의 역은 상기 갭 범위들에서의 맵핑된 값들을 상기 오리지널 수 라인에서의 값들에 맵핑하는, 비디오 데이터를 디코딩하기 위한 디바이스.
  28. 제 25 항에 있어서,
    상기 인터레이싱해제 프로세스는 상기 계수들 중 2개 또는 4개의 계수들의 비트들을 인터레이싱해제하는, 비디오 데이터를 디코딩하기 위한 디바이스.
  29. 제 25 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 아날로그 신호에 기초하여 상기 인터레이싱된 진폭 값을 결정하는 것의 부분으로서, 상기 하나 이상의 프로세서들이,
    상기 아날로그 신호의 심볼 샘플링 인스턴트에 대한 위상 시프트 및 전력에 대응하는 아날로그 심볼을 결정하도록 구성되고,
    상기 인터레이싱된 진폭 값은 I-Q 평면에서의 상기 아날로그 심볼의 좌표와 동일한, 비디오 데이터를 디코딩하기 위한 디바이스.
  30. 제 25 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 계수들에 기초하여 상기 잔차 데이터를 생성하는 것의 부분으로서, 상기 하나 이상의 프로세서들이,
    상기 계수들을 역 양자화하는 역 양자화 프로세스를 수행하고; 그리고
    상기 계수들에 기초하여 상기 잔차 데이터를 생성하는 이진화해제 프로세스를 수행하도록
    구성되는, 비디오 데이터를 디코딩하기 위한 디바이스.
  31. 제 25 항에 있어서,
    상기 하나 이상의 프로세서들은, 상기 디지털 값들에 기초하여 상기 예측 데이터를 생성하는 것의 부분으로서, 상기 하나 이상의 프로세서들이,
    상기 디지털 값들에 기초하여 양자화된 디지털 샘플 값들을 생성하는 엔트로피 디코딩 프로세스를 수행하고; 그리고
    역 양자화된 디지털 샘플 값들에 기초하여 상기 예측 데이터에서의 디지털 샘플 값들을 생성하는 역 양자화 프로세스를 수행하도록
    구성되는, 비디오 데이터를 디코딩하기 위한 디바이스.
  32. 제 31 항에 있어서,
    상기 하나 이상의 프로세서들은 추가로, 상기 아날로그 신호가 송신되는 채널의 스펙트럼 효율에 기초하여, 복수의 인터레이싱해제 프로세스들로부터 상기 인터레이싱해제 프로세스를 선택하도록 구성되는, 비디오 데이터를 디코딩하기 위한 디바이스.
  33. 제 32 항에 있어서,
    상기 인터레이싱해제 프로세스들의 각각은 상이한 수의 계수들을 인터레이싱해제하는, 비디오 데이터를 디코딩하기 위한 디바이스.
  34. 제 25 항에 있어서,
    상기 디바이스는 카메라, 컴퓨터, 모바일 디바이스, 브로드캐스트 수신기 디바이스, 또는 셋탑 박스 중 하나 이상을 포함하는, 비디오 데이터를 디코딩하기 위한 디바이스.
  35. 비디오 데이터를 인코딩하기 위한 디바이스로서,
    상기 비디오 데이터에 대한 예측 데이터를 생성하는 수단;
    상기 비디오 데이터의 디지털 샘플 값들 및 상기 예측 데이터에 기초하여 잔차 데이터를 생성하는 수단;
    상기 잔차 데이터에 기초하여 계수들을 생성하는 수단;
    인터레이싱된 진폭 값을 생성하기 위해 인터레이싱 프로세스를 수행하는 수단으로서, 상기 인터레이싱 프로세스는 상기 인터레이싱된 진폭 값을 생성하기 위해 상기 계수들 중 2 이상의 계수들의 비트들을 인터레이싱하는, 상기 인터레이싱 프로세스를 수행하는 수단;
    상기 인터레이싱된 진폭 값에 기초하여 아날로그 신호를 변조하는 수단;
    상기 예측 데이터에 기초하여 디지털 값들을 생성하는 수단; 및
    예측 블록에 기초하여 디지털 값들 및 상기 아날로그 신호를 출력하는 수단을 포함하는, 비디오 데이터를 인코딩하기 위한 디바이스.
  36. 비디오 데이터를 디코딩하기 위한 디바이스로서,
    아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정하는 수단;
    2 이상의 계수들을 생성하기 위해 인터레이싱해제 프로세스를 수행하는 수단으로서, 상기 2 이상의 계수들의 비트들은 상기 인터레이싱된 진폭 값에서 인터레이싱되는, 상기 인터레이싱해제 프로세스를 수행하는 수단;
    상기 2 이상의 계수들에 기초하여 잔차 데이터를 생성하는 수단;
    디지털 값들을 획득하는 수단;
    상기 디지털 값들에 기초하여 예측 데이터를 생성하는 수단; 및
    상기 예측 데이터 및 상기 잔차 데이터에 기초하여 상기 비디오 데이터를 복원하는 수단을 포함하는, 비디오 데이터를 디코딩하기 위한 디바이스.
  37. 명령들이 저장된 컴퓨터 판독가능 데이터 저장 매체로서,
    상기 명령들은, 실행될 경우, 하나 이상의 프로세서들로 하여금:
    비디오 데이터에 대한 예측 데이터를 생성하게 하고;
    상기 비디오 데이터의 디지털 샘플 값들 및 상기 예측 데이터에 기초하여 잔차 데이터를 생성하게 하고;
    상기 잔차 데이터에 기초하여 계수들을 생성하게 하고;
    인터레이싱된 진폭 값을 생성하기 위해 인터레이싱 프로세스를 수행하게 하는 것으로서, 상기 인터레이싱 프로세스는 상기 인터레이싱된 진폭 값을 생성하기 위해 상기 계수들 중 2 이상의 계수들의 비트들을 인터레이싱하는, 상기 인터레이싱 프로세스를 수행하게 하고;
    상기 인터레이싱된 진폭 값에 기초하여 아날로그 신호를 변조하게 하고;
    상기 예측 데이터에 기초하여 디지털 값들을 생성하게 하고; 그리고
    예측 블록에 기초하여 디지털 값들 및 상기 아날로그 신호를 출력하게 하는, 컴퓨터 판독가능 데이터 저장 매체.
  38. 명령들이 저장된 컴퓨터 판독가능 데이터 저장 매체로서,
    상기 명령들은, 실행될 경우, 하나 이상의 프로세서들로 하여금:
    아날로그 신호에 기초하여 인터레이싱된 진폭 값을 결정하게 하고;
    2 이상의 계수들을 생성하기 위해 인터레이싱해제 프로세스를 수행하게 하는 것으로서, 상기 2 이상의 계수들의 비트들은 상기 인터레이싱된 진폭 값에서 인터레이싱되는, 상기 인터레이싱해제 프로세스를 수행하게 하고;
    상기 2 이상의 계수들에 기초하여 잔차 데이터를 생성하게 하고;
    디지털 값들을 획득하게 하고;
    상기 디지털 값들에 기초하여 예측 데이터를 생성하게 하고; 그리고
    상기 예측 데이터 및 상기 잔차 데이터에 기초하여 비디오 데이터를 복원하게 하는, 컴퓨터 판독가능 데이터 저장 매체.
KR1020237021248A 2020-12-29 2021-11-01 비디오 데이터의 송신을 위한 하이브리드 디지털-아날로그 변조에서의 인터레이싱된 계수들 KR20230127999A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/137,088 US11457224B2 (en) 2020-12-29 2020-12-29 Interlaced coefficients in hybrid digital-analog modulation for transmission of video data
US17/137,088 2020-12-29
PCT/US2021/057605 WO2022146550A1 (en) 2020-12-29 2021-11-01 Interlaced coefficients in hybrid digital-analog modulation for transmission of video data

Publications (1)

Publication Number Publication Date
KR20230127999A true KR20230127999A (ko) 2023-09-01

Family

ID=78725735

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237021248A KR20230127999A (ko) 2020-12-29 2021-11-01 비디오 데이터의 송신을 위한 하이브리드 디지털-아날로그 변조에서의 인터레이싱된 계수들

Country Status (6)

Country Link
US (1) US11457224B2 (ko)
EP (1) EP4272439A1 (ko)
KR (1) KR20230127999A (ko)
CN (1) CN116636221A (ko)
TW (1) TW202226834A (ko)
WO (1) WO2022146550A1 (ko)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5309478A (en) 1990-01-29 1994-05-03 Massachusetts Institute Of Technology Method and apparatus for hybrid analog/digital signal processing
US7010482B2 (en) 2000-03-17 2006-03-07 The Regents Of The University Of California REW parametric vector quantization and dual-predictive SEW vector quantization for waveform interpolative coding
US6928122B2 (en) 2001-06-07 2005-08-09 Motorola, Inc. Amplifier predistortion system and method
BRPI0617447A2 (pt) * 2005-10-14 2012-04-17 Matsushita Electric Ind Co Ltd codificador de transformada e método de codificação de transformada
US8559525B2 (en) * 2005-10-21 2013-10-15 Amimon Ltd. Apparatus and method for uncompressed, wireless transmission of video
JP5909692B2 (ja) 2012-04-03 2016-04-27 パナソニックIpマネジメント株式会社 映像データ送信装置及び受信装置
US8867645B2 (en) * 2012-12-05 2014-10-21 Digital Compression Technology, Llc Use of orthonormal transformation for improving performance of digital transmission under heavily faded channels with doppler effects
JP6652126B2 (ja) 2015-03-13 2020-02-19 ソニー株式会社 画像処理装置および方法
US9742517B2 (en) 2015-05-19 2017-08-22 Samsung Electronics Co., Ltd. Transmitting apparatus and mapping method thereof
CN107666472B (zh) * 2016-07-29 2020-08-11 微软技术许可有限责任公司 混合的数字-模拟编解码的方法和设备
US10447312B2 (en) 2016-11-25 2019-10-15 Lg Electronics Inc. Method of performing interleaving using LDPC and communication apparatus therefor
EP3669520A4 (en) 2018-05-16 2020-06-24 SZ DJI Technology Co., Ltd. TRANSMISSION OF IMAGES
WO2019236746A1 (en) 2018-06-05 2019-12-12 Tm Ip Holdings, Llc Transpositional modulation and demodulation
CN110768701B (zh) * 2018-07-27 2022-10-28 中兴通讯股份有限公司 信道状态处理方法及装置、系统、终端、基站、存储介质
EP3949148A1 (en) 2019-03-28 2022-02-09 Lenovo (Singapore) Pte. Ltd. Method and apparatus for generating a channel state information report

Also Published As

Publication number Publication date
US11457224B2 (en) 2022-09-27
US20220210443A1 (en) 2022-06-30
EP4272439A1 (en) 2023-11-08
TW202226834A (zh) 2022-07-01
CN116636221A (zh) 2023-08-22
WO2022146550A1 (en) 2022-07-07

Similar Documents

Publication Publication Date Title
RU2576590C2 (ru) Вывод позиции в порядке сканирования последнего значимого коэффициента преобразования при кодировании видеосигнала
US8576097B2 (en) Coding using a mapping between a syntax element and a code word
US20200021831A1 (en) Image encoding/decoding method, video encoder/decoder, and video coding/decoding system
KR102497153B1 (ko) 안정성 정보 및 트랜션트/확률적 정보의 구별되는 인코딩 및 디코딩
JP2007507147A (ja) 高画質映像の無線伝送
CN108965894B (zh) 一种视频图像的编解码方法及装置
TW201338556A (zh) 根據視頻編碼的採樣點自適應偏移(sao)
KR101289514B1 (ko) 인코딩 방법 및 인코더 장치
US20230421786A1 (en) Chroma from luma prediction for video coding
US11553184B2 (en) Hybrid digital-analog modulation for transmission of video data
US11457224B2 (en) Interlaced coefficients in hybrid digital-analog modulation for transmission of video data
US11431962B2 (en) Analog modulated video transmission with variable symbol rate
US9462283B2 (en) Efficient compression of Bayer images
EP2974315A1 (en) Integrated spatial downsampling of video data
US11736702B2 (en) Rice parameter derivation for high bit-depth video coding
CA2986520A1 (en) Method and device for reconstructing a display adapted hdr image
CN116830575A (zh) 用于对具有不同位深度的视频信号进行哈达玛变换域滤波的方法和装置
MX2008009206A (en) Apparatuses and methods for transmitting and receiving uncompressed av data