KR100930263B1 - 반복적 인코딩 알고리즘을 이용한 비디오 압축 방법 및 그시스템 - Google Patents

반복적 인코딩 알고리즘을 이용한 비디오 압축 방법 및 그시스템 Download PDF

Info

Publication number
KR100930263B1
KR100930263B1 KR1020070057705A KR20070057705A KR100930263B1 KR 100930263 B1 KR100930263 B1 KR 100930263B1 KR 1020070057705 A KR1020070057705 A KR 1020070057705A KR 20070057705 A KR20070057705 A KR 20070057705A KR 100930263 B1 KR100930263 B1 KR 100930263B1
Authority
KR
South Korea
Prior art keywords
vector
video data
received video
coding
quantization
Prior art date
Application number
KR1020070057705A
Other languages
English (en)
Other versions
KR20070118978A (ko
Inventor
쉐민(셔먼) 첸
Original Assignee
브로드콤 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 브로드콤 코포레이션 filed Critical 브로드콤 코포레이션
Publication of KR20070118978A publication Critical patent/KR20070118978A/ko
Application granted granted Critical
Publication of KR100930263B1 publication Critical patent/KR100930263B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/395Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability involving distributed video coding [DVC], e.g. Wyner-Ziv video coding or Slepian-Wolf video coding
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

반복적 인코딩 알고리즘을 이용한 비디오 압축 방법 및 시스템의 일부 측면들이 개시된다. 방법의 측면은, 수신된 비디오 데이터의 적어도 일부의 코딩 레이트를, 상기 수신된 비디오 데이터의 비트 레이트 압축이 이뤄지는 동안에, 적어도 하나의 양자화 벡터에 기초하여 동적으로 변경하는 단계를 포함한다. 적어도 하나의 양자화 벡터가 적응적으로 선택되고 압축된 비트스트림의 형태로 디코더에 전송된다.

Description

반복적 인코딩 알고리즘을 이용한 비디오 압축 방법 및 그 시스템{METHOD AND SYSTEM FOR VIDEO COMPRESSION USING AN ITERATIVE ENCODING ALGORITHM}
도 1a는 본 발명의 실시예에 따른 예시적인 비디오 처리 시스템의 블록도이다.
도 1b는 본 발명의 실시예에 따라 이용될 수 있는 예시적인 비디오 인코더의 블록도이다.
도 2는 본 발명의 실시예에 따라 이용될 수 있는 예시적인 비디오 인코더의 블록도이다.
도 3은 본 발명의 실시예에 따라 이용될 수 있는 예시적인 비디오 압축 인코더 시스템의 블록도이다.
도 4는 본 발명의 실시예에 따라 이용될 수 있는 예시적인 비디오 압축 디코더 시스템의 블록도이다.
도 5는 본 발명의 실시예에 따라 반복적 벡터 인코딩 기법을 이용한 비디오 압축 시스템을 위한 예시적인 단계들을 설명한 순서도이다.
본 발명의 일부 실시예들은 비디오 데이터의 암호화에 관한 것이다. 더욱 상세하게는 본 발명의 일부 실시예들은 반복적 인코딩 알고리즘을 이용한 비디오 압축 방법 및 시스템에 관한 것이다.
MPEG-1, MPEG-2, H.263, MPEG-4 및 H.264/MPEG-4 AVC(advanced video coding)와 같은 종래의 비디오 압축 표준들을 이용하여 많은 소비자용 제품들이 쏟아져 나오고 있다. 예를 들어, 이러한 표준들을 이용하여, 디지털 VCR이나 셋톱 박스, 컴퓨터 등에서 비디오 CD나 DVD를 재생할 수 있게 되었고, 지상파, 케이블 또는 위성 네트워크들을 통해 전송되는 디지털 방송 비디오을 디지털 TV나 HDTV에서 볼 수 있게 되었다. MPEG-1 표준이 VHS 수준의 화질을 제공하는 낮은 해상도 및 낮은 비트레이트를 갖는 순차주사(non-interlaced) 영상의 코딩에 대한 것인 반면에, MPEG-2는 높은 화질의 디지털 TV나 HDTV를 가능케하는 높은 해상도 및 높은 비트레이트를 갖는 비월주사(interlaced) 영상의 코딩에 대한 것이었다. H.263은 화상 회의(videoconference) 및 화상 전화(video telephony) 제품들에 관한 것이다. MPEG-4는 새로운 세대의 멀티미디어 응용 제품들과 관련 서비스들을 위해 개발되었다. MPEG-4의 배경에 깔린 전제는, 인터랙티브 TV(interactive TV)와 같은 양방향 멀티미디어 응용 제품들 및 관련 서비스들과, 코딩된 오디오 및 비디오 오브젝트들에 대한 접근 기술이 필요할 인터넷 비디오 분야였다. MPEG-4는 또한 MPEG-1이나 MPEG-2보다 높은 효율의 압축이 가능하게 한다. H.264/MPEG-4 AVC는 새로운 최신 비디오 코딩 표준으로서, 인터넷 멀티미디어, 무선 비디오, 개인용 녹화기, 주문형 비디오 및 화상 회의와 같은 실제 응용예들을 가능한 한 최고의 화질을 가지고 실 현하기 위한 더 높은 압축 성능에 대한 줄어들지 않는 수요에 대응한 것이다.
MPEG-1, MPEG-2, H.263, MPEG-4 및 H.264/MPEG-4 AVC(advanced video coding)와 같은 비디오 압축 표준들의 기본적인 비디오 압축 구조는 매우 유사하다. 이러한 구조는 움직임 보상된 변환 코딩 구조 또는 압축 구조라고 공통적으로 지칭될 수 있다. 영상의 압축은 픽쳐 단위(picture by picture)로 수행될 수 있다. 코딩될 각 픽쳐는 먼저 몇 개의 슬라이스(slice)들로 구획이 나눠진다(partitioned). 슬라이스들은 개별적인 코딩 단위이며, 효율적인 코딩 동작을 위해 마이크로블록(microblock)이나 블록(block) 단위로 더 쪼개질 수 있다. 움직임 보상, 블록 변환 및 양자화(quantization) 기법이 이들 블록의 코딩에 적용될 수 있으며, 엔트로피 코딩 기법(entropy coding)이 움직임 벡터(motion vectors) 및 양자화 계수들(quantized coefficients)과 같은 다양한 압축 요소들에 대해 수행될 수 있다.
기존의 전통적인 접근법에 따른 다른 한계점들 및 단점들은 당해 기술 분야의 숙련된 자에게, 본 출원의 나머지 부분들에서 도면들을 참조하여 설명되는 본 발명의 몇몇 측면들과 종래의 시스템들의 비교를 통해 명백해질 것이다.
본 발명의 목적은 반복적 인코딩 알고리즘을 이용한 비디오 압축 방법 및 그 시스템을 제공하는 것이다.
본질적으로 적어도 도면들 중 어느 하나와 관련되어 예시되거나 또는 설명되 는 것과 같은 반복적 인코딩 알고리즘을 이용하여 비디오 압축을 하는 방법 및 시스템은 청구범위를 통해 더욱 완전하게 설명된다.
본 발명의 일 측면에 따라, 비디오 데이터의 처리 방법이 제공되는데, 상기 방법은,
수신된 비디오 데이터의 적어도 일부의 코딩 레이트(coding rate)를, 상기 수신된 비디오 데이터의 압축이 이뤄지는 동안에, 적어도 하나의 양자화 벡터에 기초하여 동적으로 변경시키는 단계를 포함한다.
바람직하게는, 상기 방법은 상기 수신된 비디오 데이터를 위한 적어도 하나의 양자화 벡터를 스케일링하는 단계를 더 포함한다.
바람직하게는, 상기 방법은 상기 압축이 이뤄지는 동안에, 상기 수신된 비디오 데이터의 상기 코딩 레이트를, 가지치기 트리 구조(pruned tree structure) 코드 및 간략화 저밀도 패리티 체크(shortened low density parity check, LDPC) 코드 중 적어도 하나를 이용하여 조절하는 단계를 더 포함한다.
바람직하게는, 상기 방법은 상기 수신된 비디오 데이터의 적어도 한 매크로블록에 대해 루프 필터링하는 단계를 더 포함한다.
바람직하게는, 상기 방법은 상기 압축이 이뤄지는 동안에, 상기 적어도 하나의 양자화 벡터를 동적으로 선택하는 단계; 및
상기 선택된 적어도 하나의 양자화 벡터를 압축된 비트스트림(bitstream)의 형태로 디코더로 전송하는 단계를 더 포함한다.
바람직하게는, 상기 방법은 상기 수신된 비디오 데이터에 대한 상기 압축 후 에 상기 압축된 비트스트림을 생성하는 단계를 더 포함한다.
바람직하게는, 상기 방법은 상기 적어도 하나의 양자화 벡터를 색인화(indexing)하는 단계를 더 포함한다.
바람직하게는, 상기 방법은 적어도 하나의 양자화 벡터를 소팅(sorting)하는 단계를 더 포함한다.
본 발명의 다른 측면에 따라, 비디오 데이터를 처리할 수 있는 적어도 하나의 코드부를 갖는 컴퓨터 프로그램이 탑재된 기록매체가 제공되는데, 상기 적어도 하나의 코드부는 기계 장치에 의해 실행될 수 있으며, 상기 기계 장치로 하여금,
수신된 비디오 데이터의 적어도 일부의 코딩 레이트를, 상기 수신된 비디오 데이터의 압축이 이뤄지는 동안에, 적어도 하나의 양자화 벡터에 기초하여 동적으로 변경시키는 단계를 수행할 수 있도록 한다.
바람직하게는, 상기 기록매체는 상기 수신된 비디오 데이터를 위한 적어도 하나의 양자화 벡터를 스케일링하는 코드를 더 포함한다.
바람직하게는, 상기 기록매체는 상기 압축이 이뤄지는 동안에, 상기 수신된 비디오 데이터의 상기 코딩 레이트를, 가지치기 트리 구조 코드 및 간략화 저밀도 패리티 체크(LDPC) 코드 중 적어도 하나를 이용하여 조절하는 코드를 더 포함한다.
바람직하게는, 상기 기록매체는 상기 수신된 비디오 데이터의 적어도 한 매크로블록에 대해 루프 필터링하는 코드를 더 포함한다.
바람직하게는, 상기 기록매체는 상기 압축이 이뤄지는 동안에, 상기 적어도 하나의 양자화 벡터를 동적으로 선택하는 코드; 및
상기 선택된 적어도 하나의 양자화 벡터를 압축된 비트스트림의 형태로 디코더로 전송하는 코드를 더 포함한다.
바람직하게는, 상기 기록매체는 상기 수신된 비디오 데이터에 대한 상기 압축 후에 상기 압축된 비트스트림을 생성하는 코드를 더 포함한다.
바람직하게는, 상기 기록매체는 상기 적어도 하나의 양자화 벡터를 색인화하는 코드를 더 포함한다.
바람직하게는, 상기 기록매체는 상기 적어도 하나의 양자화 벡터를 소팅하는 코드를 더 포함한다.
본 발명의 또 다른 측면에 따라, 비디오 데이터 처리 시스템이 제공되는데, 상기 시스템은,
수신된 비디오 데이터의 적어도 일부의 코딩 레이트를, 상기 수신된 비디오 데이터의 압축이 이뤄지는 동안에, 적어도 하나의 양자화 벡터에 기초하여 동적으로 변경시키는 회로부를 포함한다.
바람직하게는, 상기 회로부는 상기 수신된 비디오 데이터를 위한 적어도 하나의 양자화 벡터를 스케일링하는 것을 가능하게 한다.
바람직하게는, 상기 회로부는 상기 압축이 이뤄지는 동안에, 상기 수신된 비디오 데이터의 상기 코딩 레이트를, 가지치기 트리 구조 코드 및 간략화 저밀도 패 리티 체크(LDPC) 코드 중 적어도 하나를 이용하여 조절하는 것을 가능하게 한다.
바람직하게는, 상기 회로부는 상기 수신된 비디오 데이터의 적어도 한 매크로블록에 대해 루프 필터링하는 것을 가능하게 한다.
바람직하게는, 상기 회로부는 상기 압축이 이뤄지는 동안에, 상기 적어도 하나의 양자화 벡터를 동적 선택하는 것; 및
상기 선택된 적어도 하나의 양자화 벡터를 압축된 비트스트림의 형태로 디코더로 전송하는 것을 가능하게 한다.
바람직하게는, 상기 회로부는 상기 수신된 비디오 데이터에 대한 상기 압축 후에 상기 압축된 비트스트림을 생성하는 것을 가능하게 한다.
바람직하게는, 상기 회로부는 상기 적어도 하나의 양자화 벡터를 색인화하는 것을 가능하게 한다.
바람직하게는, 상기 회로부는 상기 적어도 하나의 양자화 벡터를 소팅하는 것을 가능하게 한다.
본 발명의 여러 가지 장점들, 측면들 및 신규한 특징들은, 이들과 관련하여 예시된 실시예들의 상세한 사항들과 더불어, 다음의 설명 및 도면들로부터 더욱 완전하게 이해될 수 있을 것이다.
본 발명의 일부 실시예들은 반복적 인코딩 알고리즘을 이용한 비디오 압축을 위한 방법 및 시스템 분야에 관한 것이다. 상기 방법 및 시스템은 수신한 비디오 데이터의 적어도 일부에 대해, 상기 수신한 비디오 데이터를 압축하는 동안에, 적어도 하나의 양자화 벡터에 기초하여 그 코딩 레이트를 동적으로 변화시키는 기법 을 포함할 수 있다. 양자화된 벡터 중 적어도 하나는 적응적으로 선택되고 압축된 비트 스트림을 통해 디코더로 전송될 수 있다.
도 1a는 본 발명의 실시예에 따른 예시적인 비디오 처리 시스템의 블록도이다. 도 1a를 참조하면, 예시적인 시스템(170)은 프로세서(172), 비디오 처리 블록(174), 메모리(178) 및 비디오 소스(176)를 포함할 수 있다. 상기 비디오 처리 블록(174)은 인코더(180)를 포함할 수 있다. 상기 비디오 소스(176)는 적절한 회로 조직(circuitry), 논리 알고리즘(logic), 명령어 코드(code) 등을 포함할 수 있고, 미가공 비디오 스트림 데이터(raw video stream data)를 상기 비디오 처리 블록(174)으로 송신하도록 구성될 수 있다. 상기 비디오 처리 블록(174)도 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있고, 상기 비디오 소스(176)로부터 미가공 비디오 스트림 데이터를 받아 처리하도록 구성될 수 있다. 예를 들어, 상기 비디오 처리 블록(174)은 상기 비디오 소스(176)로부터 수신한 비디오 데이터에 대해 인코딩/디코딩 작업을 수행하도록 구성될 수 있다. 이러한 점에서, 상기 비디오 처리 블록(174)은 특화된 비디오 처리 칩으로 구현될 수 있다. 상기 인코더(180)는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있고, 상기 프로세서(172)가 내린 결정에 기초하여 상기 수신한 비디오 데이터를 인코딩하도록 구성될 수 있다.
상기 프로세서(172)는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있고, 예를 들어 상기 비디오 처리 블록(174)에 의한 비디오 정보의 처리를 제어하도록 구성될 수 있다. 상기 프로세서(172)는 하나의 시스템 또는 호스트 시 스템을 포함할 수 있다. 상기 메모리(178)는 비압축 비디오 데이터나, 또는, 상기 비디오 처리 블록(174)에 의해 처리된 비디오 데이터와 같이 가공된 비디오 데이터를 저장하도록 구성될 수 있다. 더 나아가, 상기 메모리(178)는, 상기 비디오 처리 블록(174)에 의해 수행되는 비디오 처리 작업들과 관련하여 상기 프로세서(172)에 의해 실행될 수 있는 명령어 코드들을 저장하는 데에 이용될 수 있다.
도 1b는 본 발명의 실시예에 따라 이용될 수 있는 예시적인 비디오 인코더의 블록도이다. 도 1b를 참조하면, H.264/MPEG-4 AVC 비디오 비트스트림에 이용될 수 있는 비디오 인코더(100)가 나타나 있다. 상기 비디오 인코더(100)는 순방향 변환 및 스케일러 블록(forward transform and scaler block)(104), 순방향 양자화부(forward quantizer)(106), 레이트 제어부(rate controller)(108), 엔트로피 코딩 및 비트 스트림 생성부(entropy coding and bit stream generator)(110), 역양자화부(inverse quantizer)(112), 스케일러 및 역변환 블록(scaler and inverse transform block)(114), 합산부(summer)(130), 감산부(subtractor)(102), 디블록킹 필터(deblocking filter)(116), 복수 참조 픽쳐 저장 블록(multiple reference pictures storage block)(118), 인트라 예측부(intra predictor)(120), 인터/인트라 선택부 블록(inter/intra selector block)(122), 움직임 보상 예측부(motion compensated predictor)(124), 다중블록 다중프레임 움직임 추정부(multi-block multi-frame motion estimator)(126), 스위치(128) 및 버퍼(132)를 포함할 수 있다.
상기 순방향 변환 및 스케일러 블록(104)은 계수의 정수 변환을 가능하게 할 수 있는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다. 예를 들어, AVC에서는, 4x4 정수 변환이 이용될 수 있다. 상기 변환 코딩은 잔여값들(residuals)의 구축을 위해 예측 기법을 이용할 수 있다. 매크로블록(macroblock, MB) 내의 픽셀 값들은, 인트라 매크로블록의 경우에는 동일한 픽쳐 내의 이웃하는 픽셀들로부터, 또는 인터 매크로블록의 경우에는 하나 또는 두 개의 이전에 디코딩된 참조 픽쳐들 내의 픽셀들로부터 예측될 수 있다.
순방향 양자화부(106)는 비트스트림 내의 각 서브 블록의 스케일링 및 양자화를 가능하게 하는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다. 각 서브 블록 내 각 요소들에 대한 스케일 팩터(scale factor)는 해당 서브 블록을 포함하고 있는 매크로블록에 연관된 양자화 파라미터(quantization parameters)의 함수로서 가변될 수 있다. 상기 코딩 레이트 제어부(108)는 상기 양자화 파라미터들의 값을 제어할 수 있는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다.
상기 엔트로피 코딩 및 비트스트림 생성부(110)는 상기 변환의 양자화 계수들에 대한 변환 계수 코딩을 수행하는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다. 상기 엔트로피 코딩 및 비트스트림 생성부(110)는 다양한 코딩 방법들, 예를 들어 Exp-Golomb 코딩, CAVLC(context adaptive variable length coding) 및 CABAC(context adaptive binary arithmetic coding)과 같은 방법들을 이용할 수 있다. 상기 버퍼(132)는 MPEG-4 AVC 호환 비트스트림을 생성할 수 있도록 최종 생성된 비트스트림을 버퍼링할 수 있다.
상기 역양자화부(112)는 상기 순방향 양자화부(106)에 의해 생성된 변환 계수들을 스캐닝(scanning)하고 양자화할 수 있는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다. 상기 스케일러 및 역변환 블록(114)은 상기 역방향 스캐닝되고 역방향 양자화된 변환 계수들을 변환할 수 있는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다.
상기 디블록킹 필터(116)는 움직임 보상 및 잔여 코딩 후에 매크로 블록에 대해, 상기 매크로블록이 인터 코딩되었는지 또는 인트라 코딩되었는지에 따라, 루프 필터링을 할 수 있는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다. 상기 디블록킹 필터(116)는 래스터 스캔 순서(raster scan order)에 따라 매크로블록에 대해 적용되도록 구현될 수 있다.
상기 복수 참조 픽쳐 저장 블록(118)은 상기 디블록킹 필터(116)의 출력을 저장할 수 있는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다. 상기 루프 필터링 동작은, 현재의 그리고 이웃하는 매크로블록들의 양자화 파라미터들, 움직임 벡터의 크기, 매크로블록의 코딩 방식과, 현재 및 이웃하는 블록들과 매크로블록들 내의 필터링되는 픽셀들의 값들에 따라 결정된다.
상기 인터/인트라 선택부 블록(122)은 각 매크로블록에 대해 이용될 수 있는 특정한 코딩 방식을 결정할 수 있는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다. 상기 인터/인트라 선택부 블록(122)의 출력은 스위치(128)에 입력될 수 있다. 상기 스위치(128)는 상기 인터/인트라 선택부 블록(122)으로부터 수신한 입력 정보에 기초하여, 인트라 예측 코딩 모드와 움직임 보상 예측 모드 사 이에서 스위칭할 수 있는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다.
상기 인트라 예측부(120)는 현재 매크로블록 이전에 디코딩된 이웃하는 매크로블록들의 (현재 매크로블록과) 인접한 가장자리들의 픽셀들로부터 선형 인터폴레이션(linear interpolation) 연산과 같은 픽셀 값들의 예측 동작을 가능하게 하는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다. 상기 인터폴레이션은 그 속성상, 각각 공간 상의 예측 방향을 갖고 있는 다양한 모드들에 따라 방향을 가질 수 있다.
상기 다중블록 다중프레임 움직임 추정부(126)는, 픽셀들로 이뤄진 하나의 어레이에 대해, 이전에 디코딩된 참조 픽쳐로부터 이와 유사한 크기의 또 다른 픽셀 어레이들을 선택함으로써 예측 동작을 수행할 수 있는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다.
상기 움직임 보상 예측부(124)는 참조 어레이(reference array)를 현재 어레이의 위치로 병치(translation)시키는 것을 가능하게 하는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다. 예를 들어, AVC에서는, 상기 움직임 보상 예측부(124)로 예측된 픽셀 어레이는 예를 들어 16x8, 8x16, 8x8, 8x4, 4x8 및 4x4 픽셀들과 같은 다양한 크기를 가질 수 있다.
동작 시에, 각 슬라이스는 한 번에 하나의 매크로블록이 코딩될 수 있고, 이 매크로블록의 예측 신호(prediction signal)가 이로부터 추출될 수 있다. 예측 신호는 여러 가지의 가능한 후보 방식들 중에서 특정한 예측 신호를 선택함으로써 생 성될 수 있다. 잔여 차이 신호(residual difference signal)는 예를 들어 상기 순방향 변환 및 스케일러 블록(104)에 의해 4x4 변환 방식으로 코딩될 수 있고, 상기 순방향 양자화부(106)로 출력될 수 있다. 상기 순방향 양자화부(106)는 상기 엔트로피 코딩 및 비트스트림 생성부(110)에 의한 엔트로피 코딩이 이뤄지기에 앞서, 상기 수신한 신호를 양자화하고 스케일링할 수 있다.
상기 움직임 보상 예측부(124)는 예를 들어 움직임 보상 예측을 위해, 16x16, 16x8, 8x16, 8x8, 8x4, 4x8 및 4x4와 같은 다양한 블록 크기를 활용할 수 있다. 예측이 이뤄진 후의 상기 잔여 신호는 상기 순방향 변환 및 스케일러 블록(104)에서 예를 들어 4x4 블록 크기로 변환 코딩될 수 있다. 상기 디블록킹 필터(116)는 블록 아티팩트(blocking artifact)가 생성되는 것을 막기 위해 압축 루프 내에 포함될 수 있다. 비월주사 비디오 영상(interlaced video)은 프레임 픽쳐, 필드 픽쳐, PicAFF(picture adaptive frame/field)를 갖는 프레임 픽쳐 및 MBAFF(macroblock adaptive frame/picture)를 갖는 프레임 픽쳐들로 코딩될 수 있다. 최종 생성된 비트 스트림은 MPEG-4 AVC 호환 비트스트림을 생성할 수 있도록 상기 버퍼(132)에 버퍼링된다. 이 비트스트림은 저장에 적합하도록 미가공 상태이거나 포맷된 상태일 수 있고, 특정한 네트워크를 통해 예를 들어 H.264 디코더로 전송될 수도 있다.
도 2는 본 발명의 실시예에 따라 이용될 수 있는 예시적인 비디오 인코더의 블록도이다. 도 2를 참조하면, H.264/MPEG-4 AVC 비디오 비트스트림을 위해 이용될 수 있는 비디오 디코더(200)가 나타나 있다. 상기 비디오 디코더(200)는 엔트로피 디코딩 및 비트스트림 디컴포저(entropy decoding and bitstream decomposer)(202), 역양자화부(inverse quantizer)(204), 스케일러 및 역변환 블록(scaler and inverse transform block)(206), 합산부(208), 디블록킹 필터(210), 복수 참조 픽쳐 저장 블록(212), 인트라 예측부(214), 움직임 보상 예측부(216) 및 스위치(218)를 포함할 수 있다. 2004년 10월 13일자로 출원된 미국특허 출원번호 제10/963,677호에서 디코딩 루프 내에 디블록킹부를 갖는 비디오 디코더가 더욱 자세하게 공개되어 있으며, 그 전체가 이 출원에 참조 문헌으로서 통합된다.
상기 엔트로피 디코딩 및 비트스트림 디컴포저(202)는 비디오 입력을 수신하고 상기 역양자화부(204)로 디코딩된 출력을 내보낼 수 있는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다. 상기 엔트로피 디코딩 및 비트스트림 디컴포저(202)는 다양한 코딩 방법들을, 예를 들어, CABAC 또는 CAVLC 디코딩 알고리즘을 이용할 수 있다.
상기 역양자화부(204)는 상기 엔트로피 디코딩 및 비트스트림 디컴포저(202)에 의해 생성되는 변환 계수들의 스캐닝 및 양자화를 가능하게 하는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다. 상기 역변환 블록(206)은 상기 스캐닝되고 역양자화된 변환 계수들을 변환할 수 있는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다.
상기 디블록킹 필터(210)는 움직임 보상 및 잔여 성분 코딩 후에 매크로 블록에 대해, 상기 매크로블록이 인터 코딩되었는지 또는 인트라 코딩되었는지에 따라 루프 필터링을 할 수 있는, 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포 함할 수 있다. 상기 디블록킹 필터(210)는 래스터 스캔 순서에 따라 매크로블록에 대해 적용되도록 구현될 수 있다.
상기 복수 참조 픽쳐 저장 블록(212)은 상기 디블록킹 필터(210)의 출력을 저장할 수 있는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다. 상기 루프 필터링 동작은 예를 들어, 현재의 그리고 이웃하는 매크로블록들의 양자화 파라미터들, 움직임 벡터의 크기, 매크로블록의 코딩 방식과, 현재 및 이웃하는 블록들과 매크로블록들 내의 필터링되는 픽셀들의 값들에 따라 결정된다. 상기 스위치(218)는 인트라 예측 코딩 모드와 움직임 보상 예측 모드 중에서 스위칭할 수 있는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다.
상기 인트라 예측부(214)는 현재 매크로블록 이전에 디코딩된 이웃하는 매크로블록들의 인접 가장자리들의 픽셀들로부터 선형 인터폴레이션 연산과 같은 픽셀 값들의 예측 동작을 가능하게 하는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다. 상기 인터폴레이션은 그 속성상, 각각 공간 상의 예측 방향을 갖고 있는 다양한 모드들에 따라 방향을 가질 수 있다. 상기 인트라 예측부(214)는 현재의 픽셀을 예측하기 위해 동일한 픽쳐 내의 과거의 픽셀 샘플들을 이용할 수 있다.
상기 움직임 보상 예측부(216)는, 픽셀들로 이뤄진 하나의 어레이에 대해, 이전에 디코딩된 참조 픽쳐로부터 이와 유사한 크기의 또 다른 픽셀 어레이들을 선택함으로써 예측 동작을 수행할 수 있는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다. 상기 움직임 보상 예측부(216)는 참조 어레이를 현재 어레이 의 위치로 병치시키는 것을 수행할 수 있다. 예를 들어, AVC에서는, 상기 움직임 보상 예측부(216)로 예측된 픽셀 어레이는 예를 들어 16x8, 8x16, 8x8, 8x4, 4x8 및 4x4 픽셀들과 같은 다양한 크기를 가질 수 있다. 상기 움직임 보상 예측부(216)는 현재 픽쳐의 픽셀을 예측하기 위해 과거 픽쳐의 픽셀 샘플들을 이용할 수 있다.
예를 들어 인트라 예측 신호(intra prediction signal)나 움직임 보상 인터 예측 신호(motion compensated inter prediction signal)과 같은 적절한 예측 신호가, 매크로블록 타입의 모드(macroblock type mode), 참조 프레임(reference frame), 움직임 벡터(motion vectors) 및 상기 복수 참조 픽쳐 저장 블록(212)에 저장되어 있는 디코딩된 픽쳐들에 따라, 잔여 신호(residual signal)에 더해질 수 있다. 상기 재구성된(reconstructed) 비디오 프레임은 추후의 예측에 사용될 것을 대비하여 저장되기에 앞서, 상기 디블록킹 필터(210)에 의해 필터링될 수 있다.
도 3은 본 발명의 실시예에 따라 이용될 수 있는 예시적인 비디오 압축 인코더 시스템의 블록도이다. 도 3을 참조하면, 비디오 압축 인코더 시스템(300)이 나타나 있다. 상기 비디오 압축 인코더 시스템(300)은 감산기(302), 반복적 벡터 인코더(iterative vector encoder)(304), 엔트로피 인코더(306), 합산부(308), 평활화 필터(smoothing filter)(310) 및 인터 및 인트라 예측부 블록(inter and intra predictor block)(312)을 포함할 수 있다.
상기 반복적 벡터 인코더(304)는 수신된 비디오 데이터에 대해 적어도 하나의 양자화된 벡터를 생성할 수 있다. 상기 반복적 벡터 인코더(304)는 상기 수신된 비디오 데이터의 압축 과정 중에, 앞서 생성된 적어도 하나의 양자화된 벡터에 기 초하여, 상기 수신된 비디오 데이터의 적어도 일부분의 코딩 레이트를 동적으로 변경시킬 수 있다.
상기 반복적 벡터 인코더(304)는 순방향 변환 및 스케일러(104), 순방향 양자화부(106), 역양자화부(112) 및 스케일러 및 역변환 블록(114)을 포함할 수 있다. 상기 인터 및 인트라 예측부 블록(312)은 인트라 예측부(120), 움직임 보상 예측부(124), 움직임 추정부(126) 및 복수 참조 픽쳐 저장 블록(118)을 포함할 수 있다.
상기 반복적 벡터 인코더(304)는 수신된 비디오 데이터의 적어도 하나의 생성된 양자화 벡터에 대해 스케일링을 수행할 수 있다. 상기 반복적 벡터 인코더(304)는 압축이 이뤄지는 동안, 상기 수신된 비디오 데이터의 코딩 레이트를, 가지치기 트리 구조(pruned tree structure) 코드 및 간략화된 저밀도 패리티 체크(low-density parity check, LDPC) 코드 중에서 적어도 하나를 이용하여 조절할 수 있다.
상기 평활화 필터(310)는 움직임 보상 및 잔여 코딩 후에 매크로 블록에 대해, 상기 매크로블록이 인터 코딩되었는지 또는 인트라 코딩되었는지에 따라, 루프 필터링을 할 수 있는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다. 상기 평활화 필터(310)는 상기 디블록킹 필터(116)와 유사할 수 있고, 래스터 스캔 순서에 따라 매크로블록에 대해 적용되도록 구현될 수 있다.
상기 엔트로피 인코더(306)는 상기 변환의 양자화된 계수들에 대한 변환 계수 코딩을 가능하게 하는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다. 상기 엔트로피 인코더(306)는 다양한 코딩 방법들, 예를 들어 Exp-Golomb 코딩, CABAC 또는 CAVLC 디코딩 알고리즘을 이용할 수 있다.
상기 반복적 벡터 인코더(304)는 적어도 하나의 생성된 양자화 벡터를 동적으로 선택하는 것과, 상기 선택된 적어도 하나의 생성된 양자화 벡터를 압축된 비트스트림을 통해 디코더(400)로 전송하는 것을 가능하게 할 수 있다. 상기 반복적 벡터 인코더(304)는 상기 수신된 비디오 데이터를 압축하여 압축된 비트스트림을 생성하는 것을 가능하게 할 수 있다. 상기 반복적 벡터 인코더(304)는 상기 생성된 적어도 하나의 양자화 벡터를 색인화(indexing)할 수 있다. 상기 반복적 벡터 인코더(304)는 상기 생성되어 색인화된 적어도 하나의 양자화된 벡터를 소팅(sorting)할 수 있다.
상기 반복적 벡터 인코더(304)는 여러 가지의 예측 동작들을 수행하도록 작동시킬 수 있다. 상기 비디오 압축 인코딩 시스템(300)은 다음의 예측 수학식 세트에 따라 모델링될 수 있다.
Figure 112007042722176-pat00001
Figure 112007042722176-pat00002
Figure 112007042722176-pat00003
여기서,
Figure 112007042722176-pat00004
는 i 번째 코딩 블록의 원래 픽셀 벡터를 나타내고,
Figure 112007042722176-pat00005
는 i 번째 코딩 블록의 재구성된 픽셀 벡터를 뜻하며,
Figure 112007042722176-pat00006
는 필터링을 거친 재구성된 픽셀 벡터를 뜻한다. 상기 양자화 프로세스는 i 번째 코딩 블록에 대한 예측자(predictors) F의 집합으로부터 선택된 예측 함수인
Figure 112007042722176-pat00007
를 생성하는 데에 이용할 수 있는데, 이때
Figure 112007042722176-pat00008
Figure 112007042722176-pat00009
는 각각 예측 에러 벡터(prediction error vector) 및 코딩 에러 벡터(coding error vector)이고,
Figure 112007042722176-pat00010
는 상기 평활화 필터(310)의 함수를 뜻한다.
왜곡 측정치(distortion measrue)는 다음의 수식에 의해 정의될 수 있다.
Figure 112007042722176-pat00011
상기 왜곡 측정치는, 예를 들어 다음 수학식에서 예시되는 것과 같이 r=2인 자승 에러 왜곡치일 수 있다.
Figure 112007042722176-pat00012
상기 왜곡 측정치는, 예를 들어 다음 수학식에서 예시되는 것과 같이 r=1인 절대값 에러 왜곡치일 수 있다.
Figure 112007042722176-pat00013
수학식 1 및 2로부터, 다음 수학식을 얻을 수 있다.
Figure 112007042722176-pat00014
상기 반복적 벡터 인코더(304)는 데이터의 훈련열(training sequence)을 기초로 왜곡 측정을 할 수 있는 스칼라 또는 벡터 양자화기의 설계를 위한 알고리즘으로 예를 들어 비터비(Viterbi) 알고리즘을 이용할 수 있다. 상기 비터비 알고리즘은 어떤 주어진 격자 벡터 양자화 코드(trellis vector quantization(VQ) code)에 대해, 상기 격자 VQ 코드의 최소 간격에 대해 지수적으로 증가할 수 있는 벡터 양자화 인코딩 오차의 확률을 최소화함으로써, 최적 해, 또는 최대 가능 해(maximum-likelihood solution)를 생성할 수 있다.
본 발명의 실시예에 있어서, 상기 반복적 벡터 인코더(304)는 격자 방식보다는 낮은 복잡성을 갖는 양자화기를 이용할 수 있다. 상기 반복적 벡터 인코더(304)는 유효한 코드워드(codeword) 또는 재생산 벡터가 도달될 때까지, 내부적으로 동작함으로써, 낮은 인코딩 복잡성을 가지면서 최적의 압축 성능을 달성할 수 있다.
상기 반복적 코딩 알고리즘은, 비터비 알고리즘과 같은 비 반복적인 알고리즘도 포함할 수 있는, 예를 들어, 최소합(min-sum) 알고리즘 및 합곱(sum-product) 알고리즘과 같은 포괄적인(generic) 알고리즘들일 수 있다. 상기 최소합 알고리즘 및 합곱 알고리즘은 일반화된 격자 알고리즘으로서 개발될 수 있는데, 상기 격자 알고리즘의 시간 축은 예를 들어 태너 그래프(Tanner graph)와 같은 임의의 그래프로 교체될 수 있다. 예를 들어 터보 코드 및 저밀도 패리티 체크(LDPC) 코드의 경우와 같이 상기 태너 그래프가 사이클(cycle)을 가지는 경우에는, 결과적인 알고리즘은 근사 최적(suboptimal)일 수 있겠지만, 사이클이 없는 경우에 비해면 그 복잡성 측면에서 상당한 감소를 얻을 수 있다.
본 발명의 다른 실시예에서, 양자화 벡터 또는 재생산 벡터 등과 같은 코드워드들이, 최적의 VQ 코딩 성능에 접근하기 위한 최적의 코드를 설계하는 것으로써, 알려진 벡터 양자화 기술에 의해 분석될 수 있다.
도 4는 본 발명의 실시예에 따라 이용될 수 있는 예시적인 비디오 압축 디코더 시스템의 블록도이다. 도 4를 참조하면, 비디오 압축 디코더 시스템(400)이 나타나 있다. 상기 비디오 압축 디코더 시스템(400)은 엔트로피 디코더(402), 벡터 디코더(404), 평활화 필터(406), 인터 및 인트라 예측부 블록(408) 및 합산부(410)를 포함할 수 있다.
상기 벡터 디코더(404)는 상기 역양자화부(204) 및 상기 스케일러 및 역변환 블록(206)을 포함할 수 있다. 상기 평활화 필터(406)는 움직임 보상 및 잔여 코딩 후에 매크로 블록에 대해, 상기 매크로블록이 인터 코딩되었는지 또는 인트라 코딩되었는지에 따라, 루프 필터링을 할 수 있는 적절한 회로 조직, 알고리즘, 명령어 코드 등을 포함할 수 있다. 상기 평활화 필터(406)는 상기 디블록킹 필터(210)와 유사할 수 있고, 래스터 스캔 순서에 따라 매크로블록에 대해 적용되도록 구현될 수 있다. 상기 인터 및 인트라 예측부 블록(408)은 인트라 예측부(214), 움직임 보상 예측부(216) 및 복수 참조 픽쳐 저장 블록(212)을 포함할 수 있다.
상기 엔트로피 디코더(402)는 어떤 슬라이스에 대해 이미 디코딩이 완료된 특성들을 활용하여 상기 비디오 압축 디코더 시스템(400)을 초기화할 수 있다. 디코딩 엔진(decoding engine) 내에서 이용되는 영역 분할 변수(range division variables)는 알려져 있는 값들로 초기화될 수 있고, 컨텍스트 모델 변수(context model variables)도 초기화될 수 있다. 디코딩되어야 하는 각 신택스 요소(syntax element)는 인코더 측에서 가변 길이 코드(variable length code)로 표현될 수 있으며, 이렇게 고정 길이 코드(fixed-length code)를 가변 길이 코드로 변환하는 과정은 '이진화(binarization)'라 불린다. 이진화 기법은 일렬의 비트들을 두 개 이상의 가능한 값들을 갖는 신택스 요소들에 할당하는 식으로, 그리고 짧은 코드들을 발생 확률이 큰 신택 요소들의 값들에 할당하는 식으로 이용될 수 있다. 디코더 측에서는, 비이진화 과정(de-binarization process)이 적용되어 원래의 고정 길이 신택스 요소가 복구될 수 있을 것이다.
이진화된 신택스 요소는 일렬의 이진 비트들을 가질 수 있는데, 각각의 비트는 CABAC에서는 심볼(symbol)이라고 불린다. 한 신택스 요소의 각 심볼은 개별적으로 그 심볼에 연관된 확률 모델(probability model)을 이용하여 디코딩된다. CABAC에서는, 한 심볼은 이것과 연관되어 여러 개의 모델들 또는 컨텍스트(context)들을 가질 수 있으며, 모델 선택은 이웃하는 매크로블록의 특성들에 기초할 수 있다. 한 심볼이 디코딩된 후, 상기 확률 모델 또는 컨텍스트 모델은 그 심볼의 디코딩된 값 에 기초하여 갱신될 수 있다. 똑같은 심볼이 똑같은 컨텍스 모델을 이용하여 다시 디코딩될 경우에는, 상기 확률 값은 다음번에는 달라질 수 있고, 적응형 모델(adaptive mode)이 생성될 수 있다.
도 5는 본 발명의 실시예에 따라 반복 벡터 인코딩 기법을 이용한 비디오 압축 시스템을 위한 예시적인 단계들을 설명한 순서도이다. 도 5를 참조하면, 예시적인 단계들은 단계(502)부터 시작할 수 있다. 단계(502)에서, 상기 비디오 인코더 시스템(300)은 비디오 데이터를 수신할 수 있다. 단계(506)에서, 상기 반복적 벡터 인코더(304)는 상기 수신된 비디오 데이터에 대한 양자화된 벡터들을 생성할 수 있다. 단계(508)에서, 상기 생성된 양자화 벡터들은 적절한 변환 알고리즘을 활용하여 스케일링되고 또한 변환될 수 있다. 단계(510)에서, 상기 평활화 필터(310)는 움직임 보상 및 잔여 성분 코딩이 수행된 후에, 매크로블록에 대해, 상기 매크로블록이 인터 코딩된 것인지 또는 인트라 코딩된 것인지에 따라, 루프 필터링을 수행할 수 있다.
단계(512)에서, 적절한 예측 신호, 예를 들어, 인트라 예측 신호 또는 움직임 보상 인터 예측 신호 등이, 예를 들어 매크로블록 타입의 모드, 참조 프레임, 움직임 벡터들 및 상기 다중 참조 픽쳐 저장 블록(212)에 저장된 디코딩된 픽쳐들에 따라, 상기 잔여 신호에 더하게 될 수 있다. 단계(514)에서, 상기 수신된 비디오 데이터의 코딩 레이트는 압축이 이뤄지는 동안, 가지치기 트리 구조 코드 및 간략화된 저밀도 패리티 체크 코드 중에서 적어도 하나를 이용하여 변경될 수 있다. 단계(516)에서, 상기 압축된 비디오 비트스트림이 생성될 수 있다. 이어서 제어 절 차는 종료 단계(518)로 넘어간다.
본 발명의 다른 실시예에서, 다중 비트레이트 프로그래믹 코드들은, 가지치기 트리 구조 코드 및 간략화된 저밀도 패리티 체크 코드와 같은 기술들을 이용함으로써, 다양한 비디오 통신 및 저장 어플리케이션들에 대응할 수 있도록 압축 비율이 유연해야하는 요구 사항을 충족하도록 설계될 수 있다. 상기 코드들은 상기 인코더(300)로부터 상기 디코더(400)까지 압축된 비트스트림의 형태로 적응적으로 선택되고 전송될 수 있다. 상기 엔트로피 인코더(306) 및 엔트로피 디코더(402)는 코드의 선택 및 코드워드의 확률에 대해 적응적(adaptive)일 수 있다. 예를 들어, 상기 코드워드 색인(codeword index)의 순서는 생성된 확률 테이블(generated probability table)에 기초하여 다시 소팅(resort)될 수 있다. 상기 가변 길이 코드에 매핑되는 코드워드 색인도 컨텐츠의 변화에 기초하여 상기 반복적 벡터 인코더(304)에 의해 다시 소팅되어 상기 벡터 인코더(404)로 전송될 수 있다.
본 발명의 실시예에서, 상기 반복적 벡터 인코더(304)는, 다음의 그래프 기반 알고리즘들, 예를 들어 일반적인 그래프 기반(general graph-based) 코드를 위한 합곱 알고리즘, 격자 그래프 기반(trellis graph-based) 코드들을 위한 최대 사후 확률(maximum a posteriori probability, MAP), BCJR(Bahl, Cocke, Jelinek, Raviv) 알고리즘, 그리고 이분 그래프 기반(bipartite graph-based) 코드들을 위한 메시지 전달 알고리즘(message passing algorithm) 등과 같은 알고리즘들 중 적어도 하나를 이용할 수 있다.
상기 반복적 벡터 인코더(304) 및 벡터 디코더(404)는 일반화된 로이드 알고 리즘(generalized Lloyd algorithm) 및 비터비 알고리즘 등의 벡터 양자화 알고리즘을 위한 최적의 성능에 대응할 수 있게 설계될 수 있다. 상기 반복적 벡터 인코더(304) 및 벡터 디코더(404)는 적응형 코딩 레이트를 위해, 가지치기 트리 구조 코드 또는 간략화된 저밀도 패리티 체크 코드들을 이용하는 등, 프로그래머틱 코드 레이트 선택을 구현할 수 있도록 설계될 수 있다.
본 발명의 실시예에 따라, 반복적 인코딩 알고리즘을 갖는 비디오 압축 시스템은 예를 들어 상기 반복적 벡터 인코더(304)와 같은 인코더를 포함할 수 있으며, 상기 반복적 벡터 인코더(304)는 수신된 비디오 데이터의 적어도 일부에 대해서, 그 수신된 비디오 데이터를 압축하는 동안에, 적어도 하나의 양자화된 벡터에 기초하여 그 코딩 레이트의 동적 변경을 가능하게 할 수 있다. 상기 반복적 벡터 인코더(304)는 순방향 변환 및 스케일러(104), 순방향 양자화부(106), 역양자화부(112) 그리고 스케일러 및 역변환 블록(114)을 포함할 수 있다.
상기 반복적 벡터 인코더(304)는 수신된 비디오 데이터의 적어도 하나의 양자화된 벡터에 대해 스케일링하는 것을 가능하게 할 수 있다. 상기 반복적 벡터 인코더(304)는 압축이 이뤄지는 동안에 상기 수신된 비디오 데이터의 코딩 레이트를, 가지치기 트리 구조 코드 또는 간략화된 저밀도 패리티 체크 코드들 중 적어도 하나를 이용함으로써 조절하는 것을 가능하게 할 수 있다.
상기 평활화 필터(310)는 상기 수신된 비디오 데이터의 적어도 하나의 매크로블록을 루프 필터링하는 것을 가능하게 할 수 있다. 상기 반복적 벡터 인코더(304)는 적어도 하나의 양자화 벡터를 동적으로 선택하는 것과, 상기 선택된 적 어도 하나의 양자화 벡터를 압축된 비트스트림 형태로 디코더(400)에 전송하는 것을 가능하게 할 수 있다. 상기 반복적 벡터 인코더(304)는 상기 수신된 비디오 데이터를 압축한 후에, 압축된 비트스트림을 생성하는 것을 가능하게 할 수 있다. 상기 반복적 벡터 인코더(304)는 상기 적어도 하나의 양자화된 벡터에 대해 색인화를 수행할 수 있다. 상기 반복적 벡터 인코더(304)는 또한 상기 적어도 하나의 양자화 벡터의 소팅을 가능하게 할 수 있다.
이에 따라서, 본 발명은 하드웨어나 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 실현될 수 있다. 본 발명은 적어도 하나의 컴퓨터 시스템 안에 중앙 집중된 방식으로 구현될 수도 있고, 서로 다른 요소들이 여러 개의 상호 연결된 컴퓨터 시스템들에 걸쳐 퍼져있는 분산된 방식으로 구현될 수도 있다. 여기에 설명된 방법들을 수행할 수 있도록 설계된 어떠한 형태의 컴퓨터 시스템 또는 기타 장치도 적합하다. 통상적으로 하드웨어와 소프트웨어의 조합은 컴퓨터 프로그램이 탑재된 범용 컴퓨터 시스템이 될 수 있으며, 이때 상기 컴퓨터 프로그램은 로딩되어 실행될 경우에 상기 컴퓨터 시스템을 제어하여, 이 컴퓨터 시스템이 여기에서 설명한 방법들을 수행할 수 있게 한다.
본 발명은 또한 컴퓨터 프로그램 제품(computer program product)에 내장될 수 있다. 이때, 상기 컴퓨터 프로그램 제품은 여기서 설명한 방법들의 구현을 가능하게 하는 모든 특징들을 모두 포함하며, 컴퓨터 시스템에 탑재될 경우에는 그러한 방법들을 수행할 수 있다. 본 발명의 문맥에서 컴퓨터 프로그램이란, 어떠한 종류의 언어, 코드 또는 표기법으로 나타낸, 일단의 명령에 관한 어떠한 종류의 표현을 뜻한다. 이때, 상기 일단의 명령들이란, 정보 처리 능력을 가진 시스템이 어떤 특정한 기능을 직접적으로, 또는 다음의 (a) 다른 프로그램 언어, 코드나 표기법으로 컨버젼(conversion)되거나, (b) 상이한 물질적인 형태로 재생산을 각각 거치거나 또는 두 가지 모두를 거친 후에, 수행하도록 의도된 것들을 말한다.
본 발명이 특정한 실시예들에 관하여 설명되었지만, 본 발명의 사상에서 벗어남이 없이, 다양한 변경이 이뤄질 수 있고 또한 균등물들이 치환될 수 있다는 점은 당해 기술 분야에 숙련된 자들에게 이해될 것이다. 추가적으로, 본 발명의 사상에서 벗어남이 없이, 특정한 상황이나 물적 요건을 본 발명의 지침에 맞게 조절할 수 있도록 다양한 개조가 이뤄질 수 있다. 따라서, 본 발명은 개시된 특정한 실시예에 한정되는 것이 아니며, 본 발명은 첨부된 청구 범위의 사상 내에 들어오는 모든 실시예들을 포함한다.
본 발명의 일 실시예에 따른 반복적 인코딩 알고리즘을 이용한 비디오 압축 방법 및 그 시스템은 코딩 레이트를 동적으로 변경할 수 있고 종래의 다양한 알고리즘들을 활용할 수 있다.

Claims (10)

  1. 수신된 비디오 데이터에 대해 적어도 하나의 양자화된 벡터를 생성하되, 반복적 인코딩 알고리즘을 이용하여, 상기 수신된 비디오 데이터의 적어도 일부의 코딩 레이트(coding rate)를, 상기 수신된 비디오 데이터의 압축이 이뤄지는 동안에, 앞서 생성된 적어도 하나의 양자화 벡터에 기초하여 동적으로 변경시키는 단계를 포함하되;
    평활화 필터에 의해 상기 수신된 비디오 데이터의 적어도 한 매크로블록에 대해 루프 필터링하는 단계;
    상기 적어도 하나의 양자화 벡터를 스케일링하는 단계; 및
    상기 압축이 이뤄지는 동안에, 상기 수신된 비디오 데이터의 상기 코딩 레이트를, 가지치기 트리 구조 코드 및 간략화 저밀도 패리티 체크 코드 중 적어도 하나를 이용하여 조절하는 단계를 더 포함하되,
    상기 조절 및 상기 루프 필터링은 하기의 예측 수학식 세트에 의해 모델링되어 이루어지는 것을 특징으로 하는 비디오 데이터의 처리 방법.
    [수학식1]
    Figure 712009005346546-pat00021
    [수학식2]
    Figure 712009005346546-pat00022
    [수학식3]
    Figure 712009005346546-pat00023
    (여기서,
    Figure 712009005346546-pat00024
    는 상기 수신된 비디오 데이터중 i 번째 코딩 블록의 원래 픽셀 벡터를 나타내고,
    Figure 712009005346546-pat00025
    는 상기 수신된 비디오 데이터중 i 번째 코딩 블록의 재구성된 픽셀 벡터를 뜻하며,
    Figure 712009005346546-pat00026
    는 필터링을 거친 재구성된 픽셀 벡터를 뜻하고, 양자화 프로세스는 i 번째 코딩 블록에 대한 예측자(predictors) F의 집합으로부터 선택된 예측 함수인
    Figure 712009005346546-pat00027
    를 생성하는 데에 이용되며,
    Figure 712009005346546-pat00028
    Figure 712009005346546-pat00029
    는 각각 예측 에러 벡터(prediction error vector) 및 코딩 에러 벡터(coding error vector)이고,
    Figure 712009005346546-pat00030
    는 평활화 필터의 함수임)
  2. 삭제
  3. 삭제
  4. 삭제
  5. 청구항 1에 있어서,
    상기 압축이 이뤄지는 동안에, 상기 적어도 하나의 양자화 벡터를 동적으로 선택하는 단계; 및
    상기 선택된 적어도 하나의 양자화 벡터를 압축된 비트스트림의 형태로 디코더로 전송하는 단계를 더 포함하는 것을 특징으로 하는 비디오 데이터의 처리 방법.
  6. 비디오 데이터를 처리할 수 있는 적어도 하나의 코드부를 갖는 컴퓨터 프로그램이 탑재된 기록매체에 있어서, 상기 적어도 하나의 코드부는 기계 장치에 의해 실행될 수 있어서, 상기 기계 장치로 하여금,
    수신된 비디오 데이터에 대해 적어도 하나의 양자화된 벡터를 생성하되, 반복적 인코딩 알고리즘을 이용하여, 상기 수신된 비디오 데이터의 적어도 일부의 코딩 레이트(coding rate)를, 상기 수신된 비디오 데이터의 압축이 이뤄지는 동안에, 앞서 생성된 적어도 하나의 양자화 벡터에 기초하여 동적으로 변경시키는 단계를 포함하되;
    평활화 필터에 의해 상기 수신된 비디오 데이터의 적어도 한 매크로블록에 대해 루프 필터링하는 단계;
    상기 적어도 하나의 양자화 벡터를 스케일링하는 단계; 및
    상기 압축이 이뤄지는 동안에, 상기 수신된 비디오 데이터의 상기 코딩 레이트를, 가지치기 트리 구조 코드 및 간략화 저밀도 패리티 체크 코드 중 적어도 하나를 이용하여 조절하는 단계를 더 포함하는 단계들을 수행할 수 있게 하되,
    상기 조절 및 상기 루프 필터링은 하기의 예측 수학식 세트에 의해 모델링되어 이루어지는 것을 특징으로 하는 기록매체.
    [수학식1]
    Figure 712009005346546-pat00031
    [수학식2]
    Figure 712009005346546-pat00032
    [수학식3]
    Figure 712009005346546-pat00033
    (여기서,
    Figure 712009005346546-pat00034
    는 상기 수신된 비디오 데이터중 i 번째 코딩 블록의 원래 픽셀 벡터를 나타내고,
    Figure 712009005346546-pat00035
    는 상기 수신된 비디오 데이터중 i 번째 코딩 블록의 재구성된 픽셀 벡터를 뜻하며,
    Figure 712009005346546-pat00036
    는 필터링을 거친 재구성된 픽셀 벡터를 뜻하고, 양자화 프로세스는 i 번째 코딩 블록에 대한 예측자(predictors) F의 집합으로부터 선택된 예측 함수인
    Figure 712009005346546-pat00037
    를 생성하는 데에 이용되며,
    Figure 712009005346546-pat00038
    Figure 712009005346546-pat00039
    는 각각 예측 에러 벡터(prediction error vector) 및 코딩 에러 벡터(coding error vector)이고,
    Figure 712009005346546-pat00040
    는 평활화 필터의 함수임).
  7. 삭제
  8. 수신된 비디오 데이터에 대해 적어도 하나의 양자화된 벡터를 생성하되, 반복적 인코딩 알고리즘을 이용하여, 상기 수신된 비디오 데이터의 적어도 일부의 코딩 레이트(coding rate)를, 상기 수신된 비디오 데이터의 압축이 이뤄지는 동안에, 앞서 생성된 적어도 하나의 양자화 벡터에 기초하여 동적으로 변경시키는 반복적 벡터 인코더 및;
    상기 수신된 비디오 데이터의 적어도 한 매크로블록에 대해 루프 필터링하는 평활화 필터를 포함하되;
    상기 반복적 벡터 인코더는
    상기 적어도 하나의 양자화 벡터를 스케일링하고;
    상기 압축이 이뤄지는 동안에, 상기 수신된 비디오 데이터의 상기 코딩 레이트를, 가지치기 트리 구조 코드 및 간략화 저밀도 패리티 체크 코드 중 적어도 하나를 이용하여 조절하며,
    상기 조절 및 상기 루프 필터링은 하기의 예측 수학식 세트에 의해 모델링되어 이루어지는 것을 특징으로 하는 비디오 데이터 처리 시스템.
    [수학식1]
    Figure 712009005346546-pat00041
    [수학식2]
    Figure 712009005346546-pat00042
    [수학식3]
    Figure 712009005346546-pat00043
    (여기서,
    Figure 712009005346546-pat00044
    는 상기 수신된 비디오 데이터중 i 번째 코딩 블록의 원래 픽셀 벡터를 나타내고,
    Figure 712009005346546-pat00045
    는 상기 수신된 비디오 데이터중 i 번째 코딩 블록의 재구성된 픽셀 벡터를 뜻하며,
    Figure 712009005346546-pat00046
    는 필터링을 거친 재구성된 픽셀 벡터를 뜻하고, 양자화 프로세스는 i 번째 코딩 블록에 대한 예측자(predictors) F의 집합으로부터 선택된 예측 함수인
    Figure 712009005346546-pat00047
    를 생성하는 데에 이용되며,
    Figure 712009005346546-pat00048
    Figure 712009005346546-pat00049
    는 각각 예측 에러 벡터(prediction error vector) 및 코딩 에러 벡터(coding error vector)이고,
    Figure 712009005346546-pat00050
    는 평활화 필터의 함수임)
  9. 삭제
  10. 삭제
KR1020070057705A 2006-06-13 2007-06-13 반복적 인코딩 알고리즘을 이용한 비디오 압축 방법 및 그시스템 KR100930263B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/451,850 2006-06-13
US11/451,850 US20070286277A1 (en) 2006-06-13 2006-06-13 Method and system for video compression using an iterative encoding algorithm

Publications (2)

Publication Number Publication Date
KR20070118978A KR20070118978A (ko) 2007-12-18
KR100930263B1 true KR100930263B1 (ko) 2009-12-09

Family

ID=38349431

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070057705A KR100930263B1 (ko) 2006-06-13 2007-06-13 반복적 인코딩 알고리즘을 이용한 비디오 압축 방법 및 그시스템

Country Status (6)

Country Link
US (2) US20070286277A1 (ko)
EP (1) EP1868388A3 (ko)
KR (1) KR100930263B1 (ko)
CN (1) CN101090495B (ko)
HK (1) HK1115700A1 (ko)
TW (1) TWI450593B (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100939917B1 (ko) 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
US8189776B2 (en) * 2008-09-18 2012-05-29 The Hong Kong University Of Science And Technology Method and system for encoding multimedia content based on secure coding schemes using stream cipher
JP5169978B2 (ja) * 2009-04-24 2013-03-27 ソニー株式会社 画像処理装置および方法
US8635357B2 (en) * 2009-09-08 2014-01-21 Google Inc. Dynamic selection of parameter sets for transcoding media data
SG10201502226SA (en) * 2010-04-09 2015-05-28 Mitsubishi Electric Corp Moving image encoding device and moving image decoding device
US8717404B2 (en) * 2010-04-27 2014-05-06 Lifesize Communications, Inc. Recording a videoconference based on recording configurations
US9591374B2 (en) 2010-06-30 2017-03-07 Warner Bros. Entertainment Inc. Method and apparatus for generating encoded content using dynamically optimized conversion for 3D movies
US8755432B2 (en) 2010-06-30 2014-06-17 Warner Bros. Entertainment Inc. Method and apparatus for generating 3D audio positioning using dynamically optimized audio 3D space perception cues
US10326978B2 (en) 2010-06-30 2019-06-18 Warner Bros. Entertainment Inc. Method and apparatus for generating virtual or augmented reality presentations with 3D audio positioning
US8917774B2 (en) * 2010-06-30 2014-12-23 Warner Bros. Entertainment Inc. Method and apparatus for generating encoded content using dynamically optimized conversion
US9491491B2 (en) * 2011-06-03 2016-11-08 Qualcomm Incorporated Run-mode based coefficient coding for video coding
CN102291582B (zh) * 2011-09-21 2014-04-23 北京邮电大学 一种基于运动补偿精化的分布式视频编码方法
EP4283995A3 (en) 2011-10-05 2024-02-21 Sun Patent Trust Decoding method and decoding apparatus
KR20130125168A (ko) * 2012-05-08 2013-11-18 삼성전자주식회사 비디오 인코딩 장치 및 그것의 인코딩 방법
US9568985B2 (en) * 2012-11-23 2017-02-14 Mediatek Inc. Data processing apparatus with adaptive compression algorithm selection based on visibility of compression artifacts for data communication over camera interface and related data processing method
FR3033114A1 (fr) * 2015-02-19 2016-08-26 Orange Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
CN108353175B (zh) * 2015-09-21 2021-03-12 Lg 电子株式会社 使用系数引起的预测处理视频信号的方法和装置
CN105307053B (zh) * 2015-10-29 2018-05-22 北京易视云科技有限公司 一种基于视频内容的视频优化存储的方法
CN105323591B (zh) * 2015-10-29 2018-06-19 四川奇迹云科技有限公司 一种基于psnr阈值的视频分段存储的方法
US11616962B2 (en) * 2019-07-15 2023-03-28 Tencent America LLC Method and apparatus for video coding
CN111191078A (zh) * 2020-01-08 2020-05-22 腾讯科技(深圳)有限公司 基于视频信息处理模型的视频信息处理方法及装置
US11425412B1 (en) * 2020-11-10 2022-08-23 Amazon Technologies, Inc. Motion cues for video encoding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0165268B1 (ko) * 1993-05-29 1999-03-20 김광호 영상신호 압축부호화장치 및 그 방법
KR20010028051A (ko) * 1999-09-17 2001-04-06 윤종용 나무구조벡터양자화(tsvq)에 기반하는 부호화를 위한 인덱스할당방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5194950A (en) * 1988-02-29 1993-03-16 Mitsubishi Denki Kabushiki Kaisha Vector quantizer
US5172228A (en) * 1991-11-19 1992-12-15 Utah State University Foundation Image compression method and apparatus employing distortion adaptive tree search vector quantization
US5537440A (en) * 1994-01-07 1996-07-16 Motorola, Inc. Efficient transcoding device and method
US5550847A (en) * 1994-10-11 1996-08-27 Motorola, Inc. Device and method of signal loss recovery for realtime and/or interactive communications
US6215910B1 (en) * 1996-03-28 2001-04-10 Microsoft Corporation Table-based compression with embedded coding
US6037985A (en) * 1996-10-31 2000-03-14 Texas Instruments Incorporated Video compression
US6043844A (en) * 1997-02-18 2000-03-28 Conexant Systems, Inc. Perceptually motivated trellis based rate control method and apparatus for low bit rate video coding
US6128346A (en) * 1998-04-14 2000-10-03 Motorola, Inc. Method and apparatus for quantizing a signal in a digital system
RU2154918C1 (ru) * 1998-08-01 2000-08-20 Самсунг Электроникс Ко., Лтд. Способ и устройство для цикл-фильтрации данных изображения
US6999511B1 (en) * 1999-02-23 2006-02-14 International Business Machines Corporation Dynamically switching quant matrix tables within an MPEG-2 encoder
US7643558B2 (en) * 2003-03-24 2010-01-05 Qualcomm Incorporated Method, apparatus, and system for encoding and decoding side information for multimedia transmission
CN100355211C (zh) * 2003-04-24 2007-12-12 北京邮电大学 基于改进Tanner图的LDPC迭代编码方法
US7430336B2 (en) * 2004-05-06 2008-09-30 Qualcomm Incorporated Method and apparatus for image enhancement for low bit rate video compression
JP4533081B2 (ja) * 2004-10-12 2010-08-25 キヤノン株式会社 画像符号化装置及びその方法
US7620880B2 (en) * 2005-12-20 2009-11-17 Samsung Electronics Co., Ltd. LDPC concatenation rules for IEEE 802.11n system with packets length specified in OFDM symbols

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0165268B1 (ko) * 1993-05-29 1999-03-20 김광호 영상신호 압축부호화장치 및 그 방법
KR20010028051A (ko) * 1999-09-17 2001-04-06 윤종용 나무구조벡터양자화(tsvq)에 기반하는 부호화를 위한 인덱스할당방법

Also Published As

Publication number Publication date
TW200826693A (en) 2008-06-16
CN101090495A (zh) 2007-12-19
CN101090495B (zh) 2011-05-18
US20140334548A1 (en) 2014-11-13
KR20070118978A (ko) 2007-12-18
EP1868388A3 (en) 2010-11-03
US20070286277A1 (en) 2007-12-13
TWI450593B (zh) 2014-08-21
HK1115700A1 (en) 2008-12-05
EP1868388A2 (en) 2007-12-19

Similar Documents

Publication Publication Date Title
KR100930263B1 (ko) 반복적 인코딩 알고리즘을 이용한 비디오 압축 방법 및 그시스템
TWI826519B (zh) 用於係數寫碼之規則寫碼位元子之減少
TW201445979A (zh) 於視訊寫碼處理中用於係數階層寫碼之萊斯(rice)參數更新
US10284864B2 (en) Content initialization for enhancement layer coding
JP2008527902A (ja) 伸縮型符号化のための適応的エントロピー符号化及び復号化方法とその装置
KR102486026B1 (ko) 병렬 엔트로피 부호화/복호화 방법 및 장치
CN117915092A (zh) 数据编码和解码方法、数据编码和解码设备及存储介质
TW201517600A (zh) 資料編碼和解碼
JP2023542029A (ja) 低ビット精度のニューラルネットワーク(nn)に基づくクロスコンポーネント予測のための方法、機器、及びコンピュータプログラム
US20140269896A1 (en) Multi-Frame Compression
JP2023542332A (ja) 倍率を有するdnnに基づくクロスコンポーネント予測のためのコンテンツ適応型オンライントレーニング
US20160360236A1 (en) Method and Apparatus for Entropy Transcoding
JP2022539311A (ja) ピクチャのサブセクション用の独立したcabac
JP6402520B2 (ja) 符号化装置、方法、プログラム及び機器
JP2022538007A (ja) 画像データ符号化及び復号化
JP2022548685A (ja) 画像データの符号化及び復号化
WO2012067412A2 (ko) 병렬 엔트로피 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121127

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131122

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141128

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161111

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171110

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191114

Year of fee payment: 11